From 143bfc9f801c84428074312d661f8e08803df83b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sat, 20 Aug 2016 15:09:31 +0200 Subject: Imported Upstream version 0.23.5 --- src/.unitize/_CameraInternals.c | 115 + src/.unitize/_CameraInternals.vala | 31 + src/.unitize/_ConfigInternals.c | 101 + src/.unitize/_ConfigInternals.vala | 31 + src/.unitize/_CoreInternals.c | 101 + src/.unitize/_CoreInternals.vala | 31 + src/.unitize/_DataImportsInternals.c | 101 + src/.unitize/_DataImportsInternals.vala | 31 + src/.unitize/_DbInternals.c | 101 + src/.unitize/_DbInternals.vala | 31 + src/.unitize/_DirectInternals.c | 171 + src/.unitize/_DirectInternals.vala | 31 + src/.unitize/_Direct_unitize_entry.c | 46 + src/.unitize/_Direct_unitize_entry.vala | 19 + src/.unitize/_EditingToolsInternals.c | 101 + src/.unitize/_EditingToolsInternals.vala | 31 + src/.unitize/_EventsInternals.c | 115 + src/.unitize/_EventsInternals.vala | 31 + src/.unitize/_FoldersInternals.c | 129 + src/.unitize/_FoldersInternals.vala | 31 + src/.unitize/_LibraryInternals.c | 311 + src/.unitize/_LibraryInternals.vala | 31 + src/.unitize/_Library_unitize_entry.c | 46 + src/.unitize/_Library_unitize_entry.vala | 19 + src/.unitize/_PhotosInternals.c | 101 + src/.unitize/_PhotosInternals.vala | 31 + src/.unitize/_PluginsInternals.c | 115 + src/.unitize/_PluginsInternals.vala | 31 + src/.unitize/_PublishingInternals.c | 115 + src/.unitize/_PublishingInternals.vala | 31 + src/.unitize/_SearchesInternals.c | 101 + src/.unitize/_SearchesInternals.vala | 31 + src/.unitize/_SidebarInternals.c | 101 + src/.unitize/_SidebarInternals.vala | 31 + src/.unitize/_SlideshowInternals.c | 115 + src/.unitize/_SlideshowInternals.vala | 31 + src/.unitize/_TagsInternals.c | 115 + src/.unitize/_TagsInternals.vala | 31 + src/.unitize/_ThreadsInternals.c | 101 + src/.unitize/_ThreadsInternals.vala | 31 + src/.unitize/_UnitInternals.c | 87 + src/.unitize/_UnitInternals.vala | 31 + src/.unitize/_UtilInternals.c | 101 + src/.unitize/_UtilInternals.vala | 31 + src/AppDirs.c | 2710 ++ src/AppDirs.vala | 8 +- src/AppWindow.c | 6160 +++++ src/AppWindow.vala | 2 +- src/Application.c | 1200 + src/BatchImport.c | 17492 ++++++++++++ src/Box.c | 2922 ++ src/Box.vala | 2 +- src/CheckerboardLayout.c | 12514 +++++++++ src/CheckerboardLayout.vala | 124 +- src/CollectionPage.c | 7216 +++++ src/CollectionPage.vala | 2 +- src/ColorTransformation.c | 13612 ++++++++++ src/CommandManager.c | 1290 + src/Commands.c | 22110 +++++++++++++++ src/Commands.vala | 8 +- src/CustomComponents.c | 3675 +++ src/Debug.c | 747 + src/DesktopIntegration.c | 2960 ++ src/Dialogs.c | 21888 +++++++++++++++ src/Dialogs.vala | 21 +- src/Dimensions.c | 4422 +++ src/DirectoryMonitor.c | 9917 +++++++ src/Event.c | 7669 ++++++ src/Exporter.c | 2855 ++ src/International.c | 158 + src/LibraryFiles.c | 969 + src/LibraryMonitor.c | 8885 ++++++ src/MediaDataRepresentation.c | 8309 ++++++ src/MediaInterfaces.c | 1423 + src/MediaMetadata.c | 1440 + src/MediaMonitor.c | 3180 +++ src/MediaPage.c | 10742 ++++++++ src/MediaViewTracker.c | 1023 + src/MetadataWriter.c | 5166 ++++ src/NaturalCollate.c | 801 + src/Orientation.c | 2061 ++ src/Page.c | 16211 +++++++++++ src/Page.vala | 12 +- src/Photo.c | 42206 +++++++++++++++++++++++++++++ src/PhotoMonitor.c | 8610 ++++++ src/PhotoPage.c | 22228 +++++++++++++++ src/PixbufCache.c | 2666 ++ src/Printing.c | 8706 ++++++ src/Properties.c | 5776 ++++ src/Resources.c | 4359 +++ src/Resources.vala | 39 +- src/Screensaver.c | 425 + src/SearchFilter.c | 10645 ++++++++ src/SearchFilter.vala | 278 +- src/SlideshowPage.c | 3439 +++ src/SortedList.c | 2904 ++ src/Tag.c | 9786 +++++++ src/Tag.vala | 67 +- src/Thumbnail.c | 2731 ++ src/Thumbnail.vala | 6 +- src/ThumbnailCache.c | 4522 +++ src/TimedQueue.c | 2239 ++ src/Tombstone.c | 3579 +++ src/UnityProgressBar.c | 18 + src/Upgrades.c | 1627 ++ src/VideoMetadata.c | 5531 ++++ src/VideoMonitor.c | 2336 ++ src/VideoSupport.c | 10961 ++++++++ src/camera/Branch.c | 1222 + src/camera/Camera.c | 36 + src/camera/CameraTable.c | 4549 ++++ src/camera/GPhoto.c | 2807 ++ src/camera/ImportPage.c | 13681 ++++++++++ src/camera/mk/camera.mk | 32 - src/config/Config.c | 872 + src/config/ConfigurationInterfaces.c | 12023 ++++++++ src/config/ConfigurationInterfaces.vala | 26 + src/config/GSettingsEngine.c | 5519 ++++ src/config/GSettingsEngine.vala | 2 + src/config/mk/config.mk | 29 - src/core/Alteration.c | 2918 ++ src/core/ContainerSourceCollection.c | 2124 ++ src/core/Core.c | 41 + src/core/DataCollection.c | 3944 +++ src/core/DataObject.c | 639 + src/core/DataSet.c | 1163 + src/core/DataSource.c | 4864 ++++ src/core/DataSourceTypes.c | 1127 + src/core/DataView.c | 681 + src/core/DataViewTypes.c | 546 + src/core/DatabaseSourceCollection.c | 914 + src/core/SourceCollection.c | 1694 ++ src/core/SourceHoldingTank.c | 1729 ++ src/core/SourceInterfaces.c | 328 + src/core/Tracker.c | 2025 ++ src/core/ViewCollection.c | 9140 +++++++ src/core/mk/core.mk | 43 - src/core/util.c | 1791 ++ src/data_imports/DataImportJob.c | 1754 ++ src/data_imports/DataImportSource.c | 1425 + src/data_imports/DataImports.c | 117 + src/data_imports/DataImportsPluginHost.c | 3451 +++ src/data_imports/DataImportsUI.c | 2693 ++ src/data_imports/mk/data_imports.mk | 31 - src/db/DatabaseTable.c | 2638 ++ src/db/DatabaseTable.vala | 7 + src/db/Db.c | 852 + src/db/Db.vala | 2 +- src/db/EventTable.c | 1877 ++ src/db/PhotoTable.c | 9397 +++++++ src/db/PhotoTable.vala | 27 + src/db/SavedSearchDBTable.c | 4793 ++++ src/db/TagTable.c | 2248 ++ src/db/TombstoneTable.c | 1295 + src/db/VersionTable.c | 614 + src/db/VideoTable.c | 3373 +++ src/db/mk/db.mk | 35 - src/direct/Direct.c | 85 + src/direct/DirectPhoto.c | 2829 ++ src/direct/DirectPhotoPage.c | 5294 ++++ src/direct/DirectView.c | 827 + src/direct/DirectWindow.c | 935 + src/direct/mk/direct.mk | 36 - src/editing_tools/EditingTools.c | 19377 +++++++++++++ src/editing_tools/StraightenTool.c | 3547 +++ src/editing_tools/mk/editing_tools.mk | 28 - src/events/Branch.c | 4446 +++ src/events/EventDirectoryItem.c | 1737 ++ src/events/EventPage.c | 1967 ++ src/events/Events.c | 36 + src/events/EventsDirectoryPage.c | 3248 +++ src/events/mk/events.mk | 32 - src/folders/Branch.c | 2108 ++ src/folders/Folders.c | 69 + src/folders/Page.c | 1028 + src/folders/mk/folders.mk | 31 - src/library/Branch.c | 2144 ++ src/library/FlaggedPage.c | 1230 + src/library/FlaggedPage.vala | 2 +- src/library/FlaggedSidebarEntry.c | 862 + src/library/ImportQueuePage.c | 1589 ++ src/library/ImportQueueSidebarEntry.c | 496 + src/library/LastImportPage.c | 1278 + src/library/LastImportSidebarEntry.c | 610 + src/library/Library.c | 46 + src/library/LibraryWindow.c | 11056 ++++++++ src/library/LibraryWindow.vala | 27 +- src/library/OfflinePage.c | 1741 ++ src/library/OfflinePage.vala | 2 +- src/library/OfflineSidebarEntry.c | 700 + src/library/TrashPage.c | 1706 ++ src/library/TrashPage.vala | 2 +- src/library/TrashSidebarEntry.c | 816 + src/library/mk/library.mk | 54 - src/main.c | 3011 ++ src/photos/BmpSupport.c | 1912 ++ src/photos/GRaw.c | 2462 ++ src/photos/GRaw.vala | 3 +- src/photos/GdkSupport.c | 1402 + src/photos/JfifSupport.c | 2020 ++ src/photos/PhotoFileAdapter.c | 1104 + src/photos/PhotoFileFormat.c | 3277 +++ src/photos/PhotoFileSniffer.c | 1348 + src/photos/PhotoMetadata.c | 8924 ++++++ src/photos/Photos.c | 89 + src/photos/PngSupport.c | 1929 ++ src/photos/RawSupport.c | 3165 +++ src/photos/TiffSupport.c | 1714 ++ src/photos/mk/photos.mk | 38 - src/plugins/DataImportsInterfaces.c | 1738 ++ src/plugins/ManifestWidget.c | 2253 ++ src/plugins/Plugins.c | 4420 +++ src/plugins/PublishingInterfaces.c | 1760 ++ src/plugins/PublishingInterfaces.vala | 17 +- src/plugins/SpitInterfaces.c | 1324 + src/plugins/StandardHostInterface.c | 699 + src/plugins/TransitionsInterfaces.c | 1808 ++ src/plugins/mk/interfaces.mk | 29 - src/plugins/mk/plugins.mk | 35 - src/publishing/APIGlue.c | 1432 + src/publishing/Publishing.c | 196 + src/publishing/PublishingPluginHost.c | 1521 ++ src/publishing/PublishingUI.c | 3520 +++ src/publishing/mk/publishing.mk | 31 - src/searches/Branch.c | 1655 ++ src/searches/SavedSearchDialog.c | 6493 +++++ src/searches/SavedSearchDialog.vala | 2 +- src/searches/SavedSearchPage.c | 1493 + src/searches/SearchBoolean.c | 6902 +++++ src/searches/Searches.c | 49 + src/searches/mk/searches.mk | 31 - src/sidebar/Branch.c | 2814 ++ src/sidebar/Entry.c | 639 + src/sidebar/Sidebar.c | 28 + src/sidebar/Tree.c | 7856 ++++++ src/sidebar/common.c | 1171 + src/sidebar/mk/sidebar.mk | 31 - src/slideshow/Slideshow.c | 377 + src/slideshow/TransitionEffects.c | 2658 ++ src/slideshow/mk/slideshow.mk | 29 - src/tags/Branch.c | 3253 +++ src/tags/HierarchicalTagIndex.c | 1039 + src/tags/HierarchicalTagUtilities.c | 2356 ++ src/tags/TagPage.c | 1635 ++ src/tags/Tags.c | 36 + src/tags/mk/tags.mk | 32 - src/threads/BackgroundJob.c | 1911 ++ src/threads/Semaphore.c | 1159 + src/threads/Threads.c | 28 + src/threads/Workers.c | 1074 + src/threads/mk/threads.mk | 30 - src/unit/Unit.c | 28 + src/unit/mk/unit.mk | 32 - src/unit/rc/Unit.m4 | 29 - src/unit/rc/UnitInternals.m4 | 32 - src/unit/rc/template.mk | 27 - src/unit/rc/template.vala | 7 - src/unit/rc/unitize_entry.m4 | 19 - src/util/KeyValueMap.c | 1180 + src/util/Util.c | 31 + src/util/file.c | 1937 ++ src/util/image.c | 2701 ++ src/util/misc.c | 3137 +++ src/util/mk/util.mk | 34 - src/util/string.c | 2016 ++ src/util/system.c | 168 + src/util/ui.c | 405 + 267 files changed, 654740 insertions(+), 902 deletions(-) create mode 100644 src/.unitize/_CameraInternals.c create mode 100644 src/.unitize/_CameraInternals.vala create mode 100644 src/.unitize/_ConfigInternals.c create mode 100644 src/.unitize/_ConfigInternals.vala create mode 100644 src/.unitize/_CoreInternals.c create mode 100644 src/.unitize/_CoreInternals.vala create mode 100644 src/.unitize/_DataImportsInternals.c create mode 100644 src/.unitize/_DataImportsInternals.vala create mode 100644 src/.unitize/_DbInternals.c create mode 100644 src/.unitize/_DbInternals.vala create mode 100644 src/.unitize/_DirectInternals.c create mode 100644 src/.unitize/_DirectInternals.vala create mode 100644 src/.unitize/_Direct_unitize_entry.c create mode 100644 src/.unitize/_Direct_unitize_entry.vala create mode 100644 src/.unitize/_EditingToolsInternals.c create mode 100644 src/.unitize/_EditingToolsInternals.vala create mode 100644 src/.unitize/_EventsInternals.c create mode 100644 src/.unitize/_EventsInternals.vala create mode 100644 src/.unitize/_FoldersInternals.c create mode 100644 src/.unitize/_FoldersInternals.vala create mode 100644 src/.unitize/_LibraryInternals.c create mode 100644 src/.unitize/_LibraryInternals.vala create mode 100644 src/.unitize/_Library_unitize_entry.c create mode 100644 src/.unitize/_Library_unitize_entry.vala create mode 100644 src/.unitize/_PhotosInternals.c create mode 100644 src/.unitize/_PhotosInternals.vala create mode 100644 src/.unitize/_PluginsInternals.c create mode 100644 src/.unitize/_PluginsInternals.vala create mode 100644 src/.unitize/_PublishingInternals.c create mode 100644 src/.unitize/_PublishingInternals.vala create mode 100644 src/.unitize/_SearchesInternals.c create mode 100644 src/.unitize/_SearchesInternals.vala create mode 100644 src/.unitize/_SidebarInternals.c create mode 100644 src/.unitize/_SidebarInternals.vala create mode 100644 src/.unitize/_SlideshowInternals.c create mode 100644 src/.unitize/_SlideshowInternals.vala create mode 100644 src/.unitize/_TagsInternals.c create mode 100644 src/.unitize/_TagsInternals.vala create mode 100644 src/.unitize/_ThreadsInternals.c create mode 100644 src/.unitize/_ThreadsInternals.vala create mode 100644 src/.unitize/_UnitInternals.c create mode 100644 src/.unitize/_UnitInternals.vala create mode 100644 src/.unitize/_UtilInternals.c create mode 100644 src/.unitize/_UtilInternals.vala create mode 100644 src/AppDirs.c create mode 100644 src/AppWindow.c create mode 100644 src/Application.c create mode 100644 src/BatchImport.c create mode 100644 src/Box.c create mode 100644 src/CheckerboardLayout.c create mode 100644 src/CollectionPage.c create mode 100644 src/ColorTransformation.c create mode 100644 src/CommandManager.c create mode 100644 src/Commands.c create mode 100644 src/CustomComponents.c create mode 100644 src/Debug.c create mode 100644 src/DesktopIntegration.c create mode 100644 src/Dialogs.c create mode 100644 src/Dimensions.c create mode 100644 src/DirectoryMonitor.c create mode 100644 src/Event.c create mode 100644 src/Exporter.c create mode 100644 src/International.c create mode 100644 src/LibraryFiles.c create mode 100644 src/LibraryMonitor.c create mode 100644 src/MediaDataRepresentation.c create mode 100644 src/MediaInterfaces.c create mode 100644 src/MediaMetadata.c create mode 100644 src/MediaMonitor.c create mode 100644 src/MediaPage.c create mode 100644 src/MediaViewTracker.c create mode 100644 src/MetadataWriter.c create mode 100644 src/NaturalCollate.c create mode 100644 src/Orientation.c create mode 100644 src/Page.c create mode 100644 src/Photo.c create mode 100644 src/PhotoMonitor.c create mode 100644 src/PhotoPage.c create mode 100644 src/PixbufCache.c create mode 100644 src/Printing.c create mode 100644 src/Properties.c create mode 100644 src/Resources.c create mode 100644 src/Screensaver.c create mode 100644 src/SearchFilter.c create mode 100644 src/SlideshowPage.c create mode 100644 src/SortedList.c create mode 100644 src/Tag.c create mode 100644 src/Thumbnail.c create mode 100644 src/ThumbnailCache.c create mode 100644 src/TimedQueue.c create mode 100644 src/Tombstone.c create mode 100644 src/UnityProgressBar.c create mode 100644 src/Upgrades.c create mode 100644 src/VideoMetadata.c create mode 100644 src/VideoMonitor.c create mode 100644 src/VideoSupport.c create mode 100644 src/camera/Branch.c create mode 100644 src/camera/Camera.c create mode 100644 src/camera/CameraTable.c create mode 100644 src/camera/GPhoto.c create mode 100644 src/camera/ImportPage.c delete mode 100644 src/camera/mk/camera.mk create mode 100644 src/config/Config.c create mode 100644 src/config/ConfigurationInterfaces.c create mode 100644 src/config/GSettingsEngine.c delete mode 100644 src/config/mk/config.mk create mode 100644 src/core/Alteration.c create mode 100644 src/core/ContainerSourceCollection.c create mode 100644 src/core/Core.c create mode 100644 src/core/DataCollection.c create mode 100644 src/core/DataObject.c create mode 100644 src/core/DataSet.c create mode 100644 src/core/DataSource.c create mode 100644 src/core/DataSourceTypes.c create mode 100644 src/core/DataView.c create mode 100644 src/core/DataViewTypes.c create mode 100644 src/core/DatabaseSourceCollection.c create mode 100644 src/core/SourceCollection.c create mode 100644 src/core/SourceHoldingTank.c create mode 100644 src/core/SourceInterfaces.c create mode 100644 src/core/Tracker.c create mode 100644 src/core/ViewCollection.c delete mode 100644 src/core/mk/core.mk create mode 100644 src/core/util.c create mode 100644 src/data_imports/DataImportJob.c create mode 100644 src/data_imports/DataImportSource.c create mode 100644 src/data_imports/DataImports.c create mode 100644 src/data_imports/DataImportsPluginHost.c create mode 100644 src/data_imports/DataImportsUI.c delete mode 100644 src/data_imports/mk/data_imports.mk create mode 100644 src/db/DatabaseTable.c create mode 100644 src/db/Db.c create mode 100644 src/db/EventTable.c create mode 100644 src/db/PhotoTable.c create mode 100644 src/db/SavedSearchDBTable.c create mode 100644 src/db/TagTable.c create mode 100644 src/db/TombstoneTable.c create mode 100644 src/db/VersionTable.c create mode 100644 src/db/VideoTable.c delete mode 100644 src/db/mk/db.mk create mode 100644 src/direct/Direct.c create mode 100644 src/direct/DirectPhoto.c create mode 100644 src/direct/DirectPhotoPage.c create mode 100644 src/direct/DirectView.c create mode 100644 src/direct/DirectWindow.c delete mode 100644 src/direct/mk/direct.mk create mode 100644 src/editing_tools/EditingTools.c create mode 100644 src/editing_tools/StraightenTool.c delete mode 100644 src/editing_tools/mk/editing_tools.mk create mode 100644 src/events/Branch.c create mode 100644 src/events/EventDirectoryItem.c create mode 100644 src/events/EventPage.c create mode 100644 src/events/Events.c create mode 100644 src/events/EventsDirectoryPage.c delete mode 100644 src/events/mk/events.mk create mode 100644 src/folders/Branch.c create mode 100644 src/folders/Folders.c create mode 100644 src/folders/Page.c delete mode 100644 src/folders/mk/folders.mk create mode 100644 src/library/Branch.c create mode 100644 src/library/FlaggedPage.c create mode 100644 src/library/FlaggedSidebarEntry.c create mode 100644 src/library/ImportQueuePage.c create mode 100644 src/library/ImportQueueSidebarEntry.c create mode 100644 src/library/LastImportPage.c create mode 100644 src/library/LastImportSidebarEntry.c create mode 100644 src/library/Library.c create mode 100644 src/library/LibraryWindow.c create mode 100644 src/library/OfflinePage.c create mode 100644 src/library/OfflineSidebarEntry.c create mode 100644 src/library/TrashPage.c create mode 100644 src/library/TrashSidebarEntry.c delete mode 100644 src/library/mk/library.mk create mode 100644 src/main.c create mode 100644 src/photos/BmpSupport.c create mode 100644 src/photos/GRaw.c create mode 100644 src/photos/GdkSupport.c create mode 100644 src/photos/JfifSupport.c create mode 100644 src/photos/PhotoFileAdapter.c create mode 100644 src/photos/PhotoFileFormat.c create mode 100644 src/photos/PhotoFileSniffer.c create mode 100644 src/photos/PhotoMetadata.c create mode 100644 src/photos/Photos.c create mode 100644 src/photos/PngSupport.c create mode 100644 src/photos/RawSupport.c create mode 100644 src/photos/TiffSupport.c delete mode 100644 src/photos/mk/photos.mk create mode 100644 src/plugins/DataImportsInterfaces.c create mode 100644 src/plugins/ManifestWidget.c create mode 100644 src/plugins/Plugins.c create mode 100644 src/plugins/PublishingInterfaces.c create mode 100644 src/plugins/SpitInterfaces.c create mode 100644 src/plugins/StandardHostInterface.c create mode 100644 src/plugins/TransitionsInterfaces.c delete mode 100644 src/plugins/mk/interfaces.mk delete mode 100644 src/plugins/mk/plugins.mk create mode 100644 src/publishing/APIGlue.c create mode 100644 src/publishing/Publishing.c create mode 100644 src/publishing/PublishingPluginHost.c create mode 100644 src/publishing/PublishingUI.c delete mode 100644 src/publishing/mk/publishing.mk create mode 100644 src/searches/Branch.c create mode 100644 src/searches/SavedSearchDialog.c create mode 100644 src/searches/SavedSearchPage.c create mode 100644 src/searches/SearchBoolean.c create mode 100644 src/searches/Searches.c delete mode 100644 src/searches/mk/searches.mk create mode 100644 src/sidebar/Branch.c create mode 100644 src/sidebar/Entry.c create mode 100644 src/sidebar/Sidebar.c create mode 100644 src/sidebar/Tree.c create mode 100644 src/sidebar/common.c delete mode 100644 src/sidebar/mk/sidebar.mk create mode 100644 src/slideshow/Slideshow.c create mode 100644 src/slideshow/TransitionEffects.c delete mode 100644 src/slideshow/mk/slideshow.mk create mode 100644 src/tags/Branch.c create mode 100644 src/tags/HierarchicalTagIndex.c create mode 100644 src/tags/HierarchicalTagUtilities.c create mode 100644 src/tags/TagPage.c create mode 100644 src/tags/Tags.c delete mode 100644 src/tags/mk/tags.mk create mode 100644 src/threads/BackgroundJob.c create mode 100644 src/threads/Semaphore.c create mode 100644 src/threads/Threads.c create mode 100644 src/threads/Workers.c delete mode 100644 src/threads/mk/threads.mk create mode 100644 src/unit/Unit.c delete mode 100644 src/unit/mk/unit.mk delete mode 100644 src/unit/rc/Unit.m4 delete mode 100644 src/unit/rc/UnitInternals.m4 delete mode 100644 src/unit/rc/template.mk delete mode 100644 src/unit/rc/template.vala delete mode 100644 src/unit/rc/unitize_entry.m4 create mode 100644 src/util/KeyValueMap.c create mode 100644 src/util/Util.c create mode 100644 src/util/file.c create mode 100644 src/util/image.c create mode 100644 src/util/misc.c delete mode 100644 src/util/mk/util.mk create mode 100644 src/util/string.c create mode 100644 src/util/system.c create mode 100644 src/util/ui.c (limited to 'src') diff --git a/src/.unitize/_CameraInternals.c b/src/.unitize/_CameraInternals.c new file mode 100644 index 0000000..4b84aa5 --- /dev/null +++ b/src/.unitize/_CameraInternals.c @@ -0,0 +1,115 @@ +/* _CameraInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _CameraInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint camera__unit_init_count; +gint camera__unit_init_count = 0; + +void camera_init_entry (GError** error); +void unit_init_entry (GError** error); +void sidebar_init_entry (GError** error); +void camera_init (GError** error); +void camera_terminate_entry (void); +void camera_terminate (void); +void unit_terminate_entry (void); +void sidebar_terminate_entry (void); + + +void camera_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + _tmp0_ = camera__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + camera__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + return; +#line 42 "_CameraInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + return; +#line 52 "_CameraInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + sidebar_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + return; +#line 62 "_CameraInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + camera_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + return; +#line 72 "_CameraInternals.c" + } +} + + +void camera_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + _tmp1_ = camera__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + _tmp0_ = TRUE; +#line 86 "_CameraInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + _tmp2_ = camera__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + camera__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + _tmp3_ = camera__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 98 "_CameraInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + return; +#line 104 "_CameraInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + camera_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_CameraInternals.vala" + sidebar_terminate_entry (); +#line 112 "_CameraInternals.c" +} + + + diff --git a/src/.unitize/_CameraInternals.vala b/src/.unitize/_CameraInternals.vala new file mode 100644 index 0000000..68d37ca --- /dev/null +++ b/src/.unitize/_CameraInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Camera { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Sidebar.init_entry(); + + Camera.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Camera.terminate(); + + Unit.terminate_entry(); Sidebar.terminate_entry(); +} + +} diff --git a/src/.unitize/_ConfigInternals.c b/src/.unitize/_ConfigInternals.c new file mode 100644 index 0000000..d7eb0e4 --- /dev/null +++ b/src/.unitize/_ConfigInternals.c @@ -0,0 +1,101 @@ +/* _ConfigInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _ConfigInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint config__unit_init_count; +gint config__unit_init_count = 0; + +void config_init_entry (GError** error); +void unit_init_entry (GError** error); +void config_init (GError** error); +void config_terminate_entry (void); +void config_terminate (void); +void unit_terminate_entry (void); + + +void config_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + _tmp0_ = config__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + config__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + return; +#line 40 "_ConfigInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + return; +#line 50 "_ConfigInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + config_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + return; +#line 60 "_ConfigInternals.c" + } +} + + +void config_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + _tmp1_ = config__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + _tmp0_ = TRUE; +#line 74 "_ConfigInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + _tmp2_ = config__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + config__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + _tmp3_ = config__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_ConfigInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + return; +#line 92 "_ConfigInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + config_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_ConfigInternals.vala" + unit_terminate_entry (); +#line 98 "_ConfigInternals.c" +} + + + diff --git a/src/.unitize/_ConfigInternals.vala b/src/.unitize/_ConfigInternals.vala new file mode 100644 index 0000000..90a46a0 --- /dev/null +++ b/src/.unitize/_ConfigInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Config { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + Config.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Config.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_CoreInternals.c b/src/.unitize/_CoreInternals.c new file mode 100644 index 0000000..f95207a --- /dev/null +++ b/src/.unitize/_CoreInternals.c @@ -0,0 +1,101 @@ +/* _CoreInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _CoreInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint core__unit_init_count; +gint core__unit_init_count = 0; + +void core_init_entry (GError** error); +void unit_init_entry (GError** error); +void core_init (GError** error); +void core_terminate_entry (void); +void core_terminate (void); +void unit_terminate_entry (void); + + +void core_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + _tmp0_ = core__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + core__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + return; +#line 40 "_CoreInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + return; +#line 50 "_CoreInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + core_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + return; +#line 60 "_CoreInternals.c" + } +} + + +void core_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + _tmp1_ = core__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + _tmp0_ = TRUE; +#line 74 "_CoreInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + _tmp2_ = core__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + core__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + _tmp3_ = core__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_CoreInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + return; +#line 92 "_CoreInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + core_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_CoreInternals.vala" + unit_terminate_entry (); +#line 98 "_CoreInternals.c" +} + + + diff --git a/src/.unitize/_CoreInternals.vala b/src/.unitize/_CoreInternals.vala new file mode 100644 index 0000000..b581845 --- /dev/null +++ b/src/.unitize/_CoreInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Core { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + Core.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Core.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_DataImportsInternals.c b/src/.unitize/_DataImportsInternals.c new file mode 100644 index 0000000..2d2fc94 --- /dev/null +++ b/src/.unitize/_DataImportsInternals.c @@ -0,0 +1,101 @@ +/* _DataImportsInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _DataImportsInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint data_imports__unit_init_count; +gint data_imports__unit_init_count = 0; + +void data_imports_init_entry (GError** error); +void unit_init_entry (GError** error); +void data_imports_init (GError** error); +void data_imports_terminate_entry (void); +void data_imports_terminate (void); +void unit_terminate_entry (void); + + +void data_imports_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + _tmp0_ = data_imports__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + data_imports__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + return; +#line 40 "_DataImportsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + return; +#line 50 "_DataImportsInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + data_imports_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + return; +#line 60 "_DataImportsInternals.c" + } +} + + +void data_imports_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + _tmp1_ = data_imports__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + _tmp0_ = TRUE; +#line 74 "_DataImportsInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + _tmp2_ = data_imports__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + data_imports__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + _tmp3_ = data_imports__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_DataImportsInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + return; +#line 92 "_DataImportsInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + data_imports_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_DataImportsInternals.vala" + unit_terminate_entry (); +#line 98 "_DataImportsInternals.c" +} + + + diff --git a/src/.unitize/_DataImportsInternals.vala b/src/.unitize/_DataImportsInternals.vala new file mode 100644 index 0000000..002b6a7 --- /dev/null +++ b/src/.unitize/_DataImportsInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace DataImports { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + DataImports.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + DataImports.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_DbInternals.c b/src/.unitize/_DbInternals.c new file mode 100644 index 0000000..47e29a8 --- /dev/null +++ b/src/.unitize/_DbInternals.c @@ -0,0 +1,101 @@ +/* _DbInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _DbInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint db__unit_init_count; +gint db__unit_init_count = 0; + +void db_init_entry (GError** error); +void unit_init_entry (GError** error); +void db_init (GError** error); +void db_terminate_entry (void); +void db_terminate (void); +void unit_terminate_entry (void); + + +void db_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + _tmp0_ = db__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + db__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + return; +#line 40 "_DbInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + return; +#line 50 "_DbInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + db_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + return; +#line 60 "_DbInternals.c" + } +} + + +void db_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + _tmp1_ = db__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + _tmp0_ = TRUE; +#line 74 "_DbInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + _tmp2_ = db__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + db__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + _tmp3_ = db__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_DbInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + return; +#line 92 "_DbInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + db_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_DbInternals.vala" + unit_terminate_entry (); +#line 98 "_DbInternals.c" +} + + + diff --git a/src/.unitize/_DbInternals.vala b/src/.unitize/_DbInternals.vala new file mode 100644 index 0000000..a80bd57 --- /dev/null +++ b/src/.unitize/_DbInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Db { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + Db.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Db.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_DirectInternals.c b/src/.unitize/_DirectInternals.c new file mode 100644 index 0000000..2095fcb --- /dev/null +++ b/src/.unitize/_DirectInternals.c @@ -0,0 +1,171 @@ +/* _DirectInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _DirectInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint direct__unit_init_count; +gint direct__unit_init_count = 0; + +void direct_init_entry (GError** error); +void unit_init_entry (GError** error); +void db_init_entry (GError** error); +void util_init_entry (GError** error); +void photos_init_entry (GError** error); +void slideshow_init_entry (GError** error); +void core_init_entry (GError** error); +void direct_init (GError** error); +void direct_terminate_entry (void); +void direct_terminate (void); +void unit_terminate_entry (void); +void db_terminate_entry (void); +void util_terminate_entry (void); +void photos_terminate_entry (void); +void slideshow_terminate_entry (void); +void core_terminate_entry (void); + + +void direct_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + _tmp0_ = direct__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + direct__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 50 "_DirectInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 60 "_DirectInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + db_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 70 "_DirectInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + util_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 80 "_DirectInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + photos_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 90 "_DirectInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + slideshow_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 100 "_DirectInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + core_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 110 "_DirectInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + direct_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 120 "_DirectInternals.c" + } +} + + +void direct_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + _tmp1_ = direct__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + _tmp0_ = TRUE; +#line 134 "_DirectInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + _tmp2_ = direct__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + direct__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + _tmp3_ = direct__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 146 "_DirectInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + return; +#line 152 "_DirectInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + direct_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + db_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + util_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + photos_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + slideshow_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_DirectInternals.vala" + core_terminate_entry (); +#line 168 "_DirectInternals.c" +} + + + diff --git a/src/.unitize/_DirectInternals.vala b/src/.unitize/_DirectInternals.vala new file mode 100644 index 0000000..86dc65c --- /dev/null +++ b/src/.unitize/_DirectInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Direct { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Db.init_entry(); Util.init_entry(); Photos.init_entry(); Slideshow.init_entry(); Core.init_entry(); + + Direct.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Direct.terminate(); + + Unit.terminate_entry(); Db.terminate_entry(); Util.terminate_entry(); Photos.terminate_entry(); Slideshow.terminate_entry(); Core.terminate_entry(); +} + +} diff --git a/src/.unitize/_Direct_unitize_entry.c b/src/.unitize/_Direct_unitize_entry.c new file mode 100644 index 0000000..148e461 --- /dev/null +++ b/src/.unitize/_Direct_unitize_entry.c @@ -0,0 +1,46 @@ +/* _Direct_unitize_entry.c generated by valac 0.32.1, the Vala compiler + * generated from _Direct_unitize_entry.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + + +void direct_app_init (GError** error); +void direct_init_entry (GError** error); +void direct_app_terminate (void); +void direct_terminate_entry (void); + + +void direct_app_init (GError** error) { + GError * _inner_error_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/.unitize/_Direct_unitize_entry.vala" + direct_init_entry (&_inner_error_); +#line 12 "/home/jens/Source/shotwell/src/.unitize/_Direct_unitize_entry.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 12 "/home/jens/Source/shotwell/src/.unitize/_Direct_unitize_entry.vala" + g_propagate_error (error, _inner_error_); +#line 12 "/home/jens/Source/shotwell/src/.unitize/_Direct_unitize_entry.vala" + return; +#line 35 "_Direct_unitize_entry.c" + } +} + + +void direct_app_terminate (void) { +#line 16 "/home/jens/Source/shotwell/src/.unitize/_Direct_unitize_entry.vala" + direct_terminate_entry (); +#line 43 "_Direct_unitize_entry.c" +} + + + diff --git a/src/.unitize/_Direct_unitize_entry.vala b/src/.unitize/_Direct_unitize_entry.vala new file mode 100644 index 0000000..4879efb --- /dev/null +++ b/src/.unitize/_Direct_unitize_entry.vala @@ -0,0 +1,19 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Direct { + +public void app_init() throws Error { + Direct.init_entry(); +} + +public void app_terminate() { + Direct.terminate_entry(); +} + +} diff --git a/src/.unitize/_EditingToolsInternals.c b/src/.unitize/_EditingToolsInternals.c new file mode 100644 index 0000000..5f351af --- /dev/null +++ b/src/.unitize/_EditingToolsInternals.c @@ -0,0 +1,101 @@ +/* _EditingToolsInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _EditingToolsInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint editing_tools__unit_init_count; +gint editing_tools__unit_init_count = 0; + +void editing_tools_init_entry (GError** error); +void unit_init_entry (GError** error); +void editing_tools_init (GError** error); +void editing_tools_terminate_entry (void); +void editing_tools_terminate (void); +void unit_terminate_entry (void); + + +void editing_tools_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + _tmp0_ = editing_tools__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + editing_tools__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + return; +#line 40 "_EditingToolsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + return; +#line 50 "_EditingToolsInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + editing_tools_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + return; +#line 60 "_EditingToolsInternals.c" + } +} + + +void editing_tools_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + _tmp1_ = editing_tools__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + _tmp0_ = TRUE; +#line 74 "_EditingToolsInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + _tmp2_ = editing_tools__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + editing_tools__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + _tmp3_ = editing_tools__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_EditingToolsInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + return; +#line 92 "_EditingToolsInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + editing_tools_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_EditingToolsInternals.vala" + unit_terminate_entry (); +#line 98 "_EditingToolsInternals.c" +} + + + diff --git a/src/.unitize/_EditingToolsInternals.vala b/src/.unitize/_EditingToolsInternals.vala new file mode 100644 index 0000000..7b913f6 --- /dev/null +++ b/src/.unitize/_EditingToolsInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace EditingTools { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + EditingTools.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + EditingTools.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_EventsInternals.c b/src/.unitize/_EventsInternals.c new file mode 100644 index 0000000..33088f7 --- /dev/null +++ b/src/.unitize/_EventsInternals.c @@ -0,0 +1,115 @@ +/* _EventsInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _EventsInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint events__unit_init_count; +gint events__unit_init_count = 0; + +void events_init_entry (GError** error); +void unit_init_entry (GError** error); +void sidebar_init_entry (GError** error); +void events_init (GError** error); +void events_terminate_entry (void); +void events_terminate (void); +void unit_terminate_entry (void); +void sidebar_terminate_entry (void); + + +void events_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + _tmp0_ = events__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + events__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + return; +#line 42 "_EventsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + return; +#line 52 "_EventsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + sidebar_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + return; +#line 62 "_EventsInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + events_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + return; +#line 72 "_EventsInternals.c" + } +} + + +void events_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + _tmp1_ = events__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + _tmp0_ = TRUE; +#line 86 "_EventsInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + _tmp2_ = events__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + events__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + _tmp3_ = events__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 98 "_EventsInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + return; +#line 104 "_EventsInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + events_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_EventsInternals.vala" + sidebar_terminate_entry (); +#line 112 "_EventsInternals.c" +} + + + diff --git a/src/.unitize/_EventsInternals.vala b/src/.unitize/_EventsInternals.vala new file mode 100644 index 0000000..5d4f419 --- /dev/null +++ b/src/.unitize/_EventsInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Events { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Sidebar.init_entry(); + + Events.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Events.terminate(); + + Unit.terminate_entry(); Sidebar.terminate_entry(); +} + +} diff --git a/src/.unitize/_FoldersInternals.c b/src/.unitize/_FoldersInternals.c new file mode 100644 index 0000000..1a3988e --- /dev/null +++ b/src/.unitize/_FoldersInternals.c @@ -0,0 +1,129 @@ +/* _FoldersInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _FoldersInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint folders__unit_init_count; +gint folders__unit_init_count = 0; + +void folders_init_entry (GError** error); +void unit_init_entry (GError** error); +void sidebar_init_entry (GError** error); +void photos_init_entry (GError** error); +void folders_init (GError** error); +void folders_terminate_entry (void); +void folders_terminate (void); +void unit_terminate_entry (void); +void sidebar_terminate_entry (void); +void photos_terminate_entry (void); + + +void folders_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + _tmp0_ = folders__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + folders__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + return; +#line 44 "_FoldersInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + return; +#line 54 "_FoldersInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + sidebar_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + return; +#line 64 "_FoldersInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + photos_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + return; +#line 74 "_FoldersInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + folders_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + return; +#line 84 "_FoldersInternals.c" + } +} + + +void folders_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + _tmp1_ = folders__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + _tmp0_ = TRUE; +#line 98 "_FoldersInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + _tmp2_ = folders__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + folders__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + _tmp3_ = folders__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 110 "_FoldersInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + return; +#line 116 "_FoldersInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + folders_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + sidebar_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_FoldersInternals.vala" + photos_terminate_entry (); +#line 126 "_FoldersInternals.c" +} + + + diff --git a/src/.unitize/_FoldersInternals.vala b/src/.unitize/_FoldersInternals.vala new file mode 100644 index 0000000..49bad90 --- /dev/null +++ b/src/.unitize/_FoldersInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Folders { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Sidebar.init_entry(); Photos.init_entry(); + + Folders.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Folders.terminate(); + + Unit.terminate_entry(); Sidebar.terminate_entry(); Photos.terminate_entry(); +} + +} diff --git a/src/.unitize/_LibraryInternals.c b/src/.unitize/_LibraryInternals.c new file mode 100644 index 0000000..6d70073 --- /dev/null +++ b/src/.unitize/_LibraryInternals.c @@ -0,0 +1,311 @@ +/* _LibraryInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _LibraryInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint library__unit_init_count; +gint library__unit_init_count = 0; + +void library_init_entry (GError** error); +void unit_init_entry (GError** error); +void util_init_entry (GError** error); +void threads_init_entry (GError** error); +void db_init_entry (GError** error); +void plugins_init_entry (GError** error); +void slideshow_init_entry (GError** error); +void photos_init_entry (GError** error); +void publishing_init_entry (GError** error); +void core_init_entry (GError** error); +void sidebar_init_entry (GError** error); +void events_init_entry (GError** error); +void tags_init_entry (GError** error); +void camera_init_entry (GError** error); +void searches_init_entry (GError** error); +void data_imports_init_entry (GError** error); +void folders_init_entry (GError** error); +void library_init (GError** error); +void library_terminate_entry (void); +void library_terminate (void); +void unit_terminate_entry (void); +void util_terminate_entry (void); +void threads_terminate_entry (void); +void db_terminate_entry (void); +void plugins_terminate_entry (void); +void slideshow_terminate_entry (void); +void photos_terminate_entry (void); +void publishing_terminate_entry (void); +void core_terminate_entry (void); +void sidebar_terminate_entry (void); +void events_terminate_entry (void); +void tags_terminate_entry (void); +void camera_terminate_entry (void); +void searches_terminate_entry (void); +void data_imports_terminate_entry (void); +void folders_terminate_entry (void); + + +void library_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + _tmp0_ = library__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + library__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 70 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 80 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + util_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 90 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + threads_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 100 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + db_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 110 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + plugins_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 120 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + slideshow_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 130 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + photos_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 140 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + publishing_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 150 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + core_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 160 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + sidebar_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 170 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + events_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 180 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + tags_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 190 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + camera_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 200 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + searches_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 210 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + data_imports_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 220 "_LibraryInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + folders_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 230 "_LibraryInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + library_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 240 "_LibraryInternals.c" + } +} + + +void library_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + _tmp1_ = library__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + _tmp0_ = TRUE; +#line 254 "_LibraryInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + _tmp2_ = library__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + library__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + _tmp3_ = library__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 266 "_LibraryInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + return; +#line 272 "_LibraryInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + library_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + util_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + threads_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + db_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + plugins_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + slideshow_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + photos_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + publishing_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + core_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + sidebar_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + events_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + tags_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + camera_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + searches_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + data_imports_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_LibraryInternals.vala" + folders_terminate_entry (); +#line 308 "_LibraryInternals.c" +} + + + diff --git a/src/.unitize/_LibraryInternals.vala b/src/.unitize/_LibraryInternals.vala new file mode 100644 index 0000000..1baa298 --- /dev/null +++ b/src/.unitize/_LibraryInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Library { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Util.init_entry(); Threads.init_entry(); Db.init_entry(); Plugins.init_entry(); Slideshow.init_entry(); Photos.init_entry(); Publishing.init_entry(); Core.init_entry(); Sidebar.init_entry(); Events.init_entry(); Tags.init_entry(); Camera.init_entry(); Searches.init_entry(); DataImports.init_entry(); Folders.init_entry(); + + Library.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Library.terminate(); + + Unit.terminate_entry(); Util.terminate_entry(); Threads.terminate_entry(); Db.terminate_entry(); Plugins.terminate_entry(); Slideshow.terminate_entry(); Photos.terminate_entry(); Publishing.terminate_entry(); Core.terminate_entry(); Sidebar.terminate_entry(); Events.terminate_entry(); Tags.terminate_entry(); Camera.terminate_entry(); Searches.terminate_entry(); DataImports.terminate_entry(); Folders.terminate_entry(); +} + +} diff --git a/src/.unitize/_Library_unitize_entry.c b/src/.unitize/_Library_unitize_entry.c new file mode 100644 index 0000000..8e7246c --- /dev/null +++ b/src/.unitize/_Library_unitize_entry.c @@ -0,0 +1,46 @@ +/* _Library_unitize_entry.c generated by valac 0.32.1, the Vala compiler + * generated from _Library_unitize_entry.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + + +void library_app_init (GError** error); +void library_init_entry (GError** error); +void library_app_terminate (void); +void library_terminate_entry (void); + + +void library_app_init (GError** error) { + GError * _inner_error_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/.unitize/_Library_unitize_entry.vala" + library_init_entry (&_inner_error_); +#line 12 "/home/jens/Source/shotwell/src/.unitize/_Library_unitize_entry.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 12 "/home/jens/Source/shotwell/src/.unitize/_Library_unitize_entry.vala" + g_propagate_error (error, _inner_error_); +#line 12 "/home/jens/Source/shotwell/src/.unitize/_Library_unitize_entry.vala" + return; +#line 35 "_Library_unitize_entry.c" + } +} + + +void library_app_terminate (void) { +#line 16 "/home/jens/Source/shotwell/src/.unitize/_Library_unitize_entry.vala" + library_terminate_entry (); +#line 43 "_Library_unitize_entry.c" +} + + + diff --git a/src/.unitize/_Library_unitize_entry.vala b/src/.unitize/_Library_unitize_entry.vala new file mode 100644 index 0000000..2de3647 --- /dev/null +++ b/src/.unitize/_Library_unitize_entry.vala @@ -0,0 +1,19 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Library { + +public void app_init() throws Error { + Library.init_entry(); +} + +public void app_terminate() { + Library.terminate_entry(); +} + +} diff --git a/src/.unitize/_PhotosInternals.c b/src/.unitize/_PhotosInternals.c new file mode 100644 index 0000000..3710e7b --- /dev/null +++ b/src/.unitize/_PhotosInternals.c @@ -0,0 +1,101 @@ +/* _PhotosInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _PhotosInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint photos__unit_init_count; +gint photos__unit_init_count = 0; + +void photos_init_entry (GError** error); +void unit_init_entry (GError** error); +void photos_init (GError** error); +void photos_terminate_entry (void); +void photos_terminate (void); +void unit_terminate_entry (void); + + +void photos_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + _tmp0_ = photos__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + photos__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + return; +#line 40 "_PhotosInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + return; +#line 50 "_PhotosInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + photos_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + return; +#line 60 "_PhotosInternals.c" + } +} + + +void photos_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + _tmp1_ = photos__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + _tmp0_ = TRUE; +#line 74 "_PhotosInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + _tmp2_ = photos__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + photos__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + _tmp3_ = photos__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_PhotosInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + return; +#line 92 "_PhotosInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + photos_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_PhotosInternals.vala" + unit_terminate_entry (); +#line 98 "_PhotosInternals.c" +} + + + diff --git a/src/.unitize/_PhotosInternals.vala b/src/.unitize/_PhotosInternals.vala new file mode 100644 index 0000000..b5d77b2 --- /dev/null +++ b/src/.unitize/_PhotosInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Photos { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + Photos.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Photos.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_PluginsInternals.c b/src/.unitize/_PluginsInternals.c new file mode 100644 index 0000000..9a9ee42 --- /dev/null +++ b/src/.unitize/_PluginsInternals.c @@ -0,0 +1,115 @@ +/* _PluginsInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _PluginsInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint plugins__unit_init_count; +gint plugins__unit_init_count = 0; + +void plugins_init_entry (GError** error); +void unit_init_entry (GError** error); +void util_init_entry (GError** error); +void plugins_init (GError** error); +void plugins_terminate_entry (void); +void plugins_terminate (void); +void unit_terminate_entry (void); +void util_terminate_entry (void); + + +void plugins_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + _tmp0_ = plugins__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + plugins__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + return; +#line 42 "_PluginsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + return; +#line 52 "_PluginsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + util_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + return; +#line 62 "_PluginsInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + plugins_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + return; +#line 72 "_PluginsInternals.c" + } +} + + +void plugins_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + _tmp1_ = plugins__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + _tmp0_ = TRUE; +#line 86 "_PluginsInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + _tmp2_ = plugins__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + plugins__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + _tmp3_ = plugins__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 98 "_PluginsInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + return; +#line 104 "_PluginsInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + plugins_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_PluginsInternals.vala" + util_terminate_entry (); +#line 112 "_PluginsInternals.c" +} + + + diff --git a/src/.unitize/_PluginsInternals.vala b/src/.unitize/_PluginsInternals.vala new file mode 100644 index 0000000..97ffc2c --- /dev/null +++ b/src/.unitize/_PluginsInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Plugins { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Util.init_entry(); + + Plugins.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Plugins.terminate(); + + Unit.terminate_entry(); Util.terminate_entry(); +} + +} diff --git a/src/.unitize/_PublishingInternals.c b/src/.unitize/_PublishingInternals.c new file mode 100644 index 0000000..b1d0861 --- /dev/null +++ b/src/.unitize/_PublishingInternals.c @@ -0,0 +1,115 @@ +/* _PublishingInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _PublishingInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint publishing__unit_init_count; +gint publishing__unit_init_count = 0; + +void publishing_init_entry (GError** error); +void unit_init_entry (GError** error); +void plugins_init_entry (GError** error); +void publishing_init (GError** error); +void publishing_terminate_entry (void); +void publishing_terminate (void); +void unit_terminate_entry (void); +void plugins_terminate_entry (void); + + +void publishing_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + _tmp0_ = publishing__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + publishing__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + return; +#line 42 "_PublishingInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + return; +#line 52 "_PublishingInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + plugins_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + return; +#line 62 "_PublishingInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + publishing_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + return; +#line 72 "_PublishingInternals.c" + } +} + + +void publishing_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + _tmp1_ = publishing__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + _tmp0_ = TRUE; +#line 86 "_PublishingInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + _tmp2_ = publishing__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + publishing__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + _tmp3_ = publishing__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 98 "_PublishingInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + return; +#line 104 "_PublishingInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + publishing_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_PublishingInternals.vala" + plugins_terminate_entry (); +#line 112 "_PublishingInternals.c" +} + + + diff --git a/src/.unitize/_PublishingInternals.vala b/src/.unitize/_PublishingInternals.vala new file mode 100644 index 0000000..1b39d37 --- /dev/null +++ b/src/.unitize/_PublishingInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Publishing { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Plugins.init_entry(); + + Publishing.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Publishing.terminate(); + + Unit.terminate_entry(); Plugins.terminate_entry(); +} + +} diff --git a/src/.unitize/_SearchesInternals.c b/src/.unitize/_SearchesInternals.c new file mode 100644 index 0000000..7b0f7e8 --- /dev/null +++ b/src/.unitize/_SearchesInternals.c @@ -0,0 +1,101 @@ +/* _SearchesInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _SearchesInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint searches__unit_init_count; +gint searches__unit_init_count = 0; + +void searches_init_entry (GError** error); +void unit_init_entry (GError** error); +void searches_init (GError** error); +void searches_terminate_entry (void); +void searches_terminate (void); +void unit_terminate_entry (void); + + +void searches_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + _tmp0_ = searches__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + searches__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + return; +#line 40 "_SearchesInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + return; +#line 50 "_SearchesInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + searches_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + return; +#line 60 "_SearchesInternals.c" + } +} + + +void searches_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + _tmp1_ = searches__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + _tmp0_ = TRUE; +#line 74 "_SearchesInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + _tmp2_ = searches__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + searches__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + _tmp3_ = searches__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_SearchesInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + return; +#line 92 "_SearchesInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + searches_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_SearchesInternals.vala" + unit_terminate_entry (); +#line 98 "_SearchesInternals.c" +} + + + diff --git a/src/.unitize/_SearchesInternals.vala b/src/.unitize/_SearchesInternals.vala new file mode 100644 index 0000000..effb551 --- /dev/null +++ b/src/.unitize/_SearchesInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Searches { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + Searches.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Searches.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_SidebarInternals.c b/src/.unitize/_SidebarInternals.c new file mode 100644 index 0000000..f312282 --- /dev/null +++ b/src/.unitize/_SidebarInternals.c @@ -0,0 +1,101 @@ +/* _SidebarInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _SidebarInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint sidebar__unit_init_count; +gint sidebar__unit_init_count = 0; + +void sidebar_init_entry (GError** error); +void unit_init_entry (GError** error); +void sidebar_init (GError** error); +void sidebar_terminate_entry (void); +void sidebar_terminate (void); +void unit_terminate_entry (void); + + +void sidebar_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + _tmp0_ = sidebar__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + sidebar__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + return; +#line 40 "_SidebarInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + return; +#line 50 "_SidebarInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + sidebar_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + return; +#line 60 "_SidebarInternals.c" + } +} + + +void sidebar_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + _tmp1_ = sidebar__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + _tmp0_ = TRUE; +#line 74 "_SidebarInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + _tmp2_ = sidebar__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + sidebar__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + _tmp3_ = sidebar__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_SidebarInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + return; +#line 92 "_SidebarInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + sidebar_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_SidebarInternals.vala" + unit_terminate_entry (); +#line 98 "_SidebarInternals.c" +} + + + diff --git a/src/.unitize/_SidebarInternals.vala b/src/.unitize/_SidebarInternals.vala new file mode 100644 index 0000000..0940c43 --- /dev/null +++ b/src/.unitize/_SidebarInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Sidebar { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + Sidebar.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Sidebar.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_SlideshowInternals.c b/src/.unitize/_SlideshowInternals.c new file mode 100644 index 0000000..31b8124 --- /dev/null +++ b/src/.unitize/_SlideshowInternals.c @@ -0,0 +1,115 @@ +/* _SlideshowInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _SlideshowInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint slideshow__unit_init_count; +gint slideshow__unit_init_count = 0; + +void slideshow_init_entry (GError** error); +void unit_init_entry (GError** error); +void plugins_init_entry (GError** error); +void slideshow_init (GError** error); +void slideshow_terminate_entry (void); +void slideshow_terminate (void); +void unit_terminate_entry (void); +void plugins_terminate_entry (void); + + +void slideshow_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + _tmp0_ = slideshow__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + slideshow__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + return; +#line 42 "_SlideshowInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + return; +#line 52 "_SlideshowInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + plugins_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + return; +#line 62 "_SlideshowInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + slideshow_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + return; +#line 72 "_SlideshowInternals.c" + } +} + + +void slideshow_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + _tmp1_ = slideshow__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + _tmp0_ = TRUE; +#line 86 "_SlideshowInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + _tmp2_ = slideshow__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + slideshow__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + _tmp3_ = slideshow__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 98 "_SlideshowInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + return; +#line 104 "_SlideshowInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + slideshow_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_SlideshowInternals.vala" + plugins_terminate_entry (); +#line 112 "_SlideshowInternals.c" +} + + + diff --git a/src/.unitize/_SlideshowInternals.vala b/src/.unitize/_SlideshowInternals.vala new file mode 100644 index 0000000..d6de981 --- /dev/null +++ b/src/.unitize/_SlideshowInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Slideshow { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Plugins.init_entry(); + + Slideshow.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Slideshow.terminate(); + + Unit.terminate_entry(); Plugins.terminate_entry(); +} + +} diff --git a/src/.unitize/_TagsInternals.c b/src/.unitize/_TagsInternals.c new file mode 100644 index 0000000..599fb26 --- /dev/null +++ b/src/.unitize/_TagsInternals.c @@ -0,0 +1,115 @@ +/* _TagsInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _TagsInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint tags__unit_init_count; +gint tags__unit_init_count = 0; + +void tags_init_entry (GError** error); +void unit_init_entry (GError** error); +void sidebar_init_entry (GError** error); +void tags_init (GError** error); +void tags_terminate_entry (void); +void tags_terminate (void); +void unit_terminate_entry (void); +void sidebar_terminate_entry (void); + + +void tags_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + _tmp0_ = tags__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + tags__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + return; +#line 42 "_TagsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + return; +#line 52 "_TagsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + sidebar_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + return; +#line 62 "_TagsInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + tags_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + return; +#line 72 "_TagsInternals.c" + } +} + + +void tags_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + _tmp1_ = tags__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + _tmp0_ = TRUE; +#line 86 "_TagsInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + _tmp2_ = tags__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + tags__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + _tmp3_ = tags__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 98 "_TagsInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + return; +#line 104 "_TagsInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + tags_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + unit_terminate_entry (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_TagsInternals.vala" + sidebar_terminate_entry (); +#line 112 "_TagsInternals.c" +} + + + diff --git a/src/.unitize/_TagsInternals.vala b/src/.unitize/_TagsInternals.vala new file mode 100644 index 0000000..84df7ab --- /dev/null +++ b/src/.unitize/_TagsInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Tags { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); Sidebar.init_entry(); + + Tags.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Tags.terminate(); + + Unit.terminate_entry(); Sidebar.terminate_entry(); +} + +} diff --git a/src/.unitize/_ThreadsInternals.c b/src/.unitize/_ThreadsInternals.c new file mode 100644 index 0000000..69712a7 --- /dev/null +++ b/src/.unitize/_ThreadsInternals.c @@ -0,0 +1,101 @@ +/* _ThreadsInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _ThreadsInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint threads__unit_init_count; +gint threads__unit_init_count = 0; + +void threads_init_entry (GError** error); +void unit_init_entry (GError** error); +void threads_init (GError** error); +void threads_terminate_entry (void); +void threads_terminate (void); +void unit_terminate_entry (void); + + +void threads_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + _tmp0_ = threads__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + threads__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + return; +#line 40 "_ThreadsInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + return; +#line 50 "_ThreadsInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + threads_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + return; +#line 60 "_ThreadsInternals.c" + } +} + + +void threads_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + _tmp1_ = threads__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + _tmp0_ = TRUE; +#line 74 "_ThreadsInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + _tmp2_ = threads__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + threads__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + _tmp3_ = threads__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_ThreadsInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + return; +#line 92 "_ThreadsInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + threads_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_ThreadsInternals.vala" + unit_terminate_entry (); +#line 98 "_ThreadsInternals.c" +} + + + diff --git a/src/.unitize/_ThreadsInternals.vala b/src/.unitize/_ThreadsInternals.vala new file mode 100644 index 0000000..fddac3d --- /dev/null +++ b/src/.unitize/_ThreadsInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Threads { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + Threads.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Threads.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/.unitize/_UnitInternals.c b/src/.unitize/_UnitInternals.c new file mode 100644 index 0000000..102107b --- /dev/null +++ b/src/.unitize/_UnitInternals.c @@ -0,0 +1,87 @@ +/* _UnitInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _UnitInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint unit__unit_init_count; +gint unit__unit_init_count = 0; + +void unit_init_entry (GError** error); +void unit_init (GError** error); +void unit_terminate_entry (void); +void unit_terminate (void); + + +void unit_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + _tmp0_ = unit__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + unit__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + return; +#line 38 "_UnitInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + unit_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + return; +#line 48 "_UnitInternals.c" + } +} + + +void unit_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + _tmp1_ = unit__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + _tmp0_ = TRUE; +#line 62 "_UnitInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + _tmp2_ = unit__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + unit__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + _tmp3_ = unit__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 74 "_UnitInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + return; +#line 80 "_UnitInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_UnitInternals.vala" + unit_terminate (); +#line 84 "_UnitInternals.c" +} + + + diff --git a/src/.unitize/_UnitInternals.vala b/src/.unitize/_UnitInternals.vala new file mode 100644 index 0000000..01cd908 --- /dev/null +++ b/src/.unitize/_UnitInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Unit { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + + + Unit.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Unit.terminate(); + + +} + +} diff --git a/src/.unitize/_UtilInternals.c b/src/.unitize/_UtilInternals.c new file mode 100644 index 0000000..ddfb022 --- /dev/null +++ b/src/.unitize/_UtilInternals.c @@ -0,0 +1,101 @@ +/* _UtilInternals.c generated by valac 0.32.1, the Vala compiler + * generated from _UtilInternals.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +#include +#include + + + +extern gint util__unit_init_count; +gint util__unit_init_count = 0; + +void util_init_entry (GError** error); +void unit_init_entry (GError** error); +void util_init (GError** error); +void util_terminate_entry (void); +void util_terminate (void); +void unit_terminate_entry (void); + + +void util_init_entry (GError** error) { + gint _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + _tmp0_ = util__unit_init_count; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + util__unit_init_count = _tmp0_ + 1; +#line 14 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + if (_tmp0_ != 0) { +#line 15 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + return; +#line 40 "_UtilInternals.c" + } +#line 17 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + unit_init_entry (&_inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + g_propagate_error (error, _inner_error_); +#line 17 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + return; +#line 50 "_UtilInternals.c" + } +#line 19 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + util_init (&_inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + g_propagate_error (error, _inner_error_); +#line 19 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + return; +#line 60 "_UtilInternals.c" + } +} + + +void util_terminate_entry (void) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + _tmp1_ = util__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + if (_tmp1_ == 0) { +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + _tmp0_ = TRUE; +#line 74 "_UtilInternals.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + _tmp2_ = util__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + util__unit_init_count = _tmp2_ - 1; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + _tmp3_ = util__unit_init_count; +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + _tmp0_ = _tmp3_ != 0; +#line 86 "_UtilInternals.c" + } +#line 23 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + if (_tmp0_) { +#line 24 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + return; +#line 92 "_UtilInternals.c" + } +#line 26 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + util_terminate (); +#line 28 "/home/jens/Source/shotwell/src/.unitize/_UtilInternals.vala" + unit_terminate_entry (); +#line 98 "_UtilInternals.c" +} + + + diff --git a/src/.unitize/_UtilInternals.vala b/src/.unitize/_UtilInternals.vala new file mode 100644 index 0000000..25b1ccb --- /dev/null +++ b/src/.unitize/_UtilInternals.vala @@ -0,0 +1,31 @@ +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + * + * Auto-generated file. Do not modify! + */ + +namespace Util { + +private int _unit_init_count = 0; + +public void init_entry() throws Error { + if (_unit_init_count++ != 0) + return; + + Unit.init_entry(); + + Util.init(); +} + +public void terminate_entry() { + if (_unit_init_count == 0 || --_unit_init_count != 0) + return; + + Util.terminate(); + + Unit.terminate_entry(); +} + +} diff --git a/src/AppDirs.c b/src/AppDirs.c new file mode 100644 index 0000000..056b390 --- /dev/null +++ b/src/AppDirs.c @@ -0,0 +1,2710 @@ +/* AppDirs.c generated by valac 0.32.1, the Vala compiler + * generated from AppDirs.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_APP_DIRS (app_dirs_get_type ()) +#define APP_DIRS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_DIRS, AppDirs)) +#define APP_DIRS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_DIRS, AppDirsClass)) +#define IS_APP_DIRS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_DIRS)) +#define IS_APP_DIRS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_DIRS)) +#define APP_DIRS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_DIRS, AppDirsClass)) + +typedef struct _AppDirs AppDirs; +typedef struct _AppDirsClass AppDirsClass; +typedef struct _AppDirsPrivate AppDirsPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) +typedef struct _ParamSpecAppDirs ParamSpecAppDirs; +#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 _AppDirs { + GTypeInstance parent_instance; + volatile int ref_count; + AppDirsPrivate * priv; +}; + +struct _AppDirsClass { + GTypeClass parent_class; + void (*finalize) (AppDirs *self); +}; + +struct _ParamSpecAppDirs { + GParamSpec parent_instance; +}; + + +static gpointer app_dirs_parent_class = NULL; +static GFile* app_dirs_exec_dir; +static GFile* app_dirs_exec_dir = NULL; +static GFile* app_dirs_data_dir; +static GFile* app_dirs_data_dir = NULL; +static GFile* app_dirs_tmp_dir; +static GFile* app_dirs_tmp_dir = NULL; +static GFile* app_dirs_libexec_dir; +static GFile* app_dirs_libexec_dir = NULL; + +gpointer app_dirs_ref (gpointer instance); +void app_dirs_unref (gpointer instance); +GParamSpec* param_spec_app_dirs (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_app_dirs (GValue* value, gpointer v_object); +void value_take_app_dirs (GValue* value, gpointer v_object); +gpointer value_get_app_dirs (const GValue* value); +GType app_dirs_get_type (void) G_GNUC_CONST; +enum { + APP_DIRS_DUMMY_PROPERTY +}; +#define APP_DIRS_DEFAULT_DATA_DIR "shotwell" +void app_dirs_init (const gchar* arg0); +void app_dirs_terminate (void); +GFile* app_dirs_get_home_dir (void); +GFile* app_dirs_get_cache_dir (void); +void app_dirs_try_migrate_data (void); +GFile* app_dirs_get_user_plugins_dir (void); +GFile* app_dirs_get_data_dir (void); +void app_window_panic (const gchar* msg); +void app_dirs_set_data_dir (const gchar* user_data_dir); +gboolean is_string_empty (const gchar* s); +gchar* strip_pretty_path (const gchar* path); +void app_dirs_verify_data_dir (void); +void app_dirs_verify_cache_dir (void); +GFile* app_dirs_get_libexec_dir (void); +GFile* app_dirs_get_install_dir (void); +GFile* app_dirs_get_exec_dir (void); +#define RESOURCES_LIBEXECDIR _LIBEXECDIR +GFile* get_sys_install_dir (GFile* exec_dir); +GFile* app_dirs_get_import_dir (void); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gchar* configuration_facade_get_import_dir (ConfigurationFacade* self); +GFile* app_dirs_get_baked_import_dir (time_t tm); +gchar* configuration_facade_get_directory_pattern (ConfigurationFacade* self); +gchar* configuration_facade_get_directory_pattern_custom (ConfigurationFacade* self); +gboolean app_dirs_is_in_import_dir (GFile* file); +void app_dirs_set_import_dir (const gchar* path); +void configuration_facade_set_import_dir (ConfigurationFacade* self, const gchar* import_dir); +GFile* app_dirs_get_temp_dir (void); +GFile* app_dirs_get_data_subdir (const gchar* name, const gchar* subname); +void app_dirs_ensure_writable (GFile* dir); +GFile* app_dirs_get_cache_subdir (const gchar* name, const gchar* subname); +GFile* app_dirs_get_resources_dir (void); +GFile* app_dirs_get_lib_dir (void); +#define RESOURCES_LIB _LIB +GFile* app_dirs_get_system_plugins_dir (void); +GFile* app_dirs_get_log_file (void); +GFile* app_dirs_get_thumbnailer_bin (void); +GFile* app_dirs_get_settings_migrator_bin (void); +AppDirs* app_dirs_new (void); +AppDirs* app_dirs_construct (GType object_type); +static void app_dirs_finalize (AppDirs* obj); + + +void app_dirs_init (const gchar* arg0) { + GFile* exec_file = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (arg0 != NULL); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = arg0; +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_find_program_in_path (_tmp0_); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = realpath (_tmp2_, NULL); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_new_for_path (_tmp4_); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = _tmp5_; +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp4_); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp2_); +#line 17 "/home/jens/Source/shotwell/src/AppDirs.vala" + exec_file = _tmp6_; +#line 18 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_get_parent (exec_file); +#line 18 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_exec_dir); +#line 18 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_exec_dir = _tmp7_; +#line 16 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (exec_file); +#line 186 "AppDirs.c" +} + + +void app_dirs_terminate (void) { +} + + +GFile* app_dirs_get_home_dir (void) { + GFile* result = NULL; + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = g_get_home_dir (); +#line 27 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_file_new_for_path (_tmp0_); +#line 27 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 27 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 206 "AppDirs.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + return self ? g_object_ref (self) : NULL; +#line 213 "AppDirs.c" +} + + +GFile* app_dirs_get_cache_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = app_dirs_data_dir; +#line 31 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp1_ == NULL) { +#line 225 "AppDirs.c" + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_get_user_cache_dir (); +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_get_child (_tmp4_, APP_DIRS_DEFAULT_DATA_DIR); +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp0_); +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = _tmp5_; +#line 32 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp4_); +#line 244 "AppDirs.c" + } else { + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = app_dirs_data_dir; +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp0_); +#line 33 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = _tmp7_; +#line 256 "AppDirs.c" + } +#line 31 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp0_; +#line 31 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 262 "AppDirs.c" +} + + +void app_dirs_try_migrate_data (void) { + GFile* user_plugin_dir = NULL; + GFile* _tmp0_ = NULL; + GFile* old_dir = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GFile* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GFile* new_dir = NULL; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + GFile* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + GFile* cache_dir = NULL; + GFile* _tmp30_ = NULL; + mode_t mask = {0}; + mode_t _tmp31_ = {0}; + GFile* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + GFile* _tmp43_ = NULL; + GFile* _tmp44_ = NULL; + GFile* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + GFile* _tmp48_ = NULL; + GFile* _tmp49_ = NULL; + GFile* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; + GFile* _tmp54_ = NULL; + GFile* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + gboolean _tmp57_ = FALSE; + GFile* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + GFile* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + GFile* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + mode_t _tmp80_ = {0}; + GError * _inner_error_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_user_plugins_dir (); +#line 38 "/home/jens/Source/shotwell/src/AppDirs.vala" + user_plugin_dir = _tmp0_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = app_dirs_get_home_dir (); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = _tmp1_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_get_child (_tmp2_, ".gnome2"); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_get_child (_tmp4_, "shotwell"); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = _tmp5_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_get_child (_tmp6_, "plugins"); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = _tmp7_; +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp6_); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp4_); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp2_); +#line 39 "/home/jens/Source/shotwell/src/AppDirs.vala" + old_dir = _tmp8_; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = old_dir; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = g_file_query_exists (_tmp10_, NULL); +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp11_) { +#line 355 "AppDirs.c" + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = user_plugin_dir; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = g_file_get_parent (_tmp12_); +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = _tmp13_; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = g_file_query_exists (_tmp14_, NULL); +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = !_tmp15_; +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp14_); +#line 372 "AppDirs.c" + } else { +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = FALSE; +#line 376 "AppDirs.c" + } +#line 42 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp9_) { +#line 380 "AppDirs.c" + { + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = user_plugin_dir; +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = g_file_get_parent (_tmp16_); +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = _tmp17_; +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp18_, NULL, &_inner_error_); +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp18_); +#line 44 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 397 "AppDirs.c" + goto __catch432_g_error; + } + } + goto __finally432; + __catch432_g_error: + { + GError* err = NULL; +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 411 "AppDirs.c" + } + __finally432: +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 43 "/home/jens/Source/shotwell/src/AppDirs.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 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 43 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 426 "AppDirs.c" + } + } + { + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = old_dir; +#line 49 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = user_plugin_dir; +#line 49 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_move (_tmp19_, _tmp20_, G_FILE_COPY_NONE, NULL, NULL, NULL, &_inner_error_); +#line 49 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 440 "AppDirs.c" + goto __catch433_g_error; + } + } + goto __finally433; + __catch433_g_error: + { + GError* err = NULL; +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 454 "AppDirs.c" + } + __finally433: +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 48 "/home/jens/Source/shotwell/src/AppDirs.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 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 48 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 469 "AppDirs.c" + } +#line 53 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = app_dirs_get_data_dir (); +#line 53 "/home/jens/Source/shotwell/src/AppDirs.vala" + new_dir = _tmp21_; +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp22_ = app_dirs_get_home_dir (); +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp23_ = _tmp22_; +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp24_ = g_file_get_child (_tmp23_, ".shotwell"); +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + old_dir = _tmp24_; +#line 54 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp23_); +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp26_ = new_dir; +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp27_ = g_file_query_exists (_tmp26_, NULL); +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp27_) { +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp25_ = TRUE; +#line 495 "AppDirs.c" + } else { + GFile* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp28_ = old_dir; +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp29_ = g_file_query_exists (_tmp28_, NULL); +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp25_ = !_tmp29_; +#line 505 "AppDirs.c" + } +#line 55 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp25_) { +#line 56 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (new_dir); +#line 56 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 56 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 56 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 517 "AppDirs.c" + } +#line 58 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp30_ = app_dirs_get_cache_dir (); +#line 58 "/home/jens/Source/shotwell/src/AppDirs.vala" + cache_dir = _tmp30_; +#line 59 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp31_ = umask ((mode_t) 0077); +#line 59 "/home/jens/Source/shotwell/src/AppDirs.vala" + mask = _tmp31_; +#line 60 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp32_ = cache_dir; +#line 60 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp33_ = g_file_query_exists (_tmp32_, NULL); +#line 60 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp33_) { +#line 533 "AppDirs.c" + { + GFile* _tmp34_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp34_ = cache_dir; +#line 62 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp34_, NULL, &_inner_error_); +#line 62 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 542 "AppDirs.c" + goto __catch434_g_error; + } + } + goto __finally434; + __catch434_g_error: + { + GError* err = NULL; + const gchar* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + GError* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp35_ = _ ("Unable to create cache directory %s: %s"); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp36_ = cache_dir; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp37_ = g_file_get_path (_tmp36_); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp38_ = _tmp37_; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp39_ = err; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp40_ = _tmp39_->message; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp41_ = g_strdup_printf (_tmp35_, _tmp38_, _tmp40_); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp42_ = _tmp41_; +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp42_); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp42_); +#line 64 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp38_); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 586 "AppDirs.c" + } + __finally434: +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (new_dir); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.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 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 61 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 605 "AppDirs.c" + } + } +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp43_ = old_dir; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp44_ = g_file_get_child (_tmp43_, "thumbs"); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp45_ = _tmp44_; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp46_ = g_file_get_path (_tmp45_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp47_ = _tmp46_; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp48_ = cache_dir; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp49_ = g_file_get_child (_tmp48_, "thumbs"); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp50_ = _tmp49_; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp51_ = g_file_get_path (_tmp50_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp52_ = _tmp51_; +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_rename (_tmp47_, _tmp52_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp52_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp50_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp47_); +#line 68 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp45_); +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp53_ = new_dir; +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp54_ = g_file_get_parent (_tmp53_); +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp55_ = _tmp54_; +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp56_ = g_file_query_exists (_tmp55_, NULL); +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp57_ = !_tmp56_; +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp55_); +#line 70 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp57_) { +#line 652 "AppDirs.c" + { + GFile* _tmp58_ = NULL; + GFile* _tmp59_ = NULL; + GFile* _tmp60_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp58_ = new_dir; +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp59_ = g_file_get_parent (_tmp58_); +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp60_ = _tmp59_; +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp60_, NULL, &_inner_error_); +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp60_); +#line 72 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 669 "AppDirs.c" + goto __catch435_g_error; + } + } + goto __finally435; + __catch435_g_error: + { + GError* err = NULL; + const gchar* _tmp61_ = NULL; + GFile* _tmp62_ = NULL; + GFile* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + GError* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp61_ = _ ("Unable to create data directory %s: %s"); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp62_ = new_dir; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp63_ = g_file_get_parent (_tmp62_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp64_ = _tmp63_; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp65_ = g_file_get_path (_tmp64_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp66_ = _tmp65_; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp67_ = err; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp68_ = _tmp67_->message; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp69_ = g_strdup_printf (_tmp61_, _tmp66_, _tmp68_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp70_ = _tmp69_; +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp70_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp70_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp66_); +#line 74 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp64_); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 721 "AppDirs.c" + } + __finally435: +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (new_dir); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.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 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 71 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 740 "AppDirs.c" + } + } +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp71_ = old_dir; +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp72_ = g_file_get_path (_tmp71_); +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp73_ = _tmp72_; +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp74_ = new_dir; +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp75_ = g_file_get_path (_tmp74_); +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp76_ = _tmp75_; +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_rename (_tmp73_, _tmp76_); +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp76_); +#line 78 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp73_); +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp77_ = new_dir; +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp78_ = g_file_get_path (_tmp77_); +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp79_ = _tmp78_; +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_chmod (_tmp79_, 0700); +#line 79 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp79_); +#line 81 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp80_ = mask; +#line 81 "/home/jens/Source/shotwell/src/AppDirs.vala" + umask (_tmp80_); +#line 36 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 36 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (new_dir); +#line 36 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (old_dir); +#line 36 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (user_plugin_dir); +#line 783 "AppDirs.c" +} + + +void app_dirs_set_data_dir (const gchar* user_data_dir) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + gchar* path = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (user_data_dir != NULL); +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = user_data_dir; +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + _vala_return_if_fail (!_tmp1_, "!is_string_empty(user_data_dir)"); +#line 86 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = app_dirs_data_dir; +#line 86 "/home/jens/Source/shotwell/src/AppDirs.vala" + _vala_assert (_tmp2_ == NULL, "data_dir == null"); +#line 89 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = user_data_dir; +#line 89 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = strip_pretty_path (_tmp3_); +#line 89 "/home/jens/Source/shotwell/src/AppDirs.vala" + path = _tmp4_; +#line 90 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = path; +#line 90 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_path_is_absolute (_tmp5_); +#line 90 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp6_) { +#line 823 "AppDirs.c" + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = app_dirs_get_home_dir (); +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = _tmp7_; +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = path; +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_file_get_child (_tmp8_, _tmp9_); +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_data_dir); +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_data_dir = _tmp10_; +#line 91 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp8_); +#line 842 "AppDirs.c" + } else { + const gchar* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = path; +#line 93 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = g_file_new_for_path (_tmp11_); +#line 93 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_data_dir); +#line 93 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_data_dir = _tmp12_; +#line 854 "AppDirs.c" + } +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = app_dirs_data_dir; +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = _tmp14_; +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_message ("AppDirs.vala:95: Setting private data directory to %s", _tmp15_); +#line 95 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp15_); +#line 85 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 868 "AppDirs.c" +} + + +void app_dirs_verify_data_dir (void) { + GFile* data_dir = NULL; + GFile* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_data_dir (); +#line 99 "/home/jens/Source/shotwell/src/AppDirs.vala" + data_dir = _tmp0_; +#line 880 "AppDirs.c" + { + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 101 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = data_dir; +#line 101 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_query_exists (_tmp1_, NULL); +#line 101 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp2_) { +#line 890 "AppDirs.c" + GFile* _tmp3_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = data_dir; +#line 102 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp3_, NULL, &_inner_error_); +#line 102 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 898 "AppDirs.c" + goto __catch436_g_error; + } + } + } + goto __finally436; + __catch436_g_error: + { + GError* err = NULL; + const gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _ ("Unable to create data directory %s: %s"); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = data_dir; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _tmp6_; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = err; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _tmp8_->message; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_strdup_printf (_tmp4_, _tmp7_, _tmp9_); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp11_); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp11_); +#line 104 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp7_); +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 943 "AppDirs.c" + } + __finally436: +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (data_dir); +#line 100 "/home/jens/Source/shotwell/src/AppDirs.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 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 100 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 956 "AppDirs.c" + } +#line 98 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (data_dir); +#line 960 "AppDirs.c" +} + + +void app_dirs_verify_cache_dir (void) { + GFile* cache_dir = NULL; + GFile* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_cache_dir (); +#line 110 "/home/jens/Source/shotwell/src/AppDirs.vala" + cache_dir = _tmp0_; +#line 972 "AppDirs.c" + { + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 112 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = cache_dir; +#line 112 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_query_exists (_tmp1_, NULL); +#line 112 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp2_) { +#line 982 "AppDirs.c" + GFile* _tmp3_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = cache_dir; +#line 113 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp3_, NULL, &_inner_error_); +#line 113 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 990 "AppDirs.c" + goto __catch437_g_error; + } + } + } + goto __finally437; + __catch437_g_error: + { + GError* err = NULL; + const gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _ ("Unable to create cache directory %s: %s"); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = cache_dir; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _tmp6_; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = err; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _tmp8_->message; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_strdup_printf (_tmp4_, _tmp7_, _tmp9_); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp11_); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp11_); +#line 115 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp7_); +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 1035 "AppDirs.c" + } + __finally437: +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 111 "/home/jens/Source/shotwell/src/AppDirs.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 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 111 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 1048 "AppDirs.c" + } +#line 109 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (cache_dir); +#line 1052 "AppDirs.c" +} + + +/** + * @brief Returns the build directory if not installed yet, or a path + * to where any helper applets we need will live if installed. + */ +GFile* app_dirs_get_libexec_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_libexec_dir; +#line 125 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp0_ == NULL) { +#line 1069 "AppDirs.c" + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = app_dirs_get_install_dir (); +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = _tmp1_; +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_ == NULL; +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp2_); +#line 126 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp3_) { +#line 1083 "AppDirs.c" + GFile* _tmp4_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = app_dirs_get_exec_dir (); +#line 128 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_libexec_dir); +#line 128 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_libexec_dir = _tmp4_; +#line 1091 "AppDirs.c" + } else { + GFile* _tmp5_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_new_for_path (RESOURCES_LIBEXECDIR); +#line 130 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_libexec_dir); +#line 130 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_libexec_dir = _tmp5_; +#line 1100 "AppDirs.c" + } + } +#line 134 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = app_dirs_libexec_dir; +#line 134 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 134 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp7_; +#line 134 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1111 "AppDirs.c" +} + + +GFile* app_dirs_get_install_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_exec_dir; +#line 139 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = get_sys_install_dir (_tmp0_); +#line 139 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 139 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1127 "AppDirs.c" +} + + +GFile* app_dirs_get_data_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = app_dirs_data_dir; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp1_ == NULL) { +#line 1139 "AppDirs.c" + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_get_user_data_dir (); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_get_child (_tmp4_, APP_DIRS_DEFAULT_DATA_DIR); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp0_); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = _tmp5_; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp4_); +#line 1158 "AppDirs.c" + } else { + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = app_dirs_data_dir; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp0_); +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = _tmp7_; +#line 1170 "AppDirs.c" + } +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp0_; +#line 143 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1176 "AppDirs.c" +} + + +GFile* app_dirs_get_import_dir (void) { + GFile* result = NULL; + gchar* path = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = config_facade_get_instance (); +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = configuration_facade_get_import_dir (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 149 "/home/jens/Source/shotwell/src/AppDirs.vala" + path = _tmp3_; +#line 150 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = path; +#line 150 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = is_string_empty (_tmp4_); +#line 150 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp5_) { +#line 1216 "AppDirs.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + const gchar* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = path; +#line 152 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = strip_pretty_path (_tmp6_); +#line 152 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 152 "/home/jens/Source/shotwell/src/AppDirs.vala" + path = _tmp7_; +#line 155 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = path; +#line 155 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = g_path_is_absolute (_tmp8_); +#line 155 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp9_) { +#line 1237 "AppDirs.c" + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = app_dirs_get_home_dir (); +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = path; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = g_file_get_child (_tmp11_, _tmp12_); +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = _tmp13_; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp11_); +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp14_; +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 156 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1261 "AppDirs.c" + } +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = path; +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = g_file_new_for_path (_tmp15_); +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp16_; +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 159 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1273 "AppDirs.c" + } +#line 163 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = g_get_user_special_dir (G_USER_DIRECTORY_PICTURES); +#line 163 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 163 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 163 "/home/jens/Source/shotwell/src/AppDirs.vala" + path = _tmp18_; +#line 164 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = path; +#line 164 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = is_string_empty (_tmp19_); +#line 164 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp20_) { +#line 1289 "AppDirs.c" + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = path; +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp22_ = g_file_new_for_path (_tmp21_); +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp22_; +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 165 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1302 "AppDirs.c" + } +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp23_ = app_dirs_get_home_dir (); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp24_ = _tmp23_; +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp25_ = _ ("Pictures"); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp26_ = g_file_get_child (_tmp24_, _tmp25_); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp27_ = _tmp26_; +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp24_); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp27_; +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (path); +#line 168 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1322 "AppDirs.c" +} + + +GFile* app_dirs_get_baked_import_dir (time_t tm) { + GFile* result = NULL; + gchar* pattern = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GDateTime* date = NULL; + time_t _tmp12_ = 0; + GDateTime* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = config_facade_get_instance (); +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = configuration_facade_get_directory_pattern (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 173 "/home/jens/Source/shotwell/src/AppDirs.vala" + pattern = _tmp3_; +#line 174 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = pattern; +#line 174 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = is_string_empty (_tmp4_); +#line 174 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp5_) { +#line 1371 "AppDirs.c" + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = config_facade_get_instance (); +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = _tmp6_; +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = configuration_facade_get_directory_pattern_custom (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (pattern); +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + pattern = _tmp8_; +#line 175 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp7_); +#line 1387 "AppDirs.c" + } +#line 176 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = pattern; +#line 176 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = is_string_empty (_tmp9_); +#line 176 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp10_) { +#line 1395 "AppDirs.c" + gchar* _tmp11_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = g_strdup ("%Y" G_DIR_SEPARATOR_S "%m" G_DIR_SEPARATOR_S "%d"); +#line 177 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (pattern); +#line 177 "/home/jens/Source/shotwell/src/AppDirs.vala" + pattern = _tmp11_; +#line 1403 "AppDirs.c" + } +#line 179 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = tm; +#line 179 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = g_date_time_new_from_unix_local ((gint64) _tmp12_); +#line 179 "/home/jens/Source/shotwell/src/AppDirs.vala" + date = _tmp13_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = app_dirs_get_import_dir (); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = _tmp14_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = g_file_get_path (_tmp15_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = _tmp16_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = g_strconcat (_tmp17_, G_DIR_SEPARATOR_S, NULL); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = _tmp18_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = pattern; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = g_date_time_format (date, _tmp20_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp22_ = _tmp21_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp23_ = g_strconcat (_tmp19_, _tmp22_, NULL); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp24_ = _tmp23_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp25_ = g_file_new_for_path (_tmp24_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp26_ = _tmp25_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp24_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp22_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp19_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp17_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp15_); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp26_; +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_date_time_unref0 (date); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (pattern); +#line 180 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1455 "AppDirs.c" +} + + +gboolean app_dirs_is_in_import_dir (GFile* file) { + gboolean result = FALSE; + GFile* import_dir = NULL; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 184 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 185 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_import_dir (); +#line 185 "/home/jens/Source/shotwell/src/AppDirs.vala" + import_dir = _tmp0_; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = file; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = import_dir; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_has_prefix (_tmp2_, _tmp3_); +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp4_) { +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = TRUE; +#line 1483 "AppDirs.c" + } else { + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = file; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = import_dir; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_equal (_tmp5_, _tmp6_); +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp7_; +#line 1496 "AppDirs.c" + } +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (import_dir); +#line 187 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1504 "AppDirs.c" +} + + +void app_dirs_set_import_dir (const gchar* path) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (path != NULL); +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = config_facade_get_instance (); +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = path; +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + configuration_facade_set_import_dir (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_); +#line 191 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 1524 "AppDirs.c" +} + + +GFile* app_dirs_get_exec_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 195 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_exec_dir; +#line 195 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 195 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 195 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1540 "AppDirs.c" +} + + +GFile* app_dirs_get_temp_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + GError * _inner_error_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_tmp_dir; +#line 199 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp0_ == NULL) { +#line 1554 "AppDirs.c" + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_get_tmp_dir (); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_strconcat (_tmp1_, "/shotwell-XXXXXX", NULL); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = mkdtemp (_tmp2_); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_new_for_path (_tmp4_); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (app_dirs_tmp_dir); +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_tmp_dir = _tmp5_; +#line 200 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp4_); +#line 1576 "AppDirs.c" + { + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 203 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = app_dirs_tmp_dir; +#line 203 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_query_exists (_tmp6_, NULL); +#line 203 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp7_) { +#line 1586 "AppDirs.c" + GFile* _tmp8_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = app_dirs_tmp_dir; +#line 204 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp8_, NULL, &_inner_error_); +#line 204 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1594 "AppDirs.c" + goto __catch438_g_error; + } + } + } + goto __finally438; + __catch438_g_error: + { + GError* err = NULL; + const gchar* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GError* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _ ("Unable to create temporary directory %s: %s"); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = app_dirs_tmp_dir; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = g_file_get_path (_tmp10_); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = _tmp11_; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = err; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = _tmp13_->message; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = g_strdup_printf (_tmp9_, _tmp12_, _tmp14_); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = _tmp15_; +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp16_); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp16_); +#line 206 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp12_); +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 1639 "AppDirs.c" + } + __finally438: +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 202 "/home/jens/Source/shotwell/src/AppDirs.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 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 202 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 1650 "AppDirs.c" + } + } +#line 211 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = app_dirs_tmp_dir; +#line 211 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 211 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp18_; +#line 211 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1661 "AppDirs.c" +} + + +GFile* app_dirs_get_data_subdir (const gchar* name, const gchar* subname) { + GFile* result = NULL; + GFile* subdir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 214 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_data_dir (); +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = name; +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_get_child (_tmp1_, _tmp2_); +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 215 "/home/jens/Source/shotwell/src/AppDirs.vala" + subdir = _tmp4_; +#line 216 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = subname; +#line 216 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp5_ != NULL) { +#line 1695 "AppDirs.c" + GFile* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = subdir; +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = subname; +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = g_file_get_child (_tmp6_, _tmp7_); +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (subdir); +#line 217 "/home/jens/Source/shotwell/src/AppDirs.vala" + subdir = _tmp8_; +#line 1709 "AppDirs.c" + } + { + GFile* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 220 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = subdir; +#line 220 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_file_query_exists (_tmp9_, NULL); +#line 220 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp10_) { +#line 1720 "AppDirs.c" + GFile* _tmp11_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = subdir; +#line 221 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp11_, NULL, &_inner_error_); +#line 221 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1728 "AppDirs.c" + goto __catch439_g_error; + } + } + } + goto __finally439; + __catch439_g_error: + { + GError* err = NULL; + const gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = _ ("Unable to create data subdirectory %s: %s"); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = subdir; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = _tmp14_; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = err; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = _tmp16_->message; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = g_strdup_printf (_tmp12_, _tmp15_, _tmp17_); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = _tmp18_; +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp19_); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp19_); +#line 223 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp15_); +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 1773 "AppDirs.c" + } + __finally439: +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (subdir); +#line 219 "/home/jens/Source/shotwell/src/AppDirs.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 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 219 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 1786 "AppDirs.c" + } +#line 227 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = subdir; +#line 227 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 1792 "AppDirs.c" +} + + +void app_dirs_ensure_writable (GFile* dir) { + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GError * _inner_error_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 231 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = dir; +#line 231 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_file_query_exists (_tmp0_, NULL); +#line 231 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp1_) { +#line 1808 "AppDirs.c" + { + GFileInfo* info = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + guint32 mode = 0U; + GFileInfo* _tmp4_ = NULL; + guint32 _tmp5_ = 0U; + gboolean _tmp6_ = FALSE; + GFile* _tmp7_ = NULL; + guint32 _tmp8_ = 0U; + gboolean _tmp9_ = FALSE; +#line 233 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = dir; +#line 233 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_query_info (_tmp2_, G_FILE_ATTRIBUTE_UNIX_MODE, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_); +#line 233 "/home/jens/Source/shotwell/src/AppDirs.vala" + info = _tmp3_; +#line 233 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1828 "AppDirs.c" + goto __catch440_g_error; + } +#line 234 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = info; +#line 234 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_info_get_attribute_uint32 (_tmp4_, G_FILE_ATTRIBUTE_UNIX_MODE); +#line 234 "/home/jens/Source/shotwell/src/AppDirs.vala" + mode = _tmp5_ | 0700; +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = dir; +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = mode; +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = g_file_set_attribute_uint32 (_tmp7_, G_FILE_ATTRIBUTE_UNIX_MODE, _tmp8_, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_); +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = _tmp9_; +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (info); +#line 1849 "AppDirs.c" + goto __catch440_g_error; + } +#line 235 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp6_) { +#line 1854 "AppDirs.c" + const gchar* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = _ ("Could not make directory %s writable"); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = dir; +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = _tmp12_; +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = g_strdup_printf (_tmp10_, _tmp13_); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = _tmp14_; +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp15_); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp15_); +#line 236 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp13_); +#line 1879 "AppDirs.c" + } +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (info); +#line 1883 "AppDirs.c" + } + goto __finally440; + __catch440_g_error: + { + GError* err = NULL; + const gchar* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GError* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = _ ("Could not make directory %s writable: %s"); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = dir; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = g_file_get_path (_tmp17_); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = _tmp18_; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = err; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = _tmp20_->message; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp22_ = g_strdup_printf (_tmp16_, _tmp19_, _tmp21_); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp23_ = _tmp22_; +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp23_); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp23_); +#line 239 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp19_); +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 1925 "AppDirs.c" + } + __finally440: +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 232 "/home/jens/Source/shotwell/src/AppDirs.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 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 232 "/home/jens/Source/shotwell/src/AppDirs.vala" + return; +#line 1936 "AppDirs.c" + } + } +} + + +GFile* app_dirs_get_cache_subdir (const gchar* name, const gchar* subname) { + GFile* result = NULL; + GFile* subdir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GFile* _tmp21_ = NULL; + GError * _inner_error_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_cache_dir (); +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = name; +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_get_child (_tmp1_, _tmp2_); +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = _tmp3_; +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 245 "/home/jens/Source/shotwell/src/AppDirs.vala" + subdir = _tmp4_; +#line 246 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = subdir; +#line 246 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_ensure_writable (_tmp5_); +#line 247 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = subname; +#line 247 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp6_ != NULL) { +#line 1978 "AppDirs.c" + GFile* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = subdir; +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = subname; +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = g_file_get_child (_tmp7_, _tmp8_); +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (subdir); +#line 248 "/home/jens/Source/shotwell/src/AppDirs.vala" + subdir = _tmp9_; +#line 1992 "AppDirs.c" + } + { + GFile* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 251 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = subdir; +#line 251 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = g_file_query_exists (_tmp10_, NULL); +#line 251 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp11_) { +#line 2003 "AppDirs.c" + GFile* _tmp12_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = subdir; +#line 252 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_file_make_directory_with_parents (_tmp12_, NULL, &_inner_error_); +#line 252 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2011 "AppDirs.c" + goto __catch441_g_error; + } + } + } + goto __finally441; + __catch441_g_error: + { + GError* err = NULL; + const gchar* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + err = _inner_error_; +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + _inner_error_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp13_ = _ ("Unable to create data subdirectory %s: %s"); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp14_ = subdir; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp15_ = g_file_get_path (_tmp14_); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp16_ = _tmp15_; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp17_ = err; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp18_ = _tmp17_->message; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp19_ = g_strdup_printf (_tmp13_, _tmp16_, _tmp18_); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp20_ = _tmp19_; +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_window_panic (_tmp20_); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp20_); +#line 254 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_free0 (_tmp16_); +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_error_free0 (err); +#line 2056 "AppDirs.c" + } + __finally441: +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (subdir); +#line 250 "/home/jens/Source/shotwell/src/AppDirs.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 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_clear_error (&_inner_error_); +#line 250 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 2069 "AppDirs.c" + } +#line 257 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp21_ = subdir; +#line 257 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_ensure_writable (_tmp21_); +#line 258 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = subdir; +#line 258 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2079 "AppDirs.c" +} + + +GFile* app_dirs_get_resources_dir (void) { + GFile* result = NULL; + GFile* install_dir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 262 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_install_dir (); +#line 262 "/home/jens/Source/shotwell/src/AppDirs.vala" + install_dir = _tmp0_; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = install_dir; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp2_ != NULL) { +#line 2097 "AppDirs.c" + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = install_dir; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_get_child (_tmp3_, "share"); +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = _tmp4_; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_file_get_child (_tmp5_, "shotwell"); +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp6_; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp5_); +#line 2116 "AppDirs.c" + } else { + GFile* _tmp7_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = app_dirs_get_exec_dir (); +#line 265 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 265 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp7_; +#line 2125 "AppDirs.c" + } +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (install_dir); +#line 264 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2133 "AppDirs.c" +} + + +GFile* app_dirs_get_lib_dir (void) { + GFile* result = NULL; + GFile* install_dir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 269 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_install_dir (); +#line 269 "/home/jens/Source/shotwell/src/AppDirs.vala" + install_dir = _tmp0_; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = install_dir; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp2_ != NULL) { +#line 2151 "AppDirs.c" + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = install_dir; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_get_child (_tmp3_, RESOURCES_LIB); +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = _tmp4_; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = g_file_get_child (_tmp5_, "shotwell"); +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp6_; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp5_); +#line 2170 "AppDirs.c" + } else { + GFile* _tmp7_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = app_dirs_get_exec_dir (); +#line 272 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 272 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp7_; +#line 2179 "AppDirs.c" + } +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp1_; +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (install_dir); +#line 271 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2187 "AppDirs.c" +} + + +GFile* app_dirs_get_system_plugins_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_lib_dir (); +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_get_child (_tmp1_, "plugins"); +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp3_; +#line 276 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2211 "AppDirs.c" +} + + +GFile* app_dirs_get_user_plugins_dir (void) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_data_dir (); +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_get_child (_tmp1_, "plugins"); +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp3_; +#line 280 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2235 "AppDirs.c" +} + + +GFile* app_dirs_get_log_file (void) { + GFile* result = NULL; + const gchar* _tmp0_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = g_getenv ("SHOTWELL_LOG_FILE"); +#line 284 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (_tmp0_ != NULL) { +#line 2246 "AppDirs.c" + const gchar* _tmp1_ = NULL; +#line 285 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = g_getenv ("SHOTWELL_LOG_FILE"); +#line 285 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (g_strcmp0 (_tmp1_, ":console:") == 0) { +#line 286 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = NULL; +#line 286 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2256 "AppDirs.c" + } else { + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_getenv ("SHOTWELL_LOG_FILE"); +#line 288 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 288 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp3_; +#line 288 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2268 "AppDirs.c" + } + } else { + const gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_get_user_cache_dir (); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = g_file_new_for_path (_tmp4_); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = _tmp5_; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_get_child (_tmp6_, "shotwell"); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = _tmp7_; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = g_file_get_child (_tmp8_, "shotwell.log"); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = _tmp9_; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp8_); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp6_); +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = _tmp10_; +#line 291 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2300 "AppDirs.c" + } +} + + +GFile* app_dirs_get_thumbnailer_bin (void) { + GFile* result = NULL; +#line 297 "/home/jens/Source/shotwell/src/AppDirs.vala" + static const char filename[] = "shotwell-video-thumbnailer"; +#line 2309 "AppDirs.c" + GFile* f = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_libexec_dir (); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_get_child (_tmp1_, "thumbnailer"); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_get_child (_tmp3_, filename); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = _tmp4_; +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp3_); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 298 "/home/jens/Source/shotwell/src/AppDirs.vala" + f = _tmp5_; +#line 299 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = f; +#line 299 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_query_exists (_tmp6_, NULL); +#line 299 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp7_) { +#line 2343 "AppDirs.c" + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = app_dirs_get_libexec_dir (); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _tmp8_; +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_file_get_child (_tmp9_, "shotwell"); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = g_file_get_child (_tmp11_, filename); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (f); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + f = _tmp12_; +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp11_); +#line 301 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp9_); +#line 2367 "AppDirs.c" + } +#line 303 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = f; +#line 303 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2373 "AppDirs.c" +} + + +GFile* app_dirs_get_settings_migrator_bin (void) { + GFile* result = NULL; +#line 307 "/home/jens/Source/shotwell/src/AppDirs.vala" + static const char filename[] = "shotwell-settings-migrator"; +#line 2381 "AppDirs.c" + GFile* f = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp0_ = app_dirs_get_libexec_dir (); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp1_ = _tmp0_; +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp2_ = g_file_get_child (_tmp1_, "settings-migrator"); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp3_ = _tmp2_; +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp4_ = g_file_get_child (_tmp3_, filename); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp5_ = _tmp4_; +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp3_); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp1_); +#line 308 "/home/jens/Source/shotwell/src/AppDirs.vala" + f = _tmp5_; +#line 309 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp6_ = f; +#line 309 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp7_ = g_file_query_exists (_tmp6_, NULL); +#line 309 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!_tmp7_) { +#line 2415 "AppDirs.c" + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp8_ = app_dirs_get_libexec_dir (); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp9_ = _tmp8_; +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp10_ = g_file_get_child (_tmp9_, "shotwell"); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp11_ = _tmp10_; +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _tmp12_ = g_file_get_child (_tmp11_, filename); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (f); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + f = _tmp12_; +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp11_); +#line 311 "/home/jens/Source/shotwell/src/AppDirs.vala" + _g_object_unref0 (_tmp9_); +#line 2439 "AppDirs.c" + } +#line 313 "/home/jens/Source/shotwell/src/AppDirs.vala" + result = f; +#line 313 "/home/jens/Source/shotwell/src/AppDirs.vala" + return result; +#line 2445 "AppDirs.c" +} + + +AppDirs* app_dirs_construct (GType object_type) { + AppDirs* self = NULL; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + self = (AppDirs*) g_type_create_instance (object_type); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return self; +#line 2455 "AppDirs.c" +} + + +AppDirs* app_dirs_new (void) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return app_dirs_construct (TYPE_APP_DIRS); +#line 2462 "AppDirs.c" +} + + +static void value_app_dirs_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = NULL; +#line 2469 "AppDirs.c" +} + + +static void value_app_dirs_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_unref (value->data[0].v_pointer); +#line 2478 "AppDirs.c" + } +} + + +static void value_app_dirs_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + dest_value->data[0].v_pointer = app_dirs_ref (src_value->data[0].v_pointer); +#line 2488 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + dest_value->data[0].v_pointer = NULL; +#line 2492 "AppDirs.c" + } +} + + +static gpointer value_app_dirs_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return value->data[0].v_pointer; +#line 2500 "AppDirs.c" +} + + +static gchar* value_app_dirs_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (collect_values[0].v_pointer) { +#line 2507 "AppDirs.c" + AppDirs* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2514 "AppDirs.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2518 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = app_dirs_ref (object); +#line 2522 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = NULL; +#line 2526 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 2530 "AppDirs.c" +} + + +static gchar* value_app_dirs_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + AppDirs** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2541 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + *object_p = NULL; +#line 2547 "AppDirs.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + *object_p = value->data[0].v_pointer; +#line 2551 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + *object_p = app_dirs_ref (value->data[0].v_pointer); +#line 2555 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return NULL; +#line 2559 "AppDirs.c" +} + + +GParamSpec* param_spec_app_dirs (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecAppDirs* spec; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_APP_DIRS), NULL); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return G_PARAM_SPEC (spec); +#line 2573 "AppDirs.c" +} + + +gpointer value_get_app_dirs (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APP_DIRS), NULL); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return value->data[0].v_pointer; +#line 2582 "AppDirs.c" +} + + +void value_set_app_dirs (GValue* value, gpointer v_object) { + AppDirs* old; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APP_DIRS)); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_APP_DIRS)); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_ref (value->data[0].v_pointer); +#line 2602 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = NULL; +#line 2606 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_unref (old); +#line 2612 "AppDirs.c" + } +} + + +void value_take_app_dirs (GValue* value, gpointer v_object) { + AppDirs* old; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APP_DIRS)); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_APP_DIRS)); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = v_object; +#line 2631 "AppDirs.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + value->data[0].v_pointer = NULL; +#line 2635 "AppDirs.c" + } +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_unref (old); +#line 2641 "AppDirs.c" + } +} + + +static void app_dirs_class_init (AppDirsClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + app_dirs_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + ((AppDirsClass *) klass)->finalize = app_dirs_finalize; +#line 2651 "AppDirs.c" +} + + +static void app_dirs_instance_init (AppDirs * self) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + self->ref_count = 1; +#line 2658 "AppDirs.c" +} + + +static void app_dirs_finalize (AppDirs* obj) { + AppDirs * self; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_APP_DIRS, AppDirs); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_signal_handlers_destroy (self); +#line 2668 "AppDirs.c" +} + + +GType app_dirs_get_type (void) { + static volatile gsize app_dirs_type_id__volatile = 0; + if (g_once_init_enter (&app_dirs_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_app_dirs_init, value_app_dirs_free_value, value_app_dirs_copy_value, value_app_dirs_peek_pointer, "p", value_app_dirs_collect_value, "p", value_app_dirs_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (AppDirsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) app_dirs_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AppDirs), 0, (GInstanceInitFunc) app_dirs_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType app_dirs_type_id; + app_dirs_type_id = g_type_register_fundamental (g_type_fundamental_next (), "AppDirs", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&app_dirs_type_id__volatile, app_dirs_type_id); + } + return app_dirs_type_id__volatile; +} + + +gpointer app_dirs_ref (gpointer instance) { + AppDirs* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + return instance; +#line 2693 "AppDirs.c" +} + + +void app_dirs_unref (gpointer instance) { + AppDirs* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + APP_DIRS_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/AppDirs.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2706 "AppDirs.c" + } +} + + + diff --git a/src/AppDirs.vala b/src/AppDirs.vala index ecd375d..94be26b 100644 --- a/src/AppDirs.vala +++ b/src/AppDirs.vala @@ -295,20 +295,20 @@ class AppDirs { public static File get_thumbnailer_bin() { const string filename = "shotwell-video-thumbnailer"; - File f = File.new_for_path(AppDirs.get_libexec_dir().get_path() + "/thumbnailer/" + filename); + File f = AppDirs.get_libexec_dir().get_child("thumbnailer").get_child (filename); if (!f.query_exists()) { // If we're running installed. - f = File.new_for_path(AppDirs.get_libexec_dir().get_path() + "/" + filename); + f = AppDirs.get_libexec_dir () .get_child ("shotwell").get_child (filename); } return f; } public static File get_settings_migrator_bin() { const string filename = "shotwell-settings-migrator"; - File f = File.new_for_path(AppDirs.get_libexec_dir().get_path() + "/settings-migrator/" + filename); + File f = AppDirs.get_libexec_dir().get_child ("settings-migrator").get_child (filename); if (!f.query_exists()) { // If we're running installed. - f = File.new_for_path(AppDirs.get_libexec_dir().get_path() + "/" + filename); + f = AppDirs.get_libexec_dir () .get_child ("shotwell").get_child (filename); } return f; } diff --git a/src/AppWindow.c b/src/AppWindow.c new file mode 100644 index 0000000..a707e4a --- /dev/null +++ b/src/AppWindow.c @@ -0,0 +1,6160 @@ +/* AppWindow.c generated by valac 0.32.1, the Vala compiler + * generated from AppWindow.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; +typedef struct _PageWindowPrivate PageWindowPrivate; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; +typedef struct _FullscreenWindowPrivate FullscreenWindowPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#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_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ()) +#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)) +#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) +#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE)) +#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE)) +#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) + +typedef struct _SinglePhotoPage SinglePhotoPage; +typedef struct _SinglePhotoPageClass SinglePhotoPageClass; + +#define TYPE_SLIDESHOW_PAGE (slideshow_page_get_type ()) +#define SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPage)) +#define SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDESHOW_PAGE, SlideshowPageClass)) +#define IS_SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDESHOW_PAGE)) +#define IS_SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDESHOW_PAGE)) +#define SLIDESHOW_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPageClass)) + +typedef struct _SlideshowPage SlideshowPage; +typedef struct _SlideshowPageClass SlideshowPageClass; +typedef struct _AppWindowPrivate AppWindowPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_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_DIRECT_WINDOW (direct_window_get_type ()) +#define DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_WINDOW, DirectWindow)) +#define DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_WINDOW, DirectWindowClass)) +#define IS_DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_WINDOW)) +#define IS_DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_WINDOW)) +#define DIRECT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_WINDOW, DirectWindowClass)) + +typedef struct _DirectWindow DirectWindow; +typedef struct _DirectWindowClass DirectWindowClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_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 _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) + +#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_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 _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _PageWindow { + GtkWindow parent_instance; + PageWindowPrivate * priv; + GtkUIManager* ui; +}; + +struct _PageWindowClass { + GtkWindowClass parent_class; + void (*switched_pages) (PageWindow* self, Page* old_page, Page* new_page); + void (*set_current_page) (PageWindow* self, Page* page); + void (*clear_current_page) (PageWindow* self); +}; + +struct _FullscreenWindow { + PageWindow parent_instance; + FullscreenWindowPrivate * priv; +}; + +struct _FullscreenWindowClass { + PageWindowClass parent_class; +}; + +struct _FullscreenWindowPrivate { + GtkOverlay* overlay; + GtkToolbar* toolbar; + GtkToolButton* close_button; + GtkToggleToolButton* pin_button; + gboolean is_toolbar_shown; + gboolean waiting_for_invoke; + time_t left_toolbar_time; + gboolean switched_to; + gboolean is_toolbar_dismissal_enabled; +}; + +struct _PageWindowPrivate { + Page* current_page; + gint busy_counter; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _AppWindow { + PageWindow parent_instance; + AppWindowPrivate * priv; + GtkActionGroup** common_action_groups; + gint common_action_groups_length1; + gboolean maximized; + Dimensions dimensions; + gint pos_x; + gint pos_y; +}; + +struct _AppWindowClass { + PageWindowClass parent_class; + void (*on_fullscreen) (AppWindow* self); + gchar* (*get_app_role) (AppWindow* self); + void (*on_quit) (AppWindow* self); + GtkActionGroup** (*create_common_action_groups) (AppWindow* self, int* result_length1); + void (*replace_common_placeholders) (AppWindow* self, GtkUIManager* ui); + void (*update_common_action_availability) (AppWindow* self, Page* old_page, Page* new_page); + void (*update_common_actions) (AppWindow* self, Page* page, gint selected_count, gint count); +}; + +struct _AppWindowPrivate { + GtkActionGroup* common_action_group; +}; + +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 _CommandDescriptionIface { + GTypeInterface parent_iface; + gchar* (*get_name) (CommandDescription* self); + gchar* (*get_explanation) (CommandDescription* self); +}; + + +static gpointer fullscreen_window_parent_class = NULL; +static gpointer page_window_parent_class = NULL; +static gpointer app_window_parent_class = NULL; +extern AppWindow* app_window_instance; +AppWindow* app_window_instance = NULL; +static FullscreenWindow* app_window_fullscreen_window; +static FullscreenWindow* app_window_fullscreen_window = NULL; +static CommandManager* app_window_command_manager; +static CommandManager* app_window_command_manager = NULL; + +GType page_window_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +#define FULLSCREEN_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_FULLSCREEN_WINDOW, FullscreenWindowPrivate)) +enum { + FULLSCREEN_WINDOW_DUMMY_PROPERTY +}; +#define FULLSCREEN_WINDOW_TOOLBAR_INVOCATION_MSEC 250 +#define FULLSCREEN_WINDOW_TOOLBAR_DISMISSAL_SEC 2 +#define FULLSCREEN_WINDOW_TOOLBAR_CHECK_DISMISSAL_MSEC 500 +FullscreenWindow* fullscreen_window_new (Page* page); +FullscreenWindow* fullscreen_window_construct (GType object_type, Page* page); +PageWindow* page_window_construct (GType object_type); +void page_window_set_current_page (PageWindow* self, Page* page); +GFile* resources_get_ui (const gchar* filename); +static GtkActionEntry* fullscreen_window_create_actions (FullscreenWindow* self, int* result_length1); +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +static void fullscreen_window_get_monitor_geometry (FullscreenWindow* self, GdkRectangle* result); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_pin_toolbar_state (ConfigurationFacade* self); +void fullscreen_window_update_toolbar_dismissal (FullscreenWindow* self); +static void _fullscreen_window_update_toolbar_dismissal_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +static void fullscreen_window_on_close (FullscreenWindow* self); +static void _fullscreen_window_on_close_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +GtkToolbar* page_get_toolbar (Page* self); +#define RESOURCES_TRANSIENT_WINDOW_OPACITY 0.90 +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType slideshow_page_get_type (void) G_GNUC_CONST; +static void fullscreen_window_hide_toolbar (FullscreenWindow* self); +static void _fullscreen_window_hide_toolbar_slideshow_page_hide_toolbar (SlideshowPage* _sender, gpointer self); +void page_set_cursor_hide_time (Page* self, gint hide_time); +void page_start_cursor_hiding (Page* self); +static void fullscreen_window_invoke_toolbar (FullscreenWindow* self); +void fullscreen_window_disable_toolbar_dismissal (FullscreenWindow* self); +static gboolean fullscreen_window_real_configure_event (GtkWidget* base, GdkEventConfigure* event); +Page* page_window_get_current_page (PageWindow* self); +void page_switched_to (Page* self); +#define RESOURCES_LEAVE_FULLSCREEN_LABEL _ ("Leave _Fullscreen") +#define TRANSLATABLE "translatable" +static void _fullscreen_window_on_close_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add158 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static gboolean fullscreen_window_real_key_press_event (GtkWidget* base, GdkEventKey* event); +void configuration_facade_set_pin_toolbar_state (ConfigurationFacade* self, gboolean state); +void app_window_end_fullscreen (AppWindow* self); +void fullscreen_window_close (FullscreenWindow* self); +static void fullscreen_window_real_destroy (GtkWidget* base); +void page_window_clear_current_page (PageWindow* self); +void page_stop_cursor_hiding (Page* self); +void page_switching_from (Page* self); +static gboolean fullscreen_window_real_delete_event (GtkWidget* base, GdkEventAny* event); +static gboolean fullscreen_window_real_motion_notify_event (GtkWidget* base, GdkEventMotion* event); +static gboolean fullscreen_window_is_pointer_in_toolbar (FullscreenWindow* self); +static gboolean fullscreen_window_on_check_toolbar_invocation (FullscreenWindow* self); +static gboolean _fullscreen_window_on_check_toolbar_invocation_gsource_func (gpointer self); +static gboolean fullscreen_window_on_check_toolbar_dismissal (FullscreenWindow* self); +static gboolean _fullscreen_window_on_check_toolbar_dismissal_gsource_func (gpointer self); +static void fullscreen_window_finalize (GObject* obj); +#define PAGE_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PAGE_WINDOW, PageWindowPrivate)) +enum { + PAGE_WINDOW_DUMMY_PROPERTY +}; +void page_window_switched_pages (PageWindow* self, Page* old_page, Page* new_page); +static void page_window_real_switched_pages (PageWindow* self, Page* old_page, Page* new_page); +GtkUIManager* page_window_get_ui_manager (PageWindow* self); +static void page_window_real_set_current_page (PageWindow* self, Page* page); +void page_clear_container (Page* self); +void page_set_container (Page* self, GtkWindow* container); +static void page_window_real_clear_current_page (PageWindow* self); +static gboolean page_window_real_key_press_event (GtkWidget* base, GdkEventKey* event); +gboolean page_notify_app_key_pressed (Page* self, GdkEventKey* event); +static gboolean page_window_real_key_release_event (GtkWidget* base, GdkEventKey* event); +gboolean page_notify_app_key_released (Page* self, GdkEventKey* event); +static gboolean page_window_real_focus_in_event (GtkWidget* base, GdkEventFocus* event); +gboolean page_notify_app_focus_in (Page* self, GdkEventFocus* event); +static gboolean page_window_real_focus_out_event (GtkWidget* base, GdkEventFocus* event); +gboolean page_notify_app_focus_out (Page* self, GdkEventFocus* event); +static gboolean page_window_real_configure_event (GtkWidget* base, GdkEventConfigure* event); +gboolean page_notify_configure_event (Page* self, GdkEventConfigure* event); +void page_window_set_busy_cursor (PageWindow* self); +void spin_event_loop (void); +void page_window_set_normal_cursor (PageWindow* self); +static void page_window_finalize (GObject* obj); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +#define APP_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_APP_WINDOW, AppWindowPrivate)) +enum { + APP_WINDOW_DUMMY_PROPERTY +}; +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; +#define APP_WINDOW_DND_ICON_SCALE 128 +AppWindow* app_window_construct (GType object_type); +#define RESOURCES_APP_TITLE "Shotwell" +GType library_window_get_type (void) G_GNUC_CONST; +void configuration_facade_get_library_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); +GType direct_window_get_type (void) G_GNUC_CONST; +void configuration_facade_get_direct_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); +#define COMMAND_MANAGER_DEFAULT_DEPTH 20 +CommandManager* command_manager_new (gint depth); +CommandManager* command_manager_construct (GType object_type, gint depth); +static void app_window_on_command_manager_altered (AppWindow* self); +static void _app_window_on_command_manager_altered_command_manager_altered (CommandManager* _sender, gboolean can_undo, gboolean can_redo, gpointer self); +GtkActionGroup** app_window_create_common_action_groups (AppWindow* self, int* result_length1); +gchar* build_dummy_ui_string (GtkActionGroup** groups, int groups_length1); +#define RESOURCES_CUSTOM_CSS "LibraryWindow * {\n" \ +" -GtkPaned-handle-size: 1;\n" \ +" }\n" \ +" LibraryWindow .pane-separator {\n" \ +" background-color: @borders;\n" \ +" }\n" \ +" SearchFilterToolbar {\n" \ +" border-width: 0 0 1px 0;\n" \ +" border-style: solid;\n" \ +" border-color: @borders;\n" \ +" }" +static GtkActionEntry* app_window_create_common_actions (AppWindow* self, int* result_length1); +#define RESOURCES_QUIT_LABEL _ ("_Quit") +void app_window_on_quit (AppWindow* self); +static void _app_window_on_quit_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add159 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ABOUT_LABEL _ ("_About") +void app_window_on_about (AppWindow* self); +static void _app_window_on_about_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add160 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_FULLSCREEN_LABEL _ ("Fulls_creen") +void app_window_on_fullscreen (AppWindow* self); +static void _app_window_on_fullscreen_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add161 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_HELP_LABEL _ ("_Help") +static void app_window_on_help_contents (AppWindow* self); +static void _app_window_on_help_contents_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add162 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void app_window_on_help_faq (AppWindow* self); +static void _app_window_on_help_faq_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add163 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void app_window_on_help_report_problem (AppWindow* self); +static void _app_window_on_help_report_problem_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add164 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_UNDO_MENU _ ("_Undo") +static void app_window_on_undo (AppWindow* self); +static void _app_window_on_undo_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add165 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_REDO_MENU _ ("_Redo") +static void app_window_on_redo (AppWindow* self); +static void _app_window_on_redo_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add166 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_JUMP_TO_FILE_MENU _ ("Show in File Mana_ger") +void app_window_on_jump_to_file (AppWindow* self); +static void _app_window_on_jump_to_file_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add167 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_SELECT_ALL_MENU _ ("Select _All") +static void app_window_on_select_all (AppWindow* self); +static void _app_window_on_select_all_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add168 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void app_window_on_select_none (AppWindow* self); +static void _app_window_on_select_none_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add169 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void app_window_real_on_fullscreen (AppWindow* self); +gboolean app_window_has_instance (void); +FullscreenWindow* app_window_get_fullscreen (void); +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user); +GFile* app_dirs_get_resources_dir (void); +void app_window_error_message (const gchar* message, GtkWindow* parent); +void app_window_error_message_with_title (const gchar* title, const gchar* message, GtkWindow* parent, gboolean should_escape); +gchar* build_alert_body_text (const gchar* primary_text, const gchar* secondary_text, gboolean should_escape); +gboolean app_window_negate_affirm_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* title, GtkWindow* parent); +GtkResponseType app_window_negate_affirm_cancel_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* title, GtkWindow* parent); +GtkResponseType app_window_affirm_cancel_question (const gchar* message, const gchar* affirmative, const gchar* title, GtkWindow* parent); +GtkResponseType app_window_negate_affirm_all_cancel_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* affirmative_all, const gchar* title, GtkWindow* parent); +GQuark database_error_quark (void); +void app_window_database_error (GError* err); +void app_window_panic (const gchar* msg); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +void application_panic (Application* self); +gchar* app_window_get_app_role (AppWindow* self); +static gchar* app_window_real_get_app_role (AppWindow* self); +#define RESOURCES_APP_VERSION _VERSION +#define RESOURCES_COPYRIGHT _ ("Copyright 2016 Software Freedom Conservancy Inc.") +#define RESOURCES_HOME_URL "https://wiki.gnome.org/Apps/Shotwell" +#define RESOURCES_LICENSE "\n" \ +"Shotwell is free software; you can redistribute it and/or modify it un" \ +"der the \n" \ +"terms of the GNU Lesser General Public License as published by the Fre" \ +"e \n" \ +"Software Foundation; either version 2.1 of the License, or (at your op" \ +"tion) \n" \ +"any later version.\n" \ +"\n" \ +"Shotwell is distributed in the hope that it will be useful, but WITHOU" \ +"T \n" \ +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " \ +"FITNESS\n" \ +"FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License f" \ +"or \n" \ +"more details.\n" \ +"\n" \ +"You should have received a copy of the GNU Lesser General Public Licen" \ +"se \n" \ +"along with Shotwell; if not, write to the Free Software Foundation, In" \ +"c., \n" \ +"51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n" +GdkPixbuf* resources_get_icon (const gchar* name, gint scale); +#define RESOURCES_ICON_ABOUT_LOGO "shotwell-street.jpg" +void resources_launch_help (GdkScreen* screen, const gchar* anchor, GError** error); +void app_window_show_uri (AppWindow* self, const gchar* url, GError** error); +#define RESOURCES_BUG_DB_URL "https://wiki.gnome.org/Apps/Shotwell/ReportingABug" +#define RESOURCES_FAQ_URL "https://wiki.gnome.org/Apps/Shotwell/FAQ" +static void app_window_real_on_quit (AppWindow* self); +void application_exit (Application* 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 view_collection_get_selected_count (ViewCollection* self); +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +DataView* view_collection_get_selected_at (ViewCollection* self, gint index); +DataSource* data_view_get_source (DataView* self); +void app_window_show_file_uri (AppWindow* self, GFile* file, GError** error); +GFile* media_source_get_master_file (MediaSource* self); +gchar* resources_jump_to_file_failed (GError* err); +static void app_window_real_destroy (GtkWidget* base); +gchar* get_nautilus_install_location (void); +void show_file_in_nautilus (const gchar* filename, GError** error); +void sys_show_uri (GdkScreen* screen, const gchar* uri, GError** error); +static GtkActionGroup** app_window_real_create_common_action_groups (AppWindow* self, int* result_length1); +static void _vala_array_add170 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value); +GtkActionGroup** app_window_get_common_action_groups (AppWindow* self, int* result_length1); +static GtkActionGroup** _vala_array_dup28 (GtkActionGroup** self, int length); +void app_window_replace_common_placeholders (AppWindow* self, GtkUIManager* ui); +static void app_window_real_replace_common_placeholders (AppWindow* self, GtkUIManager* ui); +void app_window_go_fullscreen (AppWindow* self, Page* page); +void page_switching_to_fullscreen (Page* self, FullscreenWindow* fsw); +void page_returning_from_fullscreen (Page* self, FullscreenWindow* fsw); +GtkAction* app_window_get_common_action (AppWindow* self, const gchar* name); +void app_window_set_common_action_sensitive (AppWindow* self, const gchar* name, gboolean sensitive); +void app_window_set_common_action_important (AppWindow* self, const gchar* name, gboolean important); +void app_window_set_common_action_visible (AppWindow* self, const gchar* name, gboolean visible); +static void app_window_real_switched_pages (PageWindow* base, Page* old_page, Page* new_page); +void app_window_update_common_action_availability (AppWindow* self, Page* old_page, Page* new_page); +static void app_window_on_update_common_actions (AppWindow* self); +static void _app_window_on_update_common_actions_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static void _app_window_on_update_common_actions_view_collection_selection_group_altered (ViewCollection* _sender, gpointer self); +static void _app_window_on_update_common_actions_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self); +void app_window_update_common_actions (AppWindow* self, Page* page, gint selected_count, gint count); +gint data_collection_get_count (DataCollection* self); +static void app_window_real_update_common_action_availability (AppWindow* self, Page* old_page, Page* new_page); +GType checkerboard_page_get_type (void) G_GNUC_CONST; +static void app_window_real_update_common_actions (AppWindow* self, Page* page, gint selected_count, gint count); +void app_window_decorate_undo_action (AppWindow* self); +void app_window_decorate_redo_action (AppWindow* self); +CommandManager* app_window_get_command_manager (void); +GType command_description_get_type (void) G_GNUC_CONST; +static void app_window_decorate_command_manager_action (AppWindow* self, const gchar* name, const gchar* prefix, const gchar* default_explanation, CommandDescription* desc); +gchar* command_description_get_name (CommandDescription* self); +gchar* command_description_get_explanation (CommandDescription* self); +CommandDescription* command_manager_get_undo_description (CommandManager* self); +CommandDescription* command_manager_get_redo_description (CommandManager* self); +gboolean command_manager_undo (CommandManager* self); +gboolean command_manager_redo (CommandManager* self); +void view_collection_select_all (ViewCollection* self); +void view_collection_unselect_all (ViewCollection* self); +static gboolean app_window_real_configure_event (GtkWidget* base, GdkEventConfigure* event); +static void app_window_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +extern const gchar* RESOURCES_AUTHORS[6]; + +static gpointer _g_object_ref0 (gpointer self) { +#line 38 "/home/jens/Source/shotwell/src/AppWindow.vala" + return self ? g_object_ref (self) : NULL; +#line 613 "AppWindow.c" +} + + +static void _fullscreen_window_update_toolbar_dismissal_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 57 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_update_toolbar_dismissal ((FullscreenWindow*) self); +#line 620 "AppWindow.c" +} + + +static void _fullscreen_window_on_close_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 61 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_on_close ((FullscreenWindow*) self); +#line 627 "AppWindow.c" +} + + +static void _fullscreen_window_hide_toolbar_slideshow_page_hide_toolbar (SlideshowPage* _sender, gpointer self) { +#line 72 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_hide_toolbar ((FullscreenWindow*) self); +#line 634 "AppWindow.c" +} + + +FullscreenWindow* fullscreen_window_construct (GType object_type, Page* page) { + FullscreenWindow * self = NULL; + Page* _tmp0_ = NULL; + GFile* ui_file = NULL; + GFile* _tmp1_ = NULL; + GtkActionGroup* action_group = NULL; + GtkActionGroup* _tmp8_ = NULL; + GtkActionGroup* _tmp9_ = NULL; + gint _tmp10_ = 0; + GtkActionEntry* _tmp11_ = NULL; + GtkActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkUIManager* _tmp13_ = NULL; + GtkActionGroup* _tmp14_ = NULL; + GtkUIManager* _tmp15_ = NULL; + GtkAccelGroup* accel_group = NULL; + GtkUIManager* _tmp16_ = NULL; + GtkAccelGroup* _tmp17_ = NULL; + GtkAccelGroup* _tmp18_ = NULL; + GtkAccelGroup* _tmp19_ = NULL; + AppWindow* _tmp21_ = NULL; + AppWindow* _tmp22_ = NULL; + GdkScreen* _tmp23_ = NULL; + GdkRectangle monitor = {0}; + GdkRectangle _tmp24_ = {0}; + GdkRectangle _tmp25_ = {0}; + gint _tmp26_ = 0; + GdkRectangle _tmp27_ = {0}; + gint _tmp28_ = 0; + ConfigFacade* _tmp29_ = NULL; + ConfigFacade* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; + GtkToggleToolButton* _tmp32_ = NULL; + GtkToggleToolButton* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + GtkToggleToolButton* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + GtkToggleToolButton* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + GtkToggleToolButton* _tmp39_ = NULL; + GtkToolButton* _tmp40_ = NULL; + GtkToolButton* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + GtkToolButton* _tmp43_ = NULL; + Page* _tmp44_ = NULL; + GtkToolbar* _tmp45_ = NULL; + GtkToolbar* _tmp46_ = NULL; + GtkToolbar* _tmp47_ = NULL; + GtkToolbar* _tmp48_ = NULL; + GtkToolbar* _tmp49_ = NULL; + GtkToolbar* _tmp50_ = NULL; + Page* _tmp51_ = NULL; + Page* _tmp55_ = NULL; + Page* _tmp56_ = NULL; + GtkToolbar* _tmp57_ = NULL; + GtkToolButton* _tmp58_ = NULL; + GtkOverlay* _tmp59_ = NULL; + GtkOverlay* _tmp60_ = NULL; + Page* _tmp61_ = NULL; + GtkOverlay* _tmp62_ = NULL; + GtkToolbar* _tmp63_ = NULL; + GdkRectangle _tmp64_ = {0}; + gint _tmp65_ = 0; + GdkRectangle _tmp66_ = {0}; + gint _tmp67_ = 0; + GError * _inner_error_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_PAGE (page), NULL); +#line 22 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = (FullscreenWindow*) page_window_construct (object_type); +#line 23 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = page; +#line 23 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_window_set_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow), _tmp0_); +#line 25 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = resources_get_ui ("fullscreen.ui"); +#line 25 "/home/jens/Source/shotwell/src/AppWindow.vala" + ui_file = _tmp1_; +#line 716 "AppWindow.c" + { + GtkUIManager* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 28 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = g_file_get_path (ui_file); +#line 28 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 28 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_ui_manager_add_ui_from_file (_tmp2_, _tmp4_, &_inner_error_); +#line 28 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp4_); +#line 28 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 733 "AppWindow.c" + goto __catch211_g_error; + } + } + goto __finally211; + __catch211_g_error: + { + GError* err = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/AppWindow.vala" + err = _inner_error_; +#line 27 "/home/jens/Source/shotwell/src/AppWindow.vala" + _inner_error_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = g_file_get_path (ui_file); +#line 30 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = _tmp5_; +#line 30 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = err->message; +#line 30 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_error ("AppWindow.vala:30: Error loading UI file %s: %s", _tmp6_, _tmp7_); +#line 30 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp6_); +#line 27 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_error_free0 (err); +#line 760 "AppWindow.c" + } + __finally211: +#line 27 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (ui_file); +#line 27 "/home/jens/Source/shotwell/src/AppWindow.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 27 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_clear_error (&_inner_error_); +#line 27 "/home/jens/Source/shotwell/src/AppWindow.vala" + return NULL; +#line 773 "AppWindow.c" + } +#line 33 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = gtk_action_group_new ("FullscreenActionGroup"); +#line 33 "/home/jens/Source/shotwell/src/AppWindow.vala" + action_group = _tmp8_; +#line 34 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = action_group; +#line 34 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = fullscreen_window_create_actions (self, &_tmp10_); +#line 34 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = _tmp11_; +#line 34 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12__length1 = _tmp10_; +#line 34 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_group_add_actions (_tmp9_, _tmp12_, _tmp10_, self); +#line 34 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = (g_free (_tmp12_), NULL); +#line 35 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 35 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = action_group; +#line 35 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_ui_manager_insert_action_group (_tmp13_, _tmp14_, 0); +#line 36 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 36 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_ui_manager_ensure_update (_tmp15_); +#line 38 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 38 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = gtk_ui_manager_get_accel_group (_tmp16_); +#line 38 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 38 "/home/jens/Source/shotwell/src/AppWindow.vala" + accel_group = _tmp18_; +#line 39 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp19_ = accel_group; +#line 39 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp19_ != NULL) { +#line 813 "AppWindow.c" + GtkAccelGroup* _tmp20_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp20_ = accel_group; +#line 40 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_add_accel_group (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp20_); +#line 819 "AppWindow.c" + } +#line 42 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp21_ = app_window_get_instance (); +#line 42 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_ = _tmp21_; +#line 42 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp23_ = gtk_window_get_screen (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_window_get_type (), GtkWindow)); +#line 42 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_screen (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp23_); +#line 42 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp22_); +#line 45 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_get_monitor_geometry (self, &_tmp24_); +#line 45 "/home/jens/Source/shotwell/src/AppWindow.vala" + monitor = _tmp24_; +#line 46 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_ = monitor; +#line 46 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp26_ = _tmp25_.x; +#line 46 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp27_ = monitor; +#line 46 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_ = _tmp27_.y; +#line 46 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_move (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp26_, _tmp28_); +#line 48 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), (guint) 0); +#line 51 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp29_ = config_facade_get_instance (); +#line 51 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp30_ = _tmp29_; +#line 51 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_ = configuration_facade_get_pin_toolbar_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 51 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->is_toolbar_dismissal_enabled = _tmp31_; +#line 51 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp30_); +#line 53 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp32_ = self->priv->pin_button; +#line 53 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_tool_button_set_icon_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_tool_button_get_type (), GtkToolButton), "pin-toolbar"); +#line 54 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp33_ = self->priv->pin_button; +#line 54 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_ = _ ("Pin Toolbar"); +#line 54 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_tool_button_get_type (), GtkToolButton), _tmp34_); +#line 55 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp35_ = self->priv->pin_button; +#line 55 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp36_ = _ ("Pin the toolbar open"); +#line 55 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_tool_item_get_type (), GtkToolItem), _tmp36_); +#line 56 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp37_ = self->priv->pin_button; +#line 56 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp38_ = self->priv->is_toolbar_dismissal_enabled; +#line 56 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_toggle_tool_button_set_active (_tmp37_, !_tmp38_); +#line 57 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp39_ = self->priv->pin_button; +#line 57 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_tool_button_get_type (), GtkToolButton), "clicked", (GCallback) _fullscreen_window_update_toolbar_dismissal_gtk_tool_button_clicked, self, 0); +#line 59 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp40_ = self->priv->close_button; +#line 59 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_tool_button_set_icon_name (_tmp40_, "view-restore"); +#line 60 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp41_ = self->priv->close_button; +#line 60 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp42_ = _ ("Leave fullscreen"); +#line 60 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_tool_item_get_type (), GtkToolItem), _tmp42_); +#line 61 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp43_ = self->priv->close_button; +#line 61 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_connect_object (_tmp43_, "clicked", (GCallback) _fullscreen_window_on_close_gtk_tool_button_clicked, self, 0); +#line 63 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp44_ = page; +#line 63 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp45_ = page_get_toolbar (_tmp44_); +#line 63 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->toolbar); +#line 63 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->toolbar = _tmp45_; +#line 64 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp46_ = self->priv->toolbar; +#line 64 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_toolbar_set_show_arrow (_tmp46_, FALSE); +#line 65 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp47_ = self->priv->toolbar; +#line 65 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_set_valign (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_END); +#line 66 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp48_ = self->priv->toolbar; +#line 66 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_set_halign (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_CENTER); +#line 67 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp49_ = self->priv->toolbar; +#line 67 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_widget_get_type (), GtkWidget), "expand", FALSE, NULL); +#line 68 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp50_ = self->priv->toolbar; +#line 68 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_set_opacity (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_widget_get_type (), GtkWidget), RESOURCES_TRANSIENT_WINDOW_OPACITY); +#line 70 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp51_ = page; +#line 70 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp51_, TYPE_SLIDESHOW_PAGE)) { +#line 929 "AppWindow.c" + Page* _tmp52_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp52_ = page; +#line 72 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_SLIDESHOW_PAGE, SlideshowPage), "hide-toolbar", (GCallback) _fullscreen_window_hide_toolbar_slideshow_page_hide_toolbar, self, 0); +#line 935 "AppWindow.c" + } else { + GtkToolbar* _tmp53_ = NULL; + GtkToggleToolButton* _tmp54_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp53_ = self->priv->toolbar; +#line 75 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp54_ = self->priv->pin_button; +#line 75 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_toolbar_insert (_tmp53_, G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 945 "AppWindow.c" + } +#line 78 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp55_ = page; +#line 78 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_set_cursor_hide_time (_tmp55_, FULLSCREEN_WINDOW_TOOLBAR_DISMISSAL_SEC * 1000); +#line 79 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp56_ = page; +#line 79 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_start_cursor_hiding (_tmp56_); +#line 81 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp57_ = self->priv->toolbar; +#line 81 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp58_ = self->priv->close_button; +#line 81 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_toolbar_insert (_tmp57_, G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 83 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp59_ = self->priv->overlay; +#line 83 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, gtk_widget_get_type (), GtkWidget)); +#line 84 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp60_ = self->priv->overlay; +#line 84 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp61_ = page; +#line 84 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_widget_get_type (), GtkWidget)); +#line 85 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp62_ = self->priv->overlay; +#line 85 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp63_ = self->priv->toolbar; +#line 85 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_overlay_add_overlay (_tmp62_, G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, gtk_widget_get_type (), GtkWidget)); +#line 90 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp64_ = monitor; +#line 90 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp65_ = _tmp64_.width; +#line 90 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp66_ = monitor; +#line 90 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp67_ = _tmp66_.height; +#line 90 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_default_size (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp65_, _tmp67_); +#line 93 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 94 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 97 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_add_events (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), (gint) GDK_POINTER_MOTION_MASK); +#line 100 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_invoke_toolbar (self); +#line 22 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (accel_group); +#line 22 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (action_group); +#line 22 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (ui_file); +#line 22 "/home/jens/Source/shotwell/src/AppWindow.vala" + return self; +#line 1003 "AppWindow.c" +} + + +FullscreenWindow* fullscreen_window_new (Page* page) { +#line 22 "/home/jens/Source/shotwell/src/AppWindow.vala" + return fullscreen_window_construct (TYPE_FULLSCREEN_WINDOW, page); +#line 1010 "AppWindow.c" +} + + +void fullscreen_window_disable_toolbar_dismissal (FullscreenWindow* self) { +#line 103 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (self)); +#line 104 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->is_toolbar_dismissal_enabled = FALSE; +#line 1019 "AppWindow.c" +} + + +void fullscreen_window_update_toolbar_dismissal (FullscreenWindow* self) { + GtkToggleToolButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 107 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (self)); +#line 108 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->pin_button; +#line 108 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = gtk_toggle_tool_button_get_active (_tmp0_); +#line 108 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->is_toolbar_dismissal_enabled = !_tmp1_; +#line 1034 "AppWindow.c" +} + + +static void fullscreen_window_get_monitor_geometry (FullscreenWindow* self, GdkRectangle* result) { + GdkRectangle monitor = {0}; + GdkScreen* _tmp0_ = NULL; + GdkScreen* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + GdkWindow* _tmp4_ = NULL; + gint _tmp5_ = 0; + GdkRectangle _tmp6_ = {0}; +#line 111 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (self)); +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = gtk_window_get_screen (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = gtk_window_get_screen (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = app_window_get_instance (); +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp2_; +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = gdk_screen_get_monitor_at_window (_tmp1_, _tmp4_); +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + gdk_screen_get_monitor_geometry (_tmp0_, _tmp5_, &_tmp6_); +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + monitor = _tmp6_; +#line 114 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp3_); +#line 117 "/home/jens/Source/shotwell/src/AppWindow.vala" + *result = monitor; +#line 117 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 1071 "AppWindow.c" +} + + +static gboolean fullscreen_window_real_configure_event (GtkWidget* base, GdkEventConfigure* event) { + FullscreenWindow * self; + gboolean result = FALSE; + gboolean _result_ = FALSE; + GdkEventConfigure* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 120 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 120 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 121 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = event; +#line 121 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = GTK_WIDGET_CLASS (fullscreen_window_parent_class)->configure_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow), gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 121 "/home/jens/Source/shotwell/src/AppWindow.vala" + _result_ = _tmp1_; +#line 123 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->priv->switched_to; +#line 123 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (!_tmp2_) { +#line 1096 "AppWindow.c" + Page* _tmp3_ = NULL; + Page* _tmp4_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 124 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 124 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_switched_to (_tmp4_); +#line 124 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp4_); +#line 125 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->switched_to = TRUE; +#line 1109 "AppWindow.c" + } +#line 128 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _result_; +#line 128 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1115 "AppWindow.c" +} + + +static void _fullscreen_window_on_close_gtk_action_callback (GtkAction* action, gpointer self) { +#line 134 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_on_close ((FullscreenWindow*) self); +#line 1122 "AppWindow.c" +} + + +static void _vala_array_add158 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 138 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 138 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 138 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1133 "AppWindow.c" + } +#line 138 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 1137 "AppWindow.c" +} + + +static GtkActionEntry* fullscreen_window_create_actions (FullscreenWindow* self, int* result_length1) { + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + GtkActionEntry* _tmp0_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry leave_fullscreen = {0}; + GtkActionEntry _tmp1_ = {0}; + GtkActionEntry* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + GtkActionEntry _tmp3_ = {0}; + GtkActionEntry* _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 131 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_FULLSCREEN_WINDOW (self), NULL); +#line 132 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = g_new0 (GtkActionEntry, 0); +#line 132 "/home/jens/Source/shotwell/src/AppWindow.vala" + actions = _tmp0_; +#line 132 "/home/jens/Source/shotwell/src/AppWindow.vala" + actions_length1 = 0; +#line 132 "/home/jens/Source/shotwell/src/AppWindow.vala" + _actions_size_ = actions_length1; +#line 134 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.name = "LeaveFullscreen"; +#line 134 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.stock_id = RESOURCES_LEAVE_FULLSCREEN_LABEL; +#line 134 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.label = TRANSLATABLE; +#line 134 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.accelerator = "F11"; +#line 134 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.tooltip = TRANSLATABLE; +#line 134 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.callback = (GCallback) _fullscreen_window_on_close_gtk_action_callback; +#line 134 "/home/jens/Source/shotwell/src/AppWindow.vala" + leave_fullscreen = _tmp1_; +#line 136 "/home/jens/Source/shotwell/src/AppWindow.vala" + leave_fullscreen.label = RESOURCES_LEAVE_FULLSCREEN_LABEL; +#line 137 "/home/jens/Source/shotwell/src/AppWindow.vala" + leave_fullscreen.tooltip = RESOURCES_LEAVE_FULLSCREEN_LABEL; +#line 138 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = actions; +#line 138 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2__length1 = actions_length1; +#line 138 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = leave_fullscreen; +#line 138 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add158 (&actions, &actions_length1, &_actions_size_, &_tmp3_); +#line 140 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = actions; +#line 140 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4__length1 = actions_length1; +#line 140 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (result_length1) { +#line 140 "/home/jens/Source/shotwell/src/AppWindow.vala" + *result_length1 = _tmp4__length1; +#line 1198 "AppWindow.c" + } +#line 140 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp4_; +#line 140 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1204 "AppWindow.c" +} + + +static gboolean fullscreen_window_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + FullscreenWindow * self; + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + AppWindow* _tmp6_ = NULL; + AppWindow* _tmp7_ = NULL; + GdkEventKey* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 143 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 143 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 145 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = event; +#line 145 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_->keyval; +#line 145 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 145 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (g_strcmp0 (_tmp2_, "Escape") == 0) { +#line 146 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_on_close (self); +#line 148 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 148 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1238 "AppWindow.c" + } +#line 152 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (GTK_WIDGET_CLASS (fullscreen_window_parent_class)->key_press_event != NULL) { +#line 1242 "AppWindow.c" + GdkEventKey* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 152 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = event; +#line 152 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = GTK_WIDGET_CLASS (fullscreen_window_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow), gtk_widget_get_type (), GtkWidget), _tmp4_); +#line 152 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp5_; +#line 1251 "AppWindow.c" + } else { +#line 152 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = FALSE; +#line 1255 "AppWindow.c" + } +#line 152 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp3_) { +#line 153 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 153 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1263 "AppWindow.c" + } +#line 156 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = app_window_get_instance (); +#line 156 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = _tmp6_; +#line 156 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = event; +#line 156 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), "key-press-event", _tmp8_, &_tmp9_); +#line 156 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp9_; +#line 156 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp7_); +#line 156 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp10_; +#line 156 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1281 "AppWindow.c" +} + + +static void fullscreen_window_on_close (FullscreenWindow* self) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + AppWindow* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (self)); +#line 160 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = config_facade_get_instance (); +#line 160 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_; +#line 160 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->priv->is_toolbar_dismissal_enabled; +#line 160 "/home/jens/Source/shotwell/src/AppWindow.vala" + configuration_facade_set_pin_toolbar_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_); +#line 160 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp1_); +#line 161 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_hide_toolbar (self); +#line 163 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = app_window_get_instance (); +#line 163 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 163 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_end_fullscreen (_tmp4_); +#line 163 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp4_); +#line 1313 "AppWindow.c" +} + + +void fullscreen_window_close (FullscreenWindow* self) { +#line 166 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (self)); +#line 167 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_on_close (self); +#line 1322 "AppWindow.c" +} + + +static void fullscreen_window_real_destroy (GtkWidget* base) { + FullscreenWindow * self; + Page* page = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 171 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 171 "/home/jens/Source/shotwell/src/AppWindow.vala" + page = _tmp0_; +#line 172 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_window_clear_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 174 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = page; +#line 174 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 1343 "AppWindow.c" + Page* _tmp2_ = NULL; + Page* _tmp3_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = page; +#line 175 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_stop_cursor_hiding (_tmp2_); +#line 176 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = page; +#line 176 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_switching_from (_tmp3_); +#line 1354 "AppWindow.c" + } +#line 179 "/home/jens/Source/shotwell/src/AppWindow.vala" + GTK_WIDGET_CLASS (fullscreen_window_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow), gtk_widget_get_type (), GtkWidget)); +#line 170 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (page); +#line 1360 "AppWindow.c" +} + + +static gboolean fullscreen_window_real_delete_event (GtkWidget* base, GdkEventAny* event) { + FullscreenWindow * self; + gboolean result = FALSE; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 182 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 183 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_on_close (self); +#line 184 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_get_instance (); +#line 184 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_; +#line 184 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 184 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp1_); +#line 186 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 186 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1387 "AppWindow.c" +} + + +static gboolean _fullscreen_window_on_check_toolbar_invocation_gsource_func (gpointer self) { + gboolean result; + result = fullscreen_window_on_check_toolbar_invocation ((FullscreenWindow*) self); +#line 195 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1396 "AppWindow.c" +} + + +static gboolean fullscreen_window_real_motion_notify_event (GtkWidget* base, GdkEventMotion* event) { + FullscreenWindow * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 189 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 189 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 190 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->is_toolbar_shown; +#line 190 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (!_tmp0_) { +#line 1413 "AppWindow.c" + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 194 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->priv->waiting_for_invoke; +#line 194 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (!_tmp2_) { +#line 1420 "AppWindow.c" + gboolean _tmp3_ = FALSE; +#line 194 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = fullscreen_window_is_pointer_in_toolbar (self); +#line 194 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp3_; +#line 1426 "AppWindow.c" + } else { +#line 194 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = FALSE; +#line 1430 "AppWindow.c" + } +#line 194 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_) { +#line 195 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) FULLSCREEN_WINDOW_TOOLBAR_INVOCATION_MSEC, _fullscreen_window_on_check_toolbar_invocation_gsource_func, g_object_ref (self), g_object_unref); +#line 196 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->waiting_for_invoke = TRUE; +#line 1438 "AppWindow.c" + } + } +#line 200 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (GTK_WIDGET_CLASS (fullscreen_window_parent_class)->motion_notify_event != NULL) { +#line 1443 "AppWindow.c" + GdkEventMotion* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 200 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = event; +#line 200 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = GTK_WIDGET_CLASS (fullscreen_window_parent_class)->motion_notify_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow), gtk_widget_get_type (), GtkWidget), _tmp5_); +#line 200 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp6_; +#line 1452 "AppWindow.c" + } else { +#line 200 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = FALSE; +#line 1456 "AppWindow.c" + } +#line 200 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp4_; +#line 200 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1462 "AppWindow.c" +} + + +static gboolean fullscreen_window_is_pointer_in_toolbar (FullscreenWindow* self) { + gboolean result = FALSE; + GdkDeviceManager* devmgr = NULL; + GdkDisplay* _tmp0_ = NULL; + GdkDeviceManager* _tmp1_ = NULL; + GdkDeviceManager* _tmp2_ = NULL; + GdkDeviceManager* _tmp3_ = NULL; + gint py = 0; + GdkDeviceManager* _tmp4_ = NULL; + GdkDevice* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint wy = 0; + GtkToolbar* _tmp7_ = NULL; + GdkWindow* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 203 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_FULLSCREEN_WINDOW (self), FALSE); +#line 204 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = gtk_widget_get_display (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 204 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = gdk_display_get_device_manager (_tmp0_); +#line 204 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 204 "/home/jens/Source/shotwell/src/AppWindow.vala" + devmgr = _tmp2_; +#line 205 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = devmgr; +#line 205 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp3_ == NULL) { +#line 206 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_debug ("AppWindow.vala:206: No device manager for display"); +#line 208 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = FALSE; +#line 208 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (devmgr); +#line 208 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1505 "AppWindow.c" + } +#line 212 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = devmgr; +#line 212 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = gdk_device_manager_get_client_pointer (_tmp4_); +#line 212 "/home/jens/Source/shotwell/src/AppWindow.vala" + gdk_device_get_position (_tmp5_, NULL, NULL, &_tmp6_); +#line 212 "/home/jens/Source/shotwell/src/AppWindow.vala" + py = _tmp6_; +#line 215 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = self->priv->toolbar; +#line 215 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 215 "/home/jens/Source/shotwell/src/AppWindow.vala" + gdk_window_get_geometry (_tmp8_, NULL, &_tmp9_, NULL, NULL); +#line 215 "/home/jens/Source/shotwell/src/AppWindow.vala" + wy = _tmp9_; +#line 217 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = py; +#line 217 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = wy; +#line 217 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp10_ >= _tmp11_; +#line 217 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (devmgr); +#line 217 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1533 "AppWindow.c" +} + + +static gboolean fullscreen_window_on_check_toolbar_invocation (FullscreenWindow* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 220 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_FULLSCREEN_WINDOW (self), FALSE); +#line 221 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->waiting_for_invoke = FALSE; +#line 223 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->is_toolbar_shown; +#line 223 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_) { +#line 224 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = FALSE; +#line 224 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1553 "AppWindow.c" + } +#line 226 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = fullscreen_window_is_pointer_in_toolbar (self); +#line 226 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (!_tmp1_) { +#line 227 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = FALSE; +#line 227 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1563 "AppWindow.c" + } +#line 229 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_invoke_toolbar (self); +#line 231 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = FALSE; +#line 231 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1571 "AppWindow.c" +} + + +static gboolean _fullscreen_window_on_check_toolbar_dismissal_gsource_func (gpointer self) { + gboolean result; + result = fullscreen_window_on_check_toolbar_dismissal ((FullscreenWindow*) self); +#line 239 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1580 "AppWindow.c" +} + + +static void fullscreen_window_invoke_toolbar (FullscreenWindow* self) { + GtkToolbar* _tmp0_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (self)); +#line 235 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->toolbar; +#line 235 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 237 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->is_toolbar_shown = TRUE; +#line 239 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) FULLSCREEN_WINDOW_TOOLBAR_CHECK_DISMISSAL_MSEC, _fullscreen_window_on_check_toolbar_dismissal_gsource_func, g_object_ref (self), g_object_unref); +#line 1596 "AppWindow.c" +} + + +static gboolean fullscreen_window_on_check_toolbar_dismissal (FullscreenWindow* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + time_t _tmp3_ = 0; + time_t now = 0; + time_t _tmp5_ = 0; + time_t _tmp6_ = 0; + time_t _tmp7_ = 0; + time_t _tmp8_ = 0; + time_t _tmp9_ = 0; +#line 242 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_FULLSCREEN_WINDOW (self), FALSE); +#line 243 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->is_toolbar_shown; +#line 243 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (!_tmp0_) { +#line 244 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = FALSE; +#line 244 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1622 "AppWindow.c" + } +#line 247 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->priv->is_toolbar_dismissal_enabled; +#line 247 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (!_tmp1_) { +#line 248 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 248 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1632 "AppWindow.c" + } +#line 251 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = fullscreen_window_is_pointer_in_toolbar (self); +#line 251 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_) { +#line 252 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->left_toolbar_time = (time_t) 0; +#line 254 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 254 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1644 "AppWindow.c" + } +#line 258 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = self->priv->left_toolbar_time; +#line 258 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp3_ == ((time_t) 0)) { +#line 1650 "AppWindow.c" + time_t _tmp4_ = 0; +#line 259 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = time (NULL); +#line 259 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->left_toolbar_time = _tmp4_; +#line 261 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 261 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1660 "AppWindow.c" + } +#line 265 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = time (NULL); +#line 265 "/home/jens/Source/shotwell/src/AppWindow.vala" + now = _tmp5_; +#line 266 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = now; +#line 266 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = self->priv->left_toolbar_time; +#line 266 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_assert (_tmp6_ >= _tmp7_, "now >= left_toolbar_time"); +#line 268 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = now; +#line 268 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = self->priv->left_toolbar_time; +#line 268 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((_tmp8_ - _tmp9_) < ((time_t) FULLSCREEN_WINDOW_TOOLBAR_DISMISSAL_SEC)) { +#line 269 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 269 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1682 "AppWindow.c" + } +#line 271 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_hide_toolbar (self); +#line 273 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = FALSE; +#line 273 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1690 "AppWindow.c" +} + + +static void fullscreen_window_hide_toolbar (FullscreenWindow* self) { + GtkToolbar* _tmp0_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (self)); +#line 277 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->toolbar; +#line 277 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 278 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->is_toolbar_shown = FALSE; +#line 1704 "AppWindow.c" +} + + +static void fullscreen_window_class_init (FullscreenWindowClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen_window_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_type_class_add_private (klass, sizeof (FullscreenWindowPrivate)); +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->configure_event = fullscreen_window_real_configure_event; +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->key_press_event = fullscreen_window_real_key_press_event; +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->destroy = fullscreen_window_real_destroy; +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->delete_event = fullscreen_window_real_delete_event; +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->motion_notify_event = fullscreen_window_real_motion_notify_event; +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + G_OBJECT_CLASS (klass)->finalize = fullscreen_window_finalize; +#line 1725 "AppWindow.c" +} + + +static void fullscreen_window_instance_init (FullscreenWindow * self) { + GtkOverlay* _tmp0_ = NULL; + GtkToolButton* _tmp1_ = NULL; + GtkToggleToolButton* _tmp2_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv = FULLSCREEN_WINDOW_GET_PRIVATE (self); +#line 12 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = (GtkOverlay*) gtk_overlay_new (); +#line 12 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp0_); +#line 12 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->overlay = _tmp0_; +#line 13 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->toolbar = NULL; +#line 14 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL); +#line 14 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp1_); +#line 14 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->close_button = _tmp1_; +#line 15 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new (); +#line 15 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp2_); +#line 15 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->pin_button = _tmp2_; +#line 16 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->is_toolbar_shown = FALSE; +#line 17 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->waiting_for_invoke = FALSE; +#line 18 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->left_toolbar_time = (time_t) 0; +#line 19 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->switched_to = FALSE; +#line 1763 "AppWindow.c" +} + + +static void fullscreen_window_finalize (GObject* obj) { + FullscreenWindow * self; +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 12 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->overlay); +#line 13 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->toolbar); +#line 14 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->close_button); +#line 15 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->pin_button); +#line 7 "/home/jens/Source/shotwell/src/AppWindow.vala" + G_OBJECT_CLASS (fullscreen_window_parent_class)->finalize (obj); +#line 1781 "AppWindow.c" +} + + +GType fullscreen_window_get_type (void) { + static volatile gsize fullscreen_window_type_id__volatile = 0; + if (g_once_init_enter (&fullscreen_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FullscreenWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) fullscreen_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FullscreenWindow), 0, (GInstanceInitFunc) fullscreen_window_instance_init, NULL }; + GType fullscreen_window_type_id; + fullscreen_window_type_id = g_type_register_static (TYPE_PAGE_WINDOW, "FullscreenWindow", &g_define_type_info, 0); + g_once_init_leave (&fullscreen_window_type_id__volatile, fullscreen_window_type_id); + } + return fullscreen_window_type_id__volatile; +} + + +static void page_window_real_switched_pages (PageWindow* self, Page* old_page, Page* new_page) { +#line 295 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page)); +#line 295 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page)); +#line 1802 "AppWindow.c" +} + + +void page_window_switched_pages (PageWindow* self, Page* old_page, Page* new_page) { +#line 295 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_PAGE_WINDOW (self)); +#line 295 "/home/jens/Source/shotwell/src/AppWindow.vala" + PAGE_WINDOW_GET_CLASS (self)->switched_pages (self, old_page, new_page); +#line 1811 "AppWindow.c" +} + + +PageWindow* page_window_construct (GType object_type) { + PageWindow * self = NULL; +#line 298 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = (PageWindow*) g_object_new (object_type, NULL); +#line 300 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_add_events (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), (gint) ((GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK) | GDK_STRUCTURE_MASK)); +#line 303 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_has_resize_grip (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 298 "/home/jens/Source/shotwell/src/AppWindow.vala" + return self; +#line 1825 "AppWindow.c" +} + + +GtkUIManager* page_window_get_ui_manager (PageWindow* self) { + GtkUIManager* result = NULL; + GtkUIManager* _tmp0_ = NULL; + GtkUIManager* _tmp1_ = NULL; +#line 306 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_PAGE_WINDOW (self), NULL); +#line 307 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->ui; +#line 307 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 307 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp1_; +#line 307 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1843 "AppWindow.c" +} + + +Page* page_window_get_current_page (PageWindow* self) { + Page* result = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; +#line 310 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_PAGE_WINDOW (self), NULL); +#line 311 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->current_page; +#line 311 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 311 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp1_; +#line 311 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 1861 "AppWindow.c" +} + + +static void page_window_real_set_current_page (PageWindow* self, Page* page) { + Page* _tmp0_ = NULL; + Page* old_page = NULL; + Page* _tmp2_ = NULL; + Page* _tmp3_ = NULL; + Page* _tmp4_ = NULL; + Page* _tmp5_ = NULL; + Page* _tmp6_ = NULL; + Page* _tmp7_ = NULL; +#line 314 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 315 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->current_page; +#line 315 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_ != NULL) { +#line 1880 "AppWindow.c" + Page* _tmp1_ = NULL; +#line 316 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->priv->current_page; +#line 316 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_clear_container (_tmp1_); +#line 1886 "AppWindow.c" + } +#line 318 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->priv->current_page; +#line 318 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 318 "/home/jens/Source/shotwell/src/AppWindow.vala" + old_page = _tmp3_; +#line 319 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = page; +#line 319 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 319 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->current_page); +#line 319 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->current_page = _tmp5_; +#line 320 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = self->priv->current_page; +#line 320 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_set_container (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 322 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = page; +#line 322 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_window_switched_pages (self, old_page, _tmp7_); +#line 314 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (old_page); +#line 1912 "AppWindow.c" +} + + +void page_window_set_current_page (PageWindow* self, Page* page) { +#line 314 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_PAGE_WINDOW (self)); +#line 314 "/home/jens/Source/shotwell/src/AppWindow.vala" + PAGE_WINDOW_GET_CLASS (self)->set_current_page (self, page); +#line 1921 "AppWindow.c" +} + + +static void page_window_real_clear_current_page (PageWindow* self) { + Page* _tmp0_ = NULL; + Page* old_page = NULL; + Page* _tmp2_ = NULL; + Page* _tmp3_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->current_page; +#line 326 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_ != NULL) { +#line 1934 "AppWindow.c" + Page* _tmp1_ = NULL; +#line 327 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->priv->current_page; +#line 327 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_clear_container (_tmp1_); +#line 1940 "AppWindow.c" + } +#line 329 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->priv->current_page; +#line 329 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 329 "/home/jens/Source/shotwell/src/AppWindow.vala" + old_page = _tmp3_; +#line 330 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->current_page); +#line 330 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->current_page = NULL; +#line 332 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_window_switched_pages (self, old_page, NULL); +#line 325 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (old_page); +#line 1956 "AppWindow.c" +} + + +void page_window_clear_current_page (PageWindow* self) { +#line 325 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_PAGE_WINDOW (self)); +#line 325 "/home/jens/Source/shotwell/src/AppWindow.vala" + PAGE_WINDOW_GET_CLASS (self)->clear_current_page (self); +#line 1965 "AppWindow.c" +} + + +static gboolean page_window_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + PageWindow * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GtkWidget* _tmp1_ = NULL; + gboolean _tmp5_ = FALSE; + Page* _tmp6_ = NULL; + gboolean _tmp10_ = FALSE; +#line 335 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PAGE_WINDOW, PageWindow); +#line 335 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 336 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = gtk_window_get_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 336 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_entry_get_type ())) { +#line 1985 "AppWindow.c" + GtkWidget* _tmp2_ = NULL; + GdkEventKey* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 336 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = gtk_window_get_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 336 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = event; +#line 336 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_emit_by_name (_tmp2_, "key-press-event", _tmp3_, &_tmp4_); +#line 336 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp4_; +#line 1997 "AppWindow.c" + } else { +#line 336 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = FALSE; +#line 2001 "AppWindow.c" + } +#line 336 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_) { +#line 337 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 337 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2009 "AppWindow.c" + } +#line 339 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = self->priv->current_page; +#line 339 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp6_ != NULL) { +#line 2015 "AppWindow.c" + Page* _tmp7_ = NULL; + GdkEventKey* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 339 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = self->priv->current_page; +#line 339 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = event; +#line 339 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = page_notify_app_key_pressed (_tmp7_, _tmp8_); +#line 339 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp9_; +#line 2027 "AppWindow.c" + } else { +#line 339 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = FALSE; +#line 2031 "AppWindow.c" + } +#line 339 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp5_) { +#line 340 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 340 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2039 "AppWindow.c" + } +#line 342 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (GTK_WIDGET_CLASS (page_window_parent_class)->key_press_event != NULL) { +#line 2043 "AppWindow.c" + GdkEventKey* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 342 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = event; +#line 342 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = GTK_WIDGET_CLASS (page_window_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget), _tmp11_); +#line 342 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp12_; +#line 2052 "AppWindow.c" + } else { +#line 342 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = FALSE; +#line 2056 "AppWindow.c" + } +#line 342 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp10_; +#line 342 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2062 "AppWindow.c" +} + + +static gboolean page_window_real_key_release_event (GtkWidget* base, GdkEventKey* event) { + PageWindow * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GtkWidget* _tmp1_ = NULL; + gboolean _tmp5_ = FALSE; + Page* _tmp6_ = NULL; + gboolean _tmp10_ = FALSE; +#line 345 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PAGE_WINDOW, PageWindow); +#line 345 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 346 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = gtk_window_get_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 346 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_entry_get_type ())) { +#line 2082 "AppWindow.c" + GtkWidget* _tmp2_ = NULL; + GdkEventKey* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 346 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = gtk_window_get_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 346 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = event; +#line 346 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_emit_by_name (_tmp2_, "key-release-event", _tmp3_, &_tmp4_); +#line 346 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp4_; +#line 2094 "AppWindow.c" + } else { +#line 346 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = FALSE; +#line 2098 "AppWindow.c" + } +#line 346 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_) { +#line 347 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 347 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2106 "AppWindow.c" + } +#line 349 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = self->priv->current_page; +#line 349 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp6_ != NULL) { +#line 2112 "AppWindow.c" + Page* _tmp7_ = NULL; + GdkEventKey* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 349 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = self->priv->current_page; +#line 349 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = event; +#line 349 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = page_notify_app_key_released (_tmp7_, _tmp8_); +#line 349 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp9_; +#line 2124 "AppWindow.c" + } else { +#line 349 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = FALSE; +#line 2128 "AppWindow.c" + } +#line 349 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp5_) { +#line 350 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 350 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2136 "AppWindow.c" + } +#line 352 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (GTK_WIDGET_CLASS (page_window_parent_class)->key_release_event != NULL) { +#line 2140 "AppWindow.c" + GdkEventKey* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 352 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = event; +#line 352 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = GTK_WIDGET_CLASS (page_window_parent_class)->key_release_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget), _tmp11_); +#line 352 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp12_; +#line 2149 "AppWindow.c" + } else { +#line 352 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = FALSE; +#line 2153 "AppWindow.c" + } +#line 352 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp10_; +#line 352 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2159 "AppWindow.c" +} + + +static gboolean page_window_real_focus_in_event (GtkWidget* base, GdkEventFocus* event) { + PageWindow * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + Page* _tmp1_ = NULL; + gboolean _tmp5_ = FALSE; +#line 355 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PAGE_WINDOW, PageWindow); +#line 355 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 356 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->priv->current_page; +#line 356 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 2177 "AppWindow.c" + Page* _tmp2_ = NULL; + GdkEventFocus* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 356 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->priv->current_page; +#line 356 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = event; +#line 356 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = page_notify_app_focus_in (_tmp2_, _tmp3_); +#line 356 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp4_; +#line 2189 "AppWindow.c" + } else { +#line 356 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = FALSE; +#line 2193 "AppWindow.c" + } +#line 356 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_) { +#line 357 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 357 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2201 "AppWindow.c" + } +#line 359 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (GTK_WIDGET_CLASS (page_window_parent_class)->focus_in_event != NULL) { +#line 2205 "AppWindow.c" + GdkEventFocus* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 359 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = event; +#line 359 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = GTK_WIDGET_CLASS (page_window_parent_class)->focus_in_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget), _tmp6_); +#line 359 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp7_; +#line 2214 "AppWindow.c" + } else { +#line 359 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = FALSE; +#line 2218 "AppWindow.c" + } +#line 359 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp5_; +#line 359 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2224 "AppWindow.c" +} + + +static gboolean page_window_real_focus_out_event (GtkWidget* base, GdkEventFocus* event) { + PageWindow * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + Page* _tmp1_ = NULL; + gboolean _tmp5_ = FALSE; +#line 362 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PAGE_WINDOW, PageWindow); +#line 362 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 363 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->priv->current_page; +#line 363 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 2242 "AppWindow.c" + Page* _tmp2_ = NULL; + GdkEventFocus* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 363 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->priv->current_page; +#line 363 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = event; +#line 363 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = page_notify_app_focus_out (_tmp2_, _tmp3_); +#line 363 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp4_; +#line 2254 "AppWindow.c" + } else { +#line 363 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = FALSE; +#line 2258 "AppWindow.c" + } +#line 363 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_) { +#line 364 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 364 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2266 "AppWindow.c" + } +#line 366 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (GTK_WIDGET_CLASS (page_window_parent_class)->focus_out_event != NULL) { +#line 2270 "AppWindow.c" + GdkEventFocus* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 366 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = event; +#line 366 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = GTK_WIDGET_CLASS (page_window_parent_class)->focus_out_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget), _tmp6_); +#line 366 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp7_; +#line 2279 "AppWindow.c" + } else { +#line 366 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = FALSE; +#line 2283 "AppWindow.c" + } +#line 366 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp5_; +#line 366 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2289 "AppWindow.c" +} + + +static gboolean page_window_real_configure_event (GtkWidget* base, GdkEventConfigure* event) { + PageWindow * self; + gboolean result = FALSE; + Page* _tmp0_ = NULL; + gboolean _tmp4_ = FALSE; +#line 369 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PAGE_WINDOW, PageWindow); +#line 369 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 370 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->current_page; +#line 370 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_ != NULL) { +#line 2306 "AppWindow.c" + Page* _tmp1_ = NULL; + GdkEventConfigure* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 371 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->priv->current_page; +#line 371 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = event; +#line 371 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = page_notify_configure_event (_tmp1_, _tmp2_); +#line 371 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp3_) { +#line 372 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = TRUE; +#line 372 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2322 "AppWindow.c" + } + } +#line 375 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (GTK_WIDGET_CLASS (page_window_parent_class)->configure_event != NULL) { +#line 2327 "AppWindow.c" + GdkEventConfigure* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 375 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = event; +#line 375 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = GTK_WIDGET_CLASS (page_window_parent_class)->configure_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget), _tmp5_); +#line 375 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp6_; +#line 2336 "AppWindow.c" + } else { +#line 375 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = FALSE; +#line 2340 "AppWindow.c" + } +#line 375 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp4_; +#line 375 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 2346 "AppWindow.c" +} + + +void page_window_set_busy_cursor (PageWindow* self) { + gint _tmp0_ = 0; + GdkWindow* _tmp1_ = NULL; + GdkCursor* _tmp2_ = NULL; + GdkCursor* _tmp3_ = NULL; +#line 378 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_PAGE_WINDOW (self)); +#line 379 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->busy_counter; +#line 379 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->busy_counter = _tmp0_ + 1; +#line 379 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_ > 0) { +#line 380 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 2365 "AppWindow.c" + } +#line 382 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 382 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = gdk_cursor_new (GDK_WATCH); +#line 382 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp2_; +#line 382 "/home/jens/Source/shotwell/src/AppWindow.vala" + gdk_window_set_cursor (_tmp1_, _tmp3_); +#line 382 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp3_); +#line 383 "/home/jens/Source/shotwell/src/AppWindow.vala" + spin_event_loop (); +#line 2379 "AppWindow.c" +} + + +void page_window_set_normal_cursor (PageWindow* self) { + gint _tmp0_ = 0; + GdkWindow* _tmp3_ = NULL; + GdkCursor* _tmp4_ = NULL; + GdkCursor* _tmp5_ = NULL; +#line 386 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_PAGE_WINDOW (self)); +#line 387 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->priv->busy_counter; +#line 387 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_ <= 0) { +#line 388 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->busy_counter = 0; +#line 389 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 2398 "AppWindow.c" + } else { + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 390 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->priv->busy_counter; +#line 390 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->busy_counter = _tmp1_ - 1; +#line 390 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->priv->busy_counter; +#line 390 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_ > 0) { +#line 391 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 2412 "AppWindow.c" + } + } +#line 394 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 394 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = gdk_cursor_new (GDK_LEFT_PTR); +#line 394 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_; +#line 394 "/home/jens/Source/shotwell/src/AppWindow.vala" + gdk_window_set_cursor (_tmp3_, _tmp5_); +#line 394 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp5_); +#line 395 "/home/jens/Source/shotwell/src/AppWindow.vala" + spin_event_loop (); +#line 2427 "AppWindow.c" +} + + +static void page_window_class_init (PageWindowClass * klass) { +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_window_parent_class = g_type_class_peek_parent (klass); +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_type_class_add_private (klass, sizeof (PageWindowPrivate)); +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((PageWindowClass *) klass)->switched_pages = page_window_real_switched_pages; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((PageWindowClass *) klass)->set_current_page = page_window_real_set_current_page; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((PageWindowClass *) klass)->clear_current_page = page_window_real_clear_current_page; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->key_press_event = page_window_real_key_press_event; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->key_release_event = page_window_real_key_release_event; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->focus_in_event = page_window_real_focus_in_event; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->focus_out_event = page_window_real_focus_out_event; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->configure_event = page_window_real_configure_event; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + G_OBJECT_CLASS (klass)->finalize = page_window_finalize; +#line 2454 "AppWindow.c" +} + + +static void page_window_instance_init (PageWindow * self) { + GtkUIManager* _tmp0_ = NULL; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv = PAGE_WINDOW_GET_PRIVATE (self); +#line 290 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = gtk_ui_manager_new (); +#line 290 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->ui = _tmp0_; +#line 292 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->current_page = NULL; +#line 293 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->busy_counter = 0; +#line 2470 "AppWindow.c" +} + + +static void page_window_finalize (GObject* obj) { + PageWindow * self; +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PAGE_WINDOW, PageWindow); +#line 290 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->ui); +#line 292 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->current_page); +#line 289 "/home/jens/Source/shotwell/src/AppWindow.vala" + G_OBJECT_CLASS (page_window_parent_class)->finalize (obj); +#line 2484 "AppWindow.c" +} + + +GType page_window_get_type (void) { + static volatile gsize page_window_type_id__volatile = 0; + if (g_once_init_enter (&page_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PageWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) page_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PageWindow), 0, (GInstanceInitFunc) page_window_instance_init, NULL }; + GType page_window_type_id; + page_window_type_id = g_type_register_static (gtk_window_get_type (), "PageWindow", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&page_window_type_id__volatile, page_window_type_id); + } + return page_window_type_id__volatile; +} + + +static void _app_window_on_command_manager_altered_command_manager_altered (CommandManager* _sender, gboolean can_undo, gboolean can_redo, gpointer self) { +#line 447 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_command_manager_altered ((AppWindow*) self); +#line 2503 "AppWindow.c" +} + + +AppWindow* app_window_construct (GType object_type) { + AppWindow * self = NULL; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + Dimensions _tmp10_ = {0}; + gint _tmp11_ = 0; + Dimensions _tmp12_ = {0}; + gint _tmp13_ = 0; + gboolean _tmp14_ = FALSE; + CommandManager* _tmp15_ = NULL; + CommandManager* _tmp16_ = NULL; + CommandManager* _tmp17_ = NULL; + gint _tmp18_ = 0; + GtkActionGroup** _tmp19_ = NULL; + GtkActionGroup** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + GtkUIManager* _tmp29_ = NULL; + GtkUIManager* _tmp30_ = NULL; + GtkAccelGroup* _tmp31_ = NULL; + GtkCssProvider* provider = NULL; + GtkCssProvider* _tmp32_ = NULL; + GError * _inner_error_ = NULL; +#line 424 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = (AppWindow*) page_window_construct (object_type); +#line 426 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_instance; +#line 426 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_assert (_tmp0_ == NULL, "instance == null"); +#line 427 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _g_object_ref0 (self); +#line 427 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (app_window_instance); +#line 427 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_instance = _tmp1_; +#line 429 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), RESOURCES_APP_TITLE); +#line 430 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_default_icon_name ("shotwell"); +#line 433 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (self, TYPE_LIBRARY_WINDOW)) { +#line 2547 "AppWindow.c" + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + Dimensions _tmp5_ = {0}; +#line 434 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = config_facade_get_instance (); +#line 434 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp2_; +#line 434 "/home/jens/Source/shotwell/src/AppWindow.vala" + configuration_facade_get_library_window_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp4_, &_tmp5_); +#line 434 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->maximized = _tmp4_; +#line 434 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->dimensions = _tmp5_; +#line 434 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp3_); +#line 2564 "AppWindow.c" + } else { + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + Dimensions _tmp9_ = {0}; +#line 436 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (self, TYPE_DIRECT_WINDOW), "this is DirectWindow"); +#line 437 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = config_facade_get_instance (); +#line 437 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = _tmp6_; +#line 437 "/home/jens/Source/shotwell/src/AppWindow.vala" + configuration_facade_get_direct_window_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp8_, &_tmp9_); +#line 437 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->maximized = _tmp8_; +#line 437 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->dimensions = _tmp9_; +#line 437 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp7_); +#line 2584 "AppWindow.c" + } +#line 440 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = self->dimensions; +#line 440 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = _tmp10_.width; +#line 440 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = self->dimensions; +#line 440 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = _tmp12_.height; +#line 440 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_default_size (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp11_, _tmp13_); +#line 442 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = self->maximized; +#line 442 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp14_) { +#line 443 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_maximize (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 2602 "AppWindow.c" + } +#line 445 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = app_window_command_manager; +#line 445 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_assert (_tmp15_ == NULL, "command_manager == null"); +#line 446 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = command_manager_new (COMMAND_MANAGER_DEFAULT_DEPTH); +#line 446 "/home/jens/Source/shotwell/src/AppWindow.vala" + _command_manager_unref0 (app_window_command_manager); +#line 446 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_command_manager = _tmp16_; +#line 447 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = app_window_command_manager; +#line 447 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_connect_object (_tmp17_, "altered", (GCallback) _app_window_on_command_manager_altered_command_manager_altered, self, 0); +#line 454 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp19_ = app_window_create_common_action_groups (self, &_tmp18_); +#line 454 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->common_action_groups = (_vala_array_free (self->common_action_groups, self->common_action_groups_length1, (GDestroyNotify) g_object_unref), NULL); +#line 454 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->common_action_groups = _tmp19_; +#line 454 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->common_action_groups_length1 = _tmp18_; +#line 455 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp20_ = self->common_action_groups; +#line 455 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp20__length1 = self->common_action_groups_length1; +#line 2630 "AppWindow.c" + { + GtkActionGroup** group_collection = NULL; + gint group_collection_length1 = 0; + gint _group_collection_size_ = 0; + gint group_it = 0; +#line 455 "/home/jens/Source/shotwell/src/AppWindow.vala" + group_collection = _tmp20_; +#line 455 "/home/jens/Source/shotwell/src/AppWindow.vala" + group_collection_length1 = _tmp20__length1; +#line 455 "/home/jens/Source/shotwell/src/AppWindow.vala" + for (group_it = 0; group_it < _tmp20__length1; group_it = group_it + 1) { +#line 2642 "AppWindow.c" + GtkActionGroup* _tmp21_ = NULL; + GtkActionGroup* group = NULL; +#line 455 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp21_ = _g_object_ref0 (group_collection[group_it]); +#line 455 "/home/jens/Source/shotwell/src/AppWindow.vala" + group = _tmp21_; +#line 2649 "AppWindow.c" + { + GtkUIManager* _tmp22_ = NULL; + GtkActionGroup* _tmp23_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 456 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp23_ = group; +#line 456 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_ui_manager_insert_action_group (_tmp22_, _tmp23_, 0); +#line 455 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (group); +#line 2661 "AppWindow.c" + } + } + } + { + GtkUIManager* _tmp24_ = NULL; + GtkActionGroup** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; +#line 459 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp24_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 459 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_ = self->common_action_groups; +#line 459 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25__length1 = self->common_action_groups_length1; +#line 459 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp26_ = build_dummy_ui_string (_tmp25_, _tmp25__length1); +#line 459 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp27_ = _tmp26_; +#line 459 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_ui_manager_add_ui_from_string (_tmp24_, _tmp27_, (gssize) -1, &_inner_error_); +#line 459 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp27_); +#line 459 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2687 "AppWindow.c" + goto __catch212_g_error; + } + } + goto __finally212; + __catch212_g_error: + { + GError* err = NULL; + const gchar* _tmp28_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/AppWindow.vala" + err = _inner_error_; +#line 458 "/home/jens/Source/shotwell/src/AppWindow.vala" + _inner_error_ = NULL; +#line 461 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_ = err->message; +#line 461 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_error ("AppWindow.vala:461: Unable to add AppWindow UI: %s", _tmp28_); +#line 458 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_error_free0 (err); +#line 2706 "AppWindow.c" + } + __finally212: +#line 458 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 458 "/home/jens/Source/shotwell/src/AppWindow.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 458 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_clear_error (&_inner_error_); +#line 458 "/home/jens/Source/shotwell/src/AppWindow.vala" + return NULL; +#line 2717 "AppWindow.c" + } +#line 464 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp29_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 464 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_ui_manager_ensure_update (_tmp29_); +#line 465 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 465 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_ = gtk_ui_manager_get_accel_group (_tmp30_); +#line 465 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_add_accel_group (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp31_); +#line 467 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp32_ = gtk_css_provider_new (); +#line 467 "/home/jens/Source/shotwell/src/AppWindow.vala" + provider = _tmp32_; +#line 2733 "AppWindow.c" + { + GdkScreen* _tmp33_ = NULL; +#line 469 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_css_provider_load_from_data (provider, RESOURCES_CUSTOM_CSS, (gssize) -1, &_inner_error_); +#line 469 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2740 "AppWindow.c" + goto __catch213_g_error; + } +#line 470 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp33_ = gdk_screen_get_default (); +#line 470 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_style_context_add_provider_for_screen (_tmp33_, G_TYPE_CHECK_INSTANCE_CAST (provider, GTK_TYPE_STYLE_PROVIDER, GtkStyleProvider), (guint) GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); +#line 2747 "AppWindow.c" + } + goto __finally213; + __catch213_g_error: + { + GError* err = NULL; + GError* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; +#line 468 "/home/jens/Source/shotwell/src/AppWindow.vala" + err = _inner_error_; +#line 468 "/home/jens/Source/shotwell/src/AppWindow.vala" + _inner_error_ = NULL; +#line 472 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_ = err; +#line 472 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp35_ = _tmp34_->message; +#line 472 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_debug ("AppWindow.vala:472: Unable to load custom CSS: %s", _tmp35_); +#line 468 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_error_free0 (err); +#line 2767 "AppWindow.c" + } + __finally213: +#line 468 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 468 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (provider); +#line 468 "/home/jens/Source/shotwell/src/AppWindow.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 468 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_clear_error (&_inner_error_); +#line 468 "/home/jens/Source/shotwell/src/AppWindow.vala" + return NULL; +#line 2780 "AppWindow.c" + } +#line 424 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (provider); +#line 424 "/home/jens/Source/shotwell/src/AppWindow.vala" + return self; +#line 2786 "AppWindow.c" +} + + +static void _app_window_on_quit_gtk_action_callback (GtkAction* action, gpointer self) { +#line 479 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_quit ((AppWindow*) self); +#line 2793 "AppWindow.c" +} + + +static void _vala_array_add159 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 482 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 482 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 482 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2804 "AppWindow.c" + } +#line 482 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2808 "AppWindow.c" +} + + +static void _app_window_on_about_gtk_action_callback (GtkAction* action, gpointer self) { +#line 484 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_about ((AppWindow*) self); +#line 2815 "AppWindow.c" +} + + +static void _vala_array_add160 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 487 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 487 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 487 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2826 "AppWindow.c" + } +#line 487 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2830 "AppWindow.c" +} + + +static void _app_window_on_fullscreen_gtk_action_callback (GtkAction* action, gpointer self) { +#line 489 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_fullscreen ((AppWindow*) self); +#line 2837 "AppWindow.c" +} + + +static void _vala_array_add161 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 492 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 492 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 492 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2848 "AppWindow.c" + } +#line 492 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2852 "AppWindow.c" +} + + +static void _app_window_on_help_contents_gtk_action_callback (GtkAction* action, gpointer self) { +#line 494 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_help_contents ((AppWindow*) self); +#line 2859 "AppWindow.c" +} + + +static void _vala_array_add162 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 497 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 497 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 497 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2870 "AppWindow.c" + } +#line 497 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2874 "AppWindow.c" +} + + +static void _app_window_on_help_faq_gtk_action_callback (GtkAction* action, gpointer self) { +#line 499 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_help_faq ((AppWindow*) self); +#line 2881 "AppWindow.c" +} + + +static void _vala_array_add163 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 502 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 502 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 502 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2892 "AppWindow.c" + } +#line 502 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2896 "AppWindow.c" +} + + +static void _app_window_on_help_report_problem_gtk_action_callback (GtkAction* action, gpointer self) { +#line 504 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_help_report_problem ((AppWindow*) self); +#line 2903 "AppWindow.c" +} + + +static void _vala_array_add164 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 507 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 507 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 507 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2914 "AppWindow.c" + } +#line 507 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2918 "AppWindow.c" +} + + +static void _app_window_on_undo_gtk_action_callback (GtkAction* action, gpointer self) { +#line 509 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_undo ((AppWindow*) self); +#line 2925 "AppWindow.c" +} + + +static void _vala_array_add165 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 512 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 512 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 512 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2936 "AppWindow.c" + } +#line 512 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2940 "AppWindow.c" +} + + +static void _app_window_on_redo_gtk_action_callback (GtkAction* action, gpointer self) { +#line 514 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_redo ((AppWindow*) self); +#line 2947 "AppWindow.c" +} + + +static void _vala_array_add166 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 517 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 517 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 517 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2958 "AppWindow.c" + } +#line 517 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2962 "AppWindow.c" +} + + +static void _app_window_on_jump_to_file_gtk_action_callback (GtkAction* action, gpointer self) { +#line 519 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_jump_to_file ((AppWindow*) self); +#line 2969 "AppWindow.c" +} + + +static void _vala_array_add167 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 522 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 522 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 522 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2980 "AppWindow.c" + } +#line 522 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 2984 "AppWindow.c" +} + + +static void _app_window_on_select_all_gtk_action_callback (GtkAction* action, gpointer self) { +#line 524 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_select_all ((AppWindow*) self); +#line 2991 "AppWindow.c" +} + + +static void _vala_array_add168 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 527 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 527 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 527 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 3002 "AppWindow.c" + } +#line 527 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 3006 "AppWindow.c" +} + + +static void _app_window_on_select_none_gtk_action_callback (GtkAction* action, gpointer self) { +#line 529 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_select_none ((AppWindow*) self); +#line 3013 "AppWindow.c" +} + + +static void _vala_array_add169 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 531 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 531 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 531 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 3024 "AppWindow.c" + } +#line 531 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = *value; +#line 3028 "AppWindow.c" +} + + +static GtkActionEntry* app_window_create_common_actions (AppWindow* self, int* result_length1) { + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + GtkActionEntry* _tmp0_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry quit = {0}; + GtkActionEntry _tmp1_ = {0}; + GtkActionEntry* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + GtkActionEntry _tmp3_ = {0}; + GtkActionEntry about = {0}; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GtkActionEntry _tmp6_ = {0}; + GtkActionEntry fullscreen = {0}; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GtkActionEntry _tmp9_ = {0}; + GtkActionEntry help_contents = {0}; + GtkActionEntry _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + GtkActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkActionEntry _tmp13_ = {0}; + GtkActionEntry help_faq = {0}; + GtkActionEntry _tmp14_ = {0}; + const gchar* _tmp15_ = NULL; + GtkActionEntry* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + GtkActionEntry _tmp17_ = {0}; + GtkActionEntry help_report_problem = {0}; + GtkActionEntry _tmp18_ = {0}; + const gchar* _tmp19_ = NULL; + GtkActionEntry* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + GtkActionEntry _tmp21_ = {0}; + GtkActionEntry undo = {0}; + GtkActionEntry _tmp22_ = {0}; + GtkActionEntry* _tmp23_ = NULL; + gint _tmp23__length1 = 0; + GtkActionEntry _tmp24_ = {0}; + GtkActionEntry redo = {0}; + GtkActionEntry _tmp25_ = {0}; + GtkActionEntry* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + GtkActionEntry _tmp27_ = {0}; + GtkActionEntry jump_to_file = {0}; + GtkActionEntry _tmp28_ = {0}; + GtkActionEntry* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + GtkActionEntry _tmp30_ = {0}; + GtkActionEntry select_all = {0}; + GtkActionEntry _tmp31_ = {0}; + GtkActionEntry* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + GtkActionEntry _tmp33_ = {0}; + GtkActionEntry select_none = {0}; + GtkActionEntry _tmp34_ = {0}; + GtkActionEntry* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + GtkActionEntry _tmp36_ = {0}; + GtkActionEntry* _tmp37_ = NULL; + gint _tmp37__length1 = 0; +#line 476 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_APP_WINDOW (self), NULL); +#line 477 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = g_new0 (GtkActionEntry, 0); +#line 477 "/home/jens/Source/shotwell/src/AppWindow.vala" + actions = _tmp0_; +#line 477 "/home/jens/Source/shotwell/src/AppWindow.vala" + actions_length1 = 0; +#line 477 "/home/jens/Source/shotwell/src/AppWindow.vala" + _actions_size_ = actions_length1; +#line 479 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.name = "CommonQuit"; +#line 479 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.stock_id = RESOURCES_QUIT_LABEL; +#line 479 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.label = TRANSLATABLE; +#line 479 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.accelerator = "Q"; +#line 479 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.tooltip = TRANSLATABLE; +#line 479 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_.callback = (GCallback) _app_window_on_quit_gtk_action_callback; +#line 479 "/home/jens/Source/shotwell/src/AppWindow.vala" + quit = _tmp1_; +#line 481 "/home/jens/Source/shotwell/src/AppWindow.vala" + quit.label = RESOURCES_QUIT_LABEL; +#line 482 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = actions; +#line 482 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2__length1 = actions_length1; +#line 482 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = quit; +#line 482 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add159 (&actions, &actions_length1, &_actions_size_, &_tmp3_); +#line 484 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_.name = "CommonAbout"; +#line 484 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_.stock_id = RESOURCES_ABOUT_LABEL; +#line 484 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_.label = TRANSLATABLE; +#line 484 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_.accelerator = NULL; +#line 484 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_.tooltip = TRANSLATABLE; +#line 484 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_.callback = (GCallback) _app_window_on_about_gtk_action_callback; +#line 484 "/home/jens/Source/shotwell/src/AppWindow.vala" + about = _tmp4_; +#line 486 "/home/jens/Source/shotwell/src/AppWindow.vala" + about.label = RESOURCES_ABOUT_LABEL; +#line 487 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = actions; +#line 487 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5__length1 = actions_length1; +#line 487 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = about; +#line 487 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add160 (&actions, &actions_length1, &_actions_size_, &_tmp6_); +#line 489 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_.name = "CommonFullscreen"; +#line 489 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_.stock_id = RESOURCES_FULLSCREEN_LABEL; +#line 489 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_.label = TRANSLATABLE; +#line 489 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_.accelerator = "F11"; +#line 489 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_.tooltip = TRANSLATABLE; +#line 489 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_.callback = (GCallback) _app_window_on_fullscreen_gtk_action_callback; +#line 489 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen = _tmp7_; +#line 491 "/home/jens/Source/shotwell/src/AppWindow.vala" + fullscreen.label = RESOURCES_FULLSCREEN_LABEL; +#line 492 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = actions; +#line 492 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8__length1 = actions_length1; +#line 492 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = fullscreen; +#line 492 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add161 (&actions, &actions_length1, &_actions_size_, &_tmp9_); +#line 494 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_.name = "CommonHelpContents"; +#line 494 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_.stock_id = RESOURCES_HELP_LABEL; +#line 494 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_.label = TRANSLATABLE; +#line 494 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_.accelerator = "F1"; +#line 494 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_.tooltip = TRANSLATABLE; +#line 494 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_.callback = (GCallback) _app_window_on_help_contents_gtk_action_callback; +#line 494 "/home/jens/Source/shotwell/src/AppWindow.vala" + help_contents = _tmp10_; +#line 496 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = _ ("_Contents"); +#line 496 "/home/jens/Source/shotwell/src/AppWindow.vala" + help_contents.label = _tmp11_; +#line 497 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = actions; +#line 497 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12__length1 = actions_length1; +#line 497 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = help_contents; +#line 497 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add162 (&actions, &actions_length1, &_actions_size_, &_tmp13_); +#line 499 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_.name = "CommonHelpFAQ"; +#line 499 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_.stock_id = NULL; +#line 499 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_.label = TRANSLATABLE; +#line 499 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_.accelerator = NULL; +#line 499 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_.tooltip = TRANSLATABLE; +#line 499 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_.callback = (GCallback) _app_window_on_help_faq_gtk_action_callback; +#line 499 "/home/jens/Source/shotwell/src/AppWindow.vala" + help_faq = _tmp14_; +#line 501 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = _ ("_Frequently Asked Questions"); +#line 501 "/home/jens/Source/shotwell/src/AppWindow.vala" + help_faq.label = _tmp15_; +#line 502 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = actions; +#line 502 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16__length1 = actions_length1; +#line 502 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = help_faq; +#line 502 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add163 (&actions, &actions_length1, &_actions_size_, &_tmp17_); +#line 504 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_.name = "CommonHelpReportProblem"; +#line 504 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_.stock_id = NULL; +#line 504 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_.label = TRANSLATABLE; +#line 504 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_.accelerator = NULL; +#line 504 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_.tooltip = TRANSLATABLE; +#line 504 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_.callback = (GCallback) _app_window_on_help_report_problem_gtk_action_callback; +#line 504 "/home/jens/Source/shotwell/src/AppWindow.vala" + help_report_problem = _tmp18_; +#line 506 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp19_ = _ ("_Report a Problem..."); +#line 506 "/home/jens/Source/shotwell/src/AppWindow.vala" + help_report_problem.label = _tmp19_; +#line 507 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp20_ = actions; +#line 507 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp20__length1 = actions_length1; +#line 507 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp21_ = help_report_problem; +#line 507 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add164 (&actions, &actions_length1, &_actions_size_, &_tmp21_); +#line 509 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_.name = "CommonUndo"; +#line 509 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_.stock_id = RESOURCES_UNDO_MENU; +#line 509 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_.label = TRANSLATABLE; +#line 509 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_.accelerator = "Z"; +#line 509 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_.tooltip = TRANSLATABLE; +#line 509 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_.callback = (GCallback) _app_window_on_undo_gtk_action_callback; +#line 509 "/home/jens/Source/shotwell/src/AppWindow.vala" + undo = _tmp22_; +#line 511 "/home/jens/Source/shotwell/src/AppWindow.vala" + undo.label = RESOURCES_UNDO_MENU; +#line 512 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp23_ = actions; +#line 512 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp23__length1 = actions_length1; +#line 512 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp24_ = undo; +#line 512 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add165 (&actions, &actions_length1, &_actions_size_, &_tmp24_); +#line 514 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_.name = "CommonRedo"; +#line 514 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_.stock_id = RESOURCES_REDO_MENU; +#line 514 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_.label = TRANSLATABLE; +#line 514 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_.accelerator = "Z"; +#line 514 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_.tooltip = TRANSLATABLE; +#line 514 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_.callback = (GCallback) _app_window_on_redo_gtk_action_callback; +#line 514 "/home/jens/Source/shotwell/src/AppWindow.vala" + redo = _tmp25_; +#line 516 "/home/jens/Source/shotwell/src/AppWindow.vala" + redo.label = RESOURCES_REDO_MENU; +#line 517 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp26_ = actions; +#line 517 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp26__length1 = actions_length1; +#line 517 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp27_ = redo; +#line 517 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add166 (&actions, &actions_length1, &_actions_size_, &_tmp27_); +#line 519 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_.name = "CommonJumpToFile"; +#line 519 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_.stock_id = RESOURCES_JUMP_TO_FILE_MENU; +#line 519 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_.label = TRANSLATABLE; +#line 519 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_.accelerator = "M"; +#line 519 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_.tooltip = TRANSLATABLE; +#line 519 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_.callback = (GCallback) _app_window_on_jump_to_file_gtk_action_callback; +#line 519 "/home/jens/Source/shotwell/src/AppWindow.vala" + jump_to_file = _tmp28_; +#line 521 "/home/jens/Source/shotwell/src/AppWindow.vala" + jump_to_file.label = RESOURCES_JUMP_TO_FILE_MENU; +#line 522 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp29_ = actions; +#line 522 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp29__length1 = actions_length1; +#line 522 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp30_ = jump_to_file; +#line 522 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add167 (&actions, &actions_length1, &_actions_size_, &_tmp30_); +#line 524 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_.name = "CommonSelectAll"; +#line 524 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_.stock_id = RESOURCES_SELECT_ALL_MENU; +#line 524 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_.label = TRANSLATABLE; +#line 524 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_.accelerator = "A"; +#line 524 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_.tooltip = TRANSLATABLE; +#line 524 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_.callback = (GCallback) _app_window_on_select_all_gtk_action_callback; +#line 524 "/home/jens/Source/shotwell/src/AppWindow.vala" + select_all = _tmp31_; +#line 526 "/home/jens/Source/shotwell/src/AppWindow.vala" + select_all.label = RESOURCES_SELECT_ALL_MENU; +#line 527 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp32_ = actions; +#line 527 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp32__length1 = actions_length1; +#line 527 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp33_ = select_all; +#line 527 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add168 (&actions, &actions_length1, &_actions_size_, &_tmp33_); +#line 529 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_.name = "CommonSelectNone"; +#line 529 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_.stock_id = NULL; +#line 529 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_.label = NULL; +#line 529 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_.accelerator = "A"; +#line 529 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_.tooltip = TRANSLATABLE; +#line 529 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_.callback = (GCallback) _app_window_on_select_none_gtk_action_callback; +#line 529 "/home/jens/Source/shotwell/src/AppWindow.vala" + select_none = _tmp34_; +#line 531 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp35_ = actions; +#line 531 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp35__length1 = actions_length1; +#line 531 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp36_ = select_none; +#line 531 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add169 (&actions, &actions_length1, &_actions_size_, &_tmp36_); +#line 533 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp37_ = actions; +#line 533 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp37__length1 = actions_length1; +#line 533 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (result_length1) { +#line 533 "/home/jens/Source/shotwell/src/AppWindow.vala" + *result_length1 = _tmp37__length1; +#line 3384 "AppWindow.c" + } +#line 533 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp37_; +#line 533 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 3390 "AppWindow.c" +} + + +static void app_window_real_on_fullscreen (AppWindow* self) { +#line 536 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_critical ("Type `%s' does not implement abstract method `app_window_on_fullscreen'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 536 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 3399 "AppWindow.c" +} + + +void app_window_on_fullscreen (AppWindow* self) { +#line 536 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 536 "/home/jens/Source/shotwell/src/AppWindow.vala" + APP_WINDOW_GET_CLASS (self)->on_fullscreen (self); +#line 3408 "AppWindow.c" +} + + +gboolean app_window_has_instance (void) { + gboolean result = FALSE; + AppWindow* _tmp0_ = NULL; +#line 539 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_instance; +#line 539 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp0_ != NULL; +#line 539 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 3421 "AppWindow.c" +} + + +AppWindow* app_window_get_instance (void) { + AppWindow* result = NULL; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; +#line 543 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_instance; +#line 543 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 543 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp1_; +#line 543 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 3437 "AppWindow.c" +} + + +FullscreenWindow* app_window_get_fullscreen (void) { + FullscreenWindow* result = NULL; + FullscreenWindow* _tmp0_ = NULL; + FullscreenWindow* _tmp1_ = NULL; +#line 547 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_fullscreen_window; +#line 547 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 547 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp1_; +#line 547 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 3453 "AppWindow.c" +} + + +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user) { + GtkBuilder* result = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + void* _tmp12_ = NULL; + GError * _inner_error_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (glade_filename != NULL, NULL); +#line 551 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = gtk_builder_new (); +#line 551 "/home/jens/Source/shotwell/src/AppWindow.vala" + builder = _tmp0_; +#line 3469 "AppWindow.c" + { + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = app_dirs_get_resources_dir (); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = _tmp1_; +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = g_file_get_child (_tmp2_, "ui"); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = glade_filename; +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = g_file_get_child (_tmp4_, _tmp5_); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = _tmp6_; +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = g_file_get_path (_tmp7_); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = _tmp8_; +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_builder_add_from_file (builder, _tmp9_, &_inner_error_); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp9_); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp7_); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp4_); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp2_); +#line 553 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3510 "AppWindow.c" + goto __catch214_g_error; + } + } + goto __finally214; + __catch214_g_error: + { + GError* _error_ = NULL; + GError* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 552 "/home/jens/Source/shotwell/src/AppWindow.vala" + _error_ = _inner_error_; +#line 552 "/home/jens/Source/shotwell/src/AppWindow.vala" + _inner_error_ = NULL; +#line 556 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _error_; +#line 556 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = _tmp10_->message; +#line 556 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_warning ("AppWindow.vala:556: Unable to create Gtk.Builder: %s\n", _tmp11_); +#line 552 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_error_free0 (_error_); +#line 3532 "AppWindow.c" + } + __finally214: +#line 552 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 552 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (builder); +#line 552 "/home/jens/Source/shotwell/src/AppWindow.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 552 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_clear_error (&_inner_error_); +#line 552 "/home/jens/Source/shotwell/src/AppWindow.vala" + return NULL; +#line 3545 "AppWindow.c" + } +#line 559 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = user; +#line 559 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_builder_connect_signals (builder, _tmp12_); +#line 561 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = builder; +#line 561 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 3555 "AppWindow.c" +} + + +void app_window_error_message (const gchar* message, GtkWindow* parent) { + const gchar* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; +#line 564 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (message != NULL); +#line 564 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((parent == NULL) || GTK_IS_WINDOW (parent)); +#line 565 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = message; +#line 565 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = parent; +#line 565 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_error_message_with_title (RESOURCES_APP_TITLE, _tmp0_, _tmp1_, TRUE); +#line 3572 "AppWindow.c" +} + + +void app_window_error_message_with_title (const gchar* title, const gchar* message, GtkWindow* parent, gboolean should_escape) { + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GtkMessageDialog* dialog = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + GtkMessageDialog* _tmp10_ = NULL; + GtkMessageDialog* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 568 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (title != NULL); +#line 568 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (message != NULL); +#line 568 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((parent == NULL) || GTK_IS_WINDOW (parent)); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = parent; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 3602 "AppWindow.c" + GtkWindow* _tmp2_ = NULL; + GtkWindow* _tmp3_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = parent; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp3_; +#line 3613 "AppWindow.c" + } else { + AppWindow* _tmp4_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = app_window_get_instance (); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_window_get_type (), GtkWindow); +#line 3622 "AppWindow.c" + } +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = title; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = message; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = should_escape; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = build_alert_body_text (_tmp5_, _tmp6_, _tmp7_); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = _tmp8_; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = (GtkMessageDialog*) gtk_message_dialog_new_with_markup (_tmp0_, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", _tmp9_); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp10_); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = _tmp10_; +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp9_); +#line 572 "/home/jens/Source/shotwell/src/AppWindow.vala" + dialog = _tmp11_; +#line 576 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = title; +#line 576 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = message; +#line 576 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = should_escape; +#line 576 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = build_alert_body_text (_tmp12_, _tmp13_, _tmp14_); +#line 576 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = _tmp15_; +#line 576 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_message_dialog_set_markup (dialog, _tmp16_); +#line 576 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp16_); +#line 578 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_set (dialog, "use-markup", TRUE, NULL); +#line 579 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog)); +#line 580 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_widget_get_type (), GtkWidget)); +#line 568 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (dialog); +#line 568 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 3668 "AppWindow.c" +} + + +gboolean app_window_negate_affirm_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* title, GtkWindow* parent) { + gboolean result = FALSE; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GtkMessageDialog* dialog = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GtkMessageDialog* _tmp9_ = NULL; + GtkMessageDialog* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gboolean response = FALSE; + gint _tmp17_ = 0; +#line 583 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (message != NULL, FALSE); +#line 583 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (negative != NULL, FALSE); +#line 583 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (affirmative != NULL, FALSE); +#line 583 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail ((parent == NULL) || GTK_IS_WINDOW (parent), FALSE); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = parent; +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 3703 "AppWindow.c" + GtkWindow* _tmp2_ = NULL; + GtkWindow* _tmp3_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = parent; +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp3_; +#line 3714 "AppWindow.c" + } else { + AppWindow* _tmp4_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = app_window_get_instance (); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_window_get_type (), GtkWindow); +#line 3723 "AppWindow.c" + } +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = title; +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = message; +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = build_alert_body_text (_tmp5_, _tmp6_, TRUE); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = _tmp7_; +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = (GtkMessageDialog*) gtk_message_dialog_new (_tmp0_, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", _tmp8_); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp9_); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp9_; +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp8_); +#line 585 "/home/jens/Source/shotwell/src/AppWindow.vala" + dialog = _tmp10_; +#line 588 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = title; +#line 588 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = message; +#line 588 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = build_alert_body_text (_tmp11_, _tmp12_, TRUE); +#line 588 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = _tmp13_; +#line 588 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_message_dialog_set_markup (dialog, _tmp14_); +#line 588 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp14_); +#line 589 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = negative; +#line 589 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = affirmative; +#line 589 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_dialog_add_buttons (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), _tmp15_, GTK_RESPONSE_NO, _tmp16_, GTK_RESPONSE_YES, NULL); +#line 590 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_urgency_hint (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_window_get_type (), GtkWindow), TRUE); +#line 592 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog)); +#line 592 "/home/jens/Source/shotwell/src/AppWindow.vala" + response = _tmp17_ == ((gint) GTK_RESPONSE_YES); +#line 594 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_widget_get_type (), GtkWidget)); +#line 596 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = response; +#line 596 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (dialog); +#line 596 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 596 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 3777 "AppWindow.c" +} + + +GtkResponseType app_window_negate_affirm_cancel_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* title, GtkWindow* parent) { + GtkResponseType result = 0; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GtkMessageDialog* dialog = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GtkMessageDialog* _tmp9_ = NULL; + GtkMessageDialog* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gint response = 0; + gint _tmp18_ = 0; +#line 599 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (message != NULL, 0); +#line 599 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (negative != NULL, 0); +#line 599 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (affirmative != NULL, 0); +#line 599 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail ((parent == NULL) || GTK_IS_WINDOW (parent), 0); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = parent; +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 3813 "AppWindow.c" + GtkWindow* _tmp2_ = NULL; + GtkWindow* _tmp3_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = parent; +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp3_; +#line 3824 "AppWindow.c" + } else { + AppWindow* _tmp4_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = app_window_get_instance (); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_window_get_type (), GtkWindow); +#line 3833 "AppWindow.c" + } +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = title; +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = message; +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = build_alert_body_text (_tmp5_, _tmp6_, TRUE); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = _tmp7_; +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = (GtkMessageDialog*) gtk_message_dialog_new_with_markup (_tmp0_, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", _tmp8_); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp9_); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp9_; +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp8_); +#line 601 "/home/jens/Source/shotwell/src/AppWindow.vala" + dialog = _tmp10_; +#line 604 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = negative; +#line 604 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = affirmative; +#line 604 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = _ ("_Cancel"); +#line 604 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_dialog_add_buttons (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), _tmp11_, GTK_RESPONSE_NO, _tmp12_, GTK_RESPONSE_YES, _tmp13_, GTK_RESPONSE_CANCEL, NULL); +#line 608 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = title; +#line 608 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = message; +#line 608 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = build_alert_body_text (_tmp14_, _tmp15_, TRUE); +#line 608 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = _tmp16_; +#line 608 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_message_dialog_set_markup (dialog, _tmp17_); +#line 608 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp17_); +#line 609 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_set (dialog, "use-markup", TRUE, NULL); +#line 611 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog)); +#line 611 "/home/jens/Source/shotwell/src/AppWindow.vala" + response = _tmp18_; +#line 613 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_widget_get_type (), GtkWidget)); +#line 615 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = (GtkResponseType) response; +#line 615 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (dialog); +#line 615 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 615 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 3889 "AppWindow.c" +} + + +GtkResponseType app_window_affirm_cancel_question (const gchar* message, const gchar* affirmative, const gchar* title, GtkWindow* parent) { + GtkResponseType result = 0; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GtkMessageDialog* dialog = NULL; + const gchar* _tmp5_ = NULL; + GtkMessageDialog* _tmp6_ = NULL; + GtkMessageDialog* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkMessageDialog* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GtkMessageDialog* _tmp13_ = NULL; + GtkMessageDialog* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gint response = 0; + GtkMessageDialog* _tmp17_ = NULL; + gint _tmp18_ = 0; + GtkMessageDialog* _tmp19_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (message != NULL, 0); +#line 618 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (affirmative != NULL, 0); +#line 618 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail ((parent == NULL) || GTK_IS_WINDOW (parent), 0); +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = parent; +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 3923 "AppWindow.c" + GtkWindow* _tmp2_ = NULL; + GtkWindow* _tmp3_ = NULL; +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = parent; +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp3_; +#line 3934 "AppWindow.c" + } else { + AppWindow* _tmp4_ = NULL; +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = app_window_get_instance (); +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_window_get_type (), GtkWindow); +#line 3943 "AppWindow.c" + } +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = message; +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = (GtkMessageDialog*) gtk_message_dialog_new_with_markup (_tmp0_, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", _tmp5_); +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp6_); +#line 620 "/home/jens/Source/shotwell/src/AppWindow.vala" + dialog = _tmp6_; +#line 623 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = dialog; +#line 623 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = message; +#line 623 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_message_dialog_set_markup (_tmp7_, _tmp8_); +#line 624 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = dialog; +#line 624 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_set (_tmp9_, "use-markup", TRUE, NULL); +#line 625 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = title; +#line 625 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp11_ != NULL) { +#line 3967 "AppWindow.c" + const gchar* _tmp12_ = NULL; +#line 625 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = title; +#line 625 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp12_; +#line 3973 "AppWindow.c" + } else { +#line 625 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = RESOURCES_APP_TITLE; +#line 3977 "AppWindow.c" + } +#line 625 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = dialog; +#line 625 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_window_get_type (), GtkWindow), _tmp10_); +#line 626 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = dialog; +#line 626 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = affirmative; +#line 626 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = _ ("_Cancel"); +#line 626 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_dialog_add_buttons (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_dialog_get_type (), GtkDialog), _tmp15_, GTK_RESPONSE_YES, _tmp16_, GTK_RESPONSE_CANCEL, NULL); +#line 629 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = dialog; +#line 629 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_dialog_get_type (), GtkDialog)); +#line 629 "/home/jens/Source/shotwell/src/AppWindow.vala" + response = _tmp18_; +#line 631 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp19_ = dialog; +#line 631 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget)); +#line 633 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = (GtkResponseType) response; +#line 633 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (dialog); +#line 633 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 633 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 4009 "AppWindow.c" +} + + +GtkResponseType app_window_negate_affirm_all_cancel_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* affirmative_all, const gchar* title, GtkWindow* parent) { + GtkResponseType result = 0; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GtkMessageDialog* dialog = NULL; + const gchar* _tmp5_ = NULL; + GtkMessageDialog* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkMessageDialog* _tmp10_ = NULL; + GtkMessageDialog* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gint response = 0; + GtkMessageDialog* _tmp16_ = NULL; + gint _tmp17_ = 0; + GtkMessageDialog* _tmp18_ = NULL; +#line 636 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (message != NULL, 0); +#line 636 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (negative != NULL, 0); +#line 636 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (affirmative != NULL, 0); +#line 636 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (affirmative_all != NULL, 0); +#line 636 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail ((parent == NULL) || GTK_IS_WINDOW (parent), 0); +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = parent; +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 4046 "AppWindow.c" + GtkWindow* _tmp2_ = NULL; + GtkWindow* _tmp3_ = NULL; +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = parent; +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _tmp3_; +#line 4057 "AppWindow.c" + } else { + AppWindow* _tmp4_ = NULL; +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = app_window_get_instance (); +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_window_get_type (), GtkWindow); +#line 4066 "AppWindow.c" + } +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = message; +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = (GtkMessageDialog*) gtk_message_dialog_new (_tmp0_, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", _tmp5_); +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp6_); +#line 639 "/home/jens/Source/shotwell/src/AppWindow.vala" + dialog = _tmp6_; +#line 641 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = title; +#line 641 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp8_ != NULL) { +#line 4080 "AppWindow.c" + const gchar* _tmp9_ = NULL; +#line 641 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = title; +#line 641 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = _tmp9_; +#line 4086 "AppWindow.c" + } else { +#line 641 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = RESOURCES_APP_TITLE; +#line 4090 "AppWindow.c" + } +#line 641 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = dialog; +#line 641 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_window_get_type (), GtkWindow), _tmp7_); +#line 642 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = dialog; +#line 642 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = negative; +#line 642 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = affirmative; +#line 642 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = affirmative_all; +#line 642 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = _ ("_Cancel"); +#line 642 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_dialog_add_buttons (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_dialog_get_type (), GtkDialog), _tmp12_, GTK_RESPONSE_NO, _tmp13_, GTK_RESPONSE_YES, _tmp14_, GTK_RESPONSE_APPLY, _tmp15_, GTK_RESPONSE_CANCEL, NULL); +#line 645 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = dialog; +#line 645 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_dialog_get_type (), GtkDialog)); +#line 645 "/home/jens/Source/shotwell/src/AppWindow.vala" + response = _tmp17_; +#line 647 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_ = dialog; +#line 647 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget)); +#line 649 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = (GtkResponseType) response; +#line 649 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (dialog); +#line 649 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 649 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 4126 "AppWindow.c" +} + + +void app_window_database_error (GError* err) { + const gchar* _tmp0_ = NULL; + GError* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 653 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _ ("A fatal error occurred when accessing Shotwell's library. Shotwell ca" \ +"nnot continue.\n" \ +"\n" \ +"%s"); +#line 653 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = err; +#line 653 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = _tmp1_->message; +#line 653 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = g_strdup_printf (_tmp0_, _tmp2_); +#line 653 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 653 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_panic (_tmp4_); +#line 653 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp4_); +#line 4150 "AppWindow.c" +} + + +void app_window_panic (const gchar* msg) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + Application* _tmp2_ = NULL; + Application* _tmp3_ = NULL; +#line 657 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (msg != NULL); +#line 658 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = msg; +#line 658 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_critical ("AppWindow.vala:658: %s", _tmp0_); +#line 659 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = msg; +#line 659 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_error_message (_tmp1_, NULL); +#line 661 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = application_get_instance (); +#line 661 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp2_; +#line 661 "/home/jens/Source/shotwell/src/AppWindow.vala" + application_panic (_tmp3_); +#line 661 "/home/jens/Source/shotwell/src/AppWindow.vala" + _application_unref0 (_tmp3_); +#line 4177 "AppWindow.c" +} + + +static gchar* app_window_real_get_app_role (AppWindow* self) { +#line 664 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_critical ("Type `%s' does not implement abstract method `app_window_get_app_role'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 664 "/home/jens/Source/shotwell/src/AppWindow.vala" + return NULL; +#line 4186 "AppWindow.c" +} + + +gchar* app_window_get_app_role (AppWindow* self) { +#line 664 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_APP_WINDOW (self), NULL); +#line 664 "/home/jens/Source/shotwell/src/AppWindow.vala" + return APP_WINDOW_GET_CLASS (self)->get_app_role (self); +#line 4195 "AppWindow.c" +} + + +void app_window_on_about (AppWindow* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_get_app_role (self); +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_; +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = _ ("Visit the Shotwell web site"); +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = resources_get_icon (RESOURCES_ICON_ABOUT_LOGO, -1); +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _ ("translator-credits"); +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_show_about_dialog (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), "version", RESOURCES_APP_VERSION, "comments", _tmp1_, "copyright", RESOURCES_COPYRIGHT, "website", RESOURCES_HOME_URL, "license", RESOURCES_LICENSE, "website-label", _tmp2_, "authors", RESOURCES_AUTHORS, "logo", _tmp4_, "translator-credits", _tmp5_, NULL, NULL); +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp4_); +#line 667 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp1_); +#line 4226 "AppWindow.c" +} + + +static void app_window_on_help_contents (AppWindow* self) { + GError * _inner_error_ = NULL; +#line 681 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 4234 "AppWindow.c" + { + GdkScreen* _tmp0_ = NULL; +#line 683 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = gtk_window_get_screen (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 683 "/home/jens/Source/shotwell/src/AppWindow.vala" + resources_launch_help (_tmp0_, NULL, &_inner_error_); +#line 683 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4243 "AppWindow.c" + goto __catch215_g_error; + } + } + goto __finally215; + __catch215_g_error: + { + GError* err = NULL; + const gchar* _tmp1_ = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 682 "/home/jens/Source/shotwell/src/AppWindow.vala" + err = _inner_error_; +#line 682 "/home/jens/Source/shotwell/src/AppWindow.vala" + _inner_error_ = NULL; +#line 685 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _ ("Unable to display help: %s"); +#line 685 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = err; +#line 685 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp2_->message; +#line 685 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = g_strdup_printf (_tmp1_, _tmp3_); +#line 685 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_; +#line 685 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_error_message (_tmp5_, NULL); +#line 685 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp5_); +#line 682 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_error_free0 (err); +#line 4276 "AppWindow.c" + } + __finally215: +#line 682 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 682 "/home/jens/Source/shotwell/src/AppWindow.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 682 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_clear_error (&_inner_error_); +#line 682 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4287 "AppWindow.c" + } +} + + +static void app_window_on_help_report_problem (AppWindow* self) { + GError * _inner_error_ = NULL; +#line 689 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 4296 "AppWindow.c" + { +#line 691 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_show_uri (self, RESOURCES_BUG_DB_URL, &_inner_error_); +#line 691 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4302 "AppWindow.c" + goto __catch216_g_error; + } + } + goto __finally216; + __catch216_g_error: + { + GError* err = NULL; + const gchar* _tmp0_ = NULL; + GError* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 690 "/home/jens/Source/shotwell/src/AppWindow.vala" + err = _inner_error_; +#line 690 "/home/jens/Source/shotwell/src/AppWindow.vala" + _inner_error_ = NULL; +#line 693 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _ ("Unable to navigate to bug database: %s"); +#line 693 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = err; +#line 693 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = _tmp1_->message; +#line 693 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = g_strdup_printf (_tmp0_, _tmp2_); +#line 693 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 693 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_error_message (_tmp4_, NULL); +#line 693 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp4_); +#line 690 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_error_free0 (err); +#line 4335 "AppWindow.c" + } + __finally216: +#line 690 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 690 "/home/jens/Source/shotwell/src/AppWindow.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 690 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_clear_error (&_inner_error_); +#line 690 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4346 "AppWindow.c" + } +} + + +static void app_window_on_help_faq (AppWindow* self) { + GError * _inner_error_ = NULL; +#line 697 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 4355 "AppWindow.c" + { +#line 699 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_show_uri (self, RESOURCES_FAQ_URL, &_inner_error_); +#line 699 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4361 "AppWindow.c" + goto __catch217_g_error; + } + } + goto __finally217; + __catch217_g_error: + { + GError* err = NULL; + const gchar* _tmp0_ = NULL; + GError* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 698 "/home/jens/Source/shotwell/src/AppWindow.vala" + err = _inner_error_; +#line 698 "/home/jens/Source/shotwell/src/AppWindow.vala" + _inner_error_ = NULL; +#line 701 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _ ("Unable to display FAQ: %s"); +#line 701 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = err; +#line 701 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = _tmp1_->message; +#line 701 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = g_strdup_printf (_tmp0_, _tmp2_); +#line 701 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 701 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_error_message (_tmp4_, NULL); +#line 701 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp4_); +#line 698 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_error_free0 (err); +#line 4394 "AppWindow.c" + } + __finally217: +#line 698 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 698 "/home/jens/Source/shotwell/src/AppWindow.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 698 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_clear_error (&_inner_error_); +#line 698 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4405 "AppWindow.c" + } +} + + +static void app_window_real_on_quit (AppWindow* self) { + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; +#line 706 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = application_get_instance (); +#line 706 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_; +#line 706 "/home/jens/Source/shotwell/src/AppWindow.vala" + application_exit (_tmp1_); +#line 706 "/home/jens/Source/shotwell/src/AppWindow.vala" + _application_unref0 (_tmp1_); +#line 4421 "AppWindow.c" +} + + +void app_window_on_quit (AppWindow* self) { +#line 705 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 705 "/home/jens/Source/shotwell/src/AppWindow.vala" + APP_WINDOW_GET_CLASS (self)->on_quit (self); +#line 4430 "AppWindow.c" +} + + +void app_window_on_jump_to_file (AppWindow* self) { + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + MediaSource* media = NULL; + Page* _tmp6_ = NULL; + Page* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + MediaSource* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + GError * _inner_error_ = NULL; +#line 709 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_; +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = page_get_view (_tmp1_); +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp2_; +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = view_collection_get_selected_count (_tmp3_); +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_ != 1; +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp3_); +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp1_); +#line 710 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp5_) { +#line 711 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4475 "AppWindow.c" + } +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = _tmp6_; +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = page_get_view (_tmp7_); +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = _tmp8_; +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = view_collection_get_selected_at (_tmp9_, 0); +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = _tmp10_; +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = data_view_get_source (_tmp11_); +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, TYPE_MEDIA_SOURCE) ? ((MediaSource*) _tmp12_) : NULL; +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp13_ == NULL) { +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp12_); +#line 4497 "AppWindow.c" + } +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = _tmp13_; +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp11_); +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp9_); +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp7_); +#line 713 "/home/jens/Source/shotwell/src/AppWindow.vala" + media = _tmp14_; +#line 715 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = media; +#line 715 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp15_ == NULL) { +#line 716 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (media); +#line 716 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4517 "AppWindow.c" + } + { + AppWindow* _tmp16_ = NULL; + AppWindow* _tmp17_ = NULL; + MediaSource* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = app_window_get_instance (); +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = _tmp16_; +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_ = media; +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp19_ = media_source_get_master_file (_tmp18_); +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp20_ = _tmp19_; +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_show_file_uri (_tmp17_, _tmp20_, &_inner_error_); +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp20_); +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp17_); +#line 719 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4543 "AppWindow.c" + goto __catch218_g_error; + } + } + goto __finally218; + __catch218_g_error: + { + GError* err = NULL; + GError* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 718 "/home/jens/Source/shotwell/src/AppWindow.vala" + err = _inner_error_; +#line 718 "/home/jens/Source/shotwell/src/AppWindow.vala" + _inner_error_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp21_ = err; +#line 721 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_ = resources_jump_to_file_failed (_tmp21_); +#line 721 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp23_ = _tmp22_; +#line 721 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_error_message (_tmp23_, NULL); +#line 721 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp23_); +#line 718 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_error_free0 (err); +#line 4570 "AppWindow.c" + } + __finally218: +#line 718 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 718 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (media); +#line 718 "/home/jens/Source/shotwell/src/AppWindow.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 718 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_clear_error (&_inner_error_); +#line 718 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4583 "AppWindow.c" + } +#line 709 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (media); +#line 4587 "AppWindow.c" +} + + +static void app_window_real_destroy (GtkWidget* base) { + AppWindow * self; +#line 725 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_APP_WINDOW, AppWindow); +#line 726 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_quit (self); +#line 4597 "AppWindow.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 4610 "AppWindow.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 4641 "AppWindow.c" + goto __catch219_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 4650 "AppWindow.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 4666 "AppWindow.c" + goto __catch219_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 4677 "AppWindow.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 4691 "AppWindow.c" + } + goto __finally219; + __catch219_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 4705 "AppWindow.c" + } + __finally219: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 4716 "AppWindow.c" + } +} + + +void app_window_show_file_uri (AppWindow* self, GFile* file, GError** error) { + gchar* tmp = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GError * _inner_error_ = NULL; +#line 729 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 729 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 734 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = get_nautilus_install_location (); +#line 734 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_; +#line 734 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = _tmp1_ != NULL; +#line 734 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp1_); +#line 734 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_) { +#line 4741 "AppWindow.c" + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 735 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = file; +#line 735 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = g_file_get_uri (_tmp3_); +#line 735 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_; +#line 735 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = string_replace (_tmp5_, "'", "\\\'"); +#line 735 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (tmp); +#line 735 "/home/jens/Source/shotwell/src/AppWindow.vala" + tmp = _tmp6_; +#line 735 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp5_); +#line 736 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = tmp; +#line 736 "/home/jens/Source/shotwell/src/AppWindow.vala" + show_file_in_nautilus (_tmp7_, &_inner_error_); +#line 736 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 736 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_propagate_error (error, _inner_error_); +#line 736 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (tmp); +#line 736 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4773 "AppWindow.c" + } + } else { + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = file; +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = g_file_get_parent (_tmp8_); +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp9_; +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = g_file_get_uri (_tmp10_); +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = _tmp11_; +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = string_replace (_tmp12_, "'", "\\\'"); +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (tmp); +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + tmp = _tmp13_; +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp12_); +#line 738 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp10_); +#line 739 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = tmp; +#line 739 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_show_uri (self, _tmp14_, &_inner_error_); +#line 739 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 739 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_propagate_error (error, _inner_error_); +#line 739 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (tmp); +#line 739 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4815 "AppWindow.c" + } + } +#line 729 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (tmp); +#line 4820 "AppWindow.c" +} + + +void app_window_show_uri (AppWindow* self, const gchar* url, GError** error) { + GdkWindow* _tmp0_ = NULL; + GdkScreen* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 743 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 743 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (url != NULL); +#line 744 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 744 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = gdk_window_get_screen (_tmp0_); +#line 744 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = url; +#line 744 "/home/jens/Source/shotwell/src/AppWindow.vala" + sys_show_uri (_tmp1_, _tmp2_, &_inner_error_); +#line 744 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 744 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_propagate_error (error, _inner_error_); +#line 744 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 4847 "AppWindow.c" + } +} + + +static void _vala_array_add170 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value) { +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + if ((*length) == (*size)) { +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + *array = g_renew (GtkActionGroup*, *array, (*size) + 1); +#line 4859 "AppWindow.c" + } +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[(*length)++] = value; +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + (*array)[*length] = NULL; +#line 4865 "AppWindow.c" +} + + +static GtkActionGroup** app_window_real_create_common_action_groups (AppWindow* self, int* result_length1) { + GtkActionGroup** result = NULL; + GtkActionGroup** groups = NULL; + GtkActionGroup** _tmp0_ = NULL; + gint groups_length1 = 0; + gint _groups_size_ = 0; + GtkActionGroup* _tmp1_ = NULL; + gint _tmp2_ = 0; + GtkActionEntry* _tmp3_ = NULL; + GtkActionEntry* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkActionGroup** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GtkActionGroup* _tmp6_ = NULL; + GtkActionGroup* _tmp7_ = NULL; + GtkActionGroup** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 748 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = g_new0 (GtkActionGroup*, 0 + 1); +#line 748 "/home/jens/Source/shotwell/src/AppWindow.vala" + groups = _tmp0_; +#line 748 "/home/jens/Source/shotwell/src/AppWindow.vala" + groups_length1 = 0; +#line 748 "/home/jens/Source/shotwell/src/AppWindow.vala" + _groups_size_ = groups_length1; +#line 750 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->priv->common_action_group; +#line 750 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = app_window_create_common_actions (self, &_tmp2_); +#line 750 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 750 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4__length1 = _tmp2_; +#line 750 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_group_add_actions (_tmp1_, _tmp4_, _tmp2_, self); +#line 750 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = (g_free (_tmp4_), NULL); +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = groups; +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5__length1 = groups_length1; +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = self->priv->common_action_group; +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 751 "/home/jens/Source/shotwell/src/AppWindow.vala" + _vala_array_add170 (&groups, &groups_length1, &_groups_size_, _tmp7_); +#line 753 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = groups; +#line 753 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8__length1 = groups_length1; +#line 753 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (result_length1) { +#line 753 "/home/jens/Source/shotwell/src/AppWindow.vala" + *result_length1 = _tmp8__length1; +#line 4924 "AppWindow.c" + } +#line 753 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp8_; +#line 753 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 4930 "AppWindow.c" +} + + +GtkActionGroup** app_window_create_common_action_groups (AppWindow* self, int* result_length1) { +#line 747 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_APP_WINDOW (self), NULL); +#line 747 "/home/jens/Source/shotwell/src/AppWindow.vala" + return APP_WINDOW_GET_CLASS (self)->create_common_action_groups (self, result_length1); +#line 4939 "AppWindow.c" +} + + +static GtkActionGroup** _vala_array_dup28 (GtkActionGroup** self, int length) { + GtkActionGroup** result; + int i; +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = g_new0 (GtkActionGroup*, length + 1); +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + for (i = 0; i < length; i++) { +#line 4950 "AppWindow.c" + GtkActionGroup* _tmp0_ = NULL; +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + result[i] = _tmp0_; +#line 4956 "AppWindow.c" + } +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 4960 "AppWindow.c" +} + + +GtkActionGroup** app_window_get_common_action_groups (AppWindow* self, int* result_length1) { + GtkActionGroup** result = NULL; + GtkActionGroup** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + GtkActionGroup** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GtkActionGroup** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 756 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_APP_WINDOW (self), NULL); +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->common_action_groups; +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0__length1 = self->common_action_groups_length1; +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup28 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1__length1 = _tmp0__length1; +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = _tmp1_; +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2__length1 = _tmp1__length1; +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (result_length1) { +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + *result_length1 = _tmp2__length1; +#line 4990 "AppWindow.c" + } +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp2_; +#line 757 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 4996 "AppWindow.c" +} + + +static void app_window_real_replace_common_placeholders (AppWindow* self, GtkUIManager* ui) { +#line 760 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (GTK_IS_UI_MANAGER (ui)); +#line 5003 "AppWindow.c" +} + + +void app_window_replace_common_placeholders (AppWindow* self, GtkUIManager* ui) { +#line 760 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 760 "/home/jens/Source/shotwell/src/AppWindow.vala" + APP_WINDOW_GET_CLASS (self)->replace_common_placeholders (self, ui); +#line 5012 "AppWindow.c" +} + + +void app_window_go_fullscreen (AppWindow* self, Page* page) { + FullscreenWindow* _tmp0_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + FullscreenWindow* fsw = NULL; + Page* _tmp4_ = NULL; + FullscreenWindow* _tmp5_ = NULL; + Page* _tmp6_ = NULL; + Page* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + FullscreenWindow* _tmp12_ = NULL; + FullscreenWindow* _tmp13_ = NULL; + FullscreenWindow* _tmp14_ = NULL; +#line 763 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 763 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 765 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_fullscreen_window; +#line 765 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_ != NULL) { +#line 5037 "AppWindow.c" + FullscreenWindow* _tmp1_ = NULL; +#line 766 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = app_window_fullscreen_window; +#line 766 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_window_get_type (), GtkWindow)); +#line 768 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 5045 "AppWindow.c" + } +#line 771 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_get_position (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), &_tmp2_, &_tmp3_); +#line 771 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->pos_x = _tmp2_; +#line 771 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->pos_y = _tmp3_; +#line 772 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 774 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = page; +#line 774 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = fullscreen_window_new (_tmp4_); +#line 774 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_object_ref_sink (_tmp5_); +#line 774 "/home/jens/Source/shotwell/src/AppWindow.vala" + fsw = _tmp5_; +#line 776 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 776 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = _tmp6_; +#line 776 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = _tmp7_ != NULL; +#line 776 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp7_); +#line 776 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp8_) { +#line 5073 "AppWindow.c" + Page* _tmp9_ = NULL; + Page* _tmp10_ = NULL; + FullscreenWindow* _tmp11_ = NULL; +#line 777 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 777 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp9_; +#line 777 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = fsw; +#line 777 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_switching_to_fullscreen (_tmp10_, _tmp11_); +#line 777 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp10_); +#line 5087 "AppWindow.c" + } +#line 779 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = fsw; +#line 779 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 779 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (app_window_fullscreen_window); +#line 779 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_fullscreen_window = _tmp13_; +#line 780 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = app_window_fullscreen_window; +#line 780 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_window_get_type (), GtkWindow)); +#line 763 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (fsw); +#line 5103 "AppWindow.c" +} + + +void app_window_end_fullscreen (AppWindow* self) { + FullscreenWindow* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + Page* _tmp3_ = NULL; + Page* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + FullscreenWindow* _tmp9_ = NULL; + FullscreenWindow* _tmp10_ = NULL; +#line 783 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 784 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_fullscreen_window; +#line 784 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp0_ == NULL) { +#line 785 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 5124 "AppWindow.c" + } +#line 787 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = self->pos_x; +#line 787 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->pos_y; +#line 787 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_move (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp1_, _tmp2_); +#line 789 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 791 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 791 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = _tmp3_; +#line 791 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_ != NULL; +#line 791 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp4_); +#line 791 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp5_) { +#line 5144 "AppWindow.c" + Page* _tmp6_ = NULL; + Page* _tmp7_ = NULL; + FullscreenWindow* _tmp8_ = NULL; +#line 792 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 792 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = _tmp6_; +#line 792 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = app_window_fullscreen_window; +#line 792 "/home/jens/Source/shotwell/src/AppWindow.vala" + page_returning_from_fullscreen (_tmp7_, _tmp8_); +#line 792 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp7_); +#line 5158 "AppWindow.c" + } +#line 794 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = app_window_fullscreen_window; +#line 794 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 795 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = app_window_fullscreen_window; +#line 795 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget)); +#line 796 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (app_window_fullscreen_window); +#line 796 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_fullscreen_window = NULL; +#line 798 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 5174 "AppWindow.c" +} + + +GtkAction* app_window_get_common_action (AppWindow* self, const gchar* name) { + GtkAction* result = NULL; + GtkActionGroup** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp7_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (IS_APP_WINDOW (self), NULL); +#line 801 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = self->common_action_groups; +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0__length1 = self->common_action_groups_length1; +#line 5191 "AppWindow.c" + { + GtkActionGroup** group_collection = NULL; + gint group_collection_length1 = 0; + gint _group_collection_size_ = 0; + gint group_it = 0; +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + group_collection = _tmp0_; +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + group_collection_length1 = _tmp0__length1; +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + for (group_it = 0; group_it < _tmp0__length1; group_it = group_it + 1) { +#line 5203 "AppWindow.c" + GtkActionGroup* _tmp1_ = NULL; + GtkActionGroup* group = NULL; +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _g_object_ref0 (group_collection[group_it]); +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + group = _tmp1_; +#line 5210 "AppWindow.c" + { + GtkAction* action = NULL; + GtkActionGroup* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkAction* _tmp4_ = NULL; + GtkAction* _tmp5_ = NULL; + GtkAction* _tmp6_ = NULL; +#line 803 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = group; +#line 803 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = name; +#line 803 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = gtk_action_group_get_action (_tmp2_, _tmp3_); +#line 803 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 803 "/home/jens/Source/shotwell/src/AppWindow.vala" + action = _tmp5_; +#line 804 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = action; +#line 804 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp6_ != NULL) { +#line 805 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = action; +#line 805 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (group); +#line 805 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 5238 "AppWindow.c" + } +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (action); +#line 802 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (group); +#line 5244 "AppWindow.c" + } + } + } +#line 808 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = name; +#line 808 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_warning ("AppWindow.vala:808: No common action found: %s", _tmp7_); +#line 810 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = NULL; +#line 810 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 5256 "AppWindow.c" +} + + +void app_window_set_common_action_sensitive (AppWindow* self, const gchar* name, gboolean sensitive) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 813 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 813 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (name != NULL); +#line 814 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = name; +#line 814 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = app_window_get_common_action (self, _tmp0_); +#line 814 "/home/jens/Source/shotwell/src/AppWindow.vala" + action = _tmp1_; +#line 815 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = action; +#line 815 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_ != NULL) { +#line 5279 "AppWindow.c" + GtkAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 816 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = action; +#line 816 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = sensitive; +#line 816 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_sensitive (_tmp3_, _tmp4_); +#line 5288 "AppWindow.c" + } +#line 813 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (action); +#line 5292 "AppWindow.c" +} + + +void app_window_set_common_action_important (AppWindow* self, const gchar* name, gboolean important) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 819 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 819 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (name != NULL); +#line 820 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = name; +#line 820 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = app_window_get_common_action (self, _tmp0_); +#line 820 "/home/jens/Source/shotwell/src/AppWindow.vala" + action = _tmp1_; +#line 821 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = action; +#line 821 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_ != NULL) { +#line 5315 "AppWindow.c" + GtkAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 822 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = action; +#line 822 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = important; +#line 822 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_is_important (_tmp3_, _tmp4_); +#line 5324 "AppWindow.c" + } +#line 819 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (action); +#line 5328 "AppWindow.c" +} + + +void app_window_set_common_action_visible (AppWindow* self, const gchar* name, gboolean visible) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 825 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 825 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (name != NULL); +#line 826 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = name; +#line 826 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = app_window_get_common_action (self, _tmp0_); +#line 826 "/home/jens/Source/shotwell/src/AppWindow.vala" + action = _tmp1_; +#line 827 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = action; +#line 827 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_ != NULL) { +#line 5351 "AppWindow.c" + GtkAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 828 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = action; +#line 828 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = visible; +#line 828 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_visible (_tmp3_, _tmp4_); +#line 5360 "AppWindow.c" + } +#line 825 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (action); +#line 5364 "AppWindow.c" +} + + +static void _app_window_on_update_common_actions_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 835 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_update_common_actions ((AppWindow*) self); +#line 5371 "AppWindow.c" +} + + +static void _app_window_on_update_common_actions_view_collection_selection_group_altered (ViewCollection* _sender, gpointer self) { +#line 836 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_update_common_actions ((AppWindow*) self); +#line 5378 "AppWindow.c" +} + + +static void _app_window_on_update_common_actions_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self) { +#line 837 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_on_update_common_actions ((AppWindow*) self); +#line 5385 "AppWindow.c" +} + + +static void app_window_real_switched_pages (PageWindow* base, Page* old_page, Page* new_page) { + AppWindow * self; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + Page* _tmp2_ = NULL; + Page* _tmp15_ = NULL; + Page* _tmp34_ = NULL; + Page* _tmp35_ = NULL; +#line 831 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_APP_WINDOW, AppWindow); +#line 831 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page)); +#line 831 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page)); +#line 832 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = old_page; +#line 832 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = new_page; +#line 832 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_update_common_action_availability (self, _tmp0_, _tmp1_); +#line 834 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = old_page; +#line 834 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_ != NULL) { +#line 5413 "AppWindow.c" + Page* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + guint _tmp6_ = 0U; + Page* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + guint _tmp10_ = 0U; + Page* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + guint _tmp14_ = 0U; +#line 835 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = old_page; +#line 835 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = page_get_view (_tmp3_); +#line 835 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_; +#line 835 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp6_, NULL, FALSE); +#line 835 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _app_window_on_update_common_actions_data_collection_contents_altered, self); +#line 835 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp5_); +#line 836 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = old_page; +#line 836 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = page_get_view (_tmp7_); +#line 836 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = _tmp8_; +#line 836 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_parse_name ("selection-group-altered", TYPE_VIEW_COLLECTION, &_tmp10_, NULL, FALSE); +#line 836 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _app_window_on_update_common_actions_view_collection_selection_group_altered, self); +#line 836 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp9_); +#line 837 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = old_page; +#line 837 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = page_get_view (_tmp11_); +#line 837 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = _tmp12_; +#line 837 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_parse_name ("items-state-changed", TYPE_VIEW_COLLECTION, &_tmp14_, NULL, FALSE); +#line 837 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_handlers_disconnect_matched (_tmp13_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _app_window_on_update_common_actions_view_collection_items_state_changed, self); +#line 837 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp13_); +#line 5462 "AppWindow.c" + } +#line 840 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = new_page; +#line 840 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp15_ != NULL) { +#line 5468 "AppWindow.c" + Page* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + ViewCollection* _tmp18_ = NULL; + Page* _tmp19_ = NULL; + ViewCollection* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + Page* _tmp22_ = NULL; + ViewCollection* _tmp23_ = NULL; + ViewCollection* _tmp24_ = NULL; + Page* _tmp25_ = NULL; + Page* _tmp26_ = NULL; + ViewCollection* _tmp27_ = NULL; + ViewCollection* _tmp28_ = NULL; + gint _tmp29_ = 0; + Page* _tmp30_ = NULL; + ViewCollection* _tmp31_ = NULL; + ViewCollection* _tmp32_ = NULL; + gint _tmp33_ = 0; +#line 841 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = new_page; +#line 841 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = page_get_view (_tmp16_); +#line 841 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_ = _tmp17_; +#line 841 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _app_window_on_update_common_actions_data_collection_contents_altered, self, 0); +#line 841 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp18_); +#line 842 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp19_ = new_page; +#line 842 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp20_ = page_get_view (_tmp19_); +#line 842 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp21_ = _tmp20_; +#line 842 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_connect_object (_tmp21_, "selection-group-altered", (GCallback) _app_window_on_update_common_actions_view_collection_selection_group_altered, self, 0); +#line 842 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp21_); +#line 843 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp22_ = new_page; +#line 843 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp23_ = page_get_view (_tmp22_); +#line 843 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp24_ = _tmp23_; +#line 843 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_signal_connect_object (_tmp24_, "items-state-changed", (GCallback) _app_window_on_update_common_actions_view_collection_items_state_changed, self, 0); +#line 843 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp24_); +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp25_ = new_page; +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp26_ = new_page; +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp27_ = page_get_view (_tmp26_); +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp28_ = _tmp27_; +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp29_ = view_collection_get_selected_count (_tmp28_); +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp30_ = new_page; +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp31_ = page_get_view (_tmp30_); +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp32_ = _tmp31_; +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp33_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_COLLECTION, DataCollection)); +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_update_common_actions (self, _tmp25_, _tmp29_, _tmp33_); +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp32_); +#line 845 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp28_); +#line 5541 "AppWindow.c" + } +#line 849 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp34_ = old_page; +#line 849 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp35_ = new_page; +#line 849 "/home/jens/Source/shotwell/src/AppWindow.vala" + PAGE_WINDOW_CLASS (app_window_parent_class)->switched_pages (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow), _tmp34_, _tmp35_); +#line 5549 "AppWindow.c" +} + + +static void app_window_real_update_common_action_availability (AppWindow* self, Page* old_page, Page* new_page) { + gboolean is_checkerboard = FALSE; + Page* _tmp0_ = NULL; +#line 855 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page)); +#line 855 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page)); +#line 856 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = new_page; +#line 856 "/home/jens/Source/shotwell/src/AppWindow.vala" + is_checkerboard = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_CHECKERBOARD_PAGE); +#line 858 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_set_common_action_sensitive (self, "CommonSelectAll", is_checkerboard); +#line 859 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_set_common_action_sensitive (self, "CommonSelectNone", is_checkerboard); +#line 5568 "AppWindow.c" +} + + +void app_window_update_common_action_availability (AppWindow* self, Page* old_page, Page* new_page) { +#line 855 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 855 "/home/jens/Source/shotwell/src/AppWindow.vala" + APP_WINDOW_GET_CLASS (self)->update_common_action_availability (self, old_page, new_page); +#line 5577 "AppWindow.c" +} + + +static void app_window_real_update_common_actions (AppWindow* self, Page* page, gint selected_count, gint count) { + Page* _tmp0_ = NULL; + gint _tmp2_ = 0; +#line 865 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 866 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = page; +#line 866 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_CHECKERBOARD_PAGE)) { +#line 5590 "AppWindow.c" + gint _tmp1_ = 0; +#line 867 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = count; +#line 867 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_set_common_action_sensitive (self, "CommonSelectAll", _tmp1_ > 0); +#line 5596 "AppWindow.c" + } +#line 868 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = selected_count; +#line 868 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_set_common_action_sensitive (self, "CommonJumpToFile", _tmp2_ == 1); +#line 870 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_decorate_undo_action (self); +#line 871 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_decorate_redo_action (self); +#line 5606 "AppWindow.c" +} + + +void app_window_update_common_actions (AppWindow* self, Page* page, gint selected_count, gint count) { +#line 865 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 865 "/home/jens/Source/shotwell/src/AppWindow.vala" + APP_WINDOW_GET_CLASS (self)->update_common_actions (self, page, selected_count, count); +#line 5615 "AppWindow.c" +} + + +static void app_window_on_update_common_actions (AppWindow* self) { + Page* page = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; +#line 874 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 875 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 875 "/home/jens/Source/shotwell/src/AppWindow.vala" + page = _tmp0_; +#line 876 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = page; +#line 876 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ != NULL) { +#line 5633 "AppWindow.c" + Page* _tmp2_ = NULL; + Page* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + gint _tmp6_ = 0; + Page* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = page; +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = page; +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = page_get_view (_tmp3_); +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_; +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = view_collection_get_selected_count (_tmp5_); +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = page; +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = page_get_view (_tmp7_); +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = _tmp8_; +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_COLLECTION, DataCollection)); +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_update_common_actions (self, _tmp2_, _tmp6_, _tmp10_); +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp9_); +#line 877 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp5_); +#line 5667 "AppWindow.c" + } +#line 874 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (page); +#line 5671 "AppWindow.c" +} + + +static gpointer _command_manager_ref0 (gpointer self) { +#line 881 "/home/jens/Source/shotwell/src/AppWindow.vala" + return self ? command_manager_ref (self) : NULL; +#line 5678 "AppWindow.c" +} + + +CommandManager* app_window_get_command_manager (void) { + CommandManager* result = NULL; + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#line 881 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_command_manager; +#line 881 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _command_manager_ref0 (_tmp0_); +#line 881 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp1_; +#line 881 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 5694 "AppWindow.c" +} + + +static void app_window_on_command_manager_altered (AppWindow* self) { +#line 884 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 885 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_decorate_undo_action (self); +#line 886 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_decorate_redo_action (self); +#line 5705 "AppWindow.c" +} + + +static void app_window_decorate_command_manager_action (AppWindow* self, const gchar* name, const gchar* prefix, const gchar* default_explanation, CommandDescription* desc) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + CommandDescription* _tmp3_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 889 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (name != NULL); +#line 889 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (prefix != NULL); +#line 889 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (default_explanation != NULL); +#line 889 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail ((desc == NULL) || IS_COMMAND_DESCRIPTION (desc)); +#line 891 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = name; +#line 891 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = app_window_get_common_action (self, _tmp0_); +#line 891 "/home/jens/Source/shotwell/src/AppWindow.vala" + action = _tmp1_; +#line 892 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = action; +#line 892 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_ == NULL) { +#line 893 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (action); +#line 893 "/home/jens/Source/shotwell/src/AppWindow.vala" + return; +#line 5739 "AppWindow.c" + } +#line 895 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = desc; +#line 895 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp3_ != NULL) { +#line 5745 "AppWindow.c" + GtkAction* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + CommandDescription* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GtkAction* _tmp11_ = NULL; + CommandDescription* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GtkAction* _tmp15_ = NULL; +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = action; +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = prefix; +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = desc; +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp7_ = command_description_get_name (_tmp6_); +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp8_ = _tmp7_; +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp9_ = g_strdup_printf ("%s %s", _tmp5_, _tmp8_); +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp10_ = _tmp9_; +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_label (_tmp4_, _tmp10_); +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp10_); +#line 896 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp8_); +#line 897 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp11_ = action; +#line 897 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp12_ = desc; +#line 897 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp13_ = command_description_get_explanation (_tmp12_); +#line 897 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp14_ = _tmp13_; +#line 897 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_tooltip (_tmp11_, _tmp14_); +#line 897 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_free0 (_tmp14_); +#line 898 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp15_ = action; +#line 898 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_sensitive (_tmp15_, TRUE); +#line 5794 "AppWindow.c" + } else { + GtkAction* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GtkAction* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + GtkAction* _tmp20_ = NULL; +#line 900 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp16_ = action; +#line 900 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp17_ = prefix; +#line 900 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_label (_tmp16_, _tmp17_); +#line 901 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp18_ = action; +#line 901 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp19_ = default_explanation; +#line 901 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_tooltip (_tmp18_, _tmp19_); +#line 902 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp20_ = action; +#line 902 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_action_set_sensitive (_tmp20_, FALSE); +#line 5817 "AppWindow.c" + } +#line 889 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (action); +#line 5821 "AppWindow.c" +} + + +void app_window_decorate_undo_action (AppWindow* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; + CommandDescription* _tmp2_ = NULL; + CommandDescription* _tmp3_ = NULL; +#line 906 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 907 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_get_command_manager (); +#line 907 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_; +#line 907 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = command_manager_get_undo_description (_tmp1_); +#line 907 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp2_; +#line 907 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_decorate_command_manager_action (self, "CommonUndo", RESOURCES_UNDO_MENU, "", _tmp3_); +#line 907 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp3_); +#line 907 "/home/jens/Source/shotwell/src/AppWindow.vala" + _command_manager_unref0 (_tmp1_); +#line 5846 "AppWindow.c" +} + + +void app_window_decorate_redo_action (AppWindow* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; + CommandDescription* _tmp2_ = NULL; + CommandDescription* _tmp3_ = NULL; +#line 911 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 912 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_get_command_manager (); +#line 912 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = _tmp0_; +#line 912 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = command_manager_get_redo_description (_tmp1_); +#line 912 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = _tmp2_; +#line 912 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_decorate_command_manager_action (self, "CommonRedo", RESOURCES_REDO_MENU, "", _tmp3_); +#line 912 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp3_); +#line 912 "/home/jens/Source/shotwell/src/AppWindow.vala" + _command_manager_unref0 (_tmp1_); +#line 5871 "AppWindow.c" +} + + +static void app_window_on_undo (AppWindow* self) { + CommandManager* _tmp0_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 917 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_command_manager; +#line 917 "/home/jens/Source/shotwell/src/AppWindow.vala" + command_manager_undo (_tmp0_); +#line 5883 "AppWindow.c" +} + + +static void app_window_on_redo (AppWindow* self) { + CommandManager* _tmp0_ = NULL; +#line 920 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 921 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = app_window_command_manager; +#line 921 "/home/jens/Source/shotwell/src/AppWindow.vala" + command_manager_redo (_tmp0_); +#line 5895 "AppWindow.c" +} + + +static void app_window_on_select_all (AppWindow* self) { + Page* page = NULL; + Page* _tmp0_ = NULL; + CheckerboardPage* _tmp1_ = NULL; + Page* _tmp2_ = NULL; +#line 924 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 925 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 925 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp0_) : NULL; +#line 925 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ == NULL) { +#line 925 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 5914 "AppWindow.c" + } +#line 925 "/home/jens/Source/shotwell/src/AppWindow.vala" + page = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 926 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = page; +#line 926 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_ != NULL) { +#line 5922 "AppWindow.c" + Page* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; +#line 927 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = page; +#line 927 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = page_get_view (_tmp3_); +#line 927 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_; +#line 927 "/home/jens/Source/shotwell/src/AppWindow.vala" + view_collection_select_all (_tmp5_); +#line 927 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp5_); +#line 5936 "AppWindow.c" + } +#line 924 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (page); +#line 5940 "AppWindow.c" +} + + +static void app_window_on_select_none (AppWindow* self) { + Page* page = NULL; + Page* _tmp0_ = NULL; + CheckerboardPage* _tmp1_ = NULL; + Page* _tmp2_ = NULL; +#line 930 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_if_fail (IS_APP_WINDOW (self)); +#line 931 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 931 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp0_) : NULL; +#line 931 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp1_ == NULL) { +#line 931 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (_tmp0_); +#line 5959 "AppWindow.c" + } +#line 931 "/home/jens/Source/shotwell/src/AppWindow.vala" + page = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 932 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = page; +#line 932 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (_tmp2_ != NULL) { +#line 5967 "AppWindow.c" + Page* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; +#line 933 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp3_ = page; +#line 933 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp4_ = page_get_view (_tmp3_); +#line 933 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = _tmp4_; +#line 933 "/home/jens/Source/shotwell/src/AppWindow.vala" + view_collection_unselect_all (_tmp5_); +#line 933 "/home/jens/Source/shotwell/src/AppWindow.vala" + _data_collection_unref0 (_tmp5_); +#line 5981 "AppWindow.c" + } +#line 930 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (page); +#line 5985 "AppWindow.c" +} + + +static gboolean app_window_real_configure_event (GtkWidget* base, GdkEventConfigure* event) { + AppWindow * self; + gboolean result = FALSE; + GdkWindow* _tmp0_ = NULL; + GdkWindowState _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + GdkEventConfigure* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 936 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_APP_WINDOW, AppWindow); +#line 936 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 937 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 937 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp1_ = gdk_window_get_state (_tmp0_); +#line 937 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->maximized = _tmp1_ == GDK_WINDOW_STATE_MAXIMIZED; +#line 939 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp2_ = self->maximized; +#line 939 "/home/jens/Source/shotwell/src/AppWindow.vala" + if (!_tmp2_) { +#line 6011 "AppWindow.c" + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 940 "/home/jens/Source/shotwell/src/AppWindow.vala" + gtk_window_get_size (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), &_tmp3_, &_tmp4_); +#line 940 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->dimensions.width = _tmp3_; +#line 940 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->dimensions.height = _tmp4_; +#line 6020 "AppWindow.c" + } +#line 942 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp5_ = event; +#line 942 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp6_ = GTK_WIDGET_CLASS (app_window_parent_class)->configure_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow), gtk_widget_get_type (), GtkWidget), _tmp5_); +#line 942 "/home/jens/Source/shotwell/src/AppWindow.vala" + result = _tmp6_; +#line 942 "/home/jens/Source/shotwell/src/AppWindow.vala" + return result; +#line 6030 "AppWindow.c" +} + + +static void app_window_class_init (AppWindowClass * klass) { +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + app_window_parent_class = g_type_class_peek_parent (klass); +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + g_type_class_add_private (klass, sizeof (AppWindowPrivate)); +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((AppWindowClass *) klass)->on_fullscreen = app_window_real_on_fullscreen; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((AppWindowClass *) klass)->get_app_role = app_window_real_get_app_role; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((AppWindowClass *) klass)->on_quit = app_window_real_on_quit; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->destroy = app_window_real_destroy; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((AppWindowClass *) klass)->create_common_action_groups = app_window_real_create_common_action_groups; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((AppWindowClass *) klass)->replace_common_placeholders = app_window_real_replace_common_placeholders; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((PageWindowClass *) klass)->switched_pages = app_window_real_switched_pages; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((AppWindowClass *) klass)->update_common_action_availability = app_window_real_update_common_action_availability; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((AppWindowClass *) klass)->update_common_actions = app_window_real_update_common_actions; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + ((GtkWidgetClass *) klass)->configure_event = app_window_real_configure_event; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + G_OBJECT_CLASS (klass)->finalize = app_window_finalize; +#line 6061 "AppWindow.c" +} + + +static void app_window_instance_init (AppWindow * self) { + GtkActionGroup* _tmp0_ = NULL; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv = APP_WINDOW_GET_PRIVATE (self); +#line 417 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->maximized = FALSE; +#line 419 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->pos_x = 0; +#line 420 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->pos_y = 0; +#line 422 "/home/jens/Source/shotwell/src/AppWindow.vala" + _tmp0_ = gtk_action_group_new ("AppWindowGlobalActionGroup"); +#line 422 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->priv->common_action_group = _tmp0_; +#line 6079 "AppWindow.c" +} + + +static void app_window_finalize (GObject* obj) { + AppWindow * self; +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_APP_WINDOW, AppWindow); +#line 416 "/home/jens/Source/shotwell/src/AppWindow.vala" + self->common_action_groups = (_vala_array_free (self->common_action_groups, self->common_action_groups_length1, (GDestroyNotify) g_object_unref), NULL); +#line 422 "/home/jens/Source/shotwell/src/AppWindow.vala" + _g_object_unref0 (self->priv->common_action_group); +#line 406 "/home/jens/Source/shotwell/src/AppWindow.vala" + G_OBJECT_CLASS (app_window_parent_class)->finalize (obj); +#line 6093 "AppWindow.c" +} + + +GType app_window_get_type (void) { + static volatile gsize app_window_type_id__volatile = 0; + if (g_once_init_enter (&app_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (AppWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) app_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AppWindow), 0, (GInstanceInitFunc) app_window_instance_init, NULL }; + GType app_window_type_id; + app_window_type_id = g_type_register_static (TYPE_PAGE_WINDOW, "AppWindow", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&app_window_type_id__volatile, app_window_type_id); + } + return app_window_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/AppWindow.vala b/src/AppWindow.vala index dcb88fd..b70a20c 100644 --- a/src/AppWindow.vala +++ b/src/AppWindow.vala @@ -547,7 +547,7 @@ public abstract class AppWindow : PageWindow { return fullscreen_window; } - public static Gtk.Builder create_builder(string glade_filename = "shotwell.glade", void *user = null) { + public static Gtk.Builder create_builder(string glade_filename = "shotwell.ui", void *user = null) { Gtk.Builder builder = new Gtk.Builder(); try { builder.add_from_file(AppDirs.get_resources_dir().get_child("ui").get_child( diff --git a/src/Application.c b/src/Application.c new file mode 100644 index 0000000..3501ff0 --- /dev/null +++ b/src/Application.c @@ -0,0 +1,1200 @@ +/* Application.c generated by valac 0.32.1, the Vala compiler + * generated from Application.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +typedef struct _ApplicationPrivate ApplicationPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_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_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 _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecApplication ParamSpecApplication; +#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 _Application { + GTypeInstance parent_instance; + volatile int ref_count; + ApplicationPrivate * priv; +}; + +struct _ApplicationClass { + GTypeClass parent_class; + void (*finalize) (Application *self); + void (*starting) (Application* self); + void (*exiting) (Application* self, gboolean panicked); + void (*init_done) (Application* self); +}; + +struct _ApplicationPrivate { + GtkApplication* system_app; + gint system_app_run_retval; + gboolean direct; + gboolean fixup_raw_thumbs; + gboolean running; + gboolean exiting_fired; +}; + +struct _ParamSpecApplication { + GParamSpec parent_instance; +}; + + +static gpointer application_parent_class = NULL; +static Application* application_instance; +static Application* application_instance = NULL; + +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +#define APPLICATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_APPLICATION, ApplicationPrivate)) +enum { + APPLICATION_DUMMY_PROPERTY +}; +void application_set_raw_thumbs_fix_required (Application* self, gboolean should_fixup); +gboolean application_get_raw_thumbs_fix_required (Application* self); +static Application* application_new (gboolean is_direct); +static Application* application_construct (GType object_type, gboolean is_direct); +void application_panic (Application* self); +gint application_on_command_line (GApplicationCommandLine* acl); +static gint _application_on_command_line_g_application_command_line (GApplication* _sender, GApplicationCommandLine* command_line, gpointer self); +void application_on_activated (void); +static void _application_on_activated_g_application_activate (GApplication* _sender, gpointer self); +static void _application_on_activated_g_application_startup (GApplication* _sender, gpointer self); +void application_send_to_primary_instance (gchar** argv, int argv_length1); +Application* application_get_instance (void); +void application_present_primary_instance (void); +gboolean application_get_is_remote (void); +gboolean application_get_is_direct (void); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +LibraryWindow* library_window_get_app (void); +void library_window_mounted_camera_shell_notification (LibraryWindow* self, const gchar* uri, gboolean at_startup); +void application_init (gboolean is_direct); +void application_terminate (void); +void application_exit (Application* self); +void application_start (Application* self, gchar** argv, int argv_length1); +guint application_inhibit (Application* self, GtkApplicationInhibitFlags what, const gchar* reason); +void application_uninhibit (Application* self, guint cookie); +gint application_get_run_return_value (Application* self); +static void application_real_starting (Application* self); +static void application_real_exiting (Application* self, gboolean panicked); +static void application_real_init_done (Application* self); +static void application_finalize (Application* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +void application_set_raw_thumbs_fix_required (Application* self, gboolean should_fixup) { + gboolean _tmp0_ = FALSE; +#line 24 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (IS_APPLICATION (self)); +#line 25 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = should_fixup; +#line 25 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->fixup_raw_thumbs = _tmp0_; +#line 157 "Application.c" +} + + +gboolean application_get_raw_thumbs_fix_required (Application* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 28 "/home/jens/Source/shotwell/src/Application.vala" + g_return_val_if_fail (IS_APPLICATION (self), FALSE); +#line 29 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = self->priv->fixup_raw_thumbs; +#line 29 "/home/jens/Source/shotwell/src/Application.vala" + result = _tmp0_; +#line 29 "/home/jens/Source/shotwell/src/Application.vala" + return result; +#line 172 "Application.c" +} + + +static gint _application_on_command_line_g_application_command_line (GApplication* _sender, GApplicationCommandLine* command_line, gpointer self) { + gint result; + result = application_on_command_line (command_line); +#line 61 "/home/jens/Source/shotwell/src/Application.vala" + return result; +#line 181 "Application.c" +} + + +static void _application_on_activated_g_application_activate (GApplication* _sender, gpointer self) { +#line 64 "/home/jens/Source/shotwell/src/Application.vala" + application_on_activated (); +#line 188 "Application.c" +} + + +static void _application_on_activated_g_application_startup (GApplication* _sender, gpointer self) { +#line 65 "/home/jens/Source/shotwell/src/Application.vala" + application_on_activated (); +#line 195 "Application.c" +} + + +static Application* application_construct (GType object_type, gboolean is_direct) { + Application* self = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + GtkApplication* _tmp7_ = NULL; + GtkApplication* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/Application.vala" + self = (Application*) g_type_create_instance (object_type); +#line 36 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = is_direct; +#line 36 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp0_) { +#line 213 "Application.c" + GtkApplication* _tmp1_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = gtk_application_new ("org.yorba.shotwell-direct", G_APPLICATION_HANDLES_OPEN | G_APPLICATION_NON_UNIQUE); +#line 41 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (self->priv->system_app); +#line 41 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->system_app = _tmp1_; +#line 221 "Application.c" + } else { + GtkApplication* _tmp2_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = gtk_application_new ("org.yorba.shotwell", G_APPLICATION_HANDLES_OPEN | G_APPLICATION_HANDLES_COMMAND_LINE); +#line 47 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (self->priv->system_app); +#line 47 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->system_app = _tmp2_; +#line 230 "Application.c" + } + { + GtkApplication* _tmp3_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = self->priv->system_app; +#line 53 "/home/jens/Source/shotwell/src/Application.vala" + g_application_register (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, g_application_get_type (), GApplication), NULL, &_inner_error_); +#line 53 "/home/jens/Source/shotwell/src/Application.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 240 "Application.c" + goto __catch547_g_error; + } + } + goto __finally547; + __catch547_g_error: + { + GError* e = NULL; +#line 52 "/home/jens/Source/shotwell/src/Application.vala" + e = _inner_error_; +#line 52 "/home/jens/Source/shotwell/src/Application.vala" + _inner_error_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/Application.vala" + application_panic (self); +#line 52 "/home/jens/Source/shotwell/src/Application.vala" + _g_error_free0 (e); +#line 256 "Application.c" + } + __finally547: +#line 52 "/home/jens/Source/shotwell/src/Application.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 52 "/home/jens/Source/shotwell/src/Application.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 52 "/home/jens/Source/shotwell/src/Application.vala" + g_clear_error (&_inner_error_); +#line 52 "/home/jens/Source/shotwell/src/Application.vala" + return NULL; +#line 267 "Application.c" + } +#line 58 "/home/jens/Source/shotwell/src/Application.vala" + _tmp4_ = is_direct; +#line 58 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->direct = _tmp4_; +#line 60 "/home/jens/Source/shotwell/src/Application.vala" + _tmp5_ = self->priv->direct; +#line 60 "/home/jens/Source/shotwell/src/Application.vala" + if (!_tmp5_) { +#line 277 "Application.c" + GtkApplication* _tmp6_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/Application.vala" + _tmp6_ = self->priv->system_app; +#line 61 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, g_application_get_type (), GApplication), "command-line", (GCallback) _application_on_command_line_g_application_command_line, NULL); +#line 283 "Application.c" + } +#line 64 "/home/jens/Source/shotwell/src/Application.vala" + _tmp7_ = self->priv->system_app; +#line 64 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, g_application_get_type (), GApplication), "activate", (GCallback) _application_on_activated_g_application_activate, NULL); +#line 65 "/home/jens/Source/shotwell/src/Application.vala" + _tmp8_ = self->priv->system_app; +#line 65 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, g_application_get_type (), GApplication), "startup", (GCallback) _application_on_activated_g_application_startup, NULL); +#line 35 "/home/jens/Source/shotwell/src/Application.vala" + return self; +#line 295 "Application.c" +} + + +static Application* application_new (gboolean is_direct) { +#line 35 "/home/jens/Source/shotwell/src/Application.vala" + return application_construct (TYPE_APPLICATION, is_direct); +#line 302 "Application.c" +} + + +/** + * @brief This is a helper for library mode that should only be + * called if we've gotten a camera mount and are _not_ the primary + * instance. + */ +void application_send_to_primary_instance (gchar** argv, int argv_length1) { + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; + GtkApplication* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 74 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = application_get_instance (); +#line 74 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = _tmp0_; +#line 74 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = _tmp1_->priv->system_app; +#line 74 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = argv; +#line 74 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3__length1 = argv_length1; +#line 74 "/home/jens/Source/shotwell/src/Application.vala" + g_application_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, g_application_get_type (), GApplication), _tmp3__length1, _tmp3_); +#line 74 "/home/jens/Source/shotwell/src/Application.vala" + _application_unref0 (_tmp1_); +#line 331 "Application.c" +} + + +/** + * @brief A helper for library mode that tells the primary + * instance to bring its window to the foreground. This + * should only be called if we are _not_ the primary instance. + */ +void application_present_primary_instance (void) { + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; + GtkApplication* _tmp2_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = application_get_instance (); +#line 83 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = _tmp0_; +#line 83 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = _tmp1_->priv->system_app; +#line 83 "/home/jens/Source/shotwell/src/Application.vala" + g_application_activate (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, g_application_get_type (), GApplication)); +#line 83 "/home/jens/Source/shotwell/src/Application.vala" + _application_unref0 (_tmp1_); +#line 354 "Application.c" +} + + +gboolean application_get_is_remote (void) { + gboolean result = FALSE; + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; + GtkApplication* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 87 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = application_get_instance (); +#line 87 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = _tmp0_; +#line 87 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = _tmp1_->priv->system_app; +#line 87 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = g_application_get_is_remote (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, g_application_get_type (), GApplication)); +#line 87 "/home/jens/Source/shotwell/src/Application.vala" + _tmp4_ = _tmp3_; +#line 87 "/home/jens/Source/shotwell/src/Application.vala" + _application_unref0 (_tmp1_); +#line 87 "/home/jens/Source/shotwell/src/Application.vala" + result = _tmp4_; +#line 87 "/home/jens/Source/shotwell/src/Application.vala" + return result; +#line 381 "Application.c" +} + + +gboolean application_get_is_direct (void) { + gboolean result = FALSE; + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 91 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = application_get_instance (); +#line 91 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = _tmp0_; +#line 91 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = _tmp1_->priv->direct; +#line 91 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = _tmp2_; +#line 91 "/home/jens/Source/shotwell/src/Application.vala" + _application_unref0 (_tmp1_); +#line 91 "/home/jens/Source/shotwell/src/Application.vala" + result = _tmp3_; +#line 91 "/home/jens/Source/shotwell/src/Application.vala" + return result; +#line 405 "Application.c" +} + + +/** + * @brief Signal handler for GApplication's 'command-line' signal. + * + * The most likely scenario for this to be fired is if the user + * either tried to run us twice in library mode, or we've just gotten + * a camera/removeable-storage mount; in either case, the remote instance + * will trigger this and exit, and we'll need to bring the window back up... + */ +void application_on_activated (void) { + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; + LibraryWindow* lw = NULL; + AppWindow* _tmp2_ = NULL; + LibraryWindow* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + LibraryWindow* _tmp5_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = application_get_instance (); +#line 103 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = _tmp0_; +#line 103 "/home/jens/Source/shotwell/src/Application.vala" + _application_unref0 (_tmp1_); +#line 105 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = app_window_get_instance (); +#line 105 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_LIBRARY_WINDOW) ? ((LibraryWindow*) _tmp2_) : NULL; +#line 105 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp3_ == NULL) { +#line 105 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (_tmp2_); +#line 439 "Application.c" + } +#line 105 "/home/jens/Source/shotwell/src/Application.vala" + lw = _tmp3_; +#line 106 "/home/jens/Source/shotwell/src/Application.vala" + _tmp5_ = lw; +#line 106 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp5_ != NULL) { +#line 447 "Application.c" + gboolean _tmp6_ = FALSE; +#line 106 "/home/jens/Source/shotwell/src/Application.vala" + _tmp6_ = application_get_is_direct (); +#line 106 "/home/jens/Source/shotwell/src/Application.vala" + _tmp4_ = !_tmp6_; +#line 453 "Application.c" + } else { +#line 106 "/home/jens/Source/shotwell/src/Application.vala" + _tmp4_ = FALSE; +#line 457 "Application.c" + } +#line 106 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp4_) { +#line 461 "Application.c" + LibraryWindow* _tmp7_ = NULL; + LibraryWindow* _tmp8_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/Application.vala" + _tmp7_ = library_window_get_app (); +#line 107 "/home/jens/Source/shotwell/src/Application.vala" + _tmp8_ = _tmp7_; +#line 107 "/home/jens/Source/shotwell/src/Application.vala" + gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow)); +#line 107 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (_tmp8_); +#line 472 "Application.c" + } +#line 102 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (lw); +#line 476 "Application.c" +} + + +/** + * @brief Signal handler for GApplication's 'command-line' signal. + * + * Gets fired whenever a remote instance tries to run, usually + * with an incoming camera connection. + * + * @note This does _not_ get called in direct-edit mode. + */ +gint application_on_command_line (GApplicationCommandLine* acl) { + gint result = 0; + gchar** argv = NULL; + GApplicationCommandLine* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gint argv_length1 = 0; + gint _argv_size_ = 0; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 119 "/home/jens/Source/shotwell/src/Application.vala" + g_return_val_if_fail (G_IS_APPLICATION_COMMAND_LINE (acl), 0); +#line 120 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = acl; +#line 120 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = g_application_command_line_get_arguments (_tmp0_, &_tmp1_); +#line 120 "/home/jens/Source/shotwell/src/Application.vala" + argv = _tmp2_; +#line 120 "/home/jens/Source/shotwell/src/Application.vala" + argv_length1 = _tmp1_; +#line 120 "/home/jens/Source/shotwell/src/Application.vala" + _argv_size_ = argv_length1; +#line 122 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = argv; +#line 122 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3__length1 = argv_length1; +#line 122 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp3_ != NULL) { +#line 516 "Application.c" + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + _tmp4_ = argv; +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + _tmp4__length1 = argv_length1; +#line 523 "Application.c" + { + gchar** s_collection = NULL; + gint s_collection_length1 = 0; + gint _s_collection_size_ = 0; + gint s_it = 0; +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + s_collection = _tmp4_; +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + s_collection_length1 = _tmp4__length1; +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + for (s_it = 0; s_it < _tmp4__length1; s_it = s_it + 1) { +#line 535 "Application.c" + gchar* _tmp5_ = NULL; + gchar* s = NULL; +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + _tmp5_ = g_strdup (s_collection[s_it]); +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + s = _tmp5_; +#line 542 "Application.c" + { + LibraryWindow* lw = NULL; + AppWindow* _tmp6_ = NULL; + LibraryWindow* _tmp7_ = NULL; + LibraryWindow* _tmp8_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/Application.vala" + _tmp6_ = app_window_get_instance (); +#line 124 "/home/jens/Source/shotwell/src/Application.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_LIBRARY_WINDOW) ? ((LibraryWindow*) _tmp6_) : NULL; +#line 124 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp7_ == NULL) { +#line 124 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (_tmp6_); +#line 556 "Application.c" + } +#line 124 "/home/jens/Source/shotwell/src/Application.vala" + lw = _tmp7_; +#line 125 "/home/jens/Source/shotwell/src/Application.vala" + _tmp8_ = lw; +#line 125 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp8_ != NULL) { +#line 564 "Application.c" + LibraryWindow* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/Application.vala" + _tmp9_ = lw; +#line 126 "/home/jens/Source/shotwell/src/Application.vala" + _tmp10_ = s; +#line 126 "/home/jens/Source/shotwell/src/Application.vala" + library_window_mounted_camera_shell_notification (_tmp9_, _tmp10_, FALSE); +#line 573 "Application.c" + } +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (lw); +#line 123 "/home/jens/Source/shotwell/src/Application.vala" + _g_free0 (s); +#line 579 "Application.c" + } + } + } + } +#line 130 "/home/jens/Source/shotwell/src/Application.vala" + application_on_activated (); +#line 131 "/home/jens/Source/shotwell/src/Application.vala" + result = 0; +#line 131 "/home/jens/Source/shotwell/src/Application.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 131 "/home/jens/Source/shotwell/src/Application.vala" + return result; +#line 592 "Application.c" +} + + +/** + * @brief Initializes the Shotwell application object and prepares + * it for use. + * + * @param is_direct Whether the application was invoked in direct + * or in library mode; defaults to FALSE, that is, library mode. + * + * @note This MUST be called prior to calling get_instance(), as the + * application needs to know what mode it was brought up in; failure to + * call this first will lead to an assertion. + */ +void application_init (gboolean is_direct) { + Application* _tmp0_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = application_instance; +#line 146 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp0_ == NULL) { +#line 613 "Application.c" + gboolean _tmp1_ = FALSE; + Application* _tmp2_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = is_direct; +#line 147 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = application_new (_tmp1_); +#line 147 "/home/jens/Source/shotwell/src/Application.vala" + _application_unref0 (application_instance); +#line 147 "/home/jens/Source/shotwell/src/Application.vala" + application_instance = _tmp2_; +#line 624 "Application.c" + } +} + + +void application_terminate (void) { + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = application_get_instance (); +#line 151 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = _tmp0_; +#line 151 "/home/jens/Source/shotwell/src/Application.vala" + application_exit (_tmp1_); +#line 151 "/home/jens/Source/shotwell/src/Application.vala" + _application_unref0 (_tmp1_); +#line 640 "Application.c" +} + + +static gpointer _application_ref0 (gpointer self) { +#line 157 "/home/jens/Source/shotwell/src/Application.vala" + return self ? application_ref (self) : NULL; +#line 647 "Application.c" +} + + +Application* application_get_instance (void) { + Application* result = NULL; + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; + Application* _tmp2_ = NULL; +#line 155 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = application_instance; +#line 155 "/home/jens/Source/shotwell/src/Application.vala" + _vala_assert (_tmp0_ != NULL, "instance != null"); +#line 157 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = application_instance; +#line 157 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = _application_ref0 (_tmp1_); +#line 157 "/home/jens/Source/shotwell/src/Application.vala" + result = _tmp2_; +#line 157 "/home/jens/Source/shotwell/src/Application.vala" + return result; +#line 668 "Application.c" +} + + +void application_start (Application* self, gchar** argv, int argv_length1) { + gboolean _tmp0_ = FALSE; + AppWindow* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + GtkApplication* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; + AppWindow* _tmp5_ = NULL; + GtkApplication* _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gint _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + GtkApplication* _tmp12_ = NULL; + guint _tmp13_ = 0U; + GtkApplication* _tmp14_ = NULL; + guint _tmp15_ = 0U; +#line 160 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (IS_APPLICATION (self)); +#line 161 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = self->priv->running; +#line 161 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp0_) { +#line 162 "/home/jens/Source/shotwell/src/Application.vala" + return; +#line 696 "Application.c" + } +#line 164 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->running = TRUE; +#line 166 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_emit_by_name (self, "starting"); +#line 168 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = app_window_get_instance (); +#line 168 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = _tmp1_; +#line 168 "/home/jens/Source/shotwell/src/Application.vala" + _vala_assert (_tmp2_ != NULL, "AppWindow.get_instance() != null"); +#line 168 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (_tmp2_); +#line 169 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = self->priv->system_app; +#line 169 "/home/jens/Source/shotwell/src/Application.vala" + _tmp4_ = app_window_get_instance (); +#line 169 "/home/jens/Source/shotwell/src/Application.vala" + _tmp5_ = _tmp4_; +#line 169 "/home/jens/Source/shotwell/src/Application.vala" + gtk_application_add_window (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_window_get_type (), GtkWindow)); +#line 169 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (_tmp5_); +#line 170 "/home/jens/Source/shotwell/src/Application.vala" + _tmp6_ = self->priv->system_app; +#line 170 "/home/jens/Source/shotwell/src/Application.vala" + _tmp7_ = argv; +#line 170 "/home/jens/Source/shotwell/src/Application.vala" + _tmp7__length1 = argv_length1; +#line 170 "/home/jens/Source/shotwell/src/Application.vala" + _tmp8_ = g_application_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, g_application_get_type (), GApplication), _tmp7__length1, _tmp7_); +#line 170 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->system_app_run_retval = _tmp8_; +#line 172 "/home/jens/Source/shotwell/src/Application.vala" + _tmp9_ = self->priv->direct; +#line 172 "/home/jens/Source/shotwell/src/Application.vala" + if (!_tmp9_) { +#line 734 "Application.c" + GtkApplication* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 173 "/home/jens/Source/shotwell/src/Application.vala" + _tmp10_ = self->priv->system_app; +#line 173 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_parse_name ("command-line", g_application_get_type (), &_tmp11_, NULL, FALSE); +#line 173 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, g_application_get_type (), GApplication), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _application_on_command_line_g_application_command_line, NULL); +#line 743 "Application.c" + } +#line 176 "/home/jens/Source/shotwell/src/Application.vala" + _tmp12_ = self->priv->system_app; +#line 176 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_parse_name ("activate", g_application_get_type (), &_tmp13_, NULL, FALSE); +#line 176 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, g_application_get_type (), GApplication), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _application_on_activated_g_application_activate, NULL); +#line 177 "/home/jens/Source/shotwell/src/Application.vala" + _tmp14_ = self->priv->system_app; +#line 177 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_parse_name ("startup", g_application_get_type (), &_tmp15_, NULL, FALSE); +#line 177 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, g_application_get_type (), GApplication), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 0, NULL, (GCallback) _application_on_activated_g_application_startup, NULL); +#line 179 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->running = FALSE; +#line 759 "Application.c" +} + + +void application_exit (Application* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GtkApplication* _tmp3_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (IS_APPLICATION (self)); +#line 185 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = self->priv->exiting_fired; +#line 185 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp1_) { +#line 185 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = TRUE; +#line 775 "Application.c" + } else { + gboolean _tmp2_ = FALSE; +#line 185 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = self->priv->running; +#line 185 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = !_tmp2_; +#line 782 "Application.c" + } +#line 185 "/home/jens/Source/shotwell/src/Application.vala" + if (_tmp0_) { +#line 186 "/home/jens/Source/shotwell/src/Application.vala" + return; +#line 788 "Application.c" + } +#line 188 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->exiting_fired = TRUE; +#line 190 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_emit_by_name (self, "exiting", FALSE); +#line 192 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = self->priv->system_app; +#line 192 "/home/jens/Source/shotwell/src/Application.vala" + g_application_release (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, g_application_get_type (), GApplication)); +#line 798 "Application.c" +} + + +void application_panic (Application* self) { + gboolean _tmp0_ = FALSE; +#line 197 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (IS_APPLICATION (self)); +#line 198 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = self->priv->exiting_fired; +#line 198 "/home/jens/Source/shotwell/src/Application.vala" + if (!_tmp0_) { +#line 199 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->exiting_fired = TRUE; +#line 200 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_emit_by_name (self, "exiting", TRUE); +#line 814 "Application.c" + } +#line 202 "/home/jens/Source/shotwell/src/Application.vala" + exit (1); +#line 818 "Application.c" +} + + +/** + * @brief Allows the caller to ask for some part of the desktop session's functionality to + * be prevented from running; wrapper for Gtk.Application.inhibit(). + * + * @note The return value is a 'cookie' that needs to be passed to 'uninhibit' to turn + * off a requested inhibition and should be saved by the caller. + */ +guint application_inhibit (Application* self, GtkApplicationInhibitFlags what, const gchar* reason) { + guint result = 0U; + GtkApplication* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + GtkApplicationInhibitFlags _tmp3_ = 0; + const gchar* _tmp4_ = NULL; + guint _tmp5_ = 0U; + guint _tmp6_ = 0U; +#line 212 "/home/jens/Source/shotwell/src/Application.vala" + g_return_val_if_fail (IS_APPLICATION (self), 0U); +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = self->priv->system_app; +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = app_window_get_instance (); +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + _tmp2_ = _tmp1_; +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + _tmp3_ = what; +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + _tmp4_ = reason; +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + _tmp5_ = gtk_application_inhibit (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_window_get_type (), GtkWindow), _tmp3_, _tmp4_); +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + _tmp6_ = _tmp5_; +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (_tmp2_); +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + result = _tmp6_; +#line 213 "/home/jens/Source/shotwell/src/Application.vala" + return result; +#line 860 "Application.c" +} + + +/** + * @brief Turns off a previously-requested inhibition. Wrapper for + * Gtk.Application.uninhibit(). + */ +void application_uninhibit (Application* self, guint cookie) { + GtkApplication* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 220 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (IS_APPLICATION (self)); +#line 221 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = self->priv->system_app; +#line 221 "/home/jens/Source/shotwell/src/Application.vala" + _tmp1_ = cookie; +#line 221 "/home/jens/Source/shotwell/src/Application.vala" + gtk_application_uninhibit (_tmp0_, _tmp1_); +#line 879 "Application.c" +} + + +gint application_get_run_return_value (Application* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 224 "/home/jens/Source/shotwell/src/Application.vala" + g_return_val_if_fail (IS_APPLICATION (self), 0); +#line 225 "/home/jens/Source/shotwell/src/Application.vala" + _tmp0_ = self->priv->system_app_run_retval; +#line 225 "/home/jens/Source/shotwell/src/Application.vala" + result = _tmp0_; +#line 225 "/home/jens/Source/shotwell/src/Application.vala" + return result; +#line 894 "Application.c" +} + + +static void application_real_starting (Application* self) { +} + + +static void application_real_exiting (Application* self, gboolean panicked) { +} + + +static void application_real_init_done (Application* self) { +} + + +static void value_application_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + value->data[0].v_pointer = NULL; +#line 913 "Application.c" +} + + +static void value_application_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + application_unref (value->data[0].v_pointer); +#line 922 "Application.c" + } +} + + +static void value_application_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + dest_value->data[0].v_pointer = application_ref (src_value->data[0].v_pointer); +#line 932 "Application.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + dest_value->data[0].v_pointer = NULL; +#line 936 "Application.c" + } +} + + +static gpointer value_application_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return value->data[0].v_pointer; +#line 944 "Application.c" +} + + +static gchar* value_application_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (collect_values[0].v_pointer) { +#line 951 "Application.c" + Application* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 958 "Application.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 962 "Application.c" + } +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + value->data[0].v_pointer = application_ref (object); +#line 966 "Application.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + value->data[0].v_pointer = NULL; +#line 970 "Application.c" + } +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return NULL; +#line 974 "Application.c" +} + + +static gchar* value_application_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Application** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 985 "Application.c" + } +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + *object_p = NULL; +#line 991 "Application.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + *object_p = value->data[0].v_pointer; +#line 995 "Application.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + *object_p = application_ref (value->data[0].v_pointer); +#line 999 "Application.c" + } +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return NULL; +#line 1003 "Application.c" +} + + +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecApplication* spec; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_APPLICATION), NULL); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return G_PARAM_SPEC (spec); +#line 1017 "Application.c" +} + + +gpointer value_get_application (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APPLICATION), NULL); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return value->data[0].v_pointer; +#line 1026 "Application.c" +} + + +void value_set_application (GValue* value, gpointer v_object) { + Application* old; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APPLICATION)); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_APPLICATION)); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + application_ref (value->data[0].v_pointer); +#line 1046 "Application.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + value->data[0].v_pointer = NULL; +#line 1050 "Application.c" + } +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + application_unref (old); +#line 1056 "Application.c" + } +} + + +void value_take_application (GValue* value, gpointer v_object) { + Application* old; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_APPLICATION)); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_APPLICATION)); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + value->data[0].v_pointer = v_object; +#line 1075 "Application.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + value->data[0].v_pointer = NULL; +#line 1079 "Application.c" + } +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + application_unref (old); +#line 1085 "Application.c" + } +} + + +static void application_class_init (ApplicationClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + application_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + ((ApplicationClass *) klass)->finalize = application_finalize; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_type_class_add_private (klass, sizeof (ApplicationPrivate)); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + ((ApplicationClass *) klass)->starting = application_real_starting; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + ((ApplicationClass *) klass)->exiting = application_real_exiting; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + ((ApplicationClass *) klass)->init_done = application_real_init_done; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_new ("starting", TYPE_APPLICATION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ApplicationClass, starting), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_new ("exiting", TYPE_APPLICATION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ApplicationClass, exiting), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_new ("init_done", TYPE_APPLICATION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ApplicationClass, init_done), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 1109 "Application.c" +} + + +static void application_instance_init (Application * self) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + self->priv = APPLICATION_GET_PRIVATE (self); +#line 9 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->system_app = NULL; +#line 10 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->system_app_run_retval = 0; +#line 22 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->fixup_raw_thumbs = FALSE; +#line 32 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->running = FALSE; +#line 33 "/home/jens/Source/shotwell/src/Application.vala" + self->priv->exiting_fired = FALSE; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + self->ref_count = 1; +#line 1128 "Application.c" +} + + +static void application_finalize (Application* obj) { + Application * self; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_APPLICATION, Application); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_signal_handlers_destroy (self); +#line 9 "/home/jens/Source/shotwell/src/Application.vala" + _g_object_unref0 (self->priv->system_app); +#line 1140 "Application.c" +} + + +GType application_get_type (void) { + static volatile gsize application_type_id__volatile = 0; + if (g_once_init_enter (&application_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_application_init, value_application_free_value, value_application_copy_value, value_application_peek_pointer, "p", value_application_collect_value, "p", value_application_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ApplicationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) application_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Application), 0, (GInstanceInitFunc) application_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType application_type_id; + application_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Application", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&application_type_id__volatile, application_type_id); + } + return application_type_id__volatile; +} + + +gpointer application_ref (gpointer instance) { + Application* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + return instance; +#line 1165 "Application.c" +} + + +void application_unref (gpointer instance) { + Application* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + APPLICATION_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/Application.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1178 "Application.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/BatchImport.c b/src/BatchImport.c new file mode 100644 index 0000000..6950577 --- /dev/null +++ b/src/BatchImport.c @@ -0,0 +1,17492 @@ +/* BatchImport.c generated by valac 0.32.1, the Vala compiler + * generated from BatchImport.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ()) +#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob)) +#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) +#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB)) +#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB)) +#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) + +typedef struct _BatchImportJob BatchImportJob; +typedef struct _BatchImportJobClass BatchImportJobClass; +typedef struct _BatchImportJobPrivate BatchImportJobPrivate; + +#define TYPE_DUPLICATED_FILE (duplicated_file_get_type ()) +#define DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATED_FILE, DuplicatedFile)) +#define DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) +#define IS_DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATED_FILE)) +#define IS_DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATED_FILE)) +#define DUPLICATED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) + +typedef struct _DuplicatedFile DuplicatedFile; +typedef struct _DuplicatedFileClass DuplicatedFileClass; + +#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_BATCH_IMPORT_ROLL (batch_import_roll_get_type ()) +#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll)) +#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) +#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL)) +#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL)) +#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) + +typedef struct _BatchImportRoll BatchImportRoll; +typedef struct _BatchImportRollClass BatchImportRollClass; +typedef struct _ParamSpecBatchImportJob ParamSpecBatchImportJob; + +#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ()) +#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob)) +#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass)) +#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB)) +#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB)) +#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass)) + +typedef struct _FileImportJob FileImportJob; +typedef struct _FileImportJobClass FileImportJobClass; +typedef struct _FileImportJobPrivate FileImportJobPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _BatchImportRollPrivate BatchImportRollPrivate; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#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))) +typedef struct _ParamSpecBatchImportRoll ParamSpecBatchImportRoll; + +#define TYPE_BATCH_IMPORT_RESULT (batch_import_result_get_type ()) +#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult)) +#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) +#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT)) +#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT)) +#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) + +typedef struct _BatchImportResult BatchImportResult; +typedef struct _BatchImportResultClass BatchImportResultClass; +typedef struct _BatchImportResultPrivate BatchImportResultPrivate; +typedef struct _ParamSpecBatchImportResult ParamSpecBatchImportResult; + +#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ()) +#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest)) +#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass)) +#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST)) +#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST)) +#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass)) + +typedef struct _ImportManifest ImportManifest; +typedef struct _ImportManifestClass ImportManifestClass; +typedef struct _ImportManifestPrivate ImportManifestPrivate; +#define _batch_import_result_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_result_unref (var), NULL))) +typedef struct _ParamSpecImportManifest ParamSpecImportManifest; + +#define TYPE_BATCH_IMPORT (batch_import_get_type ()) +#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport)) +#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass)) +#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT)) +#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT)) +#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass)) + +typedef struct _BatchImport BatchImport; +typedef struct _BatchImportClass BatchImportClass; +typedef struct _BatchImportPrivate BatchImportPrivate; + +#define TYPE_PREPARED_FILE (prepared_file_get_type ()) +#define PREPARED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREPARED_FILE, PreparedFile)) +#define PREPARED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREPARED_FILE, PreparedFileClass)) +#define IS_PREPARED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREPARED_FILE)) +#define IS_PREPARED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREPARED_FILE)) +#define PREPARED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREPARED_FILE, PreparedFileClass)) + +typedef struct _PreparedFile PreparedFile; +typedef struct _PreparedFileClass PreparedFileClass; + +#define TYPE_COMPLETED_IMPORT_OBJECT (completed_import_object_get_type ()) +#define COMPLETED_IMPORT_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObject)) +#define COMPLETED_IMPORT_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObjectClass)) +#define IS_COMPLETED_IMPORT_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMPLETED_IMPORT_OBJECT)) +#define IS_COMPLETED_IMPORT_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMPLETED_IMPORT_OBJECT)) +#define COMPLETED_IMPORT_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObjectClass)) + +typedef struct _CompletedImportObject CompletedImportObject; +typedef struct _CompletedImportObjectClass CompletedImportObjectClass; + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; +#define _batch_import_roll_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_roll_unref (var), NULL))) +#define _import_manifest_unref0(var) ((var == NULL) ? NULL : (var = (import_manifest_unref (var), NULL))) + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define TYPE_BACKGROUND_IMPORT_JOB (background_import_job_get_type ()) +#define BACKGROUND_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob)) +#define BACKGROUND_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJobClass)) +#define IS_BACKGROUND_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_IMPORT_JOB)) +#define IS_BACKGROUND_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_IMPORT_JOB)) +#define BACKGROUND_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJobClass)) + +typedef struct _BackgroundImportJob BackgroundImportJob; +typedef struct _BackgroundImportJobClass BackgroundImportJobClass; +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _BackgroundImportJobPrivate BackgroundImportJobPrivate; + +#define TYPE_WORK_SNIFFER (work_sniffer_get_type ()) +#define WORK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORK_SNIFFER, WorkSniffer)) +#define WORK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORK_SNIFFER, WorkSnifferClass)) +#define IS_WORK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORK_SNIFFER)) +#define IS_WORK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORK_SNIFFER)) +#define WORK_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORK_SNIFFER, WorkSnifferClass)) + +typedef struct _WorkSniffer WorkSniffer; +typedef struct _WorkSnifferClass WorkSnifferClass; +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +typedef struct _WorkSnifferPrivate WorkSnifferPrivate; + +#define TYPE_FILE_TO_PREPARE (file_to_prepare_get_type ()) +#define FILE_TO_PREPARE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_TO_PREPARE, FileToPrepare)) +#define FILE_TO_PREPARE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_TO_PREPARE, FileToPrepareClass)) +#define IS_FILE_TO_PREPARE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_TO_PREPARE)) +#define IS_FILE_TO_PREPARE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_TO_PREPARE)) +#define FILE_TO_PREPARE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_TO_PREPARE, FileToPrepareClass)) + +typedef struct _FileToPrepare FileToPrepare; +typedef struct _FileToPrepareClass FileToPrepareClass; + +#define TYPE_PREPARE_FILES_JOB (prepare_files_job_get_type ()) +#define PREPARE_FILES_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREPARE_FILES_JOB, PrepareFilesJob)) +#define PREPARE_FILES_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREPARE_FILES_JOB, PrepareFilesJobClass)) +#define IS_PREPARE_FILES_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREPARE_FILES_JOB)) +#define IS_PREPARE_FILES_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREPARE_FILES_JOB)) +#define PREPARE_FILES_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREPARE_FILES_JOB, PrepareFilesJobClass)) + +typedef struct _PrepareFilesJob PrepareFilesJob; +typedef struct _PrepareFilesJobClass PrepareFilesJobClass; + +#define TYPE_NOTIFICATION_OBJECT (notification_object_get_type ()) +#define NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFICATION_OBJECT, NotificationObject)) +#define NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFICATION_OBJECT, NotificationObjectClass)) +#define IS_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFICATION_OBJECT)) +#define IS_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFICATION_OBJECT)) +#define NOTIFICATION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFICATION_OBJECT, NotificationObjectClass)) + +typedef struct _NotificationObject NotificationObject; +typedef struct _NotificationObjectClass NotificationObjectClass; + +#define TYPE_THUMBNAIL_WRITER_JOB (thumbnail_writer_job_get_type ()) +#define THUMBNAIL_WRITER_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob)) +#define THUMBNAIL_WRITER_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJobClass)) +#define IS_THUMBNAIL_WRITER_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_WRITER_JOB)) +#define IS_THUMBNAIL_WRITER_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_WRITER_JOB)) +#define THUMBNAIL_WRITER_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJobClass)) + +typedef struct _ThumbnailWriterJob ThumbnailWriterJob; +typedef struct _ThumbnailWriterJobClass ThumbnailWriterJobClass; +#define _completed_import_object_unref0(var) ((var == NULL) ? NULL : (var = (completed_import_object_unref (var), NULL))) + +#define TYPE_PREPARED_FILE_IMPORT_JOB (prepared_file_import_job_get_type ()) +#define PREPARED_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob)) +#define PREPARED_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJobClass)) +#define IS_PREPARED_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREPARED_FILE_IMPORT_JOB)) +#define IS_PREPARED_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREPARED_FILE_IMPORT_JOB)) +#define PREPARED_FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJobClass)) + +typedef struct _PreparedFileImportJob PreparedFileImportJob; +typedef struct _PreparedFileImportJobClass PreparedFileImportJobClass; +#define _prepared_file_unref0(var) ((var == NULL) ? NULL : (var = (prepared_file_unref (var), NULL))) +typedef struct _PreparedFilePrivate PreparedFilePrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_INTERLOCKED_NOTIFICATION_OBJECT (interlocked_notification_object_get_type ()) +#define INTERLOCKED_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObject)) +#define INTERLOCKED_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectClass)) +#define IS_INTERLOCKED_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT)) +#define IS_INTERLOCKED_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INTERLOCKED_NOTIFICATION_OBJECT)) +#define INTERLOCKED_NOTIFICATION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectClass)) + +typedef struct _InterlockedNotificationObject InterlockedNotificationObject; +typedef struct _InterlockedNotificationObjectClass InterlockedNotificationObjectClass; + +#define TYPE_PREPARED_FILE_CLUSTER (prepared_file_cluster_get_type ()) +#define PREPARED_FILE_CLUSTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREPARED_FILE_CLUSTER, PreparedFileCluster)) +#define PREPARED_FILE_CLUSTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREPARED_FILE_CLUSTER, PreparedFileClusterClass)) +#define IS_PREPARED_FILE_CLUSTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREPARED_FILE_CLUSTER)) +#define IS_PREPARED_FILE_CLUSTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREPARED_FILE_CLUSTER)) +#define PREPARED_FILE_CLUSTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREPARED_FILE_CLUSTER, PreparedFileClusterClass)) + +typedef struct _PreparedFileCluster PreparedFileCluster; +typedef struct _PreparedFileClusterClass PreparedFileClusterClass; +typedef struct _NotificationObjectPrivate NotificationObjectPrivate; +typedef struct _InterlockedNotificationObjectPrivate InterlockedNotificationObjectPrivate; +typedef struct _PreparedFileClusterPrivate PreparedFileClusterPrivate; +#define _notification_object_unref0(var) ((var == NULL) ? NULL : (var = (notification_object_unref (var), NULL))) + +#define LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE (library_photo_source_collection_state_get_type ()) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define VIDEO_SOURCE_COLLECTION_TYPE_STATE (video_source_collection_state_get_type ()) + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define 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_VIDEO_ID (video_id_get_type ()) +typedef struct _VideoID VideoID; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_VIDEO_TABLE (video_table_get_type ()) +#define VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_TABLE, VideoTable)) +#define VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_TABLE, VideoTableClass)) +#define IS_VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_TABLE)) +#define IS_VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_TABLE)) +#define VIDEO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_TABLE, VideoTableClass)) + +typedef struct _VideoTable VideoTable; +typedef struct _VideoTableClass VideoTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ()) +#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank)) +#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) +#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) + +typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank; +typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass; + +#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ()) +#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank)) +#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) +#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) + +typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank; +typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass; +#define _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL))) + +#define TYPE_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; + +#define TYPE_PHOTO_TABLE (photo_table_get_type ()) +#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable)) +#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass)) +#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE)) +#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE)) +#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass)) + +typedef struct _PhotoTable PhotoTable; +typedef struct _PhotoTableClass PhotoTableClass; +typedef struct _BatchImportProcessPreparedFilesData BatchImportProcessPreparedFilesData; +typedef struct _PrepareFilesJobPrivate PrepareFilesJobPrivate; +typedef struct _PreparedFileImportJobPrivate PreparedFileImportJobPrivate; + +#define TYPE_READY_FOR_IMPORT (ready_for_import_get_type ()) +#define READY_FOR_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_READY_FOR_IMPORT, ReadyForImport)) +#define READY_FOR_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_READY_FOR_IMPORT, ReadyForImportClass)) +#define IS_READY_FOR_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_READY_FOR_IMPORT)) +#define IS_READY_FOR_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_READY_FOR_IMPORT)) +#define READY_FOR_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_READY_FOR_IMPORT, ReadyForImportClass)) + +typedef struct _ReadyForImport ReadyForImport; +typedef struct _ReadyForImportClass ReadyForImportClass; +typedef struct _ReadyForImportPrivate ReadyForImportPrivate; + +#define TYPE_PHOTO_IMPORT_PARAMS (photo_import_params_get_type ()) +#define PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParams)) +#define PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass)) +#define IS_PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_IMPORT_PARAMS)) +#define IS_PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_IMPORT_PARAMS)) +#define PHOTO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass)) + +typedef struct _PhotoImportParams PhotoImportParams; +typedef struct _PhotoImportParamsClass PhotoImportParamsClass; + +#define TYPE_VIDEO_IMPORT_PARAMS (video_import_params_get_type ()) +#define VIDEO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParams)) +#define VIDEO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParamsClass)) +#define IS_VIDEO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_IMPORT_PARAMS)) +#define IS_VIDEO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_IMPORT_PARAMS)) +#define VIDEO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParamsClass)) + +typedef struct _VideoImportParams VideoImportParams; +typedef struct _VideoImportParamsClass VideoImportParamsClass; + +#define TYPE_TOMBSTONE (tombstone_get_type ()) +#define TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE, Tombstone)) +#define TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE, TombstoneClass)) +#define IS_TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE)) +#define IS_TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE)) +#define TOMBSTONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE, TombstoneClass)) + +typedef struct _Tombstone Tombstone; +typedef struct _TombstoneClass TombstoneClass; + +#define TYPE_TOMBSTONE_SOURCE_COLLECTION (tombstone_source_collection_get_type ()) +#define TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection)) +#define TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass)) +#define IS_TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION)) +#define IS_TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION)) +#define TOMBSTONE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass)) + +typedef struct _TombstoneSourceCollection TombstoneSourceCollection; +typedef struct _TombstoneSourceCollectionClass TombstoneSourceCollectionClass; +typedef struct _PhotoImportParamsPrivate PhotoImportParamsPrivate; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_THUMBNAILS (thumbnails_get_type ()) +#define THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAILS, Thumbnails)) +#define THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAILS, ThumbnailsClass)) +#define IS_THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAILS)) +#define IS_THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAILS)) +#define THUMBNAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAILS, ThumbnailsClass)) + +typedef struct _Thumbnails Thumbnails; +typedef struct _ThumbnailsClass ThumbnailsClass; + +#define TYPE_PHOTO_ROW (photo_row_get_type ()) +#define PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_ROW, PhotoRow)) +#define PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_ROW, PhotoRowClass)) +#define IS_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_ROW)) +#define IS_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_ROW)) +#define PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_ROW, PhotoRowClass)) + +typedef struct _PhotoRow PhotoRow; +typedef struct _PhotoRowClass PhotoRowClass; + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +#define _backing_photo_row_unref0(var) ((var == NULL) ? NULL : (var = (backing_photo_row_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _thumbnails_unref0(var) ((var == NULL) ? NULL : (var = (thumbnails_unref (var), NULL))) +typedef struct _ThumbnailWriterJobPrivate ThumbnailWriterJobPrivate; +typedef struct _CompletedImportObjectPrivate CompletedImportObjectPrivate; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_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_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; +typedef struct _DuplicatedFilePrivate DuplicatedFilePrivate; +#define _video_id_free0(var) ((var == NULL) ? NULL : (var = (video_id_free (var), NULL))) +#define _photo_id_free0(var) ((var == NULL) ? NULL : (var = (photo_id_free (var), NULL))) + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; +typedef struct _FileToPreparePrivate FileToPreparePrivate; +#define _file_to_prepare_unref0(var) ((var == NULL) ? NULL : (var = (file_to_prepare_unref (var), NULL))) +typedef struct _ParamSpecFileToPrepare ParamSpecFileToPrepare; + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; + +#define TYPE_RAW_FILE_FORMAT_PROPERTIES (raw_file_format_properties_get_type ()) +#define RAW_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties)) +#define RAW_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatPropertiesClass)) +#define IS_RAW_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES)) +#define IS_RAW_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_FILE_FORMAT_PROPERTIES)) +#define RAW_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatPropertiesClass)) + +typedef struct _RawFileFormatProperties RawFileFormatProperties; +typedef struct _RawFileFormatPropertiesClass RawFileFormatPropertiesClass; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) + +#define TYPE_JFIF_FILE_FORMAT_PROPERTIES (jfif_file_format_properties_get_type ()) +#define JFIF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties)) +#define JFIF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatPropertiesClass)) +#define IS_JFIF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES)) +#define IS_JFIF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_FILE_FORMAT_PROPERTIES)) +#define JFIF_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatPropertiesClass)) + +typedef struct _JfifFileFormatProperties JfifFileFormatProperties; +typedef struct _JfifFileFormatPropertiesClass JfifFileFormatPropertiesClass; +typedef struct _ParamSpecPreparedFile ParamSpecPreparedFile; +#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) +#define _photo_import_params_unref0(var) ((var == NULL) ? NULL : (var = (photo_import_params_unref (var), NULL))) +#define _video_import_params_unref0(var) ((var == NULL) ? NULL : (var = (video_import_params_unref (var), NULL))) +typedef struct _VideoImportParamsPrivate VideoImportParamsPrivate; + +#define TYPE_VIDEO_ROW (video_row_get_type ()) +#define VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_ROW, VideoRow)) +#define VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_ROW, VideoRowClass)) +#define IS_VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_ROW)) +#define IS_VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_ROW)) +#define VIDEO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_ROW, VideoRowClass)) + +typedef struct _VideoRow VideoRow; +typedef struct _VideoRowClass VideoRowClass; +typedef struct _ParamSpecReadyForImport ParamSpecReadyForImport; +#define _ready_for_import_unref0(var) ((var == NULL) ? NULL : (var = (ready_for_import_unref (var), NULL))) + +#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ()) +typedef struct _ParamSpecCompletedImportObject ParamSpecCompletedImportObject; +#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); + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +typedef enum { + GPHOTO_ERROR_LIBRARY +} GPhotoError; +#define GPHOTO_ERROR gphoto_error_quark () +struct _BatchImportJob { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportJobPrivate * priv; +}; + +struct _BatchImportJobClass { + GTypeClass parent_class; + void (*finalize) (BatchImportJob *self); + gchar* (*get_dest_identifier) (BatchImportJob* self); + gchar* (*get_source_identifier) (BatchImportJob* self); + gboolean (*is_directory) (BatchImportJob* self); + gchar* (*get_basename) (BatchImportJob* self); + gchar* (*get_path) (BatchImportJob* self); + DuplicatedFile* (*get_duplicated_file) (BatchImportJob* self); + void (*set_associated) (BatchImportJob* self, BatchImportJob* associated); + gboolean (*determine_file_size) (BatchImportJob* self, guint64* filesize, GFile** file_or_dir); + gboolean (*prepare) (BatchImportJob* self, GFile** file_to_import, gboolean* copy_to_library, GError** error); + gboolean (*complete) (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error); + time_t (*get_exposure_time_override) (BatchImportJob* self); +}; + +struct _ParamSpecBatchImportJob { + GParamSpec parent_instance; +}; + +struct _FileImportJob { + BatchImportJob parent_instance; + FileImportJobPrivate * priv; +}; + +struct _FileImportJobClass { + BatchImportJobClass parent_class; +}; + +struct _FileImportJobPrivate { + GFile* file_or_dir; + gboolean copy_to_library; + FileImportJob* associated; +}; + +struct _ImportID { + gint64 id; +}; + +struct _BatchImportRoll { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportRollPrivate * priv; + ImportID import_id; + ViewCollection* generated_events; +}; + +struct _BatchImportRollClass { + GTypeClass parent_class; + void (*finalize) (BatchImportRoll *self); +}; + +struct _ParamSpecBatchImportRoll { + GParamSpec parent_instance; +}; + +struct _BatchImportResult { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportResultPrivate * priv; + BatchImportJob* job; + GFile* file; + gchar* src_identifier; + gchar* dest_identifier; + ImportResult result; + gchar* errmsg; + DuplicatedFile* duplicate_of; +}; + +struct _BatchImportResultClass { + GTypeClass parent_class; + void (*finalize) (BatchImportResult *self); +}; + +struct _ParamSpecBatchImportResult { + GParamSpec parent_instance; +}; + +struct _ImportManifest { + GTypeInstance parent_instance; + volatile int ref_count; + ImportManifestPrivate * priv; + GeeList* imported; + GeeList* success; + GeeList* camera_failed; + GeeList* failed; + GeeList* write_failed; + GeeList* skipped_photos; + GeeList* skipped_files; + GeeList* aborted; + GeeList* already_imported; + GeeList* corrupt_files; + GeeList* all; +}; + +struct _ImportManifestClass { + GTypeClass parent_class; + void (*finalize) (ImportManifest *self); +}; + +struct _ParamSpecImportManifest { + GParamSpec parent_instance; +}; + +struct _BatchImport { + GObject parent_instance; + BatchImportPrivate * priv; +}; + +struct _BatchImportClass { + GObjectClass parent_class; +}; + +typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data); +struct _BatchImportPrivate { + GeeIterable* jobs; + BatchImportRoll* import_roll; + gchar* name; + guint64 completed_bytes; + guint64 total_bytes; + BatchImportImportReporter reporter; + gpointer reporter_target; + ImportManifest* manifest; + gboolean scheduled; + gboolean completed; + gint file_imports_to_perform; + gint file_imports_completed; + GCancellable* cancellable; + gulong last_preparing_ms; + GeeHashSet* skipset; + GeeHashMap* imported_full_md5_table; + guint throbber_id; + guint max_outstanding_import_jobs; + gboolean untrash_duplicates; + gboolean mark_duplicates_online; + GeeList* ready_files; + GeeList* ready_thumbnails; + GeeList* display_imported_queue; + GeeList* ready_sources; +}; + +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _BackgroundImportJob { + BackgroundJob parent_instance; + BackgroundImportJobPrivate * priv; + ImportResult abort_flag; + GeeList* failed; +}; + +struct _BackgroundImportJobClass { + BackgroundJobClass parent_class; +}; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); +struct _WorkSniffer { + BackgroundImportJob parent_instance; + WorkSnifferPrivate * priv; + GeeList* files_to_prepare; + guint64 total_bytes; +}; + +struct _WorkSnifferClass { + BackgroundImportJobClass parent_class; +}; + +typedef void (*NotificationCallback) (BackgroundJob* job, NotificationObject* user, void* user_data); +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 _PreparedFile { + GTypeInstance parent_instance; + volatile int ref_count; + PreparedFilePrivate * priv; + BatchImportJob* job; + ImportResult result; + GFile* file; + GFile* associated_file; + gchar* source_id; + gchar* dest_id; + gboolean copy_to_library; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* full_md5; + PhotoFileFormat file_format; + guint64 filesize; + gboolean is_video; +}; + +struct _PreparedFileClass { + GTypeClass parent_class; + void (*finalize) (PreparedFile *self); +}; + +struct _NotificationObject { + GTypeInstance parent_instance; + volatile int ref_count; + NotificationObjectPrivate * priv; +}; + +struct _NotificationObjectClass { + GTypeClass parent_class; + void (*finalize) (NotificationObject *self); +}; + +struct _InterlockedNotificationObject { + NotificationObject parent_instance; + InterlockedNotificationObjectPrivate * priv; +}; + +struct _InterlockedNotificationObjectClass { + NotificationObjectClass parent_class; +}; + +struct _PreparedFileCluster { + InterlockedNotificationObject parent_instance; + PreparedFileClusterPrivate * priv; + GeeArrayList* list; +}; + +struct _PreparedFileClusterClass { + InterlockedNotificationObjectClass parent_class; +}; + +typedef enum { + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER +} LibraryPhotoSourceCollectionState; + +typedef enum { + VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN, + VIDEO_SOURCE_COLLECTION_STATE_ONLINE, + VIDEO_SOURCE_COLLECTION_STATE_OFFLINE, + VIDEO_SOURCE_COLLECTION_STATE_TRASH +} VideoSourceCollectionState; + +struct _VideoID { + gint64 id; +}; + +struct _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _PhotoID { + gint64 id; +}; + +struct _BatchImportProcessPreparedFilesData { + int _state_; + GObject* _source_object_; + GAsyncResult* _res_; + GSimpleAsyncResult* _async_result; + BatchImport* self; + GeeList* list; + GeeList* _prepared_file_list; + GeeList* _tmp0_; + GeeList* _tmp1_; + gint _prepared_file_size; + GeeList* _tmp2_; + gint _tmp3_; + gint _tmp4_; + gint _prepared_file_index; + gint _tmp5_; + gint _tmp6_; + gint _tmp7_; + PreparedFile* prepared_file; + GeeList* _tmp8_; + gint _tmp9_; + gpointer _tmp10_; + BatchImportResult* import_result; + LibraryPhotoSourceCollectionState photo_state; + LibraryPhoto* photo; + LibraryPhotoSourceCollection* _tmp11_; + PreparedFile* _tmp12_; + GFile* _tmp13_; + LibraryPhotoSourceCollectionState _tmp14_; + LibraryPhoto* _tmp15_; + LibraryPhoto* _tmp16_; + LibraryPhotoSourceCollectionState _tmp17_; + PreparedFile* _tmp18_; + BatchImportJob* _tmp19_; + PreparedFile* _tmp20_; + GFile* _tmp21_; + PreparedFile* _tmp22_; + GFile* _tmp23_; + gchar* _tmp24_; + gchar* _tmp25_; + PreparedFile* _tmp26_; + GFile* _tmp27_; + gchar* _tmp28_; + gchar* _tmp29_; + LibraryPhoto* _tmp30_; + GFile* _tmp31_; + GFile* _tmp32_; + DuplicatedFile* _tmp33_; + DuplicatedFile* _tmp34_; + BatchImportResult* _tmp35_; + LibraryPhotoSourceCollectionState _tmp36_; + LibraryPhoto* _tmp37_; + LibraryPhotoSourceCollectionState _tmp38_; + GEnumValue* _tmp39_; + BatchImportResult* _tmp40_; + BatchImportResult* _tmp41_; + VideoSourceCollectionState video_state; + Video* video; + VideoSourceCollection* _tmp42_; + PreparedFile* _tmp43_; + GFile* _tmp44_; + VideoSourceCollectionState _tmp45_; + Video* _tmp46_; + Video* _tmp47_; + VideoSourceCollectionState _tmp48_; + PreparedFile* _tmp49_; + BatchImportJob* _tmp50_; + PreparedFile* _tmp51_; + GFile* _tmp52_; + PreparedFile* _tmp53_; + GFile* _tmp54_; + gchar* _tmp55_; + gchar* _tmp56_; + PreparedFile* _tmp57_; + GFile* _tmp58_; + gchar* _tmp59_; + gchar* _tmp60_; + Video* _tmp61_; + GFile* _tmp62_; + GFile* _tmp63_; + DuplicatedFile* _tmp64_; + DuplicatedFile* _tmp65_; + BatchImportResult* _tmp66_; + VideoSourceCollectionState _tmp67_; + Video* _tmp68_; + VideoSourceCollectionState _tmp69_; + GEnumValue* _tmp70_; + BatchImportResult* _tmp71_; + BatchImportResult* _tmp72_; + gboolean _tmp73_; + PreparedFile* _tmp74_; + gboolean _tmp75_; + PreparedFile* _tmp76_; + GFile* _tmp77_; + PreparedFile* _tmp78_; + const gchar* _tmp79_; + gboolean _tmp80_; + VideoID* duplicate_ids; + VideoTable* _tmp81_; + VideoTable* _tmp82_; + PreparedFile* _tmp83_; + GFile* _tmp84_; + PreparedFile* _tmp85_; + const gchar* _tmp86_; + gint _tmp87_; + VideoID* _tmp88_; + VideoID* _tmp89_; + gint _tmp89__length1; + gint duplicate_ids_length1; + gint _duplicate_ids_size_; + VideoID* _tmp90_; + gint _tmp90__length1; + DuplicatedFile* duplicated_file; + VideoID* _tmp91_; + gint _tmp91__length1; + VideoID _tmp92_; + DuplicatedFile* _tmp93_; + ImportResult result_code; + gboolean _tmp94_; + Video* dupe_video; + VideoSourceCollection* _tmp95_; + MediaSourceHoldingTank* _tmp96_; + MediaSourceHoldingTank* _tmp97_; + PreparedFile* _tmp98_; + GFile* _tmp99_; + MediaSource* _tmp100_; + Video* _tmp101_; + Video* _tmp102_; + VideoSourceCollection* _tmp103_; + MediaSourceHoldingTank* _tmp104_; + MediaSourceHoldingTank* _tmp105_; + PreparedFile* _tmp106_; + const gchar* _tmp107_; + MediaSource* _tmp108_; + Video* _tmp109_; + PreparedFile* _tmp110_; + GFile* _tmp111_; + gchar* _tmp112_; + gchar* _tmp113_; + Video* _tmp114_; + PreparedFile* _tmp115_; + GFile* _tmp116_; + Video* _tmp117_; + ImportManifest* _tmp118_; + GeeList* _tmp119_; + Video* _tmp120_; + Video* _tmp121_; + guint64 _tmp122_; + PreparedFile* _tmp123_; + BatchImportJob* _tmp124_; + PreparedFile* _tmp125_; + GFile* _tmp126_; + PreparedFile* _tmp127_; + GFile* _tmp128_; + gchar* _tmp129_; + gchar* _tmp130_; + PreparedFile* _tmp131_; + GFile* _tmp132_; + gchar* _tmp133_; + gchar* _tmp134_; + DuplicatedFile* _tmp135_; + ImportResult _tmp136_; + BatchImportResult* _tmp137_; + ImportResult _tmp138_; + ImportManifest* _tmp139_; + BatchImportResult* _tmp140_; + PreparedFile* _tmp141_; + GFile* _tmp142_; + GFile* _tmp143_; + gboolean _tmp144_; + PreparedFile* _tmp145_; + BatchImportJob* _tmp146_; + PreparedFile* _tmp147_; + GFile* _tmp148_; + PreparedFile* _tmp149_; + GFile* _tmp150_; + gchar* _tmp151_; + gchar* _tmp152_; + PreparedFile* _tmp153_; + GFile* _tmp154_; + gchar* _tmp155_; + gchar* _tmp156_; + PreparedFile* _tmp157_; + GFile* _tmp158_; + GFile* _tmp159_; + DuplicatedFile* _tmp160_; + DuplicatedFile* _tmp161_; + BatchImportResult* _tmp162_; + PreparedFile* _tmp163_; + GFile* _tmp164_; + PreparedFile* _tmp165_; + const gchar* _tmp166_; + PreparedFile* _tmp167_; + PhotoFileFormat _tmp168_; + gboolean _tmp169_; + gboolean _tmp170_; + LibraryPhotoSourceCollection* _tmp171_; + PreparedFile* _tmp172_; + GFile* _tmp173_; + LibraryPhoto* _tmp174_; + gboolean _tmp175_; + LibraryPhoto* _tmp176_; + PreparedFile* _tmp177_; + const gchar* _tmp178_; + LibraryPhotoSourceCollection* _tmp179_; + PreparedFile* _tmp180_; + const gchar* _tmp181_; + LibraryPhoto* _tmp182_; + LibraryPhoto* _tmp183_; + PreparedFile* _tmp184_; + GFile* _tmp185_; + gchar* _tmp186_; + gchar* _tmp187_; + LibraryPhoto* _tmp188_; + PreparedFile* _tmp189_; + GFile* _tmp190_; + LibraryPhoto* _tmp191_; + LibraryPhoto* _tmp192_; + gboolean _tmp193_; + LibraryPhoto* _tmp194_; + gboolean _tmp195_; + LibraryPhotoSourceCollection* _tmp196_; + PreparedFile* _tmp197_; + GFile* _tmp198_; + LibraryPhoto* _tmp199_; + gboolean _tmp200_; + LibraryPhoto* _tmp201_; + PreparedFile* _tmp202_; + const gchar* _tmp203_; + LibraryPhotoSourceCollection* _tmp204_; + PreparedFile* _tmp205_; + const gchar* _tmp206_; + LibraryPhoto* _tmp207_; + LibraryPhoto* _tmp208_; + PreparedFile* _tmp209_; + GFile* _tmp210_; + gchar* _tmp211_; + gchar* _tmp212_; + LibraryPhoto* _tmp213_; + PreparedFile* _tmp214_; + GFile* _tmp215_; + LibraryPhoto* _tmp216_; + LibraryPhoto* _tmp217_; + PreparedFile* _tmp218_; + BatchImportJob* _tmp219_; + PreparedFile* _tmp220_; + GFile* _tmp221_; + PreparedFile* _tmp222_; + GFile* _tmp223_; + gchar* _tmp224_; + gchar* _tmp225_; + PreparedFile* _tmp226_; + GFile* _tmp227_; + gchar* _tmp228_; + gchar* _tmp229_; + BatchImportResult* _tmp230_; + ImportManifest* _tmp231_; + GeeList* _tmp232_; + LibraryPhoto* _tmp233_; + ImportManifest* _tmp234_; + BatchImportResult* _tmp235_; + LibraryPhoto* _tmp236_; + guint64 _tmp237_; + PreparedFile* _tmp238_; + GFile* _tmp239_; + gchar* _tmp240_; + gchar* _tmp241_; + PhotoID* photo_ids; + PhotoTable* _tmp242_; + PhotoTable* _tmp243_; + PreparedFile* _tmp244_; + GFile* _tmp245_; + PreparedFile* _tmp246_; + const gchar* _tmp247_; + PreparedFile* _tmp248_; + PhotoFileFormat _tmp249_; + gint _tmp250_; + PhotoID* _tmp251_; + PhotoID* _tmp252_; + gint _tmp252__length1; + gint photo_ids_length1; + gint _photo_ids_size_; + PhotoID* _tmp253_; + gint _tmp253__length1; + DuplicatedFile* _vala1_duplicated_file; + PhotoID* _tmp254_; + gint _tmp254__length1; + PhotoID _tmp255_; + DuplicatedFile* _tmp256_; + PreparedFile* _tmp257_; + BatchImportJob* _tmp258_; + PreparedFile* _tmp259_; + GFile* _tmp260_; + PreparedFile* _tmp261_; + GFile* _tmp262_; + gchar* _tmp263_; + gchar* _tmp264_; + PreparedFile* _tmp265_; + GFile* _tmp266_; + gchar* _tmp267_; + gchar* _tmp268_; + DuplicatedFile* _tmp269_; + BatchImportResult* _tmp270_; + BatchImportResult* _tmp271_; + BatchImportResult* _tmp272_; + GeeList* _tmp273_; + PreparedFile* _tmp274_; +}; + +struct _PrepareFilesJob { + BackgroundImportJob parent_instance; + PrepareFilesJobPrivate * priv; + gint prepared_files; +}; + +struct _PrepareFilesJobClass { + BackgroundImportJobClass parent_class; +}; + +struct _PreparedFileImportJob { + BackgroundJob parent_instance; + PreparedFileImportJobPrivate * priv; + PreparedFile* not_ready; + ReadyForImport* ready; + BatchImportResult* failed; +}; + +struct _PreparedFileImportJobClass { + BackgroundJobClass parent_class; +}; + +struct _ReadyForImport { + GTypeInstance parent_instance; + volatile int ref_count; + ReadyForImportPrivate * priv; + GFile* final_file; + PreparedFile* prepared_file; + PhotoImportParams* photo_import_params; + VideoImportParams* video_import_params; + BatchImportResult* batch_result; + gboolean is_video; +}; + +struct _ReadyForImportClass { + GTypeClass parent_class; + void (*finalize) (ReadyForImport *self); +}; + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoImportParams { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoImportParamsPrivate * priv; + GFile* file; + GFile* final_associated_file; + ImportID import_id; + PhotoFileSnifferOptions sniffer_options; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* full_md5; + Thumbnails* thumbnails; + PhotoRow* row; + GeeCollection* keywords; +}; + +struct _PhotoImportParamsClass { + GTypeClass parent_class; + void (*finalize) (PhotoImportParams *self); +}; + +struct _BackingPhotoID { + gint64 id; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _ThumbnailWriterJob { + BackgroundImportJob parent_instance; + ThumbnailWriterJobPrivate * priv; + CompletedImportObject* completed_import_source; +}; + +struct _ThumbnailWriterJobClass { + BackgroundImportJobClass parent_class; +}; + +struct _CompletedImportObject { + GTypeInstance parent_instance; + volatile int ref_count; + CompletedImportObjectPrivate * priv; + Thumbnails* thumbnails; + BatchImportResult* batch_result; + MediaSource* source; + BatchImportJob* original_job; + GdkPixbuf* user_preview; +}; + +struct _CompletedImportObjectClass { + GTypeClass parent_class; + void (*finalize) (CompletedImportObject *self); +}; + +struct _DuplicatedFile { + GObject parent_instance; + DuplicatedFilePrivate * priv; +}; + +struct _DuplicatedFileClass { + GObjectClass parent_class; +}; + +struct _DuplicatedFilePrivate { + VideoID* video_id; + PhotoID* photo_id; + GFile* file; +}; + +struct _FileToPrepare { + GTypeInstance parent_instance; + volatile int ref_count; + FileToPreparePrivate * priv; + BatchImportJob* job; + GFile* file; + gboolean copy_to_library; + FileToPrepare* associated; +}; + +struct _FileToPrepareClass { + GTypeClass parent_class; + void (*finalize) (FileToPrepare *self); +}; + +struct _ParamSpecFileToPrepare { + GParamSpec parent_instance; +}; + +struct _WorkSnifferPrivate { + GeeIterable* jobs; + GeeHashSet* skipset; +}; + +struct _ParamSpecPreparedFile { + GParamSpec parent_instance; +}; + +struct _PrepareFilesJobPrivate { + GeeList* files_to_prepare; + NotificationCallback notification; + gpointer notification_target; + GFile* library_dir; + gint import_file_count; + gint fail_every; + gint skip_every; +}; + +struct _VideoImportParams { + GTypeInstance parent_instance; + volatile int ref_count; + VideoImportParamsPrivate * priv; + GFile* file; + ImportID import_id; + gchar* md5; + time_t exposure_time_override; + Thumbnails* thumbnails; + VideoRow* row; +}; + +struct _VideoImportParamsClass { + GTypeClass parent_class; + void (*finalize) (VideoImportParams *self); +}; + +struct _ParamSpecReadyForImport { + GParamSpec parent_instance; +}; + +struct _PreparedFileImportJobPrivate { + ImportID import_id; +}; + +typedef enum { + THUMBNAIL_CACHE_SIZE_LARGEST = 360, + THUMBNAIL_CACHE_SIZE_BIG = 360, + THUMBNAIL_CACHE_SIZE_MEDIUM = 128, + THUMBNAIL_CACHE_SIZE_SMALLEST = 128 +} ThumbnailCacheSize; + +struct _ParamSpecCompletedImportObject { + GParamSpec parent_instance; +}; + + +static gpointer batch_import_job_parent_class = NULL; +static gpointer file_import_job_parent_class = NULL; +static gpointer batch_import_roll_parent_class = NULL; +static gpointer batch_import_result_parent_class = NULL; +static gpointer import_manifest_parent_class = NULL; +static gpointer batch_import_parent_class = NULL; +static Workers* batch_import_feeder_workers; +static Workers* batch_import_feeder_workers = NULL; +static Workers* batch_import_import_workers; +static Workers* batch_import_import_workers = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +extern TombstoneSourceCollection* tombstone_global; +extern EventSourceCollection* event_global; +extern TagSourceCollection* tag_global; +static gpointer duplicated_file_parent_class = NULL; +static gpointer background_import_job_parent_class = NULL; +static gpointer file_to_prepare_parent_class = NULL; +static gpointer work_sniffer_parent_class = NULL; +static gpointer prepared_file_parent_class = NULL; +static gpointer prepared_file_cluster_parent_class = NULL; +static gpointer prepare_files_job_parent_class = NULL; +static gpointer ready_for_import_parent_class = NULL; +static gpointer prepared_file_import_job_parent_class = NULL; +static gpointer completed_import_object_parent_class = NULL; +static gpointer thumbnail_writer_job_parent_class = NULL; + +GType import_result_get_type (void) G_GNUC_CONST; +gchar* import_result_to_string (ImportResult self); +gboolean import_result_is_abort (ImportResult self); +gboolean import_result_is_nonuser_abort (ImportResult self); +ImportResult import_result_convert_error (GError* err, ImportResult default_result); +GQuark gphoto_error_quark (void); +gpointer batch_import_job_ref (gpointer instance); +void batch_import_job_unref (gpointer instance); +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_job (GValue* value, gpointer v_object); +void value_take_batch_import_job (GValue* value, gpointer v_object); +gpointer value_get_batch_import_job (const GValue* value); +GType batch_import_job_get_type (void) G_GNUC_CONST; +GType duplicated_file_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; +gpointer batch_import_roll_ref (gpointer instance); +void batch_import_roll_unref (gpointer instance); +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_roll (GValue* value, gpointer v_object); +void value_take_batch_import_roll (GValue* value, gpointer v_object); +gpointer value_get_batch_import_roll (const GValue* value); +GType batch_import_roll_get_type (void) G_GNUC_CONST; +enum { + BATCH_IMPORT_JOB_DUMMY_PROPERTY +}; +gchar* batch_import_job_get_dest_identifier (BatchImportJob* self); +static gchar* batch_import_job_real_get_dest_identifier (BatchImportJob* self); +gchar* batch_import_job_get_source_identifier (BatchImportJob* self); +static gchar* batch_import_job_real_get_source_identifier (BatchImportJob* self); +gboolean batch_import_job_is_directory (BatchImportJob* self); +static gboolean batch_import_job_real_is_directory (BatchImportJob* self); +gchar* batch_import_job_get_basename (BatchImportJob* self); +static gchar* batch_import_job_real_get_basename (BatchImportJob* self); +gchar* batch_import_job_get_path (BatchImportJob* self); +static gchar* batch_import_job_real_get_path (BatchImportJob* self); +DuplicatedFile* batch_import_job_get_duplicated_file (BatchImportJob* self); +static DuplicatedFile* batch_import_job_real_get_duplicated_file (BatchImportJob* self); +void batch_import_job_set_associated (BatchImportJob* self, BatchImportJob* associated); +static void batch_import_job_real_set_associated (BatchImportJob* self, BatchImportJob* associated); +gboolean batch_import_job_determine_file_size (BatchImportJob* self, guint64* filesize, GFile** file_or_dir); +static gboolean batch_import_job_real_determine_file_size (BatchImportJob* self, guint64* filesize, GFile** file_or_dir); +gboolean batch_import_job_prepare (BatchImportJob* self, GFile** file_to_import, gboolean* copy_to_library, GError** error); +static gboolean batch_import_job_real_prepare (BatchImportJob* self, GFile** file_to_import, gboolean* copy_to_library, GError** error); +gboolean batch_import_job_complete (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error); +static gboolean batch_import_job_real_complete (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error); +time_t batch_import_job_get_exposure_time_override (BatchImportJob* self); +static time_t batch_import_job_real_get_exposure_time_override (BatchImportJob* self); +BatchImportJob* batch_import_job_construct (GType object_type); +static void batch_import_job_finalize (BatchImportJob* obj); +GType file_import_job_get_type (void) G_GNUC_CONST; +#define FILE_IMPORT_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_FILE_IMPORT_JOB, FileImportJobPrivate)) +enum { + FILE_IMPORT_JOB_DUMMY_PROPERTY +}; +FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library); +FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library); +static gchar* file_import_job_real_get_dest_identifier (BatchImportJob* base); +static gchar* file_import_job_real_get_source_identifier (BatchImportJob* base); +static gboolean file_import_job_real_is_directory (BatchImportJob* base); +gboolean query_is_directory (GFile* file); +static gchar* file_import_job_real_get_basename (BatchImportJob* base); +static gchar* file_import_job_real_get_path (BatchImportJob* base); +static void file_import_job_real_set_associated (BatchImportJob* base, BatchImportJob* associated); +static gboolean file_import_job_real_determine_file_size (BatchImportJob* base, guint64* filesize, GFile** file); +static gboolean file_import_job_real_prepare (BatchImportJob* base, GFile** file_to_import, gboolean* copy, GError** error); +GFile* file_import_job_get_file (FileImportJob* self); +static void file_import_job_finalize (BatchImportJob* obj); +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* 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; +enum { + BATCH_IMPORT_ROLL_DUMMY_PROPERTY +}; +ViewCollection* view_collection_new (const gchar* name); +ViewCollection* view_collection_construct (GType object_type, const gchar* name); +BatchImportRoll* batch_import_roll_new (void); +BatchImportRoll* batch_import_roll_construct (GType object_type); +void import_id_generate (ImportID* result); +static void batch_import_roll_finalize (BatchImportRoll* obj); +gpointer batch_import_result_ref (gpointer instance); +void batch_import_result_unref (gpointer instance); +GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_result (GValue* value, gpointer v_object); +void value_take_batch_import_result (GValue* value, gpointer v_object); +gpointer value_get_batch_import_result (const GValue* value); +GType batch_import_result_get_type (void) G_GNUC_CONST; +enum { + BATCH_IMPORT_RESULT_DUMMY_PROPERTY +}; +BatchImportResult* batch_import_result_new (BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, DuplicatedFile* duplicate_of, ImportResult _result_); +BatchImportResult* batch_import_result_construct (GType object_type, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, DuplicatedFile* duplicate_of, ImportResult _result_); +BatchImportResult* batch_import_result_new_from_error (BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, GError* err, ImportResult default_result); +BatchImportResult* batch_import_result_construct_from_error (GType object_type, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, GError* err, ImportResult default_result); +static void batch_import_result_finalize (BatchImportResult* obj); +gpointer import_manifest_ref (gpointer instance); +void import_manifest_unref (gpointer instance); +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_import_manifest (GValue* value, gpointer v_object); +void value_take_import_manifest (GValue* value, gpointer v_object); +gpointer value_get_import_manifest (const GValue* value); +GType import_manifest_get_type (void) G_GNUC_CONST; +enum { + IMPORT_MANIFEST_DUMMY_PROPERTY +}; +ImportManifest* import_manifest_new (GeeList* prefailed, GeeList* pre_already_imported); +ImportManifest* import_manifest_construct (GType object_type, GeeList* prefailed, GeeList* pre_already_imported); +void import_manifest_add_result (ImportManifest* self, BatchImportResult* batch_result); +static void import_manifest_finalize (ImportManifest* obj); +GType batch_import_get_type (void) G_GNUC_CONST; +gpointer prepared_file_ref (gpointer instance); +void prepared_file_unref (gpointer instance); +GParamSpec* param_spec_prepared_file (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_prepared_file (GValue* value, gpointer v_object); +void value_take_prepared_file (GValue* value, gpointer v_object); +gpointer value_get_prepared_file (const GValue* value); +GType prepared_file_get_type (void) G_GNUC_CONST; +gpointer completed_import_object_ref (gpointer instance); +void completed_import_object_unref (gpointer instance); +GParamSpec* param_spec_completed_import_object (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_completed_import_object (GValue* value, gpointer v_object); +void value_take_completed_import_object (GValue* value, gpointer v_object); +gpointer value_get_completed_import_object (const GValue* value); +GType completed_import_object_get_type (void) G_GNUC_CONST; +#define BATCH_IMPORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_BATCH_IMPORT, BatchImportPrivate)) +enum { + BATCH_IMPORT_DUMMY_PROPERTY +}; +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +void batch_import_user_halt (BatchImport* self); +static void _batch_import_user_halt_application_exiting (Application* _sender, gboolean panicked, gpointer self); +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +guint workers_thread_per_cpu_minus_one (void); +#define BATCH_IMPORT_WORK_SNIFFER_THROBBER_MSEC 125 +#define BATCH_IMPORT_REPORT_EVERY_N_PREPARED_FILES 100 +#define BATCH_IMPORT_REPORT_PREPARED_FILES_EVERY_N_MSEC 3000 +#define BATCH_IMPORT_READY_SOURCES_COUNT_OVERFLOW 10 +#define BATCH_IMPORT_DISPLAY_QUEUE_TIMER_MSEC 125 +#define BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW ((3 * 1000) / BATCH_IMPORT_DISPLAY_QUEUE_TIMER_MSEC) +BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +GFile* media_source_get_file (MediaSource* self); +static gboolean batch_import_display_imported_timer (BatchImport* self); +static gboolean _batch_import_display_imported_timer_gsource_func (gpointer self); +gchar* batch_import_get_name (BatchImport* self); +gboolean batch_import_get_untrash_duplicates (BatchImport* self); +void batch_import_set_untrash_duplicates (BatchImport* self, gboolean untrash_duplicates); +gboolean batch_import_get_mark_duplicates_online (BatchImport* self); +void batch_import_set_mark_duplicates_online (BatchImport* self, gboolean mark_duplicates_online); +static void batch_import_log_status (BatchImport* self, const gchar* where); +static gboolean batch_import_report_failure (BatchImport* self, BatchImportResult* import_result); +guint64 query_total_file_size (GFile* file_or_dir, GCancellable* cancellable, GError** error); +static void batch_import_report_progress (BatchImport* self, guint64 increment_of_progress); +gulong now_ms (void); +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +GType background_import_job_get_type (void) G_GNUC_CONST; +static gboolean batch_import_report_failures (BatchImport* self, BackgroundImportJob* background_job); +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +static void batch_import_report_completed (BatchImport* self, const gchar* where); +static void batch_import_flush_ready_sources (BatchImport* self); +static void batch_import_file_import_complete (BatchImport* self); +void batch_import_schedule (BatchImport* self); +void workers_enqueue (Workers* self, BackgroundJob* job); +static void batch_import_on_work_sniffed_out (BatchImport* self, BackgroundJob* j); +static void _batch_import_on_work_sniffed_out_completion_callback (BackgroundJob* job, gpointer self); +static void batch_import_on_sniffer_cancelled (BatchImport* self, BackgroundJob* j); +static void _batch_import_on_sniffer_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +WorkSniffer* work_sniffer_new (BatchImport* owner, GeeIterable* jobs, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, GeeHashSet* skipset); +WorkSniffer* work_sniffer_construct (GType object_type, BatchImport* owner, GeeIterable* jobs, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, GeeHashSet* skipset); +GType work_sniffer_get_type (void) G_GNUC_CONST; +static gboolean batch_import_on_sniffer_working (BatchImport* self); +static gboolean _batch_import_on_sniffer_working_gsource_func (gpointer self); +gpointer file_to_prepare_ref (gpointer instance); +void file_to_prepare_unref (gpointer instance); +GParamSpec* param_spec_file_to_prepare (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_file_to_prepare (GValue* value, gpointer v_object); +void value_take_file_to_prepare (GValue* value, gpointer v_object); +gpointer value_get_file_to_prepare (const GValue* value); +GType file_to_prepare_get_type (void) G_GNUC_CONST; +GType prepare_files_job_get_type (void) G_GNUC_CONST; +gpointer notification_object_ref (gpointer instance); +void notification_object_unref (gpointer instance); +GParamSpec* param_spec_notification_object (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_notification_object (GValue* value, gpointer v_object); +void value_take_notification_object (GValue* value, gpointer v_object); +gpointer value_get_notification_object (const GValue* value); +GType notification_object_get_type (void) G_GNUC_CONST; +static void batch_import_on_file_prepared (BatchImport* self, BackgroundJob* j, NotificationObject* user); +static void _batch_import_on_file_prepared_notification_callback (BackgroundJob* job, NotificationObject* user, gpointer self); +static void batch_import_on_files_prepared (BatchImport* self, BackgroundJob* j); +static void _batch_import_on_files_prepared_completion_callback (BackgroundJob* job, gpointer self); +static void batch_import_on_file_prepare_cancelled (BatchImport* self, BackgroundJob* j); +static void _batch_import_on_file_prepare_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +PrepareFilesJob* prepare_files_job_new (BatchImport* owner, GeeList* files_to_prepare, NotificationCallback notification, void* notification_target, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target); +PrepareFilesJob* prepare_files_job_construct (GType object_type, BatchImport* owner, GeeList* files_to_prepare, NotificationCallback notification, void* notification_target, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target); +static void batch_import_flush_import_jobs (BatchImport* self); +gint workers_get_pending_job_count (Workers* self); +static void batch_import_on_thumbnail_writer_completed (BatchImport* self, BackgroundJob* j); +static void _batch_import_on_thumbnail_writer_completed_completion_callback (BackgroundJob* job, gpointer self); +static void batch_import_on_thumbnail_writer_cancelled (BatchImport* self, BackgroundJob* j); +static void _batch_import_on_thumbnail_writer_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +ThumbnailWriterJob* thumbnail_writer_job_new (BatchImport* owner, CompletedImportObject* completed_import_source, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancel_callback, void* cancel_callback_target); +ThumbnailWriterJob* thumbnail_writer_job_construct (GType object_type, BatchImport* owner, CompletedImportObject* completed_import_source, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancel_callback, void* cancel_callback_target); +GType thumbnail_writer_job_get_type (void) G_GNUC_CONST; +static void batch_import_on_import_files_completed (BatchImport* self, BackgroundJob* j); +static void _batch_import_on_import_files_completed_completion_callback (BackgroundJob* job, gpointer self); +static void batch_import_on_import_files_cancelled (BatchImport* self, BackgroundJob* j); +static void _batch_import_on_import_files_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +PreparedFileImportJob* prepared_file_import_job_new (BatchImport* owner, PreparedFile* prepared_file, ImportID* import_id, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target); +PreparedFileImportJob* prepared_file_import_job_construct (GType object_type, BatchImport* owner, PreparedFile* prepared_file, ImportID* import_id, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target); +GType prepared_file_import_job_get_type (void) G_GNUC_CONST; +static GFile* batch_import_get_in_current_import (BatchImport* self, PreparedFile* prepared_file); +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType interlocked_notification_object_get_type (void) G_GNUC_CONST; +GType prepared_file_cluster_get_type (void) G_GNUC_CONST; +static void batch_import_process_prepared_files (BatchImport* self, GeeList* list, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void batch_import_process_prepared_files_finish (BatchImport* self, GAsyncResult* _res_); +static void batch_import_process_prepared_files_data_free (gpointer _data); +static gboolean batch_import_process_prepared_files_co (BatchImportProcessPreparedFilesData* _data_); +static gboolean _batch_import_process_prepared_files_co_gsource_func (gpointer self); +GType library_photo_source_collection_state_get_type (void) G_GNUC_CONST; +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +LibraryPhoto* library_photo_source_collection_get_state_by_file (LibraryPhotoSourceCollection* self, GFile* file, LibraryPhotoSourceCollectionState* state); +DuplicatedFile* duplicated_file_create_from_file (GFile* file); +GFile* media_source_get_master_file (MediaSource* self); +void media_source_mark_online (MediaSource* self); +const gchar* library_photo_source_collection_state_to_string (LibraryPhotoSourceCollectionState self); +GType video_source_collection_state_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +GType video_source_collection_get_type (void) G_GNUC_CONST; +Video* video_source_collection_get_state_by_file (VideoSourceCollection* self, GFile* file, VideoSourceCollectionState* state); +const gchar* video_source_collection_state_to_string (VideoSourceCollectionState self); +gboolean video_is_duplicate (GFile* file, const gchar* full_md5); +GType video_id_get_type (void) G_GNUC_CONST; +VideoID* video_id_dup (const VideoID* self); +void video_id_free (VideoID* self); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType video_table_get_type (void) G_GNUC_CONST; +VideoTable* video_table_get_instance (void); +VideoID* video_table_get_duplicate_ids (VideoTable* self, GFile* file, const gchar* md5, int* result_length1); +DuplicatedFile* duplicated_file_create_from_video_id (VideoID* video_id); +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType database_source_holding_tank_get_type (void) G_GNUC_CONST; +GType media_source_holding_tank_get_type (void) G_GNUC_CONST; +MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self); +MediaSource* media_source_holding_tank_fetch_by_master_file (MediaSourceHoldingTank* self, GFile* file); +MediaSource* media_source_holding_tank_fetch_by_md5 (MediaSourceHoldingTank* self, const gchar* md5); +GType monitorable_get_type (void) G_GNUC_CONST; +void monitorable_set_master_file (Monitorable* self, GFile* file); +guint64 media_source_get_filesize (MediaSource* self); +gboolean photo_is_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format); +LibraryPhoto* library_photo_source_collection_get_trashed_by_file (LibraryPhotoSourceCollection* self, GFile* file); +LibraryPhoto* library_photo_source_collection_get_trashed_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5); +void media_source_untrash (MediaSource* self); +void photo_remove_all_transformations (Photo* self); +LibraryPhoto* library_photo_source_collection_get_offline_by_file (LibraryPhotoSourceCollection* self, GFile* file); +LibraryPhoto* library_photo_source_collection_get_offline_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5); +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +GType photo_table_get_type (void) G_GNUC_CONST; +PhotoTable* photo_table_get_instance (void); +PhotoID* photo_table_get_duplicate_ids (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format, int* result_length1); +DuplicatedFile* duplicated_file_create_from_photo_id (PhotoID* photo_id); +static void batch_import_done_preparing_files (BatchImport* self, BackgroundJob* j, const gchar* caller); +gpointer ready_for_import_ref (gpointer instance); +void ready_for_import_unref (gpointer instance); +GParamSpec* param_spec_ready_for_import (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_ready_for_import (GValue* value, gpointer v_object); +void value_take_ready_for_import (GValue* value, gpointer v_object); +gpointer value_get_ready_for_import (const GValue* value); +GType ready_for_import_get_type (void) G_GNUC_CONST; +gpointer photo_import_params_ref (gpointer instance); +void photo_import_params_unref (gpointer instance); +GParamSpec* param_spec_photo_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_import_params (GValue* value, gpointer v_object); +void value_take_photo_import_params (GValue* value, gpointer v_object); +gpointer value_get_photo_import_params (const GValue* value); +GType photo_import_params_get_type (void) G_GNUC_CONST; +gpointer video_import_params_ref (gpointer instance); +void video_import_params_unref (gpointer instance); +GParamSpec* param_spec_video_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_video_import_params (GValue* value, gpointer v_object); +void value_take_video_import_params (GValue* value, gpointer v_object); +gpointer value_get_video_import_params (const GValue* value); +GType video_import_params_get_type (void) G_GNUC_CONST; +GType tombstone_get_type (void) G_GNUC_CONST; +GType tombstone_source_collection_get_type (void) G_GNUC_CONST; +Tombstone* tombstone_source_collection_locate (TombstoneSourceCollection* self, GFile* file); +void tombstone_source_collection_resurrect (TombstoneSourceCollection* self, Tombstone* tombstone); +ImportResult video_import_create (VideoImportParams* params, Video** video); +ImportResult library_photo_import_create (PhotoImportParams* params, LibraryPhoto** photo); +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer thumbnails_ref (gpointer instance); +void thumbnails_unref (gpointer instance); +GParamSpec* param_spec_thumbnails (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_thumbnails (GValue* value, gpointer v_object); +void value_take_thumbnails (GValue* value, gpointer v_object); +gpointer value_get_thumbnails (const GValue* value); +GType thumbnails_get_type (void) G_GNUC_CONST; +gpointer photo_row_ref (gpointer instance); +void photo_row_unref (gpointer instance); +GParamSpec* param_spec_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_row (GValue* value, gpointer v_object); +void value_take_photo_row (GValue* value, gpointer v_object); +gpointer value_get_photo_row (const GValue* value); +GType photo_row_get_type (void) G_GNUC_CONST; +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +BackingPhotoRow* backing_photo_row_new (void); +BackingPhotoRow* backing_photo_row_construct (GType object_type); +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType orientation_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +void photo_add_backing_photo_for_development (Photo* self, RawDeveloper d, BackingPhotoRow* bpr, GError** error); +PhotoFileFormat photo_get_master_file_format (Photo* self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +RawDeveloper configuration_facade_get_default_raw_developer (ConfigurationFacade* self); +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +void photo_set_default_raw_developer (Photo* self, RawDeveloper d); +void photo_set_raw_developer (Photo* self, RawDeveloper d); +Thumbnails* ready_for_import_get_thumbnails (ReadyForImport* self); +CompletedImportObject* completed_import_object_new (MediaSource* source, Thumbnails* thumbnails, BatchImportJob* original_job, BatchImportResult* import_result); +CompletedImportObject* completed_import_object_construct (GType object_type, MediaSource* source, Thumbnails* thumbnails, BatchImportJob* original_job, BatchImportResult* import_result); +BatchImportResult* ready_for_import_abort (ReadyForImport* self); +gchar* data_object_to_string (DataObject* self); +void library_photo_import_failed (LibraryPhoto* photo); +void video_import_failed (Video* video); +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_begin_transaction_on_all (MediaCollectionRegistry* self); +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType event_source_collection_get_type (void) G_GNUC_CONST; +void data_collection_freeze_notifications (DataCollection* self); +GType tag_source_collection_get_type (void) G_GNUC_CONST; +void media_source_collection_import_many (MediaSourceCollection* self, GeeCollection* media); +void event_generate_many_events (GeeCollection* sources, ViewCollection* events_so_far); +void data_collection_thaw_notifications (DataCollection* self); +void media_collection_registry_commit_transaction_on_all (MediaCollectionRegistry* self); +static void g_cclosure_user_marshal_VOID__UINT64_UINT64 (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__ENUM_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__BATCH_IMPORT_RESULT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void batch_import_finalize (GObject* obj); +#define DUPLICATED_FILE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DUPLICATED_FILE, DuplicatedFilePrivate)) +enum { + DUPLICATED_FILE_DUMMY_PROPERTY +}; +static DuplicatedFile* duplicated_file_new (void); +static DuplicatedFile* duplicated_file_construct (GType object_type); +gboolean photo_id_is_valid (PhotoID *self); +gboolean video_id_is_valid (VideoID *self); +GFile* duplicated_file_get_file (DuplicatedFile* self); +LibraryPhoto* library_photo_source_collection_fetch (LibraryPhotoSourceCollection* self, PhotoID* photo_id); +Video* video_source_collection_fetch (VideoSourceCollection* self, VideoID* video_id); +static void duplicated_file_finalize (GObject* obj); +enum { + BACKGROUND_IMPORT_JOB_DUMMY_PROPERTY +}; +BackgroundImportJob* background_import_job_construct (GType object_type, BatchImport* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target); +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +ImportResult background_import_job_abort_check (BackgroundImportJob* self); +gboolean background_job_is_cancelled (BackgroundJob* self); +void background_import_job_abort (BackgroundImportJob* self, ImportResult _result_); +void background_import_job_report_failure (BackgroundImportJob* self, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, ImportResult _result_); +void background_import_job_report_error (BackgroundImportJob* self, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, GError* err, ImportResult default_result); +static void background_import_job_finalize (BackgroundJob* obj); +enum { + FILE_TO_PREPARE_DUMMY_PROPERTY +}; +FileToPrepare* file_to_prepare_new (BatchImportJob* job, GFile* file, gboolean copy_to_library); +FileToPrepare* file_to_prepare_construct (GType object_type, BatchImportJob* job, GFile* file, gboolean copy_to_library); +void file_to_prepare_set_associated (FileToPrepare* self, FileToPrepare* a); +gchar* file_to_prepare_get_parent_path (FileToPrepare* self); +gchar* file_to_prepare_get_path (FileToPrepare* self); +gchar* file_to_prepare_get_basename (FileToPrepare* self); +gboolean file_to_prepare_is_directory (FileToPrepare* self); +static void file_to_prepare_finalize (FileToPrepare* obj); +#define WORK_SNIFFER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_WORK_SNIFFER, WorkSnifferPrivate)) +enum { + WORK_SNIFFER_DUMMY_PROPERTY +}; +static void work_sniffer_real_execute (BackgroundJob* base); +static void work_sniffer_sniff_job (WorkSniffer* self, BatchImportJob* job, GError** error); +static gint __lambda11_ (WorkSniffer* self, FileToPrepare* a, FileToPrepare* b); +gint utf8_cs_compare (void* a, void* b); +static gint ___lambda11__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +gboolean is_string_empty (const gchar* s); +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +GType raw_file_format_properties_get_type (void) G_GNUC_CONST; +RawFileFormatProperties* raw_file_format_properties_get_instance (void); +gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext); +static gboolean work_sniffer_is_paired (WorkSniffer* self, FileToPrepare* raw, FileToPrepare* maybe_paired); +GType jfif_file_format_properties_get_type (void) G_GNUC_CONST; +JfifFileFormatProperties* jfif_file_format_properties_get_instance (void); +void work_sniffer_search_dir (WorkSniffer* self, BatchImportJob* job, GFile* dir, gboolean copy_to_library, GError** error); +GCancellable* background_job_get_cancellable (BackgroundJob* self); +gboolean photo_is_file_image (GFile* file); +gboolean photo_file_format_is_file_supported (GFile* file); +gboolean video_reader_is_supported_video_file (GFile* file); +static void work_sniffer_finalize (BackgroundJob* obj); +enum { + PREPARED_FILE_DUMMY_PROPERTY +}; +PreparedFile* prepared_file_new (BatchImportJob* job, GFile* file, GFile* associated_file, const gchar* source_id, const gchar* dest_id, gboolean copy_to_library, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, guint64 filesize, gboolean is_video); +PreparedFile* prepared_file_construct (GType object_type, BatchImportJob* job, GFile* file, GFile* associated_file, const gchar* source_id, const gchar* dest_id, gboolean copy_to_library, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, guint64 filesize, gboolean is_video); +static void prepared_file_finalize (PreparedFile* obj); +enum { + PREPARED_FILE_CLUSTER_DUMMY_PROPERTY +}; +PreparedFileCluster* prepared_file_cluster_new (GeeArrayList* list); +PreparedFileCluster* prepared_file_cluster_construct (GType object_type, GeeArrayList* list); +InterlockedNotificationObject* interlocked_notification_object_construct (GType object_type); +static void prepared_file_cluster_finalize (NotificationObject* obj); +#define PREPARE_FILES_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PREPARE_FILES_JOB, PrepareFilesJobPrivate)) +enum { + PREPARE_FILES_JOB_DUMMY_PROPERTY +}; +GFile* app_dirs_get_import_dir (void); +static gint prepare_files_job_get_test_variable (const gchar* name); +void background_job_set_notification_priority (BackgroundJob* self, gint priority); +static void prepare_files_job_real_execute (BackgroundJob* base); +static gboolean prepare_files_job_create_file (PrepareFilesJob* self, BatchImportJob* job, GFile** file, gboolean* copy_to_library); +static ImportResult prepare_files_job_prepare_file (PrepareFilesJob* self, BatchImportJob* job, GFile* file, GFile* associated_file, gboolean copy_to_library, PreparedFile** prepared_file); +void background_job_notify (BackgroundJob* self, NotificationCallback callback, void* callback_target, NotificationObject* user); +gchar* md5_file (GFile* file, GError** error); +PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file); +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error); +guint8* photo_metadata_flatten_exif (PhotoMetadata* self, gboolean include_preview, int* result_length1); +gchar* md5_binary (guint8* buffer, gsize length); +guint8* photo_metadata_flatten_exif_preview (PhotoMetadata* self, int* result_length1); +static void prepare_files_job_finalize (BackgroundJob* obj); +enum { + READY_FOR_IMPORT_DUMMY_PROPERTY +}; +ReadyForImport* ready_for_import_new (GFile* final_file, PreparedFile* prepared_file, PhotoImportParams* photo_import_params, VideoImportParams* video_import_params, BatchImportResult* batch_result); +ReadyForImport* ready_for_import_construct (GType object_type, GFile* final_file, PreparedFile* prepared_file, PhotoImportParams* photo_import_params, VideoImportParams* video_import_params, BatchImportResult* batch_result); +gpointer video_row_ref (gpointer instance); +void video_row_unref (gpointer instance); +GParamSpec* param_spec_video_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_video_row (GValue* value, gpointer v_object); +void value_take_video_row (GValue* value, gpointer v_object); +gpointer value_get_video_row (const GValue* value); +GType video_row_get_type (void) G_GNUC_CONST; +static void ready_for_import_finalize (ReadyForImport* obj); +#define PREPARED_FILE_IMPORT_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJobPrivate)) +enum { + PREPARED_FILE_IMPORT_JOB_DUMMY_PROPERTY +}; +void background_job_set_completion_priority (BackgroundJob* self, gint priority); +static void prepared_file_import_job_real_execute (BackgroundJob* base); +GFile* library_files_duplicate (GFile* src, GFileProgressCallback progress_callback, void* progress_callback_target, gboolean blacklist, GError** error); +Thumbnails* thumbnails_new (void); +Thumbnails* thumbnails_construct (GType object_type); +VideoImportParams* video_import_params_new (GFile* file, ImportID* import_id, const gchar* md5, Thumbnails* thumbnails, time_t exposure_time_override); +VideoImportParams* video_import_params_construct (GType object_type, GFile* file, ImportID* import_id, const gchar* md5, Thumbnails* thumbnails, time_t exposure_time_override); +ImportResult video_reader_prepare_for_import (VideoImportParams* params); +PhotoImportParams* photo_import_params_new (GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails); +PhotoImportParams* photo_import_params_construct (GType object_type, GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails); +ImportResult photo_prepare_for_import (PhotoImportParams* params); +static void prepared_file_import_job_finalize (BackgroundJob* obj); +enum { + COMPLETED_IMPORT_OBJECT_DUMMY_PROPERTY +}; +GType thumbnail_cache_size_get_type (void) G_GNUC_CONST; +GdkPixbuf* thumbnails_get (Thumbnails* self, ThumbnailCacheSize size); +static void completed_import_object_finalize (CompletedImportObject* obj); +enum { + THUMBNAIL_WRITER_JOB_DUMMY_PROPERTY +}; +static void thumbnail_writer_job_real_execute (BackgroundJob* base); +void thumbnail_cache_import_thumbnails (ThumbnailSource* source, Thumbnails* thumbnails, gboolean force, GError** error); +static void thumbnail_writer_job_finalize (BackgroundJob* obj); + + +gchar* import_result_to_string (ImportResult self) { + gchar* result = NULL; +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + switch (self) { +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_SUCCESS: +#line 2249 "BatchImport.c" + { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _ ("Success"); +#line 26 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 26 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp1_; +#line 26 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2261 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_FILE_ERROR: +#line 2265 "BatchImport.c" + { + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _ ("File error"); +#line 29 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 29 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp3_; +#line 29 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2277 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_DECODE_ERROR: +#line 2281 "BatchImport.c" + { + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _ ("Unable to decode file"); +#line 32 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 32 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp5_; +#line 32 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2293 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_DATABASE_ERROR: +#line 2297 "BatchImport.c" + { + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _ ("Database error"); +#line 35 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 35 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp7_; +#line 35 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2309 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_USER_ABORT: +#line 2313 "BatchImport.c" + { + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _ ("User aborted import"); +#line 38 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 38 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp9_; +#line 38 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2325 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_NOT_A_FILE: +#line 2329 "BatchImport.c" + { + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _ ("Not a file"); +#line 41 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 41 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp11_; +#line 41 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2341 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_PHOTO_EXISTS: +#line 2345 "BatchImport.c" + { + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = _ ("File already exists in database"); +#line 44 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 44 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp13_; +#line 44 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2357 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_UNSUPPORTED_FORMAT: +#line 2361 "BatchImport.c" + { + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = _ ("Unsupported file format"); +#line 47 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 47 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp15_; +#line 47 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2373 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_NOT_AN_IMAGE: +#line 2377 "BatchImport.c" + { + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = _ ("Not an image file"); +#line 50 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 50 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp17_; +#line 50 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2389 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_DISK_FAILURE: +#line 2393 "BatchImport.c" + { + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = _ ("Disk failure"); +#line 53 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = g_strdup (_tmp18_); +#line 53 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp19_; +#line 53 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2405 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_DISK_FULL: +#line 2409 "BatchImport.c" + { + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _ ("Disk full"); +#line 56 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = g_strdup (_tmp20_); +#line 56 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp21_; +#line 56 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2421 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_CAMERA_ERROR: +#line 2425 "BatchImport.c" + { + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = _ ("Camera error"); +#line 59 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = g_strdup (_tmp22_); +#line 59 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp23_; +#line 59 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2437 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_FILE_WRITE_ERROR: +#line 2441 "BatchImport.c" + { + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = _ ("File write error"); +#line 62 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 62 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp25_; +#line 62 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2453 "BatchImport.c" + } +#line 24 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE: +#line 2457 "BatchImport.c" + { + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = _ ("Corrupt image file"); +#line 65 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = g_strdup (_tmp26_); +#line 65 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp27_; +#line 65 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2469 "BatchImport.c" + } + default: + { + const gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _ ("Imported failed (%d)"); +#line 68 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = g_strdup_printf (_tmp28_, (gint) self); +#line 68 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp29_; +#line 68 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2483 "BatchImport.c" + } + } +} + + +gboolean import_result_is_abort (ImportResult self) { + gboolean result = FALSE; +#line 73 "/home/jens/Source/shotwell/src/BatchImport.vala" + switch (self) { +#line 73 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_DISK_FULL: +#line 73 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_DISK_FAILURE: +#line 73 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_USER_ABORT: +#line 2499 "BatchImport.c" + { +#line 77 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = TRUE; +#line 77 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2505 "BatchImport.c" + } + default: + { +#line 80 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = FALSE; +#line 80 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2513 "BatchImport.c" + } + } +} + + +gboolean import_result_is_nonuser_abort (ImportResult self) { + gboolean result = FALSE; +#line 85 "/home/jens/Source/shotwell/src/BatchImport.vala" + switch (self) { +#line 85 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_DISK_FULL: +#line 85 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_DISK_FAILURE: +#line 2527 "BatchImport.c" + { +#line 88 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = TRUE; +#line 88 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2533 "BatchImport.c" + } + default: + { +#line 91 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = FALSE; +#line 91 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2541 "BatchImport.c" + } + } +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? g_error_copy (self) : NULL; +#line 2550 "BatchImport.c" +} + + +ImportResult import_result_convert_error (GError* err, ImportResult default_result) { + ImportResult result = 0; + GError* _tmp0_ = NULL; + ImportResult _tmp32_ = 0; +#line 96 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = err; +#line 96 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp0_->domain == G_FILE_ERROR) { +#line 2562 "BatchImport.c" + GError* ferr = NULL; + GError* _tmp1_ = NULL; + GError* _tmp2_ = NULL; + GError* _tmp3_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = err; +#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _g_error_copy0 ((GError*) _tmp1_); +#line 97 "/home/jens/Source/shotwell/src/BatchImport.vala" + ferr = _tmp2_; +#line 99 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = ferr; +#line 99 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp3_, G_FILE_ERROR, G_FILE_ERROR_NOSPC)) { +#line 100 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_DISK_FULL; +#line 100 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ferr); +#line 100 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2583 "BatchImport.c" + } else { + GError* _tmp4_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = ferr; +#line 101 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp4_, G_FILE_ERROR, G_FILE_ERROR_IO)) { +#line 102 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_DISK_FAILURE; +#line 102 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ferr); +#line 102 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2596 "BatchImport.c" + } else { + GError* _tmp5_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = ferr; +#line 103 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp5_, G_FILE_ERROR, G_FILE_ERROR_ISDIR)) { +#line 104 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_NOT_A_FILE; +#line 104 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ferr); +#line 104 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2609 "BatchImport.c" + } else { + GError* _tmp6_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = ferr; +#line 105 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp6_, G_FILE_ERROR, G_FILE_ERROR_ACCES)) { +#line 106 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_FILE_WRITE_ERROR; +#line 106 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ferr); +#line 106 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2622 "BatchImport.c" + } else { + GError* _tmp7_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = ferr; +#line 107 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp7_, G_FILE_ERROR, G_FILE_ERROR_PERM)) { +#line 108 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_FILE_WRITE_ERROR; +#line 108 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ferr); +#line 108 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2635 "BatchImport.c" + } else { +#line 110 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_FILE_ERROR; +#line 110 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ferr); +#line 110 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2643 "BatchImport.c" + } + } + } + } + } +#line 96 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ferr); +#line 2651 "BatchImport.c" + } else { + GError* _tmp8_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = err; +#line 111 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp8_->domain == G_IO_ERROR) { +#line 2658 "BatchImport.c" + GError* ioerr = NULL; + GError* _tmp9_ = NULL; + GError* _tmp10_ = NULL; + GError* _tmp11_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = err; +#line 112 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _g_error_copy0 ((GError*) _tmp9_); +#line 112 "/home/jens/Source/shotwell/src/BatchImport.vala" + ioerr = _tmp10_; +#line 114 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = ioerr; +#line 114 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp11_, G_IO_ERROR, G_IO_ERROR_NO_SPACE)) { +#line 115 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_DISK_FULL; +#line 115 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ioerr); +#line 115 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2679 "BatchImport.c" + } else { + GError* _tmp12_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = ioerr; +#line 116 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp12_, G_IO_ERROR, G_IO_ERROR_FAILED)) { +#line 117 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_DISK_FAILURE; +#line 117 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ioerr); +#line 117 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2692 "BatchImport.c" + } else { + GError* _tmp13_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = ioerr; +#line 118 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp13_, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY)) { +#line 119 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_NOT_A_FILE; +#line 119 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ioerr); +#line 119 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2705 "BatchImport.c" + } else { + GError* _tmp14_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = ioerr; +#line 120 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp14_, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { +#line 121 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_USER_ABORT; +#line 121 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ioerr); +#line 121 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2718 "BatchImport.c" + } else { + GError* _tmp15_ = NULL; +#line 122 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = ioerr; +#line 122 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp15_, G_IO_ERROR, G_IO_ERROR_READ_ONLY)) { +#line 123 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_FILE_WRITE_ERROR; +#line 123 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ioerr); +#line 123 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2731 "BatchImport.c" + } else { + GError* _tmp16_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = ioerr; +#line 124 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp16_, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED)) { +#line 125 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_FILE_WRITE_ERROR; +#line 125 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ioerr); +#line 125 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2744 "BatchImport.c" + } else { +#line 127 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_FILE_ERROR; +#line 127 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ioerr); +#line 127 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2752 "BatchImport.c" + } + } + } + } + } + } +#line 111 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (ioerr); +#line 2761 "BatchImport.c" + } else { + GError* _tmp17_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = err; +#line 128 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp17_->domain == GPHOTO_ERROR) { +#line 129 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_CAMERA_ERROR; +#line 129 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2772 "BatchImport.c" + } else { + GError* _tmp18_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = err; +#line 130 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp18_->domain == GDK_PIXBUF_ERROR) { +#line 2779 "BatchImport.c" + GError* pixbuferr = NULL; + GError* _tmp19_ = NULL; + GError* _tmp20_ = NULL; + GError* _tmp21_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = err; +#line 131 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _g_error_copy0 ((GError*) _tmp19_); +#line 131 "/home/jens/Source/shotwell/src/BatchImport.vala" + pixbuferr = _tmp20_; +#line 133 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = pixbuferr; +#line 133 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp21_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE)) { +#line 134 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE; +#line 134 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (pixbuferr); +#line 134 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2800 "BatchImport.c" + } else { + GError* _tmp22_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = pixbuferr; +#line 135 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp22_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY)) { +#line 2807 "BatchImport.c" + ImportResult _tmp23_ = 0; +#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = default_result; +#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp23_; +#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (pixbuferr); +#line 136 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2817 "BatchImport.c" + } else { + GError* _tmp24_ = NULL; +#line 137 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = pixbuferr; +#line 137 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp24_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_BAD_OPTION)) { +#line 2824 "BatchImport.c" + ImportResult _tmp25_ = 0; +#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = default_result; +#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp25_; +#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (pixbuferr); +#line 138 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2834 "BatchImport.c" + } else { + GError* _tmp26_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = pixbuferr; +#line 139 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp26_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_UNKNOWN_TYPE)) { +#line 140 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 140 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (pixbuferr); +#line 140 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2847 "BatchImport.c" + } else { + GError* _tmp27_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = pixbuferr; +#line 141 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp27_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION)) { +#line 2854 "BatchImport.c" + ImportResult _tmp28_ = 0; +#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = default_result; +#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp28_; +#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (pixbuferr); +#line 142 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2864 "BatchImport.c" + } else { + GError* _tmp29_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = pixbuferr; +#line 143 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_error_matches (_tmp29_, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_FAILED)) { +#line 2871 "BatchImport.c" + ImportResult _tmp30_ = 0; +#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = default_result; +#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp30_; +#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (pixbuferr); +#line 144 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2881 "BatchImport.c" + } else { + ImportResult _tmp31_ = 0; +#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = default_result; +#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp31_; +#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (pixbuferr); +#line 146 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2892 "BatchImport.c" + } + } + } + } + } + } +#line 130 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (pixbuferr); +#line 2901 "BatchImport.c" + } + } + } + } +#line 149 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = default_result; +#line 149 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp32_; +#line 149 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 2912 "BatchImport.c" +} + + +GType import_result_get_type (void) { + static volatile gsize import_result_type_id__volatile = 0; + if (g_once_init_enter (&import_result_type_id__volatile)) { + static const GEnumValue values[] = {{IMPORT_RESULT_SUCCESS, "IMPORT_RESULT_SUCCESS", "success"}, {IMPORT_RESULT_FILE_ERROR, "IMPORT_RESULT_FILE_ERROR", "file-error"}, {IMPORT_RESULT_DECODE_ERROR, "IMPORT_RESULT_DECODE_ERROR", "decode-error"}, {IMPORT_RESULT_DATABASE_ERROR, "IMPORT_RESULT_DATABASE_ERROR", "database-error"}, {IMPORT_RESULT_USER_ABORT, "IMPORT_RESULT_USER_ABORT", "user-abort"}, {IMPORT_RESULT_NOT_A_FILE, "IMPORT_RESULT_NOT_A_FILE", "not-a-file"}, {IMPORT_RESULT_PHOTO_EXISTS, "IMPORT_RESULT_PHOTO_EXISTS", "photo-exists"}, {IMPORT_RESULT_UNSUPPORTED_FORMAT, "IMPORT_RESULT_UNSUPPORTED_FORMAT", "unsupported-format"}, {IMPORT_RESULT_NOT_AN_IMAGE, "IMPORT_RESULT_NOT_AN_IMAGE", "not-an-image"}, {IMPORT_RESULT_DISK_FAILURE, "IMPORT_RESULT_DISK_FAILURE", "disk-failure"}, {IMPORT_RESULT_DISK_FULL, "IMPORT_RESULT_DISK_FULL", "disk-full"}, {IMPORT_RESULT_CAMERA_ERROR, "IMPORT_RESULT_CAMERA_ERROR", "camera-error"}, {IMPORT_RESULT_FILE_WRITE_ERROR, "IMPORT_RESULT_FILE_WRITE_ERROR", "file-write-error"}, {IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE, "IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE", "pixbuf-corrupt-image"}, {0, NULL, NULL}}; + GType import_result_type_id; + import_result_type_id = g_enum_register_static ("ImportResult", values); + g_once_init_leave (&import_result_type_id__volatile, import_result_type_id); + } + return import_result_type_id__volatile; +} + + +static gchar* batch_import_job_real_get_dest_identifier (BatchImportJob* self) { +#line 161 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_critical ("Type `%s' does not implement abstract method `batch_import_job_get_dest_identifier'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 161 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 2933 "BatchImport.c" +} + + +gchar* batch_import_job_get_dest_identifier (BatchImportJob* self) { +#line 161 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL); +#line 161 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->get_dest_identifier (self); +#line 2942 "BatchImport.c" +} + + +static gchar* batch_import_job_real_get_source_identifier (BatchImportJob* self) { +#line 163 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_critical ("Type `%s' does not implement abstract method `batch_import_job_get_source_identifier'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 163 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 2951 "BatchImport.c" +} + + +gchar* batch_import_job_get_source_identifier (BatchImportJob* self) { +#line 163 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL); +#line 163 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->get_source_identifier (self); +#line 2960 "BatchImport.c" +} + + +static gboolean batch_import_job_real_is_directory (BatchImportJob* self) { +#line 165 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_critical ("Type `%s' does not implement abstract method `batch_import_job_is_directory'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 165 "/home/jens/Source/shotwell/src/BatchImport.vala" + return FALSE; +#line 2969 "BatchImport.c" +} + + +gboolean batch_import_job_is_directory (BatchImportJob* self) { +#line 165 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE); +#line 165 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->is_directory (self); +#line 2978 "BatchImport.c" +} + + +static gchar* batch_import_job_real_get_basename (BatchImportJob* self) { +#line 167 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_critical ("Type `%s' does not implement abstract method `batch_import_job_get_basename'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 167 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 2987 "BatchImport.c" +} + + +gchar* batch_import_job_get_basename (BatchImportJob* self) { +#line 167 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL); +#line 167 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->get_basename (self); +#line 2996 "BatchImport.c" +} + + +static gchar* batch_import_job_real_get_path (BatchImportJob* self) { +#line 169 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_critical ("Type `%s' does not implement abstract method `batch_import_job_get_path'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 169 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 3005 "BatchImport.c" +} + + +gchar* batch_import_job_get_path (BatchImportJob* self) { +#line 169 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL); +#line 169 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->get_path (self); +#line 3014 "BatchImport.c" +} + + +static DuplicatedFile* batch_import_job_real_get_duplicated_file (BatchImportJob* self) { + DuplicatedFile* result = NULL; +#line 172 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = NULL; +#line 172 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3024 "BatchImport.c" +} + + +DuplicatedFile* batch_import_job_get_duplicated_file (BatchImportJob* self) { +#line 171 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), NULL); +#line 171 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->get_duplicated_file (self); +#line 3033 "BatchImport.c" +} + + +static void batch_import_job_real_set_associated (BatchImportJob* self, BatchImportJob* associated) { +#line 176 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_critical ("Type `%s' does not implement abstract method `batch_import_job_set_associated'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 176 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 3042 "BatchImport.c" +} + + +void batch_import_job_set_associated (BatchImportJob* self, BatchImportJob* associated) { +#line 176 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT_JOB (self)); +#line 176 "/home/jens/Source/shotwell/src/BatchImport.vala" + BATCH_IMPORT_JOB_GET_CLASS (self)->set_associated (self, associated); +#line 3051 "BatchImport.c" +} + + +static gboolean batch_import_job_real_determine_file_size (BatchImportJob* self, guint64* filesize, GFile** file_or_dir) { +#line 183 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_critical ("Type `%s' does not implement abstract method `batch_import_job_determine_file_size'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 183 "/home/jens/Source/shotwell/src/BatchImport.vala" + return FALSE; +#line 3060 "BatchImport.c" +} + + +gboolean batch_import_job_determine_file_size (BatchImportJob* self, guint64* filesize, GFile** file_or_dir) { +#line 183 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE); +#line 183 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->determine_file_size (self, filesize, file_or_dir); +#line 3069 "BatchImport.c" +} + + +static gboolean batch_import_job_real_prepare (BatchImportJob* self, GFile** file_to_import, gboolean* copy_to_library, GError** error) { +#line 186 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_critical ("Type `%s' does not implement abstract method `batch_import_job_prepare'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 186 "/home/jens/Source/shotwell/src/BatchImport.vala" + return FALSE; +#line 3078 "BatchImport.c" +} + + +gboolean batch_import_job_prepare (BatchImportJob* self, GFile** file_to_import, gboolean* copy_to_library, GError** error) { +#line 186 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE); +#line 186 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->prepare (self, file_to_import, copy_to_library, error); +#line 3087 "BatchImport.c" +} + + +static gboolean batch_import_job_real_complete (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error) { + gboolean result = FALSE; +#line 196 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 196 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_ROLL (import_roll), FALSE); +#line 197 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = FALSE; +#line 197 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3101 "BatchImport.c" +} + + +gboolean batch_import_job_complete (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error) { +#line 196 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), FALSE); +#line 196 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->complete (self, source, import_roll, error); +#line 3110 "BatchImport.c" +} + + +static time_t batch_import_job_real_get_exposure_time_override (BatchImportJob* self) { + time_t result = 0; +#line 203 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = (time_t) 0; +#line 203 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3120 "BatchImport.c" +} + + +time_t batch_import_job_get_exposure_time_override (BatchImportJob* self) { +#line 202 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (self), 0); +#line 202 "/home/jens/Source/shotwell/src/BatchImport.vala" + return BATCH_IMPORT_JOB_GET_CLASS (self)->get_exposure_time_override (self); +#line 3129 "BatchImport.c" +} + + +BatchImportJob* batch_import_job_construct (GType object_type) { + BatchImportJob* self = NULL; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (BatchImportJob*) g_type_create_instance (object_type); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 3139 "BatchImport.c" +} + + +static void value_batch_import_job_init (GValue* value) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 3146 "BatchImport.c" +} + + +static void value_batch_import_job_free_value (GValue* value) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (value->data[0].v_pointer) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_job_unref (value->data[0].v_pointer); +#line 3155 "BatchImport.c" + } +} + + +static void value_batch_import_job_copy_value (const GValue* src_value, GValue* dest_value) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (src_value->data[0].v_pointer) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = batch_import_job_ref (src_value->data[0].v_pointer); +#line 3165 "BatchImport.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = NULL; +#line 3169 "BatchImport.c" + } +} + + +static gpointer value_batch_import_job_peek_pointer (const GValue* value) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 3177 "BatchImport.c" +} + + +static gchar* value_batch_import_job_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (collect_values[0].v_pointer) { +#line 3184 "BatchImport.c" + BatchImportJob* object; + object = collect_values[0].v_pointer; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (object->parent_instance.g_class == NULL) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3191 "BatchImport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3195 "BatchImport.c" + } +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = batch_import_job_ref (object); +#line 3199 "BatchImport.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 3203 "BatchImport.c" + } +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 3207 "BatchImport.c" +} + + +static gchar* value_batch_import_job_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + BatchImportJob** object_p; + object_p = collect_values[0].v_pointer; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!object_p) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3218 "BatchImport.c" + } +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!value->data[0].v_pointer) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = NULL; +#line 3224 "BatchImport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = value->data[0].v_pointer; +#line 3228 "BatchImport.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = batch_import_job_ref (value->data[0].v_pointer); +#line 3232 "BatchImport.c" + } +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 3236 "BatchImport.c" +} + + +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecBatchImportJob* spec; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_BATCH_IMPORT_JOB), NULL); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return G_PARAM_SPEC (spec); +#line 3250 "BatchImport.c" +} + + +gpointer value_get_batch_import_job (const GValue* value) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_JOB), NULL); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 3259 "BatchImport.c" +} + + +void value_set_batch_import_job (GValue* value, gpointer v_object) { + BatchImportJob* old; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_JOB)); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_JOB)); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_job_ref (value->data[0].v_pointer); +#line 3279 "BatchImport.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 3283 "BatchImport.c" + } +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_job_unref (old); +#line 3289 "BatchImport.c" + } +} + + +void value_take_batch_import_job (GValue* value, gpointer v_object) { + BatchImportJob* old; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_JOB)); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_JOB)); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 3308 "BatchImport.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 3312 "BatchImport.c" + } +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_job_unref (old); +#line 3318 "BatchImport.c" + } +} + + +static void batch_import_job_class_init (BatchImportJobClass * klass) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_job_parent_class = g_type_class_peek_parent (klass); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->finalize = batch_import_job_finalize; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_dest_identifier = batch_import_job_real_get_dest_identifier; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_source_identifier = batch_import_job_real_get_source_identifier; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->is_directory = batch_import_job_real_is_directory; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_basename = batch_import_job_real_get_basename; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_path = batch_import_job_real_get_path; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_duplicated_file = batch_import_job_real_get_duplicated_file; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->set_associated = batch_import_job_real_set_associated; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->determine_file_size = batch_import_job_real_determine_file_size; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->prepare = batch_import_job_real_prepare; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->complete = batch_import_job_real_complete; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_exposure_time_override = batch_import_job_real_get_exposure_time_override; +#line 3350 "BatchImport.c" +} + + +static void batch_import_job_instance_init (BatchImportJob * self) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ref_count = 1; +#line 3357 "BatchImport.c" +} + + +static void batch_import_job_finalize (BatchImportJob* obj) { + BatchImportJob * self; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT_JOB, BatchImportJob); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_destroy (self); +#line 3367 "BatchImport.c" +} + + +GType batch_import_job_get_type (void) { + static volatile gsize batch_import_job_type_id__volatile = 0; + if (g_once_init_enter (&batch_import_job_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_batch_import_job_init, value_batch_import_job_free_value, value_batch_import_job_copy_value, value_batch_import_job_peek_pointer, "p", value_batch_import_job_collect_value, "p", value_batch_import_job_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (BatchImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) batch_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BatchImportJob), 0, (GInstanceInitFunc) batch_import_job_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType batch_import_job_type_id; + batch_import_job_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BatchImportJob", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&batch_import_job_type_id__volatile, batch_import_job_type_id); + } + return batch_import_job_type_id__volatile; +} + + +gpointer batch_import_job_ref (gpointer instance) { + BatchImportJob* self; + self = instance; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_atomic_int_inc (&self->ref_count); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + return instance; +#line 3392 "BatchImport.c" +} + + +void batch_import_job_unref (gpointer instance) { + BatchImportJob* self; + self = instance; +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + BATCH_IMPORT_JOB_GET_CLASS (self)->finalize (self); +#line 160 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3405 "BatchImport.c" + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? g_object_ref (self) : NULL; +#line 3413 "BatchImport.c" +} + + +FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library) { + FileImportJob* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 212 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_FILE (file_or_dir), NULL); +#line 212 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (FileImportJob*) batch_import_job_construct (object_type); +#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = file_or_dir; +#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->file_or_dir); +#line 213 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->file_or_dir = _tmp1_; +#line 214 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = copy_to_library; +#line 214 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->copy_to_library = _tmp2_; +#line 212 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 3440 "BatchImport.c" +} + + +FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library) { +#line 212 "/home/jens/Source/shotwell/src/BatchImport.vala" + return file_import_job_construct (TYPE_FILE_IMPORT_JOB, file_or_dir, copy_to_library); +#line 3447 "BatchImport.c" +} + + +static gchar* file_import_job_real_get_dest_identifier (BatchImportJob* base) { + FileImportJob * self; + gchar* result = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 218 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file_or_dir; +#line 218 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 218 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp1_; +#line 218 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3466 "BatchImport.c" +} + + +static gchar* file_import_job_real_get_source_identifier (BatchImportJob* base) { + FileImportJob * self; + gchar* result = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 222 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file_or_dir; +#line 222 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 222 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp1_; +#line 222 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3485 "BatchImport.c" +} + + +static gboolean file_import_job_real_is_directory (BatchImportJob* base) { + FileImportJob * self; + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 225 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 226 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file_or_dir; +#line 226 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = query_is_directory (_tmp0_); +#line 226 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp1_; +#line 226 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3504 "BatchImport.c" +} + + +static gchar* file_import_job_real_get_basename (BatchImportJob* base) { + FileImportJob * self; + gchar* result = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 230 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file_or_dir; +#line 230 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 230 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp1_; +#line 230 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3523 "BatchImport.c" +} + + +static gchar* file_import_job_real_get_path (BatchImportJob* base) { + FileImportJob * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 233 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = batch_import_job_is_directory (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BATCH_IMPORT_JOB, BatchImportJob)); +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_) { +#line 3538 "BatchImport.c" + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->priv->file_or_dir; +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp0_); +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp3_; +#line 3549 "BatchImport.c" + } else { + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->priv->file_or_dir; +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = g_file_get_parent (_tmp4_); +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _tmp5_; +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp0_); +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp7_; +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp6_); +#line 3569 "BatchImport.c" + } +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp0_; +#line 234 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3575 "BatchImport.c" +} + + +static gpointer _batch_import_job_ref0 (gpointer self) { +#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? batch_import_job_ref (self) : NULL; +#line 3582 "BatchImport.c" +} + + +static void file_import_job_real_set_associated (BatchImportJob* base, BatchImportJob* associated) { + FileImportJob * self; + BatchImportJob* _tmp0_ = NULL; + FileImportJob* _tmp1_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 237 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT_JOB (associated)); +#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = associated; +#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _batch_import_job_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FILE_IMPORT_JOB) ? ((FileImportJob*) _tmp0_) : NULL); +#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->priv->associated); +#line 238 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->associated = _tmp1_; +#line 3602 "BatchImport.c" +} + + +static gboolean file_import_job_real_determine_file_size (BatchImportJob* base, guint64* filesize, GFile** file) { + FileImportJob * self; + guint64 _vala_filesize = 0ULL; + GFile* _vala_file = NULL; + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 241 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 242 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_filesize = (guint64) 0; +#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file_or_dir; +#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_vala_file); +#line 243 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_file = _tmp1_; +#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = FALSE; +#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (filesize) { +#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala" + *filesize = _vala_filesize; +#line 3631 "BatchImport.c" + } +#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (file) { +#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala" + *file = _vala_file; +#line 3637 "BatchImport.c" + } else { +#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_vala_file); +#line 3641 "BatchImport.c" + } +#line 245 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3645 "BatchImport.c" +} + + +static gboolean file_import_job_real_prepare (BatchImportJob* base, GFile** file_to_import, gboolean* copy, GError** error) { + FileImportJob * self; + GFile* _vala_file_to_import = NULL; + gboolean _vala_copy = FALSE; + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 248 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 249 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file_or_dir; +#line 249 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 249 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_vala_file_to_import); +#line 249 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_file_to_import = _tmp1_; +#line 250 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->priv->copy_to_library; +#line 250 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_copy = _tmp2_; +#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = TRUE; +#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (file_to_import) { +#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala" + *file_to_import = _vala_file_to_import; +#line 3677 "BatchImport.c" + } else { +#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_vala_file_to_import); +#line 3681 "BatchImport.c" + } +#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (copy) { +#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala" + *copy = _vala_copy; +#line 3687 "BatchImport.c" + } +#line 252 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3691 "BatchImport.c" +} + + +GFile* file_import_job_get_file (FileImportJob* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 255 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_IMPORT_JOB (self), NULL); +#line 256 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file_or_dir; +#line 256 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 256 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp1_; +#line 256 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 3709 "BatchImport.c" +} + + +static void file_import_job_class_init (FileImportJobClass * klass) { +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_import_job_parent_class = g_type_class_peek_parent (klass); +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->finalize = file_import_job_finalize; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_class_add_private (klass, sizeof (FileImportJobPrivate)); +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_dest_identifier = file_import_job_real_get_dest_identifier; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_source_identifier = file_import_job_real_get_source_identifier; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->is_directory = file_import_job_real_is_directory; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_basename = file_import_job_real_get_basename; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->get_path = file_import_job_real_get_path; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->set_associated = file_import_job_real_set_associated; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->determine_file_size = file_import_job_real_determine_file_size; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportJobClass *) klass)->prepare = file_import_job_real_prepare; +#line 3736 "BatchImport.c" +} + + +static void file_import_job_instance_init (FileImportJob * self) { +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv = FILE_IMPORT_JOB_GET_PRIVATE (self); +#line 210 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->associated = NULL; +#line 3745 "BatchImport.c" +} + + +static void file_import_job_finalize (BatchImportJob* obj) { + FileImportJob * self; +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FILE_IMPORT_JOB, FileImportJob); +#line 208 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->file_or_dir); +#line 210 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->priv->associated); +#line 207 "/home/jens/Source/shotwell/src/BatchImport.vala" + BATCH_IMPORT_JOB_CLASS (file_import_job_parent_class)->finalize (obj); +#line 3759 "BatchImport.c" +} + + +GType file_import_job_get_type (void) { + static volatile gsize file_import_job_type_id__volatile = 0; + if (g_once_init_enter (&file_import_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FileImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) file_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FileImportJob), 0, (GInstanceInitFunc) file_import_job_instance_init, NULL }; + GType file_import_job_type_id; + file_import_job_type_id = g_type_register_static (TYPE_BATCH_IMPORT_JOB, "FileImportJob", &g_define_type_info, 0); + g_once_init_leave (&file_import_job_type_id__volatile, file_import_job_type_id); + } + return file_import_job_type_id__volatile; +} + + +BatchImportRoll* batch_import_roll_construct (GType object_type) { + BatchImportRoll* self = NULL; + ImportID _tmp0_ = {0}; +#line 267 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (BatchImportRoll*) g_type_create_instance (object_type); +#line 268 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_id_generate (&_tmp0_); +#line 268 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->import_id = _tmp0_; +#line 267 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 3786 "BatchImport.c" +} + + +BatchImportRoll* batch_import_roll_new (void) { +#line 267 "/home/jens/Source/shotwell/src/BatchImport.vala" + return batch_import_roll_construct (TYPE_BATCH_IMPORT_ROLL); +#line 3793 "BatchImport.c" +} + + +static void value_batch_import_roll_init (GValue* value) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 3800 "BatchImport.c" +} + + +static void value_batch_import_roll_free_value (GValue* value) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (value->data[0].v_pointer) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_roll_unref (value->data[0].v_pointer); +#line 3809 "BatchImport.c" + } +} + + +static void value_batch_import_roll_copy_value (const GValue* src_value, GValue* dest_value) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (src_value->data[0].v_pointer) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = batch_import_roll_ref (src_value->data[0].v_pointer); +#line 3819 "BatchImport.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = NULL; +#line 3823 "BatchImport.c" + } +} + + +static gpointer value_batch_import_roll_peek_pointer (const GValue* value) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 3831 "BatchImport.c" +} + + +static gchar* value_batch_import_roll_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (collect_values[0].v_pointer) { +#line 3838 "BatchImport.c" + BatchImportRoll* object; + object = collect_values[0].v_pointer; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (object->parent_instance.g_class == NULL) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3845 "BatchImport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3849 "BatchImport.c" + } +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = batch_import_roll_ref (object); +#line 3853 "BatchImport.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 3857 "BatchImport.c" + } +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 3861 "BatchImport.c" +} + + +static gchar* value_batch_import_roll_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + BatchImportRoll** object_p; + object_p = collect_values[0].v_pointer; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!object_p) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3872 "BatchImport.c" + } +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!value->data[0].v_pointer) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = NULL; +#line 3878 "BatchImport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = value->data[0].v_pointer; +#line 3882 "BatchImport.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = batch_import_roll_ref (value->data[0].v_pointer); +#line 3886 "BatchImport.c" + } +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 3890 "BatchImport.c" +} + + +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecBatchImportRoll* spec; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_BATCH_IMPORT_ROLL), NULL); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return G_PARAM_SPEC (spec); +#line 3904 "BatchImport.c" +} + + +gpointer value_get_batch_import_roll (const GValue* value) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_ROLL), NULL); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 3913 "BatchImport.c" +} + + +void value_set_batch_import_roll (GValue* value, gpointer v_object) { + BatchImportRoll* old; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_ROLL)); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_ROLL)); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_roll_ref (value->data[0].v_pointer); +#line 3933 "BatchImport.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 3937 "BatchImport.c" + } +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_roll_unref (old); +#line 3943 "BatchImport.c" + } +} + + +void value_take_batch_import_roll (GValue* value, gpointer v_object) { + BatchImportRoll* old; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_ROLL)); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_ROLL)); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 3962 "BatchImport.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 3966 "BatchImport.c" + } +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_roll_unref (old); +#line 3972 "BatchImport.c" + } +} + + +static void batch_import_roll_class_init (BatchImportRollClass * klass) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_roll_parent_class = g_type_class_peek_parent (klass); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportRollClass *) klass)->finalize = batch_import_roll_finalize; +#line 3982 "BatchImport.c" +} + + +static void batch_import_roll_instance_init (BatchImportRoll * self) { + ViewCollection* _tmp0_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = view_collection_new ("BatchImportRoll generated events"); +#line 265 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->generated_events = _tmp0_; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ref_count = 1; +#line 3994 "BatchImport.c" +} + + +static void batch_import_roll_finalize (BatchImportRoll* obj) { + BatchImportRoll * self; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT_ROLL, BatchImportRoll); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_destroy (self); +#line 265 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_collection_unref0 (self->generated_events); +#line 4006 "BatchImport.c" +} + + +GType batch_import_roll_get_type (void) { + static volatile gsize batch_import_roll_type_id__volatile = 0; + if (g_once_init_enter (&batch_import_roll_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_batch_import_roll_init, value_batch_import_roll_free_value, value_batch_import_roll_copy_value, value_batch_import_roll_peek_pointer, "p", value_batch_import_roll_collect_value, "p", value_batch_import_roll_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (BatchImportRollClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) batch_import_roll_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BatchImportRoll), 0, (GInstanceInitFunc) batch_import_roll_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType batch_import_roll_type_id; + batch_import_roll_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BatchImportRoll", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&batch_import_roll_type_id__volatile, batch_import_roll_type_id); + } + return batch_import_roll_type_id__volatile; +} + + +gpointer batch_import_roll_ref (gpointer instance) { + BatchImportRoll* self; + self = instance; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_atomic_int_inc (&self->ref_count); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + return instance; +#line 4031 "BatchImport.c" +} + + +void batch_import_roll_unref (gpointer instance) { + BatchImportRoll* self; + self = instance; +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + BATCH_IMPORT_ROLL_GET_CLASS (self)->finalize (self); +#line 263 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4044 "BatchImport.c" + } +} + + +BatchImportResult* batch_import_result_construct (GType object_type, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, DuplicatedFile* duplicate_of, ImportResult _result_) { + BatchImportResult* self = NULL; + BatchImportJob* _tmp0_ = NULL; + BatchImportJob* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + DuplicatedFile* _tmp8_ = NULL; + DuplicatedFile* _tmp9_ = NULL; + ImportResult _tmp10_ = 0; +#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL); +#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (src_identifier != NULL, NULL); +#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (dest_identifier != NULL, NULL); +#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((duplicate_of == NULL) || IS_DUPLICATED_FILE (duplicate_of), NULL); +#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (BatchImportResult*) g_type_create_instance (object_type); +#line 289 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = job; +#line 289 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _batch_import_job_ref0 (_tmp0_); +#line 289 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->job); +#line 289 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->job = _tmp1_; +#line 290 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = file; +#line 290 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 290 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->file); +#line 290 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->file = _tmp3_; +#line 291 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = src_identifier; +#line 291 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 291 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->src_identifier); +#line 291 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->src_identifier = _tmp5_; +#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = dest_identifier; +#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->dest_identifier); +#line 292 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->dest_identifier = _tmp7_; +#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = duplicate_of; +#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->duplicate_of); +#line 293 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->duplicate_of = _tmp9_; +#line 294 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _result_; +#line 294 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->result = _tmp10_; +#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 4120 "BatchImport.c" +} + + +BatchImportResult* batch_import_result_new (BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, DuplicatedFile* duplicate_of, ImportResult _result_) { +#line 287 "/home/jens/Source/shotwell/src/BatchImport.vala" + return batch_import_result_construct (TYPE_BATCH_IMPORT_RESULT, job, file, src_identifier, dest_identifier, duplicate_of, _result_); +#line 4127 "BatchImport.c" +} + + +BatchImportResult* batch_import_result_construct_from_error (GType object_type, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, GError* err, ImportResult default_result) { + BatchImportResult* self = NULL; + BatchImportJob* _tmp0_ = NULL; + BatchImportJob* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + ImportResult _tmp9_ = 0; + ImportResult _tmp10_ = 0; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL); +#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (src_identifier != NULL, NULL); +#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (dest_identifier != NULL, NULL); +#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (BatchImportResult*) g_type_create_instance (object_type); +#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = job; +#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _batch_import_job_ref0 (_tmp0_); +#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->job); +#line 299 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->job = _tmp1_; +#line 300 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = file; +#line 300 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 300 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->file); +#line 300 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->file = _tmp3_; +#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = src_identifier; +#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->src_identifier); +#line 301 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->src_identifier = _tmp5_; +#line 302 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = dest_identifier; +#line 302 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 302 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->dest_identifier); +#line 302 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->dest_identifier = _tmp7_; +#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = err; +#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = default_result; +#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = import_result_convert_error (_tmp8_, _tmp9_); +#line 303 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->result = _tmp10_; +#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = err; +#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = _tmp11_->message; +#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->errmsg); +#line 304 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->errmsg = _tmp13_; +#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 4209 "BatchImport.c" +} + + +BatchImportResult* batch_import_result_new_from_error (BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, GError* err, ImportResult default_result) { +#line 297 "/home/jens/Source/shotwell/src/BatchImport.vala" + return batch_import_result_construct_from_error (TYPE_BATCH_IMPORT_RESULT, job, file, src_identifier, dest_identifier, err, default_result); +#line 4216 "BatchImport.c" +} + + +static void value_batch_import_result_init (GValue* value) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 4223 "BatchImport.c" +} + + +static void value_batch_import_result_free_value (GValue* value) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (value->data[0].v_pointer) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_result_unref (value->data[0].v_pointer); +#line 4232 "BatchImport.c" + } +} + + +static void value_batch_import_result_copy_value (const GValue* src_value, GValue* dest_value) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (src_value->data[0].v_pointer) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = batch_import_result_ref (src_value->data[0].v_pointer); +#line 4242 "BatchImport.c" + } else { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = NULL; +#line 4246 "BatchImport.c" + } +} + + +static gpointer value_batch_import_result_peek_pointer (const GValue* value) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 4254 "BatchImport.c" +} + + +static gchar* value_batch_import_result_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (collect_values[0].v_pointer) { +#line 4261 "BatchImport.c" + BatchImportResult* object; + object = collect_values[0].v_pointer; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (object->parent_instance.g_class == NULL) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4268 "BatchImport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4272 "BatchImport.c" + } +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = batch_import_result_ref (object); +#line 4276 "BatchImport.c" + } else { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 4280 "BatchImport.c" + } +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 4284 "BatchImport.c" +} + + +static gchar* value_batch_import_result_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + BatchImportResult** object_p; + object_p = collect_values[0].v_pointer; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!object_p) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 4295 "BatchImport.c" + } +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!value->data[0].v_pointer) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = NULL; +#line 4301 "BatchImport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = value->data[0].v_pointer; +#line 4305 "BatchImport.c" + } else { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = batch_import_result_ref (value->data[0].v_pointer); +#line 4309 "BatchImport.c" + } +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 4313 "BatchImport.c" +} + + +GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecBatchImportResult* spec; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_BATCH_IMPORT_RESULT), NULL); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return G_PARAM_SPEC (spec); +#line 4327 "BatchImport.c" +} + + +gpointer value_get_batch_import_result (const GValue* value) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_RESULT), NULL); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 4336 "BatchImport.c" +} + + +void value_set_batch_import_result (GValue* value, gpointer v_object) { + BatchImportResult* old; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_RESULT)); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_RESULT)); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_result_ref (value->data[0].v_pointer); +#line 4356 "BatchImport.c" + } else { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 4360 "BatchImport.c" + } +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_result_unref (old); +#line 4366 "BatchImport.c" + } +} + + +void value_take_batch_import_result (GValue* value, gpointer v_object) { + BatchImportResult* old; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BATCH_IMPORT_RESULT)); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BATCH_IMPORT_RESULT)); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 4385 "BatchImport.c" + } else { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 4389 "BatchImport.c" + } +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_result_unref (old); +#line 4395 "BatchImport.c" + } +} + + +static void batch_import_result_class_init (BatchImportResultClass * klass) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_result_parent_class = g_type_class_peek_parent (klass); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BatchImportResultClass *) klass)->finalize = batch_import_result_finalize; +#line 4405 "BatchImport.c" +} + + +static void batch_import_result_instance_init (BatchImportResult * self) { +#line 284 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->errmsg = NULL; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ref_count = 1; +#line 4414 "BatchImport.c" +} + + +static void batch_import_result_finalize (BatchImportResult* obj) { + BatchImportResult * self; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT_RESULT, BatchImportResult); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_destroy (self); +#line 279 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->job); +#line 280 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->file); +#line 281 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->src_identifier); +#line 282 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->dest_identifier); +#line 284 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->errmsg); +#line 285 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->duplicate_of); +#line 4436 "BatchImport.c" +} + + +GType batch_import_result_get_type (void) { + static volatile gsize batch_import_result_type_id__volatile = 0; + if (g_once_init_enter (&batch_import_result_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_batch_import_result_init, value_batch_import_result_free_value, value_batch_import_result_copy_value, value_batch_import_result_peek_pointer, "p", value_batch_import_result_collect_value, "p", value_batch_import_result_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (BatchImportResultClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) batch_import_result_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BatchImportResult), 0, (GInstanceInitFunc) batch_import_result_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType batch_import_result_type_id; + batch_import_result_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BatchImportResult", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&batch_import_result_type_id__volatile, batch_import_result_type_id); + } + return batch_import_result_type_id__volatile; +} + + +gpointer batch_import_result_ref (gpointer instance) { + BatchImportResult* self; + self = instance; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_atomic_int_inc (&self->ref_count); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + return instance; +#line 4461 "BatchImport.c" +} + + +void batch_import_result_unref (gpointer instance) { + BatchImportResult* self; + self = instance; +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + BATCH_IMPORT_RESULT_GET_CLASS (self)->finalize (self); +#line 278 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4474 "BatchImport.c" + } +} + + +ImportManifest* import_manifest_construct (GType object_type, GeeList* prefailed, GeeList* pre_already_imported) { + ImportManifest* self = NULL; + GeeList* _tmp0_ = NULL; + GeeList* _tmp22_ = NULL; +#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((prefailed == NULL) || GEE_IS_LIST (prefailed), NULL); +#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((pre_already_imported == NULL) || GEE_IS_LIST (pre_already_imported), NULL); +#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (ImportManifest*) g_type_create_instance (object_type); +#line 323 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = prefailed; +#line 323 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp0_ != NULL) { +#line 4493 "BatchImport.c" + { + GeeList* _job_list = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + gint _job_size = 0; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _job_index = 0; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = prefailed; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_list = _tmp2_; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _job_list; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_size = _tmp5_; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_index = -1; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 4521 "BatchImport.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + BatchImportJob* job = NULL; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + BatchImportResult* batch_result = NULL; + BatchImportJob* _tmp12_ = NULL; + BatchImportJob* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + BatchImportJob* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + BatchImportResult* _tmp19_ = NULL; + BatchImportResult* _tmp20_ = NULL; + BatchImportResult* _tmp21_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _job_index; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_index = _tmp6_ + 1; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _job_index; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _job_size; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4552 "BatchImport.c" + } +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _job_list; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _job_index; +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = gee_list_get (_tmp9_, _tmp10_); +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + job = (BatchImportJob*) _tmp11_; +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = job; +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = job; +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = batch_import_job_get_source_identifier (_tmp13_); +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_; +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = job; +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = batch_import_job_get_dest_identifier (_tmp16_); +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = _tmp17_; +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = batch_import_result_new (_tmp12_, NULL, _tmp15_, _tmp18_, NULL, IMPORT_RESULT_FILE_ERROR); +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp19_; +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp18_); +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp15_); +#line 325 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_result = _tmp20_; +#line 329 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = batch_result; +#line 329 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_add_result (self, _tmp21_); +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (batch_result); +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (job); +#line 4594 "BatchImport.c" + } +#line 324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_job_list); +#line 4598 "BatchImport.c" + } + } +#line 333 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = pre_already_imported; +#line 333 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp22_ != NULL) { +#line 4605 "BatchImport.c" + { + GeeList* _job_list = NULL; + GeeList* _tmp23_ = NULL; + GeeList* _tmp24_ = NULL; + gint _job_size = 0; + GeeList* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gint _job_index = 0; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = pre_already_imported; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_list = _tmp24_; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = _job_list; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = _tmp26_; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_size = _tmp27_; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_index = -1; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 4633 "BatchImport.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + BatchImportJob* job = NULL; + GeeList* _tmp31_ = NULL; + gint _tmp32_ = 0; + gpointer _tmp33_ = NULL; + BatchImportResult* batch_result = NULL; + BatchImportJob* _tmp34_ = NULL; + BatchImportJob* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + GFile* _tmp38_ = NULL; + GFile* _tmp39_ = NULL; + BatchImportJob* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + BatchImportJob* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + BatchImportJob* _tmp46_ = NULL; + DuplicatedFile* _tmp47_ = NULL; + DuplicatedFile* _tmp48_ = NULL; + BatchImportResult* _tmp49_ = NULL; + BatchImportResult* _tmp50_ = NULL; + BatchImportResult* _tmp51_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _job_index; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_index = _tmp28_ + 1; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = _job_index; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _job_size; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp29_ < _tmp30_)) { +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4672 "BatchImport.c" + } +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = _job_list; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = _job_index; +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = gee_list_get (_tmp31_, _tmp32_); +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + job = (BatchImportJob*) _tmp33_; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = job; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = job; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = batch_import_job_get_basename (_tmp35_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = _tmp36_; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = g_file_new_for_path (_tmp37_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = _tmp38_; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = job; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = batch_import_job_get_source_identifier (_tmp40_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = _tmp41_; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = job; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = batch_import_job_get_dest_identifier (_tmp43_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = _tmp44_; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = job; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = batch_import_job_get_duplicated_file (_tmp46_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = _tmp47_; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = batch_import_result_new (_tmp34_, _tmp39_, _tmp42_, _tmp45_, _tmp48_, IMPORT_RESULT_PHOTO_EXISTS); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = _tmp49_; +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp48_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp45_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp42_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp39_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp37_); +#line 335 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_result = _tmp50_; +#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = batch_result; +#line 340 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_add_result (self, _tmp51_); +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (batch_result); +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (job); +#line 4736 "BatchImport.c" + } +#line 334 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_job_list); +#line 4740 "BatchImport.c" + } + } +#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 4745 "BatchImport.c" +} + + +ImportManifest* import_manifest_new (GeeList* prefailed, GeeList* pre_already_imported) { +#line 321 "/home/jens/Source/shotwell/src/BatchImport.vala" + return import_manifest_construct (TYPE_IMPORT_MANIFEST, prefailed, pre_already_imported); +#line 4752 "BatchImport.c" +} + + +void import_manifest_add_result (ImportManifest* self, BatchImportResult* batch_result) { + gboolean reported = FALSE; + BatchImportResult* _tmp0_ = NULL; + ImportResult _tmp1_ = 0; + gboolean _tmp26_ = FALSE; +#line 345 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_IMPORT_MANIFEST (self)); +#line 345 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT_RESULT (batch_result)); +#line 346 "/home/jens/Source/shotwell/src/BatchImport.vala" + reported = TRUE; +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = batch_result; +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _tmp0_->result; +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + switch (_tmp1_) { +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_SUCCESS: +#line 4775 "BatchImport.c" + { + GeeList* _tmp2_ = NULL; + BatchImportResult* _tmp3_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->success; +#line 349 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = batch_result; +#line 349 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), _tmp3_); +#line 350 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4787 "BatchImport.c" + } +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_USER_ABORT: +#line 4791 "BatchImport.c" + { + gboolean _tmp4_ = FALSE; + BatchImportResult* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = batch_result; +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _tmp5_->file; +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp6_ != NULL) { +#line 4802 "BatchImport.c" + BatchImportResult* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = batch_result; +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp7_->file; +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = query_is_directory (_tmp8_); +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = !_tmp9_; +#line 4814 "BatchImport.c" + } else { +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = FALSE; +#line 4818 "BatchImport.c" + } +#line 353 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp4_) { +#line 4822 "BatchImport.c" + GeeList* _tmp10_ = NULL; + BatchImportResult* _tmp11_ = NULL; +#line 354 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = self->aborted; +#line 354 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = batch_result; +#line 354 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_); +#line 4831 "BatchImport.c" + } else { +#line 356 "/home/jens/Source/shotwell/src/BatchImport.vala" + reported = FALSE; +#line 4835 "BatchImport.c" + } +#line 357 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4839 "BatchImport.c" + } +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_UNSUPPORTED_FORMAT: +#line 4843 "BatchImport.c" + { + GeeList* _tmp12_ = NULL; + BatchImportResult* _tmp13_ = NULL; +#line 360 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = self->skipped_photos; +#line 360 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = batch_result; +#line 360 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp13_); +#line 361 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4855 "BatchImport.c" + } +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_NOT_A_FILE: +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_NOT_AN_IMAGE: +#line 4861 "BatchImport.c" + { + GeeList* _tmp14_ = NULL; + BatchImportResult* _tmp15_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = self->skipped_files; +#line 365 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = batch_result; +#line 365 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_); +#line 366 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4873 "BatchImport.c" + } +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_PHOTO_EXISTS: +#line 4877 "BatchImport.c" + { + GeeList* _tmp16_ = NULL; + BatchImportResult* _tmp17_ = NULL; +#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = self->already_imported; +#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = batch_result; +#line 369 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection), _tmp17_); +#line 370 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4889 "BatchImport.c" + } +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_CAMERA_ERROR: +#line 4893 "BatchImport.c" + { + GeeList* _tmp18_ = NULL; + BatchImportResult* _tmp19_ = NULL; +#line 373 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = self->camera_failed; +#line 373 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = batch_result; +#line 373 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp19_); +#line 374 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4905 "BatchImport.c" + } +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_FILE_WRITE_ERROR: +#line 4909 "BatchImport.c" + { + GeeList* _tmp20_ = NULL; + BatchImportResult* _tmp21_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = self->write_failed; +#line 377 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = batch_result; +#line 377 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection), _tmp21_); +#line 378 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4921 "BatchImport.c" + } +#line 347 "/home/jens/Source/shotwell/src/BatchImport.vala" + case IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE: +#line 4925 "BatchImport.c" + { + GeeList* _tmp22_ = NULL; + BatchImportResult* _tmp23_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = self->corrupt_files; +#line 381 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = batch_result; +#line 381 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_); +#line 382 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4937 "BatchImport.c" + } + default: + { + GeeList* _tmp24_ = NULL; + BatchImportResult* _tmp25_ = NULL; +#line 385 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = self->failed; +#line 385 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = batch_result; +#line 385 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 386 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 4951 "BatchImport.c" + } + } +#line 389 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = reported; +#line 389 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp26_) { +#line 4958 "BatchImport.c" + GeeList* _tmp27_ = NULL; + BatchImportResult* _tmp28_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = self->all; +#line 390 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = batch_result; +#line 390 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection), _tmp28_); +#line 4967 "BatchImport.c" + } +} + + +static void value_import_manifest_init (GValue* value) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 4975 "BatchImport.c" +} + + +static void value_import_manifest_free_value (GValue* value) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (value->data[0].v_pointer) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_unref (value->data[0].v_pointer); +#line 4984 "BatchImport.c" + } +} + + +static void value_import_manifest_copy_value (const GValue* src_value, GValue* dest_value) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (src_value->data[0].v_pointer) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = import_manifest_ref (src_value->data[0].v_pointer); +#line 4994 "BatchImport.c" + } else { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = NULL; +#line 4998 "BatchImport.c" + } +} + + +static gpointer value_import_manifest_peek_pointer (const GValue* value) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 5006 "BatchImport.c" +} + + +static gchar* value_import_manifest_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (collect_values[0].v_pointer) { +#line 5013 "BatchImport.c" + ImportManifest* object; + object = collect_values[0].v_pointer; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (object->parent_instance.g_class == NULL) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5020 "BatchImport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5024 "BatchImport.c" + } +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = import_manifest_ref (object); +#line 5028 "BatchImport.c" + } else { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 5032 "BatchImport.c" + } +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 5036 "BatchImport.c" +} + + +static gchar* value_import_manifest_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ImportManifest** object_p; + object_p = collect_values[0].v_pointer; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!object_p) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 5047 "BatchImport.c" + } +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!value->data[0].v_pointer) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = NULL; +#line 5053 "BatchImport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = value->data[0].v_pointer; +#line 5057 "BatchImport.c" + } else { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = import_manifest_ref (value->data[0].v_pointer); +#line 5061 "BatchImport.c" + } +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 5065 "BatchImport.c" +} + + +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecImportManifest* spec; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_IMPORT_MANIFEST), NULL); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return G_PARAM_SPEC (spec); +#line 5079 "BatchImport.c" +} + + +gpointer value_get_import_manifest (const GValue* value) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORT_MANIFEST), NULL); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 5088 "BatchImport.c" +} + + +void value_set_import_manifest (GValue* value, gpointer v_object) { + ImportManifest* old; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORT_MANIFEST)); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_IMPORT_MANIFEST)); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_ref (value->data[0].v_pointer); +#line 5108 "BatchImport.c" + } else { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 5112 "BatchImport.c" + } +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_unref (old); +#line 5118 "BatchImport.c" + } +} + + +void value_take_import_manifest (GValue* value, gpointer v_object) { + ImportManifest* old; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_IMPORT_MANIFEST)); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_IMPORT_MANIFEST)); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 5137 "BatchImport.c" + } else { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 5141 "BatchImport.c" + } +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_unref (old); +#line 5147 "BatchImport.c" + } +} + + +static void import_manifest_class_init (ImportManifestClass * klass) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_parent_class = g_type_class_peek_parent (klass); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((ImportManifestClass *) klass)->finalize = import_manifest_finalize; +#line 5157 "BatchImport.c" +} + + +static void import_manifest_instance_init (ImportManifest * self) { + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; + GeeArrayList* _tmp8_ = NULL; + GeeArrayList* _tmp9_ = NULL; + GeeArrayList* _tmp10_ = NULL; +#line 309 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 309 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->imported = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList); +#line 310 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 310 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->success = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_LIST, GeeList); +#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->camera_failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList); +#line 312 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 312 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList); +#line 313 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 313 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->write_failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList); +#line 314 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 314 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->skipped_photos = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_LIST, GeeList); +#line 315 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 315 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->skipped_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_LIST, GeeList); +#line 316 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 316 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->aborted = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_LIST, GeeList); +#line 317 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 317 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->already_imported = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_LIST, GeeList); +#line 318 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 318 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->corrupt_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_LIST, GeeList); +#line 319 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 319 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->all = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_LIST, GeeList); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ref_count = 1; +#line 5219 "BatchImport.c" +} + + +static void import_manifest_finalize (ImportManifest* obj) { + ImportManifest * self; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORT_MANIFEST, ImportManifest); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_destroy (self); +#line 309 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->imported); +#line 310 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->success); +#line 311 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->camera_failed); +#line 312 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->failed); +#line 313 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->write_failed); +#line 314 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->skipped_photos); +#line 315 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->skipped_files); +#line 316 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->aborted); +#line 317 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->already_imported); +#line 318 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->corrupt_files); +#line 319 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->all); +#line 5251 "BatchImport.c" +} + + +GType import_manifest_get_type (void) { + static volatile gsize import_manifest_type_id__volatile = 0; + if (g_once_init_enter (&import_manifest_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_import_manifest_init, value_import_manifest_free_value, value_import_manifest_copy_value, value_import_manifest_peek_pointer, "p", value_import_manifest_collect_value, "p", value_import_manifest_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ImportManifestClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_manifest_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportManifest), 0, (GInstanceInitFunc) import_manifest_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType import_manifest_type_id; + import_manifest_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ImportManifest", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&import_manifest_type_id__volatile, import_manifest_type_id); + } + return import_manifest_type_id__volatile; +} + + +gpointer import_manifest_ref (gpointer instance) { + ImportManifest* self; + self = instance; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_atomic_int_inc (&self->ref_count); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + return instance; +#line 5276 "BatchImport.c" +} + + +void import_manifest_unref (gpointer instance) { + ImportManifest* self; + self = instance; +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + IMPORT_MANIFEST_GET_CLASS (self)->finalize (self); +#line 308 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 5289 "BatchImport.c" + } +} + + +static void _batch_import_user_halt_application_exiting (Application* _sender, gboolean panicked, gpointer self) { +#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_user_halt ((BatchImport*) self); +#line 5297 "BatchImport.c" +} + + +static gpointer _batch_import_roll_ref0 (gpointer self) { +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? batch_import_roll_ref (self) : NULL; +#line 5304 "BatchImport.c" +} + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 491 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 5313 "BatchImport.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 491 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 5322 "BatchImport.c" +} + + +static gboolean _batch_import_display_imported_timer_gsource_func (gpointer self) { + gboolean result; + result = batch_import_display_imported_timer ((BatchImport*) self); +#line 501 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 5331 "BatchImport.c" +} + + +BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest) { + BatchImport * self = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + BatchImportImportReporter _tmp4_ = NULL; + void* _tmp4__target = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + ImportManifest* _tmp7_ = NULL; + GCancellable* _tmp8_ = NULL; + GCancellable* _tmp9_ = NULL; + GCancellable* _tmp13_ = NULL; + BatchImportRoll* _tmp14_ = NULL; + BatchImportRoll* _tmp15_ = NULL; + BatchImportRoll* _tmp19_ = NULL; + ImportManifest* _tmp20_ = NULL; + Application* _tmp38_ = NULL; + Application* _tmp39_ = NULL; +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (GEE_IS_ITERABLE (jobs), NULL); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((prefailed == NULL) || GEE_IS_ARRAY_LIST (prefailed), NULL); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((pre_already_imported == NULL) || GEE_IS_ARRAY_LIST (pre_already_imported), NULL); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), NULL); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((import_roll == NULL) || IS_BATCH_IMPORT_ROLL (import_roll), NULL); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((skip_manifest == NULL) || IS_IMPORT_MANIFEST (skip_manifest), NULL); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (BatchImport*) g_object_new (object_type, NULL); +#line 483 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = jobs; +#line 483 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 483 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->jobs); +#line 483 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->jobs = _tmp1_; +#line 484 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = name; +#line 484 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 484 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->priv->name); +#line 484 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->name = _tmp3_; +#line 485 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = reporter; +#line 485 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4__target = reporter_target; +#line 485 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->reporter = _tmp4_; +#line 485 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->reporter_target = _tmp4__target; +#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = prefailed; +#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = pre_already_imported; +#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = import_manifest_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_LIST, GeeList), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_LIST, GeeList)); +#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala" + _import_manifest_unref0 (self->priv->manifest); +#line 486 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->manifest = _tmp7_; +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = cancellable; +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp9_ != NULL) { +#line 5409 "BatchImport.c" + GCancellable* _tmp10_ = NULL; + GCancellable* _tmp11_ = NULL; +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = cancellable; +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp8_); +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp11_; +#line 5420 "BatchImport.c" + } else { + GCancellable* _tmp12_ = NULL; +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = g_cancellable_new (); +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp8_); +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp12_; +#line 5429 "BatchImport.c" + } +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _g_object_ref0 (_tmp8_); +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->cancellable); +#line 487 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->cancellable = _tmp13_; +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = import_roll; +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp15_ != NULL) { +#line 5441 "BatchImport.c" + BatchImportRoll* _tmp16_ = NULL; + BatchImportRoll* _tmp17_ = NULL; +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = import_roll; +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _batch_import_roll_ref0 (_tmp16_); +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_roll_unref0 (_tmp14_); +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = _tmp17_; +#line 5452 "BatchImport.c" + } else { + BatchImportRoll* _tmp18_ = NULL; +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = batch_import_roll_new (); +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_roll_unref0 (_tmp14_); +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = _tmp18_; +#line 5461 "BatchImport.c" + } +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = _batch_import_roll_ref0 (_tmp14_); +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_roll_unref0 (self->priv->import_roll); +#line 488 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->import_roll = _tmp19_; +#line 490 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = skip_manifest; +#line 490 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp20_ != NULL) { +#line 5473 "BatchImport.c" + GeeHashSet* _tmp21_ = NULL; +#line 491 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 491 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->skipset); +#line 491 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->skipset = _tmp21_; +#line 5481 "BatchImport.c" + { + GeeList* _source_list = NULL; + ImportManifest* _tmp22_ = NULL; + GeeList* _tmp23_ = NULL; + GeeList* _tmp24_ = NULL; + gint _source_size = 0; + GeeList* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gint _source_index = 0; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = skip_manifest; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = _tmp22_->imported; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _source_list = _tmp24_; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = _source_list; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = _tmp26_; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _source_size = _tmp27_; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _source_index = -1; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 5512 "BatchImport.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + MediaSource* source = NULL; + GeeList* _tmp31_ = NULL; + gint _tmp32_ = 0; + gpointer _tmp33_ = NULL; + GeeHashSet* _tmp34_ = NULL; + MediaSource* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _source_index; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _source_index = _tmp28_ + 1; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = _source_index; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _source_size; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp29_ < _tmp30_)) { +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 5536 "BatchImport.c" + } +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = _source_list; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = _source_index; +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = gee_list_get (_tmp31_, _tmp32_); +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + source = (MediaSource*) _tmp33_; +#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = self->priv->skipset; +#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = source; +#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = media_source_get_file (_tmp35_); +#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = _tmp36_; +#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp37_); +#line 493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp37_); +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (source); +#line 5560 "BatchImport.c" + } +#line 492 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_source_list); +#line 5564 "BatchImport.c" + } + } +#line 498 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = application_get_instance (); +#line 498 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = _tmp38_; +#line 498 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_connect_object (_tmp39_, "exiting", (GCallback) _batch_import_user_halt_application_exiting, self, 0); +#line 498 "/home/jens/Source/shotwell/src/BatchImport.vala" + _application_unref0 (_tmp39_); +#line 501 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) BATCH_IMPORT_DISPLAY_QUEUE_TIMER_MSEC, _batch_import_display_imported_timer_gsource_func, g_object_ref (self), g_object_unref); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_roll_unref0 (_tmp14_); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp8_); +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 5583 "BatchImport.c" +} + + +BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest) { +#line 478 "/home/jens/Source/shotwell/src/BatchImport.vala" + return batch_import_construct (TYPE_BATCH_IMPORT, jobs, name, reporter, reporter_target, prefailed, pre_already_imported, cancellable, import_roll, skip_manifest); +#line 5590 "BatchImport.c" +} + + +gchar* batch_import_get_name (BatchImport* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 511 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (self), NULL); +#line 512 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->name; +#line 512 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 512 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp1_; +#line 512 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 5608 "BatchImport.c" +} + + +void batch_import_user_halt (BatchImport* self) { + GCancellable* _tmp0_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 516 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->cancellable; +#line 516 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_cancellable_cancel (_tmp0_); +#line 5620 "BatchImport.c" +} + + +gboolean batch_import_get_untrash_duplicates (BatchImport* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 519 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE); +#line 520 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->untrash_duplicates; +#line 520 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp0_; +#line 520 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 5635 "BatchImport.c" +} + + +void batch_import_set_untrash_duplicates (BatchImport* self, gboolean untrash_duplicates) { + gboolean _tmp0_ = FALSE; +#line 523 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 524 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = untrash_duplicates; +#line 524 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->untrash_duplicates = _tmp0_; +#line 5647 "BatchImport.c" +} + + +gboolean batch_import_get_mark_duplicates_online (BatchImport* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 527 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE); +#line 528 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->mark_duplicates_online; +#line 528 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp0_; +#line 528 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 5662 "BatchImport.c" +} + + +void batch_import_set_mark_duplicates_online (BatchImport* self, gboolean mark_duplicates_online) { + gboolean _tmp0_ = FALSE; +#line 531 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 532 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = mark_duplicates_online; +#line 532 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->mark_duplicates_online = _tmp0_; +#line 5674 "BatchImport.c" +} + + +static void batch_import_log_status (BatchImport* self, const gchar* where) { +#line 535 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 535 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (where != NULL); +#line 5683 "BatchImport.c" +} + + +static gboolean batch_import_report_failure (BatchImport* self, BatchImportResult* import_result) { + gboolean result = FALSE; + gboolean proceed = FALSE; + ImportManifest* _tmp0_ = NULL; + BatchImportResult* _tmp1_ = NULL; + BatchImportResult* _tmp2_ = NULL; + ImportResult _tmp3_ = 0; + gboolean _tmp22_ = FALSE; + BatchImportResult* _tmp23_ = NULL; + ImportResult _tmp24_ = 0; + gboolean _tmp25_ = FALSE; + GError * _inner_error_ = NULL; +#line 545 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE); +#line 545 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (import_result), FALSE); +#line 546 "/home/jens/Source/shotwell/src/BatchImport.vala" + proceed = TRUE; +#line 548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->manifest; +#line 548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = import_result; +#line 548 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_add_result (_tmp0_, _tmp1_); +#line 550 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = import_result; +#line 550 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _tmp2_->result; +#line 550 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp3_ != IMPORT_RESULT_SUCCESS) { +#line 5717 "BatchImport.c" + BatchImportResult* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + BatchImportResult* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 551 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = import_result; +#line 551 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_emit_by_name (self, "import-job-failed", _tmp4_); +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = import_result; +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_->file; +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp7_ != NULL) { +#line 5732 "BatchImport.c" + BatchImportResult* _tmp8_ = NULL; + ImportResult _tmp9_ = 0; + gboolean _tmp10_ = FALSE; +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = import_result; +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp8_->result; +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = import_result_is_abort (_tmp9_); +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = !_tmp10_; +#line 5744 "BatchImport.c" + } else { +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = FALSE; +#line 5748 "BatchImport.c" + } +#line 553 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp5_) { +#line 5752 "BatchImport.c" + guint64 filesize = 0ULL; + guint64 _tmp21_ = 0ULL; +#line 554 "/home/jens/Source/shotwell/src/BatchImport.vala" + filesize = (guint64) 0; +#line 5757 "BatchImport.c" + { + guint64 _tmp11_ = 0ULL; + BatchImportResult* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + guint64 _tmp14_ = 0ULL; +#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = import_result; +#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_->file; +#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = query_total_file_size (_tmp13_, NULL, &_inner_error_); +#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _tmp14_; +#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5773 "BatchImport.c" + goto __catch397_g_error; + } +#line 557 "/home/jens/Source/shotwell/src/BatchImport.vala" + filesize = _tmp11_; +#line 5778 "BatchImport.c" + } + goto __finally397; + __catch397_g_error: + { + GError* err = NULL; + BatchImportResult* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = import_result; +#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = _tmp15_->file; +#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = _tmp17_; +#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = err; +#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp19_->message; +#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:559: Unable to query file size of %s: %s", _tmp18_, _tmp20_); +#line 559 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp18_); +#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 5812 "BatchImport.c" + } + __finally397: +#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 555 "/home/jens/Source/shotwell/src/BatchImport.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 555 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 555 "/home/jens/Source/shotwell/src/BatchImport.vala" + return FALSE; +#line 5823 "BatchImport.c" + } +#line 563 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = filesize; +#line 563 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_progress (self, _tmp21_); +#line 5829 "BatchImport.c" + } + } +#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = import_result; +#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = _tmp23_->result; +#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = import_result_is_nonuser_abort (_tmp24_); +#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp25_) { +#line 5840 "BatchImport.c" + gboolean _tmp26_ = FALSE; +#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = proceed; +#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = _tmp26_; +#line 5846 "BatchImport.c" + } else { +#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = FALSE; +#line 5850 "BatchImport.c" + } +#line 568 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp22_) { +#line 5854 "BatchImport.c" + BatchImportResult* _tmp27_ = NULL; + ImportResult _tmp28_ = 0; + BatchImportResult* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; +#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = import_result; +#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _tmp27_->result; +#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = import_result; +#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _tmp29_->errmsg; +#line 569 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_emit_by_name (self, "fatal-error", _tmp28_, _tmp30_); +#line 570 "/home/jens/Source/shotwell/src/BatchImport.vala" + proceed = FALSE; +#line 5871 "BatchImport.c" + } +#line 573 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = proceed; +#line 573 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 5877 "BatchImport.c" +} + + +static void batch_import_report_progress (BatchImport* self, guint64 increment_of_progress) { + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; + guint64 _tmp2_ = 0ULL; +#line 576 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 577 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed_bytes; +#line 577 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = increment_of_progress; +#line 577 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->completed_bytes = _tmp0_ + _tmp1_; +#line 581 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->priv->completed_bytes; +#line 581 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp2_ == ((guint64) 0)) { +#line 5897 "BatchImport.c" + gulong now = 0UL; + gulong _tmp3_ = 0UL; + gulong _tmp4_ = 0UL; + gulong _tmp5_ = 0UL; +#line 582 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = now_ms (); +#line 582 "/home/jens/Source/shotwell/src/BatchImport.vala" + now = _tmp3_; +#line 583 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = now; +#line 583 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = self->priv->last_preparing_ms; +#line 583 "/home/jens/Source/shotwell/src/BatchImport.vala" + if ((_tmp4_ - _tmp5_) > ((gulong) 250)) { +#line 5912 "BatchImport.c" + gulong _tmp6_ = 0UL; +#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = now; +#line 584 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->last_preparing_ms = _tmp6_; +#line 585 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_emit_by_name (self, "preparing"); +#line 5920 "BatchImport.c" + } + } else { + guint64 _tmp7_ = 0ULL; +#line 587 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = increment_of_progress; +#line 587 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp7_ > ((guint64) 0)) { +#line 5928 "BatchImport.c" + gulong now = 0UL; + gulong _tmp8_ = 0UL; + gulong _tmp9_ = 0UL; + gulong _tmp10_ = 0UL; +#line 588 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = now_ms (); +#line 588 "/home/jens/Source/shotwell/src/BatchImport.vala" + now = _tmp8_; +#line 589 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = now; +#line 589 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = self->priv->last_preparing_ms; +#line 589 "/home/jens/Source/shotwell/src/BatchImport.vala" + if ((_tmp9_ - _tmp10_) > ((gulong) 250)) { +#line 5943 "BatchImport.c" + gulong _tmp11_ = 0UL; + guint64 _tmp12_ = 0ULL; + guint64 _tmp13_ = 0ULL; +#line 590 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = now; +#line 590 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->last_preparing_ms = _tmp11_; +#line 591 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = self->priv->completed_bytes; +#line 591 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = self->priv->total_bytes; +#line 591 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_emit_by_name (self, "progress", _tmp12_, _tmp13_); +#line 5957 "BatchImport.c" + } + } + } +} + + +static gboolean batch_import_report_failures (BatchImport* self, BackgroundImportJob* background_job) { + gboolean result = FALSE; + gboolean proceed = FALSE; +#line 596 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE); +#line 596 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BACKGROUND_IMPORT_JOB (background_job), FALSE); +#line 597 "/home/jens/Source/shotwell/src/BatchImport.vala" + proceed = TRUE; +#line 5973 "BatchImport.c" + { + GeeList* _import_result_list = NULL; + BackgroundImportJob* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + gint _import_result_size = 0; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _import_result_index = 0; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = background_job; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _tmp0_->failed; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _import_result_list = _tmp2_; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _import_result_list; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _import_result_size = _tmp5_; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _import_result_index = -1; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 6004 "BatchImport.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + BatchImportResult* import_result = NULL; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + BatchImportResult* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _import_result_index; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _import_result_index = _tmp6_ + 1; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _import_result_index; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _import_result_size; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 6026 "BatchImport.c" + } +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _import_result_list; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _import_result_index; +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = gee_list_get (_tmp9_, _tmp10_); +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_result = (BatchImportResult*) _tmp11_; +#line 600 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = import_result; +#line 600 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = batch_import_report_failure (self, _tmp12_); +#line 600 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp13_) { +#line 601 "/home/jens/Source/shotwell/src/BatchImport.vala" + proceed = FALSE; +#line 6044 "BatchImport.c" + } +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (import_result); +#line 6048 "BatchImport.c" + } +#line 599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_import_result_list); +#line 6052 "BatchImport.c" + } +#line 604 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = proceed; +#line 604 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 6058 "BatchImport.c" +} + + +static void batch_import_report_completed (BatchImport* self, const gchar* where) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + BatchImportImportReporter _tmp5_ = NULL; + void* _tmp5__target = NULL; + ImportManifest* _tmp9_ = NULL; + BatchImportRoll* _tmp10_ = NULL; +#line 607 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 607 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (where != NULL); +#line 608 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 608 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp0_) { +#line 6079 "BatchImport.c" + const gchar* _tmp1_ = NULL; +#line 609 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = where; +#line 609 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_error ("BatchImport.vala:609: Attempted to complete already-completed import: " \ +"%s", _tmp1_); +#line 6085 "BatchImport.c" + } +#line 611 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->completed = TRUE; +#line 613 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_flush_ready_sources (self); +#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = where; +#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = g_strdup_printf ("Import completed: %s", _tmp2_); +#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp3_; +#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, _tmp4_); +#line 615 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp4_); +#line 618 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = self->priv->reporter; +#line 618 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5__target = self->priv->reporter_target; +#line 618 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp5_ != NULL) { +#line 6107 "BatchImport.c" + BatchImportImportReporter _tmp6_ = NULL; + void* _tmp6__target = NULL; + ImportManifest* _tmp7_ = NULL; + BatchImportRoll* _tmp8_ = NULL; +#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = self->priv->reporter; +#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6__target = self->priv->reporter_target; +#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = self->priv->manifest; +#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = self->priv->import_roll; +#line 619 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ (_tmp7_, _tmp8_, _tmp6__target); +#line 6122 "BatchImport.c" + } +#line 621 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = self->priv->manifest; +#line 621 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = self->priv->import_roll; +#line 621 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_emit_by_name (self, "import-complete", _tmp9_, _tmp10_); +#line 6130 "BatchImport.c" +} + + +static void batch_import_file_import_complete (BatchImport* self) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; +#line 625 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 627 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file_imports_completed; +#line 627 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->file_imports_completed = _tmp0_ + 1; +#line 628 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->priv->file_imports_to_perform; +#line 628 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_ != -1) { +#line 6149 "BatchImport.c" + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 629 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->priv->file_imports_completed; +#line 629 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = self->priv->file_imports_to_perform; +#line 629 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp2_ <= _tmp3_, "file_imports_completed <= file_imports_to_perform"); +#line 6158 "BatchImport.c" + } +#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = self->priv->file_imports_to_perform; +#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp5_ != -1) { +#line 6164 "BatchImport.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = self->priv->file_imports_completed; +#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = self->priv->file_imports_to_perform; +#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp6_ == _tmp7_; +#line 6173 "BatchImport.c" + } else { +#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = FALSE; +#line 6177 "BatchImport.c" + } +#line 633 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp4_) { +#line 634 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_completed (self, "completed preparing files, all outstanding imports completed"); +#line 6183 "BatchImport.c" + } +} + + +static void _batch_import_on_work_sniffed_out_completion_callback (BackgroundJob* job, gpointer self) { +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_work_sniffed_out ((BatchImport*) self, job); +#line 6191 "BatchImport.c" +} + + +static void _batch_import_on_sniffer_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_sniffer_cancelled ((BatchImport*) self, job); +#line 6198 "BatchImport.c" +} + + +static gboolean _batch_import_on_sniffer_working_gsource_func (gpointer self) { + gboolean result; + result = batch_import_on_sniffer_working ((BatchImport*) self); +#line 646 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 6207 "BatchImport.c" +} + + +void batch_import_schedule (BatchImport* self) { + gboolean _tmp0_ = FALSE; + Workers* _tmp1_ = NULL; + GeeIterable* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + GeeHashSet* _tmp4_ = NULL; + WorkSniffer* _tmp5_ = NULL; + WorkSniffer* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 637 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 638 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->scheduled; +#line 638 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp0_ == FALSE, "scheduled == false"); +#line 639 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->scheduled = TRUE; +#line 641 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_emit_by_name (self, "starting"); +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = batch_import_feeder_workers; +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->priv->jobs; +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = self->priv->cancellable; +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->priv->skipset; +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = work_sniffer_new (self, _tmp2_, _batch_import_on_work_sniffed_out_completion_callback, self, _tmp3_, _batch_import_on_sniffer_cancelled_cancellation_callback, self, _tmp4_); +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _tmp5_; +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + workers_enqueue (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 644 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (_tmp6_); +#line 646 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) BATCH_IMPORT_WORK_SNIFFER_THROBBER_MSEC, _batch_import_on_sniffer_working_gsource_func, g_object_ref (self), g_object_unref); +#line 646 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->throbber_id = _tmp7_; +#line 6250 "BatchImport.c" +} + + +static gboolean batch_import_on_sniffer_working (BatchImport* self) { + gboolean result = FALSE; +#line 653 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE); +#line 654 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_progress (self, (guint64) 0); +#line 656 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = TRUE; +#line 656 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 6264 "BatchImport.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 662 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? background_job_ref (self) : NULL; +#line 6271 "BatchImport.c" +} + + +static void _batch_import_on_file_prepared_notification_callback (BackgroundJob* job, NotificationObject* user, gpointer self) { +#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_file_prepared ((BatchImport*) self, job, user); +#line 6278 "BatchImport.c" +} + + +static void _batch_import_on_files_prepared_completion_callback (BackgroundJob* job, gpointer self) { +#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_files_prepared ((BatchImport*) self, job); +#line 6285 "BatchImport.c" +} + + +static void _batch_import_on_file_prepare_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_file_prepare_cancelled ((BatchImport*) self, job); +#line 6292 "BatchImport.c" +} + + +static void batch_import_on_work_sniffed_out (BatchImport* self, BackgroundJob* j) { + gboolean _tmp0_ = FALSE; + WorkSniffer* sniffer = NULL; + BackgroundJob* _tmp1_ = NULL; + WorkSniffer* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + WorkSniffer* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + WorkSniffer* _tmp10_ = NULL; + guint64 _tmp11_ = 0ULL; + PrepareFilesJob* prepare_files_job = NULL; + WorkSniffer* _tmp12_ = NULL; + GeeList* _tmp13_ = NULL; + GCancellable* _tmp14_ = NULL; + PrepareFilesJob* _tmp15_ = NULL; + Workers* _tmp16_ = NULL; + PrepareFilesJob* _tmp17_ = NULL; + guint _tmp18_ = 0U; +#line 659 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 659 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 660 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 660 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (!_tmp0_, "!completed"); +#line 662 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = j; +#line 662 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_WORK_SNIFFER, WorkSniffer)); +#line 662 "/home/jens/Source/shotwell/src/BatchImport.vala" + sniffer = _tmp2_; +#line 664 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, "on_work_sniffed_out"); +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = sniffer; +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob)); +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp5_) { +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = TRUE; +#line 6338 "BatchImport.c" + } else { + WorkSniffer* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = sniffer; +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_->files_to_prepare; +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp8_; +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _tmp9_ == 0; +#line 6354 "BatchImport.c" + } +#line 666 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp3_) { +#line 667 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_completed (self, "work sniffed out: nothing to do"); +#line 669 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (sniffer); +#line 669 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 6364 "BatchImport.c" + } +#line 672 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = sniffer; +#line 672 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _tmp10_->total_bytes; +#line 672 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->total_bytes = _tmp11_; +#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = sniffer; +#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_->files_to_prepare; +#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = self->priv->cancellable; +#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = prepare_files_job_new (self, _tmp13_, _batch_import_on_file_prepared_notification_callback, self, _batch_import_on_files_prepared_completion_callback, self, _tmp14_, _batch_import_on_file_prepare_cancelled_cancellation_callback, self); +#line 679 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepare_files_job = _tmp15_; +#line 682 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = batch_import_feeder_workers; +#line 682 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = prepare_files_job; +#line 682 "/home/jens/Source/shotwell/src/BatchImport.vala" + workers_enqueue (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 684 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = self->priv->throbber_id; +#line 684 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp18_ > ((guint) 0)) { +#line 6392 "BatchImport.c" + guint _tmp19_ = 0U; +#line 685 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = self->priv->throbber_id; +#line 685 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_source_remove (_tmp19_); +#line 686 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->throbber_id = (guint) 0; +#line 6400 "BatchImport.c" + } +#line 659 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (prepare_files_job); +#line 659 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (sniffer); +#line 6406 "BatchImport.c" +} + + +static void batch_import_on_sniffer_cancelled (BatchImport* self, BackgroundJob* j) { + gboolean _tmp0_ = FALSE; + WorkSniffer* sniffer = NULL; + BackgroundJob* _tmp1_ = NULL; + WorkSniffer* _tmp2_ = NULL; + WorkSniffer* _tmp3_ = NULL; + guint _tmp4_ = 0U; +#line 690 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 690 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 691 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 691 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (!_tmp0_, "!completed"); +#line 693 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = j; +#line 693 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_WORK_SNIFFER, WorkSniffer)); +#line 693 "/home/jens/Source/shotwell/src/BatchImport.vala" + sniffer = _tmp2_; +#line 695 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, "on_sniffer_cancelled"); +#line 697 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = sniffer; +#line 697 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob)); +#line 698 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_completed (self, "work sniffer cancelled"); +#line 700 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->priv->throbber_id; +#line 700 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp4_ > ((guint) 0)) { +#line 6443 "BatchImport.c" + guint _tmp5_ = 0U; +#line 701 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = self->priv->throbber_id; +#line 701 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_source_remove (_tmp5_); +#line 702 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->throbber_id = (guint) 0; +#line 6451 "BatchImport.c" + } +#line 690 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (sniffer); +#line 6455 "BatchImport.c" +} + + +static void _batch_import_on_thumbnail_writer_completed_completion_callback (BackgroundJob* job, gpointer self) { +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_thumbnail_writer_completed ((BatchImport*) self, job); +#line 6462 "BatchImport.c" +} + + +static void _batch_import_on_thumbnail_writer_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_thumbnail_writer_cancelled ((BatchImport*) self, job); +#line 6469 "BatchImport.c" +} + + +static void _batch_import_on_import_files_completed_completion_callback (BackgroundJob* job, gpointer self) { +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_import_files_completed ((BatchImport*) self, job); +#line 6476 "BatchImport.c" +} + + +static void _batch_import_on_import_files_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_on_import_files_cancelled ((BatchImport*) self, job); +#line 6483 "BatchImport.c" +} + + +static void batch_import_flush_import_jobs (BatchImport* self) { +#line 710 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 6492 "BatchImport.c" + gboolean _tmp0_ = FALSE; + GeeList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + Workers* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + CompletedImportObject* _tmp10_ = NULL; + GCancellable* _tmp11_ = NULL; + ThumbnailWriterJob* _tmp12_ = NULL; + ThumbnailWriterJob* _tmp13_ = NULL; +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->priv->ready_thumbnails; +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _tmp2_; +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp3_ > 0) { +#line 6512 "BatchImport.c" + Workers* _tmp4_ = NULL; + gint _tmp5_ = 0; + guint _tmp6_ = 0U; +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = batch_import_import_workers; +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = workers_get_pending_job_count (_tmp4_); +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = self->priv->max_outstanding_import_jobs; +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = ((guint) _tmp5_) < _tmp6_; +#line 6524 "BatchImport.c" + } else { +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = FALSE; +#line 6528 "BatchImport.c" + } +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp0_) { +#line 715 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 6534 "BatchImport.c" + } +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = batch_import_import_workers; +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = self->priv->ready_thumbnails; +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = gee_list_remove_at (_tmp8_, 0); +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = (CompletedImportObject*) _tmp9_; +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = self->priv->cancellable; +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = thumbnail_writer_job_new (self, _tmp10_, _batch_import_on_thumbnail_writer_completed_completion_callback, self, _tmp11_, _batch_import_on_thumbnail_writer_cancelled_cancellation_callback, self); +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_; +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + workers_enqueue (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (_tmp13_); +#line 716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_import_object_unref0 (_tmp10_); +#line 6556 "BatchImport.c" + } +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 6560 "BatchImport.c" + gboolean _tmp14_ = FALSE; + GeeList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + Workers* _tmp21_ = NULL; + GeeList* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; + PreparedFile* _tmp24_ = NULL; + BatchImportRoll* _tmp25_ = NULL; + ImportID _tmp26_ = {0}; + GCancellable* _tmp27_ = NULL; + PreparedFileImportJob* _tmp28_ = NULL; + PreparedFileImportJob* _tmp29_ = NULL; +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = self->priv->ready_files; +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp16_; +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp17_ > 0) { +#line 6582 "BatchImport.c" + Workers* _tmp18_ = NULL; + gint _tmp19_ = 0; + guint _tmp20_ = 0U; +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = batch_import_import_workers; +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = workers_get_pending_job_count (_tmp18_); +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = self->priv->max_outstanding_import_jobs; +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = ((guint) _tmp19_) < _tmp20_; +#line 6594 "BatchImport.c" + } else { +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = FALSE; +#line 6598 "BatchImport.c" + } +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp14_) { +#line 720 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 6604 "BatchImport.c" + } +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = batch_import_import_workers; +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = self->priv->ready_files; +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = gee_list_remove_at (_tmp22_, 0); +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = (PreparedFile*) _tmp23_; +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = self->priv->import_roll; +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = _tmp25_->import_id; +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = self->priv->cancellable; +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = prepared_file_import_job_new (self, _tmp24_, &_tmp26_, _batch_import_on_import_files_completed_completion_callback, self, _tmp27_, _batch_import_on_import_files_cancelled_cancellation_callback, self); +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = _tmp28_; +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + workers_enqueue (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (_tmp29_); +#line 721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_tmp24_); +#line 6630 "BatchImport.c" + } +} + + +static GFile* batch_import_get_in_current_import (BatchImport* self, PreparedFile* prepared_file) { + GFile* result = NULL; + gboolean _tmp0_ = FALSE; + PreparedFile* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PreparedFile* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 729 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (self), NULL); +#line 729 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL); +#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = prepared_file; +#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _tmp1_->full_md5; +#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp2_ != NULL) { +#line 6652 "BatchImport.c" + GeeHashMap* _tmp3_ = NULL; + PreparedFile* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = self->priv->imported_full_md5_table; +#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = prepared_file; +#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_->full_md5; +#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); +#line 732 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp6_; +#line 6667 "BatchImport.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = FALSE; +#line 6671 "BatchImport.c" + } +#line 731 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp0_) { +#line 6675 "BatchImport.c" + GeeHashMap* _tmp7_ = NULL; + PreparedFile* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; +#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = self->priv->imported_full_md5_table; +#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = prepared_file; +#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp8_->full_md5; +#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_); +#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = (GFile*) _tmp10_; +#line 734 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 6692 "BatchImport.c" + } +#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = prepared_file; +#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = _tmp11_->full_md5; +#line 738 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp12_ != NULL) { +#line 6700 "BatchImport.c" + GeeHashMap* _tmp13_ = NULL; + PreparedFile* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + PreparedFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; +#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = self->priv->imported_full_md5_table; +#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = prepared_file; +#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_->full_md5; +#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = prepared_file; +#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp16_->file; +#line 739 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp15_, _tmp17_); +#line 6718 "BatchImport.c" + } +#line 741 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = NULL; +#line 741 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 6724 "BatchImport.c" +} + + +static gpointer _notification_object_ref0 (gpointer self) { +#line 748 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? notification_object_ref (self) : NULL; +#line 6731 "BatchImport.c" +} + + +static void batch_import_on_file_prepared (BatchImport* self, BackgroundJob* j, NotificationObject* user) { + gboolean _tmp0_ = FALSE; + PreparedFileCluster* cluster = NULL; + NotificationObject* _tmp1_ = NULL; + PreparedFileCluster* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GeeArrayList* _tmp8_ = NULL; +#line 745 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 745 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 745 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail ((user == NULL) || IS_NOTIFICATION_OBJECT (user)); +#line 746 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 746 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (!_tmp0_, "!completed"); +#line 748 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = user; +#line 748 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _notification_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PREPARED_FILE_CLUSTER, PreparedFileCluster)); +#line 748 "/home/jens/Source/shotwell/src/BatchImport.vala" + cluster = _tmp2_; +#line 750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = cluster->list; +#line 750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_; +#line 750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = g_strdup_printf ("on_file_prepared (%d files)", _tmp5_); +#line 750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_; +#line 750 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, _tmp7_); +#line 750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp7_); +#line 752 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = cluster->list; +#line 752 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_process_prepared_files (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_LIST, GeeList), NULL, NULL); +#line 745 "/home/jens/Source/shotwell/src/BatchImport.vala" + _notification_object_unref0 (cluster); +#line 6782 "BatchImport.c" +} + + +static void batch_import_process_prepared_files_data_free (gpointer _data) { + BatchImportProcessPreparedFilesData* _data_; + _data_ = _data; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->list); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->self); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_slice_free (BatchImportProcessPreparedFilesData, _data_); +#line 6795 "BatchImport.c" +} + + +static void batch_import_process_prepared_files (BatchImport* self, GeeList* list, GAsyncReadyCallback _callback_, gpointer _user_data_) { + BatchImportProcessPreparedFilesData* _data_; + BatchImport* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_ = g_slice_new0 (BatchImportProcessPreparedFilesData); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, batch_import_process_prepared_files); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, batch_import_process_prepared_files_data_free); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _g_object_ref0 (self); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->self = _tmp0_; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = list; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->list); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->list = _tmp2_; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_process_prepared_files_co (_data_); +#line 6824 "BatchImport.c" +} + + +static void batch_import_process_prepared_files_finish (BatchImport* self, GAsyncResult* _res_) { + BatchImportProcessPreparedFilesData* _data_; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); +#line 6832 "BatchImport.c" +} + + +static gboolean _batch_import_process_prepared_files_co_gsource_func (gpointer self) { + gboolean result; + result = batch_import_process_prepared_files_co (self); +#line 759 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 6841 "BatchImport.c" +} + + +static gboolean batch_import_process_prepared_files_co (BatchImportProcessPreparedFilesData* _data_) { +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + switch (_data_->_state_) { +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + case 0: +#line 6850 "BatchImport.c" + goto _state_0; +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + case 1: +#line 6854 "BatchImport.c" + goto _state_1; + default: +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_assert_not_reached (); +#line 6859 "BatchImport.c" + } + _state_0: + { +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp0_ = NULL; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp0_ = _data_->list; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp1_ = NULL; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp1_ = _g_object_ref0 (_data_->_tmp0_); +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_prepared_file_list = _data_->_tmp1_; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp2_ = NULL; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp2_ = _data_->_prepared_file_list; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp3_ = 0; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp4_ = 0; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp4_ = _data_->_tmp3_; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_prepared_file_size = _data_->_tmp4_; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_prepared_file_index = -1; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp5_ = 0; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp5_ = _data_->_prepared_file_index; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_prepared_file_index = _data_->_tmp5_ + 1; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp6_ = 0; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp6_ = _data_->_prepared_file_index; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp7_ = 0; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp7_ = _data_->_prepared_file_size; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_data_->_tmp6_ < _data_->_tmp7_)) { +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 6909 "BatchImport.c" + } +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp8_ = NULL; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp8_ = _data_->_prepared_file_list; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp9_ = 0; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp9_ = _data_->_prepared_file_index; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp10_ = NULL; +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp10_ = gee_list_get (_data_->_tmp8_, _data_->_tmp9_); +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->prepared_file = (PreparedFile*) _data_->_tmp10_; +#line 759 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _batch_import_process_prepared_files_co_gsource_func, _data_, NULL); +#line 760 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_state_ = 1; +#line 760 "/home/jens/Source/shotwell/src/BatchImport.vala" + return FALSE; +#line 6931 "BatchImport.c" + _state_1: + ; +#line 762 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->import_result = NULL; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp11_ = NULL; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp11_ = library_photo_global; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp12_ = NULL; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp12_ = _data_->prepared_file; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp13_ = NULL; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp13_ = _data_->_tmp12_->file; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp14_ = 0; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp15_ = NULL; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp15_ = library_photo_source_collection_get_state_by_file (_data_->_tmp11_, _data_->_tmp13_, &_data_->_tmp14_); +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo_state = _data_->_tmp14_; +#line 767 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo = _data_->_tmp15_; +#line 769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp16_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp16_ = _data_->photo; +#line 769 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp16_ != NULL) { +#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp17_ = 0; +#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp17_ = _data_->photo_state; +#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala" + switch (_data_->_tmp17_) { +#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 6978 "BatchImport.c" + { +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp18_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp18_ = _data_->prepared_file; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp19_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp19_ = _data_->_tmp18_->job; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp20_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp20_ = _data_->prepared_file; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp21_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp21_ = _data_->_tmp20_->file; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp22_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp22_ = _data_->prepared_file; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp23_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp23_ = _data_->_tmp22_->file; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp24_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp24_ = g_file_get_path (_data_->_tmp23_); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp25_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp25_ = _data_->_tmp24_; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp26_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp26_ = _data_->prepared_file; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp27_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp27_ = _data_->_tmp26_->file; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp28_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp28_ = g_file_get_path (_data_->_tmp27_); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp29_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp29_ = _data_->_tmp28_; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp30_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp30_ = _data_->photo; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp31_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp31_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp30_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp32_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp32_ = _data_->_tmp31_; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp33_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp33_ = duplicated_file_create_from_file (_data_->_tmp32_); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp34_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp34_ = _data_->_tmp33_; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp35_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp35_ = batch_import_result_new (_data_->_tmp19_, _data_->_tmp21_, _data_->_tmp25_, _data_->_tmp29_, _data_->_tmp34_, IMPORT_RESULT_PHOTO_EXISTS); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->import_result = _data_->_tmp35_; +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_tmp34_); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_tmp32_); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp29_); +#line 775 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp25_); +#line 780 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp36_ = 0; +#line 780 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp36_ = _data_->photo_state; +#line 780 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp36_ == LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE) { +#line 781 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp37_ = NULL; +#line 781 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp37_ = _data_->photo; +#line 781 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp37_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 7076 "BatchImport.c" + } +#line 782 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 7080 "BatchImport.c" + } +#line 770 "/home/jens/Source/shotwell/src/BatchImport.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 7084 "BatchImport.c" + { +#line 786 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 7088 "BatchImport.c" + } + default: + { +#line 789 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp38_ = 0; +#line 789 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp38_ = _data_->photo_state; +#line 789 "/home/jens/Source/shotwell/src/BatchImport.vala" + memset (&_data_->_tmp39_, 0, sizeof (GEnumValue*)); +#line 789 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp39_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _data_->_tmp38_); +#line 789 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_error ("BatchImport.vala:789: Unknown LibraryPhotoSourceCollection state: %s", (_data_->_tmp39_ != NULL) ? _data_->_tmp39_->value_name : NULL); +#line 7102 "BatchImport.c" + } + } + } +#line 793 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp40_ = NULL; +#line 793 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp40_ = _data_->import_result; +#line 793 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp40_ != NULL) { +#line 794 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp41_ = NULL; +#line 794 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp41_ = _data_->import_result; +#line 794 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (_data_->self, _data_->_tmp41_); +#line 795 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (_data_->self); +#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_data_->prepared_file); +#line 797 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 7128 "BatchImport.c" + } +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp42_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp42_ = video_global; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp43_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp43_ = _data_->prepared_file; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp44_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp44_ = _data_->_tmp43_->file; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp45_ = 0; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp46_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp46_ = video_source_collection_get_state_by_file (_data_->_tmp42_, _data_->_tmp44_, &_data_->_tmp45_); +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->video_state = _data_->_tmp45_; +#line 801 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->video = _data_->_tmp46_; +#line 802 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp47_ = NULL; +#line 802 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp47_ = _data_->video; +#line 802 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp47_ != NULL) { +#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp48_ = 0; +#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp48_ = _data_->video_state; +#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala" + switch (_data_->_tmp48_) { +#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala" + case VIDEO_SOURCE_COLLECTION_STATE_ONLINE: +#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala" + case VIDEO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 7168 "BatchImport.c" + { +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp49_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp49_ = _data_->prepared_file; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp50_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp50_ = _data_->_tmp49_->job; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp51_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp51_ = _data_->prepared_file; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp52_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp52_ = _data_->_tmp51_->file; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp53_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp53_ = _data_->prepared_file; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp54_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp54_ = _data_->_tmp53_->file; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp55_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp55_ = g_file_get_path (_data_->_tmp54_); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp56_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp56_ = _data_->_tmp55_; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp57_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp57_ = _data_->prepared_file; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp58_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp58_ = _data_->_tmp57_->file; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp59_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp59_ = g_file_get_path (_data_->_tmp58_); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp60_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp60_ = _data_->_tmp59_; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp61_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp61_ = _data_->video; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp62_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp62_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp61_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp63_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp63_ = _data_->_tmp62_; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp64_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp64_ = duplicated_file_create_from_file (_data_->_tmp63_); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp65_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp65_ = _data_->_tmp64_; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp66_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp66_ = batch_import_result_new (_data_->_tmp50_, _data_->_tmp52_, _data_->_tmp56_, _data_->_tmp60_, _data_->_tmp65_, IMPORT_RESULT_PHOTO_EXISTS); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->import_result = _data_->_tmp66_; +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_tmp65_); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_tmp63_); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp60_); +#line 806 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp56_); +#line 811 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp67_ = 0; +#line 811 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp67_ = _data_->video_state; +#line 811 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp67_ == VIDEO_SOURCE_COLLECTION_STATE_OFFLINE) { +#line 812 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp68_ = NULL; +#line 812 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp68_ = _data_->video; +#line 812 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp68_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 7266 "BatchImport.c" + } +#line 813 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 7270 "BatchImport.c" + } +#line 803 "/home/jens/Source/shotwell/src/BatchImport.vala" + case VIDEO_SOURCE_COLLECTION_STATE_TRASH: +#line 7274 "BatchImport.c" + { +#line 817 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 7278 "BatchImport.c" + } + default: + { +#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp69_ = 0; +#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp69_ = _data_->video_state; +#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala" + memset (&_data_->_tmp70_, 0, sizeof (GEnumValue*)); +#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp70_ = g_enum_get_value (g_type_class_ref (VIDEO_SOURCE_COLLECTION_TYPE_STATE), _data_->_tmp69_); +#line 820 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_error ("BatchImport.vala:820: Unknown VideoSourceCollection state: %s", (_data_->_tmp70_ != NULL) ? _data_->_tmp70_->value_name : NULL); +#line 7292 "BatchImport.c" + } + } + } +#line 824 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp71_ = NULL; +#line 824 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp71_ = _data_->import_result; +#line 824 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp71_ != NULL) { +#line 825 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp72_ = NULL; +#line 825 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp72_ = _data_->import_result; +#line 825 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (_data_->self, _data_->_tmp72_); +#line 826 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (_data_->self); +#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->video); +#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_data_->prepared_file); +#line 828 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 7320 "BatchImport.c" + } +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp74_ = NULL; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp74_ = _data_->prepared_file; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp75_ = FALSE; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp75_ = _data_->_tmp74_->is_video; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp75_) { +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp76_ = NULL; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp76_ = _data_->prepared_file; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp77_ = NULL; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp77_ = _data_->_tmp76_->file; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp78_ = NULL; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp78_ = _data_->prepared_file; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp79_ = NULL; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp79_ = _data_->_tmp78_->full_md5; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp80_ = FALSE; +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp80_ = video_is_duplicate (_data_->_tmp77_, _data_->_tmp79_); +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp73_ = _data_->_tmp80_; +#line 7354 "BatchImport.c" + } else { +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp73_ = FALSE; +#line 7358 "BatchImport.c" + } +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp73_) { +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp81_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp81_ = video_table_get_instance (); +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp82_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp82_ = _data_->_tmp81_; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp83_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp83_ = _data_->prepared_file; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp84_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp84_ = _data_->_tmp83_->file; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp85_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp85_ = _data_->prepared_file; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp86_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp86_ = _data_->_tmp85_->full_md5; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp87_ = 0; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp88_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp88_ = video_table_get_duplicate_ids (_data_->_tmp82_, _data_->_tmp84_, _data_->_tmp86_, &_data_->_tmp87_); +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp89_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp89__length1 = 0; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp89_ = _data_->_tmp88_; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp89__length1 = _data_->_tmp87_; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _database_table_unref0 (_data_->_tmp82_); +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->duplicate_ids_length1 = 0; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_duplicate_ids_size_ = 0; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->duplicate_ids = _data_->_tmp89_; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->duplicate_ids_length1 = _data_->_tmp89__length1; +#line 834 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_duplicate_ids_size_ = _data_->duplicate_ids_length1; +#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp90_ = NULL; +#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp90__length1 = 0; +#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp90_ = _data_->duplicate_ids; +#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp90__length1 = _data_->duplicate_ids_length1; +#line 837 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_data_->_tmp90__length1 > 0, "duplicate_ids.length > 0"); +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp91_ = NULL; +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp91__length1 = 0; +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp91_ = _data_->duplicate_ids; +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp91__length1 = _data_->duplicate_ids_length1; +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + memset (&_data_->_tmp92_, 0, sizeof (VideoID)); +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp92_ = _data_->_tmp91_[0]; +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp93_ = NULL; +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp93_ = duplicated_file_create_from_video_id (&_data_->_tmp92_); +#line 839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->duplicated_file = _data_->_tmp93_; +#line 842 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->result_code = IMPORT_RESULT_PHOTO_EXISTS; +#line 843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp94_ = FALSE; +#line 843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp94_ = _data_->self->priv->mark_duplicates_online; +#line 843 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp94_) { +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp95_ = NULL; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp95_ = video_global; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp96_ = NULL; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp96_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp95_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp97_ = NULL; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp97_ = _data_->_tmp96_; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp98_ = NULL; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp98_ = _data_->prepared_file; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp99_ = NULL; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp99_ = _data_->_tmp98_->file; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp100_ = NULL; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp100_ = media_source_holding_tank_fetch_by_master_file (_data_->_tmp97_, _data_->_tmp99_); +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp101_ = NULL; +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp101_ = G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp100_, TYPE_VIDEO, Video); +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _source_holding_tank_unref0 (_data_->_tmp97_); +#line 844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->dupe_video = _data_->_tmp101_; +#line 846 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp102_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp102_ = _data_->dupe_video; +#line 846 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp102_ == NULL) { +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp103_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp103_ = video_global; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp104_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp104_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp103_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp105_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp105_ = _data_->_tmp104_; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp106_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp106_ = _data_->prepared_file; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp107_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp107_ = _data_->_tmp106_->full_md5; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp108_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp108_ = media_source_holding_tank_fetch_by_md5 (_data_->_tmp105_, _data_->_tmp107_); +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->dupe_video); +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->dupe_video = G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp108_, TYPE_VIDEO, Video); +#line 847 "/home/jens/Source/shotwell/src/BatchImport.vala" + _source_holding_tank_unref0 (_data_->_tmp105_); +#line 7516 "BatchImport.c" + } +#line 849 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp109_ = NULL; +#line 849 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp109_ = _data_->dupe_video; +#line 849 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp109_ != NULL) { +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp110_ = NULL; +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp110_ = _data_->prepared_file; +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp111_ = NULL; +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp111_ = _data_->_tmp110_->file; +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp112_ = NULL; +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp112_ = g_file_get_path (_data_->_tmp111_); +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp113_ = NULL; +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp113_ = _data_->_tmp112_; +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:850: duplicate video found offline, marking as online" \ +": %s", _data_->_tmp113_); +#line 850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp113_); +#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp114_ = NULL; +#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp114_ = _data_->dupe_video; +#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp115_ = NULL; +#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp115_ = _data_->prepared_file; +#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp116_ = NULL; +#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp116_ = _data_->_tmp115_->file; +#line 853 "/home/jens/Source/shotwell/src/BatchImport.vala" + monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp114_, TYPE_MONITORABLE, Monitorable), _data_->_tmp116_); +#line 854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp117_ = NULL; +#line 854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp117_ = _data_->dupe_video; +#line 854 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp117_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->duplicated_file); +#line 856 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->duplicated_file = NULL; +#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp118_ = NULL; +#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp118_ = _data_->self->priv->manifest; +#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp119_ = NULL; +#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp119_ = _data_->_tmp118_->imported; +#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp120_ = NULL; +#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp120_ = _data_->dupe_video; +#line 858 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp119_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp120_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp121_ = NULL; +#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp121_ = _data_->dupe_video; +#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp122_ = 0ULL; +#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp122_ = media_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp121_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 859 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_progress (_data_->self, _data_->_tmp122_); +#line 860 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (_data_->self); +#line 862 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->result_code = IMPORT_RESULT_SUCCESS; +#line 7596 "BatchImport.c" + } +#line 843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->dupe_video); +#line 7600 "BatchImport.c" + } +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp123_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp123_ = _data_->prepared_file; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp124_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp124_ = _data_->_tmp123_->job; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp125_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp125_ = _data_->prepared_file; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp126_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp126_ = _data_->_tmp125_->file; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp127_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp127_ = _data_->prepared_file; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp128_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp128_ = _data_->_tmp127_->file; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp129_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp129_ = g_file_get_path (_data_->_tmp128_); +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp130_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp130_ = _data_->_tmp129_; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp131_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp131_ = _data_->prepared_file; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp132_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp132_ = _data_->_tmp131_->file; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp133_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp133_ = g_file_get_path (_data_->_tmp132_); +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp134_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp134_ = _data_->_tmp133_; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp135_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp135_ = _data_->duplicated_file; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp136_ = 0; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp136_ = _data_->result_code; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp137_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp137_ = batch_import_result_new (_data_->_tmp124_, _data_->_tmp126_, _data_->_tmp130_, _data_->_tmp134_, _data_->_tmp135_, _data_->_tmp136_); +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->import_result = _data_->_tmp137_; +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp134_); +#line 866 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp130_); +#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp138_ = 0; +#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp138_ = _data_->result_code; +#line 870 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp138_ == IMPORT_RESULT_SUCCESS) { +#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp139_ = NULL; +#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp139_ = _data_->self->priv->manifest; +#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp140_ = NULL; +#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp140_ = _data_->import_result; +#line 871 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_add_result (_data_->_tmp139_, _data_->_tmp140_); +#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->duplicated_file); +#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->duplicate_ids = (g_free (_data_->duplicate_ids), NULL); +#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->video); +#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_data_->prepared_file); +#line 873 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 7700 "BatchImport.c" + } +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->duplicated_file); +#line 833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->duplicate_ids = (g_free (_data_->duplicate_ids), NULL); +#line 7706 "BatchImport.c" + } +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp141_ = NULL; +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp141_ = _data_->prepared_file; +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp142_ = NULL; +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp142_ = batch_import_get_in_current_import (_data_->self, _data_->_tmp141_); +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp143_ = NULL; +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp143_ = _data_->_tmp142_; +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp144_ = FALSE; +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp144_ = _data_->_tmp143_ != NULL; +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_tmp143_); +#line 877 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp144_) { +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp145_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp145_ = _data_->prepared_file; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp146_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp146_ = _data_->_tmp145_->job; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp147_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp147_ = _data_->prepared_file; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp148_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp148_ = _data_->_tmp147_->file; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp149_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp149_ = _data_->prepared_file; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp150_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp150_ = _data_->_tmp149_->file; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp151_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp151_ = g_file_get_path (_data_->_tmp150_); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp152_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp152_ = _data_->_tmp151_; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp153_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp153_ = _data_->prepared_file; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp154_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp154_ = _data_->_tmp153_->file; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp155_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp155_ = g_file_get_path (_data_->_tmp154_); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp156_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp156_ = _data_->_tmp155_; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp157_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp157_ = _data_->prepared_file; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp158_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp158_ = batch_import_get_in_current_import (_data_->self, _data_->_tmp157_); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp159_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp159_ = _data_->_tmp158_; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp160_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp160_ = duplicated_file_create_from_file (_data_->_tmp159_); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp161_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp161_ = _data_->_tmp160_; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp162_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp162_ = batch_import_result_new (_data_->_tmp146_, _data_->_tmp148_, _data_->_tmp152_, _data_->_tmp156_, _data_->_tmp161_, IMPORT_RESULT_PHOTO_EXISTS); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->import_result = _data_->_tmp162_; +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_tmp161_); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_tmp159_); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp156_); +#line 880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp152_); +#line 7812 "BatchImport.c" + } else { +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp163_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp163_ = _data_->prepared_file; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp164_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp164_ = _data_->_tmp163_->file; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp165_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp165_ = _data_->prepared_file; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp166_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp166_ = _data_->_tmp165_->full_md5; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp167_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp167_ = _data_->prepared_file; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp168_ = 0; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp168_ = _data_->_tmp167_->file_format; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp169_ = FALSE; +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp169_ = photo_is_duplicate (_data_->_tmp164_, NULL, _data_->_tmp166_, _data_->_tmp168_); +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp169_) { +#line 886 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp170_ = FALSE; +#line 886 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp170_ = _data_->self->priv->untrash_duplicates; +#line 886 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp170_) { +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp171_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp171_ = library_photo_global; +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp172_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp172_ = _data_->prepared_file; +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp173_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp173_ = _data_->_tmp172_->file; +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp174_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp174_ = library_photo_source_collection_get_trashed_by_file (_data_->_tmp171_, _data_->_tmp173_); +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo = _data_->_tmp174_; +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp176_ = NULL; +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp176_ = _data_->photo; +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp176_ == NULL) { +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp177_ = NULL; +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp177_ = _data_->prepared_file; +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp178_ = NULL; +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp178_ = _data_->_tmp177_->full_md5; +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp175_ = _data_->_tmp178_ != NULL; +#line 7886 "BatchImport.c" + } else { +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp175_ = FALSE; +#line 7890 "BatchImport.c" + } +#line 891 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp175_) { +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp179_ = NULL; +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp179_ = library_photo_global; +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp180_ = NULL; +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp180_ = _data_->prepared_file; +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp181_ = NULL; +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp181_ = _data_->_tmp180_->full_md5; +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp182_ = NULL; +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp182_ = library_photo_source_collection_get_trashed_by_md5 (_data_->_tmp179_, _data_->_tmp181_); +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 892 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo = _data_->_tmp182_; +#line 7914 "BatchImport.c" + } +#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp183_ = NULL; +#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp183_ = _data_->photo; +#line 894 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp183_ != NULL) { +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp184_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp184_ = _data_->prepared_file; +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp185_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp185_ = _data_->_tmp184_->file; +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp186_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp186_ = g_file_get_path (_data_->_tmp185_); +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp187_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp187_ = _data_->_tmp186_; +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:895: duplicate linked photo found in trash, untrashin" \ +"g and removing transforms for %s", _data_->_tmp187_); +#line 895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp187_); +#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp188_ = NULL; +#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp188_ = _data_->photo; +#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp189_ = NULL; +#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp189_ = _data_->prepared_file; +#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp190_ = NULL; +#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp190_ = _data_->_tmp189_->file; +#line 898 "/home/jens/Source/shotwell/src/BatchImport.vala" + monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp188_, TYPE_MONITORABLE, Monitorable), _data_->_tmp190_); +#line 899 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp191_ = NULL; +#line 899 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp191_ = _data_->photo; +#line 899 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_source_untrash (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp191_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 900 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp192_ = NULL; +#line 900 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp192_ = _data_->photo; +#line 900 "/home/jens/Source/shotwell/src/BatchImport.vala" + photo_remove_all_transformations (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp192_, TYPE_PHOTO, Photo)); +#line 7968 "BatchImport.c" + } + } +#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp194_ = NULL; +#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp194_ = _data_->photo; +#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp194_ == NULL) { +#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp195_ = FALSE; +#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp195_ = _data_->self->priv->mark_duplicates_online; +#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp193_ = _data_->_tmp195_; +#line 7983 "BatchImport.c" + } else { +#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp193_ = FALSE; +#line 7987 "BatchImport.c" + } +#line 904 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp193_) { +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp196_ = NULL; +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp196_ = library_photo_global; +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp197_ = NULL; +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp197_ = _data_->prepared_file; +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp198_ = NULL; +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp198_ = _data_->_tmp197_->file; +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp199_ = NULL; +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp199_ = library_photo_source_collection_get_offline_by_file (_data_->_tmp196_, _data_->_tmp198_); +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 906 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo = _data_->_tmp199_; +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp201_ = NULL; +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp201_ = _data_->photo; +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp201_ == NULL) { +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp202_ = NULL; +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp202_ = _data_->prepared_file; +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp203_ = NULL; +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp203_ = _data_->_tmp202_->full_md5; +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp200_ = _data_->_tmp203_ != NULL; +#line 8027 "BatchImport.c" + } else { +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp200_ = FALSE; +#line 8031 "BatchImport.c" + } +#line 908 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp200_) { +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp204_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp204_ = library_photo_global; +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp205_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp205_ = _data_->prepared_file; +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp206_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp206_ = _data_->_tmp205_->full_md5; +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp207_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp207_ = library_photo_source_collection_get_offline_by_md5 (_data_->_tmp204_, _data_->_tmp206_); +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo = _data_->_tmp207_; +#line 8055 "BatchImport.c" + } +#line 911 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp208_ = NULL; +#line 911 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp208_ = _data_->photo; +#line 911 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp208_ != NULL) { +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp209_ = NULL; +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp209_ = _data_->prepared_file; +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp210_ = NULL; +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp210_ = _data_->_tmp209_->file; +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp211_ = NULL; +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp211_ = g_file_get_path (_data_->_tmp210_); +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp212_ = NULL; +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp212_ = _data_->_tmp211_; +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:912: duplicate photo found marked offline, marking on" \ +"line: %s", _data_->_tmp212_); +#line 912 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp212_); +#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp213_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp213_ = _data_->photo; +#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp214_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp214_ = _data_->prepared_file; +#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp215_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp215_ = _data_->_tmp214_->file; +#line 915 "/home/jens/Source/shotwell/src/BatchImport.vala" + monitorable_set_master_file (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp213_, TYPE_MONITORABLE, Monitorable), _data_->_tmp215_); +#line 916 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp216_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp216_ = _data_->photo; +#line 916 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp216_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 8103 "BatchImport.c" + } + } +#line 920 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp217_ = NULL; +#line 920 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp217_ = _data_->photo; +#line 920 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp217_ != NULL) { +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp218_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp218_ = _data_->prepared_file; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp219_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp219_ = _data_->_tmp218_->job; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp220_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp220_ = _data_->prepared_file; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp221_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp221_ = _data_->_tmp220_->file; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp222_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp222_ = _data_->prepared_file; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp223_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp223_ = _data_->_tmp222_->file; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp224_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp224_ = g_file_get_path (_data_->_tmp223_); +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp225_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp225_ = _data_->_tmp224_; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp226_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp226_ = _data_->prepared_file; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp227_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp227_ = _data_->_tmp226_->file; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp228_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp228_ = g_file_get_path (_data_->_tmp227_); +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp229_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp229_ = _data_->_tmp228_; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp230_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp230_ = batch_import_result_new (_data_->_tmp219_, _data_->_tmp221_, _data_->_tmp225_, _data_->_tmp229_, NULL, IMPORT_RESULT_SUCCESS); +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->import_result = _data_->_tmp230_; +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp229_); +#line 921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp225_); +#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp231_ = NULL; +#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp231_ = _data_->self->priv->manifest; +#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp232_ = NULL; +#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp232_ = _data_->_tmp231_->imported; +#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp233_ = NULL; +#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp233_ = _data_->photo; +#line 925 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp232_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp233_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp234_ = NULL; +#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp234_ = _data_->self->priv->manifest; +#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp235_ = NULL; +#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp235_ = _data_->import_result; +#line 926 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_add_result (_data_->_tmp234_, _data_->_tmp235_); +#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp236_ = NULL; +#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp236_ = _data_->photo; +#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp237_ = 0ULL; +#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp237_ = media_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp236_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 928 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_progress (_data_->self, _data_->_tmp237_); +#line 929 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (_data_->self); +#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->video); +#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_data_->prepared_file); +#line 931 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 8218 "BatchImport.c" + } +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp238_ = NULL; +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp238_ = _data_->prepared_file; +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp239_ = NULL; +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp239_ = _data_->_tmp238_->file; +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp240_ = NULL; +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp240_ = g_file_get_path (_data_->_tmp239_); +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp241_ = NULL; +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp241_ = _data_->_tmp240_; +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:934: duplicate photo detected, not importing %s", _data_->_tmp241_); +#line 934 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp241_); +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp242_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp242_ = photo_table_get_instance (); +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp243_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp243_ = _data_->_tmp242_; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp244_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp244_ = _data_->prepared_file; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp245_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp245_ = _data_->_tmp244_->file; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp246_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp246_ = _data_->prepared_file; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp247_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp247_ = _data_->_tmp246_->full_md5; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp248_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp248_ = _data_->prepared_file; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp249_ = 0; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp249_ = _data_->_tmp248_->file_format; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp250_ = 0; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp251_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp251_ = photo_table_get_duplicate_ids (_data_->_tmp243_, _data_->_tmp245_, NULL, _data_->_tmp247_, _data_->_tmp249_, &_data_->_tmp250_); +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp252_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp252__length1 = 0; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp252_ = _data_->_tmp251_; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp252__length1 = _data_->_tmp250_; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _database_table_unref0 (_data_->_tmp243_); +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo_ids_length1 = 0; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_photo_ids_size_ = 0; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo_ids = _data_->_tmp252_; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo_ids_length1 = _data_->_tmp252__length1; +#line 936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_photo_ids_size_ = _data_->photo_ids_length1; +#line 939 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp253_ = NULL; +#line 939 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp253__length1 = 0; +#line 939 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp253_ = _data_->photo_ids; +#line 939 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp253__length1 = _data_->photo_ids_length1; +#line 939 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_data_->_tmp253__length1 > 0, "photo_ids.length > 0"); +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp254_ = NULL; +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp254__length1 = 0; +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp254_ = _data_->photo_ids; +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp254__length1 = _data_->photo_ids_length1; +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + memset (&_data_->_tmp255_, 0, sizeof (PhotoID)); +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp255_ = _data_->_tmp254_[0]; +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp256_ = NULL; +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp256_ = duplicated_file_create_from_photo_id (&_data_->_tmp255_); +#line 941 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_vala1_duplicated_file = _data_->_tmp256_; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp257_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp257_ = _data_->prepared_file; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp258_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp258_ = _data_->_tmp257_->job; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp259_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp259_ = _data_->prepared_file; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp260_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp260_ = _data_->_tmp259_->file; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp261_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp261_ = _data_->prepared_file; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp262_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp262_ = _data_->_tmp261_->file; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp263_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp263_ = g_file_get_path (_data_->_tmp262_); +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp264_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp264_ = _data_->_tmp263_; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp265_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp265_ = _data_->prepared_file; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp266_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp266_ = _data_->_tmp265_->file; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp267_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp267_ = g_file_get_path (_data_->_tmp266_); +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp268_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp268_ = _data_->_tmp267_; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp269_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp269_ = _data_->_vala1_duplicated_file; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp270_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp270_ = batch_import_result_new (_data_->_tmp258_, _data_->_tmp260_, _data_->_tmp264_, _data_->_tmp268_, _data_->_tmp269_, IMPORT_RESULT_PHOTO_EXISTS); +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->import_result = _data_->_tmp270_; +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp268_); +#line 943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_data_->_tmp264_); +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_vala1_duplicated_file); +#line 884 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->photo_ids = (g_free (_data_->photo_ids), NULL); +#line 8394 "BatchImport.c" + } + } +#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp271_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp271_ = _data_->import_result; +#line 948 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_tmp271_ != NULL) { +#line 949 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp272_ = NULL; +#line 949 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp272_ = _data_->import_result; +#line 949 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (_data_->self, _data_->_tmp272_); +#line 950 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (_data_->self); +#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->video); +#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_data_->prepared_file); +#line 952 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 8421 "BatchImport.c" + } +#line 955 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_progress (_data_->self, (guint64) 0); +#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp273_ = NULL; +#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp273_ = _data_->self->priv->ready_files; +#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp274_ = NULL; +#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _data_->_tmp274_ = _data_->prepared_file; +#line 956 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp273_, GEE_TYPE_COLLECTION, GeeCollection), _data_->_tmp274_); +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->video); +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->photo); +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_data_->import_result); +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_data_->prepared_file); +#line 8443 "BatchImport.c" + } +#line 758 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_data_->_prepared_file_list); +#line 8447 "BatchImport.c" + } +#line 959 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_flush_import_jobs (_data_->self); +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_data_->_state_ == 0) { +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 8455 "BatchImport.c" + } else { +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 8459 "BatchImport.c" + } +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_object_unref (_data_->_async_result); +#line 757 "/home/jens/Source/shotwell/src/BatchImport.vala" + return FALSE; +#line 8465 "BatchImport.c" +} + + +static void batch_import_done_preparing_files (BatchImport* self, BackgroundJob* j, const gchar* caller) { + gboolean _tmp0_ = FALSE; + PrepareFilesJob* prepare_files_job = NULL; + BackgroundJob* _tmp1_ = NULL; + PrepareFilesJob* _tmp2_ = NULL; + PrepareFilesJob* _tmp3_ = NULL; + PrepareFilesJob* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gint _tmp10_ = 0; +#line 962 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 962 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 962 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (caller != NULL); +#line 963 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 963 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (!_tmp0_, "!completed"); +#line 965 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = j; +#line 965 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PREPARE_FILES_JOB, PrepareFilesJob)); +#line 965 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepare_files_job = _tmp2_; +#line 967 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = prepare_files_job; +#line 967 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failures (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob)); +#line 970 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = prepare_files_job; +#line 970 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_->prepared_files; +#line 970 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->file_imports_to_perform = _tmp5_; +#line 971 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = self->priv->file_imports_to_perform; +#line 971 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = self->priv->file_imports_completed; +#line 971 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp6_ >= _tmp7_, "file_imports_to_perform >= file_imports_completed"); +#line 973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = caller; +#line 973 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, _tmp8_); +#line 976 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_flush_import_jobs (self); +#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = self->priv->file_imports_to_perform; +#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp10_ == 0) { +#line 8524 "BatchImport.c" + gboolean _tmp11_ = FALSE; +#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = self->priv->completed; +#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = !_tmp11_; +#line 8530 "BatchImport.c" + } else { +#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = FALSE; +#line 8534 "BatchImport.c" + } +#line 980 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp9_) { +#line 981 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_completed (self, "no files prepared for import"); +#line 8540 "BatchImport.c" + } else { + gboolean _tmp12_ = FALSE; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = self->priv->file_imports_completed; +#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = self->priv->file_imports_to_perform; +#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp13_ == _tmp14_) { +#line 8551 "BatchImport.c" + gboolean _tmp15_ = FALSE; +#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = self->priv->completed; +#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = !_tmp15_; +#line 8557 "BatchImport.c" + } else { +#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = FALSE; +#line 8561 "BatchImport.c" + } +#line 982 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp12_) { +#line 983 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_completed (self, "completed preparing files, all outstanding imports completed"); +#line 8567 "BatchImport.c" + } + } +#line 962 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (prepare_files_job); +#line 8572 "BatchImport.c" +} + + +static void batch_import_on_files_prepared (BatchImport* self, BackgroundJob* j) { + BackgroundJob* _tmp0_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 986 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 987 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = j; +#line 987 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_done_preparing_files (self, _tmp0_, "on_files_prepared"); +#line 8586 "BatchImport.c" +} + + +static void batch_import_on_file_prepare_cancelled (BatchImport* self, BackgroundJob* j) { + BackgroundJob* _tmp0_ = NULL; +#line 990 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 990 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 991 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = j; +#line 991 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_done_preparing_files (self, _tmp0_, "on_file_prepare_cancelled"); +#line 8600 "BatchImport.c" +} + + +static void batch_import_on_import_files_completed (BatchImport* self, BackgroundJob* j) { + gboolean _tmp0_ = FALSE; + PreparedFileImportJob* job = NULL; + BackgroundJob* _tmp1_ = NULL; + PreparedFileImportJob* _tmp2_ = NULL; + PreparedFileImportJob* _tmp3_ = NULL; + PreparedFile* _tmp4_ = NULL; + PreparedFileImportJob* _tmp5_ = NULL; + BatchImportResult* _tmp6_ = NULL; + PreparedFileImportJob* _tmp12_ = NULL; + ReadyForImport* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 998 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 998 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 999 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (!_tmp0_, "!completed"); +#line 1001 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = j; +#line 1001 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob)); +#line 1001 "/home/jens/Source/shotwell/src/BatchImport.vala" + job = _tmp2_; +#line 1003 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, "on_import_files_completed"); +#line 1006 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = job; +#line 1006 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp3_->not_ready; +#line 1006 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp4_ == NULL, "job.not_ready == null"); +#line 1009 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = job; +#line 1009 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _tmp5_->failed; +#line 1009 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp6_ != NULL) { +#line 8644 "BatchImport.c" + PreparedFileImportJob* _tmp7_ = NULL; + BatchImportResult* _tmp8_ = NULL; + ImportResult _tmp9_ = 0; + PreparedFileImportJob* _tmp10_ = NULL; + BatchImportResult* _tmp11_ = NULL; +#line 1010 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = job; +#line 1010 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp7_->failed; +#line 1010 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp8_->result; +#line 1010 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp9_ != IMPORT_RESULT_SUCCESS, "job.failed.result != ImportResult.SUCCESS"); +#line 1012 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = job; +#line 1012 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _tmp10_->failed; +#line 1012 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (self, _tmp11_); +#line 1013 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (self); +#line 8666 "BatchImport.c" + } +#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = job; +#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_->ready; +#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp13_ != NULL) { +#line 8674 "BatchImport.c" + PreparedFileImportJob* _tmp14_ = NULL; + ReadyForImport* _tmp15_ = NULL; + BatchImportResult* _tmp16_ = NULL; + ImportResult _tmp17_ = 0; + Tombstone* tombstone = NULL; + TombstoneSourceCollection* _tmp18_ = NULL; + PreparedFileImportJob* _tmp19_ = NULL; + ReadyForImport* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + Tombstone* _tmp22_ = NULL; + Tombstone* _tmp23_ = NULL; + MediaSource* source = NULL; + PreparedFileImportJob* _tmp26_ = NULL; + ReadyForImport* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + PreparedFileImportJob* _tmp87_ = NULL; + ReadyForImport* _tmp88_ = NULL; + BatchImportResult* _tmp89_ = NULL; + ImportResult _tmp90_ = 0; +#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = job; +#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_->ready; +#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = _tmp15_->batch_result; +#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp16_->result; +#line 1019 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp17_ == IMPORT_RESULT_SUCCESS, "job.ready.batch_result.result == ImportResult.SUCCESS"); +#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = tombstone_global; +#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = job; +#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp19_->ready; +#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = _tmp20_->final_file; +#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = tombstone_source_collection_locate (_tmp18_, _tmp21_); +#line 1021 "/home/jens/Source/shotwell/src/BatchImport.vala" + tombstone = _tmp22_; +#line 1022 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = tombstone; +#line 1022 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp23_ != NULL) { +#line 8720 "BatchImport.c" + TombstoneSourceCollection* _tmp24_ = NULL; + Tombstone* _tmp25_ = NULL; +#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = tombstone_global; +#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = tombstone; +#line 1023 "/home/jens/Source/shotwell/src/BatchImport.vala" + tombstone_source_collection_resurrect (_tmp24_, _tmp25_); +#line 8729 "BatchImport.c" + } +#line 1026 "/home/jens/Source/shotwell/src/BatchImport.vala" + source = NULL; +#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = job; +#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = _tmp26_->ready; +#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _tmp27_->is_video; +#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp28_) { +#line 8741 "BatchImport.c" + PreparedFileImportJob* _tmp29_ = NULL; + ReadyForImport* _tmp30_ = NULL; + BatchImportResult* _tmp31_ = NULL; + PreparedFileImportJob* _tmp32_ = NULL; + ReadyForImport* _tmp33_ = NULL; + VideoImportParams* _tmp34_ = NULL; + Video* _tmp35_ = NULL; + ImportResult _tmp36_ = 0; +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = job; +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _tmp29_->ready; +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = _tmp30_->batch_result; +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = job; +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = _tmp32_->ready; +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = _tmp33_->video_import_params; +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = video_import_create (_tmp34_, &_tmp35_); +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (source); +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + source = G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_MEDIA_SOURCE, MediaSource); +#line 1028 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_->result = _tmp36_; +#line 8770 "BatchImport.c" + } else { + PreparedFileImportJob* _tmp37_ = NULL; + ReadyForImport* _tmp38_ = NULL; + BatchImportResult* _tmp39_ = NULL; + PreparedFileImportJob* _tmp40_ = NULL; + ReadyForImport* _tmp41_ = NULL; + PhotoImportParams* _tmp42_ = NULL; + LibraryPhoto* _tmp43_ = NULL; + ImportResult _tmp44_ = 0; + Photo* photo = NULL; + MediaSource* _tmp45_ = NULL; + Photo* _tmp46_ = NULL; + PreparedFileImportJob* _tmp47_ = NULL; + ReadyForImport* _tmp48_ = NULL; + PhotoImportParams* _tmp49_ = NULL; + GFile* _tmp50_ = NULL; + Photo* _tmp72_ = NULL; + PhotoFileFormat _tmp73_ = 0; +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = job; +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = _tmp37_->ready; +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = _tmp38_->batch_result; +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = job; +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = _tmp40_->ready; +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = _tmp41_->photo_import_params; +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = library_photo_import_create (_tmp42_, &_tmp43_); +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (source); +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + source = G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_MEDIA_SOURCE, MediaSource); +#line 1031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_->result = _tmp44_; +#line 1033 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = source; +#line 1033 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp45_, TYPE_PHOTO) ? ((Photo*) _tmp45_) : NULL); +#line 1033 "/home/jens/Source/shotwell/src/BatchImport.vala" + photo = _tmp46_; +#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = job; +#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = _tmp47_->ready; +#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = _tmp48_->photo_import_params; +#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = _tmp49_->final_associated_file; +#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp50_ != NULL) { +#line 8825 "BatchImport.c" + BackingPhotoRow* bpr = NULL; + BackingPhotoRow* _tmp51_ = NULL; + BackingPhotoRow* _tmp52_ = NULL; + BackingPhotoRow* _tmp53_ = NULL; + PreparedFileImportJob* _tmp54_ = NULL; + ReadyForImport* _tmp55_ = NULL; + PhotoImportParams* _tmp56_ = NULL; + GFile* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + MediaSource* _tmp59_ = NULL; + GFile* _tmp60_ = NULL; + GFile* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + BackingPhotoRow* _tmp64_ = NULL; + const gchar* _tmp65_ = NULL; +#line 1037 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = backing_photo_row_new (); +#line 1037 "/home/jens/Source/shotwell/src/BatchImport.vala" + bpr = _tmp51_; +#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp52_ = bpr; +#line 1038 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp52_->file_format = PHOTO_FILE_FORMAT_JFIF; +#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp53_ = bpr; +#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp54_ = job; +#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp55_ = _tmp54_->ready; +#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp56_ = _tmp55_->photo_import_params; +#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp57_ = _tmp56_->final_associated_file; +#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp58_ = g_file_get_path (_tmp57_); +#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp53_->filepath); +#line 1039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp53_->filepath = _tmp58_; +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp59_ = source; +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp60_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, TYPE_PHOTO, Photo), TYPE_MEDIA_SOURCE, MediaSource)); +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp61_ = _tmp60_; +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp62_ = g_file_get_path (_tmp61_); +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp63_ = _tmp62_; +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp64_ = bpr; +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp65_ = _tmp64_->filepath; +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:1040: Associating %s with sibling %s", _tmp63_, _tmp65_); +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp63_); +#line 1040 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp61_); +#line 8886 "BatchImport.c" + { + MediaSource* _tmp66_ = NULL; + BackingPhotoRow* _tmp67_ = NULL; +#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp66_ = source; +#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp67_ = bpr; +#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala" + photo_add_backing_photo_for_development (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, TYPE_PHOTO, Photo), RAW_DEVELOPER_CAMERA, _tmp67_, &_inner_error_); +#line 1043 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8898 "BatchImport.c" + goto __catch398_g_error; + } + } + goto __finally398; + __catch398_g_error: + { + GError* e = NULL; + BackingPhotoRow* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; + GError* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + e = _inner_error_; +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp68_ = bpr; +#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp69_ = _tmp68_->filepath; +#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp70_ = e; +#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp71_ = _tmp70_->message; +#line 1045 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1045: Unable to associate JPEG with RAW. File: %s Err" \ +"or: %s", _tmp69_, _tmp71_); +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (e); +#line 8926 "BatchImport.c" + } + __finally398: +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + _backing_photo_row_unref0 (bpr); +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (photo); +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (source); +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (tombstone); +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (job); +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.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 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1042 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 8947 "BatchImport.c" + } +#line 1035 "/home/jens/Source/shotwell/src/BatchImport.vala" + _backing_photo_row_unref0 (bpr); +#line 8951 "BatchImport.c" + } +#line 1051 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp72_ = photo; +#line 1051 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp73_ = photo_get_master_file_format (_tmp72_); +#line 1051 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp73_ == PHOTO_FILE_FORMAT_RAW) { +#line 8959 "BatchImport.c" + RawDeveloper d = 0; + ConfigFacade* _tmp74_ = NULL; + ConfigFacade* _tmp75_ = NULL; + RawDeveloper _tmp76_ = 0; + RawDeveloper _tmp77_ = 0; + gboolean _tmp78_ = FALSE; + RawDeveloper _tmp79_ = 0; + Photo* _tmp83_ = NULL; + RawDeveloper _tmp84_ = 0; + Photo* _tmp85_ = NULL; + RawDeveloper _tmp86_ = 0; +#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp74_ = config_facade_get_instance (); +#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp75_ = _tmp74_; +#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp76_ = configuration_facade_get_default_raw_developer (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp77_ = _tmp76_; +#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp75_); +#line 1052 "/home/jens/Source/shotwell/src/BatchImport.vala" + d = _tmp77_; +#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp79_ = d; +#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp79_ == RAW_DEVELOPER_CAMERA) { +#line 8987 "BatchImport.c" + Photo* _tmp80_ = NULL; + RawDeveloper _tmp81_ = 0; + gboolean _tmp82_ = FALSE; +#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp80_ = photo; +#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp81_ = d; +#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp82_ = photo_is_raw_developer_available (_tmp80_, _tmp81_); +#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp78_ = !_tmp82_; +#line 8999 "BatchImport.c" + } else { +#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp78_ = FALSE; +#line 9003 "BatchImport.c" + } +#line 1053 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp78_) { +#line 1054 "/home/jens/Source/shotwell/src/BatchImport.vala" + d = RAW_DEVELOPER_EMBEDDED; +#line 9009 "BatchImport.c" + } +#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp83_ = photo; +#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp84_ = d; +#line 1056 "/home/jens/Source/shotwell/src/BatchImport.vala" + photo_set_default_raw_developer (_tmp83_, _tmp84_); +#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp85_ = photo; +#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp86_ = d; +#line 1057 "/home/jens/Source/shotwell/src/BatchImport.vala" + photo_set_raw_developer (_tmp85_, _tmp86_); +#line 9023 "BatchImport.c" + } +#line 1027 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (photo); +#line 9027 "BatchImport.c" + } +#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp87_ = job; +#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp88_ = _tmp87_->ready; +#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp89_ = _tmp88_->batch_result; +#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp90_ = _tmp89_->result; +#line 1061 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp90_ != IMPORT_RESULT_SUCCESS) { +#line 9039 "BatchImport.c" + PreparedFileImportJob* _tmp91_ = NULL; + ReadyForImport* _tmp92_ = NULL; + BatchImportResult* _tmp93_ = NULL; + ImportResult _tmp94_ = 0; + gchar* _tmp95_ = NULL; + gchar* _tmp96_ = NULL; + PreparedFileImportJob* _tmp97_ = NULL; + ReadyForImport* _tmp98_ = NULL; + BatchImportResult* _tmp99_ = NULL; +#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp91_ = job; +#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp92_ = _tmp91_->ready; +#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp93_ = _tmp92_->batch_result; +#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp94_ = _tmp93_->result; +#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp95_ = import_result_to_string (_tmp94_); +#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp96_ = _tmp95_; +#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:1062: on_import_file_completed: %s", _tmp96_); +#line 1062 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp96_); +#line 1064 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp97_ = job; +#line 1064 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp98_ = _tmp97_->ready; +#line 1064 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp99_ = _tmp98_->batch_result; +#line 1064 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (self, _tmp99_); +#line 1065 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (self); +#line 9075 "BatchImport.c" + } else { + GeeList* _tmp100_ = NULL; + MediaSource* _tmp101_ = NULL; + PreparedFileImportJob* _tmp102_ = NULL; + ReadyForImport* _tmp103_ = NULL; + Thumbnails* _tmp104_ = NULL; + Thumbnails* _tmp105_ = NULL; + PreparedFileImportJob* _tmp106_ = NULL; + ReadyForImport* _tmp107_ = NULL; + PreparedFile* _tmp108_ = NULL; + BatchImportJob* _tmp109_ = NULL; + PreparedFileImportJob* _tmp110_ = NULL; + ReadyForImport* _tmp111_ = NULL; + BatchImportResult* _tmp112_ = NULL; + CompletedImportObject* _tmp113_ = NULL; + CompletedImportObject* _tmp114_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp100_ = self->priv->ready_thumbnails; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp101_ = source; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp102_ = job; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp103_ = _tmp102_->ready; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp104_ = ready_for_import_get_thumbnails (_tmp103_); +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp105_ = _tmp104_; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp106_ = job; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp107_ = _tmp106_->ready; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp108_ = _tmp107_->prepared_file; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp109_ = _tmp108_->job; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp110_ = job; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp111_ = _tmp110_->ready; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp112_ = _tmp111_->batch_result; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp113_ = completed_import_object_new (_tmp101_, _tmp105_, _tmp109_, _tmp112_); +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp114_ = _tmp113_; +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, GEE_TYPE_COLLECTION, GeeCollection), _tmp114_); +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_import_object_unref0 (_tmp114_); +#line 1067 "/home/jens/Source/shotwell/src/BatchImport.vala" + _thumbnails_unref0 (_tmp105_); +#line 9128 "BatchImport.c" + } +#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (source); +#line 1018 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (tombstone); +#line 9134 "BatchImport.c" + } +#line 1072 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_flush_import_jobs (self); +#line 998 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (job); +#line 9140 "BatchImport.c" +} + + +static void batch_import_on_import_files_cancelled (BatchImport* self, BackgroundJob* j) { + gboolean _tmp0_ = FALSE; + PreparedFileImportJob* job = NULL; + BackgroundJob* _tmp1_ = NULL; + PreparedFileImportJob* _tmp2_ = NULL; + PreparedFileImportJob* _tmp3_ = NULL; + PreparedFile* _tmp4_ = NULL; + PreparedFileImportJob* _tmp23_ = NULL; + BatchImportResult* _tmp24_ = NULL; + PreparedFileImportJob* _tmp27_ = NULL; + ReadyForImport* _tmp28_ = NULL; +#line 1075 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 1075 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1076 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 1076 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (!_tmp0_, "!completed"); +#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = j; +#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob)); +#line 1078 "/home/jens/Source/shotwell/src/BatchImport.vala" + job = _tmp2_; +#line 1080 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, "on_import_files_cancelled"); +#line 1082 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = job; +#line 1082 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp3_->not_ready; +#line 1082 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp4_ != NULL) { +#line 9177 "BatchImport.c" + PreparedFileImportJob* _tmp5_ = NULL; + PreparedFile* _tmp6_ = NULL; + BatchImportJob* _tmp7_ = NULL; + PreparedFileImportJob* _tmp8_ = NULL; + PreparedFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + PreparedFileImportJob* _tmp11_ = NULL; + PreparedFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + PreparedFileImportJob* _tmp16_ = NULL; + PreparedFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + BatchImportResult* _tmp21_ = NULL; + BatchImportResult* _tmp22_ = NULL; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = job; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _tmp5_->not_ready; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_->job; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = job; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp8_->not_ready; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _tmp9_->file; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = job; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = _tmp11_->not_ready; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_->file; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = job; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp16_->not_ready; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = _tmp17_->file; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = g_file_get_path (_tmp18_); +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp19_; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = batch_import_result_new (_tmp7_, _tmp10_, _tmp15_, _tmp20_, NULL, IMPORT_RESULT_USER_ABORT); +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = _tmp21_; +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (self, _tmp22_); +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_tmp22_); +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp20_); +#line 1083 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp15_); +#line 1086 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (self); +#line 9242 "BatchImport.c" + } +#line 1089 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = job; +#line 1089 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = _tmp23_->failed; +#line 1089 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp24_ != NULL) { +#line 9250 "BatchImport.c" + PreparedFileImportJob* _tmp25_ = NULL; + BatchImportResult* _tmp26_ = NULL; +#line 1090 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = job; +#line 1090 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = _tmp25_->failed; +#line 1090 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (self, _tmp26_); +#line 1091 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (self); +#line 9261 "BatchImport.c" + } +#line 1094 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = job; +#line 1094 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _tmp27_->ready; +#line 1094 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp28_ != NULL) { +#line 9269 "BatchImport.c" + PreparedFileImportJob* _tmp29_ = NULL; + ReadyForImport* _tmp30_ = NULL; + BatchImportResult* _tmp31_ = NULL; + BatchImportResult* _tmp32_ = NULL; +#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = job; +#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _tmp29_->ready; +#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = ready_for_import_abort (_tmp30_); +#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = _tmp31_; +#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (self, _tmp32_); +#line 1095 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_tmp32_); +#line 1096 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (self); +#line 9288 "BatchImport.c" + } +#line 1099 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_flush_import_jobs (self); +#line 1075 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (job); +#line 9294 "BatchImport.c" +} + + +static gpointer _completed_import_object_ref0 (gpointer self) { +#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? completed_import_object_ref (self) : NULL; +#line 9301 "BatchImport.c" +} + + +static void batch_import_on_thumbnail_writer_completed (BatchImport* self, BackgroundJob* j) { + gboolean _tmp0_ = FALSE; + ThumbnailWriterJob* job = NULL; + BackgroundJob* _tmp1_ = NULL; + ThumbnailWriterJob* _tmp2_ = NULL; + CompletedImportObject* completed = NULL; + ThumbnailWriterJob* _tmp3_ = NULL; + CompletedImportObject* _tmp4_ = NULL; + CompletedImportObject* _tmp5_ = NULL; + CompletedImportObject* _tmp6_ = NULL; + BatchImportResult* _tmp7_ = NULL; + ImportResult _tmp8_ = 0; +#line 1109 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 1109 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1110 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 1110 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (!_tmp0_, "!completed"); +#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = j; +#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob)); +#line 1112 "/home/jens/Source/shotwell/src/BatchImport.vala" + job = _tmp2_; +#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = job; +#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp3_->completed_import_source; +#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _completed_import_object_ref0 (_tmp4_); +#line 1113 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed = _tmp5_; +#line 1115 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, "on_thumbnail_writer_completed"); +#line 1117 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = completed; +#line 1117 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_->batch_result; +#line 1117 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp7_->result; +#line 1117 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp8_ != IMPORT_RESULT_SUCCESS) { +#line 9349 "BatchImport.c" + CompletedImportObject* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + CompletedImportObject* _tmp13_ = NULL; + BatchImportResult* _tmp14_ = NULL; + ImportResult _tmp15_ = 0; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + CompletedImportObject* _tmp18_ = NULL; + MediaSource* _tmp19_ = NULL; + CompletedImportObject* _tmp26_ = NULL; + BatchImportResult* _tmp27_ = NULL; +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = completed; +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _tmp9_->source; +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = _tmp11_; +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = completed; +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = _tmp13_->batch_result; +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_->result; +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = import_result_to_string (_tmp15_); +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp16_; +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1118: Failed to import %s: unable to write thumbnails" \ +" (%s)", _tmp12_, _tmp17_); +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp17_); +#line 1118 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp12_); +#line 1121 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = completed; +#line 1121 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = _tmp18_->source; +#line 1121 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_LIBRARY_PHOTO)) { +#line 9393 "BatchImport.c" + CompletedImportObject* _tmp20_ = NULL; + MediaSource* _tmp21_ = NULL; +#line 1122 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = completed; +#line 1122 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = _tmp20_->source; +#line 1122 "/home/jens/Source/shotwell/src/BatchImport.vala" + library_photo_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp21_) : NULL); +#line 9402 "BatchImport.c" + } else { + CompletedImportObject* _tmp22_ = NULL; + MediaSource* _tmp23_ = NULL; +#line 1123 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = completed; +#line 1123 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = _tmp22_->source; +#line 1123 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, TYPE_VIDEO)) { +#line 9412 "BatchImport.c" + CompletedImportObject* _tmp24_ = NULL; + MediaSource* _tmp25_ = NULL; +#line 1124 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = completed; +#line 1124 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = _tmp24_->source; +#line 1124 "/home/jens/Source/shotwell/src/BatchImport.vala" + video_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, TYPE_VIDEO) ? ((Video*) _tmp25_) : NULL); +#line 9421 "BatchImport.c" + } + } +#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = completed; +#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = _tmp26_->batch_result; +#line 1126 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (self, _tmp27_); +#line 1127 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (self); +#line 9432 "BatchImport.c" + } else { + ImportManifest* _tmp28_ = NULL; + GeeList* _tmp29_ = NULL; + CompletedImportObject* _tmp30_ = NULL; + MediaSource* _tmp31_ = NULL; + ImportManifest* _tmp32_ = NULL; + CompletedImportObject* _tmp33_ = NULL; + BatchImportResult* _tmp34_ = NULL; + GeeList* _tmp35_ = NULL; + CompletedImportObject* _tmp36_ = NULL; +#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = self->priv->manifest; +#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = _tmp28_->imported; +#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = completed; +#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = _tmp30_->source; +#line 1129 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection), _tmp31_); +#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = self->priv->manifest; +#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = completed; +#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = _tmp33_->batch_result; +#line 1130 "/home/jens/Source/shotwell/src/BatchImport.vala" + import_manifest_add_result (_tmp32_, _tmp34_); +#line 1132 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = self->priv->display_imported_queue; +#line 1132 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = completed; +#line 1132 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection), _tmp36_); +#line 9467 "BatchImport.c" + } +#line 1135 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_flush_import_jobs (self); +#line 1109 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_import_object_unref0 (completed); +#line 1109 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (job); +#line 9475 "BatchImport.c" +} + + +static void batch_import_on_thumbnail_writer_cancelled (BatchImport* self, BackgroundJob* j) { + gboolean _tmp0_ = FALSE; + ThumbnailWriterJob* job = NULL; + BackgroundJob* _tmp1_ = NULL; + ThumbnailWriterJob* _tmp2_ = NULL; + CompletedImportObject* completed = NULL; + ThumbnailWriterJob* _tmp3_ = NULL; + CompletedImportObject* _tmp4_ = NULL; + CompletedImportObject* _tmp5_ = NULL; + CompletedImportObject* _tmp6_ = NULL; + MediaSource* _tmp7_ = NULL; + CompletedImportObject* _tmp14_ = NULL; + BatchImportResult* _tmp15_ = NULL; +#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1139 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->completed; +#line 1139 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (!_tmp0_, "!completed"); +#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = j; +#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob)); +#line 1141 "/home/jens/Source/shotwell/src/BatchImport.vala" + job = _tmp2_; +#line 1142 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = job; +#line 1142 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp3_->completed_import_source; +#line 1142 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _completed_import_object_ref0 (_tmp4_); +#line 1142 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed = _tmp5_; +#line 1144 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, "on_thumbnail_writer_cancelled"); +#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = completed; +#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_->source; +#line 1146 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_LIBRARY_PHOTO)) { +#line 9522 "BatchImport.c" + CompletedImportObject* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; +#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = completed; +#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp8_->source; +#line 1147 "/home/jens/Source/shotwell/src/BatchImport.vala" + library_photo_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp9_) : NULL); +#line 9531 "BatchImport.c" + } else { + CompletedImportObject* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; +#line 1148 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = completed; +#line 1148 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _tmp10_->source; +#line 1148 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_VIDEO)) { +#line 9541 "BatchImport.c" + CompletedImportObject* _tmp12_ = NULL; + MediaSource* _tmp13_ = NULL; +#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = completed; +#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_->source; +#line 1149 "/home/jens/Source/shotwell/src/BatchImport.vala" + video_import_failed (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_VIDEO) ? ((Video*) _tmp13_) : NULL); +#line 9550 "BatchImport.c" + } + } +#line 1151 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = completed; +#line 1151 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_->batch_result; +#line 1151 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_failure (self, _tmp15_); +#line 1152 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (self); +#line 1154 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_flush_import_jobs (self); +#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_import_object_unref0 (completed); +#line 1138 "/home/jens/Source/shotwell/src/BatchImport.vala" + _background_job_unref0 (job); +#line 9567 "BatchImport.c" +} + + +static void batch_import_flush_ready_sources (BatchImport* self) { + GeeList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GeeArrayList* all = NULL; + GeeArrayList* _tmp8_ = NULL; + GeeArrayList* photos = NULL; + GeeArrayList* _tmp9_ = NULL; + GeeArrayList* videos = NULL; + GeeArrayList* _tmp10_ = NULL; + GeeHashMap* completion_list = NULL; + GeeHashMap* _tmp11_ = NULL; + MediaCollectionRegistry* _tmp41_ = NULL; + MediaCollectionRegistry* _tmp42_ = NULL; + EventSourceCollection* _tmp43_ = NULL; + TagSourceCollection* _tmp44_ = NULL; + LibraryPhotoSourceCollection* _tmp45_ = NULL; + GeeArrayList* _tmp46_ = NULL; + VideoSourceCollection* _tmp47_ = NULL; + GeeArrayList* _tmp48_ = NULL; + GeeArrayList* _tmp70_ = NULL; + BatchImportRoll* _tmp71_ = NULL; + ViewCollection* _tmp72_ = NULL; + TagSourceCollection* _tmp73_ = NULL; + EventSourceCollection* _tmp74_ = NULL; + MediaCollectionRegistry* _tmp75_ = NULL; + MediaCollectionRegistry* _tmp76_ = NULL; + GeeList* _tmp77_ = NULL; + GError * _inner_error_ = NULL; +#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT (self)); +#line 1162 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->ready_sources; +#line 1162 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1162 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _tmp1_; +#line 1162 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp2_ == 0) { +#line 1163 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 9617 "BatchImport.c" + } +#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = self->priv->ready_sources; +#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_; +#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = g_strdup_printf ("flush_ready_sources (%d)", _tmp5_); +#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_; +#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, _tmp7_); +#line 1168 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp7_); +#line 1170 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1170 "/home/jens/Source/shotwell/src/BatchImport.vala" + all = _tmp8_; +#line 1171 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1171 "/home/jens/Source/shotwell/src/BatchImport.vala" + photos = _tmp9_; +#line 1172 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1172 "/home/jens/Source/shotwell/src/BatchImport.vala" + videos = _tmp10_; +#line 1173 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_BATCH_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1173 "/home/jens/Source/shotwell/src/BatchImport.vala" + completion_list = _tmp11_; +#line 9649 "BatchImport.c" + { + GeeList* _completed_list = NULL; + GeeList* _tmp12_ = NULL; + GeeList* _tmp13_ = NULL; + gint _completed_size = 0; + GeeList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _completed_index = 0; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = self->priv->ready_sources; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_list = _tmp13_; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = _completed_list; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = _tmp15_; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_size = _tmp16_; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_index = -1; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 9677 "BatchImport.c" + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + CompletedImportObject* completed = NULL; + GeeList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gpointer _tmp22_ = NULL; + GeeArrayList* _tmp23_ = NULL; + CompletedImportObject* _tmp24_ = NULL; + MediaSource* _tmp25_ = NULL; + CompletedImportObject* _tmp26_ = NULL; + MediaSource* _tmp27_ = NULL; + GeeHashMap* _tmp36_ = NULL; + CompletedImportObject* _tmp37_ = NULL; + MediaSource* _tmp38_ = NULL; + CompletedImportObject* _tmp39_ = NULL; + BatchImportJob* _tmp40_ = NULL; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _completed_index; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_index = _tmp17_ + 1; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = _completed_index; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = _completed_size; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp18_ < _tmp19_)) { +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 9707 "BatchImport.c" + } +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _completed_list; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = _completed_index; +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = gee_list_get (_tmp20_, _tmp21_); +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed = (CompletedImportObject*) _tmp22_; +#line 1176 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = all; +#line 1176 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = completed; +#line 1176 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = _tmp24_->source; +#line 1176 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp25_); +#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = completed; +#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = _tmp26_->source; +#line 1178 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, TYPE_LIBRARY_PHOTO)) { +#line 9731 "BatchImport.c" + GeeArrayList* _tmp28_ = NULL; + CompletedImportObject* _tmp29_ = NULL; + MediaSource* _tmp30_ = NULL; +#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = photos; +#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = completed; +#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _tmp29_->source; +#line 1179 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 9743 "BatchImport.c" + } else { + CompletedImportObject* _tmp31_ = NULL; + MediaSource* _tmp32_ = NULL; +#line 1180 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = completed; +#line 1180 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = _tmp31_->source; +#line 1180 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, TYPE_VIDEO)) { +#line 9753 "BatchImport.c" + GeeArrayList* _tmp33_ = NULL; + CompletedImportObject* _tmp34_ = NULL; + MediaSource* _tmp35_ = NULL; +#line 1181 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = videos; +#line 1181 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = completed; +#line 1181 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = _tmp34_->source; +#line 1181 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_VIDEO, Video)); +#line 9765 "BatchImport.c" + } + } +#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = completion_list; +#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = completed; +#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = _tmp37_->source; +#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = completed; +#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = _tmp39_->original_job; +#line 1183 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp38_, _tmp40_); +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_import_object_unref0 (completed); +#line 9782 "BatchImport.c" + } +#line 1175 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_completed_list); +#line 9786 "BatchImport.c" + } +#line 1186 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = media_collection_registry_get_instance (); +#line 1186 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = _tmp41_; +#line 1186 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_collection_registry_begin_transaction_on_all (_tmp42_); +#line 1186 "/home/jens/Source/shotwell/src/BatchImport.vala" + _media_collection_registry_unref0 (_tmp42_); +#line 1187 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = event_global; +#line 1187 "/home/jens/Source/shotwell/src/BatchImport.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1188 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = tag_global; +#line 1188 "/home/jens/Source/shotwell/src/BatchImport.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1190 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = library_photo_global; +#line 1190 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = photos; +#line 1190 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_source_collection_import_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1191 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = video_global; +#line 1191 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = videos; +#line 1191 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_source_collection_import_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 9816 "BatchImport.c" + { + GeeIterator* _media_it = NULL; + GeeHashMap* _tmp49_ = NULL; + GeeSet* _tmp50_ = NULL; + GeeSet* _tmp51_ = NULL; + GeeSet* _tmp52_ = NULL; + GeeIterator* _tmp53_ = NULL; + GeeIterator* _tmp54_ = NULL; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = completion_list; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_MAP, GeeMap)); +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = _tmp50_; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp52_ = _tmp51_; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp53_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp54_ = _tmp53_; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp52_); +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _media_it = _tmp54_; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 9843 "BatchImport.c" + GeeIterator* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp57_ = NULL; + gpointer _tmp58_ = NULL; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp55_ = _media_it; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp56_ = gee_iterator_next (_tmp55_); +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp56_) { +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 9857 "BatchImport.c" + } +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp57_ = _media_it; +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp58_ = gee_iterator_get (_tmp57_); +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + media = (MediaSource*) _tmp58_; +#line 9865 "BatchImport.c" + { + GeeHashMap* _tmp59_ = NULL; + MediaSource* _tmp60_ = NULL; + gpointer _tmp61_ = NULL; + BatchImportJob* _tmp62_ = NULL; + MediaSource* _tmp63_ = NULL; + BatchImportRoll* _tmp64_ = NULL; +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp59_ = completion_list; +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp60_ = media; +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp61_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp60_); +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp62_ = (BatchImportJob*) _tmp61_; +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp63_ = media; +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp64_ = self->priv->import_roll; +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_job_complete (_tmp62_, _tmp63_, _tmp64_, &_inner_error_); +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (_tmp62_); +#line 1196 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9891 "BatchImport.c" + goto __catch399_g_error; + } + } + goto __finally399; + __catch399_g_error: + { + GError* err = NULL; + MediaSource* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + GError* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp65_ = media; +#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp66_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, TYPE_DATA_OBJECT, DataObject)); +#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp67_ = _tmp66_; +#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp68_ = err; +#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp69_ = _tmp68_->message; +#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1198: Completion error when finalizing import of %s: " \ +"%s", _tmp67_, _tmp69_); +#line 1198 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp67_); +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 9924 "BatchImport.c" + } + __finally399: +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (media); +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_media_it); +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (completion_list); +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (videos); +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (photos); +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (all); +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.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 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1195 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 9947 "BatchImport.c" + } +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (media); +#line 9951 "BatchImport.c" + } +#line 1194 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_media_it); +#line 9955 "BatchImport.c" + } +#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp70_ = all; +#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp71_ = self->priv->import_roll; +#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp72_ = _tmp71_->generated_events; +#line 1204 "/home/jens/Source/shotwell/src/BatchImport.vala" + event_generate_many_events (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, GEE_TYPE_COLLECTION, GeeCollection), _tmp72_); +#line 1206 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp73_ = tag_global; +#line 1206 "/home/jens/Source/shotwell/src/BatchImport.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1207 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp74_ = event_global; +#line 1207 "/home/jens/Source/shotwell/src/BatchImport.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp75_ = media_collection_registry_get_instance (); +#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp76_ = _tmp75_; +#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala" + media_collection_registry_commit_transaction_on_all (_tmp76_); +#line 1208 "/home/jens/Source/shotwell/src/BatchImport.vala" + _media_collection_registry_unref0 (_tmp76_); +#line 1210 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp77_ = self->priv->ready_sources; +#line 1210 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (completion_list); +#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (videos); +#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (photos); +#line 1161 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (all); +#line 9993 "BatchImport.c" +} + + +static gboolean batch_import_display_imported_timer (BatchImport* self) { + gboolean result = FALSE; + GeeList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GCancellable* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gint total = 0; + GCancellable* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gint _tmp18_ = 0; + GeeList* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gboolean _tmp40_ = FALSE; + GeeList* _tmp41_ = NULL; + gint _tmp42_ = 0; + gint _tmp43_ = 0; +#line 1215 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (self), FALSE); +#line 1216 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->display_imported_queue; +#line 1216 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1216 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _tmp1_; +#line 1216 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp2_ == 0) { +#line 10026 "BatchImport.c" + gboolean _tmp3_ = FALSE; +#line 1217 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = self->priv->completed; +#line 1217 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = !_tmp3_; +#line 1217 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10034 "BatchImport.c" + } +#line 1219 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->priv->cancellable; +#line 1219 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = g_cancellable_is_cancelled (_tmp4_); +#line 1219 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp5_) { +#line 10042 "BatchImport.c" + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 1220 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = self->priv->display_imported_queue; +#line 1220 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1220 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp7_; +#line 1220 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:1220: Importing %d photos at once", _tmp8_); +#line 10054 "BatchImport.c" + } +#line 1222 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_log_status (self, "display_imported_timer"); +#line 1232 "/home/jens/Source/shotwell/src/BatchImport.vala" + total = 1; +#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = self->priv->cancellable; +#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = g_cancellable_is_cancelled (_tmp9_); +#line 1233 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp10_) { +#line 10066 "BatchImport.c" + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = self->priv->display_imported_queue; +#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_; +#line 1234 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp13_ > BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW) { +#line 10078 "BatchImport.c" + GeeList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = self->priv->display_imported_queue; +#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = _tmp15_; +#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = CLAMP ((_tmp16_ / BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW) + 2, 0, 16); +#line 1235 "/home/jens/Source/shotwell/src/BatchImport.vala" + total = 1 << _tmp17_; +#line 10093 "BatchImport.c" + } + } else { +#line 1239 "/home/jens/Source/shotwell/src/BatchImport.vala" + total = BATCH_IMPORT_DISPLAY_QUEUE_HYSTERESIS_OVERFLOW; +#line 10098 "BatchImport.c" + } +#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = total; +#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = self->priv->display_imported_queue; +#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = _tmp20_; +#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = MIN (_tmp18_, _tmp21_); +#line 1242 "/home/jens/Source/shotwell/src/BatchImport.vala" + total = _tmp22_; +#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 10114 "BatchImport.c" + gint _tmp23_ = 0; + CompletedImportObject* completed_object = NULL; + GeeList* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + GdkPixbuf* user_preview = NULL; + CompletedImportObject* _tmp26_ = NULL; + GdkPixbuf* _tmp27_ = NULL; + GdkPixbuf* _tmp28_ = NULL; + CompletedImportObject* _tmp29_ = NULL; + CompletedImportObject* _tmp30_ = NULL; + GeeList* _tmp31_ = NULL; + CompletedImportObject* _tmp32_ = NULL; + CompletedImportObject* _tmp33_ = NULL; + MediaSource* _tmp34_ = NULL; + GdkPixbuf* _tmp35_ = NULL; + gint _tmp36_ = 0; + CompletedImportObject* _tmp37_ = NULL; + MediaSource* _tmp38_ = NULL; + guint64 _tmp39_ = 0ULL; +#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = total; +#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala" + total = _tmp23_ - 1; +#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp23_ > 0)) { +#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 10142 "BatchImport.c" + } +#line 1253 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = self->priv->display_imported_queue; +#line 1253 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = gee_list_remove_at (_tmp24_, 0); +#line 1253 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed_object = (CompletedImportObject*) _tmp25_; +#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = completed_object; +#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = _tmp26_->user_preview; +#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _g_object_ref0 (_tmp27_); +#line 1256 "/home/jens/Source/shotwell/src/BatchImport.vala" + user_preview = _tmp28_; +#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = completed_object; +#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp29_->user_preview); +#line 1259 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_->user_preview = NULL; +#line 1260 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = completed_object; +#line 1260 "/home/jens/Source/shotwell/src/BatchImport.vala" + _thumbnails_unref0 (_tmp30_->thumbnails); +#line 1260 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_->thumbnails = NULL; +#line 1265 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = self->priv->ready_sources; +#line 1265 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = completed_object; +#line 1265 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection), _tmp32_); +#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = completed_object; +#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = _tmp33_->source; +#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = user_preview; +#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = total; +#line 1267 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_emit_by_name (self, "imported", _tmp34_, _tmp35_, _tmp36_); +#line 1268 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = completed_object; +#line 1268 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = _tmp37_->source; +#line 1268 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = media_source_get_filesize (_tmp38_); +#line 1268 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_report_progress (self, _tmp39_); +#line 1269 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_file_import_complete (self); +#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (user_preview); +#line 1252 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_import_object_unref0 (completed_object); +#line 10200 "BatchImport.c" + } +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = self->priv->ready_sources; +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = _tmp42_; +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp43_ >= BATCH_IMPORT_READY_SOURCES_COUNT_OVERFLOW) { +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = TRUE; +#line 10212 "BatchImport.c" + } else { + GCancellable* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = self->priv->cancellable; +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = g_cancellable_is_cancelled (_tmp44_); +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = _tmp45_; +#line 10222 "BatchImport.c" + } +#line 1272 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp40_) { +#line 1273 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_flush_ready_sources (self); +#line 10228 "BatchImport.c" + } +#line 1275 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = TRUE; +#line 1275 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10234 "BatchImport.c" +} + + +static void g_cclosure_user_marshal_VOID__UINT64_UINT64 (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__UINT64_UINT64) (gpointer data1, guint64 arg_1, guint64 arg_2, gpointer data2); + register GMarshalFunc_VOID__UINT64_UINT64 callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (n_param_values == 3); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = closure->data; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = param_values->data[0].v_pointer; +#line 10253 "BatchImport.c" + } else { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = param_values->data[0].v_pointer; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = closure->data; +#line 10259 "BatchImport.c" + } +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback = (GMarshalFunc_VOID__UINT64_UINT64) (marshal_data ? marshal_data : cc->callback); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback (data1, g_value_get_uint64 (param_values + 1), g_value_get_uint64 (param_values + 2), data2); +#line 10265 "BatchImport.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_INT) (gpointer data1, gpointer arg_1, gpointer arg_2, gint arg_3, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT_INT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (n_param_values == 4); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = closure->data; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = param_values->data[0].v_pointer; +#line 10284 "BatchImport.c" + } else { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = param_values->data[0].v_pointer; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = closure->data; +#line 10290 "BatchImport.c" + } +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT_INT) (marshal_data ? marshal_data : cc->callback); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_int (param_values + 3), data2); +#line 10296 "BatchImport.c" +} + + +static void g_cclosure_user_marshal_VOID__ENUM_STRING (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__ENUM_STRING) (gpointer data1, gint arg_1, const char* arg_2, gpointer data2); + register GMarshalFunc_VOID__ENUM_STRING callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (n_param_values == 3); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = closure->data; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = param_values->data[0].v_pointer; +#line 10315 "BatchImport.c" + } else { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = param_values->data[0].v_pointer; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = closure->data; +#line 10321 "BatchImport.c" + } +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback = (GMarshalFunc_VOID__ENUM_STRING) (marshal_data ? marshal_data : cc->callback); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback (data1, g_value_get_enum (param_values + 1), g_value_get_string (param_values + 2), data2); +#line 10327 "BatchImport.c" +} + + +static void g_cclosure_user_marshal_VOID__BATCH_IMPORT_RESULT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__BATCH_IMPORT_RESULT) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__BATCH_IMPORT_RESULT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (n_param_values == 2); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = closure->data; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = param_values->data[0].v_pointer; +#line 10346 "BatchImport.c" + } else { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = param_values->data[0].v_pointer; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = closure->data; +#line 10352 "BatchImport.c" + } +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback = (GMarshalFunc_VOID__BATCH_IMPORT_RESULT) (marshal_data ? marshal_data : cc->callback); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback (data1, value_get_batch_import_result (param_values + 1), data2); +#line 10358 "BatchImport.c" +} + + +static void g_cclosure_user_marshal_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (n_param_values == 3); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = closure->data; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = param_values->data[0].v_pointer; +#line 10377 "BatchImport.c" + } else { +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data1 = param_values->data[0].v_pointer; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + data2 = closure->data; +#line 10383 "BatchImport.c" + } +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback = (GMarshalFunc_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL) (marshal_data ? marshal_data : cc->callback); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + callback (data1, value_get_import_manifest (param_values + 1), value_get_batch_import_roll (param_values + 2), data2); +#line 10389 "BatchImport.c" +} + + +static void batch_import_class_init (BatchImportClass * klass) { + Workers* _tmp0_ = NULL; + guint _tmp1_ = 0U; + Workers* _tmp2_ = NULL; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_parent_class = g_type_class_peek_parent (klass); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_class_add_private (klass, sizeof (BatchImportPrivate)); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_OBJECT_CLASS (klass)->finalize = batch_import_finalize; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_new ("starting", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_new ("preparing", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_new ("progress", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__UINT64_UINT64, G_TYPE_NONE, 2, G_TYPE_UINT64, G_TYPE_UINT64); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_new ("imported", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_INT, G_TYPE_NONE, 3, TYPE_MEDIA_SOURCE, GDK_TYPE_PIXBUF, G_TYPE_INT); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_new ("fatal_error", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__ENUM_STRING, G_TYPE_NONE, 2, TYPE_IMPORT_RESULT, G_TYPE_STRING); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_new ("import_job_failed", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BATCH_IMPORT_RESULT, G_TYPE_NONE, 1, TYPE_BATCH_IMPORT_RESULT); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_new ("import_complete", TYPE_BATCH_IMPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__IMPORT_MANIFEST_BATCH_IMPORT_ROLL, G_TYPE_NONE, 2, TYPE_IMPORT_MANIFEST, TYPE_BATCH_IMPORT_ROLL); +#line 413 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = workers_new ((guint) 1, FALSE); +#line 413 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_feeder_workers = _tmp0_; +#line 414 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = workers_thread_per_cpu_minus_one (); +#line 414 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = workers_new (_tmp1_, FALSE); +#line 414 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_import_import_workers = _tmp2_; +#line 10427 "BatchImport.c" +} + + +static void batch_import_instance_init (BatchImport * self) { + GeeHashMap* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GeeLinkedList* _tmp2_ = NULL; + GeeLinkedList* _tmp3_ = NULL; + GeeLinkedList* _tmp4_ = NULL; + GeeLinkedList* _tmp5_ = NULL; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv = BATCH_IMPORT_GET_PRIVATE (self); +#line 419 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->completed_bytes = (guint64) 0; +#line 420 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->total_bytes = (guint64) 0; +#line 423 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->scheduled = FALSE; +#line 424 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->completed = FALSE; +#line 425 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->file_imports_to_perform = -1; +#line 426 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->file_imports_completed = 0; +#line 427 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->cancellable = NULL; +#line 428 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->last_preparing_ms = (gulong) 0; +#line 431 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 431 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->imported_full_md5_table = _tmp0_; +#line 433 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->throbber_id = (guint) 0; +#line 434 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = workers_thread_per_cpu_minus_one (); +#line 434 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->max_outstanding_import_jobs = _tmp1_; +#line 435 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->untrash_duplicates = TRUE; +#line 436 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->mark_duplicates_online = TRUE; +#line 440 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = gee_linked_list_new (TYPE_PREPARED_FILE, (GBoxedCopyFunc) prepared_file_ref, prepared_file_unref, NULL, NULL, NULL); +#line 440 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->ready_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList); +#line 441 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = gee_linked_list_new (TYPE_COMPLETED_IMPORT_OBJECT, (GBoxedCopyFunc) completed_import_object_ref, completed_import_object_unref, NULL, NULL, NULL); +#line 441 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->ready_thumbnails = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList); +#line 443 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = gee_linked_list_new (TYPE_COMPLETED_IMPORT_OBJECT, (GBoxedCopyFunc) completed_import_object_ref, completed_import_object_unref, NULL, NULL, NULL); +#line 443 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->display_imported_queue = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList); +#line 445 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = gee_linked_list_new (TYPE_COMPLETED_IMPORT_OBJECT, (GBoxedCopyFunc) completed_import_object_ref, completed_import_object_unref, NULL, NULL, NULL); +#line 445 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->ready_sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_LIST, GeeList); +#line 10486 "BatchImport.c" +} + + +static void batch_import_finalize (GObject* obj) { + BatchImport * self; + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BATCH_IMPORT, BatchImport); +#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = application_get_instance (); +#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _tmp0_; +#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_parse_name ("exiting", TYPE_APPLICATION, &_tmp2_, NULL, FALSE); +#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _batch_import_user_halt_application_exiting, self); +#line 508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _application_unref0 (_tmp1_); +#line 416 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->jobs); +#line 417 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_roll_unref0 (self->priv->import_roll); +#line 418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->priv->name); +#line 422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _import_manifest_unref0 (self->priv->manifest); +#line 427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->cancellable); +#line 429 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->skipset); +#line 431 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->imported_full_md5_table); +#line 440 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->ready_files); +#line 441 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->ready_thumbnails); +#line 443 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->display_imported_queue); +#line 445 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->ready_sources); +#line 402 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_OBJECT_CLASS (batch_import_parent_class)->finalize (obj); +#line 10531 "BatchImport.c" +} + + +GType batch_import_get_type (void) { + static volatile gsize batch_import_type_id__volatile = 0; + if (g_once_init_enter (&batch_import_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (BatchImportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) batch_import_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BatchImport), 0, (GInstanceInitFunc) batch_import_instance_init, NULL }; + GType batch_import_type_id; + batch_import_type_id = g_type_register_static (G_TYPE_OBJECT, "BatchImport", &g_define_type_info, 0); + g_once_init_leave (&batch_import_type_id__volatile, batch_import_type_id); + } + return batch_import_type_id__volatile; +} + + +static DuplicatedFile* duplicated_file_construct (GType object_type) { + DuplicatedFile * self = NULL; +#line 1284 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (DuplicatedFile*) g_object_new (object_type, NULL); +#line 1285 "/home/jens/Source/shotwell/src/BatchImport.vala" + _video_id_free0 (self->priv->video_id); +#line 1285 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->video_id = NULL; +#line 1286 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_id_free0 (self->priv->photo_id); +#line 1286 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->photo_id = NULL; +#line 1287 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->file); +#line 1287 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->file = NULL; +#line 1284 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 10565 "BatchImport.c" +} + + +static DuplicatedFile* duplicated_file_new (void) { +#line 1284 "/home/jens/Source/shotwell/src/BatchImport.vala" + return duplicated_file_construct (TYPE_DUPLICATED_FILE); +#line 10572 "BatchImport.c" +} + + +static gpointer _photo_id_dup0 (gpointer self) { +#line 1294 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? photo_id_dup (self) : NULL; +#line 10579 "BatchImport.c" +} + + +DuplicatedFile* duplicated_file_create_from_photo_id (PhotoID* photo_id) { + DuplicatedFile* result = NULL; + gboolean _tmp0_ = FALSE; + DuplicatedFile* _result_ = NULL; + DuplicatedFile* _tmp1_ = NULL; + PhotoID _tmp2_ = {0}; + PhotoID* _tmp3_ = NULL; +#line 1290 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (photo_id != NULL, NULL); +#line 1291 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = photo_id_is_valid (photo_id); +#line 1291 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp0_, "photo_id.is_valid()"); +#line 1293 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = duplicated_file_new (); +#line 1293 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp1_; +#line 1294 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = *photo_id; +#line 1294 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _photo_id_dup0 (&_tmp2_); +#line 1294 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_id_free0 (_result_->priv->photo_id); +#line 1294 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_->priv->photo_id = _tmp3_; +#line 1295 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _result_; +#line 1295 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10612 "BatchImport.c" +} + + +static gpointer _video_id_dup0 (gpointer self) { +#line 1302 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? video_id_dup (self) : NULL; +#line 10619 "BatchImport.c" +} + + +DuplicatedFile* duplicated_file_create_from_video_id (VideoID* video_id) { + DuplicatedFile* result = NULL; + gboolean _tmp0_ = FALSE; + DuplicatedFile* _result_ = NULL; + DuplicatedFile* _tmp1_ = NULL; + VideoID _tmp2_ = {0}; + VideoID* _tmp3_ = NULL; +#line 1298 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (video_id != NULL, NULL); +#line 1299 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = video_id_is_valid (video_id); +#line 1299 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp0_, "video_id.is_valid()"); +#line 1301 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = duplicated_file_new (); +#line 1301 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp1_; +#line 1302 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = *video_id; +#line 1302 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _video_id_dup0 (&_tmp2_); +#line 1302 "/home/jens/Source/shotwell/src/BatchImport.vala" + _video_id_free0 (_result_->priv->video_id); +#line 1302 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_->priv->video_id = _tmp3_; +#line 1303 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _result_; +#line 1303 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10652 "BatchImport.c" +} + + +DuplicatedFile* duplicated_file_create_from_file (GFile* file) { + DuplicatedFile* result = NULL; + DuplicatedFile* _result_ = NULL; + DuplicatedFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 1306 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 1307 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = duplicated_file_new (); +#line 1307 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp0_; +#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = file; +#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_result_->priv->file); +#line 1309 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_->priv->file = _tmp2_; +#line 1311 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _result_; +#line 1311 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10680 "BatchImport.c" +} + + +GFile* duplicated_file_get_file (DuplicatedFile* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; +#line 1314 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_DUPLICATED_FILE (self), NULL); +#line 1315 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->file; +#line 1315 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp0_ != NULL) { +#line 10693 "BatchImport.c" + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 1316 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->priv->file; +#line 1316 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1316 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp2_; +#line 1316 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10704 "BatchImport.c" + } else { + PhotoID* _tmp3_ = NULL; +#line 1317 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = self->priv->photo_id; +#line 1317 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp3_ != NULL) { +#line 10711 "BatchImport.c" + Photo* photo_object = NULL; + LibraryPhotoSourceCollection* _tmp4_ = NULL; + PhotoID* _tmp5_ = NULL; + PhotoID _tmp6_ = {0}; + LibraryPhoto* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; +#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = library_photo_global; +#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = self->priv->photo_id; +#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = *_tmp5_; +#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = library_photo_source_collection_fetch (_tmp4_, &_tmp6_); +#line 1318 "/home/jens/Source/shotwell/src/BatchImport.vala" + photo_object = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PHOTO, Photo); +#line 1319 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = photo_object; +#line 1319 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1319 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->file); +#line 1319 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->file = _tmp9_; +#line 1320 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = self->priv->file; +#line 1320 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 1320 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp11_; +#line 1320 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (photo_object); +#line 1320 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10749 "BatchImport.c" + } else { + VideoID* _tmp12_ = NULL; +#line 1321 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = self->priv->video_id; +#line 1321 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp12_ != NULL) { +#line 10756 "BatchImport.c" + Video* video_object = NULL; + VideoSourceCollection* _tmp13_ = NULL; + VideoID* _tmp14_ = NULL; + VideoID _tmp15_ = {0}; + Video* _tmp16_ = NULL; + Video* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; +#line 1322 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = video_global; +#line 1322 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = self->priv->video_id; +#line 1322 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = *_tmp14_; +#line 1322 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = video_source_collection_fetch (_tmp13_, &_tmp15_); +#line 1322 "/home/jens/Source/shotwell/src/BatchImport.vala" + video_object = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_VIDEO, Video); +#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = video_object; +#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->file); +#line 1323 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->file = _tmp18_; +#line 1324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = self->priv->file; +#line 1324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 1324 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp20_; +#line 1324 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (video_object); +#line 1324 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10794 "BatchImport.c" + } else { +#line 1326 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_assert_not_reached (); +#line 10798 "BatchImport.c" + } + } + } +} + + +static void duplicated_file_class_init (DuplicatedFileClass * klass) { +#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala" + duplicated_file_parent_class = g_type_class_peek_parent (klass); +#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_class_add_private (klass, sizeof (DuplicatedFilePrivate)); +#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_OBJECT_CLASS (klass)->finalize = duplicated_file_finalize; +#line 10812 "BatchImport.c" +} + + +static void duplicated_file_instance_init (DuplicatedFile * self) { +#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv = DUPLICATED_FILE_GET_PRIVATE (self); +#line 10819 "BatchImport.c" +} + + +static void duplicated_file_finalize (GObject* obj) { + DuplicatedFile * self; +#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DUPLICATED_FILE, DuplicatedFile); +#line 1280 "/home/jens/Source/shotwell/src/BatchImport.vala" + _video_id_free0 (self->priv->video_id); +#line 1281 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_id_free0 (self->priv->photo_id); +#line 1282 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->file); +#line 1279 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_OBJECT_CLASS (duplicated_file_parent_class)->finalize (obj); +#line 10835 "BatchImport.c" +} + + +GType duplicated_file_get_type (void) { + static volatile gsize duplicated_file_type_id__volatile = 0; + if (g_once_init_enter (&duplicated_file_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DuplicatedFileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) duplicated_file_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DuplicatedFile), 0, (GInstanceInitFunc) duplicated_file_instance_init, NULL }; + GType duplicated_file_type_id; + duplicated_file_type_id = g_type_register_static (G_TYPE_OBJECT, "DuplicatedFile", &g_define_type_info, 0); + g_once_init_leave (&duplicated_file_type_id__volatile, duplicated_file_type_id); + } + return duplicated_file_type_id__volatile; +} + + +BackgroundImportJob* background_import_job_construct (GType object_type, BatchImport* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target) { + BackgroundImportJob* self = NULL; + BatchImport* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GCancellable* _tmp2_ = NULL; + CancellationCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; +#line 1353 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL); +#line 1353 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 1355 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = owner; +#line 1355 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = callback; +#line 1355 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1__target = callback_target; +#line 1355 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = cancellable; +#line 1355 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = cancellation; +#line 1355 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3__target = cancellation_target; +#line 1355 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (BackgroundImportJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target, NULL); +#line 1353 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 10879 "BatchImport.c" +} + + +ImportResult background_import_job_abort_check (BackgroundImportJob* self) { + ImportResult result = 0; + gboolean _tmp0_ = FALSE; + ImportResult _tmp1_ = 0; + ImportResult _tmp3_ = 0; +#line 1360 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BACKGROUND_IMPORT_JOB (self), 0); +#line 1361 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->abort_flag; +#line 1361 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_ == IMPORT_RESULT_SUCCESS) { +#line 10894 "BatchImport.c" + gboolean _tmp2_ = FALSE; +#line 1361 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1361 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp2_; +#line 10900 "BatchImport.c" + } else { +#line 1361 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = FALSE; +#line 10904 "BatchImport.c" + } +#line 1361 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp0_) { +#line 1362 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->abort_flag = IMPORT_RESULT_USER_ABORT; +#line 10910 "BatchImport.c" + } +#line 1364 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = self->abort_flag; +#line 1364 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp3_; +#line 1364 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 10918 "BatchImport.c" +} + + +void background_import_job_abort (BackgroundImportJob* self, ImportResult _result_) { + ImportResult _tmp0_ = 0; +#line 1367 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self)); +#line 1369 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->abort_flag; +#line 1369 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp0_ == IMPORT_RESULT_SUCCESS) { +#line 10930 "BatchImport.c" + ImportResult _tmp1_ = 0; +#line 1370 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _result_; +#line 1370 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->abort_flag = _tmp1_; +#line 10936 "BatchImport.c" + } +} + + +void background_import_job_report_failure (BackgroundImportJob* self, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, ImportResult _result_) { + ImportResult _tmp0_ = 0; + ImportResult _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + GeeList* _tmp8_ = NULL; + BatchImportJob* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + ImportResult _tmp13_ = 0; + BatchImportResult* _tmp14_ = NULL; + BatchImportResult* _tmp15_ = NULL; +#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self)); +#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT_JOB (job)); +#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail ((file == NULL) || G_IS_FILE (file)); +#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (src_identifier != NULL); +#line 1373 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (dest_identifier != NULL); +#line 1375 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _result_; +#line 1375 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp0_ != IMPORT_RESULT_SUCCESS, "result != ImportResult.SUCCESS"); +#line 1378 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _result_; +#line 1378 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = import_result_is_abort (_tmp1_); +#line 1378 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp2_) { +#line 10973 "BatchImport.c" + ImportResult _tmp3_ = 0; +#line 1379 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _result_; +#line 1379 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_abort (self, _tmp3_); +#line 10979 "BatchImport.c" + } else { + const gchar* _tmp4_ = NULL; + ImportResult _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1381 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = src_identifier; +#line 1381 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _result_; +#line 1381 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = import_result_to_string (_tmp5_); +#line 1381 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_; +#line 1381 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1381: Import failure %s: %s", _tmp4_, _tmp7_); +#line 1381 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp7_); +#line 10997 "BatchImport.c" + } +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = self->failed; +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = job; +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = file; +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = src_identifier; +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = dest_identifier; +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _result_; +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = batch_import_result_new (_tmp9_, _tmp10_, _tmp11_, _tmp12_, NULL, _tmp13_); +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_; +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_); +#line 1383 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_tmp15_); +#line 11019 "BatchImport.c" +} + + +void background_import_job_report_error (BackgroundImportJob* self, BatchImportJob* job, GFile* file, const gchar* src_identifier, const gchar* dest_identifier, GError* err, ImportResult default_result) { + ImportResult _result_ = 0; + GError* _tmp0_ = NULL; + ImportResult _tmp1_ = 0; + ImportResult _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + ImportResult _tmp6_ = 0; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + ImportResult _tmp9_ = 0; + gboolean _tmp10_ = FALSE; + GeeList* _tmp12_ = NULL; + BatchImportJob* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; + ImportResult _tmp18_ = 0; + BatchImportResult* _tmp19_ = NULL; + BatchImportResult* _tmp20_ = NULL; +#line 1387 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BACKGROUND_IMPORT_JOB (self)); +#line 1387 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT_JOB (job)); +#line 1387 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail ((file == NULL) || G_IS_FILE (file)); +#line 1387 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (src_identifier != NULL); +#line 1387 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (dest_identifier != NULL); +#line 1389 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = err; +#line 1389 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = default_result; +#line 1389 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = import_result_convert_error (_tmp0_, _tmp1_); +#line 1389 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp2_; +#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = src_identifier; +#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = err; +#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_->message; +#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _result_; +#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = import_result_to_string (_tmp6_); +#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp7_; +#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1391: Import error %s: %s (%s)", _tmp3_, _tmp5_, _tmp8_); +#line 1391 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp8_); +#line 1393 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _result_; +#line 1393 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = import_result_is_abort (_tmp9_); +#line 1393 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp10_) { +#line 11085 "BatchImport.c" + ImportResult _tmp11_ = 0; +#line 1394 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _result_; +#line 1394 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_abort (self, _tmp11_); +#line 11091 "BatchImport.c" + } +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = self->failed; +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = job; +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = file; +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = src_identifier; +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = dest_identifier; +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = err; +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = default_result; +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = batch_import_result_new_from_error (_tmp13_, _tmp14_, _tmp15_, _tmp16_, _tmp17_, _tmp18_); +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp19_; +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp20_); +#line 1396 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (_tmp20_); +#line 11115 "BatchImport.c" +} + + +static void background_import_job_class_init (BackgroundImportJobClass * klass) { +#line 1349 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_parent_class = g_type_class_peek_parent (klass); +#line 1349 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->finalize = background_import_job_finalize; +#line 11124 "BatchImport.c" +} + + +static void background_import_job_instance_init (BackgroundImportJob * self) { + GeeArrayList* _tmp0_ = NULL; +#line 1350 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->abort_flag = IMPORT_RESULT_SUCCESS; +#line 1351 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = gee_array_list_new (TYPE_BATCH_IMPORT_RESULT, (GBoxedCopyFunc) batch_import_result_ref, batch_import_result_unref, NULL, NULL, NULL); +#line 1351 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->failed = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList); +#line 11136 "BatchImport.c" +} + + +static void background_import_job_finalize (BackgroundJob* obj) { + BackgroundImportJob * self; +#line 1349 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob); +#line 1351 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->failed); +#line 1349 "/home/jens/Source/shotwell/src/BatchImport.vala" + BACKGROUND_JOB_CLASS (background_import_job_parent_class)->finalize (obj); +#line 11148 "BatchImport.c" +} + + +GType background_import_job_get_type (void) { + static volatile gsize background_import_job_type_id__volatile = 0; + if (g_once_init_enter (&background_import_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (BackgroundImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) background_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BackgroundImportJob), 0, (GInstanceInitFunc) background_import_job_instance_init, NULL }; + GType background_import_job_type_id; + background_import_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "BackgroundImportJob", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&background_import_job_type_id__volatile, background_import_job_type_id); + } + return background_import_job_type_id__volatile; +} + + +FileToPrepare* file_to_prepare_construct (GType object_type, BatchImportJob* job, GFile* file, gboolean copy_to_library) { + FileToPrepare* self = NULL; + BatchImportJob* _tmp0_ = NULL; + BatchImportJob* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL); +#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (FileToPrepare*) g_type_create_instance (object_type); +#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = job; +#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _batch_import_job_ref0 (_tmp0_); +#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->job); +#line 1408 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->job = _tmp1_; +#line 1409 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = file; +#line 1409 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 1409 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->file); +#line 1409 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->file = _tmp3_; +#line 1410 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = copy_to_library; +#line 1410 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->copy_to_library = _tmp4_; +#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 11199 "BatchImport.c" +} + + +FileToPrepare* file_to_prepare_new (BatchImportJob* job, GFile* file, gboolean copy_to_library) { +#line 1407 "/home/jens/Source/shotwell/src/BatchImport.vala" + return file_to_prepare_construct (TYPE_FILE_TO_PREPARE, job, file, copy_to_library); +#line 11206 "BatchImport.c" +} + + +static gpointer _file_to_prepare_ref0 (gpointer self) { +#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? file_to_prepare_ref (self) : NULL; +#line 11213 "BatchImport.c" +} + + +void file_to_prepare_set_associated (FileToPrepare* self, FileToPrepare* a) { + FileToPrepare* _tmp0_ = NULL; + FileToPrepare* _tmp1_ = NULL; +#line 1413 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_FILE_TO_PREPARE (self)); +#line 1413 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail ((a == NULL) || IS_FILE_TO_PREPARE (a)); +#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = a; +#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _file_to_prepare_ref0 (_tmp0_); +#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (self->associated); +#line 1414 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->associated = _tmp1_; +#line 11232 "BatchImport.c" +} + + +gchar* file_to_prepare_get_parent_path (FileToPrepare* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 1417 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_TO_PREPARE (self), NULL); +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->file; +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_ != NULL) { +#line 11246 "BatchImport.c" + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->file; +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = g_file_get_parent (_tmp2_); +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp3_; +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = g_file_get_path (_tmp4_); +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp0_); +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp5_; +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp4_); +#line 11265 "BatchImport.c" + } else { + BatchImportJob* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = self->job; +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = batch_import_job_get_path (_tmp6_); +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp0_); +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp7_; +#line 11277 "BatchImport.c" + } +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp0_; +#line 1418 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 11283 "BatchImport.c" +} + + +gchar* file_to_prepare_get_path (FileToPrepare* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 1421 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_TO_PREPARE (self), NULL); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->file; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_ != NULL) { +#line 11297 "BatchImport.c" + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->file; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp0_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp3_; +#line 11308 "BatchImport.c" + } else { + BatchImportJob* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + BatchImportJob* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->job; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = batch_import_job_get_path (_tmp4_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _tmp5_; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = g_file_new_for_path (_tmp6_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp7_; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = self->job; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = batch_import_job_get_basename (_tmp9_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _tmp10_; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = g_file_get_child (_tmp8_, _tmp11_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp0_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp14_; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp13_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp11_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp8_); +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp6_); +#line 11355 "BatchImport.c" + } +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp0_; +#line 1422 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 11361 "BatchImport.c" +} + + +gchar* file_to_prepare_get_basename (FileToPrepare* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 1426 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_TO_PREPARE (self), NULL); +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->file; +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_ != NULL) { +#line 11375 "BatchImport.c" + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->file; +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = g_file_get_basename (_tmp2_); +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp0_); +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp3_; +#line 11386 "BatchImport.c" + } else { + BatchImportJob* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->job; +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = batch_import_job_get_basename (_tmp4_); +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp0_); +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp5_; +#line 11398 "BatchImport.c" + } +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp0_; +#line 1427 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 11404 "BatchImport.c" +} + + +gboolean file_to_prepare_is_directory (FileToPrepare* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; +#line 1430 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_TO_PREPARE (self), FALSE); +#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->file; +#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_ != NULL) { +#line 11418 "BatchImport.c" + GFile* _tmp2_ = NULL; + GFileType _tmp3_ = 0; +#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->file; +#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = g_file_query_file_type (_tmp2_, G_FILE_QUERY_INFO_NONE, NULL); +#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp3_ == G_FILE_TYPE_DIRECTORY; +#line 11427 "BatchImport.c" + } else { + BatchImportJob* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1432 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->job; +#line 1432 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = batch_import_job_is_directory (_tmp4_); +#line 1432 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp5_; +#line 11437 "BatchImport.c" + } +#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp0_; +#line 1431 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 11443 "BatchImport.c" +} + + +static void value_file_to_prepare_init (GValue* value) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 11450 "BatchImport.c" +} + + +static void value_file_to_prepare_free_value (GValue* value) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (value->data[0].v_pointer) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_to_prepare_unref (value->data[0].v_pointer); +#line 11459 "BatchImport.c" + } +} + + +static void value_file_to_prepare_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (src_value->data[0].v_pointer) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = file_to_prepare_ref (src_value->data[0].v_pointer); +#line 11469 "BatchImport.c" + } else { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = NULL; +#line 11473 "BatchImport.c" + } +} + + +static gpointer value_file_to_prepare_peek_pointer (const GValue* value) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 11481 "BatchImport.c" +} + + +static gchar* value_file_to_prepare_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (collect_values[0].v_pointer) { +#line 11488 "BatchImport.c" + FileToPrepare* object; + object = collect_values[0].v_pointer; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (object->parent_instance.g_class == NULL) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 11495 "BatchImport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 11499 "BatchImport.c" + } +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = file_to_prepare_ref (object); +#line 11503 "BatchImport.c" + } else { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 11507 "BatchImport.c" + } +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 11511 "BatchImport.c" +} + + +static gchar* value_file_to_prepare_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + FileToPrepare** object_p; + object_p = collect_values[0].v_pointer; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!object_p) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 11522 "BatchImport.c" + } +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!value->data[0].v_pointer) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = NULL; +#line 11528 "BatchImport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = value->data[0].v_pointer; +#line 11532 "BatchImport.c" + } else { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = file_to_prepare_ref (value->data[0].v_pointer); +#line 11536 "BatchImport.c" + } +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 11540 "BatchImport.c" +} + + +GParamSpec* param_spec_file_to_prepare (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecFileToPrepare* spec; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_FILE_TO_PREPARE), NULL); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return G_PARAM_SPEC (spec); +#line 11554 "BatchImport.c" +} + + +gpointer value_get_file_to_prepare (const GValue* value) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_FILE_TO_PREPARE), NULL); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 11563 "BatchImport.c" +} + + +void value_set_file_to_prepare (GValue* value, gpointer v_object) { + FileToPrepare* old; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_FILE_TO_PREPARE)); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_FILE_TO_PREPARE)); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_to_prepare_ref (value->data[0].v_pointer); +#line 11583 "BatchImport.c" + } else { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 11587 "BatchImport.c" + } +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_to_prepare_unref (old); +#line 11593 "BatchImport.c" + } +} + + +void value_take_file_to_prepare (GValue* value, gpointer v_object) { + FileToPrepare* old; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_FILE_TO_PREPARE)); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_FILE_TO_PREPARE)); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 11612 "BatchImport.c" + } else { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 11616 "BatchImport.c" + } +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_to_prepare_unref (old); +#line 11622 "BatchImport.c" + } +} + + +static void file_to_prepare_class_init (FileToPrepareClass * klass) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_to_prepare_parent_class = g_type_class_peek_parent (klass); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((FileToPrepareClass *) klass)->finalize = file_to_prepare_finalize; +#line 11632 "BatchImport.c" +} + + +static void file_to_prepare_instance_init (FileToPrepare * self) { +#line 1405 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->associated = NULL; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ref_count = 1; +#line 11641 "BatchImport.c" +} + + +static void file_to_prepare_finalize (FileToPrepare* obj) { + FileToPrepare * self; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FILE_TO_PREPARE, FileToPrepare); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_destroy (self); +#line 1402 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->job); +#line 1403 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->file); +#line 1405 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (self->associated); +#line 11657 "BatchImport.c" +} + + +GType file_to_prepare_get_type (void) { + static volatile gsize file_to_prepare_type_id__volatile = 0; + if (g_once_init_enter (&file_to_prepare_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_file_to_prepare_init, value_file_to_prepare_free_value, value_file_to_prepare_copy_value, value_file_to_prepare_peek_pointer, "p", value_file_to_prepare_collect_value, "p", value_file_to_prepare_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (FileToPrepareClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) file_to_prepare_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FileToPrepare), 0, (GInstanceInitFunc) file_to_prepare_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType file_to_prepare_type_id; + file_to_prepare_type_id = g_type_register_fundamental (g_type_fundamental_next (), "FileToPrepare", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&file_to_prepare_type_id__volatile, file_to_prepare_type_id); + } + return file_to_prepare_type_id__volatile; +} + + +gpointer file_to_prepare_ref (gpointer instance) { + FileToPrepare* self; + self = instance; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_atomic_int_inc (&self->ref_count); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + return instance; +#line 11682 "BatchImport.c" +} + + +void file_to_prepare_unref (gpointer instance) { + FileToPrepare* self; + self = instance; +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + FILE_TO_PREPARE_GET_CLASS (self)->finalize (self); +#line 1401 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 11695 "BatchImport.c" + } +} + + +WorkSniffer* work_sniffer_construct (GType object_type, BatchImport* owner, GeeIterable* jobs, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, GeeHashSet* skipset) { + WorkSniffer* self = NULL; + BatchImport* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GCancellable* _tmp2_ = NULL; + CancellationCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + GeeIterable* _tmp4_ = NULL; + GeeIterable* _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + GeeHashSet* _tmp7_ = NULL; +#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL); +#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (GEE_IS_ITERABLE (jobs), NULL); +#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((skipset == NULL) || GEE_IS_HASH_SET (skipset), NULL); +#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = owner; +#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = callback; +#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1__target = callback_target; +#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = cancellable; +#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = cancellation; +#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3__target = cancellation_target; +#line 1445 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (WorkSniffer*) background_import_job_construct (object_type, _tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target); +#line 1447 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = jobs; +#line 1447 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 1447 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->jobs); +#line 1447 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->jobs = _tmp5_; +#line 1448 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = skipset; +#line 1448 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 1448 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->skipset); +#line 1448 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->skipset = _tmp7_; +#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 11752 "BatchImport.c" +} + + +WorkSniffer* work_sniffer_new (BatchImport* owner, GeeIterable* jobs, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, GeeHashSet* skipset) { +#line 1443 "/home/jens/Source/shotwell/src/BatchImport.vala" + return work_sniffer_construct (TYPE_WORK_SNIFFER, owner, jobs, callback, callback_target, cancellable, cancellation, cancellation_target, skipset); +#line 11759 "BatchImport.c" +} + + +static gint __lambda11_ (WorkSniffer* self, FileToPrepare* a, FileToPrepare* b) { + gint result = 0; + FileToPrepare* file_a = NULL; + FileToPrepare* _tmp0_ = NULL; + FileToPrepare* _tmp1_ = NULL; + FileToPrepare* file_b = NULL; + FileToPrepare* _tmp2_ = NULL; + FileToPrepare* _tmp3_ = NULL; + gchar* sa = NULL; + gchar* _tmp4_ = NULL; + gchar* sb = NULL; + gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 1483 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_TO_PREPARE (a), 0); +#line 1483 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_TO_PREPARE (b), 0); +#line 1484 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = a; +#line 1484 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _file_to_prepare_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_FILE_TO_PREPARE, FileToPrepare)); +#line 1484 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_a = _tmp1_; +#line 1485 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = b; +#line 1485 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _file_to_prepare_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_FILE_TO_PREPARE, FileToPrepare)); +#line 1485 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_b = _tmp3_; +#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = file_to_prepare_get_path (file_a); +#line 1486 "/home/jens/Source/shotwell/src/BatchImport.vala" + sa = _tmp4_; +#line 1487 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = file_to_prepare_get_path (file_b); +#line 1487 "/home/jens/Source/shotwell/src/BatchImport.vala" + sb = _tmp5_; +#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = utf8_cs_compare (sa, sb); +#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp6_; +#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (sb); +#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (sa); +#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (file_b); +#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (file_a); +#line 1488 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 11814 "BatchImport.c" +} + + +static gint ___lambda11__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = __lambda11_ ((WorkSniffer*) self, (FileToPrepare*) a, (FileToPrepare*) b); +#line 1483 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 11823 "BatchImport.c" +} + + +static void work_sniffer_real_execute (BackgroundJob* base) { + WorkSniffer * self; + GeeList* sorted = NULL; + GeeArrayList* _tmp26_ = NULL; + GeeList* _tmp42_ = NULL; + GError * _inner_error_ = NULL; +#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_WORK_SNIFFER, WorkSniffer); +#line 11835 "BatchImport.c" + { + GeeIterator* _job_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->priv->jobs; +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _job_it = _tmp1_; +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 11848 "BatchImport.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + BatchImportJob* job = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + ImportResult _result_ = 0; + ImportResult _tmp6_ = 0; + ImportResult _tmp7_ = 0; + gboolean _tmp25_ = FALSE; +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _job_it; +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp3_) { +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 11866 "BatchImport.c" + } +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _job_it; +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + job = (BatchImportJob*) _tmp5_; +#line 1456 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob)); +#line 1456 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp6_; +#line 1457 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _result_; +#line 1457 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp7_ != IMPORT_RESULT_SUCCESS) { +#line 11882 "BatchImport.c" + BatchImportJob* _tmp8_ = NULL; + BatchImportJob* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + BatchImportJob* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + ImportResult _tmp15_ = 0; +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = job; +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = job; +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = batch_import_job_get_source_identifier (_tmp9_); +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _tmp10_; +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = job; +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = batch_import_job_get_dest_identifier (_tmp12_); +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = _tmp13_; +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _result_; +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp8_, NULL, _tmp11_, _tmp14_, _tmp15_); +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp14_); +#line 1458 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp11_); +#line 1461 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (job); +#line 1461 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 11917 "BatchImport.c" + } + { + BatchImportJob* _tmp16_ = NULL; +#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = job; +#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala" + work_sniffer_sniff_job (self, _tmp16_, &_inner_error_); +#line 1465 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 11927 "BatchImport.c" + goto __catch400_g_error; + } + } + goto __finally400; + __catch400_g_error: + { + GError* err = NULL; + BatchImportJob* _tmp17_ = NULL; + BatchImportJob* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + BatchImportJob* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + GError* _tmp24_ = NULL; +#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = job; +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = job; +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = batch_import_job_get_source_identifier (_tmp18_); +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp19_; +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = job; +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = batch_import_job_get_dest_identifier (_tmp21_); +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = _tmp22_; +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = err; +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp17_, NULL, _tmp20_, _tmp23_, _tmp24_, IMPORT_RESULT_FILE_ERROR); +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp23_); +#line 1467 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp20_); +#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 11971 "BatchImport.c" + } + __finally400: +#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (job); +#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_job_it); +#line 1464 "/home/jens/Source/shotwell/src/BatchImport.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 1464 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1464 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 11986 "BatchImport.c" + } +#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1471 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp25_) { +#line 1472 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (job); +#line 1472 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 11996 "BatchImport.c" + } +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (job); +#line 12000 "BatchImport.c" + } +#line 1455 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_job_it); +#line 12004 "BatchImport.c" + } +#line 1478 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = gee_array_list_new (TYPE_FILE_TO_PREPARE, (GBoxedCopyFunc) file_to_prepare_ref, file_to_prepare_unref, NULL, NULL, NULL); +#line 1478 "/home/jens/Source/shotwell/src/BatchImport.vala" + sorted = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_LIST, GeeList); +#line 12010 "BatchImport.c" + { + GeeList* _ftp_list = NULL; + GeeList* _tmp27_ = NULL; + GeeList* _tmp28_ = NULL; + gint _ftp_size = 0; + GeeList* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _ftp_index = 0; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = self->files_to_prepare; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _g_object_ref0 (_tmp27_); +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _ftp_list = _tmp28_; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = _ftp_list; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = _tmp30_; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _ftp_size = _tmp31_; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _ftp_index = -1; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 12038 "BatchImport.c" + gint _tmp32_ = 0; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + FileToPrepare* ftp = NULL; + GeeList* _tmp35_ = NULL; + gint _tmp36_ = 0; + gpointer _tmp37_ = NULL; + FileToPrepare* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = _ftp_index; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _ftp_index = _tmp32_ + 1; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = _ftp_index; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = _ftp_size; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp33_ < _tmp34_)) { +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 12060 "BatchImport.c" + } +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = _ftp_list; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = _ftp_index; +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = gee_list_get (_tmp35_, _tmp36_); +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + ftp = (FileToPrepare*) _tmp37_; +#line 1480 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = ftp; +#line 1480 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = file_to_prepare_is_directory (_tmp38_); +#line 1480 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp39_) { +#line 12076 "BatchImport.c" + GeeList* _tmp40_ = NULL; + FileToPrepare* _tmp41_ = NULL; +#line 1481 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = sorted; +#line 1481 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = ftp; +#line 1481 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_COLLECTION, GeeCollection), _tmp41_); +#line 12085 "BatchImport.c" + } +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (ftp); +#line 12089 "BatchImport.c" + } +#line 1479 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_ftp_list); +#line 12093 "BatchImport.c" + } +#line 1483 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = sorted; +#line 1483 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_list_sort (_tmp42_, ___lambda11__gcompare_data_func, background_job_ref (self), background_job_unref); +#line 12099 "BatchImport.c" + { + gint i = 0; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + i = 0; +#line 12104 "BatchImport.c" + { + gboolean _tmp43_ = FALSE; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = TRUE; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 12111 "BatchImport.c" + gint _tmp45_ = 0; + GeeList* _tmp46_ = NULL; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + gchar* name = NULL; + gchar* ext = NULL; + FileToPrepare* ftp = NULL; + GeeList* _tmp49_ = NULL; + gint _tmp50_ = 0; + gpointer _tmp51_ = NULL; + FileToPrepare* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; + RawFileFormatProperties* _tmp59_ = NULL; + RawFileFormatProperties* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; + gboolean _tmp63_ = FALSE; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp43_) { +#line 12136 "BatchImport.c" + gint _tmp44_ = 0; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = i; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + i = _tmp44_ + 1; +#line 12142 "BatchImport.c" + } +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = FALSE; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = i; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = sorted; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = _tmp47_; +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp45_ < _tmp48_)) { +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 12158 "BatchImport.c" + } +#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = sorted; +#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = i; +#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = gee_list_get (_tmp49_, _tmp50_); +#line 1495 "/home/jens/Source/shotwell/src/BatchImport.vala" + ftp = (FileToPrepare*) _tmp51_; +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp52_ = ftp; +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp53_ = file_to_prepare_get_basename (_tmp52_); +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp54_ = _tmp53_; +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + disassemble_filename (_tmp54_, &_tmp55_, &_tmp56_); +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (name); +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + name = _tmp55_; +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (ext); +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + ext = _tmp56_; +#line 1496 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp54_); +#line 1498 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp57_ = ext; +#line 1498 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp58_ = is_string_empty (_tmp57_); +#line 1498 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp58_) { +#line 1499 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (ftp); +#line 1499 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (ext); +#line 1499 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (name); +#line 1499 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 12200 "BatchImport.c" + } +#line 1501 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp59_ = raw_file_format_properties_get_instance (); +#line 1501 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp60_ = _tmp59_; +#line 1501 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp61_ = ext; +#line 1501 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp62_ = photo_file_format_properties_is_recognized_extension (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties), _tmp61_); +#line 1501 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp63_ = _tmp62_; +#line 1501 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_file_format_properties_unref0 (_tmp60_); +#line 1501 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp63_) { +#line 12216 "BatchImport.c" + gboolean _tmp64_ = FALSE; + gint _tmp65_ = 0; +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp65_ = i; +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp65_ > 0) { +#line 12223 "BatchImport.c" + FileToPrepare* _tmp66_ = NULL; + GeeList* _tmp67_ = NULL; + gint _tmp68_ = 0; + gpointer _tmp69_ = NULL; + FileToPrepare* _tmp70_ = NULL; + gboolean _tmp71_ = FALSE; +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp66_ = ftp; +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp67_ = sorted; +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp68_ = i; +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp69_ = gee_list_get (_tmp67_, _tmp68_ - 1); +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp70_ = (FileToPrepare*) _tmp69_; +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp71_ = work_sniffer_is_paired (self, _tmp66_, _tmp70_); +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp64_ = _tmp71_; +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (_tmp70_); +#line 12246 "BatchImport.c" + } else { +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp64_ = FALSE; +#line 12250 "BatchImport.c" + } +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp64_) { +#line 12254 "BatchImport.c" + FileToPrepare* associated_file = NULL; + GeeList* _tmp72_ = NULL; + gint _tmp73_ = 0; + gpointer _tmp74_ = NULL; + GeeList* _tmp75_ = NULL; + FileToPrepare* _tmp76_ = NULL; + FileToPrepare* _tmp77_ = NULL; + FileToPrepare* _tmp78_ = NULL; +#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp72_ = sorted; +#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp73_ = i; +#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp74_ = gee_list_get (_tmp72_, _tmp73_ - 1); +#line 1505 "/home/jens/Source/shotwell/src/BatchImport.vala" + associated_file = (FileToPrepare*) _tmp74_; +#line 1506 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp75_ = self->files_to_prepare; +#line 1506 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp76_ = associated_file; +#line 1506 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, GEE_TYPE_COLLECTION, GeeCollection), _tmp76_); +#line 1507 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp77_ = ftp; +#line 1507 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp78_ = associated_file; +#line 1507 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_to_prepare_set_associated (_tmp77_, _tmp78_); +#line 1504 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (associated_file); +#line 12285 "BatchImport.c" + } else { + gboolean _tmp79_ = FALSE; + gint _tmp80_ = 0; + GeeList* _tmp81_ = NULL; + gint _tmp82_ = 0; + gint _tmp83_ = 0; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp80_ = i; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp81_ = sorted; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp82_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp83_ = _tmp82_; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp80_ < (_tmp83_ - 1)) { +#line 12302 "BatchImport.c" + FileToPrepare* _tmp84_ = NULL; + GeeList* _tmp85_ = NULL; + gint _tmp86_ = 0; + gpointer _tmp87_ = NULL; + FileToPrepare* _tmp88_ = NULL; + gboolean _tmp89_ = FALSE; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp84_ = ftp; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp85_ = sorted; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp86_ = i; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp87_ = gee_list_get (_tmp85_, _tmp86_ + 1); +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp88_ = (FileToPrepare*) _tmp87_; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp89_ = work_sniffer_is_paired (self, _tmp84_, _tmp88_); +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp79_ = _tmp89_; +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (_tmp88_); +#line 12325 "BatchImport.c" + } else { +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp79_ = FALSE; +#line 12329 "BatchImport.c" + } +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp79_) { +#line 12333 "BatchImport.c" + FileToPrepare* associated_file = NULL; + GeeList* _tmp90_ = NULL; + gint _tmp91_ = 0; + gpointer _tmp92_ = NULL; + GeeList* _tmp93_ = NULL; + FileToPrepare* _tmp94_ = NULL; + FileToPrepare* _tmp95_ = NULL; + FileToPrepare* _tmp96_ = NULL; +#line 1509 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp90_ = sorted; +#line 1509 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp91_ = i; +#line 1509 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp92_ = gee_list_get (_tmp90_, _tmp91_ + 1); +#line 1509 "/home/jens/Source/shotwell/src/BatchImport.vala" + associated_file = (FileToPrepare*) _tmp92_; +#line 1510 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp93_ = self->files_to_prepare; +#line 1510 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp94_ = associated_file; +#line 1510 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, GEE_TYPE_COLLECTION, GeeCollection), _tmp94_); +#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp95_ = ftp; +#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp96_ = associated_file; +#line 1511 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_to_prepare_set_associated (_tmp95_, _tmp96_); +#line 1508 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (associated_file); +#line 12364 "BatchImport.c" + } + } + } +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (ftp); +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (ext); +#line 1493 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (name); +#line 12374 "BatchImport.c" + } + } + } +#line 1451 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (sorted); +#line 12380 "BatchImport.c" +} + + +static gboolean work_sniffer_is_paired (WorkSniffer* self, FileToPrepare* raw, FileToPrepare* maybe_paired) { + gboolean result = FALSE; + FileToPrepare* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + FileToPrepare* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + gchar* test_name = NULL; + gchar* test_ext = NULL; + FileToPrepare* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + JfifFileFormatProperties* _tmp12_ = NULL; + JfifFileFormatProperties* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + FileToPrepare* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; +#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_WORK_SNIFFER (self), FALSE); +#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_TO_PREPARE (raw), FALSE); +#line 1520 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_FILE_TO_PREPARE (maybe_paired), FALSE); +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = raw; +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = file_to_prepare_get_parent_path (_tmp0_); +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _tmp1_; +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = maybe_paired; +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = file_to_prepare_get_parent_path (_tmp3_); +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_; +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = g_strcmp0 (_tmp2_, _tmp5_) != 0; +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp5_); +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp2_); +#line 1521 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp6_) { +#line 1522 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = FALSE; +#line 1522 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 12444 "BatchImport.c" + } +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = maybe_paired; +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = file_to_prepare_get_basename (_tmp7_); +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp8_; +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + disassemble_filename (_tmp9_, &_tmp10_, &_tmp11_); +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (test_name); +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + test_name = _tmp10_; +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (test_ext); +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + test_ext = _tmp11_; +#line 1525 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp9_); +#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = jfif_file_format_properties_get_instance (); +#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_; +#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = test_ext; +#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = photo_file_format_properties_is_recognized_extension (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties), _tmp14_); +#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = !_tmp15_; +#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_file_format_properties_unref0 (_tmp13_); +#line 1527 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp16_) { +#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = FALSE; +#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (test_ext); +#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (test_name); +#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (ext); +#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (name); +#line 1528 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 12490 "BatchImport.c" + } +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = raw; +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = file_to_prepare_get_basename (_tmp17_); +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = _tmp18_; +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + disassemble_filename (_tmp19_, &_tmp20_, &_tmp21_); +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (name); +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + name = _tmp20_; +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (ext); +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + ext = _tmp21_; +#line 1530 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp19_); +#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = name; +#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = test_name; +#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = g_strcmp0 (_tmp22_, _tmp23_) == 0; +#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (test_ext); +#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (test_name); +#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (ext); +#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (name); +#line 1532 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 12526 "BatchImport.c" +} + + +static void work_sniffer_sniff_job (WorkSniffer* self, BatchImportJob* job, GError** error) { + guint64 size = 0ULL; + GFile* file_or_dir = NULL; + gboolean determined_size = FALSE; + BatchImportJob* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + BatchImportJob* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GError * _inner_error_ = NULL; +#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_WORK_SNIFFER (self)); +#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT_JOB (job)); +#line 1538 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = job; +#line 1538 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = batch_import_job_determine_file_size (_tmp0_, &_tmp1_, &_tmp2_); +#line 1538 "/home/jens/Source/shotwell/src/BatchImport.vala" + size = _tmp1_; +#line 1538 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file_or_dir); +#line 1538 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_or_dir = _tmp2_; +#line 1538 "/home/jens/Source/shotwell/src/BatchImport.vala" + determined_size = _tmp3_; +#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = determined_size; +#line 1539 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp4_) { +#line 12562 "BatchImport.c" + guint64 _tmp5_ = 0ULL; + guint64 _tmp6_ = 0ULL; +#line 1540 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = self->total_bytes; +#line 1540 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = size; +#line 1540 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->total_bytes = _tmp5_ + _tmp6_; +#line 12571 "BatchImport.c" + } +#line 1542 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = job; +#line 1542 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = batch_import_job_is_directory (_tmp7_); +#line 1542 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp8_) { +#line 12579 "BatchImport.c" + GFile* dir = NULL; + gboolean copy_to_library = FALSE; + gboolean _tmp9_ = FALSE; + BatchImportJob* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + GFile* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = job; +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = batch_import_job_prepare (_tmp10_, &_tmp11_, &_tmp12_, &_inner_error_); +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (dir); +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + dir = _tmp11_; +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + copy_to_library = _tmp12_; +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp13_; +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_propagate_error (error, _inner_error_); +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (dir); +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file_or_dir); +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 12611 "BatchImport.c" + } +#line 1547 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp9_) { +#line 12615 "BatchImport.c" + BatchImportJob* _tmp14_ = NULL; + BatchImportJob* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + BatchImportJob* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = job; +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = job; +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = batch_import_job_get_source_identifier (_tmp15_); +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp16_; +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = job; +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = batch_import_job_get_dest_identifier (_tmp18_); +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp19_; +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp14_, NULL, _tmp17_, _tmp20_, IMPORT_RESULT_FILE_ERROR); +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp20_); +#line 1548 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp17_); +#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (dir); +#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file_or_dir); +#line 1551 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 12649 "BatchImport.c" + } +#line 1553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = dir; +#line 1553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = query_is_directory (_tmp21_); +#line 1553 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp22_, "query_is_directory(dir)"); +#line 12657 "BatchImport.c" + { + BatchImportJob* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = job; +#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = dir; +#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = copy_to_library; +#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala" + work_sniffer_search_dir (self, _tmp23_, _tmp24_, _tmp25_, &_inner_error_); +#line 1556 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 12672 "BatchImport.c" + goto __catch401_g_error; + } + } + goto __finally401; + __catch401_g_error: + { + GError* err = NULL; + BatchImportJob* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + BatchImportJob* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + GError* _tmp34_ = NULL; +#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = job; +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = dir; +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = job; +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = batch_import_job_get_source_identifier (_tmp28_); +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _tmp29_; +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = dir; +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = g_file_get_path (_tmp31_); +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = _tmp32_; +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = err; +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp26_, _tmp27_, _tmp30_, _tmp33_, _tmp34_, IMPORT_RESULT_FILE_ERROR); +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp33_); +#line 1558 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp30_); +#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 12719 "BatchImport.c" + } + __finally401: +#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_propagate_error (error, _inner_error_); +#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (dir); +#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file_or_dir); +#line 1555 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 12732 "BatchImport.c" + } +#line 1542 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (dir); +#line 12736 "BatchImport.c" + } else { + gboolean _tmp35_ = FALSE; + gboolean _tmp43_ = FALSE; + gboolean _tmp44_ = FALSE; + GFile* _tmp45_ = NULL; + GeeList* _tmp50_ = NULL; + BatchImportJob* _tmp51_ = NULL; + FileToPrepare* _tmp52_ = NULL; + FileToPrepare* _tmp53_ = NULL; +#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = determined_size; +#line 1563 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp35_) { +#line 12750 "BatchImport.c" + guint64 _tmp36_ = 0ULL; + GFile* _tmp37_ = NULL; + GCancellable* _tmp38_ = NULL; + GCancellable* _tmp39_ = NULL; + guint64 _tmp40_ = 0ULL; + guint64 _tmp41_ = 0ULL; + guint64 _tmp42_ = 0ULL; +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = file_or_dir; +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = _tmp38_; +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = query_total_file_size (_tmp37_, _tmp39_, &_inner_error_); +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = _tmp40_; +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp39_); +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = _tmp41_; +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_propagate_error (error, _inner_error_); +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file_or_dir); +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 12780 "BatchImport.c" + } +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = self->total_bytes; +#line 1564 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->total_bytes = _tmp42_ + _tmp36_; +#line 12786 "BatchImport.c" + } +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = file_or_dir; +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp45_ != NULL) { +#line 12792 "BatchImport.c" + GeeHashSet* _tmp46_ = NULL; +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = self->priv->skipset; +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = _tmp46_ != NULL; +#line 12798 "BatchImport.c" + } else { +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = FALSE; +#line 12802 "BatchImport.c" + } +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp44_) { +#line 12806 "BatchImport.c" + GeeHashSet* _tmp47_ = NULL; + GFile* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = self->priv->skipset; +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = file_or_dir; +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp48_); +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = _tmp49_; +#line 12818 "BatchImport.c" + } else { +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = FALSE; +#line 12822 "BatchImport.c" + } +#line 1567 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp43_) { +#line 1568 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file_or_dir); +#line 1568 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 12830 "BatchImport.c" + } +#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = self->files_to_prepare; +#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = job; +#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp52_ = file_to_prepare_new (_tmp51_, NULL, TRUE); +#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp53_ = _tmp52_; +#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection), _tmp53_); +#line 1571 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (_tmp53_); +#line 12844 "BatchImport.c" + } +#line 1535 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file_or_dir); +#line 12848 "BatchImport.c" +} + + +void work_sniffer_search_dir (WorkSniffer* self, BatchImportJob* job, GFile* dir, gboolean copy_to_library, GError** error) { + GFileEnumerator* enumerator = NULL; + GFile* _tmp0_ = NULL; + GFileEnumerator* _tmp1_ = NULL; + GFileInfo* info = NULL; + GError * _inner_error_ = NULL; +#line 1575 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_WORK_SNIFFER (self)); +#line 1575 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (IS_BATCH_IMPORT_JOB (job)); +#line 1575 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 1576 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = dir; +#line 1576 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = g_file_enumerate_children (_tmp0_, "standard::*", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 1576 "/home/jens/Source/shotwell/src/BatchImport.vala" + enumerator = _tmp1_; +#line 1576 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1576 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_propagate_error (error, _inner_error_); +#line 1576 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 12876 "BatchImport.c" + } +#line 1579 "/home/jens/Source/shotwell/src/BatchImport.vala" + info = NULL; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 12882 "BatchImport.c" + GFileInfo* _tmp2_ = NULL; + GFileEnumerator* _tmp3_ = NULL; + GCancellable* _tmp4_ = NULL; + GCancellable* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GFile* child = NULL; + GFile* _tmp11_ = NULL; + GFileInfo* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFileType file_type = 0; + GFileInfo* _tmp15_ = NULL; + GFileType _tmp16_ = 0; + GFileType _tmp17_ = 0; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = enumerator; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = g_file_enumerator_next_file (_tmp3_, _tmp5_, &_inner_error_); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp5_); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _tmp7_; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_propagate_error (error, _inner_error_); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (info); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (enumerator); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 12925 "BatchImport.c" + } +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp2_; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = NULL; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (info); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + info = _tmp8_; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = info; +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp9_ != NULL)) { +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp2_); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 12943 "BatchImport.c" + } +#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1582 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp10_) { +#line 1583 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp2_); +#line 1583 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 12953 "BatchImport.c" + } +#line 1585 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = dir; +#line 1585 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = info; +#line 1585 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = g_file_info_get_name (_tmp12_); +#line 1585 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = g_file_get_child (_tmp11_, _tmp13_); +#line 1585 "/home/jens/Source/shotwell/src/BatchImport.vala" + child = _tmp14_; +#line 1586 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = info; +#line 1586 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = g_file_info_get_file_type (_tmp15_); +#line 1586 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_type = _tmp16_; +#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = file_type; +#line 1588 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp17_ == G_FILE_TYPE_DIRECTORY) { +#line 12975 "BatchImport.c" + GFileInfo* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 1589 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = info; +#line 1589 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = g_file_info_get_name (_tmp18_); +#line 1589 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = g_str_has_prefix (_tmp19_, "."); +#line 1589 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp20_) { +#line 1590 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (child); +#line 1590 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp2_); +#line 1590 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 12993 "BatchImport.c" + } + { + BatchImportJob* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 1593 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = job; +#line 1593 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = child; +#line 1593 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = copy_to_library; +#line 1593 "/home/jens/Source/shotwell/src/BatchImport.vala" + work_sniffer_search_dir (self, _tmp21_, _tmp22_, _tmp23_, &_inner_error_); +#line 1593 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 13009 "BatchImport.c" + goto __catch402_g_error; + } + } + goto __finally402; + __catch402_g_error: + { + GError* err = NULL; + BatchImportJob* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + GError* _tmp32_ = NULL; +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = job; +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = child; +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = child; +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = g_file_get_path (_tmp26_); +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _tmp27_; +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = child; +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = g_file_get_path (_tmp29_); +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = _tmp30_; +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = err; +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp24_, _tmp25_, _tmp28_, _tmp31_, _tmp32_, IMPORT_RESULT_FILE_ERROR); +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp31_); +#line 1595 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp28_); +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 13056 "BatchImport.c" + } + __finally402: +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_propagate_error (error, _inner_error_); +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (child); +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp2_); +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (info); +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (enumerator); +#line 1592 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 13073 "BatchImport.c" + } + } else { + GFileType _tmp33_ = 0; +#line 1598 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = file_type; +#line 1598 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp33_ == G_FILE_TYPE_REGULAR) { +#line 13081 "BatchImport.c" + gboolean _tmp34_ = FALSE; + GeeHashSet* _tmp35_ = NULL; + gboolean _tmp39_ = FALSE; + gboolean _tmp40_ = FALSE; + GFile* _tmp41_ = NULL; + gboolean _tmp42_ = FALSE; +#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = self->priv->skipset; +#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp35_ != NULL) { +#line 13092 "BatchImport.c" + GeeHashSet* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; +#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = self->priv->skipset; +#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = child; +#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp37_); +#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = _tmp38_; +#line 13104 "BatchImport.c" + } else { +#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = FALSE; +#line 13108 "BatchImport.c" + } +#line 1599 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp34_) { +#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (child); +#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp2_); +#line 1600 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 13118 "BatchImport.c" + } +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = child; +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = photo_is_file_image (_tmp41_); +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp42_) { +#line 13126 "BatchImport.c" + GFile* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = child; +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = photo_file_format_is_file_supported (_tmp43_); +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = _tmp44_; +#line 13135 "BatchImport.c" + } else { +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = FALSE; +#line 13139 "BatchImport.c" + } +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp40_) { +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = TRUE; +#line 13145 "BatchImport.c" + } else { + GFile* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; +#line 1603 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = child; +#line 1603 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = video_reader_is_supported_video_file (_tmp45_); +#line 1603 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = _tmp46_; +#line 13155 "BatchImport.c" + } +#line 1602 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp39_) { +#line 13159 "BatchImport.c" + guint64 _tmp47_ = 0ULL; + GFileInfo* _tmp48_ = NULL; + gint64 _tmp49_ = 0LL; + GeeList* _tmp50_ = NULL; + BatchImportJob* _tmp51_ = NULL; + GFile* _tmp52_ = NULL; + gboolean _tmp53_ = FALSE; + FileToPrepare* _tmp54_ = NULL; + FileToPrepare* _tmp55_ = NULL; +#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = self->total_bytes; +#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = info; +#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = g_file_info_get_size (_tmp48_); +#line 1604 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->total_bytes = _tmp47_ + _tmp49_; +#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = self->files_to_prepare; +#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = job; +#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp52_ = child; +#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp53_ = copy_to_library; +#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp54_ = file_to_prepare_new (_tmp51_, _tmp52_, _tmp53_); +#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp55_ = _tmp54_; +#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection), _tmp55_); +#line 1605 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (_tmp55_); +#line 1607 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (child); +#line 1607 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp2_); +#line 1607 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 13199 "BatchImport.c" + } + } else { + GFile* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GFileType _tmp59_ = 0; +#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp56_ = child; +#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp57_ = g_file_get_path (_tmp56_); +#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp58_ = _tmp57_; +#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp59_ = file_type; +#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1610: Ignoring import of %s file type %d", _tmp58_, (gint) _tmp59_); +#line 1610 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp58_); +#line 13218 "BatchImport.c" + } + } +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (child); +#line 1580 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp2_); +#line 13225 "BatchImport.c" + } +#line 1575 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (info); +#line 1575 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (enumerator); +#line 13231 "BatchImport.c" +} + + +static void work_sniffer_class_init (WorkSnifferClass * klass) { +#line 1436 "/home/jens/Source/shotwell/src/BatchImport.vala" + work_sniffer_parent_class = g_type_class_peek_parent (klass); +#line 1436 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->finalize = work_sniffer_finalize; +#line 1436 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_class_add_private (klass, sizeof (WorkSnifferPrivate)); +#line 1436 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->execute = work_sniffer_real_execute; +#line 13244 "BatchImport.c" +} + + +static void work_sniffer_instance_init (WorkSniffer * self) { + GeeArrayList* _tmp0_ = NULL; +#line 1436 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv = WORK_SNIFFER_GET_PRIVATE (self); +#line 1437 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = gee_array_list_new (TYPE_FILE_TO_PREPARE, (GBoxedCopyFunc) file_to_prepare_ref, file_to_prepare_unref, NULL, NULL, NULL); +#line 1437 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->files_to_prepare = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList); +#line 1438 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->total_bytes = (guint64) 0; +#line 13258 "BatchImport.c" +} + + +static void work_sniffer_finalize (BackgroundJob* obj) { + WorkSniffer * self; +#line 1436 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_WORK_SNIFFER, WorkSniffer); +#line 1437 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->files_to_prepare); +#line 1440 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->jobs); +#line 1441 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->skipset); +#line 1436 "/home/jens/Source/shotwell/src/BatchImport.vala" + BACKGROUND_JOB_CLASS (work_sniffer_parent_class)->finalize (obj); +#line 13274 "BatchImport.c" +} + + +GType work_sniffer_get_type (void) { + static volatile gsize work_sniffer_type_id__volatile = 0; + if (g_once_init_enter (&work_sniffer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (WorkSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) work_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WorkSniffer), 0, (GInstanceInitFunc) work_sniffer_instance_init, NULL }; + GType work_sniffer_type_id; + work_sniffer_type_id = g_type_register_static (TYPE_BACKGROUND_IMPORT_JOB, "WorkSniffer", &g_define_type_info, 0); + g_once_init_leave (&work_sniffer_type_id__volatile, work_sniffer_type_id); + } + return work_sniffer_type_id__volatile; +} + + +PreparedFile* prepared_file_construct (GType object_type, BatchImportJob* job, GFile* file, GFile* associated_file, const gchar* source_id, const gchar* dest_id, gboolean copy_to_library, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, guint64 filesize, gboolean is_video) { + PreparedFile* self = NULL; + BatchImportJob* _tmp0_ = NULL; + BatchImportJob* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + PhotoFileFormat _tmp17_ = 0; + guint64 _tmp18_ = 0ULL; + gboolean _tmp19_ = FALSE; +#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), NULL); +#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((associated_file == NULL) || G_IS_FILE (associated_file), NULL); +#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (source_id != NULL, NULL); +#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (dest_id != NULL, NULL); +#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (PreparedFile*) g_type_create_instance (object_type); +#line 1634 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = job; +#line 1634 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _batch_import_job_ref0 (_tmp0_); +#line 1634 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->job); +#line 1634 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->job = _tmp1_; +#line 1635 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->result = IMPORT_RESULT_SUCCESS; +#line 1636 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = file; +#line 1636 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 1636 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->file); +#line 1636 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->file = _tmp3_; +#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = associated_file; +#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->associated_file); +#line 1637 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->associated_file = _tmp5_; +#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = source_id; +#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->source_id); +#line 1638 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->source_id = _tmp7_; +#line 1639 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = dest_id; +#line 1639 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 1639 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->dest_id); +#line 1639 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->dest_id = _tmp9_; +#line 1640 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = copy_to_library; +#line 1640 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->copy_to_library = _tmp10_; +#line 1641 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = exif_md5; +#line 1641 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 1641 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->exif_md5); +#line 1641 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->exif_md5 = _tmp12_; +#line 1642 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = thumbnail_md5; +#line 1642 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 1642 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->thumbnail_md5); +#line 1642 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->thumbnail_md5 = _tmp14_; +#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = full_md5; +#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->full_md5); +#line 1643 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->full_md5 = _tmp16_; +#line 1644 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = file_format; +#line 1644 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->file_format = _tmp17_; +#line 1645 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = filesize; +#line 1645 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->filesize = _tmp18_; +#line 1646 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = is_video; +#line 1646 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->is_video = _tmp19_; +#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 13408 "BatchImport.c" +} + + +PreparedFile* prepared_file_new (BatchImportJob* job, GFile* file, GFile* associated_file, const gchar* source_id, const gchar* dest_id, gboolean copy_to_library, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, guint64 filesize, gboolean is_video) { +#line 1631 "/home/jens/Source/shotwell/src/BatchImport.vala" + return prepared_file_construct (TYPE_PREPARED_FILE, job, file, associated_file, source_id, dest_id, copy_to_library, exif_md5, thumbnail_md5, full_md5, file_format, filesize, is_video); +#line 13415 "BatchImport.c" +} + + +static void value_prepared_file_init (GValue* value) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 13422 "BatchImport.c" +} + + +static void value_prepared_file_free_value (GValue* value) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (value->data[0].v_pointer) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file_unref (value->data[0].v_pointer); +#line 13431 "BatchImport.c" + } +} + + +static void value_prepared_file_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (src_value->data[0].v_pointer) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = prepared_file_ref (src_value->data[0].v_pointer); +#line 13441 "BatchImport.c" + } else { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = NULL; +#line 13445 "BatchImport.c" + } +} + + +static gpointer value_prepared_file_peek_pointer (const GValue* value) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 13453 "BatchImport.c" +} + + +static gchar* value_prepared_file_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (collect_values[0].v_pointer) { +#line 13460 "BatchImport.c" + PreparedFile* object; + object = collect_values[0].v_pointer; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (object->parent_instance.g_class == NULL) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 13467 "BatchImport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 13471 "BatchImport.c" + } +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = prepared_file_ref (object); +#line 13475 "BatchImport.c" + } else { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 13479 "BatchImport.c" + } +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 13483 "BatchImport.c" +} + + +static gchar* value_prepared_file_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PreparedFile** object_p; + object_p = collect_values[0].v_pointer; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!object_p) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 13494 "BatchImport.c" + } +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!value->data[0].v_pointer) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = NULL; +#line 13500 "BatchImport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = value->data[0].v_pointer; +#line 13504 "BatchImport.c" + } else { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = prepared_file_ref (value->data[0].v_pointer); +#line 13508 "BatchImport.c" + } +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 13512 "BatchImport.c" +} + + +GParamSpec* param_spec_prepared_file (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPreparedFile* spec; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PREPARED_FILE), NULL); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return G_PARAM_SPEC (spec); +#line 13526 "BatchImport.c" +} + + +gpointer value_get_prepared_file (const GValue* value) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREPARED_FILE), NULL); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 13535 "BatchImport.c" +} + + +void value_set_prepared_file (GValue* value, gpointer v_object) { + PreparedFile* old; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREPARED_FILE)); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PREPARED_FILE)); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file_ref (value->data[0].v_pointer); +#line 13555 "BatchImport.c" + } else { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 13559 "BatchImport.c" + } +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file_unref (old); +#line 13565 "BatchImport.c" + } +} + + +void value_take_prepared_file (GValue* value, gpointer v_object) { + PreparedFile* old; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREPARED_FILE)); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PREPARED_FILE)); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 13584 "BatchImport.c" + } else { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 13588 "BatchImport.c" + } +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file_unref (old); +#line 13594 "BatchImport.c" + } +} + + +static void prepared_file_class_init (PreparedFileClass * klass) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file_parent_class = g_type_class_peek_parent (klass); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((PreparedFileClass *) klass)->finalize = prepared_file_finalize; +#line 13604 "BatchImport.c" +} + + +static void prepared_file_instance_init (PreparedFile * self) { +#line 1620 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->associated_file = NULL; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ref_count = 1; +#line 13613 "BatchImport.c" +} + + +static void prepared_file_finalize (PreparedFile* obj) { + PreparedFile * self; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE, PreparedFile); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_destroy (self); +#line 1617 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->job); +#line 1619 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->file); +#line 1620 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->associated_file); +#line 1621 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->source_id); +#line 1622 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->dest_id); +#line 1624 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->exif_md5); +#line 1625 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->thumbnail_md5); +#line 1626 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (self->full_md5); +#line 13639 "BatchImport.c" +} + + +GType prepared_file_get_type (void) { + static volatile gsize prepared_file_type_id__volatile = 0; + if (g_once_init_enter (&prepared_file_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_prepared_file_init, value_prepared_file_free_value, value_prepared_file_copy_value, value_prepared_file_peek_pointer, "p", value_prepared_file_collect_value, "p", value_prepared_file_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PreparedFileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prepared_file_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreparedFile), 0, (GInstanceInitFunc) prepared_file_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType prepared_file_type_id; + prepared_file_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PreparedFile", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&prepared_file_type_id__volatile, prepared_file_type_id); + } + return prepared_file_type_id__volatile; +} + + +gpointer prepared_file_ref (gpointer instance) { + PreparedFile* self; + self = instance; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_atomic_int_inc (&self->ref_count); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + return instance; +#line 13664 "BatchImport.c" +} + + +void prepared_file_unref (gpointer instance) { + PreparedFile* self; + self = instance; +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + PREPARED_FILE_GET_CLASS (self)->finalize (self); +#line 1616 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 13677 "BatchImport.c" + } +} + + +PreparedFileCluster* prepared_file_cluster_construct (GType object_type, GeeArrayList* list) { + PreparedFileCluster* self = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#line 1653 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (GEE_IS_ARRAY_LIST (list), NULL); +#line 1653 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (PreparedFileCluster*) interlocked_notification_object_construct (object_type); +#line 1654 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = list; +#line 1654 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1654 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->list); +#line 1654 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->list = _tmp1_; +#line 1653 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 13700 "BatchImport.c" +} + + +PreparedFileCluster* prepared_file_cluster_new (GeeArrayList* list) { +#line 1653 "/home/jens/Source/shotwell/src/BatchImport.vala" + return prepared_file_cluster_construct (TYPE_PREPARED_FILE_CLUSTER, list); +#line 13707 "BatchImport.c" +} + + +static void prepared_file_cluster_class_init (PreparedFileClusterClass * klass) { +#line 1650 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file_cluster_parent_class = g_type_class_peek_parent (klass); +#line 1650 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((NotificationObjectClass *) klass)->finalize = prepared_file_cluster_finalize; +#line 13716 "BatchImport.c" +} + + +static void prepared_file_cluster_instance_init (PreparedFileCluster * self) { +} + + +static void prepared_file_cluster_finalize (NotificationObject* obj) { + PreparedFileCluster * self; +#line 1650 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE_CLUSTER, PreparedFileCluster); +#line 1651 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->list); +#line 1650 "/home/jens/Source/shotwell/src/BatchImport.vala" + NOTIFICATION_OBJECT_CLASS (prepared_file_cluster_parent_class)->finalize (obj); +#line 13732 "BatchImport.c" +} + + +GType prepared_file_cluster_get_type (void) { + static volatile gsize prepared_file_cluster_type_id__volatile = 0; + if (g_once_init_enter (&prepared_file_cluster_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PreparedFileClusterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prepared_file_cluster_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreparedFileCluster), 0, (GInstanceInitFunc) prepared_file_cluster_instance_init, NULL }; + GType prepared_file_cluster_type_id; + prepared_file_cluster_type_id = g_type_register_static (TYPE_INTERLOCKED_NOTIFICATION_OBJECT, "PreparedFileCluster", &g_define_type_info, 0); + g_once_init_leave (&prepared_file_cluster_type_id__volatile, prepared_file_cluster_type_id); + } + return prepared_file_cluster_type_id__volatile; +} + + +PrepareFilesJob* prepare_files_job_construct (GType object_type, BatchImport* owner, GeeList* files_to_prepare, NotificationCallback notification, void* notification_target, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target) { + PrepareFilesJob* self = NULL; + BatchImport* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GCancellable* _tmp2_ = NULL; + CancellationCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + NotificationCallback _tmp6_ = NULL; + void* _tmp6__target = NULL; + GFile* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 1671 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL); +#line 1671 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (GEE_IS_LIST (files_to_prepare), NULL); +#line 1671 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 1674 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = owner; +#line 1674 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = callback; +#line 1674 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1__target = callback_target; +#line 1674 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = cancellable; +#line 1674 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = cancellation; +#line 1674 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3__target = cancellation_target; +#line 1674 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (PrepareFilesJob*) background_import_job_construct (object_type, _tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target); +#line 1676 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = files_to_prepare; +#line 1676 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 1676 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->files_to_prepare); +#line 1676 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->files_to_prepare = _tmp5_; +#line 1677 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = notification; +#line 1677 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6__target = notification_target; +#line 1677 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->notification = _tmp6_; +#line 1677 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->notification_target = _tmp6__target; +#line 1678 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = app_dirs_get_import_dir (); +#line 1678 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->library_dir); +#line 1678 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->library_dir = _tmp7_; +#line 1679 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = prepare_files_job_get_test_variable ("SHOTWELL_FAIL_EVERY"); +#line 1679 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->fail_every = _tmp8_; +#line 1680 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = prepare_files_job_get_test_variable ("SHOTWELL_SKIP_EVERY"); +#line 1680 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->skip_every = _tmp9_; +#line 1682 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_job_set_notification_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW); +#line 1671 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 13817 "BatchImport.c" +} + + +PrepareFilesJob* prepare_files_job_new (BatchImport* owner, GeeList* files_to_prepare, NotificationCallback notification, void* notification_target, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target) { +#line 1671 "/home/jens/Source/shotwell/src/BatchImport.vala" + return prepare_files_job_construct (TYPE_PREPARE_FILES_JOB, owner, files_to_prepare, notification, notification_target, callback, callback_target, cancellable, cancellation, cancellation_target); +#line 13824 "BatchImport.c" +} + + +static gint prepare_files_job_get_test_variable (const gchar* name) { + gint result = 0; + gchar* value = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + const gchar* _tmp5_ = NULL; +#line 1685 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (name != NULL, 0); +#line 1686 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = name; +#line 1686 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = g_getenv (_tmp0_); +#line 1686 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1686 "/home/jens/Source/shotwell/src/BatchImport.vala" + value = _tmp2_; +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = value; +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp5_ == NULL) { +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = TRUE; +#line 13853 "BatchImport.c" + } else { + const gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = value; +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = strlen (_tmp6_); +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp7_; +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp8_ == 0; +#line 13866 "BatchImport.c" + } +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp4_) { +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = 0; +#line 13872 "BatchImport.c" + } else { + const gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = value; +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = atoi (_tmp9_); +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _tmp10_; +#line 13882 "BatchImport.c" + } +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp3_; +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (value); +#line 1688 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 13890 "BatchImport.c" +} + + +static void prepare_files_job_real_execute (BackgroundJob* base) { + PrepareFilesJob * self; + GTimer* timer = NULL; + GTimer* _tmp0_ = NULL; + GeeArrayList* list = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeArrayList* _tmp90_ = NULL; + gint _tmp91_ = 0; + gint _tmp92_ = 0; +#line 1691 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PREPARE_FILES_JOB, PrepareFilesJob); +#line 1692 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = g_timer_new (); +#line 1692 "/home/jens/Source/shotwell/src/BatchImport.vala" + timer = _tmp0_; +#line 1694 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = gee_array_list_new (TYPE_PREPARED_FILE, (GBoxedCopyFunc) prepared_file_ref, prepared_file_unref, NULL, NULL, NULL); +#line 1694 "/home/jens/Source/shotwell/src/BatchImport.vala" + list = _tmp1_; +#line 13913 "BatchImport.c" + { + GeeList* _file_to_prepare_list = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _file_to_prepare_size = 0; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _file_to_prepare_index = 0; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->priv->files_to_prepare; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_list = _tmp3_; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _file_to_prepare_list; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _tmp5_; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_size = _tmp6_; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_index = -1; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 13941 "BatchImport.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + FileToPrepare* file_to_prepare = NULL; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + ImportResult _result_ = 0; + ImportResult _tmp13_ = 0; + ImportResult _tmp14_ = 0; + BatchImportJob* job = NULL; + FileToPrepare* _tmp26_ = NULL; + BatchImportJob* _tmp27_ = NULL; + BatchImportJob* _tmp28_ = NULL; + GFile* file = NULL; + FileToPrepare* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; + FileToPrepare* _tmp33_ = NULL; + FileToPrepare* _tmp34_ = NULL; + GFile* associated = NULL; + GFile* _tmp38_ = NULL; + gboolean copy_to_library = FALSE; + FileToPrepare* _tmp39_ = NULL; + gboolean _tmp40_ = FALSE; + GFile* _tmp41_ = NULL; + gboolean _tmp46_ = FALSE; + GFile* _tmp47_ = NULL; + PreparedFile* prepared_file = NULL; + BatchImportJob* _tmp55_ = NULL; + GFile* _tmp56_ = NULL; + GFile* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; + PreparedFile* _tmp59_ = NULL; + ImportResult _tmp60_ = 0; + ImportResult _tmp61_ = 0; + gboolean _tmp74_ = FALSE; + GeeArrayList* _tmp75_ = NULL; + gint _tmp76_ = 0; + gint _tmp77_ = 0; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _file_to_prepare_index; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_index = _tmp7_ + 1; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _file_to_prepare_index; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _file_to_prepare_size; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 13995 "BatchImport.c" + } +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _file_to_prepare_list; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _file_to_prepare_index; +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = gee_list_get (_tmp10_, _tmp11_); +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_to_prepare = (FileToPrepare*) _tmp12_; +#line 1696 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob)); +#line 1696 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp13_; +#line 1697 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = _result_; +#line 1697 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp14_ != IMPORT_RESULT_SUCCESS) { +#line 14013 "BatchImport.c" + FileToPrepare* _tmp15_ = NULL; + BatchImportJob* _tmp16_ = NULL; + FileToPrepare* _tmp17_ = NULL; + BatchImportJob* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + FileToPrepare* _tmp21_ = NULL; + BatchImportJob* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + ImportResult _tmp25_ = 0; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = file_to_prepare; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = _tmp15_->job; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = file_to_prepare; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = _tmp17_->job; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = batch_import_job_get_dest_identifier (_tmp18_); +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp19_; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = file_to_prepare; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = _tmp21_->job; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = batch_import_job_get_source_identifier (_tmp22_); +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = _tmp23_; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = _result_; +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp16_, NULL, _tmp20_, _tmp24_, _tmp25_); +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp24_); +#line 1698 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp20_); +#line 1701 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (file_to_prepare); +#line 1701 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 14057 "BatchImport.c" + } +#line 1704 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = file_to_prepare; +#line 1704 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = _tmp26_->job; +#line 1704 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _batch_import_job_ref0 (_tmp27_); +#line 1704 "/home/jens/Source/shotwell/src/BatchImport.vala" + job = _tmp28_; +#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = file_to_prepare; +#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _tmp29_->file; +#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = _g_object_ref0 (_tmp30_); +#line 1705 "/home/jens/Source/shotwell/src/BatchImport.vala" + file = _tmp31_; +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = file_to_prepare; +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = _tmp33_->associated; +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp34_ != NULL) { +#line 14081 "BatchImport.c" + FileToPrepare* _tmp35_ = NULL; + FileToPrepare* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = file_to_prepare; +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = _tmp35_->associated; +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = _tmp36_->file; +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = _tmp37_; +#line 14093 "BatchImport.c" + } else { +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = NULL; +#line 14097 "BatchImport.c" + } +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = _g_object_ref0 (_tmp32_); +#line 1706 "/home/jens/Source/shotwell/src/BatchImport.vala" + associated = _tmp38_; +#line 1707 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = file_to_prepare; +#line 1707 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = _tmp39_->copy_to_library; +#line 1707 "/home/jens/Source/shotwell/src/BatchImport.vala" + copy_to_library = _tmp40_; +#line 1710 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = file; +#line 1710 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp41_ == NULL) { +#line 14113 "BatchImport.c" + BatchImportJob* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + gboolean _tmp45_ = FALSE; +#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = job; +#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = prepare_files_job_create_file (self, _tmp42_, &_tmp43_, &_tmp44_); +#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file); +#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala" + file = _tmp43_; +#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala" + copy_to_library = _tmp44_; +#line 1711 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp45_) { +#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (associated); +#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file); +#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (job); +#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (file_to_prepare); +#line 1712 "/home/jens/Source/shotwell/src/BatchImport.vala" + continue; +#line 14140 "BatchImport.c" + } + } +#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = associated; +#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp47_ == NULL) { +#line 14147 "BatchImport.c" + FileToPrepare* _tmp48_ = NULL; + FileToPrepare* _tmp49_ = NULL; +#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = file_to_prepare; +#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = _tmp48_->associated; +#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = _tmp49_ != NULL; +#line 14156 "BatchImport.c" + } else { +#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = FALSE; +#line 14160 "BatchImport.c" + } +#line 1715 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp46_) { +#line 14164 "BatchImport.c" + FileToPrepare* _tmp50_ = NULL; + FileToPrepare* _tmp51_ = NULL; + BatchImportJob* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; + gboolean _tmp54_ = FALSE; +#line 1716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = file_to_prepare; +#line 1716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = _tmp50_->associated; +#line 1716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp52_ = _tmp51_->job; +#line 1716 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepare_files_job_create_file (self, _tmp52_, &_tmp53_, &_tmp54_); +#line 1716 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (associated); +#line 1716 "/home/jens/Source/shotwell/src/BatchImport.vala" + associated = _tmp53_; +#line 1716 "/home/jens/Source/shotwell/src/BatchImport.vala" + copy_to_library = _tmp54_; +#line 14184 "BatchImport.c" + } +#line 1720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp55_ = job; +#line 1720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp56_ = file; +#line 1720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp57_ = associated; +#line 1720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp58_ = copy_to_library; +#line 1720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp60_ = prepare_files_job_prepare_file (self, _tmp55_, _tmp56_, _tmp57_, _tmp58_, &_tmp59_); +#line 1720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (prepared_file); +#line 1720 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file = _tmp59_; +#line 1720 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp60_; +#line 1721 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp61_ = _result_; +#line 1721 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp61_ == IMPORT_RESULT_SUCCESS) { +#line 14206 "BatchImport.c" + gint _tmp62_ = 0; + GeeArrayList* _tmp63_ = NULL; + PreparedFile* _tmp64_ = NULL; +#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp62_ = self->prepared_files; +#line 1722 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->prepared_files = _tmp62_ + 1; +#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp63_ = list; +#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp64_ = prepared_file; +#line 1723 "/home/jens/Source/shotwell/src/BatchImport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp64_); +#line 14220 "BatchImport.c" + } else { + BatchImportJob* _tmp65_ = NULL; + GFile* _tmp66_ = NULL; + BatchImportJob* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + GFile* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + ImportResult _tmp73_ = 0; +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp65_ = job; +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp66_ = file; +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp67_ = job; +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp68_ = batch_import_job_get_source_identifier (_tmp67_); +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp69_ = _tmp68_; +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp70_ = file; +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp71_ = g_file_get_path (_tmp70_); +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp72_ = _tmp71_; +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp73_ = _result_; +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp65_, _tmp66_, _tmp69_, _tmp72_, _tmp73_); +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp72_); +#line 1725 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp69_); +#line 14255 "BatchImport.c" + } +#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp75_ = list; +#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp76_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp77_ = _tmp76_; +#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp77_ >= BATCH_IMPORT_REPORT_EVERY_N_PREPARED_FILES) { +#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp74_ = TRUE; +#line 14267 "BatchImport.c" + } else { + gboolean _tmp78_ = FALSE; + GTimer* _tmp79_ = NULL; + gdouble _tmp80_ = 0.0; +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp79_ = timer; +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp80_ = g_timer_elapsed (_tmp79_, NULL); +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + if ((_tmp80_ * 1000.0) > ((gdouble) BATCH_IMPORT_REPORT_PREPARED_FILES_EVERY_N_MSEC)) { +#line 14278 "BatchImport.c" + GeeArrayList* _tmp81_ = NULL; + gint _tmp82_ = 0; + gint _tmp83_ = 0; +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp81_ = list; +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp82_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp83_ = _tmp82_; +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp78_ = _tmp83_ > 0; +#line 14290 "BatchImport.c" + } else { +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp78_ = FALSE; +#line 14294 "BatchImport.c" + } +#line 1730 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp74_ = _tmp78_; +#line 14298 "BatchImport.c" + } +#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp74_) { +#line 14302 "BatchImport.c" + PreparedFileCluster* cluster = NULL; + GeeArrayList* _tmp84_ = NULL; + PreparedFileCluster* _tmp85_ = NULL; + GeeArrayList* _tmp86_ = NULL; + NotificationCallback _tmp87_ = NULL; + void* _tmp87__target = NULL; + PreparedFileCluster* _tmp88_ = NULL; + GTimer* _tmp89_ = NULL; +#line 1734 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp84_ = list; +#line 1734 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp85_ = prepared_file_cluster_new (_tmp84_); +#line 1734 "/home/jens/Source/shotwell/src/BatchImport.vala" + cluster = _tmp85_; +#line 1735 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp86_ = gee_array_list_new (TYPE_PREPARED_FILE, (GBoxedCopyFunc) prepared_file_ref, prepared_file_unref, NULL, NULL, NULL); +#line 1735 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (list); +#line 1735 "/home/jens/Source/shotwell/src/BatchImport.vala" + list = _tmp86_; +#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp87_ = self->priv->notification; +#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp87__target = self->priv->notification_target; +#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp88_ = cluster; +#line 1736 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_job_notify (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), _tmp87_, _tmp87__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, TYPE_NOTIFICATION_OBJECT, NotificationObject)); +#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp89_ = timer; +#line 1737 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_timer_start (_tmp89_); +#line 1729 "/home/jens/Source/shotwell/src/BatchImport.vala" + _notification_object_unref0 (cluster); +#line 14337 "BatchImport.c" + } +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (prepared_file); +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (associated); +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (file); +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (job); +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _file_to_prepare_unref0 (file_to_prepare); +#line 14349 "BatchImport.c" + } +#line 1695 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_file_to_prepare_list); +#line 14353 "BatchImport.c" + } +#line 1741 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp90_ = list; +#line 1741 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp91_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp90_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1741 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp92_ = _tmp91_; +#line 1741 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp92_ > 0) { +#line 14363 "BatchImport.c" + ImportResult _result_ = 0; + ImportResult _tmp93_ = 0; + ImportResult _tmp94_ = 0; +#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp93_ = background_import_job_abort_check (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob)); +#line 1742 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp93_; +#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp94_ = _result_; +#line 1743 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp94_ == IMPORT_RESULT_SUCCESS) { +#line 14375 "BatchImport.c" + NotificationCallback _tmp95_ = NULL; + void* _tmp95__target = NULL; + GeeArrayList* _tmp96_ = NULL; + PreparedFileCluster* _tmp97_ = NULL; + PreparedFileCluster* _tmp98_ = NULL; +#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp95_ = self->priv->notification; +#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp95__target = self->priv->notification_target; +#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp96_ = list; +#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp97_ = prepared_file_cluster_new (_tmp96_); +#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp98_ = _tmp97_; +#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_job_notify (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), _tmp95_, _tmp95__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp98_, TYPE_NOTIFICATION_OBJECT, NotificationObject)); +#line 1744 "/home/jens/Source/shotwell/src/BatchImport.vala" + _notification_object_unref0 (_tmp98_); +#line 14395 "BatchImport.c" + } else { + gint _tmp99_ = 0; + GeeArrayList* _tmp100_ = NULL; + gint _tmp101_ = 0; + gint _tmp102_ = 0; + gint _tmp103_ = 0; + GeeArrayList* _tmp104_ = NULL; + gint _tmp105_ = 0; + gint _tmp106_ = 0; +#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp99_ = self->prepared_files; +#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp100_ = list; +#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp101_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp102_ = _tmp101_; +#line 1747 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp99_ >= _tmp102_, "prepared_files >= list.size"); +#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp103_ = self->prepared_files; +#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp104_ = list; +#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp105_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp106_ = _tmp105_; +#line 1748 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->prepared_files = _tmp103_ - _tmp106_; +#line 14425 "BatchImport.c" + { + GeeArrayList* _prepared_file_list = NULL; + GeeArrayList* _tmp107_ = NULL; + GeeArrayList* _tmp108_ = NULL; + gint _prepared_file_size = 0; + GeeArrayList* _tmp109_ = NULL; + gint _tmp110_ = 0; + gint _tmp111_ = 0; + gint _prepared_file_index = 0; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp107_ = list; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp108_ = _g_object_ref0 (_tmp107_); +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_list = _tmp108_; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp109_ = _prepared_file_list; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp110_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp111_ = _tmp110_; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_size = _tmp111_; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_index = -1; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + while (TRUE) { +#line 14453 "BatchImport.c" + gint _tmp112_ = 0; + gint _tmp113_ = 0; + gint _tmp114_ = 0; + PreparedFile* prepared_file = NULL; + GeeArrayList* _tmp115_ = NULL; + gint _tmp116_ = 0; + gpointer _tmp117_ = NULL; + PreparedFile* _tmp118_ = NULL; + BatchImportJob* _tmp119_ = NULL; + PreparedFile* _tmp120_ = NULL; + GFile* _tmp121_ = NULL; + PreparedFile* _tmp122_ = NULL; + BatchImportJob* _tmp123_ = NULL; + gchar* _tmp124_ = NULL; + gchar* _tmp125_ = NULL; + PreparedFile* _tmp126_ = NULL; + GFile* _tmp127_ = NULL; + gchar* _tmp128_ = NULL; + gchar* _tmp129_ = NULL; + ImportResult _tmp130_ = 0; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp112_ = _prepared_file_index; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_index = _tmp112_ + 1; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp113_ = _prepared_file_index; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp114_ = _prepared_file_size; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!(_tmp113_ < _tmp114_)) { +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + break; +#line 14486 "BatchImport.c" + } +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp115_ = _prepared_file_list; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp116_ = _prepared_file_index; +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp117_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp116_); +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file = (PreparedFile*) _tmp117_; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp118_ = prepared_file; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp119_ = _tmp118_->job; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp120_ = prepared_file; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp121_ = _tmp120_->file; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp122_ = prepared_file; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp123_ = _tmp122_->job; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp124_ = batch_import_job_get_source_identifier (_tmp123_); +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp125_ = _tmp124_; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp126_ = prepared_file; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp127_ = _tmp126_->file; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp128_ = g_file_get_path (_tmp127_); +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp129_ = _tmp128_; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp130_ = _result_; +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp119_, _tmp121_, _tmp125_, _tmp129_, _tmp130_); +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp129_); +#line 1751 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp125_); +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (prepared_file); +#line 14530 "BatchImport.c" + } +#line 1750 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_prepared_file_list); +#line 14534 "BatchImport.c" + } + } + } +#line 1691 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (list); +#line 1691 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_timer_destroy0 (timer); +#line 14542 "BatchImport.c" +} + + +static gboolean prepare_files_job_create_file (PrepareFilesJob* self, BatchImportJob* job, GFile** file, gboolean* copy_to_library) { + GFile* _vala_file = NULL; + gboolean _vala_copy_to_library = FALSE; + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1760 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_PREPARE_FILES_JOB (self), FALSE); +#line 1760 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), FALSE); +#line 14555 "BatchImport.c" + { + gboolean _tmp0_ = FALSE; + BatchImportJob* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = job; +#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = batch_import_job_prepare (_tmp1_, &_tmp2_, &_tmp3_, &_inner_error_); +#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_vala_file); +#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_file = _tmp2_; +#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_copy_to_library = _tmp3_; +#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp4_; +#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14576 "BatchImport.c" + goto __catch403_g_error; + } +#line 1762 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp0_) { +#line 14581 "BatchImport.c" + BatchImportJob* _tmp5_ = NULL; + BatchImportJob* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + BatchImportJob* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = job; +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = job; +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = batch_import_job_get_source_identifier (_tmp6_); +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = _tmp7_; +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = job; +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = batch_import_job_get_dest_identifier (_tmp9_); +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _tmp10_; +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_failure (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp5_, NULL, _tmp8_, _tmp11_, IMPORT_RESULT_FILE_ERROR); +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp11_); +#line 1763 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp8_); +#line 1766 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = FALSE; +#line 1766 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (file) { +#line 1766 "/home/jens/Source/shotwell/src/BatchImport.vala" + *file = _vala_file; +#line 14615 "BatchImport.c" + } else { +#line 1766 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_vala_file); +#line 14619 "BatchImport.c" + } +#line 1766 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (copy_to_library) { +#line 1766 "/home/jens/Source/shotwell/src/BatchImport.vala" + *copy_to_library = _vala_copy_to_library; +#line 14625 "BatchImport.c" + } +#line 1766 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 14629 "BatchImport.c" + } + } + goto __finally403; + __catch403_g_error: + { + GError* err = NULL; + BatchImportJob* _tmp12_ = NULL; + BatchImportJob* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + BatchImportJob* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 1761 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1761 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = job; +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = job; +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = batch_import_job_get_source_identifier (_tmp13_); +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_; +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = job; +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = batch_import_job_get_dest_identifier (_tmp16_); +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = _tmp17_; +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = err; +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_import_job_report_error (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_IMPORT_JOB, BackgroundImportJob), _tmp12_, NULL, _tmp15_, _tmp18_, _tmp19_, IMPORT_RESULT_FILE_ERROR); +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp18_); +#line 1769 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp15_); +#line 1772 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = FALSE; +#line 1772 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 1772 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (file) { +#line 1772 "/home/jens/Source/shotwell/src/BatchImport.vala" + *file = _vala_file; +#line 14678 "BatchImport.c" + } else { +#line 1772 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_vala_file); +#line 14682 "BatchImport.c" + } +#line 1772 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (copy_to_library) { +#line 1772 "/home/jens/Source/shotwell/src/BatchImport.vala" + *copy_to_library = _vala_copy_to_library; +#line 14688 "BatchImport.c" + } +#line 1772 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 14692 "BatchImport.c" + } + __finally403: +#line 1761 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1761 "/home/jens/Source/shotwell/src/BatchImport.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 1761 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1761 "/home/jens/Source/shotwell/src/BatchImport.vala" + return FALSE; +#line 14703 "BatchImport.c" + } +#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = TRUE; +#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (file) { +#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala" + *file = _vala_file; +#line 14711 "BatchImport.c" + } else { +#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_vala_file); +#line 14715 "BatchImport.c" + } +#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (copy_to_library) { +#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala" + *copy_to_library = _vala_copy_to_library; +#line 14721 "BatchImport.c" + } +#line 1774 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 14725 "BatchImport.c" +} + + +static ImportResult prepare_files_job_prepare_file (PrepareFilesJob* self, BatchImportJob* job, GFile* file, GFile* associated_file, gboolean copy_to_library, PreparedFile** prepared_file) { + PreparedFile* _vala_prepared_file = NULL; + ImportResult result = 0; + gboolean is_video = FALSE; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp14_ = 0; + gchar* exif_only_md5 = NULL; + gchar* thumbnail_md5 = NULL; + gchar* full_md5 = NULL; + PhotoFileFormat file_format = 0; + GFile* _tmp28_ = NULL; + PhotoFileFormat _tmp29_ = 0; + gboolean _tmp30_ = FALSE; + guint64 filesize = 0ULL; + gboolean is_in_library_dir = FALSE; + GFile* _tmp82_ = NULL; + GFile* _tmp83_ = NULL; + gboolean _tmp84_ = FALSE; + gboolean _tmp85_ = FALSE; + gboolean _tmp86_ = FALSE; + BatchImportJob* _tmp88_ = NULL; + GFile* _tmp89_ = NULL; + GFile* _tmp90_ = NULL; + BatchImportJob* _tmp91_ = NULL; + gchar* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; + BatchImportJob* _tmp94_ = NULL; + gchar* _tmp95_ = NULL; + gchar* _tmp96_ = NULL; + const gchar* _tmp97_ = NULL; + const gchar* _tmp98_ = NULL; + const gchar* _tmp99_ = NULL; + PhotoFileFormat _tmp100_ = 0; + guint64 _tmp101_ = 0ULL; + gboolean _tmp102_ = FALSE; + PreparedFile* _tmp103_ = NULL; + GError * _inner_error_ = NULL; +#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_PREPARE_FILES_JOB (self), 0); +#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (job), 0); +#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 1777 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((associated_file == NULL) || G_IS_FILE (associated_file), 0); +#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 1779 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_prepared_file = NULL; +#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = file; +#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = video_reader_is_supported_video_file (_tmp0_); +#line 1781 "/home/jens/Source/shotwell/src/BatchImport.vala" + is_video = _tmp1_; +#line 1783 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = is_video; +#line 1783 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp3_) { +#line 14795 "BatchImport.c" + GFile* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1783 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = file; +#line 1783 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = photo_is_file_image (_tmp4_); +#line 1783 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = !_tmp5_; +#line 14804 "BatchImport.c" + } else { +#line 1783 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = FALSE; +#line 14808 "BatchImport.c" + } +#line 1783 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp2_) { +#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_NOT_AN_IMAGE; +#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (prepared_file) { +#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala" + *prepared_file = _vala_prepared_file; +#line 14818 "BatchImport.c" + } else { +#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 14822 "BatchImport.c" + } +#line 1784 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 14826 "BatchImport.c" + } +#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = is_video; +#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp7_) { +#line 14832 "BatchImport.c" + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = file; +#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = photo_file_format_is_file_supported (_tmp8_); +#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = !_tmp9_; +#line 14841 "BatchImport.c" + } else { +#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = FALSE; +#line 14845 "BatchImport.c" + } +#line 1786 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp6_) { +#line 1787 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 1787 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (prepared_file) { +#line 1787 "/home/jens/Source/shotwell/src/BatchImport.vala" + *prepared_file = _vala_prepared_file; +#line 14855 "BatchImport.c" + } else { +#line 1787 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 14859 "BatchImport.c" + } +#line 1787 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 14863 "BatchImport.c" + } +#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = self->priv->import_file_count; +#line 1789 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->import_file_count = _tmp10_ + 1; +#line 1792 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = self->priv->fail_every; +#line 1792 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp11_ > 0) { +#line 14873 "BatchImport.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = self->priv->import_file_count; +#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = self->priv->fail_every; +#line 1793 "/home/jens/Source/shotwell/src/BatchImport.vala" + if ((_tmp12_ % _tmp13_) == 0) { +#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_FILE_ERROR; +#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (prepared_file) { +#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala" + *prepared_file = _vala_prepared_file; +#line 14888 "BatchImport.c" + } else { +#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 14892 "BatchImport.c" + } +#line 1794 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 14896 "BatchImport.c" + } + } +#line 1798 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = self->priv->skip_every; +#line 1798 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp14_ > 0) { +#line 14903 "BatchImport.c" + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = self->priv->import_file_count; +#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = self->priv->skip_every; +#line 1799 "/home/jens/Source/shotwell/src/BatchImport.vala" + if ((_tmp15_ % _tmp16_) == 0) { +#line 1800 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_NOT_A_FILE; +#line 1800 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (prepared_file) { +#line 1800 "/home/jens/Source/shotwell/src/BatchImport.vala" + *prepared_file = _vala_prepared_file; +#line 14918 "BatchImport.c" + } else { +#line 1800 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 14922 "BatchImport.c" + } +#line 1800 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 14926 "BatchImport.c" + } + } +#line 1803 "/home/jens/Source/shotwell/src/BatchImport.vala" + exif_only_md5 = NULL; +#line 1804 "/home/jens/Source/shotwell/src/BatchImport.vala" + thumbnail_md5 = NULL; +#line 1805 "/home/jens/Source/shotwell/src/BatchImport.vala" + full_md5 = NULL; +#line 14935 "BatchImport.c" + { + gchar* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = file; +#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = md5_file (_tmp18_, &_inner_error_); +#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp19_; +#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14949 "BatchImport.c" + goto __catch404_g_error; + } +#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = _tmp17_; +#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = NULL; +#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (full_md5); +#line 1808 "/home/jens/Source/shotwell/src/BatchImport.vala" + full_md5 = _tmp20_; +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp17_); +#line 14962 "BatchImport.c" + } + goto __finally404; + __catch404_g_error: + { + GError* err = NULL; + GFile* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + GError* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GError* _tmp26_ = NULL; + ImportResult _tmp27_ = 0; +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = file; +#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = g_file_get_path (_tmp21_); +#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = _tmp22_; +#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = err; +#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = _tmp24_->message; +#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1813: Unable to perform MD5 checksum on file %s: %s", _tmp23_, _tmp25_); +#line 1813 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp23_); +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = err; +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = import_result_convert_error (_tmp26_, IMPORT_RESULT_FILE_ERROR); +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp27_; +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (full_md5); +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (thumbnail_md5); +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (exif_only_md5); +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (prepared_file) { +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + *prepared_file = _vala_prepared_file; +#line 15011 "BatchImport.c" + } else { +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 15015 "BatchImport.c" + } +#line 1816 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 15019 "BatchImport.c" + } + __finally404: +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (full_md5); +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (thumbnail_md5); +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (exif_only_md5); +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.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 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1807 "/home/jens/Source/shotwell/src/BatchImport.vala" + return 0; +#line 15036 "BatchImport.c" + } +#line 1821 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = file; +#line 1821 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = photo_file_format_get_by_file_extension (_tmp28_); +#line 1821 "/home/jens/Source/shotwell/src/BatchImport.vala" + file_format = _tmp29_; +#line 1822 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = is_video; +#line 1822 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!_tmp30_) { +#line 15048 "BatchImport.c" + PhotoFileFormat _tmp31_ = 0; + PhotoFileReader* reader = NULL; + PhotoFileFormat _tmp35_ = 0; + GFile* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + PhotoFileReader* _tmp39_ = NULL; + PhotoFileReader* _tmp40_ = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp50_ = NULL; +#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = file_format; +#line 1823 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp31_ == PHOTO_FILE_FORMAT_UNKNOWN) { +#line 15063 "BatchImport.c" + GFile* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; +#line 1824 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = file; +#line 1824 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = g_file_get_path (_tmp32_); +#line 1824 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = _tmp33_; +#line 1824 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1824: Skipping %s: unrecognized file extension", _tmp34_); +#line 1824 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp34_); +#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (full_md5); +#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (thumbnail_md5); +#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (exif_only_md5); +#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (prepared_file) { +#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala" + *prepared_file = _vala_prepared_file; +#line 15089 "BatchImport.c" + } else { +#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 15093 "BatchImport.c" + } +#line 1826 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 15097 "BatchImport.c" + } +#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = file_format; +#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = file; +#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = g_file_get_path (_tmp36_); +#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = _tmp37_; +#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = photo_file_format_create_reader (_tmp35_, _tmp38_); +#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = _tmp39_; +#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp38_); +#line 1828 "/home/jens/Source/shotwell/src/BatchImport.vala" + reader = _tmp40_; +#line 1829 "/home/jens/Source/shotwell/src/BatchImport.vala" + metadata = NULL; +#line 15117 "BatchImport.c" + { + PhotoMetadata* _tmp41_ = NULL; + PhotoFileReader* _tmp42_ = NULL; + PhotoMetadata* _tmp43_ = NULL; + PhotoMetadata* _tmp44_ = NULL; +#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = reader; +#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = photo_file_reader_read_metadata (_tmp42_, &_inner_error_); +#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = _tmp43_; +#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 15131 "BatchImport.c" + goto __catch405_g_error; + } +#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = _tmp41_; +#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = NULL; +#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala" + _media_metadata_unref0 (metadata); +#line 1831 "/home/jens/Source/shotwell/src/BatchImport.vala" + metadata = _tmp44_; +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + _media_metadata_unref0 (_tmp41_); +#line 15144 "BatchImport.c" + } + goto __finally405; + __catch405_g_error: + { + GError* err = NULL; + GFile* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + GError* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = file; +#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = g_file_get_path (_tmp45_); +#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = _tmp46_; +#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = err; +#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = _tmp48_->message; +#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1833: Unable to read metadata for %s (%s): continuing" \ +" to attempt import", _tmp47_, _tmp49_); +#line 1833 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp47_); +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 15175 "BatchImport.c" + } + __finally405: +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + _media_metadata_unref0 (metadata); +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_file_adapter_unref0 (reader); +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (full_md5); +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (thumbnail_md5); +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (exif_only_md5); +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.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 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1830 "/home/jens/Source/shotwell/src/BatchImport.vala" + return 0; +#line 15196 "BatchImport.c" + } +#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = metadata; +#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp50_ != NULL) { +#line 15202 "BatchImport.c" + guint8* flattened_sans_thumbnail = NULL; + PhotoMetadata* _tmp51_ = NULL; + gint _tmp52_ = 0; + guint8* _tmp53_ = NULL; + gint flattened_sans_thumbnail_length1 = 0; + gint _flattened_sans_thumbnail_size_ = 0; + gboolean _tmp54_ = FALSE; + guint8* _tmp55_ = NULL; + gint _tmp55__length1 = 0; + guint8* flattened_thumbnail = NULL; + PhotoMetadata* _tmp60_ = NULL; + gint _tmp61_ = 0; + guint8* _tmp62_ = NULL; + gint flattened_thumbnail_length1 = 0; + gint _flattened_thumbnail_size_ = 0; + gboolean _tmp63_ = FALSE; + guint8* _tmp64_ = NULL; + gint _tmp64__length1 = 0; +#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = metadata; +#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp53_ = photo_metadata_flatten_exif (_tmp51_, FALSE, &_tmp52_); +#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala" + flattened_sans_thumbnail = _tmp53_; +#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala" + flattened_sans_thumbnail_length1 = _tmp52_; +#line 1838 "/home/jens/Source/shotwell/src/BatchImport.vala" + _flattened_sans_thumbnail_size_ = flattened_sans_thumbnail_length1; +#line 1839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp55_ = flattened_sans_thumbnail; +#line 1839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp55__length1 = flattened_sans_thumbnail_length1; +#line 1839 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp55_ != NULL) { +#line 15237 "BatchImport.c" + guint8* _tmp56_ = NULL; + gint _tmp56__length1 = 0; +#line 1839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp56_ = flattened_sans_thumbnail; +#line 1839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp56__length1 = flattened_sans_thumbnail_length1; +#line 1839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp54_ = _tmp56__length1 > 0; +#line 15246 "BatchImport.c" + } else { +#line 1839 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp54_ = FALSE; +#line 15250 "BatchImport.c" + } +#line 1839 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp54_) { +#line 15254 "BatchImport.c" + guint8* _tmp57_ = NULL; + gint _tmp57__length1 = 0; + guint8* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gchar* _tmp59_ = NULL; +#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp57_ = flattened_sans_thumbnail; +#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp57__length1 = flattened_sans_thumbnail_length1; +#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp58_ = flattened_sans_thumbnail; +#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp58__length1 = flattened_sans_thumbnail_length1; +#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp59_ = md5_binary (_tmp57_, (gsize) _tmp58__length1); +#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (exif_only_md5); +#line 1840 "/home/jens/Source/shotwell/src/BatchImport.vala" + exif_only_md5 = _tmp59_; +#line 15274 "BatchImport.c" + } +#line 1842 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp60_ = metadata; +#line 1842 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp62_ = photo_metadata_flatten_exif_preview (_tmp60_, &_tmp61_); +#line 1842 "/home/jens/Source/shotwell/src/BatchImport.vala" + flattened_thumbnail = _tmp62_; +#line 1842 "/home/jens/Source/shotwell/src/BatchImport.vala" + flattened_thumbnail_length1 = _tmp61_; +#line 1842 "/home/jens/Source/shotwell/src/BatchImport.vala" + _flattened_thumbnail_size_ = flattened_thumbnail_length1; +#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp64_ = flattened_thumbnail; +#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp64__length1 = flattened_thumbnail_length1; +#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp64_ != NULL) { +#line 15292 "BatchImport.c" + guint8* _tmp65_ = NULL; + gint _tmp65__length1 = 0; +#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp65_ = flattened_thumbnail; +#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp65__length1 = flattened_thumbnail_length1; +#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp63_ = _tmp65__length1 > 0; +#line 15301 "BatchImport.c" + } else { +#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp63_ = FALSE; +#line 15305 "BatchImport.c" + } +#line 1843 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp63_) { +#line 15309 "BatchImport.c" + guint8* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + guint8* _tmp67_ = NULL; + gint _tmp67__length1 = 0; + gchar* _tmp68_ = NULL; +#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp66_ = flattened_thumbnail; +#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp66__length1 = flattened_thumbnail_length1; +#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp67_ = flattened_thumbnail; +#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp67__length1 = flattened_thumbnail_length1; +#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp68_ = md5_binary (_tmp66_, (gsize) _tmp67__length1); +#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (thumbnail_md5); +#line 1844 "/home/jens/Source/shotwell/src/BatchImport.vala" + thumbnail_md5 = _tmp68_; +#line 15329 "BatchImport.c" + } +#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala" + flattened_thumbnail = (g_free (flattened_thumbnail), NULL); +#line 1837 "/home/jens/Source/shotwell/src/BatchImport.vala" + flattened_sans_thumbnail = (g_free (flattened_sans_thumbnail), NULL); +#line 15335 "BatchImport.c" + } +#line 1822 "/home/jens/Source/shotwell/src/BatchImport.vala" + _media_metadata_unref0 (metadata); +#line 1822 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_file_adapter_unref0 (reader); +#line 15341 "BatchImport.c" + } +#line 1848 "/home/jens/Source/shotwell/src/BatchImport.vala" + filesize = (guint64) 0; +#line 15345 "BatchImport.c" + { + guint64 _tmp69_ = 0ULL; + GFile* _tmp70_ = NULL; + GCancellable* _tmp71_ = NULL; + GCancellable* _tmp72_ = NULL; + guint64 _tmp73_ = 0ULL; + guint64 _tmp74_ = 0ULL; +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp70_ = file; +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp71_ = background_job_get_cancellable (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp72_ = _tmp71_; +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp73_ = query_total_file_size (_tmp70_, _tmp72_, &_inner_error_); +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp74_ = _tmp73_; +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp72_); +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp69_ = _tmp74_; +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 15369 "BatchImport.c" + goto __catch406_g_error; + } +#line 1850 "/home/jens/Source/shotwell/src/BatchImport.vala" + filesize = _tmp69_; +#line 15374 "BatchImport.c" + } + goto __finally406; + __catch406_g_error: + { + GError* err = NULL; + GFile* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + gchar* _tmp77_ = NULL; + GError* _tmp78_ = NULL; + const gchar* _tmp79_ = NULL; + GError* _tmp80_ = NULL; + ImportResult _tmp81_ = 0; +#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1852 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp75_ = file; +#line 1852 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp76_ = g_file_get_path (_tmp75_); +#line 1852 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp77_ = _tmp76_; +#line 1852 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp78_ = err; +#line 1852 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp79_ = _tmp78_->message; +#line 1852 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1852: Unable to query file size of %s: %s", _tmp77_, _tmp79_); +#line 1852 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp77_); +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp80_ = err; +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp81_ = import_result_convert_error (_tmp80_, IMPORT_RESULT_FILE_ERROR); +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp81_; +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (full_md5); +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (thumbnail_md5); +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (exif_only_md5); +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (prepared_file) { +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + *prepared_file = _vala_prepared_file; +#line 15423 "BatchImport.c" + } else { +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 15427 "BatchImport.c" + } +#line 1854 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 15431 "BatchImport.c" + } + __finally406: +#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (full_md5); +#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (thumbnail_md5); +#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (exif_only_md5); +#line 1849 "/home/jens/Source/shotwell/src/BatchImport.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 1849 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1849 "/home/jens/Source/shotwell/src/BatchImport.vala" + return 0; +#line 15448 "BatchImport.c" + } +#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp82_ = file; +#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp83_ = self->priv->library_dir; +#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp84_ = g_file_has_prefix (_tmp82_, _tmp83_); +#line 1858 "/home/jens/Source/shotwell/src/BatchImport.vala" + is_in_library_dir = _tmp84_; +#line 1862 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp86_ = copy_to_library; +#line 1862 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp86_) { +#line 15462 "BatchImport.c" + gboolean _tmp87_ = FALSE; +#line 1862 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp87_ = is_in_library_dir; +#line 1862 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp85_ = !_tmp87_; +#line 15468 "BatchImport.c" + } else { +#line 1862 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp85_ = FALSE; +#line 15472 "BatchImport.c" + } +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp88_ = job; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp89_ = file; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp90_ = associated_file; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp91_ = job; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp92_ = batch_import_job_get_source_identifier (_tmp91_); +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp93_ = _tmp92_; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp94_ = job; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp95_ = batch_import_job_get_dest_identifier (_tmp94_); +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp96_ = _tmp95_; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp97_ = exif_only_md5; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp98_ = thumbnail_md5; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp99_ = full_md5; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp100_ = file_format; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp101_ = filesize; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp102_ = is_video; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp103_ = prepared_file_new (_tmp88_, _tmp89_, _tmp90_, _tmp93_, _tmp96_, _tmp85_, _tmp97_, _tmp98_, _tmp99_, _tmp100_, _tmp101_, _tmp102_); +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_prepared_file = _tmp103_; +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp96_); +#line 1861 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp93_); +#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = IMPORT_RESULT_SUCCESS; +#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (full_md5); +#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (thumbnail_md5); +#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (exif_only_md5); +#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (prepared_file) { +#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala" + *prepared_file = _vala_prepared_file; +#line 15526 "BatchImport.c" + } else { +#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (_vala_prepared_file); +#line 15530 "BatchImport.c" + } +#line 1865 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 15534 "BatchImport.c" +} + + +static void prepare_files_job_class_init (PrepareFilesJobClass * klass) { +#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepare_files_job_parent_class = g_type_class_peek_parent (klass); +#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->finalize = prepare_files_job_finalize; +#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_class_add_private (klass, sizeof (PrepareFilesJobPrivate)); +#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->execute = prepare_files_job_real_execute; +#line 15547 "BatchImport.c" +} + + +static void prepare_files_job_instance_init (PrepareFilesJob * self) { +#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv = PREPARE_FILES_JOB_GET_PRIVATE (self); +#line 1660 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->prepared_files = 0; +#line 1667 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->import_file_count = 0; +#line 1668 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->fail_every = 0; +#line 1669 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->skip_every = 0; +#line 15562 "BatchImport.c" +} + + +static void prepare_files_job_finalize (BackgroundJob* obj) { + PrepareFilesJob * self; +#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARE_FILES_JOB, PrepareFilesJob); +#line 1662 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->files_to_prepare); +#line 1664 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->priv->library_dir); +#line 1658 "/home/jens/Source/shotwell/src/BatchImport.vala" + BACKGROUND_JOB_CLASS (prepare_files_job_parent_class)->finalize (obj); +#line 15576 "BatchImport.c" +} + + +GType prepare_files_job_get_type (void) { + static volatile gsize prepare_files_job_type_id__volatile = 0; + if (g_once_init_enter (&prepare_files_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PrepareFilesJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prepare_files_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PrepareFilesJob), 0, (GInstanceInitFunc) prepare_files_job_instance_init, NULL }; + GType prepare_files_job_type_id; + prepare_files_job_type_id = g_type_register_static (TYPE_BACKGROUND_IMPORT_JOB, "PrepareFilesJob", &g_define_type_info, 0); + g_once_init_leave (&prepare_files_job_type_id__volatile, prepare_files_job_type_id); + } + return prepare_files_job_type_id__volatile; +} + + +static gpointer _prepared_file_ref0 (gpointer self) { +#line 1886 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? prepared_file_ref (self) : NULL; +#line 15595 "BatchImport.c" +} + + +static gpointer _batch_import_result_ref0 (gpointer self) { +#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? batch_import_result_ref (self) : NULL; +#line 15602 "BatchImport.c" +} + + +static gpointer _video_import_params_ref0 (gpointer self) { +#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? video_import_params_ref (self) : NULL; +#line 15609 "BatchImport.c" +} + + +static gpointer _photo_import_params_ref0 (gpointer self) { +#line 1889 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? photo_import_params_ref (self) : NULL; +#line 15616 "BatchImport.c" +} + + +ReadyForImport* ready_for_import_construct (GType object_type, GFile* final_file, PreparedFile* prepared_file, PhotoImportParams* photo_import_params, VideoImportParams* video_import_params, BatchImportResult* batch_result) { + ReadyForImport* self = NULL; + PreparedFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + PreparedFile* _tmp10_ = NULL; + PreparedFile* _tmp11_ = NULL; + BatchImportResult* _tmp12_ = NULL; + BatchImportResult* _tmp13_ = NULL; + VideoImportParams* _tmp14_ = NULL; + VideoImportParams* _tmp15_ = NULL; + PhotoImportParams* _tmp16_ = NULL; + PhotoImportParams* _tmp17_ = NULL; + PreparedFile* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_FILE (final_file), NULL); +#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL); +#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((photo_import_params == NULL) || IS_PHOTO_IMPORT_PARAMS (photo_import_params), NULL); +#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail ((video_import_params == NULL) || IS_VIDEO_IMPORT_PARAMS (video_import_params), NULL); +#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (batch_result), NULL); +#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (ReadyForImport*) g_type_create_instance (object_type); +#line 1880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = prepared_file; +#line 1880 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _tmp0_->is_video; +#line 1880 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_) { +#line 15654 "BatchImport.c" + gboolean _tmp2_ = FALSE; + VideoImportParams* _tmp3_ = NULL; +#line 1881 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = video_import_params; +#line 1881 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp3_ != NULL) { +#line 15661 "BatchImport.c" + PhotoImportParams* _tmp4_ = NULL; +#line 1881 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = photo_import_params; +#line 1881 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = _tmp4_ == NULL; +#line 15667 "BatchImport.c" + } else { +#line 1881 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = FALSE; +#line 15671 "BatchImport.c" + } +#line 1881 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp2_, "(video_import_params != null) && (photo_import_params == null)"); +#line 15675 "BatchImport.c" + } else { + gboolean _tmp5_ = FALSE; + VideoImportParams* _tmp6_ = NULL; +#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = video_import_params; +#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp6_ == NULL) { +#line 15683 "BatchImport.c" + PhotoImportParams* _tmp7_ = NULL; +#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = photo_import_params; +#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp7_ != NULL; +#line 15689 "BatchImport.c" + } else { +#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = FALSE; +#line 15693 "BatchImport.c" + } +#line 1883 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp5_, "(video_import_params == null) && (photo_import_params != null)"); +#line 15697 "BatchImport.c" + } +#line 1885 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = final_file; +#line 1885 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 1885 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->final_file); +#line 1885 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->final_file = _tmp9_; +#line 1886 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = prepared_file; +#line 1886 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _prepared_file_ref0 (_tmp10_); +#line 1886 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (self->prepared_file); +#line 1886 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->prepared_file = _tmp11_; +#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = batch_result; +#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _batch_import_result_ref0 (_tmp12_); +#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->batch_result); +#line 1887 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->batch_result = _tmp13_; +#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = video_import_params; +#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _video_import_params_ref0 (_tmp14_); +#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala" + _video_import_params_unref0 (self->video_import_params); +#line 1888 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->video_import_params = _tmp15_; +#line 1889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = photo_import_params; +#line 1889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _photo_import_params_ref0 (_tmp16_); +#line 1889 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_import_params_unref0 (self->photo_import_params); +#line 1889 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->photo_import_params = _tmp17_; +#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = prepared_file; +#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = _tmp18_->is_video; +#line 1890 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->is_video = _tmp19_; +#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 15747 "BatchImport.c" +} + + +ReadyForImport* ready_for_import_new (GFile* final_file, PreparedFile* prepared_file, PhotoImportParams* photo_import_params, VideoImportParams* video_import_params, BatchImportResult* batch_result) { +#line 1877 "/home/jens/Source/shotwell/src/BatchImport.vala" + return ready_for_import_construct (TYPE_READY_FOR_IMPORT, final_file, prepared_file, photo_import_params, video_import_params, batch_result); +#line 15754 "BatchImport.c" +} + + +BatchImportResult* ready_for_import_abort (ReadyForImport* self) { + BatchImportResult* result = NULL; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + PreparedFile* _tmp14_ = NULL; + BatchImportJob* _tmp15_ = NULL; + PreparedFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + PreparedFile* _tmp18_ = NULL; + BatchImportJob* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + PreparedFile* _tmp22_ = NULL; + BatchImportJob* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + BatchImportResult* _tmp26_ = NULL; + BatchImportResult* _tmp27_ = NULL; + BatchImportResult* _tmp28_ = NULL; + GError * _inner_error_ = NULL; +#line 1893 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_READY_FOR_IMPORT (self), NULL); +#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->final_file; +#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_ != NULL) { +#line 15784 "BatchImport.c" + GFile* _tmp2_ = NULL; + PreparedFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; +#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->final_file; +#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = self->prepared_file; +#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _tmp3_->file; +#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp2_ != _tmp4_; +#line 15796 "BatchImport.c" + } else { +#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = FALSE; +#line 15800 "BatchImport.c" + } +#line 1895 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp0_) { +#line 15804 "BatchImport.c" + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = self->final_file; +#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_; +#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:1896: Deleting aborted import copy %s", _tmp7_); +#line 1896 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp7_); +#line 15818 "BatchImport.c" + { + GFile* _tmp8_ = NULL; +#line 1898 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = self->final_file; +#line 1898 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_file_delete (_tmp8_, NULL, &_inner_error_); +#line 1898 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 15827 "BatchImport.c" + goto __catch407_g_error; + } + } + goto __finally407; + __catch407_g_error: + { + GError* err = NULL; + GFile* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 1897 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1897 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1900 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = self->final_file; +#line 1900 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = g_file_get_path (_tmp9_); +#line 1900 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = _tmp10_; +#line 1900 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = err; +#line 1900 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = _tmp12_->message; +#line 1900 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1900: Unable to delete copy of imported file (aborted" \ +" import) %s: %s", _tmp11_, _tmp13_); +#line 1900 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp11_); +#line 1897 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 15860 "BatchImport.c" + } + __finally407: +#line 1897 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1897 "/home/jens/Source/shotwell/src/BatchImport.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 1897 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1897 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 15871 "BatchImport.c" + } + } +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = self->prepared_file; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = _tmp14_->job; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = self->prepared_file; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp16_->file; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = self->prepared_file; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = _tmp18_->job; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = batch_import_job_get_source_identifier (_tmp19_); +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = _tmp20_; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = self->prepared_file; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = _tmp22_->job; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = batch_import_job_get_dest_identifier (_tmp23_); +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = _tmp24_; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = batch_import_result_new (_tmp15_, _tmp17_, _tmp21_, _tmp25_, NULL, IMPORT_RESULT_USER_ABORT); +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->batch_result); +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->batch_result = _tmp26_; +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp25_); +#line 1905 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp21_); +#line 1909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = self->batch_result; +#line 1909 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = _batch_import_result_ref0 (_tmp27_); +#line 1909 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp28_; +#line 1909 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 15916 "BatchImport.c" +} + + +static gpointer _thumbnails_ref0 (gpointer self) { +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self ? thumbnails_ref (self) : NULL; +#line 15923 "BatchImport.c" +} + + +Thumbnails* ready_for_import_get_thumbnails (ReadyForImport* self) { + Thumbnails* result = NULL; + Thumbnails* _tmp0_ = NULL; + PhotoImportParams* _tmp1_ = NULL; + Thumbnails* _tmp6_ = NULL; +#line 1912 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_READY_FOR_IMPORT (self), NULL); +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = self->photo_import_params; +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp1_ != NULL) { +#line 15938 "BatchImport.c" + PhotoImportParams* _tmp2_ = NULL; + Thumbnails* _tmp3_ = NULL; +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->photo_import_params; +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _tmp2_->thumbnails; +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp3_; +#line 15947 "BatchImport.c" + } else { + VideoImportParams* _tmp4_ = NULL; + Thumbnails* _tmp5_ = NULL; +#line 1914 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->video_import_params; +#line 1914 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_->thumbnails; +#line 1914 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = _tmp5_; +#line 15957 "BatchImport.c" + } +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _thumbnails_ref0 (_tmp0_); +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + result = _tmp6_; +#line 1913 "/home/jens/Source/shotwell/src/BatchImport.vala" + return result; +#line 15965 "BatchImport.c" +} + + +static void value_ready_for_import_init (GValue* value) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 15972 "BatchImport.c" +} + + +static void value_ready_for_import_free_value (GValue* value) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (value->data[0].v_pointer) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + ready_for_import_unref (value->data[0].v_pointer); +#line 15981 "BatchImport.c" + } +} + + +static void value_ready_for_import_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (src_value->data[0].v_pointer) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = ready_for_import_ref (src_value->data[0].v_pointer); +#line 15991 "BatchImport.c" + } else { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = NULL; +#line 15995 "BatchImport.c" + } +} + + +static gpointer value_ready_for_import_peek_pointer (const GValue* value) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 16003 "BatchImport.c" +} + + +static gchar* value_ready_for_import_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (collect_values[0].v_pointer) { +#line 16010 "BatchImport.c" + ReadyForImport* object; + object = collect_values[0].v_pointer; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (object->parent_instance.g_class == NULL) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 16017 "BatchImport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 16021 "BatchImport.c" + } +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = ready_for_import_ref (object); +#line 16025 "BatchImport.c" + } else { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 16029 "BatchImport.c" + } +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 16033 "BatchImport.c" +} + + +static gchar* value_ready_for_import_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ReadyForImport** object_p; + object_p = collect_values[0].v_pointer; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!object_p) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 16044 "BatchImport.c" + } +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!value->data[0].v_pointer) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = NULL; +#line 16050 "BatchImport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = value->data[0].v_pointer; +#line 16054 "BatchImport.c" + } else { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = ready_for_import_ref (value->data[0].v_pointer); +#line 16058 "BatchImport.c" + } +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 16062 "BatchImport.c" +} + + +GParamSpec* param_spec_ready_for_import (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecReadyForImport* spec; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_READY_FOR_IMPORT), NULL); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return G_PARAM_SPEC (spec); +#line 16076 "BatchImport.c" +} + + +gpointer value_get_ready_for_import (const GValue* value) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_READY_FOR_IMPORT), NULL); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 16085 "BatchImport.c" +} + + +void value_set_ready_for_import (GValue* value, gpointer v_object) { + ReadyForImport* old; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_READY_FOR_IMPORT)); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_READY_FOR_IMPORT)); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + ready_for_import_ref (value->data[0].v_pointer); +#line 16105 "BatchImport.c" + } else { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 16109 "BatchImport.c" + } +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + ready_for_import_unref (old); +#line 16115 "BatchImport.c" + } +} + + +void value_take_ready_for_import (GValue* value, gpointer v_object) { + ReadyForImport* old; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_READY_FOR_IMPORT)); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_READY_FOR_IMPORT)); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 16134 "BatchImport.c" + } else { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 16138 "BatchImport.c" + } +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + ready_for_import_unref (old); +#line 16144 "BatchImport.c" + } +} + + +static void ready_for_import_class_init (ReadyForImportClass * klass) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + ready_for_import_parent_class = g_type_class_peek_parent (klass); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((ReadyForImportClass *) klass)->finalize = ready_for_import_finalize; +#line 16154 "BatchImport.c" +} + + +static void ready_for_import_instance_init (ReadyForImport * self) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ref_count = 1; +#line 16161 "BatchImport.c" +} + + +static void ready_for_import_finalize (ReadyForImport* obj) { + ReadyForImport * self; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_READY_FOR_IMPORT, ReadyForImport); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_destroy (self); +#line 1870 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->final_file); +#line 1871 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (self->prepared_file); +#line 1872 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_import_params_unref0 (self->photo_import_params); +#line 1873 "/home/jens/Source/shotwell/src/BatchImport.vala" + _video_import_params_unref0 (self->video_import_params); +#line 1874 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->batch_result); +#line 16181 "BatchImport.c" +} + + +GType ready_for_import_get_type (void) { + static volatile gsize ready_for_import_type_id__volatile = 0; + if (g_once_init_enter (&ready_for_import_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_ready_for_import_init, value_ready_for_import_free_value, value_ready_for_import_copy_value, value_ready_for_import_peek_pointer, "p", value_ready_for_import_collect_value, "p", value_ready_for_import_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ReadyForImportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ready_for_import_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ReadyForImport), 0, (GInstanceInitFunc) ready_for_import_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType ready_for_import_type_id; + ready_for_import_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ReadyForImport", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&ready_for_import_type_id__volatile, ready_for_import_type_id); + } + return ready_for_import_type_id__volatile; +} + + +gpointer ready_for_import_ref (gpointer instance) { + ReadyForImport* self; + self = instance; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_atomic_int_inc (&self->ref_count); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + return instance; +#line 16206 "BatchImport.c" +} + + +void ready_for_import_unref (gpointer instance) { + ReadyForImport* self; + self = instance; +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + READY_FOR_IMPORT_GET_CLASS (self)->finalize (self); +#line 1869 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 16219 "BatchImport.c" + } +} + + +PreparedFileImportJob* prepared_file_import_job_construct (GType object_type, BatchImport* owner, PreparedFile* prepared_file, ImportID* import_id, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target) { + PreparedFileImportJob* self = NULL; + BatchImport* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GCancellable* _tmp2_ = NULL; + CancellationCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + ImportID _tmp4_ = {0}; + PreparedFile* _tmp5_ = NULL; + PreparedFile* _tmp6_ = NULL; +#line 1925 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL); +#line 1925 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_PREPARED_FILE (prepared_file), NULL); +#line 1925 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (import_id != NULL, NULL); +#line 1925 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = owner; +#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = callback; +#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1__target = callback_target; +#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = cancellable; +#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = cancellation; +#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3__target = cancellation_target; +#line 1927 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (PreparedFileImportJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target, NULL); +#line 1929 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = *import_id; +#line 1929 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv->import_id = _tmp4_; +#line 1930 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = prepared_file; +#line 1930 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _prepared_file_ref0 (_tmp5_); +#line 1930 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (self->not_ready); +#line 1930 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->not_ready = _tmp6_; +#line 1932 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_job_set_completion_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW); +#line 1925 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 16273 "BatchImport.c" +} + + +PreparedFileImportJob* prepared_file_import_job_new (BatchImport* owner, PreparedFile* prepared_file, ImportID* import_id, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target) { +#line 1925 "/home/jens/Source/shotwell/src/BatchImport.vala" + return prepared_file_import_job_construct (TYPE_PREPARED_FILE_IMPORT_JOB, owner, prepared_file, import_id, callback, callback_target, cancellable, cancellation, cancellation_target); +#line 16280 "BatchImport.c" +} + + +static void prepared_file_import_job_real_execute (BackgroundJob* base) { + PreparedFileImportJob * self; + PreparedFile* prepared_file = NULL; + PreparedFile* _tmp0_ = NULL; + PreparedFile* _tmp1_ = NULL; + GFile* final_file = NULL; + PreparedFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* final_associated_file = NULL; + PreparedFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + PreparedFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GFile* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + ImportResult _result_ = 0; + VideoImportParams* video_import_params = NULL; + PhotoImportParams* photo_import_params = NULL; + PreparedFile* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; + gboolean _tmp82_ = FALSE; + ImportResult _tmp83_ = 0; + BatchImportResult* batch_result = NULL; + PreparedFile* _tmp96_ = NULL; + BatchImportJob* _tmp97_ = NULL; + GFile* _tmp98_ = NULL; + GFile* _tmp99_ = NULL; + gchar* _tmp100_ = NULL; + gchar* _tmp101_ = NULL; + GFile* _tmp102_ = NULL; + gchar* _tmp103_ = NULL; + gchar* _tmp104_ = NULL; + ImportResult _tmp105_ = 0; + BatchImportResult* _tmp106_ = NULL; + BatchImportResult* _tmp107_ = NULL; + BatchImportResult* _tmp108_ = NULL; + ImportResult _tmp109_ = 0; + GError * _inner_error_ = NULL; +#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob); +#line 1936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->not_ready; +#line 1936 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _prepared_file_ref0 (_tmp0_); +#line 1936 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file = _tmp1_; +#line 1937 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (self->not_ready); +#line 1937 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->not_ready = NULL; +#line 1939 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = prepared_file; +#line 1939 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _tmp2_->file; +#line 1939 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 1939 "/home/jens/Source/shotwell/src/BatchImport.vala" + final_file = _tmp4_; +#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = prepared_file; +#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = _tmp5_->associated_file; +#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 1940 "/home/jens/Source/shotwell/src/BatchImport.vala" + final_associated_file = _tmp7_; +#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = prepared_file; +#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = _tmp8_->copy_to_library; +#line 1942 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp9_) { +#line 16359 "BatchImport.c" + { + GFile* _tmp10_ = NULL; + PreparedFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp29_ = NULL; +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp11_ = prepared_file; +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp12_ = _tmp11_->file; +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp13_ = library_files_duplicate (_tmp12_, NULL, NULL, TRUE, &_inner_error_); +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = _tmp13_; +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 16378 "BatchImport.c" + goto __catch408_g_error; + } +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp14_ = _tmp10_; +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = NULL; +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_file); +#line 1945 "/home/jens/Source/shotwell/src/BatchImport.vala" + final_file = _tmp14_; +#line 1946 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp15_ = final_file; +#line 1946 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp15_ == NULL) { +#line 16393 "BatchImport.c" + PreparedFile* _tmp16_ = NULL; + BatchImportJob* _tmp17_ = NULL; + PreparedFile* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + PreparedFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + PreparedFile* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + BatchImportResult* _tmp28_ = NULL; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp16_ = prepared_file; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp17_ = _tmp16_->job; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp18_ = prepared_file; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp19_ = _tmp18_->file; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp20_ = prepared_file; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp21_ = _tmp20_->file; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp22_ = g_file_get_path (_tmp21_); +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp23_ = _tmp22_; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp24_ = prepared_file; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp25_ = _tmp24_->file; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp26_ = g_file_get_path (_tmp25_); +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp27_ = _tmp26_; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp28_ = batch_import_result_new (_tmp17_, _tmp19_, _tmp23_, _tmp27_, NULL, IMPORT_RESULT_FILE_ERROR); +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->failed); +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->failed = _tmp28_; +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp27_); +#line 1947 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp23_); +#line 1951 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp10_); +#line 1951 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_associated_file); +#line 1951 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_file); +#line 1951 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (prepared_file); +#line 1951 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 16451 "BatchImport.c" + } +#line 1955 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp29_ = final_associated_file; +#line 1955 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp29_ != NULL) { +#line 16457 "BatchImport.c" + GFile* _tmp30_ = NULL; + PreparedFile* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp31_ = prepared_file; +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp32_ = _tmp31_->associated_file; +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp33_ = library_files_duplicate (_tmp32_, NULL, NULL, TRUE, &_inner_error_); +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = _tmp33_; +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp10_); +#line 16475 "BatchImport.c" + goto __catch408_g_error; + } +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp34_ = _tmp30_; +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp30_ = NULL; +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_associated_file); +#line 1956 "/home/jens/Source/shotwell/src/BatchImport.vala" + final_associated_file = _tmp34_; +#line 1955 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp30_); +#line 16488 "BatchImport.c" + } +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (_tmp10_); +#line 16492 "BatchImport.c" + } + goto __finally408; + __catch408_g_error: + { + GError* err = NULL; + gchar* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + gchar* filename = NULL; + gchar* _tmp42_ = NULL; + PreparedFile* _tmp43_ = NULL; + BatchImportJob* _tmp44_ = NULL; + PreparedFile* _tmp45_ = NULL; + GFile* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + GError* _tmp49_ = NULL; + BatchImportResult* _tmp50_ = NULL; +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp36_ = final_file; +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp36_ != NULL) { +#line 16518 "BatchImport.c" + GFile* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp37_ = final_file; +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp38_ = g_file_get_path (_tmp37_); +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp35_); +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = _tmp38_; +#line 16529 "BatchImport.c" + } else { + PreparedFile* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp39_ = prepared_file; +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp40_ = _tmp39_->source_id; +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp41_ = g_strdup (_tmp40_); +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp35_); +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp35_ = _tmp41_; +#line 16544 "BatchImport.c" + } +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp42_ = g_strdup (_tmp35_); +#line 1959 "/home/jens/Source/shotwell/src/BatchImport.vala" + filename = _tmp42_; +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp43_ = prepared_file; +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp44_ = _tmp43_->job; +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp45_ = prepared_file; +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp46_ = _tmp45_->file; +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp47_ = filename; +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp48_ = filename; +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp49_ = err; +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp50_ = batch_import_result_new_from_error (_tmp44_, _tmp46_, _tmp47_, _tmp48_, _tmp49_, IMPORT_RESULT_FILE_ERROR); +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->failed); +#line 1960 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->failed = _tmp50_; +#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (filename); +#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp35_); +#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_associated_file); +#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_file); +#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (prepared_file); +#line 1963 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 16584 "BatchImport.c" + } + __finally408: +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_associated_file); +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_file); +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (prepared_file); +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.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 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1943 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 16601 "BatchImport.c" + } + } +#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp51_ = final_file; +#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp52_ = g_file_get_path (_tmp51_); +#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp53_ = _tmp52_; +#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:1967: Importing %s", _tmp53_); +#line 1967 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp53_); +#line 1969 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = IMPORT_RESULT_SUCCESS; +#line 1970 "/home/jens/Source/shotwell/src/BatchImport.vala" + video_import_params = NULL; +#line 1971 "/home/jens/Source/shotwell/src/BatchImport.vala" + photo_import_params = NULL; +#line 1972 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp54_ = prepared_file; +#line 1972 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp55_ = _tmp54_->is_video; +#line 1972 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp55_) { +#line 16626 "BatchImport.c" + GFile* _tmp56_ = NULL; + ImportID _tmp57_ = {0}; + PreparedFile* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + Thumbnails* _tmp60_ = NULL; + Thumbnails* _tmp61_ = NULL; + PreparedFile* _tmp62_ = NULL; + BatchImportJob* _tmp63_ = NULL; + time_t _tmp64_ = 0; + VideoImportParams* _tmp65_ = NULL; + VideoImportParams* _tmp66_ = NULL; + ImportResult _tmp67_ = 0; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp56_ = final_file; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp57_ = self->priv->import_id; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp58_ = prepared_file; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp59_ = _tmp58_->full_md5; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp60_ = thumbnails_new (); +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp61_ = _tmp60_; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp62_ = prepared_file; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp63_ = _tmp62_->job; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp64_ = batch_import_job_get_exposure_time_override (_tmp63_); +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp65_ = video_import_params_new (_tmp56_, &_tmp57_, _tmp59_, _tmp61_, _tmp64_); +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _video_import_params_unref0 (video_import_params); +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + video_import_params = _tmp65_; +#line 1973 "/home/jens/Source/shotwell/src/BatchImport.vala" + _thumbnails_unref0 (_tmp61_); +#line 1977 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp66_ = video_import_params; +#line 1977 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp67_ = video_reader_prepare_for_import (_tmp66_); +#line 1977 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp67_; +#line 16671 "BatchImport.c" + } else { + GFile* _tmp68_ = NULL; + GFile* _tmp69_ = NULL; + ImportID _tmp70_ = {0}; + PreparedFile* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; + PreparedFile* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + PreparedFile* _tmp75_ = NULL; + const gchar* _tmp76_ = NULL; + Thumbnails* _tmp77_ = NULL; + Thumbnails* _tmp78_ = NULL; + PhotoImportParams* _tmp79_ = NULL; + PhotoImportParams* _tmp80_ = NULL; + ImportResult _tmp81_ = 0; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp68_ = final_file; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp69_ = final_associated_file; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp70_ = self->priv->import_id; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp71_ = prepared_file; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp72_ = _tmp71_->exif_md5; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp73_ = prepared_file; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp74_ = _tmp73_->thumbnail_md5; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp75_ = prepared_file; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp76_ = _tmp75_->full_md5; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp77_ = thumbnails_new (); +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp78_ = _tmp77_; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp79_ = photo_import_params_new (_tmp68_, _tmp69_, &_tmp70_, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL, _tmp72_, _tmp74_, _tmp76_, _tmp78_); +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_import_params_unref0 (photo_import_params); +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + photo_import_params = _tmp79_; +#line 1979 "/home/jens/Source/shotwell/src/BatchImport.vala" + _thumbnails_unref0 (_tmp78_); +#line 1983 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp80_ = photo_import_params; +#line 1983 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp81_ = photo_prepare_for_import (_tmp80_); +#line 1983 "/home/jens/Source/shotwell/src/BatchImport.vala" + _result_ = _tmp81_; +#line 16723 "BatchImport.c" + } +#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp83_ = _result_; +#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp83_ != IMPORT_RESULT_SUCCESS) { +#line 16729 "BatchImport.c" + GFile* _tmp84_ = NULL; + PreparedFile* _tmp85_ = NULL; + GFile* _tmp86_ = NULL; +#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp84_ = final_file; +#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp85_ = prepared_file; +#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp86_ = _tmp85_->file; +#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp82_ = _tmp84_ != _tmp86_; +#line 16741 "BatchImport.c" + } else { +#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp82_ = FALSE; +#line 16745 "BatchImport.c" + } +#line 1986 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp82_) { +#line 16749 "BatchImport.c" + GFile* _tmp87_ = NULL; + gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; +#line 1987 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp87_ = final_file; +#line 1987 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp88_ = g_file_get_path (_tmp87_); +#line 1987 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp89_ = _tmp88_; +#line 1987 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_debug ("BatchImport.vala:1987: Deleting failed imported copy %s", _tmp89_); +#line 1987 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp89_); +#line 16763 "BatchImport.c" + { + GFile* _tmp90_ = NULL; +#line 1989 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp90_ = final_file; +#line 1989 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_file_delete (_tmp90_, NULL, &_inner_error_); +#line 1989 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 16772 "BatchImport.c" + goto __catch409_g_error; + } + } + goto __finally409; + __catch409_g_error: + { + GError* err = NULL; + GFile* _tmp91_ = NULL; + gchar* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; + GError* _tmp94_ = NULL; + const gchar* _tmp95_ = NULL; +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp91_ = final_file; +#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp92_ = g_file_get_path (_tmp91_); +#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp93_ = _tmp92_; +#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp94_ = err; +#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp95_ = _tmp94_->message; +#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_warning ("BatchImport.vala:1992: Unable to delete copy of imported file %s: %s", _tmp93_, _tmp95_); +#line 1992 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp93_); +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 16805 "BatchImport.c" + } + __finally409: +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_import_params_unref0 (photo_import_params); +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + _video_import_params_unref0 (video_import_params); +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_associated_file); +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_file); +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (prepared_file); +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.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 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 1988 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 16826 "BatchImport.c" + } + } +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp96_ = prepared_file; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp97_ = _tmp96_->job; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp98_ = final_file; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp99_ = final_file; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp100_ = g_file_get_path (_tmp99_); +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp101_ = _tmp100_; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp102_ = final_file; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp103_ = g_file_get_path (_tmp102_); +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp104_ = _tmp103_; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp105_ = _result_; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp106_ = batch_import_result_new (_tmp97_, _tmp98_, _tmp101_, _tmp104_, NULL, _tmp105_); +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp107_ = _tmp106_; +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp104_); +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_free0 (_tmp101_); +#line 1997 "/home/jens/Source/shotwell/src/BatchImport.vala" + batch_result = _tmp107_; +#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp108_ = batch_result; +#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp109_ = _tmp108_->result; +#line 1999 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (_tmp109_ != IMPORT_RESULT_SUCCESS) { +#line 16865 "BatchImport.c" + BatchImportResult* _tmp110_ = NULL; + BatchImportResult* _tmp111_ = NULL; +#line 2000 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp110_ = batch_result; +#line 2000 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp111_ = _batch_import_result_ref0 (_tmp110_); +#line 2000 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->failed); +#line 2000 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->failed = _tmp111_; +#line 16876 "BatchImport.c" + } else { + GFile* _tmp112_ = NULL; + PreparedFile* _tmp113_ = NULL; + PhotoImportParams* _tmp114_ = NULL; + VideoImportParams* _tmp115_ = NULL; + BatchImportResult* _tmp116_ = NULL; + ReadyForImport* _tmp117_ = NULL; +#line 2002 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp112_ = final_file; +#line 2002 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp113_ = prepared_file; +#line 2002 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp114_ = photo_import_params; +#line 2002 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp115_ = video_import_params; +#line 2002 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp116_ = batch_result; +#line 2002 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp117_ = ready_for_import_new (_tmp112_, _tmp113_, _tmp114_, _tmp115_, _tmp116_); +#line 2002 "/home/jens/Source/shotwell/src/BatchImport.vala" + _ready_for_import_unref0 (self->ready); +#line 2002 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ready = _tmp117_; +#line 16900 "BatchImport.c" + } +#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (batch_result); +#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala" + _photo_import_params_unref0 (photo_import_params); +#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala" + _video_import_params_unref0 (video_import_params); +#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_associated_file); +#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (final_file); +#line 1935 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (prepared_file); +#line 16914 "BatchImport.c" +} + + +static void prepared_file_import_job_class_init (PreparedFileImportJobClass * klass) { +#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala" + prepared_file_import_job_parent_class = g_type_class_peek_parent (klass); +#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->finalize = prepared_file_import_job_finalize; +#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_class_add_private (klass, sizeof (PreparedFileImportJobPrivate)); +#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->execute = prepared_file_import_job_real_execute; +#line 16927 "BatchImport.c" +} + + +static void prepared_file_import_job_instance_init (PreparedFileImportJob * self) { +#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->priv = PREPARED_FILE_IMPORT_JOB_GET_PRIVATE (self); +#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ready = NULL; +#line 1921 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->failed = NULL; +#line 16938 "BatchImport.c" +} + + +static void prepared_file_import_job_finalize (BackgroundJob* obj) { + PreparedFileImportJob * self; +#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREPARED_FILE_IMPORT_JOB, PreparedFileImportJob); +#line 1919 "/home/jens/Source/shotwell/src/BatchImport.vala" + _prepared_file_unref0 (self->not_ready); +#line 1920 "/home/jens/Source/shotwell/src/BatchImport.vala" + _ready_for_import_unref0 (self->ready); +#line 1921 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->failed); +#line 1918 "/home/jens/Source/shotwell/src/BatchImport.vala" + BACKGROUND_JOB_CLASS (prepared_file_import_job_parent_class)->finalize (obj); +#line 16954 "BatchImport.c" +} + + +GType prepared_file_import_job_get_type (void) { + static volatile gsize prepared_file_import_job_type_id__volatile = 0; + if (g_once_init_enter (&prepared_file_import_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PreparedFileImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) prepared_file_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreparedFileImportJob), 0, (GInstanceInitFunc) prepared_file_import_job_instance_init, NULL }; + GType prepared_file_import_job_type_id; + prepared_file_import_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "PreparedFileImportJob", &g_define_type_info, 0); + g_once_init_leave (&prepared_file_import_job_type_id__volatile, prepared_file_import_job_type_id); + } + return prepared_file_import_job_type_id__volatile; +} + + +CompletedImportObject* completed_import_object_construct (GType object_type, MediaSource* source, Thumbnails* thumbnails, BatchImportJob* original_job, BatchImportResult* import_result) { + CompletedImportObject* self = NULL; + Thumbnails* _tmp0_ = NULL; + Thumbnails* _tmp1_ = NULL; + BatchImportResult* _tmp2_ = NULL; + BatchImportResult* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + MediaSource* _tmp5_ = NULL; + BatchImportJob* _tmp6_ = NULL; + BatchImportJob* _tmp7_ = NULL; + Thumbnails* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; +#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); +#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_THUMBNAILS (thumbnails), NULL); +#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_JOB (original_job), NULL); +#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_RESULT (import_result), NULL); +#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (CompletedImportObject*) g_type_create_instance (object_type); +#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = thumbnails; +#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _thumbnails_ref0 (_tmp0_); +#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala" + _thumbnails_unref0 (self->thumbnails); +#line 2016 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->thumbnails = _tmp1_; +#line 2017 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = import_result; +#line 2017 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _batch_import_result_ref0 (_tmp2_); +#line 2017 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->batch_result); +#line 2017 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->batch_result = _tmp3_; +#line 2018 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = source; +#line 2018 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 2018 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->source); +#line 2018 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->source = _tmp5_; +#line 2019 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = original_job; +#line 2019 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _batch_import_job_ref0 (_tmp6_); +#line 2019 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->original_job); +#line 2019 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->original_job = _tmp7_; +#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = thumbnails; +#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = thumbnails_get (_tmp8_, THUMBNAIL_CACHE_SIZE_LARGEST); +#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->user_preview); +#line 2020 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->user_preview = _tmp9_; +#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 17034 "BatchImport.c" +} + + +CompletedImportObject* completed_import_object_new (MediaSource* source, Thumbnails* thumbnails, BatchImportJob* original_job, BatchImportResult* import_result) { +#line 2014 "/home/jens/Source/shotwell/src/BatchImport.vala" + return completed_import_object_construct (TYPE_COMPLETED_IMPORT_OBJECT, source, thumbnails, original_job, import_result); +#line 17041 "BatchImport.c" +} + + +static void value_completed_import_object_init (GValue* value) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 17048 "BatchImport.c" +} + + +static void value_completed_import_object_free_value (GValue* value) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (value->data[0].v_pointer) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed_import_object_unref (value->data[0].v_pointer); +#line 17057 "BatchImport.c" + } +} + + +static void value_completed_import_object_copy_value (const GValue* src_value, GValue* dest_value) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (src_value->data[0].v_pointer) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = completed_import_object_ref (src_value->data[0].v_pointer); +#line 17067 "BatchImport.c" + } else { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + dest_value->data[0].v_pointer = NULL; +#line 17071 "BatchImport.c" + } +} + + +static gpointer value_completed_import_object_peek_pointer (const GValue* value) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 17079 "BatchImport.c" +} + + +static gchar* value_completed_import_object_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (collect_values[0].v_pointer) { +#line 17086 "BatchImport.c" + CompletedImportObject* object; + object = collect_values[0].v_pointer; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (object->parent_instance.g_class == NULL) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 17093 "BatchImport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 17097 "BatchImport.c" + } +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = completed_import_object_ref (object); +#line 17101 "BatchImport.c" + } else { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 17105 "BatchImport.c" + } +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 17109 "BatchImport.c" +} + + +static gchar* value_completed_import_object_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + CompletedImportObject** object_p; + object_p = collect_values[0].v_pointer; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!object_p) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 17120 "BatchImport.c" + } +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (!value->data[0].v_pointer) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = NULL; +#line 17126 "BatchImport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = value->data[0].v_pointer; +#line 17130 "BatchImport.c" + } else { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + *object_p = completed_import_object_ref (value->data[0].v_pointer); +#line 17134 "BatchImport.c" + } +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return NULL; +#line 17138 "BatchImport.c" +} + + +GParamSpec* param_spec_completed_import_object (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecCompletedImportObject* spec; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_COMPLETED_IMPORT_OBJECT), NULL); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return G_PARAM_SPEC (spec); +#line 17152 "BatchImport.c" +} + + +gpointer value_get_completed_import_object (const GValue* value) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMPLETED_IMPORT_OBJECT), NULL); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return value->data[0].v_pointer; +#line 17161 "BatchImport.c" +} + + +void value_set_completed_import_object (GValue* value, gpointer v_object) { + CompletedImportObject* old; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMPLETED_IMPORT_OBJECT)); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_COMPLETED_IMPORT_OBJECT)); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed_import_object_ref (value->data[0].v_pointer); +#line 17181 "BatchImport.c" + } else { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 17185 "BatchImport.c" + } +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed_import_object_unref (old); +#line 17191 "BatchImport.c" + } +} + + +void value_take_completed_import_object (GValue* value, gpointer v_object) { + CompletedImportObject* old; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMPLETED_IMPORT_OBJECT)); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + old = value->data[0].v_pointer; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (v_object) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_COMPLETED_IMPORT_OBJECT)); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = v_object; +#line 17210 "BatchImport.c" + } else { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + value->data[0].v_pointer = NULL; +#line 17214 "BatchImport.c" + } +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (old) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed_import_object_unref (old); +#line 17220 "BatchImport.c" + } +} + + +static void completed_import_object_class_init (CompletedImportObjectClass * klass) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + completed_import_object_parent_class = g_type_class_peek_parent (klass); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((CompletedImportObjectClass *) klass)->finalize = completed_import_object_finalize; +#line 17230 "BatchImport.c" +} + + +static void completed_import_object_instance_init (CompletedImportObject * self) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->ref_count = 1; +#line 17237 "BatchImport.c" +} + + +static void completed_import_object_finalize (CompletedImportObject* obj) { + CompletedImportObject * self; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COMPLETED_IMPORT_OBJECT, CompletedImportObject); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_signal_handlers_destroy (self); +#line 2008 "/home/jens/Source/shotwell/src/BatchImport.vala" + _thumbnails_unref0 (self->thumbnails); +#line 2009 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_result_unref0 (self->batch_result); +#line 2010 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->source); +#line 2011 "/home/jens/Source/shotwell/src/BatchImport.vala" + _batch_import_job_unref0 (self->original_job); +#line 2012 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_object_unref0 (self->user_preview); +#line 17257 "BatchImport.c" +} + + +GType completed_import_object_get_type (void) { + static volatile gsize completed_import_object_type_id__volatile = 0; + if (g_once_init_enter (&completed_import_object_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_completed_import_object_init, value_completed_import_object_free_value, value_completed_import_object_copy_value, value_completed_import_object_peek_pointer, "p", value_completed_import_object_collect_value, "p", value_completed_import_object_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (CompletedImportObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) completed_import_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CompletedImportObject), 0, (GInstanceInitFunc) completed_import_object_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType completed_import_object_type_id; + completed_import_object_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CompletedImportObject", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&completed_import_object_type_id__volatile, completed_import_object_type_id); + } + return completed_import_object_type_id__volatile; +} + + +gpointer completed_import_object_ref (gpointer instance) { + CompletedImportObject* self; + self = instance; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_atomic_int_inc (&self->ref_count); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + return instance; +#line 17282 "BatchImport.c" +} + + +void completed_import_object_unref (gpointer instance) { + CompletedImportObject* self; + self = instance; +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + COMPLETED_IMPORT_OBJECT_GET_CLASS (self)->finalize (self); +#line 2007 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 17295 "BatchImport.c" + } +} + + +ThumbnailWriterJob* thumbnail_writer_job_construct (GType object_type, BatchImport* owner, CompletedImportObject* completed_import_source, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancel_callback, void* cancel_callback_target) { + ThumbnailWriterJob* self = NULL; + BatchImport* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GCancellable* _tmp2_ = NULL; + CancellationCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + CompletedImportObject* _tmp4_ = NULL; + Thumbnails* _tmp5_ = NULL; + CompletedImportObject* _tmp6_ = NULL; + CompletedImportObject* _tmp7_ = NULL; +#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_BATCH_IMPORT (owner), NULL); +#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (IS_COMPLETED_IMPORT_OBJECT (completed_import_source), NULL); +#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 2029 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = owner; +#line 2029 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = callback; +#line 2029 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1__target = callback_target; +#line 2029 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = cancellable; +#line 2029 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = cancel_callback; +#line 2029 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3__target = cancel_callback_target; +#line 2029 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = (ThumbnailWriterJob*) background_import_job_construct (object_type, _tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp3_, _tmp3__target); +#line 2031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = completed_import_source; +#line 2031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_->thumbnails; +#line 2031 "/home/jens/Source/shotwell/src/BatchImport.vala" + _vala_assert (_tmp5_ != NULL, "completed_import_source.thumbnails != null"); +#line 2032 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = completed_import_source; +#line 2032 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _completed_import_object_ref0 (_tmp6_); +#line 2032 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_import_object_unref0 (self->completed_import_source); +#line 2032 "/home/jens/Source/shotwell/src/BatchImport.vala" + self->completed_import_source = _tmp7_; +#line 2034 "/home/jens/Source/shotwell/src/BatchImport.vala" + background_job_set_completion_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW); +#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala" + return self; +#line 17350 "BatchImport.c" +} + + +ThumbnailWriterJob* thumbnail_writer_job_new (BatchImport* owner, CompletedImportObject* completed_import_source, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancel_callback, void* cancel_callback_target) { +#line 2027 "/home/jens/Source/shotwell/src/BatchImport.vala" + return thumbnail_writer_job_construct (TYPE_THUMBNAIL_WRITER_JOB, owner, completed_import_source, callback, callback_target, cancellable, cancel_callback, cancel_callback_target); +#line 17357 "BatchImport.c" +} + + +static void thumbnail_writer_job_real_execute (BackgroundJob* base) { + ThumbnailWriterJob * self; + CompletedImportObject* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 2037 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob); +#line 17367 "BatchImport.c" + { + CompletedImportObject* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + CompletedImportObject* _tmp2_ = NULL; + Thumbnails* _tmp3_ = NULL; + CompletedImportObject* _tmp4_ = NULL; + BatchImportResult* _tmp5_ = NULL; +#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp0_ = self->completed_import_source; +#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp1_ = _tmp0_->source; +#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp2_ = self->completed_import_source; +#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp3_ = _tmp2_->thumbnails; +#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala" + thumbnail_cache_import_thumbnails (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp3_, TRUE, &_inner_error_); +#line 2039 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17387 "BatchImport.c" + goto __catch410_g_error; + } +#line 2041 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp4_ = self->completed_import_source; +#line 2041 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_ = _tmp4_->batch_result; +#line 2041 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp5_->result = IMPORT_RESULT_SUCCESS; +#line 17396 "BatchImport.c" + } + goto __finally410; + __catch410_g_error: + { + GError* err = NULL; + CompletedImportObject* _tmp6_ = NULL; + BatchImportResult* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + ImportResult _tmp9_ = 0; +#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala" + err = _inner_error_; +#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala" + _inner_error_ = NULL; +#line 2043 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp6_ = self->completed_import_source; +#line 2043 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_ = _tmp6_->batch_result; +#line 2043 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp8_ = err; +#line 2043 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp9_ = import_result_convert_error (_tmp8_, IMPORT_RESULT_FILE_ERROR); +#line 2043 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp7_->result = _tmp9_; +#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala" + _g_error_free0 (err); +#line 17422 "BatchImport.c" + } + __finally410: +#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2038 "/home/jens/Source/shotwell/src/BatchImport.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 2038 "/home/jens/Source/shotwell/src/BatchImport.vala" + g_clear_error (&_inner_error_); +#line 2038 "/home/jens/Source/shotwell/src/BatchImport.vala" + return; +#line 17433 "BatchImport.c" + } +#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_ = self->completed_import_source; +#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala" + _thumbnails_unref0 (_tmp10_->thumbnails); +#line 2048 "/home/jens/Source/shotwell/src/BatchImport.vala" + _tmp10_->thumbnails = NULL; +#line 17441 "BatchImport.c" +} + + +static void thumbnail_writer_job_class_init (ThumbnailWriterJobClass * klass) { +#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala" + thumbnail_writer_job_parent_class = g_type_class_peek_parent (klass); +#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->finalize = thumbnail_writer_job_finalize; +#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala" + ((BackgroundJobClass *) klass)->execute = thumbnail_writer_job_real_execute; +#line 17452 "BatchImport.c" +} + + +static void thumbnail_writer_job_instance_init (ThumbnailWriterJob * self) { +} + + +static void thumbnail_writer_job_finalize (BackgroundJob* obj) { + ThumbnailWriterJob * self; +#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_THUMBNAIL_WRITER_JOB, ThumbnailWriterJob); +#line 2025 "/home/jens/Source/shotwell/src/BatchImport.vala" + _completed_import_object_unref0 (self->completed_import_source); +#line 2024 "/home/jens/Source/shotwell/src/BatchImport.vala" + BACKGROUND_JOB_CLASS (thumbnail_writer_job_parent_class)->finalize (obj); +#line 17468 "BatchImport.c" +} + + +GType thumbnail_writer_job_get_type (void) { + static volatile gsize thumbnail_writer_job_type_id__volatile = 0; + if (g_once_init_enter (&thumbnail_writer_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ThumbnailWriterJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_writer_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThumbnailWriterJob), 0, (GInstanceInitFunc) thumbnail_writer_job_instance_init, NULL }; + GType thumbnail_writer_job_type_id; + thumbnail_writer_job_type_id = g_type_register_static (TYPE_BACKGROUND_IMPORT_JOB, "ThumbnailWriterJob", &g_define_type_info, 0); + g_once_init_leave (&thumbnail_writer_job_type_id__volatile, thumbnail_writer_job_type_id); + } + return thumbnail_writer_job_type_id__volatile; +} + + + diff --git a/src/Box.c b/src/Box.c new file mode 100644 index 0000000..0ebb6da --- /dev/null +++ b/src/Box.c @@ -0,0 +1,2922 @@ +/* Box.c generated by valac 0.32.1, the Vala compiler + * generated from Box.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_BOX_LOCATION (box_location_get_type ()) + +#define TYPE_BOX_COMPLEMENTS (box_complements_get_type ()) + +#define TYPE_BOX (box_get_type ()) +typedef struct _Box Box; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +#define _g_free0(var) (var = (g_free (var), NULL)) +#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); + +typedef enum { + BOX_LOCATION_OUTSIDE, + BOX_LOCATION_INSIDE, + BOX_LOCATION_TOP_SIDE, + BOX_LOCATION_LEFT_SIDE, + BOX_LOCATION_RIGHT_SIDE, + BOX_LOCATION_BOTTOM_SIDE, + BOX_LOCATION_TOP_LEFT, + BOX_LOCATION_BOTTOM_LEFT, + BOX_LOCATION_TOP_RIGHT, + BOX_LOCATION_BOTTOM_RIGHT +} BoxLocation; + +typedef enum { + BOX_COMPLEMENTS_NONE, + BOX_COMPLEMENTS_VERTICAL, + BOX_COMPLEMENTS_HORIZONTAL, + BOX_COMPLEMENTS_BOTH +} BoxComplements; + +struct _Box { + gint left; + gint top; + gint right; + gint bottom; +}; + +struct _Dimensions { + gint width; + gint height; +}; + + + +GType box_location_get_type (void) G_GNUC_CONST; +GType box_complements_get_type (void) G_GNUC_CONST; +BoxComplements box_complements_derive (gboolean horizontal_complement, gboolean vertical_complement); +GType box_get_type (void) G_GNUC_CONST; +Box* box_dup (const Box* self); +void box_free (Box* self); +#define BOX_HAND_GRENADES 12 +void box_init (Box *self, gint left, gint top, gint right, gint bottom); +void box_from_rectangle (GdkRectangle* rect, Box* result); +void box_from_allocation (GtkAllocation* alloc, Box* result); +void box_from_points (GdkPoint* corner1, GdkPoint* corner2, Box* result); +void box_from_center (GdkPoint* center, gint width, gint height, Box* result); +gint box_get_width (Box *self); +gint box_get_height (Box *self); +gboolean box_is_valid (Box *self); +gboolean box_equals (Box *self, Box* box); +void box_adjust_width (Box *self, gint width); +void box_adjust_height (Box *self, gint height); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +void box_get_scaled (Box *self, Dimensions* scaled, Box* result); +void box_get_dimensions (Box *self, Dimensions* result); +void dimensions_get_scale_ratios (Dimensions *self, Dimensions* scaled, gdouble* width_ratio, gdouble* height_ratio); +void box_get_scaled_similar (Box *self, Dimensions* original, Dimensions* scaled, Box* result); +void box_get_offset (Box *self, gint xofs, gint yofs, Box* result); +void dimensions_init (Dimensions *self, gint width, gint height); +void box_get_points (Box *self, GdkPoint* top_left, GdkPoint* bottom_right); +void box_get_rectangle (Box *self, GdkRectangle* result); +void box_get_center (Box *self, GdkPoint* result); +void box_rotate_clockwise (Box *self, Dimensions* space, Box* result); +void box_rotate_counterclockwise (Box *self, Dimensions* space, Box* result); +void box_flip_left_to_right (Box *self, Dimensions* space, Box* result); +void box_flip_top_to_bottom (Box *self, Dimensions* space, Box* result); +gboolean box_intersects (Box *self, Box* compare); +void box_get_reduced (Box *self, gint amount, Box* result); +void box_get_expanded (Box *self, gint amount, Box* result); +gboolean box_contains (Box *self, GdkPoint* point); +BoxComplements box_resized_complements (Box *self, Box* resized, Box* horizontal, gboolean* horizontal_enlarged, Box* vertical, gboolean* vertical_enlarged); +BoxComplements box_shifted_complements (Box *self, Box* shifted, Box* horizontal_this, Box* vertical_this, Box* horizontal_shifted, Box* vertical_shifted); +void box_rubber_band (Box *self, GdkPoint* point, Box* result); +gchar* box_to_string (Box *self); +gchar* dimensions_to_string (Dimensions *self); +static gboolean box_in_zone (gdouble pos, gint zone); +static gboolean box_in_between (gdouble pos, gint top, gint bottom); +static gboolean box_near_in_between (gdouble pos, gint top, gint bottom); +BoxLocation box_approx_location (Box *self, gint x, gint y); + + +GType box_location_get_type (void) { + static volatile gsize box_location_type_id__volatile = 0; + if (g_once_init_enter (&box_location_type_id__volatile)) { + static const GEnumValue values[] = {{BOX_LOCATION_OUTSIDE, "BOX_LOCATION_OUTSIDE", "outside"}, {BOX_LOCATION_INSIDE, "BOX_LOCATION_INSIDE", "inside"}, {BOX_LOCATION_TOP_SIDE, "BOX_LOCATION_TOP_SIDE", "top-side"}, {BOX_LOCATION_LEFT_SIDE, "BOX_LOCATION_LEFT_SIDE", "left-side"}, {BOX_LOCATION_RIGHT_SIDE, "BOX_LOCATION_RIGHT_SIDE", "right-side"}, {BOX_LOCATION_BOTTOM_SIDE, "BOX_LOCATION_BOTTOM_SIDE", "bottom-side"}, {BOX_LOCATION_TOP_LEFT, "BOX_LOCATION_TOP_LEFT", "top-left"}, {BOX_LOCATION_BOTTOM_LEFT, "BOX_LOCATION_BOTTOM_LEFT", "bottom-left"}, {BOX_LOCATION_TOP_RIGHT, "BOX_LOCATION_TOP_RIGHT", "top-right"}, {BOX_LOCATION_BOTTOM_RIGHT, "BOX_LOCATION_BOTTOM_RIGHT", "bottom-right"}, {0, NULL, NULL}}; + GType box_location_type_id; + box_location_type_id = g_enum_register_static ("BoxLocation", values); + g_once_init_leave (&box_location_type_id__volatile, box_location_type_id); + } + return box_location_type_id__volatile; +} + + +BoxComplements box_complements_derive (gboolean horizontal_complement, gboolean vertical_complement) { + BoxComplements result = 0; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 27 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = horizontal_complement; +#line 27 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp1_) { +#line 140 "Box.c" + gboolean _tmp2_ = FALSE; +#line 27 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = vertical_complement; +#line 27 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = _tmp2_; +#line 146 "Box.c" + } else { +#line 27 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = FALSE; +#line 150 "Box.c" + } +#line 27 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp0_) { +#line 28 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_COMPLEMENTS_BOTH; +#line 28 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 158 "Box.c" + } else { + gboolean _tmp3_ = FALSE; +#line 29 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = horizontal_complement; +#line 29 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp3_) { +#line 30 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_COMPLEMENTS_HORIZONTAL; +#line 30 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 169 "Box.c" + } else { + gboolean _tmp4_ = FALSE; +#line 31 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = vertical_complement; +#line 31 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp4_) { +#line 32 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_COMPLEMENTS_VERTICAL; +#line 32 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 180 "Box.c" + } + } + } +#line 34 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_COMPLEMENTS_NONE; +#line 34 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 188 "Box.c" +} + + +GType box_complements_get_type (void) { + static volatile gsize box_complements_type_id__volatile = 0; + if (g_once_init_enter (&box_complements_type_id__volatile)) { + static const GEnumValue values[] = {{BOX_COMPLEMENTS_NONE, "BOX_COMPLEMENTS_NONE", "none"}, {BOX_COMPLEMENTS_VERTICAL, "BOX_COMPLEMENTS_VERTICAL", "vertical"}, {BOX_COMPLEMENTS_HORIZONTAL, "BOX_COMPLEMENTS_HORIZONTAL", "horizontal"}, {BOX_COMPLEMENTS_BOTH, "BOX_COMPLEMENTS_BOTH", "both"}, {0, NULL, NULL}}; + GType box_complements_type_id; + box_complements_type_id = g_enum_register_static ("BoxComplements", values); + g_once_init_leave (&box_complements_type_id__volatile, box_complements_type_id); + } + return box_complements_type_id__volatile; +} + + +void box_init (Box *self, gint left, gint top, gint right, gint bottom) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 46 "/home/jens/Source/shotwell/src/Box.vala" + memset (self, 0, sizeof (Box)); +#line 48 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = left; +#line 48 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = CLAMP (_tmp0_, 0, G_MAXINT); +#line 48 "/home/jens/Source/shotwell/src/Box.vala" + left = _tmp1_; +#line 49 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = top; +#line 49 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = CLAMP (_tmp2_, 0, G_MAXINT); +#line 49 "/home/jens/Source/shotwell/src/Box.vala" + top = _tmp3_; +#line 53 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = right; +#line 53 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = left; +#line 53 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp4_ <= _tmp5_) { +#line 237 "Box.c" + gint _tmp6_ = 0; +#line 54 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = left; +#line 54 "/home/jens/Source/shotwell/src/Box.vala" + right = _tmp6_ + 1; +#line 243 "Box.c" + } +#line 56 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = bottom; +#line 56 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = top; +#line 56 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp7_ <= _tmp8_) { +#line 251 "Box.c" + gint _tmp9_ = 0; +#line 57 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = top; +#line 57 "/home/jens/Source/shotwell/src/Box.vala" + bottom = _tmp9_ + 1; +#line 257 "Box.c" + } +#line 59 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = left; +#line 59 "/home/jens/Source/shotwell/src/Box.vala" + (*self).left = _tmp10_; +#line 60 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = top; +#line 60 "/home/jens/Source/shotwell/src/Box.vala" + (*self).top = _tmp11_; +#line 61 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = right; +#line 61 "/home/jens/Source/shotwell/src/Box.vala" + (*self).right = _tmp12_; +#line 62 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = bottom; +#line 62 "/home/jens/Source/shotwell/src/Box.vala" + (*self).bottom = _tmp13_; +#line 275 "Box.c" +} + + +void box_from_rectangle (GdkRectangle* rect, Box* result) { + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + Box _tmp12_ = {0}; +#line 65 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (rect != NULL); +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *rect; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.x; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = *rect; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = _tmp2_.y; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = *rect; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = _tmp4_.x; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = *rect; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = _tmp6_.width; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = *rect; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = _tmp8_.y; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = *rect; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = _tmp10_.height; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp12_, _tmp1_, _tmp3_, (_tmp5_ + _tmp7_) - 1, (_tmp9_ + _tmp11_) - 1); +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp12_; +#line 66 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 325 "Box.c" +} + + +void box_from_allocation (GtkAllocation* alloc, Box* result) { + GtkAllocation _tmp0_ = {0}; + gint _tmp1_ = 0; + GtkAllocation _tmp2_ = {0}; + gint _tmp3_ = 0; + GtkAllocation _tmp4_ = {0}; + gint _tmp5_ = 0; + GtkAllocation _tmp6_ = {0}; + gint _tmp7_ = 0; + GtkAllocation _tmp8_ = {0}; + gint _tmp9_ = 0; + GtkAllocation _tmp10_ = {0}; + gint _tmp11_ = 0; + Box _tmp12_ = {0}; +#line 69 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (alloc != NULL); +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *alloc; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.x; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = *alloc; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = _tmp2_.y; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = *alloc; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = _tmp4_.x; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = *alloc; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = _tmp6_.width; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = *alloc; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = _tmp8_.y; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = *alloc; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = _tmp10_.height; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp12_, _tmp1_, _tmp3_, (_tmp5_ + _tmp7_) - 1, (_tmp9_ + _tmp11_) - 1); +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp12_; +#line 70 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 375 "Box.c" +} + + +void box_from_points (GdkPoint* corner1, GdkPoint* corner2, Box* result) { + GdkPoint _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkPoint _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + GdkPoint _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkPoint _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + GdkPoint _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkPoint _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + Box _tmp20_ = {0}; +#line 75 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (corner1 != NULL); +#line 75 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (corner2 != NULL); +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *corner1; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.x; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = *corner2; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = _tmp2_.x; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = MIN (_tmp1_, _tmp3_); +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = *corner1; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = _tmp5_.y; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = *corner2; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = _tmp7_.y; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = MIN (_tmp6_, _tmp8_); +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = *corner1; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = _tmp10_.x; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = *corner2; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = _tmp12_.x; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = MAX (_tmp11_, _tmp13_); +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp15_ = *corner1; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = _tmp15_.y; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp17_ = *corner2; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp18_ = _tmp17_.y; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = MAX (_tmp16_, _tmp18_); +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp20_, _tmp4_, _tmp9_, _tmp14_, _tmp19_); +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp20_; +#line 76 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 451 "Box.c" +} + + +void box_from_center (GdkPoint* center, gint width, gint height, Box* result) { + GdkPoint _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GdkPoint _tmp9_ = {0}; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + Box _tmp12_ = {0}; +#line 80 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (center != NULL); +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *center; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.x; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = width; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = *center; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = _tmp3_.y; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = height; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = *center; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = _tmp6_.x; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = width; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = *center; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = _tmp9_.y; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = height; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp12_, _tmp1_ - (_tmp2_ / 2), _tmp4_ - (_tmp5_ / 2), _tmp7_ + (_tmp8_ / 2), _tmp10_ + (_tmp11_ / 2)); +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp12_; +#line 81 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 501 "Box.c" +} + + +gint box_get_width (Box *self) { + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 86 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).right; +#line 86 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).left; +#line 86 "/home/jens/Source/shotwell/src/Box.vala" + _vala_assert (_tmp0_ >= _tmp1_, "right >= left"); +#line 88 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).right; +#line 88 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).left; +#line 88 "/home/jens/Source/shotwell/src/Box.vala" + result = (_tmp2_ - _tmp3_) + 1; +#line 88 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 525 "Box.c" +} + + +gint box_get_height (Box *self) { + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 92 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).bottom; +#line 92 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).top; +#line 92 "/home/jens/Source/shotwell/src/Box.vala" + _vala_assert (_tmp0_ >= _tmp1_, "bottom >= top"); +#line 94 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).bottom; +#line 94 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).top; +#line 94 "/home/jens/Source/shotwell/src/Box.vala" + result = (_tmp2_ - _tmp3_) + 1; +#line 94 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 549 "Box.c" +} + + +gboolean box_is_valid (Box *self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).left; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp3_ >= 0) { +#line 563 "Box.c" + gint _tmp4_ = 0; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).top; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = _tmp4_ >= 0; +#line 569 "Box.c" + } else { +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = FALSE; +#line 573 "Box.c" + } +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp2_) { +#line 577 "Box.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = (*self).right; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).left; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp5_ >= _tmp6_; +#line 586 "Box.c" + } else { +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = FALSE; +#line 590 "Box.c" + } +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp1_) { +#line 594 "Box.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = (*self).bottom; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = (*self).top; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = _tmp7_ >= _tmp8_; +#line 603 "Box.c" + } else { +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = FALSE; +#line 607 "Box.c" + } +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp0_; +#line 98 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 613 "Box.c" +} + + +gboolean box_equals (Box *self, Box* box) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; + Box _tmp4_ = {0}; + gint _tmp5_ = 0; +#line 101 "/home/jens/Source/shotwell/src/Box.vala" + g_return_val_if_fail (box != NULL, FALSE); +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).left; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = *box; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = _tmp4_.left; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp3_ == _tmp5_) { +#line 635 "Box.c" + gint _tmp6_ = 0; + Box _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).top; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = *box; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = _tmp7_.top; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = _tmp6_ == _tmp8_; +#line 647 "Box.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = FALSE; +#line 651 "Box.c" + } +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp2_) { +#line 655 "Box.c" + gint _tmp9_ = 0; + Box _tmp10_ = {0}; + gint _tmp11_ = 0; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = (*self).right; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = *box; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = _tmp10_.right; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp9_ == _tmp11_; +#line 667 "Box.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = FALSE; +#line 671 "Box.c" + } +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp1_) { +#line 675 "Box.c" + gint _tmp12_ = 0; + Box _tmp13_ = {0}; + gint _tmp14_ = 0; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = (*self).bottom; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = *box; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = _tmp13_.bottom; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = _tmp12_ == _tmp14_; +#line 687 "Box.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = FALSE; +#line 691 "Box.c" + } +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp0_; +#line 102 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 697 "Box.c" +} + + +void box_adjust_width (Box *self, gint width) { + gint center_x = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 107 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 107 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).right; +#line 107 "/home/jens/Source/shotwell/src/Box.vala" + center_x = (_tmp0_ + _tmp1_) / 2; +#line 108 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = width; +#line 108 "/home/jens/Source/shotwell/src/Box.vala" + (*self).left = center_x - (_tmp2_ / 2); +#line 109 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = width; +#line 109 "/home/jens/Source/shotwell/src/Box.vala" + (*self).right = center_x + (_tmp3_ / 2); +#line 721 "Box.c" +} + + +void box_adjust_height (Box *self, gint height) { + gint center_y = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 114 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).top; +#line 114 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).bottom; +#line 114 "/home/jens/Source/shotwell/src/Box.vala" + center_y = (_tmp0_ + _tmp1_) / 2; +#line 115 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = height; +#line 115 "/home/jens/Source/shotwell/src/Box.vala" + (*self).top = center_y - (_tmp2_ / 2); +#line 116 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = height; +#line 116 "/home/jens/Source/shotwell/src/Box.vala" + (*self).bottom = center_y + (_tmp3_ / 2); +#line 745 "Box.c" +} + + +void box_get_scaled (Box *self, Dimensions* scaled, Box* result) { + gdouble x_scale = 0.0; + gdouble y_scale = 0.0; + Dimensions _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gint l = 0; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gint t = 0; + gint _tmp7_ = 0; + gdouble _tmp8_ = 0.0; + gdouble _tmp9_ = 0.0; + gint r = 0; + gint _tmp10_ = 0; + Dimensions _tmp11_ = {0}; + gint _tmp12_ = 0; + gint b = 0; + gint _tmp13_ = 0; + Dimensions _tmp14_ = {0}; + gint _tmp15_ = 0; + Box box = {0}; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gboolean _tmp20_ = FALSE; + gint _tmp21_ = 0; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; +#line 119 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (scaled != NULL); +#line 121 "/home/jens/Source/shotwell/src/Box.vala" + box_get_dimensions (&(*self), &_tmp0_); +#line 121 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = *scaled; +#line 121 "/home/jens/Source/shotwell/src/Box.vala" + dimensions_get_scale_ratios (&_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_); +#line 121 "/home/jens/Source/shotwell/src/Box.vala" + x_scale = _tmp2_; +#line 121 "/home/jens/Source/shotwell/src/Box.vala" + y_scale = _tmp3_; +#line 123 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).left; +#line 123 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = x_scale; +#line 123 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = round (((gdouble) _tmp4_) * _tmp5_); +#line 123 "/home/jens/Source/shotwell/src/Box.vala" + l = (gint) _tmp6_; +#line 124 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = (*self).top; +#line 124 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = y_scale; +#line 124 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = round (((gdouble) _tmp7_) * _tmp8_); +#line 124 "/home/jens/Source/shotwell/src/Box.vala" + t = (gint) _tmp9_; +#line 127 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = l; +#line 127 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = *scaled; +#line 127 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = _tmp11_.width; +#line 127 "/home/jens/Source/shotwell/src/Box.vala" + r = (_tmp10_ + _tmp12_) - 1; +#line 128 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = t; +#line 128 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = *scaled; +#line 128 "/home/jens/Source/shotwell/src/Box.vala" + _tmp15_ = _tmp14_.height; +#line 128 "/home/jens/Source/shotwell/src/Box.vala" + b = (_tmp13_ + _tmp15_) - 1; +#line 130 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = l; +#line 130 "/home/jens/Source/shotwell/src/Box.vala" + _tmp17_ = t; +#line 130 "/home/jens/Source/shotwell/src/Box.vala" + _tmp18_ = r; +#line 130 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = b; +#line 130 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&box, _tmp16_, _tmp17_, _tmp18_, _tmp19_); +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _tmp21_ = box_get_width (&box); +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _tmp22_ = *scaled; +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _tmp23_ = _tmp22_.width; +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp21_ == _tmp23_) { +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _tmp20_ = TRUE; +#line 845 "Box.c" + } else { + gint _tmp24_ = 0; + Dimensions _tmp25_ = {0}; + gint _tmp26_ = 0; +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _tmp24_ = box_get_height (&box); +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _tmp25_ = *scaled; +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _tmp26_ = _tmp25_.height; +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _tmp20_ = _tmp24_ == _tmp26_; +#line 858 "Box.c" + } +#line 131 "/home/jens/Source/shotwell/src/Box.vala" + _vala_assert (_tmp20_, "box.get_width() == scaled.width || box.get_height() == scaled.height"); +#line 133 "/home/jens/Source/shotwell/src/Box.vala" + *result = box; +#line 133 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 866 "Box.c" +} + + +void box_get_scaled_similar (Box *self, Dimensions* original, Dimensions* scaled, Box* result) { + gdouble x_scale = 0.0; + gdouble y_scale = 0.0; + Dimensions _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gint l = 0; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gint t = 0; + gint _tmp6_ = 0; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; + gint r = 0; + gint _tmp9_ = 0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + gint b = 0; + gint _tmp12_ = 0; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + gint _tmp15_ = 0; + Dimensions _tmp16_ = {0}; + gint _tmp17_ = 0; + gint _tmp20_ = 0; + Dimensions _tmp21_ = {0}; + gint _tmp22_ = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + Box _tmp29_ = {0}; +#line 136 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (original != NULL); +#line 136 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (scaled != NULL); +#line 138 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *scaled; +#line 138 "/home/jens/Source/shotwell/src/Box.vala" + dimensions_get_scale_ratios (original, &_tmp0_, &_tmp1_, &_tmp2_); +#line 138 "/home/jens/Source/shotwell/src/Box.vala" + x_scale = _tmp1_; +#line 138 "/home/jens/Source/shotwell/src/Box.vala" + y_scale = _tmp2_; +#line 140 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).left; +#line 140 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = x_scale; +#line 140 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = round (((gdouble) _tmp3_) * _tmp4_); +#line 140 "/home/jens/Source/shotwell/src/Box.vala" + l = (gint) _tmp5_; +#line 141 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).top; +#line 141 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = y_scale; +#line 141 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = round (((gdouble) _tmp6_) * _tmp7_); +#line 141 "/home/jens/Source/shotwell/src/Box.vala" + t = (gint) _tmp8_; +#line 142 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = (*self).right; +#line 142 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = x_scale; +#line 142 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = round (((gdouble) _tmp9_) * _tmp10_); +#line 142 "/home/jens/Source/shotwell/src/Box.vala" + r = (gint) _tmp11_; +#line 143 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = (*self).bottom; +#line 143 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = y_scale; +#line 143 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = round (((gdouble) _tmp12_) * _tmp13_); +#line 143 "/home/jens/Source/shotwell/src/Box.vala" + b = (gint) _tmp14_; +#line 146 "/home/jens/Source/shotwell/src/Box.vala" + _tmp15_ = r; +#line 146 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = *scaled; +#line 146 "/home/jens/Source/shotwell/src/Box.vala" + _tmp17_ = _tmp16_.width; +#line 146 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp15_ >= _tmp17_) { +#line 955 "Box.c" + Dimensions _tmp18_ = {0}; + gint _tmp19_ = 0; +#line 147 "/home/jens/Source/shotwell/src/Box.vala" + _tmp18_ = *scaled; +#line 147 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = _tmp18_.width; +#line 147 "/home/jens/Source/shotwell/src/Box.vala" + r = _tmp19_ - 1; +#line 964 "Box.c" + } +#line 149 "/home/jens/Source/shotwell/src/Box.vala" + _tmp20_ = b; +#line 149 "/home/jens/Source/shotwell/src/Box.vala" + _tmp21_ = *scaled; +#line 149 "/home/jens/Source/shotwell/src/Box.vala" + _tmp22_ = _tmp21_.height; +#line 149 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp20_ >= _tmp22_) { +#line 974 "Box.c" + Dimensions _tmp23_ = {0}; + gint _tmp24_ = 0; +#line 150 "/home/jens/Source/shotwell/src/Box.vala" + _tmp23_ = *scaled; +#line 150 "/home/jens/Source/shotwell/src/Box.vala" + _tmp24_ = _tmp23_.height; +#line 150 "/home/jens/Source/shotwell/src/Box.vala" + b = _tmp24_ - 1; +#line 983 "Box.c" + } +#line 152 "/home/jens/Source/shotwell/src/Box.vala" + _tmp25_ = l; +#line 152 "/home/jens/Source/shotwell/src/Box.vala" + _tmp26_ = t; +#line 152 "/home/jens/Source/shotwell/src/Box.vala" + _tmp27_ = r; +#line 152 "/home/jens/Source/shotwell/src/Box.vala" + _tmp28_ = b; +#line 152 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp29_, _tmp25_, _tmp26_, _tmp27_, _tmp28_); +#line 152 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp29_; +#line 152 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 999 "Box.c" +} + + +void box_get_offset (Box *self, gint xofs, gint yofs, Box* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = xofs; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).top; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = yofs; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).right; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = xofs; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).bottom; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = yofs; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp8_, _tmp0_ + _tmp1_, _tmp2_ + _tmp3_, _tmp4_ + _tmp5_, _tmp6_ + _tmp7_); +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp8_; +#line 156 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1035 "Box.c" +} + + +void box_get_dimensions (Box *self, Dimensions* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; +#line 160 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = box_get_width (&(*self)); +#line 160 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = box_get_height (&(*self)); +#line 160 "/home/jens/Source/shotwell/src/Box.vala" + dimensions_init (&_tmp2_, _tmp0_, _tmp1_); +#line 160 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp2_; +#line 160 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1053 "Box.c" +} + + +void box_get_points (Box *self, GdkPoint* top_left, GdkPoint* bottom_right) { + GdkPoint _vala_top_left = {0}; + GdkPoint _vala_bottom_right = {0}; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; +#line 164 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 164 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).top; +#line 164 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_.x = _tmp0_; +#line 164 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_.y = _tmp1_; +#line 164 "/home/jens/Source/shotwell/src/Box.vala" + _vala_top_left = _tmp2_; +#line 165 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).right; +#line 165 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).bottom; +#line 165 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_.x = _tmp3_; +#line 165 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_.y = _tmp4_; +#line 165 "/home/jens/Source/shotwell/src/Box.vala" + _vala_bottom_right = _tmp5_; +#line 163 "/home/jens/Source/shotwell/src/Box.vala" + if (top_left) { +#line 163 "/home/jens/Source/shotwell/src/Box.vala" + *top_left = _vala_top_left; +#line 1090 "Box.c" + } +#line 163 "/home/jens/Source/shotwell/src/Box.vala" + if (bottom_right) { +#line 163 "/home/jens/Source/shotwell/src/Box.vala" + *bottom_right = _vala_bottom_right; +#line 1096 "Box.c" + } +} + + +void box_get_rectangle (Box *self, GdkRectangle* result) { + GdkRectangle rect = {0}; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 169 "/home/jens/Source/shotwell/src/Box.vala" + memset (&rect, 0, sizeof (GdkRectangle)); +#line 170 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 170 "/home/jens/Source/shotwell/src/Box.vala" + rect.x = _tmp0_; +#line 171 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).top; +#line 171 "/home/jens/Source/shotwell/src/Box.vala" + rect.y = _tmp1_; +#line 172 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = box_get_width (&(*self)); +#line 172 "/home/jens/Source/shotwell/src/Box.vala" + rect.width = _tmp2_; +#line 173 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = box_get_height (&(*self)); +#line 173 "/home/jens/Source/shotwell/src/Box.vala" + rect.height = _tmp3_; +#line 175 "/home/jens/Source/shotwell/src/Box.vala" + *result = rect; +#line 175 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1129 "Box.c" +} + + +void box_get_center (Box *self, GdkPoint* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GdkPoint _tmp4_ = {0}; +#line 179 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 179 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).right; +#line 179 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).top; +#line 179 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).bottom; +#line 179 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_.x = (_tmp0_ + _tmp1_) / 2; +#line 179 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_.y = (_tmp2_ + _tmp3_) / 2; +#line 179 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp4_; +#line 179 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1155 "Box.c" +} + + +void box_rotate_clockwise (Box *self, Dimensions* space, Box* result) { + gint l = 0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint t = 0; + gint _tmp3_ = 0; + gint r = 0; + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint b = 0; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; +#line 182 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (space != NULL); +#line 183 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *space; +#line 183 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.width; +#line 183 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).bottom; +#line 183 "/home/jens/Source/shotwell/src/Box.vala" + l = (_tmp1_ - _tmp2_) - 1; +#line 184 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).left; +#line 184 "/home/jens/Source/shotwell/src/Box.vala" + t = _tmp3_; +#line 185 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = *space; +#line 185 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = _tmp4_.width; +#line 185 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).top; +#line 185 "/home/jens/Source/shotwell/src/Box.vala" + r = (_tmp5_ - _tmp6_) - 1; +#line 186 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = (*self).right; +#line 186 "/home/jens/Source/shotwell/src/Box.vala" + b = _tmp7_; +#line 188 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp8_, l, t, r, b); +#line 188 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp8_; +#line 188 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1205 "Box.c" +} + + +void box_rotate_counterclockwise (Box *self, Dimensions* space, Box* result) { + gint l = 0; + gint _tmp0_ = 0; + gint t = 0; + Dimensions _tmp1_ = {0}; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint r = 0; + gint _tmp4_ = 0; + gint b = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; +#line 191 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (space != NULL); +#line 192 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).top; +#line 192 "/home/jens/Source/shotwell/src/Box.vala" + l = _tmp0_; +#line 193 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = *space; +#line 193 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = _tmp1_.height; +#line 193 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).right; +#line 193 "/home/jens/Source/shotwell/src/Box.vala" + t = (_tmp2_ - _tmp3_) - 1; +#line 194 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).bottom; +#line 194 "/home/jens/Source/shotwell/src/Box.vala" + r = _tmp4_; +#line 195 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = *space; +#line 195 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = _tmp5_.height; +#line 195 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = (*self).left; +#line 195 "/home/jens/Source/shotwell/src/Box.vala" + b = (_tmp6_ - _tmp7_) - 1; +#line 197 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp8_, l, t, r, b); +#line 197 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp8_; +#line 197 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1255 "Box.c" +} + + +void box_flip_left_to_right (Box *self, Dimensions* space, Box* result) { + gint l = 0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint r = 0; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; +#line 200 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (space != NULL); +#line 201 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *space; +#line 201 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.width; +#line 201 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).right; +#line 201 "/home/jens/Source/shotwell/src/Box.vala" + l = (_tmp1_ - _tmp2_) - 1; +#line 202 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = *space; +#line 202 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = _tmp3_.width; +#line 202 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = (*self).left; +#line 202 "/home/jens/Source/shotwell/src/Box.vala" + r = (_tmp4_ - _tmp5_) - 1; +#line 204 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).top; +#line 204 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = (*self).bottom; +#line 204 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp8_, l, _tmp6_, r, _tmp7_); +#line 204 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp8_; +#line 204 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1299 "Box.c" +} + + +void box_flip_top_to_bottom (Box *self, Dimensions* space, Box* result) { + gint t = 0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint b = 0; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; +#line 207 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (space != NULL); +#line 208 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *space; +#line 208 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.height; +#line 208 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).bottom; +#line 208 "/home/jens/Source/shotwell/src/Box.vala" + t = (_tmp1_ - _tmp2_) - 1; +#line 209 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = *space; +#line 209 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = _tmp3_.height; +#line 209 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = (*self).top; +#line 209 "/home/jens/Source/shotwell/src/Box.vala" + b = (_tmp4_ - _tmp5_) - 1; +#line 211 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).left; +#line 211 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = (*self).right; +#line 211 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp8_, _tmp6_, t, _tmp7_, b); +#line 211 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp8_; +#line 211 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1343 "Box.c" +} + + +gboolean box_intersects (Box *self, Box* compare) { + gboolean result = FALSE; + gint left_intersect = 0; + gint _tmp0_ = 0; + Box _tmp1_ = {0}; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint top_intersect = 0; + gint _tmp4_ = 0; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint right_intersect = 0; + gint _tmp8_ = 0; + Box _tmp9_ = {0}; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint bottom_intersect = 0; + gint _tmp12_ = 0; + Box _tmp13_ = {0}; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gboolean _tmp16_ = FALSE; + gint _tmp17_ = 0; + gint _tmp18_ = 0; +#line 214 "/home/jens/Source/shotwell/src/Box.vala" + g_return_val_if_fail (compare != NULL, FALSE); +#line 215 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 215 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = *compare; +#line 215 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = _tmp1_.left; +#line 215 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = MAX (_tmp0_, _tmp2_); +#line 215 "/home/jens/Source/shotwell/src/Box.vala" + left_intersect = _tmp3_; +#line 216 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).top; +#line 216 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = *compare; +#line 216 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = _tmp5_.top; +#line 216 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = MAX (_tmp4_, _tmp6_); +#line 216 "/home/jens/Source/shotwell/src/Box.vala" + top_intersect = _tmp7_; +#line 217 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = (*self).right; +#line 217 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = *compare; +#line 217 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = _tmp9_.right; +#line 217 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = MIN (_tmp8_, _tmp10_); +#line 217 "/home/jens/Source/shotwell/src/Box.vala" + right_intersect = _tmp11_; +#line 218 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = (*self).bottom; +#line 218 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = *compare; +#line 218 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = _tmp13_.bottom; +#line 218 "/home/jens/Source/shotwell/src/Box.vala" + _tmp15_ = MIN (_tmp12_, _tmp14_); +#line 218 "/home/jens/Source/shotwell/src/Box.vala" + bottom_intersect = _tmp15_; +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + _tmp17_ = right_intersect; +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + _tmp18_ = left_intersect; +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp17_ >= _tmp18_) { +#line 1420 "Box.c" + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = bottom_intersect; +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + _tmp20_ = top_intersect; +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = _tmp19_ >= _tmp20_; +#line 1429 "Box.c" + } else { +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = FALSE; +#line 1433 "Box.c" + } +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp16_; +#line 220 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 1439 "Box.c" +} + + +void box_get_reduced (Box *self, gint amount, Box* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = amount; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).top; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = amount; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).right; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = amount; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).bottom; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = amount; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp8_, _tmp0_ + _tmp1_, _tmp2_ + _tmp3_, _tmp4_ - _tmp5_, _tmp6_ - _tmp7_); +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp8_; +#line 224 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1475 "Box.c" +} + + +void box_get_expanded (Box *self, gint amount, Box* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = amount; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).top; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = amount; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).right; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = amount; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).bottom; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = amount; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp8_, _tmp0_ - _tmp1_, _tmp2_ - _tmp3_, _tmp4_ + _tmp5_, _tmp6_ + _tmp7_); +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp8_; +#line 228 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 1511 "Box.c" +} + + +gboolean box_contains (Box *self, GdkPoint* point) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 231 "/home/jens/Source/shotwell/src/Box.vala" + g_return_val_if_fail (point != NULL, FALSE); +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = *point; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = _tmp3_.x; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = (*self).left; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp4_ >= _tmp5_) { +#line 1533 "Box.c" + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = *point; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = _tmp6_.x; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = (*self).right; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = _tmp7_ <= _tmp8_; +#line 1545 "Box.c" + } else { +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = FALSE; +#line 1549 "Box.c" + } +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp2_) { +#line 1553 "Box.c" + GdkPoint _tmp9_ = {0}; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = *point; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = _tmp9_.y; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = (*self).top; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp10_ >= _tmp11_; +#line 1565 "Box.c" + } else { +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = FALSE; +#line 1569 "Box.c" + } +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp1_) { +#line 1573 "Box.c" + GdkPoint _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = *point; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = _tmp12_.y; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = (*self).bottom; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = _tmp13_ <= _tmp14_; +#line 1585 "Box.c" + } else { +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = FALSE; +#line 1589 "Box.c" + } +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp0_; +#line 232 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 1595 "Box.c" +} + + +BoxComplements box_resized_complements (Box *self, Box* resized, Box* horizontal, gboolean* horizontal_enlarged, Box* vertical, gboolean* vertical_enlarged) { + Box _vala_horizontal = {0}; + gboolean _vala_horizontal_enlarged = FALSE; + Box _vala_vertical = {0}; + gboolean _vala_vertical_enlarged = FALSE; + BoxComplements result = 0; + gboolean horizontal_complement = FALSE; + Box _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean vertical_complement = FALSE; + Box _tmp36_ = {0}; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gboolean _tmp72_ = FALSE; + gboolean _tmp73_ = FALSE; + BoxComplements _tmp74_ = 0; +#line 238 "/home/jens/Source/shotwell/src/Box.vala" + g_return_val_if_fail (resized != NULL, 0); +#line 241 "/home/jens/Source/shotwell/src/Box.vala" + horizontal_complement = TRUE; +#line 242 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *resized; +#line 242 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.top; +#line 242 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).top; +#line 242 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp1_ < _tmp2_) { +#line 1628 "Box.c" + Box _tmp3_ = {0}; + gint _tmp4_ = 0; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + Box _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 244 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = *resized; +#line 244 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = _tmp3_.left; +#line 244 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = *resized; +#line 244 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = _tmp5_.top; +#line 244 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = *resized; +#line 244 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = _tmp7_.right; +#line 244 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = (*self).top; +#line 244 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal, _tmp4_, _tmp6_, _tmp8_, _tmp9_); +#line 245 "/home/jens/Source/shotwell/src/Box.vala" + _vala_horizontal_enlarged = TRUE; +#line 1654 "Box.c" + } else { + Box _tmp10_ = {0}; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 246 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = *resized; +#line 246 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = _tmp10_.top; +#line 246 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = (*self).top; +#line 246 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp11_ > _tmp12_) { +#line 1667 "Box.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + Box _tmp16_ = {0}; + gint _tmp17_ = 0; +#line 248 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = (*self).left; +#line 248 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = (*self).top; +#line 248 "/home/jens/Source/shotwell/src/Box.vala" + _tmp15_ = (*self).right; +#line 248 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = *resized; +#line 248 "/home/jens/Source/shotwell/src/Box.vala" + _tmp17_ = _tmp16_.top; +#line 248 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal, _tmp13_, _tmp14_, _tmp15_, _tmp17_); +#line 249 "/home/jens/Source/shotwell/src/Box.vala" + _vala_horizontal_enlarged = FALSE; +#line 1687 "Box.c" + } else { + Box _tmp18_ = {0}; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 250 "/home/jens/Source/shotwell/src/Box.vala" + _tmp18_ = *resized; +#line 250 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = _tmp18_.bottom; +#line 250 "/home/jens/Source/shotwell/src/Box.vala" + _tmp20_ = (*self).bottom; +#line 250 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp19_ < _tmp20_) { +#line 1700 "Box.c" + gint _tmp21_ = 0; + Box _tmp22_ = {0}; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 252 "/home/jens/Source/shotwell/src/Box.vala" + _tmp21_ = (*self).left; +#line 252 "/home/jens/Source/shotwell/src/Box.vala" + _tmp22_ = *resized; +#line 252 "/home/jens/Source/shotwell/src/Box.vala" + _tmp23_ = _tmp22_.bottom; +#line 252 "/home/jens/Source/shotwell/src/Box.vala" + _tmp24_ = (*self).right; +#line 252 "/home/jens/Source/shotwell/src/Box.vala" + _tmp25_ = (*self).bottom; +#line 252 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal, _tmp21_, _tmp23_, _tmp24_, _tmp25_); +#line 253 "/home/jens/Source/shotwell/src/Box.vala" + _vala_horizontal_enlarged = FALSE; +#line 1720 "Box.c" + } else { + Box _tmp26_ = {0}; + gint _tmp27_ = 0; + gint _tmp28_ = 0; +#line 254 "/home/jens/Source/shotwell/src/Box.vala" + _tmp26_ = *resized; +#line 254 "/home/jens/Source/shotwell/src/Box.vala" + _tmp27_ = _tmp26_.bottom; +#line 254 "/home/jens/Source/shotwell/src/Box.vala" + _tmp28_ = (*self).bottom; +#line 254 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp27_ > _tmp28_) { +#line 1733 "Box.c" + Box _tmp29_ = {0}; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + Box _tmp32_ = {0}; + gint _tmp33_ = 0; + Box _tmp34_ = {0}; + gint _tmp35_ = 0; +#line 256 "/home/jens/Source/shotwell/src/Box.vala" + _tmp29_ = *resized; +#line 256 "/home/jens/Source/shotwell/src/Box.vala" + _tmp30_ = _tmp29_.left; +#line 256 "/home/jens/Source/shotwell/src/Box.vala" + _tmp31_ = (*self).bottom; +#line 256 "/home/jens/Source/shotwell/src/Box.vala" + _tmp32_ = *resized; +#line 256 "/home/jens/Source/shotwell/src/Box.vala" + _tmp33_ = _tmp32_.right; +#line 256 "/home/jens/Source/shotwell/src/Box.vala" + _tmp34_ = *resized; +#line 256 "/home/jens/Source/shotwell/src/Box.vala" + _tmp35_ = _tmp34_.bottom; +#line 256 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal, _tmp30_, _tmp31_, _tmp33_, _tmp35_); +#line 257 "/home/jens/Source/shotwell/src/Box.vala" + _vala_horizontal_enlarged = TRUE; +#line 1759 "Box.c" + } else { +#line 259 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal, 0, 0, 0, 0); +#line 260 "/home/jens/Source/shotwell/src/Box.vala" + _vala_horizontal_enlarged = FALSE; +#line 261 "/home/jens/Source/shotwell/src/Box.vala" + horizontal_complement = FALSE; +#line 1767 "Box.c" + } + } + } + } +#line 264 "/home/jens/Source/shotwell/src/Box.vala" + vertical_complement = TRUE; +#line 265 "/home/jens/Source/shotwell/src/Box.vala" + _tmp36_ = *resized; +#line 265 "/home/jens/Source/shotwell/src/Box.vala" + _tmp37_ = _tmp36_.left; +#line 265 "/home/jens/Source/shotwell/src/Box.vala" + _tmp38_ = (*self).left; +#line 265 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp37_ < _tmp38_) { +#line 1782 "Box.c" + Box _tmp39_ = {0}; + gint _tmp40_ = 0; + Box _tmp41_ = {0}; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + Box _tmp44_ = {0}; + gint _tmp45_ = 0; +#line 267 "/home/jens/Source/shotwell/src/Box.vala" + _tmp39_ = *resized; +#line 267 "/home/jens/Source/shotwell/src/Box.vala" + _tmp40_ = _tmp39_.left; +#line 267 "/home/jens/Source/shotwell/src/Box.vala" + _tmp41_ = *resized; +#line 267 "/home/jens/Source/shotwell/src/Box.vala" + _tmp42_ = _tmp41_.top; +#line 267 "/home/jens/Source/shotwell/src/Box.vala" + _tmp43_ = (*self).left; +#line 267 "/home/jens/Source/shotwell/src/Box.vala" + _tmp44_ = *resized; +#line 267 "/home/jens/Source/shotwell/src/Box.vala" + _tmp45_ = _tmp44_.bottom; +#line 267 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical, _tmp40_, _tmp42_, _tmp43_, _tmp45_); +#line 268 "/home/jens/Source/shotwell/src/Box.vala" + _vala_vertical_enlarged = TRUE; +#line 1808 "Box.c" + } else { + Box _tmp46_ = {0}; + gint _tmp47_ = 0; + gint _tmp48_ = 0; +#line 269 "/home/jens/Source/shotwell/src/Box.vala" + _tmp46_ = *resized; +#line 269 "/home/jens/Source/shotwell/src/Box.vala" + _tmp47_ = _tmp46_.left; +#line 269 "/home/jens/Source/shotwell/src/Box.vala" + _tmp48_ = (*self).left; +#line 269 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp47_ > _tmp48_) { +#line 1821 "Box.c" + gint _tmp49_ = 0; + gint _tmp50_ = 0; + Box _tmp51_ = {0}; + gint _tmp52_ = 0; + gint _tmp53_ = 0; +#line 271 "/home/jens/Source/shotwell/src/Box.vala" + _tmp49_ = (*self).left; +#line 271 "/home/jens/Source/shotwell/src/Box.vala" + _tmp50_ = (*self).top; +#line 271 "/home/jens/Source/shotwell/src/Box.vala" + _tmp51_ = *resized; +#line 271 "/home/jens/Source/shotwell/src/Box.vala" + _tmp52_ = _tmp51_.left; +#line 271 "/home/jens/Source/shotwell/src/Box.vala" + _tmp53_ = (*self).bottom; +#line 271 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical, _tmp49_, _tmp50_, _tmp52_, _tmp53_); +#line 272 "/home/jens/Source/shotwell/src/Box.vala" + _vala_vertical_enlarged = FALSE; +#line 1841 "Box.c" + } else { + Box _tmp54_ = {0}; + gint _tmp55_ = 0; + gint _tmp56_ = 0; +#line 273 "/home/jens/Source/shotwell/src/Box.vala" + _tmp54_ = *resized; +#line 273 "/home/jens/Source/shotwell/src/Box.vala" + _tmp55_ = _tmp54_.right; +#line 273 "/home/jens/Source/shotwell/src/Box.vala" + _tmp56_ = (*self).right; +#line 273 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp55_ < _tmp56_) { +#line 1854 "Box.c" + Box _tmp57_ = {0}; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _tmp61_ = 0; +#line 275 "/home/jens/Source/shotwell/src/Box.vala" + _tmp57_ = *resized; +#line 275 "/home/jens/Source/shotwell/src/Box.vala" + _tmp58_ = _tmp57_.right; +#line 275 "/home/jens/Source/shotwell/src/Box.vala" + _tmp59_ = (*self).top; +#line 275 "/home/jens/Source/shotwell/src/Box.vala" + _tmp60_ = (*self).right; +#line 275 "/home/jens/Source/shotwell/src/Box.vala" + _tmp61_ = (*self).bottom; +#line 275 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical, _tmp58_, _tmp59_, _tmp60_, _tmp61_); +#line 276 "/home/jens/Source/shotwell/src/Box.vala" + _vala_vertical_enlarged = FALSE; +#line 1874 "Box.c" + } else { + Box _tmp62_ = {0}; + gint _tmp63_ = 0; + gint _tmp64_ = 0; +#line 277 "/home/jens/Source/shotwell/src/Box.vala" + _tmp62_ = *resized; +#line 277 "/home/jens/Source/shotwell/src/Box.vala" + _tmp63_ = _tmp62_.right; +#line 277 "/home/jens/Source/shotwell/src/Box.vala" + _tmp64_ = (*self).right; +#line 277 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp63_ > _tmp64_) { +#line 1887 "Box.c" + gint _tmp65_ = 0; + Box _tmp66_ = {0}; + gint _tmp67_ = 0; + Box _tmp68_ = {0}; + gint _tmp69_ = 0; + Box _tmp70_ = {0}; + gint _tmp71_ = 0; +#line 279 "/home/jens/Source/shotwell/src/Box.vala" + _tmp65_ = (*self).right; +#line 279 "/home/jens/Source/shotwell/src/Box.vala" + _tmp66_ = *resized; +#line 279 "/home/jens/Source/shotwell/src/Box.vala" + _tmp67_ = _tmp66_.top; +#line 279 "/home/jens/Source/shotwell/src/Box.vala" + _tmp68_ = *resized; +#line 279 "/home/jens/Source/shotwell/src/Box.vala" + _tmp69_ = _tmp68_.right; +#line 279 "/home/jens/Source/shotwell/src/Box.vala" + _tmp70_ = *resized; +#line 279 "/home/jens/Source/shotwell/src/Box.vala" + _tmp71_ = _tmp70_.bottom; +#line 279 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical, _tmp65_, _tmp67_, _tmp69_, _tmp71_); +#line 280 "/home/jens/Source/shotwell/src/Box.vala" + _vala_vertical_enlarged = TRUE; +#line 1913 "Box.c" + } else { +#line 282 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical, 0, 0, 0, 0); +#line 283 "/home/jens/Source/shotwell/src/Box.vala" + _vala_vertical_enlarged = FALSE; +#line 284 "/home/jens/Source/shotwell/src/Box.vala" + vertical_complement = FALSE; +#line 1921 "Box.c" + } + } + } + } +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + _tmp72_ = horizontal_complement; +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + _tmp73_ = vertical_complement; +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + _tmp74_ = box_complements_derive (_tmp72_, _tmp73_); +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp74_; +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + if (horizontal) { +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + *horizontal = _vala_horizontal; +#line 1938 "Box.c" + } +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + if (horizontal_enlarged) { +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + *horizontal_enlarged = _vala_horizontal_enlarged; +#line 1944 "Box.c" + } +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + if (vertical) { +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + *vertical = _vala_vertical; +#line 1950 "Box.c" + } +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + if (vertical_enlarged) { +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + *vertical_enlarged = _vala_vertical_enlarged; +#line 1956 "Box.c" + } +#line 287 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 1960 "Box.c" +} + + +BoxComplements box_shifted_complements (Box *self, Box* shifted, Box* horizontal_this, Box* vertical_this, Box* horizontal_shifted, Box* vertical_shifted) { + Box _vala_horizontal_this = {0}; + Box _vala_vertical_this = {0}; + Box _vala_horizontal_shifted = {0}; + Box _vala_vertical_shifted = {0}; + BoxComplements result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean horizontal_complement = FALSE; + gboolean _tmp4_ = FALSE; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gboolean vertical_complement = FALSE; + gboolean _tmp42_ = FALSE; + Box _tmp43_ = {0}; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gboolean _tmp80_ = FALSE; + gboolean _tmp81_ = FALSE; + BoxComplements _tmp82_ = 0; +#line 293 "/home/jens/Source/shotwell/src/Box.vala" + g_return_val_if_fail (shifted != NULL, 0); +#line 295 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = box_get_width (&(*self)); +#line 295 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = box_get_width (shifted); +#line 295 "/home/jens/Source/shotwell/src/Box.vala" + _vala_assert (_tmp0_ == _tmp1_, "get_width() == shifted.get_width()"); +#line 296 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = box_get_height (&(*self)); +#line 296 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = box_get_height (shifted); +#line 296 "/home/jens/Source/shotwell/src/Box.vala" + _vala_assert (_tmp2_ == _tmp3_, "get_height() == shifted.get_height()"); +#line 298 "/home/jens/Source/shotwell/src/Box.vala" + horizontal_complement = TRUE; +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = *shifted; +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = _tmp5_.top; +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = (*self).top; +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp6_ < _tmp7_) { +#line 2011 "Box.c" + Box _tmp8_ = {0}; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = *shifted; +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = _tmp8_.bottom; +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = (*self).top; +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = _tmp9_ > _tmp10_; +#line 2023 "Box.c" + } else { +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = FALSE; +#line 2027 "Box.c" + } +#line 299 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp4_) { +#line 2031 "Box.c" + gint _tmp11_ = 0; + Box _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + Box _tmp16_ = {0}; + gint _tmp17_ = 0; + Box _tmp18_ = {0}; + gint _tmp19_ = 0; + Box _tmp20_ = {0}; + gint _tmp21_ = 0; + gint _tmp22_ = 0; +#line 301 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = (*self).left; +#line 301 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = *shifted; +#line 301 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = _tmp12_.bottom; +#line 301 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = (*self).right; +#line 301 "/home/jens/Source/shotwell/src/Box.vala" + _tmp15_ = (*self).bottom; +#line 301 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal_this, _tmp11_, _tmp13_, _tmp14_, _tmp15_); +#line 302 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = *shifted; +#line 302 "/home/jens/Source/shotwell/src/Box.vala" + _tmp17_ = _tmp16_.left; +#line 302 "/home/jens/Source/shotwell/src/Box.vala" + _tmp18_ = *shifted; +#line 302 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = _tmp18_.top; +#line 302 "/home/jens/Source/shotwell/src/Box.vala" + _tmp20_ = *shifted; +#line 302 "/home/jens/Source/shotwell/src/Box.vala" + _tmp21_ = _tmp20_.right; +#line 302 "/home/jens/Source/shotwell/src/Box.vala" + _tmp22_ = (*self).top; +#line 302 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal_shifted, _tmp17_, _tmp19_, _tmp21_, _tmp22_); +#line 2072 "Box.c" + } else { + gboolean _tmp23_ = FALSE; + Box _tmp24_ = {0}; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + _tmp24_ = *shifted; +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + _tmp25_ = _tmp24_.top; +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + _tmp26_ = (*self).top; +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp25_ > _tmp26_) { +#line 2086 "Box.c" + Box _tmp27_ = {0}; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + _tmp27_ = *shifted; +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + _tmp28_ = _tmp27_.top; +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + _tmp29_ = (*self).bottom; +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + _tmp23_ = _tmp28_ < _tmp29_; +#line 2098 "Box.c" + } else { +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + _tmp23_ = FALSE; +#line 2102 "Box.c" + } +#line 303 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp23_) { +#line 2106 "Box.c" + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + Box _tmp33_ = {0}; + gint _tmp34_ = 0; + Box _tmp35_ = {0}; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + Box _tmp38_ = {0}; + gint _tmp39_ = 0; + Box _tmp40_ = {0}; + gint _tmp41_ = 0; +#line 305 "/home/jens/Source/shotwell/src/Box.vala" + _tmp30_ = (*self).left; +#line 305 "/home/jens/Source/shotwell/src/Box.vala" + _tmp31_ = (*self).top; +#line 305 "/home/jens/Source/shotwell/src/Box.vala" + _tmp32_ = (*self).right; +#line 305 "/home/jens/Source/shotwell/src/Box.vala" + _tmp33_ = *shifted; +#line 305 "/home/jens/Source/shotwell/src/Box.vala" + _tmp34_ = _tmp33_.top; +#line 305 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal_this, _tmp30_, _tmp31_, _tmp32_, _tmp34_); +#line 306 "/home/jens/Source/shotwell/src/Box.vala" + _tmp35_ = *shifted; +#line 306 "/home/jens/Source/shotwell/src/Box.vala" + _tmp36_ = _tmp35_.left; +#line 306 "/home/jens/Source/shotwell/src/Box.vala" + _tmp37_ = (*self).bottom; +#line 306 "/home/jens/Source/shotwell/src/Box.vala" + _tmp38_ = *shifted; +#line 306 "/home/jens/Source/shotwell/src/Box.vala" + _tmp39_ = _tmp38_.right; +#line 306 "/home/jens/Source/shotwell/src/Box.vala" + _tmp40_ = *shifted; +#line 306 "/home/jens/Source/shotwell/src/Box.vala" + _tmp41_ = _tmp40_.bottom; +#line 306 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal_shifted, _tmp36_, _tmp37_, _tmp39_, _tmp41_); +#line 2147 "Box.c" + } else { +#line 309 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal_this, 0, 0, 0, 0); +#line 310 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_horizontal_shifted, 0, 0, 0, 0); +#line 311 "/home/jens/Source/shotwell/src/Box.vala" + horizontal_complement = FALSE; +#line 2155 "Box.c" + } + } +#line 314 "/home/jens/Source/shotwell/src/Box.vala" + vertical_complement = TRUE; +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + _tmp43_ = *shifted; +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + _tmp44_ = _tmp43_.left; +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + _tmp45_ = (*self).left; +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp44_ < _tmp45_) { +#line 2168 "Box.c" + Box _tmp46_ = {0}; + gint _tmp47_ = 0; + gint _tmp48_ = 0; +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + _tmp46_ = *shifted; +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + _tmp47_ = _tmp46_.right; +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + _tmp48_ = (*self).left; +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + _tmp42_ = _tmp47_ > _tmp48_; +#line 2180 "Box.c" + } else { +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + _tmp42_ = FALSE; +#line 2184 "Box.c" + } +#line 315 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp42_) { +#line 2188 "Box.c" + Box _tmp49_ = {0}; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + Box _tmp54_ = {0}; + gint _tmp55_ = 0; + Box _tmp56_ = {0}; + gint _tmp57_ = 0; + gint _tmp58_ = 0; + Box _tmp59_ = {0}; + gint _tmp60_ = 0; +#line 317 "/home/jens/Source/shotwell/src/Box.vala" + _tmp49_ = *shifted; +#line 317 "/home/jens/Source/shotwell/src/Box.vala" + _tmp50_ = _tmp49_.right; +#line 317 "/home/jens/Source/shotwell/src/Box.vala" + _tmp51_ = (*self).top; +#line 317 "/home/jens/Source/shotwell/src/Box.vala" + _tmp52_ = (*self).right; +#line 317 "/home/jens/Source/shotwell/src/Box.vala" + _tmp53_ = (*self).bottom; +#line 317 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical_this, _tmp50_, _tmp51_, _tmp52_, _tmp53_); +#line 318 "/home/jens/Source/shotwell/src/Box.vala" + _tmp54_ = *shifted; +#line 318 "/home/jens/Source/shotwell/src/Box.vala" + _tmp55_ = _tmp54_.left; +#line 318 "/home/jens/Source/shotwell/src/Box.vala" + _tmp56_ = *shifted; +#line 318 "/home/jens/Source/shotwell/src/Box.vala" + _tmp57_ = _tmp56_.top; +#line 318 "/home/jens/Source/shotwell/src/Box.vala" + _tmp58_ = (*self).left; +#line 318 "/home/jens/Source/shotwell/src/Box.vala" + _tmp59_ = *shifted; +#line 318 "/home/jens/Source/shotwell/src/Box.vala" + _tmp60_ = _tmp59_.bottom; +#line 318 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical_shifted, _tmp55_, _tmp57_, _tmp58_, _tmp60_); +#line 2229 "Box.c" + } else { + gboolean _tmp61_ = FALSE; + Box _tmp62_ = {0}; + gint _tmp63_ = 0; + gint _tmp64_ = 0; +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + _tmp62_ = *shifted; +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + _tmp63_ = _tmp62_.left; +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + _tmp64_ = (*self).left; +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp63_ > _tmp64_) { +#line 2243 "Box.c" + Box _tmp65_ = {0}; + gint _tmp66_ = 0; + gint _tmp67_ = 0; +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + _tmp65_ = *shifted; +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + _tmp66_ = _tmp65_.left; +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + _tmp67_ = (*self).right; +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + _tmp61_ = _tmp66_ < _tmp67_; +#line 2255 "Box.c" + } else { +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + _tmp61_ = FALSE; +#line 2259 "Box.c" + } +#line 319 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp61_) { +#line 2263 "Box.c" + gint _tmp68_ = 0; + gint _tmp69_ = 0; + Box _tmp70_ = {0}; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint _tmp73_ = 0; + Box _tmp74_ = {0}; + gint _tmp75_ = 0; + Box _tmp76_ = {0}; + gint _tmp77_ = 0; + Box _tmp78_ = {0}; + gint _tmp79_ = 0; +#line 321 "/home/jens/Source/shotwell/src/Box.vala" + _tmp68_ = (*self).left; +#line 321 "/home/jens/Source/shotwell/src/Box.vala" + _tmp69_ = (*self).top; +#line 321 "/home/jens/Source/shotwell/src/Box.vala" + _tmp70_ = *shifted; +#line 321 "/home/jens/Source/shotwell/src/Box.vala" + _tmp71_ = _tmp70_.left; +#line 321 "/home/jens/Source/shotwell/src/Box.vala" + _tmp72_ = (*self).bottom; +#line 321 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical_this, _tmp68_, _tmp69_, _tmp71_, _tmp72_); +#line 322 "/home/jens/Source/shotwell/src/Box.vala" + _tmp73_ = (*self).right; +#line 322 "/home/jens/Source/shotwell/src/Box.vala" + _tmp74_ = *shifted; +#line 322 "/home/jens/Source/shotwell/src/Box.vala" + _tmp75_ = _tmp74_.top; +#line 322 "/home/jens/Source/shotwell/src/Box.vala" + _tmp76_ = *shifted; +#line 322 "/home/jens/Source/shotwell/src/Box.vala" + _tmp77_ = _tmp76_.right; +#line 322 "/home/jens/Source/shotwell/src/Box.vala" + _tmp78_ = *shifted; +#line 322 "/home/jens/Source/shotwell/src/Box.vala" + _tmp79_ = _tmp78_.bottom; +#line 322 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical_shifted, _tmp73_, _tmp75_, _tmp77_, _tmp79_); +#line 2304 "Box.c" + } else { +#line 325 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical_this, 0, 0, 0, 0); +#line 326 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_vala_vertical_shifted, 0, 0, 0, 0); +#line 327 "/home/jens/Source/shotwell/src/Box.vala" + vertical_complement = FALSE; +#line 2312 "Box.c" + } + } +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + _tmp80_ = horizontal_complement; +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + _tmp81_ = vertical_complement; +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + _tmp82_ = box_complements_derive (_tmp80_, _tmp81_); +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp82_; +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + if (horizontal_this) { +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + *horizontal_this = _vala_horizontal_this; +#line 2327 "Box.c" + } +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + if (vertical_this) { +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + *vertical_this = _vala_vertical_this; +#line 2333 "Box.c" + } +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + if (horizontal_shifted) { +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + *horizontal_shifted = _vala_horizontal_shifted; +#line 2339 "Box.c" + } +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + if (vertical_shifted) { +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + *vertical_shifted = _vala_vertical_shifted; +#line 2345 "Box.c" + } +#line 330 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2349 "Box.c" +} + + +void box_rubber_band (Box *self, GdkPoint* point, Box* result) { + GdkPoint _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + gint t = 0; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint b = 0; + gint _tmp8_ = 0; + GdkPoint _tmp9_ = {0}; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint l = 0; + gint _tmp12_ = 0; + GdkPoint _tmp13_ = {0}; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint r = 0; + gint _tmp16_ = 0; + GdkPoint _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + Box _tmp20_ = {0}; +#line 333 "/home/jens/Source/shotwell/src/Box.vala" + g_return_if_fail (point != NULL); +#line 334 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = *point; +#line 334 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp0_.x; +#line 334 "/home/jens/Source/shotwell/src/Box.vala" + _vala_assert (_tmp1_ >= 0, "point.x >= 0"); +#line 335 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = *point; +#line 335 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = _tmp2_.y; +#line 335 "/home/jens/Source/shotwell/src/Box.vala" + _vala_assert (_tmp3_ >= 0, "point.y >= 0"); +#line 337 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = (*self).top; +#line 337 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = *point; +#line 337 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = _tmp5_.y; +#line 337 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = MIN (_tmp4_, _tmp6_); +#line 337 "/home/jens/Source/shotwell/src/Box.vala" + t = _tmp7_; +#line 338 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = (*self).bottom; +#line 338 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = *point; +#line 338 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = _tmp9_.y; +#line 338 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = MAX (_tmp8_, _tmp10_); +#line 338 "/home/jens/Source/shotwell/src/Box.vala" + b = _tmp11_; +#line 339 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = (*self).left; +#line 339 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = *point; +#line 339 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = _tmp13_.x; +#line 339 "/home/jens/Source/shotwell/src/Box.vala" + _tmp15_ = MIN (_tmp12_, _tmp14_); +#line 339 "/home/jens/Source/shotwell/src/Box.vala" + l = _tmp15_; +#line 340 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = (*self).right; +#line 340 "/home/jens/Source/shotwell/src/Box.vala" + _tmp17_ = *point; +#line 340 "/home/jens/Source/shotwell/src/Box.vala" + _tmp18_ = _tmp17_.x; +#line 340 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = MAX (_tmp16_, _tmp18_); +#line 340 "/home/jens/Source/shotwell/src/Box.vala" + r = _tmp19_; +#line 342 "/home/jens/Source/shotwell/src/Box.vala" + box_init (&_tmp20_, l, t, r, b); +#line 342 "/home/jens/Source/shotwell/src/Box.vala" + *result = _tmp20_; +#line 342 "/home/jens/Source/shotwell/src/Box.vala" + return; +#line 2439 "Box.c" +} + + +gchar* box_to_string (Box *self) { + gchar* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + Dimensions _tmp4_ = {0}; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = (*self).left; +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).top; +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).right; +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = (*self).bottom; +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + box_get_dimensions (&(*self), &_tmp4_); +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = dimensions_to_string (&_tmp4_); +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = _tmp5_; +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = g_strdup_printf ("%d,%d %d,%d (%s)", _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp6_); +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = _tmp7_; +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + _g_free0 (_tmp6_); +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp8_; +#line 346 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2478 "Box.c" +} + + +static gboolean box_in_zone (gdouble pos, gint zone) { + gboolean result = FALSE; + gint top_zone = 0; + gint _tmp0_ = 0; + gint bottom_zone = 0; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gboolean _tmp3_ = FALSE; +#line 350 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = zone; +#line 350 "/home/jens/Source/shotwell/src/Box.vala" + top_zone = _tmp0_ - BOX_HAND_GRENADES; +#line 351 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = zone; +#line 351 "/home/jens/Source/shotwell/src/Box.vala" + bottom_zone = _tmp1_ + BOX_HAND_GRENADES; +#line 353 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = pos; +#line 353 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = box_in_between (_tmp2_, top_zone, bottom_zone); +#line 353 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp3_; +#line 353 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2506 "Box.c" +} + + +static gboolean box_in_between (gdouble pos, gint top, gint bottom) { + gboolean result = FALSE; + gint ipos = 0; + gdouble _tmp0_ = 0.0; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 357 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = pos; +#line 357 "/home/jens/Source/shotwell/src/Box.vala" + ipos = (gint) _tmp0_; +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = ipos; +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = top; +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp2_ > _tmp3_) { +#line 2527 "Box.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = ipos; +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = bottom; +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = _tmp4_ < _tmp5_; +#line 2536 "Box.c" + } else { +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = FALSE; +#line 2540 "Box.c" + } +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp1_; +#line 359 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2546 "Box.c" +} + + +static gboolean box_near_in_between (gdouble pos, gint top, gint bottom) { + gboolean result = FALSE; + gint ipos = 0; + gdouble _tmp0_ = 0.0; + gint top_zone = 0; + gint _tmp1_ = 0; + gint bottom_zone = 0; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 363 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = pos; +#line 363 "/home/jens/Source/shotwell/src/Box.vala" + ipos = (gint) _tmp0_; +#line 364 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = top; +#line 364 "/home/jens/Source/shotwell/src/Box.vala" + top_zone = _tmp1_ - BOX_HAND_GRENADES; +#line 365 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = bottom; +#line 365 "/home/jens/Source/shotwell/src/Box.vala" + bottom_zone = _tmp2_ + BOX_HAND_GRENADES; +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = ipos; +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = top_zone; +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp4_ > _tmp5_) { +#line 2579 "Box.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = ipos; +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = bottom_zone; +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = _tmp6_ < _tmp7_; +#line 2588 "Box.c" + } else { +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = FALSE; +#line 2592 "Box.c" + } +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + result = _tmp3_; +#line 367 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2598 "Box.c" +} + + +BoxLocation box_approx_location (Box *self, gint x, gint y) { + BoxLocation result = 0; + gboolean near_width = FALSE; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean near_height = FALSE; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gboolean _tmp11_ = FALSE; +#line 371 "/home/jens/Source/shotwell/src/Box.vala" + _tmp0_ = x; +#line 371 "/home/jens/Source/shotwell/src/Box.vala" + _tmp1_ = (*self).left; +#line 371 "/home/jens/Source/shotwell/src/Box.vala" + _tmp2_ = (*self).right; +#line 371 "/home/jens/Source/shotwell/src/Box.vala" + _tmp3_ = box_near_in_between ((gdouble) _tmp0_, _tmp1_, _tmp2_); +#line 371 "/home/jens/Source/shotwell/src/Box.vala" + near_width = _tmp3_; +#line 372 "/home/jens/Source/shotwell/src/Box.vala" + _tmp4_ = y; +#line 372 "/home/jens/Source/shotwell/src/Box.vala" + _tmp5_ = (*self).top; +#line 372 "/home/jens/Source/shotwell/src/Box.vala" + _tmp6_ = (*self).bottom; +#line 372 "/home/jens/Source/shotwell/src/Box.vala" + _tmp7_ = box_near_in_between ((gdouble) _tmp4_, _tmp5_, _tmp6_); +#line 372 "/home/jens/Source/shotwell/src/Box.vala" + near_height = _tmp7_; +#line 374 "/home/jens/Source/shotwell/src/Box.vala" + _tmp9_ = x; +#line 374 "/home/jens/Source/shotwell/src/Box.vala" + _tmp10_ = (*self).left; +#line 374 "/home/jens/Source/shotwell/src/Box.vala" + _tmp11_ = box_in_zone ((gdouble) _tmp9_, _tmp10_); +#line 374 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp11_) { +#line 2646 "Box.c" + gboolean _tmp12_ = FALSE; +#line 374 "/home/jens/Source/shotwell/src/Box.vala" + _tmp12_ = near_height; +#line 374 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = _tmp12_; +#line 2652 "Box.c" + } else { +#line 374 "/home/jens/Source/shotwell/src/Box.vala" + _tmp8_ = FALSE; +#line 2656 "Box.c" + } +#line 374 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp8_) { +#line 2660 "Box.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gboolean _tmp15_ = FALSE; +#line 375 "/home/jens/Source/shotwell/src/Box.vala" + _tmp13_ = y; +#line 375 "/home/jens/Source/shotwell/src/Box.vala" + _tmp14_ = (*self).top; +#line 375 "/home/jens/Source/shotwell/src/Box.vala" + _tmp15_ = box_in_zone ((gdouble) _tmp13_, _tmp14_); +#line 375 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp15_) { +#line 376 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_TOP_LEFT; +#line 376 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2676 "Box.c" + } else { + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gboolean _tmp18_ = FALSE; +#line 377 "/home/jens/Source/shotwell/src/Box.vala" + _tmp16_ = y; +#line 377 "/home/jens/Source/shotwell/src/Box.vala" + _tmp17_ = (*self).bottom; +#line 377 "/home/jens/Source/shotwell/src/Box.vala" + _tmp18_ = box_in_zone ((gdouble) _tmp16_, _tmp17_); +#line 377 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp18_) { +#line 378 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_BOTTOM_LEFT; +#line 378 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2693 "Box.c" + } else { +#line 380 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_LEFT_SIDE; +#line 380 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2699 "Box.c" + } + } + } else { + gboolean _tmp19_ = FALSE; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gboolean _tmp22_ = FALSE; +#line 382 "/home/jens/Source/shotwell/src/Box.vala" + _tmp20_ = x; +#line 382 "/home/jens/Source/shotwell/src/Box.vala" + _tmp21_ = (*self).right; +#line 382 "/home/jens/Source/shotwell/src/Box.vala" + _tmp22_ = box_in_zone ((gdouble) _tmp20_, _tmp21_); +#line 382 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp22_) { +#line 2715 "Box.c" + gboolean _tmp23_ = FALSE; +#line 382 "/home/jens/Source/shotwell/src/Box.vala" + _tmp23_ = near_height; +#line 382 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = _tmp23_; +#line 2721 "Box.c" + } else { +#line 382 "/home/jens/Source/shotwell/src/Box.vala" + _tmp19_ = FALSE; +#line 2725 "Box.c" + } +#line 382 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp19_) { +#line 2729 "Box.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gboolean _tmp26_ = FALSE; +#line 383 "/home/jens/Source/shotwell/src/Box.vala" + _tmp24_ = y; +#line 383 "/home/jens/Source/shotwell/src/Box.vala" + _tmp25_ = (*self).top; +#line 383 "/home/jens/Source/shotwell/src/Box.vala" + _tmp26_ = box_in_zone ((gdouble) _tmp24_, _tmp25_); +#line 383 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp26_) { +#line 384 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_TOP_RIGHT; +#line 384 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2745 "Box.c" + } else { + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gboolean _tmp29_ = FALSE; +#line 385 "/home/jens/Source/shotwell/src/Box.vala" + _tmp27_ = y; +#line 385 "/home/jens/Source/shotwell/src/Box.vala" + _tmp28_ = (*self).bottom; +#line 385 "/home/jens/Source/shotwell/src/Box.vala" + _tmp29_ = box_in_zone ((gdouble) _tmp27_, _tmp28_); +#line 385 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp29_) { +#line 386 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_BOTTOM_RIGHT; +#line 386 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2762 "Box.c" + } else { +#line 388 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_RIGHT_SIDE; +#line 388 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2768 "Box.c" + } + } + } else { + gboolean _tmp30_ = FALSE; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + gboolean _tmp33_ = FALSE; +#line 390 "/home/jens/Source/shotwell/src/Box.vala" + _tmp31_ = y; +#line 390 "/home/jens/Source/shotwell/src/Box.vala" + _tmp32_ = (*self).top; +#line 390 "/home/jens/Source/shotwell/src/Box.vala" + _tmp33_ = box_in_zone ((gdouble) _tmp31_, _tmp32_); +#line 390 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp33_) { +#line 2784 "Box.c" + gboolean _tmp34_ = FALSE; +#line 390 "/home/jens/Source/shotwell/src/Box.vala" + _tmp34_ = near_width; +#line 390 "/home/jens/Source/shotwell/src/Box.vala" + _tmp30_ = _tmp34_; +#line 2790 "Box.c" + } else { +#line 390 "/home/jens/Source/shotwell/src/Box.vala" + _tmp30_ = FALSE; +#line 2794 "Box.c" + } +#line 390 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp30_) { +#line 392 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_TOP_SIDE; +#line 392 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2802 "Box.c" + } else { + gboolean _tmp35_ = FALSE; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gboolean _tmp38_ = FALSE; +#line 393 "/home/jens/Source/shotwell/src/Box.vala" + _tmp36_ = y; +#line 393 "/home/jens/Source/shotwell/src/Box.vala" + _tmp37_ = (*self).bottom; +#line 393 "/home/jens/Source/shotwell/src/Box.vala" + _tmp38_ = box_in_zone ((gdouble) _tmp36_, _tmp37_); +#line 393 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp38_) { +#line 2816 "Box.c" + gboolean _tmp39_ = FALSE; +#line 393 "/home/jens/Source/shotwell/src/Box.vala" + _tmp39_ = near_width; +#line 393 "/home/jens/Source/shotwell/src/Box.vala" + _tmp35_ = _tmp39_; +#line 2822 "Box.c" + } else { +#line 393 "/home/jens/Source/shotwell/src/Box.vala" + _tmp35_ = FALSE; +#line 2826 "Box.c" + } +#line 393 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp35_) { +#line 395 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_BOTTOM_SIDE; +#line 395 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2834 "Box.c" + } else { + gboolean _tmp40_ = FALSE; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gboolean _tmp44_ = FALSE; +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp41_ = x; +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp42_ = (*self).left; +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp43_ = (*self).right; +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp44_ = box_in_between ((gdouble) _tmp41_, _tmp42_, _tmp43_); +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp44_) { +#line 2851 "Box.c" + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gboolean _tmp48_ = FALSE; +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp45_ = y; +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp46_ = (*self).top; +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp47_ = (*self).bottom; +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp48_ = box_in_between ((gdouble) _tmp45_, _tmp46_, _tmp47_); +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp40_ = _tmp48_; +#line 2866 "Box.c" + } else { +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + _tmp40_ = FALSE; +#line 2870 "Box.c" + } +#line 396 "/home/jens/Source/shotwell/src/Box.vala" + if (_tmp40_) { +#line 397 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_INSIDE; +#line 397 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2878 "Box.c" + } else { +#line 399 "/home/jens/Source/shotwell/src/Box.vala" + result = BOX_LOCATION_OUTSIDE; +#line 399 "/home/jens/Source/shotwell/src/Box.vala" + return result; +#line 2884 "Box.c" + } + } + } + } + } +} + + +Box* box_dup (const Box* self) { + Box* dup; +#line 38 "/home/jens/Source/shotwell/src/Box.vala" + dup = g_new0 (Box, 1); +#line 38 "/home/jens/Source/shotwell/src/Box.vala" + memcpy (dup, self, sizeof (Box)); +#line 38 "/home/jens/Source/shotwell/src/Box.vala" + return dup; +#line 2901 "Box.c" +} + + +void box_free (Box* self) { +#line 38 "/home/jens/Source/shotwell/src/Box.vala" + g_free (self); +#line 2908 "Box.c" +} + + +GType box_get_type (void) { + static volatile gsize box_type_id__volatile = 0; + if (g_once_init_enter (&box_type_id__volatile)) { + GType box_type_id; + box_type_id = g_boxed_type_register_static ("Box", (GBoxedCopyFunc) box_dup, (GBoxedFreeFunc) box_free); + g_once_init_leave (&box_type_id__volatile, box_type_id); + } + return box_type_id__volatile; +} + + + diff --git a/src/Box.vala b/src/Box.vala index a1067bc..eaf70a0 100644 --- a/src/Box.vala +++ b/src/Box.vala @@ -36,7 +36,7 @@ public enum BoxComplements { } public struct Box { - public static const int HAND_GRENADES = 12; + public const int HAND_GRENADES = 12; public int left; public int top; diff --git a/src/CheckerboardLayout.c b/src/CheckerboardLayout.c new file mode 100644 index 0000000..a6d5bf1 --- /dev/null +++ b/src/CheckerboardLayout.c @@ -0,0 +1,12514 @@ +/* CheckerboardLayout.c generated by valac 0.32.1, the Vala compiler + * generated from CheckerboardLayout.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_CHECKERBOARD_ITEM_TEXT (checkerboard_item_text_get_type ()) +#define CHECKERBOARD_ITEM_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM_TEXT, CheckerboardItemText)) +#define CHECKERBOARD_ITEM_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM_TEXT, CheckerboardItemTextClass)) +#define IS_CHECKERBOARD_ITEM_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM_TEXT)) +#define IS_CHECKERBOARD_ITEM_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM_TEXT)) +#define CHECKERBOARD_ITEM_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM_TEXT, CheckerboardItemTextClass)) + +typedef struct _CheckerboardItemText CheckerboardItemText; +typedef struct _CheckerboardItemTextClass CheckerboardItemTextClass; +typedef struct _CheckerboardItemTextPrivate CheckerboardItemTextPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#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; +typedef struct _ParamSpecCheckerboardItemText ParamSpecCheckerboardItemText; + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataViewPrivate DataViewPrivate; + +#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_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; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; + +#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; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#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 _checkerboard_item_text_unref0(var) ((var == NULL) ? NULL : (var = (checkerboard_item_text_unref (var), NULL))) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define __vala_GValue_free0(var) ((var == NULL) ? NULL : (var = (_vala_GValue_free (var), NULL))) +#define _cairo_pattern_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_pattern_destroy (var), NULL))) + +#define TYPE_CHECKERBOARD_LAYOUT (checkerboard_layout_get_type ()) +#define CHECKERBOARD_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout)) +#define CHECKERBOARD_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutClass)) +#define IS_CHECKERBOARD_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_LAYOUT)) +#define IS_CHECKERBOARD_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_LAYOUT)) +#define CHECKERBOARD_LAYOUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutClass)) + +typedef struct _CheckerboardLayout CheckerboardLayout; +typedef struct _CheckerboardLayoutClass CheckerboardLayoutClass; +typedef struct _CheckerboardLayoutPrivate CheckerboardLayoutPrivate; + +#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 CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW (checkerboard_layout_layout_row_get_type ()) +#define CHECKERBOARD_LAYOUT_LAYOUT_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW, CheckerboardLayoutLayoutRow)) +#define CHECKERBOARD_LAYOUT_LAYOUT_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW, CheckerboardLayoutLayoutRowClass)) +#define CHECKERBOARD_LAYOUT_IS_LAYOUT_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW)) +#define CHECKERBOARD_LAYOUT_IS_LAYOUT_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW)) +#define CHECKERBOARD_LAYOUT_LAYOUT_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW, CheckerboardLayoutLayoutRowClass)) + +typedef struct _CheckerboardLayoutLayoutRow CheckerboardLayoutLayoutRow; +typedef struct _CheckerboardLayoutLayoutRowClass CheckerboardLayoutLayoutRowClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +typedef struct _CheckerboardLayoutLayoutRowPrivate CheckerboardLayoutLayoutRowPrivate; +#define _checkerboard_layout_layout_row_unref0(var) ((var == NULL) ? NULL : (var = (checkerboard_layout_layout_row_unref (var), NULL))) + +#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_COMPASS_POINT (compass_point_get_type ()) + +#define TYPE_BOX (box_get_type ()) +typedef struct _Box Box; +typedef struct _CheckerboardLayoutParamSpecLayoutRow CheckerboardLayoutParamSpecLayoutRow; +#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 _CheckerboardItemText { + GTypeInstance parent_instance; + volatile int ref_count; + CheckerboardItemTextPrivate * priv; + GdkRectangle allocation; +}; + +struct _CheckerboardItemTextClass { + GTypeClass parent_class; + void (*finalize) (CheckerboardItemText *self); +}; + +struct _CheckerboardItemTextPrivate { + gchar* text; + gboolean marked_up; + PangoAlignment alignment; + PangoLayout* layout; + gboolean single_line; + gint height; +}; + +struct _ParamSpecCheckerboardItemText { + GParamSpec parent_instance; +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +struct _CheckerboardItemPrivate { + gboolean exposure; + CheckerboardItemText* title; + gboolean title_visible; + CheckerboardItemText* comment; + gboolean comment_visible; + CheckerboardItemText* subtitle; + gboolean subtitle_visible; + gboolean is_cursor; + PangoAlignment tag_alignment; + GeeList* user_visible_tag_list; + GeeCollection* tags; + GdkPixbuf* pixbuf; + GdkPixbuf* display_pixbuf; + GdkPixbuf* brightened; + Dimensions pixbuf_dim; + gint col; + gint row; + gint horizontal_trinket_offset; + gboolean _has_tags; +}; + +struct _CheckerboardLayout { + GtkDrawingArea parent_instance; + CheckerboardLayoutPrivate * priv; +}; + +struct _CheckerboardLayoutClass { + GtkDrawingAreaClass parent_class; +}; + +struct _CheckerboardLayoutPrivate { + ViewCollection* view; + gchar* page_name; + CheckerboardLayoutLayoutRow** item_rows; + gint item_rows_length1; + gint _item_rows_size_; + GeeHashSet* exposed_items; + GtkAdjustment* hadjustment; + GtkAdjustment* vadjustment; + gchar* message; + GdkRGBA selected_color; + GdkRGBA unselected_color; + GdkRGBA border_color; + GdkRGBA bg_color; + GdkRectangle visible_page; + gint last_width; + gint columns; + gint rows; + GdkPoint drag_origin; + GdkPoint drag_endpoint; + GdkRectangle selection_band; + gint scale; + gboolean flow_scheduled; + gboolean exposure_dirty; + CheckerboardItem* anchor; + CheckerboardItem* cursor; + gboolean in_center_on_anchor; + gboolean size_allocate_due_to_reflow; + gboolean is_in_view; + gboolean reflow_needed; +}; + +struct _CheckerboardLayoutLayoutRow { + GTypeInstance parent_instance; + volatile int ref_count; + CheckerboardLayoutLayoutRowPrivate * priv; + gint y; + gint height; + CheckerboardItem** items; + gint items_length1; + gint _items_size_; +}; + +struct _CheckerboardLayoutLayoutRowClass { + GTypeClass parent_class; + void (*finalize) (CheckerboardLayoutLayoutRow *self); +}; + +typedef enum { + COMPASS_POINT_NORTH, + COMPASS_POINT_SOUTH, + COMPASS_POINT_EAST, + COMPASS_POINT_WEST +} CompassPoint; + +struct _Box { + gint left; + gint top; + gint right; + gint bottom; +}; + +struct _CheckerboardLayoutParamSpecLayoutRow { + GParamSpec parent_instance; +}; + + +static gpointer checkerboard_item_text_parent_class = NULL; +static gint checkerboard_item_text_one_line_height; +static gint checkerboard_item_text_one_line_height = 0; +static gpointer checkerboard_item_parent_class = NULL; +static gpointer checkerboard_layout_parent_class = NULL; +static gpointer checkerboard_layout_layout_row_parent_class = NULL; + +gpointer checkerboard_item_text_ref (gpointer instance); +void checkerboard_item_text_unref (gpointer instance); +GParamSpec* param_spec_checkerboard_item_text (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_checkerboard_item_text (GValue* value, gpointer v_object); +void value_take_checkerboard_item_text (GValue* value, gpointer v_object); +gpointer value_get_checkerboard_item_text (const GValue* value); +GType checkerboard_item_text_get_type (void) G_GNUC_CONST; +#define CHECKERBOARD_ITEM_TEXT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CHECKERBOARD_ITEM_TEXT, CheckerboardItemTextPrivate)) +enum { + CHECKERBOARD_ITEM_TEXT_DUMMY_PROPERTY +}; +CheckerboardItemText* checkerboard_item_text_new (const gchar* text, PangoAlignment alignment, gboolean marked_up); +CheckerboardItemText* checkerboard_item_text_construct (GType object_type, const gchar* text, PangoAlignment alignment, gboolean marked_up); +static gboolean checkerboard_item_text_is_single_line (CheckerboardItemText* self); +gboolean string_contains_char (const gchar* haystack, gunichar needle); +gboolean checkerboard_item_text_is_marked_up (CheckerboardItemText* self); +gboolean checkerboard_item_text_is_set_to (CheckerboardItemText* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +gchar* checkerboard_item_text_get_text (CheckerboardItemText* self); +gint checkerboard_item_text_get_height (CheckerboardItemText* self); +static void checkerboard_item_text_update_height (CheckerboardItemText* self); +PangoLayout* checkerboard_item_text_get_pango_layout (CheckerboardItemText* self, gint max_width); +static void checkerboard_item_text_create_pango (CheckerboardItemText* self); +void checkerboard_item_text_clear_pango_layout (CheckerboardItemText* self); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +static void checkerboard_item_text_finalize (CheckerboardItemText* obj); +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_view_get_type (void) G_GNUC_CONST; +GType data_source_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 dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType tag_get_type (void) G_GNUC_CONST; +#define CHECKERBOARD_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CHECKERBOARD_ITEM, CheckerboardItemPrivate)) +enum { + CHECKERBOARD_ITEM_DUMMY_PROPERTY, + CHECKERBOARD_ITEM_HAS_TAGS +}; +void dimensions_init (Dimensions *self, gint width, gint height); +#define CHECKERBOARD_ITEM_PROP_SHOW_TITLES "show-titles" +#define CHECKERBOARD_ITEM_PROP_SHOW_COMMENTS "show-comments" +#define CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES "show-subtitles" +#define CHECKERBOARD_ITEM_FRAME_WIDTH 8 +#define CHECKERBOARD_ITEM_LABEL_PADDING 4 +#define CHECKERBOARD_ITEM_BORDER_WIDTH 1 +#define CHECKERBOARD_ITEM_SHADOW_RADIUS 4 +#define CHECKERBOARD_ITEM_SHADOW_INITIAL_ALPHA 0.5f +#define CHECKERBOARD_ITEM_TRINKET_SCALE 12 +#define CHECKERBOARD_ITEM_TRINKET_PADDING 1 +#define CHECKERBOARD_ITEM_BRIGHTEN_SHIFT 0x18 +GType thumbnail_source_get_type (void) G_GNUC_CONST; +CheckerboardItem* checkerboard_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +ThumbnailView* thumbnail_view_new (ThumbnailSource* source); +ThumbnailView* thumbnail_view_construct (GType object_type, ThumbnailSource* source); +static gchar* checkerboard_item_real_get_name (DataObject* base); +gchar* data_object_get_name (DataObject* self); +gchar* checkerboard_item_get_title (CheckerboardItem* self); +gchar* checkerboard_item_get_comment (CheckerboardItem* self); +void checkerboard_item_set_title (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +static void checkerboard_item_recalc_size (CheckerboardItem* self, const gchar* reason); +void data_view_notify_view_altered (DataView* self); +void checkerboard_item_clear_title (CheckerboardItem* self); +static void checkerboard_item_set_title_visible (CheckerboardItem* self, gboolean visible); +void checkerboard_item_set_comment (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +void checkerboard_item_clear_comment (CheckerboardItem* self); +static void checkerboard_item_set_comment_visible (CheckerboardItem* self, gboolean visible); +void checkerboard_item_set_tags (CheckerboardItem* self, GeeCollection* tags, PangoAlignment alignment); +static void checkerboard_item_set_has_tags (CheckerboardItem* self, gboolean value); +gboolean checkerboard_item_get_has_tags (CheckerboardItem* self); +GeeList* tag_make_user_visible_tag_list (GeeCollection* tags); +gchar* tag_make_tag_markup_string (GeeList* tags, gint highlight_index); +void checkerboard_item_clear_tags (CheckerboardItem* self); +void checkerboard_item_clear_subtitle (CheckerboardItem* self); +void checkerboard_item_highlight_user_visible_tag (CheckerboardItem* self, gint index); +Tag* checkerboard_item_get_user_visible_tag (CheckerboardItem* self, gint index); +PangoLayout* checkerboard_item_get_tag_list_layout (CheckerboardItem* self); +void checkerboard_item_get_subtitle_allocation (CheckerboardItem* self, GdkRectangle* result); +gchar* checkerboard_item_get_subtitle (CheckerboardItem* self); +void checkerboard_item_set_subtitle (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +static void checkerboard_item_set_subtitle_visible (CheckerboardItem* self, gboolean visible); +void checkerboard_item_set_is_cursor (CheckerboardItem* self, gboolean is_cursor); +gboolean checkerboard_item_get_is_cusor (CheckerboardItem* self); +static void checkerboard_item_real_notify_membership_changed (DataObject* base, DataCollection* collection); +GValue* data_object_get_collection_property (DataObject* self, const gchar* name, GValue* def); +static void _vala_GValue_free (GValue* self); +gboolean dimensions_has_area (Dimensions *self); +void data_object_notify_membership_changed (DataObject* self, DataCollection* collection); +static void checkerboard_item_real_notify_collection_property_set (DataObject* base, const gchar* name, GValue* old, GValue* val); +void data_object_notify_collection_property_set (DataObject* self, const gchar* name, GValue* old, GValue* val); +gint checkerboard_item_get_alignment_point (CheckerboardItem* self); +void checkerboard_item_exposed (CheckerboardItem* self); +static void checkerboard_item_real_exposed (CheckerboardItem* self); +void checkerboard_item_unexposed (CheckerboardItem* self); +static void checkerboard_item_real_unexposed (CheckerboardItem* self); +gboolean checkerboard_item_is_exposed (CheckerboardItem* self); +static gboolean checkerboard_item_real_is_exposed (CheckerboardItem* self); +gboolean checkerboard_item_has_image (CheckerboardItem* self); +GdkPixbuf* checkerboard_item_get_image (CheckerboardItem* self); +void checkerboard_item_set_image (CheckerboardItem* self, GdkPixbuf* pixbuf); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +void checkerboard_item_clear_image (CheckerboardItem* self, Dimensions* dim); +gint checkerboard_item_get_max_width (gint scale); +gboolean dimensions_approx_equals (Dimensions *self, Dimensions* dim, gint fudge); +void data_view_notify_geometry_altered (DataView* self); +void checkerboard_item_get_border_dimensions (Dimensions* object_dim, gint border_width, Dimensions* result); +void checkerboard_item_get_border_origin (GdkPoint* object_origin, gint border_width, GdkPoint* result); +void checkerboard_item_paint_shadow (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); +static void checkerboard_item_real_paint_shadow (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); +void checkerboard_item_paint_shadow_in_corner (CheckerboardItem* self, cairo_t* ctx, gint x, gint y, gdouble rgb_all, gfloat radius, gfloat initial_alpha, gdouble arc1, gdouble arc2); +void checkerboard_item_paint_border (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); +static void checkerboard_item_real_paint_border (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); +void draw_rounded_corners_filled (cairo_t* ctx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion); +void checkerboard_item_paint_image (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); +static void checkerboard_item_real_paint_image (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); +static gint checkerboard_item_get_selection_border_width (CheckerboardItem* self, gint scale); +gint thumbnail_get_MIN_SCALE (void); +gint thumbnail_get_MAX_SCALE (void); +GdkPixbuf* checkerboard_item_get_top_left_trinket (CheckerboardItem* self, gint scale); +static GdkPixbuf* checkerboard_item_real_get_top_left_trinket (CheckerboardItem* self, gint scale); +GdkPixbuf* checkerboard_item_get_top_right_trinket (CheckerboardItem* self, gint scale); +static GdkPixbuf* checkerboard_item_real_get_top_right_trinket (CheckerboardItem* self, gint scale); +GdkPixbuf* checkerboard_item_get_bottom_left_trinket (CheckerboardItem* self, gint scale); +static GdkPixbuf* checkerboard_item_real_get_bottom_left_trinket (CheckerboardItem* self, gint scale); +GdkPixbuf* checkerboard_item_get_bottom_right_trinket (CheckerboardItem* self, gint scale); +static GdkPixbuf* checkerboard_item_real_get_bottom_right_trinket (CheckerboardItem* self, gint scale); +void checkerboard_item_paint (CheckerboardItem* self, cairo_t* ctx, GdkRGBA* bg_color, GdkRGBA* selected_color, GdkRGBA* text_color, GdkRGBA* border_color); +gboolean data_view_is_selected (DataView* self); +gint checkerboard_item_get_horizontal_trinket_offset (CheckerboardItem* self); +void checkerboard_item_set_horizontal_trinket_offset (CheckerboardItem* self, gint horizontal_trinket_offset); +void checkerboard_item_set_grid_coordinates (CheckerboardItem* self, gint col, gint row); +gint checkerboard_item_get_column (CheckerboardItem* self); +gint checkerboard_item_get_row (CheckerboardItem* self); +void checkerboard_item_brighten (CheckerboardItem* self); +void shift_colors (GdkPixbuf* pixbuf, gint red, gint green, gint blue, gint alpha); +void checkerboard_item_unbrighten (CheckerboardItem* self); +static void checkerboard_item_real_visibility_changed (DataView* base, gboolean visible); +static gboolean checkerboard_item_query_tooltip_on_text (CheckerboardItem* self, CheckerboardItemText* text, GtkTooltip* tooltip); +gboolean checkerboard_item_query_tooltip (CheckerboardItem* self, gint x, gint y, GtkTooltip* tooltip); +gboolean coord_in_rectangle (gint x, gint y, GdkRectangle* rect); +static void checkerboard_item_finalize (GObject* obj); +static void _vala_checkerboard_item_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_checkerboard_item_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType checkerboard_layout_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +static gpointer checkerboard_layout_layout_row_ref (gpointer instance); +static void checkerboard_layout_layout_row_unref (gpointer instance); +static GParamSpec* checkerboard_layout_param_spec_layout_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void checkerboard_layout_value_set_layout_row (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void checkerboard_layout_value_take_layout_row (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer checkerboard_layout_value_get_layout_row (const GValue* value) G_GNUC_UNUSED; +static GType checkerboard_layout_layout_row_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define CHECKERBOARD_LAYOUT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutPrivate)) +enum { + CHECKERBOARD_LAYOUT_DUMMY_PROPERTY +}; +static void checkerboard_layout_on_contents_altered (CheckerboardLayout* self, GeeIterable* added, GeeIterable* removed); +static void _checkerboard_layout_on_contents_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static void checkerboard_layout_on_items_altered (CheckerboardLayout* self); +static void _checkerboard_layout_on_items_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static void checkerboard_layout_on_items_state_changed (CheckerboardLayout* self, GeeIterable* changed); +static void _checkerboard_layout_on_items_state_changed_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self); +static void checkerboard_layout_on_items_visibility_changed (CheckerboardLayout* self, GeeIterable* changed); +static void _checkerboard_layout_on_items_visibility_changed_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self); +static void checkerboard_layout_on_ordering_changed (CheckerboardLayout* self); +static void _checkerboard_layout_on_ordering_changed_data_collection_ordering_changed (DataCollection* _sender, gpointer self); +static void checkerboard_layout_on_views_altered (CheckerboardLayout* self, GeeCollection* altered); +static void _checkerboard_layout_on_views_altered_view_collection_views_altered (ViewCollection* _sender, GeeCollection* views, gpointer self); +static void checkerboard_layout_on_geometries_altered (CheckerboardLayout* self); +static void _checkerboard_layout_on_geometries_altered_view_collection_geometries_altered (ViewCollection* _sender, GeeCollection* views, gpointer self); +static void checkerboard_layout_on_items_selection_changed (CheckerboardLayout* self); +static void _checkerboard_layout_on_items_selection_changed_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self); +static void _checkerboard_layout_on_items_selection_changed_view_collection_items_unselected (ViewCollection* _sender, GeeIterable* unselected, gpointer self); +static void checkerboard_layout_on_viewport_shifted (CheckerboardLayout* self); +static void _checkerboard_layout_on_viewport_shifted_gtk_adjustment_value_changed (GtkAdjustment* _sender, gpointer self); +static void checkerboard_layout_on_viewport_resized (CheckerboardLayout* self); +static void _checkerboard_layout_on_viewport_resized_gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +static void checkerboard_layout_on_colors_changed (CheckerboardLayout* self); +static void _checkerboard_layout_on_colors_changed_config_facade_colors_changed (ConfigFacade* _sender, gpointer self); +#define CHECKERBOARD_LAYOUT_TOP_PADDING 16 +#define CHECKERBOARD_LAYOUT_BOTTOM_PADDING 16 +#define CHECKERBOARD_LAYOUT_ROW_GUTTER_PADDING 24 +#define CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING 24 +#define CHECKERBOARD_LAYOUT_SELECTION_ALPHA 0.40 +#define CHECKERBOARD_LAYOUT_SCROLLBAR_PLACEHOLDER_WIDTH 1 +CheckerboardLayout* checkerboard_layout_new (ViewCollection* view); +CheckerboardLayout* checkerboard_layout_construct (GType object_type, ViewCollection* view); +void checkerboard_layout_clear_drag_select (CheckerboardLayout* self); +void config_facade_get_bg_color (ConfigFacade* self, GdkRGBA* result); +void checkerboard_layout_set_adjustments (CheckerboardLayout* self, GtkAdjustment* hadjustment, GtkAdjustment* vadjustment); +void checkerboard_layout_set_scale (CheckerboardLayout* self, gint scale); +gint checkerboard_layout_get_scale (CheckerboardLayout* self); +void checkerboard_layout_set_name (CheckerboardLayout* self, const gchar* name); +static void checkerboard_layout_viewport_resized (CheckerboardLayout* self); +static void checkerboard_layout_clear_anchor (CheckerboardLayout* self); +static void checkerboard_layout_update_visible_page (CheckerboardLayout* self); +static void checkerboard_layout_need_exposure (CheckerboardLayout* self, const gchar* caller); +static void checkerboard_layout_update_anchor (CheckerboardLayout* self); +GeeList* checkerboard_layout_intersection (CheckerboardLayout* self, GdkRectangle* area); +static void checkerboard_layout_center_on_anchor (CheckerboardLayout* self, gdouble upper); +void checkerboard_layout_set_cursor (CheckerboardLayout* self, CheckerboardItem* item); +gboolean data_collection_contains (DataCollection* self, DataObject* object); +CheckerboardItem* checkerboard_layout_get_cursor (CheckerboardLayout* self); +static void checkerboard_layout_need_reflow (CheckerboardLayout* self, const gchar* caller); +static void checkerboard_layout_items_dirty (CheckerboardLayout* self, const gchar* reason, GeeIterable* items); +static gboolean checkerboard_layout_do_reflow (CheckerboardLayout* self); +static gboolean _checkerboard_layout_do_reflow_gsource_func (gpointer self); +static void checkerboard_layout_reflow (CheckerboardLayout* self, const gchar* caller); +void checkerboard_layout_set_message (CheckerboardLayout* self, const gchar* text); +void checkerboard_layout_unset_message (CheckerboardLayout* self); +void get_adjustment_page (GtkAdjustment* hadj, GtkAdjustment* vadj, GdkRectangle* result); +void checkerboard_layout_set_in_view (CheckerboardLayout* self, gboolean in_view); +static void checkerboard_layout_unexpose_items (CheckerboardLayout* self, const gchar* caller); +CheckerboardItem* checkerboard_layout_get_item_at_pixel (CheckerboardLayout* self, gdouble xd, gdouble yd); +gint checkerboard_layout_get_tag_index_at_pos (const gchar* tag_list, gint pos); +#define TAG_TAG_LIST_SEPARATOR_STRING ", " +static gint checkerboard_layout_internal_handle_tag_mouse_event (CheckerboardLayout* self, CheckerboardItem* item, gint x, gint y); +gboolean checkerboard_layout_handle_mouse_motion (CheckerboardLayout* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); +gboolean checkerboard_layout_is_drag_select_active (CheckerboardLayout* self); +gboolean checkerboard_layout_handle_left_click (CheckerboardLayout* self, CheckerboardItem* item, gdouble xd, gdouble yd, GdkModifierType mask); +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_switch_to_tag (LibraryWindow* self, Tag* tag); +GeeList* checkerboard_layout_get_visible_items (CheckerboardLayout* self); +GType compass_point_get_type (void) G_GNUC_CONST; +CheckerboardItem* checkerboard_layout_get_item_relative_to (CheckerboardLayout* self, CheckerboardItem* item, CompassPoint point); +gint data_collection_get_count (DataCollection* self); +CheckerboardItem* checkerboard_layout_get_item_at_coordinate (CheckerboardLayout* self, gint col, gint row); +DataView* view_collection_get_last (ViewCollection* self); +void checkerboard_layout_set_drag_select_origin (CheckerboardLayout* self, gint x, gint y); +void checkerboard_layout_set_drag_select_endpoint (CheckerboardLayout* self, gint x, gint y); +GType box_get_type (void) G_GNUC_CONST; +Box* box_dup (const Box* self); +void box_free (Box* self); +void box_from_points (GdkPoint* corner1, GdkPoint* corner2, Box* result); +void box_get_rectangle (Box *self, GdkRectangle* result); +GeeList* checkerboard_layout_items_in_selection_band (CheckerboardLayout* self); +void dimensions_for_rectangle (GdkRectangle* rect, Dimensions* result); +static void checkerboard_layout_expose_items (CheckerboardLayout* self, const gchar* caller); +void data_collection_freeze_notifications (DataCollection* self); +void data_collection_thaw_notifications (DataCollection* self); +gboolean data_view_is_visible (DataView* self); +DataObject* data_collection_get_at (DataCollection* self, gint index); +static CheckerboardLayoutLayoutRow* checkerboard_layout_layout_row_new (gint y, gint height, gint num_in_row); +static CheckerboardLayoutLayoutRow* checkerboard_layout_layout_row_construct (GType object_type, gint y, gint height, gint num_in_row); +static void checkerboard_layout_real_map (GtkWidget* base); +static void checkerboard_layout_set_colors (CheckerboardLayout* self, gboolean in_focus); +void config_facade_get_selected_color (ConfigFacade* self, gboolean in_focus, GdkRGBA* result); +void config_facade_get_unselected_color (ConfigFacade* self, GdkRGBA* result); +void config_facade_get_border_color (ConfigFacade* self, GdkRGBA* result); +static void checkerboard_layout_real_size_allocate (GtkWidget* base, GtkAllocation* allocation); +static gboolean checkerboard_layout_real_draw (GtkWidget* base, cairo_t* ctx); +static void checkerboard_layout_draw_selection_band (CheckerboardLayout* self, cairo_t* ctx); +static gboolean checkerboard_layout_real_query_tooltip (GtkWidget* base, gint x, gint y, gboolean keyboard_mode, GtkTooltip* tooltip); +static gboolean checkerboard_layout_real_focus_in_event (GtkWidget* base, GdkEventFocus* event); +GeeList* view_collection_get_selected (ViewCollection* self); +static gboolean checkerboard_layout_real_focus_out_event (GtkWidget* base, GdkEventFocus* event); +enum { + CHECKERBOARD_LAYOUT_LAYOUT_ROW_DUMMY_PROPERTY +}; +static void checkerboard_layout_layout_row_finalize (CheckerboardLayoutLayoutRow* obj); +static void checkerboard_layout_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +CheckerboardItemText* checkerboard_item_text_construct (GType object_type, const gchar* text, PangoAlignment alignment, gboolean marked_up) { + CheckerboardItemText* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + PangoAlignment _tmp3_ = 0; + gboolean _tmp4_ = FALSE; +#line 19 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (text != NULL, NULL); +#line 19 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = (CheckerboardItemText*) g_type_create_instance (object_type); +#line 21 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = text; +#line 21 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 21 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (self->priv->text); +#line 21 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->text = _tmp1_; +#line 22 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = marked_up; +#line 22 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->marked_up = _tmp2_; +#line 23 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = alignment; +#line 23 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->alignment = _tmp3_; +#line 25 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = checkerboard_item_text_is_single_line (self); +#line 25 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->single_line = _tmp4_; +#line 19 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return self; +#line 754 "CheckerboardLayout.c" +} + + +CheckerboardItemText* checkerboard_item_text_new (const gchar* text, PangoAlignment alignment, gboolean marked_up) { +#line 19 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return checkerboard_item_text_construct (TYPE_CHECKERBOARD_ITEM_TEXT, text, alignment, marked_up); +#line 761 "CheckerboardLayout.c" +} + + +static gboolean checkerboard_item_text_is_single_line (CheckerboardItemText* self) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 28 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self), FALSE); +#line 29 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->text; +#line 29 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = string_contains_char (_tmp0_, (gunichar) '\n'); +#line 29 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = !_tmp1_; +#line 29 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 779 "CheckerboardLayout.c" +} + + +gboolean checkerboard_item_text_is_marked_up (CheckerboardItemText* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 32 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self), FALSE); +#line 33 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->marked_up; +#line 33 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 33 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 794 "CheckerboardLayout.c" +} + + +gboolean checkerboard_item_text_is_set_to (CheckerboardItemText* self, const gchar* text, gboolean marked_up, PangoAlignment alignment) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 36 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self), FALSE); +#line 36 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (text != NULL, FALSE); +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->marked_up; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = marked_up; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_ == _tmp3_) { +#line 814 "CheckerboardLayout.c" + PangoAlignment _tmp4_ = 0; + PangoAlignment _tmp5_ = 0; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->alignment; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = alignment; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp4_ == _tmp5_; +#line 823 "CheckerboardLayout.c" + } else { +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = FALSE; +#line 827 "CheckerboardLayout.c" + } +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_) { +#line 831 "CheckerboardLayout.c" + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = self->priv->text; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = text; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = g_strcmp0 (_tmp6_, _tmp7_) == 0; +#line 840 "CheckerboardLayout.c" + } else { +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 844 "CheckerboardLayout.c" + } +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 37 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 850 "CheckerboardLayout.c" +} + + +gchar* checkerboard_item_text_get_text (CheckerboardItemText* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self), NULL); +#line 41 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->text; +#line 41 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 868 "CheckerboardLayout.c" +} + + +gint checkerboard_item_text_get_height (CheckerboardItemText* self) { + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 44 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self), 0); +#line 45 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->height; +#line 45 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == 0) { +#line 46 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_update_height (self); +#line 884 "CheckerboardLayout.c" + } +#line 48 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->height; +#line 48 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 892 "CheckerboardLayout.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 58 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return self ? g_object_ref (self) : NULL; +#line 899 "CheckerboardLayout.c" +} + + +PangoLayout* checkerboard_item_text_get_pango_layout (CheckerboardItemText* self, gint max_width) { + PangoLayout* result = NULL; + PangoLayout* _tmp0_ = NULL; + gint _tmp1_ = 0; + PangoLayout* _tmp4_ = NULL; + PangoLayout* _tmp5_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self), NULL); +#line 52 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->layout; +#line 52 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == NULL) { +#line 53 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_create_pango (self); +#line 917 "CheckerboardLayout.c" + } +#line 55 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = max_width; +#line 55 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ > 0) { +#line 923 "CheckerboardLayout.c" + PangoLayout* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 56 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->layout; +#line 56 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = max_width; +#line 56 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_layout_set_width (_tmp2_, _tmp3_ * PANGO_SCALE); +#line 932 "CheckerboardLayout.c" + } +#line 58 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->layout; +#line 58 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 58 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp5_; +#line 58 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 942 "CheckerboardLayout.c" +} + + +void checkerboard_item_text_clear_pango_layout (CheckerboardItemText* self) { +#line 61 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self)); +#line 62 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->layout); +#line 62 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->layout = NULL; +#line 953 "CheckerboardLayout.c" +} + + +static void checkerboard_item_text_update_height (CheckerboardItemText* self) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 65 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self)); +#line 66 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = checkerboard_item_text_one_line_height; +#line 66 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != 0) { +#line 966 "CheckerboardLayout.c" + gboolean _tmp2_ = FALSE; +#line 66 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->single_line; +#line 66 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp2_; +#line 972 "CheckerboardLayout.c" + } else { +#line 66 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 976 "CheckerboardLayout.c" + } +#line 66 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 980 "CheckerboardLayout.c" + gint _tmp3_ = 0; +#line 67 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = checkerboard_item_text_one_line_height; +#line 67 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->height = _tmp3_; +#line 986 "CheckerboardLayout.c" + } else { +#line 69 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_create_pango (self); +#line 990 "CheckerboardLayout.c" + } +} + + +static void checkerboard_item_text_create_pango (CheckerboardItemText* self) { + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + PangoLayout* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PangoLayout* _tmp8_ = NULL; + PangoLayout* _tmp9_ = NULL; + PangoAlignment _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + gint _tmp12_ = 0; +#line 72 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM_TEXT (self)); +#line 74 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = app_window_get_instance (); +#line 74 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_; +#line 74 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = gtk_widget_create_pango_layout (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), NULL); +#line 74 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->layout); +#line 74 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->layout = _tmp2_; +#line 74 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp1_); +#line 75 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->marked_up; +#line 75 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp3_) { +#line 1023 "CheckerboardLayout.c" + PangoLayout* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->layout; +#line 76 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = self->priv->text; +#line 76 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_layout_set_text (_tmp4_, _tmp5_, -1); +#line 1032 "CheckerboardLayout.c" + } else { + PangoLayout* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 78 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = self->priv->layout; +#line 78 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = self->priv->text; +#line 78 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_layout_set_markup (_tmp6_, _tmp7_, -1); +#line 1042 "CheckerboardLayout.c" + } +#line 80 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = self->priv->layout; +#line 80 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_layout_set_ellipsize (_tmp8_, PANGO_ELLIPSIZE_END); +#line 81 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->layout; +#line 81 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = self->priv->alignment; +#line 81 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_layout_set_alignment (_tmp9_, _tmp10_); +#line 85 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = checkerboard_item_text_one_line_height; +#line 85 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp12_ != 0) { +#line 1058 "CheckerboardLayout.c" + gboolean _tmp13_ = FALSE; +#line 85 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = self->priv->single_line; +#line 85 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = _tmp13_; +#line 1064 "CheckerboardLayout.c" + } else { +#line 85 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = FALSE; +#line 1068 "CheckerboardLayout.c" + } +#line 85 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp11_) { +#line 1072 "CheckerboardLayout.c" + gint _tmp14_ = 0; +#line 86 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = checkerboard_item_text_one_line_height; +#line 86 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->height = _tmp14_; +#line 1078 "CheckerboardLayout.c" + } else { + gint width = 0; + PangoLayout* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gboolean _tmp18_ = FALSE; + gint _tmp19_ = 0; +#line 89 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = self->priv->layout; +#line 89 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_layout_get_pixel_size (_tmp15_, &_tmp16_, &_tmp17_); +#line 89 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + width = _tmp16_; +#line 89 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->height = _tmp17_; +#line 92 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = checkerboard_item_text_one_line_height; +#line 92 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp19_ == 0) { +#line 1098 "CheckerboardLayout.c" + gboolean _tmp20_ = FALSE; +#line 92 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = self->priv->single_line; +#line 92 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = _tmp20_; +#line 1104 "CheckerboardLayout.c" + } else { +#line 92 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = FALSE; +#line 1108 "CheckerboardLayout.c" + } +#line 92 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp18_) { +#line 1112 "CheckerboardLayout.c" + gint _tmp21_ = 0; +#line 93 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = self->priv->height; +#line 93 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_one_line_height = _tmp21_; +#line 1118 "CheckerboardLayout.c" + } + } +} + + +static void value_checkerboard_item_text_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = NULL; +#line 1127 "CheckerboardLayout.c" +} + + +static void value_checkerboard_item_text_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_unref (value->data[0].v_pointer); +#line 1136 "CheckerboardLayout.c" + } +} + + +static void value_checkerboard_item_text_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dest_value->data[0].v_pointer = checkerboard_item_text_ref (src_value->data[0].v_pointer); +#line 1146 "CheckerboardLayout.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dest_value->data[0].v_pointer = NULL; +#line 1150 "CheckerboardLayout.c" + } +} + + +static gpointer value_checkerboard_item_text_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return value->data[0].v_pointer; +#line 1158 "CheckerboardLayout.c" +} + + +static gchar* value_checkerboard_item_text_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (collect_values[0].v_pointer) { +#line 1165 "CheckerboardLayout.c" + CheckerboardItemText* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1172 "CheckerboardLayout.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1176 "CheckerboardLayout.c" + } +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = checkerboard_item_text_ref (object); +#line 1180 "CheckerboardLayout.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = NULL; +#line 1184 "CheckerboardLayout.c" + } +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return NULL; +#line 1188 "CheckerboardLayout.c" +} + + +static gchar* value_checkerboard_item_text_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + CheckerboardItemText** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1199 "CheckerboardLayout.c" + } +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *object_p = NULL; +#line 1205 "CheckerboardLayout.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *object_p = value->data[0].v_pointer; +#line 1209 "CheckerboardLayout.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *object_p = checkerboard_item_text_ref (value->data[0].v_pointer); +#line 1213 "CheckerboardLayout.c" + } +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return NULL; +#line 1217 "CheckerboardLayout.c" +} + + +GParamSpec* param_spec_checkerboard_item_text (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecCheckerboardItemText* spec; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_CHECKERBOARD_ITEM_TEXT), NULL); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return G_PARAM_SPEC (spec); +#line 1231 "CheckerboardLayout.c" +} + + +gpointer value_get_checkerboard_item_text (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CHECKERBOARD_ITEM_TEXT), NULL); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return value->data[0].v_pointer; +#line 1240 "CheckerboardLayout.c" +} + + +void value_set_checkerboard_item_text (GValue* value, gpointer v_object) { + CheckerboardItemText* old; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CHECKERBOARD_ITEM_TEXT)); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_CHECKERBOARD_ITEM_TEXT)); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_ref (value->data[0].v_pointer); +#line 1260 "CheckerboardLayout.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = NULL; +#line 1264 "CheckerboardLayout.c" + } +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_unref (old); +#line 1270 "CheckerboardLayout.c" + } +} + + +void value_take_checkerboard_item_text (GValue* value, gpointer v_object) { + CheckerboardItemText* old; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CHECKERBOARD_ITEM_TEXT)); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_CHECKERBOARD_ITEM_TEXT)); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = v_object; +#line 1289 "CheckerboardLayout.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = NULL; +#line 1293 "CheckerboardLayout.c" + } +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_unref (old); +#line 1299 "CheckerboardLayout.c" + } +} + + +static void checkerboard_item_text_class_init (CheckerboardItemTextClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemTextClass *) klass)->finalize = checkerboard_item_text_finalize; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_type_class_add_private (klass, sizeof (CheckerboardItemTextPrivate)); +#line 1311 "CheckerboardLayout.c" +} + + +static void checkerboard_item_text_instance_init (CheckerboardItemText * self) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv = CHECKERBOARD_ITEM_TEXT_GET_PRIVATE (self); +#line 13 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->layout = NULL; +#line 14 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->single_line = TRUE; +#line 15 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->height = 0; +#line 17 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&self->allocation, 0, sizeof (GdkRectangle)); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->ref_count = 1; +#line 1328 "CheckerboardLayout.c" +} + + +static void checkerboard_item_text_finalize (CheckerboardItemText* obj) { + CheckerboardItemText * self; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CHECKERBOARD_ITEM_TEXT, CheckerboardItemText); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_destroy (self); +#line 10 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (self->priv->text); +#line 13 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->layout); +#line 1342 "CheckerboardLayout.c" +} + + +GType checkerboard_item_text_get_type (void) { + static volatile gsize checkerboard_item_text_type_id__volatile = 0; + if (g_once_init_enter (&checkerboard_item_text_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_checkerboard_item_text_init, value_checkerboard_item_text_free_value, value_checkerboard_item_text_copy_value, value_checkerboard_item_text_peek_pointer, "p", value_checkerboard_item_text_collect_value, "p", value_checkerboard_item_text_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (CheckerboardItemTextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) checkerboard_item_text_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CheckerboardItemText), 0, (GInstanceInitFunc) checkerboard_item_text_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType checkerboard_item_text_type_id; + checkerboard_item_text_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CheckerboardItemText", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&checkerboard_item_text_type_id__volatile, checkerboard_item_text_type_id); + } + return checkerboard_item_text_type_id__volatile; +} + + +gpointer checkerboard_item_text_ref (gpointer instance) { + CheckerboardItemText* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return instance; +#line 1367 "CheckerboardLayout.c" +} + + +void checkerboard_item_text_unref (gpointer instance) { + CheckerboardItemText* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + CHECKERBOARD_ITEM_TEXT_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1380 "CheckerboardLayout.c" + } +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 1394 "CheckerboardLayout.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1425 "CheckerboardLayout.c" + goto __catch229_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1434 "CheckerboardLayout.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1450 "CheckerboardLayout.c" + goto __catch229_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1461 "CheckerboardLayout.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1475 "CheckerboardLayout.c" + } + goto __finally229; + __catch229_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 1489 "CheckerboardLayout.c" + } + __finally229: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1500 "CheckerboardLayout.c" + } +} + + +CheckerboardItem* checkerboard_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment) { + CheckerboardItem * self = NULL; + ThumbnailSource* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + const gchar* _tmp2_ = NULL; + PangoAlignment _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + CheckerboardItemText* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), NULL); +#line 141 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (initial_pixbuf_dim != NULL, NULL); +#line 141 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (title != NULL, NULL); +#line 143 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = source; +#line 143 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = (CheckerboardItem*) thumbnail_view_construct (object_type, _tmp0_); +#line 145 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = *initial_pixbuf_dim; +#line 145 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->pixbuf_dim = _tmp1_; +#line 146 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = title; +#line 146 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = alignment; +#line 146 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = marked_up; +#line 146 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = checkerboard_item_text_new (_tmp2_, _tmp3_, _tmp4_); +#line 146 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->title); +#line 146 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->title = _tmp5_; +#line 152 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = comment; +#line 152 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_ != NULL) { +#line 1544 "CheckerboardLayout.c" + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PangoAlignment _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + CheckerboardItemText* _tmp12_ = NULL; +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = comment; +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = string_replace (_tmp7_, "\n", " "); +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = _tmp8_; +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = alignment; +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = marked_up; +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = checkerboard_item_text_new (_tmp9_, _tmp10_, _tmp11_); +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->comment); +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->comment = _tmp12_; +#line 153 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp9_); +#line 1569 "CheckerboardLayout.c" + } +#line 141 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return self; +#line 1573 "CheckerboardLayout.c" +} + + +static gchar* checkerboard_item_real_get_name (DataObject* base) { + CheckerboardItem * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + CheckerboardItemText* _tmp1_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->title; +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 1588 "CheckerboardLayout.c" + CheckerboardItemText* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->title; +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = checkerboard_item_text_get_text (_tmp2_); +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp0_); +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp3_; +#line 1599 "CheckerboardLayout.c" + } else { + gchar* _tmp4_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = DATA_OBJECT_CLASS (checkerboard_item_parent_class)->get_name (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_VIEW, ThumbnailView), TYPE_DATA_OBJECT, DataObject)); +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp0_); +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp4_; +#line 1608 "CheckerboardLayout.c" + } +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 164 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 1614 "CheckerboardLayout.c" +} + + +gchar* checkerboard_item_get_title (CheckerboardItem* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + CheckerboardItemText* _tmp1_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->title; +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 1628 "CheckerboardLayout.c" + CheckerboardItemText* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->title; +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = checkerboard_item_text_get_text (_tmp2_); +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp0_); +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp3_; +#line 1639 "CheckerboardLayout.c" + } else { + gchar* _tmp4_ = NULL; +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = g_strdup (""); +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp0_); +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp4_; +#line 1648 "CheckerboardLayout.c" + } +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 1654 "CheckerboardLayout.c" +} + + +gchar* checkerboard_item_get_comment (CheckerboardItem* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + CheckerboardItemText* _tmp1_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->comment; +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 1668 "CheckerboardLayout.c" + CheckerboardItemText* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->comment; +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = checkerboard_item_text_get_text (_tmp2_); +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp0_); +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp3_; +#line 1679 "CheckerboardLayout.c" + } else { + gchar* _tmp4_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = g_strdup (""); +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp0_); +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp4_; +#line 1688 "CheckerboardLayout.c" + } +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 1694 "CheckerboardLayout.c" +} + + +void checkerboard_item_set_title (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment) { + gboolean _tmp0_ = FALSE; + CheckerboardItemText* _tmp1_ = NULL; + const gchar* _tmp7_ = NULL; + PangoAlignment _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + CheckerboardItemText* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 175 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 175 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (text != NULL); +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->title; +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 1714 "CheckerboardLayout.c" + CheckerboardItemText* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PangoAlignment _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->title; +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = text; +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = marked_up; +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = alignment; +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = checkerboard_item_text_is_set_to (_tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp6_; +#line 1732 "CheckerboardLayout.c" + } else { +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 1736 "CheckerboardLayout.c" + } +#line 177 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 178 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 1742 "CheckerboardLayout.c" + } +#line 180 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = text; +#line 180 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = alignment; +#line 180 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = marked_up; +#line 180 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = checkerboard_item_text_new (_tmp7_, _tmp8_, _tmp9_); +#line 180 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->title); +#line 180 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->title = _tmp10_; +#line 182 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = self->priv->title_visible; +#line 182 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp11_) { +#line 183 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "set_title"); +#line 184 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 1764 "CheckerboardLayout.c" + } +} + + +void checkerboard_item_clear_title (CheckerboardItem* self) { + CheckerboardItemText* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 188 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 189 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->title; +#line 189 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == NULL) { +#line 190 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 1780 "CheckerboardLayout.c" + } +#line 192 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->title); +#line 192 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->title = NULL; +#line 194 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->title_visible; +#line 194 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_) { +#line 195 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "clear_title"); +#line 196 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 1794 "CheckerboardLayout.c" + } +} + + +static void checkerboard_item_set_title_visible (CheckerboardItem* self, gboolean visible) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 200 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 201 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->title_visible; +#line 201 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = visible; +#line 201 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == _tmp1_) { +#line 202 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 1813 "CheckerboardLayout.c" + } +#line 204 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = visible; +#line 204 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->title_visible = _tmp2_; +#line 206 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "set_title_visible"); +#line 207 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 1823 "CheckerboardLayout.c" +} + + +void checkerboard_item_set_comment (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment) { + gboolean _tmp0_ = FALSE; + CheckerboardItemText* _tmp1_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PangoAlignment _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + CheckerboardItemText* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 210 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 210 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (text != NULL); +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->comment; +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 1845 "CheckerboardLayout.c" + CheckerboardItemText* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PangoAlignment _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->comment; +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = text; +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = marked_up; +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = alignment; +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = checkerboard_item_text_is_set_to (_tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp6_; +#line 1863 "CheckerboardLayout.c" + } else { +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 1867 "CheckerboardLayout.c" + } +#line 212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 213 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 1873 "CheckerboardLayout.c" + } +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = text; +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = string_replace (_tmp7_, "\n", " "); +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = _tmp8_; +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = alignment; +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = marked_up; +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = checkerboard_item_text_new (_tmp9_, _tmp10_, _tmp11_); +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->comment); +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->comment = _tmp12_; +#line 215 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp9_); +#line 217 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = self->priv->comment_visible; +#line 217 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp13_) { +#line 218 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "set_comment"); +#line 219 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 1901 "CheckerboardLayout.c" + } +} + + +void checkerboard_item_clear_comment (CheckerboardItem* self) { + CheckerboardItemText* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 223 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 224 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->comment; +#line 224 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == NULL) { +#line 225 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 1917 "CheckerboardLayout.c" + } +#line 227 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->comment); +#line 227 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->comment = NULL; +#line 229 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->comment_visible; +#line 229 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_) { +#line 230 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "clear_comment"); +#line 231 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 1931 "CheckerboardLayout.c" + } +} + + +static void checkerboard_item_set_comment_visible (CheckerboardItem* self, gboolean visible) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 235 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 236 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->comment_visible; +#line 236 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = visible; +#line 236 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == _tmp1_) { +#line 237 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 1950 "CheckerboardLayout.c" + } +#line 239 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = visible; +#line 239 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->comment_visible = _tmp2_; +#line 241 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "set_comment_visible"); +#line 242 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 1960 "CheckerboardLayout.c" +} + + +void checkerboard_item_set_tags (CheckerboardItem* self, GeeCollection* tags, PangoAlignment alignment) { + gboolean _tmp0_ = FALSE; + GeeCollection* _tmp1_ = NULL; + PangoAlignment _tmp5_ = 0; + gchar* text = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp14_ = FALSE; + CheckerboardItemText* _tmp15_ = NULL; + const gchar* _tmp20_ = NULL; + PangoAlignment _tmp21_ = 0; + CheckerboardItemText* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail ((tags == NULL) || GEE_IS_COLLECTION (tags)); +#line 247 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = tags; +#line 247 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 1984 "CheckerboardLayout.c" + GeeCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 247 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = tags; +#line 247 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = gee_collection_get_size (_tmp2_); +#line 247 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_; +#line 247 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp4_ > 0; +#line 1996 "CheckerboardLayout.c" + } else { +#line 247 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 2000 "CheckerboardLayout.c" + } +#line 247 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_has_tags (self, _tmp0_); +#line 248 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = alignment; +#line 248 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->tag_alignment = _tmp5_; +#line 250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = self->priv->_has_tags; +#line 250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_) { +#line 2012 "CheckerboardLayout.c" + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeList* _tmp10_ = NULL; + GeeList* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = tags; +#line 251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->tags); +#line 251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->tags = _tmp8_; +#line 252 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = tags; +#line 252 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = tag_make_user_visible_tag_list (_tmp9_); +#line 252 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->user_visible_tag_list); +#line 252 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->user_visible_tag_list = _tmp10_; +#line 253 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = self->priv->user_visible_tag_list; +#line 253 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = tag_make_tag_markup_string (_tmp11_, -1); +#line 253 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (text); +#line 253 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + text = _tmp12_; +#line 2043 "CheckerboardLayout.c" + } else { + gchar* _tmp13_ = NULL; +#line 255 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = g_strdup ("."); +#line 255 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (text); +#line 255 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + text = _tmp13_; +#line 2052 "CheckerboardLayout.c" + } +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = self->priv->subtitle; +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp15_ != NULL) { +#line 2058 "CheckerboardLayout.c" + CheckerboardItemText* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + PangoAlignment _tmp18_ = 0; + gboolean _tmp19_ = FALSE; +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = self->priv->subtitle; +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = text; +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = alignment; +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = checkerboard_item_text_is_set_to (_tmp16_, _tmp17_, TRUE, _tmp18_); +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _tmp19_; +#line 2073 "CheckerboardLayout.c" + } else { +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = FALSE; +#line 2077 "CheckerboardLayout.c" + } +#line 258 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp14_) { +#line 259 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (text); +#line 259 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 2085 "CheckerboardLayout.c" + } +#line 260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = text; +#line 260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = alignment; +#line 260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = checkerboard_item_text_new (_tmp20_, _tmp21_, TRUE); +#line 260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->subtitle); +#line 260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->subtitle = _tmp22_; +#line 262 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = self->priv->subtitle_visible; +#line 262 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp23_) { +#line 263 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "set_subtitle"); +#line 264 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 2105 "CheckerboardLayout.c" + } +#line 245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (text); +#line 2109 "CheckerboardLayout.c" +} + + +void checkerboard_item_clear_tags (CheckerboardItem* self) { +#line 268 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 269 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_clear_subtitle (self); +#line 270 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_has_tags (self, FALSE); +#line 271 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->user_visible_tag_list); +#line 271 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->user_visible_tag_list = NULL; +#line 2124 "CheckerboardLayout.c" +} + + +void checkerboard_item_highlight_user_visible_tag (CheckerboardItem* self, gint index) { + GeeList* _tmp0_ = NULL; + gchar* text = NULL; + GeeList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PangoAlignment _tmp5_ = 0; + CheckerboardItemText* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 274 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 274 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->user_visible_tag_list; +#line 274 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_return_if_fail (_tmp0_ != NULL, "user_visible_tag_list != null"); +#line 276 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->user_visible_tag_list; +#line 276 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = index; +#line 276 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = tag_make_tag_markup_string (_tmp1_, _tmp2_); +#line 276 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + text = _tmp3_; +#line 277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = text; +#line 277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = self->priv->tag_alignment; +#line 277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = checkerboard_item_text_new (_tmp4_, _tmp5_, TRUE); +#line 277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->subtitle); +#line 277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->subtitle = _tmp6_; +#line 279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = self->priv->subtitle_visible; +#line 279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp7_) { +#line 280 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 2168 "CheckerboardLayout.c" + } +#line 274 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (text); +#line 2172 "CheckerboardLayout.c" +} + + +Tag* checkerboard_item_get_user_visible_tag (CheckerboardItem* self, gint index) { + Tag* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GeeList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gpointer _tmp7_ = NULL; +#line 283 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 283 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = index; +#line 283 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = index; +#line 283 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->user_visible_tag_list; +#line 283 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 283 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_; +#line 283 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_return_val_if_fail ((_tmp0_ >= 0) && (_tmp1_ < _tmp4_), "index >= 0 && index < user_visible_tag_list.size", NULL); +#line 285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = self->priv->user_visible_tag_list; +#line 285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = index; +#line 285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = gee_list_get (_tmp5_, _tmp6_); +#line 285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = (Tag*) _tmp7_; +#line 285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2210 "CheckerboardLayout.c" +} + + +PangoLayout* checkerboard_item_get_tag_list_layout (CheckerboardItem* self) { + PangoLayout* result = NULL; + PangoLayout* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 288 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->_has_tags; +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_) { +#line 2224 "CheckerboardLayout.c" + CheckerboardItemText* _tmp2_ = NULL; + PangoLayout* _tmp3_ = NULL; +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->subtitle; +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = checkerboard_item_text_get_pango_layout (_tmp2_, 0); +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp0_); +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp3_; +#line 2235 "CheckerboardLayout.c" + } else { +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp0_); +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = NULL; +#line 2241 "CheckerboardLayout.c" + } +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2247 "CheckerboardLayout.c" +} + + +void checkerboard_item_get_subtitle_allocation (CheckerboardItem* self, GdkRectangle* result) { + CheckerboardItemText* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; +#line 292 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->subtitle; +#line 293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_->allocation; +#line 293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *result = _tmp1_; +#line 293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 2264 "CheckerboardLayout.c" +} + + +gchar* checkerboard_item_get_subtitle (CheckerboardItem* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + CheckerboardItemText* _tmp1_ = NULL; +#line 296 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->subtitle; +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 2278 "CheckerboardLayout.c" + CheckerboardItemText* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->subtitle; +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = checkerboard_item_text_get_text (_tmp2_); +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp0_); +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp3_; +#line 2289 "CheckerboardLayout.c" + } else { + gchar* _tmp4_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = g_strdup (""); +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp0_); +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp4_; +#line 2298 "CheckerboardLayout.c" + } +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2304 "CheckerboardLayout.c" +} + + +void checkerboard_item_set_subtitle (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment) { + gboolean _tmp0_ = FALSE; + CheckerboardItemText* _tmp1_ = NULL; + const gchar* _tmp7_ = NULL; + PangoAlignment _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + CheckerboardItemText* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 300 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 300 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (text != NULL); +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->subtitle; +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 2324 "CheckerboardLayout.c" + CheckerboardItemText* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PangoAlignment _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->subtitle; +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = text; +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = marked_up; +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = alignment; +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = checkerboard_item_text_is_set_to (_tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp6_; +#line 2342 "CheckerboardLayout.c" + } else { +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 2346 "CheckerboardLayout.c" + } +#line 302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 303 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 2352 "CheckerboardLayout.c" + } +#line 305 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = text; +#line 305 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = alignment; +#line 305 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = marked_up; +#line 305 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = checkerboard_item_text_new (_tmp7_, _tmp8_, _tmp9_); +#line 305 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->subtitle); +#line 305 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->subtitle = _tmp10_; +#line 307 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = self->priv->subtitle_visible; +#line 307 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp11_) { +#line 308 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "set_subtitle"); +#line 309 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 2374 "CheckerboardLayout.c" + } +} + + +void checkerboard_item_clear_subtitle (CheckerboardItem* self) { + CheckerboardItemText* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 314 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->subtitle; +#line 314 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == NULL) { +#line 315 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 2390 "CheckerboardLayout.c" + } +#line 317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->subtitle); +#line 317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->subtitle = NULL; +#line 319 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->subtitle_visible; +#line 319 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_) { +#line 320 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "clear_subtitle"); +#line 321 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 2404 "CheckerboardLayout.c" + } +} + + +static void checkerboard_item_set_subtitle_visible (CheckerboardItem* self, gboolean visible) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 325 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 326 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->subtitle_visible; +#line 326 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = visible; +#line 326 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == _tmp1_) { +#line 327 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 2423 "CheckerboardLayout.c" + } +#line 329 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = visible; +#line 329 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->subtitle_visible = _tmp2_; +#line 331 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "set_subtitle_visible"); +#line 332 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 2433 "CheckerboardLayout.c" +} + + +void checkerboard_item_set_is_cursor (CheckerboardItem* self, gboolean is_cursor) { + gboolean _tmp0_ = FALSE; +#line 335 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = is_cursor; +#line 336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->is_cursor = _tmp0_; +#line 2445 "CheckerboardLayout.c" +} + + +gboolean checkerboard_item_get_is_cusor (CheckerboardItem* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 339 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), FALSE); +#line 340 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->is_cursor; +#line 340 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 340 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2460 "CheckerboardLayout.c" +} + + +static void _vala_GValue_free (GValue* self) { +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_value_unset (self); +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_free (self); +#line 2469 "CheckerboardLayout.c" +} + + +static void checkerboard_item_real_notify_membership_changed (DataObject* base, DataCollection* collection) { + CheckerboardItem * self; + gboolean title_visible = FALSE; + GValue* _tmp0_ = NULL; + GValue* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean comment_visible = FALSE; + GValue* _tmp3_ = NULL; + GValue* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean subtitle_visible = FALSE; + GValue* _tmp6_ = NULL; + GValue* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean altered = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + DataCollection* _tmp21_ = NULL; +#line 343 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 343 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail ((collection == NULL) || IS_DATA_COLLECTION (collection)); +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = g_new0 (GValue, 1); +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_value_init (_tmp0_, G_TYPE_BOOLEAN); +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_value_set_boolean (_tmp0_, TRUE); +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = data_object_get_collection_property (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), CHECKERBOARD_ITEM_PROP_SHOW_TITLES, _tmp0_); +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = g_value_get_boolean (_tmp1_); +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + __vala_GValue_free0 (_tmp0_); +#line 344 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + title_visible = _tmp2_; +#line 345 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = g_new0 (GValue, 1); +#line 345 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_value_init (_tmp3_, G_TYPE_BOOLEAN); +#line 345 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_value_set_boolean (_tmp3_, TRUE); +#line 345 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = data_object_get_collection_property (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), CHECKERBOARD_ITEM_PROP_SHOW_COMMENTS, _tmp3_); +#line 345 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = g_value_get_boolean (_tmp4_); +#line 345 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + __vala_GValue_free0 (_tmp3_); +#line 345 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + comment_visible = _tmp5_; +#line 346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = g_new0 (GValue, 1); +#line 346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_value_init (_tmp6_, G_TYPE_BOOLEAN); +#line 346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_value_set_boolean (_tmp6_, FALSE); +#line 346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = data_object_get_collection_property (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES, _tmp6_); +#line 346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = g_value_get_boolean (_tmp7_); +#line 346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + __vala_GValue_free0 (_tmp6_); +#line 346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + subtitle_visible = _tmp8_; +#line 348 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + altered = FALSE; +#line 349 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->title_visible; +#line 349 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = title_visible; +#line 349 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp9_ != _tmp10_) { +#line 2551 "CheckerboardLayout.c" + gboolean _tmp11_ = FALSE; +#line 350 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = title_visible; +#line 350 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->title_visible = _tmp11_; +#line 351 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + altered = TRUE; +#line 2559 "CheckerboardLayout.c" + } +#line 354 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = self->priv->comment_visible; +#line 354 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = comment_visible; +#line 354 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp12_ != _tmp13_) { +#line 2567 "CheckerboardLayout.c" + gboolean _tmp14_ = FALSE; +#line 355 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = comment_visible; +#line 355 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->comment_visible = _tmp14_; +#line 356 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + altered = TRUE; +#line 2575 "CheckerboardLayout.c" + } +#line 359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = self->priv->subtitle_visible; +#line 359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = subtitle_visible; +#line 359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp15_ != _tmp16_) { +#line 2583 "CheckerboardLayout.c" + gboolean _tmp17_ = FALSE; +#line 360 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = subtitle_visible; +#line 360 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->subtitle_visible = _tmp17_; +#line 361 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + altered = TRUE; +#line 2591 "CheckerboardLayout.c" + } +#line 364 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = altered; +#line 364 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp19_) { +#line 364 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = TRUE; +#line 2599 "CheckerboardLayout.c" + } else { + gboolean _tmp20_ = FALSE; +#line 364 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = dimensions_has_area (&self->requisition); +#line 364 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = !_tmp20_; +#line 2606 "CheckerboardLayout.c" + } +#line 364 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp18_) { +#line 365 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "notify_membership_changed"); +#line 366 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 2614 "CheckerboardLayout.c" + } +#line 369 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = collection; +#line 369 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + DATA_OBJECT_CLASS (checkerboard_item_parent_class)->notify_membership_changed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_VIEW, ThumbnailView), TYPE_DATA_OBJECT, DataObject), _tmp21_); +#line 2620 "CheckerboardLayout.c" +} + + +static void checkerboard_item_real_notify_collection_property_set (DataObject* base, const gchar* name, GValue* old, GValue* val) { + CheckerboardItem * self; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; + const gchar* _tmp7_ = NULL; + GValue* _tmp8_ = NULL; + GValue _tmp9_ = {0}; +#line 372 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 372 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (name != NULL); +#line 372 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (val != NULL); +#line 373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = name; +#line 373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_; +#line 373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp3_ == g_quark_from_string (CHECKERBOARD_ITEM_PROP_SHOW_TITLES)) { +#line 373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + switch (0) { +#line 2648 "CheckerboardLayout.c" + default: + { + GValue _tmp4_ = {0}; +#line 375 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = *val; +#line 375 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_title_visible (self, g_value_get_boolean (&_tmp4_)); +#line 376 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 2658 "CheckerboardLayout.c" + } + } + } else if (_tmp3_ == g_quark_from_string (CHECKERBOARD_ITEM_PROP_SHOW_COMMENTS)) { +#line 373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + switch (0) { +#line 2664 "CheckerboardLayout.c" + default: + { + GValue _tmp5_ = {0}; +#line 379 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = *val; +#line 379 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_comment_visible (self, g_value_get_boolean (&_tmp5_)); +#line 380 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 2674 "CheckerboardLayout.c" + } + } + } else if (_tmp3_ == g_quark_from_string (CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES)) { +#line 373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + switch (0) { +#line 2680 "CheckerboardLayout.c" + default: + { + GValue _tmp6_ = {0}; +#line 383 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = *val; +#line 383 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_subtitle_visible (self, g_value_get_boolean (&_tmp6_)); +#line 384 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 2690 "CheckerboardLayout.c" + } + } + } +#line 387 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = name; +#line 387 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = old; +#line 387 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = *val; +#line 387 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + DATA_OBJECT_CLASS (checkerboard_item_parent_class)->notify_collection_property_set (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_VIEW, ThumbnailView), TYPE_DATA_OBJECT, DataObject), _tmp7_, _tmp8_, &_tmp9_); +#line 2702 "CheckerboardLayout.c" +} + + +gint checkerboard_item_get_alignment_point (CheckerboardItem* self) { + gint result = 0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; +#line 393 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), 0); +#line 394 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->pixbuf_dim; +#line 394 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_.height; +#line 394 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = (CHECKERBOARD_ITEM_FRAME_WIDTH + CHECKERBOARD_ITEM_BORDER_WIDTH) + _tmp1_; +#line 394 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2720 "CheckerboardLayout.c" +} + + +static void checkerboard_item_real_exposed (CheckerboardItem* self) { +#line 398 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposure = TRUE; +#line 2727 "CheckerboardLayout.c" +} + + +void checkerboard_item_exposed (CheckerboardItem* self) { +#line 397 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 397 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + CHECKERBOARD_ITEM_GET_CLASS (self)->exposed (self); +#line 2736 "CheckerboardLayout.c" +} + + +static void checkerboard_item_real_unexposed (CheckerboardItem* self) { + CheckerboardItemText* _tmp0_ = NULL; + CheckerboardItemText* _tmp2_ = NULL; + CheckerboardItemText* _tmp4_ = NULL; +#line 402 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposure = FALSE; +#line 404 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->title; +#line 404 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ != NULL) { +#line 2750 "CheckerboardLayout.c" + CheckerboardItemText* _tmp1_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->title; +#line 405 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_clear_pango_layout (_tmp1_); +#line 2756 "CheckerboardLayout.c" + } +#line 407 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->comment; +#line 407 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_ != NULL) { +#line 2762 "CheckerboardLayout.c" + CheckerboardItemText* _tmp3_ = NULL; +#line 408 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->comment; +#line 408 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_clear_pango_layout (_tmp3_); +#line 2768 "CheckerboardLayout.c" + } +#line 410 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->subtitle; +#line 410 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp4_ != NULL) { +#line 2774 "CheckerboardLayout.c" + CheckerboardItemText* _tmp5_ = NULL; +#line 411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = self->priv->subtitle; +#line 411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_text_clear_pango_layout (_tmp5_); +#line 2780 "CheckerboardLayout.c" + } +} + + +void checkerboard_item_unexposed (CheckerboardItem* self) { +#line 401 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 401 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + CHECKERBOARD_ITEM_GET_CLASS (self)->unexposed (self); +#line 2790 "CheckerboardLayout.c" +} + + +static gboolean checkerboard_item_real_is_exposed (CheckerboardItem* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 415 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->exposure; +#line 415 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 415 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2803 "CheckerboardLayout.c" +} + + +gboolean checkerboard_item_is_exposed (CheckerboardItem* self) { +#line 414 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), FALSE); +#line 414 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return CHECKERBOARD_ITEM_GET_CLASS (self)->is_exposed (self); +#line 2812 "CheckerboardLayout.c" +} + + +gboolean checkerboard_item_has_image (CheckerboardItem* self) { + gboolean result = FALSE; + GdkPixbuf* _tmp0_ = NULL; +#line 418 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), FALSE); +#line 419 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->pixbuf; +#line 419 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_ != NULL; +#line 419 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2827 "CheckerboardLayout.c" +} + + +GdkPixbuf* checkerboard_item_get_image (CheckerboardItem* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 422 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 423 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->pixbuf; +#line 423 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 423 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp1_; +#line 423 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2845 "CheckerboardLayout.c" +} + + +void checkerboard_item_set_image (CheckerboardItem* self, GdkPixbuf* pixbuf) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; +#line 426 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 426 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 427 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = pixbuf; +#line 427 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 427 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->pixbuf); +#line 427 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->pixbuf = _tmp1_; +#line 428 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = pixbuf; +#line 428 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 428 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->display_pixbuf); +#line 428 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->display_pixbuf = _tmp3_; +#line 429 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = pixbuf; +#line 429 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions_for_pixbuf (_tmp4_, &_tmp5_); +#line 429 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->pixbuf_dim = _tmp5_; +#line 431 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "set_image"); +#line 432 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 2886 "CheckerboardLayout.c" +} + + +void checkerboard_item_clear_image (CheckerboardItem* self, Dimensions* dim) { + gboolean had_image = FALSE; + GdkPixbuf* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; +#line 435 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 435 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (dim != NULL); +#line 436 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->pixbuf; +#line 436 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + had_image = _tmp0_ != NULL; +#line 438 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->pixbuf); +#line 438 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->pixbuf = NULL; +#line 439 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->display_pixbuf); +#line 439 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->display_pixbuf = NULL; +#line 440 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = *dim; +#line 440 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->pixbuf_dim = _tmp1_; +#line 442 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_recalc_size (self, "clear_image"); +#line 444 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = had_image; +#line 444 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_) { +#line 445 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 2923 "CheckerboardLayout.c" + } +} + + +gint checkerboard_item_get_max_width (gint scale) { + gint result = 0; + gint _tmp0_ = 0; +#line 451 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = scale; +#line 451 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = (CHECKERBOARD_ITEM_FRAME_WIDTH * 2) + _tmp0_; +#line 451 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 2937 "CheckerboardLayout.c" +} + + +static void checkerboard_item_recalc_size (CheckerboardItem* self, const gchar* reason) { + Dimensions old_requisition = {0}; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + CheckerboardItemText* _tmp3_ = NULL; + gint title_height = 0; + gint _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + CheckerboardItemText* _tmp9_ = NULL; + gint comment_height = 0; + gint _tmp13_ = 0; + gboolean _tmp14_ = FALSE; + CheckerboardItemText* _tmp15_ = NULL; + gint subtitle_height = 0; + Dimensions _tmp19_ = {0}; + gint _tmp20_ = 0; + Dimensions _tmp21_ = {0}; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + Dimensions _tmp26_ = {0}; + gboolean _tmp27_ = FALSE; +#line 454 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 454 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (reason != NULL); +#line 455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->requisition; +#line 455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + old_requisition = _tmp0_; +#line 458 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->title; +#line 458 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp3_ != NULL) { +#line 2977 "CheckerboardLayout.c" + gboolean _tmp4_ = FALSE; +#line 458 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->title_visible; +#line 458 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp4_; +#line 2983 "CheckerboardLayout.c" + } else { +#line 458 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = FALSE; +#line 2987 "CheckerboardLayout.c" + } +#line 458 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_) { +#line 2991 "CheckerboardLayout.c" + CheckerboardItemText* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 459 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = self->priv->title; +#line 459 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = checkerboard_item_text_get_height (_tmp5_); +#line 459 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp6_ + CHECKERBOARD_ITEM_LABEL_PADDING; +#line 3000 "CheckerboardLayout.c" + } else { +#line 459 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = 0; +#line 3004 "CheckerboardLayout.c" + } +#line 458 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + title_height = _tmp1_; +#line 460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->comment; +#line 460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp9_ != NULL) { +#line 3012 "CheckerboardLayout.c" + gboolean _tmp10_ = FALSE; +#line 460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = self->priv->comment_visible; +#line 460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _tmp10_; +#line 3018 "CheckerboardLayout.c" + } else { +#line 460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = FALSE; +#line 3022 "CheckerboardLayout.c" + } +#line 460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp8_) { +#line 3026 "CheckerboardLayout.c" + CheckerboardItemText* _tmp11_ = NULL; + gint _tmp12_ = 0; +#line 461 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = self->priv->comment; +#line 461 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = checkerboard_item_text_get_height (_tmp11_); +#line 461 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _tmp12_ + CHECKERBOARD_ITEM_LABEL_PADDING; +#line 3035 "CheckerboardLayout.c" + } else { +#line 461 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = 0; +#line 3039 "CheckerboardLayout.c" + } +#line 460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + comment_height = _tmp7_; +#line 462 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = self->priv->subtitle; +#line 462 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp15_ != NULL) { +#line 3047 "CheckerboardLayout.c" + gboolean _tmp16_ = FALSE; +#line 462 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = self->priv->subtitle_visible; +#line 462 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _tmp16_; +#line 3053 "CheckerboardLayout.c" + } else { +#line 462 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = FALSE; +#line 3057 "CheckerboardLayout.c" + } +#line 462 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp14_) { +#line 3061 "CheckerboardLayout.c" + CheckerboardItemText* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 463 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = self->priv->subtitle; +#line 463 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = checkerboard_item_text_get_height (_tmp17_); +#line 463 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp18_ + CHECKERBOARD_ITEM_LABEL_PADDING; +#line 3070 "CheckerboardLayout.c" + } else { +#line 463 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = 0; +#line 3074 "CheckerboardLayout.c" + } +#line 462 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + subtitle_height = _tmp13_; +#line 467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = self->priv->pixbuf_dim; +#line 467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = _tmp19_.width; +#line 467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->requisition.width = ((CHECKERBOARD_ITEM_FRAME_WIDTH * 2) + (CHECKERBOARD_ITEM_BORDER_WIDTH * 2)) + _tmp20_; +#line 471 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = self->priv->pixbuf_dim; +#line 471 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = _tmp21_.height; +#line 471 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = title_height; +#line 471 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = comment_height; +#line 471 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = subtitle_height; +#line 471 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->requisition.height = (((((CHECKERBOARD_ITEM_FRAME_WIDTH * 2) + (CHECKERBOARD_ITEM_BORDER_WIDTH * 2)) + _tmp22_) + _tmp23_) + _tmp24_) + _tmp25_; +#line 480 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = old_requisition; +#line 480 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = dimensions_approx_equals (&self->requisition, &_tmp26_, 1); +#line 480 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp27_) { +#line 484 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_geometry_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 3104 "CheckerboardLayout.c" + } +} + + +void checkerboard_item_get_border_dimensions (Dimensions* object_dim, gint border_width, Dimensions* result) { + Dimensions dimensions = {0}; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 488 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (object_dim != NULL); +#line 489 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions_init (&dimensions, 0, 0); +#line 490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = *object_dim; +#line 490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_.width; +#line 490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = border_width; +#line 490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions.width = _tmp1_ + (_tmp2_ * 2); +#line 491 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = *object_dim; +#line 491 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_.height; +#line 491 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = border_width; +#line 491 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions.height = _tmp4_ + (_tmp5_ * 2); +#line 492 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *result = dimensions; +#line 492 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 3141 "CheckerboardLayout.c" +} + + +void checkerboard_item_get_border_origin (GdkPoint* object_origin, gint border_width, GdkPoint* result) { + GdkPoint origin = {0}; + GdkPoint _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 495 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (object_origin != NULL); +#line 496 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&origin, 0, sizeof (GdkPoint)); +#line 497 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = *object_origin; +#line 497 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_.x; +#line 497 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = border_width; +#line 497 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + origin.x = _tmp1_ - _tmp2_; +#line 498 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = *object_origin; +#line 498 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_.y; +#line 498 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = border_width; +#line 498 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + origin.y = _tmp4_ - _tmp5_; +#line 499 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *result = origin; +#line 499 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 3177 "CheckerboardLayout.c" +} + + +static void checkerboard_item_real_paint_shadow (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha) { + gdouble rgb_all = 0.0; + cairo_t* _tmp0_ = NULL; + GdkPoint _tmp1_ = {0}; + gint _tmp2_ = 0; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gfloat _tmp9_ = 0.0F; + cairo_t* _tmp10_ = NULL; + GdkPoint _tmp11_ = {0}; + gint _tmp12_ = 0; + Dimensions _tmp13_ = {0}; + gint _tmp14_ = 0; + GdkPoint _tmp15_ = {0}; + gint _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gfloat _tmp20_ = 0.0F; + cairo_t* _tmp21_ = NULL; + GdkPoint _tmp22_ = {0}; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + GdkPoint _tmp25_ = {0}; + gint _tmp26_ = 0; + Dimensions _tmp27_ = {0}; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gfloat _tmp30_ = 0.0F; + cairo_pattern_t* lr = NULL; + GdkPoint _tmp31_ = {0}; + gint _tmp32_ = 0; + Dimensions _tmp33_ = {0}; + gint _tmp34_ = 0; + GdkPoint _tmp35_ = {0}; + gint _tmp36_ = 0; + Dimensions _tmp37_ = {0}; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + cairo_pattern_t* _tmp40_ = NULL; + gfloat _tmp41_ = 0.0F; + cairo_t* _tmp42_ = NULL; + cairo_t* _tmp43_ = NULL; + GdkPoint _tmp44_ = {0}; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + GdkPoint _tmp47_ = {0}; + gint _tmp48_ = 0; + Dimensions _tmp49_ = {0}; + gint _tmp50_ = 0; + Dimensions _tmp51_ = {0}; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + cairo_t* _tmp55_ = NULL; + cairo_pattern_t* td = NULL; + GdkPoint _tmp56_ = {0}; + gint _tmp57_ = 0; + Dimensions _tmp58_ = {0}; + gint _tmp59_ = 0; + GdkPoint _tmp60_ = {0}; + gint _tmp61_ = 0; + Dimensions _tmp62_ = {0}; + gint _tmp63_ = 0; + gint _tmp64_ = 0; + cairo_pattern_t* _tmp65_ = NULL; + gfloat _tmp66_ = 0.0F; + cairo_t* _tmp67_ = NULL; + cairo_t* _tmp68_ = NULL; + GdkPoint _tmp69_ = {0}; + gint _tmp70_ = 0; + Dimensions _tmp71_ = {0}; + gint _tmp72_ = 0; + GdkPoint _tmp73_ = {0}; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + gint _tmp76_ = 0; + Dimensions _tmp77_ = {0}; + gint _tmp78_ = 0; + gint _tmp79_ = 0; + cairo_t* _tmp80_ = NULL; +#line 502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (ctx != NULL); +#line 502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (dimensions != NULL); +#line 502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (origin != NULL); +#line 504 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + rgb_all = 0.0; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = ctx; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = *origin; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp1_.x; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = *dimensions; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_.width; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = *origin; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_.y; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = radius; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = radius; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = initial_alpha; +#line 507 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint_shadow_in_corner (self, _tmp0_, _tmp2_ + _tmp4_, _tmp6_ + _tmp7_, rgb_all, (gfloat) _tmp8_, _tmp9_, (-0.5) * G_PI, (gdouble) 0); +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = ctx; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = *origin; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _tmp11_.x; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = *dimensions; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _tmp13_.width; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = *origin; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = _tmp15_.y; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = *dimensions; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = _tmp17_.height; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = radius; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = initial_alpha; +#line 510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint_shadow_in_corner (self, _tmp10_, _tmp12_ + _tmp14_, _tmp16_ + _tmp18_, rgb_all, (gfloat) _tmp19_, _tmp20_, (gdouble) 0, 0.5 * G_PI); +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = ctx; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = *origin; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = _tmp22_.x; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = radius; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = *origin; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = _tmp25_.y; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = *dimensions; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = _tmp27_.height; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = radius; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = initial_alpha; +#line 513 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint_shadow_in_corner (self, _tmp21_, _tmp23_ + _tmp24_, _tmp26_ + _tmp28_, rgb_all, (gfloat) _tmp29_, _tmp30_, 0.5 * G_PI, G_PI); +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = *origin; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = _tmp31_.y; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = *dimensions; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = _tmp33_.height; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = *origin; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = _tmp35_.y; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = *dimensions; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = _tmp37_.height; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = radius; +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = cairo_pattern_create_linear ((gdouble) 0, (gdouble) (_tmp32_ + _tmp34_), (gdouble) 0, (gdouble) ((_tmp36_ + _tmp38_) + _tmp39_)); +#line 517 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + lr = _tmp40_; +#line 519 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = initial_alpha; +#line 519 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_pattern_add_color_stop_rgba (lr, 0.0, rgb_all, rgb_all, rgb_all, (gdouble) _tmp41_); +#line 520 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_pattern_add_color_stop_rgba (lr, 1.0, rgb_all, rgb_all, rgb_all, 0.0); +#line 521 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = ctx; +#line 521 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source (_tmp42_, lr); +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = ctx; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = *origin; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = _tmp44_.x; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = radius; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = *origin; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp48_ = _tmp47_.y; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp49_ = *dimensions; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp50_ = _tmp49_.height; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp51_ = *dimensions; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp52_ = _tmp51_.width; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp53_ = radius; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp54_ = radius; +#line 522 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp43_, (gdouble) (_tmp45_ + _tmp46_), (gdouble) (_tmp48_ + _tmp50_), (gdouble) (_tmp52_ - _tmp53_), (gdouble) _tmp54_); +#line 523 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp55_ = ctx; +#line 523 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp55_); +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp56_ = *origin; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp57_ = _tmp56_.x; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp58_ = *dimensions; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp59_ = _tmp58_.width; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp60_ = *origin; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp61_ = _tmp60_.x; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp62_ = *dimensions; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp63_ = _tmp62_.width; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp64_ = radius; +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp65_ = cairo_pattern_create_linear ((gdouble) (_tmp57_ + _tmp59_), (gdouble) 0, (gdouble) ((_tmp61_ + _tmp63_) + _tmp64_), (gdouble) 0); +#line 526 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + td = _tmp65_; +#line 528 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp66_ = initial_alpha; +#line 528 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_pattern_add_color_stop_rgba (td, 0.0, rgb_all, rgb_all, rgb_all, (gdouble) _tmp66_); +#line 529 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_pattern_add_color_stop_rgba (td, 1.0, rgb_all, rgb_all, rgb_all, 0.0); +#line 530 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp67_ = ctx; +#line 530 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source (_tmp67_, td); +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp68_ = ctx; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp69_ = *origin; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp70_ = _tmp69_.x; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp71_ = *dimensions; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp72_ = _tmp71_.width; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp73_ = *origin; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp74_ = _tmp73_.y; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp75_ = radius; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp76_ = radius; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp77_ = *dimensions; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp78_ = _tmp77_.height; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp79_ = radius; +#line 531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp68_, (gdouble) (_tmp70_ + _tmp72_), (gdouble) (_tmp74_ + _tmp75_), (gdouble) _tmp76_, (gdouble) (_tmp78_ - _tmp79_)); +#line 533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp80_ = ctx; +#line 533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp80_); +#line 502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _cairo_pattern_destroy0 (td); +#line 502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _cairo_pattern_destroy0 (lr); +#line 3470 "CheckerboardLayout.c" +} + + +void checkerboard_item_paint_shadow (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha) { +#line 502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + CHECKERBOARD_ITEM_GET_CLASS (self)->paint_shadow (self, ctx, dimensions, origin, radius, initial_alpha); +#line 3479 "CheckerboardLayout.c" +} + + +void checkerboard_item_paint_shadow_in_corner (CheckerboardItem* self, cairo_t* ctx, gint x, gint y, gdouble rgb_all, gfloat radius, gfloat initial_alpha, gdouble arc1, gdouble arc2) { + cairo_pattern_t* p = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gfloat _tmp4_ = 0.0F; + cairo_pattern_t* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; + gfloat _tmp9_ = 0.0F; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + gdouble _tmp12_ = 0.0; + cairo_t* _tmp13_ = NULL; + cairo_t* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + cairo_t* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gfloat _tmp20_ = 0.0F; + gdouble _tmp21_ = 0.0; + gdouble _tmp22_ = 0.0; + cairo_t* _tmp23_ = NULL; + cairo_t* _tmp24_ = NULL; +#line 536 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 536 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (ctx != NULL); +#line 538 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = x; +#line 538 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = y; +#line 538 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = x; +#line 538 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = y; +#line 538 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = radius; +#line 538 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = cairo_pattern_create_radial ((gdouble) _tmp0_, (gdouble) _tmp1_, (gdouble) 0, (gdouble) _tmp2_, (gdouble) _tmp3_, (gdouble) _tmp4_); +#line 538 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + p = _tmp5_; +#line 539 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = rgb_all; +#line 539 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = rgb_all; +#line 539 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = rgb_all; +#line 539 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = initial_alpha; +#line 539 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_pattern_add_color_stop_rgba (p, 0.0, _tmp6_, _tmp7_, _tmp8_, (gdouble) _tmp9_); +#line 540 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = rgb_all; +#line 540 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = rgb_all; +#line 540 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = rgb_all; +#line 540 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_pattern_add_color_stop_rgba (p, 1.0, _tmp10_, _tmp11_, _tmp12_, (gdouble) 0); +#line 541 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = ctx; +#line 541 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source (_tmp13_, p); +#line 542 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = ctx; +#line 542 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = x; +#line 542 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = y; +#line 542 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_move_to (_tmp14_, (gdouble) _tmp15_, (gdouble) _tmp16_); +#line 543 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = ctx; +#line 543 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = x; +#line 543 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = y; +#line 543 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = radius; +#line 543 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = arc1; +#line 543 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = arc2; +#line 543 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_arc (_tmp17_, (gdouble) _tmp18_, (gdouble) _tmp19_, (gdouble) _tmp20_, _tmp21_, _tmp22_); +#line 544 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = ctx; +#line 544 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_close_path (_tmp23_); +#line 545 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = ctx; +#line 545 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp24_); +#line 536 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _cairo_pattern_destroy0 (p); +#line 3582 "CheckerboardLayout.c" +} + + +static void checkerboard_item_real_paint_border (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width) { + gint _tmp0_ = 0; +#line 548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (ctx != NULL); +#line 548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (object_dimensions != NULL); +#line 548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (object_origin != NULL); +#line 550 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = border_width; +#line 550 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == 1) { +#line 3598 "CheckerboardLayout.c" + cairo_t* _tmp1_ = NULL; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + Dimensions _tmp11_ = {0}; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + cairo_t* _tmp14_ = NULL; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = ctx; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = *object_origin; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _tmp2_.x; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = border_width; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = *object_origin; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_.y; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = border_width; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = *object_dimensions; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = _tmp8_.width; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = border_width; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = *object_dimensions; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _tmp11_.height; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = border_width; +#line 551 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp1_, (gdouble) (_tmp3_ - _tmp4_), (gdouble) (_tmp6_ - _tmp7_), (gdouble) (_tmp9_ + (_tmp10_ * 2)), (gdouble) (_tmp12_ + (_tmp13_ * 2))); +#line 554 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = ctx; +#line 554 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp14_); +#line 3645 "CheckerboardLayout.c" + } else { + Dimensions dimensions = {0}; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + GdkPoint origin = {0}; + GdkPoint _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gdouble scale = 0.0; + Dimensions _tmp21_ = {0}; + gint _tmp22_ = 0; + Dimensions _tmp23_ = {0}; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + cairo_t* _tmp26_ = NULL; + Dimensions _tmp27_ = {0}; + GdkPoint _tmp28_ = {0}; + gdouble _tmp29_ = 0.0; +#line 556 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = *object_dimensions; +#line 556 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = border_width; +#line 556 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_get_border_dimensions (&_tmp15_, _tmp16_, &_tmp17_); +#line 556 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions = _tmp17_; +#line 557 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = *object_origin; +#line 557 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = border_width; +#line 557 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_get_border_origin (&_tmp18_, _tmp19_, &_tmp20_); +#line 557 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + origin = _tmp20_; +#line 560 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = *object_dimensions; +#line 560 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = _tmp21_.width; +#line 560 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = *object_dimensions; +#line 560 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = _tmp23_.height; +#line 560 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = MAX (_tmp22_, _tmp24_); +#line 560 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + scale = (gdouble) _tmp25_; +#line 561 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = ctx; +#line 561 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = dimensions; +#line 561 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = origin; +#line 561 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = scale; +#line 561 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + draw_rounded_corners_filled (_tmp26_, &_tmp27_, &_tmp28_, 0.25 * _tmp29_); +#line 3703 "CheckerboardLayout.c" + } +} + + +void checkerboard_item_paint_border (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width) { +#line 548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + CHECKERBOARD_ITEM_GET_CLASS (self)->paint_border (self, ctx, object_dimensions, object_origin, border_width); +#line 3713 "CheckerboardLayout.c" +} + + +static void checkerboard_item_real_paint_image (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin) { + GdkPixbuf* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + cairo_t* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + GdkPoint _tmp14_ = {0}; + gint _tmp15_ = 0; + GdkPoint _tmp16_ = {0}; + gint _tmp17_ = 0; + cairo_t* _tmp18_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (ctx != NULL); +#line 565 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 565 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (origin != NULL); +#line 566 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = pixbuf; +#line 566 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = gdk_pixbuf_get_has_alpha (_tmp0_); +#line 566 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_) { +#line 3739 "CheckerboardLayout.c" + cairo_t* _tmp2_ = NULL; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkPixbuf* _tmp7_ = NULL; + gint _tmp8_ = 0; + GdkPixbuf* _tmp9_ = NULL; + gint _tmp10_ = 0; + cairo_t* _tmp11_ = NULL; +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = ctx; +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = *origin; +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_.x; +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = *origin; +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_.y; +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = pixbuf; +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = gdk_pixbuf_get_width (_tmp7_); +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = pixbuf; +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = gdk_pixbuf_get_height (_tmp9_); +#line 567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp2_, (gdouble) _tmp4_, (gdouble) _tmp6_, (gdouble) _tmp8_, (gdouble) _tmp10_); +#line 568 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = ctx; +#line 568 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp11_); +#line 3774 "CheckerboardLayout.c" + } +#line 570 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = ctx; +#line 570 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = pixbuf; +#line 570 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = *origin; +#line 570 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = _tmp14_.x; +#line 570 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = *origin; +#line 570 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = _tmp16_.y; +#line 570 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gdk_cairo_set_source_pixbuf (_tmp12_, _tmp13_, (gdouble) _tmp15_, (gdouble) _tmp17_); +#line 571 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = ctx; +#line 571 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_paint (_tmp18_); +#line 3794 "CheckerboardLayout.c" +} + + +void checkerboard_item_paint_image (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin) { +#line 565 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 565 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + CHECKERBOARD_ITEM_GET_CLASS (self)->paint_image (self, ctx, pixbuf, origin); +#line 3803 "CheckerboardLayout.c" +} + + +static gint checkerboard_item_get_selection_border_width (CheckerboardItem* self, gint scale) { + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 574 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), 0); +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = scale; +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = thumbnail_get_MIN_SCALE (); +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _tmp2_; +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = thumbnail_get_MAX_SCALE (); +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _tmp4_; +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ <= ((_tmp3_ + _tmp5_) / 3)) { +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = 2; +#line 3831 "CheckerboardLayout.c" + } else { +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = 3; +#line 3835 "CheckerboardLayout.c" + } +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_ + CHECKERBOARD_ITEM_BORDER_WIDTH; +#line 575 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 3841 "CheckerboardLayout.c" +} + + +static GdkPixbuf* checkerboard_item_real_get_top_left_trinket (CheckerboardItem* self, gint scale) { + GdkPixbuf* result = NULL; +#line 580 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 580 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 3851 "CheckerboardLayout.c" +} + + +GdkPixbuf* checkerboard_item_get_top_left_trinket (CheckerboardItem* self, gint scale) { +#line 579 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 579 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return CHECKERBOARD_ITEM_GET_CLASS (self)->get_top_left_trinket (self, scale); +#line 3860 "CheckerboardLayout.c" +} + + +static GdkPixbuf* checkerboard_item_real_get_top_right_trinket (CheckerboardItem* self, gint scale) { + GdkPixbuf* result = NULL; +#line 584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 3870 "CheckerboardLayout.c" +} + + +GdkPixbuf* checkerboard_item_get_top_right_trinket (CheckerboardItem* self, gint scale) { +#line 583 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 583 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return CHECKERBOARD_ITEM_GET_CLASS (self)->get_top_right_trinket (self, scale); +#line 3879 "CheckerboardLayout.c" +} + + +static GdkPixbuf* checkerboard_item_real_get_bottom_left_trinket (CheckerboardItem* self, gint scale) { + GdkPixbuf* result = NULL; +#line 588 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 588 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 3889 "CheckerboardLayout.c" +} + + +GdkPixbuf* checkerboard_item_get_bottom_left_trinket (CheckerboardItem* self, gint scale) { +#line 587 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 587 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return CHECKERBOARD_ITEM_GET_CLASS (self)->get_bottom_left_trinket (self, scale); +#line 3898 "CheckerboardLayout.c" +} + + +static GdkPixbuf* checkerboard_item_real_get_bottom_right_trinket (CheckerboardItem* self, gint scale) { + GdkPixbuf* result = NULL; +#line 592 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 592 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 3908 "CheckerboardLayout.c" +} + + +GdkPixbuf* checkerboard_item_get_bottom_right_trinket (CheckerboardItem* self, gint scale) { +#line 591 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), NULL); +#line 591 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return CHECKERBOARD_ITEM_GET_CLASS (self)->get_bottom_right_trinket (self, scale); +#line 3917 "CheckerboardLayout.c" +} + + +void checkerboard_item_paint (CheckerboardItem* self, cairo_t* ctx, GdkRGBA* bg_color, GdkRGBA* selected_color, GdkRGBA* text_color, GdkRGBA* border_color) { + GdkPoint pixbuf_origin = {0}; + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + cairo_t* _tmp4_ = NULL; + cairo_t* _tmp5_ = NULL; + GdkRGBA _tmp6_ = {0}; + gdouble _tmp7_ = 0.0; + GdkRGBA _tmp8_ = {0}; + gdouble _tmp9_ = 0.0; + GdkRGBA _tmp10_ = {0}; + gdouble _tmp11_ = 0.0; + GdkRGBA _tmp12_ = {0}; + gdouble _tmp13_ = 0.0; + GdkRGBA* _tmp14_ = NULL; + gboolean _tmp24_ = FALSE; + gboolean _tmp45_ = FALSE; + GdkRGBA* _tmp57_ = NULL; + GdkPixbuf* _tmp72_ = NULL; + cairo_t* _tmp87_ = NULL; + GdkRGBA _tmp88_ = {0}; + gdouble _tmp89_ = 0.0; + GdkRGBA _tmp90_ = {0}; + gdouble _tmp91_ = 0.0; + GdkRGBA _tmp92_ = {0}; + gdouble _tmp93_ = 0.0; + GdkRGBA _tmp94_ = {0}; + gdouble _tmp95_ = 0.0; + gint text_y = 0; + GdkRectangle _tmp96_ = {0}; + gint _tmp97_ = 0; + Dimensions _tmp98_ = {0}; + gint _tmp99_ = 0; + gboolean _tmp100_ = FALSE; + CheckerboardItemText* _tmp101_ = NULL; + gboolean _tmp130_ = FALSE; + CheckerboardItemText* _tmp131_ = NULL; + gboolean _tmp160_ = FALSE; + CheckerboardItemText* _tmp161_ = NULL; + cairo_t* _tmp187_ = NULL; + GdkRGBA _tmp188_ = {0}; + gdouble _tmp189_ = 0.0; + GdkRGBA _tmp190_ = {0}; + gdouble _tmp191_ = 0.0; + GdkRGBA _tmp192_ = {0}; + gdouble _tmp193_ = 0.0; + GdkRGBA _tmp194_ = {0}; + gdouble _tmp195_ = 0.0; + GdkPixbuf* trinket = NULL; + GdkPixbuf* _tmp196_ = NULL; + GdkPixbuf* _tmp197_ = NULL; + GdkPixbuf* _tmp219_ = NULL; + GdkPixbuf* _tmp220_ = NULL; + GdkPixbuf* _tmp238_ = NULL; + GdkPixbuf* _tmp239_ = NULL; + GdkPixbuf* _tmp262_ = NULL; + GdkPixbuf* _tmp263_ = NULL; +#line 595 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 595 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (ctx != NULL); +#line 595 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (bg_color != NULL); +#line 595 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (selected_color != NULL); +#line 595 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (text_color != NULL); +#line 598 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&pixbuf_origin, 0, sizeof (GdkPoint)); +#line 599 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->allocation; +#line 599 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_.x; +#line 599 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pixbuf_origin.x = (_tmp1_ + CHECKERBOARD_ITEM_FRAME_WIDTH) + CHECKERBOARD_ITEM_BORDER_WIDTH; +#line 600 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->allocation; +#line 600 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _tmp2_.y; +#line 600 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pixbuf_origin.y = (_tmp3_ + CHECKERBOARD_ITEM_FRAME_WIDTH) + CHECKERBOARD_ITEM_BORDER_WIDTH; +#line 602 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = ctx; +#line 602 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_line_width (_tmp4_, (gdouble) CHECKERBOARD_ITEM_FRAME_WIDTH); +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = ctx; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = *selected_color; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _tmp6_.red; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = *selected_color; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = _tmp8_.green; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = *selected_color; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = _tmp10_.blue; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = *selected_color; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp12_.alpha; +#line 603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgba (_tmp5_, _tmp7_, _tmp9_, _tmp11_, _tmp13_); +#line 607 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = border_color; +#line 607 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp14_ != NULL) { +#line 4032 "CheckerboardLayout.c" + cairo_t* _tmp15_ = NULL; + Dimensions shadow_dim = {0}; + Dimensions _tmp16_ = {0}; + gint _tmp17_ = 0; + Dimensions _tmp18_ = {0}; + gint _tmp19_ = 0; + cairo_t* _tmp20_ = NULL; + Dimensions _tmp21_ = {0}; + GdkPoint _tmp22_ = {0}; + cairo_t* _tmp23_ = NULL; +#line 608 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = ctx; +#line 608 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_save (_tmp15_); +#line 609 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions_init (&shadow_dim, 0, 0); +#line 610 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = self->priv->pixbuf_dim; +#line 610 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = _tmp16_.width; +#line 610 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + shadow_dim.width = _tmp17_ + CHECKERBOARD_ITEM_BORDER_WIDTH; +#line 611 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = self->priv->pixbuf_dim; +#line 611 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = _tmp18_.height; +#line 611 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + shadow_dim.height = _tmp19_ + CHECKERBOARD_ITEM_BORDER_WIDTH; +#line 612 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = ctx; +#line 612 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = shadow_dim; +#line 612 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = pixbuf_origin; +#line 612 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint_shadow (self, _tmp20_, &_tmp21_, &_tmp22_, CHECKERBOARD_ITEM_SHADOW_RADIUS, CHECKERBOARD_ITEM_SHADOW_INITIAL_ALPHA); +#line 613 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = ctx; +#line 613 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_restore (_tmp23_); +#line 4073 "CheckerboardLayout.c" + } +#line 617 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = self->priv->is_cursor; +#line 617 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp24_) { +#line 4079 "CheckerboardLayout.c" + cairo_t* _tmp25_ = NULL; + cairo_t* _tmp26_ = NULL; + GdkRGBA* _tmp27_ = NULL; + gdouble _tmp28_ = 0.0; + GdkRGBA* _tmp29_ = NULL; + gdouble _tmp30_ = 0.0; + GdkRGBA* _tmp31_ = NULL; + gdouble _tmp32_ = 0.0; + GdkRGBA* _tmp33_ = NULL; + gdouble _tmp34_ = 0.0; + cairo_t* _tmp35_ = NULL; + Dimensions _tmp36_ = {0}; + GdkPoint _tmp37_ = {0}; + Dimensions _tmp38_ = {0}; + gint _tmp39_ = 0; + Dimensions _tmp40_ = {0}; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + cairo_t* _tmp44_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = ctx; +#line 618 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_save (_tmp25_); +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = ctx; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = border_color; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = (*_tmp27_).red; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = border_color; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = (*_tmp29_).green; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = border_color; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = (*_tmp31_).blue; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = border_color; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = (*_tmp33_).alpha; +#line 619 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgba (_tmp26_, _tmp28_, _tmp30_, _tmp32_, _tmp34_); +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = ctx; +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = self->priv->pixbuf_dim; +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = pixbuf_origin; +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = self->priv->pixbuf_dim; +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = _tmp38_.width; +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = self->priv->pixbuf_dim; +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = _tmp40_.height; +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = MAX (_tmp39_, _tmp41_); +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = checkerboard_item_get_selection_border_width (self, _tmp42_); +#line 621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint_border (self, _tmp35_, &_tmp36_, &_tmp37_, _tmp43_); +#line 623 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = ctx; +#line 623 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_restore (_tmp44_); +#line 4148 "CheckerboardLayout.c" + } +#line 627 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = data_view_is_selected (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 627 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp45_) { +#line 4154 "CheckerboardLayout.c" + cairo_t* _tmp46_ = NULL; + cairo_t* _tmp47_ = NULL; + Dimensions _tmp48_ = {0}; + GdkPoint _tmp49_ = {0}; + Dimensions _tmp50_ = {0}; + gint _tmp51_ = 0; + Dimensions _tmp52_ = {0}; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + gint _tmp55_ = 0; + cairo_t* _tmp56_ = NULL; +#line 629 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = ctx; +#line 629 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_save (_tmp46_); +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = ctx; +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp48_ = self->priv->pixbuf_dim; +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp49_ = pixbuf_origin; +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp50_ = self->priv->pixbuf_dim; +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp51_ = _tmp50_.width; +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp52_ = self->priv->pixbuf_dim; +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp53_ = _tmp52_.height; +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp54_ = MAX (_tmp51_, _tmp53_); +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp55_ = checkerboard_item_get_selection_border_width (self, _tmp54_); +#line 630 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint_border (self, _tmp47_, &_tmp48_, &_tmp49_, _tmp55_); +#line 632 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp56_ = ctx; +#line 632 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_restore (_tmp56_); +#line 4194 "CheckerboardLayout.c" + } +#line 636 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp57_ = border_color; +#line 636 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp57_ != NULL) { +#line 4200 "CheckerboardLayout.c" + cairo_t* _tmp58_ = NULL; + cairo_t* _tmp59_ = NULL; + GdkRGBA* _tmp60_ = NULL; + gdouble _tmp61_ = 0.0; + GdkRGBA* _tmp62_ = NULL; + gdouble _tmp63_ = 0.0; + GdkRGBA* _tmp64_ = NULL; + gdouble _tmp65_ = 0.0; + GdkRGBA* _tmp66_ = NULL; + gdouble _tmp67_ = 0.0; + cairo_t* _tmp68_ = NULL; + Dimensions _tmp69_ = {0}; + GdkPoint _tmp70_ = {0}; + cairo_t* _tmp71_ = NULL; +#line 637 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp58_ = ctx; +#line 637 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_save (_tmp58_); +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp59_ = ctx; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp60_ = border_color; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp61_ = (*_tmp60_).red; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp62_ = border_color; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp63_ = (*_tmp62_).green; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp64_ = border_color; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp65_ = (*_tmp64_).blue; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp66_ = border_color; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp67_ = (*_tmp66_).alpha; +#line 638 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgba (_tmp59_, _tmp61_, _tmp63_, _tmp65_, _tmp67_); +#line 640 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp68_ = ctx; +#line 640 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp69_ = self->priv->pixbuf_dim; +#line 640 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp70_ = pixbuf_origin; +#line 640 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint_border (self, _tmp68_, &_tmp69_, &_tmp70_, CHECKERBOARD_ITEM_BORDER_WIDTH); +#line 641 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp71_ = ctx; +#line 641 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_restore (_tmp71_); +#line 4251 "CheckerboardLayout.c" + } +#line 644 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp72_ = self->priv->display_pixbuf; +#line 644 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp72_ != NULL) { +#line 4257 "CheckerboardLayout.c" + cairo_t* _tmp73_ = NULL; + cairo_t* _tmp74_ = NULL; + GdkRGBA _tmp75_ = {0}; + gdouble _tmp76_ = 0.0; + GdkRGBA _tmp77_ = {0}; + gdouble _tmp78_ = 0.0; + GdkRGBA _tmp79_ = {0}; + gdouble _tmp80_ = 0.0; + GdkRGBA _tmp81_ = {0}; + gdouble _tmp82_ = 0.0; + cairo_t* _tmp83_ = NULL; + GdkPixbuf* _tmp84_ = NULL; + GdkPoint _tmp85_ = {0}; + cairo_t* _tmp86_ = NULL; +#line 645 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp73_ = ctx; +#line 645 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_save (_tmp73_); +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp74_ = ctx; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp75_ = *bg_color; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp76_ = _tmp75_.red; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp77_ = *bg_color; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp78_ = _tmp77_.green; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp79_ = *bg_color; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp80_ = _tmp79_.blue; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp81_ = *bg_color; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp82_ = _tmp81_.alpha; +#line 646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgba (_tmp74_, _tmp76_, _tmp78_, _tmp80_, _tmp82_); +#line 647 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp83_ = ctx; +#line 647 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp84_ = self->priv->display_pixbuf; +#line 647 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp85_ = pixbuf_origin; +#line 647 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint_image (self, _tmp83_, _tmp84_, &_tmp85_); +#line 648 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp86_ = ctx; +#line 648 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_restore (_tmp86_); +#line 4308 "CheckerboardLayout.c" + } +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp87_ = ctx; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp88_ = *text_color; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp89_ = _tmp88_.red; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp90_ = *text_color; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp91_ = _tmp90_.green; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp92_ = *text_color; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp93_ = _tmp92_.blue; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp94_ = *text_color; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp95_ = _tmp94_.alpha; +#line 651 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgba (_tmp87_, _tmp89_, _tmp91_, _tmp93_, _tmp95_); +#line 654 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp96_ = self->allocation; +#line 654 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp97_ = _tmp96_.y; +#line 654 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp98_ = self->priv->pixbuf_dim; +#line 654 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp99_ = _tmp98_.height; +#line 654 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + text_y = (((_tmp97_ + CHECKERBOARD_ITEM_FRAME_WIDTH) + _tmp99_) + CHECKERBOARD_ITEM_FRAME_WIDTH) + CHECKERBOARD_ITEM_LABEL_PADDING; +#line 655 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp101_ = self->priv->title; +#line 655 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp101_ != NULL) { +#line 4344 "CheckerboardLayout.c" + gboolean _tmp102_ = FALSE; +#line 655 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp102_ = self->priv->title_visible; +#line 655 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp100_ = _tmp102_; +#line 4350 "CheckerboardLayout.c" + } else { +#line 655 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp100_ = FALSE; +#line 4354 "CheckerboardLayout.c" + } +#line 655 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp100_) { +#line 4358 "CheckerboardLayout.c" + CheckerboardItemText* _tmp103_ = NULL; + GdkRectangle _tmp104_ = {0}; + gint _tmp105_ = 0; + CheckerboardItemText* _tmp106_ = NULL; + gint _tmp107_ = 0; + CheckerboardItemText* _tmp108_ = NULL; + Dimensions _tmp109_ = {0}; + gint _tmp110_ = 0; + CheckerboardItemText* _tmp111_ = NULL; + CheckerboardItemText* _tmp112_ = NULL; + gint _tmp113_ = 0; + cairo_t* _tmp114_ = NULL; + CheckerboardItemText* _tmp115_ = NULL; + GdkRectangle _tmp116_ = {0}; + gint _tmp117_ = 0; + CheckerboardItemText* _tmp118_ = NULL; + GdkRectangle _tmp119_ = {0}; + gint _tmp120_ = 0; + cairo_t* _tmp121_ = NULL; + CheckerboardItemText* _tmp122_ = NULL; + Dimensions _tmp123_ = {0}; + gint _tmp124_ = 0; + PangoLayout* _tmp125_ = NULL; + PangoLayout* _tmp126_ = NULL; + gint _tmp127_ = 0; + CheckerboardItemText* _tmp128_ = NULL; + gint _tmp129_ = 0; +#line 658 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp103_ = self->priv->title; +#line 658 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp104_ = self->allocation; +#line 658 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp105_ = _tmp104_.x; +#line 658 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp103_->allocation.x = _tmp105_ + CHECKERBOARD_ITEM_FRAME_WIDTH; +#line 659 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp106_ = self->priv->title; +#line 659 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp107_ = text_y; +#line 659 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp106_->allocation.y = _tmp107_; +#line 660 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp108_ = self->priv->title; +#line 660 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp109_ = self->priv->pixbuf_dim; +#line 660 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp110_ = _tmp109_.width; +#line 660 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp108_->allocation.width = _tmp110_; +#line 661 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp111_ = self->priv->title; +#line 661 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp112_ = self->priv->title; +#line 661 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp113_ = checkerboard_item_text_get_height (_tmp112_); +#line 661 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp111_->allocation.height = _tmp113_; +#line 663 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp114_ = ctx; +#line 663 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp115_ = self->priv->title; +#line 663 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp116_ = _tmp115_->allocation; +#line 663 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp117_ = _tmp116_.x; +#line 663 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp118_ = self->priv->title; +#line 663 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp119_ = _tmp118_->allocation; +#line 663 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp120_ = _tmp119_.y; +#line 663 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_move_to (_tmp114_, (gdouble) _tmp117_, (gdouble) _tmp120_); +#line 664 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp121_ = ctx; +#line 664 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp122_ = self->priv->title; +#line 664 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp123_ = self->priv->pixbuf_dim; +#line 664 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp124_ = _tmp123_.width; +#line 664 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp125_ = checkerboard_item_text_get_pango_layout (_tmp122_, _tmp124_); +#line 664 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp126_ = _tmp125_; +#line 664 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_cairo_show_layout (_tmp121_, _tmp126_); +#line 664 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp126_); +#line 666 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp127_ = text_y; +#line 666 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp128_ = self->priv->title; +#line 666 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp129_ = checkerboard_item_text_get_height (_tmp128_); +#line 666 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + text_y = _tmp127_ + (_tmp129_ + CHECKERBOARD_ITEM_LABEL_PADDING); +#line 4456 "CheckerboardLayout.c" + } +#line 669 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp131_ = self->priv->comment; +#line 669 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp131_ != NULL) { +#line 4462 "CheckerboardLayout.c" + gboolean _tmp132_ = FALSE; +#line 669 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp132_ = self->priv->comment_visible; +#line 669 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp130_ = _tmp132_; +#line 4468 "CheckerboardLayout.c" + } else { +#line 669 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp130_ = FALSE; +#line 4472 "CheckerboardLayout.c" + } +#line 669 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp130_) { +#line 4476 "CheckerboardLayout.c" + CheckerboardItemText* _tmp133_ = NULL; + GdkRectangle _tmp134_ = {0}; + gint _tmp135_ = 0; + CheckerboardItemText* _tmp136_ = NULL; + gint _tmp137_ = 0; + CheckerboardItemText* _tmp138_ = NULL; + Dimensions _tmp139_ = {0}; + gint _tmp140_ = 0; + CheckerboardItemText* _tmp141_ = NULL; + CheckerboardItemText* _tmp142_ = NULL; + gint _tmp143_ = 0; + cairo_t* _tmp144_ = NULL; + CheckerboardItemText* _tmp145_ = NULL; + GdkRectangle _tmp146_ = {0}; + gint _tmp147_ = 0; + CheckerboardItemText* _tmp148_ = NULL; + GdkRectangle _tmp149_ = {0}; + gint _tmp150_ = 0; + cairo_t* _tmp151_ = NULL; + CheckerboardItemText* _tmp152_ = NULL; + Dimensions _tmp153_ = {0}; + gint _tmp154_ = 0; + PangoLayout* _tmp155_ = NULL; + PangoLayout* _tmp156_ = NULL; + gint _tmp157_ = 0; + CheckerboardItemText* _tmp158_ = NULL; + gint _tmp159_ = 0; +#line 670 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp133_ = self->priv->comment; +#line 670 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp134_ = self->allocation; +#line 670 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp135_ = _tmp134_.x; +#line 670 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp133_->allocation.x = _tmp135_ + CHECKERBOARD_ITEM_FRAME_WIDTH; +#line 671 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp136_ = self->priv->comment; +#line 671 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp137_ = text_y; +#line 671 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp136_->allocation.y = _tmp137_; +#line 672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp138_ = self->priv->comment; +#line 672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp139_ = self->priv->pixbuf_dim; +#line 672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp140_ = _tmp139_.width; +#line 672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp138_->allocation.width = _tmp140_; +#line 673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp141_ = self->priv->comment; +#line 673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp142_ = self->priv->comment; +#line 673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp143_ = checkerboard_item_text_get_height (_tmp142_); +#line 673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp141_->allocation.height = _tmp143_; +#line 675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp144_ = ctx; +#line 675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp145_ = self->priv->comment; +#line 675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp146_ = _tmp145_->allocation; +#line 675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp147_ = _tmp146_.x; +#line 675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp148_ = self->priv->comment; +#line 675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp149_ = _tmp148_->allocation; +#line 675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp150_ = _tmp149_.y; +#line 675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_move_to (_tmp144_, (gdouble) _tmp147_, (gdouble) _tmp150_); +#line 676 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp151_ = ctx; +#line 676 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp152_ = self->priv->comment; +#line 676 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp153_ = self->priv->pixbuf_dim; +#line 676 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp154_ = _tmp153_.width; +#line 676 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp155_ = checkerboard_item_text_get_pango_layout (_tmp152_, _tmp154_); +#line 676 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp156_ = _tmp155_; +#line 676 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_cairo_show_layout (_tmp151_, _tmp156_); +#line 676 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp156_); +#line 678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp157_ = text_y; +#line 678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp158_ = self->priv->comment; +#line 678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp159_ = checkerboard_item_text_get_height (_tmp158_); +#line 678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + text_y = _tmp157_ + (_tmp159_ + CHECKERBOARD_ITEM_LABEL_PADDING); +#line 4574 "CheckerboardLayout.c" + } +#line 681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp161_ = self->priv->subtitle; +#line 681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp161_ != NULL) { +#line 4580 "CheckerboardLayout.c" + gboolean _tmp162_ = FALSE; +#line 681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp162_ = self->priv->subtitle_visible; +#line 681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp160_ = _tmp162_; +#line 4586 "CheckerboardLayout.c" + } else { +#line 681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp160_ = FALSE; +#line 4590 "CheckerboardLayout.c" + } +#line 681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp160_) { +#line 4594 "CheckerboardLayout.c" + CheckerboardItemText* _tmp163_ = NULL; + GdkRectangle _tmp164_ = {0}; + gint _tmp165_ = 0; + CheckerboardItemText* _tmp166_ = NULL; + gint _tmp167_ = 0; + CheckerboardItemText* _tmp168_ = NULL; + Dimensions _tmp169_ = {0}; + gint _tmp170_ = 0; + CheckerboardItemText* _tmp171_ = NULL; + CheckerboardItemText* _tmp172_ = NULL; + gint _tmp173_ = 0; + cairo_t* _tmp174_ = NULL; + CheckerboardItemText* _tmp175_ = NULL; + GdkRectangle _tmp176_ = {0}; + gint _tmp177_ = 0; + CheckerboardItemText* _tmp178_ = NULL; + GdkRectangle _tmp179_ = {0}; + gint _tmp180_ = 0; + cairo_t* _tmp181_ = NULL; + CheckerboardItemText* _tmp182_ = NULL; + Dimensions _tmp183_ = {0}; + gint _tmp184_ = 0; + PangoLayout* _tmp185_ = NULL; + PangoLayout* _tmp186_ = NULL; +#line 682 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp163_ = self->priv->subtitle; +#line 682 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp164_ = self->allocation; +#line 682 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp165_ = _tmp164_.x; +#line 682 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp163_->allocation.x = _tmp165_ + CHECKERBOARD_ITEM_FRAME_WIDTH; +#line 683 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp166_ = self->priv->subtitle; +#line 683 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp167_ = text_y; +#line 683 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp166_->allocation.y = _tmp167_; +#line 684 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp168_ = self->priv->subtitle; +#line 684 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp169_ = self->priv->pixbuf_dim; +#line 684 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp170_ = _tmp169_.width; +#line 684 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp168_->allocation.width = _tmp170_; +#line 685 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp171_ = self->priv->subtitle; +#line 685 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp172_ = self->priv->subtitle; +#line 685 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp173_ = checkerboard_item_text_get_height (_tmp172_); +#line 685 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp171_->allocation.height = _tmp173_; +#line 687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp174_ = ctx; +#line 687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp175_ = self->priv->subtitle; +#line 687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp176_ = _tmp175_->allocation; +#line 687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp177_ = _tmp176_.x; +#line 687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp178_ = self->priv->subtitle; +#line 687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp179_ = _tmp178_->allocation; +#line 687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp180_ = _tmp179_.y; +#line 687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_move_to (_tmp174_, (gdouble) _tmp177_, (gdouble) _tmp180_); +#line 688 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp181_ = ctx; +#line 688 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp182_ = self->priv->subtitle; +#line 688 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp183_ = self->priv->pixbuf_dim; +#line 688 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp184_ = _tmp183_.width; +#line 688 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp185_ = checkerboard_item_text_get_pango_layout (_tmp182_, _tmp184_); +#line 688 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp186_ = _tmp185_; +#line 688 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_cairo_show_layout (_tmp181_, _tmp186_); +#line 688 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp186_); +#line 4681 "CheckerboardLayout.c" + } +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp187_ = ctx; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp188_ = *selected_color; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp189_ = _tmp188_.red; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp190_ = *selected_color; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp191_ = _tmp190_.green; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp192_ = *selected_color; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp193_ = _tmp192_.blue; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp194_ = *selected_color; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp195_ = _tmp194_.alpha; +#line 693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgba (_tmp187_, _tmp189_, _tmp191_, _tmp193_, _tmp195_); +#line 697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp196_ = checkerboard_item_get_bottom_left_trinket (self, CHECKERBOARD_ITEM_TRINKET_SCALE); +#line 697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + trinket = _tmp196_; +#line 698 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp197_ = trinket; +#line 698 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp197_ != NULL) { +#line 4711 "CheckerboardLayout.c" + gint x = 0; + GdkPoint _tmp198_ = {0}; + gint _tmp199_ = 0; + gint _tmp200_ = 0; + gint y = 0; + GdkPoint _tmp201_ = {0}; + gint _tmp202_ = 0; + Dimensions _tmp203_ = {0}; + gint _tmp204_ = 0; + GdkPixbuf* _tmp205_ = NULL; + gint _tmp206_ = 0; + cairo_t* _tmp207_ = NULL; + GdkPixbuf* _tmp208_ = NULL; + gint _tmp209_ = 0; + gint _tmp210_ = 0; + cairo_t* _tmp211_ = NULL; + gint _tmp212_ = 0; + gint _tmp213_ = 0; + GdkPixbuf* _tmp214_ = NULL; + gint _tmp215_ = 0; + GdkPixbuf* _tmp216_ = NULL; + gint _tmp217_ = 0; + cairo_t* _tmp218_ = NULL; +#line 699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp198_ = pixbuf_origin; +#line 699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp199_ = _tmp198_.x; +#line 699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp200_ = checkerboard_item_get_horizontal_trinket_offset (self); +#line 699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = (_tmp199_ + CHECKERBOARD_ITEM_TRINKET_PADDING) + _tmp200_; +#line 700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp201_ = pixbuf_origin; +#line 700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp202_ = _tmp201_.y; +#line 700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp203_ = self->priv->pixbuf_dim; +#line 700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp204_ = _tmp203_.height; +#line 700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp205_ = trinket; +#line 700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp206_ = gdk_pixbuf_get_height (_tmp205_); +#line 700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = ((_tmp202_ + _tmp204_) - _tmp206_) - CHECKERBOARD_ITEM_TRINKET_PADDING; +#line 702 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp207_ = ctx; +#line 702 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp208_ = trinket; +#line 702 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp209_ = x; +#line 702 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp210_ = y; +#line 702 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gdk_cairo_set_source_pixbuf (_tmp207_, _tmp208_, (gdouble) _tmp209_, (gdouble) _tmp210_); +#line 703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp211_ = ctx; +#line 703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp212_ = x; +#line 703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp213_ = y; +#line 703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp214_ = trinket; +#line 703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp215_ = gdk_pixbuf_get_width (_tmp214_); +#line 703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp216_ = trinket; +#line 703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp217_ = gdk_pixbuf_get_height (_tmp216_); +#line 703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp211_, (gdouble) _tmp212_, (gdouble) _tmp213_, (gdouble) _tmp215_, (gdouble) _tmp217_); +#line 704 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp218_ = ctx; +#line 704 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp218_); +#line 4787 "CheckerboardLayout.c" + } +#line 707 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp219_ = checkerboard_item_get_top_left_trinket (self, CHECKERBOARD_ITEM_TRINKET_SCALE); +#line 707 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (trinket); +#line 707 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + trinket = _tmp219_; +#line 708 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp220_ = trinket; +#line 708 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp220_ != NULL) { +#line 4799 "CheckerboardLayout.c" + gint x = 0; + GdkPoint _tmp221_ = {0}; + gint _tmp222_ = 0; + gint _tmp223_ = 0; + gint y = 0; + GdkPoint _tmp224_ = {0}; + gint _tmp225_ = 0; + cairo_t* _tmp226_ = NULL; + GdkPixbuf* _tmp227_ = NULL; + gint _tmp228_ = 0; + gint _tmp229_ = 0; + cairo_t* _tmp230_ = NULL; + gint _tmp231_ = 0; + gint _tmp232_ = 0; + GdkPixbuf* _tmp233_ = NULL; + gint _tmp234_ = 0; + GdkPixbuf* _tmp235_ = NULL; + gint _tmp236_ = 0; + cairo_t* _tmp237_ = NULL; +#line 709 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp221_ = pixbuf_origin; +#line 709 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp222_ = _tmp221_.x; +#line 709 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp223_ = checkerboard_item_get_horizontal_trinket_offset (self); +#line 709 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = (_tmp222_ + CHECKERBOARD_ITEM_TRINKET_PADDING) + _tmp223_; +#line 710 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp224_ = pixbuf_origin; +#line 710 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp225_ = _tmp224_.y; +#line 710 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = _tmp225_ + CHECKERBOARD_ITEM_TRINKET_PADDING; +#line 711 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp226_ = ctx; +#line 711 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp227_ = trinket; +#line 711 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp228_ = x; +#line 711 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp229_ = y; +#line 711 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gdk_cairo_set_source_pixbuf (_tmp226_, _tmp227_, (gdouble) _tmp228_, (gdouble) _tmp229_); +#line 712 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp230_ = ctx; +#line 712 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp231_ = x; +#line 712 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp232_ = y; +#line 712 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp233_ = trinket; +#line 712 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp234_ = gdk_pixbuf_get_width (_tmp233_); +#line 712 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp235_ = trinket; +#line 712 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp236_ = gdk_pixbuf_get_height (_tmp235_); +#line 712 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp230_, (gdouble) _tmp231_, (gdouble) _tmp232_, (gdouble) _tmp234_, (gdouble) _tmp236_); +#line 713 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp237_ = ctx; +#line 713 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp237_); +#line 4863 "CheckerboardLayout.c" + } +#line 716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp238_ = checkerboard_item_get_top_right_trinket (self, CHECKERBOARD_ITEM_TRINKET_SCALE); +#line 716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (trinket); +#line 716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + trinket = _tmp238_; +#line 717 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp239_ = trinket; +#line 717 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp239_ != NULL) { +#line 4875 "CheckerboardLayout.c" + gint x = 0; + GdkPoint _tmp240_ = {0}; + gint _tmp241_ = 0; + Dimensions _tmp242_ = {0}; + gint _tmp243_ = 0; + GdkPixbuf* _tmp244_ = NULL; + gint _tmp245_ = 0; + gint _tmp246_ = 0; + gint _tmp247_ = 0; + gint y = 0; + GdkPoint _tmp248_ = {0}; + gint _tmp249_ = 0; + cairo_t* _tmp250_ = NULL; + GdkPixbuf* _tmp251_ = NULL; + gint _tmp252_ = 0; + gint _tmp253_ = 0; + cairo_t* _tmp254_ = NULL; + gint _tmp255_ = 0; + gint _tmp256_ = 0; + GdkPixbuf* _tmp257_ = NULL; + gint _tmp258_ = 0; + GdkPixbuf* _tmp259_ = NULL; + gint _tmp260_ = 0; + cairo_t* _tmp261_ = NULL; +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp240_ = pixbuf_origin; +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp241_ = _tmp240_.x; +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp242_ = self->priv->pixbuf_dim; +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp243_ = _tmp242_.width; +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp244_ = trinket; +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp245_ = gdk_pixbuf_get_width (_tmp244_); +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp246_ = _tmp245_; +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp247_ = checkerboard_item_get_horizontal_trinket_offset (self); +#line 718 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = (((_tmp241_ + _tmp243_) - _tmp246_) - _tmp247_) - CHECKERBOARD_ITEM_TRINKET_PADDING; +#line 720 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp248_ = pixbuf_origin; +#line 720 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp249_ = _tmp248_.y; +#line 720 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = _tmp249_ + CHECKERBOARD_ITEM_TRINKET_PADDING; +#line 721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp250_ = ctx; +#line 721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp251_ = trinket; +#line 721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp252_ = x; +#line 721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp253_ = y; +#line 721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gdk_cairo_set_source_pixbuf (_tmp250_, _tmp251_, (gdouble) _tmp252_, (gdouble) _tmp253_); +#line 722 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp254_ = ctx; +#line 722 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp255_ = x; +#line 722 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp256_ = y; +#line 722 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp257_ = trinket; +#line 722 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp258_ = gdk_pixbuf_get_width (_tmp257_); +#line 722 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp259_ = trinket; +#line 722 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp260_ = gdk_pixbuf_get_height (_tmp259_); +#line 722 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp254_, (gdouble) _tmp255_, (gdouble) _tmp256_, (gdouble) _tmp258_, (gdouble) _tmp260_); +#line 723 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp261_ = ctx; +#line 723 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp261_); +#line 4954 "CheckerboardLayout.c" + } +#line 726 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp262_ = checkerboard_item_get_bottom_right_trinket (self, CHECKERBOARD_ITEM_TRINKET_SCALE); +#line 726 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (trinket); +#line 726 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + trinket = _tmp262_; +#line 727 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp263_ = trinket; +#line 727 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp263_ != NULL) { +#line 4966 "CheckerboardLayout.c" + gint x = 0; + GdkPoint _tmp264_ = {0}; + gint _tmp265_ = 0; + Dimensions _tmp266_ = {0}; + gint _tmp267_ = 0; + GdkPixbuf* _tmp268_ = NULL; + gint _tmp269_ = 0; + gint _tmp270_ = 0; + gint _tmp271_ = 0; + gint y = 0; + GdkPoint _tmp272_ = {0}; + gint _tmp273_ = 0; + Dimensions _tmp274_ = {0}; + gint _tmp275_ = 0; + GdkPixbuf* _tmp276_ = NULL; + gint _tmp277_ = 0; + gint _tmp278_ = 0; + cairo_t* _tmp279_ = NULL; + GdkPixbuf* _tmp280_ = NULL; + gint _tmp281_ = 0; + gint _tmp282_ = 0; + cairo_t* _tmp283_ = NULL; + gint _tmp284_ = 0; + gint _tmp285_ = 0; + GdkPixbuf* _tmp286_ = NULL; + gint _tmp287_ = 0; + GdkPixbuf* _tmp288_ = NULL; + gint _tmp289_ = 0; + cairo_t* _tmp290_ = NULL; +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp264_ = pixbuf_origin; +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp265_ = _tmp264_.x; +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp266_ = self->priv->pixbuf_dim; +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp267_ = _tmp266_.width; +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp268_ = trinket; +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp269_ = gdk_pixbuf_get_width (_tmp268_); +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp270_ = _tmp269_; +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp271_ = checkerboard_item_get_horizontal_trinket_offset (self); +#line 728 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = (((_tmp265_ + _tmp267_) - _tmp270_) - _tmp271_) - CHECKERBOARD_ITEM_TRINKET_PADDING; +#line 730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp272_ = pixbuf_origin; +#line 730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp273_ = _tmp272_.y; +#line 730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp274_ = self->priv->pixbuf_dim; +#line 730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp275_ = _tmp274_.height; +#line 730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp276_ = trinket; +#line 730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp277_ = gdk_pixbuf_get_height (_tmp276_); +#line 730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp278_ = _tmp277_; +#line 730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = ((_tmp273_ + _tmp275_) - _tmp278_) - CHECKERBOARD_ITEM_TRINKET_PADDING; +#line 732 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp279_ = ctx; +#line 732 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp280_ = trinket; +#line 732 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp281_ = x; +#line 732 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp282_ = y; +#line 732 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gdk_cairo_set_source_pixbuf (_tmp279_, _tmp280_, (gdouble) _tmp281_, (gdouble) _tmp282_); +#line 733 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp283_ = ctx; +#line 733 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp284_ = x; +#line 733 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp285_ = y; +#line 733 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp286_ = trinket; +#line 733 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp287_ = gdk_pixbuf_get_width (_tmp286_); +#line 733 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp288_ = trinket; +#line 733 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp289_ = gdk_pixbuf_get_height (_tmp288_); +#line 733 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp283_, (gdouble) _tmp284_, (gdouble) _tmp285_, (gdouble) _tmp287_, (gdouble) _tmp289_); +#line 734 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp290_ = ctx; +#line 734 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp290_); +#line 5060 "CheckerboardLayout.c" + } +#line 595 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (trinket); +#line 5064 "CheckerboardLayout.c" +} + + +void checkerboard_item_set_horizontal_trinket_offset (CheckerboardItem* self, gint horizontal_trinket_offset) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 738 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 739 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = horizontal_trinket_offset; +#line 739 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp0_ >= 0, "horizontal_trinket_offset >= 0"); +#line 740 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = horizontal_trinket_offset; +#line 740 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->horizontal_trinket_offset = _tmp1_; +#line 5081 "CheckerboardLayout.c" +} + + +gint checkerboard_item_get_horizontal_trinket_offset (CheckerboardItem* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 743 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), 0); +#line 744 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->horizontal_trinket_offset; +#line 744 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 744 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5096 "CheckerboardLayout.c" +} + + +void checkerboard_item_set_grid_coordinates (CheckerboardItem* self, gint col, gint row) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 747 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 748 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = col; +#line 748 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->col = _tmp0_; +#line 749 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = row; +#line 749 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->row = _tmp1_; +#line 5113 "CheckerboardLayout.c" +} + + +gint checkerboard_item_get_column (CheckerboardItem* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 752 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), 0); +#line 753 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->col; +#line 753 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 753 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5128 "CheckerboardLayout.c" +} + + +gint checkerboard_item_get_row (CheckerboardItem* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 756 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), 0); +#line 757 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->row; +#line 757 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 757 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5143 "CheckerboardLayout.c" +} + + +void checkerboard_item_brighten (CheckerboardItem* self) { + gboolean _tmp0_ = FALSE; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 762 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->brightened; +#line 762 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 762 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = TRUE; +#line 5163 "CheckerboardLayout.c" + } else { + GdkPixbuf* _tmp2_ = NULL; +#line 762 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->pixbuf; +#line 762 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp2_ == NULL; +#line 5170 "CheckerboardLayout.c" + } +#line 762 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 763 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 5176 "CheckerboardLayout.c" + } +#line 766 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->pixbuf; +#line 766 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = gdk_pixbuf_copy (_tmp3_); +#line 766 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->brightened); +#line 766 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->brightened = _tmp4_; +#line 767 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = self->priv->brightened; +#line 767 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + shift_colors (_tmp5_, CHECKERBOARD_ITEM_BRIGHTEN_SHIFT, CHECKERBOARD_ITEM_BRIGHTEN_SHIFT, CHECKERBOARD_ITEM_BRIGHTEN_SHIFT, 0); +#line 769 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = self->priv->brightened; +#line 769 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 769 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->display_pixbuf); +#line 769 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->display_pixbuf = _tmp7_; +#line 771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 5200 "CheckerboardLayout.c" +} + + +void checkerboard_item_unbrighten (CheckerboardItem* self) { + gboolean _tmp0_ = FALSE; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; +#line 774 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 776 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->brightened; +#line 776 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ == NULL) { +#line 776 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = TRUE; +#line 5217 "CheckerboardLayout.c" + } else { + GdkPixbuf* _tmp2_ = NULL; +#line 776 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->pixbuf; +#line 776 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp2_ == NULL; +#line 5224 "CheckerboardLayout.c" + } +#line 776 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 777 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 5230 "CheckerboardLayout.c" + } +#line 779 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->brightened); +#line 779 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->brightened = NULL; +#line 782 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->pixbuf; +#line 782 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 782 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->display_pixbuf); +#line 782 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->display_pixbuf = _tmp4_; +#line 784 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 5246 "CheckerboardLayout.c" +} + + +static void checkerboard_item_real_visibility_changed (DataView* base, gboolean visible) { + CheckerboardItem * self; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 787 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 789 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = visible; +#line 789 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp0_) { +#line 790 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_unbrighten (self); +#line 5262 "CheckerboardLayout.c" + } +#line 792 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = visible; +#line 792 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + DATA_VIEW_CLASS (checkerboard_item_parent_class)->visibility_changed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_VIEW, ThumbnailView), TYPE_DATA_VIEW, DataView), _tmp1_); +#line 5268 "CheckerboardLayout.c" +} + + +static gboolean checkerboard_item_query_tooltip_on_text (CheckerboardItem* self, CheckerboardItemText* text, GtkTooltip* tooltip) { + gboolean result = FALSE; + CheckerboardItemText* _tmp0_ = NULL; + PangoLayout* _tmp1_ = NULL; + PangoLayout* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + CheckerboardItemText* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 795 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), FALSE); +#line 795 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM_TEXT (text), FALSE); +#line 795 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (GTK_IS_TOOLTIP (tooltip), FALSE); +#line 796 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = text; +#line 796 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = checkerboard_item_text_get_pango_layout (_tmp0_, 0); +#line 796 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp1_; +#line 796 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = pango_layout_is_ellipsized (_tmp2_); +#line 796 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = !_tmp3_; +#line 796 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp2_); +#line 796 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp4_) { +#line 797 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = FALSE; +#line 797 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5305 "CheckerboardLayout.c" + } +#line 799 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = text; +#line 799 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = checkerboard_item_text_is_marked_up (_tmp5_); +#line 799 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_) { +#line 5313 "CheckerboardLayout.c" + GtkTooltip* _tmp7_ = NULL; + CheckerboardItemText* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = tooltip; +#line 800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = text; +#line 800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = checkerboard_item_text_get_text (_tmp8_); +#line 800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = _tmp9_; +#line 800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_tooltip_set_markup (_tmp7_, _tmp10_); +#line 800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp10_); +#line 5330 "CheckerboardLayout.c" + } else { + GtkTooltip* _tmp11_ = NULL; + CheckerboardItemText* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = tooltip; +#line 802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = text; +#line 802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = checkerboard_item_text_get_text (_tmp12_); +#line 802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _tmp13_; +#line 802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_tooltip_set_text (_tmp11_, _tmp14_); +#line 802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp14_); +#line 5348 "CheckerboardLayout.c" + } +#line 804 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = TRUE; +#line 804 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5354 "CheckerboardLayout.c" +} + + +gboolean checkerboard_item_query_tooltip (CheckerboardItem* self, gint x, gint y, GtkTooltip* tooltip) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + CheckerboardItemText* _tmp2_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + CheckerboardItemText* _tmp14_ = NULL; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; + CheckerboardItemText* _tmp26_ = NULL; +#line 807 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), FALSE); +#line 807 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (GTK_IS_TOOLTIP (tooltip), FALSE); +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->title; +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_ != NULL) { +#line 5377 "CheckerboardLayout.c" + gboolean _tmp3_ = FALSE; +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->title_visible; +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp3_; +#line 5383 "CheckerboardLayout.c" + } else { +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = FALSE; +#line 5387 "CheckerboardLayout.c" + } +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_) { +#line 5391 "CheckerboardLayout.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; + CheckerboardItemText* _tmp6_ = NULL; + GdkRectangle _tmp7_ = {0}; + gboolean _tmp8_ = FALSE; +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = x; +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = y; +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = self->priv->title; +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _tmp6_->allocation; +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = coord_in_rectangle (_tmp4_, _tmp5_, &_tmp7_); +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp8_; +#line 5409 "CheckerboardLayout.c" + } else { +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 5413 "CheckerboardLayout.c" + } +#line 808 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 5417 "CheckerboardLayout.c" + CheckerboardItemText* _tmp9_ = NULL; + GtkTooltip* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->title; +#line 809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = tooltip; +#line 809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = checkerboard_item_query_tooltip_on_text (self, _tmp9_, _tmp10_); +#line 809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp11_; +#line 809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5431 "CheckerboardLayout.c" + } +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = self->priv->comment; +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp14_ != NULL) { +#line 5437 "CheckerboardLayout.c" + gboolean _tmp15_ = FALSE; +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = self->priv->comment_visible; +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp15_; +#line 5443 "CheckerboardLayout.c" + } else { +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = FALSE; +#line 5447 "CheckerboardLayout.c" + } +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp13_) { +#line 5451 "CheckerboardLayout.c" + gint _tmp16_ = 0; + gint _tmp17_ = 0; + CheckerboardItemText* _tmp18_ = NULL; + GdkRectangle _tmp19_ = {0}; + gboolean _tmp20_ = FALSE; +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = x; +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = y; +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = self->priv->comment; +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = _tmp18_->allocation; +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = coord_in_rectangle (_tmp16_, _tmp17_, &_tmp19_); +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _tmp20_; +#line 5469 "CheckerboardLayout.c" + } else { +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = FALSE; +#line 5473 "CheckerboardLayout.c" + } +#line 811 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp12_) { +#line 5477 "CheckerboardLayout.c" + CheckerboardItemText* _tmp21_ = NULL; + GtkTooltip* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 812 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = self->priv->comment; +#line 812 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = tooltip; +#line 812 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = checkerboard_item_query_tooltip_on_text (self, _tmp21_, _tmp22_); +#line 812 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp23_; +#line 812 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5491 "CheckerboardLayout.c" + } +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = self->priv->subtitle; +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp26_ != NULL) { +#line 5497 "CheckerboardLayout.c" + gboolean _tmp27_ = FALSE; +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = self->priv->subtitle_visible; +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = _tmp27_; +#line 5503 "CheckerboardLayout.c" + } else { +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = FALSE; +#line 5507 "CheckerboardLayout.c" + } +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp25_) { +#line 5511 "CheckerboardLayout.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; + CheckerboardItemText* _tmp30_ = NULL; + GdkRectangle _tmp31_ = {0}; + gboolean _tmp32_ = FALSE; +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = x; +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = y; +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = self->priv->subtitle; +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = _tmp30_->allocation; +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = coord_in_rectangle (_tmp28_, _tmp29_, &_tmp31_); +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = _tmp32_; +#line 5529 "CheckerboardLayout.c" + } else { +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = FALSE; +#line 5533 "CheckerboardLayout.c" + } +#line 814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp24_) { +#line 5537 "CheckerboardLayout.c" + CheckerboardItemText* _tmp33_ = NULL; + GtkTooltip* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = self->priv->subtitle; +#line 815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = tooltip; +#line 815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = checkerboard_item_query_tooltip_on_text (self, _tmp33_, _tmp34_); +#line 815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp35_; +#line 815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5551 "CheckerboardLayout.c" + } +#line 817 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = FALSE; +#line 817 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5557 "CheckerboardLayout.c" +} + + +gboolean checkerboard_item_get_has_tags (CheckerboardItem* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 161 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (self), FALSE); +#line 161 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->_has_tags; +#line 161 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 161 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 5572 "CheckerboardLayout.c" +} + + +static void checkerboard_item_set_has_tags (CheckerboardItem* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 161 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (self)); +#line 161 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = value; +#line 161 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->_has_tags = _tmp0_; +#line 161 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_object_notify ((GObject *) self, "has-tags"); +#line 5586 "CheckerboardLayout.c" +} + + +static void checkerboard_item_class_init (CheckerboardItemClass * klass) { +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_parent_class = g_type_class_peek_parent (klass); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_type_class_add_private (klass, sizeof (CheckerboardItemPrivate)); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((DataObjectClass *) klass)->get_name = checkerboard_item_real_get_name; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((DataObjectClass *) klass)->notify_membership_changed = checkerboard_item_real_notify_membership_changed; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((DataObjectClass *) klass)->notify_collection_property_set = checkerboard_item_real_notify_collection_property_set; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->exposed = checkerboard_item_real_exposed; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->unexposed = checkerboard_item_real_unexposed; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->is_exposed = checkerboard_item_real_is_exposed; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->paint_shadow = checkerboard_item_real_paint_shadow; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->paint_border = checkerboard_item_real_paint_border; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->paint_image = checkerboard_item_real_paint_image; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->get_top_left_trinket = checkerboard_item_real_get_top_left_trinket; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->get_top_right_trinket = checkerboard_item_real_get_top_right_trinket; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->get_bottom_left_trinket = checkerboard_item_real_get_bottom_left_trinket; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardItemClass *) klass)->get_bottom_right_trinket = checkerboard_item_real_get_bottom_right_trinket; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((DataViewClass *) klass)->visibility_changed = checkerboard_item_real_visibility_changed; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_checkerboard_item_get_property; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_checkerboard_item_set_property; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_OBJECT_CLASS (klass)->finalize = checkerboard_item_finalize; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), CHECKERBOARD_ITEM_HAS_TAGS, g_param_spec_boolean ("has-tags", "has-tags", "has-tags", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 5631 "CheckerboardLayout.c" +} + + +static void checkerboard_item_instance_init (CheckerboardItem * self) { +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv = CHECKERBOARD_ITEM_GET_PRIVATE (self); +#line 119 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions_init (&self->requisition, 0, 0); +#line 120 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&self->allocation, 0, sizeof (GdkRectangle)); +#line 122 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposure = FALSE; +#line 123 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->title = NULL; +#line 124 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->title_visible = TRUE; +#line 125 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->comment = NULL; +#line 126 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->comment_visible = TRUE; +#line 127 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->subtitle = NULL; +#line 128 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->subtitle_visible = FALSE; +#line 129 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->is_cursor = FALSE; +#line 130 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->tag_alignment = PANGO_ALIGN_LEFT; +#line 131 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->user_visible_tag_list = NULL; +#line 133 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->pixbuf = NULL; +#line 134 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->display_pixbuf = NULL; +#line 135 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->brightened = NULL; +#line 136 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions_init (&self->priv->pixbuf_dim, 0, 0); +#line 137 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->col = -1; +#line 138 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->row = -1; +#line 139 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->horizontal_trinket_offset = 0; +#line 5676 "CheckerboardLayout.c" +} + + +static void checkerboard_item_finalize (GObject* obj) { + CheckerboardItem * self; +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 123 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->title); +#line 125 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->comment); +#line 127 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_item_text_unref0 (self->priv->subtitle); +#line 131 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->user_visible_tag_list); +#line 132 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->tags); +#line 133 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->pixbuf); +#line 134 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->display_pixbuf); +#line 135 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->brightened); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_OBJECT_CLASS (checkerboard_item_parent_class)->finalize (obj); +#line 5702 "CheckerboardLayout.c" +} + + +GType checkerboard_item_get_type (void) { + static volatile gsize checkerboard_item_type_id__volatile = 0; + if (g_once_init_enter (&checkerboard_item_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CheckerboardItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) checkerboard_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CheckerboardItem), 0, (GInstanceInitFunc) checkerboard_item_instance_init, NULL }; + GType checkerboard_item_type_id; + checkerboard_item_type_id = g_type_register_static (TYPE_THUMBNAIL_VIEW, "CheckerboardItem", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&checkerboard_item_type_id__volatile, checkerboard_item_type_id); + } + return checkerboard_item_type_id__volatile; +} + + +static void _vala_checkerboard_item_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + CheckerboardItem * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + switch (property_id) { +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + case CHECKERBOARD_ITEM_HAS_TAGS: +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_value_set_boolean (value, checkerboard_item_get_has_tags (self)); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 5729 "CheckerboardLayout.c" + default: +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 5735 "CheckerboardLayout.c" + } +} + + +static void _vala_checkerboard_item_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + CheckerboardItem * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + switch (property_id) { +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + case CHECKERBOARD_ITEM_HAS_TAGS: +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_has_tags (self, g_value_get_boolean (value)); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 5751 "CheckerboardLayout.c" + default: +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 98 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 5757 "CheckerboardLayout.c" + } +} + + +static void _checkerboard_layout_on_contents_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 907 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_contents_altered ((CheckerboardLayout*) self, added, removed); +#line 5765 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_items_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 908 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_items_altered ((CheckerboardLayout*) self); +#line 5772 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_items_state_changed_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self) { +#line 909 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_items_state_changed ((CheckerboardLayout*) self, changed); +#line 5779 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_items_visibility_changed_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self) { +#line 910 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_items_visibility_changed ((CheckerboardLayout*) self, changed); +#line 5786 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_ordering_changed_data_collection_ordering_changed (DataCollection* _sender, gpointer self) { +#line 911 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_ordering_changed ((CheckerboardLayout*) self); +#line 5793 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_views_altered_view_collection_views_altered (ViewCollection* _sender, GeeCollection* views, gpointer self) { +#line 912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_views_altered ((CheckerboardLayout*) self, views); +#line 5800 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_geometries_altered_view_collection_geometries_altered (ViewCollection* _sender, GeeCollection* views, gpointer self) { +#line 913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_geometries_altered ((CheckerboardLayout*) self); +#line 5807 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_items_selection_changed_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self) { +#line 914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_items_selection_changed ((CheckerboardLayout*) self); +#line 5814 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_items_selection_changed_view_collection_items_unselected (ViewCollection* _sender, GeeIterable* unselected, gpointer self) { +#line 915 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_items_selection_changed ((CheckerboardLayout*) self); +#line 5821 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_viewport_shifted_gtk_adjustment_value_changed (GtkAdjustment* _sender, gpointer self) { +#line 918 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_viewport_shifted ((CheckerboardLayout*) self); +#line 5828 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_viewport_resized_gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self) { +#line 924 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_viewport_resized ((CheckerboardLayout*) self); +#line 5835 "CheckerboardLayout.c" +} + + +static void _checkerboard_layout_on_colors_changed_config_facade_colors_changed (ConfigFacade* _sender, gpointer self) { +#line 926 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_colors_changed ((CheckerboardLayout*) self); +#line 5842 "CheckerboardLayout.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 879 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return self ? data_collection_ref (self) : NULL; +#line 5849 "CheckerboardLayout.c" +} + + +CheckerboardLayout* checkerboard_layout_construct (GType object_type, ViewCollection* view) { + CheckerboardLayout * self = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + ConfigFacade* _tmp11_ = NULL; + ConfigFacade* _tmp12_ = NULL; + GdkRGBA _tmp13_ = {0}; + ConfigFacade* _tmp14_ = NULL; + ConfigFacade* _tmp15_ = NULL; +#line 878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (view), NULL); +#line 878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = (CheckerboardLayout*) g_object_new (object_type, NULL); +#line 879 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = view; +#line 879 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 879 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _data_collection_unref0 (self->priv->view); +#line 879 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->view = _tmp1_; +#line 881 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_clear_drag_select (self); +#line 884 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = view; +#line 884 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _checkerboard_layout_on_contents_altered_data_collection_contents_altered, self, 0); +#line 885 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = view; +#line 885 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _checkerboard_layout_on_items_altered_data_collection_items_altered, self, 0); +#line 886 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = view; +#line 886 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp4_, "items-state-changed", (GCallback) _checkerboard_layout_on_items_state_changed_view_collection_items_state_changed, self, 0); +#line 887 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = view; +#line 887 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp5_, "items-visibility-changed", (GCallback) _checkerboard_layout_on_items_visibility_changed_view_collection_items_visibility_changed, self, 0); +#line 888 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = view; +#line 888 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection), "ordering-changed", (GCallback) _checkerboard_layout_on_ordering_changed_data_collection_ordering_changed, self, 0); +#line 889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = view; +#line 889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp7_, "views-altered", (GCallback) _checkerboard_layout_on_views_altered_view_collection_views_altered, self, 0); +#line 890 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = view; +#line 890 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp8_, "geometries-altered", (GCallback) _checkerboard_layout_on_geometries_altered_view_collection_geometries_altered, self, 0); +#line 891 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = view; +#line 891 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp9_, "items-selected", (GCallback) _checkerboard_layout_on_items_selection_changed_view_collection_items_selected, self, 0); +#line 892 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = view; +#line 892 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp10_, "items-unselected", (GCallback) _checkerboard_layout_on_items_selection_changed_view_collection_items_unselected, self, 0); +#line 894 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = config_facade_get_instance (); +#line 894 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _tmp11_; +#line 894 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + config_facade_get_bg_color (_tmp12_, &_tmp13_); +#line 894 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_override_background_color (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), GTK_STATE_FLAG_NORMAL, &_tmp13_); +#line 894 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp12_); +#line 896 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = config_facade_get_instance (); +#line 896 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = _tmp14_; +#line 896 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp15_, "colors-changed", (GCallback) _checkerboard_layout_on_colors_changed_config_facade_colors_changed, self, 0); +#line 896 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp15_); +#line 899 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_set_has_tooltip (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), TRUE); +#line 878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return self; +#line 5943 "CheckerboardLayout.c" +} + + +CheckerboardLayout* checkerboard_layout_new (ViewCollection* view) { +#line 878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return checkerboard_layout_construct (TYPE_CHECKERBOARD_LAYOUT, view); +#line 5950 "CheckerboardLayout.c" +} + + +void checkerboard_layout_set_adjustments (CheckerboardLayout* self, GtkAdjustment* hadjustment, GtkAdjustment* vadjustment) { + GtkAdjustment* _tmp0_ = NULL; + GtkAdjustment* _tmp1_ = NULL; + GtkAdjustment* _tmp2_ = NULL; + GtkAdjustment* _tmp3_ = NULL; + GtkAdjustment* _tmp4_ = NULL; + GtkAdjustment* _tmp5_ = NULL; + GtkContainer* _tmp6_ = NULL; + GtkContainer* _tmp7_ = NULL; +#line 929 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 929 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (GTK_IS_ADJUSTMENT (hadjustment)); +#line 929 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (GTK_IS_ADJUSTMENT (vadjustment)); +#line 930 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = hadjustment; +#line 930 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 930 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->hadjustment); +#line 930 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->hadjustment = _tmp1_; +#line 931 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = vadjustment; +#line 931 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 931 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->vadjustment); +#line 931 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->vadjustment = _tmp3_; +#line 934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = hadjustment; +#line 934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp4_, "value-changed", (GCallback) _checkerboard_layout_on_viewport_shifted_gtk_adjustment_value_changed, self, 0); +#line 935 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = vadjustment; +#line 935 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (_tmp5_, "value-changed", (GCallback) _checkerboard_layout_on_viewport_shifted_gtk_adjustment_value_changed, self, 0); +#line 938 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 938 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _tmp6_; +#line 938 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), "size-allocate", (GCallback) _checkerboard_layout_on_viewport_resized_gtk_widget_size_allocate, self, 0); +#line 5999 "CheckerboardLayout.c" +} + + +void checkerboard_layout_set_scale (CheckerboardLayout* self, gint scale) { + gint _tmp0_ = 0; +#line 943 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 944 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = scale; +#line 944 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->scale = _tmp0_; +#line 6011 "CheckerboardLayout.c" +} + + +gint checkerboard_layout_get_scale (CheckerboardLayout* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), 0); +#line 948 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->scale; +#line 948 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 948 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 6026 "CheckerboardLayout.c" +} + + +void checkerboard_layout_set_name (CheckerboardLayout* self, const gchar* name) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 951 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 951 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (name != NULL); +#line 952 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = name; +#line 952 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 952 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (self->priv->page_name); +#line 952 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->page_name = _tmp1_; +#line 6045 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_viewport_resized (CheckerboardLayout* self) { + GtkRequisition req = {0}; + GtkRequisition _tmp0_ = {0}; + GtkAllocation parent_allocation = {0}; + GtkContainer* _tmp1_ = NULL; + GtkContainer* _tmp2_ = NULL; + GtkAllocation _tmp3_ = {0}; + const gchar* _tmp4_ = NULL; + gboolean _tmp15_ = FALSE; +#line 955 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 957 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_preferred_size (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), NULL, &_tmp0_); +#line 957 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + req = _tmp0_; +#line 960 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 960 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp1_; +#line 960 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), &_tmp3_); +#line 960 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + parent_allocation = _tmp3_; +#line 962 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->message; +#line 962 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp4_ == NULL) { +#line 6076 "CheckerboardLayout.c" + GtkRequisition _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 971 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = req; +#line 971 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_.height; +#line 971 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_ != 0) { +#line 6085 "CheckerboardLayout.c" + GtkAllocation _tmp7_ = {0}; + gint _tmp8_ = 0; + GtkRequisition _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 972 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = parent_allocation; +#line 972 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _tmp7_.width; +#line 972 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = req; +#line 972 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = _tmp9_.height; +#line 972 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp8_ - CHECKERBOARD_LAYOUT_SCROLLBAR_PLACEHOLDER_WIDTH, _tmp10_); +#line 6100 "CheckerboardLayout.c" + } + } else { + GtkAllocation _tmp11_ = {0}; + gint _tmp12_ = 0; + GtkAllocation _tmp13_ = {0}; + gint _tmp14_ = 0; +#line 976 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = parent_allocation; +#line 976 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _tmp11_.width; +#line 976 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = parent_allocation; +#line 976 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _tmp13_.height; +#line 976 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp12_, _tmp14_); +#line 6117 "CheckerboardLayout.c" + } +#line 981 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_viewport_resized (self); +#line 983 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = self->priv->size_allocate_due_to_reflow; +#line 983 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp15_) { +#line 984 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_clear_anchor (self); +#line 6127 "CheckerboardLayout.c" + } else { +#line 986 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->size_allocate_due_to_reflow = FALSE; +#line 6131 "CheckerboardLayout.c" + } +} + + +static void checkerboard_layout_on_viewport_shifted (CheckerboardLayout* self) { +#line 989 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 990 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_update_visible_page (self); +#line 991 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_exposure (self, "on_viewport_shift"); +#line 993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_clear_anchor (self); +#line 6145 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_items_selection_changed (CheckerboardLayout* self) { +#line 996 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 997 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_clear_anchor (self); +#line 6154 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_clear_anchor (CheckerboardLayout* self) { + gboolean _tmp0_ = FALSE; +#line 1000 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1001 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->in_center_on_anchor; +#line 1001 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 1002 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 6168 "CheckerboardLayout.c" + } +#line 1004 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->anchor); +#line 1004 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->anchor = NULL; +#line 6174 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_update_anchor (CheckerboardLayout* self) { + gboolean _tmp0_ = FALSE; + GeeList* items_on_page = NULL; + GdkRectangle _tmp1_ = {0}; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GtkAdjustment* _tmp21_ = NULL; + gdouble _tmp22_ = 0.0; + GeeList* _tmp23_ = NULL; + GeeList* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gpointer _tmp27_ = NULL; +#line 1007 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1008 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->in_center_on_anchor; +#line 1008 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (!_tmp0_, "!in_center_on_anchor"); +#line 1010 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->visible_page; +#line 1010 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = checkerboard_layout_intersection (self, &_tmp1_); +#line 1010 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + items_on_page = _tmp2_; +#line 1011 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = items_on_page; +#line 1011 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1011 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _tmp4_; +#line 1011 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp5_ == 0) { +#line 1012 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->anchor); +#line 1012 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->anchor = NULL; +#line 1013 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (items_on_page); +#line 1013 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 6221 "CheckerboardLayout.c" + } + { + GeeList* _item_list = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + gint _item_size = 0; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _item_index = 0; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = items_on_page; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_list = _tmp7_; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _item_list; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = _tmp9_; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_size = _tmp10_; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_index = -1; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 6250 "CheckerboardLayout.c" + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + CheckerboardItem* item = NULL; + GeeList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gpointer _tmp16_ = NULL; + CheckerboardItem* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = _item_index; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_index = _tmp11_ + 1; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _item_index; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _item_size; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp12_ < _tmp13_)) { +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 6272 "CheckerboardLayout.c" + } +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _item_list; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = _item_index; +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = gee_list_get (_tmp14_, _tmp15_); +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = (CheckerboardItem*) _tmp16_; +#line 1017 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = item; +#line 1017 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = data_view_is_selected (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_VIEW, DataView)); +#line 1017 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp18_) { +#line 6288 "CheckerboardLayout.c" + CheckerboardItem* _tmp19_ = NULL; + CheckerboardItem* _tmp20_ = NULL; +#line 1018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = item; +#line 1018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 1018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->anchor); +#line 1018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->anchor = _tmp20_; +#line 1019 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 1019 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_item_list); +#line 1019 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (items_on_page); +#line 1019 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 6307 "CheckerboardLayout.c" + } +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 6311 "CheckerboardLayout.c" + } +#line 1016 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_item_list); +#line 6315 "CheckerboardLayout.c" + } +#line 1023 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = self->priv->vadjustment; +#line 1023 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = gtk_adjustment_get_value (_tmp21_); +#line 1023 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp22_ == ((gdouble) 0)) { +#line 1024 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->anchor); +#line 1024 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->anchor = NULL; +#line 1025 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (items_on_page); +#line 1025 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 6331 "CheckerboardLayout.c" + } +#line 1030 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = items_on_page; +#line 1030 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = items_on_page; +#line 1030 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1030 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = _tmp25_; +#line 1030 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = gee_list_get (_tmp23_, ((gint) _tmp26_) / 2); +#line 1030 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->anchor); +#line 1030 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->anchor = (CheckerboardItem*) _tmp27_; +#line 1007 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (items_on_page); +#line 6349 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_center_on_anchor (CheckerboardLayout* self, gdouble upper) { + CheckerboardItem* _tmp0_ = NULL; + gdouble anchor_pos = 0.0; + CheckerboardItem* _tmp1_ = NULL; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + CheckerboardItem* _tmp4_ = NULL; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + GtkAdjustment* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + GtkAdjustment* _tmp9_ = NULL; + gdouble _tmp10_ = 0.0; + GtkAdjustment* _tmp11_ = NULL; + gdouble _tmp12_ = 0.0; + GtkAdjustment* _tmp13_ = NULL; + gdouble _tmp14_ = 0.0; + GtkAdjustment* _tmp15_ = NULL; + gdouble _tmp16_ = 0.0; + gdouble _tmp17_ = 0.0; +#line 1033 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1034 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->anchor; +#line 1034 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ == NULL) { +#line 1035 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 6381 "CheckerboardLayout.c" + } +#line 1037 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->in_center_on_anchor = TRUE; +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->anchor; +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp1_->allocation; +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _tmp2_.y; +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->anchor; +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _tmp4_->allocation; +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_.height; +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = self->priv->vadjustment; +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = gtk_adjustment_get_page_size (_tmp7_); +#line 1039 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + anchor_pos = (_tmp3_ + (_tmp6_ / 2)) - (_tmp8_ / 2); +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->vadjustment; +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = anchor_pos; +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = self->priv->vadjustment; +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = gtk_adjustment_get_lower (_tmp11_); +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = self->priv->vadjustment; +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = gtk_adjustment_get_upper (_tmp13_); +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = self->priv->vadjustment; +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = gtk_adjustment_get_page_size (_tmp15_); +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = CLAMP (_tmp10_, _tmp12_, _tmp14_ - _tmp16_); +#line 1041 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_adjustment_set_value (_tmp9_, _tmp17_); +#line 1044 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->in_center_on_anchor = FALSE; +#line 6425 "CheckerboardLayout.c" +} + + +void checkerboard_layout_set_cursor (CheckerboardLayout* self, CheckerboardItem* item) { + GeeHashSet* collection = NULL; + GeeHashSet* _tmp0_ = NULL; + CheckerboardItem* _tmp1_ = NULL; + CheckerboardItem* _tmp8_ = NULL; + CheckerboardItem* _tmp9_ = NULL; + CheckerboardItem* _tmp10_ = NULL; + GeeHashSet* _tmp11_ = NULL; + CheckerboardItem* _tmp12_ = NULL; + GeeHashSet* _tmp13_ = NULL; +#line 1047 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1047 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (item)); +#line 1048 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = gee_hash_set_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1048 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + collection = _tmp0_; +#line 1049 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->cursor; +#line 1049 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 6451 "CheckerboardLayout.c" + CheckerboardItem* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + CheckerboardItem* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1050 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->cursor; +#line 1050 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_is_cursor (_tmp2_, FALSE); +#line 1052 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->view; +#line 1052 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->cursor; +#line 1052 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = data_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject)); +#line 1052 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp5_) { +#line 6468 "CheckerboardLayout.c" + GeeHashSet* _tmp6_ = NULL; + CheckerboardItem* _tmp7_ = NULL; +#line 1053 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = collection; +#line 1053 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = self->priv->cursor; +#line 1053 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_VIEW, DataView)); +#line 6477 "CheckerboardLayout.c" + } + } +#line 1056 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = item; +#line 1056 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_is_cursor (_tmp8_, TRUE); +#line 1057 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = item; +#line 1057 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 1057 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->cursor); +#line 1057 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->cursor = _tmp10_; +#line 1058 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = collection; +#line 1058 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = item; +#line 1058 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_VIEW, DataView)); +#line 1059 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = collection; +#line 1059 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_on_items_state_changed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1047 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (collection); +#line 6504 "CheckerboardLayout.c" +} + + +CheckerboardItem* checkerboard_layout_get_cursor (CheckerboardLayout* self) { + CheckerboardItem* result = NULL; + CheckerboardItem* _tmp0_ = NULL; + CheckerboardItem* _tmp1_ = NULL; +#line 1062 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), NULL); +#line 1063 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->cursor; +#line 1063 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1063 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp1_; +#line 1063 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 6522 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_contents_altered (CheckerboardLayout* self, GeeIterable* added, GeeIterable* removed) { + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1067 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 1067 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 1069 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = added; +#line 1069 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ != NULL) { +#line 1070 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (self->priv->message); +#line 1070 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->message = NULL; +#line 6543 "CheckerboardLayout.c" + } +#line 1072 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = removed; +#line 1072 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 6549 "CheckerboardLayout.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = removed; +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _object_it = _tmp3_; +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 6562 "CheckerboardLayout.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + GeeHashSet* _tmp8_ = NULL; + DataObject* _tmp9_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _object_it; +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp5_) { +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 6578 "CheckerboardLayout.c" + } +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _object_it; +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + object = (DataObject*) _tmp7_; +#line 1074 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = self->priv->exposed_items; +#line 1074 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = object; +#line 1074 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (object); +#line 6594 "CheckerboardLayout.c" + } +#line 1073 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_object_it); +#line 6598 "CheckerboardLayout.c" + } + } +#line 1079 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = (_vala_array_free (self->priv->item_rows, self->priv->item_rows_length1, (GDestroyNotify) checkerboard_layout_layout_row_unref), NULL); +#line 1079 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = NULL; +#line 1079 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows_length1 = 0; +#line 1079 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->_item_rows_size_ = self->priv->item_rows_length1; +#line 1081 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, "on_contents_altered"); +#line 6611 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_items_altered (CheckerboardLayout* self) { +#line 1084 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1085 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, "on_items_altered"); +#line 6620 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_items_state_changed (CheckerboardLayout* self, GeeIterable* changed) { + GeeIterable* _tmp0_ = NULL; +#line 1088 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1088 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (GEE_IS_ITERABLE (changed)); +#line 1089 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = changed; +#line 1089 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_items_dirty (self, "on_items_state_changed", _tmp0_); +#line 6634 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_items_visibility_changed (CheckerboardLayout* self, GeeIterable* changed) { +#line 1092 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1092 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (GEE_IS_ITERABLE (changed)); +#line 1093 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, "on_items_visibility_changed"); +#line 6645 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_ordering_changed (CheckerboardLayout* self) { +#line 1096 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1097 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, "on_ordering_changed"); +#line 6654 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_views_altered (CheckerboardLayout* self, GeeCollection* altered) { + GeeCollection* _tmp0_ = NULL; +#line 1100 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1100 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (GEE_IS_COLLECTION (altered)); +#line 1101 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = altered; +#line 1101 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_items_dirty (self, "on_views_altered", G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 6668 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_geometries_altered (CheckerboardLayout* self) { +#line 1104 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1105 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, "on_geometries_altered"); +#line 6677 "CheckerboardLayout.c" +} + + +static gboolean _checkerboard_layout_do_reflow_gsource_func (gpointer self) { + gboolean result; + result = checkerboard_layout_do_reflow ((CheckerboardLayout*) self); +#line 1121 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 6686 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_need_reflow (CheckerboardLayout* self, const gchar* caller) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 1108 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1108 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (caller != NULL); +#line 1109 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->flow_scheduled; +#line 1109 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 1110 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 6703 "CheckerboardLayout.c" + } +#line 1112 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->is_in_view; +#line 1112 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp1_) { +#line 1113 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->reflow_needed = TRUE; +#line 1114 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 6713 "CheckerboardLayout.c" + } +#line 1120 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->flow_scheduled = TRUE; +#line 1121 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_idle_add_full (G_PRIORITY_HIGH, _checkerboard_layout_do_reflow_gsource_func, g_object_ref (self), g_object_unref); +#line 6719 "CheckerboardLayout.c" +} + + +static gboolean checkerboard_layout_do_reflow (CheckerboardLayout* self) { + gboolean result = FALSE; +#line 1124 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), FALSE); +#line 1125 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_reflow (self, "do_reflow"); +#line 1126 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_exposure (self, "do_reflow"); +#line 1128 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->flow_scheduled = FALSE; +#line 1130 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = FALSE; +#line 1130 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 6737 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_need_exposure (CheckerboardLayout* self, const gchar* caller) { +#line 1133 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1133 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (caller != NULL); +#line 1137 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposure_dirty = TRUE; +#line 1138 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_queue_draw (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 6750 "CheckerboardLayout.c" +} + + +void checkerboard_layout_set_message (CheckerboardLayout* self, const gchar* text) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 1141 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1142 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = text; +#line 1142 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->message; +#line 1142 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (g_strcmp0 (_tmp0_, _tmp1_) == 0) { +#line 1143 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 6770 "CheckerboardLayout.c" + } +#line 1145 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = text; +#line 1145 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 1145 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (self->priv->message); +#line 1145 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->message = _tmp3_; +#line 1147 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = text; +#line 1147 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp4_ != NULL) { +#line 6784 "CheckerboardLayout.c" + GtkContainer* _tmp5_ = NULL; + GtkContainer* _tmp6_ = NULL; +#line 1150 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1150 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_; +#line 1150 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_ != NULL) { +#line 6793 "CheckerboardLayout.c" + GtkAllocation parent_allocation = {0}; + GtkContainer* _tmp7_ = NULL; + GtkContainer* _tmp8_ = NULL; + GtkAllocation _tmp9_ = {0}; + GtkAllocation _tmp10_ = {0}; + gint _tmp11_ = 0; + GtkAllocation _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 1152 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1152 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _tmp7_; +#line 1152 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), &_tmp9_); +#line 1152 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + parent_allocation = _tmp9_; +#line 1154 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = parent_allocation; +#line 1154 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = _tmp10_.width; +#line 1154 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = parent_allocation; +#line 1154 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp12_.height; +#line 1154 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp11_, _tmp13_); +#line 6820 "CheckerboardLayout.c" + } + } else { +#line 1158 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, "set_message"); +#line 6825 "CheckerboardLayout.c" + } +} + + +void checkerboard_layout_unset_message (CheckerboardLayout* self) { +#line 1162 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1163 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_set_message (self, NULL); +#line 6835 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_update_visible_page (CheckerboardLayout* self) { + gboolean _tmp0_ = FALSE; + GtkAdjustment* _tmp1_ = NULL; +#line 1166 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1167 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->hadjustment; +#line 1167 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 6848 "CheckerboardLayout.c" + GtkAdjustment* _tmp2_ = NULL; +#line 1167 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->vadjustment; +#line 1167 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp2_ != NULL; +#line 6854 "CheckerboardLayout.c" + } else { +#line 1167 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 6858 "CheckerboardLayout.c" + } +#line 1167 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 6862 "CheckerboardLayout.c" + GtkAdjustment* _tmp3_ = NULL; + GtkAdjustment* _tmp4_ = NULL; + GdkRectangle _tmp5_ = {0}; +#line 1168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->hadjustment; +#line 1168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->vadjustment; +#line 1168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + get_adjustment_page (_tmp3_, _tmp4_, &_tmp5_); +#line 1168 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->visible_page = _tmp5_; +#line 6874 "CheckerboardLayout.c" + } +} + + +void checkerboard_layout_set_in_view (CheckerboardLayout* self, gboolean in_view) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 1171 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = in_view; +#line 1172 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->is_in_view = _tmp0_; +#line 1174 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = in_view; +#line 1174 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_) { +#line 6892 "CheckerboardLayout.c" + gboolean _tmp2_ = FALSE; +#line 1175 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->reflow_needed; +#line 1175 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_) { +#line 1176 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, "set_in_view (true)"); +#line 6900 "CheckerboardLayout.c" + } else { +#line 1178 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_exposure (self, "set_in_view (true)"); +#line 6904 "CheckerboardLayout.c" + } + } else { +#line 1180 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_unexpose_items (self, "set_in_view (false)"); +#line 6909 "CheckerboardLayout.c" + } +} + + +static gpointer _checkerboard_layout_layout_row_ref0 (gpointer self) { +#line 1196 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return self ? checkerboard_layout_layout_row_ref (self) : NULL; +#line 6917 "CheckerboardLayout.c" +} + + +CheckerboardItem* checkerboard_layout_get_item_at_pixel (CheckerboardLayout* self, gdouble xd, gdouble yd) { + CheckerboardItem* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gint x = 0; + gdouble _tmp3_ = 0.0; + gint y = 0; + gdouble _tmp4_ = 0.0; + CheckerboardLayoutLayoutRow* in_range = NULL; + gint min = 0; + gint max = 0; + CheckerboardLayoutLayoutRow** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + CheckerboardLayoutLayoutRow* _tmp30_ = NULL; + CheckerboardLayoutLayoutRow* _tmp31_ = NULL; + CheckerboardItem** _tmp32_ = NULL; + gint _tmp32__length1 = 0; +#line 1183 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), NULL); +#line 1184 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->message; +#line 1184 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != NULL) { +#line 1184 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = TRUE; +#line 6946 "CheckerboardLayout.c" + } else { + CheckerboardLayoutLayoutRow** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 1184 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->item_rows; +#line 1184 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2__length1 = self->priv->item_rows_length1; +#line 1184 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp2_ == NULL; +#line 6956 "CheckerboardLayout.c" + } +#line 1184 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 1185 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1185 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 6964 "CheckerboardLayout.c" + } +#line 1187 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = xd; +#line 1187 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = (gint) _tmp3_; +#line 1188 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = yd; +#line 1188 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = (gint) _tmp4_; +#line 1191 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + in_range = NULL; +#line 1192 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + min = 0; +#line 1193 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = self->priv->item_rows; +#line 1193 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5__length1 = self->priv->item_rows_length1; +#line 1193 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max = _tmp5__length1; +#line 6984 "CheckerboardLayout.c" + { + gboolean _tmp6_ = FALSE; +#line 1194 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = TRUE; +#line 1194 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 6991 "CheckerboardLayout.c" + gint mid = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + CheckerboardLayoutLayoutRow* row = NULL; + CheckerboardLayoutLayoutRow** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + CheckerboardLayoutLayoutRow* _tmp12_ = NULL; + CheckerboardLayoutLayoutRow* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + CheckerboardLayoutLayoutRow* _tmp15_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 1194 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp6_) { +#line 7008 "CheckerboardLayout.c" + } +#line 1194 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = FALSE; +#line 1195 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = min; +#line 1195 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = max; +#line 1195 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = min; +#line 1195 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + mid = _tmp7_ + ((_tmp8_ - _tmp9_) / 2); +#line 1196 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = self->priv->item_rows; +#line 1196 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10__length1 = self->priv->item_rows_length1; +#line 1196 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = mid; +#line 1196 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _tmp10_[_tmp11_]; +#line 1196 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _checkerboard_layout_layout_row_ref0 (_tmp12_); +#line 1196 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp13_; +#line 1198 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = row; +#line 1198 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp15_ == NULL) { +#line 1198 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = TRUE; +#line 7038 "CheckerboardLayout.c" + } else { + gint _tmp16_ = 0; + CheckerboardLayoutLayoutRow* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 1198 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = y; +#line 1198 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = row; +#line 1198 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = _tmp17_->y; +#line 1198 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _tmp16_ < _tmp18_; +#line 7051 "CheckerboardLayout.c" + } +#line 1198 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp14_) { +#line 7055 "CheckerboardLayout.c" + gint _tmp19_ = 0; +#line 1201 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = mid; +#line 1201 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max = _tmp19_ - 1; +#line 7061 "CheckerboardLayout.c" + } else { + gint _tmp20_ = 0; + CheckerboardLayoutLayoutRow* _tmp21_ = NULL; + gint _tmp22_ = 0; + CheckerboardLayoutLayoutRow* _tmp23_ = NULL; + gint _tmp24_ = 0; +#line 1202 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = y; +#line 1202 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = row; +#line 1202 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = _tmp21_->y; +#line 1202 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = row; +#line 1202 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = _tmp23_->height; +#line 1202 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp20_ > (_tmp22_ + _tmp24_)) { +#line 7080 "CheckerboardLayout.c" + gint _tmp25_ = 0; +#line 1204 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = mid; +#line 1204 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + min = _tmp25_ + 1; +#line 7086 "CheckerboardLayout.c" + } else { + CheckerboardLayoutLayoutRow* _tmp26_ = NULL; + CheckerboardLayoutLayoutRow* _tmp27_ = NULL; +#line 1207 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = row; +#line 1207 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = _checkerboard_layout_layout_row_ref0 (_tmp26_); +#line 1207 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (in_range); +#line 1207 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + in_range = _tmp27_; +#line 1209 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (row); +#line 1209 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 7102 "CheckerboardLayout.c" + } + } +#line 1212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = min; +#line 1212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = max; +#line 1212 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp28_ > _tmp29_) { +#line 1213 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (row); +#line 1213 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 7115 "CheckerboardLayout.c" + } +#line 1194 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (row); +#line 7119 "CheckerboardLayout.c" + } + } +#line 1216 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = in_range; +#line 1216 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp30_ == NULL) { +#line 1217 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1217 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (in_range); +#line 1217 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7132 "CheckerboardLayout.c" + } +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = in_range; +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = _tmp31_->items; +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32__length1 = _tmp31_->items_length1; +#line 7140 "CheckerboardLayout.c" + { + CheckerboardItem** item_collection = NULL; + gint item_collection_length1 = 0; + gint _item_collection_size_ = 0; + gint item_it = 0; +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item_collection = _tmp32_; +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item_collection_length1 = _tmp32__length1; +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + for (item_it = 0; item_it < _tmp32__length1; item_it = item_it + 1) { +#line 7152 "CheckerboardLayout.c" + CheckerboardItem* _tmp33_ = NULL; + CheckerboardItem* item = NULL; +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = _g_object_ref0 (item_collection[item_it]); +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = _tmp33_; +#line 7159 "CheckerboardLayout.c" + { + CheckerboardItem* _tmp34_ = NULL; + gint _tmp35_ = 0; + CheckerboardItem* _tmp36_ = NULL; + GdkRectangle _tmp37_ = {0}; + gint _tmp38_ = 0; + gboolean _tmp39_ = FALSE; + gboolean _tmp40_ = FALSE; + gint _tmp41_ = 0; + CheckerboardItem* _tmp42_ = NULL; + GdkRectangle _tmp43_ = {0}; + gint _tmp44_ = 0; + CheckerboardItem* _tmp45_ = NULL; + GdkRectangle _tmp46_ = {0}; + gint _tmp47_ = 0; +#line 1223 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = item; +#line 1223 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp34_ == NULL) { +#line 1224 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 1224 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + continue; +#line 7183 "CheckerboardLayout.c" + } +#line 1226 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = x; +#line 1226 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = item; +#line 1226 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = _tmp36_->allocation; +#line 1226 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = _tmp37_.x; +#line 1226 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp35_ < _tmp38_) { +#line 1228 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 1228 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 7199 "CheckerboardLayout.c" + } +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = x; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = item; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = _tmp42_->allocation; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = _tmp43_.x; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = item; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = _tmp45_->allocation; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = _tmp46_.width; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp41_ <= (_tmp44_ + _tmp47_)) { +#line 7217 "CheckerboardLayout.c" + gint _tmp48_ = 0; + CheckerboardItem* _tmp49_ = NULL; + GdkRectangle _tmp50_ = {0}; + gint _tmp51_ = 0; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp48_ = y; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp49_ = item; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp50_ = _tmp49_->allocation; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp51_ = _tmp50_.y; +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = _tmp48_ >= _tmp51_; +#line 7232 "CheckerboardLayout.c" + } else { +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = FALSE; +#line 7236 "CheckerboardLayout.c" + } +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp40_) { +#line 7240 "CheckerboardLayout.c" + gint _tmp52_ = 0; + CheckerboardItem* _tmp53_ = NULL; + GdkRectangle _tmp54_ = {0}; + gint _tmp55_ = 0; + CheckerboardItem* _tmp56_ = NULL; + GdkRectangle _tmp57_ = {0}; + gint _tmp58_ = 0; +#line 1234 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp52_ = y; +#line 1234 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp53_ = item; +#line 1234 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp54_ = _tmp53_->allocation; +#line 1234 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp55_ = _tmp54_.y; +#line 1234 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp56_ = item; +#line 1234 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp57_ = _tmp56_->allocation; +#line 1234 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp58_ = _tmp57_.height; +#line 1234 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = _tmp52_ <= (_tmp55_ + _tmp58_); +#line 7264 "CheckerboardLayout.c" + } else { +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = FALSE; +#line 7268 "CheckerboardLayout.c" + } +#line 1233 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp39_) { +#line 1235 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = item; +#line 1235 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (in_range); +#line 1235 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7278 "CheckerboardLayout.c" + } +#line 1220 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 7282 "CheckerboardLayout.c" + } + } + } +#line 1238 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1238 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (in_range); +#line 1238 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7292 "CheckerboardLayout.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 7310 "CheckerboardLayout.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 7333 "CheckerboardLayout.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 7341 "CheckerboardLayout.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 7353 "CheckerboardLayout.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 7377 "CheckerboardLayout.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 7383 "CheckerboardLayout.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 7387 "CheckerboardLayout.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 7391 "CheckerboardLayout.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 7403 "CheckerboardLayout.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 7413 "CheckerboardLayout.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 7419 "CheckerboardLayout.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 7433 "CheckerboardLayout.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 7443 "CheckerboardLayout.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 7449 "CheckerboardLayout.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 7458 "CheckerboardLayout.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 7478 "CheckerboardLayout.c" +} + + +gint checkerboard_layout_get_tag_index_at_pos (const gchar* tag_list, gint pos) { + gint result = 0; + gint sep_len = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint len = 0; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gint _tmp7_ = 0; + gint index = 0; +#line 1241 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (tag_list != NULL, 0); +#line 1242 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = strlen (TAG_TAG_LIST_SEPARATOR_STRING); +#line 1242 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_; +#line 1242 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + sep_len = _tmp1_; +#line 1243 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = sep_len; +#line 1243 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp2_ > 0, "sep_len > 0"); +#line 1244 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = tag_list; +#line 1244 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = strlen (_tmp3_); +#line 1244 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _tmp4_; +#line 1244 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + len = _tmp5_; +#line 1245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = pos; +#line 1245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp7_ < 0) { +#line 1245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = TRUE; +#line 7521 "CheckerboardLayout.c" + } else { + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 1245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = pos; +#line 1245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = len; +#line 1245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp8_ >= _tmp9_; +#line 7531 "CheckerboardLayout.c" + } +#line 1245 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_) { +#line 1246 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = -1; +#line 1246 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7539 "CheckerboardLayout.c" + } + { + gint i = 0; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + i = 0; +#line 7545 "CheckerboardLayout.c" + { + gboolean _tmp10_ = FALSE; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = TRUE; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 7552 "CheckerboardLayout.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gboolean _tmp14_ = FALSE; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + gchar _tmp17_ = '\0'; + gint _tmp18_ = 0; + gchar _tmp19_ = '\0'; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp10_) { +#line 7563 "CheckerboardLayout.c" + gint _tmp11_ = 0; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = i; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + i = _tmp11_ + 1; +#line 7569 "CheckerboardLayout.c" + } +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = FALSE; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = i; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = sep_len; +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp12_ < _tmp13_)) { +#line 1249 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 7581 "CheckerboardLayout.c" + } +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = tag_list; +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = pos; +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = string_get (_tmp15_, (glong) _tmp16_); +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = i; +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = string_get (TAG_TAG_LIST_SEPARATOR_STRING, (glong) _tmp18_); +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp17_ == _tmp19_) { +#line 7595 "CheckerboardLayout.c" + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = pos; +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = i; +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _tmp20_ >= _tmp21_; +#line 7604 "CheckerboardLayout.c" + } else { +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = FALSE; +#line 7608 "CheckerboardLayout.c" + } +#line 1250 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp14_) { +#line 7612 "CheckerboardLayout.c" + const gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = tag_list; +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = pos; +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = i; +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = sep_len; +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = string_substring (_tmp22_, (glong) (_tmp23_ - _tmp24_), (glong) _tmp25_); +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = _tmp26_; +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = g_strcmp0 (_tmp27_, TAG_TAG_LIST_SEPARATOR_STRING) == 0; +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp27_); +#line 1251 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp28_) { +#line 1252 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = -1; +#line 1252 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7642 "CheckerboardLayout.c" + } + } + } + } + } +#line 1259 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + index = 0; +#line 7650 "CheckerboardLayout.c" + { + gint i = 0; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + i = 0; +#line 7655 "CheckerboardLayout.c" + { + gboolean _tmp29_ = FALSE; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = TRUE; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 7662 "CheckerboardLayout.c" + gint _tmp31_ = 0; + gint _tmp32_ = 0; + gboolean _tmp33_ = FALSE; + gboolean _tmp34_ = FALSE; + const gchar* _tmp35_ = NULL; + gint _tmp36_ = 0; + gchar _tmp37_ = '\0'; + gchar _tmp38_ = '\0'; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp29_) { +#line 7673 "CheckerboardLayout.c" + gint _tmp30_ = 0; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = i; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + i = _tmp30_ + 1; +#line 7679 "CheckerboardLayout.c" + } +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = FALSE; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = i; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = pos; +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp31_ < _tmp32_)) { +#line 1260 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 7691 "CheckerboardLayout.c" + } +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = tag_list; +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = i; +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = string_get (_tmp35_, (glong) _tmp36_); +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = string_get (TAG_TAG_LIST_SEPARATOR_STRING, (glong) 0); +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp37_ == _tmp38_) { +#line 7703 "CheckerboardLayout.c" + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint _tmp41_ = 0; +#line 1262 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = i; +#line 1262 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = sep_len; +#line 1262 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = len; +#line 1262 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = (_tmp39_ + _tmp40_) <= _tmp41_; +#line 7715 "CheckerboardLayout.c" + } else { +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = FALSE; +#line 7719 "CheckerboardLayout.c" + } +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp34_) { +#line 7723 "CheckerboardLayout.c" + const gchar* _tmp42_ = NULL; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; +#line 1263 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = tag_list; +#line 1263 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = i; +#line 1263 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = sep_len; +#line 1263 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = string_substring (_tmp42_, (glong) _tmp43_, (glong) _tmp44_); +#line 1263 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = _tmp45_; +#line 1263 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = g_strcmp0 (_tmp46_, TAG_TAG_LIST_SEPARATOR_STRING) == 0; +#line 1263 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp46_); +#line 7743 "CheckerboardLayout.c" + } else { +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = FALSE; +#line 7747 "CheckerboardLayout.c" + } +#line 1261 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp33_) { +#line 7751 "CheckerboardLayout.c" + gint _tmp47_ = 0; + gint _tmp48_ = 0; + gint _tmp49_ = 0; +#line 1264 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = index; +#line 1264 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + index = _tmp47_ + 1; +#line 1265 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp48_ = i; +#line 1265 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp49_ = sep_len; +#line 1265 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + i = _tmp48_ + (_tmp49_ - 1); +#line 7765 "CheckerboardLayout.c" + } + } + } + } +#line 1268 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = index; +#line 1268 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7774 "CheckerboardLayout.c" +} + + +static gint checkerboard_layout_internal_handle_tag_mouse_event (CheckerboardLayout* self, CheckerboardItem* item, gint x, gint y) { + gint result = 0; + PangoLayout* layout = NULL; + CheckerboardItem* _tmp0_ = NULL; + PangoLayout* _tmp1_ = NULL; + PangoLayout* _tmp2_ = NULL; + GdkRectangle rect = {0}; + CheckerboardItem* _tmp3_ = NULL; + GdkRectangle _tmp4_ = {0}; + gint index = 0; + gint trailing = 0; + gint px = 0; + gint _tmp5_ = 0; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + gint py = 0; + gint _tmp8_ = 0; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + PangoLayout* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gboolean _tmp16_ = FALSE; +#line 1271 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), 0); +#line 1271 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (item), 0); +#line 1272 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = item; +#line 1272 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = checkerboard_item_get_tag_list_layout (_tmp0_); +#line 1272 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + layout = _tmp1_; +#line 1273 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = layout; +#line 1273 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_ == NULL) { +#line 1274 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = -1; +#line 1274 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (layout); +#line 1274 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7823 "CheckerboardLayout.c" + } +#line 1275 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = item; +#line 1275 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_get_subtitle_allocation (_tmp3_, &_tmp4_); +#line 1275 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + rect = _tmp4_; +#line 1277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = x; +#line 1277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = rect; +#line 1277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _tmp6_.x; +#line 1277 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + px = (_tmp5_ - _tmp7_) * PANGO_SCALE; +#line 1278 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = y; +#line 1278 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = rect; +#line 1278 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = _tmp9_.y; +#line 1278 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + py = (_tmp8_ - _tmp10_) * PANGO_SCALE; +#line 1279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = layout; +#line 1279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = px; +#line 1279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = py; +#line 1279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = pango_layout_xy_to_index (_tmp11_, _tmp12_, _tmp13_, &_tmp14_, &_tmp15_); +#line 1279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + index = _tmp14_; +#line 1279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + trailing = _tmp15_; +#line 1279 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp16_) { +#line 7861 "CheckerboardLayout.c" + PangoLayout* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 1280 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = layout; +#line 1280 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = pango_layout_get_text (_tmp17_); +#line 1280 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = index; +#line 1280 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = checkerboard_layout_get_tag_index_at_pos (_tmp18_, _tmp19_); +#line 1280 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp20_; +#line 1280 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (layout); +#line 1280 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7880 "CheckerboardLayout.c" + } +#line 1281 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = -1; +#line 1281 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (layout); +#line 1281 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7888 "CheckerboardLayout.c" +} + + +gboolean checkerboard_layout_handle_mouse_motion (CheckerboardLayout* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + CheckerboardItem* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gint tag_index = 0; + CheckerboardItem* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + CheckerboardItem* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 1284 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), FALSE); +#line 1284 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (item), FALSE); +#line 1285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = item; +#line 1285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = checkerboard_item_get_has_tags (_tmp1_); +#line 1285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _tmp2_; +#line 1285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp3_) { +#line 1285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = TRUE; +#line 7920 "CheckerboardLayout.c" + } else { + gboolean _tmp4_ = FALSE; +#line 1285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = checkerboard_layout_is_drag_select_active (self); +#line 1285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp4_; +#line 7927 "CheckerboardLayout.c" + } +#line 1285 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 1286 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = FALSE; +#line 1286 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7935 "CheckerboardLayout.c" + } +#line 1287 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = item; +#line 1287 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = x; +#line 1287 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = y; +#line 1287 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = checkerboard_layout_internal_handle_tag_mouse_event (self, _tmp5_, _tmp6_, _tmp7_); +#line 1287 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + tag_index = _tmp8_; +#line 1288 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = item; +#line 1288 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = tag_index; +#line 1288 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_highlight_user_visible_tag (_tmp9_, _tmp10_); +#line 1289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = tag_index; +#line 1289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp11_ >= 0; +#line 1289 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 7959 "CheckerboardLayout.c" +} + + +gboolean checkerboard_layout_handle_left_click (CheckerboardLayout* self, CheckerboardItem* item, gdouble xd, gdouble yd, GdkModifierType mask) { + gboolean result = FALSE; + gint tag_index = 0; + CheckerboardItem* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 1292 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), FALSE); +#line 1292 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (item), FALSE); +#line 1293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = item; +#line 1293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = xd; +#line 1293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = round (_tmp1_); +#line 1293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = yd; +#line 1293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = round (_tmp3_); +#line 1293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = checkerboard_layout_internal_handle_tag_mouse_event (self, _tmp0_, (gint) _tmp2_, (gint) _tmp4_); +#line 1293 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + tag_index = _tmp5_; +#line 1294 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = tag_index; +#line 1294 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_ >= 0) { +#line 7995 "CheckerboardLayout.c" + Tag* tag = NULL; + CheckerboardItem* _tmp7_ = NULL; + gint _tmp8_ = 0; + Tag* _tmp9_ = NULL; + LibraryWindow* _tmp10_ = NULL; + LibraryWindow* _tmp11_ = NULL; + Tag* _tmp12_ = NULL; +#line 1295 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = item; +#line 1295 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = tag_index; +#line 1295 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = checkerboard_item_get_user_visible_tag (_tmp7_, _tmp8_); +#line 1295 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + tag = _tmp9_; +#line 1296 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = library_window_get_app (); +#line 1296 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = _tmp10_; +#line 1296 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = tag; +#line 1296 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + library_window_switch_to_tag (_tmp11_, _tmp12_); +#line 1296 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp11_); +#line 1297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = TRUE; +#line 1297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (tag); +#line 1297 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8027 "CheckerboardLayout.c" + } +#line 1299 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = FALSE; +#line 1299 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8033 "CheckerboardLayout.c" +} + + +GeeList* checkerboard_layout_get_visible_items (CheckerboardLayout* self) { + GeeList* result = NULL; + GdkRectangle _tmp0_ = {0}; + GeeList* _tmp1_ = NULL; +#line 1302 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), NULL); +#line 1303 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->visible_page; +#line 1303 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = checkerboard_layout_intersection (self, &_tmp0_); +#line 1303 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp1_; +#line 1303 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8051 "CheckerboardLayout.c" +} + + +GeeList* checkerboard_layout_intersection (CheckerboardLayout* self, GdkRectangle* area) { + GeeList* result = NULL; + GeeArrayList* intersects = NULL; + GeeArrayList* _tmp0_ = NULL; + GtkAllocation allocation = {0}; + GtkAllocation _tmp1_ = {0}; + GdkRectangle bitbucket = {0}; + CheckerboardLayoutLayoutRow** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 1306 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), NULL); +#line 1306 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (area != NULL, NULL); +#line 1307 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = gee_array_list_new (TYPE_CHECKERBOARD_ITEM, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1307 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + intersects = _tmp0_; +#line 1310 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp1_); +#line 1310 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + allocation = _tmp1_; +#line 1312 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&bitbucket, 0, sizeof (GdkRectangle)); +#line 1313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->item_rows; +#line 1313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2__length1 = self->priv->item_rows_length1; +#line 8082 "CheckerboardLayout.c" + { + CheckerboardLayoutLayoutRow** row_collection = NULL; + gint row_collection_length1 = 0; + gint _row_collection_size_ = 0; + gint row_it = 0; +#line 1313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_collection = _tmp2_; +#line 1313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_collection_length1 = _tmp2__length1; +#line 1313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + for (row_it = 0; row_it < _tmp2__length1; row_it = row_it + 1) { +#line 8094 "CheckerboardLayout.c" + CheckerboardLayoutLayoutRow* _tmp3_ = NULL; + CheckerboardLayoutLayoutRow* row = NULL; +#line 1313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _checkerboard_layout_layout_row_ref0 (row_collection[row_it]); +#line 1313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp3_; +#line 8101 "CheckerboardLayout.c" + { + CheckerboardLayoutLayoutRow* _tmp4_ = NULL; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; + CheckerboardLayoutLayoutRow* _tmp9_ = NULL; + gint _tmp10_ = 0; + CheckerboardLayoutLayoutRow* _tmp11_ = NULL; + gint _tmp12_ = 0; + CheckerboardLayoutLayoutRow* _tmp13_ = NULL; + gint _tmp14_ = 0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkRectangle row_rect = {0}; + CheckerboardLayoutLayoutRow* _tmp17_ = NULL; + gint _tmp18_ = 0; + GtkAllocation _tmp19_ = {0}; + gint _tmp20_ = 0; + CheckerboardLayoutLayoutRow* _tmp21_ = NULL; + gint _tmp22_ = 0; + GdkRectangle _tmp23_ = {0}; + GdkRectangle _tmp24_ = {0}; + gboolean _tmp25_ = FALSE; +#line 1314 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = row; +#line 1314 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp4_ == NULL) { +#line 1315 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (row); +#line 1315 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + continue; +#line 8134 "CheckerboardLayout.c" + } +#line 1317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = *area; +#line 1317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_.y; +#line 1317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = *area; +#line 1317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _tmp7_.height; +#line 1317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = row; +#line 1317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = _tmp9_->y; +#line 1317 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if ((_tmp6_ + _tmp8_) < _tmp10_) { +#line 1319 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (row); +#line 1319 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 8154 "CheckerboardLayout.c" + } +#line 1322 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = row; +#line 1322 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _tmp11_->y; +#line 1322 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = row; +#line 1322 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _tmp13_->height; +#line 1322 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = *area; +#line 1322 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = _tmp15_.y; +#line 1322 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if ((_tmp12_ + _tmp14_) < _tmp16_) { +#line 1324 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (row); +#line 1324 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + continue; +#line 8174 "CheckerboardLayout.c" + } +#line 1328 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&row_rect, 0, sizeof (GdkRectangle)); +#line 1329 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_rect.x = 0; +#line 1330 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = row; +#line 1330 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = _tmp17_->y; +#line 1330 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_rect.y = _tmp18_; +#line 1331 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = allocation; +#line 1331 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = _tmp19_.width; +#line 1331 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_rect.width = _tmp20_; +#line 1332 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = row; +#line 1332 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = _tmp21_->height; +#line 1332 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_rect.height = _tmp22_; +#line 1334 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = row_rect; +#line 1334 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = gdk_rectangle_intersect (area, &_tmp23_, &_tmp24_); +#line 1334 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + bitbucket = _tmp24_; +#line 1334 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp25_) { +#line 8206 "CheckerboardLayout.c" + CheckerboardLayoutLayoutRow* _tmp26_ = NULL; + CheckerboardItem** _tmp27_ = NULL; + gint _tmp27__length1 = 0; +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = row; +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = _tmp26_->items; +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27__length1 = _tmp26_->items_length1; +#line 8216 "CheckerboardLayout.c" + { + CheckerboardItem** item_collection = NULL; + gint item_collection_length1 = 0; + gint _item_collection_size_ = 0; + gint item_it = 0; +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item_collection = _tmp27_; +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item_collection_length1 = _tmp27__length1; +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + for (item_it = 0; item_it < _tmp27__length1; item_it = item_it + 1) { +#line 8228 "CheckerboardLayout.c" + CheckerboardItem* _tmp28_ = NULL; + CheckerboardItem* item = NULL; +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = _g_object_ref0 (item_collection[item_it]); +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = _tmp28_; +#line 8235 "CheckerboardLayout.c" + { + CheckerboardItem* _tmp29_ = NULL; + CheckerboardItem* _tmp30_ = NULL; + GdkRectangle _tmp31_ = {0}; + GdkRectangle _tmp32_ = {0}; + gboolean _tmp33_ = FALSE; +#line 1337 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = item; +#line 1337 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp29_ == NULL) { +#line 1338 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 1338 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + continue; +#line 8250 "CheckerboardLayout.c" + } +#line 1340 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = item; +#line 1340 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = _tmp30_->allocation; +#line 1340 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = gdk_rectangle_intersect (area, &_tmp31_, &_tmp32_); +#line 1340 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + bitbucket = _tmp32_; +#line 1340 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp33_) { +#line 8262 "CheckerboardLayout.c" + GeeArrayList* _tmp34_ = NULL; + CheckerboardItem* _tmp35_ = NULL; +#line 1341 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = intersects; +#line 1341 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = item; +#line 1341 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp35_); +#line 8271 "CheckerboardLayout.c" + } +#line 1336 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 8275 "CheckerboardLayout.c" + } + } + } + } +#line 1313 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (row); +#line 8282 "CheckerboardLayout.c" + } + } + } +#line 1346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (intersects, GEE_TYPE_LIST, GeeList); +#line 1346 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8290 "CheckerboardLayout.c" +} + + +CheckerboardItem* checkerboard_layout_get_item_relative_to (CheckerboardLayout* self, CheckerboardItem* item, CompassPoint point) { + CheckerboardItem* result = NULL; + ViewCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint col = 0; + CheckerboardItem* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint row = 0; + CheckerboardItem* _tmp6_ = NULL; + gint _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + gint _tmp9_ = 0; + CompassPoint _tmp14_ = 0; + CheckerboardItem* new_item = NULL; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + CheckerboardItem* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + CheckerboardItem* _tmp39_ = NULL; + CheckerboardItem* _tmp47_ = NULL; + CheckerboardItem* _tmp48_ = NULL; + CheckerboardItem* _tmp51_ = NULL; +#line 1349 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), NULL); +#line 1349 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_ITEM (item), NULL); +#line 1350 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->view; +#line 1350 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1350 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ == 0) { +#line 1351 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1351 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8332 "CheckerboardLayout.c" + } +#line 1353 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->columns; +#line 1353 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp2_ > 0, "columns > 0"); +#line 1354 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->rows; +#line 1354 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp3_ > 0, "rows > 0"); +#line 1356 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = item; +#line 1356 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = checkerboard_item_get_column (_tmp4_); +#line 1356 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp5_; +#line 1357 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = item; +#line 1357 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = checkerboard_item_get_row (_tmp6_); +#line 1357 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp7_; +#line 1359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = col; +#line 1359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp9_ < 0) { +#line 1359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = TRUE; +#line 8360 "CheckerboardLayout.c" + } else { + gint _tmp10_ = 0; +#line 1359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = row; +#line 1359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _tmp10_ < 0; +#line 8367 "CheckerboardLayout.c" + } +#line 1359 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp8_) { +#line 8371 "CheckerboardLayout.c" + CheckerboardItem* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 1360 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = item; +#line 1360 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = checkerboard_item_get_title (_tmp11_); +#line 1360 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp12_; +#line 1360 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_critical ("CheckerboardLayout.vala:1360: Attempting to locate item not placed in " \ +"layout: %s", _tmp13_); +#line 1360 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp13_); +#line 1362 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1362 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8389 "CheckerboardLayout.c" + } +#line 1365 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = point; +#line 1365 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + switch (_tmp14_) { +#line 1365 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + case COMPASS_POINT_NORTH: +#line 8397 "CheckerboardLayout.c" + { + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 1367 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = row; +#line 1367 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp15_ - 1; +#line 1367 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = row; +#line 1367 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp16_ < 0) { +#line 1368 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = 0; +#line 8411 "CheckerboardLayout.c" + } +#line 1369 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 8415 "CheckerboardLayout.c" + } +#line 1365 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + case COMPASS_POINT_SOUTH: +#line 8419 "CheckerboardLayout.c" + { + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 1372 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = row; +#line 1372 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp17_ + 1; +#line 1372 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = row; +#line 1372 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = self->priv->rows; +#line 1372 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp18_ >= _tmp19_) { +#line 8434 "CheckerboardLayout.c" + gint _tmp20_ = 0; +#line 1373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = self->priv->rows; +#line 1373 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp20_ - 1; +#line 8440 "CheckerboardLayout.c" + } +#line 1374 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 8444 "CheckerboardLayout.c" + } +#line 1365 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + case COMPASS_POINT_EAST: +#line 8448 "CheckerboardLayout.c" + { + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 1377 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = col; +#line 1377 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp21_ + 1; +#line 1377 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = col; +#line 1377 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = self->priv->columns; +#line 1377 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp22_ >= _tmp23_) { +#line 8463 "CheckerboardLayout.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 1378 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = row; +#line 1378 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp24_ + 1; +#line 1378 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = row; +#line 1378 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = self->priv->rows; +#line 1378 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp25_ >= _tmp26_) { +#line 8477 "CheckerboardLayout.c" + gint _tmp27_ = 0; + gint _tmp28_ = 0; +#line 1379 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = self->priv->rows; +#line 1379 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp27_ - 1; +#line 1380 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = self->priv->columns; +#line 1380 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp28_ - 1; +#line 8488 "CheckerboardLayout.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 8492 "CheckerboardLayout.c" + } + } +#line 1385 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 8497 "CheckerboardLayout.c" + } +#line 1365 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + case COMPASS_POINT_WEST: +#line 8501 "CheckerboardLayout.c" + { + gint _tmp29_ = 0; + gint _tmp30_ = 0; +#line 1388 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = col; +#line 1388 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp29_ - 1; +#line 1388 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = col; +#line 1388 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp30_ < 0) { +#line 8513 "CheckerboardLayout.c" + gint _tmp31_ = 0; + gint _tmp32_ = 0; +#line 1389 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = row; +#line 1389 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp31_ - 1; +#line 1389 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = row; +#line 1389 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp32_ < 0) { +#line 1390 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = 0; +#line 1391 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 8528 "CheckerboardLayout.c" + } else { + gint _tmp33_ = 0; +#line 1393 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = self->priv->columns; +#line 1393 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp33_ - 1; +#line 8535 "CheckerboardLayout.c" + } + } +#line 1396 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 8540 "CheckerboardLayout.c" + } + default: + { + CompassPoint _tmp34_ = 0; +#line 1399 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = point; +#line 1399 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_error ("CheckerboardLayout.vala:1399: Bad compass point %d", (gint) _tmp34_); +#line 8549 "CheckerboardLayout.c" + } + } +#line 1402 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = col; +#line 1402 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = row; +#line 1402 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = checkerboard_layout_get_item_at_coordinate (self, _tmp35_, _tmp36_); +#line 1402 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + new_item = _tmp37_; +#line 1404 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = new_item; +#line 1404 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp39_ == NULL) { +#line 8564 "CheckerboardLayout.c" + CompassPoint _tmp40_ = 0; +#line 1404 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = point; +#line 1404 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = _tmp40_ == COMPASS_POINT_SOUTH; +#line 8570 "CheckerboardLayout.c" + } else { +#line 1404 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = FALSE; +#line 8574 "CheckerboardLayout.c" + } +#line 1404 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp38_) { +#line 8578 "CheckerboardLayout.c" + ViewCollection* _tmp41_ = NULL; + DataView* _tmp42_ = NULL; + CheckerboardItem* _tmp43_ = NULL; + gint _tmp44_ = 0; + CheckerboardItem* _tmp45_ = NULL; + gint _tmp46_ = 0; +#line 1406 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = self->priv->view; +#line 1406 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = view_collection_get_last (_tmp41_); +#line 1406 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (new_item); +#line 1406 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + new_item = G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1407 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = new_item; +#line 1407 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = checkerboard_item_get_row (_tmp43_); +#line 1407 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = item; +#line 1407 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = checkerboard_item_get_row (_tmp45_); +#line 1407 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp44_ <= _tmp46_) { +#line 1408 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (new_item); +#line 1408 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + new_item = NULL; +#line 8607 "CheckerboardLayout.c" + } + } +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp48_ = new_item; +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp48_ != NULL) { +#line 8614 "CheckerboardLayout.c" + CheckerboardItem* _tmp49_ = NULL; +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp49_ = new_item; +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = _tmp49_; +#line 8620 "CheckerboardLayout.c" + } else { + CheckerboardItem* _tmp50_ = NULL; +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp50_ = item; +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = _tmp50_; +#line 8627 "CheckerboardLayout.c" + } +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp51_ = _g_object_ref0 (_tmp47_); +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp51_; +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (new_item); +#line 1411 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8637 "CheckerboardLayout.c" +} + + +CheckerboardItem* checkerboard_layout_get_item_at_coordinate (CheckerboardLayout* self, gint col, gint row) { + CheckerboardItem* result = NULL; + gint _tmp0_ = 0; + CheckerboardLayoutLayoutRow** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + CheckerboardLayoutLayoutRow* item_row = NULL; + CheckerboardLayoutLayoutRow** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + CheckerboardLayoutLayoutRow* _tmp4_ = NULL; + CheckerboardLayoutLayoutRow* _tmp5_ = NULL; + CheckerboardLayoutLayoutRow* _tmp6_ = NULL; + gint _tmp7_ = 0; + CheckerboardLayoutLayoutRow* _tmp8_ = NULL; + CheckerboardItem** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + CheckerboardLayoutLayoutRow* _tmp10_ = NULL; + CheckerboardItem** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint _tmp12_ = 0; + CheckerboardItem* _tmp13_ = NULL; + CheckerboardItem* _tmp14_ = NULL; +#line 1414 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), NULL); +#line 1415 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = row; +#line 1415 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->item_rows; +#line 1415 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1__length1 = self->priv->item_rows_length1; +#line 1415 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ >= _tmp1__length1) { +#line 1416 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1416 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8677 "CheckerboardLayout.c" + } +#line 1418 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->item_rows; +#line 1418 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2__length1 = self->priv->item_rows_length1; +#line 1418 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = row; +#line 1418 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp2_[_tmp3_]; +#line 1418 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _checkerboard_layout_layout_row_ref0 (_tmp4_); +#line 1418 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item_row = _tmp5_; +#line 1419 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = item_row; +#line 1419 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_ == NULL) { +#line 1420 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1420 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (item_row); +#line 1420 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8701 "CheckerboardLayout.c" + } +#line 1422 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = col; +#line 1422 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = item_row; +#line 1422 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = _tmp8_->items; +#line 1422 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9__length1 = _tmp8_->items_length1; +#line 1422 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp7_ >= _tmp9__length1) { +#line 1423 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1423 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (item_row); +#line 1423 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8719 "CheckerboardLayout.c" + } +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = item_row; +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = _tmp10_->items; +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11__length1 = _tmp10_->items_length1; +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = col; +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp11_[_tmp12_]; +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _g_object_ref0 (_tmp13_); +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp14_; +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (item_row); +#line 1425 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8739 "CheckerboardLayout.c" +} + + +void checkerboard_layout_set_drag_select_origin (CheckerboardLayout* self, gint x, gint y) { + GtkAllocation allocation = {0}; + GtkAllocation _tmp0_ = {0}; + gint _tmp1_ = 0; + GtkAllocation _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GtkAllocation _tmp6_ = {0}; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 1428 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1429 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_clear_drag_select (self); +#line 1432 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp0_); +#line 1432 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + allocation = _tmp0_; +#line 1434 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = x; +#line 1434 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = allocation; +#line 1434 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _tmp2_.width; +#line 1434 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = CLAMP (_tmp1_, 0, _tmp3_); +#line 1434 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->drag_origin.x = _tmp4_; +#line 1435 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = y; +#line 1435 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = allocation; +#line 1435 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _tmp6_.height; +#line 1435 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = CLAMP (_tmp5_, 0, _tmp7_); +#line 1435 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->drag_origin.y = _tmp8_; +#line 8782 "CheckerboardLayout.c" +} + + +void checkerboard_layout_set_drag_select_endpoint (CheckerboardLayout* self, gint x, gint y) { + GtkAllocation allocation = {0}; + GtkAllocation _tmp0_ = {0}; + gint _tmp1_ = 0; + GtkAllocation _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GtkAllocation _tmp6_ = {0}; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GdkRectangle old_selection_band = {0}; + GdkRectangle _tmp9_ = {0}; + GdkPoint _tmp10_ = {0}; + GdkPoint _tmp11_ = {0}; + Box _tmp12_ = {0}; + GdkRectangle _tmp13_ = {0}; + GdkWindow* _tmp14_ = NULL; +#line 1438 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1440 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp0_); +#line 1440 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + allocation = _tmp0_; +#line 1442 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = x; +#line 1442 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = allocation; +#line 1442 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _tmp2_.width; +#line 1442 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = CLAMP (_tmp1_, 0, _tmp3_); +#line 1442 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->drag_endpoint.x = _tmp4_; +#line 1443 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = y; +#line 1443 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = allocation; +#line 1443 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _tmp6_.height; +#line 1443 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = CLAMP (_tmp5_, 0, _tmp7_); +#line 1443 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->drag_endpoint.y = _tmp8_; +#line 1447 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->selection_band; +#line 1447 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + old_selection_band = _tmp9_; +#line 1448 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = self->priv->drag_origin; +#line 1448 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = self->priv->drag_endpoint; +#line 1448 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + box_from_points (&_tmp10_, &_tmp11_, &_tmp12_); +#line 1448 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + box_get_rectangle (&_tmp12_, &_tmp13_); +#line 1448 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->selection_band = _tmp13_; +#line 1451 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1451 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp14_ != NULL) { +#line 8848 "CheckerboardLayout.c" + GdkRectangle _union_ = {0}; + GdkRectangle _tmp15_ = {0}; + GdkRectangle _tmp16_ = {0}; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkRectangle _tmp19_ = {0}; + gint _tmp20_ = 0; + GdkRectangle _tmp21_ = {0}; + gint _tmp22_ = 0; + GdkRectangle _tmp23_ = {0}; + gint _tmp24_ = 0; +#line 1453 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = old_selection_band; +#line 1453 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gdk_rectangle_union (&self->priv->selection_band, &_tmp15_, &_tmp16_); +#line 1453 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _union_ = _tmp16_; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = _union_; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = _tmp17_.x; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = _union_; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = _tmp19_.y; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = _union_; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = _tmp21_.width; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = _union_; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = _tmp23_.height; +#line 1455 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_queue_draw_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp18_, _tmp20_, _tmp22_, _tmp24_); +#line 8884 "CheckerboardLayout.c" + } +} + + +GeeList* checkerboard_layout_items_in_selection_band (CheckerboardLayout* self) { + GeeList* result = NULL; + GdkRectangle _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + GdkRectangle _tmp3_ = {0}; + GeeList* _tmp4_ = NULL; +#line 1459 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), NULL); +#line 1460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->selection_band; +#line 1460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dimensions_for_rectangle (&_tmp0_, &_tmp1_); +#line 1460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = dimensions_has_area (&_tmp1_); +#line 1460 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp2_) { +#line 1461 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = NULL; +#line 1461 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8910 "CheckerboardLayout.c" + } +#line 1463 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->selection_band; +#line 1463 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = checkerboard_layout_intersection (self, &_tmp3_); +#line 1463 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp4_; +#line 1463 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8920 "CheckerboardLayout.c" +} + + +gboolean checkerboard_layout_is_drag_select_active (CheckerboardLayout* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GdkPoint _tmp1_ = {0}; + gint _tmp2_ = 0; +#line 1466 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (IS_CHECKERBOARD_LAYOUT (self), FALSE); +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->drag_origin; +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp1_.x; +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_ >= 0) { +#line 8937 "CheckerboardLayout.c" + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->drag_origin; +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_.y; +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp4_ >= 0; +#line 8946 "CheckerboardLayout.c" + } else { +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = FALSE; +#line 8950 "CheckerboardLayout.c" + } +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp0_; +#line 1467 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 8956 "CheckerboardLayout.c" +} + + +void checkerboard_layout_clear_drag_select (CheckerboardLayout* self) { +#line 1470 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1471 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&self->priv->selection_band, 0, sizeof (GdkRectangle)); +#line 1472 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->drag_origin.x = -1; +#line 1473 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->drag_origin.y = -1; +#line 1474 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->drag_endpoint.x = -1; +#line 1475 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->drag_endpoint.y = -1; +#line 1478 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_queue_draw (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 8975 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_viewport_resized (CheckerboardLayout* self) { + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 1481 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1483 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_update_visible_page (self); +#line 1486 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->visible_page; +#line 1486 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_.width; +#line 1486 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->last_width; +#line 1486 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp1_ != _tmp2_) { +#line 8995 "CheckerboardLayout.c" + gint old_width = 0; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 1487 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->last_width; +#line 1487 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + old_width = _tmp3_; +#line 1488 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->visible_page; +#line 1488 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _tmp4_.width; +#line 1488 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->last_width = _tmp5_; +#line 1490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = old_width; +#line 1490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = self->priv->visible_page; +#line 1490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _tmp7_.width; +#line 1490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = g_strdup_printf ("viewport_resized (%d -> %d)", _tmp6_, _tmp8_); +#line 1490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = _tmp9_; +#line 1490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, _tmp10_); +#line 1490 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp10_); +#line 9029 "CheckerboardLayout.c" + } else { + gint _tmp11_ = 0; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 1493 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = self->priv->last_width; +#line 1493 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = g_strdup_printf ("viewport_resized (same width=%d)", _tmp11_); +#line 1493 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp12_; +#line 1493 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_exposure (self, _tmp13_); +#line 1493 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp13_); +#line 9044 "CheckerboardLayout.c" + } +} + + +static void checkerboard_layout_expose_items (CheckerboardLayout* self, const gchar* caller) { + GeeHashSet* new_exposed_items = NULL; + GeeHashSet* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* items = NULL; + GeeList* _tmp2_ = NULL; + GeeHashSet* _tmp27_ = NULL; + GeeHashSet* _tmp28_ = NULL; + ViewCollection* _tmp29_ = NULL; +#line 1497 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1497 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (caller != NULL); +#line 1500 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = gee_hash_set_new (TYPE_CHECKERBOARD_ITEM, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1500 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + new_exposed_items = _tmp0_; +#line 1502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->view; +#line 1502 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1504 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = checkerboard_layout_get_visible_items (self); +#line 1504 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + items = _tmp2_; +#line 9074 "CheckerboardLayout.c" + { + GeeList* _item_list = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _item_size = 0; + GeeList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _item_index = 0; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = items; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_list = _tmp4_; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _item_list; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _tmp6_; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_size = _tmp7_; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_index = -1; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 9102 "CheckerboardLayout.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + CheckerboardItem* item = NULL; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gpointer _tmp13_ = NULL; + GeeHashSet* _tmp14_ = NULL; + CheckerboardItem* _tmp15_ = NULL; + GeeHashSet* _tmp16_ = NULL; + CheckerboardItem* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _item_index; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_index = _tmp8_ + 1; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = _item_index; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = _item_size; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp9_ < _tmp10_)) { +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 9127 "CheckerboardLayout.c" + } +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = _item_list; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = _item_index; +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = gee_list_get (_tmp11_, _tmp12_); +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = (CheckerboardItem*) _tmp13_; +#line 1506 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = new_exposed_items; +#line 1506 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = item; +#line 1506 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_); +#line 1509 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = self->priv->exposed_items; +#line 1509 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = item; +#line 1509 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 1509 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp18_) { +#line 9151 "CheckerboardLayout.c" + CheckerboardItem* _tmp19_ = NULL; +#line 1510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = item; +#line 1510 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_exposed (_tmp19_); +#line 9157 "CheckerboardLayout.c" + } +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 9161 "CheckerboardLayout.c" + } +#line 1505 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_item_list); +#line 9165 "CheckerboardLayout.c" + } + { + GeeIterator* _item_it = NULL; + GeeHashSet* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = self->priv->exposed_items; +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_it = _tmp21_; +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 9179 "CheckerboardLayout.c" + GeeIterator* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + CheckerboardItem* item = NULL; + GeeIterator* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + CheckerboardItem* _tmp26_ = NULL; +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = _item_it; +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = gee_iterator_next (_tmp22_); +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp23_) { +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 9194 "CheckerboardLayout.c" + } +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = _item_it; +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = gee_iterator_get (_tmp24_); +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = (CheckerboardItem*) _tmp25_; +#line 1515 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = item; +#line 1515 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_unexposed (_tmp26_); +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 9208 "CheckerboardLayout.c" + } +#line 1514 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_item_it); +#line 9212 "CheckerboardLayout.c" + } +#line 1518 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = new_exposed_items; +#line 1518 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = _g_object_ref0 (_tmp27_); +#line 1518 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->exposed_items); +#line 1518 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposed_items = _tmp28_; +#line 1519 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposure_dirty = FALSE; +#line 1524 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = self->priv->view; +#line 1524 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1497 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (items); +#line 1497 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (new_exposed_items); +#line 9232 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_unexpose_items (CheckerboardLayout* self, const gchar* caller) { + ViewCollection* _tmp0_ = NULL; + GeeHashSet* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; +#line 1530 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1530 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (caller != NULL); +#line 1531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->view; +#line 1531 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 9248 "CheckerboardLayout.c" + { + GeeIterator* _item_it = NULL; + GeeHashSet* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->exposed_items; +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_it = _tmp2_; +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 9261 "CheckerboardLayout.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + CheckerboardItem* item = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + CheckerboardItem* _tmp7_ = NULL; +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _item_it; +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp4_) { +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 9276 "CheckerboardLayout.c" + } +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _item_it; +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = (CheckerboardItem*) _tmp6_; +#line 1534 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = item; +#line 1534 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_unexposed (_tmp7_); +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 9290 "CheckerboardLayout.c" + } +#line 1533 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_item_it); +#line 9294 "CheckerboardLayout.c" + } +#line 1536 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = self->priv->exposed_items; +#line 1536 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 1537 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposure_dirty = FALSE; +#line 1542 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->view; +#line 1542 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_COLLECTION, DataCollection)); +#line 9306 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_reflow (CheckerboardLayout* self, const gchar* caller) { + const gchar* _tmp0_ = NULL; + GtkAllocation allocation = {0}; + GtkAllocation _tmp1_ = {0}; + gint _tmp2_ = 0; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + gint visible_width = 0; + gint _tmp9_ = 0; + gint total_items = 0; + ViewCollection* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gboolean _tmp15_ = FALSE; + CheckerboardItem* _tmp16_ = NULL; + gint max_cols = 0; + gint _tmp19_ = 0; + gint _tmp64_ = 0; + gint max_rows = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + gint row = 0; + gint tallest = 0; + gint widest = 0; + gint row_alignment_point = 0; + gint total_width = 0; + gint col = 0; + gint* column_widths = NULL; + gint _tmp67_ = 0; + gint* _tmp68_ = NULL; + gint column_widths_length1 = 0; + gint _column_widths_size_ = 0; + gint* row_heights = NULL; + gint _tmp69_ = 0; + gint* _tmp70_ = NULL; + gint row_heights_length1 = 0; + gint _row_heights_size_ = 0; + gint* alignment_points = NULL; + gint _tmp71_ = 0; + gint* _tmp72_ = NULL; + gint alignment_points_length1 = 0; + gint _alignment_points_size_ = 0; + gint gutter = 0; + gint _tmp183_ = 0; + CheckerboardLayoutLayoutRow** _tmp184_ = NULL; + gint x = 0; + gint _tmp185_ = 0; + gint y = 0; + CheckerboardLayoutLayoutRow* current_row = NULL; + CheckerboardLayoutLayoutRow* _tmp255_ = NULL; + gint _tmp261_ = 0; + gint _tmp262_ = 0; + gint _tmp263_ = 0; + gint _tmp264_ = 0; + gint total_height = 0; + gint _tmp265_ = 0; + gint* _tmp266_ = NULL; + gint _tmp266__length1 = 0; + gint _tmp267_ = 0; + gint _tmp268_ = 0; + gboolean _tmp269_ = FALSE; + gint _tmp270_ = 0; + GtkAllocation _tmp271_ = {0}; + gint _tmp272_ = 0; +#line 1548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (caller != NULL); +#line 1549 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->reflow_needed = FALSE; +#line 1552 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->message; +#line 1552 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_ != NULL) { +#line 1553 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 9386 "CheckerboardLayout.c" + } +#line 1556 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp1_); +#line 1556 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + allocation = _tmp1_; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->visible_page; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_.width; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp4_ > 0) { +#line 9398 "CheckerboardLayout.c" + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = self->priv->visible_page; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_.width; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp6_; +#line 9407 "CheckerboardLayout.c" + } else { + GtkAllocation _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = allocation; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _tmp7_.width; +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp8_; +#line 9417 "CheckerboardLayout.c" + } +#line 1558 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + visible_width = _tmp2_; +#line 1566 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = visible_width; +#line 1566 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp9_ <= 1) { +#line 1567 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 9427 "CheckerboardLayout.c" + } +#line 1569 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = self->priv->view; +#line 1569 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1569 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + total_items = _tmp11_; +#line 1572 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = total_items; +#line 1572 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp12_ == 0) { +#line 9439 "CheckerboardLayout.c" + gint _tmp13_ = 0; + CheckerboardLayoutLayoutRow** _tmp14_ = NULL; +#line 1573 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = visible_width; +#line 1573 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp13_, 0); +#line 1574 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = g_new0 (CheckerboardLayoutLayoutRow*, 0 + 1); +#line 1574 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = (_vala_array_free (self->priv->item_rows, self->priv->item_rows_length1, (GDestroyNotify) checkerboard_layout_layout_row_unref), NULL); +#line 1574 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = _tmp14_; +#line 1574 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows_length1 = 0; +#line 1574 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->_item_rows_size_ = self->priv->item_rows_length1; +#line 1576 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 9458 "CheckerboardLayout.c" + } +#line 1584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = self->priv->anchor; +#line 1584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp16_ == NULL) { +#line 1584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = TRUE; +#line 9466 "CheckerboardLayout.c" + } else { + CheckerboardItem* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = self->priv->anchor; +#line 1584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = data_view_is_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_VIEW, DataView)); +#line 1584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = !_tmp18_; +#line 9476 "CheckerboardLayout.c" + } +#line 1584 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp15_) { +#line 1585 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_update_anchor (self); +#line 9482 "CheckerboardLayout.c" + } +#line 1588 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = (_vala_array_free (self->priv->item_rows, self->priv->item_rows_length1, (GDestroyNotify) checkerboard_layout_layout_row_unref), NULL); +#line 1588 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = NULL; +#line 1588 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows_length1 = 0; +#line 1588 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->_item_rows_size_ = self->priv->item_rows_length1; +#line 1593 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_cols = 0; +#line 1594 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = self->priv->scale; +#line 1594 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp19_ > 0) { +#line 9498 "CheckerboardLayout.c" + gint remaining_width = 0; + gint _tmp20_ = 0; + gint max_item_width = 0; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint _tmp33_ = 0; + gint _tmp34_ = 0; +#line 1596 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = visible_width; +#line 1596 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + remaining_width = _tmp20_ - (CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING * 2); +#line 1597 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = self->priv->scale; +#line 1597 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = checkerboard_item_get_max_width (_tmp21_); +#line 1597 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_item_width = _tmp22_; +#line 1598 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = remaining_width; +#line 1598 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = max_item_width; +#line 1598 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_cols = _tmp23_ / _tmp24_; +#line 1599 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = max_cols; +#line 1599 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp25_ <= 0) { +#line 1600 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_cols = 1; +#line 9531 "CheckerboardLayout.c" + } +#line 1603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 9535 "CheckerboardLayout.c" + gboolean _tmp26_ = FALSE; + gint _tmp27_ = 0; + gint _tmp32_ = 0; +#line 1603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = max_cols; +#line 1603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp27_ > 1) { +#line 9543 "CheckerboardLayout.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint _tmp31_ = 0; +#line 1604 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = max_cols; +#line 1604 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = max_item_width; +#line 1604 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = max_cols; +#line 1604 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = remaining_width; +#line 1604 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = ((_tmp28_ * _tmp29_) + ((_tmp30_ - 1) * CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING)) > _tmp31_; +#line 9558 "CheckerboardLayout.c" + } else { +#line 1603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = FALSE; +#line 9562 "CheckerboardLayout.c" + } +#line 1603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp26_) { +#line 1603 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 9568 "CheckerboardLayout.c" + } +#line 1609 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = max_cols; +#line 1609 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_cols = _tmp32_ - 1; +#line 9574 "CheckerboardLayout.c" + } +#line 1613 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = total_items; +#line 1613 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = max_cols; +#line 1613 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp33_ < _tmp34_) { +#line 9582 "CheckerboardLayout.c" + gint _tmp35_ = 0; +#line 1614 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = total_items; +#line 1614 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_cols = _tmp35_; +#line 9588 "CheckerboardLayout.c" + } + } else { + gint x = 0; + gint col = 0; + gint row_width = 0; + gint widest_row = 0; + gint _tmp61_ = 0; + gint _tmp62_ = 0; +#line 1621 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING; +#line 1622 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1623 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_width = 0; +#line 1624 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + widest_row = 0; +#line 9605 "CheckerboardLayout.c" + { + gint ctr = 0; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ctr = 0; +#line 9610 "CheckerboardLayout.c" + { + gboolean _tmp36_ = FALSE; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = TRUE; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 9617 "CheckerboardLayout.c" + gint _tmp38_ = 0; + gint _tmp39_ = 0; + CheckerboardItem* item = NULL; + ViewCollection* _tmp40_ = NULL; + gint _tmp41_ = 0; + DataObject* _tmp42_ = NULL; + Dimensions req = {0}; + CheckerboardItem* _tmp43_ = NULL; + Dimensions _tmp44_ = {0}; + gboolean _tmp45_ = FALSE; + gint _tmp46_ = 0; + Dimensions _tmp47_ = {0}; + gint _tmp48_ = 0; + gint _tmp49_ = 0; + gint _tmp54_ = 0; + Dimensions _tmp55_ = {0}; + gint _tmp56_ = 0; + gint _tmp57_ = 0; + Dimensions _tmp58_ = {0}; + gint _tmp59_ = 0; + gint _tmp60_ = 0; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp36_) { +#line 9641 "CheckerboardLayout.c" + gint _tmp37_ = 0; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = ctr; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ctr = _tmp37_ + 1; +#line 9647 "CheckerboardLayout.c" + } +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = FALSE; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = ctr; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = total_items; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp38_ < _tmp39_)) { +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 9659 "CheckerboardLayout.c" + } +#line 1627 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = self->priv->view; +#line 1627 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = ctr; +#line 1627 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_DATA_COLLECTION, DataCollection), _tmp41_); +#line 1627 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1628 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = item; +#line 1628 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = _tmp43_->requisition; +#line 1628 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + req = _tmp44_; +#line 1631 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = dimensions_has_area (&req); +#line 1631 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp45_, "req.has_area()"); +#line 1634 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = x; +#line 1634 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = req; +#line 1634 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp48_ = _tmp47_.width; +#line 1634 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp49_ = visible_width; +#line 1634 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (((_tmp46_ + _tmp48_) + CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING) > _tmp49_) { +#line 9689 "CheckerboardLayout.c" + gint _tmp50_ = 0; + gint _tmp51_ = 0; +#line 1635 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp50_ = row_width; +#line 1635 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp51_ = widest_row; +#line 1635 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp50_ > _tmp51_) { +#line 9698 "CheckerboardLayout.c" + gint _tmp52_ = 0; + gint _tmp53_ = 0; +#line 1636 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp52_ = row_width; +#line 1636 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + widest_row = _tmp52_; +#line 1637 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp53_ = col; +#line 1637 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_cols = _tmp53_; +#line 9709 "CheckerboardLayout.c" + } +#line 1640 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1641 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING; +#line 1642 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_width = 0; +#line 9717 "CheckerboardLayout.c" + } +#line 1645 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp54_ = x; +#line 1645 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp55_ = req; +#line 1645 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp56_ = _tmp55_.width; +#line 1645 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = _tmp54_ + (_tmp56_ + CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING); +#line 1646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp57_ = row_width; +#line 1646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp58_ = req; +#line 1646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp59_ = _tmp58_.width; +#line 1646 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_width = _tmp57_ + _tmp59_; +#line 1648 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp60_ = col; +#line 1648 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp60_ + 1; +#line 1626 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 9741 "CheckerboardLayout.c" + } + } + } +#line 1652 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp61_ = row_width; +#line 1652 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp62_ = widest_row; +#line 1652 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp61_ > _tmp62_) { +#line 9751 "CheckerboardLayout.c" + gint _tmp63_ = 0; +#line 1653 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp63_ = col; +#line 1653 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_cols = _tmp63_; +#line 9757 "CheckerboardLayout.c" + } + } +#line 1661 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp64_ = max_cols; +#line 1661 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp64_ > 0, "max_cols > 0"); +#line 1662 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp65_ = total_items; +#line 1662 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp66_ = max_cols; +#line 1662 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_rows = (_tmp65_ / _tmp66_) + 1; +#line 1666 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = 0; +#line 1667 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + tallest = 0; +#line 1668 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + widest = 0; +#line 1669 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_alignment_point = 0; +#line 1670 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + total_width = 0; +#line 1671 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp67_ = max_cols; +#line 1672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp68_ = g_new0 (gint, _tmp67_); +#line 1672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + column_widths = _tmp68_; +#line 1672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + column_widths_length1 = _tmp67_; +#line 1672 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _column_widths_size_ = column_widths_length1; +#line 1673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp69_ = max_rows; +#line 1673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp70_ = g_new0 (gint, _tmp69_); +#line 1673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_heights = _tmp70_; +#line 1673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_heights_length1 = _tmp69_; +#line 1673 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _row_heights_size_ = row_heights_length1; +#line 1674 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp71_ = max_rows; +#line 1674 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp72_ = g_new0 (gint, _tmp71_); +#line 1674 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + alignment_points = _tmp72_; +#line 1674 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + alignment_points_length1 = _tmp71_; +#line 1674 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _alignment_points_size_ = alignment_points_length1; +#line 1675 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gutter = 0; +#line 9814 "CheckerboardLayout.c" + { + gboolean _tmp73_ = FALSE; +#line 1677 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp73_ = TRUE; +#line 1677 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 9821 "CheckerboardLayout.c" + gint _tmp129_ = 0; + gint _tmp138_ = 0; + gint _tmp139_ = 0; + gint _tmp140_ = 0; + gint _tmp141_ = 0; + gint _tmp142_ = 0; +#line 1677 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp73_) { +#line 9830 "CheckerboardLayout.c" + } +#line 1677 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp73_ = FALSE; +#line 9834 "CheckerboardLayout.c" + { + gint ctr = 0; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ctr = 0; +#line 9839 "CheckerboardLayout.c" + { + gboolean _tmp74_ = FALSE; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp74_ = TRUE; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 9846 "CheckerboardLayout.c" + gint _tmp76_ = 0; + gint _tmp77_ = 0; + CheckerboardItem* item = NULL; + ViewCollection* _tmp78_ = NULL; + gint _tmp79_ = 0; + DataObject* _tmp80_ = NULL; + Dimensions req = {0}; + CheckerboardItem* _tmp81_ = NULL; + Dimensions _tmp82_ = {0}; + gint alignment_point = 0; + CheckerboardItem* _tmp83_ = NULL; + gint _tmp84_ = 0; + gint _tmp85_ = 0; + Dimensions _tmp86_ = {0}; + gint _tmp87_ = 0; + Dimensions _tmp88_ = {0}; + gint _tmp89_ = 0; + gint _tmp90_ = 0; + Dimensions _tmp93_ = {0}; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + gint _tmp98_ = 0; + gint _tmp99_ = 0; + gint* _tmp101_ = NULL; + gint _tmp101__length1 = 0; + gint _tmp102_ = 0; + gint _tmp103_ = 0; + Dimensions _tmp104_ = {0}; + gint _tmp105_ = 0; + gint _tmp118_ = 0; + gint _tmp119_ = 0; + gint _tmp120_ = 0; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp74_) { +#line 9881 "CheckerboardLayout.c" + gint _tmp75_ = 0; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp75_ = ctr; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ctr = _tmp75_ + 1; +#line 9887 "CheckerboardLayout.c" + } +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp74_ = FALSE; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp76_ = ctr; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp77_ = total_items; +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp76_ < _tmp77_)) { +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 9899 "CheckerboardLayout.c" + } +#line 1679 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp78_ = self->priv->view; +#line 1679 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp79_ = ctr; +#line 1679 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp80_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, TYPE_DATA_COLLECTION, DataCollection), _tmp79_); +#line 1679 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1680 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp81_ = item; +#line 1680 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp82_ = _tmp81_->requisition; +#line 1680 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + req = _tmp82_; +#line 1681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp83_ = item; +#line 1681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp84_ = checkerboard_item_get_alignment_point (_tmp83_); +#line 1681 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + alignment_point = _tmp84_; +#line 1684 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp85_ = alignment_point; +#line 1684 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp86_ = req; +#line 1684 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp87_ = _tmp86_.height; +#line 1684 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp85_ < _tmp87_, "alignment_point < req.height"); +#line 1686 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp88_ = req; +#line 1686 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp89_ = _tmp88_.height; +#line 1686 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp90_ = tallest; +#line 1686 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp89_ > _tmp90_) { +#line 9937 "CheckerboardLayout.c" + Dimensions _tmp91_ = {0}; + gint _tmp92_ = 0; +#line 1687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp91_ = req; +#line 1687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp92_ = _tmp91_.height; +#line 1687 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + tallest = _tmp92_; +#line 9946 "CheckerboardLayout.c" + } +#line 1689 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp93_ = req; +#line 1689 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp94_ = _tmp93_.width; +#line 1689 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp95_ = widest; +#line 1689 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp94_ > _tmp95_) { +#line 9956 "CheckerboardLayout.c" + Dimensions _tmp96_ = {0}; + gint _tmp97_ = 0; +#line 1690 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp96_ = req; +#line 1690 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp97_ = _tmp96_.width; +#line 1690 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + widest = _tmp97_; +#line 9965 "CheckerboardLayout.c" + } +#line 1692 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp98_ = alignment_point; +#line 1692 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp99_ = row_alignment_point; +#line 1692 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp98_ > _tmp99_) { +#line 9973 "CheckerboardLayout.c" + gint _tmp100_ = 0; +#line 1693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp100_ = alignment_point; +#line 1693 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_alignment_point = _tmp100_; +#line 9979 "CheckerboardLayout.c" + } +#line 1697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp101_ = column_widths; +#line 1697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp101__length1 = column_widths_length1; +#line 1697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp102_ = col; +#line 1697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp103_ = _tmp101_[_tmp102_]; +#line 1697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp104_ = req; +#line 1697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp105_ = _tmp104_.width; +#line 1697 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp103_ < _tmp105_) { +#line 9995 "CheckerboardLayout.c" + gint _tmp106_ = 0; + gint* _tmp107_ = NULL; + gint _tmp107__length1 = 0; + gint _tmp108_ = 0; + gint _tmp109_ = 0; + gint* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + gint _tmp111_ = 0; + Dimensions _tmp112_ = {0}; + gint _tmp113_ = 0; + gint _tmp114_ = 0; + gint _tmp115_ = 0; + Dimensions _tmp116_ = {0}; + gint _tmp117_ = 0; +#line 1698 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp106_ = total_width; +#line 1698 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp107_ = column_widths; +#line 1698 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp107__length1 = column_widths_length1; +#line 1698 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp108_ = col; +#line 1698 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp109_ = _tmp107_[_tmp108_]; +#line 1698 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + total_width = _tmp106_ - _tmp109_; +#line 1699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp110_ = column_widths; +#line 1699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp110__length1 = column_widths_length1; +#line 1699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp111_ = col; +#line 1699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp112_ = req; +#line 1699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp113_ = _tmp112_.width; +#line 1699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp110_[_tmp111_] = _tmp113_; +#line 1699 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp114_ = _tmp110_[_tmp111_]; +#line 1700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp115_ = total_width; +#line 1700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp116_ = req; +#line 1700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp117_ = _tmp116_.width; +#line 1700 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + total_width = _tmp115_ + _tmp117_; +#line 10044 "CheckerboardLayout.c" + } +#line 1703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp118_ = col; +#line 1703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp118_ + 1; +#line 1703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp119_ = col; +#line 1703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp120_ = max_cols; +#line 1703 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp119_ >= _tmp120_) { +#line 10056 "CheckerboardLayout.c" + gint* _tmp121_ = NULL; + gint _tmp121__length1 = 0; + gint _tmp122_ = 0; + gint _tmp123_ = 0; + gint _tmp124_ = 0; + gint* _tmp125_ = NULL; + gint _tmp125__length1 = 0; + gint _tmp126_ = 0; + gint _tmp127_ = 0; + gint _tmp128_ = 0; +#line 1704 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp121_ = alignment_points; +#line 1704 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp121__length1 = alignment_points_length1; +#line 1704 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp122_ = row; +#line 1704 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp123_ = row_alignment_point; +#line 1704 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp121_[_tmp122_] = _tmp123_; +#line 1704 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp124_ = _tmp121_[_tmp122_]; +#line 1705 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp125_ = row_heights; +#line 1705 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp125__length1 = row_heights_length1; +#line 1705 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp126_ = row; +#line 1705 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp126_ + 1; +#line 1705 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp127_ = tallest; +#line 1705 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp125_[_tmp126_] = _tmp127_; +#line 1705 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp128_ = _tmp125_[_tmp126_]; +#line 1707 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1708 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_alignment_point = 0; +#line 1709 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + tallest = 0; +#line 10099 "CheckerboardLayout.c" + } +#line 1678 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 10103 "CheckerboardLayout.c" + } + } + } +#line 1714 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp129_ = col; +#line 1714 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp129_ != 0) { +#line 10111 "CheckerboardLayout.c" + gint* _tmp130_ = NULL; + gint _tmp130__length1 = 0; + gint _tmp131_ = 0; + gint _tmp132_ = 0; + gint _tmp133_ = 0; + gint* _tmp134_ = NULL; + gint _tmp134__length1 = 0; + gint _tmp135_ = 0; + gint _tmp136_ = 0; + gint _tmp137_ = 0; +#line 1715 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp130_ = alignment_points; +#line 1715 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp130__length1 = alignment_points_length1; +#line 1715 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp131_ = row; +#line 1715 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp132_ = row_alignment_point; +#line 1715 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp130_[_tmp131_] = _tmp132_; +#line 1715 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp133_ = _tmp130_[_tmp131_]; +#line 1716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp134_ = row_heights; +#line 1716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp134__length1 = row_heights_length1; +#line 1716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp135_ = row; +#line 1716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp136_ = tallest; +#line 1716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp134_[_tmp135_] = _tmp136_; +#line 1716 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp137_ = _tmp134_[_tmp135_]; +#line 10146 "CheckerboardLayout.c" + } +#line 1721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp138_ = visible_width; +#line 1721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp139_ = total_width; +#line 1721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp140_ = max_cols; +#line 1721 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gutter = (_tmp138_ - _tmp139_) / (_tmp140_ + 1); +#line 1724 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp141_ = max_cols; +#line 1724 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp141_ == 1) { +#line 1725 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 10162 "CheckerboardLayout.c" + } +#line 1730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp142_ = gutter; +#line 1730 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp142_ < CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING) { +#line 10168 "CheckerboardLayout.c" + gint _tmp143_ = 0; + gint _tmp144_ = 0; + gint _tmp145_ = 0; + gint _tmp146_ = 0; + gint* _tmp147_ = NULL; + gint _tmp148_ = 0; + gint* _tmp149_ = NULL; + gint _tmp150_ = 0; + gint* _tmp151_ = NULL; +#line 1731 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp143_ = max_cols; +#line 1731 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_cols = _tmp143_ - 1; +#line 1732 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp144_ = total_items; +#line 1732 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp145_ = max_cols; +#line 1732 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + max_rows = (_tmp144_ / _tmp145_) + 1; +#line 1739 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1740 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = 0; +#line 1741 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + tallest = 0; +#line 1742 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + widest = 0; +#line 1743 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + total_width = 0; +#line 1744 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_alignment_point = 0; +#line 1745 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp146_ = max_cols; +#line 1745 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp147_ = g_new0 (gint, _tmp146_); +#line 1745 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + column_widths = (g_free (column_widths), NULL); +#line 1745 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + column_widths = _tmp147_; +#line 1745 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + column_widths_length1 = _tmp146_; +#line 1745 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _column_widths_size_ = column_widths_length1; +#line 1746 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp148_ = max_rows; +#line 1746 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp149_ = g_new0 (gint, _tmp148_); +#line 1746 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_heights = (g_free (row_heights), NULL); +#line 1746 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_heights = _tmp149_; +#line 1746 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_heights_length1 = _tmp148_; +#line 1746 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _row_heights_size_ = row_heights_length1; +#line 1747 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp150_ = max_rows; +#line 1747 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp151_ = g_new0 (gint, _tmp150_); +#line 1747 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + alignment_points = (g_free (alignment_points), NULL); +#line 1747 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + alignment_points = _tmp151_; +#line 1747 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + alignment_points_length1 = _tmp150_; +#line 1747 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _alignment_points_size_ = alignment_points_length1; +#line 10236 "CheckerboardLayout.c" + } else { +#line 1749 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 10240 "CheckerboardLayout.c" + } + } + } +#line 1761 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1762 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = 0; +#line 10248 "CheckerboardLayout.c" + { + gint ctr = 0; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ctr = 0; +#line 10253 "CheckerboardLayout.c" + { + gboolean _tmp152_ = FALSE; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp152_ = TRUE; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 10260 "CheckerboardLayout.c" + gint _tmp154_ = 0; + gint _tmp155_ = 0; + CheckerboardItem* item = NULL; + ViewCollection* _tmp156_ = NULL; + gint _tmp157_ = 0; + DataObject* _tmp158_ = NULL; + Dimensions req = {0}; + CheckerboardItem* _tmp159_ = NULL; + Dimensions _tmp160_ = {0}; + gint true_height = 0; + Dimensions _tmp161_ = {0}; + gint _tmp162_ = 0; + gint* _tmp163_ = NULL; + gint _tmp163__length1 = 0; + gint _tmp164_ = 0; + gint _tmp165_ = 0; + CheckerboardItem* _tmp166_ = NULL; + gint _tmp167_ = 0; + gint _tmp168_ = 0; + Dimensions _tmp169_ = {0}; + gint _tmp170_ = 0; + gint _tmp171_ = 0; + gint* _tmp172_ = NULL; + gint _tmp172__length1 = 0; + gint _tmp173_ = 0; + gint _tmp174_ = 0; + gint _tmp179_ = 0; + gint _tmp180_ = 0; + gint _tmp181_ = 0; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp152_) { +#line 10292 "CheckerboardLayout.c" + gint _tmp153_ = 0; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp153_ = ctr; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ctr = _tmp153_ + 1; +#line 10298 "CheckerboardLayout.c" + } +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp152_ = FALSE; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp154_ = ctr; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp155_ = total_items; +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp154_ < _tmp155_)) { +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 10310 "CheckerboardLayout.c" + } +#line 1765 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp156_ = self->priv->view; +#line 1765 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp157_ = ctr; +#line 1765 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp158_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp156_, TYPE_DATA_COLLECTION, DataCollection), _tmp157_); +#line 1765 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = G_TYPE_CHECK_INSTANCE_CAST (_tmp158_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1766 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp159_ = item; +#line 1766 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp160_ = _tmp159_->requisition; +#line 1766 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + req = _tmp160_; +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp161_ = req; +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp162_ = _tmp161_.height; +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp163_ = alignment_points; +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp163__length1 = alignment_points_length1; +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp164_ = row; +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp165_ = _tmp163_[_tmp164_]; +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp166_ = item; +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp167_ = checkerboard_item_get_alignment_point (_tmp166_); +#line 1771 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + true_height = _tmp162_ + (_tmp165_ - _tmp167_); +#line 1772 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp168_ = true_height; +#line 1772 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp169_ = req; +#line 1772 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp170_ = _tmp169_.height; +#line 1772 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp168_ >= _tmp170_, "true_height >= req.height"); +#line 1775 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp171_ = true_height; +#line 1775 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp172_ = row_heights; +#line 1775 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp172__length1 = row_heights_length1; +#line 1775 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp173_ = row; +#line 1775 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp174_ = _tmp172_[_tmp173_]; +#line 1775 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp171_ > _tmp174_) { +#line 10364 "CheckerboardLayout.c" + gint* _tmp175_ = NULL; + gint _tmp175__length1 = 0; + gint _tmp176_ = 0; + gint _tmp177_ = 0; + gint _tmp178_ = 0; +#line 1780 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp175_ = row_heights; +#line 1780 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp175__length1 = row_heights_length1; +#line 1780 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp176_ = row; +#line 1780 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp177_ = true_height; +#line 1780 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp175_[_tmp176_] = _tmp177_; +#line 1780 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp178_ = _tmp175_[_tmp176_]; +#line 10382 "CheckerboardLayout.c" + } +#line 1784 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp179_ = col; +#line 1784 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp179_ + 1; +#line 1784 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp180_ = col; +#line 1784 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp181_ = max_cols; +#line 1784 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp180_ >= _tmp181_) { +#line 10394 "CheckerboardLayout.c" + gint _tmp182_ = 0; +#line 1785 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1786 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp182_ = row; +#line 1786 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp182_ + 1; +#line 10402 "CheckerboardLayout.c" + } +#line 1764 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 10406 "CheckerboardLayout.c" + } + } + } +#line 1791 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp183_ = max_rows; +#line 1791 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp184_ = g_new0 (CheckerboardLayoutLayoutRow*, _tmp183_ + 1); +#line 1791 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = (_vala_array_free (self->priv->item_rows, self->priv->item_rows_length1, (GDestroyNotify) checkerboard_layout_layout_row_unref), NULL); +#line 1791 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = _tmp184_; +#line 1791 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows_length1 = _tmp183_; +#line 1791 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->_item_rows_size_ = self->priv->item_rows_length1; +#line 1794 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp185_ = gutter; +#line 1794 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = _tmp185_; +#line 1795 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = CHECKERBOARD_LAYOUT_TOP_PADDING; +#line 1796 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1797 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = 0; +#line 1798 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + current_row = NULL; +#line 10434 "CheckerboardLayout.c" + { + gint ctr = 0; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ctr = 0; +#line 10439 "CheckerboardLayout.c" + { + gboolean _tmp186_ = FALSE; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp186_ = TRUE; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 10446 "CheckerboardLayout.c" + gint _tmp188_ = 0; + gint _tmp189_ = 0; + CheckerboardItem* item = NULL; + ViewCollection* _tmp190_ = NULL; + gint _tmp191_ = 0; + DataObject* _tmp192_ = NULL; + Dimensions req = {0}; + CheckerboardItem* _tmp193_ = NULL; + Dimensions _tmp194_ = {0}; + gint xpadding = 0; + gint* _tmp195_ = NULL; + gint _tmp195__length1 = 0; + gint _tmp196_ = 0; + gint _tmp197_ = 0; + Dimensions _tmp198_ = {0}; + gint _tmp199_ = 0; + gint _tmp200_ = 0; + gint ypadding = 0; + gint* _tmp201_ = NULL; + gint _tmp201__length1 = 0; + gint _tmp202_ = 0; + gint _tmp203_ = 0; + CheckerboardItem* _tmp204_ = NULL; + gint _tmp205_ = 0; + gint _tmp206_ = 0; + CheckerboardItem* _tmp207_ = NULL; + gint _tmp208_ = 0; + gint _tmp209_ = 0; + CheckerboardItem* _tmp210_ = NULL; + gint _tmp211_ = 0; + gint _tmp212_ = 0; + CheckerboardItem* _tmp213_ = NULL; + Dimensions _tmp214_ = {0}; + gint _tmp215_ = 0; + CheckerboardItem* _tmp216_ = NULL; + Dimensions _tmp217_ = {0}; + gint _tmp218_ = 0; + CheckerboardItem* _tmp219_ = NULL; + gint _tmp220_ = 0; + gint _tmp221_ = 0; + CheckerboardLayoutLayoutRow* _tmp222_ = NULL; + CheckerboardLayoutLayoutRow* _tmp229_ = NULL; + CheckerboardItem** _tmp230_ = NULL; + gint _tmp230__length1 = 0; + gint _tmp231_ = 0; + CheckerboardItem* _tmp232_ = NULL; + CheckerboardItem* _tmp233_ = NULL; + CheckerboardItem* _tmp234_ = NULL; + gint _tmp235_ = 0; + gint* _tmp236_ = NULL; + gint _tmp236__length1 = 0; + gint _tmp237_ = 0; + gint _tmp238_ = 0; + gint _tmp239_ = 0; + gint _tmp240_ = 0; + gint _tmp241_ = 0; + gint _tmp242_ = 0; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp186_) { +#line 10506 "CheckerboardLayout.c" + gint _tmp187_ = 0; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp187_ = ctr; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ctr = _tmp187_ + 1; +#line 10512 "CheckerboardLayout.c" + } +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp186_ = FALSE; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp188_ = ctr; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp189_ = total_items; +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp188_ < _tmp189_)) { +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 10524 "CheckerboardLayout.c" + } +#line 1801 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp190_ = self->priv->view; +#line 1801 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp191_ = ctr; +#line 1801 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp192_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp190_, TYPE_DATA_COLLECTION, DataCollection), _tmp191_); +#line 1801 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = G_TYPE_CHECK_INSTANCE_CAST (_tmp192_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp193_ = item; +#line 1802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp194_ = _tmp193_->requisition; +#line 1802 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + req = _tmp194_; +#line 1805 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp195_ = column_widths; +#line 1805 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp195__length1 = column_widths_length1; +#line 1805 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp196_ = col; +#line 1805 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp197_ = _tmp195_[_tmp196_]; +#line 1805 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp198_ = req; +#line 1805 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp199_ = _tmp198_.width; +#line 1805 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + xpadding = (_tmp197_ - _tmp199_) / 2; +#line 1806 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp200_ = xpadding; +#line 1806 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp200_ >= 0, "xpadding >= 0"); +#line 1809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp201_ = alignment_points; +#line 1809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp201__length1 = alignment_points_length1; +#line 1809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp202_ = row; +#line 1809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp203_ = _tmp201_[_tmp202_]; +#line 1809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp204_ = item; +#line 1809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp205_ = checkerboard_item_get_alignment_point (_tmp204_); +#line 1809 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ypadding = _tmp203_ - _tmp205_; +#line 1810 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp206_ = ypadding; +#line 1810 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp206_ >= 0, "ypadding >= 0"); +#line 1813 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp207_ = item; +#line 1813 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp208_ = x; +#line 1813 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp209_ = xpadding; +#line 1813 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp207_->allocation.x = _tmp208_ + _tmp209_; +#line 1814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp210_ = item; +#line 1814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp211_ = y; +#line 1814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp212_ = ypadding; +#line 1814 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp210_->allocation.y = _tmp211_ + _tmp212_; +#line 1815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp213_ = item; +#line 1815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp214_ = req; +#line 1815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp215_ = _tmp214_.width; +#line 1815 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp213_->allocation.width = _tmp215_; +#line 1816 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp216_ = item; +#line 1816 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp217_ = req; +#line 1816 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp218_ = _tmp217_.height; +#line 1816 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp216_->allocation.height = _tmp218_; +#line 1817 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp219_ = item; +#line 1817 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp220_ = col; +#line 1817 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp221_ = row; +#line 1817 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_set_grid_coordinates (_tmp219_, _tmp220_, _tmp221_); +#line 1820 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp222_ = current_row; +#line 1820 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp222_ == NULL) { +#line 10620 "CheckerboardLayout.c" + gint _tmp223_ = 0; + gint* _tmp224_ = NULL; + gint _tmp224__length1 = 0; + gint _tmp225_ = 0; + gint _tmp226_ = 0; + gint _tmp227_ = 0; + CheckerboardLayoutLayoutRow* _tmp228_ = NULL; +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp223_ = y; +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp224_ = row_heights; +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp224__length1 = row_heights_length1; +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp225_ = row; +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp226_ = _tmp224_[_tmp225_]; +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp227_ = max_cols; +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp228_ = checkerboard_layout_layout_row_new (_tmp223_, _tmp226_, _tmp227_); +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (current_row); +#line 1821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + current_row = _tmp228_; +#line 10646 "CheckerboardLayout.c" + } +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp229_ = current_row; +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp230_ = _tmp229_->items; +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp230__length1 = _tmp229_->items_length1; +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp231_ = col; +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp232_ = item; +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp233_ = _g_object_ref0 (_tmp232_); +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp230_[_tmp231_]); +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp230_[_tmp231_] = _tmp233_; +#line 1823 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp234_ = _tmp230_[_tmp231_]; +#line 1825 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp235_ = x; +#line 1825 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp236_ = column_widths; +#line 1825 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp236__length1 = column_widths_length1; +#line 1825 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp237_ = col; +#line 1825 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp238_ = _tmp236_[_tmp237_]; +#line 1825 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp239_ = gutter; +#line 1825 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = _tmp235_ + (_tmp238_ + _tmp239_); +#line 1828 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp240_ = col; +#line 1828 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = _tmp240_ + 1; +#line 1828 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp241_ = col; +#line 1828 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp242_ = max_cols; +#line 1828 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp241_ >= _tmp242_) { +#line 10690 "CheckerboardLayout.c" + CheckerboardLayoutLayoutRow* _tmp243_ = NULL; + CheckerboardLayoutLayoutRow** _tmp244_ = NULL; + gint _tmp244__length1 = 0; + gint _tmp245_ = 0; + CheckerboardLayoutLayoutRow* _tmp246_ = NULL; + CheckerboardLayoutLayoutRow* _tmp247_ = NULL; + CheckerboardLayoutLayoutRow* _tmp248_ = NULL; + gint _tmp249_ = 0; + gint _tmp250_ = 0; + gint* _tmp251_ = NULL; + gint _tmp251__length1 = 0; + gint _tmp252_ = 0; + gint _tmp253_ = 0; + gint _tmp254_ = 0; +#line 1829 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp243_ = current_row; +#line 1829 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp243_ != NULL, "current_row != null"); +#line 1830 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp244_ = self->priv->item_rows; +#line 1830 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp244__length1 = self->priv->item_rows_length1; +#line 1830 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp245_ = row; +#line 1830 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp246_ = current_row; +#line 1830 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp247_ = _checkerboard_layout_layout_row_ref0 (_tmp246_); +#line 1830 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (_tmp244_[_tmp245_]); +#line 1830 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp244_[_tmp245_] = _tmp247_; +#line 1830 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp248_ = _tmp244_[_tmp245_]; +#line 1831 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (current_row); +#line 1831 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + current_row = NULL; +#line 1833 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp249_ = gutter; +#line 1833 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = _tmp249_; +#line 1834 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp250_ = y; +#line 1834 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp251_ = row_heights; +#line 1834 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp251__length1 = row_heights_length1; +#line 1834 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp252_ = row; +#line 1834 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp253_ = _tmp251_[_tmp252_]; +#line 1834 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = _tmp250_ + (_tmp253_ + CHECKERBOARD_LAYOUT_ROW_GUTTER_PADDING); +#line 1835 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + col = 0; +#line 1836 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp254_ = row; +#line 1836 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row = _tmp254_ + 1; +#line 10751 "CheckerboardLayout.c" + } +#line 1800 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 10755 "CheckerboardLayout.c" + } + } + } +#line 1841 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp255_ = current_row; +#line 1841 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp255_ != NULL) { +#line 10763 "CheckerboardLayout.c" + CheckerboardLayoutLayoutRow** _tmp256_ = NULL; + gint _tmp256__length1 = 0; + gint _tmp257_ = 0; + CheckerboardLayoutLayoutRow* _tmp258_ = NULL; + CheckerboardLayoutLayoutRow* _tmp259_ = NULL; + CheckerboardLayoutLayoutRow* _tmp260_ = NULL; +#line 1842 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp256_ = self->priv->item_rows; +#line 1842 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp256__length1 = self->priv->item_rows_length1; +#line 1842 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp257_ = row; +#line 1842 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp258_ = current_row; +#line 1842 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp259_ = _checkerboard_layout_layout_row_ref0 (_tmp258_); +#line 1842 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (_tmp256_[_tmp257_]); +#line 1842 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp256_[_tmp257_] = _tmp259_; +#line 1842 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp260_ = _tmp256_[_tmp257_]; +#line 10786 "CheckerboardLayout.c" + } +#line 1845 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp261_ = max_cols; +#line 1845 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->columns = _tmp261_; +#line 1846 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp262_ = row; +#line 1846 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->rows = _tmp262_ + 1; +#line 1847 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp263_ = self->priv->rows; +#line 1847 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp264_ = max_rows; +#line 1847 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp263_ == _tmp264_, "rows == max_rows"); +#line 1851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp265_ = y; +#line 1851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp266_ = row_heights; +#line 1851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp266__length1 = row_heights_length1; +#line 1851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp267_ = row; +#line 1851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp268_ = _tmp266_[_tmp267_]; +#line 1851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + total_height = (_tmp265_ + _tmp268_) + CHECKERBOARD_LAYOUT_BOTTOM_PADDING; +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp270_ = visible_width; +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp271_ = allocation; +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp272_ = _tmp271_.width; +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp270_ != _tmp272_) { +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp269_ = TRUE; +#line 10824 "CheckerboardLayout.c" + } else { + gint _tmp273_ = 0; + GtkAllocation _tmp274_ = {0}; + gint _tmp275_ = 0; +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp273_ = total_height; +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp274_ = allocation; +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp275_ = _tmp274_.height; +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp269_ = _tmp273_ != _tmp275_; +#line 10837 "CheckerboardLayout.c" + } +#line 1852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp269_) { +#line 10841 "CheckerboardLayout.c" + gint _tmp276_ = 0; + gint _tmp277_ = 0; + gint _tmp278_ = 0; +#line 1857 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp276_ = visible_width; +#line 1857 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp277_ = total_height; +#line 1857 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp276_, _tmp277_); +#line 1858 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->size_allocate_due_to_reflow = TRUE; +#line 1861 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp278_ = total_height; +#line 1861 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_center_on_anchor (self, (gdouble) _tmp278_); +#line 10857 "CheckerboardLayout.c" + } +#line 1548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _checkerboard_layout_layout_row_unref0 (current_row); +#line 1548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + alignment_points = (g_free (alignment_points), NULL); +#line 1548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + row_heights = (g_free (row_heights), NULL); +#line 1548 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + column_widths = (g_free (column_widths), NULL); +#line 10867 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_items_dirty (CheckerboardLayout* self, const gchar* reason, GeeIterable* items) { + GdkRectangle dirty = {0}; + gboolean _tmp35_ = FALSE; + GdkRectangle _tmp36_ = {0}; + gint _tmp37_ = 0; +#line 1865 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1865 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (reason != NULL); +#line 1865 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (GEE_IS_ITERABLE (items)); +#line 1866 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&dirty, 0, sizeof (GdkRectangle)); +#line 10884 "CheckerboardLayout.c" + { + GeeIterator* _data_view_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = items; +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _data_view_it = _tmp1_; +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 10897 "CheckerboardLayout.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataView* data_view = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + CheckerboardItem* item = NULL; + DataView* _tmp6_ = NULL; + CheckerboardItem* _tmp7_ = NULL; + CheckerboardItem* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + ViewCollection* _tmp10_ = NULL; + CheckerboardItem* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + CheckerboardItem* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkRectangle intersection = {0}; + CheckerboardItem* _tmp23_ = NULL; + GdkRectangle _tmp24_ = {0}; + GdkRectangle _tmp25_ = {0}; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + GdkRectangle _tmp28_ = {0}; + gint _tmp29_ = 0; +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _data_view_it; +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp3_) { +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 10931 "CheckerboardLayout.c" + } +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _data_view_it; +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + data_view = (DataView*) _tmp5_; +#line 1868 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = data_view; +#line 1868 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1868 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = _tmp7_; +#line 1870 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = item; +#line 1870 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = data_view_is_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_VIEW, DataView)); +#line 1870 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp9_) { +#line 1871 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 1871 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (data_view); +#line 1871 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + continue; +#line 10957 "CheckerboardLayout.c" + } +#line 1873 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = self->priv->view; +#line 1873 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = item; +#line 1873 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = data_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_OBJECT, DataObject)); +#line 1873 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _vala_assert (_tmp12_, "view.contains(item)"); +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = item; +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = _tmp14_->allocation; +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = _tmp15_.width; +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp16_ <= 0) { +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = TRUE; +#line 10977 "CheckerboardLayout.c" + } else { + CheckerboardItem* _tmp17_ = NULL; + GdkRectangle _tmp18_ = {0}; + gint _tmp19_ = 0; +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = item; +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = _tmp17_->allocation; +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = _tmp18_.height; +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp19_ <= 0; +#line 10990 "CheckerboardLayout.c" + } +#line 1877 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp13_) { +#line 10994 "CheckerboardLayout.c" + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 1878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = reason; +#line 1878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = g_strdup_printf ("items_dirty: %s", _tmp20_); +#line 1878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = _tmp21_; +#line 1878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_need_reflow (self, _tmp22_); +#line 1878 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (_tmp22_); +#line 1880 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 1880 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (data_view); +#line 1880 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_data_view_it); +#line 1880 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 11016 "CheckerboardLayout.c" + } +#line 1884 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&intersection, 0, sizeof (GdkRectangle)); +#line 1885 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = item; +#line 1885 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = _tmp23_->allocation; +#line 1885 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = gdk_rectangle_intersect (&self->priv->visible_page, &_tmp24_, &_tmp25_); +#line 1885 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + intersection = _tmp25_; +#line 1885 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!_tmp26_) { +#line 1886 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 1886 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (data_view); +#line 1886 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + continue; +#line 11036 "CheckerboardLayout.c" + } +#line 1889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = dirty; +#line 1889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = _tmp28_.width; +#line 1889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp29_ == 0) { +#line 1889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = TRUE; +#line 11046 "CheckerboardLayout.c" + } else { + GdkRectangle _tmp30_ = {0}; + gint _tmp31_ = 0; +#line 1889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = dirty; +#line 1889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = _tmp30_.height; +#line 1889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = _tmp31_ == 0; +#line 11056 "CheckerboardLayout.c" + } +#line 1889 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp27_) { +#line 11060 "CheckerboardLayout.c" + GdkRectangle _tmp32_ = {0}; +#line 1890 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = intersection; +#line 1890 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dirty = _tmp32_; +#line 11066 "CheckerboardLayout.c" + } else { + GdkRectangle _tmp33_ = {0}; + GdkRectangle _tmp34_ = {0}; +#line 1892 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = intersection; +#line 1892 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gdk_rectangle_union (&dirty, &_tmp33_, &_tmp34_); +#line 1892 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dirty = _tmp34_; +#line 11076 "CheckerboardLayout.c" + } +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (data_view); +#line 11082 "CheckerboardLayout.c" + } +#line 1867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_data_view_it); +#line 11086 "CheckerboardLayout.c" + } +#line 1895 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = dirty; +#line 1895 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = _tmp36_.width; +#line 1895 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp37_ > 0) { +#line 11094 "CheckerboardLayout.c" + GdkRectangle _tmp38_ = {0}; + gint _tmp39_ = 0; +#line 1895 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = dirty; +#line 1895 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = _tmp38_.height; +#line 1895 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = _tmp39_ > 0; +#line 11103 "CheckerboardLayout.c" + } else { +#line 1895 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = FALSE; +#line 11107 "CheckerboardLayout.c" + } +#line 1895 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp35_) { +#line 11111 "CheckerboardLayout.c" + GdkRectangle _tmp40_ = {0}; + gint _tmp41_ = 0; + GdkRectangle _tmp42_ = {0}; + gint _tmp43_ = 0; + GdkRectangle _tmp44_ = {0}; + gint _tmp45_ = 0; + GdkRectangle _tmp46_ = {0}; + gint _tmp47_ = 0; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = dirty; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = _tmp40_.x; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = dirty; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = _tmp42_.y; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = dirty; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = _tmp44_.width; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = dirty; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = _tmp46_.height; +#line 1900 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_queue_draw_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp41_, _tmp43_, _tmp45_, _tmp47_); +#line 11138 "CheckerboardLayout.c" + } +} + + +static void checkerboard_layout_real_map (GtkWidget* base) { + CheckerboardLayout * self; +#line 1904 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout); +#line 1905 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + GTK_WIDGET_CLASS (checkerboard_layout_parent_class)->map (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_drawing_area_get_type (), GtkDrawingArea), gtk_widget_get_type (), GtkWidget)); +#line 1907 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_set_colors (self, TRUE); +#line 11151 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_set_colors (CheckerboardLayout* self, gboolean in_focus) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GdkRGBA _tmp3_ = {0}; + ConfigFacade* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + GdkRGBA _tmp6_ = {0}; + ConfigFacade* _tmp7_ = NULL; + ConfigFacade* _tmp8_ = NULL; + GdkRGBA _tmp9_ = {0}; + GtkStyleContext* _tmp10_ = NULL; + GdkRGBA _tmp11_ = {0}; +#line 1910 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = config_facade_get_instance (); +#line 1912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_; +#line 1912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = in_focus; +#line 1912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + config_facade_get_selected_color (_tmp1_, _tmp2_, &_tmp3_); +#line 1912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->selected_color = _tmp3_; +#line 1912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp1_); +#line 1913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = config_facade_get_instance (); +#line 1913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _tmp4_; +#line 1913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + config_facade_get_unselected_color (_tmp5_, &_tmp6_); +#line 1913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->unselected_color = _tmp6_; +#line 1913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp5_); +#line 1914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = config_facade_get_instance (); +#line 1914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = _tmp7_; +#line 1914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + config_facade_get_border_color (_tmp8_, &_tmp9_); +#line 1914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->border_color = _tmp9_; +#line 1914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp8_); +#line 1915 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1915 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_style_context_get_background_color (_tmp10_, GTK_STATE_FLAG_NORMAL, &_tmp11_); +#line 1915 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->bg_color = _tmp11_; +#line 11208 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_real_size_allocate (GtkWidget* base, GtkAllocation* allocation) { + CheckerboardLayout * self; + GtkAllocation _tmp0_ = {0}; +#line 1918 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout); +#line 1918 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (allocation != NULL); +#line 1919 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = *allocation; +#line 1919 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + GTK_WIDGET_CLASS (checkerboard_layout_parent_class)->size_allocate (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_drawing_area_get_type (), GtkDrawingArea), gtk_widget_get_type (), GtkWidget), &_tmp0_); +#line 1921 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_viewport_resized (self); +#line 11225 "CheckerboardLayout.c" +} + + +static gboolean checkerboard_layout_real_draw (GtkWidget* base, cairo_t* ctx) { + CheckerboardLayout * self; + gboolean result = FALSE; + GtkAllocation allocation = {0}; + GtkAllocation _tmp0_ = {0}; + GtkStyleContext* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + GtkAllocation _tmp3_ = {0}; + gint _tmp4_ = 0; + GtkAllocation _tmp5_ = {0}; + gint _tmp6_ = 0; + const gchar* _tmp7_ = NULL; + gboolean _tmp60_ = FALSE; + gboolean _result_ = FALSE; + cairo_t* _tmp63_ = NULL; +#line 1924 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout); +#line 1924 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (ctx != NULL, FALSE); +#line 1933 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp0_); +#line 1933 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + allocation = _tmp0_; +#line 1934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = ctx; +#line 1934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = allocation; +#line 1934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_.width; +#line 1934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = allocation; +#line 1934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = _tmp5_.height; +#line 1934 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_render_background (_tmp1_, _tmp2_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp4_, (gdouble) _tmp6_); +#line 1937 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = self->priv->message; +#line 1937 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp7_ == NULL) { +#line 11270 "CheckerboardLayout.c" + gboolean _tmp8_ = FALSE; +#line 1942 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = self->priv->exposure_dirty; +#line 1942 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp8_) { +#line 1943 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_expose_items (self, "draw"); +#line 11278 "CheckerboardLayout.c" + } + { + GeeList* _item_list = NULL; + GdkRectangle _tmp9_ = {0}; + GeeList* _tmp10_ = NULL; + gint _item_size = 0; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _item_index = 0; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->visible_page; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = checkerboard_layout_intersection (self, &_tmp9_); +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_list = _tmp10_; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = _item_list; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp12_; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_size = _tmp13_; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_index = -1; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + while (TRUE) { +#line 11307 "CheckerboardLayout.c" + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + CheckerboardItem* item = NULL; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gpointer _tmp19_ = NULL; + GdkRGBA _tmp20_ = {0}; + CheckerboardItem* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + CheckerboardItem* _tmp25_ = NULL; + cairo_t* _tmp26_ = NULL; + GdkRGBA _tmp27_ = {0}; + GdkRGBA _tmp28_ = {0}; + GdkRGBA _tmp29_ = {0}; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = _item_index; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _item_index = _tmp14_ + 1; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = _item_index; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = _item_size; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!(_tmp15_ < _tmp16_)) { +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + break; +#line 11335 "CheckerboardLayout.c" + } +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = _item_list; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = _item_index; +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = gee_list_get (_tmp17_, _tmp18_); +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = (CheckerboardItem*) _tmp19_; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = item; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = data_view_is_selected (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_VIEW, DataView)); +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp22_) { +#line 11351 "CheckerboardLayout.c" + GdkRGBA _tmp23_ = {0}; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = self->priv->selected_color; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = _tmp23_; +#line 11357 "CheckerboardLayout.c" + } else { + GdkRGBA _tmp24_ = {0}; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = self->priv->unselected_color; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = _tmp24_; +#line 11364 "CheckerboardLayout.c" + } +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = item; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = ctx; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = self->priv->bg_color; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = self->priv->unselected_color; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = self->priv->border_color; +#line 1947 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_item_paint (_tmp25_, _tmp26_, &_tmp27_, &_tmp20_, &_tmp28_, &_tmp29_); +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 11380 "CheckerboardLayout.c" + } +#line 1946 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_item_list); +#line 11384 "CheckerboardLayout.c" + } + } else { + PangoLayout* pango_layout = NULL; + const gchar* _tmp30_ = NULL; + PangoLayout* _tmp31_ = NULL; + gint text_width = 0; + gint text_height = 0; + PangoLayout* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + GtkAllocation _tmp35_ = {0}; + gint x = 0; + GtkAllocation _tmp36_ = {0}; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint y = 0; + GtkAllocation _tmp42_ = {0}; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + cairo_t* _tmp48_ = NULL; + GdkRGBA _tmp49_ = {0}; + gdouble _tmp50_ = 0.0; + GdkRGBA _tmp51_ = {0}; + gdouble _tmp52_ = 0.0; + GdkRGBA _tmp53_ = {0}; + gdouble _tmp54_ = 0.0; + cairo_t* _tmp55_ = NULL; + gint _tmp56_ = 0; + gint _tmp57_ = 0; + cairo_t* _tmp58_ = NULL; + PangoLayout* _tmp59_ = NULL; +#line 1952 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = self->priv->message; +#line 1952 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = gtk_widget_create_pango_layout (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp30_); +#line 1952 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_layout = _tmp31_; +#line 1954 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = pango_layout; +#line 1954 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_layout_get_pixel_size (_tmp32_, &_tmp33_, &_tmp34_); +#line 1954 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + text_width = _tmp33_; +#line 1954 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + text_height = _tmp34_; +#line 1956 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp35_); +#line 1956 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + allocation = _tmp35_; +#line 1958 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = allocation; +#line 1958 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = _tmp36_.width; +#line 1958 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = text_width; +#line 1958 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = _tmp37_ - _tmp38_; +#line 1959 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = x; +#line 1959 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp40_ > 0) { +#line 11450 "CheckerboardLayout.c" + gint _tmp41_ = 0; +#line 1959 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = x; +#line 1959 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = _tmp41_ / 2; +#line 11456 "CheckerboardLayout.c" + } else { +#line 1959 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = 0; +#line 11460 "CheckerboardLayout.c" + } +#line 1959 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + x = _tmp39_; +#line 1961 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = allocation; +#line 1961 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = _tmp42_.height; +#line 1961 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = text_height; +#line 1961 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = _tmp43_ - _tmp44_; +#line 1962 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = y; +#line 1962 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp46_ > 0) { +#line 11476 "CheckerboardLayout.c" + gint _tmp47_ = 0; +#line 1962 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = y; +#line 1962 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = _tmp47_ / 2; +#line 11482 "CheckerboardLayout.c" + } else { +#line 1962 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = 0; +#line 11486 "CheckerboardLayout.c" + } +#line 1962 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + y = _tmp45_; +#line 1964 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp48_ = ctx; +#line 1964 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp49_ = self->priv->unselected_color; +#line 1964 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp50_ = _tmp49_.red; +#line 1964 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp51_ = self->priv->unselected_color; +#line 1964 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp52_ = _tmp51_.green; +#line 1964 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp53_ = self->priv->unselected_color; +#line 1964 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp54_ = _tmp53_.blue; +#line 1964 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgb (_tmp48_, _tmp50_, _tmp52_, _tmp54_); +#line 1965 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp55_ = ctx; +#line 1965 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp56_ = x; +#line 1965 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp57_ = y; +#line 1965 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_move_to (_tmp55_, (gdouble) _tmp56_, (gdouble) _tmp57_); +#line 1966 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp58_ = ctx; +#line 1966 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp59_ = pango_layout; +#line 1966 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + pango_cairo_show_layout (_tmp58_, _tmp59_); +#line 1937 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (pango_layout); +#line 11522 "CheckerboardLayout.c" + } +#line 1969 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (GTK_WIDGET_CLASS (checkerboard_layout_parent_class)->draw != NULL) { +#line 11526 "CheckerboardLayout.c" + cairo_t* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; +#line 1969 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp61_ = ctx; +#line 1969 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp62_ = GTK_WIDGET_CLASS (checkerboard_layout_parent_class)->draw (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_drawing_area_get_type (), GtkDrawingArea), gtk_widget_get_type (), GtkWidget), _tmp61_); +#line 1969 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp60_ = _tmp62_; +#line 11535 "CheckerboardLayout.c" + } else { +#line 1969 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp60_ = TRUE; +#line 11539 "CheckerboardLayout.c" + } +#line 1969 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _result_ = _tmp60_; +#line 1972 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp63_ = ctx; +#line 1972 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_draw_selection_band (self, _tmp63_); +#line 1974 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _result_; +#line 1974 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 11551 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_draw_selection_band (CheckerboardLayout* self, cairo_t* ctx) { + gboolean _tmp0_ = FALSE; + GdkRectangle _tmp1_ = {0}; + gint _tmp2_ = 0; + gboolean _tmp5_ = FALSE; + GtkAdjustment* _tmp6_ = NULL; + GdkRectangle visible_page = {0}; + GtkAdjustment* _tmp8_ = NULL; + GtkAdjustment* _tmp9_ = NULL; + GdkRectangle _tmp10_ = {0}; + GdkRectangle visible_band = {0}; + GdkRectangle _tmp11_ = {0}; + GdkRectangle _tmp12_ = {0}; + gboolean _tmp13_ = FALSE; + GdkRectangle _tmp14_ = {0}; + gint _tmp15_ = 0; + cairo_t* _tmp35_ = NULL; + cairo_t* _tmp36_ = NULL; + cairo_t* _tmp37_ = NULL; + GdkRGBA _tmp38_ = {0}; + gdouble _tmp39_ = 0.0; + GdkRGBA _tmp40_ = {0}; + gdouble _tmp41_ = 0.0; + GdkRGBA _tmp42_ = {0}; + gdouble _tmp43_ = 0.0; + cairo_t* _tmp44_ = NULL; + GdkRectangle _tmp45_ = {0}; + gint _tmp46_ = 0; + GdkRectangle _tmp47_ = {0}; + gint _tmp48_ = 0; + GdkRectangle _tmp49_ = {0}; + gint _tmp50_ = 0; + GdkRectangle _tmp51_ = {0}; + gint _tmp52_ = 0; + cairo_t* _tmp53_ = NULL; +#line 1977 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 1977 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (ctx != NULL); +#line 1979 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = self->priv->selection_band; +#line 1979 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp1_.width; +#line 1979 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp2_ <= 1) { +#line 1979 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = TRUE; +#line 11602 "CheckerboardLayout.c" + } else { + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; +#line 1979 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = self->priv->selection_band; +#line 1979 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = _tmp3_.height; +#line 1979 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = _tmp4_ <= 1; +#line 11612 "CheckerboardLayout.c" + } +#line 1979 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp0_) { +#line 1980 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 11618 "CheckerboardLayout.c" + } +#line 1983 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = self->priv->hadjustment; +#line 1983 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp6_ == NULL) { +#line 1983 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = TRUE; +#line 11626 "CheckerboardLayout.c" + } else { + GtkAdjustment* _tmp7_ = NULL; +#line 1983 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = self->priv->vadjustment; +#line 1983 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = _tmp7_ == NULL; +#line 11633 "CheckerboardLayout.c" + } +#line 1983 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp5_) { +#line 1984 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return; +#line 11639 "CheckerboardLayout.c" + } +#line 1987 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = self->priv->hadjustment; +#line 1987 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = self->priv->vadjustment; +#line 1987 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + get_adjustment_page (_tmp8_, _tmp9_, &_tmp10_); +#line 1987 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + visible_page = _tmp10_; +#line 1988 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&visible_band, 0, sizeof (GdkRectangle)); +#line 1989 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp11_ = self->priv->selection_band; +#line 1989 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gdk_rectangle_intersect (&visible_page, &_tmp11_, &_tmp12_); +#line 1989 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + visible_band = _tmp12_; +#line 1992 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = visible_band; +#line 1992 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp15_ = _tmp14_.width; +#line 1992 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp15_ > 1) { +#line 11663 "CheckerboardLayout.c" + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; +#line 1992 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = visible_band; +#line 1992 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp17_ = _tmp16_.height; +#line 1992 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = _tmp17_ > 1; +#line 11672 "CheckerboardLayout.c" + } else { +#line 1992 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp13_ = FALSE; +#line 11676 "CheckerboardLayout.c" + } +#line 1992 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp13_) { +#line 11680 "CheckerboardLayout.c" + cairo_t* _tmp18_ = NULL; + GdkRGBA _tmp19_ = {0}; + gdouble _tmp20_ = 0.0; + GdkRGBA _tmp21_ = {0}; + gdouble _tmp22_ = 0.0; + GdkRGBA _tmp23_ = {0}; + gdouble _tmp24_ = 0.0; + cairo_t* _tmp25_ = NULL; + GdkRectangle _tmp26_ = {0}; + gint _tmp27_ = 0; + GdkRectangle _tmp28_ = {0}; + gint _tmp29_ = 0; + GdkRectangle _tmp30_ = {0}; + gint _tmp31_ = 0; + GdkRectangle _tmp32_ = {0}; + gint _tmp33_ = 0; + cairo_t* _tmp34_ = NULL; +#line 1993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = ctx; +#line 1993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = self->priv->selected_color; +#line 1993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp20_ = _tmp19_.red; +#line 1993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = self->priv->selected_color; +#line 1993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = _tmp21_.green; +#line 1993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp23_ = self->priv->selected_color; +#line 1993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = _tmp23_.blue; +#line 1993 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgba (_tmp18_, _tmp20_, _tmp22_, _tmp24_, CHECKERBOARD_LAYOUT_SELECTION_ALPHA); +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = ctx; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = visible_band; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = _tmp26_.x; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp28_ = visible_band; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = _tmp28_.y; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = visible_band; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp31_ = _tmp30_.width; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp32_ = visible_band; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp33_ = _tmp32_.height; +#line 1995 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp25_, (gdouble) _tmp27_, (gdouble) _tmp29_, (gdouble) _tmp31_, (gdouble) _tmp33_); +#line 1997 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp34_ = ctx; +#line 1997 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_fill (_tmp34_); +#line 11738 "CheckerboardLayout.c" + } +#line 2003 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp35_ = ctx; +#line 2003 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_line_width (_tmp35_, 1.0); +#line 2004 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp36_ = ctx; +#line 2004 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_line_cap (_tmp36_, CAIRO_LINE_CAP_SQUARE); +#line 2005 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp37_ = ctx; +#line 2005 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp38_ = self->priv->selected_color; +#line 2005 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp39_ = _tmp38_.red; +#line 2005 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp40_ = self->priv->selected_color; +#line 2005 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp41_ = _tmp40_.green; +#line 2005 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp42_ = self->priv->selected_color; +#line 2005 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp43_ = _tmp42_.blue; +#line 2005 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_set_source_rgb (_tmp37_, _tmp39_, _tmp41_, _tmp43_); +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp44_ = ctx; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp45_ = self->priv->selection_band; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp46_ = _tmp45_.x; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp47_ = self->priv->selection_band; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp48_ = _tmp47_.y; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp49_ = self->priv->selection_band; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp50_ = _tmp49_.width; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp51_ = self->priv->selection_band; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp52_ = _tmp51_.height; +#line 2006 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_rectangle (_tmp44_, ((gdouble) _tmp46_) + 0.5, ((gdouble) _tmp48_) + 0.5, ((gdouble) _tmp50_) - 1.0, ((gdouble) _tmp52_) - 1.0); +#line 2008 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp53_ = ctx; +#line 2008 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + cairo_stroke (_tmp53_); +#line 11788 "CheckerboardLayout.c" +} + + +static gboolean checkerboard_layout_real_query_tooltip (GtkWidget* base, gint x, gint y, gboolean keyboard_mode, GtkTooltip* tooltip) { + CheckerboardLayout * self; + gboolean result = FALSE; + CheckerboardItem* item = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + CheckerboardItem* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + CheckerboardItem* _tmp4_ = NULL; +#line 2011 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout); +#line 2011 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (GTK_IS_TOOLTIP (tooltip), FALSE); +#line 2012 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = x; +#line 2012 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = y; +#line 2012 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = checkerboard_layout_get_item_at_pixel (self, (gdouble) _tmp0_, (gdouble) _tmp1_); +#line 2012 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + item = _tmp2_; +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = item; +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp4_ != NULL) { +#line 11817 "CheckerboardLayout.c" + CheckerboardItem* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + GtkTooltip* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp5_ = item; +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = x; +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp7_ = y; +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = tooltip; +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp9_ = checkerboard_item_query_tooltip (_tmp5_, _tmp6_, _tmp7_, _tmp8_); +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = _tmp9_; +#line 11835 "CheckerboardLayout.c" + } else { +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = FALSE; +#line 11839 "CheckerboardLayout.c" + } +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp3_; +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (item); +#line 2014 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 11847 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_on_colors_changed (CheckerboardLayout* self) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + GdkRGBA _tmp2_ = {0}; +#line 2017 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (IS_CHECKERBOARD_LAYOUT (self)); +#line 2018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = config_facade_get_instance (); +#line 2018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = _tmp0_; +#line 2018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + config_facade_get_bg_color (_tmp1_, &_tmp2_); +#line 2018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + gtk_widget_override_background_color (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), GTK_STATE_FLAG_NORMAL, &_tmp2_); +#line 2018 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp1_); +#line 2019 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_set_colors (self, TRUE); +#line 11869 "CheckerboardLayout.c" +} + + +static gboolean checkerboard_layout_real_focus_in_event (GtkWidget* base, GdkEventFocus* event) { + CheckerboardLayout * self; + gboolean result = FALSE; + ViewCollection* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GdkEventFocus* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2022 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout); +#line 2022 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2023 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_set_colors (self, TRUE); +#line 2024 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->view; +#line 2024 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = view_collection_get_selected (_tmp0_); +#line 2024 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp1_; +#line 2024 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_items_dirty (self, "focus_in_event", G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2024 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp2_); +#line 2026 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = event; +#line 2026 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = GTK_WIDGET_CLASS (checkerboard_layout_parent_class)->focus_in_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_drawing_area_get_type (), GtkDrawingArea), gtk_widget_get_type (), GtkWidget), _tmp3_); +#line 2026 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp4_; +#line 2026 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 11905 "CheckerboardLayout.c" +} + + +static gboolean checkerboard_layout_real_focus_out_event (GtkWidget* base, GdkEventFocus* event) { + CheckerboardLayout * self; + gboolean result = FALSE; + ViewCollection* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GdkEventFocus* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2029 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout); +#line 2029 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2030 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_set_colors (self, FALSE); +#line 2031 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->view; +#line 2031 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = view_collection_get_selected (_tmp0_); +#line 2031 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = _tmp1_; +#line 2031 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_items_dirty (self, "focus_out_event", G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2031 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp2_); +#line 2033 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = event; +#line 2033 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = GTK_WIDGET_CLASS (checkerboard_layout_parent_class)->focus_out_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_drawing_area_get_type (), GtkDrawingArea), gtk_widget_get_type (), GtkWidget), _tmp3_); +#line 2033 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + result = _tmp4_; +#line 2033 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return result; +#line 11941 "CheckerboardLayout.c" +} + + +static CheckerboardLayoutLayoutRow* checkerboard_layout_layout_row_construct (GType object_type, gint y, gint height, gint num_in_row) { + CheckerboardLayoutLayoutRow* self = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + CheckerboardItem** _tmp3_ = NULL; +#line 843 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = (CheckerboardLayoutLayoutRow*) g_type_create_instance (object_type); +#line 844 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = y; +#line 844 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->y = _tmp0_; +#line 845 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = height; +#line 845 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->height = _tmp1_; +#line 846 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = num_in_row; +#line 846 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp3_ = g_new0 (CheckerboardItem*, _tmp2_ + 1); +#line 846 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->items = (_vala_array_free (self->items, self->items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 846 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->items = _tmp3_; +#line 846 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->items_length1 = _tmp2_; +#line 846 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->_items_size_ = self->items_length1; +#line 843 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return self; +#line 11975 "CheckerboardLayout.c" +} + + +static CheckerboardLayoutLayoutRow* checkerboard_layout_layout_row_new (gint y, gint height, gint num_in_row) { +#line 843 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return checkerboard_layout_layout_row_construct (CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW, y, height, num_in_row); +#line 11982 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_value_layout_row_init (GValue* value) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = NULL; +#line 11989 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_value_layout_row_free_value (GValue* value) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (value->data[0].v_pointer) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_layout_row_unref (value->data[0].v_pointer); +#line 11998 "CheckerboardLayout.c" + } +} + + +static void checkerboard_layout_value_layout_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (src_value->data[0].v_pointer) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dest_value->data[0].v_pointer = checkerboard_layout_layout_row_ref (src_value->data[0].v_pointer); +#line 12008 "CheckerboardLayout.c" + } else { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + dest_value->data[0].v_pointer = NULL; +#line 12012 "CheckerboardLayout.c" + } +} + + +static gpointer checkerboard_layout_value_layout_row_peek_pointer (const GValue* value) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return value->data[0].v_pointer; +#line 12020 "CheckerboardLayout.c" +} + + +static gchar* checkerboard_layout_value_layout_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (collect_values[0].v_pointer) { +#line 12027 "CheckerboardLayout.c" + CheckerboardLayoutLayoutRow* object; + object = collect_values[0].v_pointer; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (object->parent_instance.g_class == NULL) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 12034 "CheckerboardLayout.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 12038 "CheckerboardLayout.c" + } +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = checkerboard_layout_layout_row_ref (object); +#line 12042 "CheckerboardLayout.c" + } else { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = NULL; +#line 12046 "CheckerboardLayout.c" + } +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return NULL; +#line 12050 "CheckerboardLayout.c" +} + + +static gchar* checkerboard_layout_value_layout_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + CheckerboardLayoutLayoutRow** object_p; + object_p = collect_values[0].v_pointer; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!object_p) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 12061 "CheckerboardLayout.c" + } +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (!value->data[0].v_pointer) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *object_p = NULL; +#line 12067 "CheckerboardLayout.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *object_p = value->data[0].v_pointer; +#line 12071 "CheckerboardLayout.c" + } else { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + *object_p = checkerboard_layout_layout_row_ref (value->data[0].v_pointer); +#line 12075 "CheckerboardLayout.c" + } +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return NULL; +#line 12079 "CheckerboardLayout.c" +} + + +static GParamSpec* checkerboard_layout_param_spec_layout_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + CheckerboardLayoutParamSpecLayoutRow* spec; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (g_type_is_a (object_type, CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW), NULL); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return G_PARAM_SPEC (spec); +#line 12093 "CheckerboardLayout.c" +} + + +static gpointer checkerboard_layout_value_get_layout_row (const GValue* value) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW), NULL); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return value->data[0].v_pointer; +#line 12102 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_value_set_layout_row (GValue* value, gpointer v_object) { + CheckerboardLayoutLayoutRow* old; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW)); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + old = value->data[0].v_pointer; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (v_object) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW)); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = v_object; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_layout_row_ref (value->data[0].v_pointer); +#line 12122 "CheckerboardLayout.c" + } else { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = NULL; +#line 12126 "CheckerboardLayout.c" + } +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (old) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_layout_row_unref (old); +#line 12132 "CheckerboardLayout.c" + } +} + + +static void checkerboard_layout_value_take_layout_row (GValue* value, gpointer v_object) { + CheckerboardLayoutLayoutRow* old; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW)); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + old = value->data[0].v_pointer; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (v_object) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW)); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = v_object; +#line 12151 "CheckerboardLayout.c" + } else { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + value->data[0].v_pointer = NULL; +#line 12155 "CheckerboardLayout.c" + } +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (old) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_layout_row_unref (old); +#line 12161 "CheckerboardLayout.c" + } +} + + +static void checkerboard_layout_layout_row_class_init (CheckerboardLayoutLayoutRowClass * klass) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_layout_row_parent_class = g_type_class_peek_parent (klass); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((CheckerboardLayoutLayoutRowClass *) klass)->finalize = checkerboard_layout_layout_row_finalize; +#line 12171 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_layout_row_instance_init (CheckerboardLayoutLayoutRow * self) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->ref_count = 1; +#line 12178 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_layout_row_finalize (CheckerboardLayoutLayoutRow* obj) { + CheckerboardLayoutLayoutRow * self; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, CHECKERBOARD_LAYOUT_TYPE_LAYOUT_ROW, CheckerboardLayoutLayoutRow); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_destroy (self); +#line 841 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->items = (_vala_array_free (self->items, self->items_length1, (GDestroyNotify) g_object_unref), NULL); +#line 12190 "CheckerboardLayout.c" +} + + +static GType checkerboard_layout_layout_row_get_type (void) { + static volatile gsize checkerboard_layout_layout_row_type_id__volatile = 0; + if (g_once_init_enter (&checkerboard_layout_layout_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { checkerboard_layout_value_layout_row_init, checkerboard_layout_value_layout_row_free_value, checkerboard_layout_value_layout_row_copy_value, checkerboard_layout_value_layout_row_peek_pointer, "p", checkerboard_layout_value_layout_row_collect_value, "p", checkerboard_layout_value_layout_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (CheckerboardLayoutLayoutRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) checkerboard_layout_layout_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CheckerboardLayoutLayoutRow), 0, (GInstanceInitFunc) checkerboard_layout_layout_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType checkerboard_layout_layout_row_type_id; + checkerboard_layout_layout_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CheckerboardLayoutLayoutRow", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&checkerboard_layout_layout_row_type_id__volatile, checkerboard_layout_layout_row_type_id); + } + return checkerboard_layout_layout_row_type_id__volatile; +} + + +static gpointer checkerboard_layout_layout_row_ref (gpointer instance) { + CheckerboardLayoutLayoutRow* self; + self = instance; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_atomic_int_inc (&self->ref_count); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + return instance; +#line 12215 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_layout_row_unref (gpointer instance) { + CheckerboardLayoutLayoutRow* self; + self = instance; +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + CHECKERBOARD_LAYOUT_LAYOUT_ROW_GET_CLASS (self)->finalize (self); +#line 838 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 12228 "CheckerboardLayout.c" + } +} + + +static void checkerboard_layout_class_init (CheckerboardLayoutClass * klass) { +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + checkerboard_layout_parent_class = g_type_class_peek_parent (klass); +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_type_class_add_private (klass, sizeof (CheckerboardLayoutPrivate)); +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((GtkWidgetClass *) klass)->map = checkerboard_layout_real_map; +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((GtkWidgetClass *) klass)->size_allocate = checkerboard_layout_real_size_allocate; +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((GtkWidgetClass *) klass)->draw = checkerboard_layout_real_draw; +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((GtkWidgetClass *) klass)->query_tooltip = checkerboard_layout_real_query_tooltip; +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((GtkWidgetClass *) klass)->focus_in_event = checkerboard_layout_real_focus_in_event; +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + ((GtkWidgetClass *) klass)->focus_out_event = checkerboard_layout_real_focus_out_event; +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_OBJECT_CLASS (klass)->finalize = checkerboard_layout_finalize; +#line 12252 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_instance_init (CheckerboardLayout * self) { + gchar* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv = CHECKERBOARD_LAYOUT_GET_PRIVATE (self); +#line 851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = g_strdup (""); +#line 851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->page_name = _tmp0_; +#line 852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = NULL; +#line 852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows_length1 = 0; +#line 852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->_item_rows_size_ = self->priv->item_rows_length1; +#line 853 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp1_ = gee_hash_set_new (TYPE_CHECKERBOARD_ITEM, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 853 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposed_items = _tmp1_; +#line 854 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->hadjustment = NULL; +#line 855 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->vadjustment = NULL; +#line 856 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->message = NULL; +#line 861 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&self->priv->visible_page, 0, sizeof (GdkRectangle)); +#line 862 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->last_width = 0; +#line 863 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->columns = 0; +#line 864 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->rows = 0; +#line 865 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&self->priv->drag_origin, 0, sizeof (GdkPoint)); +#line 866 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&self->priv->drag_endpoint, 0, sizeof (GdkPoint)); +#line 867 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + memset (&self->priv->selection_band, 0, sizeof (GdkRectangle)); +#line 868 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->scale = 0; +#line 869 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->flow_scheduled = FALSE; +#line 870 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->exposure_dirty = TRUE; +#line 871 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->anchor = NULL; +#line 872 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->cursor = NULL; +#line 873 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->in_center_on_anchor = FALSE; +#line 874 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->size_allocate_due_to_reflow = FALSE; +#line 875 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->is_in_view = FALSE; +#line 876 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->reflow_needed = FALSE; +#line 12313 "CheckerboardLayout.c" +} + + +static void checkerboard_layout_finalize (GObject* obj) { + CheckerboardLayout * self; + ViewCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + ViewCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; + ViewCollection* _tmp4_ = NULL; + guint _tmp5_ = 0U; + ViewCollection* _tmp6_ = NULL; + guint _tmp7_ = 0U; + ViewCollection* _tmp8_ = NULL; + guint _tmp9_ = 0U; + ViewCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; + ViewCollection* _tmp12_ = NULL; + guint _tmp13_ = 0U; + ViewCollection* _tmp14_ = NULL; + guint _tmp15_ = 0U; + ViewCollection* _tmp16_ = NULL; + guint _tmp17_ = 0U; + GtkAdjustment* _tmp18_ = NULL; + GtkAdjustment* _tmp21_ = NULL; + GtkContainer* _tmp24_ = NULL; + GtkContainer* _tmp25_ = NULL; + ConfigFacade* _tmp29_ = NULL; + ConfigFacade* _tmp30_ = NULL; + guint _tmp31_ = 0U; +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout); +#line 907 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp0_ = self->priv->view; +#line 907 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 907 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _checkerboard_layout_on_contents_altered_data_collection_contents_altered, self); +#line 908 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp2_ = self->priv->view; +#line 908 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 908 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _checkerboard_layout_on_items_altered_data_collection_items_altered, self); +#line 909 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp4_ = self->priv->view; +#line 909 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("items-state-changed", TYPE_VIEW_COLLECTION, &_tmp5_, NULL, FALSE); +#line 909 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _checkerboard_layout_on_items_state_changed_view_collection_items_state_changed, self); +#line 910 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp6_ = self->priv->view; +#line 910 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("items-visibility-changed", TYPE_VIEW_COLLECTION, &_tmp7_, NULL, FALSE); +#line 910 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _checkerboard_layout_on_items_visibility_changed_view_collection_items_visibility_changed, self); +#line 911 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp8_ = self->priv->view; +#line 911 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("ordering-changed", TYPE_DATA_COLLECTION, &_tmp9_, NULL, FALSE); +#line 911 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _checkerboard_layout_on_ordering_changed_data_collection_ordering_changed, self); +#line 912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp10_ = self->priv->view; +#line 912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("views-altered", TYPE_VIEW_COLLECTION, &_tmp11_, NULL, FALSE); +#line 912 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _checkerboard_layout_on_views_altered_view_collection_views_altered, self); +#line 913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp12_ = self->priv->view; +#line 913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("geometries-altered", TYPE_VIEW_COLLECTION, &_tmp13_, NULL, FALSE); +#line 913 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _checkerboard_layout_on_geometries_altered_view_collection_geometries_altered, self); +#line 914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp14_ = self->priv->view; +#line 914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("items-selected", TYPE_VIEW_COLLECTION, &_tmp15_, NULL, FALSE); +#line 914 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp14_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 0, NULL, (GCallback) _checkerboard_layout_on_items_selection_changed_view_collection_items_selected, self); +#line 915 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp16_ = self->priv->view; +#line 915 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("items-unselected", TYPE_VIEW_COLLECTION, &_tmp17_, NULL, FALSE); +#line 915 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp16_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp17_, 0, NULL, (GCallback) _checkerboard_layout_on_items_selection_changed_view_collection_items_unselected, self); +#line 917 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp18_ = self->priv->hadjustment; +#line 917 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp18_ != NULL) { +#line 12404 "CheckerboardLayout.c" + GtkAdjustment* _tmp19_ = NULL; + guint _tmp20_ = 0U; +#line 918 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp19_ = self->priv->hadjustment; +#line 918 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("value-changed", gtk_adjustment_get_type (), &_tmp20_, NULL, FALSE); +#line 918 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp19_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp20_, 0, NULL, (GCallback) _checkerboard_layout_on_viewport_shifted_gtk_adjustment_value_changed, self); +#line 12413 "CheckerboardLayout.c" + } +#line 920 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp21_ = self->priv->vadjustment; +#line 920 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp21_ != NULL) { +#line 12419 "CheckerboardLayout.c" + GtkAdjustment* _tmp22_ = NULL; + guint _tmp23_ = 0U; +#line 921 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp22_ = self->priv->vadjustment; +#line 921 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("value-changed", gtk_adjustment_get_type (), &_tmp23_, NULL, FALSE); +#line 921 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp22_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp23_, 0, NULL, (GCallback) _checkerboard_layout_on_viewport_shifted_gtk_adjustment_value_changed, self); +#line 12428 "CheckerboardLayout.c" + } +#line 923 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp24_ = gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 923 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp25_ = _tmp24_; +#line 923 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + if (_tmp25_ != NULL) { +#line 12436 "CheckerboardLayout.c" + GtkContainer* _tmp26_ = NULL; + GtkContainer* _tmp27_ = NULL; + guint _tmp28_ = 0U; +#line 924 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp26_ = gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 924 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp27_ = _tmp26_; +#line 924 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("size-allocate", gtk_widget_get_type (), &_tmp28_, NULL, FALSE); +#line 924 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp28_, 0, NULL, (GCallback) _checkerboard_layout_on_viewport_resized_gtk_widget_size_allocate, self); +#line 12448 "CheckerboardLayout.c" + } +#line 926 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp29_ = config_facade_get_instance (); +#line 926 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _tmp30_ = _tmp29_; +#line 926 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_parse_name ("colors-changed", CONFIG_TYPE_FACADE, &_tmp31_, NULL, FALSE); +#line 926 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + g_signal_handlers_disconnect_matched (_tmp30_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp31_, 0, NULL, (GCallback) _checkerboard_layout_on_colors_changed_config_facade_colors_changed, self); +#line 926 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (_tmp30_); +#line 850 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _data_collection_unref0 (self->priv->view); +#line 851 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (self->priv->page_name); +#line 852 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + self->priv->item_rows = (_vala_array_free (self->priv->item_rows, self->priv->item_rows_length1, (GDestroyNotify) checkerboard_layout_layout_row_unref), NULL); +#line 853 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->exposed_items); +#line 854 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->hadjustment); +#line 855 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->vadjustment); +#line 856 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_free0 (self->priv->message); +#line 871 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->anchor); +#line 872 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + _g_object_unref0 (self->priv->cursor); +#line 821 "/home/jens/Source/shotwell/src/CheckerboardLayout.vala" + G_OBJECT_CLASS (checkerboard_layout_parent_class)->finalize (obj); +#line 12480 "CheckerboardLayout.c" +} + + +GType checkerboard_layout_get_type (void) { + static volatile gsize checkerboard_layout_type_id__volatile = 0; + if (g_once_init_enter (&checkerboard_layout_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CheckerboardLayoutClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) checkerboard_layout_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CheckerboardLayout), 0, (GInstanceInitFunc) checkerboard_layout_instance_init, NULL }; + GType checkerboard_layout_type_id; + checkerboard_layout_type_id = g_type_register_static (gtk_drawing_area_get_type (), "CheckerboardLayout", &g_define_type_info, 0); + g_once_init_leave (&checkerboard_layout_type_id__volatile, checkerboard_layout_type_id); + } + return checkerboard_layout_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/CheckerboardLayout.vala b/src/CheckerboardLayout.vala index 032235f..f2acc30 100644 --- a/src/CheckerboardLayout.vala +++ b/src/CheckerboardLayout.vala @@ -127,6 +127,9 @@ public abstract class CheckerboardItem : ThumbnailView { private CheckerboardItemText? subtitle = null; private bool subtitle_visible = false; private bool is_cursor = false; + private Pango.Alignment tag_alignment = Pango.Alignment.LEFT; + private Gee.List? user_visible_tag_list = null; + private Gee.Collection tags; private Gdk.Pixbuf pixbuf = null; private Gdk.Pixbuf display_pixbuf = null; private Gdk.Pixbuf brightened = null; @@ -154,7 +157,9 @@ public abstract class CheckerboardItem : ThumbnailView { // (notify_membership_changed) and calculate when the collection's property settings // are known } - + + public bool has_tags { get; private set; } + public override string get_name() { return (title != null) ? title.get_text() : base.get_name(); } @@ -236,8 +241,58 @@ public abstract class CheckerboardItem : ThumbnailView { recalc_size("set_comment_visible"); notify_view_altered(); } - - + + public void set_tags(Gee.Collection? tags, + Pango.Alignment alignment = Pango.Alignment.LEFT) { + has_tags = (tags != null && tags.size > 0); + tag_alignment = alignment; + string text; + if (has_tags) { + this.tags = tags; + user_visible_tag_list = Tag.make_user_visible_tag_list(tags); + text = Tag.make_tag_markup_string(user_visible_tag_list); + } else { + text = "."; + } + + if (subtitle != null && subtitle.is_set_to(text, true, alignment)) + return; + subtitle = new CheckerboardItemText(text, alignment, true); + + if (subtitle_visible) { + recalc_size("set_subtitle"); + notify_view_altered(); + } + } + + public void clear_tags() { + clear_subtitle(); + has_tags = false; + user_visible_tag_list = null; + } + + public void highlight_user_visible_tag(int index) + requires (user_visible_tag_list != null) { + string text = Tag.make_tag_markup_string(user_visible_tag_list, index); + subtitle = new CheckerboardItemText(text, tag_alignment, true); + + if (subtitle_visible) + notify_view_altered(); + } + + public Tag get_user_visible_tag(int index) + requires (index >= 0 && index < user_visible_tag_list.size) { + return user_visible_tag_list.get(index); + } + + public Pango.Layout? get_tag_list_layout() { + return has_tags ? subtitle.get_pango_layout() : null; + } + + public Gdk.Rectangle get_subtitle_allocation() { + return subtitle.allocation; + } + public string get_subtitle() { return (subtitle != null) ? subtitle.get_text() : ""; } @@ -1182,7 +1237,68 @@ public class CheckerboardLayout : Gtk.DrawingArea { return null; } - + + public static int get_tag_index_at_pos(string tag_list, int pos) { + int sep_len = Tag.TAG_LIST_SEPARATOR_STRING.length; + assert (sep_len > 0); + int len = tag_list.length; + if (pos < 0 || pos >= len) + return -1; + + // check if we're hovering on a separator + for (int i = 0; i < sep_len; ++i) { + if (tag_list[pos] == Tag.TAG_LIST_SEPARATOR_STRING[i] && pos >= i) { + if (tag_list.substring(pos - i, sep_len) == Tag.TAG_LIST_SEPARATOR_STRING) + return -1; + } + } + + // Determine the tag index by counting the number of separators before + // the requested position. This only works if the separator string + // contains the delimiter used to delimit tags (i.e. the comma `,'.) + int index = 0; + for (int i = 0; i < pos; ++i) { + if (tag_list[i] == Tag.TAG_LIST_SEPARATOR_STRING[0] && + i + sep_len <= len && + tag_list.substring(i, sep_len) == Tag.TAG_LIST_SEPARATOR_STRING) { + ++index; + i += sep_len - 1; + } + } + return index; + } + + private int internal_handle_tag_mouse_event(CheckerboardItem item, int x, int y) { + Pango.Layout? layout = item.get_tag_list_layout(); + if (layout == null) + return -1; + Gdk.Rectangle rect = item.get_subtitle_allocation(); + int index, trailing; + int px = (x - rect.x) * Pango.SCALE; + int py = (y - rect.y) * Pango.SCALE; + if (layout.xy_to_index(px, py, out index, out trailing)) + return get_tag_index_at_pos(layout.get_text(), index); + return -1; + } + + public bool handle_mouse_motion(CheckerboardItem item, int x, int y, Gdk.ModifierType mask) { + if (!item.has_tags || is_drag_select_active()) + return false; + int tag_index = internal_handle_tag_mouse_event(item, x, y); + item.highlight_user_visible_tag(tag_index); + return (tag_index >= 0); + } + + public bool handle_left_click(CheckerboardItem item, double xd, double yd, Gdk.ModifierType mask) { + int tag_index = internal_handle_tag_mouse_event(item, (int)Math.round(xd), (int)Math.round(yd)); + if (tag_index >= 0) { + Tag tag = item.get_user_visible_tag(tag_index); + LibraryWindow.get_app().switch_to_tag(tag); + return true; + } + return false; + } + public Gee.List get_visible_items() { return intersection(visible_page); } diff --git a/src/CollectionPage.c b/src/CollectionPage.c new file mode 100644 index 0000000..a5b1c04 --- /dev/null +++ b/src/CollectionPage.c @@ -0,0 +1,7216 @@ +/* CollectionPage.c generated by valac 0.32.1, the Vala compiler + * generated from CollectionPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; +typedef struct _ViewManagerPrivate ViewManagerPrivate; + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_DATA_VIEW (data_view_get_type ()) +#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView)) +#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass)) +#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW)) +#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW)) +#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass)) + +typedef struct _DataView DataView; +typedef struct _DataViewClass DataViewClass; + +#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ()) +#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager)) +#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) +#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER)) +#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER)) +#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) + +typedef struct _CollectionViewManager CollectionViewManager; +typedef struct _CollectionViewManagerClass CollectionViewManagerClass; +typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ()) +#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView)) +#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) +#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW)) +#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW)) +#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) + +typedef struct _ThumbnailView ThumbnailView; +typedef struct _ThumbnailViewClass ThumbnailViewClass; + +#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ()) +#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem)) +#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass)) +#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM)) +#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM)) +#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass)) + +typedef struct _CheckerboardItem CheckerboardItem; +typedef struct _CheckerboardItemClass CheckerboardItemClass; + +#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +typedef struct _CollectionPagePrivate CollectionPagePrivate; + +#define TYPE_EXPORTER_UI (exporter_ui_get_type ()) +#define EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER_UI, ExporterUI)) +#define EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER_UI, ExporterUIClass)) +#define IS_EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER_UI)) +#define IS_EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER_UI)) +#define EXPORTER_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER_UI, ExporterUIClass)) + +typedef struct _ExporterUI ExporterUI; +typedef struct _ExporterUIClass ExporterUIClass; + +#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ()) +#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter)) +#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) + +typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter; +typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass; + +#define COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER (collection_page_collection_search_view_filter_get_type ()) +#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilter)) +#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass)) +#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER)) +#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER)) +#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass)) + +typedef struct _CollectionPageCollectionSearchViewFilter CollectionPageCollectionSearchViewFilter; +typedef struct _CollectionPageCollectionSearchViewFilterClass CollectionPageCollectionSearchViewFilterClass; +#define _exporter_ui_unref0(var) ((var == NULL) ? NULL : (var = (exporter_ui_unref (var), NULL))) +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY (media_page_zoom_slider_assembly_get_type ()) +#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssembly)) +#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssemblyClass)) +#define MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY)) +#define MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY)) +#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssemblyClass)) + +typedef struct _MediaPageZoomSliderAssembly MediaPageZoomSliderAssembly; +typedef struct _MediaPageZoomSliderAssemblyClass MediaPageZoomSliderAssemblyClass; +#define _injection_group_unref0(var) ((var == NULL) ? NULL : (var = (injection_group_unref (var), NULL))) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_PRINT_MANAGER (print_manager_get_type ()) +#define PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_MANAGER, PrintManager)) +#define PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_MANAGER, PrintManagerClass)) +#define IS_PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_MANAGER)) +#define IS_PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_MANAGER)) +#define PRINT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_MANAGER, PrintManagerClass)) + +typedef struct _PrintManager PrintManager; +typedef struct _PrintManagerClass PrintManagerClass; +#define _print_manager_unref0(var) ((var == NULL) ? NULL : (var = (print_manager_unref (var), NULL))) + +#define TYPE_MEDIA_SOURCE_ITEM (media_source_item_get_type ()) +#define MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem)) +#define MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass)) +#define IS_MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_ITEM)) +#define IS_MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_ITEM)) +#define MEDIA_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass)) + +typedef struct _MediaSourceItem MediaSourceItem; +typedef struct _MediaSourceItemClass MediaSourceItemClass; + +#define TYPE_THUMBNAIL (thumbnail_get_type ()) +#define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail)) +#define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass)) +#define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL)) +#define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL)) +#define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass)) + +typedef struct _Thumbnail Thumbnail; +typedef struct _ThumbnailClass ThumbnailClass; + +#define TYPE_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_LIBRARY_WINDOW (library_window_get_type ()) +#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow)) +#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) +#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW)) +#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW)) +#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) + +typedef struct _LibraryWindow LibraryWindow; +typedef struct _LibraryWindowClass LibraryWindowClass; + +#define TYPE_EXPORTER (exporter_get_type ()) +#define EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER, Exporter)) +#define EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER, ExporterClass)) +#define IS_EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER)) +#define IS_EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER)) +#define EXPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER, ExporterClass)) + +typedef struct _Exporter Exporter; +typedef struct _ExporterClass ExporterClass; + +#define TYPE_EXPORT_DIALOG (export_dialog_get_type ()) +#define EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORT_DIALOG, ExportDialog)) +#define EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORT_DIALOG, ExportDialogClass)) +#define IS_EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORT_DIALOG)) +#define IS_EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORT_DIALOG)) +#define EXPORT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORT_DIALOG, ExportDialogClass)) + +typedef struct _ExportDialog ExportDialog; +typedef struct _ExportDialogClass ExportDialogClass; + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_MULTIPLE_DATA_SOURCE_COMMAND (multiple_data_source_command_get_type ()) +#define MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)) +#define MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass)) +#define IS_MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND)) +#define IS_MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND)) +#define MULTIPLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass)) + +typedef struct _MultipleDataSourceCommand MultipleDataSourceCommand; +typedef struct _MultipleDataSourceCommandClass MultipleDataSourceCommandClass; + +#define TYPE_ROTATE_MULTIPLE_COMMAND (rotate_multiple_command_get_type ()) +#define ROTATE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommand)) +#define ROTATE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandClass)) +#define IS_ROTATE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ROTATE_MULTIPLE_COMMAND)) +#define IS_ROTATE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ROTATE_MULTIPLE_COMMAND)) +#define ROTATE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ROTATE_MULTIPLE_COMMAND, RotateMultipleCommandClass)) + +typedef struct _RotateMultipleCommand RotateMultipleCommand; +typedef struct _RotateMultipleCommandClass RotateMultipleCommandClass; + +#define TYPE_ROTATION (rotation_get_type ()) + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#define TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND (multiple_photo_transformation_command_get_type ()) +#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommand)) +#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandClass)) +#define IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND)) +#define IS_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND)) +#define MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_PHOTO_TRANSFORMATION_COMMAND, MultiplePhotoTransformationCommandClass)) + +typedef struct _MultiplePhotoTransformationCommand MultiplePhotoTransformationCommand; +typedef struct _MultiplePhotoTransformationCommandClass MultiplePhotoTransformationCommandClass; + +#define TYPE_REVERT_MULTIPLE_COMMAND (revert_multiple_command_get_type ()) +#define REVERT_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommand)) +#define REVERT_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommandClass)) +#define IS_REVERT_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REVERT_MULTIPLE_COMMAND)) +#define IS_REVERT_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REVERT_MULTIPLE_COMMAND)) +#define REVERT_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REVERT_MULTIPLE_COMMAND, RevertMultipleCommandClass)) + +typedef struct _RevertMultipleCommand RevertMultipleCommand; +typedef struct _RevertMultipleCommandClass RevertMultipleCommandClass; + +#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ()) +#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle)) +#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) + +typedef struct _PixelTransformationBundle PixelTransformationBundle; +typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass; +#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) + +#define TYPE_ADJUST_COLORS_MULTIPLE_COMMAND (adjust_colors_multiple_command_get_type ()) +#define ADJUST_COLORS_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommand)) +#define ADJUST_COLORS_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandClass)) +#define IS_ADJUST_COLORS_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND)) +#define IS_ADJUST_COLORS_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND)) +#define ADJUST_COLORS_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_COLORS_MULTIPLE_COMMAND, AdjustColorsMultipleCommandClass)) + +typedef struct _AdjustColorsMultipleCommand AdjustColorsMultipleCommand; +typedef struct _AdjustColorsMultipleCommandClass AdjustColorsMultipleCommandClass; + +#define TYPE_ENHANCE_MULTIPLE_COMMAND (enhance_multiple_command_get_type ()) +#define ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommand)) +#define ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommandClass)) +#define IS_ENHANCE_MULTIPLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND)) +#define IS_ENHANCE_MULTIPLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENHANCE_MULTIPLE_COMMAND)) +#define ENHANCE_MULTIPLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENHANCE_MULTIPLE_COMMAND, EnhanceMultipleCommandClass)) + +typedef struct _EnhanceMultipleCommand EnhanceMultipleCommand; +typedef struct _EnhanceMultipleCommandClass EnhanceMultipleCommandClass; + +#define TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND (duplicate_multiple_photos_command_get_type ()) +#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommand)) +#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandClass)) +#define IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND)) +#define IS_DUPLICATE_MULTIPLE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND)) +#define DUPLICATE_MULTIPLE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATE_MULTIPLE_PHOTOS_COMMAND, DuplicateMultiplePhotosCommandClass)) + +typedef struct _DuplicateMultiplePhotosCommand DuplicateMultiplePhotosCommand; +typedef struct _DuplicateMultiplePhotosCommandClass DuplicateMultiplePhotosCommandClass; + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; + +#define TYPE_ADJUST_DATE_TIME_DIALOG (adjust_date_time_dialog_get_type ()) +#define ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialog)) +#define ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass)) +#define IS_ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_DIALOG)) +#define IS_ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_DIALOG)) +#define ADJUST_DATE_TIME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass)) + +typedef struct _AdjustDateTimeDialog AdjustDateTimeDialog; +typedef struct _AdjustDateTimeDialogClass AdjustDateTimeDialogClass; + +#define TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND (adjust_date_time_photos_command_get_type ()) +#define ADJUST_DATE_TIME_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommand)) +#define ADJUST_DATE_TIME_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandClass)) +#define IS_ADJUST_DATE_TIME_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND)) +#define IS_ADJUST_DATE_TIME_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND)) +#define ADJUST_DATE_TIME_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_PHOTOS_COMMAND, AdjustDateTimePhotosCommandClass)) + +typedef struct _AdjustDateTimePhotosCommand AdjustDateTimePhotosCommand; +typedef struct _AdjustDateTimePhotosCommandClass AdjustDateTimePhotosCommandClass; + +#define TYPE_SET_BACKGROUND_DIALOG (set_background_dialog_get_type ()) +#define SET_BACKGROUND_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)) +#define SET_BACKGROUND_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialogClass)) +#define IS_SET_BACKGROUND_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_DIALOG)) +#define IS_SET_BACKGROUND_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_DIALOG)) +#define SET_BACKGROUND_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialogClass)) + +typedef struct _SetBackgroundDialog SetBackgroundDialog; +typedef struct _SetBackgroundDialogClass SetBackgroundDialogClass; + +#define TYPE_SET_BACKGROUND_PHOTO_DIALOG (set_background_photo_dialog_get_type ()) +#define SET_BACKGROUND_PHOTO_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialog)) +#define SET_BACKGROUND_PHOTO_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialogClass)) +#define IS_SET_BACKGROUND_PHOTO_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG)) +#define IS_SET_BACKGROUND_PHOTO_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_PHOTO_DIALOG)) +#define SET_BACKGROUND_PHOTO_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialogClass)) + +typedef struct _SetBackgroundPhotoDialog SetBackgroundPhotoDialog; +typedef struct _SetBackgroundPhotoDialogClass SetBackgroundPhotoDialogClass; +#define _set_background_dialog_unref0(var) ((var == NULL) ? NULL : (var = (set_background_dialog_unref (var), NULL))) + +#define TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG (set_background_slideshow_dialog_get_type ()) +#define SET_BACKGROUND_SLIDESHOW_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialog)) +#define SET_BACKGROUND_SLIDESHOW_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialogClass)) +#define IS_SET_BACKGROUND_SLIDESHOW_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG)) +#define IS_SET_BACKGROUND_SLIDESHOW_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG)) +#define SET_BACKGROUND_SLIDESHOW_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialogClass)) + +typedef struct _SetBackgroundSlideshowDialog SetBackgroundSlideshowDialog; +typedef struct _SetBackgroundSlideshowDialogClass SetBackgroundSlideshowDialogClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ()) +#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)) +#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) +#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE)) +#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE)) +#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) + +typedef struct _SinglePhotoPage SinglePhotoPage; +typedef struct _SinglePhotoPageClass SinglePhotoPageClass; + +#define TYPE_SLIDESHOW_PAGE (slideshow_page_get_type ()) +#define SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPage)) +#define SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDESHOW_PAGE, SlideshowPageClass)) +#define IS_SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDESHOW_PAGE)) +#define IS_SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDESHOW_PAGE)) +#define SLIDESHOW_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPageClass)) + +typedef struct _SlideshowPage SlideshowPage; +typedef struct _SlideshowPageClass SlideshowPageClass; +typedef struct _ViewFilterPrivate ViewFilterPrivate; +typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate; +typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate; +typedef struct _CollectionPageCollectionSearchViewFilterPrivate CollectionPageCollectionSearchViewFilterPrivate; + +#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ()) +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _CollectionViewManager { + ViewManager parent_instance; + CollectionViewManagerPrivate * priv; +}; + +struct _CollectionViewManagerClass { + ViewManagerClass parent_class; +}; + +struct _CollectionViewManagerPrivate { + CollectionPage* page; +}; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _CollectionPage { + MediaPage parent_instance; + CollectionPagePrivate * priv; +}; + +struct _CollectionPageClass { + MediaPageClass parent_class; +}; + +struct _CollectionPagePrivate { + ExporterUI* exporter; + CollectionPageCollectionSearchViewFilter* search_filter; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef void (*ExporterCompletionCallback) (Exporter* exporter, gboolean is_cancelled, void* user_data); +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef enum { + ROTATION_CLOCKWISE, + ROTATION_COUNTERCLOCKWISE, + ROTATION_MIRROR, + ROTATION_UPSIDE_DOWN +} Rotation; + +struct _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _SearchViewFilter { + ViewFilter parent_instance; + SearchViewFilterPrivate * priv; +}; + +struct _SearchViewFilterClass { + ViewFilterClass parent_class; + guint (*get_criteria) (SearchViewFilter* self); +}; + +struct _DefaultSearchViewFilter { + SearchViewFilter parent_instance; + DefaultSearchViewFilterPrivate * priv; +}; + +struct _DefaultSearchViewFilterClass { + SearchViewFilterClass parent_class; +}; + +struct _CollectionPageCollectionSearchViewFilter { + DefaultSearchViewFilter parent_instance; + CollectionPageCollectionSearchViewFilterPrivate * priv; +}; + +struct _CollectionPageCollectionSearchViewFilterClass { + DefaultSearchViewFilterClass parent_class; +}; + +typedef enum { + SEARCH_FILTER_CRITERIA_NONE = 0, + SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0, + SEARCH_FILTER_CRITERIA_TEXT = 1 << 1, + SEARCH_FILTER_CRITERIA_FLAG = 1 << 2, + SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3, + SEARCH_FILTER_CRITERIA_RATING = 1 << 4, + SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5, + SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL +} SearchFilterCriteria; + + +static gpointer collection_view_manager_parent_class = NULL; +static gpointer collection_page_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +static gpointer collection_page_collection_search_view_filter_parent_class = NULL; + +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +GType collection_view_manager_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +#define COLLECTION_VIEW_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerPrivate)) +enum { + COLLECTION_VIEW_MANAGER_DUMMY_PROPERTY +}; +CollectionViewManager* collection_view_manager_new (CollectionPage* page); +CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page); +ViewManager* view_manager_construct (GType object_type); +static DataView* collection_view_manager_real_create_view (ViewManager* base, DataSource* source); +DataView* media_page_create_thumbnail (MediaPage* self, DataSource* source); +static void collection_view_manager_finalize (ViewManager* obj); +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType thumbnail_view_get_type (void) G_GNUC_CONST; +GType checkerboard_item_get_type (void) G_GNUC_CONST; +GType checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +gpointer exporter_ui_ref (gpointer instance); +void exporter_ui_unref (gpointer instance); +GParamSpec* param_spec_exporter_ui (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_exporter_ui (GValue* value, gpointer v_object); +void value_take_exporter_ui (GValue* value, gpointer v_object); +gpointer value_get_exporter_ui (const GValue* value); +GType exporter_ui_get_type (void) G_GNUC_CONST; +GType default_search_view_filter_get_type (void) G_GNUC_CONST; +GType collection_page_collection_search_view_filter_get_type (void) G_GNUC_CONST; +#define COLLECTION_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_COLLECTION_PAGE, CollectionPagePrivate)) +enum { + COLLECTION_PAGE_DUMMY_PROPERTY +}; +CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_new (void); +CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_construct (GType object_type); +#define COLLECTION_PAGE_DESKTOP_SLIDESHOW_TRANSITION_SEC 2.0 +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name); +MediaPage* media_page_construct (GType object_type, const gchar* page_name); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void collection_page_on_photos_altered (CollectionPage* self, GeeMap* altered); +static void _collection_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path); +void page_init_toolbar (Page* self, const gchar* path); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +static void collection_page_on_external_app_changed (CollectionPage* self); +static void _collection_page_on_external_app_changed_configuration_facade_external_app_changed (ConfigurationFacade* _sender, gpointer self); +static GtkToolbar* collection_page_real_get_toolbar (Page* base); +GtkToolbar* page_get_toolbar (Page* self); +GType media_page_zoom_slider_assembly_get_type (void) G_GNUC_CONST; +MediaPageZoomSliderAssembly* media_page_create_zoom_slider_assembly (MediaPage* self); +void media_page_connect_slider (MediaPage* self, MediaPageZoomSliderAssembly* slider); +static InjectionGroup* collection_page_create_file_menu_injectables (void); +InjectionGroup* injection_group_new (const gchar* path); +InjectionGroup* injection_group_construct (GType object_type, const gchar* path); +void injection_group_add_menu_item (InjectionGroup* self, const gchar* name, const gchar* action); +void injection_group_add_separator (InjectionGroup* self); +static InjectionGroup* collection_page_create_edit_menu_injectables (void); +static InjectionGroup* collection_page_create_view_menu_fullscreen_injectables (void); +static InjectionGroup* collection_page_create_photos_menu_edits_injectables (void); +static InjectionGroup* collection_page_create_photos_menu_date_injectables (void); +static InjectionGroup* collection_page_create_photos_menu_externals_injectables (void); +static void collection_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* collection_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define RESOURCES_PRINT_LABEL _ ("_Print") +#define TRANSLATABLE "translatable" +static void collection_page_on_print (CollectionPage* self); +static void _collection_page_on_print_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_PRINT_MENU _ ("_Print...") +static void _vala_array_add171 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_PUBLISH "applications-internet" +static void collection_page_on_publish (CollectionPage* self); +static void _collection_page_on_publish_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_PUBLISH_MENU _ ("Pu_blish...") +#define RESOURCES_PUBLISH_TOOLTIP _ ("Publish to various websites") +static void _vala_array_add172 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_CLOCKWISE "object-rotate-right" +static void collection_page_on_rotate_clockwise (CollectionPage* self); +static void _collection_page_on_rotate_clockwise_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ROTATE_CW_MENU _ ("Rotate _Right") +#define RESOURCES_ROTATE_CW_TOOLTIP _ ("Rotate the photos right (press Ctrl to rotate left)") +static void _vala_array_add173 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_COUNTERCLOCKWISE "object-rotate-left" +static void collection_page_on_rotate_counterclockwise (CollectionPage* self); +static void _collection_page_on_rotate_counterclockwise_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ROTATE_CCW_MENU _ ("Rotate _Left") +#define RESOURCES_ROTATE_CCW_TOOLTIP _ ("Rotate the photos left") +static void _vala_array_add174 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_HFLIP "object-flip-horizontal" +static void collection_page_on_flip_horizontally (CollectionPage* self); +static void _collection_page_on_flip_horizontally_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_HFLIP_MENU _ ("Flip Hori_zontally") +static void _vala_array_add175 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_VFLIP "object-flip-vertical" +static void collection_page_on_flip_vertically (CollectionPage* self); +static void _collection_page_on_flip_vertically_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_VFLIP_MENU _ ("Flip Verti_cally") +static void _vala_array_add176 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ENHANCE "shotwell-auto-enhance" +static void collection_page_on_enhance (CollectionPage* self); +static void _collection_page_on_enhance_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ENHANCE_MENU _ ("_Enhance") +#define RESOURCES_ENHANCE_TOOLTIP _ ("Automatically improve the photo's appearance") +static void _vala_array_add177 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void collection_page_on_copy_adjustments (CollectionPage* self); +static void _collection_page_on_copy_adjustments_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_COPY_ADJUSTMENTS_MENU _ ("_Copy Color Adjustments") +#define RESOURCES_COPY_ADJUSTMENTS_TOOLTIP _ ("Copy the color adjustments applied to the photo") +static void _vala_array_add178 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void collection_page_on_paste_adjustments (CollectionPage* self); +static void _collection_page_on_paste_adjustments_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_PASTE_ADJUSTMENTS_MENU _ ("_Paste Color Adjustments") +#define RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP _ ("Apply copied color adjustments to the selected photos") +static void _vala_array_add179 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void collection_page_on_revert (CollectionPage* self); +static void _collection_page_on_revert_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_REVERT_MENU _ ("Re_vert to Original") +static void _vala_array_add180 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void collection_page_on_set_background (CollectionPage* self); +static void _collection_page_on_set_background_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_SET_BACKGROUND_MENU _ ("Set as _Desktop Background") +#define RESOURCES_SET_BACKGROUND_TOOLTIP _ ("Set selected image to be the new desktop background") +static void _vala_array_add181 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void collection_page_on_duplicate_photo (CollectionPage* self); +static void _collection_page_on_duplicate_photo_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_DUPLICATE_PHOTO_MENU _ ("_Duplicate") +#define RESOURCES_DUPLICATE_PHOTO_TOOLTIP _ ("Make a duplicate of the photo") +static void _vala_array_add182 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void collection_page_on_adjust_date_time (CollectionPage* self); +static void _collection_page_on_adjust_date_time_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ADJUST_DATE_TIME_MENU _ ("_Adjust Date and Time...") +static void _vala_array_add183 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_EDIT_LABEL _ ("_Edit") +static void collection_page_on_external_edit (CollectionPage* self); +static void _collection_page_on_external_edit_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EXTERNAL_EDIT_MENU _ ("Open With E_xternal Editor") +static void _vala_array_add184 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void collection_page_on_external_edit_raw (CollectionPage* self); +static void _collection_page_on_external_edit_raw_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EXTERNAL_EDIT_RAW_MENU _ ("Open With RA_W Editor") +static void _vala_array_add185 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void collection_page_on_slideshow (CollectionPage* self); +static void _collection_page_on_slideshow_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add186 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static InjectionGroup** collection_page_real_init_collect_injection_groups (Page* base, int* result_length1); +InjectionGroup** page_init_collect_injection_groups (Page* self, int* result_length1); +static void _vala_array_add187 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void _vala_array_add188 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void _vala_array_add189 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void _vala_array_add190 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void _vala_array_add191 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void _vala_array_add192 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static gboolean collection_page_selection_has_video (CollectionPage* self); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +gboolean media_source_collection_has_video (GeeCollection* media); +GeeList* view_collection_get_selected_sources (ViewCollection* self); +static gboolean collection_page_page_has_photo (CollectionPage* self); +gboolean media_source_collection_has_photo (GeeCollection* media); +GeeCollection* view_collection_get_sources (ViewCollection* self); +static gboolean collection_page_selection_has_photo (CollectionPage* self); +static void collection_page_real_init_actions (Page* base, gint selected_count, gint count); +void page_init_actions (Page* self, gint selected_count, gint count); +void page_set_action_short_label (Page* self, const gchar* name, const gchar* short_label); +#define RESOURCES_ROTATE_CW_LABEL _ ("Rotate") +#define RESOURCES_ROTATE_CCW_LABEL _ ("Rotate") +#define RESOURCES_PUBLISH_LABEL _ ("Publish") +void page_set_action_important (Page* self, const gchar* name, gboolean important); +static void collection_page_real_update_actions (Page* base, gint selected_count, gint count); +void page_update_actions (Page* self, gint selected_count, gint count); +DataView* view_collection_get_selected_at (ViewCollection* self, gint index); +DataSource* data_view_get_source (DataView* self); +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +void page_set_action_visible (Page* self, const gchar* name, gboolean visible); +gboolean is_string_empty (const gchar* s); +gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_master_file_format (Photo* self); +gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self); +static gboolean collection_page_can_revert_selected (CollectionPage* self); +gboolean photo_has_color_adjustments (Photo* self); +gboolean pixel_transformation_bundle_has_copied_color_adjustments (void); +GtkAction* page_get_action (Page* self, const gchar* name); +#define RESOURCES_SET_BACKGROUND_SLIDESHOW_MENU _ ("Set as _Desktop Slideshow...") +gboolean data_view_is_selected (DataView* self); +gboolean alteration_has_subject (Alteration* self, const gchar* subject); +GType library_photo_get_type (void) G_GNUC_CONST; +gint view_collection_get_selected_count (ViewCollection* self); +gpointer print_manager_ref (gpointer instance); +void print_manager_unref (gpointer instance); +GParamSpec* param_spec_print_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_print_manager (GValue* value, gpointer v_object); +void value_take_print_manager (GValue* value, gpointer v_object); +gpointer value_get_print_manager (const GValue* value); +GType print_manager_get_type (void) G_GNUC_CONST; +PrintManager* print_manager_get_instance (void); +void print_manager_spool_photo (PrintManager* self, GeeCollection* to_print); +GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t); +static void collection_page_real_on_item_activated (CheckerboardPage* base, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); +GType media_source_item_get_type (void) G_GNUC_CONST; +GType thumbnail_get_type (void) G_GNUC_CONST; +MediaSource* thumbnail_get_media_source (Thumbnail* self); +void media_page_on_play_video (MediaPage* self); +gchar* data_object_to_string (DataObject* self); +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_switch_to_photo_page (LibraryWindow* self, CollectionPage* controller, Photo* current); +static gboolean collection_page_real_on_app_key_pressed (Page* base, GdkEventKey* event); +void page_activate_action (Page* self, const gchar* name); +gboolean page_on_app_key_pressed (Page* self, GdkEventKey* event); +static void collection_page_real_on_export (MediaPage* base); +GType exporter_get_type (void) G_GNUC_CONST; +ExporterUI* video_export_many (GeeCollection* videos, ExporterCompletionCallback done, void* done_target, gboolean export_in_place); +static void collection_page_on_export_completed (CollectionPage* self); +static void _collection_page_on_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self); +GType export_dialog_get_type (void) G_GNUC_CONST; +ExportDialog* export_dialog_new (const gchar* title); +ExportDialog* export_dialog_construct (GType object_type, const gchar* title); +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +void export_format_parameters_current (ExportFormatParameters* result); +void export_format_parameters_last (ExportFormatParameters* result); +GType scale_constraint_get_type (void) G_GNUC_CONST; +gboolean export_dialog_execute (ExportDialog* self, gint* scale, ScaleConstraint* constraint, ExportFormatParameters* parameters); +GType scaling_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void scaling_for_constraint (ScaleConstraint constraint, gint scale, gboolean scale_up, Scaling* result); +GFile* export_ui_choose_file (const gchar* current_file_basename); +gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params); +AppWindow* app_window_get_instance (void); +void page_window_set_busy_cursor (PageWindow* self); +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params); +void page_window_set_normal_cursor (PageWindow* self); +GtkResponseType export_error_dialog (GFile* dest, gboolean photos_remaining); +GFile* export_ui_choose_dir (const gchar* user_title); +Exporter* exporter_new (GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +Exporter* exporter_construct (GType object_type, GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +ExporterUI* exporter_ui_new (Exporter* exporter); +ExporterUI* exporter_ui_construct (GType object_type, Exporter* exporter); +void exporter_ui_export (ExporterUI* self, ExporterCompletionCallback completion_callback, void* completion_callback_target); +gboolean photo_has_transformations (Photo* self); +gboolean photo_has_editable (Photo* self); +static gboolean collection_page_can_revert_editable_selected (CollectionPage* self); +GType command_get_type (void) G_GNUC_CONST; +GType page_command_get_type (void) G_GNUC_CONST; +GType multiple_data_source_command_get_type (void) G_GNUC_CONST; +GType rotate_multiple_command_get_type (void) G_GNUC_CONST; +GeeList* view_collection_get_selected (ViewCollection* self); +GType rotation_get_type (void) G_GNUC_CONST; +#define RESOURCES_ROTATE_CW_FULL_LABEL _ ("Rotate Right") +RotateMultipleCommand* rotate_multiple_command_new (GeeIterable* iter, Rotation rotation, const gchar* name, const gchar* explanation, const gchar* progress_text, const gchar* undo_progress_text); +RotateMultipleCommand* rotate_multiple_command_construct (GType object_type, GeeIterable* iter, Rotation rotation, const gchar* name, const gchar* explanation, const gchar* progress_text, const gchar* undo_progress_text); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +void command_manager_execute (CommandManager* self, Command* command); +void publishing_ui_publishing_dialog_go (GeeCollection* to_publish); +#define RESOURCES_ROTATE_CCW_FULL_LABEL _ ("Rotate Left") +#define RESOURCES_HFLIP_LABEL _ ("Flip Horizontally") +#define RESOURCES_VFLIP_LABEL _ ("Flip Vertically") +gboolean revert_editable_dialog (GtkWindow* owner, GeeCollection* photos); +void photo_revert_to_master (Photo* self, gboolean notify); +GType multiple_photo_transformation_command_get_type (void) G_GNUC_CONST; +GType revert_multiple_command_get_type (void) G_GNUC_CONST; +RevertMultipleCommand* revert_multiple_command_new (GeeIterable* iter); +RevertMultipleCommand* revert_multiple_command_construct (GType object_type, GeeIterable* iter); +gpointer pixel_transformation_bundle_ref (gpointer instance); +void pixel_transformation_bundle_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object); +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation_bundle (const GValue* value); +GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST; +void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments); +PixelTransformationBundle* photo_get_color_adjustments (Photo* self); +PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void); +GType adjust_colors_multiple_command_get_type (void) G_GNUC_CONST; +#define RESOURCES_PASTE_ADJUSTMENTS_LABEL _ ("Paste Color Adjustments") +AdjustColorsMultipleCommand* adjust_colors_multiple_command_new (GeeIterable* iter, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation); +AdjustColorsMultipleCommand* adjust_colors_multiple_command_construct (GType object_type, GeeIterable* iter, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation); +GType enhance_multiple_command_get_type (void) G_GNUC_CONST; +EnhanceMultipleCommand* enhance_multiple_command_new (GeeIterable* iter); +EnhanceMultipleCommand* enhance_multiple_command_construct (GType object_type, GeeIterable* iter); +GType duplicate_multiple_photos_command_get_type (void) G_GNUC_CONST; +DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_new (GeeIterable* iter); +DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_construct (GType object_type, GeeIterable* iter); +GType dateable_get_type (void) G_GNUC_CONST; +GType adjust_date_time_dialog_get_type (void) G_GNUC_CONST; +AdjustDateTimeDialog* adjust_date_time_dialog_new (Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video); +AdjustDateTimeDialog* adjust_date_time_dialog_construct (GType object_type, Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video); +gboolean adjust_date_time_dialog_execute (AdjustDateTimeDialog* self, gint64* time_shift, gboolean* keep_relativity, gboolean* modify_originals); +GType adjust_date_time_photos_command_get_type (void) G_GNUC_CONST; +AdjustDateTimePhotosCommand* adjust_date_time_photos_command_new (GeeIterable* iter, gint64 time_shift, gboolean keep_relativity, gboolean modify_originals); +AdjustDateTimePhotosCommand* adjust_date_time_photos_command_construct (GType object_type, GeeIterable* iter, gint64 time_shift, gboolean keep_relativity, gboolean modify_originals); +void photo_open_with_external_editor (Photo* self, GError** error); +void open_external_editor_error_dialog (GError* err, Photo* photo); +void photo_open_with_raw_external_editor (Photo* self, GError** error); +void app_window_error_message (const gchar* message, GtkWindow* parent); +gchar* resources_launch_editor_failed (GError* err); +void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos); +gpointer set_background_dialog_ref (gpointer instance); +void set_background_dialog_unref (gpointer instance); +GParamSpec* param_spec_set_background_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_set_background_dialog (GValue* value, gpointer v_object); +void value_take_set_background_dialog (GValue* value, gpointer v_object); +gpointer value_get_set_background_dialog (const GValue* value); +GType set_background_dialog_get_type (void) G_GNUC_CONST; +GType set_background_photo_dialog_get_type (void) G_GNUC_CONST; +SetBackgroundPhotoDialog* set_background_photo_dialog_new (void); +SetBackgroundPhotoDialog* set_background_photo_dialog_construct (GType object_type); +gboolean set_background_photo_dialog_execute (SetBackgroundPhotoDialog* self, gboolean* desktop_background, gboolean* screensaver); +void desktop_integration_set_background (Photo* photo, gboolean desktop, gboolean screensaver); +GType set_background_slideshow_dialog_get_type (void) G_GNUC_CONST; +SetBackgroundSlideshowDialog* set_background_slideshow_dialog_new (void); +SetBackgroundSlideshowDialog* set_background_slideshow_dialog_construct (GType object_type); +gboolean set_background_slideshow_dialog_execute (SetBackgroundSlideshowDialog* self, gint* delay_value, gboolean* desktop_background, gboolean* screensaver); +void desktop_integration_set_background_slideshow (GeeCollection* photos, gdouble duration, gdouble transition, gboolean desktop_background, gboolean screensaver); +gint data_collection_get_count (DataCollection* self); +GeeList* view_collection_get_sources_of_type (ViewCollection* self, GType t); +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +void app_window_go_fullscreen (AppWindow* self, Page* page); +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +SlideshowPage* slideshow_page_new (SourceCollection* sources, ViewCollection* controller, Photo* start); +SlideshowPage* slideshow_page_construct (GType object_type, SourceCollection* sources, ViewCollection* controller, Photo* start); +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType slideshow_page_get_type (void) G_GNUC_CONST; +static gboolean collection_page_real_on_ctrl_pressed (Page* base, GdkEventKey* event); +gboolean page_on_ctrl_pressed (Page* self, GdkEventKey* event); +static gboolean collection_page_real_on_ctrl_released (Page* base, GdkEventKey* event); +gboolean page_on_ctrl_released (Page* self, GdkEventKey* event); +static SearchViewFilter* collection_page_real_get_search_view_filter (CheckerboardPage* base); +enum { + COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_DUMMY_PROPERTY +}; +static guint collection_page_collection_search_view_filter_real_get_criteria (SearchViewFilter* base); +GType search_filter_criteria_get_type (void) G_GNUC_CONST; +DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type); +static void collection_page_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return self ? g_object_ref (self) : NULL; +#line 1451 "CollectionPage.c" +} + + +CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page) { + CollectionViewManager* self = NULL; + CollectionPage* _tmp0_ = NULL; + CollectionPage* _tmp1_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (IS_COLLECTION_PAGE (page), NULL); +#line 10 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = (CollectionViewManager*) view_manager_construct (object_type); +#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page; +#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (self->priv->page); +#line 11 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self->priv->page = _tmp1_; +#line 10 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return self; +#line 1473 "CollectionPage.c" +} + + +CollectionViewManager* collection_view_manager_new (CollectionPage* page) { +#line 10 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return collection_view_manager_construct (TYPE_COLLECTION_VIEW_MANAGER, page); +#line 1480 "CollectionPage.c" +} + + +static DataView* collection_view_manager_real_create_view (ViewManager* base, DataSource* source) { + CollectionViewManager * self; + DataView* result = NULL; + CollectionPage* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager); +#line 14 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = self->priv->page; +#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = source; +#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = media_page_create_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_PAGE, MediaPage), _tmp1_); +#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp2_; +#line 15 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 1504 "CollectionPage.c" +} + + +static void collection_view_manager_class_init (CollectionViewManagerClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_view_manager_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((ViewManagerClass *) klass)->finalize = collection_view_manager_finalize; +#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_type_class_add_private (klass, sizeof (CollectionViewManagerPrivate)); +#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((ViewManagerClass *) klass)->create_view = collection_view_manager_real_create_view; +#line 1517 "CollectionPage.c" +} + + +static void collection_view_manager_instance_init (CollectionViewManager * self) { +#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self->priv = COLLECTION_VIEW_MANAGER_GET_PRIVATE (self); +#line 1524 "CollectionPage.c" +} + + +static void collection_view_manager_finalize (ViewManager* obj) { + CollectionViewManager * self; +#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager); +#line 8 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (self->priv->page); +#line 7 "/home/jens/Source/shotwell/src/CollectionPage.vala" + VIEW_MANAGER_CLASS (collection_view_manager_parent_class)->finalize (obj); +#line 1536 "CollectionPage.c" +} + + +GType collection_view_manager_get_type (void) { + static volatile gsize collection_view_manager_type_id__volatile = 0; + if (g_once_init_enter (&collection_view_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CollectionViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) collection_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CollectionViewManager), 0, (GInstanceInitFunc) collection_view_manager_instance_init, NULL }; + GType collection_view_manager_type_id; + collection_view_manager_type_id = g_type_register_static (TYPE_VIEW_MANAGER, "CollectionViewManager", &g_define_type_info, 0); + g_once_init_leave (&collection_view_manager_type_id__volatile, collection_view_manager_type_id); + } + return collection_view_manager_type_id__volatile; +} + + +static void _collection_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_photos_altered ((CollectionPage*) self, items); +#line 1555 "CollectionPage.c" +} + + +static void _collection_page_on_external_app_changed_configuration_facade_external_app_changed (ConfigurationFacade* _sender, gpointer self) { +#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_external_app_changed ((CollectionPage*) self); +#line 1562 "CollectionPage.c" +} + + +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name) { + CollectionPage * self = NULL; + const gchar* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (page_name != NULL, NULL); +#line 33 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_name; +#line 33 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = (CollectionPage*) media_page_construct (object_type, _tmp0_); +#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = _tmp1_; +#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _collection_page_on_photos_altered_data_collection_items_altered, self, 0); +#line 35 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp2_); +#line 37 "/home/jens/Source/shotwell/src/CollectionPage.vala" + checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/CollectionContextMenu"); +#line 38 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_init_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "/CollectionToolbar"); +#line 40 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = config_facade_get_instance (); +#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = _tmp3_; +#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "external-app-changed", (GCallback) _collection_page_on_external_app_changed_configuration_facade_external_app_changed, self, 0); +#line 43 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 32 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return self; +#line 1603 "CollectionPage.c" +} + + +static GtkToolbar* collection_page_real_get_toolbar (Page* base) { + CollectionPage * self; + GtkToolbar* result = NULL; + GtkToolbar* _tmp0_ = NULL; + GtkToolbar* _tmp20_ = NULL; + GtkToolbar* _tmp21_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp0_ == NULL) { +#line 1619 "CollectionPage.c" + GtkToolbar* _tmp1_ = NULL; + GtkToolbar* _tmp2_ = NULL; + GtkSeparatorToolItem* separator = NULL; + GtkSeparatorToolItem* _tmp3_ = NULL; + GtkSeparatorToolItem* _tmp4_ = NULL; + GtkSeparatorToolItem* _tmp5_ = NULL; + GtkToolbar* _tmp6_ = NULL; + GtkToolbar* _tmp7_ = NULL; + GtkSeparatorToolItem* _tmp8_ = NULL; + GtkSeparatorToolItem* drawn_separator = NULL; + GtkSeparatorToolItem* _tmp9_ = NULL; + GtkSeparatorToolItem* _tmp10_ = NULL; + GtkSeparatorToolItem* _tmp11_ = NULL; + GtkToolbar* _tmp12_ = NULL; + GtkToolbar* _tmp13_ = NULL; + GtkSeparatorToolItem* _tmp14_ = NULL; + MediaPageZoomSliderAssembly* zoom_slider_assembly = NULL; + MediaPageZoomSliderAssembly* _tmp15_ = NULL; + MediaPageZoomSliderAssembly* _tmp16_ = NULL; + GtkToolbar* _tmp17_ = NULL; + GtkToolbar* _tmp18_ = NULL; + MediaPageZoomSliderAssembly* _tmp19_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = PAGE_CLASS (collection_page_parent_class)->get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page)); +#line 48 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp2_); +#line 51 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 51 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_object_ref_sink (_tmp3_); +#line 51 "/home/jens/Source/shotwell/src/CollectionPage.vala" + separator = _tmp3_; +#line 52 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = separator; +#line 52 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 53 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = separator; +#line 53 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_separator_tool_item_set_draw (_tmp5_, FALSE); +#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = separator; +#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_toolbar_insert (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 54 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 56 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 56 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_object_ref_sink (_tmp9_); +#line 56 "/home/jens/Source/shotwell/src/CollectionPage.vala" + drawn_separator = _tmp9_; +#line 57 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = drawn_separator; +#line 57 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_tool_item_get_type (), GtkToolItem), FALSE); +#line 58 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = drawn_separator; +#line 58 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_separator_tool_item_set_draw (_tmp11_, TRUE); +#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _tmp12_; +#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = drawn_separator; +#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_toolbar_insert (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 60 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp13_); +#line 63 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = media_page_create_zoom_slider_assembly (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage)); +#line 63 "/home/jens/Source/shotwell/src/CollectionPage.vala" + zoom_slider_assembly = _tmp15_; +#line 64 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = zoom_slider_assembly; +#line 64 "/home/jens/Source/shotwell/src/CollectionPage.vala" + media_page_connect_slider (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), _tmp16_); +#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = _tmp17_; +#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = zoom_slider_assembly; +#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_toolbar_insert (_tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 65 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp18_); +#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (zoom_slider_assembly); +#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (drawn_separator); +#line 47 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (separator); +#line 1720 "CollectionPage.c" + } +#line 68 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 68 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = _g_object_ref0 (_tmp20_); +#line 68 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp21_; +#line 68 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 1730 "CollectionPage.c" +} + + +static InjectionGroup* collection_page_create_file_menu_injectables (void) { + InjectionGroup* result = NULL; + InjectionGroup* group = NULL; + InjectionGroup* _tmp0_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = injection_group_new ("/MenuBar/FileMenu/FileExtrasPlaceholder"); +#line 72 "/home/jens/Source/shotwell/src/CollectionPage.vala" + group = _tmp0_; +#line 74 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "Print", NULL); +#line 75 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_separator (group); +#line 76 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "Publish", NULL); +#line 77 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "SendTo", NULL); +#line 78 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "SetBackground", NULL); +#line 80 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = group; +#line 80 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 1756 "CollectionPage.c" +} + + +static InjectionGroup* collection_page_create_edit_menu_injectables (void) { + InjectionGroup* result = NULL; + InjectionGroup* group = NULL; + InjectionGroup* _tmp0_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = injection_group_new ("/MenuBar/EditMenu/EditExtrasPlaceholder"); +#line 84 "/home/jens/Source/shotwell/src/CollectionPage.vala" + group = _tmp0_; +#line 86 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "Duplicate", NULL); +#line 88 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = group; +#line 88 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 1774 "CollectionPage.c" +} + + +static InjectionGroup* collection_page_create_view_menu_fullscreen_injectables (void) { + InjectionGroup* result = NULL; + InjectionGroup* group = NULL; + InjectionGroup* _tmp0_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = injection_group_new ("/MenuBar/ViewMenu/ViewExtrasFullscreenSlideshowPlaceholder"); +#line 92 "/home/jens/Source/shotwell/src/CollectionPage.vala" + group = _tmp0_; +#line 94 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "Fullscreen", "CommonFullscreen"); +#line 95 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_separator (group); +#line 96 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "Slideshow", NULL); +#line 98 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = group; +#line 98 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 1796 "CollectionPage.c" +} + + +static InjectionGroup* collection_page_create_photos_menu_edits_injectables (void) { + InjectionGroup* result = NULL; + InjectionGroup* group = NULL; + InjectionGroup* _tmp0_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = injection_group_new ("/MenuBar/PhotosMenu/PhotosExtrasEditsPlaceholder"); +#line 102 "/home/jens/Source/shotwell/src/CollectionPage.vala" + group = _tmp0_; +#line 104 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "RotateClockwise", NULL); +#line 105 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "RotateCounterclockwise", NULL); +#line 106 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "FlipHorizontally", NULL); +#line 107 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "FlipVertically", NULL); +#line 108 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_separator (group); +#line 109 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "Enhance", NULL); +#line 110 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "Revert", NULL); +#line 111 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_separator (group); +#line 112 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "CopyColorAdjustments", NULL); +#line 113 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "PasteColorAdjustments", NULL); +#line 115 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = group; +#line 115 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 1832 "CollectionPage.c" +} + + +static InjectionGroup* collection_page_create_photos_menu_date_injectables (void) { + InjectionGroup* result = NULL; + InjectionGroup* group = NULL; + InjectionGroup* _tmp0_ = NULL; +#line 119 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = injection_group_new ("/MenuBar/PhotosMenu/PhotosExtrasDateTimePlaceholder"); +#line 119 "/home/jens/Source/shotwell/src/CollectionPage.vala" + group = _tmp0_; +#line 121 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "AdjustDateTime", NULL); +#line 123 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = group; +#line 123 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 1850 "CollectionPage.c" +} + + +static InjectionGroup* collection_page_create_photos_menu_externals_injectables (void) { + InjectionGroup* result = NULL; + InjectionGroup* group = NULL; + InjectionGroup* _tmp0_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = injection_group_new ("/MenuBar/PhotosMenu/PhotosExtrasExternalsPlaceholder"); +#line 127 "/home/jens/Source/shotwell/src/CollectionPage.vala" + group = _tmp0_; +#line 129 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "ExternalEdit", NULL); +#line 130 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "ExternalEditRAW", NULL); +#line 131 "/home/jens/Source/shotwell/src/CollectionPage.vala" + injection_group_add_menu_item (group, "PlayVideo", NULL); +#line 133 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = group; +#line 133 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 1872 "CollectionPage.c" +} + + +static void collection_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + CollectionPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 136 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 136 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 137 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = ui_filenames; +#line 137 "/home/jens/Source/shotwell/src/CollectionPage.vala" + PAGE_CLASS (collection_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp0_); +#line 139 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = ui_filenames; +#line 139 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "collection.ui"); +#line 1892 "CollectionPage.c" +} + + +static void _collection_page_on_print_gtk_action_callback (GtkAction* action, gpointer self) { +#line 145 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_print ((CollectionPage*) self); +#line 1899 "CollectionPage.c" +} + + +static void _vala_array_add171 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 148 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 148 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 148 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1910 "CollectionPage.c" + } +#line 148 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 1914 "CollectionPage.c" +} + + +static void _collection_page_on_publish_gtk_action_callback (GtkAction* action, gpointer self) { +#line 150 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_publish ((CollectionPage*) self); +#line 1921 "CollectionPage.c" +} + + +static void _vala_array_add172 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1932 "CollectionPage.c" + } +#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 1936 "CollectionPage.c" +} + + +static void _collection_page_on_rotate_clockwise_gtk_action_callback (GtkAction* action, gpointer self) { +#line 156 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_rotate_clockwise ((CollectionPage*) self); +#line 1943 "CollectionPage.c" +} + + +static void _vala_array_add173 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1954 "CollectionPage.c" + } +#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 1958 "CollectionPage.c" +} + + +static void _collection_page_on_rotate_counterclockwise_gtk_action_callback (GtkAction* action, gpointer self) { +#line 162 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_rotate_counterclockwise ((CollectionPage*) self); +#line 1965 "CollectionPage.c" +} + + +static void _vala_array_add174 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 166 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 166 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 166 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1976 "CollectionPage.c" + } +#line 166 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 1980 "CollectionPage.c" +} + + +static void _collection_page_on_flip_horizontally_gtk_action_callback (GtkAction* action, gpointer self) { +#line 168 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_flip_horizontally ((CollectionPage*) self); +#line 1987 "CollectionPage.c" +} + + +static void _vala_array_add175 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 171 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 171 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 171 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1998 "CollectionPage.c" + } +#line 171 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2002 "CollectionPage.c" +} + + +static void _collection_page_on_flip_vertically_gtk_action_callback (GtkAction* action, gpointer self) { +#line 173 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_flip_vertically ((CollectionPage*) self); +#line 2009 "CollectionPage.c" +} + + +static void _vala_array_add176 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 176 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 176 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 176 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2020 "CollectionPage.c" + } +#line 176 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2024 "CollectionPage.c" +} + + +static void _collection_page_on_enhance_gtk_action_callback (GtkAction* action, gpointer self) { +#line 178 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_enhance ((CollectionPage*) self); +#line 2031 "CollectionPage.c" +} + + +static void _vala_array_add177 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2042 "CollectionPage.c" + } +#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2046 "CollectionPage.c" +} + + +static void _collection_page_on_copy_adjustments_gtk_action_callback (GtkAction* action, gpointer self) { +#line 184 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_copy_adjustments ((CollectionPage*) self); +#line 2053 "CollectionPage.c" +} + + +static void _vala_array_add178 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2064 "CollectionPage.c" + } +#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2068 "CollectionPage.c" +} + + +static void _collection_page_on_paste_adjustments_gtk_action_callback (GtkAction* action, gpointer self) { +#line 190 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_paste_adjustments ((CollectionPage*) self); +#line 2075 "CollectionPage.c" +} + + +static void _vala_array_add179 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 194 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 194 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 194 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2086 "CollectionPage.c" + } +#line 194 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2090 "CollectionPage.c" +} + + +static void _collection_page_on_revert_gtk_action_callback (GtkAction* action, gpointer self) { +#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_revert ((CollectionPage*) self); +#line 2097 "CollectionPage.c" +} + + +static void _vala_array_add180 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2108 "CollectionPage.c" + } +#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2112 "CollectionPage.c" +} + + +static void _collection_page_on_set_background_gtk_action_callback (GtkAction* action, gpointer self) { +#line 201 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_set_background ((CollectionPage*) self); +#line 2119 "CollectionPage.c" +} + + +static void _vala_array_add181 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2130 "CollectionPage.c" + } +#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2134 "CollectionPage.c" +} + + +static void _collection_page_on_duplicate_photo_gtk_action_callback (GtkAction* action, gpointer self) { +#line 207 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_duplicate_photo ((CollectionPage*) self); +#line 2141 "CollectionPage.c" +} + + +static void _vala_array_add182 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 211 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 211 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 211 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2152 "CollectionPage.c" + } +#line 211 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2156 "CollectionPage.c" +} + + +static void _collection_page_on_adjust_date_time_gtk_action_callback (GtkAction* action, gpointer self) { +#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_adjust_date_time ((CollectionPage*) self); +#line 2163 "CollectionPage.c" +} + + +static void _vala_array_add183 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 216 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 216 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 216 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2174 "CollectionPage.c" + } +#line 216 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2178 "CollectionPage.c" +} + + +static void _collection_page_on_external_edit_gtk_action_callback (GtkAction* action, gpointer self) { +#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_external_edit ((CollectionPage*) self); +#line 2185 "CollectionPage.c" +} + + +static void _vala_array_add184 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2196 "CollectionPage.c" + } +#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2200 "CollectionPage.c" +} + + +static void _collection_page_on_external_edit_raw_gtk_action_callback (GtkAction* action, gpointer self) { +#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_external_edit_raw ((CollectionPage*) self); +#line 2207 "CollectionPage.c" +} + + +static void _vala_array_add185 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2218 "CollectionPage.c" + } +#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2222 "CollectionPage.c" +} + + +static void _collection_page_on_slideshow_gtk_action_callback (GtkAction* action, gpointer self) { +#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_slideshow ((CollectionPage*) self); +#line 2229 "CollectionPage.c" +} + + +static void _vala_array_add186 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2240 "CollectionPage.c" + } +#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = *value; +#line 2244 "CollectionPage.c" +} + + +static GtkActionEntry* collection_page_real_init_collect_action_entries (Page* base, int* result_length1) { + CollectionPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry print = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry publish = {0}; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry rotate_right = {0}; + GtkActionEntry _tmp8_ = {0}; + GtkActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionEntry _tmp10_ = {0}; + GtkActionEntry rotate_left = {0}; + GtkActionEntry _tmp11_ = {0}; + GtkActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkActionEntry _tmp13_ = {0}; + GtkActionEntry hflip = {0}; + GtkActionEntry _tmp14_ = {0}; + GtkActionEntry* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GtkActionEntry _tmp16_ = {0}; + GtkActionEntry vflip = {0}; + GtkActionEntry _tmp17_ = {0}; + GtkActionEntry* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + GtkActionEntry _tmp19_ = {0}; + GtkActionEntry enhance = {0}; + GtkActionEntry _tmp20_ = {0}; + GtkActionEntry* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GtkActionEntry _tmp22_ = {0}; + GtkActionEntry copy_adjustments = {0}; + GtkActionEntry _tmp23_ = {0}; + GtkActionEntry* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + GtkActionEntry _tmp25_ = {0}; + GtkActionEntry paste_adjustments = {0}; + GtkActionEntry _tmp26_ = {0}; + GtkActionEntry* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GtkActionEntry _tmp28_ = {0}; + GtkActionEntry revert = {0}; + GtkActionEntry _tmp29_ = {0}; + GtkActionEntry* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + GtkActionEntry _tmp31_ = {0}; + GtkActionEntry set_background = {0}; + GtkActionEntry _tmp32_ = {0}; + GtkActionEntry* _tmp33_ = NULL; + gint _tmp33__length1 = 0; + GtkActionEntry _tmp34_ = {0}; + GtkActionEntry duplicate = {0}; + GtkActionEntry _tmp35_ = {0}; + GtkActionEntry* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + GtkActionEntry _tmp37_ = {0}; + GtkActionEntry adjust_date_time = {0}; + GtkActionEntry _tmp38_ = {0}; + GtkActionEntry* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + GtkActionEntry _tmp40_ = {0}; + GtkActionEntry external_edit = {0}; + GtkActionEntry _tmp41_ = {0}; + GtkActionEntry* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + GtkActionEntry _tmp43_ = {0}; + GtkActionEntry edit_raw = {0}; + GtkActionEntry _tmp44_ = {0}; + GtkActionEntry* _tmp45_ = NULL; + gint _tmp45__length1 = 0; + GtkActionEntry _tmp46_ = {0}; + GtkActionEntry slideshow = {0}; + GtkActionEntry _tmp47_ = {0}; + const gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + GtkActionEntry* _tmp50_ = NULL; + gint _tmp50__length1 = 0; + GtkActionEntry _tmp51_ = {0}; + GtkActionEntry* _tmp52_ = NULL; + gint _tmp52__length1 = 0; +#line 142 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 143 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = PAGE_CLASS (collection_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), &_tmp0_); +#line 143 "/home/jens/Source/shotwell/src/CollectionPage.vala" + actions = _tmp1_; +#line 143 "/home/jens/Source/shotwell/src/CollectionPage.vala" + actions_length1 = _tmp0_; +#line 143 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _actions_size_ = actions_length1; +#line 145 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_.name = "Print"; +#line 145 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_.stock_id = RESOURCES_PRINT_LABEL; +#line 145 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 145 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_.accelerator = "P"; +#line 145 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 145 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_.callback = (GCallback) _collection_page_on_print_gtk_action_callback; +#line 145 "/home/jens/Source/shotwell/src/CollectionPage.vala" + print = _tmp2_; +#line 147 "/home/jens/Source/shotwell/src/CollectionPage.vala" + print.label = RESOURCES_PRINT_MENU; +#line 148 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = actions; +#line 148 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3__length1 = actions_length1; +#line 148 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = print; +#line 148 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add171 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 150 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_.name = "Publish"; +#line 150 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_.stock_id = RESOURCES_PUBLISH; +#line 150 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 150 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_.accelerator = "P"; +#line 150 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 150 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_.callback = (GCallback) _collection_page_on_publish_gtk_action_callback; +#line 150 "/home/jens/Source/shotwell/src/CollectionPage.vala" + publish = _tmp5_; +#line 152 "/home/jens/Source/shotwell/src/CollectionPage.vala" + publish.label = RESOURCES_PUBLISH_MENU; +#line 153 "/home/jens/Source/shotwell/src/CollectionPage.vala" + publish.tooltip = RESOURCES_PUBLISH_TOOLTIP; +#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = actions; +#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6__length1 = actions_length1; +#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = publish; +#line 154 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add172 (&actions, &actions_length1, &_actions_size_, &_tmp7_); +#line 156 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_.name = "RotateClockwise"; +#line 156 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_.stock_id = RESOURCES_CLOCKWISE; +#line 156 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_.label = TRANSLATABLE; +#line 156 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_.accelerator = "R"; +#line 156 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_.tooltip = TRANSLATABLE; +#line 156 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_.callback = (GCallback) _collection_page_on_rotate_clockwise_gtk_action_callback; +#line 156 "/home/jens/Source/shotwell/src/CollectionPage.vala" + rotate_right = _tmp8_; +#line 158 "/home/jens/Source/shotwell/src/CollectionPage.vala" + rotate_right.label = RESOURCES_ROTATE_CW_MENU; +#line 159 "/home/jens/Source/shotwell/src/CollectionPage.vala" + rotate_right.tooltip = RESOURCES_ROTATE_CW_TOOLTIP; +#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = actions; +#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9__length1 = actions_length1; +#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = rotate_right; +#line 160 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add173 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 162 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_.name = "RotateCounterclockwise"; +#line 162 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_.stock_id = RESOURCES_COUNTERCLOCKWISE; +#line 162 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_.label = TRANSLATABLE; +#line 162 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_.accelerator = "R"; +#line 162 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_.tooltip = TRANSLATABLE; +#line 162 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_.callback = (GCallback) _collection_page_on_rotate_counterclockwise_gtk_action_callback; +#line 162 "/home/jens/Source/shotwell/src/CollectionPage.vala" + rotate_left = _tmp11_; +#line 164 "/home/jens/Source/shotwell/src/CollectionPage.vala" + rotate_left.label = RESOURCES_ROTATE_CCW_MENU; +#line 165 "/home/jens/Source/shotwell/src/CollectionPage.vala" + rotate_left.tooltip = RESOURCES_ROTATE_CCW_TOOLTIP; +#line 166 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = actions; +#line 166 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12__length1 = actions_length1; +#line 166 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = rotate_left; +#line 166 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add174 (&actions, &actions_length1, &_actions_size_, &_tmp13_); +#line 168 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_.name = "FlipHorizontally"; +#line 168 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_.stock_id = RESOURCES_HFLIP; +#line 168 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_.label = TRANSLATABLE; +#line 168 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_.accelerator = NULL; +#line 168 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_.tooltip = TRANSLATABLE; +#line 168 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_.callback = (GCallback) _collection_page_on_flip_horizontally_gtk_action_callback; +#line 168 "/home/jens/Source/shotwell/src/CollectionPage.vala" + hflip = _tmp14_; +#line 170 "/home/jens/Source/shotwell/src/CollectionPage.vala" + hflip.label = RESOURCES_HFLIP_MENU; +#line 171 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = actions; +#line 171 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15__length1 = actions_length1; +#line 171 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = hflip; +#line 171 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add175 (&actions, &actions_length1, &_actions_size_, &_tmp16_); +#line 173 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_.name = "FlipVertically"; +#line 173 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_.stock_id = RESOURCES_VFLIP; +#line 173 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_.label = TRANSLATABLE; +#line 173 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_.accelerator = NULL; +#line 173 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_.tooltip = TRANSLATABLE; +#line 173 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_.callback = (GCallback) _collection_page_on_flip_vertically_gtk_action_callback; +#line 173 "/home/jens/Source/shotwell/src/CollectionPage.vala" + vflip = _tmp17_; +#line 175 "/home/jens/Source/shotwell/src/CollectionPage.vala" + vflip.label = RESOURCES_VFLIP_MENU; +#line 176 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = actions; +#line 176 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18__length1 = actions_length1; +#line 176 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = vflip; +#line 176 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add176 (&actions, &actions_length1, &_actions_size_, &_tmp19_); +#line 178 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_.name = "Enhance"; +#line 178 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_.stock_id = RESOURCES_ENHANCE; +#line 178 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_.label = TRANSLATABLE; +#line 178 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_.accelerator = "E"; +#line 178 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_.tooltip = TRANSLATABLE; +#line 178 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_.callback = (GCallback) _collection_page_on_enhance_gtk_action_callback; +#line 178 "/home/jens/Source/shotwell/src/CollectionPage.vala" + enhance = _tmp20_; +#line 180 "/home/jens/Source/shotwell/src/CollectionPage.vala" + enhance.label = RESOURCES_ENHANCE_MENU; +#line 181 "/home/jens/Source/shotwell/src/CollectionPage.vala" + enhance.tooltip = RESOURCES_ENHANCE_TOOLTIP; +#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = actions; +#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21__length1 = actions_length1; +#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = enhance; +#line 182 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add177 (&actions, &actions_length1, &_actions_size_, &_tmp22_); +#line 184 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_.name = "CopyColorAdjustments"; +#line 184 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_.stock_id = NULL; +#line 184 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_.label = TRANSLATABLE; +#line 184 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_.accelerator = "C"; +#line 184 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_.tooltip = TRANSLATABLE; +#line 184 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_.callback = (GCallback) _collection_page_on_copy_adjustments_gtk_action_callback; +#line 184 "/home/jens/Source/shotwell/src/CollectionPage.vala" + copy_adjustments = _tmp23_; +#line 186 "/home/jens/Source/shotwell/src/CollectionPage.vala" + copy_adjustments.label = RESOURCES_COPY_ADJUSTMENTS_MENU; +#line 187 "/home/jens/Source/shotwell/src/CollectionPage.vala" + copy_adjustments.tooltip = RESOURCES_COPY_ADJUSTMENTS_TOOLTIP; +#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = actions; +#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24__length1 = actions_length1; +#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = copy_adjustments; +#line 188 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add178 (&actions, &actions_length1, &_actions_size_, &_tmp25_); +#line 190 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_.name = "PasteColorAdjustments"; +#line 190 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_.stock_id = NULL; +#line 190 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_.label = TRANSLATABLE; +#line 190 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_.accelerator = "V"; +#line 190 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_.tooltip = TRANSLATABLE; +#line 190 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_.callback = (GCallback) _collection_page_on_paste_adjustments_gtk_action_callback; +#line 190 "/home/jens/Source/shotwell/src/CollectionPage.vala" + paste_adjustments = _tmp26_; +#line 192 "/home/jens/Source/shotwell/src/CollectionPage.vala" + paste_adjustments.label = RESOURCES_PASTE_ADJUSTMENTS_MENU; +#line 193 "/home/jens/Source/shotwell/src/CollectionPage.vala" + paste_adjustments.tooltip = RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP; +#line 194 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = actions; +#line 194 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27__length1 = actions_length1; +#line 194 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp28_ = paste_adjustments; +#line 194 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add179 (&actions, &actions_length1, &_actions_size_, &_tmp28_); +#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_.name = "Revert"; +#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_.stock_id = NULL; +#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_.label = TRANSLATABLE; +#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_.accelerator = NULL; +#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_.tooltip = TRANSLATABLE; +#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_.callback = (GCallback) _collection_page_on_revert_gtk_action_callback; +#line 196 "/home/jens/Source/shotwell/src/CollectionPage.vala" + revert = _tmp29_; +#line 198 "/home/jens/Source/shotwell/src/CollectionPage.vala" + revert.label = RESOURCES_REVERT_MENU; +#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp30_ = actions; +#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp30__length1 = actions_length1; +#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp31_ = revert; +#line 199 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add180 (&actions, &actions_length1, &_actions_size_, &_tmp31_); +#line 201 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_.name = "SetBackground"; +#line 201 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_.stock_id = NULL; +#line 201 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_.label = TRANSLATABLE; +#line 201 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_.accelerator = "B"; +#line 201 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_.tooltip = TRANSLATABLE; +#line 201 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_.callback = (GCallback) _collection_page_on_set_background_gtk_action_callback; +#line 201 "/home/jens/Source/shotwell/src/CollectionPage.vala" + set_background = _tmp32_; +#line 203 "/home/jens/Source/shotwell/src/CollectionPage.vala" + set_background.label = RESOURCES_SET_BACKGROUND_MENU; +#line 204 "/home/jens/Source/shotwell/src/CollectionPage.vala" + set_background.tooltip = RESOURCES_SET_BACKGROUND_TOOLTIP; +#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33_ = actions; +#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33__length1 = actions_length1; +#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp34_ = set_background; +#line 205 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add181 (&actions, &actions_length1, &_actions_size_, &_tmp34_); +#line 207 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_.name = "Duplicate"; +#line 207 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_.stock_id = NULL; +#line 207 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_.label = TRANSLATABLE; +#line 207 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_.accelerator = "D"; +#line 207 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_.tooltip = TRANSLATABLE; +#line 207 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_.callback = (GCallback) _collection_page_on_duplicate_photo_gtk_action_callback; +#line 207 "/home/jens/Source/shotwell/src/CollectionPage.vala" + duplicate = _tmp35_; +#line 209 "/home/jens/Source/shotwell/src/CollectionPage.vala" + duplicate.label = RESOURCES_DUPLICATE_PHOTO_MENU; +#line 210 "/home/jens/Source/shotwell/src/CollectionPage.vala" + duplicate.tooltip = RESOURCES_DUPLICATE_PHOTO_TOOLTIP; +#line 211 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp36_ = actions; +#line 211 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp36__length1 = actions_length1; +#line 211 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp37_ = duplicate; +#line 211 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add182 (&actions, &actions_length1, &_actions_size_, &_tmp37_); +#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_.name = "AdjustDateTime"; +#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_.stock_id = NULL; +#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_.label = TRANSLATABLE; +#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_.accelerator = NULL; +#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_.tooltip = TRANSLATABLE; +#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_.callback = (GCallback) _collection_page_on_adjust_date_time_gtk_action_callback; +#line 213 "/home/jens/Source/shotwell/src/CollectionPage.vala" + adjust_date_time = _tmp38_; +#line 215 "/home/jens/Source/shotwell/src/CollectionPage.vala" + adjust_date_time.label = RESOURCES_ADJUST_DATE_TIME_MENU; +#line 216 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp39_ = actions; +#line 216 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp39__length1 = actions_length1; +#line 216 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp40_ = adjust_date_time; +#line 216 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add183 (&actions, &actions_length1, &_actions_size_, &_tmp40_); +#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_.name = "ExternalEdit"; +#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_.stock_id = RESOURCES_EDIT_LABEL; +#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_.label = TRANSLATABLE; +#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_.accelerator = "Return"; +#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_.tooltip = TRANSLATABLE; +#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_.callback = (GCallback) _collection_page_on_external_edit_gtk_action_callback; +#line 218 "/home/jens/Source/shotwell/src/CollectionPage.vala" + external_edit = _tmp41_; +#line 220 "/home/jens/Source/shotwell/src/CollectionPage.vala" + external_edit.label = RESOURCES_EXTERNAL_EDIT_MENU; +#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp42_ = actions; +#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp42__length1 = actions_length1; +#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp43_ = external_edit; +#line 221 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add184 (&actions, &actions_length1, &_actions_size_, &_tmp43_); +#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_.name = "ExternalEditRAW"; +#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_.stock_id = NULL; +#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_.label = TRANSLATABLE; +#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_.accelerator = "Return"; +#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_.tooltip = TRANSLATABLE; +#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_.callback = (GCallback) _collection_page_on_external_edit_raw_gtk_action_callback; +#line 223 "/home/jens/Source/shotwell/src/CollectionPage.vala" + edit_raw = _tmp44_; +#line 225 "/home/jens/Source/shotwell/src/CollectionPage.vala" + edit_raw.label = RESOURCES_EXTERNAL_EDIT_RAW_MENU; +#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp45_ = actions; +#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp45__length1 = actions_length1; +#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp46_ = edit_raw; +#line 226 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add185 (&actions, &actions_length1, &_actions_size_, &_tmp46_); +#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_.name = "Slideshow"; +#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_.stock_id = NULL; +#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_.label = TRANSLATABLE; +#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_.accelerator = "F5"; +#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_.tooltip = TRANSLATABLE; +#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_.callback = (GCallback) _collection_page_on_slideshow_gtk_action_callback; +#line 228 "/home/jens/Source/shotwell/src/CollectionPage.vala" + slideshow = _tmp47_; +#line 230 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp48_ = _ ("S_lideshow"); +#line 230 "/home/jens/Source/shotwell/src/CollectionPage.vala" + slideshow.label = _tmp48_; +#line 231 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp49_ = _ ("Play a slideshow"); +#line 231 "/home/jens/Source/shotwell/src/CollectionPage.vala" + slideshow.tooltip = _tmp49_; +#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp50_ = actions; +#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp50__length1 = actions_length1; +#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp51_ = slideshow; +#line 232 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add186 (&actions, &actions_length1, &_actions_size_, &_tmp51_); +#line 234 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp52_ = actions; +#line 234 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp52__length1 = actions_length1; +#line 234 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (result_length1) { +#line 234 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *result_length1 = _tmp52__length1; +#line 2764 "CollectionPage.c" + } +#line 234 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp52_; +#line 234 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 2770 "CollectionPage.c" +} + + +static void _vala_array_add187 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 2781 "CollectionPage.c" + } +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = value; +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[*length] = NULL; +#line 2787 "CollectionPage.c" +} + + +static void _vala_array_add188 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 2798 "CollectionPage.c" + } +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = value; +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[*length] = NULL; +#line 2804 "CollectionPage.c" +} + + +static void _vala_array_add189 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 2815 "CollectionPage.c" + } +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = value; +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[*length] = NULL; +#line 2821 "CollectionPage.c" +} + + +static void _vala_array_add190 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 2832 "CollectionPage.c" + } +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = value; +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[*length] = NULL; +#line 2838 "CollectionPage.c" +} + + +static void _vala_array_add191 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 2849 "CollectionPage.c" + } +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = value; +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[*length] = NULL; +#line 2855 "CollectionPage.c" +} + + +static void _vala_array_add192 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((*length) == (*size)) { +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 2866 "CollectionPage.c" + } +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[(*length)++] = value; +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + (*array)[*length] = NULL; +#line 2872 "CollectionPage.c" +} + + +static InjectionGroup** collection_page_real_init_collect_injection_groups (Page* base, int* result_length1) { + CollectionPage * self; + InjectionGroup** result = NULL; + InjectionGroup** groups = NULL; + gint _tmp0_ = 0; + InjectionGroup** _tmp1_ = NULL; + gint groups_length1 = 0; + gint _groups_size_ = 0; + InjectionGroup** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + InjectionGroup* _tmp3_ = NULL; + InjectionGroup** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + InjectionGroup* _tmp5_ = NULL; + InjectionGroup** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + InjectionGroup* _tmp7_ = NULL; + InjectionGroup** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + InjectionGroup* _tmp9_ = NULL; + InjectionGroup** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + InjectionGroup* _tmp11_ = NULL; + InjectionGroup** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + InjectionGroup* _tmp13_ = NULL; + InjectionGroup** _tmp14_ = NULL; + gint _tmp14__length1 = 0; +#line 237 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 238 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = PAGE_CLASS (collection_page_parent_class)->init_collect_injection_groups (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), &_tmp0_); +#line 238 "/home/jens/Source/shotwell/src/CollectionPage.vala" + groups = _tmp1_; +#line 238 "/home/jens/Source/shotwell/src/CollectionPage.vala" + groups_length1 = _tmp0_; +#line 238 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _groups_size_ = groups_length1; +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = groups; +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2__length1 = groups_length1; +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = collection_page_create_file_menu_injectables (); +#line 240 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add187 (&groups, &groups_length1, &_groups_size_, _tmp3_); +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = groups; +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4__length1 = groups_length1; +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = collection_page_create_edit_menu_injectables (); +#line 241 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add188 (&groups, &groups_length1, &_groups_size_, _tmp5_); +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = groups; +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6__length1 = groups_length1; +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = collection_page_create_view_menu_fullscreen_injectables (); +#line 242 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add189 (&groups, &groups_length1, &_groups_size_, _tmp7_); +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = groups; +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8__length1 = groups_length1; +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = collection_page_create_photos_menu_edits_injectables (); +#line 243 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add190 (&groups, &groups_length1, &_groups_size_, _tmp9_); +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = groups; +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10__length1 = groups_length1; +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = collection_page_create_photos_menu_date_injectables (); +#line 244 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add191 (&groups, &groups_length1, &_groups_size_, _tmp11_); +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = groups; +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12__length1 = groups_length1; +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = collection_page_create_photos_menu_externals_injectables (); +#line 245 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_array_add192 (&groups, &groups_length1, &_groups_size_, _tmp13_); +#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = groups; +#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14__length1 = groups_length1; +#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (result_length1) { +#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala" + *result_length1 = _tmp14__length1; +#line 2970 "CollectionPage.c" + } +#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp14_; +#line 247 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 2976 "CollectionPage.c" +} + + +static gboolean collection_page_selection_has_video (CollectionPage* self) { + gboolean result = FALSE; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 250 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE); +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_sources (_tmp1_); +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = media_source_collection_has_video (_tmp3_); +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp3_); +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp5_; +#line 251 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 3010 "CollectionPage.c" +} + + +static gboolean collection_page_page_has_photo (CollectionPage* self) { + gboolean result = FALSE; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 254 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE); +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_sources (_tmp1_); +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = media_source_collection_has_photo (_tmp3_); +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp3_); +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp5_; +#line 255 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 3044 "CollectionPage.c" +} + + +static gboolean collection_page_selection_has_photo (CollectionPage* self) { + gboolean result = FALSE; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 258 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE); +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_sources (_tmp1_); +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = media_source_collection_has_photo (_tmp3_); +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp3_); +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp5_; +#line 259 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 3078 "CollectionPage.c" +} + + +static void collection_page_real_init_actions (Page* base, gint selected_count, gint count) { + CollectionPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 262 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = selected_count; +#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = count; +#line 263 "/home/jens/Source/shotwell/src/CollectionPage.vala" + PAGE_CLASS (collection_page_parent_class)->init_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp0_, _tmp1_); +#line 265 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_short_label (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", RESOURCES_ROTATE_CW_LABEL); +#line 266 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_short_label (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", RESOURCES_ROTATE_CCW_LABEL); +#line 267 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_short_label (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Publish", RESOURCES_PUBLISH_LABEL); +#line 269 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", TRUE); +#line 270 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", TRUE); +#line 271 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Enhance", TRUE); +#line 272 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Publish", TRUE); +#line 3108 "CollectionPage.c" +} + + +static void collection_page_real_update_actions (Page* base, gint selected_count, gint count) { + CollectionPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gboolean one_selected = FALSE; + gint _tmp2_ = 0; + gboolean has_selected = FALSE; + gint _tmp3_ = 0; + gboolean primary_is_video = FALSE; + gboolean _tmp4_ = FALSE; + gboolean selection_has_videos = FALSE; + gboolean _tmp12_ = FALSE; + gboolean page_has_photos = FALSE; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + gboolean _tmp42_ = FALSE; + gboolean _tmp43_ = FALSE; + gboolean _tmp45_ = FALSE; + gboolean _tmp46_ = FALSE; + gboolean _tmp48_ = FALSE; + gboolean _tmp49_ = FALSE; + gboolean _tmp50_ = FALSE; + gboolean _tmp59_ = FALSE; + gboolean _tmp60_ = FALSE; + gboolean _tmp61_ = FALSE; + gboolean _tmp64_ = FALSE; + gboolean _tmp65_ = FALSE; + gboolean _tmp67_ = FALSE; + gboolean _tmp68_ = FALSE; + gboolean _tmp70_ = FALSE; + gboolean _tmp71_ = FALSE; + gboolean _tmp73_ = FALSE; + gboolean _tmp74_ = FALSE; + gboolean _tmp76_ = FALSE; + gboolean _tmp77_ = FALSE; + gboolean _tmp78_ = FALSE; + gboolean _tmp79_ = FALSE; + gboolean _tmp80_ = FALSE; + gboolean _tmp81_ = FALSE; + gboolean _tmp83_ = FALSE; + gboolean _tmp84_ = FALSE; + gboolean _tmp86_ = FALSE; + gboolean _tmp87_ = FALSE; + gboolean _tmp88_ = FALSE; + gboolean _tmp90_ = FALSE; +#line 275 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 276 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = selected_count; +#line 276 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = count; +#line 276 "/home/jens/Source/shotwell/src/CollectionPage.vala" + PAGE_CLASS (collection_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp0_, _tmp1_); +#line 278 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = selected_count; +#line 278 "/home/jens/Source/shotwell/src/CollectionPage.vala" + one_selected = _tmp2_ == 1; +#line 279 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = selected_count; +#line 279 "/home/jens/Source/shotwell/src/CollectionPage.vala" + has_selected = _tmp3_ > 0; +#line 281 "/home/jens/Source/shotwell/src/CollectionPage.vala" + primary_is_video = FALSE; +#line 282 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = has_selected; +#line 282 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp4_) { +#line 3187 "CollectionPage.c" + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = _tmp5_; +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = view_collection_get_selected_at (_tmp6_, 0); +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _tmp7_; +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = data_view_get_source (_tmp8_); +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = _tmp9_; +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_VIDEO); +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp10_); +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp8_); +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp6_); +#line 283 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp11_) { +#line 284 "/home/jens/Source/shotwell/src/CollectionPage.vala" + primary_is_video = TRUE; +#line 3219 "CollectionPage.c" + } + } +#line 286 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = collection_page_selection_has_video (self); +#line 286 "/home/jens/Source/shotwell/src/CollectionPage.vala" + selection_has_videos = _tmp12_; +#line 287 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = collection_page_page_has_photo (self); +#line 287 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_has_photos = _tmp13_; +#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = has_selected; +#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp15_) { +#line 3234 "CollectionPage.c" + gboolean _tmp16_ = FALSE; +#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = selection_has_videos; +#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = !_tmp16_; +#line 3240 "CollectionPage.c" + } else { +#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = FALSE; +#line 3244 "CollectionPage.c" + } +#line 291 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Duplicate", _tmp14_); +#line 292 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = primary_is_video; +#line 292 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", !_tmp17_); +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = one_selected; +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp19_) { +#line 3256 "CollectionPage.c" + ConfigFacade* _tmp20_ = NULL; + ConfigFacade* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = config_facade_get_instance (); +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = _tmp20_; +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_ = _tmp22_; +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = is_string_empty (_tmp23_); +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = !_tmp24_; +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (_tmp23_); +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp21_); +#line 3278 "CollectionPage.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = FALSE; +#line 3282 "CollectionPage.c" + } +#line 293 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", _tmp18_); +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp28_ = one_selected; +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp28_) { +#line 3290 "CollectionPage.c" + gboolean _tmp29_ = FALSE; +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_ = primary_is_video; +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = !_tmp29_; +#line 3296 "CollectionPage.c" + } else { +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = FALSE; +#line 3300 "CollectionPage.c" + } +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp27_) { +#line 3304 "CollectionPage.c" + ViewCollection* _tmp30_ = NULL; + ViewCollection* _tmp31_ = NULL; + DataView* _tmp32_ = NULL; + DataView* _tmp33_ = NULL; + DataSource* _tmp34_ = NULL; + Photo* _tmp35_ = NULL; + PhotoFileFormat _tmp36_ = 0; +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp30_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp31_ = _tmp30_; +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_ = view_collection_get_selected_at (_tmp31_, 0); +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33_ = _tmp32_; +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp34_ = data_view_get_source (_tmp33_); +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_PHOTO, Photo); +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp36_ = photo_get_master_file_format (_tmp35_); +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = _tmp36_ == PHOTO_FILE_FORMAT_RAW; +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp35_); +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp33_); +#line 297 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp31_); +#line 3334 "CollectionPage.c" + } else { +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = FALSE; +#line 3338 "CollectionPage.c" + } +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp26_) { +#line 3342 "CollectionPage.c" + ConfigFacade* _tmp37_ = NULL; + ConfigFacade* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; +#line 299 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp37_ = config_facade_get_instance (); +#line 299 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_ = _tmp37_; +#line 299 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp39_ = configuration_facade_get_external_raw_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 299 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp40_ = _tmp39_; +#line 299 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_ = is_string_empty (_tmp40_); +#line 299 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = !_tmp41_; +#line 299 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (_tmp40_); +#line 299 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp38_); +#line 3364 "CollectionPage.c" + } else { +#line 296 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = FALSE; +#line 3368 "CollectionPage.c" + } +#line 295 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEditRAW", _tmp25_); +#line 300 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp43_ = selection_has_videos; +#line 300 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp43_) { +#line 3376 "CollectionPage.c" + gboolean _tmp44_ = FALSE; +#line 300 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_ = collection_page_can_revert_selected (self); +#line 300 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp42_ = _tmp44_; +#line 3382 "CollectionPage.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp42_ = FALSE; +#line 3386 "CollectionPage.c" + } +#line 300 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp42_); +#line 301 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp46_ = selection_has_videos; +#line 301 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp46_) { +#line 3394 "CollectionPage.c" + gboolean _tmp47_ = FALSE; +#line 301 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_ = has_selected; +#line 301 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp45_ = _tmp47_; +#line 3400 "CollectionPage.c" + } else { +#line 301 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp45_ = FALSE; +#line 3404 "CollectionPage.c" + } +#line 301 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Enhance", _tmp45_); +#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp50_ = selection_has_videos; +#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp50_) { +#line 3412 "CollectionPage.c" + gboolean _tmp51_ = FALSE; +#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp51_ = one_selected; +#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp49_ = _tmp51_; +#line 3418 "CollectionPage.c" + } else { +#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp49_ = FALSE; +#line 3422 "CollectionPage.c" + } +#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp49_) { +#line 3426 "CollectionPage.c" + ViewCollection* _tmp52_ = NULL; + ViewCollection* _tmp53_ = NULL; + DataView* _tmp54_ = NULL; + DataView* _tmp55_ = NULL; + DataSource* _tmp56_ = NULL; + Photo* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp52_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp53_ = _tmp52_; +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp54_ = view_collection_get_selected_at (_tmp53_, 0); +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp55_ = _tmp54_; +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp56_ = data_view_get_source (_tmp55_); +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp57_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_PHOTO, Photo); +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp58_ = photo_has_color_adjustments (_tmp57_); +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp48_ = _tmp58_; +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp57_); +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp55_); +#line 303 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp53_); +#line 3456 "CollectionPage.c" + } else { +#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp48_ = FALSE; +#line 3460 "CollectionPage.c" + } +#line 302 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CopyColorAdjustments", _tmp48_); +#line 304 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp61_ = selection_has_videos; +#line 304 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp61_) { +#line 3468 "CollectionPage.c" + gboolean _tmp62_ = FALSE; +#line 304 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp62_ = has_selected; +#line 304 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp60_ = _tmp62_; +#line 3474 "CollectionPage.c" + } else { +#line 304 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp60_ = FALSE; +#line 3478 "CollectionPage.c" + } +#line 304 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp60_) { +#line 3482 "CollectionPage.c" + gboolean _tmp63_ = FALSE; +#line 305 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp63_ = pixel_transformation_bundle_has_copied_color_adjustments (); +#line 305 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp59_ = _tmp63_; +#line 3488 "CollectionPage.c" + } else { +#line 304 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp59_ = FALSE; +#line 3492 "CollectionPage.c" + } +#line 304 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PasteColorAdjustments", _tmp59_); +#line 306 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp65_ = selection_has_videos; +#line 306 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp65_) { +#line 3500 "CollectionPage.c" + gboolean _tmp66_ = FALSE; +#line 306 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp66_ = has_selected; +#line 306 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp64_ = _tmp66_; +#line 3506 "CollectionPage.c" + } else { +#line 306 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp64_ = FALSE; +#line 3510 "CollectionPage.c" + } +#line 306 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", _tmp64_); +#line 307 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp68_ = selection_has_videos; +#line 307 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp68_) { +#line 3518 "CollectionPage.c" + gboolean _tmp69_ = FALSE; +#line 307 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp69_ = has_selected; +#line 307 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp67_ = _tmp69_; +#line 3524 "CollectionPage.c" + } else { +#line 307 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp67_ = FALSE; +#line 3528 "CollectionPage.c" + } +#line 307 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", _tmp67_); +#line 308 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp71_ = selection_has_videos; +#line 308 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp71_) { +#line 3536 "CollectionPage.c" + gboolean _tmp72_ = FALSE; +#line 308 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp72_ = has_selected; +#line 308 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp70_ = _tmp72_; +#line 3542 "CollectionPage.c" + } else { +#line 308 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp70_ = FALSE; +#line 3546 "CollectionPage.c" + } +#line 308 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipHorizontally", _tmp70_); +#line 309 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp74_ = selection_has_videos; +#line 309 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp74_) { +#line 3554 "CollectionPage.c" + gboolean _tmp75_ = FALSE; +#line 309 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp75_ = has_selected; +#line 309 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp73_ = _tmp75_; +#line 3560 "CollectionPage.c" + } else { +#line 309 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp73_ = FALSE; +#line 3564 "CollectionPage.c" + } +#line 309 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipVertically", _tmp73_); +#line 313 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp76_ = has_selected; +#line 313 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AdjustDateTime", _tmp76_); +#line 315 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp77_ = has_selected; +#line 315 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "NewEvent", _tmp77_); +#line 316 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp78_ = has_selected; +#line 316 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AddTags", _tmp78_); +#line 317 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp79_ = one_selected; +#line 317 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ModifyTags", _tmp79_); +#line 318 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp81_ = page_has_photos; +#line 318 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp81_) { +#line 3588 "CollectionPage.c" + gboolean _tmp82_ = FALSE; +#line 318 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp82_ = primary_is_video; +#line 318 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp80_ = !_tmp82_; +#line 3594 "CollectionPage.c" + } else { +#line 318 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp80_ = FALSE; +#line 3598 "CollectionPage.c" + } +#line 318 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Slideshow", _tmp80_); +#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp84_ = selection_has_videos; +#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp84_) { +#line 3606 "CollectionPage.c" + gboolean _tmp85_ = FALSE; +#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp85_ = has_selected; +#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp83_ = _tmp85_; +#line 3612 "CollectionPage.c" + } else { +#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp83_ = FALSE; +#line 3616 "CollectionPage.c" + } +#line 319 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Print", _tmp83_); +#line 320 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp86_ = has_selected; +#line 320 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Publish", _tmp86_); +#line 322 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp88_ = selection_has_videos; +#line 322 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp88_) { +#line 3628 "CollectionPage.c" + gboolean _tmp89_ = FALSE; +#line 322 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp89_ = has_selected; +#line 322 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp87_ = _tmp89_; +#line 3634 "CollectionPage.c" + } else { +#line 322 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp87_ = FALSE; +#line 3638 "CollectionPage.c" + } +#line 322 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", _tmp87_); +#line 323 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp90_ = has_selected; +#line 323 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp90_) { +#line 3646 "CollectionPage.c" + GtkAction* set_background = NULL; + GtkAction* _tmp91_ = NULL; + GtkAction* _tmp92_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp91_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground"); +#line 324 "/home/jens/Source/shotwell/src/CollectionPage.vala" + set_background = _tmp91_; +#line 325 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp92_ = set_background; +#line 325 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp92_ != NULL) { +#line 3658 "CollectionPage.c" + const gchar* _tmp93_ = NULL; + gboolean _tmp94_ = FALSE; + GtkAction* _tmp95_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp94_ = one_selected; +#line 326 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp94_) { +#line 327 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp93_ = RESOURCES_SET_BACKGROUND_MENU; +#line 3668 "CollectionPage.c" + } else { +#line 328 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp93_ = RESOURCES_SET_BACKGROUND_SLIDESHOW_MENU; +#line 3672 "CollectionPage.c" + } +#line 326 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp95_ = set_background; +#line 326 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_action_set_label (_tmp95_, _tmp93_); +#line 3678 "CollectionPage.c" + } +#line 323 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (set_background); +#line 3682 "CollectionPage.c" + } +} + + +static void collection_page_on_photos_altered (CollectionPage* self, GeeMap* altered) { +#line 333 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 333 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (GEE_IS_MAP (altered)); +#line 3692 "CollectionPage.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = altered; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = _tmp1_; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp3_); +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _object_it = _tmp5_; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + while (TRUE) { +#line 3719 "CollectionPage.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + DataView* view = NULL; + DataObject* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + DataView* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + LibraryPhoto* photo = NULL; + DataView* _tmp20_ = NULL; + DataSource* _tmp21_ = NULL; + LibraryPhoto* _tmp22_ = NULL; + LibraryPhoto* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + LibraryPhoto* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = _object_it; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp7_) { +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 3747 "CollectionPage.c" + } +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _object_it; +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + object = (DataObject*) _tmp9_; +#line 337 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = object; +#line 337 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_VIEW, DataView)); +#line 337 "/home/jens/Source/shotwell/src/CollectionPage.vala" + view = _tmp11_; +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = view; +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = data_view_is_selected (_tmp13_); +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp14_) { +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = TRUE; +#line 3769 "CollectionPage.c" + } else { + GeeMap* _tmp15_ = NULL; + DataView* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + Alteration* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = altered; +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = view; +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = gee_map_get (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_OBJECT, DataObject)); +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = (Alteration*) _tmp17_; +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = alteration_has_subject (_tmp18_, "image"); +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = !_tmp19_; +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _alteration_unref0 (_tmp18_); +#line 3790 "CollectionPage.c" + } +#line 339 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp12_) { +#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (view); +#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (object); +#line 340 "/home/jens/Source/shotwell/src/CollectionPage.vala" + continue; +#line 3800 "CollectionPage.c" + } +#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = view; +#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = data_view_get_source (_tmp20_); +#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp21_) : NULL; +#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp22_ == NULL) { +#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp21_); +#line 3812 "CollectionPage.c" + } +#line 342 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp22_; +#line 343 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_ = photo; +#line 343 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp23_ == NULL) { +#line 344 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 344 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (view); +#line 344 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (object); +#line 344 "/home/jens/Source/shotwell/src/CollectionPage.vala" + continue; +#line 3828 "CollectionPage.c" + } +#line 348 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = collection_page_can_revert_selected (self); +#line 348 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp24_); +#line 349 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = photo; +#line 349 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = photo_has_color_adjustments (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_PHOTO, Photo)); +#line 349 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CopyColorAdjustments", _tmp26_); +#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (view); +#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (object); +#line 351 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 3848 "CollectionPage.c" + } +#line 336 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_object_it); +#line 3852 "CollectionPage.c" + } +} + + +static void collection_page_on_print (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 355 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 356 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 356 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 356 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 356 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ > 0; +#line 356 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 356 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 3876 "CollectionPage.c" + PrintManager* _tmp4_ = NULL; + PrintManager* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = print_manager_get_instance (); +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = view_collection_get_selected_sources_of_type (_tmp7_, TYPE_PHOTO); +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection); +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + print_manager_spool_photo (_tmp5_, _tmp9_); +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp9_); +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp7_); +#line 357 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _print_manager_unref0 (_tmp5_); +#line 3903 "CollectionPage.c" + } +} + + +static void collection_page_on_external_app_changed (CollectionPage* self) { + gint selected_count = 0; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; +#line 362 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 363 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 363 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 363 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 363 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_; +#line 363 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 363 "/home/jens/Source/shotwell/src/CollectionPage.vala" + selected_count = _tmp3_; +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = selected_count; +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp5_ == 1) { +#line 3934 "CollectionPage.c" + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = config_facade_get_instance (); +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _tmp8_; +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = g_strcmp0 (_tmp9_, "") != 0; +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (_tmp9_); +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 3953 "CollectionPage.c" + } else { +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = FALSE; +#line 3957 "CollectionPage.c" + } +#line 365 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", _tmp4_); +#line 3961 "CollectionPage.c" +} + + +static void collection_page_real_on_item_activated (CheckerboardPage* base, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers) { + CollectionPage * self; + Thumbnail* thumbnail = NULL; + CheckerboardItem* _tmp0_ = NULL; + Thumbnail* _tmp1_ = NULL; + Thumbnail* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + LibraryPhoto* photo = NULL; + Thumbnail* _tmp6_ = NULL; + MediaSource* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + CheckerboardPageActivator _tmp13_ = 0; +#line 374 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 374 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (item)); +#line 374 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (modifiers != NULL); +#line 376 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = item; +#line 376 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL, Thumbnail)); +#line 376 "/home/jens/Source/shotwell/src/CollectionPage.vala" + thumbnail = _tmp1_; +#line 381 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = thumbnail; +#line 381 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = thumbnail_get_media_source (_tmp2_); +#line 381 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = _tmp3_; +#line 381 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, TYPE_VIDEO); +#line 381 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 381 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp5_) { +#line 382 "/home/jens/Source/shotwell/src/CollectionPage.vala" + media_page_on_play_video (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage)); +#line 383 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (thumbnail); +#line 383 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4013 "CollectionPage.c" + } +#line 386 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = thumbnail; +#line 386 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = thumbnail_get_media_source (_tmp6_); +#line 386 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp7_) : NULL; +#line 386 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp8_ == NULL) { +#line 386 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 4025 "CollectionPage.c" + } +#line 386 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp8_; +#line 387 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = photo; +#line 387 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp9_ == NULL) { +#line 388 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 388 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (thumbnail); +#line 388 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4039 "CollectionPage.c" + } +#line 391 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = photo; +#line 391 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 391 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = _tmp11_; +#line 391 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_debug ("CollectionPage.vala:391: activating %s", _tmp12_); +#line 391 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (_tmp12_); +#line 393 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = activator; +#line 393 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp13_ == CHECKERBOARD_PAGE_ACTIVATOR_MOUSE) { +#line 4055 "CollectionPage.c" + CheckerboardPageKeyboardModifiers _tmp14_ = {0}; + gboolean _tmp15_ = FALSE; +#line 394 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = *modifiers; +#line 394 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = _tmp14_.super_pressed; +#line 394 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp15_) { +#line 395 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_external_edit (self); +#line 4066 "CollectionPage.c" + } else { + LibraryWindow* _tmp16_ = NULL; + LibraryWindow* _tmp17_ = NULL; + LibraryPhoto* _tmp18_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = library_window_get_app (); +#line 397 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = _tmp16_; +#line 397 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = photo; +#line 397 "/home/jens/Source/shotwell/src/CollectionPage.vala" + library_window_switch_to_photo_page (_tmp17_, self, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PHOTO, Photo)); +#line 397 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp17_); +#line 4081 "CollectionPage.c" + } + } else { + CheckerboardPageActivator _tmp19_ = 0; +#line 398 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = activator; +#line 398 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp19_ == CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD) { +#line 4089 "CollectionPage.c" + gboolean _tmp20_ = FALSE; + CheckerboardPageKeyboardModifiers _tmp21_ = {0}; + gboolean _tmp22_ = FALSE; +#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = *modifiers; +#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = _tmp21_.shift_pressed; +#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp22_) { +#line 4099 "CollectionPage.c" + CheckerboardPageKeyboardModifiers _tmp23_ = {0}; + gboolean _tmp24_ = FALSE; +#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_ = *modifiers; +#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = _tmp23_.ctrl_pressed; +#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = !_tmp24_; +#line 4108 "CollectionPage.c" + } else { +#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = FALSE; +#line 4112 "CollectionPage.c" + } +#line 399 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp20_) { +#line 4116 "CollectionPage.c" + LibraryWindow* _tmp25_ = NULL; + LibraryWindow* _tmp26_ = NULL; + LibraryPhoto* _tmp27_ = NULL; +#line 400 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = library_window_get_app (); +#line 400 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = _tmp25_; +#line 400 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = photo; +#line 400 "/home/jens/Source/shotwell/src/CollectionPage.vala" + library_window_switch_to_photo_page (_tmp26_, self, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_PHOTO, Photo)); +#line 400 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp26_); +#line 4130 "CollectionPage.c" + } + } + } +#line 374 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 374 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (thumbnail); +#line 4138 "CollectionPage.c" +} + + +static gboolean collection_page_real_on_app_key_pressed (Page* base, GdkEventKey* event) { + CollectionPage * self; + gboolean result = FALSE; + gboolean handled = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GQuark _tmp5_ = 0U; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label0 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label1 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label2 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label3 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label4 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label5 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label6 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label7 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label8 = 0; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + static GQuark _tmp4_label9 = 0; +#line 4171 "CollectionPage.c" + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 404 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 404 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 405 "/home/jens/Source/shotwell/src/CollectionPage.vala" + handled = TRUE; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = event; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_->keyval; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_; +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_); +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if ((((((((_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("Page_Up")))) || (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("KP_Page_Up"))))) || (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("Page_Down"))))) || (_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("KP_Page_Down"))))) || (_tmp5_ == ((0 != _tmp4_label4) ? _tmp4_label4 : (_tmp4_label4 = g_quark_from_static_string ("Home"))))) || (_tmp5_ == ((0 != _tmp4_label5) ? _tmp4_label5 : (_tmp4_label5 = g_quark_from_static_string ("KP_Home"))))) || (_tmp5_ == ((0 != _tmp4_label6) ? _tmp4_label6 : (_tmp4_label6 = g_quark_from_static_string ("End"))))) || (_tmp5_ == ((0 != _tmp4_label7) ? _tmp4_label7 : (_tmp4_label7 = g_quark_from_static_string ("KP_End"))))) { +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + switch (0) { +#line 4194 "CollectionPage.c" + default: + { + GdkEventKey* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 415 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = event; +#line 415 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "key-press-event", _tmp6_, &_tmp7_); +#line 416 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 4205 "CollectionPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label8) ? _tmp4_label8 : (_tmp4_label8 = g_quark_from_static_string ("bracketright")))) { +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + switch (0) { +#line 4211 "CollectionPage.c" + default: + { +#line 419 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise"); +#line 420 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 4218 "CollectionPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label9) ? _tmp4_label9 : (_tmp4_label9 = g_quark_from_static_string ("bracketleft")))) { +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + switch (0) { +#line 4224 "CollectionPage.c" + default: + { +#line 423 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise"); +#line 424 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 4231 "CollectionPage.c" + } + } + } else { +#line 406 "/home/jens/Source/shotwell/src/CollectionPage.vala" + switch (0) { +#line 4237 "CollectionPage.c" + default: + { +#line 427 "/home/jens/Source/shotwell/src/CollectionPage.vala" + handled = FALSE; +#line 428 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 4244 "CollectionPage.c" + } + } + } +#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = handled; +#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp9_) { +#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = TRUE; +#line 4254 "CollectionPage.c" + } else { + GdkEventKey* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = event; +#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = PAGE_CLASS (collection_page_parent_class)->on_app_key_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp10_); +#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _tmp11_; +#line 4264 "CollectionPage.c" + } +#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp8_; +#line 431 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 4270 "CollectionPage.c" +} + + +static void _collection_page_on_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self) { +#line 450 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_on_export_completed ((CollectionPage*) self); +#line 4277 "CollectionPage.c" +} + + +static void collection_page_real_on_export (MediaPage* base) { + CollectionPage * self; + ExporterUI* _tmp0_ = NULL; + GeeCollection* export_list = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gboolean has_some_photos = FALSE; + gboolean _tmp8_ = FALSE; + gboolean has_some_videos = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + gboolean _tmp13_ = FALSE; + gchar* title = NULL; + gboolean _tmp16_ = FALSE; + ExportDialog* export_dialog = NULL; + const gchar* _tmp31_ = NULL; + ExportDialog* _tmp32_ = NULL; + ExportFormatParameters _tmp33_ = {0}; + gboolean _tmp34_ = FALSE; + ExportFormatParameters export_params = {0}; + gint scale = 0; + ScaleConstraint constraint = 0; + ExportDialog* _tmp37_ = NULL; + gint _tmp38_ = 0; + ScaleConstraint _tmp39_ = 0; + gboolean _tmp40_ = FALSE; + Scaling scaling = {0}; + ScaleConstraint _tmp41_ = 0; + gint _tmp42_ = 0; + Scaling _tmp43_ = {0}; + GeeCollection* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + GFile* export_dir = NULL; + const gchar* _tmp81_ = NULL; + GFile* _tmp82_ = NULL; + GFile* _tmp83_ = NULL; + GeeCollection* _tmp84_ = NULL; + GFile* _tmp85_ = NULL; + Scaling _tmp86_ = {0}; + ExportFormatParameters _tmp87_ = {0}; + Exporter* _tmp88_ = NULL; + Exporter* _tmp89_ = NULL; + ExporterUI* _tmp90_ = NULL; + ExporterUI* _tmp91_ = NULL; + GError * _inner_error_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 435 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = self->priv->exporter; +#line 435 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp0_ != NULL) { +#line 436 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4341 "CollectionPage.c" + } +#line 438 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 438 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = _tmp1_; +#line 438 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = view_collection_get_selected_sources (_tmp2_); +#line 438 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 438 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp2_); +#line 438 "/home/jens/Source/shotwell/src/CollectionPage.vala" + export_list = _tmp4_; +#line 440 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = export_list; +#line 440 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = gee_collection_get_size (_tmp5_); +#line 440 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 440 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp7_ == 0) { +#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_list); +#line 441 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4367 "CollectionPage.c" + } +#line 443 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = collection_page_selection_has_photo (self); +#line 443 "/home/jens/Source/shotwell/src/CollectionPage.vala" + has_some_photos = _tmp8_; +#line 444 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = collection_page_selection_has_video (self); +#line 444 "/home/jens/Source/shotwell/src/CollectionPage.vala" + has_some_videos = _tmp9_; +#line 445 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = has_some_photos; +#line 445 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp11_) { +#line 445 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = TRUE; +#line 4383 "CollectionPage.c" + } else { + gboolean _tmp12_ = FALSE; +#line 445 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = has_some_videos; +#line 445 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = _tmp12_; +#line 4390 "CollectionPage.c" + } +#line 445 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _vala_assert (_tmp10_, "has_some_photos || has_some_videos"); +#line 449 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = has_some_photos; +#line 449 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp13_) { +#line 4398 "CollectionPage.c" + GeeCollection* _tmp14_ = NULL; + ExporterUI* _tmp15_ = NULL; +#line 450 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = export_list; +#line 450 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = video_export_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection), _collection_page_on_export_completed_exporter_completion_callback, self, FALSE); +#line 450 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _exporter_ui_unref0 (self->priv->exporter); +#line 450 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self->priv->exporter = _tmp15_; +#line 451 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_list); +#line 451 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4413 "CollectionPage.c" + } +#line 454 "/home/jens/Source/shotwell/src/CollectionPage.vala" + title = NULL; +#line 455 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = has_some_videos; +#line 455 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp16_) { +#line 4421 "CollectionPage.c" + const gchar* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gchar* _tmp23_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = export_list; +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = gee_collection_get_size (_tmp18_); +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = _tmp19_; +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp20_ == 1) { +#line 4435 "CollectionPage.c" + const gchar* _tmp21_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = _ ("Export Photo/Video"); +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = _tmp21_; +#line 4441 "CollectionPage.c" + } else { + const gchar* _tmp22_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = _ ("Export Photos/Videos"); +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = _tmp22_; +#line 4448 "CollectionPage.c" + } +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_ = g_strdup (_tmp17_); +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (title); +#line 456 "/home/jens/Source/shotwell/src/CollectionPage.vala" + title = _tmp23_; +#line 4456 "CollectionPage.c" + } else { + const gchar* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gchar* _tmp30_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = export_list; +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = gee_collection_get_size (_tmp25_); +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = _tmp26_; +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp27_ == 1) { +#line 4471 "CollectionPage.c" + const gchar* _tmp28_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp28_ = _ ("Export Photo"); +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = _tmp28_; +#line 4477 "CollectionPage.c" + } else { + const gchar* _tmp29_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_ = _ ("Export Photos"); +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = _tmp29_; +#line 4484 "CollectionPage.c" + } +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp30_ = g_strdup (_tmp24_); +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (title); +#line 458 "/home/jens/Source/shotwell/src/CollectionPage.vala" + title = _tmp30_; +#line 4492 "CollectionPage.c" + } +#line 459 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp31_ = title; +#line 459 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_ = export_dialog_new (_tmp31_); +#line 459 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_object_ref_sink (_tmp32_); +#line 459 "/home/jens/Source/shotwell/src/CollectionPage.vala" + export_dialog = _tmp32_; +#line 469 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp34_ = has_some_videos; +#line 469 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp34_) { +#line 4506 "CollectionPage.c" + ExportFormatParameters _tmp35_ = {0}; +#line 469 "/home/jens/Source/shotwell/src/CollectionPage.vala" + export_format_parameters_current (&_tmp35_); +#line 469 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33_ = _tmp35_; +#line 4512 "CollectionPage.c" + } else { + ExportFormatParameters _tmp36_ = {0}; +#line 470 "/home/jens/Source/shotwell/src/CollectionPage.vala" + export_format_parameters_last (&_tmp36_); +#line 470 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33_ = _tmp36_; +#line 4519 "CollectionPage.c" + } +#line 469 "/home/jens/Source/shotwell/src/CollectionPage.vala" + export_params = _tmp33_; +#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp37_ = export_dialog; +#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp40_ = export_dialog_execute (_tmp37_, &_tmp38_, &_tmp39_, &export_params); +#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala" + scale = _tmp38_; +#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala" + constraint = _tmp39_; +#line 474 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp40_) { +#line 475 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_dialog); +#line 475 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (title); +#line 475 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_list); +#line 475 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4541 "CollectionPage.c" + } +#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_ = constraint; +#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp42_ = scale; +#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala" + scaling_for_constraint (_tmp41_, _tmp42_, FALSE, &_tmp43_); +#line 477 "/home/jens/Source/shotwell/src/CollectionPage.vala" + scaling = _tmp43_; +#line 480 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_ = export_list; +#line 480 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp45_ = gee_collection_get_size (_tmp44_); +#line 480 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp46_ = _tmp45_; +#line 480 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp46_ == 1) { +#line 4559 "CollectionPage.c" + LibraryPhoto* photo = NULL; + GFile* save_as = NULL; + LibraryPhoto* _tmp55_ = NULL; + ExportFormatParameters _tmp56_ = {0}; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GFile* _tmp59_ = NULL; + GFile* _tmp60_ = NULL; + GFile* _tmp61_ = NULL; +#line 481 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = NULL; +#line 4571 "CollectionPage.c" + { + GeeIterator* _p_it = NULL; + GeeCollection* _tmp47_ = NULL; + GeeIterator* _tmp48_ = NULL; +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_ = export_list; +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp48_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GEE_TYPE_COLLECTION, GeeCollection), GEE_TYPE_ITERABLE, GeeIterable)); +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _p_it = _tmp48_; +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + while (TRUE) { +#line 4584 "CollectionPage.c" + GeeIterator* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; + LibraryPhoto* p = NULL; + GeeIterator* _tmp51_ = NULL; + gpointer _tmp52_ = NULL; + LibraryPhoto* _tmp53_ = NULL; + LibraryPhoto* _tmp54_ = NULL; +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp49_ = _p_it; +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp50_ = gee_iterator_next (_tmp49_); +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!_tmp50_) { +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 4600 "CollectionPage.c" + } +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp51_ = _p_it; +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp52_ = gee_iterator_get (_tmp51_); +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + p = (LibraryPhoto*) _tmp52_; +#line 483 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp53_ = p; +#line 483 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp54_ = _g_object_ref0 (_tmp53_); +#line 483 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 483 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp54_; +#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (p); +#line 484 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 4620 "CollectionPage.c" + } +#line 482 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_p_it); +#line 4624 "CollectionPage.c" + } +#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp55_ = photo; +#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp56_ = export_params; +#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp57_ = photo_get_export_basename_for_parameters (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, TYPE_PHOTO, Photo), &_tmp56_); +#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp58_ = _tmp57_; +#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp59_ = export_ui_choose_file (_tmp58_); +#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp60_ = _tmp59_; +#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (_tmp58_); +#line 487 "/home/jens/Source/shotwell/src/CollectionPage.vala" + save_as = _tmp60_; +#line 489 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp61_ = save_as; +#line 489 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp61_ == NULL) { +#line 490 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (save_as); +#line 490 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 490 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_dialog); +#line 490 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (title); +#line 490 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_list); +#line 490 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4658 "CollectionPage.c" + } + { + AppWindow* _tmp62_ = NULL; + AppWindow* _tmp63_ = NULL; + LibraryPhoto* _tmp64_ = NULL; + GFile* _tmp65_ = NULL; + Scaling _tmp66_ = {0}; + ExportFormatParameters _tmp67_ = {0}; + JpegQuality _tmp68_ = 0; + LibraryPhoto* _tmp69_ = NULL; + ExportFormatParameters _tmp70_ = {0}; + PhotoFileFormat _tmp71_ = 0; + ExportFormatParameters _tmp72_ = {0}; + ExportFormatMode _tmp73_ = 0; + ExportFormatParameters _tmp74_ = {0}; + gboolean _tmp75_ = FALSE; + AppWindow* _tmp76_ = NULL; + AppWindow* _tmp77_ = NULL; +#line 493 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp62_ = app_window_get_instance (); +#line 493 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp63_ = _tmp62_; +#line 493 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, TYPE_PAGE_WINDOW, PageWindow)); +#line 493 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp63_); +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp64_ = photo; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp65_ = save_as; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp66_ = scaling; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp67_ = export_params; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp68_ = _tmp67_.quality; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp69_ = photo; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp70_ = export_params; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp71_ = photo_get_export_format_for_parameters (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, TYPE_PHOTO, Photo), &_tmp70_); +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp72_ = export_params; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp73_ = _tmp72_.mode; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp74_ = export_params; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp75_ = _tmp74_.export_metadata; +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo_export (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, TYPE_PHOTO, Photo), _tmp65_, &_tmp66_, _tmp68_, _tmp71_, _tmp73_ == EXPORT_FORMAT_MODE_UNMODIFIED, _tmp75_, &_inner_error_); +#line 494 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4713 "CollectionPage.c" + goto __catch220_g_error; + } +#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp76_ = app_window_get_instance (); +#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp77_ = _tmp76_; +#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, TYPE_PAGE_WINDOW, PageWindow)); +#line 497 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp77_); +#line 4724 "CollectionPage.c" + } + goto __finally220; + __catch220_g_error: + { + GError* err = NULL; + AppWindow* _tmp78_ = NULL; + AppWindow* _tmp79_ = NULL; + GFile* _tmp80_ = NULL; +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + err = _inner_error_; +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _inner_error_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp78_ = app_window_get_instance (); +#line 499 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp79_ = _tmp78_; +#line 499 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, TYPE_PAGE_WINDOW, PageWindow)); +#line 499 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp79_); +#line 500 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp80_ = save_as; +#line 500 "/home/jens/Source/shotwell/src/CollectionPage.vala" + export_error_dialog (_tmp80_, FALSE); +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_error_free0 (err); +#line 4751 "CollectionPage.c" + } + __finally220: +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (save_as); +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_dialog); +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (title); +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_list); +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_clear_error (&_inner_error_); +#line 492 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4772 "CollectionPage.c" + } +#line 503 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (save_as); +#line 503 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 503 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_dialog); +#line 503 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (title); +#line 503 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_list); +#line 503 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4786 "CollectionPage.c" + } +#line 507 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp81_ = title; +#line 507 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp82_ = export_ui_choose_dir (_tmp81_); +#line 507 "/home/jens/Source/shotwell/src/CollectionPage.vala" + export_dir = _tmp82_; +#line 508 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp83_ = export_dir; +#line 508 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp83_ == NULL) { +#line 509 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_dir); +#line 509 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_dialog); +#line 509 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (title); +#line 509 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_list); +#line 509 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 4808 "CollectionPage.c" + } +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp84_ = export_list; +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp85_ = export_dir; +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp86_ = scaling; +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp87_ = export_params; +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp88_ = exporter_new (_tmp84_, _tmp85_, &_tmp86_, &_tmp87_, FALSE); +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp89_ = _tmp88_; +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp90_ = exporter_ui_new (_tmp89_); +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _exporter_ui_unref0 (self->priv->exporter); +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self->priv->exporter = _tmp90_; +#line 511 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp89_); +#line 512 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp91_ = self->priv->exporter; +#line 512 "/home/jens/Source/shotwell/src/CollectionPage.vala" + exporter_ui_export (_tmp91_, _collection_page_on_export_completed_exporter_completion_callback, self); +#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_dir); +#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_dialog); +#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (title); +#line 434 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (export_list); +#line 4842 "CollectionPage.c" +} + + +static void collection_page_on_export_completed (CollectionPage* self) { +#line 515 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 516 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _exporter_ui_unref0 (self->priv->exporter); +#line 516 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self->priv->exporter = NULL; +#line 4853 "CollectionPage.c" +} + + +static gboolean collection_page_can_revert_selected (CollectionPage* self) { + gboolean result = FALSE; +#line 519 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE); +#line 4861 "CollectionPage.c" + { + GeeList* _source_list = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _source_size = 0; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _source_index = 0; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_sources (_tmp1_); +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _source_list = _tmp3_; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = _source_list; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = _tmp5_; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _source_size = _tmp6_; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _source_index = -1; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + while (TRUE) { +#line 4897 "CollectionPage.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + DataSource* source = NULL; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + LibraryPhoto* _tmp16_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _source_index; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _source_index = _tmp7_ + 1; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _source_index; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _source_size; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 4922 "CollectionPage.c" + } +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = _source_list; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _source_index; +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = gee_list_get (_tmp10_, _tmp11_); +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + source = (DataSource*) _tmp12_; +#line 521 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = source; +#line 521 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp13_) : NULL); +#line 521 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp14_; +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = photo; +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp16_ != NULL) { +#line 4942 "CollectionPage.c" + gboolean _tmp17_ = FALSE; + LibraryPhoto* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = photo; +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = photo_has_transformations (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PHOTO, Photo)); +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp19_) { +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = TRUE; +#line 4954 "CollectionPage.c" + } else { + LibraryPhoto* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = photo; +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = photo_has_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_PHOTO, Photo)); +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = _tmp21_; +#line 4964 "CollectionPage.c" + } +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = _tmp17_; +#line 4968 "CollectionPage.c" + } else { +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = FALSE; +#line 4972 "CollectionPage.c" + } +#line 522 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp15_) { +#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = TRUE; +#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (source); +#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_source_list); +#line 523 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 4986 "CollectionPage.c" + } +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (source); +#line 4992 "CollectionPage.c" + } +#line 520 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_source_list); +#line 4996 "CollectionPage.c" + } +#line 526 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = FALSE; +#line 526 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 5002 "CollectionPage.c" +} + + +static gboolean collection_page_can_revert_editable_selected (CollectionPage* self) { + gboolean result = FALSE; +#line 529 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_val_if_fail (IS_COLLECTION_PAGE (self), FALSE); +#line 5010 "CollectionPage.c" + { + GeeList* _source_list = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _source_size = 0; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _source_index = 0; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_sources (_tmp1_); +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _source_list = _tmp3_; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = _source_list; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = _tmp5_; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _source_size = _tmp6_; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _source_index = -1; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + while (TRUE) { +#line 5046 "CollectionPage.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + DataSource* source = NULL; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + LibraryPhoto* _tmp16_ = NULL; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _source_index; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _source_index = _tmp7_ + 1; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _source_index; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _source_size; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 5071 "CollectionPage.c" + } +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = _source_list; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _source_index; +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = gee_list_get (_tmp10_, _tmp11_); +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + source = (DataSource*) _tmp12_; +#line 531 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = source; +#line 531 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp13_) : NULL); +#line 531 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp14_; +#line 532 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = photo; +#line 532 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp16_ != NULL) { +#line 5091 "CollectionPage.c" + LibraryPhoto* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 532 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = photo; +#line 532 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = photo_has_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO, Photo)); +#line 532 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = _tmp18_; +#line 5100 "CollectionPage.c" + } else { +#line 532 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = FALSE; +#line 5104 "CollectionPage.c" + } +#line 532 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp15_) { +#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = TRUE; +#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (source); +#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_source_list); +#line 533 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 5118 "CollectionPage.c" + } +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (source); +#line 5124 "CollectionPage.c" + } +#line 530 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_source_list); +#line 5128 "CollectionPage.c" + } +#line 536 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = FALSE; +#line 536 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 5134 "CollectionPage.c" +} + + +static void collection_page_on_rotate_clockwise (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + RotateMultipleCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + RotateMultipleCommand* _tmp10_ = NULL; + RotateMultipleCommand* _tmp11_ = NULL; + CommandManager* _tmp12_ = NULL; + CommandManager* _tmp13_ = NULL; + RotateMultipleCommand* _tmp14_ = NULL; +#line 539 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 540 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 541 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5171 "CollectionPage.c" + } +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _ ("Rotating"); +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _ ("Undoing Rotate"); +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = rotate_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), ROTATION_CLOCKWISE, RESOURCES_ROTATE_CW_FULL_LABEL, RESOURCES_ROTATE_CW_TOOLTIP, _tmp8_, _tmp9_); +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _tmp10_; +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 543 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp11_; +#line 546 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 546 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _tmp12_; +#line 546 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = command; +#line 546 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_COMMAND, Command)); +#line 546 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp13_); +#line 539 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 5207 "CollectionPage.c" +} + + +static void collection_page_on_publish (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 549 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 550 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 550 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 550 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 550 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ > 0; +#line 550 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 550 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 5230 "CollectionPage.c" + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; +#line 551 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 551 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 551 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected_sources (_tmp5_); +#line 551 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection); +#line 551 "/home/jens/Source/shotwell/src/CollectionPage.vala" + publishing_ui_publishing_dialog_go (_tmp7_); +#line 551 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 551 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 5249 "CollectionPage.c" + } +} + + +static void collection_page_on_rotate_counterclockwise (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + RotateMultipleCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + RotateMultipleCommand* _tmp10_ = NULL; + RotateMultipleCommand* _tmp11_ = NULL; + CommandManager* _tmp12_ = NULL; + CommandManager* _tmp13_ = NULL; + RotateMultipleCommand* _tmp14_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 556 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 556 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 556 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 556 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 556 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 556 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 557 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5287 "CollectionPage.c" + } +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _ ("Rotating"); +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _ ("Undoing Rotate"); +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = rotate_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), ROTATION_COUNTERCLOCKWISE, RESOURCES_ROTATE_CCW_FULL_LABEL, RESOURCES_ROTATE_CCW_TOOLTIP, _tmp8_, _tmp9_); +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _tmp10_; +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 559 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp11_; +#line 562 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 562 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _tmp12_; +#line 562 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = command; +#line 562 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_COMMAND, Command)); +#line 562 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp13_); +#line 555 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 5323 "CollectionPage.c" +} + + +static void collection_page_on_flip_horizontally (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + RotateMultipleCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + RotateMultipleCommand* _tmp10_ = NULL; + RotateMultipleCommand* _tmp11_ = NULL; + CommandManager* _tmp12_ = NULL; + CommandManager* _tmp13_ = NULL; + RotateMultipleCommand* _tmp14_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 566 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 566 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 566 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 566 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 566 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 566 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 567 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5360 "CollectionPage.c" + } +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _ ("Flipping Horizontally"); +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _ ("Undoing Flip Horizontally"); +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = rotate_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), ROTATION_MIRROR, RESOURCES_HFLIP_LABEL, "", _tmp8_, _tmp9_); +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _tmp10_; +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 569 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp11_; +#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _tmp12_; +#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = command; +#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_COMMAND, Command)); +#line 572 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp13_); +#line 565 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 5396 "CollectionPage.c" +} + + +static void collection_page_on_flip_vertically (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + RotateMultipleCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + RotateMultipleCommand* _tmp10_ = NULL; + RotateMultipleCommand* _tmp11_ = NULL; + CommandManager* _tmp12_ = NULL; + CommandManager* _tmp13_ = NULL; + RotateMultipleCommand* _tmp14_ = NULL; +#line 575 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 576 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 577 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5433 "CollectionPage.c" + } +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _ ("Flipping Vertically"); +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _ ("Undoing Flip Vertically"); +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = rotate_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), ROTATION_UPSIDE_DOWN, RESOURCES_VFLIP_LABEL, "", _tmp8_, _tmp9_); +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _tmp10_; +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 579 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp11_; +#line 582 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 582 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _tmp12_; +#line 582 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = command; +#line 582 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_COMMAND, Command)); +#line 582 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp13_); +#line 575 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 5469 "CollectionPage.c" +} + + +static void collection_page_on_revert (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + RevertMultipleCommand* command = NULL; + ViewCollection* _tmp27_ = NULL; + ViewCollection* _tmp28_ = NULL; + GeeList* _tmp29_ = NULL; + GeeList* _tmp30_ = NULL; + RevertMultipleCommand* _tmp31_ = NULL; + RevertMultipleCommand* _tmp32_ = NULL; + CommandManager* _tmp33_ = NULL; + CommandManager* _tmp34_ = NULL; + RevertMultipleCommand* _tmp35_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 586 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 586 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 586 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 586 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 586 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 586 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 587 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5505 "CollectionPage.c" + } +#line 589 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = collection_page_can_revert_editable_selected (self); +#line 589 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp4_) { +#line 5511 "CollectionPage.c" + AppWindow* _tmp5_ = NULL; + AppWindow* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = app_window_get_instance (); +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = _tmp5_; +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _tmp7_; +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = view_collection_get_selected_sources (_tmp8_); +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection); +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = revert_editable_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_window_get_type (), GtkWindow), _tmp10_); +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = !_tmp11_; +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp10_); +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp8_); +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp6_); +#line 590 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp12_) { +#line 592 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5546 "CollectionPage.c" + } + { + GeeList* _object_list = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + GeeList* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; + gint _object_size = 0; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _object_index = 0; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = _tmp13_; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = view_collection_get_selected_sources (_tmp14_); +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = _tmp15_; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp14_); +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _object_list = _tmp16_; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = _object_list; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = _tmp18_; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _object_size = _tmp19_; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _object_index = -1; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + while (TRUE) { +#line 5583 "CollectionPage.c" + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + DataObject* object = NULL; + GeeList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gpointer _tmp25_ = NULL; + DataObject* _tmp26_ = NULL; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = _object_index; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _object_index = _tmp20_ + 1; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = _object_index; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = _object_size; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!(_tmp21_ < _tmp22_)) { +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 5604 "CollectionPage.c" + } +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_ = _object_list; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = _object_index; +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = gee_list_get (_tmp23_, _tmp24_); +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + object = G_TYPE_CHECK_INSTANCE_CAST ((DataSource*) _tmp25_, TYPE_DATA_OBJECT, DataObject); +#line 596 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = object; +#line 596 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo_revert_to_master (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_PHOTO, Photo), TRUE); +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (object); +#line 5620 "CollectionPage.c" + } +#line 595 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_object_list); +#line 5624 "CollectionPage.c" + } + } +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp28_ = _tmp27_; +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_ = view_collection_get_selected (_tmp28_); +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp30_ = _tmp29_; +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp31_ = revert_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_ = _tmp31_; +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp30_); +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp28_); +#line 599 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp32_; +#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp34_ = _tmp33_; +#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_ = command; +#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_COMMAND, Command)); +#line 600 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp34_); +#line 585 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 5657 "CollectionPage.c" +} + + +void collection_page_on_copy_adjustments (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + Photo* photo = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + PixelTransformationBundle* _tmp11_ = NULL; + PixelTransformationBundle* _tmp12_ = NULL; +#line 603 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 604 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 604 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 604 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 604 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 604 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 604 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 605 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5692 "CollectionPage.c" + } +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected_at (_tmp5_, 0); +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = data_view_get_source (_tmp7_); +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo); +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 606 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp9_; +#line 607 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = photo; +#line 607 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = photo_get_color_adjustments (_tmp10_); +#line 607 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = _tmp11_; +#line 607 "/home/jens/Source/shotwell/src/CollectionPage.vala" + pixel_transformation_bundle_set_copied_color_adjustments (_tmp12_); +#line 607 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _pixel_transformation_bundle_unref0 (_tmp12_); +#line 608 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PasteColorAdjustments", TRUE); +#line 603 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 5726 "CollectionPage.c" +} + + +void collection_page_on_paste_adjustments (CollectionPage* self) { + PixelTransformationBundle* copied_adjustments = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + AdjustColorsMultipleCommand* command = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + GeeList* _tmp10_ = NULL; + PixelTransformationBundle* _tmp11_ = NULL; + AdjustColorsMultipleCommand* _tmp12_ = NULL; + AdjustColorsMultipleCommand* _tmp13_ = NULL; + CommandManager* _tmp14_ = NULL; + CommandManager* _tmp15_ = NULL; + AdjustColorsMultipleCommand* _tmp16_ = NULL; +#line 611 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 612 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = pixel_transformation_bundle_get_copied_color_adjustments (); +#line 612 "/home/jens/Source/shotwell/src/CollectionPage.vala" + copied_adjustments = _tmp0_; +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_; +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = view_collection_get_selected_count (_tmp3_); +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_ == 0; +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp3_); +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp5_) { +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = TRUE; +#line 5769 "CollectionPage.c" + } else { + PixelTransformationBundle* _tmp6_ = NULL; +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = copied_adjustments; +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp6_ == NULL; +#line 5776 "CollectionPage.c" + } +#line 613 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp1_) { +#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _pixel_transformation_bundle_unref0 (copied_adjustments); +#line 614 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5784 "CollectionPage.c" + } +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _tmp7_; +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = view_collection_get_selected (_tmp8_); +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = _tmp9_; +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = copied_adjustments; +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = adjust_colors_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable), _tmp11_, RESOURCES_PASTE_ADJUSTMENTS_LABEL, RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP); +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _tmp12_; +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp10_); +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp8_); +#line 616 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp13_; +#line 618 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 618 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = _tmp14_; +#line 618 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = command; +#line 618 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_COMMAND, Command)); +#line 618 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp15_); +#line 611 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 611 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _pixel_transformation_bundle_unref0 (copied_adjustments); +#line 5820 "CollectionPage.c" +} + + +static void collection_page_on_enhance (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + EnhanceMultipleCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + EnhanceMultipleCommand* _tmp8_ = NULL; + EnhanceMultipleCommand* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + EnhanceMultipleCommand* _tmp12_ = NULL; +#line 621 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 622 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 622 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 622 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 622 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 622 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 622 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 623 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5855 "CollectionPage.c" + } +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = enhance_multiple_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _tmp8_; +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 625 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp9_; +#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _tmp10_; +#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = command; +#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command)); +#line 626 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp11_); +#line 621 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 5887 "CollectionPage.c" +} + + +static void collection_page_on_duplicate_photo (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + DuplicateMultiplePhotosCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + DuplicateMultiplePhotosCommand* _tmp8_ = NULL; + DuplicateMultiplePhotosCommand* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + DuplicateMultiplePhotosCommand* _tmp12_ = NULL; +#line 629 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 630 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 631 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 5922 "CollectionPage.c" + } +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = duplicate_multiple_photos_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = _tmp8_; +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 633 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp9_; +#line 635 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 635 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _tmp10_; +#line 635 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = command; +#line 635 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command)); +#line 635 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp11_); +#line 629 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 5954 "CollectionPage.c" +} + + +static void collection_page_on_adjust_date_time (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean selected_has_videos = FALSE; + gboolean only_videos_selected = FALSE; + Dateable* photo_source = NULL; + ViewCollection* _tmp21_ = NULL; + ViewCollection* _tmp22_ = NULL; + DataView* _tmp23_ = NULL; + DataView* _tmp24_ = NULL; + DataSource* _tmp25_ = NULL; + Dateable* _tmp26_ = NULL; + AdjustDateTimeDialog* dialog = NULL; + Dateable* _tmp27_ = NULL; + ViewCollection* _tmp28_ = NULL; + ViewCollection* _tmp29_ = NULL; + gint _tmp30_ = 0; + gboolean _tmp31_ = FALSE; + gboolean _tmp32_ = FALSE; + AdjustDateTimeDialog* _tmp33_ = NULL; + AdjustDateTimeDialog* _tmp34_ = NULL; + gint64 time_shift = 0LL; + gboolean keep_relativity = FALSE; + gboolean modify_originals = FALSE; + AdjustDateTimeDialog* _tmp35_ = NULL; + gint64 _tmp36_ = 0LL; + gboolean _tmp37_ = FALSE; + gboolean _tmp38_ = FALSE; + gboolean _tmp39_ = FALSE; +#line 638 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 639 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 640 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6005 "CollectionPage.c" + } +#line 642 "/home/jens/Source/shotwell/src/CollectionPage.vala" + selected_has_videos = FALSE; +#line 643 "/home/jens/Source/shotwell/src/CollectionPage.vala" + only_videos_selected = TRUE; +#line 6011 "CollectionPage.c" + { + GeeList* _dv_list = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + gint _dv_size = 0; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _dv_index = 0; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _dv_list = _tmp7_; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _dv_list; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = _tmp9_; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _dv_size = _tmp10_; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _dv_index = -1; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + while (TRUE) { +#line 6047 "CollectionPage.c" + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + DataView* dv = NULL; + GeeList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gpointer _tmp16_ = NULL; + DataView* _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + DataSource* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _dv_index; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _dv_index = _tmp11_ + 1; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = _dv_index; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _dv_size; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (!(_tmp12_ < _tmp13_)) { +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + break; +#line 6071 "CollectionPage.c" + } +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = _dv_list; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = _dv_index; +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = gee_list_get (_tmp14_, _tmp15_); +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + dv = (DataView*) _tmp16_; +#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = dv; +#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = data_view_get_source (_tmp17_); +#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = _tmp18_; +#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_VIDEO); +#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp19_); +#line 646 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp20_) { +#line 647 "/home/jens/Source/shotwell/src/CollectionPage.vala" + selected_has_videos = TRUE; +#line 6095 "CollectionPage.c" + } else { +#line 649 "/home/jens/Source/shotwell/src/CollectionPage.vala" + only_videos_selected = FALSE; +#line 6099 "CollectionPage.c" + } +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (dv); +#line 6103 "CollectionPage.c" + } +#line 645 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_dv_list); +#line 6107 "CollectionPage.c" + } +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = _tmp21_; +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_ = view_collection_get_selected_at (_tmp22_, 0); +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = _tmp23_; +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = data_view_get_source (_tmp24_); +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATEABLE, Dateable); +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp24_); +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp22_); +#line 652 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo_source = _tmp26_; +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = photo_source; +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp28_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_ = _tmp28_; +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp30_ = view_collection_get_selected_count (_tmp29_); +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp31_ = selected_has_videos; +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_ = only_videos_selected; +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33_ = adjust_date_time_dialog_new (_tmp27_, _tmp30_, TRUE, _tmp31_, _tmp32_); +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_object_ref_sink (_tmp33_); +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp34_ = _tmp33_; +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp29_); +#line 654 "/home/jens/Source/shotwell/src/CollectionPage.vala" + dialog = _tmp34_; +#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_ = dialog; +#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp39_ = adjust_date_time_dialog_execute (_tmp35_, &_tmp36_, &_tmp37_, &_tmp38_); +#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala" + time_shift = _tmp36_; +#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala" + keep_relativity = _tmp37_; +#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala" + modify_originals = _tmp38_; +#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp39_) { +#line 6161 "CollectionPage.c" + AdjustDateTimePhotosCommand* command = NULL; + ViewCollection* _tmp40_ = NULL; + ViewCollection* _tmp41_ = NULL; + GeeList* _tmp42_ = NULL; + GeeList* _tmp43_ = NULL; + gint64 _tmp44_ = 0LL; + gboolean _tmp45_ = FALSE; + gboolean _tmp46_ = FALSE; + AdjustDateTimePhotosCommand* _tmp47_ = NULL; + AdjustDateTimePhotosCommand* _tmp48_ = NULL; + CommandManager* _tmp49_ = NULL; + CommandManager* _tmp50_ = NULL; + AdjustDateTimePhotosCommand* _tmp51_ = NULL; +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp40_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp41_ = _tmp40_; +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp42_ = view_collection_get_selected (_tmp41_); +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp43_ = _tmp42_; +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp44_ = time_shift; +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp45_ = keep_relativity; +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp46_ = modify_originals; +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp47_ = adjust_date_time_photos_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_ITERABLE, GeeIterable), _tmp44_, _tmp45_, _tmp46_); +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp48_ = _tmp47_; +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp43_); +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp41_); +#line 660 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command = _tmp48_; +#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp49_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp50_ = _tmp49_; +#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp51_ = command; +#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala" + command_manager_execute (_tmp50_, G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_COMMAND, Command)); +#line 662 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _command_manager_unref0 (_tmp50_); +#line 659 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (command); +#line 6211 "CollectionPage.c" + } +#line 638 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (dialog); +#line 638 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo_source); +#line 6217 "CollectionPage.c" +} + + +static void collection_page_on_external_edit (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + Photo* photo = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + GError * _inner_error_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 667 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 668 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6250 "CollectionPage.c" + } +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected_at (_tmp5_, 0); +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = data_view_get_source (_tmp7_); +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo); +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 670 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp9_; +#line 6270 "CollectionPage.c" + { + AppWindow* _tmp10_ = NULL; + AppWindow* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + AppWindow* _tmp13_ = NULL; + AppWindow* _tmp14_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = app_window_get_instance (); +#line 672 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = _tmp10_; +#line 672 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PAGE_WINDOW, PageWindow)); +#line 672 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp11_); +#line 673 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = photo; +#line 673 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo_open_with_external_editor (_tmp12_, &_inner_error_); +#line 673 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6291 "CollectionPage.c" + goto __catch221_g_error; + } +#line 674 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = app_window_get_instance (); +#line 674 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = _tmp13_; +#line 674 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PAGE_WINDOW, PageWindow)); +#line 674 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp14_); +#line 6302 "CollectionPage.c" + } + goto __finally221; + __catch221_g_error: + { + GError* err = NULL; + AppWindow* _tmp15_ = NULL; + AppWindow* _tmp16_ = NULL; + GError* _tmp17_ = NULL; + Photo* _tmp18_ = NULL; +#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala" + err = _inner_error_; +#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _inner_error_ = NULL; +#line 676 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = app_window_get_instance (); +#line 676 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = _tmp15_; +#line 676 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PAGE_WINDOW, PageWindow)); +#line 676 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp16_); +#line 677 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = err; +#line 677 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = photo; +#line 677 "/home/jens/Source/shotwell/src/CollectionPage.vala" + open_external_editor_error_dialog (_tmp17_, _tmp18_); +#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_error_free0 (err); +#line 6332 "CollectionPage.c" + } + __finally221: +#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_clear_error (&_inner_error_); +#line 671 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6345 "CollectionPage.c" + } +#line 666 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 6349 "CollectionPage.c" +} + + +static void collection_page_on_external_edit_raw (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + Photo* photo = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + PhotoFileFormat _tmp11_ = 0; + GError * _inner_error_ = NULL; +#line 681 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 682 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 682 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 682 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 682 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 682 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 682 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 683 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6384 "CollectionPage.c" + } +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = _tmp4_; +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = view_collection_get_selected_at (_tmp5_, 0); +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = _tmp6_; +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = data_view_get_source (_tmp7_); +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo); +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp7_); +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp5_); +#line 685 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp9_; +#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = photo; +#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = photo_get_master_file_format (_tmp10_); +#line 686 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp11_ != PHOTO_FILE_FORMAT_RAW) { +#line 687 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 687 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6414 "CollectionPage.c" + } + { + AppWindow* _tmp12_ = NULL; + AppWindow* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + AppWindow* _tmp15_ = NULL; + AppWindow* _tmp16_ = NULL; +#line 690 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = app_window_get_instance (); +#line 690 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _tmp12_; +#line 690 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PAGE_WINDOW, PageWindow)); +#line 690 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp13_); +#line 691 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = photo; +#line 691 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo_open_with_raw_external_editor (_tmp14_, &_inner_error_); +#line 691 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6436 "CollectionPage.c" + goto __catch222_g_error; + } +#line 692 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = app_window_get_instance (); +#line 692 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = _tmp15_; +#line 692 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PAGE_WINDOW, PageWindow)); +#line 692 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp16_); +#line 6447 "CollectionPage.c" + } + goto __finally222; + __catch222_g_error: + { + GError* err = NULL; + AppWindow* _tmp17_ = NULL; + AppWindow* _tmp18_ = NULL; + GError* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala" + err = _inner_error_; +#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _inner_error_ = NULL; +#line 694 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = app_window_get_instance (); +#line 694 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = _tmp17_; +#line 694 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PAGE_WINDOW, PageWindow)); +#line 694 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp18_); +#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = err; +#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = resources_launch_editor_failed (_tmp19_); +#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = _tmp20_; +#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala" + app_window_error_message (_tmp21_, NULL); +#line 695 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_free0 (_tmp21_); +#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_error_free0 (err); +#line 6482 "CollectionPage.c" + } + __finally222: +#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_clear_error (&_inner_error_); +#line 689 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6495 "CollectionPage.c" + } +#line 681 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 6499 "CollectionPage.c" +} + + +void collection_page_on_set_background (CollectionPage* self) { + GeeArrayList* photos = NULL; + GeeArrayList* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; + gboolean desktop = FALSE; + gboolean screensaver = FALSE; + GeeArrayList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 699 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 700 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 700 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photos = _tmp0_; +#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = _tmp1_; +#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = view_collection_get_selected_sources (_tmp2_); +#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = photos; +#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala" + media_source_collection_filter_media (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection), NULL); +#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 701 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp2_); +#line 705 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = photos; +#line 705 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 705 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _tmp7_; +#line 705 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp8_ == 1) { +#line 6546 "CollectionPage.c" + SetBackgroundPhotoDialog* dialog = NULL; + SetBackgroundPhotoDialog* _tmp9_ = NULL; + SetBackgroundPhotoDialog* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 706 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = set_background_photo_dialog_new (); +#line 706 "/home/jens/Source/shotwell/src/CollectionPage.vala" + dialog = _tmp9_; +#line 707 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = dialog; +#line 707 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = set_background_photo_dialog_execute (_tmp10_, &_tmp11_, &_tmp12_); +#line 707 "/home/jens/Source/shotwell/src/CollectionPage.vala" + desktop = _tmp11_; +#line 707 "/home/jens/Source/shotwell/src/CollectionPage.vala" + screensaver = _tmp12_; +#line 707 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp13_) { +#line 6567 "CollectionPage.c" + AppWindow* _tmp14_ = NULL; + AppWindow* _tmp15_ = NULL; + GeeArrayList* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + LibraryPhoto* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + AppWindow* _tmp21_ = NULL; + AppWindow* _tmp22_ = NULL; +#line 708 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = app_window_get_instance (); +#line 708 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = _tmp14_; +#line 708 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PAGE_WINDOW, PageWindow)); +#line 708 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp15_); +#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = photos; +#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = (LibraryPhoto*) _tmp17_; +#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = desktop; +#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = screensaver; +#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala" + desktop_integration_set_background (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PHOTO, Photo), _tmp19_, _tmp20_); +#line 709 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp18_); +#line 710 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = app_window_get_instance (); +#line 710 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = _tmp21_; +#line 710 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PAGE_WINDOW, PageWindow)); +#line 710 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp22_); +#line 6607 "CollectionPage.c" + } +#line 705 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _set_background_dialog_unref0 (dialog); +#line 6611 "CollectionPage.c" + } else { + GeeArrayList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 712 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_ = photos; +#line 712 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 712 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = _tmp24_; +#line 712 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp25_ > 1) { +#line 6624 "CollectionPage.c" + SetBackgroundSlideshowDialog* dialog = NULL; + SetBackgroundSlideshowDialog* _tmp26_ = NULL; + gint delay = 0; + SetBackgroundSlideshowDialog* _tmp27_ = NULL; + gint _tmp28_ = 0; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; +#line 713 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = set_background_slideshow_dialog_new (); +#line 713 "/home/jens/Source/shotwell/src/CollectionPage.vala" + dialog = _tmp26_; +#line 715 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = dialog; +#line 715 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp31_ = set_background_slideshow_dialog_execute (_tmp27_, &_tmp28_, &_tmp29_, &_tmp30_); +#line 715 "/home/jens/Source/shotwell/src/CollectionPage.vala" + delay = _tmp28_; +#line 715 "/home/jens/Source/shotwell/src/CollectionPage.vala" + desktop = _tmp29_; +#line 715 "/home/jens/Source/shotwell/src/CollectionPage.vala" + screensaver = _tmp30_; +#line 715 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp31_) { +#line 6649 "CollectionPage.c" + AppWindow* _tmp32_ = NULL; + AppWindow* _tmp33_ = NULL; + GeeArrayList* _tmp34_ = NULL; + gint _tmp35_ = 0; + gboolean _tmp36_ = FALSE; + gboolean _tmp37_ = FALSE; + AppWindow* _tmp38_ = NULL; + AppWindow* _tmp39_ = NULL; +#line 716 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_ = app_window_get_instance (); +#line 716 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33_ = _tmp32_; +#line 716 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_PAGE_WINDOW, PageWindow)); +#line 716 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp33_); +#line 717 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp34_ = photos; +#line 717 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_ = delay; +#line 717 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp36_ = desktop; +#line 717 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp37_ = screensaver; +#line 717 "/home/jens/Source/shotwell/src/CollectionPage.vala" + desktop_integration_set_background_slideshow (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection), (gdouble) _tmp35_, COLLECTION_PAGE_DESKTOP_SLIDESHOW_TRANSITION_SEC, _tmp36_, _tmp37_); +#line 719 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_ = app_window_get_instance (); +#line 719 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp39_ = _tmp38_; +#line 719 "/home/jens/Source/shotwell/src/CollectionPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_PAGE_WINDOW, PageWindow)); +#line 719 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp39_); +#line 6684 "CollectionPage.c" + } +#line 712 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _set_background_dialog_unref0 (dialog); +#line 6688 "CollectionPage.c" + } + } +#line 699 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photos); +#line 6693 "CollectionPage.c" +} + + +static void collection_page_on_slideshow (CollectionPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + GeeList* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + gint _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + GeeList* sources = NULL; + GeeList* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + GeeList* _tmp17_ = NULL; + Thumbnail* thumbnail = NULL; + ViewCollection* _tmp21_ = NULL; + ViewCollection* _tmp22_ = NULL; + GeeList* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + DataSource* _tmp25_ = NULL; + DataView* _tmp26_ = NULL; + Thumbnail* _tmp27_ = NULL; + Thumbnail* _tmp28_ = NULL; + LibraryPhoto* photo = NULL; + Thumbnail* _tmp29_ = NULL; + MediaSource* _tmp30_ = NULL; + LibraryPhoto* _tmp31_ = NULL; + LibraryPhoto* _tmp32_ = NULL; + AppWindow* _tmp33_ = NULL; + AppWindow* _tmp34_ = NULL; + LibraryPhotoSourceCollection* _tmp35_ = NULL; + ViewCollection* _tmp36_ = NULL; + ViewCollection* _tmp37_ = NULL; + LibraryPhoto* _tmp38_ = NULL; + SlideshowPage* _tmp39_ = NULL; + SlideshowPage* _tmp40_ = NULL; +#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (self)); +#line 725 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 725 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _tmp0_; +#line 725 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 725 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 725 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp1_); +#line 725 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_) { +#line 726 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6749 "CollectionPage.c" + } +#line 729 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 729 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = _tmp5_; +#line 729 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = view_collection_get_selected_count (_tmp6_); +#line 729 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = _tmp7_ > 0; +#line 729 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp6_); +#line 729 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp8_) { +#line 6763 "CollectionPage.c" + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + GeeList* _tmp11_ = NULL; +#line 730 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 730 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp10_ = _tmp9_; +#line 730 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp11_ = view_collection_get_selected_sources_of_type (_tmp10_, TYPE_LIBRARY_PHOTO); +#line 730 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 730 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = _tmp11_; +#line 730 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp10_); +#line 6779 "CollectionPage.c" + } else { + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + GeeList* _tmp14_ = NULL; +#line 731 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp12_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 731 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp13_ = _tmp12_; +#line 731 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp14_ = view_collection_get_sources_of_type (_tmp13_, TYPE_LIBRARY_PHOTO); +#line 731 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 731 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = _tmp14_; +#line 731 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp13_); +#line 6796 "CollectionPage.c" + } +#line 729 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp15_ = _g_object_ref0 (_tmp4_); +#line 729 "/home/jens/Source/shotwell/src/CollectionPage.vala" + sources = _tmp15_; +#line 732 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp17_ = sources; +#line 732 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp17_ == NULL) { +#line 732 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = TRUE; +#line 6808 "CollectionPage.c" + } else { + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 732 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp18_ = sources; +#line 732 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 732 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp20_ = _tmp19_; +#line 732 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp16_ = _tmp20_ == 0; +#line 6821 "CollectionPage.c" + } +#line 732 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp16_) { +#line 733 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (sources); +#line 733 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 733 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6831 "CollectionPage.c" + } +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp21_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp22_ = _tmp21_; +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp23_ = sources; +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp24_ = gee_list_get (_tmp23_, 0); +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp25_ = (DataSource*) _tmp24_; +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp26_ = view_collection_get_view_for_source (_tmp22_, _tmp25_); +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_THUMBNAIL, Thumbnail); +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp25_); +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp22_); +#line 735 "/home/jens/Source/shotwell/src/CollectionPage.vala" + thumbnail = _tmp27_; +#line 736 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp28_ = thumbnail; +#line 736 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp28_ == NULL) { +#line 737 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (thumbnail); +#line 737 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (sources); +#line 737 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 737 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6865 "CollectionPage.c" + } +#line 739 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp29_ = thumbnail; +#line 739 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp30_ = thumbnail_get_media_source (_tmp29_); +#line 739 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp31_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp30_) : NULL; +#line 739 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp31_ == NULL) { +#line 739 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp30_); +#line 6877 "CollectionPage.c" + } +#line 739 "/home/jens/Source/shotwell/src/CollectionPage.vala" + photo = _tmp31_; +#line 740 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp32_ = photo; +#line 740 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp32_ == NULL) { +#line 741 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 741 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (thumbnail); +#line 741 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (sources); +#line 741 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 741 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return; +#line 6895 "CollectionPage.c" + } +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp33_ = app_window_get_instance (); +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp34_ = _tmp33_; +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp35_ = library_photo_global; +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp36_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp37_ = _tmp36_; +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp38_ = photo; +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp39_ = slideshow_page_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp37_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PHOTO, Photo)); +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_object_ref_sink (_tmp39_); +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp40_ = _tmp39_; +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + app_window_go_fullscreen (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_PAGE, Page)); +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp40_); +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _data_collection_unref0 (_tmp37_); +#line 743 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp34_); +#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (photo); +#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (thumbnail); +#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (sources); +#line 724 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp4_); +#line 6931 "CollectionPage.c" +} + + +static gboolean collection_page_real_on_ctrl_pressed (Page* base, GdkEventKey* event) { + CollectionPage * self; + gboolean result = FALSE; + GtkToolButton* rotate_button = NULL; + GtkUIManager* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GtkToolButton* _tmp2_ = NULL; + GtkToolButton* _tmp3_ = NULL; + GdkEventKey* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 747 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 748 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->ui; +#line 748 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = gtk_ui_manager_get_widget (_tmp0_, "/CollectionToolbar/ToolRotate"); +#line 748 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_tool_button_get_type ()) ? ((GtkToolButton*) _tmp1_) : NULL); +#line 748 "/home/jens/Source/shotwell/src/CollectionPage.vala" + rotate_button = _tmp2_; +#line 750 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = rotate_button; +#line 750 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_ != NULL) { +#line 6959 "CollectionPage.c" + GtkToolButton* _tmp4_ = NULL; + GtkAction* _tmp5_ = NULL; + GtkAction* _tmp6_ = NULL; +#line 751 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = rotate_button; +#line 751 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise"); +#line 751 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = _tmp5_; +#line 751 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp6_); +#line 751 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp6_); +#line 6973 "CollectionPage.c" + } +#line 753 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = event; +#line 753 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = PAGE_CLASS (collection_page_parent_class)->on_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp7_); +#line 753 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp8_; +#line 753 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (rotate_button); +#line 753 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 6985 "CollectionPage.c" +} + + +static gboolean collection_page_real_on_ctrl_released (Page* base, GdkEventKey* event) { + CollectionPage * self; + gboolean result = FALSE; + GtkToolButton* rotate_button = NULL; + GtkUIManager* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GtkToolButton* _tmp2_ = NULL; + GtkToolButton* _tmp3_ = NULL; + GdkEventKey* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 756 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 757 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->ui; +#line 757 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = gtk_ui_manager_get_widget (_tmp0_, "/CollectionToolbar/ToolRotate"); +#line 757 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_tool_button_get_type ()) ? ((GtkToolButton*) _tmp1_) : NULL); +#line 757 "/home/jens/Source/shotwell/src/CollectionPage.vala" + rotate_button = _tmp2_; +#line 759 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp3_ = rotate_button; +#line 759 "/home/jens/Source/shotwell/src/CollectionPage.vala" + if (_tmp3_ != NULL) { +#line 7013 "CollectionPage.c" + GtkToolButton* _tmp4_ = NULL; + GtkAction* _tmp5_ = NULL; + GtkAction* _tmp6_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp4_ = rotate_button; +#line 760 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp5_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise"); +#line 760 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp6_ = _tmp5_; +#line 760 "/home/jens/Source/shotwell/src/CollectionPage.vala" + gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp6_); +#line 760 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (_tmp6_); +#line 7027 "CollectionPage.c" + } +#line 762 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp7_ = event; +#line 762 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp8_ = PAGE_CLASS (collection_page_parent_class)->on_ctrl_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage), TYPE_PAGE, Page), _tmp7_); +#line 762 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp8_; +#line 762 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _g_object_unref0 (rotate_button); +#line 762 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 7039 "CollectionPage.c" +} + + +static gpointer _view_filter_ref0 (gpointer self) { +#line 766 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return self ? view_filter_ref (self) : NULL; +#line 7046 "CollectionPage.c" +} + + +static SearchViewFilter* collection_page_real_get_search_view_filter (CheckerboardPage* base) { + CollectionPage * self; + SearchViewFilter* result = NULL; + CollectionPageCollectionSearchViewFilter* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; +#line 765 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COLLECTION_PAGE, CollectionPage); +#line 766 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = self->priv->search_filter; +#line 766 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 766 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = _tmp1_; +#line 766 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 7065 "CollectionPage.c" +} + + +static guint collection_page_collection_search_view_filter_real_get_criteria (SearchViewFilter* base) { + CollectionPageCollectionSearchViewFilter * self; + guint result = 0U; +#line 23 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilter); +#line 24 "/home/jens/Source/shotwell/src/CollectionPage.vala" + result = (guint) ((((SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_FLAG) | SEARCH_FILTER_CRITERIA_MEDIA) | SEARCH_FILTER_CRITERIA_RATING) | SEARCH_FILTER_CRITERIA_SAVEDSEARCH); +#line 24 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return result; +#line 7078 "CollectionPage.c" +} + + +CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_construct (GType object_type) { + CollectionPageCollectionSearchViewFilter* self = NULL; +#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = (CollectionPageCollectionSearchViewFilter*) default_search_view_filter_construct (object_type); +#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return self; +#line 7088 "CollectionPage.c" +} + + +CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_new (void) { +#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala" + return collection_page_collection_search_view_filter_construct (COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER); +#line 7095 "CollectionPage.c" +} + + +static void collection_page_collection_search_view_filter_class_init (CollectionPageCollectionSearchViewFilterClass * klass) { +#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_collection_search_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 22 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((SearchViewFilterClass *) klass)->get_criteria = collection_page_collection_search_view_filter_real_get_criteria; +#line 7104 "CollectionPage.c" +} + + +static void collection_page_collection_search_view_filter_instance_init (CollectionPageCollectionSearchViewFilter * self) { +} + + +GType collection_page_collection_search_view_filter_get_type (void) { + static volatile gsize collection_page_collection_search_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&collection_page_collection_search_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CollectionPageCollectionSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) collection_page_collection_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CollectionPageCollectionSearchViewFilter), 0, (GInstanceInitFunc) collection_page_collection_search_view_filter_instance_init, NULL }; + GType collection_page_collection_search_view_filter_type_id; + collection_page_collection_search_view_filter_type_id = g_type_register_static (TYPE_DEFAULT_SEARCH_VIEW_FILTER, "CollectionPageCollectionSearchViewFilter", &g_define_type_info, 0); + g_once_init_leave (&collection_page_collection_search_view_filter_type_id__volatile, collection_page_collection_search_view_filter_type_id); + } + return collection_page_collection_search_view_filter_type_id__volatile; +} + + +static void collection_page_class_init (CollectionPageClass * klass) { +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + collection_page_parent_class = g_type_class_peek_parent (klass); +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + g_type_class_add_private (klass, sizeof (CollectionPagePrivate)); +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->get_toolbar = collection_page_real_get_toolbar; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = collection_page_real_init_collect_ui_filenames; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->init_collect_action_entries = collection_page_real_init_collect_action_entries; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->init_collect_injection_groups = collection_page_real_init_collect_injection_groups; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->init_actions = collection_page_real_init_actions; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->update_actions = collection_page_real_update_actions; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((CheckerboardPageClass *) klass)->on_item_activated = collection_page_real_on_item_activated; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->on_app_key_pressed = collection_page_real_on_app_key_pressed; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((MediaPageClass *) klass)->on_export = collection_page_real_on_export; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->on_ctrl_pressed = collection_page_real_on_ctrl_pressed; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((PageClass *) klass)->on_ctrl_released = collection_page_real_on_ctrl_released; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + ((CheckerboardPageClass *) klass)->get_search_view_filter = collection_page_real_get_search_view_filter; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + G_OBJECT_CLASS (klass)->finalize = collection_page_finalize; +#line 7155 "CollectionPage.c" +} + + +static void collection_page_instance_init (CollectionPage * self) { + CollectionPageCollectionSearchViewFilter* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self->priv = COLLECTION_PAGE_GET_PRIVATE (self); +#line 29 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self->priv->exporter = NULL; +#line 30 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _tmp0_ = collection_page_collection_search_view_filter_new (); +#line 30 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self->priv->search_filter = _tmp0_; +#line 7169 "CollectionPage.c" +} + + +static void collection_page_finalize (GObject* obj) { + CollectionPage * self; +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COLLECTION_PAGE, CollectionPage); +#line 29 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _exporter_ui_unref0 (self->priv->exporter); +#line 30 "/home/jens/Source/shotwell/src/CollectionPage.vala" + _view_filter_unref0 (self->priv->search_filter); +#line 19 "/home/jens/Source/shotwell/src/CollectionPage.vala" + G_OBJECT_CLASS (collection_page_parent_class)->finalize (obj); +#line 7183 "CollectionPage.c" +} + + +GType collection_page_get_type (void) { + static volatile gsize collection_page_type_id__volatile = 0; + if (g_once_init_enter (&collection_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CollectionPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) collection_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CollectionPage), 0, (GInstanceInitFunc) collection_page_instance_init, NULL }; + GType collection_page_type_id; + collection_page_type_id = g_type_register_static (TYPE_MEDIA_PAGE, "CollectionPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&collection_page_type_id__volatile, collection_page_type_id); + } + return collection_page_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/CollectionPage.vala b/src/CollectionPage.vala index c5fcbee..953f9b5 100644 --- a/src/CollectionPage.vala +++ b/src/CollectionPage.vala @@ -22,7 +22,7 @@ public abstract class CollectionPage : MediaPage { protected class CollectionSearchViewFilter : DefaultSearchViewFilter { public override uint get_criteria() { return SearchFilterCriteria.TEXT | SearchFilterCriteria.FLAG | - SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING; + SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING | SearchFilterCriteria.SAVEDSEARCH; } } diff --git a/src/ColorTransformation.c b/src/ColorTransformation.c new file mode 100644 index 0000000..2a3e7c4 --- /dev/null +++ b/src/ColorTransformation.c @@ -0,0 +1,13612 @@ +/* ColorTransformation.c generated by valac 0.32.1, the Vala compiler + * generated from ColorTransformation.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_RGB_ANALYTIC_PIXEL (rgb_analytic_pixel_get_type ()) +typedef struct _RGBAnalyticPixel RGBAnalyticPixel; + +#define TYPE_HSV_ANALYTIC_PIXEL (hsv_analytic_pixel_get_type ()) +typedef struct _HSVAnalyticPixel HSVAnalyticPixel; + +#define TYPE_COMPOSITION_MODE (composition_mode_get_type ()) + +#define TYPE_PIXEL_FORMAT (pixel_format_get_type ()) + +#define TYPE_PIXEL_TRANSFORMATION_TYPE (pixel_transformation_type_get_type ()) + +#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ()) +#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle)) +#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) + +typedef struct _PixelTransformationBundle PixelTransformationBundle; +typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass; +typedef struct _PixelTransformationBundlePrivate PixelTransformationBundlePrivate; + +#define TYPE_PIXEL_TRANSFORMATION (pixel_transformation_get_type ()) +#define PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformation)) +#define PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) +#define IS_PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION)) +#define IS_PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION)) +#define PIXEL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) + +typedef struct _PixelTransformation PixelTransformation; +typedef struct _PixelTransformationClass PixelTransformationClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) + +#define TYPE_HSV_TRANSFORMATION (hsv_transformation_get_type ()) +#define HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformation)) +#define HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HSV_TRANSFORMATION, HSVTransformationClass)) +#define IS_HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HSV_TRANSFORMATION)) +#define IS_HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HSV_TRANSFORMATION)) +#define HSV_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformationClass)) + +typedef struct _HSVTransformation HSVTransformation; +typedef struct _HSVTransformationClass HSVTransformationClass; + +#define TYPE_EXPANSION_TRANSFORMATION (expansion_transformation_get_type ()) +#define EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation)) +#define EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass)) +#define IS_EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPANSION_TRANSFORMATION)) +#define IS_EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPANSION_TRANSFORMATION)) +#define EXPANSION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass)) + +typedef struct _ExpansionTransformation ExpansionTransformation; +typedef struct _ExpansionTransformationClass ExpansionTransformationClass; +#define _pixel_transformation_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_unref (var), NULL))) + +#define TYPE_SHADOW_DETAIL_TRANSFORMATION (shadow_detail_transformation_get_type ()) +#define SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation)) +#define SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass)) +#define IS_SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION)) +#define IS_SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION)) +#define SHADOW_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass)) + +typedef struct _ShadowDetailTransformation ShadowDetailTransformation; +typedef struct _ShadowDetailTransformationClass ShadowDetailTransformationClass; + +#define TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION (highlight_detail_transformation_get_type ()) +#define HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation)) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass)) +#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION)) +#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION)) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass)) + +typedef struct _HighlightDetailTransformation HighlightDetailTransformation; +typedef struct _HighlightDetailTransformationClass HighlightDetailTransformationClass; + +#define TYPE_RGB_TRANSFORMATION (rgb_transformation_get_type ()) +#define RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformation)) +#define RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_TRANSFORMATION, RGBTransformationClass)) +#define IS_RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_TRANSFORMATION)) +#define IS_RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_TRANSFORMATION)) +#define RGB_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformationClass)) + +typedef struct _RGBTransformation RGBTransformation; +typedef struct _RGBTransformationClass RGBTransformationClass; + +#define TYPE_TEMPERATURE_TRANSFORMATION (temperature_transformation_get_type ()) +#define TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation)) +#define TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass)) +#define IS_TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEMPERATURE_TRANSFORMATION)) +#define IS_TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEMPERATURE_TRANSFORMATION)) +#define TEMPERATURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass)) + +typedef struct _TemperatureTransformation TemperatureTransformation; +typedef struct _TemperatureTransformationClass TemperatureTransformationClass; + +#define TYPE_TINT_TRANSFORMATION (tint_transformation_get_type ()) +#define TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TINT_TRANSFORMATION, TintTransformation)) +#define TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TINT_TRANSFORMATION, TintTransformationClass)) +#define IS_TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TINT_TRANSFORMATION)) +#define IS_TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TINT_TRANSFORMATION)) +#define TINT_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TINT_TRANSFORMATION, TintTransformationClass)) + +typedef struct _TintTransformation TintTransformation; +typedef struct _TintTransformationClass TintTransformationClass; + +#define TYPE_SATURATION_TRANSFORMATION (saturation_transformation_get_type ()) +#define SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformation)) +#define SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass)) +#define IS_SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SATURATION_TRANSFORMATION)) +#define IS_SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SATURATION_TRANSFORMATION)) +#define SATURATION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass)) + +typedef struct _SaturationTransformation SaturationTransformation; +typedef struct _SaturationTransformationClass SaturationTransformationClass; + +#define TYPE_EXPOSURE_TRANSFORMATION (exposure_transformation_get_type ()) +#define EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation)) +#define EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass)) +#define IS_EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPOSURE_TRANSFORMATION)) +#define IS_EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPOSURE_TRANSFORMATION)) +#define EXPOSURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass)) + +typedef struct _ExposureTransformation ExposureTransformation; +typedef struct _ExposureTransformationClass ExposureTransformationClass; + +#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ()) +#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap)) +#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) +#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP)) +#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP)) +#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) + +typedef struct _KeyValueMap KeyValueMap; +typedef struct _KeyValueMapClass KeyValueMapClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _key_value_map_unref0(var) ((var == NULL) ? NULL : (var = (key_value_map_unref (var), NULL))) + +#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ()) +#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer)) +#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) +#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER)) +#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER)) +#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) + +typedef struct _PixelTransformer PixelTransformer; +typedef struct _PixelTransformerClass PixelTransformerClass; +#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL))) +typedef struct _ParamSpecPixelTransformationBundle ParamSpecPixelTransformationBundle; +typedef struct _PixelTransformationPrivate PixelTransformationPrivate; +typedef struct _ParamSpecPixelTransformation ParamSpecPixelTransformation; +typedef struct _RGBTransformationPrivate RGBTransformationPrivate; +typedef struct _HSVTransformationPrivate HSVTransformationPrivate; +typedef struct _TintTransformationPrivate TintTransformationPrivate; +typedef struct _TemperatureTransformationPrivate TemperatureTransformationPrivate; +typedef struct _SaturationTransformationPrivate SaturationTransformationPrivate; +typedef struct _ExposureTransformationPrivate ExposureTransformationPrivate; +typedef struct _PixelTransformerPrivate PixelTransformerPrivate; +typedef struct _ParamSpecPixelTransformer ParamSpecPixelTransformer; + +#define TYPE_RGB_HISTOGRAM (rgb_histogram_get_type ()) +#define RGB_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_HISTOGRAM, RGBHistogram)) +#define RGB_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_HISTOGRAM, RGBHistogramClass)) +#define IS_RGB_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_HISTOGRAM)) +#define IS_RGB_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_HISTOGRAM)) +#define RGB_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_HISTOGRAM, RGBHistogramClass)) + +typedef struct _RGBHistogram RGBHistogram; +typedef struct _RGBHistogramClass RGBHistogramClass; +typedef struct _RGBHistogramPrivate RGBHistogramPrivate; +typedef struct _ParamSpecRGBHistogram ParamSpecRGBHistogram; + +#define TYPE_INTENSITY_HISTOGRAM (intensity_histogram_get_type ()) +#define INTENSITY_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INTENSITY_HISTOGRAM, IntensityHistogram)) +#define INTENSITY_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramClass)) +#define IS_INTENSITY_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INTENSITY_HISTOGRAM)) +#define IS_INTENSITY_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INTENSITY_HISTOGRAM)) +#define INTENSITY_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramClass)) + +typedef struct _IntensityHistogram IntensityHistogram; +typedef struct _IntensityHistogramClass IntensityHistogramClass; +typedef struct _IntensityHistogramPrivate IntensityHistogramPrivate; +typedef struct _ParamSpecIntensityHistogram ParamSpecIntensityHistogram; +typedef struct _ExpansionTransformationPrivate ExpansionTransformationPrivate; +typedef struct _ShadowDetailTransformationPrivate ShadowDetailTransformationPrivate; + +#define TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION (hermite_gamma_approximation_function_get_type ()) +#define HERMITE_GAMMA_APPROXIMATION_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunction)) +#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionClass)) +#define IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)) +#define IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)) +#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionClass)) + +typedef struct _HermiteGammaApproximationFunction HermiteGammaApproximationFunction; +typedef struct _HermiteGammaApproximationFunctionClass HermiteGammaApproximationFunctionClass; +#define _hermite_gamma_approximation_function_unref0(var) ((var == NULL) ? NULL : (var = (hermite_gamma_approximation_function_unref (var), NULL))) +typedef struct _HermiteGammaApproximationFunctionPrivate HermiteGammaApproximationFunctionPrivate; +typedef struct _ParamSpecHermiteGammaApproximationFunction ParamSpecHermiteGammaApproximationFunction; +typedef struct _HighlightDetailTransformationPrivate HighlightDetailTransformationPrivate; +#define _intensity_histogram_unref0(var) ((var == NULL) ? NULL : (var = (intensity_histogram_unref (var), NULL))) +#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 _RGBAnalyticPixel { + gfloat red; + gfloat green; + gfloat blue; +}; + +struct _HSVAnalyticPixel { + gfloat hue; + gfloat saturation; + gfloat light_value; +}; + +typedef enum { + COMPOSITION_MODE_NONE, + COMPOSITION_MODE_RGB_MATRIX +} CompositionMode; + +typedef enum { + PIXEL_FORMAT_RGB, + PIXEL_FORMAT_HSV +} PixelFormat; + +typedef enum { + PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION, + PIXEL_TRANSFORMATION_TYPE_SHADOWS, + PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS, + PIXEL_TRANSFORMATION_TYPE_TEMPERATURE, + PIXEL_TRANSFORMATION_TYPE_TINT, + PIXEL_TRANSFORMATION_TYPE_SATURATION, + PIXEL_TRANSFORMATION_TYPE_EXPOSURE +} PixelTransformationType; + +struct _PixelTransformationBundle { + GTypeInstance parent_instance; + volatile int ref_count; + PixelTransformationBundlePrivate * priv; +}; + +struct _PixelTransformationBundleClass { + GTypeClass parent_class; + void (*finalize) (PixelTransformationBundle *self); +}; + +struct _PixelTransformationBundlePrivate { + GeeHashMap* map; +}; + +struct _ParamSpecPixelTransformationBundle { + GParamSpec parent_instance; +}; + +struct _PixelTransformation { + GTypeInstance parent_instance; + volatile int ref_count; + PixelTransformationPrivate * priv; +}; + +struct _PixelTransformationClass { + GTypeClass parent_class; + void (*finalize) (PixelTransformation *self); + PixelFormat (*get_preferred_format) (PixelTransformation* self); + CompositionMode (*get_composition_mode) (PixelTransformation* self); + void (*compose_with) (PixelTransformation* self, PixelTransformation* other); + gboolean (*is_identity) (PixelTransformation* self); + void (*transform_pixel_hsv) (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result); + void (*transform_pixel_rgb) (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result); + gchar* (*to_string) (PixelTransformation* self); + PixelTransformation* (*copy) (PixelTransformation* self); +}; + +struct _PixelTransformationPrivate { + PixelTransformationType type; +}; + +struct _ParamSpecPixelTransformation { + GParamSpec parent_instance; +}; + +struct _RGBTransformation { + PixelTransformation parent_instance; + RGBTransformationPrivate * priv; + gfloat* matrix_entries; + gint matrix_entries_length1; + gboolean identity; +}; + +struct _RGBTransformationClass { + PixelTransformationClass parent_class; +}; + +struct _HSVTransformation { + PixelTransformation parent_instance; + HSVTransformationPrivate * priv; +}; + +struct _HSVTransformationClass { + PixelTransformationClass parent_class; +}; + +struct _TintTransformation { + RGBTransformation parent_instance; + TintTransformationPrivate * priv; +}; + +struct _TintTransformationClass { + RGBTransformationClass parent_class; +}; + +struct _TintTransformationPrivate { + gfloat parameter; +}; + +struct _TemperatureTransformation { + RGBTransformation parent_instance; + TemperatureTransformationPrivate * priv; +}; + +struct _TemperatureTransformationClass { + RGBTransformationClass parent_class; +}; + +struct _TemperatureTransformationPrivate { + gfloat parameter; +}; + +struct _SaturationTransformation { + RGBTransformation parent_instance; + SaturationTransformationPrivate * priv; +}; + +struct _SaturationTransformationClass { + RGBTransformationClass parent_class; +}; + +struct _SaturationTransformationPrivate { + gfloat parameter; +}; + +struct _ExposureTransformation { + RGBTransformation parent_instance; + ExposureTransformationPrivate * priv; +}; + +struct _ExposureTransformationClass { + RGBTransformationClass parent_class; +}; + +struct _ExposureTransformationPrivate { + gfloat parameter; +}; + +struct _PixelTransformer { + GTypeInstance parent_instance; + volatile int ref_count; + PixelTransformerPrivate * priv; +}; + +struct _PixelTransformerClass { + GTypeClass parent_class; + void (*finalize) (PixelTransformer *self); +}; + +struct _PixelTransformerPrivate { + GeeArrayList* transformations; + PixelTransformation** optimized_transformations; + gint optimized_transformations_length1; + gint _optimized_transformations_size_; + gint optimized_slots_used; +}; + +struct _ParamSpecPixelTransformer { + GParamSpec parent_instance; +}; + +struct _RGBHistogram { + GTypeInstance parent_instance; + volatile int ref_count; + RGBHistogramPrivate * priv; +}; + +struct _RGBHistogramClass { + GTypeClass parent_class; + void (*finalize) (RGBHistogram *self); +}; + +struct _RGBHistogramPrivate { + gint* red_counts; + gint red_counts_length1; + gint _red_counts_size_; + gint* green_counts; + gint green_counts_length1; + gint _green_counts_size_; + gint* blue_counts; + gint blue_counts_length1; + gint _blue_counts_size_; + gint* qualitative_red_counts; + gint qualitative_red_counts_length1; + gint _qualitative_red_counts_size_; + gint* qualitative_green_counts; + gint qualitative_green_counts_length1; + gint _qualitative_green_counts_size_; + gint* qualitative_blue_counts; + gint qualitative_blue_counts_length1; + gint _qualitative_blue_counts_size_; + GdkPixbuf* graphic; +}; + +struct _ParamSpecRGBHistogram { + GParamSpec parent_instance; +}; + +struct _IntensityHistogram { + GTypeInstance parent_instance; + volatile int ref_count; + IntensityHistogramPrivate * priv; +}; + +struct _IntensityHistogramClass { + GTypeClass parent_class; + void (*finalize) (IntensityHistogram *self); +}; + +struct _IntensityHistogramPrivate { + gint* counts; + gint counts_length1; + gint _counts_size_; + gfloat* probabilities; + gint probabilities_length1; + gint _probabilities_size_; + gfloat* cumulative_probabilities; + gint cumulative_probabilities_length1; + gint _cumulative_probabilities_size_; +}; + +struct _ParamSpecIntensityHistogram { + GParamSpec parent_instance; +}; + +struct _ExpansionTransformation { + HSVTransformation parent_instance; + ExpansionTransformationPrivate * priv; +}; + +struct _ExpansionTransformationClass { + HSVTransformationClass parent_class; +}; + +struct _ExpansionTransformationPrivate { + gfloat* remap_table; + gint remap_table_length1; + gint _remap_table_size_; + gint low_kink; + gint high_kink; +}; + +struct _ShadowDetailTransformation { + HSVTransformation parent_instance; + ShadowDetailTransformationPrivate * priv; +}; + +struct _ShadowDetailTransformationClass { + HSVTransformationClass parent_class; +}; + +struct _ShadowDetailTransformationPrivate { + gfloat intensity; + gfloat* remap_table; + gint remap_table_length1; + gint _remap_table_size_; +}; + +struct _HermiteGammaApproximationFunction { + GTypeInstance parent_instance; + volatile int ref_count; + HermiteGammaApproximationFunctionPrivate * priv; +}; + +struct _HermiteGammaApproximationFunctionClass { + GTypeClass parent_class; + void (*finalize) (HermiteGammaApproximationFunction *self); +}; + +struct _HermiteGammaApproximationFunctionPrivate { + gfloat x_scale; + gfloat nonzero_interval_upper; +}; + +struct _ParamSpecHermiteGammaApproximationFunction { + GParamSpec parent_instance; +}; + +struct _HighlightDetailTransformation { + HSVTransformation parent_instance; + HighlightDetailTransformationPrivate * priv; +}; + +struct _HighlightDetailTransformationClass { + HSVTransformationClass parent_class; +}; + +struct _HighlightDetailTransformationPrivate { + gfloat intensity; + gfloat* remap_table; + gint remap_table_length1; + gint _remap_table_size_; +}; + + +static gpointer pixel_transformation_bundle_parent_class = NULL; +static PixelTransformationBundle* pixel_transformation_bundle_copied_color_adjustments; +static PixelTransformationBundle* pixel_transformation_bundle_copied_color_adjustments = NULL; +static gpointer pixel_transformation_parent_class = NULL; +static gpointer rgb_transformation_parent_class = NULL; +static gpointer hsv_transformation_parent_class = NULL; +static gpointer tint_transformation_parent_class = NULL; +static gpointer temperature_transformation_parent_class = NULL; +static gpointer saturation_transformation_parent_class = NULL; +static gpointer exposure_transformation_parent_class = NULL; +static gpointer pixel_transformer_parent_class = NULL; +static gpointer rgb_histogram_parent_class = NULL; +static gpointer intensity_histogram_parent_class = NULL; +static gpointer expansion_transformation_parent_class = NULL; +static gpointer shadow_detail_transformation_parent_class = NULL; +static gpointer hermite_gamma_approximation_function_parent_class = NULL; +static gpointer highlight_detail_transformation_parent_class = NULL; + +GType rgb_analytic_pixel_get_type (void) G_GNUC_CONST; +RGBAnalyticPixel* rgb_analytic_pixel_dup (const RGBAnalyticPixel* self); +void rgb_analytic_pixel_free (RGBAnalyticPixel* self); +#define RGB_ANALYTIC_PIXEL_INV_255 (1.0f / 255.0f) +void rgb_analytic_pixel_init (RGBAnalyticPixel *self); +void rgb_analytic_pixel_init_from_components (RGBAnalyticPixel *self, gfloat red, gfloat green, gfloat blue); +void rgb_analytic_pixel_init_from_quantized_components (RGBAnalyticPixel *self, guchar red_quantized, guchar green_quantized, guchar blue_quantized); +GType hsv_analytic_pixel_get_type (void) G_GNUC_CONST; +HSVAnalyticPixel* hsv_analytic_pixel_dup (const HSVAnalyticPixel* self); +void hsv_analytic_pixel_free (HSVAnalyticPixel* self); +void rgb_analytic_pixel_init_from_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* hsv_pixel); +void hsv_analytic_pixel_to_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* result); +guchar rgb_analytic_pixel_quantized_red (RGBAnalyticPixel *self); +guchar rgb_analytic_pixel_quantized_green (RGBAnalyticPixel *self); +guchar rgb_analytic_pixel_quantized_blue (RGBAnalyticPixel *self); +gboolean rgb_analytic_pixel_equals (RGBAnalyticPixel *self, RGBAnalyticPixel* rhs); +guint rgb_analytic_pixel_hash_code (RGBAnalyticPixel *self); +void rgb_analytic_pixel_to_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* result); +void hsv_analytic_pixel_init_from_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* p); +#define HSV_ANALYTIC_PIXEL_INV_255 (1.0f / 255.0f) +void hsv_analytic_pixel_init (HSVAnalyticPixel *self); +void hsv_analytic_pixel_init_from_components (HSVAnalyticPixel *self, gfloat hue, gfloat saturation, gfloat light_value); +void hsv_analytic_pixel_init_from_quantized_components (HSVAnalyticPixel *self, guchar hue_quantized, guchar saturation_quantized, guchar light_value_quantized); +gboolean hsv_analytic_pixel_equals (HSVAnalyticPixel *self, HSVAnalyticPixel* rhs); +guint hsv_analytic_pixel_hash_code (HSVAnalyticPixel *self); +GType composition_mode_get_type (void) G_GNUC_CONST; +GType pixel_format_get_type (void) G_GNUC_CONST; +GType pixel_transformation_type_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_bundle_ref (gpointer instance); +void pixel_transformation_bundle_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object); +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation_bundle (const GValue* value); +GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_ref (gpointer instance); +void pixel_transformation_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation (GValue* value, gpointer v_object); +void value_take_pixel_transformation (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation (const GValue* value); +GType pixel_transformation_get_type (void) G_GNUC_CONST; +#define PIXEL_TRANSFORMATION_BUNDLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundlePrivate)) +enum { + PIXEL_TRANSFORMATION_BUNDLE_DUMMY_PROPERTY +}; +PixelTransformationBundle* pixel_transformation_bundle_new (void); +PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type); +PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void); +void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments); +gboolean pixel_transformation_bundle_has_copied_color_adjustments (void); +void pixel_transformation_bundle_set (PixelTransformationBundle* self, PixelTransformation* transformation); +PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self); +void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self); +ExpansionTransformation* expansion_transformation_new_from_extrema (gint black_point, gint white_point); +ExpansionTransformation* expansion_transformation_construct_from_extrema (GType object_type, gint black_point, gint white_point); +GType hsv_transformation_get_type (void) G_GNUC_CONST; +GType expansion_transformation_get_type (void) G_GNUC_CONST; +ShadowDetailTransformation* shadow_detail_transformation_new (gfloat user_intensity); +ShadowDetailTransformation* shadow_detail_transformation_construct (GType object_type, gfloat user_intensity); +GType shadow_detail_transformation_get_type (void) G_GNUC_CONST; +HighlightDetailTransformation* highlight_detail_transformation_new (gfloat user_intensity); +HighlightDetailTransformation* highlight_detail_transformation_construct (GType object_type, gfloat user_intensity); +GType highlight_detail_transformation_get_type (void) G_GNUC_CONST; +TemperatureTransformation* temperature_transformation_new (gfloat client_parameter); +TemperatureTransformation* temperature_transformation_construct (GType object_type, gfloat client_parameter); +GType rgb_transformation_get_type (void) G_GNUC_CONST; +GType temperature_transformation_get_type (void) G_GNUC_CONST; +TintTransformation* tint_transformation_new (gfloat client_param); +TintTransformation* tint_transformation_construct (GType object_type, gfloat client_param); +GType tint_transformation_get_type (void) G_GNUC_CONST; +SaturationTransformation* saturation_transformation_new (gfloat client_parameter); +SaturationTransformation* saturation_transformation_construct (GType object_type, gfloat client_parameter); +GType saturation_transformation_get_type (void) G_GNUC_CONST; +ExposureTransformation* exposure_transformation_new (gfloat client_parameter); +ExposureTransformation* exposure_transformation_construct (GType object_type, gfloat client_parameter); +GType exposure_transformation_get_type (void) G_GNUC_CONST; +gpointer key_value_map_ref (gpointer instance); +void key_value_map_unref (gpointer instance); +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_key_value_map (GValue* value, gpointer v_object); +void value_take_key_value_map (GValue* value, gpointer v_object); +gpointer value_get_key_value_map (const GValue* value); +GType key_value_map_get_type (void) G_GNUC_CONST; +void pixel_transformation_bundle_load (PixelTransformationBundle* self, KeyValueMap* store); +gchar* key_value_map_get_string (KeyValueMap* self, const gchar* key, const gchar* def); +ExpansionTransformation* expansion_transformation_new_from_string (const gchar* encoded_transformation); +ExpansionTransformation* expansion_transformation_construct_from_string (GType object_type, const gchar* encoded_transformation); +gfloat key_value_map_get_float (KeyValueMap* self, const gchar* key, gfloat def); +KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self, const gchar* group); +KeyValueMap* key_value_map_new (const gchar* group); +KeyValueMap* key_value_map_construct (GType object_type, const gchar* group); +PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type); +void key_value_map_set_string (KeyValueMap* self, const gchar* key, const gchar* value); +gchar* pixel_transformation_to_string (PixelTransformation* self); +void key_value_map_set_float (KeyValueMap* self, const gchar* key, gfloat value); +gfloat shadow_detail_transformation_get_parameter (ShadowDetailTransformation* self); +gfloat highlight_detail_transformation_get_parameter (HighlightDetailTransformation* self); +gfloat temperature_transformation_get_parameter (TemperatureTransformation* self); +gfloat tint_transformation_get_parameter (TintTransformation* self); +gfloat saturation_transformation_get_parameter (SaturationTransformation* self); +gfloat exposure_transformation_get_parameter (ExposureTransformation* self); +gint pixel_transformation_bundle_get_count (PixelTransformationBundle* self); +GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self); +gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self); +gboolean pixel_transformation_is_identity (PixelTransformation* self); +gpointer pixel_transformer_ref (gpointer instance); +void pixel_transformer_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformer (GValue* value, gpointer v_object); +void value_take_pixel_transformer (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformer (const GValue* value); +GType pixel_transformer_get_type (void) G_GNUC_CONST; +PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self); +PixelTransformer* pixel_transformer_new (void); +PixelTransformer* pixel_transformer_construct (GType object_type); +void pixel_transformer_attach_transformation (PixelTransformer* self, PixelTransformation* trans); +PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self); +static void pixel_transformation_bundle_finalize (PixelTransformationBundle* obj); +#define PIXEL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMATION, PixelTransformationPrivate)) +enum { + PIXEL_TRANSFORMATION_DUMMY_PROPERTY +}; +PixelTransformation* pixel_transformation_construct (GType object_type, PixelTransformationType type); +PixelFormat pixel_transformation_get_preferred_format (PixelTransformation* self); +static PixelFormat pixel_transformation_real_get_preferred_format (PixelTransformation* self); +CompositionMode pixel_transformation_get_composition_mode (PixelTransformation* self); +static CompositionMode pixel_transformation_real_get_composition_mode (PixelTransformation* self); +void pixel_transformation_compose_with (PixelTransformation* self, PixelTransformation* other); +static void pixel_transformation_real_compose_with (PixelTransformation* self, PixelTransformation* other); +static gboolean pixel_transformation_real_is_identity (PixelTransformation* self); +void pixel_transformation_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result); +static void pixel_transformation_real_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result); +void pixel_transformation_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +static void pixel_transformation_real_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +static gchar* pixel_transformation_real_to_string (PixelTransformation* self); +PixelTransformation* pixel_transformation_copy (PixelTransformation* self); +static PixelTransformation* pixel_transformation_real_copy (PixelTransformation* self); +static void pixel_transformation_finalize (PixelTransformation* obj); +enum { + RGB_TRANSFORMATION_DUMMY_PROPERTY +}; +#define RGB_TRANSFORMATION_MATRIX_SIZE 16 +RGBTransformation* rgb_transformation_new (PixelTransformationType type); +RGBTransformation* rgb_transformation_construct (GType object_type, PixelTransformationType type); +static PixelFormat rgb_transformation_real_get_preferred_format (PixelTransformation* base); +static CompositionMode rgb_transformation_real_get_composition_mode (PixelTransformation* base); +static void rgb_transformation_real_compose_with (PixelTransformation* base, PixelTransformation* other); +static void rgb_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* p, HSVAnalyticPixel* result); +static void rgb_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +static gboolean rgb_transformation_real_is_identity (PixelTransformation* base); +static PixelTransformation* rgb_transformation_real_copy (PixelTransformation* base); +static void rgb_transformation_finalize (PixelTransformation* obj); +enum { + HSV_TRANSFORMATION_DUMMY_PROPERTY +}; +HSVTransformation* hsv_transformation_construct (GType object_type, PixelTransformationType type); +static PixelFormat hsv_transformation_real_get_preferred_format (PixelTransformation* base); +static void hsv_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +#define TINT_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TINT_TRANSFORMATION, TintTransformationPrivate)) +enum { + TINT_TRANSFORMATION_DUMMY_PROPERTY +}; +#define TINT_TRANSFORMATION_INTENSITY_FACTOR 0.25f +#define TINT_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define TINT_TRANSFORMATION_MAX_PARAMETER 16.0f +static void tint_transformation_finalize (PixelTransformation* obj); +#define TEMPERATURE_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationPrivate)) +enum { + TEMPERATURE_TRANSFORMATION_DUMMY_PROPERTY +}; +#define TEMPERATURE_TRANSFORMATION_INTENSITY_FACTOR 0.33f +#define TEMPERATURE_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define TEMPERATURE_TRANSFORMATION_MAX_PARAMETER 16.0f +static void temperature_transformation_finalize (PixelTransformation* obj); +#define SATURATION_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationPrivate)) +enum { + SATURATION_TRANSFORMATION_DUMMY_PROPERTY +}; +#define SATURATION_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define SATURATION_TRANSFORMATION_MAX_PARAMETER 16.0f +static void saturation_transformation_finalize (PixelTransformation* obj); +#define EXPOSURE_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationPrivate)) +enum { + EXPOSURE_TRANSFORMATION_DUMMY_PROPERTY +}; +#define EXPOSURE_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define EXPOSURE_TRANSFORMATION_MAX_PARAMETER 16.0f +static void exposure_transformation_finalize (PixelTransformation* obj); +#define PIXEL_TRANSFORMER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXEL_TRANSFORMER, PixelTransformerPrivate)) +enum { + PIXEL_TRANSFORMER_DUMMY_PROPERTY +}; +PixelTransformer* pixel_transformer_copy (PixelTransformer* self); +static void pixel_transformer_build_optimized_transformations (PixelTransformer* self); +static void pixel_transformer_apply_transformations (PixelTransformer* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result); +void pixel_transformer_detach_transformation (PixelTransformer* self, PixelTransformation* victim); +void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans); +void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable); +void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable); +void pixel_transformer_transform_from_fp (PixelTransformer* self, gfloat** fp_pixel_cache, int* fp_pixel_cache_length1, GdkPixbuf* dest); +static void pixel_transformer_finalize (PixelTransformer* obj); +gpointer rgb_histogram_ref (gpointer instance); +void rgb_histogram_unref (gpointer instance); +GParamSpec* param_spec_rgb_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_rgb_histogram (GValue* value, gpointer v_object); +void value_take_rgb_histogram (GValue* value, gpointer v_object); +gpointer value_get_rgb_histogram (const GValue* value); +GType rgb_histogram_get_type (void) G_GNUC_CONST; +#define RGB_HISTOGRAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_RGB_HISTOGRAM, RGBHistogramPrivate)) +enum { + RGB_HISTOGRAM_DUMMY_PROPERTY +}; +#define RGB_HISTOGRAM_MARKED_BACKGROUND ((guchar) 30) +#define RGB_HISTOGRAM_MARKED_FOREGROUND ((guchar) 210) +#define RGB_HISTOGRAM_UNMARKED_BACKGROUND ((guchar) 120) +#define RGB_HISTOGRAM_GRAPHIC_WIDTH 256 +#define RGB_HISTOGRAM_GRAPHIC_HEIGHT 100 +RGBHistogram* rgb_histogram_new (GdkPixbuf* pixbuf); +RGBHistogram* rgb_histogram_construct (GType object_type, GdkPixbuf* pixbuf); +static gint rgb_histogram_correct_snap_to_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i); +static gint rgb_histogram_correct_snap_from_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i); +static void rgb_histogram_smooth_extrema (RGBHistogram* self, gint** count_data, int* count_data_length1); +static void rgb_histogram_prepare_qualitative_counts (RGBHistogram* self); +GdkPixbuf* rgb_histogram_get_graphic (RGBHistogram* self); +static void rgb_histogram_finalize (RGBHistogram* obj); +gpointer intensity_histogram_ref (gpointer instance); +void intensity_histogram_unref (gpointer instance); +GParamSpec* param_spec_intensity_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_intensity_histogram (GValue* value, gpointer v_object); +void value_take_intensity_histogram (GValue* value, gpointer v_object); +gpointer value_get_intensity_histogram (const GValue* value); +GType intensity_histogram_get_type (void) G_GNUC_CONST; +#define INTENSITY_HISTOGRAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_INTENSITY_HISTOGRAM, IntensityHistogramPrivate)) +enum { + INTENSITY_HISTOGRAM_DUMMY_PROPERTY +}; +IntensityHistogram* intensity_histogram_new (GdkPixbuf* pixbuf); +IntensityHistogram* intensity_histogram_construct (GType object_type, GdkPixbuf* pixbuf); +gfloat intensity_histogram_get_cumulative_probability (IntensityHistogram* self, gint level); +static void intensity_histogram_finalize (IntensityHistogram* obj); +#define EXPANSION_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationPrivate)) +enum { + EXPANSION_TRANSFORMATION_DUMMY_PROPERTY +}; +#define EXPANSION_TRANSFORMATION_LOW_DISCARD_MASS 0.02f +#define EXPANSION_TRANSFORMATION_HIGH_DISCARD_MASS 0.02f +ExpansionTransformation* expansion_transformation_new (IntensityHistogram* histogram); +ExpansionTransformation* expansion_transformation_construct (GType object_type, IntensityHistogram* histogram); +static void expansion_transformation_build_remap_table (ExpansionTransformation* self); +static void expansion_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result); +static gchar* expansion_transformation_real_to_string (PixelTransformation* base); +gint expansion_transformation_get_white_point (ExpansionTransformation* self); +gint expansion_transformation_get_black_point (ExpansionTransformation* self); +static gboolean expansion_transformation_real_is_identity (PixelTransformation* base); +static PixelTransformation* expansion_transformation_real_copy (PixelTransformation* base); +static void expansion_transformation_finalize (PixelTransformation* obj); +#define SHADOW_DETAIL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationPrivate)) +enum { + SHADOW_DETAIL_TRANSFORMATION_DUMMY_PROPERTY +}; +#define SHADOW_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT 0.5f +#define SHADOW_DETAIL_TRANSFORMATION_MIN_TONAL_WIDTH 0.1f +#define SHADOW_DETAIL_TRANSFORMATION_MAX_TONAL_WIDTH 1.0f +#define SHADOW_DETAIL_TRANSFORMATION_TONAL_WIDTH 1.0f +#define SHADOW_DETAIL_TRANSFORMATION_MIN_PARAMETER 0.0f +#define SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER 32.0f +gpointer hermite_gamma_approximation_function_ref (gpointer instance); +void hermite_gamma_approximation_function_unref (gpointer instance); +GParamSpec* param_spec_hermite_gamma_approximation_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hermite_gamma_approximation_function (GValue* value, gpointer v_object); +void value_take_hermite_gamma_approximation_function (GValue* value, gpointer v_object); +gpointer value_get_hermite_gamma_approximation_function (const GValue* value); +GType hermite_gamma_approximation_function_get_type (void) G_GNUC_CONST; +HermiteGammaApproximationFunction* hermite_gamma_approximation_function_new (gfloat user_interval_upper); +HermiteGammaApproximationFunction* hermite_gamma_approximation_function_construct (GType object_type, gfloat user_interval_upper); +gfloat hermite_gamma_approximation_function_evaluate (HermiteGammaApproximationFunction* self, gfloat x); +static void shadow_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result); +static PixelTransformation* shadow_detail_transformation_real_copy (PixelTransformation* base); +static gboolean shadow_detail_transformation_real_is_identity (PixelTransformation* base); +static void shadow_detail_transformation_finalize (PixelTransformation* obj); +#define HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunctionPrivate)) +enum { + HERMITE_GAMMA_APPROXIMATION_FUNCTION_DUMMY_PROPERTY +}; +static void hermite_gamma_approximation_function_finalize (HermiteGammaApproximationFunction* obj); +#define HIGHLIGHT_DETAIL_TRANSFORMATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationPrivate)) +enum { + HIGHLIGHT_DETAIL_TRANSFORMATION_DUMMY_PROPERTY +}; +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT 0.5f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_TONAL_WIDTH 0.1f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_TONAL_WIDTH 1.0f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_TONAL_WIDTH 1.0f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER (-32.0f) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_PARAMETER 0.0f +static void highlight_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result); +static PixelTransformation* highlight_detail_transformation_real_copy (PixelTransformation* base); +static gboolean highlight_detail_transformation_real_is_identity (PixelTransformation* base); +static void highlight_detail_transformation_finalize (PixelTransformation* obj); +#define AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY 8 +#define AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY 100 +#define AUTO_ENHANCE_SHADOW_DETECT_INTENSITY_RANGE (AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY - AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY) +#define AUTO_ENHANCE_SHADOW_MODE_HIGH_DISCARD_MASS 0.02f +#define AUTO_ENHANCE_SHADOW_AGGRESSIVENESS_MUL 0.4f +#define AUTO_ENHANCE_EMPIRICAL_DARK 30 +PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +void rgb_analytic_pixel_init (RGBAnalyticPixel *self) { +#line 14 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (RGBAnalyticPixel)); +#line 15 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).red = 0.0f; +#line 16 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).green = 0.0f; +#line 17 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).blue = 0.0f; +#line 875 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_init_from_components (RGBAnalyticPixel *self, gfloat red, gfloat green, gfloat blue) { + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; +#line 20 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (RGBAnalyticPixel)); +#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = red; +#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0.0f, 1.0f); +#line 22 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).red = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = green; +#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = CLAMP (_tmp2_, 0.0f, 1.0f); +#line 23 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).green = _tmp3_; +#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = blue; +#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f); +#line 24 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).blue = _tmp5_; +#line 906 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_init_from_quantized_components (RGBAnalyticPixel *self, guchar red_quantized, guchar green_quantized, guchar blue_quantized) { + guchar _tmp0_ = '\0'; + guchar _tmp1_ = '\0'; + guchar _tmp2_ = '\0'; +#line 27 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (RGBAnalyticPixel)); +#line 29 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = red_quantized; +#line 29 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).red = ((gfloat) _tmp0_) * RGB_ANALYTIC_PIXEL_INV_255; +#line 30 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = green_quantized; +#line 30 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).green = ((gfloat) _tmp1_) * RGB_ANALYTIC_PIXEL_INV_255; +#line 31 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = blue_quantized; +#line 31 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).blue = ((gfloat) _tmp2_) * RGB_ANALYTIC_PIXEL_INV_255; +#line 928 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_init_from_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* hsv_pixel) { + RGBAnalyticPixel from_hsv = {0}; + RGBAnalyticPixel _tmp0_ = {0}; + RGBAnalyticPixel _tmp1_ = {0}; + gfloat _tmp2_ = 0.0F; + RGBAnalyticPixel _tmp3_ = {0}; + gfloat _tmp4_ = 0.0F; + RGBAnalyticPixel _tmp5_ = {0}; + gfloat _tmp6_ = 0.0F; +#line 34 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (hsv_pixel != NULL); +#line 34 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (RGBAnalyticPixel)); +#line 35 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (hsv_pixel, &_tmp0_); +#line 35 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + from_hsv = _tmp0_; +#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = from_hsv; +#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_.red; +#line 36 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).red = _tmp2_; +#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = from_hsv; +#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_.green; +#line 37 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).green = _tmp4_; +#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = from_hsv; +#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_.blue; +#line 38 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).blue = _tmp6_; +#line 967 "ColorTransformation.c" +} + + +guchar rgb_analytic_pixel_quantized_red (RGBAnalyticPixel *self) { + guchar result = '\0'; + gfloat _tmp0_ = 0.0F; +#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).red; +#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (guchar) (_tmp0_ * 255.0f); +#line 42 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 980 "ColorTransformation.c" +} + + +guchar rgb_analytic_pixel_quantized_green (RGBAnalyticPixel *self) { + guchar result = '\0'; + gfloat _tmp0_ = 0.0F; +#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).green; +#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (guchar) (_tmp0_ * 255.0f); +#line 46 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 993 "ColorTransformation.c" +} + + +guchar rgb_analytic_pixel_quantized_blue (RGBAnalyticPixel *self) { + guchar result = '\0'; + gfloat _tmp0_ = 0.0F; +#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).blue; +#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (guchar) (_tmp0_ * 255.0f); +#line 50 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1006 "ColorTransformation.c" +} + + +gboolean rgb_analytic_pixel_equals (RGBAnalyticPixel *self, RGBAnalyticPixel* rhs) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gfloat _tmp2_ = 0.0F; + RGBAnalyticPixel* _tmp3_ = NULL; + gfloat _tmp4_ = 0.0F; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).red; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = rhs; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = (*_tmp3_).red; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ == _tmp4_) { +#line 1025 "ColorTransformation.c" + gfloat _tmp5_ = 0.0F; + RGBAnalyticPixel* _tmp6_ = NULL; + gfloat _tmp7_ = 0.0F; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = (*self).green; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = rhs; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = (*_tmp6_).green; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp5_ == _tmp7_; +#line 1037 "ColorTransformation.c" + } else { +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 1041 "ColorTransformation.c" + } +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_) { +#line 1045 "ColorTransformation.c" + gfloat _tmp8_ = 0.0F; + RGBAnalyticPixel* _tmp9_ = NULL; + gfloat _tmp10_ = 0.0F; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = (*self).blue; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = rhs; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = (*_tmp9_).blue; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = _tmp8_ == _tmp10_; +#line 1057 "ColorTransformation.c" + } else { +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 1061 "ColorTransformation.c" + } +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 54 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1067 "ColorTransformation.c" +} + + +guint rgb_analytic_pixel_hash_code (RGBAnalyticPixel *self) { + guint result = 0U; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).red; +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = (*self).green; +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).blue; +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = ((((guint) (_tmp0_ * 255.0f)) << 16) + (((guint) (_tmp1_ * 255.0f)) << 8)) + ((guint) (_tmp2_ * 255.0f)); +#line 58 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1086 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_to_hsv (RGBAnalyticPixel *self, HSVAnalyticPixel* result) { + HSVAnalyticPixel _tmp0_ = {0}; +#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_init_from_rgb (&_tmp0_, &(*self)); +#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp0_; +#line 63 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 1098 "ColorTransformation.c" +} + + +RGBAnalyticPixel* rgb_analytic_pixel_dup (const RGBAnalyticPixel* self) { + RGBAnalyticPixel* dup; +#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dup = g_new0 (RGBAnalyticPixel, 1); +#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memcpy (dup, self, sizeof (RGBAnalyticPixel)); +#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return dup; +#line 1110 "ColorTransformation.c" +} + + +void rgb_analytic_pixel_free (RGBAnalyticPixel* self) { +#line 7 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_free (self); +#line 1117 "ColorTransformation.c" +} + + +GType rgb_analytic_pixel_get_type (void) { + static volatile gsize rgb_analytic_pixel_type_id__volatile = 0; + if (g_once_init_enter (&rgb_analytic_pixel_type_id__volatile)) { + GType rgb_analytic_pixel_type_id; + rgb_analytic_pixel_type_id = g_boxed_type_register_static ("RGBAnalyticPixel", (GBoxedCopyFunc) rgb_analytic_pixel_dup, (GBoxedFreeFunc) rgb_analytic_pixel_free); + g_once_init_leave (&rgb_analytic_pixel_type_id__volatile, rgb_analytic_pixel_type_id); + } + return rgb_analytic_pixel_type_id__volatile; +} + + +void hsv_analytic_pixel_init (HSVAnalyticPixel *self) { +#line 74 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (HSVAnalyticPixel)); +#line 75 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = 0.0f; +#line 76 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = 0.0f; +#line 77 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = 0.0f; +#line 1141 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_init_from_components (HSVAnalyticPixel *self, gfloat hue, gfloat saturation, gfloat light_value) { + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; +#line 80 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (HSVAnalyticPixel)); +#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = hue; +#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0.0f, 1.0f); +#line 82 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp1_; +#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = saturation; +#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = CLAMP (_tmp2_, 0.0f, 1.0f); +#line 83 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = _tmp3_; +#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = light_value; +#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f); +#line 84 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = _tmp5_; +#line 1172 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_init_from_quantized_components (HSVAnalyticPixel *self, guchar hue_quantized, guchar saturation_quantized, guchar light_value_quantized) { + guchar _tmp0_ = '\0'; + guchar _tmp1_ = '\0'; + guchar _tmp2_ = '\0'; +#line 87 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (HSVAnalyticPixel)); +#line 89 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = hue_quantized; +#line 89 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = ((gfloat) _tmp0_) * HSV_ANALYTIC_PIXEL_INV_255; +#line 90 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = saturation_quantized; +#line 90 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = ((gfloat) _tmp1_) * HSV_ANALYTIC_PIXEL_INV_255; +#line 91 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = light_value_quantized; +#line 91 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = ((gfloat) _tmp2_) * HSV_ANALYTIC_PIXEL_INV_255; +#line 1194 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_init_from_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* p) { + gfloat max_component = 0.0F; + RGBAnalyticPixel _tmp0_ = {0}; + gfloat _tmp1_ = 0.0F; + RGBAnalyticPixel _tmp2_ = {0}; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + RGBAnalyticPixel _tmp5_ = {0}; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat min_component = 0.0F; + RGBAnalyticPixel _tmp8_ = {0}; + gfloat _tmp9_ = 0.0F; + RGBAnalyticPixel _tmp10_ = {0}; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; + RGBAnalyticPixel _tmp13_ = {0}; + gfloat _tmp14_ = 0.0F; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gfloat _tmp18_ = 0.0F; + gfloat _tmp22_ = 0.0F; + gfloat _tmp53_ = 0.0F; + gfloat _tmp54_ = 0.0F; + gfloat _tmp55_ = 0.0F; + gfloat _tmp56_ = 0.0F; + gfloat _tmp57_ = 0.0F; + gfloat _tmp58_ = 0.0F; +#line 94 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 94 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memset (self, 0, sizeof (HSVAnalyticPixel)); +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_.red; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *p; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_.green; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = MAX (_tmp1_, _tmp3_); +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = *p; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_.blue; +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = MAX (_tmp4_, _tmp6_); +#line 95 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_component = _tmp7_; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = *p; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp8_.red; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = *p; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_.green; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = MIN (_tmp9_, _tmp11_); +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = *p; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = _tmp13_.blue; +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = MIN (_tmp12_, _tmp14_); +#line 96 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + min_component = _tmp15_; +#line 98 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = max_component; +#line 98 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = _tmp16_; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = max_component; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp18_ != 0.0f) { +#line 1275 "ColorTransformation.c" + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; + gfloat _tmp21_ = 0.0F; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = max_component; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = min_component; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = max_component; +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = (_tmp19_ - _tmp20_) / _tmp21_; +#line 1287 "ColorTransformation.c" + } else { +#line 100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = 0.0f; +#line 1291 "ColorTransformation.c" + } +#line 99 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = _tmp17_; +#line 102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = (*self).saturation; +#line 102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp22_ == 0.0f) { +#line 103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = 0.0f; +#line 1301 "ColorTransformation.c" + } else { + gfloat delta = 0.0F; + gfloat _tmp23_ = 0.0F; + gfloat _tmp24_ = 0.0F; + RGBAnalyticPixel _tmp25_ = {0}; + gfloat _tmp26_ = 0.0F; + gfloat _tmp27_ = 0.0F; + gfloat _tmp49_ = 0.0F; + gfloat _tmp50_ = 0.0F; + gfloat _tmp52_ = 0.0F; +#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = max_component; +#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = min_component; +#line 105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + delta = _tmp23_ - _tmp24_; +#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = *p; +#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp25_.red; +#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = max_component; +#line 106 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp26_ == _tmp27_) { +#line 1326 "ColorTransformation.c" + RGBAnalyticPixel _tmp28_ = {0}; + gfloat _tmp29_ = 0.0F; + RGBAnalyticPixel _tmp30_ = {0}; + gfloat _tmp31_ = 0.0F; + gfloat _tmp32_ = 0.0F; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = *p; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp28_.green; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = *p; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp30_.blue; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = delta; +#line 107 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = (_tmp29_ - _tmp31_) / _tmp32_; +#line 1344 "ColorTransformation.c" + } else { + RGBAnalyticPixel _tmp33_ = {0}; + gfloat _tmp34_ = 0.0F; + gfloat _tmp35_ = 0.0F; +#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = *p; +#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp33_.green; +#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = max_component; +#line 108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp34_ == _tmp35_) { +#line 1357 "ColorTransformation.c" + RGBAnalyticPixel _tmp36_ = {0}; + gfloat _tmp37_ = 0.0F; + RGBAnalyticPixel _tmp38_ = {0}; + gfloat _tmp39_ = 0.0F; + gfloat _tmp40_ = 0.0F; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = *p; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_.blue; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = *p; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp38_.red; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = delta; +#line 109 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = 2.0f + ((_tmp37_ - _tmp39_) / _tmp40_); +#line 1375 "ColorTransformation.c" + } else { + RGBAnalyticPixel _tmp41_ = {0}; + gfloat _tmp42_ = 0.0F; + gfloat _tmp43_ = 0.0F; +#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = *p; +#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp41_.blue; +#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = max_component; +#line 110 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp42_ == _tmp43_) { +#line 1388 "ColorTransformation.c" + RGBAnalyticPixel _tmp44_ = {0}; + gfloat _tmp45_ = 0.0F; + RGBAnalyticPixel _tmp46_ = {0}; + gfloat _tmp47_ = 0.0F; + gfloat _tmp48_ = 0.0F; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = *p; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_.red; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = *p; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp46_.green; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = delta; +#line 111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = 4.0f + ((_tmp45_ - _tmp47_) / _tmp48_); +#line 1406 "ColorTransformation.c" + } + } + } +#line 114 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = (*self).hue; +#line 114 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp49_ * 60.0f; +#line 115 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = (*self).hue; +#line 115 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp50_ < 0.0f) { +#line 1418 "ColorTransformation.c" + gfloat _tmp51_ = 0.0F; +#line 116 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = (*self).hue; +#line 116 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp51_ + 360.0f; +#line 1424 "ColorTransformation.c" + } +#line 118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = (*self).hue; +#line 118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp52_ / 360.0f; +#line 1430 "ColorTransformation.c" + } +#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = (*self).hue; +#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = CLAMP (_tmp53_, 0.0f, 1.0f); +#line 121 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).hue = _tmp54_; +#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = (*self).saturation; +#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = CLAMP (_tmp55_, 0.0f, 1.0f); +#line 122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).saturation = _tmp56_; +#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = (*self).light_value; +#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = CLAMP (_tmp57_, 0.0f, 1.0f); +#line 123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + (*self).light_value = _tmp58_; +#line 1450 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_to_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* result) { + RGBAnalyticPixel _result_ = {0}; + gfloat _tmp0_ = 0.0F; +#line 127 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init (&_result_); +#line 129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).saturation; +#line 129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ == 0.0f) { +#line 1463 "ColorTransformation.c" + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat _tmp3_ = 0.0F; +#line 130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = (*self).light_value; +#line 130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp1_; +#line 131 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).light_value; +#line 131 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp2_; +#line 132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = (*self).light_value; +#line 132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp3_; +#line 1479 "ColorTransformation.c" + } else { + gfloat hue_denorm = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; + gfloat hue_hexant = 0.0F; + gfloat _tmp6_ = 0.0F; + gint hexant_i_part = 0; + gfloat _tmp7_ = 0.0F; + gfloat hexant_f_part = 0.0F; + gfloat _tmp8_ = 0.0F; + gint _tmp9_ = 0; + gfloat p = 0.0F; + gfloat _tmp10_ = 0.0F; + gfloat _tmp11_ = 0.0F; + gfloat q = 0.0F; + gfloat _tmp12_ = 0.0F; + gfloat _tmp13_ = 0.0F; + gfloat _tmp14_ = 0.0F; + gfloat t = 0.0F; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gint _tmp18_ = 0; +#line 134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = (*self).hue; +#line 134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hue_denorm = _tmp4_ * 360.0f; +#line 135 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = hue_denorm; +#line 135 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp5_ == 360.0f) { +#line 136 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hue_denorm = 0.0f; +#line 1513 "ColorTransformation.c" + } +#line 138 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = hue_denorm; +#line 138 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hue_hexant = _tmp6_ / 60.0f; +#line 140 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = hue_hexant; +#line 140 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hexant_i_part = (gint) _tmp7_; +#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = hue_hexant; +#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = hexant_i_part; +#line 142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hexant_f_part = _tmp8_ - ((gfloat) _tmp9_); +#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = (*self).light_value; +#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = (*self).saturation; +#line 145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p = _tmp10_ * (1.0f - _tmp11_); +#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = (*self).light_value; +#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = (*self).saturation; +#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = hexant_f_part; +#line 146 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + q = _tmp12_ * (1.0f - (_tmp13_ * _tmp14_)); +#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = (*self).light_value; +#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = (*self).saturation; +#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = hexant_f_part; +#line 147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + t = _tmp15_ * (1.0f - (_tmp16_ * (1.0f - _tmp17_))); +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = hexant_i_part; +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + switch (_tmp18_) { +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 0: +#line 1557 "ColorTransformation.c" + { + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; + gfloat _tmp21_ = 0.0F; +#line 159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = (*self).light_value; +#line 159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp19_; +#line 160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = t; +#line 160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp20_; +#line 161 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = p; +#line 161 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp21_; +#line 162 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1576 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 1: +#line 1580 "ColorTransformation.c" + { + gfloat _tmp22_ = 0.0F; + gfloat _tmp23_ = 0.0F; + gfloat _tmp24_ = 0.0F; +#line 165 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = q; +#line 165 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp22_; +#line 166 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = (*self).light_value; +#line 166 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp23_; +#line 167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = p; +#line 167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp24_; +#line 168 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1599 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 2: +#line 1603 "ColorTransformation.c" + { + gfloat _tmp25_ = 0.0F; + gfloat _tmp26_ = 0.0F; + gfloat _tmp27_ = 0.0F; +#line 171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = p; +#line 171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp25_; +#line 172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = (*self).light_value; +#line 172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp26_; +#line 173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = t; +#line 173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp27_; +#line 174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1622 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 3: +#line 1626 "ColorTransformation.c" + { + gfloat _tmp28_ = 0.0F; + gfloat _tmp29_ = 0.0F; + gfloat _tmp30_ = 0.0F; +#line 177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = p; +#line 177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp28_; +#line 178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = q; +#line 178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp29_; +#line 179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = (*self).light_value; +#line 179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp30_; +#line 180 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1645 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 4: +#line 1649 "ColorTransformation.c" + { + gfloat _tmp31_ = 0.0F; + gfloat _tmp32_ = 0.0F; + gfloat _tmp33_ = 0.0F; +#line 183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = t; +#line 183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp31_; +#line 184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = p; +#line 184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp32_; +#line 185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = (*self).light_value; +#line 185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp33_; +#line 186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1668 "ColorTransformation.c" + } +#line 148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + case 5: +#line 1672 "ColorTransformation.c" + { + gfloat _tmp34_ = 0.0F; + gfloat _tmp35_ = 0.0F; + gfloat _tmp36_ = 0.0F; +#line 189 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = (*self).light_value; +#line 189 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.red = _tmp34_; +#line 190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = p; +#line 190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.green = _tmp35_; +#line 191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = q; +#line 191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.blue = _tmp36_; +#line 192 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 1691 "ColorTransformation.c" + } + default: + { +#line 195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:195: bad color hexant in HSV-to-RGB conversio" \ +"n"); +#line 1697 "ColorTransformation.c" + } + } + } +#line 199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _result_; +#line 199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 1705 "ColorTransformation.c" +} + + +gboolean hsv_analytic_pixel_equals (HSVAnalyticPixel *self, HSVAnalyticPixel* rhs) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gfloat _tmp2_ = 0.0F; + HSVAnalyticPixel _tmp3_ = {0}; + gfloat _tmp4_ = 0.0F; +#line 202 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (rhs != NULL, FALSE); +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).hue; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = *rhs; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_.hue; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ == _tmp4_) { +#line 1726 "ColorTransformation.c" + gfloat _tmp5_ = 0.0F; + HSVAnalyticPixel _tmp6_ = {0}; + gfloat _tmp7_ = 0.0F; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = (*self).saturation; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = *rhs; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_.saturation; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp5_ == _tmp7_; +#line 1738 "ColorTransformation.c" + } else { +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 1742 "ColorTransformation.c" + } +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_) { +#line 1746 "ColorTransformation.c" + gfloat _tmp8_ = 0.0F; + HSVAnalyticPixel _tmp9_ = {0}; + gfloat _tmp10_ = 0.0F; +#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = (*self).light_value; +#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = *rhs; +#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp9_.light_value; +#line 204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = _tmp8_ == _tmp10_; +#line 1758 "ColorTransformation.c" + } else { +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 1762 "ColorTransformation.c" + } +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 203 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1768 "ColorTransformation.c" +} + + +guint hsv_analytic_pixel_hash_code (HSVAnalyticPixel *self) { + guint result = 0U; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = (*self).hue; +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = (*self).saturation; +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = (*self).light_value; +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = ((((guint) (_tmp0_ * 255.0f)) << 16) + (((guint) (_tmp1_ * 255.0f)) << 8)) + ((guint) (_tmp2_ * 255.0f)); +#line 208 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1787 "ColorTransformation.c" +} + + +HSVAnalyticPixel* hsv_analytic_pixel_dup (const HSVAnalyticPixel* self) { + HSVAnalyticPixel* dup; +#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dup = g_new0 (HSVAnalyticPixel, 1); +#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + memcpy (dup, self, sizeof (HSVAnalyticPixel)); +#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return dup; +#line 1799 "ColorTransformation.c" +} + + +void hsv_analytic_pixel_free (HSVAnalyticPixel* self) { +#line 67 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_free (self); +#line 1806 "ColorTransformation.c" +} + + +GType hsv_analytic_pixel_get_type (void) { + static volatile gsize hsv_analytic_pixel_type_id__volatile = 0; + if (g_once_init_enter (&hsv_analytic_pixel_type_id__volatile)) { + GType hsv_analytic_pixel_type_id; + hsv_analytic_pixel_type_id = g_boxed_type_register_static ("HSVAnalyticPixel", (GBoxedCopyFunc) hsv_analytic_pixel_dup, (GBoxedFreeFunc) hsv_analytic_pixel_free); + g_once_init_leave (&hsv_analytic_pixel_type_id__volatile, hsv_analytic_pixel_type_id); + } + return hsv_analytic_pixel_type_id__volatile; +} + + +GType composition_mode_get_type (void) { + static volatile gsize composition_mode_type_id__volatile = 0; + if (g_once_init_enter (&composition_mode_type_id__volatile)) { + static const GEnumValue values[] = {{COMPOSITION_MODE_NONE, "COMPOSITION_MODE_NONE", "none"}, {COMPOSITION_MODE_RGB_MATRIX, "COMPOSITION_MODE_RGB_MATRIX", "rgb-matrix"}, {0, NULL, NULL}}; + GType composition_mode_type_id; + composition_mode_type_id = g_enum_register_static ("CompositionMode", values); + g_once_init_leave (&composition_mode_type_id__volatile, composition_mode_type_id); + } + return composition_mode_type_id__volatile; +} + + +GType pixel_format_get_type (void) { + static volatile gsize pixel_format_type_id__volatile = 0; + if (g_once_init_enter (&pixel_format_type_id__volatile)) { + static const GEnumValue values[] = {{PIXEL_FORMAT_RGB, "PIXEL_FORMAT_RGB", "rgb"}, {PIXEL_FORMAT_HSV, "PIXEL_FORMAT_HSV", "hsv"}, {0, NULL, NULL}}; + GType pixel_format_type_id; + pixel_format_type_id = g_enum_register_static ("PixelFormat", values); + g_once_init_leave (&pixel_format_type_id__volatile, pixel_format_type_id); + } + return pixel_format_type_id__volatile; +} + + +GType pixel_transformation_type_get_type (void) { + static volatile gsize pixel_transformation_type_type_id__volatile = 0; + if (g_once_init_enter (&pixel_transformation_type_type_id__volatile)) { + static const GEnumValue values[] = {{PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION, "PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION", "tone-expansion"}, {PIXEL_TRANSFORMATION_TYPE_SHADOWS, "PIXEL_TRANSFORMATION_TYPE_SHADOWS", "shadows"}, {PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS, "PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS", "highlights"}, {PIXEL_TRANSFORMATION_TYPE_TEMPERATURE, "PIXEL_TRANSFORMATION_TYPE_TEMPERATURE", "temperature"}, {PIXEL_TRANSFORMATION_TYPE_TINT, "PIXEL_TRANSFORMATION_TYPE_TINT", "tint"}, {PIXEL_TRANSFORMATION_TYPE_SATURATION, "PIXEL_TRANSFORMATION_TYPE_SATURATION", "saturation"}, {PIXEL_TRANSFORMATION_TYPE_EXPOSURE, "PIXEL_TRANSFORMATION_TYPE_EXPOSURE", "exposure"}, {0, NULL, NULL}}; + GType pixel_transformation_type_type_id; + pixel_transformation_type_type_id = g_enum_register_static ("PixelTransformationType", values); + g_once_init_leave (&pixel_transformation_type_type_id__volatile, pixel_transformation_type_type_id); + } + return pixel_transformation_type_type_id__volatile; +} + + +PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type) { + PixelTransformationBundle* self = NULL; +#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (PixelTransformationBundle*) g_type_create_instance (object_type); +#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 1863 "ColorTransformation.c" +} + + +PixelTransformationBundle* pixel_transformation_bundle_new (void) { +#line 239 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return pixel_transformation_bundle_construct (TYPE_PIXEL_TRANSFORMATION_BUNDLE); +#line 1870 "ColorTransformation.c" +} + + +static gpointer _pixel_transformation_bundle_ref0 (gpointer self) { +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self ? pixel_transformation_bundle_ref (self) : NULL; +#line 1877 "ColorTransformation.c" +} + + +PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void) { + PixelTransformationBundle* result = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_copied_color_adjustments; +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _pixel_transformation_bundle_ref0 (_tmp0_); +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp1_; +#line 243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1893 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments) { + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (adjustments)); +#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = adjustments; +#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _pixel_transformation_bundle_ref0 (_tmp0_); +#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_bundle_unref0 (pixel_transformation_bundle_copied_color_adjustments); +#line 247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_copied_color_adjustments = _tmp1_; +#line 1910 "ColorTransformation.c" +} + + +gboolean pixel_transformation_bundle_has_copied_color_adjustments (void) { + gboolean result = FALSE; + PixelTransformationBundle* _tmp0_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_copied_color_adjustments; +#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_ != NULL; +#line 251 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 1923 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_set (PixelTransformationBundle* self, PixelTransformation* transformation) { + GeeHashMap* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; + PixelTransformationType _tmp2_ = 0; + PixelTransformation* _tmp3_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self)); +#line 254 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (transformation)); +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->map; +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = transformation; +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = pixel_transformation_get_transformation_type (_tmp1_); +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = transformation; +#line 255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) ((gint) _tmp2_)), _tmp3_); +#line 1946 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self) { + ExpansionTransformation* _tmp0_ = NULL; + ExpansionTransformation* _tmp1_ = NULL; + ShadowDetailTransformation* _tmp2_ = NULL; + ShadowDetailTransformation* _tmp3_ = NULL; + HighlightDetailTransformation* _tmp4_ = NULL; + HighlightDetailTransformation* _tmp5_ = NULL; + TemperatureTransformation* _tmp6_ = NULL; + TemperatureTransformation* _tmp7_ = NULL; + TintTransformation* _tmp8_ = NULL; + TintTransformation* _tmp9_ = NULL; + SaturationTransformation* _tmp10_ = NULL; + SaturationTransformation* _tmp11_ = NULL; + ExposureTransformation* _tmp12_ = NULL; + ExposureTransformation* _tmp13_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self)); +#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = expansion_transformation_new_from_extrema (0, 255); +#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_; +#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp1_); +#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = shadow_detail_transformation_new (0.0f); +#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_; +#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 260 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp3_); +#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = highlight_detail_transformation_new (0.0f); +#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_; +#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp5_); +#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = temperature_transformation_new (0.0f); +#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_; +#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp7_); +#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = tint_transformation_new (0.0f); +#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp8_; +#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp9_); +#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = saturation_transformation_new (0.0f); +#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_; +#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 264 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp11_); +#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = exposure_transformation_new (0.0f); +#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_; +#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp13_); +#line 2023 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_load (PixelTransformationBundle* self, KeyValueMap* store) { + gchar* expansion_params_encoded = NULL; + KeyValueMap* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + KeyValueMap* _tmp8_ = NULL; + gfloat _tmp9_ = 0.0F; + ShadowDetailTransformation* _tmp10_ = NULL; + ShadowDetailTransformation* _tmp11_ = NULL; + KeyValueMap* _tmp12_ = NULL; + gfloat _tmp13_ = 0.0F; + HighlightDetailTransformation* _tmp14_ = NULL; + HighlightDetailTransformation* _tmp15_ = NULL; + KeyValueMap* _tmp16_ = NULL; + gfloat _tmp17_ = 0.0F; + TemperatureTransformation* _tmp18_ = NULL; + TemperatureTransformation* _tmp19_ = NULL; + KeyValueMap* _tmp20_ = NULL; + gfloat _tmp21_ = 0.0F; + TintTransformation* _tmp22_ = NULL; + TintTransformation* _tmp23_ = NULL; + KeyValueMap* _tmp24_ = NULL; + gfloat _tmp25_ = 0.0F; + SaturationTransformation* _tmp26_ = NULL; + SaturationTransformation* _tmp27_ = NULL; + KeyValueMap* _tmp28_ = NULL; + gfloat _tmp29_ = 0.0F; + ExposureTransformation* _tmp30_ = NULL; + ExposureTransformation* _tmp31_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self)); +#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (store)); +#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = store; +#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = key_value_map_get_string (_tmp0_, "expansion", "-"); +#line 269 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_params_encoded = _tmp1_; +#line 270 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = expansion_params_encoded; +#line 270 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_strcmp0 (_tmp2_, "-") == 0) { +#line 2070 "ColorTransformation.c" + ExpansionTransformation* _tmp3_ = NULL; + ExpansionTransformation* _tmp4_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = expansion_transformation_new_from_extrema (0, 255); +#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_; +#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 271 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp4_); +#line 2081 "ColorTransformation.c" + } else { + const gchar* _tmp5_ = NULL; + ExpansionTransformation* _tmp6_ = NULL; + ExpansionTransformation* _tmp7_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = expansion_params_encoded; +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = expansion_transformation_new_from_string (_tmp5_); +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_; +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp7_); +#line 2096 "ColorTransformation.c" + } +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = store; +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = key_value_map_get_float (_tmp8_, "shadows", 0.0f); +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = shadow_detail_transformation_new (_tmp9_); +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_; +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp11_); +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = store; +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = key_value_map_get_float (_tmp12_, "highlights", 0.0f); +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = highlight_detail_transformation_new (_tmp13_); +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = _tmp14_; +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 276 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp15_); +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = store; +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = key_value_map_get_float (_tmp16_, "temperature", 0.0f); +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = temperature_transformation_new (_tmp17_); +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = _tmp18_; +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp19_); +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = store; +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = key_value_map_get_float (_tmp20_, "tint", 0.0f); +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = tint_transformation_new (_tmp21_); +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp22_; +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp23_); +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = store; +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = key_value_map_get_float (_tmp24_, "saturation", 0.0f); +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = saturation_transformation_new (_tmp25_); +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = _tmp26_; +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 279 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp27_); +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = store; +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = key_value_map_get_float (_tmp28_, "exposure", 0.0f); +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = exposure_transformation_new (_tmp29_); +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp30_; +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp31_); +#line 268 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_free0 (expansion_params_encoded); +#line 2172 "ColorTransformation.c" +} + + +KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self, const gchar* group) { + KeyValueMap* result = NULL; + KeyValueMap* store = NULL; + const gchar* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + ExpansionTransformation* new_expansion_trans = NULL; + PixelTransformation* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + ShadowDetailTransformation* new_shadows_trans = NULL; + PixelTransformation* _tmp5_ = NULL; + gfloat _tmp6_ = 0.0F; + HighlightDetailTransformation* new_highlight_trans = NULL; + PixelTransformation* _tmp7_ = NULL; + gfloat _tmp8_ = 0.0F; + TemperatureTransformation* new_temp_trans = NULL; + PixelTransformation* _tmp9_ = NULL; + gfloat _tmp10_ = 0.0F; + TintTransformation* new_tint_trans = NULL; + PixelTransformation* _tmp11_ = NULL; + gfloat _tmp12_ = 0.0F; + SaturationTransformation* new_sat_trans = NULL; + PixelTransformation* _tmp13_ = NULL; + gfloat _tmp14_ = 0.0F; + ExposureTransformation* new_exposure_trans = NULL; + PixelTransformation* _tmp15_ = NULL; + gfloat _tmp16_ = 0.0F; +#line 283 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 283 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (group != NULL, NULL); +#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = group; +#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = key_value_map_new (_tmp0_); +#line 284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + store = _tmp1_; +#line 286 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 286 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_expansion_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_expansion_trans != NULL, "new_expansion_trans != null"); +#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = pixel_transformation_to_string (G_TYPE_CHECK_INSTANCE_CAST (new_expansion_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_; +#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_string (store, "expansion", _tmp4_); +#line 289 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_free0 (_tmp4_); +#line 291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_SHADOWS); +#line 291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_shadows_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 293 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_shadows_trans != NULL, "new_shadows_trans != null"); +#line 294 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = shadow_detail_transformation_get_parameter (new_shadows_trans); +#line 294 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "shadows", _tmp6_); +#line 296 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS); +#line 296 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_highlight_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_highlight_trans != NULL, "new_highlight_trans != null"); +#line 299 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = highlight_detail_transformation_get_parameter (new_highlight_trans); +#line 299 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "highlights", _tmp8_); +#line 301 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TEMPERATURE); +#line 301 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_temp_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation); +#line 303 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_temp_trans != NULL, "new_temp_trans != null"); +#line 304 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = temperature_transformation_get_parameter (new_temp_trans); +#line 304 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "temperature", _tmp10_); +#line 306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_TINT); +#line 306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_tint_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_TINT_TRANSFORMATION, TintTransformation); +#line 308 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_tint_trans != NULL, "new_tint_trans != null"); +#line 309 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = tint_transformation_get_parameter (new_tint_trans); +#line 309 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "tint", _tmp12_); +#line 311 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_SATURATION); +#line 311 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_sat_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SATURATION_TRANSFORMATION, SaturationTransformation); +#line 313 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_sat_trans != NULL, "new_sat_trans != null"); +#line 314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = saturation_transformation_get_parameter (new_sat_trans); +#line 314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "saturation", _tmp14_); +#line 316 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = pixel_transformation_bundle_get_transformation (self, PIXEL_TRANSFORMATION_TYPE_EXPOSURE); +#line 316 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + new_exposure_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation); +#line 318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (new_exposure_trans != NULL, "new_exposure_trans != null"); +#line 319 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = exposure_transformation_get_parameter (new_exposure_trans); +#line 319 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + key_value_map_set_float (store, "exposure", _tmp16_); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = store; +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_exposure_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_sat_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_tint_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_temp_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_highlight_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_shadows_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (new_expansion_trans); +#line 321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2305 "ColorTransformation.c" +} + + +gint pixel_transformation_bundle_get_count (PixelTransformationBundle* self) { + gint result = 0; + GeeHashMap* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 324 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), 0); +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->map; +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp2_; +#line 325 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2326 "ColorTransformation.c" +} + + +PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type) { + PixelTransformation* result = NULL; + GeeHashMap* _tmp0_ = NULL; + PixelTransformationType _tmp1_ = 0; + gpointer _tmp2_ = NULL; +#line 328 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->map; +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = type; +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) ((gint) _tmp1_))); +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (PixelTransformation*) _tmp2_; +#line 329 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2347 "ColorTransformation.c" +} + + +GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self) { + GeeIterable* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 332 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->map; +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable); +#line 333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2368 "ColorTransformation.c" +} + + +gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self) { + gboolean result = FALSE; +#line 336 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), FALSE); +#line 2376 "ColorTransformation.c" + { + GeeIterator* _adjustment_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_get_transformations (self); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_tmp1_); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _adjustment_it = _tmp3_; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 2397 "ColorTransformation.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PixelTransformation* adjustment = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + PixelTransformation* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _adjustment_it; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp5_) { +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 2413 "ColorTransformation.c" + } +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _adjustment_it; +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjustment = (PixelTransformation*) _tmp7_; +#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = adjustment; +#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = pixel_transformation_is_identity (_tmp8_); +#line 338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp9_) { +#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = FALSE; +#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (adjustment); +#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_adjustment_it); +#line 339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2435 "ColorTransformation.c" + } +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (adjustment); +#line 2439 "ColorTransformation.c" + } +#line 337 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_adjustment_it); +#line 2443 "ColorTransformation.c" + } +#line 342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = TRUE; +#line 342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2449 "ColorTransformation.c" +} + + +PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self) { + PixelTransformer* result = NULL; + PixelTransformer* transformer = NULL; + PixelTransformer* _tmp0_ = NULL; +#line 345 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 346 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformer_new (); +#line 346 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transformer = _tmp0_; +#line 2463 "ColorTransformation.c" + { + GeeIterator* _transformation_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixel_transformation_bundle_get_transformations (self); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_tmp2_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_it = _tmp4_; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 2484 "ColorTransformation.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PixelTransformation* transformation = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + PixelTransformer* _tmp9_ = NULL; + PixelTransformation* _tmp10_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _transformation_it; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 2500 "ColorTransformation.c" + } +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _transformation_it; +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transformation = (PixelTransformation*) _tmp8_; +#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = transformer; +#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = transformation; +#line 348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_attach_transformation (_tmp9_, _tmp10_); +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (transformation); +#line 2516 "ColorTransformation.c" + } +#line 347 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_transformation_it); +#line 2520 "ColorTransformation.c" + } +#line 350 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = transformer; +#line 350 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2526 "ColorTransformation.c" +} + + +PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self) { + PixelTransformationBundle* result = NULL; + PixelTransformationBundle* bundle = NULL; + PixelTransformationBundle* _tmp0_ = NULL; +#line 353 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (self), NULL); +#line 354 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_new (); +#line 354 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + bundle = _tmp0_; +#line 2540 "ColorTransformation.c" + { + GeeIterator* _transformation_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixel_transformation_bundle_get_transformations (self); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_tmp2_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_it = _tmp4_; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 2561 "ColorTransformation.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PixelTransformation* transformation = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + PixelTransformationBundle* _tmp9_ = NULL; + PixelTransformation* _tmp10_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _transformation_it; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 2577 "ColorTransformation.c" + } +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _transformation_it; +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transformation = (PixelTransformation*) _tmp8_; +#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = bundle; +#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = transformation; +#line 356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp9_, _tmp10_); +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (transformation); +#line 2593 "ColorTransformation.c" + } +#line 355 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_transformation_it); +#line 2597 "ColorTransformation.c" + } +#line 358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = bundle; +#line 358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2603 "ColorTransformation.c" +} + + +static void value_pixel_transformation_bundle_init (GValue* value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 2610 "ColorTransformation.c" +} + + +static void value_pixel_transformation_bundle_free_value (GValue* value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_unref (value->data[0].v_pointer); +#line 2619 "ColorTransformation.c" + } +} + + +static void value_pixel_transformation_bundle_copy_value (const GValue* src_value, GValue* dest_value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = pixel_transformation_bundle_ref (src_value->data[0].v_pointer); +#line 2629 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 2633 "ColorTransformation.c" + } +} + + +static gpointer value_pixel_transformation_bundle_peek_pointer (const GValue* value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 2641 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformation_bundle_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 2648 "ColorTransformation.c" + PixelTransformationBundle* object; + object = collect_values[0].v_pointer; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2655 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2659 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = pixel_transformation_bundle_ref (object); +#line 2663 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 2667 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 2671 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformation_bundle_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PixelTransformationBundle** object_p; + object_p = collect_values[0].v_pointer; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2682 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 2688 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 2692 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = pixel_transformation_bundle_ref (value->data[0].v_pointer); +#line 2696 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 2700 "ColorTransformation.c" +} + + +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPixelTransformationBundle* spec; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMATION_BUNDLE), NULL); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 2714 "ColorTransformation.c" +} + + +gpointer value_get_pixel_transformation_bundle (const GValue* value) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE), NULL); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 2723 "ColorTransformation.c" +} + + +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object) { + PixelTransformationBundle* old; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE)); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION_BUNDLE)); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_ref (value->data[0].v_pointer); +#line 2743 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 2747 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_unref (old); +#line 2753 "ColorTransformation.c" + } +} + + +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object) { + PixelTransformationBundle* old; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION_BUNDLE)); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION_BUNDLE)); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 2772 "ColorTransformation.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 2776 "ColorTransformation.c" + } +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_unref (old); +#line 2782 "ColorTransformation.c" + } +} + + +static void pixel_transformation_bundle_class_init (PixelTransformationBundleClass * klass) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_parent_class = g_type_class_peek_parent (klass); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationBundleClass *) klass)->finalize = pixel_transformation_bundle_finalize; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (PixelTransformationBundlePrivate)); +#line 2794 "ColorTransformation.c" +} + + +static void pixel_transformation_bundle_instance_init (PixelTransformationBundle * self) { + void* _tmp0_ = NULL; + GDestroyNotify _tmp1_ = NULL; + GeeHashDataFunc _tmp2_ = NULL; + void* _tmp3_ = NULL; + GDestroyNotify _tmp4_ = NULL; + GeeEqualDataFunc _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = PIXEL_TRANSFORMATION_BUNDLE_GET_PRIVATE (self); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = gee_functions_get_hash_func_for (G_TYPE_INT, &_tmp0_, &_tmp1_); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = gee_functions_get_equal_func_for (G_TYPE_INT, &_tmp3_, &_tmp4_); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = gee_hash_map_new (G_TYPE_INT, NULL, NULL, TYPE_PIXEL_TRANSFORMATION, (GBoxedCopyFunc) pixel_transformation_ref, pixel_transformation_unref, _tmp2_, _tmp0_, _tmp1_, _tmp5_, _tmp3_, _tmp4_, NULL, NULL, NULL); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->map = _tmp6_; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 2818 "ColorTransformation.c" +} + + +static void pixel_transformation_bundle_finalize (PixelTransformationBundle* obj) { + PixelTransformationBundle * self; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 236 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (self->priv->map); +#line 2830 "ColorTransformation.c" +} + + +GType pixel_transformation_bundle_get_type (void) { + static volatile gsize pixel_transformation_bundle_type_id__volatile = 0; + if (g_once_init_enter (&pixel_transformation_bundle_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_pixel_transformation_bundle_init, value_pixel_transformation_bundle_free_value, value_pixel_transformation_bundle_copy_value, value_pixel_transformation_bundle_peek_pointer, "p", value_pixel_transformation_bundle_collect_value, "p", value_pixel_transformation_bundle_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PixelTransformationBundleClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformation_bundle_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformationBundle), 0, (GInstanceInitFunc) pixel_transformation_bundle_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType pixel_transformation_bundle_type_id; + pixel_transformation_bundle_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformationBundle", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&pixel_transformation_bundle_type_id__volatile, pixel_transformation_bundle_type_id); + } + return pixel_transformation_bundle_type_id__volatile; +} + + +gpointer pixel_transformation_bundle_ref (gpointer instance) { + PixelTransformationBundle* self; + self = instance; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 2855 "ColorTransformation.c" +} + + +void pixel_transformation_bundle_unref (gpointer instance) { + PixelTransformationBundle* self; + self = instance; +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS (self)->finalize (self); +#line 233 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2868 "ColorTransformation.c" + } +} + + +PixelTransformation* pixel_transformation_construct (GType object_type, PixelTransformationType type) { + PixelTransformation* self = NULL; + PixelTransformationType _tmp0_ = 0; +#line 365 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (PixelTransformation*) g_type_create_instance (object_type); +#line 366 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = type; +#line 366 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->type = _tmp0_; +#line 365 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 2884 "ColorTransformation.c" +} + + +PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self) { + PixelTransformationType result = 0; + PixelTransformationType _tmp0_ = 0; +#line 369 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0); +#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->type; +#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 370 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2899 "ColorTransformation.c" +} + + +static PixelFormat pixel_transformation_real_get_preferred_format (PixelTransformation* self) { +#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_critical ("Type `%s' does not implement abstract method `pixel_transformation_get_preferred_format'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return 0; +#line 2908 "ColorTransformation.c" +} + + +PixelFormat pixel_transformation_get_preferred_format (PixelTransformation* self) { +#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0); +#line 373 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->get_preferred_format (self); +#line 2917 "ColorTransformation.c" +} + + +static CompositionMode pixel_transformation_real_get_composition_mode (PixelTransformation* self) { + CompositionMode result = 0; +#line 376 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = COMPOSITION_MODE_NONE; +#line 376 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2927 "ColorTransformation.c" +} + + +CompositionMode pixel_transformation_get_composition_mode (PixelTransformation* self) { +#line 375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), 0); +#line 375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->get_composition_mode (self); +#line 2936 "ColorTransformation.c" +} + + +static void pixel_transformation_real_compose_with (PixelTransformation* self, PixelTransformation* other) { +#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (other)); +#line 380 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:380: %s", "PixelTransformation: compose_with( ): this type of pixel " "transformation doesn't support composition."); +#line 2945 "ColorTransformation.c" +} + + +void pixel_transformation_compose_with (PixelTransformation* self, PixelTransformation* other) { +#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (self)); +#line 379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_GET_CLASS (self)->compose_with (self, other); +#line 2954 "ColorTransformation.c" +} + + +static gboolean pixel_transformation_real_is_identity (PixelTransformation* self) { + gboolean result = FALSE; +#line 385 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = TRUE; +#line 385 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 2964 "ColorTransformation.c" +} + + +gboolean pixel_transformation_is_identity (PixelTransformation* self) { +#line 384 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), FALSE); +#line 384 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->is_identity (self); +#line 2973 "ColorTransformation.c" +} + + +static void pixel_transformation_real_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result) { + HSVAnalyticPixel _tmp0_ = {0}; +#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp0_; +#line 389 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 2987 "ColorTransformation.c" +} + + +void pixel_transformation_transform_pixel_hsv (PixelTransformation* self, HSVAnalyticPixel* p, HSVAnalyticPixel* result) { +#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (self)); +#line 388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_GET_CLASS (self)->transform_pixel_hsv (self, p, result); +#line 2996 "ColorTransformation.c" +} + + +static void pixel_transformation_real_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { + RGBAnalyticPixel _tmp0_ = {0}; +#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp0_; +#line 393 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 3010 "ColorTransformation.c" +} + + +void pixel_transformation_transform_pixel_rgb (PixelTransformation* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { +#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (self)); +#line 392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_GET_CLASS (self)->transform_pixel_rgb (self, p, result); +#line 3019 "ColorTransformation.c" +} + + +static gchar* pixel_transformation_real_to_string (PixelTransformation* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = g_strdup ("PixelTransformation"); +#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 397 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 3032 "ColorTransformation.c" +} + + +gchar* pixel_transformation_to_string (PixelTransformation* self) { +#line 396 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), NULL); +#line 396 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->to_string (self); +#line 3041 "ColorTransformation.c" +} + + +static PixelTransformation* pixel_transformation_real_copy (PixelTransformation* self) { +#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_critical ("Type `%s' does not implement abstract method `pixel_transformation_copy'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 3050 "ColorTransformation.c" +} + + +PixelTransformation* pixel_transformation_copy (PixelTransformation* self) { +#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (self), NULL); +#line 400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return PIXEL_TRANSFORMATION_GET_CLASS (self)->copy (self); +#line 3059 "ColorTransformation.c" +} + + +static void value_pixel_transformation_init (GValue* value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 3066 "ColorTransformation.c" +} + + +static void value_pixel_transformation_free_value (GValue* value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_unref (value->data[0].v_pointer); +#line 3075 "ColorTransformation.c" + } +} + + +static void value_pixel_transformation_copy_value (const GValue* src_value, GValue* dest_value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = pixel_transformation_ref (src_value->data[0].v_pointer); +#line 3085 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 3089 "ColorTransformation.c" + } +} + + +static gpointer value_pixel_transformation_peek_pointer (const GValue* value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 3097 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformation_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 3104 "ColorTransformation.c" + PixelTransformation* object; + object = collect_values[0].v_pointer; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3111 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3115 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = pixel_transformation_ref (object); +#line 3119 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 3123 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 3127 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformation_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PixelTransformation** object_p; + object_p = collect_values[0].v_pointer; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3138 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 3144 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 3148 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = pixel_transformation_ref (value->data[0].v_pointer); +#line 3152 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 3156 "ColorTransformation.c" +} + + +GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPixelTransformation* spec; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMATION), NULL); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 3170 "ColorTransformation.c" +} + + +gpointer value_get_pixel_transformation (const GValue* value) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION), NULL); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 3179 "ColorTransformation.c" +} + + +void value_set_pixel_transformation (GValue* value, gpointer v_object) { + PixelTransformation* old; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_ref (value->data[0].v_pointer); +#line 3199 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 3203 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_unref (old); +#line 3209 "ColorTransformation.c" + } +} + + +void value_take_pixel_transformation (GValue* value, gpointer v_object) { + PixelTransformation* old; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMATION)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMATION)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 3228 "ColorTransformation.c" + } else { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 3232 "ColorTransformation.c" + } +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_unref (old); +#line 3238 "ColorTransformation.c" + } +} + + +static void pixel_transformation_class_init (PixelTransformationClass * klass) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_parent_class = g_type_class_peek_parent (klass); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = pixel_transformation_finalize; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (PixelTransformationPrivate)); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_preferred_format = pixel_transformation_real_get_preferred_format; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_composition_mode = pixel_transformation_real_get_composition_mode; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->compose_with = pixel_transformation_real_compose_with; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = pixel_transformation_real_is_identity; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = pixel_transformation_real_transform_pixel_hsv; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_rgb = pixel_transformation_real_transform_pixel_rgb; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->to_string = pixel_transformation_real_to_string; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = pixel_transformation_real_copy; +#line 3266 "ColorTransformation.c" +} + + +static void pixel_transformation_instance_init (PixelTransformation * self) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = PIXEL_TRANSFORMATION_GET_PRIVATE (self); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 3275 "ColorTransformation.c" +} + + +static void pixel_transformation_finalize (PixelTransformation* obj) { + PixelTransformation * self; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 3285 "ColorTransformation.c" +} + + +GType pixel_transformation_get_type (void) { + static volatile gsize pixel_transformation_type_id__volatile = 0; + if (g_once_init_enter (&pixel_transformation_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_pixel_transformation_init, value_pixel_transformation_free_value, value_pixel_transformation_copy_value, value_pixel_transformation_peek_pointer, "p", value_pixel_transformation_collect_value, "p", value_pixel_transformation_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PixelTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformation), 0, (GInstanceInitFunc) pixel_transformation_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType pixel_transformation_type_id; + pixel_transformation_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformation", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&pixel_transformation_type_id__volatile, pixel_transformation_type_id); + } + return pixel_transformation_type_id__volatile; +} + + +gpointer pixel_transformation_ref (gpointer instance) { + PixelTransformation* self; + self = instance; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 3310 "ColorTransformation.c" +} + + +void pixel_transformation_unref (gpointer instance) { + PixelTransformation* self; + self = instance; +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_GET_CLASS (self)->finalize (self); +#line 362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3323 "ColorTransformation.c" + } +} + + +RGBTransformation* rgb_transformation_construct (GType object_type, PixelTransformationType type) { + RGBTransformation* self = NULL; + PixelTransformationType _tmp0_ = 0; + gfloat* _tmp1_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = type; +#line 413 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (RGBTransformation*) pixel_transformation_construct (object_type, _tmp0_); +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = g_new0 (gfloat, 16); +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[0] = 1.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[1] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[2] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[3] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[4] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[5] = 1.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[6] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[7] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[8] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[9] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[10] = 1.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[11] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[12] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[13] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[14] = 0.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[15] = 1.0f; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->matrix_entries = (g_free (self->matrix_entries), NULL); +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->matrix_entries = _tmp1_; +#line 419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->matrix_entries_length1 = 16; +#line 412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 3378 "ColorTransformation.c" +} + + +RGBTransformation* rgb_transformation_new (PixelTransformationType type) { +#line 412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return rgb_transformation_construct (TYPE_RGB_TRANSFORMATION, type); +#line 3385 "ColorTransformation.c" +} + + +static PixelFormat rgb_transformation_real_get_preferred_format (PixelTransformation* base) { + RGBTransformation * self; + PixelFormat result = 0; +#line 426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 427 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = PIXEL_FORMAT_RGB; +#line 427 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 3398 "ColorTransformation.c" +} + + +static CompositionMode rgb_transformation_real_get_composition_mode (PixelTransformation* base) { + RGBTransformation * self; + CompositionMode result = 0; +#line 430 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 431 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = COMPOSITION_MODE_RGB_MATRIX; +#line 431 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 3411 "ColorTransformation.c" +} + + +static gpointer _pixel_transformation_ref0 (gpointer self) { +#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self ? pixel_transformation_ref (self) : NULL; +#line 3418 "ColorTransformation.c" +} + + +static void rgb_transformation_real_compose_with (PixelTransformation* base, PixelTransformation* other) { + RGBTransformation * self; + PixelTransformation* _tmp0_ = NULL; + CompositionMode _tmp1_ = 0; + RGBTransformation* transform = NULL; + PixelTransformation* _tmp2_ = NULL; + RGBTransformation* _tmp3_ = NULL; + gfloat* result_matrix_entries = NULL; + gfloat* _tmp4_ = NULL; + gint result_matrix_entries_length1 = 0; + gint _result_matrix_entries_size_ = 0; + gfloat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + RGBTransformation* _tmp6_ = NULL; + gfloat* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gfloat _tmp8_ = 0.0F; + gfloat* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gfloat _tmp10_ = 0.0F; + RGBTransformation* _tmp11_ = NULL; + gfloat* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gfloat _tmp13_ = 0.0F; + gfloat* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gfloat _tmp15_ = 0.0F; + RGBTransformation* _tmp16_ = NULL; + gfloat* _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gfloat _tmp18_ = 0.0F; + gfloat* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gfloat _tmp20_ = 0.0F; + RGBTransformation* _tmp21_ = NULL; + gfloat* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gfloat _tmp23_ = 0.0F; + gfloat* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gfloat _tmp25_ = 0.0F; + gfloat _tmp26_ = 0.0F; + gfloat* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + RGBTransformation* _tmp28_ = NULL; + gfloat* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gfloat _tmp30_ = 0.0F; + gfloat* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gfloat _tmp32_ = 0.0F; + RGBTransformation* _tmp33_ = NULL; + gfloat* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gfloat _tmp35_ = 0.0F; + gfloat* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gfloat _tmp37_ = 0.0F; + RGBTransformation* _tmp38_ = NULL; + gfloat* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gfloat _tmp40_ = 0.0F; + gfloat* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gfloat _tmp42_ = 0.0F; + RGBTransformation* _tmp43_ = NULL; + gfloat* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gfloat _tmp45_ = 0.0F; + gfloat* _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gfloat _tmp47_ = 0.0F; + gfloat _tmp48_ = 0.0F; + gfloat* _tmp49_ = NULL; + gint _tmp49__length1 = 0; + RGBTransformation* _tmp50_ = NULL; + gfloat* _tmp51_ = NULL; + gint _tmp51__length1 = 0; + gfloat _tmp52_ = 0.0F; + gfloat* _tmp53_ = NULL; + gint _tmp53__length1 = 0; + gfloat _tmp54_ = 0.0F; + RGBTransformation* _tmp55_ = NULL; + gfloat* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gfloat _tmp57_ = 0.0F; + gfloat* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gfloat _tmp59_ = 0.0F; + RGBTransformation* _tmp60_ = NULL; + gfloat* _tmp61_ = NULL; + gint _tmp61__length1 = 0; + gfloat _tmp62_ = 0.0F; + gfloat* _tmp63_ = NULL; + gint _tmp63__length1 = 0; + gfloat _tmp64_ = 0.0F; + RGBTransformation* _tmp65_ = NULL; + gfloat* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + gfloat _tmp67_ = 0.0F; + gfloat* _tmp68_ = NULL; + gint _tmp68__length1 = 0; + gfloat _tmp69_ = 0.0F; + gfloat _tmp70_ = 0.0F; + gfloat* _tmp71_ = NULL; + gint _tmp71__length1 = 0; + RGBTransformation* _tmp72_ = NULL; + gfloat* _tmp73_ = NULL; + gint _tmp73__length1 = 0; + gfloat _tmp74_ = 0.0F; + gfloat* _tmp75_ = NULL; + gint _tmp75__length1 = 0; + gfloat _tmp76_ = 0.0F; + RGBTransformation* _tmp77_ = NULL; + gfloat* _tmp78_ = NULL; + gint _tmp78__length1 = 0; + gfloat _tmp79_ = 0.0F; + gfloat* _tmp80_ = NULL; + gint _tmp80__length1 = 0; + gfloat _tmp81_ = 0.0F; + RGBTransformation* _tmp82_ = NULL; + gfloat* _tmp83_ = NULL; + gint _tmp83__length1 = 0; + gfloat _tmp84_ = 0.0F; + gfloat* _tmp85_ = NULL; + gint _tmp85__length1 = 0; + gfloat _tmp86_ = 0.0F; + RGBTransformation* _tmp87_ = NULL; + gfloat* _tmp88_ = NULL; + gint _tmp88__length1 = 0; + gfloat _tmp89_ = 0.0F; + gfloat* _tmp90_ = NULL; + gint _tmp90__length1 = 0; + gfloat _tmp91_ = 0.0F; + gfloat _tmp92_ = 0.0F; + gfloat* _tmp93_ = NULL; + gint _tmp93__length1 = 0; + RGBTransformation* _tmp94_ = NULL; + gfloat* _tmp95_ = NULL; + gint _tmp95__length1 = 0; + gfloat _tmp96_ = 0.0F; + gfloat* _tmp97_ = NULL; + gint _tmp97__length1 = 0; + gfloat _tmp98_ = 0.0F; + RGBTransformation* _tmp99_ = NULL; + gfloat* _tmp100_ = NULL; + gint _tmp100__length1 = 0; + gfloat _tmp101_ = 0.0F; + gfloat* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + gfloat _tmp103_ = 0.0F; + RGBTransformation* _tmp104_ = NULL; + gfloat* _tmp105_ = NULL; + gint _tmp105__length1 = 0; + gfloat _tmp106_ = 0.0F; + gfloat* _tmp107_ = NULL; + gint _tmp107__length1 = 0; + gfloat _tmp108_ = 0.0F; + RGBTransformation* _tmp109_ = NULL; + gfloat* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + gfloat _tmp111_ = 0.0F; + gfloat* _tmp112_ = NULL; + gint _tmp112__length1 = 0; + gfloat _tmp113_ = 0.0F; + gfloat _tmp114_ = 0.0F; + gfloat* _tmp115_ = NULL; + gint _tmp115__length1 = 0; + RGBTransformation* _tmp116_ = NULL; + gfloat* _tmp117_ = NULL; + gint _tmp117__length1 = 0; + gfloat _tmp118_ = 0.0F; + gfloat* _tmp119_ = NULL; + gint _tmp119__length1 = 0; + gfloat _tmp120_ = 0.0F; + RGBTransformation* _tmp121_ = NULL; + gfloat* _tmp122_ = NULL; + gint _tmp122__length1 = 0; + gfloat _tmp123_ = 0.0F; + gfloat* _tmp124_ = NULL; + gint _tmp124__length1 = 0; + gfloat _tmp125_ = 0.0F; + RGBTransformation* _tmp126_ = NULL; + gfloat* _tmp127_ = NULL; + gint _tmp127__length1 = 0; + gfloat _tmp128_ = 0.0F; + gfloat* _tmp129_ = NULL; + gint _tmp129__length1 = 0; + gfloat _tmp130_ = 0.0F; + RGBTransformation* _tmp131_ = NULL; + gfloat* _tmp132_ = NULL; + gint _tmp132__length1 = 0; + gfloat _tmp133_ = 0.0F; + gfloat* _tmp134_ = NULL; + gint _tmp134__length1 = 0; + gfloat _tmp135_ = 0.0F; + gfloat _tmp136_ = 0.0F; + gfloat* _tmp137_ = NULL; + gint _tmp137__length1 = 0; + RGBTransformation* _tmp138_ = NULL; + gfloat* _tmp139_ = NULL; + gint _tmp139__length1 = 0; + gfloat _tmp140_ = 0.0F; + gfloat* _tmp141_ = NULL; + gint _tmp141__length1 = 0; + gfloat _tmp142_ = 0.0F; + RGBTransformation* _tmp143_ = NULL; + gfloat* _tmp144_ = NULL; + gint _tmp144__length1 = 0; + gfloat _tmp145_ = 0.0F; + gfloat* _tmp146_ = NULL; + gint _tmp146__length1 = 0; + gfloat _tmp147_ = 0.0F; + RGBTransformation* _tmp148_ = NULL; + gfloat* _tmp149_ = NULL; + gint _tmp149__length1 = 0; + gfloat _tmp150_ = 0.0F; + gfloat* _tmp151_ = NULL; + gint _tmp151__length1 = 0; + gfloat _tmp152_ = 0.0F; + RGBTransformation* _tmp153_ = NULL; + gfloat* _tmp154_ = NULL; + gint _tmp154__length1 = 0; + gfloat _tmp155_ = 0.0F; + gfloat* _tmp156_ = NULL; + gint _tmp156__length1 = 0; + gfloat _tmp157_ = 0.0F; + gfloat _tmp158_ = 0.0F; + gfloat* _tmp159_ = NULL; + gint _tmp159__length1 = 0; + RGBTransformation* _tmp160_ = NULL; + gfloat* _tmp161_ = NULL; + gint _tmp161__length1 = 0; + gfloat _tmp162_ = 0.0F; + gfloat* _tmp163_ = NULL; + gint _tmp163__length1 = 0; + gfloat _tmp164_ = 0.0F; + RGBTransformation* _tmp165_ = NULL; + gfloat* _tmp166_ = NULL; + gint _tmp166__length1 = 0; + gfloat _tmp167_ = 0.0F; + gfloat* _tmp168_ = NULL; + gint _tmp168__length1 = 0; + gfloat _tmp169_ = 0.0F; + RGBTransformation* _tmp170_ = NULL; + gfloat* _tmp171_ = NULL; + gint _tmp171__length1 = 0; + gfloat _tmp172_ = 0.0F; + gfloat* _tmp173_ = NULL; + gint _tmp173__length1 = 0; + gfloat _tmp174_ = 0.0F; + RGBTransformation* _tmp175_ = NULL; + gfloat* _tmp176_ = NULL; + gint _tmp176__length1 = 0; + gfloat _tmp177_ = 0.0F; + gfloat* _tmp178_ = NULL; + gint _tmp178__length1 = 0; + gfloat _tmp179_ = 0.0F; + gfloat _tmp180_ = 0.0F; + gfloat* _tmp181_ = NULL; + gint _tmp181__length1 = 0; + RGBTransformation* _tmp182_ = NULL; + gfloat* _tmp183_ = NULL; + gint _tmp183__length1 = 0; + gfloat _tmp184_ = 0.0F; + gfloat* _tmp185_ = NULL; + gint _tmp185__length1 = 0; + gfloat _tmp186_ = 0.0F; + RGBTransformation* _tmp187_ = NULL; + gfloat* _tmp188_ = NULL; + gint _tmp188__length1 = 0; + gfloat _tmp189_ = 0.0F; + gfloat* _tmp190_ = NULL; + gint _tmp190__length1 = 0; + gfloat _tmp191_ = 0.0F; + RGBTransformation* _tmp192_ = NULL; + gfloat* _tmp193_ = NULL; + gint _tmp193__length1 = 0; + gfloat _tmp194_ = 0.0F; + gfloat* _tmp195_ = NULL; + gint _tmp195__length1 = 0; + gfloat _tmp196_ = 0.0F; + RGBTransformation* _tmp197_ = NULL; + gfloat* _tmp198_ = NULL; + gint _tmp198__length1 = 0; + gfloat _tmp199_ = 0.0F; + gfloat* _tmp200_ = NULL; + gint _tmp200__length1 = 0; + gfloat _tmp201_ = 0.0F; + gfloat _tmp202_ = 0.0F; + gfloat* _tmp203_ = NULL; + gint _tmp203__length1 = 0; + RGBTransformation* _tmp204_ = NULL; + gfloat* _tmp205_ = NULL; + gint _tmp205__length1 = 0; + gfloat _tmp206_ = 0.0F; + gfloat* _tmp207_ = NULL; + gint _tmp207__length1 = 0; + gfloat _tmp208_ = 0.0F; + RGBTransformation* _tmp209_ = NULL; + gfloat* _tmp210_ = NULL; + gint _tmp210__length1 = 0; + gfloat _tmp211_ = 0.0F; + gfloat* _tmp212_ = NULL; + gint _tmp212__length1 = 0; + gfloat _tmp213_ = 0.0F; + RGBTransformation* _tmp214_ = NULL; + gfloat* _tmp215_ = NULL; + gint _tmp215__length1 = 0; + gfloat _tmp216_ = 0.0F; + gfloat* _tmp217_ = NULL; + gint _tmp217__length1 = 0; + gfloat _tmp218_ = 0.0F; + RGBTransformation* _tmp219_ = NULL; + gfloat* _tmp220_ = NULL; + gint _tmp220__length1 = 0; + gfloat _tmp221_ = 0.0F; + gfloat* _tmp222_ = NULL; + gint _tmp222__length1 = 0; + gfloat _tmp223_ = 0.0F; + gfloat _tmp224_ = 0.0F; + gfloat* _tmp225_ = NULL; + gint _tmp225__length1 = 0; + RGBTransformation* _tmp226_ = NULL; + gfloat* _tmp227_ = NULL; + gint _tmp227__length1 = 0; + gfloat _tmp228_ = 0.0F; + gfloat* _tmp229_ = NULL; + gint _tmp229__length1 = 0; + gfloat _tmp230_ = 0.0F; + RGBTransformation* _tmp231_ = NULL; + gfloat* _tmp232_ = NULL; + gint _tmp232__length1 = 0; + gfloat _tmp233_ = 0.0F; + gfloat* _tmp234_ = NULL; + gint _tmp234__length1 = 0; + gfloat _tmp235_ = 0.0F; + RGBTransformation* _tmp236_ = NULL; + gfloat* _tmp237_ = NULL; + gint _tmp237__length1 = 0; + gfloat _tmp238_ = 0.0F; + gfloat* _tmp239_ = NULL; + gint _tmp239__length1 = 0; + gfloat _tmp240_ = 0.0F; + RGBTransformation* _tmp241_ = NULL; + gfloat* _tmp242_ = NULL; + gint _tmp242__length1 = 0; + gfloat _tmp243_ = 0.0F; + gfloat* _tmp244_ = NULL; + gint _tmp244__length1 = 0; + gfloat _tmp245_ = 0.0F; + gfloat _tmp246_ = 0.0F; + gfloat* _tmp247_ = NULL; + gint _tmp247__length1 = 0; + RGBTransformation* _tmp248_ = NULL; + gfloat* _tmp249_ = NULL; + gint _tmp249__length1 = 0; + gfloat _tmp250_ = 0.0F; + gfloat* _tmp251_ = NULL; + gint _tmp251__length1 = 0; + gfloat _tmp252_ = 0.0F; + RGBTransformation* _tmp253_ = NULL; + gfloat* _tmp254_ = NULL; + gint _tmp254__length1 = 0; + gfloat _tmp255_ = 0.0F; + gfloat* _tmp256_ = NULL; + gint _tmp256__length1 = 0; + gfloat _tmp257_ = 0.0F; + RGBTransformation* _tmp258_ = NULL; + gfloat* _tmp259_ = NULL; + gint _tmp259__length1 = 0; + gfloat _tmp260_ = 0.0F; + gfloat* _tmp261_ = NULL; + gint _tmp261__length1 = 0; + gfloat _tmp262_ = 0.0F; + RGBTransformation* _tmp263_ = NULL; + gfloat* _tmp264_ = NULL; + gint _tmp264__length1 = 0; + gfloat _tmp265_ = 0.0F; + gfloat* _tmp266_ = NULL; + gint _tmp266__length1 = 0; + gfloat _tmp267_ = 0.0F; + gfloat _tmp268_ = 0.0F; + gfloat* _tmp269_ = NULL; + gint _tmp269__length1 = 0; + RGBTransformation* _tmp270_ = NULL; + gfloat* _tmp271_ = NULL; + gint _tmp271__length1 = 0; + gfloat _tmp272_ = 0.0F; + gfloat* _tmp273_ = NULL; + gint _tmp273__length1 = 0; + gfloat _tmp274_ = 0.0F; + RGBTransformation* _tmp275_ = NULL; + gfloat* _tmp276_ = NULL; + gint _tmp276__length1 = 0; + gfloat _tmp277_ = 0.0F; + gfloat* _tmp278_ = NULL; + gint _tmp278__length1 = 0; + gfloat _tmp279_ = 0.0F; + RGBTransformation* _tmp280_ = NULL; + gfloat* _tmp281_ = NULL; + gint _tmp281__length1 = 0; + gfloat _tmp282_ = 0.0F; + gfloat* _tmp283_ = NULL; + gint _tmp283__length1 = 0; + gfloat _tmp284_ = 0.0F; + RGBTransformation* _tmp285_ = NULL; + gfloat* _tmp286_ = NULL; + gint _tmp286__length1 = 0; + gfloat _tmp287_ = 0.0F; + gfloat* _tmp288_ = NULL; + gint _tmp288__length1 = 0; + gfloat _tmp289_ = 0.0F; + gfloat _tmp290_ = 0.0F; + gfloat* _tmp291_ = NULL; + gint _tmp291__length1 = 0; + RGBTransformation* _tmp292_ = NULL; + gfloat* _tmp293_ = NULL; + gint _tmp293__length1 = 0; + gfloat _tmp294_ = 0.0F; + gfloat* _tmp295_ = NULL; + gint _tmp295__length1 = 0; + gfloat _tmp296_ = 0.0F; + RGBTransformation* _tmp297_ = NULL; + gfloat* _tmp298_ = NULL; + gint _tmp298__length1 = 0; + gfloat _tmp299_ = 0.0F; + gfloat* _tmp300_ = NULL; + gint _tmp300__length1 = 0; + gfloat _tmp301_ = 0.0F; + RGBTransformation* _tmp302_ = NULL; + gfloat* _tmp303_ = NULL; + gint _tmp303__length1 = 0; + gfloat _tmp304_ = 0.0F; + gfloat* _tmp305_ = NULL; + gint _tmp305__length1 = 0; + gfloat _tmp306_ = 0.0F; + RGBTransformation* _tmp307_ = NULL; + gfloat* _tmp308_ = NULL; + gint _tmp308__length1 = 0; + gfloat _tmp309_ = 0.0F; + gfloat* _tmp310_ = NULL; + gint _tmp310__length1 = 0; + gfloat _tmp311_ = 0.0F; + gfloat _tmp312_ = 0.0F; + gfloat* _tmp313_ = NULL; + gint _tmp313__length1 = 0; + RGBTransformation* _tmp314_ = NULL; + gfloat* _tmp315_ = NULL; + gint _tmp315__length1 = 0; + gfloat _tmp316_ = 0.0F; + gfloat* _tmp317_ = NULL; + gint _tmp317__length1 = 0; + gfloat _tmp318_ = 0.0F; + RGBTransformation* _tmp319_ = NULL; + gfloat* _tmp320_ = NULL; + gint _tmp320__length1 = 0; + gfloat _tmp321_ = 0.0F; + gfloat* _tmp322_ = NULL; + gint _tmp322__length1 = 0; + gfloat _tmp323_ = 0.0F; + RGBTransformation* _tmp324_ = NULL; + gfloat* _tmp325_ = NULL; + gint _tmp325__length1 = 0; + gfloat _tmp326_ = 0.0F; + gfloat* _tmp327_ = NULL; + gint _tmp327__length1 = 0; + gfloat _tmp328_ = 0.0F; + RGBTransformation* _tmp329_ = NULL; + gfloat* _tmp330_ = NULL; + gint _tmp330__length1 = 0; + gfloat _tmp331_ = 0.0F; + gfloat* _tmp332_ = NULL; + gint _tmp332__length1 = 0; + gfloat _tmp333_ = 0.0F; + gfloat _tmp334_ = 0.0F; + gfloat* _tmp335_ = NULL; + gint _tmp335__length1 = 0; + RGBTransformation* _tmp336_ = NULL; + gfloat* _tmp337_ = NULL; + gint _tmp337__length1 = 0; + gfloat _tmp338_ = 0.0F; + gfloat* _tmp339_ = NULL; + gint _tmp339__length1 = 0; + gfloat _tmp340_ = 0.0F; + RGBTransformation* _tmp341_ = NULL; + gfloat* _tmp342_ = NULL; + gint _tmp342__length1 = 0; + gfloat _tmp343_ = 0.0F; + gfloat* _tmp344_ = NULL; + gint _tmp344__length1 = 0; + gfloat _tmp345_ = 0.0F; + RGBTransformation* _tmp346_ = NULL; + gfloat* _tmp347_ = NULL; + gint _tmp347__length1 = 0; + gfloat _tmp348_ = 0.0F; + gfloat* _tmp349_ = NULL; + gint _tmp349__length1 = 0; + gfloat _tmp350_ = 0.0F; + RGBTransformation* _tmp351_ = NULL; + gfloat* _tmp352_ = NULL; + gint _tmp352__length1 = 0; + gfloat _tmp353_ = 0.0F; + gfloat* _tmp354_ = NULL; + gint _tmp354__length1 = 0; + gfloat _tmp355_ = 0.0F; + gfloat _tmp356_ = 0.0F; + gboolean _tmp366_ = FALSE; + gboolean _tmp367_ = FALSE; +#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (other)); +#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = other; +#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixel_transformation_get_composition_mode (_tmp0_); +#line 435 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_ != COMPOSITION_MODE_RGB_MATRIX) { +#line 436 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:436: %s", "RGBTransformation: compose_with( ): 'other' transformation " "does not support RGB_MATRIX composition mode"); +#line 3943 "ColorTransformation.c" + } +#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = other; +#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _pixel_transformation_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_RGB_TRANSFORMATION, RGBTransformation)); +#line 439 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transform = _tmp3_; +#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = g_new0 (gfloat, 16); +#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result_matrix_entries = _tmp4_; +#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result_matrix_entries_length1 = 16; +#line 441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_matrix_entries_size_ = result_matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = result_matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = result_matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = transform; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7__length1 = _tmp6_->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _tmp7_[0]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = self->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9__length1 = self->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp9_[0]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = transform; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = _tmp11_->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12__length1 = _tmp11_->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_[1]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = self->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = self->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = _tmp14_[4]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = transform; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp16_->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17__length1 = _tmp16_->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = _tmp17_[2]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = self->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19__length1 = self->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp19_[8]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = transform; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = _tmp21_->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = _tmp21_->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp22_[3]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = self->matrix_entries; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24__length1 = self->matrix_entries_length1; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp24_[12]; +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_[0] = (((_tmp8_ * _tmp10_) + (_tmp13_ * _tmp15_)) + (_tmp18_ * _tmp20_)) + (_tmp23_ * _tmp25_); +#line 444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp5_[0]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = result_matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27__length1 = result_matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = transform; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp28_->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29__length1 = _tmp28_->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = _tmp29_[0]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = self->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31__length1 = self->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = _tmp31_[1]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = transform; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp33_->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34__length1 = _tmp33_->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _tmp34_[1]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = self->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36__length1 = self->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_[5]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = transform; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp38_->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39__length1 = _tmp38_->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = _tmp39_[2]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = self->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41__length1 = self->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp41_[9]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = transform; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = _tmp43_->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44__length1 = _tmp43_->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_[3]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = self->matrix_entries; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46__length1 = self->matrix_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp46_[13]; +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_[1] = (((_tmp30_ * _tmp32_) + (_tmp35_ * _tmp37_)) + (_tmp40_ * _tmp42_)) + (_tmp45_ * _tmp47_); +#line 450 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = _tmp27_[1]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = result_matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49__length1 = result_matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = transform; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp50_->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51__length1 = _tmp50_->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _tmp51_[0]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = self->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53__length1 = self->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = _tmp53_[2]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = transform; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = _tmp55_->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56__length1 = _tmp55_->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = _tmp56_[1]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = self->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = self->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = _tmp58_[6]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = transform; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = _tmp60_->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61__length1 = _tmp60_->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = _tmp61_[2]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = self->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63__length1 = self->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = _tmp63_[10]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = transform; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = _tmp65_->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66__length1 = _tmp65_->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = _tmp66_[3]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = self->matrix_entries; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68__length1 = self->matrix_entries_length1; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = _tmp68_[14]; +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_[2] = (((_tmp52_ * _tmp54_) + (_tmp57_ * _tmp59_)) + (_tmp62_ * _tmp64_)) + (_tmp67_ * _tmp69_); +#line 456 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = _tmp49_[2]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = result_matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71__length1 = result_matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = transform; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = _tmp72_->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73__length1 = _tmp72_->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = _tmp73_[0]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75_ = self->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75__length1 = self->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76_ = _tmp75_[3]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = transform; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78_ = _tmp77_->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78__length1 = _tmp77_->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp79_ = _tmp78_[1]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80_ = self->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80__length1 = self->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_ = _tmp80_[7]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82_ = transform; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83_ = _tmp82_->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83__length1 = _tmp82_->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_ = _tmp83_[2]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_ = self->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85__length1 = self->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86_ = _tmp85_[11]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_ = transform; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88_ = _tmp87_->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88__length1 = _tmp87_->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = _tmp88_[3]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90_ = self->matrix_entries; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90__length1 = self->matrix_entries_length1; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp91_ = _tmp90_[15]; +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_[3] = (((_tmp74_ * _tmp76_) + (_tmp79_ * _tmp81_)) + (_tmp84_ * _tmp86_)) + (_tmp89_ * _tmp91_); +#line 462 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_ = _tmp71_[3]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_ = result_matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93__length1 = result_matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94_ = transform; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95_ = _tmp94_->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95__length1 = _tmp94_->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_ = _tmp95_[4]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_ = self->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97__length1 = self->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98_ = _tmp97_[0]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp99_ = transform; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100_ = _tmp99_->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100__length1 = _tmp99_->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp101_ = _tmp100_[5]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_ = self->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102__length1 = self->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp103_ = _tmp102_[4]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_ = transform; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105_ = _tmp104_->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105__length1 = _tmp104_->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106_ = _tmp105_[6]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = self->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107__length1 = self->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108_ = _tmp107_[8]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp109_ = transform; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110_ = _tmp109_->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110__length1 = _tmp109_->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp111_ = _tmp110_[7]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112_ = self->matrix_entries; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112__length1 = self->matrix_entries_length1; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113_ = _tmp112_[12]; +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_[4] = (((_tmp96_ * _tmp98_) + (_tmp101_ * _tmp103_)) + (_tmp106_ * _tmp108_)) + (_tmp111_ * _tmp113_); +#line 469 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp114_ = _tmp93_[4]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115_ = result_matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115__length1 = result_matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp116_ = transform; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp117_ = _tmp116_->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp117__length1 = _tmp116_->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp118_ = _tmp117_[4]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp119_ = self->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp119__length1 = self->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp120_ = _tmp119_[1]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp121_ = transform; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp122_ = _tmp121_->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp122__length1 = _tmp121_->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp123_ = _tmp122_[5]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp124_ = self->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp124__length1 = self->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp125_ = _tmp124_[5]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp126_ = transform; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp127_ = _tmp126_->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp127__length1 = _tmp126_->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp128_ = _tmp127_[6]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp129_ = self->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp129__length1 = self->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp130_ = _tmp129_[9]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp131_ = transform; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp132_ = _tmp131_->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp132__length1 = _tmp131_->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp133_ = _tmp132_[7]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp134_ = self->matrix_entries; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp134__length1 = self->matrix_entries_length1; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp135_ = _tmp134_[13]; +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115_[5] = (((_tmp118_ * _tmp120_) + (_tmp123_ * _tmp125_)) + (_tmp128_ * _tmp130_)) + (_tmp133_ * _tmp135_); +#line 475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp136_ = _tmp115_[5]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp137_ = result_matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp137__length1 = result_matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp138_ = transform; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp139_ = _tmp138_->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp139__length1 = _tmp138_->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp140_ = _tmp139_[4]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp141_ = self->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp141__length1 = self->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp142_ = _tmp141_[2]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp143_ = transform; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp144_ = _tmp143_->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp144__length1 = _tmp143_->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp145_ = _tmp144_[5]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp146_ = self->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp146__length1 = self->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp147_ = _tmp146_[6]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp148_ = transform; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp149_ = _tmp148_->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp149__length1 = _tmp148_->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp150_ = _tmp149_[6]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp151_ = self->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp151__length1 = self->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp152_ = _tmp151_[10]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp153_ = transform; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp154_ = _tmp153_->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp154__length1 = _tmp153_->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp155_ = _tmp154_[7]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp156_ = self->matrix_entries; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp156__length1 = self->matrix_entries_length1; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp157_ = _tmp156_[14]; +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp137_[6] = (((_tmp140_ * _tmp142_) + (_tmp145_ * _tmp147_)) + (_tmp150_ * _tmp152_)) + (_tmp155_ * _tmp157_); +#line 481 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp158_ = _tmp137_[6]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp159_ = result_matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp159__length1 = result_matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp160_ = transform; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp161_ = _tmp160_->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp161__length1 = _tmp160_->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp162_ = _tmp161_[4]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp163_ = self->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp163__length1 = self->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp164_ = _tmp163_[3]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp165_ = transform; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp166_ = _tmp165_->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp166__length1 = _tmp165_->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp167_ = _tmp166_[5]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp168_ = self->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp168__length1 = self->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp169_ = _tmp168_[7]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp170_ = transform; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp171_ = _tmp170_->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp171__length1 = _tmp170_->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp172_ = _tmp171_[6]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp173_ = self->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp173__length1 = self->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp174_ = _tmp173_[11]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp175_ = transform; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp176_ = _tmp175_->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp176__length1 = _tmp175_->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp177_ = _tmp176_[7]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp178_ = self->matrix_entries; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp178__length1 = self->matrix_entries_length1; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp179_ = _tmp178_[15]; +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp159_[7] = (((_tmp162_ * _tmp164_) + (_tmp167_ * _tmp169_)) + (_tmp172_ * _tmp174_)) + (_tmp177_ * _tmp179_); +#line 487 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp180_ = _tmp159_[7]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp181_ = result_matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp181__length1 = result_matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp182_ = transform; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp183_ = _tmp182_->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp183__length1 = _tmp182_->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp184_ = _tmp183_[8]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp185_ = self->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp185__length1 = self->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp186_ = _tmp185_[0]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp187_ = transform; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp188_ = _tmp187_->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp188__length1 = _tmp187_->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp189_ = _tmp188_[9]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp190_ = self->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp190__length1 = self->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp191_ = _tmp190_[4]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp192_ = transform; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp193_ = _tmp192_->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp193__length1 = _tmp192_->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp194_ = _tmp193_[10]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp195_ = self->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp195__length1 = self->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp196_ = _tmp195_[8]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp197_ = transform; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp198_ = _tmp197_->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp198__length1 = _tmp197_->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp199_ = _tmp198_[11]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp200_ = self->matrix_entries; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp200__length1 = self->matrix_entries_length1; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp201_ = _tmp200_[12]; +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp181_[8] = (((_tmp184_ * _tmp186_) + (_tmp189_ * _tmp191_)) + (_tmp194_ * _tmp196_)) + (_tmp199_ * _tmp201_); +#line 494 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp202_ = _tmp181_[8]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp203_ = result_matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp203__length1 = result_matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp204_ = transform; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp205_ = _tmp204_->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp205__length1 = _tmp204_->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp206_ = _tmp205_[8]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp207_ = self->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp207__length1 = self->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp208_ = _tmp207_[1]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp209_ = transform; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp210_ = _tmp209_->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp210__length1 = _tmp209_->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp211_ = _tmp210_[9]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp212_ = self->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp212__length1 = self->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp213_ = _tmp212_[5]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp214_ = transform; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp215_ = _tmp214_->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp215__length1 = _tmp214_->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp216_ = _tmp215_[10]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp217_ = self->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp217__length1 = self->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp218_ = _tmp217_[9]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp219_ = transform; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp220_ = _tmp219_->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp220__length1 = _tmp219_->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp221_ = _tmp220_[11]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp222_ = self->matrix_entries; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp222__length1 = self->matrix_entries_length1; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp223_ = _tmp222_[13]; +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp203_[9] = (((_tmp206_ * _tmp208_) + (_tmp211_ * _tmp213_)) + (_tmp216_ * _tmp218_)) + (_tmp221_ * _tmp223_); +#line 500 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp224_ = _tmp203_[9]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp225_ = result_matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp225__length1 = result_matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp226_ = transform; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp227_ = _tmp226_->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp227__length1 = _tmp226_->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp228_ = _tmp227_[8]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp229_ = self->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp229__length1 = self->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp230_ = _tmp229_[2]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp231_ = transform; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp232_ = _tmp231_->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp232__length1 = _tmp231_->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp233_ = _tmp232_[9]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp234_ = self->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp234__length1 = self->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp235_ = _tmp234_[6]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp236_ = transform; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp237_ = _tmp236_->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp237__length1 = _tmp236_->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp238_ = _tmp237_[10]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp239_ = self->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp239__length1 = self->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp240_ = _tmp239_[10]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp241_ = transform; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp242_ = _tmp241_->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp242__length1 = _tmp241_->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp243_ = _tmp242_[11]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp244_ = self->matrix_entries; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp244__length1 = self->matrix_entries_length1; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp245_ = _tmp244_[14]; +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp225_[10] = (((_tmp228_ * _tmp230_) + (_tmp233_ * _tmp235_)) + (_tmp238_ * _tmp240_)) + (_tmp243_ * _tmp245_); +#line 506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp246_ = _tmp225_[10]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp247_ = result_matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp247__length1 = result_matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp248_ = transform; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp249_ = _tmp248_->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp249__length1 = _tmp248_->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp250_ = _tmp249_[8]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp251_ = self->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp251__length1 = self->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp252_ = _tmp251_[3]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp253_ = transform; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp254_ = _tmp253_->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp254__length1 = _tmp253_->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp255_ = _tmp254_[9]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp256_ = self->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp256__length1 = self->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp257_ = _tmp256_[7]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp258_ = transform; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp259_ = _tmp258_->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp259__length1 = _tmp258_->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp260_ = _tmp259_[10]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp261_ = self->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp261__length1 = self->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp262_ = _tmp261_[11]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp263_ = transform; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp264_ = _tmp263_->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp264__length1 = _tmp263_->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp265_ = _tmp264_[11]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp266_ = self->matrix_entries; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp266__length1 = self->matrix_entries_length1; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp267_ = _tmp266_[15]; +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp247_[11] = (((_tmp250_ * _tmp252_) + (_tmp255_ * _tmp257_)) + (_tmp260_ * _tmp262_)) + (_tmp265_ * _tmp267_); +#line 512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp268_ = _tmp247_[11]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp269_ = result_matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp269__length1 = result_matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp270_ = transform; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp271_ = _tmp270_->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp271__length1 = _tmp270_->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp272_ = _tmp271_[12]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp273_ = self->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp273__length1 = self->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp274_ = _tmp273_[0]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp275_ = transform; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp276_ = _tmp275_->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp276__length1 = _tmp275_->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp277_ = _tmp276_[13]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp278_ = self->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp278__length1 = self->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp279_ = _tmp278_[4]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp280_ = transform; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp281_ = _tmp280_->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp281__length1 = _tmp280_->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp282_ = _tmp281_[14]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp283_ = self->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp283__length1 = self->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp284_ = _tmp283_[8]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp285_ = transform; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp286_ = _tmp285_->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp286__length1 = _tmp285_->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp287_ = _tmp286_[15]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp288_ = self->matrix_entries; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp288__length1 = self->matrix_entries_length1; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp289_ = _tmp288_[12]; +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp269_[12] = (((_tmp272_ * _tmp274_) + (_tmp277_ * _tmp279_)) + (_tmp282_ * _tmp284_)) + (_tmp287_ * _tmp289_); +#line 519 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp290_ = _tmp269_[12]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp291_ = result_matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp291__length1 = result_matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp292_ = transform; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp293_ = _tmp292_->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp293__length1 = _tmp292_->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp294_ = _tmp293_[12]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp295_ = self->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp295__length1 = self->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp296_ = _tmp295_[1]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp297_ = transform; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp298_ = _tmp297_->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp298__length1 = _tmp297_->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp299_ = _tmp298_[13]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp300_ = self->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp300__length1 = self->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp301_ = _tmp300_[5]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp302_ = transform; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp303_ = _tmp302_->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp303__length1 = _tmp302_->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp304_ = _tmp303_[14]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp305_ = self->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp305__length1 = self->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp306_ = _tmp305_[9]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp307_ = transform; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp308_ = _tmp307_->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp308__length1 = _tmp307_->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp309_ = _tmp308_[15]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp310_ = self->matrix_entries; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp310__length1 = self->matrix_entries_length1; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp311_ = _tmp310_[13]; +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp291_[13] = (((_tmp294_ * _tmp296_) + (_tmp299_ * _tmp301_)) + (_tmp304_ * _tmp306_)) + (_tmp309_ * _tmp311_); +#line 525 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp312_ = _tmp291_[13]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp313_ = result_matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp313__length1 = result_matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp314_ = transform; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp315_ = _tmp314_->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp315__length1 = _tmp314_->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp316_ = _tmp315_[12]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp317_ = self->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp317__length1 = self->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp318_ = _tmp317_[2]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp319_ = transform; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp320_ = _tmp319_->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp320__length1 = _tmp319_->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp321_ = _tmp320_[13]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp322_ = self->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp322__length1 = self->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp323_ = _tmp322_[6]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp324_ = transform; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp325_ = _tmp324_->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp325__length1 = _tmp324_->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp326_ = _tmp325_[14]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp327_ = self->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp327__length1 = self->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp328_ = _tmp327_[10]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp329_ = transform; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp330_ = _tmp329_->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp330__length1 = _tmp329_->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp331_ = _tmp330_[15]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp332_ = self->matrix_entries; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp332__length1 = self->matrix_entries_length1; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp333_ = _tmp332_[14]; +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp313_[14] = (((_tmp316_ * _tmp318_) + (_tmp321_ * _tmp323_)) + (_tmp326_ * _tmp328_)) + (_tmp331_ * _tmp333_); +#line 531 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp334_ = _tmp313_[14]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp335_ = result_matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp335__length1 = result_matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp336_ = transform; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp337_ = _tmp336_->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp337__length1 = _tmp336_->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp338_ = _tmp337_[12]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp339_ = self->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp339__length1 = self->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp340_ = _tmp339_[3]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp341_ = transform; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp342_ = _tmp341_->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp342__length1 = _tmp341_->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp343_ = _tmp342_[13]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp344_ = self->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp344__length1 = self->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp345_ = _tmp344_[7]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp346_ = transform; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp347_ = _tmp346_->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp347__length1 = _tmp346_->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp348_ = _tmp347_[14]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp349_ = self->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp349__length1 = self->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp350_ = _tmp349_[11]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp351_ = transform; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp352_ = _tmp351_->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp352__length1 = _tmp351_->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp353_ = _tmp352_[15]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp354_ = self->matrix_entries; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp354__length1 = self->matrix_entries_length1; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp355_ = _tmp354_[15]; +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp335_[15] = (((_tmp338_ * _tmp340_) + (_tmp343_ * _tmp345_)) + (_tmp348_ * _tmp350_)) + (_tmp353_ * _tmp355_); +#line 537 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp356_ = _tmp335_[15]; +#line 4983 "ColorTransformation.c" + { + gint i = 0; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 4988 "ColorTransformation.c" + { + gboolean _tmp357_ = FALSE; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp357_ = TRUE; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 4995 "ColorTransformation.c" + gint _tmp359_ = 0; + gfloat* _tmp360_ = NULL; + gint _tmp360__length1 = 0; + gint _tmp361_ = 0; + gfloat* _tmp362_ = NULL; + gint _tmp362__length1 = 0; + gint _tmp363_ = 0; + gfloat _tmp364_ = 0.0F; + gfloat _tmp365_ = 0.0F; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp357_) { +#line 5007 "ColorTransformation.c" + gint _tmp358_ = 0; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp358_ = i; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp358_ + 1; +#line 5013 "ColorTransformation.c" + } +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp357_ = FALSE; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp359_ = i; +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp359_ < RGB_TRANSFORMATION_MATRIX_SIZE)) { +#line 543 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 5023 "ColorTransformation.c" + } +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp360_ = self->matrix_entries; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp360__length1 = self->matrix_entries_length1; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp361_ = i; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp362_ = result_matrix_entries; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp362__length1 = result_matrix_entries_length1; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp363_ = i; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp364_ = _tmp362_[_tmp363_]; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp360_[_tmp361_] = _tmp364_; +#line 544 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp365_ = _tmp360_[_tmp361_]; +#line 5043 "ColorTransformation.c" + } + } + } +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp367_ = self->identity; +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp367_) { +#line 5051 "ColorTransformation.c" + RGBTransformation* _tmp368_ = NULL; + gboolean _tmp369_ = FALSE; +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp368_ = transform; +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp369_ = _tmp368_->identity; +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp366_ = _tmp369_; +#line 5060 "ColorTransformation.c" + } else { +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp366_ = FALSE; +#line 5064 "ColorTransformation.c" + } +#line 546 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->identity = _tmp366_; +#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result_matrix_entries = (g_free (result_matrix_entries), NULL); +#line 434 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (transform); +#line 5072 "ColorTransformation.c" +} + + +static void rgb_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* p, HSVAnalyticPixel* result) { + RGBTransformation * self; + RGBAnalyticPixel _tmp0_ = {0}; + RGBAnalyticPixel _tmp1_ = {0}; + HSVAnalyticPixel _tmp2_ = {0}; +#line 549 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 549 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (p, &_tmp0_); +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_transform_pixel_rgb (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), &_tmp0_, &_tmp1_); +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_to_hsv (&_tmp1_, &_tmp2_); +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp2_; +#line 550 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 5095 "ColorTransformation.c" +} + + +static void rgb_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { + RGBTransformation * self; + gfloat red_out = 0.0F; + RGBAnalyticPixel _tmp0_ = {0}; + gfloat _tmp1_ = 0.0F; + gfloat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gfloat _tmp3_ = 0.0F; + RGBAnalyticPixel _tmp4_ = {0}; + gfloat _tmp5_ = 0.0F; + gfloat* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gfloat _tmp7_ = 0.0F; + RGBAnalyticPixel _tmp8_ = {0}; + gfloat _tmp9_ = 0.0F; + gfloat* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gfloat _tmp11_ = 0.0F; + gfloat* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gfloat _tmp13_ = 0.0F; + gfloat _tmp14_ = 0.0F; + gfloat _tmp15_ = 0.0F; + gfloat green_out = 0.0F; + RGBAnalyticPixel _tmp16_ = {0}; + gfloat _tmp17_ = 0.0F; + gfloat* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gfloat _tmp19_ = 0.0F; + RGBAnalyticPixel _tmp20_ = {0}; + gfloat _tmp21_ = 0.0F; + gfloat* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gfloat _tmp23_ = 0.0F; + RGBAnalyticPixel _tmp24_ = {0}; + gfloat _tmp25_ = 0.0F; + gfloat* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gfloat _tmp27_ = 0.0F; + gfloat* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gfloat _tmp29_ = 0.0F; + gfloat _tmp30_ = 0.0F; + gfloat _tmp31_ = 0.0F; + gfloat blue_out = 0.0F; + RGBAnalyticPixel _tmp32_ = {0}; + gfloat _tmp33_ = 0.0F; + gfloat* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gfloat _tmp35_ = 0.0F; + RGBAnalyticPixel _tmp36_ = {0}; + gfloat _tmp37_ = 0.0F; + gfloat* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gfloat _tmp39_ = 0.0F; + RGBAnalyticPixel _tmp40_ = {0}; + gfloat _tmp41_ = 0.0F; + gfloat* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gfloat _tmp43_ = 0.0F; + gfloat* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gfloat _tmp45_ = 0.0F; + gfloat _tmp46_ = 0.0F; + gfloat _tmp47_ = 0.0F; + gfloat _tmp48_ = 0.0F; + gfloat _tmp49_ = 0.0F; + gfloat _tmp50_ = 0.0F; + RGBAnalyticPixel _tmp51_ = {0}; +#line 553 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 553 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_.red; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->matrix_entries; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2__length1 = self->matrix_entries_length1; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_[0]; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = *p; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_.green; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = self->matrix_entries; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6__length1 = self->matrix_entries_length1; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_[1]; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = *p; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp8_.blue; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = self->matrix_entries; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10__length1 = self->matrix_entries_length1; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_[2]; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = self->matrix_entries; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12__length1 = self->matrix_entries_length1; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_[3]; +#line 554 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + red_out = (((_tmp1_ * _tmp3_) + (_tmp5_ * _tmp7_)) + (_tmp9_ * _tmp11_)) + _tmp13_; +#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = red_out; +#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = CLAMP (_tmp14_, 0.0f, 1.0f); +#line 558 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + red_out = _tmp15_; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = *p; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp16_.red; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = self->matrix_entries; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = self->matrix_entries_length1; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = _tmp18_[4]; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = *p; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = _tmp20_.green; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = self->matrix_entries; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = self->matrix_entries_length1; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp22_[5]; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = *p; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp24_.blue; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = self->matrix_entries; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = self->matrix_entries_length1; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = _tmp26_[6]; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = self->matrix_entries; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28__length1 = self->matrix_entries_length1; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp28_[7]; +#line 560 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + green_out = (((_tmp17_ * _tmp19_) + (_tmp21_ * _tmp23_)) + (_tmp25_ * _tmp27_)) + _tmp29_; +#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = green_out; +#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = CLAMP (_tmp30_, 0.0f, 1.0f); +#line 564 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + green_out = _tmp31_; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = *p; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = _tmp32_.red; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = self->matrix_entries; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34__length1 = self->matrix_entries_length1; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _tmp34_[8]; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = *p; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_.green; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = self->matrix_entries; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38__length1 = self->matrix_entries_length1; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp38_[9]; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = *p; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = _tmp40_.blue; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = self->matrix_entries; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42__length1 = self->matrix_entries_length1; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = _tmp42_[10]; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = self->matrix_entries; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44__length1 = self->matrix_entries_length1; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_[11]; +#line 566 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + blue_out = (((_tmp33_ * _tmp35_) + (_tmp37_ * _tmp39_)) + (_tmp41_ * _tmp43_)) + _tmp45_; +#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = blue_out; +#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = CLAMP (_tmp46_, 0.0f, 1.0f); +#line 570 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + blue_out = _tmp47_; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = red_out; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = green_out; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = blue_out; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init_from_components (&_tmp51_, _tmp48_, _tmp49_, _tmp50_); +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp51_; +#line 572 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 5316 "ColorTransformation.c" +} + + +static gboolean rgb_transformation_real_is_identity (PixelTransformation* base) { + RGBTransformation * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 575 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->identity; +#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 576 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5332 "ColorTransformation.c" +} + + +static PixelTransformation* rgb_transformation_real_copy (PixelTransformation* base) { + RGBTransformation * self; + PixelTransformation* result = NULL; + RGBTransformation* _result_ = NULL; + PixelTransformationType _tmp0_ = 0; + RGBTransformation* _tmp1_ = NULL; +#line 579 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_get_transformation_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = rgb_transformation_new (_tmp0_); +#line 580 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_ = _tmp1_; +#line 5350 "ColorTransformation.c" + { + gint i = 0; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 5355 "ColorTransformation.c" + { + gboolean _tmp2_ = FALSE; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = TRUE; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 5362 "ColorTransformation.c" + gint _tmp4_ = 0; + RGBTransformation* _tmp5_ = NULL; + gfloat* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + gfloat* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gfloat _tmp10_ = 0.0F; + gfloat _tmp11_ = 0.0F; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp2_) { +#line 5375 "ColorTransformation.c" + gint _tmp3_ = 0; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp3_ + 1; +#line 5381 "ColorTransformation.c" + } +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = FALSE; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = i; +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp4_ < RGB_TRANSFORMATION_MATRIX_SIZE)) { +#line 582 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 5391 "ColorTransformation.c" + } +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _result_; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_->matrix_entries; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6__length1 = _tmp5_->matrix_entries_length1; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = i; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = self->matrix_entries; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = self->matrix_entries_length1; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_[_tmp7_] = _tmp10_; +#line 583 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp6_[_tmp7_]; +#line 5413 "ColorTransformation.c" + } + } + } +#line 586 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_result_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 586 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5421 "ColorTransformation.c" +} + + +static void rgb_transformation_class_init (RGBTransformationClass * klass) { +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_transformation_parent_class = g_type_class_peek_parent (klass); +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = rgb_transformation_finalize; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_preferred_format = rgb_transformation_real_get_preferred_format; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_composition_mode = rgb_transformation_real_get_composition_mode; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->compose_with = rgb_transformation_real_compose_with; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = rgb_transformation_real_transform_pixel_hsv; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_rgb = rgb_transformation_real_transform_pixel_rgb; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = rgb_transformation_real_is_identity; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = rgb_transformation_real_copy; +#line 5444 "ColorTransformation.c" +} + + +static void rgb_transformation_instance_init (RGBTransformation * self) { +#line 410 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->identity = TRUE; +#line 5451 "ColorTransformation.c" +} + + +static void rgb_transformation_finalize (PixelTransformation* obj) { + RGBTransformation * self; +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RGB_TRANSFORMATION, RGBTransformation); +#line 406 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->matrix_entries = (g_free (self->matrix_entries), NULL); +#line 403 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (rgb_transformation_parent_class)->finalize (obj); +#line 5463 "ColorTransformation.c" +} + + +GType rgb_transformation_get_type (void) { + static volatile gsize rgb_transformation_type_id__volatile = 0; + if (g_once_init_enter (&rgb_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RGBTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rgb_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RGBTransformation), 0, (GInstanceInitFunc) rgb_transformation_instance_init, NULL }; + GType rgb_transformation_type_id; + rgb_transformation_type_id = g_type_register_static (TYPE_PIXEL_TRANSFORMATION, "RGBTransformation", &g_define_type_info, 0); + g_once_init_leave (&rgb_transformation_type_id__volatile, rgb_transformation_type_id); + } + return rgb_transformation_type_id__volatile; +} + + +HSVTransformation* hsv_transformation_construct (GType object_type, PixelTransformationType type) { + HSVTransformation* self = NULL; + PixelTransformationType _tmp0_ = 0; +#line 592 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = type; +#line 592 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (HSVTransformation*) pixel_transformation_construct (object_type, _tmp0_); +#line 591 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 5488 "ColorTransformation.c" +} + + +static PixelFormat hsv_transformation_real_get_preferred_format (PixelTransformation* base) { + HSVTransformation * self; + PixelFormat result = 0; +#line 595 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HSV_TRANSFORMATION, HSVTransformation); +#line 596 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = PIXEL_FORMAT_HSV; +#line 596 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5501 "ColorTransformation.c" +} + + +static void hsv_transformation_real_transform_pixel_rgb (PixelTransformation* base, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { + HSVTransformation * self; + HSVAnalyticPixel _tmp0_ = {0}; + HSVAnalyticPixel _tmp1_ = {0}; + RGBAnalyticPixel _tmp2_ = {0}; +#line 599 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HSV_TRANSFORMATION, HSVTransformation); +#line 599 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_to_hsv (p, &_tmp0_); +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_transform_pixel_hsv (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), &_tmp0_, &_tmp1_); +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (&_tmp1_, &_tmp2_); +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _tmp2_; +#line 600 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 5524 "ColorTransformation.c" +} + + +static void hsv_transformation_class_init (HSVTransformationClass * klass) { +#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_transformation_parent_class = g_type_class_peek_parent (klass); +#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->get_preferred_format = hsv_transformation_real_get_preferred_format; +#line 590 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_rgb = hsv_transformation_real_transform_pixel_rgb; +#line 5535 "ColorTransformation.c" +} + + +static void hsv_transformation_instance_init (HSVTransformation * self) { +} + + +GType hsv_transformation_get_type (void) { + static volatile gsize hsv_transformation_type_id__volatile = 0; + if (g_once_init_enter (&hsv_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (HSVTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hsv_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HSVTransformation), 0, (GInstanceInitFunc) hsv_transformation_instance_init, NULL }; + GType hsv_transformation_type_id; + hsv_transformation_type_id = g_type_register_static (TYPE_PIXEL_TRANSFORMATION, "HSVTransformation", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&hsv_transformation_type_id__volatile, hsv_transformation_type_id); + } + return hsv_transformation_type_id__volatile; +} + + +TintTransformation* tint_transformation_construct (GType object_type, gfloat client_param) { + TintTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 612 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (TintTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TINT); +#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = client_param; +#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, TINT_TRANSFORMATION_MIN_PARAMETER, TINT_TRANSFORMATION_MAX_PARAMETER); +#line 614 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->parameter = _tmp1_; +#line 616 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->parameter; +#line 616 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != 0.0f) { +#line 5572 "ColorTransformation.c" + gfloat adjusted_param = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gfloat _tmp9_ = 0.0F; + gfloat _tmp10_ = 0.0F; + gfloat* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gfloat _tmp12_ = 0.0F; + gfloat _tmp13_ = 0.0F; +#line 617 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->parameter; +#line 617 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp3_ / TINT_TRANSFORMATION_MAX_PARAMETER; +#line 618 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = adjusted_param; +#line 618 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp4_ * TINT_TRANSFORMATION_INTENSITY_FACTOR; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = adjusted_param; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_[11] -= _tmp6_ / 2; +#line 620 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[11]; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = adjusted_param; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_[7] += _tmp9_; +#line 621 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[7]; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = adjusted_param; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_[3] -= _tmp12_ / 2; +#line 622 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp11_[3]; +#line 624 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE; +#line 5628 "ColorTransformation.c" + } +#line 611 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 5632 "ColorTransformation.c" +} + + +TintTransformation* tint_transformation_new (gfloat client_param) { +#line 611 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return tint_transformation_construct (TYPE_TINT_TRANSFORMATION, client_param); +#line 5639 "ColorTransformation.c" +} + + +gfloat tint_transformation_get_parameter (TintTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 628 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_TINT_TRANSFORMATION (self), 0.0F); +#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->parameter; +#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 629 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5654 "ColorTransformation.c" +} + + +static void tint_transformation_class_init (TintTransformationClass * klass) { +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + tint_transformation_parent_class = g_type_class_peek_parent (klass); +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = tint_transformation_finalize; +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (TintTransformationPrivate)); +#line 5665 "ColorTransformation.c" +} + + +static void tint_transformation_instance_init (TintTransformation * self) { +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = TINT_TRANSFORMATION_GET_PRIVATE (self); +#line 5672 "ColorTransformation.c" +} + + +static void tint_transformation_finalize (PixelTransformation* obj) { + TintTransformation * self; +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TINT_TRANSFORMATION, TintTransformation); +#line 604 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (tint_transformation_parent_class)->finalize (obj); +#line 5682 "ColorTransformation.c" +} + + +GType tint_transformation_get_type (void) { + static volatile gsize tint_transformation_type_id__volatile = 0; + if (g_once_init_enter (&tint_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TintTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tint_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TintTransformation), 0, (GInstanceInitFunc) tint_transformation_instance_init, NULL }; + GType tint_transformation_type_id; + tint_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "TintTransformation", &g_define_type_info, 0); + g_once_init_leave (&tint_transformation_type_id__volatile, tint_transformation_type_id); + } + return tint_transformation_type_id__volatile; +} + + +TemperatureTransformation* temperature_transformation_construct (GType object_type, gfloat client_parameter) { + TemperatureTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 641 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (TemperatureTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TEMPERATURE); +#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = client_parameter; +#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, TEMPERATURE_TRANSFORMATION_MIN_PARAMETER, TEMPERATURE_TRANSFORMATION_MAX_PARAMETER); +#line 643 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->parameter = _tmp1_; +#line 645 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->parameter; +#line 645 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != 0.0f) { +#line 5715 "ColorTransformation.c" + gfloat adjusted_param = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gfloat _tmp9_ = 0.0F; + gfloat _tmp10_ = 0.0F; + gfloat* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gfloat _tmp12_ = 0.0F; + gfloat _tmp13_ = 0.0F; +#line 646 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->parameter; +#line 646 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp3_ / TEMPERATURE_TRANSFORMATION_MAX_PARAMETER; +#line 647 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = adjusted_param; +#line 647 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp4_ * TEMPERATURE_TRANSFORMATION_INTENSITY_FACTOR; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = adjusted_param; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_[11] -= _tmp6_; +#line 649 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[11]; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = adjusted_param; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_[7] += _tmp9_ / 2; +#line 650 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[7]; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = adjusted_param; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_[3] += _tmp12_ / 2; +#line 651 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp11_[3]; +#line 653 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE; +#line 5771 "ColorTransformation.c" + } +#line 640 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 5775 "ColorTransformation.c" +} + + +TemperatureTransformation* temperature_transformation_new (gfloat client_parameter) { +#line 640 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return temperature_transformation_construct (TYPE_TEMPERATURE_TRANSFORMATION, client_parameter); +#line 5782 "ColorTransformation.c" +} + + +gfloat temperature_transformation_get_parameter (TemperatureTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 657 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_TEMPERATURE_TRANSFORMATION (self), 0.0F); +#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->parameter; +#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 658 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 5797 "ColorTransformation.c" +} + + +static void temperature_transformation_class_init (TemperatureTransformationClass * klass) { +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temperature_transformation_parent_class = g_type_class_peek_parent (klass); +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = temperature_transformation_finalize; +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (TemperatureTransformationPrivate)); +#line 5808 "ColorTransformation.c" +} + + +static void temperature_transformation_instance_init (TemperatureTransformation * self) { +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = TEMPERATURE_TRANSFORMATION_GET_PRIVATE (self); +#line 5815 "ColorTransformation.c" +} + + +static void temperature_transformation_finalize (PixelTransformation* obj) { + TemperatureTransformation * self; +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation); +#line 633 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (temperature_transformation_parent_class)->finalize (obj); +#line 5825 "ColorTransformation.c" +} + + +GType temperature_transformation_get_type (void) { + static volatile gsize temperature_transformation_type_id__volatile = 0; + if (g_once_init_enter (&temperature_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TemperatureTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) temperature_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TemperatureTransformation), 0, (GInstanceInitFunc) temperature_transformation_instance_init, NULL }; + GType temperature_transformation_type_id; + temperature_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "TemperatureTransformation", &g_define_type_info, 0); + g_once_init_leave (&temperature_transformation_type_id__volatile, temperature_transformation_type_id); + } + return temperature_transformation_type_id__volatile; +} + + +SaturationTransformation* saturation_transformation_construct (GType object_type, gfloat client_parameter) { + SaturationTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 669 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (SaturationTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_SATURATION); +#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = client_parameter; +#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, SATURATION_TRANSFORMATION_MIN_PARAMETER, SATURATION_TRANSFORMATION_MAX_PARAMETER); +#line 671 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->parameter = _tmp1_; +#line 673 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->parameter; +#line 673 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != 0.0f) { +#line 5858 "ColorTransformation.c" + gfloat adjusted_param = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat one_third = 0.0F; + gfloat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat _tmp8_ = 0.0F; + gfloat _tmp9_ = 0.0F; + gfloat* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; + gfloat _tmp13_ = 0.0F; + gfloat* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gfloat* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; + gfloat _tmp21_ = 0.0F; + gfloat* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gfloat _tmp23_ = 0.0F; + gfloat _tmp24_ = 0.0F; + gfloat _tmp25_ = 0.0F; + gfloat _tmp26_ = 0.0F; + gfloat* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gfloat _tmp28_ = 0.0F; + gfloat _tmp29_ = 0.0F; + gfloat _tmp30_ = 0.0F; + gfloat* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gfloat _tmp32_ = 0.0F; + gfloat _tmp33_ = 0.0F; + gfloat _tmp34_ = 0.0F; + gfloat* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + gfloat _tmp36_ = 0.0F; + gfloat _tmp37_ = 0.0F; + gfloat _tmp38_ = 0.0F; + gfloat* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gfloat _tmp40_ = 0.0F; + gfloat _tmp41_ = 0.0F; + gfloat _tmp42_ = 0.0F; + gfloat _tmp43_ = 0.0F; +#line 674 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->parameter; +#line 674 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp3_ / SATURATION_TRANSFORMATION_MAX_PARAMETER; +#line 675 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = adjusted_param; +#line 675 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = _tmp4_ + 1.0f; +#line 677 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + one_third = 0.3333333f; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = adjusted_param; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = one_third; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = adjusted_param; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_[0] = ((1.0f - _tmp6_) * _tmp7_) + _tmp8_; +#line 679 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp5_[0]; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = adjusted_param; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = one_third; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_[1] = (1.0f - _tmp11_) * _tmp12_; +#line 681 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp10_[1]; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = adjusted_param; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = one_third; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_[2] = (1.0f - _tmp15_) * _tmp16_; +#line 682 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp14_[2]; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = adjusted_param; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = one_third; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_[4] = (1.0f - _tmp19_) * _tmp20_; +#line 684 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = _tmp18_[4]; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = adjusted_param; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = one_third; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = adjusted_param; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_[5] = ((1.0f - _tmp23_) * _tmp24_) + _tmp25_; +#line 685 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp22_[5]; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = adjusted_param; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = one_third; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_[6] = (1.0f - _tmp28_) * _tmp29_; +#line 687 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = _tmp27_[6]; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = adjusted_param; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = one_third; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_[8] = (1.0f - _tmp32_) * _tmp33_; +#line 689 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp31_[8]; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = adjusted_param; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = one_third; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_[9] = (1.0f - _tmp36_) * _tmp37_; +#line 690 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _tmp35_[9]; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = adjusted_param; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = one_third; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = adjusted_param; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_[10] = ((1.0f - _tmp40_) * _tmp41_) + _tmp42_; +#line 691 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = _tmp39_[10]; +#line 694 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE; +#line 6037 "ColorTransformation.c" + } +#line 668 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 6041 "ColorTransformation.c" +} + + +SaturationTransformation* saturation_transformation_new (gfloat client_parameter) { +#line 668 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return saturation_transformation_construct (TYPE_SATURATION_TRANSFORMATION, client_parameter); +#line 6048 "ColorTransformation.c" +} + + +gfloat saturation_transformation_get_parameter (SaturationTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 698 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_SATURATION_TRANSFORMATION (self), 0.0F); +#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->parameter; +#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 699 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 6063 "ColorTransformation.c" +} + + +static void saturation_transformation_class_init (SaturationTransformationClass * klass) { +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + saturation_transformation_parent_class = g_type_class_peek_parent (klass); +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = saturation_transformation_finalize; +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (SaturationTransformationPrivate)); +#line 6074 "ColorTransformation.c" +} + + +static void saturation_transformation_instance_init (SaturationTransformation * self) { +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = SATURATION_TRANSFORMATION_GET_PRIVATE (self); +#line 6081 "ColorTransformation.c" +} + + +static void saturation_transformation_finalize (PixelTransformation* obj) { + SaturationTransformation * self; +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SATURATION_TRANSFORMATION, SaturationTransformation); +#line 662 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (saturation_transformation_parent_class)->finalize (obj); +#line 6091 "ColorTransformation.c" +} + + +GType saturation_transformation_get_type (void) { + static volatile gsize saturation_transformation_type_id__volatile = 0; + if (g_once_init_enter (&saturation_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SaturationTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saturation_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SaturationTransformation), 0, (GInstanceInitFunc) saturation_transformation_instance_init, NULL }; + GType saturation_transformation_type_id; + saturation_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "SaturationTransformation", &g_define_type_info, 0); + g_once_init_leave (&saturation_transformation_type_id__volatile, saturation_transformation_type_id); + } + return saturation_transformation_type_id__volatile; +} + + +ExposureTransformation* exposure_transformation_construct (GType object_type, gfloat client_parameter) { + ExposureTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 710 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ExposureTransformation*) rgb_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_EXPOSURE); +#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = client_parameter; +#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, EXPOSURE_TRANSFORMATION_MIN_PARAMETER, EXPOSURE_TRANSFORMATION_MAX_PARAMETER); +#line 712 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->parameter = _tmp1_; +#line 714 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->parameter; +#line 714 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != 0.0f) { +#line 6124 "ColorTransformation.c" + gfloat adjusted_param = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gfloat _tmp5_ = 0.0F; + gfloat _tmp6_ = 0.0F; + gfloat* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gfloat _tmp8_ = 0.0F; + gfloat _tmp9_ = 0.0F; + gfloat* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; +#line 716 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->parameter; +#line 716 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjusted_param = ((_tmp3_ + 16.0f) / 32.0f) + 0.5f; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = adjusted_param; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_[0] = _tmp5_; +#line 718 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp4_[0]; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = adjusted_param; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_[5] = _tmp8_; +#line 719 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp7_[5]; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10__length1 = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->matrix_entries_length1; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = adjusted_param; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_[10] = _tmp11_; +#line 720 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = _tmp10_[10]; +#line 722 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_RGB_TRANSFORMATION, RGBTransformation)->identity = FALSE; +#line 6175 "ColorTransformation.c" + } +#line 709 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 6179 "ColorTransformation.c" +} + + +ExposureTransformation* exposure_transformation_new (gfloat client_parameter) { +#line 709 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return exposure_transformation_construct (TYPE_EXPOSURE_TRANSFORMATION, client_parameter); +#line 6186 "ColorTransformation.c" +} + + +gfloat exposure_transformation_get_parameter (ExposureTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 726 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_EXPOSURE_TRANSFORMATION (self), 0.0F); +#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->parameter; +#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 727 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 6201 "ColorTransformation.c" +} + + +static void exposure_transformation_class_init (ExposureTransformationClass * klass) { +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + exposure_transformation_parent_class = g_type_class_peek_parent (klass); +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = exposure_transformation_finalize; +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (ExposureTransformationPrivate)); +#line 6212 "ColorTransformation.c" +} + + +static void exposure_transformation_instance_init (ExposureTransformation * self) { +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = EXPOSURE_TRANSFORMATION_GET_PRIVATE (self); +#line 6219 "ColorTransformation.c" +} + + +static void exposure_transformation_finalize (PixelTransformation* obj) { + ExposureTransformation * self; +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation); +#line 703 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (exposure_transformation_parent_class)->finalize (obj); +#line 6229 "ColorTransformation.c" +} + + +GType exposure_transformation_get_type (void) { + static volatile gsize exposure_transformation_type_id__volatile = 0; + if (g_once_init_enter (&exposure_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExposureTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) exposure_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExposureTransformation), 0, (GInstanceInitFunc) exposure_transformation_instance_init, NULL }; + GType exposure_transformation_type_id; + exposure_transformation_type_id = g_type_register_static (TYPE_RGB_TRANSFORMATION, "ExposureTransformation", &g_define_type_info, 0); + g_once_init_leave (&exposure_transformation_type_id__volatile, exposure_transformation_type_id); + } + return exposure_transformation_type_id__volatile; +} + + +PixelTransformer* pixel_transformer_construct (GType object_type) { + PixelTransformer* self = NULL; +#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (PixelTransformer*) g_type_create_instance (object_type); +#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 6251 "ColorTransformation.c" +} + + +PixelTransformer* pixel_transformer_new (void) { +#line 737 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return pixel_transformer_construct (TYPE_PIXEL_TRANSFORMER); +#line 6258 "ColorTransformation.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self ? g_object_ref (self) : NULL; +#line 6265 "ColorTransformation.c" +} + + +PixelTransformer* pixel_transformer_copy (PixelTransformer* self) { + PixelTransformer* result = NULL; + PixelTransformer* clone = NULL; + PixelTransformer* _tmp0_ = NULL; +#line 740 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMER (self), NULL); +#line 741 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformer_new (); +#line 741 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + clone = _tmp0_; +#line 6279 "ColorTransformation.c" + { + GeeArrayList* _transformation_list = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + gint _transformation_size = 0; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _transformation_index = 0; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->transformations; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_list = _tmp2_; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _transformation_list; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_size = _tmp5_; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_index = -1; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 6307 "ColorTransformation.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + PixelTransformation* transformation = NULL; + GeeArrayList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + PixelTransformer* _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; + PixelTransformation* _tmp14_ = NULL; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _transformation_index; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _transformation_index = _tmp6_ + 1; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _transformation_index; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _transformation_size; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 6330 "ColorTransformation.c" + } +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _transformation_list; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _transformation_index; +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp10_); +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + transformation = (PixelTransformation*) _tmp11_; +#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = clone; +#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_->priv->transformations; +#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = transformation; +#line 744 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp14_); +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (transformation); +#line 6350 "ColorTransformation.c" + } +#line 743 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (_transformation_list); +#line 6354 "ColorTransformation.c" + } +#line 746 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = clone; +#line 746 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 6360 "ColorTransformation.c" +} + + +static void pixel_transformer_build_optimized_transformations (PixelTransformer* self) { + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + PixelTransformation** _tmp3_ = NULL; + PixelTransformation* pre_trans = NULL; +#line 749 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->transformations; +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = g_new0 (PixelTransformation*, _tmp2_ + 1); +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = _tmp3_; +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = _tmp2_; +#line 750 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 752 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pre_trans = NULL; +#line 753 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_slots_used = 0; +#line 6392 "ColorTransformation.c" + { + gint i = 0; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 6397 "ColorTransformation.c" + { + gboolean _tmp4_ = FALSE; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = TRUE; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 6404 "ColorTransformation.c" + gint _tmp6_ = 0; + GeeArrayList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + PixelTransformation* trans = NULL; + GeeArrayList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + PixelTransformation* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + PixelTransformation* this_trans = NULL; + PixelTransformation* _tmp15_ = NULL; + CompositionMode _tmp16_ = 0; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + PixelTransformation* _tmp23_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp4_) { +#line 6423 "ColorTransformation.c" + gint _tmp5_ = 0; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = i; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp5_ + 1; +#line 6429 "ColorTransformation.c" + } +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = FALSE; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = i; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = self->priv->transformations; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = _tmp8_; +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp6_ < _tmp9_)) { +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 6445 "ColorTransformation.c" + } +#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = self->priv->transformations; +#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = i; +#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp11_); +#line 755 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + trans = (PixelTransformation*) _tmp12_; +#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = trans; +#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = pixel_transformation_is_identity (_tmp13_); +#line 757 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp14_) { +#line 758 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (trans); +#line 758 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + continue; +#line 6465 "ColorTransformation.c" + } +#line 760 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + this_trans = NULL; +#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = trans; +#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = pixel_transformation_get_composition_mode (_tmp15_); +#line 761 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp16_ == COMPOSITION_MODE_NONE) { +#line 6475 "ColorTransformation.c" + PixelTransformation* _tmp17_ = NULL; + PixelTransformation* _tmp18_ = NULL; +#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = trans; +#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = _pixel_transformation_ref0 (_tmp17_); +#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (this_trans); +#line 762 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + this_trans = _tmp18_; +#line 6486 "ColorTransformation.c" + } else { + PixelTransformation* _tmp19_ = NULL; + PixelTransformation* _tmp20_ = NULL; +#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = trans; +#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = pixel_transformation_copy (_tmp19_); +#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (this_trans); +#line 764 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + this_trans = _tmp20_; +#line 6498 "ColorTransformation.c" + } +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = pre_trans; +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp23_ != NULL) { +#line 6504 "ColorTransformation.c" + PixelTransformation* _tmp24_ = NULL; + CompositionMode _tmp25_ = 0; +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = this_trans; +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = pixel_transformation_get_composition_mode (_tmp24_); +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = _tmp25_ != COMPOSITION_MODE_NONE; +#line 6513 "ColorTransformation.c" + } else { +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = FALSE; +#line 6517 "ColorTransformation.c" + } +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp22_) { +#line 6521 "ColorTransformation.c" + PixelTransformation* _tmp26_ = NULL; + CompositionMode _tmp27_ = 0; + PixelTransformation* _tmp28_ = NULL; + CompositionMode _tmp29_ = 0; +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = this_trans; +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = pixel_transformation_get_composition_mode (_tmp26_); +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = pre_trans; +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = pixel_transformation_get_composition_mode (_tmp28_); +#line 767 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = _tmp27_ == _tmp29_; +#line 6536 "ColorTransformation.c" + } else { +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = FALSE; +#line 6540 "ColorTransformation.c" + } +#line 766 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp21_) { +#line 6544 "ColorTransformation.c" + PixelTransformation* _tmp30_ = NULL; + PixelTransformation* _tmp31_ = NULL; +#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = pre_trans; +#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = this_trans; +#line 768 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_compose_with (_tmp30_, _tmp31_); +#line 6553 "ColorTransformation.c" + } else { + PixelTransformation** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + PixelTransformation* _tmp34_ = NULL; + PixelTransformation* _tmp35_ = NULL; + PixelTransformation* _tmp36_ = NULL; + PixelTransformation* _tmp37_ = NULL; + PixelTransformation* _tmp38_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = self->priv->optimized_transformations; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32__length1 = self->priv->optimized_transformations_length1; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = self->priv->optimized_slots_used; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_slots_used = _tmp33_ + 1; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = this_trans; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _pixel_transformation_ref0 (_tmp34_); +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp32_[_tmp33_]); +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_[_tmp33_] = _tmp35_; +#line 770 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = _tmp32_[_tmp33_]; +#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = this_trans; +#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _pixel_transformation_ref0 (_tmp37_); +#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (pre_trans); +#line 771 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pre_trans = _tmp38_; +#line 6589 "ColorTransformation.c" + } +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (this_trans); +#line 754 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (trans); +#line 6595 "ColorTransformation.c" + } + } + } +#line 749 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (pre_trans); +#line 6601 "ColorTransformation.c" +} + + +static void pixel_transformer_apply_transformations (PixelTransformer* self, RGBAnalyticPixel* p, RGBAnalyticPixel* result) { + PixelFormat current_format = 0; + RGBAnalyticPixel p_rgb = {0}; + RGBAnalyticPixel _tmp0_ = {0}; + HSVAnalyticPixel p_hsv = {0}; + PixelFormat _tmp21_ = 0; +#line 776 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 776 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (p != NULL); +#line 777 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + current_format = PIXEL_FORMAT_RGB; +#line 778 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *p; +#line 778 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_rgb = _tmp0_; +#line 779 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_init (&p_hsv); +#line 6623 "ColorTransformation.c" + { + gint i = 0; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 6628 "ColorTransformation.c" + { + gboolean _tmp1_ = FALSE; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = TRUE; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 6635 "ColorTransformation.c" + gint _tmp3_ = 0; + gint _tmp4_ = 0; + PixelTransformation* trans = NULL; + PixelTransformation** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + PixelTransformation* _tmp7_ = NULL; + PixelTransformation* _tmp8_ = NULL; + PixelTransformation* _tmp9_ = NULL; + PixelFormat _tmp10_ = 0; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp1_) { +#line 6648 "ColorTransformation.c" + gint _tmp2_ = 0; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp2_ + 1; +#line 6654 "ColorTransformation.c" + } +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = self->priv->optimized_slots_used; +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp3_ < _tmp4_)) { +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 6666 "ColorTransformation.c" + } +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = self->priv->optimized_transformations; +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = self->priv->optimized_transformations_length1; +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = i; +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _pixel_transformation_ref0 (_tmp7_); +#line 782 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + trans = _tmp8_; +#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = trans; +#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = pixel_transformation_get_preferred_format (_tmp9_); +#line 783 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp10_ == PIXEL_FORMAT_RGB) { +#line 6686 "ColorTransformation.c" + PixelFormat _tmp11_ = 0; + PixelTransformation* _tmp13_ = NULL; + RGBAnalyticPixel _tmp14_ = {0}; + RGBAnalyticPixel _tmp15_ = {0}; +#line 784 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = current_format; +#line 784 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp11_ == PIXEL_FORMAT_HSV) { +#line 6695 "ColorTransformation.c" + RGBAnalyticPixel _tmp12_ = {0}; +#line 785 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (&p_hsv, &_tmp12_); +#line 785 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_rgb = _tmp12_; +#line 786 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + current_format = PIXEL_FORMAT_RGB; +#line 6703 "ColorTransformation.c" + } +#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = trans; +#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = p_rgb; +#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_transform_pixel_rgb (_tmp13_, &_tmp14_, &_tmp15_); +#line 788 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_rgb = _tmp15_; +#line 6713 "ColorTransformation.c" + } else { + PixelFormat _tmp16_ = 0; + PixelTransformation* _tmp18_ = NULL; + HSVAnalyticPixel _tmp19_ = {0}; + HSVAnalyticPixel _tmp20_ = {0}; +#line 790 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = current_format; +#line 790 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp16_ == PIXEL_FORMAT_RGB) { +#line 6723 "ColorTransformation.c" + HSVAnalyticPixel _tmp17_ = {0}; +#line 791 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_to_hsv (&p_rgb, &_tmp17_); +#line 791 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_hsv = _tmp17_; +#line 792 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + current_format = PIXEL_FORMAT_HSV; +#line 6731 "ColorTransformation.c" + } +#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = trans; +#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = p_hsv; +#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_transform_pixel_hsv (_tmp18_, &_tmp19_, &_tmp20_); +#line 794 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_hsv = _tmp20_; +#line 6741 "ColorTransformation.c" + } +#line 781 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (trans); +#line 6745 "ColorTransformation.c" + } + } + } +#line 798 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = current_format; +#line 798 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp21_ == PIXEL_FORMAT_HSV) { +#line 6753 "ColorTransformation.c" + RGBAnalyticPixel _tmp22_ = {0}; +#line 799 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_to_rgb (&p_hsv, &_tmp22_); +#line 799 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + p_rgb = _tmp22_; +#line 6759 "ColorTransformation.c" + } +#line 801 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = p_rgb; +#line 801 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 6765 "ColorTransformation.c" +} + + +void pixel_transformer_attach_transformation (PixelTransformer* self, PixelTransformation* trans) { + GeeArrayList* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; +#line 807 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 807 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (trans)); +#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->transformations; +#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = trans; +#line 808 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = NULL; +#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = 0; +#line 809 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 6790 "ColorTransformation.c" +} + + +void pixel_transformer_detach_transformation (PixelTransformer* self, PixelTransformation* victim) { + GeeArrayList* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; +#line 814 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 814 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (victim)); +#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->transformations; +#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = victim; +#line 815 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = NULL; +#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = 0; +#line 816 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 6815 "ColorTransformation.c" +} + + +void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans) { +#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (old_trans)); +#line 821 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (new_trans)); +#line 6826 "ColorTransformation.c" + { + gint i = 0; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 6831 "ColorTransformation.c" + { + gboolean _tmp0_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = TRUE; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 6838 "ColorTransformation.c" + gint _tmp2_ = 0; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GeeArrayList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gpointer _tmp8_ = NULL; + PixelTransformation* _tmp9_ = NULL; + PixelTransformation* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp0_) { +#line 6851 "ColorTransformation.c" + gint _tmp1_ = 0; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = i; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp1_ + 1; +#line 6857 "ColorTransformation.c" + } +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->transformations; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_; +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp2_ < _tmp5_)) { +#line 823 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 6873 "ColorTransformation.c" + } +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = self->priv->transformations; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = i; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp7_); +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = (PixelTransformation*) _tmp8_; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = old_trans; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp9_ == _tmp10_; +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp9_); +#line 824 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp11_) { +#line 6891 "ColorTransformation.c" + GeeArrayList* _tmp12_ = NULL; + gint _tmp13_ = 0; + PixelTransformation* _tmp14_ = NULL; +#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = self->priv->transformations; +#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = i; +#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = new_trans; +#line 825 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + gee_abstract_list_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp13_, _tmp14_); +#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = NULL; +#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = 0; +#line 827 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 828 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 6913 "ColorTransformation.c" + } + } + } + } +#line 831 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:831: %s", "PixelTransformer: replace_transformation( ): old_trans is not present " \ +"in " "transformation collection"); +#line 6920 "ColorTransformation.c" +} + + +void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; +#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 835 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixbuf; +#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixbuf; +#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = cancellable; +#line 836 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_transform_to_other_pixbuf (self, _tmp0_, _tmp1_, _tmp2_); +#line 6942 "ColorTransformation.c" +} + + +void pixel_transformer_transform_from_fp (PixelTransformer* self, gfloat** fp_pixel_cache, int* fp_pixel_cache_length1, GdkPixbuf* dest) { + PixelTransformation** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint dest_width = 0; + GdkPixbuf* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint dest_height = 0; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint dest_num_channels = 0; + GdkPixbuf* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint dest_rowstride = 0; + GdkPixbuf* _tmp7_ = NULL; + gint _tmp8_ = 0; + guchar* dest_pixels = NULL; + GdkPixbuf* _tmp9_ = NULL; + guint8* _tmp10_ = NULL; + gint dest_pixels_length1 = 0; + gint _dest_pixels_size_ = 0; + gint cache_pixel_ticker = 0; +#line 839 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 839 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (GDK_IS_PIXBUF (dest)); +#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->optimized_transformations; +#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = self->priv->optimized_transformations_length1; +#line 840 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ == NULL) { +#line 841 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_build_optimized_transformations (self); +#line 6979 "ColorTransformation.c" + } +#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = dest; +#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = gdk_pixbuf_get_width (_tmp1_); +#line 843 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_width = _tmp2_; +#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = dest; +#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gdk_pixbuf_get_height (_tmp3_); +#line 844 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_height = _tmp4_; +#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = dest; +#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = gdk_pixbuf_get_n_channels (_tmp5_); +#line 845 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_num_channels = _tmp6_; +#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = dest; +#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = gdk_pixbuf_get_rowstride (_tmp7_); +#line 846 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_rowstride = _tmp8_; +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = dest; +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = gdk_pixbuf_get_pixels (_tmp9_); +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_pixels = _tmp10_; +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_pixels_length1 = -1; +#line 847 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _dest_pixels_size_ = dest_pixels_length1; +#line 849 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + cache_pixel_ticker = 0; +#line 7017 "ColorTransformation.c" + { + gint j = 0; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = 0; +#line 7022 "ColorTransformation.c" + { + gboolean _tmp11_ = FALSE; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = TRUE; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7029 "ColorTransformation.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint row_start_index = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint row_end_index = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp11_) { +#line 7041 "ColorTransformation.c" + gint _tmp12_ = 0; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = j; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = _tmp12_ + 1; +#line 7047 "ColorTransformation.c" + } +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = FALSE; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = j; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = dest_height; +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 851 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 7059 "ColorTransformation.c" + } +#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = j; +#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = dest_rowstride; +#line 852 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_start_index = _tmp15_ * _tmp16_; +#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = row_start_index; +#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = dest_width; +#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = dest_num_channels; +#line 853 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_end_index = _tmp17_ + (_tmp18_ * _tmp19_); +#line 7075 "ColorTransformation.c" + { + gint i = 0; + gint _tmp20_ = 0; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = row_start_index; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp20_; +#line 7083 "ColorTransformation.c" + { + gboolean _tmp21_ = FALSE; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = TRUE; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7090 "ColorTransformation.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; + RGBAnalyticPixel pixel = {0}; + gfloat* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + gfloat _tmp28_ = 0.0F; + gfloat* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + gfloat _tmp31_ = 0.0F; + gfloat* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + gfloat _tmp34_ = 0.0F; + gint _tmp35_ = 0; + RGBAnalyticPixel _tmp36_ = {0}; + RGBAnalyticPixel _tmp37_ = {0}; + guchar* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; + RGBAnalyticPixel _tmp40_ = {0}; + gfloat _tmp41_ = 0.0F; + guchar _tmp42_ = '\0'; + guchar* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint _tmp44_ = 0; + RGBAnalyticPixel _tmp45_ = {0}; + gfloat _tmp46_ = 0.0F; + guchar _tmp47_ = '\0'; + guchar* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gint _tmp49_ = 0; + RGBAnalyticPixel _tmp50_ = {0}; + gfloat _tmp51_ = 0.0F; + guchar _tmp52_ = '\0'; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp21_) { +#line 7129 "ColorTransformation.c" + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = i; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = dest_num_channels; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp22_ + _tmp23_; +#line 7138 "ColorTransformation.c" + } +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = FALSE; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = i; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = row_end_index; +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp24_ < _tmp25_)) { +#line 854 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 7150 "ColorTransformation.c" + } +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = *fp_pixel_cache; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = *fp_pixel_cache_length1; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = cache_pixel_ticker; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = _tmp26_[_tmp27_]; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = *fp_pixel_cache; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29__length1 = *fp_pixel_cache_length1; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = cache_pixel_ticker; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp29_[_tmp30_ + 1]; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = *fp_pixel_cache; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32__length1 = *fp_pixel_cache_length1; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = cache_pixel_ticker; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp32_[_tmp33_ + 2]; +#line 855 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init_from_components (&pixel, _tmp28_, _tmp31_, _tmp34_); +#line 860 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = cache_pixel_ticker; +#line 860 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + cache_pixel_ticker = _tmp35_ + 3; +#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = pixel; +#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_apply_transformations (self, &_tmp36_, &_tmp37_); +#line 862 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel = _tmp37_; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = dest_pixels; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38__length1 = dest_pixels_length1; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = i; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = pixel; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = _tmp40_.red; +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_[_tmp39_] = (guchar) (_tmp41_ * 255.0f); +#line 864 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp38_[_tmp39_]; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = dest_pixels; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43__length1 = dest_pixels_length1; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = i; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = pixel; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = _tmp45_.green; +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_[_tmp44_ + 1] = (guchar) (_tmp46_ * 255.0f); +#line 865 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp43_[_tmp44_ + 1]; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = dest_pixels; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48__length1 = dest_pixels_length1; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = i; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = pixel; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp50_.blue; +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_[_tmp49_ + 2] = (guchar) (_tmp51_ * 255.0f); +#line 866 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _tmp48_[_tmp49_ + 2]; +#line 7230 "ColorTransformation.c" + } + } + } + } + } + } +} + + +void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable) { + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GdkPixbuf* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GdkPixbuf* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + GdkPixbuf* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + PixelTransformation** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint n_channels = 0; + GdkPixbuf* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint rowstride = 0; + GdkPixbuf* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint width = 0; + GdkPixbuf* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint height = 0; + GdkPixbuf* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint rowbytes = 0; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + guchar* source_pixels = NULL; + GdkPixbuf* _tmp29_ = NULL; + guint8* _tmp30_ = NULL; + gint source_pixels_length1 = 0; + gint _source_pixels_size_ = 0; + guchar* dest_pixels = NULL; + GdkPixbuf* _tmp31_ = NULL; + guint8* _tmp32_ = NULL; + gint dest_pixels_length1 = 0; + gint _dest_pixels_size_ = 0; +#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMER (self)); +#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (GDK_IS_PIXBUF (source)); +#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (GDK_IS_PIXBUF (dest)); +#line 871 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = source; +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gdk_pixbuf_get_width (_tmp0_); +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = _tmp1_; +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = dest; +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gdk_pixbuf_get_width (_tmp3_); +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_; +#line 873 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != _tmp5_) { +#line 874 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:874: PixelTransformer: source and destination" \ +" pixbufs must have the same width"); +#line 7310 "ColorTransformation.c" + } +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = source; +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = gdk_pixbuf_get_height (_tmp6_); +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _tmp7_; +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = dest; +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = gdk_pixbuf_get_height (_tmp9_); +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_; +#line 876 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp8_ != _tmp11_) { +#line 877 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:877: PixelTransformer: source and destination" \ +" pixbufs must have the same height"); +#line 7328 "ColorTransformation.c" + } +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = source; +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = gdk_pixbuf_get_n_channels (_tmp12_); +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = _tmp13_; +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = dest; +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = gdk_pixbuf_get_n_channels (_tmp15_); +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp16_; +#line 879 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp14_ != _tmp17_) { +#line 880 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_error ("ColorTransformation.vala:880: %s", "PixelTransformer: source and destination pixbufs must have the same nu" \ +"mber " "of channels"); +#line 7346 "ColorTransformation.c" + } +#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = self->priv->optimized_transformations; +#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = self->priv->optimized_transformations_length1; +#line 883 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp18_ == NULL) { +#line 884 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_build_optimized_transformations (self); +#line 7356 "ColorTransformation.c" + } +#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = source; +#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = gdk_pixbuf_get_n_channels (_tmp19_); +#line 886 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + n_channels = _tmp20_; +#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = source; +#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = gdk_pixbuf_get_rowstride (_tmp21_); +#line 887 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowstride = _tmp22_; +#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = source; +#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = gdk_pixbuf_get_width (_tmp23_); +#line 888 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + width = _tmp24_; +#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = source; +#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = gdk_pixbuf_get_height (_tmp25_); +#line 889 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + height = _tmp26_; +#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = n_channels; +#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = width; +#line 890 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowbytes = _tmp27_ * _tmp28_; +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = source; +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = gdk_pixbuf_get_pixels (_tmp29_); +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + source_pixels = _tmp30_; +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + source_pixels_length1 = -1; +#line 891 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _source_pixels_size_ = source_pixels_length1; +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = dest; +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = gdk_pixbuf_get_pixels (_tmp31_); +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_pixels = _tmp32_; +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_pixels_length1 = -1; +#line 892 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _dest_pixels_size_ = dest_pixels_length1; +#line 7408 "ColorTransformation.c" + { + gint j = 0; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = 0; +#line 7413 "ColorTransformation.c" + { + gboolean _tmp33_ = FALSE; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = TRUE; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7420 "ColorTransformation.c" + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gint row_start_index = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint row_end_index = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gboolean _tmp70_ = FALSE; + GCancellable* _tmp71_ = NULL; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp33_) { +#line 7433 "ColorTransformation.c" + gint _tmp34_ = 0; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = j; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = _tmp34_ + 1; +#line 7439 "ColorTransformation.c" + } +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = FALSE; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = j; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = height; +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp35_ < _tmp36_)) { +#line 893 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 7451 "ColorTransformation.c" + } +#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = j; +#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = rowstride; +#line 894 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_start_index = _tmp37_ * _tmp38_; +#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = row_start_index; +#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = rowbytes; +#line 895 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_end_index = _tmp39_ + _tmp40_; +#line 7465 "ColorTransformation.c" + { + gint i = 0; + gint _tmp41_ = 0; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = row_start_index; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp41_; +#line 7473 "ColorTransformation.c" + { + gboolean _tmp42_ = FALSE; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = TRUE; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7480 "ColorTransformation.c" + gint _tmp45_ = 0; + gint _tmp46_ = 0; + RGBAnalyticPixel current_pixel = {0}; + guchar* _tmp47_ = NULL; + gint _tmp47__length1 = 0; + gint _tmp48_ = 0; + guchar _tmp49_ = '\0'; + guchar* _tmp50_ = NULL; + gint _tmp50__length1 = 0; + gint _tmp51_ = 0; + guchar _tmp52_ = '\0'; + guchar* _tmp53_ = NULL; + gint _tmp53__length1 = 0; + gint _tmp54_ = 0; + guchar _tmp55_ = '\0'; + RGBAnalyticPixel _tmp56_ = {0}; + RGBAnalyticPixel _tmp57_ = {0}; + guchar* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + guchar _tmp60_ = '\0'; + guchar _tmp61_ = '\0'; + guchar* _tmp62_ = NULL; + gint _tmp62__length1 = 0; + gint _tmp63_ = 0; + guchar _tmp64_ = '\0'; + guchar _tmp65_ = '\0'; + guchar* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + gint _tmp67_ = 0; + guchar _tmp68_ = '\0'; + guchar _tmp69_ = '\0'; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp42_) { +#line 7515 "ColorTransformation.c" + gint _tmp43_ = 0; + gint _tmp44_ = 0; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = i; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = n_channels; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp43_ + _tmp44_; +#line 7524 "ColorTransformation.c" + } +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = FALSE; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = i; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = row_end_index; +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp45_ < _tmp46_)) { +#line 896 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 7536 "ColorTransformation.c" + } +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = source_pixels; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47__length1 = source_pixels_length1; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = i; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = _tmp47_[_tmp48_]; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = source_pixels; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50__length1 = source_pixels_length1; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = i; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _tmp50_[_tmp51_ + 1]; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = source_pixels; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53__length1 = source_pixels_length1; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = i; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = _tmp53_[_tmp54_ + 2]; +#line 897 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init_from_quantized_components (¤t_pixel, _tmp49_, _tmp52_, _tmp55_); +#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = current_pixel; +#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_apply_transformations (self, &_tmp56_, &_tmp57_); +#line 900 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + current_pixel = _tmp57_; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = dest_pixels; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = dest_pixels_length1; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = i; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = rgb_analytic_pixel_quantized_red (¤t_pixel); +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_[_tmp59_] = _tmp60_; +#line 902 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = _tmp58_[_tmp59_]; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = dest_pixels; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62__length1 = dest_pixels_length1; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = i; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = rgb_analytic_pixel_quantized_green (¤t_pixel); +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_[_tmp63_ + 1] = _tmp64_; +#line 903 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = _tmp62_[_tmp63_ + 1]; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = dest_pixels; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66__length1 = dest_pixels_length1; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = i; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = rgb_analytic_pixel_quantized_blue (¤t_pixel); +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_[_tmp67_ + 2] = _tmp68_; +#line 904 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = _tmp66_[_tmp67_ + 2]; +#line 7606 "ColorTransformation.c" + } + } + } +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = cancellable; +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp71_ != NULL) { +#line 7614 "ColorTransformation.c" + GCancellable* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = cancellable; +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = g_cancellable_is_cancelled (_tmp72_); +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = _tmp73_; +#line 7623 "ColorTransformation.c" + } else { +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = FALSE; +#line 7627 "ColorTransformation.c" + } +#line 907 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp70_) { +#line 908 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 7633 "ColorTransformation.c" + } + } + } + } +} + + +static void value_pixel_transformer_init (GValue* value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 7644 "ColorTransformation.c" +} + + +static void value_pixel_transformer_free_value (GValue* value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_unref (value->data[0].v_pointer); +#line 7653 "ColorTransformation.c" + } +} + + +static void value_pixel_transformer_copy_value (const GValue* src_value, GValue* dest_value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = pixel_transformer_ref (src_value->data[0].v_pointer); +#line 7663 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 7667 "ColorTransformation.c" + } +} + + +static gpointer value_pixel_transformer_peek_pointer (const GValue* value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 7675 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 7682 "ColorTransformation.c" + PixelTransformer* object; + object = collect_values[0].v_pointer; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7689 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7693 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = pixel_transformer_ref (object); +#line 7697 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 7701 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 7705 "ColorTransformation.c" +} + + +static gchar* value_pixel_transformer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PixelTransformer** object_p; + object_p = collect_values[0].v_pointer; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 7716 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 7722 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 7726 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = pixel_transformer_ref (value->data[0].v_pointer); +#line 7730 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 7734 "ColorTransformation.c" +} + + +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPixelTransformer* spec; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PIXEL_TRANSFORMER), NULL); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 7748 "ColorTransformation.c" +} + + +gpointer value_get_pixel_transformer (const GValue* value) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER), NULL); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 7757 "ColorTransformation.c" +} + + +void value_set_pixel_transformer (GValue* value, gpointer v_object) { + PixelTransformer* old; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER)); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMER)); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_ref (value->data[0].v_pointer); +#line 7777 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 7781 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_unref (old); +#line 7787 "ColorTransformation.c" + } +} + + +void value_take_pixel_transformer (GValue* value, gpointer v_object) { + PixelTransformer* old; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PIXEL_TRANSFORMER)); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PIXEL_TRANSFORMER)); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 7806 "ColorTransformation.c" + } else { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 7810 "ColorTransformation.c" + } +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_unref (old); +#line 7816 "ColorTransformation.c" + } +} + + +static void pixel_transformer_class_init (PixelTransformerClass * klass) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformer_parent_class = g_type_class_peek_parent (klass); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformerClass *) klass)->finalize = pixel_transformer_finalize; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (PixelTransformerPrivate)); +#line 7828 "ColorTransformation.c" +} + + +static void pixel_transformer_instance_init (PixelTransformer * self) { + GeeArrayList* _tmp0_ = NULL; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = PIXEL_TRANSFORMER_GET_PRIVATE (self); +#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = gee_array_list_new (TYPE_PIXEL_TRANSFORMATION, (GBoxedCopyFunc) pixel_transformation_ref, pixel_transformation_unref, NULL, NULL, NULL); +#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->transformations = _tmp0_; +#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = NULL; +#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations_length1 = 0; +#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_optimized_transformations_size_ = self->priv->optimized_transformations_length1; +#line 735 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_slots_used = 0; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 7850 "ColorTransformation.c" +} + + +static void pixel_transformer_finalize (PixelTransformer* obj) { + PixelTransformer * self; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXEL_TRANSFORMER, PixelTransformer); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 732 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (self->priv->transformations); +#line 734 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->optimized_transformations = (_vala_array_free (self->priv->optimized_transformations, self->priv->optimized_transformations_length1, (GDestroyNotify) pixel_transformation_unref), NULL); +#line 7864 "ColorTransformation.c" +} + + +GType pixel_transformer_get_type (void) { + static volatile gsize pixel_transformer_type_id__volatile = 0; + if (g_once_init_enter (&pixel_transformer_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_pixel_transformer_init, value_pixel_transformer_free_value, value_pixel_transformer_copy_value, value_pixel_transformer_peek_pointer, "p", value_pixel_transformer_collect_value, "p", value_pixel_transformer_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PixelTransformerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixel_transformer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixelTransformer), 0, (GInstanceInitFunc) pixel_transformer_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType pixel_transformer_type_id; + pixel_transformer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PixelTransformer", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&pixel_transformer_type_id__volatile, pixel_transformer_type_id); + } + return pixel_transformer_type_id__volatile; +} + + +gpointer pixel_transformer_ref (gpointer instance) { + PixelTransformer* self; + self = instance; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 7889 "ColorTransformation.c" +} + + +void pixel_transformer_unref (gpointer instance) { + PixelTransformer* self; + self = instance; +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMER_GET_CLASS (self)->finalize (self); +#line 731 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 7902 "ColorTransformation.c" + } +} + + +RGBHistogram* rgb_histogram_construct (GType object_type, GdkPixbuf* pixbuf) { + RGBHistogram* self = NULL; + gint sample_bytes = 0; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint pixel_bytes = 0; + gint _tmp2_ = 0; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint row_length_bytes = 0; + gint _tmp5_ = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + guchar* pixel_data = NULL; + GdkPixbuf* _tmp9_ = NULL; + guint8* _tmp10_ = NULL; + gint pixel_data_length1 = 0; + gint _pixel_data_size_ = 0; +#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (RGBHistogram*) g_type_create_instance (object_type); +#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixbuf; +#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gdk_pixbuf_get_bits_per_sample (_tmp0_); +#line 931 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + sample_bytes = _tmp1_ / 8; +#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = sample_bytes; +#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = pixbuf; +#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = gdk_pixbuf_get_n_channels (_tmp3_); +#line 932 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_bytes = _tmp2_ * _tmp4_; +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = pixel_bytes; +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = pixbuf; +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = gdk_pixbuf_get_width (_tmp6_); +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _tmp7_; +#line 933 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_length_bytes = _tmp5_ * _tmp8_; +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = pixbuf; +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = gdk_pixbuf_get_pixels (_tmp9_); +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_data = _tmp10_; +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_data_length1 = -1; +#line 935 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_data_size_ = pixel_data_length1; +#line 7964 "ColorTransformation.c" + { + gint y = 0; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = 0; +#line 7969 "ColorTransformation.c" + { + gboolean _tmp11_ = FALSE; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = TRUE; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 7976 "ColorTransformation.c" + gint _tmp13_ = 0; + GdkPixbuf* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint row_start_offset = 0; + gint _tmp17_ = 0; + GdkPixbuf* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint r_offset = 0; + gint _tmp21_ = 0; + gint g_offset = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint b_offset = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp11_) { +#line 7997 "ColorTransformation.c" + gint _tmp12_ = 0; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = y; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = _tmp12_ + 1; +#line 8003 "ColorTransformation.c" + } +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = FALSE; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = y; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = pixbuf; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = gdk_pixbuf_get_height (_tmp14_); +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = _tmp15_; +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp13_ < _tmp16_)) { +#line 937 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 8019 "ColorTransformation.c" + } +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = y; +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = pixbuf; +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = gdk_pixbuf_get_rowstride (_tmp18_); +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp19_; +#line 938 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_start_offset = _tmp17_ * _tmp20_; +#line 940 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = row_start_offset; +#line 940 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + r_offset = _tmp21_; +#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = row_start_offset; +#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = sample_bytes; +#line 941 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_offset = _tmp22_ + _tmp23_; +#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = row_start_offset; +#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = sample_bytes; +#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = sample_bytes; +#line 942 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + b_offset = (_tmp24_ + _tmp25_) + _tmp26_; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 8051 "ColorTransformation.c" + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + guchar* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint _tmp32_ = 0; + guchar _tmp33_ = '\0'; + gint _tmp34_ = 0; + gint* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + guchar* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + guchar _tmp38_ = '\0'; + gint _tmp39_ = 0; + gint* _tmp40_ = NULL; + gint _tmp40__length1 = 0; + guchar* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gint _tmp42_ = 0; + guchar _tmp43_ = '\0'; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + gint _tmp49_ = 0; + gint _tmp50_ = 0; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = b_offset; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = row_start_offset; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = row_length_bytes; +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp27_ < (_tmp28_ + _tmp29_))) { +#line 944 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 8092 "ColorTransformation.c" + } +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = self->priv->red_counts; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30__length1 = self->priv->red_counts_length1; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = pixel_data; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31__length1 = pixel_data_length1; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = r_offset; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = _tmp31_[_tmp32_]; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_[_tmp33_] += 1; +#line 945 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp30_[_tmp33_]; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = self->priv->green_counts; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35__length1 = self->priv->green_counts_length1; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = pixel_data; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36__length1 = pixel_data_length1; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = g_offset; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _tmp36_[_tmp37_]; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_[_tmp38_] += 1; +#line 946 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp35_[_tmp38_]; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = self->priv->blue_counts; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40__length1 = self->priv->blue_counts_length1; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = pixel_data; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41__length1 = pixel_data_length1; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = b_offset; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = _tmp41_[_tmp42_]; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_[_tmp43_] += 1; +#line 947 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = _tmp40_[_tmp43_]; +#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = r_offset; +#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = pixel_bytes; +#line 949 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + r_offset = _tmp45_ + _tmp46_; +#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = g_offset; +#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = pixel_bytes; +#line 950 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_offset = _tmp47_ + _tmp48_; +#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = b_offset; +#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = pixel_bytes; +#line 951 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + b_offset = _tmp49_ + _tmp50_; +#line 8160 "ColorTransformation.c" + } + } + } + } +#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 8167 "ColorTransformation.c" +} + + +RGBHistogram* rgb_histogram_new (GdkPixbuf* pixbuf) { +#line 930 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return rgb_histogram_construct (TYPE_RGB_HISTOGRAM, pixbuf); +#line 8174 "ColorTransformation.c" +} + + +static gint rgb_histogram_correct_snap_to_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i) { + gint result = 0; + gint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + gint _tmp4_ = 0; + gint* _tmp54_ = NULL; + gint _tmp54__length1 = 0; + gint _tmp55_ = 0; + gint _tmp56_ = 0; +#line 956 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM (self), 0); +#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = buckets; +#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = buckets_length1; +#line 957 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp0__length1 == 256, "buckets.length == 256"); +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ >= 0) { +#line 8201 "ColorTransformation.c" + gint _tmp3_ = 0; +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp3_ <= 255; +#line 8207 "ColorTransformation.c" + } else { +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 8211 "ColorTransformation.c" + } +#line 958 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp1_, "(i >= 0) && (i <= 255)"); +#line 960 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = i; +#line 960 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp4_ == 0) { +#line 8219 "ColorTransformation.c" + gint* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = buckets; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = buckets_length1; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = i; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 961 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp7_ > 0) { +#line 8234 "ColorTransformation.c" + gint* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = buckets; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = buckets_length1; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[_tmp9_ + 1]; +#line 962 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp10_ > 0) { +#line 8249 "ColorTransformation.c" + gint* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = buckets; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11__length1 = buckets_length1; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = i; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp11_[_tmp12_]; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = buckets; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = buckets_length1; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = i; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = _tmp14_[_tmp15_ + 1]; +#line 963 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp13_ > (2 * _tmp16_)) { +#line 8276 "ColorTransformation.c" + gint* _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = buckets; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17__length1 = buckets_length1; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = i; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = _tmp17_[_tmp18_ + 1]; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp19_; +#line 964 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8293 "ColorTransformation.c" + } + } + } + } else { + gint _tmp20_ = 0; +#line 965 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = i; +#line 965 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp20_ == 255) { +#line 8303 "ColorTransformation.c" + gint* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = buckets; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21__length1 = buckets_length1; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = i; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp21_[_tmp22_]; +#line 966 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp23_ > 0) { +#line 8318 "ColorTransformation.c" + gint* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = buckets; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24__length1 = buckets_length1; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = i; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp24_[_tmp25_ - 1]; +#line 967 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp26_ > 0) { +#line 8333 "ColorTransformation.c" + gint* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = buckets; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27__length1 = buckets_length1; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = i; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp27_[_tmp28_]; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = buckets; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30__length1 = buckets_length1; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = i; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = _tmp30_[_tmp31_ - 1]; +#line 968 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp29_ > (2 * _tmp32_)) { +#line 8360 "ColorTransformation.c" + gint* _tmp33_ = NULL; + gint _tmp33__length1 = 0; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = buckets; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33__length1 = buckets_length1; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = i; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _tmp33_[_tmp34_ - 1]; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp35_; +#line 969 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8377 "ColorTransformation.c" + } + } + } + } else { + gint* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = buckets; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36__length1 = buckets_length1; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = i; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _tmp36_[_tmp37_]; +#line 971 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp38_ > 0) { +#line 8396 "ColorTransformation.c" + gint* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gint* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + gint* _tmp45_ = NULL; + gint _tmp45__length1 = 0; + gint _tmp46_ = 0; + gint _tmp47_ = 0; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = buckets; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39__length1 = buckets_length1; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = i; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = _tmp39_[_tmp40_]; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = buckets; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42__length1 = buckets_length1; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = i; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = _tmp42_[_tmp43_ - 1]; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = buckets; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45__length1 = buckets_length1; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = i; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp45_[_tmp46_ + 1]; +#line 972 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp41_ > ((_tmp44_ + _tmp47_) / 2)) { +#line 8435 "ColorTransformation.c" + gint* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + gint* _tmp51_ = NULL; + gint _tmp51__length1 = 0; + gint _tmp52_ = 0; + gint _tmp53_ = 0; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = buckets; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48__length1 = buckets_length1; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = i; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = _tmp48_[_tmp49_ - 1]; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = buckets; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51__length1 = buckets_length1; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = i; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = _tmp51_[_tmp52_ + 1]; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (_tmp50_ + _tmp53_) / 2; +#line 973 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8464 "ColorTransformation.c" + } + } + } + } +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = buckets; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54__length1 = buckets_length1; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = i; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = _tmp54_[_tmp55_]; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp56_; +#line 976 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8481 "ColorTransformation.c" +} + + +static gint rgb_histogram_correct_snap_from_quantization (RGBHistogram* self, gint* buckets, int buckets_length1, gint i) { + gint result = 0; + gint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + gint _tmp4_ = 0; + gint* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 979 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM (self), 0); +#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = buckets; +#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = buckets_length1; +#line 980 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp0__length1 == 256, "buckets.length == 256"); +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ >= 0) { +#line 8508 "ColorTransformation.c" + gint _tmp3_ = 0; +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp3_ <= 255; +#line 8514 "ColorTransformation.c" + } else { +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 8518 "ColorTransformation.c" + } +#line 981 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp1_, "(i >= 0) && (i <= 255)"); +#line 983 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = i; +#line 983 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp4_ == 0) { +#line 8526 "ColorTransformation.c" + gint* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = buckets; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5__length1 = buckets_length1; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = i; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp7_; +#line 984 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8543 "ColorTransformation.c" + } else { + gint _tmp8_ = 0; +#line 985 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = i; +#line 985 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp8_ == 255) { +#line 8550 "ColorTransformation.c" + gint* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = buckets; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9__length1 = buckets_length1; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = i; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp9_[_tmp10_]; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp11_; +#line 986 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8567 "ColorTransformation.c" + } else { + gint* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = buckets; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12__length1 = buckets_length1; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = i; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = _tmp12_[_tmp13_]; +#line 988 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp14_ == 0) { +#line 8583 "ColorTransformation.c" + gint* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = buckets; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15__length1 = buckets_length1; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = i; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp15_[_tmp16_ - 1]; +#line 989 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp17_ > 0) { +#line 8598 "ColorTransformation.c" + gint* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = buckets; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = buckets_length1; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = i; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp18_[_tmp19_ + 1]; +#line 990 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp20_ > 0) { +#line 8613 "ColorTransformation.c" + gint* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = buckets; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21__length1 = buckets_length1; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = i; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp21_[_tmp22_ - 1]; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = buckets; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24__length1 = buckets_length1; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = i; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = _tmp24_[_tmp25_ + 1]; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = (_tmp23_ + _tmp26_) / 2; +#line 991 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8642 "ColorTransformation.c" + } + } + } + } + } +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = buckets; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27__length1 = buckets_length1; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = i; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp27_[_tmp28_]; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp29_; +#line 994 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 8660 "ColorTransformation.c" +} + + +static void rgb_histogram_smooth_extrema (RGBHistogram* self, gint** count_data, int* count_data_length1) { + gint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gint* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + gint* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gint _tmp5_ = 0; + gint* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + gint* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + gint* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + gint* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gint* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + gint* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + gint* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + gint* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + gint* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + gint* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gint _tmp35_ = 0; + gint* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gint _tmp37_ = 0; + gint* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; + gint* _tmp40_ = NULL; + gint _tmp40__length1 = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gint _tmp45_ = 0; + gint* _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gint _tmp47_ = 0; + gint* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gint _tmp49_ = 0; + gint* _tmp50_ = NULL; + gint _tmp50__length1 = 0; + gint _tmp51_ = 0; + gint* _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + gint* _tmp55_ = NULL; + gint _tmp55__length1 = 0; + gint* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gint _tmp57_ = 0; + gint* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + gint* _tmp60_ = NULL; + gint _tmp60__length1 = 0; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + gint* _tmp63_ = NULL; + gint _tmp63__length1 = 0; + gint* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gint _tmp65_ = 0; + gint* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + gint _tmp67_ = 0; + gint* _tmp68_ = NULL; + gint _tmp68__length1 = 0; + gint _tmp69_ = 0; + gint* _tmp70_ = NULL; + gint _tmp70__length1 = 0; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint* _tmp73_ = NULL; + gint _tmp73__length1 = 0; + gint* _tmp74_ = NULL; + gint _tmp74__length1 = 0; + gint _tmp75_ = 0; + gint* _tmp76_ = NULL; + gint _tmp76__length1 = 0; + gint _tmp77_ = 0; + gint* _tmp78_ = NULL; + gint _tmp78__length1 = 0; + gint _tmp79_ = 0; + gint* _tmp80_ = NULL; + gint _tmp80__length1 = 0; + gint _tmp81_ = 0; + gint* _tmp82_ = NULL; + gint _tmp82__length1 = 0; + gint _tmp83_ = 0; + gint _tmp84_ = 0; + gint* _tmp85_ = NULL; + gint _tmp85__length1 = 0; + gint* _tmp86_ = NULL; + gint _tmp86__length1 = 0; + gint _tmp87_ = 0; + gint* _tmp88_ = NULL; + gint _tmp88__length1 = 0; + gint _tmp89_ = 0; + gint* _tmp90_ = NULL; + gint _tmp90__length1 = 0; + gint _tmp91_ = 0; + gint* _tmp92_ = NULL; + gint _tmp92__length1 = 0; + gint _tmp93_ = 0; + gint* _tmp94_ = NULL; + gint _tmp94__length1 = 0; + gint _tmp95_ = 0; + gint _tmp96_ = 0; + gint* _tmp97_ = NULL; + gint _tmp97__length1 = 0; + gint* _tmp98_ = NULL; + gint _tmp98__length1 = 0; + gint _tmp99_ = 0; + gint* _tmp100_ = NULL; + gint _tmp100__length1 = 0; + gint _tmp101_ = 0; + gint* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + gint _tmp103_ = 0; + gint* _tmp104_ = NULL; + gint _tmp104__length1 = 0; + gint _tmp105_ = 0; + gint* _tmp106_ = NULL; + gint _tmp106__length1 = 0; + gint _tmp107_ = 0; + gint _tmp108_ = 0; +#line 997 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_RGB_HISTOGRAM (self)); +#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *count_data; +#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = *count_data_length1; +#line 998 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (_tmp0__length1 == 256, "count_data.length == 256"); +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = *count_data; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1__length1 = *count_data_length1; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *count_data; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2__length1 = *count_data_length1; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_[0]; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = *count_data; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4__length1 = *count_data_length1; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _tmp4_[1]; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = *count_data; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6__length1 = *count_data_length1; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = _tmp6_[2]; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_[0] = (((5 * _tmp3_) + (3 * _tmp5_)) + (2 * _tmp7_)) / 10; +#line 1004 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = _tmp1_[0]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = _tmp10_[0]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp12_[1]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = _tmp14_[2]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = *count_data; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16__length1 = *count_data_length1; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp16_[3]; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_[1] = ((((3 * _tmp11_) + (5 * _tmp13_)) + (3 * _tmp15_)) + (2 * _tmp17_)) / 13; +#line 1006 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = _tmp9_[1]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = _tmp20_[0]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = _tmp22_[1]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp24_[2]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = _tmp26_[3]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = *count_data; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28__length1 = *count_data_length1; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = _tmp28_[4]; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_[2] = (((((2 * _tmp21_) + (3 * _tmp23_)) + (5 * _tmp25_)) + (3 * _tmp27_)) + (2 * _tmp29_)) / 15; +#line 1008 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = _tmp19_[2]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = _tmp32_[1]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = _tmp34_[2]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_[3]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp38_[4]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = *count_data; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40__length1 = *count_data_length1; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = _tmp40_[5]; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_[3] = (((((2 * _tmp33_) + (3 * _tmp35_)) + (5 * _tmp37_)) + (3 * _tmp39_)) + (2 * _tmp41_)) / 15; +#line 1010 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp31_[3]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_[2]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp46_[3]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = _tmp48_[4]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp50_[5]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = *count_data; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52__length1 = *count_data_length1; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = _tmp52_[6]; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_[4] = (((((2 * _tmp45_) + (3 * _tmp47_)) + (5 * _tmp49_)) + (3 * _tmp51_)) + (2 * _tmp53_)) / 15; +#line 1012 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = _tmp43_[4]; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = *count_data; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55__length1 = *count_data_length1; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = *count_data; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56__length1 = *count_data_length1; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = _tmp56_[255]; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = *count_data; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = *count_data_length1; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = _tmp58_[254]; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = *count_data; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60__length1 = *count_data_length1; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = _tmp60_[253]; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_[255] = (((5 * _tmp57_) + (3 * _tmp59_)) + (2 * _tmp61_)) / 10; +#line 1015 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = _tmp55_[255]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = _tmp64_[255]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = _tmp66_[254]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = _tmp68_[253]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = *count_data; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70__length1 = *count_data_length1; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = _tmp70_[252]; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_[254] = ((((3 * _tmp65_) + (5 * _tmp67_)) + (3 * _tmp69_)) + (2 * _tmp71_)) / 13; +#line 1017 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = _tmp63_[254]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75_ = _tmp74_[255]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = _tmp76_[254]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp79_ = _tmp78_[253]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_ = _tmp80_[252]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82_ = *count_data; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82__length1 = *count_data_length1; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83_ = _tmp82_[251]; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_[253] = (((((2 * _tmp75_) + (3 * _tmp77_)) + (5 * _tmp79_)) + (3 * _tmp81_)) + (2 * _tmp83_)) / 15; +#line 1019 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_ = _tmp73_[253]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_ = _tmp86_[254]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = _tmp88_[253]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp91_ = _tmp90_[252]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_ = _tmp92_[251]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94_ = *count_data; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94__length1 = *count_data_length1; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95_ = _tmp94_[250]; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_[252] = (((((2 * _tmp87_) + (3 * _tmp89_)) + (5 * _tmp91_)) + (3 * _tmp93_)) + (2 * _tmp95_)) / 15; +#line 1021 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_ = _tmp85_[252]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp99_ = _tmp98_[253]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp101_ = _tmp100_[252]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp103_ = _tmp102_[251]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105_ = _tmp104_[250]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106_ = *count_data; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106__length1 = *count_data_length1; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = _tmp106_[249]; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_[251] = (((((2 * _tmp99_) + (3 * _tmp101_)) + (5 * _tmp103_)) + (3 * _tmp105_)) + (2 * _tmp107_)) / 15; +#line 1023 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108_ = _tmp97_[251]; +#line 9181 "ColorTransformation.c" +} + + +static void rgb_histogram_prepare_qualitative_counts (RGBHistogram* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gint* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint* _tmp5_ = NULL; + gint* _tmp6_ = NULL; + gint* _tmp7_ = NULL; + gint* temp_red_counts = NULL; + gint* _tmp8_ = NULL; + gint temp_red_counts_length1 = 0; + gint _temp_red_counts_size_ = 0; + gint* temp_green_counts = NULL; + gint* _tmp9_ = NULL; + gint temp_green_counts_length1 = 0; + gint _temp_green_counts_size_ = 0; + gint* temp_blue_counts = NULL; + gint* _tmp10_ = NULL; + gint temp_blue_counts_length1 = 0; + gint _temp_blue_counts_size_ = 0; + gint mean_qual_count = 0; + gint _tmp87_ = 0; + gint constrained_max_qual_count = 0; + gint _tmp88_ = 0; +#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_RGB_HISTOGRAM (self)); +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->qualitative_red_counts; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2__length1 = self->priv->qualitative_red_counts_length1; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp2_ != NULL) { +#line 9217 "ColorTransformation.c" + gint* _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->qualitative_green_counts; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3__length1 = self->priv->qualitative_green_counts_length1; +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp3_ != NULL; +#line 9226 "ColorTransformation.c" + } else { +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 9230 "ColorTransformation.c" + } +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_) { +#line 9234 "ColorTransformation.c" + gint* _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = self->priv->qualitative_blue_counts; +#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4__length1 = self->priv->qualitative_blue_counts_length1; +#line 1029 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = _tmp4_ != NULL; +#line 9243 "ColorTransformation.c" + } else { +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 9247 "ColorTransformation.c" + } +#line 1028 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_) { +#line 1030 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 9253 "ColorTransformation.c" + } +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = g_new0 (gint, 256); +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts = (g_free (self->priv->qualitative_red_counts), NULL); +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts = _tmp5_; +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts_length1 = 256; +#line 1032 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_red_counts_size_ = self->priv->qualitative_red_counts_length1; +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = g_new0 (gint, 256); +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts = (g_free (self->priv->qualitative_green_counts), NULL); +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts = _tmp6_; +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts_length1 = 256; +#line 1033 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_green_counts_size_ = self->priv->qualitative_green_counts_length1; +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = g_new0 (gint, 256); +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts = (g_free (self->priv->qualitative_blue_counts), NULL); +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts = _tmp7_; +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts_length1 = 256; +#line 1034 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_blue_counts_size_ = self->priv->qualitative_blue_counts_length1; +#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = g_new0 (gint, 256); +#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_red_counts = _tmp8_; +#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_red_counts_length1 = 256; +#line 1036 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _temp_red_counts_size_ = temp_red_counts_length1; +#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = g_new0 (gint, 256); +#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_green_counts = _tmp9_; +#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_green_counts_length1 = 256; +#line 1037 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _temp_green_counts_size_ = temp_green_counts_length1; +#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = g_new0 (gint, 256); +#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_blue_counts = _tmp10_; +#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_blue_counts_length1 = 256; +#line 1038 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _temp_blue_counts_size_ = temp_blue_counts_length1; +#line 9309 "ColorTransformation.c" + { + gint i = 0; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9314 "ColorTransformation.c" + { + gboolean _tmp11_ = FALSE; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = TRUE; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9321 "ColorTransformation.c" + gint _tmp13_ = 0; + gint* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + gint* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + gint* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + gint* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint _tmp31_ = 0; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp11_) { +#line 9349 "ColorTransformation.c" + gint _tmp12_ = 0; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = i; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp12_ + 1; +#line 9355 "ColorTransformation.c" + } +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = FALSE; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = i; +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp13_ < 256)) { +#line 1044 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9365 "ColorTransformation.c" + } +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = self->priv->qualitative_red_counts; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14__length1 = self->priv->qualitative_red_counts_length1; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = i; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = self->priv->red_counts; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16__length1 = self->priv->red_counts_length1; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = i; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = rgb_histogram_correct_snap_from_quantization (self, _tmp16_, _tmp16__length1, _tmp17_); +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_[_tmp15_] = _tmp18_; +#line 1045 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = _tmp14_[_tmp15_]; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = self->priv->qualitative_green_counts; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20__length1 = self->priv->qualitative_green_counts_length1; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = i; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = self->priv->green_counts; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = self->priv->green_counts_length1; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = i; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = rgb_histogram_correct_snap_from_quantization (self, _tmp22_, _tmp22__length1, _tmp23_); +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_[_tmp21_] = _tmp24_; +#line 1047 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp20_[_tmp21_]; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = self->priv->qualitative_blue_counts; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = self->priv->qualitative_blue_counts_length1; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = i; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = self->priv->blue_counts; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28__length1 = self->priv->blue_counts_length1; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = i; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = rgb_histogram_correct_snap_from_quantization (self, _tmp28_, _tmp28__length1, _tmp29_); +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_[_tmp27_] = _tmp30_; +#line 1049 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp26_[_tmp27_]; +#line 9421 "ColorTransformation.c" + } + } + } + { + gint i = 0; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9429 "ColorTransformation.c" + { + gboolean _tmp32_ = FALSE; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = TRUE; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9436 "ColorTransformation.c" + gint _tmp34_ = 0; + gint* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + gint _tmp36_ = 0; + gint* _tmp37_ = NULL; + gint _tmp37__length1 = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gint _tmp42_ = 0; + gint* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gint* _tmp47_ = NULL; + gint _tmp47__length1 = 0; + gint _tmp48_ = 0; + gint* _tmp49_ = NULL; + gint _tmp49__length1 = 0; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + gint _tmp52_ = 0; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp32_) { +#line 9464 "ColorTransformation.c" + gint _tmp33_ = 0; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = i; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp33_ + 1; +#line 9470 "ColorTransformation.c" + } +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = FALSE; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = i; +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp34_ < 256)) { +#line 1053 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9480 "ColorTransformation.c" + } +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = temp_red_counts; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35__length1 = temp_red_counts_length1; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = i; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = self->priv->qualitative_red_counts; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37__length1 = self->priv->qualitative_red_counts_length1; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = i; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = _tmp37_[_tmp38_]; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_[_tmp36_] = _tmp39_; +#line 1054 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = _tmp35_[_tmp36_]; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = temp_green_counts; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41__length1 = temp_green_counts_length1; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = i; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = self->priv->qualitative_green_counts; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43__length1 = self->priv->qualitative_green_counts_length1; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = i; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp43_[_tmp44_]; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_[_tmp42_] = _tmp45_; +#line 1055 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = _tmp41_[_tmp42_]; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = temp_blue_counts; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47__length1 = temp_blue_counts_length1; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = i; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = self->priv->qualitative_blue_counts; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49__length1 = self->priv->qualitative_blue_counts_length1; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = i; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp49_[_tmp50_]; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_[_tmp48_] = _tmp51_; +#line 1056 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _tmp47_[_tmp48_]; +#line 9536 "ColorTransformation.c" + } + } + } + { + gint i = 0; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9544 "ColorTransformation.c" + { + gboolean _tmp53_ = FALSE; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = TRUE; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9551 "ColorTransformation.c" + gint _tmp55_ = 0; + gint* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gint _tmp57_ = 0; + gint* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + gint* _tmp62_ = NULL; + gint _tmp62__length1 = 0; + gint _tmp63_ = 0; + gint* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint* _tmp68_ = NULL; + gint _tmp68__length1 = 0; + gint _tmp69_ = 0; + gint* _tmp70_ = NULL; + gint _tmp70__length1 = 0; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint _tmp73_ = 0; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp53_) { +#line 9579 "ColorTransformation.c" + gint _tmp54_ = 0; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = i; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp54_ + 1; +#line 9585 "ColorTransformation.c" + } +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = FALSE; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = i; +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp55_ < 256)) { +#line 1061 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9595 "ColorTransformation.c" + } +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = self->priv->qualitative_red_counts; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56__length1 = self->priv->qualitative_red_counts_length1; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = i; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = temp_red_counts; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = temp_red_counts_length1; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = i; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = rgb_histogram_correct_snap_to_quantization (self, _tmp58_, _tmp58__length1, _tmp59_); +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_[_tmp57_] = _tmp60_; +#line 1062 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = _tmp56_[_tmp57_]; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = self->priv->qualitative_green_counts; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62__length1 = self->priv->qualitative_green_counts_length1; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = i; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = temp_green_counts; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64__length1 = temp_green_counts_length1; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = i; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = rgb_histogram_correct_snap_to_quantization (self, _tmp64_, _tmp64__length1, _tmp65_); +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_[_tmp63_] = _tmp66_; +#line 1064 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = _tmp62_[_tmp63_]; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = self->priv->qualitative_blue_counts; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68__length1 = self->priv->qualitative_blue_counts_length1; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = i; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = temp_blue_counts; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70__length1 = temp_blue_counts_length1; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = i; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = rgb_histogram_correct_snap_to_quantization (self, _tmp70_, _tmp70__length1, _tmp71_); +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_[_tmp69_] = _tmp72_; +#line 1066 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = _tmp68_[_tmp69_]; +#line 9651 "ColorTransformation.c" + } + } + } +#line 1072 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + mean_qual_count = 0; +#line 9657 "ColorTransformation.c" + { + gint i = 0; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9662 "ColorTransformation.c" + { + gboolean _tmp74_ = FALSE; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = TRUE; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9669 "ColorTransformation.c" + gint _tmp76_ = 0; + gint _tmp77_ = 0; + gint* _tmp78_ = NULL; + gint _tmp78__length1 = 0; + gint _tmp79_ = 0; + gint _tmp80_ = 0; + gint* _tmp81_ = NULL; + gint _tmp81__length1 = 0; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + gint* _tmp84_ = NULL; + gint _tmp84__length1 = 0; + gint _tmp85_ = 0; + gint _tmp86_ = 0; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp74_) { +#line 9686 "ColorTransformation.c" + gint _tmp75_ = 0; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75_ = i; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp75_ + 1; +#line 9692 "ColorTransformation.c" + } +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = FALSE; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76_ = i; +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp76_ < 256)) { +#line 1073 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9702 "ColorTransformation.c" + } +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = mean_qual_count; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78_ = self->priv->qualitative_red_counts; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78__length1 = self->priv->qualitative_red_counts_length1; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp79_ = i; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80_ = _tmp78_[_tmp79_]; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_ = self->priv->qualitative_green_counts; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81__length1 = self->priv->qualitative_green_counts_length1; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82_ = i; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83_ = _tmp81_[_tmp82_]; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_ = self->priv->qualitative_blue_counts; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84__length1 = self->priv->qualitative_blue_counts_length1; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_ = i; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86_ = _tmp84_[_tmp85_]; +#line 1074 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + mean_qual_count = _tmp77_ + ((_tmp80_ + _tmp83_) + _tmp86_); +#line 9732 "ColorTransformation.c" + } + } + } +#line 1077 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_ = mean_qual_count; +#line 1077 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + mean_qual_count = _tmp87_ / (256 * 3); +#line 1078 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88_ = mean_qual_count; +#line 1078 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + constrained_max_qual_count = 8 * _tmp88_; +#line 9744 "ColorTransformation.c" + { + gint i = 0; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9749 "ColorTransformation.c" + { + gboolean _tmp89_ = FALSE; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = TRUE; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9756 "ColorTransformation.c" + gint _tmp91_ = 0; + gint* _tmp92_ = NULL; + gint _tmp92__length1 = 0; + gint _tmp93_ = 0; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + gint* _tmp100_ = NULL; + gint _tmp100__length1 = 0; + gint _tmp101_ = 0; + gint _tmp102_ = 0; + gint _tmp103_ = 0; + gint* _tmp108_ = NULL; + gint _tmp108__length1 = 0; + gint _tmp109_ = 0; + gint _tmp110_ = 0; + gint _tmp111_ = 0; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp89_) { +#line 9775 "ColorTransformation.c" + gint _tmp90_ = 0; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90_ = i; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp90_ + 1; +#line 9781 "ColorTransformation.c" + } +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = FALSE; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp91_ = i; +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp91_ < 256)) { +#line 1079 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9791 "ColorTransformation.c" + } +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_ = self->priv->qualitative_red_counts; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92__length1 = self->priv->qualitative_red_counts_length1; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_ = i; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94_ = _tmp92_[_tmp93_]; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95_ = constrained_max_qual_count; +#line 1080 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp94_ > _tmp95_) { +#line 9805 "ColorTransformation.c" + gint* _tmp96_ = NULL; + gint _tmp96__length1 = 0; + gint _tmp97_ = 0; + gint _tmp98_ = 0; + gint _tmp99_ = 0; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_ = self->priv->qualitative_red_counts; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96__length1 = self->priv->qualitative_red_counts_length1; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_ = i; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98_ = constrained_max_qual_count; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_[_tmp97_] = _tmp98_; +#line 1081 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp99_ = _tmp96_[_tmp97_]; +#line 9823 "ColorTransformation.c" + } +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100_ = self->priv->qualitative_green_counts; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100__length1 = self->priv->qualitative_green_counts_length1; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp101_ = i; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_ = _tmp100_[_tmp101_]; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp103_ = constrained_max_qual_count; +#line 1083 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp102_ > _tmp103_) { +#line 9837 "ColorTransformation.c" + gint* _tmp104_ = NULL; + gint _tmp104__length1 = 0; + gint _tmp105_ = 0; + gint _tmp106_ = 0; + gint _tmp107_ = 0; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_ = self->priv->qualitative_green_counts; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104__length1 = self->priv->qualitative_green_counts_length1; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105_ = i; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106_ = constrained_max_qual_count; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_[_tmp105_] = _tmp106_; +#line 1084 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = _tmp104_[_tmp105_]; +#line 9855 "ColorTransformation.c" + } +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108_ = self->priv->qualitative_blue_counts; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108__length1 = self->priv->qualitative_blue_counts_length1; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp109_ = i; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110_ = _tmp108_[_tmp109_]; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp111_ = constrained_max_qual_count; +#line 1086 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp110_ > _tmp111_) { +#line 9869 "ColorTransformation.c" + gint* _tmp112_ = NULL; + gint _tmp112__length1 = 0; + gint _tmp113_ = 0; + gint _tmp114_ = 0; + gint _tmp115_ = 0; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112_ = self->priv->qualitative_blue_counts; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112__length1 = self->priv->qualitative_blue_counts_length1; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113_ = i; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp114_ = constrained_max_qual_count; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112_[_tmp113_] = _tmp114_; +#line 1087 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115_ = _tmp112_[_tmp113_]; +#line 9887 "ColorTransformation.c" + } + } + } + } +#line 1090 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_smooth_extrema (self, &self->priv->qualitative_red_counts, &self->priv->qualitative_red_counts_length1); +#line 1091 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_smooth_extrema (self, &self->priv->qualitative_green_counts, &self->priv->qualitative_green_counts_length1); +#line 1092 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_smooth_extrema (self, &self->priv->qualitative_blue_counts, &self->priv->qualitative_blue_counts_length1); +#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_blue_counts = (g_free (temp_blue_counts), NULL); +#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_green_counts = (g_free (temp_green_counts), NULL); +#line 1027 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + temp_red_counts = (g_free (temp_red_counts), NULL); +#line 9904 "ColorTransformation.c" +} + + +GdkPixbuf* rgb_histogram_get_graphic (RGBHistogram* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp121_ = NULL; + GdkPixbuf* _tmp122_ = NULL; +#line 1095 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM (self), NULL); +#line 1096 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->graphic; +#line 1096 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ == NULL) { +#line 9919 "ColorTransformation.c" + gint max_count = 0; + GdkPixbuf* _tmp25_ = NULL; + gint rowstride = 0; + GdkPixbuf* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gint sample_bytes = 0; + GdkPixbuf* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint pixel_bytes = 0; + gint _tmp31_ = 0; + GdkPixbuf* _tmp32_ = NULL; + gint _tmp33_ = 0; + gdouble scale_bar = 0.0; + gint _tmp34_ = 0; + guchar* pixel_data = NULL; + GdkPixbuf* _tmp35_ = NULL; + guint8* _tmp36_ = NULL; + gint pixel_data_length1 = 0; + gint _pixel_data_size_ = 0; + gint _tmp37_ = 0; +#line 1097 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_prepare_qualitative_counts (self); +#line 1098 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_count = 0; +#line 9945 "ColorTransformation.c" + { + gint i = 0; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 9950 "ColorTransformation.c" + { + gboolean _tmp1_ = FALSE; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = TRUE; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 9957 "ColorTransformation.c" + gint _tmp3_ = 0; + gint* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp1_) { +#line 9976 "ColorTransformation.c" + gint _tmp2_ = 0; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = i; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp2_ + 1; +#line 9982 "ColorTransformation.c" + } +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = FALSE; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = i; +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp3_ < 256)) { +#line 1099 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 9992 "ColorTransformation.c" + } +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = self->priv->qualitative_red_counts; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4__length1 = self->priv->qualitative_red_counts_length1; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = i; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp4_[_tmp5_]; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = max_count; +#line 1100 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp6_ > _tmp7_) { +#line 10006 "ColorTransformation.c" + gint* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = self->priv->qualitative_red_counts; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8__length1 = self->priv->qualitative_red_counts_length1; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 1101 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_count = _tmp10_; +#line 10021 "ColorTransformation.c" + } +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = self->priv->qualitative_green_counts; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11__length1 = self->priv->qualitative_green_counts_length1; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = i; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = _tmp11_[_tmp12_]; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = max_count; +#line 1102 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp13_ > _tmp14_) { +#line 10035 "ColorTransformation.c" + gint* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = self->priv->qualitative_green_counts; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15__length1 = self->priv->qualitative_green_counts_length1; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = i; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = _tmp15_[_tmp16_]; +#line 1103 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_count = _tmp17_; +#line 10050 "ColorTransformation.c" + } +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = self->priv->qualitative_blue_counts; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18__length1 = self->priv->qualitative_blue_counts_length1; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = i; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp18_[_tmp19_]; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = max_count; +#line 1104 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp20_ > _tmp21_) { +#line 10064 "ColorTransformation.c" + gint* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = self->priv->qualitative_blue_counts; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22__length1 = self->priv->qualitative_blue_counts_length1; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = i; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = _tmp22_[_tmp23_]; +#line 1105 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_count = _tmp24_; +#line 10079 "ColorTransformation.c" + } + } + } + } +#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, RGB_HISTOGRAM_GRAPHIC_WIDTH, RGB_HISTOGRAM_GRAPHIC_HEIGHT); +#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (self->priv->graphic); +#line 1108 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->graphic = _tmp25_; +#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = self->priv->graphic; +#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = gdk_pixbuf_get_rowstride (_tmp26_); +#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = _tmp27_; +#line 1111 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowstride = _tmp28_; +#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = self->priv->graphic; +#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = gdk_pixbuf_get_bits_per_sample (_tmp29_); +#line 1112 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + sample_bytes = _tmp30_ / 8; +#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = sample_bytes; +#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = self->priv->graphic; +#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = gdk_pixbuf_get_n_channels (_tmp32_); +#line 1113 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_bytes = _tmp31_ * _tmp33_; +#line 1115 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = max_count; +#line 1115 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + scale_bar = (0.98 * ((gdouble) RGB_HISTOGRAM_GRAPHIC_HEIGHT)) / ((gdouble) _tmp34_); +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = self->priv->graphic; +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = gdk_pixbuf_get_pixels (_tmp35_); +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_data = _tmp36_; +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_data_length1 = -1; +#line 1118 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_data_size_ = pixel_data_length1; +#line 1122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = max_count; +#line 1122 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp37_ == 0) { +#line 10130 "ColorTransformation.c" + GdkPixbuf* _tmp51_ = NULL; + GdkPixbuf* _tmp52_ = NULL; + { + gint i = 0; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 10137 "ColorTransformation.c" + { + gboolean _tmp38_ = FALSE; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = TRUE; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10144 "ColorTransformation.c" + gint _tmp40_ = 0; + gint _tmp41_ = 0; + GdkPixbuf* _tmp42_ = NULL; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + GdkPixbuf* _tmp45_ = NULL; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + guchar* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + gint _tmp49_ = 0; + guchar _tmp50_ = '\0'; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp38_) { +#line 10159 "ColorTransformation.c" + gint _tmp39_ = 0; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = i; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp39_ + 1; +#line 10165 "ColorTransformation.c" + } +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = FALSE; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = i; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = pixel_bytes; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = self->priv->graphic; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = gdk_pixbuf_get_width (_tmp42_); +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = _tmp43_; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = self->priv->graphic; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = gdk_pixbuf_get_height (_tmp45_); +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = _tmp46_; +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp40_ < ((_tmp41_ * _tmp44_) * _tmp47_))) { +#line 1123 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 10189 "ColorTransformation.c" + } +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = pixel_data; +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48__length1 = pixel_data_length1; +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = i; +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_[_tmp49_] = RGB_HISTOGRAM_UNMARKED_BACKGROUND; +#line 1124 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = _tmp48_[_tmp49_]; +#line 10201 "ColorTransformation.c" + } + } + } +#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = self->priv->graphic; +#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = _g_object_ref0 (_tmp51_); +#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp52_; +#line 1126 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 10213 "ColorTransformation.c" + } + { + gint x = 0; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + x = 0; +#line 10219 "ColorTransformation.c" + { + gboolean _tmp53_ = FALSE; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = TRUE; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10226 "ColorTransformation.c" + gint _tmp55_ = 0; + gint red_bar_height = 0; + gint* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gint _tmp57_ = 0; + gint _tmp58_ = 0; + gdouble _tmp59_ = 0.0; + gint green_bar_height = 0; + gint* _tmp60_ = NULL; + gint _tmp60__length1 = 0; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + gdouble _tmp63_ = 0.0; + gint blue_bar_height = 0; + gint* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + gdouble _tmp67_ = 0.0; + gint max_bar_height = 0; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint y = 0; + gint pixel_index = 0; + gint _tmp73_ = 0; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + gint _tmp76_ = 0; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp53_) { +#line 10260 "ColorTransformation.c" + gint _tmp54_ = 0; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = x; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + x = _tmp54_ + 1; +#line 10266 "ColorTransformation.c" + } +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = FALSE; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = x; +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp55_ < 256)) { +#line 1129 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 10276 "ColorTransformation.c" + } +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = self->priv->qualitative_red_counts; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56__length1 = self->priv->qualitative_red_counts_length1; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = x; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = _tmp56_[_tmp57_]; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = scale_bar; +#line 1130 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + red_bar_height = (gint) (((gdouble) _tmp58_) * _tmp59_); +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = self->priv->qualitative_green_counts; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60__length1 = self->priv->qualitative_green_counts_length1; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = x; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = _tmp60_[_tmp61_]; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = scale_bar; +#line 1132 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + green_bar_height = (gint) (((gdouble) _tmp62_) * _tmp63_); +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = self->priv->qualitative_blue_counts; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64__length1 = self->priv->qualitative_blue_counts_length1; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp65_ = x; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp66_ = _tmp64_[_tmp65_]; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp67_ = scale_bar; +#line 1134 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + blue_bar_height = (gint) (((gdouble) _tmp66_) * _tmp67_); +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp68_ = red_bar_height; +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp69_ = green_bar_height; +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp70_ = MAX (_tmp68_, _tmp69_); +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp71_ = blue_bar_height; +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp72_ = MAX (_tmp70_, _tmp71_); +#line 1137 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + max_bar_height = _tmp72_; +#line 1140 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = RGB_HISTOGRAM_GRAPHIC_HEIGHT - 1; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp73_ = x; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp74_ = pixel_bytes; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp75_ = y; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp76_ = rowstride; +#line 1141 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_index = (_tmp73_ * _tmp74_) + (_tmp75_ * _tmp76_); +#line 10338 "ColorTransformation.c" + { + gboolean _tmp77_ = FALSE; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = TRUE; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10345 "ColorTransformation.c" + gint _tmp79_ = 0; + gint _tmp80_ = 0; + guchar* _tmp81_ = NULL; + gint _tmp81__length1 = 0; + gint _tmp82_ = 0; + guchar _tmp83_ = '\0'; + guchar* _tmp84_ = NULL; + gint _tmp84__length1 = 0; + gint _tmp85_ = 0; + guchar _tmp86_ = '\0'; + guchar* _tmp87_ = NULL; + gint _tmp87__length1 = 0; + gint _tmp88_ = 0; + guchar _tmp89_ = '\0'; + gint _tmp90_ = 0; + gint _tmp91_ = 0; + gint _tmp95_ = 0; + gint _tmp96_ = 0; + gint _tmp100_ = 0; + gint _tmp101_ = 0; + gint _tmp105_ = 0; + gint _tmp106_ = 0; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp77_) { +#line 10370 "ColorTransformation.c" + gint _tmp78_ = 0; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp78_ = y; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = _tmp78_ - 1; +#line 10376 "ColorTransformation.c" + } +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp77_ = FALSE; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp79_ = y; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp80_ = max_bar_height; +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp79_ >= (RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp80_))) { +#line 1142 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 10388 "ColorTransformation.c" + } +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_ = pixel_data; +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81__length1 = pixel_data_length1; +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp82_ = pixel_index; +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp81_[_tmp82_] = RGB_HISTOGRAM_MARKED_BACKGROUND; +#line 1143 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp83_ = _tmp81_[_tmp82_]; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_ = pixel_data; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84__length1 = pixel_data_length1; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp85_ = pixel_index; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp84_[_tmp85_ + 1] = RGB_HISTOGRAM_MARKED_BACKGROUND; +#line 1144 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp86_ = _tmp84_[_tmp85_ + 1]; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_ = pixel_data; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87__length1 = pixel_data_length1; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp88_ = pixel_index; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp87_[_tmp88_ + 2] = RGB_HISTOGRAM_MARKED_BACKGROUND; +#line 1145 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp89_ = _tmp87_[_tmp88_ + 2]; +#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp90_ = y; +#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp91_ = red_bar_height; +#line 1147 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp90_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp91_) - 1)) { +#line 10426 "ColorTransformation.c" + guchar* _tmp92_ = NULL; + gint _tmp92__length1 = 0; + gint _tmp93_ = 0; + guchar _tmp94_ = '\0'; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_ = pixel_data; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92__length1 = pixel_data_length1; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp93_ = pixel_index; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp92_[_tmp93_] = RGB_HISTOGRAM_MARKED_FOREGROUND; +#line 1148 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp94_ = _tmp92_[_tmp93_]; +#line 10441 "ColorTransformation.c" + } +#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp95_ = y; +#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp96_ = green_bar_height; +#line 1149 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp95_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp96_) - 1)) { +#line 10449 "ColorTransformation.c" + guchar* _tmp97_ = NULL; + gint _tmp97__length1 = 0; + gint _tmp98_ = 0; + guchar _tmp99_ = '\0'; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_ = pixel_data; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97__length1 = pixel_data_length1; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp98_ = pixel_index; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp97_[_tmp98_ + 1] = RGB_HISTOGRAM_MARKED_FOREGROUND; +#line 1150 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp99_ = _tmp97_[_tmp98_ + 1]; +#line 10464 "ColorTransformation.c" + } +#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp100_ = y; +#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp101_ = blue_bar_height; +#line 1151 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp100_ >= ((RGB_HISTOGRAM_GRAPHIC_HEIGHT - _tmp101_) - 1)) { +#line 10472 "ColorTransformation.c" + guchar* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + gint _tmp103_ = 0; + guchar _tmp104_ = '\0'; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_ = pixel_data; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102__length1 = pixel_data_length1; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp103_ = pixel_index; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp102_[_tmp103_ + 2] = RGB_HISTOGRAM_MARKED_FOREGROUND; +#line 1152 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp104_ = _tmp102_[_tmp103_ + 2]; +#line 10487 "ColorTransformation.c" + } +#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp105_ = pixel_index; +#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp106_ = rowstride; +#line 1154 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_index = _tmp105_ - _tmp106_; +#line 10495 "ColorTransformation.c" + } + } + { + gboolean _tmp107_ = FALSE; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = TRUE; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10504 "ColorTransformation.c" + gint _tmp109_ = 0; + guchar* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + gint _tmp111_ = 0; + guchar _tmp112_ = '\0'; + guchar* _tmp113_ = NULL; + gint _tmp113__length1 = 0; + gint _tmp114_ = 0; + guchar _tmp115_ = '\0'; + guchar* _tmp116_ = NULL; + gint _tmp116__length1 = 0; + gint _tmp117_ = 0; + guchar _tmp118_ = '\0'; + gint _tmp119_ = 0; + gint _tmp120_ = 0; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp107_) { +#line 10522 "ColorTransformation.c" + gint _tmp108_ = 0; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp108_ = y; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + y = _tmp108_ - 1; +#line 10528 "ColorTransformation.c" + } +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp107_ = FALSE; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp109_ = y; +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp109_ >= 0)) { +#line 1157 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 10538 "ColorTransformation.c" + } +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110_ = pixel_data; +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110__length1 = pixel_data_length1; +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp111_ = pixel_index; +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp110_[_tmp111_] = RGB_HISTOGRAM_UNMARKED_BACKGROUND; +#line 1158 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp112_ = _tmp110_[_tmp111_]; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113_ = pixel_data; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113__length1 = pixel_data_length1; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp114_ = pixel_index; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp113_[_tmp114_ + 1] = RGB_HISTOGRAM_UNMARKED_BACKGROUND; +#line 1159 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp115_ = _tmp113_[_tmp114_ + 1]; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp116_ = pixel_data; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp116__length1 = pixel_data_length1; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp117_ = pixel_index; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp116_[_tmp117_ + 2] = RGB_HISTOGRAM_UNMARKED_BACKGROUND; +#line 1160 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp118_ = _tmp116_[_tmp117_ + 2]; +#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp119_ = pixel_index; +#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp120_ = rowstride; +#line 1162 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_index = _tmp119_ - _tmp120_; +#line 10576 "ColorTransformation.c" + } + } + } + } + } + } +#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp121_ = self->priv->graphic; +#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp122_ = _g_object_ref0 (_tmp121_); +#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp122_; +#line 1167 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 10591 "ColorTransformation.c" +} + + +static void value_rgb_histogram_init (GValue* value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 10598 "ColorTransformation.c" +} + + +static void value_rgb_histogram_free_value (GValue* value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_unref (value->data[0].v_pointer); +#line 10607 "ColorTransformation.c" + } +} + + +static void value_rgb_histogram_copy_value (const GValue* src_value, GValue* dest_value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = rgb_histogram_ref (src_value->data[0].v_pointer); +#line 10617 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 10621 "ColorTransformation.c" + } +} + + +static gpointer value_rgb_histogram_peek_pointer (const GValue* value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 10629 "ColorTransformation.c" +} + + +static gchar* value_rgb_histogram_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 10636 "ColorTransformation.c" + RGBHistogram* object; + object = collect_values[0].v_pointer; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10643 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10647 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = rgb_histogram_ref (object); +#line 10651 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 10655 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 10659 "ColorTransformation.c" +} + + +static gchar* value_rgb_histogram_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + RGBHistogram** object_p; + object_p = collect_values[0].v_pointer; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 10670 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 10676 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 10680 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = rgb_histogram_ref (value->data[0].v_pointer); +#line 10684 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 10688 "ColorTransformation.c" +} + + +GParamSpec* param_spec_rgb_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecRGBHistogram* spec; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_RGB_HISTOGRAM), NULL); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 10702 "ColorTransformation.c" +} + + +gpointer value_get_rgb_histogram (const GValue* value) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM), NULL); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 10711 "ColorTransformation.c" +} + + +void value_set_rgb_histogram (GValue* value, gpointer v_object) { + RGBHistogram* old; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM)); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_RGB_HISTOGRAM)); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_ref (value->data[0].v_pointer); +#line 10731 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 10735 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_unref (old); +#line 10741 "ColorTransformation.c" + } +} + + +void value_take_rgb_histogram (GValue* value, gpointer v_object) { + RGBHistogram* old; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_RGB_HISTOGRAM)); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_RGB_HISTOGRAM)); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 10760 "ColorTransformation.c" + } else { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 10764 "ColorTransformation.c" + } +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_unref (old); +#line 10770 "ColorTransformation.c" + } +} + + +static void rgb_histogram_class_init (RGBHistogramClass * klass) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_histogram_parent_class = g_type_class_peek_parent (klass); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((RGBHistogramClass *) klass)->finalize = rgb_histogram_finalize; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (RGBHistogramPrivate)); +#line 10782 "ColorTransformation.c" +} + + +static void rgb_histogram_instance_init (RGBHistogram * self) { + gint* _tmp0_ = NULL; + gint* _tmp1_ = NULL; + gint* _tmp2_ = NULL; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = RGB_HISTOGRAM_GET_PRIVATE (self); +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = g_new0 (gint, 256); +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->red_counts = _tmp0_; +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->red_counts_length1 = 256; +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_red_counts_size_ = self->priv->red_counts_length1; +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = g_new0 (gint, 256); +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->green_counts = _tmp1_; +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->green_counts_length1 = 256; +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_green_counts_size_ = self->priv->green_counts_length1; +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = g_new0 (gint, 256); +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->blue_counts = _tmp2_; +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->blue_counts_length1 = 256; +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_blue_counts_size_ = self->priv->blue_counts_length1; +#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts = NULL; +#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts_length1 = 0; +#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_red_counts_size_ = self->priv->qualitative_red_counts_length1; +#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts = NULL; +#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts_length1 = 0; +#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_green_counts_size_ = self->priv->qualitative_green_counts_length1; +#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts = NULL; +#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts_length1 = 0; +#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_qualitative_blue_counts_size_ = self->priv->qualitative_blue_counts_length1; +#line 928 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->graphic = NULL; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 10838 "ColorTransformation.c" +} + + +static void rgb_histogram_finalize (RGBHistogram* obj) { + RGBHistogram * self; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RGB_HISTOGRAM, RGBHistogram); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 922 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->red_counts = (g_free (self->priv->red_counts), NULL); +#line 923 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->green_counts = (g_free (self->priv->green_counts), NULL); +#line 924 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->blue_counts = (g_free (self->priv->blue_counts), NULL); +#line 925 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_red_counts = (g_free (self->priv->qualitative_red_counts), NULL); +#line 926 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_green_counts = (g_free (self->priv->qualitative_green_counts), NULL); +#line 927 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->qualitative_blue_counts = (g_free (self->priv->qualitative_blue_counts), NULL); +#line 928 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_object_unref0 (self->priv->graphic); +#line 10862 "ColorTransformation.c" +} + + +GType rgb_histogram_get_type (void) { + static volatile gsize rgb_histogram_type_id__volatile = 0; + if (g_once_init_enter (&rgb_histogram_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_rgb_histogram_init, value_rgb_histogram_free_value, value_rgb_histogram_copy_value, value_rgb_histogram_peek_pointer, "p", value_rgb_histogram_collect_value, "p", value_rgb_histogram_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (RGBHistogramClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rgb_histogram_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RGBHistogram), 0, (GInstanceInitFunc) rgb_histogram_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType rgb_histogram_type_id; + rgb_histogram_type_id = g_type_register_fundamental (g_type_fundamental_next (), "RGBHistogram", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&rgb_histogram_type_id__volatile, rgb_histogram_type_id); + } + return rgb_histogram_type_id__volatile; +} + + +gpointer rgb_histogram_ref (gpointer instance) { + RGBHistogram* self; + self = instance; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 10887 "ColorTransformation.c" +} + + +void rgb_histogram_unref (gpointer instance) { + RGBHistogram* self; + self = instance; +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + RGB_HISTOGRAM_GET_CLASS (self)->finalize (self); +#line 914 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 10900 "ColorTransformation.c" + } +} + + +IntensityHistogram* intensity_histogram_construct (GType object_type, GdkPixbuf* pixbuf) { + IntensityHistogram* self = NULL; + gint n_channels = 0; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint rowstride = 0; + GdkPixbuf* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint width = 0; + GdkPixbuf* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint height = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint rowbytes = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + guchar* pixels = NULL; + GdkPixbuf* _tmp10_ = NULL; + guint8* _tmp11_ = NULL; + gint pixels_length1 = 0; + gint _pixels_size_ = 0; + gfloat pixel_count = 0.0F; + GdkPixbuf* _tmp41_ = NULL; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + GdkPixbuf* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gfloat accumulator = 0.0F; +#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (IntensityHistogram*) g_type_create_instance (object_type); +#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixbuf; +#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = gdk_pixbuf_get_n_channels (_tmp0_); +#line 1177 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + n_channels = _tmp1_; +#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = pixbuf; +#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = gdk_pixbuf_get_rowstride (_tmp2_); +#line 1178 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowstride = _tmp3_; +#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = pixbuf; +#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = gdk_pixbuf_get_width (_tmp4_); +#line 1179 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + width = _tmp5_; +#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = pixbuf; +#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = gdk_pixbuf_get_height (_tmp6_); +#line 1180 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + height = _tmp7_; +#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = n_channels; +#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = width; +#line 1181 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rowbytes = _tmp8_ * _tmp9_; +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = pixbuf; +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = gdk_pixbuf_get_pixels (_tmp10_); +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixels = _tmp11_; +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixels_length1 = -1; +#line 1182 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixels_size_ = pixels_length1; +#line 10979 "ColorTransformation.c" + { + gint j = 0; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = 0; +#line 10984 "ColorTransformation.c" + { + gboolean _tmp12_ = FALSE; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = TRUE; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 10991 "ColorTransformation.c" + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint row_start_index = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint row_end_index = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp12_) { +#line 11002 "ColorTransformation.c" + gint _tmp13_ = 0; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = j; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + j = _tmp13_ + 1; +#line 11008 "ColorTransformation.c" + } +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = FALSE; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = j; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = height; +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp14_ < _tmp15_)) { +#line 1183 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11020 "ColorTransformation.c" + } +#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = j; +#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = rowstride; +#line 1184 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_start_index = _tmp16_ * _tmp17_; +#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = row_start_index; +#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = rowbytes; +#line 1185 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + row_end_index = _tmp18_ + _tmp19_; +#line 11034 "ColorTransformation.c" + { + gint i = 0; + gint _tmp20_ = 0; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = row_start_index; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp20_; +#line 11042 "ColorTransformation.c" + { + gboolean _tmp21_ = FALSE; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = TRUE; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11049 "ColorTransformation.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; + RGBAnalyticPixel pix_rgb = {0}; + guchar* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + guchar _tmp28_ = '\0'; + guchar* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + guchar _tmp31_ = '\0'; + guchar* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + guchar _tmp34_ = '\0'; + HSVAnalyticPixel pix_hsi = {0}; + RGBAnalyticPixel _tmp35_ = {0}; + gint quantized_light_value = 0; + HSVAnalyticPixel _tmp36_ = {0}; + gfloat _tmp37_ = 0.0F; + gint* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp21_) { +#line 11076 "ColorTransformation.c" + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = i; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = n_channels; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp22_ + _tmp23_; +#line 11085 "ColorTransformation.c" + } +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = FALSE; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = i; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = row_end_index; +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp24_ < _tmp25_)) { +#line 1186 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11097 "ColorTransformation.c" + } +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = pixels; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26__length1 = pixels_length1; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = i; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = _tmp26_[_tmp27_]; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = pixels; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29__length1 = pixels_length1; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = i; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp29_[_tmp30_ + 1]; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = pixels; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32__length1 = pixels_length1; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = i; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = _tmp32_[_tmp33_ + 2]; +#line 1187 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + rgb_analytic_pixel_init_from_quantized_components (&pix_rgb, _tmp28_, _tmp31_, _tmp34_); +#line 1189 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = pix_rgb; +#line 1189 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hsv_analytic_pixel_init_from_rgb (&pix_hsi, &_tmp35_); +#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = pix_hsi; +#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = _tmp36_.light_value; +#line 1190 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + quantized_light_value = (gint) (_tmp37_ * 255.0f); +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = self->priv->counts; +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38__length1 = self->priv->counts_length1; +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = quantized_light_value; +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_[_tmp39_] += 1; +#line 1191 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = _tmp38_[_tmp39_]; +#line 11145 "ColorTransformation.c" + } + } + } + } + } + } +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = pixbuf; +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = gdk_pixbuf_get_width (_tmp41_); +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = _tmp42_; +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = pixbuf; +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = gdk_pixbuf_get_height (_tmp44_); +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = _tmp45_; +#line 1195 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_count = (gfloat) (_tmp43_ * _tmp46_); +#line 1196 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + accumulator = 0.0f; +#line 11168 "ColorTransformation.c" + { + gint i = 0; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 11173 "ColorTransformation.c" + { + gboolean _tmp47_ = FALSE; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = TRUE; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11180 "ColorTransformation.c" + gint _tmp49_ = 0; + gfloat* _tmp50_ = NULL; + gint _tmp50__length1 = 0; + gint _tmp51_ = 0; + gint* _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + gfloat _tmp55_ = 0.0F; + gfloat _tmp56_ = 0.0F; + gfloat _tmp57_ = 0.0F; + gfloat* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + gfloat _tmp60_ = 0.0F; + gfloat* _tmp61_ = NULL; + gint _tmp61__length1 = 0; + gint _tmp62_ = 0; + gfloat _tmp63_ = 0.0F; + gfloat _tmp64_ = 0.0F; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp47_) { +#line 11203 "ColorTransformation.c" + gint _tmp48_ = 0; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = i; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp48_ + 1; +#line 11209 "ColorTransformation.c" + } +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = FALSE; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = i; +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp49_ < 256)) { +#line 1197 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11219 "ColorTransformation.c" + } +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = self->priv->probabilities; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50__length1 = self->priv->probabilities_length1; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = i; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = self->priv->counts; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52__length1 = self->priv->counts_length1; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = i; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = _tmp52_[_tmp53_]; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = pixel_count; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_[_tmp51_] = ((gfloat) _tmp54_) / _tmp55_; +#line 1198 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = _tmp50_[_tmp51_]; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = accumulator; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = self->priv->probabilities; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58__length1 = self->priv->probabilities_length1; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = i; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = _tmp58_[_tmp59_]; +#line 1199 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + accumulator = _tmp57_ + _tmp60_; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_ = self->priv->cumulative_probabilities; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61__length1 = self->priv->cumulative_probabilities_length1; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp62_ = i; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp63_ = accumulator; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp61_[_tmp62_] = _tmp63_; +#line 1200 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp64_ = _tmp61_[_tmp62_]; +#line 11265 "ColorTransformation.c" + } + } + } +#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 11271 "ColorTransformation.c" +} + + +IntensityHistogram* intensity_histogram_new (GdkPixbuf* pixbuf) { +#line 1176 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return intensity_histogram_construct (TYPE_INTENSITY_HISTOGRAM, pixbuf); +#line 11278 "ColorTransformation.c" +} + + +gfloat intensity_histogram_get_cumulative_probability (IntensityHistogram* self, gint level) { + gfloat result = 0.0F; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gfloat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + gfloat _tmp4_ = 0.0F; +#line 1204 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_INTENSITY_HISTOGRAM (self), 0.0F); +#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = level; +#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0, 255); +#line 1206 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + level = _tmp1_; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->cumulative_probabilities; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2__length1 = self->priv->cumulative_probabilities_length1; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = level; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp2_[_tmp3_]; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp4_; +#line 1207 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 11310 "ColorTransformation.c" +} + + +static void value_intensity_histogram_init (GValue* value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 11317 "ColorTransformation.c" +} + + +static void value_intensity_histogram_free_value (GValue* value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_unref (value->data[0].v_pointer); +#line 11326 "ColorTransformation.c" + } +} + + +static void value_intensity_histogram_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = intensity_histogram_ref (src_value->data[0].v_pointer); +#line 11336 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 11340 "ColorTransformation.c" + } +} + + +static gpointer value_intensity_histogram_peek_pointer (const GValue* value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 11348 "ColorTransformation.c" +} + + +static gchar* value_intensity_histogram_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 11355 "ColorTransformation.c" + IntensityHistogram* object; + object = collect_values[0].v_pointer; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 11362 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 11366 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = intensity_histogram_ref (object); +#line 11370 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 11374 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 11378 "ColorTransformation.c" +} + + +static gchar* value_intensity_histogram_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + IntensityHistogram** object_p; + object_p = collect_values[0].v_pointer; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 11389 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 11395 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 11399 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = intensity_histogram_ref (value->data[0].v_pointer); +#line 11403 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 11407 "ColorTransformation.c" +} + + +GParamSpec* param_spec_intensity_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecIntensityHistogram* spec; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_INTENSITY_HISTOGRAM), NULL); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 11421 "ColorTransformation.c" +} + + +gpointer value_get_intensity_histogram (const GValue* value) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM), NULL); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 11430 "ColorTransformation.c" +} + + +void value_set_intensity_histogram (GValue* value, gpointer v_object) { + IntensityHistogram* old; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM)); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_INTENSITY_HISTOGRAM)); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_ref (value->data[0].v_pointer); +#line 11450 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 11454 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_unref (old); +#line 11460 "ColorTransformation.c" + } +} + + +void value_take_intensity_histogram (GValue* value, gpointer v_object) { + IntensityHistogram* old; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INTENSITY_HISTOGRAM)); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_INTENSITY_HISTOGRAM)); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 11479 "ColorTransformation.c" + } else { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 11483 "ColorTransformation.c" + } +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_unref (old); +#line 11489 "ColorTransformation.c" + } +} + + +static void intensity_histogram_class_init (IntensityHistogramClass * klass) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_histogram_parent_class = g_type_class_peek_parent (klass); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((IntensityHistogramClass *) klass)->finalize = intensity_histogram_finalize; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (IntensityHistogramPrivate)); +#line 11501 "ColorTransformation.c" +} + + +static void intensity_histogram_instance_init (IntensityHistogram * self) { + gint* _tmp0_ = NULL; + gfloat* _tmp1_ = NULL; + gfloat* _tmp2_ = NULL; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = INTENSITY_HISTOGRAM_GET_PRIVATE (self); +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = g_new0 (gint, 256); +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->counts = _tmp0_; +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->counts_length1 = 256; +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_counts_size_ = self->priv->counts_length1; +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = g_new0 (gfloat, 256); +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->probabilities = _tmp1_; +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->probabilities_length1 = 256; +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_probabilities_size_ = self->priv->probabilities_length1; +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = g_new0 (gfloat, 256); +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->cumulative_probabilities = _tmp2_; +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->cumulative_probabilities_length1 = 256; +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_cumulative_probabilities_size_ = self->priv->cumulative_probabilities_length1; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 11537 "ColorTransformation.c" +} + + +static void intensity_histogram_finalize (IntensityHistogram* obj) { + IntensityHistogram * self; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_INTENSITY_HISTOGRAM, IntensityHistogram); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 1172 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->counts = (g_free (self->priv->counts), NULL); +#line 1173 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->probabilities = (g_free (self->priv->probabilities), NULL); +#line 1174 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->cumulative_probabilities = (g_free (self->priv->cumulative_probabilities), NULL); +#line 11553 "ColorTransformation.c" +} + + +GType intensity_histogram_get_type (void) { + static volatile gsize intensity_histogram_type_id__volatile = 0; + if (g_once_init_enter (&intensity_histogram_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_intensity_histogram_init, value_intensity_histogram_free_value, value_intensity_histogram_copy_value, value_intensity_histogram_peek_pointer, "p", value_intensity_histogram_collect_value, "p", value_intensity_histogram_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (IntensityHistogramClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) intensity_histogram_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (IntensityHistogram), 0, (GInstanceInitFunc) intensity_histogram_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType intensity_histogram_type_id; + intensity_histogram_type_id = g_type_register_fundamental (g_type_fundamental_next (), "IntensityHistogram", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&intensity_histogram_type_id__volatile, intensity_histogram_type_id); + } + return intensity_histogram_type_id__volatile; +} + + +gpointer intensity_histogram_ref (gpointer instance) { + IntensityHistogram* self; + self = instance; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 11578 "ColorTransformation.c" +} + + +void intensity_histogram_unref (gpointer instance) { + IntensityHistogram* self; + self = instance; +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + INTENSITY_HISTOGRAM_GET_CLASS (self)->finalize (self); +#line 1171 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 11591 "ColorTransformation.c" + } +} + + +ExpansionTransformation* expansion_transformation_construct (GType object_type, IntensityHistogram* histogram) { + ExpansionTransformation* self = NULL; + gfloat* _tmp0_ = NULL; + gfloat LOW_KINK_MASS = 0.0F; + gfloat HIGH_KINK_MASS = 0.0F; +#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_INTENSITY_HISTOGRAM (histogram), NULL); +#line 1220 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = g_new0 (gfloat, 256); +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = _tmp0_; +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 256; +#line 1222 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 1224 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + LOW_KINK_MASS = EXPANSION_TRANSFORMATION_LOW_DISCARD_MASS; +#line 1225 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->low_kink = 0; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11621 "ColorTransformation.c" + IntensityHistogram* _tmp1_ = NULL; + gint _tmp2_ = 0; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gint _tmp5_ = 0; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = histogram; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->low_kink; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = intensity_histogram_get_cumulative_probability (_tmp1_, _tmp2_); +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = LOW_KINK_MASS; +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp3_ < _tmp4_)) { +#line 1226 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11639 "ColorTransformation.c" + } +#line 1227 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = self->priv->low_kink; +#line 1227 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->low_kink = _tmp5_ + 1; +#line 11645 "ColorTransformation.c" + } +#line 1229 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + HIGH_KINK_MASS = 1.0f - EXPANSION_TRANSFORMATION_HIGH_DISCARD_MASS; +#line 1230 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->high_kink = 255; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11653 "ColorTransformation.c" + gboolean _tmp6_ = FALSE; + IntensityHistogram* _tmp7_ = NULL; + gint _tmp8_ = 0; + gfloat _tmp9_ = 0.0F; + gfloat _tmp10_ = 0.0F; + gint _tmp12_ = 0; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = histogram; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = self->priv->high_kink; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = intensity_histogram_get_cumulative_probability (_tmp7_, _tmp8_); +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = HIGH_KINK_MASS; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp9_ > _tmp10_) { +#line 11670 "ColorTransformation.c" + gint _tmp11_ = 0; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = self->priv->high_kink; +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp11_ > 0; +#line 11676 "ColorTransformation.c" + } else { +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = FALSE; +#line 11680 "ColorTransformation.c" + } +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 1231 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11686 "ColorTransformation.c" + } +#line 1232 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = self->priv->high_kink; +#line 1232 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->high_kink = _tmp12_ - 1; +#line 11692 "ColorTransformation.c" + } +#line 1234 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_transformation_build_remap_table (self); +#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 11698 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_new (IntensityHistogram* histogram) { +#line 1219 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return expansion_transformation_construct (TYPE_EXPANSION_TRANSFORMATION, histogram); +#line 11705 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_construct_from_extrema (GType object_type, gint black_point, gint white_point) { + ExpansionTransformation* self = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 1238 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = white_point; +#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0, 255); +#line 1240 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + white_point = _tmp1_; +#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = black_point; +#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = CLAMP (_tmp2_, 0, 255); +#line 1241 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + black_point = _tmp3_; +#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = black_point; +#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = white_point; +#line 1243 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp4_ == _tmp5_) { +#line 11739 "ColorTransformation.c" + gint _tmp6_ = 0; +#line 1244 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = black_point; +#line 1244 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp6_ == 0) { +#line 1245 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + white_point = 1; +#line 11747 "ColorTransformation.c" + } else { + gint _tmp7_ = 0; +#line 1246 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = white_point; +#line 1246 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp7_ == 255) { +#line 1247 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + black_point = 254; +#line 11756 "ColorTransformation.c" + } else { + gint _tmp8_ = 0; +#line 1249 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = white_point; +#line 1249 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + black_point = _tmp8_ - 1; +#line 11763 "ColorTransformation.c" + } + } + } +#line 1252 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = black_point; +#line 1252 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->low_kink = _tmp9_; +#line 1253 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = white_point; +#line 1253 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->high_kink = _tmp10_; +#line 1255 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_transformation_build_remap_table (self); +#line 1237 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 11779 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_new_from_extrema (gint black_point, gint white_point) { +#line 1237 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return expansion_transformation_construct_from_extrema (TYPE_EXPANSION_TRANSFORMATION, black_point, white_point); +#line 11786 "ColorTransformation.c" +} + + +static gchar* string_chug (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1199 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1200 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1200 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1201 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1201 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strchug (_tmp1_); +#line 1202 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1202 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 11809 "ColorTransformation.c" +} + + +static gchar* string_chomp (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1191 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1192 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1192 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1193 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1193 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strchomp (_tmp1_); +#line 1194 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1194 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 11832 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_construct_from_string (GType object_type, const gchar* encoded_transformation) { + ExpansionTransformation* self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gint num_captured = 0; + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (encoded_transformation != NULL, NULL); +#line 1259 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ExpansionTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 1261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = encoded_transformation; +#line 1261 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_strcanon (_tmp0_, "0123456789. ", ' '); +#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = encoded_transformation; +#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = string_chug (_tmp1_); +#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_; +#line 1262 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_free0 (_tmp3_); +#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = encoded_transformation; +#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = string_chomp (_tmp4_); +#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_; +#line 1263 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _g_free0 (_tmp6_); +#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = encoded_transformation; +#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = sscanf (_tmp7_, "%d %d", &self->priv->low_kink, &self->priv->high_kink); +#line 1265 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + num_captured = _tmp8_; +#line 1268 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _vala_assert (num_captured == 2, "num_captured == 2"); +#line 1270 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_transformation_build_remap_table (self); +#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 11884 "ColorTransformation.c" +} + + +ExpansionTransformation* expansion_transformation_new_from_string (const gchar* encoded_transformation) { +#line 1258 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return expansion_transformation_construct_from_string (TYPE_EXPANSION_TRANSFORMATION, encoded_transformation); +#line 11891 "ColorTransformation.c" +} + + +static void expansion_transformation_build_remap_table (ExpansionTransformation* self) { + gfloat* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gfloat low_kink_f = 0.0F; + gint _tmp2_ = 0; + gfloat high_kink_f = 0.0F; + gint _tmp3_ = 0; + gfloat slope = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; + gfloat intercept = 0.0F; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat _tmp8_ = 0.0F; + gint i = 0; +#line 1273 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (IS_EXPANSION_TRANSFORMATION (self)); +#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->remap_table; +#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0__length1 = self->priv->remap_table_length1; +#line 1274 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ == NULL) { +#line 11918 "ColorTransformation.c" + gfloat* _tmp1_ = NULL; +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = g_new0 (gfloat, 256); +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = _tmp1_; +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 256; +#line 1275 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 11930 "ColorTransformation.c" + } +#line 1277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->low_kink; +#line 1277 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + low_kink_f = ((gfloat) _tmp2_) / 255.0f; +#line 1278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->high_kink; +#line 1278 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + high_kink_f = ((gfloat) _tmp3_) / 255.0f; +#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = high_kink_f; +#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = low_kink_f; +#line 1280 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + slope = 1.0f / (_tmp4_ - _tmp5_); +#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = low_kink_f; +#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = high_kink_f; +#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = low_kink_f; +#line 1281 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intercept = -(_tmp6_ / (_tmp7_ - _tmp8_)); +#line 1283 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 11956 "ColorTransformation.c" + { + gboolean _tmp9_ = FALSE; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = TRUE; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 11963 "ColorTransformation.c" + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gfloat* _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + gfloat _tmp15_ = 0.0F; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp9_) { +#line 11972 "ColorTransformation.c" + gint _tmp10_ = 0; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = i; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp10_ + 1; +#line 11978 "ColorTransformation.c" + } +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = FALSE; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = i; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = self->priv->low_kink; +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp11_ <= _tmp12_)) { +#line 1284 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 11990 "ColorTransformation.c" + } +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = self->priv->remap_table; +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13__length1 = self->priv->remap_table_length1; +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = i; +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_[_tmp14_] = 0.0f; +#line 1285 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = _tmp13_[_tmp14_]; +#line 12002 "ColorTransformation.c" + } + } + { + gboolean _tmp16_ = FALSE; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = TRUE; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 12011 "ColorTransformation.c" + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gfloat* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + gfloat _tmp22_ = 0.0F; + gint _tmp23_ = 0; + gfloat _tmp24_ = 0.0F; + gfloat _tmp25_ = 0.0F; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp16_) { +#line 12023 "ColorTransformation.c" + gint _tmp17_ = 0; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = i; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp17_ + 1; +#line 12029 "ColorTransformation.c" + } +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = FALSE; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = i; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = self->priv->high_kink; +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp18_ < _tmp19_)) { +#line 1287 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 12041 "ColorTransformation.c" + } +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = self->priv->remap_table; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20__length1 = self->priv->remap_table_length1; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = i; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = slope; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = i; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = intercept; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_[_tmp21_] = (_tmp22_ * (((gfloat) _tmp23_) / 255.0f)) + _tmp24_; +#line 1288 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = _tmp20_[_tmp21_]; +#line 12059 "ColorTransformation.c" + } + } + { + gboolean _tmp26_ = FALSE; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = TRUE; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 12068 "ColorTransformation.c" + gint _tmp28_ = 0; + gfloat* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + gfloat _tmp31_ = 0.0F; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp26_) { +#line 12076 "ColorTransformation.c" + gint _tmp27_ = 0; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = i; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp27_ + 1; +#line 12082 "ColorTransformation.c" + } +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = FALSE; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = i; +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp28_ < 256)) { +#line 1290 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 12092 "ColorTransformation.c" + } +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = self->priv->remap_table; +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29__length1 = self->priv->remap_table_length1; +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = i; +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_[_tmp30_] = 1.0f; +#line 1291 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = _tmp29_[_tmp30_]; +#line 12104 "ColorTransformation.c" + } + } +} + + +static void expansion_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) { + ExpansionTransformation * self; + gint remap_index = 0; + HSVAnalyticPixel _tmp0_ = {0}; + gfloat _tmp1_ = 0.0F; + HSVAnalyticPixel _result_ = {0}; + HSVAnalyticPixel _tmp2_ = {0}; + gfloat* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gfloat _tmp4_ = 0.0F; + HSVAnalyticPixel _tmp5_ = {0}; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; +#line 1294 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1294 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (pixel != NULL); +#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *pixel; +#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = _tmp0_.light_value; +#line 1295 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + remap_index = (gint) (_tmp1_ * 255.0f); +#line 1297 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *pixel; +#line 1297 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_ = _tmp2_; +#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->remap_table; +#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3__length1 = self->priv->remap_table_length1; +#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp3_[remap_index]; +#line 1298 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.light_value = _tmp4_; +#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = _result_; +#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = _tmp5_.light_value; +#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = CLAMP (_tmp6_, 0.0f, 1.0f); +#line 1300 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.light_value = _tmp7_; +#line 1302 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _result_; +#line 1302 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 12157 "ColorTransformation.c" +} + + +static gchar* expansion_transformation_real_to_string (PixelTransformation* base) { + ExpansionTransformation * self; + gchar* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; +#line 1305 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->low_kink; +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->high_kink; +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = g_strdup_printf ("{ %d, %d }", _tmp0_, _tmp1_); +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp2_; +#line 1306 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12179 "ColorTransformation.c" +} + + +gint expansion_transformation_get_white_point (ExpansionTransformation* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 1309 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_EXPANSION_TRANSFORMATION (self), 0); +#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->high_kink; +#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1310 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12194 "ColorTransformation.c" +} + + +gint expansion_transformation_get_black_point (ExpansionTransformation* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 1313 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_EXPANSION_TRANSFORMATION (self), 0); +#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->low_kink; +#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1314 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12209 "ColorTransformation.c" +} + + +static gboolean expansion_transformation_real_is_identity (PixelTransformation* base) { + ExpansionTransformation * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 1317 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->low_kink; +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_ == 0) { +#line 12224 "ColorTransformation.c" + gint _tmp2_ = 0; +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->high_kink; +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = _tmp2_ == 255; +#line 12230 "ColorTransformation.c" + } else { +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = FALSE; +#line 12234 "ColorTransformation.c" + } +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1318 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12240 "ColorTransformation.c" +} + + +static PixelTransformation* expansion_transformation_real_copy (PixelTransformation* base) { + ExpansionTransformation * self; + PixelTransformation* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + ExpansionTransformation* _tmp2_ = NULL; +#line 1321 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->low_kink; +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->high_kink; +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = expansion_transformation_new_from_extrema (_tmp0_, _tmp1_); +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 1322 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12262 "ColorTransformation.c" +} + + +static void expansion_transformation_class_init (ExpansionTransformationClass * klass) { +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + expansion_transformation_parent_class = g_type_class_peek_parent (klass); +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = expansion_transformation_finalize; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (ExpansionTransformationPrivate)); +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = expansion_transformation_real_transform_pixel_hsv; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->to_string = expansion_transformation_real_to_string; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = expansion_transformation_real_is_identity; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = expansion_transformation_real_copy; +#line 12281 "ColorTransformation.c" +} + + +static void expansion_transformation_instance_init (ExpansionTransformation * self) { +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = EXPANSION_TRANSFORMATION_GET_PRIVATE (self); +#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = NULL; +#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 0; +#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 12294 "ColorTransformation.c" +} + + +static void expansion_transformation_finalize (PixelTransformation* obj) { + ExpansionTransformation * self; +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 1212 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1211 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (expansion_transformation_parent_class)->finalize (obj); +#line 12306 "ColorTransformation.c" +} + + +GType expansion_transformation_get_type (void) { + static volatile gsize expansion_transformation_type_id__volatile = 0; + if (g_once_init_enter (&expansion_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExpansionTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) expansion_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExpansionTransformation), 0, (GInstanceInitFunc) expansion_transformation_instance_init, NULL }; + GType expansion_transformation_type_id; + expansion_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "ExpansionTransformation", &g_define_type_info, 0); + g_once_init_leave (&expansion_transformation_type_id__volatile, expansion_transformation_type_id); + } + return expansion_transformation_type_id__volatile; +} + + +ShadowDetailTransformation* shadow_detail_transformation_construct (GType object_type, gfloat user_intensity) { + ShadowDetailTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat intensity_adj = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat effect_shift = 0.0F; + gfloat _tmp3_ = 0.0F; + HermiteGammaApproximationFunction* func = NULL; + HermiteGammaApproximationFunction* _tmp4_ = NULL; + gfloat* _tmp5_ = NULL; +#line 1339 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (ShadowDetailTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_SHADOWS); +#line 1341 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = user_intensity; +#line 1341 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->intensity = _tmp0_; +#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->intensity; +#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = CLAMP (_tmp1_ / SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER, 0.0f, 1.0f); +#line 1342 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_adj = _tmp2_; +#line 1344 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = intensity_adj; +#line 1344 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + effect_shift = SHADOW_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT * _tmp3_; +#line 1345 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = hermite_gamma_approximation_function_new (SHADOW_DETAIL_TRANSFORMATION_TONAL_WIDTH); +#line 1345 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + func = _tmp4_; +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = g_new0 (gfloat, 256); +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = _tmp5_; +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 256; +#line 1348 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 12363 "ColorTransformation.c" + { + gint i = 0; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 12368 "ColorTransformation.c" + { + gboolean _tmp6_ = FALSE; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = TRUE; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 12375 "ColorTransformation.c" + gint _tmp8_ = 0; + gfloat x = 0.0F; + gint _tmp9_ = 0; + gfloat weight = 0.0F; + HermiteGammaApproximationFunction* _tmp10_ = NULL; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; + gfloat* _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gfloat _tmp18_ = 0.0F; + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 12394 "ColorTransformation.c" + gint _tmp7_ = 0; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = i; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp7_ + 1; +#line 12400 "ColorTransformation.c" + } +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = FALSE; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = i; +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp8_ < 256)) { +#line 1349 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 12410 "ColorTransformation.c" + } +#line 1350 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 1350 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + x = ((gfloat) _tmp9_) / 255.0f; +#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = func; +#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = x; +#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = hermite_gamma_approximation_function_evaluate (_tmp10_, _tmp11_); +#line 1351 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + weight = _tmp12_; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = self->priv->remap_table; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13__length1 = self->priv->remap_table_length1; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = i; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = weight; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = x; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = effect_shift; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = weight; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = x; +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_[_tmp14_] = (_tmp15_ * (_tmp16_ + _tmp17_)) + ((1.0f - _tmp18_) * _tmp19_); +#line 1352 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp13_[_tmp14_]; +#line 12444 "ColorTransformation.c" + } + } + } +#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _hermite_gamma_approximation_function_unref0 (func); +#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 12452 "ColorTransformation.c" +} + + +ShadowDetailTransformation* shadow_detail_transformation_new (gfloat user_intensity) { +#line 1338 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return shadow_detail_transformation_construct (TYPE_SHADOW_DETAIL_TRANSFORMATION, user_intensity); +#line 12459 "ColorTransformation.c" +} + + +static void shadow_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) { + ShadowDetailTransformation * self; + HSVAnalyticPixel _result_ = {0}; + HSVAnalyticPixel _tmp0_ = {0}; + gfloat* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + HSVAnalyticPixel _tmp2_ = {0}; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; +#line 1356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 1356 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (pixel != NULL); +#line 1357 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *pixel; +#line 1357 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_ = _tmp0_; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->remap_table; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1__length1 = self->priv->remap_table_length1; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *pixel; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_.light_value; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp1_[(gint) (_tmp3_ * 255.0f)]; +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f); +#line 1358 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.light_value = _tmp5_; +#line 1359 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _result_; +#line 1359 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 12499 "ColorTransformation.c" +} + + +static PixelTransformation* shadow_detail_transformation_real_copy (PixelTransformation* base) { + ShadowDetailTransformation * self; + PixelTransformation* result = NULL; + gfloat _tmp0_ = 0.0F; + ShadowDetailTransformation* _tmp1_ = NULL; +#line 1362 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = shadow_detail_transformation_new (_tmp0_); +#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 1363 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12518 "ColorTransformation.c" +} + + +static gboolean shadow_detail_transformation_real_is_identity (PixelTransformation* base) { + ShadowDetailTransformation * self; + gboolean result = FALSE; + gfloat _tmp0_ = 0.0F; +#line 1366 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_ == 0.0f; +#line 1367 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12534 "ColorTransformation.c" +} + + +gfloat shadow_detail_transformation_get_parameter (ShadowDetailTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 1370 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_SHADOW_DETAIL_TRANSFORMATION (self), 0.0F); +#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1371 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12549 "ColorTransformation.c" +} + + +static void shadow_detail_transformation_class_init (ShadowDetailTransformationClass * klass) { +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_detail_transformation_parent_class = g_type_class_peek_parent (klass); +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = shadow_detail_transformation_finalize; +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (ShadowDetailTransformationPrivate)); +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = shadow_detail_transformation_real_transform_pixel_hsv; +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = shadow_detail_transformation_real_copy; +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = shadow_detail_transformation_real_is_identity; +#line 12566 "ColorTransformation.c" +} + + +static void shadow_detail_transformation_instance_init (ShadowDetailTransformation * self) { +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = SHADOW_DETAIL_TRANSFORMATION_GET_PRIVATE (self); +#line 1332 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->intensity = 0.0f; +#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = NULL; +#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 0; +#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 12581 "ColorTransformation.c" +} + + +static void shadow_detail_transformation_finalize (PixelTransformation* obj) { + ShadowDetailTransformation * self; +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 1333 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1326 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (shadow_detail_transformation_parent_class)->finalize (obj); +#line 12593 "ColorTransformation.c" +} + + +GType shadow_detail_transformation_get_type (void) { + static volatile gsize shadow_detail_transformation_type_id__volatile = 0; + if (g_once_init_enter (&shadow_detail_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ShadowDetailTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) shadow_detail_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ShadowDetailTransformation), 0, (GInstanceInitFunc) shadow_detail_transformation_instance_init, NULL }; + GType shadow_detail_transformation_type_id; + shadow_detail_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "ShadowDetailTransformation", &g_define_type_info, 0); + g_once_init_leave (&shadow_detail_transformation_type_id__volatile, shadow_detail_transformation_type_id); + } + return shadow_detail_transformation_type_id__volatile; +} + + +HermiteGammaApproximationFunction* hermite_gamma_approximation_function_construct (GType object_type, gfloat user_interval_upper) { + HermiteGammaApproximationFunction* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (HermiteGammaApproximationFunction*) g_type_create_instance (object_type); +#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = user_interval_upper; +#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = CLAMP (_tmp0_, 0.1f, 1.0f); +#line 1380 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->nonzero_interval_upper = _tmp1_; +#line 1381 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->nonzero_interval_upper; +#line 1381 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->x_scale = 1.0f / _tmp2_; +#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 12628 "ColorTransformation.c" +} + + +HermiteGammaApproximationFunction* hermite_gamma_approximation_function_new (gfloat user_interval_upper) { +#line 1379 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return hermite_gamma_approximation_function_construct (TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, user_interval_upper); +#line 12635 "ColorTransformation.c" +} + + +gfloat hermite_gamma_approximation_function_evaluate (HermiteGammaApproximationFunction* self, gfloat x) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 1384 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_HERMITE_GAMMA_APPROXIMATION_FUNCTION (self), 0.0F); +#line 1385 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = x; +#line 1385 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp0_ < 0.0f) { +#line 1386 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = 0.0f; +#line 1386 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12652 "ColorTransformation.c" + } else { + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; +#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = x; +#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = self->priv->nonzero_interval_upper; +#line 1387 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp1_ > _tmp2_) { +#line 1388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = 0.0f; +#line 1388 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12666 "ColorTransformation.c" + } else { + gfloat indep_var = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat dep_var = 0.0F; + gfloat _tmp5_ = 0.0F; + gfloat _tmp6_ = 0.0F; + gfloat _tmp7_ = 0.0F; + gfloat _tmp8_ = 0.0F; + gfloat _tmp9_ = 0.0F; + gfloat _tmp10_ = 0.0F; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; +#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = self->priv->x_scale; +#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = x; +#line 1390 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + indep_var = _tmp3_ * _tmp4_; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = indep_var; +#line 1392 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dep_var = 6.0f * ((((_tmp5_ * _tmp6_) * _tmp7_) - (2.0f * (_tmp8_ * _tmp9_))) + _tmp10_); +#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = dep_var; +#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = CLAMP (_tmp11_, 0.0f, 1.0f); +#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp12_; +#line 1395 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 12708 "ColorTransformation.c" + } + } +} + + +static void value_hermite_gamma_approximation_function_init (GValue* value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 12717 "ColorTransformation.c" +} + + +static void value_hermite_gamma_approximation_function_free_value (GValue* value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (value->data[0].v_pointer) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_unref (value->data[0].v_pointer); +#line 12726 "ColorTransformation.c" + } +} + + +static void value_hermite_gamma_approximation_function_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (src_value->data[0].v_pointer) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = hermite_gamma_approximation_function_ref (src_value->data[0].v_pointer); +#line 12736 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + dest_value->data[0].v_pointer = NULL; +#line 12740 "ColorTransformation.c" + } +} + + +static gpointer value_hermite_gamma_approximation_function_peek_pointer (const GValue* value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 12748 "ColorTransformation.c" +} + + +static gchar* value_hermite_gamma_approximation_function_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (collect_values[0].v_pointer) { +#line 12755 "ColorTransformation.c" + HermiteGammaApproximationFunction* object; + object = collect_values[0].v_pointer; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (object->parent_instance.g_class == NULL) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 12762 "ColorTransformation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 12766 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = hermite_gamma_approximation_function_ref (object); +#line 12770 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 12774 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 12778 "ColorTransformation.c" +} + + +static gchar* value_hermite_gamma_approximation_function_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + HermiteGammaApproximationFunction** object_p; + object_p = collect_values[0].v_pointer; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!object_p) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 12789 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!value->data[0].v_pointer) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = NULL; +#line 12795 "ColorTransformation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = value->data[0].v_pointer; +#line 12799 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *object_p = hermite_gamma_approximation_function_ref (value->data[0].v_pointer); +#line 12803 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return NULL; +#line 12807 "ColorTransformation.c" +} + + +GParamSpec* param_spec_hermite_gamma_approximation_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecHermiteGammaApproximationFunction* spec; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION), NULL); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return G_PARAM_SPEC (spec); +#line 12821 "ColorTransformation.c" +} + + +gpointer value_get_hermite_gamma_approximation_function (const GValue* value) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION), NULL); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return value->data[0].v_pointer; +#line 12830 "ColorTransformation.c" +} + + +void value_set_hermite_gamma_approximation_function (GValue* value, gpointer v_object) { + HermiteGammaApproximationFunction* old; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_ref (value->data[0].v_pointer); +#line 12850 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 12854 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_unref (old); +#line 12860 "ColorTransformation.c" + } +} + + +void value_take_hermite_gamma_approximation_function (GValue* value, gpointer v_object) { + HermiteGammaApproximationFunction* old; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + old = value->data[0].v_pointer; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (v_object) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION)); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = v_object; +#line 12879 "ColorTransformation.c" + } else { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + value->data[0].v_pointer = NULL; +#line 12883 "ColorTransformation.c" + } +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (old) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_unref (old); +#line 12889 "ColorTransformation.c" + } +} + + +static void hermite_gamma_approximation_function_class_init (HermiteGammaApproximationFunctionClass * klass) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + hermite_gamma_approximation_function_parent_class = g_type_class_peek_parent (klass); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((HermiteGammaApproximationFunctionClass *) klass)->finalize = hermite_gamma_approximation_function_finalize; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (HermiteGammaApproximationFunctionPrivate)); +#line 12901 "ColorTransformation.c" +} + + +static void hermite_gamma_approximation_function_instance_init (HermiteGammaApproximationFunction * self) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_PRIVATE (self); +#line 1376 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->x_scale = 1.0f; +#line 1377 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->nonzero_interval_upper = 1.0f; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->ref_count = 1; +#line 12914 "ColorTransformation.c" +} + + +static void hermite_gamma_approximation_function_finalize (HermiteGammaApproximationFunction* obj) { + HermiteGammaApproximationFunction * self; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HERMITE_GAMMA_APPROXIMATION_FUNCTION, HermiteGammaApproximationFunction); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_signal_handlers_destroy (self); +#line 12924 "ColorTransformation.c" +} + + +GType hermite_gamma_approximation_function_get_type (void) { + static volatile gsize hermite_gamma_approximation_function_type_id__volatile = 0; + if (g_once_init_enter (&hermite_gamma_approximation_function_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_hermite_gamma_approximation_function_init, value_hermite_gamma_approximation_function_free_value, value_hermite_gamma_approximation_function_copy_value, value_hermite_gamma_approximation_function_peek_pointer, "p", value_hermite_gamma_approximation_function_collect_value, "p", value_hermite_gamma_approximation_function_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (HermiteGammaApproximationFunctionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hermite_gamma_approximation_function_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HermiteGammaApproximationFunction), 0, (GInstanceInitFunc) hermite_gamma_approximation_function_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType hermite_gamma_approximation_function_type_id; + hermite_gamma_approximation_function_type_id = g_type_register_fundamental (g_type_fundamental_next (), "HermiteGammaApproximationFunction", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&hermite_gamma_approximation_function_type_id__volatile, hermite_gamma_approximation_function_type_id); + } + return hermite_gamma_approximation_function_type_id__volatile; +} + + +gpointer hermite_gamma_approximation_function_ref (gpointer instance) { + HermiteGammaApproximationFunction* self; + self = instance; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_atomic_int_inc (&self->ref_count); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return instance; +#line 12949 "ColorTransformation.c" +} + + +void hermite_gamma_approximation_function_unref (gpointer instance) { + HermiteGammaApproximationFunction* self; + self = instance; +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + HERMITE_GAMMA_APPROXIMATION_FUNCTION_GET_CLASS (self)->finalize (self); +#line 1375 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 12962 "ColorTransformation.c" + } +} + + +HighlightDetailTransformation* highlight_detail_transformation_construct (GType object_type, gfloat user_intensity) { + HighlightDetailTransformation* self = NULL; + gfloat _tmp0_ = 0.0F; + gfloat intensity_adj = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + gfloat effect_shift = 0.0F; + gfloat _tmp3_ = 0.0F; + HermiteGammaApproximationFunction* func = NULL; + HermiteGammaApproximationFunction* _tmp4_ = NULL; + gfloat* _tmp5_ = NULL; +#line 1413 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = (HighlightDetailTransformation*) hsv_transformation_construct (object_type, PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS); +#line 1415 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = user_intensity; +#line 1415 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->intensity = _tmp0_; +#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->intensity; +#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = CLAMP (_tmp1_ / HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER, 0.0f, 1.0f); +#line 1416 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + intensity_adj = _tmp2_; +#line 1418 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = intensity_adj; +#line 1418 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + effect_shift = HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_EFFECT_SHIFT * _tmp3_; +#line 1419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = hermite_gamma_approximation_function_new (HIGHLIGHT_DETAIL_TRANSFORMATION_TONAL_WIDTH); +#line 1419 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + func = _tmp4_; +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = g_new0 (gfloat, 256); +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = _tmp5_; +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 256; +#line 1422 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 13008 "ColorTransformation.c" + { + gint i = 0; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = 0; +#line 13013 "ColorTransformation.c" + { + gboolean _tmp6_ = FALSE; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = TRUE; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 13020 "ColorTransformation.c" + gint _tmp8_ = 0; + gfloat x = 0.0F; + gint _tmp9_ = 0; + gfloat weight = 0.0F; + HermiteGammaApproximationFunction* _tmp10_ = NULL; + gfloat _tmp11_ = 0.0F; + gfloat _tmp12_ = 0.0F; + gfloat* _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + gfloat _tmp15_ = 0.0F; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; + gfloat _tmp18_ = 0.0F; + gfloat _tmp19_ = 0.0F; + gfloat _tmp20_ = 0.0F; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp6_) { +#line 13039 "ColorTransformation.c" + gint _tmp7_ = 0; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = i; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + i = _tmp7_ + 1; +#line 13045 "ColorTransformation.c" + } +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = FALSE; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = i; +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp8_ < 256)) { +#line 1423 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13055 "ColorTransformation.c" + } +#line 1424 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = i; +#line 1424 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + x = ((gfloat) _tmp9_) / 255.0f; +#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = func; +#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = x; +#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = hermite_gamma_approximation_function_evaluate (_tmp10_, 1.0f - _tmp11_); +#line 1425 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + weight = _tmp12_; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = self->priv->remap_table; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13__length1 = self->priv->remap_table_length1; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = i; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = weight; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = x; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = effect_shift; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = weight; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = x; +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_[_tmp14_] = (_tmp15_ * (_tmp16_ - _tmp17_)) + ((1.0f - _tmp18_) * _tmp19_); +#line 1426 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp13_[_tmp14_]; +#line 13089 "ColorTransformation.c" + } + } + } +#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _hermite_gamma_approximation_function_unref0 (func); +#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return self; +#line 13097 "ColorTransformation.c" +} + + +HighlightDetailTransformation* highlight_detail_transformation_new (gfloat user_intensity) { +#line 1412 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return highlight_detail_transformation_construct (TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, user_intensity); +#line 13104 "ColorTransformation.c" +} + + +static void highlight_detail_transformation_real_transform_pixel_hsv (PixelTransformation* base, HSVAnalyticPixel* pixel, HSVAnalyticPixel* result) { + HighlightDetailTransformation * self; + HSVAnalyticPixel _result_ = {0}; + HSVAnalyticPixel _tmp0_ = {0}; + gfloat* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + HSVAnalyticPixel _tmp2_ = {0}; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + gfloat _tmp5_ = 0.0F; +#line 1430 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 1430 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_if_fail (pixel != NULL); +#line 1431 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = *pixel; +#line 1431 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_ = _tmp0_; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = self->priv->remap_table; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1__length1 = self->priv->remap_table_length1; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = *pixel; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = _tmp2_.light_value; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = _tmp1_[(gint) (_tmp3_ * 255.0f)]; +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = CLAMP (_tmp4_, 0.0f, 1.0f); +#line 1432 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _result_.light_value = _tmp5_; +#line 1433 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + *result = _result_; +#line 1433 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return; +#line 13144 "ColorTransformation.c" +} + + +static PixelTransformation* highlight_detail_transformation_real_copy (PixelTransformation* base) { + HighlightDetailTransformation * self; + PixelTransformation* result = NULL; + gfloat _tmp0_ = 0.0F; + HighlightDetailTransformation* _tmp1_ = NULL; +#line 1436 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = highlight_detail_transformation_new (_tmp0_); +#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation); +#line 1437 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 13163 "ColorTransformation.c" +} + + +static gboolean highlight_detail_transformation_real_is_identity (PixelTransformation* base) { + HighlightDetailTransformation * self; + gboolean result = FALSE; + gfloat _tmp0_ = 0.0F; +#line 1440 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_ == 0.0f; +#line 1441 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 13179 "ColorTransformation.c" +} + + +gfloat highlight_detail_transformation_get_parameter (HighlightDetailTransformation* self) { + gfloat result = 0.0F; + gfloat _tmp0_ = 0.0F; +#line 1444 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (IS_HIGHLIGHT_DETAIL_TRANSFORMATION (self), 0.0F); +#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = self->priv->intensity; +#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = _tmp0_; +#line 1445 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 13194 "ColorTransformation.c" +} + + +static void highlight_detail_transformation_class_init (HighlightDetailTransformationClass * klass) { +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + highlight_detail_transformation_parent_class = g_type_class_peek_parent (klass); +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->finalize = highlight_detail_transformation_finalize; +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_type_class_add_private (klass, sizeof (HighlightDetailTransformationPrivate)); +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->transform_pixel_hsv = highlight_detail_transformation_real_transform_pixel_hsv; +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->copy = highlight_detail_transformation_real_copy; +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + ((PixelTransformationClass *) klass)->is_identity = highlight_detail_transformation_real_is_identity; +#line 13211 "ColorTransformation.c" +} + + +static void highlight_detail_transformation_instance_init (HighlightDetailTransformation * self) { +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv = HIGHLIGHT_DETAIL_TRANSFORMATION_GET_PRIVATE (self); +#line 1406 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->intensity = 0.0f; +#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = NULL; +#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table_length1 = 0; +#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->_remap_table_size_ = self->priv->remap_table_length1; +#line 13226 "ColorTransformation.c" +} + + +static void highlight_detail_transformation_finalize (PixelTransformation* obj) { + HighlightDetailTransformation * self; +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 1407 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + self->priv->remap_table = (g_free (self->priv->remap_table), NULL); +#line 1400 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + PIXEL_TRANSFORMATION_CLASS (highlight_detail_transformation_parent_class)->finalize (obj); +#line 13238 "ColorTransformation.c" +} + + +GType highlight_detail_transformation_get_type (void) { + static volatile gsize highlight_detail_transformation_type_id__volatile = 0; + if (g_once_init_enter (&highlight_detail_transformation_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (HighlightDetailTransformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) highlight_detail_transformation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HighlightDetailTransformation), 0, (GInstanceInitFunc) highlight_detail_transformation_instance_init, NULL }; + GType highlight_detail_transformation_type_id; + highlight_detail_transformation_type_id = g_type_register_static (TYPE_HSV_TRANSFORMATION, "HighlightDetailTransformation", &g_define_type_info, 0); + g_once_init_leave (&highlight_detail_transformation_type_id__volatile, highlight_detail_transformation_type_id); + } + return highlight_detail_transformation_type_id__volatile; +} + + +PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf) { + PixelTransformationBundle* result = NULL; + PixelTransformationBundle* adjustments = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + IntensityHistogram* analysis_histogram = NULL; + GdkPixbuf* _tmp1_ = NULL; + IntensityHistogram* _tmp2_ = NULL; + gfloat pct_in_range = 0.0F; + IntensityHistogram* _tmp3_ = NULL; + gfloat _tmp4_ = 0.0F; + IntensityHistogram* _tmp5_ = NULL; + gfloat _tmp6_ = 0.0F; + gfloat shadow_range_mean_prob_val = 0.0F; + IntensityHistogram* _tmp7_ = NULL; + gfloat _tmp8_ = 0.0F; + IntensityHistogram* _tmp9_ = NULL; + gfloat _tmp10_ = 0.0F; + gint shadow_mean_intensity = 0; + gboolean _tmp18_ = FALSE; + gfloat _tmp19_ = 0.0F; + PixelTransformationBundle* _tmp46_ = NULL; + HighlightDetailTransformation* _tmp47_ = NULL; + HighlightDetailTransformation* _tmp48_ = NULL; + PixelTransformationBundle* _tmp49_ = NULL; + TemperatureTransformation* _tmp50_ = NULL; + TemperatureTransformation* _tmp51_ = NULL; + PixelTransformationBundle* _tmp52_ = NULL; + TintTransformation* _tmp53_ = NULL; + TintTransformation* _tmp54_ = NULL; + PixelTransformationBundle* _tmp55_ = NULL; + ExposureTransformation* _tmp56_ = NULL; + ExposureTransformation* _tmp57_ = NULL; + PixelTransformationBundle* _tmp58_ = NULL; + SaturationTransformation* _tmp59_ = NULL; + SaturationTransformation* _tmp60_ = NULL; +#line 1458 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 1459 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp0_ = pixel_transformation_bundle_new (); +#line 1459 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + adjustments = _tmp0_; +#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp1_ = pixbuf; +#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp2_ = intensity_histogram_new (_tmp1_); +#line 1461 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + analysis_histogram = _tmp2_; +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp3_ = analysis_histogram; +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp4_ = intensity_histogram_get_cumulative_probability (_tmp3_, AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY); +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp5_ = analysis_histogram; +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp6_ = intensity_histogram_get_cumulative_probability (_tmp5_, AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY); +#line 1464 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pct_in_range = 100.0f * (_tmp4_ - _tmp6_); +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp7_ = analysis_histogram; +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp8_ = intensity_histogram_get_cumulative_probability (_tmp7_, AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY); +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp9_ = analysis_histogram; +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp10_ = intensity_histogram_get_cumulative_probability (_tmp9_, AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY); +#line 1470 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_range_mean_prob_val = (_tmp8_ + _tmp10_) * 0.5f; +#line 1473 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_mean_intensity = AUTO_ENHANCE_SHADOW_DETECT_MIN_INTENSITY; +#line 13323 "ColorTransformation.c" + { + gboolean _tmp11_ = FALSE; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = TRUE; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 13330 "ColorTransformation.c" + gint _tmp13_ = 0; + IntensityHistogram* _tmp14_ = NULL; + gint _tmp15_ = 0; + gfloat _tmp16_ = 0.0F; + gfloat _tmp17_ = 0.0F; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp11_) { +#line 13338 "ColorTransformation.c" + gint _tmp12_ = 0; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp12_ = shadow_mean_intensity; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_mean_intensity = _tmp12_ + 1; +#line 13344 "ColorTransformation.c" + } +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp11_ = FALSE; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp13_ = shadow_mean_intensity; +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp13_ <= AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY)) { +#line 1474 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13354 "ColorTransformation.c" + } +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp14_ = analysis_histogram; +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp15_ = shadow_mean_intensity; +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp16_ = intensity_histogram_get_cumulative_probability (_tmp14_, _tmp15_); +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp17_ = shadow_range_mean_prob_val; +#line 1475 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp16_ >= _tmp17_) { +#line 1476 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13368 "ColorTransformation.c" + } + } + } +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp19_ = pct_in_range; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp19_ > 40.0f) { +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = TRUE; +#line 13378 "ColorTransformation.c" + } else { + gboolean _tmp20_ = FALSE; + gfloat _tmp21_ = 0.0F; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp21_ = pct_in_range; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp21_ > 20.0f) { +#line 13386 "ColorTransformation.c" + gint _tmp22_ = 0; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp22_ = shadow_mean_intensity; +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = _tmp22_ < AUTO_ENHANCE_EMPIRICAL_DARK; +#line 13392 "ColorTransformation.c" + } else { +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp20_ = FALSE; +#line 13396 "ColorTransformation.c" + } +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp18_ = _tmp20_; +#line 13400 "ColorTransformation.c" + } +#line 1484 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (_tmp18_) { +#line 13404 "ColorTransformation.c" + gfloat shadow_trans_effect_size = 0.0F; + gint _tmp23_ = 0; + gfloat _tmp24_ = 0.0F; + PixelTransformationBundle* _tmp25_ = NULL; + gfloat _tmp26_ = 0.0F; + ShadowDetailTransformation* _tmp27_ = NULL; + ShadowDetailTransformation* _tmp28_ = NULL; + gint discard_point = 0; + PixelTransformationBundle* _tmp35_ = NULL; + gint _tmp36_ = 0; + ExpansionTransformation* _tmp37_ = NULL; + ExpansionTransformation* _tmp38_ = NULL; +#line 1485 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp23_ = shadow_mean_intensity; +#line 1485 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_trans_effect_size = ((((gfloat) AUTO_ENHANCE_SHADOW_DETECT_MAX_INTENSITY) - ((gfloat) _tmp23_)) / ((gfloat) AUTO_ENHANCE_SHADOW_DETECT_INTENSITY_RANGE)) * SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER; +#line 1489 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp24_ = shadow_trans_effect_size; +#line 1489 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + shadow_trans_effect_size = _tmp24_ * AUTO_ENHANCE_SHADOW_AGGRESSIVENESS_MUL; +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp25_ = adjustments; +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp26_ = shadow_trans_effect_size; +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp27_ = shadow_detail_transformation_new (_tmp26_); +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp28_ = _tmp27_; +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1491 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp28_); +#line 1495 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + discard_point = 255; +#line 13439 "ColorTransformation.c" + { + gboolean _tmp29_ = FALSE; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = TRUE; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + while (TRUE) { +#line 13446 "ColorTransformation.c" + gint _tmp31_ = 0; + IntensityHistogram* _tmp32_ = NULL; + gint _tmp33_ = 0; + gfloat _tmp34_ = 0.0F; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!_tmp29_) { +#line 13453 "ColorTransformation.c" + gint _tmp30_ = 0; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp30_ = discard_point; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + discard_point = _tmp30_ - 1; +#line 13459 "ColorTransformation.c" + } +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp29_ = FALSE; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp31_ = discard_point; +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if (!(_tmp31_ > -1)) { +#line 1496 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13469 "ColorTransformation.c" + } +#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp32_ = analysis_histogram; +#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp33_ = discard_point; +#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp34_ = intensity_histogram_get_cumulative_probability (_tmp32_, _tmp33_); +#line 1497 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + if ((1.0f - _tmp34_) > AUTO_ENHANCE_SHADOW_MODE_HIGH_DISCARD_MASS) { +#line 1499 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + break; +#line 13481 "ColorTransformation.c" + } + } + } +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp35_ = adjustments; +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp36_ = discard_point; +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp37_ = expansion_transformation_new_from_extrema (0, _tmp36_); +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp38_ = _tmp37_; +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp35_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1502 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp38_); +#line 13497 "ColorTransformation.c" + } else { + PixelTransformationBundle* _tmp39_ = NULL; + IntensityHistogram* _tmp40_ = NULL; + ExpansionTransformation* _tmp41_ = NULL; + ExpansionTransformation* _tmp42_ = NULL; + PixelTransformationBundle* _tmp43_ = NULL; + ShadowDetailTransformation* _tmp44_ = NULL; + ShadowDetailTransformation* _tmp45_ = NULL; +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp39_ = adjustments; +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp40_ = analysis_histogram; +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp41_ = expansion_transformation_new (_tmp40_); +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp42_ = _tmp41_; +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp39_, G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1505 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp42_); +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp43_ = adjustments; +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp44_ = shadow_detail_transformation_new ((gfloat) 0); +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp45_ = _tmp44_; +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp43_, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1506 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp45_); +#line 13528 "ColorTransformation.c" + } +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp46_ = adjustments; +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp47_ = highlight_detail_transformation_new (0.0f); +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp48_ = _tmp47_; +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp46_, G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1510 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp48_); +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp49_ = adjustments; +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp50_ = temperature_transformation_new (0.0f); +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp51_ = _tmp50_; +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp49_, G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1511 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp51_); +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp52_ = adjustments; +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp53_ = tint_transformation_new (0.0f); +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp54_ = _tmp53_; +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp52_, G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1512 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp54_); +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp55_ = adjustments; +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp56_ = exposure_transformation_new (0.0f); +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp57_ = _tmp56_; +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp55_, G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1513 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp57_); +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp58_ = adjustments; +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp59_ = saturation_transformation_new (0.0f); +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _tmp60_ = _tmp59_; +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + pixel_transformation_bundle_set (_tmp58_, G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 1514 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _pixel_transformation_unref0 (_tmp60_); +#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + result = adjustments; +#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + _intensity_histogram_unref0 (analysis_histogram); +#line 1516 "/home/jens/Source/shotwell/src/ColorTransformation.vala" + return result; +#line 13586 "ColorTransformation.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/CommandManager.c b/src/CommandManager.c new file mode 100644 index 0000000..60cb438 --- /dev/null +++ b/src/CommandManager.c @@ -0,0 +1,1290 @@ +/* CommandManager.c generated by valac 0.32.1, the Vala compiler + * generated from CommandManager.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#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_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 _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _CommandManagerPrivate CommandManagerPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecCommandManager ParamSpecCommandManager; +#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 _CommandPrivate { + gchar* name; + gchar* explanation; + CommandManager* manager; +}; + +struct _CommandManager { + GTypeInstance parent_instance; + volatile int ref_count; + CommandManagerPrivate * priv; +}; + +struct _CommandManagerClass { + GTypeClass parent_class; + void (*finalize) (CommandManager *self); +}; + +struct _CommandManagerPrivate { + gint depth; + GeeArrayList* undo_stack; + GeeArrayList* redo_stack; +}; + +struct _ParamSpecCommandManager { + GParamSpec parent_instance; +}; + + +static gpointer command_parent_class = NULL; +static CommandDescriptionIface* command_command_description_parent_iface = NULL; +static gpointer command_manager_parent_class = NULL; + +GType command_description_get_type (void) G_GNUC_CONST; +gchar* command_description_get_name (CommandDescription* self); +gchar* command_description_get_explanation (CommandDescription* self); +GType command_get_type (void) G_GNUC_CONST; +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; +#define COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_COMMAND, CommandPrivate)) +enum { + COMMAND_DUMMY_PROPERTY +}; +Command* command_construct (GType object_type, const gchar* name, const gchar* explanation); +void command_prepare (Command* self); +static void command_real_prepare (Command* self); +void command_execute (Command* self); +static void command_real_execute (Command* self); +void command_undo (Command* self); +static void command_real_undo (Command* self); +void command_redo (Command* self); +static void command_real_redo (Command* self); +gboolean command_compress (Command* self, Command* command); +static gboolean command_real_compress (Command* self, Command* command); +gchar* command_get_name (Command* self); +static gchar* command_real_get_name (Command* self); +gchar* command_get_explanation (Command* self); +static gchar* command_real_get_explanation (Command* self); +CommandManager* command_get_command_manager (Command* self); +void command_internal_set_command_manager (Command* self, CommandManager* manager); +static void command_finalize (GObject* obj); +#define COMMAND_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_COMMAND_MANAGER, CommandManagerPrivate)) +enum { + COMMAND_MANAGER_DUMMY_PROPERTY +}; +#define COMMAND_MANAGER_DEFAULT_DEPTH 20 +CommandManager* command_manager_new (gint depth); +CommandManager* command_manager_construct (GType object_type, gint depth); +void command_manager_reset (CommandManager* self); +void command_manager_execute (CommandManager* self, Command* command); +static Command* command_manager_top (CommandManager* self, GeeArrayList* stack); +static void command_manager_push (CommandManager* self, GeeArrayList* stack, Command* command); +gboolean command_manager_can_undo (CommandManager* self); +gboolean command_manager_can_redo (CommandManager* self); +CommandDescription* command_manager_get_undo_description (CommandManager* self); +gboolean command_manager_undo (CommandManager* self); +static Command* command_manager_pop (CommandManager* self, GeeArrayList* stack); +CommandDescription* command_manager_get_redo_description (CommandManager* self); +gboolean command_manager_redo (CommandManager* self); +static void g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void command_manager_finalize (CommandManager* obj); + + +gchar* command_description_get_name (CommandDescription* self) { +#line 8 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_DESCRIPTION (self), NULL); +#line 8 "/home/jens/Source/shotwell/src/CommandManager.vala" + return COMMAND_DESCRIPTION_GET_INTERFACE (self)->get_name (self); +#line 170 "CommandManager.c" +} + + +gchar* command_description_get_explanation (CommandDescription* self) { +#line 10 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_DESCRIPTION (self), NULL); +#line 10 "/home/jens/Source/shotwell/src/CommandManager.vala" + return COMMAND_DESCRIPTION_GET_INTERFACE (self)->get_explanation (self); +#line 179 "CommandManager.c" +} + + +static void command_description_base_init (CommandDescriptionIface * iface) { +#line 7 "/home/jens/Source/shotwell/src/CommandManager.vala" + static gboolean initialized = FALSE; +#line 7 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (!initialized) { +#line 7 "/home/jens/Source/shotwell/src/CommandManager.vala" + initialized = TRUE; +#line 190 "CommandManager.c" + } +} + + +GType command_description_get_type (void) { + static volatile gsize command_description_type_id__volatile = 0; + if (g_once_init_enter (&command_description_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CommandDescriptionIface), (GBaseInitFunc) command_description_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType command_description_type_id; + command_description_type_id = g_type_register_static (G_TYPE_INTERFACE, "CommandDescription", &g_define_type_info, 0); + g_type_interface_add_prerequisite (command_description_type_id, G_TYPE_OBJECT); + g_once_init_leave (&command_description_type_id__volatile, command_description_type_id); + } + return command_description_type_id__volatile; +} + + +Command* command_construct (GType object_type, const gchar* name, const gchar* explanation) { + Command * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 32 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (explanation != NULL, NULL); +#line 32 "/home/jens/Source/shotwell/src/CommandManager.vala" + self = (Command*) g_object_new (object_type, NULL); +#line 33 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = name; +#line 33 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 33 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_free0 (self->priv->name); +#line 33 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv->name = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = explanation; +#line 34 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 34 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_free0 (self->priv->explanation); +#line 34 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv->explanation = _tmp3_; +#line 32 "/home/jens/Source/shotwell/src/CommandManager.vala" + return self; +#line 238 "CommandManager.c" +} + + +static void command_real_prepare (Command* self) { +} + + +void command_prepare (Command* self) { +#line 43 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND (self)); +#line 43 "/home/jens/Source/shotwell/src/CommandManager.vala" + COMMAND_GET_CLASS (self)->prepare (self); +#line 251 "CommandManager.c" +} + + +static void command_real_execute (Command* self) { +#line 46 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_critical ("Type `%s' does not implement abstract method `command_execute'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 46 "/home/jens/Source/shotwell/src/CommandManager.vala" + return; +#line 260 "CommandManager.c" +} + + +void command_execute (Command* self) { +#line 46 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND (self)); +#line 46 "/home/jens/Source/shotwell/src/CommandManager.vala" + COMMAND_GET_CLASS (self)->execute (self); +#line 269 "CommandManager.c" +} + + +static void command_real_undo (Command* self) { +#line 48 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_critical ("Type `%s' does not implement abstract method `command_undo'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 48 "/home/jens/Source/shotwell/src/CommandManager.vala" + return; +#line 278 "CommandManager.c" +} + + +void command_undo (Command* self) { +#line 48 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND (self)); +#line 48 "/home/jens/Source/shotwell/src/CommandManager.vala" + COMMAND_GET_CLASS (self)->undo (self); +#line 287 "CommandManager.c" +} + + +static void command_real_redo (Command* self) { +#line 51 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_execute (self); +#line 294 "CommandManager.c" +} + + +void command_redo (Command* self) { +#line 50 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND (self)); +#line 50 "/home/jens/Source/shotwell/src/CommandManager.vala" + COMMAND_GET_CLASS (self)->redo (self); +#line 303 "CommandManager.c" +} + + +static gboolean command_real_compress (Command* self, Command* command) { + gboolean result = FALSE; +#line 56 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND (command), FALSE); +#line 57 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = FALSE; +#line 57 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 315 "CommandManager.c" +} + + +gboolean command_compress (Command* self, Command* command) { +#line 56 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND (self), FALSE); +#line 56 "/home/jens/Source/shotwell/src/CommandManager.vala" + return COMMAND_GET_CLASS (self)->compress (self, command); +#line 324 "CommandManager.c" +} + + +static gchar* command_real_get_name (Command* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->name; +#line 61 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 61 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = _tmp1_; +#line 61 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 340 "CommandManager.c" +} + + +gchar* command_get_name (Command* self) { +#line 60 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND (self), NULL); +#line 60 "/home/jens/Source/shotwell/src/CommandManager.vala" + return COMMAND_GET_CLASS (self)->get_name (self); +#line 349 "CommandManager.c" +} + + +static gchar* command_real_get_explanation (Command* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->explanation; +#line 65 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 65 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = _tmp1_; +#line 65 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 365 "CommandManager.c" +} + + +gchar* command_get_explanation (Command* self) { +#line 64 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND (self), NULL); +#line 64 "/home/jens/Source/shotwell/src/CommandManager.vala" + return COMMAND_GET_CLASS (self)->get_explanation (self); +#line 374 "CommandManager.c" +} + + +static gpointer _command_manager_ref0 (gpointer self) { +#line 69 "/home/jens/Source/shotwell/src/CommandManager.vala" + return self ? command_manager_ref (self) : NULL; +#line 381 "CommandManager.c" +} + + +CommandManager* command_get_command_manager (Command* self) { + CommandManager* result = NULL; + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND (self), NULL); +#line 69 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->manager; +#line 69 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = _command_manager_ref0 (_tmp0_); +#line 69 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = _tmp1_; +#line 69 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 399 "CommandManager.c" +} + + +void command_internal_set_command_manager (Command* self, CommandManager* manager) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND (self)); +#line 73 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND_MANAGER (manager)); +#line 74 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->manager; +#line 74 "/home/jens/Source/shotwell/src/CommandManager.vala" + _vala_assert (_tmp0_ == NULL, "this.manager == null"); +#line 76 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = manager; +#line 76 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv->manager = _tmp1_; +#line 418 "CommandManager.c" +} + + +static void command_class_init (CommandClass * klass) { +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_parent_class = g_type_class_peek_parent (klass); +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_type_class_add_private (klass, sizeof (CommandPrivate)); +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + ((CommandClass *) klass)->prepare = command_real_prepare; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + ((CommandClass *) klass)->execute = command_real_execute; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + ((CommandClass *) klass)->undo = command_real_undo; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + ((CommandClass *) klass)->redo = command_real_redo; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + ((CommandClass *) klass)->compress = command_real_compress; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + ((CommandClass *) klass)->get_name = command_real_get_name; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + ((CommandClass *) klass)->get_explanation = command_real_get_explanation; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + G_OBJECT_CLASS (klass)->finalize = command_finalize; +#line 443 "CommandManager.c" +} + + +static void command_command_description_interface_init (CommandDescriptionIface * iface) { +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_command_description_parent_iface = g_type_interface_peek_parent (iface); +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + iface->get_name = (gchar* (*)(CommandDescription*)) command_get_name; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + iface->get_explanation = (gchar* (*)(CommandDescription*)) command_get_explanation; +#line 454 "CommandManager.c" +} + + +static void command_instance_init (Command * self) { +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv = COMMAND_GET_PRIVATE (self); +#line 30 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv->manager = NULL; +#line 463 "CommandManager.c" +} + + +static void command_finalize (GObject* obj) { + Command * self; +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COMMAND, Command); +#line 28 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_free0 (self->priv->name); +#line 29 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_free0 (self->priv->explanation); +#line 27 "/home/jens/Source/shotwell/src/CommandManager.vala" + G_OBJECT_CLASS (command_parent_class)->finalize (obj); +#line 477 "CommandManager.c" +} + + +GType command_get_type (void) { + static volatile gsize command_type_id__volatile = 0; + if (g_once_init_enter (&command_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Command), 0, (GInstanceInitFunc) command_instance_init, NULL }; + static const GInterfaceInfo command_description_info = { (GInterfaceInitFunc) command_command_description_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType command_type_id; + command_type_id = g_type_register_static (G_TYPE_OBJECT, "Command", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (command_type_id, TYPE_COMMAND_DESCRIPTION, &command_description_info); + g_once_init_leave (&command_type_id__volatile, command_type_id); + } + return command_type_id__volatile; +} + + +CommandManager* command_manager_construct (GType object_type, gint depth) { + CommandManager* self = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 89 "/home/jens/Source/shotwell/src/CommandManager.vala" + self = (CommandManager*) g_type_create_instance (object_type); +#line 90 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = depth; +#line 90 "/home/jens/Source/shotwell/src/CommandManager.vala" + _vala_assert (_tmp0_ > 0, "depth > 0"); +#line 92 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = depth; +#line 92 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv->depth = _tmp1_; +#line 89 "/home/jens/Source/shotwell/src/CommandManager.vala" + return self; +#line 511 "CommandManager.c" +} + + +CommandManager* command_manager_new (gint depth) { +#line 89 "/home/jens/Source/shotwell/src/CommandManager.vala" + return command_manager_construct (TYPE_COMMAND_MANAGER, depth); +#line 518 "CommandManager.c" +} + + +void command_manager_reset (CommandManager* self) { + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND_MANAGER (self)); +#line 96 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->undo_stack; +#line 96 "/home/jens/Source/shotwell/src/CommandManager.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 97 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = self->priv->redo_stack; +#line 97 "/home/jens/Source/shotwell/src/CommandManager.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 99 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_signal_emit_by_name (self, "altered", FALSE, FALSE); +#line 537 "CommandManager.c" +} + + +void command_manager_execute (CommandManager* self, Command* command) { + Command* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + Command* top_command = NULL; + GeeArrayList* _tmp2_ = NULL; + Command* _tmp3_ = NULL; + Command* _tmp4_ = NULL; + GeeArrayList* _tmp8_ = NULL; + Command* _tmp9_ = NULL; + Command* _tmp10_ = NULL; + Command* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 102 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND_MANAGER (self)); +#line 102 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND (command)); +#line 104 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = command; +#line 104 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_internal_set_command_manager (_tmp0_, self); +#line 107 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = self->priv->redo_stack; +#line 107 "/home/jens/Source/shotwell/src/CommandManager.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 110 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = self->priv->undo_stack; +#line 110 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp3_ = command_manager_top (self, _tmp2_); +#line 110 "/home/jens/Source/shotwell/src/CommandManager.vala" + top_command = _tmp3_; +#line 111 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp4_ = top_command; +#line 111 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (_tmp4_ != NULL) { +#line 576 "CommandManager.c" + Command* _tmp5_ = NULL; + Command* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 112 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp5_ = top_command; +#line 112 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp6_ = command; +#line 112 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp7_ = command_compress (_tmp5_, _tmp6_); +#line 112 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (_tmp7_) { +#line 113 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (top_command); +#line 113 "/home/jens/Source/shotwell/src/CommandManager.vala" + return; +#line 592 "CommandManager.c" + } + } +#line 117 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp8_ = self->priv->undo_stack; +#line 117 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp9_ = command; +#line 117 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_manager_push (self, _tmp8_, _tmp9_); +#line 119 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp10_ = command; +#line 119 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_prepare (_tmp10_); +#line 120 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp11_ = command; +#line 120 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_execute (_tmp11_); +#line 123 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp12_ = command_manager_can_undo (self); +#line 123 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp13_ = command_manager_can_redo (self); +#line 123 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_signal_emit_by_name (self, "altered", _tmp12_, _tmp13_); +#line 102 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (top_command); +#line 617 "CommandManager.c" +} + + +gboolean command_manager_can_undo (CommandManager* self) { + gboolean result = FALSE; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 126 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_MANAGER (self), FALSE); +#line 127 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->undo_stack; +#line 127 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 127 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = _tmp1_; +#line 127 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = _tmp2_ > 0; +#line 127 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 638 "CommandManager.c" +} + + +CommandDescription* command_manager_get_undo_description (CommandManager* self) { + CommandDescription* result = NULL; + GeeArrayList* _tmp0_ = NULL; + Command* _tmp1_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_MANAGER (self), NULL); +#line 131 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->undo_stack; +#line 131 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = command_manager_top (self, _tmp0_); +#line 131 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_COMMAND_DESCRIPTION, CommandDescription); +#line 131 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 656 "CommandManager.c" +} + + +gboolean command_manager_undo (CommandManager* self) { + gboolean result = FALSE; + Command* command = NULL; + GeeArrayList* _tmp0_ = NULL; + Command* _tmp1_ = NULL; + Command* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + Command* _tmp4_ = NULL; + Command* _tmp5_ = NULL; + Command* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 134 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_MANAGER (self), FALSE); +#line 135 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->undo_stack; +#line 135 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = command_manager_pop (self, _tmp0_); +#line 135 "/home/jens/Source/shotwell/src/CommandManager.vala" + command = _tmp1_; +#line 136 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = command; +#line 136 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (_tmp2_ == NULL) { +#line 137 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = FALSE; +#line 137 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (command); +#line 137 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 690 "CommandManager.c" + } +#line 140 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp3_ = self->priv->redo_stack; +#line 140 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp4_ = command; +#line 140 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_manager_push (self, _tmp3_, _tmp4_); +#line 143 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp5_ = command; +#line 143 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_prepare (_tmp5_); +#line 144 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp6_ = command; +#line 144 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_undo (_tmp6_); +#line 147 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp7_ = command_manager_can_undo (self); +#line 147 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp8_ = command_manager_can_redo (self); +#line 147 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_signal_emit_by_name (self, "altered", _tmp7_, _tmp8_); +#line 149 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = TRUE; +#line 149 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (command); +#line 149 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 718 "CommandManager.c" +} + + +gboolean command_manager_can_redo (CommandManager* self) { + gboolean result = FALSE; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 152 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_MANAGER (self), FALSE); +#line 153 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->redo_stack; +#line 153 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 153 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = _tmp1_; +#line 153 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = _tmp2_ > 0; +#line 153 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 739 "CommandManager.c" +} + + +CommandDescription* command_manager_get_redo_description (CommandManager* self) { + CommandDescription* result = NULL; + GeeArrayList* _tmp0_ = NULL; + Command* _tmp1_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_MANAGER (self), NULL); +#line 157 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->redo_stack; +#line 157 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = command_manager_top (self, _tmp0_); +#line 157 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_COMMAND_DESCRIPTION, CommandDescription); +#line 157 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 757 "CommandManager.c" +} + + +gboolean command_manager_redo (CommandManager* self) { + gboolean result = FALSE; + Command* command = NULL; + GeeArrayList* _tmp0_ = NULL; + Command* _tmp1_ = NULL; + Command* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + Command* _tmp4_ = NULL; + Command* _tmp5_ = NULL; + Command* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 160 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_MANAGER (self), FALSE); +#line 161 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = self->priv->redo_stack; +#line 161 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = command_manager_pop (self, _tmp0_); +#line 161 "/home/jens/Source/shotwell/src/CommandManager.vala" + command = _tmp1_; +#line 162 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = command; +#line 162 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (_tmp2_ == NULL) { +#line 163 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = FALSE; +#line 163 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (command); +#line 163 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 791 "CommandManager.c" + } +#line 166 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp3_ = self->priv->undo_stack; +#line 166 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp4_ = command; +#line 166 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_manager_push (self, _tmp3_, _tmp4_); +#line 169 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp5_ = command; +#line 169 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_prepare (_tmp5_); +#line 170 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp6_ = command; +#line 170 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_redo (_tmp6_); +#line 173 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp7_ = command_manager_can_undo (self); +#line 173 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp8_ = command_manager_can_redo (self); +#line 173 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_signal_emit_by_name (self, "altered", _tmp7_, _tmp8_); +#line 175 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = TRUE; +#line 175 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (command); +#line 175 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 819 "CommandManager.c" +} + + +static Command* command_manager_top (CommandManager* self, GeeArrayList* stack) { + Command* result = NULL; + Command* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 178 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_MANAGER (self), NULL); +#line 178 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (GEE_IS_ARRAY_LIST (stack), NULL); +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = stack; +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp3_ = _tmp2_; +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (_tmp3_ > 0) { +#line 841 "CommandManager.c" + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gpointer _tmp8_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp4_ = stack; +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp5_ = stack; +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp6_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp7_ = _tmp6_; +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp8_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp7_ - 1); +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (_tmp0_); +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = (Command*) _tmp8_; +#line 861 "CommandManager.c" + } else { +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (_tmp0_); +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = NULL; +#line 867 "CommandManager.c" + } +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = _tmp0_; +#line 179 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 873 "CommandManager.c" +} + + +static void command_manager_push (CommandManager* self, GeeArrayList* stack, Command* command) { + GeeArrayList* _tmp0_ = NULL; + Command* _tmp1_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND_MANAGER (self)); +#line 182 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (GEE_IS_ARRAY_LIST (stack)); +#line 182 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (IS_COMMAND (command)); +#line 183 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = stack; +#line 183 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = command; +#line 183 "/home/jens/Source/shotwell/src/CommandManager.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 186 "/home/jens/Source/shotwell/src/CommandManager.vala" + while (TRUE) { +#line 894 "CommandManager.c" + GeeArrayList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GeeArrayList* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Command* _tmp8_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = stack; +#line 186 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 186 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp4_ = _tmp3_; +#line 186 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp5_ = self->priv->depth; +#line 186 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (!(_tmp4_ >= _tmp5_)) { +#line 186 "/home/jens/Source/shotwell/src/CommandManager.vala" + break; +#line 914 "CommandManager.c" + } +#line 187 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp6_ = stack; +#line 187 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp7_ = gee_abstract_list_remove_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 187 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp8_ = (Command*) _tmp7_; +#line 187 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (_tmp8_); +#line 924 "CommandManager.c" + } +} + + +static Command* command_manager_pop (CommandManager* self, GeeArrayList* stack) { + Command* result = NULL; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + Command* command = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gpointer _tmp7_ = NULL; + gboolean removed = FALSE; + GeeArrayList* _tmp8_ = NULL; + Command* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; +#line 190 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (IS_COMMAND_MANAGER (self), NULL); +#line 190 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (GEE_IS_ARRAY_LIST (stack), NULL); +#line 191 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = stack; +#line 191 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 191 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp2_ = _tmp1_; +#line 191 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (_tmp2_ <= 0) { +#line 192 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = NULL; +#line 192 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 961 "CommandManager.c" + } +#line 194 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp3_ = stack; +#line 194 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp4_ = stack; +#line 194 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp5_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 194 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp6_ = _tmp5_; +#line 194 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp7_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp6_ - 1); +#line 194 "/home/jens/Source/shotwell/src/CommandManager.vala" + command = (Command*) _tmp7_; +#line 195 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp8_ = stack; +#line 195 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp9_ = command; +#line 195 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp10_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp9_); +#line 195 "/home/jens/Source/shotwell/src/CommandManager.vala" + removed = _tmp10_; +#line 196 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp11_ = removed; +#line 196 "/home/jens/Source/shotwell/src/CommandManager.vala" + _vala_assert (_tmp11_, "removed"); +#line 198 "/home/jens/Source/shotwell/src/CommandManager.vala" + result = command; +#line 198 "/home/jens/Source/shotwell/src/CommandManager.vala" + return result; +#line 991 "CommandManager.c" +} + + +static void g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__BOOLEAN_BOOLEAN) (gpointer data1, gboolean arg_1, gboolean arg_2, gpointer data2); + register GMarshalFunc_VOID__BOOLEAN_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (n_param_values == 3); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + data1 = closure->data; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + data2 = param_values->data[0].v_pointer; +#line 1010 "CommandManager.c" + } else { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + data1 = param_values->data[0].v_pointer; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + data2 = closure->data; +#line 1016 "CommandManager.c" + } +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + callback = (GMarshalFunc_VOID__BOOLEAN_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + callback (data1, g_value_get_boolean (param_values + 1), g_value_get_boolean (param_values + 2), data2); +#line 1022 "CommandManager.c" +} + + +static void value_command_manager_init (GValue* value) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + value->data[0].v_pointer = NULL; +#line 1029 "CommandManager.c" +} + + +static void value_command_manager_free_value (GValue* value) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (value->data[0].v_pointer) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_manager_unref (value->data[0].v_pointer); +#line 1038 "CommandManager.c" + } +} + + +static void value_command_manager_copy_value (const GValue* src_value, GValue* dest_value) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (src_value->data[0].v_pointer) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + dest_value->data[0].v_pointer = command_manager_ref (src_value->data[0].v_pointer); +#line 1048 "CommandManager.c" + } else { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + dest_value->data[0].v_pointer = NULL; +#line 1052 "CommandManager.c" + } +} + + +static gpointer value_command_manager_peek_pointer (const GValue* value) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return value->data[0].v_pointer; +#line 1060 "CommandManager.c" +} + + +static gchar* value_command_manager_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (collect_values[0].v_pointer) { +#line 1067 "CommandManager.c" + CommandManager* object; + object = collect_values[0].v_pointer; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (object->parent_instance.g_class == NULL) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1074 "CommandManager.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1078 "CommandManager.c" + } +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + value->data[0].v_pointer = command_manager_ref (object); +#line 1082 "CommandManager.c" + } else { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + value->data[0].v_pointer = NULL; +#line 1086 "CommandManager.c" + } +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return NULL; +#line 1090 "CommandManager.c" +} + + +static gchar* value_command_manager_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + CommandManager** object_p; + object_p = collect_values[0].v_pointer; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (!object_p) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1101 "CommandManager.c" + } +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (!value->data[0].v_pointer) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + *object_p = NULL; +#line 1107 "CommandManager.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + *object_p = value->data[0].v_pointer; +#line 1111 "CommandManager.c" + } else { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + *object_p = command_manager_ref (value->data[0].v_pointer); +#line 1115 "CommandManager.c" + } +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return NULL; +#line 1119 "CommandManager.c" +} + + +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecCommandManager* spec; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_COMMAND_MANAGER), NULL); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return G_PARAM_SPEC (spec); +#line 1133 "CommandManager.c" +} + + +gpointer value_get_command_manager (const GValue* value) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMMAND_MANAGER), NULL); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return value->data[0].v_pointer; +#line 1142 "CommandManager.c" +} + + +void value_set_command_manager (GValue* value, gpointer v_object) { + CommandManager* old; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMMAND_MANAGER)); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + old = value->data[0].v_pointer; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (v_object) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_COMMAND_MANAGER)); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + value->data[0].v_pointer = v_object; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_manager_ref (value->data[0].v_pointer); +#line 1162 "CommandManager.c" + } else { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + value->data[0].v_pointer = NULL; +#line 1166 "CommandManager.c" + } +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (old) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_manager_unref (old); +#line 1172 "CommandManager.c" + } +} + + +void value_take_command_manager (GValue* value, gpointer v_object) { + CommandManager* old; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_COMMAND_MANAGER)); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + old = value->data[0].v_pointer; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (v_object) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_COMMAND_MANAGER)); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + value->data[0].v_pointer = v_object; +#line 1191 "CommandManager.c" + } else { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + value->data[0].v_pointer = NULL; +#line 1195 "CommandManager.c" + } +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (old) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_manager_unref (old); +#line 1201 "CommandManager.c" + } +} + + +static void command_manager_class_init (CommandManagerClass * klass) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + command_manager_parent_class = g_type_class_peek_parent (klass); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + ((CommandManagerClass *) klass)->finalize = command_manager_finalize; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_type_class_add_private (klass, sizeof (CommandManagerPrivate)); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_signal_new ("altered", TYPE_COMMAND_MANAGER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN, G_TYPE_NONE, 2, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN); +#line 1215 "CommandManager.c" +} + + +static void command_manager_instance_init (CommandManager * self) { + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv = COMMAND_MANAGER_GET_PRIVATE (self); +#line 84 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp0_ = gee_array_list_new (TYPE_COMMAND, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 84 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv->undo_stack = _tmp0_; +#line 85 "/home/jens/Source/shotwell/src/CommandManager.vala" + _tmp1_ = gee_array_list_new (TYPE_COMMAND, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 85 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->priv->redo_stack = _tmp1_; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + self->ref_count = 1; +#line 1234 "CommandManager.c" +} + + +static void command_manager_finalize (CommandManager* obj) { + CommandManager * self; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COMMAND_MANAGER, CommandManager); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_signal_handlers_destroy (self); +#line 84 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (self->priv->undo_stack); +#line 85 "/home/jens/Source/shotwell/src/CommandManager.vala" + _g_object_unref0 (self->priv->redo_stack); +#line 1248 "CommandManager.c" +} + + +GType command_manager_get_type (void) { + static volatile gsize command_manager_type_id__volatile = 0; + if (g_once_init_enter (&command_manager_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_command_manager_init, value_command_manager_free_value, value_command_manager_copy_value, value_command_manager_peek_pointer, "p", value_command_manager_collect_value, "p", value_command_manager_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (CommandManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) command_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CommandManager), 0, (GInstanceInitFunc) command_manager_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType command_manager_type_id; + command_manager_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CommandManager", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&command_manager_type_id__volatile, command_manager_type_id); + } + return command_manager_type_id__volatile; +} + + +gpointer command_manager_ref (gpointer instance) { + CommandManager* self; + self = instance; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_atomic_int_inc (&self->ref_count); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + return instance; +#line 1273 "CommandManager.c" +} + + +void command_manager_unref (gpointer instance) { + CommandManager* self; + self = instance; +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + COMMAND_MANAGER_GET_CLASS (self)->finalize (self); +#line 80 "/home/jens/Source/shotwell/src/CommandManager.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1286 "CommandManager.c" + } +} + + + diff --git a/src/Commands.c b/src/Commands.c new file mode 100644 index 0000000..a9d9bc5 --- /dev/null +++ b/src/Commands.c @@ -0,0 +1,22110 @@ +/* Commands.c generated by valac 0.32.1, 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 +#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; +#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; + +#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; +#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; + +#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; + +#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; +#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; + +#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; + +#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 ()) + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ()) +#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle)) +#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) + +typedef struct _PixelTransformationBundle PixelTransformationBundle; +typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass; +#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) + +#define TYPE_ADJUST_COLORS_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; + +#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; + +#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; +typedef struct _MovePhotosCommandRealMovePhotosCommandPrivate MovePhotosCommandRealMovePhotosCommandPrivate; + +#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; + +#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; + +#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; + +#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; + +#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 ()) + +#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; + +#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 ()) + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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; +#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; + +#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; + +#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; + +#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; + +#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; + +#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; + +#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)) +enum { + PAGE_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + SINGLE_DATA_SOURCE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + SIMPLE_PROXYABLE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + SINGLE_PHOTO_TRANSFORMATION_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + GENERIC_PHOTO_TRANSFORMATION_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + MULTIPLE_DATA_SOURCE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + MULTIPLE_PHOTO_TRANSFORMATION_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + ROTATE_SINGLE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + ROTATE_MULTIPLE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + EDIT_TITLE_COMMAND_DUMMY_PROPERTY +}; +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 "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)) +enum { + EDIT_COMMENT_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + EDIT_MULTIPLE_TITLES_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + EDIT_MULTIPLE_COMMENTS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + RENAME_EVENT_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + EDIT_EVENT_COMMENT_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + SET_KEY_PHOTO_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + REVERT_SINGLE_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + REVERT_MULTIPLE_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + ENHANCE_SINGLE_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + ENHANCE_MULTIPLE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + STRAIGHTEN_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + CROP_COMMAND_DUMMY_PROPERTY +}; +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; +gpointer pixel_transformation_bundle_ref (gpointer instance); +void pixel_transformation_bundle_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object); +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation_bundle (const GValue* value); +GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST; +#define ADJUST_COLORS_SINGLE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommandPrivate)) +enum { + ADJUST_COLORS_SINGLE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + ADJUST_COLORS_MULTIPLE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + REDEYE_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + MOVE_PHOTOS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + MOVE_PHOTOS_COMMAND_REAL_MOVE_PHOTOS_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + NEW_EVENT_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + SET_EVENT_COMMAND_DUMMY_PROPERTY +}; +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; +enum { + MERGE_EVENTS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + DUPLICATE_MULTIPLE_PHOTOS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + SET_RATING_SINGLE_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + SET_RATING_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + SET_RAW_DEVELOPER_COMMAND_DUMMY_PROPERTY +}; +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); +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)) +enum { + ADJUST_DATE_TIME_PHOTO_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + ADJUST_DATE_TIME_PHOTOS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + ADD_TAGS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + RENAME_TAG_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + DELETE_TAG_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + NEW_CHILD_TAG_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + NEW_ROOT_TAG_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + REPARENT_TAG_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + MODIFY_TAGS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + TAG_UNTAG_PHOTOS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + RENAME_SAVED_SEARCH_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + DELETE_SAVED_SEARCH_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + TRASH_UNTRASH_PHOTOS_COMMAND_DUMMY_PROPERTY +}; +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)) +enum { + FLAG_UNFLAG_COMMAND_DUMMY_PROPERTY +}; +#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 2757 "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 2764 "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 2771 "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 2778 "Commands.c" +} + + +PageCommand* page_command_construct (GType object_type, const gchar* name, const gchar* explanation) { + PageCommand * self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + Page* _tmp4_ = NULL; + Page* _tmp5_ = NULL; +#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" + _tmp0_ = name; +#line 16 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = explanation; +#line 16 "/home/jens/Source/shotwell/src/Commands.vala" + self = (PageCommand*) command_construct (object_type, _tmp0_, _tmp1_); +#line 18 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = app_window_get_instance (); +#line 18 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 18 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, 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 = _tmp4_; +#line 18 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp3_); +#line 20 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = self->priv->page; +#line 20 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp5_ != NULL) { +#line 2816 "Commands.c" + Page* _tmp6_ = NULL; + LibraryPhotoPage* photo_page = NULL; + Page* _tmp7_ = NULL; + LibraryPhotoPage* _tmp8_ = NULL; + LibraryPhotoPage* _tmp9_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = self->priv->page; +#line 21 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, 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" + _tmp7_ = self->priv->page; +#line 27 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_LIBRARY_PHOTO_PAGE) ? ((LibraryPhotoPage*) _tmp7_) : NULL); +#line 27 "/home/jens/Source/shotwell/src/Commands.vala" + photo_page = _tmp8_; +#line 28 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = photo_page; +#line 28 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp9_ != NULL) { +#line 2836 "Commands.c" + LibraryPhotoPage* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; + LibraryPhotoPage* _tmp12_ = NULL; + CollectionPage* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + Photo* _tmp15_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = photo_page; +#line 29 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, 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 = _tmp11_; +#line 30 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = photo_page; +#line 30 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = library_photo_page_get_controller_page (_tmp12_); +#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 = _tmp13_; +#line 32 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = self->priv->library_photo; +#line 32 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp15_ != NULL) { +#line 2863 "Commands.c" + CollectionPage* _tmp16_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = self->priv->collection_page; +#line 32 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _tmp16_ != NULL; +#line 2869 "Commands.c" + } else { +#line 32 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = FALSE; +#line 2873 "Commands.c" + } +#line 32 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp14_) { +#line 2877 "Commands.c" + Photo* _tmp17_ = NULL; + CollectionPage* _tmp18_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = self->priv->library_photo; +#line 33 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, 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" + _tmp18_ = self->priv->collection_page; +#line 34 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), "destroy", (GCallback) _page_command_on_controller_destroyed_gtk_widget_destroy, self, 0); +#line 2888 "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 2898 "Commands.c" + } + } +#line 20 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (photo_page); +#line 2903 "Commands.c" + } +#line 15 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 2907 "Commands.c" +} + + +void page_command_set_auto_return_to_page (PageCommand* self, gboolean auto_return) { + gboolean _tmp0_ = FALSE; +#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" + _tmp0_ = auto_return; +#line 55 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->auto_return = _tmp0_; +#line 2919 "Commands.c" +} + + +static void page_command_real_prepare (Command* base) { + PageCommand * self; + gboolean _tmp0_ = FALSE; +#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 2934 "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 2938 "Commands.c" +} + + +void page_command_return_to_page (PageCommand* self) { + LibraryPhotoPage* photo_page = NULL; + Page* _tmp0_ = NULL; + LibraryPhotoPage* _tmp1_ = NULL; + LibraryPhotoPage* _tmp2_ = NULL; +#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 2959 "Commands.c" + gboolean _tmp3_ = FALSE; + Photo* _tmp4_ = NULL; +#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 2966 "Commands.c" + CollectionPage* _tmp5_ = NULL; +#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 2972 "Commands.c" + } else { +#line 69 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = FALSE; +#line 2976 "Commands.c" + } +#line 69 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_) { +#line 2980 "Commands.c" + gboolean photo_in_collection = FALSE; + gint count = 0; + CollectionPage* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gboolean _tmp25_ = FALSE; +#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" + _tmp10_ = _tmp9_; +#line 71 "/home/jens/Source/shotwell/src/Commands.vala" + _data_collection_unref0 (_tmp8_); +#line 71 "/home/jens/Source/shotwell/src/Commands.vala" + count = _tmp10_; +#line 3005 "Commands.c" + { + gint i = 0; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + i = 0; +#line 3010 "Commands.c" + { + gboolean _tmp11_ = FALSE; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = TRUE; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 3017 "Commands.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + CollectionPage* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + gint _tmp18_ = 0; + DataObject* _tmp19_ = NULL; + Thumbnail* _tmp20_ = NULL; + MediaSource* _tmp21_ = NULL; + MediaSource* _tmp22_ = NULL; + Photo* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp11_) { +#line 3032 "Commands.c" + gint _tmp12_ = 0; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = i; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp12_ + 1; +#line 3038 "Commands.c" + } +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = FALSE; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = i; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = count; +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 72 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 3050 "Commands.c" + } +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = self->priv->collection_page; +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PAGE, Page)); +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _tmp16_; +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = i; +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection), _tmp18_); +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_THUMBNAIL, Thumbnail); +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = thumbnail_get_media_source (_tmp20_); +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = _tmp21_; +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = self->priv->library_photo; +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = _tmp22_ == G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_MEDIA_SOURCE, MediaSource); +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp22_); +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp20_); +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + _data_collection_unref0 (_tmp17_); +#line 73 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp24_) { +#line 74 "/home/jens/Source/shotwell/src/Commands.vala" + photo_in_collection = TRUE; +#line 75 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 3084 "Commands.c" + } + } + } + } +#line 79 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = photo_in_collection; +#line 79 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp25_) { +#line 3093 "Commands.c" + LibraryWindow* _tmp26_ = NULL; + LibraryWindow* _tmp27_ = NULL; + CollectionPage* _tmp28_ = NULL; + Photo* _tmp29_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = library_window_get_app (); +#line 80 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = _tmp26_; +#line 80 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = self->priv->collection_page; +#line 80 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = self->priv->library_photo; +#line 80 "/home/jens/Source/shotwell/src/Commands.vala" + library_window_switch_to_photo_page (_tmp27_, _tmp28_, _tmp29_); +#line 80 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp27_); +#line 3110 "Commands.c" + } + } + } else { + Page* _tmp30_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = self->priv->page; +#line 82 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp30_ != NULL) { +#line 3119 "Commands.c" + AppWindow* _tmp31_ = NULL; + AppWindow* _tmp32_ = NULL; + Page* _tmp33_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = app_window_get_instance (); +#line 83 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = _tmp31_; +#line 83 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = self->priv->page; +#line 83 "/home/jens/Source/shotwell/src/Commands.vala" + page_window_set_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_PAGE_WINDOW, PageWindow), _tmp33_); +#line 83 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp32_); +#line 3133 "Commands.c" + } + } +#line 65 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (photo_page); +#line 3138 "Commands.c" +} + + +static void page_command_on_page_destroyed (PageCommand* self) { + Page* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#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 3157 "Commands.c" +} + + +static void page_command_on_photo_destroyed (PageCommand* self) { + Photo* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#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 3176 "Commands.c" +} + + +static void page_command_on_controller_destroyed (PageCommand* self) { + CollectionPage* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#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 3195 "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 = page_command_real_prepare; +#line 9 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = page_command_finalize; +#line 3208 "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 3221 "Commands.c" +} + + +static void page_command_finalize (GObject* obj) { + PageCommand * self; + Page* _tmp0_ = NULL; + Photo* _tmp3_ = NULL; + CollectionPage* _tmp6_ = NULL; +#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 3236 "Commands.c" + Page* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#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 3245 "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 3251 "Commands.c" + Photo* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#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 3260 "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 3266 "Commands.c" + CollectionPage* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#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 3275 "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 3285 "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 3304 "Commands.c" +} + + +SingleDataSourceCommand* single_data_source_command_construct (GType object_type, DataSource* source, const gchar* name, const gchar* explanation) { + SingleDataSourceCommand * self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; +#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" + _tmp0_ = name; +#line 107 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = explanation; +#line 107 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SingleDataSourceCommand*) page_command_construct (object_type, _tmp0_, _tmp1_); +#line 109 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = source; +#line 109 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#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 = _tmp3_; +#line 111 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = source; +#line 111 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp4_, "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 3341 "Commands.c" +} + + +DataSource* single_data_source_command_get_source (SingleDataSourceCommand* self) { + DataSource* result = NULL; + DataSource* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; +#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 3359 "Commands.c" +} + + +static void single_data_source_command_on_source_destroyed (SingleDataSourceCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 3376 "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 3385 "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_ = NULL; + guint _tmp1_ = 0U; +#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 3409 "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 3428 "Commands.c" +} + + +SimpleProxyableCommand* simple_proxyable_command_construct (GType object_type, Proxyable* proxyable, const gchar* name, const gchar* explanation) { + SimpleProxyableCommand * self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + Proxyable* _tmp2_ = NULL; + SourceProxy* _tmp3_ = NULL; + SourceProxy* _tmp4_ = NULL; +#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" + _tmp0_ = name; +#line 134 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = explanation; +#line 134 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SimpleProxyableCommand*) page_command_construct (object_type, _tmp0_, _tmp1_); +#line 136 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = proxyable; +#line 136 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = proxyable_get_proxy (_tmp2_); +#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 = _tmp3_; +#line 137 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = self->priv->proxy; +#line 137 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp4_, "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 3465 "Commands.c" +} + + +static void simple_proxyable_command_real_execute (Command* base) { + SimpleProxyableCommand * self; + SourceProxy* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; +#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 3486 "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 3495 "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 3504 "Commands.c" +} + + +static void simple_proxyable_command_real_undo (Command* base) { + SimpleProxyableCommand * self; + SourceProxy* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; +#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 3525 "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 3534 "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 3543 "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 3552 "Commands.c" + { + GeeIterator* _proxyable_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = proxyables; +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + _proxyable_it = _tmp1_; +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 3565 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + Proxyable* proxyable = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceProxy* added_proxy = NULL; + Proxyable* _tmp6_ = NULL; + SourceProxy* _tmp7_ = NULL; + SourceProxy* _tmp8_ = NULL; + GeeHashSet* _tmp9_ = NULL; + SourceProxy* _tmp10_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _proxyable_it; +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 3585 "Commands.c" + } +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _proxyable_it; +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + proxyable = (Proxyable*) _tmp5_; +#line 163 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = proxyable; +#line 163 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = proxyable_get_proxy (_tmp6_); +#line 163 "/home/jens/Source/shotwell/src/Commands.vala" + added_proxy = _tmp7_; +#line 164 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = added_proxy; +#line 164 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp8_, "broken", (GCallback) _simple_proxyable_command_on_proxy_broken_source_proxy_broken, self, 0); +#line 165 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = self->priv->proxies; +#line 165 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = added_proxy; +#line 165 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#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 3613 "Commands.c" + } +#line 162 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_proxyable_it); +#line 3617 "Commands.c" + } +} + + +void simple_proxyable_command_clear_added_proxies (SimpleProxyableCommand* self) { + GeeHashSet* _tmp8_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/Commands.vala" + g_return_if_fail (IS_SIMPLE_PROXYABLE_COMMAND (self)); +#line 3626 "Commands.c" + { + GeeIterator* _added_proxy_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#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 3639 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceProxy* added_proxy = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceProxy* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _added_proxy_it; +#line 171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 171 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 171 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 3655 "Commands.c" + } +#line 171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _added_proxy_it; +#line 171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 171 "/home/jens/Source/shotwell/src/Commands.vala" + added_proxy = (SourceProxy*) _tmp5_; +#line 172 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = added_proxy; +#line 172 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp7_, NULL, FALSE); +#line 172 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 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 3671 "Commands.c" + } +#line 171 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_added_proxy_it); +#line 3675 "Commands.c" + } +#line 174 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = self->priv->proxies; +#line 174 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 3681 "Commands.c" +} + + +static void simple_proxyable_command_on_proxy_broken (SimpleProxyableCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 3700 "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 = simple_proxyable_command_real_execute; +#line 129 "/home/jens/Source/shotwell/src/Commands.vala" + ((SimpleProxyableCommandClass *) klass)->execute_on_source = simple_proxyable_command_real_execute_on_source; +#line 129 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = simple_proxyable_command_real_undo; +#line 129 "/home/jens/Source/shotwell/src/Commands.vala" + ((SimpleProxyableCommandClass *) klass)->undo_on_source = 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 3719 "Commands.c" +} + + +static void simple_proxyable_command_instance_init (SimpleProxyableCommand * self) { + GeeHashSet* _tmp0_ = NULL; +#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, source_proxy_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 131 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->proxies = _tmp0_; +#line 3731 "Commands.c" +} + + +static void simple_proxyable_command_finalize (GObject* obj) { + SimpleProxyableCommand * self; + SourceProxy* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#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 3755 "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 3774 "Commands.c" +} + + +SinglePhotoTransformationCommand* single_photo_transformation_command_construct (GType object_type, Photo* photo, const gchar* name, const gchar* explanation) { + SinglePhotoTransformationCommand * self = NULL; + Photo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + PhotoTransformationState* _tmp4_ = NULL; + PhotoTransformationState* _tmp5_ = NULL; +#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" + _tmp0_ = photo; +#line 187 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = name; +#line 187 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = explanation; +#line 187 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SinglePhotoTransformationCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), _tmp1_, _tmp2_); +#line 189 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = photo; +#line 189 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = photo_save_transformation_state (_tmp3_); +#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 = _tmp4_; +#line 190 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = self->priv->state; +#line 190 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp5_, "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 3814 "Commands.c" +} + + +static void single_photo_transformation_command_real_undo (Command* base) { + SinglePhotoTransformationCommand * self; + DataSource* _tmp0_ = NULL; + PhotoTransformationState* _tmp1_ = NULL; +#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 3830 "Commands.c" +} + + +static void single_photo_transformation_command_on_state_broken (SinglePhotoTransformationCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 3847 "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 = 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 3860 "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 3867 "Commands.c" +} + + +static void single_photo_transformation_command_finalize (GObject* obj) { + SinglePhotoTransformationCommand * self; + PhotoTransformationState* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#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 3887 "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 3906 "Commands.c" +} + + +GenericPhotoTransformationCommand* generic_photo_transformation_command_construct (GType object_type, Photo* photo, const gchar* name, const gchar* explanation) { + GenericPhotoTransformationCommand * self = NULL; + Photo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = 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" + _tmp0_ = photo; +#line 211 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = name; +#line 211 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = explanation; +#line 211 "/home/jens/Source/shotwell/src/Commands.vala" + self = (GenericPhotoTransformationCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), _tmp1_, _tmp2_); +#line 210 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 3931 "Commands.c" +} + + +static void generic_photo_transformation_command_real_execute (Command* base) { + GenericPhotoTransformationCommand * self; + Photo* photo = NULL; + DataSource* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + PhotoTransformationState* _tmp2_ = NULL; + PhotoTransformationState* _tmp3_ = NULL; + PhotoTransformationState* _tmp4_ = NULL; + PhotoTransformationState* _tmp5_ = NULL; +#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 3976 "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 3985 "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 3994 "Commands.c" +} + + +static void generic_photo_transformation_command_real_undo (Command* base) { + GenericPhotoTransformationCommand * self; + DataSource* _tmp0_ = NULL; + PhotoTransformationState* _tmp1_ = NULL; +#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 4010 "Commands.c" +} + + +static void generic_photo_transformation_command_real_redo (Command* base) { + GenericPhotoTransformationCommand * self; + DataSource* _tmp0_ = NULL; + PhotoTransformationState* _tmp1_ = NULL; +#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 4026 "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 4038 "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 4047 "Commands.c" +} + + +static gboolean generic_photo_transformation_command_real_compress (Command* base, Command* command) { + GenericPhotoTransformationCommand * self; + gboolean result = FALSE; + Command* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GenericPhotoTransformationCommand* generic = NULL; + Command* _tmp2_ = NULL; + GenericPhotoTransformationCommand* _tmp3_ = NULL; + GenericPhotoTransformationCommand* _tmp4_ = NULL; + GenericPhotoTransformationCommand* _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + GenericPhotoTransformationCommand* _tmp8_ = NULL; + GenericPhotoTransformationCommand* _tmp9_ = NULL; + PhotoTransformationState* _tmp10_ = NULL; + PhotoTransformationState* _tmp11_ = NULL; +#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" + _tmp0_ = command; +#line 251 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = generic_photo_transformation_command_can_compress (self, _tmp0_); +#line 251 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp1_) { +#line 252 "/home/jens/Source/shotwell/src/Commands.vala" + result = FALSE; +#line 252 "/home/jens/Source/shotwell/src/Commands.vala" + return result; +#line 4081 "Commands.c" + } +#line 254 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = command; +#line 254 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND) ? ((GenericPhotoTransformationCommand*) _tmp2_) : NULL); +#line 254 "/home/jens/Source/shotwell/src/Commands.vala" + generic = _tmp3_; +#line 255 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = generic; +#line 255 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp4_ == 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 4099 "Commands.c" + } +#line 258 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = generic; +#line 258 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; +#line 258 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; +#line 258 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp6_ != _tmp7_) { +#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 4115 "Commands.c" + } +#line 262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = generic; +#line 262 "/home/jens/Source/shotwell/src/Commands.vala" + command_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_COMMAND, Command)); +#line 265 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = generic; +#line 265 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_->priv->transformed_state; +#line 265 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#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 = _tmp11_; +#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 4137 "Commands.c" +} + + +static void generic_photo_transformation_command_on_state_broken (GenericPhotoTransformationCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 4154 "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 = generic_photo_transformation_command_real_execute; +#line 206 "/home/jens/Source/shotwell/src/Commands.vala" + ((GenericPhotoTransformationCommandClass *) klass)->execute_on_photo = generic_photo_transformation_command_real_execute_on_photo; +#line 206 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = generic_photo_transformation_command_real_undo; +#line 206 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->redo = generic_photo_transformation_command_real_redo; +#line 206 "/home/jens/Source/shotwell/src/Commands.vala" + ((GenericPhotoTransformationCommandClass *) klass)->can_compress = generic_photo_transformation_command_real_can_compress; +#line 206 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->compress = 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 4177 "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 4188 "Commands.c" +} + + +static void generic_photo_transformation_command_finalize (GObject* obj) { + GenericPhotoTransformationCommand * self; + PhotoTransformationState* _tmp0_ = NULL; + PhotoTransformationState* _tmp3_ = NULL; +#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 4202 "Commands.c" + PhotoTransformationState* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#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 4211 "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 4217 "Commands.c" + PhotoTransformationState* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#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 4226 "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 4234 "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 4253 "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; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#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" + _tmp0_ = name; +#line 287 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = explanation; +#line 287 "/home/jens/Source/shotwell/src/Commands.vala" + self = (MultipleDataSourceCommand*) page_command_construct (object_type, _tmp0_, _tmp1_); +#line 289 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = progress_text; +#line 289 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = g_strdup (_tmp2_); +#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 = _tmp3_; +#line 290 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = undo_progress_text; +#line 290 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = g_strdup (_tmp4_); +#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 = _tmp5_; +#line 4297 "Commands.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = iter; +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterable_iterator (_tmp6_); +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + _view_it = _tmp7_; +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 4310 "Commands.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + DataSource* source = NULL; + DataView* _tmp12_ = NULL; + DataSource* _tmp13_ = NULL; + SourceCollection* collection = NULL; + DataSource* _tmp14_ = NULL; + DataCollection* _tmp15_ = NULL; + SourceCollection* _tmp16_ = NULL; + GeeArrayList* _tmp19_ = NULL; + DataSource* _tmp20_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _view_it; +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp9_) { +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 4333 "Commands.c" + } +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _view_it; +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + view = (DataView*) _tmp11_; +#line 293 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = view; +#line 293 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = data_view_get_source (_tmp12_); +#line 293 "/home/jens/Source/shotwell/src/Commands.vala" + source = _tmp13_; +#line 294 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = source; +#line 294 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 294 "/home/jens/Source/shotwell/src/Commands.vala" + collection = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_SOURCE_COLLECTION, SourceCollection); +#line 296 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = collection; +#line 296 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp16_ != NULL) { +#line 4357 "Commands.c" + GeeHashSet* _tmp17_ = NULL; + SourceCollection* _tmp18_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = self->priv->hooked_collections; +#line 297 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = collection; +#line 297 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp18_); +#line 4366 "Commands.c" + } +#line 299 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = self->source_list; +#line 299 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = source; +#line 299 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp20_); +#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 4380 "Commands.c" + } +#line 292 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_view_it); +#line 4384 "Commands.c" + } + { + GeeIterator* _current_collection_it = NULL; + GeeHashSet* _tmp21_ = NULL; + GeeIterator* _tmp22_ = NULL; +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = self->priv->hooked_collections; +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + _current_collection_it = _tmp22_; +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 4398 "Commands.c" + GeeIterator* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + SourceCollection* current_collection = NULL; + GeeIterator* _tmp25_ = NULL; + gpointer _tmp26_ = NULL; + SourceCollection* _tmp27_ = NULL; +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _current_collection_it; +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = gee_iterator_next (_tmp23_); +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp24_) { +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 4413 "Commands.c" + } +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = _current_collection_it; +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = gee_iterator_get (_tmp25_); +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + current_collection = (SourceCollection*) _tmp26_; +#line 303 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = current_collection; +#line 303 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp27_, "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 4427 "Commands.c" + } +#line 302 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_current_collection_it); +#line 4431 "Commands.c" + } +#line 285 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 4435 "Commands.c" +} + + +GeeIterable* multiple_data_source_command_get_sources (MultipleDataSourceCommand* self) { + GeeIterable* result = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; +#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 4453 "Commands.c" +} + + +gint multiple_data_source_command_get_source_count (MultipleDataSourceCommand* self) { + gint result = 0; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#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_COLLECTION, GeeCollection)); +#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 4474 "Commands.c" +} + + +static void multiple_data_source_command_on_source_destroyed (MultipleDataSourceCommand* self, DataSource* source) { + GeeArrayList* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#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" + _tmp1_ = source; +#line 324 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 324 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp2_) { +#line 4494 "Commands.c" + CommandManager* _tmp3_ = NULL; + CommandManager* _tmp4_ = NULL; +#line 325 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); +#line 325 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp3_; +#line 325 "/home/jens/Source/shotwell/src/Commands.vala" + command_manager_reset (_tmp4_); +#line 325 "/home/jens/Source/shotwell/src/Commands.vala" + _command_manager_unref0 (_tmp4_); +#line 4505 "Commands.c" + } +} + + +static void multiple_data_source_command_real_execute (Command* base) { + MultipleDataSourceCommand * self; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; +#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 4531 "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 4540 "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 4549 "Commands.c" +} + + +static void multiple_data_source_command_real_undo (Command* base) { + MultipleDataSourceCommand * self; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#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_COLLECTION, GeeCollection)); +#line 339 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp1_; +#line 339 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp2_ > 0) { +#line 4568 "Commands.c" + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; +#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 4583 "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 4593 "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 4602 "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 4609 "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 4616 "Commands.c" + { + GeeIterator* _sources_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#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 4629 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* sources = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + MediaSourceCollection* media_collection = NULL; + SourceCollection* _tmp6_ = NULL; + MediaSourceCollection* _tmp7_ = NULL; + MediaSourceCollection* _tmp8_ = NULL; +#line 351 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _sources_it; +#line 351 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 351 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 351 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 4647 "Commands.c" + } +#line 351 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _sources_it; +#line 351 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 351 "/home/jens/Source/shotwell/src/Commands.vala" + sources = (SourceCollection*) _tmp5_; +#line 352 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = sources; +#line 352 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _data_collection_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_MEDIA_SOURCE_COLLECTION) ? ((MediaSourceCollection*) _tmp6_) : NULL); +#line 352 "/home/jens/Source/shotwell/src/Commands.vala" + media_collection = _tmp7_; +#line 353 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = media_collection; +#line 353 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp8_ != NULL) { +#line 4665 "Commands.c" + MediaSourceCollection* _tmp9_ = NULL; + TransactionController* _tmp10_ = NULL; + TransactionController* _tmp11_ = NULL; +#line 354 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = media_collection; +#line 354 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = media_source_collection_get_transaction_controller (_tmp9_); +#line 354 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _tmp10_; +#line 354 "/home/jens/Source/shotwell/src/Commands.vala" + transaction_controller_begin (_tmp11_); +#line 4677 "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 4683 "Commands.c" + } +#line 351 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_sources_it); +#line 4687 "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 4695 "Commands.c" + { + GeeIterator* _sources_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#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 4708 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* sources = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + MediaSourceCollection* media_collection = NULL; + SourceCollection* _tmp6_ = NULL; + MediaSourceCollection* _tmp7_ = NULL; + MediaSourceCollection* _tmp8_ = NULL; +#line 359 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _sources_it; +#line 359 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 359 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 359 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 4726 "Commands.c" + } +#line 359 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _sources_it; +#line 359 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 359 "/home/jens/Source/shotwell/src/Commands.vala" + sources = (SourceCollection*) _tmp5_; +#line 360 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = sources; +#line 360 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _data_collection_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_MEDIA_SOURCE_COLLECTION) ? ((MediaSourceCollection*) _tmp6_) : NULL); +#line 360 "/home/jens/Source/shotwell/src/Commands.vala" + media_collection = _tmp7_; +#line 361 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = media_collection; +#line 361 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp8_ != NULL) { +#line 4744 "Commands.c" + MediaSourceCollection* _tmp9_ = NULL; + TransactionController* _tmp10_ = NULL; + TransactionController* _tmp11_ = NULL; +#line 362 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = media_collection; +#line 362 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = media_source_collection_get_transaction_controller (_tmp9_); +#line 362 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _tmp10_; +#line 362 "/home/jens/Source/shotwell/src/Commands.vala" + transaction_controller_commit (_tmp11_); +#line 4756 "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 4762 "Commands.c" + } +#line 359 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_sources_it); +#line 4766 "Commands.c" + } +} + + +static void multiple_data_source_command_execute_all (MultipleDataSourceCommand* self, gboolean exec, gboolean can_cancel, GeeArrayList* todo, GeeArrayList* completed) { + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + gint count = 0; + gint total = 0; + GeeArrayList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint two_percent = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gchar* text = NULL; + gchar* _tmp11_ = NULL; + GCancellable* cancellable = NULL; + ProgressDialog* progress = NULL; + gint _tmp12_ = 0; + ProgressDialog* _tmp50_ = NULL; + AppWindow* _tmp52_ = NULL; + AppWindow* _tmp53_ = NULL; +#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_ = todo; +#line 371 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 371 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp3_; +#line 371 "/home/jens/Source/shotwell/src/Commands.vala" + total = _tmp4_; +#line 372 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = total; +#line 372 "/home/jens/Source/shotwell/src/Commands.vala" + two_percent = (gint) (((gdouble) _tmp5_) / 50.0); +#line 373 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = two_percent; +#line 373 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp6_ <= 0) { +#line 374 "/home/jens/Source/shotwell/src/Commands.vala" + two_percent = 1; +#line 4826 "Commands.c" + } +#line 376 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = exec; +#line 376 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp8_) { +#line 4832 "Commands.c" + const gchar* _tmp9_ = NULL; +#line 376 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = self->priv->progress_text; +#line 376 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _tmp9_; +#line 4838 "Commands.c" + } else { + const gchar* _tmp10_ = NULL; +#line 376 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = self->priv->undo_progress_text; +#line 376 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _tmp10_; +#line 4845 "Commands.c" + } +#line 376 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = g_strdup (_tmp7_); +#line 376 "/home/jens/Source/shotwell/src/Commands.vala" + text = _tmp11_; +#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" + _tmp12_ = total; +#line 380 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp12_ >= MULTIPLE_DATA_SOURCE_COMMAND_MIN_OPS_FOR_PROGRESS_WINDOW) { +#line 4859 "Commands.c" + GCancellable* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + GCancellable* _tmp16_ = NULL; + AppWindow* _tmp17_ = NULL; + AppWindow* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + GCancellable* _tmp20_ = NULL; + ProgressDialog* _tmp21_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = can_cancel; +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp14_) { +#line 4872 "Commands.c" + GCancellable* _tmp15_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = g_cancellable_new (); +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp13_); +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _tmp15_; +#line 4880 "Commands.c" + } else { +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp13_); +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = NULL; +#line 4886 "Commands.c" + } +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _g_object_ref0 (_tmp13_); +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (cancellable); +#line 381 "/home/jens/Source/shotwell/src/Commands.vala" + cancellable = _tmp16_; +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = app_window_get_instance (); +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = _tmp17_; +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = text; +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = cancellable; +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_window_get_type (), GtkWindow), _tmp19_, _tmp20_); +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + g_object_ref_sink (_tmp21_); +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (progress); +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + progress = _tmp21_; +#line 382 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp18_); +#line 380 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp13_); +#line 4914 "Commands.c" + } + { + GeeArrayList* _source_list = NULL; + GeeArrayList* _tmp22_ = NULL; + GeeArrayList* _tmp23_ = NULL; + gint _source_size = 0; + GeeArrayList* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _source_index = 0; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = todo; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _g_object_ref0 (_tmp22_); +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _source_list = _tmp23_; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = _source_list; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _tmp25_; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _source_size = _tmp26_; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _source_index = -1; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 4943 "Commands.c" + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + DataSource* source = NULL; + GeeArrayList* _tmp30_ = NULL; + gint _tmp31_ = 0; + gpointer _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + GeeArrayList* _tmp36_ = NULL; + ProgressDialog* _tmp39_ = NULL; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = _source_index; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _source_index = _tmp27_ + 1; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = _source_index; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = _source_size; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp28_ < _tmp29_)) { +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 4966 "Commands.c" + } +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = _source_list; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = _source_index; +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp31_); +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp32_; +#line 386 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = exec; +#line 386 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp33_) { +#line 4980 "Commands.c" + DataSource* _tmp34_ = NULL; +#line 387 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = source; +#line 387 "/home/jens/Source/shotwell/src/Commands.vala" + multiple_data_source_command_execute_on_source (self, _tmp34_); +#line 4986 "Commands.c" + } else { + DataSource* _tmp35_ = NULL; +#line 389 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = source; +#line 389 "/home/jens/Source/shotwell/src/Commands.vala" + multiple_data_source_command_undo_on_source (self, _tmp35_); +#line 4993 "Commands.c" + } +#line 391 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = completed; +#line 391 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp36_ != NULL) { +#line 4999 "Commands.c" + GeeArrayList* _tmp37_ = NULL; + DataSource* _tmp38_ = NULL; +#line 392 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = completed; +#line 392 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = source; +#line 392 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp38_); +#line 5008 "Commands.c" + } +#line 394 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = progress; +#line 394 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp39_ != NULL) { +#line 5014 "Commands.c" + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gboolean _tmp46_ = FALSE; + GCancellable* _tmp47_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = count; +#line 395 "/home/jens/Source/shotwell/src/Commands.vala" + count = _tmp40_ + 1; +#line 395 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = count; +#line 395 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = two_percent; +#line 395 "/home/jens/Source/shotwell/src/Commands.vala" + if ((_tmp41_ % _tmp42_) == 0) { +#line 5030 "Commands.c" + ProgressDialog* _tmp43_ = NULL; + gint _tmp44_ = 0; + gint _tmp45_ = 0; +#line 396 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = progress; +#line 396 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = count; +#line 396 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = total; +#line 396 "/home/jens/Source/shotwell/src/Commands.vala" + progress_dialog_set_fraction (_tmp43_, _tmp44_, _tmp45_); +#line 397 "/home/jens/Source/shotwell/src/Commands.vala" + spin_event_loop (); +#line 5044 "Commands.c" + } +#line 400 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = cancellable; +#line 400 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp47_ != NULL) { +#line 5050 "Commands.c" + GCancellable* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; +#line 400 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = cancellable; +#line 400 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = g_cancellable_is_cancelled (_tmp48_); +#line 400 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = _tmp49_; +#line 5059 "Commands.c" + } else { +#line 400 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = FALSE; +#line 5063 "Commands.c" + } +#line 400 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp46_) { +#line 401 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 401 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 5071 "Commands.c" + } + } +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 5076 "Commands.c" + } +#line 385 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_list); +#line 5080 "Commands.c" + } +#line 405 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = progress; +#line 405 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp50_ != NULL) { +#line 5086 "Commands.c" + ProgressDialog* _tmp51_ = NULL; +#line 406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp51_ = progress; +#line 406 "/home/jens/Source/shotwell/src/Commands.vala" + progress_dialog_close (_tmp51_); +#line 5092 "Commands.c" + } +#line 408 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp52_ = app_window_get_instance (); +#line 408 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp53_ = _tmp52_; +#line 408 "/home/jens/Source/shotwell/src/Commands.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, TYPE_PAGE_WINDOW, PageWindow)); +#line 408 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp53_); +#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 5108 "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 = multiple_data_source_command_real_execute; +#line 275 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->execute_on_source = multiple_data_source_command_real_execute_on_source; +#line 275 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = multiple_data_source_command_real_undo; +#line 275 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->undo_on_source = 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 5127 "Commands.c" +} + + +static void multiple_data_source_command_instance_init (MultipleDataSourceCommand * self) { + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeHashSet* _tmp2_ = NULL; +#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, 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, 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, data_collection_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 283 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->hooked_collections = _tmp2_; +#line 5149 "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 5157 "Commands.c" + { + GeeIterator* _current_collection_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#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 5170 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* current_collection = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceCollection* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 308 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _current_collection_it; +#line 308 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 308 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 308 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 5186 "Commands.c" + } +#line 308 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _current_collection_it; +#line 308 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 308 "/home/jens/Source/shotwell/src/Commands.vala" + current_collection = (SourceCollection*) _tmp5_; +#line 309 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = current_collection; +#line 309 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp7_, NULL, FALSE); +#line 309 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 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 5202 "Commands.c" + } +#line 308 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_current_collection_it); +#line 5206 "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 5220 "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 5239 "Commands.c" +} + + +MultipleDataSourceAtOnceCommand* multiple_data_source_at_once_command_construct (GType object_type, GeeCollection* sources, const gchar* name, const gchar* explanation) { + MultipleDataSourceAtOnceCommand * self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GeeHashSet* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#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" + _tmp0_ = name; +#line 419 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = explanation; +#line 419 "/home/jens/Source/shotwell/src/Commands.vala" + self = (MultipleDataSourceAtOnceCommand*) page_command_construct (object_type, _tmp0_, _tmp1_); +#line 421 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->sources; +#line 421 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = sources; +#line 421 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), _tmp3_); +#line 5267 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeHashSet* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = self->priv->sources; +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp5_; +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 5280 "Commands.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + SourceCollection* membership = NULL; + DataSource* _tmp10_ = NULL; + DataCollection* _tmp11_ = NULL; + SourceCollection* _tmp12_ = NULL; + SourceCollection* _tmp13_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _source_it; +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp7_) { +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 5299 "Commands.c" + } +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _source_it; +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp9_; +#line 424 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = source; +#line 424 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 424 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_SOURCE_COLLECTION) ? ((SourceCollection*) _tmp11_) : NULL; +#line 424 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp12_ == NULL) { +#line 424 "/home/jens/Source/shotwell/src/Commands.vala" + _data_collection_unref0 (_tmp11_); +#line 5317 "Commands.c" + } +#line 424 "/home/jens/Source/shotwell/src/Commands.vala" + membership = _tmp12_; +#line 425 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = membership; +#line 425 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp13_ != NULL) { +#line 5325 "Commands.c" + GeeHashSet* _tmp14_ = NULL; + SourceCollection* _tmp15_ = NULL; +#line 426 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = self->priv->hooked_collections; +#line 426 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = membership; +#line 426 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_); +#line 5334 "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 5340 "Commands.c" + } +#line 423 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 5344 "Commands.c" + } + { + GeeIterator* _source_collection_it = NULL; + GeeHashSet* _tmp16_ = NULL; + GeeIterator* _tmp17_ = NULL; +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = self->priv->hooked_collections; +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + _source_collection_it = _tmp17_; +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 5358 "Commands.c" + GeeIterator* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + SourceCollection* source_collection = NULL; + GeeIterator* _tmp20_ = NULL; + gpointer _tmp21_ = NULL; + SourceCollection* _tmp22_ = NULL; +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = _source_collection_it; +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = gee_iterator_next (_tmp18_); +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp19_) { +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 5373 "Commands.c" + } +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = _source_collection_it; +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = gee_iterator_get (_tmp20_); +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + source_collection = (SourceCollection*) _tmp21_; +#line 430 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = source_collection; +#line 430 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp22_, "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 5387 "Commands.c" + } +#line 429 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_collection_it); +#line 5391 "Commands.c" + } +#line 417 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 5395 "Commands.c" +} + + +static void multiple_data_source_at_once_command_real_execute (Command* base) { + MultipleDataSourceAtOnceCommand * self; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + MediaCollectionRegistry* _tmp2_ = NULL; + MediaCollectionRegistry* _tmp3_ = NULL; + GeeHashSet* _tmp4_ = NULL; + MediaCollectionRegistry* _tmp5_ = NULL; + MediaCollectionRegistry* _tmp6_ = NULL; + 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 5441 "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 5449 "Commands.c" + goto __catch444_database_error; + } + { + AppWindow* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; +#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 5463 "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 5471 "Commands.c" + } + } + goto __finally444; + __catch444_database_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; +#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 5489 "Commands.c" + } + __finally444: + { + AppWindow* _tmp10_ = NULL; + AppWindow* _tmp11_ = NULL; +#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 5503 "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 5513 "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 5523 "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 5532 "Commands.c" +} + + +static void multiple_data_source_at_once_command_real_undo (Command* base) { + MultipleDataSourceAtOnceCommand * self; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + MediaCollectionRegistry* _tmp2_ = NULL; + MediaCollectionRegistry* _tmp3_ = NULL; + GeeHashSet* _tmp4_ = NULL; + MediaCollectionRegistry* _tmp5_ = NULL; + MediaCollectionRegistry* _tmp6_ = NULL; + 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 5578 "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 5586 "Commands.c" + goto __catch445_database_error; + } + { + AppWindow* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; +#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 5600 "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 5608 "Commands.c" + } + } + goto __finally445; + __catch445_database_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; +#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 5626 "Commands.c" + } + __finally445: + { + AppWindow* _tmp10_ = NULL; + AppWindow* _tmp11_ = NULL; +#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 5640 "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 5650 "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 5660 "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 5669 "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 5678 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = destroyed; +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp1_; +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 5691 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_it; +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 5708 "Commands.c" + } +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_it; +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp5_; +#line 480 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = self->priv->sources; +#line 480 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = source; +#line 480 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp7_); +#line 480 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp8_) { +#line 5724 "Commands.c" + CommandManager* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; +#line 481 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); +#line 481 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 481 "/home/jens/Source/shotwell/src/Commands.vala" + command_manager_reset (_tmp10_); +#line 481 "/home/jens/Source/shotwell/src/Commands.vala" + _command_manager_unref0 (_tmp10_); +#line 483 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 483 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 5739 "Commands.c" + } +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 5743 "Commands.c" + } +#line 479 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 5747 "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 = multiple_data_source_at_once_command_real_execute; +#line 413 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceAtOnceCommandClass *) klass)->execute_on_all = multiple_data_source_at_once_command_real_execute_on_all; +#line 413 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = multiple_data_source_at_once_command_real_undo; +#line 413 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceAtOnceCommandClass *) klass)->undo_on_all = 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 5767 "Commands.c" +} + + +static void multiple_data_source_at_once_command_instance_init (MultipleDataSourceAtOnceCommand * self) { + GeeHashSet* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; +#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, 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, data_collection_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 415 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->hooked_collections = _tmp1_; +#line 5784 "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 5792 "Commands.c" + { + GeeIterator* _source_collection_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#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 5805 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* source_collection = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceCollection* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 434 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_collection_it; +#line 434 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 434 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 434 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 5821 "Commands.c" + } +#line 434 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_collection_it; +#line 434 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 434 "/home/jens/Source/shotwell/src/Commands.vala" + source_collection = (SourceCollection*) _tmp5_; +#line 435 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = source_collection; +#line 435 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("items-destroyed", TYPE_SOURCE_COLLECTION, &_tmp7_, NULL, FALSE); +#line 435 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 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 5837 "Commands.c" + } +#line 434 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_collection_it); +#line 5841 "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 5849 "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 5868 "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; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = 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" + _tmp0_ = iter; +#line 495 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = progress_text; +#line 495 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = undo_progress_text; +#line 495 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = name; +#line 495 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = explanation; +#line 495 "/home/jens/Source/shotwell/src/Commands.vala" + self = (MultiplePhotoTransformationCommand*) multiple_data_source_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 5901 "Commands.c" + { + GeeArrayList* _source_list = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + gint _source_size = 0; + GeeArrayList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _source_index = 0; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)->source_list; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _source_list = _tmp6_; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _source_list; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tmp8_; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _source_size = _tmp9_; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _source_index = -1; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 5929 "Commands.c" + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + DataSource* source = NULL; + GeeArrayList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gpointer _tmp15_ = NULL; + Photo* photo = NULL; + DataSource* _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + PhotoTransformationState* state = NULL; + Photo* _tmp18_ = NULL; + PhotoTransformationState* _tmp19_ = NULL; + PhotoTransformationState* _tmp20_ = NULL; + GeeHashMap* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; + PhotoTransformationState* _tmp23_ = NULL; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _source_index; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _source_index = _tmp10_ + 1; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _source_index; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _source_size; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp11_ < _tmp12_)) { +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 5959 "Commands.c" + } +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _source_list; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _source_index; +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp14_); +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp15_; +#line 498 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = source; +#line 498 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PHOTO, Photo)); +#line 498 "/home/jens/Source/shotwell/src/Commands.vala" + photo = _tmp17_; +#line 499 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = photo; +#line 499 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = photo_save_transformation_state (_tmp18_); +#line 499 "/home/jens/Source/shotwell/src/Commands.vala" + state = _tmp19_; +#line 500 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = state; +#line 500 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp20_, "broken", (GCallback) _multiple_photo_transformation_command_on_state_broken_photo_transformation_state_broken, self, 0); +#line 502 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = self->priv->map; +#line 502 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = photo; +#line 502 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = state; +#line 502 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp22_, _tmp23_); +#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 5999 "Commands.c" + } +#line 497 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_list); +#line 6003 "Commands.c" + } +#line 493 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 6007 "Commands.c" +} + + +static void multiple_photo_transformation_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { + MultiplePhotoTransformationCommand * self; + Photo* photo = NULL; + DataSource* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + PhotoTransformationState* state = NULL; + GeeHashMap* _tmp2_ = NULL; + gpointer _tmp3_ = NULL; +#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_ = source; +#line 512 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo)); +#line 512 "/home/jens/Source/shotwell/src/Commands.vala" + photo = _tmp1_; +#line 514 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->map; +#line 514 "/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 514 "/home/jens/Source/shotwell/src/Commands.vala" + state = (PhotoTransformationState*) _tmp3_; +#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 6043 "Commands.c" +} + + +static void multiple_photo_transformation_command_on_state_broken (MultiplePhotoTransformationCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 6060 "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 = 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 6073 "Commands.c" +} + + +static void multiple_photo_transformation_command_instance_init (MultiplePhotoTransformationCommand * self) { + GeeHashMap* _tmp0_ = NULL; +#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, g_object_unref, TYPE_PHOTO_TRANSFORMATION_STATE, (GBoxedCopyFunc) g_object_ref, 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 6085 "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 6093 "Commands.c" + { + GeeIterator* _state_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#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_MAP, GeeMap)); +#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 6120 "Commands.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PhotoTransformationState* state = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + PhotoTransformationState* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 507 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _state_it; +#line 507 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 507 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp7_) { +#line 507 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 6136 "Commands.c" + } +#line 507 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _state_it; +#line 507 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 507 "/home/jens/Source/shotwell/src/Commands.vala" + state = (PhotoTransformationState*) _tmp9_; +#line 508 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = state; +#line 508 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("broken", TYPE_PHOTO_TRANSFORMATION_STATE, &_tmp11_, NULL, FALSE); +#line 508 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 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 6152 "Commands.c" + } +#line 507 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_state_it); +#line 6156 "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 6162 "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; + Photo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + Rotation _tmp3_ = 0; +#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" + _tmp0_ = photo; +#line 529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = name; +#line 529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = explanation; +#line 529 "/home/jens/Source/shotwell/src/Commands.vala" + self = (RotateSingleCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), _tmp1_, _tmp2_); +#line 531 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = rotation; +#line 531 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->rotation = _tmp3_; +#line 528 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 6204 "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 6211 "Commands.c" +} + + +static void rotate_single_command_real_execute (Command* base) { + RotateSingleCommand * self; + DataSource* _tmp0_ = NULL; + Rotation _tmp1_ = 0; +#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 6227 "Commands.c" +} + + +static void rotate_single_command_real_undo (Command* base) { + RotateSingleCommand * self; + DataSource* _tmp0_ = NULL; + Rotation _tmp1_ = 0; + Rotation _tmp2_ = 0; +#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" + _tmp2_ = rotation_opposite (_tmp1_); +#line 539 "/home/jens/Source/shotwell/src/Commands.vala" + photo_rotate (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), _tmp2_); +#line 6246 "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 = rotate_single_command_real_execute; +#line 525 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = rotate_single_command_real_undo; +#line 525 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = rotate_single_command_finalize; +#line 6261 "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 6268 "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 6278 "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; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + Rotation _tmp5_ = 0; +#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" + _tmp0_ = iter; +#line 548 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = progress_text; +#line 548 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = undo_progress_text; +#line 548 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = name; +#line 548 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = explanation; +#line 548 "/home/jens/Source/shotwell/src/Commands.vala" + self = (RotateMultipleCommand*) multiple_data_source_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 550 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = rotation; +#line 550 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->rotation = _tmp5_; +#line 546 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 6330 "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 6337 "Commands.c" +} + + +static void rotate_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + RotateMultipleCommand * self; + DataSource* _tmp0_ = NULL; + Rotation _tmp1_ = 0; +#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_ = source; +#line 554 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->rotation; +#line 554 "/home/jens/Source/shotwell/src/Commands.vala" + photo_rotate (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), _tmp1_); +#line 6355 "Commands.c" +} + + +static void rotate_multiple_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { + RotateMultipleCommand * self; + DataSource* _tmp0_ = NULL; + Rotation _tmp1_ = 0; + Rotation _tmp2_ = 0; +#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_ = source; +#line 558 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->rotation; +#line 558 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = rotation_opposite (_tmp1_); +#line 558 "/home/jens/Source/shotwell/src/Commands.vala" + photo_rotate (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), _tmp2_); +#line 6376 "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 = rotate_multiple_command_real_execute_on_source; +#line 543 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->undo_on_source = 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 6391 "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 6398 "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 6408 "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; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + MediaSource* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#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_dpgettext2 (NULL, "Button Label", RESOURCES_EDIT_TITLE_LABEL); +#line 567 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 567 "/home/jens/Source/shotwell/src/Commands.vala" + title = _tmp1_; +#line 569 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = source; +#line 569 "/home/jens/Source/shotwell/src/Commands.vala" + self = (EditTitleCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource), title, ""); +#line 571 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = new_title; +#line 571 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = g_strdup (_tmp3_); +#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 = _tmp4_; +#line 572 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = source; +#line 572 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = media_source_get_title (_tmp5_); +#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 = _tmp6_; +#line 566 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (title); +#line 566 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 6468 "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 6475 "Commands.c" +} + + +static void edit_title_command_real_execute (Command* base) { + EditTitleCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#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 6491 "Commands.c" +} + + +static void edit_title_command_real_undo (Command* base) { + EditTitleCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#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 6507 "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 = edit_title_command_real_execute; +#line 562 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = edit_title_command_real_undo; +#line 562 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = edit_title_command_finalize; +#line 6522 "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 6529 "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 6543 "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; + MediaSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#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" + _tmp0_ = source; +#line 589 "/home/jens/Source/shotwell/src/Commands.vala" + self = (EditCommentCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), RESOURCES_EDIT_COMMENT_LABEL, ""); +#line 591 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = new_comment; +#line 591 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = g_strdup (_tmp1_); +#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 = _tmp2_; +#line 592 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = source; +#line 592 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = media_source_get_comment (_tmp3_); +#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 = _tmp4_; +#line 588 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 6592 "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 6599 "Commands.c" +} + + +static void edit_comment_command_real_execute (Command* base) { + EditCommentCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#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 6615 "Commands.c" +} + + +static void edit_comment_command_real_undo (Command* base) { + EditCommentCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#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 6631 "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 = edit_comment_command_real_execute; +#line 584 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = edit_comment_command_real_undo; +#line 584 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = edit_comment_command_finalize; +#line 6646 "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 6653 "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 6667 "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; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#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_dpgettext2 (NULL, "Button Label", RESOURCES_EDIT_TITLE_LABEL); +#line 609 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 609 "/home/jens/Source/shotwell/src/Commands.vala" + title = _tmp1_; +#line 611 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = media_sources; +#line 611 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = title; +#line 611 "/home/jens/Source/shotwell/src/Commands.vala" + self = (EditMultipleTitlesCommand*) multiple_data_source_at_once_command_construct (object_type, _tmp2_, _tmp3_, ""); +#line 613 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = new_title; +#line 613 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = g_strdup (_tmp4_); +#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 = _tmp5_; +#line 6716 "Commands.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = media_sources; +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _media_it = _tmp7_; +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 6729 "Commands.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + GeeHashMap* _tmp12_ = NULL; + MediaSource* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _media_it; +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp9_) { +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 6748 "Commands.c" + } +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _media_it; +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + media = (MediaSource*) _tmp11_; +#line 615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = self->old_titles; +#line 615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = media; +#line 615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = media; +#line 615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = media_source_get_title (_tmp14_); +#line 615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _tmp15_; +#line 615 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_, _tmp16_); +#line 615 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp16_); +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (media); +#line 6772 "Commands.c" + } +#line 614 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_media_it); +#line 6776 "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 6782 "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 6789 "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 6799 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = sources; +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp1_; +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 6812 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_it; +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 6828 "Commands.c" + } +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_it; +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp5_; +#line 620 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = source; +#line 620 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->new_title; +#line 620 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource), _tmp7_); +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 6844 "Commands.c" + } +#line 619 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 6848 "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 6859 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = sources; +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp1_; +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 6872 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_it; +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 6891 "Commands.c" + } +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_it; +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp5_; +#line 625 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = source; +#line 625 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->old_titles; +#line 625 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = source; +#line 625 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 625 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = (gchar*) _tmp9_; +#line 625 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource), _tmp10_); +#line 625 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp10_); +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 6915 "Commands.c" + } +#line 624 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 6919 "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 = edit_multiple_titles_command_real_execute_on_all; +#line 604 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceAtOnceCommandClass *) klass)->undo_on_all = 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 6933 "Commands.c" +} + + +static void edit_multiple_titles_command_instance_init (EditMultipleTitlesCommand * self) { + GeeHashMap* _tmp0_ = NULL; +#line 606 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, 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 6943 "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 6957 "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; + GeeCollection* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#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" + _tmp0_ = media_sources; +#line 634 "/home/jens/Source/shotwell/src/Commands.vala" + self = (EditMultipleCommentsCommand*) multiple_data_source_at_once_command_construct (object_type, _tmp0_, RESOURCES_EDIT_COMMENT_LABEL, ""); +#line 636 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = new_comment; +#line 636 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = g_strdup (_tmp1_); +#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 = _tmp2_; +#line 6994 "Commands.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = media_sources; +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _media_it = _tmp4_; +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 7007 "Commands.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + GeeHashMap* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _media_it; +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp6_) { +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 7026 "Commands.c" + } +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _media_it; +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + media = (MediaSource*) _tmp8_; +#line 638 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = self->old_comments; +#line 638 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = media; +#line 638 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = media; +#line 638 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = media_source_get_comment (_tmp11_); +#line 638 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _tmp12_; +#line 638 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_, _tmp13_); +#line 638 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp13_); +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (media); +#line 7050 "Commands.c" + } +#line 637 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_media_it); +#line 7054 "Commands.c" + } +#line 633 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 7058 "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 7065 "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 7075 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = sources; +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp1_; +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 7088 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_it; +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 7104 "Commands.c" + } +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_it; +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp5_; +#line 643 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = source; +#line 643 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->new_comment; +#line 643 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource), _tmp7_); +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 7120 "Commands.c" + } +#line 642 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 7124 "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 7135 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = sources; +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp1_; +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 7148 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_it; +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 7167 "Commands.c" + } +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_it; +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp5_; +#line 648 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = source; +#line 648 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->old_comments; +#line 648 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = source; +#line 648 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 648 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = (gchar*) _tmp9_; +#line 648 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource), _tmp10_); +#line 648 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp10_); +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 7191 "Commands.c" + } +#line 647 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 7195 "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 = edit_multiple_comments_command_real_execute_on_all; +#line 629 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceAtOnceCommandClass *) klass)->undo_on_all = 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 7209 "Commands.c" +} + + +static void edit_multiple_comments_command_instance_init (EditMultipleCommentsCommand * self) { + GeeHashMap* _tmp0_ = NULL; +#line 631 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, 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 7219 "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 7233 "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; + Event* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + Event* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#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" + _tmp0_ = event; +#line 657 "/home/jens/Source/shotwell/src/Commands.vala" + self = (RenameEventCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PROXYABLE, Proxyable), RESOURCES_RENAME_EVENT_LABEL, ""); +#line 659 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = new_name; +#line 659 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = g_strdup (_tmp1_); +#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 = _tmp2_; +#line 660 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = event; +#line 660 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = event_get_raw_name (_tmp3_); +#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 = _tmp4_; +#line 656 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 7282 "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 7289 "Commands.c" +} + + +static void rename_event_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { + RenameEventCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#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_ = source; +#line 664 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->new_name; +#line 664 "/home/jens/Source/shotwell/src/Commands.vala" + event_rename (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT, Event), _tmp1_); +#line 7307 "Commands.c" +} + + +static void rename_event_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { + RenameEventCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#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_ = source; +#line 668 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->old_name; +#line 668 "/home/jens/Source/shotwell/src/Commands.vala" + event_rename (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT, Event), _tmp1_); +#line 7325 "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 = rename_event_command_real_execute_on_source; +#line 652 "/home/jens/Source/shotwell/src/Commands.vala" + ((SimpleProxyableCommandClass *) klass)->undo_on_source = 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 7340 "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 7347 "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 7361 "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; + Event* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + Event* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#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" + _tmp0_ = event; +#line 677 "/home/jens/Source/shotwell/src/Commands.vala" + self = (EditEventCommentCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PROXYABLE, Proxyable), RESOURCES_EDIT_COMMENT_LABEL, ""); +#line 679 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = new_comment; +#line 679 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = g_strdup (_tmp1_); +#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 = _tmp2_; +#line 680 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = event; +#line 680 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, 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 = _tmp4_; +#line 676 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 7410 "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 7417 "Commands.c" +} + + +static void edit_event_comment_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { + EditEventCommentCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#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_ = source; +#line 684 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = 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 (_tmp0_, TYPE_EVENT, Event), TYPE_EVENT_SOURCE, EventSource), _tmp1_); +#line 7435 "Commands.c" +} + + +static void edit_event_comment_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { + EditEventCommentCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#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_ = source; +#line 688 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = 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 (_tmp0_, TYPE_EVENT, Event), TYPE_EVENT_SOURCE, EventSource), _tmp1_); +#line 7453 "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 = edit_event_comment_command_real_execute_on_source; +#line 672 "/home/jens/Source/shotwell/src/Commands.vala" + ((SimpleProxyableCommandClass *) klass)->undo_on_source = 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 7468 "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 7475 "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 7489 "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; + Event* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + Event* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; +#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" + _tmp0_ = event; +#line 697 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SetKeyPhotoCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), RESOURCES_MAKE_KEY_PHOTO_LABEL, ""); +#line 699 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = new_primary_source; +#line 699 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#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 = _tmp2_; +#line 700 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = event; +#line 700 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = event_get_primary_source (_tmp3_); +#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 = _tmp4_; +#line 696 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 7538 "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 7545 "Commands.c" +} + + +static void set_key_photo_command_real_execute (Command* base) { + SetKeyPhotoCommand * self; + DataSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; +#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 7561 "Commands.c" +} + + +static void set_key_photo_command_real_undo (Command* base) { + SetKeyPhotoCommand * self; + DataSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; +#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 7577 "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 = set_key_photo_command_real_execute; +#line 692 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = 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 7592 "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 7599 "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 7613 "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; + Photo* _tmp0_ = 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" + _tmp0_ = photo; +#line 714 "/home/jens/Source/shotwell/src/Commands.vala" + self = (RevertSingleCommand*) generic_photo_transformation_command_construct (object_type, _tmp0_, RESOURCES_REVERT_LABEL, ""); +#line 713 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 7640 "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 7647 "Commands.c" +} + + +static void revert_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { + RevertSingleCommand * self; + Photo* _tmp0_ = NULL; +#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" + _tmp0_ = photo; +#line 718 "/home/jens/Source/shotwell/src/Commands.vala" + photo_remove_all_transformations (_tmp0_); +#line 7662 "Commands.c" +} + + +static gboolean revert_single_command_real_compress (Command* base, Command* command) { + RevertSingleCommand * self; + gboolean result = FALSE; + RevertSingleCommand* revert_single_command = NULL; + Command* _tmp0_ = NULL; + RevertSingleCommand* _tmp1_ = NULL; + RevertSingleCommand* _tmp2_ = NULL; + RevertSingleCommand* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; +#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_ = command; +#line 722 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_REVERT_SINGLE_COMMAND) ? ((RevertSingleCommand*) _tmp0_) : NULL); +#line 722 "/home/jens/Source/shotwell/src/Commands.vala" + revert_single_command = _tmp1_; +#line 723 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = revert_single_command; +#line 723 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp2_ == 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 7696 "Commands.c" + } +#line 726 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = revert_single_command; +#line 726 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; +#line 726 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; +#line 726 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp4_ != _tmp5_) { +#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 7712 "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 7720 "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 = revert_single_command_real_execute_on_photo; +#line 712 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->compress = revert_single_command_real_compress; +#line 7731 "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; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = 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" + _tmp0_ = iter; +#line 737 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _ ("Reverting"); +#line 737 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Undoing Revert"); +#line 737 "/home/jens/Source/shotwell/src/Commands.vala" + self = (RevertMultipleCommand*) multiple_photo_transformation_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, RESOURCES_REVERT_LABEL, ""); +#line 736 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 7768 "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 7775 "Commands.c" +} + + +static void revert_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + RevertMultipleCommand * self; + DataSource* _tmp0_ = NULL; +#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" + _tmp0_ = source; +#line 742 "/home/jens/Source/shotwell/src/Commands.vala" + photo_remove_all_transformations (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo)); +#line 7790 "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 = revert_multiple_command_real_execute_on_source; +#line 7799 "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; + Photo* _tmp0_ = 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" + _tmp0_ = photo; +#line 748 "/home/jens/Source/shotwell/src/Commands.vala" + self = (EnhanceSingleCommand*) generic_photo_transformation_command_construct (object_type, _tmp0_, RESOURCES_ENHANCE_LABEL, RESOURCES_ENHANCE_TOOLTIP); +#line 747 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 7830 "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 7837 "Commands.c" +} + + +static void enhance_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { + EnhanceSingleCommand * self; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; +#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" + _tmp2_ = photo; +#line 757 "/home/jens/Source/shotwell/src/Commands.vala" + photo_enhance (_tmp2_); +#line 763 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = app_window_get_instance (); +#line 763 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp3_; +#line 763 "/home/jens/Source/shotwell/src/Commands.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PAGE_WINDOW, PageWindow)); +#line 763 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp4_); +#line 7872 "Commands.c" +} + + +static gboolean enhance_single_command_real_compress (Command* base, Command* command) { + EnhanceSingleCommand * self; + gboolean result = FALSE; + EnhanceSingleCommand* enhance_single_command = NULL; + Command* _tmp0_ = NULL; + EnhanceSingleCommand* _tmp1_ = NULL; + EnhanceSingleCommand* _tmp2_ = NULL; + EnhanceSingleCommand* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; +#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_ = command; +#line 767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_ENHANCE_SINGLE_COMMAND) ? ((EnhanceSingleCommand*) _tmp0_) : NULL); +#line 767 "/home/jens/Source/shotwell/src/Commands.vala" + enhance_single_command = _tmp1_; +#line 768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = enhance_single_command; +#line 768 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp2_ == 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 7906 "Commands.c" + } +#line 771 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = enhance_single_command; +#line 771 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; +#line 771 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)->source; +#line 771 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp4_ != _tmp5_) { +#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 7922 "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 7930 "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 = enhance_single_command_real_execute_on_photo; +#line 746 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->compress = enhance_single_command_real_compress; +#line 7941 "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; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = 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" + _tmp0_ = iter; +#line 781 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _ ("Enhancing"); +#line 781 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Undoing Enhance"); +#line 781 "/home/jens/Source/shotwell/src/Commands.vala" + self = (EnhanceMultipleCommand*) multiple_photo_transformation_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, RESOURCES_ENHANCE_LABEL, RESOURCES_ENHANCE_TOOLTIP); +#line 780 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 7978 "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 7985 "Commands.c" +} + + +static void enhance_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + EnhanceMultipleCommand * self; + DataSource* _tmp0_ = NULL; +#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" + _tmp0_ = source; +#line 786 "/home/jens/Source/shotwell/src/Commands.vala" + photo_enhance (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo)); +#line 8000 "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 = enhance_multiple_command_real_execute_on_source; +#line 8009 "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; + Photo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + Box _tmp4_ = {0}; +#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" + _tmp0_ = photo; +#line 795 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = name; +#line 795 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = explanation; +#line 795 "/home/jens/Source/shotwell/src/Commands.vala" + self = (StraightenCommand*) generic_photo_transformation_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_); +#line 797 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = theta; +#line 797 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->theta = _tmp3_; +#line 798 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = *crop; +#line 798 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->crop = _tmp4_; +#line 794 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 8062 "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 8069 "Commands.c" +} + + +static void straighten_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { + StraightenCommand * self; + DataCollection* collection = NULL; + Photo* _tmp0_ = NULL; + DataCollection* _tmp1_ = NULL; + DataCollection* _tmp2_ = NULL; + Photo* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + Photo* _tmp6_ = NULL; + Box _tmp7_ = {0}; + DataCollection* _tmp8_ = NULL; +#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_ = photo; +#line 803 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 803 "/home/jens/Source/shotwell/src/Commands.vala" + collection = _tmp1_; +#line 804 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = collection; +#line 804 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp2_ != NULL) { +#line 8098 "Commands.c" + DataCollection* _tmp3_ = NULL; +#line 805 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = collection; +#line 805 "/home/jens/Source/shotwell/src/Commands.vala" + data_collection_freeze_notifications (_tmp3_); +#line 8104 "Commands.c" + } +#line 807 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = photo; +#line 807 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = self->priv->theta; +#line 807 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_straighten (_tmp4_, _tmp5_); +#line 808 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = photo; +#line 808 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->priv->crop; +#line 808 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_crop (_tmp6_, &_tmp7_); +#line 810 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = collection; +#line 810 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp8_ != NULL) { +#line 8122 "Commands.c" + DataCollection* _tmp9_ = NULL; +#line 811 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = collection; +#line 811 "/home/jens/Source/shotwell/src/Commands.vala" + data_collection_thaw_notifications (_tmp9_); +#line 8128 "Commands.c" + } +#line 801 "/home/jens/Source/shotwell/src/Commands.vala" + _data_collection_unref0 (collection); +#line 8132 "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 = straighten_command_real_execute_on_photo; +#line 790 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = straighten_command_finalize; +#line 8145 "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 8152 "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 8162 "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; + Photo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + Box _tmp3_ = {0}; +#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" + _tmp0_ = photo; +#line 819 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = name; +#line 819 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = explanation; +#line 819 "/home/jens/Source/shotwell/src/Commands.vala" + self = (CropCommand*) generic_photo_transformation_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_); +#line 821 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = *crop; +#line 821 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->crop = _tmp3_; +#line 818 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 8206 "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 8213 "Commands.c" +} + + +static void crop_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { + CropCommand * self; + Photo* _tmp0_ = NULL; + Box _tmp1_ = {0}; +#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_ = photo; +#line 825 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->crop; +#line 825 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_crop (_tmp0_, &_tmp1_); +#line 8231 "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 = crop_command_real_execute_on_photo; +#line 815 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = crop_command_finalize; +#line 8244 "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 8251 "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 8261 "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 8280 "Commands.c" +} + + +AdjustColorsSingleCommand* adjust_colors_single_command_construct (GType object_type, Photo* photo, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation) { + AdjustColorsSingleCommand * self = NULL; + Photo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PixelTransformationBundle* _tmp3_ = NULL; + PixelTransformationBundle* _tmp4_ = NULL; +#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" + _tmp0_ = photo; +#line 834 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = name; +#line 834 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = explanation; +#line 834 "/home/jens/Source/shotwell/src/Commands.vala" + self = (AdjustColorsSingleCommand*) generic_photo_transformation_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_); +#line 836 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = transformations; +#line 836 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _pixel_transformation_bundle_ref0 (_tmp3_); +#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 = _tmp4_; +#line 832 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 8317 "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 8324 "Commands.c" +} + + +static void adjust_colors_single_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { + AdjustColorsSingleCommand * self; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + PixelTransformationBundle* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; + AppWindow* _tmp5_ = NULL; +#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_ = photo; +#line 842 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->transformations; +#line 842 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_color_adjustments (_tmp2_, _tmp3_); +#line 844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = app_window_get_instance (); +#line 844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 844 "/home/jens/Source/shotwell/src/Commands.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PAGE_WINDOW, PageWindow)); +#line 844 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp5_); +#line 8362 "Commands.c" +} + + +static gboolean adjust_colors_single_command_real_can_compress (GenericPhotoTransformationCommand* base, Command* command) { + AdjustColorsSingleCommand * self; + gboolean result = FALSE; + Command* _tmp0_ = NULL; +#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" + _tmp0_ = command; +#line 848 "/home/jens/Source/shotwell/src/Commands.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_ADJUST_COLORS_SINGLE_COMMAND); +#line 848 "/home/jens/Source/shotwell/src/Commands.vala" + return result; +#line 8380 "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 = adjust_colors_single_command_real_execute_on_photo; +#line 829 "/home/jens/Source/shotwell/src/Commands.vala" + ((GenericPhotoTransformationCommandClass *) klass)->can_compress = 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 8395 "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 8402 "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 8414 "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; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PixelTransformationBundle* _tmp5_ = NULL; + PixelTransformationBundle* _tmp6_ = NULL; +#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" + _tmp0_ = iter; +#line 857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _ ("Applying Color Transformations"); +#line 857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Undoing Color Transformations"); +#line 857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = name; +#line 857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = explanation; +#line 857 "/home/jens/Source/shotwell/src/Commands.vala" + self = (AdjustColorsMultipleCommand*) multiple_photo_transformation_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 860 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = transformations; +#line 860 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _pixel_transformation_bundle_ref0 (_tmp5_); +#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 = _tmp6_; +#line 855 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 8469 "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 8476 "Commands.c" +} + + +static void adjust_colors_multiple_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + AdjustColorsMultipleCommand * self; + DataSource* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#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_ = source; +#line 864 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->transformations; +#line 864 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_color_adjustments (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo), _tmp1_); +#line 8494 "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 = 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 8507 "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 8514 "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 8526 "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; + Photo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + EditingToolsRedeyeInstance _tmp3_ = {0}; +#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" + _tmp0_ = photo; +#line 873 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = name; +#line 873 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = explanation; +#line 873 "/home/jens/Source/shotwell/src/Commands.vala" + self = (RedeyeCommand*) generic_photo_transformation_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_); +#line 875 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = *redeye_instance; +#line 875 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->redeye_instance = _tmp3_; +#line 871 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 8570 "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 8577 "Commands.c" +} + + +static void redeye_command_real_execute_on_photo (GenericPhotoTransformationCommand* base, Photo* photo) { + RedeyeCommand * self; + Photo* _tmp0_ = NULL; + EditingToolsRedeyeInstance _tmp1_ = {0}; +#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_ = photo; +#line 879 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->redeye_instance; +#line 879 "/home/jens/Source/shotwell/src/Commands.vala" + photo_add_redeye_instance (_tmp0_, &_tmp1_); +#line 8595 "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 = redeye_command_real_execute_on_photo; +#line 868 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = redeye_command_finalize; +#line 8608 "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 8615 "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 8625 "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; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = 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" + _tmp0_ = name; +#line 968 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = explanation; +#line 968 "/home/jens/Source/shotwell/src/Commands.vala" + self = (MovePhotosCommand*) command_construct (object_type, _tmp0_, _tmp1_); +#line 967 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 8657 "Commands.c" +} + + +static void move_photos_command_real_prepare (Command* base) { + MovePhotosCommand * self; + MovePhotosCommandRealMovePhotosCommand* _tmp0_ = NULL; + MovePhotosCommandRealMovePhotosCommand* _tmp1_ = NULL; +#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 8675 "Commands.c" +} + + +static void move_photos_command_real_execute (Command* base) { + MovePhotosCommand * self; + MovePhotosCommandRealMovePhotosCommand* _tmp0_ = NULL; + MovePhotosCommandRealMovePhotosCommand* _tmp1_ = NULL; +#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 8693 "Commands.c" +} + + +static void move_photos_command_real_undo (Command* base) { + MovePhotosCommand * self; + MovePhotosCommandRealMovePhotosCommand* _tmp0_ = NULL; + MovePhotosCommandRealMovePhotosCommand* _tmp1_ = NULL; +#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 8711 "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 8718 "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 8725 "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; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + Event* _tmp30_ = NULL; + SourceProxy* _tmp31_ = NULL; + SourceProxy* _tmp32_ = NULL; +#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" + _tmp0_ = source_views; +#line 893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = progress_text; +#line 893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = undo_progress_text; +#line 893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = name; +#line 893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = explanation; +#line 893 "/home/jens/Source/shotwell/src/Commands.vala" + self = (MovePhotosCommandRealMovePhotosCommand*) multiple_data_source_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 8763 "Commands.c" + { + GeeArrayList* _source_list = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + gint _source_size = 0; + GeeArrayList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _source_index = 0; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)->source_list; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _source_list = _tmp6_; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _source_list; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tmp8_; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _source_size = _tmp9_; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _source_index = -1; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 8791 "Commands.c" + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + DataSource* source = NULL; + GeeArrayList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gpointer _tmp15_ = NULL; + MediaSource* current_media = NULL; + DataSource* _tmp16_ = NULL; + MediaSource* _tmp17_ = NULL; + Event* old_event = NULL; + MediaSource* _tmp18_ = NULL; + Event* _tmp19_ = NULL; + SourceProxy* _tmp20_ = NULL; + Event* _tmp21_ = NULL; + SourceProxy* old_event_proxy = NULL; + SourceProxy* _tmp24_ = NULL; + SourceProxy* _tmp25_ = NULL; + GeeHashMap* _tmp27_ = NULL; + MediaSource* _tmp28_ = NULL; + SourceProxy* _tmp29_ = NULL; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _source_index; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _source_index = _tmp10_ + 1; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _source_index; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _source_size; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp11_ < _tmp12_)) { +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 8825 "Commands.c" + } +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _source_list; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _source_index; +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp14_); +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp15_; +#line 897 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = source; +#line 897 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 897 "/home/jens/Source/shotwell/src/Commands.vala" + current_media = _tmp17_; +#line 898 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = current_media; +#line 898 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = media_source_get_event (_tmp18_); +#line 898 "/home/jens/Source/shotwell/src/Commands.vala" + old_event = _tmp19_; +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = old_event; +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp21_ != NULL) { +#line 8851 "Commands.c" + Event* _tmp22_ = NULL; + SourceProxy* _tmp23_ = NULL; +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = old_event; +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PROXYABLE, Proxyable)); +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp20_); +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = _tmp23_; +#line 8862 "Commands.c" + } else { +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp20_); +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = NULL; +#line 8868 "Commands.c" + } +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = _source_proxy_ref0 (_tmp20_); +#line 899 "/home/jens/Source/shotwell/src/Commands.vala" + old_event_proxy = _tmp24_; +#line 902 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = old_event_proxy; +#line 902 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp25_ != NULL) { +#line 8878 "Commands.c" + SourceProxy* _tmp26_ = NULL; +#line 903 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = old_event_proxy; +#line 903 "/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 8884 "Commands.c" + } +#line 905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = self->priv->old_events; +#line 905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = current_media; +#line 905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = old_event_proxy; +#line 905 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp28_, _tmp29_); +#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 (_tmp20_); +#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 8904 "Commands.c" + } +#line 896 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_list); +#line 8908 "Commands.c" + } +#line 909 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = new_event; +#line 909 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, 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 = _tmp31_; +#line 910 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = self->priv->new_event_proxy; +#line 910 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp32_, "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 8924 "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 8931 "Commands.c" +} + + +static void move_photos_command_real_move_photos_command_real_execute (Command* base) { + MovePhotosCommandRealMovePhotosCommand * self; + LibraryWindow* _tmp0_ = NULL; + LibraryWindow* _tmp1_ = NULL; + Page* _tmp2_ = NULL; + Page* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#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 924 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = library_window_get_app (); +#line 924 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _tmp0_; +#line 924 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); +#line 924 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 924 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_EVENT_PAGE); +#line 924 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp3_); +#line 924 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp1_); +#line 924 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp4_) { +#line 8960 "Commands.c" + Event* evt = NULL; + LibraryWindow* _tmp5_ = NULL; + LibraryWindow* _tmp6_ = NULL; + Page* _tmp7_ = NULL; + EventPage* _tmp8_ = NULL; + Event* _tmp9_ = NULL; + Event* _tmp10_ = NULL; + Event* _tmp11_ = NULL; + gint _tmp12_ = 0; + GeeArrayList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = library_window_get_app (); +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tmp5_; +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PAGE_WINDOW, PageWindow)); +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_EVENT_PAGE, EventPage); +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = event_page_get_event (_tmp8_); +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp8_); +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp6_); +#line 925 "/home/jens/Source/shotwell/src/Commands.vala" + evt = _tmp10_; +#line 928 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = evt; +#line 928 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_EVENT_SOURCE, EventSource)); +#line 928 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)->source_list; +#line 928 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 928 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _tmp14_; +#line 928 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp12_ == _tmp15_) { +#line 9003 "Commands.c" + LibraryWindow* _tmp16_ = NULL; + LibraryWindow* _tmp17_ = NULL; + SourceProxy* _tmp18_ = NULL; + DataSource* _tmp19_ = NULL; + Event* _tmp20_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = library_window_get_app (); +#line 931 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _tmp16_; +#line 931 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = self->priv->new_event_proxy; +#line 931 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = source_proxy_get_source (_tmp18_); +#line 931 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_EVENT, Event); +#line 931 "/home/jens/Source/shotwell/src/Commands.vala" + library_window_switch_to_event (_tmp17_, _tmp20_); +#line 931 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp20_); +#line 931 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp17_); +#line 9025 "Commands.c" + } +#line 924 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (evt); +#line 9029 "Commands.c" + } else { + SourceProxy* _tmp21_ = NULL; + DataSource* _tmp22_ = NULL; + Event* _tmp23_ = NULL; + gint _tmp24_ = 0; + gboolean _tmp25_ = FALSE; +#line 937 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = self->priv->new_event_proxy; +#line 937 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = source_proxy_get_source (_tmp21_); +#line 937 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_EVENT, Event); +#line 937 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_EVENT_SOURCE, EventSource)); +#line 937 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = _tmp24_ == 0; +#line 937 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp23_); +#line 937 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp25_) { +#line 9050 "Commands.c" + LibraryWindow* _tmp26_ = NULL; + LibraryWindow* _tmp27_ = NULL; + SourceProxy* _tmp28_ = NULL; + DataSource* _tmp29_ = NULL; + Event* _tmp30_ = NULL; +#line 939 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = library_window_get_app (); +#line 939 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = _tmp26_; +#line 939 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = self->priv->new_event_proxy; +#line 939 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = source_proxy_get_source (_tmp28_); +#line 939 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_EVENT, Event); +#line 939 "/home/jens/Source/shotwell/src/Commands.vala" + library_window_switch_to_event (_tmp27_, _tmp30_); +#line 939 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp30_); +#line 939 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp27_); +#line 9072 "Commands.c" + } + } +#line 946 "/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 9077 "Commands.c" +} + + +static void move_photos_command_real_move_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + MovePhotosCommandRealMovePhotosCommand * self; + DataSource* _tmp0_ = NULL; + SourceProxy* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + Event* _tmp3_ = NULL; +#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_ = source; +#line 950 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->new_event_proxy; +#line 950 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = source_proxy_get_source (_tmp1_); +#line 950 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_EVENT, Event); +#line 950 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), _tmp3_); +#line 950 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp3_); +#line 9103 "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; + DataSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + SourceProxy* event_proxy = NULL; + GeeHashMap* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + gpointer _tmp4_ = NULL; + Event* _tmp5_ = NULL; + SourceProxy* _tmp6_ = NULL; + MediaSource* _tmp9_ = NULL; +#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_ = source; +#line 954 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 954 "/home/jens/Source/shotwell/src/Commands.vala" + current_media = _tmp1_; +#line 955 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->old_events; +#line 955 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = current_media; +#line 955 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_); +#line 955 "/home/jens/Source/shotwell/src/Commands.vala" + event_proxy = (SourceProxy*) _tmp4_; +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = event_proxy; +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp6_ != NULL) { +#line 9141 "Commands.c" + SourceProxy* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = event_proxy; +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = source_proxy_get_source (_tmp7_); +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp5_); +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_EVENT, Event); +#line 9152 "Commands.c" + } else { +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp5_); +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = NULL; +#line 9158 "Commands.c" + } +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = current_media; +#line 957 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_event (_tmp9_, _tmp5_); +#line 953 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp5_); +#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 9170 "Commands.c" +} + + +static void move_photos_command_real_move_photos_command_on_proxy_broken (MovePhotosCommandRealMovePhotosCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 9187 "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 = move_photos_command_real_move_photos_command_real_execute; +#line 886 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->execute_on_source = 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 = 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 9204 "Commands.c" +} + + +static void move_photos_command_real_move_photos_command_instance_init (MovePhotosCommandRealMovePhotosCommand * self) { + GeeHashMap* _tmp0_ = NULL; +#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, g_object_unref, TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, 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 9218 "Commands.c" +} + + +static void move_photos_command_real_move_photos_command_finalize (GObject* obj) { + MovePhotosCommandRealMovePhotosCommand * self; + SourceProxy* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#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 9234 "Commands.c" + { + GeeIterator* _proxy_it = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#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_MAP, GeeMap)); +#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 9261 "Commands.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SourceProxy* proxy = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + SourceProxy* _tmp12_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _proxy_it; +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp9_) { +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 9276 "Commands.c" + } +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _proxy_it; +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + proxy = (SourceProxy*) _tmp11_; +#line 917 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = proxy; +#line 917 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp12_ != NULL) { +#line 9288 "Commands.c" + SourceProxy* _tmp13_ = NULL; + guint _tmp14_ = 0U; +#line 918 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = proxy; +#line 918 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp14_, NULL, FALSE); +#line 918 "/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) _move_photos_command_real_move_photos_command_on_proxy_broken_source_proxy_broken, self); +#line 9297 "Commands.c" + } +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (proxy); +#line 9301 "Commands.c" + } +#line 916 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_proxy_it); +#line 9305 "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 9313 "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 = move_photos_command_real_prepare; +#line 883 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->execute = move_photos_command_real_execute; +#line 883 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = move_photos_command_real_undo; +#line 883 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = move_photos_command_finalize; +#line 9340 "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 9356 "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* _tmp11_ = NULL; + Event* new_event = NULL; + MediaSource* _tmp12_ = NULL; + Event* _tmp13_ = NULL; + GeeIterable* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + MovePhotosCommandRealMovePhotosCommand* _tmp17_ = NULL; +#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 9389 "Commands.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = iter; +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + _view_it = _tmp1_; +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 9402 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + MediaSource* current_source = NULL; + DataView* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _view_it; +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 9420 "Commands.c" + } +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _view_it; +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + view = (DataView*) _tmp5_; +#line 994 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = view; +#line 994 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = data_view_get_source (_tmp6_); +#line 994 "/home/jens/Source/shotwell/src/Commands.vala" + current_source = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource); +#line 996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = key_source; +#line 996 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp8_ == NULL) { +#line 9438 "Commands.c" + MediaSource* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; +#line 997 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = current_source; +#line 997 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#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 = _tmp10_; +#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 9455 "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 9461 "Commands.c" + } +#line 993 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_view_it); +#line 9465 "Commands.c" + } +#line 1003 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = key_source; +#line 1003 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp11_ != NULL, "key_source != null"); +#line 1005 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = key_source; +#line 1005 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = event_create_empty_event (_tmp12_); +#line 1005 "/home/jens/Source/shotwell/src/Commands.vala" + new_event = _tmp13_; +#line 1007 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = iter; +#line 1007 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _ ("Creating New Event"); +#line 1007 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _ ("Removing Event"); +#line 1007 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = move_photos_command_real_move_photos_command_new (new_event, _tmp14_, _tmp15_, _tmp16_, 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 = _tmp17_; +#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 9495 "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 9502 "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 9509 "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; + Event* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + MovePhotosCommandRealMovePhotosCommand* _tmp4_ = NULL; +#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_ = new_event; +#line 1017 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = iter; +#line 1017 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Moving Photos to New Event"); +#line 1017 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _ ("Setting Photos to Previous Event"); +#line 1017 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = move_photos_command_real_move_photos_command_new (_tmp0_, _tmp1_, _tmp2_, _tmp3_, 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 = _tmp4_; +#line 1014 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 9558 "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 9565 "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 9572 "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_ = NULL; + Event* _tmp48_ = NULL; + GeeArrayList* _tmp49_ = NULL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + Event* _tmp52_ = NULL; + GeeArrayList* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + MovePhotosCommandRealMovePhotosCommand* _tmp56_ = NULL; +#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, g_object_unref, NULL, NULL, NULL); +#line 1034 "/home/jens/Source/shotwell/src/Commands.vala" + media_thumbs = _tmp0_; +#line 9622 "Commands.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = iter; +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + _view_it = _tmp2_; +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 9635 "Commands.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Event* event = NULL; + DataView* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + Event* _tmp9_ = NULL; +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _view_it; +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp4_) { +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 9653 "Commands.c" + } +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _view_it; +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + view = (DataView*) _tmp6_; +#line 1037 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = view; +#line 1037 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = data_view_get_source (_tmp7_); +#line 1037 "/home/jens/Source/shotwell/src/Commands.vala" + event = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_EVENT, Event); +#line 1040 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = master_event; +#line 1040 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp9_ == NULL) { +#line 9671 "Commands.c" + Event* _tmp10_ = NULL; + Event* _tmp11_ = NULL; + Event* _tmp12_ = NULL; + gint _tmp13_ = 0; + Event* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1043 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = event; +#line 1043 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#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 = _tmp11_; +#line 1044 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = master_event; +#line 1044 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_EVENT_SOURCE, EventSource)); +#line 1044 "/home/jens/Source/shotwell/src/Commands.vala" + unnamed_evt_src_count = _tmp13_; +#line 1045 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = event; +#line 1045 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = event_has_name (_tmp14_); +#line 1045 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp15_) { +#line 9698 "Commands.c" + Event* _tmp16_ = NULL; + gint _tmp17_ = 0; +#line 1046 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = master_event; +#line 1046 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_EVENT_SOURCE, EventSource)); +#line 1046 "/home/jens/Source/shotwell/src/Commands.vala" + named_evt_src_count = _tmp17_; +#line 9707 "Commands.c" + } + } else { + Event* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 1050 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = event; +#line 1050 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = event_has_name (_tmp18_); +#line 1050 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp19_) { +#line 9718 "Commands.c" + Event* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; +#line 1051 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = event; +#line 1051 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_EVENT_SOURCE, EventSource)); +#line 1051 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = named_evt_src_count; +#line 1051 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp21_ > _tmp22_) { +#line 9730 "Commands.c" + Event* _tmp23_ = NULL; + gint _tmp24_ = 0; + Event* _tmp25_ = NULL; + Event* _tmp26_ = NULL; +#line 1052 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = event; +#line 1052 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_EVENT_SOURCE, EventSource)); +#line 1052 "/home/jens/Source/shotwell/src/Commands.vala" + named_evt_src_count = _tmp24_; +#line 1053 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = event; +#line 1053 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _g_object_ref0 (_tmp25_); +#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 = _tmp26_; +#line 9749 "Commands.c" + } + } else { + gint _tmp27_ = 0; +#line 1055 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = named_evt_src_count; +#line 1055 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp27_ == 0) { +#line 9757 "Commands.c" + Event* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; +#line 1059 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = event; +#line 1059 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_EVENT_SOURCE, EventSource)); +#line 1059 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = unnamed_evt_src_count; +#line 1059 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp29_ > _tmp30_) { +#line 9769 "Commands.c" + Event* _tmp31_ = NULL; + gint _tmp32_ = 0; + Event* _tmp33_ = NULL; + Event* _tmp34_ = NULL; +#line 1060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = event; +#line 1060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_EVENT_SOURCE, EventSource)); +#line 1060 "/home/jens/Source/shotwell/src/Commands.vala" + unnamed_evt_src_count = _tmp32_; +#line 1061 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = event; +#line 1061 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = _g_object_ref0 (_tmp33_); +#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 = _tmp34_; +#line 9788 "Commands.c" + } + } + } + } + { + GeeIterator* _media_source_it = NULL; + Event* _tmp35_ = NULL; + GeeCollection* _tmp36_ = NULL; + GeeCollection* _tmp37_ = NULL; + GeeIterator* _tmp38_ = NULL; + GeeIterator* _tmp39_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = event; +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_EVENT_SOURCE, EventSource)); +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = _tmp36_; +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = _tmp38_; +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp37_); +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _media_source_it = _tmp39_; +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 9816 "Commands.c" + GeeIterator* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + MediaSource* media_source = NULL; + GeeIterator* _tmp42_ = NULL; + gpointer _tmp43_ = NULL; + GeeArrayList* _tmp44_ = NULL; + MediaSource* _tmp45_ = NULL; + ThumbnailView* _tmp46_ = NULL; + ThumbnailView* _tmp47_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = _media_source_it; +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = gee_iterator_next (_tmp40_); +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp41_) { +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 9834 "Commands.c" + } +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = _media_source_it; +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = gee_iterator_get (_tmp42_); +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + media_source = (MediaSource*) _tmp43_; +#line 1069 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = media_thumbs; +#line 1069 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = media_source; +#line 1069 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 1069 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = _tmp46_; +#line 1069 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp47_); +#line 1069 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp47_); +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (media_source); +#line 9856 "Commands.c" + } +#line 1068 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_media_source_it); +#line 9860 "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 9866 "Commands.c" + } +#line 1036 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_view_it); +#line 9870 "Commands.c" + } +#line 1072 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = master_event; +#line 1072 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp48_ != NULL, "master_event != null"); +#line 1073 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = media_thumbs; +#line 1073 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1073 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp51_ = _tmp50_; +#line 1073 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp51_ > 0, "media_thumbs.size > 0"); +#line 1075 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp52_ = master_event; +#line 1075 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp53_ = media_thumbs; +#line 1075 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp54_ = _ ("Merging"); +#line 1075 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp55_ = _ ("Unmerging"); +#line 1075 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp56_ = move_photos_command_real_move_photos_command_new (_tmp52_, G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_ITERABLE, GeeIterable), _tmp54_, _tmp55_, 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 = _tmp56_; +#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 9904 "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 9911 "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 9918 "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 9941 "Commands.c" +} + + +DuplicateMultiplePhotosCommand* duplicate_multiple_photos_command_construct (GType object_type, GeeIterable* iter) { + DuplicateMultiplePhotosCommand * self = NULL; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + LibraryPhotoSourceCollection* _tmp3_ = NULL; +#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" + _tmp0_ = iter; +#line 1085 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _ ("Duplicating photos"); +#line 1085 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Removing duplicated photos"); +#line 1085 "/home/jens/Source/shotwell/src/Commands.vala" + self = (DuplicateMultiplePhotosCommand*) multiple_data_source_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, RESOURCES_DUPLICATE_PHOTO_LABEL, RESOURCES_DUPLICATE_PHOTO_TOOLTIP); +#line 1088 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = library_photo_global; +#line 1088 "/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 1084 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 9967 "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 9974 "Commands.c" +} + + +static void duplicate_multiple_photos_command_on_photo_destroyed (DuplicateMultiplePhotosCommand* self, DataSource* source) { + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#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_MAP, GeeMap)); +#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_ = source; +#line 1097 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_collection_contains (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 1097 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tmp5_; +#line 1097 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp3_); +#line 1097 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp6_) { +#line 10008 "Commands.c" + CommandManager* _tmp7_ = NULL; + CommandManager* _tmp8_ = NULL; +#line 1098 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); +#line 1098 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _tmp7_; +#line 1098 "/home/jens/Source/shotwell/src/Commands.vala" + command_manager_reset (_tmp8_); +#line 1098 "/home/jens/Source/shotwell/src/Commands.vala" + _command_manager_unref0 (_tmp8_); +#line 10019 "Commands.c" + } +} + + +static void duplicate_multiple_photos_command_real_execute (Command* base) { + DuplicateMultiplePhotosCommand * self; + GeeHashMap* _tmp0_ = NULL; + gint _tmp1_ = 0; +#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 10042 "Commands.c" + gchar* error_string = NULL; + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 1108 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->failed; +#line 1108 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = ngettext ("Unable to duplicate one photo due to a file error", "Unable to duplicate %d photos due to file errors", (gulong) _tmp2_); +#line 1108 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = self->priv->failed; +#line 1108 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = g_strdup_printf (_tmp3_, _tmp4_); +#line 1108 "/home/jens/Source/shotwell/src/Commands.vala" + error_string = _tmp5_; +#line 1110 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = error_string; +#line 1110 "/home/jens/Source/shotwell/src/Commands.vala" + app_window_error_message (_tmp6_, NULL); +#line 1107 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (error_string); +#line 10065 "Commands.c" + } +} + + +static void duplicate_multiple_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + DuplicateMultiplePhotosCommand * self; + LibraryPhoto* photo = NULL; + DataSource* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + 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_ = source; +#line 1115 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 1115 "/home/jens/Source/shotwell/src/Commands.vala" + photo = _tmp1_; +#line 10086 "Commands.c" + { + LibraryPhoto* dupe = NULL; + LibraryPhoto* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; +#line 1118 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = library_photo_duplicate (photo, &_inner_error_); +#line 1118 "/home/jens/Source/shotwell/src/Commands.vala" + dupe = _tmp2_; +#line 1118 "/home/jens/Source/shotwell/src/Commands.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10097 "Commands.c" + goto __catch446_g_error; + } +#line 1119 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->dupes; +#line 1119 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), photo, dupe); +#line 1117 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (dupe); +#line 10106 "Commands.c" + } + goto __finally446; + __catch446_g_error: + { + GError* err = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; +#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" + _tmp4_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (photo, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1121 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 1121 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 1121 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _tmp6_; +#line 1121 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = err; +#line 1121 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tmp8_->message; +#line 1121 "/home/jens/Source/shotwell/src/Commands.vala" + g_critical ("Commands.vala:1121: Unable to duplicate file %s: %s", _tmp7_, _tmp9_); +#line 1121 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp7_); +#line 1121 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp5_); +#line 1122 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = self->priv->failed; +#line 1122 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->failed = _tmp10_ + 1; +#line 1117 "/home/jens/Source/shotwell/src/Commands.vala" + _g_error_free0 (err); +#line 10147 "Commands.c" + } + __finally446: +#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 10160 "Commands.c" + } +#line 1114 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (photo); +#line 10164 "Commands.c" +} + + +static void duplicate_multiple_photos_command_real_undo (Command* base) { + DuplicateMultiplePhotosCommand * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GeeHashMap* _tmp2_ = NULL; + LibraryPhotoSourceCollection* _tmp3_ = NULL; +#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 10194 "Commands.c" +} + + +static void duplicate_multiple_photos_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { + DuplicateMultiplePhotosCommand * self; + LibraryPhoto* photo = NULL; + DataSource* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + Marker* marker = NULL; + LibraryPhotoSourceCollection* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + gpointer _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + Marker* _tmp6_ = NULL; + Marker* _tmp7_ = NULL; + LibraryPhotoSourceCollection* _tmp8_ = NULL; +#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_ = source; +#line 1141 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 1141 "/home/jens/Source/shotwell/src/Commands.vala" + photo = _tmp1_; +#line 1143 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = library_photo_global; +#line 1143 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->dupes; +#line 1143 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), photo); +#line 1143 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = (LibraryPhoto*) _tmp4_; +#line 1143 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 1143 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _tmp6_; +#line 1143 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp5_); +#line 1143 "/home/jens/Source/shotwell/src/Commands.vala" + marker = _tmp7_; +#line 1144 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = library_photo_global; +#line 1144 "/home/jens/Source/shotwell/src/Commands.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, 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 10245 "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 = duplicate_multiple_photos_command_real_execute; +#line 1080 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->execute_on_source = duplicate_multiple_photos_command_real_execute_on_source; +#line 1080 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = duplicate_multiple_photos_command_real_undo; +#line 1080 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->undo_on_source = 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 10264 "Commands.c" +} + + +static void duplicate_multiple_photos_command_instance_init (DuplicateMultiplePhotosCommand * self) { + GeeHashMap* _tmp0_ = NULL; +#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, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, 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 10278 "Commands.c" +} + + +static void duplicate_multiple_photos_command_finalize (GObject* obj) { + DuplicateMultiplePhotosCommand * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#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 10298 "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; + DataSource* _tmp0_ = NULL; + Rating _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + Rating _tmp3_ = 0; + DataSource* _tmp4_ = NULL; + Rating _tmp5_ = 0; +#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_ = source; +#line 1155 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = rating; +#line 1155 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = resources_rating_label (_tmp1_); +#line 1155 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SetRatingSingleCommand*) single_data_source_command_construct (object_type, _tmp0_, _tmp2_, ""); +#line 1156 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->set_direct = TRUE; +#line 1157 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = rating; +#line 1157 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->new_rating = _tmp3_; +#line 1159 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = source; +#line 1159 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 1159 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->last_rating = _tmp5_; +#line 1154 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 10346 "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 10353 "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; + gboolean _tmp1_ = FALSE; + DataSource* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* _tmp4_ = NULL; + Rating _tmp5_ = 0; +#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" + _tmp1_ = is_incrementing; +#line 1163 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp1_) { +#line 1163 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = RESOURCES_INCREASE_RATING_LABEL; +#line 10373 "Commands.c" + } else { +#line 1164 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = RESOURCES_DECREASE_RATING_LABEL; +#line 10377 "Commands.c" + } +#line 1163 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = source; +#line 1163 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SetRatingSingleCommand*) single_data_source_command_construct (object_type, _tmp2_, _tmp0_, ""); +#line 1165 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->set_direct = FALSE; +#line 1166 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = is_incrementing; +#line 1166 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->incrementing = _tmp3_; +#line 1168 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = source; +#line 1168 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1168 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->last_rating = _tmp5_; +#line 1162 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 10397 "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 10404 "Commands.c" +} + + +static void set_rating_single_command_real_execute (Command* base) { + SetRatingSingleCommand * self; + gboolean _tmp0_ = FALSE; +#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 10417 "Commands.c" + DataSource* _tmp1_ = NULL; + Rating _tmp2_ = 0; +#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 10426 "Commands.c" + } else { + gboolean _tmp3_ = FALSE; +#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 10433 "Commands.c" + DataSource* _tmp4_ = NULL; +#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 10439 "Commands.c" + } else { + DataSource* _tmp5_ = NULL; +#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 10446 "Commands.c" + } + } +} + + +static void set_rating_single_command_real_undo (Command* base) { + SetRatingSingleCommand * self; + DataSource* _tmp0_ = NULL; + Rating _tmp1_ = 0; +#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 10464 "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 = set_rating_single_command_real_execute; +#line 1148 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = 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 10479 "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 10486 "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 10496 "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; + GeeIterable* _tmp0_ = NULL; + Rating _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + Rating _tmp5_ = 0; + const gchar* _tmp6_ = NULL; + Rating _tmp7_ = 0; + GeeIterable* _tmp8_ = NULL; +#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_ = iter; +#line 1195 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = rating; +#line 1195 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = resources_rating_progress (_tmp1_); +#line 1195 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 1195 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _ ("Restoring previous rating"); +#line 1195 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = rating; +#line 1195 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = resources_rating_label (_tmp5_); +#line 1195 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SetRatingCommand*) multiple_data_source_command_construct (object_type, _tmp0_, _tmp3_, _tmp4_, _tmp6_, ""); +#line 1195 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp3_); +#line 1197 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->set_direct = TRUE; +#line 1198 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = rating; +#line 1198 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->new_rating = _tmp7_; +#line 1200 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = iter; +#line 1200 "/home/jens/Source/shotwell/src/Commands.vala" + set_rating_command_save_source_states (self, _tmp8_); +#line 1194 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 10555 "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 10562 "Commands.c" +} + + +SetRatingCommand* set_rating_command_construct_inc_dec (GType object_type, GeeIterable* iter, gboolean is_incrementing) { + SetRatingCommand * self = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GeeIterable* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GeeIterable* _tmp12_ = 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" + _tmp1_ = is_incrementing; +#line 1205 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp1_) { +#line 10583 "Commands.c" + const gchar* _tmp2_ = NULL; +#line 1205 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Increasing ratings"); +#line 1205 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp2_; +#line 10589 "Commands.c" + } else { + const gchar* _tmp3_ = NULL; +#line 1205 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _ ("Decreasing ratings"); +#line 1205 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp3_; +#line 10596 "Commands.c" + } +#line 1206 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = is_incrementing; +#line 1206 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp5_) { +#line 10602 "Commands.c" + const gchar* _tmp6_ = NULL; +#line 1206 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _ ("Decreasing ratings"); +#line 1206 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp6_; +#line 10608 "Commands.c" + } else { + const gchar* _tmp7_ = NULL; +#line 1206 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _ ("Increasing ratings"); +#line 1206 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp7_; +#line 10615 "Commands.c" + } +#line 1207 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = is_incrementing; +#line 1207 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp9_) { +#line 1207 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = RESOURCES_INCREASE_RATING_LABEL; +#line 10623 "Commands.c" + } else { +#line 1207 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = RESOURCES_DECREASE_RATING_LABEL; +#line 10627 "Commands.c" + } +#line 1204 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = iter; +#line 1204 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SetRatingCommand*) multiple_data_source_command_construct (object_type, _tmp10_, _tmp0_, _tmp4_, _tmp8_, ""); +#line 1209 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->set_direct = FALSE; +#line 1210 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = is_incrementing; +#line 1210 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->incrementing = _tmp11_; +#line 1212 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = iter; +#line 1212 "/home/jens/Source/shotwell/src/Commands.vala" + set_rating_command_save_source_states (self, _tmp12_); +#line 1203 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 10645 "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 10652 "Commands.c" +} + + +static void set_rating_command_save_source_states (SetRatingCommand* self, GeeIterable* iter) { + GeeHashMap* _tmp0_ = NULL; +#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, 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 10668 "Commands.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = iter; +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + _view_it = _tmp2_; +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 10681 "Commands.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataSource* source = NULL; + DataView* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + GeeHashMap* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + Rating _tmp12_ = 0; +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _view_it; +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp4_) { +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 10702 "Commands.c" + } +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _view_it; +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + view = (DataView*) _tmp6_; +#line 1219 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = view; +#line 1219 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = data_view_get_source (_tmp7_); +#line 1219 "/home/jens/Source/shotwell/src/Commands.vala" + source = _tmp8_; +#line 1220 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = self->priv->last_rating_map; +#line 1220 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = source; +#line 1220 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = source; +#line 1220 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1220 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_, (gpointer) ((gintptr) _tmp12_)); +#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 10730 "Commands.c" + } +#line 1218 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_view_it); +#line 10734 "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 10747 "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 10759 "Commands.c" +} + + +static void set_rating_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + SetRatingCommand * self; + gboolean _tmp0_ = FALSE; +#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 10774 "Commands.c" + DataSource* _tmp1_ = NULL; + Rating _tmp2_ = 0; +#line 1236 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = source; +#line 1236 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->new_rating; +#line 1236 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource), _tmp2_); +#line 10783 "Commands.c" + } else { + gboolean _tmp3_ = FALSE; +#line 1238 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->incrementing; +#line 1238 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_) { +#line 10790 "Commands.c" + DataSource* _tmp4_ = NULL; +#line 1239 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = source; +#line 1239 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_increase_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 10796 "Commands.c" + } else { + DataSource* _tmp5_ = NULL; +#line 1241 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = source; +#line 1241 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_decrease_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 10803 "Commands.c" + } + } +} + + +static void set_rating_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { + SetRatingCommand * self; + DataSource* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + gpointer _tmp3_ = NULL; +#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_ = source; +#line 1246 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->last_rating_map; +#line 1246 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = source; +#line 1246 "/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 1246 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), (Rating) ((gintptr) _tmp3_)); +#line 10829 "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 = set_rating_command_real_execute; +#line 1187 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = set_rating_command_real_undo; +#line 1187 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->execute_on_source = set_rating_command_real_execute_on_source; +#line 1187 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->undo_on_source = 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 10848 "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 10857 "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 10869 "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; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + RawDeveloper _tmp4_ = 0; + GeeIterable* _tmp5_ = 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" + _tmp0_ = iter; +#line 1256 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _ ("Setting RAW developer"); +#line 1256 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Restoring previous RAW developer"); +#line 1256 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _ ("Set Developer"); +#line 1256 "/home/jens/Source/shotwell/src/Commands.vala" + self = (SetRawDeveloperCommand*) multiple_data_source_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, _tmp3_, ""); +#line 1258 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = developer; +#line 1258 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->new_developer = _tmp4_; +#line 1259 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = iter; +#line 1259 "/home/jens/Source/shotwell/src/Commands.vala" + set_raw_developer_command_save_source_states (self, _tmp5_); +#line 1255 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 10915 "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 10922 "Commands.c" +} + + +static void set_raw_developer_command_save_source_states (SetRawDeveloperCommand* self, GeeIterable* iter) { + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; +#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, 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, g_object_unref, TYPE_PHOTO_TRANSFORMATION_STATE, (GBoxedCopyFunc) g_object_ref, 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 10945 "Commands.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = iter; +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + _view_it = _tmp3_; +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 10958 "Commands.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Photo* photo = NULL; + DataView* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _view_it; +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp5_) { +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 10978 "Commands.c" + } +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _view_it; +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + view = (DataView*) _tmp7_; +#line 1267 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = view; +#line 1267 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = data_view_get_source (_tmp8_); +#line 1267 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_PHOTO) ? ((Photo*) _tmp9_) : NULL; +#line 1267 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp10_ == NULL) { +#line 1267 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp9_); +#line 10996 "Commands.c" + } +#line 1267 "/home/jens/Source/shotwell/src/Commands.vala" + photo = _tmp10_; +#line 1268 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = photo; +#line 1268 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = set_raw_developer_command_is_raw_photo (self, _tmp11_); +#line 1268 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp12_) { +#line 11006 "Commands.c" + GeeHashMap* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + RawDeveloper _tmp16_ = 0; + GeeHashMap* _tmp17_ = NULL; + Photo* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + PhotoTransformationState* _tmp20_ = NULL; + PhotoTransformationState* _tmp21_ = NULL; +#line 1269 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = self->priv->last_developer_map; +#line 1269 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = photo; +#line 1269 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = photo; +#line 1269 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = photo_get_raw_developer (_tmp15_); +#line 1269 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp14_, (gpointer) ((gintptr) _tmp16_)); +#line 1270 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = self->priv->last_transformation_map; +#line 1270 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = photo; +#line 1270 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = photo; +#line 1270 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = photo_save_transformation_state (_tmp19_); +#line 1270 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = _tmp20_; +#line 1270 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp18_, _tmp21_); +#line 1270 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp21_); +#line 11040 "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 11046 "Commands.c" + } +#line 1266 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_view_it); +#line 11050 "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 11061 "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 11071 "Commands.c" +} + + +static void set_raw_developer_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + SetRawDeveloperCommand * self; + Photo* photo = NULL; + DataSource* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#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_ = source; +#line 1284 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO) ? ((Photo*) _tmp0_) : NULL); +#line 1284 "/home/jens/Source/shotwell/src/Commands.vala" + photo = _tmp1_; +#line 1285 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = photo; +#line 1285 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = set_raw_developer_command_is_raw_photo (self, _tmp2_); +#line 1285 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_) { +#line 11098 "Commands.c" + gboolean _tmp4_ = FALSE; + RawDeveloper _tmp5_ = 0; +#line 1286 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = self->priv->new_developer; +#line 1286 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp5_ == RAW_DEVELOPER_CAMERA) { +#line 11105 "Commands.c" + Photo* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 1286 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = photo; +#line 1286 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = photo_is_raw_developer_available (_tmp6_, RAW_DEVELOPER_CAMERA); +#line 1286 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = !_tmp7_; +#line 11114 "Commands.c" + } else { +#line 1286 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = FALSE; +#line 11118 "Commands.c" + } +#line 1286 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp4_) { +#line 11122 "Commands.c" + Photo* _tmp8_ = NULL; +#line 1287 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = photo; +#line 1287 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_raw_developer (_tmp8_, RAW_DEVELOPER_EMBEDDED); +#line 11128 "Commands.c" + } else { + Photo* _tmp9_ = NULL; + RawDeveloper _tmp10_ = 0; +#line 1289 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = photo; +#line 1289 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = self->priv->new_developer; +#line 1289 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_raw_developer (_tmp9_, _tmp10_); +#line 11138 "Commands.c" + } + } +#line 1283 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (photo); +#line 11143 "Commands.c" +} + + +static void set_raw_developer_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { + SetRawDeveloperCommand * self; + Photo* photo = NULL; + DataSource* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#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_ = source; +#line 1294 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO) ? ((Photo*) _tmp0_) : NULL); +#line 1294 "/home/jens/Source/shotwell/src/Commands.vala" + photo = _tmp1_; +#line 1295 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = photo; +#line 1295 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = set_raw_developer_command_is_raw_photo (self, _tmp2_); +#line 1295 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_) { +#line 11170 "Commands.c" + Photo* _tmp4_ = NULL; + GeeHashMap* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + GeeHashMap* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + PhotoTransformationState* _tmp12_ = NULL; +#line 1296 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = photo; +#line 1296 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = self->priv->last_developer_map; +#line 1296 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = photo; +#line 1296 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_); +#line 1296 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_raw_developer (_tmp4_, (RawDeveloper) ((gintptr) _tmp7_)); +#line 1297 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = photo; +#line 1297 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = self->priv->last_transformation_map; +#line 1297 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = photo; +#line 1297 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_); +#line 1297 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = (PhotoTransformationState*) _tmp11_; +#line 1297 "/home/jens/Source/shotwell/src/Commands.vala" + photo_load_transformation_state (_tmp8_, _tmp12_); +#line 1297 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp12_); +#line 11204 "Commands.c" + } +#line 1293 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (photo); +#line 11208 "Commands.c" +} + + +static gboolean set_raw_developer_command_is_raw_photo (SetRawDeveloperCommand* self, Photo* photo) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + Photo* _tmp1_ = NULL; +#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" + _tmp1_ = photo; +#line 1302 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp1_ != NULL) { +#line 11224 "Commands.c" + Photo* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; +#line 1302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = photo; +#line 1302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = photo_get_master_file_format (_tmp2_); +#line 1302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp3_ == PHOTO_FILE_FORMAT_RAW; +#line 11233 "Commands.c" + } else { +#line 1302 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = FALSE; +#line 11237 "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 11243 "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 = set_raw_developer_command_real_execute; +#line 1250 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = set_raw_developer_command_real_undo; +#line 1250 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->execute_on_source = set_raw_developer_command_real_execute_on_source; +#line 1250 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->undo_on_source = 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 11262 "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 11269 "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 11283 "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_ = NULL; + Dateable* _tmp1_ = NULL; + Dateable* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; + gboolean _tmp4_ = FALSE; +#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" + _tmp0_ = dateable; +#line 1313 "/home/jens/Source/shotwell/src/Commands.vala" + self = (AdjustDateTimePhotoCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), RESOURCES_ADJUST_DATE_TIME_LABEL, ""); +#line 1315 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = dateable; +#line 1315 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#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 = _tmp2_; +#line 1316 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = time_shift; +#line 1316 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->time_shift = _tmp3_; +#line 1317 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = modify_original; +#line 1317 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->modify_original = _tmp4_; +#line 1312 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 11330 "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 11337 "Commands.c" +} + + +static void adjust_date_time_photo_command_real_execute (Command* base) { + AdjustDateTimePhotoCommand * self; + Dateable* _tmp0_ = NULL; + Dateable* _tmp1_ = NULL; + time_t _tmp2_ = 0; + gint64 _tmp3_ = 0LL; + Dateable* _tmp4_ = NULL; + Event* _tmp5_ = NULL; + ViewCollection* all_events = NULL; + ViewCollection* _tmp6_ = NULL; + Dateable* _tmp23_ = NULL; + ViewCollection* _tmp24_ = NULL; +#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_ = dateable_get_exposure_time (_tmp1_); +#line 1321 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->time_shift; +#line 1321 "/home/jens/Source/shotwell/src/Commands.vala" + adjust_date_time_photo_command_set_time (self, _tmp0_, _tmp2_ + ((time_t) _tmp3_)); +#line 1323 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = self->priv->dateable; +#line 1323 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = media_source_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, 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 = _tmp5_; +#line 1325 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = view_collection_new ("tmp"); +#line 1325 "/home/jens/Source/shotwell/src/Commands.vala" + all_events = _tmp6_; +#line 11377 "Commands.c" + { + GeeIterator* _dobj_it = NULL; + EventSourceCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = event_global; +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tmp8_; +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _tmp10_; +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp9_); +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _dobj_it = _tmp11_; +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 11401 "Commands.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + DataObject* dobj = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + Event* event = NULL; + DataObject* _tmp16_ = NULL; + Event* _tmp17_ = NULL; + Event* _tmp18_ = NULL; +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _dobj_it; +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp13_) { +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 11419 "Commands.c" + } +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _dobj_it; +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + dobj = (DataObject*) _tmp15_; +#line 1328 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = dobj; +#line 1328 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_EVENT) ? ((Event*) _tmp16_) : NULL); +#line 1328 "/home/jens/Source/shotwell/src/Commands.vala" + event = _tmp17_; +#line 1329 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = event; +#line 1329 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp18_ != NULL) { +#line 11437 "Commands.c" + ViewCollection* _tmp19_ = NULL; + Event* _tmp20_ = NULL; + EventView* _tmp21_ = NULL; + EventView* _tmp22_ = NULL; +#line 1330 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = all_events; +#line 1330 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = event; +#line 1330 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = event_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_EVENT_SOURCE, EventSource)); +#line 1330 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = _tmp21_; +#line 1330 "/home/jens/Source/shotwell/src/Commands.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_OBJECT, DataObject)); +#line 1330 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp22_); +#line 11454 "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 11460 "Commands.c" + } +#line 1327 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_dobj_it); +#line 11464 "Commands.c" + } +#line 1333 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = self->priv->dateable; +#line 1333 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = all_events; +#line 1333 "/home/jens/Source/shotwell/src/Commands.vala" + event_generate_single_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_MEDIA_SOURCE, MediaSource), _tmp24_, NULL); +#line 1320 "/home/jens/Source/shotwell/src/Commands.vala" + _data_collection_unref0 (all_events); +#line 11474 "Commands.c" +} + + +static void adjust_date_time_photo_command_real_undo (Command* base) { + AdjustDateTimePhotoCommand * self; + Dateable* _tmp0_ = NULL; + Dateable* _tmp1_ = NULL; + time_t _tmp2_ = 0; + gint64 _tmp3_ = 0LL; + Dateable* _tmp4_ = NULL; + Event* _tmp5_ = NULL; +#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_ = dateable_get_exposure_time (_tmp1_); +#line 1337 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->time_shift; +#line 1337 "/home/jens/Source/shotwell/src/Commands.vala" + adjust_date_time_photo_command_set_time (self, _tmp0_, _tmp2_ - ((time_t) _tmp3_)); +#line 1339 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = self->priv->dateable; +#line 1339 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = self->priv->prev_event; +#line 1339 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource), _tmp5_); +#line 11504 "Commands.c" +} + + +static void adjust_date_time_photo_command_set_time (AdjustDateTimePhotoCommand* self, Dateable* dateable, time_t exposure_time) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + 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 11520 "Commands.c" + Dateable* _tmp2_ = NULL; +#line 1343 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = dateable; +#line 1343 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_PHOTO); +#line 11526 "Commands.c" + } else { +#line 1343 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = FALSE; +#line 11530 "Commands.c" + } +#line 1343 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp0_) { +#line 11534 "Commands.c" + { + Dateable* _tmp3_ = NULL; + time_t _tmp4_ = 0; +#line 1345 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = dateable; +#line 1345 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = exposure_time; +#line 1345 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_exposure_time_persistent (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PHOTO, Photo), _tmp4_, &_inner_error_); +#line 1345 "/home/jens/Source/shotwell/src/Commands.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 11546 "Commands.c" + goto __catch447_g_error; + } + } + goto __finally447; + __catch447_g_error: + { + GError* err = NULL; + const gchar* _tmp5_ = 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" + _tmp5_ = _ ("Original photo could not be adjusted."); +#line 1347 "/home/jens/Source/shotwell/src/Commands.vala" + app_window_error_message (_tmp5_, NULL); +#line 1344 "/home/jens/Source/shotwell/src/Commands.vala" + _g_error_free0 (err); +#line 11565 "Commands.c" + } + __finally447: +#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 11576 "Commands.c" + } + } else { + Dateable* _tmp6_ = NULL; + time_t _tmp7_ = 0; +#line 1350 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = dateable; +#line 1350 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = exposure_time; +#line 1350 "/home/jens/Source/shotwell/src/Commands.vala" + dateable_set_exposure_time (_tmp6_, _tmp7_); +#line 11587 "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 = adjust_date_time_photo_command_real_execute; +#line 1306 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = 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 11603 "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 11610 "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 11624 "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 11648 "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 11655 "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; + GeeIterable* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + GeeHashMap* _tmp6_ = NULL; + GeeHashMap* _tmp32_ = NULL; +#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" + _tmp0_ = iter; +#line 1368 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _ ("Adjusting Date and Time"); +#line 1368 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Undoing Date and Time Adjustment"); +#line 1368 "/home/jens/Source/shotwell/src/Commands.vala" + self = (AdjustDateTimePhotosCommand*) multiple_data_source_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_, RESOURCES_ADJUST_DATE_TIME_LABEL, ""); +#line 1371 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = time_shift; +#line 1371 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->time_shift = _tmp3_; +#line 1372 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = keep_relativity; +#line 1372 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->keep_relativity = _tmp4_; +#line 1373 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = modify_originals; +#line 1373 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->modify_originals = _tmp5_; +#line 1377 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = gee_hash_map_new (TYPE_DATEABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_EVENT, (GBoxedCopyFunc) g_object_ref, 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 (_tmp6_, GEE_TYPE_MAP, GeeMap); +#line 11697 "Commands.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = iter; +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_iterable_iterator (_tmp7_); +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _view_it = _tmp8_; +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 11710 "Commands.c" + GeeIterator* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + GeeMap* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; + DataSource* _tmp15_ = NULL; + Dateable* _tmp16_ = NULL; + Dateable* _tmp17_ = NULL; + DataView* _tmp18_ = NULL; + DataSource* _tmp19_ = NULL; + MediaSource* _tmp20_ = NULL; + MediaSource* _tmp21_ = NULL; + Event* _tmp22_ = NULL; + Event* _tmp23_ = NULL; + time_t* _tmp24_ = NULL; +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _view_it; +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_iterator_next (_tmp9_); +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp10_) { +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 11736 "Commands.c" + } +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _view_it; +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = gee_iterator_get (_tmp11_); +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + view = (DataView*) _tmp12_; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = self->priv->prev_events; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = view; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = data_view_get_source (_tmp14_); +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_DATEABLE) ? ((Dateable*) _tmp15_) : NULL; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp16_ == NULL) { +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp15_); +#line 11756 "Commands.c" + } +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _tmp16_; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = view; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = data_view_get_source (_tmp18_); +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_MEDIA_SOURCE) ? ((MediaSource*) _tmp19_) : NULL; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp20_ == NULL) { +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp19_); +#line 11770 "Commands.c" + } +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = _tmp20_; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = media_source_get_event (_tmp21_); +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _tmp22_; +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + gee_map_set (_tmp13_, _tmp17_, _tmp23_); +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp23_); +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp21_); +#line 1381 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp17_); +#line 1383 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = self->priv->new_time; +#line 1383 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp24_ == NULL) { +#line 11790 "Commands.c" + DataView* _tmp25_ = NULL; + DataSource* _tmp26_ = NULL; + Dateable* _tmp27_ = NULL; + time_t _tmp28_ = 0; + gint64 _tmp29_ = 0LL; + time_t _tmp30_ = 0; + time_t* _tmp31_ = NULL; +#line 1384 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = view; +#line 1384 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = data_view_get_source (_tmp25_); +#line 1384 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATEABLE, Dateable); +#line 1384 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = dateable_get_exposure_time (_tmp27_); +#line 1384 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = time_shift; +#line 1384 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = _tmp28_ + ((time_t) _tmp29_); +#line 1384 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = __time_t_dup0 (&_tmp30_); +#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 = _tmp31_; +#line 1384 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp27_); +#line 1386 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (view); +#line 1386 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 11822 "Commands.c" + } +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (view); +#line 11826 "Commands.c" + } +#line 1380 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_view_it); +#line 11830 "Commands.c" + } +#line 1390 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = gee_hash_map_new (TYPE_DATEABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_INVALID, (GBoxedCopyFunc) _time_t_dup, 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 = _tmp32_; +#line 1366 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 11840 "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 11847 "Commands.c" +} + + +static void adjust_date_time_photos_command_real_execute (Command* base) { + AdjustDateTimePhotosCommand * self; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + ViewCollection* all_events = NULL; + ViewCollection* _tmp10_ = NULL; +#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, 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_COLLECTION, GeeCollection)); +#line 1397 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 1397 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_ > 0) { +#line 11877 "Commands.c" + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#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_COLLECTION, GeeCollection)); +#line 1398 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _tmp6_; +#line 1398 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = ngettext ("One original photo could not be adjusted.", "The following original photos could not be adjusted.", (gulong) _tmp7_); +#line 1398 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _ ("Time Adjustment Error"); +#line 1398 "/home/jens/Source/shotwell/src/Commands.vala" + multiple_object_error_dialog (_tmp4_, _tmp8_, _tmp9_); +#line 11898 "Commands.c" + } +#line 1404 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = view_collection_new ("tmp"); +#line 1404 "/home/jens/Source/shotwell/src/Commands.vala" + all_events = _tmp10_; +#line 11904 "Commands.c" + { + GeeIterator* _d_it = NULL; + GeeMap* _tmp11_ = NULL; + GeeSet* _tmp12_ = NULL; + GeeSet* _tmp13_ = NULL; + GeeSet* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = self->priv->prev_events; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = gee_map_get_keys (_tmp11_); +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _tmp12_; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _tmp13_; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _tmp15_; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp14_); +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _d_it = _tmp16_; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 11931 "Commands.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + Dateable* d = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + Dateable* _tmp37_ = NULL; + ViewCollection* _tmp38_ = NULL; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _d_it; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp18_) { +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 11947 "Commands.c" + } +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = _d_it; +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + d = (Dateable*) _tmp20_; +#line 11955 "Commands.c" + { + GeeIterator* _dobj_it = NULL; + EventSourceCollection* _tmp21_ = NULL; + GeeCollection* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeIterator* _tmp24_ = NULL; + GeeIterator* _tmp25_ = NULL; +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = event_global; +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _tmp22_; +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = _tmp24_; +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp23_); +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _dobj_it = _tmp25_; +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 11979 "Commands.c" + GeeIterator* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + DataObject* dobj = NULL; + GeeIterator* _tmp28_ = NULL; + gpointer _tmp29_ = NULL; + Event* event = NULL; + DataObject* _tmp30_ = NULL; + Event* _tmp31_ = NULL; + Event* _tmp32_ = NULL; +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _dobj_it; +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = gee_iterator_next (_tmp26_); +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp27_) { +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 11997 "Commands.c" + } +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = _dobj_it; +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = gee_iterator_get (_tmp28_); +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + dobj = (DataObject*) _tmp29_; +#line 1408 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = dobj; +#line 1408 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_EVENT) ? ((Event*) _tmp30_) : NULL); +#line 1408 "/home/jens/Source/shotwell/src/Commands.vala" + event = _tmp31_; +#line 1409 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = event; +#line 1409 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp32_ != NULL) { +#line 12015 "Commands.c" + ViewCollection* _tmp33_ = NULL; + Event* _tmp34_ = NULL; + EventView* _tmp35_ = NULL; + EventView* _tmp36_ = NULL; +#line 1410 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = all_events; +#line 1410 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = event; +#line 1410 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = event_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_EVENT_SOURCE, EventSource)); +#line 1410 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = _tmp35_; +#line 1410 "/home/jens/Source/shotwell/src/Commands.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_DATA_OBJECT, DataObject)); +#line 1410 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp36_); +#line 12032 "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 12038 "Commands.c" + } +#line 1407 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_dobj_it); +#line 12042 "Commands.c" + } +#line 1413 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = d; +#line 1413 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = all_events; +#line 1413 "/home/jens/Source/shotwell/src/Commands.vala" + event_generate_single_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, TYPE_MEDIA_SOURCE, MediaSource), _tmp38_, NULL); +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (d); +#line 12052 "Commands.c" + } +#line 1406 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_d_it); +#line 12056 "Commands.c" + } +#line 1393 "/home/jens/Source/shotwell/src/Commands.vala" + _data_collection_unref0 (all_events); +#line 12060 "Commands.c" +} + + +static void adjust_date_time_photos_command_real_undo (Command* base) { + AdjustDateTimePhotosCommand * self; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#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, 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_COLLECTION, GeeCollection)); +#line 1421 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 1421 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_ > 0) { +#line 12088 "Commands.c" + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#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_COLLECTION, GeeCollection)); +#line 1422 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _tmp6_; +#line 1422 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = 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_); +#line 1422 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _ ("Time Adjustment Error"); +#line 1422 "/home/jens/Source/shotwell/src/Commands.vala" + multiple_object_error_dialog (_tmp4_, _tmp8_, _tmp9_); +#line 12109 "Commands.c" + } +} + + +static void adjust_date_time_photos_command_set_time (AdjustDateTimePhotosCommand* self, Dateable* dateable, time_t exposure_time) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + 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 12126 "Commands.c" + Dateable* _tmp2_ = NULL; +#line 1433 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = dateable; +#line 1433 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_PHOTO); +#line 12132 "Commands.c" + } else { +#line 1433 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = FALSE; +#line 12136 "Commands.c" + } +#line 1433 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp0_) { +#line 12140 "Commands.c" + { + Dateable* _tmp3_ = NULL; + time_t _tmp4_ = 0; +#line 1435 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = dateable; +#line 1435 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = exposure_time; +#line 1435 "/home/jens/Source/shotwell/src/Commands.vala" + photo_set_exposure_time_persistent (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PHOTO, Photo), _tmp4_, &_inner_error_); +#line 1435 "/home/jens/Source/shotwell/src/Commands.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 12152 "Commands.c" + goto __catch448_g_error; + } + } + goto __finally448; + __catch448_g_error: + { + GError* err = NULL; + GeeArrayList* _tmp5_ = NULL; + Dateable* _tmp6_ = NULL; +#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" + _tmp5_ = self->priv->error_list; +#line 1437 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = dateable; +#line 1437 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp6_); +#line 1434 "/home/jens/Source/shotwell/src/Commands.vala" + _g_error_free0 (err); +#line 12174 "Commands.c" + } + __finally448: +#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 12185 "Commands.c" + } + } else { + Dateable* _tmp7_ = NULL; + time_t _tmp8_ = 0; +#line 1442 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = dateable; +#line 1442 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = exposure_time; +#line 1442 "/home/jens/Source/shotwell/src/Commands.vala" + dateable_set_exposure_time (_tmp7_, _tmp8_); +#line 12196 "Commands.c" + } +} + + +static void adjust_date_time_photos_command_real_execute_on_source (MultipleDataSourceCommand* base, DataSource* source) { + AdjustDateTimePhotosCommand * self; + Dateable* dateable = NULL; + DataSource* _tmp0_ = NULL; + Dateable* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + ViewCollection* all_events = NULL; + ViewCollection* _tmp16_ = NULL; + Dateable* _tmp33_ = NULL; + ViewCollection* _tmp34_ = NULL; +#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_ = source; +#line 1447 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATEABLE, Dateable)); +#line 1447 "/home/jens/Source/shotwell/src/Commands.vala" + dateable = _tmp1_; +#line 1449 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->keep_relativity; +#line 1449 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_) { +#line 12226 "Commands.c" + Dateable* _tmp4_ = NULL; + time_t _tmp5_ = 0; +#line 1449 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = dateable; +#line 1449 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = dateable_get_exposure_time (_tmp4_); +#line 1449 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp5_ != ((time_t) 0); +#line 12235 "Commands.c" + } else { +#line 1449 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = FALSE; +#line 12239 "Commands.c" + } +#line 1449 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp2_) { +#line 12243 "Commands.c" + Dateable* _tmp6_ = NULL; + Dateable* _tmp7_ = NULL; + time_t _tmp8_ = 0; + gint64 _tmp9_ = 0LL; +#line 1450 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = dateable; +#line 1450 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = dateable; +#line 1450 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = dateable_get_exposure_time (_tmp7_); +#line 1450 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = self->priv->time_shift; +#line 1450 "/home/jens/Source/shotwell/src/Commands.vala" + adjust_date_time_photos_command_set_time (self, _tmp6_, _tmp8_ + ((time_t) _tmp9_)); +#line 12258 "Commands.c" + } else { + GeeHashMap* _tmp10_ = NULL; + Dateable* _tmp11_ = NULL; + Dateable* _tmp12_ = NULL; + time_t _tmp13_ = 0; + Dateable* _tmp14_ = NULL; + time_t* _tmp15_ = NULL; +#line 1452 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = self->priv->old_times; +#line 1452 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = dateable; +#line 1452 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = dateable; +#line 1452 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = dateable_get_exposure_time (_tmp12_); +#line 1452 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, &_tmp13_); +#line 1453 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = dateable; +#line 1453 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = self->priv->new_time; +#line 1453 "/home/jens/Source/shotwell/src/Commands.vala" + adjust_date_time_photos_command_set_time (self, _tmp14_, *_tmp15_); +#line 12282 "Commands.c" + } +#line 1456 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = view_collection_new ("tmp"); +#line 1456 "/home/jens/Source/shotwell/src/Commands.vala" + all_events = _tmp16_; +#line 12288 "Commands.c" + { + GeeIterator* _dobj_it = NULL; + EventSourceCollection* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = event_global; +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = _tmp18_; +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = _tmp20_; +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp19_); +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _dobj_it = _tmp21_; +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 12312 "Commands.c" + GeeIterator* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + DataObject* dobj = NULL; + GeeIterator* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + Event* event = NULL; + DataObject* _tmp26_ = NULL; + Event* _tmp27_ = NULL; + Event* _tmp28_ = NULL; +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = _dobj_it; +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = gee_iterator_next (_tmp22_); +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp23_) { +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 12330 "Commands.c" + } +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = _dobj_it; +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = gee_iterator_get (_tmp24_); +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + dobj = (DataObject*) _tmp25_; +#line 1459 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = dobj; +#line 1459 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp26_, TYPE_EVENT) ? ((Event*) _tmp26_) : NULL); +#line 1459 "/home/jens/Source/shotwell/src/Commands.vala" + event = _tmp27_; +#line 1460 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = event; +#line 1460 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp28_ != NULL) { +#line 12348 "Commands.c" + ViewCollection* _tmp29_ = NULL; + Event* _tmp30_ = NULL; + EventView* _tmp31_ = NULL; + EventView* _tmp32_ = NULL; +#line 1461 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = all_events; +#line 1461 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = event; +#line 1461 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = event_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_EVENT_SOURCE, EventSource)); +#line 1461 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = _tmp31_; +#line 1461 "/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 1461 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp32_); +#line 12365 "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 12371 "Commands.c" + } +#line 1458 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_dobj_it); +#line 12375 "Commands.c" + } +#line 1464 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = dateable; +#line 1464 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = all_events; +#line 1464 "/home/jens/Source/shotwell/src/Commands.vala" + event_generate_single_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_MEDIA_SOURCE, MediaSource), _tmp34_, 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 12387 "Commands.c" +} + + +static void adjust_date_time_photos_command_real_undo_on_source (MultipleDataSourceCommand* base, DataSource* source) { + AdjustDateTimePhotosCommand * self; + Dateable* photo = NULL; + DataSource* _tmp0_ = NULL; + Dateable* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + Dateable* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* _tmp16_ = NULL; + GeeMap* _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + Event* _tmp20_ = NULL; +#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_ = source; +#line 1468 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATEABLE, Dateable)); +#line 1468 "/home/jens/Source/shotwell/src/Commands.vala" + photo = _tmp1_; +#line 1470 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->old_times; +#line 1470 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = photo; +#line 1470 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_); +#line 1470 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp4_) { +#line 12422 "Commands.c" + Dateable* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + Dateable* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + time_t* _tmp9_ = NULL; + GeeHashMap* _tmp10_ = NULL; + Dateable* _tmp11_ = NULL; +#line 1471 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = photo; +#line 1471 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = self->priv->old_times; +#line 1471 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = photo; +#line 1471 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 1471 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = (time_t*) _tmp8_; +#line 1471 "/home/jens/Source/shotwell/src/Commands.vala" + adjust_date_time_photos_command_set_time (self, _tmp5_, *_tmp9_); +#line 1471 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp9_); +#line 1472 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = self->priv->old_times; +#line 1472 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = photo; +#line 1472 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, NULL); +#line 12450 "Commands.c" + } else { + Dateable* _tmp12_ = NULL; + Dateable* _tmp13_ = NULL; + time_t _tmp14_ = 0; + gint64 _tmp15_ = 0LL; +#line 1474 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = photo; +#line 1474 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = photo; +#line 1474 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = dateable_get_exposure_time (_tmp13_); +#line 1474 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = self->priv->time_shift; +#line 1474 "/home/jens/Source/shotwell/src/Commands.vala" + adjust_date_time_photos_command_set_time (self, _tmp12_, _tmp14_ - ((time_t) _tmp15_)); +#line 12466 "Commands.c" + } +#line 1477 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = source; +#line 1477 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = self->priv->prev_events; +#line 1477 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = source; +#line 1477 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = gee_map_get (_tmp17_, G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, TYPE_DATEABLE) ? ((Dateable*) _tmp18_) : NULL); +#line 1477 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = (Event*) _tmp19_; +#line 1477 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_set_event (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_MEDIA_SOURCE) ? ((MediaSource*) _tmp16_) : NULL, _tmp20_); +#line 1477 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp20_); +#line 1467 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (photo); +#line 12484 "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 = adjust_date_time_photos_command_real_execute; +#line 1355 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = adjust_date_time_photos_command_real_undo; +#line 1355 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->execute_on_source = adjust_date_time_photos_command_real_execute_on_source; +#line 1355 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceCommandClass *) klass)->undo_on_source = 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 12503 "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 12512 "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 12530 "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 12549 "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 12556 "Commands.c" +} + + +AddTagsCommand* add_tags_command_construct (GType object_type, gchar** paths, int paths_length1, GeeCollection* sources) { + AddTagsCommand * self = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + LibraryPhotoSourceCollection* _tmp43_ = NULL; + VideoSourceCollection* _tmp44_ = NULL; +#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_ = paths; +#line 1486 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0__length1 = paths_length1; +#line 1486 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = resources_add_tags_label (_tmp0_, _tmp0__length1); +#line 1486 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp1_; +#line 1486 "/home/jens/Source/shotwell/src/Commands.vala" + self = (AddTagsCommand*) page_command_construct (object_type, _tmp2_, ""); +#line 1486 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp2_); +#line 1491 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = paths; +#line 1491 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3__length1 = paths_length1; +#line 12588 "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 = _tmp3_; +#line 1491 "/home/jens/Source/shotwell/src/Commands.vala" + path_collection_length1 = _tmp3__length1; +#line 1491 "/home/jens/Source/shotwell/src/Commands.vala" + for (path_it = 0; path_it < _tmp3__length1; path_it = path_it + 1) { +#line 12600 "Commands.c" + gchar* _tmp4_ = NULL; + gchar* path = NULL; +#line 1491 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = g_strdup (path_collection[path_it]); +#line 1491 "/home/jens/Source/shotwell/src/Commands.vala" + path = _tmp4_; +#line 12607 "Commands.c" + { + GeeList* paths_to_create = NULL; + const gchar* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 1492 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = path; +#line 1492 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp5_); +#line 1492 "/home/jens/Source/shotwell/src/Commands.vala" + paths_to_create = _tmp6_; +#line 1494 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = paths_to_create; +#line 1494 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = path; +#line 1494 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), _tmp8_); +#line 12626 "Commands.c" + { + GeeList* _create_path_list = NULL; + GeeList* _tmp9_ = NULL; + GeeList* _tmp10_ = NULL; + gint _create_path_size = 0; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _create_path_index = 0; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = paths_to_create; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _create_path_list = _tmp10_; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _create_path_list; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _tmp12_; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _create_path_size = _tmp13_; +#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 12654 "Commands.c" + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gchar* create_path = NULL; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gpointer _tmp19_ = NULL; + Tag* tag = NULL; + const gchar* _tmp20_ = NULL; + Tag* _tmp21_ = NULL; + SourceProxy* tag_proxy = NULL; + Tag* _tmp22_ = NULL; + SourceProxy* _tmp23_ = NULL; + GeeArrayList* add_sources = NULL; + GeeArrayList* _tmp24_ = NULL; + GeeArrayList* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _create_path_index; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _create_path_index = _tmp14_ + 1; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _create_path_index; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _create_path_size; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp15_ < _tmp16_)) { +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 12685 "Commands.c" + } +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _create_path_list; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = _create_path_index; +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = gee_list_get (_tmp17_, _tmp18_); +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + create_path = (gchar*) _tmp19_; +#line 1497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = create_path; +#line 1497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = tag_for_path (_tmp20_); +#line 1497 "/home/jens/Source/shotwell/src/Commands.vala" + tag = _tmp21_; +#line 1498 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = tag; +#line 1498 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PROXYABLE, Proxyable)); +#line 1498 "/home/jens/Source/shotwell/src/Commands.vala" + tag_proxy = _tmp23_; +#line 1502 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1502 "/home/jens/Source/shotwell/src/Commands.vala" + add_sources = _tmp24_; +#line 12711 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp25_ = NULL; + GeeIterator* _tmp26_ = NULL; +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = sources; +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp26_; +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 12724 "Commands.c" + GeeIterator* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp29_ = NULL; + gpointer _tmp30_ = NULL; + Tag* _tmp31_ = NULL; + MediaSource* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = _source_it; +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = gee_iterator_next (_tmp27_); +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp28_) { +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 12741 "Commands.c" + } +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = _source_it; +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = gee_iterator_get (_tmp29_); +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + source = (MediaSource*) _tmp30_; +#line 1504 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = tag; +#line 1504 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = source; +#line 1504 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = tag_contains (_tmp31_, _tmp32_); +#line 1504 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp33_) { +#line 12757 "Commands.c" + GeeArrayList* _tmp34_ = NULL; + MediaSource* _tmp35_ = NULL; +#line 1505 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = add_sources; +#line 1505 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = source; +#line 1505 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp35_); +#line 12766 "Commands.c" + } +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 12770 "Commands.c" + } +#line 1503 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 12774 "Commands.c" + } +#line 1508 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = add_sources; +#line 1508 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1508 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = _tmp37_; +#line 1508 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp38_ > 0) { +#line 12784 "Commands.c" + SourceProxy* _tmp39_ = NULL; + GeeHashMap* _tmp40_ = NULL; + SourceProxy* _tmp41_ = NULL; + GeeArrayList* _tmp42_ = NULL; +#line 1509 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = tag_proxy; +#line 1509 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp39_, "broken", (GCallback) _add_tags_command_on_proxy_broken_source_proxy_broken, self, 0); +#line 1510 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = self->priv->map; +#line 1510 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = tag_proxy; +#line 1510 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = add_sources; +#line 1510 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp41_, _tmp42_); +#line 12801 "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 12811 "Commands.c" + } +#line 1496 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_create_path_list); +#line 12815 "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 12821 "Commands.c" + } + } + } +#line 1515 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = library_photo_global; +#line 1515 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, 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" + _tmp44_ = video_global; +#line 1516 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, 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 12835 "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 12842 "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 12850 "Commands.c" + { + GeeIterator* _tag_proxy_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#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_MAP, GeeMap)); +#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 12877 "Commands.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + SourceProxy* tag_proxy = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + SourceProxy* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + Tag* _tmp12_ = NULL; + GeeHashMap* _tmp13_ = NULL; + SourceProxy* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GeeArrayList* _tmp16_ = NULL; +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tag_proxy_it; +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp7_) { +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 12898 "Commands.c" + } +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _tag_proxy_it; +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + tag_proxy = (SourceProxy*) _tmp9_; +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = tag_proxy; +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = source_proxy_get_source (_tmp10_); +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_TAG, Tag); +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = self->priv->map; +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = tag_proxy; +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp14_); +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = (GeeArrayList*) _tmp15_; +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach_many (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp16_); +#line 1529 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp12_); +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (tag_proxy); +#line 12928 "Commands.c" + } +#line 1528 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tag_proxy_it); +#line 12932 "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 12941 "Commands.c" + { + GeeIterator* _tag_proxy_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#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_MAP, GeeMap)); +#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 12968 "Commands.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + SourceProxy* tag_proxy = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Tag* tag = NULL; + SourceProxy* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + Tag* _tmp12_ = NULL; + GeeHashMap* _tmp13_ = NULL; + SourceProxy* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GeeArrayList* _tmp16_ = NULL; + GeeMultiMap* _tmp17_ = NULL; + GeeMultiMap* _tmp18_ = NULL; +#line 1533 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tag_proxy_it; +#line 1533 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1533 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp7_) { +#line 1533 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 12992 "Commands.c" + } +#line 1533 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _tag_proxy_it; +#line 1533 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1533 "/home/jens/Source/shotwell/src/Commands.vala" + tag_proxy = (SourceProxy*) _tmp9_; +#line 1534 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = tag_proxy; +#line 1534 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = source_proxy_get_source (_tmp10_); +#line 1534 "/home/jens/Source/shotwell/src/Commands.vala" + tag = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_TAG, Tag); +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = tag; +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = self->priv->map; +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = tag_proxy; +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp14_); +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = (GeeArrayList*) _tmp15_; +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = tag_detach_many (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = _tmp17_; +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp18_); +#line 1536 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp16_); +#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 13028 "Commands.c" + } +#line 1533 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tag_proxy_it); +#line 13032 "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 13042 "Commands.c" + { + GeeIterator* _sources_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#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_MAP, GeeMap)); +#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 13069 "Commands.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GeeArrayList* sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeArrayList* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _sources_it; +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp7_) { +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 13086 "Commands.c" + } +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _sources_it; +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + sources = (GeeArrayList*) _tmp9_; +#line 1542 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = sources; +#line 1542 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = source; +#line 1542 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1542 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp12_) { +#line 13102 "Commands.c" + CommandManager* _tmp13_ = NULL; + CommandManager* _tmp14_ = NULL; +#line 1543 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); +#line 1543 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _tmp13_; +#line 1543 "/home/jens/Source/shotwell/src/Commands.vala" + command_manager_reset (_tmp14_); +#line 1543 "/home/jens/Source/shotwell/src/Commands.vala" + _command_manager_unref0 (_tmp14_); +#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 13119 "Commands.c" + } +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (sources); +#line 13123 "Commands.c" + } +#line 1541 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_sources_it); +#line 13127 "Commands.c" + } +} + + +static void add_tags_command_on_proxy_broken (AddTagsCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 13145 "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 = add_tags_command_real_execute; +#line 1481 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = add_tags_command_real_undo; +#line 1481 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = add_tags_command_finalize; +#line 13160 "Commands.c" +} + + +static void add_tags_command_instance_init (AddTagsCommand * self) { + GeeHashMap* _tmp0_ = NULL; +#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, source_proxy_unref, GEE_TYPE_ARRAY_LIST, (GBoxedCopyFunc) g_object_ref, 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 13172 "Commands.c" +} + + +static void add_tags_command_finalize (GObject* obj) { + AddTagsCommand * self; + LibraryPhotoSourceCollection* _tmp12_ = NULL; + guint _tmp13_ = 0U; + VideoSourceCollection* _tmp14_ = NULL; + guint _tmp15_ = 0U; +#line 1481 "/home/jens/Source/shotwell/src/Commands.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ADD_TAGS_COMMAND, AddTagsCommand); +#line 13184 "Commands.c" + { + GeeIterator* _tag_proxy_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#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_MAP, GeeMap)); +#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 13211 "Commands.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + SourceProxy* tag_proxy = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + SourceProxy* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 1520 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tag_proxy_it; +#line 1520 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1520 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp7_) { +#line 1520 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 13227 "Commands.c" + } +#line 1520 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _tag_proxy_it; +#line 1520 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1520 "/home/jens/Source/shotwell/src/Commands.vala" + tag_proxy = (SourceProxy*) _tmp9_; +#line 1521 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = tag_proxy; +#line 1521 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp11_, NULL, FALSE); +#line 1521 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 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 13243 "Commands.c" + } +#line 1520 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tag_proxy_it); +#line 13247 "Commands.c" + } +#line 1523 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = library_photo_global; +#line 1523 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp13_, NULL, FALSE); +#line 1523 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _add_tags_command_on_source_destroyed_source_collection_item_destroyed, self); +#line 1524 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = video_global; +#line 1524 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp15_, NULL, FALSE); +#line 1524 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 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 13265 "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; + Tag* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + Tag* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + Tag* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#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; +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = tag; +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag_get_user_visible_name (_tmp1_); +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = new_name; +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = resources_rename_tag_label (_tmp3_, _tmp4_); +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tmp5_; +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = tag; +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject)); +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tmp8_; +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + self = (RenameTagCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PROXYABLE, Proxyable), _tmp6_, _tmp9_); +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp9_); +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp6_); +#line 1561 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp3_); +#line 1564 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = tag; +#line 1564 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = tag_get_user_visible_name (_tmp10_); +#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 = _tmp11_; +#line 1565 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = new_name; +#line 1565 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = g_strdup (_tmp12_); +#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 = _tmp13_; +#line 1560 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 13347 "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 13354 "Commands.c" +} + + +static void rename_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { + RenameTagCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#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_ = source; +#line 1569 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->new_name; +#line 1569 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag_rename (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TAG, Tag), _tmp1_); +#line 1569 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp2_) { +#line 13375 "Commands.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1570 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->new_name; +#line 1570 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = resources_rename_tag_exists_message (_tmp3_); +#line 1570 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 1570 "/home/jens/Source/shotwell/src/Commands.vala" + app_window_error_message (_tmp5_, NULL); +#line 1570 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp5_); +#line 13389 "Commands.c" + } +} + + +static void rename_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { + RenameTagCommand * self; + DataSource* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#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_ = source; +#line 1574 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->old_name; +#line 1574 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag_rename (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TAG, Tag), _tmp1_); +#line 1574 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp2_) { +#line 13411 "Commands.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1575 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->old_name; +#line 1575 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = resources_rename_tag_exists_message (_tmp3_); +#line 1575 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 1575 "/home/jens/Source/shotwell/src/Commands.vala" + app_window_error_message (_tmp5_, NULL); +#line 1575 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp5_); +#line 13425 "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 = rename_tag_command_real_execute_on_source; +#line 1555 "/home/jens/Source/shotwell/src/Commands.vala" + ((SimpleProxyableCommandClass *) klass)->undo_on_source = 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 13441 "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 13448 "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 13462 "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; + Tag* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#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; +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = tag; +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag_get_user_visible_name (_tmp1_); +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = resources_delete_tag_label (_tmp3_); +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = tag; +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_OBJECT, DataObject)); +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _tmp7_; +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + self = (DeleteTagCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PROXYABLE, Proxyable), _tmp5_, _tmp8_); +#line 1583 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp8_); +#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 1582 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 13519 "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 13526 "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 13533 "Commands.c" +} + + +static void delete_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { + DeleteTagCommand * self; + Tag* tag = NULL; + DataSource* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + GeeList* recursive_victims = NULL; + Tag* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + TagSourceCollection* _tmp29_ = NULL; + TagSourceCollection* _tmp30_ = NULL; + DataSource* _tmp31_ = NULL; + Marker* _tmp32_ = NULL; + Marker* _tmp33_ = NULL; +#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_ = source; +#line 1587 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TAG, Tag)); +#line 1587 "/home/jens/Source/shotwell/src/Commands.vala" + tag = _tmp1_; +#line 1590 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag; +#line 1590 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = tag_get_hierarchical_children (_tmp2_); +#line 1590 "/home/jens/Source/shotwell/src/Commands.vala" + recursive_victims = _tmp3_; +#line 1591 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = recursive_victims; +#line 1591 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1591 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tmp5_; +#line 1591 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp6_ > 0) { +#line 13577 "Commands.c" + GeeArrayList* _tmp7_ = NULL; +#line 1594 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_array_list_new (TYPE_SOURCE_PROXY, (GBoxedCopyFunc) source_proxy_ref, 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 (_tmp7_, GEE_TYPE_LIST, GeeList); +#line 13585 "Commands.c" + { + GeeList* _victim_list = NULL; + GeeList* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + gint _victim_size = 0; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _victim_index = 0; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = recursive_victims; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _victim_list = _tmp9_; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _victim_list; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _tmp11_; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _victim_size = _tmp12_; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _victim_index = -1; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 13613 "Commands.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + Tag* victim = NULL; + GeeList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gpointer _tmp18_ = NULL; + SourceProxy* proxy = NULL; + Tag* _tmp19_ = NULL; + SourceProxy* _tmp20_ = NULL; + SourceProxy* _tmp21_ = NULL; + GeeList* _tmp22_ = NULL; + SourceProxy* _tmp23_ = NULL; + TagSourceCollection* _tmp24_ = NULL; + TagSourceCollection* _tmp25_ = NULL; + Tag* _tmp26_ = NULL; + Marker* _tmp27_ = NULL; + Marker* _tmp28_ = NULL; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _victim_index; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _victim_index = _tmp13_ + 1; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _victim_index; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _victim_size; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp14_ < _tmp15_)) { +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 13644 "Commands.c" + } +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _victim_list; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _victim_index; +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = gee_list_get (_tmp16_, _tmp17_); +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + victim = (Tag*) _tmp18_; +#line 1596 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = victim; +#line 1596 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PROXYABLE, Proxyable)); +#line 1596 "/home/jens/Source/shotwell/src/Commands.vala" + proxy = _tmp20_; +#line 1597 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = proxy; +#line 1597 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp21_, "broken", (GCallback) _delete_tag_command_on_proxy_broken_source_proxy_broken, self, 0); +#line 1598 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = self->priv->recursive_victim_proxies; +#line 1598 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = proxy; +#line 1598 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_); +#line 1600 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = tag_global; +#line 1600 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = tag_global; +#line 1600 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = victim; +#line 1600 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_OBJECT, DataObject)); +#line 1600 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = _tmp27_; +#line 1600 "/home/jens/Source/shotwell/src/Commands.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp28_, FALSE, NULL, NULL, NULL); +#line 1600 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp28_); +#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 13688 "Commands.c" + } +#line 1595 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_victim_list); +#line 13692 "Commands.c" + } + } +#line 1605 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = tag_global; +#line 1605 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = tag_global; +#line 1605 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = source; +#line 1605 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_OBJECT, DataObject)); +#line 1605 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = _tmp32_; +#line 1605 "/home/jens/Source/shotwell/src/Commands.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp33_, FALSE, NULL, NULL, NULL); +#line 1605 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp33_); +#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 13713 "Commands.c" +} + + +static void delete_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { + DeleteTagCommand * self; + DataSource* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#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" + _tmp0_ = source; +#line 1611 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_TAG), "source is Tag"); +#line 1614 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = self->priv->recursive_victim_proxies; +#line 1614 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp1_ != NULL) { +#line 13733 "Commands.c" + { + gint i = 0; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->recursive_victim_proxies; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp3_; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp4_ - 1; +#line 13747 "Commands.c" + { + gboolean _tmp5_ = FALSE; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = TRUE; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 13754 "Commands.c" + gint _tmp7_ = 0; + SourceProxy* proxy = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + DataSource* victim_source = NULL; + SourceProxy* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + DataSource* _tmp13_ = NULL; + SourceProxy* _tmp14_ = NULL; + guint _tmp15_ = 0U; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp5_) { +#line 13768 "Commands.c" + gint _tmp6_ = 0; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = i; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp6_ - 1; +#line 13774 "Commands.c" + } +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = FALSE; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = i; +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp7_ >= 0)) { +#line 1615 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 13784 "Commands.c" + } +#line 1616 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = self->priv->recursive_victim_proxies; +#line 1616 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = i; +#line 1616 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_list_get (_tmp8_, _tmp9_); +#line 1616 "/home/jens/Source/shotwell/src/Commands.vala" + proxy = (SourceProxy*) _tmp10_; +#line 1618 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = proxy; +#line 1618 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = source_proxy_get_source (_tmp11_); +#line 1618 "/home/jens/Source/shotwell/src/Commands.vala" + victim_source = _tmp12_; +#line 1619 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = victim_source; +#line 1619 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_TAG), "victim_source is Tag"); +#line 1621 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = proxy; +#line 1621 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_parse_name ("broken", TYPE_SOURCE_PROXY, &_tmp15_, NULL, FALSE); +#line 1621 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_handlers_disconnect_matched (_tmp14_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 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 13814 "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 13822 "Commands.c" + } +} + + +static void delete_tag_command_on_proxy_broken (DeleteTagCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 13840 "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 = delete_tag_command_real_execute_on_source; +#line 1579 "/home/jens/Source/shotwell/src/Commands.vala" + ((SimpleProxyableCommandClass *) klass)->undo_on_source = 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 13855 "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 13864 "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 13876 "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; + Tag* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#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_ = tag; +#line 1637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _ ("Create Tag"); +#line 1637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag; +#line 1637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 1637 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp3_; +#line 1637 "/home/jens/Source/shotwell/src/Commands.vala" + self = (NewChildTagCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PROXYABLE, Proxyable), _tmp1_, _tmp4_); +#line 1637 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp4_); +#line 1636 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 13917 "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 13924 "Commands.c" +} + + +static void new_child_tag_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { + NewChildTagCommand * self; + Tag* tag = NULL; + DataSource* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; +#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_ = source; +#line 1641 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TAG, Tag)); +#line 1641 "/home/jens/Source/shotwell/src/Commands.vala" + tag = _tmp1_; +#line 1642 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = 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 = _tmp2_; +#line 1640 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (tag); +#line 13952 "Commands.c" +} + + +static void new_child_tag_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { + NewChildTagCommand * self; + TagSourceCollection* _tmp0_ = NULL; + TagSourceCollection* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; + Marker* _tmp3_ = NULL; + Marker* _tmp4_ = NULL; +#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 13981 "Commands.c" +} + + +Tag* new_child_tag_command_get_created_child (NewChildTagCommand* self) { + Tag* result = NULL; + Tag* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; +#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 14004 "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 = new_child_tag_command_real_execute_on_source; +#line 1633 "/home/jens/Source/shotwell/src/Commands.vala" + ((SimpleProxyableCommandClass *) klass)->undo_on_source = 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 14019 "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 14028 "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 14040 "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; + const gchar* _tmp0_ = NULL; +#line 1660 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _ ("Create Tag"); +#line 1660 "/home/jens/Source/shotwell/src/Commands.vala" + self = (NewRootTagCommand*) page_command_construct (object_type, _tmp0_, ""); +#line 1659 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 14065 "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 14072 "Commands.c" +} + + +static void new_root_tag_command_real_execute (Command* base) { + NewRootTagCommand * self; + SourceProxy* _tmp0_ = NULL; +#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 14085 "Commands.c" + Tag* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; + SourceProxy* _tmp3_ = NULL; +#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 14101 "Commands.c" + } else { + SourceProxy* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; +#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 14114 "Commands.c" + } +} + + +static void new_root_tag_command_real_undo (Command* base) { + NewRootTagCommand * self; + TagSourceCollection* _tmp0_ = NULL; + TagSourceCollection* _tmp1_ = NULL; + SourceProxy* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + Marker* _tmp5_ = NULL; + Marker* _tmp6_ = NULL; +#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 14150 "Commands.c" +} + + +Tag* new_root_tag_command_get_created_tag (NewRootTagCommand* self) { + Tag* result = NULL; + SourceProxy* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; +#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 14168 "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 = new_root_tag_command_real_execute; +#line 1656 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = 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 14183 "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 14192 "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 14204 "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 14223 "Commands.c" +} + + +ReparentTagCommand* reparent_tag_command_construct (GType object_type, Tag* tag, const gchar* new_parent_path) { + ReparentTagCommand * self = NULL; + const gchar* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gboolean has_children = FALSE; + Tag* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gboolean _tmp13_ = FALSE; + gchar* basename = NULL; + Tag* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* new_to_path = NULL; + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + TagSourceCollection* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; + GeeHashSet* _tmp46_ = NULL; + Tag* _tmp47_ = NULL; + GeeCollection* _tmp48_ = NULL; + GeeCollection* _tmp49_ = NULL; + LibraryPhotoSourceCollection* _tmp50_ = NULL; + VideoSourceCollection* _tmp51_ = NULL; +#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_ = _ ("Move Tag \"%s\""); +#line 1695 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = tag; +#line 1695 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag_get_user_visible_name (_tmp1_); +#line 1695 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 1695 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = g_strdup_printf (_tmp0_, _tmp3_); +#line 1695 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 1695 "/home/jens/Source/shotwell/src/Commands.vala" + self = (ReparentTagCommand*) page_command_construct (object_type, _tmp5_, ""); +#line 1695 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp5_); +#line 1695 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp3_); +#line 1697 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = tag; +#line 1697 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = tag_get_path (_tmp6_); +#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 = _tmp7_; +#line 1699 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = tag; +#line 1699 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = tag_get_hierarchical_children (_tmp8_); +#line 1699 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 1699 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1699 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _tmp11_; +#line 1699 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _tmp12_ > 0; +#line 1699 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp10_); +#line 1699 "/home/jens/Source/shotwell/src/Commands.vala" + has_children = _tmp13_; +#line 1700 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = tag; +#line 1700 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = tag_get_user_visible_name (_tmp14_); +#line 1700 "/home/jens/Source/shotwell/src/Commands.vala" + basename = _tmp15_; +#line 1702 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = new_parent_path; +#line 1702 "/home/jens/Source/shotwell/src/Commands.vala" + if (g_strcmp0 (_tmp16_, TAG_PATH_SEPARATOR_STRING) == 0) { +#line 14317 "Commands.c" + gchar* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gchar* _tmp23_ = NULL; +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = has_children; +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp18_) { +#line 14325 "Commands.c" + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = basename; +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp19_, NULL); +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp17_); +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _tmp20_; +#line 14336 "Commands.c" + } else { + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = basename; +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp17_); +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _tmp22_; +#line 14348 "Commands.c" + } +#line 1703 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = g_strdup (_tmp17_); +#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 = _tmp23_; +#line 1702 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp17_); +#line 14358 "Commands.c" + } else { + const gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 1704 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = new_parent_path; +#line 1704 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = g_str_has_prefix (_tmp24_, TAG_PATH_SEPARATOR_STRING); +#line 1704 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp25_) { +#line 14368 "Commands.c" + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 1705 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = new_parent_path; +#line 1705 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = g_strconcat (_tmp26_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 1705 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = _tmp27_; +#line 1705 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = basename; +#line 1705 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = g_strconcat (_tmp28_, _tmp29_, 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 = _tmp30_; +#line 1705 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp28_); +#line 14390 "Commands.c" + } else { + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = new_parent_path; +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp31_, NULL); +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = _tmp32_; +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = g_strconcat (_tmp33_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = _tmp34_; +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = basename; +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = g_strconcat (_tmp35_, _tmp36_, 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 = _tmp37_; +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp35_); +#line 1707 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp33_); +#line 14421 "Commands.c" + } + } +#line 1710 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = self->priv->to_path; +#line 1710 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = hierarchical_tag_utilities_get_root_path_form (_tmp38_); +#line 1710 "/home/jens/Source/shotwell/src/Commands.vala" + new_to_path = _tmp39_; +#line 1711 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = new_to_path; +#line 1711 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp40_ != NULL) { +#line 14434 "Commands.c" + const gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; +#line 1712 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = new_to_path; +#line 1712 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = g_strdup (_tmp41_); +#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 = _tmp42_; +#line 14445 "Commands.c" + } +#line 1714 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = tag_global; +#line 1714 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = self->priv->to_path; +#line 1714 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = tag_source_collection_exists (_tmp43_, _tmp44_, FALSE); +#line 1714 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp45_) { +#line 1715 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->to_path_exists = TRUE; +#line 14457 "Commands.c" + } +#line 1717 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = self->priv->sources_in_play; +#line 1717 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = tag; +#line 1717 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = tag_get_sources (_tmp47_); +#line 1717 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = _tmp48_; +#line 1717 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_COLLECTION, GeeCollection), _tmp49_); +#line 1717 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp49_); +#line 1719 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = library_photo_global; +#line 1719 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, 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" + _tmp51_ = video_global; +#line 1720 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, 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 14485 "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 14492 "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 14501 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = destroyed; +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp1_; +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 14514 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_it; +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 14531 "Commands.c" + } +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_it; +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp5_; +#line 1730 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = self->priv->sources_in_play; +#line 1730 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = source; +#line 1730 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1730 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp8_) { +#line 14547 "Commands.c" + CommandManager* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; +#line 1731 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); +#line 1731 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 1731 "/home/jens/Source/shotwell/src/Commands.vala" + command_manager_reset (_tmp10_); +#line 1731 "/home/jens/Source/shotwell/src/Commands.vala" + _command_manager_unref0 (_tmp10_); +#line 14558 "Commands.c" + } +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 14562 "Commands.c" + } +#line 1729 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 14566 "Commands.c" + } +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 14580 "Commands.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 14611 "Commands.c" + goto __catch449_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 14620 "Commands.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 14636 "Commands.c" + goto __catch449_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 14647 "Commands.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 14661 "Commands.c" + } + goto __finally449; + __catch449_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 14675 "Commands.c" + } + __finally449: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 14686 "Commands.c" + } +} + + +static GeeMap* reparent_tag_command_get_child_structure_at (ReparentTagCommand* self, const gchar* client_path) { + GeeMap* result = NULL; + gchar* path = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp6_ = NULL; + GeeMap* _result_ = NULL; + GeeHashMap* _tmp7_ = NULL; + TagSourceCollection* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + Tag* tag = NULL; + const gchar* _tmp11_ = NULL; + Tag* _tmp12_ = NULL; + gchar* path_prefix = NULL; + Tag* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#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_ = client_path; +#line 1736 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = hierarchical_tag_utilities_get_root_path_form (_tmp0_); +#line 1736 "/home/jens/Source/shotwell/src/Commands.vala" + path = _tmp1_; +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = path; +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_ != NULL) { +#line 14727 "Commands.c" + const gchar* _tmp4_ = NULL; +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = path; +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp4_; +#line 14733 "Commands.c" + } else { + const gchar* _tmp5_ = NULL; +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = client_path; +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp5_; +#line 14740 "Commands.c" + } +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = g_strdup (_tmp2_); +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (path); +#line 1737 "/home/jens/Source/shotwell/src/Commands.vala" + path = _tmp6_; +#line 1739 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, 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 (_tmp7_, GEE_TYPE_MAP, GeeMap); +#line 1742 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = tag_global; +#line 1742 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = path; +#line 1742 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = tag_source_collection_exists (_tmp8_, _tmp9_, FALSE); +#line 1742 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp10_) { +#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 14766 "Commands.c" + } +#line 1745 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = path; +#line 1745 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = tag_for_path (_tmp11_); +#line 1745 "/home/jens/Source/shotwell/src/Commands.vala" + tag = _tmp12_; +#line 1747 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = tag; +#line 1747 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = tag_get_path (_tmp13_); +#line 1747 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _tmp14_; +#line 1747 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = g_strconcat (_tmp15_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 1747 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _tmp16_; +#line 1747 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp15_); +#line 1747 "/home/jens/Source/shotwell/src/Commands.vala" + path_prefix = _tmp17_; +#line 14788 "Commands.c" + { + GeeList* _t_list = NULL; + Tag* _tmp18_ = NULL; + GeeList* _tmp19_ = NULL; + gint _t_size = 0; + GeeList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint _t_index = 0; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = tag; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = tag_get_hierarchical_children (_tmp18_); +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _t_list = _tmp19_; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = _t_list; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = _tmp21_; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _t_size = _tmp22_; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _t_index = -1; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 14816 "Commands.c" + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + Tag* t = NULL; + GeeList* _tmp26_ = NULL; + gint _tmp27_ = 0; + gpointer _tmp28_ = NULL; + gchar* child_subpath = NULL; + Tag* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + GeeMap* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + GeeHashSet* _tmp37_ = NULL; + GeeHashSet* _tmp38_ = NULL; + GeeMap* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gpointer _tmp41_ = NULL; + GeeSet* _tmp42_ = NULL; + Tag* _tmp43_ = NULL; + GeeCollection* _tmp44_ = NULL; + GeeCollection* _tmp45_ = NULL; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _t_index; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _t_index = _tmp23_ + 1; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = _t_index; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = _t_size; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp24_ < _tmp25_)) { +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 14854 "Commands.c" + } +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _t_list; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = _t_index; +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = gee_list_get (_tmp26_, _tmp27_); +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + t = (Tag*) _tmp28_; +#line 1749 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = t; +#line 1749 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = tag_get_path (_tmp29_); +#line 1749 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = _tmp30_; +#line 1749 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = path_prefix; +#line 1749 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = string_replace (_tmp31_, _tmp32_, ""); +#line 1749 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = _tmp33_; +#line 1749 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp31_); +#line 1749 "/home/jens/Source/shotwell/src/Commands.vala" + child_subpath = _tmp34_; +#line 1751 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = _result_; +#line 1751 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = child_subpath; +#line 1751 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1751 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = _tmp37_; +#line 1751 "/home/jens/Source/shotwell/src/Commands.vala" + gee_map_set (_tmp35_, _tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_SET, GeeSet)); +#line 1751 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp38_); +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = _result_; +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = child_subpath; +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = gee_map_get (_tmp39_, _tmp40_); +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = (GeeSet*) _tmp41_; +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = t; +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = tag_get_sources (_tmp43_); +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = _tmp44_; +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection), _tmp45_); +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp45_); +#line 1752 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp42_); +#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 14916 "Commands.c" + } +#line 1748 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_t_list); +#line 14920 "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 14932 "Commands.c" +} + + +static void reparent_tag_command_restore_child_attachments_at (ReparentTagCommand* self, const gchar* client_path, GeeMap* child_structure) { + gchar* new_path = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* path = NULL; + gchar* _tmp6_ = NULL; + TagSourceCollection* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + Tag* tag = NULL; + const gchar* _tmp10_ = NULL; + Tag* _tmp11_ = NULL; +#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_ = client_path; +#line 1761 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = hierarchical_tag_utilities_get_root_path_form (_tmp0_); +#line 1761 "/home/jens/Source/shotwell/src/Commands.vala" + new_path = _tmp1_; +#line 1762 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = new_path; +#line 1762 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_ != NULL) { +#line 14966 "Commands.c" + const gchar* _tmp4_ = NULL; +#line 1762 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = new_path; +#line 1762 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp4_; +#line 14972 "Commands.c" + } else { + const gchar* _tmp5_ = NULL; +#line 1762 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = client_path; +#line 1762 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp5_; +#line 14979 "Commands.c" + } +#line 1762 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = g_strdup (_tmp2_); +#line 1762 "/home/jens/Source/shotwell/src/Commands.vala" + path = _tmp6_; +#line 1764 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = tag_global; +#line 1764 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = path; +#line 1764 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = tag_source_collection_exists (_tmp7_, _tmp8_, FALSE); +#line 1764 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp9_, "Tag.global.exists(path)"); +#line 1765 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = path; +#line 1765 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = tag_for_path (_tmp10_); +#line 1765 "/home/jens/Source/shotwell/src/Commands.vala" + tag = _tmp11_; +#line 14999 "Commands.c" + { + GeeIterator* _child_subpath_it = NULL; + GeeMap* _tmp12_ = NULL; + GeeSet* _tmp13_ = NULL; + GeeSet* _tmp14_ = NULL; + GeeSet* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; + GeeIterator* _tmp17_ = NULL; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = child_structure; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_map_get_keys (_tmp12_); +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _tmp13_; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _tmp14_; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _tmp16_; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp15_); +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _child_subpath_it = _tmp17_; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 15026 "Commands.c" + GeeIterator* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gchar* child_subpath = NULL; + GeeIterator* _tmp20_ = NULL; + gpointer _tmp21_ = NULL; + gchar* child_path = NULL; + Tag* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + Tag* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + gboolean _tmp34_ = FALSE; + TagSourceCollection* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = _child_subpath_it; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = gee_iterator_next (_tmp18_); +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp19_) { +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 15057 "Commands.c" + } +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = _child_subpath_it; +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = gee_iterator_get (_tmp20_); +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + child_subpath = (gchar*) _tmp21_; +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = tag; +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = tag_get_path (_tmp22_); +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = _tmp23_; +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = g_strconcat (_tmp24_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _tmp25_; +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = child_subpath; +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = g_strconcat (_tmp26_, _tmp27_, NULL); +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = _tmp28_; +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp26_); +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp24_); +#line 1768 "/home/jens/Source/shotwell/src/Commands.vala" + child_path = _tmp29_; +#line 1770 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = tag; +#line 1770 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = tag_get_path (_tmp30_); +#line 1770 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = _tmp31_; +#line 1770 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = g_str_has_prefix (_tmp32_, TAG_PATH_SEPARATOR_STRING); +#line 1770 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = !_tmp33_; +#line 1770 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp32_); +#line 1770 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp34_) { +#line 15101 "Commands.c" + Tag* _tmp35_ = NULL; + Tag* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; +#line 1771 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = tag; +#line 1771 "/home/jens/Source/shotwell/src/Commands.vala" + tag_promote (_tmp35_); +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = tag; +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = tag_get_path (_tmp36_); +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = _tmp37_; +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = g_strconcat (_tmp38_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = _tmp39_; +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = child_subpath; +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = g_strconcat (_tmp40_, _tmp41_, 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 = _tmp42_; +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp40_); +#line 1772 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp38_); +#line 15136 "Commands.c" + } +#line 1775 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = tag_global; +#line 1775 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = child_path; +#line 1775 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = tag_source_collection_exists (_tmp43_, _tmp44_, FALSE); +#line 1775 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp45_, "Tag.global.exists(child_path)"); +#line 15146 "Commands.c" + { + GeeIterator* _s_it = NULL; + GeeMap* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + gpointer _tmp48_ = NULL; + GeeSet* _tmp49_ = NULL; + GeeIterator* _tmp50_ = NULL; + GeeIterator* _tmp51_ = NULL; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = child_structure; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = child_subpath; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = gee_map_get (_tmp46_, _tmp47_); +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = (GeeSet*) _tmp48_; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp51_ = _tmp50_; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp49_); +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _s_it = _tmp51_; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 15173 "Commands.c" + GeeIterator* _tmp52_ = NULL; + gboolean _tmp53_ = FALSE; + MediaSource* s = NULL; + GeeIterator* _tmp54_ = NULL; + gpointer _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + Tag* _tmp57_ = NULL; + Tag* _tmp58_ = NULL; + MediaSource* _tmp59_ = NULL; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp52_ = _s_it; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp53_ = gee_iterator_next (_tmp52_); +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp53_) { +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 15191 "Commands.c" + } +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp54_ = _s_it; +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp55_ = gee_iterator_get (_tmp54_); +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + s = (MediaSource*) _tmp55_; +#line 1778 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp56_ = child_path; +#line 1778 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp57_ = tag_for_path (_tmp56_); +#line 1778 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp58_ = _tmp57_; +#line 1778 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp59_ = s; +#line 1778 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach (_tmp58_, _tmp59_); +#line 1778 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp58_); +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (s); +#line 15213 "Commands.c" + } +#line 1777 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_s_it); +#line 15217 "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 15223 "Commands.c" + } +#line 1767 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_child_subpath_it); +#line 15227 "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 15235 "Commands.c" +} + + +static void reparent_tag_command_reattach_in_play_sources_at (ReparentTagCommand* self, const gchar* client_path) { + gchar* new_path = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* path = NULL; + gchar* _tmp6_ = NULL; + TagSourceCollection* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + Tag* tag = NULL; + const gchar* _tmp10_ = NULL; + Tag* _tmp11_ = NULL; +#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_ = client_path; +#line 1783 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = hierarchical_tag_utilities_get_root_path_form (_tmp0_); +#line 1783 "/home/jens/Source/shotwell/src/Commands.vala" + new_path = _tmp1_; +#line 1784 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = new_path; +#line 1784 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_ != NULL) { +#line 15267 "Commands.c" + const gchar* _tmp4_ = NULL; +#line 1784 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = new_path; +#line 1784 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp4_; +#line 15273 "Commands.c" + } else { + const gchar* _tmp5_ = NULL; +#line 1784 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = client_path; +#line 1784 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp5_; +#line 15280 "Commands.c" + } +#line 1784 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = g_strdup (_tmp2_); +#line 1784 "/home/jens/Source/shotwell/src/Commands.vala" + path = _tmp6_; +#line 1786 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = tag_global; +#line 1786 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = path; +#line 1786 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = tag_source_collection_exists (_tmp7_, _tmp8_, FALSE); +#line 1786 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp9_, "Tag.global.exists(path)"); +#line 1788 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = path; +#line 1788 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = tag_for_path (_tmp10_); +#line 1788 "/home/jens/Source/shotwell/src/Commands.vala" + tag = _tmp11_; +#line 15300 "Commands.c" + { + GeeIterator* _s_it = NULL; + GeeHashSet* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = self->priv->sources_in_play; +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _s_it = _tmp13_; +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 15313 "Commands.c" + GeeIterator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + MediaSource* s = NULL; + GeeIterator* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + Tag* _tmp18_ = NULL; + MediaSource* _tmp19_ = NULL; +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _s_it; +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_iterator_next (_tmp14_); +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp15_) { +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 15329 "Commands.c" + } +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _s_it; +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = gee_iterator_get (_tmp16_); +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + s = (MediaSource*) _tmp17_; +#line 1791 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = tag; +#line 1791 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = s; +#line 1791 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach (_tmp18_, _tmp19_); +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (s); +#line 15345 "Commands.c" + } +#line 1790 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_s_it); +#line 15349 "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 15357 "Commands.c" +} + + +static void reparent_tag_command_save_before_state (ReparentTagCommand* self) { + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeMap* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GeeMap* _tmp6_ = NULL; + TagSourceCollection* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + Tag* from_tag = NULL; + const gchar* _tmp10_ = NULL; + Tag* _tmp11_ = NULL; + GeeList* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + SourceProxy* _tmp14_ = NULL; + SourceProxy* _tmp15_ = NULL; + GeeList* parent_paths = NULL; + const gchar* _tmp16_ = NULL; + GeeList* _tmp17_ = NULL; + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + const gchar* _tmp26_ = NULL; + const gchar* _tmp30_ = NULL; + const gchar* _tmp42_ = NULL; + const gchar* _tmp59_ = NULL; + GeeList* from_children = NULL; + Tag* _tmp66_ = NULL; + GeeList* _tmp67_ = NULL; + const gchar* _tmp81_ = NULL; + const gchar* _tmp100_ = NULL; +#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, 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, 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" + _tmp9_ = tag_source_collection_exists (_tmp7_, _tmp8_, FALSE); +#line 1806 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp9_, "Tag.global.exists(from_path)"); +#line 1807 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = self->priv->from_path; +#line 1807 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = tag_for_path (_tmp10_); +#line 1807 "/home/jens/Source/shotwell/src/Commands.vala" + from_tag = _tmp11_; +#line 1808 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = self->priv->src_before_state; +#line 1808 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = from_tag; +#line 1808 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PROXYABLE, Proxyable)); +#line 1808 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _tmp14_; +#line 1808 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_); +#line 1808 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp15_); +#line 1811 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = self->priv->to_path; +#line 1811 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp16_); +#line 1811 "/home/jens/Source/shotwell/src/Commands.vala" + parent_paths = _tmp17_; +#line 1812 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = parent_paths; +#line 1812 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1812 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = _tmp19_; +#line 1812 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp20_ > 0) { +#line 15468 "Commands.c" + GeeList* _tmp21_ = NULL; + GeeList* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gpointer _tmp25_ = NULL; +#line 1813 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = parent_paths; +#line 1813 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = parent_paths; +#line 1813 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1813 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = _tmp23_; +#line 1813 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = gee_list_get (_tmp21_, _tmp24_ - 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*) _tmp25_; +#line 15488 "Commands.c" + } +#line 1814 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = self->priv->to_path_parent_path; +#line 1814 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp26_ != NULL) { +#line 15494 "Commands.c" + GeeMap* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GeeMap* _tmp29_ = NULL; +#line 1815 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = self->priv->existing_dest_child_structure; +#line 1815 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp27_ == NULL, "existing_dest_child_structure == null"); +#line 1816 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = self->priv->to_path_parent_path; +#line 1816 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = reparent_tag_command_get_child_structure_at (self, _tmp28_); +#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 = _tmp29_; +#line 15510 "Commands.c" + } +#line 1820 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = self->priv->to_path_parent_path; +#line 1820 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp30_ == NULL) { +#line 15516 "Commands.c" + GeeMap* _tmp31_ = NULL; + GeeSet* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + GeeMap* _tmp34_ = NULL; + GeeHashSet* _tmp35_ = NULL; + GeeSet* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + Tag* _tmp38_ = NULL; + Tag* _tmp39_ = NULL; + GeeCollection* _tmp40_ = NULL; + GeeCollection* _tmp41_ = NULL; +#line 1821 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = self->priv->existing_dest_child_structure; +#line 1821 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp31_ == NULL, "existing_dest_child_structure == null"); +#line 1822 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = self->priv->existing_dest_membership; +#line 1822 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp32_ == NULL, "existing_dest_membership == null"); +#line 1823 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = self->priv->to_path; +#line 1823 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = reparent_tag_command_get_child_structure_at (self, _tmp33_); +#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 = _tmp34_; +#line 1824 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, 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 (_tmp35_, GEE_TYPE_SET, GeeSet); +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = self->priv->existing_dest_membership; +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = self->priv->to_path; +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = tag_for_path (_tmp37_); +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = _tmp38_; +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = tag_get_sources (_tmp39_); +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = _tmp40_; +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), _tmp41_); +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp41_); +#line 1825 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp39_); +#line 15568 "Commands.c" + } +#line 1829 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = self->priv->to_path_parent_path; +#line 1829 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp42_ != NULL) { +#line 15574 "Commands.c" + gchar* new_tpp = NULL; + const gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + gchar* _tmp49_ = NULL; + TagSourceCollection* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + gboolean _tmp52_ = FALSE; + GeeList* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + Tag* _tmp55_ = NULL; + Tag* _tmp56_ = NULL; + SourceProxy* _tmp57_ = NULL; + SourceProxy* _tmp58_ = NULL; +#line 1830 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = self->priv->to_path_parent_path; +#line 1830 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = hierarchical_tag_utilities_get_root_path_form (_tmp43_); +#line 1830 "/home/jens/Source/shotwell/src/Commands.vala" + new_tpp = _tmp44_; +#line 1831 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = new_tpp; +#line 1831 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp46_ != NULL) { +#line 15600 "Commands.c" + const gchar* _tmp47_ = NULL; +#line 1831 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = new_tpp; +#line 1831 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = _tmp47_; +#line 15606 "Commands.c" + } else { + const gchar* _tmp48_ = NULL; +#line 1831 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = self->priv->to_path_parent_path; +#line 1831 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = _tmp48_; +#line 15613 "Commands.c" + } +#line 1831 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = g_strdup (_tmp45_); +#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 = _tmp49_; +#line 1832 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = tag_global; +#line 1832 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp51_ = self->priv->to_path_parent_path; +#line 1832 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp52_ = tag_source_collection_exists (_tmp50_, _tmp51_, FALSE); +#line 1832 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp52_, "Tag.global.exists(to_path_parent_path)"); +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp53_ = self->priv->dest_before_state; +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp54_ = self->priv->to_path_parent_path; +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp55_ = tag_for_path (_tmp54_); +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp56_ = _tmp55_; +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp57_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_PROXYABLE, Proxyable)); +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp58_ = _tmp57_; +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection), _tmp58_); +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp58_); +#line 1833 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp56_); +#line 1829 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (new_tpp); +#line 15649 "Commands.c" + } +#line 1837 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp59_ = self->priv->to_path_parent_path; +#line 1837 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp59_ == NULL) { +#line 15655 "Commands.c" + GeeList* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + Tag* _tmp62_ = NULL; + Tag* _tmp63_ = NULL; + SourceProxy* _tmp64_ = NULL; + SourceProxy* _tmp65_ = NULL; +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp60_ = self->priv->dest_before_state; +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp61_ = self->priv->to_path; +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp62_ = tag_for_path (_tmp61_); +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp63_ = _tmp62_; +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp64_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, TYPE_PROXYABLE, Proxyable)); +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp65_ = _tmp64_; +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, GEE_TYPE_COLLECTION, GeeCollection), _tmp65_); +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp65_); +#line 1838 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp63_); +#line 15680 "Commands.c" + } +#line 1842 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp66_ = from_tag; +#line 1842 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp67_ = tag_get_hierarchical_children (_tmp66_); +#line 1842 "/home/jens/Source/shotwell/src/Commands.vala" + from_children = _tmp67_; +#line 15688 "Commands.c" + { + gint i = 0; + GeeList* _tmp68_ = NULL; + gint _tmp69_ = 0; + gint _tmp70_ = 0; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp68_ = from_children; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp69_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp70_ = _tmp69_; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp70_ - 1; +#line 15702 "Commands.c" + { + gboolean _tmp71_ = FALSE; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp71_ = TRUE; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 15709 "Commands.c" + gint _tmp73_ = 0; + GeeList* _tmp74_ = NULL; + GeeList* _tmp75_ = NULL; + gint _tmp76_ = 0; + gpointer _tmp77_ = NULL; + Tag* _tmp78_ = NULL; + SourceProxy* _tmp79_ = NULL; + SourceProxy* _tmp80_ = NULL; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp71_) { +#line 15720 "Commands.c" + gint _tmp72_ = 0; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp72_ = i; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp72_ - 1; +#line 15726 "Commands.c" + } +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp71_ = FALSE; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp73_ = i; +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp73_ >= 0)) { +#line 1843 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 15736 "Commands.c" + } +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp74_ = self->priv->src_before_state; +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp75_ = from_children; +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp76_ = i; +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp77_ = gee_list_get (_tmp75_, _tmp76_); +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp78_ = (Tag*) _tmp77_; +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp79_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, TYPE_PROXYABLE, Proxyable)); +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp80_ = _tmp79_; +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_COLLECTION, GeeCollection), _tmp80_); +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp80_); +#line 1844 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp78_); +#line 15758 "Commands.c" + } + } + } +#line 1848 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp81_ = self->priv->to_path_parent_path; +#line 1848 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp81_ != NULL) { +#line 15766 "Commands.c" + GeeList* to_children = NULL; + const gchar* _tmp82_ = NULL; + Tag* _tmp83_ = NULL; + Tag* _tmp84_ = NULL; + GeeList* _tmp85_ = NULL; + GeeList* _tmp86_ = NULL; +#line 1849 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp82_ = self->priv->to_path_parent_path; +#line 1849 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp83_ = tag_for_path (_tmp82_); +#line 1849 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp84_ = _tmp83_; +#line 1849 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp85_ = tag_get_hierarchical_children (_tmp84_); +#line 1849 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp86_ = _tmp85_; +#line 1849 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp84_); +#line 1849 "/home/jens/Source/shotwell/src/Commands.vala" + to_children = _tmp86_; +#line 15787 "Commands.c" + { + gint i = 0; + GeeList* _tmp87_ = NULL; + gint _tmp88_ = 0; + gint _tmp89_ = 0; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp87_ = to_children; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp88_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp89_ = _tmp88_; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp89_ - 1; +#line 15801 "Commands.c" + { + gboolean _tmp90_ = FALSE; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp90_ = TRUE; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 15808 "Commands.c" + gint _tmp92_ = 0; + GeeList* _tmp93_ = NULL; + GeeList* _tmp94_ = NULL; + gint _tmp95_ = 0; + gpointer _tmp96_ = NULL; + Tag* _tmp97_ = NULL; + SourceProxy* _tmp98_ = NULL; + SourceProxy* _tmp99_ = NULL; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp90_) { +#line 15819 "Commands.c" + gint _tmp91_ = 0; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp91_ = i; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp91_ - 1; +#line 15825 "Commands.c" + } +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp90_ = FALSE; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp92_ = i; +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp92_ >= 0)) { +#line 1850 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 15835 "Commands.c" + } +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp93_ = self->priv->dest_before_state; +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp94_ = to_children; +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp95_ = i; +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp96_ = gee_list_get (_tmp94_, _tmp95_); +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp97_ = (Tag*) _tmp96_; +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp98_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp97_, TYPE_PROXYABLE, Proxyable)); +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp99_ = _tmp98_; +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, GEE_TYPE_COLLECTION, GeeCollection), _tmp99_); +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp99_); +#line 1851 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp97_); +#line 15857 "Commands.c" + } + } + } +#line 1848 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (to_children); +#line 15863 "Commands.c" + } +#line 1856 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp100_ = self->priv->to_path_parent_path; +#line 1856 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp100_ == NULL) { +#line 15869 "Commands.c" + GeeList* to_children = NULL; + const gchar* _tmp101_ = NULL; + Tag* _tmp102_ = NULL; + Tag* _tmp103_ = NULL; + GeeList* _tmp104_ = NULL; + GeeList* _tmp105_ = NULL; +#line 1857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp101_ = self->priv->to_path; +#line 1857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp102_ = tag_for_path (_tmp101_); +#line 1857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp103_ = _tmp102_; +#line 1857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp104_ = tag_get_hierarchical_children (_tmp103_); +#line 1857 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp105_ = _tmp104_; +#line 1857 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp103_); +#line 1857 "/home/jens/Source/shotwell/src/Commands.vala" + to_children = _tmp105_; +#line 15890 "Commands.c" + { + gint i = 0; + GeeList* _tmp106_ = NULL; + gint _tmp107_ = 0; + gint _tmp108_ = 0; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp106_ = to_children; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp107_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp106_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp108_ = _tmp107_; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp108_ - 1; +#line 15904 "Commands.c" + { + gboolean _tmp109_ = FALSE; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp109_ = TRUE; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 15911 "Commands.c" + gint _tmp111_ = 0; + GeeList* _tmp112_ = NULL; + GeeList* _tmp113_ = NULL; + gint _tmp114_ = 0; + gpointer _tmp115_ = NULL; + Tag* _tmp116_ = NULL; + SourceProxy* _tmp117_ = NULL; + SourceProxy* _tmp118_ = NULL; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp109_) { +#line 15922 "Commands.c" + gint _tmp110_ = 0; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp110_ = i; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp110_ - 1; +#line 15928 "Commands.c" + } +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp109_ = FALSE; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp111_ = i; +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp111_ >= 0)) { +#line 1858 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 15938 "Commands.c" + } +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp112_ = self->priv->dest_before_state; +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp113_ = to_children; +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp114_ = i; +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp115_ = gee_list_get (_tmp113_, _tmp114_); +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp116_ = (Tag*) _tmp115_; +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp117_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp116_, TYPE_PROXYABLE, Proxyable)); +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp118_ = _tmp117_; +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp112_, GEE_TYPE_COLLECTION, GeeCollection), _tmp118_); +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp118_); +#line 1859 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp116_); +#line 15960 "Commands.c" + } + } + } +#line 1856 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (to_children); +#line 15966 "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 15974 "Commands.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 15997 "Commands.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 16005 "Commands.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 16017 "Commands.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 16041 "Commands.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 16047 "Commands.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 16051 "Commands.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 16055 "Commands.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 16067 "Commands.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 16077 "Commands.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 16083 "Commands.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 16097 "Commands.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 16107 "Commands.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 16113 "Commands.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 16122 "Commands.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 16142 "Commands.c" +} + + +static void reparent_tag_command_restore_before_state (ReparentTagCommand* self) { + GeeList* _tmp0_ = NULL; + GeeMap* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* unwind_target = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp93_ = NULL; +#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 16169 "Commands.c" + gchar* new_tpp = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp9_ = NULL; +#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 16186 "Commands.c" + const gchar* _tmp7_ = NULL; +#line 1870 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = new_tpp; +#line 1870 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp7_; +#line 16192 "Commands.c" + } else { + const gchar* _tmp8_ = NULL; +#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 16199 "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 16209 "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 16215 "Commands.c" + const gchar* _tmp12_ = NULL; +#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 16221 "Commands.c" + } else { + const gchar* _tmp13_ = NULL; +#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 16228 "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 16234 "Commands.c" + { + GeeList* _t_list = NULL; + const gchar* _tmp15_ = NULL; + Tag* _tmp16_ = NULL; + Tag* _tmp17_ = NULL; + GeeList* _tmp18_ = NULL; + GeeList* _tmp19_ = NULL; + gint _t_size = 0; + GeeList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + 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 16273 "Commands.c" + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + Tag* t = NULL; + GeeList* _tmp26_ = NULL; + gint _tmp27_ = 0; + gpointer _tmp28_ = NULL; + gchar* child_subpath = NULL; + Tag* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + GeeMap* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; +#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 16305 "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" + _tmp36_ = g_str_has_prefix (_tmp35_, TAG_PATH_SEPARATOR_STRING); +#line 1876 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp36_) { +#line 16337 "Commands.c" + const gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; +#line 1877 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = child_subpath; +#line 1877 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = string_substring (_tmp37_, (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 = _tmp38_; +#line 16348 "Commands.c" + } +#line 1879 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = self->priv->existing_dest_child_structure; +#line 1879 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = child_subpath; +#line 1879 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = gee_map_has_key (_tmp39_, _tmp40_); +#line 1879 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp41_) { +#line 16358 "Commands.c" + TagSourceCollection* _tmp42_ = NULL; + TagSourceCollection* _tmp43_ = NULL; + Tag* _tmp44_ = NULL; + Marker* _tmp45_ = NULL; + Marker* _tmp46_ = NULL; +#line 1880 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = tag_global; +#line 1880 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = tag_global; +#line 1880 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = t; +#line 1880 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_DATA_OBJECT, DataObject)); +#line 1880 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = _tmp45_; +#line 1880 "/home/jens/Source/shotwell/src/Commands.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp46_, TRUE, NULL, NULL, NULL); +#line 1880 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp46_); +#line 16378 "Commands.c" + } else { + GeeSet* starting_sources = NULL; + GeeHashSet* _tmp47_ = NULL; + GeeSet* _tmp48_ = NULL; + Tag* _tmp49_ = NULL; + GeeCollection* _tmp50_ = NULL; + GeeCollection* _tmp51_ = NULL; +#line 1882 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, 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 (_tmp47_, GEE_TYPE_SET, GeeSet); +#line 1883 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = starting_sources; +#line 1883 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = t; +#line 1883 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = tag_get_sources (_tmp49_); +#line 1883 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp51_ = _tmp50_; +#line 1883 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_COLLECTION, GeeCollection), _tmp51_); +#line 1883 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp51_); +#line 16402 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeSet* _tmp52_ = NULL; + GeeIterator* _tmp53_ = NULL; +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp52_ = starting_sources; +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp53_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp53_; +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 16415 "Commands.c" + GeeIterator* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp56_ = NULL; + gpointer _tmp57_ = NULL; + GeeMap* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + gpointer _tmp60_ = NULL; + GeeSet* _tmp61_ = NULL; + MediaSource* _tmp62_ = NULL; + gboolean _tmp63_ = FALSE; + gboolean _tmp64_ = FALSE; +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp54_ = _source_it; +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp55_ = gee_iterator_next (_tmp54_); +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp55_) { +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 16436 "Commands.c" + } +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp56_ = _source_it; +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp57_ = gee_iterator_get (_tmp56_); +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + source = (MediaSource*) _tmp57_; +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp58_ = self->priv->existing_dest_child_structure; +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp59_ = child_subpath; +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp60_ = gee_map_get (_tmp58_, _tmp59_); +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp61_ = (GeeSet*) _tmp60_; +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp62_ = source; +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp63_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_COLLECTION, GeeCollection), _tmp62_); +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp64_ = !_tmp63_; +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp61_); +#line 1885 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp64_) { +#line 16462 "Commands.c" + Tag* _tmp65_ = NULL; + MediaSource* _tmp66_ = NULL; + GeeList* _tmp67_ = NULL; + GeeList* _tmp68_ = NULL; +#line 1886 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp65_ = t; +#line 1886 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp66_ = source; +#line 1886 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp67_ = tag_detach (_tmp65_, _tmp66_); +#line 1886 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp68_ = _tmp67_; +#line 1886 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp68_); +#line 16477 "Commands.c" + } +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 16481 "Commands.c" + } +#line 1884 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 16485 "Commands.c" + } +#line 1879 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (starting_sources); +#line 16489 "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 16495 "Commands.c" + } +#line 1874 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_t_list); +#line 16499 "Commands.c" + } + { + gint i = 0; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + i = 0; +#line 16505 "Commands.c" + { + gboolean _tmp69_ = FALSE; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp69_ = TRUE; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 16512 "Commands.c" + gint _tmp71_ = 0; + GeeList* _tmp72_ = NULL; + gint _tmp73_ = 0; + gint _tmp74_ = 0; + GeeList* _tmp75_ = NULL; + gint _tmp76_ = 0; + gpointer _tmp77_ = NULL; + SourceProxy* _tmp78_ = NULL; + DataSource* _tmp79_ = NULL; + DataSource* _tmp80_ = NULL; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp69_) { +#line 16525 "Commands.c" + gint _tmp70_ = 0; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp70_ = i; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp70_ + 1; +#line 16531 "Commands.c" + } +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp69_ = FALSE; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp71_ = i; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp72_ = self->priv->src_before_state; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp73_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp74_ = _tmp73_; +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp71_ < _tmp74_)) { +#line 1890 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 16547 "Commands.c" + } +#line 1891 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp75_ = self->priv->src_before_state; +#line 1891 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp76_ = i; +#line 1891 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp77_ = gee_list_get (_tmp75_, _tmp76_); +#line 1891 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp78_ = (SourceProxy*) _tmp77_; +#line 1891 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp79_ = source_proxy_get_source (_tmp78_); +#line 1891 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp80_ = _tmp79_; +#line 1891 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp80_); +#line 1891 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp78_); +#line 16565 "Commands.c" + } + } + } + { + gint i = 0; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + i = 0; +#line 16573 "Commands.c" + { + gboolean _tmp81_ = FALSE; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp81_ = TRUE; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 16580 "Commands.c" + gint _tmp83_ = 0; + GeeList* _tmp84_ = NULL; + gint _tmp85_ = 0; + gint _tmp86_ = 0; + GeeList* _tmp87_ = NULL; + gint _tmp88_ = 0; + gpointer _tmp89_ = NULL; + SourceProxy* _tmp90_ = NULL; + DataSource* _tmp91_ = NULL; + DataSource* _tmp92_ = NULL; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp81_) { +#line 16593 "Commands.c" + gint _tmp82_ = 0; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp82_ = i; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp82_ + 1; +#line 16599 "Commands.c" + } +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp81_ = FALSE; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp83_ = i; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp84_ = self->priv->dest_before_state; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp85_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp86_ = _tmp85_; +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp83_ < _tmp86_)) { +#line 1893 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 16615 "Commands.c" + } +#line 1894 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp87_ = self->priv->dest_before_state; +#line 1894 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp88_ = i; +#line 1894 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp89_ = gee_list_get (_tmp87_, _tmp88_); +#line 1894 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp90_ = (SourceProxy*) _tmp89_; +#line 1894 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp91_ = source_proxy_get_source (_tmp90_); +#line 1894 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp92_ = _tmp91_; +#line 1894 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp92_); +#line 1894 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp90_); +#line 16633 "Commands.c" + } + } + } +#line 1896 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp93_ = self->priv->to_path_parent_path; +#line 1896 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp93_ != NULL) { +#line 16641 "Commands.c" + gchar* new_path = NULL; + const gchar* _tmp94_ = NULL; + gchar* _tmp95_ = NULL; + const gchar* _tmp96_ = NULL; + const gchar* _tmp97_ = NULL; + gchar* path = NULL; + gchar* _tmp100_ = NULL; + TagSourceCollection* _tmp101_ = NULL; + const gchar* _tmp102_ = NULL; + gboolean _tmp103_ = FALSE; + Tag* t = NULL; + const gchar* _tmp104_ = NULL; + Tag* _tmp105_ = NULL; + GeeList* kids = NULL; + Tag* _tmp106_ = NULL; + GeeList* _tmp107_ = NULL; + const gchar* _tmp125_ = NULL; + GeeMap* _tmp126_ = NULL; +#line 1897 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp94_ = self->priv->to_path_parent_path; +#line 1897 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp95_ = hierarchical_tag_utilities_get_root_path_form (_tmp94_); +#line 1897 "/home/jens/Source/shotwell/src/Commands.vala" + new_path = _tmp95_; +#line 1898 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp97_ = new_path; +#line 1898 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp97_ != NULL) { +#line 16670 "Commands.c" + const gchar* _tmp98_ = NULL; +#line 1898 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp98_ = new_path; +#line 1898 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp96_ = _tmp98_; +#line 16676 "Commands.c" + } else { + const gchar* _tmp99_ = NULL; +#line 1898 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp99_ = self->priv->to_path_parent_path; +#line 1898 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp96_ = _tmp99_; +#line 16683 "Commands.c" + } +#line 1898 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp100_ = g_strdup (_tmp96_); +#line 1898 "/home/jens/Source/shotwell/src/Commands.vala" + path = _tmp100_; +#line 1900 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp101_ = tag_global; +#line 1900 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp102_ = path; +#line 1900 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp103_ = tag_source_collection_exists (_tmp101_, _tmp102_, FALSE); +#line 1900 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp103_, "Tag.global.exists(path)"); +#line 1902 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp104_ = path; +#line 1902 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp105_ = tag_for_path (_tmp104_); +#line 1902 "/home/jens/Source/shotwell/src/Commands.vala" + t = _tmp105_; +#line 1904 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp106_ = t; +#line 1904 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp107_ = tag_get_hierarchical_children (_tmp106_); +#line 1904 "/home/jens/Source/shotwell/src/Commands.vala" + kids = _tmp107_; +#line 16709 "Commands.c" + { + GeeList* _kidtag_list = NULL; + GeeList* _tmp108_ = NULL; + GeeList* _tmp109_ = NULL; + gint _kidtag_size = 0; + GeeList* _tmp110_ = NULL; + gint _tmp111_ = 0; + gint _tmp112_ = 0; + gint _kidtag_index = 0; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp108_ = kids; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp109_ = _g_object_ref0 (_tmp108_); +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _kidtag_list = _tmp109_; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp110_ = _kidtag_list; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp111_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp112_ = _tmp111_; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _kidtag_size = _tmp112_; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _kidtag_index = -1; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 16737 "Commands.c" + gint _tmp113_ = 0; + gint _tmp114_ = 0; + gint _tmp115_ = 0; + Tag* kidtag = NULL; + GeeList* _tmp116_ = NULL; + gint _tmp117_ = 0; + gpointer _tmp118_ = NULL; + Tag* _tmp119_ = NULL; + Tag* _tmp120_ = NULL; + GeeCollection* _tmp121_ = NULL; + GeeCollection* _tmp122_ = NULL; + GeeMultiMap* _tmp123_ = NULL; + GeeMultiMap* _tmp124_ = NULL; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp113_ = _kidtag_index; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _kidtag_index = _tmp113_ + 1; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp114_ = _kidtag_index; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp115_ = _kidtag_size; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp114_ < _tmp115_)) { +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 16763 "Commands.c" + } +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp116_ = _kidtag_list; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp117_ = _kidtag_index; +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp118_ = gee_list_get (_tmp116_, _tmp117_); +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + kidtag = (Tag*) _tmp118_; +#line 1906 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp119_ = kidtag; +#line 1906 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp120_ = kidtag; +#line 1906 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp121_ = tag_get_sources (_tmp120_); +#line 1906 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp122_ = _tmp121_; +#line 1906 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp123_ = tag_detach_many (_tmp119_, _tmp122_); +#line 1906 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp124_ = _tmp123_; +#line 1906 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp124_); +#line 1906 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp122_); +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (kidtag); +#line 16791 "Commands.c" + } +#line 1905 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_kidtag_list); +#line 16795 "Commands.c" + } +#line 1908 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp125_ = path; +#line 1908 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp126_ = self->priv->existing_dest_child_structure; +#line 1908 "/home/jens/Source/shotwell/src/Commands.vala" + reparent_tag_command_restore_child_attachments_at (self, _tmp125_, _tmp126_); +#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 16811 "Commands.c" + } else { + GeeSet* _tmp127_ = NULL; + const gchar* _tmp128_ = NULL; + Tag* _tmp129_ = NULL; + Tag* _tmp130_ = NULL; + const gchar* _tmp131_ = NULL; + Tag* _tmp132_ = NULL; + Tag* _tmp133_ = NULL; + GeeCollection* _tmp134_ = NULL; + GeeCollection* _tmp135_ = NULL; + GeeMultiMap* _tmp136_ = NULL; + GeeMultiMap* _tmp137_ = NULL; + const gchar* _tmp138_ = NULL; + Tag* _tmp139_ = NULL; + Tag* _tmp140_ = NULL; + GeeSet* _tmp141_ = NULL; + GeeList* kids = NULL; + const gchar* _tmp142_ = NULL; + Tag* _tmp143_ = NULL; + Tag* _tmp144_ = NULL; + GeeList* _tmp145_ = NULL; + GeeList* _tmp146_ = NULL; + const gchar* _tmp164_ = NULL; + GeeMap* _tmp165_ = NULL; +#line 1910 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp127_ = self->priv->existing_dest_membership; +#line 1910 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp127_ != NULL, "existing_dest_membership != null"); +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp128_ = self->priv->to_path; +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp129_ = tag_for_path (_tmp128_); +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp130_ = _tmp129_; +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp131_ = self->priv->to_path; +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp132_ = tag_for_path (_tmp131_); +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp133_ = _tmp132_; +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp134_ = tag_get_sources (_tmp133_); +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp135_ = _tmp134_; +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp136_ = tag_detach_many (_tmp130_, _tmp135_); +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp137_ = _tmp136_; +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp137_); +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp135_); +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp133_); +#line 1911 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp130_); +#line 1912 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp138_ = self->priv->to_path; +#line 1912 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp139_ = tag_for_path (_tmp138_); +#line 1912 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp140_ = _tmp139_; +#line 1912 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp141_ = self->priv->existing_dest_membership; +#line 1912 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach_many (_tmp140_, G_TYPE_CHECK_INSTANCE_CAST (_tmp141_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1912 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp140_); +#line 1914 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp142_ = self->priv->to_path; +#line 1914 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp143_ = tag_for_path (_tmp142_); +#line 1914 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp144_ = _tmp143_; +#line 1914 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp145_ = tag_get_hierarchical_children (_tmp144_); +#line 1914 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp146_ = _tmp145_; +#line 1914 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp144_); +#line 1914 "/home/jens/Source/shotwell/src/Commands.vala" + kids = _tmp146_; +#line 16894 "Commands.c" + { + GeeList* _kidtag_list = NULL; + GeeList* _tmp147_ = NULL; + GeeList* _tmp148_ = NULL; + gint _kidtag_size = 0; + GeeList* _tmp149_ = NULL; + gint _tmp150_ = 0; + gint _tmp151_ = 0; + gint _kidtag_index = 0; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp147_ = kids; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp148_ = _g_object_ref0 (_tmp147_); +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _kidtag_list = _tmp148_; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp149_ = _kidtag_list; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp150_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp149_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp151_ = _tmp150_; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _kidtag_size = _tmp151_; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _kidtag_index = -1; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 16922 "Commands.c" + gint _tmp152_ = 0; + gint _tmp153_ = 0; + gint _tmp154_ = 0; + Tag* kidtag = NULL; + GeeList* _tmp155_ = NULL; + gint _tmp156_ = 0; + gpointer _tmp157_ = NULL; + Tag* _tmp158_ = NULL; + Tag* _tmp159_ = NULL; + GeeCollection* _tmp160_ = NULL; + GeeCollection* _tmp161_ = NULL; + GeeMultiMap* _tmp162_ = NULL; + GeeMultiMap* _tmp163_ = NULL; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp152_ = _kidtag_index; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _kidtag_index = _tmp152_ + 1; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp153_ = _kidtag_index; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp154_ = _kidtag_size; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp153_ < _tmp154_)) { +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 16948 "Commands.c" + } +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp155_ = _kidtag_list; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp156_ = _kidtag_index; +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp157_ = gee_list_get (_tmp155_, _tmp156_); +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + kidtag = (Tag*) _tmp157_; +#line 1916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp158_ = kidtag; +#line 1916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp159_ = kidtag; +#line 1916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp160_ = tag_get_sources (_tmp159_); +#line 1916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp161_ = _tmp160_; +#line 1916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp162_ = tag_detach_many (_tmp158_, _tmp161_); +#line 1916 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp163_ = _tmp162_; +#line 1916 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp163_); +#line 1916 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp161_); +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (kidtag); +#line 16976 "Commands.c" + } +#line 1915 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_kidtag_list); +#line 16980 "Commands.c" + } +#line 1918 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp164_ = self->priv->to_path; +#line 1918 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp165_ = self->priv->existing_dest_child_structure; +#line 1918 "/home/jens/Source/shotwell/src/Commands.vala" + reparent_tag_command_restore_child_attachments_at (self, _tmp164_, _tmp165_); +#line 1896 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (kids); +#line 16990 "Commands.c" + } +#line 1863 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (unwind_target); +#line 16994 "Commands.c" +} + + +static void reparent_tag_command_save_after_state (ReparentTagCommand* self) { + GeeList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + TagSourceCollection* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + Tag* to_tag = NULL; + const gchar* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + Tag* _tmp8_ = NULL; + SourceProxy* _tmp9_ = NULL; + SourceProxy* _tmp10_ = NULL; + GeeList* to_children = NULL; + Tag* _tmp11_ = NULL; + GeeList* _tmp12_ = NULL; +#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, 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" + _tmp4_ = tag_source_collection_exists (_tmp2_, _tmp3_, FALSE); +#line 1928 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp4_, "Tag.global.exists(to_path)"); +#line 1929 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = self->priv->to_path; +#line 1929 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = tag_for_path (_tmp5_); +#line 1929 "/home/jens/Source/shotwell/src/Commands.vala" + to_tag = _tmp6_; +#line 1930 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->priv->after_state; +#line 1930 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = to_tag; +#line 1930 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PROXYABLE, Proxyable)); +#line 1930 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 1930 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), _tmp10_); +#line 1930 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp10_); +#line 1933 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = to_tag; +#line 1933 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = tag_get_hierarchical_children (_tmp11_); +#line 1933 "/home/jens/Source/shotwell/src/Commands.vala" + to_children = _tmp12_; +#line 17058 "Commands.c" + { + gint i = 0; + GeeList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = to_children; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _tmp14_; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp15_ - 1; +#line 17072 "Commands.c" + { + gboolean _tmp16_ = FALSE; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = TRUE; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 17079 "Commands.c" + gint _tmp18_ = 0; + GeeList* _tmp19_ = NULL; + GeeList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gpointer _tmp22_ = NULL; + Tag* _tmp23_ = NULL; + SourceProxy* _tmp24_ = NULL; + SourceProxy* _tmp25_ = NULL; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp16_) { +#line 17090 "Commands.c" + gint _tmp17_ = 0; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = i; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp17_ - 1; +#line 17096 "Commands.c" + } +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = FALSE; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = i; +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp18_ >= 0)) { +#line 1934 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17106 "Commands.c" + } +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = self->priv->after_state; +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = to_children; +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = i; +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = gee_list_get (_tmp20_, _tmp21_); +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = (Tag*) _tmp22_; +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PROXYABLE, Proxyable)); +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = _tmp24_; +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _source_proxy_unref0 (_tmp25_); +#line 1935 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp23_); +#line 17128 "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 17136 "Commands.c" +} + + +static void reparent_tag_command_restore_after_state (ReparentTagCommand* self) { + GeeList* _tmp0_ = NULL; +#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 17148 "Commands.c" + { + gint i = 0; +#line 1941 "/home/jens/Source/shotwell/src/Commands.vala" + i = 0; +#line 17153 "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 17160 "Commands.c" + gint _tmp3_ = 0; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gpointer _tmp9_ = NULL; + SourceProxy* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; +#line 1941 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp1_) { +#line 17173 "Commands.c" + gint _tmp2_ = 0; +#line 1941 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = i; +#line 1941 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp2_ + 1; +#line 17179 "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 17195 "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 17213 "Commands.c" + } + } + } +} + + +static void reparent_tag_command_prepare_parent (ReparentTagCommand* self, const gchar* path) { + Tag* new_parent = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + Tag* _tmp27_ = NULL; +#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" + _tmp0_ = path; +#line 1948 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = g_str_has_prefix (_tmp0_, TAG_PATH_SEPARATOR_STRING); +#line 1948 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp1_) { +#line 17237 "Commands.c" + GeeList* parent_paths = NULL; + const gchar* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 1949 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = path; +#line 1949 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp2_); +#line 1949 "/home/jens/Source/shotwell/src/Commands.vala" + parent_paths = _tmp3_; +#line 1950 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = parent_paths; +#line 1950 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1950 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tmp5_; +#line 1950 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp6_ > 0) { +#line 17258 "Commands.c" + gchar* immediate_parent_path = NULL; + GeeList* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + TagSourceCollection* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 1951 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = parent_paths; +#line 1951 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = parent_paths; +#line 1951 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1951 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 1951 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = gee_list_get (_tmp7_, _tmp10_ - 1); +#line 1951 "/home/jens/Source/shotwell/src/Commands.vala" + immediate_parent_path = (gchar*) _tmp11_; +#line 1952 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = tag_global; +#line 1952 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = immediate_parent_path; +#line 1952 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = tag_source_collection_exists (_tmp12_, _tmp13_, FALSE); +#line 1952 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp14_) { +#line 17288 "Commands.c" + const gchar* _tmp15_ = NULL; + Tag* _tmp16_ = NULL; +#line 1953 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = immediate_parent_path; +#line 1953 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = tag_for_path (_tmp15_); +#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 = _tmp16_; +#line 17299 "Commands.c" + } else { + TagSourceCollection* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; +#line 1954 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = tag_global; +#line 1954 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = immediate_parent_path; +#line 1954 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = string_substring (_tmp18_, (glong) 1, (glong) -1); +#line 1954 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = _tmp19_; +#line 1954 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = tag_source_collection_exists (_tmp17_, _tmp20_, FALSE); +#line 1954 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = _tmp21_; +#line 1954 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp20_); +#line 1954 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp22_) { +#line 17323 "Commands.c" + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + Tag* _tmp26_ = NULL; +#line 1955 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = immediate_parent_path; +#line 1955 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = string_substring (_tmp23_, (glong) 1, (glong) -1); +#line 1955 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = _tmp24_; +#line 1955 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = tag_for_path (_tmp25_); +#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 = _tmp26_; +#line 1955 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp25_); +#line 17342 "Commands.c" + } else { +#line 1957 "/home/jens/Source/shotwell/src/Commands.vala" + g_assert_not_reached (); +#line 17346 "Commands.c" + } + } +#line 1950 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (immediate_parent_path); +#line 17351 "Commands.c" + } +#line 1948 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (parent_paths); +#line 17355 "Commands.c" + } +#line 1960 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = new_parent; +#line 1960 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp27_ != NULL) { +#line 17361 "Commands.c" + Tag* _tmp28_ = NULL; +#line 1961 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = new_parent; +#line 1961 "/home/jens/Source/shotwell/src/Commands.vala" + tag_promote (_tmp28_); +#line 17367 "Commands.c" + } +#line 1945 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (new_parent); +#line 17371 "Commands.c" +} + + +static void reparent_tag_command_do_source_parent_detachments (ReparentTagCommand* self) { + TagSourceCollection* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + Tag* from_tag = NULL; + const gchar* _tmp3_ = NULL; + Tag* _tmp4_ = NULL; + GeeMap* _tmp5_ = NULL; +#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" + _tmp2_ = tag_source_collection_exists (_tmp0_, _tmp1_, FALSE); +#line 1965 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp2_, "Tag.global.exists(from_path)"); +#line 1966 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->from_path; +#line 1966 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = tag_for_path (_tmp3_); +#line 1966 "/home/jens/Source/shotwell/src/Commands.vala" + from_tag = _tmp4_; +#line 1969 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = self->priv->src_parent_detachments; +#line 1969 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp5_ == NULL) { +#line 17403 "Commands.c" + GeeHashMap* _tmp6_ = NULL; +#line 1970 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, 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 (_tmp6_, GEE_TYPE_MAP, GeeMap); +#line 17411 "Commands.c" + { + GeeIterator* _source_it = NULL; + Tag* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = from_tag; +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = tag_get_sources (_tmp7_); +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tmp8_; +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _tmp10_; +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp9_); +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp11_; +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 17435 "Commands.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + Tag* current_parent = NULL; + Tag* _tmp16_ = NULL; + Tag* _tmp17_ = NULL; + gint running_attach_count = 0; + Tag* _tmp18_ = NULL; + MediaSource* _tmp19_ = NULL; + gint _tmp20_ = 0; +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _source_it; +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp13_) { +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17456 "Commands.c" + } +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _source_it; +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + source = (MediaSource*) _tmp15_; +#line 1972 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = from_tag; +#line 1972 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = tag_get_hierarchical_parent (_tmp16_); +#line 1972 "/home/jens/Source/shotwell/src/Commands.vala" + current_parent = _tmp17_; +#line 1973 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = from_tag; +#line 1973 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = source; +#line 1973 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = tag_get_attachment_count (_tmp18_, _tmp19_); +#line 1973 "/home/jens/Source/shotwell/src/Commands.vala" + running_attach_count = _tmp20_ + 1; +#line 1974 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 17480 "Commands.c" + Tag* _tmp21_ = NULL; + gchar* current_parent_path = NULL; + Tag* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + GeeMap* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + gint curr_parent_attach_count = 0; + Tag* _tmp31_ = NULL; + MediaSource* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp43_ = 0; + Tag* _tmp44_ = NULL; + Tag* _tmp45_ = NULL; +#line 1974 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = current_parent; +#line 1974 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp21_ != NULL)) { +#line 1974 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17505 "Commands.c" + } +#line 1975 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = current_parent; +#line 1975 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = tag_get_path (_tmp22_); +#line 1975 "/home/jens/Source/shotwell/src/Commands.vala" + current_parent_path = _tmp23_; +#line 1976 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = self->priv->src_parent_detachments; +#line 1976 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = current_parent_path; +#line 1976 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = gee_map_has_key (_tmp24_, _tmp25_); +#line 1976 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp26_) { +#line 17521 "Commands.c" + GeeMap* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GeeHashSet* _tmp29_ = NULL; + GeeHashSet* _tmp30_ = NULL; +#line 1977 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = self->priv->src_parent_detachments; +#line 1977 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = current_parent_path; +#line 1977 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1977 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = _tmp29_; +#line 1977 "/home/jens/Source/shotwell/src/Commands.vala" + gee_map_set (_tmp27_, _tmp28_, G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_SET, GeeSet)); +#line 1977 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp30_); +#line 17538 "Commands.c" + } +#line 1979 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = current_parent; +#line 1979 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = source; +#line 1979 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = tag_get_attachment_count (_tmp31_, _tmp32_); +#line 1979 "/home/jens/Source/shotwell/src/Commands.vala" + curr_parent_attach_count = _tmp33_; +#line 1981 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = curr_parent_attach_count; +#line 1981 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = running_attach_count; +#line 1981 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp34_ >= _tmp35_, "curr_parent_attach_count >= running_attach_count"); +#line 1985 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = curr_parent_attach_count; +#line 1985 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = running_attach_count; +#line 1985 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp36_ == _tmp37_) { +#line 17560 "Commands.c" + GeeMap* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gpointer _tmp40_ = NULL; + GeeSet* _tmp41_ = NULL; + MediaSource* _tmp42_ = NULL; +#line 1986 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = self->priv->src_parent_detachments; +#line 1986 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = current_parent_path; +#line 1986 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = gee_map_get (_tmp38_, _tmp39_); +#line 1986 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = (GeeSet*) _tmp40_; +#line 1986 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = source; +#line 1986 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_COLLECTION, GeeCollection), _tmp42_); +#line 1986 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp41_); +#line 17580 "Commands.c" + } +#line 1988 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = running_attach_count; +#line 1988 "/home/jens/Source/shotwell/src/Commands.vala" + running_attach_count = _tmp43_ + 1; +#line 1989 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = current_parent; +#line 1989 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = tag_get_hierarchical_parent (_tmp44_); +#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 = _tmp45_; +#line 1974 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (current_parent_path); +#line 17596 "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 17602 "Commands.c" + } +#line 1971 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 17606 "Commands.c" + } + } + { + GeeIterator* _p_it = NULL; + GeeMap* _tmp46_ = NULL; + GeeSet* _tmp47_ = NULL; + GeeSet* _tmp48_ = NULL; + GeeSet* _tmp49_ = NULL; + GeeIterator* _tmp50_ = NULL; + GeeIterator* _tmp51_ = NULL; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = self->priv->src_parent_detachments; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = gee_map_get_keys (_tmp46_); +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = _tmp47_; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = _tmp48_; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp51_ = _tmp50_; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp49_); +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _p_it = _tmp51_; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 17635 "Commands.c" + GeeIterator* _tmp52_ = NULL; + gboolean _tmp53_ = FALSE; + gchar* p = NULL; + GeeIterator* _tmp54_ = NULL; + gpointer _tmp55_ = NULL; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp52_ = _p_it; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp53_ = gee_iterator_next (_tmp52_); +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp53_) { +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17649 "Commands.c" + } +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp54_ = _p_it; +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp55_ = gee_iterator_get (_tmp54_); +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + p = (gchar*) _tmp55_; +#line 17657 "Commands.c" + { + GeeIterator* _s_it = NULL; + GeeMap* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + gpointer _tmp58_ = NULL; + GeeSet* _tmp59_ = NULL; + GeeIterator* _tmp60_ = NULL; + GeeIterator* _tmp61_ = NULL; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp56_ = self->priv->src_parent_detachments; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp57_ = p; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp58_ = gee_map_get (_tmp56_, _tmp57_); +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp59_ = (GeeSet*) _tmp58_; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp60_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp61_ = _tmp60_; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp59_); +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _s_it = _tmp61_; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 17684 "Commands.c" + GeeIterator* _tmp62_ = NULL; + gboolean _tmp63_ = FALSE; + MediaSource* s = NULL; + GeeIterator* _tmp64_ = NULL; + gpointer _tmp65_ = NULL; + const gchar* _tmp66_ = NULL; + Tag* _tmp67_ = NULL; + Tag* _tmp68_ = NULL; + MediaSource* _tmp69_ = NULL; + GeeList* _tmp70_ = NULL; + GeeList* _tmp71_ = NULL; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp62_ = _s_it; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp63_ = gee_iterator_next (_tmp62_); +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp63_) { +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17704 "Commands.c" + } +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp64_ = _s_it; +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp65_ = gee_iterator_get (_tmp64_); +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + s = (MediaSource*) _tmp65_; +#line 1997 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp66_ = p; +#line 1997 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp67_ = tag_for_path (_tmp66_); +#line 1997 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp68_ = _tmp67_; +#line 1997 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp69_ = s; +#line 1997 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp70_ = tag_detach (_tmp68_, _tmp69_); +#line 1997 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp71_ = _tmp70_; +#line 1997 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp71_); +#line 1997 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp68_); +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (s); +#line 17730 "Commands.c" + } +#line 1996 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_s_it); +#line 17734 "Commands.c" + } +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (p); +#line 17738 "Commands.c" + } +#line 1995 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_p_it); +#line 17742 "Commands.c" + } +#line 1964 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (from_tag); +#line 17746 "Commands.c" +} + + +static void reparent_tag_command_do_source_parent_reattachments (ReparentTagCommand* self) { + GeeMap* _tmp0_ = NULL; +#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 17758 "Commands.c" + { + GeeIterator* _p_it = NULL; + GeeMap* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#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 17785 "Commands.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gchar* p = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _p_it; +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp8_) { +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17799 "Commands.c" + } +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _p_it; +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + p = (gchar*) _tmp10_; +#line 17807 "Commands.c" + { + GeeIterator* _s_it = NULL; + GeeMap* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + GeeSet* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = self->priv->src_parent_detachments; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = p; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_map_get (_tmp11_, _tmp12_); +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = (GeeSet*) _tmp13_; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _tmp15_; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp14_); +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _s_it = _tmp16_; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 17834 "Commands.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + MediaSource* s = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; + Tag* _tmp23_ = NULL; + MediaSource* _tmp24_ = NULL; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _s_it; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp18_) { +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17852 "Commands.c" + } +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = _s_it; +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + s = (MediaSource*) _tmp20_; +#line 2005 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = p; +#line 2005 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = tag_for_path (_tmp21_); +#line 2005 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _tmp22_; +#line 2005 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = s; +#line 2005 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach (_tmp23_, _tmp24_); +#line 2005 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp23_); +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (s); +#line 17874 "Commands.c" + } +#line 2004 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_s_it); +#line 17878 "Commands.c" + } +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (p); +#line 17882 "Commands.c" + } +#line 2003 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_p_it); +#line 17886 "Commands.c" + } +} + + +static void reparent_tag_command_do_destination_parent_detachments (ReparentTagCommand* self) { + GeeMap* _tmp0_ = NULL; +#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 17899 "Commands.c" + { + GeeIterator* _p_it = NULL; + GeeMap* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#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 17926 "Commands.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gchar* p = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _p_it; +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp8_) { +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17940 "Commands.c" + } +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _p_it; +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + p = (gchar*) _tmp10_; +#line 17948 "Commands.c" + { + GeeIterator* _s_it = NULL; + GeeMap* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + GeeSet* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = self->priv->dest_parent_attachments; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = p; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_map_get (_tmp11_, _tmp12_); +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = (GeeSet*) _tmp13_; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _tmp15_; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp14_); +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _s_it = _tmp16_; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 17975 "Commands.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + MediaSource* s = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; + Tag* _tmp23_ = NULL; + MediaSource* _tmp24_ = NULL; + GeeList* _tmp25_ = NULL; + GeeList* _tmp26_ = NULL; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _s_it; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp18_) { +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 17995 "Commands.c" + } +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = _s_it; +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + s = (MediaSource*) _tmp20_; +#line 2013 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = p; +#line 2013 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = tag_for_path (_tmp21_); +#line 2013 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _tmp22_; +#line 2013 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = s; +#line 2013 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = tag_detach (_tmp23_, _tmp24_); +#line 2013 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _tmp25_; +#line 2013 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp26_); +#line 2013 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp23_); +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (s); +#line 18021 "Commands.c" + } +#line 2012 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_s_it); +#line 18025 "Commands.c" + } +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (p); +#line 18029 "Commands.c" + } +#line 2011 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_p_it); +#line 18033 "Commands.c" + } +} + + +static void reparent_tag_command_do_destination_parent_reattachments (ReparentTagCommand* self) { + GeeMap* _tmp0_ = NULL; +#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 18046 "Commands.c" + { + GeeIterator* _p_it = NULL; + GeeMap* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#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 18073 "Commands.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gchar* p = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _p_it; +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp8_) { +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 18087 "Commands.c" + } +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _p_it; +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + p = (gchar*) _tmp10_; +#line 18095 "Commands.c" + { + GeeIterator* _s_it = NULL; + GeeMap* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + GeeSet* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = self->priv->dest_parent_attachments; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = p; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_map_get (_tmp11_, _tmp12_); +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = (GeeSet*) _tmp13_; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _tmp15_; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp14_); +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _s_it = _tmp16_; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 18122 "Commands.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + MediaSource* s = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; + Tag* _tmp23_ = NULL; + MediaSource* _tmp24_ = NULL; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _s_it; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp18_) { +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 18140 "Commands.c" + } +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = _s_it; +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + s = (MediaSource*) _tmp20_; +#line 2021 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = p; +#line 2021 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = tag_for_path (_tmp21_); +#line 2021 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _tmp22_; +#line 2021 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = s; +#line 2021 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach (_tmp23_, _tmp24_); +#line 2021 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp23_); +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (s); +#line 18162 "Commands.c" + } +#line 2020 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_s_it); +#line 18166 "Commands.c" + } +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (p); +#line 18170 "Commands.c" + } +#line 2019 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_p_it); +#line 18174 "Commands.c" + } +} + + +static void reparent_tag_command_copy_subtree (ReparentTagCommand* self, const gchar* from, const gchar* to) { + TagSourceCollection* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + Tag* from_tag = NULL; + const gchar* _tmp3_ = NULL; + Tag* _tmp4_ = NULL; + Tag* to_tag = NULL; + const gchar* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; + GeeList* from_children = NULL; + Tag* _tmp50_ = NULL; + GeeList* _tmp51_ = NULL; +#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" + _tmp1_ = from; +#line 2025 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag_source_collection_exists (_tmp0_, _tmp1_, FALSE); +#line 2025 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp2_, "Tag.global.exists(from)"); +#line 2026 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = from; +#line 2026 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = tag_for_path (_tmp3_); +#line 2026 "/home/jens/Source/shotwell/src/Commands.vala" + from_tag = _tmp4_; +#line 2029 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = to; +#line 2029 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = tag_for_path (_tmp5_); +#line 2029 "/home/jens/Source/shotwell/src/Commands.vala" + to_tag = _tmp6_; +#line 2033 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, 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 (_tmp7_, GEE_TYPE_MAP, GeeMap); +#line 18225 "Commands.c" + { + GeeIterator* _source_it = NULL; + Tag* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; + GeeIterator* _tmp12_ = NULL; +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = from_tag; +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = tag_get_sources (_tmp8_); +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _tmp11_; +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp10_); +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp12_; +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 18249 "Commands.c" + GeeIterator* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + Tag* current_parent = NULL; + Tag* _tmp17_ = NULL; + Tag* _tmp18_ = NULL; +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _source_it; +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = gee_iterator_next (_tmp13_); +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp14_) { +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 18266 "Commands.c" + } +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _source_it; +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = gee_iterator_get (_tmp15_); +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + source = (MediaSource*) _tmp16_; +#line 2035 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = to_tag; +#line 2035 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = tag_get_hierarchical_parent (_tmp17_); +#line 2035 "/home/jens/Source/shotwell/src/Commands.vala" + current_parent = _tmp18_; +#line 2036 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 18282 "Commands.c" + Tag* _tmp19_ = NULL; + gchar* current_parent_path = NULL; + Tag* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + GeeMap* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + Tag* _tmp29_ = NULL; + MediaSource* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; + Tag* _tmp37_ = NULL; + Tag* _tmp38_ = NULL; +#line 2036 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = current_parent; +#line 2036 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp19_ != NULL)) { +#line 2036 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 18301 "Commands.c" + } +#line 2037 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = current_parent; +#line 2037 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = tag_get_path (_tmp20_); +#line 2037 "/home/jens/Source/shotwell/src/Commands.vala" + current_parent_path = _tmp21_; +#line 2038 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = self->priv->dest_parent_attachments; +#line 2038 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = current_parent_path; +#line 2038 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = gee_map_has_key (_tmp22_, _tmp23_); +#line 2038 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp24_) { +#line 18317 "Commands.c" + GeeMap* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + GeeHashSet* _tmp27_ = NULL; + GeeHashSet* _tmp28_ = NULL; +#line 2039 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = self->priv->dest_parent_attachments; +#line 2039 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = current_parent_path; +#line 2039 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 2039 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = _tmp27_; +#line 2039 "/home/jens/Source/shotwell/src/Commands.vala" + gee_map_set (_tmp25_, _tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_SET, GeeSet)); +#line 2039 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp28_); +#line 18334 "Commands.c" + } +#line 2041 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = current_parent; +#line 2041 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = source; +#line 2041 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = tag_contains (_tmp29_, _tmp30_); +#line 2041 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp31_) { +#line 18344 "Commands.c" + GeeMap* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + gpointer _tmp34_ = NULL; + GeeSet* _tmp35_ = NULL; + MediaSource* _tmp36_ = NULL; +#line 2042 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = self->priv->dest_parent_attachments; +#line 2042 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = current_parent_path; +#line 2042 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = gee_map_get (_tmp32_, _tmp33_); +#line 2042 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = (GeeSet*) _tmp34_; +#line 2042 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = source; +#line 2042 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection), _tmp36_); +#line 2042 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp35_); +#line 18364 "Commands.c" + } +#line 2044 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = current_parent; +#line 2044 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = tag_get_hierarchical_parent (_tmp37_); +#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 = _tmp38_; +#line 2036 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (current_parent_path); +#line 18376 "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 18382 "Commands.c" + } +#line 2034 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 18386 "Commands.c" + } + { + GeeIterator* _source_it = NULL; + Tag* _tmp39_ = NULL; + GeeCollection* _tmp40_ = NULL; + GeeCollection* _tmp41_ = NULL; + GeeIterator* _tmp42_ = NULL; + GeeIterator* _tmp43_ = NULL; +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = from_tag; +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = tag_get_sources (_tmp39_); +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = _tmp40_; +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = _tmp42_; +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp41_); +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp43_; +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 18411 "Commands.c" + GeeIterator* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp46_ = NULL; + gpointer _tmp47_ = NULL; + Tag* _tmp48_ = NULL; + MediaSource* _tmp49_ = NULL; +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = _source_it; +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = gee_iterator_next (_tmp44_); +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp45_) { +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 18427 "Commands.c" + } +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = _source_it; +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = gee_iterator_get (_tmp46_); +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + source = (MediaSource*) _tmp47_; +#line 2049 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = to_tag; +#line 2049 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = source; +#line 2049 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach (_tmp48_, _tmp49_); +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 18443 "Commands.c" + } +#line 2048 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 18447 "Commands.c" + } +#line 2053 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = from_tag; +#line 2053 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp51_ = tag_get_hierarchical_children (_tmp50_); +#line 2053 "/home/jens/Source/shotwell/src/Commands.vala" + from_children = _tmp51_; +#line 18455 "Commands.c" + { + gint i = 0; + GeeList* _tmp52_ = NULL; + gint _tmp53_ = 0; + gint _tmp54_ = 0; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp52_ = from_children; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp53_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp54_ = _tmp53_; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp54_ - 1; +#line 18469 "Commands.c" + { + gboolean _tmp55_ = FALSE; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp55_ = TRUE; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 18476 "Commands.c" + gint _tmp57_ = 0; + Tag* from_child = NULL; + GeeList* _tmp58_ = NULL; + gint _tmp59_ = 0; + gpointer _tmp60_ = NULL; + gchar* child_subpath = NULL; + Tag* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + const gchar* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + Tag* to_child = NULL; + Tag* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + Tag* _tmp77_ = NULL; + Tag* _tmp78_ = NULL; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp55_) { +#line 18504 "Commands.c" + gint _tmp56_ = 0; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp56_ = i; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp56_ - 1; +#line 18510 "Commands.c" + } +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp55_ = FALSE; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp57_ = i; +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp57_ >= 0)) { +#line 2054 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 18520 "Commands.c" + } +#line 2055 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp58_ = from_children; +#line 2055 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp59_ = i; +#line 2055 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp60_ = gee_list_get (_tmp58_, _tmp59_); +#line 2055 "/home/jens/Source/shotwell/src/Commands.vala" + from_child = (Tag*) _tmp60_; +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp61_ = from_child; +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp62_ = tag_get_path (_tmp61_); +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp63_ = _tmp62_; +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp64_ = from; +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp65_ = g_strconcat (_tmp64_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp66_ = _tmp65_; +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp67_ = string_replace (_tmp63_, _tmp66_, ""); +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp68_ = _tmp67_; +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp66_); +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp63_); +#line 2057 "/home/jens/Source/shotwell/src/Commands.vala" + child_subpath = _tmp68_; +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp69_ = to_tag; +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp70_ = tag_get_path (_tmp69_); +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp71_ = _tmp70_; +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp72_ = g_strconcat (_tmp71_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp73_ = _tmp72_; +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp74_ = child_subpath; +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp75_ = g_strconcat (_tmp73_, _tmp74_, NULL); +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp76_ = _tmp75_; +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp77_ = tag_for_path (_tmp76_); +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp78_ = _tmp77_; +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp76_); +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp73_); +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp71_); +#line 2060 "/home/jens/Source/shotwell/src/Commands.vala" + to_child = _tmp78_; +#line 18580 "Commands.c" + { + GeeIterator* _source_it = NULL; + Tag* _tmp79_ = NULL; + GeeCollection* _tmp80_ = NULL; + GeeCollection* _tmp81_ = NULL; + GeeIterator* _tmp82_ = NULL; + GeeIterator* _tmp83_ = NULL; +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp79_ = from_child; +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp80_ = tag_get_sources (_tmp79_); +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp81_ = _tmp80_; +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp82_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp83_ = _tmp82_; +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp81_); +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp83_; +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 18604 "Commands.c" + GeeIterator* _tmp84_ = NULL; + gboolean _tmp85_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp86_ = NULL; + gpointer _tmp87_ = NULL; + Tag* _tmp88_ = NULL; + MediaSource* _tmp89_ = NULL; +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp84_ = _source_it; +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp85_ = gee_iterator_next (_tmp84_); +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp85_) { +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 18620 "Commands.c" + } +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp86_ = _source_it; +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp87_ = gee_iterator_get (_tmp86_); +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + source = (MediaSource*) _tmp87_; +#line 2064 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp88_ = to_child; +#line 2064 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp89_ = source; +#line 2064 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach (_tmp88_, _tmp89_); +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 18636 "Commands.c" + } +#line 2063 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 18640 "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 18648 "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 18658 "Commands.c" +} + + +static void reparent_tag_command_destroy_subtree (ReparentTagCommand* self, const gchar* client_path) { + gchar* victim_path = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + TagSourceCollection* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Tag* victim = NULL; + const gchar* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + GeeList* victim_children = NULL; + Tag* _tmp10_ = NULL; + GeeList* _tmp11_ = NULL; + TagSourceCollection* _tmp26_ = NULL; + TagSourceCollection* _tmp27_ = NULL; + Tag* _tmp28_ = NULL; + Marker* _tmp29_ = NULL; + Marker* _tmp30_ = NULL; +#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_ = client_path; +#line 2069 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = hierarchical_tag_utilities_get_root_path_form (_tmp0_); +#line 2069 "/home/jens/Source/shotwell/src/Commands.vala" + victim_path = _tmp1_; +#line 2070 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = victim_path; +#line 2070 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp2_ == NULL) { +#line 18695 "Commands.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 2071 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = client_path; +#line 2071 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 2071 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (victim_path); +#line 2071 "/home/jens/Source/shotwell/src/Commands.vala" + victim_path = _tmp4_; +#line 18706 "Commands.c" + } +#line 2073 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = tag_global; +#line 2073 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = victim_path; +#line 2073 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = tag_source_collection_exists (_tmp5_, _tmp6_, FALSE); +#line 2073 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp7_) { +#line 2074 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (victim_path); +#line 2074 "/home/jens/Source/shotwell/src/Commands.vala" + return; +#line 18720 "Commands.c" + } +#line 2076 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = victim_path; +#line 2076 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = tag_for_path (_tmp8_); +#line 2076 "/home/jens/Source/shotwell/src/Commands.vala" + victim = _tmp9_; +#line 2079 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = victim; +#line 2079 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = tag_get_hierarchical_children (_tmp10_); +#line 2079 "/home/jens/Source/shotwell/src/Commands.vala" + victim_children = _tmp11_; +#line 18734 "Commands.c" + { + gint i = 0; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + i = 0; +#line 18739 "Commands.c" + { + gboolean _tmp12_ = FALSE; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = TRUE; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 18746 "Commands.c" + gint _tmp14_ = 0; + GeeList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + TagSourceCollection* _tmp18_ = NULL; + TagSourceCollection* _tmp19_ = NULL; + GeeList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gpointer _tmp22_ = NULL; + Tag* _tmp23_ = NULL; + Marker* _tmp24_ = NULL; + Marker* _tmp25_ = NULL; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp12_) { +#line 18761 "Commands.c" + gint _tmp13_ = 0; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = i; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + i = _tmp13_ + 1; +#line 18767 "Commands.c" + } +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = FALSE; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = i; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = victim_children; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _tmp16_; +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp14_ < _tmp17_)) { +#line 2080 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 18783 "Commands.c" + } +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = tag_global; +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = tag_global; +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = victim_children; +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = i; +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = gee_list_get (_tmp20_, _tmp21_); +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = (Tag*) _tmp22_; +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_OBJECT, DataObject)); +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = _tmp24_; +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp25_, TRUE, NULL, NULL, NULL); +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp25_); +#line 2081 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp23_); +#line 18807 "Commands.c" + } + } + } +#line 2084 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = tag_global; +#line 2084 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = tag_global; +#line 2084 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = victim; +#line 2084 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_OBJECT, DataObject)); +#line 2084 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = _tmp29_; +#line 2084 "/home/jens/Source/shotwell/src/Commands.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp30_, TRUE, NULL, NULL, NULL); +#line 2084 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp30_); +#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 18831 "Commands.c" +} + + +static void reparent_tag_command_real_execute (Command* base) { + ReparentTagCommand * self; + GeeList* _tmp0_ = NULL; +#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 18844 "Commands.c" + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#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 18869 "Commands.c" + } else { + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GeeMap* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#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 18900 "Commands.c" + } +} + + +static void reparent_tag_command_real_undo (Command* base) { + ReparentTagCommand * self; + GeeList* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp4_ = NULL; + GeeMap* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#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 18932 "Commands.c" + const gchar* _tmp3_ = NULL; +#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 18938 "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 18966 "Commands.c" + const gchar* _tmp10_ = NULL; +#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 18972 "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 = reparent_tag_command_real_execute; +#line 1679 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = reparent_tag_command_real_undo; +#line 1679 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = reparent_tag_command_finalize; +#line 18988 "Commands.c" +} + + +static void reparent_tag_command_instance_init (ReparentTagCommand * self) { + GeeHashSet* _tmp0_ = NULL; +#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, 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 19018 "Commands.c" +} + + +static void reparent_tag_command_finalize (GObject* obj) { + ReparentTagCommand * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + VideoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#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 19068 "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 19087 "Commands.c" +} + + +ModifyTagsCommand* modify_tags_command_construct (GType object_type, MediaSource* media, GeeCollection* new_tag_list) { + ModifyTagsCommand * self = NULL; + MediaSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + GeeList* original_tags = NULL; + TagSourceCollection* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeSortedSet* new_paths = NULL; + GeeTreeSet* _tmp23_ = NULL; +#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" + _tmp0_ = media; +#line 2144 "/home/jens/Source/shotwell/src/Commands.vala" + self = (ModifyTagsCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), RESOURCES_MODIFY_TAGS_LABEL, ""); +#line 2146 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = media; +#line 2146 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#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 = _tmp2_; +#line 2149 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = tag_global; +#line 2149 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = media; +#line 2149 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = tag_source_collection_fetch_for_source (_tmp3_, _tmp4_); +#line 2149 "/home/jens/Source/shotwell/src/Commands.vala" + original_tags = _tmp5_; +#line 2150 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = original_tags; +#line 2150 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp6_ != NULL) { +#line 19131 "Commands.c" + { + GeeList* _tag_list = NULL; + GeeList* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gint _tag_size = 0; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tag_index = 0; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = original_tags; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tag_list = _tmp8_; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tag_list; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _tmp10_; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tag_size = _tmp11_; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tag_index = -1; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 19159 "Commands.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + Tag* tag = NULL; + GeeList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; + SourceProxy* proxy = NULL; + Tag* _tmp18_ = NULL; + SourceProxy* _tmp19_ = NULL; + GeeArrayList* _tmp20_ = NULL; + SourceProxy* _tmp21_ = NULL; + SourceProxy* _tmp22_ = NULL; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _tag_index; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tag_index = _tmp12_ + 1; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _tag_index; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _tag_size; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 19185 "Commands.c" + } +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _tag_list; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _tag_index; +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = gee_list_get (_tmp15_, _tmp16_); +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + tag = (Tag*) _tmp17_; +#line 2152 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = tag; +#line 2152 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PROXYABLE, Proxyable)); +#line 2152 "/home/jens/Source/shotwell/src/Commands.vala" + proxy = _tmp19_; +#line 2153 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = self->priv->to_remove; +#line 2153 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = proxy; +#line 2153 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp21_); +#line 2154 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = proxy; +#line 2154 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp22_, "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 19215 "Commands.c" + } +#line 2151 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tag_list); +#line 19219 "Commands.c" + } + } +#line 2160 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 2160 "/home/jens/Source/shotwell/src/Commands.vala" + new_paths = G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 19226 "Commands.c" + { + GeeIterator* _new_tag_it = NULL; + GeeCollection* _tmp24_ = NULL; + GeeIterator* _tmp25_ = NULL; +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = new_tag_list; +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + _new_tag_it = _tmp25_; +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 19239 "Commands.c" + GeeIterator* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + Tag* new_tag = NULL; + GeeIterator* _tmp28_ = NULL; + gpointer _tmp29_ = NULL; + gchar* new_tag_path = NULL; + Tag* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + GeeSortedSet* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + GeeSortedSet* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + GeeList* _tmp36_ = NULL; + GeeList* _tmp37_ = NULL; +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _new_tag_it; +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = gee_iterator_next (_tmp26_); +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp27_) { +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 19262 "Commands.c" + } +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = _new_tag_it; +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = gee_iterator_get (_tmp28_); +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + new_tag = (Tag*) _tmp29_; +#line 2162 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = new_tag; +#line 2162 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp31_ = tag_get_path (_tmp30_); +#line 2162 "/home/jens/Source/shotwell/src/Commands.vala" + new_tag_path = _tmp31_; +#line 2164 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp32_ = new_paths; +#line 2164 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp33_ = new_tag_path; +#line 2164 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_COLLECTION, GeeCollection), _tmp33_); +#line 2165 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp34_ = new_paths; +#line 2165 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp35_ = new_tag_path; +#line 2165 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp36_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp35_); +#line 2165 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp37_ = _tmp36_; +#line 2165 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2165 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp37_); +#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 19298 "Commands.c" + } +#line 2161 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_new_tag_it); +#line 19302 "Commands.c" + } + { + GeeIterator* _path_it = NULL; + GeeSortedSet* _tmp38_ = NULL; + GeeIterator* _tmp39_ = NULL; +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp38_ = new_paths; +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp39_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + _path_it = _tmp39_; +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 19316 "Commands.c" + GeeIterator* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp42_ = NULL; + gpointer _tmp43_ = NULL; + TagSourceCollection* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + SourceProxy* proxy = NULL; + const gchar* _tmp47_ = NULL; + Tag* _tmp48_ = NULL; + Tag* _tmp49_ = NULL; + SourceProxy* _tmp50_ = NULL; + SourceProxy* _tmp51_ = NULL; + GeeArrayList* _tmp52_ = NULL; + SourceProxy* _tmp53_ = NULL; + SourceProxy* _tmp54_ = NULL; +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp40_ = _path_it; +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp41_ = gee_iterator_next (_tmp40_); +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp41_) { +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 19342 "Commands.c" + } +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp42_ = _path_it; +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp43_ = gee_iterator_get (_tmp42_); +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + path = (gchar*) _tmp43_; +#line 2169 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp44_ = tag_global; +#line 2169 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp45_ = path; +#line 2169 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp46_ = tag_source_collection_exists (_tmp44_, _tmp45_, FALSE); +#line 2169 "/home/jens/Source/shotwell/src/Commands.vala" + _vala_assert (_tmp46_, "Tag.global.exists(path)"); +#line 2171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp47_ = path; +#line 2171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp48_ = tag_for_path (_tmp47_); +#line 2171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp49_ = _tmp48_; +#line 2171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp50_ = proxyable_get_proxy (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, TYPE_PROXYABLE, Proxyable)); +#line 2171 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp51_ = _tmp50_; +#line 2171 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp49_); +#line 2171 "/home/jens/Source/shotwell/src/Commands.vala" + proxy = _tmp51_; +#line 2172 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp52_ = self->priv->to_add; +#line 2172 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp53_ = proxy; +#line 2172 "/home/jens/Source/shotwell/src/Commands.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp53_); +#line 2173 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp54_ = proxy; +#line 2173 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (_tmp54_, "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 19386 "Commands.c" + } +#line 2168 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_path_it); +#line 19390 "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 19398 "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 19405 "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 19413 "Commands.c" + { + GeeArrayList* _proxy_list = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + gint _proxy_size = 0; + GeeArrayList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + 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_COLLECTION, GeeCollection)); +#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 19441 "Commands.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + SourceProxy* proxy = NULL; + GeeArrayList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + SourceProxy* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + GeeList* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; +#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 19467 "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 19495 "Commands.c" + } +#line 2186 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_proxy_list); +#line 19499 "Commands.c" + } + { + GeeArrayList* _proxy_list = NULL; + GeeArrayList* _tmp17_ = NULL; + GeeArrayList* _tmp18_ = NULL; + gint _proxy_size = 0; + GeeArrayList* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + 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_COLLECTION, GeeCollection)); +#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 19528 "Commands.c" + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + SourceProxy* proxy = NULL; + GeeArrayList* _tmp25_ = NULL; + gint _tmp26_ = 0; + gpointer _tmp27_ = NULL; + SourceProxy* _tmp28_ = NULL; + DataSource* _tmp29_ = NULL; + Tag* _tmp30_ = NULL; + MediaSource* _tmp31_ = NULL; +#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 19552 "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 19576 "Commands.c" + } +#line 2189 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_proxy_list); +#line 19580 "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 19589 "Commands.c" + { + GeeArrayList* _proxy_list = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + gint _proxy_size = 0; + GeeArrayList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + 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_COLLECTION, GeeCollection)); +#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 19617 "Commands.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + SourceProxy* proxy = NULL; + GeeArrayList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + SourceProxy* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + GeeList* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; +#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 19643 "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 19671 "Commands.c" + } +#line 2194 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_proxy_list); +#line 19675 "Commands.c" + } + { + GeeArrayList* _proxy_list = NULL; + GeeArrayList* _tmp17_ = NULL; + GeeArrayList* _tmp18_ = NULL; + gint _proxy_size = 0; + GeeArrayList* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + 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_COLLECTION, GeeCollection)); +#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 19704 "Commands.c" + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + SourceProxy* proxy = NULL; + GeeArrayList* _tmp25_ = NULL; + gint _tmp26_ = 0; + gpointer _tmp27_ = NULL; + SourceProxy* _tmp28_ = NULL; + DataSource* _tmp29_ = NULL; + Tag* _tmp30_ = NULL; + MediaSource* _tmp31_ = NULL; +#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 19728 "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 19752 "Commands.c" + } +#line 2197 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_proxy_list); +#line 19756 "Commands.c" + } +} + + +static void modify_tags_command_on_proxy_broken (ModifyTagsCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#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 19774 "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 = modify_tags_command_real_execute; +#line 2138 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = modify_tags_command_real_undo; +#line 2138 "/home/jens/Source/shotwell/src/Commands.vala" + G_OBJECT_CLASS (klass)->finalize = modify_tags_command_finalize; +#line 19789 "Commands.c" +} + + +static void modify_tags_command_instance_init (ModifyTagsCommand * self) { + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#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, 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, source_proxy_unref, NULL, NULL, NULL); +#line 2141 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->to_remove = _tmp1_; +#line 19806 "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 19814 "Commands.c" + { + GeeArrayList* _proxy_list = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + gint _proxy_size = 0; + GeeArrayList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + 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_COLLECTION, GeeCollection)); +#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 19842 "Commands.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + SourceProxy* proxy = NULL; + GeeArrayList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + SourceProxy* _tmp11_ = NULL; + guint _tmp12_ = 0U; +#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 19864 "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 19882 "Commands.c" + } +#line 2178 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_proxy_list); +#line 19886 "Commands.c" + } + { + GeeArrayList* _proxy_list = NULL; + GeeArrayList* _tmp13_ = NULL; + GeeArrayList* _tmp14_ = NULL; + gint _proxy_size = 0; + GeeArrayList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + 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_COLLECTION, GeeCollection)); +#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 19915 "Commands.c" + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + SourceProxy* proxy = NULL; + GeeArrayList* _tmp21_ = NULL; + gint _tmp22_ = 0; + gpointer _tmp23_ = NULL; + SourceProxy* _tmp24_ = NULL; + guint _tmp25_ = 0U; +#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 19937 "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 19955 "Commands.c" + } +#line 2181 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_proxy_list); +#line 19959 "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 19969 "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 19988 "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; + gboolean _tmp1_ = FALSE; + Tag* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GeeCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + LibraryPhotoSourceCollection* _tmp19_ = NULL; + VideoSourceCollection* _tmp20_ = NULL; +#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" + _tmp1_ = attach; +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp1_) { +#line 20013 "Commands.c" + Tag* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = tag; +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = tag_get_user_visible_name (_tmp2_); +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp3_; +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = count; +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = resources_tag_photos_label (_tmp4_, _tmp5_); +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp0_); +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp6_; +#line 2214 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp4_); +#line 20035 "Commands.c" + } else { + Tag* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; + gchar* _tmp11_ = NULL; +#line 2215 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = tag; +#line 2215 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = tag_get_user_visible_name (_tmp7_); +#line 2215 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tmp8_; +#line 2215 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = count; +#line 2215 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = resources_untag_photos_label (_tmp9_, _tmp10_); +#line 2215 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp0_); +#line 2215 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp11_; +#line 2215 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp9_); +#line 20058 "Commands.c" + } +#line 2213 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = tag; +#line 2213 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = tag; +#line 2213 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_OBJECT, DataObject)); +#line 2213 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _tmp14_; +#line 2213 "/home/jens/Source/shotwell/src/Commands.vala" + self = (TagUntagPhotosCommand*) simple_proxyable_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PROXYABLE, Proxyable), _tmp0_, _tmp15_); +#line 2213 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp15_); +#line 2218 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = sources; +#line 2218 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = _g_object_ref0 (_tmp16_); +#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 = _tmp17_; +#line 2219 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = attach; +#line 2219 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->attach = _tmp18_; +#line 2221 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = library_photo_global; +#line 2221 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, 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" + _tmp20_ = video_global; +#line 2222 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, 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 20096 "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 20103 "Commands.c" +} + + +static void tag_untag_photos_command_real_execute_on_source (SimpleProxyableCommand* base, DataSource* source) { + TagUntagPhotosCommand * self; + gboolean _tmp0_ = FALSE; +#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 20118 "Commands.c" + DataSource* _tmp1_ = NULL; +#line 2232 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = source; +#line 2232 "/home/jens/Source/shotwell/src/Commands.vala" + tag_untag_photos_command_do_attach (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_TAG, Tag)); +#line 20124 "Commands.c" + } else { + DataSource* _tmp2_ = NULL; +#line 2234 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = source; +#line 2234 "/home/jens/Source/shotwell/src/Commands.vala" + tag_untag_photos_command_do_detach (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_TAG, Tag)); +#line 20131 "Commands.c" + } +} + + +static void tag_untag_photos_command_real_undo_on_source (SimpleProxyableCommand* base, DataSource* source) { + TagUntagPhotosCommand * self; + gboolean _tmp0_ = FALSE; +#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 20147 "Commands.c" + DataSource* _tmp1_ = NULL; +#line 2239 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = source; +#line 2239 "/home/jens/Source/shotwell/src/Commands.vala" + tag_untag_photos_command_do_detach (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_TAG, Tag)); +#line 20153 "Commands.c" + } else { + DataSource* _tmp2_ = NULL; +#line 2241 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = source; +#line 2241 "/home/jens/Source/shotwell/src/Commands.vala" + tag_untag_photos_command_do_attach (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_TAG, Tag)); +#line 20160 "Commands.c" + } +} + + +static void tag_untag_photos_command_do_attach (TagUntagPhotosCommand* self, Tag* tag) { + GeeMultiMap* _tmp0_ = NULL; +#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 20175 "Commands.c" + Tag* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + Tag* curr_tmp = NULL; + Tag* _tmp4_ = NULL; + Tag* _tmp5_ = NULL; +#line 2247 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = tag; +#line 2247 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->sources; +#line 2247 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach_many (_tmp1_, _tmp2_); +#line 2249 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, 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 (_tmp3_, GEE_TYPE_LIST, GeeList); +#line 2251 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = tag; +#line 2251 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 2251 "/home/jens/Source/shotwell/src/Commands.vala" + curr_tmp = _tmp5_; +#line 2253 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 20202 "Commands.c" + Tag* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + Tag* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + Tag* _tmp10_ = NULL; +#line 2253 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = curr_tmp; +#line 2253 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp6_ != NULL)) { +#line 2253 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 20214 "Commands.c" + } +#line 2254 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->priv->attached_to; +#line 2254 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = curr_tmp; +#line 2254 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), _tmp8_); +#line 2255 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = curr_tmp; +#line 2255 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = tag_get_hierarchical_parent (_tmp9_); +#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 = _tmp10_; +#line 20230 "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 20236 "Commands.c" + } + { + GeeIterator* _detached_tag_it = NULL; + GeeMultiMap* _tmp11_ = NULL; + GeeMultiSet* _tmp12_ = NULL; + GeeMultiSet* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = self->priv->detached_from; +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = gee_multi_map_get_all_keys (_tmp11_); +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _tmp12_; +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _tmp14_; +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp13_); +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _detached_tag_it = _tmp15_; +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 20261 "Commands.c" + GeeIterator* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + Tag* detached_tag = NULL; + GeeIterator* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + Tag* _tmp20_ = NULL; + GeeMultiMap* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _detached_tag_it; +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = gee_iterator_next (_tmp16_); +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp17_) { +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 20280 "Commands.c" + } +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = _detached_tag_it; +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = gee_iterator_get (_tmp18_); +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + detached_tag = (Tag*) _tmp19_; +#line 2263 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = detached_tag; +#line 2263 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = self->priv->detached_from; +#line 2263 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = detached_tag; +#line 2263 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = gee_multi_map_get (_tmp21_, _tmp22_); +#line 2263 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = _tmp23_; +#line 2263 "/home/jens/Source/shotwell/src/Commands.vala" + tag_attach_many (_tmp20_, _tmp24_); +#line 2263 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp24_); +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (detached_tag); +#line 20304 "Commands.c" + } +#line 2262 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_detached_tag_it); +#line 20308 "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 20316 "Commands.c" +} + + +static void tag_untag_photos_command_do_detach (TagUntagPhotosCommand* self, Tag* tag) { + GeeList* _tmp0_ = NULL; +#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 20330 "Commands.c" + Tag* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeMultiMap* _tmp3_ = NULL; + GeeMultiMap* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + GeeSet* _tmp6_ = NULL; +#line 2274 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = tag; +#line 2274 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->sources; +#line 2274 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = tag_detach_many (_tmp1_, _tmp2_); +#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 = _tmp3_; +#line 2278 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = self->priv->detached_from; +#line 2278 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_multi_map_get_keys (_tmp4_); +#line 2278 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tmp5_; +#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 (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2278 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp6_); +#line 20357 "Commands.c" + } else { + { + GeeList* _t_list = NULL; + GeeList* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gint _t_size = 0; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _t_index = 0; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->priv->attached_to; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _t_list = _tmp8_; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _t_list; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _tmp10_; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _t_size = _tmp11_; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _t_index = -1; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 20386 "Commands.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + Tag* t = NULL; + GeeList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = _t_index; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _t_index = _tmp12_ + 1; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _t_index; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _t_size; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 20406 "Commands.c" + } +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = _t_list; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = _t_index; +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = gee_list_get (_tmp15_, _tmp16_); +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + t = (Tag*) _tmp17_; +#line 20416 "Commands.c" + { + GeeIterator* _ms_it = NULL; + GeeCollection* _tmp18_ = NULL; + GeeIterator* _tmp19_ = NULL; +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = self->priv->sources; +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _ms_it = _tmp19_; +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 20429 "Commands.c" + GeeIterator* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + MediaSource* ms = NULL; + GeeIterator* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; + Tag* _tmp24_ = NULL; + MediaSource* _tmp25_ = NULL; + gint _tmp26_ = 0; +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = _ms_it; +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = gee_iterator_next (_tmp20_); +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp21_) { +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 20446 "Commands.c" + } +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp22_ = _ms_it; +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = gee_iterator_get (_tmp22_); +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + ms = (MediaSource*) _tmp23_; +#line 2283 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = t; +#line 2283 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = ms; +#line 2283 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = tag_get_attachment_count (_tmp24_, _tmp25_); +#line 2283 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp26_ < 2) { +#line 20462 "Commands.c" + Tag* _tmp27_ = NULL; + MediaSource* _tmp28_ = NULL; + GeeList* _tmp29_ = NULL; + GeeList* _tmp30_ = NULL; +#line 2285 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp27_ = t; +#line 2285 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp28_ = ms; +#line 2285 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp29_ = tag_detach (_tmp27_, _tmp28_); +#line 2285 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp30_ = _tmp29_; +#line 2285 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp30_); +#line 20477 "Commands.c" + } +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (ms); +#line 20481 "Commands.c" + } +#line 2281 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_ms_it); +#line 20485 "Commands.c" + } +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (t); +#line 20489 "Commands.c" + } +#line 2280 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_t_list); +#line 20493 "Commands.c" + } + } +} + + +static void tag_untag_photos_command_on_source_destroyed (TagUntagPhotosCommand* self, DataSource* source) { + DataSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#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_ = source; +#line 2293 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 2293 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _tmp1_; +#line 2293 "/home/jens/Source/shotwell/src/Commands.vala" + g_debug ("Commands.vala:2293: on_source_destroyed: %s", _tmp2_); +#line 2293 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp2_); +#line 2294 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->sources; +#line 2294 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = source; +#line 2294 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_collection_contains (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2294 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp5_) { +#line 20528 "Commands.c" + CommandManager* _tmp6_ = NULL; + CommandManager* _tmp7_ = NULL; +#line 2295 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); +#line 2295 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _tmp6_; +#line 2295 "/home/jens/Source/shotwell/src/Commands.vala" + command_manager_reset (_tmp7_); +#line 2295 "/home/jens/Source/shotwell/src/Commands.vala" + _command_manager_unref0 (_tmp7_); +#line 20539 "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 = tag_untag_photos_command_real_execute_on_source; +#line 2206 "/home/jens/Source/shotwell/src/Commands.vala" + ((SimpleProxyableCommandClass *) klass)->undo_on_source = 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 20555 "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 20566 "Commands.c" +} + + +static void tag_untag_photos_command_finalize (GObject* obj) { + TagUntagPhotosCommand * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + VideoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#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 20598 "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; + SavedSearch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + SavedSearch* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + SavedSearch* _tmp10_ = NULL; + SavedSearch* _tmp11_ = NULL; + SavedSearch* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#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_ = search; +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = search; +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = new_name; +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = resources_rename_search_label (_tmp3_, _tmp4_); +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tmp5_; +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = search; +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject)); +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _tmp8_; +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + self = (RenameSavedSearchCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), _tmp6_, _tmp9_); +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp9_); +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp6_); +#line 2305 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp3_); +#line 2307 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = search; +#line 2307 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#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 = _tmp11_; +#line 2308 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = search; +#line 2308 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, 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 = _tmp13_; +#line 2309 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = new_name; +#line 2309 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = g_strdup (_tmp14_); +#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 = _tmp15_; +#line 2304 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 20690 "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 20697 "Commands.c" +} + + +static void rename_saved_search_command_real_execute (Command* base) { + RenameSavedSearchCommand * self; + SavedSearch* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#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" + _tmp2_ = saved_search_rename (_tmp0_, _tmp1_); +#line 2313 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp2_) { +#line 20716 "Commands.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 2314 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->new_name; +#line 2314 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = resources_rename_search_exists_message (_tmp3_); +#line 2314 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 2314 "/home/jens/Source/shotwell/src/Commands.vala" + app_window_error_message (_tmp5_, NULL); +#line 2314 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp5_); +#line 20730 "Commands.c" + } +} + + +static void rename_saved_search_command_real_undo (Command* base) { + RenameSavedSearchCommand * self; + SavedSearch* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#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" + _tmp2_ = saved_search_rename (_tmp0_, _tmp1_); +#line 2318 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp2_) { +#line 20750 "Commands.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 2319 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = self->priv->old_name; +#line 2319 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = resources_rename_search_exists_message (_tmp3_); +#line 2319 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 2319 "/home/jens/Source/shotwell/src/Commands.vala" + app_window_error_message (_tmp5_, NULL); +#line 2319 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp5_); +#line 20764 "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 = rename_saved_search_command_real_execute; +#line 2299 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = 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 20780 "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 20787 "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 20803 "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; + SavedSearch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + SavedSearch* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + SavedSearch* _tmp9_ = NULL; + SavedSearch* _tmp10_ = NULL; +#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_ = search; +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = search; +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp2_; +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = resources_delete_search_label (_tmp3_); +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _tmp4_; +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = search; +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_OBJECT, DataObject)); +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _tmp7_; +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + self = (DeleteSavedSearchCommand*) single_data_source_command_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), _tmp5_, _tmp8_); +#line 2327 "/home/jens/Source/shotwell/src/Commands.vala" + _g_free0 (_tmp8_); +#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 2329 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = search; +#line 2329 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#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 = _tmp10_; +#line 2326 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 20870 "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 20877 "Commands.c" +} + + +static void delete_saved_search_command_real_execute (Command* base) { + DeleteSavedSearchCommand * self; + SavedSearchTable* _tmp0_ = NULL; + SavedSearchTable* _tmp1_ = NULL; + SavedSearch* _tmp2_ = NULL; +#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 20898 "Commands.c" +} + + +static void delete_saved_search_command_real_undo (Command* base) { + DeleteSavedSearchCommand * self; + SavedSearch* _tmp0_ = NULL; +#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 20911 "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 = delete_saved_search_command_real_execute; +#line 2323 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = 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 20926 "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 20933 "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 20945 "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 20964 "Commands.c" +} + + +TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash) { + TrashUntrashPhotosCommand * self = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + LibraryPhotoSourceCollection* _tmp11_ = NULL; + VideoSourceCollection* _tmp12_ = NULL; +#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" + _tmp1_ = to_trash; +#line 2347 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp1_) { +#line 20985 "Commands.c" + const gchar* _tmp2_ = NULL; +#line 2347 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Move Photos to Trash"); +#line 2347 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp2_; +#line 20991 "Commands.c" + } else { + const gchar* _tmp3_ = NULL; +#line 2347 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _ ("Restore Photos from Trash"); +#line 2347 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp3_; +#line 20998 "Commands.c" + } +#line 2348 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = to_trash; +#line 2348 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp5_) { +#line 21004 "Commands.c" + const gchar* _tmp6_ = NULL; +#line 2348 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _ ("Move the photos to the Shotwell trash"); +#line 2348 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp6_; +#line 21010 "Commands.c" + } else { + const gchar* _tmp7_ = NULL; +#line 2348 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = _ ("Restore the photos back to the Shotwell library"); +#line 2348 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp7_; +#line 21017 "Commands.c" + } +#line 2346 "/home/jens/Source/shotwell/src/Commands.vala" + self = (TrashUntrashPhotosCommand*) page_command_construct (object_type, _tmp0_, _tmp4_); +#line 2350 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = sources; +#line 2350 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#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 = _tmp9_; +#line 2351 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = to_trash; +#line 2351 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->to_trash = _tmp10_; +#line 2353 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = library_photo_global; +#line 2353 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, 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" + _tmp12_ = video_global; +#line 2354 "/home/jens/Source/shotwell/src/Commands.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, 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 21043 "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 21050 "Commands.c" +} + + +static ProgressDialog* trash_untrash_photos_command_get_progress_dialog (TrashUntrashPhotosCommand* self, gboolean to_trash) { + ProgressDialog* result = NULL; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + ProgressDialog* dialog = NULL; + AppWindow* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; + ProgressDialog* _tmp9_ = NULL; + ProgressDialog* _tmp10_ = NULL; + ProgressDialog* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#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 21085 "Commands.c" + } +#line 2367 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = to_trash; +#line 2367 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp4_) { +#line 21091 "Commands.c" + const gchar* _tmp5_ = NULL; +#line 2367 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = _ ("Moving Photos to Trash"); +#line 2367 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp5_; +#line 21097 "Commands.c" + } else { + const gchar* _tmp6_ = NULL; +#line 2367 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _ ("Restoring Photos From Trash"); +#line 2367 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _tmp6_; +#line 21104 "Commands.c" + } +#line 2366 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = app_window_get_instance (); +#line 2366 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = _tmp7_; +#line 2366 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), _tmp3_, NULL); +#line 2366 "/home/jens/Source/shotwell/src/Commands.vala" + g_object_ref_sink (_tmp9_); +#line 2366 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 2366 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_tmp8_); +#line 2366 "/home/jens/Source/shotwell/src/Commands.vala" + dialog = _tmp10_; +#line 2368 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = dialog; +#line 2368 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = self->priv->sources; +#line 2368 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_collection_get_size (_tmp12_); +#line 2368 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _tmp13_; +#line 2368 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = CLAMP (_tmp14_ / 5, 2, 10); +#line 2368 "/home/jens/Source/shotwell/src/Commands.vala" + progress_dialog_update_display_every (_tmp11_, _tmp15_); +#line 2370 "/home/jens/Source/shotwell/src/Commands.vala" + result = dialog; +#line 2370 "/home/jens/Source/shotwell/src/Commands.vala" + return result; +#line 21136 "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 21145 "Commands.c" +} + + +static void trash_untrash_photos_command_real_execute (Command* base) { + TrashUntrashPhotosCommand * self; + ProgressDialog* dialog = NULL; + gboolean _tmp0_ = FALSE; + ProgressDialog* _tmp1_ = NULL; + ProgressMonitor monitor = NULL; + void* monitor_target = NULL; + GDestroyNotify monitor_target_destroy_notify = NULL; + ProgressDialog* _tmp2_ = NULL; + gboolean _tmp4_ = FALSE; + ProgressDialog* _tmp7_ = NULL; +#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 21178 "Commands.c" + ProgressDialog* _tmp3_ = NULL; +#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 21196 "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 21202 "Commands.c" + ProgressMonitor _tmp5_ = NULL; + void* _tmp5__target = NULL; +#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 21211 "Commands.c" + } else { + ProgressMonitor _tmp6_ = NULL; + void* _tmp6__target = NULL; +#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 21221 "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 21227 "Commands.c" + ProgressDialog* _tmp8_ = NULL; +#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 21233 "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 21245 "Commands.c" +} + + +static void trash_untrash_photos_command_real_undo (Command* base) { + TrashUntrashPhotosCommand * self; + ProgressDialog* dialog = NULL; + gboolean _tmp0_ = FALSE; + ProgressDialog* _tmp1_ = NULL; + ProgressMonitor monitor = NULL; + void* monitor_target = NULL; + GDestroyNotify monitor_target_destroy_notify = NULL; + ProgressDialog* _tmp2_ = NULL; + gboolean _tmp4_ = FALSE; + ProgressDialog* _tmp7_ = NULL; +#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 21278 "Commands.c" + ProgressDialog* _tmp3_ = NULL; +#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 21296 "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 21302 "Commands.c" + ProgressMonitor _tmp5_ = NULL; + void* _tmp5__target = NULL; +#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 21311 "Commands.c" + } else { + ProgressMonitor _tmp6_ = NULL; + void* _tmp6__target = NULL; +#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 21321 "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 21327 "Commands.c" + ProgressDialog* _tmp8_ = NULL; +#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 21333 "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 21345 "Commands.c" +} + + +static void trash_untrash_photos_command_trash (TrashUntrashPhotosCommand* self, ProgressMonitor monitor, void* monitor_target) { + gint ctr = 0; + gint count = 0; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + LibraryPhotoSourceCollection* _tmp3_ = NULL; + TransactionController* _tmp4_ = NULL; + TransactionController* _tmp5_ = NULL; + VideoSourceCollection* _tmp6_ = NULL; + TransactionController* _tmp7_ = NULL; + TransactionController* _tmp8_ = NULL; + LibraryPhotoSourceCollection* _tmp21_ = NULL; + TransactionController* _tmp22_ = NULL; + TransactionController* _tmp23_ = NULL; + VideoSourceCollection* _tmp24_ = NULL; + TransactionController* _tmp25_ = NULL; + TransactionController* _tmp26_ = NULL; +#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 21395 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#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 21408 "Commands.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + ProgressMonitor _tmp16_ = NULL; + void* _tmp16__target = NULL; +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _source_it; +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp12_) { +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 21425 "Commands.c" + } +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _source_it; +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + source = (MediaSource*) _tmp14_; +#line 2413 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = source; +#line 2413 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_trash (_tmp15_); +#line 2414 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = monitor; +#line 2414 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16__target = monitor_target; +#line 2414 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp16_ != NULL) { +#line 21443 "Commands.c" + ProgressMonitor _tmp17_ = NULL; + void* _tmp17__target = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 2415 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = monitor; +#line 2415 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17__target = monitor_target; +#line 2415 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = ctr; +#line 2415 "/home/jens/Source/shotwell/src/Commands.vala" + ctr = _tmp18_ + 1; +#line 2415 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = ctr; +#line 2415 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = count; +#line 2415 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ ((guint64) _tmp19_, (guint64) _tmp20_, TRUE, _tmp17__target); +#line 21463 "Commands.c" + } +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 21467 "Commands.c" + } +#line 2412 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 21471 "Commands.c" + } +#line 2418 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = library_photo_global; +#line 2418 "/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 2418 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _tmp22_; +#line 2418 "/home/jens/Source/shotwell/src/Commands.vala" + transaction_controller_commit (_tmp23_); +#line 2419 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = video_global; +#line 2419 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 2419 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _tmp25_; +#line 2419 "/home/jens/Source/shotwell/src/Commands.vala" + transaction_controller_commit (_tmp26_); +#line 21489 "Commands.c" +} + + +static void trash_untrash_photos_command_untrash (TrashUntrashPhotosCommand* self, ProgressMonitor monitor, void* monitor_target) { + gint ctr = 0; + gint count = 0; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + LibraryPhotoSourceCollection* _tmp3_ = NULL; + TransactionController* _tmp4_ = NULL; + TransactionController* _tmp5_ = NULL; + VideoSourceCollection* _tmp6_ = NULL; + TransactionController* _tmp7_ = NULL; + TransactionController* _tmp8_ = NULL; + LibraryPhotoSourceCollection* _tmp21_ = NULL; + TransactionController* _tmp22_ = NULL; + TransactionController* _tmp23_ = NULL; + VideoSourceCollection* _tmp24_ = NULL; + TransactionController* _tmp25_ = NULL; + TransactionController* _tmp26_ = NULL; +#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 21539 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#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 21552 "Commands.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + ProgressMonitor _tmp16_ = NULL; + void* _tmp16__target = NULL; +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = _source_it; +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp12_) { +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 21569 "Commands.c" + } +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = _source_it; +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + source = (MediaSource*) _tmp14_; +#line 2430 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = source; +#line 2430 "/home/jens/Source/shotwell/src/Commands.vala" + media_source_untrash (_tmp15_); +#line 2431 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = monitor; +#line 2431 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16__target = monitor_target; +#line 2431 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp16_ != NULL) { +#line 21587 "Commands.c" + ProgressMonitor _tmp17_ = NULL; + void* _tmp17__target = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 2432 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = monitor; +#line 2432 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17__target = monitor_target; +#line 2432 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp18_ = ctr; +#line 2432 "/home/jens/Source/shotwell/src/Commands.vala" + ctr = _tmp18_ + 1; +#line 2432 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp19_ = ctr; +#line 2432 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp20_ = count; +#line 2432 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ ((guint64) _tmp19_, (guint64) _tmp20_, TRUE, _tmp17__target); +#line 21607 "Commands.c" + } +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 21611 "Commands.c" + } +#line 2429 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 21615 "Commands.c" + } +#line 2435 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp21_ = library_photo_global; +#line 2435 "/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 2435 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp23_ = _tmp22_; +#line 2435 "/home/jens/Source/shotwell/src/Commands.vala" + transaction_controller_commit (_tmp23_); +#line 2436 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp24_ = video_global; +#line 2436 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp25_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 2436 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp26_ = _tmp25_; +#line 2436 "/home/jens/Source/shotwell/src/Commands.vala" + transaction_controller_commit (_tmp26_); +#line 21633 "Commands.c" +} + + +static void trash_untrash_photos_command_on_photo_destroyed (TrashUntrashPhotosCommand* self, DataSource* source) { + GeeCollection* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#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" + _tmp1_ = source; +#line 2442 "/home/jens/Source/shotwell/src/Commands.vala" + gee_collection_remove (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2446 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = self->priv->sources; +#line 2446 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_collection_get_size (_tmp2_); +#line 2446 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _tmp3_; +#line 2446 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp4_ == 0) { +#line 21661 "Commands.c" + CommandManager* _tmp5_ = NULL; + CommandManager* _tmp6_ = NULL; +#line 2447 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = command_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COMMAND, Command)); +#line 2447 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = _tmp5_; +#line 2447 "/home/jens/Source/shotwell/src/Commands.vala" + command_manager_reset (_tmp6_); +#line 2447 "/home/jens/Source/shotwell/src/Commands.vala" + _command_manager_unref0 (_tmp6_); +#line 21672 "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 = trash_untrash_photos_command_real_execute; +#line 2341 "/home/jens/Source/shotwell/src/Commands.vala" + ((CommandClass *) klass)->undo = 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 21688 "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 21695 "Commands.c" +} + + +static void trash_untrash_photos_command_finalize (GObject* obj) { + TrashUntrashPhotosCommand * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + VideoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#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 21723 "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; + gboolean _tmp1_ = FALSE; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeCollection* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GeeCollection* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#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" + _tmp1_ = flag; +#line 2463 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp1_) { +#line 21756 "Commands.c" + const gchar* _tmp2_ = NULL; +#line 2463 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _ ("Flag"); +#line 2463 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp2_; +#line 21762 "Commands.c" + } else { + const gchar* _tmp3_ = NULL; +#line 2463 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = _ ("Unflag"); +#line 2463 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = _tmp3_; +#line 21769 "Commands.c" + } +#line 2464 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = flag; +#line 2464 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp5_) { +#line 2464 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = FLAG_UNFLAG_COMMAND_FLAG_SELECTED_STRING; +#line 21777 "Commands.c" + } else { +#line 2464 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = FLAG_UNFLAG_COMMAND_UNFLAG_SELECTED_STRING; +#line 21781 "Commands.c" + } +#line 2462 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = sources; +#line 2462 "/home/jens/Source/shotwell/src/Commands.vala" + self = (FlagUnflagCommand*) multiple_data_source_at_once_command_construct (object_type, _tmp6_, _tmp0_, _tmp4_); +#line 2466 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = flag; +#line 2466 "/home/jens/Source/shotwell/src/Commands.vala" + self->priv->flag = _tmp7_; +#line 2468 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = sources; +#line 2468 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = gee_collection_get_size (_tmp8_); +#line 2468 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = _tmp9_; +#line 2468 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp10_ >= FLAG_UNFLAG_COMMAND_MIN_PROGRESS_BAR_THRESHOLD) { +#line 21799 "Commands.c" + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + ProgressDialog* _tmp13_ = NULL; + ProgressDialog* _tmp14_ = NULL; +#line 2470 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = flag; +#line 2470 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp12_) { +#line 2470 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = FLAG_UNFLAG_COMMAND_FLAG_PROGRESS; +#line 21810 "Commands.c" + } else { +#line 2470 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = FLAG_UNFLAG_COMMAND_UNFLAG_PROGRESS; +#line 21814 "Commands.c" + } +#line 2469 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = progress_dialog_new (NULL, _tmp11_, NULL); +#line 2469 "/home/jens/Source/shotwell/src/Commands.vala" + g_object_ref_sink (_tmp13_); +#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 = _tmp13_; +#line 2472 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = self->priv->progress_dialog; +#line 2472 "/home/jens/Source/shotwell/src/Commands.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget)); +#line 21828 "Commands.c" + } +#line 2461 "/home/jens/Source/shotwell/src/Commands.vala" + return self; +#line 21832 "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 21839 "Commands.c" +} + + +static void flag_unflag_command_real_execute_on_all (MultipleDataSourceAtOnceCommand* base, GeeCollection* sources) { + FlagUnflagCommand * self; + gint num_processed = 0; + ProgressDialog* _tmp16_ = NULL; +#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 21853 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = sources; +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp1_; +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 21866 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gint _tmp8_ = 0; + ProgressDialog* _tmp9_ = NULL; +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_it; +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 21884 "Commands.c" + } +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_it; +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp5_; +#line 2480 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = source; +#line 2480 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->priv->flag; +#line 2480 "/home/jens/Source/shotwell/src/Commands.vala" + flag_unflag_command_flag_unflag (self, _tmp6_, _tmp7_); +#line 2482 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp8_ = num_processed; +#line 2482 "/home/jens/Source/shotwell/src/Commands.vala" + num_processed = _tmp8_ + 1; +#line 2484 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp9_ = self->priv->progress_dialog; +#line 2484 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp9_ != NULL) { +#line 21906 "Commands.c" + ProgressDialog* _tmp10_ = NULL; + gint _tmp11_ = 0; + GeeCollection* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + ProgressDialog* _tmp15_ = NULL; +#line 2485 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp10_ = self->priv->progress_dialog; +#line 2485 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp11_ = num_processed; +#line 2485 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp12_ = sources; +#line 2485 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp13_ = gee_collection_get_size (_tmp12_); +#line 2485 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp14_ = _tmp13_; +#line 2485 "/home/jens/Source/shotwell/src/Commands.vala" + progress_dialog_set_fraction (_tmp10_, _tmp11_, _tmp14_); +#line 2486 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp15_ = self->priv->progress_dialog; +#line 2486 "/home/jens/Source/shotwell/src/Commands.vala" + gtk_widget_queue_draw (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget)); +#line 2487 "/home/jens/Source/shotwell/src/Commands.vala" + spin_event_loop (); +#line 21931 "Commands.c" + } +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 21935 "Commands.c" + } +#line 2479 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 21939 "Commands.c" + } +#line 2491 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp16_ = self->priv->progress_dialog; +#line 2491 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp16_ != NULL) { +#line 21945 "Commands.c" + ProgressDialog* _tmp17_ = NULL; +#line 2492 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp17_ = self->priv->progress_dialog; +#line 2492 "/home/jens/Source/shotwell/src/Commands.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget)); +#line 21951 "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 21962 "Commands.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp0_ = sources; +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _source_it = _tmp1_; +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + while (TRUE) { +#line 21975 "Commands.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = _source_it; +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + if (!_tmp3_) { +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + break; +#line 21991 "Commands.c" + } +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = _source_it; +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + source = (DataSource*) _tmp5_; +#line 2497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp6_ = source; +#line 2497 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp7_ = self->priv->flag; +#line 2497 "/home/jens/Source/shotwell/src/Commands.vala" + flag_unflag_command_flag_unflag (self, _tmp6_, !_tmp7_); +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (source); +#line 22007 "Commands.c" + } +#line 2496 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (_source_it); +#line 22011 "Commands.c" + } +} + + +static void flag_unflag_command_flag_unflag (FlagUnflagCommand* self, DataSource* source, gboolean flag) { + Flaggable* flaggable = NULL; + DataSource* _tmp0_ = NULL; + Flaggable* _tmp1_ = NULL; + Flaggable* _tmp2_ = NULL; +#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_ = source; +#line 2501 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp0_) : NULL); +#line 2501 "/home/jens/Source/shotwell/src/Commands.vala" + flaggable = _tmp1_; +#line 2502 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp2_ = flaggable; +#line 2502 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp2_ != NULL) { +#line 22035 "Commands.c" + gboolean _tmp3_ = FALSE; +#line 2503 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp3_ = flag; +#line 2503 "/home/jens/Source/shotwell/src/Commands.vala" + if (_tmp3_) { +#line 22041 "Commands.c" + Flaggable* _tmp4_ = NULL; +#line 2504 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp4_ = flaggable; +#line 2504 "/home/jens/Source/shotwell/src/Commands.vala" + flaggable_mark_flagged (_tmp4_); +#line 22047 "Commands.c" + } else { + Flaggable* _tmp5_ = NULL; +#line 2506 "/home/jens/Source/shotwell/src/Commands.vala" + _tmp5_ = flaggable; +#line 2506 "/home/jens/Source/shotwell/src/Commands.vala" + flaggable_mark_unflagged (_tmp5_); +#line 22054 "Commands.c" + } + } +#line 2500 "/home/jens/Source/shotwell/src/Commands.vala" + _g_object_unref0 (flaggable); +#line 22059 "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 = flag_unflag_command_real_execute_on_all; +#line 2451 "/home/jens/Source/shotwell/src/Commands.vala" + ((MultipleDataSourceAtOnceCommandClass *) klass)->undo_on_all = 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 22074 "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 22083 "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 22095 "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; +} + + + diff --git a/src/Commands.vala b/src/Commands.vala index a5816ea..d922c7d 100644 --- a/src/Commands.vala +++ b/src/Commands.vala @@ -564,7 +564,9 @@ public class EditTitleCommand : SingleDataSourceCommand { private string? old_title; public EditTitleCommand(MediaSource source, string new_title) { - base(source, Resources.EDIT_TITLE_LABEL, ""); + var title = GLib.dpgettext2 (null, "Button Label", + Resources.EDIT_TITLE_LABEL); + base(source, title, ""); this.new_title = new_title; old_title = source.get_title(); @@ -604,7 +606,9 @@ public class EditMultipleTitlesCommand : MultipleDataSourceAtOnceCommand { public Gee.HashMap old_titles = new Gee.HashMap(); public EditMultipleTitlesCommand(Gee.Collection media_sources, string new_title) { - base (media_sources, Resources.EDIT_TITLE_LABEL, ""); + var title = GLib.dpgettext2 (null, "Button Label", + Resources.EDIT_TITLE_LABEL); + base (media_sources, title, ""); this.new_title = new_title; foreach (MediaSource media in media_sources) diff --git a/src/CustomComponents.c b/src/CustomComponents.c new file mode 100644 index 0000000..053e2fa --- /dev/null +++ b/src/CustomComponents.c @@ -0,0 +1,3675 @@ +/* CustomComponents.c generated by valac 0.32.1, the Vala compiler + * generated from CustomComponents.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_THEME_LOADER (theme_loader_get_type ()) +#define THEME_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THEME_LOADER, ThemeLoader)) +#define THEME_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THEME_LOADER, ThemeLoaderClass)) +#define IS_THEME_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THEME_LOADER)) +#define IS_THEME_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THEME_LOADER)) +#define THEME_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THEME_LOADER, ThemeLoaderClass)) + +typedef struct _ThemeLoader ThemeLoader; +typedef struct _ThemeLoaderClass ThemeLoaderClass; +typedef struct _ThemeLoaderPrivate ThemeLoaderPrivate; + +#define THEME_LOADER_TYPE_LIGHTWEIGHT_COLOR (theme_loader_lightweight_color_get_type ()) +typedef struct _ThemeLoaderLightweightColor ThemeLoaderLightweightColor; +#define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL))) + +#define TYPE_RGB_ANALYTIC_PIXEL (rgb_analytic_pixel_get_type ()) +typedef struct _RGBAnalyticPixel RGBAnalyticPixel; + +#define TYPE_HSV_ANALYTIC_PIXEL (hsv_analytic_pixel_get_type ()) +typedef struct _HSVAnalyticPixel HSVAnalyticPixel; +#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _rgb_analytic_pixel_free0(var) ((var == NULL) ? NULL : (var = (rgb_analytic_pixel_free (var), NULL))) +typedef struct _ParamSpecThemeLoader ParamSpecThemeLoader; + +#define TYPE_RGB_HISTOGRAM_MANIPULATOR (rgb_histogram_manipulator_get_type ()) +#define RGB_HISTOGRAM_MANIPULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulator)) +#define RGB_HISTOGRAM_MANIPULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulatorClass)) +#define IS_RGB_HISTOGRAM_MANIPULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR)) +#define IS_RGB_HISTOGRAM_MANIPULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_HISTOGRAM_MANIPULATOR)) +#define RGB_HISTOGRAM_MANIPULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulatorClass)) + +typedef struct _RGBHistogramManipulator RGBHistogramManipulator; +typedef struct _RGBHistogramManipulatorClass RGBHistogramManipulatorClass; +typedef struct _RGBHistogramManipulatorPrivate RGBHistogramManipulatorPrivate; + +#define TYPE_RGB_HISTOGRAM (rgb_histogram_get_type ()) +#define RGB_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_HISTOGRAM, RGBHistogram)) +#define RGB_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_HISTOGRAM, RGBHistogramClass)) +#define IS_RGB_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_HISTOGRAM)) +#define IS_RGB_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_HISTOGRAM)) +#define RGB_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_HISTOGRAM, RGBHistogramClass)) + +typedef struct _RGBHistogram RGBHistogram; +typedef struct _RGBHistogramClass RGBHistogramClass; + +#define RGB_HISTOGRAM_MANIPULATOR_TYPE_LOCATION_CODE (rgb_histogram_manipulator_location_code_get_type ()) +#define _rgb_histogram_unref0(var) ((var == NULL) ? NULL : (var = (rgb_histogram_unref (var), NULL))) +#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 _ThemeLoader { + GTypeInstance parent_instance; + volatile int ref_count; + ThemeLoaderPrivate * priv; +}; + +struct _ThemeLoaderClass { + GTypeClass parent_class; + void (*finalize) (ThemeLoader *self); +}; + +struct _ThemeLoaderLightweightColor { + guchar red; + guchar green; + guchar blue; +}; + +struct _RGBAnalyticPixel { + gfloat red; + gfloat green; + gfloat blue; +}; + +struct _HSVAnalyticPixel { + gfloat hue; + gfloat saturation; + gfloat light_value; +}; + +struct _ParamSpecThemeLoader { + GParamSpec parent_instance; +}; + +struct _RGBHistogramManipulator { + GtkDrawingArea parent_instance; + RGBHistogramManipulatorPrivate * priv; +}; + +struct _RGBHistogramManipulatorClass { + GtkDrawingAreaClass parent_class; +}; + +struct _RGBHistogramManipulatorPrivate { + gint left_nub_max; + gint right_nub_min; + RGBHistogram* histogram; + gint left_nub_position; + gint right_nub_position; + GdkPixbuf* nub_pixbuf; + gboolean is_left_nub_tracking; + gboolean is_right_nub_tracking; + gint track_start_x; + gint track_nub_start_position; +}; + +typedef enum { + RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_NUB, + RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_NUB, + RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_TROUGH, + RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_TROUGH, + RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_INSENSITIVE_AREA +} RGBHistogramManipulatorLocationCode; + + +static gpointer theme_loader_parent_class = NULL; +static ThemeLoaderLightweightColor* theme_loader_theme_colors; +static gint theme_loader_theme_colors_length1; +static ThemeLoaderLightweightColor* theme_loader_theme_colors = NULL; +static gint theme_loader_theme_colors_length1 = 0; +static gint _theme_loader_theme_colors_size_ = 0; +static gpointer rgb_histogram_manipulator_parent_class = NULL; +static GtkWidget* rgb_histogram_manipulator_dummy_slider; +static GtkWidget* rgb_histogram_manipulator_dummy_slider = NULL; +static GtkWidget* rgb_histogram_manipulator_dummy_frame; +static GtkWidget* rgb_histogram_manipulator_dummy_frame = NULL; +static GtkWidgetPath* rgb_histogram_manipulator_slider_draw_path; +static GtkWidgetPath* rgb_histogram_manipulator_slider_draw_path = NULL; +static GtkWidgetPath* rgb_histogram_manipulator_frame_draw_path; +static GtkWidgetPath* rgb_histogram_manipulator_frame_draw_path = NULL; +static gboolean rgb_histogram_manipulator_paths_setup; +static gboolean rgb_histogram_manipulator_paths_setup = FALSE; + +void qsort (void* p, gsize num, gsize size, GCompareFunc func); +gpointer theme_loader_ref (gpointer instance); +void theme_loader_unref (gpointer instance); +GParamSpec* param_spec_theme_loader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_theme_loader (GValue* value, gpointer v_object); +void value_take_theme_loader (GValue* value, gpointer v_object); +gpointer value_get_theme_loader (const GValue* value); +GType theme_loader_get_type (void) G_GNUC_CONST; +enum { + THEME_LOADER_DUMMY_PROPERTY +}; +static GType theme_loader_lightweight_color_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static ThemeLoaderLightweightColor* theme_loader_lightweight_color_dup (const ThemeLoaderLightweightColor* self); +static void theme_loader_lightweight_color_free (ThemeLoaderLightweightColor* self); +#define THEME_LOADER_NUM_SUPPORTED_INTENSITIES 6 +#define THEME_LOADER_THEME_OUTLINE_COLOR 0 +#define THEME_LOADER_THEME_BEVEL_DARKER_COLOR 1 +#define THEME_LOADER_THEME_BEVEL_DARK_COLOR 2 +#define THEME_LOADER_THEME_BASE_COLOR 3 +#define THEME_LOADER_THEME_BEVEL_LIGHT_COLOR 4 +#define THEME_LOADER_THEME_BEVEL_LIGHTER_COLOR 5 +static void theme_loader_populate_theme_params (void); +static GdkColor* _gdk_color_dup (GdkColor* self); +GType rgb_analytic_pixel_get_type (void) G_GNUC_CONST; +RGBAnalyticPixel* rgb_analytic_pixel_dup (const RGBAnalyticPixel* self); +void rgb_analytic_pixel_free (RGBAnalyticPixel* self); +void rgb_analytic_pixel_init_from_quantized_components (RGBAnalyticPixel *self, guchar red_quantized, guchar green_quantized, guchar blue_quantized); +GType hsv_analytic_pixel_get_type (void) G_GNUC_CONST; +HSVAnalyticPixel* hsv_analytic_pixel_dup (const HSVAnalyticPixel* self); +void hsv_analytic_pixel_free (HSVAnalyticPixel* self); +void hsv_analytic_pixel_init_from_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* p); +void hsv_analytic_pixel_to_rgb (HSVAnalyticPixel *self, RGBAnalyticPixel* result); +static void theme_loader_populate_one_theme_param (RGBAnalyticPixel* from, ThemeLoaderLightweightColor* result); +static void theme_loader_lightweight_color_init (ThemeLoaderLightweightColor *self); +GdkPixbuf* theme_loader_load_icon (const gchar* source_basename); +GdkPixbuf* resources_get_icon (const gchar* name, gint scale); +static guint theme_loader_rgb_pixel_hash_func (RGBAnalyticPixel* pixel_val); +static guint _theme_loader_rgb_pixel_hash_func_gee_hash_data_func (gconstpointer v, gpointer self); +static gboolean theme_loader_rgb_pixel_equal_func (RGBAnalyticPixel* p1, RGBAnalyticPixel* p2); +static gboolean _theme_loader_rgb_pixel_equal_func_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +static gint theme_loader_hsv_pixel_compare_func (void* pixval1, void* pixval2); +static gint _theme_loader_hsv_pixel_compare_func_gcompare_func (gconstpointer a, gconstpointer b); +gboolean rgb_analytic_pixel_equals (RGBAnalyticPixel *self, RGBAnalyticPixel* rhs); +guint rgb_analytic_pixel_hash_code (RGBAnalyticPixel *self); +ThemeLoader* theme_loader_new (void); +ThemeLoader* theme_loader_construct (GType object_type); +static void theme_loader_finalize (ThemeLoader* obj); +GType rgb_histogram_manipulator_get_type (void) G_GNUC_CONST; +gpointer rgb_histogram_ref (gpointer instance); +void rgb_histogram_unref (gpointer instance); +GParamSpec* param_spec_rgb_histogram (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_rgb_histogram (GValue* value, gpointer v_object); +void value_take_rgb_histogram (GValue* value, gpointer v_object); +gpointer value_get_rgb_histogram (const GValue* value); +GType rgb_histogram_get_type (void) G_GNUC_CONST; +#define RGB_HISTOGRAM_MANIPULATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulatorPrivate)) +enum { + RGB_HISTOGRAM_MANIPULATOR_DUMMY_PROPERTY +}; +static GType rgb_histogram_manipulator_location_code_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE 13 +#define RGB_HISTOGRAM_MANIPULATOR_NUB_HALF_WIDTH (RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE / 2) +#define RGB_HISTOGRAM_MANIPULATOR_NUB_V_NUDGE 4 +#define RGB_HISTOGRAM_MANIPULATOR_TROUGH_WIDTH (256 + (2 * RGB_HISTOGRAM_MANIPULATOR_NUB_HALF_WIDTH)) +#define RGB_HISTOGRAM_MANIPULATOR_TROUGH_HEIGHT 4 +#define RGB_HISTOGRAM_MANIPULATOR_TROUGH_BOTTOM_OFFSET 1 +#define RGB_HISTOGRAM_MANIPULATOR_CONTROL_WIDTH (RGB_HISTOGRAM_MANIPULATOR_TROUGH_WIDTH + 2) +#define RGB_HISTOGRAM_MANIPULATOR_CONTROL_HEIGHT 118 +#define RGB_HISTOGRAM_MANIPULATOR_NUB_V_POSITION (((((RGB_HISTOGRAM_MANIPULATOR_CONTROL_HEIGHT - RGB_HISTOGRAM_MANIPULATOR_TROUGH_HEIGHT) - RGB_HISTOGRAM_MANIPULATOR_TROUGH_BOTTOM_OFFSET) - ((RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE - RGB_HISTOGRAM_MANIPULATOR_TROUGH_HEIGHT) / 2)) - RGB_HISTOGRAM_MANIPULATOR_NUB_V_NUDGE) - 2) +RGBHistogramManipulator* rgb_histogram_manipulator_new (void); +RGBHistogramManipulator* rgb_histogram_manipulator_construct (GType object_type); +static gboolean rgb_histogram_manipulator_on_button_press (RGBHistogramManipulator* self, GdkEventButton* event_record); +static gboolean _rgb_histogram_manipulator_on_button_press_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +static gboolean rgb_histogram_manipulator_on_button_release (RGBHistogramManipulator* self, GdkEventButton* event_record); +static gboolean _rgb_histogram_manipulator_on_button_release_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +static gboolean rgb_histogram_manipulator_on_button_motion (RGBHistogramManipulator* self, GdkEventMotion* event_record); +static gboolean _rgb_histogram_manipulator_on_button_motion_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self); +static RGBHistogramManipulatorLocationCode rgb_histogram_manipulator_hit_test_point (RGBHistogramManipulator* self, gint x, gint y); +static void rgb_histogram_manipulator_force_update (RGBHistogramManipulator* self); +static void rgb_histogram_manipulator_update_nub_extrema (RGBHistogramManipulator* self); +static gboolean rgb_histogram_manipulator_real_draw (GtkWidget* base, cairo_t* ctx); +#define RGB_HISTOGRAM_GRAPHIC_WIDTH 256 +#define RGB_HISTOGRAM_GRAPHIC_HEIGHT 100 +static void rgb_histogram_manipulator_draw_histogram_frame (RGBHistogramManipulator* self, cairo_t* ctx, GdkRectangle* area); +static void rgb_histogram_manipulator_draw_histogram (RGBHistogramManipulator* self, cairo_t* ctx, GdkRectangle* area); +static void rgb_histogram_manipulator_draw_trough (RGBHistogramManipulator* self, cairo_t* ctx, GdkRectangle* area); +static void rgb_histogram_manipulator_draw_nub (RGBHistogramManipulator* self, cairo_t* ctx, GdkRectangle* area, gint position); +GdkPixbuf* rgb_histogram_get_graphic (RGBHistogram* self); +void rgb_histogram_manipulator_update_histogram (RGBHistogramManipulator* self, GdkPixbuf* source_pixbuf); +RGBHistogram* rgb_histogram_new (GdkPixbuf* pixbuf); +RGBHistogram* rgb_histogram_construct (GType object_type, GdkPixbuf* pixbuf); +gint rgb_histogram_manipulator_get_left_nub_position (RGBHistogramManipulator* self); +gint rgb_histogram_manipulator_get_right_nub_position (RGBHistogramManipulator* self); +void rgb_histogram_manipulator_set_left_nub_position (RGBHistogramManipulator* self, gint user_nub_pos); +void rgb_histogram_manipulator_set_right_nub_position (RGBHistogramManipulator* self, gint user_nub_pos); +static void rgb_histogram_manipulator_finalize (GObject* obj); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 36 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return self ? g_object_ref (self) : NULL; +#line 261 "CustomComponents.c" +} + + +static GdkColor* _gdk_color_dup (GdkColor* self) { + GdkColor* dup; +#line 38 "/home/jens/Source/shotwell/src/CustomComponents.vala" + dup = g_new0 (GdkColor, 1); +#line 38 "/home/jens/Source/shotwell/src/CustomComponents.vala" + memcpy (dup, self, sizeof (GdkColor)); +#line 38 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return dup; +#line 273 "CustomComponents.c" +} + + +static gpointer __gdk_color_dup0 (gpointer self) { +#line 38 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return self ? _gdk_color_dup (self) : NULL; +#line 280 "CustomComponents.c" +} + + +static void theme_loader_populate_theme_params (void) { + ThemeLoaderLightweightColor* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + ThemeLoaderLightweightColor* _tmp1_ = NULL; + GtkSettings* settings = NULL; + GtkSettings* _tmp2_ = NULL; + GtkSettings* _tmp3_ = NULL; + GHashTable* color_table = NULL; + GtkSettings* _tmp4_ = NULL; + GHashTable* _tmp5_ = NULL; + GHashTable* _tmp6_ = NULL; + GdkColor* base_color = NULL; + GHashTable* _tmp7_ = NULL; + gconstpointer _tmp8_ = NULL; + GdkColor* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GdkColor* _tmp11_ = NULL; + RGBAnalyticPixel base_color_analytic_rgb = {0}; + GdkColor* _tmp16_ = NULL; + guint16 _tmp17_ = 0U; + GdkColor* _tmp18_ = NULL; + guint16 _tmp19_ = 0U; + GdkColor* _tmp20_ = NULL; + guint16 _tmp21_ = 0U; + HSVAnalyticPixel base_color_analytic_hsv = {0}; + RGBAnalyticPixel _tmp22_ = {0}; + HSVAnalyticPixel bevel_light_analytic_hsv = {0}; + HSVAnalyticPixel _tmp23_ = {0}; + gfloat _tmp24_ = 0.0F; + HSVAnalyticPixel _tmp25_ = {0}; + gfloat _tmp26_ = 0.0F; + gfloat _tmp27_ = 0.0F; + HSVAnalyticPixel bevel_lighter_analytic_hsv = {0}; + HSVAnalyticPixel _tmp28_ = {0}; + gfloat _tmp29_ = 0.0F; + HSVAnalyticPixel _tmp30_ = {0}; + gfloat _tmp31_ = 0.0F; + gfloat _tmp32_ = 0.0F; + HSVAnalyticPixel bevel_dark_analytic_hsv = {0}; + HSVAnalyticPixel _tmp33_ = {0}; + gfloat _tmp34_ = 0.0F; + HSVAnalyticPixel _tmp35_ = {0}; + gfloat _tmp36_ = 0.0F; + gfloat _tmp37_ = 0.0F; + HSVAnalyticPixel bevel_darker_analytic_hsv = {0}; + HSVAnalyticPixel _tmp38_ = {0}; + gfloat _tmp39_ = 0.0F; + HSVAnalyticPixel _tmp40_ = {0}; + gfloat _tmp41_ = 0.0F; + gfloat _tmp42_ = 0.0F; + HSVAnalyticPixel outline_analytic_hsv = {0}; + HSVAnalyticPixel _tmp43_ = {0}; + gfloat _tmp44_ = 0.0F; + HSVAnalyticPixel _tmp45_ = {0}; + gfloat _tmp46_ = 0.0F; + gfloat _tmp47_ = 0.0F; + RGBAnalyticPixel outline_analytic_rgb = {0}; + RGBAnalyticPixel _tmp48_ = {0}; + ThemeLoaderLightweightColor* _tmp49_ = NULL; + gint _tmp49__length1 = 0; + RGBAnalyticPixel _tmp50_ = {0}; + ThemeLoaderLightweightColor _tmp51_ = {0}; + ThemeLoaderLightweightColor _tmp52_ = {0}; + RGBAnalyticPixel bevel_darker_analytic_rgb = {0}; + RGBAnalyticPixel _tmp53_ = {0}; + ThemeLoaderLightweightColor* _tmp54_ = NULL; + gint _tmp54__length1 = 0; + RGBAnalyticPixel _tmp55_ = {0}; + ThemeLoaderLightweightColor _tmp56_ = {0}; + ThemeLoaderLightweightColor _tmp57_ = {0}; + RGBAnalyticPixel bevel_dark_analytic_rgb = {0}; + RGBAnalyticPixel _tmp58_ = {0}; + ThemeLoaderLightweightColor* _tmp59_ = NULL; + gint _tmp59__length1 = 0; + RGBAnalyticPixel _tmp60_ = {0}; + ThemeLoaderLightweightColor _tmp61_ = {0}; + ThemeLoaderLightweightColor _tmp62_ = {0}; + ThemeLoaderLightweightColor* _tmp63_ = NULL; + gint _tmp63__length1 = 0; + RGBAnalyticPixel _tmp64_ = {0}; + ThemeLoaderLightweightColor _tmp65_ = {0}; + ThemeLoaderLightweightColor _tmp66_ = {0}; + RGBAnalyticPixel bevel_light_analytic_rgb = {0}; + RGBAnalyticPixel _tmp67_ = {0}; + ThemeLoaderLightweightColor* _tmp68_ = NULL; + gint _tmp68__length1 = 0; + RGBAnalyticPixel _tmp69_ = {0}; + ThemeLoaderLightweightColor _tmp70_ = {0}; + ThemeLoaderLightweightColor _tmp71_ = {0}; + RGBAnalyticPixel bevel_lighter_analytic_rgb = {0}; + RGBAnalyticPixel _tmp72_ = {0}; + ThemeLoaderLightweightColor* _tmp73_ = NULL; + gint _tmp73__length1 = 0; + RGBAnalyticPixel _tmp74_ = {0}; + ThemeLoaderLightweightColor _tmp75_ = {0}; + ThemeLoaderLightweightColor _tmp76_ = {0}; +#line 31 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = theme_loader_theme_colors; +#line 31 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0__length1 = theme_loader_theme_colors_length1; +#line 31 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp0_ != NULL) { +#line 32 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return; +#line 388 "CustomComponents.c" + } +#line 34 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = g_new0 (ThemeLoaderLightweightColor, THEME_LOADER_NUM_SUPPORTED_INTENSITIES); +#line 34 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_theme_colors = (g_free (theme_loader_theme_colors), NULL); +#line 34 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_theme_colors = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_theme_colors_length1 = THEME_LOADER_NUM_SUPPORTED_INTENSITIES; +#line 34 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _theme_loader_theme_colors_size_ = theme_loader_theme_colors_length1; +#line 36 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = gtk_settings_get_default (); +#line 36 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 36 "/home/jens/Source/shotwell/src/CustomComponents.vala" + settings = _tmp3_; +#line 37 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = settings; +#line 37 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_object_get (_tmp4_, "color-hash", &_tmp5_, NULL); +#line 37 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = _tmp5_; +#line 37 "/home/jens/Source/shotwell/src/CustomComponents.vala" + color_table = _tmp6_; +#line 38 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = color_table; +#line 38 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = g_hash_table_lookup (_tmp7_, "bg_color"); +#line 38 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = __gdk_color_dup0 ((GdkColor*) _tmp8_); +#line 38 "/home/jens/Source/shotwell/src/CustomComponents.vala" + base_color = _tmp9_; +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp11_ = base_color; +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp11_ == NULL) { +#line 426 "CustomComponents.c" + GdkColor _tmp12_ = {0}; + gboolean _tmp13_ = FALSE; + GdkColor _tmp14_ = {0}; + GdkColor* _tmp15_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = gdk_color_parse ("#fff", &_tmp12_); +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_free0 (base_color); +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = _tmp12_; +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp15_ = __gdk_color_dup0 (&_tmp14_); +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + base_color = _tmp15_; +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = !_tmp13_; +#line 443 "CustomComponents.c" + } else { +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = FALSE; +#line 447 "CustomComponents.c" + } +#line 39 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp10_) { +#line 40 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_error ("CustomComponents.vala:40: can't parse color"); +#line 453 "CustomComponents.c" + } +#line 42 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp16_ = base_color; +#line 42 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp17_ = (*_tmp16_).red; +#line 42 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp18_ = base_color; +#line 42 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp19_ = (*_tmp18_).green; +#line 42 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp20_ = base_color; +#line 42 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp21_ = (*_tmp20_).blue; +#line 42 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_analytic_pixel_init_from_quantized_components (&base_color_analytic_rgb, (guchar) (_tmp17_ >> 8), (guchar) (_tmp19_ >> 8), (guchar) (_tmp21_ >> 8)); +#line 45 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp22_ = base_color_analytic_rgb; +#line 45 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_analytic_pixel_init_from_rgb (&base_color_analytic_hsv, &_tmp22_); +#line 48 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp23_ = base_color_analytic_hsv; +#line 48 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_light_analytic_hsv = _tmp23_; +#line 49 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp24_ = bevel_light_analytic_hsv.light_value; +#line 49 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_light_analytic_hsv.light_value = _tmp24_ * 1.15f; +#line 50 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp25_ = bevel_light_analytic_hsv; +#line 50 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp26_ = _tmp25_.light_value; +#line 50 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp27_ = CLAMP (_tmp26_, 0.0f, 1.0f); +#line 50 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_light_analytic_hsv.light_value = _tmp27_; +#line 53 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp28_ = bevel_light_analytic_hsv; +#line 53 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_lighter_analytic_hsv = _tmp28_; +#line 54 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp29_ = bevel_lighter_analytic_hsv.light_value; +#line 54 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_lighter_analytic_hsv.light_value = _tmp29_ * 1.15f; +#line 55 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp30_ = bevel_lighter_analytic_hsv; +#line 55 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp31_ = _tmp30_.light_value; +#line 55 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp32_ = CLAMP (_tmp31_, 0.0f, 1.0f); +#line 55 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_lighter_analytic_hsv.light_value = _tmp32_; +#line 58 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp33_ = base_color_analytic_hsv; +#line 58 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_dark_analytic_hsv = _tmp33_; +#line 59 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp34_ = bevel_dark_analytic_hsv.light_value; +#line 59 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_dark_analytic_hsv.light_value = _tmp34_ * 0.85f; +#line 60 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp35_ = bevel_dark_analytic_hsv; +#line 60 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp36_ = _tmp35_.light_value; +#line 60 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp37_ = CLAMP (_tmp36_, 0.0f, 1.0f); +#line 60 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_dark_analytic_hsv.light_value = _tmp37_; +#line 63 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp38_ = bevel_dark_analytic_hsv; +#line 63 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_darker_analytic_hsv = _tmp38_; +#line 64 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp39_ = bevel_darker_analytic_hsv.light_value; +#line 64 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_darker_analytic_hsv.light_value = _tmp39_ * 0.85f; +#line 65 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp40_ = bevel_darker_analytic_hsv; +#line 65 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp41_ = _tmp40_.light_value; +#line 65 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp42_ = CLAMP (_tmp41_, 0.0f, 1.0f); +#line 65 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_darker_analytic_hsv.light_value = _tmp42_; +#line 68 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp43_ = bevel_darker_analytic_hsv; +#line 68 "/home/jens/Source/shotwell/src/CustomComponents.vala" + outline_analytic_hsv = _tmp43_; +#line 69 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp44_ = outline_analytic_hsv.light_value; +#line 69 "/home/jens/Source/shotwell/src/CustomComponents.vala" + outline_analytic_hsv.light_value = _tmp44_ * 0.66f; +#line 70 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp45_ = outline_analytic_hsv; +#line 70 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp46_ = _tmp45_.light_value; +#line 70 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp47_ = CLAMP (_tmp46_, 0.0f, 1.0f); +#line 70 "/home/jens/Source/shotwell/src/CustomComponents.vala" + outline_analytic_hsv.light_value = _tmp47_; +#line 73 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_analytic_pixel_to_rgb (&outline_analytic_hsv, &_tmp48_); +#line 73 "/home/jens/Source/shotwell/src/CustomComponents.vala" + outline_analytic_rgb = _tmp48_; +#line 74 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp49_ = theme_loader_theme_colors; +#line 74 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp49__length1 = theme_loader_theme_colors_length1; +#line 74 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp50_ = outline_analytic_rgb; +#line 74 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_populate_one_theme_param (&_tmp50_, &_tmp51_); +#line 74 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp49_[THEME_LOADER_THEME_OUTLINE_COLOR] = _tmp51_; +#line 74 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp52_ = _tmp49_[THEME_LOADER_THEME_OUTLINE_COLOR]; +#line 77 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_analytic_pixel_to_rgb (&bevel_darker_analytic_hsv, &_tmp53_); +#line 77 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_darker_analytic_rgb = _tmp53_; +#line 78 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp54_ = theme_loader_theme_colors; +#line 78 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp54__length1 = theme_loader_theme_colors_length1; +#line 78 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp55_ = bevel_darker_analytic_rgb; +#line 78 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_populate_one_theme_param (&_tmp55_, &_tmp56_); +#line 78 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp54_[THEME_LOADER_THEME_BEVEL_DARKER_COLOR] = _tmp56_; +#line 78 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp57_ = _tmp54_[THEME_LOADER_THEME_BEVEL_DARKER_COLOR]; +#line 81 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_analytic_pixel_to_rgb (&bevel_dark_analytic_hsv, &_tmp58_); +#line 81 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_dark_analytic_rgb = _tmp58_; +#line 82 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp59_ = theme_loader_theme_colors; +#line 82 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp59__length1 = theme_loader_theme_colors_length1; +#line 82 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp60_ = bevel_dark_analytic_rgb; +#line 82 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_populate_one_theme_param (&_tmp60_, &_tmp61_); +#line 82 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp59_[THEME_LOADER_THEME_BEVEL_DARK_COLOR] = _tmp61_; +#line 82 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp62_ = _tmp59_[THEME_LOADER_THEME_BEVEL_DARK_COLOR]; +#line 85 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp63_ = theme_loader_theme_colors; +#line 85 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp63__length1 = theme_loader_theme_colors_length1; +#line 85 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp64_ = base_color_analytic_rgb; +#line 85 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_populate_one_theme_param (&_tmp64_, &_tmp65_); +#line 85 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp63_[THEME_LOADER_THEME_BASE_COLOR] = _tmp65_; +#line 85 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp66_ = _tmp63_[THEME_LOADER_THEME_BASE_COLOR]; +#line 88 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_analytic_pixel_to_rgb (&bevel_light_analytic_hsv, &_tmp67_); +#line 88 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_light_analytic_rgb = _tmp67_; +#line 89 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp68_ = theme_loader_theme_colors; +#line 89 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp68__length1 = theme_loader_theme_colors_length1; +#line 89 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp69_ = bevel_light_analytic_rgb; +#line 89 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_populate_one_theme_param (&_tmp69_, &_tmp70_); +#line 89 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp68_[THEME_LOADER_THEME_BEVEL_LIGHT_COLOR] = _tmp70_; +#line 89 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp71_ = _tmp68_[THEME_LOADER_THEME_BEVEL_LIGHT_COLOR]; +#line 92 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_analytic_pixel_to_rgb (&bevel_light_analytic_hsv, &_tmp72_); +#line 92 "/home/jens/Source/shotwell/src/CustomComponents.vala" + bevel_lighter_analytic_rgb = _tmp72_; +#line 93 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp73_ = theme_loader_theme_colors; +#line 93 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp73__length1 = theme_loader_theme_colors_length1; +#line 93 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp74_ = bevel_lighter_analytic_rgb; +#line 93 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_populate_one_theme_param (&_tmp74_, &_tmp75_); +#line 93 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp73_[THEME_LOADER_THEME_BEVEL_LIGHTER_COLOR] = _tmp75_; +#line 93 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp76_ = _tmp73_[THEME_LOADER_THEME_BEVEL_LIGHTER_COLOR]; +#line 30 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_free0 (base_color); +#line 30 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_hash_table_unref0 (color_table); +#line 30 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (settings); +#line 651 "CustomComponents.c" +} + + +static void theme_loader_populate_one_theme_param (RGBAnalyticPixel* from, ThemeLoaderLightweightColor* result) { + ThemeLoaderLightweightColor into = {0}; + RGBAnalyticPixel _tmp0_ = {0}; + gfloat _tmp1_ = 0.0F; + RGBAnalyticPixel _tmp2_ = {0}; + gfloat _tmp3_ = 0.0F; + RGBAnalyticPixel _tmp4_ = {0}; + gfloat _tmp5_ = 0.0F; +#line 97 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (from != NULL); +#line 98 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_lightweight_color_init (&into); +#line 100 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = *from; +#line 100 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = _tmp0_.red; +#line 100 "/home/jens/Source/shotwell/src/CustomComponents.vala" + into.red = (guchar) (_tmp1_ * 255.0f); +#line 101 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = *from; +#line 101 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = _tmp2_.green; +#line 101 "/home/jens/Source/shotwell/src/CustomComponents.vala" + into.green = (guchar) (_tmp3_ * 255.0f); +#line 102 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = *from; +#line 102 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = _tmp4_.blue; +#line 102 "/home/jens/Source/shotwell/src/CustomComponents.vala" + into.blue = (guchar) (_tmp5_ * 255.0f); +#line 104 "/home/jens/Source/shotwell/src/CustomComponents.vala" + *result = into; +#line 104 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return; +#line 689 "CustomComponents.c" +} + + +static guint _theme_loader_rgb_pixel_hash_func_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = theme_loader_rgb_pixel_hash_func ((RGBAnalyticPixel*) v); +#line 114 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 698 "CustomComponents.c" +} + + +static gboolean _theme_loader_rgb_pixel_equal_func_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = theme_loader_rgb_pixel_equal_func ((RGBAnalyticPixel*) a, (RGBAnalyticPixel*) b); +#line 114 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 707 "CustomComponents.c" +} + + +static gint _theme_loader_hsv_pixel_compare_func_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = theme_loader_hsv_pixel_compare_func (a, b); +#line 142 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 716 "CustomComponents.c" +} + + +GdkPixbuf* theme_loader_load_icon (const gchar* source_basename) { + GdkPixbuf* result = NULL; + GdkPixbuf* loaded_pixbuf = NULL; + const gchar* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GeeHashSet* colors = NULL; + GeeHashSet* _tmp5_ = NULL; + guchar* pixel_data = NULL; + GdkPixbuf* _tmp6_ = NULL; + guint8* _tmp7_ = NULL; + gint pixel_data_length1 = 0; + gint _pixel_data_size_ = 0; + GeeHashSet* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + HSVAnalyticPixel* hsv_pixels = NULL; + HSVAnalyticPixel* _tmp42_ = NULL; + gint hsv_pixels_length1 = 0; + gint _hsv_pixels_size_ = 0; + gint pixel_ticker = 0; + HSVAnalyticPixel* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + HSVAnalyticPixel* _tmp57_ = NULL; + gint _tmp57__length1 = 0; +#line 107 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (source_basename != NULL, NULL); +#line 108 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_populate_theme_params (); +#line 110 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = source_basename; +#line 110 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = resources_get_icon (_tmp0_, 0); +#line 110 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = _tmp1_; +#line 110 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = gdk_pixbuf_copy (_tmp2_); +#line 110 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = _tmp3_; +#line 110 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (_tmp2_); +#line 110 "/home/jens/Source/shotwell/src/CustomComponents.vala" + loaded_pixbuf = _tmp4_; +#line 114 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = gee_hash_set_new (TYPE_RGB_ANALYTIC_PIXEL, (GBoxedCopyFunc) rgb_analytic_pixel_dup, rgb_analytic_pixel_free, _theme_loader_rgb_pixel_hash_func_gee_hash_data_func, NULL, NULL, _theme_loader_rgb_pixel_equal_func_gee_equal_data_func, NULL, NULL); +#line 114 "/home/jens/Source/shotwell/src/CustomComponents.vala" + colors = _tmp5_; +#line 117 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = loaded_pixbuf; +#line 117 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = gdk_pixbuf_get_pixels (_tmp6_); +#line 117 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_data = _tmp7_; +#line 117 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_data_length1 = -1; +#line 117 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _pixel_data_size_ = pixel_data_length1; +#line 779 "CustomComponents.c" + { + gint j = 0; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + j = 0; +#line 784 "CustomComponents.c" + { + gboolean _tmp8_ = FALSE; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = TRUE; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 791 "CustomComponents.c" + gint _tmp10_ = 0; + GdkPixbuf* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp8_) { +#line 798 "CustomComponents.c" + gint _tmp9_ = 0; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = j; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + j = _tmp9_ + 1; +#line 804 "CustomComponents.c" + } +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = FALSE; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = j; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp11_ = loaded_pixbuf; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp12_ = gdk_pixbuf_get_height (_tmp11_); +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = _tmp12_; +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp10_ < _tmp13_)) { +#line 118 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 820 "CustomComponents.c" + } + { + gint i = 0; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + i = 0; +#line 826 "CustomComponents.c" + { + gboolean _tmp14_ = FALSE; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = TRUE; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 833 "CustomComponents.c" + gint _tmp16_ = 0; + GdkPixbuf* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint pixel_index = 0; + gint _tmp20_ = 0; + GdkPixbuf* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + GdkPixbuf* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + RGBAnalyticPixel pixel_color = {0}; + guchar* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gint _tmp29_ = 0; + guchar _tmp30_ = '\0'; + guchar* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint _tmp32_ = 0; + guchar _tmp33_ = '\0'; + guchar* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gint _tmp35_ = 0; + guchar _tmp36_ = '\0'; + GeeHashSet* _tmp37_ = NULL; + RGBAnalyticPixel _tmp38_ = {0}; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp14_) { +#line 864 "CustomComponents.c" + gint _tmp15_ = 0; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp15_ = i; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + i = _tmp15_ + 1; +#line 870 "CustomComponents.c" + } +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = FALSE; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp16_ = i; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp17_ = loaded_pixbuf; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp18_ = gdk_pixbuf_get_width (_tmp17_); +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp19_ = _tmp18_; +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp16_ < _tmp19_)) { +#line 119 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 886 "CustomComponents.c" + } +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp20_ = j; +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp21_ = loaded_pixbuf; +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp22_ = gdk_pixbuf_get_rowstride (_tmp21_); +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp23_ = _tmp22_; +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp24_ = i; +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp25_ = loaded_pixbuf; +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp26_ = gdk_pixbuf_get_n_channels (_tmp25_); +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp27_ = _tmp26_; +#line 120 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_index = (_tmp20_ * _tmp23_) + (_tmp24_ * _tmp27_); +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp28_ = pixel_data; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp28__length1 = pixel_data_length1; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp29_ = pixel_index; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp30_ = _tmp28_[_tmp29_]; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp31_ = pixel_data; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp31__length1 = pixel_data_length1; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp32_ = pixel_index; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp33_ = _tmp31_[_tmp32_ + 1]; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp34_ = pixel_data; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp34__length1 = pixel_data_length1; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp35_ = pixel_index; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp36_ = _tmp34_[_tmp35_ + 2]; +#line 122 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_analytic_pixel_init_from_quantized_components (&pixel_color, _tmp30_, _tmp33_, _tmp36_); +#line 125 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp37_ = colors; +#line 125 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp38_ = pixel_color; +#line 125 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), &_tmp38_); +#line 938 "CustomComponents.c" + } + } + } + } + } + } +#line 132 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp39_ = colors; +#line 132 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp40_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 132 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp41_ = _tmp40_; +#line 132 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp41_ != THEME_LOADER_NUM_SUPPORTED_INTENSITIES) { +#line 133 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_error ("CustomComponents.vala:133: %s", "ThemeLoader: load_icon: pixbuf does not contain the correct number " "of unique colors"); +#line 955 "CustomComponents.c" + } +#line 138 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp42_ = g_new0 (HSVAnalyticPixel, 6); +#line 138 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_pixels = _tmp42_; +#line 138 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_pixels_length1 = 6; +#line 138 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _hsv_pixels_size_ = hsv_pixels_length1; +#line 139 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_ticker = 0; +#line 967 "CustomComponents.c" + { + GeeIterator* _rgb_pixel_it = NULL; + GeeHashSet* _tmp43_ = NULL; + GeeIterator* _tmp44_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp43_ = colors; +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp44_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _rgb_pixel_it = _tmp44_; +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 980 "CustomComponents.c" + GeeIterator* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + RGBAnalyticPixel rgb_pixel = {0}; + GeeIterator* _tmp47_ = NULL; + gpointer _tmp48_ = NULL; + RGBAnalyticPixel* _tmp49_ = NULL; + RGBAnalyticPixel _tmp50_ = {0}; + HSVAnalyticPixel* _tmp51_ = NULL; + gint _tmp51__length1 = 0; + gint _tmp52_ = 0; + RGBAnalyticPixel _tmp53_ = {0}; + HSVAnalyticPixel _tmp54_ = {0}; + HSVAnalyticPixel _tmp55_ = {0}; +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp45_ = _rgb_pixel_it; +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp46_ = gee_iterator_next (_tmp45_); +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp46_) { +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 1002 "CustomComponents.c" + } +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp47_ = _rgb_pixel_it; +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp48_ = gee_iterator_get (_tmp47_); +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp49_ = (RGBAnalyticPixel*) _tmp48_; +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp50_ = *_tmp49_; +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _rgb_analytic_pixel_free0 (_tmp49_); +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_pixel = _tmp50_; +#line 141 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp51_ = hsv_pixels; +#line 141 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp51__length1 = hsv_pixels_length1; +#line 141 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp52_ = pixel_ticker; +#line 141 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_ticker = _tmp52_ + 1; +#line 141 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp53_ = rgb_pixel; +#line 141 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_analytic_pixel_init_from_rgb (&_tmp54_, &_tmp53_); +#line 141 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp51_[_tmp52_] = _tmp54_; +#line 141 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp55_ = _tmp51_[_tmp52_]; +#line 1032 "CustomComponents.c" + } +#line 140 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (_rgb_pixel_it); +#line 1036 "CustomComponents.c" + } +#line 142 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp56_ = hsv_pixels; +#line 142 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp56__length1 = hsv_pixels_length1; +#line 142 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp57_ = hsv_pixels; +#line 142 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp57__length1 = hsv_pixels_length1; +#line 142 "/home/jens/Source/shotwell/src/CustomComponents.vala" + qsort (_tmp56_, (gsize) _tmp57__length1, (gsize) sizeof (HSVAnalyticPixel), _theme_loader_hsv_pixel_compare_func_gcompare_func); +#line 1048 "CustomComponents.c" + { + gint j = 0; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + j = 0; +#line 1053 "CustomComponents.c" + { + gboolean _tmp58_ = FALSE; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp58_ = TRUE; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 1060 "CustomComponents.c" + gint _tmp60_ = 0; + GdkPixbuf* _tmp61_ = NULL; + gint _tmp62_ = 0; + gint _tmp63_ = 0; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp58_) { +#line 1067 "CustomComponents.c" + gint _tmp59_ = 0; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp59_ = j; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + j = _tmp59_ + 1; +#line 1073 "CustomComponents.c" + } +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp58_ = FALSE; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp60_ = j; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp61_ = loaded_pixbuf; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp62_ = gdk_pixbuf_get_height (_tmp61_); +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp63_ = _tmp62_; +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp60_ < _tmp63_)) { +#line 146 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 1089 "CustomComponents.c" + } + { + gint i = 0; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + i = 0; +#line 1095 "CustomComponents.c" + { + gboolean _tmp64_ = FALSE; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp64_ = TRUE; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 1102 "CustomComponents.c" + gint _tmp66_ = 0; + GdkPixbuf* _tmp67_ = NULL; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + gint pixel_index = 0; + gint _tmp70_ = 0; + GdkPixbuf* _tmp71_ = NULL; + gint _tmp72_ = 0; + gint _tmp73_ = 0; + gint _tmp74_ = 0; + GdkPixbuf* _tmp75_ = NULL; + gint _tmp76_ = 0; + gint _tmp77_ = 0; + RGBAnalyticPixel pixel_color = {0}; + guchar* _tmp78_ = NULL; + gint _tmp78__length1 = 0; + gint _tmp79_ = 0; + guchar _tmp80_ = '\0'; + guchar* _tmp81_ = NULL; + gint _tmp81__length1 = 0; + gint _tmp82_ = 0; + guchar _tmp83_ = '\0'; + guchar* _tmp84_ = NULL; + gint _tmp84__length1 = 0; + gint _tmp85_ = 0; + guchar _tmp86_ = '\0'; + HSVAnalyticPixel pixel_color_hsv = {0}; + RGBAnalyticPixel _tmp87_ = {0}; + gint this_intensity = 0; + guchar* _tmp98_ = NULL; + gint _tmp98__length1 = 0; + gint _tmp99_ = 0; + ThemeLoaderLightweightColor* _tmp100_ = NULL; + gint _tmp100__length1 = 0; + gint _tmp101_ = 0; + ThemeLoaderLightweightColor _tmp102_ = {0}; + guchar _tmp103_ = '\0'; + guchar _tmp104_ = '\0'; + guchar* _tmp105_ = NULL; + gint _tmp105__length1 = 0; + gint _tmp106_ = 0; + ThemeLoaderLightweightColor* _tmp107_ = NULL; + gint _tmp107__length1 = 0; + gint _tmp108_ = 0; + ThemeLoaderLightweightColor _tmp109_ = {0}; + guchar _tmp110_ = '\0'; + guchar _tmp111_ = '\0'; + guchar* _tmp112_ = NULL; + gint _tmp112__length1 = 0; + gint _tmp113_ = 0; + ThemeLoaderLightweightColor* _tmp114_ = NULL; + gint _tmp114__length1 = 0; + gint _tmp115_ = 0; + ThemeLoaderLightweightColor _tmp116_ = {0}; + guchar _tmp117_ = '\0'; + guchar _tmp118_ = '\0'; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp64_) { +#line 1161 "CustomComponents.c" + gint _tmp65_ = 0; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp65_ = i; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + i = _tmp65_ + 1; +#line 1167 "CustomComponents.c" + } +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp64_ = FALSE; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp66_ = i; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp67_ = loaded_pixbuf; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp68_ = gdk_pixbuf_get_width (_tmp67_); +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp69_ = _tmp68_; +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp66_ < _tmp69_)) { +#line 147 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 1183 "CustomComponents.c" + } +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp70_ = j; +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp71_ = loaded_pixbuf; +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp72_ = gdk_pixbuf_get_rowstride (_tmp71_); +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp73_ = _tmp72_; +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp74_ = i; +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp75_ = loaded_pixbuf; +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp76_ = gdk_pixbuf_get_n_channels (_tmp75_); +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp77_ = _tmp76_; +#line 148 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_index = (_tmp70_ * _tmp73_) + (_tmp74_ * _tmp77_); +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp78_ = pixel_data; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp78__length1 = pixel_data_length1; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp79_ = pixel_index; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp80_ = _tmp78_[_tmp79_]; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp81_ = pixel_data; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp81__length1 = pixel_data_length1; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp82_ = pixel_index; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp83_ = _tmp81_[_tmp82_ + 1]; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp84_ = pixel_data; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp84__length1 = pixel_data_length1; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp85_ = pixel_index; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp86_ = _tmp84_[_tmp85_ + 2]; +#line 149 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_analytic_pixel_init_from_quantized_components (&pixel_color, _tmp80_, _tmp83_, _tmp86_); +#line 152 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp87_ = pixel_color; +#line 152 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_analytic_pixel_init_from_rgb (&pixel_color_hsv, &_tmp87_); +#line 153 "/home/jens/Source/shotwell/src/CustomComponents.vala" + this_intensity = 0; +#line 1235 "CustomComponents.c" + { + gint k = 0; +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + k = 0; +#line 1240 "CustomComponents.c" + { + gboolean _tmp88_ = FALSE; +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp88_ = TRUE; +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 1247 "CustomComponents.c" + gint _tmp90_ = 0; + HSVAnalyticPixel* _tmp91_ = NULL; + gint _tmp91__length1 = 0; + gint _tmp92_ = 0; + HSVAnalyticPixel _tmp93_ = {0}; + gfloat _tmp94_ = 0.0F; + HSVAnalyticPixel _tmp95_ = {0}; + gfloat _tmp96_ = 0.0F; +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp88_) { +#line 1258 "CustomComponents.c" + gint _tmp89_ = 0; +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp89_ = k; +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + k = _tmp89_ + 1; +#line 1264 "CustomComponents.c" + } +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp88_ = FALSE; +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp90_ = k; +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp90_ < THEME_LOADER_NUM_SUPPORTED_INTENSITIES)) { +#line 154 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 1274 "CustomComponents.c" + } +#line 155 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp91_ = hsv_pixels; +#line 155 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp91__length1 = hsv_pixels_length1; +#line 155 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp92_ = k; +#line 155 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp93_ = _tmp91_[_tmp92_]; +#line 155 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp94_ = _tmp93_.light_value; +#line 155 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp95_ = pixel_color_hsv; +#line 155 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp96_ = _tmp95_.light_value; +#line 155 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp94_ == _tmp96_) { +#line 1292 "CustomComponents.c" + gint _tmp97_ = 0; +#line 156 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp97_ = k; +#line 156 "/home/jens/Source/shotwell/src/CustomComponents.vala" + this_intensity = _tmp97_; +#line 157 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 1300 "CustomComponents.c" + } + } + } + } +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp98_ = pixel_data; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp98__length1 = pixel_data_length1; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp99_ = pixel_index; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp100_ = theme_loader_theme_colors; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp100__length1 = theme_loader_theme_colors_length1; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp101_ = this_intensity; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp102_ = _tmp100_[_tmp101_]; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp103_ = _tmp102_.red; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp98_[_tmp99_] = _tmp103_; +#line 160 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp104_ = _tmp98_[_tmp99_]; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp105_ = pixel_data; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp105__length1 = pixel_data_length1; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp106_ = pixel_index; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp107_ = theme_loader_theme_colors; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp107__length1 = theme_loader_theme_colors_length1; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp108_ = this_intensity; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp109_ = _tmp107_[_tmp108_]; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp110_ = _tmp109_.green; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp105_[_tmp106_ + 1] = _tmp110_; +#line 161 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp111_ = _tmp105_[_tmp106_ + 1]; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp112_ = pixel_data; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp112__length1 = pixel_data_length1; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp113_ = pixel_index; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp114_ = theme_loader_theme_colors; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp114__length1 = theme_loader_theme_colors_length1; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp115_ = this_intensity; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp116_ = _tmp114_[_tmp115_]; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp117_ = _tmp116_.blue; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp112_[_tmp113_ + 2] = _tmp117_; +#line 162 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp118_ = _tmp112_[_tmp113_ + 2]; +#line 1365 "CustomComponents.c" + } + } + } + } + } + } +#line 166 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = loaded_pixbuf; +#line 166 "/home/jens/Source/shotwell/src/CustomComponents.vala" + hsv_pixels = (g_free (hsv_pixels), NULL); +#line 166 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (colors); +#line 166 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1380 "CustomComponents.c" +} + + +static gint theme_loader_hsv_pixel_compare_func (void* pixval1, void* pixval2) { + gint result = 0; + HSVAnalyticPixel pixel_val_1 = {0}; + void* _tmp0_ = NULL; + HSVAnalyticPixel pixel_val_2 = {0}; + void* _tmp1_ = NULL; + HSVAnalyticPixel _tmp2_ = {0}; + gfloat _tmp3_ = 0.0F; + HSVAnalyticPixel _tmp4_ = {0}; + gfloat _tmp5_ = 0.0F; +#line 170 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = pixval1; +#line 170 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_val_1 = *((HSVAnalyticPixel*) _tmp0_); +#line 171 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = pixval2; +#line 171 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_val_2 = *((HSVAnalyticPixel*) _tmp1_); +#line 173 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = pixel_val_1; +#line 173 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = _tmp2_.light_value; +#line 173 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = pixel_val_2; +#line 173 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = _tmp4_.light_value; +#line 173 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = (gint) (255.0f * (_tmp3_ - _tmp5_)); +#line 173 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1414 "CustomComponents.c" +} + + +static gboolean theme_loader_rgb_pixel_equal_func (RGBAnalyticPixel* p1, RGBAnalyticPixel* p2) { + gboolean result = FALSE; + RGBAnalyticPixel* _tmp0_ = NULL; + RGBAnalyticPixel* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = p1; +#line 177 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = p2; +#line 177 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = rgb_analytic_pixel_equals (_tmp0_, _tmp1_); +#line 177 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = _tmp2_; +#line 177 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1433 "CustomComponents.c" +} + + +static guint theme_loader_rgb_pixel_hash_func (RGBAnalyticPixel* pixel_val) { + guint result = 0U; + RGBAnalyticPixel* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 181 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = pixel_val; +#line 181 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = rgb_analytic_pixel_hash_code (_tmp0_); +#line 181 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = _tmp1_; +#line 181 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1449 "CustomComponents.c" +} + + +ThemeLoader* theme_loader_construct (GType object_type) { + ThemeLoader* self = NULL; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self = (ThemeLoader*) g_type_create_instance (object_type); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return self; +#line 1459 "CustomComponents.c" +} + + +ThemeLoader* theme_loader_new (void) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return theme_loader_construct (TYPE_THEME_LOADER); +#line 1466 "CustomComponents.c" +} + + +static void theme_loader_lightweight_color_init (ThemeLoaderLightweightColor *self) { + guchar _tmp0_ = '\0'; + guchar _tmp1_ = '\0'; +#line 15 "/home/jens/Source/shotwell/src/CustomComponents.vala" + memset (self, 0, sizeof (ThemeLoaderLightweightColor)); +#line 16 "/home/jens/Source/shotwell/src/CustomComponents.vala" + (*self).blue = (guchar) 0; +#line 16 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = (*self).blue; +#line 16 "/home/jens/Source/shotwell/src/CustomComponents.vala" + (*self).green = _tmp0_; +#line 16 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = (*self).green; +#line 16 "/home/jens/Source/shotwell/src/CustomComponents.vala" + (*self).red = _tmp1_; +#line 1485 "CustomComponents.c" +} + + +static ThemeLoaderLightweightColor* theme_loader_lightweight_color_dup (const ThemeLoaderLightweightColor* self) { + ThemeLoaderLightweightColor* dup; +#line 10 "/home/jens/Source/shotwell/src/CustomComponents.vala" + dup = g_new0 (ThemeLoaderLightweightColor, 1); +#line 10 "/home/jens/Source/shotwell/src/CustomComponents.vala" + memcpy (dup, self, sizeof (ThemeLoaderLightweightColor)); +#line 10 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return dup; +#line 1497 "CustomComponents.c" +} + + +static void theme_loader_lightweight_color_free (ThemeLoaderLightweightColor* self) { +#line 10 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_free (self); +#line 1504 "CustomComponents.c" +} + + +static GType theme_loader_lightweight_color_get_type (void) { + static volatile gsize theme_loader_lightweight_color_type_id__volatile = 0; + if (g_once_init_enter (&theme_loader_lightweight_color_type_id__volatile)) { + GType theme_loader_lightweight_color_type_id; + theme_loader_lightweight_color_type_id = g_boxed_type_register_static ("ThemeLoaderLightweightColor", (GBoxedCopyFunc) theme_loader_lightweight_color_dup, (GBoxedFreeFunc) theme_loader_lightweight_color_free); + g_once_init_leave (&theme_loader_lightweight_color_type_id__volatile, theme_loader_lightweight_color_type_id); + } + return theme_loader_lightweight_color_type_id__volatile; +} + + +static void value_theme_loader_init (GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + value->data[0].v_pointer = NULL; +#line 1522 "CustomComponents.c" +} + + +static void value_theme_loader_free_value (GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_unref (value->data[0].v_pointer); +#line 1531 "CustomComponents.c" + } +} + + +static void value_theme_loader_copy_value (const GValue* src_value, GValue* dest_value) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (src_value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + dest_value->data[0].v_pointer = theme_loader_ref (src_value->data[0].v_pointer); +#line 1541 "CustomComponents.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + dest_value->data[0].v_pointer = NULL; +#line 1545 "CustomComponents.c" + } +} + + +static gpointer value_theme_loader_peek_pointer (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return value->data[0].v_pointer; +#line 1553 "CustomComponents.c" +} + + +static gchar* value_theme_loader_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (collect_values[0].v_pointer) { +#line 1560 "CustomComponents.c" + ThemeLoader* object; + object = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (object->parent_instance.g_class == NULL) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1567 "CustomComponents.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1571 "CustomComponents.c" + } +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + value->data[0].v_pointer = theme_loader_ref (object); +#line 1575 "CustomComponents.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + value->data[0].v_pointer = NULL; +#line 1579 "CustomComponents.c" + } +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return NULL; +#line 1583 "CustomComponents.c" +} + + +static gchar* value_theme_loader_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ThemeLoader** object_p; + object_p = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!object_p) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1594 "CustomComponents.c" + } +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + *object_p = NULL; +#line 1600 "CustomComponents.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + *object_p = value->data[0].v_pointer; +#line 1604 "CustomComponents.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + *object_p = theme_loader_ref (value->data[0].v_pointer); +#line 1608 "CustomComponents.c" + } +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return NULL; +#line 1612 "CustomComponents.c" +} + + +GParamSpec* param_spec_theme_loader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecThemeLoader* spec; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_THEME_LOADER), NULL); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return G_PARAM_SPEC (spec); +#line 1626 "CustomComponents.c" +} + + +gpointer value_get_theme_loader (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_THEME_LOADER), NULL); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return value->data[0].v_pointer; +#line 1635 "CustomComponents.c" +} + + +void value_set_theme_loader (GValue* value, gpointer v_object) { + ThemeLoader* old; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_THEME_LOADER)); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_THEME_LOADER)); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + value->data[0].v_pointer = v_object; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_ref (value->data[0].v_pointer); +#line 1655 "CustomComponents.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + value->data[0].v_pointer = NULL; +#line 1659 "CustomComponents.c" + } +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_unref (old); +#line 1665 "CustomComponents.c" + } +} + + +void value_take_theme_loader (GValue* value, gpointer v_object) { + ThemeLoader* old; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_THEME_LOADER)); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_THEME_LOADER)); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + value->data[0].v_pointer = v_object; +#line 1684 "CustomComponents.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + value->data[0].v_pointer = NULL; +#line 1688 "CustomComponents.c" + } +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_unref (old); +#line 1694 "CustomComponents.c" + } +} + + +static void theme_loader_class_init (ThemeLoaderClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + theme_loader_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + ((ThemeLoaderClass *) klass)->finalize = theme_loader_finalize; +#line 1704 "CustomComponents.c" +} + + +static void theme_loader_instance_init (ThemeLoader * self) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->ref_count = 1; +#line 1711 "CustomComponents.c" +} + + +static void theme_loader_finalize (ThemeLoader* obj) { + ThemeLoader * self; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_THEME_LOADER, ThemeLoader); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_signal_handlers_destroy (self); +#line 1721 "CustomComponents.c" +} + + +GType theme_loader_get_type (void) { + static volatile gsize theme_loader_type_id__volatile = 0; + if (g_once_init_enter (&theme_loader_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_theme_loader_init, value_theme_loader_free_value, value_theme_loader_copy_value, value_theme_loader_peek_pointer, "p", value_theme_loader_collect_value, "p", value_theme_loader_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ThemeLoaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) theme_loader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThemeLoader), 0, (GInstanceInitFunc) theme_loader_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType theme_loader_type_id; + theme_loader_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ThemeLoader", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&theme_loader_type_id__volatile, theme_loader_type_id); + } + return theme_loader_type_id__volatile; +} + + +gpointer theme_loader_ref (gpointer instance) { + ThemeLoader* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_atomic_int_inc (&self->ref_count); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return instance; +#line 1746 "CustomComponents.c" +} + + +void theme_loader_unref (gpointer instance) { + ThemeLoader* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + THEME_LOADER_GET_CLASS (self)->finalize (self); +#line 9 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1759 "CustomComponents.c" + } +} + + +static GType rgb_histogram_manipulator_location_code_get_type (void) { + static volatile gsize rgb_histogram_manipulator_location_code_type_id__volatile = 0; + if (g_once_init_enter (&rgb_histogram_manipulator_location_code_type_id__volatile)) { + static const GEnumValue values[] = {{RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_NUB, "RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_NUB", "left-nub"}, {RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_NUB, "RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_NUB", "right-nub"}, {RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_TROUGH, "RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_TROUGH", "left-trough"}, {RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_TROUGH, "RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_TROUGH", "right-trough"}, {RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_INSENSITIVE_AREA, "RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_INSENSITIVE_AREA", "insensitive-area"}, {0, NULL, NULL}}; + GType rgb_histogram_manipulator_location_code_type_id; + rgb_histogram_manipulator_location_code_type_id = g_enum_register_static ("RGBHistogramManipulatorLocationCode", values); + g_once_init_leave (&rgb_histogram_manipulator_location_code_type_id__volatile, rgb_histogram_manipulator_location_code_type_id); + } + return rgb_histogram_manipulator_location_code_type_id__volatile; +} + + +static gboolean _rgb_histogram_manipulator_on_button_press_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = rgb_histogram_manipulator_on_button_press ((RGBHistogramManipulator*) self, event); +#line 240 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1781 "CustomComponents.c" +} + + +static gboolean _rgb_histogram_manipulator_on_button_release_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = rgb_histogram_manipulator_on_button_release ((RGBHistogramManipulator*) self, event); +#line 241 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1790 "CustomComponents.c" +} + + +static gboolean _rgb_histogram_manipulator_on_button_motion_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self) { + gboolean result; + result = rgb_histogram_manipulator_on_button_motion ((RGBHistogramManipulator*) self, event); +#line 242 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1799 "CustomComponents.c" +} + + +RGBHistogramManipulator* rgb_histogram_manipulator_construct (GType object_type) { + RGBHistogramManipulator * self = NULL; + GtkWidget* _tmp0_ = NULL; + GtkWidget* _tmp2_ = NULL; + gboolean _tmp4_ = FALSE; +#line 216 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self = (RGBHistogramManipulator*) g_object_new (object_type, NULL); +#line 217 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), RGB_HISTOGRAM_MANIPULATOR_CONTROL_WIDTH, RGB_HISTOGRAM_MANIPULATOR_CONTROL_HEIGHT); +#line 219 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = rgb_histogram_manipulator_dummy_slider; +#line 219 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp0_ == NULL) { +#line 1816 "CustomComponents.c" + GtkScale* _tmp1_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = (GtkScale*) gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, NULL); +#line 220 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_object_ref_sink (_tmp1_); +#line 220 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (rgb_histogram_manipulator_dummy_slider); +#line 220 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_dummy_slider = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget); +#line 1826 "CustomComponents.c" + } +#line 222 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = rgb_histogram_manipulator_dummy_frame; +#line 222 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp2_ == NULL) { +#line 1832 "CustomComponents.c" + GtkFrame* _tmp3_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = (GtkFrame*) gtk_frame_new (NULL); +#line 223 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_object_ref_sink (_tmp3_); +#line 223 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (rgb_histogram_manipulator_dummy_frame); +#line 223 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_dummy_frame = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget); +#line 1842 "CustomComponents.c" + } +#line 225 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = rgb_histogram_manipulator_paths_setup; +#line 225 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp4_) { +#line 1848 "CustomComponents.c" + GtkWidgetPath* _tmp5_ = NULL; + GtkWidgetPath* _tmp6_ = NULL; + GtkWidgetPath* _tmp7_ = NULL; + GtkWidgetPath* _tmp8_ = NULL; + GtkWidgetPath* _tmp9_ = NULL; +#line 226 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = rgb_histogram_manipulator_slider_draw_path; +#line 226 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_append_type (_tmp5_, gtk_scale_get_type ()); +#line 227 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = rgb_histogram_manipulator_slider_draw_path; +#line 227 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_iter_add_class (_tmp6_, 0, "scale"); +#line 228 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = rgb_histogram_manipulator_slider_draw_path; +#line 228 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_iter_add_class (_tmp7_, 0, "range"); +#line 230 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = rgb_histogram_manipulator_frame_draw_path; +#line 230 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_append_type (_tmp8_, gtk_frame_get_type ()); +#line 231 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = rgb_histogram_manipulator_frame_draw_path; +#line 231 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_iter_add_class (_tmp9_, 0, "default"); +#line 233 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_paths_setup = TRUE; +#line 1876 "CustomComponents.c" + } +#line 236 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_add_events (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), (gint) GDK_BUTTON_PRESS_MASK); +#line 237 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_add_events (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), (gint) GDK_BUTTON_RELEASE_MASK); +#line 238 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_add_events (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), (gint) GDK_BUTTON_MOTION_MASK); +#line 240 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _rgb_histogram_manipulator_on_button_press_gtk_widget_button_press_event, self, 0); +#line 241 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "button-release-event", (GCallback) _rgb_histogram_manipulator_on_button_release_gtk_widget_button_release_event, self, 0); +#line 242 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "motion-notify-event", (GCallback) _rgb_histogram_manipulator_on_button_motion_gtk_widget_motion_notify_event, self, 0); +#line 216 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return self; +#line 1892 "CustomComponents.c" +} + + +RGBHistogramManipulator* rgb_histogram_manipulator_new (void) { +#line 216 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return rgb_histogram_manipulator_construct (TYPE_RGB_HISTOGRAM_MANIPULATOR); +#line 1899 "CustomComponents.c" +} + + +static RGBHistogramManipulatorLocationCode rgb_histogram_manipulator_hit_test_point (RGBHistogramManipulator* self, gint x, gint y) { + RGBHistogramManipulatorLocationCode result = 0; + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean _tmp6_ = FALSE; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 245 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self), 0); +#line 246 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = y; +#line 246 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp0_ < RGB_HISTOGRAM_MANIPULATOR_NUB_V_POSITION) { +#line 247 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_INSENSITIVE_AREA; +#line 247 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1931 "CustomComponents.c" + } +#line 249 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = x; +#line 249 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = self->priv->left_nub_position; +#line 249 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp2_ > _tmp3_) { +#line 1939 "CustomComponents.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 249 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = x; +#line 249 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = self->priv->left_nub_position; +#line 249 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = _tmp4_ < (_tmp5_ + RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE); +#line 1948 "CustomComponents.c" + } else { +#line 249 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = FALSE; +#line 1952 "CustomComponents.c" + } +#line 249 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp1_) { +#line 250 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_NUB; +#line 250 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1960 "CustomComponents.c" + } +#line 252 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = x; +#line 252 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = self->priv->right_nub_position; +#line 252 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp7_ > _tmp8_) { +#line 1968 "CustomComponents.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 252 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = x; +#line 252 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = self->priv->right_nub_position; +#line 252 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = _tmp9_ < (_tmp10_ + RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE); +#line 1977 "CustomComponents.c" + } else { +#line 252 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = FALSE; +#line 1981 "CustomComponents.c" + } +#line 252 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp6_) { +#line 253 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_NUB; +#line 253 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1989 "CustomComponents.c" + } +#line 255 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp11_ = y; +#line 255 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp11_ < ((RGB_HISTOGRAM_MANIPULATOR_NUB_V_POSITION + RGB_HISTOGRAM_MANIPULATOR_NUB_V_NUDGE) + 1)) { +#line 256 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_INSENSITIVE_AREA; +#line 256 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 1999 "CustomComponents.c" + } +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp12_ = x; +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = self->priv->left_nub_position; +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = x; +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp15_ = self->priv->left_nub_position; +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp16_ = x; +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp17_ = self->priv->right_nub_position; +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp18_ = x; +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp19_ = self->priv->right_nub_position; +#line 258 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (((_tmp12_ - _tmp13_) * (_tmp14_ - _tmp15_)) < ((_tmp16_ - _tmp17_) * (_tmp18_ - _tmp19_))) { +#line 260 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_TROUGH; +#line 260 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2023 "CustomComponents.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_TROUGH; +#line 262 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2029 "CustomComponents.c" + } +} + + +static gboolean rgb_histogram_manipulator_on_button_press (RGBHistogramManipulator* self, GdkEventButton* event_record) { + gboolean result = FALSE; + RGBHistogramManipulatorLocationCode loc = 0; + GdkEventButton* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + GdkEventButton* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + RGBHistogramManipulatorLocationCode _tmp4_ = 0; + RGBHistogramManipulatorLocationCode _tmp5_ = 0; +#line 265 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self), FALSE); +#line 265 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (event_record != NULL, FALSE); +#line 266 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = event_record; +#line 266 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = _tmp0_->x; +#line 266 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = event_record; +#line 266 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = _tmp2_->y; +#line 266 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = rgb_histogram_manipulator_hit_test_point (self, (gint) _tmp1_, (gint) _tmp3_); +#line 266 "/home/jens/Source/shotwell/src/CustomComponents.vala" + loc = _tmp4_; +#line 268 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = loc; +#line 268 "/home/jens/Source/shotwell/src/CustomComponents.vala" + switch (_tmp5_) { +#line 268 "/home/jens/Source/shotwell/src/CustomComponents.vala" + case RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_NUB: +#line 2065 "CustomComponents.c" + { + GdkEventButton* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + gint _tmp8_ = 0; +#line 270 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = event_record; +#line 270 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = _tmp6_->x; +#line 270 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->track_start_x = (gint) _tmp7_; +#line 271 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = self->priv->left_nub_position; +#line 271 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->track_nub_start_position = _tmp8_; +#line 272 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->is_left_nub_tracking = TRUE; +#line 273 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = TRUE; +#line 273 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2086 "CustomComponents.c" + } +#line 268 "/home/jens/Source/shotwell/src/CustomComponents.vala" + case RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_NUB: +#line 2090 "CustomComponents.c" + { + GdkEventButton* _tmp9_ = NULL; + gdouble _tmp10_ = 0.0; + gint _tmp11_ = 0; +#line 276 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = event_record; +#line 276 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = _tmp9_->x; +#line 276 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->track_start_x = (gint) _tmp10_; +#line 277 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp11_ = self->priv->right_nub_position; +#line 277 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->track_nub_start_position = _tmp11_; +#line 278 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->is_right_nub_tracking = TRUE; +#line 279 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = TRUE; +#line 279 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2111 "CustomComponents.c" + } +#line 268 "/home/jens/Source/shotwell/src/CustomComponents.vala" + case RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_LEFT_TROUGH: +#line 2115 "CustomComponents.c" + { + GdkEventButton* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 282 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp12_ = event_record; +#line 282 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = _tmp12_->x; +#line 282 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->left_nub_position = ((gint) _tmp13_) - RGB_HISTOGRAM_MANIPULATOR_NUB_HALF_WIDTH; +#line 283 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = self->priv->left_nub_position; +#line 283 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp15_ = self->priv->left_nub_max; +#line 283 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp16_ = CLAMP (_tmp14_, 0, _tmp15_); +#line 283 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->left_nub_position = _tmp16_; +#line 284 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_force_update (self); +#line 285 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_signal_emit_by_name (self, "nub-position-changed"); +#line 286 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_update_nub_extrema (self); +#line 287 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = TRUE; +#line 287 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2146 "CustomComponents.c" + } +#line 268 "/home/jens/Source/shotwell/src/CustomComponents.vala" + case RGB_HISTOGRAM_MANIPULATOR_LOCATION_CODE_RIGHT_TROUGH: +#line 2150 "CustomComponents.c" + { + GdkEventButton* _tmp17_ = NULL; + gdouble _tmp18_ = 0.0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 290 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp17_ = event_record; +#line 290 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp18_ = _tmp17_->x; +#line 290 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->right_nub_position = ((gint) _tmp18_) - RGB_HISTOGRAM_MANIPULATOR_NUB_HALF_WIDTH; +#line 291 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp19_ = self->priv->right_nub_position; +#line 291 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp20_ = self->priv->right_nub_min; +#line 291 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp21_ = CLAMP (_tmp19_, _tmp20_, 255); +#line 291 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->right_nub_position = _tmp21_; +#line 292 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_force_update (self); +#line 293 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_signal_emit_by_name (self, "nub-position-changed"); +#line 294 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_update_nub_extrema (self); +#line 295 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = TRUE; +#line 295 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2181 "CustomComponents.c" + } + default: + { +#line 298 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = FALSE; +#line 298 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2189 "CustomComponents.c" + } + } +} + + +static gboolean rgb_histogram_manipulator_on_button_release (RGBHistogramManipulator* self, GdkEventButton* event_record) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 302 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self), FALSE); +#line 302 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (event_record != NULL, FALSE); +#line 303 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = self->priv->is_left_nub_tracking; +#line 303 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp1_) { +#line 303 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = TRUE; +#line 2209 "CustomComponents.c" + } else { + gboolean _tmp2_ = FALSE; +#line 303 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = self->priv->is_right_nub_tracking; +#line 303 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = _tmp2_; +#line 2216 "CustomComponents.c" + } +#line 303 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp0_) { +#line 304 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_signal_emit_by_name (self, "nub-position-changed"); +#line 305 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_update_nub_extrema (self); +#line 2224 "CustomComponents.c" + } +#line 308 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->is_left_nub_tracking = FALSE; +#line 309 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->is_right_nub_tracking = FALSE; +#line 311 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = FALSE; +#line 311 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2234 "CustomComponents.c" +} + + +static gboolean rgb_histogram_manipulator_on_button_motion (RGBHistogramManipulator* self, GdkEventMotion* event_record) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 314 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self), FALSE); +#line 314 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (event_record != NULL, FALSE); +#line 315 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = self->priv->is_left_nub_tracking; +#line 315 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp1_) { +#line 2251 "CustomComponents.c" + gboolean _tmp2_ = FALSE; +#line 315 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = self->priv->is_right_nub_tracking; +#line 315 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = !_tmp2_; +#line 2257 "CustomComponents.c" + } else { +#line 315 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = FALSE; +#line 2261 "CustomComponents.c" + } +#line 315 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp0_) { +#line 316 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = FALSE; +#line 316 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2269 "CustomComponents.c" + } +#line 318 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = self->priv->is_left_nub_tracking; +#line 318 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp3_) { +#line 2275 "CustomComponents.c" + gint track_x_delta = 0; + GdkEventMotion* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 319 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = event_record; +#line 319 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = _tmp4_->x; +#line 319 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = self->priv->track_start_x; +#line 319 "/home/jens/Source/shotwell/src/CustomComponents.vala" + track_x_delta = ((gint) _tmp5_) - _tmp6_; +#line 320 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = self->priv->track_nub_start_position; +#line 320 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = track_x_delta; +#line 320 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->left_nub_position = _tmp7_ + _tmp8_; +#line 321 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = self->priv->left_nub_position; +#line 321 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = self->priv->left_nub_max; +#line 321 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp11_ = CLAMP (_tmp9_, 0, _tmp10_); +#line 321 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->left_nub_position = _tmp11_; +#line 2307 "CustomComponents.c" + } else { + gint track_x_delta = 0; + GdkEventMotion* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 323 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp12_ = event_record; +#line 323 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = _tmp12_->x; +#line 323 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = self->priv->track_start_x; +#line 323 "/home/jens/Source/shotwell/src/CustomComponents.vala" + track_x_delta = ((gint) _tmp13_) - _tmp14_; +#line 324 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp15_ = self->priv->track_nub_start_position; +#line 324 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp16_ = track_x_delta; +#line 324 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->right_nub_position = _tmp15_ + _tmp16_; +#line 325 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp17_ = self->priv->right_nub_position; +#line 325 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp18_ = self->priv->right_nub_min; +#line 325 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp19_ = CLAMP (_tmp17_, _tmp18_, 255); +#line 325 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->right_nub_position = _tmp19_; +#line 2340 "CustomComponents.c" + } +#line 328 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_force_update (self); +#line 329 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = TRUE; +#line 329 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2348 "CustomComponents.c" +} + + +static gboolean rgb_histogram_manipulator_real_draw (GtkWidget* base, cairo_t* ctx) { + RGBHistogramManipulator * self; + gboolean result = FALSE; + GtkBorder padding = {0}; + GtkStyleContext* _tmp0_ = NULL; + GtkBorder _tmp1_ = {0}; + GdkRectangle area = {0}; + GtkBorder _tmp2_ = {0}; + gint16 _tmp3_ = 0; + GtkBorder _tmp4_ = {0}; + gint16 _tmp5_ = 0; + GtkBorder _tmp6_ = {0}; + gint16 _tmp7_ = 0; + GtkBorder _tmp8_ = {0}; + gint16 _tmp9_ = 0; + cairo_t* _tmp10_ = NULL; + GdkRectangle _tmp11_ = {0}; + cairo_t* _tmp12_ = NULL; + GdkRectangle _tmp13_ = {0}; + cairo_t* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + cairo_t* _tmp16_ = NULL; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + cairo_t* _tmp19_ = NULL; + GdkRectangle _tmp20_ = {0}; + gint _tmp21_ = 0; +#line 332 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulator); +#line 332 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (ctx != NULL, FALSE); +#line 333 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 333 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_style_context_get_padding (_tmp0_, GTK_STATE_FLAG_NORMAL, &_tmp1_); +#line 333 "/home/jens/Source/shotwell/src/CustomComponents.vala" + padding = _tmp1_; +#line 335 "/home/jens/Source/shotwell/src/CustomComponents.vala" + memset (&area, 0, sizeof (GdkRectangle)); +#line 336 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = padding; +#line 336 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = _tmp2_.left; +#line 336 "/home/jens/Source/shotwell/src/CustomComponents.vala" + area.x = (gint) _tmp3_; +#line 337 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = padding; +#line 337 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = _tmp4_.top; +#line 337 "/home/jens/Source/shotwell/src/CustomComponents.vala" + area.y = (gint) _tmp5_; +#line 338 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = padding; +#line 338 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = _tmp6_.right; +#line 338 "/home/jens/Source/shotwell/src/CustomComponents.vala" + area.width = RGB_HISTOGRAM_GRAPHIC_WIDTH + _tmp7_; +#line 339 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = padding; +#line 339 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = _tmp8_.bottom; +#line 339 "/home/jens/Source/shotwell/src/CustomComponents.vala" + area.height = RGB_HISTOGRAM_GRAPHIC_HEIGHT + _tmp9_; +#line 341 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = ctx; +#line 341 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp11_ = area; +#line 341 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_draw_histogram_frame (self, _tmp10_, &_tmp11_); +#line 342 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp12_ = ctx; +#line 342 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = area; +#line 342 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_draw_histogram (self, _tmp12_, &_tmp13_); +#line 343 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = ctx; +#line 343 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp15_ = area; +#line 343 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_draw_trough (self, _tmp14_, &_tmp15_); +#line 344 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp16_ = ctx; +#line 344 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp17_ = area; +#line 344 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp18_ = self->priv->left_nub_position; +#line 344 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_draw_nub (self, _tmp16_, &_tmp17_, _tmp18_); +#line 345 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp19_ = ctx; +#line 345 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp20_ = area; +#line 345 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp21_ = self->priv->right_nub_position; +#line 345 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_draw_nub (self, _tmp19_, &_tmp20_, _tmp21_); +#line 347 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = TRUE; +#line 347 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 2453 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_draw_histogram_frame (RGBHistogramManipulator* self, cairo_t* ctx, GdkRectangle* area) { + GdkRectangle framed_area = {0}; + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GtkStyleContext* stylectx = NULL; + GtkWidget* _tmp5_ = NULL; + GtkStyleContext* _tmp6_ = NULL; + GtkStyleContext* _tmp7_ = NULL; + GtkWidgetPath* _tmp8_ = NULL; + GtkWidgetPath* _tmp9_ = NULL; + cairo_t* _tmp10_ = NULL; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkRectangle _tmp13_ = {0}; + gint _tmp14_ = 0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; +#line 350 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 350 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (ctx != NULL); +#line 350 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (area != NULL); +#line 353 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = *area; +#line 353 "/home/jens/Source/shotwell/src/CustomComponents.vala" + framed_area = _tmp0_; +#line 354 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = framed_area.x; +#line 354 "/home/jens/Source/shotwell/src/CustomComponents.vala" + framed_area.x = _tmp1_ + 5; +#line 355 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = framed_area.y; +#line 355 "/home/jens/Source/shotwell/src/CustomComponents.vala" + framed_area.y = _tmp2_ + 1; +#line 356 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = framed_area.width; +#line 356 "/home/jens/Source/shotwell/src/CustomComponents.vala" + framed_area.width = _tmp3_ - 8; +#line 357 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = framed_area.height; +#line 357 "/home/jens/Source/shotwell/src/CustomComponents.vala" + framed_area.height = _tmp4_ - 12; +#line 359 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = rgb_histogram_manipulator_dummy_frame; +#line 359 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = gtk_widget_get_style_context (_tmp5_); +#line 359 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 359 "/home/jens/Source/shotwell/src/CustomComponents.vala" + stylectx = _tmp7_; +#line 360 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_style_context_save (stylectx); +#line 362 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = gtk_style_context_get_path (stylectx); +#line 362 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_append_type (_tmp8_, gtk_frame_get_type ()); +#line 363 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = gtk_style_context_get_path (stylectx); +#line 363 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_iter_add_class (_tmp9_, 0, "default"); +#line 364 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_style_context_add_class (stylectx, GTK_STYLE_CLASS_TROUGH); +#line 365 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_style_context_set_junction_sides (stylectx, ((GTK_JUNCTION_TOP | GTK_JUNCTION_BOTTOM) | GTK_JUNCTION_LEFT) | GTK_JUNCTION_RIGHT); +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = ctx; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp11_ = framed_area; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp12_ = _tmp11_.x; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = framed_area; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = _tmp13_.y; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp15_ = framed_area; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp16_ = _tmp15_.width; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp17_ = framed_area; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp18_ = _tmp17_.height; +#line 368 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_render_frame (stylectx, _tmp10_, (gdouble) _tmp12_, (gdouble) _tmp14_, (gdouble) _tmp16_, (gdouble) _tmp18_); +#line 371 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_style_context_restore (stylectx); +#line 350 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (stylectx); +#line 2551 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_draw_histogram (RGBHistogramManipulator* self, cairo_t* ctx, GdkRectangle* area) { + RGBHistogram* _tmp0_ = NULL; + GdkPixbuf* histogram_graphic = NULL; + RGBHistogram* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + guchar* pixel_data = NULL; + GdkPixbuf* _tmp6_ = NULL; + guint8* _tmp7_ = NULL; + gint pixel_data_length1 = 0; + gint _pixel_data_size_ = 0; + gint edge_blend_red = 0; + gint edge_blend_green = 0; + gint edge_blend_blue = 0; + gint body_blend_red = 0; + gint body_blend_green = 0; + gint body_blend_blue = 0; + gint _tmp8_ = 0; + gint _tmp80_ = 0; + cairo_t* _tmp158_ = NULL; + GdkPixbuf* _tmp159_ = NULL; + GdkRectangle _tmp160_ = {0}; + gint _tmp161_ = 0; + GdkRectangle _tmp162_ = {0}; + gint _tmp163_ = 0; + cairo_t* _tmp164_ = NULL; +#line 374 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 374 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (ctx != NULL); +#line 374 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (area != NULL); +#line 375 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = self->priv->histogram; +#line 375 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp0_ == NULL) { +#line 376 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return; +#line 2595 "CustomComponents.c" + } +#line 378 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = self->priv->histogram; +#line 378 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = rgb_histogram_get_graphic (_tmp1_); +#line 378 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = _tmp2_; +#line 378 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = gdk_pixbuf_copy (_tmp3_); +#line 378 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = _tmp4_; +#line 378 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (_tmp3_); +#line 378 "/home/jens/Source/shotwell/src/CustomComponents.vala" + histogram_graphic = _tmp5_; +#line 379 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = histogram_graphic; +#line 379 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = gdk_pixbuf_get_pixels (_tmp6_); +#line 379 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_data = _tmp7_; +#line 379 "/home/jens/Source/shotwell/src/CustomComponents.vala" + pixel_data_length1 = -1; +#line 379 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _pixel_data_size_ = pixel_data_length1; +#line 381 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_blend_red = 0; +#line 382 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_blend_green = 0; +#line 383 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_blend_blue = 0; +#line 384 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_blend_red = 20; +#line 385 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_blend_green = 20; +#line 386 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_blend_blue = 20; +#line 388 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = self->priv->left_nub_position; +#line 388 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp8_ > 0) { +#line 2637 "CustomComponents.c" + gint edge_pixel_index = 0; + GdkPixbuf* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 389 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = histogram_graphic; +#line 389 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp10_ = gdk_pixbuf_get_n_channels (_tmp9_); +#line 389 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp11_ = _tmp10_; +#line 389 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp12_ = self->priv->left_nub_position; +#line 389 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_pixel_index = _tmp11_ * _tmp12_; +#line 2653 "CustomComponents.c" + { + gint i = 0; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + i = 0; +#line 2658 "CustomComponents.c" + { + gboolean _tmp13_ = FALSE; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = TRUE; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 2665 "CustomComponents.c" + gint _tmp15_ = 0; + GdkPixbuf* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint body_pixel_index = 0; + gint _tmp19_ = 0; + GdkPixbuf* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint row_last_pixel = 0; + gint _tmp23_ = 0; + GdkPixbuf* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + guchar* _tmp55_ = NULL; + gint _tmp55__length1 = 0; + gint _tmp56_ = 0; + guchar* _tmp57_ = NULL; + gint _tmp57__length1 = 0; + gint _tmp58_ = 0; + guchar _tmp59_ = '\0'; + gint _tmp60_ = 0; + guchar _tmp61_ = '\0'; + guchar* _tmp62_ = NULL; + gint _tmp62__length1 = 0; + gint _tmp63_ = 0; + guchar* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gint _tmp65_ = 0; + guchar _tmp66_ = '\0'; + gint _tmp67_ = 0; + guchar _tmp68_ = '\0'; + guchar* _tmp69_ = NULL; + gint _tmp69__length1 = 0; + gint _tmp70_ = 0; + guchar* _tmp71_ = NULL; + gint _tmp71__length1 = 0; + gint _tmp72_ = 0; + guchar _tmp73_ = '\0'; + gint _tmp74_ = 0; + guchar _tmp75_ = '\0'; + gint _tmp76_ = 0; + GdkPixbuf* _tmp77_ = NULL; + gint _tmp78_ = 0; + gint _tmp79_ = 0; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp13_) { +#line 2714 "CustomComponents.c" + gint _tmp14_ = 0; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp14_ = i; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + i = _tmp14_ + 1; +#line 2720 "CustomComponents.c" + } +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp13_ = FALSE; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp15_ = i; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp16_ = histogram_graphic; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp17_ = gdk_pixbuf_get_height (_tmp16_); +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp18_ = _tmp17_; +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp15_ < _tmp18_)) { +#line 390 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 2736 "CustomComponents.c" + } +#line 391 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp19_ = i; +#line 391 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp20_ = histogram_graphic; +#line 391 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp21_ = gdk_pixbuf_get_rowstride (_tmp20_); +#line 391 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp22_ = _tmp21_; +#line 391 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_pixel_index = _tmp19_ * _tmp22_; +#line 392 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp23_ = body_pixel_index; +#line 392 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp24_ = histogram_graphic; +#line 392 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp25_ = gdk_pixbuf_get_n_channels (_tmp24_); +#line 392 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp26_ = _tmp25_; +#line 392 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp27_ = self->priv->left_nub_position; +#line 392 "/home/jens/Source/shotwell/src/CustomComponents.vala" + row_last_pixel = _tmp23_ + (_tmp26_ * _tmp27_); +#line 394 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 2762 "CustomComponents.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; + guchar* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + gint _tmp31_ = 0; + guchar* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gint _tmp33_ = 0; + guchar _tmp34_ = '\0'; + gint _tmp35_ = 0; + guchar _tmp36_ = '\0'; + guchar* _tmp37_ = NULL; + gint _tmp37__length1 = 0; + gint _tmp38_ = 0; + guchar* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gint _tmp40_ = 0; + guchar _tmp41_ = '\0'; + gint _tmp42_ = 0; + guchar _tmp43_ = '\0'; + guchar* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gint _tmp45_ = 0; + guchar* _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gint _tmp47_ = 0; + guchar _tmp48_ = '\0'; + gint _tmp49_ = 0; + guchar _tmp50_ = '\0'; + gint _tmp51_ = 0; + GdkPixbuf* _tmp52_ = NULL; + gint _tmp53_ = 0; + gint _tmp54_ = 0; +#line 394 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp28_ = body_pixel_index; +#line 394 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp29_ = row_last_pixel; +#line 394 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp28_ < _tmp29_)) { +#line 394 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 2804 "CustomComponents.c" + } +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp30_ = pixel_data; +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp30__length1 = pixel_data_length1; +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp31_ = body_pixel_index; +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp32_ = pixel_data; +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp32__length1 = pixel_data_length1; +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp33_ = body_pixel_index; +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp34_ = _tmp32_[_tmp33_]; +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp35_ = body_blend_red; +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp30_[_tmp31_] = (guchar) ((_tmp34_ + _tmp35_) / 2); +#line 395 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp36_ = _tmp30_[_tmp31_]; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp37_ = pixel_data; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp37__length1 = pixel_data_length1; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp38_ = body_pixel_index; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp39_ = pixel_data; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp39__length1 = pixel_data_length1; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp40_ = body_pixel_index; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp41_ = _tmp39_[_tmp40_ + 1]; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp42_ = body_blend_green; +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp37_[_tmp38_ + 1] = (guchar) ((_tmp41_ + _tmp42_) / 2); +#line 397 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp43_ = _tmp37_[_tmp38_ + 1]; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp44_ = pixel_data; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp44__length1 = pixel_data_length1; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp45_ = body_pixel_index; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp46_ = pixel_data; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp46__length1 = pixel_data_length1; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp47_ = body_pixel_index; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp48_ = _tmp46_[_tmp47_ + 2]; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp49_ = body_blend_blue; +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp44_[_tmp45_ + 2] = (guchar) ((_tmp48_ + _tmp49_) / 2); +#line 399 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp50_ = _tmp44_[_tmp45_ + 2]; +#line 402 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp51_ = body_pixel_index; +#line 402 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp52_ = histogram_graphic; +#line 402 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp53_ = gdk_pixbuf_get_n_channels (_tmp52_); +#line 402 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp54_ = _tmp53_; +#line 402 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_pixel_index = _tmp51_ + _tmp54_; +#line 2876 "CustomComponents.c" + } +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp55_ = pixel_data; +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp55__length1 = pixel_data_length1; +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp56_ = edge_pixel_index; +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp57_ = pixel_data; +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp57__length1 = pixel_data_length1; +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp58_ = edge_pixel_index; +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp59_ = _tmp57_[_tmp58_]; +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp60_ = edge_blend_red; +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp55_[_tmp56_] = (guchar) ((_tmp59_ + _tmp60_) / 2); +#line 405 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp61_ = _tmp55_[_tmp56_]; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp62_ = pixel_data; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp62__length1 = pixel_data_length1; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp63_ = edge_pixel_index; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp64_ = pixel_data; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp64__length1 = pixel_data_length1; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp65_ = edge_pixel_index; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp66_ = _tmp64_[_tmp65_ + 1]; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp67_ = edge_blend_green; +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp62_[_tmp63_ + 1] = (guchar) ((_tmp66_ + _tmp67_) / 2); +#line 407 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp68_ = _tmp62_[_tmp63_ + 1]; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp69_ = pixel_data; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp69__length1 = pixel_data_length1; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp70_ = edge_pixel_index; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp71_ = pixel_data; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp71__length1 = pixel_data_length1; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp72_ = edge_pixel_index; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp73_ = _tmp71_[_tmp72_ + 2]; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp74_ = edge_blend_blue; +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp69_[_tmp70_ + 2] = (guchar) ((_tmp73_ + _tmp74_) / 2); +#line 409 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp75_ = _tmp69_[_tmp70_ + 2]; +#line 412 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp76_ = edge_pixel_index; +#line 412 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp77_ = histogram_graphic; +#line 412 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp78_ = gdk_pixbuf_get_rowstride (_tmp77_); +#line 412 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp79_ = _tmp78_; +#line 412 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_pixel_index = _tmp76_ + _tmp79_; +#line 2948 "CustomComponents.c" + } + } + } + } +#line 416 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_blend_red = 250; +#line 417 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_blend_green = 250; +#line 418 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_blend_blue = 250; +#line 419 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_blend_red = 200; +#line 420 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_blend_green = 200; +#line 421 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_blend_blue = 200; +#line 423 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp80_ = self->priv->right_nub_position; +#line 423 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp80_ < 255) { +#line 2969 "CustomComponents.c" + gint edge_pixel_index = 0; + GdkPixbuf* _tmp81_ = NULL; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + gint _tmp84_ = 0; +#line 424 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp81_ = histogram_graphic; +#line 424 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp82_ = gdk_pixbuf_get_n_channels (_tmp81_); +#line 424 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp83_ = _tmp82_; +#line 424 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp84_ = self->priv->right_nub_position; +#line 424 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_pixel_index = _tmp83_ * _tmp84_; +#line 2985 "CustomComponents.c" + { + gint i = 0; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + i = 0; +#line 2990 "CustomComponents.c" + { + gboolean _tmp85_ = FALSE; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp85_ = TRUE; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 2997 "CustomComponents.c" + gint _tmp87_ = 0; + GdkPixbuf* _tmp88_ = NULL; + gint _tmp89_ = 0; + gint _tmp90_ = 0; + gint body_pixel_index = 0; + gint _tmp91_ = 0; + GdkPixbuf* _tmp92_ = NULL; + gint _tmp93_ = 0; + gint _tmp94_ = 0; + GdkPixbuf* _tmp95_ = NULL; + gint _tmp96_ = 0; + gint _tmp97_ = 0; + gint row_last_pixel = 0; + gint _tmp98_ = 0; + GdkPixbuf* _tmp99_ = NULL; + gint _tmp100_ = 0; + gint _tmp101_ = 0; + GdkPixbuf* _tmp102_ = NULL; + gint _tmp103_ = 0; + gint _tmp104_ = 0; + gint _tmp105_ = 0; + guchar* _tmp133_ = NULL; + gint _tmp133__length1 = 0; + gint _tmp134_ = 0; + guchar* _tmp135_ = NULL; + gint _tmp135__length1 = 0; + gint _tmp136_ = 0; + guchar _tmp137_ = '\0'; + gint _tmp138_ = 0; + guchar _tmp139_ = '\0'; + guchar* _tmp140_ = NULL; + gint _tmp140__length1 = 0; + gint _tmp141_ = 0; + guchar* _tmp142_ = NULL; + gint _tmp142__length1 = 0; + gint _tmp143_ = 0; + guchar _tmp144_ = '\0'; + gint _tmp145_ = 0; + guchar _tmp146_ = '\0'; + guchar* _tmp147_ = NULL; + gint _tmp147__length1 = 0; + gint _tmp148_ = 0; + guchar* _tmp149_ = NULL; + gint _tmp149__length1 = 0; + gint _tmp150_ = 0; + guchar _tmp151_ = '\0'; + gint _tmp152_ = 0; + guchar _tmp153_ = '\0'; + gint _tmp154_ = 0; + GdkPixbuf* _tmp155_ = NULL; + gint _tmp156_ = 0; + gint _tmp157_ = 0; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!_tmp85_) { +#line 3052 "CustomComponents.c" + gint _tmp86_ = 0; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp86_ = i; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + i = _tmp86_ + 1; +#line 3058 "CustomComponents.c" + } +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp85_ = FALSE; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp87_ = i; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp88_ = histogram_graphic; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp89_ = gdk_pixbuf_get_height (_tmp88_); +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp90_ = _tmp89_; +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp87_ < _tmp90_)) { +#line 425 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 3074 "CustomComponents.c" + } +#line 426 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp91_ = i; +#line 426 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp92_ = histogram_graphic; +#line 426 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp93_ = gdk_pixbuf_get_rowstride (_tmp92_); +#line 426 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp94_ = _tmp93_; +#line 426 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp95_ = histogram_graphic; +#line 426 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp96_ = gdk_pixbuf_get_n_channels (_tmp95_); +#line 426 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp97_ = _tmp96_; +#line 426 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_pixel_index = (_tmp91_ * _tmp94_) + (_tmp97_ * 255); +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp98_ = i; +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp99_ = histogram_graphic; +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp100_ = gdk_pixbuf_get_rowstride (_tmp99_); +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp101_ = _tmp100_; +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp102_ = histogram_graphic; +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp103_ = gdk_pixbuf_get_n_channels (_tmp102_); +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp104_ = _tmp103_; +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp105_ = self->priv->right_nub_position; +#line 428 "/home/jens/Source/shotwell/src/CustomComponents.vala" + row_last_pixel = (_tmp98_ * _tmp101_) + (_tmp104_ * _tmp105_); +#line 430 "/home/jens/Source/shotwell/src/CustomComponents.vala" + while (TRUE) { +#line 3112 "CustomComponents.c" + gint _tmp106_ = 0; + gint _tmp107_ = 0; + guchar* _tmp108_ = NULL; + gint _tmp108__length1 = 0; + gint _tmp109_ = 0; + guchar* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + gint _tmp111_ = 0; + guchar _tmp112_ = '\0'; + gint _tmp113_ = 0; + guchar _tmp114_ = '\0'; + guchar* _tmp115_ = NULL; + gint _tmp115__length1 = 0; + gint _tmp116_ = 0; + guchar* _tmp117_ = NULL; + gint _tmp117__length1 = 0; + gint _tmp118_ = 0; + guchar _tmp119_ = '\0'; + gint _tmp120_ = 0; + guchar _tmp121_ = '\0'; + guchar* _tmp122_ = NULL; + gint _tmp122__length1 = 0; + gint _tmp123_ = 0; + guchar* _tmp124_ = NULL; + gint _tmp124__length1 = 0; + gint _tmp125_ = 0; + guchar _tmp126_ = '\0'; + gint _tmp127_ = 0; + guchar _tmp128_ = '\0'; + gint _tmp129_ = 0; + GdkPixbuf* _tmp130_ = NULL; + gint _tmp131_ = 0; + gint _tmp132_ = 0; +#line 430 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp106_ = body_pixel_index; +#line 430 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp107_ = row_last_pixel; +#line 430 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (!(_tmp106_ > _tmp107_)) { +#line 430 "/home/jens/Source/shotwell/src/CustomComponents.vala" + break; +#line 3154 "CustomComponents.c" + } +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp108_ = pixel_data; +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp108__length1 = pixel_data_length1; +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp109_ = body_pixel_index; +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp110_ = pixel_data; +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp110__length1 = pixel_data_length1; +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp111_ = body_pixel_index; +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp112_ = _tmp110_[_tmp111_]; +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp113_ = body_blend_red; +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp108_[_tmp109_] = (guchar) ((_tmp112_ + _tmp113_) / 2); +#line 431 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp114_ = _tmp108_[_tmp109_]; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp115_ = pixel_data; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp115__length1 = pixel_data_length1; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp116_ = body_pixel_index; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp117_ = pixel_data; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp117__length1 = pixel_data_length1; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp118_ = body_pixel_index; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp119_ = _tmp117_[_tmp118_ + 1]; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp120_ = body_blend_green; +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp115_[_tmp116_ + 1] = (guchar) ((_tmp119_ + _tmp120_) / 2); +#line 433 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp121_ = _tmp115_[_tmp116_ + 1]; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp122_ = pixel_data; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp122__length1 = pixel_data_length1; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp123_ = body_pixel_index; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp124_ = pixel_data; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp124__length1 = pixel_data_length1; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp125_ = body_pixel_index; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp126_ = _tmp124_[_tmp125_ + 2]; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp127_ = body_blend_blue; +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp122_[_tmp123_ + 2] = (guchar) ((_tmp126_ + _tmp127_) / 2); +#line 435 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp128_ = _tmp122_[_tmp123_ + 2]; +#line 438 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp129_ = body_pixel_index; +#line 438 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp130_ = histogram_graphic; +#line 438 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp131_ = gdk_pixbuf_get_n_channels (_tmp130_); +#line 438 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp132_ = _tmp131_; +#line 438 "/home/jens/Source/shotwell/src/CustomComponents.vala" + body_pixel_index = _tmp129_ - _tmp132_; +#line 3226 "CustomComponents.c" + } +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp133_ = pixel_data; +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp133__length1 = pixel_data_length1; +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp134_ = edge_pixel_index; +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp135_ = pixel_data; +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp135__length1 = pixel_data_length1; +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp136_ = edge_pixel_index; +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp137_ = _tmp135_[_tmp136_]; +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp138_ = edge_blend_red; +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp133_[_tmp134_] = (guchar) ((_tmp137_ + _tmp138_) / 2); +#line 440 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp139_ = _tmp133_[_tmp134_]; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp140_ = pixel_data; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp140__length1 = pixel_data_length1; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp141_ = edge_pixel_index; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp142_ = pixel_data; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp142__length1 = pixel_data_length1; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp143_ = edge_pixel_index; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp144_ = _tmp142_[_tmp143_ + 1]; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp145_ = edge_blend_green; +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp140_[_tmp141_ + 1] = (guchar) ((_tmp144_ + _tmp145_) / 2); +#line 442 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp146_ = _tmp140_[_tmp141_ + 1]; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp147_ = pixel_data; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp147__length1 = pixel_data_length1; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp148_ = edge_pixel_index; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp149_ = pixel_data; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp149__length1 = pixel_data_length1; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp150_ = edge_pixel_index; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp151_ = _tmp149_[_tmp150_ + 2]; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp152_ = edge_blend_blue; +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp147_[_tmp148_ + 2] = (guchar) ((_tmp151_ + _tmp152_) / 2); +#line 444 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp153_ = _tmp147_[_tmp148_ + 2]; +#line 447 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp154_ = edge_pixel_index; +#line 447 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp155_ = histogram_graphic; +#line 447 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp156_ = gdk_pixbuf_get_rowstride (_tmp155_); +#line 447 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp157_ = _tmp156_; +#line 447 "/home/jens/Source/shotwell/src/CustomComponents.vala" + edge_pixel_index = _tmp154_ + _tmp157_; +#line 3298 "CustomComponents.c" + } + } + } + } +#line 451 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp158_ = ctx; +#line 451 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp159_ = histogram_graphic; +#line 451 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp160_ = *area; +#line 451 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp161_ = _tmp160_.x; +#line 451 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp162_ = *area; +#line 451 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp163_ = _tmp162_.y; +#line 451 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gdk_cairo_set_source_pixbuf (_tmp158_, _tmp159_, (gdouble) (_tmp161_ + RGB_HISTOGRAM_MANIPULATOR_NUB_HALF_WIDTH), (gdouble) (_tmp163_ + 2)); +#line 452 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp164_ = ctx; +#line 452 "/home/jens/Source/shotwell/src/CustomComponents.vala" + cairo_paint (_tmp164_); +#line 374 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (histogram_graphic); +#line 3323 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_draw_trough (RGBHistogramManipulator* self, cairo_t* ctx, GdkRectangle* area) { + gint trough_x = 0; + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + gint trough_y = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GtkStyleContext* stylectx = NULL; + GtkWidget* _tmp4_ = NULL; + GtkStyleContext* _tmp5_ = NULL; + GtkStyleContext* _tmp6_ = NULL; + GtkWidgetPath* _tmp7_ = NULL; + GtkWidgetPath* _tmp8_ = NULL; + cairo_t* _tmp9_ = NULL; +#line 455 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 455 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (ctx != NULL); +#line 455 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (area != NULL); +#line 456 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = *area; +#line 456 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = _tmp0_.x; +#line 456 "/home/jens/Source/shotwell/src/CustomComponents.vala" + trough_x = _tmp1_; +#line 457 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = *area; +#line 457 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = _tmp2_.y; +#line 457 "/home/jens/Source/shotwell/src/CustomComponents.vala" + trough_y = _tmp3_ + (((RGB_HISTOGRAM_MANIPULATOR_CONTROL_HEIGHT - RGB_HISTOGRAM_MANIPULATOR_TROUGH_HEIGHT) - RGB_HISTOGRAM_MANIPULATOR_TROUGH_BOTTOM_OFFSET) - 3); +#line 459 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = rgb_histogram_manipulator_dummy_slider; +#line 459 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = gtk_widget_get_style_context (_tmp4_); +#line 459 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 459 "/home/jens/Source/shotwell/src/CustomComponents.vala" + stylectx = _tmp6_; +#line 460 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_style_context_save (stylectx); +#line 462 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = gtk_style_context_get_path (stylectx); +#line 462 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_append_type (_tmp7_, gtk_scale_get_type ()); +#line 463 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp8_ = gtk_style_context_get_path (stylectx); +#line 463 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_widget_path_iter_add_class (_tmp8_, 0, "scale"); +#line 464 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_style_context_add_class (stylectx, GTK_STYLE_CLASS_TROUGH); +#line 466 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp9_ = ctx; +#line 466 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_render_activity (stylectx, _tmp9_, (gdouble) trough_x, (gdouble) trough_y, (gdouble) RGB_HISTOGRAM_MANIPULATOR_TROUGH_WIDTH, (gdouble) RGB_HISTOGRAM_MANIPULATOR_TROUGH_HEIGHT); +#line 468 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gtk_style_context_restore (stylectx); +#line 455 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (stylectx); +#line 3387 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_draw_nub (RGBHistogramManipulator* self, cairo_t* ctx, GdkRectangle* area, gint position) { + cairo_t* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + cairo_t* _tmp7_ = NULL; +#line 471 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 471 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (ctx != NULL); +#line 471 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (area != NULL); +#line 472 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = ctx; +#line 472 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = self->priv->nub_pixbuf; +#line 472 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = *area; +#line 472 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = _tmp2_.x; +#line 472 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = position; +#line 472 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = *area; +#line 472 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp6_ = _tmp5_.y; +#line 472 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gdk_cairo_set_source_pixbuf (_tmp0_, _tmp1_, (gdouble) (_tmp3_ + _tmp4_), (gdouble) (_tmp6_ + RGB_HISTOGRAM_MANIPULATOR_NUB_V_POSITION)); +#line 473 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp7_ = ctx; +#line 473 "/home/jens/Source/shotwell/src/CustomComponents.vala" + cairo_paint (_tmp7_); +#line 3426 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_force_update (RGBHistogramManipulator* self) { + GdkWindow* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; +#line 476 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 477 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 477 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gdk_window_invalidate_rect (_tmp0_, NULL, TRUE); +#line 478 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 478 "/home/jens/Source/shotwell/src/CustomComponents.vala" + gdk_window_process_updates (_tmp1_, TRUE); +#line 3443 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_update_nub_extrema (RGBHistogramManipulator* self) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 481 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 482 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = self->priv->left_nub_position; +#line 482 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->right_nub_min = (_tmp0_ + RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE) + 1; +#line 483 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = self->priv->right_nub_position; +#line 483 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->left_nub_max = (_tmp1_ - RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE) - 1; +#line 3460 "CustomComponents.c" +} + + +void rgb_histogram_manipulator_update_histogram (RGBHistogramManipulator* self, GdkPixbuf* source_pixbuf) { + GdkPixbuf* _tmp0_ = NULL; + RGBHistogram* _tmp1_ = NULL; +#line 488 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 488 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (GDK_IS_PIXBUF (source_pixbuf)); +#line 489 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = source_pixbuf; +#line 489 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = rgb_histogram_new (_tmp0_); +#line 489 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _rgb_histogram_unref0 (self->priv->histogram); +#line 489 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->histogram = _tmp1_; +#line 490 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_force_update (self); +#line 3481 "CustomComponents.c" +} + + +gint rgb_histogram_manipulator_get_left_nub_position (RGBHistogramManipulator* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 493 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self), 0); +#line 494 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = self->priv->left_nub_position; +#line 494 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = _tmp0_; +#line 494 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 3496 "CustomComponents.c" +} + + +gint rgb_histogram_manipulator_get_right_nub_position (RGBHistogramManipulator* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 497 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_val_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self), 0); +#line 498 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = self->priv->right_nub_position; +#line 498 "/home/jens/Source/shotwell/src/CustomComponents.vala" + result = _tmp0_; +#line 498 "/home/jens/Source/shotwell/src/CustomComponents.vala" + return result; +#line 3511 "CustomComponents.c" +} + + +void rgb_histogram_manipulator_set_left_nub_position (RGBHistogramManipulator* self, gint user_nub_pos) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 501 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 502 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = user_nub_pos; +#line 502 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp1_ >= 0) { +#line 3527 "CustomComponents.c" + gint _tmp2_ = 0; +#line 502 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = user_nub_pos; +#line 502 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = _tmp2_ <= 255; +#line 3533 "CustomComponents.c" + } else { +#line 502 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = FALSE; +#line 3537 "CustomComponents.c" + } +#line 502 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _vala_assert (_tmp0_, "(user_nub_pos >= 0) && (user_nub_pos <= 255)"); +#line 503 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = user_nub_pos; +#line 503 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = self->priv->left_nub_max; +#line 503 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = CLAMP (_tmp3_, 0, _tmp4_); +#line 503 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->left_nub_position = _tmp5_; +#line 504 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_update_nub_extrema (self); +#line 3551 "CustomComponents.c" +} + + +void rgb_histogram_manipulator_set_right_nub_position (RGBHistogramManipulator* self, gint user_nub_pos) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 507 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_return_if_fail (IS_RGB_HISTOGRAM_MANIPULATOR (self)); +#line 508 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = user_nub_pos; +#line 508 "/home/jens/Source/shotwell/src/CustomComponents.vala" + if (_tmp1_ >= 0) { +#line 3567 "CustomComponents.c" + gint _tmp2_ = 0; +#line 508 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp2_ = user_nub_pos; +#line 508 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = _tmp2_ <= 255; +#line 3573 "CustomComponents.c" + } else { +#line 508 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = FALSE; +#line 3577 "CustomComponents.c" + } +#line 508 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _vala_assert (_tmp0_, "(user_nub_pos >= 0) && (user_nub_pos <= 255)"); +#line 509 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp3_ = user_nub_pos; +#line 509 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp4_ = self->priv->right_nub_min; +#line 509 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp5_ = CLAMP (_tmp3_, _tmp4_, 255); +#line 509 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->right_nub_position = _tmp5_; +#line 510 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_update_nub_extrema (self); +#line 3591 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_class_init (RGBHistogramManipulatorClass * klass) { + GtkWidgetPath* _tmp0_ = NULL; + GtkWidgetPath* _tmp1_ = NULL; +#line 185 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_parent_class = g_type_class_peek_parent (klass); +#line 185 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_type_class_add_private (klass, sizeof (RGBHistogramManipulatorPrivate)); +#line 185 "/home/jens/Source/shotwell/src/CustomComponents.vala" + ((GtkWidgetClass *) klass)->draw = rgb_histogram_manipulator_real_draw; +#line 185 "/home/jens/Source/shotwell/src/CustomComponents.vala" + G_OBJECT_CLASS (klass)->finalize = rgb_histogram_manipulator_finalize; +#line 185 "/home/jens/Source/shotwell/src/CustomComponents.vala" + g_signal_new ("nub_position_changed", TYPE_RGB_HISTOGRAM_MANIPULATOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 203 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = gtk_widget_path_new (); +#line 203 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_slider_draw_path = _tmp0_; +#line 204 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp1_ = gtk_widget_path_new (); +#line 204 "/home/jens/Source/shotwell/src/CustomComponents.vala" + rgb_histogram_manipulator_frame_draw_path = _tmp1_; +#line 3616 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_instance_init (RGBHistogramManipulator * self) { + GdkPixbuf* _tmp0_ = NULL; +#line 185 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv = RGB_HISTOGRAM_MANIPULATOR_GET_PRIVATE (self); +#line 198 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->left_nub_max = (255 - RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE) - 1; +#line 199 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->right_nub_min = RGB_HISTOGRAM_MANIPULATOR_NUB_SIZE + 1; +#line 207 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->histogram = NULL; +#line 208 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->left_nub_position = 0; +#line 209 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->right_nub_position = 255; +#line 210 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _tmp0_ = theme_loader_load_icon ("drag_nub.png"); +#line 210 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->nub_pixbuf = _tmp0_; +#line 211 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->is_left_nub_tracking = FALSE; +#line 212 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->is_right_nub_tracking = FALSE; +#line 213 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->track_start_x = 0; +#line 214 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self->priv->track_nub_start_position = 0; +#line 3646 "CustomComponents.c" +} + + +static void rgb_histogram_manipulator_finalize (GObject* obj) { + RGBHistogramManipulator * self; +#line 185 "/home/jens/Source/shotwell/src/CustomComponents.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulator); +#line 207 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _rgb_histogram_unref0 (self->priv->histogram); +#line 210 "/home/jens/Source/shotwell/src/CustomComponents.vala" + _g_object_unref0 (self->priv->nub_pixbuf); +#line 185 "/home/jens/Source/shotwell/src/CustomComponents.vala" + G_OBJECT_CLASS (rgb_histogram_manipulator_parent_class)->finalize (obj); +#line 3660 "CustomComponents.c" +} + + +GType rgb_histogram_manipulator_get_type (void) { + static volatile gsize rgb_histogram_manipulator_type_id__volatile = 0; + if (g_once_init_enter (&rgb_histogram_manipulator_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RGBHistogramManipulatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rgb_histogram_manipulator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RGBHistogramManipulator), 0, (GInstanceInitFunc) rgb_histogram_manipulator_instance_init, NULL }; + GType rgb_histogram_manipulator_type_id; + rgb_histogram_manipulator_type_id = g_type_register_static (gtk_drawing_area_get_type (), "RGBHistogramManipulator", &g_define_type_info, 0); + g_once_init_leave (&rgb_histogram_manipulator_type_id__volatile, rgb_histogram_manipulator_type_id); + } + return rgb_histogram_manipulator_type_id__volatile; +} + + + diff --git a/src/Debug.c b/src/Debug.c new file mode 100644 index 0000000..9cc7e01 --- /dev/null +++ b/src/Debug.c @@ -0,0 +1,747 @@ +/* Debug.c generated by valac 0.32.1, the Vala compiler + * generated from Debug.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _fclose0(var) ((var == NULL) ? NULL : (var = (fclose (var), NULL))) + + +extern GLogLevelFlags debug_log_mask; +GLogLevelFlags debug_log_mask = 0; +extern gchar* debug_log_app_version_prefix; +gchar* debug_log_app_version_prefix = NULL; +extern FILE* debug_log_out; +FILE* debug_log_out = NULL; +extern FILE* debug_log_err; +FILE* debug_log_err = NULL; +extern FILE* debug_log_file_stream; +FILE* debug_log_file_stream = NULL; + +#define DEBUG_DEFAULT_LOG_MASK ((G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING) | G_LOG_LEVEL_MESSAGE) +#define DEBUG_VIEWER_PREFIX "V" +#define DEBUG_LIBRARY_PREFIX "L" +void debug_init (const gchar* app_version_prefix); +GFile* app_dirs_get_log_file (void); +void debug_info_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message); +static void _debug_info_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self); +void debug_debug_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message); +static void _debug_debug_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self); +void debug_message_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message); +static void _debug_message_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self); +void debug_warning_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message); +static void _debug_warning_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self); +void debug_critical_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message); +static void _debug_critical_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self); +void debug_terminate (void); +gboolean debug_is_enabled (GLogLevelFlags flag); +void debug_log (FILE* stream, const gchar* prefix, const gchar* message); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + return self ? g_object_ref (self) : NULL; +#line 61 "Debug.c" +} + + +static void _debug_info_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self) { +#line 82 "/home/jens/Source/shotwell/src/Debug.vala" + debug_info_handler (log_domain, log_levels, message); +#line 68 "Debug.c" +} + + +static void _debug_debug_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self) { +#line 83 "/home/jens/Source/shotwell/src/Debug.vala" + debug_debug_handler (log_domain, log_levels, message); +#line 75 "Debug.c" +} + + +static void _debug_message_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self) { +#line 84 "/home/jens/Source/shotwell/src/Debug.vala" + debug_message_handler (log_domain, log_levels, message); +#line 82 "Debug.c" +} + + +static void _debug_warning_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self) { +#line 85 "/home/jens/Source/shotwell/src/Debug.vala" + debug_warning_handler (log_domain, log_levels, message); +#line 89 "Debug.c" +} + + +static void _debug_critical_handler_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self) { +#line 86 "/home/jens/Source/shotwell/src/Debug.vala" + debug_critical_handler (log_domain, log_levels, message); +#line 96 "Debug.c" +} + + +void debug_init (const gchar* app_version_prefix) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + FILE* _tmp2_ = NULL; + FILE* _tmp3_ = NULL; + gchar* log_file_error_msg = NULL; + GFile* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GFile* log_file = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + const gchar* _tmp34_ = NULL; + gboolean _tmp55_ = FALSE; + GLogLevelFlags _tmp56_ = 0; + const gchar* _tmp58_ = NULL; + GError * _inner_error_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (app_version_prefix != NULL); +#line 28 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp0_ = app_version_prefix; +#line 28 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 28 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (debug_log_app_version_prefix); +#line 28 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_app_version_prefix = _tmp1_; +#line 31 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp2_ = stdout; +#line 31 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_out = _tmp2_; +#line 32 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp3_ = stderr; +#line 32 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_err = _tmp3_; +#line 34 "/home/jens/Source/shotwell/src/Debug.vala" + log_file_error_msg = NULL; +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp5_ = debug_log_app_version_prefix; +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + if (g_strcmp0 (_tmp5_, DEBUG_LIBRARY_PREFIX) == 0) { +#line 140 "Debug.c" + GFile* _tmp6_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp6_ = app_dirs_get_log_file (); +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + _g_object_unref0 (_tmp4_); +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp4_ = _tmp6_; +#line 148 "Debug.c" + } else { +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + _g_object_unref0 (_tmp4_); +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp4_ = NULL; +#line 154 "Debug.c" + } +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp7_ = _g_object_ref0 (_tmp4_); +#line 37 "/home/jens/Source/shotwell/src/Debug.vala" + log_file = _tmp7_; +#line 38 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp8_ = log_file; +#line 38 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp8_ != NULL) { +#line 164 "Debug.c" + GFile* log_dir = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + FILE* _tmp26_ = NULL; + FILE* _tmp27_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp9_ = log_file; +#line 39 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp10_ = g_file_get_parent (_tmp9_); +#line 39 "/home/jens/Source/shotwell/src/Debug.vala" + log_dir = _tmp10_; +#line 179 "Debug.c" + { + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 41 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp11_ = log_dir; +#line 41 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp12_ = g_file_query_exists (_tmp11_, NULL); +#line 41 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp12_ == FALSE) { +#line 189 "Debug.c" + gboolean _tmp13_ = FALSE; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 42 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp14_ = log_dir; +#line 42 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp15_ = g_file_make_directory_with_parents (_tmp14_, NULL, &_inner_error_); +#line 42 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp13_ = _tmp15_; +#line 42 "/home/jens/Source/shotwell/src/Debug.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 201 "Debug.c" + goto __catch421_g_error; + } +#line 42 "/home/jens/Source/shotwell/src/Debug.vala" + if (!_tmp13_) { +#line 206 "Debug.c" + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp16_ = log_dir; +#line 43 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 43 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp18_ = _tmp17_; +#line 43 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp19_ = g_strdup_printf ("Unable to create data directory %s", _tmp18_); +#line 43 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (log_file_error_msg); +#line 43 "/home/jens/Source/shotwell/src/Debug.vala" + log_file_error_msg = _tmp19_; +#line 43 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (_tmp18_); +#line 225 "Debug.c" + } + } + } + goto __finally421; + __catch421_g_error: + { + GError* err = NULL; + GError* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + err = _inner_error_; +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + _inner_error_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp20_ = err; +#line 47 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp21_ = _tmp20_->message; +#line 47 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 47 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (log_file_error_msg); +#line 47 "/home/jens/Source/shotwell/src/Debug.vala" + log_file_error_msg = _tmp22_; +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + _g_error_free0 (err); +#line 252 "Debug.c" + } + __finally421: +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + _g_object_unref0 (log_dir); +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + _g_object_unref0 (log_file); +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + _g_object_unref0 (_tmp4_); +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (log_file_error_msg); +#line 40 "/home/jens/Source/shotwell/src/Debug.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 40 "/home/jens/Source/shotwell/src/Debug.vala" + g_clear_error (&_inner_error_); +#line 40 "/home/jens/Source/shotwell/src/Debug.vala" + return; +#line 271 "Debug.c" + } +#line 53 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp23_ = log_file; +#line 53 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp24_ = g_file_get_path (_tmp23_); +#line 53 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp25_ = _tmp24_; +#line 53 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp26_ = g_fopen (_tmp25_, "w"); +#line 53 "/home/jens/Source/shotwell/src/Debug.vala" + _fclose0 (debug_log_file_stream); +#line 53 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_file_stream = _tmp26_; +#line 53 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (_tmp25_); +#line 54 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp27_ = debug_log_file_stream; +#line 54 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp27_ != NULL) { +#line 291 "Debug.c" + FILE* _tmp28_ = NULL; + FILE* _tmp29_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp28_ = debug_log_file_stream; +#line 55 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_out = _tmp28_; +#line 56 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp29_ = debug_log_file_stream; +#line 56 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_err = _tmp29_; +#line 302 "Debug.c" + } else { + GFile* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp30_ = log_file; +#line 58 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp31_ = g_file_get_path (_tmp30_); +#line 58 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp32_ = _tmp31_; +#line 58 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp33_ = g_strdup_printf ("Unable to open or create log file %s", _tmp32_); +#line 58 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (log_file_error_msg); +#line 58 "/home/jens/Source/shotwell/src/Debug.vala" + log_file_error_msg = _tmp33_; +#line 58 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (_tmp32_); +#line 322 "Debug.c" + } +#line 38 "/home/jens/Source/shotwell/src/Debug.vala" + _g_object_unref0 (log_dir); +#line 326 "Debug.c" + } +#line 62 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp34_ = g_getenv ("SHOTWELL_LOG"); +#line 62 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp34_ != NULL) { +#line 63 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_mask = G_LOG_LEVEL_MASK; +#line 334 "Debug.c" + } else { + GLogLevelFlags _tmp35_ = 0; + const gchar* _tmp36_ = NULL; + GLogLevelFlags _tmp39_ = 0; + const gchar* _tmp40_ = NULL; + GLogLevelFlags _tmp43_ = 0; + const gchar* _tmp44_ = NULL; + GLogLevelFlags _tmp47_ = 0; + const gchar* _tmp48_ = NULL; + GLogLevelFlags _tmp51_ = 0; + const gchar* _tmp52_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp36_ = g_getenv ("SHOTWELL_INFO"); +#line 65 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp36_ != NULL) { +#line 350 "Debug.c" + GLogLevelFlags _tmp37_ = 0; +#line 66 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp37_ = debug_log_mask; +#line 66 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp35_ = _tmp37_ | G_LOG_LEVEL_INFO; +#line 356 "Debug.c" + } else { + GLogLevelFlags _tmp38_ = 0; +#line 67 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp38_ = debug_log_mask; +#line 67 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp35_ = _tmp38_; +#line 363 "Debug.c" + } +#line 65 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_mask = _tmp35_; +#line 68 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp40_ = g_getenv ("SHOTWELL_DEBUG"); +#line 68 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp40_ != NULL) { +#line 371 "Debug.c" + GLogLevelFlags _tmp41_ = 0; +#line 69 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp41_ = debug_log_mask; +#line 69 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp39_ = _tmp41_ | G_LOG_LEVEL_DEBUG; +#line 377 "Debug.c" + } else { + GLogLevelFlags _tmp42_ = 0; +#line 70 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp42_ = debug_log_mask; +#line 70 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp39_ = _tmp42_; +#line 384 "Debug.c" + } +#line 68 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_mask = _tmp39_; +#line 71 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp44_ = g_getenv ("SHOTWELL_MESSAGE"); +#line 71 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp44_ != NULL) { +#line 392 "Debug.c" + GLogLevelFlags _tmp45_ = 0; +#line 72 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp45_ = debug_log_mask; +#line 72 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp43_ = _tmp45_ | G_LOG_LEVEL_MESSAGE; +#line 398 "Debug.c" + } else { + GLogLevelFlags _tmp46_ = 0; +#line 73 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp46_ = debug_log_mask; +#line 73 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp43_ = _tmp46_; +#line 405 "Debug.c" + } +#line 71 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_mask = _tmp43_; +#line 74 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp48_ = g_getenv ("SHOTWELL_WARNING"); +#line 74 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp48_ != NULL) { +#line 413 "Debug.c" + GLogLevelFlags _tmp49_ = 0; +#line 75 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp49_ = debug_log_mask; +#line 75 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp47_ = _tmp49_ | G_LOG_LEVEL_WARNING; +#line 419 "Debug.c" + } else { + GLogLevelFlags _tmp50_ = 0; +#line 76 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp50_ = debug_log_mask; +#line 76 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp47_ = _tmp50_; +#line 426 "Debug.c" + } +#line 74 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_mask = _tmp47_; +#line 77 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp52_ = g_getenv ("SHOTWELL_CRITICAL"); +#line 77 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp52_ != NULL) { +#line 434 "Debug.c" + GLogLevelFlags _tmp53_ = 0; +#line 78 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp53_ = debug_log_mask; +#line 78 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp51_ = _tmp53_ | G_LOG_LEVEL_CRITICAL; +#line 440 "Debug.c" + } else { + GLogLevelFlags _tmp54_ = 0; +#line 79 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp54_ = debug_log_mask; +#line 79 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp51_ = _tmp54_; +#line 447 "Debug.c" + } +#line 77 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_mask = _tmp51_; +#line 451 "Debug.c" + } +#line 82 "/home/jens/Source/shotwell/src/Debug.vala" + g_log_set_handler (NULL, G_LOG_LEVEL_INFO, _debug_info_handler_glog_func, NULL); +#line 83 "/home/jens/Source/shotwell/src/Debug.vala" + g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, _debug_debug_handler_glog_func, NULL); +#line 84 "/home/jens/Source/shotwell/src/Debug.vala" + g_log_set_handler (NULL, G_LOG_LEVEL_MESSAGE, _debug_message_handler_glog_func, NULL); +#line 85 "/home/jens/Source/shotwell/src/Debug.vala" + g_log_set_handler (NULL, G_LOG_LEVEL_WARNING, _debug_warning_handler_glog_func, NULL); +#line 86 "/home/jens/Source/shotwell/src/Debug.vala" + g_log_set_handler (NULL, G_LOG_LEVEL_CRITICAL, _debug_critical_handler_glog_func, NULL); +#line 88 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp56_ = debug_log_mask; +#line 88 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp56_ == 0) { +#line 467 "Debug.c" + GFile* _tmp57_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp57_ = log_file; +#line 88 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp55_ = _tmp57_ != NULL; +#line 473 "Debug.c" + } else { +#line 88 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp55_ = FALSE; +#line 477 "Debug.c" + } +#line 88 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp55_) { +#line 91 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log_mask = DEBUG_DEFAULT_LOG_MASK; +#line 483 "Debug.c" + } +#line 94 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp58_ = log_file_error_msg; +#line 94 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp58_ != NULL) { +#line 489 "Debug.c" + const gchar* _tmp59_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp59_ = log_file_error_msg; +#line 95 "/home/jens/Source/shotwell/src/Debug.vala" + g_warning ("Debug.vala:95: %s", _tmp59_); +#line 495 "Debug.c" + } +#line 27 "/home/jens/Source/shotwell/src/Debug.vala" + _g_object_unref0 (log_file); +#line 27 "/home/jens/Source/shotwell/src/Debug.vala" + _g_object_unref0 (_tmp4_); +#line 27 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (log_file_error_msg); +#line 503 "Debug.c" +} + + +void debug_terminate (void) { +} + + +gboolean debug_is_enabled (GLogLevelFlags flag) { + gboolean result = FALSE; + GLogLevelFlags _tmp0_ = 0; + GLogLevelFlags _tmp1_ = 0; +#line 103 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp0_ = debug_log_mask; +#line 103 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp1_ = flag; +#line 103 "/home/jens/Source/shotwell/src/Debug.vala" + result = (_tmp0_ & _tmp1_) > 0; +#line 103 "/home/jens/Source/shotwell/src/Debug.vala" + return result; +#line 523 "Debug.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 538 "Debug.c" +} + + +static gchar* g_time_to_string (struct tm *self) { + gchar* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = (*self).tm_year; +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = (*self).tm_mon; +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = (*self).tm_mday; +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = (*self).tm_hour; +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = (*self).tm_min; +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = (*self).tm_sec; +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = g_strdup_printf ("%04d-%02d-%02d %02d:%02d:%02d", _tmp0_ + 1900, _tmp1_ + 1, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp6_; +#line 2706 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 569 "Debug.c" +} + + +void debug_log (FILE* stream, const gchar* prefix, const gchar* message) { + time_t now = 0; + time_t _tmp0_ = 0; + FILE* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + pid_t _tmp3_ = 0; + struct tm _tmp4_ = {0}; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + FILE* _tmp9_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (stream != NULL); +#line 106 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (prefix != NULL); +#line 106 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (message != NULL); +#line 107 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp0_ = time (NULL); +#line 107 "/home/jens/Source/shotwell/src/Debug.vala" + now = _tmp0_; +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp1_ = stream; +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp2_ = debug_log_app_version_prefix; +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp3_ = getpid (); +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + g_time_local (now, &_tmp4_); +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp5_ = g_time_to_string (&_tmp4_); +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp6_ = _tmp5_; +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp7_ = prefix; +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp8_ = message; +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + fprintf (_tmp1_, "%s %d %s [%s] %s\n", _tmp2_, (gint) _tmp3_, _tmp6_, _tmp7_, _tmp8_); +#line 108 "/home/jens/Source/shotwell/src/Debug.vala" + _g_free0 (_tmp6_); +#line 115 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp9_ = stream; +#line 115 "/home/jens/Source/shotwell/src/Debug.vala" + fflush (_tmp9_); +#line 619 "Debug.c" +} + + +void debug_info_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message) { + gboolean _tmp0_ = FALSE; +#line 118 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (message != NULL); +#line 119 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp0_ = debug_is_enabled (G_LOG_LEVEL_INFO); +#line 119 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp0_) { +#line 631 "Debug.c" + FILE* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp1_ = debug_log_out; +#line 120 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp2_ = message; +#line 120 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log (_tmp1_, "INF", _tmp2_); +#line 640 "Debug.c" + } +} + + +void debug_debug_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message) { + gboolean _tmp0_ = FALSE; +#line 123 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (message != NULL); +#line 124 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp0_ = debug_is_enabled (G_LOG_LEVEL_DEBUG); +#line 124 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp0_) { +#line 653 "Debug.c" + FILE* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp1_ = debug_log_out; +#line 125 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp2_ = message; +#line 125 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log (_tmp1_, "DBG", _tmp2_); +#line 662 "Debug.c" + } +} + + +void debug_message_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message) { + gboolean _tmp0_ = FALSE; +#line 128 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (message != NULL); +#line 129 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp0_ = debug_is_enabled (G_LOG_LEVEL_MESSAGE); +#line 129 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp0_) { +#line 675 "Debug.c" + FILE* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp1_ = debug_log_err; +#line 130 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp2_ = message; +#line 130 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log (_tmp1_, "MSG", _tmp2_); +#line 684 "Debug.c" + } +} + + +void debug_warning_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message) { + gboolean _tmp0_ = FALSE; +#line 133 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (message != NULL); +#line 134 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp0_ = debug_is_enabled (G_LOG_LEVEL_WARNING); +#line 134 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp0_) { +#line 697 "Debug.c" + FILE* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp1_ = debug_log_err; +#line 135 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp2_ = message; +#line 135 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log (_tmp1_, "WRN", _tmp2_); +#line 706 "Debug.c" + } +} + + +void debug_critical_handler (const gchar* domain, GLogLevelFlags flags, const gchar* message) { + gboolean _tmp0_ = FALSE; +#line 138 "/home/jens/Source/shotwell/src/Debug.vala" + g_return_if_fail (message != NULL); +#line 139 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp0_ = debug_is_enabled (G_LOG_LEVEL_CRITICAL); +#line 139 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp0_) { +#line 719 "Debug.c" + FILE* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + FILE* _tmp3_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp1_ = debug_log_err; +#line 140 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp2_ = message; +#line 140 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log (_tmp1_, "CRT", _tmp2_); +#line 141 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp3_ = debug_log_file_stream; +#line 141 "/home/jens/Source/shotwell/src/Debug.vala" + if (_tmp3_ != NULL) { +#line 733 "Debug.c" + FILE* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp4_ = stderr; +#line 142 "/home/jens/Source/shotwell/src/Debug.vala" + _tmp5_ = message; +#line 142 "/home/jens/Source/shotwell/src/Debug.vala" + debug_log (_tmp4_, "CRT", _tmp5_); +#line 742 "Debug.c" + } + } +} + + + diff --git a/src/DesktopIntegration.c b/src/DesktopIntegration.c new file mode 100644 index 0000000..f0e3b6d --- /dev/null +++ b/src/DesktopIntegration.c @@ -0,0 +1,2960 @@ +/* DesktopIntegration.c generated by valac 0.32.1, the Vala compiler + * generated from DesktopIntegration.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_EXPORTER_UI (exporter_ui_get_type ()) +#define EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER_UI, ExporterUI)) +#define EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER_UI, ExporterUIClass)) +#define IS_EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER_UI)) +#define IS_EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER_UI)) +#define EXPORTER_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER_UI, ExporterUIClass)) + +typedef struct _ExporterUI ExporterUI; +typedef struct _ExporterUIClass ExporterUIClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_SORTED_LIST (sorted_list_get_type ()) +#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList)) +#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass)) +#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST)) +#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST)) +#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass)) + +typedef struct _SortedList SortedList; +typedef struct _SortedListClass SortedListClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_EXPORT_DIALOG (export_dialog_get_type ()) +#define EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORT_DIALOG, ExportDialog)) +#define EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORT_DIALOG, ExportDialogClass)) +#define IS_EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORT_DIALOG)) +#define IS_EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORT_DIALOG)) +#define EXPORT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORT_DIALOG, ExportDialogClass)) + +typedef struct _ExportDialog ExportDialog; +typedef struct _ExportDialogClass ExportDialogClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define TYPE_EXPORTER (exporter_get_type ()) +#define EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER, Exporter)) +#define EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER, ExporterClass)) +#define IS_EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER)) +#define IS_EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER)) +#define EXPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER, ExporterClass)) + +typedef struct _Exporter Exporter; +typedef struct _ExporterClass ExporterClass; +#define _exporter_ui_unref0(var) ((var == NULL) ? NULL : (var = (exporter_ui_unref (var), NULL))) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; + +#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_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER (desktop_integration_background_slideshow_xml_builder_get_type ()) +#define DESKTOP_INTEGRATION_BACKGROUND_SLIDESHOW_XML_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER, DesktopIntegrationBackgroundSlideshowXMLBuilder)) +#define DESKTOP_INTEGRATION_BACKGROUND_SLIDESHOW_XML_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER, DesktopIntegrationBackgroundSlideshowXMLBuilderClass)) +#define DESKTOP_INTEGRATION_IS_BACKGROUND_SLIDESHOW_XML_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER)) +#define DESKTOP_INTEGRATION_IS_BACKGROUND_SLIDESHOW_XML_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER)) +#define DESKTOP_INTEGRATION_BACKGROUND_SLIDESHOW_XML_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER, DesktopIntegrationBackgroundSlideshowXMLBuilderClass)) + +typedef struct _DesktopIntegrationBackgroundSlideshowXMLBuilder DesktopIntegrationBackgroundSlideshowXMLBuilder; +typedef struct _DesktopIntegrationBackgroundSlideshowXMLBuilderClass DesktopIntegrationBackgroundSlideshowXMLBuilderClass; +typedef struct _DesktopIntegrationBackgroundSlideshowXMLBuilderPrivate DesktopIntegrationBackgroundSlideshowXMLBuilderPrivate; +typedef struct _DesktopIntegrationParamSpecBackgroundSlideshowXMLBuilder DesktopIntegrationParamSpecBackgroundSlideshowXMLBuilder; +#define _desktop_integration_background_slideshow_xml_builder_unref0(var) ((var == NULL) ? NULL : (var = (desktop_integration_background_slideshow_xml_builder_unref (var), NULL))) +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef void (*ExporterCompletionCallback) (Exporter* exporter, gboolean is_cancelled, void* user_data); +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _DesktopIntegrationBackgroundSlideshowXMLBuilder { + GTypeInstance parent_instance; + volatile int ref_count; + DesktopIntegrationBackgroundSlideshowXMLBuilderPrivate * priv; +}; + +struct _DesktopIntegrationBackgroundSlideshowXMLBuilderClass { + GTypeClass parent_class; + void (*finalize) (DesktopIntegrationBackgroundSlideshowXMLBuilder *self); +}; + +struct _DesktopIntegrationBackgroundSlideshowXMLBuilderPrivate { + GFile* destination; + gdouble duration; + gdouble transition; + GFile* tmp_file; + GDataOutputStream* outs; + GFile* first_file; + GFile* last_file; +}; + +struct _DesktopIntegrationParamSpecBackgroundSlideshowXMLBuilder { + GParamSpec parent_instance; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); + +extern gint desktop_integration_init_count; +gint desktop_integration_init_count = 0; +extern gboolean desktop_integration_send_to_installed; +gboolean desktop_integration_send_to_installed = FALSE; +extern ExporterUI* desktop_integration_send_to_exporter; +ExporterUI* desktop_integration_send_to_exporter = NULL; +extern ExporterUI* desktop_integration_desktop_slideshow_exporter; +ExporterUI* desktop_integration_desktop_slideshow_exporter = NULL; +extern gdouble desktop_integration_desktop_slideshow_transition; +gdouble desktop_integration_desktop_slideshow_transition = 0.0; +extern gdouble desktop_integration_desktop_slideshow_duration; +gdouble desktop_integration_desktop_slideshow_duration = 0.0; +extern gboolean desktop_integration_set_desktop_background; +gboolean desktop_integration_set_desktop_background = FALSE; +extern gboolean desktop_integration_set_screensaver; +gboolean desktop_integration_set_screensaver = FALSE; +static gpointer desktop_integration_background_slideshow_xml_builder_parent_class = NULL; + +#define DESKTOP_INTEGRATION_SENDTO_EXEC "nautilus-sendto" +#define DESKTOP_INTEGRATION_DESKTOP_SLIDESHOW_XML_FILENAME "wallpaper.xml" +gpointer exporter_ui_ref (gpointer instance); +void exporter_ui_unref (gpointer instance); +GParamSpec* param_spec_exporter_ui (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_exporter_ui (GValue* value, gpointer v_object); +void value_take_exporter_ui (GValue* value, gpointer v_object); +gpointer value_get_exporter_ui (const GValue* value); +GType exporter_ui_get_type (void) G_GNUC_CONST; +void desktop_integration_init (void); +void desktop_integration_terminate (void); +GAppInfo* desktop_integration_get_default_app_for_mime_types (gchar** mime_types, int mime_types_length1, GeeArrayList* preferred_apps); +GType sorted_list_get_type (void) G_GNUC_CONST; +SortedList* desktop_integration_get_apps_for_mime_types (gchar** mime_types, int mime_types_length1); +gint64 desktop_integration_app_info_comparator (void* a, void* b); +static gint64 _desktop_integration_app_info_comparator_comparator (void* a, void* b, gpointer self); +SortedList* sorted_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +SortedList* sorted_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +#define RESOURCES_APP_TITLE "Shotwell" +static void _g_object_unref0_ (gpointer var); +static void _g_list_free__g_object_unref0_ (GList* self); +gchar* desktop_integration_get_app_open_command (GAppInfo* app_info); +gboolean desktop_integration_is_send_to_installed (void); +void desktop_integration_files_send_to (GFile** files, int files_length1); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +void page_window_set_busy_cursor (PageWindow* self); +void page_window_set_normal_cursor (PageWindow* self); +void app_window_error_message (const gchar* message, GtkWindow* parent); +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; +void desktop_integration_send_to (GeeCollection* media); +GType export_dialog_get_type (void) G_GNUC_CONST; +ExportDialog* export_dialog_new (const gchar* title); +ExportDialog* export_dialog_construct (GType object_type, const gchar* title); +gboolean media_source_collection_has_video (GeeCollection* media); +gboolean media_source_collection_has_photo (GeeCollection* media); +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +GType exporter_get_type (void) G_GNUC_CONST; +ExporterUI* video_export_many (GeeCollection* videos, ExporterCompletionCallback done, void* done_target, gboolean export_in_place); +void desktop_integration_on_send_to_export_completed (Exporter* exporter, gboolean is_cancelled); +static void _desktop_integration_on_send_to_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self); +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +void export_format_parameters_current (ExportFormatParameters* result); +gboolean export_dialog_execute (ExportDialog* self, gint* scale, ScaleConstraint* constraint, ExportFormatParameters* parameters); +GType scaling_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void scaling_for_constraint (ScaleConstraint constraint, gint scale, gboolean scale_up, Scaling* result); +Exporter* exporter_new_for_temp_file (GeeCollection* to_export, Scaling* scaling, ExportFormatParameters* export_params); +Exporter* exporter_construct_for_temp_file (GType object_type, GeeCollection* to_export, Scaling* scaling, ExportFormatParameters* export_params); +ExporterUI* exporter_ui_new (Exporter* exporter); +ExporterUI* exporter_ui_construct (GType object_type, Exporter* exporter); +void exporter_ui_export (ExporterUI* self, ExporterCompletionCallback completion_callback, void* completion_callback_target); +GFile** exporter_get_exported_files (Exporter* self, int* result_length1); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +void desktop_integration_set_background (Photo* photo, gboolean desktop, gboolean screensaver); +PhotoFileFormat photo_get_best_export_file_format (Photo* self); +GFile* app_dirs_get_data_subdir (const gchar* name, const gchar* subname); +gchar* photo_file_format_get_default_basename (PhotoFileFormat self, const gchar* name); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gchar* configuration_facade_get_desktop_background (ConfigurationFacade* self); +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +void scaling_for_original (Scaling* result); +void configuration_facade_set_desktop_background (ConfigurationFacade* self, const gchar* filename); +void configuration_facade_set_screensaver (ConfigurationFacade* self, const gchar* filename); +gpointer desktop_integration_background_slideshow_xml_builder_ref (gpointer instance); +void desktop_integration_background_slideshow_xml_builder_unref (gpointer instance); +GParamSpec* desktop_integration_param_spec_background_slideshow_xml_builder (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void desktop_integration_value_set_background_slideshow_xml_builder (GValue* value, gpointer v_object); +void desktop_integration_value_take_background_slideshow_xml_builder (GValue* value, gpointer v_object); +gpointer desktop_integration_value_get_background_slideshow_xml_builder (const GValue* value); +GType desktop_integration_background_slideshow_xml_builder_get_type (void) G_GNUC_CONST; +#define DESKTOP_INTEGRATION_BACKGROUND_SLIDESHOW_XML_BUILDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER, DesktopIntegrationBackgroundSlideshowXMLBuilderPrivate)) +enum { + DESKTOP_INTEGRATION_BACKGROUND_SLIDESHOW_XML_BUILDER_DUMMY_PROPERTY +}; +DesktopIntegrationBackgroundSlideshowXMLBuilder* desktop_integration_background_slideshow_xml_builder_new (GFile* destination, gdouble duration, gdouble transition); +DesktopIntegrationBackgroundSlideshowXMLBuilder* desktop_integration_background_slideshow_xml_builder_construct (GType object_type, GFile* destination, gdouble duration, gdouble transition); +void desktop_integration_background_slideshow_xml_builder_open (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GError** error); +static void desktop_integration_background_slideshow_xml_builder_write_transition (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GFile* from, GFile* to, GError** error); +static void desktop_integration_background_slideshow_xml_builder_write_static (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GFile* file, GError** error); +void desktop_integration_background_slideshow_xml_builder_add_photo (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GFile* file, GError** error); +GFile* desktop_integration_background_slideshow_xml_builder_close (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GError** error); +static void desktop_integration_background_slideshow_xml_builder_finalize (DesktopIntegrationBackgroundSlideshowXMLBuilder* obj); +void desktop_integration_set_background_slideshow (GeeCollection* photos, gdouble duration, gdouble transition, gboolean desktop_background, gboolean screensaver); +void delete_all_files (GFile* dir, GeeSet* exceptions, ProgressMonitor monitor, void* monitor_target, guint64 file_count, GCancellable* cancellable, GError** error); +void scaling_to_fill_screen (GtkWindow* window, Scaling* result); +Exporter* exporter_new (GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +Exporter* exporter_construct (GType object_type, GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +void desktop_integration_on_desktop_slideshow_exported (Exporter* exporter, gboolean is_cancelled); +static void _desktop_integration_on_desktop_slideshow_exported_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +void desktop_integration_init (void) { + gint _tmp0_ = 0; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = desktop_integration_init_count; +#line 23 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_init_count = _tmp0_ + 1; +#line 23 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp0_ != 0) { +#line 24 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 445 "DesktopIntegration.c" + } +#line 26 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = g_find_program_in_path (DESKTOP_INTEGRATION_SENDTO_EXEC); +#line 26 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = _tmp1_; +#line 26 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_send_to_installed = _tmp2_ != NULL; +#line 26 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp2_); +#line 455 "DesktopIntegration.c" +} + + +void desktop_integration_terminate (void) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 30 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = desktop_integration_init_count; +#line 30 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_init_count = _tmp0_ - 1; +#line 30 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = desktop_integration_init_count; +#line 30 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp1_ == 0) { +#line 31 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 472 "DesktopIntegration.c" + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return self ? g_object_ref (self) : NULL; +#line 480 "DesktopIntegration.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 500 "DesktopIntegration.c" +} + + +GAppInfo* desktop_integration_get_default_app_for_mime_types (gchar** mime_types, int mime_types_length1, GeeArrayList* preferred_apps) { + GAppInfo* result = NULL; + SortedList* external_apps = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SortedList* _tmp1_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_val_if_fail (GEE_IS_ARRAY_LIST (preferred_apps), NULL); +#line 36 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = mime_types; +#line 36 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0__length1 = mime_types_length1; +#line 36 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = desktop_integration_get_apps_for_mime_types (_tmp0_, _tmp0__length1); +#line 36 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + external_apps = _tmp1_; +#line 520 "DesktopIntegration.c" + { + GeeArrayList* _preferred_app_list = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + gint _preferred_app_size = 0; + GeeArrayList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _preferred_app_index = 0; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = preferred_apps; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _preferred_app_list = _tmp3_; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = _preferred_app_list; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = _tmp5_; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _preferred_app_size = _tmp6_; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _preferred_app_index = -1; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + while (TRUE) { +#line 548 "DesktopIntegration.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gchar* preferred_app = NULL; + GeeArrayList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = _preferred_app_index; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _preferred_app_index = _tmp7_ + 1; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = _preferred_app_index; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = _preferred_app_size; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + break; +#line 568 "DesktopIntegration.c" + } +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = _preferred_app_list; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = _preferred_app_index; +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp11_); +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + preferred_app = (gchar*) _tmp12_; +#line 578 "DesktopIntegration.c" + { + GeeIterator* _external_app_it = NULL; + SortedList* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = external_apps; +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _external_app_it = _tmp14_; +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + while (TRUE) { +#line 591 "DesktopIntegration.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + GAppInfo* external_app = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + GAppInfo* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp15_ = _external_app_it; +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!_tmp16_) { +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + break; +#line 609 "DesktopIntegration.c" + } +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp17_ = _external_app_it; +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + external_app = (GAppInfo*) _tmp18_; +#line 40 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp19_ = external_app; +#line 40 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp20_ = g_app_info_get_name (_tmp19_); +#line 40 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp21_ = preferred_app; +#line 40 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp22_ = string_contains (_tmp20_, _tmp21_); +#line 40 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp22_) { +#line 41 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = external_app; +#line 41 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_external_app_it); +#line 41 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (preferred_app); +#line 41 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_preferred_app_list); +#line 41 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (external_apps); +#line 41 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 639 "DesktopIntegration.c" + } +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (external_app); +#line 643 "DesktopIntegration.c" + } +#line 39 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_external_app_it); +#line 647 "DesktopIntegration.c" + } +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (preferred_app); +#line 651 "DesktopIntegration.c" + } +#line 38 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_preferred_app_list); +#line 655 "DesktopIntegration.c" + } +#line 45 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = NULL; +#line 45 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (external_apps); +#line 45 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 663 "DesktopIntegration.c" +} + + +gint64 desktop_integration_app_info_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + void* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint64 _tmp9_ = 0LL; +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = a; +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = g_app_info_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, g_app_info_get_type (), GAppInfo)); +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = g_utf8_strdown (_tmp1_, (gssize) -1); +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = _tmp2_; +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = b; +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = g_app_info_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, g_app_info_get_type (), GAppInfo)); +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = g_utf8_strdown (_tmp5_, (gssize) -1); +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = _tmp6_; +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = g_utf8_collate (_tmp3_, _tmp7_); +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = (gint64) _tmp8_; +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp7_); +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp3_); +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = _tmp9_; +#line 50 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 707 "DesktopIntegration.c" +} + + +static gint64 _desktop_integration_app_info_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = desktop_integration_app_info_comparator (a, b); +#line 54 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 716 "DesktopIntegration.c" +} + + +static void _g_object_unref0_ (gpointer var) { +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); +#line 723 "DesktopIntegration.c" +} + + +static void _g_list_free__g_object_unref0_ (GList* self) { +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_list_foreach (self, (GFunc) _g_object_unref0_, NULL); +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_list_free (self); +#line 732 "DesktopIntegration.c" +} + + +SortedList* desktop_integration_get_apps_for_mime_types (gchar** mime_types, int mime_types_length1) { + SortedList* result = NULL; + SortedList* external_apps = NULL; + SortedList* _tmp0_ = NULL; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 54 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = sorted_list_new (g_app_info_get_type (), (GBoxedCopyFunc) g_object_ref, g_object_unref, _desktop_integration_app_info_comparator_comparator, NULL); +#line 54 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + external_apps = _tmp0_; +#line 56 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = mime_types; +#line 56 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1__length1 = mime_types_length1; +#line 56 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp1__length1 == 0) { +#line 57 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = external_apps; +#line 57 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 758 "DesktopIntegration.c" + } +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = mime_types; +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2__length1 = mime_types_length1; +#line 764 "DesktopIntegration.c" + { + gchar** mime_type_collection = NULL; + gint mime_type_collection_length1 = 0; + gint _mime_type_collection_size_ = 0; + gint mime_type_it = 0; +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + mime_type_collection = _tmp2_; +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + mime_type_collection_length1 = _tmp2__length1; +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + for (mime_type_it = 0; mime_type_it < _tmp2__length1; mime_type_it = mime_type_it + 1) { +#line 776 "DesktopIntegration.c" + gchar* _tmp3_ = NULL; + gchar* mime_type = NULL; +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = g_strdup (mime_type_collection[mime_type_it]); +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + mime_type = _tmp3_; +#line 783 "DesktopIntegration.c" + { + gchar* content_type = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GList* _tmp8_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = mime_type; +#line 62 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = g_content_type_from_mime_type (_tmp4_); +#line 62 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + content_type = _tmp5_; +#line 63 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = content_type; +#line 63 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp6_ == NULL) { +#line 64 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (content_type); +#line 64 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (mime_type); +#line 64 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + break; +#line 807 "DesktopIntegration.c" + } +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = content_type; +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = g_app_info_get_all_for_type (_tmp7_); +#line 813 "DesktopIntegration.c" + { + GList* external_app_collection = NULL; + GList* external_app_it = NULL; +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + external_app_collection = _tmp8_; +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + for (external_app_it = external_app_collection; external_app_it != NULL; external_app_it = external_app_it->next) { +#line 821 "DesktopIntegration.c" + GAppInfo* _tmp9_ = NULL; + GAppInfo* external_app = NULL; +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = _g_object_ref0 ((GAppInfo*) external_app_it->data); +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + external_app = _tmp9_; +#line 828 "DesktopIntegration.c" + { + gboolean already_contains = FALSE; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; +#line 68 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + already_contains = FALSE; +#line 835 "DesktopIntegration.c" + { + GeeIterator* _app_it = NULL; + SortedList* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = external_apps; +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _app_it = _tmp11_; +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + while (TRUE) { +#line 848 "DesktopIntegration.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GAppInfo* app = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GAppInfo* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GAppInfo* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = _app_it; +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!_tmp13_) { +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + break; +#line 866 "DesktopIntegration.c" + } +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp14_ = _app_it; +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + app = (GAppInfo*) _tmp15_; +#line 71 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp16_ = app; +#line 71 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp17_ = g_app_info_get_name (_tmp16_); +#line 71 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp18_ = external_app; +#line 71 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp19_ = g_app_info_get_name (_tmp18_); +#line 71 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (g_strcmp0 (_tmp17_, _tmp19_) == 0) { +#line 72 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + already_contains = TRUE; +#line 73 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (app); +#line 73 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + break; +#line 890 "DesktopIntegration.c" + } +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (app); +#line 894 "DesktopIntegration.c" + } +#line 70 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_app_it); +#line 898 "DesktopIntegration.c" + } +#line 78 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp21_ = already_contains; +#line 78 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!_tmp21_) { +#line 904 "DesktopIntegration.c" + GAppInfo* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 78 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp22_ = external_app; +#line 78 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp23_ = g_app_info_get_name (_tmp22_); +#line 78 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp24_ = string_contains (_tmp23_, RESOURCES_APP_TITLE); +#line 78 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp20_ = !_tmp24_; +#line 916 "DesktopIntegration.c" + } else { +#line 78 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp20_ = FALSE; +#line 920 "DesktopIntegration.c" + } +#line 78 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp20_) { +#line 924 "DesktopIntegration.c" + SortedList* _tmp25_ = NULL; + GAppInfo* _tmp26_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp25_ = external_apps; +#line 79 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp26_ = external_app; +#line 79 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection), _tmp26_); +#line 933 "DesktopIntegration.c" + } +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (external_app); +#line 937 "DesktopIntegration.c" + } + } +#line 66 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + __g_list_free__g_object_unref0_0 (external_app_collection); +#line 942 "DesktopIntegration.c" + } +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (content_type); +#line 61 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (mime_type); +#line 948 "DesktopIntegration.c" + } + } + } +#line 83 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = external_apps; +#line 83 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 956 "DesktopIntegration.c" +} + + +gchar* desktop_integration_get_app_open_command (GAppInfo* app_info) { + gchar* result = NULL; + gchar* str = NULL; + GAppInfo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp8_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_val_if_fail (G_IS_APP_INFO (app_info), NULL); +#line 87 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = app_info; +#line 87 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = g_app_info_get_commandline (_tmp0_); +#line 87 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 87 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + str = _tmp2_; +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = str; +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp4_ != NULL) { +#line 983 "DesktopIntegration.c" + const gchar* _tmp5_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = str; +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = _tmp5_; +#line 989 "DesktopIntegration.c" + } else { + GAppInfo* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = app_info; +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = g_app_info_get_executable (_tmp6_); +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = _tmp7_; +#line 999 "DesktopIntegration.c" + } +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = g_strdup (_tmp3_); +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = _tmp8_; +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (str); +#line 89 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 1009 "DesktopIntegration.c" +} + + +gboolean desktop_integration_is_send_to_installed (void) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 93 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = desktop_integration_send_to_installed; +#line 93 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = _tmp0_; +#line 93 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 1022 "DesktopIntegration.c" +} + + +void desktop_integration_files_send_to (GFile** files, int files_length1) { + GFile** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** argv = NULL; + GFile** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint argv_length1 = 0; + gint _argv_size_ = 0; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = files; +#line 97 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0__length1 = files_length1; +#line 97 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp0__length1 == 0) { +#line 98 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1048 "DesktopIntegration.c" + } +#line 100 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = files; +#line 100 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1__length1 = files_length1; +#line 100 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = g_new0 (gchar*, (_tmp1__length1 + 1) + 1); +#line 100 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + argv = _tmp2_; +#line 100 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + argv_length1 = _tmp1__length1 + 1; +#line 100 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _argv_size_ = argv_length1; +#line 101 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = argv; +#line 101 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3__length1 = argv_length1; +#line 101 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = g_strdup (DESKTOP_INTEGRATION_SENDTO_EXEC); +#line 101 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp3_[0]); +#line 101 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_[0] = _tmp4_; +#line 101 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = _tmp3_[0]; +#line 1074 "DesktopIntegration.c" + { + gint ctr = 0; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + ctr = 0; +#line 1079 "DesktopIntegration.c" + { + gboolean _tmp6_ = FALSE; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = TRUE; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + while (TRUE) { +#line 1086 "DesktopIntegration.c" + gint _tmp8_ = 0; + GFile** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + GFile** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + GFile* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!_tmp6_) { +#line 1101 "DesktopIntegration.c" + gint _tmp7_ = 0; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = ctr; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + ctr = _tmp7_ + 1; +#line 1107 "DesktopIntegration.c" + } +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = FALSE; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = ctr; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = files; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9__length1 = files_length1; +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!(_tmp8_ < _tmp9__length1)) { +#line 103 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + break; +#line 1121 "DesktopIntegration.c" + } +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = argv; +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10__length1 = argv_length1; +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = ctr; +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = files; +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12__length1 = files_length1; +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = ctr; +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp14_ = _tmp12_[_tmp13_]; +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp15_ = g_file_get_path (_tmp14_); +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp10_[_tmp11_ + 1]); +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_[_tmp11_ + 1] = _tmp15_; +#line 104 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp16_ = _tmp10_[_tmp11_ + 1]; +#line 1145 "DesktopIntegration.c" + } + } + } + { + AppWindow* _tmp17_ = NULL; + AppWindow* _tmp18_ = NULL; + GPid child_pid = 0; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + GPid _tmp20_ = 0; + AppWindow* _tmp21_ = NULL; + AppWindow* _tmp22_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp17_ = app_window_get_instance (); +#line 107 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp18_ = _tmp17_; +#line 107 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PAGE_WINDOW, PageWindow)); +#line 107 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp18_); +#line 110 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp19_ = argv; +#line 110 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp19__length1 = argv_length1; +#line 110 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_spawn_async ("/", _tmp19_, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &_tmp20_, &_inner_error_); +#line 110 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + child_pid = _tmp20_; +#line 110 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1176 "DesktopIntegration.c" + goto __catch554_g_error; + } +#line 118 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp21_ = app_window_get_instance (); +#line 118 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp22_ = _tmp21_; +#line 118 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PAGE_WINDOW, PageWindow)); +#line 118 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp22_); +#line 1187 "DesktopIntegration.c" + } + goto __finally554; + __catch554_g_error: + { + GError* err = NULL; + AppWindow* _tmp23_ = NULL; + AppWindow* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GError* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + err = _inner_error_; +#line 106 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _inner_error_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp23_ = app_window_get_instance (); +#line 120 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp24_ = _tmp23_; +#line 120 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_PAGE_WINDOW, PageWindow)); +#line 120 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp24_); +#line 121 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp25_ = _ ("Unable to launch Nautilus Send-To: %s"); +#line 121 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp26_ = err; +#line 121 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp27_ = _tmp26_->message; +#line 121 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp28_ = g_strdup_printf (_tmp25_, _tmp27_); +#line 121 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp29_ = _tmp28_; +#line 121 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + app_window_error_message (_tmp29_, NULL); +#line 121 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp29_); +#line 106 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_error_free0 (err); +#line 1228 "DesktopIntegration.c" + } + __finally554: +#line 106 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 106 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 106 "/home/jens/Source/shotwell/src/DesktopIntegration.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 106 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_clear_error (&_inner_error_); +#line 106 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1241 "DesktopIntegration.c" + } +#line 96 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 1245 "DesktopIntegration.c" +} + + +static void _desktop_integration_on_send_to_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self) { +#line 135 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_on_send_to_export_completed (exporter, is_cancelled); +#line 1252 "DesktopIntegration.c" +} + + +void desktop_integration_send_to (GeeCollection* media) { + gboolean _tmp0_ = FALSE; + GeeCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + ExportDialog* dialog = NULL; + const gchar* _tmp5_ = NULL; + ExportDialog* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GeeCollection* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gint scale = 0; + ScaleConstraint constraint = 0; + ExportFormatParameters export_params = {0}; + ExportFormatParameters _tmp14_ = {0}; + ExportDialog* _tmp15_ = NULL; + gint _tmp16_ = 0; + ScaleConstraint _tmp17_ = 0; + gboolean _tmp18_ = FALSE; + GeeCollection* _tmp19_ = NULL; + ScaleConstraint _tmp20_ = 0; + gint _tmp21_ = 0; + Scaling _tmp22_ = {0}; + ExportFormatParameters _tmp23_ = {0}; + Exporter* _tmp24_ = NULL; + Exporter* _tmp25_ = NULL; + ExporterUI* _tmp26_ = NULL; + ExporterUI* _tmp27_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 126 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = media; +#line 126 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = gee_collection_get_size (_tmp1_); +#line 126 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = _tmp2_; +#line 126 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp3_ == 0) { +#line 126 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = TRUE; +#line 1296 "DesktopIntegration.c" + } else { + ExporterUI* _tmp4_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = desktop_integration_send_to_exporter; +#line 126 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = _tmp4_ != NULL; +#line 1303 "DesktopIntegration.c" + } +#line 126 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp0_) { +#line 127 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1309 "DesktopIntegration.c" + } +#line 129 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = _ ("Send To"); +#line 129 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = export_dialog_new (_tmp5_); +#line 129 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_object_ref_sink (_tmp6_); +#line 129 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + dialog = _tmp6_; +#line 134 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = media; +#line 134 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = media_source_collection_has_video (_tmp8_); +#line 134 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp9_) { +#line 1325 "DesktopIntegration.c" + GeeCollection* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 134 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = media; +#line 134 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = media_source_collection_has_photo (_tmp10_); +#line 134 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = !_tmp11_; +#line 1334 "DesktopIntegration.c" + } else { +#line 134 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = FALSE; +#line 1338 "DesktopIntegration.c" + } +#line 134 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp7_) { +#line 1342 "DesktopIntegration.c" + GeeCollection* _tmp12_ = NULL; + ExporterUI* _tmp13_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = media; +#line 135 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = video_export_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _desktop_integration_on_send_to_export_completed_exporter_completion_callback, NULL, TRUE); +#line 135 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _exporter_ui_unref0 (desktop_integration_send_to_exporter); +#line 135 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_send_to_exporter = _tmp13_; +#line 137 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (dialog); +#line 137 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1357 "DesktopIntegration.c" + } +#line 142 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + export_format_parameters_current (&_tmp14_); +#line 142 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + export_params = _tmp14_; +#line 143 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp15_ = dialog; +#line 143 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp18_ = export_dialog_execute (_tmp15_, &_tmp16_, &_tmp17_, &export_params); +#line 143 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + scale = _tmp16_; +#line 143 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + constraint = _tmp17_; +#line 143 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!_tmp18_) { +#line 144 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (dialog); +#line 144 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1377 "DesktopIntegration.c" + } +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp19_ = media; +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp20_ = constraint; +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp21_ = scale; +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + scaling_for_constraint (_tmp20_, _tmp21_, FALSE, &_tmp22_); +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp23_ = export_params; +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp24_ = exporter_new_for_temp_file (_tmp19_, &_tmp22_, &_tmp23_); +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp25_ = _tmp24_; +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp26_ = exporter_ui_new (_tmp25_); +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _exporter_ui_unref0 (desktop_integration_send_to_exporter); +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_send_to_exporter = _tmp26_; +#line 146 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp25_); +#line 148 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp27_ = desktop_integration_send_to_exporter; +#line 148 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + exporter_ui_export (_tmp27_, _desktop_integration_on_send_to_export_completed_exporter_completion_callback, NULL); +#line 125 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (dialog); +#line 1407 "DesktopIntegration.c" +} + + +void desktop_integration_on_send_to_export_completed (Exporter* exporter, gboolean is_cancelled) { + gboolean _tmp0_ = FALSE; +#line 151 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (IS_EXPORTER (exporter)); +#line 152 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = is_cancelled; +#line 152 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!_tmp0_) { +#line 1419 "DesktopIntegration.c" + Exporter* _tmp1_ = NULL; + gint _tmp2_ = 0; + GFile** _tmp3_ = NULL; + GFile** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 153 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = exporter; +#line 153 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = exporter_get_exported_files (_tmp1_, &_tmp2_); +#line 153 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = _tmp3_; +#line 153 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4__length1 = _tmp2_; +#line 153 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_files_send_to (_tmp4_, _tmp2_); +#line 153 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) g_object_unref), NULL); +#line 1437 "DesktopIntegration.c" + } +#line 155 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _exporter_ui_unref0 (desktop_integration_send_to_exporter); +#line 155 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_send_to_exporter = NULL; +#line 1443 "DesktopIntegration.c" +} + + +void desktop_integration_set_background (Photo* photo, gboolean desktop, gboolean screensaver) { + PhotoFileFormat file_format = 0; + Photo* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; + GFile* save_as = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + PhotoFileFormat _tmp4_ = 0; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + ConfigFacade* _tmp9_ = NULL; + ConfigFacade* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp35_ = FALSE; + gboolean _tmp41_ = FALSE; + GFile* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + GError * _inner_error_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 161 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = photo; +#line 161 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = photo_get_best_export_file_format (_tmp0_); +#line 161 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + file_format = _tmp1_; +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = app_dirs_get_data_subdir ("wallpaper", NULL); +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = _tmp2_; +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = file_format; +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = photo_file_format_get_default_basename (_tmp4_, "wallpaper"); +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = _tmp5_; +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = g_file_get_child (_tmp3_, _tmp6_); +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = _tmp7_; +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp6_); +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp3_); +#line 163 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + save_as = _tmp8_; +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = config_facade_get_instance (); +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = _tmp9_; +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = configuration_facade_get_desktop_background (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = _tmp11_; +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = save_as; +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp15_ = _tmp14_; +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp16_ = g_strcmp0 (_tmp12_, _tmp15_) == 0; +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp15_); +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp12_); +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp10_); +#line 166 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp16_) { +#line 1525 "DesktopIntegration.c" + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + PhotoFileFormat _tmp19_ = 0; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp17_ = app_dirs_get_data_subdir ("wallpaper", NULL); +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp18_ = _tmp17_; +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp19_ = file_format; +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp20_ = photo_file_format_get_default_basename (_tmp19_, "wallpaper_alt"); +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp21_ = _tmp20_; +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp22_ = g_file_get_child (_tmp18_, _tmp21_); +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (save_as); +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + save_as = _tmp22_; +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp21_); +#line 167 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp18_); +#line 1552 "DesktopIntegration.c" + } + { + Photo* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + Scaling _tmp25_ = {0}; + PhotoFileFormat _tmp26_ = 0; +#line 172 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp23_ = photo; +#line 172 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp24_ = save_as; +#line 172 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + scaling_for_original (&_tmp25_); +#line 172 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp26_ = file_format; +#line 172 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + photo_export (_tmp23_, _tmp24_, &_tmp25_, JPEG_QUALITY_HIGH, _tmp26_, FALSE, TRUE, &_inner_error_); +#line 172 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1571 "DesktopIntegration.c" + goto __catch555_g_error; + } + } + goto __finally555; + __catch555_g_error: + { + GError* err = NULL; + const gchar* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + GError* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + err = _inner_error_; +#line 171 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _inner_error_ = NULL; +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp27_ = _ ("Unable to export background to %s: %s"); +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp28_ = save_as; +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp29_ = g_file_get_path (_tmp28_); +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp30_ = _tmp29_; +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp31_ = err; +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp32_ = _tmp31_->message; +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp33_ = g_strdup_printf (_tmp27_, _tmp30_, _tmp32_); +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp34_ = _tmp33_; +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + app_window_error_message (_tmp34_, NULL); +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp34_); +#line 174 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp30_); +#line 177 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_error_free0 (err); +#line 177 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (save_as); +#line 177 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1619 "DesktopIntegration.c" + } + __finally555: +#line 171 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 171 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (save_as); +#line 171 "/home/jens/Source/shotwell/src/DesktopIntegration.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 171 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_clear_error (&_inner_error_); +#line 171 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1632 "DesktopIntegration.c" + } +#line 180 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp35_ = desktop; +#line 180 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp35_) { +#line 1638 "DesktopIntegration.c" + ConfigFacade* _tmp36_ = NULL; + ConfigFacade* _tmp37_ = NULL; + GFile* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; +#line 181 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp36_ = config_facade_get_instance (); +#line 181 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp37_ = _tmp36_; +#line 181 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp38_ = save_as; +#line 181 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp39_ = g_file_get_path (_tmp38_); +#line 181 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp40_ = _tmp39_; +#line 181 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + configuration_facade_set_desktop_background (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp40_); +#line 181 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp40_); +#line 181 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp37_); +#line 1660 "DesktopIntegration.c" + } +#line 183 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp41_ = screensaver; +#line 183 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp41_) { +#line 1666 "DesktopIntegration.c" + ConfigFacade* _tmp42_ = NULL; + ConfigFacade* _tmp43_ = NULL; + GFile* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; +#line 184 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp42_ = config_facade_get_instance (); +#line 184 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp43_ = _tmp42_; +#line 184 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp44_ = save_as; +#line 184 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp45_ = g_file_get_path (_tmp44_); +#line 184 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp46_ = _tmp45_; +#line 184 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + configuration_facade_set_screensaver (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp46_); +#line 184 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp46_); +#line 184 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp43_); +#line 1688 "DesktopIntegration.c" + } +#line 187 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp47_ = save_as; +#line 187 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp48_ = g_file_get_parse_name (_tmp47_); +#line 187 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp49_ = _tmp48_; +#line 187 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_chmod (_tmp49_, 0644); +#line 187 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp49_); +#line 158 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (save_as); +#line 1702 "DesktopIntegration.c" +} + + +DesktopIntegrationBackgroundSlideshowXMLBuilder* desktop_integration_background_slideshow_xml_builder_construct (GType object_type, GFile* destination, gdouble duration, gdouble transition) { + DesktopIntegrationBackgroundSlideshowXMLBuilder* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_val_if_fail (G_IS_FILE (destination), NULL); +#line 202 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self = (DesktopIntegrationBackgroundSlideshowXMLBuilder*) g_type_create_instance (object_type); +#line 203 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = destination; +#line 203 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 203 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->destination); +#line 203 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->destination = _tmp1_; +#line 204 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = duration; +#line 204 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->duration = _tmp2_; +#line 205 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = transition; +#line 205 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->transition = _tmp3_; +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = destination; +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = g_file_get_parent (_tmp4_); +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = _tmp5_; +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = destination; +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = g_file_get_basename (_tmp7_); +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = _tmp8_; +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = g_strconcat (_tmp9_, ".tmp", NULL); +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = _tmp10_; +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = g_file_get_child (_tmp6_, _tmp11_); +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->tmp_file); +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->tmp_file = _tmp12_; +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp11_); +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp9_); +#line 207 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp6_); +#line 202 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return self; +#line 1771 "DesktopIntegration.c" +} + + +DesktopIntegrationBackgroundSlideshowXMLBuilder* desktop_integration_background_slideshow_xml_builder_new (GFile* destination, gdouble duration, gdouble transition) { +#line 202 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return desktop_integration_background_slideshow_xml_builder_construct (DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER, destination, duration, transition); +#line 1778 "DesktopIntegration.c" +} + + +void desktop_integration_background_slideshow_xml_builder_open (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GError** error) { + GFileOutputStream* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileOutputStream* _tmp2_ = NULL; + GDataOutputStream* _tmp3_ = NULL; + GDataOutputStream* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (DESKTOP_INTEGRATION_IS_BACKGROUND_SLIDESHOW_XML_BUILDER (self)); +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = self->priv->tmp_file; +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = g_file_replace (_tmp1_, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &_inner_error_); +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = _tmp2_; +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1803 "DesktopIntegration.c" + } +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = g_data_output_stream_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OUTPUT_STREAM, GOutputStream)); +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->outs); +#line 211 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->outs = _tmp3_; +#line 212 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = self->priv->outs; +#line 212 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp4_, "\n", NULL, &_inner_error_); +#line 212 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 212 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 212 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp0_); +#line 212 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1823 "DesktopIntegration.c" + } +#line 210 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp0_); +#line 1827 "DesktopIntegration.c" +} + + +static void desktop_integration_background_slideshow_xml_builder_write_transition (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GFile* from, GFile* to, GError** error) { + GDataOutputStream* _tmp0_ = NULL; + GDataOutputStream* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GDataOutputStream* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GDataOutputStream* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GDataOutputStream* _tmp17_ = NULL; + GError * _inner_error_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (DESKTOP_INTEGRATION_IS_BACKGROUND_SLIDESHOW_XML_BUILDER (self)); +#line 215 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (G_IS_FILE (from)); +#line 215 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (G_IS_FILE (to)); +#line 216 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = self->priv->outs; +#line 216 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp0_, " \n", NULL, &_inner_error_); +#line 216 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 216 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 216 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1867 "DesktopIntegration.c" + } +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = self->priv->outs; +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = self->priv->transition; +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = g_strdup_printf (" %2.2f\n", _tmp2_); +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = _tmp3_; +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp1_, _tmp4_, NULL, &_inner_error_); +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp4_); +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 217 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1887 "DesktopIntegration.c" + } +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = self->priv->outs; +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = from; +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = _tmp7_; +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = g_strdup_printf (" %s\n", _tmp8_); +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = _tmp9_; +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp5_, _tmp10_, NULL, &_inner_error_); +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp10_); +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp8_); +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 218 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1913 "DesktopIntegration.c" + } +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = self->priv->outs; +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = to; +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = g_file_get_path (_tmp12_); +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp14_ = _tmp13_; +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp15_ = g_strdup_printf (" %s\n", _tmp14_); +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp16_ = _tmp15_; +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp11_, _tmp16_, NULL, &_inner_error_); +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp16_); +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp14_); +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 219 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1939 "DesktopIntegration.c" + } +#line 220 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp17_ = self->priv->outs; +#line 220 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp17_, " \n", NULL, &_inner_error_); +#line 220 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 220 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 220 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1951 "DesktopIntegration.c" + } +} + + +static void desktop_integration_background_slideshow_xml_builder_write_static (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GFile* file, GError** error) { + GDataOutputStream* _tmp0_ = NULL; + GDataOutputStream* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GDataOutputStream* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GDataOutputStream* _tmp11_ = NULL; + GError * _inner_error_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (DESKTOP_INTEGRATION_IS_BACKGROUND_SLIDESHOW_XML_BUILDER (self)); +#line 223 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 224 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = self->priv->outs; +#line 224 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp0_, " \n", NULL, &_inner_error_); +#line 224 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 224 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 224 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 1984 "DesktopIntegration.c" + } +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = self->priv->outs; +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = self->priv->duration; +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = g_strdup_printf (" %2.2f\n", _tmp2_); +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = _tmp3_; +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp1_, _tmp4_, NULL, &_inner_error_); +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp4_); +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 225 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2004 "DesktopIntegration.c" + } +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = self->priv->outs; +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = file; +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = _tmp7_; +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = g_strdup_printf (" %s\n", _tmp8_); +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = _tmp9_; +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp5_, _tmp10_, NULL, &_inner_error_); +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp10_); +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp8_); +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 226 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2030 "DesktopIntegration.c" + } +#line 227 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = self->priv->outs; +#line 227 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp11_, " \n", NULL, &_inner_error_); +#line 227 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 227 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 227 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2042 "DesktopIntegration.c" + } +} + + +void desktop_integration_background_slideshow_xml_builder_add_photo (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GFile* file, GError** error) { + GDataOutputStream* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GError * _inner_error_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (DESKTOP_INTEGRATION_IS_BACKGROUND_SLIDESHOW_XML_BUILDER (self)); +#line 230 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 231 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = self->priv->outs; +#line 231 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _vala_assert (_tmp0_ != NULL, "outs != null"); +#line 233 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = self->priv->first_file; +#line 233 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp1_ == NULL) { +#line 2067 "DesktopIntegration.c" + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = file; +#line 234 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 234 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->first_file); +#line 234 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->first_file = _tmp3_; +#line 2078 "DesktopIntegration.c" + } +#line 236 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = self->priv->last_file; +#line 236 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp4_ != NULL) { +#line 2084 "DesktopIntegration.c" + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = self->priv->last_file; +#line 237 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = file; +#line 237 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_write_transition (self, _tmp5_, _tmp6_, &_inner_error_); +#line 237 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 237 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 237 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2099 "DesktopIntegration.c" + } + } +#line 239 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = file; +#line 239 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_write_static (self, _tmp7_, &_inner_error_); +#line 239 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 239 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 239 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2112 "DesktopIntegration.c" + } +#line 241 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = file; +#line 241 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 241 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->last_file); +#line 241 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->last_file = _tmp9_; +#line 2122 "DesktopIntegration.c" +} + + +GFile* desktop_integration_background_slideshow_xml_builder_close (DesktopIntegrationBackgroundSlideshowXMLBuilder* self, GError** error) { + GFile* result = NULL; + GDataOutputStream* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + GDataOutputStream* _tmp6_ = NULL; + GDataOutputStream* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GError * _inner_error_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_val_if_fail (DESKTOP_INTEGRATION_IS_BACKGROUND_SLIDESHOW_XML_BUILDER (self), NULL); +#line 245 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = self->priv->outs; +#line 245 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp0_ == NULL) { +#line 246 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = NULL; +#line 246 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 2151 "DesktopIntegration.c" + } +#line 249 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = self->priv->first_file; +#line 249 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp2_ != NULL) { +#line 2157 "DesktopIntegration.c" + GFile* _tmp3_ = NULL; +#line 249 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = self->priv->last_file; +#line 249 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = _tmp3_ != NULL; +#line 2163 "DesktopIntegration.c" + } else { +#line 249 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = FALSE; +#line 2167 "DesktopIntegration.c" + } +#line 249 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp1_) { +#line 2171 "DesktopIntegration.c" + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = self->priv->last_file; +#line 250 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = self->priv->first_file; +#line 250 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_write_transition (self, _tmp4_, _tmp5_, &_inner_error_); +#line 250 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 250 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 250 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return NULL; +#line 2186 "DesktopIntegration.c" + } + } +#line 252 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = self->priv->outs; +#line 252 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_data_output_stream_put_string (_tmp6_, "\n", NULL, &_inner_error_); +#line 252 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 252 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 252 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return NULL; +#line 2199 "DesktopIntegration.c" + } +#line 254 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = self->priv->outs; +#line 254 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_output_stream_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, G_TYPE_OUTPUT_STREAM, GOutputStream), NULL, &_inner_error_); +#line 254 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 254 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 254 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return NULL; +#line 2211 "DesktopIntegration.c" + } +#line 255 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->outs); +#line 255 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->outs = NULL; +#line 258 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = self->priv->tmp_file; +#line 258 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = self->priv->destination; +#line 258 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_file_move (_tmp8_, _tmp9_, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &_inner_error_); +#line 258 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 258 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_propagate_error (error, _inner_error_); +#line 258 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return NULL; +#line 2229 "DesktopIntegration.c" + } +#line 259 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = self->priv->destination; +#line 259 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = g_file_get_parse_name (_tmp10_); +#line 259 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = _tmp11_; +#line 259 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_chmod (_tmp12_, 0644); +#line 259 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp12_); +#line 261 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = self->priv->destination; +#line 261 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp14_ = _g_object_ref0 (_tmp13_); +#line 261 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + result = _tmp14_; +#line 261 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return result; +#line 2249 "DesktopIntegration.c" +} + + +static void desktop_integration_value_background_slideshow_xml_builder_init (GValue* value) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + value->data[0].v_pointer = NULL; +#line 2256 "DesktopIntegration.c" +} + + +static void desktop_integration_value_background_slideshow_xml_builder_free_value (GValue* value) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (value->data[0].v_pointer) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_unref (value->data[0].v_pointer); +#line 2265 "DesktopIntegration.c" + } +} + + +static void desktop_integration_value_background_slideshow_xml_builder_copy_value (const GValue* src_value, GValue* dest_value) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (src_value->data[0].v_pointer) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + dest_value->data[0].v_pointer = desktop_integration_background_slideshow_xml_builder_ref (src_value->data[0].v_pointer); +#line 2275 "DesktopIntegration.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + dest_value->data[0].v_pointer = NULL; +#line 2279 "DesktopIntegration.c" + } +} + + +static gpointer desktop_integration_value_background_slideshow_xml_builder_peek_pointer (const GValue* value) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return value->data[0].v_pointer; +#line 2287 "DesktopIntegration.c" +} + + +static gchar* desktop_integration_value_background_slideshow_xml_builder_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (collect_values[0].v_pointer) { +#line 2294 "DesktopIntegration.c" + DesktopIntegrationBackgroundSlideshowXMLBuilder* object; + object = collect_values[0].v_pointer; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (object->parent_instance.g_class == NULL) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2301 "DesktopIntegration.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2305 "DesktopIntegration.c" + } +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + value->data[0].v_pointer = desktop_integration_background_slideshow_xml_builder_ref (object); +#line 2309 "DesktopIntegration.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + value->data[0].v_pointer = NULL; +#line 2313 "DesktopIntegration.c" + } +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return NULL; +#line 2317 "DesktopIntegration.c" +} + + +static gchar* desktop_integration_value_background_slideshow_xml_builder_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DesktopIntegrationBackgroundSlideshowXMLBuilder** object_p; + object_p = collect_values[0].v_pointer; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!object_p) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2328 "DesktopIntegration.c" + } +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (!value->data[0].v_pointer) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + *object_p = NULL; +#line 2334 "DesktopIntegration.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + *object_p = value->data[0].v_pointer; +#line 2338 "DesktopIntegration.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + *object_p = desktop_integration_background_slideshow_xml_builder_ref (value->data[0].v_pointer); +#line 2342 "DesktopIntegration.c" + } +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return NULL; +#line 2346 "DesktopIntegration.c" +} + + +GParamSpec* desktop_integration_param_spec_background_slideshow_xml_builder (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + DesktopIntegrationParamSpecBackgroundSlideshowXMLBuilder* spec; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_val_if_fail (g_type_is_a (object_type, DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER), NULL); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return G_PARAM_SPEC (spec); +#line 2360 "DesktopIntegration.c" +} + + +gpointer desktop_integration_value_get_background_slideshow_xml_builder (const GValue* value) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER), NULL); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return value->data[0].v_pointer; +#line 2369 "DesktopIntegration.c" +} + + +void desktop_integration_value_set_background_slideshow_xml_builder (GValue* value, gpointer v_object) { + DesktopIntegrationBackgroundSlideshowXMLBuilder* old; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER)); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + old = value->data[0].v_pointer; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (v_object) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER)); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + value->data[0].v_pointer = v_object; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_ref (value->data[0].v_pointer); +#line 2389 "DesktopIntegration.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + value->data[0].v_pointer = NULL; +#line 2393 "DesktopIntegration.c" + } +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (old) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_unref (old); +#line 2399 "DesktopIntegration.c" + } +} + + +void desktop_integration_value_take_background_slideshow_xml_builder (GValue* value, gpointer v_object) { + DesktopIntegrationBackgroundSlideshowXMLBuilder* old; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER)); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + old = value->data[0].v_pointer; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (v_object) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER)); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + value->data[0].v_pointer = v_object; +#line 2418 "DesktopIntegration.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + value->data[0].v_pointer = NULL; +#line 2422 "DesktopIntegration.c" + } +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (old) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_unref (old); +#line 2428 "DesktopIntegration.c" + } +} + + +static void desktop_integration_background_slideshow_xml_builder_class_init (DesktopIntegrationBackgroundSlideshowXMLBuilderClass * klass) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_parent_class = g_type_class_peek_parent (klass); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + ((DesktopIntegrationBackgroundSlideshowXMLBuilderClass *) klass)->finalize = desktop_integration_background_slideshow_xml_builder_finalize; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_type_class_add_private (klass, sizeof (DesktopIntegrationBackgroundSlideshowXMLBuilderPrivate)); +#line 2440 "DesktopIntegration.c" +} + + +static void desktop_integration_background_slideshow_xml_builder_instance_init (DesktopIntegrationBackgroundSlideshowXMLBuilder * self) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv = DESKTOP_INTEGRATION_BACKGROUND_SLIDESHOW_XML_BUILDER_GET_PRIVATE (self); +#line 198 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->outs = NULL; +#line 199 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->first_file = NULL; +#line 200 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->priv->last_file = NULL; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self->ref_count = 1; +#line 2455 "DesktopIntegration.c" +} + + +static void desktop_integration_background_slideshow_xml_builder_finalize (DesktopIntegrationBackgroundSlideshowXMLBuilder* obj) { + DesktopIntegrationBackgroundSlideshowXMLBuilder * self; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DESKTOP_INTEGRATION_TYPE_BACKGROUND_SLIDESHOW_XML_BUILDER, DesktopIntegrationBackgroundSlideshowXMLBuilder); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_signal_handlers_destroy (self); +#line 194 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->destination); +#line 197 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->tmp_file); +#line 198 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->outs); +#line 199 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->first_file); +#line 200 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (self->priv->last_file); +#line 2475 "DesktopIntegration.c" +} + + +GType desktop_integration_background_slideshow_xml_builder_get_type (void) { + static volatile gsize desktop_integration_background_slideshow_xml_builder_type_id__volatile = 0; + if (g_once_init_enter (&desktop_integration_background_slideshow_xml_builder_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { desktop_integration_value_background_slideshow_xml_builder_init, desktop_integration_value_background_slideshow_xml_builder_free_value, desktop_integration_value_background_slideshow_xml_builder_copy_value, desktop_integration_value_background_slideshow_xml_builder_peek_pointer, "p", desktop_integration_value_background_slideshow_xml_builder_collect_value, "p", desktop_integration_value_background_slideshow_xml_builder_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DesktopIntegrationBackgroundSlideshowXMLBuilderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) desktop_integration_background_slideshow_xml_builder_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DesktopIntegrationBackgroundSlideshowXMLBuilder), 0, (GInstanceInitFunc) desktop_integration_background_slideshow_xml_builder_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType desktop_integration_background_slideshow_xml_builder_type_id; + desktop_integration_background_slideshow_xml_builder_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DesktopIntegrationBackgroundSlideshowXMLBuilder", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&desktop_integration_background_slideshow_xml_builder_type_id__volatile, desktop_integration_background_slideshow_xml_builder_type_id); + } + return desktop_integration_background_slideshow_xml_builder_type_id__volatile; +} + + +gpointer desktop_integration_background_slideshow_xml_builder_ref (gpointer instance) { + DesktopIntegrationBackgroundSlideshowXMLBuilder* self; + self = instance; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_atomic_int_inc (&self->ref_count); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return instance; +#line 2500 "DesktopIntegration.c" +} + + +void desktop_integration_background_slideshow_xml_builder_unref (gpointer instance) { + DesktopIntegrationBackgroundSlideshowXMLBuilder* self; + self = instance; +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + DESKTOP_INTEGRATION_BACKGROUND_SLIDESHOW_XML_BUILDER_GET_CLASS (self)->finalize (self); +#line 193 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2513 "DesktopIntegration.c" + } +} + + +static void _desktop_integration_on_desktop_slideshow_exported_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self) { +#line 290 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_on_desktop_slideshow_exported (exporter, is_cancelled); +#line 2521 "DesktopIntegration.c" +} + + +void desktop_integration_set_background_slideshow (GeeCollection* photos, gdouble duration, gdouble transition, gboolean desktop_background, gboolean screensaver) { + ExporterUI* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GFile* wallpaper_dir = NULL; + GFile* _tmp3_ = NULL; + GeeSet* exceptions = NULL; + GeeHashSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + Exporter* exporter = NULL; + GeeCollection* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + AppWindow* _tmp14_ = NULL; + AppWindow* _tmp15_ = NULL; + Scaling _tmp16_ = {0}; + ExportFormatParameters _tmp17_ = {0}; + Exporter* _tmp18_ = NULL; + Exporter* _tmp19_ = NULL; + Exporter* _tmp20_ = NULL; + ExporterUI* _tmp21_ = NULL; + ExporterUI* _tmp22_ = NULL; + GError * _inner_error_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (GEE_IS_COLLECTION (photos)); +#line 267 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = desktop_integration_desktop_slideshow_exporter; +#line 267 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp0_ != NULL) { +#line 268 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2557 "DesktopIntegration.c" + } +#line 270 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = desktop_background; +#line 270 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_set_desktop_background = _tmp1_; +#line 271 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = screensaver; +#line 271 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_set_screensaver = _tmp2_; +#line 273 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = app_dirs_get_data_subdir ("wallpaper", NULL); +#line 273 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + wallpaper_dir = _tmp3_; +#line 275 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 275 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + exceptions = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_SET, GeeSet); +#line 276 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = exceptions; +#line 276 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection), DESKTOP_INTEGRATION_DESKTOP_SLIDESHOW_XML_FILENAME); +#line 2579 "DesktopIntegration.c" + { + GFile* _tmp6_ = NULL; + GeeSet* _tmp7_ = NULL; +#line 278 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = wallpaper_dir; +#line 278 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = exceptions; +#line 278 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + delete_all_files (_tmp6_, _tmp7_, NULL, NULL, (guint64) 0, NULL, &_inner_error_); +#line 278 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2591 "DesktopIntegration.c" + goto __catch556_g_error; + } + } + goto __finally556; + __catch556_g_error: + { + GError* err = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 277 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + err = _inner_error_; +#line 277 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _inner_error_ = NULL; +#line 280 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = err; +#line 280 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = _tmp8_->message; +#line 280 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_warning ("DesktopIntegration.vala:280: Error attempting to clear wallpaper direc" \ +"tory: %s", _tmp9_); +#line 277 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_error_free0 (err); +#line 2613 "DesktopIntegration.c" + } + __finally556: +#line 277 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 277 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (exceptions); +#line 277 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (wallpaper_dir); +#line 277 "/home/jens/Source/shotwell/src/DesktopIntegration.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 277 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_clear_error (&_inner_error_); +#line 277 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2628 "DesktopIntegration.c" + } +#line 283 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = duration; +#line 283 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_desktop_slideshow_duration = _tmp10_; +#line 284 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp11_ = transition; +#line 284 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_desktop_slideshow_transition = _tmp11_; +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = photos; +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = wallpaper_dir; +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp14_ = app_window_get_instance (); +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp15_ = _tmp14_; +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + scaling_to_fill_screen (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_window_get_type (), GtkWindow), &_tmp16_); +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + export_format_parameters_current (&_tmp17_); +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp18_ = exporter_new (_tmp12_, _tmp13_, &_tmp16_, &_tmp17_, TRUE); +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp19_ = _tmp18_; +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp15_); +#line 286 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + exporter = _tmp19_; +#line 289 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp20_ = exporter; +#line 289 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp21_ = exporter_ui_new (_tmp20_); +#line 289 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _exporter_ui_unref0 (desktop_integration_desktop_slideshow_exporter); +#line 289 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_desktop_slideshow_exporter = _tmp21_; +#line 290 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp22_ = desktop_integration_desktop_slideshow_exporter; +#line 290 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + exporter_ui_export (_tmp22_, _desktop_integration_on_desktop_slideshow_exported_exporter_completion_callback, NULL); +#line 265 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (exporter); +#line 265 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (exceptions); +#line 265 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (wallpaper_dir); +#line 2676 "DesktopIntegration.c" +} + + +void desktop_integration_on_desktop_slideshow_exported (Exporter* exporter, gboolean is_cancelled) { + gboolean _tmp0_ = FALSE; + GFile* xml_file = NULL; + DesktopIntegrationBackgroundSlideshowXMLBuilder* xml_builder = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + DesktopIntegrationBackgroundSlideshowXMLBuilder* _tmp7_ = NULL; + DesktopIntegrationBackgroundSlideshowXMLBuilder* _tmp8_ = NULL; + gboolean _tmp25_ = FALSE; + gboolean _tmp31_ = FALSE; + GError * _inner_error_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_return_if_fail (IS_EXPORTER (exporter)); +#line 294 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _exporter_ui_unref0 (desktop_integration_desktop_slideshow_exporter); +#line 294 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_desktop_slideshow_exporter = NULL; +#line 296 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp0_ = is_cancelled; +#line 296 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp0_) { +#line 297 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2707 "DesktopIntegration.c" + } +#line 299 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + xml_file = NULL; +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp1_ = app_dirs_get_data_subdir ("wallpaper", NULL); +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp2_ = _tmp1_; +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp3_ = g_file_get_child (_tmp2_, DESKTOP_INTEGRATION_DESKTOP_SLIDESHOW_XML_FILENAME); +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp4_ = _tmp3_; +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp5_ = desktop_integration_desktop_slideshow_duration; +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp6_ = desktop_integration_desktop_slideshow_transition; +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp7_ = desktop_integration_background_slideshow_xml_builder_new (_tmp4_, _tmp5_, _tmp6_); +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp8_ = _tmp7_; +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp4_); +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp2_); +#line 300 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + xml_builder = _tmp8_; +#line 2733 "DesktopIntegration.c" + { + DesktopIntegrationBackgroundSlideshowXMLBuilder* _tmp9_ = NULL; + Exporter* _tmp10_ = NULL; + gint _tmp11_ = 0; + GFile** _tmp12_ = NULL; + GFile* _tmp16_ = NULL; + DesktopIntegrationBackgroundSlideshowXMLBuilder* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; +#line 304 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp9_ = xml_builder; +#line 304 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_open (_tmp9_, &_inner_error_); +#line 304 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2749 "DesktopIntegration.c" + goto __catch557_g_error; + } +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp10_ = exporter; +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp12_ = exporter_get_exported_files (_tmp10_, &_tmp11_); +#line 2756 "DesktopIntegration.c" + { + GFile** file_collection = NULL; + gint file_collection_length1 = 0; + gint _file_collection_size_ = 0; + gint file_it = 0; +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + file_collection = _tmp12_; +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + file_collection_length1 = _tmp11_; +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + for (file_it = 0; file_it < _tmp11_; file_it = file_it + 1) { +#line 2768 "DesktopIntegration.c" + GFile* _tmp13_ = NULL; + GFile* file = NULL; +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp13_ = _g_object_ref0 (file_collection[file_it]); +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + file = _tmp13_; +#line 2775 "DesktopIntegration.c" + { + DesktopIntegrationBackgroundSlideshowXMLBuilder* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp14_ = xml_builder; +#line 307 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp15_ = file; +#line 307 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + desktop_integration_background_slideshow_xml_builder_add_photo (_tmp14_, _tmp15_, &_inner_error_); +#line 307 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 307 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (file); +#line 307 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + file_collection = (_vala_array_free (file_collection, file_collection_length1, (GDestroyNotify) g_object_unref), NULL); +#line 2791 "DesktopIntegration.c" + goto __catch557_g_error; + } +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (file); +#line 2796 "DesktopIntegration.c" + } + } +#line 306 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + file_collection = (_vala_array_free (file_collection, file_collection_length1, (GDestroyNotify) g_object_unref), NULL); +#line 2801 "DesktopIntegration.c" + } +#line 309 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp17_ = xml_builder; +#line 309 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp18_ = desktop_integration_background_slideshow_xml_builder_close (_tmp17_, &_inner_error_); +#line 309 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp16_ = _tmp18_; +#line 309 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2811 "DesktopIntegration.c" + goto __catch557_g_error; + } +#line 309 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp19_ = _tmp16_; +#line 309 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp16_ = NULL; +#line 309 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (xml_file); +#line 309 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + xml_file = _tmp19_; +#line 303 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp16_); +#line 2824 "DesktopIntegration.c" + } + goto __finally557; + __catch557_g_error: + { + GError* err = NULL; + const gchar* _tmp20_ = NULL; + GError* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + err = _inner_error_; +#line 303 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _inner_error_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp20_ = _ ("Unable to prepare desktop slideshow: %s"); +#line 311 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp21_ = err; +#line 311 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp22_ = _tmp21_->message; +#line 311 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp23_ = g_strdup_printf (_tmp20_, _tmp22_); +#line 311 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp24_ = _tmp23_; +#line 311 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + app_window_error_message (_tmp24_, NULL); +#line 311 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp24_); +#line 314 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_error_free0 (err); +#line 314 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _desktop_integration_background_slideshow_xml_builder_unref0 (xml_builder); +#line 314 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (xml_file); +#line 314 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2861 "DesktopIntegration.c" + } + __finally557: +#line 303 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 303 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _desktop_integration_background_slideshow_xml_builder_unref0 (xml_builder); +#line 303 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (xml_file); +#line 303 "/home/jens/Source/shotwell/src/DesktopIntegration.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 303 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + g_clear_error (&_inner_error_); +#line 303 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + return; +#line 2876 "DesktopIntegration.c" + } +#line 317 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp25_ = desktop_integration_set_desktop_background; +#line 317 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp25_) { +#line 2882 "DesktopIntegration.c" + ConfigFacade* _tmp26_ = NULL; + ConfigFacade* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 318 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp26_ = config_facade_get_instance (); +#line 318 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp27_ = _tmp26_; +#line 318 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp28_ = xml_file; +#line 318 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp29_ = g_file_get_path (_tmp28_); +#line 318 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp30_ = _tmp29_; +#line 318 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + configuration_facade_set_desktop_background (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp30_); +#line 318 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp30_); +#line 318 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp27_); +#line 2904 "DesktopIntegration.c" + } +#line 320 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp31_ = desktop_integration_set_screensaver; +#line 320 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + if (_tmp31_) { +#line 2910 "DesktopIntegration.c" + ConfigFacade* _tmp32_ = NULL; + ConfigFacade* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; +#line 321 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp32_ = config_facade_get_instance (); +#line 321 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp33_ = _tmp32_; +#line 321 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp34_ = xml_file; +#line 321 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp35_ = g_file_get_path (_tmp34_); +#line 321 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _tmp36_ = _tmp35_; +#line 321 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + configuration_facade_set_screensaver (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp36_); +#line 321 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_free0 (_tmp36_); +#line 321 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (_tmp33_); +#line 2932 "DesktopIntegration.c" + } +#line 293 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _desktop_integration_background_slideshow_xml_builder_unref0 (xml_builder); +#line 293 "/home/jens/Source/shotwell/src/DesktopIntegration.vala" + _g_object_unref0 (xml_file); +#line 2938 "DesktopIntegration.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/Dialogs.c b/src/Dialogs.c new file mode 100644 index 0000000..6928c51 --- /dev/null +++ b/src/Dialogs.c @@ -0,0 +1,21888 @@ +/* Dialogs.c generated by valac 0.32.1, the Vala compiler + * generated from Dialogs.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. + */ +/* namespace for future migration of AppWindow alert and other question dialogs into single*/ +/* place: http://trac.yorba.org/ticket/3452*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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_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 _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_SAVED_SEARCH (saved_search_get_type ()) +#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch)) +#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass)) +#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH)) +#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH)) +#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass)) + +typedef struct _SavedSearch SavedSearch; +typedef struct _SavedSearchClass SavedSearchClass; + +#define 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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_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_EXPORT_DIALOG (export_dialog_get_type ()) +#define EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORT_DIALOG, ExportDialog)) +#define EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORT_DIALOG, ExportDialogClass)) +#define IS_EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORT_DIALOG)) +#define IS_EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORT_DIALOG)) +#define EXPORT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORT_DIALOG, ExportDialogClass)) + +typedef struct _ExportDialog ExportDialog; +typedef struct _ExportDialogClass ExportDialogClass; +typedef struct _ExportDialogPrivate ExportDialogPrivate; + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) + +#define TYPE_BATCH_IMPORT_RESULT (batch_import_result_get_type ()) +#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult)) +#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) +#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT)) +#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT)) +#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) + +typedef struct _BatchImportResult BatchImportResult; +typedef struct _BatchImportResultClass BatchImportResultClass; +typedef struct _BatchImportResultPrivate BatchImportResultPrivate; + +#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ()) +#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob)) +#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) +#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB)) +#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB)) +#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) + +typedef struct _BatchImportJob BatchImportJob; +typedef struct _BatchImportJobClass BatchImportJobClass; + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) + +#define TYPE_DUPLICATED_FILE (duplicated_file_get_type ()) +#define DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATED_FILE, DuplicatedFile)) +#define DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) +#define IS_DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATED_FILE)) +#define IS_DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATED_FILE)) +#define DUPLICATED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) + +typedef struct _DuplicatedFile DuplicatedFile; +typedef struct _DuplicatedFileClass DuplicatedFileClass; +#define _batch_import_result_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_result_unref (var), NULL))) + +#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ()) +#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams)) +#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) +#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) + +typedef struct _ImportUIQuestionParams ImportUIQuestionParams; +typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass; +typedef struct _ImportUIQuestionParamsPrivate ImportUIQuestionParamsPrivate; +typedef struct _ImportUIParamSpecQuestionParams ImportUIParamSpecQuestionParams; + +#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ()) +#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest)) +#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass)) +#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST)) +#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST)) +#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass)) + +typedef struct _ImportManifest ImportManifest; +typedef struct _ImportManifestClass ImportManifestClass; +typedef struct _ImportManifestPrivate ImportManifestPrivate; +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_TEXT_ENTRY_DIALOG_MEDIATOR (text_entry_dialog_mediator_get_type ()) +#define TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) + +typedef struct _TextEntryDialogMediator TextEntryDialogMediator; +typedef struct _TextEntryDialogMediatorClass TextEntryDialogMediatorClass; +typedef struct _TextEntryDialogMediatorPrivate TextEntryDialogMediatorPrivate; + +#define TYPE_TEXT_ENTRY_DIALOG (text_entry_dialog_get_type ()) +#define TEXT_ENTRY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG, TextEntryDialog)) +#define TEXT_ENTRY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG, TextEntryDialogClass)) +#define IS_TEXT_ENTRY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG)) +#define IS_TEXT_ENTRY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG)) +#define TEXT_ENTRY_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG, TextEntryDialogClass)) + +typedef struct _TextEntryDialog TextEntryDialog; +typedef struct _TextEntryDialogClass TextEntryDialogClass; +typedef struct _ParamSpecTextEntryDialogMediator ParamSpecTextEntryDialogMediator; + +#define TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (multi_text_entry_dialog_mediator_get_type ()) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) + +typedef struct _MultiTextEntryDialogMediator MultiTextEntryDialogMediator; +typedef struct _MultiTextEntryDialogMediatorClass MultiTextEntryDialogMediatorClass; +typedef struct _MultiTextEntryDialogMediatorPrivate MultiTextEntryDialogMediatorPrivate; + +#define TYPE_MULTI_TEXT_ENTRY_DIALOG (multi_text_entry_dialog_get_type ()) +#define MULTI_TEXT_ENTRY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG, MultiTextEntryDialog)) +#define MULTI_TEXT_ENTRY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG, MultiTextEntryDialogClass)) +#define IS_MULTI_TEXT_ENTRY_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG)) +#define MULTI_TEXT_ENTRY_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG, MultiTextEntryDialogClass)) + +typedef struct _MultiTextEntryDialog MultiTextEntryDialog; +typedef struct _MultiTextEntryDialogClass MultiTextEntryDialogClass; +typedef struct _ParamSpecMultiTextEntryDialogMediator ParamSpecMultiTextEntryDialogMediator; + +#define TYPE_ENTRY_MULTI_COMPLETION (entry_multi_completion_get_type ()) +#define ENTRY_MULTI_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletion)) +#define ENTRY_MULTI_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletionClass)) +#define IS_ENTRY_MULTI_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENTRY_MULTI_COMPLETION)) +#define IS_ENTRY_MULTI_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENTRY_MULTI_COMPLETION)) +#define ENTRY_MULTI_COMPLETION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletionClass)) + +typedef struct _EntryMultiCompletion EntryMultiCompletion; +typedef struct _EntryMultiCompletionClass EntryMultiCompletionClass; +typedef struct _EntryMultiCompletionPrivate EntryMultiCompletionPrivate; + +#define TYPE_SET_BACKGROUND_DIALOG (set_background_dialog_get_type ()) +#define SET_BACKGROUND_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)) +#define SET_BACKGROUND_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialogClass)) +#define IS_SET_BACKGROUND_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_DIALOG)) +#define IS_SET_BACKGROUND_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_DIALOG)) +#define SET_BACKGROUND_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialogClass)) + +typedef struct _SetBackgroundDialog SetBackgroundDialog; +typedef struct _SetBackgroundDialogClass SetBackgroundDialogClass; +typedef struct _SetBackgroundDialogPrivate SetBackgroundDialogPrivate; +typedef struct _ParamSpecSetBackgroundDialog ParamSpecSetBackgroundDialog; + +#define TYPE_SET_BACKGROUND_PHOTO_DIALOG (set_background_photo_dialog_get_type ()) +#define SET_BACKGROUND_PHOTO_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialog)) +#define SET_BACKGROUND_PHOTO_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialogClass)) +#define IS_SET_BACKGROUND_PHOTO_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG)) +#define IS_SET_BACKGROUND_PHOTO_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_PHOTO_DIALOG)) +#define SET_BACKGROUND_PHOTO_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialogClass)) + +typedef struct _SetBackgroundPhotoDialog SetBackgroundPhotoDialog; +typedef struct _SetBackgroundPhotoDialogClass SetBackgroundPhotoDialogClass; +typedef struct _SetBackgroundPhotoDialogPrivate SetBackgroundPhotoDialogPrivate; + +#define TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG (set_background_slideshow_dialog_get_type ()) +#define SET_BACKGROUND_SLIDESHOW_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialog)) +#define SET_BACKGROUND_SLIDESHOW_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialogClass)) +#define IS_SET_BACKGROUND_SLIDESHOW_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG)) +#define IS_SET_BACKGROUND_SLIDESHOW_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG)) +#define SET_BACKGROUND_SLIDESHOW_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialogClass)) + +typedef struct _SetBackgroundSlideshowDialog SetBackgroundSlideshowDialog; +typedef struct _SetBackgroundSlideshowDialogClass SetBackgroundSlideshowDialogClass; +typedef struct _SetBackgroundSlideshowDialogPrivate SetBackgroundSlideshowDialogPrivate; +typedef struct _TextEntryDialogPrivate TextEntryDialogPrivate; +typedef struct _MultiTextEntryDialogPrivate MultiTextEntryDialogPrivate; + +#define TYPE_EVENT_RENAME_DIALOG (event_rename_dialog_get_type ()) +#define EVENT_RENAME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_RENAME_DIALOG, EventRenameDialog)) +#define EVENT_RENAME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_RENAME_DIALOG, EventRenameDialogClass)) +#define IS_EVENT_RENAME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_RENAME_DIALOG)) +#define IS_EVENT_RENAME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_RENAME_DIALOG)) +#define EVENT_RENAME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_RENAME_DIALOG, EventRenameDialogClass)) + +typedef struct _EventRenameDialog EventRenameDialog; +typedef struct _EventRenameDialogClass EventRenameDialogClass; +typedef struct _EventRenameDialogPrivate EventRenameDialogPrivate; + +#define TYPE_EDIT_TITLE_DIALOG (edit_title_dialog_get_type ()) +#define EDIT_TITLE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_TITLE_DIALOG, EditTitleDialog)) +#define EDIT_TITLE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_TITLE_DIALOG, EditTitleDialogClass)) +#define IS_EDIT_TITLE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_TITLE_DIALOG)) +#define IS_EDIT_TITLE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_TITLE_DIALOG)) +#define EDIT_TITLE_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_TITLE_DIALOG, EditTitleDialogClass)) + +typedef struct _EditTitleDialog EditTitleDialog; +typedef struct _EditTitleDialogClass EditTitleDialogClass; +typedef struct _EditTitleDialogPrivate EditTitleDialogPrivate; + +#define TYPE_EDIT_COMMENT_DIALOG (edit_comment_dialog_get_type ()) +#define EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialog)) +#define EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) +#define IS_EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_DIALOG)) +#define IS_EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_DIALOG)) +#define EDIT_COMMENT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) + +typedef struct _EditCommentDialog EditCommentDialog; +typedef struct _EditCommentDialogClass EditCommentDialogClass; +typedef struct _EditCommentDialogPrivate EditCommentDialogPrivate; + +#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; +typedef struct _ProgressDialogPrivate ProgressDialogPrivate; + +#define TYPE_ADJUST_DATE_TIME_DIALOG (adjust_date_time_dialog_get_type ()) +#define ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialog)) +#define ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass)) +#define IS_ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_DIALOG)) +#define IS_ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_DIALOG)) +#define ADJUST_DATE_TIME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass)) + +typedef struct _AdjustDateTimeDialog AdjustDateTimeDialog; +typedef struct _AdjustDateTimeDialogClass AdjustDateTimeDialogClass; +typedef struct _AdjustDateTimeDialogPrivate AdjustDateTimeDialogPrivate; + +#define ADJUST_DATE_TIME_DIALOG_TYPE_TIME_SYSTEM (adjust_date_time_dialog_time_system_get_type ()) + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_TAGS_DIALOG (tags_dialog_get_type ()) +#define TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAGS_DIALOG, TagsDialog)) +#define TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAGS_DIALOG, TagsDialogClass)) +#define IS_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAGS_DIALOG)) +#define IS_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAGS_DIALOG)) +#define TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAGS_DIALOG, TagsDialogClass)) + +typedef struct _TagsDialog TagsDialog; +typedef struct _TagsDialogClass TagsDialogClass; +typedef struct _TagsDialogPrivate TagsDialogPrivate; + +#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) + +#define TYPE_ADD_TAGS_DIALOG (add_tags_dialog_get_type ()) +#define ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialog)) +#define ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass)) +#define IS_ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_DIALOG)) +#define IS_ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_DIALOG)) +#define ADD_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass)) + +typedef struct _AddTagsDialog AddTagsDialog; +typedef struct _AddTagsDialogClass AddTagsDialogClass; +typedef struct _AddTagsDialogPrivate AddTagsDialogPrivate; + +#define TYPE_MODIFY_TAGS_DIALOG (modify_tags_dialog_get_type ()) +#define MODIFY_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialog)) +#define MODIFY_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialogClass)) +#define IS_MODIFY_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MODIFY_TAGS_DIALOG)) +#define IS_MODIFY_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MODIFY_TAGS_DIALOG)) +#define MODIFY_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialogClass)) + +typedef struct _ModifyTagsDialog ModifyTagsDialog; +typedef struct _ModifyTagsDialogClass ModifyTagsDialogClass; +typedef struct _ModifyTagsDialogPrivate ModifyTagsDialogPrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_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_WELCOME_SERVICE_ENTRY (welcome_service_entry_get_type ()) +#define WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntry)) +#define IS_WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_SERVICE_ENTRY)) +#define WELCOME_SERVICE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntryIface)) + +typedef struct _WelcomeServiceEntry WelcomeServiceEntry; +typedef struct _WelcomeServiceEntryIface WelcomeServiceEntryIface; + +#define TYPE_WELCOME_DIALOG (welcome_dialog_get_type ()) +#define WELCOME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_DIALOG, WelcomeDialog)) +#define WELCOME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WELCOME_DIALOG, WelcomeDialogClass)) +#define IS_WELCOME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_DIALOG)) +#define IS_WELCOME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WELCOME_DIALOG)) +#define WELCOME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WELCOME_DIALOG, WelcomeDialogClass)) + +typedef struct _WelcomeDialog WelcomeDialog; +typedef struct _WelcomeDialogClass WelcomeDialogClass; +typedef struct _WelcomeDialogPrivate WelcomeDialogPrivate; + +#define SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST (spit_data_imports_welcome_import_meta_host_get_type ()) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, SpitDataImportsWelcomeImportMetaHost)) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, SpitDataImportsWelcomeImportMetaHostClass)) +#define SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_META_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST)) +#define SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_META_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST)) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, SpitDataImportsWelcomeImportMetaHostClass)) + +typedef struct _SpitDataImportsWelcomeImportMetaHost SpitDataImportsWelcomeImportMetaHost; +typedef struct _SpitDataImportsWelcomeImportMetaHostClass SpitDataImportsWelcomeImportMetaHostClass; + +#define TYPE_PREFERENCES_DIALOG (preferences_dialog_get_type ()) +#define PREFERENCES_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PREFERENCES_DIALOG, PreferencesDialog)) +#define PREFERENCES_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PREFERENCES_DIALOG, PreferencesDialogClass)) +#define IS_PREFERENCES_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PREFERENCES_DIALOG)) +#define IS_PREFERENCES_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PREFERENCES_DIALOG)) +#define PREFERENCES_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PREFERENCES_DIALOG, PreferencesDialogClass)) + +typedef struct _PreferencesDialog PreferencesDialog; +typedef struct _PreferencesDialogClass PreferencesDialogClass; +typedef struct _PreferencesDialogPrivate PreferencesDialogPrivate; + +#define TYPE_SORTED_LIST (sorted_list_get_type ()) +#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList)) +#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass)) +#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST)) +#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST)) +#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass)) + +typedef struct _SortedList SortedList; +typedef struct _SortedListClass SortedListClass; + +#define PREFERENCES_DIALOG_TYPE_PATH_FORMAT (preferences_dialog_path_format_get_type ()) +#define PREFERENCES_DIALOG_PATH_FORMAT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PREFERENCES_DIALOG_TYPE_PATH_FORMAT, PreferencesDialogPathFormat)) +#define PREFERENCES_DIALOG_PATH_FORMAT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PREFERENCES_DIALOG_TYPE_PATH_FORMAT, PreferencesDialogPathFormatClass)) +#define PREFERENCES_DIALOG_IS_PATH_FORMAT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PREFERENCES_DIALOG_TYPE_PATH_FORMAT)) +#define PREFERENCES_DIALOG_IS_PATH_FORMAT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PREFERENCES_DIALOG_TYPE_PATH_FORMAT)) +#define PREFERENCES_DIALOG_PATH_FORMAT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PREFERENCES_DIALOG_TYPE_PATH_FORMAT, PreferencesDialogPathFormatClass)) + +typedef struct _PreferencesDialogPathFormat PreferencesDialogPathFormat; +typedef struct _PreferencesDialogPathFormatClass PreferencesDialogPathFormatClass; + +#define PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR (plugins_manifest_widget_mediator_get_type ()) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediator)) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorClass)) +#define PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)) +#define PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorClass)) + +typedef struct _PluginsManifestWidgetMediator PluginsManifestWidgetMediator; +typedef struct _PluginsManifestWidgetMediatorClass PluginsManifestWidgetMediatorClass; +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) +#define _plugins_manifest_widget_mediator_unref0(var) ((var == NULL) ? NULL : (var = (plugins_manifest_widget_mediator_unref (var), NULL))) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +typedef struct _PreferencesDialogPathFormatPrivate PreferencesDialogPathFormatPrivate; +#define _preferences_dialog_path_format_unref0(var) ((var == NULL) ? NULL : (var = (preferences_dialog_path_format_unref (var), NULL))) +#define _preferences_dialog_unref0(var) ((var == NULL) ? NULL : (var = (preferences_dialog_unref (var), NULL))) +typedef struct _PreferencesDialogParamSpecPathFormat PreferencesDialogParamSpecPathFormat; +typedef struct _ParamSpecPreferencesDialog ParamSpecPreferencesDialog; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_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 _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 _ExportDialog { + GtkDialog parent_instance; + ExportDialogPrivate * priv; +}; + +struct _ExportDialogClass { + GtkDialogClass parent_class; +}; + +struct _ExportDialogPrivate { + GtkGrid* table; + GtkComboBoxText* quality_combo; + GtkComboBoxText* constraint_combo; + GtkComboBoxText* format_combo; + GtkCheckButton* export_metadata; + GeeArrayList* format_options; + GtkEntry* pixels_entry; + GtkWidget* ok_button; + gboolean in_insert; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +struct _BatchImportResult { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportResultPrivate * priv; + BatchImportJob* job; + GFile* file; + gchar* src_identifier; + gchar* dest_identifier; + ImportResult result; + gchar* errmsg; + DuplicatedFile* duplicate_of; +}; + +struct _BatchImportResultClass { + GTypeClass parent_class; + void (*finalize) (BatchImportResult *self); +}; + +struct _ImportUIQuestionParams { + GTypeInstance parent_instance; + volatile int ref_count; + ImportUIQuestionParamsPrivate * priv; + gchar* question; + gchar* yes_button; + gchar* no_button; +}; + +struct _ImportUIQuestionParamsClass { + GTypeClass parent_class; + void (*finalize) (ImportUIQuestionParams *self); +}; + +struct _ImportUIParamSpecQuestionParams { + GParamSpec parent_instance; +}; + +struct _ImportManifest { + GTypeInstance parent_instance; + volatile int ref_count; + ImportManifestPrivate * priv; + GeeList* imported; + GeeList* success; + GeeList* camera_failed; + GeeList* failed; + GeeList* write_failed; + GeeList* skipped_photos; + GeeList* skipped_files; + GeeList* aborted; + GeeList* already_imported; + GeeList* corrupt_files; + GeeList* all; +}; + +struct _ImportManifestClass { + GTypeClass parent_class; + void (*finalize) (ImportManifest *self); +}; + +struct _TextEntryDialogMediator { + GTypeInstance parent_instance; + volatile int ref_count; + TextEntryDialogMediatorPrivate * priv; +}; + +struct _TextEntryDialogMediatorClass { + GTypeClass parent_class; + void (*finalize) (TextEntryDialogMediator *self); + gboolean (*on_modify_validate) (TextEntryDialogMediator* self, const gchar* text); +}; + +struct _TextEntryDialogMediatorPrivate { + TextEntryDialog* dialog; +}; + +typedef gboolean (*TextEntryDialogOnModifyValidateType) (const gchar* text, void* user_data); +struct _ParamSpecTextEntryDialogMediator { + GParamSpec parent_instance; +}; + +struct _MultiTextEntryDialogMediator { + GTypeInstance parent_instance; + volatile int ref_count; + MultiTextEntryDialogMediatorPrivate * priv; +}; + +struct _MultiTextEntryDialogMediatorClass { + GTypeClass parent_class; + void (*finalize) (MultiTextEntryDialogMediator *self); + gboolean (*on_modify_validate) (MultiTextEntryDialogMediator* self, const gchar* text); +}; + +struct _MultiTextEntryDialogMediatorPrivate { + MultiTextEntryDialog* dialog; +}; + +typedef gboolean (*MultiTextEntryDialogOnModifyValidateType) (const gchar* text, void* user_data); +struct _ParamSpecMultiTextEntryDialogMediator { + GParamSpec parent_instance; +}; + +struct _EntryMultiCompletion { + GtkEntryCompletion parent_instance; + EntryMultiCompletionPrivate * priv; +}; + +struct _EntryMultiCompletionClass { + GtkEntryCompletionClass parent_class; +}; + +struct _EntryMultiCompletionPrivate { + gchar* delimiter; +}; + +struct _SetBackgroundDialog { + GTypeInstance parent_instance; + volatile int ref_count; + SetBackgroundDialogPrivate * priv; + GtkDialog* dialog; + GtkCheckButton* desktop_background_button; + GtkCheckButton* screensaver_button; + GtkButton* ok_button; + gboolean desktop; + gboolean screensaver; +}; + +struct _SetBackgroundDialogClass { + GTypeClass parent_class; + void (*finalize) (SetBackgroundDialog *self); +}; + +struct _ParamSpecSetBackgroundDialog { + GParamSpec parent_instance; +}; + +struct _SetBackgroundPhotoDialog { + SetBackgroundDialog parent_instance; + SetBackgroundPhotoDialogPrivate * priv; +}; + +struct _SetBackgroundPhotoDialogClass { + SetBackgroundDialogClass parent_class; +}; + +struct _SetBackgroundSlideshowDialog { + SetBackgroundDialog parent_instance; + SetBackgroundSlideshowDialogPrivate * priv; +}; + +struct _SetBackgroundSlideshowDialogClass { + SetBackgroundDialogClass parent_class; +}; + +struct _SetBackgroundSlideshowDialogPrivate { + GtkLabel* delay_value_label; + GtkScale* delay_scale; + gint delay_value; +}; + +struct _TextEntryDialog { + GtkDialog parent_instance; + TextEntryDialogPrivate * priv; +}; + +struct _TextEntryDialogClass { + GtkDialogClass parent_class; +}; + +struct _TextEntryDialogPrivate { + TextEntryDialogOnModifyValidateType on_modify_validate; + gpointer on_modify_validate_target; + GtkEntry* entry; + GtkBuilder* builder; + GtkButton* button1; + GtkButton* button2; + GtkButtonBox* action_area_box; +}; + +struct _MultiTextEntryDialog { + GtkDialog parent_instance; + MultiTextEntryDialogPrivate * priv; +}; + +struct _MultiTextEntryDialogClass { + GtkDialogClass parent_class; +}; + +struct _MultiTextEntryDialogPrivate { + MultiTextEntryDialogOnModifyValidateType on_modify_validate; + gpointer on_modify_validate_target; + GtkTextView* entry; + GtkBuilder* builder; + GtkButton* button1; + GtkButton* button2; + GtkButtonBox* action_area_box; +}; + +struct _EventRenameDialog { + TextEntryDialogMediator parent_instance; + EventRenameDialogPrivate * priv; +}; + +struct _EventRenameDialogClass { + TextEntryDialogMediatorClass parent_class; + gchar* (*execute) (EventRenameDialog* self); +}; + +struct _EditTitleDialog { + TextEntryDialogMediator parent_instance; + EditTitleDialogPrivate * priv; +}; + +struct _EditTitleDialogClass { + TextEntryDialogMediatorClass parent_class; + gchar* (*execute) (EditTitleDialog* self); +}; + +struct _EditCommentDialog { + MultiTextEntryDialogMediator parent_instance; + EditCommentDialogPrivate * priv; +}; + +struct _EditCommentDialogClass { + MultiTextEntryDialogMediatorClass parent_class; + gchar* (*execute) (EditCommentDialog* self); +}; + +struct _ProgressDialog { + GtkWindow parent_instance; + ProgressDialogPrivate * priv; +}; + +struct _ProgressDialogClass { + GtkWindowClass parent_class; +}; + +struct _ProgressDialogPrivate { + GtkProgressBar* progress_bar; + GtkButton* cancel_button; + GCancellable* cancellable; + guint64 last_count; + gint update_every; + gint minimum_on_screen_time_msec; + gulong time_started; +}; + +struct _AdjustDateTimeDialog { + GtkDialog parent_instance; + AdjustDateTimeDialogPrivate * priv; +}; + +struct _AdjustDateTimeDialogClass { + GtkDialogClass parent_class; +}; + +typedef enum { + ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_AM, + ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_PM, + ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_24HR +} AdjustDateTimeDialogTimeSystem; + +struct _AdjustDateTimeDialogPrivate { + gboolean no_original_time; + time_t original_time; + GtkLabel* original_time_label; + GtkCalendar* calendar; + GtkSpinButton* hour; + GtkSpinButton* minute; + GtkSpinButton* second; + GtkComboBoxText* system; + GtkRadioButton* relativity_radio_button; + GtkRadioButton* batch_radio_button; + GtkCheckButton* modify_originals_check_button; + GtkLabel* notification; + AdjustDateTimeDialogTimeSystem previous_time_system; +}; + +struct _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + +struct _TagsDialog { + TextEntryDialogMediator parent_instance; + TagsDialogPrivate * priv; +}; + +struct _TagsDialogClass { + TextEntryDialogMediatorClass parent_class; +}; + +struct _AddTagsDialog { + TagsDialog parent_instance; + AddTagsDialogPrivate * priv; +}; + +struct _AddTagsDialogClass { + TagsDialogClass parent_class; +}; + +struct _ModifyTagsDialog { + TagsDialog parent_instance; + ModifyTagsDialogPrivate * priv; +}; + +struct _ModifyTagsDialogClass { + TagsDialogClass parent_class; +}; + +struct _WelcomeServiceEntryIface { + GTypeInterface parent_iface; + gchar* (*get_service_name) (WelcomeServiceEntry* self); + void (*execute) (WelcomeServiceEntry* self); +}; + +struct _WelcomeDialog { + GtkDialog parent_instance; + WelcomeDialogPrivate * priv; +}; + +struct _WelcomeDialogClass { + GtkDialogClass parent_class; +}; + +struct _WelcomeDialogPrivate { + GtkCheckButton* hide_button; + GtkCheckButton* system_pictures_import_check; + GtkCheckButton** external_import_checks; + gint external_import_checks_length1; + gint _external_import_checks_size_; + WelcomeServiceEntry** external_import_entries; + gint external_import_entries_length1; + gint _external_import_entries_size_; + GtkLabel* secondary_text; + GtkLabel* instruction_header; + GtkBox* import_content; + GtkBox* import_action_checkbox_packer; + GtkBox* external_import_action_checkbox_packer; + SpitDataImportsWelcomeImportMetaHost* import_meta_host; + gboolean import_content_already_installed; + gboolean ok_clicked; +}; + +struct _PreferencesDialog { + GTypeInstance parent_instance; + volatile int ref_count; + PreferencesDialogPrivate * priv; +}; + +struct _PreferencesDialogClass { + GTypeClass parent_class; + void (*finalize) (PreferencesDialog *self); +}; + +struct _PreferencesDialogPrivate { + GtkDialog* dialog; + GtkBuilder* builder; + GtkAdjustment* bg_color_adjustment; + GtkScale* bg_color_slider; + GtkComboBox* photo_editor_combo; + GtkComboBox* raw_editor_combo; + SortedList* external_raw_apps; + SortedList* external_photo_apps; + GtkFileChooserButton* library_dir_button; + GtkComboBoxText* dir_pattern_combo; + GtkEntry* dir_pattern_entry; + GtkLabel* dir_pattern_example; + gboolean allow_closing; + gchar* lib_dir; + GeeArrayList* path_formats; + GDateTime* example_date; + GtkCheckButton* lowercase; + PluginsManifestWidgetMediator* plugins_mediator; + GtkComboBoxText* default_raw_developer_combo; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _PreferencesDialogPathFormat { + GTypeInstance parent_instance; + volatile int ref_count; + PreferencesDialogPathFormatPrivate * priv; + gchar* name; + gchar* pattern; +}; + +struct _PreferencesDialogPathFormatClass { + GTypeClass parent_class; + void (*finalize) (PreferencesDialogPathFormat *self); +}; + +struct _PreferencesDialogParamSpecPathFormat { + GParamSpec parent_instance; +}; + +struct _ParamSpecPreferencesDialog { + GParamSpec parent_instance; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); + +extern GFile* export_ui_current_export_dir; +GFile* export_ui_current_export_dir = NULL; +static gpointer export_dialog_parent_class = NULL; +static ScaleConstraint export_dialog_current_constraint; +static ScaleConstraint export_dialog_current_constraint = SCALE_CONSTRAINT_ORIGINAL; +static ExportFormatParameters export_dialog_current_parameters; +static ExportFormatParameters export_dialog_current_parameters = {0}; +static gint export_dialog_current_scale; +static gint export_dialog_current_scale = 0; +static gpointer import_ui_question_params_parent_class = NULL; +static gpointer text_entry_dialog_mediator_parent_class = NULL; +static gpointer multi_text_entry_dialog_mediator_parent_class = NULL; +static gpointer entry_multi_completion_parent_class = NULL; +static gpointer set_background_dialog_parent_class = NULL; +static gpointer set_background_photo_dialog_parent_class = NULL; +static gpointer set_background_slideshow_dialog_parent_class = NULL; +static gpointer text_entry_dialog_parent_class = NULL; +static gpointer multi_text_entry_dialog_parent_class = NULL; +static gpointer event_rename_dialog_parent_class = NULL; +static gpointer edit_title_dialog_parent_class = NULL; +static gpointer edit_comment_dialog_parent_class = NULL; +static gpointer progress_dialog_parent_class = NULL; +static gpointer adjust_date_time_dialog_parent_class = NULL; +static gpointer tags_dialog_parent_class = NULL; +static gpointer add_tags_dialog_parent_class = NULL; +static gpointer modify_tags_dialog_parent_class = NULL; +extern TagSourceCollection* tag_global; +static gpointer welcome_dialog_parent_class = NULL; +static gpointer preferences_dialog_parent_class = NULL; +static PreferencesDialog* preferences_dialog_preferences_dialog; +static PreferencesDialog* preferences_dialog_preferences_dialog = NULL; +static gpointer preferences_dialog_path_format_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; + +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType tag_get_type (void) G_GNUC_CONST; +gboolean dialogs_confirm_delete_tag (Tag* tag); +gint tag_get_sources_count (Tag* self); +gchar* tag_get_user_visible_name (Tag* self); +gboolean app_window_negate_affirm_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* title, GtkWindow* parent); +#define RESOURCES_DELETE_TAG_TITLE _ ("Delete Tag") +GType saved_search_get_type (void) G_GNUC_CONST; +gboolean dialogs_confirm_delete_saved_search (SavedSearch* search); +gchar* data_object_get_name (DataObject* self); +#define RESOURCES_DELETE_SAVED_SEARCH_DIALOG_TITLE _ ("Delete Search") +gboolean dialogs_confirm_warn_developer_changed (gint number); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +#define RESOURCES_CANCEL_LABEL _ ("_Cancel") +GFile* export_ui_choose_file (const gchar* current_file_basename); +gboolean video_reader_is_supported_video_filename (const gchar* filename); +#define RESOURCES_SAVE_LABEL _ ("_Save") +void suppress_warnings (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message); +static void _suppress_warnings_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self); +GFile* export_ui_choose_dir (const gchar* user_title); +#define RESOURCES_OK_LABEL _ ("_OK") +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; +void open_external_editor_error_dialog (GError* err, Photo* photo); +void app_window_error_message (const gchar* message, GtkWindow* parent); +GFile* media_source_get_master_file (MediaSource* self); +gchar* resources_launch_editor_failed (GError* err); +GtkResponseType export_error_dialog (GFile* dest, gboolean photos_remaining); +GtkResponseType app_window_affirm_cancel_question (const gchar* message, const gchar* affirmative, const gchar* title, GtkWindow* parent); +GType export_dialog_get_type (void) G_GNUC_CONST; +#define EXPORT_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPORT_DIALOG, ExportDialogPrivate)) +enum { + EXPORT_DIALOG_DUMMY_PROPERTY +}; +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +void export_format_parameters_current (ExportFormatParameters* result); +#define EXPORT_DIALOG_DEFAULT_SCALE 1200 +#define EXPORT_DIALOG_NUM_SPECIAL_FORMATS 2 +#define EXPORT_DIALOG_UNMODIFIED_FORMAT_LABEL _ ("Unmodified") +#define EXPORT_DIALOG_CURRENT_FORMAT_LABEL _ ("Current") +ExportDialog* export_dialog_new (const gchar* title); +ExportDialog* export_dialog_construct (GType object_type, const gchar* title); +gchar* jpeg_quality_to_string (JpegQuality self); +gchar* scale_constraint_to_string (ScaleConstraint self); +static void export_dialog_format_add_option (ExportDialog* self, const gchar* format_name); +PhotoFileFormat* photo_file_format_get_writeable (int* result_length1); +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self); +gchar* photo_file_format_properties_get_user_visible_name (PhotoFileFormatProperties* self); +static void export_dialog_on_constraint_changed (ExportDialog* self); +static void _export_dialog_on_constraint_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void export_dialog_on_format_changed (ExportDialog* self); +static void _export_dialog_on_format_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void export_dialog_on_pixels_changed (ExportDialog* self); +static void _export_dialog_on_pixels_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void export_dialog_on_pixels_insert_text (ExportDialog* self, const gchar* text, gint length, gint* position); +static void _export_dialog_on_pixels_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self); +static void export_dialog_on_activate (ExportDialog* self); +static void _export_dialog_on_activate_gtk_entry_activate (GtkEntry* _sender, gpointer self); +static void export_dialog_add_label (ExportDialog* self, const gchar* text, gint x, gint y, GtkWidget* widget); +static void export_dialog_add_control (ExportDialog* self, GtkWidget* widget, gint x, gint y); +static void export_dialog_format_set_active_text (ExportDialog* self, const gchar* text); +static PhotoFileFormat export_dialog_get_specified_format (ExportDialog* self); +static gchar* export_dialog_get_label_for_parameters (ExportDialog* self, ExportFormatParameters* params); +gboolean export_dialog_execute (ExportDialog* self, gint* scale, ScaleConstraint* constraint, ExportFormatParameters* parameters); +gboolean photo_file_format_can_write (PhotoFileFormat self); +PhotoFileFormat photo_file_format_get_system_default_format (void); +static void export_dialog_finalize (GObject* obj); +#define IMPORT_UI_REPORT_FAILURE_COUNT 4 +#define IMPORT_UI_SAVE_RESULTS_BUTTON_NAME _ ("Save Details...") +#define IMPORT_UI_SAVE_RESULTS_FILE_CHOOSER_TITLE _ ("Save Details") +#define IMPORT_UI_SAVE_RESULTS_RESPONSE_ID 1024 +gpointer batch_import_result_ref (gpointer instance); +void batch_import_result_unref (gpointer instance); +GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_result (GValue* value, gpointer v_object); +void value_take_batch_import_result (GValue* value, gpointer v_object); +gpointer value_get_batch_import_result (const GValue* value); +GType batch_import_result_get_type (void) G_GNUC_CONST; +gchar* import_ui_generate_import_failure_list (GeeList* failed, gboolean show_dest_id); +gpointer batch_import_job_ref (gpointer instance); +void batch_import_job_unref (gpointer instance); +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_job (GValue* value, gpointer v_object); +void value_take_batch_import_job (GValue* value, gpointer v_object); +gpointer value_get_batch_import_job (const GValue* value); +GType batch_import_job_get_type (void) G_GNUC_CONST; +GType import_result_get_type (void) G_GNUC_CONST; +GType duplicated_file_get_type (void) G_GNUC_CONST; +gpointer import_ui_question_params_ref (gpointer instance); +void import_ui_question_params_unref (gpointer instance); +GParamSpec* import_ui_param_spec_question_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void import_ui_value_set_question_params (GValue* value, gpointer v_object); +void import_ui_value_take_question_params (GValue* value, gpointer v_object); +gpointer import_ui_value_get_question_params (const GValue* value); +GType import_ui_question_params_get_type (void) G_GNUC_CONST; +enum { + IMPORT_UI_QUESTION_PARAMS_DUMMY_PROPERTY +}; +ImportUIQuestionParams* import_ui_question_params_new (const gchar* question, const gchar* yes_button, const gchar* no_button); +ImportUIQuestionParams* import_ui_question_params_construct (GType object_type, const gchar* question, const gchar* yes_button, const gchar* no_button); +static void import_ui_question_params_finalize (ImportUIQuestionParams* obj); +gboolean import_ui_import_has_photos (GeeCollection* import_collection); +PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file); +gboolean import_ui_import_has_videos (GeeCollection* import_collection); +gboolean video_reader_is_supported_video_file (GFile* file); +gchar* import_ui_get_media_specific_string (GeeCollection* import_collection, const gchar* photos_msg, const gchar* videos_msg, const gchar* both_msg, const gchar* neither_msg); +gpointer import_manifest_ref (gpointer instance); +void import_manifest_unref (gpointer instance); +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_import_manifest (GValue* value, gpointer v_object); +void value_take_import_manifest (GValue* value, gpointer v_object); +gpointer value_get_import_manifest (const GValue* value); +GType import_manifest_get_type (void) G_GNUC_CONST; +gchar* import_ui_create_result_report_from_manifest (ImportManifest* manifest); +#define RESOURCES_APP_VERSION _VERSION +GFile* duplicated_file_get_file (DuplicatedFile* self); +gboolean import_ui_report_manifest (ImportManifest* manifest, gboolean show_dest_id, ImportUIQuestionParams* question); +void import_ui_save_import_results (GtkWindow* chooser_dialog_parent, const gchar* results_log); +#define RESOURCES_SAVE_AS_LABEL _ ("Save _As") +gpointer text_entry_dialog_mediator_ref (gpointer instance); +void text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_text_entry_dialog_mediator (const GValue* value); +GType text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType text_entry_dialog_get_type (void) G_GNUC_CONST; +#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorPrivate)) +enum { + TEXT_ENTRY_DIALOG_MEDIATOR_DUMMY_PROPERTY +}; +TextEntryDialogMediator* text_entry_dialog_mediator_construct (GType object_type, const gchar* title, const gchar* label, const gchar* initial_text, GeeCollection* completion_list, const gchar* completion_delimiter); +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user); +TextEntryDialog* text_entry_dialog_new (void); +TextEntryDialog* text_entry_dialog_construct (GType object_type); +void text_entry_dialog_set_builder (TextEntryDialog* self, GtkBuilder* builder); +void text_entry_dialog_setup (TextEntryDialog* self, TextEntryDialogOnModifyValidateType modify_validate, void* modify_validate_target, const gchar* title, const gchar* label, const gchar* initial_text, GeeCollection* completion_list, const gchar* completion_delimiter); +gboolean text_entry_dialog_mediator_on_modify_validate (TextEntryDialogMediator* self, const gchar* text); +static gboolean _text_entry_dialog_mediator_on_modify_validate_text_entry_dialog_on_modify_validate_type (const gchar* text, gpointer self); +static gboolean text_entry_dialog_mediator_real_on_modify_validate (TextEntryDialogMediator* self, const gchar* text); +gchar* _text_entry_dialog_mediator_execute (TextEntryDialogMediator* self); +gchar* text_entry_dialog_execute (TextEntryDialog* self); +static void text_entry_dialog_mediator_finalize (TextEntryDialogMediator* obj); +gpointer multi_text_entry_dialog_mediator_ref (gpointer instance); +void multi_text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_multi_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_multi_text_entry_dialog_mediator (const GValue* value); +GType multi_text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType multi_text_entry_dialog_get_type (void) G_GNUC_CONST; +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorPrivate)) +enum { + MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_DUMMY_PROPERTY +}; +MultiTextEntryDialogMediator* multi_text_entry_dialog_mediator_construct (GType object_type, const gchar* title, const gchar* label, const gchar* initial_text); +MultiTextEntryDialog* multi_text_entry_dialog_new (void); +MultiTextEntryDialog* multi_text_entry_dialog_construct (GType object_type); +void multi_text_entry_dialog_set_builder (MultiTextEntryDialog* self, GtkBuilder* builder); +void multi_text_entry_dialog_setup (MultiTextEntryDialog* self, MultiTextEntryDialogOnModifyValidateType modify_validate, void* modify_validate_target, const gchar* title, const gchar* label, const gchar* initial_text); +gboolean multi_text_entry_dialog_mediator_on_modify_validate (MultiTextEntryDialogMediator* self, const gchar* text); +static gboolean _multi_text_entry_dialog_mediator_on_modify_validate_multi_text_entry_dialog_on_modify_validate_type (const gchar* text, gpointer self); +static gboolean multi_text_entry_dialog_mediator_real_on_modify_validate (MultiTextEntryDialogMediator* self, const gchar* text); +gchar* _multi_text_entry_dialog_mediator_execute (MultiTextEntryDialogMediator* self); +gchar* multi_text_entry_dialog_execute (MultiTextEntryDialog* self); +static void multi_text_entry_dialog_mediator_finalize (MultiTextEntryDialogMediator* obj); +gchar* build_alert_body_text (const gchar* primary_text, const gchar* secondary_text, gboolean should_escape); +gchar* guarded_markup_escape_text (const gchar* plain); +GType entry_multi_completion_get_type (void) G_GNUC_CONST; +#define ENTRY_MULTI_COMPLETION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletionPrivate)) +enum { + ENTRY_MULTI_COMPLETION_DUMMY_PROPERTY +}; +EntryMultiCompletion* entry_multi_completion_new (GeeCollection* completion_list, const gchar* delimiter); +EntryMultiCompletion* entry_multi_completion_construct (GType object_type, GeeCollection* completion_list, const gchar* delimiter); +static GtkListStore* entry_multi_completion_create_completion_store (GeeCollection* completion_list); +static gboolean entry_multi_completion_match_func (EntryMultiCompletion* self, GtkEntryCompletion* completion, const gchar* key, GtkTreeIter* iter); +static gboolean _entry_multi_completion_match_func_gtk_entry_completion_match_func (GtkEntryCompletion* completion, const gchar* key, GtkTreeIter* iter, gpointer self); +static gchar* entry_multi_completion_get_last_part (const gchar* s, const gchar* delimiter); +static gboolean entry_multi_completion_real_match_selected (GtkEntryCompletion* base, GtkTreeModel* model, GtkTreeIter* iter); +static void entry_multi_completion_finalize (GObject* obj); +gpointer set_background_dialog_ref (gpointer instance); +void set_background_dialog_unref (gpointer instance); +GParamSpec* param_spec_set_background_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_set_background_dialog (GValue* value, gpointer v_object); +void value_take_set_background_dialog (GValue* value, gpointer v_object); +gpointer value_get_set_background_dialog (const GValue* value); +GType set_background_dialog_get_type (void) G_GNUC_CONST; +enum { + SET_BACKGROUND_DIALOG_DUMMY_PROPERTY +}; +SetBackgroundDialog* set_background_dialog_construct (GType object_type, GtkBuilder* builder); +void set_background_dialog_on_checkbox_clicked (SetBackgroundDialog* self); +static void _set_background_dialog_on_checkbox_clicked_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +gboolean set_background_dialog_execute_base (SetBackgroundDialog* self); +static void set_background_dialog_finalize (SetBackgroundDialog* obj); +GType set_background_photo_dialog_get_type (void) G_GNUC_CONST; +enum { + SET_BACKGROUND_PHOTO_DIALOG_DUMMY_PROPERTY +}; +SetBackgroundPhotoDialog* set_background_photo_dialog_new (void); +SetBackgroundPhotoDialog* set_background_photo_dialog_construct (GType object_type); +gboolean set_background_photo_dialog_execute (SetBackgroundPhotoDialog* self, gboolean* desktop_background, gboolean* screensaver); +GType set_background_slideshow_dialog_get_type (void) G_GNUC_CONST; +#define SET_BACKGROUND_SLIDESHOW_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialogPrivate)) +enum { + SET_BACKGROUND_SLIDESHOW_DIALOG_DUMMY_PROPERTY +}; +SetBackgroundSlideshowDialog* set_background_slideshow_dialog_new (void); +SetBackgroundSlideshowDialog* set_background_slideshow_dialog_construct (GType object_type); +static void set_background_slideshow_dialog_on_delay_scale_value_changed (SetBackgroundSlideshowDialog* self); +static void _set_background_slideshow_dialog_on_delay_scale_value_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self); +gboolean set_background_slideshow_dialog_execute (SetBackgroundSlideshowDialog* self, gint* delay_value, gboolean* desktop_background, gboolean* screensaver); +static void set_background_slideshow_dialog_finalize (SetBackgroundDialog* obj); +#define TEXT_ENTRY_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TEXT_ENTRY_DIALOG, TextEntryDialogPrivate)) +enum { + TEXT_ENTRY_DIALOG_DUMMY_PROPERTY +}; +void text_entry_dialog_on_entry_changed (TextEntryDialog* self); +static void _text_entry_dialog_on_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void text_entry_dialog_finalize (GObject* obj); +#define MULTI_TEXT_ENTRY_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MULTI_TEXT_ENTRY_DIALOG, MultiTextEntryDialogPrivate)) +enum { + MULTI_TEXT_ENTRY_DIALOG_DUMMY_PROPERTY +}; +static void multi_text_entry_dialog_finalize (GObject* obj); +GType event_rename_dialog_get_type (void) G_GNUC_CONST; +enum { + EVENT_RENAME_DIALOG_DUMMY_PROPERTY +}; +EventRenameDialog* event_rename_dialog_new (const gchar* event_name); +EventRenameDialog* event_rename_dialog_construct (GType object_type, const gchar* event_name); +gchar* event_rename_dialog_execute (EventRenameDialog* self); +static gchar* event_rename_dialog_real_execute (EventRenameDialog* self); +gchar* event_prep_event_name (const gchar* name); +GType edit_title_dialog_get_type (void) G_GNUC_CONST; +enum { + EDIT_TITLE_DIALOG_DUMMY_PROPERTY +}; +EditTitleDialog* edit_title_dialog_new (const gchar* photo_title); +EditTitleDialog* edit_title_dialog_construct (GType object_type, const gchar* photo_title); +gchar* edit_title_dialog_execute (EditTitleDialog* self); +static gchar* edit_title_dialog_real_execute (EditTitleDialog* self); +gchar* media_source_prep_title (const gchar* title); +static gboolean edit_title_dialog_real_on_modify_validate (TextEntryDialogMediator* base, const gchar* text); +GType edit_comment_dialog_get_type (void) G_GNUC_CONST; +enum { + EDIT_COMMENT_DIALOG_DUMMY_PROPERTY +}; +EditCommentDialog* edit_comment_dialog_new (const gchar* comment, gboolean is_event); +EditCommentDialog* edit_comment_dialog_construct (GType object_type, const gchar* comment, gboolean is_event); +gchar* edit_comment_dialog_execute (EditCommentDialog* self); +static gchar* edit_comment_dialog_real_execute (EditCommentDialog* self); +gchar* media_source_prep_comment (const gchar* comment); +static gboolean edit_comment_dialog_real_on_modify_validate (MultiTextEntryDialogMediator* base, const gchar* text); +GtkResponseType remove_from_library_dialog (GtkWindow* owner, const gchar* title, const gchar* user_message, gint count); +GtkResponseType remove_from_filesystem_dialog (GtkWindow* owner, const gchar* title, const gchar* user_message); +gboolean revert_editable_dialog (GtkWindow* owner, GeeCollection* photos); +gboolean photo_has_editable (Photo* self); +gboolean remove_offline_dialog (GtkWindow* owner, gint count); +GType progress_dialog_get_type (void) G_GNUC_CONST; +#define PROGRESS_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PROGRESS_DIALOG, ProgressDialogPrivate)) +enum { + PROGRESS_DIALOG_DUMMY_PROPERTY +}; +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); +static void progress_dialog_on_cancel (ProgressDialog* self); +static void _progress_dialog_on_cancel_gtk_button_clicked (GtkButton* _sender, gpointer self); +static gboolean progress_dialog_on_window_closed (ProgressDialog* self); +static gboolean _progress_dialog_on_window_closed_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self); +gulong now_ms (void); +static void progress_dialog_real_realize (GtkWidget* base); +void progress_dialog_update_display_every (ProgressDialog* self, gint update_every); +void progress_dialog_set_minimum_on_screen_time_msec (ProgressDialog* self, gint minimum_on_screen_time_msec); +void progress_dialog_set_fraction (ProgressDialog* self, gint current, gint total); +void progress_dialog_set_percentage (ProgressDialog* self, gdouble pct); +static void progress_dialog_maybe_show_all (ProgressDialog* self, gdouble pct); +void progress_dialog_set_status (ProgressDialog* self, const gchar* text); +gboolean progress_dialog_monitor (ProgressDialog* self, guint64 count, guint64 total, gboolean do_event_loop); +void spin_event_loop (void); +void progress_dialog_close (ProgressDialog* self); +static void progress_dialog_finalize (GObject* obj); +GType adjust_date_time_dialog_get_type (void) G_GNUC_CONST; +static GType adjust_date_time_dialog_time_system_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define ADJUST_DATE_TIME_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogPrivate)) +enum { + ADJUST_DATE_TIME_DIALOG_DUMMY_PROPERTY +}; +#define ADJUST_DATE_TIME_DIALOG_SECONDS_IN_DAY ((gint64) ((60 * 60) * 24)) +#define ADJUST_DATE_TIME_DIALOG_SECONDS_IN_HOUR ((gint64) (60 * 60)) +#define ADJUST_DATE_TIME_DIALOG_SECONDS_IN_MINUTE ((gint64) 60) +#define ADJUST_DATE_TIME_DIALOG_YEAR_OFFSET 1900 +#define ADJUST_DATE_TIME_DIALOG_CALENDAR_THUMBNAIL_SCALE 1 +GType dateable_get_type (void) G_GNUC_CONST; +AdjustDateTimeDialog* adjust_date_time_dialog_new (Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video); +AdjustDateTimeDialog* adjust_date_time_dialog_construct (GType object_type, Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video); +#define RESOURCES_ADJUST_DATE_TIME_LABEL _ ("Adjust Date and Time") +static void adjust_date_time_dialog_on_time_changed (AdjustDateTimeDialog* self); +static void _adjust_date_time_dialog_on_time_changed_gtk_calendar_day_selected (GtkCalendar* _sender, gpointer self); +static void _adjust_date_time_dialog_on_time_changed_gtk_calendar_month_changed (GtkCalendar* _sender, gpointer self); +static void _adjust_date_time_dialog_on_time_changed_gtk_calendar_next_year (GtkCalendar* _sender, gpointer self); +static void _adjust_date_time_dialog_on_time_changed_gtk_calendar_prev_year (GtkCalendar* _sender, gpointer self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_use_24_hour_time (ConfigurationFacade* self); +static gboolean adjust_date_time_dialog_on_spin_button_output (AdjustDateTimeDialog* self, GtkSpinButton* button); +static gboolean _adjust_date_time_dialog_on_spin_button_output_gtk_spin_button_output (GtkSpinButton* _sender, gpointer self); +static void adjust_date_time_dialog_on_time_system_changed (AdjustDateTimeDialog* self); +static void _adjust_date_time_dialog_on_time_system_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +gboolean configuration_facade_get_keep_relativity (ConfigurationFacade* self); +static void _adjust_date_time_dialog_on_time_changed_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +gboolean configuration_facade_get_commit_metadata_to_masters (ConfigurationFacade* self); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +gchar* data_object_to_string (DataObject* self); +time_t dateable_get_exposure_time (Dateable* self); +static void adjust_date_time_dialog_set_time (AdjustDateTimeDialog* self, struct tm* time); +static void adjust_date_time_dialog_set_original_time_label (AdjustDateTimeDialog* self, gboolean use_24_hr_format); +static time_t adjust_date_time_dialog_get_time (AdjustDateTimeDialog* self); +gboolean adjust_date_time_dialog_execute (AdjustDateTimeDialog* self, gint64* time_shift, gboolean* keep_relativity, gboolean* modify_originals); +void configuration_facade_set_keep_relativity (ConfigurationFacade* self, gboolean keep_relativity); +void configuration_facade_set_modify_originals (ConfigurationFacade* self, gboolean modify_originals); +void configuration_facade_set_use_24_hour_time (ConfigurationFacade* self, gboolean use_24_hour_time); +static void adjust_date_time_dialog_finalize (GObject* obj); +#define MAX_OBJECTS_DISPLAYED 3 +void multiple_object_error_dialog (GeeArrayList* objects, const gchar* message, const gchar* title); +GType tags_dialog_get_type (void) G_GNUC_CONST; +enum { + TAGS_DIALOG_DUMMY_PROPERTY +}; +TagsDialog* tags_dialog_construct (GType object_type, const gchar* title, const gchar* label, const gchar* initial_text); +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void); +GeeCollection* hierarchical_tag_index_get_all_tags (HierarchicalTagIndex* self); +GType add_tags_dialog_get_type (void) G_GNUC_CONST; +enum { + ADD_TAGS_DIALOG_DUMMY_PROPERTY +}; +AddTagsDialog* add_tags_dialog_new (void); +AddTagsDialog* add_tags_dialog_construct (GType object_type); +#define RESOURCES_ADD_TAGS_TITLE "Add Tags" +gchar** add_tags_dialog_execute (AddTagsDialog* self, int* result_length1); +gchar** tag_prep_tag_names (gchar** names, int names_length1, int* result_length1); +static gboolean add_tags_dialog_real_on_modify_validate (TextEntryDialogMediator* base, const gchar* text); +#define TAG_PATH_SEPARATOR_STRING "/" +GType modify_tags_dialog_get_type (void) G_GNUC_CONST; +enum { + MODIFY_TAGS_DIALOG_DUMMY_PROPERTY +}; +ModifyTagsDialog* modify_tags_dialog_new (MediaSource* source); +ModifyTagsDialog* modify_tags_dialog_construct (GType object_type, MediaSource* source); +#define RESOURCES_MODIFY_TAGS_LABEL _ ("Modify Tags") +static gchar* modify_tags_dialog_get_initial_text (MediaSource* source); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source); +GeeCollection* tag_get_terminal_tags (GeeCollection* tags); +gchar* hierarchical_tag_utilities_get_basename (const gchar* in_path); +gchar* tag_get_path (Tag* self); +GeeArrayList* modify_tags_dialog_execute (ModifyTagsDialog* self); +gboolean is_string_empty (const gchar* s); +gchar** hierarchical_tag_index_get_paths_for_names_array (HierarchicalTagIndex* self, gchar** names, int names_length1, int* result_length1); +Tag* tag_for_path (const gchar* name); +static gboolean modify_tags_dialog_real_on_modify_validate (TextEntryDialogMediator* base, const gchar* text); +GType welcome_service_entry_get_type (void) G_GNUC_CONST; +gchar* welcome_service_entry_get_service_name (WelcomeServiceEntry* self); +void welcome_service_entry_execute (WelcomeServiceEntry* self); +GType welcome_dialog_get_type (void) G_GNUC_CONST; +GType spit_data_imports_welcome_import_meta_host_get_type (void) G_GNUC_CONST; +#define WELCOME_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_WELCOME_DIALOG, WelcomeDialogPrivate)) +enum { + WELCOME_DIALOG_DUMMY_PROPERTY +}; +WelcomeDialog* welcome_dialog_new (GtkWindow* owner); +WelcomeDialog* welcome_dialog_construct (GType object_type, GtkWindow* owner); +SpitDataImportsWelcomeImportMetaHost* spit_data_imports_welcome_import_meta_host_new (WelcomeDialog* dialog); +SpitDataImportsWelcomeImportMetaHost* spit_data_imports_welcome_import_meta_host_construct (GType object_type, WelcomeDialog* dialog); +static gboolean welcome_dialog_is_system_pictures_import_possible (void); +gchar* get_display_pathname (GFile* file); +GFile* app_dirs_get_import_dir (void); +static void welcome_dialog_install_import_content (WelcomeDialog* self); +void spit_data_imports_welcome_import_meta_host_start (SpitDataImportsWelcomeImportMetaHost* self); +void welcome_dialog_install_service_entry (WelcomeDialog* self, WelcomeServiceEntry* entry); +static void _vala_array_add275 (WelcomeServiceEntry*** array, int* length, int* size, WelcomeServiceEntry* value); +static void _vala_array_add276 (GtkCheckButton*** array, int* length, int* size, GtkCheckButton* value); +static void welcome_dialog_on_dismiss (WelcomeDialog* self, gint resp); +gboolean welcome_dialog_execute (WelcomeDialog* self, WelcomeServiceEntry*** selected_import_entries, int* selected_import_entries_length1, gboolean* do_system_pictures_import); +static void _welcome_dialog_on_dismiss_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self); +static void _vala_array_add277 (WelcomeServiceEntry*** array, int* length, int* size, WelcomeServiceEntry* value); +static WelcomeServiceEntry** _vala_array_dup30 (WelcomeServiceEntry** self, int length); +static void welcome_dialog_finalize (GObject* obj); +gpointer preferences_dialog_ref (gpointer instance); +void preferences_dialog_unref (gpointer instance); +GParamSpec* param_spec_preferences_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_preferences_dialog (GValue* value, gpointer v_object); +void value_take_preferences_dialog (GValue* value, gpointer v_object); +gpointer value_get_preferences_dialog (const GValue* value); +GType preferences_dialog_get_type (void) G_GNUC_CONST; +GType sorted_list_get_type (void) G_GNUC_CONST; +static gpointer preferences_dialog_path_format_ref (gpointer instance); +static void preferences_dialog_path_format_unref (gpointer instance); +static GParamSpec* preferences_dialog_param_spec_path_format (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void preferences_dialog_value_set_path_format (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void preferences_dialog_value_take_path_format (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer preferences_dialog_value_get_path_format (const GValue* value) G_GNUC_UNUSED; +static GType preferences_dialog_path_format_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gpointer plugins_manifest_widget_mediator_ref (gpointer instance); +void plugins_manifest_widget_mediator_unref (gpointer instance); +GParamSpec* plugins_param_spec_manifest_widget_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_manifest_widget_mediator (GValue* value, gpointer v_object); +void plugins_value_take_manifest_widget_mediator (GValue* value, gpointer v_object); +gpointer plugins_value_get_manifest_widget_mediator (const GValue* value); +GType plugins_manifest_widget_mediator_get_type (void) G_GNUC_CONST; +#define PREFERENCES_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PREFERENCES_DIALOG, PreferencesDialogPrivate)) +enum { + PREFERENCES_DIALOG_DUMMY_PROPERTY +}; +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_new (void); +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_construct (GType object_type); +static PreferencesDialog* preferences_dialog_new (void); +static PreferencesDialog* preferences_dialog_construct (GType object_type); +static gboolean preferences_dialog_on_delete (PreferencesDialog* self); +static gboolean _preferences_dialog_on_delete_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self); +static void preferences_dialog_on_close (PreferencesDialog* self); +static void _preferences_dialog_on_close_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self); +void config_facade_get_bg_color (ConfigFacade* self, GdkRGBA* result); +static void preferences_dialog_on_value_changed (PreferencesDialog* self); +static void _preferences_dialog_on_value_changed_gtk_adjustment_value_changed (GtkAdjustment* _sender, gpointer self); +static gboolean preferences_dialog_on_bg_color_reset (PreferencesDialog* self, GdkEventButton* event); +static gboolean _preferences_dialog_on_bg_color_reset_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +gchar* resources_get_help_path (void); +#define RESOURCES_DIR_PATTERN_URI_SYSWIDE "help:shotwell/other-files" +static gboolean preferences_dialog_on_local_pattern_help (PreferencesDialog* self, const gchar* ignore); +static gboolean _preferences_dialog_on_local_pattern_help_gtk_label_activate_link (GtkLabel* _sender, const gchar* uri, gpointer self); +static void preferences_dialog_add_to_dir_formats (PreferencesDialog* self, const gchar* name, const gchar* pattern); +static void preferences_dialog_on_dir_pattern_combo_changed (PreferencesDialog* self); +static void _preferences_dialog_on_dir_pattern_combo_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void preferences_dialog_on_dir_pattern_entry_changed (PreferencesDialog* self); +static void _preferences_dialog_on_dir_pattern_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static void preferences_dialog_on_lowercase_toggled (PreferencesDialog* self); +static void _preferences_dialog_on_lowercase_toggled_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +GtkWidget* plugins_manifest_widget_mediator_get_widget (PluginsManifestWidgetMediator* self); +void preferences_dialog_populate_preference_options (PreferencesDialog* self); +static void preferences_dialog_on_photo_editor_changed (PreferencesDialog* self); +static void _preferences_dialog_on_photo_editor_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void preferences_dialog_on_raw_editor_changed (PreferencesDialog* self); +static void _preferences_dialog_on_raw_editor_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +gboolean configuration_facade_get_auto_import_from_library (ConfigurationFacade* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +gchar* raw_developer_get_label (RawDeveloper self); +static void preferences_dialog_set_raw_developer_combo (PreferencesDialog* self, RawDeveloper d); +RawDeveloper configuration_facade_get_default_raw_developer (ConfigurationFacade* self); +static void preferences_dialog_on_default_raw_developer_changed (PreferencesDialog* self); +static void _preferences_dialog_on_default_raw_developer_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static gboolean preferences_dialog_map_event (PreferencesDialog* self); +static gboolean _preferences_dialog_map_event_gtk_widget_map_event (GtkWidget* _sender, GdkEventAny* event, gpointer self); +static void preferences_dialog_populate_app_combo_box (PreferencesDialog* self, GtkComboBox* combo_box, gchar** mime_types, int mime_types_length1, const gchar* current_app_executable, SortedList** external_apps); +gchar** photo_file_format_get_editable_mime_types (int* result_length1); +gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self); +gchar** photo_file_format_get_mime_types (PhotoFileFormat self, int* result_length1); +gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self); +static void preferences_dialog_setup_dir_pattern (PreferencesDialog* self, GtkComboBox* combo_box, GtkEntry* entry); +gboolean configuration_facade_get_use_lowercase_filenames (ConfigurationFacade* self); +void resources_launch_help (GdkScreen* screen, const gchar* anchor, GError** error); +SortedList* desktop_integration_get_apps_for_mime_types (gchar** mime_types, int mime_types_length1); +GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf, gint scale, GdkInterpType interp, gboolean scale_up); +#define RESOURCES_DEFAULT_ICON_SCALE 24 +gint sorted_list_index_of (SortedList* self, gconstpointer search); +gchar* configuration_facade_get_directory_pattern (ConfigurationFacade* self); +gchar* configuration_facade_get_directory_pattern_custom (ConfigurationFacade* self); +void preferences_dialog_show (void); +static void preferences_dialog_commit_on_close (PreferencesDialog* self); +void config_facade_commit_bg_color (ConfigFacade* self); +void configuration_facade_set_auto_import_from_library (ConfigurationFacade* self, gboolean auto_import); +void configuration_facade_set_commit_metadata_to_masters (ConfigurationFacade* self, gboolean commit_metadata); +void app_dirs_set_import_dir (const gchar* path); +void configuration_facade_set_directory_pattern_custom (ConfigurationFacade* self, const gchar* s); +void configuration_facade_set_directory_pattern (ConfigurationFacade* self, const gchar* s); +static gboolean preferences_dialog_get_allow_closing (PreferencesDialog* self); +static void preferences_dialog_set_background_color (PreferencesDialog* self, gdouble bg_color_value); +gboolean has_only_key_modifier (GdkModifierType field, GdkModifierType mask); +void parse_color (const gchar* spec, GdkRGBA* result); +#define CONFIG_FACADE_DEFAULT_BG_COLOR "#444" +static void preferences_dialog_set_allow_closing (PreferencesDialog* self, gboolean allow); +void config_facade_set_bg_color (ConfigFacade* self, GdkRGBA* color); +static void preferences_dialog_to_grayscale (PreferencesDialog* self, gdouble color_value, GdkRGBA* result); +gpointer sorted_list_get_at (SortedList* self, gint index); +void configuration_facade_set_external_photo_app (ConfigurationFacade* self, const gchar* external_photo_app); +gchar* desktop_integration_get_app_open_command (GAppInfo* app_info); +void configuration_facade_set_external_raw_app (ConfigurationFacade* self, const gchar* external_raw_app); +static RawDeveloper preferences_dialog_raw_developer_from_combo (PreferencesDialog* self); +void configuration_facade_set_default_raw_developer (ConfigurationFacade* self, RawDeveloper d); +static void preferences_dialog_on_current_folder_changed (PreferencesDialog* self); +static void _preferences_dialog_on_current_folder_changed_gtk_file_chooser_current_folder_changed (GtkFileChooser* _sender, gpointer self); +static PreferencesDialogPathFormat* preferences_dialog_path_format_new (const gchar* name, const gchar* pattern); +static PreferencesDialogPathFormat* preferences_dialog_path_format_construct (GType object_type, const gchar* name, const gchar* pattern); +void configuration_facade_set_use_lowercase_filenames (ConfigurationFacade* self, gboolean b); +enum { + PREFERENCES_DIALOG_PATH_FORMAT_DUMMY_PROPERTY +}; +static void preferences_dialog_path_format_finalize (PreferencesDialogPathFormat* obj); +static void preferences_dialog_finalize (PreferencesDialog* obj); +GtkResponseType copy_files_dialog (void); +GType library_photo_get_type (void) G_GNUC_CONST; +void remove_photos_from_library (GeeCollection* photos); +void remove_from_app (GeeCollection* sources, const gchar* dialog_title, const gchar* progress_dialog_text); +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos); +void page_window_set_busy_cursor (PageWindow* self); +static gboolean _progress_dialog_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self); +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +void media_source_collection_remove_from_app (MediaSourceCollection* self, GeeCollection* sources, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +GType video_source_collection_get_type (void) G_GNUC_CONST; +void media_source_collection_delete_backing_files (MediaSourceCollection* self, GeeCollection* sources, ProgressMonitor monitor, void* monitor_target, GeeList* not_deleted); +void app_window_error_message_with_title (const gchar* title, const gchar* message, GtkWindow* parent, gboolean should_escape); +void page_window_set_normal_cursor (PageWindow* self); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + +const ScaleConstraint EXPORT_DIALOG_CONSTRAINT_ARRAY[4] = {SCALE_CONSTRAINT_ORIGINAL, SCALE_CONSTRAINT_DIMENSIONS, SCALE_CONSTRAINT_WIDTH, SCALE_CONSTRAINT_HEIGHT}; +const JpegQuality EXPORT_DIALOG_QUALITY_ARRAY[4] = {JPEG_QUALITY_LOW, JPEG_QUALITY_MEDIUM, JPEG_QUALITY_HIGH, JPEG_QUALITY_MAXIMUM}; + +gboolean dialogs_confirm_delete_tag (Tag* tag) { + gboolean result = FALSE; + gint count = 0; + Tag* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gchar* msg = NULL; + gint _tmp3_ = 0; + const gchar* _tmp4_ = NULL; + Tag* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 11 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_TAG (tag), FALSE); +#line 12 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = tag; +#line 12 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = tag_get_sources_count (_tmp0_); +#line 12 "/home/jens/Source/shotwell/src/Dialogs.vala" + count = _tmp1_; +#line 13 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = count; +#line 13 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_ == 0) { +#line 14 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 14 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 1746 "Dialogs.c" + } +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = count; +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = ngettext ("This will remove the tag \"%s\" from one photo. Continue?", "This will remove the tag \"%s\" from %d photos. Continue?", (gulong) _tmp3_); +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = tag; +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = tag_get_user_visible_name (_tmp5_); +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = count; +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = g_strdup_printf (_tmp4_, _tmp7_, _tmp8_); +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp7_); +#line 15 "/home/jens/Source/shotwell/src/Dialogs.vala" + msg = _tmp10_; +#line 20 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = msg; +#line 20 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _ ("_Cancel"); +#line 20 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _ ("_Delete"); +#line 20 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = app_window_negate_affirm_question (_tmp11_, _tmp12_, _tmp13_, RESOURCES_DELETE_TAG_TITLE, NULL); +#line 20 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp14_; +#line 20 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (msg); +#line 20 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 1782 "Dialogs.c" +} + + +gboolean dialogs_confirm_delete_saved_search (SavedSearch* search) { + gboolean result = FALSE; + gchar* msg = NULL; + const gchar* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 24 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (search), FALSE); +#line 25 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _ ("This will remove the saved search \"%s\". Continue?"); +#line 25 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = search; +#line 25 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 25 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 25 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = g_strdup_printf (_tmp0_, _tmp3_); +#line 25 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 25 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp3_); +#line 25 "/home/jens/Source/shotwell/src/Dialogs.vala" + msg = _tmp5_; +#line 28 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _ ("_Cancel"); +#line 28 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _ ("_Delete"); +#line 28 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = app_window_negate_affirm_question (msg, _tmp6_, _tmp7_, RESOURCES_DELETE_SAVED_SEARCH_DIALOG_TITLE, NULL); +#line 28 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp8_; +#line 28 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (msg); +#line 28 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 1828 "Dialogs.c" +} + + +gboolean dialogs_confirm_warn_developer_changed (gint number) { + gboolean result = FALSE; + GtkMessageDialog* dialog = NULL; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + GtkMessageDialog* _tmp4_ = NULL; + GtkMessageDialog* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gint response = 0; + gint _tmp7_ = 0; +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = app_window_get_instance (); +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = number; +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = ngettext ("Switching developers will undo all changes you have made to this photo" \ +" in Shotwell", "Switching developers will undo all changes you have made to these phot" \ +"os in Shotwell", (gulong) _tmp2_); +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = (GtkMessageDialog*) gtk_message_dialog_new_with_markup (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_window_get_type (), GtkWindow), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", _tmp3_); +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp4_); +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp1_); +#line 33 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp5_; +#line 39 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_buttons (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, NULL); +#line 40 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _ ("_Switch Developer"); +#line 40 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_buttons (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), _tmp6_, GTK_RESPONSE_YES, NULL); +#line 42 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog)); +#line 42 "/home/jens/Source/shotwell/src/Dialogs.vala" + response = _tmp7_; +#line 44 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_widget_get_type (), GtkWidget)); +#line 46 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = response == ((gint) GTK_RESPONSE_YES); +#line 46 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 46 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 1880 "Dialogs.c" +} + + +static void _suppress_warnings_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self) { +#line 71 "/home/jens/Source/shotwell/src/Dialogs.vala" + suppress_warnings (log_domain, log_levels, message); +#line 1887 "Dialogs.c" +} + + +GFile* export_ui_choose_file (const gchar* current_file_basename) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gchar* file_chooser_title = NULL; + gchar* _tmp8_ = NULL; + GtkFileChooserDialog* chooser = NULL; + const gchar* _tmp9_ = NULL; + AppWindow* _tmp10_ = NULL; + AppWindow* _tmp11_ = NULL; + GtkFileChooserDialog* _tmp12_ = NULL; + GtkFileChooserDialog* _tmp13_ = NULL; + GtkFileChooserDialog* _tmp14_ = NULL; + GtkFileChooserDialog* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GtkFileChooserDialog* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + GtkFileChooserDialog* _tmp21_ = NULL; + GFile* file = NULL; + GtkFileChooserDialog* _tmp22_ = NULL; + gint _tmp23_ = 0; + GLogFunc _tmp30_ = NULL; + void* _tmp30__target = NULL; + GtkFileChooserDialog* _tmp31_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (current_file_basename != NULL, NULL); +#line 55 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = export_ui_current_export_dir; +#line 55 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == NULL) { +#line 1925 "Dialogs.c" + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_get_home_dir (); +#line 56 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 56 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (export_ui_current_export_dir); +#line 56 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_ui_current_export_dir = _tmp2_; +#line 1936 "Dialogs.c" + } +#line 58 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = current_file_basename; +#line 58 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = video_reader_is_supported_video_filename (_tmp4_); +#line 58 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_) { +#line 1944 "Dialogs.c" + const gchar* _tmp6_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _ ("Export Video"); +#line 59 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp6_; +#line 1950 "Dialogs.c" + } else { + const gchar* _tmp7_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _ ("Export Photo"); +#line 59 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp7_; +#line 1957 "Dialogs.c" + } +#line 58 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = g_strdup (_tmp3_); +#line 58 "/home/jens/Source/shotwell/src/Dialogs.vala" + file_chooser_title = _tmp8_; +#line 61 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = file_chooser_title; +#line 61 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = app_window_get_instance (); +#line 61 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 61 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_window_get_type (), GtkWindow), GTK_FILE_CHOOSER_ACTION_SAVE, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_SAVE_LABEL, GTK_RESPONSE_ACCEPT, NULL, NULL); +#line 61 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp12_); +#line 61 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp12_; +#line 61 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp11_); +#line 61 "/home/jens/Source/shotwell/src/Dialogs.vala" + chooser = _tmp13_; +#line 64 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = chooser; +#line 64 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_do_overwrite_confirmation (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), TRUE); +#line 65 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = chooser; +#line 65 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = export_ui_current_export_dir; +#line 65 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 65 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _tmp17_; +#line 65 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp18_); +#line 65 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp18_); +#line 66 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = chooser; +#line 66 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = current_file_basename; +#line 66 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_current_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp20_); +#line 67 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = chooser; +#line 67 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_local_only (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), FALSE); +#line 71 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, _suppress_warnings_glog_func, NULL); +#line 72 "/home/jens/Source/shotwell/src/Dialogs.vala" + file = NULL; +#line 73 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = chooser; +#line 73 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_dialog_get_type (), GtkDialog)); +#line 73 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp23_ == ((gint) GTK_RESPONSE_ACCEPT)) { +#line 2015 "Dialogs.c" + GtkFileChooserDialog* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = chooser; +#line 74 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = gtk_file_chooser_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 74 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = _tmp25_; +#line 74 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = g_file_new_for_path (_tmp26_); +#line 74 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (file); +#line 74 "/home/jens/Source/shotwell/src/Dialogs.vala" + file = _tmp27_; +#line 74 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp26_); +#line 75 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = file; +#line 75 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = g_file_get_parent (_tmp28_); +#line 75 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (export_ui_current_export_dir); +#line 75 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_ui_current_export_dir = _tmp29_; +#line 2044 "Dialogs.c" + } +#line 77 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = g_log_default_handler; +#line 77 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30__target = NULL; +#line 77 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, _tmp30_, _tmp30__target); +#line 78 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = chooser; +#line 78 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget)); +#line 80 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = file; +#line 80 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (chooser); +#line 80 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (file_chooser_title); +#line 80 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 2064 "Dialogs.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 99 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self ? g_object_ref (self) : NULL; +#line 2071 "Dialogs.c" +} + + +GFile* export_ui_choose_dir (const gchar* user_title) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp3_ = NULL; + GtkFileChooserDialog* chooser = NULL; + const gchar* _tmp5_ = NULL; + AppWindow* _tmp6_ = NULL; + AppWindow* _tmp7_ = NULL; + GtkFileChooserDialog* _tmp8_ = NULL; + GtkFileChooserDialog* _tmp9_ = NULL; + GtkFileChooserDialog* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GtkFileChooserDialog* _tmp14_ = NULL; + GFile* dir = NULL; + GtkFileChooserDialog* _tmp15_ = NULL; + gint _tmp16_ = 0; + GtkFileChooserDialog* _tmp23_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = export_ui_current_export_dir; +#line 84 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == NULL) { +#line 2098 "Dialogs.c" + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_get_home_dir (); +#line 85 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 85 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (export_ui_current_export_dir); +#line 85 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_ui_current_export_dir = _tmp2_; +#line 2109 "Dialogs.c" + } +#line 87 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = user_title; +#line 87 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp3_ == NULL) { +#line 2115 "Dialogs.c" + const gchar* _tmp4_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _ ("Export Photos"); +#line 88 "/home/jens/Source/shotwell/src/Dialogs.vala" + user_title = _tmp4_; +#line 2121 "Dialogs.c" + } +#line 90 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = user_title; +#line 90 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = app_window_get_instance (); +#line 90 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 90 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_window_get_type (), GtkWindow), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_OK_LABEL, GTK_RESPONSE_ACCEPT, NULL, NULL); +#line 90 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp8_); +#line 90 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 90 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp7_); +#line 90 "/home/jens/Source/shotwell/src/Dialogs.vala" + chooser = _tmp9_; +#line 93 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = chooser; +#line 93 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = export_ui_current_export_dir; +#line 93 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 93 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp12_; +#line 93 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp13_); +#line 93 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp13_); +#line 94 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = chooser; +#line 94 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_local_only (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), FALSE); +#line 96 "/home/jens/Source/shotwell/src/Dialogs.vala" + dir = NULL; +#line 97 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = chooser; +#line 97 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_dialog_get_type (), GtkDialog)); +#line 97 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp16_ == ((gint) GTK_RESPONSE_ACCEPT)) { +#line 2163 "Dialogs.c" + GtkFileChooserDialog* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = chooser; +#line 98 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = gtk_file_chooser_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 98 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp18_; +#line 98 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = g_file_new_for_path (_tmp19_); +#line 98 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dir); +#line 98 "/home/jens/Source/shotwell/src/Dialogs.vala" + dir = _tmp20_; +#line 98 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp19_); +#line 99 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = dir; +#line 99 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _g_object_ref0 (_tmp21_); +#line 99 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (export_ui_current_export_dir); +#line 99 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_ui_current_export_dir = _tmp22_; +#line 2192 "Dialogs.c" + } +#line 102 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = chooser; +#line 102 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget)); +#line 104 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = dir; +#line 104 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (chooser); +#line 104 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 2204 "Dialogs.c" +} + + +void open_external_editor_error_dialog (GError* err, Photo* photo) { + gboolean _tmp0_ = FALSE; + GError* _tmp1_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 113 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = err; +#line 113 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_error_matches (_tmp1_, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED)) { +#line 113 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = TRUE; +#line 2219 "Dialogs.c" + } else { + GError* _tmp2_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = err; +#line 113 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = g_error_matches (_tmp2_, G_FILE_ERROR, G_FILE_ERROR_PERM); +#line 2226 "Dialogs.c" + } +#line 113 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_) { +#line 2230 "Dialogs.c" + const gchar* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _ ("Shotwell couldn't create a file for editing this photo because you do " \ +"not have permission to write to %s."); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = photo; +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp5_; +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = g_file_get_parent (_tmp6_); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = g_file_get_path (_tmp8_); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = g_strdup_printf (_tmp3_, _tmp10_); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp11_; +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + app_window_error_message (_tmp12_, NULL); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp12_); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp10_); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp8_); +#line 115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp6_); +#line 2271 "Dialogs.c" + } else { + GError* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = err; +#line 120 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = resources_launch_editor_failed (_tmp13_); +#line 120 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = _tmp14_; +#line 120 "/home/jens/Source/shotwell/src/Dialogs.vala" + app_window_error_message (_tmp15_, NULL); +#line 120 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp15_); +#line 2286 "Dialogs.c" + } +} + + +GtkResponseType export_error_dialog (GFile* dest, gboolean photos_remaining) { + GtkResponseType result = 0; + gchar* message = NULL; + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GtkResponseType response = 0; + gboolean _tmp6_ = FALSE; +#line 124 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (G_IS_FILE (dest), 0); +#line 125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _ ("Unable to export the following photo due to a file error.\n\n"); +#line 125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = dest; +#line 125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = g_strconcat (_tmp0_, _tmp3_, NULL); +#line 125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp3_); +#line 125 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp5_; +#line 128 "/home/jens/Source/shotwell/src/Dialogs.vala" + response = GTK_RESPONSE_NONE; +#line 130 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = photos_remaining; +#line 130 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp6_) { +#line 2326 "Dialogs.c" + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GtkResponseType _tmp12_ = 0; +#line 131 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = message; +#line 131 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _ ("\n\nWould you like to continue exporting?"); +#line 131 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = g_strconcat (_tmp7_, _tmp8_, NULL); +#line 131 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 131 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp9_; +#line 132 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = message; +#line 132 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _ ("Con_tinue"); +#line 132 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = app_window_affirm_cancel_question (_tmp10_, _tmp11_, NULL, NULL); +#line 132 "/home/jens/Source/shotwell/src/Dialogs.vala" + response = _tmp12_; +#line 2351 "Dialogs.c" + } else { + const gchar* _tmp13_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = message; +#line 134 "/home/jens/Source/shotwell/src/Dialogs.vala" + app_window_error_message (_tmp13_, NULL); +#line 2358 "Dialogs.c" + } +#line 137 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = response; +#line 137 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 137 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 2366 "Dialogs.c" +} + + +static void _export_dialog_on_constraint_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 209 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_on_constraint_changed ((ExportDialog*) self); +#line 2373 "Dialogs.c" +} + + +static void _export_dialog_on_format_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 210 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_on_format_changed ((ExportDialog*) self); +#line 2380 "Dialogs.c" +} + + +static void _export_dialog_on_pixels_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 211 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_on_pixels_changed ((ExportDialog*) self); +#line 2387 "Dialogs.c" +} + + +static void _export_dialog_on_pixels_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self) { +#line 212 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_on_pixels_insert_text ((ExportDialog*) self, new_text, new_text_length, position); +#line 2394 "Dialogs.c" +} + + +static void _export_dialog_on_activate_gtk_entry_activate (GtkEntry* _sender, gpointer self) { +#line 213 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_on_activate ((ExportDialog*) self); +#line 2401 "Dialogs.c" +} + + +ExportDialog* export_dialog_construct (GType object_type, const gchar* title) { + ExportDialog * self = NULL; + gboolean use_header = FALSE; + GtkSettings* _tmp0_ = NULL; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + GtkComboBoxText* _tmp4_ = NULL; + gint ctr = 0; + GtkComboBoxText* _tmp15_ = NULL; + GtkComboBoxText* _tmp25_ = NULL; + gint _tmp26_ = 0; + PhotoFileFormat* _tmp27_ = NULL; + GtkEntry* _tmp33_ = NULL; + GtkEntry* _tmp34_ = NULL; + GtkEntry* _tmp35_ = NULL; + gint _tmp36_ = 0; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + GtkComboBoxText* _tmp39_ = NULL; + GtkComboBoxText* _tmp40_ = NULL; + GtkEntry* _tmp41_ = NULL; + GtkEntry* _tmp42_ = NULL; + GtkEntry* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + GtkComboBoxText* _tmp45_ = NULL; + GtkComboBoxText* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + GtkComboBoxText* _tmp48_ = NULL; + GtkComboBoxText* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + GtkComboBoxText* _tmp51_ = NULL; + GtkComboBoxText* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + GtkEntry* _tmp54_ = NULL; + GtkEntry* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + GtkCheckButton* _tmp57_ = NULL; + GtkCheckButton* _tmp58_ = NULL; + GtkCheckButton* _tmp59_ = NULL; + GtkGrid* _tmp60_ = NULL; + GtkGrid* _tmp61_ = NULL; + GtkGrid* _tmp62_ = NULL; + GtkBox* _tmp63_ = NULL; + GtkGrid* _tmp64_ = NULL; + GtkWidget* _tmp65_ = NULL; + GtkWidget* _tmp66_ = NULL; + GtkWidget* _tmp67_ = NULL; + GtkWidget* _tmp68_ = NULL; + GtkWidget* _tmp69_ = NULL; + ScaleConstraint _tmp70_ = 0; + GtkWidget* _tmp73_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (title != NULL, NULL); +#line 173 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = gtk_settings_get_default (); +#line 173 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), "gtk-dialogs-use-header", &use_header, NULL); +#line 174 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = use_header; +#line 174 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_) { +#line 174 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = 1; +#line 2469 "Dialogs.c" + } else { +#line 174 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = 0; +#line 2473 "Dialogs.c" + } +#line 174 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (ExportDialog*) g_object_new (object_type, "use-header-bar", _tmp1_, NULL); +#line 176 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = title; +#line 176 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp3_); +#line 177 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 179 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp4_); +#line 179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->quality_combo); +#line 179 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->quality_combo = _tmp4_; +#line 180 "/home/jens/Source/shotwell/src/Dialogs.vala" + ctr = 0; +#line 2493 "Dialogs.c" + { + JpegQuality* quality_collection = NULL; + gint quality_collection_length1 = 0; + gint _quality_collection_size_ = 0; + gint quality_it = 0; +#line 181 "/home/jens/Source/shotwell/src/Dialogs.vala" + quality_collection = EXPORT_DIALOG_QUALITY_ARRAY; +#line 181 "/home/jens/Source/shotwell/src/Dialogs.vala" + quality_collection_length1 = G_N_ELEMENTS (EXPORT_DIALOG_QUALITY_ARRAY); +#line 181 "/home/jens/Source/shotwell/src/Dialogs.vala" + for (quality_it = 0; quality_it < G_N_ELEMENTS (EXPORT_DIALOG_QUALITY_ARRAY); quality_it = quality_it + 1) { +#line 2505 "Dialogs.c" + JpegQuality quality = 0; +#line 181 "/home/jens/Source/shotwell/src/Dialogs.vala" + quality = quality_collection[quality_it]; +#line 2509 "Dialogs.c" + { + GtkComboBoxText* _tmp5_ = NULL; + JpegQuality _tmp6_ = 0; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + JpegQuality _tmp9_ = 0; + ExportFormatParameters _tmp10_ = {0}; + JpegQuality _tmp11_ = 0; + gint _tmp14_ = 0; +#line 182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->quality_combo; +#line 182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = quality; +#line 182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = jpeg_quality_to_string (_tmp6_); +#line 182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 182 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp8_); +#line 182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp8_); +#line 183 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = quality; +#line 183 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = export_dialog_current_parameters; +#line 183 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_.quality; +#line 183 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp9_ == _tmp11_) { +#line 2539 "Dialogs.c" + GtkComboBoxText* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 184 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = self->priv->quality_combo; +#line 184 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = ctr; +#line 184 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_combo_box_get_type (), GtkComboBox), _tmp13_); +#line 2548 "Dialogs.c" + } +#line 185 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = ctr; +#line 185 "/home/jens/Source/shotwell/src/Dialogs.vala" + ctr = _tmp14_ + 1; +#line 2554 "Dialogs.c" + } + } + } +#line 188 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 188 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp15_); +#line 188 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->constraint_combo); +#line 188 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->constraint_combo = _tmp15_; +#line 189 "/home/jens/Source/shotwell/src/Dialogs.vala" + ctr = 0; +#line 2568 "Dialogs.c" + { + ScaleConstraint* constraint_collection = NULL; + gint constraint_collection_length1 = 0; + gint _constraint_collection_size_ = 0; + gint constraint_it = 0; +#line 190 "/home/jens/Source/shotwell/src/Dialogs.vala" + constraint_collection = EXPORT_DIALOG_CONSTRAINT_ARRAY; +#line 190 "/home/jens/Source/shotwell/src/Dialogs.vala" + constraint_collection_length1 = G_N_ELEMENTS (EXPORT_DIALOG_CONSTRAINT_ARRAY); +#line 190 "/home/jens/Source/shotwell/src/Dialogs.vala" + for (constraint_it = 0; constraint_it < G_N_ELEMENTS (EXPORT_DIALOG_CONSTRAINT_ARRAY); constraint_it = constraint_it + 1) { +#line 2580 "Dialogs.c" + ScaleConstraint constraint = 0; +#line 190 "/home/jens/Source/shotwell/src/Dialogs.vala" + constraint = constraint_collection[constraint_it]; +#line 2584 "Dialogs.c" + { + GtkComboBoxText* _tmp16_ = NULL; + ScaleConstraint _tmp17_ = 0; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + ScaleConstraint _tmp20_ = 0; + ScaleConstraint _tmp21_ = 0; + gint _tmp24_ = 0; +#line 191 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->priv->constraint_combo; +#line 191 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = constraint; +#line 191 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = scale_constraint_to_string (_tmp17_); +#line 191 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp18_; +#line 191 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp16_, _tmp19_); +#line 191 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp19_); +#line 192 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = constraint; +#line 192 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = export_dialog_current_constraint; +#line 192 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp20_ == _tmp21_) { +#line 2611 "Dialogs.c" + GtkComboBoxText* _tmp22_ = NULL; + gint _tmp23_ = 0; +#line 193 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = self->priv->constraint_combo; +#line 193 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = ctr; +#line 193 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_combo_box_get_type (), GtkComboBox), _tmp23_); +#line 2620 "Dialogs.c" + } +#line 194 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = ctr; +#line 194 "/home/jens/Source/shotwell/src/Dialogs.vala" + ctr = _tmp24_ + 1; +#line 2626 "Dialogs.c" + } + } + } +#line 197 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 197 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp25_); +#line 197 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->format_combo); +#line 197 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->format_combo = _tmp25_; +#line 198 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_format_add_option (self, EXPORT_DIALOG_UNMODIFIED_FORMAT_LABEL); +#line 199 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_format_add_option (self, EXPORT_DIALOG_CURRENT_FORMAT_LABEL); +#line 200 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = photo_file_format_get_writeable (&_tmp26_); +#line 2644 "Dialogs.c" + { + PhotoFileFormat* format_collection = NULL; + gint format_collection_length1 = 0; + gint _format_collection_size_ = 0; + gint format_it = 0; +#line 200 "/home/jens/Source/shotwell/src/Dialogs.vala" + format_collection = _tmp27_; +#line 200 "/home/jens/Source/shotwell/src/Dialogs.vala" + format_collection_length1 = _tmp26_; +#line 200 "/home/jens/Source/shotwell/src/Dialogs.vala" + for (format_it = 0; format_it < _tmp26_; format_it = format_it + 1) { +#line 2656 "Dialogs.c" + PhotoFileFormat format = 0; +#line 200 "/home/jens/Source/shotwell/src/Dialogs.vala" + format = format_collection[format_it]; +#line 2660 "Dialogs.c" + { + PhotoFileFormat _tmp28_ = 0; + PhotoFileFormatProperties* _tmp29_ = NULL; + PhotoFileFormatProperties* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = format; +#line 201 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = photo_file_format_get_properties (_tmp28_); +#line 201 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = _tmp29_; +#line 201 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = photo_file_format_properties_get_user_visible_name (_tmp30_); +#line 201 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = _tmp31_; +#line 201 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_format_add_option (self, _tmp32_); +#line 201 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp32_); +#line 201 "/home/jens/Source/shotwell/src/Dialogs.vala" + _photo_file_format_properties_unref0 (_tmp30_); +#line 2683 "Dialogs.c" + } + } +#line 200 "/home/jens/Source/shotwell/src/Dialogs.vala" + format_collection = (g_free (format_collection), NULL); +#line 2688 "Dialogs.c" + } +#line 204 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = (GtkEntry*) gtk_entry_new (); +#line 204 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp33_); +#line 204 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->pixels_entry); +#line 204 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->pixels_entry = _tmp33_; +#line 205 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = self->priv->pixels_entry; +#line 205 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_max_length (_tmp34_, 6); +#line 206 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = self->priv->pixels_entry; +#line 206 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = export_dialog_current_scale; +#line 206 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = g_strdup_printf ("%d", _tmp36_); +#line 206 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = _tmp37_; +#line 206 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_text (_tmp35_, _tmp38_); +#line 206 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp38_); +#line 209 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = self->priv->constraint_combo; +#line 209 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _export_dialog_on_constraint_changed_gtk_combo_box_changed, self, 0); +#line 210 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = self->priv->format_combo; +#line 210 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _export_dialog_on_format_changed_gtk_combo_box_changed, self, 0); +#line 211 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = self->priv->pixels_entry; +#line 211 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _export_dialog_on_pixels_changed_gtk_editable_changed, self, 0); +#line 212 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = self->priv->pixels_entry; +#line 212 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GTK_TYPE_EDITABLE, GtkEditable), "insert-text", (GCallback) _export_dialog_on_pixels_insert_text_gtk_editable_insert_text, self, 0); +#line 213 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = self->priv->pixels_entry; +#line 213 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp43_, "activate", (GCallback) _export_dialog_on_activate_gtk_entry_activate, self, 0); +#line 216 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = _ ("_Format:"); +#line 216 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = self->priv->format_combo; +#line 216 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_label (self, _tmp44_, 0, 0, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_widget_get_type (), GtkWidget)); +#line 217 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = self->priv->format_combo; +#line 217 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_control (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_widget_get_type (), GtkWidget), 1, 0); +#line 219 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = _ ("_Quality:"); +#line 219 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = self->priv->quality_combo; +#line 219 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_label (self, _tmp47_, 0, 1, G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_widget_get_type (), GtkWidget)); +#line 220 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = self->priv->quality_combo; +#line 220 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_control (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_widget_get_type (), GtkWidget), 1, 1); +#line 222 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = _ ("_Scaling constraint:"); +#line 222 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = self->priv->constraint_combo; +#line 222 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_label (self, _tmp50_, 0, 2, G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, gtk_widget_get_type (), GtkWidget)); +#line 223 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = self->priv->constraint_combo; +#line 223 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_control (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, gtk_widget_get_type (), GtkWidget), 1, 2); +#line 225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = _ ("_Pixels:"); +#line 225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = self->priv->pixels_entry; +#line 225 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_label (self, _tmp53_, 0, 3, G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, gtk_widget_get_type (), GtkWidget)); +#line 226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = self->priv->pixels_entry; +#line 226 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_control (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, gtk_widget_get_type (), GtkWidget), 1, 3); +#line 228 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = _ ("Export metadata"); +#line 228 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = (GtkCheckButton*) gtk_check_button_new_with_label (_tmp56_); +#line 228 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp57_); +#line 228 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->export_metadata); +#line 228 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->export_metadata = _tmp57_; +#line 229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp58_ = self->priv->export_metadata; +#line 229 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_add_control (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_widget_get_type (), GtkWidget), 1, 4); +#line 230 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp59_ = self->priv->export_metadata; +#line 230 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 232 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp60_ = self->priv->table; +#line 232 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_grid_set_row_spacing (_tmp60_, (guint) 5); +#line 233 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp61_ = self->priv->table; +#line 233 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_grid_set_column_spacing (_tmp61_, (guint) 5); +#line 234 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp62_ = self->priv->table; +#line 234 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, gtk_container_get_type (), GtkContainer), (guint) 3); +#line 236 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp63_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 236 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp64_ = self->priv->table; +#line 236 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, gtk_box_get_type (), GtkBox), gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_widget_get_type (), GtkWidget)); +#line 239 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_CANCEL_LABEL, (gint) GTK_RESPONSE_CANCEL); +#line 240 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp65_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_OK_LABEL, (gint) GTK_RESPONSE_OK); +#line 240 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp66_ = _g_object_ref0 (_tmp65_); +#line 240 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->ok_button); +#line 240 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->ok_button = _tmp66_; +#line 241 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_default_response (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK); +#line 243 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp67_ = self->priv->ok_button; +#line 243 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_can_default (_tmp67_, TRUE); +#line 244 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp68_ = self->priv->ok_button; +#line 244 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_set (_tmp68_, "has-default", TRUE, NULL); +#line 245 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = self->priv->ok_button; +#line 245 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_default (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp69_); +#line 247 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70_ = export_dialog_current_constraint; +#line 247 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp70_ == SCALE_CONSTRAINT_ORIGINAL) { +#line 2838 "Dialogs.c" + GtkEntry* _tmp71_ = NULL; + GtkComboBoxText* _tmp72_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp71_ = self->priv->pixels_entry; +#line 248 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp72_ = self->priv->quality_combo; +#line 249 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 2849 "Dialogs.c" + } +#line 252 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp73_ = self->priv->ok_button; +#line 252 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_grab_focus (_tmp73_); +#line 171 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 2857 "Dialogs.c" +} + + +ExportDialog* export_dialog_new (const gchar* title) { +#line 171 "/home/jens/Source/shotwell/src/Dialogs.vala" + return export_dialog_construct (TYPE_EXPORT_DIALOG, title); +#line 2864 "Dialogs.c" +} + + +static void export_dialog_format_add_option (ExportDialog* self, const gchar* format_name) { + GeeArrayList* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 255 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 255 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (format_name != NULL); +#line 256 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->format_options; +#line 256 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = format_name; +#line 256 "/home/jens/Source/shotwell/src/Dialogs.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 257 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->format_combo; +#line 257 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = format_name; +#line 257 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp2_, _tmp3_); +#line 2889 "Dialogs.c" +} + + +static void export_dialog_format_set_active_text (ExportDialog* self, const gchar* text) { + gint selection_ticker = 0; + const gchar* _tmp16_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 260 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (text != NULL); +#line 261 "/home/jens/Source/shotwell/src/Dialogs.vala" + selection_ticker = 0; +#line 2902 "Dialogs.c" + { + GeeArrayList* _current_text_list = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + gint _current_text_size = 0; + GeeArrayList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _current_text_index = 0; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->format_options; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _current_text_list = _tmp1_; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _current_text_list; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _current_text_size = _tmp4_; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _current_text_index = -1; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 2930 "Dialogs.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gchar* current_text = NULL; + GeeArrayList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gint _tmp15_ = 0; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _current_text_index; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _current_text_index = _tmp5_ + 1; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _current_text_index; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _current_text_size; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp6_ < _tmp7_)) { +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 2953 "Dialogs.c" + } +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _current_text_list; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _current_text_index; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp9_); +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_text = (gchar*) _tmp10_; +#line 264 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = current_text; +#line 264 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = text; +#line 264 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_strcmp0 (_tmp11_, _tmp12_) == 0) { +#line 2969 "Dialogs.c" + GtkComboBoxText* _tmp13_ = NULL; + gint _tmp14_ = 0; +#line 265 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = self->priv->format_combo; +#line 265 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = selection_ticker; +#line 265 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_combo_box_get_type (), GtkComboBox), _tmp14_); +#line 266 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_text); +#line 266 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_current_text_list); +#line 266 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 2984 "Dialogs.c" + } +#line 268 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = selection_ticker; +#line 268 "/home/jens/Source/shotwell/src/Dialogs.vala" + selection_ticker = _tmp15_ + 1; +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_text); +#line 2992 "Dialogs.c" + } +#line 263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_current_text_list); +#line 2996 "Dialogs.c" + } +#line 271 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = text; +#line 271 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_error ("Dialogs.vala:271: format_set_active_text: text '%s' isn't in combo box", _tmp16_); +#line 3002 "Dialogs.c" +} + + +static PhotoFileFormat export_dialog_get_specified_format (ExportDialog* self) { + PhotoFileFormat result = 0; + gint index = 0; + GtkComboBoxText* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + PhotoFileFormat* writeable_formats = NULL; + gint _tmp4_ = 0; + PhotoFileFormat* _tmp5_ = NULL; + gint writeable_formats_length1 = 0; + gint _writeable_formats_size_ = 0; + gint _tmp6_ = 0; + PhotoFileFormat _tmp7_ = 0; +#line 274 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_EXPORT_DIALOG (self), 0); +#line 275 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->format_combo; +#line 275 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox)); +#line 275 "/home/jens/Source/shotwell/src/Dialogs.vala" + index = _tmp1_; +#line 276 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = index; +#line 276 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_ < EXPORT_DIALOG_NUM_SPECIAL_FORMATS) { +#line 277 "/home/jens/Source/shotwell/src/Dialogs.vala" + index = EXPORT_DIALOG_NUM_SPECIAL_FORMATS; +#line 3034 "Dialogs.c" + } +#line 279 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = index; +#line 279 "/home/jens/Source/shotwell/src/Dialogs.vala" + index = _tmp3_ - EXPORT_DIALOG_NUM_SPECIAL_FORMATS; +#line 280 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = photo_file_format_get_writeable (&_tmp4_); +#line 280 "/home/jens/Source/shotwell/src/Dialogs.vala" + writeable_formats = _tmp5_; +#line 280 "/home/jens/Source/shotwell/src/Dialogs.vala" + writeable_formats_length1 = _tmp4_; +#line 280 "/home/jens/Source/shotwell/src/Dialogs.vala" + _writeable_formats_size_ = writeable_formats_length1; +#line 281 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = index; +#line 281 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = writeable_formats[_tmp6_]; +#line 281 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp7_; +#line 281 "/home/jens/Source/shotwell/src/Dialogs.vala" + writeable_formats = (g_free (writeable_formats), NULL); +#line 281 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 3058 "Dialogs.c" +} + + +static gchar* export_dialog_get_label_for_parameters (ExportDialog* self, ExportFormatParameters* params) { + gchar* result = NULL; + ExportFormatParameters _tmp0_ = {0}; + ExportFormatMode _tmp1_ = 0; +#line 284 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_EXPORT_DIALOG (self), NULL); +#line 284 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (params != NULL, NULL); +#line 285 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = *params; +#line 285 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_.mode; +#line 285 "/home/jens/Source/shotwell/src/Dialogs.vala" + switch (_tmp1_) { +#line 285 "/home/jens/Source/shotwell/src/Dialogs.vala" + case EXPORT_FORMAT_MODE_UNMODIFIED: +#line 3078 "Dialogs.c" + { + gchar* _tmp2_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = g_strdup (EXPORT_DIALOG_UNMODIFIED_FORMAT_LABEL); +#line 287 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp2_; +#line 287 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 3087 "Dialogs.c" + } +#line 285 "/home/jens/Source/shotwell/src/Dialogs.vala" + case EXPORT_FORMAT_MODE_CURRENT: +#line 3091 "Dialogs.c" + { + gchar* _tmp3_ = NULL; +#line 290 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = g_strdup (EXPORT_DIALOG_CURRENT_FORMAT_LABEL); +#line 290 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp3_; +#line 290 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 3100 "Dialogs.c" + } +#line 285 "/home/jens/Source/shotwell/src/Dialogs.vala" + case EXPORT_FORMAT_MODE_SPECIFIED: +#line 3104 "Dialogs.c" + { + ExportFormatParameters _tmp4_ = {0}; + PhotoFileFormat _tmp5_ = 0; + PhotoFileFormatProperties* _tmp6_ = NULL; + PhotoFileFormatProperties* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = *params; +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_.specified_format; +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = photo_file_format_get_properties (_tmp5_); +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = photo_file_format_properties_get_user_visible_name (_tmp7_); +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + _photo_file_format_properties_unref0 (_tmp7_); +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp9_; +#line 293 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 3130 "Dialogs.c" + } + default: + { +#line 296 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_error ("Dialogs.vala:296: get_label_for_parameters: unrecognized export format" \ +" mode"); +#line 3136 "Dialogs.c" + } + } +} + + +gboolean export_dialog_execute (ExportDialog* self, gint* scale, ScaleConstraint* constraint, ExportFormatParameters* parameters) { + gint _vala_scale = 0; + ScaleConstraint _vala_constraint = 0; + gboolean result = FALSE; + ExportFormatParameters _tmp0_ = {0}; + ExportFormatMode _tmp1_ = 0; + ExportFormatParameters _tmp4_ = {0}; + ExportFormatMode _tmp5_ = 0; + ExportFormatParameters _tmp14_ = {0}; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gboolean ok = FALSE; + gint _tmp17_ = 0; + gboolean _tmp18_ = FALSE; +#line 303 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_EXPORT_DIALOG (self), FALSE); +#line 303 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (parameters != NULL, FALSE); +#line 305 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 309 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = *parameters; +#line 309 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_.mode; +#line 309 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_ != EXPORT_FORMAT_MODE_LAST) { +#line 3168 "Dialogs.c" + ScaleConstraint _tmp2_ = 0; + GtkComboBoxText* _tmp3_ = NULL; +#line 310 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_constraint = SCALE_CONSTRAINT_ORIGINAL; +#line 310 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _vala_constraint; +#line 310 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_constraint = _tmp2_; +#line 311 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->constraint_combo; +#line 311 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 3181 "Dialogs.c" + } +#line 314 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = *parameters; +#line 314 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_.mode; +#line 314 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_ == EXPORT_FORMAT_MODE_LAST) { +#line 3189 "Dialogs.c" + ExportFormatParameters _tmp6_ = {0}; +#line 315 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = export_dialog_current_parameters; +#line 315 "/home/jens/Source/shotwell/src/Dialogs.vala" + *parameters = _tmp6_; +#line 3195 "Dialogs.c" + } else { + gboolean _tmp7_ = FALSE; + ExportFormatParameters _tmp8_ = {0}; + ExportFormatMode _tmp9_ = 0; +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = *parameters; +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_.mode; +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp9_ == EXPORT_FORMAT_MODE_SPECIFIED) { +#line 3206 "Dialogs.c" + ExportFormatParameters _tmp10_ = {0}; + PhotoFileFormat _tmp11_ = 0; + gboolean _tmp12_ = FALSE; +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = *parameters; +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_.specified_format; +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = photo_file_format_can_write (_tmp11_); +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = !_tmp12_; +#line 3218 "Dialogs.c" + } else { +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = FALSE; +#line 3222 "Dialogs.c" + } +#line 316 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp7_) { +#line 3226 "Dialogs.c" + PhotoFileFormat _tmp13_ = 0; +#line 317 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = photo_file_format_get_system_default_format (); +#line 317 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*parameters).specified_format = _tmp13_; +#line 3232 "Dialogs.c" + } + } +#line 319 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = *parameters; +#line 319 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = export_dialog_get_label_for_parameters (self, &_tmp14_); +#line 319 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = _tmp15_; +#line 319 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_format_set_active_text (self, _tmp16_); +#line 319 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp16_); +#line 320 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_on_format_changed (self); +#line 322 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 322 "/home/jens/Source/shotwell/src/Dialogs.vala" + ok = _tmp17_ == ((gint) GTK_RESPONSE_OK); +#line 323 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = ok; +#line 323 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp18_) { +#line 3255 "Dialogs.c" + gint index = 0; + GtkComboBoxText* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + ScaleConstraint _tmp23_ = 0; + ScaleConstraint _tmp24_ = 0; + GtkEntry* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + gint _tmp27_ = 0; + ScaleConstraint _tmp28_ = 0; + gint _tmp30_ = 0; + gboolean _tmp31_ = FALSE; + GtkCheckButton* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + gboolean _tmp34_ = FALSE; + GtkComboBoxText* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; +#line 324 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = self->priv->constraint_combo; +#line 324 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_combo_box_get_type (), GtkComboBox)); +#line 324 "/home/jens/Source/shotwell/src/Dialogs.vala" + index = _tmp20_; +#line 325 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = index; +#line 325 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_assert (_tmp21_ >= 0, "index >= 0"); +#line 326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = index; +#line 326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = EXPORT_DIALOG_CONSTRAINT_ARRAY[_tmp22_]; +#line 326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_constraint = _tmp23_; +#line 327 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = _vala_constraint; +#line 327 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_constraint = _tmp24_; +#line 329 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = self->priv->pixels_entry; +#line 329 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = gtk_entry_get_text (_tmp25_); +#line 329 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = atoi (_tmp26_); +#line 329 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_scale = _tmp27_; +#line 330 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = _vala_constraint; +#line 330 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp28_ != SCALE_CONSTRAINT_ORIGINAL) { +#line 3308 "Dialogs.c" + gint _tmp29_ = 0; +#line 331 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = _vala_scale; +#line 331 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_assert (_tmp29_ > 0, "scale > 0"); +#line 3314 "Dialogs.c" + } +#line 332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = _vala_scale; +#line 332 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_scale = _tmp30_; +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = self->priv->export_metadata; +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = gtk_widget_get_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget)); +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = _tmp33_; +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp34_) { +#line 3328 "Dialogs.c" + GtkCheckButton* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + gboolean _tmp37_ = FALSE; +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = self->priv->export_metadata; +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = _tmp36_; +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = _tmp37_; +#line 3340 "Dialogs.c" + } else { +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = FALSE; +#line 3344 "Dialogs.c" + } +#line 334 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*parameters).export_metadata = _tmp31_; +#line 336 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = self->priv->format_combo; +#line 336 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = gtk_combo_box_text_get_active_text (_tmp38_); +#line 336 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = _tmp39_; +#line 336 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = g_strcmp0 (_tmp40_, EXPORT_DIALOG_UNMODIFIED_FORMAT_LABEL) == 0; +#line 336 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp40_); +#line 336 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp41_) { +#line 3360 "Dialogs.c" + ExportFormatMode _tmp42_ = 0; +#line 337 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_parameters.mode = EXPORT_FORMAT_MODE_UNMODIFIED; +#line 337 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = export_dialog_current_parameters.mode; +#line 337 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*parameters).mode = _tmp42_; +#line 3368 "Dialogs.c" + } else { + GtkComboBoxText* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; +#line 338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = self->priv->format_combo; +#line 338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = gtk_combo_box_text_get_active_text (_tmp43_); +#line 338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = _tmp44_; +#line 338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = g_strcmp0 (_tmp45_, EXPORT_DIALOG_CURRENT_FORMAT_LABEL) == 0; +#line 338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp45_); +#line 338 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp46_) { +#line 3386 "Dialogs.c" + ExportFormatMode _tmp47_ = 0; +#line 339 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_parameters.mode = EXPORT_FORMAT_MODE_CURRENT; +#line 339 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = export_dialog_current_parameters.mode; +#line 339 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*parameters).mode = _tmp47_; +#line 3394 "Dialogs.c" + } else { + ExportFormatMode _tmp48_ = 0; + PhotoFileFormat _tmp49_ = 0; + PhotoFileFormat _tmp50_ = 0; + ExportFormatParameters _tmp51_ = {0}; + PhotoFileFormat _tmp52_ = 0; +#line 341 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_parameters.mode = EXPORT_FORMAT_MODE_SPECIFIED; +#line 341 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = export_dialog_current_parameters.mode; +#line 341 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*parameters).mode = _tmp48_; +#line 342 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = export_dialog_get_specified_format (self); +#line 342 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_parameters.specified_format = _tmp49_; +#line 342 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = export_dialog_current_parameters.specified_format; +#line 342 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*parameters).specified_format = _tmp50_; +#line 343 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = export_dialog_current_parameters; +#line 343 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = _tmp51_.specified_format; +#line 343 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp52_ == PHOTO_FILE_FORMAT_JFIF) { +#line 3421 "Dialogs.c" + GtkComboBoxText* _tmp53_ = NULL; + gint _tmp54_ = 0; + JpegQuality _tmp55_ = 0; + JpegQuality _tmp56_ = 0; +#line 344 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = self->priv->quality_combo; +#line 344 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_combo_box_get_type (), GtkComboBox)); +#line 344 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = EXPORT_DIALOG_QUALITY_ARRAY[_tmp54_]; +#line 344 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_parameters.quality = _tmp55_; +#line 344 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = export_dialog_current_parameters.quality; +#line 344 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*parameters).quality = _tmp56_; +#line 3438 "Dialogs.c" + } + } + } + } else { +#line 347 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_scale = 0; +#line 348 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_constraint = SCALE_CONSTRAINT_ORIGINAL; +#line 3447 "Dialogs.c" + } +#line 351 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 353 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = ok; +#line 353 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (scale) { +#line 353 "/home/jens/Source/shotwell/src/Dialogs.vala" + *scale = _vala_scale; +#line 3457 "Dialogs.c" + } +#line 353 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (constraint) { +#line 353 "/home/jens/Source/shotwell/src/Dialogs.vala" + *constraint = _vala_constraint; +#line 3463 "Dialogs.c" + } +#line 353 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 3467 "Dialogs.c" +} + + +static void export_dialog_add_label (ExportDialog* self, const gchar* text, gint x, gint y, GtkWidget* widget) { + GtkAlignment* left_aligned = NULL; + GtkAlignment* _tmp0_ = NULL; + GtkLabel* new_label = NULL; + const gchar* _tmp1_ = NULL; + GtkLabel* _tmp2_ = NULL; + GtkLabel* _tmp3_ = NULL; + GtkWidget* _tmp4_ = NULL; + GtkAlignment* _tmp7_ = NULL; + GtkLabel* _tmp8_ = NULL; + GtkGrid* _tmp9_ = NULL; + GtkAlignment* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 356 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 356 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (text != NULL); +#line 356 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail ((widget == NULL) || GTK_IS_WIDGET (widget)); +#line 357 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 1, 0.5f, (gfloat) 0, (gfloat) 0); +#line 357 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp0_); +#line 357 "/home/jens/Source/shotwell/src/Dialogs.vala" + left_aligned = _tmp0_; +#line 359 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = text; +#line 359 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp1_); +#line 359 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp2_); +#line 359 "/home/jens/Source/shotwell/src/Dialogs.vala" + new_label = _tmp2_; +#line 360 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = new_label; +#line 360 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_use_underline (_tmp3_, TRUE); +#line 362 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = widget; +#line 362 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp4_ != NULL) { +#line 3513 "Dialogs.c" + GtkLabel* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; +#line 363 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = new_label; +#line 363 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = widget; +#line 363 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_mnemonic_widget (_tmp5_, _tmp6_); +#line 3522 "Dialogs.c" + } +#line 365 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = left_aligned; +#line 365 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = new_label; +#line 365 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget)); +#line 367 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->table; +#line 367 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = left_aligned; +#line 367 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = x; +#line 367 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = y; +#line 367 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_grid_attach (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), _tmp11_, _tmp12_, 1, 1); +#line 356 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (new_label); +#line 356 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (left_aligned); +#line 3544 "Dialogs.c" +} + + +static void export_dialog_add_control (ExportDialog* self, GtkWidget* widget, gint x, gint y) { + GtkAlignment* left_aligned = NULL; + GtkAlignment* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GtkGrid* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 370 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 370 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GTK_IS_WIDGET (widget)); +#line 371 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, 0.5f, (gfloat) 1, (gfloat) 0); +#line 371 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp0_); +#line 371 "/home/jens/Source/shotwell/src/Dialogs.vala" + left_aligned = _tmp0_; +#line 372 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = widget; +#line 372 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (left_aligned, gtk_container_get_type (), GtkContainer), _tmp1_); +#line 374 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->table; +#line 374 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = x; +#line 374 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = y; +#line 374 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_grid_attach (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (left_aligned, gtk_widget_get_type (), GtkWidget), _tmp3_, _tmp4_, 1, 1); +#line 370 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (left_aligned); +#line 3579 "Dialogs.c" +} + + +static void export_dialog_on_constraint_changed (ExportDialog* self) { + gboolean original = FALSE; + GtkComboBoxText* _tmp0_ = NULL; + gint _tmp1_ = 0; + ScaleConstraint _tmp2_ = 0; + gboolean jpeg = FALSE; + GtkComboBoxText* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PhotoFileFormatProperties* _tmp6_ = NULL; + PhotoFileFormatProperties* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GtkEntry* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + GtkComboBoxText* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 377 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 378 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->constraint_combo; +#line 378 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox)); +#line 378 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = EXPORT_DIALOG_CONSTRAINT_ARRAY[_tmp1_]; +#line 378 "/home/jens/Source/shotwell/src/Dialogs.vala" + original = _tmp2_ == SCALE_CONSTRAINT_ORIGINAL; +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->format_combo; +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_combo_box_text_get_active_text (_tmp3_); +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = photo_file_format_get_properties (PHOTO_FILE_FORMAT_JFIF); +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = photo_file_format_properties_get_user_visible_name (_tmp7_); +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = g_strcmp0 (_tmp5_, _tmp9_) == 0; +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp9_); +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _photo_file_format_properties_unref0 (_tmp7_); +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp5_); +#line 379 "/home/jens/Source/shotwell/src/Dialogs.vala" + jpeg = _tmp10_; +#line 381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->pixels_entry; +#line 381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = original; +#line 381 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), !_tmp12_); +#line 382 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = original; +#line 382 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp14_) { +#line 3647 "Dialogs.c" + gboolean _tmp15_ = FALSE; +#line 382 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = jpeg; +#line 382 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp15_; +#line 3653 "Dialogs.c" + } else { +#line 382 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = FALSE; +#line 3657 "Dialogs.c" + } +#line 382 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->priv->quality_combo; +#line 382 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), _tmp13_); +#line 383 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = original; +#line 383 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp17_) { +#line 3667 "Dialogs.c" + GtkWidget* _tmp18_ = NULL; +#line 384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->ok_button; +#line 384 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (_tmp18_, TRUE); +#line 3673 "Dialogs.c" + } else { +#line 386 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_on_pixels_changed (self); +#line 3677 "Dialogs.c" + } +} + + +static void export_dialog_on_format_changed (ExportDialog* self) { + gboolean original = FALSE; + GtkComboBoxText* _tmp0_ = NULL; + gint _tmp1_ = 0; + ScaleConstraint _tmp2_ = 0; + GtkComboBoxText* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 389 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 390 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->constraint_combo; +#line 390 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox)); +#line 390 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = EXPORT_DIALOG_CONSTRAINT_ARRAY[_tmp1_]; +#line 390 "/home/jens/Source/shotwell/src/Dialogs.vala" + original = _tmp2_ == SCALE_CONSTRAINT_ORIGINAL; +#line 392 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->format_combo; +#line 392 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_combo_box_text_get_active_text (_tmp3_); +#line 392 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 392 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = g_strcmp0 (_tmp5_, EXPORT_DIALOG_UNMODIFIED_FORMAT_LABEL) == 0; +#line 392 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp5_); +#line 392 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp6_) { +#line 3713 "Dialogs.c" + GtkComboBoxText* _tmp7_ = NULL; + GtkComboBoxText* _tmp8_ = NULL; + GtkComboBoxText* _tmp9_ = NULL; + GtkEntry* _tmp10_ = NULL; + GtkCheckButton* _tmp11_ = NULL; + GtkCheckButton* _tmp12_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->constraint_combo; +#line 397 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 398 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->constraint_combo; +#line 398 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 399 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->quality_combo; +#line 399 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 400 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->priv->pixels_entry; +#line 400 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 401 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->export_metadata; +#line 401 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_toggle_button_get_type (), GtkToggleButton), FALSE); +#line 402 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = self->priv->export_metadata; +#line 402 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 3744 "Dialogs.c" + } else { + GtkComboBoxText* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = self->priv->format_combo; +#line 403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = gtk_combo_box_text_get_active_text (_tmp13_); +#line 403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = _tmp14_; +#line 403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = g_strcmp0 (_tmp15_, EXPORT_DIALOG_CURRENT_FORMAT_LABEL) == 0; +#line 403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp15_); +#line 403 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp16_) { +#line 3762 "Dialogs.c" + GtkComboBoxText* _tmp17_ = NULL; + GtkComboBoxText* _tmp18_ = NULL; + GtkEntry* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + GtkCheckButton* _tmp21_ = NULL; +#line 410 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->priv->constraint_combo; +#line 410 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 411 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->quality_combo; +#line 411 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 412 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = self->priv->pixels_entry; +#line 412 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = original; +#line 412 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), !_tmp20_); +#line 413 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = self->priv->export_metadata; +#line 413 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 3786 "Dialogs.c" + } else { + GtkComboBoxText* _tmp22_ = NULL; + gboolean jpeg = FALSE; + PhotoFileFormat _tmp23_ = 0; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; + GtkComboBoxText* _tmp27_ = NULL; + GtkCheckButton* _tmp28_ = NULL; +#line 418 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = self->priv->constraint_combo; +#line 418 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 419 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = export_dialog_get_specified_format (self); +#line 419 "/home/jens/Source/shotwell/src/Dialogs.vala" + jpeg = _tmp23_ == PHOTO_FILE_FORMAT_JFIF; +#line 420 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = original; +#line 420 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp25_) { +#line 3807 "Dialogs.c" + gboolean _tmp26_ = FALSE; +#line 420 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = jpeg; +#line 420 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = _tmp26_; +#line 3813 "Dialogs.c" + } else { +#line 420 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = FALSE; +#line 3817 "Dialogs.c" + } +#line 420 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = self->priv->quality_combo; +#line 420 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), _tmp24_); +#line 421 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = self->priv->export_metadata; +#line 421 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 3827 "Dialogs.c" + } + } +} + + +static void export_dialog_on_activate (ExportDialog* self) { +#line 425 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 426 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_response (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK); +#line 3838 "Dialogs.c" +} + + +static void export_dialog_on_pixels_changed (ExportDialog* self) { + gboolean _tmp0_ = FALSE; + GtkEntry* _tmp1_ = NULL; + guint16 _tmp2_ = 0U; + GtkWidget* _tmp6_ = NULL; +#line 429 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->pixels_entry; +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_entry_get_text_length (_tmp1_); +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (((gint) _tmp2_) > 0) { +#line 3855 "Dialogs.c" + GtkEntry* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->pixels_entry; +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_entry_get_text (_tmp3_); +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = atoi (_tmp4_); +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp5_ > 0; +#line 3867 "Dialogs.c" + } else { +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = FALSE; +#line 3871 "Dialogs.c" + } +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->ok_button; +#line 430 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (_tmp6_, _tmp0_); +#line 3877 "Dialogs.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3895 "Dialogs.c" +} + + +static void export_dialog_on_pixels_insert_text (ExportDialog* self, const gchar* text, gint length, gint* position) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gchar* new_text = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + GtkEntry* _tmp29_ = NULL; +#line 433 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_EXPORT_DIALOG (self)); +#line 433 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (text != NULL); +#line 435 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->in_insert; +#line 435 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_) { +#line 436 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 3918 "Dialogs.c" + } +#line 438 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->in_insert = TRUE; +#line 440 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = length; +#line 440 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_ == -1) { +#line 3926 "Dialogs.c" + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = text; +#line 441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = strlen (_tmp2_); +#line 441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 441 "/home/jens/Source/shotwell/src/Dialogs.vala" + length = (gint) _tmp4_; +#line 3938 "Dialogs.c" + } +#line 444 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = g_strdup (""); +#line 444 "/home/jens/Source/shotwell/src/Dialogs.vala" + new_text = _tmp5_; +#line 3944 "Dialogs.c" + { + gint ctr = 0; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + ctr = 0; +#line 3949 "Dialogs.c" + { + gboolean _tmp6_ = FALSE; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = TRUE; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 3956 "Dialogs.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + gint _tmp11_ = 0; + gchar _tmp12_ = '\0'; + gboolean _tmp13_ = FALSE; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp6_) { +#line 3965 "Dialogs.c" + gint _tmp7_ = 0; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = ctr; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + ctr = _tmp7_ + 1; +#line 3971 "Dialogs.c" + } +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = FALSE; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = ctr; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = length; +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 445 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 3983 "Dialogs.c" + } +#line 446 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = text; +#line 446 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = ctr; +#line 446 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = string_get (_tmp10_, (glong) _tmp11_); +#line 446 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = g_ascii_isdigit (_tmp12_); +#line 446 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp13_) { +#line 3995 "Dialogs.c" + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + gchar _tmp17_ = '\0'; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = new_text; +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = text; +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = ctr; +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = string_get (_tmp15_, (glong) _tmp16_); +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = g_strdup_printf ("%c", (gchar) _tmp17_); +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp18_; +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = g_strconcat (_tmp14_, _tmp19_, NULL); +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (new_text); +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + new_text = _tmp20_; +#line 447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp19_); +#line 4023 "Dialogs.c" + } + } + } + } +#line 451 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = new_text; +#line 451 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = strlen (_tmp21_); +#line 451 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = _tmp22_; +#line 451 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp23_ > 0) { +#line 4036 "Dialogs.c" + GtkEntry* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; +#line 452 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = self->priv->pixels_entry; +#line 452 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = new_text; +#line 452 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = new_text; +#line 452 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = strlen (_tmp26_); +#line 452 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = _tmp27_; +#line 452 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_editable_insert_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GTK_TYPE_EDITABLE, GtkEditable), _tmp25_, (gint) _tmp28_, position); +#line 4054 "Dialogs.c" + } +#line 454 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = self->priv->pixels_entry; +#line 454 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_stop_emission_by_name (_tmp29_, "insert-text"); +#line 456 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->in_insert = FALSE; +#line 433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (new_text); +#line 4064 "Dialogs.c" +} + + +static void export_dialog_class_init (ExportDialogClass * klass) { + ExportFormatParameters _tmp0_ = {0}; +#line 141 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_parent_class = g_type_class_peek_parent (klass); +#line 141 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (ExportDialogPrivate)); +#line 141 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (klass)->finalize = export_dialog_finalize; +#line 158 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_format_parameters_current (&_tmp0_); +#line 158 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_parameters = _tmp0_; +#line 159 "/home/jens/Source/shotwell/src/Dialogs.vala" + export_dialog_current_scale = EXPORT_DIALOG_DEFAULT_SCALE; +#line 4082 "Dialogs.c" +} + + +static void export_dialog_instance_init (ExportDialog * self) { + GtkGrid* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = EXPORT_DIALOG_GET_PRIVATE (self); +#line 161 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = (GtkGrid*) gtk_grid_new (); +#line 161 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp0_); +#line 161 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->table = _tmp0_; +#line 166 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 166 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->format_options = _tmp1_; +#line 169 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->in_insert = FALSE; +#line 4103 "Dialogs.c" +} + + +static void export_dialog_finalize (GObject* obj) { + ExportDialog * self; +#line 141 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPORT_DIALOG, ExportDialog); +#line 161 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->table); +#line 162 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->quality_combo); +#line 163 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->constraint_combo); +#line 164 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->format_combo); +#line 165 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->export_metadata); +#line 166 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->format_options); +#line 167 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->pixels_entry); +#line 168 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->ok_button); +#line 141 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (export_dialog_parent_class)->finalize (obj); +#line 4129 "Dialogs.c" +} + + +GType export_dialog_get_type (void) { + static volatile gsize export_dialog_type_id__volatile = 0; + if (g_once_init_enter (&export_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExportDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) export_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExportDialog), 0, (GInstanceInitFunc) export_dialog_instance_init, NULL }; + GType export_dialog_type_id; + export_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "ExportDialog", &g_define_type_info, 0); + g_once_init_leave (&export_dialog_type_id__volatile, export_dialog_type_id); + } + return export_dialog_type_id__volatile; +} + + +gchar* import_ui_generate_import_failure_list (GeeList* failed, gboolean show_dest_id) { + gchar* result = NULL; + GeeList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gchar* list = NULL; + gchar* _tmp3_ = NULL; + gint remaining = 0; + GeeList* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint _tmp31_ = 0; +#line 466 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GEE_IS_LIST (failed), NULL); +#line 467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = failed; +#line 467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_; +#line 467 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_ == 0) { +#line 468 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = NULL; +#line 468 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4171 "Dialogs.c" + } +#line 470 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = g_strdup (""); +#line 470 "/home/jens/Source/shotwell/src/Dialogs.vala" + list = _tmp3_; +#line 4177 "Dialogs.c" + { + gint ctr = 0; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + ctr = 0; +#line 4182 "Dialogs.c" + { + gboolean _tmp4_ = FALSE; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = TRUE; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 4189 "Dialogs.c" + gboolean _tmp6_ = FALSE; + gint _tmp7_ = 0; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp4_) { +#line 4200 "Dialogs.c" + gint _tmp5_ = 0; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = ctr; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + ctr = _tmp5_ + 1; +#line 4206 "Dialogs.c" + } +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = FALSE; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = ctr; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp7_ < IMPORT_UI_REPORT_FAILURE_COUNT) { +#line 4214 "Dialogs.c" + gint _tmp8_ = 0; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = ctr; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = failed; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp8_ < _tmp11_; +#line 4229 "Dialogs.c" + } else { +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = FALSE; +#line 4233 "Dialogs.c" + } +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp6_) { +#line 471 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 4239 "Dialogs.c" + } +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = show_dest_id; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp13_) { +#line 4245 "Dialogs.c" + GeeList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gpointer _tmp16_ = NULL; + BatchImportResult* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = failed; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = ctr; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = gee_list_get (_tmp14_, _tmp15_); +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = (BatchImportResult*) _tmp16_; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _tmp17_->dest_identifier; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp18_; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_tmp17_); +#line 4265 "Dialogs.c" + } else { + GeeList* _tmp19_ = NULL; + gint _tmp20_ = 0; + gpointer _tmp21_ = NULL; + BatchImportResult* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = failed; +#line 473 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = ctr; +#line 473 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = gee_list_get (_tmp19_, _tmp20_); +#line 473 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = (BatchImportResult*) _tmp21_; +#line 473 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = _tmp22_->src_identifier; +#line 473 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp23_; +#line 473 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_tmp22_); +#line 4286 "Dialogs.c" + } +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = list; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = g_strdup_printf ("%s\n", _tmp12_); +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = _tmp25_; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = g_strconcat (_tmp24_, _tmp26_, NULL); +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (list); +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + list = _tmp27_; +#line 472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp26_); +#line 4302 "Dialogs.c" + } + } + } +#line 476 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = failed; +#line 476 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 476 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = _tmp29_; +#line 476 "/home/jens/Source/shotwell/src/Dialogs.vala" + remaining = _tmp30_ - IMPORT_UI_REPORT_FAILURE_COUNT; +#line 477 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = remaining; +#line 477 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp31_ > 0) { +#line 4318 "Dialogs.c" + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + gint _tmp34_ = 0; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = list; +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = _ ("(and %d more)\n"); +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = remaining; +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = g_strdup_printf (_tmp33_, _tmp34_); +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = _tmp35_; +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = g_strconcat (_tmp32_, _tmp36_, NULL); +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (list); +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + list = _tmp37_; +#line 478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp36_); +#line 4343 "Dialogs.c" + } +#line 480 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = list; +#line 480 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4349 "Dialogs.c" +} + + +ImportUIQuestionParams* import_ui_question_params_construct (GType object_type, const gchar* question, const gchar* yes_button, const gchar* no_button) { + ImportUIQuestionParams* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 488 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (question != NULL, NULL); +#line 488 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (yes_button != NULL, NULL); +#line 488 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (no_button != NULL, NULL); +#line 488 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (ImportUIQuestionParams*) g_type_create_instance (object_type); +#line 489 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = question; +#line 489 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 489 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->question); +#line 489 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->question = _tmp1_; +#line 490 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = yes_button; +#line 490 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 490 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->yes_button); +#line 490 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->yes_button = _tmp3_; +#line 491 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = no_button; +#line 491 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 491 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->no_button); +#line 491 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->no_button = _tmp5_; +#line 488 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 4395 "Dialogs.c" +} + + +ImportUIQuestionParams* import_ui_question_params_new (const gchar* question, const gchar* yes_button, const gchar* no_button) { +#line 488 "/home/jens/Source/shotwell/src/Dialogs.vala" + return import_ui_question_params_construct (IMPORT_UI_TYPE_QUESTION_PARAMS, question, yes_button, no_button); +#line 4402 "Dialogs.c" +} + + +static void import_ui_value_question_params_init (GValue* value) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 4409 "Dialogs.c" +} + + +static void import_ui_value_question_params_free_value (GValue* value) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (value->data[0].v_pointer) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + import_ui_question_params_unref (value->data[0].v_pointer); +#line 4418 "Dialogs.c" + } +} + + +static void import_ui_value_question_params_copy_value (const GValue* src_value, GValue* dest_value) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (src_value->data[0].v_pointer) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = import_ui_question_params_ref (src_value->data[0].v_pointer); +#line 4428 "Dialogs.c" + } else { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = NULL; +#line 4432 "Dialogs.c" + } +} + + +static gpointer import_ui_value_question_params_peek_pointer (const GValue* value) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 4440 "Dialogs.c" +} + + +static gchar* import_ui_value_question_params_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (collect_values[0].v_pointer) { +#line 4447 "Dialogs.c" + ImportUIQuestionParams* object; + object = collect_values[0].v_pointer; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (object->parent_instance.g_class == NULL) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4454 "Dialogs.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4458 "Dialogs.c" + } +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = import_ui_question_params_ref (object); +#line 4462 "Dialogs.c" + } else { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 4466 "Dialogs.c" + } +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 4470 "Dialogs.c" +} + + +static gchar* import_ui_value_question_params_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ImportUIQuestionParams** object_p; + object_p = collect_values[0].v_pointer; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!object_p) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 4481 "Dialogs.c" + } +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!value->data[0].v_pointer) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = NULL; +#line 4487 "Dialogs.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = value->data[0].v_pointer; +#line 4491 "Dialogs.c" + } else { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = import_ui_question_params_ref (value->data[0].v_pointer); +#line 4495 "Dialogs.c" + } +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 4499 "Dialogs.c" +} + + +GParamSpec* import_ui_param_spec_question_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ImportUIParamSpecQuestionParams* spec; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (g_type_is_a (object_type, IMPORT_UI_TYPE_QUESTION_PARAMS), NULL); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return G_PARAM_SPEC (spec); +#line 4513 "Dialogs.c" +} + + +gpointer import_ui_value_get_question_params (const GValue* value) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, IMPORT_UI_TYPE_QUESTION_PARAMS), NULL); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 4522 "Dialogs.c" +} + + +void import_ui_value_set_question_params (GValue* value, gpointer v_object) { + ImportUIQuestionParams* old; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, IMPORT_UI_TYPE_QUESTION_PARAMS)); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, IMPORT_UI_TYPE_QUESTION_PARAMS)); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + import_ui_question_params_ref (value->data[0].v_pointer); +#line 4542 "Dialogs.c" + } else { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 4546 "Dialogs.c" + } +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + import_ui_question_params_unref (old); +#line 4552 "Dialogs.c" + } +} + + +void import_ui_value_take_question_params (GValue* value, gpointer v_object) { + ImportUIQuestionParams* old; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, IMPORT_UI_TYPE_QUESTION_PARAMS)); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, IMPORT_UI_TYPE_QUESTION_PARAMS)); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 4571 "Dialogs.c" + } else { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 4575 "Dialogs.c" + } +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + import_ui_question_params_unref (old); +#line 4581 "Dialogs.c" + } +} + + +static void import_ui_question_params_class_init (ImportUIQuestionParamsClass * klass) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + import_ui_question_params_parent_class = g_type_class_peek_parent (klass); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((ImportUIQuestionParamsClass *) klass)->finalize = import_ui_question_params_finalize; +#line 4591 "Dialogs.c" +} + + +static void import_ui_question_params_instance_init (ImportUIQuestionParams * self) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->ref_count = 1; +#line 4598 "Dialogs.c" +} + + +static void import_ui_question_params_finalize (ImportUIQuestionParams* obj) { + ImportUIQuestionParams * self; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_handlers_destroy (self); +#line 484 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->question); +#line 485 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->yes_button); +#line 486 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->no_button); +#line 4614 "Dialogs.c" +} + + +GType import_ui_question_params_get_type (void) { + static volatile gsize import_ui_question_params_type_id__volatile = 0; + if (g_once_init_enter (&import_ui_question_params_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { import_ui_value_question_params_init, import_ui_value_question_params_free_value, import_ui_value_question_params_copy_value, import_ui_value_question_params_peek_pointer, "p", import_ui_value_question_params_collect_value, "p", import_ui_value_question_params_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ImportUIQuestionParamsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_ui_question_params_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportUIQuestionParams), 0, (GInstanceInitFunc) import_ui_question_params_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType import_ui_question_params_type_id; + import_ui_question_params_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ImportUIQuestionParams", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&import_ui_question_params_type_id__volatile, import_ui_question_params_type_id); + } + return import_ui_question_params_type_id__volatile; +} + + +gpointer import_ui_question_params_ref (gpointer instance) { + ImportUIQuestionParams* self; + self = instance; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_atomic_int_inc (&self->ref_count); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + return instance; +#line 4639 "Dialogs.c" +} + + +void import_ui_question_params_unref (gpointer instance) { + ImportUIQuestionParams* self; + self = instance; +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + IMPORT_UI_QUESTION_PARAMS_GET_CLASS (self)->finalize (self); +#line 483 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4652 "Dialogs.c" + } +} + + +gboolean import_ui_import_has_photos (GeeCollection* import_collection) { + gboolean result = FALSE; +#line 495 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (import_collection), FALSE); +#line 4661 "Dialogs.c" + { + GeeIterator* _current_result_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = import_collection; +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _current_result_it = _tmp1_; +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 4674 "Dialogs.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + BatchImportResult* current_result = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + BatchImportResult* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _current_result_it; +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp3_) { +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 4691 "Dialogs.c" + } +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _current_result_it; +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_result = (BatchImportResult*) _tmp5_; +#line 497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = current_result; +#line 497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_->file; +#line 497 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp8_ != NULL) { +#line 4705 "Dialogs.c" + BatchImportResult* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + PhotoFileFormat _tmp11_ = 0; +#line 498 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = current_result; +#line 498 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_->file; +#line 498 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = photo_file_format_get_by_file_extension (_tmp10_); +#line 498 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp11_ != PHOTO_FILE_FORMAT_UNKNOWN; +#line 4717 "Dialogs.c" + } else { +#line 497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = FALSE; +#line 4721 "Dialogs.c" + } +#line 497 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp6_) { +#line 499 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 499 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (current_result); +#line 499 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_current_result_it); +#line 499 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4733 "Dialogs.c" + } +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (current_result); +#line 4737 "Dialogs.c" + } +#line 496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_current_result_it); +#line 4741 "Dialogs.c" + } +#line 502 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 502 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4747 "Dialogs.c" +} + + +gboolean import_ui_import_has_videos (GeeCollection* import_collection) { + gboolean result = FALSE; +#line 505 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (import_collection), FALSE); +#line 4755 "Dialogs.c" + { + GeeIterator* _current_result_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = import_collection; +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _current_result_it = _tmp1_; +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 4768 "Dialogs.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + BatchImportResult* current_result = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + BatchImportResult* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _current_result_it; +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp3_) { +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 4785 "Dialogs.c" + } +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _current_result_it; +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_result = (BatchImportResult*) _tmp5_; +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = current_result; +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_->file; +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp8_ != NULL) { +#line 4799 "Dialogs.c" + BatchImportResult* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = current_result; +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_->file; +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = video_reader_is_supported_video_file (_tmp10_); +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp11_; +#line 4811 "Dialogs.c" + } else { +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = FALSE; +#line 4815 "Dialogs.c" + } +#line 507 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp6_) { +#line 508 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 508 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (current_result); +#line 508 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_current_result_it); +#line 508 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4827 "Dialogs.c" + } +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (current_result); +#line 4831 "Dialogs.c" + } +#line 506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_current_result_it); +#line 4835 "Dialogs.c" + } +#line 510 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 510 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4841 "Dialogs.c" +} + + +gchar* import_ui_get_media_specific_string (GeeCollection* import_collection, const gchar* photos_msg, const gchar* videos_msg, const gchar* both_msg, const gchar* neither_msg) { + gchar* result = NULL; + gboolean has_photos = FALSE; + GeeCollection* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean has_videos = FALSE; + GeeCollection* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 513 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (import_collection), NULL); +#line 513 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (photos_msg != NULL, NULL); +#line 513 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (videos_msg != NULL, NULL); +#line 513 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (both_msg != NULL, NULL); +#line 513 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (neither_msg != NULL, NULL); +#line 515 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = import_collection; +#line 515 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = import_ui_import_has_photos (_tmp0_); +#line 515 "/home/jens/Source/shotwell/src/Dialogs.vala" + has_photos = _tmp1_; +#line 516 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = import_collection; +#line 516 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = import_ui_import_has_videos (_tmp2_); +#line 516 "/home/jens/Source/shotwell/src/Dialogs.vala" + has_videos = _tmp3_; +#line 518 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = has_photos; +#line 518 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_) { +#line 4881 "Dialogs.c" + gboolean _tmp6_ = FALSE; +#line 518 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = has_videos; +#line 518 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp6_; +#line 4887 "Dialogs.c" + } else { +#line 518 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = FALSE; +#line 4891 "Dialogs.c" + } +#line 518 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp4_) { +#line 4895 "Dialogs.c" + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 519 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = both_msg; +#line 519 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 519 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp8_; +#line 519 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4906 "Dialogs.c" + } else { + gboolean _tmp9_ = FALSE; +#line 520 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = has_photos; +#line 520 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp9_) { +#line 4913 "Dialogs.c" + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = photos_msg; +#line 521 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 521 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp11_; +#line 521 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4924 "Dialogs.c" + } else { + gboolean _tmp12_ = FALSE; +#line 522 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = has_videos; +#line 522 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp12_) { +#line 4931 "Dialogs.c" + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 523 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = videos_msg; +#line 523 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 523 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp14_; +#line 523 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4942 "Dialogs.c" + } else { + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = neither_msg; +#line 525 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 525 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp16_; +#line 525 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 4954 "Dialogs.c" + } + } + } +} + + +gchar* import_ui_create_result_report_from_manifest (ImportManifest* manifest) { + gchar* result = NULL; + GString* builder = NULL; + GString* _tmp0_ = NULL; + gchar* header = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GTimeVal _tmp8_ = {0}; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GString* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* subhead = NULL; + ImportManifest* _tmp17_ = NULL; + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + const gchar* _tmp21_ = NULL; + ImportManifest* _tmp22_ = NULL; + GeeList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + ImportManifest* _tmp30_ = NULL; + GeeList* _tmp31_ = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; + const gchar* _tmp34_ = NULL; + ImportManifest* _tmp35_ = NULL; + GeeList* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + GString* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + gchar* current_file_summary = NULL; + gchar* _tmp46_ = NULL; + ImportManifest* _tmp47_ = NULL; + GeeList* _tmp48_ = NULL; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + ImportManifest* _tmp87_ = NULL; + GeeList* _tmp88_ = NULL; + gint _tmp89_ = 0; + gint _tmp90_ = 0; + ImportManifest* _tmp123_ = NULL; + GeeList* _tmp124_ = NULL; + gint _tmp125_ = 0; + gint _tmp126_ = 0; + ImportManifest* _tmp159_ = NULL; + GeeList* _tmp160_ = NULL; + gint _tmp161_ = 0; + gint _tmp162_ = 0; + ImportManifest* _tmp195_ = NULL; + GeeList* _tmp196_ = NULL; + gint _tmp197_ = 0; + gint _tmp198_ = 0; + ImportManifest* _tmp236_ = NULL; + GeeList* _tmp237_ = NULL; + gint _tmp238_ = 0; + gint _tmp239_ = 0; + ImportManifest* _tmp272_ = NULL; + GeeList* _tmp273_ = NULL; + gint _tmp274_ = 0; + gint _tmp275_ = 0; + GString* _tmp308_ = NULL; + const gchar* _tmp309_ = NULL; + gchar* _tmp310_ = NULL; +#line 528 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_IMPORT_MANIFEST (manifest), NULL); +#line 529 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = g_string_new (""); +#line 529 "/home/jens/Source/shotwell/src/Dialogs.vala" + builder = _tmp0_; +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _ ("Import Results Report"); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = g_strconcat (_tmp1_, " (Shotwell ", NULL); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = g_strconcat (_tmp3_, RESOURCES_APP_VERSION, NULL); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = g_strconcat (_tmp5_, " @ ", NULL); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_get_current_time (&_tmp8_); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = g_time_val_to_iso8601 (&_tmp8_); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = g_strconcat (_tmp7_, _tmp10_, NULL); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp11_; +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = g_strconcat (_tmp12_, ")\n\n", NULL); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp13_; +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp12_); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp10_); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp7_); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp5_); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp3_); +#line 531 "/home/jens/Source/shotwell/src/Dialogs.vala" + header = _tmp14_; +#line 533 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = builder; +#line 533 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = header; +#line 533 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp15_, _tmp16_); +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = manifest; +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _tmp17_->all; +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = _tmp19_; +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = ngettext ("Attempted to import %d file.", "Attempted to import %d files.", (gulong) _tmp20_); +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = manifest; +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = _tmp22_->all; +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = _tmp24_; +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = g_strdup_printf (_tmp21_, _tmp25_); +#line 535 "/home/jens/Source/shotwell/src/Dialogs.vala" + subhead = _tmp26_; +#line 537 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = subhead; +#line 537 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = g_strconcat (_tmp27_, " ", NULL); +#line 537 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (subhead); +#line 537 "/home/jens/Source/shotwell/src/Dialogs.vala" + subhead = _tmp28_; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = subhead; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = manifest; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = _tmp30_->success; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = _tmp32_; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = ngettext ("Of these, %d file was successfully imported.", "Of these, %d files were successfully imported.", (gulong) _tmp33_); +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = manifest; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = _tmp35_->success; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = _tmp37_; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = g_strdup_printf (_tmp34_, _tmp38_); +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = _tmp39_; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = g_strconcat (_tmp29_, _tmp40_, NULL); +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (subhead); +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + subhead = _tmp41_; +#line 538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp40_); +#line 541 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = subhead; +#line 541 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = g_strconcat (_tmp42_, "\n\n", NULL); +#line 541 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (subhead); +#line 541 "/home/jens/Source/shotwell/src/Dialogs.vala" + subhead = _tmp43_; +#line 542 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = builder; +#line 542 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = subhead; +#line 542 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp44_, _tmp45_); +#line 544 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = g_strdup (""); +#line 544 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_file_summary = _tmp46_; +#line 549 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = manifest; +#line 549 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = _tmp47_->already_imported; +#line 549 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 549 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = _tmp49_; +#line 549 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp50_ > 0) { +#line 5187 "Dialogs.c" + GString* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = builder; +#line 550 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = _ ("Duplicate Photos/Videos Not Imported:"); +#line 550 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = g_strconcat (_tmp52_, "\n\n", NULL); +#line 550 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = _tmp53_; +#line 550 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp51_, _tmp54_); +#line 550 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp54_); +#line 5204 "Dialogs.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp55_ = NULL; + GeeList* _tmp56_ = NULL; + GeeList* _tmp57_ = NULL; + gint _result_size = 0; + GeeList* _tmp58_ = NULL; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _result_index = 0; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = manifest; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = _tmp55_->already_imported; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = _g_object_ref0 (_tmp56_); +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_list = _tmp57_; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp58_ = _result_list; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp59_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp60_ = _tmp59_; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_size = _tmp60_; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = -1; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 5235 "Dialogs.c" + gint _tmp61_ = 0; + gint _tmp62_ = 0; + gint _tmp63_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp64_ = NULL; + gint _tmp65_ = 0; + gpointer _tmp66_ = NULL; + BatchImportResult* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + BatchImportResult* _tmp76_ = NULL; + DuplicatedFile* _tmp77_ = NULL; + GFile* _tmp78_ = NULL; + GFile* _tmp79_ = NULL; + gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + gchar* _tmp84_ = NULL; + GString* _tmp85_ = NULL; + const gchar* _tmp86_ = NULL; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp61_ = _result_index; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = _tmp61_ + 1; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp62_ = _result_index; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp63_ = _result_size; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp62_ < _tmp63_)) { +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 5275 "Dialogs.c" + } +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp64_ = _result_list; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp65_ = _result_index; +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp66_ = gee_list_get (_tmp64_, _tmp65_); +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (BatchImportResult*) _tmp66_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp67_ = _result_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp68_ = _tmp67_->src_identifier; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = g_strconcat (_tmp68_, " ", NULL); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70_ = _tmp69_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp71_ = _ ("duplicates existing media item"); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp72_ = g_strconcat (_tmp70_, _tmp71_, NULL); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp73_ = _tmp72_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp74_ = g_strconcat (_tmp73_, "\n\t", NULL); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp75_ = _tmp74_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp76_ = _result_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp77_ = _tmp76_->duplicate_of; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp78_ = duplicated_file_get_file (_tmp77_); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp79_ = _tmp78_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp80_ = g_file_get_path (_tmp79_); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp81_ = _tmp80_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp82_ = g_strconcat (_tmp75_, _tmp81_, NULL); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp83_ = _tmp82_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp84_ = g_strconcat (_tmp83_, "\n\n", NULL); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_file_summary); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_file_summary = _tmp84_; +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp83_); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp81_); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp79_); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp75_); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp73_); +#line 553 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp70_); +#line 557 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp85_ = builder; +#line 557 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp86_ = current_file_summary; +#line 557 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp85_, _tmp86_); +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_result_); +#line 5345 "Dialogs.c" + } +#line 552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_result_list); +#line 5349 "Dialogs.c" + } + } +#line 564 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp87_ = manifest; +#line 564 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp88_ = _tmp87_->camera_failed; +#line 564 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp89_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 564 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp90_ = _tmp89_; +#line 564 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp90_ > 0) { +#line 5362 "Dialogs.c" + GString* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; + gchar* _tmp94_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp91_ = builder; +#line 565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp92_ = _ ("Photos/Videos Not Imported Due to Camera Errors:"); +#line 565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp93_ = g_strconcat (_tmp92_, "\n\n", NULL); +#line 565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp94_ = _tmp93_; +#line 565 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp91_, _tmp94_); +#line 565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp94_); +#line 5379 "Dialogs.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp95_ = NULL; + GeeList* _tmp96_ = NULL; + GeeList* _tmp97_ = NULL; + gint _result_size = 0; + GeeList* _tmp98_ = NULL; + gint _tmp99_ = 0; + gint _tmp100_ = 0; + gint _result_index = 0; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp95_ = manifest; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp96_ = _tmp95_->camera_failed; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp97_ = _g_object_ref0 (_tmp96_); +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_list = _tmp97_; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp98_ = _result_list; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp99_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp98_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp100_ = _tmp99_; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_size = _tmp100_; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = -1; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 5410 "Dialogs.c" + gint _tmp101_ = 0; + gint _tmp102_ = 0; + gint _tmp103_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp104_ = NULL; + gint _tmp105_ = 0; + gpointer _tmp106_ = NULL; + BatchImportResult* _tmp107_ = NULL; + const gchar* _tmp108_ = NULL; + gchar* _tmp109_ = NULL; + gchar* _tmp110_ = NULL; + const gchar* _tmp111_ = NULL; + gchar* _tmp112_ = NULL; + gchar* _tmp113_ = NULL; + gchar* _tmp114_ = NULL; + gchar* _tmp115_ = NULL; + BatchImportResult* _tmp116_ = NULL; + const gchar* _tmp117_ = NULL; + gchar* _tmp118_ = NULL; + gchar* _tmp119_ = NULL; + gchar* _tmp120_ = NULL; + GString* _tmp121_ = NULL; + const gchar* _tmp122_ = NULL; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp101_ = _result_index; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = _tmp101_ + 1; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp102_ = _result_index; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp103_ = _result_size; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp102_ < _tmp103_)) { +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 5446 "Dialogs.c" + } +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp104_ = _result_list; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp105_ = _result_index; +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp106_ = gee_list_get (_tmp104_, _tmp105_); +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (BatchImportResult*) _tmp106_; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp107_ = _result_; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp108_ = _tmp107_->src_identifier; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp109_ = g_strconcat (_tmp108_, "\n\t", NULL); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp110_ = _tmp109_; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp111_ = _ ("error message:"); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp112_ = g_strconcat (_tmp110_, _tmp111_, NULL); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp113_ = _tmp112_; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp114_ = g_strconcat (_tmp113_, " ", NULL); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp115_ = _tmp114_; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp116_ = _result_; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp117_ = _tmp116_->errmsg; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp118_ = g_strconcat (_tmp115_, _tmp117_, NULL); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp119_ = _tmp118_; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp120_ = g_strconcat (_tmp119_, "\n\n", NULL); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_file_summary); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_file_summary = _tmp120_; +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp119_); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp115_); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp113_); +#line 568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp110_); +#line 571 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp121_ = builder; +#line 571 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp122_ = current_file_summary; +#line 571 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp121_, _tmp122_); +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_result_); +#line 5504 "Dialogs.c" + } +#line 567 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_result_list); +#line 5508 "Dialogs.c" + } + } +#line 578 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp123_ = manifest; +#line 578 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp124_ = _tmp123_->skipped_files; +#line 578 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp125_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp124_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 578 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp126_ = _tmp125_; +#line 578 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp126_ > 0) { +#line 5521 "Dialogs.c" + GString* _tmp127_ = NULL; + const gchar* _tmp128_ = NULL; + gchar* _tmp129_ = NULL; + gchar* _tmp130_ = NULL; +#line 579 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp127_ = builder; +#line 579 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp128_ = _ ("Files Not Imported Because They Weren't Recognized as Photos or Videos" \ +":"); +#line 579 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp129_ = g_strconcat (_tmp128_, "\n\n", NULL); +#line 579 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp130_ = _tmp129_; +#line 579 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp127_, _tmp130_); +#line 579 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp130_); +#line 5538 "Dialogs.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp131_ = NULL; + GeeList* _tmp132_ = NULL; + GeeList* _tmp133_ = NULL; + gint _result_size = 0; + GeeList* _tmp134_ = NULL; + gint _tmp135_ = 0; + gint _tmp136_ = 0; + gint _result_index = 0; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp131_ = manifest; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp132_ = _tmp131_->skipped_files; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp133_ = _g_object_ref0 (_tmp132_); +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_list = _tmp133_; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp134_ = _result_list; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp135_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp134_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp136_ = _tmp135_; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_size = _tmp136_; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = -1; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 5569 "Dialogs.c" + gint _tmp137_ = 0; + gint _tmp138_ = 0; + gint _tmp139_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp140_ = NULL; + gint _tmp141_ = 0; + gpointer _tmp142_ = NULL; + BatchImportResult* _tmp143_ = NULL; + const gchar* _tmp144_ = NULL; + gchar* _tmp145_ = NULL; + gchar* _tmp146_ = NULL; + const gchar* _tmp147_ = NULL; + gchar* _tmp148_ = NULL; + gchar* _tmp149_ = NULL; + gchar* _tmp150_ = NULL; + gchar* _tmp151_ = NULL; + BatchImportResult* _tmp152_ = NULL; + const gchar* _tmp153_ = NULL; + gchar* _tmp154_ = NULL; + gchar* _tmp155_ = NULL; + gchar* _tmp156_ = NULL; + GString* _tmp157_ = NULL; + const gchar* _tmp158_ = NULL; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp137_ = _result_index; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = _tmp137_ + 1; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp138_ = _result_index; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp139_ = _result_size; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp138_ < _tmp139_)) { +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 5605 "Dialogs.c" + } +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp140_ = _result_list; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp141_ = _result_index; +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp142_ = gee_list_get (_tmp140_, _tmp141_); +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (BatchImportResult*) _tmp142_; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp143_ = _result_; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp144_ = _tmp143_->src_identifier; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp145_ = g_strconcat (_tmp144_, "\n\t", NULL); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp146_ = _tmp145_; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp147_ = _ ("error message:"); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp148_ = g_strconcat (_tmp146_, _tmp147_, NULL); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp149_ = _tmp148_; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp150_ = g_strconcat (_tmp149_, " ", NULL); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp151_ = _tmp150_; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp152_ = _result_; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp153_ = _tmp152_->errmsg; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp154_ = g_strconcat (_tmp151_, _tmp153_, NULL); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp155_ = _tmp154_; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp156_ = g_strconcat (_tmp155_, "\n\n", NULL); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_file_summary); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_file_summary = _tmp156_; +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp155_); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp151_); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp149_); +#line 583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp146_); +#line 586 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp157_ = builder; +#line 586 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp158_ = current_file_summary; +#line 586 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp157_, _tmp158_); +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_result_); +#line 5663 "Dialogs.c" + } +#line 582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_result_list); +#line 5667 "Dialogs.c" + } + } +#line 593 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp159_ = manifest; +#line 593 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp160_ = _tmp159_->skipped_photos; +#line 593 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp161_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp160_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 593 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp162_ = _tmp161_; +#line 593 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp162_ > 0) { +#line 5680 "Dialogs.c" + GString* _tmp163_ = NULL; + const gchar* _tmp164_ = NULL; + gchar* _tmp165_ = NULL; + gchar* _tmp166_ = NULL; +#line 594 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp163_ = builder; +#line 594 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp164_ = _ ("Photos/Videos Not Imported Because They Weren't in a Format Shotwell U" \ +"nderstands:"); +#line 594 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp165_ = g_strconcat (_tmp164_, "\n\n", NULL); +#line 594 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp166_ = _tmp165_; +#line 594 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp163_, _tmp166_); +#line 594 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp166_); +#line 5697 "Dialogs.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp167_ = NULL; + GeeList* _tmp168_ = NULL; + GeeList* _tmp169_ = NULL; + gint _result_size = 0; + GeeList* _tmp170_ = NULL; + gint _tmp171_ = 0; + gint _tmp172_ = 0; + gint _result_index = 0; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp167_ = manifest; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp168_ = _tmp167_->skipped_photos; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp169_ = _g_object_ref0 (_tmp168_); +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_list = _tmp169_; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp170_ = _result_list; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp171_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp170_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp172_ = _tmp171_; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_size = _tmp172_; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = -1; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 5728 "Dialogs.c" + gint _tmp173_ = 0; + gint _tmp174_ = 0; + gint _tmp175_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp176_ = NULL; + gint _tmp177_ = 0; + gpointer _tmp178_ = NULL; + BatchImportResult* _tmp179_ = NULL; + const gchar* _tmp180_ = NULL; + gchar* _tmp181_ = NULL; + gchar* _tmp182_ = NULL; + const gchar* _tmp183_ = NULL; + gchar* _tmp184_ = NULL; + gchar* _tmp185_ = NULL; + gchar* _tmp186_ = NULL; + gchar* _tmp187_ = NULL; + BatchImportResult* _tmp188_ = NULL; + const gchar* _tmp189_ = NULL; + gchar* _tmp190_ = NULL; + gchar* _tmp191_ = NULL; + gchar* _tmp192_ = NULL; + GString* _tmp193_ = NULL; + const gchar* _tmp194_ = NULL; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp173_ = _result_index; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = _tmp173_ + 1; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp174_ = _result_index; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp175_ = _result_size; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp174_ < _tmp175_)) { +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 5764 "Dialogs.c" + } +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp176_ = _result_list; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp177_ = _result_index; +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp178_ = gee_list_get (_tmp176_, _tmp177_); +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (BatchImportResult*) _tmp178_; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp179_ = _result_; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp180_ = _tmp179_->src_identifier; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp181_ = g_strconcat (_tmp180_, "\n\t", NULL); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp182_ = _tmp181_; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp183_ = _ ("error message:"); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp184_ = g_strconcat (_tmp182_, _tmp183_, NULL); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp185_ = _tmp184_; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp186_ = g_strconcat (_tmp185_, " ", NULL); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp187_ = _tmp186_; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp188_ = _result_; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp189_ = _tmp188_->errmsg; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp190_ = g_strconcat (_tmp187_, _tmp189_, NULL); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp191_ = _tmp190_; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp192_ = g_strconcat (_tmp191_, "\n\n", NULL); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_file_summary); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_file_summary = _tmp192_; +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp191_); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp187_); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp185_); +#line 598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp182_); +#line 601 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp193_ = builder; +#line 601 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp194_ = current_file_summary; +#line 601 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp193_, _tmp194_); +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_result_); +#line 5822 "Dialogs.c" + } +#line 597 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_result_list); +#line 5826 "Dialogs.c" + } + } +#line 608 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp195_ = manifest; +#line 608 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp196_ = _tmp195_->write_failed; +#line 608 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp197_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp196_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 608 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp198_ = _tmp197_; +#line 608 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp198_ > 0) { +#line 5839 "Dialogs.c" + GString* _tmp199_ = NULL; + const gchar* _tmp200_ = NULL; + gchar* _tmp201_ = NULL; + gchar* _tmp202_ = NULL; +#line 609 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp199_ = builder; +#line 609 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp200_ = _ ("Photos/Videos Not Imported Because Shotwell Couldn't Copy Them into it" \ +"s Library:"); +#line 609 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp201_ = g_strconcat (_tmp200_, "\n\n", NULL); +#line 609 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp202_ = _tmp201_; +#line 609 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp199_, _tmp202_); +#line 609 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp202_); +#line 5856 "Dialogs.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp203_ = NULL; + GeeList* _tmp204_ = NULL; + GeeList* _tmp205_ = NULL; + gint _result_size = 0; + GeeList* _tmp206_ = NULL; + gint _tmp207_ = 0; + gint _tmp208_ = 0; + gint _result_index = 0; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp203_ = manifest; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp204_ = _tmp203_->write_failed; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp205_ = _g_object_ref0 (_tmp204_); +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_list = _tmp205_; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp206_ = _result_list; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp207_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp206_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp208_ = _tmp207_; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_size = _tmp208_; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = -1; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 5887 "Dialogs.c" + gint _tmp209_ = 0; + gint _tmp210_ = 0; + gint _tmp211_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp212_ = NULL; + gint _tmp213_ = 0; + gpointer _tmp214_ = NULL; + const gchar* _tmp215_ = NULL; + BatchImportResult* _tmp216_ = NULL; + const gchar* _tmp217_ = NULL; + BatchImportResult* _tmp218_ = NULL; + const gchar* _tmp219_ = NULL; + gchar* _tmp220_ = NULL; + gchar* _tmp221_ = NULL; + gchar* _tmp222_ = NULL; + gchar* _tmp223_ = NULL; + const gchar* _tmp224_ = NULL; + gchar* _tmp225_ = NULL; + gchar* _tmp226_ = NULL; + gchar* _tmp227_ = NULL; + gchar* _tmp228_ = NULL; + BatchImportResult* _tmp229_ = NULL; + const gchar* _tmp230_ = NULL; + gchar* _tmp231_ = NULL; + gchar* _tmp232_ = NULL; + gchar* _tmp233_ = NULL; + GString* _tmp234_ = NULL; + const gchar* _tmp235_ = NULL; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp209_ = _result_index; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = _tmp209_ + 1; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp210_ = _result_index; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp211_ = _result_size; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp210_ < _tmp211_)) { +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 5928 "Dialogs.c" + } +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp212_ = _result_list; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp213_ = _result_index; +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp214_ = gee_list_get (_tmp212_, _tmp213_); +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (BatchImportResult*) _tmp214_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp215_ = _ ("couldn't copy %s\n\tto %s"); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp216_ = _result_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp217_ = _tmp216_->src_identifier; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp218_ = _result_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp219_ = _tmp218_->dest_identifier; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp220_ = g_strdup_printf (_tmp215_, _tmp217_, _tmp219_); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp221_ = _tmp220_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp222_ = g_strconcat (_tmp221_, "\n\t", NULL); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp223_ = _tmp222_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp224_ = _ ("error message:"); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp225_ = g_strconcat (_tmp223_, _tmp224_, NULL); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp226_ = _tmp225_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp227_ = g_strconcat (_tmp226_, " ", NULL); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp228_ = _tmp227_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp229_ = _result_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp230_ = _tmp229_->errmsg; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp231_ = g_strconcat (_tmp228_, _tmp230_, NULL); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp232_ = _tmp231_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp233_ = g_strconcat (_tmp232_, "\n\n", NULL); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_file_summary); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_file_summary = _tmp233_; +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp232_); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp228_); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp226_); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp223_); +#line 613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp221_); +#line 617 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp234_ = builder; +#line 617 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp235_ = current_file_summary; +#line 617 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp234_, _tmp235_); +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_result_); +#line 5998 "Dialogs.c" + } +#line 612 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_result_list); +#line 6002 "Dialogs.c" + } + } +#line 624 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp236_ = manifest; +#line 624 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp237_ = _tmp236_->corrupt_files; +#line 624 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp238_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp237_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 624 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp239_ = _tmp238_; +#line 624 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp239_ > 0) { +#line 6015 "Dialogs.c" + GString* _tmp240_ = NULL; + const gchar* _tmp241_ = NULL; + gchar* _tmp242_ = NULL; + gchar* _tmp243_ = NULL; +#line 625 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp240_ = builder; +#line 625 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp241_ = _ ("Photos/Videos Not Imported Because Files Are Corrupt:"); +#line 625 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp242_ = g_strconcat (_tmp241_, "\n\n", NULL); +#line 625 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp243_ = _tmp242_; +#line 625 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp240_, _tmp243_); +#line 625 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp243_); +#line 6032 "Dialogs.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp244_ = NULL; + GeeList* _tmp245_ = NULL; + GeeList* _tmp246_ = NULL; + gint _result_size = 0; + GeeList* _tmp247_ = NULL; + gint _tmp248_ = 0; + gint _tmp249_ = 0; + gint _result_index = 0; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp244_ = manifest; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp245_ = _tmp244_->corrupt_files; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp246_ = _g_object_ref0 (_tmp245_); +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_list = _tmp246_; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp247_ = _result_list; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp248_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp247_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp249_ = _tmp248_; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_size = _tmp249_; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = -1; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 6063 "Dialogs.c" + gint _tmp250_ = 0; + gint _tmp251_ = 0; + gint _tmp252_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp253_ = NULL; + gint _tmp254_ = 0; + gpointer _tmp255_ = NULL; + BatchImportResult* _tmp256_ = NULL; + const gchar* _tmp257_ = NULL; + gchar* _tmp258_ = NULL; + gchar* _tmp259_ = NULL; + const gchar* _tmp260_ = NULL; + gchar* _tmp261_ = NULL; + gchar* _tmp262_ = NULL; + gchar* _tmp263_ = NULL; + gchar* _tmp264_ = NULL; + BatchImportResult* _tmp265_ = NULL; + const gchar* _tmp266_ = NULL; + gchar* _tmp267_ = NULL; + gchar* _tmp268_ = NULL; + gchar* _tmp269_ = NULL; + GString* _tmp270_ = NULL; + const gchar* _tmp271_ = NULL; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp250_ = _result_index; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = _tmp250_ + 1; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp251_ = _result_index; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp252_ = _result_size; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp251_ < _tmp252_)) { +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 6099 "Dialogs.c" + } +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp253_ = _result_list; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp254_ = _result_index; +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp255_ = gee_list_get (_tmp253_, _tmp254_); +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (BatchImportResult*) _tmp255_; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp256_ = _result_; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp257_ = _tmp256_->src_identifier; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp258_ = g_strconcat (_tmp257_, "\n\t", NULL); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp259_ = _tmp258_; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp260_ = _ ("error message:"); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp261_ = g_strconcat (_tmp259_, _tmp260_, NULL); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp262_ = _tmp261_; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp263_ = g_strconcat (_tmp262_, " |", NULL); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp264_ = _tmp263_; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp265_ = _result_; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp266_ = _tmp265_->errmsg; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp267_ = g_strconcat (_tmp264_, _tmp266_, NULL); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp268_ = _tmp267_; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp269_ = g_strconcat (_tmp268_, "|\n\n", NULL); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_file_summary); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_file_summary = _tmp269_; +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp268_); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp264_); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp262_); +#line 629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp259_); +#line 632 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp270_ = builder; +#line 632 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp271_ = current_file_summary; +#line 632 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp270_, _tmp271_); +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_result_); +#line 6157 "Dialogs.c" + } +#line 628 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_result_list); +#line 6161 "Dialogs.c" + } + } +#line 639 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp272_ = manifest; +#line 639 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp273_ = _tmp272_->failed; +#line 639 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp274_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp273_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 639 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp275_ = _tmp274_; +#line 639 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp275_ > 0) { +#line 6174 "Dialogs.c" + GString* _tmp276_ = NULL; + const gchar* _tmp277_ = NULL; + gchar* _tmp278_ = NULL; + gchar* _tmp279_ = NULL; +#line 640 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp276_ = builder; +#line 640 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp277_ = _ ("Photos/Videos Not Imported for Other Reasons:"); +#line 640 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp278_ = g_strconcat (_tmp277_, "\n\n", NULL); +#line 640 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp279_ = _tmp278_; +#line 640 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp276_, _tmp279_); +#line 640 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp279_); +#line 6191 "Dialogs.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp280_ = NULL; + GeeList* _tmp281_ = NULL; + GeeList* _tmp282_ = NULL; + gint _result_size = 0; + GeeList* _tmp283_ = NULL; + gint _tmp284_ = 0; + gint _tmp285_ = 0; + gint _result_index = 0; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp280_ = manifest; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp281_ = _tmp280_->failed; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp282_ = _g_object_ref0 (_tmp281_); +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_list = _tmp282_; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp283_ = _result_list; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp284_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp283_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp285_ = _tmp284_; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_size = _tmp285_; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = -1; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 6222 "Dialogs.c" + gint _tmp286_ = 0; + gint _tmp287_ = 0; + gint _tmp288_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp289_ = NULL; + gint _tmp290_ = 0; + gpointer _tmp291_ = NULL; + BatchImportResult* _tmp292_ = NULL; + const gchar* _tmp293_ = NULL; + gchar* _tmp294_ = NULL; + gchar* _tmp295_ = NULL; + const gchar* _tmp296_ = NULL; + gchar* _tmp297_ = NULL; + gchar* _tmp298_ = NULL; + gchar* _tmp299_ = NULL; + gchar* _tmp300_ = NULL; + BatchImportResult* _tmp301_ = NULL; + const gchar* _tmp302_ = NULL; + gchar* _tmp303_ = NULL; + gchar* _tmp304_ = NULL; + gchar* _tmp305_ = NULL; + GString* _tmp306_ = NULL; + const gchar* _tmp307_ = NULL; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp286_ = _result_index; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_index = _tmp286_ + 1; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp287_ = _result_index; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp288_ = _result_size; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp287_ < _tmp288_)) { +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 6258 "Dialogs.c" + } +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp289_ = _result_list; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp290_ = _result_index; +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp291_ = gee_list_get (_tmp289_, _tmp290_); +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (BatchImportResult*) _tmp291_; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp292_ = _result_; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp293_ = _tmp292_->src_identifier; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp294_ = g_strconcat (_tmp293_, "\n\t", NULL); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp295_ = _tmp294_; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp296_ = _ ("error message:"); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp297_ = g_strconcat (_tmp295_, _tmp296_, NULL); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp298_ = _tmp297_; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp299_ = g_strconcat (_tmp298_, " ", NULL); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp300_ = _tmp299_; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp301_ = _result_; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp302_ = _tmp301_->errmsg; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp303_ = g_strconcat (_tmp300_, _tmp302_, NULL); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp304_ = _tmp303_; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp305_ = g_strconcat (_tmp304_, "\n\n", NULL); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_file_summary); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_file_summary = _tmp305_; +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp304_); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp300_); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp298_); +#line 643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp295_); +#line 646 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp306_ = builder; +#line 646 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp307_ = current_file_summary; +#line 646 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_string_append (_tmp306_, _tmp307_); +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _batch_import_result_unref0 (_result_); +#line 6316 "Dialogs.c" + } +#line 642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_result_list); +#line 6320 "Dialogs.c" + } + } +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp308_ = builder; +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp309_ = _tmp308_->str; +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp310_ = g_strdup (_tmp309_); +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp310_; +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (current_file_summary); +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (subhead); +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (header); +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_string_free0 (builder); +#line 650 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 6341 "Dialogs.c" +} + + +gboolean import_ui_report_manifest (ImportManifest* manifest, gboolean show_dest_id, ImportUIQuestionParams* question) { + gboolean result = FALSE; + gchar* message = NULL; + gchar* _tmp0_ = NULL; + ImportManifest* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + ImportManifest* _tmp52_ = NULL; + GeeList* _tmp53_ = NULL; + gint _tmp54_ = 0; + gint _tmp55_ = 0; + ImportManifest* _tmp118_ = NULL; + GeeList* _tmp119_ = NULL; + gint _tmp120_ = 0; + gint _tmp121_ = 0; + ImportManifest* _tmp184_ = NULL; + GeeList* _tmp185_ = NULL; + gint _tmp186_ = 0; + gint _tmp187_ = 0; + ImportManifest* _tmp250_ = NULL; + GeeList* _tmp251_ = NULL; + gint _tmp252_ = 0; + gint _tmp253_ = 0; + ImportManifest* _tmp316_ = NULL; + GeeList* _tmp317_ = NULL; + gint _tmp318_ = 0; + gint _tmp319_ = 0; + ImportManifest* _tmp345_ = NULL; + GeeList* _tmp346_ = NULL; + gint _tmp347_ = 0; + gint _tmp348_ = 0; + ImportManifest* _tmp367_ = NULL; + GeeList* _tmp368_ = NULL; + gint _tmp369_ = 0; + gint _tmp370_ = 0; + ImportManifest* _tmp433_ = NULL; + GeeList* _tmp434_ = NULL; + gint _tmp435_ = 0; + gint _tmp436_ = 0; + gint total = 0; + ImportManifest* _tmp481_ = NULL; + GeeList* _tmp482_ = NULL; + gint _tmp483_ = 0; + gint _tmp484_ = 0; + ImportManifest* _tmp485_ = NULL; + GeeList* _tmp486_ = NULL; + gint _tmp487_ = 0; + gint _tmp488_ = 0; + ImportManifest* _tmp489_ = NULL; + GeeList* _tmp490_ = NULL; + gint _tmp491_ = 0; + gint _tmp492_ = 0; + ImportManifest* _tmp493_ = NULL; + GeeList* _tmp494_ = NULL; + gint _tmp495_ = 0; + gint _tmp496_ = 0; + ImportManifest* _tmp497_ = NULL; + GeeList* _tmp498_ = NULL; + gint _tmp499_ = 0; + gint _tmp500_ = 0; + ImportManifest* _tmp501_ = NULL; + GeeList* _tmp502_ = NULL; + gint _tmp503_ = 0; + gint _tmp504_ = 0; + ImportManifest* _tmp505_ = NULL; + GeeList* _tmp506_ = NULL; + gint _tmp507_ = 0; + gint _tmp508_ = 0; + ImportManifest* _tmp509_ = NULL; + GeeList* _tmp510_ = NULL; + gint _tmp511_ = 0; + gint _tmp512_ = 0; + ImportManifest* _tmp513_ = NULL; + GeeList* _tmp514_ = NULL; + gint _tmp515_ = 0; + gint _tmp516_ = 0; + gint _tmp517_ = 0; + ImportManifest* _tmp518_ = NULL; + GeeList* _tmp519_ = NULL; + gint _tmp520_ = 0; + gint _tmp521_ = 0; + gint _tmp522_ = 0; + GtkMessageDialog* dialog = NULL; + gint dialog_response = 0; + ImportUIQuestionParams* _tmp526_ = NULL; + gint _tmp606_ = 0; +#line 655 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_IMPORT_MANIFEST (manifest), FALSE); +#line 655 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail ((question == NULL) || IMPORT_UI_IS_QUESTION_PARAMS (question), FALSE); +#line 657 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = g_strdup (""); +#line 657 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp0_; +#line 659 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = manifest; +#line 659 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_->already_imported; +#line 659 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 659 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 659 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp4_ > 0) { +#line 6450 "Dialogs.c" + gchar* photos_message = NULL; + ImportManifest* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + const gchar* _tmp9_ = NULL; + ImportManifest* _tmp10_ = NULL; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gchar* _tmp14_ = NULL; + gchar* videos_message = NULL; + ImportManifest* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + const gchar* _tmp19_ = NULL; + ImportManifest* _tmp20_ = NULL; + GeeList* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gchar* _tmp24_ = NULL; + gchar* both_message = NULL; + ImportManifest* _tmp25_ = NULL; + GeeList* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + const gchar* _tmp29_ = NULL; + ImportManifest* _tmp30_ = NULL; + GeeList* _tmp31_ = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; + gchar* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + ImportManifest* _tmp36_ = NULL; + GeeList* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + ImportManifest* _tmp46_ = NULL; + GeeList* _tmp47_ = NULL; + gboolean _tmp48_ = FALSE; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = manifest; +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp5_->already_imported; +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = ngettext ("1 duplicate photo was not imported:\n", "%d duplicate photos were not imported:\n", (gulong) _tmp8_); +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = manifest; +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_->already_imported; +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp12_; +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = g_strdup_printf (_tmp9_, _tmp13_); +#line 660 "/home/jens/Source/shotwell/src/Dialogs.vala" + photos_message = _tmp14_; +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = manifest; +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = _tmp15_->already_imported; +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _tmp17_; +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = ngettext ("1 duplicate video was not imported:\n", "%d duplicate videos were not imported:\n", (gulong) _tmp18_); +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = manifest; +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = _tmp20_->already_imported; +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = _tmp22_; +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = g_strdup_printf (_tmp19_, _tmp23_); +#line 663 "/home/jens/Source/shotwell/src/Dialogs.vala" + videos_message = _tmp24_; +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = manifest; +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = _tmp25_->already_imported; +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = _tmp27_; +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = ngettext ("1 duplicate photo/video was not imported:\n", "%d duplicate photos/videos were not imported:\n", (gulong) _tmp28_); +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = manifest; +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = _tmp30_->already_imported; +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = _tmp32_; +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = g_strdup_printf (_tmp29_, _tmp33_); +#line 666 "/home/jens/Source/shotwell/src/Dialogs.vala" + both_message = _tmp34_; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = message; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = manifest; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = _tmp36_->already_imported; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = photos_message; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = videos_message; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = both_message; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = both_message; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = import_ui_get_media_specific_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection), _tmp38_, _tmp39_, _tmp40_, _tmp41_); +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = _tmp42_; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = g_strconcat (_tmp35_, _tmp43_, NULL); +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp44_; +#line 670 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp43_); +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = message; +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = manifest; +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = _tmp46_->already_imported; +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = show_dest_id; +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = import_ui_generate_import_failure_list (_tmp47_, _tmp48_); +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = _tmp49_; +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = g_strconcat (_tmp45_, _tmp50_, NULL); +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp51_; +#line 673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp50_); +#line 659 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (both_message); +#line 659 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (videos_message); +#line 659 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (photos_message); +#line 6619 "Dialogs.c" + } +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = manifest; +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = _tmp52_->failed; +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = _tmp54_; +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp55_ > 0) { +#line 6631 "Dialogs.c" + const gchar* _tmp56_ = NULL; + gint _tmp57_ = 0; + gint _tmp58_ = 0; + gchar* photos_message = NULL; + ImportManifest* _tmp61_ = NULL; + GeeList* _tmp62_ = NULL; + gint _tmp63_ = 0; + gint _tmp64_ = 0; + const gchar* _tmp65_ = NULL; + ImportManifest* _tmp66_ = NULL; + GeeList* _tmp67_ = NULL; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + gchar* _tmp70_ = NULL; + gchar* videos_message = NULL; + ImportManifest* _tmp71_ = NULL; + GeeList* _tmp72_ = NULL; + gint _tmp73_ = 0; + gint _tmp74_ = 0; + const gchar* _tmp75_ = NULL; + ImportManifest* _tmp76_ = NULL; + GeeList* _tmp77_ = NULL; + gint _tmp78_ = 0; + gint _tmp79_ = 0; + gchar* _tmp80_ = NULL; + gchar* both_message = NULL; + ImportManifest* _tmp81_ = NULL; + GeeList* _tmp82_ = NULL; + gint _tmp83_ = 0; + gint _tmp84_ = 0; + const gchar* _tmp85_ = NULL; + ImportManifest* _tmp86_ = NULL; + GeeList* _tmp87_ = NULL; + gint _tmp88_ = 0; + gint _tmp89_ = 0; + gchar* _tmp90_ = NULL; + gchar* neither_message = NULL; + ImportManifest* _tmp91_ = NULL; + GeeList* _tmp92_ = NULL; + gint _tmp93_ = 0; + gint _tmp94_ = 0; + const gchar* _tmp95_ = NULL; + ImportManifest* _tmp96_ = NULL; + GeeList* _tmp97_ = NULL; + gint _tmp98_ = 0; + gint _tmp99_ = 0; + gchar* _tmp100_ = NULL; + const gchar* _tmp101_ = NULL; + ImportManifest* _tmp102_ = NULL; + GeeList* _tmp103_ = NULL; + const gchar* _tmp104_ = NULL; + const gchar* _tmp105_ = NULL; + const gchar* _tmp106_ = NULL; + const gchar* _tmp107_ = NULL; + gchar* _tmp108_ = NULL; + gchar* _tmp109_ = NULL; + gchar* _tmp110_ = NULL; + const gchar* _tmp111_ = NULL; + ImportManifest* _tmp112_ = NULL; + GeeList* _tmp113_ = NULL; + gboolean _tmp114_ = FALSE; + gchar* _tmp115_ = NULL; + gchar* _tmp116_ = NULL; + gchar* _tmp117_ = NULL; +#line 677 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = message; +#line 677 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = strlen (_tmp56_); +#line 677 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp58_ = _tmp57_; +#line 677 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp58_ > 0) { +#line 6704 "Dialogs.c" + const gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; +#line 678 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp59_ = message; +#line 678 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp60_ = g_strconcat (_tmp59_, "\n", NULL); +#line 678 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 678 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp60_; +#line 6715 "Dialogs.c" + } +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp61_ = manifest; +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp62_ = _tmp61_->failed; +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp63_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp64_ = _tmp63_; +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp65_ = ngettext ("1 photo failed to import due to a file or hardware error:\n", "%d photos failed to import due to a file or hardware error:\n", (gulong) _tmp64_); +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp66_ = manifest; +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp67_ = _tmp66_->failed; +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp68_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = _tmp68_; +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70_ = g_strdup_printf (_tmp65_, _tmp69_); +#line 680 "/home/jens/Source/shotwell/src/Dialogs.vala" + photos_message = _tmp70_; +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp71_ = manifest; +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp72_ = _tmp71_->failed; +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp73_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp74_ = _tmp73_; +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp75_ = ngettext ("1 video failed to import due to a file or hardware error:\n", "%d videos failed to import due to a file or hardware error:\n", (gulong) _tmp74_); +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp76_ = manifest; +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp77_ = _tmp76_->failed; +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp78_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp79_ = _tmp78_; +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp80_ = g_strdup_printf (_tmp75_, _tmp79_); +#line 683 "/home/jens/Source/shotwell/src/Dialogs.vala" + videos_message = _tmp80_; +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp81_ = manifest; +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp82_ = _tmp81_->failed; +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp83_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp84_ = _tmp83_; +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp85_ = ngettext ("1 photo/video failed to import due to a file or hardware error:\n", "%d photos/videos failed to import due to a file or hardware error:\n", (gulong) _tmp84_); +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp86_ = manifest; +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp87_ = _tmp86_->failed; +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp88_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp89_ = _tmp88_; +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp90_ = g_strdup_printf (_tmp85_, _tmp89_); +#line 686 "/home/jens/Source/shotwell/src/Dialogs.vala" + both_message = _tmp90_; +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp91_ = manifest; +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp92_ = _tmp91_->failed; +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp93_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp92_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp94_ = _tmp93_; +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp95_ = ngettext ("1 file failed to import due to a file or hardware error:\n", "%d files failed to import due to a file or hardware error:\n", (gulong) _tmp94_); +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp96_ = manifest; +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp97_ = _tmp96_->failed; +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp98_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp97_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp99_ = _tmp98_; +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp100_ = g_strdup_printf (_tmp95_, _tmp99_); +#line 689 "/home/jens/Source/shotwell/src/Dialogs.vala" + neither_message = _tmp100_; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp101_ = message; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp102_ = manifest; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp103_ = _tmp102_->failed; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp104_ = photos_message; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp105_ = videos_message; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp106_ = both_message; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp107_ = neither_message; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp108_ = import_ui_get_media_specific_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp103_, GEE_TYPE_COLLECTION, GeeCollection), _tmp104_, _tmp105_, _tmp106_, _tmp107_); +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp109_ = _tmp108_; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp110_ = g_strconcat (_tmp101_, _tmp109_, NULL); +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp110_; +#line 693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp109_); +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp111_ = message; +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp112_ = manifest; +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp113_ = _tmp112_->failed; +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp114_ = show_dest_id; +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp115_ = import_ui_generate_import_failure_list (_tmp113_, _tmp114_); +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp116_ = _tmp115_; +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp117_ = g_strconcat (_tmp111_, _tmp116_, NULL); +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp117_; +#line 696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp116_); +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (neither_message); +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (both_message); +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (videos_message); +#line 676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (photos_message); +#line 6859 "Dialogs.c" + } +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp118_ = manifest; +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp119_ = _tmp118_->write_failed; +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp120_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp119_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp121_ = _tmp120_; +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp121_ > 0) { +#line 6871 "Dialogs.c" + const gchar* _tmp122_ = NULL; + gint _tmp123_ = 0; + gint _tmp124_ = 0; + gchar* photos_message = NULL; + ImportManifest* _tmp127_ = NULL; + GeeList* _tmp128_ = NULL; + gint _tmp129_ = 0; + gint _tmp130_ = 0; + const gchar* _tmp131_ = NULL; + ImportManifest* _tmp132_ = NULL; + GeeList* _tmp133_ = NULL; + gint _tmp134_ = 0; + gint _tmp135_ = 0; + gchar* _tmp136_ = NULL; + gchar* videos_message = NULL; + ImportManifest* _tmp137_ = NULL; + GeeList* _tmp138_ = NULL; + gint _tmp139_ = 0; + gint _tmp140_ = 0; + const gchar* _tmp141_ = NULL; + ImportManifest* _tmp142_ = NULL; + GeeList* _tmp143_ = NULL; + gint _tmp144_ = 0; + gint _tmp145_ = 0; + gchar* _tmp146_ = NULL; + gchar* both_message = NULL; + ImportManifest* _tmp147_ = NULL; + GeeList* _tmp148_ = NULL; + gint _tmp149_ = 0; + gint _tmp150_ = 0; + const gchar* _tmp151_ = NULL; + ImportManifest* _tmp152_ = NULL; + GeeList* _tmp153_ = NULL; + gint _tmp154_ = 0; + gint _tmp155_ = 0; + gchar* _tmp156_ = NULL; + gchar* neither_message = NULL; + ImportManifest* _tmp157_ = NULL; + GeeList* _tmp158_ = NULL; + gint _tmp159_ = 0; + gint _tmp160_ = 0; + const gchar* _tmp161_ = NULL; + ImportManifest* _tmp162_ = NULL; + GeeList* _tmp163_ = NULL; + gint _tmp164_ = 0; + gint _tmp165_ = 0; + gchar* _tmp166_ = NULL; + const gchar* _tmp167_ = NULL; + ImportManifest* _tmp168_ = NULL; + GeeList* _tmp169_ = NULL; + const gchar* _tmp170_ = NULL; + const gchar* _tmp171_ = NULL; + const gchar* _tmp172_ = NULL; + const gchar* _tmp173_ = NULL; + gchar* _tmp174_ = NULL; + gchar* _tmp175_ = NULL; + gchar* _tmp176_ = NULL; + const gchar* _tmp177_ = NULL; + ImportManifest* _tmp178_ = NULL; + GeeList* _tmp179_ = NULL; + gboolean _tmp180_ = FALSE; + gchar* _tmp181_ = NULL; + gchar* _tmp182_ = NULL; + gchar* _tmp183_ = NULL; +#line 700 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp122_ = message; +#line 700 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp123_ = strlen (_tmp122_); +#line 700 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp124_ = _tmp123_; +#line 700 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp124_ > 0) { +#line 6944 "Dialogs.c" + const gchar* _tmp125_ = NULL; + gchar* _tmp126_ = NULL; +#line 701 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp125_ = message; +#line 701 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp126_ = g_strconcat (_tmp125_, "\n", NULL); +#line 701 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 701 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp126_; +#line 6955 "Dialogs.c" + } +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp127_ = manifest; +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp128_ = _tmp127_->write_failed; +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp129_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp128_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp130_ = _tmp129_; +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp131_ = ngettext ("1 photo failed to import because the photo library folder was not writ" \ +"able:\n", "%d photos failed to import because the photo library folder was not wr" \ +"itable:\n", (gulong) _tmp130_); +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp132_ = manifest; +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp133_ = _tmp132_->write_failed; +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp134_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp135_ = _tmp134_; +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp136_ = g_strdup_printf (_tmp131_, _tmp135_); +#line 703 "/home/jens/Source/shotwell/src/Dialogs.vala" + photos_message = _tmp136_; +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp137_ = manifest; +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp138_ = _tmp137_->write_failed; +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp139_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp138_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp140_ = _tmp139_; +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp141_ = ngettext ("1 video failed to import because the photo library folder was not writ" \ +"able:\n", "%d videos failed to import because the photo library folder was not wr" \ +"itable:\n", (gulong) _tmp140_); +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp142_ = manifest; +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp143_ = _tmp142_->write_failed; +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp144_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp143_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp145_ = _tmp144_; +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp146_ = g_strdup_printf (_tmp141_, _tmp145_); +#line 706 "/home/jens/Source/shotwell/src/Dialogs.vala" + videos_message = _tmp146_; +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp147_ = manifest; +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp148_ = _tmp147_->write_failed; +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp149_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp148_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp150_ = _tmp149_; +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp151_ = ngettext ("1 photo/video failed to import because the photo library folder was no" \ +"t writable:\n", "%d photos/videos failed to import because the photo library folder was" \ +" not writable:\n", (gulong) _tmp150_); +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp152_ = manifest; +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp153_ = _tmp152_->write_failed; +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp154_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp153_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp155_ = _tmp154_; +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp156_ = g_strdup_printf (_tmp151_, _tmp155_); +#line 709 "/home/jens/Source/shotwell/src/Dialogs.vala" + both_message = _tmp156_; +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp157_ = manifest; +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp158_ = _tmp157_->write_failed; +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp159_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp158_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp160_ = _tmp159_; +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp161_ = ngettext ("1 file failed to import because the photo library folder was not writa" \ +"ble:\n", "%d files failed to import because the photo library folder was not wri" \ +"table:\n", (gulong) _tmp160_); +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp162_ = manifest; +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp163_ = _tmp162_->write_failed; +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp164_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp163_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp165_ = _tmp164_; +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp166_ = g_strdup_printf (_tmp161_, _tmp165_); +#line 712 "/home/jens/Source/shotwell/src/Dialogs.vala" + neither_message = _tmp166_; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp167_ = message; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp168_ = manifest; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp169_ = _tmp168_->write_failed; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp170_ = photos_message; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp171_ = videos_message; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp172_ = both_message; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp173_ = neither_message; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp174_ = import_ui_get_media_specific_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp169_, GEE_TYPE_COLLECTION, GeeCollection), _tmp170_, _tmp171_, _tmp172_, _tmp173_); +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp175_ = _tmp174_; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp176_ = g_strconcat (_tmp167_, _tmp175_, NULL); +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp176_; +#line 716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp175_); +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp177_ = message; +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp178_ = manifest; +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp179_ = _tmp178_->write_failed; +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp180_ = show_dest_id; +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp181_ = import_ui_generate_import_failure_list (_tmp179_, _tmp180_); +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp182_ = _tmp181_; +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp183_ = g_strconcat (_tmp177_, _tmp182_, NULL); +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp183_; +#line 719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp182_); +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (neither_message); +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (both_message); +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (videos_message); +#line 699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (photos_message); +#line 7099 "Dialogs.c" + } +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp184_ = manifest; +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp185_ = _tmp184_->camera_failed; +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp186_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp185_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp187_ = _tmp186_; +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp187_ > 0) { +#line 7111 "Dialogs.c" + const gchar* _tmp188_ = NULL; + gint _tmp189_ = 0; + gint _tmp190_ = 0; + gchar* photos_message = NULL; + ImportManifest* _tmp193_ = NULL; + GeeList* _tmp194_ = NULL; + gint _tmp195_ = 0; + gint _tmp196_ = 0; + const gchar* _tmp197_ = NULL; + ImportManifest* _tmp198_ = NULL; + GeeList* _tmp199_ = NULL; + gint _tmp200_ = 0; + gint _tmp201_ = 0; + gchar* _tmp202_ = NULL; + gchar* videos_message = NULL; + ImportManifest* _tmp203_ = NULL; + GeeList* _tmp204_ = NULL; + gint _tmp205_ = 0; + gint _tmp206_ = 0; + const gchar* _tmp207_ = NULL; + ImportManifest* _tmp208_ = NULL; + GeeList* _tmp209_ = NULL; + gint _tmp210_ = 0; + gint _tmp211_ = 0; + gchar* _tmp212_ = NULL; + gchar* both_message = NULL; + ImportManifest* _tmp213_ = NULL; + GeeList* _tmp214_ = NULL; + gint _tmp215_ = 0; + gint _tmp216_ = 0; + const gchar* _tmp217_ = NULL; + ImportManifest* _tmp218_ = NULL; + GeeList* _tmp219_ = NULL; + gint _tmp220_ = 0; + gint _tmp221_ = 0; + gchar* _tmp222_ = NULL; + gchar* neither_message = NULL; + ImportManifest* _tmp223_ = NULL; + GeeList* _tmp224_ = NULL; + gint _tmp225_ = 0; + gint _tmp226_ = 0; + const gchar* _tmp227_ = NULL; + ImportManifest* _tmp228_ = NULL; + GeeList* _tmp229_ = NULL; + gint _tmp230_ = 0; + gint _tmp231_ = 0; + gchar* _tmp232_ = NULL; + const gchar* _tmp233_ = NULL; + ImportManifest* _tmp234_ = NULL; + GeeList* _tmp235_ = NULL; + const gchar* _tmp236_ = NULL; + const gchar* _tmp237_ = NULL; + const gchar* _tmp238_ = NULL; + const gchar* _tmp239_ = NULL; + gchar* _tmp240_ = NULL; + gchar* _tmp241_ = NULL; + gchar* _tmp242_ = NULL; + const gchar* _tmp243_ = NULL; + ImportManifest* _tmp244_ = NULL; + GeeList* _tmp245_ = NULL; + gboolean _tmp246_ = FALSE; + gchar* _tmp247_ = NULL; + gchar* _tmp248_ = NULL; + gchar* _tmp249_ = NULL; +#line 723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp188_ = message; +#line 723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp189_ = strlen (_tmp188_); +#line 723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp190_ = _tmp189_; +#line 723 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp190_ > 0) { +#line 7184 "Dialogs.c" + const gchar* _tmp191_ = NULL; + gchar* _tmp192_ = NULL; +#line 724 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp191_ = message; +#line 724 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp192_ = g_strconcat (_tmp191_, "\n", NULL); +#line 724 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 724 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp192_; +#line 7195 "Dialogs.c" + } +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp193_ = manifest; +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp194_ = _tmp193_->camera_failed; +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp195_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp194_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp196_ = _tmp195_; +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp197_ = ngettext ("1 photo failed to import due to a camera error:\n", "%d photos failed to import due to a camera error:\n", (gulong) _tmp196_); +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp198_ = manifest; +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp199_ = _tmp198_->camera_failed; +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp200_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp199_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp201_ = _tmp200_; +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp202_ = g_strdup_printf (_tmp197_, _tmp201_); +#line 726 "/home/jens/Source/shotwell/src/Dialogs.vala" + photos_message = _tmp202_; +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp203_ = manifest; +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp204_ = _tmp203_->camera_failed; +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp205_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp204_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp206_ = _tmp205_; +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp207_ = ngettext ("1 video failed to import due to a camera error:\n", "%d videos failed to import due to a camera error:\n", (gulong) _tmp206_); +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp208_ = manifest; +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp209_ = _tmp208_->camera_failed; +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp210_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp209_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp211_ = _tmp210_; +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp212_ = g_strdup_printf (_tmp207_, _tmp211_); +#line 729 "/home/jens/Source/shotwell/src/Dialogs.vala" + videos_message = _tmp212_; +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp213_ = manifest; +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp214_ = _tmp213_->camera_failed; +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp215_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp214_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp216_ = _tmp215_; +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp217_ = ngettext ("1 photo/video failed to import due to a camera error:\n", "%d photos/videos failed to import due to a camera error:\n", (gulong) _tmp216_); +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp218_ = manifest; +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp219_ = _tmp218_->camera_failed; +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp220_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp219_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp221_ = _tmp220_; +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp222_ = g_strdup_printf (_tmp217_, _tmp221_); +#line 732 "/home/jens/Source/shotwell/src/Dialogs.vala" + both_message = _tmp222_; +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp223_ = manifest; +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp224_ = _tmp223_->camera_failed; +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp225_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp224_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp226_ = _tmp225_; +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp227_ = ngettext ("1 file failed to import due to a camera error:\n", "%d files failed to import due to a camera error:\n", (gulong) _tmp226_); +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp228_ = manifest; +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp229_ = _tmp228_->camera_failed; +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp230_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp229_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp231_ = _tmp230_; +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp232_ = g_strdup_printf (_tmp227_, _tmp231_); +#line 735 "/home/jens/Source/shotwell/src/Dialogs.vala" + neither_message = _tmp232_; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp233_ = message; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp234_ = manifest; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp235_ = _tmp234_->camera_failed; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp236_ = photos_message; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp237_ = videos_message; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp238_ = both_message; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp239_ = neither_message; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp240_ = import_ui_get_media_specific_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp235_, GEE_TYPE_COLLECTION, GeeCollection), _tmp236_, _tmp237_, _tmp238_, _tmp239_); +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp241_ = _tmp240_; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp242_ = g_strconcat (_tmp233_, _tmp241_, NULL); +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp242_; +#line 739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp241_); +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp243_ = message; +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp244_ = manifest; +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp245_ = _tmp244_->camera_failed; +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp246_ = show_dest_id; +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp247_ = import_ui_generate_import_failure_list (_tmp245_, _tmp246_); +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp248_ = _tmp247_; +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp249_ = g_strconcat (_tmp243_, _tmp248_, NULL); +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp249_; +#line 742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp248_); +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (neither_message); +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (both_message); +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (videos_message); +#line 722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (photos_message); +#line 7339 "Dialogs.c" + } +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp250_ = manifest; +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp251_ = _tmp250_->corrupt_files; +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp252_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp251_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp253_ = _tmp252_; +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp253_ > 0) { +#line 7351 "Dialogs.c" + const gchar* _tmp254_ = NULL; + gint _tmp255_ = 0; + gint _tmp256_ = 0; + gchar* photos_message = NULL; + ImportManifest* _tmp259_ = NULL; + GeeList* _tmp260_ = NULL; + gint _tmp261_ = 0; + gint _tmp262_ = 0; + const gchar* _tmp263_ = NULL; + ImportManifest* _tmp264_ = NULL; + GeeList* _tmp265_ = NULL; + gint _tmp266_ = 0; + gint _tmp267_ = 0; + gchar* _tmp268_ = NULL; + gchar* videos_message = NULL; + ImportManifest* _tmp269_ = NULL; + GeeList* _tmp270_ = NULL; + gint _tmp271_ = 0; + gint _tmp272_ = 0; + const gchar* _tmp273_ = NULL; + ImportManifest* _tmp274_ = NULL; + GeeList* _tmp275_ = NULL; + gint _tmp276_ = 0; + gint _tmp277_ = 0; + gchar* _tmp278_ = NULL; + gchar* both_message = NULL; + ImportManifest* _tmp279_ = NULL; + GeeList* _tmp280_ = NULL; + gint _tmp281_ = 0; + gint _tmp282_ = 0; + const gchar* _tmp283_ = NULL; + ImportManifest* _tmp284_ = NULL; + GeeList* _tmp285_ = NULL; + gint _tmp286_ = 0; + gint _tmp287_ = 0; + gchar* _tmp288_ = NULL; + gchar* neither_message = NULL; + ImportManifest* _tmp289_ = NULL; + GeeList* _tmp290_ = NULL; + gint _tmp291_ = 0; + gint _tmp292_ = 0; + const gchar* _tmp293_ = NULL; + ImportManifest* _tmp294_ = NULL; + GeeList* _tmp295_ = NULL; + gint _tmp296_ = 0; + gint _tmp297_ = 0; + gchar* _tmp298_ = NULL; + const gchar* _tmp299_ = NULL; + ImportManifest* _tmp300_ = NULL; + GeeList* _tmp301_ = NULL; + const gchar* _tmp302_ = NULL; + const gchar* _tmp303_ = NULL; + const gchar* _tmp304_ = NULL; + const gchar* _tmp305_ = NULL; + gchar* _tmp306_ = NULL; + gchar* _tmp307_ = NULL; + gchar* _tmp308_ = NULL; + const gchar* _tmp309_ = NULL; + ImportManifest* _tmp310_ = NULL; + GeeList* _tmp311_ = NULL; + gboolean _tmp312_ = FALSE; + gchar* _tmp313_ = NULL; + gchar* _tmp314_ = NULL; + gchar* _tmp315_ = NULL; +#line 746 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp254_ = message; +#line 746 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp255_ = strlen (_tmp254_); +#line 746 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp256_ = _tmp255_; +#line 746 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp256_ > 0) { +#line 7424 "Dialogs.c" + const gchar* _tmp257_ = NULL; + gchar* _tmp258_ = NULL; +#line 747 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp257_ = message; +#line 747 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp258_ = g_strconcat (_tmp257_, "\n", NULL); +#line 747 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 747 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp258_; +#line 7435 "Dialogs.c" + } +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp259_ = manifest; +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp260_ = _tmp259_->corrupt_files; +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp261_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp260_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp262_ = _tmp261_; +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp263_ = ngettext ("1 photo failed to import because it was corrupt:\n", "%d photos failed to import because they were corrupt:\n", (gulong) _tmp262_); +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp264_ = manifest; +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp265_ = _tmp264_->corrupt_files; +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp266_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp265_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp267_ = _tmp266_; +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp268_ = g_strdup_printf (_tmp263_, _tmp267_); +#line 749 "/home/jens/Source/shotwell/src/Dialogs.vala" + photos_message = _tmp268_; +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp269_ = manifest; +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp270_ = _tmp269_->corrupt_files; +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp271_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp270_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp272_ = _tmp271_; +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp273_ = ngettext ("1 video failed to import because it was corrupt:\n", "%d videos failed to import because they were corrupt:\n", (gulong) _tmp272_); +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp274_ = manifest; +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp275_ = _tmp274_->corrupt_files; +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp276_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp275_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp277_ = _tmp276_; +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp278_ = g_strdup_printf (_tmp273_, _tmp277_); +#line 752 "/home/jens/Source/shotwell/src/Dialogs.vala" + videos_message = _tmp278_; +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp279_ = manifest; +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp280_ = _tmp279_->corrupt_files; +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp281_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp280_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp282_ = _tmp281_; +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp283_ = ngettext ("1 photo/video failed to import because it was corrupt:\n", "%d photos/videos failed to import because they were corrupt:\n", (gulong) _tmp282_); +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp284_ = manifest; +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp285_ = _tmp284_->corrupt_files; +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp286_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp285_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp287_ = _tmp286_; +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp288_ = g_strdup_printf (_tmp283_, _tmp287_); +#line 755 "/home/jens/Source/shotwell/src/Dialogs.vala" + both_message = _tmp288_; +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp289_ = manifest; +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp290_ = _tmp289_->corrupt_files; +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp291_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp290_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp292_ = _tmp291_; +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp293_ = ngettext ("1 file failed to import because it was corrupt:\n", "%d files failed to import because it was corrupt:\n", (gulong) _tmp292_); +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp294_ = manifest; +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp295_ = _tmp294_->corrupt_files; +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp296_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp295_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp297_ = _tmp296_; +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp298_ = g_strdup_printf (_tmp293_, _tmp297_); +#line 758 "/home/jens/Source/shotwell/src/Dialogs.vala" + neither_message = _tmp298_; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp299_ = message; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp300_ = manifest; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp301_ = _tmp300_->corrupt_files; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp302_ = photos_message; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp303_ = videos_message; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp304_ = both_message; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp305_ = neither_message; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp306_ = import_ui_get_media_specific_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp301_, GEE_TYPE_COLLECTION, GeeCollection), _tmp302_, _tmp303_, _tmp304_, _tmp305_); +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp307_ = _tmp306_; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp308_ = g_strconcat (_tmp299_, _tmp307_, NULL); +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp308_; +#line 762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp307_); +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp309_ = message; +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp310_ = manifest; +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp311_ = _tmp310_->corrupt_files; +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp312_ = show_dest_id; +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp313_ = import_ui_generate_import_failure_list (_tmp311_, _tmp312_); +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp314_ = _tmp313_; +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp315_ = g_strconcat (_tmp309_, _tmp314_, NULL); +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp315_; +#line 765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp314_); +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (neither_message); +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (both_message); +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (videos_message); +#line 745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (photos_message); +#line 7579 "Dialogs.c" + } +#line 768 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp316_ = manifest; +#line 768 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp317_ = _tmp316_->skipped_photos; +#line 768 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp318_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp317_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 768 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp319_ = _tmp318_; +#line 768 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp319_ > 0) { +#line 7591 "Dialogs.c" + const gchar* _tmp320_ = NULL; + gint _tmp321_ = 0; + gint _tmp322_ = 0; + gchar* skipped_photos_message = NULL; + ImportManifest* _tmp325_ = NULL; + GeeList* _tmp326_ = NULL; + gint _tmp327_ = 0; + gint _tmp328_ = 0; + const gchar* _tmp329_ = NULL; + ImportManifest* _tmp330_ = NULL; + GeeList* _tmp331_ = NULL; + gint _tmp332_ = 0; + gint _tmp333_ = 0; + gchar* _tmp334_ = NULL; + const gchar* _tmp335_ = NULL; + const gchar* _tmp336_ = NULL; + gchar* _tmp337_ = NULL; + const gchar* _tmp338_ = NULL; + ImportManifest* _tmp339_ = NULL; + GeeList* _tmp340_ = NULL; + gboolean _tmp341_ = FALSE; + gchar* _tmp342_ = NULL; + gchar* _tmp343_ = NULL; + gchar* _tmp344_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp320_ = message; +#line 769 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp321_ = strlen (_tmp320_); +#line 769 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp322_ = _tmp321_; +#line 769 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp322_ > 0) { +#line 7624 "Dialogs.c" + const gchar* _tmp323_ = NULL; + gchar* _tmp324_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp323_ = message; +#line 770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp324_ = g_strconcat (_tmp323_, "\n", NULL); +#line 770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 770 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp324_; +#line 7635 "Dialogs.c" + } +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp325_ = manifest; +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp326_ = _tmp325_->skipped_photos; +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp327_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp326_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp328_ = _tmp327_; +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp329_ = ngettext ("1 unsupported photo skipped:\n", "%d unsupported photos skipped:\n", (gulong) _tmp328_); +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp330_ = manifest; +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp331_ = _tmp330_->skipped_photos; +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp332_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp331_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp333_ = _tmp332_; +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp334_ = g_strdup_printf (_tmp329_, _tmp333_); +#line 775 "/home/jens/Source/shotwell/src/Dialogs.vala" + skipped_photos_message = _tmp334_; +#line 779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp335_ = message; +#line 779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp336_ = skipped_photos_message; +#line 779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp337_ = g_strconcat (_tmp335_, _tmp336_, NULL); +#line 779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 779 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp337_; +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp338_ = message; +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp339_ = manifest; +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp340_ = _tmp339_->skipped_photos; +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp341_ = show_dest_id; +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp342_ = import_ui_generate_import_failure_list (_tmp340_, _tmp341_); +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp343_ = _tmp342_; +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp344_ = g_strconcat (_tmp338_, _tmp343_, NULL); +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp344_; +#line 781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp343_); +#line 768 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (skipped_photos_message); +#line 7691 "Dialogs.c" + } +#line 784 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp345_ = manifest; +#line 784 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp346_ = _tmp345_->skipped_files; +#line 784 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp347_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp346_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 784 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp348_ = _tmp347_; +#line 784 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp348_ > 0) { +#line 7703 "Dialogs.c" + const gchar* _tmp349_ = NULL; + gint _tmp350_ = 0; + gint _tmp351_ = 0; + gchar* skipped_files_message = NULL; + ImportManifest* _tmp354_ = NULL; + GeeList* _tmp355_ = NULL; + gint _tmp356_ = 0; + gint _tmp357_ = 0; + const gchar* _tmp358_ = NULL; + ImportManifest* _tmp359_ = NULL; + GeeList* _tmp360_ = NULL; + gint _tmp361_ = 0; + gint _tmp362_ = 0; + gchar* _tmp363_ = NULL; + const gchar* _tmp364_ = NULL; + const gchar* _tmp365_ = NULL; + gchar* _tmp366_ = NULL; +#line 785 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp349_ = message; +#line 785 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp350_ = strlen (_tmp349_); +#line 785 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp351_ = _tmp350_; +#line 785 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp351_ > 0) { +#line 7729 "Dialogs.c" + const gchar* _tmp352_ = NULL; + gchar* _tmp353_ = NULL; +#line 786 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp352_ = message; +#line 786 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp353_ = g_strconcat (_tmp352_, "\n", NULL); +#line 786 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 786 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp353_; +#line 7740 "Dialogs.c" + } +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp354_ = manifest; +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp355_ = _tmp354_->skipped_files; +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp356_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp355_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp357_ = _tmp356_; +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp358_ = ngettext ("1 non-image file skipped.\n", "%d non-image files skipped.\n", (gulong) _tmp357_); +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp359_ = manifest; +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp360_ = _tmp359_->skipped_files; +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp361_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp360_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp362_ = _tmp361_; +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp363_ = g_strdup_printf (_tmp358_, _tmp362_); +#line 790 "/home/jens/Source/shotwell/src/Dialogs.vala" + skipped_files_message = _tmp363_; +#line 794 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp364_ = message; +#line 794 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp365_ = skipped_files_message; +#line 794 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp366_ = g_strconcat (_tmp364_, _tmp365_, NULL); +#line 794 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 794 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp366_; +#line 784 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (skipped_files_message); +#line 7776 "Dialogs.c" + } +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp367_ = manifest; +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp368_ = _tmp367_->aborted; +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp369_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp368_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp370_ = _tmp369_; +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp370_ > 0) { +#line 7788 "Dialogs.c" + const gchar* _tmp371_ = NULL; + gint _tmp372_ = 0; + gint _tmp373_ = 0; + gchar* photos_message = NULL; + ImportManifest* _tmp376_ = NULL; + GeeList* _tmp377_ = NULL; + gint _tmp378_ = 0; + gint _tmp379_ = 0; + const gchar* _tmp380_ = NULL; + ImportManifest* _tmp381_ = NULL; + GeeList* _tmp382_ = NULL; + gint _tmp383_ = 0; + gint _tmp384_ = 0; + gchar* _tmp385_ = NULL; + gchar* videos_message = NULL; + ImportManifest* _tmp386_ = NULL; + GeeList* _tmp387_ = NULL; + gint _tmp388_ = 0; + gint _tmp389_ = 0; + const gchar* _tmp390_ = NULL; + ImportManifest* _tmp391_ = NULL; + GeeList* _tmp392_ = NULL; + gint _tmp393_ = 0; + gint _tmp394_ = 0; + gchar* _tmp395_ = NULL; + gchar* both_message = NULL; + ImportManifest* _tmp396_ = NULL; + GeeList* _tmp397_ = NULL; + gint _tmp398_ = 0; + gint _tmp399_ = 0; + const gchar* _tmp400_ = NULL; + ImportManifest* _tmp401_ = NULL; + GeeList* _tmp402_ = NULL; + gint _tmp403_ = 0; + gint _tmp404_ = 0; + gchar* _tmp405_ = NULL; + gchar* neither_message = NULL; + ImportManifest* _tmp406_ = NULL; + GeeList* _tmp407_ = NULL; + gint _tmp408_ = 0; + gint _tmp409_ = 0; + const gchar* _tmp410_ = NULL; + ImportManifest* _tmp411_ = NULL; + GeeList* _tmp412_ = NULL; + gint _tmp413_ = 0; + gint _tmp414_ = 0; + gchar* _tmp415_ = NULL; + const gchar* _tmp416_ = NULL; + ImportManifest* _tmp417_ = NULL; + GeeList* _tmp418_ = NULL; + const gchar* _tmp419_ = NULL; + const gchar* _tmp420_ = NULL; + const gchar* _tmp421_ = NULL; + const gchar* _tmp422_ = NULL; + gchar* _tmp423_ = NULL; + gchar* _tmp424_ = NULL; + gchar* _tmp425_ = NULL; + const gchar* _tmp426_ = NULL; + ImportManifest* _tmp427_ = NULL; + GeeList* _tmp428_ = NULL; + gboolean _tmp429_ = FALSE; + gchar* _tmp430_ = NULL; + gchar* _tmp431_ = NULL; + gchar* _tmp432_ = NULL; +#line 798 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp371_ = message; +#line 798 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp372_ = strlen (_tmp371_); +#line 798 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp373_ = _tmp372_; +#line 798 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp373_ > 0) { +#line 7861 "Dialogs.c" + const gchar* _tmp374_ = NULL; + gchar* _tmp375_ = NULL; +#line 799 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp374_ = message; +#line 799 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp375_ = g_strconcat (_tmp374_, "\n", NULL); +#line 799 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 799 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp375_; +#line 7872 "Dialogs.c" + } +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp376_ = manifest; +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp377_ = _tmp376_->aborted; +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp378_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp377_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp379_ = _tmp378_; +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp380_ = ngettext ("1 photo skipped due to user cancel:\n", "%d photos skipped due to user cancel:\n", (gulong) _tmp379_); +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp381_ = manifest; +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp382_ = _tmp381_->aborted; +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp383_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp382_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp384_ = _tmp383_; +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp385_ = g_strdup_printf (_tmp380_, _tmp384_); +#line 801 "/home/jens/Source/shotwell/src/Dialogs.vala" + photos_message = _tmp385_; +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp386_ = manifest; +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp387_ = _tmp386_->aborted; +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp388_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp387_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp389_ = _tmp388_; +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp390_ = ngettext ("1 video skipped due to user cancel:\n", "%d videos skipped due to user cancel:\n", (gulong) _tmp389_); +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp391_ = manifest; +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp392_ = _tmp391_->aborted; +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp393_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp392_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp394_ = _tmp393_; +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp395_ = g_strdup_printf (_tmp390_, _tmp394_); +#line 804 "/home/jens/Source/shotwell/src/Dialogs.vala" + videos_message = _tmp395_; +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp396_ = manifest; +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp397_ = _tmp396_->aborted; +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp398_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp397_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp399_ = _tmp398_; +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp400_ = ngettext ("1 photo/video skipped due to user cancel:\n", "%d photos/videos skipped due to user cancel:\n", (gulong) _tmp399_); +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp401_ = manifest; +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp402_ = _tmp401_->aborted; +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp403_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp402_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp404_ = _tmp403_; +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp405_ = g_strdup_printf (_tmp400_, _tmp404_); +#line 807 "/home/jens/Source/shotwell/src/Dialogs.vala" + both_message = _tmp405_; +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp406_ = manifest; +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp407_ = _tmp406_->aborted; +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp408_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp407_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp409_ = _tmp408_; +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp410_ = ngettext ("1 file skipped due to user cancel:\n", "%d file skipped due to user cancel:\n", (gulong) _tmp409_); +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp411_ = manifest; +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp412_ = _tmp411_->aborted; +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp413_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp412_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp414_ = _tmp413_; +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp415_ = g_strdup_printf (_tmp410_, _tmp414_); +#line 810 "/home/jens/Source/shotwell/src/Dialogs.vala" + neither_message = _tmp415_; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp416_ = message; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp417_ = manifest; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp418_ = _tmp417_->aborted; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp419_ = photos_message; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp420_ = videos_message; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp421_ = both_message; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp422_ = neither_message; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp423_ = import_ui_get_media_specific_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp418_, GEE_TYPE_COLLECTION, GeeCollection), _tmp419_, _tmp420_, _tmp421_, _tmp422_); +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp424_ = _tmp423_; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp425_ = g_strconcat (_tmp416_, _tmp424_, NULL); +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp425_; +#line 814 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp424_); +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp426_ = message; +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp427_ = manifest; +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp428_ = _tmp427_->aborted; +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp429_ = show_dest_id; +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp430_ = import_ui_generate_import_failure_list (_tmp428_, _tmp429_); +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp431_ = _tmp430_; +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp432_ = g_strconcat (_tmp426_, _tmp431_, NULL); +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp432_; +#line 817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp431_); +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (neither_message); +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (both_message); +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (videos_message); +#line 797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (photos_message); +#line 8016 "Dialogs.c" + } +#line 820 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp433_ = manifest; +#line 820 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp434_ = _tmp433_->success; +#line 820 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp435_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp434_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 820 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp436_ = _tmp435_; +#line 820 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp436_ > 0) { +#line 8028 "Dialogs.c" + const gchar* _tmp437_ = NULL; + gint _tmp438_ = 0; + gint _tmp439_ = 0; + gchar* photos_message = NULL; + ImportManifest* _tmp442_ = NULL; + GeeList* _tmp443_ = NULL; + gint _tmp444_ = 0; + gint _tmp445_ = 0; + const gchar* _tmp446_ = NULL; + ImportManifest* _tmp447_ = NULL; + GeeList* _tmp448_ = NULL; + gint _tmp449_ = 0; + gint _tmp450_ = 0; + gchar* _tmp451_ = NULL; + gchar* videos_message = NULL; + ImportManifest* _tmp452_ = NULL; + GeeList* _tmp453_ = NULL; + gint _tmp454_ = 0; + gint _tmp455_ = 0; + const gchar* _tmp456_ = NULL; + ImportManifest* _tmp457_ = NULL; + GeeList* _tmp458_ = NULL; + gint _tmp459_ = 0; + gint _tmp460_ = 0; + gchar* _tmp461_ = NULL; + gchar* both_message = NULL; + ImportManifest* _tmp462_ = NULL; + GeeList* _tmp463_ = NULL; + gint _tmp464_ = 0; + gint _tmp465_ = 0; + const gchar* _tmp466_ = NULL; + ImportManifest* _tmp467_ = NULL; + GeeList* _tmp468_ = NULL; + gint _tmp469_ = 0; + gint _tmp470_ = 0; + gchar* _tmp471_ = NULL; + const gchar* _tmp472_ = NULL; + ImportManifest* _tmp473_ = NULL; + GeeList* _tmp474_ = NULL; + const gchar* _tmp475_ = NULL; + const gchar* _tmp476_ = NULL; + const gchar* _tmp477_ = NULL; + gchar* _tmp478_ = NULL; + gchar* _tmp479_ = NULL; + gchar* _tmp480_ = NULL; +#line 821 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp437_ = message; +#line 821 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp438_ = strlen (_tmp437_); +#line 821 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp439_ = _tmp438_; +#line 821 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp439_ > 0) { +#line 8082 "Dialogs.c" + const gchar* _tmp440_ = NULL; + gchar* _tmp441_ = NULL; +#line 822 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp440_ = message; +#line 822 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp441_ = g_strconcat (_tmp440_, "\n", NULL); +#line 822 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 822 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp441_; +#line 8093 "Dialogs.c" + } +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp442_ = manifest; +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp443_ = _tmp442_->success; +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp444_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp443_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp445_ = _tmp444_; +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp446_ = ngettext ("1 photo successfully imported.\n", "%d photos successfully imported.\n", (gulong) _tmp445_); +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp447_ = manifest; +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp448_ = _tmp447_->success; +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp449_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp448_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp450_ = _tmp449_; +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp451_ = g_strdup_printf (_tmp446_, _tmp450_); +#line 824 "/home/jens/Source/shotwell/src/Dialogs.vala" + photos_message = _tmp451_; +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp452_ = manifest; +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp453_ = _tmp452_->success; +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp454_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp453_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp455_ = _tmp454_; +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp456_ = ngettext ("1 video successfully imported.\n", "%d videos successfully imported.\n", (gulong) _tmp455_); +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp457_ = manifest; +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp458_ = _tmp457_->success; +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp459_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp458_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp460_ = _tmp459_; +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp461_ = g_strdup_printf (_tmp456_, _tmp460_); +#line 827 "/home/jens/Source/shotwell/src/Dialogs.vala" + videos_message = _tmp461_; +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp462_ = manifest; +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp463_ = _tmp462_->success; +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp464_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp463_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp465_ = _tmp464_; +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp466_ = ngettext ("1 photo/video successfully imported.\n", "%d photos/videos successfully imported.\n", (gulong) _tmp465_); +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp467_ = manifest; +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp468_ = _tmp467_->success; +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp469_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp468_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp470_ = _tmp469_; +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp471_ = g_strdup_printf (_tmp466_, _tmp470_); +#line 830 "/home/jens/Source/shotwell/src/Dialogs.vala" + both_message = _tmp471_; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp472_ = message; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp473_ = manifest; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp474_ = _tmp473_->success; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp475_ = photos_message; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp476_ = videos_message; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp477_ = both_message; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp478_ = import_ui_get_media_specific_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp474_, GEE_TYPE_COLLECTION, GeeCollection), _tmp475_, _tmp476_, _tmp477_, ""); +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp479_ = _tmp478_; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp480_ = g_strconcat (_tmp472_, _tmp479_, NULL); +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp480_; +#line 834 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp479_); +#line 820 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (both_message); +#line 820 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (videos_message); +#line 820 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (photos_message); +#line 8191 "Dialogs.c" + } +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp481_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp482_ = _tmp481_->success; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp483_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp482_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp484_ = _tmp483_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp485_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp486_ = _tmp485_->failed; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp487_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp486_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp488_ = _tmp487_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp489_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp490_ = _tmp489_->camera_failed; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp491_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp490_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp492_ = _tmp491_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp493_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp494_ = _tmp493_->skipped_photos; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp495_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp494_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp496_ = _tmp495_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp497_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp498_ = _tmp497_->skipped_files; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp499_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp498_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp500_ = _tmp499_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp501_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp502_ = _tmp501_->corrupt_files; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp503_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp502_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp504_ = _tmp503_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp505_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp506_ = _tmp505_->already_imported; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp507_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp506_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp508_ = _tmp507_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp509_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp510_ = _tmp509_->aborted; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp511_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp510_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp512_ = _tmp511_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp513_ = manifest; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp514_ = _tmp513_->write_failed; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp515_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp514_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp516_ = _tmp515_; +#line 838 "/home/jens/Source/shotwell/src/Dialogs.vala" + total = (((((((_tmp484_ + _tmp488_) + _tmp492_) + _tmp496_) + _tmp500_) + _tmp504_) + _tmp508_) + _tmp512_) + _tmp516_; +#line 841 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp517_ = total; +#line 841 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp518_ = manifest; +#line 841 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp519_ = _tmp518_->all; +#line 841 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp520_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp519_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 841 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp521_ = _tmp520_; +#line 841 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_assert (_tmp517_ == _tmp521_, "total == manifest.all.size"); +#line 845 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp522_ = total; +#line 845 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp522_ == 0) { +#line 8283 "Dialogs.c" + const gchar* _tmp523_ = NULL; + const gchar* _tmp524_ = NULL; + gchar* _tmp525_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp523_ = message; +#line 846 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp524_ = _ ("No photos or videos imported.\n"); +#line 846 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp525_ = g_strconcat (_tmp523_, _tmp524_, NULL); +#line 846 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 846 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp525_; +#line 8297 "Dialogs.c" + } +#line 848 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = NULL; +#line 849 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_response = (gint) GTK_RESPONSE_NONE; +#line 850 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp526_ = question; +#line 850 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp526_ == NULL) { +#line 8307 "Dialogs.c" + AppWindow* _tmp527_ = NULL; + AppWindow* _tmp528_ = NULL; + const gchar* _tmp529_ = NULL; + GtkMessageDialog* _tmp530_ = NULL; + GtkMessageDialog* _tmp531_ = NULL; + const gchar* _tmp532_ = NULL; + GtkWidget* save_results_button = NULL; + GtkMessageDialog* _tmp533_ = NULL; + GtkWidget* _tmp534_ = NULL; + GtkWidget* _tmp535_ = NULL; + GtkWidget* _tmp536_ = NULL; + ImportManifest* _tmp537_ = NULL; + GeeList* _tmp538_ = NULL; + gint _tmp539_ = 0; + gint _tmp540_ = 0; + ImportManifest* _tmp541_ = NULL; + GeeList* _tmp542_ = NULL; + gint _tmp543_ = 0; + gint _tmp544_ = 0; + GtkWidget* ok_button = NULL; + GtkMessageDialog* _tmp545_ = NULL; + GtkWidget* _tmp546_ = NULL; + GtkWidget* _tmp547_ = NULL; + GtkMessageDialog* _tmp548_ = NULL; + GtkWidget* _tmp549_ = NULL; + GtkWindow* dialog_parent = NULL; + GtkMessageDialog* _tmp550_ = NULL; + GtkContainer* _tmp551_ = NULL; + GtkWindow* _tmp552_ = NULL; + GtkMessageDialog* _tmp553_ = NULL; + gint _tmp554_ = 0; + GtkMessageDialog* _tmp555_ = NULL; + gint _tmp556_ = 0; +#line 851 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp527_ = app_window_get_instance (); +#line 851 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp528_ = _tmp527_; +#line 851 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp529_ = message; +#line 851 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp530_ = (GtkMessageDialog*) gtk_message_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp528_, gtk_window_get_type (), GtkWindow), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_NONE, "%s", _tmp529_); +#line 851 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp530_); +#line 851 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 851 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp530_; +#line 851 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp528_); +#line 853 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp531_ = dialog; +#line 853 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp532_ = _ ("Import Complete"); +#line 853 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp531_, gtk_window_get_type (), GtkWindow), _tmp532_); +#line 854 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp533_ = dialog; +#line 854 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp534_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp533_, gtk_dialog_get_type (), GtkDialog), IMPORT_UI_SAVE_RESULTS_BUTTON_NAME, IMPORT_UI_SAVE_RESULTS_RESPONSE_ID); +#line 854 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp535_ = _g_object_ref0 (_tmp534_); +#line 854 "/home/jens/Source/shotwell/src/Dialogs.vala" + save_results_button = _tmp535_; +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp536_ = save_results_button; +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp537_ = manifest; +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp538_ = _tmp537_->success; +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp539_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp538_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp540_ = _tmp539_; +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp541_ = manifest; +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp542_ = _tmp541_->all; +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp543_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp542_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp544_ = _tmp543_; +#line 856 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_visible (_tmp536_, _tmp540_ < _tmp544_); +#line 857 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp545_ = dialog; +#line 857 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp546_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp545_, gtk_dialog_get_type (), GtkDialog), RESOURCES_OK_LABEL, (gint) GTK_RESPONSE_OK); +#line 857 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp547_ = _g_object_ref0 (_tmp546_); +#line 857 "/home/jens/Source/shotwell/src/Dialogs.vala" + ok_button = _tmp547_; +#line 858 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp548_ = dialog; +#line 858 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp549_ = ok_button; +#line 858 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp548_, gtk_window_get_type (), GtkWindow), _tmp549_); +#line 860 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp550_ = dialog; +#line 860 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp551_ = (GtkContainer*) gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (_tmp550_, gtk_widget_get_type (), GtkWidget)); +#line 860 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp552_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp551_, gtk_window_get_type (), GtkWindow)); +#line 860 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_parent = _tmp552_; +#line 861 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp553_ = dialog; +#line 861 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp554_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp553_, gtk_dialog_get_type (), GtkDialog)); +#line 861 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_response = _tmp554_; +#line 862 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp555_ = dialog; +#line 862 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp555_, gtk_widget_get_type (), GtkWidget)); +#line 864 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp556_ = dialog_response; +#line 864 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp556_ == IMPORT_UI_SAVE_RESULTS_RESPONSE_ID) { +#line 8427 "Dialogs.c" + GtkWindow* _tmp557_ = NULL; + ImportManifest* _tmp558_ = NULL; + gchar* _tmp559_ = NULL; + gchar* _tmp560_ = NULL; +#line 865 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp557_ = dialog_parent; +#line 865 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp558_ = manifest; +#line 865 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp559_ = import_ui_create_result_report_from_manifest (_tmp558_); +#line 865 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp560_ = _tmp559_; +#line 865 "/home/jens/Source/shotwell/src/Dialogs.vala" + import_ui_save_import_results (_tmp557_, _tmp560_); +#line 865 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp560_); +#line 8444 "Dialogs.c" + } +#line 850 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog_parent); +#line 850 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (ok_button); +#line 850 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (save_results_button); +#line 8452 "Dialogs.c" + } else { + const gchar* _tmp561_ = NULL; + ImportUIQuestionParams* _tmp562_ = NULL; + const gchar* _tmp563_ = NULL; + gchar* _tmp564_ = NULL; + gchar* _tmp565_ = NULL; + gchar* _tmp566_ = NULL; + AppWindow* _tmp567_ = NULL; + AppWindow* _tmp568_ = NULL; + const gchar* _tmp569_ = NULL; + GtkMessageDialog* _tmp570_ = NULL; + GtkMessageDialog* _tmp571_ = NULL; + const gchar* _tmp572_ = NULL; + GtkWidget* save_results_button = NULL; + GtkMessageDialog* _tmp573_ = NULL; + GtkWidget* _tmp574_ = NULL; + GtkWidget* _tmp575_ = NULL; + GtkWidget* _tmp576_ = NULL; + ImportManifest* _tmp577_ = NULL; + GeeList* _tmp578_ = NULL; + gint _tmp579_ = 0; + gint _tmp580_ = 0; + ImportManifest* _tmp581_ = NULL; + GeeList* _tmp582_ = NULL; + gint _tmp583_ = 0; + gint _tmp584_ = 0; + GtkWidget* no_button = NULL; + GtkMessageDialog* _tmp585_ = NULL; + ImportUIQuestionParams* _tmp586_ = NULL; + const gchar* _tmp587_ = NULL; + GtkWidget* _tmp588_ = NULL; + GtkWidget* _tmp589_ = NULL; + GtkMessageDialog* _tmp590_ = NULL; + ImportUIQuestionParams* _tmp591_ = NULL; + const gchar* _tmp592_ = NULL; + GtkMessageDialog* _tmp593_ = NULL; + GtkWidget* _tmp594_ = NULL; + GtkMessageDialog* _tmp595_ = NULL; + gint _tmp596_ = 0; + GtkMessageDialog* _tmp604_ = NULL; + GtkMessageDialog* _tmp605_ = NULL; +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp561_ = message; +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp562_ = question; +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp563_ = _tmp562_->question; +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp564_ = g_strconcat ("\n", _tmp563_, NULL); +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp565_ = _tmp564_; +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp566_ = g_strconcat (_tmp561_, _tmp565_, NULL); +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + message = _tmp566_; +#line 868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp565_); +#line 870 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp567_ = app_window_get_instance (); +#line 870 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp568_ = _tmp567_; +#line 870 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp569_ = message; +#line 870 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp570_ = (GtkMessageDialog*) gtk_message_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp568_, gtk_window_get_type (), GtkWindow), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", _tmp569_); +#line 870 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp570_); +#line 870 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 870 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp570_; +#line 870 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp568_); +#line 872 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp571_ = dialog; +#line 872 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp572_ = _ ("Import Complete"); +#line 872 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp571_, gtk_window_get_type (), GtkWindow), _tmp572_); +#line 873 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp573_ = dialog; +#line 873 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp574_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp573_, gtk_dialog_get_type (), GtkDialog), IMPORT_UI_SAVE_RESULTS_BUTTON_NAME, IMPORT_UI_SAVE_RESULTS_RESPONSE_ID); +#line 873 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp575_ = _g_object_ref0 (_tmp574_); +#line 873 "/home/jens/Source/shotwell/src/Dialogs.vala" + save_results_button = _tmp575_; +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp576_ = save_results_button; +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp577_ = manifest; +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp578_ = _tmp577_->success; +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp579_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp578_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp580_ = _tmp579_; +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp581_ = manifest; +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp582_ = _tmp581_->all; +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp583_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp582_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp584_ = _tmp583_; +#line 875 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_visible (_tmp576_, _tmp580_ < _tmp584_); +#line 876 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp585_ = dialog; +#line 876 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp586_ = question; +#line 876 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp587_ = _tmp586_->no_button; +#line 876 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp588_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp585_, gtk_dialog_get_type (), GtkDialog), _tmp587_, (gint) GTK_RESPONSE_NO); +#line 876 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp589_ = _g_object_ref0 (_tmp588_); +#line 876 "/home/jens/Source/shotwell/src/Dialogs.vala" + no_button = _tmp589_; +#line 877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp590_ = dialog; +#line 877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp591_ = question; +#line 877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp592_ = _tmp591_->yes_button; +#line 877 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp590_, gtk_dialog_get_type (), GtkDialog), _tmp592_, (gint) GTK_RESPONSE_YES); +#line 878 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp593_ = dialog; +#line 878 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp594_ = no_button; +#line 878 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp593_, gtk_window_get_type (), GtkWindow), _tmp594_); +#line 880 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp595_ = dialog; +#line 880 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp596_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp595_, gtk_dialog_get_type (), GtkDialog)); +#line 880 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_response = _tmp596_; +#line 881 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 8596 "Dialogs.c" + gint _tmp597_ = 0; + GtkMessageDialog* _tmp598_ = NULL; + ImportManifest* _tmp599_ = NULL; + gchar* _tmp600_ = NULL; + gchar* _tmp601_ = NULL; + GtkMessageDialog* _tmp602_ = NULL; + gint _tmp603_ = 0; +#line 881 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp597_ = dialog_response; +#line 881 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp597_ == IMPORT_UI_SAVE_RESULTS_RESPONSE_ID)) { +#line 881 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 8610 "Dialogs.c" + } +#line 882 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp598_ = dialog; +#line 882 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp599_ = manifest; +#line 882 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp600_ = import_ui_create_result_report_from_manifest (_tmp599_); +#line 882 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp601_ = _tmp600_; +#line 882 "/home/jens/Source/shotwell/src/Dialogs.vala" + import_ui_save_import_results (G_TYPE_CHECK_INSTANCE_CAST (_tmp598_, gtk_window_get_type (), GtkWindow), _tmp601_); +#line 882 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp601_); +#line 883 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp602_ = dialog; +#line 883 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp603_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp602_, gtk_dialog_get_type (), GtkDialog)); +#line 883 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_response = _tmp603_; +#line 8630 "Dialogs.c" + } +#line 886 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp604_ = dialog; +#line 886 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp604_, gtk_widget_get_type (), GtkWidget)); +#line 887 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp605_ = dialog; +#line 887 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp605_, gtk_widget_get_type (), GtkWidget)); +#line 850 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (no_button); +#line 850 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (save_results_button); +#line 8644 "Dialogs.c" + } +#line 890 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp606_ = dialog_response; +#line 890 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp606_ == ((gint) GTK_RESPONSE_YES); +#line 890 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 890 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (message); +#line 890 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 8656 "Dialogs.c" +} + + +static guint8* string_get_data (const gchar* self, int* result_length1) { + guint8* result; + guint8* res = NULL; + gint res_length1 = 0; + gint _res_size_ = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + guint8* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + guint8* _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 1398 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1399 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res = (guint8*) self; +#line 1399 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res_length1 = -1; +#line 1399 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _res_size_ = res_length1; +#line 1400 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = strlen (self); +#line 1400 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp0_; +#line 1400 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res_length1 = (gint) _tmp1_; +#line 1400 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = res_length1; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = res; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = res_length1; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4__length1 = _tmp3__length1; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (result_length1) { +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result_length1 = _tmp4__length1; +#line 8700 "Dialogs.c" + } +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 8706 "Dialogs.c" +} + + +void import_ui_save_import_results (GtkWindow* chooser_dialog_parent, const gchar* results_log) { + GtkFileChooserDialog* chooser_dialog = NULL; + GtkWindow* _tmp0_ = NULL; + GtkFileChooserDialog* _tmp1_ = NULL; + GtkFileChooserDialog* _tmp2_ = NULL; + GtkFileChooserDialog* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkFileChooserDialog* _tmp5_ = NULL; + GtkFileChooserDialog* _tmp6_ = NULL; + gint dialog_result = 0; + GtkFileChooserDialog* _tmp7_ = NULL; + gint _tmp8_ = 0; + GFile* chosen_file = NULL; + GtkFileChooserDialog* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GtkFileChooserDialog* _tmp11_ = NULL; + GtkFileChooserDialog* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gint _tmp14_ = 0; + GError * _inner_error_ = NULL; +#line 893 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail ((chooser_dialog_parent == NULL) || GTK_IS_WINDOW (chooser_dialog_parent)); +#line 893 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (results_log != NULL); +#line 894 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = chooser_dialog_parent; +#line 894 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (IMPORT_UI_SAVE_RESULTS_FILE_CHOOSER_TITLE, _tmp0_, GTK_FILE_CHOOSER_ACTION_SAVE, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_SAVE_AS_LABEL, GTK_RESPONSE_ACCEPT, NULL, NULL); +#line 894 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp1_); +#line 894 "/home/jens/Source/shotwell/src/Dialogs.vala" + chooser_dialog = _tmp1_; +#line 897 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = chooser_dialog; +#line 897 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_do_overwrite_confirmation (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), TRUE); +#line 898 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = chooser_dialog; +#line 898 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = g_get_home_dir (); +#line 898 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp4_); +#line 899 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = chooser_dialog; +#line 899 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_current_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), "Shotwell Import Log.txt"); +#line 900 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = chooser_dialog; +#line 900 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_local_only (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), FALSE); +#line 902 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = chooser_dialog; +#line 902 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_dialog_get_type (), GtkDialog)); +#line 902 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_result = _tmp8_; +#line 903 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = chooser_dialog; +#line 903 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = gtk_file_chooser_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 903 "/home/jens/Source/shotwell/src/Dialogs.vala" + chosen_file = _tmp10_; +#line 904 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = chooser_dialog; +#line 904 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget)); +#line 905 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = chooser_dialog; +#line 905 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); +#line 907 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = dialog_result; +#line 907 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp14_ == ((gint) GTK_RESPONSE_ACCEPT)) { +#line 8784 "Dialogs.c" + GFile* _tmp15_ = NULL; +#line 907 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = chosen_file; +#line 907 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp15_ != NULL; +#line 8790 "Dialogs.c" + } else { +#line 907 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = FALSE; +#line 8794 "Dialogs.c" + } +#line 907 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp13_) { +#line 8798 "Dialogs.c" + { + GFileOutputStream* outstream = NULL; + GFile* _tmp16_ = NULL; + GFileOutputStream* _tmp17_ = NULL; + GFileOutputStream* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + guint8* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + guint8* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GFileOutputStream* _tmp22_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = chosen_file; +#line 909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = g_file_replace (_tmp16_, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &_inner_error_); +#line 909 "/home/jens/Source/shotwell/src/Dialogs.vala" + outstream = _tmp17_; +#line 909 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8818 "Dialogs.c" + goto __catch411_g_error; + } +#line 910 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = outstream; +#line 910 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = results_log; +#line 910 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = string_get_data (_tmp19_, &_tmp20__length1); +#line 910 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = _tmp20_; +#line 910 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21__length1 = _tmp20__length1; +#line 910 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_output_stream_write (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, G_TYPE_OUTPUT_STREAM, GOutputStream), _tmp21_, (gsize) _tmp21__length1, NULL, &_inner_error_); +#line 910 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 910 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (outstream); +#line 8837 "Dialogs.c" + goto __catch411_g_error; + } +#line 911 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = outstream; +#line 911 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_output_stream_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, G_TYPE_OUTPUT_STREAM, GOutputStream), NULL, &_inner_error_); +#line 911 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 911 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (outstream); +#line 8848 "Dialogs.c" + goto __catch411_g_error; + } +#line 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (outstream); +#line 8853 "Dialogs.c" + } + goto __finally411; + __catch411_g_error: + { + GError* err = NULL; + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + GError* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + err = _inner_error_; +#line 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + _inner_error_ = NULL; +#line 913 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = chosen_file; +#line 913 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = g_file_get_path (_tmp23_); +#line 913 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = _tmp24_; +#line 913 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = err; +#line 913 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = _tmp26_->message; +#line 913 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_critical ("Dialogs.vala:913: couldn't save import results to log file %s: %s", _tmp25_, _tmp27_); +#line 913 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp25_); +#line 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_error_free0 (err); +#line 8884 "Dialogs.c" + } + __finally411: +#line 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (chosen_file); +#line 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (chooser_dialog); +#line 908 "/home/jens/Source/shotwell/src/Dialogs.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 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_clear_error (&_inner_error_); +#line 908 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 8899 "Dialogs.c" + } + } +#line 893 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (chosen_file); +#line 893 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (chooser_dialog); +#line 8906 "Dialogs.c" +} + + +static gboolean _text_entry_dialog_mediator_on_modify_validate_text_entry_dialog_on_modify_validate_type (const gchar* text, gpointer self) { + gboolean result; + result = text_entry_dialog_mediator_on_modify_validate ((TextEntryDialogMediator*) self, text); +#line 930 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 8915 "Dialogs.c" +} + + +TextEntryDialogMediator* text_entry_dialog_mediator_construct (GType object_type, const gchar* title, const gchar* label, const gchar* initial_text, GeeCollection* completion_list, const gchar* completion_delimiter) { + TextEntryDialogMediator* self = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + TextEntryDialog* _tmp1_ = NULL; + TextEntryDialog* _tmp2_ = NULL; + GtkBox* _tmp3_ = NULL; + GObject* _tmp4_ = NULL; + TextEntryDialog* _tmp5_ = NULL; + TextEntryDialog* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 924 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (title != NULL, NULL); +#line 924 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (label != NULL, NULL); +#line 924 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail ((completion_list == NULL) || GEE_IS_COLLECTION (completion_list), NULL); +#line 924 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (TextEntryDialogMediator*) g_type_create_instance (object_type); +#line 926 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = app_window_create_builder ("shotwell.ui", NULL); +#line 926 "/home/jens/Source/shotwell/src/Dialogs.vala" + builder = _tmp0_; +#line 927 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = text_entry_dialog_new (); +#line 927 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp1_); +#line 927 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dialog); +#line 927 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->dialog = _tmp1_; +#line 928 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->dialog; +#line 928 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_dialog_get_type (), GtkDialog)); +#line 928 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_builder_get_object (builder, "dialog-vbox2"); +#line 928 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_box_get_type (), GtkBox), gtk_widget_get_type (), GtkWidget)); +#line 929 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->dialog; +#line 929 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_set_builder (_tmp5_, builder); +#line 930 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->dialog; +#line 930 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = title; +#line 930 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = label; +#line 930 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = initial_text; +#line 930 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = completion_list; +#line 930 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = completion_delimiter; +#line 930 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_setup (_tmp6_, _text_entry_dialog_mediator_on_modify_validate_text_entry_dialog_on_modify_validate_type, self, _tmp7_, _tmp8_, _tmp9_, _tmp10_, _tmp11_); +#line 924 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (builder); +#line 924 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 8984 "Dialogs.c" +} + + +static gboolean text_entry_dialog_mediator_real_on_modify_validate (TextEntryDialogMediator* self, const gchar* text) { + gboolean result = FALSE; +#line 933 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (text != NULL, FALSE); +#line 934 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 934 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 8996 "Dialogs.c" +} + + +gboolean text_entry_dialog_mediator_on_modify_validate (TextEntryDialogMediator* self, const gchar* text) { +#line 933 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_TEXT_ENTRY_DIALOG_MEDIATOR (self), FALSE); +#line 933 "/home/jens/Source/shotwell/src/Dialogs.vala" + return TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS (self)->on_modify_validate (self, text); +#line 9005 "Dialogs.c" +} + + +gchar* _text_entry_dialog_mediator_execute (TextEntryDialogMediator* self) { + gchar* result = NULL; + TextEntryDialog* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 937 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_TEXT_ENTRY_DIALOG_MEDIATOR (self), NULL); +#line 938 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->dialog; +#line 938 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = text_entry_dialog_execute (_tmp0_); +#line 938 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp1_; +#line 938 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 9023 "Dialogs.c" +} + + +static void value_text_entry_dialog_mediator_init (GValue* value) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 9030 "Dialogs.c" +} + + +static void value_text_entry_dialog_mediator_free_value (GValue* value) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (value->data[0].v_pointer) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_mediator_unref (value->data[0].v_pointer); +#line 9039 "Dialogs.c" + } +} + + +static void value_text_entry_dialog_mediator_copy_value (const GValue* src_value, GValue* dest_value) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (src_value->data[0].v_pointer) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = text_entry_dialog_mediator_ref (src_value->data[0].v_pointer); +#line 9049 "Dialogs.c" + } else { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = NULL; +#line 9053 "Dialogs.c" + } +} + + +static gpointer value_text_entry_dialog_mediator_peek_pointer (const GValue* value) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 9061 "Dialogs.c" +} + + +static gchar* value_text_entry_dialog_mediator_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (collect_values[0].v_pointer) { +#line 9068 "Dialogs.c" + TextEntryDialogMediator* object; + object = collect_values[0].v_pointer; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (object->parent_instance.g_class == NULL) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9075 "Dialogs.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9079 "Dialogs.c" + } +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = text_entry_dialog_mediator_ref (object); +#line 9083 "Dialogs.c" + } else { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 9087 "Dialogs.c" + } +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 9091 "Dialogs.c" +} + + +static gchar* value_text_entry_dialog_mediator_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TextEntryDialogMediator** object_p; + object_p = collect_values[0].v_pointer; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!object_p) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 9102 "Dialogs.c" + } +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!value->data[0].v_pointer) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = NULL; +#line 9108 "Dialogs.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = value->data[0].v_pointer; +#line 9112 "Dialogs.c" + } else { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = text_entry_dialog_mediator_ref (value->data[0].v_pointer); +#line 9116 "Dialogs.c" + } +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 9120 "Dialogs.c" +} + + +GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTextEntryDialogMediator* spec; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR), NULL); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return G_PARAM_SPEC (spec); +#line 9134 "Dialogs.c" +} + + +gpointer value_get_text_entry_dialog_mediator (const GValue* value) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR), NULL); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 9143 "Dialogs.c" +} + + +void value_set_text_entry_dialog_mediator (GValue* value, gpointer v_object) { + TextEntryDialogMediator* old; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_mediator_ref (value->data[0].v_pointer); +#line 9163 "Dialogs.c" + } else { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 9167 "Dialogs.c" + } +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_mediator_unref (old); +#line 9173 "Dialogs.c" + } +} + + +void value_take_text_entry_dialog_mediator (GValue* value, gpointer v_object) { + TextEntryDialogMediator* old; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 9192 "Dialogs.c" + } else { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 9196 "Dialogs.c" + } +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_mediator_unref (old); +#line 9202 "Dialogs.c" + } +} + + +static void text_entry_dialog_mediator_class_init (TextEntryDialogMediatorClass * klass) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_mediator_parent_class = g_type_class_peek_parent (klass); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((TextEntryDialogMediatorClass *) klass)->finalize = text_entry_dialog_mediator_finalize; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (TextEntryDialogMediatorPrivate)); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((TextEntryDialogMediatorClass *) klass)->on_modify_validate = text_entry_dialog_mediator_real_on_modify_validate; +#line 9216 "Dialogs.c" +} + + +static void text_entry_dialog_mediator_instance_init (TextEntryDialogMediator * self) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = TEXT_ENTRY_DIALOG_MEDIATOR_GET_PRIVATE (self); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->ref_count = 1; +#line 9225 "Dialogs.c" +} + + +static void text_entry_dialog_mediator_finalize (TextEntryDialogMediator* obj) { + TextEntryDialogMediator * self; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_handlers_destroy (self); +#line 922 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dialog); +#line 9237 "Dialogs.c" +} + + +GType text_entry_dialog_mediator_get_type (void) { + static volatile gsize text_entry_dialog_mediator_type_id__volatile = 0; + if (g_once_init_enter (&text_entry_dialog_mediator_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_text_entry_dialog_mediator_init, value_text_entry_dialog_mediator_free_value, value_text_entry_dialog_mediator_copy_value, value_text_entry_dialog_mediator_peek_pointer, "p", value_text_entry_dialog_mediator_collect_value, "p", value_text_entry_dialog_mediator_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TextEntryDialogMediatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) text_entry_dialog_mediator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TextEntryDialogMediator), 0, (GInstanceInitFunc) text_entry_dialog_mediator_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType text_entry_dialog_mediator_type_id; + text_entry_dialog_mediator_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TextEntryDialogMediator", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&text_entry_dialog_mediator_type_id__volatile, text_entry_dialog_mediator_type_id); + } + return text_entry_dialog_mediator_type_id__volatile; +} + + +gpointer text_entry_dialog_mediator_ref (gpointer instance) { + TextEntryDialogMediator* self; + self = instance; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_atomic_int_inc (&self->ref_count); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + return instance; +#line 9262 "Dialogs.c" +} + + +void text_entry_dialog_mediator_unref (gpointer instance) { + TextEntryDialogMediator* self; + self = instance; +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS (self)->finalize (self); +#line 921 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 9275 "Dialogs.c" + } +} + + +static gboolean _multi_text_entry_dialog_mediator_on_modify_validate_multi_text_entry_dialog_on_modify_validate_type (const gchar* text, gpointer self) { + gboolean result; + result = multi_text_entry_dialog_mediator_on_modify_validate ((MultiTextEntryDialogMediator*) self, text); +#line 950 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 9285 "Dialogs.c" +} + + +MultiTextEntryDialogMediator* multi_text_entry_dialog_mediator_construct (GType object_type, const gchar* title, const gchar* label, const gchar* initial_text) { + MultiTextEntryDialogMediator* self = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + MultiTextEntryDialog* _tmp1_ = NULL; + MultiTextEntryDialog* _tmp2_ = NULL; + GtkBox* _tmp3_ = NULL; + GObject* _tmp4_ = NULL; + MultiTextEntryDialog* _tmp5_ = NULL; + MultiTextEntryDialog* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 945 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (title != NULL, NULL); +#line 945 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (label != NULL, NULL); +#line 945 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (MultiTextEntryDialogMediator*) g_type_create_instance (object_type); +#line 946 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = app_window_create_builder ("shotwell.ui", NULL); +#line 946 "/home/jens/Source/shotwell/src/Dialogs.vala" + builder = _tmp0_; +#line 947 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = multi_text_entry_dialog_new (); +#line 947 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp1_); +#line 947 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dialog); +#line 947 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->dialog = _tmp1_; +#line 948 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->dialog; +#line 948 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_dialog_get_type (), GtkDialog)); +#line 948 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_builder_get_object (builder, "dialog-vbox4"); +#line 948 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_box_get_type (), GtkBox), gtk_widget_get_type (), GtkWidget)); +#line 949 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->dialog; +#line 949 "/home/jens/Source/shotwell/src/Dialogs.vala" + multi_text_entry_dialog_set_builder (_tmp5_, builder); +#line 950 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->dialog; +#line 950 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = title; +#line 950 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = label; +#line 950 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = initial_text; +#line 950 "/home/jens/Source/shotwell/src/Dialogs.vala" + multi_text_entry_dialog_setup (_tmp6_, _multi_text_entry_dialog_mediator_on_modify_validate_multi_text_entry_dialog_on_modify_validate_type, self, _tmp7_, _tmp8_, _tmp9_); +#line 945 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (builder); +#line 945 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 9346 "Dialogs.c" +} + + +static gboolean multi_text_entry_dialog_mediator_real_on_modify_validate (MultiTextEntryDialogMediator* self, const gchar* text) { + gboolean result = FALSE; +#line 953 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (text != NULL, FALSE); +#line 954 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 954 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 9358 "Dialogs.c" +} + + +gboolean multi_text_entry_dialog_mediator_on_modify_validate (MultiTextEntryDialogMediator* self, const gchar* text) { +#line 953 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (self), FALSE); +#line 953 "/home/jens/Source/shotwell/src/Dialogs.vala" + return MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS (self)->on_modify_validate (self, text); +#line 9367 "Dialogs.c" +} + + +gchar* _multi_text_entry_dialog_mediator_execute (MultiTextEntryDialogMediator* self) { + gchar* result = NULL; + MultiTextEntryDialog* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (self), NULL); +#line 958 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->dialog; +#line 958 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = multi_text_entry_dialog_execute (_tmp0_); +#line 958 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp1_; +#line 958 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 9385 "Dialogs.c" +} + + +static void value_multi_text_entry_dialog_mediator_init (GValue* value) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 9392 "Dialogs.c" +} + + +static void value_multi_text_entry_dialog_mediator_free_value (GValue* value) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (value->data[0].v_pointer) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + multi_text_entry_dialog_mediator_unref (value->data[0].v_pointer); +#line 9401 "Dialogs.c" + } +} + + +static void value_multi_text_entry_dialog_mediator_copy_value (const GValue* src_value, GValue* dest_value) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (src_value->data[0].v_pointer) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = multi_text_entry_dialog_mediator_ref (src_value->data[0].v_pointer); +#line 9411 "Dialogs.c" + } else { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = NULL; +#line 9415 "Dialogs.c" + } +} + + +static gpointer value_multi_text_entry_dialog_mediator_peek_pointer (const GValue* value) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 9423 "Dialogs.c" +} + + +static gchar* value_multi_text_entry_dialog_mediator_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (collect_values[0].v_pointer) { +#line 9430 "Dialogs.c" + MultiTextEntryDialogMediator* object; + object = collect_values[0].v_pointer; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (object->parent_instance.g_class == NULL) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9437 "Dialogs.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9441 "Dialogs.c" + } +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = multi_text_entry_dialog_mediator_ref (object); +#line 9445 "Dialogs.c" + } else { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 9449 "Dialogs.c" + } +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 9453 "Dialogs.c" +} + + +static gchar* value_multi_text_entry_dialog_mediator_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + MultiTextEntryDialogMediator** object_p; + object_p = collect_values[0].v_pointer; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!object_p) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 9464 "Dialogs.c" + } +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!value->data[0].v_pointer) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = NULL; +#line 9470 "Dialogs.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = value->data[0].v_pointer; +#line 9474 "Dialogs.c" + } else { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = multi_text_entry_dialog_mediator_ref (value->data[0].v_pointer); +#line 9478 "Dialogs.c" + } +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 9482 "Dialogs.c" +} + + +GParamSpec* param_spec_multi_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecMultiTextEntryDialogMediator* spec; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR), NULL); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return G_PARAM_SPEC (spec); +#line 9496 "Dialogs.c" +} + + +gpointer value_get_multi_text_entry_dialog_mediator (const GValue* value) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR), NULL); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 9505 "Dialogs.c" +} + + +void value_set_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object) { + MultiTextEntryDialogMediator* old; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + multi_text_entry_dialog_mediator_ref (value->data[0].v_pointer); +#line 9525 "Dialogs.c" + } else { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 9529 "Dialogs.c" + } +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + multi_text_entry_dialog_mediator_unref (old); +#line 9535 "Dialogs.c" + } +} + + +void value_take_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object) { + MultiTextEntryDialogMediator* old; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 9554 "Dialogs.c" + } else { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 9558 "Dialogs.c" + } +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + multi_text_entry_dialog_mediator_unref (old); +#line 9564 "Dialogs.c" + } +} + + +static void multi_text_entry_dialog_mediator_class_init (MultiTextEntryDialogMediatorClass * klass) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + multi_text_entry_dialog_mediator_parent_class = g_type_class_peek_parent (klass); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((MultiTextEntryDialogMediatorClass *) klass)->finalize = multi_text_entry_dialog_mediator_finalize; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (MultiTextEntryDialogMediatorPrivate)); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((MultiTextEntryDialogMediatorClass *) klass)->on_modify_validate = multi_text_entry_dialog_mediator_real_on_modify_validate; +#line 9578 "Dialogs.c" +} + + +static void multi_text_entry_dialog_mediator_instance_init (MultiTextEntryDialogMediator * self) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_PRIVATE (self); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->ref_count = 1; +#line 9587 "Dialogs.c" +} + + +static void multi_text_entry_dialog_mediator_finalize (MultiTextEntryDialogMediator* obj) { + MultiTextEntryDialogMediator * self; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_handlers_destroy (self); +#line 943 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dialog); +#line 9599 "Dialogs.c" +} + + +GType multi_text_entry_dialog_mediator_get_type (void) { + static volatile gsize multi_text_entry_dialog_mediator_type_id__volatile = 0; + if (g_once_init_enter (&multi_text_entry_dialog_mediator_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_multi_text_entry_dialog_mediator_init, value_multi_text_entry_dialog_mediator_free_value, value_multi_text_entry_dialog_mediator_copy_value, value_multi_text_entry_dialog_mediator_peek_pointer, "p", value_multi_text_entry_dialog_mediator_collect_value, "p", value_multi_text_entry_dialog_mediator_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (MultiTextEntryDialogMediatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) multi_text_entry_dialog_mediator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MultiTextEntryDialogMediator), 0, (GInstanceInitFunc) multi_text_entry_dialog_mediator_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType multi_text_entry_dialog_mediator_type_id; + multi_text_entry_dialog_mediator_type_id = g_type_register_fundamental (g_type_fundamental_next (), "MultiTextEntryDialogMediator", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&multi_text_entry_dialog_mediator_type_id__volatile, multi_text_entry_dialog_mediator_type_id); + } + return multi_text_entry_dialog_mediator_type_id__volatile; +} + + +gpointer multi_text_entry_dialog_mediator_ref (gpointer instance) { + MultiTextEntryDialogMediator* self; + self = instance; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_atomic_int_inc (&self->ref_count); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + return instance; +#line 9624 "Dialogs.c" +} + + +void multi_text_entry_dialog_mediator_unref (gpointer instance) { + MultiTextEntryDialogMediator* self; + self = instance; +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS (self)->finalize (self); +#line 942 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 9637 "Dialogs.c" + } +} + + +gchar* build_alert_body_text (const gchar* primary_text, const gchar* secondary_text, gboolean should_escape) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 967 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = should_escape; +#line 967 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_) { +#line 9655 "Dialogs.c" + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = primary_text; +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = guarded_markup_escape_text (_tmp1_); +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = secondary_text; +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = guarded_markup_escape_text (_tmp4_); +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp5_; +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = g_strdup_printf ("%s\n%s", _tmp3_, _tmp6_); +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp6_); +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp3_); +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp8_; +#line 968 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 9688 "Dialogs.c" + } +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = primary_text; +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = guarded_markup_escape_text (_tmp9_); +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = secondary_text; +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = g_strdup_printf ("%s\n%s", _tmp11_, _tmp12_); +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp13_; +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp11_); +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp14_; +#line 972 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 9708 "Dialogs.c" +} + + +static gboolean _entry_multi_completion_match_func_gtk_entry_completion_match_func (GtkEntryCompletion* completion, const gchar* key, GtkTreeIter* iter, gpointer self) { + gboolean result; + result = entry_multi_completion_match_func ((EntryMultiCompletion*) self, completion, key, iter); +#line 987 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 9717 "Dialogs.c" +} + + +EntryMultiCompletion* entry_multi_completion_construct (GType object_type, GeeCollection* completion_list, const gchar* delimiter) { + EntryMultiCompletion * self = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GtkListStore* _tmp8_ = NULL; + GtkListStore* _tmp9_ = NULL; +#line 981 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (completion_list), NULL); +#line 981 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (EntryMultiCompletion*) g_object_new (object_type, NULL); +#line 982 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = delimiter; +#line 982 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_ == NULL) { +#line 982 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = TRUE; +#line 9740 "Dialogs.c" + } else { + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 982 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = delimiter; +#line 982 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = strlen (_tmp2_); +#line 982 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 982 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp4_ == 1; +#line 9753 "Dialogs.c" + } +#line 982 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_assert (_tmp0_, "delimiter == null || delimiter.length == 1"); +#line 983 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = delimiter; +#line 983 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 983 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->priv->delimiter); +#line 983 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->delimiter = _tmp6_; +#line 985 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = completion_list; +#line 985 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = entry_multi_completion_create_completion_store (_tmp7_); +#line 985 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 985 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_completion_set_model (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_entry_completion_get_type (), GtkEntryCompletion), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 985 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp9_); +#line 986 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_completion_set_text_column (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_entry_completion_get_type (), GtkEntryCompletion), 0); +#line 987 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_completion_set_match_func (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_entry_completion_get_type (), GtkEntryCompletion), _entry_multi_completion_match_func_gtk_entry_completion_match_func, g_object_ref (self), g_object_unref); +#line 981 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 9781 "Dialogs.c" +} + + +EntryMultiCompletion* entry_multi_completion_new (GeeCollection* completion_list, const gchar* delimiter) { +#line 981 "/home/jens/Source/shotwell/src/Dialogs.vala" + return entry_multi_completion_construct (TYPE_ENTRY_MULTI_COMPLETION, completion_list, delimiter); +#line 9788 "Dialogs.c" +} + + +static GtkListStore* entry_multi_completion_create_completion_store (GeeCollection* completion_list) { + GtkListStore* result = NULL; + GtkListStore* completion_store = NULL; + GtkListStore* _tmp0_ = NULL; + GtkTreeIter store_iter = {0}; + GeeIterator* completion_iter = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 990 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (completion_list), NULL); +#line 991 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = gtk_list_store_new (1, G_TYPE_STRING, -1); +#line 991 "/home/jens/Source/shotwell/src/Dialogs.vala" + completion_store = _tmp0_; +#line 993 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = completion_list; +#line 993 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 993 "/home/jens/Source/shotwell/src/Dialogs.vala" + completion_iter = _tmp2_; +#line 994 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 9814 "Dialogs.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GtkListStore* _tmp5_ = NULL; + GtkTreeIter _tmp6_ = {0}; + GtkListStore* _tmp7_ = NULL; + GtkTreeIter _tmp8_ = {0}; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 994 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = completion_iter; +#line 994 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 994 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp4_) { +#line 994 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 9832 "Dialogs.c" + } +#line 995 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = completion_store; +#line 995 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_list_store_append (_tmp5_, &_tmp6_); +#line 995 "/home/jens/Source/shotwell/src/Dialogs.vala" + store_iter = _tmp6_; +#line 996 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = completion_store; +#line 996 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = store_iter; +#line 996 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = completion_iter; +#line 996 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 996 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = (gchar*) _tmp10_; +#line 996 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_list_store_set (_tmp7_, &_tmp8_, 0, _tmp11_, -1, -1); +#line 996 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp11_); +#line 9854 "Dialogs.c" + } +#line 999 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = completion_store; +#line 999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (completion_iter); +#line 999 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 9862 "Dialogs.c" +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 9885 "Dialogs.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 9905 "Dialogs.c" +} + + +static gint string_last_index_of_char (const gchar* self, gunichar c, gint start_index) { + gint result = 0; + gchar* _result_ = NULL; + gint _tmp0_ = 0; + gunichar _tmp1_ = 0U; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1017 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 1018 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = start_index; +#line 1018 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = c; +#line 1018 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = g_utf8_strrchr (((gchar*) self) + _tmp0_, (gssize) -1, _tmp1_); +#line 1018 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp2_; +#line 1020 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = _result_; +#line 1020 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 9930 "Dialogs.c" + gchar* _tmp4_ = NULL; +#line 1021 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _result_; +#line 1021 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gint) (_tmp4_ - ((gchar*) self)); +#line 1021 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 9938 "Dialogs.c" + } else { +#line 1023 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = -1; +#line 1023 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 9944 "Dialogs.c" + } +} + + +static gboolean entry_multi_completion_match_func (EntryMultiCompletion* self, GtkEntryCompletion* completion, const gchar* key, GtkTreeIter* iter) { + gboolean result = FALSE; + GtkTreeModel* model = NULL; + GtkEntryCompletion* _tmp0_ = NULL; + GtkTreeModel* _tmp1_ = NULL; + GtkTreeModel* _tmp2_ = NULL; + gchar* possible_match = NULL; + GtkTreeModel* _tmp3_ = NULL; + GtkTreeIter _tmp4_ = {0}; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* normed_key = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 1002 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_ENTRY_MULTI_COMPLETION (self), FALSE); +#line 1002 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_ENTRY_COMPLETION (completion), FALSE); +#line 1002 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 1002 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (iter != NULL, FALSE); +#line 1003 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = completion; +#line 1003 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_entry_completion_get_model (_tmp0_); +#line 1003 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1003 "/home/jens/Source/shotwell/src/Dialogs.vala" + model = _tmp2_; +#line 1005 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = model; +#line 1005 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = *iter; +#line 1005 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_tree_model_get (_tmp3_, &_tmp4_, 0, &possible_match, -1); +#line 1011 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = possible_match; +#line 1011 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = g_utf8_casefold (_tmp5_, (gssize) -1); +#line 1011 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 1011 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = g_utf8_normalize (_tmp7_, (gssize) -1, G_NORMALIZE_ALL_COMPOSE); +#line 1011 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (possible_match); +#line 1011 "/home/jens/Source/shotwell/src/Dialogs.vala" + possible_match = _tmp8_; +#line 1011 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp7_); +#line 1012 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = key; +#line 1012 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = g_utf8_normalize (_tmp9_, (gssize) -1, G_NORMALIZE_ALL_COMPOSE); +#line 1012 "/home/jens/Source/shotwell/src/Dialogs.vala" + normed_key = _tmp10_; +#line 1014 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->delimiter; +#line 1014 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp11_ == NULL) { +#line 10012 "Dialogs.c" + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = possible_match; +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = normed_key; +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = string_strip (_tmp13_); +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = _tmp14_; +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = g_str_has_prefix (_tmp12_, _tmp15_); +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = _tmp16_; +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp15_); +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp17_; +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (normed_key); +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (possible_match); +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (model); +#line 1015 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 10043 "Dialogs.c" + } else { + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gchar* last_part = NULL; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + const gchar* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + gboolean _tmp45_ = FALSE; +#line 1017 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = normed_key; +#line 1017 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = self->priv->delimiter; +#line 1017 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = string_contains (_tmp18_, _tmp19_); +#line 1017 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp20_) { +#line 10072 "Dialogs.c" + gint offset = 0; + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar _tmp24_ = '\0'; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint position = 0; + GtkWidget* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; +#line 1019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = normed_key; +#line 1019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = normed_key; +#line 1019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = self->priv->delimiter; +#line 1019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = string_get (_tmp23_, (glong) 0); +#line 1019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = string_last_index_of_char (_tmp22_, (gunichar) _tmp24_, 0); +#line 1019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = g_utf8_strlen (_tmp21_, (gssize) _tmp25_); +#line 1019 "/home/jens/Source/shotwell/src/Dialogs.vala" + offset = _tmp26_; +#line 1020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = gtk_entry_completion_get_entry (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_entry_completion_get_type (), GtkEntryCompletion)); +#line 1020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = gtk_editable_get_position (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_entry_get_type (), GtkEntry), GTK_TYPE_EDITABLE, GtkEditable)); +#line 1020 "/home/jens/Source/shotwell/src/Dialogs.vala" + position = _tmp28_; +#line 1021 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = position; +#line 1021 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = offset; +#line 1021 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp29_ <= _tmp30_) { +#line 1022 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 1022 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (normed_key); +#line 1022 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (possible_match); +#line 1022 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (model); +#line 1022 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 10121 "Dialogs.c" + } + } +#line 1025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = normed_key; +#line 1025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = string_strip (_tmp31_); +#line 1025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = _tmp32_; +#line 1025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = self->priv->delimiter; +#line 1025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = entry_multi_completion_get_last_part (_tmp33_, _tmp34_); +#line 1025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = _tmp35_; +#line 1025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp33_); +#line 1025 "/home/jens/Source/shotwell/src/Dialogs.vala" + last_part = _tmp36_; +#line 1027 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = last_part; +#line 1027 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = strlen (_tmp37_); +#line 1027 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = _tmp38_; +#line 1027 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp39_ == 0) { +#line 1028 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 1028 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (last_part); +#line 1028 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (normed_key); +#line 1028 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (possible_match); +#line 1028 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (model); +#line 1028 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 10160 "Dialogs.c" + } +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = possible_match; +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = last_part; +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = string_strip (_tmp41_); +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = _tmp42_; +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = g_str_has_prefix (_tmp40_, _tmp43_); +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = _tmp44_; +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp43_); +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp45_; +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (last_part); +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (normed_key); +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (possible_match); +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (model); +#line 1030 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 10188 "Dialogs.c" + } +#line 1002 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (normed_key); +#line 1002 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (possible_match); +#line 1002 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (model); +#line 10196 "Dialogs.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 10219 "Dialogs.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 10227 "Dialogs.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 10239 "Dialogs.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 10263 "Dialogs.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 10269 "Dialogs.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 10273 "Dialogs.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 10277 "Dialogs.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 10289 "Dialogs.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 10299 "Dialogs.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 10305 "Dialogs.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 10319 "Dialogs.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 10329 "Dialogs.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 10335 "Dialogs.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 10344 "Dialogs.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 10364 "Dialogs.c" +} + + +static gboolean entry_multi_completion_real_match_selected (GtkEntryCompletion* base, GtkTreeModel* model, GtkTreeIter* iter) { + EntryMultiCompletion * self; + gboolean result = FALSE; + gchar* match = NULL; + GtkTreeModel* _tmp0_ = NULL; + GtkTreeIter _tmp1_ = {0}; + GtkEntry* entry = NULL; + GtkWidget* _tmp2_ = NULL; + GtkEntry* _tmp3_ = NULL; + gchar* old_text = NULL; + GtkEntry* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + const gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gchar* new_text = NULL; + const gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + GtkEntry* _tmp35_ = NULL; + GtkEntry* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; +#line 1034 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletion); +#line 1034 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE); +#line 1034 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (iter != NULL, FALSE); +#line 1036 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = model; +#line 1036 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = *iter; +#line 1036 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_tree_model_get (_tmp0_, &_tmp1_, 0, &match, -1); +#line 1038 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_entry_completion_get_entry (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_entry_completion_get_type (), GtkEntryCompletion)); +#line 1038 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_entry_get_type (), GtkEntry)); +#line 1038 "/home/jens/Source/shotwell/src/Dialogs.vala" + entry = _tmp3_; +#line 1040 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = entry; +#line 1040 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = gtk_entry_get_text (_tmp4_); +#line 1040 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = g_utf8_normalize (_tmp5_, (gssize) -1, G_NORMALIZE_ALL_COMPOSE); +#line 1040 "/home/jens/Source/shotwell/src/Dialogs.vala" + old_text = _tmp6_; +#line 1041 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = old_text; +#line 1041 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = strlen (_tmp7_); +#line 1041 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 1041 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp9_ > 0) { +#line 10434 "Dialogs.c" + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 1042 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = old_text; +#line 1042 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->delimiter; +#line 1042 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = string_contains (_tmp10_, _tmp11_); +#line 1042 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp12_) { +#line 10446 "Dialogs.c" + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar _tmp18_ = '\0'; + gint _tmp19_ = 0; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = self->priv->delimiter; +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_strcmp0 (_tmp14_, " ") != 0) { +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = " "; +#line 10463 "Dialogs.c" + } else { +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = ""; +#line 10467 "Dialogs.c" + } +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = old_text; +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = old_text; +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->priv->delimiter; +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = string_get (_tmp17_, (glong) 0); +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = string_last_index_of_char (_tmp16_, (gunichar) _tmp18_, 0); +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = string_substring (_tmp15_, (glong) 0, (glong) (_tmp19_ + 1)); +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = _tmp20_; +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = g_strconcat (_tmp21_, _tmp13_, NULL); +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (old_text); +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + old_text = _tmp22_; +#line 1043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp21_); +#line 10491 "Dialogs.c" + } else { + gchar* _tmp23_ = NULL; +#line 1045 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = g_strdup (""); +#line 1045 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (old_text); +#line 1045 "/home/jens/Source/shotwell/src/Dialogs.vala" + old_text = _tmp23_; +#line 10500 "Dialogs.c" + } + } +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = self->priv->delimiter; +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_strcmp0 (_tmp25_, " ") != 0) { +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = " "; +#line 10509 "Dialogs.c" + } else { +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = ""; +#line 10513 "Dialogs.c" + } +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = old_text; +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = match; +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = g_strconcat (_tmp26_, _tmp27_, NULL); +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = _tmp28_; +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = self->priv->delimiter; +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = g_strconcat (_tmp29_, _tmp30_, NULL); +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = _tmp31_; +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = g_strconcat (_tmp32_, _tmp24_, NULL); +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = _tmp33_; +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp32_); +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp29_); +#line 1048 "/home/jens/Source/shotwell/src/Dialogs.vala" + new_text = _tmp34_; +#line 1049 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = entry; +#line 1049 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_text (_tmp35_, new_text); +#line 1050 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = entry; +#line 1050 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = strlen (new_text); +#line 1050 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = _tmp37_; +#line 1050 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_editable_set_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GTK_TYPE_EDITABLE, GtkEditable), (gint) _tmp38_); +#line 1052 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 1052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (new_text); +#line 1052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (old_text); +#line 1052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (entry); +#line 1052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (match); +#line 1052 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 10563 "Dialogs.c" +} + + +static gchar* entry_multi_completion_get_last_part (const gchar* s, const gchar* delimiter) { + gchar* result = NULL; + gchar** split = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint split_length1 = 0; + gint _split_size_ = 0; + gboolean _tmp4_ = FALSE; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 1056 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (s != NULL, NULL); +#line 1056 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (delimiter != NULL, NULL); +#line 1057 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = s; +#line 1057 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = delimiter; +#line 1057 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_ = g_strsplit (_tmp0_, _tmp1_, 0); +#line 1057 "/home/jens/Source/shotwell/src/Dialogs.vala" + split = _tmp3_; +#line 1057 "/home/jens/Source/shotwell/src/Dialogs.vala" + split_length1 = _vala_array_length (_tmp2_); +#line 1057 "/home/jens/Source/shotwell/src/Dialogs.vala" + _split_size_ = split_length1; +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = split; +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5__length1 = split_length1; +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_ != NULL) { +#line 10601 "Dialogs.c" + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + const gchar* _tmp7_ = NULL; +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = split; +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6__length1 = split_length1; +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_[0]; +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp7_ != NULL; +#line 10613 "Dialogs.c" + } else { +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = FALSE; +#line 10617 "Dialogs.c" + } +#line 1059 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp4_) { +#line 10621 "Dialogs.c" + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = split; +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8__length1 = split_length1; +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = split; +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9__length1 = split_length1; +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp8_[_tmp9__length1 - 1]; +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp11_; +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + split = (_vala_array_free (split, split_length1, (GDestroyNotify) g_free), NULL); +#line 1060 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 10646 "Dialogs.c" + } else { + gchar* _tmp12_ = NULL; +#line 1062 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = g_strdup (""); +#line 1062 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp12_; +#line 1062 "/home/jens/Source/shotwell/src/Dialogs.vala" + split = (_vala_array_free (split, split_length1, (GDestroyNotify) g_free), NULL); +#line 1062 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 10657 "Dialogs.c" + } +#line 1056 "/home/jens/Source/shotwell/src/Dialogs.vala" + split = (_vala_array_free (split, split_length1, (GDestroyNotify) g_free), NULL); +#line 10661 "Dialogs.c" +} + + +static void entry_multi_completion_class_init (EntryMultiCompletionClass * klass) { +#line 978 "/home/jens/Source/shotwell/src/Dialogs.vala" + entry_multi_completion_parent_class = g_type_class_peek_parent (klass); +#line 978 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (EntryMultiCompletionPrivate)); +#line 978 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((GtkEntryCompletionClass *) klass)->match_selected = entry_multi_completion_real_match_selected; +#line 978 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (klass)->finalize = entry_multi_completion_finalize; +#line 10674 "Dialogs.c" +} + + +static void entry_multi_completion_instance_init (EntryMultiCompletion * self) { +#line 978 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = ENTRY_MULTI_COMPLETION_GET_PRIVATE (self); +#line 10681 "Dialogs.c" +} + + +static void entry_multi_completion_finalize (GObject* obj) { + EntryMultiCompletion * self; +#line 978 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ENTRY_MULTI_COMPLETION, EntryMultiCompletion); +#line 979 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->priv->delimiter); +#line 978 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (entry_multi_completion_parent_class)->finalize (obj); +#line 10693 "Dialogs.c" +} + + +GType entry_multi_completion_get_type (void) { + static volatile gsize entry_multi_completion_type_id__volatile = 0; + if (g_once_init_enter (&entry_multi_completion_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EntryMultiCompletionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) entry_multi_completion_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EntryMultiCompletion), 0, (GInstanceInitFunc) entry_multi_completion_instance_init, NULL }; + GType entry_multi_completion_type_id; + entry_multi_completion_type_id = g_type_register_static (gtk_entry_completion_get_type (), "EntryMultiCompletion", &g_define_type_info, 0); + g_once_init_leave (&entry_multi_completion_type_id__volatile, entry_multi_completion_type_id); + } + return entry_multi_completion_type_id__volatile; +} + + +static void _set_background_dialog_on_checkbox_clicked_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { +#line 1086 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_dialog_on_checkbox_clicked ((SetBackgroundDialog*) self); +#line 10712 "Dialogs.c" +} + + +SetBackgroundDialog* set_background_dialog_construct (GType object_type, GtkBuilder* builder) { + SetBackgroundDialog* self = NULL; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; + GtkDialog* _tmp2_ = NULL; + GtkDialog* _tmp3_ = NULL; + GtkDialog* _tmp4_ = NULL; + AppWindow* _tmp5_ = NULL; + AppWindow* _tmp6_ = NULL; + GdkWindow* _tmp7_ = NULL; + GtkDialog* _tmp8_ = NULL; + AppWindow* _tmp9_ = NULL; + AppWindow* _tmp10_ = NULL; + GtkDialog* _tmp11_ = NULL; + GtkBuilder* _tmp12_ = NULL; + GObject* _tmp13_ = NULL; + GtkCheckButton* _tmp14_ = NULL; + GtkCheckButton* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + GtkCheckButton* _tmp17_ = NULL; + GtkBuilder* _tmp18_ = NULL; + GObject* _tmp19_ = NULL; + GtkCheckButton* _tmp20_ = NULL; + GtkCheckButton* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + GtkCheckButton* _tmp23_ = NULL; + GtkBuilder* _tmp24_ = NULL; + GObject* _tmp25_ = NULL; + GtkButton* _tmp26_ = NULL; +#line 1076 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_BUILDER (builder), NULL); +#line 1076 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (SetBackgroundDialog*) g_type_create_instance (object_type); +#line 1078 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = builder; +#line 1078 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "dialog1"); +#line 1078 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_dialog_get_type ()) ? ((GtkDialog*) _tmp1_) : NULL); +#line 1078 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->dialog); +#line 1078 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->dialog = _tmp2_; +#line 1079 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->dialog; +#line 1079 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_type_hint (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_window_get_type (), GtkWindow), GDK_WINDOW_TYPE_HINT_DIALOG); +#line 1080 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = self->dialog; +#line 1080 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = app_window_get_instance (); +#line 1080 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp5_; +#line 1080 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = gtk_widget_get_parent_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); +#line 1080 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_parent_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), _tmp7_); +#line 1080 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp6_); +#line 1081 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->dialog; +#line 1081 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = app_window_get_instance (); +#line 1081 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 1081 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_window_get_type (), GtkWindow)); +#line 1081 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp10_); +#line 1082 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->dialog; +#line 1082 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_default_response (_tmp11_, (gint) GTK_RESPONSE_OK); +#line 1084 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = builder; +#line 1084 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = gtk_builder_get_object (_tmp12_, "desktop_background_checkbox"); +#line 1084 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp13_) : NULL); +#line 1084 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->desktop_background_button); +#line 1084 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->desktop_background_button = _tmp14_; +#line 1085 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = self->desktop_background_button; +#line 1085 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->desktop; +#line 1085 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp16_); +#line 1086 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->desktop_background_button; +#line 1086 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_toggle_button_get_type (), GtkToggleButton), "toggled", (GCallback) _set_background_dialog_on_checkbox_clicked_gtk_toggle_button_toggled, self); +#line 1087 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = builder; +#line 1087 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = gtk_builder_get_object (_tmp18_, "screensaver_checkbox"); +#line 1087 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp19_) : NULL); +#line 1087 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->screensaver_button); +#line 1087 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->screensaver_button = _tmp20_; +#line 1088 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = self->screensaver_button; +#line 1088 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = self->screensaver; +#line 1088 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp22_); +#line 1089 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = self->screensaver_button; +#line 1089 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_toggle_button_get_type (), GtkToggleButton), "toggled", (GCallback) _set_background_dialog_on_checkbox_clicked_gtk_toggle_button_toggled, self); +#line 1091 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = builder; +#line 1091 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = gtk_builder_get_object (_tmp24_, "ok_button"); +#line 1091 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, gtk_button_get_type ()) ? ((GtkButton*) _tmp25_) : NULL); +#line 1091 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->ok_button); +#line 1091 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->ok_button = _tmp26_; +#line 1076 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 10841 "Dialogs.c" +} + + +void set_background_dialog_on_checkbox_clicked (SetBackgroundDialog* self) { + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GtkCheckButton* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 1094 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_SET_BACKGROUND_DIALOG (self)); +#line 1095 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->desktop_background_button; +#line 1095 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1095 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_; +#line 1095 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->desktop = _tmp2_; +#line 1096 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->screensaver_button; +#line 1096 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1096 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 1096 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->screensaver = _tmp5_; +#line 1098 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->desktop; +#line 1098 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp7_) { +#line 10876 "Dialogs.c" + gboolean _tmp8_ = FALSE; +#line 1098 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->screensaver; +#line 1098 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = !_tmp8_; +#line 10882 "Dialogs.c" + } else { +#line 1098 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = FALSE; +#line 10886 "Dialogs.c" + } +#line 1098 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp6_) { +#line 10890 "Dialogs.c" + GtkButton* _tmp9_ = NULL; +#line 1099 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->ok_button; +#line 1099 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 10896 "Dialogs.c" + } else { + GtkButton* _tmp10_ = NULL; +#line 1101 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->ok_button; +#line 1101 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 10903 "Dialogs.c" + } +} + + +gboolean set_background_dialog_execute_base (SetBackgroundDialog* self) { + gboolean result = FALSE; + GtkDialog* _tmp0_ = NULL; + gboolean _result_ = FALSE; + GtkDialog* _tmp1_ = NULL; + gint _tmp2_ = 0; + GtkDialog* _tmp3_ = NULL; +#line 1105 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_SET_BACKGROUND_DIALOG (self), FALSE); +#line 1106 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->dialog; +#line 1106 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1107 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->dialog; +#line 1107 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_dialog_run (_tmp1_); +#line 1107 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = _tmp2_ == ((gint) GTK_RESPONSE_OK); +#line 1108 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->dialog; +#line 1108 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 1110 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _result_; +#line 1110 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 10935 "Dialogs.c" +} + + +static void value_set_background_dialog_init (GValue* value) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 10942 "Dialogs.c" +} + + +static void value_set_background_dialog_free_value (GValue* value) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (value->data[0].v_pointer) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_dialog_unref (value->data[0].v_pointer); +#line 10951 "Dialogs.c" + } +} + + +static void value_set_background_dialog_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (src_value->data[0].v_pointer) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = set_background_dialog_ref (src_value->data[0].v_pointer); +#line 10961 "Dialogs.c" + } else { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = NULL; +#line 10965 "Dialogs.c" + } +} + + +static gpointer value_set_background_dialog_peek_pointer (const GValue* value) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 10973 "Dialogs.c" +} + + +static gchar* value_set_background_dialog_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (collect_values[0].v_pointer) { +#line 10980 "Dialogs.c" + SetBackgroundDialog* object; + object = collect_values[0].v_pointer; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (object->parent_instance.g_class == NULL) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10987 "Dialogs.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10991 "Dialogs.c" + } +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = set_background_dialog_ref (object); +#line 10995 "Dialogs.c" + } else { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 10999 "Dialogs.c" + } +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 11003 "Dialogs.c" +} + + +static gchar* value_set_background_dialog_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SetBackgroundDialog** object_p; + object_p = collect_values[0].v_pointer; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!object_p) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 11014 "Dialogs.c" + } +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!value->data[0].v_pointer) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = NULL; +#line 11020 "Dialogs.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = value->data[0].v_pointer; +#line 11024 "Dialogs.c" + } else { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = set_background_dialog_ref (value->data[0].v_pointer); +#line 11028 "Dialogs.c" + } +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 11032 "Dialogs.c" +} + + +GParamSpec* param_spec_set_background_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSetBackgroundDialog* spec; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SET_BACKGROUND_DIALOG), NULL); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return G_PARAM_SPEC (spec); +#line 11046 "Dialogs.c" +} + + +gpointer value_get_set_background_dialog (const GValue* value) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SET_BACKGROUND_DIALOG), NULL); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 11055 "Dialogs.c" +} + + +void value_set_set_background_dialog (GValue* value, gpointer v_object) { + SetBackgroundDialog* old; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SET_BACKGROUND_DIALOG)); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SET_BACKGROUND_DIALOG)); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_dialog_ref (value->data[0].v_pointer); +#line 11075 "Dialogs.c" + } else { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 11079 "Dialogs.c" + } +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_dialog_unref (old); +#line 11085 "Dialogs.c" + } +} + + +void value_take_set_background_dialog (GValue* value, gpointer v_object) { + SetBackgroundDialog* old; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SET_BACKGROUND_DIALOG)); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SET_BACKGROUND_DIALOG)); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 11104 "Dialogs.c" + } else { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 11108 "Dialogs.c" + } +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_dialog_unref (old); +#line 11114 "Dialogs.c" + } +} + + +static void set_background_dialog_class_init (SetBackgroundDialogClass * klass) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((SetBackgroundDialogClass *) klass)->finalize = set_background_dialog_finalize; +#line 11124 "Dialogs.c" +} + + +static void set_background_dialog_instance_init (SetBackgroundDialog * self) { +#line 1073 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->desktop = TRUE; +#line 1074 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->screensaver = FALSE; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->ref_count = 1; +#line 11135 "Dialogs.c" +} + + +static void set_background_dialog_finalize (SetBackgroundDialog* obj) { + SetBackgroundDialog * self; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_handlers_destroy (self); +#line 1068 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->dialog); +#line 1069 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->desktop_background_button); +#line 1070 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->screensaver_button); +#line 1071 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->ok_button); +#line 11153 "Dialogs.c" +} + + +GType set_background_dialog_get_type (void) { + static volatile gsize set_background_dialog_type_id__volatile = 0; + if (g_once_init_enter (&set_background_dialog_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_set_background_dialog_init, value_set_background_dialog_free_value, value_set_background_dialog_copy_value, value_set_background_dialog_peek_pointer, "p", value_set_background_dialog_collect_value, "p", value_set_background_dialog_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SetBackgroundDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) set_background_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SetBackgroundDialog), 0, (GInstanceInitFunc) set_background_dialog_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType set_background_dialog_type_id; + set_background_dialog_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SetBackgroundDialog", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&set_background_dialog_type_id__volatile, set_background_dialog_type_id); + } + return set_background_dialog_type_id__volatile; +} + + +gpointer set_background_dialog_ref (gpointer instance) { + SetBackgroundDialog* self; + self = instance; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_atomic_int_inc (&self->ref_count); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + return instance; +#line 11178 "Dialogs.c" +} + + +void set_background_dialog_unref (gpointer instance) { + SetBackgroundDialog* self; + self = instance; +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + SET_BACKGROUND_DIALOG_GET_CLASS (self)->finalize (self); +#line 1067 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 11191 "Dialogs.c" + } +} + + +SetBackgroundPhotoDialog* set_background_photo_dialog_construct (GType object_type) { + SetBackgroundPhotoDialog* self = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; +#line 1117 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = app_window_create_builder ("set_background_dialog.ui", self); +#line 1117 "/home/jens/Source/shotwell/src/Dialogs.vala" + builder = _tmp0_; +#line 1118 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (SetBackgroundPhotoDialog*) set_background_dialog_construct (object_type, builder); +#line 1116 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (builder); +#line 1116 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 11210 "Dialogs.c" +} + + +SetBackgroundPhotoDialog* set_background_photo_dialog_new (void) { +#line 1116 "/home/jens/Source/shotwell/src/Dialogs.vala" + return set_background_photo_dialog_construct (TYPE_SET_BACKGROUND_PHOTO_DIALOG); +#line 11217 "Dialogs.c" +} + + +gboolean set_background_photo_dialog_execute (SetBackgroundPhotoDialog* self, gboolean* desktop_background, gboolean* screensaver) { + gboolean _vala_desktop_background = FALSE; + gboolean _vala_screensaver = FALSE; + gboolean result = FALSE; + gboolean _result_ = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 1121 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_SET_BACKGROUND_PHOTO_DIALOG (self), FALSE); +#line 1122 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = set_background_dialog_execute_base (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)); +#line 1122 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = _tmp0_; +#line 1124 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)->desktop; +#line 1124 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_desktop_background = _tmp1_; +#line 1125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)->screensaver; +#line 1125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_screensaver = _tmp2_; +#line 1127 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _result_; +#line 1127 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (desktop_background) { +#line 1127 "/home/jens/Source/shotwell/src/Dialogs.vala" + *desktop_background = _vala_desktop_background; +#line 11249 "Dialogs.c" + } +#line 1127 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (screensaver) { +#line 1127 "/home/jens/Source/shotwell/src/Dialogs.vala" + *screensaver = _vala_screensaver; +#line 11255 "Dialogs.c" + } +#line 1127 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 11259 "Dialogs.c" +} + + +static void set_background_photo_dialog_class_init (SetBackgroundPhotoDialogClass * klass) { +#line 1114 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_photo_dialog_parent_class = g_type_class_peek_parent (klass); +#line 11266 "Dialogs.c" +} + + +static void set_background_photo_dialog_instance_init (SetBackgroundPhotoDialog * self) { +} + + +GType set_background_photo_dialog_get_type (void) { + static volatile gsize set_background_photo_dialog_type_id__volatile = 0; + if (g_once_init_enter (&set_background_photo_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SetBackgroundPhotoDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) set_background_photo_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SetBackgroundPhotoDialog), 0, (GInstanceInitFunc) set_background_photo_dialog_instance_init, NULL }; + GType set_background_photo_dialog_type_id; + set_background_photo_dialog_type_id = g_type_register_static (TYPE_SET_BACKGROUND_DIALOG, "SetBackgroundPhotoDialog", &g_define_type_info, 0); + g_once_init_leave (&set_background_photo_dialog_type_id__volatile, set_background_photo_dialog_type_id); + } + return set_background_photo_dialog_type_id__volatile; +} + + +static void _set_background_slideshow_dialog_on_delay_scale_value_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 1143 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_slideshow_dialog_on_delay_scale_value_changed ((SetBackgroundSlideshowDialog*) self); +#line 11289 "Dialogs.c" +} + + +SetBackgroundSlideshowDialog* set_background_slideshow_dialog_construct (GType object_type) { + SetBackgroundSlideshowDialog* self = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; + GtkLabel* _tmp2_ = NULL; + GObject* _tmp3_ = NULL; + GtkScale* _tmp4_ = NULL; + GtkScale* _tmp5_ = NULL; + GtkScale* _tmp6_ = NULL; + GtkAdjustment* _tmp7_ = NULL; + GtkAdjustment* _tmp8_ = NULL; +#line 1137 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = app_window_create_builder ("set_background_slideshow_dialog.ui", self); +#line 1137 "/home/jens/Source/shotwell/src/Dialogs.vala" + builder = _tmp0_; +#line 1138 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (SetBackgroundSlideshowDialog*) set_background_dialog_construct (object_type, builder); +#line 1140 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_builder_get_object (builder, "delay_value_label"); +#line 1140 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp1_) : NULL); +#line 1140 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->delay_value_label); +#line 1140 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->delay_value_label = _tmp2_; +#line 1142 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_builder_get_object (builder, "delay_scale"); +#line 1142 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, gtk_scale_get_type ()) ? ((GtkScale*) _tmp3_) : NULL); +#line 1142 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->delay_scale); +#line 1142 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->delay_scale = _tmp4_; +#line 1143 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->delay_scale; +#line 1143 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _set_background_slideshow_dialog_on_delay_scale_value_changed_gtk_range_value_changed, self); +#line 1144 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->delay_scale; +#line 1144 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = gtk_range_get_adjustment (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_range_get_type (), GtkRange)); +#line 1144 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 1144 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_adjustment_set_value (_tmp8_, (gdouble) 50); +#line 1136 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (builder); +#line 1136 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 11343 "Dialogs.c" +} + + +SetBackgroundSlideshowDialog* set_background_slideshow_dialog_new (void) { +#line 1136 "/home/jens/Source/shotwell/src/Dialogs.vala" + return set_background_slideshow_dialog_construct (TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG); +#line 11350 "Dialogs.c" +} + + +static void set_background_slideshow_dialog_on_delay_scale_value_changed (SetBackgroundSlideshowDialog* self) { + gdouble value = 0.0; + GtkScale* _tmp0_ = NULL; + GtkAdjustment* _tmp1_ = NULL; + GtkAdjustment* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; + gchar* text = NULL; + gint _tmp8_ = 0; + GtkLabel* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; +#line 1147 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_SET_BACKGROUND_SLIDESHOW_DIALOG (self)); +#line 1148 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->delay_scale; +#line 1148 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_range_get_adjustment (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange)); +#line 1148 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_; +#line 1148 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_adjustment_get_value (_tmp2_); +#line 1148 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 1148 "/home/jens/Source/shotwell/src/Dialogs.vala" + value = _tmp4_; +#line 1153 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = value; +#line 1153 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = pow (_tmp5_, (gdouble) 5); +#line 1153 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = pow ((gdouble) 90, (gdouble) 5); +#line 1153 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->delay_value = (gint) (((((_tmp6_ / _tmp7_) * 60) * 60) * 24) + 5); +#line 1157 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->delay_value; +#line 1157 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp8_ < 60) { +#line 11394 "Dialogs.c" + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + gint _tmp11_ = 0; + gchar* _tmp12_ = NULL; +#line 1158 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->delay_value; +#line 1158 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = ngettext ("%d second", "%d seconds", (gulong) _tmp9_); +#line 1158 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->delay_value; +#line 1158 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = g_strdup_printf (_tmp10_, _tmp11_); +#line 1158 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 1158 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp12_; +#line 11411 "Dialogs.c" + } else { + gint _tmp13_ = 0; +#line 1159 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = self->priv->delay_value; +#line 1159 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp13_ < (60 * 60)) { +#line 11418 "Dialogs.c" + gint minutes = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + gint _tmp17_ = 0; + gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; +#line 1160 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = self->priv->delay_value; +#line 1160 "/home/jens/Source/shotwell/src/Dialogs.vala" + minutes = _tmp14_ / 60; +#line 1161 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = minutes; +#line 1161 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = ngettext ("%d minute", "%d minutes", (gulong) _tmp15_); +#line 1161 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = minutes; +#line 1161 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = g_strdup_printf (_tmp16_, _tmp17_); +#line 1161 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 1161 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp18_; +#line 1162 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = minutes; +#line 1162 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->delay_value = _tmp19_ * 60; +#line 11446 "Dialogs.c" + } else { + gint _tmp20_ = 0; +#line 1163 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = self->priv->delay_value; +#line 1163 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp20_ < ((60 * 60) * 24)) { +#line 11453 "Dialogs.c" + gint hours = 0; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + const gchar* _tmp23_ = NULL; + gint _tmp24_ = 0; + gchar* _tmp25_ = NULL; + gint _tmp26_ = 0; +#line 1164 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = self->priv->delay_value; +#line 1164 "/home/jens/Source/shotwell/src/Dialogs.vala" + hours = _tmp21_ / (60 * 60); +#line 1165 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = hours; +#line 1165 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = ngettext ("%d hour", "%d hours", (gulong) _tmp22_); +#line 1165 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = hours; +#line 1165 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = g_strdup_printf (_tmp23_, _tmp24_); +#line 1165 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 1165 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp25_; +#line 1166 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = hours; +#line 1166 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->delay_value = _tmp26_ * (60 * 60); +#line 11481 "Dialogs.c" + } else { + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; +#line 1168 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = _ ("1 day"); +#line 1168 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = g_strdup (_tmp27_); +#line 1168 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 1168 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp28_; +#line 1169 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->delay_value = (60 * 60) * 24; +#line 11495 "Dialogs.c" + } + } + } +#line 1172 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = self->priv->delay_value_label; +#line 1172 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = text; +#line 1172 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_label (_tmp29_, _tmp30_); +#line 1147 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 11507 "Dialogs.c" +} + + +gboolean set_background_slideshow_dialog_execute (SetBackgroundSlideshowDialog* self, gint* delay_value, gboolean* desktop_background, gboolean* screensaver) { + gint _vala_delay_value = 0; + gboolean _vala_desktop_background = FALSE; + gboolean _vala_screensaver = FALSE; + gboolean result = FALSE; + gboolean _result_ = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 1175 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_SET_BACKGROUND_SLIDESHOW_DIALOG (self), FALSE); +#line 1176 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = set_background_dialog_execute_base (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)); +#line 1176 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = _tmp0_; +#line 1178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->delay_value; +#line 1178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_delay_value = _tmp1_; +#line 1179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)->desktop; +#line 1179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_desktop_background = _tmp2_; +#line 1180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)->screensaver; +#line 1180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_screensaver = _tmp3_; +#line 1182 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _result_; +#line 1182 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (delay_value) { +#line 1182 "/home/jens/Source/shotwell/src/Dialogs.vala" + *delay_value = _vala_delay_value; +#line 11545 "Dialogs.c" + } +#line 1182 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (desktop_background) { +#line 1182 "/home/jens/Source/shotwell/src/Dialogs.vala" + *desktop_background = _vala_desktop_background; +#line 11551 "Dialogs.c" + } +#line 1182 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (screensaver) { +#line 1182 "/home/jens/Source/shotwell/src/Dialogs.vala" + *screensaver = _vala_screensaver; +#line 11557 "Dialogs.c" + } +#line 1182 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 11561 "Dialogs.c" +} + + +static void set_background_slideshow_dialog_class_init (SetBackgroundSlideshowDialogClass * klass) { +#line 1131 "/home/jens/Source/shotwell/src/Dialogs.vala" + set_background_slideshow_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1131 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((SetBackgroundDialogClass *) klass)->finalize = set_background_slideshow_dialog_finalize; +#line 1131 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (SetBackgroundSlideshowDialogPrivate)); +#line 11572 "Dialogs.c" +} + + +static void set_background_slideshow_dialog_instance_init (SetBackgroundSlideshowDialog * self) { +#line 1131 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = SET_BACKGROUND_SLIDESHOW_DIALOG_GET_PRIVATE (self); +#line 1134 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->delay_value = 0; +#line 11581 "Dialogs.c" +} + + +static void set_background_slideshow_dialog_finalize (SetBackgroundDialog* obj) { + SetBackgroundSlideshowDialog * self; +#line 1131 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SET_BACKGROUND_SLIDESHOW_DIALOG, SetBackgroundSlideshowDialog); +#line 1132 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->delay_value_label); +#line 1133 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->delay_scale); +#line 1131 "/home/jens/Source/shotwell/src/Dialogs.vala" + SET_BACKGROUND_DIALOG_CLASS (set_background_slideshow_dialog_parent_class)->finalize (obj); +#line 11595 "Dialogs.c" +} + + +GType set_background_slideshow_dialog_get_type (void) { + static volatile gsize set_background_slideshow_dialog_type_id__volatile = 0; + if (g_once_init_enter (&set_background_slideshow_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SetBackgroundSlideshowDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) set_background_slideshow_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SetBackgroundSlideshowDialog), 0, (GInstanceInitFunc) set_background_slideshow_dialog_instance_init, NULL }; + GType set_background_slideshow_dialog_type_id; + set_background_slideshow_dialog_type_id = g_type_register_static (TYPE_SET_BACKGROUND_DIALOG, "SetBackgroundSlideshowDialog", &g_define_type_info, 0); + g_once_init_leave (&set_background_slideshow_dialog_type_id__volatile, set_background_slideshow_dialog_type_id); + } + return set_background_slideshow_dialog_type_id__volatile; +} + + +TextEntryDialog* text_entry_dialog_construct (GType object_type) { + TextEntryDialog * self = NULL; + gboolean use_header = FALSE; + GtkSettings* _tmp0_ = NULL; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 1198 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = gtk_settings_get_default (); +#line 1198 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), "gtk-dialogs-use-header", &use_header, NULL); +#line 1199 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = use_header; +#line 1199 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_) { +#line 1199 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = 1; +#line 11627 "Dialogs.c" + } else { +#line 1199 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = 0; +#line 11631 "Dialogs.c" + } +#line 1199 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (TextEntryDialog*) g_object_new (object_type, "use-header-bar", _tmp1_, NULL); +#line 1196 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 11637 "Dialogs.c" +} + + +TextEntryDialog* text_entry_dialog_new (void) { +#line 1196 "/home/jens/Source/shotwell/src/Dialogs.vala" + return text_entry_dialog_construct (TYPE_TEXT_ENTRY_DIALOG); +#line 11644 "Dialogs.c" +} + + +void text_entry_dialog_set_builder (TextEntryDialog* self, GtkBuilder* builder) { + GtkBuilder* _tmp0_ = NULL; + GtkBuilder* _tmp1_ = NULL; +#line 1202 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_TEXT_ENTRY_DIALOG (self)); +#line 1202 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GTK_IS_BUILDER (builder)); +#line 1203 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = builder; +#line 1203 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1203 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->builder); +#line 1203 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->builder = _tmp1_; +#line 11663 "Dialogs.c" +} + + +static void _text_entry_dialog_on_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 1220 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_on_entry_changed ((TextEntryDialog*) self); +#line 11670 "Dialogs.c" +} + + +void text_entry_dialog_setup (TextEntryDialog* self, TextEntryDialogOnModifyValidateType modify_validate, void* modify_validate_target, const gchar* title, const gchar* label, const gchar* initial_text, GeeCollection* completion_list, const gchar* completion_delimiter) { + const gchar* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + GdkWindow* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; + AppWindow* _tmp5_ = NULL; + TextEntryDialogOnModifyValidateType _tmp6_ = NULL; + void* _tmp6__target = NULL; + GtkLabel* name_label = NULL; + GtkBuilder* _tmp7_ = NULL; + GObject* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; + GtkLabel* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GtkBuilder* _tmp12_ = NULL; + GObject* _tmp13_ = NULL; + GtkEntry* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + GtkEntry* _tmp18_ = NULL; + GtkEntry* _tmp19_ = NULL; + GtkEntry* _tmp20_ = NULL; + GtkWidget* _tmp21_ = NULL; + GtkButtonBox* _tmp22_ = NULL; + GtkButtonBox* _tmp23_ = NULL; + GtkWidget* _tmp24_ = NULL; + GtkButton* _tmp25_ = NULL; + GtkWidget* _tmp26_ = NULL; + GtkButton* _tmp27_ = NULL; + GeeCollection* _tmp28_ = NULL; +#line 1206 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_TEXT_ENTRY_DIALOG (self)); +#line 1206 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (title != NULL); +#line 1206 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (label != NULL); +#line 1206 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail ((completion_list == NULL) || GEE_IS_COLLECTION (completion_list)); +#line 1208 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = title; +#line 1208 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp0_); +#line 1209 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 1210 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = app_window_get_instance (); +#line 1210 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_; +#line 1210 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_widget_get_parent_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 1210 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_parent_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp3_); +#line 1210 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp2_); +#line 1211 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = app_window_get_instance (); +#line 1211 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 1211 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_window_get_type (), GtkWindow)); +#line 1211 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp5_); +#line 1212 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = modify_validate; +#line 1212 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6__target = modify_validate_target; +#line 1212 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->on_modify_validate = _tmp6_; +#line 1212 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->on_modify_validate_target = _tmp6__target; +#line 1214 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->builder; +#line 1214 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = gtk_builder_get_object (_tmp7_, "label"); +#line 1214 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp8_) : NULL); +#line 1214 "/home/jens/Source/shotwell/src/Dialogs.vala" + name_label = _tmp9_; +#line 1215 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = name_label; +#line 1215 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = label; +#line 1215 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_text (_tmp10_, _tmp11_); +#line 1217 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = self->priv->builder; +#line 1217 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = gtk_builder_get_object (_tmp12_, "entry"); +#line 1217 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp13_) : NULL); +#line 1217 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->entry); +#line 1217 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->entry = _tmp14_; +#line 1218 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = initial_text; +#line 1218 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp16_ != NULL) { +#line 11773 "Dialogs.c" + const gchar* _tmp17_ = NULL; +#line 1218 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = initial_text; +#line 1218 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = _tmp17_; +#line 11779 "Dialogs.c" + } else { +#line 1218 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = ""; +#line 11783 "Dialogs.c" + } +#line 1218 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->entry; +#line 1218 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_text (_tmp18_, _tmp15_); +#line 1219 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = self->priv->entry; +#line 1219 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget)); +#line 1220 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = self->priv->entry; +#line 1220 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _text_entry_dialog_on_entry_changed_gtk_editable_changed, self, 0); +#line 1222 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = gtk_dialog_get_action_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 1222 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_button_box_get_type (), GtkButtonBox)); +#line 1222 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->action_area_box); +#line 1222 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->action_area_box = _tmp22_; +#line 1223 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = self->priv->action_area_box; +#line 1223 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_button_box_set_layout (_tmp23_, GTK_BUTTONBOX_END); +#line 1225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_CANCEL_LABEL, (gint) GTK_RESPONSE_CANCEL); +#line 1225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_button_get_type (), GtkButton)); +#line 1225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->button1); +#line 1225 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->button1 = _tmp25_; +#line 1226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_SAVE_LABEL, (gint) GTK_RESPONSE_OK); +#line 1226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_button_get_type (), GtkButton)); +#line 1226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->button2); +#line 1226 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->button2 = _tmp27_; +#line 1227 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_default_response (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK); +#line 1229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = completion_list; +#line 1229 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp28_ != NULL) { +#line 11831 "Dialogs.c" + EntryMultiCompletion* completion = NULL; + GeeCollection* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + EntryMultiCompletion* _tmp31_ = NULL; + GtkEntry* _tmp32_ = NULL; + EntryMultiCompletion* _tmp33_ = NULL; +#line 1230 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = completion_list; +#line 1230 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = completion_delimiter; +#line 1230 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = entry_multi_completion_new (_tmp29_, _tmp30_); +#line 1230 "/home/jens/Source/shotwell/src/Dialogs.vala" + completion = _tmp31_; +#line 1232 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = self->priv->entry; +#line 1232 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = completion; +#line 1232 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_completion (_tmp32_, G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_entry_completion_get_type (), GtkEntryCompletion)); +#line 1229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (completion); +#line 11854 "Dialogs.c" + } +#line 1235 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_default_response (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK); +#line 1236 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_has_resize_grip (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 1206 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (name_label); +#line 11862 "Dialogs.c" +} + + +gchar* text_entry_dialog_execute (TextEntryDialog* self) { + gchar* result = NULL; + gchar* text = NULL; + TextEntryDialogOnModifyValidateType _tmp0_ = NULL; + void* _tmp0__target = NULL; + GtkEntry* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gint _tmp4_ = 0; + GtkEntry* _tmp8_ = NULL; + guint _tmp9_ = 0U; +#line 1239 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_TEXT_ENTRY_DIALOG (self), NULL); +#line 1240 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = NULL; +#line 1243 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->on_modify_validate; +#line 1243 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0__target = self->priv->on_modify_validate_target; +#line 1243 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->entry; +#line 1243 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_entry_get_text (_tmp1_); +#line 1243 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp0_ (_tmp2_, _tmp0__target); +#line 1243 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_response_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK, _tmp3_); +#line 1245 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1247 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 1247 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp4_ == ((gint) GTK_RESPONSE_OK)) { +#line 11899 "Dialogs.c" + GtkEntry* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1248 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->entry; +#line 1248 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = gtk_entry_get_text (_tmp5_); +#line 1248 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 1248 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 1248 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp7_; +#line 11913 "Dialogs.c" + } +#line 1250 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->entry; +#line 1250 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_parse_name ("changed", GTK_TYPE_EDITABLE, &_tmp9_, NULL, FALSE); +#line 1250 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GTK_TYPE_EDITABLE, GtkEditable), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _text_entry_dialog_on_entry_changed_gtk_editable_changed, self); +#line 1251 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1253 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = text; +#line 1253 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 11927 "Dialogs.c" +} + + +void text_entry_dialog_on_entry_changed (TextEntryDialog* self) { + TextEntryDialogOnModifyValidateType _tmp0_ = NULL; + void* _tmp0__target = NULL; + GtkEntry* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_TEXT_ENTRY_DIALOG (self)); +#line 1257 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->on_modify_validate; +#line 1257 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0__target = self->priv->on_modify_validate_target; +#line 1257 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->entry; +#line 1257 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_entry_get_text (_tmp1_); +#line 1257 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp0_ (_tmp2_, _tmp0__target); +#line 1257 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_response_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK, _tmp3_); +#line 11951 "Dialogs.c" +} + + +static void text_entry_dialog_class_init (TextEntryDialogClass * klass) { +#line 1186 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_entry_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1186 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (TextEntryDialogPrivate)); +#line 1186 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (klass)->finalize = text_entry_dialog_finalize; +#line 11962 "Dialogs.c" +} + + +static void text_entry_dialog_instance_init (TextEntryDialog * self) { +#line 1186 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = TEXT_ENTRY_DIALOG_GET_PRIVATE (self); +#line 11969 "Dialogs.c" +} + + +static void text_entry_dialog_finalize (GObject* obj) { + TextEntryDialog * self; +#line 1186 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TEXT_ENTRY_DIALOG, TextEntryDialog); +#line 1190 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->entry); +#line 1191 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->builder); +#line 1192 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->button1); +#line 1193 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->button2); +#line 1194 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->action_area_box); +#line 1186 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (text_entry_dialog_parent_class)->finalize (obj); +#line 11989 "Dialogs.c" +} + + +GType text_entry_dialog_get_type (void) { + static volatile gsize text_entry_dialog_type_id__volatile = 0; + if (g_once_init_enter (&text_entry_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TextEntryDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) text_entry_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TextEntryDialog), 0, (GInstanceInitFunc) text_entry_dialog_instance_init, NULL }; + GType text_entry_dialog_type_id; + text_entry_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "TextEntryDialog", &g_define_type_info, 0); + g_once_init_leave (&text_entry_dialog_type_id__volatile, text_entry_dialog_type_id); + } + return text_entry_dialog_type_id__volatile; +} + + +MultiTextEntryDialog* multi_text_entry_dialog_construct (GType object_type) { + MultiTextEntryDialog * self = NULL; + gboolean use_header = FALSE; + GtkSettings* _tmp0_ = NULL; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 1273 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = gtk_settings_get_default (); +#line 1273 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), "gtk-dialogs-use-header", &use_header, NULL); +#line 1274 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = use_header; +#line 1274 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_) { +#line 1274 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = 1; +#line 12021 "Dialogs.c" + } else { +#line 1274 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = 0; +#line 12025 "Dialogs.c" + } +#line 1274 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (MultiTextEntryDialog*) g_object_new (object_type, "use-header-bar", _tmp1_, NULL); +#line 1271 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 12031 "Dialogs.c" +} + + +MultiTextEntryDialog* multi_text_entry_dialog_new (void) { +#line 1271 "/home/jens/Source/shotwell/src/Dialogs.vala" + return multi_text_entry_dialog_construct (TYPE_MULTI_TEXT_ENTRY_DIALOG); +#line 12038 "Dialogs.c" +} + + +void multi_text_entry_dialog_set_builder (MultiTextEntryDialog* self, GtkBuilder* builder) { + GtkBuilder* _tmp0_ = NULL; + GtkBuilder* _tmp1_ = NULL; +#line 1277 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_MULTI_TEXT_ENTRY_DIALOG (self)); +#line 1277 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GTK_IS_BUILDER (builder)); +#line 1278 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = builder; +#line 1278 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1278 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->builder); +#line 1278 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->builder = _tmp1_; +#line 12057 "Dialogs.c" +} + + +void multi_text_entry_dialog_setup (MultiTextEntryDialog* self, MultiTextEntryDialogOnModifyValidateType modify_validate, void* modify_validate_target, const gchar* title, const gchar* label, const gchar* initial_text) { + const gchar* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + GdkWindow* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; + AppWindow* _tmp5_ = NULL; + MultiTextEntryDialogOnModifyValidateType _tmp6_ = NULL; + void* _tmp6__target = NULL; + GtkBuilder* _tmp7_ = NULL; + GObject* _tmp8_ = NULL; + GtkTextView* _tmp9_ = NULL; + GtkTextView* _tmp10_ = NULL; + GtkTextView* _tmp11_ = NULL; + GtkTextBuffer* _tmp12_ = NULL; + GtkTextBuffer* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GtkTextView* _tmp17_ = NULL; + GtkTextBuffer* _tmp18_ = NULL; + GtkTextBuffer* _tmp19_ = NULL; + GtkTextView* _tmp20_ = NULL; + GtkWidget* _tmp21_ = NULL; + GtkButtonBox* _tmp22_ = NULL; + GtkButtonBox* _tmp23_ = NULL; + GtkWidget* _tmp24_ = NULL; + GtkButton* _tmp25_ = NULL; + GtkWidget* _tmp26_ = NULL; + GtkButton* _tmp27_ = NULL; +#line 1281 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_MULTI_TEXT_ENTRY_DIALOG (self)); +#line 1281 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (title != NULL); +#line 1281 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (label != NULL); +#line 1282 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = title; +#line 1282 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp0_); +#line 1283 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 1284 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_default_size (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), 500, 300); +#line 1285 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = app_window_get_instance (); +#line 1285 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_; +#line 1285 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_widget_get_parent_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 1285 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_parent_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp3_); +#line 1285 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp2_); +#line 1286 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = app_window_get_instance (); +#line 1286 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 1286 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_window_get_type (), GtkWindow)); +#line 1286 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp5_); +#line 1287 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = modify_validate; +#line 1287 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6__target = modify_validate_target; +#line 1287 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->on_modify_validate = _tmp6_; +#line 1287 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->on_modify_validate_target = _tmp6__target; +#line 1289 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->builder; +#line 1289 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = gtk_builder_get_object (_tmp7_, "textview1"); +#line 1289 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_text_view_get_type ()) ? ((GtkTextView*) _tmp8_) : NULL); +#line 1289 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->entry); +#line 1289 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->entry = _tmp9_; +#line 1290 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->priv->entry; +#line 1290 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_text_view_set_wrap_mode (_tmp10_, GTK_WRAP_WORD); +#line 1291 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->entry; +#line 1291 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = gtk_text_buffer_new (NULL); +#line 1291 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp12_; +#line 1291 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_text_view_set_buffer (_tmp11_, _tmp13_); +#line 1291 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp13_); +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = initial_text; +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp15_ != NULL) { +#line 12158 "Dialogs.c" + const gchar* _tmp16_ = NULL; +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = initial_text; +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp16_; +#line 12164 "Dialogs.c" + } else { +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = ""; +#line 12168 "Dialogs.c" + } +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->priv->entry; +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = gtk_text_view_get_buffer (_tmp17_); +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp18_; +#line 1292 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_set (_tmp19_, "text", _tmp14_, NULL); +#line 1294 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = self->priv->entry; +#line 1294 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget)); +#line 1296 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = gtk_dialog_get_action_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 1296 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_button_box_get_type (), GtkButtonBox)); +#line 1296 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->action_area_box); +#line 1296 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->action_area_box = _tmp22_; +#line 1297 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = self->priv->action_area_box; +#line 1297 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_button_box_set_layout (_tmp23_, GTK_BUTTONBOX_END); +#line 1299 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_CANCEL_LABEL, (gint) GTK_RESPONSE_CANCEL); +#line 1299 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_button_get_type (), GtkButton)); +#line 1299 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->button1); +#line 1299 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->button1 = _tmp25_; +#line 1300 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_SAVE_LABEL, (gint) GTK_RESPONSE_OK); +#line 1300 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_button_get_type (), GtkButton)); +#line 1300 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->button2); +#line 1300 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->button2 = _tmp27_; +#line 1301 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_default_response (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK); +#line 1303 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_has_resize_grip (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 12214 "Dialogs.c" +} + + +gchar* multi_text_entry_dialog_execute (MultiTextEntryDialog* self) { + gchar* result = NULL; + gchar* text = NULL; + gint _tmp0_ = 0; +#line 1306 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_MULTI_TEXT_ENTRY_DIALOG (self), NULL); +#line 1307 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = NULL; +#line 1309 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1311 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 1311 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == ((gint) GTK_RESPONSE_OK)) { +#line 12232 "Dialogs.c" + GtkTextView* _tmp1_ = NULL; + GtkTextBuffer* _tmp2_ = NULL; + GtkTextBuffer* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->entry; +#line 1312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_text_view_get_buffer (_tmp1_); +#line 1312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 1312 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_get (_tmp3_, "text", &_tmp4_, NULL); +#line 1312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 1312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 1312 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp5_; +#line 12252 "Dialogs.c" + } +#line 1314 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1316 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = text; +#line 1316 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12260 "Dialogs.c" +} + + +static void multi_text_entry_dialog_class_init (MultiTextEntryDialogClass * klass) { +#line 1261 "/home/jens/Source/shotwell/src/Dialogs.vala" + multi_text_entry_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1261 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (MultiTextEntryDialogPrivate)); +#line 1261 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (klass)->finalize = multi_text_entry_dialog_finalize; +#line 12271 "Dialogs.c" +} + + +static void multi_text_entry_dialog_instance_init (MultiTextEntryDialog * self) { +#line 1261 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = MULTI_TEXT_ENTRY_DIALOG_GET_PRIVATE (self); +#line 12278 "Dialogs.c" +} + + +static void multi_text_entry_dialog_finalize (GObject* obj) { + MultiTextEntryDialog * self; +#line 1261 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MULTI_TEXT_ENTRY_DIALOG, MultiTextEntryDialog); +#line 1265 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->entry); +#line 1266 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->builder); +#line 1267 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->button1); +#line 1268 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->button2); +#line 1269 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->action_area_box); +#line 1261 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (multi_text_entry_dialog_parent_class)->finalize (obj); +#line 12298 "Dialogs.c" +} + + +GType multi_text_entry_dialog_get_type (void) { + static volatile gsize multi_text_entry_dialog_type_id__volatile = 0; + if (g_once_init_enter (&multi_text_entry_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MultiTextEntryDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) multi_text_entry_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MultiTextEntryDialog), 0, (GInstanceInitFunc) multi_text_entry_dialog_instance_init, NULL }; + GType multi_text_entry_dialog_type_id; + multi_text_entry_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "MultiTextEntryDialog", &g_define_type_info, 0); + g_once_init_leave (&multi_text_entry_dialog_type_id__volatile, multi_text_entry_dialog_type_id); + } + return multi_text_entry_dialog_type_id__volatile; +} + + +EventRenameDialog* event_rename_dialog_construct (GType object_type, const gchar* event_name) { + EventRenameDialog* self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1322 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _ ("Rename Event"); +#line 1322 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _ ("Name:"); +#line 1322 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = event_name; +#line 1322 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (EventRenameDialog*) text_entry_dialog_mediator_construct (object_type, _tmp0_, _tmp1_, _tmp2_, NULL, NULL); +#line 1321 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 12329 "Dialogs.c" +} + + +EventRenameDialog* event_rename_dialog_new (const gchar* event_name) { +#line 1321 "/home/jens/Source/shotwell/src/Dialogs.vala" + return event_rename_dialog_construct (TYPE_EVENT_RENAME_DIALOG, event_name); +#line 12336 "Dialogs.c" +} + + +static gchar* event_rename_dialog_real_execute (EventRenameDialog* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _text_entry_dialog_mediator_execute (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)); +#line 1326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 1326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = event_prep_event_name (_tmp1_); +#line 1326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 1326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp1_); +#line 1326 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp3_; +#line 1326 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12360 "Dialogs.c" +} + + +gchar* event_rename_dialog_execute (EventRenameDialog* self) { +#line 1325 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_EVENT_RENAME_DIALOG (self), NULL); +#line 1325 "/home/jens/Source/shotwell/src/Dialogs.vala" + return EVENT_RENAME_DIALOG_GET_CLASS (self)->execute (self); +#line 12369 "Dialogs.c" +} + + +static void event_rename_dialog_class_init (EventRenameDialogClass * klass) { +#line 1320 "/home/jens/Source/shotwell/src/Dialogs.vala" + event_rename_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1320 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((EventRenameDialogClass *) klass)->execute = event_rename_dialog_real_execute; +#line 12378 "Dialogs.c" +} + + +static void event_rename_dialog_instance_init (EventRenameDialog * self) { +} + + +GType event_rename_dialog_get_type (void) { + static volatile gsize event_rename_dialog_type_id__volatile = 0; + if (g_once_init_enter (&event_rename_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventRenameDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_rename_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventRenameDialog), 0, (GInstanceInitFunc) event_rename_dialog_instance_init, NULL }; + GType event_rename_dialog_type_id; + event_rename_dialog_type_id = g_type_register_static (TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, "EventRenameDialog", &g_define_type_info, 0); + g_once_init_leave (&event_rename_dialog_type_id__volatile, event_rename_dialog_type_id); + } + return event_rename_dialog_type_id__volatile; +} + + +EditTitleDialog* edit_title_dialog_construct (GType object_type, const gchar* photo_title) { + EditTitleDialog* self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1333 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = C_ ("Dialog Title", "Edit Title"); +#line 1333 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _ ("Title:"); +#line 1333 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = photo_title; +#line 1333 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (EditTitleDialog*) text_entry_dialog_mediator_construct (object_type, _tmp0_, _tmp1_, _tmp2_, NULL, NULL); +#line 1331 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 12413 "Dialogs.c" +} + + +EditTitleDialog* edit_title_dialog_new (const gchar* photo_title) { +#line 1331 "/home/jens/Source/shotwell/src/Dialogs.vala" + return edit_title_dialog_construct (TYPE_EDIT_TITLE_DIALOG, photo_title); +#line 12420 "Dialogs.c" +} + + +static gchar* edit_title_dialog_real_execute (EditTitleDialog* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _text_entry_dialog_mediator_execute (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)); +#line 1338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 1338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = media_source_prep_title (_tmp1_); +#line 1338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 1338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp1_); +#line 1338 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp3_; +#line 1338 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12444 "Dialogs.c" +} + + +gchar* edit_title_dialog_execute (EditTitleDialog* self) { +#line 1337 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_EDIT_TITLE_DIALOG (self), NULL); +#line 1337 "/home/jens/Source/shotwell/src/Dialogs.vala" + return EDIT_TITLE_DIALOG_GET_CLASS (self)->execute (self); +#line 12453 "Dialogs.c" +} + + +static gboolean edit_title_dialog_real_on_modify_validate (TextEntryDialogMediator* base, const gchar* text) { + EditTitleDialog * self; + gboolean result = FALSE; +#line 1341 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_TITLE_DIALOG, EditTitleDialog); +#line 1341 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (text != NULL, FALSE); +#line 1342 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 1342 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12468 "Dialogs.c" +} + + +static void edit_title_dialog_class_init (EditTitleDialogClass * klass) { +#line 1330 "/home/jens/Source/shotwell/src/Dialogs.vala" + edit_title_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1330 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((EditTitleDialogClass *) klass)->execute = edit_title_dialog_real_execute; +#line 1330 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((TextEntryDialogMediatorClass *) klass)->on_modify_validate = edit_title_dialog_real_on_modify_validate; +#line 12479 "Dialogs.c" +} + + +static void edit_title_dialog_instance_init (EditTitleDialog * self) { +} + + +GType edit_title_dialog_get_type (void) { + static volatile gsize edit_title_dialog_type_id__volatile = 0; + if (g_once_init_enter (&edit_title_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditTitleDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edit_title_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditTitleDialog), 0, (GInstanceInitFunc) edit_title_dialog_instance_init, NULL }; + GType edit_title_dialog_type_id; + edit_title_dialog_type_id = g_type_register_static (TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, "EditTitleDialog", &g_define_type_info, 0); + g_once_init_leave (&edit_title_dialog_type_id__volatile, edit_title_dialog_type_id); + } + return edit_title_dialog_type_id__volatile; +} + + +EditCommentDialog* edit_comment_dialog_construct (GType object_type, const gchar* comment, gboolean is_event) { + EditCommentDialog* self = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gchar* title_tmp = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 1348 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = is_event; +#line 1348 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_) { +#line 12511 "Dialogs.c" + const gchar* _tmp2_ = NULL; +#line 1350 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _ ("Edit Event Comment"); +#line 1350 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp2_; +#line 12517 "Dialogs.c" + } else { + const gchar* _tmp3_ = NULL; +#line 1351 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _ ("Edit Photo/Video Comment"); +#line 1351 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp3_; +#line 12524 "Dialogs.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = g_strdup (_tmp0_); +#line 1348 "/home/jens/Source/shotwell/src/Dialogs.vala" + title_tmp = _tmp4_; +#line 1352 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _ ("Comment:"); +#line 1352 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = comment; +#line 1352 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (EditCommentDialog*) multi_text_entry_dialog_mediator_construct (object_type, title_tmp, _tmp5_, _tmp6_); +#line 1347 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (title_tmp); +#line 1347 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 12540 "Dialogs.c" +} + + +EditCommentDialog* edit_comment_dialog_new (const gchar* comment, gboolean is_event) { +#line 1347 "/home/jens/Source/shotwell/src/Dialogs.vala" + return edit_comment_dialog_construct (TYPE_EDIT_COMMENT_DIALOG, comment, is_event); +#line 12547 "Dialogs.c" +} + + +static gchar* edit_comment_dialog_real_execute (EditCommentDialog* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1356 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _multi_text_entry_dialog_mediator_execute (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator)); +#line 1356 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 1356 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = media_source_prep_comment (_tmp1_); +#line 1356 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 1356 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp1_); +#line 1356 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp3_; +#line 1356 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12571 "Dialogs.c" +} + + +gchar* edit_comment_dialog_execute (EditCommentDialog* self) { +#line 1355 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_EDIT_COMMENT_DIALOG (self), NULL); +#line 1355 "/home/jens/Source/shotwell/src/Dialogs.vala" + return EDIT_COMMENT_DIALOG_GET_CLASS (self)->execute (self); +#line 12580 "Dialogs.c" +} + + +static gboolean edit_comment_dialog_real_on_modify_validate (MultiTextEntryDialogMediator* base, const gchar* text) { + EditCommentDialog * self; + gboolean result = FALSE; +#line 1359 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDIT_COMMENT_DIALOG, EditCommentDialog); +#line 1359 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (text != NULL, FALSE); +#line 1360 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 1360 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12595 "Dialogs.c" +} + + +static void edit_comment_dialog_class_init (EditCommentDialogClass * klass) { +#line 1346 "/home/jens/Source/shotwell/src/Dialogs.vala" + edit_comment_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1346 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((EditCommentDialogClass *) klass)->execute = edit_comment_dialog_real_execute; +#line 1346 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((MultiTextEntryDialogMediatorClass *) klass)->on_modify_validate = edit_comment_dialog_real_on_modify_validate; +#line 12606 "Dialogs.c" +} + + +static void edit_comment_dialog_instance_init (EditCommentDialog * self) { +} + + +GType edit_comment_dialog_get_type (void) { + static volatile gsize edit_comment_dialog_type_id__volatile = 0; + if (g_once_init_enter (&edit_comment_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditCommentDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) edit_comment_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditCommentDialog), 0, (GInstanceInitFunc) edit_comment_dialog_instance_init, NULL }; + GType edit_comment_dialog_type_id; + edit_comment_dialog_type_id = g_type_register_static (TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, "EditCommentDialog", &g_define_type_info, 0); + g_once_init_leave (&edit_comment_dialog_type_id__volatile, edit_comment_dialog_type_id); + } + return edit_comment_dialog_type_id__volatile; +} + + +GtkResponseType remove_from_library_dialog (GtkWindow* owner, const gchar* title, const gchar* user_message, gint count) { + GtkResponseType result = 0; + gchar* trash_action = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GtkMessageDialog* dialog = NULL; + GtkWindow* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkMessageDialog* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GtkResponseType _result_ = 0; + gint _tmp11_ = 0; +#line 1366 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_WINDOW (owner), 0); +#line 1366 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (title != NULL, 0); +#line 1366 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (user_message != NULL, 0); +#line 1368 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = count; +#line 1368 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = ngettext ("Remove and _Trash File", "Remove and _Trash Files", (gulong) _tmp0_); +#line 1368 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 1368 "/home/jens/Source/shotwell/src/Dialogs.vala" + trash_action = _tmp2_; +#line 1370 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = owner; +#line 1370 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = user_message; +#line 1370 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = (GtkMessageDialog*) gtk_message_dialog_new (_tmp3_, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_CANCEL, "%s", _tmp4_); +#line 1370 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp5_); +#line 1370 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp5_; +#line 1372 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _ ("_Remove From Library"); +#line 1372 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), _tmp6_, (gint) GTK_RESPONSE_NO); +#line 1373 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), trash_action, (gint) GTK_RESPONSE_YES); +#line 1378 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = title; +#line 1378 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = user_message; +#line 1378 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = build_alert_body_text (_tmp7_, _tmp8_, TRUE); +#line 1378 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 1378 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_message_dialog_set_markup (dialog, _tmp10_); +#line 1378 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp10_); +#line 1380 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog)); +#line 1380 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (GtkResponseType) _tmp11_; +#line 1382 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_widget_get_type (), GtkWidget)); +#line 1384 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _result_; +#line 1384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 1384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (trash_action); +#line 1384 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12699 "Dialogs.c" +} + + +GtkResponseType remove_from_filesystem_dialog (GtkWindow* owner, const gchar* title, const gchar* user_message) { + GtkResponseType result = 0; + GtkMessageDialog* dialog = NULL; + GtkWindow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkMessageDialog* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GtkResponseType _result_ = 0; + gint _tmp9_ = 0; +#line 1388 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_WINDOW (owner), 0); +#line 1388 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (title != NULL, 0); +#line 1388 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (user_message != NULL, 0); +#line 1390 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = owner; +#line 1390 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = user_message; +#line 1390 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = (GtkMessageDialog*) gtk_message_dialog_new (_tmp0_, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s", _tmp1_); +#line 1390 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp2_); +#line 1390 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp2_; +#line 1392 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _ ("_Keep"); +#line 1392 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), _tmp3_, (gint) GTK_RESPONSE_NO); +#line 1393 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _ ("_Delete"); +#line 1393 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), _tmp4_, (gint) GTK_RESPONSE_YES); +#line 1394 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_default_response (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_NO); +#line 1396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = title; +#line 1396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = user_message; +#line 1396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = build_alert_body_text (_tmp5_, _tmp6_, TRUE); +#line 1396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 1396 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_message_dialog_set_markup (dialog, _tmp8_); +#line 1396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp8_); +#line 1398 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog)); +#line 1398 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (GtkResponseType) _tmp9_; +#line 1400 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_widget_get_type (), GtkWidget)); +#line 1402 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _result_; +#line 1402 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 1402 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12767 "Dialogs.c" +} + + +gboolean revert_editable_dialog (GtkWindow* owner, GeeCollection* photos) { + gboolean result = FALSE; + gint count = 0; + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + gint _tmp11_ = 0; + gchar* headline = NULL; + gchar* _tmp14_ = NULL; + gchar* msg = NULL; + gint _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + gint _tmp17_ = 0; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gint _tmp20_ = 0; + gchar* action = NULL; + gchar* _tmp23_ = NULL; + GtkMessageDialog* dialog = NULL; + GtkWindow* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GtkMessageDialog* _tmp26_ = NULL; + GtkMessageDialog* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GtkMessageDialog* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + GtkMessageDialog* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + GtkResponseType _result_ = 0; + GtkMessageDialog* _tmp36_ = NULL; + gint _tmp37_ = 0; + GtkMessageDialog* _tmp38_ = NULL; + GtkResponseType _tmp39_ = 0; +#line 1405 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_WINDOW (owner), FALSE); +#line 1405 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (photos), FALSE); +#line 1406 "/home/jens/Source/shotwell/src/Dialogs.vala" + count = 0; +#line 12812 "Dialogs.c" + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = photos; +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _photo_it = _tmp1_; +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 12825 "Dialogs.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _photo_it; +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp3_) { +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 12841 "Dialogs.c" + } +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _photo_it; +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + photo = (Photo*) _tmp5_; +#line 1408 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = photo; +#line 1408 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = photo_has_editable (_tmp6_); +#line 1408 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp7_) { +#line 12855 "Dialogs.c" + gint _tmp8_ = 0; +#line 1409 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = count; +#line 1409 "/home/jens/Source/shotwell/src/Dialogs.vala" + count = _tmp8_ + 1; +#line 12861 "Dialogs.c" + } +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (photo); +#line 12865 "Dialogs.c" + } +#line 1407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_photo_it); +#line 12869 "Dialogs.c" + } +#line 1412 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = count; +#line 1412 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp9_ == 0) { +#line 1413 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 1413 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12879 "Dialogs.c" + } +#line 1415 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = count; +#line 1415 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp11_ == 1) { +#line 12885 "Dialogs.c" + const gchar* _tmp12_ = NULL; +#line 1415 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _ ("Revert External Edit?"); +#line 1415 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp12_; +#line 12891 "Dialogs.c" + } else { + const gchar* _tmp13_ = NULL; +#line 1415 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _ ("Revert External Edits?"); +#line 1415 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp13_; +#line 12898 "Dialogs.c" + } +#line 1415 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = g_strdup (_tmp10_); +#line 1415 "/home/jens/Source/shotwell/src/Dialogs.vala" + headline = _tmp14_; +#line 1416 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = count; +#line 1416 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = ngettext ("This will destroy all changes made to the external file. Continue?", "This will destroy all changes made to %d external files. Continue?", (gulong) _tmp15_); +#line 1416 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = count; +#line 1416 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = g_strdup_printf (_tmp16_, _tmp17_); +#line 1416 "/home/jens/Source/shotwell/src/Dialogs.vala" + msg = _tmp18_; +#line 1421 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = count; +#line 1421 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp20_ == 1) { +#line 12918 "Dialogs.c" + const gchar* _tmp21_ = NULL; +#line 1421 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = _ ("Re_vert External Edit"); +#line 1421 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp21_; +#line 12924 "Dialogs.c" + } else { + const gchar* _tmp22_ = NULL; +#line 1421 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _ ("Re_vert External Edits"); +#line 1421 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp22_; +#line 12931 "Dialogs.c" + } +#line 1421 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = g_strdup (_tmp19_); +#line 1421 "/home/jens/Source/shotwell/src/Dialogs.vala" + action = _tmp23_; +#line 1423 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = owner; +#line 1423 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = msg; +#line 1423 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = (GtkMessageDialog*) gtk_message_dialog_new (_tmp24_, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", _tmp25_); +#line 1423 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp26_); +#line 1423 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp26_; +#line 1425 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = dialog; +#line 1425 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = _ ("_Cancel"); +#line 1425 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_dialog_get_type (), GtkDialog), _tmp28_, (gint) GTK_RESPONSE_CANCEL); +#line 1426 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = dialog; +#line 1426 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = action; +#line 1426 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_dialog_get_type (), GtkDialog), _tmp30_, (gint) GTK_RESPONSE_YES); +#line 1428 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = dialog; +#line 1428 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = headline; +#line 1428 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = msg; +#line 1428 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = build_alert_body_text (_tmp32_, _tmp33_, TRUE); +#line 1428 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = _tmp34_; +#line 1428 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_message_dialog_set_markup (_tmp31_, _tmp35_); +#line 1428 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp35_); +#line 1430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = dialog; +#line 1430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_dialog_get_type (), GtkDialog)); +#line 1430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (GtkResponseType) _tmp37_; +#line 1432 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = dialog; +#line 1432 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget)); +#line 1434 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = _result_; +#line 1434 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp39_ == GTK_RESPONSE_YES; +#line 1434 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 1434 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (action); +#line 1434 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (msg); +#line 1434 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (headline); +#line 1434 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 12997 "Dialogs.c" +} + + +gboolean remove_offline_dialog (GtkWindow* owner, gint count) { + gboolean result = FALSE; + gint _tmp0_ = 0; + gchar* msg = NULL; + gint _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; + GtkMessageDialog* dialog = NULL; + GtkWindow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkMessageDialog* _tmp7_ = NULL; + GtkMessageDialog* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GtkMessageDialog* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + GtkMessageDialog* _tmp16_ = NULL; + GtkResponseType _result_ = 0; + GtkMessageDialog* _tmp17_ = NULL; + gint _tmp18_ = 0; + GtkMessageDialog* _tmp19_ = NULL; + GtkResponseType _tmp20_ = 0; +#line 1437 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_WINDOW (owner), FALSE); +#line 1438 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = count; +#line 1438 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == 0) { +#line 1439 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 1439 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 13035 "Dialogs.c" + } +#line 1441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = count; +#line 1441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = ngettext ("This will remove the photo from the library. Continue?", "This will remove %d photos from the library. Continue?", (gulong) _tmp1_); +#line 1441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = count; +#line 1441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = g_strdup_printf (_tmp2_, _tmp3_); +#line 1441 "/home/jens/Source/shotwell/src/Dialogs.vala" + msg = _tmp4_; +#line 1446 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = owner; +#line 1446 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = msg; +#line 1446 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = (GtkMessageDialog*) gtk_message_dialog_new (_tmp5_, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", _tmp6_); +#line 1446 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp7_); +#line 1446 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp7_; +#line 1448 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = dialog; +#line 1448 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _ ("_Cancel"); +#line 1448 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_dialog_get_type (), GtkDialog), _tmp9_, (gint) GTK_RESPONSE_CANCEL); +#line 1449 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = dialog; +#line 1449 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _ ("_Remove"); +#line 1449 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_dialog_get_type (), GtkDialog), _tmp11_, (gint) GTK_RESPONSE_OK); +#line 1450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = count; +#line 1450 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp13_ == 1) { +#line 13073 "Dialogs.c" + const gchar* _tmp14_ = NULL; +#line 1450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _ ("Remove Photo From Library"); +#line 1450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp14_; +#line 13079 "Dialogs.c" + } else { + const gchar* _tmp15_ = NULL; +#line 1450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = _ ("Remove Photos From Library"); +#line 1450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp15_; +#line 13086 "Dialogs.c" + } +#line 1450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = dialog; +#line 1450 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_window_get_type (), GtkWindow), _tmp12_); +#line 1452 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = dialog; +#line 1452 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_dialog_get_type (), GtkDialog)); +#line 1452 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (GtkResponseType) _tmp18_; +#line 1454 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = dialog; +#line 1454 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget)); +#line 1456 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = _result_; +#line 1456 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp20_ == GTK_RESPONSE_OK; +#line 1456 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 1456 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (msg); +#line 1456 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 13112 "Dialogs.c" +} + + +static void _progress_dialog_on_cancel_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1489 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress_dialog_on_cancel ((ProgressDialog*) self); +#line 13119 "Dialogs.c" +} + + +static gboolean _progress_dialog_on_window_closed_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) { + gboolean result; + result = progress_dialog_on_window_closed ((ProgressDialog*) self); +#line 1490 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 13128 "Dialogs.c" +} + + +ProgressDialog* progress_dialog_construct (GType object_type, GtkWindow* owner, const gchar* text, GCancellable* cancellable) { + ProgressDialog * self = NULL; + GCancellable* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GtkWindow* _tmp3_ = NULL; + GtkProgressBar* _tmp5_ = NULL; + GtkProgressBar* _tmp6_ = NULL; + GtkBox* vbox_bar = NULL; + GtkBox* _tmp7_ = NULL; + GtkBox* _tmp8_ = NULL; + GtkProgressBar* _tmp9_ = NULL; + GCancellable* _tmp10_ = NULL; + GtkBox* hbox = NULL; + GtkBox* _tmp13_ = NULL; + GtkBox* _tmp14_ = NULL; + GtkBox* _tmp15_ = NULL; + GtkButton* _tmp16_ = NULL; + GtkLabel* primary_text_label = NULL; + GtkLabel* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + GtkBox* vbox = NULL; + GtkBox* _tmp23_ = NULL; + GtkBox* _tmp24_ = NULL; + GtkAlignment* alignment = NULL; + GtkAlignment* _tmp25_ = NULL; + gulong _tmp26_ = 0UL; +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail ((owner == NULL) || GTK_IS_WINDOW (owner), NULL); +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (text != NULL, NULL); +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), NULL); +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (ProgressDialog*) g_object_new (object_type, NULL); +#line 1472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = cancellable; +#line 1472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1472 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->cancellable); +#line 1472 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->cancellable = _tmp1_; +#line 1474 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = text; +#line 1474 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp2_); +#line 1475 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 1476 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = owner; +#line 1476 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp3_ != NULL) { +#line 13187 "Dialogs.c" + GtkWindow* _tmp4_ = NULL; +#line 1477 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = owner; +#line 1477 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp4_); +#line 13193 "Dialogs.c" + } +#line 1478 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_modal (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 1479 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_type_hint (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), GDK_WINDOW_TYPE_HINT_DIALOG); +#line 1481 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->progress_bar; +#line 1481 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), 300, -1); +#line 1482 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->progress_bar; +#line 1482 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_progress_bar_set_show_text (_tmp6_, TRUE); +#line 1484 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 1484 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp7_); +#line 1484 "/home/jens/Source/shotwell/src/Dialogs.vala" + vbox_bar = _tmp7_; +#line 1485 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = vbox_bar; +#line 1485 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->progress_bar; +#line 1485 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1487 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = cancellable; +#line 1487 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp10_ != NULL) { +#line 13223 "Dialogs.c" + GtkButton* _tmp11_ = NULL; + GtkButton* _tmp12_ = NULL; +#line 1488 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = (GtkButton*) gtk_button_new_with_mnemonic (RESOURCES_CANCEL_LABEL); +#line 1488 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp11_); +#line 1488 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->cancel_button); +#line 1488 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->cancel_button = _tmp11_; +#line 1489 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = self->priv->cancel_button; +#line 1489 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp12_, "clicked", (GCallback) _progress_dialog_on_cancel_gtk_button_clicked, self, 0); +#line 1490 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "delete-event", (GCallback) _progress_dialog_on_window_closed_gtk_widget_delete_event, self, 0); +#line 13240 "Dialogs.c" + } +#line 1493 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); +#line 1493 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp13_); +#line 1493 "/home/jens/Source/shotwell/src/Dialogs.vala" + hbox = _tmp13_; +#line 1494 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = hbox; +#line 1494 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = vbox_bar; +#line 1494 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1495 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->priv->cancel_button; +#line 1495 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp16_ != NULL) { +#line 13258 "Dialogs.c" + GtkBox* _tmp17_ = NULL; + GtkButton* _tmp18_ = NULL; +#line 1496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = hbox; +#line 1496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->cancel_button; +#line 1496 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_end (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 13267 "Dialogs.c" + } +#line 1498 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = (GtkLabel*) gtk_label_new (""); +#line 1498 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp19_); +#line 1498 "/home/jens/Source/shotwell/src/Dialogs.vala" + primary_text_label = _tmp19_; +#line 1499 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = text; +#line 1499 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = g_strdup_printf ("%s", _tmp20_); +#line 1499 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _tmp21_; +#line 1499 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_markup (primary_text_label, _tmp22_); +#line 1499 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp22_); +#line 1500 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (primary_text_label, gtk_misc_get_type (), GtkMisc), (gfloat) 0, 0.5f); +#line 1502 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); +#line 1502 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp23_); +#line 1502 "/home/jens/Source/shotwell/src/Dialogs.vala" + vbox = _tmp23_; +#line 1503 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (vbox, G_TYPE_CHECK_INSTANCE_CAST (primary_text_label, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1504 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = hbox; +#line 1504 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (vbox, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = (GtkAlignment*) gtk_alignment_new (0.5f, 0.5f, 1.0f, 1.0f); +#line 1506 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp25_); +#line 1506 "/home/jens/Source/shotwell/src/Dialogs.vala" + alignment = _tmp25_; +#line 1507 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_alignment_set_padding (alignment, (guint) 12, (guint) 12, (guint) 12, (guint) 12); +#line 1508 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (alignment, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (vbox, gtk_widget_get_type (), GtkWidget)); +#line 1510 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (alignment, gtk_widget_get_type (), GtkWidget)); +#line 1512 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = now_ms (); +#line 1512 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->time_started = _tmp26_; +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (alignment); +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (vbox); +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (primary_text_label); +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (hbox); +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (vbox_bar); +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 13327 "Dialogs.c" +} + + +ProgressDialog* progress_dialog_new (GtkWindow* owner, const gchar* text, GCancellable* cancellable) { +#line 1471 "/home/jens/Source/shotwell/src/Dialogs.vala" + return progress_dialog_construct (TYPE_PROGRESS_DIALOG, owner, text, cancellable); +#line 13334 "Dialogs.c" +} + + +static void progress_dialog_real_realize (GtkWidget* base) { + ProgressDialog * self; + GCancellable* _tmp0_ = NULL; +#line 1515 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PROGRESS_DIALOG, ProgressDialog); +#line 1516 "/home/jens/Source/shotwell/src/Dialogs.vala" + GTK_WIDGET_CLASS (progress_dialog_parent_class)->realize (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget)); +#line 1519 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->cancellable; +#line 1519 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == NULL) { +#line 13349 "Dialogs.c" + GdkWindow* _tmp1_ = NULL; +#line 1520 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1520 "/home/jens/Source/shotwell/src/Dialogs.vala" + gdk_window_set_functions (_tmp1_, GDK_FUNC_MOVE); +#line 13355 "Dialogs.c" + } +} + + +void progress_dialog_update_display_every (ProgressDialog* self, gint update_every) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 1523 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PROGRESS_DIALOG (self)); +#line 1524 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = update_every; +#line 1524 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_assert (_tmp0_ >= 1, "update_every >= 1"); +#line 1526 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = update_every; +#line 1526 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->update_every = _tmp1_; +#line 13373 "Dialogs.c" +} + + +void progress_dialog_set_minimum_on_screen_time_msec (ProgressDialog* self, gint minimum_on_screen_time_msec) { + gint _tmp0_ = 0; +#line 1529 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PROGRESS_DIALOG (self)); +#line 1530 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = minimum_on_screen_time_msec; +#line 1530 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->minimum_on_screen_time_msec = _tmp0_; +#line 13385 "Dialogs.c" +} + + +void progress_dialog_set_fraction (ProgressDialog* self, gint current, gint total) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 1533 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PROGRESS_DIALOG (self)); +#line 1534 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = current; +#line 1534 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = total; +#line 1534 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress_dialog_set_percentage (self, ((gdouble) _tmp0_) / ((gdouble) _tmp1_)); +#line 13400 "Dialogs.c" +} + + +void progress_dialog_set_percentage (ProgressDialog* self, gdouble pct) { + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + GtkProgressBar* _tmp3_ = NULL; + gdouble _tmp4_ = 0.0; + GtkProgressBar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1537 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PROGRESS_DIALOG (self)); +#line 1538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = pct; +#line 1538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = CLAMP (_tmp0_, 0.0, 1.0); +#line 1538 "/home/jens/Source/shotwell/src/Dialogs.vala" + pct = _tmp1_; +#line 1540 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = pct; +#line 1540 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress_dialog_maybe_show_all (self, _tmp2_); +#line 1542 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->progress_bar; +#line 1542 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = pct; +#line 1542 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_progress_bar_set_fraction (_tmp3_, _tmp4_); +#line 1543 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->progress_bar; +#line 1543 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _ ("%d%%"); +#line 1543 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = pct; +#line 1543 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = g_strdup_printf (_tmp6_, (gint) (_tmp7_ * 100.0)); +#line 1543 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 1543 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_progress_bar_set_text (_tmp5_, _tmp9_); +#line 1543 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp9_); +#line 13447 "Dialogs.c" +} + + +void progress_dialog_set_status (ProgressDialog* self, const gchar* text) { + GtkProgressBar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1551 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PROGRESS_DIALOG (self)); +#line 1551 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (text != NULL); +#line 1552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->progress_bar; +#line 1552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = text; +#line 1552 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_progress_bar_set_text (_tmp0_, _tmp1_); +#line 1558 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 13466 "Dialogs.c" +} + + +gboolean progress_dialog_monitor (ProgressDialog* self, guint64 count, guint64 total, gboolean do_event_loop) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + guint64 _tmp1_ = 0ULL; + gboolean _tmp8_ = FALSE; + GCancellable* _tmp9_ = NULL; + gboolean keep_going = FALSE; + gboolean _tmp12_ = FALSE; +#line 1562 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_PROGRESS_DIALOG (self), FALSE); +#line 1563 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->last_count; +#line 1563 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_ == G_MAXUINT64) { +#line 1563 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = TRUE; +#line 13486 "Dialogs.c" + } else { + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + gint _tmp4_ = 0; +#line 1563 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = count; +#line 1563 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->last_count; +#line 1563 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = self->priv->update_every; +#line 1563 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = (_tmp2_ - _tmp3_) >= ((guint64) _tmp4_); +#line 13499 "Dialogs.c" + } +#line 1563 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_) { +#line 13503 "Dialogs.c" + guint64 _tmp5_ = 0ULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; +#line 1564 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = count; +#line 1564 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = total; +#line 1564 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress_dialog_set_percentage (self, ((gdouble) _tmp5_) / ((gdouble) _tmp6_)); +#line 1565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = count; +#line 1565 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->last_count = _tmp7_; +#line 13517 "Dialogs.c" + } +#line 1568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->cancellable; +#line 1568 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp9_ != NULL) { +#line 13523 "Dialogs.c" + GCancellable* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 1568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->priv->cancellable; +#line 1568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = g_cancellable_is_cancelled (_tmp10_); +#line 1568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = !_tmp11_; +#line 13532 "Dialogs.c" + } else { +#line 1568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = TRUE; +#line 13536 "Dialogs.c" + } +#line 1568 "/home/jens/Source/shotwell/src/Dialogs.vala" + keep_going = _tmp8_; +#line 1576 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = do_event_loop; +#line 1576 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp12_) { +#line 1577 "/home/jens/Source/shotwell/src/Dialogs.vala" + spin_event_loop (); +#line 13546 "Dialogs.c" + } +#line 1579 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = keep_going; +#line 1579 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 13552 "Dialogs.c" +} + + +void progress_dialog_close (ProgressDialog* self) { +#line 1582 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PROGRESS_DIALOG (self)); +#line 1587 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1588 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 13563 "Dialogs.c" +} + + +static gboolean progress_dialog_on_window_closed (ProgressDialog* self) { + gboolean result = FALSE; +#line 1591 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_PROGRESS_DIALOG (self), FALSE); +#line 1592 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress_dialog_on_cancel (self); +#line 1593 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 1593 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 13577 "Dialogs.c" +} + + +static void progress_dialog_on_cancel (ProgressDialog* self) { + GCancellable* _tmp0_ = NULL; + GtkButton* _tmp2_ = NULL; +#line 1597 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PROGRESS_DIALOG (self)); +#line 1598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->cancellable; +#line 1598 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ != NULL) { +#line 13590 "Dialogs.c" + GCancellable* _tmp1_ = NULL; +#line 1599 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->cancellable; +#line 1599 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_cancellable_cancel (_tmp1_); +#line 13596 "Dialogs.c" + } +#line 1601 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->cancel_button; +#line 1601 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 13602 "Dialogs.c" +} + + +static void progress_dialog_maybe_show_all (ProgressDialog* self, gdouble pct) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 1604 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PROGRESS_DIALOG (self)); +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_; +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp2_) { +#line 13618 "Dialogs.c" + gulong _tmp3_ = 0UL; + gulong _tmp4_ = 0UL; + gint _tmp5_ = 0; +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = now_ms (); +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = self->priv->time_started; +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->minimum_on_screen_time_msec; +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = (_tmp3_ - _tmp4_) > ((gulong) _tmp5_); +#line 13630 "Dialogs.c" + } else { +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = FALSE; +#line 13634 "Dialogs.c" + } +#line 1607 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_) { +#line 13638 "Dialogs.c" + gdouble pps = 0.0; + gdouble _tmp6_ = 0.0; + gint _tmp7_ = 0; + gdouble ttc = 0.0; + gdouble _tmp8_ = 0.0; + gdouble _tmp9_ = 0.0; + gint _tmp10_ = 0; +#line 1609 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = pct; +#line 1609 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->minimum_on_screen_time_msec; +#line 1609 "/home/jens/Source/shotwell/src/Dialogs.vala" + pps = (_tmp6_ * 100.0) / _tmp7_; +#line 1611 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = pps; +#line 1611 "/home/jens/Source/shotwell/src/Dialogs.vala" + ttc = 100.0 / _tmp8_; +#line 1614 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = ttc; +#line 1614 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->priv->minimum_on_screen_time_msec; +#line 1614 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp9_ > ((gdouble) _tmp10_)) { +#line 1619 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1620 "/home/jens/Source/shotwell/src/Dialogs.vala" + spin_event_loop (); +#line 13666 "Dialogs.c" + } + } +} + + +static void progress_dialog_class_init (ProgressDialogClass * klass) { +#line 1459 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1459 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (ProgressDialogPrivate)); +#line 1459 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((GtkWidgetClass *) klass)->realize = progress_dialog_real_realize; +#line 1459 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (klass)->finalize = progress_dialog_finalize; +#line 13681 "Dialogs.c" +} + + +static void progress_dialog_instance_init (ProgressDialog * self) { + GtkProgressBar* _tmp0_ = NULL; +#line 1459 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = PROGRESS_DIALOG_GET_PRIVATE (self); +#line 1460 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = (GtkProgressBar*) gtk_progress_bar_new (); +#line 1460 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp0_); +#line 1460 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->progress_bar = _tmp0_; +#line 1461 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->cancel_button = NULL; +#line 1463 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->last_count = G_MAXUINT64; +#line 1464 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->update_every = 1; +#line 1465 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->minimum_on_screen_time_msec = 500; +#line 13703 "Dialogs.c" +} + + +static void progress_dialog_finalize (GObject* obj) { + ProgressDialog * self; +#line 1459 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PROGRESS_DIALOG, ProgressDialog); +#line 1460 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->progress_bar); +#line 1461 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->cancel_button); +#line 1462 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->cancellable); +#line 1459 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (progress_dialog_parent_class)->finalize (obj); +#line 13719 "Dialogs.c" +} + + +GType progress_dialog_get_type (void) { + static volatile gsize progress_dialog_type_id__volatile = 0; + if (g_once_init_enter (&progress_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ProgressDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) progress_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProgressDialog), 0, (GInstanceInitFunc) progress_dialog_instance_init, NULL }; + GType progress_dialog_type_id; + progress_dialog_type_id = g_type_register_static (gtk_window_get_type (), "ProgressDialog", &g_define_type_info, 0); + g_once_init_leave (&progress_dialog_type_id__volatile, progress_dialog_type_id); + } + return progress_dialog_type_id__volatile; +} + + +static GType adjust_date_time_dialog_time_system_get_type (void) { + static volatile gsize adjust_date_time_dialog_time_system_type_id__volatile = 0; + if (g_once_init_enter (&adjust_date_time_dialog_time_system_type_id__volatile)) { + static const GEnumValue values[] = {{ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_AM, "ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_AM", "am"}, {ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_PM, "ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_PM", "pm"}, {ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_24HR, "ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_24HR", "24hr"}, {0, NULL, NULL}}; + GType adjust_date_time_dialog_time_system_type_id; + adjust_date_time_dialog_time_system_type_id = g_enum_register_static ("AdjustDateTimeDialogTimeSystem", values); + g_once_init_leave (&adjust_date_time_dialog_time_system_type_id__volatile, adjust_date_time_dialog_time_system_type_id); + } + return adjust_date_time_dialog_time_system_type_id__volatile; +} + + +static void _adjust_date_time_dialog_on_time_changed_gtk_calendar_day_selected (GtkCalendar* _sender, gpointer self) { +#line 1672 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_on_time_changed ((AdjustDateTimeDialog*) self); +#line 13750 "Dialogs.c" +} + + +static void _adjust_date_time_dialog_on_time_changed_gtk_calendar_month_changed (GtkCalendar* _sender, gpointer self) { +#line 1673 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_on_time_changed ((AdjustDateTimeDialog*) self); +#line 13757 "Dialogs.c" +} + + +static void _adjust_date_time_dialog_on_time_changed_gtk_calendar_next_year (GtkCalendar* _sender, gpointer self) { +#line 1674 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_on_time_changed ((AdjustDateTimeDialog*) self); +#line 13764 "Dialogs.c" +} + + +static void _adjust_date_time_dialog_on_time_changed_gtk_calendar_prev_year (GtkCalendar* _sender, gpointer self) { +#line 1675 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_on_time_changed ((AdjustDateTimeDialog*) self); +#line 13771 "Dialogs.c" +} + + +static gboolean _adjust_date_time_dialog_on_spin_button_output_gtk_spin_button_output (GtkSpinButton* _sender, gpointer self) { + gboolean result; + result = adjust_date_time_dialog_on_spin_button_output ((AdjustDateTimeDialog*) self, _sender); +#line 1682 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 13780 "Dialogs.c" +} + + +static void _adjust_date_time_dialog_on_time_system_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 1700 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_on_time_system_changed ((AdjustDateTimeDialog*) self); +#line 13787 "Dialogs.c" +} + + +static void _adjust_date_time_dialog_on_time_changed_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { +#line 1722 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_on_time_changed ((AdjustDateTimeDialog*) self); +#line 13794 "Dialogs.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 13809 "Dialogs.c" +} + + +AdjustDateTimeDialog* adjust_date_time_dialog_construct (GType object_type, Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video) { + AdjustDateTimeDialog * self = NULL; + Dateable* _tmp0_ = NULL; + gboolean use_header = FALSE; + GtkSettings* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + AppWindow* _tmp4_ = NULL; + AppWindow* _tmp5_ = NULL; + GtkCalendar* _tmp6_ = NULL; + GtkCalendar* _tmp7_ = NULL; + GtkCalendar* _tmp8_ = NULL; + GtkCalendar* _tmp9_ = NULL; + GtkCalendar* _tmp10_ = NULL; + ConfigFacade* _tmp11_ = NULL; + ConfigFacade* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + GtkSpinButton* _tmp17_ = NULL; + GtkSpinButton* _tmp18_ = NULL; + GtkSpinButton* _tmp19_ = NULL; + GtkSpinButton* _tmp20_ = NULL; + GtkSpinButton* _tmp21_ = NULL; + GtkSpinButton* _tmp22_ = NULL; + GtkSpinButton* _tmp23_ = NULL; + GtkSpinButton* _tmp24_ = NULL; + GtkSpinButton* _tmp25_ = NULL; + GtkSpinButton* _tmp26_ = NULL; + GtkSpinButton* _tmp27_ = NULL; + GtkComboBoxText* _tmp28_ = NULL; + GtkComboBoxText* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + GtkComboBoxText* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + GtkComboBoxText* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + GtkComboBoxText* _tmp35_ = NULL; + GtkBox* clock = NULL; + GtkBox* _tmp36_ = NULL; + GtkBox* _tmp37_ = NULL; + GtkSpinButton* _tmp38_ = NULL; + GtkBox* _tmp39_ = NULL; + GtkLabel* _tmp40_ = NULL; + GtkLabel* _tmp41_ = NULL; + GtkBox* _tmp42_ = NULL; + GtkSpinButton* _tmp43_ = NULL; + GtkBox* _tmp44_ = NULL; + GtkLabel* _tmp45_ = NULL; + GtkLabel* _tmp46_ = NULL; + GtkBox* _tmp47_ = NULL; + GtkSpinButton* _tmp48_ = NULL; + GtkBox* _tmp49_ = NULL; + GtkComboBoxText* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + GtkRadioButton* _tmp52_ = NULL; + GtkRadioButton* _tmp53_ = NULL; + ConfigFacade* _tmp54_ = NULL; + ConfigFacade* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + gboolean _tmp57_ = FALSE; + gboolean _tmp58_ = FALSE; + GtkRadioButton* _tmp60_ = NULL; + GtkRadioButton* _tmp61_ = NULL; + GSList* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; + GtkRadioButton* _tmp64_ = NULL; + GtkRadioButton* _tmp65_ = NULL; + ConfigFacade* _tmp66_ = NULL; + ConfigFacade* _tmp67_ = NULL; + gboolean _tmp68_ = FALSE; + gboolean _tmp69_ = FALSE; + gboolean _tmp70_ = FALSE; + GtkRadioButton* _tmp72_ = NULL; + GtkRadioButton* _tmp73_ = NULL; + gboolean _tmp74_ = FALSE; + gboolean _tmp85_ = FALSE; + ConfigFacade* _tmp86_ = NULL; + ConfigFacade* _tmp87_ = NULL; + gboolean _tmp88_ = FALSE; + gboolean _tmp89_ = FALSE; + GtkCheckButton* _tmp91_ = NULL; + gboolean _tmp92_ = FALSE; + gboolean _tmp93_ = FALSE; + GtkCheckButton* _tmp100_ = NULL; + GtkBox* time_content = NULL; + GtkBox* _tmp101_ = NULL; + GtkBox* _tmp102_ = NULL; + GtkCalendar* _tmp103_ = NULL; + GtkBox* _tmp104_ = NULL; + GtkBox* _tmp105_ = NULL; + gboolean _tmp106_ = FALSE; + GdkPixbuf* preview = NULL; + GtkBox* image_content = NULL; + GtkBox* _tmp120_ = NULL; + GtkBox* _tmp121_ = NULL; + GtkBox* _tmp122_ = NULL; + GtkImage* _tmp123_ = NULL; + GdkPixbuf* _tmp124_ = NULL; + GtkImage* image = NULL; + GtkImage* _tmp128_ = NULL; + GtkLabel* _tmp129_ = NULL; + GtkBox* _tmp130_ = NULL; + GtkImage* _tmp131_ = NULL; + GtkBox* _tmp132_ = NULL; + GtkLabel* _tmp133_ = NULL; + GtkBox* hbox = NULL; + GtkBox* _tmp134_ = NULL; + GtkBox* _tmp135_ = NULL; + GtkBox* _tmp136_ = NULL; + GtkBox* _tmp137_ = NULL; + GtkBox* _tmp138_ = NULL; + GtkBox* _tmp139_ = NULL; + GtkAlignment* hbox_alignment = NULL; + GtkAlignment* _tmp140_ = NULL; + GtkAlignment* _tmp141_ = NULL; + GtkBox* _tmp142_ = NULL; + GtkBox* _tmp143_ = NULL; + GtkAlignment* _tmp144_ = NULL; + GtkLabel* _tmp145_ = NULL; + GtkLabel* _tmp146_ = NULL; + GtkLabel* _tmp147_ = NULL; + GtkBox* _tmp148_ = NULL; + GtkLabel* _tmp149_ = NULL; + Dateable* _tmp150_ = NULL; + time_t _tmp151_ = 0; + time_t _tmp152_ = 0; + time_t _tmp154_ = 0; + struct tm _tmp155_ = {0}; + ConfigFacade* _tmp156_ = NULL; + ConfigFacade* _tmp157_ = NULL; + gboolean _tmp158_ = FALSE; + GError * _inner_error_ = NULL; +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_DATEABLE (source), NULL); +#line 1657 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = source; +#line 1657 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_assert (_tmp0_ != NULL, "source != null"); +#line 1660 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_settings_get_default (); +#line 1660 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, G_TYPE_OBJECT, GObject), "gtk-dialogs-use-header", &use_header, NULL); +#line 1661 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = use_header; +#line 1661 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp3_) { +#line 1661 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = 1; +#line 13961 "Dialogs.c" + } else { +#line 1661 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = 0; +#line 13965 "Dialogs.c" + } +#line 1661 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (AdjustDateTimeDialog*) g_object_new (object_type, "use-header-bar", _tmp2_, NULL); +#line 1663 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_modal (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 1664 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 1665 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = app_window_get_instance (); +#line 1665 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 1665 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_window_get_type (), GtkWindow)); +#line 1665 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp5_); +#line 1667 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_buttons (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_OK_LABEL, GTK_RESPONSE_OK, NULL); +#line 1669 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), RESOURCES_ADJUST_DATE_TIME_LABEL); +#line 1671 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = (GtkCalendar*) gtk_calendar_new (); +#line 1671 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp6_); +#line 1671 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->calendar); +#line 1671 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->calendar = _tmp6_; +#line 1672 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->calendar; +#line 1672 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp7_, "day-selected", (GCallback) _adjust_date_time_dialog_on_time_changed_gtk_calendar_day_selected, self, 0); +#line 1673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->calendar; +#line 1673 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp8_, "month-changed", (GCallback) _adjust_date_time_dialog_on_time_changed_gtk_calendar_month_changed, self, 0); +#line 1674 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->calendar; +#line 1674 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp9_, "next-year", (GCallback) _adjust_date_time_dialog_on_time_changed_gtk_calendar_next_year, self, 0); +#line 1675 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->priv->calendar; +#line 1675 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp10_, "prev-year", (GCallback) _adjust_date_time_dialog_on_time_changed_gtk_calendar_prev_year, self, 0); +#line 1677 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = config_facade_get_instance (); +#line 1677 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp11_; +#line 1677 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = configuration_facade_get_use_24_hour_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1677 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp13_; +#line 1677 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp12_); +#line 1677 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp14_) { +#line 14021 "Dialogs.c" + GtkSpinButton* _tmp15_ = NULL; +#line 1678 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = (GtkSpinButton*) gtk_spin_button_new_with_range ((gdouble) 0, (gdouble) 23, (gdouble) 1); +#line 1678 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp15_); +#line 1678 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->hour); +#line 1678 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->hour = _tmp15_; +#line 14031 "Dialogs.c" + } else { + GtkSpinButton* _tmp16_ = NULL; +#line 1680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = (GtkSpinButton*) gtk_spin_button_new_with_range ((gdouble) 1, (gdouble) 12, (gdouble) 1); +#line 1680 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp16_); +#line 1680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->hour); +#line 1680 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->hour = _tmp16_; +#line 14042 "Dialogs.c" + } +#line 1682 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->priv->hour; +#line 1682 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp17_, "output", (GCallback) _adjust_date_time_dialog_on_spin_button_output_gtk_spin_button_output, self, 0); +#line 1683 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->hour; +#line 1683 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_width_chars (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_entry_get_type (), GtkEntry), 2); +#line 1684 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = self->priv->hour; +#line 1684 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_max_width_chars (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_entry_get_type (), GtkEntry), 2); +#line 1686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = (GtkSpinButton*) gtk_spin_button_new_with_range ((gdouble) 0, (gdouble) 59, (gdouble) 1); +#line 1686 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp20_); +#line 1686 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->minute); +#line 1686 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->minute = _tmp20_; +#line 1687 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = self->priv->minute; +#line 1687 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_width_chars (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_entry_get_type (), GtkEntry), 2); +#line 1688 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = self->priv->minute; +#line 1688 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_max_width_chars (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_entry_get_type (), GtkEntry), 2); +#line 1689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = self->priv->minute; +#line 1689 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp23_, "output", (GCallback) _adjust_date_time_dialog_on_spin_button_output_gtk_spin_button_output, self, 0); +#line 1691 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = (GtkSpinButton*) gtk_spin_button_new_with_range ((gdouble) 0, (gdouble) 59, (gdouble) 1); +#line 1691 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp24_); +#line 1691 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->second); +#line 1691 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->second = _tmp24_; +#line 1692 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = self->priv->second; +#line 1692 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_width_chars (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_entry_get_type (), GtkEntry), 2); +#line 1693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = self->priv->second; +#line 1693 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_max_width_chars (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_entry_get_type (), GtkEntry), 2); +#line 1694 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = self->priv->second; +#line 1694 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (_tmp27_, "output", (GCallback) _adjust_date_time_dialog_on_spin_button_output_gtk_spin_button_output, self, 0); +#line 1696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 1696 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp28_); +#line 1696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->system); +#line 1696 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->system = _tmp28_; +#line 1697 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = self->priv->system; +#line 1697 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = _ ("AM"); +#line 1697 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp29_, _tmp30_); +#line 1698 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = self->priv->system; +#line 1698 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = _ ("PM"); +#line 1698 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp31_, _tmp32_); +#line 1699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = self->priv->system; +#line 1699 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = _ ("24 Hr"); +#line 1699 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp33_, _tmp34_); +#line 1700 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = self->priv->system; +#line 1700 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _adjust_date_time_dialog_on_time_system_changed_gtk_combo_box_changed, self, 0); +#line 1702 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); +#line 1702 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp36_); +#line 1702 "/home/jens/Source/shotwell/src/Dialogs.vala" + clock = _tmp36_; +#line 1704 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = clock; +#line 1704 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = self->priv->hour; +#line 1704 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp37_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = clock; +#line 1705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = (GtkLabel*) gtk_label_new (":"); +#line 1705 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp40_); +#line 1705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = _tmp40_; +#line 1705 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp39_, G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp41_); +#line 1706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = clock; +#line 1706 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = self->priv->minute; +#line 1706 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp42_, G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1707 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = clock; +#line 1707 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = (GtkLabel*) gtk_label_new (":"); +#line 1707 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp45_); +#line 1707 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = _tmp45_; +#line 1707 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp44_, G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1707 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp46_); +#line 1708 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = clock; +#line 1708 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = self->priv->second; +#line 1708 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp47_, G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = clock; +#line 1709 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = self->priv->system; +#line 1709 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp49_, G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1711 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_set_default_response (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK); +#line 1713 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = _ ("_Shift photos/videos by the same amount"); +#line 1713 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = (GtkRadioButton*) gtk_radio_button_new_with_mnemonic (NULL, _tmp51_); +#line 1713 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp52_); +#line 1713 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->relativity_radio_button); +#line 1713 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->relativity_radio_button = _tmp52_; +#line 1715 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = self->priv->relativity_radio_button; +#line 1715 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = config_facade_get_instance (); +#line 1715 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = _tmp54_; +#line 1715 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = configuration_facade_get_keep_relativity (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1715 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp56_); +#line 1715 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp55_); +#line 1716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp58_ = display_options; +#line 1716 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp58_) { +#line 14208 "Dialogs.c" + gint _tmp59_ = 0; +#line 1716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp59_ = photo_count; +#line 1716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = _tmp59_ > 1; +#line 14214 "Dialogs.c" + } else { +#line 1716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = FALSE; +#line 14218 "Dialogs.c" + } +#line 1716 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp60_ = self->priv->relativity_radio_button; +#line 1716 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_widget_get_type (), GtkWidget), _tmp57_); +#line 1718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp61_ = self->priv->relativity_radio_button; +#line 1718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp62_ = gtk_radio_button_get_group (_tmp61_); +#line 1718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp63_ = _ ("Set _all photos/videos to this time"); +#line 1718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp64_ = (GtkRadioButton*) gtk_radio_button_new_with_mnemonic (_tmp62_, _tmp63_); +#line 1718 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp64_); +#line 1718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->batch_radio_button); +#line 1718 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->batch_radio_button = _tmp64_; +#line 1720 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp65_ = self->priv->batch_radio_button; +#line 1720 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp66_ = config_facade_get_instance (); +#line 1720 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp67_ = _tmp66_; +#line 1720 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp68_ = configuration_facade_get_keep_relativity (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1720 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, gtk_toggle_button_get_type (), GtkToggleButton), !_tmp68_); +#line 1720 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp67_); +#line 1721 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70_ = display_options; +#line 1721 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp70_) { +#line 14254 "Dialogs.c" + gint _tmp71_ = 0; +#line 1721 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp71_ = photo_count; +#line 1721 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = _tmp71_ > 1; +#line 14260 "Dialogs.c" + } else { +#line 1721 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = FALSE; +#line 14264 "Dialogs.c" + } +#line 1721 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp72_ = self->priv->batch_radio_button; +#line 1721 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_widget_get_type (), GtkWidget), _tmp69_); +#line 1722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp73_ = self->priv->batch_radio_button; +#line 1722 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, gtk_toggle_button_get_type (), GtkToggleButton), "toggled", (GCallback) _adjust_date_time_dialog_on_time_changed_gtk_toggle_button_toggled, self, 0); +#line 1724 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp74_ = contains_video; +#line 1724 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp74_) { +#line 14278 "Dialogs.c" + const gchar* _tmp75_ = NULL; + gint _tmp76_ = 0; + GtkCheckButton* _tmp79_ = NULL; +#line 1725 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp76_ = photo_count; +#line 1725 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp76_ == 1) { +#line 14286 "Dialogs.c" + const gchar* _tmp77_ = NULL; +#line 1726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp77_ = _ ("_Modify original photo file"); +#line 1726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp75_ = _tmp77_; +#line 14292 "Dialogs.c" + } else { + const gchar* _tmp78_ = NULL; +#line 1726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp78_ = _ ("_Modify original photo files"); +#line 1726 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp75_ = _tmp78_; +#line 14299 "Dialogs.c" + } +#line 1725 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp79_ = (GtkCheckButton*) gtk_check_button_new_with_mnemonic (_tmp75_); +#line 1725 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp79_); +#line 1725 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->modify_originals_check_button); +#line 1725 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->modify_originals_check_button = _tmp79_; +#line 14309 "Dialogs.c" + } else { + const gchar* _tmp80_ = NULL; + gint _tmp81_ = 0; + GtkCheckButton* _tmp84_ = NULL; +#line 1728 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp81_ = photo_count; +#line 1728 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp81_ == 1) { +#line 14318 "Dialogs.c" + const gchar* _tmp82_ = NULL; +#line 1729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp82_ = _ ("_Modify original file"); +#line 1729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp80_ = _tmp82_; +#line 14324 "Dialogs.c" + } else { + const gchar* _tmp83_ = NULL; +#line 1729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp83_ = _ ("_Modify original files"); +#line 1729 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp80_ = _tmp83_; +#line 14331 "Dialogs.c" + } +#line 1728 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp84_ = (GtkCheckButton*) gtk_check_button_new_with_mnemonic (_tmp80_); +#line 1728 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp84_); +#line 1728 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->modify_originals_check_button); +#line 1728 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->modify_originals_check_button = _tmp84_; +#line 14341 "Dialogs.c" + } +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp86_ = config_facade_get_instance (); +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp87_ = _tmp86_; +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp88_ = configuration_facade_get_commit_metadata_to_masters (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp89_ = _tmp88_; +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp87_); +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp89_) { +#line 14355 "Dialogs.c" + gboolean _tmp90_ = FALSE; +#line 1733 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp90_ = display_options; +#line 1733 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp85_ = _tmp90_; +#line 14361 "Dialogs.c" + } else { +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp85_ = FALSE; +#line 14365 "Dialogs.c" + } +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp91_ = self->priv->modify_originals_check_button; +#line 1732 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp85_); +#line 1734 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp93_ = only_video; +#line 1734 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp93_) { +#line 14375 "Dialogs.c" + gboolean _tmp94_ = FALSE; + ConfigFacade* _tmp95_ = NULL; + ConfigFacade* _tmp96_ = NULL; + gboolean _tmp97_ = FALSE; + gboolean _tmp98_ = FALSE; +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp95_ = config_facade_get_instance (); +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp96_ = _tmp95_; +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp97_ = configuration_facade_get_commit_metadata_to_masters (G_TYPE_CHECK_INSTANCE_CAST (_tmp96_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp98_ = !_tmp97_; +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp96_); +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp98_) { +#line 14393 "Dialogs.c" + gboolean _tmp99_ = FALSE; +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp99_ = display_options; +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp94_ = _tmp99_; +#line 14399 "Dialogs.c" + } else { +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp94_ = FALSE; +#line 14403 "Dialogs.c" + } +#line 1735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp92_ = _tmp94_; +#line 14407 "Dialogs.c" + } else { +#line 1734 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp92_ = FALSE; +#line 14411 "Dialogs.c" + } +#line 1734 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp100_ = self->priv->modify_originals_check_button; +#line 1734 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, gtk_widget_get_type (), GtkWidget), _tmp92_); +#line 1737 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp101_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); +#line 1737 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp101_); +#line 1737 "/home/jens/Source/shotwell/src/Dialogs.vala" + time_content = _tmp101_; +#line 1739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp102_ = time_content; +#line 1739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp103_ = self->priv->calendar; +#line 1739 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp102_, G_TYPE_CHECK_INSTANCE_CAST (_tmp103_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1740 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp104_ = time_content; +#line 1740 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp105_ = clock; +#line 1740 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp104_, G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1742 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp106_ = display_options; +#line 1742 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp106_) { +#line 14439 "Dialogs.c" + GtkBox* _tmp107_ = NULL; + GtkRadioButton* _tmp108_ = NULL; + GtkBox* _tmp109_ = NULL; + GtkRadioButton* _tmp110_ = NULL; + GtkBox* _tmp111_ = NULL; + GtkCheckButton* _tmp112_ = NULL; +#line 1743 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp107_ = time_content; +#line 1743 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp108_ = self->priv->relativity_radio_button; +#line 1743 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp107_, G_TYPE_CHECK_INSTANCE_CAST (_tmp108_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1744 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp109_ = time_content; +#line 1744 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp110_ = self->priv->batch_radio_button; +#line 1744 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp109_, G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp111_ = time_content; +#line 1745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp112_ = self->priv->modify_originals_check_button; +#line 1745 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp111_, G_TYPE_CHECK_INSTANCE_CAST (_tmp112_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 14464 "Dialogs.c" + } +#line 1748 "/home/jens/Source/shotwell/src/Dialogs.vala" + preview = NULL; +#line 14468 "Dialogs.c" + { + GdkPixbuf* _tmp113_ = NULL; + Dateable* _tmp114_ = NULL; + GdkPixbuf* _tmp115_ = NULL; + GdkPixbuf* _tmp116_ = NULL; +#line 1752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp114_ = source; +#line 1752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp115_ = thumbnail_source_get_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (_tmp114_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), ADJUST_DATE_TIME_DIALOG_CALENDAR_THUMBNAIL_SCALE, &_inner_error_); +#line 1752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp113_ = _tmp115_; +#line 1752 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14482 "Dialogs.c" + goto __catch412_g_error; + } +#line 1752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp116_ = _tmp113_; +#line 1752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp113_ = NULL; +#line 1752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (preview); +#line 1752 "/home/jens/Source/shotwell/src/Dialogs.vala" + preview = _tmp116_; +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp113_); +#line 14495 "Dialogs.c" + } + goto __finally412; + __catch412_g_error: + { + GError* err = NULL; + Dateable* _tmp117_ = NULL; + gchar* _tmp118_ = NULL; + gchar* _tmp119_ = NULL; +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + err = _inner_error_; +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _inner_error_ = NULL; +#line 1754 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp117_ = source; +#line 1754 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp118_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp117_, TYPE_DATA_OBJECT, DataObject)); +#line 1754 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp119_ = _tmp118_; +#line 1754 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_warning ("Dialogs.vala:1754: Unable to fetch preview for %s", _tmp119_); +#line 1754 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp119_); +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_error_free0 (err); +#line 14520 "Dialogs.c" + } + __finally412: +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (preview); +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (time_content); +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (clock); +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.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 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_clear_error (&_inner_error_); +#line 1749 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 14537 "Dialogs.c" + } +#line 1757 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp120_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 1757 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp120_); +#line 1757 "/home/jens/Source/shotwell/src/Dialogs.vala" + image_content = _tmp120_; +#line 1758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp121_ = image_content; +#line 1758 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_valign (G_TYPE_CHECK_INSTANCE_CAST (_tmp121_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_START); +#line 1759 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp122_ = image_content; +#line 1759 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_set_homogeneous (_tmp122_, TRUE); +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp124_ = preview; +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp124_ != NULL) { +#line 14557 "Dialogs.c" + GdkPixbuf* _tmp125_ = NULL; + GtkImage* _tmp126_ = NULL; +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp125_ = preview; +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp126_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp125_); +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp126_); +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp123_); +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp123_ = _tmp126_; +#line 14570 "Dialogs.c" + } else { + GtkImage* _tmp127_ = NULL; +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp127_ = (GtkImage*) gtk_image_new (); +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp127_); +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp123_); +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp123_ = _tmp127_; +#line 14581 "Dialogs.c" + } +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp128_ = _g_object_ref0 (_tmp123_); +#line 1760 "/home/jens/Source/shotwell/src/Dialogs.vala" + image = _tmp128_; +#line 1761 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp129_ = (GtkLabel*) gtk_label_new (NULL); +#line 1761 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp129_); +#line 1761 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->original_time_label); +#line 1761 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->original_time_label = _tmp129_; +#line 1762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp130_ = image_content; +#line 1762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp131_ = image; +#line 1762 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp130_, G_TYPE_CHECK_INSTANCE_CAST (_tmp131_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1763 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp132_ = image_content; +#line 1763 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp133_ = self->priv->original_time_label; +#line 1763 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp132_, G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp134_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); +#line 1765 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp134_); +#line 1765 "/home/jens/Source/shotwell/src/Dialogs.vala" + hbox = _tmp134_; +#line 1766 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp135_ = hbox; +#line 1766 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp135_, gtk_container_get_type (), GtkContainer), (guint) 3); +#line 1767 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp136_ = hbox; +#line 1767 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp137_ = image_content; +#line 1767 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp136_, G_TYPE_CHECK_INSTANCE_CAST (_tmp137_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1768 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp138_ = hbox; +#line 1768 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp139_ = time_content; +#line 1768 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp138_, G_TYPE_CHECK_INSTANCE_CAST (_tmp139_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp140_ = (GtkAlignment*) gtk_alignment_new (0.5f, 0.5f, (gfloat) 0, (gfloat) 0); +#line 1770 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp140_); +#line 1770 "/home/jens/Source/shotwell/src/Dialogs.vala" + hbox_alignment = _tmp140_; +#line 1771 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp141_ = hbox_alignment; +#line 1771 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp142_ = hbox; +#line 1771 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp141_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp142_, gtk_widget_get_type (), GtkWidget)); +#line 1773 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp143_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 1773 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp144_ = hbox_alignment; +#line 1773 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp143_, gtk_box_get_type (), GtkBox), G_TYPE_CHECK_INSTANCE_CAST (_tmp144_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 0); +#line 1775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp145_ = (GtkLabel*) gtk_label_new (""); +#line 1775 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp145_); +#line 1775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->notification); +#line 1775 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->notification = _tmp145_; +#line 1776 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp146_ = self->priv->notification; +#line 1776 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_line_wrap (_tmp146_, TRUE); +#line 1777 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp147_ = self->priv->notification; +#line 1777 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_justify (_tmp147_, GTK_JUSTIFY_CENTER); +#line 1779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp148_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 1779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp149_ = self->priv->notification; +#line 1779 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp148_, gtk_box_get_type (), GtkBox), G_TYPE_CHECK_INSTANCE_CAST (_tmp149_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 1781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp150_ = source; +#line 1781 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp151_ = dateable_get_exposure_time (_tmp150_); +#line 1781 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->original_time = _tmp151_; +#line 1783 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp152_ = self->priv->original_time; +#line 1783 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp152_ == ((time_t) 0)) { +#line 14679 "Dialogs.c" + time_t _tmp153_ = 0; +#line 1784 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp153_ = time (NULL); +#line 1784 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->original_time = _tmp153_; +#line 1785 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->no_original_time = TRUE; +#line 14687 "Dialogs.c" + } +#line 1788 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp154_ = self->priv->original_time; +#line 1788 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_time_local (_tmp154_, &_tmp155_); +#line 1788 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_set_time (self, &_tmp155_); +#line 1789 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp156_ = config_facade_get_instance (); +#line 1789 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp157_ = _tmp156_; +#line 1789 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp158_ = configuration_facade_get_use_24_hour_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp157_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1789 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_set_original_time_label (self, _tmp158_); +#line 1789 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp157_); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (hbox_alignment); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (hbox); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (image); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp123_); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (image_content); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (preview); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (time_content); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (clock); +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 14723 "Dialogs.c" +} + + +AdjustDateTimeDialog* adjust_date_time_dialog_new (Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video) { +#line 1655 "/home/jens/Source/shotwell/src/Dialogs.vala" + return adjust_date_time_dialog_construct (TYPE_ADJUST_DATE_TIME_DIALOG, source, photo_count, display_options, contains_video, only_video); +#line 14730 "Dialogs.c" +} + + +static void adjust_date_time_dialog_set_time (AdjustDateTimeDialog* self, struct tm* time) { + GtkCalendar* _tmp0_ = NULL; + struct tm _tmp1_ = {0}; + gint _tmp2_ = 0; + struct tm _tmp3_ = {0}; + gint _tmp4_ = 0; + GtkCalendar* _tmp5_ = NULL; + struct tm _tmp6_ = {0}; + gint _tmp7_ = 0; + ConfigFacade* _tmp8_ = NULL; + ConfigFacade* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + GtkSpinButton* _tmp26_ = NULL; + struct tm _tmp27_ = {0}; + gint _tmp28_ = 0; + GtkSpinButton* _tmp29_ = NULL; + struct tm _tmp30_ = {0}; + gint _tmp31_ = 0; + GtkComboBoxText* _tmp32_ = NULL; + gint _tmp33_ = 0; +#line 1792 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_ADJUST_DATE_TIME_DIALOG (self)); +#line 1792 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (time != NULL); +#line 1793 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->calendar; +#line 1793 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = *time; +#line 1793 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_.tm_mon; +#line 1793 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = *time; +#line 1793 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_.tm_year; +#line 1793 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_calendar_select_month (_tmp0_, (guint) _tmp2_, (guint) (_tmp4_ + ADJUST_DATE_TIME_DIALOG_YEAR_OFFSET)); +#line 1794 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->calendar; +#line 1794 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = *time; +#line 1794 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_.tm_mday; +#line 1794 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_calendar_select_day (_tmp5_, (guint) _tmp7_); +#line 1796 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = config_facade_get_instance (); +#line 1796 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 1796 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = configuration_facade_get_use_24_hour_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1796 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 1796 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp9_); +#line 1796 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp11_) { +#line 14791 "Dialogs.c" + GtkComboBoxText* _tmp12_ = NULL; + GtkSpinButton* _tmp13_ = NULL; + struct tm _tmp14_ = {0}; + gint _tmp15_ = 0; +#line 1797 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = self->priv->system; +#line 1797 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_combo_box_get_type (), GtkComboBox), (gint) ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_24HR); +#line 1798 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = self->priv->hour; +#line 1798 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = *time; +#line 1798 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = _tmp14_.tm_hour; +#line 1798 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_spin_button_set_value (_tmp13_, (gdouble) _tmp15_); +#line 14808 "Dialogs.c" + } else { + gint AMPM_hour = 0; + struct tm _tmp16_ = {0}; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GtkSpinButton* _tmp21_ = NULL; + AdjustDateTimeDialogTimeSystem _tmp22_ = 0; + struct tm _tmp23_ = {0}; + gint _tmp24_ = 0; + GtkComboBoxText* _tmp25_ = NULL; +#line 1800 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = *time; +#line 1800 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = _tmp16_.tm_hour; +#line 1800 "/home/jens/Source/shotwell/src/Dialogs.vala" + AMPM_hour = _tmp17_ % 12; +#line 1801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = AMPM_hour; +#line 1801 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp19_ == 0) { +#line 1801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = 12; +#line 14832 "Dialogs.c" + } else { + gint _tmp20_ = 0; +#line 1801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = AMPM_hour; +#line 1801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _tmp20_; +#line 14839 "Dialogs.c" + } +#line 1801 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = self->priv->hour; +#line 1801 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_spin_button_set_value (_tmp21_, (gdouble) _tmp18_); +#line 1802 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = *time; +#line 1802 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = _tmp23_.tm_hour; +#line 1802 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp24_ >= 12) { +#line 1802 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_PM; +#line 14853 "Dialogs.c" + } else { +#line 1802 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_AM; +#line 14857 "Dialogs.c" + } +#line 1802 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = self->priv->system; +#line 1802 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp22_); +#line 14863 "Dialogs.c" + } +#line 1805 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = self->priv->minute; +#line 1805 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = *time; +#line 1805 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = _tmp27_.tm_min; +#line 1805 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_spin_button_set_value (_tmp26_, (gdouble) _tmp28_); +#line 1806 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = self->priv->second; +#line 1806 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = *time; +#line 1806 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = _tmp30_.tm_sec; +#line 1806 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_spin_button_set_value (_tmp29_, (gdouble) _tmp31_); +#line 1808 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = self->priv->system; +#line 1808 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1808 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->previous_time_system = (AdjustDateTimeDialogTimeSystem) _tmp33_; +#line 14887 "Dialogs.c" +} + + +static gchar* g_time_format (struct tm *self, const gchar* format) { + gchar* result = NULL; + gchar* buffer = NULL; + gchar* _tmp0_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + gchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; +#line 2709 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (format != NULL, NULL); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, 64); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = _tmp0_; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer_length1 = 64; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _buffer_size_ = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = buffer; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1__length1 = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = format; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self)); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = buffer; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = buffer_length1; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = g_strdup ((const gchar*) _tmp3_); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = (g_free (buffer), NULL); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 14933 "Dialogs.c" +} + + +static void adjust_date_time_dialog_set_original_time_label (AdjustDateTimeDialog* self, gboolean use_24_hr_format) { + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GtkLabel* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + time_t _tmp7_ = 0; + struct tm _tmp8_ = {0}; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 1811 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_ADJUST_DATE_TIME_DIALOG (self)); +#line 1812 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->no_original_time; +#line 1812 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_) { +#line 1813 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 14957 "Dialogs.c" + } +#line 1816 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = use_24_hr_format; +#line 1816 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_) { +#line 14963 "Dialogs.c" + const gchar* _tmp3_ = NULL; +#line 1816 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _ ("%m/%d/%Y, %H:%M:%S"); +#line 1816 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp3_; +#line 14969 "Dialogs.c" + } else { + const gchar* _tmp4_ = NULL; +#line 1817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _ ("%m/%d/%Y, %I:%M:%S %p"); +#line 1817 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp4_; +#line 14976 "Dialogs.c" + } +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->original_time_label; +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _ ("Original: "); +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->original_time; +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_time_local (_tmp7_, &_tmp8_); +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = g_time_format (&_tmp8_, _tmp1_); +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = g_strconcat (_tmp6_, _tmp10_, NULL); +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp11_; +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_text (_tmp5_, _tmp12_); +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp12_); +#line 1815 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp10_); +#line 15000 "Dialogs.c" +} + + +static time_t adjust_date_time_dialog_get_time (AdjustDateTimeDialog* self) { + time_t result = 0; + struct tm time = {0}; + GtkSpinButton* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + GtkSpinButton* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + gint hour = 0; + GtkSpinButton* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + gint _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + gint _tmp8_ = 0; + gint _tmp12_ = 0; + GtkComboBoxText* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + guint year = 0U; + guint month = 0U; + guint day = 0U; + GtkCalendar* _tmp16_ = NULL; + guint _tmp17_ = 0U; + guint _tmp18_ = 0U; + guint _tmp19_ = 0U; + time_t _tmp20_ = 0; +#line 1820 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_ADJUST_DATE_TIME_DIALOG (self), 0); +#line 1821 "/home/jens/Source/shotwell/src/Dialogs.vala" + memset (&time, 0, sizeof (struct tm)); +#line 1823 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->second; +#line 1823 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_spin_button_get_value (_tmp0_); +#line 1823 "/home/jens/Source/shotwell/src/Dialogs.vala" + time.tm_sec = (gint) _tmp1_; +#line 1824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->minute; +#line 1824 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_spin_button_get_value (_tmp2_); +#line 1824 "/home/jens/Source/shotwell/src/Dialogs.vala" + time.tm_min = (gint) _tmp3_; +#line 1827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = self->priv->hour; +#line 1827 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = gtk_spin_button_get_value (_tmp4_); +#line 1827 "/home/jens/Source/shotwell/src/Dialogs.vala" + hour = (gint) _tmp5_; +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = hour; +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp8_ == 12) { +#line 15055 "Dialogs.c" + GtkComboBoxText* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->system; +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp10_ != ((gint) ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_24HR); +#line 15064 "Dialogs.c" + } else { +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = FALSE; +#line 15068 "Dialogs.c" + } +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp7_) { +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = 0; +#line 15074 "Dialogs.c" + } else { + gint _tmp11_ = 0; +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = hour; +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp11_; +#line 15081 "Dialogs.c" + } +#line 1828 "/home/jens/Source/shotwell/src/Dialogs.vala" + time.tm_hour = _tmp6_; +#line 1829 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = self->priv->system; +#line 1829 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1829 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp14_ == ((gint) ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_PM)) { +#line 1829 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = 12; +#line 15093 "Dialogs.c" + } else { +#line 1829 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = 0; +#line 15097 "Dialogs.c" + } +#line 1829 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = time.tm_hour; +#line 1829 "/home/jens/Source/shotwell/src/Dialogs.vala" + time.tm_hour = _tmp15_ + _tmp12_; +#line 1832 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->priv->calendar; +#line 1832 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_calendar_get_date (_tmp16_, &_tmp17_, &_tmp18_, &_tmp19_); +#line 1832 "/home/jens/Source/shotwell/src/Dialogs.vala" + year = _tmp17_; +#line 1832 "/home/jens/Source/shotwell/src/Dialogs.vala" + month = _tmp18_; +#line 1832 "/home/jens/Source/shotwell/src/Dialogs.vala" + day = _tmp19_; +#line 1833 "/home/jens/Source/shotwell/src/Dialogs.vala" + time.tm_year = ((gint) year) - ADJUST_DATE_TIME_DIALOG_YEAR_OFFSET; +#line 1834 "/home/jens/Source/shotwell/src/Dialogs.vala" + time.tm_mon = (gint) month; +#line 1835 "/home/jens/Source/shotwell/src/Dialogs.vala" + time.tm_mday = (gint) day; +#line 1837 "/home/jens/Source/shotwell/src/Dialogs.vala" + time.tm_isdst = -1; +#line 1839 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = mktime (&time); +#line 1839 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp20_; +#line 1839 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 15127 "Dialogs.c" +} + + +gboolean adjust_date_time_dialog_execute (AdjustDateTimeDialog* self, gint64* time_shift, gboolean* keep_relativity, gboolean* modify_originals) { + gint64 _vala_time_shift = 0LL; + gboolean _vala_keep_relativity = FALSE; + gboolean _vala_modify_originals = FALSE; + gboolean result = FALSE; + gboolean response = FALSE; + gint _tmp0_ = 0; +#line 1842 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_ADJUST_DATE_TIME_DIALOG (self), FALSE); +#line 1844 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1846 "/home/jens/Source/shotwell/src/Dialogs.vala" + response = FALSE; +#line 1848 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 1848 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == ((gint) GTK_RESPONSE_OK)) { +#line 15148 "Dialogs.c" + gboolean _tmp1_ = FALSE; + GtkRadioButton* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GtkRadioButton* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + GtkCheckButton* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + GtkCheckButton* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 1849 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->no_original_time; +#line 1849 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_) { +#line 15164 "Dialogs.c" + time_t _tmp2_ = 0; +#line 1850 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = adjust_date_time_dialog_get_time (self); +#line 1850 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_time_shift = (gint64) _tmp2_; +#line 15170 "Dialogs.c" + } else { + time_t _tmp3_ = 0; + time_t _tmp4_ = 0; +#line 1852 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = adjust_date_time_dialog_get_time (self); +#line 1852 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = self->priv->original_time; +#line 1852 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_time_shift = (gint64) (_tmp3_ - _tmp4_); +#line 15180 "Dialogs.c" + } +#line 1854 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->relativity_radio_button; +#line 1854 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1854 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_keep_relativity = _tmp6_; +#line 1856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->relativity_radio_button; +#line 1856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = gtk_widget_get_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 1856 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 1856 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp9_) { +#line 15196 "Dialogs.c" + ConfigFacade* _tmp10_ = NULL; + ConfigFacade* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 1857 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = config_facade_get_instance (); +#line 1857 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 1857 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _vala_keep_relativity; +#line 1857 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_keep_relativity (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp12_); +#line 1857 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp11_); +#line 15210 "Dialogs.c" + } +#line 1859 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = self->priv->modify_originals_check_button; +#line 1859 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1859 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_modify_originals = _tmp14_; +#line 1861 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = self->priv->modify_originals_check_button; +#line 1861 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = gtk_widget_get_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget)); +#line 1861 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = _tmp16_; +#line 1861 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp17_) { +#line 15226 "Dialogs.c" + ConfigFacade* _tmp18_ = NULL; + ConfigFacade* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 1862 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = config_facade_get_instance (); +#line 1862 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp18_; +#line 1862 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = _vala_modify_originals; +#line 1862 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_modify_originals (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp20_); +#line 1862 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp19_); +#line 15240 "Dialogs.c" + } +#line 1864 "/home/jens/Source/shotwell/src/Dialogs.vala" + response = TRUE; +#line 15244 "Dialogs.c" + } else { +#line 1866 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_time_shift = (gint64) 0; +#line 1867 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_keep_relativity = TRUE; +#line 1868 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_modify_originals = FALSE; +#line 15252 "Dialogs.c" + } +#line 1871 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1873 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = response; +#line 1873 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (time_shift) { +#line 1873 "/home/jens/Source/shotwell/src/Dialogs.vala" + *time_shift = _vala_time_shift; +#line 15262 "Dialogs.c" + } +#line 1873 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (keep_relativity) { +#line 1873 "/home/jens/Source/shotwell/src/Dialogs.vala" + *keep_relativity = _vala_keep_relativity; +#line 15268 "Dialogs.c" + } +#line 1873 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (modify_originals) { +#line 1873 "/home/jens/Source/shotwell/src/Dialogs.vala" + *modify_originals = _vala_modify_originals; +#line 15274 "Dialogs.c" + } +#line 1873 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 15278 "Dialogs.c" +} + + +static gboolean adjust_date_time_dialog_on_spin_button_output (AdjustDateTimeDialog* self, GtkSpinButton* button) { + gboolean result = FALSE; + GtkSpinButton* _tmp0_ = NULL; + GtkSpinButton* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 1876 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_ADJUST_DATE_TIME_DIALOG (self), FALSE); +#line 1876 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_SPIN_BUTTON (button), FALSE); +#line 1877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = button; +#line 1877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = button; +#line 1877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_spin_button_get_value (_tmp1_); +#line 1877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = g_strdup_printf ("%02d", (gint) _tmp2_); +#line 1877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 1877 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_entry_get_type (), GtkEntry), _tmp4_); +#line 1877 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp4_); +#line 1879 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_on_time_changed (self); +#line 1881 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 1881 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 15313 "Dialogs.c" +} + + +static void adjust_date_time_dialog_on_time_changed (AdjustDateTimeDialog* self) { + gint64 time_shift = 0LL; + time_t _tmp0_ = 0; + time_t _tmp1_ = 0; + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gint64 _tmp6_ = 0LL; +#line 1884 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_ADJUST_DATE_TIME_DIALOG (self)); +#line 1885 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = adjust_date_time_dialog_get_time (self); +#line 1885 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->original_time; +#line 1885 "/home/jens/Source/shotwell/src/Dialogs.vala" + time_shift = ((gint64) _tmp0_) - ((gint64) _tmp1_); +#line 1887 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->system; +#line 1887 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1887 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->previous_time_system = (AdjustDateTimeDialogTimeSystem) _tmp3_; +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = time_shift; +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp6_ == ((gint64) 0)) { +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = TRUE; +#line 15346 "Dialogs.c" + } else { + gboolean _tmp7_ = FALSE; +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->no_original_time; +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp7_; +#line 15353 "Dialogs.c" + } +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_) { +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = TRUE; +#line 15359 "Dialogs.c" + } else { + gboolean _tmp8_ = FALSE; + GtkRadioButton* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->batch_radio_button; +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp10_) { +#line 15370 "Dialogs.c" + GtkRadioButton* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 1890 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->batch_radio_button; +#line 1890 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = gtk_widget_get_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget)); +#line 1890 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp12_; +#line 1890 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp13_; +#line 15382 "Dialogs.c" + } else { +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = FALSE; +#line 15386 "Dialogs.c" + } +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp8_; +#line 15390 "Dialogs.c" + } +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp4_) { +#line 15394 "Dialogs.c" + GtkLabel* _tmp14_ = NULL; +#line 1891 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = self->priv->notification; +#line 1891 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget)); +#line 15400 "Dialogs.c" + } else { + gboolean forward = FALSE; + gint64 _tmp15_ = 0LL; + gint days = 0; + gint hours = 0; + gint minutes = 0; + gint seconds = 0; + gint64 _tmp16_ = 0LL; + gint64 _tmp17_ = 0LL; + gint64 _tmp18_ = 0LL; + gint64 _tmp19_ = 0LL; + gint64 _tmp20_ = 0LL; + gint64 _tmp21_ = 0LL; + gint64 _tmp22_ = 0LL; + gint64 _tmp23_ = 0LL; + const gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + gchar* shift_status = NULL; + gchar* _tmp28_ = NULL; + GtkLabel* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + const gchar* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + const gchar* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + const gchar* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + const gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + GtkLabel* _tmp45_ = NULL; +#line 1893 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = time_shift; +#line 1893 "/home/jens/Source/shotwell/src/Dialogs.vala" + forward = _tmp15_ > ((gint64) 0); +#line 1896 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = time_shift; +#line 1896 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = llabs (_tmp16_); +#line 1896 "/home/jens/Source/shotwell/src/Dialogs.vala" + time_shift = _tmp17_; +#line 1898 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = time_shift; +#line 1898 "/home/jens/Source/shotwell/src/Dialogs.vala" + days = (gint) (_tmp18_ / ADJUST_DATE_TIME_DIALOG_SECONDS_IN_DAY); +#line 1899 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = time_shift; +#line 1899 "/home/jens/Source/shotwell/src/Dialogs.vala" + time_shift = _tmp19_ % ADJUST_DATE_TIME_DIALOG_SECONDS_IN_DAY; +#line 1900 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = time_shift; +#line 1900 "/home/jens/Source/shotwell/src/Dialogs.vala" + hours = (gint) (_tmp20_ / ADJUST_DATE_TIME_DIALOG_SECONDS_IN_HOUR); +#line 1901 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = time_shift; +#line 1901 "/home/jens/Source/shotwell/src/Dialogs.vala" + time_shift = _tmp21_ % ADJUST_DATE_TIME_DIALOG_SECONDS_IN_HOUR; +#line 1902 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = time_shift; +#line 1902 "/home/jens/Source/shotwell/src/Dialogs.vala" + minutes = (gint) (_tmp22_ / ADJUST_DATE_TIME_DIALOG_SECONDS_IN_MINUTE); +#line 1903 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = time_shift; +#line 1903 "/home/jens/Source/shotwell/src/Dialogs.vala" + seconds = (gint) (_tmp23_ % ADJUST_DATE_TIME_DIALOG_SECONDS_IN_MINUTE); +#line 1905 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = forward; +#line 1905 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp25_) { +#line 15475 "Dialogs.c" + const gchar* _tmp26_ = NULL; +#line 1906 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = _ ("Exposure time will be shifted forward by\n" \ +"%d %s, %d %s, %d %s, and %d %s."); +#line 1906 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = _tmp26_; +#line 15481 "Dialogs.c" + } else { + const gchar* _tmp27_ = NULL; +#line 1907 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = _ ("Exposure time will be shifted backward by\n" \ +"%d %s, %d %s, %d %s, and %d %s."); +#line 1907 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = _tmp27_; +#line 15488 "Dialogs.c" + } +#line 1905 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = g_strdup (_tmp24_); +#line 1905 "/home/jens/Source/shotwell/src/Dialogs.vala" + shift_status = _tmp28_; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = self->priv->notification; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = shift_status; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = days; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = days; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = ngettext ("day", "days", (gulong) _tmp32_); +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = hours; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = hours; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = ngettext ("hour", "hours", (gulong) _tmp35_); +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = minutes; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = minutes; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = ngettext ("minute", "minutes", (gulong) _tmp38_); +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = seconds; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = seconds; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = ngettext ("second", "seconds", (gulong) _tmp41_); +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = g_strdup_printf (_tmp30_, _tmp31_, _tmp33_, _tmp34_, _tmp36_, _tmp37_, _tmp39_, _tmp40_, _tmp42_); +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = _tmp43_; +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_text (_tmp29_, _tmp44_); +#line 1909 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp44_); +#line 1914 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = self->priv->notification; +#line 1914 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_widget_get_type (), GtkWidget)); +#line 1889 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (shift_status); +#line 15536 "Dialogs.c" + } +} + + +static void adjust_date_time_dialog_on_time_system_changed (AdjustDateTimeDialog* self) { + AdjustDateTimeDialogTimeSystem _tmp0_ = 0; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; + ConfigFacade* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + gint _tmp6_ = 0; + GtkComboBoxText* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 1918 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_ADJUST_DATE_TIME_DIALOG (self)); +#line 1919 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->previous_time_system; +#line 1919 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->system; +#line 1919 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1919 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == _tmp2_) { +#line 1920 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 15563 "Dialogs.c" + } +#line 1922 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = config_facade_get_instance (); +#line 1922 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 1922 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->system; +#line 1922 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1922 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_use_24_hour_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp6_ == ((gint) ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_24HR)); +#line 1922 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp4_); +#line 1924 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->system; +#line 1924 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox)); +#line 1924 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp8_ == ((gint) ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_24HR)) { +#line 15583 "Dialogs.c" + gint _tmp9_ = 0; + GtkSpinButton* _tmp10_ = NULL; + gdouble _tmp11_ = 0.0; + gint time = 0; + gint _tmp14_ = 0; + AdjustDateTimeDialogTimeSystem _tmp15_ = 0; + gint _tmp16_ = 0; + GtkSpinButton* _tmp17_ = NULL; + GtkSpinButton* _tmp18_ = NULL; + gint _tmp19_ = 0; +#line 1925 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->priv->hour; +#line 1925 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = gtk_spin_button_get_value (_tmp10_); +#line 1925 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp11_ == 12.0) { +#line 1925 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = 0; +#line 15602 "Dialogs.c" + } else { + GtkSpinButton* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; +#line 1925 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = self->priv->hour; +#line 1925 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = gtk_spin_button_get_value (_tmp12_); +#line 1925 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = (gint) _tmp13_; +#line 15612 "Dialogs.c" + } +#line 1925 "/home/jens/Source/shotwell/src/Dialogs.vala" + time = _tmp9_; +#line 1926 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = self->priv->previous_time_system; +#line 1926 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp15_ == ADJUST_DATE_TIME_DIALOG_TIME_SYSTEM_PM) { +#line 1926 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = 12; +#line 15622 "Dialogs.c" + } else { +#line 1926 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = 0; +#line 15626 "Dialogs.c" + } +#line 1926 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = time; +#line 1926 "/home/jens/Source/shotwell/src/Dialogs.vala" + time = _tmp16_ + _tmp14_; +#line 1928 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->priv->hour; +#line 1928 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_spin_button_set_range (_tmp17_, (gdouble) 0, (gdouble) 23); +#line 1929 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_set_original_time_label (self, TRUE); +#line 1931 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->hour; +#line 1931 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = time; +#line 1931 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_spin_button_set_value (_tmp18_, (gdouble) _tmp19_); +#line 15644 "Dialogs.c" + } else { + gint AMPM_hour = 0; + GtkSpinButton* _tmp20_ = NULL; + gdouble _tmp21_ = 0.0; + GtkSpinButton* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + GtkSpinButton* _tmp26_ = NULL; +#line 1933 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = self->priv->hour; +#line 1933 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = gtk_spin_button_get_value (_tmp20_); +#line 1933 "/home/jens/Source/shotwell/src/Dialogs.vala" + AMPM_hour = ((gint) _tmp21_) % 12; +#line 1935 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = self->priv->hour; +#line 1935 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_spin_button_set_range (_tmp22_, (gdouble) 1, (gdouble) 12); +#line 1936 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_set_original_time_label (self, FALSE); +#line 1938 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = AMPM_hour; +#line 1938 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp24_ == 0) { +#line 1938 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = 12; +#line 15671 "Dialogs.c" + } else { + gint _tmp25_ = 0; +#line 1938 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = AMPM_hour; +#line 1938 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = _tmp25_; +#line 15678 "Dialogs.c" + } +#line 1938 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = self->priv->hour; +#line 1938 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_spin_button_set_value (_tmp26_, (gdouble) _tmp23_); +#line 15684 "Dialogs.c" + } +#line 1941 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_on_time_changed (self); +#line 15688 "Dialogs.c" +} + + +static void adjust_date_time_dialog_class_init (AdjustDateTimeDialogClass * klass) { +#line 1626 "/home/jens/Source/shotwell/src/Dialogs.vala" + adjust_date_time_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1626 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (AdjustDateTimeDialogPrivate)); +#line 1626 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (klass)->finalize = adjust_date_time_dialog_finalize; +#line 15699 "Dialogs.c" +} + + +static void adjust_date_time_dialog_instance_init (AdjustDateTimeDialog * self) { +#line 1626 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = ADJUST_DATE_TIME_DIALOG_GET_PRIVATE (self); +#line 1631 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->no_original_time = FALSE; +#line 15708 "Dialogs.c" +} + + +static void adjust_date_time_dialog_finalize (GObject* obj) { + AdjustDateTimeDialog * self; +#line 1626 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialog); +#line 1636 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->original_time_label); +#line 1637 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->calendar); +#line 1638 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->hour); +#line 1639 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->minute); +#line 1640 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->second); +#line 1641 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->system); +#line 1642 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->relativity_radio_button); +#line 1643 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->batch_radio_button); +#line 1644 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->modify_originals_check_button); +#line 1645 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->notification); +#line 1626 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (adjust_date_time_dialog_parent_class)->finalize (obj); +#line 15738 "Dialogs.c" +} + + +GType adjust_date_time_dialog_get_type (void) { + static volatile gsize adjust_date_time_dialog_type_id__volatile = 0; + if (g_once_init_enter (&adjust_date_time_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (AdjustDateTimeDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) adjust_date_time_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AdjustDateTimeDialog), 0, (GInstanceInitFunc) adjust_date_time_dialog_instance_init, NULL }; + GType adjust_date_time_dialog_type_id; + adjust_date_time_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "AdjustDateTimeDialog", &g_define_type_info, 0); + g_once_init_leave (&adjust_date_time_dialog_type_id__volatile, adjust_date_time_dialog_type_id); + } + return adjust_date_time_dialog_type_id__volatile; +} + + +void multiple_object_error_dialog (GeeArrayList* objects, const gchar* message, const gchar* title) { + gchar* dialog_message = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint remainder = 0; + GeeArrayList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + GtkMessageDialog* dialog = NULL; + AppWindow* _tmp31_ = NULL; + AppWindow* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + GtkMessageDialog* _tmp34_ = NULL; + GtkMessageDialog* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; +#line 1946 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GEE_IS_ARRAY_LIST (objects)); +#line 1946 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (message != NULL); +#line 1946 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (title != NULL); +#line 1948 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = message; +#line 1948 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_strconcat (_tmp0_, "\n", NULL); +#line 1948 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_message = _tmp1_; +#line 15782 "Dialogs.c" + { + gint i = 0; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + i = 0; +#line 15787 "Dialogs.c" + { + gboolean _tmp2_ = FALSE; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = TRUE; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 15794 "Dialogs.c" + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; + const gchar* _tmp10_ = NULL; + GeeArrayList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gpointer _tmp13_ = NULL; + DataObject* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp2_) { +#line 15809 "Dialogs.c" + gint _tmp3_ = 0; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = i; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + i = _tmp3_ + 1; +#line 15815 "Dialogs.c" + } +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = FALSE; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = i; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_ < MAX_OBJECTS_DISPLAYED) { +#line 15823 "Dialogs.c" + GeeArrayList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = objects; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = i; +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp8_ > _tmp9_; +#line 15838 "Dialogs.c" + } else { +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = FALSE; +#line 15842 "Dialogs.c" + } +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp4_) { +#line 1951 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 15848 "Dialogs.c" + } +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = dialog_message; +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = objects; +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = i; +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp12_); +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = (DataObject*) _tmp13_; +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = data_object_to_string (_tmp14_); +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = _tmp15_; +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = g_strconcat ("\n", _tmp16_, NULL); +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _tmp17_; +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = g_strconcat (_tmp10_, _tmp18_, NULL); +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (dialog_message); +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_message = _tmp19_; +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp18_); +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp16_); +#line 1952 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp14_); +#line 15880 "Dialogs.c" + } + } + } +#line 1954 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = objects; +#line 1954 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1954 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _tmp21_; +#line 1954 "/home/jens/Source/shotwell/src/Dialogs.vala" + remainder = _tmp22_ - MAX_OBJECTS_DISPLAYED; +#line 1955 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = remainder; +#line 1955 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp23_ > 0) { +#line 15896 "Dialogs.c" + const gchar* _tmp24_ = NULL; + gint _tmp25_ = 0; + const gchar* _tmp26_ = NULL; + gint _tmp27_ = 0; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = dialog_message; +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = remainder; +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = ngettext ("\n\nAnd %d other.", "\n\nAnd %d others.", (gulong) _tmp25_); +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = remainder; +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = g_strdup_printf (_tmp26_, _tmp27_); +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = _tmp28_; +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = g_strconcat (_tmp24_, _tmp29_, NULL); +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (dialog_message); +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog_message = _tmp30_; +#line 1956 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp29_); +#line 15924 "Dialogs.c" + } +#line 1960 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = app_window_get_instance (); +#line 1960 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = _tmp31_; +#line 1960 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = dialog_message; +#line 1960 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = (GtkMessageDialog*) gtk_message_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_window_get_type (), GtkWindow), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", _tmp33_); +#line 1960 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp34_); +#line 1960 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = _tmp34_; +#line 1960 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp32_); +#line 1960 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp35_; +#line 1963 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = title; +#line 1963 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_window_get_type (), GtkWindow), _tmp36_); +#line 1965 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog)); +#line 1966 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_widget_get_type (), GtkWidget)); +#line 1946 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 1946 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (dialog_message); +#line 15954 "Dialogs.c" +} + + +TagsDialog* tags_dialog_construct (GType object_type, const gchar* title, const gchar* label, const gchar* initial_text) { + TagsDialog* self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + HierarchicalTagIndex* _tmp3_ = NULL; + HierarchicalTagIndex* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; +#line 1970 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (title != NULL, NULL); +#line 1970 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (label != NULL, NULL); +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = title; +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = label; +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = initial_text; +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = hierarchical_tag_index_get_global_index (); +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = hierarchical_tag_index_get_all_tags (_tmp4_); +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp5_; +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (TagsDialog*) text_entry_dialog_mediator_construct (object_type, _tmp0_, _tmp1_, _tmp2_, _tmp6_, ","); +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp6_); +#line 1971 "/home/jens/Source/shotwell/src/Dialogs.vala" + _hierarchical_tag_index_unref0 (_tmp4_); +#line 1970 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 15993 "Dialogs.c" +} + + +static void tags_dialog_class_init (TagsDialogClass * klass) { +#line 1969 "/home/jens/Source/shotwell/src/Dialogs.vala" + tags_dialog_parent_class = g_type_class_peek_parent (klass); +#line 16000 "Dialogs.c" +} + + +static void tags_dialog_instance_init (TagsDialog * self) { +} + + +GType tags_dialog_get_type (void) { + static volatile gsize tags_dialog_type_id__volatile = 0; + if (g_once_init_enter (&tags_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagsDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tags_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagsDialog), 0, (GInstanceInitFunc) tags_dialog_instance_init, NULL }; + GType tags_dialog_type_id; + tags_dialog_type_id = g_type_register_static (TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, "TagsDialog", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&tags_dialog_type_id__volatile, tags_dialog_type_id); + } + return tags_dialog_type_id__volatile; +} + + +AddTagsDialog* add_tags_dialog_construct (GType object_type) { + AddTagsDialog* self = NULL; + gchar* title = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1978 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = g_dpgettext2 (NULL, "Dialog Title", RESOURCES_ADD_TAGS_TITLE); +#line 1978 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1978 "/home/jens/Source/shotwell/src/Dialogs.vala" + title = _tmp1_; +#line 1980 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _ ("Tags (separated by commas):"); +#line 1980 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (AddTagsDialog*) tags_dialog_construct (object_type, title, _tmp2_, NULL); +#line 1977 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (title); +#line 1977 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 16040 "Dialogs.c" +} + + +AddTagsDialog* add_tags_dialog_new (void) { +#line 1977 "/home/jens/Source/shotwell/src/Dialogs.vala" + return add_tags_dialog_construct (TYPE_ADD_TAGS_DIALOG); +#line 16047 "Dialogs.c" +} + + +gchar** add_tags_dialog_execute (AddTagsDialog* self, int* result_length1) { + gchar** result = NULL; + gchar* text = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + gchar** _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 1983 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_ADD_TAGS_DIALOG (self), NULL); +#line 1984 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _text_entry_dialog_mediator_execute (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)); +#line 1984 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp0_; +#line 1985 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = text; +#line 1985 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_ == NULL) { +#line 16077 "Dialogs.c" + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 1986 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = NULL; +#line 1986 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2__length1 = 0; +#line 1986 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (result_length1) { +#line 1986 "/home/jens/Source/shotwell/src/Dialogs.vala" + *result_length1 = _tmp2__length1; +#line 16088 "Dialogs.c" + } +#line 1986 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp2_; +#line 1986 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 1986 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16096 "Dialogs.c" + } +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = text; +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_ = g_strsplit (_tmp3_, ",", 0); +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp5_; +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6__length1 = _vala_array_length (_tmp4_); +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = tag_prep_tag_names (_tmp6_, _vala_array_length (_tmp4_), &_tmp7_); +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9__length1 = _tmp7_; +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL); +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10__length1 = _tmp9__length1; +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (result_length1) { +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + *result_length1 = _tmp10__length1; +#line 16122 "Dialogs.c" + } +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp10_; +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 1990 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16130 "Dialogs.c" +} + + +static gboolean add_tags_dialog_real_on_modify_validate (TextEntryDialogMediator* base, const gchar* text) { + AddTagsDialog * self; + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gchar** names = NULL; + const gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + gchar** _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint names_length1 = 0; + gint _names_size_ = 0; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 1993 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_ADD_TAGS_DIALOG, AddTagsDialog); +#line 1993 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (text != NULL, FALSE); +#line 1994 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = text; +#line 1994 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = string_contains (_tmp0_, TAG_PATH_SEPARATOR_STRING); +#line 1994 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_) { +#line 1995 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 1995 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16167 "Dialogs.c" + } +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = text; +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_ = g_strsplit (_tmp2_, ",", 0); +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5__length1 = _vala_array_length (_tmp3_); +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = tag_prep_tag_names (_tmp5_, _vala_array_length (_tmp3_), &_tmp6_); +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8__length1 = _tmp6_; +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = (_vala_array_free (_tmp5_, _tmp5__length1, (GDestroyNotify) g_free), NULL); +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + names = _tmp8_; +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + names_length1 = _tmp8__length1; +#line 1999 "/home/jens/Source/shotwell/src/Dialogs.vala" + _names_size_ = names_length1; +#line 2001 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = names; +#line 2001 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9__length1 = names_length1; +#line 2001 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp9__length1 > 0; +#line 2001 "/home/jens/Source/shotwell/src/Dialogs.vala" + names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL); +#line 2001 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16201 "Dialogs.c" +} + + +static void add_tags_dialog_class_init (AddTagsDialogClass * klass) { +#line 1976 "/home/jens/Source/shotwell/src/Dialogs.vala" + add_tags_dialog_parent_class = g_type_class_peek_parent (klass); +#line 1976 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((TextEntryDialogMediatorClass *) klass)->on_modify_validate = add_tags_dialog_real_on_modify_validate; +#line 16210 "Dialogs.c" +} + + +static void add_tags_dialog_instance_init (AddTagsDialog * self) { +} + + +GType add_tags_dialog_get_type (void) { + static volatile gsize add_tags_dialog_type_id__volatile = 0; + if (g_once_init_enter (&add_tags_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (AddTagsDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) add_tags_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AddTagsDialog), 0, (GInstanceInitFunc) add_tags_dialog_instance_init, NULL }; + GType add_tags_dialog_type_id; + add_tags_dialog_type_id = g_type_register_static (TYPE_TAGS_DIALOG, "AddTagsDialog", &g_define_type_info, 0); + g_once_init_leave (&add_tags_dialog_type_id__volatile, add_tags_dialog_type_id); + } + return add_tags_dialog_type_id__volatile; +} + + +ModifyTagsDialog* modify_tags_dialog_construct (GType object_type, MediaSource* source) { + ModifyTagsDialog* self = NULL; + const gchar* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 2006 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); +#line 2007 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _ ("Tags (separated by commas):"); +#line 2007 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = source; +#line 2007 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = modify_tags_dialog_get_initial_text (_tmp1_); +#line 2007 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 2007 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (ModifyTagsDialog*) tags_dialog_construct (object_type, RESOURCES_MODIFY_TAGS_LABEL, _tmp0_, _tmp3_); +#line 2007 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp3_); +#line 2006 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 16252 "Dialogs.c" +} + + +ModifyTagsDialog* modify_tags_dialog_new (MediaSource* source) { +#line 2006 "/home/jens/Source/shotwell/src/Dialogs.vala" + return modify_tags_dialog_construct (TYPE_MODIFY_TAGS_DIALOG, source); +#line 16259 "Dialogs.c" +} + + +static gchar* modify_tags_dialog_get_initial_text (MediaSource* source) { + gchar* result = NULL; + GeeCollection* source_tags = NULL; + TagSourceCollection* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* terminal_tags = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeSortedSet* tag_basenames = NULL; + GeeTreeSet* _tmp6_ = NULL; + gchar* text = NULL; +#line 2011 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); +#line 2012 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = tag_global; +#line 2012 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = source; +#line 2012 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = tag_source_collection_fetch_for_source (_tmp0_, _tmp1_); +#line 2012 "/home/jens/Source/shotwell/src/Dialogs.vala" + source_tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 2013 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = source_tags; +#line 2013 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp3_ == NULL) { +#line 2014 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = NULL; +#line 2014 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (source_tags); +#line 2014 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16296 "Dialogs.c" + } +#line 2016 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = source_tags; +#line 2016 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = tag_get_terminal_tags (_tmp4_); +#line 2016 "/home/jens/Source/shotwell/src/Dialogs.vala" + terminal_tags = _tmp5_; +#line 2018 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 2018 "/home/jens/Source/shotwell/src/Dialogs.vala" + tag_basenames = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 16308 "Dialogs.c" + { + GeeIterator* _tag_it = NULL; + GeeCollection* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = terminal_tags; +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tag_it = _tmp8_; +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 16321 "Dialogs.c" + GeeIterator* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + GeeSortedSet* _tmp13_ = NULL; + Tag* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tag_it; +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = gee_iterator_next (_tmp9_); +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp10_) { +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 16341 "Dialogs.c" + } +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tag_it; +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = gee_iterator_get (_tmp11_); +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + tag = (Tag*) _tmp12_; +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = tag_basenames; +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = tag; +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = tag_get_path (_tmp14_); +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = _tmp15_; +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = hierarchical_tag_utilities_get_basename (_tmp16_); +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _tmp17_; +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection), _tmp18_); +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp18_); +#line 2020 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp16_); +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (tag); +#line 16369 "Dialogs.c" + } +#line 2019 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tag_it); +#line 16373 "Dialogs.c" + } +#line 2022 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = NULL; +#line 16377 "Dialogs.c" + { + GeeIterator* _name_it = NULL; + GeeSortedSet* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = tag_basenames; +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _name_it = _tmp20_; +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 16390 "Dialogs.c" + GeeIterator* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + gchar* name = NULL; + GeeIterator* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + const gchar* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = _name_it; +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = gee_iterator_next (_tmp21_); +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp22_) { +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 16408 "Dialogs.c" + } +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = _name_it; +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = gee_iterator_get (_tmp23_); +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + name = (gchar*) _tmp24_; +#line 2024 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = text; +#line 2024 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp25_ == NULL) { +#line 16420 "Dialogs.c" + gchar* _tmp26_ = NULL; +#line 2025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = g_strdup (""); +#line 2025 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 2025 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp26_; +#line 16428 "Dialogs.c" + } else { + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; +#line 2027 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = text; +#line 2027 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = g_strconcat (_tmp27_, ", ", NULL); +#line 2027 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 2027 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp28_; +#line 16440 "Dialogs.c" + } +#line 2029 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = text; +#line 2029 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = name; +#line 2029 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = g_strconcat (_tmp29_, _tmp30_, NULL); +#line 2029 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 2029 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp31_; +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (name); +#line 16454 "Dialogs.c" + } +#line 2023 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_name_it); +#line 16458 "Dialogs.c" + } +#line 2032 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = text; +#line 2032 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (tag_basenames); +#line 2032 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (terminal_tags); +#line 2032 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (source_tags); +#line 2032 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16470 "Dialogs.c" +} + + +GeeArrayList* modify_tags_dialog_execute (ModifyTagsDialog* self) { + GeeArrayList* result = NULL; + gchar* text = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GeeArrayList* new_tags = NULL; + GeeArrayList* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gchar** tag_names = NULL; + const gchar* _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gchar** _tmp10_ = NULL; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint tag_names_length1 = 0; + gint _tag_names_size_ = 0; + HierarchicalTagIndex* _tmp12_ = NULL; + HierarchicalTagIndex* _tmp13_ = NULL; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint _tmp15_ = 0; + gchar** _tmp16_ = NULL; + gchar** _tmp17_ = NULL; + gint _tmp17__length1 = 0; +#line 2035 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_MODIFY_TAGS_DIALOG (self), NULL); +#line 2036 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _text_entry_dialog_mediator_execute (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)); +#line 2036 "/home/jens/Source/shotwell/src/Dialogs.vala" + text = _tmp0_; +#line 2037 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = text; +#line 2037 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_ == NULL) { +#line 2038 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = NULL; +#line 2038 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 2038 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16519 "Dialogs.c" + } +#line 2040 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 2040 "/home/jens/Source/shotwell/src/Dialogs.vala" + new_tags = _tmp2_; +#line 2043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = text; +#line 2043 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = is_string_empty (_tmp3_); +#line 2043 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp4_) { +#line 2044 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = new_tags; +#line 2044 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 2044 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16537 "Dialogs.c" + } +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = text; +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_ = g_strsplit (_tmp5_, ",", 0); +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8__length1 = _vala_array_length (_tmp6_); +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = tag_prep_tag_names (_tmp8_, _vala_array_length (_tmp6_), &_tmp9_); +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11__length1 = _tmp9_; +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = (_vala_array_free (_tmp8_, _tmp8__length1, (GDestroyNotify) g_free), NULL); +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + tag_names = _tmp11_; +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + tag_names_length1 = _tmp11__length1; +#line 2047 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tag_names_size_ = tag_names_length1; +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = hierarchical_tag_index_get_global_index (); +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp12_; +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = tag_names; +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14__length1 = tag_names_length1; +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = hierarchical_tag_index_get_paths_for_names_array (_tmp13_, _tmp14_, _tmp14__length1, &_tmp15_); +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + tag_names = (_vala_array_free (tag_names, tag_names_length1, (GDestroyNotify) g_free), NULL); +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + tag_names = _tmp16_; +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + tag_names_length1 = _tmp15_; +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tag_names_size_ = tag_names_length1; +#line 2049 "/home/jens/Source/shotwell/src/Dialogs.vala" + _hierarchical_tag_index_unref0 (_tmp13_); +#line 2051 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = tag_names; +#line 2051 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17__length1 = tag_names_length1; +#line 16585 "Dialogs.c" + { + gchar** name_collection = NULL; + gint name_collection_length1 = 0; + gint _name_collection_size_ = 0; + gint name_it = 0; +#line 2051 "/home/jens/Source/shotwell/src/Dialogs.vala" + name_collection = _tmp17_; +#line 2051 "/home/jens/Source/shotwell/src/Dialogs.vala" + name_collection_length1 = _tmp17__length1; +#line 2051 "/home/jens/Source/shotwell/src/Dialogs.vala" + for (name_it = 0; name_it < _tmp17__length1; name_it = name_it + 1) { +#line 16597 "Dialogs.c" + gchar* _tmp18_ = NULL; + gchar* name = NULL; +#line 2051 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = g_strdup (name_collection[name_it]); +#line 2051 "/home/jens/Source/shotwell/src/Dialogs.vala" + name = _tmp18_; +#line 16604 "Dialogs.c" + { + GeeArrayList* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + Tag* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; +#line 2052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = new_tags; +#line 2052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = name; +#line 2052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = tag_for_path (_tmp20_); +#line 2052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _tmp21_; +#line 2052 "/home/jens/Source/shotwell/src/Dialogs.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp22_); +#line 2052 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp22_); +#line 2051 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (name); +#line 16624 "Dialogs.c" + } + } + } +#line 2054 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = new_tags; +#line 2054 "/home/jens/Source/shotwell/src/Dialogs.vala" + tag_names = (_vala_array_free (tag_names, tag_names_length1, (GDestroyNotify) g_free), NULL); +#line 2054 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (text); +#line 2054 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16636 "Dialogs.c" +} + + +static gboolean modify_tags_dialog_real_on_modify_validate (TextEntryDialogMediator* base, const gchar* text) { + ModifyTagsDialog * self; + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 2057 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialog); +#line 2057 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (text != NULL, FALSE); +#line 2058 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = text; +#line 2058 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = string_contains (_tmp0_, TAG_PATH_SEPARATOR_STRING); +#line 2058 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = !_tmp1_; +#line 2058 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 16657 "Dialogs.c" +} + + +static void modify_tags_dialog_class_init (ModifyTagsDialogClass * klass) { +#line 2005 "/home/jens/Source/shotwell/src/Dialogs.vala" + modify_tags_dialog_parent_class = g_type_class_peek_parent (klass); +#line 2005 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((TextEntryDialogMediatorClass *) klass)->on_modify_validate = modify_tags_dialog_real_on_modify_validate; +#line 16666 "Dialogs.c" +} + + +static void modify_tags_dialog_instance_init (ModifyTagsDialog * self) { +} + + +GType modify_tags_dialog_get_type (void) { + static volatile gsize modify_tags_dialog_type_id__volatile = 0; + if (g_once_init_enter (&modify_tags_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ModifyTagsDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) modify_tags_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ModifyTagsDialog), 0, (GInstanceInitFunc) modify_tags_dialog_instance_init, NULL }; + GType modify_tags_dialog_type_id; + modify_tags_dialog_type_id = g_type_register_static (TYPE_TAGS_DIALOG, "ModifyTagsDialog", &g_define_type_info, 0); + g_once_init_leave (&modify_tags_dialog_type_id__volatile, modify_tags_dialog_type_id); + } + return modify_tags_dialog_type_id__volatile; +} + + +gchar* welcome_service_entry_get_service_name (WelcomeServiceEntry* self) { +#line 2064 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_WELCOME_SERVICE_ENTRY (self), NULL); +#line 2064 "/home/jens/Source/shotwell/src/Dialogs.vala" + return WELCOME_SERVICE_ENTRY_GET_INTERFACE (self)->get_service_name (self); +#line 16691 "Dialogs.c" +} + + +void welcome_service_entry_execute (WelcomeServiceEntry* self) { +#line 2066 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_WELCOME_SERVICE_ENTRY (self)); +#line 2066 "/home/jens/Source/shotwell/src/Dialogs.vala" + WELCOME_SERVICE_ENTRY_GET_INTERFACE (self)->execute (self); +#line 16700 "Dialogs.c" +} + + +static void welcome_service_entry_base_init (WelcomeServiceEntryIface * iface) { +#line 2063 "/home/jens/Source/shotwell/src/Dialogs.vala" + static gboolean initialized = FALSE; +#line 2063 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!initialized) { +#line 2063 "/home/jens/Source/shotwell/src/Dialogs.vala" + initialized = TRUE; +#line 16711 "Dialogs.c" + } +} + + +GType welcome_service_entry_get_type (void) { + static volatile gsize welcome_service_entry_type_id__volatile = 0; + if (g_once_init_enter (&welcome_service_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (WelcomeServiceEntryIface), (GBaseInitFunc) welcome_service_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType welcome_service_entry_type_id; + welcome_service_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "WelcomeServiceEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (welcome_service_entry_type_id, G_TYPE_OBJECT); + g_once_init_leave (&welcome_service_entry_type_id__volatile, welcome_service_entry_type_id); + } + return welcome_service_entry_type_id__volatile; +} + + +WelcomeDialog* welcome_dialog_construct (GType object_type, GtkWindow* owner) { + WelcomeDialog * self = NULL; + SpitDataImportsWelcomeImportMetaHost* _tmp0_ = NULL; + gboolean show_system_pictures_import = FALSE; + gboolean _tmp1_ = FALSE; + GtkWidget* ok_button = NULL; + GtkWidget* _tmp2_ = NULL; + GtkWidget* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkWindow* _tmp5_ = NULL; + GtkLabel* primary_text = NULL; + GtkLabel* _tmp6_ = NULL; + GtkLabel* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GtkLabel* _tmp11_ = NULL; + GtkLabel* _tmp12_ = NULL; + GtkLabel* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GtkLabel* _tmp17_ = NULL; + GtkImage* image = NULL; + GtkImage* _tmp18_ = NULL; + GtkBox* header_text = NULL; + GtkBox* _tmp19_ = NULL; + GtkBox* _tmp20_ = NULL; + GtkLabel* _tmp21_ = NULL; + GtkBox* _tmp22_ = NULL; + GtkLabel* _tmp23_ = NULL; + GtkBox* header_content = NULL; + GtkBox* _tmp24_ = NULL; + GtkBox* _tmp25_ = NULL; + GtkImage* _tmp26_ = NULL; + GtkBox* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; + GtkLabel* instructions = NULL; + GtkLabel* _tmp29_ = NULL; + gchar* indent_prefix = NULL; + gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + GtkTextDirection _tmp32_ = 0; + gchar* arrow_glyph = NULL; + gchar* _tmp33_ = NULL; + GtkLabel* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + GtkLabel* _tmp56_ = NULL; + GtkBox* _tmp57_ = NULL; + GtkBox* _tmp58_ = NULL; + GtkBox* _tmp59_ = NULL; + GtkBox* _tmp60_ = NULL; + gboolean _tmp61_ = FALSE; + const gchar* _tmp73_ = NULL; + GtkLabel* _tmp74_ = NULL; + GtkLabel* _tmp75_ = NULL; + GtkLabel* _tmp76_ = NULL; + GtkBox* content = NULL; + GtkBox* _tmp77_ = NULL; + GtkBox* _tmp78_ = NULL; + GtkBox* _tmp79_ = NULL; + GtkBox* _tmp80_ = NULL; + GtkLabel* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; + GtkCheckButton* _tmp83_ = NULL; + GtkCheckButton* _tmp84_ = NULL; + GtkCheckButton* _tmp85_ = NULL; + GtkAlignment* alignment = NULL; + GtkAlignment* _tmp86_ = NULL; + GtkBox* _tmp87_ = NULL; + GtkWidget* _tmp88_ = NULL; + SpitDataImportsWelcomeImportMetaHost* _tmp89_ = NULL; +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (GTK_IS_WINDOW (owner), NULL); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (WelcomeDialog*) g_object_new (object_type, NULL); +#line 2084 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = spit_data_imports_welcome_import_meta_host_new (self); +#line 2084 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->import_meta_host); +#line 2084 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->import_meta_host = _tmp0_; +#line 2085 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = welcome_dialog_is_system_pictures_import_possible (); +#line 2085 "/home/jens/Source/shotwell/src/Dialogs.vala" + show_system_pictures_import = _tmp1_; +#line 2086 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_OK_LABEL, (gint) GTK_RESPONSE_OK); +#line 2086 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 2086 "/home/jens/Source/shotwell/src/Dialogs.vala" + ok_button = _tmp3_; +#line 2087 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _ ("Welcome!"); +#line 2087 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp4_); +#line 2088 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 2089 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_type_hint (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), GDK_WINDOW_TYPE_HINT_DIALOG); +#line 2090 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = owner; +#line 2090 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp5_); +#line 2092 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = (GtkLabel*) gtk_label_new (""); +#line 2092 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp6_); +#line 2092 "/home/jens/Source/shotwell/src/Dialogs.vala" + primary_text = _tmp6_; +#line 2093 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = primary_text; +#line 2093 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _ ("Welcome to Shotwell!"); +#line 2093 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = g_strdup_printf ("%s", _tmp8_); +#line 2093 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 2093 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_markup (_tmp7_, _tmp10_); +#line 2093 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp10_); +#line 2095 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = primary_text; +#line 2095 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_misc_get_type (), GtkMisc), (gfloat) 0, 0.5f); +#line 2096 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = (GtkLabel*) gtk_label_new (""); +#line 2096 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp12_); +#line 2096 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->secondary_text); +#line 2096 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->secondary_text = _tmp12_; +#line 2097 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = self->priv->secondary_text; +#line 2097 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _ ("To get started, import photos in any of these ways:"); +#line 2097 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = g_strdup_printf ("%s", _tmp14_); +#line 2097 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = _tmp15_; +#line 2097 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_markup (_tmp13_, _tmp16_); +#line 2097 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp16_); +#line 2099 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->priv->secondary_text; +#line 2099 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_misc_get_type (), GtkMisc), (gfloat) 0, 0.5f); +#line 2100 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = (GtkImage*) gtk_image_new_from_icon_name ("shotwell", GTK_ICON_SIZE_DIALOG); +#line 2100 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp18_); +#line 2100 "/home/jens/Source/shotwell/src/Dialogs.vala" + image = _tmp18_; +#line 2102 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 2102 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp19_); +#line 2102 "/home/jens/Source/shotwell/src/Dialogs.vala" + header_text = _tmp19_; +#line 2103 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = header_text; +#line 2103 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = primary_text; +#line 2103 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp20_, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 5); +#line 2104 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = header_text; +#line 2104 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = self->priv->secondary_text; +#line 2104 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 2106 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); +#line 2106 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp24_); +#line 2106 "/home/jens/Source/shotwell/src/Dialogs.vala" + header_content = _tmp24_; +#line 2107 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = header_content; +#line 2107 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = image; +#line 2107 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 2108 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = header_content; +#line 2108 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = header_text; +#line 2108 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (_tmp27_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 2110 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = (GtkLabel*) gtk_label_new (""); +#line 2110 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp29_); +#line 2110 "/home/jens/Source/shotwell/src/Dialogs.vala" + instructions = _tmp29_; +#line 2111 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = g_strdup (" "); +#line 2111 "/home/jens/Source/shotwell/src/Dialogs.vala" + indent_prefix = _tmp30_; +#line 2113 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = gtk_widget_get_direction (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 2113 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp32_ == GTK_TEXT_DIR_RTL) { +#line 2113 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = "◂"; +#line 16957 "Dialogs.c" + } else { +#line 2113 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = "▸"; +#line 16961 "Dialogs.c" + } +#line 2113 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = g_strdup (_tmp31_); +#line 2113 "/home/jens/Source/shotwell/src/Dialogs.vala" + arrow_glyph = _tmp33_; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = instructions; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = indent_prefix; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = g_strconcat (_tmp35_, "• %s\n", NULL); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = _tmp36_; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = indent_prefix; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = g_strconcat (_tmp38_, "• %s\n", NULL); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = _tmp39_; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = g_strconcat (_tmp37_, _tmp40_, NULL); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = _tmp41_; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = indent_prefix; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = g_strconcat (_tmp43_, "• %s", NULL); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = _tmp44_; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = g_strconcat (_tmp42_, _tmp45_, NULL); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = _tmp46_; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = _ ("Choose File %s Import From Folder"); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = arrow_glyph; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = g_strdup_printf (_tmp48_, _tmp49_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = _tmp50_; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = _ ("Drag and drop photos onto the Shotwell window"); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = _ ("Connect a camera to your computer and import"); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = g_strdup_printf (_tmp47_, _tmp51_, _tmp52_, _tmp53_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = _tmp54_; +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_markup (_tmp34_, _tmp55_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp55_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp51_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp47_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp45_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp42_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp40_); +#line 2115 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp37_); +#line 2120 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = instructions; +#line 2120 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, gtk_misc_get_type (), GtkMisc), (gfloat) 0, 0.5f); +#line 2122 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); +#line 2122 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp57_); +#line 2122 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->import_action_checkbox_packer); +#line 2122 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->import_action_checkbox_packer = _tmp57_; +#line 2124 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp58_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); +#line 2124 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp58_); +#line 2124 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->external_import_action_checkbox_packer); +#line 2124 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_import_action_checkbox_packer = _tmp58_; +#line 2125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp59_ = self->priv->import_action_checkbox_packer; +#line 2125 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp60_ = self->priv->external_import_action_checkbox_packer; +#line 2125 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_widget_get_type (), GtkWidget)); +#line 2127 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp61_ = show_system_pictures_import; +#line 2127 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp61_) { +#line 17057 "Dialogs.c" + const gchar* _tmp62_ = NULL; + GFile* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + GtkCheckButton* _tmp69_ = NULL; + GtkBox* _tmp70_ = NULL; + GtkCheckButton* _tmp71_ = NULL; + GtkCheckButton* _tmp72_ = NULL; +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp62_ = _ ("_Import photos from your %s folder"); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp63_ = app_dirs_get_import_dir (); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp64_ = _tmp63_; +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp65_ = get_display_pathname (_tmp64_); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp66_ = _tmp65_; +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp67_ = g_strdup_printf (_tmp62_, _tmp66_); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp68_ = _tmp67_; +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = (GtkCheckButton*) gtk_check_button_new_with_mnemonic (_tmp68_); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp69_); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->system_pictures_import_check); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->system_pictures_import_check = _tmp69_; +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp68_); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp66_); +#line 2128 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp64_); +#line 2131 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70_ = self->priv->import_action_checkbox_packer; +#line 2131 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp71_ = self->priv->system_pictures_import_check; +#line 2131 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_widget_get_type (), GtkWidget)); +#line 2132 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp72_ = self->priv->system_pictures_import_check; +#line 2132 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 17107 "Dialogs.c" + } +#line 2135 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp73_ = _ ("You can also import photos in any of these ways:"); +#line 2135 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp74_ = (GtkLabel*) gtk_label_new (_tmp73_); +#line 2135 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp74_); +#line 2135 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->instruction_header); +#line 2135 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->instruction_header = _tmp74_; +#line 2137 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp75_ = self->priv->instruction_header; +#line 2137 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 2138 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp76_ = self->priv->instruction_header; +#line 2138 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_margin_top (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_widget_get_type (), GtkWidget), 20); +#line 2140 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp77_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 16); +#line 2140 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp77_); +#line 2140 "/home/jens/Source/shotwell/src/Dialogs.vala" + content = _tmp77_; +#line 2141 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp78_ = header_content; +#line 2141 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (content, G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 2142 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp79_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); +#line 2142 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp79_); +#line 2142 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->import_content); +#line 2142 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->import_content = _tmp79_; +#line 2143 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp80_ = self->priv->import_content; +#line 2143 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (content, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, gtk_widget_get_type (), GtkWidget)); +#line 2144 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp81_ = instructions; +#line 2144 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (content, G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 2146 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp82_ = _ ("_Don't show this message again"); +#line 2146 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp83_ = (GtkCheckButton*) gtk_check_button_new_with_mnemonic (_tmp82_); +#line 2146 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp83_); +#line 2146 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->hide_button); +#line 2146 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->hide_button = _tmp83_; +#line 2147 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp84_ = self->priv->hide_button; +#line 2147 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 2148 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp85_ = self->priv->hide_button; +#line 2148 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (content, G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 6); +#line 2150 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp86_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 0, (gfloat) 0); +#line 2150 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp86_); +#line 2150 "/home/jens/Source/shotwell/src/Dialogs.vala" + alignment = _tmp86_; +#line 2151 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_alignment_set_padding (alignment, (guint) 12, (guint) 0, (guint) 12, (guint) 12); +#line 2152 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (alignment, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (content, gtk_widget_get_type (), GtkWidget)); +#line 2154 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp87_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 2154 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_box_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, gtk_box_get_type (), GtkBox), G_TYPE_CHECK_INSTANCE_CAST (alignment, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 2156 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_has_resize_grip (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 2158 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp88_ = ok_button; +#line 2158 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_grab_focus (_tmp88_); +#line 2160 "/home/jens/Source/shotwell/src/Dialogs.vala" + welcome_dialog_install_import_content (self); +#line 2162 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp89_ = self->priv->import_meta_host; +#line 2162 "/home/jens/Source/shotwell/src/Dialogs.vala" + spit_data_imports_welcome_import_meta_host_start (_tmp89_); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (alignment); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (content); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (arrow_glyph); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (indent_prefix); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (instructions); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (header_content); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (header_text); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (image); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (primary_text); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (ok_button); +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 17219 "Dialogs.c" +} + + +WelcomeDialog* welcome_dialog_new (GtkWindow* owner) { +#line 2083 "/home/jens/Source/shotwell/src/Dialogs.vala" + return welcome_dialog_construct (TYPE_WELCOME_DIALOG, owner); +#line 17226 "Dialogs.c" +} + + +static void welcome_dialog_install_import_content (WelcomeDialog* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GtkCheckButton** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 2165 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_WELCOME_DIALOG (self)); +#line 2167 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->external_import_checks; +#line 2167 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2__length1 = self->priv->external_import_checks_length1; +#line 2167 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2__length1 > 0) { +#line 2167 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = TRUE; +#line 17245 "Dialogs.c" + } else { + GtkCheckButton* _tmp3_ = NULL; +#line 2167 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->system_pictures_import_check; +#line 2167 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp3_ != NULL; +#line 17252 "Dialogs.c" + } +#line 2167 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_) { +#line 17256 "Dialogs.c" + gboolean _tmp4_ = FALSE; +#line 2168 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = self->priv->import_content_already_installed; +#line 2168 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp4_ == FALSE; +#line 17262 "Dialogs.c" + } else { +#line 2167 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = FALSE; +#line 17266 "Dialogs.c" + } +#line 2166 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_) { +#line 17270 "Dialogs.c" + GtkLabel* _tmp5_ = NULL; + GtkBox* _tmp6_ = NULL; + GtkBox* _tmp7_ = NULL; + GtkBox* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; +#line 2170 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->secondary_text; +#line 2170 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_markup (_tmp5_, ""); +#line 2171 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->import_content; +#line 2171 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = self->priv->import_action_checkbox_packer; +#line 2171 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 2172 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->import_content; +#line 2172 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->instruction_header; +#line 2172 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 2173 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->import_content_already_installed = TRUE; +#line 17294 "Dialogs.c" + } +} + + +static void _vala_array_add275 (WelcomeServiceEntry*** array, int* length, int* size, WelcomeServiceEntry* value) { +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + if ((*length) == (*size)) { +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + *array = g_renew (WelcomeServiceEntry*, *array, (*size) + 1); +#line 17306 "Dialogs.c" + } +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*array)[(*length)++] = value; +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*array)[*length] = NULL; +#line 17312 "Dialogs.c" +} + + +static void _vala_array_add276 (GtkCheckButton*** array, int* length, int* size, GtkCheckButton* value) { +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + if ((*length) == (*size)) { +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + *array = g_renew (GtkCheckButton*, *array, (*size) + 1); +#line 17323 "Dialogs.c" + } +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*array)[(*length)++] = value; +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*array)[*length] = NULL; +#line 17329 "Dialogs.c" +} + + +void welcome_dialog_install_service_entry (WelcomeDialog* self, WelcomeServiceEntry* entry) { + WelcomeServiceEntry* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + WelcomeServiceEntry** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + WelcomeServiceEntry* _tmp6_ = NULL; + WelcomeServiceEntry* _tmp7_ = NULL; + GtkCheckButton* entry_check = NULL; + const gchar* _tmp8_ = NULL; + WelcomeServiceEntry* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GtkCheckButton* _tmp14_ = NULL; + GtkCheckButton* _tmp15_ = NULL; + GtkCheckButton** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + GtkCheckButton* _tmp17_ = NULL; + GtkBox* _tmp18_ = NULL; +#line 2177 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_WELCOME_DIALOG (self)); +#line 2177 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_WELCOME_SERVICE_ENTRY (entry)); +#line 2178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = entry; +#line 2178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = welcome_service_entry_get_service_name (_tmp0_); +#line 2178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_; +#line 2178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = g_strdup_printf ("WelcomeDialog: Installing service entry for %s", _tmp2_); +#line 2178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_; +#line 2178 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_debug ("Dialogs.vala:2178: %s", _tmp4_); +#line 2178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp4_); +#line 2178 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp2_); +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->external_import_entries; +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5__length1 = self->priv->external_import_entries_length1; +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = entry; +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 2179 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_array_add275 (&self->priv->external_import_entries, &self->priv->external_import_entries_length1, &self->priv->_external_import_entries_size_, _tmp7_); +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _ ("Import photos from your %s library"); +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = entry; +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = welcome_service_entry_get_service_name (_tmp9_); +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = g_strdup_printf (_tmp8_, _tmp11_); +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp12_; +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = (GtkCheckButton*) gtk_check_button_new_with_label (_tmp13_); +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp14_); +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = _tmp14_; +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp13_); +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp11_); +#line 2180 "/home/jens/Source/shotwell/src/Dialogs.vala" + entry_check = _tmp15_; +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->priv->external_import_checks; +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16__length1 = self->priv->external_import_checks_length1; +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = _g_object_ref0 (entry_check); +#line 2182 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_array_add276 (&self->priv->external_import_checks, &self->priv->external_import_checks_length1, &self->priv->_external_import_checks_size_, _tmp17_); +#line 2183 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (entry_check, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 2184 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->external_import_action_checkbox_packer; +#line 2184 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (entry_check, gtk_widget_get_type (), GtkWidget)); +#line 2185 "/home/jens/Source/shotwell/src/Dialogs.vala" + welcome_dialog_install_import_content (self); +#line 2177 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (entry_check); +#line 17428 "Dialogs.c" +} + + +/** + * Connected to the 'response' signal. This is part of a workaround + * for the fact that run()-ning this dialog can interfere with displaying + * images from a camera; please see #4997 for details. + */ +static void welcome_dialog_on_dismiss (WelcomeDialog* self, gint resp) { + gint _tmp0_ = 0; +#line 2193 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_WELCOME_DIALOG (self)); +#line 2194 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = resp; +#line 2194 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == ((gint) GTK_RESPONSE_OK)) { +#line 2195 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->ok_clicked = TRUE; +#line 17447 "Dialogs.c" + } +#line 2197 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 2198 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_main_quit (); +#line 17453 "Dialogs.c" +} + + +static void _welcome_dialog_on_dismiss_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) { +#line 2204 "/home/jens/Source/shotwell/src/Dialogs.vala" + welcome_dialog_on_dismiss ((WelcomeDialog*) self, response_id); +#line 17460 "Dialogs.c" +} + + +static void _vala_array_add277 (WelcomeServiceEntry*** array, int* length, int* size, WelcomeServiceEntry* value) { +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + if ((*length) == (*size)) { +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + *array = g_renew (WelcomeServiceEntry*, *array, (*size) + 1); +#line 17471 "Dialogs.c" + } +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*array)[(*length)++] = value; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + (*array)[*length] = NULL; +#line 17477 "Dialogs.c" +} + + +static WelcomeServiceEntry** _vala_array_dup30 (WelcomeServiceEntry** self, int length) { + WelcomeServiceEntry** result; + int i; +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = g_new0 (WelcomeServiceEntry*, length + 1); +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + for (i = 0; i < length; i++) { +#line 17488 "Dialogs.c" + WelcomeServiceEntry* _tmp0_ = NULL; +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + result[i] = _tmp0_; +#line 17494 "Dialogs.c" + } +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17498 "Dialogs.c" +} + + +gboolean welcome_dialog_execute (WelcomeDialog* self, WelcomeServiceEntry*** selected_import_entries, int* selected_import_entries_length1, gboolean* do_system_pictures_import) { + WelcomeServiceEntry** _vala_selected_import_entries = NULL; + int _vala_selected_import_entries_length1 = 0; + gboolean _vala_do_system_pictures_import = FALSE; + gboolean result = FALSE; + guint _tmp0_ = 0U; + gboolean ok = FALSE; + gboolean _tmp1_ = FALSE; + gboolean show_dialog = FALSE; + gboolean _tmp2_ = FALSE; + WelcomeServiceEntry** _result_ = NULL; + WelcomeServiceEntry** _tmp5_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + WelcomeServiceEntry** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + WelcomeServiceEntry** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gboolean _tmp21_ = FALSE; + GtkCheckButton* _tmp22_ = NULL; +#line 2201 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_WELCOME_DIALOG (self), FALSE); +#line 2204 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), "response", (GCallback) _welcome_dialog_on_dismiss_gtk_dialog_response, self, 0); +#line 2205 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 2206 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 2211 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_main (); +#line 2215 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_parse_name ("response", gtk_dialog_get_type (), &_tmp0_, NULL, FALSE); +#line 2215 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp0_, 0, NULL, (GCallback) _welcome_dialog_on_dismiss_gtk_dialog_response, self); +#line 2217 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->ok_clicked; +#line 2217 "/home/jens/Source/shotwell/src/Dialogs.vala" + ok = _tmp1_; +#line 2218 "/home/jens/Source/shotwell/src/Dialogs.vala" + show_dialog = TRUE; +#line 2220 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = ok; +#line 2220 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_) { +#line 17546 "Dialogs.c" + GtkCheckButton* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2221 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->hide_button; +#line 2221 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 2221 "/home/jens/Source/shotwell/src/Dialogs.vala" + show_dialog = !_tmp4_; +#line 17555 "Dialogs.c" + } +#line 2224 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = g_new0 (WelcomeServiceEntry*, 0 + 1); +#line 2224 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = _tmp5_; +#line 2224 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result__length1 = 0; +#line 2224 "/home/jens/Source/shotwell/src/Dialogs.vala" + __result__size_ = _result__length1; +#line 17565 "Dialogs.c" + { + gint i = 0; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + i = 0; +#line 17570 "Dialogs.c" + { + gboolean _tmp6_ = FALSE; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = TRUE; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 17577 "Dialogs.c" + gint _tmp8_ = 0; + WelcomeServiceEntry** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkCheckButton** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + GtkCheckButton* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp6_) { +#line 17588 "Dialogs.c" + gint _tmp7_ = 0; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = i; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + i = _tmp7_ + 1; +#line 17594 "Dialogs.c" + } +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = FALSE; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = i; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->external_import_entries; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9__length1 = self->priv->external_import_entries_length1; +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp8_ < _tmp9__length1)) { +#line 2225 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 17608 "Dialogs.c" + } +#line 2226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->priv->external_import_checks; +#line 2226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10__length1 = self->priv->external_import_checks_length1; +#line 2226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = i; +#line 2226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp10_[_tmp11_]; +#line 2226 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 2226 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp13_ == TRUE) { +#line 17622 "Dialogs.c" + WelcomeServiceEntry** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + WelcomeServiceEntry** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + WelcomeServiceEntry* _tmp17_ = NULL; + WelcomeServiceEntry* _tmp18_ = NULL; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _result_; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14__length1 = _result__length1; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = self->priv->external_import_entries; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15__length1 = self->priv->external_import_entries_length1; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = i; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = _tmp15_[_tmp16_]; +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 2227 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_array_add277 (&_result_, &_result__length1, &__result__size_, _tmp18_); +#line 17646 "Dialogs.c" + } + } + } + } +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _result_; +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19__length1 = _result__length1; +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = (_tmp19_ != NULL) ? _vala_array_dup30 (_tmp19_, _tmp19__length1) : ((gpointer) _tmp19_); +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20__length1 = _tmp19__length1; +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_selected_import_entries = (_vala_array_free (_vala_selected_import_entries, _vala_selected_import_entries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_selected_import_entries = _tmp20_; +#line 2229 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_selected_import_entries_length1 = _tmp20__length1; +#line 2231 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = self->priv->system_pictures_import_check; +#line 2231 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp22_ != NULL) { +#line 17669 "Dialogs.c" + GtkCheckButton* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 2231 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = self->priv->system_pictures_import_check; +#line 2231 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 2231 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = _tmp24_; +#line 17678 "Dialogs.c" + } else { +#line 2231 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = FALSE; +#line 17682 "Dialogs.c" + } +#line 2230 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_do_system_pictures_import = _tmp21_; +#line 2233 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = show_dialog; +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (_vala_array_free (_result_, _result__length1, (GDestroyNotify) g_object_unref), NULL); +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (selected_import_entries) { +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + *selected_import_entries = _vala_selected_import_entries; +#line 17696 "Dialogs.c" + } else { +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_selected_import_entries = (_vala_array_free (_vala_selected_import_entries, _vala_selected_import_entries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 17700 "Dialogs.c" + } +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (selected_import_entries_length1) { +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + *selected_import_entries_length1 = _vala_selected_import_entries_length1; +#line 17706 "Dialogs.c" + } +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (do_system_pictures_import) { +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + *do_system_pictures_import = _vala_do_system_pictures_import; +#line 17712 "Dialogs.c" + } +#line 2235 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17716 "Dialogs.c" +} + + +static gboolean welcome_dialog_is_system_pictures_import_possible (void) { + gboolean result = FALSE; + GFile* system_pictures = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GFile* _tmp3_ = NULL; + GFileType _tmp4_ = 0; + GError * _inner_error_ = NULL; +#line 2239 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = app_dirs_get_import_dir (); +#line 2239 "/home/jens/Source/shotwell/src/Dialogs.vala" + system_pictures = _tmp0_; +#line 2240 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = system_pictures; +#line 2240 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = g_file_query_exists (_tmp1_, NULL); +#line 2240 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp2_) { +#line 2241 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 2241 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (system_pictures); +#line 2241 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17745 "Dialogs.c" + } +#line 2243 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = system_pictures; +#line 2243 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = g_file_query_file_type (_tmp3_, G_FILE_QUERY_INFO_NONE, NULL); +#line 2243 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp4_ == G_FILE_TYPE_DIRECTORY)) { +#line 2244 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 2244 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (system_pictures); +#line 2244 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17759 "Dialogs.c" + } + { + GFileEnumerator* syspics_child_enum = NULL; + GFile* _tmp5_ = NULL; + GFileEnumerator* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + GFileEnumerator* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; + GFileInfo* _tmp10_ = NULL; + GFileInfo* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 2247 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = system_pictures; +#line 2247 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = g_file_enumerate_children (_tmp5_, "standard::*", G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_); +#line 2247 "/home/jens/Source/shotwell/src/Dialogs.vala" + syspics_child_enum = _tmp6_; +#line 2247 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17779 "Dialogs.c" + goto __catch413_g_error; + } +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = syspics_child_enum; +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = g_file_enumerator_next_file (_tmp8_, NULL, &_inner_error_); +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp9_; +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (syspics_child_enum); +#line 17792 "Dialogs.c" + goto __catch413_g_error; + } +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp7_; +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = NULL; +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp11_ != NULL; +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp11_); +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp12_; +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp7_); +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (syspics_child_enum); +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (system_pictures); +#line 2249 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17815 "Dialogs.c" + } + goto __finally413; + __catch413_g_error: + { + GError* e = NULL; +#line 2246 "/home/jens/Source/shotwell/src/Dialogs.vala" + e = _inner_error_; +#line 2246 "/home/jens/Source/shotwell/src/Dialogs.vala" + _inner_error_ = NULL; +#line 2251 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 2251 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_error_free0 (e); +#line 2251 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (system_pictures); +#line 2251 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17833 "Dialogs.c" + } + __finally413: +#line 2246 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (system_pictures); +#line 2246 "/home/jens/Source/shotwell/src/Dialogs.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 2246 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_clear_error (&_inner_error_); +#line 2246 "/home/jens/Source/shotwell/src/Dialogs.vala" + return FALSE; +#line 17844 "Dialogs.c" +} + + +static void welcome_dialog_class_init (WelcomeDialogClass * klass) { +#line 2069 "/home/jens/Source/shotwell/src/Dialogs.vala" + welcome_dialog_parent_class = g_type_class_peek_parent (klass); +#line 2069 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (WelcomeDialogPrivate)); +#line 2069 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (klass)->finalize = welcome_dialog_finalize; +#line 17855 "Dialogs.c" +} + + +static void welcome_dialog_instance_init (WelcomeDialog * self) { + GtkCheckButton** _tmp0_ = NULL; + WelcomeServiceEntry** _tmp1_ = NULL; +#line 2069 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = WELCOME_DIALOG_GET_PRIVATE (self); +#line 2071 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->system_pictures_import_check = NULL; +#line 2072 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = g_new0 (GtkCheckButton*, 0 + 1); +#line 2072 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_import_checks = _tmp0_; +#line 2072 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_import_checks_length1 = 0; +#line 2072 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->_external_import_checks_size_ = self->priv->external_import_checks_length1; +#line 2073 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_new0 (WelcomeServiceEntry*, 0 + 1); +#line 2073 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_import_entries = _tmp1_; +#line 2073 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_import_entries_length1 = 0; +#line 2073 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->_external_import_entries_size_ = self->priv->external_import_entries_length1; +#line 2080 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->import_content_already_installed = FALSE; +#line 2081 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->ok_clicked = FALSE; +#line 17886 "Dialogs.c" +} + + +static void welcome_dialog_finalize (GObject* obj) { + WelcomeDialog * self; +#line 2069 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_WELCOME_DIALOG, WelcomeDialog); +#line 2070 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->hide_button); +#line 2071 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->system_pictures_import_check); +#line 2072 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_import_checks = (_vala_array_free (self->priv->external_import_checks, self->priv->external_import_checks_length1, (GDestroyNotify) g_object_unref), NULL); +#line 2073 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_import_entries = (_vala_array_free (self->priv->external_import_entries, self->priv->external_import_entries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 2074 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->secondary_text); +#line 2075 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->instruction_header); +#line 2076 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->import_content); +#line 2077 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->import_action_checkbox_packer); +#line 2078 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->external_import_action_checkbox_packer); +#line 2079 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->import_meta_host); +#line 2069 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_OBJECT_CLASS (welcome_dialog_parent_class)->finalize (obj); +#line 17916 "Dialogs.c" +} + + +GType welcome_dialog_get_type (void) { + static volatile gsize welcome_dialog_type_id__volatile = 0; + if (g_once_init_enter (&welcome_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (WelcomeDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) welcome_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (WelcomeDialog), 0, (GInstanceInitFunc) welcome_dialog_instance_init, NULL }; + GType welcome_dialog_type_id; + welcome_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "WelcomeDialog", &g_define_type_info, 0); + g_once_init_leave (&welcome_dialog_type_id__volatile, welcome_dialog_type_id); + } + return welcome_dialog_type_id__volatile; +} + + +static gboolean _preferences_dialog_on_delete_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) { + gboolean result; + result = preferences_dialog_on_delete ((PreferencesDialog*) self); +#line 2300 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17937 "Dialogs.c" +} + + +static void _preferences_dialog_on_close_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) { +#line 2301 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_close ((PreferencesDialog*) self); +#line 17944 "Dialogs.c" +} + + +static void _preferences_dialog_on_value_changed_gtk_adjustment_value_changed (GtkAdjustment* _sender, gpointer self) { +#line 2307 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_value_changed ((PreferencesDialog*) self); +#line 17951 "Dialogs.c" +} + + +static gboolean _preferences_dialog_on_bg_color_reset_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = preferences_dialog_on_bg_color_reset ((PreferencesDialog*) self, event); +#line 2310 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17960 "Dialogs.c" +} + + +static gboolean _preferences_dialog_on_local_pattern_help_gtk_label_activate_link (GtkLabel* _sender, const gchar* uri, gpointer self) { + gboolean result; + result = preferences_dialog_on_local_pattern_help ((PreferencesDialog*) self, uri); +#line 2333 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 17969 "Dialogs.c" +} + + +static void _preferences_dialog_on_dir_pattern_combo_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 2349 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_dir_pattern_combo_changed ((PreferencesDialog*) self); +#line 17976 "Dialogs.c" +} + + +static void _preferences_dialog_on_dir_pattern_entry_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 2350 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_dir_pattern_entry_changed ((PreferencesDialog*) self); +#line 17983 "Dialogs.c" +} + + +static void _preferences_dialog_on_lowercase_toggled_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { +#line 2355 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_lowercase_toggled ((PreferencesDialog*) self); +#line 17990 "Dialogs.c" +} + + +static void _preferences_dialog_on_photo_editor_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 2362 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_photo_editor_changed ((PreferencesDialog*) self); +#line 17997 "Dialogs.c" +} + + +static void _preferences_dialog_on_raw_editor_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 2363 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_raw_editor_changed ((PreferencesDialog*) self); +#line 18004 "Dialogs.c" +} + + +static void _preferences_dialog_on_default_raw_developer_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 2375 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_default_raw_developer_changed ((PreferencesDialog*) self); +#line 18011 "Dialogs.c" +} + + +static gboolean _preferences_dialog_map_event_gtk_widget_map_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) { + gboolean result; + result = preferences_dialog_map_event ((PreferencesDialog*) self); +#line 2377 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 18020 "Dialogs.c" +} + + +static PreferencesDialog* preferences_dialog_construct (GType object_type) { + PreferencesDialog* self = NULL; + GtkBuilder* _tmp0_ = NULL; + GtkBuilder* _tmp1_ = NULL; + GObject* _tmp2_ = NULL; + GtkDialog* _tmp3_ = NULL; + gboolean use_header = FALSE; + GtkSettings* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GtkDialog* _tmp8_ = NULL; + AppWindow* _tmp9_ = NULL; + AppWindow* _tmp10_ = NULL; + GdkWindow* _tmp11_ = NULL; + GtkDialog* _tmp12_ = NULL; + AppWindow* _tmp13_ = NULL; + AppWindow* _tmp14_ = NULL; + GtkDialog* _tmp15_ = NULL; + GtkDialog* _tmp16_ = NULL; + GtkDialog* _tmp17_ = NULL; + GtkBuilder* _tmp18_ = NULL; + GObject* _tmp19_ = NULL; + GtkAdjustment* _tmp20_ = NULL; + GtkAdjustment* _tmp21_ = NULL; + GtkAdjustment* _tmp22_ = NULL; + gdouble _tmp23_ = 0.0; + ConfigFacade* _tmp24_ = NULL; + ConfigFacade* _tmp25_ = NULL; + GdkRGBA _tmp26_ = {0}; + gdouble _tmp27_ = 0.0; + GtkAdjustment* _tmp28_ = NULL; + GtkBuilder* _tmp29_ = NULL; + GObject* _tmp30_ = NULL; + GtkScale* _tmp31_ = NULL; + GtkScale* _tmp32_ = NULL; + GtkBuilder* _tmp33_ = NULL; + GObject* _tmp34_ = NULL; + GtkFileChooserButton* _tmp35_ = NULL; + GtkBuilder* _tmp36_ = NULL; + GObject* _tmp37_ = NULL; + GtkComboBox* _tmp38_ = NULL; + GtkBuilder* _tmp39_ = NULL; + GObject* _tmp40_ = NULL; + GtkComboBox* _tmp41_ = NULL; + GtkLabel* pattern_help = NULL; + GtkBuilder* _tmp42_ = NULL; + GObject* _tmp43_ = NULL; + GtkLabel* _tmp44_ = NULL; + gchar* help_path = NULL; + gchar* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + GtkComboBoxText* _tmp60_ = NULL; + GtkAlignment* dir_choser_align = NULL; + GtkBuilder* _tmp61_ = NULL; + GObject* _tmp62_ = NULL; + GtkAlignment* _tmp63_ = NULL; + GtkComboBoxText* _tmp64_ = NULL; + GtkBuilder* _tmp65_ = NULL; + GObject* _tmp66_ = NULL; + GtkEntry* _tmp67_ = NULL; + GtkBuilder* _tmp68_ = NULL; + GObject* _tmp69_ = NULL; + GtkLabel* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + const gchar* _tmp80_ = NULL; + const gchar* _tmp81_ = NULL; + GtkComboBoxText* _tmp82_ = NULL; + GtkEntry* _tmp83_ = NULL; + GtkBuilder* _tmp84_ = NULL; + GObject* _tmp85_ = NULL; + GtkComboBoxText* _tmp86_ = NULL; + GtkBuilder* _tmp87_ = NULL; + GObject* _tmp88_ = NULL; + GtkCheckButton* _tmp89_ = NULL; + GtkCheckButton* _tmp90_ = NULL; + GtkBin* plugin_manifest_container = NULL; + GtkBuilder* _tmp91_ = NULL; + GObject* _tmp92_ = NULL; + GtkBin* _tmp93_ = NULL; + PluginsManifestWidgetMediator* _tmp94_ = NULL; + GtkWidget* _tmp95_ = NULL; + GtkWidget* _tmp96_ = NULL; + GtkComboBox* _tmp97_ = NULL; + GtkComboBox* _tmp98_ = NULL; + GtkCheckButton* auto_import_button = NULL; + GtkBuilder* _tmp99_ = NULL; + GObject* _tmp100_ = NULL; + GtkCheckButton* _tmp101_ = NULL; + ConfigFacade* _tmp102_ = NULL; + ConfigFacade* _tmp103_ = NULL; + gboolean _tmp104_ = FALSE; + GtkCheckButton* commit_metadata_button = NULL; + GtkBuilder* _tmp105_ = NULL; + GObject* _tmp106_ = NULL; + GtkCheckButton* _tmp107_ = NULL; + ConfigFacade* _tmp108_ = NULL; + ConfigFacade* _tmp109_ = NULL; + gboolean _tmp110_ = FALSE; + GtkBuilder* _tmp111_ = NULL; + GObject* _tmp112_ = NULL; + GtkComboBoxText* _tmp113_ = NULL; + GtkComboBoxText* _tmp114_ = NULL; + gchar* _tmp115_ = NULL; + gchar* _tmp116_ = NULL; + GtkComboBoxText* _tmp117_ = NULL; + gchar* _tmp118_ = NULL; + gchar* _tmp119_ = NULL; + ConfigFacade* _tmp120_ = NULL; + ConfigFacade* _tmp121_ = NULL; + RawDeveloper _tmp122_ = 0; + GtkComboBoxText* _tmp123_ = NULL; + GtkDialog* _tmp124_ = NULL; +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (PreferencesDialog*) g_type_create_instance (object_type); +#line 2289 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = app_window_create_builder ("shotwell.ui", NULL); +#line 2289 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->builder); +#line 2289 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->builder = _tmp0_; +#line 2291 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->builder; +#line 2291 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_builder_get_object (_tmp1_, "preferences_dialog"); +#line 2291 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_dialog_get_type ()) ? ((GtkDialog*) _tmp2_) : NULL); +#line 2291 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dialog); +#line 2291 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->dialog = _tmp3_; +#line 2293 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gtk_settings_get_default (); +#line 2293 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, G_TYPE_OBJECT, GObject), "gtk-dialogs-use-header", &use_header, NULL); +#line 2294 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = use_header; +#line 2294 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp5_) { +#line 18169 "Dialogs.c" + GtkWidget* null_titlebar = NULL; + GtkDialog* _tmp6_ = NULL; + GtkWidget* _tmp7_ = NULL; +#line 2295 "/home/jens/Source/shotwell/src/Dialogs.vala" + null_titlebar = NULL; +#line 2296 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->dialog; +#line 2296 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = null_titlebar; +#line 2296 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_titlebar (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_window_get_type (), GtkWindow), _tmp7_); +#line 2294 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (null_titlebar); +#line 18183 "Dialogs.c" + } +#line 2298 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->dialog; +#line 2298 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = app_window_get_instance (); +#line 2298 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 2298 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = gtk_widget_get_parent_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget)); +#line 2298 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_parent_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), _tmp11_); +#line 2298 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp10_); +#line 2299 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = self->priv->dialog; +#line 2299 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = app_window_get_instance (); +#line 2299 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp13_; +#line 2299 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_window_get_type (), GtkWindow)); +#line 2299 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp14_); +#line 2300 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = self->priv->dialog; +#line 2300 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), "delete-event", (GCallback) _preferences_dialog_on_delete_gtk_widget_delete_event, self); +#line 2301 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->priv->dialog; +#line 2301 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (_tmp16_, "response", (GCallback) _preferences_dialog_on_close_gtk_dialog_response, self); +#line 2302 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->priv->dialog; +#line 2302 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_has_resize_grip (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_window_get_type (), GtkWindow), FALSE); +#line 2304 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->builder; +#line 2304 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = gtk_builder_get_object (_tmp18_, "bg_color_adjustment"); +#line 2304 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_adjustment_get_type ()) ? ((GtkAdjustment*) _tmp19_) : NULL); +#line 2304 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->bg_color_adjustment); +#line 2304 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->bg_color_adjustment = _tmp20_; +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = self->priv->bg_color_adjustment; +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = self->priv->bg_color_adjustment; +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = gtk_adjustment_get_upper (_tmp22_); +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = config_facade_get_instance (); +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = _tmp24_; +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + config_facade_get_bg_color (_tmp25_, &_tmp26_); +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = _tmp26_.red; +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_adjustment_set_value (_tmp21_, _tmp23_ - (_tmp27_ * 65535.0)); +#line 2305 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp25_); +#line 2307 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = self->priv->bg_color_adjustment; +#line 2307 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (_tmp28_, "value-changed", (GCallback) _preferences_dialog_on_value_changed_gtk_adjustment_value_changed, self); +#line 2309 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = self->priv->builder; +#line 2309 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = gtk_builder_get_object (_tmp29_, "bg_color_slider"); +#line 2309 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, gtk_scale_get_type ()) ? ((GtkScale*) _tmp30_) : NULL); +#line 2309 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->bg_color_slider); +#line 2309 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->bg_color_slider = _tmp31_; +#line 2310 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = self->priv->bg_color_slider; +#line 2310 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _preferences_dialog_on_bg_color_reset_gtk_widget_button_press_event, self); +#line 2312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = self->priv->builder; +#line 2312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = gtk_builder_get_object (_tmp33_, "library_dir_button"); +#line 2312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp34_, gtk_file_chooser_button_get_type ()) ? ((GtkFileChooserButton*) _tmp34_) : NULL); +#line 2312 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->library_dir_button); +#line 2312 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->library_dir_button = _tmp35_; +#line 2314 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = self->priv->builder; +#line 2314 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = gtk_builder_get_object (_tmp36_, "external_photo_editor_combo"); +#line 2314 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp37_, gtk_combo_box_get_type ()) ? ((GtkComboBox*) _tmp37_) : NULL); +#line 2314 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->photo_editor_combo); +#line 2314 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->photo_editor_combo = _tmp38_; +#line 2315 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = self->priv->builder; +#line 2315 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = gtk_builder_get_object (_tmp39_, "external_raw_editor_combo"); +#line 2315 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, gtk_combo_box_get_type ()) ? ((GtkComboBox*) _tmp40_) : NULL); +#line 2315 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->raw_editor_combo); +#line 2315 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->raw_editor_combo = _tmp41_; +#line 2317 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = self->priv->builder; +#line 2317 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = gtk_builder_get_object (_tmp42_, "pattern_help"); +#line 2317 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp43_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp43_) : NULL); +#line 2317 "/home/jens/Source/shotwell/src/Dialogs.vala" + pattern_help = _tmp44_; +#line 2324 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = resources_get_help_path (); +#line 2324 "/home/jens/Source/shotwell/src/Dialogs.vala" + help_path = _tmp45_; +#line 2326 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = help_path; +#line 2326 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp46_ == NULL) { +#line 18311 "Dialogs.c" + GtkLabel* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = pattern_help; +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = _ ("(Help)"); +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = g_strconcat ("", _tmp48_, NULL); +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = _tmp49_; +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = g_strconcat (_tmp50_, "", NULL); +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = _tmp51_; +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_markup (_tmp47_, _tmp52_); +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp52_); +#line 2328 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp50_); +#line 18336 "Dialogs.c" + } else { + GtkLabel* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GtkLabel* _tmp59_ = NULL; +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = pattern_help; +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = _ ("(Help)"); +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = g_strconcat ("", _tmp54_, NULL); +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = _tmp55_; +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = g_strconcat (_tmp56_, "", NULL); +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp58_ = _tmp57_; +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_markup (_tmp53_, _tmp58_); +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp58_); +#line 2332 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp56_); +#line 2333 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp59_ = pattern_help; +#line 2333 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (_tmp59_, "activate-link", (GCallback) _preferences_dialog_on_local_pattern_help_gtk_label_activate_link, self); +#line 18367 "Dialogs.c" + } +#line 2336 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp60_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 2336 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp60_); +#line 2336 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dir_pattern_combo); +#line 2336 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->dir_pattern_combo = _tmp60_; +#line 2337 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp61_ = self->priv->builder; +#line 2337 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp62_ = gtk_builder_get_object (_tmp61_, "dir choser"); +#line 2337 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp63_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp62_, gtk_alignment_get_type ()) ? ((GtkAlignment*) _tmp62_) : NULL); +#line 2337 "/home/jens/Source/shotwell/src/Dialogs.vala" + dir_choser_align = _tmp63_; +#line 2338 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp64_ = self->priv->dir_pattern_combo; +#line 2338 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (dir_choser_align, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_widget_get_type (), GtkWidget)); +#line 2339 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp65_ = self->priv->builder; +#line 2339 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp66_ = gtk_builder_get_object (_tmp65_, "dir_pattern_entry"); +#line 2339 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp67_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp66_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp66_) : NULL); +#line 2339 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dir_pattern_entry); +#line 2339 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->dir_pattern_entry = _tmp67_; +#line 2340 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp68_ = self->priv->builder; +#line 2340 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = gtk_builder_get_object (_tmp68_, "dynamic example"); +#line 2340 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp69_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp69_) : NULL); +#line 2340 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dir_pattern_example); +#line 2340 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->dir_pattern_example = _tmp70_; +#line 2341 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp71_ = _ ("Year%sMonth%sDay"); +#line 2341 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp72_ = g_strdup_printf (_tmp71_, G_DIR_SEPARATOR_S, G_DIR_SEPARATOR_S); +#line 2341 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp73_ = _tmp72_; +#line 2341 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_add_to_dir_formats (self, _tmp73_, "%Y" G_DIR_SEPARATOR_S "%m" G_DIR_SEPARATOR_S "%d"); +#line 2341 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp73_); +#line 2343 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp74_ = _ ("Year%sMonth"); +#line 2343 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp75_ = g_strdup_printf (_tmp74_, G_DIR_SEPARATOR_S); +#line 2343 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp76_ = _tmp75_; +#line 2343 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_add_to_dir_formats (self, _tmp76_, "%Y" G_DIR_SEPARATOR_S "%m"); +#line 2343 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp76_); +#line 2345 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp77_ = _ ("Year%sMonth-Day"); +#line 2345 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp78_ = g_strdup_printf (_tmp77_, G_DIR_SEPARATOR_S); +#line 2345 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp79_ = _tmp78_; +#line 2345 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_add_to_dir_formats (self, _tmp79_, "%Y" G_DIR_SEPARATOR_S "%m-%d"); +#line 2345 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp79_); +#line 2347 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp80_ = _ ("Year-Month-Day"); +#line 2347 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_add_to_dir_formats (self, _tmp80_, "%Y-%m-%d"); +#line 2348 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp81_ = _ ("Custom"); +#line 2348 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_add_to_dir_formats (self, _tmp81_, NULL); +#line 2349 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp82_ = self->priv->dir_pattern_combo; +#line 2349 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _preferences_dialog_on_dir_pattern_combo_changed_gtk_combo_box_changed, self); +#line 2350 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp83_ = self->priv->dir_pattern_entry; +#line 2350 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _preferences_dialog_on_dir_pattern_entry_changed_gtk_editable_changed, self); +#line 2352 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp84_ = self->priv->builder; +#line 2352 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp85_ = gtk_builder_get_object (_tmp84_, "dir_structure_label"); +#line 2352 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp86_ = self->priv->dir_pattern_combo; +#line 2352 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_mnemonic_widget (G_TYPE_CHECK_INSTANCE_TYPE (_tmp85_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp85_) : NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp86_, gtk_widget_get_type (), GtkWidget)); +#line 2354 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp87_ = self->priv->builder; +#line 2354 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp88_ = gtk_builder_get_object (_tmp87_, "lowercase"); +#line 2354 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp89_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp88_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp88_) : NULL); +#line 2354 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->lowercase); +#line 2354 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->lowercase = _tmp89_; +#line 2355 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp90_ = self->priv->lowercase; +#line 2355 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp90_, gtk_toggle_button_get_type (), GtkToggleButton), "toggled", (GCallback) _preferences_dialog_on_lowercase_toggled_gtk_toggle_button_toggled, self); +#line 2357 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp91_ = self->priv->builder; +#line 2357 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp92_ = gtk_builder_get_object (_tmp91_, "plugin-manifest-bin"); +#line 2357 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp93_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp92_, gtk_bin_get_type ()) ? ((GtkBin*) _tmp92_) : NULL); +#line 2357 "/home/jens/Source/shotwell/src/Dialogs.vala" + plugin_manifest_container = _tmp93_; +#line 2358 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp94_ = self->priv->plugins_mediator; +#line 2358 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp95_ = plugins_manifest_widget_mediator_get_widget (_tmp94_); +#line 2358 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp96_ = _tmp95_; +#line 2358 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (plugin_manifest_container, gtk_container_get_type (), GtkContainer), _tmp96_); +#line 2360 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_populate_preference_options (self); +#line 2362 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp97_ = self->priv->photo_editor_combo; +#line 2362 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (_tmp97_, "changed", (GCallback) _preferences_dialog_on_photo_editor_changed_gtk_combo_box_changed, self); +#line 2363 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp98_ = self->priv->raw_editor_combo; +#line 2363 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (_tmp98_, "changed", (GCallback) _preferences_dialog_on_raw_editor_changed_gtk_combo_box_changed, self); +#line 2365 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp99_ = self->priv->builder; +#line 2365 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp100_ = gtk_builder_get_object (_tmp99_, "autoimport"); +#line 2365 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp101_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp100_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp100_) : NULL); +#line 2365 "/home/jens/Source/shotwell/src/Dialogs.vala" + auto_import_button = _tmp101_; +#line 2366 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp102_ = config_facade_get_instance (); +#line 2366 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp103_ = _tmp102_; +#line 2366 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp104_ = configuration_facade_get_auto_import_from_library (G_TYPE_CHECK_INSTANCE_CAST (_tmp103_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2366 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (auto_import_button, gtk_toggle_button_get_type (), GtkToggleButton), _tmp104_); +#line 2366 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp103_); +#line 2368 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp105_ = self->priv->builder; +#line 2368 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp106_ = gtk_builder_get_object (_tmp105_, "write_metadata"); +#line 2368 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp107_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp106_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp106_) : NULL); +#line 2368 "/home/jens/Source/shotwell/src/Dialogs.vala" + commit_metadata_button = _tmp107_; +#line 2369 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp108_ = config_facade_get_instance (); +#line 2369 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp109_ = _tmp108_; +#line 2369 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp110_ = configuration_facade_get_commit_metadata_to_masters (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2369 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (commit_metadata_button, gtk_toggle_button_get_type (), GtkToggleButton), _tmp110_); +#line 2369 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp109_); +#line 2371 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp111_ = self->priv->builder; +#line 2371 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp112_ = gtk_builder_get_object (_tmp111_, "default_raw_developer"); +#line 2371 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp113_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp112_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp112_) : NULL); +#line 2371 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->default_raw_developer_combo); +#line 2371 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->default_raw_developer_combo = _tmp113_; +#line 2372 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp114_ = self->priv->default_raw_developer_combo; +#line 2372 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp115_ = raw_developer_get_label (RAW_DEVELOPER_CAMERA); +#line 2372 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp116_ = _tmp115_; +#line 2372 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp114_, _tmp116_); +#line 2372 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp116_); +#line 2373 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp117_ = self->priv->default_raw_developer_combo; +#line 2373 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp118_ = raw_developer_get_label (RAW_DEVELOPER_SHOTWELL); +#line 2373 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp119_ = _tmp118_; +#line 2373 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp117_, _tmp119_); +#line 2373 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp119_); +#line 2374 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp120_ = config_facade_get_instance (); +#line 2374 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp121_ = _tmp120_; +#line 2374 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp122_ = configuration_facade_get_default_raw_developer (G_TYPE_CHECK_INSTANCE_CAST (_tmp121_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2374 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_set_raw_developer_combo (self, _tmp122_); +#line 2374 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp121_); +#line 2375 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp123_ = self->priv->default_raw_developer_combo; +#line 2375 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp123_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _preferences_dialog_on_default_raw_developer_changed_gtk_combo_box_changed, self); +#line 2377 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp124_ = self->priv->dialog; +#line 2377 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp124_, gtk_widget_get_type (), GtkWidget), "map-event", (GCallback) _preferences_dialog_map_event_gtk_widget_map_event, self); +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (commit_metadata_button); +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (auto_import_button); +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (plugin_manifest_container); +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dir_choser_align); +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (help_path); +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (pattern_help); +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 18601 "Dialogs.c" +} + + +static PreferencesDialog* preferences_dialog_new (void) { +#line 2288 "/home/jens/Source/shotwell/src/Dialogs.vala" + return preferences_dialog_construct (TYPE_PREFERENCES_DIALOG); +#line 18608 "Dialogs.c" +} + + +void preferences_dialog_populate_preference_options (PreferencesDialog* self) { + GtkComboBox* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + ConfigFacade* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + SortedList* _tmp8_ = NULL; + GtkComboBox* _tmp9_ = NULL; + gint _tmp10_ = 0; + gchar** _tmp11_ = NULL; + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + ConfigFacade* _tmp13_ = NULL; + ConfigFacade* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + SortedList* _tmp17_ = NULL; + GtkComboBoxText* _tmp18_ = NULL; + GtkEntry* _tmp19_ = NULL; + GtkCheckButton* _tmp20_ = NULL; + ConfigFacade* _tmp21_ = NULL; + ConfigFacade* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 2380 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->photo_editor_combo; +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = photo_file_format_get_editable_mime_types (&_tmp1_); +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3__length1 = _tmp1_; +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = config_facade_get_instance (); +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_populate_app_combo_box (self, _tmp0_, _tmp3_, _tmp1_, _tmp7_, &_tmp8_); +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->external_photo_apps); +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_photo_apps = _tmp8_; +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp7_); +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp5_); +#line 2381 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL); +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->raw_editor_combo; +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = photo_file_format_get_mime_types (PHOTO_FILE_FORMAT_RAW, &_tmp10_); +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp11_; +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12__length1 = _tmp10_; +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = config_facade_get_instance (); +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp13_; +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = configuration_facade_get_external_raw_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = _tmp15_; +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_populate_app_combo_box (self, _tmp9_, _tmp12_, _tmp10_, _tmp16_, &_tmp17_); +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->external_raw_apps); +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->external_raw_apps = _tmp17_; +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp16_); +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp14_); +#line 2384 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL); +#line 2387 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->dir_pattern_combo; +#line 2387 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = self->priv->dir_pattern_entry; +#line 2387 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_setup_dir_pattern (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_combo_box_get_type (), GtkComboBox), _tmp19_); +#line 2389 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = self->priv->lowercase; +#line 2389 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = config_facade_get_instance (); +#line 2389 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _tmp21_; +#line 2389 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = configuration_facade_get_use_lowercase_filenames (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2389 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp23_); +#line 2389 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp22_); +#line 18715 "Dialogs.c" +} + + +static gboolean preferences_dialog_on_local_pattern_help (PreferencesDialog* self, const gchar* ignore) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2394 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_PREFERENCES_DIALOG (self), FALSE); +#line 2394 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (ignore != NULL, FALSE); +#line 18726 "Dialogs.c" + { + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + GdkScreen* _tmp2_ = NULL; +#line 2396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = app_window_get_instance (); +#line 2396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 2396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_window_get_screen (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_window_get_type (), GtkWindow)); +#line 2396 "/home/jens/Source/shotwell/src/Dialogs.vala" + resources_launch_help (_tmp2_, "other-files.page", &_inner_error_); +#line 2396 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp1_); +#line 2396 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 18743 "Dialogs.c" + goto __catch414_g_error; + } + } + goto __finally414; + __catch414_g_error: + { + GError* e = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 2395 "/home/jens/Source/shotwell/src/Dialogs.vala" + e = _inner_error_; +#line 2395 "/home/jens/Source/shotwell/src/Dialogs.vala" + _inner_error_ = NULL; +#line 2398 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = e; +#line 2398 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_->message; +#line 2398 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_message ("Dialogs.vala:2398: Unable to launch help: %s", _tmp4_); +#line 2395 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_error_free0 (e); +#line 18765 "Dialogs.c" + } + __finally414: +#line 2395 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2395 "/home/jens/Source/shotwell/src/Dialogs.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 2395 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_clear_error (&_inner_error_); +#line 2395 "/home/jens/Source/shotwell/src/Dialogs.vala" + return FALSE; +#line 18776 "Dialogs.c" + } +#line 2400 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 2400 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 18782 "Dialogs.c" +} + + +static void preferences_dialog_populate_app_combo_box (PreferencesDialog* self, GtkComboBox* combo_box, gchar** mime_types, int mime_types_length1, const gchar* current_app_executable, SortedList** external_apps) { + SortedList* _vala_external_apps = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + SortedList* _tmp2_ = NULL; + SortedList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GtkCellRendererPixbuf* pixbuf_renderer = NULL; + GtkCellRendererPixbuf* _tmp6_ = NULL; + GtkCellRendererText* text_renderer = NULL; + GtkCellRendererText* _tmp7_ = NULL; + GtkComboBox* _tmp8_ = NULL; + GtkComboBox* _tmp9_ = NULL; + GtkCellRendererPixbuf* _tmp10_ = NULL; + GtkComboBox* _tmp11_ = NULL; + GtkCellRendererText* _tmp12_ = NULL; + GtkComboBox* _tmp13_ = NULL; + GtkCellRendererPixbuf* _tmp14_ = NULL; + GtkComboBox* _tmp15_ = NULL; + GtkCellRendererText* _tmp16_ = NULL; + GtkListStore* combo_store = NULL; + GtkListStore* _tmp17_ = NULL; + GtkTreeIter iter = {0}; + gint current_app = 0; + GtkComboBox* _tmp67_ = NULL; + GtkListStore* _tmp68_ = NULL; + gint _tmp69_ = 0; + GError * _inner_error_ = NULL; +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (current_app_executable != NULL); +#line 2406 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = mime_types; +#line 2406 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0__length1 = mime_types_length1; +#line 2406 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_assert (_tmp0__length1 != 0, "mime_types.length != 0"); +#line 2407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = mime_types; +#line 2407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1__length1 = mime_types_length1; +#line 2407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = desktop_integration_get_apps_for_mime_types (_tmp1_, _tmp1__length1); +#line 2407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_vala_external_apps); +#line 2407 "/home/jens/Source/shotwell/src/Dialogs.vala" + _vala_external_apps = _tmp2_; +#line 2409 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _vala_external_apps; +#line 2409 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2409 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 2409 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_ == 0) { +#line 2410 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (external_apps) { +#line 2410 "/home/jens/Source/shotwell/src/Dialogs.vala" + *external_apps = _vala_external_apps; +#line 18851 "Dialogs.c" + } else { +#line 2410 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_vala_external_apps); +#line 18855 "Dialogs.c" + } +#line 2410 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 18859 "Dialogs.c" + } +#line 2413 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new (); +#line 2413 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp6_); +#line 2413 "/home/jens/Source/shotwell/src/Dialogs.vala" + pixbuf_renderer = _tmp6_; +#line 2414 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 2414 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp7_); +#line 2414 "/home/jens/Source/shotwell/src/Dialogs.vala" + text_renderer = _tmp7_; +#line 2415 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = combo_box; +#line 2415 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_cell_layout_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout)); +#line 2416 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = combo_box; +#line 2416 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = pixbuf_renderer; +#line 2416 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE); +#line 2417 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = combo_box; +#line 2417 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = text_renderer; +#line 2417 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE); +#line 2418 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = combo_box; +#line 2418 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = pixbuf_renderer; +#line 2418 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_cell_renderer_get_type (), GtkCellRenderer), "pixbuf", 0); +#line 2419 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = combo_box; +#line 2419 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = text_renderer; +#line 2419 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_cell_renderer_get_type (), GtkCellRenderer), "text", 1); +#line 2422 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING, -1); +#line 2422 "/home/jens/Source/shotwell/src/Dialogs.vala" + combo_store = _tmp17_; +#line 2425 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_app = -1; +#line 18907 "Dialogs.c" + { + GeeIterator* _app_it = NULL; + SortedList* _tmp18_ = NULL; + GeeIterator* _tmp19_ = NULL; +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _vala_external_apps; +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _app_it = _tmp19_; +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 18920 "Dialogs.c" + GeeIterator* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + GAppInfo* app = NULL; + GeeIterator* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; + GtkListStore* _tmp24_ = NULL; + GtkTreeIter _tmp25_ = {0}; + GIcon* app_icon = NULL; + GAppInfo* _tmp26_ = NULL; + GIcon* _tmp27_ = NULL; + GIcon* _tmp28_ = NULL; + GtkListStore* _tmp56_ = NULL; + GtkTreeIter _tmp57_ = {0}; + GAppInfo* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + GValue _tmp60_ = {0}; + GAppInfo* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = _app_it; +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = gee_iterator_next (_tmp20_); +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp21_) { +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 18948 "Dialogs.c" + } +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = _app_it; +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = gee_iterator_get (_tmp22_); +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + app = (GAppInfo*) _tmp23_; +#line 2428 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = combo_store; +#line 2428 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_list_store_append (_tmp24_, &_tmp25_); +#line 2428 "/home/jens/Source/shotwell/src/Dialogs.vala" + iter = _tmp25_; +#line 2430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = app; +#line 2430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = g_app_info_get_icon (_tmp26_); +#line 2430 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = _g_object_ref0 (_tmp27_); +#line 2430 "/home/jens/Source/shotwell/src/Dialogs.vala" + app_icon = _tmp28_; +#line 18970 "Dialogs.c" + { + GIcon* _tmp29_ = NULL; +#line 2432 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = app_icon; +#line 2432 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, g_file_icon_get_type ())) { +#line 18977 "Dialogs.c" + GdkPixbuf* _tmp30_ = NULL; + GIcon* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + GdkPixbuf* _tmp35_ = NULL; + GdkPixbuf* _tmp36_ = NULL; + GtkListStore* _tmp37_ = NULL; + GtkTreeIter _tmp38_ = {0}; + GdkPixbuf* _tmp39_ = NULL; + GValue _tmp40_ = {0}; +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = app_icon; +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = g_file_icon_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, g_file_icon_get_type (), GFileIcon)); +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = g_file_get_path (_tmp32_); +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = _tmp33_; +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = gdk_pixbuf_new_from_file (_tmp34_, &_inner_error_); +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = _tmp35_; +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp34_); +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = _tmp36_; +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19007 "Dialogs.c" + goto __catch415_g_error; + } +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = combo_store; +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = iter; +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = scale_pixbuf (_tmp30_, RESOURCES_DEFAULT_ICON_SCALE, GDK_INTERP_BILINEAR, FALSE); +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_value_init (&_tmp40_, GDK_TYPE_PIXBUF); +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_value_take_object (&_tmp40_, _tmp39_); +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_list_store_set_value (_tmp37_, &_tmp38_, 0, &_tmp40_); +#line 2433 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_IS_VALUE (&_tmp40_) ? (g_value_unset (&_tmp40_), NULL) : NULL; +#line 2432 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp30_); +#line 19026 "Dialogs.c" + } else { + GIcon* _tmp41_ = NULL; +#line 2436 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = app_icon; +#line 2436 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp41_, g_themed_icon_get_type ())) { +#line 19033 "Dialogs.c" + GdkPixbuf* icon_pixbuf = NULL; + GtkIconTheme* _tmp42_ = NULL; + GIcon* _tmp43_ = NULL; + gchar** _tmp44_ = NULL; + gchar** _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + GdkPixbuf* _tmp47_ = NULL; + GtkListStore* _tmp48_ = NULL; + GtkTreeIter _tmp49_ = {0}; + GdkPixbuf* _tmp50_ = NULL; + GValue _tmp51_ = {0}; +#line 2437 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = gtk_icon_theme_get_default (); +#line 2437 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = app_icon; +#line 2437 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = _tmp44_ = g_themed_icon_get_names (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, g_themed_icon_get_type (), GThemedIcon)); +#line 2437 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = _tmp45_[0]; +#line 2437 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = gtk_icon_theme_load_icon (_tmp42_, _tmp46_, RESOURCES_DEFAULT_ICON_SCALE, GTK_ICON_LOOKUP_FORCE_SIZE, &_inner_error_); +#line 2437 "/home/jens/Source/shotwell/src/Dialogs.vala" + icon_pixbuf = _tmp47_; +#line 2437 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19059 "Dialogs.c" + goto __catch415_g_error; + } +#line 2441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = combo_store; +#line 2441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = iter; +#line 2441 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = icon_pixbuf; +#line 2441 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_value_init (&_tmp51_, GDK_TYPE_PIXBUF); +#line 2441 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_value_set_object (&_tmp51_, _tmp50_); +#line 2441 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_list_store_set_value (_tmp48_, &_tmp49_, 0, &_tmp51_); +#line 2441 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_IS_VALUE (&_tmp51_) ? (g_value_unset (&_tmp51_), NULL) : NULL; +#line 2436 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (icon_pixbuf); +#line 19078 "Dialogs.c" + } + } + } + goto __finally415; + __catch415_g_error: + { + GError* _error_ = NULL; + GError* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _error_ = _inner_error_; +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _inner_error_ = NULL; +#line 2444 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = _error_; +#line 2444 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = _tmp52_->message; +#line 2444 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = g_strconcat ("Error loading icon pixbuf: ", _tmp53_, NULL); +#line 2444 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = _tmp54_; +#line 2444 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_warning ("Dialogs.vala:2444: %s", _tmp55_); +#line 2444 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp55_); +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_error_free0 (_error_); +#line 19108 "Dialogs.c" + } + __finally415: +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (app_icon); +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (app); +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_app_it); +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (combo_store); +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (text_renderer); +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (pixbuf_renderer); +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.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 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_clear_error (&_inner_error_); +#line 2431 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 19131 "Dialogs.c" + } +#line 2447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = combo_store; +#line 2447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = iter; +#line 2447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp58_ = app; +#line 2447 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp59_ = g_app_info_get_name (_tmp58_); +#line 2447 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_value_init (&_tmp60_, G_TYPE_STRING); +#line 2447 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_value_set_string (&_tmp60_, _tmp59_); +#line 2447 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_list_store_set_value (_tmp56_, &_tmp57_, 1, &_tmp60_); +#line 2447 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_IS_VALUE (&_tmp60_) ? (g_value_unset (&_tmp60_), NULL) : NULL; +#line 2449 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp61_ = app; +#line 2449 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp62_ = g_app_info_get_commandline (_tmp61_); +#line 2449 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp63_ = current_app_executable; +#line 2449 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_strcmp0 (_tmp62_, _tmp63_) == 0) { +#line 19157 "Dialogs.c" + SortedList* _tmp64_ = NULL; + GAppInfo* _tmp65_ = NULL; + gint _tmp66_ = 0; +#line 2450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp64_ = _vala_external_apps; +#line 2450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp65_ = app; +#line 2450 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp66_ = sorted_list_index_of (_tmp64_, _tmp65_); +#line 2450 "/home/jens/Source/shotwell/src/Dialogs.vala" + current_app = _tmp66_; +#line 19169 "Dialogs.c" + } +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (app_icon); +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (app); +#line 19175 "Dialogs.c" + } +#line 2427 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_app_it); +#line 19179 "Dialogs.c" + } +#line 2455 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp67_ = combo_box; +#line 2455 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp68_ = combo_store; +#line 2455 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_model (_tmp67_, G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 2457 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = current_app; +#line 2457 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp69_ != -1) { +#line 19191 "Dialogs.c" + GtkComboBox* _tmp70_ = NULL; + gint _tmp71_ = 0; +#line 2458 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70_ = combo_box; +#line 2458 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp71_ = current_app; +#line 2458 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (_tmp70_, _tmp71_); +#line 19200 "Dialogs.c" + } +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (combo_store); +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (text_renderer); +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (pixbuf_renderer); +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (external_apps) { +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + *external_apps = _vala_external_apps; +#line 19212 "Dialogs.c" + } else { +#line 2403 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_vala_external_apps); +#line 19216 "Dialogs.c" + } +} + + +static void preferences_dialog_setup_dir_pattern (PreferencesDialog* self, GtkComboBox* combo_box, GtkEntry* entry) { + gchar* pattern = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean found = FALSE; + const gchar* _tmp4_ = NULL; + gboolean _tmp32_ = FALSE; +#line 2461 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2461 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); +#line 2461 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GTK_IS_ENTRY (entry)); +#line 2462 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = config_facade_get_instance (); +#line 2462 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 2462 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = configuration_facade_get_directory_pattern (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2462 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 2462 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp1_); +#line 2462 "/home/jens/Source/shotwell/src/Dialogs.vala" + pattern = _tmp3_; +#line 2463 "/home/jens/Source/shotwell/src/Dialogs.vala" + found = FALSE; +#line 2464 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = pattern; +#line 2464 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (NULL != _tmp4_) { +#line 19254 "Dialogs.c" + gint i = 0; +#line 2466 "/home/jens/Source/shotwell/src/Dialogs.vala" + i = 0; +#line 19258 "Dialogs.c" + { + GeeArrayList* _pf_list = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + gint _pf_size = 0; + GeeArrayList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _pf_index = 0; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = self->priv->path_formats; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _pf_list = _tmp6_; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _pf_list; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _pf_size = _tmp9_; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _pf_index = -1; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + while (TRUE) { +#line 19286 "Dialogs.c" + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + PreferencesDialogPathFormat* pf = NULL; + GeeArrayList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gpointer _tmp15_ = NULL; + PreferencesDialogPathFormat* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gint _tmp21_ = 0; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _pf_index; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _pf_index = _tmp10_ + 1; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _pf_index; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _pf_size; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!(_tmp11_ < _tmp12_)) { +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 19310 "Dialogs.c" + } +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _pf_list; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _pf_index; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp14_); +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + pf = (PreferencesDialogPathFormat*) _tmp15_; +#line 2468 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = pf; +#line 2468 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = _tmp16_->pattern; +#line 2468 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = pattern; +#line 2468 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_strcmp0 (_tmp17_, _tmp18_) == 0) { +#line 19328 "Dialogs.c" + GtkComboBox* _tmp19_ = NULL; + gint _tmp20_ = 0; +#line 2469 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = combo_box; +#line 2469 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = i; +#line 2469 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (_tmp19_, _tmp20_); +#line 2470 "/home/jens/Source/shotwell/src/Dialogs.vala" + found = TRUE; +#line 2471 "/home/jens/Source/shotwell/src/Dialogs.vala" + _preferences_dialog_path_format_unref0 (pf); +#line 2471 "/home/jens/Source/shotwell/src/Dialogs.vala" + break; +#line 19343 "Dialogs.c" + } +#line 2473 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = i; +#line 2473 "/home/jens/Source/shotwell/src/Dialogs.vala" + i = _tmp21_ + 1; +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _preferences_dialog_path_format_unref0 (pf); +#line 19351 "Dialogs.c" + } +#line 2467 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_pf_list); +#line 19355 "Dialogs.c" + } + } else { + gchar* s = NULL; + ConfigFacade* _tmp22_ = NULL; + ConfigFacade* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 2477 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = config_facade_get_instance (); +#line 2477 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = _tmp22_; +#line 2477 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = configuration_facade_get_directory_pattern_custom (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2477 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = _tmp24_; +#line 2477 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp23_); +#line 2477 "/home/jens/Source/shotwell/src/Dialogs.vala" + s = _tmp25_; +#line 2478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = s; +#line 2478 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = is_string_empty (_tmp26_); +#line 2478 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp27_) { +#line 19383 "Dialogs.c" + GtkComboBox* _tmp28_ = NULL; + GeeArrayList* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; +#line 2479 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = combo_box; +#line 2479 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = self->priv->path_formats; +#line 2479 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2479 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = _tmp30_; +#line 2479 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (_tmp28_, _tmp31_ - 1); +#line 2480 "/home/jens/Source/shotwell/src/Dialogs.vala" + found = TRUE; +#line 19400 "Dialogs.c" + } +#line 2464 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (s); +#line 19404 "Dialogs.c" + } +#line 2484 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = found; +#line 2484 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp32_) { +#line 19410 "Dialogs.c" + GtkComboBox* _tmp33_ = NULL; +#line 2485 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = combo_box; +#line 2485 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (_tmp33_, 0); +#line 19416 "Dialogs.c" + } +#line 2488 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_dir_pattern_combo_changed (self); +#line 2461 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (pattern); +#line 19422 "Dialogs.c" +} + + +void preferences_dialog_show (void) { + PreferencesDialog* _tmp0_ = NULL; + PreferencesDialog* _tmp2_ = NULL; + PreferencesDialog* _tmp3_ = NULL; + GtkDialog* _tmp4_ = NULL; + PreferencesDialog* _tmp5_ = NULL; + GtkFileChooserButton* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + PreferencesDialog* _tmp11_ = NULL; + GtkDialog* _tmp12_ = NULL; +#line 2492 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = preferences_dialog_preferences_dialog; +#line 2492 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == NULL) { +#line 19443 "Dialogs.c" + PreferencesDialog* _tmp1_ = NULL; +#line 2493 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = preferences_dialog_new (); +#line 2493 "/home/jens/Source/shotwell/src/Dialogs.vala" + _preferences_dialog_unref0 (preferences_dialog_preferences_dialog); +#line 2493 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_preferences_dialog = _tmp1_; +#line 19451 "Dialogs.c" + } +#line 2495 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = preferences_dialog_preferences_dialog; +#line 2495 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_populate_preference_options (_tmp2_); +#line 2496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = preferences_dialog_preferences_dialog; +#line 2496 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _tmp3_->priv->dialog; +#line 2496 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = preferences_dialog_preferences_dialog; +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _tmp5_->priv->library_dir_button; +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = app_dirs_get_import_dir (); +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _tmp7_; +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = g_file_get_path (_tmp8_); +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_file_chooser_set_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp10_); +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp10_); +#line 2497 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp8_); +#line 2501 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = preferences_dialog_preferences_dialog; +#line 2501 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = _tmp11_->priv->dialog; +#line 2501 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_window_get_type (), GtkWindow)); +#line 19487 "Dialogs.c" +} + + +static void preferences_dialog_commit_on_close (PreferencesDialog* self) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + GtkCheckButton* autoimport = NULL; + GtkBuilder* _tmp2_ = NULL; + GObject* _tmp3_ = NULL; + GtkCheckButton* _tmp4_ = NULL; + GtkCheckButton* _tmp5_ = NULL; + GtkCheckButton* commit_metadata = NULL; + GtkBuilder* _tmp11_ = NULL; + GObject* _tmp12_ = NULL; + GtkCheckButton* _tmp13_ = NULL; + GtkCheckButton* _tmp14_ = NULL; + const gchar* _tmp20_ = NULL; + PreferencesDialogPathFormat* pf = NULL; + GeeArrayList* _tmp22_ = NULL; + GtkComboBoxText* _tmp23_ = NULL; + gint _tmp24_ = 0; + gpointer _tmp25_ = NULL; + PreferencesDialogPathFormat* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 2506 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = config_facade_get_instance (); +#line 2507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 2507 "/home/jens/Source/shotwell/src/Dialogs.vala" + config_facade_commit_bg_color (_tmp1_); +#line 2507 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp1_); +#line 2509 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->builder; +#line 2509 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_builder_get_object (_tmp2_, "autoimport"); +#line 2509 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp3_) : NULL); +#line 2509 "/home/jens/Source/shotwell/src/Dialogs.vala" + autoimport = _tmp4_; +#line 2510 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = autoimport; +#line 2510 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_ != NULL) { +#line 19534 "Dialogs.c" + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + GtkCheckButton* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 2511 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = config_facade_get_instance (); +#line 2511 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 2511 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = autoimport; +#line 2511 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 2511 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 2511 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_auto_import_from_library (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp10_); +#line 2511 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp7_); +#line 19554 "Dialogs.c" + } +#line 2513 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->builder; +#line 2513 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = gtk_builder_get_object (_tmp11_, "write_metadata"); +#line 2513 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp12_) : NULL); +#line 2513 "/home/jens/Source/shotwell/src/Dialogs.vala" + commit_metadata = _tmp13_; +#line 2514 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = commit_metadata; +#line 2514 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp14_ != NULL) { +#line 19568 "Dialogs.c" + ConfigFacade* _tmp15_ = NULL; + ConfigFacade* _tmp16_ = NULL; + GtkCheckButton* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 2515 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = config_facade_get_instance (); +#line 2515 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = _tmp15_; +#line 2515 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = commit_metadata; +#line 2515 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 2515 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp18_; +#line 2515 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_commit_metadata_to_masters (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp19_); +#line 2515 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp16_); +#line 19588 "Dialogs.c" + } +#line 2517 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = self->priv->lib_dir; +#line 2517 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp20_ != NULL) { +#line 19594 "Dialogs.c" + const gchar* _tmp21_ = NULL; +#line 2518 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = self->priv->lib_dir; +#line 2518 "/home/jens/Source/shotwell/src/Dialogs.vala" + app_dirs_set_import_dir (_tmp21_); +#line 19600 "Dialogs.c" + } +#line 2520 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = self->priv->path_formats; +#line 2520 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = self->priv->dir_pattern_combo; +#line 2520 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_combo_box_get_type (), GtkComboBox)); +#line 2520 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp24_); +#line 2520 "/home/jens/Source/shotwell/src/Dialogs.vala" + pf = (PreferencesDialogPathFormat*) _tmp25_; +#line 2521 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = pf; +#line 2521 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = _tmp26_->pattern; +#line 2521 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (NULL == _tmp27_) { +#line 19618 "Dialogs.c" + ConfigFacade* _tmp28_ = NULL; + ConfigFacade* _tmp29_ = NULL; + GtkEntry* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + ConfigFacade* _tmp33_ = NULL; + ConfigFacade* _tmp34_ = NULL; +#line 2522 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = config_facade_get_instance (); +#line 2522 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = _tmp28_; +#line 2522 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = self->priv->dir_pattern_entry; +#line 2522 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = gtk_entry_get_text (_tmp30_); +#line 2522 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = _tmp31_; +#line 2522 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_directory_pattern_custom (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp32_); +#line 2522 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp29_); +#line 2523 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = config_facade_get_instance (); +#line 2523 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = _tmp33_; +#line 2523 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_directory_pattern (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), NULL); +#line 2523 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp34_); +#line 19648 "Dialogs.c" + } else { + ConfigFacade* _tmp35_ = NULL; + ConfigFacade* _tmp36_ = NULL; + PreferencesDialogPathFormat* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 2525 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = config_facade_get_instance (); +#line 2525 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = _tmp35_; +#line 2525 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = pf; +#line 2525 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = _tmp37_->pattern; +#line 2525 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_directory_pattern (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp38_); +#line 2525 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp36_); +#line 19666 "Dialogs.c" + } +#line 2506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _preferences_dialog_path_format_unref0 (pf); +#line 2506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (commit_metadata); +#line 2506 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (autoimport); +#line 19674 "Dialogs.c" +} + + +static gboolean preferences_dialog_on_delete (PreferencesDialog* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GtkDialog* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 2529 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_PREFERENCES_DIALOG (self), FALSE); +#line 2530 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = preferences_dialog_get_allow_closing (self); +#line 2530 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp0_) { +#line 2531 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 2531 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 19693 "Dialogs.c" + } +#line 2533 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_commit_on_close (self); +#line 2534 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->dialog; +#line 2534 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_widget_hide_on_delete (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 2534 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp2_; +#line 2534 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 19705 "Dialogs.c" +} + + +static void preferences_dialog_on_close (PreferencesDialog* self) { + gboolean _tmp0_ = FALSE; + GtkDialog* _tmp1_ = NULL; +#line 2537 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2538 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = preferences_dialog_get_allow_closing (self); +#line 2538 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp0_) { +#line 2539 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 19720 "Dialogs.c" + } +#line 2541 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->dialog; +#line 2541 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 2542 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_commit_on_close (self); +#line 19728 "Dialogs.c" +} + + +static void preferences_dialog_on_value_changed (PreferencesDialog* self) { + GtkAdjustment* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + GtkAdjustment* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; +#line 2545 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2546 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->bg_color_adjustment; +#line 2546 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_adjustment_get_upper (_tmp0_); +#line 2546 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->bg_color_adjustment; +#line 2546 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_adjustment_get_value (_tmp2_); +#line 2546 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_set_background_color (self, ((gdouble) (_tmp1_ - _tmp3_)) / 65535.0); +#line 19749 "Dialogs.c" +} + + +static gboolean preferences_dialog_on_bg_color_reset (PreferencesDialog* self, GdkEventButton* event) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GdkEventButton* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 2550 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_PREFERENCES_DIALOG (self), FALSE); +#line 2550 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = event; +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_->button; +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp3_ == ((guint) 1)) { +#line 19769 "Dialogs.c" + GdkEventButton* _tmp4_ = NULL; + GdkEventType _tmp5_ = 0; +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = event; +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_->type; +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp5_ == GDK_BUTTON_PRESS; +#line 19778 "Dialogs.c" + } else { +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = FALSE; +#line 19782 "Dialogs.c" + } +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_) { +#line 19786 "Dialogs.c" + GdkEventButton* _tmp6_ = NULL; + GdkModifierType _tmp7_ = 0; + gboolean _tmp8_ = FALSE; +#line 2552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = event; +#line 2552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_->state; +#line 2552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = has_only_key_modifier (_tmp7_, GDK_CONTROL_MASK); +#line 2552 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp8_; +#line 19798 "Dialogs.c" + } else { +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = FALSE; +#line 19802 "Dialogs.c" + } +#line 2551 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_) { +#line 19806 "Dialogs.c" + GtkScale* _tmp9_ = NULL; + GtkAdjustment* _tmp10_ = NULL; + gdouble _tmp11_ = 0.0; + GdkRGBA _tmp12_ = {0}; + gdouble _tmp13_ = 0.0; +#line 2554 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = self->priv->bg_color_slider; +#line 2554 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = self->priv->bg_color_adjustment; +#line 2554 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = gtk_adjustment_get_upper (_tmp10_); +#line 2554 "/home/jens/Source/shotwell/src/Dialogs.vala" + parse_color (CONFIG_FACADE_DEFAULT_BG_COLOR, &_tmp12_); +#line 2554 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _tmp12_.red; +#line 2554 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_range_get_type (), GtkRange), _tmp11_ - (_tmp13_ * 65536.0f)); +#line 2556 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_value_changed (self); +#line 2558 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 2558 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 19830 "Dialogs.c" + } +#line 2561 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = FALSE; +#line 2561 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 19836 "Dialogs.c" +} + + +static void preferences_dialog_on_dir_pattern_combo_changed (PreferencesDialog* self) { + PreferencesDialogPathFormat* pf = NULL; + GeeArrayList* _tmp0_ = NULL; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; + gpointer _tmp3_ = NULL; + PreferencesDialogPathFormat* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 2564 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->path_formats; +#line 2565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->dir_pattern_combo; +#line 2565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 2565 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp2_); +#line 2565 "/home/jens/Source/shotwell/src/Dialogs.vala" + pf = (PreferencesDialogPathFormat*) _tmp3_; +#line 2566 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = pf; +#line 2566 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_->pattern; +#line 2566 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (NULL == _tmp5_) { +#line 19866 "Dialogs.c" + gchar* dir_pattern = NULL; + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GtkEntry* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GtkEntry* _tmp15_ = NULL; + GtkEntry* _tmp16_ = NULL; +#line 2568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = config_facade_get_instance (); +#line 2568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _tmp6_; +#line 2568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = configuration_facade_get_directory_pattern_custom (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = _tmp8_; +#line 2568 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp7_); +#line 2568 "/home/jens/Source/shotwell/src/Dialogs.vala" + dir_pattern = _tmp9_; +#line 2569 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = dir_pattern; +#line 2569 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = is_string_empty (_tmp10_); +#line 2569 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp11_) { +#line 19896 "Dialogs.c" + gchar* _tmp12_ = NULL; +#line 2570 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = g_strdup (""); +#line 2570 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (dir_pattern); +#line 2570 "/home/jens/Source/shotwell/src/Dialogs.vala" + dir_pattern = _tmp12_; +#line 19904 "Dialogs.c" + } +#line 2571 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = self->priv->dir_pattern_entry; +#line 2571 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = dir_pattern; +#line 2571 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_text (_tmp13_, _tmp14_); +#line 2572 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = self->priv->dir_pattern_entry; +#line 2572 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_set (_tmp15_, "editable", TRUE, NULL); +#line 2573 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->priv->dir_pattern_entry; +#line 2573 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 2566 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (dir_pattern); +#line 19922 "Dialogs.c" + } else { + GtkEntry* _tmp17_ = NULL; + PreferencesDialogPathFormat* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + GtkEntry* _tmp20_ = NULL; + GtkEntry* _tmp21_ = NULL; +#line 2575 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = self->priv->dir_pattern_entry; +#line 2575 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = pf; +#line 2575 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = _tmp18_->pattern; +#line 2575 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_text (_tmp17_, _tmp19_); +#line 2576 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = self->priv->dir_pattern_entry; +#line 2576 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_set (_tmp20_, "editable", FALSE, NULL); +#line 2577 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = self->priv->dir_pattern_entry; +#line 2577 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 19945 "Dialogs.c" + } +#line 2564 "/home/jens/Source/shotwell/src/Dialogs.vala" + _preferences_dialog_path_format_unref0 (pf); +#line 19949 "Dialogs.c" +} + + +static void preferences_dialog_on_dir_pattern_entry_changed (PreferencesDialog* self) { + gchar* example = NULL; + GDateTime* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 2581 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->example_date; +#line 2582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->dir_pattern_entry; +#line 2582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_entry_get_text (_tmp1_); +#line 2582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 2582 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = g_date_time_format (_tmp0_, _tmp3_); +#line 2582 "/home/jens/Source/shotwell/src/Dialogs.vala" + example = _tmp4_; +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = example; +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = is_string_empty (_tmp6_); +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp7_) { +#line 19983 "Dialogs.c" + GtkEntry* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->dir_pattern_entry; +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = gtk_entry_get_text (_tmp8_); +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = is_string_empty (_tmp10_); +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = !_tmp11_; +#line 19998 "Dialogs.c" + } else { +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = FALSE; +#line 20002 "Dialogs.c" + } +#line 2583 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp5_) { +#line 20006 "Dialogs.c" + GtkLabel* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GtkEntry* _tmp14_ = NULL; + GtkEntry* _tmp15_ = NULL; +#line 2585 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = self->priv->dir_pattern_example; +#line 2585 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = _ ("Invalid pattern"); +#line 2585 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_text (_tmp12_, _tmp13_); +#line 2586 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = self->priv->dir_pattern_entry; +#line 2586 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_icon_from_icon_name (_tmp14_, GTK_ENTRY_ICON_SECONDARY, "dialog-error"); +#line 2587 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = self->priv->dir_pattern_entry; +#line 2587 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_icon_activatable (_tmp15_, GTK_ENTRY_ICON_SECONDARY, FALSE); +#line 2588 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_set_allow_closing (self, FALSE); +#line 20027 "Dialogs.c" + } else { + GtkLabel* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GtkEntry* _tmp18_ = NULL; +#line 2591 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = self->priv->dir_pattern_example; +#line 2591 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = example; +#line 2591 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_label_set_text (_tmp16_, _tmp17_); +#line 2592 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = self->priv->dir_pattern_entry; +#line 2592 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_entry_set_icon_from_icon_name (_tmp18_, GTK_ENTRY_ICON_SECONDARY, NULL); +#line 2593 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_set_allow_closing (self, TRUE); +#line 20044 "Dialogs.c" + } +#line 2581 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (example); +#line 20048 "Dialogs.c" +} + + +static void preferences_dialog_set_allow_closing (PreferencesDialog* self, gboolean allow) { + GtkDialog* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 2597 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->dialog; +#line 2598 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = allow; +#line 2598 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_deletable (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_window_get_type (), GtkWindow), _tmp1_); +#line 2599 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = allow; +#line 2599 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->allow_closing = _tmp2_; +#line 20068 "Dialogs.c" +} + + +static gboolean preferences_dialog_get_allow_closing (PreferencesDialog* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 2602 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_PREFERENCES_DIALOG (self), FALSE); +#line 2603 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->allow_closing; +#line 2603 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _tmp0_; +#line 2603 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 20083 "Dialogs.c" +} + + +static void preferences_dialog_set_background_color (PreferencesDialog* self, gdouble bg_color_value) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + GdkRGBA _tmp3_ = {0}; +#line 2606 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = config_facade_get_instance (); +#line 2607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 2607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = bg_color_value; +#line 2607 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_to_grayscale (self, _tmp2_, &_tmp3_); +#line 2607 "/home/jens/Source/shotwell/src/Dialogs.vala" + config_facade_set_bg_color (_tmp1_, &_tmp3_); +#line 2607 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp1_); +#line 20106 "Dialogs.c" +} + + +static void preferences_dialog_to_grayscale (PreferencesDialog* self, gdouble color_value, GdkRGBA* result) { + GdkRGBA color = {0}; + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; +#line 2610 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2611 "/home/jens/Source/shotwell/src/Dialogs.vala" + memset (&color, 0, sizeof (GdkRGBA)); +#line 2613 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = color_value; +#line 2613 "/home/jens/Source/shotwell/src/Dialogs.vala" + color.red = _tmp0_; +#line 2614 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = color_value; +#line 2614 "/home/jens/Source/shotwell/src/Dialogs.vala" + color.green = _tmp1_; +#line 2615 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = color_value; +#line 2615 "/home/jens/Source/shotwell/src/Dialogs.vala" + color.blue = _tmp2_; +#line 2616 "/home/jens/Source/shotwell/src/Dialogs.vala" + color.alpha = 1.0; +#line 2618 "/home/jens/Source/shotwell/src/Dialogs.vala" + *result = color; +#line 2618 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 20137 "Dialogs.c" +} + + +static void preferences_dialog_on_photo_editor_changed (PreferencesDialog* self) { + gint _tmp0_ = 0; + GtkComboBox* _tmp1_ = NULL; + gint _tmp2_ = 0; + SortedList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint photo_app_choice_index = 0; + GAppInfo* app = NULL; + SortedList* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + ConfigFacade* _tmp13_ = NULL; + ConfigFacade* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 2621 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2622 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->photo_editor_combo; +#line 2622 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_combo_box_get_active (_tmp1_); +#line 2622 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->external_photo_apps; +#line 2622 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2622 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 2622 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_ < _tmp5_) { +#line 20172 "Dialogs.c" + GtkComboBox* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 2623 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->photo_editor_combo; +#line 2623 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = gtk_combo_box_get_active (_tmp6_); +#line 2623 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp7_; +#line 20181 "Dialogs.c" + } else { + SortedList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 2623 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->external_photo_apps; +#line 2623 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2623 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 2623 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp10_; +#line 20194 "Dialogs.c" + } +#line 2622 "/home/jens/Source/shotwell/src/Dialogs.vala" + photo_app_choice_index = _tmp0_; +#line 2625 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->external_photo_apps; +#line 2625 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = sorted_list_get_at (_tmp11_, photo_app_choice_index); +#line 2625 "/home/jens/Source/shotwell/src/Dialogs.vala" + app = (GAppInfo*) _tmp12_; +#line 2627 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = config_facade_get_instance (); +#line 2627 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp13_; +#line 2627 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = desktop_integration_get_app_open_command (app); +#line 2627 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = _tmp15_; +#line 2627 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp16_); +#line 2627 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp16_); +#line 2627 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp14_); +#line 2629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = desktop_integration_get_app_open_command (app); +#line 2629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = _tmp17_; +#line 2629 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_debug ("Dialogs.vala:2629: setting external photo editor to: %s", _tmp18_); +#line 2629 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (_tmp18_); +#line 2621 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (app); +#line 20228 "Dialogs.c" +} + + +static void preferences_dialog_on_raw_editor_changed (PreferencesDialog* self) { + gint _tmp0_ = 0; + GtkComboBox* _tmp1_ = NULL; + gint _tmp2_ = 0; + SortedList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint raw_app_choice_index = 0; + GAppInfo* app = NULL; + SortedList* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + ConfigFacade* _tmp13_ = NULL; + ConfigFacade* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 2632 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2633 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->raw_editor_combo; +#line 2633 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gtk_combo_box_get_active (_tmp1_); +#line 2633 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->external_raw_apps; +#line 2633 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2633 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 2633 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_ < _tmp5_) { +#line 20261 "Dialogs.c" + GtkComboBox* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 2634 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = self->priv->raw_editor_combo; +#line 2634 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = gtk_combo_box_get_active (_tmp6_); +#line 2634 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp7_; +#line 20270 "Dialogs.c" + } else { + SortedList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 2634 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = self->priv->external_raw_apps; +#line 2634 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2634 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = _tmp9_; +#line 2634 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp10_; +#line 20283 "Dialogs.c" + } +#line 2633 "/home/jens/Source/shotwell/src/Dialogs.vala" + raw_app_choice_index = _tmp0_; +#line 2636 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = self->priv->external_raw_apps; +#line 2636 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = sorted_list_get_at (_tmp11_, raw_app_choice_index); +#line 2636 "/home/jens/Source/shotwell/src/Dialogs.vala" + app = (GAppInfo*) _tmp12_; +#line 2638 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = config_facade_get_instance (); +#line 2638 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp13_; +#line 2638 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = g_app_info_get_commandline (app); +#line 2638 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_external_raw_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp15_); +#line 2638 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp14_); +#line 2640 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = g_app_info_get_commandline (app); +#line 2640 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_debug ("Dialogs.vala:2640: setting external raw editor to: %s", _tmp16_); +#line 2632 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (app); +#line 20309 "Dialogs.c" +} + + +static RawDeveloper preferences_dialog_raw_developer_from_combo (PreferencesDialog* self) { + RawDeveloper result = 0; + GtkComboBoxText* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 2643 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_PREFERENCES_DIALOG (self), 0); +#line 2644 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->default_raw_developer_combo; +#line 2644 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox)); +#line 2644 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp1_ == 0) { +#line 2645 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = RAW_DEVELOPER_CAMERA; +#line 2645 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 20329 "Dialogs.c" + } +#line 2646 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = RAW_DEVELOPER_SHOTWELL; +#line 2646 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 20335 "Dialogs.c" +} + + +static void preferences_dialog_set_raw_developer_combo (PreferencesDialog* self, RawDeveloper d) { + RawDeveloper _tmp0_ = 0; +#line 2649 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2650 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = d; +#line 2650 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp0_ == RAW_DEVELOPER_CAMERA) { +#line 20347 "Dialogs.c" + GtkComboBoxText* _tmp1_ = NULL; +#line 2651 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = self->priv->default_raw_developer_combo; +#line 2651 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 20353 "Dialogs.c" + } else { + GtkComboBoxText* _tmp2_ = NULL; +#line 2653 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->default_raw_developer_combo; +#line 2653 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), 1); +#line 20360 "Dialogs.c" + } +} + + +static void preferences_dialog_on_default_raw_developer_changed (PreferencesDialog* self) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; +#line 2656 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2657 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = config_facade_get_instance (); +#line 2657 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 2657 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = preferences_dialog_raw_developer_from_combo (self); +#line 2657 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_default_raw_developer (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_); +#line 2657 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp1_); +#line 20381 "Dialogs.c" +} + + +static void preferences_dialog_on_current_folder_changed (PreferencesDialog* self) { + GtkFileChooserButton* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 2660 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2661 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->library_dir_button; +#line 2661 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gtk_file_chooser_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 2661 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->priv->lib_dir); +#line 2661 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->lib_dir = _tmp1_; +#line 20398 "Dialogs.c" +} + + +static void _preferences_dialog_on_current_folder_changed_gtk_file_chooser_current_folder_changed (GtkFileChooser* _sender, gpointer self) { +#line 2669 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_on_current_folder_changed ((PreferencesDialog*) self); +#line 20405 "Dialogs.c" +} + + +static gboolean preferences_dialog_map_event (PreferencesDialog* self) { + gboolean result = FALSE; + GtkFileChooserButton* _tmp0_ = NULL; +#line 2664 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (IS_PREFERENCES_DIALOG (self), FALSE); +#line 2669 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = self->priv->library_dir_button; +#line 2669 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), "current-folder-changed", (GCallback) _preferences_dialog_on_current_folder_changed_gtk_file_chooser_current_folder_changed, self); +#line 2670 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = TRUE; +#line 2670 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 20422 "Dialogs.c" +} + + +static void preferences_dialog_add_to_dir_formats (PreferencesDialog* self, const gchar* name, const gchar* pattern) { + PreferencesDialogPathFormat* pf = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PreferencesDialogPathFormat* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + GtkComboBoxText* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 2673 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2673 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (name != NULL); +#line 2674 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = name; +#line 2674 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = pattern; +#line 2674 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = preferences_dialog_path_format_new (_tmp0_, _tmp1_); +#line 2674 "/home/jens/Source/shotwell/src/Dialogs.vala" + pf = _tmp2_; +#line 2675 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = self->priv->path_formats; +#line 2675 "/home/jens/Source/shotwell/src/Dialogs.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), pf); +#line 2676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = self->priv->dir_pattern_combo; +#line 2676 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = name; +#line 2676 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_combo_box_text_append_text (_tmp4_, _tmp5_); +#line 2673 "/home/jens/Source/shotwell/src/Dialogs.vala" + _preferences_dialog_path_format_unref0 (pf); +#line 20458 "Dialogs.c" +} + + +static void preferences_dialog_on_lowercase_toggled (PreferencesDialog* self) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + GtkCheckButton* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 2679 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (IS_PREFERENCES_DIALOG (self)); +#line 2680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = config_facade_get_instance (); +#line 2680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = _tmp0_; +#line 2680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = self->priv->lowercase; +#line 2680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 2680 "/home/jens/Source/shotwell/src/Dialogs.vala" + configuration_facade_set_use_lowercase_filenames (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp3_); +#line 2680 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp1_); +#line 20481 "Dialogs.c" +} + + +static PreferencesDialogPathFormat* preferences_dialog_path_format_construct (GType object_type, const gchar* name, const gchar* pattern) { + PreferencesDialogPathFormat* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 2258 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 2258 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = (PreferencesDialogPathFormat*) g_type_create_instance (object_type); +#line 2259 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = name; +#line 2259 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 2259 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->name); +#line 2259 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->name = _tmp1_; +#line 2260 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = pattern; +#line 2260 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 2260 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->pattern); +#line 2260 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->pattern = _tmp3_; +#line 2258 "/home/jens/Source/shotwell/src/Dialogs.vala" + return self; +#line 20513 "Dialogs.c" +} + + +static PreferencesDialogPathFormat* preferences_dialog_path_format_new (const gchar* name, const gchar* pattern) { +#line 2258 "/home/jens/Source/shotwell/src/Dialogs.vala" + return preferences_dialog_path_format_construct (PREFERENCES_DIALOG_TYPE_PATH_FORMAT, name, pattern); +#line 20520 "Dialogs.c" +} + + +static void preferences_dialog_value_path_format_init (GValue* value) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 20527 "Dialogs.c" +} + + +static void preferences_dialog_value_path_format_free_value (GValue* value) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (value->data[0].v_pointer) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_path_format_unref (value->data[0].v_pointer); +#line 20536 "Dialogs.c" + } +} + + +static void preferences_dialog_value_path_format_copy_value (const GValue* src_value, GValue* dest_value) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (src_value->data[0].v_pointer) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = preferences_dialog_path_format_ref (src_value->data[0].v_pointer); +#line 20546 "Dialogs.c" + } else { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = NULL; +#line 20550 "Dialogs.c" + } +} + + +static gpointer preferences_dialog_value_path_format_peek_pointer (const GValue* value) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 20558 "Dialogs.c" +} + + +static gchar* preferences_dialog_value_path_format_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (collect_values[0].v_pointer) { +#line 20565 "Dialogs.c" + PreferencesDialogPathFormat* object; + object = collect_values[0].v_pointer; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (object->parent_instance.g_class == NULL) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 20572 "Dialogs.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 20576 "Dialogs.c" + } +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = preferences_dialog_path_format_ref (object); +#line 20580 "Dialogs.c" + } else { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 20584 "Dialogs.c" + } +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 20588 "Dialogs.c" +} + + +static gchar* preferences_dialog_value_path_format_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PreferencesDialogPathFormat** object_p; + object_p = collect_values[0].v_pointer; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!object_p) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 20599 "Dialogs.c" + } +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!value->data[0].v_pointer) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = NULL; +#line 20605 "Dialogs.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = value->data[0].v_pointer; +#line 20609 "Dialogs.c" + } else { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = preferences_dialog_path_format_ref (value->data[0].v_pointer); +#line 20613 "Dialogs.c" + } +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 20617 "Dialogs.c" +} + + +static GParamSpec* preferences_dialog_param_spec_path_format (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PreferencesDialogParamSpecPathFormat* spec; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (g_type_is_a (object_type, PREFERENCES_DIALOG_TYPE_PATH_FORMAT), NULL); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return G_PARAM_SPEC (spec); +#line 20631 "Dialogs.c" +} + + +static gpointer preferences_dialog_value_get_path_format (const GValue* value) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PREFERENCES_DIALOG_TYPE_PATH_FORMAT), NULL); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 20640 "Dialogs.c" +} + + +static void preferences_dialog_value_set_path_format (GValue* value, gpointer v_object) { + PreferencesDialogPathFormat* old; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PREFERENCES_DIALOG_TYPE_PATH_FORMAT)); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PREFERENCES_DIALOG_TYPE_PATH_FORMAT)); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_path_format_ref (value->data[0].v_pointer); +#line 20660 "Dialogs.c" + } else { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 20664 "Dialogs.c" + } +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_path_format_unref (old); +#line 20670 "Dialogs.c" + } +} + + +static void preferences_dialog_value_take_path_format (GValue* value, gpointer v_object) { + PreferencesDialogPathFormat* old; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PREFERENCES_DIALOG_TYPE_PATH_FORMAT)); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PREFERENCES_DIALOG_TYPE_PATH_FORMAT)); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 20689 "Dialogs.c" + } else { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 20693 "Dialogs.c" + } +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_path_format_unref (old); +#line 20699 "Dialogs.c" + } +} + + +static void preferences_dialog_path_format_class_init (PreferencesDialogPathFormatClass * klass) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_path_format_parent_class = g_type_class_peek_parent (klass); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((PreferencesDialogPathFormatClass *) klass)->finalize = preferences_dialog_path_format_finalize; +#line 20709 "Dialogs.c" +} + + +static void preferences_dialog_path_format_instance_init (PreferencesDialogPathFormat * self) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->ref_count = 1; +#line 20716 "Dialogs.c" +} + + +static void preferences_dialog_path_format_finalize (PreferencesDialogPathFormat* obj) { + PreferencesDialogPathFormat * self; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PREFERENCES_DIALOG_TYPE_PATH_FORMAT, PreferencesDialogPathFormat); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_handlers_destroy (self); +#line 2262 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->name); +#line 2263 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->pattern); +#line 20730 "Dialogs.c" +} + + +static GType preferences_dialog_path_format_get_type (void) { + static volatile gsize preferences_dialog_path_format_type_id__volatile = 0; + if (g_once_init_enter (&preferences_dialog_path_format_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { preferences_dialog_value_path_format_init, preferences_dialog_value_path_format_free_value, preferences_dialog_value_path_format_copy_value, preferences_dialog_value_path_format_peek_pointer, "p", preferences_dialog_value_path_format_collect_value, "p", preferences_dialog_value_path_format_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PreferencesDialogPathFormatClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) preferences_dialog_path_format_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreferencesDialogPathFormat), 0, (GInstanceInitFunc) preferences_dialog_path_format_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType preferences_dialog_path_format_type_id; + preferences_dialog_path_format_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PreferencesDialogPathFormat", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&preferences_dialog_path_format_type_id__volatile, preferences_dialog_path_format_type_id); + } + return preferences_dialog_path_format_type_id__volatile; +} + + +static gpointer preferences_dialog_path_format_ref (gpointer instance) { + PreferencesDialogPathFormat* self; + self = instance; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_atomic_int_inc (&self->ref_count); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + return instance; +#line 20755 "Dialogs.c" +} + + +static void preferences_dialog_path_format_unref (gpointer instance) { + PreferencesDialogPathFormat* self; + self = instance; +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + PREFERENCES_DIALOG_PATH_FORMAT_GET_CLASS (self)->finalize (self); +#line 2257 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 20768 "Dialogs.c" + } +} + + +static void value_preferences_dialog_init (GValue* value) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 20776 "Dialogs.c" +} + + +static void value_preferences_dialog_free_value (GValue* value) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (value->data[0].v_pointer) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_unref (value->data[0].v_pointer); +#line 20785 "Dialogs.c" + } +} + + +static void value_preferences_dialog_copy_value (const GValue* src_value, GValue* dest_value) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (src_value->data[0].v_pointer) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = preferences_dialog_ref (src_value->data[0].v_pointer); +#line 20795 "Dialogs.c" + } else { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + dest_value->data[0].v_pointer = NULL; +#line 20799 "Dialogs.c" + } +} + + +static gpointer value_preferences_dialog_peek_pointer (const GValue* value) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 20807 "Dialogs.c" +} + + +static gchar* value_preferences_dialog_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (collect_values[0].v_pointer) { +#line 20814 "Dialogs.c" + PreferencesDialog* object; + object = collect_values[0].v_pointer; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (object->parent_instance.g_class == NULL) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 20821 "Dialogs.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 20825 "Dialogs.c" + } +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = preferences_dialog_ref (object); +#line 20829 "Dialogs.c" + } else { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 20833 "Dialogs.c" + } +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 20837 "Dialogs.c" +} + + +static gchar* value_preferences_dialog_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PreferencesDialog** object_p; + object_p = collect_values[0].v_pointer; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!object_p) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 20848 "Dialogs.c" + } +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!value->data[0].v_pointer) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = NULL; +#line 20854 "Dialogs.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = value->data[0].v_pointer; +#line 20858 "Dialogs.c" + } else { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + *object_p = preferences_dialog_ref (value->data[0].v_pointer); +#line 20862 "Dialogs.c" + } +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return NULL; +#line 20866 "Dialogs.c" +} + + +GParamSpec* param_spec_preferences_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPreferencesDialog* spec; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PREFERENCES_DIALOG), NULL); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return G_PARAM_SPEC (spec); +#line 20880 "Dialogs.c" +} + + +gpointer value_get_preferences_dialog (const GValue* value) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREFERENCES_DIALOG), NULL); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return value->data[0].v_pointer; +#line 20889 "Dialogs.c" +} + + +void value_set_preferences_dialog (GValue* value, gpointer v_object) { + PreferencesDialog* old; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREFERENCES_DIALOG)); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PREFERENCES_DIALOG)); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_ref (value->data[0].v_pointer); +#line 20909 "Dialogs.c" + } else { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 20913 "Dialogs.c" + } +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_unref (old); +#line 20919 "Dialogs.c" + } +} + + +void value_take_preferences_dialog (GValue* value, gpointer v_object) { + PreferencesDialog* old; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PREFERENCES_DIALOG)); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + old = value->data[0].v_pointer; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (v_object) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PREFERENCES_DIALOG)); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = v_object; +#line 20938 "Dialogs.c" + } else { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + value->data[0].v_pointer = NULL; +#line 20942 "Dialogs.c" + } +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (old) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_unref (old); +#line 20948 "Dialogs.c" + } +} + + +static void preferences_dialog_class_init (PreferencesDialogClass * klass) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + preferences_dialog_parent_class = g_type_class_peek_parent (klass); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + ((PreferencesDialogClass *) klass)->finalize = preferences_dialog_finalize; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_class_add_private (klass, sizeof (PreferencesDialogPrivate)); +#line 20960 "Dialogs.c" +} + + +static void preferences_dialog_instance_init (PreferencesDialog * self) { + GeeArrayList* _tmp0_ = NULL; + GDateTime* _tmp1_ = NULL; + PluginsManifestWidgetMediator* _tmp2_ = NULL; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv = PREFERENCES_DIALOG_GET_PRIVATE (self); +#line 2280 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->allow_closing = FALSE; +#line 2281 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->lib_dir = NULL; +#line 2282 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = gee_array_list_new (PREFERENCES_DIALOG_TYPE_PATH_FORMAT, (GBoxedCopyFunc) preferences_dialog_path_format_ref, preferences_dialog_path_format_unref, NULL, NULL, NULL); +#line 2282 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->path_formats = _tmp0_; +#line 2283 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_date_time_new_local (2009, 3, 10, 18, 16, (gdouble) 11); +#line 2283 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->example_date = _tmp1_; +#line 2285 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = plugins_manifest_widget_mediator_new (); +#line 2285 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->priv->plugins_mediator = _tmp2_; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + self->ref_count = 1; +#line 20988 "Dialogs.c" +} + + +static void preferences_dialog_finalize (PreferencesDialog* obj) { + PreferencesDialog * self; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PREFERENCES_DIALOG, PreferencesDialog); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_signal_handlers_destroy (self); +#line 2268 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dialog); +#line 2269 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->builder); +#line 2270 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->bg_color_adjustment); +#line 2271 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->bg_color_slider); +#line 2272 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->photo_editor_combo); +#line 2273 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->raw_editor_combo); +#line 2274 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->external_raw_apps); +#line 2275 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->external_photo_apps); +#line 2276 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->library_dir_button); +#line 2277 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dir_pattern_combo); +#line 2278 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dir_pattern_entry); +#line 2279 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->dir_pattern_example); +#line 2281 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (self->priv->lib_dir); +#line 2282 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->path_formats); +#line 2283 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_date_time_unref0 (self->priv->example_date); +#line 2284 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->lowercase); +#line 2285 "/home/jens/Source/shotwell/src/Dialogs.vala" + _plugins_manifest_widget_mediator_unref0 (self->priv->plugins_mediator); +#line 2286 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (self->priv->default_raw_developer_combo); +#line 21034 "Dialogs.c" +} + + +GType preferences_dialog_get_type (void) { + static volatile gsize preferences_dialog_type_id__volatile = 0; + if (g_once_init_enter (&preferences_dialog_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_preferences_dialog_init, value_preferences_dialog_free_value, value_preferences_dialog_copy_value, value_preferences_dialog_peek_pointer, "p", value_preferences_dialog_collect_value, "p", value_preferences_dialog_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PreferencesDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) preferences_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreferencesDialog), 0, (GInstanceInitFunc) preferences_dialog_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType preferences_dialog_type_id; + preferences_dialog_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PreferencesDialog", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&preferences_dialog_type_id__volatile, preferences_dialog_type_id); + } + return preferences_dialog_type_id__volatile; +} + + +gpointer preferences_dialog_ref (gpointer instance) { + PreferencesDialog* self; + self = instance; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_atomic_int_inc (&self->ref_count); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + return instance; +#line 21059 "Dialogs.c" +} + + +void preferences_dialog_unref (gpointer instance) { + PreferencesDialog* self; + self = instance; +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + PREFERENCES_DIALOG_GET_CLASS (self)->finalize (self); +#line 2256 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 21072 "Dialogs.c" + } +} + + +GtkResponseType copy_files_dialog (void) { + GtkResponseType result = 0; + gchar* msg = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GtkMessageDialog* dialog = NULL; + AppWindow* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + GtkMessageDialog* _tmp4_ = NULL; + GtkMessageDialog* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkResponseType _result_ = 0; + gint _tmp9_ = 0; +#line 2687 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _ ("Shotwell can copy the photos into your library folder or it can import" \ +" them without copying."); +#line 2687 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 2687 "/home/jens/Source/shotwell/src/Dialogs.vala" + msg = _tmp1_; +#line 2689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = app_window_get_instance (); +#line 2689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 2689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = (GtkMessageDialog*) gtk_message_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_window_get_type (), GtkWindow), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_CANCEL, "%s", msg); +#line 2689 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp4_); +#line 2689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _tmp4_; +#line 2689 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp3_); +#line 2689 "/home/jens/Source/shotwell/src/Dialogs.vala" + dialog = _tmp5_; +#line 2692 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = _ ("Co_py Photos"); +#line 2692 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), _tmp6_, (gint) GTK_RESPONSE_ACCEPT); +#line 2693 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _ ("_Import in Place"); +#line 2693 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog), _tmp7_, (gint) GTK_RESPONSE_REJECT); +#line 2694 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = _ ("Import to Library"); +#line 2694 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_window_get_type (), GtkWindow), _tmp8_); +#line 2696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_dialog_get_type (), GtkDialog)); +#line 2696 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = (GtkResponseType) _tmp9_; +#line 2698 "/home/jens/Source/shotwell/src/Dialogs.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (dialog, gtk_widget_get_type (), GtkWidget)); +#line 2700 "/home/jens/Source/shotwell/src/Dialogs.vala" + result = _result_; +#line 2700 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (dialog); +#line 2700 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (msg); +#line 2700 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 21138 "Dialogs.c" +} + + +void remove_photos_from_library (GeeCollection* photos) { + const gchar* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeCollection* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 2703 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GEE_IS_COLLECTION (photos)); +#line 2705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = photos; +#line 2705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = gee_collection_get_size (_tmp1_); +#line 2705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = _tmp2_; +#line 2705 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp3_ == 1) { +#line 21159 "Dialogs.c" + const gchar* _tmp4_ = NULL; +#line 2705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = _ ("Removing Photo From Library"); +#line 2705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp4_; +#line 21165 "Dialogs.c" + } else { + const gchar* _tmp5_ = NULL; +#line 2705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = _ ("Removing Photos From Library"); +#line 2705 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = _tmp5_; +#line 21172 "Dialogs.c" + } +#line 2704 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = photos; +#line 2704 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = _ ("Remove From Library"); +#line 2704 "/home/jens/Source/shotwell/src/Dialogs.vala" + remove_from_app (_tmp6_, _tmp7_, _tmp0_); +#line 21180 "Dialogs.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 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + return result; +#line 21189 "Dialogs.c" +} + + +void remove_from_app (GeeCollection* sources, const gchar* dialog_title, const gchar* progress_dialog_text) { + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GeeArrayList* photos = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* videos = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; + gchar* user_message = NULL; + gboolean _tmp8_ = FALSE; + GeeArrayList* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + GtkResponseType _result_ = 0; + AppWindow* _tmp42_ = NULL; + AppWindow* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + GeeCollection* _tmp46_ = NULL; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + GtkResponseType _tmp49_ = 0; + GtkResponseType _tmp50_ = 0; + gboolean _tmp51_ = FALSE; + GtkResponseType _tmp52_ = 0; + gboolean delete_backing = FALSE; + GtkResponseType _tmp54_ = 0; + AppWindow* _tmp55_ = NULL; + AppWindow* _tmp56_ = NULL; + ProgressDialog* progress = NULL; + ProgressMonitor monitor = NULL; + void* monitor_target = NULL; + GDestroyNotify monitor_target_destroy_notify = NULL; + GeeCollection* _tmp57_ = NULL; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + GeeArrayList* not_removed_photos = NULL; + GeeArrayList* _tmp65_ = NULL; + GeeArrayList* not_removed_videos = NULL; + GeeArrayList* _tmp66_ = NULL; + LibraryPhotoSourceCollection* _tmp67_ = NULL; + GeeArrayList* _tmp68_ = NULL; + gboolean _tmp69_ = FALSE; + ProgressMonitor _tmp70_ = NULL; + void* _tmp70__target = NULL; + GeeArrayList* _tmp71_ = NULL; + VideoSourceCollection* _tmp72_ = NULL; + GeeArrayList* _tmp73_ = NULL; + gboolean _tmp74_ = FALSE; + ProgressMonitor _tmp75_ = NULL; + void* _tmp75__target = NULL; + GeeArrayList* _tmp76_ = NULL; + gint num_not_removed = 0; + GeeArrayList* _tmp77_ = NULL; + gint _tmp78_ = 0; + gint _tmp79_ = 0; + GeeArrayList* _tmp80_ = NULL; + gint _tmp81_ = 0; + gint _tmp82_ = 0; + gboolean _tmp83_ = FALSE; + gboolean _tmp84_ = FALSE; + ProgressDialog* _tmp122_ = NULL; + AppWindow* _tmp124_ = NULL; + AppWindow* _tmp125_ = NULL; +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (dialog_title != NULL); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_return_if_fail (progress_dialog_text != NULL); +#line 2710 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp0_ = sources; +#line 2710 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 2710 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp2_ = _tmp1_; +#line 2710 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp2_ == 0) { +#line 2711 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 21276 "Dialogs.c" + } +#line 2713 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp3_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 2713 "/home/jens/Source/shotwell/src/Dialogs.vala" + photos = _tmp3_; +#line 2714 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp4_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 2714 "/home/jens/Source/shotwell/src/Dialogs.vala" + videos = _tmp4_; +#line 2715 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp5_ = sources; +#line 2715 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp6_ = photos; +#line 2715 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp7_ = videos; +#line 2715 "/home/jens/Source/shotwell/src/Dialogs.vala" + media_source_collection_filter_media (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2717 "/home/jens/Source/shotwell/src/Dialogs.vala" + user_message = NULL; +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp9_ = photos; +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp10_ = gee_collection_get_is_empty (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp11_ = _tmp10_; +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp11_) { +#line 21304 "Dialogs.c" + GeeArrayList* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp12_ = videos; +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp13_ = gee_collection_get_is_empty (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp14_ = _tmp13_; +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = !_tmp14_; +#line 21316 "Dialogs.c" + } else { +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp8_ = FALSE; +#line 21320 "Dialogs.c" + } +#line 2718 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp8_) { +#line 21324 "Dialogs.c" + GeeCollection* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + const gchar* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gchar* _tmp22_ = NULL; +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp15_ = sources; +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp16_ = gee_collection_get_size (_tmp15_); +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp17_ = _tmp16_; +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp18_ = ngettext ("This will remove the photo/video from your Shotwell library. Would yo" \ +"u also like to move the file to your desktop trash?\n" \ +"\n" \ +"This action cannot be undone.", "This will remove %d photos/videos from your Shotwell library. Would y" \ +"ou also like to move the files to your desktop trash?\n" \ +"\n" \ +"This action cannot be undone.", (gulong) _tmp17_); +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp19_ = sources; +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp20_ = gee_collection_get_size (_tmp19_); +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp21_ = _tmp20_; +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp22_ = g_strdup_printf (_tmp18_, _tmp21_); +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (user_message); +#line 2719 "/home/jens/Source/shotwell/src/Dialogs.vala" + user_message = _tmp22_; +#line 21353 "Dialogs.c" + } else { + GeeArrayList* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; +#line 2722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp23_ = videos; +#line 2722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp24_ = gee_collection_get_is_empty (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2722 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp25_ = _tmp24_; +#line 2722 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (!_tmp25_) { +#line 21366 "Dialogs.c" + GeeCollection* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + const gchar* _tmp29_ = NULL; + GeeCollection* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + gchar* _tmp33_ = NULL; +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp26_ = sources; +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp27_ = gee_collection_get_size (_tmp26_); +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp28_ = _tmp27_; +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp29_ = ngettext ("This will remove the video from your Shotwell library. Would you also" \ +" like to move the file to your desktop trash?\n" \ +"\n" \ +"This action cannot be undone.", "This will remove %d videos from your Shotwell library. Would you also" \ +" like to move the files to your desktop trash?\n" \ +"\n" \ +"This action cannot be undone.", (gulong) _tmp28_); +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp30_ = sources; +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp31_ = gee_collection_get_size (_tmp30_); +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp32_ = _tmp31_; +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp33_ = g_strdup_printf (_tmp29_, _tmp32_); +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (user_message); +#line 2723 "/home/jens/Source/shotwell/src/Dialogs.vala" + user_message = _tmp33_; +#line 21395 "Dialogs.c" + } else { + GeeCollection* _tmp34_ = NULL; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + const gchar* _tmp37_ = NULL; + GeeCollection* _tmp38_ = NULL; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gchar* _tmp41_ = NULL; +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp34_ = sources; +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp35_ = gee_collection_get_size (_tmp34_); +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp36_ = _tmp35_; +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp37_ = ngettext ("This will remove the photo from your Shotwell library. Would you also" \ +" like to move the file to your desktop trash?\n" \ +"\n" \ +"This action cannot be undone.", "This will remove %d photos from your Shotwell library. Would you also" \ +" like to move the files to your desktop trash?\n" \ +"\n" \ +"This action cannot be undone.", (gulong) _tmp36_); +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp38_ = sources; +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp39_ = gee_collection_get_size (_tmp38_); +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp40_ = _tmp39_; +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp41_ = g_strdup_printf (_tmp37_, _tmp40_); +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (user_message); +#line 2727 "/home/jens/Source/shotwell/src/Dialogs.vala" + user_message = _tmp41_; +#line 21425 "Dialogs.c" + } + } +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp42_ = app_window_get_instance (); +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp43_ = _tmp42_; +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp44_ = dialog_title; +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp45_ = user_message; +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp46_ = sources; +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp47_ = gee_collection_get_size (_tmp46_); +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp48_ = _tmp47_; +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp49_ = remove_from_library_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_window_get_type (), GtkWindow), _tmp44_, _tmp45_, _tmp48_); +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp50_ = _tmp49_; +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp43_); +#line 2732 "/home/jens/Source/shotwell/src/Dialogs.vala" + _result_ = _tmp50_; +#line 2734 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp52_ = _result_; +#line 2734 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp52_ != GTK_RESPONSE_YES) { +#line 21454 "Dialogs.c" + GtkResponseType _tmp53_ = 0; +#line 2734 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp53_ = _result_; +#line 2734 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = _tmp53_ != GTK_RESPONSE_NO; +#line 21460 "Dialogs.c" + } else { +#line 2734 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp51_ = FALSE; +#line 21464 "Dialogs.c" + } +#line 2734 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp51_) { +#line 2735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (user_message); +#line 2735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (videos); +#line 2735 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (photos); +#line 2735 "/home/jens/Source/shotwell/src/Dialogs.vala" + return; +#line 21476 "Dialogs.c" + } +#line 2737 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp54_ = _result_; +#line 2737 "/home/jens/Source/shotwell/src/Dialogs.vala" + delete_backing = _tmp54_ == GTK_RESPONSE_YES; +#line 2739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp55_ = app_window_get_instance (); +#line 2739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp56_ = _tmp55_; +#line 2739 "/home/jens/Source/shotwell/src/Dialogs.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_PAGE_WINDOW, PageWindow)); +#line 2739 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp56_); +#line 2741 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress = NULL; +#line 2742 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor = NULL; +#line 2742 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor_target = NULL; +#line 2742 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor_target_destroy_notify = NULL; +#line 2743 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp57_ = sources; +#line 2743 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp58_ = gee_collection_get_size (_tmp57_); +#line 2743 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp59_ = _tmp58_; +#line 2743 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp59_ >= 20) { +#line 21506 "Dialogs.c" + AppWindow* _tmp60_ = NULL; + AppWindow* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + ProgressDialog* _tmp63_ = NULL; + ProgressDialog* _tmp64_ = NULL; +#line 2744 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp60_ = app_window_get_instance (); +#line 2744 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp61_ = _tmp60_; +#line 2744 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp62_ = progress_dialog_text; +#line 2744 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp63_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_window_get_type (), GtkWindow), _tmp62_, NULL); +#line 2744 "/home/jens/Source/shotwell/src/Dialogs.vala" + g_object_ref_sink (_tmp63_); +#line 2744 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (progress); +#line 2744 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress = _tmp63_; +#line 2744 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp61_); +#line 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp64_ = progress; +#line 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); +#line 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor = NULL; +#line 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor_target = NULL; +#line 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor_target_destroy_notify = NULL; +#line 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor = _progress_dialog_monitor_progress_monitor; +#line 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor_target = g_object_ref (_tmp64_); +#line 2745 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor_target_destroy_notify = g_object_unref; +#line 21544 "Dialogs.c" + } +#line 2748 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp65_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 2748 "/home/jens/Source/shotwell/src/Dialogs.vala" + not_removed_photos = _tmp65_; +#line 2749 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp66_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 2749 "/home/jens/Source/shotwell/src/Dialogs.vala" + not_removed_videos = _tmp66_; +#line 2752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp67_ = library_photo_global; +#line 2752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp68_ = photos; +#line 2752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp69_ = delete_backing; +#line 2752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70_ = monitor; +#line 2752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp70__target = monitor_target; +#line 2752 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp71_ = not_removed_photos; +#line 2752 "/home/jens/Source/shotwell/src/Dialogs.vala" + media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, GEE_TYPE_COLLECTION, GeeCollection), _tmp69_, _tmp70_, _tmp70__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, GEE_TYPE_LIST, GeeList)); +#line 2753 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp72_ = video_global; +#line 2753 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp73_ = videos; +#line 2753 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp74_ = delete_backing; +#line 2753 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp75_ = monitor; +#line 2753 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp75__target = monitor_target; +#line 2753 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp76_ = not_removed_videos; +#line 2753 "/home/jens/Source/shotwell/src/Dialogs.vala" + media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, GEE_TYPE_COLLECTION, GeeCollection), _tmp74_, _tmp75_, _tmp75__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, GEE_TYPE_LIST, GeeList)); +#line 2756 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp77_ = not_removed_photos; +#line 2756 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp78_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2756 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp79_ = _tmp78_; +#line 2756 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp80_ = not_removed_videos; +#line 2756 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp81_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2756 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp82_ = _tmp81_; +#line 2756 "/home/jens/Source/shotwell/src/Dialogs.vala" + num_not_removed = _tmp79_ + _tmp82_; +#line 2757 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp84_ = delete_backing; +#line 2757 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp84_) { +#line 21600 "Dialogs.c" + gint _tmp85_ = 0; +#line 2757 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp85_ = num_not_removed; +#line 2757 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp83_ = _tmp85_ > 0; +#line 21606 "Dialogs.c" + } else { +#line 2757 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp83_ = FALSE; +#line 21610 "Dialogs.c" + } +#line 2757 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp83_) { +#line 21614 "Dialogs.c" + gchar* not_deleted_message = NULL; + gint _tmp86_ = 0; + const gchar* _tmp87_ = NULL; + gint _tmp88_ = 0; + gchar* _tmp89_ = NULL; + GtkResponseType result_delete = 0; + AppWindow* _tmp90_ = NULL; + AppWindow* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; + const gchar* _tmp93_ = NULL; + GtkResponseType _tmp94_ = 0; + GtkResponseType _tmp95_ = 0; + GtkResponseType _tmp96_ = 0; +#line 2758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp86_ = num_not_removed; +#line 2758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp87_ = ngettext ("The photo or video cannot be moved to your desktop trash. Delete this" \ +" file?", "%d photos/videos cannot be moved to your desktop trash. Delete these " \ +"files?", (gulong) _tmp86_); +#line 2758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp88_ = num_not_removed; +#line 2758 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp89_ = g_strdup_printf (_tmp87_, _tmp88_); +#line 2758 "/home/jens/Source/shotwell/src/Dialogs.vala" + not_deleted_message = _tmp89_; +#line 2762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp90_ = app_window_get_instance (); +#line 2762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp91_ = _tmp90_; +#line 2762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp92_ = dialog_title; +#line 2762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp93_ = not_deleted_message; +#line 2762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp94_ = remove_from_filesystem_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, gtk_window_get_type (), GtkWindow), _tmp92_, _tmp93_); +#line 2762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp95_ = _tmp94_; +#line 2762 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp91_); +#line 2762 "/home/jens/Source/shotwell/src/Dialogs.vala" + result_delete = _tmp95_; +#line 2765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp96_ = result_delete; +#line 2765 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (GTK_RESPONSE_YES == _tmp96_) { +#line 21658 "Dialogs.c" + GeeArrayList* not_deleted_photos = NULL; + GeeArrayList* _tmp97_ = NULL; + GeeArrayList* not_deleted_videos = NULL; + GeeArrayList* _tmp98_ = NULL; + LibraryPhotoSourceCollection* _tmp99_ = NULL; + GeeArrayList* _tmp100_ = NULL; + ProgressMonitor _tmp101_ = NULL; + void* _tmp101__target = NULL; + GeeArrayList* _tmp102_ = NULL; + VideoSourceCollection* _tmp103_ = NULL; + GeeArrayList* _tmp104_ = NULL; + ProgressMonitor _tmp105_ = NULL; + void* _tmp105__target = NULL; + GeeArrayList* _tmp106_ = NULL; + gint num_not_deleted = 0; + GeeArrayList* _tmp107_ = NULL; + gint _tmp108_ = 0; + gint _tmp109_ = 0; + GeeArrayList* _tmp110_ = NULL; + gint _tmp111_ = 0; + gint _tmp112_ = 0; + gint _tmp113_ = 0; +#line 2767 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp97_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 2767 "/home/jens/Source/shotwell/src/Dialogs.vala" + not_deleted_photos = _tmp97_; +#line 2768 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp98_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 2768 "/home/jens/Source/shotwell/src/Dialogs.vala" + not_deleted_videos = _tmp98_; +#line 2769 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp99_ = library_photo_global; +#line 2769 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp100_ = not_removed_photos; +#line 2769 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp101_ = monitor; +#line 2769 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp101__target = monitor_target; +#line 2769 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp102_ = not_deleted_photos; +#line 2769 "/home/jens/Source/shotwell/src/Dialogs.vala" + media_source_collection_delete_backing_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp99_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, GEE_TYPE_COLLECTION, GeeCollection), _tmp101_, _tmp101__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp102_, GEE_TYPE_LIST, GeeList)); +#line 2770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp103_ = video_global; +#line 2770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp104_ = not_removed_videos; +#line 2770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp105_ = monitor; +#line 2770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp105__target = monitor_target; +#line 2770 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp106_ = not_deleted_videos; +#line 2770 "/home/jens/Source/shotwell/src/Dialogs.vala" + media_source_collection_delete_backing_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp103_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, GEE_TYPE_COLLECTION, GeeCollection), _tmp105_, _tmp105__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp106_, GEE_TYPE_LIST, GeeList)); +#line 2772 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp107_ = not_deleted_photos; +#line 2772 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp108_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp107_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2772 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp109_ = _tmp108_; +#line 2772 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp110_ = not_deleted_videos; +#line 2772 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp111_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 2772 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp112_ = _tmp111_; +#line 2772 "/home/jens/Source/shotwell/src/Dialogs.vala" + num_not_deleted = _tmp109_ + _tmp112_; +#line 2773 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp113_ = num_not_deleted; +#line 2773 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp113_ > 0) { +#line 21731 "Dialogs.c" + gchar* delete_failed_message = NULL; + gint _tmp114_ = 0; + const gchar* _tmp115_ = NULL; + gint _tmp116_ = 0; + gchar* _tmp117_ = NULL; + const gchar* _tmp118_ = NULL; + const gchar* _tmp119_ = NULL; + AppWindow* _tmp120_ = NULL; + AppWindow* _tmp121_ = NULL; +#line 2775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp114_ = num_not_deleted; +#line 2775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp115_ = ngettext ("The photo or video cannot be deleted.", "%d photos/videos cannot be deleted.", (gulong) _tmp114_); +#line 2775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp116_ = num_not_deleted; +#line 2775 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp117_ = g_strdup_printf (_tmp115_, _tmp116_); +#line 2775 "/home/jens/Source/shotwell/src/Dialogs.vala" + delete_failed_message = _tmp117_; +#line 2779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp118_ = dialog_title; +#line 2779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp119_ = delete_failed_message; +#line 2779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp120_ = app_window_get_instance (); +#line 2779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp121_ = _tmp120_; +#line 2779 "/home/jens/Source/shotwell/src/Dialogs.vala" + app_window_error_message_with_title (_tmp118_, _tmp119_, G_TYPE_CHECK_INSTANCE_CAST (_tmp121_, gtk_window_get_type (), GtkWindow), TRUE); +#line 2779 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp121_); +#line 2773 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (delete_failed_message); +#line 21765 "Dialogs.c" + } +#line 2765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (not_deleted_videos); +#line 2765 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (not_deleted_photos); +#line 21771 "Dialogs.c" + } +#line 2757 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (not_deleted_message); +#line 21775 "Dialogs.c" + } +#line 2784 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp122_ = progress; +#line 2784 "/home/jens/Source/shotwell/src/Dialogs.vala" + if (_tmp122_ != NULL) { +#line 21781 "Dialogs.c" + ProgressDialog* _tmp123_ = NULL; +#line 2785 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp123_ = progress; +#line 2785 "/home/jens/Source/shotwell/src/Dialogs.vala" + progress_dialog_close (_tmp123_); +#line 21787 "Dialogs.c" + } +#line 2787 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp124_ = app_window_get_instance (); +#line 2787 "/home/jens/Source/shotwell/src/Dialogs.vala" + _tmp125_ = _tmp124_; +#line 2787 "/home/jens/Source/shotwell/src/Dialogs.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp125_, TYPE_PAGE_WINDOW, PageWindow)); +#line 2787 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (_tmp125_); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (not_removed_videos); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (not_removed_photos); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor = NULL; +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor_target = NULL; +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + monitor_target_destroy_notify = NULL; +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (progress); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_free0 (user_message); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (videos); +#line 2708 "/home/jens/Source/shotwell/src/Dialogs.vala" + _g_object_unref0 (photos); +#line 21817 "Dialogs.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/Dialogs.vala b/src/Dialogs.vala index c208caf..f01e078 100644 --- a/src/Dialogs.vala +++ b/src/Dialogs.vala @@ -31,9 +31,10 @@ public bool confirm_delete_saved_search(SavedSearch search) { public bool confirm_warn_developer_changed(int number) { Gtk.MessageDialog dialog = new Gtk.MessageDialog.with_markup(AppWindow.get_instance(), - Gtk.DialogFlags.MODAL, Gtk.MessageType.WARNING, Gtk.ButtonsType.NONE, "%s", - "%s".printf(ngettext("Switching developers will undo all changes you have made to this photo in Shotwell", - "Switching developers will undo all changes you have made to these photos in Shotwell", number))); + Gtk.DialogFlags.MODAL, Gtk.MessageType.WARNING, Gtk.ButtonsType.NONE, + "%s", + ngettext("Switching developers will undo all changes you have made to this photo in Shotwell", + "Switching developers will undo all changes you have made to these photos in Shotwell", number)); dialog.add_buttons(Resources.CANCEL_LABEL, Gtk.ResponseType.CANCEL); dialog.add_buttons(_("_Switch Developer"), Gtk.ResponseType.YES); @@ -1113,7 +1114,7 @@ public abstract class SetBackgroundDialog { public class SetBackgroundPhotoDialog : SetBackgroundDialog { public SetBackgroundPhotoDialog() { - Gtk.Builder builder = AppWindow.create_builder("set_background_dialog.glade", this); + Gtk.Builder builder = AppWindow.create_builder("set_background_dialog.ui", this); base(builder); } @@ -1133,7 +1134,7 @@ public class SetBackgroundSlideshowDialog : SetBackgroundDialog { private int delay_value = 0; public SetBackgroundSlideshowDialog() { - Gtk.Builder builder = AppWindow.create_builder("set_background_slideshow_dialog.glade", this); + Gtk.Builder builder = AppWindow.create_builder("set_background_slideshow_dialog.ui", this); base(builder); delay_value_label = builder.get_object("delay_value_label") as Gtk.Label; @@ -1329,7 +1330,7 @@ public class EventRenameDialog : TextEntryDialogMediator { public class EditTitleDialog : TextEntryDialogMediator { public EditTitleDialog(string? photo_title) { // Dialog title - base (_("Edit Title"), + base (C_("Dialog Title", "Edit Title"), _("Title:"), photo_title); } @@ -1974,7 +1975,9 @@ public abstract class TagsDialog : TextEntryDialogMediator { public class AddTagsDialog : TagsDialog { public AddTagsDialog() { - base (Resources.ADD_TAGS_TITLE, _("Tags (separated by commas):")); + var title = GLib.dpgettext2 (null, "Dialog Title", + Resources.ADD_TAGS_TITLE); + base (title, _("Tags (separated by commas):")); } public string[]? execute() { @@ -2325,7 +2328,7 @@ public class PreferencesDialog { pattern_help.set_markup("" + _("(Help)") + ""); } else { // We're being run from the build directory; we'll have to handle clicks to this - // link manually ourselves, due to a limitation ghelp: URIs. + // link manually ourselves, due to a limitation of help: URIs. pattern_help.set_markup("" + _("(Help)") + ""); pattern_help.activate_link.connect(on_local_pattern_help); } @@ -2390,7 +2393,7 @@ public class PreferencesDialog { // the help viewer and specify the full path to the subsection we want... private bool on_local_pattern_help(string ignore) { try { - Resources.launch_help(AppWindow.get_instance().get_screen(), "?other-files"); + Resources.launch_help(AppWindow.get_instance().get_screen(), "other-files.page"); } catch (Error e) { message("Unable to launch help: %s", e.message); } diff --git a/src/Dimensions.c b/src/Dimensions.c new file mode 100644 index 0000000..57c20a2 --- /dev/null +++ b/src/Dimensions.c @@ -0,0 +1,4422 @@ +/* Dimensions.c generated by valac 0.32.1, the Vala compiler + * generated from Dimensions.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_SCALING (scaling_get_type ()) +typedef struct _Scaling Scaling; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_ZOOM_STATE (zoom_state_get_type ()) +typedef struct _ZoomState ZoomState; +#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); + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _ZoomState { + Dimensions content_dimensions; + Dimensions viewport_dimensions; + gdouble zoom_factor; + gdouble interpolation_factor; + gdouble min_factor; + gdouble max_factor; + GdkPoint viewport_center; +}; + + + +GType scale_constraint_get_type (void) G_GNUC_CONST; +gchar* scale_constraint_to_string (ScaleConstraint self); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +void dimensions_init (Dimensions *self, gint width, gint height); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +void dimensions_for_allocation (GtkAllocation* allocation, Dimensions* result); +void dimensions_for_widget_allocation (GtkWidget* widget, Dimensions* result); +void dimensions_for_rectangle (GdkRectangle* rect, Dimensions* result); +gboolean dimensions_has_area (Dimensions *self); +void dimensions_floor (Dimensions *self, Dimensions* min, Dimensions* result); +gchar* dimensions_to_string (Dimensions *self); +gboolean dimensions_equals (Dimensions *self, Dimensions* dim); +gboolean dimensions_approx_equals (Dimensions *self, Dimensions* dim, gint fudge); +gboolean dimensions_approx_scaled (Dimensions *self, gint scale, gint fudge); +gint dimensions_major_axis (Dimensions *self); +gint dimensions_minor_axis (Dimensions *self); +void dimensions_with_min (Dimensions *self, gint min_width, gint min_height, Dimensions* result); +void dimensions_with_max (Dimensions *self, gint max_width, gint max_height, Dimensions* result); +void dimensions_get_scaled (Dimensions *self, gint scale, gboolean scale_up, Dimensions* result); +void dimensions_get_scaled_by_width (Dimensions *self, gint scale, Dimensions* result); +void dimensions_get_scaled_by_height (Dimensions *self, gint scale, Dimensions* result); +void dimensions_get_scale_ratios (Dimensions *self, Dimensions* scaled, gdouble* width_ratio, gdouble* height_ratio); +gdouble dimensions_get_aspect_ratio (Dimensions *self); +void dimensions_get_scaled_proportional (Dimensions *self, Dimensions* viewport, Dimensions* result); +void dimensions_get_scaled_to_fill_viewport (Dimensions *self, Dimensions* viewport, Dimensions* result); +void dimensions_get_scaled_rectangle (Dimensions *self, Dimensions* scaled, GdkRectangle* rect, GdkRectangle* result); +void dimensions_get_scaled_similar (Dimensions *self, Dimensions* original, Dimensions* scaled, Dimensions* result); +void dimensions_get_scaled_by_constraint (Dimensions *self, gint scale, ScaleConstraint constraint, Dimensions* result); +GType scaling_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +#define SCALING_NO_SCALE 0 +static void scaling_init (Scaling *self, ScaleConstraint constraint, gint scale, Dimensions* viewport, gboolean scale_up); +void scaling_for_original (Scaling* result); +void scaling_for_screen (GtkWindow* window, gboolean scale_up, Scaling* result); +void scaling_for_viewport (Dimensions* viewport, gboolean scale_up, Scaling* result); +static void scaling_get_screen_dimensions (GtkWindow* window, Dimensions* result); +void scaling_for_best_fit (gint pixels, gboolean scale_up, Scaling* result); +void scaling_for_widget (GtkWidget* widget, gboolean scale_up, Scaling* result); +void scaling_to_fill_viewport (Dimensions* viewport, Scaling* result); +void scaling_to_fill_screen (GtkWindow* window, Scaling* result); +void scaling_for_constraint (ScaleConstraint constraint, gint scale, gboolean scale_up, Scaling* result); +static gint scaling_scale_to_pixels (Scaling *self); +gboolean scaling_is_unscaled (Scaling *self); +gboolean scaling_is_best_fit (Scaling *self, Dimensions* original, gint* pixels); +gboolean scaling_is_best_fit_dimensions (Scaling *self, Dimensions* original, Dimensions* scaled); +gboolean scaling_is_for_viewport (Scaling *self, Dimensions* original, Dimensions* scaled); +gboolean scaling_is_fill_viewport (Scaling *self, Dimensions* original, Dimensions* scaled); +void scaling_get_scaled_dimensions (Scaling *self, Dimensions* original, Dimensions* result); +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up); +GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf, gint scale, GdkInterpType interp, gboolean scale_up); +GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp); +gchar* scaling_to_string (Scaling *self); +gboolean scaling_equals (Scaling *self, Scaling* scaling); +GType zoom_state_get_type (void) G_GNUC_CONST; +ZoomState* zoom_state_dup (const ZoomState* self); +void zoom_state_free (ZoomState* self); +void zoom_state_init (ZoomState *self, Dimensions* content_dimensions, Dimensions* viewport_dimensions, gdouble slider_val, GdkPoint* viewport_center); +static void zoom_state_compute_zoom_factors (ZoomState *self); +static void zoom_state_center_viewport (ZoomState *self); +static void zoom_state_clamp_viewport_center (ZoomState *self); +void zoom_state_init_rescale (ZoomState *self, ZoomState* existing, gdouble new_slider_val); +void zoom_state_init_rescale_to_isomorphic (ZoomState *self, ZoomState* existing); +void zoom_state_init_pan (ZoomState *self, ZoomState* existing, GdkPoint* new_viewport_center); +gint zoom_state_get_zoomed_width (ZoomState *self); +gint zoom_state_get_zoomed_height (ZoomState *self); +gdouble zoom_state_get_interpolation_factor (ZoomState *self); +void zoom_state_get_viewing_rectangle_wrt_content (ZoomState *self, GdkRectangle* result); +void zoom_state_get_viewing_rectangle_wrt_screen (ZoomState *self, GdkRectangle* result); +void zoom_state_get_viewing_rectangle_projection (ZoomState *self, GdkPixbuf* for_pixbuf, GdkRectangle* result); +gdouble zoom_state_get_zoom_factor (ZoomState *self); +void zoom_state_get_viewport_center (ZoomState *self, GdkPoint* result); +gchar* zoom_state_to_string (ZoomState *self); +gboolean zoom_state_is_min (ZoomState *self); +gboolean zoom_state_is_default (ZoomState *self); +gboolean zoom_state_is_isomorphic (ZoomState *self); +gboolean zoom_state_is_max (ZoomState *self); +gboolean zoom_state_equals (ZoomState *self, ZoomState* other); + + +gchar* scale_constraint_to_string (ScaleConstraint self) { + gchar* result = NULL; +#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" + switch (self) { +#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_ORIGINAL: +#line 161 "Dimensions.c" + { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _ ("Original size"); +#line 17 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 17 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 173 "Dimensions.c" + } +#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_DIMENSIONS: +#line 177 "Dimensions.c" + { + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = _ ("Width or height"); +#line 20 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 20 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp3_; +#line 20 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 189 "Dimensions.c" + } +#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_WIDTH: +#line 193 "Dimensions.c" + { + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _ ("Width"); +#line 23 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 23 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp5_; +#line 23 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 205 "Dimensions.c" + } +#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_HEIGHT: +#line 209 "Dimensions.c" + { + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _ ("Height"); +#line 26 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 26 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp7_; +#line 26 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 221 "Dimensions.c" + } +#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_FILL_VIEWPORT: +#line 225 "Dimensions.c" + { + gchar* _tmp8_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = g_strdup ("Fill Viewport"); +#line 30 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp8_; +#line 30 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 234 "Dimensions.c" + } + default: +#line 15 "/home/jens/Source/shotwell/src/Dimensions.vala" + break; +#line 239 "Dimensions.c" + } +#line 33 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_warn_if_reached (); +#line 35 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = NULL; +#line 35 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 247 "Dimensions.c" +} + + +GType scale_constraint_get_type (void) { + static volatile gsize scale_constraint_type_id__volatile = 0; + if (g_once_init_enter (&scale_constraint_type_id__volatile)) { + static const GEnumValue values[] = {{SCALE_CONSTRAINT_ORIGINAL, "SCALE_CONSTRAINT_ORIGINAL", "original"}, {SCALE_CONSTRAINT_DIMENSIONS, "SCALE_CONSTRAINT_DIMENSIONS", "dimensions"}, {SCALE_CONSTRAINT_WIDTH, "SCALE_CONSTRAINT_WIDTH", "width"}, {SCALE_CONSTRAINT_HEIGHT, "SCALE_CONSTRAINT_HEIGHT", "height"}, {SCALE_CONSTRAINT_FILL_VIEWPORT, "SCALE_CONSTRAINT_FILL_VIEWPORT", "fill-viewport"}, {0, NULL, NULL}}; + GType scale_constraint_type_id; + scale_constraint_type_id = g_enum_register_static ("ScaleConstraint", values); + g_once_init_leave (&scale_constraint_type_id__volatile, scale_constraint_type_id); + } + return scale_constraint_type_id__volatile; +} + + +void dimensions_init (Dimensions *self, gint width, gint height) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 43 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (self, 0, sizeof (Dimensions)); +#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = width; +#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_ < 0) { +#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = TRUE; +#line 280 "Dimensions.c" + } else { + gint _tmp2_ = 0; +#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = height; +#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp2_ < 0; +#line 287 "Dimensions.c" + } +#line 44 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_) { +#line 45 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_warning ("Dimensions.vala:45: Tried to construct a Dimensions object with negati" \ +"ve width or height - forcing sensible default values."); +#line 293 "Dimensions.c" + } +#line 47 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = width; +#line 47 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = width; +#line 47 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = CLAMP (_tmp3_, 0, _tmp4_); +#line 47 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).width = _tmp5_; +#line 48 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = height; +#line 48 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = height; +#line 48 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = CLAMP (_tmp6_, 0, _tmp7_); +#line 48 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).height = _tmp8_; +#line 311 "Dimensions.c" +} + + +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result) { + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + GdkPixbuf* _tmp2_ = NULL; + gint _tmp3_ = 0; + Dimensions _tmp4_ = {0}; +#line 51 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = pixbuf; +#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = gdk_pixbuf_get_width (_tmp0_); +#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = pixbuf; +#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = gdk_pixbuf_get_height (_tmp2_); +#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp4_, _tmp1_, _tmp3_); +#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp4_; +#line 52 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 337 "Dimensions.c" +} + + +void dimensions_for_allocation (GtkAllocation* allocation, Dimensions* result) { + GtkAllocation _tmp0_ = {0}; + gint _tmp1_ = 0; + GtkAllocation _tmp2_ = {0}; + gint _tmp3_ = 0; + Dimensions _tmp4_ = {0}; +#line 55 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (allocation != NULL); +#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *allocation; +#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.width; +#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *allocation; +#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.height; +#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp4_, _tmp1_, _tmp3_); +#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp4_; +#line 56 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 363 "Dimensions.c" +} + + +void dimensions_for_widget_allocation (GtkWidget* widget, Dimensions* result) { + GtkAllocation allocation = {0}; + GtkWidget* _tmp0_ = NULL; + GtkAllocation _tmp1_ = {0}; + GtkAllocation _tmp2_ = {0}; + gint _tmp3_ = 0; + GtkAllocation _tmp4_ = {0}; + gint _tmp5_ = 0; + Dimensions _tmp6_ = {0}; +#line 59 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (GTK_IS_WIDGET (widget)); +#line 61 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = widget; +#line 61 "/home/jens/Source/shotwell/src/Dimensions.vala" + gtk_widget_get_allocation (_tmp0_, &_tmp1_); +#line 61 "/home/jens/Source/shotwell/src/Dimensions.vala" + allocation = _tmp1_; +#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = allocation; +#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.width; +#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = allocation; +#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = _tmp4_.height; +#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp6_, _tmp3_, _tmp5_); +#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp6_; +#line 63 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 398 "Dimensions.c" +} + + +void dimensions_for_rectangle (GdkRectangle* rect, Dimensions* result) { + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + Dimensions _tmp4_ = {0}; +#line 66 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (rect != NULL); +#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *rect; +#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.width; +#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *rect; +#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.height; +#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp4_, _tmp1_, _tmp3_); +#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp4_; +#line 67 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 424 "Dimensions.c" +} + + +gboolean dimensions_has_area (Dimensions *self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).width; +#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_ > 0) { +#line 436 "Dimensions.c" + gint _tmp2_ = 0; +#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).height; +#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp2_ > 0; +#line 442 "Dimensions.c" + } else { +#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = FALSE; +#line 446 "Dimensions.c" + } +#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 71 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 452 "Dimensions.c" +} + + +void dimensions_floor (Dimensions *self, Dimensions* min, Dimensions* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; + Dimensions _tmp14_ = {0}; +#line 74 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (min != NULL); +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).width; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *min; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.width; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_ > _tmp3_) { +#line 476 "Dimensions.c" + gint _tmp4_ = 0; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = (*self).width; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp4_; +#line 482 "Dimensions.c" + } else { + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = *min; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp5_.width; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp6_; +#line 492 "Dimensions.c" + } +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = (*self).height; +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = *min; +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = _tmp9_.height; +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp8_ > _tmp10_) { +#line 502 "Dimensions.c" + gint _tmp11_ = 0; +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = (*self).height; +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = _tmp11_; +#line 508 "Dimensions.c" + } else { + Dimensions _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = *min; +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = _tmp12_.height; +#line 76 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = _tmp13_; +#line 518 "Dimensions.c" + } +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp14_, _tmp0_, _tmp7_); +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp14_; +#line 75 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 526 "Dimensions.c" +} + + +gchar* dimensions_to_string (Dimensions *self) { + gchar* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).width; +#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).height; +#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = g_strdup_printf ("%dx%d", _tmp0_, _tmp1_); +#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp2_; +#line 80 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 545 "Dimensions.c" +} + + +gboolean dimensions_equals (Dimensions *self, Dimensions* dim) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; +#line 83 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (dim != NULL, FALSE); +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).width; +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *dim; +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.width; +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_ == _tmp3_) { +#line 565 "Dimensions.c" + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = (*self).height; +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = *dim; +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp5_.height; +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp4_ == _tmp6_; +#line 577 "Dimensions.c" + } else { +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = FALSE; +#line 581 "Dimensions.c" + } +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 84 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 587 "Dimensions.c" +} + + +gboolean dimensions_approx_equals (Dimensions *self, Dimensions* dim, gint fudge) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 88 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (dim != NULL, FALSE); +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).width; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *dim; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.width; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = abs (_tmp1_ - _tmp3_); +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = fudge; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp4_ <= _tmp5_) { +#line 613 "Dimensions.c" + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = (*self).height; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = *dim; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = _tmp7_.height; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = abs (_tmp6_ - _tmp8_); +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = fudge; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp9_ <= _tmp10_; +#line 631 "Dimensions.c" + } else { +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = FALSE; +#line 635 "Dimensions.c" + } +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 89 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 641 "Dimensions.c" +} + + +gboolean dimensions_approx_scaled (Dimensions *self, gint scale, gint fudge) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).width; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = scale; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = fudge; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_ <= (_tmp2_ + _tmp3_)) { +#line 659 "Dimensions.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = (*self).height; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = scale; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = fudge; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp4_ <= (_tmp5_ + _tmp6_); +#line 671 "Dimensions.c" + } else { +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = FALSE; +#line 675 "Dimensions.c" + } +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 93 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 681 "Dimensions.c" +} + + +gint dimensions_major_axis (Dimensions *self) { + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).width; +#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).height; +#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = MAX (_tmp0_, _tmp1_); +#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp2_; +#line 97 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 700 "Dimensions.c" +} + + +gint dimensions_minor_axis (Dimensions *self) { + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).width; +#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).height; +#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = MIN (_tmp0_, _tmp1_); +#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp2_; +#line 101 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 719 "Dimensions.c" +} + + +void dimensions_with_min (Dimensions *self, gint min_width, gint min_height, Dimensions* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + Dimensions _tmp6_ = {0}; +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).width; +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = min_width; +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = MAX (_tmp0_, _tmp1_); +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = (*self).height; +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = min_height; +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = MAX (_tmp3_, _tmp4_); +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp6_, _tmp2_, _tmp5_); +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp6_; +#line 105 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 749 "Dimensions.c" +} + + +void dimensions_with_max (Dimensions *self, gint max_width, gint max_height, Dimensions* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + Dimensions _tmp6_ = {0}; +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).width; +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = max_width; +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = MIN (_tmp0_, _tmp1_); +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = (*self).height; +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = max_height; +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = MIN (_tmp3_, _tmp4_); +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp6_, _tmp2_, _tmp5_); +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp6_; +#line 109 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 779 "Dimensions.c" +} + + +void dimensions_get_scaled (Dimensions *self, gint scale, gboolean scale_up, Dimensions* result) { + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gint _tmp28_ = 0; +#line 113 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = scale; +#line 113 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp0_ > 0, "scale > 0"); +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = (*self).width; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = scale; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp3_ == _tmp4_) { +#line 805 "Dimensions.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = (*self).height; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = scale; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = _tmp5_ < _tmp6_; +#line 814 "Dimensions.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = FALSE; +#line 818 "Dimensions.c" + } +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp2_) { +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = TRUE; +#line 824 "Dimensions.c" + } else { + gboolean _tmp7_ = FALSE; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = (*self).height; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = scale; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp8_ == _tmp9_) { +#line 835 "Dimensions.c" + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = (*self).width; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = scale; +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = _tmp10_ < _tmp11_; +#line 844 "Dimensions.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = FALSE; +#line 848 "Dimensions.c" + } +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp7_; +#line 852 "Dimensions.c" + } +#line 116 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_) { +#line 856 "Dimensions.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + Dimensions _tmp14_ = {0}; +#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = (*self).width; +#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = (*self).height; +#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp14_, _tmp12_, _tmp13_); +#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp14_; +#line 117 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 870 "Dimensions.c" + } +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = scale_up; +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (!_tmp16_) { +#line 876 "Dimensions.c" + gboolean _tmp17_ = FALSE; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = (*self).width; +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = scale; +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp18_ < _tmp19_) { +#line 886 "Dimensions.c" + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = (*self).height; +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = scale; +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = _tmp20_ < _tmp21_; +#line 895 "Dimensions.c" + } else { +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = FALSE; +#line 899 "Dimensions.c" + } +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = _tmp17_; +#line 903 "Dimensions.c" + } else { +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = FALSE; +#line 907 "Dimensions.c" + } +#line 120 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp15_) { +#line 911 "Dimensions.c" + gint _tmp22_ = 0; + gint _tmp23_ = 0; + Dimensions _tmp24_ = {0}; +#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = (*self).width; +#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp23_ = (*self).height; +#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp24_, _tmp22_, _tmp23_); +#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp24_; +#line 121 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 925 "Dimensions.c" + } +#line 123 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp25_ = (*self).width; +#line 123 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp26_ = scale; +#line 123 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp27_ = (*self).height; +#line 123 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp28_ = scale; +#line 123 "/home/jens/Source/shotwell/src/Dimensions.vala" + if ((_tmp25_ - _tmp26_) > (_tmp27_ - _tmp28_)) { +#line 937 "Dimensions.c" + gint _tmp29_ = 0; + Dimensions _tmp30_ = {0}; +#line 124 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp29_ = scale; +#line 124 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_by_width (&(*self), _tmp29_, &_tmp30_); +#line 124 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp30_; +#line 124 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 948 "Dimensions.c" + } else { + gint _tmp31_ = 0; + Dimensions _tmp32_ = {0}; +#line 126 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp31_ = scale; +#line 126 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_by_height (&(*self), _tmp31_, &_tmp32_); +#line 126 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp32_; +#line 126 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 960 "Dimensions.c" + } +} + + +void dimensions_get_scale_ratios (Dimensions *self, Dimensions* scaled, gdouble* width_ratio, gdouble* height_ratio) { + gdouble _vala_width_ratio = 0.0; + gdouble _vala_height_ratio = 0.0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (scaled != NULL); +#line 130 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *scaled; +#line 130 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.width; +#line 130 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).width; +#line 130 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_width_ratio = ((gdouble) _tmp1_) / ((gdouble) _tmp2_); +#line 131 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = *scaled; +#line 131 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_.height; +#line 131 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = (*self).height; +#line 131 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_height_ratio = ((gdouble) _tmp4_) / ((gdouble) _tmp5_); +#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (width_ratio) { +#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" + *width_ratio = _vala_width_ratio; +#line 996 "Dimensions.c" + } +#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (height_ratio) { +#line 129 "/home/jens/Source/shotwell/src/Dimensions.vala" + *height_ratio = _vala_height_ratio; +#line 1002 "Dimensions.c" + } +} + + +gdouble dimensions_get_aspect_ratio (Dimensions *self) { + gdouble result = 0.0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 135 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).width; +#line 135 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).height; +#line 135 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = ((gdouble) _tmp0_) / _tmp1_; +#line 135 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 1019 "Dimensions.c" +} + + +void dimensions_get_scaled_proportional (Dimensions *self, Dimensions* viewport, Dimensions* result) { + gdouble width_ratio = 0.0; + gdouble height_ratio = 0.0; + Dimensions _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble scaled_width = 0.0; + gdouble scaled_height = 0.0; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; + Dimensions scaled = {0}; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + gdouble _tmp15_ = 0.0; + gdouble _tmp16_ = 0.0; + Dimensions _tmp17_ = {0}; + Dimensions _tmp18_ = {0}; + Dimensions _tmp19_ = {0}; + Dimensions _tmp20_ = {0}; + gint _tmp21_ = 0; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; + Dimensions _tmp24_ = {0}; + gint _tmp25_ = 0; + Dimensions _tmp26_ = {0}; + gint _tmp27_ = 0; +#line 138 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (viewport != NULL); +#line 140 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *viewport; +#line 140 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scale_ratios (&(*self), &_tmp0_, &_tmp1_, &_tmp2_); +#line 140 "/home/jens/Source/shotwell/src/Dimensions.vala" + width_ratio = _tmp1_; +#line 140 "/home/jens/Source/shotwell/src/Dimensions.vala" + height_ratio = _tmp2_; +#line 143 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = width_ratio; +#line 143 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = height_ratio; +#line 143 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp3_ < _tmp4_) { +#line 1065 "Dimensions.c" + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gdouble _tmp8_ = 0.0; +#line 144 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = *viewport; +#line 144 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp5_.width; +#line 144 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_width = (gdouble) _tmp6_; +#line 145 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = (*self).height; +#line 145 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = width_ratio; +#line 145 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_height = ((gdouble) _tmp7_) * _tmp8_; +#line 1082 "Dimensions.c" + } else { + gint _tmp9_ = 0; + gdouble _tmp10_ = 0.0; + Dimensions _tmp11_ = {0}; + gint _tmp12_ = 0; +#line 147 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = (*self).width; +#line 147 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = height_ratio; +#line 147 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_width = ((gdouble) _tmp9_) * _tmp10_; +#line 148 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = *viewport; +#line 148 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = _tmp11_.height; +#line 148 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_height = (gdouble) _tmp12_; +#line 1100 "Dimensions.c" + } +#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = scaled_width; +#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = round (_tmp13_); +#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = scaled_height; +#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = round (_tmp15_); +#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp17_, (gint) _tmp14_, (gint) _tmp16_); +#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp18_, 1, 1); +#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_floor (&_tmp17_, &_tmp18_, &_tmp19_); +#line 151 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled = _tmp19_; +#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = scaled; +#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = _tmp20_.height; +#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = *viewport; +#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp23_ = _tmp22_.height; +#line 153 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp21_ <= _tmp23_, "scaled.height <= viewport.height"); +#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp24_ = scaled; +#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp25_ = _tmp24_.width; +#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp26_ = *viewport; +#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp27_ = _tmp26_.width; +#line 154 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp25_ <= _tmp27_, "scaled.width <= viewport.width"); +#line 156 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = scaled; +#line 156 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1142 "Dimensions.c" +} + + +void dimensions_get_scaled_to_fill_viewport (Dimensions *self, Dimensions* viewport, Dimensions* result) { + gdouble width_ratio = 0.0; + gdouble height_ratio = 0.0; + Dimensions _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble scaled_width = 0.0; + gdouble scaled_height = 0.0; + gboolean _tmp3_ = FALSE; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + gdouble _tmp32_ = 0.0; + gdouble _tmp33_ = 0.0; + gdouble _tmp34_ = 0.0; + gdouble _tmp35_ = 0.0; + Dimensions _tmp36_ = {0}; + Dimensions _tmp37_ = {0}; + Dimensions _tmp38_ = {0}; +#line 159 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (viewport != NULL); +#line 161 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *viewport; +#line 161 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scale_ratios (&(*self), &_tmp0_, &_tmp1_, &_tmp2_); +#line 161 "/home/jens/Source/shotwell/src/Dimensions.vala" + width_ratio = _tmp1_; +#line 161 "/home/jens/Source/shotwell/src/Dimensions.vala" + height_ratio = _tmp2_; +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = (*self).width; +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = *viewport; +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp5_.width; +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp4_ < _tmp6_) { +#line 1183 "Dimensions.c" + gint _tmp7_ = 0; + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = (*self).height; +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = *viewport; +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = _tmp8_.height; +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp7_ >= _tmp9_; +#line 1195 "Dimensions.c" + } else { +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = FALSE; +#line 1199 "Dimensions.c" + } +#line 164 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp3_) { +#line 1203 "Dimensions.c" + Dimensions _tmp10_ = {0}; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gdouble _tmp13_ = 0.0; +#line 166 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = *viewport; +#line 166 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = _tmp10_.width; +#line 166 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_width = (gdouble) _tmp11_; +#line 167 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = (*self).height; +#line 167 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = width_ratio; +#line 167 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_height = ((gdouble) _tmp12_) * _tmp13_; +#line 1220 "Dimensions.c" + } else { + gboolean _tmp14_ = FALSE; + gint _tmp15_ = 0; + Dimensions _tmp16_ = {0}; + gint _tmp17_ = 0; +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = (*self).width; +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = *viewport; +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = _tmp16_.width; +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp15_ >= _tmp17_) { +#line 1234 "Dimensions.c" + gint _tmp18_ = 0; + Dimensions _tmp19_ = {0}; + gint _tmp20_ = 0; +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = (*self).height; +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = *viewport; +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = _tmp19_.height; +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = _tmp18_ < _tmp20_; +#line 1246 "Dimensions.c" + } else { +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = FALSE; +#line 1250 "Dimensions.c" + } +#line 168 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp14_) { +#line 1254 "Dimensions.c" + gint _tmp21_ = 0; + gdouble _tmp22_ = 0.0; + Dimensions _tmp23_ = {0}; + gint _tmp24_ = 0; +#line 170 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = (*self).width; +#line 170 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = height_ratio; +#line 170 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_width = ((gdouble) _tmp21_) * _tmp22_; +#line 171 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp23_ = *viewport; +#line 171 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp24_ = _tmp23_.height; +#line 171 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_height = (gdouble) _tmp24_; +#line 1271 "Dimensions.c" + } else { + gdouble ratio = 0.0; + gdouble _tmp25_ = 0.0; + gdouble _tmp26_ = 0.0; + gdouble _tmp27_ = 0.0; + gint _tmp28_ = 0; + gdouble _tmp29_ = 0.0; + gint _tmp30_ = 0; + gdouble _tmp31_ = 0.0; +#line 174 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp25_ = width_ratio; +#line 174 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp26_ = height_ratio; +#line 174 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp27_ = MAX (_tmp25_, _tmp26_); +#line 174 "/home/jens/Source/shotwell/src/Dimensions.vala" + ratio = _tmp27_; +#line 176 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp28_ = (*self).width; +#line 176 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp29_ = ratio; +#line 176 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_width = ((gdouble) _tmp28_) * _tmp29_; +#line 177 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp30_ = (*self).height; +#line 177 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp31_ = ratio; +#line 177 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_height = ((gdouble) _tmp30_) * _tmp31_; +#line 1301 "Dimensions.c" + } + } +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp32_ = scaled_width; +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp33_ = round (_tmp32_); +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp34_ = scaled_height; +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp35_ = round (_tmp34_); +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp36_, (gint) _tmp33_, (gint) _tmp35_); +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp37_, 1, 1); +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_floor (&_tmp36_, &_tmp37_, &_tmp38_); +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp38_; +#line 180 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1322 "Dimensions.c" +} + + +void dimensions_get_scaled_rectangle (Dimensions *self, Dimensions* scaled, GdkRectangle* rect, GdkRectangle* result) { + gdouble x_scale = 0.0; + gdouble y_scale = 0.0; + Dimensions _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + GdkRectangle scaled_rect = {0}; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + gdouble _tmp17_ = 0.0; + gdouble _tmp18_ = 0.0; + GdkRectangle _tmp19_ = {0}; + gint _tmp20_ = 0; + GdkRectangle _tmp21_ = {0}; + gint _tmp22_ = 0; +#line 183 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (scaled != NULL); +#line 183 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (rect != NULL); +#line 185 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *scaled; +#line 185 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scale_ratios (&(*self), &_tmp0_, &_tmp1_, &_tmp2_); +#line 185 "/home/jens/Source/shotwell/src/Dimensions.vala" + x_scale = _tmp1_; +#line 185 "/home/jens/Source/shotwell/src/Dimensions.vala" + y_scale = _tmp2_; +#line 187 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (&scaled_rect, 0, sizeof (GdkRectangle)); +#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = *rect; +#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_.x; +#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = x_scale; +#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = round (((gdouble) _tmp4_) * _tmp5_); +#line 188 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_rect.x = (gint) _tmp6_; +#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = *rect; +#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = _tmp7_.y; +#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = y_scale; +#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = round (((gdouble) _tmp8_) * _tmp9_); +#line 189 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_rect.y = (gint) _tmp10_; +#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = *rect; +#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = _tmp11_.width; +#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = x_scale; +#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = round (((gdouble) _tmp12_) * _tmp13_); +#line 190 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_rect.width = (gint) _tmp14_; +#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = *rect; +#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = _tmp15_.height; +#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = y_scale; +#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = round (((gdouble) _tmp16_) * _tmp17_); +#line 191 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_rect.height = (gint) _tmp18_; +#line 193 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = scaled_rect; +#line 193 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = _tmp19_.width; +#line 193 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp20_ <= 0) { +#line 194 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_rect.width = 1; +#line 1415 "Dimensions.c" + } +#line 196 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = scaled_rect; +#line 196 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = _tmp21_.height; +#line 196 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp22_ <= 0) { +#line 197 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled_rect.height = 1; +#line 1425 "Dimensions.c" + } +#line 199 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = scaled_rect; +#line 199 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1431 "Dimensions.c" +} + + +void dimensions_get_scaled_similar (Dimensions *self, Dimensions* original, Dimensions* scaled, Dimensions* result) { + gdouble x_scale = 0.0; + gdouble y_scale = 0.0; + Dimensions _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble scale = 0.0; + gdouble _tmp3_ = 0.0; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; + gint _tmp6_ = 0; + gdouble _tmp7_ = 0.0; + Dimensions _tmp8_ = {0}; + Dimensions _tmp9_ = {0}; + Dimensions _tmp10_ = {0}; +#line 203 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (original != NULL); +#line 203 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (scaled != NULL); +#line 205 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *scaled; +#line 205 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scale_ratios (original, &_tmp0_, &_tmp1_, &_tmp2_); +#line 205 "/home/jens/Source/shotwell/src/Dimensions.vala" + x_scale = _tmp1_; +#line 205 "/home/jens/Source/shotwell/src/Dimensions.vala" + y_scale = _tmp2_; +#line 207 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = MIN (x_scale, y_scale); +#line 207 "/home/jens/Source/shotwell/src/Dimensions.vala" + scale = _tmp3_; +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = (*self).width; +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = round (((gdouble) _tmp4_) * scale); +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = (*self).height; +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = round (((gdouble) _tmp6_) * scale); +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp8_, (gint) _tmp5_, (gint) _tmp7_); +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp9_, 1, 1); +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_floor (&_tmp8_, &_tmp9_, &_tmp10_); +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp10_; +#line 209 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1484 "Dimensions.c" +} + + +void dimensions_get_scaled_by_width (Dimensions *self, gint scale, Dimensions* result) { + gint _tmp0_ = 0; + gdouble ratio = 0.0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gdouble _tmp5_ = 0.0; + Dimensions _tmp6_ = {0}; + Dimensions _tmp7_ = {0}; + Dimensions _tmp8_ = {0}; +#line 214 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = scale; +#line 214 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp0_ > 0, "scale > 0"); +#line 216 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = scale; +#line 216 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).width; +#line 216 "/home/jens/Source/shotwell/src/Dimensions.vala" + ratio = ((gdouble) _tmp1_) / ((gdouble) _tmp2_); +#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = scale; +#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = (*self).height; +#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = round (((gdouble) _tmp4_) * ratio); +#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp6_, _tmp3_, (gint) _tmp5_); +#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp7_, 1, 1); +#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_floor (&_tmp6_, &_tmp7_, &_tmp8_); +#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp8_; +#line 218 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1525 "Dimensions.c" +} + + +void dimensions_get_scaled_by_height (Dimensions *self, gint scale, Dimensions* result) { + gint _tmp0_ = 0; + gdouble ratio = 0.0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; + gint _tmp5_ = 0; + Dimensions _tmp6_ = {0}; + Dimensions _tmp7_ = {0}; + Dimensions _tmp8_ = {0}; +#line 222 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = scale; +#line 222 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp0_ > 0, "scale > 0"); +#line 224 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = scale; +#line 224 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).height; +#line 224 "/home/jens/Source/shotwell/src/Dimensions.vala" + ratio = ((gdouble) _tmp1_) / ((gdouble) _tmp2_); +#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = (*self).width; +#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = round (((gdouble) _tmp3_) * ratio); +#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = scale; +#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp6_, (gint) _tmp4_, _tmp5_); +#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp7_, 1, 1); +#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_floor (&_tmp6_, &_tmp7_, &_tmp8_); +#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp8_; +#line 226 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1566 "Dimensions.c" +} + + +void dimensions_get_scaled_by_constraint (Dimensions *self, gint scale, ScaleConstraint constraint, Dimensions* result) { + ScaleConstraint _tmp0_ = 0; +#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = constraint; +#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" + switch (_tmp0_) { +#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_ORIGINAL: +#line 1578 "Dimensions.c" + { + gint _tmp1_ = 0; + gint _tmp2_ = 0; + Dimensions _tmp3_ = {0}; +#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).width; +#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).height; +#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp3_, _tmp1_, _tmp2_); +#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp3_; +#line 232 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1593 "Dimensions.c" + } +#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_DIMENSIONS: +#line 1597 "Dimensions.c" + { + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = (*self).width; +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = (*self).height; +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp5_ >= _tmp6_) { +#line 1608 "Dimensions.c" + gint _tmp7_ = 0; + Dimensions _tmp8_ = {0}; +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = scale; +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_by_width (&(*self), _tmp7_, &_tmp8_); +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp8_; +#line 1617 "Dimensions.c" + } else { + gint _tmp9_ = 0; + Dimensions _tmp10_ = {0}; +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = scale; +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_by_height (&(*self), _tmp9_, &_tmp10_); +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp10_; +#line 1627 "Dimensions.c" + } +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp4_; +#line 235 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1633 "Dimensions.c" + } +#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_WIDTH: +#line 1637 "Dimensions.c" + { + gint _tmp11_ = 0; + Dimensions _tmp12_ = {0}; +#line 238 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = scale; +#line 238 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_by_width (&(*self), _tmp11_, &_tmp12_); +#line 238 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp12_; +#line 238 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1649 "Dimensions.c" + } +#line 230 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_HEIGHT: +#line 1653 "Dimensions.c" + { + gint _tmp13_ = 0; + Dimensions _tmp14_ = {0}; +#line 241 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = scale; +#line 241 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_by_height (&(*self), _tmp13_, &_tmp14_); +#line 241 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp14_; +#line 241 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1665 "Dimensions.c" + } + default: + { + ScaleConstraint _tmp15_ = 0; +#line 244 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = constraint; +#line 244 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_error ("Dimensions.vala:244: Bad constraint: %d", (gint) _tmp15_); +#line 1674 "Dimensions.c" + } + } +} + + +Dimensions* dimensions_dup (const Dimensions* self) { + Dimensions* dup; +#line 39 "/home/jens/Source/shotwell/src/Dimensions.vala" + dup = g_new0 (Dimensions, 1); +#line 39 "/home/jens/Source/shotwell/src/Dimensions.vala" + memcpy (dup, self, sizeof (Dimensions)); +#line 39 "/home/jens/Source/shotwell/src/Dimensions.vala" + return dup; +#line 1688 "Dimensions.c" +} + + +void dimensions_free (Dimensions* self) { +#line 39 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_free (self); +#line 1695 "Dimensions.c" +} + + +GType dimensions_get_type (void) { + static volatile gsize dimensions_type_id__volatile = 0; + if (g_once_init_enter (&dimensions_type_id__volatile)) { + GType dimensions_type_id; + dimensions_type_id = g_boxed_type_register_static ("Dimensions", (GBoxedCopyFunc) dimensions_dup, (GBoxedFreeFunc) dimensions_free); + g_once_init_leave (&dimensions_type_id__volatile, dimensions_type_id); + } + return dimensions_type_id__volatile; +} + + +static void scaling_init (Scaling *self, ScaleConstraint constraint, gint scale, Dimensions* viewport, gboolean scale_up) { + ScaleConstraint _tmp0_ = 0; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; +#line 257 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (viewport != NULL); +#line 257 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (self, 0, sizeof (Scaling)); +#line 258 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = constraint; +#line 258 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).constraint = _tmp0_; +#line 259 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = scale; +#line 259 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).scale = _tmp1_; +#line 260 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *viewport; +#line 260 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport = _tmp2_; +#line 261 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = scale_up; +#line 261 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).scale_up = _tmp3_; +#line 1735 "Dimensions.c" +} + + +void scaling_for_original (Scaling* result) { + Dimensions _tmp0_ = {0}; + Scaling _tmp1_ = {0}; +#line 265 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp0_, 0, 0); +#line 265 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_init (&_tmp1_, SCALE_CONSTRAINT_ORIGINAL, SCALING_NO_SCALE, &_tmp0_, FALSE); +#line 265 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp1_; +#line 265 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1750 "Dimensions.c" +} + + +void scaling_for_screen (GtkWindow* window, gboolean scale_up, Scaling* result) { + GtkWindow* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + Scaling _tmp3_ = {0}; +#line 268 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (GTK_IS_WINDOW (window)); +#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = window; +#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_get_screen_dimensions (_tmp0_, &_tmp1_); +#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = scale_up; +#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_for_viewport (&_tmp1_, _tmp2_, &_tmp3_); +#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp3_; +#line 269 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1773 "Dimensions.c" +} + + +void scaling_for_best_fit (gint pixels, gboolean scale_up, Scaling* result) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; + Scaling _tmp4_ = {0}; +#line 273 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = pixels; +#line 273 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp0_ > 0, "pixels > 0"); +#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = pixels; +#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp2_, 0, 0); +#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = scale_up; +#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_init (&_tmp4_, SCALE_CONSTRAINT_DIMENSIONS, _tmp1_, &_tmp2_, _tmp3_); +#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp4_; +#line 275 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1799 "Dimensions.c" +} + + +void scaling_for_viewport (Dimensions* viewport, gboolean scale_up, Scaling* result) { + gboolean _tmp0_ = FALSE; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + Scaling _tmp3_ = {0}; +#line 278 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (viewport != NULL); +#line 279 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = dimensions_has_area (viewport); +#line 279 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp0_, "viewport.has_area()"); +#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = *viewport; +#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = scale_up; +#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_init (&_tmp3_, SCALE_CONSTRAINT_DIMENSIONS, SCALING_NO_SCALE, &_tmp1_, _tmp2_); +#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp3_; +#line 281 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1824 "Dimensions.c" +} + + +void scaling_for_widget (GtkWidget* widget, gboolean scale_up, Scaling* result) { + Dimensions viewport = {0}; + GtkWidget* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + Dimensions _tmp8_ = {0}; + gboolean _tmp9_ = FALSE; + Scaling _tmp10_ = {0}; +#line 284 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (GTK_IS_WIDGET (widget)); +#line 285 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = widget; +#line 285 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_for_widget_allocation (_tmp0_, &_tmp1_); +#line 285 "/home/jens/Source/shotwell/src/Dimensions.vala" + viewport = _tmp1_; +#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = viewport; +#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_.width; +#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp4_ <= 1) { +#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = TRUE; +#line 1854 "Dimensions.c" + } else { + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = viewport; +#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp5_.height; +#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = _tmp6_ <= 1; +#line 1864 "Dimensions.c" + } +#line 295 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp2_) { +#line 1868 "Dimensions.c" + Scaling _tmp7_ = {0}; +#line 296 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_for_original (&_tmp7_); +#line 296 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp7_; +#line 296 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1876 "Dimensions.c" + } +#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = viewport; +#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = scale_up; +#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_init (&_tmp10_, SCALE_CONSTRAINT_DIMENSIONS, SCALING_NO_SCALE, &_tmp8_, _tmp9_); +#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp10_; +#line 298 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1888 "Dimensions.c" +} + + +void scaling_to_fill_viewport (Dimensions* viewport, Scaling* result) { + gboolean _tmp0_ = FALSE; + Dimensions _tmp1_ = {0}; + gint _tmp2_ = 0; + Dimensions _tmp6_ = {0}; + Scaling _tmp7_ = {0}; +#line 301 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (viewport != NULL); +#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = *viewport; +#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = _tmp1_.width; +#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp2_ <= 1) { +#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = TRUE; +#line 1908 "Dimensions.c" + } else { + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; +#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = *viewport; +#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_.height; +#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp4_ <= 1; +#line 1918 "Dimensions.c" + } +#line 304 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_) { +#line 1922 "Dimensions.c" + Scaling _tmp5_ = {0}; +#line 305 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_for_original (&_tmp5_); +#line 305 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp5_; +#line 305 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1930 "Dimensions.c" + } +#line 307 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = *viewport; +#line 307 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_init (&_tmp7_, SCALE_CONSTRAINT_FILL_VIEWPORT, SCALING_NO_SCALE, &_tmp6_, TRUE); +#line 307 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp7_; +#line 307 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1940 "Dimensions.c" +} + + +void scaling_to_fill_screen (GtkWindow* window, Scaling* result) { + GtkWindow* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + Scaling _tmp2_ = {0}; +#line 310 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (GTK_IS_WINDOW (window)); +#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = window; +#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_get_screen_dimensions (_tmp0_, &_tmp1_); +#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_to_fill_viewport (&_tmp1_, &_tmp2_); +#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp2_; +#line 311 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1960 "Dimensions.c" +} + + +void scaling_for_constraint (ScaleConstraint constraint, gint scale, gboolean scale_up, Scaling* result) { + ScaleConstraint _tmp0_ = 0; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; + Scaling _tmp4_ = {0}; +#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = constraint; +#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = scale; +#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp2_, 0, 0); +#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = scale_up; +#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaling_init (&_tmp4_, _tmp0_, _tmp1_, &_tmp2_, _tmp3_); +#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp4_; +#line 315 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 1984 "Dimensions.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" + return self ? g_object_ref (self) : NULL; +#line 1991 "Dimensions.c" +} + + +static void scaling_get_screen_dimensions (GtkWindow* window, Dimensions* result) { + GdkScreen* screen = NULL; + GtkWindow* _tmp0_ = NULL; + GdkScreen* _tmp1_ = NULL; + GdkScreen* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; +#line 318 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (GTK_IS_WINDOW (window)); +#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = window; +#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = gtk_window_get_screen (_tmp0_); +#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 319 "/home/jens/Source/shotwell/src/Dimensions.vala" + screen = _tmp2_; +#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = gdk_screen_get_width (screen); +#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = gdk_screen_get_height (screen); +#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_tmp5_, _tmp3_, _tmp4_); +#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp5_; +#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_object_unref0 (screen); +#line 321 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 2025 "Dimensions.c" +} + + +static gint scaling_scale_to_pixels (Scaling *self) { + gint result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).scale; +#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_ >= 0) { +#line 2037 "Dimensions.c" + gint _tmp2_ = 0; +#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).scale; +#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp2_; +#line 2043 "Dimensions.c" + } else { +#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = 0; +#line 2047 "Dimensions.c" + } +#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 325 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2053 "Dimensions.c" +} + + +gboolean scaling_is_unscaled (Scaling *self) { + gboolean result = FALSE; + ScaleConstraint _tmp0_ = 0; +#line 329 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).constraint; +#line 329 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_ == SCALE_CONSTRAINT_ORIGINAL; +#line 329 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2066 "Dimensions.c" +} + + +gboolean scaling_is_best_fit (Scaling *self, Dimensions* original, gint* pixels) { + gint _vala_pixels = 0; + gboolean result = FALSE; + gint _tmp0_ = 0; + ScaleConstraint _tmp1_ = 0; +#line 332 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (original != NULL, FALSE); +#line 333 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_pixels = 0; +#line 335 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).scale; +#line 335 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_ == SCALING_NO_SCALE) { +#line 336 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 336 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (pixels) { +#line 336 "/home/jens/Source/shotwell/src/Dimensions.vala" + *pixels = _vala_pixels; +#line 2089 "Dimensions.c" + } +#line 336 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2093 "Dimensions.c" + } +#line 338 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).constraint; +#line 338 "/home/jens/Source/shotwell/src/Dimensions.vala" + switch (_tmp1_) { +#line 338 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_ORIGINAL: +#line 338 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_FILL_VIEWPORT: +#line 2103 "Dimensions.c" + { +#line 341 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 341 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (pixels) { +#line 341 "/home/jens/Source/shotwell/src/Dimensions.vala" + *pixels = _vala_pixels; +#line 2111 "Dimensions.c" + } +#line 341 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2115 "Dimensions.c" + } + default: + { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 344 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = scaling_scale_to_pixels (&(*self)); +#line 344 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_pixels = _tmp2_; +#line 345 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _vala_pixels; +#line 345 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp3_ > 0, "pixels > 0"); +#line 347 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = TRUE; +#line 347 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (pixels) { +#line 347 "/home/jens/Source/shotwell/src/Dimensions.vala" + *pixels = _vala_pixels; +#line 2135 "Dimensions.c" + } +#line 347 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2139 "Dimensions.c" + } + } +#line 332 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (pixels) { +#line 332 "/home/jens/Source/shotwell/src/Dimensions.vala" + *pixels = _vala_pixels; +#line 2146 "Dimensions.c" + } +} + + +gboolean scaling_is_best_fit_dimensions (Scaling *self, Dimensions* original, Dimensions* scaled) { + Dimensions _vala_scaled = {0}; + gboolean result = FALSE; + gint _tmp0_ = 0; + ScaleConstraint _tmp1_ = 0; +#line 351 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (original != NULL, FALSE); +#line 352 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_vala_scaled, 0, 0); +#line 354 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).scale; +#line 354 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_ == SCALING_NO_SCALE) { +#line 355 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 355 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 355 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2170 "Dimensions.c" + } +#line 355 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2174 "Dimensions.c" + } +#line 357 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).constraint; +#line 357 "/home/jens/Source/shotwell/src/Dimensions.vala" + switch (_tmp1_) { +#line 357 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_ORIGINAL: +#line 357 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_FILL_VIEWPORT: +#line 2184 "Dimensions.c" + { +#line 360 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 360 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 360 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2192 "Dimensions.c" + } +#line 360 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2196 "Dimensions.c" + } + default: + { + gint pixels = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + ScaleConstraint _tmp5_ = 0; + Dimensions _tmp6_ = {0}; +#line 363 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = scaling_scale_to_pixels (&(*self)); +#line 363 "/home/jens/Source/shotwell/src/Dimensions.vala" + pixels = _tmp2_; +#line 364 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = pixels; +#line 364 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp3_ > 0, "pixels > 0"); +#line 366 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = pixels; +#line 366 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = (*self).constraint; +#line 366 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_by_constraint (original, _tmp4_, _tmp5_, &_tmp6_); +#line 366 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_scaled = _tmp6_; +#line 368 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = TRUE; +#line 368 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 368 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2228 "Dimensions.c" + } +#line 368 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2232 "Dimensions.c" + } + } +#line 351 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 351 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2239 "Dimensions.c" + } +} + + +gboolean scaling_is_for_viewport (Scaling *self, Dimensions* original, Dimensions* scaled) { + Dimensions _vala_scaled = {0}; + gboolean result = FALSE; + gint _tmp0_ = 0; + ScaleConstraint _tmp1_ = 0; +#line 372 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (original != NULL, FALSE); +#line 373 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_vala_scaled, 0, 0); +#line 375 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).scale; +#line 375 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_ != SCALING_NO_SCALE) { +#line 376 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 376 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 376 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2263 "Dimensions.c" + } +#line 376 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2267 "Dimensions.c" + } +#line 378 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).constraint; +#line 378 "/home/jens/Source/shotwell/src/Dimensions.vala" + switch (_tmp1_) { +#line 378 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_ORIGINAL: +#line 378 "/home/jens/Source/shotwell/src/Dimensions.vala" + case SCALE_CONSTRAINT_FILL_VIEWPORT: +#line 2277 "Dimensions.c" + { +#line 381 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 381 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 381 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2285 "Dimensions.c" + } +#line 381 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2289 "Dimensions.c" + } + default: + { + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 384 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = dimensions_has_area (&(*self).viewport); +#line 384 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp2_, "viewport.has_area()"); +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = (*self).scale_up; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (!_tmp5_) { +#line 2305 "Dimensions.c" + Dimensions _tmp6_ = {0}; + gint _tmp7_ = 0; + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = *original; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = _tmp6_.width; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = (*self).viewport; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = _tmp8_.width; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp7_ < _tmp9_; +#line 2320 "Dimensions.c" + } else { +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = FALSE; +#line 2324 "Dimensions.c" + } +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp4_) { +#line 2328 "Dimensions.c" + Dimensions _tmp10_ = {0}; + gint _tmp11_ = 0; + Dimensions _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = *original; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = _tmp10_.height; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = (*self).viewport; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = _tmp12_.height; +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp11_ < _tmp13_; +#line 2343 "Dimensions.c" + } else { +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = FALSE; +#line 2347 "Dimensions.c" + } +#line 386 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp3_) { +#line 2351 "Dimensions.c" + Dimensions _tmp14_ = {0}; +#line 387 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = *original; +#line 387 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_scaled = _tmp14_; +#line 2357 "Dimensions.c" + } else { + Dimensions _tmp15_ = {0}; + Dimensions _tmp16_ = {0}; +#line 389 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = (*self).viewport; +#line 389 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_proportional (original, &_tmp15_, &_tmp16_); +#line 389 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_scaled = _tmp16_; +#line 2367 "Dimensions.c" + } +#line 391 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = TRUE; +#line 391 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 391 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2375 "Dimensions.c" + } +#line 391 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2379 "Dimensions.c" + } + } +#line 372 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 372 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2386 "Dimensions.c" + } +} + + +gboolean scaling_is_fill_viewport (Scaling *self, Dimensions* original, Dimensions* scaled) { + Dimensions _vala_scaled = {0}; + gboolean result = FALSE; + ScaleConstraint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; +#line 395 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (original != NULL, FALSE); +#line 396 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_init (&_vala_scaled, 0, 0); +#line 398 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).constraint; +#line 398 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_ != SCALE_CONSTRAINT_FILL_VIEWPORT) { +#line 399 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 399 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 399 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2412 "Dimensions.c" + } +#line 399 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2416 "Dimensions.c" + } +#line 401 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = dimensions_has_area (&(*self).viewport); +#line 401 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp1_, "viewport.has_area()"); +#line 402 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).viewport; +#line 402 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scaled_to_fill_viewport (original, &_tmp2_, &_tmp3_); +#line 402 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_scaled = _tmp3_; +#line 404 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = TRUE; +#line 404 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (scaled) { +#line 404 "/home/jens/Source/shotwell/src/Dimensions.vala" + *scaled = _vala_scaled; +#line 2434 "Dimensions.c" + } +#line 404 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2438 "Dimensions.c" +} + + +void scaling_get_scaled_dimensions (Scaling *self, Dimensions* original, Dimensions* result) { + gboolean _tmp0_ = FALSE; + Dimensions scaled = {0}; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + gboolean _tmp4_ = FALSE; + Dimensions _tmp5_ = {0}; + Dimensions _tmp6_ = {0}; + gboolean _tmp7_ = FALSE; + gboolean is_viewport = FALSE; + Dimensions _tmp8_ = {0}; + Dimensions _tmp9_ = {0}; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; +#line 407 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (original != NULL); +#line 408 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = scaling_is_unscaled (&(*self)); +#line 408 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_) { +#line 2462 "Dimensions.c" + Dimensions _tmp1_ = {0}; +#line 409 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = *original; +#line 409 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp1_; +#line 409 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 2470 "Dimensions.c" + } +#line 412 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *original; +#line 412 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = scaling_is_fill_viewport (&(*self), &_tmp2_, &_tmp3_); +#line 412 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled = _tmp3_; +#line 412 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp4_) { +#line 413 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = scaled; +#line 413 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 2484 "Dimensions.c" + } +#line 415 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = *original; +#line 415 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = scaling_is_best_fit_dimensions (&(*self), &_tmp5_, &_tmp6_); +#line 415 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled = _tmp6_; +#line 415 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp7_) { +#line 416 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = scaled; +#line 416 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 2498 "Dimensions.c" + } +#line 418 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = *original; +#line 418 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = scaling_is_for_viewport (&(*self), &_tmp8_, &_tmp9_); +#line 418 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled = _tmp9_; +#line 418 "/home/jens/Source/shotwell/src/Dimensions.vala" + is_viewport = _tmp10_; +#line 419 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = is_viewport; +#line 419 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp11_, "is_viewport"); +#line 421 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = scaled; +#line 421 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 2516 "Dimensions.c" +} + + +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up) { + GdkPixbuf* result = NULL; + gboolean _tmp0_ = FALSE; + Dimensions pixbuf_dim = {0}; + GdkPixbuf* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; + gint pixels = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + Dimensions scaled = {0}; + Dimensions _tmp13_ = {0}; + Dimensions _tmp14_ = {0}; + gboolean _tmp15_ = FALSE; + gboolean is_viewport = FALSE; + Dimensions _tmp20_ = {0}; + Dimensions _tmp21_ = {0}; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + GdkPixbuf* _tmp24_ = NULL; + Dimensions _tmp25_ = {0}; + GdkInterpType _tmp26_ = 0; + GdkPixbuf* _tmp27_ = NULL; +#line 424 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 425 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = scaling_is_unscaled (&(*self)); +#line 425 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_) { +#line 2549 "Dimensions.c" + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; +#line 426 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = pixbuf; +#line 426 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 426 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp2_; +#line 426 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2560 "Dimensions.c" + } +#line 428 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = pixbuf; +#line 428 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_for_pixbuf (_tmp3_, &_tmp4_); +#line 428 "/home/jens/Source/shotwell/src/Dimensions.vala" + pixbuf_dim = _tmp4_; +#line 431 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = pixbuf_dim; +#line 431 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = scaling_is_best_fit (&(*self), &_tmp5_, &_tmp6_); +#line 431 "/home/jens/Source/shotwell/src/Dimensions.vala" + pixels = _tmp6_; +#line 431 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp7_) { +#line 2576 "Dimensions.c" + GdkPixbuf* _tmp8_ = NULL; + gint _tmp9_ = 0; + GdkInterpType _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + GdkPixbuf* _tmp12_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = pixbuf; +#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = pixels; +#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = interp; +#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = scale_up; +#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = scale_pixbuf (_tmp8_, _tmp9_, _tmp10_, _tmp11_); +#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp12_; +#line 432 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2596 "Dimensions.c" + } +#line 435 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = pixbuf_dim; +#line 435 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = scaling_is_fill_viewport (&(*self), &_tmp13_, &_tmp14_); +#line 435 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled = _tmp14_; +#line 435 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp15_) { +#line 2606 "Dimensions.c" + GdkPixbuf* _tmp16_ = NULL; + Dimensions _tmp17_ = {0}; + GdkInterpType _tmp18_ = 0; + GdkPixbuf* _tmp19_ = NULL; +#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = pixbuf; +#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = scaled; +#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = interp; +#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = resize_pixbuf (_tmp16_, &_tmp17_, _tmp18_); +#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp19_; +#line 436 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2623 "Dimensions.c" + } +#line 438 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = pixbuf_dim; +#line 438 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = scaling_is_for_viewport (&(*self), &_tmp20_, &_tmp21_); +#line 438 "/home/jens/Source/shotwell/src/Dimensions.vala" + scaled = _tmp21_; +#line 438 "/home/jens/Source/shotwell/src/Dimensions.vala" + is_viewport = _tmp22_; +#line 439 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp23_ = is_viewport; +#line 439 "/home/jens/Source/shotwell/src/Dimensions.vala" + _vala_assert (_tmp23_, "is_viewport"); +#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp24_ = pixbuf; +#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp25_ = scaled; +#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp26_ = interp; +#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp27_ = resize_pixbuf (_tmp24_, &_tmp25_, _tmp26_); +#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp27_; +#line 441 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2649 "Dimensions.c" +} + + +gchar* scaling_to_string (Scaling *self) { + gchar* result = NULL; + ScaleConstraint _tmp0_ = 0; +#line 445 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).constraint; +#line 445 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp0_ == SCALE_CONSTRAINT_ORIGINAL) { +#line 2660 "Dimensions.c" + gchar* _tmp1_ = NULL; +#line 446 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = g_strdup ("scaling: UNSCALED"); +#line 446 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp1_; +#line 446 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2668 "Dimensions.c" + } else { + ScaleConstraint _tmp2_ = 0; +#line 447 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).constraint; +#line 447 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp2_ == SCALE_CONSTRAINT_FILL_VIEWPORT) { +#line 2675 "Dimensions.c" + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = dimensions_to_string (&(*self).viewport); +#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_; +#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = g_strdup_printf ("scaling: fill viewport %s", _tmp4_); +#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp5_; +#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (_tmp4_); +#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp6_; +#line 448 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2694 "Dimensions.c" + } else { + gint _tmp7_ = 0; +#line 449 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = (*self).scale; +#line 449 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp7_ != SCALING_NO_SCALE) { +#line 2701 "Dimensions.c" + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + ScaleConstraint _tmp10_ = 0; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 451 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = (*self).scale_up; +#line 451 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp9_) { +#line 451 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = "scaled up"; +#line 2716 "Dimensions.c" + } else { +#line 451 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = "not scaled up"; +#line 2720 "Dimensions.c" + } +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = (*self).constraint; +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = scale_constraint_to_string (_tmp10_); +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = _tmp11_; +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = scaling_scale_to_pixels (&(*self)); +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = g_strdup_printf ("scaling: best-fit (%s %d pixels %s)", _tmp12_, _tmp13_, _tmp8_); +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = _tmp14_; +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (_tmp12_); +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp15_; +#line 450 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2740 "Dimensions.c" + } else { + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 454 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = (*self).scale_up; +#line 454 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp17_) { +#line 454 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = "scaled up"; +#line 2754 "Dimensions.c" + } else { +#line 454 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = "not scaled up"; +#line 2758 "Dimensions.c" + } +#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = dimensions_to_string (&(*self).viewport); +#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = _tmp18_; +#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = g_strdup_printf ("scaling: viewport %s (%s)", _tmp19_, _tmp16_); +#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = _tmp20_; +#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (_tmp19_); +#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp21_; +#line 453 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2774 "Dimensions.c" + } + } + } +} + + +gboolean scaling_equals (Scaling *self, Scaling* scaling) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + ScaleConstraint _tmp2_ = 0; + Scaling _tmp3_ = {0}; + ScaleConstraint _tmp4_ = 0; +#line 457 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).constraint; +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = *scaling; +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_.constraint; +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp2_ == _tmp4_) { +#line 2798 "Dimensions.c" + gint _tmp5_ = 0; + Scaling _tmp6_ = {0}; + gint _tmp7_ = 0; +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = (*self).scale; +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = *scaling; +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = _tmp6_.scale; +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp5_ == _tmp7_; +#line 2810 "Dimensions.c" + } else { +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = FALSE; +#line 2814 "Dimensions.c" + } +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_) { +#line 2818 "Dimensions.c" + Scaling _tmp8_ = {0}; + Dimensions _tmp9_ = {0}; + gboolean _tmp10_ = FALSE; +#line 459 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = *scaling; +#line 459 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = _tmp8_.viewport; +#line 459 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = dimensions_equals (&(*self).viewport, &_tmp9_); +#line 459 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = _tmp10_; +#line 2830 "Dimensions.c" + } else { +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = FALSE; +#line 2834 "Dimensions.c" + } +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 458 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 2840 "Dimensions.c" +} + + +Scaling* scaling_dup (const Scaling* self) { + Scaling* dup; +#line 249 "/home/jens/Source/shotwell/src/Dimensions.vala" + dup = g_new0 (Scaling, 1); +#line 249 "/home/jens/Source/shotwell/src/Dimensions.vala" + memcpy (dup, self, sizeof (Scaling)); +#line 249 "/home/jens/Source/shotwell/src/Dimensions.vala" + return dup; +#line 2852 "Dimensions.c" +} + + +void scaling_free (Scaling* self) { +#line 249 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_free (self); +#line 2859 "Dimensions.c" +} + + +GType scaling_get_type (void) { + static volatile gsize scaling_type_id__volatile = 0; + if (g_once_init_enter (&scaling_type_id__volatile)) { + GType scaling_type_id; + scaling_type_id = g_boxed_type_register_static ("Scaling", (GBoxedCopyFunc) scaling_dup, (GBoxedFreeFunc) scaling_free); + g_once_init_leave (&scaling_type_id__volatile, scaling_type_id); + } + return scaling_type_id__volatile; +} + + +void zoom_state_init (ZoomState *self, Dimensions* content_dimensions, Dimensions* viewport_dimensions, gdouble slider_val, GdkPoint* viewport_center) { + Dimensions _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; + gdouble _tmp2_ = 0.0; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + GdkPoint* _tmp5_ = NULL; +#line 472 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (content_dimensions != NULL); +#line 472 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (viewport_dimensions != NULL); +#line 472 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (self, 0, sizeof (ZoomState)); +#line 474 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *content_dimensions; +#line 474 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).content_dimensions = _tmp0_; +#line 475 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = *viewport_dimensions; +#line 475 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_dimensions = _tmp1_; +#line 476 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = slider_val; +#line 476 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).interpolation_factor = _tmp2_; +#line 478 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_compute_zoom_factors (&(*self)); +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = viewport_center; +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp5_ == NULL) { +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = TRUE; +#line 2907 "Dimensions.c" + } else { + gboolean _tmp6_ = FALSE; + GdkPoint* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = viewport_center; +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = (*_tmp7_).x; +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp8_ == 0) { +#line 2918 "Dimensions.c" + GdkPoint* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = viewport_center; +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = (*_tmp9_).y; +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp10_ == 0; +#line 2927 "Dimensions.c" + } else { +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = FALSE; +#line 2931 "Dimensions.c" + } +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp6_; +#line 2935 "Dimensions.c" + } +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp4_) { +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = TRUE; +#line 2941 "Dimensions.c" + } else { + gdouble _tmp11_ = 0.0; +#line 481 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = slider_val; +#line 481 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp11_ == 0.0; +#line 2948 "Dimensions.c" + } +#line 480 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp3_) { +#line 482 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_center_viewport (&(*self)); +#line 2954 "Dimensions.c" + } else { + GdkPoint* _tmp12_ = NULL; +#line 484 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = viewport_center; +#line 484 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center = *_tmp12_; +#line 485 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_clamp_viewport_center (&(*self)); +#line 2963 "Dimensions.c" + } +} + + +void zoom_state_init_rescale (ZoomState *self, ZoomState* existing, gdouble new_slider_val) { + ZoomState _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; + ZoomState _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; +#line 489 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (existing != NULL); +#line 489 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (self, 0, sizeof (ZoomState)); +#line 490 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *existing; +#line 490 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.content_dimensions; +#line 490 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).content_dimensions = _tmp1_; +#line 491 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *existing; +#line 491 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.viewport_dimensions; +#line 491 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_dimensions = _tmp3_; +#line 492 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = new_slider_val; +#line 492 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).interpolation_factor = _tmp4_; +#line 494 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_compute_zoom_factors (&(*self)); +#line 496 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = new_slider_val; +#line 496 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp5_ == 0.0) { +#line 497 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_center_viewport (&(*self)); +#line 3003 "Dimensions.c" + } else { + gdouble _tmp6_ = 0.0; + ZoomState _tmp7_ = {0}; + GdkPoint _tmp8_ = {0}; + gint _tmp9_ = 0; + ZoomState _tmp10_ = {0}; + gdouble _tmp11_ = 0.0; + gdouble _tmp12_ = 0.0; + ZoomState _tmp13_ = {0}; + GdkPoint _tmp14_ = {0}; + gint _tmp15_ = 0; + ZoomState _tmp16_ = {0}; + gdouble _tmp17_ = 0.0; +#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = (*self).zoom_factor; +#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = *existing; +#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = _tmp7_.viewport_center; +#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = _tmp8_.x; +#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = *existing; +#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = _tmp10_.zoom_factor; +#line 499 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center.x = (gint) (_tmp6_ * (_tmp9_ / _tmp11_)); +#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = (*self).zoom_factor; +#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = *existing; +#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = _tmp13_.viewport_center; +#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = _tmp14_.y; +#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = *existing; +#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = _tmp16_.zoom_factor; +#line 501 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center.y = (gint) (_tmp12_ * (_tmp15_ / _tmp17_)); +#line 503 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_clamp_viewport_center (&(*self)); +#line 3047 "Dimensions.c" + } +} + + +void zoom_state_init_rescale_to_isomorphic (ZoomState *self, ZoomState* existing) { + ZoomState _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; + ZoomState _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + ZoomState _tmp4_ = {0}; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + ZoomState _tmp7_ = {0}; + gdouble _tmp8_ = 0.0; + ZoomState _tmp9_ = {0}; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + gdouble _tmp12_ = 0.0; +#line 507 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (existing != NULL); +#line 507 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (self, 0, sizeof (ZoomState)); +#line 508 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *existing; +#line 508 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.content_dimensions; +#line 508 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).content_dimensions = _tmp1_; +#line 509 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *existing; +#line 509 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.viewport_dimensions; +#line 509 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_dimensions = _tmp3_; +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = *existing; +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = _tmp4_.min_factor; +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = log (1.0 / _tmp5_); +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = *existing; +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = _tmp7_.max_factor; +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = *existing; +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = _tmp9_.min_factor; +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = log (_tmp8_ / _tmp10_); +#line 510 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).interpolation_factor = _tmp6_ / _tmp11_; +#line 513 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_compute_zoom_factors (&(*self)); +#line 515 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = (*self).interpolation_factor; +#line 515 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp12_ == 0.0) { +#line 516 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_center_viewport (&(*self)); +#line 3108 "Dimensions.c" + } else { + gdouble _tmp13_ = 0.0; + ZoomState _tmp14_ = {0}; + GdkPoint _tmp15_ = {0}; + gint _tmp16_ = 0; + ZoomState _tmp17_ = {0}; + gdouble _tmp18_ = 0.0; + gdouble _tmp19_ = 0.0; + ZoomState _tmp20_ = {0}; + GdkPoint _tmp21_ = {0}; + gint _tmp22_ = 0; + ZoomState _tmp23_ = {0}; + gdouble _tmp24_ = 0.0; +#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = (*self).zoom_factor; +#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = *existing; +#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = _tmp14_.viewport_center; +#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = _tmp15_.x; +#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = *existing; +#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = _tmp17_.zoom_factor; +#line 518 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center.x = (gint) (_tmp13_ * (_tmp16_ / _tmp18_)); +#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = (*self).zoom_factor; +#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = *existing; +#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = _tmp20_.viewport_center; +#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = _tmp21_.y; +#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp23_ = *existing; +#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp24_ = _tmp23_.zoom_factor; +#line 520 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center.y = (gint) (_tmp19_ * (_tmp22_ / _tmp24_)); +#line 522 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_clamp_viewport_center (&(*self)); +#line 3152 "Dimensions.c" + } +} + + +void zoom_state_init_pan (ZoomState *self, ZoomState* existing, GdkPoint* new_viewport_center) { + ZoomState _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; + ZoomState _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + ZoomState _tmp4_ = {0}; + gdouble _tmp5_ = 0.0; + GdkPoint _tmp6_ = {0}; +#line 526 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (existing != NULL); +#line 526 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (new_viewport_center != NULL); +#line 526 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (self, 0, sizeof (ZoomState)); +#line 527 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *existing; +#line 527 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.content_dimensions; +#line 527 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).content_dimensions = _tmp1_; +#line 528 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = *existing; +#line 528 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.viewport_dimensions; +#line 528 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_dimensions = _tmp3_; +#line 529 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = *existing; +#line 529 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = _tmp4_.interpolation_factor; +#line 529 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).interpolation_factor = _tmp5_; +#line 531 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_compute_zoom_factors (&(*self)); +#line 533 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = *new_viewport_center; +#line 533 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center = _tmp6_; +#line 535 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_clamp_viewport_center (&(*self)); +#line 3197 "Dimensions.c" +} + + +static void zoom_state_clamp_viewport_center (ZoomState *self) { + gint zoomed_width = 0; + gint _tmp0_ = 0; + gint zoomed_height = 0; + gint _tmp1_ = 0; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; + Dimensions _tmp6_ = {0}; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GdkPoint _tmp9_ = {0}; + gint _tmp10_ = 0; + Dimensions _tmp11_ = {0}; + gint _tmp12_ = 0; + Dimensions _tmp13_ = {0}; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 539 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = zoom_state_get_zoomed_width (&(*self)); +#line 539 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoomed_width = _tmp0_; +#line 540 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = zoom_state_get_zoomed_height (&(*self)); +#line 540 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoomed_height = _tmp1_; +#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).viewport_center; +#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.x; +#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = (*self).viewport_dimensions; +#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = _tmp4_.width; +#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = (*self).viewport_dimensions; +#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = _tmp6_.width; +#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = CLAMP (_tmp3_, _tmp5_ / 2, (zoomed_width - (_tmp7_ / 2)) - 1); +#line 542 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center.x = _tmp8_; +#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = (*self).viewport_center; +#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = _tmp9_.y; +#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = (*self).viewport_dimensions; +#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = _tmp11_.height; +#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = (*self).viewport_dimensions; +#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = _tmp13_.height; +#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = CLAMP (_tmp10_, _tmp12_ / 2, (zoomed_height - (_tmp14_ / 2)) - 1); +#line 544 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center.y = _tmp15_; +#line 3260 "Dimensions.c" +} + + +static void zoom_state_center_viewport (ZoomState *self) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 549 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = zoom_state_get_zoomed_width (&(*self)); +#line 549 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center.x = _tmp0_ / 2; +#line 550 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = zoom_state_get_zoomed_height (&(*self)); +#line 550 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).viewport_center.y = _tmp1_ / 2; +#line 3275 "Dimensions.c" +} + + +static void zoom_state_compute_zoom_factors (ZoomState *self) { + gdouble viewport_to_content_x = 0.0; + gdouble viewport_to_content_y = 0.0; + Dimensions _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; +#line 554 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).max_factor = 2.0; +#line 558 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).viewport_dimensions; +#line 558 "/home/jens/Source/shotwell/src/Dimensions.vala" + dimensions_get_scale_ratios (&(*self).content_dimensions, &_tmp0_, &_tmp1_, &_tmp2_); +#line 558 "/home/jens/Source/shotwell/src/Dimensions.vala" + viewport_to_content_x = _tmp1_; +#line 558 "/home/jens/Source/shotwell/src/Dimensions.vala" + viewport_to_content_y = _tmp2_; +#line 560 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = viewport_to_content_x; +#line 560 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = viewport_to_content_y; +#line 560 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = MIN (_tmp3_, _tmp4_); +#line 560 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).min_factor = _tmp5_; +#line 561 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = (*self).min_factor; +#line 561 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp6_ > 1.0) { +#line 562 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).min_factor = 1.0; +#line 3318 "Dimensions.c" + } +#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = (*self).min_factor; +#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = (*self).max_factor; +#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = (*self).min_factor; +#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = (*self).interpolation_factor; +#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = pow (_tmp8_ / _tmp9_, _tmp10_); +#line 564 "/home/jens/Source/shotwell/src/Dimensions.vala" + (*self).zoom_factor = _tmp7_ * _tmp11_; +#line 3332 "Dimensions.c" +} + + +gdouble zoom_state_get_interpolation_factor (ZoomState *self) { + gdouble result = 0.0; + gdouble _tmp0_ = 0.0; +#line 568 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).interpolation_factor; +#line 568 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 568 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 3345 "Dimensions.c" +} + + +void zoom_state_get_viewing_rectangle_wrt_content (ZoomState *self, GdkRectangle* result) { + gint zoomed_width = 0; + gint _tmp0_ = 0; + gint zoomed_height = 0; + gint _tmp1_ = 0; + GdkRectangle _result_ = {0}; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + Dimensions _tmp14_ = {0}; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkRectangle _tmp24_ = {0}; + gint _tmp25_ = 0; + gint right = 0; + GdkRectangle _tmp26_ = {0}; + gint _tmp27_ = 0; + Dimensions _tmp28_ = {0}; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp33_ = 0; + GdkRectangle _tmp34_ = {0}; + gint _tmp35_ = 0; + gint bottom = 0; + GdkRectangle _tmp36_ = {0}; + gint _tmp37_ = 0; + Dimensions _tmp38_ = {0}; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gint _tmp43_ = 0; + GdkRectangle _tmp44_ = {0}; + gint _tmp45_ = 0; + GdkRectangle _tmp46_ = {0}; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + GdkRectangle _tmp49_ = {0}; + gint _tmp50_ = 0; + gint _tmp51_ = 0; +#line 573 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = zoom_state_get_zoomed_width (&(*self)); +#line 573 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoomed_width = _tmp0_; +#line 574 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = zoom_state_get_zoomed_height (&(*self)); +#line 574 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoomed_height = _tmp1_; +#line 576 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (&_result_, 0, sizeof (GdkRectangle)); +#line 578 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).viewport_dimensions; +#line 578 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = _tmp2_.width; +#line 578 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = zoomed_width; +#line 578 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp3_ < _tmp4_) { +#line 3409 "Dimensions.c" + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = (*self).viewport_center; +#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp5_.x; +#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = (*self).viewport_dimensions; +#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = _tmp7_.width; +#line 579 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.x = _tmp6_ - (_tmp8_ / 2); +#line 3424 "Dimensions.c" + } else { + gint _tmp9_ = 0; + Dimensions _tmp10_ = {0}; + gint _tmp11_ = 0; +#line 581 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = zoomed_width; +#line 581 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = (*self).viewport_dimensions; +#line 581 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = _tmp10_.width; +#line 581 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.x = (_tmp9_ - _tmp11_) / 2; +#line 3437 "Dimensions.c" + } +#line 583 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = _result_; +#line 583 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = _tmp12_.x; +#line 583 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp13_ < 0) { +#line 584 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.x = 0; +#line 3447 "Dimensions.c" + } +#line 586 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = (*self).viewport_dimensions; +#line 586 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = _tmp14_.height; +#line 586 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = zoomed_height; +#line 586 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp15_ < _tmp16_) { +#line 3457 "Dimensions.c" + GdkPoint _tmp17_ = {0}; + gint _tmp18_ = 0; + Dimensions _tmp19_ = {0}; + gint _tmp20_ = 0; +#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = (*self).viewport_center; +#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = _tmp17_.y; +#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = (*self).viewport_dimensions; +#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = _tmp19_.height; +#line 587 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.y = _tmp18_ - (_tmp20_ / 2); +#line 3472 "Dimensions.c" + } else { + gint _tmp21_ = 0; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; +#line 589 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = zoomed_height; +#line 589 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = (*self).viewport_dimensions; +#line 589 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp23_ = _tmp22_.height; +#line 589 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.y = (_tmp21_ - _tmp23_) / 2; +#line 3485 "Dimensions.c" + } +#line 591 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp24_ = _result_; +#line 591 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp25_ = _tmp24_.y; +#line 591 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp25_ < 0) { +#line 592 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.y = 0; +#line 3495 "Dimensions.c" + } +#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp26_ = _result_; +#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp27_ = _tmp26_.x; +#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp28_ = (*self).viewport_dimensions; +#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp29_ = _tmp28_.width; +#line 594 "/home/jens/Source/shotwell/src/Dimensions.vala" + right = _tmp27_ + _tmp29_; +#line 595 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp30_ = right; +#line 595 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp31_ = zoomed_width; +#line 595 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp30_ > _tmp31_) { +#line 3513 "Dimensions.c" + gint _tmp32_ = 0; +#line 596 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp32_ = zoomed_width; +#line 596 "/home/jens/Source/shotwell/src/Dimensions.vala" + right = _tmp32_; +#line 3519 "Dimensions.c" + } +#line 597 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp33_ = right; +#line 597 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp34_ = _result_; +#line 597 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp35_ = _tmp34_.x; +#line 597 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.width = _tmp33_ - _tmp35_; +#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp36_ = _result_; +#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp37_ = _tmp36_.y; +#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp38_ = (*self).viewport_dimensions; +#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp39_ = _tmp38_.height; +#line 599 "/home/jens/Source/shotwell/src/Dimensions.vala" + bottom = _tmp37_ + _tmp39_; +#line 600 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp40_ = bottom; +#line 600 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp41_ = zoomed_height; +#line 600 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp40_ > _tmp41_) { +#line 3545 "Dimensions.c" + gint _tmp42_ = 0; +#line 601 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp42_ = zoomed_height; +#line 601 "/home/jens/Source/shotwell/src/Dimensions.vala" + bottom = _tmp42_; +#line 3551 "Dimensions.c" + } +#line 602 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp43_ = bottom; +#line 602 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp44_ = _result_; +#line 602 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp45_ = _tmp44_.y; +#line 602 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.height = _tmp43_ - _tmp45_; +#line 604 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp46_ = _result_; +#line 604 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp47_ = _tmp46_.width; +#line 604 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp48_ = CLAMP (_tmp47_, 1, G_MAXINT); +#line 604 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.width = _tmp48_; +#line 605 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp49_ = _result_; +#line 605 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp50_ = _tmp49_.height; +#line 605 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp51_ = CLAMP (_tmp50_, 1, G_MAXINT); +#line 605 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.height = _tmp51_; +#line 607 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _result_; +#line 607 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 3581 "Dimensions.c" +} + + +void zoom_state_get_viewing_rectangle_wrt_screen (ZoomState *self, GdkRectangle* result) { + GdkRectangle wrt_content = {0}; + GdkRectangle _tmp0_ = {0}; + GdkRectangle _result_ = {0}; + Dimensions _tmp1_ = {0}; + gint _tmp2_ = 0; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkRectangle _tmp13_ = {0}; + gint _tmp14_ = 0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; +#line 613 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_get_viewing_rectangle_wrt_content (&(*self), &_tmp0_); +#line 613 "/home/jens/Source/shotwell/src/Dimensions.vala" + wrt_content = _tmp0_; +#line 615 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (&_result_, 0, sizeof (GdkRectangle)); +#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).viewport_dimensions; +#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = _tmp1_.width; +#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = wrt_content; +#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_.width; +#line 616 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.x = (_tmp2_ / 2) - (_tmp4_ / 2); +#line 617 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = _result_; +#line 617 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = _tmp5_.x; +#line 617 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp6_ < 0) { +#line 618 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.x = 0; +#line 3629 "Dimensions.c" + } +#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = (*self).viewport_dimensions; +#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = _tmp7_.height; +#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = wrt_content; +#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = _tmp9_.height; +#line 619 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.y = (_tmp8_ / 2) - (_tmp10_ / 2); +#line 620 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = _result_; +#line 620 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = _tmp11_.y; +#line 620 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp12_ < 0) { +#line 621 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.y = 0; +#line 3649 "Dimensions.c" + } +#line 622 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = wrt_content; +#line 622 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = _tmp13_.width; +#line 622 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.width = _tmp14_; +#line 623 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = wrt_content; +#line 623 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = _tmp15_.height; +#line 623 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.height = _tmp16_; +#line 625 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _result_; +#line 625 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 3667 "Dimensions.c" +} + + +void zoom_state_get_viewing_rectangle_projection (ZoomState *self, GdkPixbuf* for_pixbuf, GdkRectangle* result) { + gdouble zoomed_width = 0.0; + gint _tmp0_ = 0; + gdouble zoomed_height = 0.0; + gint _tmp1_ = 0; + gdouble horiz_scale = 0.0; + GdkPixbuf* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gdouble vert_scale = 0.0; + GdkPixbuf* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gdouble scale = 0.0; + GdkRectangle viewing_rectangle = {0}; + GdkRectangle _tmp8_ = {0}; + GdkRectangle _result_ = {0}; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkPixbuf* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkRectangle _tmp19_ = {0}; + gint _tmp20_ = 0; + GdkPixbuf* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint right = 0; + GdkRectangle _tmp25_ = {0}; + gint _tmp26_ = 0; + GdkRectangle _tmp27_ = {0}; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + GdkPixbuf* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + gint _tmp33_ = 0; + gint bottom = 0; + GdkRectangle _tmp34_ = {0}; + gint _tmp35_ = 0; + GdkRectangle _tmp36_ = {0}; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + GdkPixbuf* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + GdkRectangle _tmp44_ = {0}; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + GdkRectangle _tmp47_ = {0}; + gint _tmp48_ = 0; +#line 629 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_if_fail (GDK_IS_PIXBUF (for_pixbuf)); +#line 630 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = zoom_state_get_zoomed_width (&(*self)); +#line 630 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoomed_width = (gdouble) _tmp0_; +#line 631 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = zoom_state_get_zoomed_height (&(*self)); +#line 631 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoomed_height = (gdouble) _tmp1_; +#line 633 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = for_pixbuf; +#line 633 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = gdk_pixbuf_get_width (_tmp2_); +#line 633 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_; +#line 633 "/home/jens/Source/shotwell/src/Dimensions.vala" + horiz_scale = _tmp4_ / zoomed_width; +#line 634 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = for_pixbuf; +#line 634 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = gdk_pixbuf_get_height (_tmp5_); +#line 634 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = _tmp6_; +#line 634 "/home/jens/Source/shotwell/src/Dimensions.vala" + vert_scale = _tmp7_ / zoomed_height; +#line 635 "/home/jens/Source/shotwell/src/Dimensions.vala" + scale = (horiz_scale + vert_scale) / 2.0; +#line 637 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_get_viewing_rectangle_wrt_content (&(*self), &_tmp8_); +#line 637 "/home/jens/Source/shotwell/src/Dimensions.vala" + viewing_rectangle = _tmp8_; +#line 639 "/home/jens/Source/shotwell/src/Dimensions.vala" + memset (&_result_, 0, sizeof (GdkRectangle)); +#line 640 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = viewing_rectangle; +#line 640 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = _tmp9_.x; +#line 640 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.x = (gint) (_tmp10_ * scale); +#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = _result_; +#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = _tmp11_.x; +#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = for_pixbuf; +#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = gdk_pixbuf_get_width (_tmp13_); +#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = _tmp14_; +#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = CLAMP (_tmp12_, 0, _tmp15_); +#line 641 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.x = _tmp16_; +#line 642 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = viewing_rectangle; +#line 642 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = _tmp17_.y; +#line 642 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.y = (gint) (_tmp18_ * scale); +#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = _result_; +#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = _tmp19_.y; +#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = for_pixbuf; +#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = gdk_pixbuf_get_height (_tmp21_); +#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp23_ = _tmp22_; +#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp24_ = CLAMP (_tmp20_, 0, _tmp23_); +#line 643 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.y = _tmp24_; +#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp25_ = viewing_rectangle; +#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp26_ = _tmp25_.x; +#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp27_ = viewing_rectangle; +#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp28_ = _tmp27_.width; +#line 644 "/home/jens/Source/shotwell/src/Dimensions.vala" + right = (gint) ((_tmp26_ + _tmp28_) * scale); +#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp29_ = right; +#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp30_ = for_pixbuf; +#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp31_ = gdk_pixbuf_get_width (_tmp30_); +#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp32_ = _tmp31_; +#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp33_ = CLAMP (_tmp29_, 0, _tmp32_); +#line 645 "/home/jens/Source/shotwell/src/Dimensions.vala" + right = _tmp33_; +#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp34_ = viewing_rectangle; +#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp35_ = _tmp34_.y; +#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp36_ = viewing_rectangle; +#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp37_ = _tmp36_.height; +#line 646 "/home/jens/Source/shotwell/src/Dimensions.vala" + bottom = (gint) ((_tmp35_ + _tmp37_) * scale); +#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp38_ = bottom; +#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp39_ = for_pixbuf; +#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp40_ = gdk_pixbuf_get_height (_tmp39_); +#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp41_ = _tmp40_; +#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp42_ = CLAMP (_tmp38_, 0, _tmp41_); +#line 647 "/home/jens/Source/shotwell/src/Dimensions.vala" + bottom = _tmp42_; +#line 648 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp43_ = right; +#line 648 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp44_ = _result_; +#line 648 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp45_ = _tmp44_.x; +#line 648 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.width = _tmp43_ - _tmp45_; +#line 649 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp46_ = bottom; +#line 649 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp47_ = _result_; +#line 649 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp48_ = _tmp47_.y; +#line 649 "/home/jens/Source/shotwell/src/Dimensions.vala" + _result_.height = _tmp46_ - _tmp48_; +#line 651 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _result_; +#line 651 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 3868 "Dimensions.c" +} + + +gdouble zoom_state_get_zoom_factor (ZoomState *self) { + gdouble result = 0.0; + gdouble _tmp0_ = 0.0; +#line 656 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).zoom_factor; +#line 656 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 656 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 3881 "Dimensions.c" +} + + +gint zoom_state_get_zoomed_width (ZoomState *self) { + gint result = 0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; +#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).content_dimensions; +#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.width; +#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).zoom_factor; +#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = (gint) (_tmp1_ * _tmp2_); +#line 660 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 3900 "Dimensions.c" +} + + +gint zoom_state_get_zoomed_height (ZoomState *self) { + gint result = 0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; +#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).content_dimensions; +#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.height; +#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = (*self).zoom_factor; +#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = (gint) (_tmp1_ * _tmp2_); +#line 664 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 3919 "Dimensions.c" +} + + +void zoom_state_get_viewport_center (ZoomState *self, GdkPoint* result) { + GdkPoint _tmp0_ = {0}; +#line 668 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).viewport_center; +#line 668 "/home/jens/Source/shotwell/src/Dimensions.vala" + *result = _tmp0_; +#line 668 "/home/jens/Source/shotwell/src/Dimensions.vala" + return; +#line 3931 "Dimensions.c" +} + + +gchar* zoom_state_to_string (ZoomState *self) { + gchar* result = NULL; + gchar* named_modes = NULL; + gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp11_ = FALSE; + gboolean _tmp16_ = FALSE; + const gchar* _tmp21_ = NULL; + GdkRectangle viewing_rect = {0}; + GdkRectangle _tmp23_ = {0}; + Dimensions _tmp24_ = {0}; + gint _tmp25_ = 0; + Dimensions _tmp26_ = {0}; + gint _tmp27_ = 0; + Dimensions _tmp28_ = {0}; + gint _tmp29_ = 0; + Dimensions _tmp30_ = {0}; + gint _tmp31_ = 0; + gdouble _tmp32_ = 0.0; + gdouble _tmp33_ = 0.0; + gdouble _tmp34_ = 0.0; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + const gchar* _tmp37_ = NULL; + GdkRectangle _tmp38_ = {0}; + gint _tmp39_ = 0; + GdkRectangle _tmp40_ = {0}; + gint _tmp41_ = 0; + GdkRectangle _tmp42_ = {0}; + gint _tmp43_ = 0; + GdkRectangle _tmp44_ = {0}; + gint _tmp45_ = 0; + GdkPoint _tmp46_ = {0}; + gint _tmp47_ = 0; + GdkPoint _tmp48_ = {0}; + gint _tmp49_ = 0; + gchar* _tmp50_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = g_strdup (""); +#line 672 "/home/jens/Source/shotwell/src/Dimensions.vala" + named_modes = _tmp0_; +#line 673 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = zoom_state_is_min (&(*self)); +#line 673 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp1_) { +#line 3981 "Dimensions.c" + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = named_modes; +#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (g_strcmp0 (_tmp3_, "") == 0) { +#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = "MIN"; +#line 3992 "Dimensions.c" + } else { +#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = ", MIN"; +#line 3996 "Dimensions.c" + } +#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = named_modes; +#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = g_strconcat (_tmp4_, _tmp2_, NULL); +#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (named_modes); +#line 674 "/home/jens/Source/shotwell/src/Dimensions.vala" + named_modes = _tmp5_; +#line 4006 "Dimensions.c" + } +#line 675 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = zoom_state_is_default (&(*self)); +#line 675 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp6_) { +#line 4012 "Dimensions.c" + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = named_modes; +#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (g_strcmp0 (_tmp8_, "") == 0) { +#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = "DEFAULT"; +#line 4023 "Dimensions.c" + } else { +#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = ", DEFAULT"; +#line 4027 "Dimensions.c" + } +#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = named_modes; +#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = g_strconcat (_tmp9_, _tmp7_, NULL); +#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (named_modes); +#line 676 "/home/jens/Source/shotwell/src/Dimensions.vala" + named_modes = _tmp10_; +#line 4037 "Dimensions.c" + } +#line 677 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = zoom_state_is_isomorphic (&(*self)); +#line 677 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp11_) { +#line 4043 "Dimensions.c" + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = named_modes; +#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (g_strcmp0 (_tmp13_, "") == 0) { +#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = "ISOMORPHIC"; +#line 4054 "Dimensions.c" + } else { +#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = ", ISOMORPHIC"; +#line 4058 "Dimensions.c" + } +#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = named_modes; +#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = g_strconcat (_tmp14_, _tmp12_, NULL); +#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (named_modes); +#line 678 "/home/jens/Source/shotwell/src/Dimensions.vala" + named_modes = _tmp15_; +#line 4068 "Dimensions.c" + } +#line 679 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = zoom_state_is_max (&(*self)); +#line 679 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp16_) { +#line 4074 "Dimensions.c" + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = named_modes; +#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (g_strcmp0 (_tmp18_, "") == 0) { +#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = "MAX"; +#line 4085 "Dimensions.c" + } else { +#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = ", MAX"; +#line 4089 "Dimensions.c" + } +#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = named_modes; +#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = g_strconcat (_tmp19_, _tmp17_, NULL); +#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (named_modes); +#line 680 "/home/jens/Source/shotwell/src/Dimensions.vala" + named_modes = _tmp20_; +#line 4099 "Dimensions.c" + } +#line 681 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = named_modes; +#line 681 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (g_strcmp0 (_tmp21_, "") == 0) { +#line 4105 "Dimensions.c" + gchar* _tmp22_ = NULL; +#line 682 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = g_strdup ("(none)"); +#line 682 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (named_modes); +#line 682 "/home/jens/Source/shotwell/src/Dimensions.vala" + named_modes = _tmp22_; +#line 4113 "Dimensions.c" + } +#line 684 "/home/jens/Source/shotwell/src/Dimensions.vala" + zoom_state_get_viewing_rectangle_wrt_content (&(*self), &_tmp23_); +#line 684 "/home/jens/Source/shotwell/src/Dimensions.vala" + viewing_rect = _tmp23_; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp24_ = (*self).content_dimensions; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp25_ = _tmp24_.width; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp26_ = (*self).content_dimensions; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp27_ = _tmp26_.height; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp28_ = (*self).viewport_dimensions; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp29_ = _tmp28_.width; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp30_ = (*self).viewport_dimensions; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp31_ = _tmp30_.height; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp32_ = (*self).min_factor; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp33_ = (*self).max_factor; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp34_ = (*self).zoom_factor; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp35_ = zoom_state_get_zoomed_width (&(*self)); +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp36_ = zoom_state_get_zoomed_height (&(*self)); +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp37_ = named_modes; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp38_ = viewing_rect; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp39_ = _tmp38_.x; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp40_ = viewing_rect; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp41_ = _tmp40_.y; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp42_ = viewing_rect; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp43_ = _tmp42_.width; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp44_ = viewing_rect; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp45_ = _tmp44_.height; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp46_ = (*self).viewport_center; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp47_ = _tmp46_.x; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp48_ = (*self).viewport_center; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp49_ = _tmp48_.y; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp50_ = g_strdup_printf ("ZoomState {\n" \ +" content dimensions = %d x %d;\n" \ +" viewport dimensions = " "%d x %d;\n" \ +" min factor = %f;\n" \ +" max factor = %f;\n" \ +" current factor = %f;" "\n" \ +" zoomed width = %d;\n" \ +" zoomed height = %d;\n" \ +" named modes = %s;" "\n viewing rectangle = { x: %d, y: %d, width: %d, height: %d };" "\n viewport center = (%d, %d);\n}\n", _tmp25_, _tmp27_, _tmp29_, _tmp31_, _tmp32_, _tmp33_, _tmp34_, _tmp35_, _tmp36_, _tmp37_, _tmp39_, _tmp41_, _tmp43_, _tmp45_, _tmp47_, _tmp49_); +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp50_; +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + _g_free0 (named_modes); +#line 686 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4179 "Dimensions.c" +} + + +gboolean zoom_state_is_min (ZoomState *self) { + gboolean result = FALSE; + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; +#line 698 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).zoom_factor; +#line 698 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).min_factor; +#line 698 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_ == _tmp1_; +#line 698 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4195 "Dimensions.c" +} + + +gboolean zoom_state_is_default (ZoomState *self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 702 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = zoom_state_is_min (&(*self)); +#line 702 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_; +#line 702 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4208 "Dimensions.c" +} + + +gboolean zoom_state_is_max (ZoomState *self) { + gboolean result = FALSE; + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; +#line 706 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).zoom_factor; +#line 706 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = (*self).max_factor; +#line 706 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_ == _tmp1_; +#line 706 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4224 "Dimensions.c" +} + + +gboolean zoom_state_is_isomorphic (ZoomState *self) { + gboolean result = FALSE; + gdouble _tmp0_ = 0.0; +#line 710 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = (*self).zoom_factor; +#line 710 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = _tmp0_ == 1.0; +#line 710 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4237 "Dimensions.c" +} + + +gboolean zoom_state_equals (ZoomState *self, ZoomState* other) { + gboolean result = FALSE; + ZoomState _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + ZoomState _tmp3_ = {0}; + Dimensions _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + gdouble _tmp6_ = 0.0; + ZoomState _tmp7_ = {0}; + gdouble _tmp8_ = 0.0; + gdouble _tmp9_ = 0.0; + ZoomState _tmp10_ = {0}; + gdouble _tmp11_ = 0.0; + gdouble _tmp12_ = 0.0; + ZoomState _tmp13_ = {0}; + gdouble _tmp14_ = 0.0; + GdkPoint _tmp15_ = {0}; + gint _tmp16_ = 0; + ZoomState _tmp17_ = {0}; + GdkPoint _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; + ZoomState _tmp22_ = {0}; + GdkPoint _tmp23_ = {0}; + gint _tmp24_ = 0; +#line 713 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_return_val_if_fail (other != NULL, FALSE); +#line 714 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp0_ = *other; +#line 714 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp1_ = _tmp0_.content_dimensions; +#line 714 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp2_ = dimensions_equals (&(*self).content_dimensions, &_tmp1_); +#line 714 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (!_tmp2_) { +#line 715 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 715 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4282 "Dimensions.c" + } +#line 716 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp3_ = *other; +#line 716 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp4_ = _tmp3_.viewport_dimensions; +#line 716 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp5_ = dimensions_equals (&(*self).viewport_dimensions, &_tmp4_); +#line 716 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (!_tmp5_) { +#line 717 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 717 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4296 "Dimensions.c" + } +#line 718 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp6_ = (*self).zoom_factor; +#line 718 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp7_ = *other; +#line 718 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp8_ = _tmp7_.zoom_factor; +#line 718 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp6_ != _tmp8_) { +#line 719 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 719 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4310 "Dimensions.c" + } +#line 720 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp9_ = (*self).min_factor; +#line 720 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp10_ = *other; +#line 720 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp11_ = _tmp10_.min_factor; +#line 720 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp9_ != _tmp11_) { +#line 721 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 721 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4324 "Dimensions.c" + } +#line 722 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp12_ = (*self).max_factor; +#line 722 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp13_ = *other; +#line 722 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp14_ = _tmp13_.max_factor; +#line 722 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp12_ != _tmp14_) { +#line 723 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 723 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4338 "Dimensions.c" + } +#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp15_ = (*self).viewport_center; +#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp16_ = _tmp15_.x; +#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp17_ = *other; +#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp18_ = _tmp17_.viewport_center; +#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp19_ = _tmp18_.x; +#line 724 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp16_ != _tmp19_) { +#line 725 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 725 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4356 "Dimensions.c" + } +#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp20_ = (*self).viewport_center; +#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp21_ = _tmp20_.y; +#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp22_ = *other; +#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp23_ = _tmp22_.viewport_center; +#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" + _tmp24_ = _tmp23_.y; +#line 726 "/home/jens/Source/shotwell/src/Dimensions.vala" + if (_tmp21_ != _tmp24_) { +#line 727 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = FALSE; +#line 727 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4374 "Dimensions.c" + } +#line 729 "/home/jens/Source/shotwell/src/Dimensions.vala" + result = TRUE; +#line 729 "/home/jens/Source/shotwell/src/Dimensions.vala" + return result; +#line 4380 "Dimensions.c" +} + + +ZoomState* zoom_state_dup (const ZoomState* self) { + ZoomState* dup; +#line 463 "/home/jens/Source/shotwell/src/Dimensions.vala" + dup = g_new0 (ZoomState, 1); +#line 463 "/home/jens/Source/shotwell/src/Dimensions.vala" + memcpy (dup, self, sizeof (ZoomState)); +#line 463 "/home/jens/Source/shotwell/src/Dimensions.vala" + return dup; +#line 4392 "Dimensions.c" +} + + +void zoom_state_free (ZoomState* self) { +#line 463 "/home/jens/Source/shotwell/src/Dimensions.vala" + g_free (self); +#line 4399 "Dimensions.c" +} + + +GType zoom_state_get_type (void) { + static volatile gsize zoom_state_type_id__volatile = 0; + if (g_once_init_enter (&zoom_state_type_id__volatile)) { + GType zoom_state_type_id; + zoom_state_type_id = g_boxed_type_register_static ("ZoomState", (GBoxedCopyFunc) zoom_state_dup, (GBoxedFreeFunc) zoom_state_free); + g_once_init_leave (&zoom_state_type_id__volatile, zoom_state_type_id); + } + return zoom_state_type_id__volatile; +} + + + diff --git a/src/DirectoryMonitor.c b/src/DirectoryMonitor.c new file mode 100644 index 0000000..e451d9d --- /dev/null +++ b/src/DirectoryMonitor.c @@ -0,0 +1,9917 @@ +/* DirectoryMonitor.c generated by valac 0.32.1, the Vala compiler + * generated from DirectoryMonitor.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. + */ +/**/ +/* DirectoryMonitor will monitor an entire directory for changes to all files and directories*/ +/* within it. It uses FileMonitor to monitor all directories it discovers at initialization*/ +/* and reports changes to the files and directories just as FileMonitor reports them. Subclasses*/ +/* can override the notify_* methods to filter or monitor events before the signal is fired,*/ +/* or can override the signals themselves to be notified afterwards.*/ +/**/ +/* start_discovery() must be called to initiate monitoring. Directories and files will be reported*/ +/* as they're discovered. Directories will be monitored as they're discovered as well. Discovery*/ +/* can only be initiated once.*/ +/**/ +/* All signals are virtual and have a corresponding notify_* protected virtual function.*/ +/* Subclasses can either override the notify or the signal to decide when they want to process*/ +/* the event.*/ +/**/ +/* DirectoryMonitor also adds a level of intelligence to GLib's monitoring API.Because certain*/ +/* file/directory events are decomposed by FileMonitor into more atomic events, it's difficult*/ +/* to know when these "composed" events have occurred. (For example, a file move is reported*/ +/* as a DELETED event followed by a CREATED event, with no clue that the two are related.) Later*/ +/* versions added the MOVE event, but we can't rely on those being installed. Also, documentation*/ +/* suggests it's only available with certain back-ends.*/ +/**/ +/* DirectoryMonitor attempts to solve this by deducing when a set of events actually equals*/ +/* a composite event. It requires more memory in order to do this (i.e. it stores all files and*/ +/* their information), but the trade-off is easier file/directory monitoring via familiar*/ +/* semantics.*/ +/**/ +/* DirectoryMonitor also will synthesize events when normal monitor events don't produce expected*/ +/* results. For example, if a directory is moved out of DirectoryMonitor's root, it is reported*/ +/* as a delete event, but none of its children are reported as deleted. Similarly, a directory*/ +/* rename can be captured as a move, but notifications for all its children are not fired and*/ +/* are synthesized by DirectoryMonitor. DirectoryMonitor will fire delete and move notifications*/ +/* for all the directory's children in depth-first order.*/ +/**/ +/* In general, DirectoryMonitor attempts to preserve ordering of events, so that (for example) a*/ +/* file-altered event doesn't fire before a file-created, and so on.*/ +/**/ +/* Because of these requirements, DirectoryMonitor maintains a FileInfo struct on all directories */ +/* and files being monitored. (It maintains the attributes gather during the discovery phase, i.e. */ +/* SUPPLIED_ATTRIBUTES.) This information can be retrieved via get_info(), get_file_id(), and*/ +/* get_etag(). These calls can be made at any time; the information is stored before any signal*/ +/* is fired.*/ +/**/ +/* Note that DirectoryMonitor currently only supports files and directories. Other file types*/ +/* (special, symbolic links, shortcuts, and mount points) are not supported. It has been seen*/ +/* when a temporary file is created for its file type to be reported as "unknown" and when it's*/ +/* altered/deleted to be reported as a regular file. This means it's possible for a file not to*/ +/* be reported as discovered or created but to be reported as altered and/or deleted.*/ +/**/ +/* DirectoryMonitor can be configured to not recurse (in which case it only discovers/monitors*/ +/* the root directory) and to not monitor (in which case only discovery occurs).*/ +/**/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ()) +#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor)) +#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) +#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR)) +#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR)) +#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) + +typedef struct _DirectoryMonitor DirectoryMonitor; +typedef struct _DirectoryMonitorClass DirectoryMonitorClass; +typedef struct _DirectoryMonitorPrivate DirectoryMonitorPrivate; + +#define DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT (directory_monitor_query_info_queue_element_get_type ()) +#define DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, DirectoryMonitorQueryInfoQueueElement)) +#define DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, DirectoryMonitorQueryInfoQueueElementClass)) +#define DIRECTORY_MONITOR_IS_QUERY_INFO_QUEUE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)) +#define DIRECTORY_MONITOR_IS_QUERY_INFO_QUEUE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)) +#define DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, DirectoryMonitorQueryInfoQueueElementClass)) + +typedef struct _DirectoryMonitorQueryInfoQueueElement DirectoryMonitorQueryInfoQueueElement; +typedef struct _DirectoryMonitorQueryInfoQueueElementClass DirectoryMonitorQueryInfoQueueElementClass; + +#define DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP (directory_monitor_file_info_map_get_type ()) +#define DIRECTORY_MONITOR_FILE_INFO_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMap)) +#define DIRECTORY_MONITOR_FILE_INFO_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMapClass)) +#define DIRECTORY_MONITOR_IS_FILE_INFO_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)) +#define DIRECTORY_MONITOR_IS_FILE_INFO_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)) +#define DIRECTORY_MONITOR_FILE_INFO_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMapClass)) + +typedef struct _DirectoryMonitorFileInfoMap DirectoryMonitorFileInfoMap; +typedef struct _DirectoryMonitorFileInfoMapClass DirectoryMonitorFileInfoMapClass; + +#define DIRECTORY_MONITOR_TYPE_FTYPE (directory_monitor_ftype_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _directory_monitor_file_info_map_unref0(var) ((var == NULL) ? NULL : (var = (directory_monitor_file_info_map_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _DirectoryMonitorAsyncInternalNotifyDirectoryMovedData DirectoryMonitorAsyncInternalNotifyDirectoryMovedData; +typedef struct _DirectoryMonitorAsyncNotifyDirectoryDeletedData DirectoryMonitorAsyncNotifyDirectoryDeletedData; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL))) +typedef struct _DirectoryMonitorExploreAsyncData DirectoryMonitorExploreAsyncData; +typedef struct _DirectoryMonitorNotifyDirectoryFilesData DirectoryMonitorNotifyDirectoryFilesData; +typedef struct _DirectoryMonitorQueryInfoQueueElementPrivate DirectoryMonitorQueryInfoQueueElementPrivate; +#define _directory_monitor_query_info_queue_element_unref0(var) ((var == NULL) ? NULL : (var = (directory_monitor_query_info_queue_element_unref (var), NULL))) +typedef struct _DirectoryMonitorParamSpecQueryInfoQueueElement DirectoryMonitorParamSpecQueryInfoQueueElement; +typedef struct _DirectoryMonitorFileInfoMapPrivate DirectoryMonitorFileInfoMapPrivate; +typedef struct _DirectoryMonitorParamSpecFileInfoMap DirectoryMonitorParamSpecFileInfoMap; +#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 _DirectoryMonitor { + GObject parent_instance; + DirectoryMonitorPrivate * priv; +}; + +struct _DirectoryMonitorClass { + GObjectClass parent_class; + void (*notify_root_deleted) (DirectoryMonitor* self, GFile* root); + void (*notify_root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); + void (*notify_discovery_started) (DirectoryMonitor* self); + void (*internal_notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*internal_notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*notify_discovery_failed) (DirectoryMonitor* self, const gchar* reason); + void (*notify_discovery_completed) (DirectoryMonitor* self); + void (*notify_file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*notify_file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); + void (*notify_file_altered) (DirectoryMonitor* self, GFile* file); + void (*notify_file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*notify_file_attributes_altered) (DirectoryMonitor* self, GFile* file); + void (*notify_file_deleted) (DirectoryMonitor* self, GFile* file); + void (*notify_directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*notify_directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); + void (*notify_directory_altered) (DirectoryMonitor* self, GFile* dir); + void (*notify_directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*notify_directory_attributes_altered) (DirectoryMonitor* self, GFile* dir); + void (*notify_directory_deleted) (DirectoryMonitor* self, GFile* dir); + void (*notify_closed) (DirectoryMonitor* self); + void (*close) (DirectoryMonitor* self); + void (*root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); + void (*root_deleted) (DirectoryMonitor* self, GFile* root); + void (*discovery_started) (DirectoryMonitor* self); + void (*file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*directory_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*discovery_failed) (DirectoryMonitor* self, const gchar* reason); + void (*discovery_completed) (DirectoryMonitor* self); + void (*file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); + void (*file_altered) (DirectoryMonitor* self, GFile* file); + void (*file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*file_attributes_altered) (DirectoryMonitor* self, GFile* file); + void (*file_deleted) (DirectoryMonitor* self, GFile* file); + void (*directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); + void (*directory_altered) (DirectoryMonitor* self, GFile* dir); + void (*directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*directory_attributes_altered) (DirectoryMonitor* self, GFile* dir); + void (*directory_deleted) (DirectoryMonitor* self, GFile* dir); + void (*closed) (DirectoryMonitor* self); +}; + +struct _DirectoryMonitorPrivate { + GFile* root; + gboolean recurse; + gboolean monitoring; + GeeHashMap* monitors; + GeeQueue* query_info_queue; + DirectoryMonitorFileInfoMap* files; + DirectoryMonitorFileInfoMap* parent_moved; + GCancellable* cancellable; + gint outstanding_exploration_dirs; + gboolean started; + gboolean has_discovery_started; + guint delete_timer_id; +}; + +typedef enum { + DIRECTORY_MONITOR_FTYPE_FILE, + DIRECTORY_MONITOR_FTYPE_DIRECTORY, + DIRECTORY_MONITOR_FTYPE_UNSUPPORTED +} DirectoryMonitorFType; + +struct _DirectoryMonitorAsyncInternalNotifyDirectoryMovedData { + int _state_; + GObject* _source_object_; + GAsyncResult* _res_; + GSimpleAsyncResult* _async_result; + DirectoryMonitor* self; + GFile* old_dir; + GFileInfo* old_dir_info; + GFile* new_dir; + GFileInfo* new_dir_info; + GeeArrayList* file_children; + GeeArrayList* _tmp0_; + GeeArrayList* dir_children; + GeeArrayList* _tmp1_; + gint count; + DirectoryMonitorFileInfoMap* _tmp2_; + GFile* _tmp3_; + GeeArrayList* _tmp4_; + GeeArrayList* _tmp5_; + gint _tmp6_; + gint _tmp7_; + GeeArrayList* _dir_child_list; + GeeArrayList* _tmp8_; + GeeArrayList* _tmp9_; + gint _dir_child_size; + GeeArrayList* _tmp10_; + gint _tmp11_; + gint _tmp12_; + gint _dir_child_index; + gint _tmp13_; + gint _tmp14_; + gint _tmp15_; + GFile* dir_child; + GeeArrayList* _tmp16_; + gint _tmp17_; + gpointer _tmp18_; + GFileInfo* dir_info; + DirectoryMonitorFileInfoMap* _tmp19_; + GFile* _tmp20_; + GFileInfo* _tmp21_; + GFileInfo* _tmp22_; + GFile* _tmp23_; + gchar* _tmp24_; + gchar* _tmp25_; + GFile* _tmp26_; + GFileInfo* _tmp27_; + GFile* _tmp28_; + GFile* _tmp29_; + gchar* _tmp30_; + gchar* _tmp31_; + GFile* _tmp32_; + GFile* _tmp33_; + GFileInfo* _tmp34_; + GeeArrayList* _file_child_list; + GeeArrayList* _tmp35_; + GeeArrayList* _tmp36_; + gint _file_child_size; + GeeArrayList* _tmp37_; + gint _tmp38_; + gint _tmp39_; + gint _file_child_index; + gint _tmp40_; + gint _tmp41_; + gint _tmp42_; + GFile* file_child; + GeeArrayList* _tmp43_; + gint _tmp44_; + gpointer _tmp45_; + GFileInfo* file_info; + DirectoryMonitorFileInfoMap* _tmp46_; + GFile* _tmp47_; + GFileInfo* _tmp48_; + GFileInfo* _tmp49_; + GFile* _tmp50_; + gchar* _tmp51_; + gchar* _tmp52_; + GFile* _tmp53_; + GFile* _tmp54_; + GFile* _tmp55_; + gchar* _tmp56_; + gchar* _tmp57_; + GFile* _tmp58_; + GFile* _tmp59_; + GFileInfo* _tmp60_; + DirectoryMonitorFileInfoMap* _tmp61_; + GFile* _tmp62_; + gboolean updated; + DirectoryMonitorFileInfoMap* _tmp63_; + GFile* _tmp64_; + GFileInfo* _tmp65_; + gboolean _tmp66_; + GFile* _tmp67_; + GFileInfo* _tmp68_; + GFile* _tmp69_; + GFileInfo* _tmp70_; + GFile* _tmp71_; + GFile* _tmp72_; + GFileInfo* _tmp73_; +}; + +struct _DirectoryMonitorAsyncNotifyDirectoryDeletedData { + int _state_; + GObject* _source_object_; + GAsyncResult* _res_; + GSimpleAsyncResult* _async_result; + DirectoryMonitor* self; + GFile* dir; + gboolean already_removed; + GeeArrayList* file_children; + GeeArrayList* _tmp0_; + GeeArrayList* dir_children; + GeeArrayList* _tmp1_; + gint count; + DirectoryMonitorFileInfoMap* _tmp2_; + GFile* _tmp3_; + GeeArrayList* _tmp4_; + GeeArrayList* _tmp5_; + gint _tmp6_; + gint _tmp7_; + GeeArrayList* _dir_child_list; + GeeArrayList* _tmp8_; + GeeArrayList* _tmp9_; + gint _dir_child_size; + GeeArrayList* _tmp10_; + gint _tmp11_; + gint _tmp12_; + gint _dir_child_index; + gint _tmp13_; + gint _tmp14_; + gint _tmp15_; + GFile* dir_child; + GeeArrayList* _tmp16_; + gint _tmp17_; + gpointer _tmp18_; + GFile* _tmp19_; + GeeArrayList* _file_child_list; + GeeArrayList* _tmp20_; + GeeArrayList* _tmp21_; + gint _file_child_size; + GeeArrayList* _tmp22_; + gint _tmp23_; + gint _tmp24_; + gint _file_child_index; + gint _tmp25_; + gint _tmp26_; + gint _tmp27_; + GFile* file_child; + GeeArrayList* _tmp28_; + gint _tmp29_; + gpointer _tmp30_; + DirectoryMonitorFileInfoMap* _tmp31_; + GFile* _tmp32_; + GFile* _tmp33_; + gboolean _tmp34_; + DirectoryMonitorFileInfoMap* _tmp35_; + GFile* _tmp36_; + GFile* _tmp37_; +}; + +struct _DirectoryMonitorExploreAsyncData { + int _state_; + GObject* _source_object_; + GAsyncResult* _res_; + GSimpleAsyncResult* _async_result; + DirectoryMonitor* self; + GFile* dir; + GFileInfo* dir_info; + gboolean in_discovery; + DirectoryMonitorFileInfoMap* _tmp0_; + GFile* _tmp1_; + GFileInfo* _tmp2_; + gboolean _tmp3_; + GFile* _tmp4_; + gchar* _tmp5_; + gchar* _tmp6_; + gboolean _tmp7_; + GFileInfo* local_dir_info; + GFileInfo* _tmp8_; + GFileInfo* _tmp9_; + GFileInfo* _tmp10_; + GFileInfo* _tmp11_; + GFile* _tmp12_; + GCancellable* _tmp13_; + GFileInfo* _tmp14_; + GFileInfo* _tmp15_; + GError* err; + GFile* _tmp16_; + gchar* _tmp17_; + gchar* _tmp18_; + GError* _tmp19_; + const gchar* _tmp20_; + gboolean _tmp21_; + GFileInfo* _tmp22_; + gboolean _tmp23_; + GFile* _tmp24_; + gchar* _tmp25_; + gchar* _tmp26_; + gboolean _tmp27_; + GFileInfo* _tmp28_; + gchar* _tmp29_; + gchar* _tmp30_; + gboolean _tmp31_; + GFile* _tmp32_; + gchar* _tmp33_; + gchar* _tmp34_; + gboolean _tmp35_; + GFileInfo* _tmp36_; + GFileType _tmp37_; + const gchar* _tmp38_; + GFile* _tmp39_; + gchar* _tmp40_; + gchar* _tmp41_; + GFileInfo* _tmp42_; + GFileType _tmp43_; + GEnumValue* _tmp44_; + gchar* _tmp45_; + gchar* _tmp46_; + gboolean _tmp47_; + GeeHashMap* dir_map; + GeeHashMap* file_map; + GFileEnumerator* enumerator; + GFile* _tmp48_; + GCancellable* _tmp49_; + GFileEnumerator* _tmp50_; + gboolean _tmp51_; + GList* infos; + GFileEnumerator* _tmp52_; + GCancellable* _tmp53_; + GList* _tmp54_; + GList* _tmp55_; + GList* _tmp56_; + GList* info_collection; + GList* info_it; + GFileInfo* _tmp57_; + GFileInfo* info; + GFileInfo* _tmp58_; + gboolean _tmp59_; + GFile* _tmp60_; + GFileInfo* _tmp61_; + const gchar* _tmp62_; + GFile* _tmp63_; + GFile* _tmp64_; + gchar* _tmp65_; + gchar* _tmp66_; + GFileInfo* _tmp67_; + gboolean _tmp68_; + GFileInfo* _tmp69_; + GFileType _tmp70_; + GeeHashMap* _tmp71_; + GeeHashMap* _tmp72_; + GeeHashMap* _tmp73_; + GFile* _tmp74_; + GFileInfo* _tmp75_; + const gchar* _tmp76_; + GFile* _tmp77_; + GFile* _tmp78_; + GFileInfo* _tmp79_; + GeeHashMap* _tmp80_; + GeeHashMap* _tmp81_; + GeeHashMap* _tmp82_; + GFile* _tmp83_; + GFileInfo* _tmp84_; + const gchar* _tmp85_; + GFile* _tmp86_; + GFile* _tmp87_; + GFileInfo* _tmp88_; + GError* err2; + GFile* _tmp89_; + gchar* _tmp90_; + gchar* _tmp91_; + GError* _tmp92_; + const gchar* _tmp93_; + gboolean _tmp94_; + gboolean _tmp95_; + GFile* _tmp96_; + GFileInfo* _tmp97_; + GFile* _tmp98_; + GFileInfo* _tmp99_; + GFile* _tmp100_; + GFileInfo* _tmp101_; + GeeHashMap* _tmp102_; + GeeHashMap* _tmp103_; + gboolean _tmp104_; + gboolean _tmp105_; + gboolean _tmp106_; + GeeHashMap* _tmp107_; + GeeIterator* _subdir_it; + GeeHashMap* _tmp108_; + GeeSet* _tmp109_; + GeeSet* _tmp110_; + GeeSet* _tmp111_; + GeeIterator* _tmp112_; + GeeIterator* _tmp113_; + GeeIterator* _tmp114_; + gboolean _tmp115_; + GFile* subdir; + GeeIterator* _tmp116_; + gpointer _tmp117_; + gint _tmp118_; + gint _tmp119_; + GFile* _tmp120_; + GeeHashMap* _tmp121_; + GFile* _tmp122_; + gpointer _tmp123_; + GFileInfo* _tmp124_; + gboolean _tmp125_; + GFile* _tmp126_; + GeeHashMap* _tmp127_; + GFile* _tmp128_; + gpointer _tmp129_; + GFileInfo* _tmp130_; + gboolean _tmp131_; + gboolean _tmp132_; + GError * _inner_error_; +}; + +struct _DirectoryMonitorNotifyDirectoryFilesData { + int _state_; + GObject* _source_object_; + GAsyncResult* _res_; + GSimpleAsyncResult* _async_result; + DirectoryMonitor* self; + GeeMap* map; + gboolean in_discovery; + GeeMapIterator* iter; + GeeMap* _tmp0_; + GeeMapIterator* _tmp1_; + GeeMapIterator* _tmp2_; + gboolean _tmp3_; + gboolean _tmp4_; + GeeMapIterator* _tmp5_; + gpointer _tmp6_; + GFile* _tmp7_; + GeeMapIterator* _tmp8_; + gpointer _tmp9_; + GFileInfo* _tmp10_; + GeeMapIterator* _tmp11_; + gpointer _tmp12_; + GFile* _tmp13_; + GeeMapIterator* _tmp14_; + gpointer _tmp15_; + GFileInfo* _tmp16_; +}; + +struct _DirectoryMonitorQueryInfoQueueElement { + GTypeInstance parent_instance; + volatile int ref_count; + DirectoryMonitorQueryInfoQueueElementPrivate * priv; + DirectoryMonitor* owner; + GFile* file; + GFile* other_file; + GFileMonitorEvent event; + guint position; + gulong time_created_msec; + GFileInfo* info; + GError* err; + gboolean completed; +}; + +struct _DirectoryMonitorQueryInfoQueueElementClass { + GTypeClass parent_class; + void (*finalize) (DirectoryMonitorQueryInfoQueueElement *self); +}; + +struct _DirectoryMonitorParamSpecQueryInfoQueueElement { + GParamSpec parent_instance; +}; + +struct _DirectoryMonitorFileInfoMap { + GTypeInstance parent_instance; + volatile int ref_count; + DirectoryMonitorFileInfoMapPrivate * priv; +}; + +struct _DirectoryMonitorFileInfoMapClass { + GTypeClass parent_class; + void (*finalize) (DirectoryMonitorFileInfoMap *self); +}; + +struct _DirectoryMonitorFileInfoMapPrivate { + GeeHashMap* map; + GeeHashMap* id_map; +}; + +struct _DirectoryMonitorParamSpecFileInfoMap { + GParamSpec parent_instance; +}; + + +static gpointer directory_monitor_parent_class = NULL; +static gpointer directory_monitor_query_info_queue_element_parent_class = NULL; +static guint directory_monitor_query_info_queue_element_current; +static guint directory_monitor_query_info_queue_element_current = (guint) 0; +static gpointer directory_monitor_file_info_map_parent_class = NULL; + +GType directory_monitor_get_type (void) G_GNUC_CONST; +static gpointer directory_monitor_query_info_queue_element_ref (gpointer instance); +static void directory_monitor_query_info_queue_element_unref (gpointer instance); +static GParamSpec* directory_monitor_param_spec_query_info_queue_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void directory_monitor_value_set_query_info_queue_element (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void directory_monitor_value_take_query_info_queue_element (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer directory_monitor_value_get_query_info_queue_element (const GValue* value) G_GNUC_UNUSED; +static GType directory_monitor_query_info_queue_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static gpointer directory_monitor_file_info_map_ref (gpointer instance); +static void directory_monitor_file_info_map_unref (gpointer instance); +static GParamSpec* directory_monitor_param_spec_file_info_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void directory_monitor_value_set_file_info_map (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void directory_monitor_value_take_file_info_map (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer directory_monitor_value_get_file_info_map (const GValue* value) G_GNUC_UNUSED; +static GType directory_monitor_file_info_map_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define DIRECTORY_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DIRECTORY_MONITOR, DirectoryMonitorPrivate)) +enum { + DIRECTORY_MONITOR_DUMMY_PROPERTY +}; +static GType directory_monitor_ftype_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static DirectoryMonitorFileInfoMap* directory_monitor_file_info_map_new (void); +static DirectoryMonitorFileInfoMap* directory_monitor_file_info_map_construct (GType object_type); +#define DIRECTORY_MONITOR_DEFAULT_PRIORITY G_PRIORITY_LOW +#define DIRECTORY_MONITOR_DIR_INFO_FLAGS G_FILE_QUERY_INFO_NONE +#define DIRECTORY_MONITOR_FILE_INFO_FLAGS G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS +#define DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS G_FILE_QUERY_INFO_NONE +#define DIRECTORY_MONITOR_SUPPORT_DIR_SYMLINKS TRUE +#define DIRECTORY_MONITOR_SUPPORT_FILE_SYMLINKS FALSE +#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" +#define DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES UTIL_FILE_ATTRIBUTES +#define DIRECTORY_MONITOR_FILE_MONITOR_FLAGS G_FILE_MONITOR_SEND_MOVED +#define DIRECTORY_MONITOR_DELETED_EXPIRATION_MSEC ((guint) 500) +#define DIRECTORY_MONITOR_MAX_EXPLORATION_DIRS 5 +DirectoryMonitor* directory_monitor_new (GFile* root, gboolean recurse, gboolean monitoring); +DirectoryMonitor* directory_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring); +void directory_monitor_mdbg (const gchar* msg); +gboolean directory_monitor_is_recursive (DirectoryMonitor* self); +gboolean directory_monitor_is_monitoring (DirectoryMonitor* self); +void directory_monitor_notify_root_deleted (DirectoryMonitor* self, GFile* root); +static void directory_monitor_real_notify_root_deleted (DirectoryMonitor* self, GFile* root); +static void directory_monitor_internal_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); +static gboolean directory_monitor_file_info_map_remove (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info); +static gboolean directory_monitor_file_info_map_update (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info); +void directory_monitor_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); +static void directory_monitor_real_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); +void directory_monitor_notify_discovery_started (DirectoryMonitor* self); +static void directory_monitor_real_notify_discovery_started (DirectoryMonitor* self); +void directory_monitor_internal_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static void directory_monitor_real_internal_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); +void directory_monitor_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static void directory_monitor_real_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); +void directory_monitor_internal_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static void directory_monitor_real_internal_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +void directory_monitor_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static void directory_monitor_real_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +void directory_monitor_notify_discovery_failed (DirectoryMonitor* self, const gchar* reason); +static void directory_monitor_real_notify_discovery_failed (DirectoryMonitor* self, const gchar* reason); +void directory_monitor_notify_discovery_completed (DirectoryMonitor* self); +static void directory_monitor_real_notify_discovery_completed (DirectoryMonitor* self); +static void directory_monitor_internal_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static gboolean directory_monitor_is_file_create_move (DirectoryMonitor* self, GFile* file, GFileInfo* info, GFile** old_file, GFileInfo** old_file_info); +static void directory_monitor_internal_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +void directory_monitor_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static void directory_monitor_real_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); +void directory_monitor_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +static void directory_monitor_real_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +void directory_monitor_notify_file_altered (DirectoryMonitor* self, GFile* file); +static void directory_monitor_real_notify_file_altered (DirectoryMonitor* self, GFile* file); +static void directory_monitor_internal_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); +void directory_monitor_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static void directory_monitor_real_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); +void directory_monitor_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file); +static void directory_monitor_real_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file); +static void directory_monitor_internal_notify_file_deleted (DirectoryMonitor* self, GFile* file); +void directory_monitor_notify_file_deleted (DirectoryMonitor* self, GFile* file); +static void directory_monitor_real_notify_file_deleted (DirectoryMonitor* self, GFile* file); +static void directory_monitor_internal_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static void directory_monitor_file_info_map_remove_descendents (DirectoryMonitorFileInfoMap* self, GFile* root, DirectoryMonitorFileInfoMap* descendents); +static void directory_monitor_internal_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFileInfo* old_dir_info, GFile* new_dir, GFileInfo* new_dir_info); +void directory_monitor_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static void directory_monitor_real_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static void directory_monitor_async_internal_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFileInfo* old_dir_info, GFile* new_dir, GFileInfo* new_dir_info, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void directory_monitor_async_internal_notify_directory_moved_finish (DirectoryMonitor* self, GAsyncResult* _res_); +static void directory_monitor_async_internal_notify_directory_moved_data_free (gpointer _data); +static gboolean directory_monitor_async_internal_notify_directory_moved_co (DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +static gint directory_monitor_file_info_map_get_children (DirectoryMonitorFileInfoMap* self, GFile* root, GeeCollection* files, GeeCollection* dirs); +static GFileInfo* directory_monitor_file_info_map_get_info (DirectoryMonitorFileInfoMap* self, GFile* file); +static void directory_monitor_async_internal_notify_directory_moved_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); +static gboolean _directory_monitor_async_internal_notify_directory_moved_co_gsource_func (gpointer self); +static gboolean directory_monitor_remove_monitor (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static gboolean directory_monitor_add_monitor (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +void directory_monitor_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); +static void directory_monitor_real_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); +void directory_monitor_notify_directory_altered (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_real_notify_directory_altered (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_internal_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +void directory_monitor_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static void directory_monitor_real_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +void directory_monitor_notify_directory_attributes_altered (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_real_notify_directory_attributes_altered (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_internal_notify_directory_deleted (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_async_notify_directory_deleted (DirectoryMonitor* self, GFile* dir, gboolean already_removed, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void directory_monitor_async_notify_directory_deleted_finish (DirectoryMonitor* self, GAsyncResult* _res_); +static void directory_monitor_async_notify_directory_deleted_data_free (gpointer _data); +static gboolean directory_monitor_async_notify_directory_deleted_co (DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_); +static void directory_monitor_async_notify_directory_deleted_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); +static gboolean _directory_monitor_async_notify_directory_deleted_co_gsource_func (gpointer self); +void directory_monitor_notify_directory_deleted (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_real_notify_directory_deleted (DirectoryMonitor* self, GFile* dir); +void directory_monitor_notify_closed (DirectoryMonitor* self); +static void directory_monitor_real_notify_closed (DirectoryMonitor* self); +GFile* directory_monitor_get_root (DirectoryMonitor* self); +gboolean directory_monitor_is_in_root (DirectoryMonitor* self, GFile* file); +gboolean directory_monitor_has_started (DirectoryMonitor* self); +void directory_monitor_start_discovery (DirectoryMonitor* self); +static void directory_monitor_explore_async (DirectoryMonitor* self, GFile* dir, GFileInfo* dir_info, gboolean in_discovery, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void directory_monitor_explore_finish (DirectoryMonitor* self, GAsyncResult* _res_); +void directory_monitor_close (DirectoryMonitor* self); +static void directory_monitor_real_close (DirectoryMonitor* self); +static void directory_monitor_cancel_monitor (DirectoryMonitor* self, GFileMonitor* monitor); +static DirectoryMonitorFType directory_monitor_get_ftype (GFileInfo* info); +const gchar* g_file_type_to_string (GFileType self); +static void directory_monitor_explore_async_data_free (gpointer _data); +static gboolean directory_monitor_explore_async_co (DirectoryMonitorExploreAsyncData* _data_); +static gboolean directory_monitor_file_info_map_contains (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info); +static void directory_monitor_explore_directory_completed (DirectoryMonitor* self, gboolean in_discovery); +static void directory_monitor_explore_async_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); +gchar* get_file_info_id (GFileInfo* info); +static void _g_object_unref0_ (gpointer var); +static void _g_list_free__g_object_unref0_ (GList* self); +gboolean directory_monitor_is_file_symlink_supported (GFileInfo* info); +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +static void directory_monitor_notify_directory_files (DirectoryMonitor* self, GeeMap* map, gboolean in_discovery, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void directory_monitor_notify_directory_files_finish (DirectoryMonitor* self, GAsyncResult* _res_); +static void directory_monitor_notify_directory_files_data_free (gpointer _data); +static gboolean directory_monitor_notify_directory_files_co (DirectoryMonitorNotifyDirectoryFilesData* _data_); +static gboolean _directory_monitor_notify_directory_files_co_gsource_func (gpointer self); +static gchar* directory_monitor_file_info_map_get_id (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info); +static void directory_monitor_on_monitor_notification (DirectoryMonitor* self, GFile* file, GFile* other_file, GFileMonitorEvent event); +static void _directory_monitor_on_monitor_notification_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self); +const gchar* g_file_monitor_event_to_string (GFileMonitorEvent self); +static DirectoryMonitorQueryInfoQueueElement* directory_monitor_query_info_queue_element_new (DirectoryMonitor* owner, GFile* file, GFile* other_file, GFileMonitorEvent event); +static DirectoryMonitorQueryInfoQueueElement* directory_monitor_query_info_queue_element_construct (GType object_type, DirectoryMonitor* owner, GFile* file, GFile* other_file, GFileMonitorEvent event); +static void directory_monitor_query_info_queue_element_on_completed (DirectoryMonitorQueryInfoQueueElement* self, GObject* source, GAsyncResult* aresult); +static void _directory_monitor_query_info_queue_element_on_completed_gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self); +static gboolean directory_monitor_check_for_expired_delete_events (DirectoryMonitor* self); +static gboolean _directory_monitor_check_for_expired_delete_events_gsource_func (gpointer self); +static void directory_monitor_process_query_queue (DirectoryMonitor* self, DirectoryMonitorQueryInfoQueueElement* query_info); +static GFile* directory_monitor_file_info_map_find_match (DirectoryMonitorFileInfoMap* self, GFileInfo* match); +static void directory_monitor_on_monitor_notification_ready (DirectoryMonitor* self, GFile* file, GFile* other_file, GFileInfo* info, GFileMonitorEvent event); +GFileInfo* directory_monitor_get_file_info (DirectoryMonitor* self, GFile* file); +gulong now_ms (void); +GeeCollection* directory_monitor_get_files (DirectoryMonitor* self); +static GeeCollection* directory_monitor_file_info_map_get_all (DirectoryMonitorFileInfoMap* self); +GFileInfo* directory_monitor_query_file_info (DirectoryMonitor* self, GFile* file); +static GFileInfo* directory_monitor_file_info_map_query_info (DirectoryMonitorFileInfoMap* self, GFile* file, GCancellable* cancellable); +static void directory_monitor_real_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void directory_monitor_real_root_deleted (DirectoryMonitor* self, GFile* root); +static void directory_monitor_real_discovery_started (DirectoryMonitor* self); +static void directory_monitor_real_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void directory_monitor_real_directory_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static void directory_monitor_real_discovery_failed (DirectoryMonitor* self, const gchar* reason); +static void directory_monitor_real_discovery_completed (DirectoryMonitor* self); +static void directory_monitor_real_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static void directory_monitor_real_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +static void directory_monitor_real_file_altered (DirectoryMonitor* self, GFile* file); +static void directory_monitor_real_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); +static void directory_monitor_real_file_attributes_altered (DirectoryMonitor* self, GFile* file); +static void directory_monitor_real_file_deleted (DirectoryMonitor* self, GFile* file); +static void directory_monitor_real_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static void directory_monitor_real_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); +static void directory_monitor_real_directory_altered (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_real_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info); +static void directory_monitor_real_directory_attributes_altered (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_real_directory_deleted (DirectoryMonitor* self, GFile* dir); +static void directory_monitor_real_closed (DirectoryMonitor* self); +enum { + DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT_DUMMY_PROPERTY +}; +static void directory_monitor_query_info_queue_element_finalize (DirectoryMonitorQueryInfoQueueElement* obj); +#define DIRECTORY_MONITOR_FILE_INFO_MAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMapPrivate)) +enum { + DIRECTORY_MONITOR_FILE_INFO_MAP_DUMMY_PROPERTY +}; +static gboolean directory_monitor_file_info_map_normalize_file (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info, GFile** normalized, gchar** id); +static void directory_monitor_file_info_map_remove_all (DirectoryMonitorFileInfoMap* self, GeeCollection* files); +static void directory_monitor_file_info_map_finalize (DirectoryMonitorFileInfoMap* obj); +static void directory_monitor_finalize (GObject* obj); + + +static GType directory_monitor_ftype_get_type (void) { + static volatile gsize directory_monitor_ftype_type_id__volatile = 0; + if (g_once_init_enter (&directory_monitor_ftype_type_id__volatile)) { + static const GEnumValue values[] = {{DIRECTORY_MONITOR_FTYPE_FILE, "DIRECTORY_MONITOR_FTYPE_FILE", "file"}, {DIRECTORY_MONITOR_FTYPE_DIRECTORY, "DIRECTORY_MONITOR_FTYPE_DIRECTORY", "directory"}, {DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "DIRECTORY_MONITOR_FTYPE_UNSUPPORTED", "unsupported"}, {0, NULL, NULL}}; + GType directory_monitor_ftype_type_id; + directory_monitor_ftype_type_id = g_enum_register_static ("DirectoryMonitorFType", values); + g_once_init_leave (&directory_monitor_ftype_type_id__volatile, directory_monitor_ftype_type_id); + } + return directory_monitor_ftype_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 459 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return self ? g_object_ref (self) : NULL; +#line 802 "DirectoryMonitor.c" +} + + +DirectoryMonitor* directory_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring) { + DirectoryMonitor * self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 458 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (root), NULL); +#line 458 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self = (DirectoryMonitor*) g_object_new (object_type, NULL); +#line 459 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = root; +#line 459 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 459 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->priv->root); +#line 459 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->root = _tmp1_; +#line 460 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = recurse; +#line 460 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->recurse = _tmp2_; +#line 461 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = monitoring; +#line 461 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->monitoring = _tmp3_; +#line 458 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return self; +#line 834 "DirectoryMonitor.c" +} + + +DirectoryMonitor* directory_monitor_new (GFile* root, gboolean recurse, gboolean monitoring) { +#line 458 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return directory_monitor_construct (TYPE_DIRECTORY_MONITOR, root, recurse, monitoring); +#line 841 "DirectoryMonitor.c" +} + + +void directory_monitor_mdbg (const gchar* msg) { +#line 464 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (msg != NULL); +#line 848 "DirectoryMonitor.c" +} + + +gboolean directory_monitor_is_recursive (DirectoryMonitor* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 470 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); +#line 471 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->recurse; +#line 471 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp0_; +#line 471 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 863 "DirectoryMonitor.c" +} + + +gboolean directory_monitor_is_monitoring (DirectoryMonitor* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 474 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); +#line 475 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->monitoring; +#line 475 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp0_; +#line 475 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 878 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_root_deleted (DirectoryMonitor* self, GFile* root) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GFile* _tmp3_ = NULL; +#line 478 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (root)); +#line 479 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->root; +#line 479 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = root; +#line 479 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = g_file_equal (_tmp0_, _tmp1_); +#line 479 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp2_, "this.root.equal(root)"); +#line 481 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg ("root deleted"); +#line 482 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = root; +#line 482 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "root-deleted", _tmp3_); +#line 903 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_root_deleted (DirectoryMonitor* self, GFile* root) { +#line 478 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 478 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_root_deleted (self, root); +#line 912 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info) { + gboolean removed = FALSE; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean updated = FALSE; + DirectoryMonitorFileInfoMap* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFileInfo* _tmp11_ = NULL; +#line 485 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 485 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_root)); +#line 485 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_root)); +#line 485 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_root_info)); +#line 486 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 486 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = old_root; +#line 486 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = directory_monitor_file_info_map_remove (_tmp0_, _tmp1_, NULL); +#line 486 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + removed = _tmp2_; +#line 487 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (removed, "removed"); +#line 489 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = self->priv->files; +#line 489 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = new_root; +#line 489 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = new_root_info; +#line 489 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = directory_monitor_file_info_map_update (_tmp3_, _tmp4_, _tmp5_); +#line 489 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + updated = _tmp6_; +#line 490 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (updated, "updated"); +#line 492 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = new_root; +#line 492 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 492 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->priv->root); +#line 492 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->root = _tmp8_; +#line 494 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = old_root; +#line 494 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = new_root; +#line 494 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = new_root_info; +#line 494 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_root_moved (self, _tmp9_, _tmp10_, _tmp11_); +#line 977 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFileInfo* _tmp13_ = NULL; +#line 497 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_root)); +#line 497 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_root)); +#line 497 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_root_info)); +#line 498 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->root; +#line 498 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = old_root; +#line 498 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = g_file_equal (_tmp0_, _tmp1_); +#line 498 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp2_, "this.root.equal(old_root)"); +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = old_root; +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _tmp4_; +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = new_root; +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = _tmp7_; +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = g_strdup_printf ("root moved: %s -> %s", _tmp5_, _tmp8_); +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = _tmp9_; +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp10_); +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp10_); +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp8_); +#line 500 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp5_); +#line 501 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = old_root; +#line 501 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = new_root; +#line 501 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = new_root_info; +#line 501 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "root-moved", _tmp11_, _tmp12_, _tmp13_); +#line 1042 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info) { +#line 497 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 497 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_root_moved (self, old_root, new_root, new_root_info); +#line 1051 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_discovery_started (DirectoryMonitor* self) { +#line 505 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg ("discovery started"); +#line 506 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "discovery-started"); +#line 1060 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_discovery_started (DirectoryMonitor* self) { +#line 504 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 504 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_discovery_started (self); +#line 1069 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_internal_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GFile* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; +#line 509 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 509 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 510 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 510 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = file; +#line 510 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = info; +#line 510 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = directory_monitor_file_info_map_update (_tmp0_, _tmp1_, _tmp2_); +#line 510 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp3_) { +#line 1094 "DirectoryMonitor.c" + GFile* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 511 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = file; +#line 511 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = g_file_get_path (_tmp4_); +#line 511 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = _tmp5_; +#line 511 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_debug ("DirectoryMonitor.vala:511: DirectoryMonitor.internal_notify_file_disco" \ +"vered: %s discovered but not added to file map", _tmp6_); +#line 511 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp6_); +#line 514 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return; +#line 1110 "DirectoryMonitor.c" + } +#line 517 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = file; +#line 517 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = info; +#line 517 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_file_discovered (self, _tmp7_, _tmp8_); +#line 1118 "DirectoryMonitor.c" +} + + +void directory_monitor_internal_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { +#line 509 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 509 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->internal_notify_file_discovered (self, file, info); +#line 1127 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 520 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 521 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 521 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 521 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 521 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("file discovered: %s", _tmp2_); +#line 521 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 521 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 521 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 521 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 522 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = file; +#line 522 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = info; +#line 522 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "file-discovered", _tmp5_, _tmp6_); +#line 1165 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { +#line 520 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 520 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_discovered (self, file, info); +#line 1174 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_internal_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { + gboolean updated = FALSE; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GFile* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 525 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = dir; +#line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = info; +#line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = directory_monitor_file_info_map_update (_tmp0_, _tmp1_, _tmp2_); +#line 526 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + updated = _tmp3_; +#line 527 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (updated, "updated"); +#line 529 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = dir; +#line 529 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = info; +#line 529 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_discovered (self, _tmp4_, _tmp5_); +#line 1208 "DirectoryMonitor.c" +} + + +void directory_monitor_internal_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { +#line 525 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 525 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->internal_notify_directory_discovered (self, dir, info); +#line 1217 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 532 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = dir; +#line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("directory discovered: %s", _tmp2_); +#line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 533 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 534 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = dir; +#line 534 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = info; +#line 534 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "directory-discovered", _tmp5_, _tmp6_); +#line 1255 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_directory_discovered (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { +#line 532 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 532 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_discovered (self, dir, info); +#line 1264 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_discovery_failed (DirectoryMonitor* self, const gchar* reason) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 537 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (reason != NULL); +#line 538 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = reason; +#line 538 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:538: discovery failed: %s", _tmp0_); +#line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = reason; +#line 539 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "discovery-failed", _tmp1_); +#line 1281 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_discovery_failed (DirectoryMonitor* self, const gchar* reason) { +#line 537 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 537 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_discovery_failed (self, reason); +#line 1290 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_discovery_completed (DirectoryMonitor* self) { +#line 543 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "discovery-completed"); +#line 1297 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_discovery_completed (DirectoryMonitor* self) { +#line 542 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 542 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_discovery_completed (self); +#line 1306 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info) { + GFile* old_file = NULL; + GFileInfo* old_file_info = NULL; + GFile* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 546 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 546 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 546 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = info; +#line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = directory_monitor_is_file_create_move (self, _tmp0_, _tmp1_, &_tmp2_, &_tmp3_); +#line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_file); +#line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old_file = _tmp2_; +#line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_file_info); +#line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old_file_info = _tmp3_; +#line 549 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp4_) { +#line 1340 "DirectoryMonitor.c" + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = old_file; +#line 550 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = file; +#line 550 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = info; +#line 550 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_file_moved (self, _tmp5_, _tmp6_, _tmp7_); +#line 1352 "DirectoryMonitor.c" + } else { + gboolean updated = FALSE; + DirectoryMonitorFileInfoMap* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFileInfo* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + GFile* _tmp13_ = NULL; + GFileInfo* _tmp14_ = NULL; +#line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = self->priv->files; +#line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = file; +#line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = info; +#line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = directory_monitor_file_info_map_update (_tmp8_, _tmp9_, _tmp10_); +#line 552 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + updated = _tmp11_; +#line 553 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = updated; +#line 553 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp12_, "updated"); +#line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = file; +#line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = info; +#line 555 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_file_created (self, _tmp13_, _tmp14_); +#line 1382 "DirectoryMonitor.c" + } +#line 546 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_file_info); +#line 546 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_file); +#line 1388 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 559 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 560 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 560 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 560 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 560 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("file created: %s", _tmp2_); +#line 560 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 560 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 560 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 560 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 561 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = file; +#line 561 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = info; +#line 561 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "file-created", _tmp5_, _tmp6_); +#line 1426 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info) { +#line 559 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 559 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_created (self, file, info); +#line 1435 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean updated = FALSE; + DirectoryMonitorFileInfoMap* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; +#line 564 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 564 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 564 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 564 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_file_info)); +#line 567 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 567 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = old_file; +#line 567 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_remove (_tmp0_, _tmp1_, NULL); +#line 569 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = self->priv->files; +#line 569 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = new_file; +#line 569 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = new_file_info; +#line 569 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = directory_monitor_file_info_map_update (_tmp2_, _tmp3_, _tmp4_); +#line 569 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + updated = _tmp5_; +#line 570 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (updated, "updated"); +#line 572 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = old_file; +#line 572 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = new_file; +#line 572 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = new_file_info; +#line 572 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_file_moved (self, _tmp6_, _tmp7_, _tmp8_); +#line 1484 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFileInfo* _tmp10_ = NULL; +#line 575 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 575 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 575 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_file_info)); +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = old_file; +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = new_file; +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _tmp4_; +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = g_strdup_printf ("file moved: %s -> %s", _tmp2_, _tmp5_); +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = _tmp6_; +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp7_); +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp7_); +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp5_); +#line 576 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 577 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = old_file; +#line 577 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = new_file; +#line 577 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = new_file_info; +#line 577 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "file-moved", _tmp8_, _tmp9_, _tmp10_); +#line 1538 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { +#line 575 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 575 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_moved (self, old_file, new_file, new_file_info); +#line 1547 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_file_altered (DirectoryMonitor* self, GFile* file) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 580 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("file altered: %s", _tmp2_); +#line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 581 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = file; +#line 582 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "file-altered", _tmp5_); +#line 1580 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_file_altered (DirectoryMonitor* self, GFile* file) { +#line 580 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 580 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_altered (self, file); +#line 1589 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info) { + gboolean updated = FALSE; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GFile* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 585 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 585 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 586 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 586 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = file; +#line 586 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = info; +#line 586 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = directory_monitor_file_info_map_update (_tmp0_, _tmp1_, _tmp2_); +#line 586 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + updated = _tmp3_; +#line 587 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (updated, "updated"); +#line 589 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = file; +#line 589 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = info; +#line 589 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_file_alteration_completed (self, _tmp4_, _tmp5_); +#line 1625 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 592 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 592 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("file alteration completed: %s", _tmp2_); +#line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 593 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 594 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = file; +#line 594 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = info; +#line 594 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "file-alteration-completed", _tmp5_, _tmp6_); +#line 1663 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info) { +#line 592 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 592 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_alteration_completed (self, file, info); +#line 1672 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 597 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("file attributes altered: %s", _tmp2_); +#line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 598 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = file; +#line 599 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "file-attributes-altered", _tmp5_); +#line 1705 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file) { +#line 597 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 597 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_attributes_altered (self, file); +#line 1714 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_file_deleted (DirectoryMonitor* self, GFile* file) { + gboolean removed = FALSE; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GFile* _tmp3_ = NULL; +#line 602 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 602 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 603 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 603 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = file; +#line 603 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = directory_monitor_file_info_map_remove (_tmp0_, _tmp1_, NULL); +#line 603 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + removed = _tmp2_; +#line 604 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (removed, "removed"); +#line 606 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = file; +#line 606 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_file_deleted (self, _tmp3_); +#line 1742 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_file_deleted (DirectoryMonitor* self, GFile* file) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 609 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("file deleted: %s", _tmp2_); +#line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 610 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 611 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = file; +#line 611 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "file-deleted", _tmp5_); +#line 1775 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_file_deleted (DirectoryMonitor* self, GFile* file) { +#line 609 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 609 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_file_deleted (self, file); +#line 1784 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { + GFile* old_dir = NULL; + GFileInfo* old_dir_info = NULL; + GFile* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 614 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 614 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 614 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = dir; +#line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = info; +#line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = directory_monitor_is_file_create_move (self, _tmp0_, _tmp1_, &_tmp2_, &_tmp3_); +#line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_dir); +#line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old_dir = _tmp2_; +#line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_dir_info); +#line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old_dir_info = _tmp3_; +#line 617 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp4_) { +#line 1818 "DirectoryMonitor.c" + DirectoryMonitorFileInfoMap* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + DirectoryMonitorFileInfoMap* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFileInfo* _tmp11_ = NULL; +#line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = self->priv->files; +#line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = old_dir; +#line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = self->priv->parent_moved; +#line 623 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_remove_descendents (_tmp5_, _tmp6_, _tmp7_); +#line 625 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = old_dir; +#line 625 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = old_dir_info; +#line 625 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = dir; +#line 625 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = info; +#line 625 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_directory_moved (self, _tmp8_, _tmp9_, _tmp10_, _tmp11_); +#line 1844 "DirectoryMonitor.c" + } else { + gboolean updated = FALSE; + DirectoryMonitorFileInfoMap* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFileInfo* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + GFile* _tmp17_ = NULL; + GFileInfo* _tmp18_ = NULL; +#line 627 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = self->priv->files; +#line 627 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = dir; +#line 627 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = info; +#line 627 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = directory_monitor_file_info_map_update (_tmp12_, _tmp13_, _tmp14_); +#line 627 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + updated = _tmp15_; +#line 628 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = updated; +#line 628 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp16_, "updated"); +#line 630 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = dir; +#line 630 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = info; +#line 630 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_created (self, _tmp17_, _tmp18_); +#line 1874 "DirectoryMonitor.c" + } +#line 614 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_dir_info); +#line 614 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_dir); +#line 1880 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 634 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 634 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 635 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = dir; +#line 635 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 635 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 635 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("directory created: %s", _tmp2_); +#line 635 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 635 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 635 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 635 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 636 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = dir; +#line 636 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = info; +#line 636 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "directory-created", _tmp5_, _tmp6_); +#line 1918 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { +#line 634 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 634 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_created (self, dir, info); +#line 1927 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFileInfo* old_dir_info, GFile* new_dir, GFileInfo* new_dir_info) { + GFile* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; +#line 639 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 639 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_dir)); +#line 639 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (old_dir_info)); +#line 639 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_dir)); +#line 639 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_dir_info)); +#line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = old_dir; +#line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = old_dir_info; +#line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = new_dir; +#line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = new_dir_info; +#line 641 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_internal_notify_directory_moved (self, _tmp0_, _tmp1_, _tmp2_, _tmp3_, NULL, NULL); +#line 1956 "DirectoryMonitor.c" +} + + +static void directory_monitor_async_internal_notify_directory_moved_data_free (gpointer _data) { + DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_; + _data_ = _data; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->old_dir); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->old_dir_info); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->new_dir); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->new_dir_info); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->self); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_slice_free (DirectoryMonitorAsyncInternalNotifyDirectoryMovedData, _data_); +#line 1975 "DirectoryMonitor.c" +} + + +static void directory_monitor_async_internal_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFileInfo* old_dir_info, GFile* new_dir, GFileInfo* new_dir_info, GAsyncReadyCallback _callback_, gpointer _user_data_) { + DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_; + DirectoryMonitor* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = g_slice_new0 (DirectoryMonitorAsyncInternalNotifyDirectoryMovedData); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, directory_monitor_async_internal_notify_directory_moved); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, directory_monitor_async_internal_notify_directory_moved_data_free); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _g_object_ref0 (self); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->self = _tmp0_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = old_dir; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->old_dir); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->old_dir = _tmp2_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = old_dir_info; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->old_dir_info); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->old_dir_info = _tmp4_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = new_dir; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->new_dir); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->new_dir = _tmp6_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = new_dir_info; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->new_dir_info); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->new_dir_info = _tmp8_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_internal_notify_directory_moved_co (_data_); +#line 2034 "DirectoryMonitor.c" +} + + +static void directory_monitor_async_internal_notify_directory_moved_finish (DirectoryMonitor* self, GAsyncResult* _res_) { + DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); +#line 2042 "DirectoryMonitor.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 646 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 2051 "DirectoryMonitor.c" +} + + +static void directory_monitor_async_internal_notify_directory_moved_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { + DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = _user_data_; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_source_object_ = source_object; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_res_ = _res_; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_internal_notify_directory_moved_co (_data_); +#line 2065 "DirectoryMonitor.c" +} + + +static gboolean _directory_monitor_async_internal_notify_directory_moved_co_gsource_func (gpointer self) { + gboolean result; + result = directory_monitor_async_internal_notify_directory_moved_co (self); +#line 677 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 2074 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_async_internal_notify_directory_moved_co (DirectoryMonitorAsyncInternalNotifyDirectoryMovedData* _data_) { +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_data_->_state_) { +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 0: +#line 2083 "DirectoryMonitor.c" + goto _state_0; +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 1: +#line 2087 "DirectoryMonitor.c" + goto _state_1; +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 2: +#line 2091 "DirectoryMonitor.c" + goto _state_2; + default: +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_assert_not_reached (); +#line 2096 "DirectoryMonitor.c" + } + _state_0: +#line 646 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp0_ = NULL; +#line 646 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp0_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); +#line 646 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->file_children = _data_->_tmp0_; +#line 647 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp1_ = NULL; +#line 647 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp1_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); +#line 647 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir_children = _data_->_tmp1_; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp2_ = NULL; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp2_ = _data_->self->priv->files; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp3_ = NULL; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp3_ = _data_->old_dir; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp4_ = NULL; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp4_ = _data_->file_children; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp5_ = NULL; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp5_ = _data_->dir_children; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp6_ = 0; +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp6_ = directory_monitor_file_info_map_get_children (_data_->_tmp2_, _data_->_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp4_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 648 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->count = _data_->_tmp6_; +#line 649 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp7_ = 0; +#line 649 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp7_ = _data_->count; +#line 649 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp7_ > 0) { +#line 2139 "DirectoryMonitor.c" + { +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp8_ = NULL; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp8_ = _data_->dir_children; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp9_ = NULL; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp9_ = _g_object_ref0 (_data_->_tmp8_); +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_dir_child_list = _data_->_tmp9_; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp10_ = NULL; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp10_ = _data_->_dir_child_list; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp11_ = 0; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp11_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp12_ = 0; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp12_ = _data_->_tmp11_; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_dir_child_size = _data_->_tmp12_; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_dir_child_index = -1; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp13_ = 0; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp13_ = _data_->_dir_child_index; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_dir_child_index = _data_->_tmp13_ + 1; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp14_ = 0; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp14_ = _data_->_dir_child_index; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp15_ = 0; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp15_ = _data_->_dir_child_size; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!(_data_->_tmp14_ < _data_->_tmp15_)) { +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 2187 "DirectoryMonitor.c" + } +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp16_ = NULL; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp16_ = _data_->_dir_child_list; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp17_ = 0; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp17_ = _data_->_dir_child_index; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp18_ = NULL; +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp18_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp16_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _data_->_tmp17_); +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir_child = (GFile*) _data_->_tmp18_; +#line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp19_ = NULL; +#line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp19_ = _data_->self->priv->files; +#line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp20_ = NULL; +#line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp20_ = _data_->dir_child; +#line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp21_ = NULL; +#line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp21_ = directory_monitor_file_info_map_get_info (_data_->_tmp19_, _data_->_tmp20_); +#line 654 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir_info = _data_->_tmp21_; +#line 655 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp22_ = NULL; +#line 655 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp22_ = _data_->dir_info; +#line 655 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp22_ == NULL) { +#line 656 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp23_ = NULL; +#line 656 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp23_ = _data_->dir_child; +#line 656 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp24_ = NULL; +#line 656 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp24_ = g_file_get_path (_data_->_tmp23_); +#line 656 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp25_ = NULL; +#line 656 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp25_ = _data_->_tmp24_; +#line 656 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:656: Unable to retrieve directory-moved info for" \ +" %s", _data_->_tmp25_); +#line 656 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp25_); +#line 658 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_info); +#line 658 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_child); +#line 658 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 2245 "DirectoryMonitor.c" + } +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp26_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp26_ = _data_->dir_child; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp27_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp27_ = _data_->dir_info; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp28_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp28_ = _data_->new_dir; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp29_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp29_ = _data_->dir_child; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp30_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp30_ = g_file_get_basename (_data_->_tmp29_); +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp31_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp31_ = _data_->_tmp30_; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp32_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp32_ = g_file_get_child (_data_->_tmp28_, _data_->_tmp31_); +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp33_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp33_ = _data_->_tmp32_; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp34_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp34_ = _data_->dir_info; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 1; +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_internal_notify_directory_moved (_data_->self, _data_->_tmp26_, _data_->_tmp27_, _data_->_tmp33_, _data_->_tmp34_, directory_monitor_async_internal_notify_directory_moved_ready, _data_); +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 2289 "DirectoryMonitor.c" + _state_1: +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_internal_notify_directory_moved_finish (_data_->self, _data_->_res_); +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp33_); +#line 661 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp31_); +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_info); +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_child); +#line 2301 "DirectoryMonitor.c" + } +#line 653 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_dir_child_list); +#line 2305 "DirectoryMonitor.c" + } + { +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp35_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp35_ = _data_->file_children; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp36_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp36_ = _g_object_ref0 (_data_->_tmp35_); +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_file_child_list = _data_->_tmp36_; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp37_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp37_ = _data_->_file_child_list; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp38_ = 0; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp38_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp39_ = 0; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp39_ = _data_->_tmp38_; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_file_child_size = _data_->_tmp39_; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_file_child_index = -1; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp40_ = 0; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp40_ = _data_->_file_child_index; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_file_child_index = _data_->_tmp40_ + 1; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp41_ = 0; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp41_ = _data_->_file_child_index; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp42_ = 0; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp42_ = _data_->_file_child_size; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!(_data_->_tmp41_ < _data_->_tmp42_)) { +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 2354 "DirectoryMonitor.c" + } +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp43_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp43_ = _data_->_file_child_list; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp44_ = 0; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp44_ = _data_->_file_child_index; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp45_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp45_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp43_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _data_->_tmp44_); +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->file_child = (GFile*) _data_->_tmp45_; +#line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp46_ = NULL; +#line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp46_ = _data_->self->priv->files; +#line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp47_ = NULL; +#line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp47_ = _data_->file_child; +#line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp48_ = NULL; +#line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp48_ = directory_monitor_file_info_map_get_info (_data_->_tmp46_, _data_->_tmp47_); +#line 667 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->file_info = _data_->_tmp48_; +#line 668 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp49_ = NULL; +#line 668 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp49_ = _data_->file_info; +#line 668 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp49_ == NULL) { +#line 669 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp50_ = NULL; +#line 669 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp50_ = _data_->file_child; +#line 669 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp51_ = NULL; +#line 669 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp51_ = g_file_get_path (_data_->_tmp50_); +#line 669 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp52_ = NULL; +#line 669 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp52_ = _data_->_tmp51_; +#line 669 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:669: Unable to retrieve directory-moved info for" \ +" %s", _data_->_tmp52_); +#line 669 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp52_); +#line 671 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_info); +#line 671 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_child); +#line 671 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 2412 "DirectoryMonitor.c" + } +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp53_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp53_ = _data_->file_child; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp54_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp54_ = _data_->new_dir; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp55_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp55_ = _data_->file_child; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp56_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp56_ = g_file_get_basename (_data_->_tmp55_); +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp57_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp57_ = _data_->_tmp56_; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp58_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp58_ = g_file_get_child (_data_->_tmp54_, _data_->_tmp57_); +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp59_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp59_ = _data_->_tmp58_; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp60_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp60_ = _data_->file_info; +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_file_moved (_data_->self, _data_->_tmp53_, _data_->_tmp59_, _data_->_tmp60_); +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp59_); +#line 674 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp57_); +#line 677 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_idle_add_full (DIRECTORY_MONITOR_DEFAULT_PRIORITY, _directory_monitor_async_internal_notify_directory_moved_co_gsource_func, _data_, NULL); +#line 678 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 2; +#line 678 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 2458 "DirectoryMonitor.c" + _state_2: + ; +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_info); +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_child); +#line 2465 "DirectoryMonitor.c" + } +#line 666 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_file_child_list); +#line 2469 "DirectoryMonitor.c" + } + } +#line 684 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp61_ = NULL; +#line 684 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp61_ = _data_->self->priv->files; +#line 684 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp62_ = NULL; +#line 684 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp62_ = _data_->old_dir; +#line 684 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_remove (_data_->_tmp61_, _data_->_tmp62_, NULL); +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp63_ = NULL; +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp63_ = _data_->self->priv->files; +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp64_ = NULL; +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp64_ = _data_->new_dir; +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp65_ = NULL; +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp65_ = _data_->new_dir_info; +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp66_ = FALSE; +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp66_ = directory_monitor_file_info_map_update (_data_->_tmp63_, _data_->_tmp64_, _data_->_tmp65_); +#line 686 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->updated = _data_->_tmp66_; +#line 687 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_data_->updated, "updated"); +#line 690 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp67_ = NULL; +#line 690 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp67_ = _data_->old_dir; +#line 690 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp68_ = NULL; +#line 690 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp68_ = _data_->old_dir_info; +#line 690 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_remove_monitor (_data_->self, _data_->_tmp67_, _data_->_tmp68_); +#line 691 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp69_ = NULL; +#line 691 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp69_ = _data_->new_dir; +#line 691 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp70_ = NULL; +#line 691 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp70_ = _data_->new_dir_info; +#line 691 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_add_monitor (_data_->self, _data_->_tmp69_, _data_->_tmp70_); +#line 693 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp71_ = NULL; +#line 693 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp71_ = _data_->old_dir; +#line 693 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp72_ = NULL; +#line 693 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp72_ = _data_->new_dir; +#line 693 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp73_ = NULL; +#line 693 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp73_ = _data_->new_dir_info; +#line 693 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_moved (_data_->self, _data_->_tmp71_, _data_->_tmp72_, _data_->_tmp73_); +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_children); +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_children); +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 2544 "DirectoryMonitor.c" + } else { +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 2548 "DirectoryMonitor.c" + } +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 644 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 2554 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFileInfo* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 696 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_dir)); +#line 696 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_dir)); +#line 696 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_dir_info)); +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = old_dir; +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = new_dir; +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _tmp4_; +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = g_strdup_printf ("directory moved: %s -> %s", _tmp2_, _tmp5_); +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = _tmp6_; +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp7_); +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp7_); +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp5_); +#line 697 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 698 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = old_dir; +#line 698 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = new_dir; +#line 698 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = new_dir_info; +#line 698 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "directory-moved", _tmp8_, _tmp9_, _tmp10_); +#line 700 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = old_dir; +#line 700 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = self->priv->root; +#line 700 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = g_file_equal (_tmp11_, _tmp12_); +#line 700 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp13_) { +#line 2619 "DirectoryMonitor.c" + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFileInfo* _tmp16_ = NULL; +#line 701 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = old_dir; +#line 701 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = new_dir; +#line 701 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = new_dir_info; +#line 701 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_root_moved (self, _tmp14_, _tmp15_, _tmp16_); +#line 2631 "DirectoryMonitor.c" + } +} + + +void directory_monitor_notify_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info) { +#line 696 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 696 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_moved (self, old_dir, new_dir, new_dir_info); +#line 2641 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_directory_altered (DirectoryMonitor* self, GFile* dir) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 704 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 705 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = dir; +#line 705 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 705 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 705 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("directory altered: %s", _tmp2_); +#line 705 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 705 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 705 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 705 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 706 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = dir; +#line 706 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "directory-altered", _tmp5_); +#line 2674 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_directory_altered (DirectoryMonitor* self, GFile* dir) { +#line 704 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 704 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_altered (self, dir); +#line 2683 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { + gboolean updated = FALSE; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GFile* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; +#line 709 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 709 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 709 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 710 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 710 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = dir; +#line 710 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = info; +#line 710 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = directory_monitor_file_info_map_update (_tmp0_, _tmp1_, _tmp2_); +#line 710 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + updated = _tmp3_; +#line 711 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (updated, "updated"); +#line 713 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = dir; +#line 713 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = info; +#line 713 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_alteration_completed (self, _tmp4_, _tmp5_); +#line 2719 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 716 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 716 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = dir; +#line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("directory alteration completed: %s", _tmp2_); +#line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 717 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 718 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = dir; +#line 718 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = info; +#line 718 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "directory-alteration-completed", _tmp5_, _tmp6_); +#line 2757 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { +#line 716 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 716 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_alteration_completed (self, dir, info); +#line 2766 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_directory_attributes_altered (DirectoryMonitor* self, GFile* dir) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = dir; +#line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("directory attributes altered: %s", _tmp2_); +#line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 722 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = dir; +#line 723 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "directory-attributes-altered", _tmp5_); +#line 2799 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_directory_attributes_altered (DirectoryMonitor* self, GFile* dir) { +#line 721 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 721 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_attributes_altered (self, dir); +#line 2808 "DirectoryMonitor.c" +} + + +static void directory_monitor_internal_notify_directory_deleted (DirectoryMonitor* self, GFile* dir) { + GFileInfo* info = NULL; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; +#line 726 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 726 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 727 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 727 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = dir; +#line 727 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = directory_monitor_file_info_map_get_info (_tmp0_, _tmp1_); +#line 727 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + info = _tmp2_; +#line 728 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (info != NULL, "info != null"); +#line 731 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = dir; +#line 731 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_remove_monitor (self, _tmp3_, info); +#line 733 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = dir; +#line 733 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_notify_directory_deleted (self, _tmp4_, FALSE, NULL, NULL); +#line 726 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 2843 "DirectoryMonitor.c" +} + + +static void directory_monitor_async_notify_directory_deleted_data_free (gpointer _data) { + DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_; + _data_ = _data; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->self); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_slice_free (DirectoryMonitorAsyncNotifyDirectoryDeletedData, _data_); +#line 2856 "DirectoryMonitor.c" +} + + +static void directory_monitor_async_notify_directory_deleted (DirectoryMonitor* self, GFile* dir, gboolean already_removed, GAsyncReadyCallback _callback_, gpointer _user_data_) { + DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_; + DirectoryMonitor* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = g_slice_new0 (DirectoryMonitorAsyncNotifyDirectoryDeletedData); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, directory_monitor_async_notify_directory_deleted); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, directory_monitor_async_notify_directory_deleted_data_free); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _g_object_ref0 (self); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->self = _tmp0_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = dir; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir = _tmp2_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = already_removed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->already_removed = _tmp3_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_notify_directory_deleted_co (_data_); +#line 2890 "DirectoryMonitor.c" +} + + +static void directory_monitor_async_notify_directory_deleted_finish (DirectoryMonitor* self, GAsyncResult* _res_) { + DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); +#line 2898 "DirectoryMonitor.c" +} + + +static void directory_monitor_async_notify_directory_deleted_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { + DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_; +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = _user_data_; +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_source_object_ = source_object; +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_res_ = _res_; +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_notify_directory_deleted_co (_data_); +#line 2912 "DirectoryMonitor.c" +} + + +static gboolean _directory_monitor_async_notify_directory_deleted_co_gsource_func (gpointer self) { + gboolean result; + result = directory_monitor_async_notify_directory_deleted_co (self); +#line 765 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 2921 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_async_notify_directory_deleted_co (DirectoryMonitorAsyncNotifyDirectoryDeletedData* _data_) { +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_data_->_state_) { +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 0: +#line 2930 "DirectoryMonitor.c" + goto _state_0; +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 1: +#line 2934 "DirectoryMonitor.c" + goto _state_1; +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 2: +#line 2938 "DirectoryMonitor.c" + goto _state_2; + default: +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_assert_not_reached (); +#line 2943 "DirectoryMonitor.c" + } + _state_0: +#line 744 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp0_ = NULL; +#line 744 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp0_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); +#line 744 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->file_children = _data_->_tmp0_; +#line 745 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp1_ = NULL; +#line 745 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp1_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); +#line 745 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir_children = _data_->_tmp1_; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp2_ = NULL; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp2_ = _data_->self->priv->files; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp3_ = NULL; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp3_ = _data_->dir; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp4_ = NULL; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp4_ = _data_->file_children; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp5_ = NULL; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp5_ = _data_->dir_children; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp6_ = 0; +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp6_ = directory_monitor_file_info_map_get_children (_data_->_tmp2_, _data_->_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp4_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 746 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->count = _data_->_tmp6_; +#line 747 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp7_ = 0; +#line 747 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp7_ = _data_->count; +#line 747 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp7_ > 0) { +#line 2986 "DirectoryMonitor.c" + { +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp8_ = NULL; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp8_ = _data_->dir_children; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp9_ = NULL; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp9_ = _g_object_ref0 (_data_->_tmp8_); +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_dir_child_list = _data_->_tmp9_; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp10_ = NULL; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp10_ = _data_->_dir_child_list; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp11_ = 0; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp11_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp12_ = 0; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp12_ = _data_->_tmp11_; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_dir_child_size = _data_->_tmp12_; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_dir_child_index = -1; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp13_ = 0; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp13_ = _data_->_dir_child_index; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_dir_child_index = _data_->_tmp13_ + 1; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp14_ = 0; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp14_ = _data_->_dir_child_index; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp15_ = 0; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp15_ = _data_->_dir_child_size; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!(_data_->_tmp14_ < _data_->_tmp15_)) { +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 3034 "DirectoryMonitor.c" + } +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp16_ = NULL; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp16_ = _data_->_dir_child_list; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp17_ = 0; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp17_ = _data_->_dir_child_index; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp18_ = NULL; +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp18_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp16_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _data_->_tmp17_); +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir_child = (GFile*) _data_->_tmp18_; +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp19_ = NULL; +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp19_ = _data_->dir_child; +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 1; +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_notify_directory_deleted (_data_->self, _data_->_tmp19_, FALSE, directory_monitor_async_notify_directory_deleted_ready, _data_); +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3060 "DirectoryMonitor.c" + _state_1: +#line 756 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_async_notify_directory_deleted_finish (_data_->self, _data_->_res_); +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_child); +#line 3066 "DirectoryMonitor.c" + } +#line 755 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_dir_child_list); +#line 3070 "DirectoryMonitor.c" + } + { +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp20_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp20_ = _data_->file_children; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp21_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp21_ = _g_object_ref0 (_data_->_tmp20_); +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_file_child_list = _data_->_tmp21_; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp22_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp22_ = _data_->_file_child_list; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp23_ = 0; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp23_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp22_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp24_ = 0; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp24_ = _data_->_tmp23_; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_file_child_size = _data_->_tmp24_; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_file_child_index = -1; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp25_ = 0; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp25_ = _data_->_file_child_index; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_file_child_index = _data_->_tmp25_ + 1; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp26_ = 0; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp26_ = _data_->_file_child_index; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp27_ = 0; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp27_ = _data_->_file_child_size; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!(_data_->_tmp26_ < _data_->_tmp27_)) { +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 3119 "DirectoryMonitor.c" + } +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp28_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp28_ = _data_->_file_child_list; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp29_ = 0; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp29_ = _data_->_file_child_index; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp30_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp30_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp28_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _data_->_tmp29_); +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->file_child = (GFile*) _data_->_tmp30_; +#line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp31_ = NULL; +#line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp31_ = _data_->self->priv->files; +#line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp32_ = NULL; +#line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp32_ = _data_->file_child; +#line 761 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_remove (_data_->_tmp31_, _data_->_tmp32_, NULL); +#line 763 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp33_ = NULL; +#line 763 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp33_ = _data_->file_child; +#line 763 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_file_deleted (_data_->self, _data_->_tmp33_); +#line 765 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_idle_add_full (DIRECTORY_MONITOR_DEFAULT_PRIORITY, _directory_monitor_async_notify_directory_deleted_co_gsource_func, _data_, NULL); +#line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 2; +#line 766 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3157 "DirectoryMonitor.c" + _state_2: + ; +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_child); +#line 3162 "DirectoryMonitor.c" + } +#line 760 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_file_child_list); +#line 3166 "DirectoryMonitor.c" + } + } +#line 770 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp34_ = FALSE; +#line 770 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp34_ = _data_->already_removed; +#line 770 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_data_->_tmp34_) { +#line 771 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp35_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp35_ = _data_->self->priv->files; +#line 771 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp36_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp36_ = _data_->dir; +#line 771 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_remove (_data_->_tmp35_, _data_->_tmp36_, NULL); +#line 3185 "DirectoryMonitor.c" + } +#line 773 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp37_ = NULL; +#line 773 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp37_ = _data_->dir; +#line 773 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_deleted (_data_->self, _data_->_tmp37_); +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_children); +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_children); +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 3201 "DirectoryMonitor.c" + } else { +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 3205 "DirectoryMonitor.c" + } +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 736 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3211 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_directory_deleted (DirectoryMonitor* self, GFile* dir) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 776 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = dir; +#line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("directory deleted: %s", _tmp2_); +#line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 777 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 778 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = dir; +#line 778 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "directory-deleted", _tmp5_); +#line 780 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = dir; +#line 780 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = self->priv->root; +#line 780 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = g_file_equal (_tmp6_, _tmp7_); +#line 780 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp8_) { +#line 3255 "DirectoryMonitor.c" + GFile* _tmp9_ = NULL; +#line 781 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = dir; +#line 781 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_root_deleted (self, _tmp9_); +#line 3261 "DirectoryMonitor.c" + } +} + + +void directory_monitor_notify_directory_deleted (DirectoryMonitor* self, GFile* dir) { +#line 776 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 776 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_directory_deleted (self, dir); +#line 3271 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_notify_closed (DirectoryMonitor* self) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 785 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->root; +#line 785 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 785 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 785 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_strdup_printf ("monitoring of %s closed", _tmp2_); +#line 785 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 785 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp4_); +#line 785 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp4_); +#line 785 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp2_); +#line 786 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_emit_by_name (self, "closed"); +#line 3299 "DirectoryMonitor.c" +} + + +void directory_monitor_notify_closed (DirectoryMonitor* self) { +#line 784 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 784 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->notify_closed (self); +#line 3308 "DirectoryMonitor.c" +} + + +GFile* directory_monitor_get_root (DirectoryMonitor* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 789 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), NULL); +#line 790 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->root; +#line 790 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 790 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp1_; +#line 790 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 3326 "DirectoryMonitor.c" +} + + +gboolean directory_monitor_is_in_root (DirectoryMonitor* self, GFile* file) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 793 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); +#line 793 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 794 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 794 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = self->priv->root; +#line 794 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = g_file_has_prefix (_tmp0_, _tmp1_); +#line 794 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp2_; +#line 794 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 3349 "DirectoryMonitor.c" +} + + +gboolean directory_monitor_has_started (DirectoryMonitor* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 797 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); +#line 798 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->started; +#line 798 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp0_; +#line 798 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 3364 "DirectoryMonitor.c" +} + + +void directory_monitor_start_discovery (DirectoryMonitor* self) { + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 802 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->started; +#line 802 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (!_tmp0_, "!started"); +#line 804 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->has_discovery_started = TRUE; +#line 805 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->started = TRUE; +#line 807 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_discovery_started (self); +#line 810 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->outstanding_exploration_dirs = 1; +#line 811 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = self->priv->root; +#line 811 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_async (self, _tmp1_, NULL, TRUE, NULL, NULL); +#line 3389 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_close (DirectoryMonitor* self) { + GCancellable* _tmp0_ = NULL; + GeeHashMap* _tmp12_ = NULL; +#line 818 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->cancellable; +#line 818 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_cancellable_cancel (_tmp0_); +#line 3400 "DirectoryMonitor.c" + { + GeeIterator* _monitor_it = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = self->priv->monitors; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MAP, GeeMap)); +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = _tmp2_; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = _tmp5_; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp4_); +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _monitor_it = _tmp6_; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 3427 "DirectoryMonitor.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GFileMonitor* monitor = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + GFileMonitor* _tmp11_ = NULL; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = _monitor_it; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp8_) { +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 3442 "DirectoryMonitor.c" + } +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = _monitor_it; +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + monitor = (GFileMonitor*) _tmp10_; +#line 822 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = monitor; +#line 822 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_cancel_monitor (self, _tmp11_); +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (monitor); +#line 3456 "DirectoryMonitor.c" + } +#line 821 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_monitor_it); +#line 3460 "DirectoryMonitor.c" + } +#line 824 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = self->priv->monitors; +#line 824 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); +#line 826 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_closed (self); +#line 3468 "DirectoryMonitor.c" +} + + +void directory_monitor_close (DirectoryMonitor* self) { +#line 816 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 816 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_GET_CLASS (self)->close (self); +#line 3477 "DirectoryMonitor.c" +} + + +static DirectoryMonitorFType directory_monitor_get_ftype (GFileInfo* info) { + DirectoryMonitorFType result = 0; + GFileType file_type = 0; + GFileInfo* _tmp0_ = NULL; + GFileType _tmp1_ = 0; + GFileType _tmp2_ = 0; +#line 829 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), 0); +#line 830 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = info; +#line 830 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_info_get_file_type (_tmp0_); +#line 830 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + file_type = _tmp1_; +#line 831 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = file_type; +#line 831 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp2_) { +#line 831 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_TYPE_REGULAR: +#line 3501 "DirectoryMonitor.c" + { +#line 833 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = DIRECTORY_MONITOR_FTYPE_FILE; +#line 833 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 3507 "DirectoryMonitor.c" + } +#line 831 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_TYPE_DIRECTORY: +#line 3511 "DirectoryMonitor.c" + { +#line 836 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = DIRECTORY_MONITOR_FTYPE_DIRECTORY; +#line 836 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 3517 "DirectoryMonitor.c" + } + default: + { + GFileType _tmp3_ = 0; + GEnumValue* _tmp4_; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 839 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = file_type; +#line 839 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_enum_get_value (g_type_class_ref (g_file_type_get_type ()), _tmp3_); +#line 839 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = g_strdup_printf ("query_ftype: Unknown file type %s", (_tmp4_ != NULL) ? _tmp4_->value_name : NULL); +#line 839 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = _tmp5_; +#line 839 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp6_); +#line 839 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp6_); +#line 840 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = DIRECTORY_MONITOR_FTYPE_UNSUPPORTED; +#line 840 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 3541 "DirectoryMonitor.c" + } + } +} + + +static void directory_monitor_explore_async_data_free (gpointer _data) { + DirectoryMonitorExploreAsyncData* _data_; + _data_ = _data; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_info); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->self); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_slice_free (DirectoryMonitorExploreAsyncData, _data_); +#line 3558 "DirectoryMonitor.c" +} + + +static void directory_monitor_explore_async (DirectoryMonitor* self, GFile* dir, GFileInfo* dir_info, gboolean in_discovery, GAsyncReadyCallback _callback_, gpointer _user_data_) { + DirectoryMonitorExploreAsyncData* _data_; + DirectoryMonitor* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = g_slice_new0 (DirectoryMonitorExploreAsyncData); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, directory_monitor_explore_async); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, directory_monitor_explore_async_data_free); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _g_object_ref0 (self); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->self = _tmp0_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = dir; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir = _tmp2_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = dir_info; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_info); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir_info = _tmp4_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = in_discovery; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->in_discovery = _tmp5_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_async_co (_data_); +#line 3602 "DirectoryMonitor.c" +} + + +static void directory_monitor_explore_finish (DirectoryMonitor* self, GAsyncResult* _res_) { + DirectoryMonitorExploreAsyncData* _data_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); +#line 3610 "DirectoryMonitor.c" +} + + +static void directory_monitor_explore_async_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { + DirectoryMonitorExploreAsyncData* _data_; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = _user_data_; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_source_object_ = source_object; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_res_ = _res_; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_async_co (_data_); +#line 3624 "DirectoryMonitor.c" +} + + +static void _g_object_unref0_ (gpointer var) { +#line 911 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); +#line 3631 "DirectoryMonitor.c" +} + + +static void _g_list_free__g_object_unref0_ (GList* self) { +#line 911 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_list_foreach (self, (GFunc) _g_object_unref0_, NULL); +#line 911 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_list_free (self); +#line 3640 "DirectoryMonitor.c" +} + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 929 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 3649 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_explore_async_co (DirectoryMonitorExploreAsyncData* _data_) { +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_data_->_state_) { +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 0: +#line 3658 "DirectoryMonitor.c" + goto _state_0; +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 1: +#line 3662 "DirectoryMonitor.c" + goto _state_1; +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 2: +#line 3666 "DirectoryMonitor.c" + goto _state_2; +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 3: +#line 3670 "DirectoryMonitor.c" + goto _state_3; +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 4: +#line 3674 "DirectoryMonitor.c" + goto _state_4; +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 5: +#line 3678 "DirectoryMonitor.c" + goto _state_5; + default: +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_assert_not_reached (); +#line 3683 "DirectoryMonitor.c" + } + _state_0: +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp0_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp0_ = _data_->self->priv->files; +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp1_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp1_ = _data_->dir; +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp2_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp2_ = _data_->dir_info; +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp3_ = FALSE; +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp3_ = directory_monitor_file_info_map_contains (_data_->_tmp0_, _data_->_tmp1_, _data_->_tmp2_); +#line 845 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp3_) { +#line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp4_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp4_ = _data_->dir; +#line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp5_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp5_ = g_file_get_path (_data_->_tmp4_); +#line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp6_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp6_ = _data_->_tmp5_; +#line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:846: Directory loop detected at %s, not explorin" \ +"g", _data_->_tmp6_); +#line 846 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp6_); +#line 848 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp7_ = FALSE; +#line 848 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp7_ = _data_->in_discovery; +#line 848 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_directory_completed (_data_->self, _data_->_tmp7_); +#line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 3730 "DirectoryMonitor.c" + } else { +#line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 3734 "DirectoryMonitor.c" + } +#line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 850 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3740 "DirectoryMonitor.c" + } +#line 854 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp8_ = NULL; +#line 854 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp8_ = _data_->dir_info; +#line 854 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp9_ = NULL; +#line 854 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp9_ = _g_object_ref0 (_data_->_tmp8_); +#line 854 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->local_dir_info = _data_->_tmp9_; +#line 855 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp10_ = NULL; +#line 855 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp10_ = _data_->local_dir_info; +#line 855 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp10_ == NULL) { +#line 3758 "DirectoryMonitor.c" + { +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp12_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp12_ = _data_->dir; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp13_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp13_ = _data_->self->priv->cancellable; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 1; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_file_query_info_async (_data_->_tmp12_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_DIR_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp13_, directory_monitor_explore_async_ready, _data_); +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3774 "DirectoryMonitor.c" + _state_1: +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp14_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp14_ = g_file_query_info_finish (_data_->_tmp12_, _data_->_res_, &_data_->_inner_error_); +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp11_ = _data_->_tmp14_; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 3784 "DirectoryMonitor.c" + goto __catch469_g_error; + } +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp15_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp15_ = _data_->_tmp11_; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp11_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 857 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->local_dir_info = _data_->_tmp15_; +#line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp11_); +#line 3799 "DirectoryMonitor.c" + } + goto __finally469; + __catch469_g_error: + { +#line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->err = _data_->_inner_error_; +#line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_inner_error_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp16_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp16_ = _data_->dir; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp17_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp17_ = g_file_get_path (_data_->_tmp16_); +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp18_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp18_ = _data_->_tmp17_; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp19_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp19_ = _data_->err; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp20_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp20_ = _data_->_tmp19_->message; +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:860: Unable to retrieve info on %s: %s", _data_->_tmp18_, _data_->_tmp20_); +#line 860 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp18_); +#line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp21_ = FALSE; +#line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp21_ = _data_->in_discovery; +#line 862 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_directory_completed (_data_->self, _data_->_tmp21_); +#line 864 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_error_free0 (_data_->err); +#line 864 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 864 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 864 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 3846 "DirectoryMonitor.c" + } else { +#line 864 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 3850 "DirectoryMonitor.c" + } +#line 864 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 864 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3856 "DirectoryMonitor.c" + } + __finally469: +#line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); +#line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_clear_error (&_data_->_inner_error_); +#line 856 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3869 "DirectoryMonitor.c" + } + } +#line 868 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp22_ = NULL; +#line 868 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp22_ = _data_->local_dir_info; +#line 868 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp23_ = FALSE; +#line 868 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp23_ = g_file_info_get_is_hidden (_data_->_tmp22_); +#line 868 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp23_) { +#line 869 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp24_ = NULL; +#line 869 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp24_ = _data_->dir; +#line 869 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp25_ = NULL; +#line 869 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp25_ = g_file_get_path (_data_->_tmp24_); +#line 869 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp26_ = NULL; +#line 869 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp26_ = _data_->_tmp25_; +#line 869 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:869: Ignoring hidden directory %s", _data_->_tmp26_); +#line 869 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp26_); +#line 871 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp27_ = FALSE; +#line 871 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp27_ = _data_->in_discovery; +#line 871 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_directory_completed (_data_->self, _data_->_tmp27_); +#line 873 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 873 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 873 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 3910 "DirectoryMonitor.c" + } else { +#line 873 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 3914 "DirectoryMonitor.c" + } +#line 873 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 873 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3920 "DirectoryMonitor.c" + } +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp28_ = NULL; +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp28_ = _data_->local_dir_info; +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp29_ = NULL; +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp29_ = get_file_info_id (_data_->_tmp28_); +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp30_ = NULL; +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp30_ = _data_->_tmp29_; +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp31_ = FALSE; +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp31_ = _data_->_tmp30_ == NULL; +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp30_); +#line 879 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp31_) { +#line 880 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp32_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp32_ = _data_->dir; +#line 880 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp33_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp33_ = g_file_get_path (_data_->_tmp32_); +#line 880 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp34_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp34_ = _data_->_tmp33_; +#line 880 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:880: Unable to retrieve file ID on %s: skipping", _data_->_tmp34_); +#line 880 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp34_); +#line 882 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp35_ = FALSE; +#line 882 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp35_ = _data_->in_discovery; +#line 882 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_directory_completed (_data_->self, _data_->_tmp35_); +#line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 3970 "DirectoryMonitor.c" + } else { +#line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 3974 "DirectoryMonitor.c" + } +#line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 884 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 3980 "DirectoryMonitor.c" + } +#line 888 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp36_ = NULL; +#line 888 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp36_ = _data_->local_dir_info; +#line 888 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp37_ = 0; +#line 888 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp37_ = g_file_info_get_file_type (_data_->_tmp36_); +#line 888 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp37_ != G_FILE_TYPE_DIRECTORY) { +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp38_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp38_ = _ ("Unable to monitor %s: Not a directory (%s)"); +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp39_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp39_ = _data_->dir; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp40_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp40_ = g_file_get_path (_data_->_tmp39_); +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp41_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp41_ = _data_->_tmp40_; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp42_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp42_ = _data_->local_dir_info; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp43_ = 0; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp43_ = g_file_info_get_file_type (_data_->_tmp42_); +#line 890 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + memset (&_data_->_tmp44_, 0, sizeof (GEnumValue*)); +#line 890 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp44_ = g_enum_get_value (g_type_class_ref (g_file_type_get_type ()), _data_->_tmp43_); +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp45_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp45_ = g_strdup_printf (_data_->_tmp38_, _data_->_tmp41_, (_data_->_tmp44_ != NULL) ? _data_->_tmp44_->value_name : NULL); +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp46_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp46_ = _data_->_tmp45_; +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_discovery_failed (_data_->self, _data_->_tmp46_); +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp46_); +#line 889 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp41_); +#line 892 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp47_ = FALSE; +#line 892 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp47_ = _data_->in_discovery; +#line 892 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_directory_completed (_data_->self, _data_->_tmp47_); +#line 894 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 894 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 894 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 4046 "DirectoryMonitor.c" + } else { +#line 894 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 4050 "DirectoryMonitor.c" + } +#line 894 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 894 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4056 "DirectoryMonitor.c" + } +#line 901 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir_map = NULL; +#line 902 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->file_map = NULL; +#line 4062 "DirectoryMonitor.c" + { +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp48_ = NULL; +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp48_ = _data_->dir; +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp49_ = NULL; +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp49_ = _data_->self->priv->cancellable; +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 2; +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_file_enumerate_children_async (_data_->_tmp48_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp49_, directory_monitor_explore_async_ready, _data_); +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4078 "DirectoryMonitor.c" + _state_2: +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp50_ = NULL; +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp50_ = g_file_enumerate_children_finish (_data_->_tmp48_, _data_->_res_, &_data_->_inner_error_); +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->enumerator = _data_->_tmp50_; +#line 905 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 4088 "DirectoryMonitor.c" + goto __catch470_g_error; + } + { +#line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp51_ = TRUE; +#line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_data_->_tmp51_) { +#line 4098 "DirectoryMonitor.c" + } +#line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp51_ = FALSE; +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp52_ = NULL; +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp52_ = _data_->enumerator; +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp53_ = NULL; +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp53_ = _data_->self->priv->cancellable; +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 3; +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_file_enumerator_next_files_async (_data_->_tmp52_, 10, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp53_, directory_monitor_explore_async_ready, _data_); +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4116 "DirectoryMonitor.c" + _state_3: +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp54_ = NULL; +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp54_ = g_file_enumerator_next_files_finish (_data_->_tmp52_, _data_->_res_, &_data_->_inner_error_); +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->infos = _data_->_tmp54_; +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 908 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->enumerator); +#line 4128 "DirectoryMonitor.c" + goto __catch470_g_error; + } +#line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp55_ = NULL; +#line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp55_ = _data_->infos; +#line 910 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp55_ == NULL) { +#line 911 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + __g_list_free__g_object_unref0_0 (_data_->infos); +#line 911 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 4141 "DirectoryMonitor.c" + } +#line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp56_ = NULL; +#line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp56_ = _data_->infos; +#line 4147 "DirectoryMonitor.c" + { +#line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->info_collection = _data_->_tmp56_; +#line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + for (_data_->info_it = _data_->info_collection; _data_->info_it != NULL; _data_->info_it = _data_->info_it->next) { +#line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp57_ = NULL; +#line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp57_ = _g_object_ref0 ((GFileInfo*) _data_->info_it->data); +#line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->info = _data_->_tmp57_; +#line 4159 "DirectoryMonitor.c" + { +#line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp58_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp58_ = _data_->info; +#line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp59_ = FALSE; +#line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp59_ = g_file_info_get_is_hidden (_data_->_tmp58_); +#line 915 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp59_) { +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp60_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp60_ = _data_->dir; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp61_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp61_ = _data_->info; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp62_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp62_ = g_file_info_get_name (_data_->_tmp61_); +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp63_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp63_ = g_file_get_child (_data_->_tmp60_, _data_->_tmp62_); +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp64_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp64_ = _data_->_tmp63_; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp65_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp65_ = g_file_get_path (_data_->_tmp64_); +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp66_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp66_ = _data_->_tmp65_; +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:916: Skipping hidden file/directory %s", _data_->_tmp66_); +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp66_); +#line 916 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp64_); +#line 919 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 919 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 4209 "DirectoryMonitor.c" + } +#line 923 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp67_ = NULL; +#line 923 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp67_ = _data_->info; +#line 923 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp68_ = FALSE; +#line 923 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp68_ = directory_monitor_is_file_symlink_supported (_data_->_tmp67_); +#line 923 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_data_->_tmp68_) { +#line 924 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 924 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 4225 "DirectoryMonitor.c" + } +#line 926 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp69_ = NULL; +#line 926 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp69_ = _data_->info; +#line 926 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp70_ = 0; +#line 926 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp70_ = g_file_info_get_file_type (_data_->_tmp69_); +#line 926 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_data_->_tmp70_) { +#line 926 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_TYPE_REGULAR: +#line 4239 "DirectoryMonitor.c" + { +#line 928 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp71_ = NULL; +#line 928 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp71_ = _data_->file_map; +#line 928 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp71_ == NULL) { +#line 929 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp72_ = NULL; +#line 929 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp72_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_file_info_get_type (), (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 929 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_map); +#line 929 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->file_map = _data_->_tmp72_; +#line 4255 "DirectoryMonitor.c" + } +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp73_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp73_ = _data_->file_map; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp74_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp74_ = _data_->dir; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp75_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp75_ = _data_->info; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp76_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp76_ = g_file_info_get_name (_data_->_tmp75_); +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp77_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp77_ = g_file_get_child (_data_->_tmp74_, _data_->_tmp76_); +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp78_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp78_ = _data_->_tmp77_; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp79_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp79_ = _data_->info; +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp73_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _data_->_tmp78_, _data_->_tmp79_); +#line 931 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp78_); +#line 932 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 4291 "DirectoryMonitor.c" + } +#line 926 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_TYPE_DIRECTORY: +#line 4295 "DirectoryMonitor.c" + { +#line 935 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp80_ = NULL; +#line 935 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp80_ = _data_->dir_map; +#line 935 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp80_ == NULL) { +#line 936 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp81_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp81_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_file_info_get_type (), (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 936 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_map); +#line 936 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->dir_map = _data_->_tmp81_; +#line 4311 "DirectoryMonitor.c" + } +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp82_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp82_ = _data_->dir_map; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp83_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp83_ = _data_->dir; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp84_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp84_ = _data_->info; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp85_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp85_ = g_file_info_get_name (_data_->_tmp84_); +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp86_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp86_ = g_file_get_child (_data_->_tmp83_, _data_->_tmp85_); +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp87_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp87_ = _data_->_tmp86_; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp88_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp88_ = _data_->info; +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp82_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _data_->_tmp87_, _data_->_tmp88_); +#line 938 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp87_); +#line 939 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 4347 "DirectoryMonitor.c" + } + default: + { +#line 943 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 4353 "DirectoryMonitor.c" + } + } +#line 913 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 4358 "DirectoryMonitor.c" + } + } + } +#line 907 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + __g_list_free__g_object_unref0_0 (_data_->infos); +#line 4364 "DirectoryMonitor.c" + } + } +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->enumerator); +#line 4369 "DirectoryMonitor.c" + } + goto __finally470; + __catch470_g_error: + { +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->err2 = _data_->_inner_error_; +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_inner_error_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp89_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp89_ = _data_->dir; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp90_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp90_ = g_file_get_path (_data_->_tmp89_); +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp91_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp91_ = _data_->_tmp90_; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp92_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp92_ = _data_->err2; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp93_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp93_ = _data_->_tmp92_->message; +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:948: Aborted directory traversal of %s: %s", _data_->_tmp91_, _data_->_tmp93_); +#line 948 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_data_->_tmp91_); +#line 950 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp94_ = FALSE; +#line 950 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp94_ = _data_->in_discovery; +#line 950 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_directory_completed (_data_->self, _data_->_tmp94_); +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_error_free0 (_data_->err2); +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_map); +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_map); +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 4420 "DirectoryMonitor.c" + } else { +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 4424 "DirectoryMonitor.c" + } +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 952 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4430 "DirectoryMonitor.c" + } + __finally470: +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_map); +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_map); +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_clear_error (&_data_->_inner_error_); +#line 904 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4447 "DirectoryMonitor.c" + } +#line 956 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp95_ = FALSE; +#line 956 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp95_ = _data_->in_discovery; +#line 956 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp95_) { +#line 957 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp96_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp96_ = _data_->dir; +#line 957 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp97_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp97_ = _data_->local_dir_info; +#line 957 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_directory_discovered (_data_->self, _data_->_tmp96_, _data_->_tmp97_); +#line 4465 "DirectoryMonitor.c" + } else { +#line 959 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp98_ = NULL; +#line 959 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp98_ = _data_->dir; +#line 959 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp99_ = NULL; +#line 959 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp99_ = _data_->local_dir_info; +#line 959 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_directory_created (_data_->self, _data_->_tmp98_, _data_->_tmp99_); +#line 4477 "DirectoryMonitor.c" + } +#line 963 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp100_ = NULL; +#line 963 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp100_ = _data_->dir; +#line 963 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp101_ = NULL; +#line 963 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp101_ = _data_->local_dir_info; +#line 963 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_add_monitor (_data_->self, _data_->_tmp100_, _data_->_tmp101_); +#line 966 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp102_ = NULL; +#line 966 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp102_ = _data_->file_map; +#line 966 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp102_ != NULL) { +#line 967 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp103_ = NULL; +#line 967 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp103_ = _data_->file_map; +#line 967 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp104_ = FALSE; +#line 967 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp104_ = _data_->in_discovery; +#line 967 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 4; +#line 967 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_files (_data_->self, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp103_, GEE_TYPE_MAP, GeeMap), _data_->_tmp104_, directory_monitor_explore_async_ready, _data_); +#line 967 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4509 "DirectoryMonitor.c" + _state_4: +#line 967 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_files_finish (_data_->self, _data_->_res_); +#line 4513 "DirectoryMonitor.c" + } +#line 970 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp106_ = FALSE; +#line 970 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp106_ = _data_->self->priv->recurse; +#line 970 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp106_) { +#line 970 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp107_ = NULL; +#line 970 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp107_ = _data_->dir_map; +#line 970 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp105_ = _data_->_tmp107_ != NULL; +#line 4527 "DirectoryMonitor.c" + } else { +#line 970 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp105_ = FALSE; +#line 4531 "DirectoryMonitor.c" + } +#line 970 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp105_) { +#line 4535 "DirectoryMonitor.c" + { +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp108_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp108_ = _data_->dir_map; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp109_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp109_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp108_, GEE_TYPE_MAP, GeeMap)); +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp110_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp110_ = _data_->_tmp109_; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp111_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp111_ = _data_->_tmp110_; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp112_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp112_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp111_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp113_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp113_ = _data_->_tmp112_; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp111_); +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_subdir_it = _data_->_tmp113_; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp114_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp114_ = _data_->_subdir_it; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp115_ = FALSE; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp115_ = gee_iterator_next (_data_->_tmp114_); +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_data_->_tmp115_) { +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 4579 "DirectoryMonitor.c" + } +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp116_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp116_ = _data_->_subdir_it; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp117_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp117_ = gee_iterator_get (_data_->_tmp116_); +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->subdir = (GFile*) _data_->_tmp117_; +#line 972 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp118_ = 0; +#line 972 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp118_ = _data_->self->priv->outstanding_exploration_dirs; +#line 972 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->self->priv->outstanding_exploration_dirs = _data_->_tmp118_ + 1; +#line 972 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp119_ = 0; +#line 972 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp119_ = _data_->self->priv->outstanding_exploration_dirs; +#line 972 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp119_ > DIRECTORY_MONITOR_MAX_EXPLORATION_DIRS) { +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp120_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp120_ = _data_->subdir; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp121_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp121_ = _data_->dir_map; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp122_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp122_ = _data_->subdir; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp123_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp123_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp121_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _data_->_tmp122_); +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp124_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp124_ = (GFileInfo*) _data_->_tmp123_; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp125_ = FALSE; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp125_ = _data_->in_discovery; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 5; +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_async (_data_->self, _data_->_tmp120_, _data_->_tmp124_, _data_->_tmp125_, directory_monitor_explore_async_ready, _data_); +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4633 "DirectoryMonitor.c" + _state_5: +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_finish (_data_->self, _data_->_res_); +#line 973 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp124_); +#line 4639 "DirectoryMonitor.c" + } else { +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp126_ = NULL; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp126_ = _data_->subdir; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp127_ = NULL; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp127_ = _data_->dir_map; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp128_ = NULL; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp128_ = _data_->subdir; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp129_ = NULL; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp129_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp127_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _data_->_tmp128_); +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp130_ = NULL; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp130_ = (GFileInfo*) _data_->_tmp129_; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp131_ = FALSE; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp131_ = _data_->in_discovery; +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_async (_data_->self, _data_->_tmp126_, _data_->_tmp130_, _data_->_tmp131_, NULL, NULL); +#line 975 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp130_); +#line 4669 "DirectoryMonitor.c" + } +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->subdir); +#line 4673 "DirectoryMonitor.c" + } +#line 971 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_subdir_it); +#line 4677 "DirectoryMonitor.c" + } + } +#line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp132_ = FALSE; +#line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp132_ = _data_->in_discovery; +#line 979 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_directory_completed (_data_->self, _data_->_tmp132_); +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->file_map); +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->dir_map); +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->local_dir_info); +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 4696 "DirectoryMonitor.c" + } else { +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 4700 "DirectoryMonitor.c" + } +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 844 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4706 "DirectoryMonitor.c" +} + + +static void directory_monitor_notify_directory_files_data_free (gpointer _data) { + DirectoryMonitorNotifyDirectoryFilesData* _data_; + _data_ = _data; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->map); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->self); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_slice_free (DirectoryMonitorNotifyDirectoryFilesData, _data_); +#line 4719 "DirectoryMonitor.c" +} + + +static void directory_monitor_notify_directory_files (DirectoryMonitor* self, GeeMap* map, gboolean in_discovery, GAsyncReadyCallback _callback_, gpointer _user_data_) { + DirectoryMonitorNotifyDirectoryFilesData* _data_; + DirectoryMonitor* _tmp0_ = NULL; + GeeMap* _tmp1_ = NULL; + GeeMap* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = g_slice_new0 (DirectoryMonitorNotifyDirectoryFilesData); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, directory_monitor_notify_directory_files); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, directory_monitor_notify_directory_files_data_free); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _g_object_ref0 (self); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->self = _tmp0_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = map; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->map); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->map = _tmp2_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = in_discovery; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->in_discovery = _tmp3_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_files_co (_data_); +#line 4753 "DirectoryMonitor.c" +} + + +static void directory_monitor_notify_directory_files_finish (DirectoryMonitor* self, GAsyncResult* _res_) { + DirectoryMonitorNotifyDirectoryFilesData* _data_; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); +#line 4761 "DirectoryMonitor.c" +} + + +static gboolean _directory_monitor_notify_directory_files_co_gsource_func (gpointer self) { + gboolean result; + result = directory_monitor_notify_directory_files_co (self); +#line 990 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 4770 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_notify_directory_files_co (DirectoryMonitorNotifyDirectoryFilesData* _data_) { +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_data_->_state_) { +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 0: +#line 4779 "DirectoryMonitor.c" + goto _state_0; +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case 1: +#line 4783 "DirectoryMonitor.c" + goto _state_1; + default: +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_assert_not_reached (); +#line 4788 "DirectoryMonitor.c" + } + _state_0: +#line 983 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp0_ = NULL; +#line 983 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp0_ = _data_->map; +#line 983 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp1_ = NULL; +#line 983 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp1_ = gee_map_map_iterator (_data_->_tmp0_); +#line 983 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->iter = _data_->_tmp1_; +#line 984 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 984 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp2_ = NULL; +#line 984 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp2_ = _data_->iter; +#line 984 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp3_ = FALSE; +#line 984 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp3_ = gee_map_iterator_next (_data_->_tmp2_); +#line 984 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_data_->_tmp3_) { +#line 984 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 4815 "DirectoryMonitor.c" + } +#line 985 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp4_ = FALSE; +#line 985 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp4_ = _data_->in_discovery; +#line 985 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_tmp4_) { +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp5_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp5_ = _data_->iter; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp6_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp6_ = gee_map_iterator_get_key (_data_->_tmp5_); +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp7_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp7_ = (GFile*) _data_->_tmp6_; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp8_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp8_ = _data_->iter; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp9_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp9_ = gee_map_iterator_get_value (_data_->_tmp8_); +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp10_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp10_ = (GFileInfo*) _data_->_tmp9_; +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_file_discovered (_data_->self, _data_->_tmp7_, _data_->_tmp10_); +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp10_); +#line 986 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp7_); +#line 4853 "DirectoryMonitor.c" + } else { +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp11_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp11_ = _data_->iter; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp12_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp12_ = gee_map_iterator_get_key (_data_->_tmp11_); +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp13_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp13_ = (GFile*) _data_->_tmp12_; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp14_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp14_ = _data_->iter; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp15_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp15_ = gee_map_iterator_get_value (_data_->_tmp14_); +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp16_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_tmp16_ = (GFileInfo*) _data_->_tmp15_; +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_file_created (_data_->self, _data_->_tmp13_, _data_->_tmp16_); +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp16_); +#line 988 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->_tmp13_); +#line 4885 "DirectoryMonitor.c" + } +#line 990 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_idle_add_full (DIRECTORY_MONITOR_DEFAULT_PRIORITY, _directory_monitor_notify_directory_files_co_gsource_func, _data_, NULL); +#line 991 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _data_->_state_ = 1; +#line 991 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4893 "DirectoryMonitor.c" + _state_1: + ; + } +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_data_->iter); +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_data_->_state_ == 0) { +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 4903 "DirectoryMonitor.c" + } else { +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 4907 "DirectoryMonitor.c" + } +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 982 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 4913 "DirectoryMonitor.c" +} + + +static void directory_monitor_explore_directory_completed (DirectoryMonitor* self, gboolean in_discovery) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 997 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 998 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->outstanding_exploration_dirs; +#line 998 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp0_ > 0, "outstanding_exploration_dirs > 0"); +#line 999 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = self->priv->outstanding_exploration_dirs; +#line 999 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->outstanding_exploration_dirs = _tmp1_ - 1; +#line 1001 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = in_discovery; +#line 1001 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp3_) { +#line 4936 "DirectoryMonitor.c" + gint _tmp4_ = 0; +#line 1001 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = self->priv->outstanding_exploration_dirs; +#line 1001 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp4_ == 0; +#line 4942 "DirectoryMonitor.c" + } else { +#line 1001 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = FALSE; +#line 4946 "DirectoryMonitor.c" + } +#line 1001 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp2_) { +#line 1002 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_discovery_completed (self); +#line 4952 "DirectoryMonitor.c" + } +} + + +static void _directory_monitor_on_monitor_notification_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self) { +#line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_on_monitor_notification ((DirectoryMonitor*) self, file, other_file, event_type); +#line 4960 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_add_monitor (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gchar* id = NULL; + DirectoryMonitorFileInfoMap* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GFileMonitor* monitor = NULL; + GeeHashMap* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + GFileMonitor* _tmp20_ = NULL; + GFileMonitor* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + GError * _inner_error_ = NULL; +#line 1008 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); +#line 1008 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (dir), FALSE); +#line 1008 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 1009 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->monitoring; +#line 1009 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp0_) { +#line 1010 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1010 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5001 "DirectoryMonitor.c" + } +#line 1012 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = self->priv->files; +#line 1012 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = dir; +#line 1012 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = info; +#line 1012 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = directory_monitor_file_info_map_get_id (_tmp1_, _tmp2_, _tmp3_); +#line 1012 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + id = _tmp4_; +#line 1013 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = id; +#line 1013 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp5_ == NULL) { +#line 1014 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1014 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 1014 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5023 "DirectoryMonitor.c" + } +#line 1017 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = self->priv->monitors; +#line 1017 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = id; +#line 1017 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 1017 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp8_) { +#line 1018 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1018 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 1018 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5039 "DirectoryMonitor.c" + } +#line 1020 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + monitor = NULL; +#line 5043 "DirectoryMonitor.c" + { + GFileMonitor* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFileMonitor* _tmp11_ = NULL; + GFileMonitor* _tmp12_ = NULL; +#line 1022 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = dir; +#line 1022 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = g_file_monitor_directory (_tmp10_, DIRECTORY_MONITOR_FILE_MONITOR_FLAGS, NULL, &_inner_error_); +#line 1022 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = _tmp11_; +#line 1022 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5057 "DirectoryMonitor.c" + goto __catch471_g_error; + } +#line 1022 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = _tmp9_; +#line 1022 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = NULL; +#line 1022 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (monitor); +#line 1022 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + monitor = _tmp12_; +#line 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp9_); +#line 5070 "DirectoryMonitor.c" + } + goto __finally471; + __catch471_g_error: + { + GError* err = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + err = _inner_error_; +#line 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _inner_error_ = NULL; +#line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = dir; +#line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = _tmp14_; +#line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = err; +#line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = _tmp16_->message; +#line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:1024: Unable to monitor %s: %s", _tmp15_, _tmp17_); +#line 1024 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp15_); +#line 1026 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1026 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_error_free0 (err); +#line 1026 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (monitor); +#line 1026 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 1026 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5109 "DirectoryMonitor.c" + } + __finally471: +#line 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (monitor); +#line 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.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 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_clear_error (&_inner_error_); +#line 1021 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return FALSE; +#line 5124 "DirectoryMonitor.c" + } +#line 1029 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = self->priv->monitors; +#line 1029 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = id; +#line 1029 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp20_ = monitor; +#line 1029 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_, _tmp20_); +#line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp21_ = monitor; +#line 1030 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_connect_object (_tmp21_, "changed", (GCallback) _directory_monitor_on_monitor_notification_g_file_monitor_changed, self, 0); +#line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = dir; +#line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = g_file_get_path (_tmp22_); +#line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = _tmp23_; +#line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = g_strdup_printf ("Added monitor for %s", _tmp24_); +#line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp26_ = _tmp25_; +#line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp26_); +#line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp26_); +#line 1032 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp24_); +#line 1034 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = TRUE; +#line 1034 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (monitor); +#line 1034 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 1034 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5162 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_remove_monitor (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gchar* id = NULL; + DirectoryMonitorFileInfoMap* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GFileMonitor* monitor = NULL; + GeeHashMap* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + GFileMonitor* _tmp9_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + GFileMonitor* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); +#line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (dir), FALSE); +#line 1038 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 1039 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->monitoring; +#line 1039 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp0_) { +#line 1040 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1040 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5205 "DirectoryMonitor.c" + } +#line 1042 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = self->priv->files; +#line 1042 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = dir; +#line 1042 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = info; +#line 1042 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = directory_monitor_file_info_map_get_id (_tmp1_, _tmp2_, _tmp3_); +#line 1042 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + id = _tmp4_; +#line 1043 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = id; +#line 1043 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp5_ == NULL) { +#line 1044 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1044 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 1044 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5227 "DirectoryMonitor.c" + } +#line 1046 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = self->priv->monitors; +#line 1046 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = id; +#line 1046 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 1046 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + monitor = (GFileMonitor*) _tmp8_; +#line 1047 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = monitor; +#line 1047 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp9_ == NULL) { +#line 1048 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1048 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (monitor); +#line 1048 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 1048 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5249 "DirectoryMonitor.c" + } +#line 1050 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = self->priv->monitors; +#line 1050 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = id; +#line 1050 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, NULL); +#line 1050 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + removed = _tmp12_; +#line 1051 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = removed; +#line 1051 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp13_, "removed"); +#line 1053 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = monitor; +#line 1053 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_cancel_monitor (self, _tmp14_); +#line 1055 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = dir; +#line 1055 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = g_file_get_path (_tmp15_); +#line 1055 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = _tmp16_; +#line 1055 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = g_strdup_printf ("Removed monitor for %s", _tmp17_); +#line 1055 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = _tmp18_; +#line 1055 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp19_); +#line 1055 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp19_); +#line 1055 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp17_); +#line 1057 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = TRUE; +#line 1057 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (monitor); +#line 1057 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 1057 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5291 "DirectoryMonitor.c" +} + + +static void directory_monitor_cancel_monitor (DirectoryMonitor* self, GFileMonitor* monitor) { + GFileMonitor* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GFileMonitor* _tmp2_ = NULL; +#line 1060 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 1060 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_MONITOR (monitor)); +#line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = monitor; +#line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_parse_name ("changed", g_file_monitor_get_type (), &_tmp1_, NULL, FALSE); +#line 1061 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _directory_monitor_on_monitor_notification_g_file_monitor_changed, self); +#line 1062 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = monitor; +#line 1062 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_file_monitor_cancel (_tmp2_); +#line 5313 "DirectoryMonitor.c" +} + + +static void _directory_monitor_query_info_queue_element_on_completed_gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) { +#line 1082 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_query_info_queue_element_on_completed ((DirectoryMonitorQueryInfoQueueElement*) self, source_object, res); +#line 1082 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_query_info_queue_element_unref (self); +#line 5322 "DirectoryMonitor.c" +} + + +static gboolean _directory_monitor_check_for_expired_delete_events_gsource_func (gpointer self) { + gboolean result; + result = directory_monitor_check_for_expired_delete_events ((DirectoryMonitor*) self); +#line 1091 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 5331 "DirectoryMonitor.c" +} + + +static void directory_monitor_on_monitor_notification (DirectoryMonitor* self, GFile* file, GFile* other_file, GFileMonitorEvent event) { + gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileMonitorEvent _tmp5_ = 0; + GEnumValue* _tmp6_; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + DirectoryMonitorQueryInfoQueueElement* query_info = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFileMonitorEvent _tmp14_ = 0; + DirectoryMonitorQueryInfoQueueElement* _tmp15_ = NULL; + GeeQueue* _tmp16_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp17_ = NULL; + GFileMonitorEvent _tmp18_ = 0; +#line 1065 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 1065 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 1065 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail ((other_file == NULL) || G_IS_FILE (other_file)); +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = other_file; +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp1_ != NULL) { +#line 5363 "DirectoryMonitor.c" + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = other_file; +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp0_); +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _tmp3_; +#line 5374 "DirectoryMonitor.c" + } else { + gchar* _tmp4_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_strdup ("(none)"); +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp0_); +#line 1067 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _tmp4_; +#line 5383 "DirectoryMonitor.c" + } +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = event; +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp5_); +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = file; +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = g_file_get_path (_tmp7_); +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = _tmp8_; +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = g_strdup_printf ("NOTIFY %s: file=%s other_file=%s", (_tmp6_ != NULL) ? _tmp6_->value_name : NULL, _tmp9_, _tmp0_); +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = _tmp10_; +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp11_); +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp11_); +#line 1066 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp9_); +#line 1076 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = file; +#line 1076 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = other_file; +#line 1076 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = event; +#line 1076 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = directory_monitor_query_info_queue_element_new (self, _tmp12_, _tmp13_, _tmp14_); +#line 1076 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + query_info = _tmp15_; +#line 1077 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = self->priv->query_info_queue; +#line 1077 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = query_info; +#line 1077 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_queue_offer (_tmp16_, _tmp17_); +#line 1079 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = event; +#line 1079 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp18_) { +#line 1079 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_CREATED: +#line 1079 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: +#line 5429 "DirectoryMonitor.c" + { + GFile* _tmp19_ = NULL; + GCancellable* _tmp20_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp21_ = NULL; +#line 1082 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = file; +#line 1082 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp20_ = self->priv->cancellable; +#line 1082 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp21_ = query_info; +#line 1082 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_file_query_info_async (_tmp19_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _tmp20_, _directory_monitor_query_info_queue_element_on_completed_gasync_ready_callback, directory_monitor_query_info_queue_element_ref (_tmp21_)); +#line 1084 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 5444 "DirectoryMonitor.c" + } +#line 1079 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_DELETED: +#line 5448 "DirectoryMonitor.c" + { + guint _tmp22_ = 0U; +#line 1090 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = self->priv->delete_timer_id; +#line 1090 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp22_ == ((guint) 0)) { +#line 5455 "DirectoryMonitor.c" + guint _tmp23_ = 0U; +#line 1091 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = g_timeout_add_full (G_PRIORITY_DEFAULT, DIRECTORY_MONITOR_DELETED_EXPIRATION_MSEC / 2, _directory_monitor_check_for_expired_delete_events_gsource_func, g_object_ref (self), g_object_unref); +#line 1091 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->delete_timer_id = _tmp23_; +#line 5461 "DirectoryMonitor.c" + } +#line 1092 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 5465 "DirectoryMonitor.c" + } +#line 1079 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_MOVED: +#line 5469 "DirectoryMonitor.c" + { + GFile* _tmp24_ = NULL; +#line 1097 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = other_file; +#line 1097 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp24_ != NULL) { +#line 5476 "DirectoryMonitor.c" + GFile* _tmp25_ = NULL; + GCancellable* _tmp26_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp27_ = NULL; +#line 1098 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = other_file; +#line 1098 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp26_ = self->priv->cancellable; +#line 1098 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp27_ = query_info; +#line 1098 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_file_query_info_async (_tmp25_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _tmp26_, _directory_monitor_query_info_queue_element_on_completed_gasync_ready_callback, directory_monitor_query_info_queue_element_ref (_tmp27_)); +#line 5488 "DirectoryMonitor.c" + } else { + GeeQueue* _tmp28_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp29_ = NULL; +#line 1101 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:1101: Unable to process MOVED event: no other_fi" \ +"le"); +#line 1102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp28_ = self->priv->query_info_queue; +#line 1102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp29_ = query_info; +#line 1102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection), _tmp29_); +#line 5500 "DirectoryMonitor.c" + } +#line 1104 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 5504 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorQueryInfoQueueElement* _tmp30_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp31_ = NULL; +#line 1108 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp30_ = query_info; +#line 1108 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp30_->completed = TRUE; +#line 1109 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp31_ = query_info; +#line 1109 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_process_query_queue (self, _tmp31_); +#line 1110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 5520 "DirectoryMonitor.c" + } + } +#line 1065 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (query_info); +#line 1065 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp0_); +#line 5527 "DirectoryMonitor.c" +} + + +static void directory_monitor_process_query_queue (DirectoryMonitor* self, DirectoryMonitorQueryInfoQueueElement* query_info) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + DirectoryMonitorQueryInfoQueueElement* _tmp2_ = NULL; +#line 1114 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 1114 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail ((query_info == NULL) || DIRECTORY_MONITOR_IS_QUERY_INFO_QUEUE_ELEMENT (query_info)); +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = query_info; +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp2_ != NULL) { +#line 5543 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = query_info; +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _tmp3_->info; +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = _tmp4_ != NULL; +#line 5552 "DirectoryMonitor.c" + } else { +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = FALSE; +#line 5556 "DirectoryMonitor.c" + } +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp1_) { +#line 5560 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* _tmp5_ = NULL; + GFileMonitorEvent _tmp6_ = 0; +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = query_info; +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = _tmp5_->event; +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _tmp6_ == G_FILE_MONITOR_EVENT_CREATED; +#line 5569 "DirectoryMonitor.c" + } else { +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = FALSE; +#line 5573 "DirectoryMonitor.c" + } +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp0_) { +#line 5577 "DirectoryMonitor.c" + GFile* match = NULL; + DirectoryMonitorFileInfoMap* _tmp7_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; +#line 1120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = self->priv->files; +#line 1120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = query_info; +#line 1120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = _tmp8_->info; +#line 1120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = directory_monitor_file_info_map_find_match (_tmp7_, _tmp9_); +#line 1120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + match = _tmp10_; +#line 1121 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = match; +#line 1121 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp11_ != NULL) { +#line 5598 "DirectoryMonitor.c" + gboolean matched = FALSE; + gboolean _tmp48_ = FALSE; +#line 1122 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + matched = FALSE; +#line 5603 "DirectoryMonitor.c" + { + GeeIterator* _enqueued_it = NULL; + GeeQueue* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = self->priv->query_info_queue; +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _enqueued_it = _tmp13_; +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 5616 "DirectoryMonitor.c" + GeeIterator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + DirectoryMonitorQueryInfoQueueElement* enqueued = NULL; + GeeIterator* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + DirectoryMonitorQueryInfoQueueElement* _tmp20_ = NULL; + GFileMonitorEvent _tmp21_ = 0; + DirectoryMonitorQueryInfoQueueElement* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp38_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp39_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp40_ = NULL; + GFile* _tmp41_ = NULL; + GFile* _tmp42_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp43_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp44_ = NULL; + GFileInfo* _tmp45_ = NULL; + GFileInfo* _tmp46_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp47_ = NULL; +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = _enqueued_it; +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = gee_iterator_next (_tmp14_); +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp15_) { +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 5654 "DirectoryMonitor.c" + } +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = _enqueued_it; +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = gee_iterator_get (_tmp16_); +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + enqueued = (DirectoryMonitorQueryInfoQueueElement*) _tmp17_; +#line 1124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp20_ = enqueued; +#line 1124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp21_ = _tmp20_->event; +#line 1124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp21_ != G_FILE_MONITOR_EVENT_DELETED) { +#line 1124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = TRUE; +#line 5670 "DirectoryMonitor.c" + } else { + DirectoryMonitorQueryInfoQueueElement* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 1125 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = enqueued; +#line 1125 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = _tmp22_->completed; +#line 1125 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = _tmp23_; +#line 5680 "DirectoryMonitor.c" + } +#line 1124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp19_) { +#line 1124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = TRUE; +#line 5686 "DirectoryMonitor.c" + } else { + GFile* _tmp24_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = match; +#line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = enqueued; +#line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp26_ = _tmp25_->file; +#line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp27_ = g_file_equal (_tmp24_, _tmp26_); +#line 1126 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = !_tmp27_; +#line 5702 "DirectoryMonitor.c" + } +#line 1124 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp18_) { +#line 1127 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (enqueued); +#line 1127 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 5710 "DirectoryMonitor.c" + } +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp28_ = query_info; +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp29_ = _tmp28_->file; +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp30_ = g_file_get_path (_tmp29_); +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp31_ = _tmp30_; +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp32_ = enqueued; +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp33_ = _tmp32_->file; +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp34_ = g_file_get_path (_tmp33_); +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp35_ = _tmp34_; +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp36_ = g_strdup_printf ("Matching CREATED %s to DELETED %s for MOVED", _tmp31_, _tmp35_); +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp37_ = _tmp36_; +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp37_); +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp37_); +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp35_); +#line 1130 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp31_); +#line 1133 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp38_ = enqueued; +#line 1133 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp38_->event = G_FILE_MONITOR_EVENT_MOVED; +#line 1134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp39_ = enqueued; +#line 1134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp40_ = query_info; +#line 1134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp41_ = _tmp40_->file; +#line 1134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp42_ = _g_object_ref0 (_tmp41_); +#line 1134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp39_->other_file); +#line 1134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp39_->other_file = _tmp42_; +#line 1135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp43_ = enqueued; +#line 1135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp44_ = query_info; +#line 1135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp45_ = _tmp44_->info; +#line 1135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp46_ = _g_object_ref0 (_tmp45_); +#line 1135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp43_->info); +#line 1135 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp43_->info = _tmp46_; +#line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp47_ = enqueued; +#line 1136 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp47_->completed = TRUE; +#line 1138 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + matched = TRUE; +#line 1140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (enqueued); +#line 1140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 5778 "DirectoryMonitor.c" + } +#line 1123 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_enqueued_it); +#line 5782 "DirectoryMonitor.c" + } +#line 1143 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp48_ = matched; +#line 1143 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp48_) { +#line 5788 "DirectoryMonitor.c" + GeeQueue* _tmp49_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp50_ = NULL; +#line 1144 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp49_ = self->priv->query_info_queue; +#line 1144 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp50_ = query_info; +#line 1144 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_COLLECTION, GeeCollection), _tmp50_); +#line 5797 "DirectoryMonitor.c" + } + } +#line 1117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (match); +#line 5802 "DirectoryMonitor.c" + } + { + gboolean _tmp51_ = FALSE; +#line 1149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp51_ = TRUE; +#line 1149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 5810 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* next = NULL; + GeeQueue* _tmp52_ = NULL; + gpointer _tmp53_ = NULL; + gboolean _tmp54_ = FALSE; + DirectoryMonitorQueryInfoQueueElement* _tmp55_ = NULL; + DirectoryMonitorQueryInfoQueueElement* n = NULL; + GeeQueue* _tmp58_ = NULL; + gpointer _tmp59_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp60_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp61_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp62_ = NULL; + guint _tmp63_ = 0U; + DirectoryMonitorQueryInfoQueueElement* _tmp64_ = NULL; + GFileMonitorEvent _tmp65_ = 0; + GEnumValue* _tmp66_; + DirectoryMonitorQueryInfoQueueElement* _tmp67_ = NULL; + GFile* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp73_ = NULL; + GError* _tmp74_ = NULL; + gboolean _tmp87_ = FALSE; + DirectoryMonitorQueryInfoQueueElement* _tmp88_ = NULL; + GFileInfo* _tmp89_ = NULL; + gboolean _tmp103_ = FALSE; + DirectoryMonitorQueryInfoQueueElement* _tmp104_ = NULL; + GFileInfo* _tmp105_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp118_ = NULL; + GFile* _tmp119_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp120_ = NULL; + GFile* _tmp121_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp122_ = NULL; + GFileInfo* _tmp123_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp124_ = NULL; + GFileMonitorEvent _tmp125_ = 0; +#line 1149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp51_) { +#line 5850 "DirectoryMonitor.c" + } +#line 1149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp51_ = FALSE; +#line 1151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp52_ = self->priv->query_info_queue; +#line 1151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp53_ = gee_queue_peek (_tmp52_); +#line 1151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + next = (DirectoryMonitorQueryInfoQueueElement*) _tmp53_; +#line 1152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp55_ = next; +#line 1152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp55_ == NULL) { +#line 1152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp54_ = TRUE; +#line 5866 "DirectoryMonitor.c" + } else { + DirectoryMonitorQueryInfoQueueElement* _tmp56_ = NULL; + gboolean _tmp57_ = FALSE; +#line 1152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp56_ = next; +#line 1152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp57_ = _tmp56_->completed; +#line 1152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp54_ = !_tmp57_; +#line 5876 "DirectoryMonitor.c" + } +#line 1152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp54_) { +#line 1153 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (next); +#line 1153 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 5884 "DirectoryMonitor.c" + } +#line 1156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp58_ = self->priv->query_info_queue; +#line 1156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp59_ = gee_queue_poll (_tmp58_); +#line 1156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + n = (DirectoryMonitorQueryInfoQueueElement*) _tmp59_; +#line 1157 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp60_ = next; +#line 1157 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp61_ = n; +#line 1157 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp60_ == _tmp61_, "next == n"); +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp62_ = next; +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp63_ = _tmp62_->position; +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp64_ = next; +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp65_ = _tmp64_->event; +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp66_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp65_); +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp67_ = next; +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp68_ = _tmp67_->file; +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp69_ = g_file_get_path (_tmp68_); +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp70_ = _tmp69_; +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp71_ = g_strdup_printf ("Completed info query %u for %s on %s", _tmp63_, (_tmp66_ != NULL) ? _tmp66_->value_name : NULL, _tmp70_); +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp72_ = _tmp71_; +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp72_); +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp72_); +#line 1159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp70_); +#line 1162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp73_ = next; +#line 1162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp74_ = _tmp73_->err; +#line 1162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp74_ != NULL) { +#line 5932 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* _tmp75_ = NULL; + GFile* _tmp76_ = NULL; + gchar* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp79_ = NULL; + GFileMonitorEvent _tmp80_ = 0; + GEnumValue* _tmp81_; + DirectoryMonitorQueryInfoQueueElement* _tmp82_ = NULL; + GError* _tmp83_ = NULL; + const gchar* _tmp84_ = NULL; + gchar* _tmp85_ = NULL; + gchar* _tmp86_ = NULL; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp75_ = next; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp76_ = _tmp75_->file; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp77_ = g_file_get_path (_tmp76_); +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp78_ = _tmp77_; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp79_ = next; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp80_ = _tmp79_->event; +#line 1164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp81_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp80_); +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp82_ = next; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp83_ = _tmp82_->err; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp84_ = _tmp83_->message; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp85_ = g_strdup_printf ("Unable to retrieve file information for %s, dropping %s: %s", _tmp78_, (_tmp81_ != NULL) ? _tmp81_->value_name : NULL, _tmp84_); +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp86_ = _tmp85_; +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp86_); +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp86_); +#line 1163 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp78_); +#line 1166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (n); +#line 1166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (next); +#line 1166 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 5981 "DirectoryMonitor.c" + } +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp88_ = next; +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp89_ = _tmp88_->info; +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp89_ != NULL) { +#line 5989 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* _tmp90_ = NULL; + GFileInfo* _tmp91_ = NULL; + gchar* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp90_ = next; +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp91_ = _tmp90_->info; +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp92_ = get_file_info_id (_tmp91_); +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp93_ = _tmp92_; +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp87_ = _tmp93_ == NULL; +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp93_); +#line 6006 "DirectoryMonitor.c" + } else { +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp87_ = FALSE; +#line 6010 "DirectoryMonitor.c" + } +#line 1170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp87_) { +#line 6014 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* _tmp94_ = NULL; + GFile* _tmp95_ = NULL; + gchar* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp98_ = NULL; + GFileMonitorEvent _tmp99_ = 0; + GEnumValue* _tmp100_; + gchar* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp94_ = next; +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp95_ = _tmp94_->file; +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp96_ = g_file_get_path (_tmp95_); +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp97_ = _tmp96_; +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp98_ = next; +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp99_ = _tmp98_->event; +#line 1172 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp100_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp99_); +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp101_ = g_strdup_printf ("Unable to retrieve file ID for %s, dropping %s", _tmp97_, (_tmp100_ != NULL) ? _tmp100_->value_name : NULL); +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp102_ = _tmp101_; +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp102_); +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp102_); +#line 1171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp97_); +#line 1174 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (n); +#line 1174 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (next); +#line 1174 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 6054 "DirectoryMonitor.c" + } +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp104_ = next; +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp105_ = _tmp104_->info; +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp105_ != NULL) { +#line 6062 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* _tmp106_ = NULL; + GFileInfo* _tmp107_ = NULL; + gboolean _tmp108_ = FALSE; +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp106_ = next; +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp107_ = _tmp106_->info; +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp108_ = directory_monitor_is_file_symlink_supported (_tmp107_); +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp103_ = !_tmp108_; +#line 6074 "DirectoryMonitor.c" + } else { +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp103_ = FALSE; +#line 6078 "DirectoryMonitor.c" + } +#line 1178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp103_) { +#line 6082 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* _tmp109_ = NULL; + GFile* _tmp110_ = NULL; + gchar* _tmp111_ = NULL; + gchar* _tmp112_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp113_ = NULL; + GFileMonitorEvent _tmp114_ = 0; + GEnumValue* _tmp115_; + gchar* _tmp116_ = NULL; + gchar* _tmp117_ = NULL; +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp109_ = next; +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp110_ = _tmp109_->file; +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp111_ = g_file_get_path (_tmp110_); +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp112_ = _tmp111_; +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp113_ = next; +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp114_ = _tmp113_->event; +#line 1180 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp115_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp114_); +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp116_ = g_strdup_printf ("No symlink support for %s, dropping %s", _tmp112_, (_tmp115_ != NULL) ? _tmp115_->value_name : NULL); +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp117_ = _tmp116_; +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp117_); +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp117_); +#line 1179 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp112_); +#line 1182 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (n); +#line 1182 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (next); +#line 1182 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 6122 "DirectoryMonitor.c" + } +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp118_ = next; +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp119_ = _tmp118_->file; +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp120_ = next; +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp121_ = _tmp120_->other_file; +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp122_ = next; +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp123_ = _tmp122_->info; +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp124_ = next; +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp125_ = _tmp124_->event; +#line 1185 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_on_monitor_notification_ready (self, _tmp119_, _tmp121_, _tmp123_, _tmp125_); +#line 1149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (n); +#line 1149 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (next); +#line 6146 "DirectoryMonitor.c" + } + } +} + + +static void directory_monitor_on_monitor_notification_ready (DirectoryMonitor* self, GFile* file, GFile* other_file, GFileInfo* info, GFileMonitorEvent event) { + gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileMonitorEvent _tmp5_ = 0; + GEnumValue* _tmp6_; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GFileMonitorEvent _tmp12_ = 0; +#line 1189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (IS_DIRECTORY_MONITOR (self)); +#line 1189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 1189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail ((other_file == NULL) || G_IS_FILE (other_file)); +#line 1189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = other_file; +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp1_ != NULL) { +#line 6175 "DirectoryMonitor.c" + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = other_file; +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp0_); +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _tmp3_; +#line 6186 "DirectoryMonitor.c" + } else { + gchar* _tmp4_ = NULL; +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_strdup ("(null)"); +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp0_); +#line 1192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = _tmp4_; +#line 6195 "DirectoryMonitor.c" + } +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = event; +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp5_); +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = file; +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = g_file_get_path (_tmp7_); +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = _tmp8_; +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = g_strdup_printf ("READY %s: file=%s other_file=%s", (_tmp6_ != NULL) ? _tmp6_->value_name : NULL, _tmp9_, _tmp0_); +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = _tmp10_; +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp11_); +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp11_); +#line 1191 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp9_); +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = event; +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp12_) { +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_CREATED: +#line 6223 "DirectoryMonitor.c" + { + GFileInfo* _tmp13_ = NULL; + DirectoryMonitorFType ftype = 0; + GFileInfo* _tmp14_ = NULL; + DirectoryMonitorFType _tmp15_ = 0; + DirectoryMonitorFType _tmp16_ = 0; +#line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = info; +#line 1198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp13_ != NULL, "info != null"); +#line 1200 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = info; +#line 1200 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = directory_monitor_get_ftype (_tmp14_); +#line 1200 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ftype = _tmp15_; +#line 1201 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = ftype; +#line 1201 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp16_) { +#line 1201 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_FILE: +#line 6246 "DirectoryMonitor.c" + { + GFile* _tmp17_ = NULL; + GFileInfo* _tmp18_ = NULL; +#line 1203 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = file; +#line 1203 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = info; +#line 1203 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_file_created (self, _tmp17_, _tmp18_); +#line 1204 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6258 "DirectoryMonitor.c" + } +#line 1201 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_DIRECTORY: +#line 6262 "DirectoryMonitor.c" + { + gint _tmp19_ = 0; + GFile* _tmp20_ = NULL; + GFileInfo* _tmp21_ = NULL; +#line 1211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = self->priv->outstanding_exploration_dirs; +#line 1211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->outstanding_exploration_dirs = _tmp19_ + 1; +#line 1212 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp20_ = file; +#line 1212 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp21_ = info; +#line 1212 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_explore_async (self, _tmp20_, _tmp21_, FALSE, NULL, NULL); +#line 1213 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6279 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorFType _tmp22_ = 0; +#line 1216 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = ftype; +#line 1216 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp22_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); +#line 1217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6290 "DirectoryMonitor.c" + } + } +#line 1219 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6295 "DirectoryMonitor.c" + } +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_CHANGED: +#line 6299 "DirectoryMonitor.c" + { + GFileInfo* _tmp23_ = NULL; + GFileInfo* local_info = NULL; + GFile* _tmp24_ = NULL; + GFileInfo* _tmp25_ = NULL; + GFileInfo* _tmp26_ = NULL; + DirectoryMonitorFType ftype = 0; + GFileInfo* _tmp32_ = NULL; + DirectoryMonitorFType _tmp33_ = 0; + DirectoryMonitorFType _tmp34_ = 0; +#line 1223 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = info; +#line 1223 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp23_ == NULL, "info == null"); +#line 1225 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = file; +#line 1225 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = directory_monitor_get_file_info (self, _tmp24_); +#line 1225 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + local_info = _tmp25_; +#line 1226 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp26_ = local_info; +#line 1226 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp26_ == NULL) { +#line 6324 "DirectoryMonitor.c" + GFile* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 1227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp27_ = file; +#line 1227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp28_ = g_file_get_path (_tmp27_); +#line 1227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp29_ = _tmp28_; +#line 1227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp30_ = g_strdup_printf ("Changed event for unknown file %s", _tmp29_); +#line 1227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp31_ = _tmp30_; +#line 1227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg (_tmp31_); +#line 1227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp31_); +#line 1227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp29_); +#line 1229 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 1229 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6350 "DirectoryMonitor.c" + } +#line 1232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp32_ = local_info; +#line 1232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp33_ = directory_monitor_get_ftype (_tmp32_); +#line 1232 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ftype = _tmp33_; +#line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp34_ = ftype; +#line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp34_) { +#line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_FILE: +#line 6364 "DirectoryMonitor.c" + { + GFile* _tmp35_ = NULL; +#line 1235 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp35_ = file; +#line 1235 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_file_altered (self, _tmp35_); +#line 1236 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6373 "DirectoryMonitor.c" + } +#line 1233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_DIRECTORY: +#line 6377 "DirectoryMonitor.c" + { + GFile* _tmp36_ = NULL; +#line 1239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp36_ = file; +#line 1239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_altered (self, _tmp36_); +#line 1240 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6386 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorFType _tmp37_ = 0; +#line 1243 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp37_ = ftype; +#line 1243 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp37_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); +#line 1244 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6397 "DirectoryMonitor.c" + } + } +#line 1246 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 1246 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6404 "DirectoryMonitor.c" + } +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: +#line 6408 "DirectoryMonitor.c" + { + GFileInfo* _tmp38_ = NULL; + DirectoryMonitorFType ftype = 0; + GFileInfo* _tmp39_ = NULL; + DirectoryMonitorFType _tmp40_ = 0; + DirectoryMonitorFType _tmp41_ = 0; +#line 1249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp38_ = info; +#line 1249 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp38_ != NULL, "info != null"); +#line 1251 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp39_ = info; +#line 1251 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp40_ = directory_monitor_get_ftype (_tmp39_); +#line 1251 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ftype = _tmp40_; +#line 1252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp41_ = ftype; +#line 1252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp41_) { +#line 1252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_FILE: +#line 6431 "DirectoryMonitor.c" + { + GFile* _tmp42_ = NULL; + GFileInfo* _tmp43_ = NULL; +#line 1254 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp42_ = file; +#line 1254 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp43_ = info; +#line 1254 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_file_alteration_completed (self, _tmp42_, _tmp43_); +#line 1255 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6443 "DirectoryMonitor.c" + } +#line 1252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_DIRECTORY: +#line 6447 "DirectoryMonitor.c" + { + GFile* _tmp44_ = NULL; + GFileInfo* _tmp45_ = NULL; +#line 1258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp44_ = file; +#line 1258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp45_ = info; +#line 1258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_directory_alteration_completed (self, _tmp44_, _tmp45_); +#line 1259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6459 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorFType _tmp46_ = 0; +#line 1262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp46_ = ftype; +#line 1262 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp46_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); +#line 1263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6470 "DirectoryMonitor.c" + } + } +#line 1265 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6475 "DirectoryMonitor.c" + } +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_MOVED: +#line 6479 "DirectoryMonitor.c" + { + GFileInfo* _tmp47_ = NULL; + GFile* _tmp48_ = NULL; + DirectoryMonitorFType ftype = 0; + GFileInfo* _tmp49_ = NULL; + DirectoryMonitorFType _tmp50_ = 0; + DirectoryMonitorFType _tmp51_ = 0; +#line 1268 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp47_ = info; +#line 1268 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp47_ != NULL, "info != null"); +#line 1269 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp48_ = other_file; +#line 1269 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp48_ != NULL, "other_file != null"); +#line 1273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp49_ = info; +#line 1273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp50_ = directory_monitor_get_ftype (_tmp49_); +#line 1273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ftype = _tmp50_; +#line 1274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp51_ = ftype; +#line 1274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp51_) { +#line 1274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_FILE: +#line 6507 "DirectoryMonitor.c" + { + GFile* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; + GFileInfo* _tmp54_ = NULL; +#line 1276 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp52_ = file; +#line 1276 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp53_ = other_file; +#line 1276 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp54_ = info; +#line 1276 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_file_moved (self, _tmp52_, _tmp53_, _tmp54_); +#line 1277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6522 "DirectoryMonitor.c" + } +#line 1274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_DIRECTORY: +#line 6526 "DirectoryMonitor.c" + { + GFileInfo* old_dir_info = NULL; + DirectoryMonitorFileInfoMap* _tmp55_ = NULL; + GFile* _tmp56_ = NULL; + GFileInfo* _tmp57_ = NULL; + GFileInfo* _tmp58_ = NULL; + GFile* _tmp62_ = NULL; + GFileInfo* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + GFileInfo* _tmp65_ = NULL; +#line 1281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp55_ = self->priv->files; +#line 1281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp56_ = file; +#line 1281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp57_ = directory_monitor_file_info_map_get_info (_tmp55_, _tmp56_); +#line 1281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old_dir_info = _tmp57_; +#line 1282 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp58_ = old_dir_info; +#line 1282 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp58_ == NULL) { +#line 6549 "DirectoryMonitor.c" + GFile* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; +#line 1283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp59_ = file; +#line 1283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp60_ = g_file_get_path (_tmp59_); +#line 1283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp61_ = _tmp60_; +#line 1283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:1283: Directory moved event for unknown file %s", _tmp61_); +#line 1283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp61_); +#line 1285 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_dir_info); +#line 1285 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6567 "DirectoryMonitor.c" + } +#line 1288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp62_ = file; +#line 1288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp63_ = old_dir_info; +#line 1288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp64_ = other_file; +#line 1288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp65_ = info; +#line 1288 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_directory_moved (self, _tmp62_, _tmp63_, _tmp64_, _tmp65_); +#line 1289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (old_dir_info); +#line 1289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6583 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorFType _tmp66_ = 0; +#line 1292 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp66_ = ftype; +#line 1292 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp66_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); +#line 1293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6594 "DirectoryMonitor.c" + } + } +#line 1295 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6599 "DirectoryMonitor.c" + } +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_DELETED: +#line 6603 "DirectoryMonitor.c" + { + GFileInfo* _tmp67_ = NULL; + GFileInfo* local_info = NULL; + GFile* _tmp68_ = NULL; + GFileInfo* _tmp69_ = NULL; + GFileInfo* _tmp70_ = NULL; + DirectoryMonitorFType ftype = 0; + GFileInfo* _tmp74_ = NULL; + DirectoryMonitorFType _tmp75_ = 0; + DirectoryMonitorFType _tmp76_ = 0; +#line 1298 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp67_ = info; +#line 1298 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp67_ == NULL, "info == null"); +#line 1300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp68_ = file; +#line 1300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp69_ = directory_monitor_get_file_info (self, _tmp68_); +#line 1300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + local_info = _tmp69_; +#line 1301 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp70_ = local_info; +#line 1301 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp70_ == NULL) { +#line 6628 "DirectoryMonitor.c" + GFile* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; +#line 1302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp71_ = file; +#line 1302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp72_ = g_file_get_path (_tmp71_); +#line 1302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp73_ = _tmp72_; +#line 1302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:1302: Deleted event for unknown file %s", _tmp73_); +#line 1302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp73_); +#line 1304 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 1304 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6646 "DirectoryMonitor.c" + } +#line 1307 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp74_ = local_info; +#line 1307 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp75_ = directory_monitor_get_ftype (_tmp74_); +#line 1307 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ftype = _tmp75_; +#line 1308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp76_ = ftype; +#line 1308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp76_) { +#line 1308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_FILE: +#line 6660 "DirectoryMonitor.c" + { + GFile* _tmp77_ = NULL; +#line 1310 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp77_ = file; +#line 1310 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_file_deleted (self, _tmp77_); +#line 1311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6669 "DirectoryMonitor.c" + } +#line 1308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_DIRECTORY: +#line 6673 "DirectoryMonitor.c" + { + GFile* _tmp78_ = NULL; +#line 1314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp78_ = file; +#line 1314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_internal_notify_directory_deleted (self, _tmp78_); +#line 1315 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6682 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorFType _tmp79_ = 0; +#line 1318 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp79_ = ftype; +#line 1318 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp79_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); +#line 1319 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6693 "DirectoryMonitor.c" + } + } +#line 1321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 1321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6700 "DirectoryMonitor.c" + } +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: +#line 6704 "DirectoryMonitor.c" + { + GFileInfo* _tmp80_ = NULL; + GFileInfo* local_info = NULL; + GFile* _tmp81_ = NULL; + GFileInfo* _tmp82_ = NULL; + GFileInfo* _tmp83_ = NULL; + DirectoryMonitorFType ftype = 0; + GFileInfo* _tmp87_ = NULL; + DirectoryMonitorFType _tmp88_ = 0; + DirectoryMonitorFType _tmp89_ = 0; +#line 1325 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp80_ = info; +#line 1325 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp80_ == NULL, "info == null"); +#line 1327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp81_ = file; +#line 1327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp82_ = directory_monitor_get_file_info (self, _tmp81_); +#line 1327 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + local_info = _tmp82_; +#line 1328 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp83_ = local_info; +#line 1328 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp83_ == NULL) { +#line 6729 "DirectoryMonitor.c" + GFile* _tmp84_ = NULL; + gchar* _tmp85_ = NULL; + gchar* _tmp86_ = NULL; +#line 1329 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp84_ = file; +#line 1329 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp85_ = g_file_get_path (_tmp84_); +#line 1329 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp86_ = _tmp85_; +#line 1329 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:1329: Attribute changed event for unknown file %" \ +"s", _tmp86_); +#line 1329 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp86_); +#line 1331 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 1331 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6747 "DirectoryMonitor.c" + } +#line 1334 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp87_ = local_info; +#line 1334 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp88_ = directory_monitor_get_ftype (_tmp87_); +#line 1334 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ftype = _tmp88_; +#line 1335 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp89_ = ftype; +#line 1335 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp89_) { +#line 1335 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_FILE: +#line 6761 "DirectoryMonitor.c" + { + GFile* _tmp90_ = NULL; +#line 1337 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp90_ = file; +#line 1337 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_file_attributes_altered (self, _tmp90_); +#line 1338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6770 "DirectoryMonitor.c" + } +#line 1335 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_DIRECTORY: +#line 6774 "DirectoryMonitor.c" + { + GFile* _tmp91_ = NULL; +#line 1341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp91_ = file; +#line 1341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_notify_directory_attributes_altered (self, _tmp91_); +#line 1342 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6783 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorFType _tmp92_ = 0; +#line 1345 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp92_ = ftype; +#line 1345 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp92_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); +#line 1346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6794 "DirectoryMonitor.c" + } + } +#line 1348 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 1348 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6801 "DirectoryMonitor.c" + } +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_PRE_UNMOUNT: +#line 1196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case G_FILE_MONITOR_EVENT_UNMOUNTED: +#line 6807 "DirectoryMonitor.c" + { +#line 1353 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6811 "DirectoryMonitor.c" + } + default: + { + GFileMonitorEvent _tmp93_ = 0; + GEnumValue* _tmp94_; +#line 1356 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp93_ = event; +#line 1356 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp94_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp93_); +#line 1356 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:1356: Unknown directory monitor event %s", (_tmp94_ != NULL) ? _tmp94_->value_name : NULL); +#line 1357 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 6825 "DirectoryMonitor.c" + } + } +#line 1189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp0_); +#line 6830 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_is_file_create_move (DirectoryMonitor* self, GFile* file, GFileInfo* info, GFile** old_file, GFileInfo** old_file_info) { + GFile* _vala_old_file = NULL; + GFileInfo* _vala_old_file_info = NULL; + gboolean result = FALSE; + GFile* match = NULL; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1363 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); +#line 1363 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 1363 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 1366 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->parent_moved; +#line 1366 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = info; +#line 1366 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = directory_monitor_file_info_map_find_match (_tmp0_, _tmp1_); +#line 1366 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + match = _tmp2_; +#line 1367 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = match; +#line 1367 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp3_ != NULL) { +#line 6861 "DirectoryMonitor.c" + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + DirectoryMonitorFileInfoMap* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; + DirectoryMonitorFileInfoMap* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFileInfo* _tmp11_ = NULL; +#line 1368 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = match; +#line 1368 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 1368 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_old_file); +#line 1368 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_old_file = _tmp5_; +#line 1369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = self->priv->parent_moved; +#line 1369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = match; +#line 1369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = directory_monitor_file_info_map_get_info (_tmp6_, _tmp7_); +#line 1369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_old_file_info); +#line 1369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_old_file_info = _tmp8_; +#line 1371 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = self->priv->parent_moved; +#line 1371 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = match; +#line 1371 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = info; +#line 1371 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_remove (_tmp9_, _tmp10_, _tmp11_); +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = TRUE; +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (match); +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (old_file) { +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *old_file = _vala_old_file; +#line 6904 "DirectoryMonitor.c" + } else { +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_old_file); +#line 6908 "DirectoryMonitor.c" + } +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (old_file_info) { +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *old_file_info = _vala_old_file_info; +#line 6914 "DirectoryMonitor.c" + } else { +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_old_file_info); +#line 6918 "DirectoryMonitor.c" + } +#line 1373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 6922 "DirectoryMonitor.c" + } +#line 1376 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_old_file); +#line 1376 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_old_file = NULL; +#line 1377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_old_file_info); +#line 1377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_old_file_info = NULL; +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (match); +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (old_file) { +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *old_file = _vala_old_file; +#line 6940 "DirectoryMonitor.c" + } else { +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_old_file); +#line 6944 "DirectoryMonitor.c" + } +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (old_file_info) { +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *old_file_info = _vala_old_file_info; +#line 6950 "DirectoryMonitor.c" + } else { +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_old_file_info); +#line 6954 "DirectoryMonitor.c" + } +#line 1379 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 6958 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_check_for_expired_delete_events (DirectoryMonitor* self) { + gboolean result = FALSE; + gulong expiration = 0UL; + gulong _tmp0_ = 0UL; + gboolean any_deleted = FALSE; + gboolean any_expired = FALSE; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 1382 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), FALSE); +#line 1383 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = now_ms (); +#line 1383 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + expiration = _tmp0_ - DIRECTORY_MONITOR_DELETED_EXPIRATION_MSEC; +#line 1385 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + any_deleted = FALSE; +#line 1386 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + any_expired = FALSE; +#line 6980 "DirectoryMonitor.c" + { + GeeIterator* _element_it = NULL; + GeeQueue* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = self->priv->query_info_queue; +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _element_it = _tmp2_; +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 6993 "DirectoryMonitor.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DirectoryMonitorQueryInfoQueueElement* element = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DirectoryMonitorQueryInfoQueueElement* _tmp7_ = NULL; + GFileMonitorEvent _tmp8_ = 0; + DirectoryMonitorQueryInfoQueueElement* _tmp9_ = NULL; + gulong _tmp10_ = 0UL; + gulong _tmp11_ = 0UL; + DirectoryMonitorQueryInfoQueueElement* _tmp12_ = NULL; +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = _element_it; +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp4_) { +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 7013 "DirectoryMonitor.c" + } +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _element_it; +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + element = (DirectoryMonitorQueryInfoQueueElement*) _tmp6_; +#line 1388 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = element; +#line 1388 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = _tmp7_->event; +#line 1388 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp8_ != G_FILE_MONITOR_EVENT_DELETED) { +#line 1389 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (element); +#line 1389 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 7031 "DirectoryMonitor.c" + } +#line 1391 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + any_deleted = TRUE; +#line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = element; +#line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = _tmp9_->time_created_msec; +#line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = expiration; +#line 1393 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp10_ > _tmp11_) { +#line 1394 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (element); +#line 1394 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 7047 "DirectoryMonitor.c" + } +#line 1397 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = element; +#line 1397 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_->completed = TRUE; +#line 1398 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + any_expired = TRUE; +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_query_info_queue_element_unref0 (element); +#line 7057 "DirectoryMonitor.c" + } +#line 1387 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_element_it); +#line 7061 "DirectoryMonitor.c" + } +#line 1401 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = any_expired; +#line 1401 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp13_) { +#line 1402 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_process_query_queue (self, NULL); +#line 7069 "DirectoryMonitor.c" + } +#line 1404 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = any_deleted; +#line 1404 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp14_) { +#line 1405 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->delete_timer_id = (guint) 0; +#line 7077 "DirectoryMonitor.c" + } +#line 1407 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = any_deleted; +#line 1407 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7083 "DirectoryMonitor.c" +} + + +GFileInfo* directory_monitor_get_file_info (DirectoryMonitor* self, GFile* file) { + GFileInfo* result = NULL; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; +#line 1411 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), NULL); +#line 1411 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 1412 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 1412 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = file; +#line 1412 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = directory_monitor_file_info_map_get_info (_tmp0_, _tmp1_); +#line 1412 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp2_; +#line 1412 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7106 "DirectoryMonitor.c" +} + + +GeeCollection* directory_monitor_get_files (DirectoryMonitor* self) { + GeeCollection* result = NULL; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 1417 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), NULL); +#line 1418 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 1418 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = directory_monitor_file_info_map_get_all (_tmp0_); +#line 1418 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp1_; +#line 1418 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7124 "DirectoryMonitor.c" +} + + +GFileInfo* directory_monitor_query_file_info (DirectoryMonitor* self, GFile* file) { + GFileInfo* result = NULL; + DirectoryMonitorFileInfoMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; +#line 1424 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (self), NULL); +#line 1424 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 1425 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->files; +#line 1425 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = file; +#line 1425 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = self->priv->cancellable; +#line 1425 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = directory_monitor_file_info_map_query_info (_tmp0_, _tmp1_, _tmp2_); +#line 1425 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp3_; +#line 1425 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7150 "DirectoryMonitor.c" +} + + +gboolean directory_monitor_is_file_symlink_supported (GFileInfo* info) { + gboolean result = FALSE; + GFileInfo* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + DirectoryMonitorFType ftype = 0; + GFileInfo* _tmp2_ = NULL; + DirectoryMonitorFType _tmp3_ = 0; + DirectoryMonitorFType _tmp4_ = 0; +#line 1435 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 1436 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = info; +#line 1436 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = g_file_info_get_is_symlink (_tmp0_); +#line 1436 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp1_) { +#line 1437 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = TRUE; +#line 1437 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7174 "DirectoryMonitor.c" + } +#line 1439 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = info; +#line 1439 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = directory_monitor_get_ftype (_tmp2_); +#line 1439 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ftype = _tmp3_; +#line 1440 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = ftype; +#line 1440 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp4_) { +#line 1440 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_DIRECTORY: +#line 7188 "DirectoryMonitor.c" + { +#line 1442 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = DIRECTORY_MONITOR_SUPPORT_DIR_SYMLINKS; +#line 1442 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7194 "DirectoryMonitor.c" + } +#line 1440 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_FILE: +#line 7198 "DirectoryMonitor.c" + { +#line 1445 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = DIRECTORY_MONITOR_SUPPORT_FILE_SYMLINKS; +#line 1445 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7204 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorFType _tmp5_ = 0; +#line 1448 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = ftype; +#line 1448 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp5_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); +#line 1450 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 1450 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7217 "DirectoryMonitor.c" + } + } +} + + +static void directory_monitor_real_root_moved (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info) { +#line 380 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_root)); +#line 380 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_root)); +#line 380 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_root_info)); +#line 7230 "DirectoryMonitor.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (n_param_values == 4); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + data1 = closure->data; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + data2 = param_values->data[0].v_pointer; +#line 7249 "DirectoryMonitor.c" + } else { +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + data1 = param_values->data[0].v_pointer; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + data2 = closure->data; +#line 7255 "DirectoryMonitor.c" + } +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_object (param_values + 3), data2); +#line 7261 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_root_deleted (DirectoryMonitor* self, GFile* root) { +#line 388 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (root)); +#line 7268 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_discovery_started (DirectoryMonitor* self) { +} + + +static void directory_monitor_real_file_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { +#line 394 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 394 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 7281 "DirectoryMonitor.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (n_param_values == 3); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + data1 = closure->data; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + data2 = param_values->data[0].v_pointer; +#line 7300 "DirectoryMonitor.c" + } else { +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + data1 = param_values->data[0].v_pointer; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + data2 = closure->data; +#line 7306 "DirectoryMonitor.c" + } +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 7312 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_directory_discovered (DirectoryMonitor* self, GFile* file, GFileInfo* info) { +#line 397 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 397 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 7321 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_discovery_failed (DirectoryMonitor* self, const gchar* reason) { +#line 402 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (reason != NULL); +#line 7328 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_discovery_completed (DirectoryMonitor* self) { +#line 406 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->has_discovery_started = FALSE; +#line 407 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_mdbg ("discovery completed"); +#line 7337 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info) { +#line 410 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 410 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 7346 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { +#line 413 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 413 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 413 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_file_info)); +#line 7357 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_file_altered (DirectoryMonitor* self, GFile* file) { +#line 417 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 7364 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info) { +#line 422 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 422 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 7373 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_file_attributes_altered (DirectoryMonitor* self, GFile* file) { +#line 425 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 7380 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_file_deleted (DirectoryMonitor* self, GFile* file) { +#line 428 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 7387 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_directory_created (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { +#line 432 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 432 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 7396 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_directory_moved (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info) { +#line 436 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_dir)); +#line 436 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_dir)); +#line 436 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_dir_info)); +#line 7407 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_directory_altered (DirectoryMonitor* self, GFile* dir) { +#line 440 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 7414 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_directory_alteration_completed (DirectoryMonitor* self, GFile* dir, GFileInfo* info) { +#line 445 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 445 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 7423 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_directory_attributes_altered (DirectoryMonitor* self, GFile* dir) { +#line 448 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 7430 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_directory_deleted (DirectoryMonitor* self, GFile* dir) { +#line 452 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 7437 "DirectoryMonitor.c" +} + + +static void directory_monitor_real_closed (DirectoryMonitor* self) { +} + + +static DirectoryMonitorQueryInfoQueueElement* directory_monitor_query_info_queue_element_construct (GType object_type, DirectoryMonitor* owner, GFile* file, GFile* other_file, GFileMonitorEvent event) { + DirectoryMonitorQueryInfoQueueElement* self = NULL; + DirectoryMonitor* _tmp0_ = NULL; + DirectoryMonitor* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFileMonitorEvent _tmp6_ = 0; + guint _tmp7_ = 0U; + gulong _tmp8_ = 0UL; +#line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (IS_DIRECTORY_MONITOR (owner), NULL); +#line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail ((other_file == NULL) || G_IS_FILE (other_file), NULL); +#line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self = (DirectoryMonitorQueryInfoQueueElement*) g_type_create_instance (object_type); +#line 98 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = owner; +#line 98 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 98 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->owner); +#line 98 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->owner = _tmp1_; +#line 99 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = file; +#line 99 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 99 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->file); +#line 99 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->file = _tmp3_; +#line 100 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = other_file; +#line 100 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 100 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->other_file); +#line 100 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->other_file = _tmp5_; +#line 101 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = event; +#line 101 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->event = _tmp6_; +#line 102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = directory_monitor_query_info_queue_element_current; +#line 102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_query_info_queue_element_current = _tmp7_ + 1; +#line 102 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->position = _tmp7_; +#line 103 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = now_ms (); +#line 103 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->time_created_msec = _tmp8_; +#line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return self; +#line 7504 "DirectoryMonitor.c" +} + + +static DirectoryMonitorQueryInfoQueueElement* directory_monitor_query_info_queue_element_new (DirectoryMonitor* owner, GFile* file, GFile* other_file, GFileMonitorEvent event) { +#line 96 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return directory_monitor_query_info_queue_element_construct (DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, owner, file, other_file, event); +#line 7511 "DirectoryMonitor.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return self ? g_error_copy (self) : NULL; +#line 7518 "DirectoryMonitor.c" +} + + +static void directory_monitor_query_info_queue_element_on_completed (DirectoryMonitorQueryInfoQueueElement* self, GObject* source, GAsyncResult* aresult) { + GFile* source_file = NULL; + GObject* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + DirectoryMonitor* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (DIRECTORY_MONITOR_IS_QUERY_INFO_QUEUE_ELEMENT (self)); +#line 106 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail ((source == NULL) || G_IS_OBJECT (source)); +#line 106 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_ASYNC_RESULT (aresult)); +#line 107 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = source; +#line 107 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_FILE, GFile)); +#line 107 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + source_file = _tmp1_; +#line 7540 "DirectoryMonitor.c" + { + GFileInfo* _tmp2_ = NULL; + GAsyncResult* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = aresult; +#line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_file_query_info_finish (source_file, _tmp3_, &_inner_error_); +#line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp4_; +#line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7554 "DirectoryMonitor.c" + goto __catch472_g_error; + } +#line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _tmp2_; +#line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->info); +#line 111 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->info = _tmp5_; +#line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 7567 "DirectoryMonitor.c" + } + goto __finally472; + __catch472_g_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + err = _inner_error_; +#line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _inner_error_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = err; +#line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = _g_error_copy0 (_tmp6_); +#line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_error_free0 (self->err); +#line 113 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->err = _tmp7_; +#line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_error_free0 (err); +#line 7589 "DirectoryMonitor.c" + } + __finally472: +#line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (source_file); +#line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.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 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_clear_error (&_inner_error_); +#line 110 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return; +#line 7602 "DirectoryMonitor.c" + } +#line 117 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->completed = TRUE; +#line 120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = self->owner; +#line 120 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_process_query_queue (_tmp8_, self); +#line 106 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (source_file); +#line 7612 "DirectoryMonitor.c" +} + + +static void directory_monitor_value_query_info_queue_element_init (GValue* value) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 7619 "DirectoryMonitor.c" +} + + +static void directory_monitor_value_query_info_queue_element_free_value (GValue* value) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (value->data[0].v_pointer) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_query_info_queue_element_unref (value->data[0].v_pointer); +#line 7628 "DirectoryMonitor.c" + } +} + + +static void directory_monitor_value_query_info_queue_element_copy_value (const GValue* src_value, GValue* dest_value) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (src_value->data[0].v_pointer) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + dest_value->data[0].v_pointer = directory_monitor_query_info_queue_element_ref (src_value->data[0].v_pointer); +#line 7638 "DirectoryMonitor.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + dest_value->data[0].v_pointer = NULL; +#line 7642 "DirectoryMonitor.c" + } +} + + +static gpointer directory_monitor_value_query_info_queue_element_peek_pointer (const GValue* value) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return value->data[0].v_pointer; +#line 7650 "DirectoryMonitor.c" +} + + +static gchar* directory_monitor_value_query_info_queue_element_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (collect_values[0].v_pointer) { +#line 7657 "DirectoryMonitor.c" + DirectoryMonitorQueryInfoQueueElement* object; + object = collect_values[0].v_pointer; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (object->parent_instance.g_class == NULL) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7664 "DirectoryMonitor.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7668 "DirectoryMonitor.c" + } +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = directory_monitor_query_info_queue_element_ref (object); +#line 7672 "DirectoryMonitor.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 7676 "DirectoryMonitor.c" + } +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return NULL; +#line 7680 "DirectoryMonitor.c" +} + + +static gchar* directory_monitor_value_query_info_queue_element_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DirectoryMonitorQueryInfoQueueElement** object_p; + object_p = collect_values[0].v_pointer; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!object_p) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 7691 "DirectoryMonitor.c" + } +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!value->data[0].v_pointer) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *object_p = NULL; +#line 7697 "DirectoryMonitor.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *object_p = value->data[0].v_pointer; +#line 7701 "DirectoryMonitor.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *object_p = directory_monitor_query_info_queue_element_ref (value->data[0].v_pointer); +#line 7705 "DirectoryMonitor.c" + } +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return NULL; +#line 7709 "DirectoryMonitor.c" +} + + +static GParamSpec* directory_monitor_param_spec_query_info_queue_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + DirectoryMonitorParamSpecQueryInfoQueueElement* spec; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (g_type_is_a (object_type, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT), NULL); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return G_PARAM_SPEC (spec); +#line 7723 "DirectoryMonitor.c" +} + + +static gpointer directory_monitor_value_get_query_info_queue_element (const GValue* value) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT), NULL); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return value->data[0].v_pointer; +#line 7732 "DirectoryMonitor.c" +} + + +static void directory_monitor_value_set_query_info_queue_element (GValue* value, gpointer v_object) { + DirectoryMonitorQueryInfoQueueElement* old; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old = value->data[0].v_pointer; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (v_object) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = v_object; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_query_info_queue_element_ref (value->data[0].v_pointer); +#line 7752 "DirectoryMonitor.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 7756 "DirectoryMonitor.c" + } +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (old) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_query_info_queue_element_unref (old); +#line 7762 "DirectoryMonitor.c" + } +} + + +static void directory_monitor_value_take_query_info_queue_element (GValue* value, gpointer v_object) { + DirectoryMonitorQueryInfoQueueElement* old; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old = value->data[0].v_pointer; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (v_object) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT)); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = v_object; +#line 7781 "DirectoryMonitor.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 7785 "DirectoryMonitor.c" + } +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (old) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_query_info_queue_element_unref (old); +#line 7791 "DirectoryMonitor.c" + } +} + + +static void directory_monitor_query_info_queue_element_class_init (DirectoryMonitorQueryInfoQueueElementClass * klass) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_query_info_queue_element_parent_class = g_type_class_peek_parent (klass); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorQueryInfoQueueElementClass *) klass)->finalize = directory_monitor_query_info_queue_element_finalize; +#line 7801 "DirectoryMonitor.c" +} + + +static void directory_monitor_query_info_queue_element_instance_init (DirectoryMonitorQueryInfoQueueElement * self) { +#line 92 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->info = NULL; +#line 93 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->err = NULL; +#line 94 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->completed = FALSE; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->ref_count = 1; +#line 7814 "DirectoryMonitor.c" +} + + +static void directory_monitor_query_info_queue_element_finalize (DirectoryMonitorQueryInfoQueueElement* obj) { + DirectoryMonitorQueryInfoQueueElement * self; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, DirectoryMonitorQueryInfoQueueElement); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_handlers_destroy (self); +#line 86 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->owner); +#line 87 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->file); +#line 88 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->other_file); +#line 92 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->info); +#line 93 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_error_free0 (self->err); +#line 7834 "DirectoryMonitor.c" +} + + +static GType directory_monitor_query_info_queue_element_get_type (void) { + static volatile gsize directory_monitor_query_info_queue_element_type_id__volatile = 0; + if (g_once_init_enter (&directory_monitor_query_info_queue_element_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { directory_monitor_value_query_info_queue_element_init, directory_monitor_value_query_info_queue_element_free_value, directory_monitor_value_query_info_queue_element_copy_value, directory_monitor_value_query_info_queue_element_peek_pointer, "p", directory_monitor_value_query_info_queue_element_collect_value, "p", directory_monitor_value_query_info_queue_element_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DirectoryMonitorQueryInfoQueueElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) directory_monitor_query_info_queue_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectoryMonitorQueryInfoQueueElement), 0, (GInstanceInitFunc) directory_monitor_query_info_queue_element_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType directory_monitor_query_info_queue_element_type_id; + directory_monitor_query_info_queue_element_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DirectoryMonitorQueryInfoQueueElement", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&directory_monitor_query_info_queue_element_type_id__volatile, directory_monitor_query_info_queue_element_type_id); + } + return directory_monitor_query_info_queue_element_type_id__volatile; +} + + +static gpointer directory_monitor_query_info_queue_element_ref (gpointer instance) { + DirectoryMonitorQueryInfoQueueElement* self; + self = instance; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_atomic_int_inc (&self->ref_count); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return instance; +#line 7859 "DirectoryMonitor.c" +} + + +static void directory_monitor_query_info_queue_element_unref (gpointer instance) { + DirectoryMonitorQueryInfoQueueElement* self; + self = instance; +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_QUERY_INFO_QUEUE_ELEMENT_GET_CLASS (self)->finalize (self); +#line 83 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 7872 "DirectoryMonitor.c" + } +} + + +static DirectoryMonitorFileInfoMap* directory_monitor_file_info_map_construct (GType object_type) { + DirectoryMonitorFileInfoMap* self = NULL; +#line 134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self = (DirectoryMonitorFileInfoMap*) g_type_create_instance (object_type); +#line 134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return self; +#line 7883 "DirectoryMonitor.c" +} + + +static DirectoryMonitorFileInfoMap* directory_monitor_file_info_map_new (void) { +#line 134 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return directory_monitor_file_info_map_construct (DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP); +#line 7890 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_file_info_map_normalize_file (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info, GFile** normalized, gchar** id) { + GFile* _vala_normalized = NULL; + gchar* _vala_id = NULL; + gboolean result = FALSE; + GFileInfo* local_info = NULL; + GFileInfo* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + gchar* file_id = NULL; + GFileInfo* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GFile* known_file = NULL; + GeeHashMap* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp19_ = NULL; +#line 137 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), FALSE); +#line 137 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 137 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail ((info == NULL) || G_IS_FILE_INFO (info), FALSE); +#line 140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = info; +#line 140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 140 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + local_info = _tmp1_; +#line 141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = local_info; +#line 141 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp2_ == NULL) { +#line 7931 "DirectoryMonitor.c" + GeeHashMap* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = self->priv->map; +#line 142 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = file; +#line 142 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 142 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 142 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + local_info = (GFileInfo*) _tmp5_; +#line 143 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = local_info; +#line 143 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp6_ == NULL) { +#line 144 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_normalized); +#line 144 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_normalized = NULL; +#line 145 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_vala_id); +#line 145 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_id = NULL; +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (normalized) { +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *normalized = _vala_normalized; +#line 7966 "DirectoryMonitor.c" + } else { +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_normalized); +#line 7970 "DirectoryMonitor.c" + } +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (id) { +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *id = _vala_id; +#line 7976 "DirectoryMonitor.c" + } else { +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_vala_id); +#line 7980 "DirectoryMonitor.c" + } +#line 147 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 7984 "DirectoryMonitor.c" + } + } +#line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = local_info; +#line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = get_file_info_id (_tmp7_); +#line 151 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + file_id = _tmp8_; +#line 152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = file_id; +#line 152 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp9_ == NULL) { +#line 153 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_normalized); +#line 153 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_normalized = NULL; +#line 154 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_vala_id); +#line 154 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_id = NULL; +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (file_id); +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (normalized) { +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *normalized = _vala_normalized; +#line 8015 "DirectoryMonitor.c" + } else { +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_normalized); +#line 8019 "DirectoryMonitor.c" + } +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (id) { +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *id = _vala_id; +#line 8025 "DirectoryMonitor.c" + } else { +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_vala_id); +#line 8029 "DirectoryMonitor.c" + } +#line 156 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8033 "DirectoryMonitor.c" + } +#line 159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = self->priv->id_map; +#line 159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = file_id; +#line 159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_); +#line 159 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + known_file = (GFile*) _tmp12_; +#line 161 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = file_id; +#line 161 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = g_strdup ((const gchar*) _tmp13_); +#line 161 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_vala_id); +#line 161 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_id = _tmp14_; +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = known_file; +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp16_ != NULL) { +#line 8055 "DirectoryMonitor.c" + GFile* _tmp17_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = known_file; +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = _tmp17_; +#line 8061 "DirectoryMonitor.c" + } else { + GFile* _tmp18_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = file; +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = _tmp18_; +#line 8068 "DirectoryMonitor.c" + } +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = _g_object_ref0 (_tmp15_); +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_normalized); +#line 162 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_normalized = _tmp19_; +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = TRUE; +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (known_file); +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (file_id); +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (local_info); +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (normalized) { +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *normalized = _vala_normalized; +#line 8088 "DirectoryMonitor.c" + } else { +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_vala_normalized); +#line 8092 "DirectoryMonitor.c" + } +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (id) { +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *id = _vala_id; +#line 8098 "DirectoryMonitor.c" + } else { +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_vala_id); +#line 8102 "DirectoryMonitor.c" + } +#line 164 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8106 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_file_info_map_update (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gchar* existing_id = NULL; + GFileInfo* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + const gchar* _tmp10_ = NULL; + gchar* id = NULL; + GFile* normalized = NULL; + GFile* _tmp18_ = NULL; + GFileInfo* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + GeeHashMap* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + GFileInfo* _tmp25_ = NULL; + GeeHashMap* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), FALSE); +#line 167 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 167 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->map; +#line 169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = file; +#line 169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 169 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp2_) { +#line 8147 "DirectoryMonitor.c" + gboolean removed = FALSE; + GeeHashMap* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = self->priv->map; +#line 170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = file; +#line 170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, NULL); +#line 170 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + removed = _tmp5_; +#line 171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = removed; +#line 171 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp6_, "removed"); +#line 8165 "DirectoryMonitor.c" + } +#line 175 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = info; +#line 175 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = get_file_info_id (_tmp7_); +#line 175 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + existing_id = _tmp8_; +#line 176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = existing_id; +#line 176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp10_ != NULL) { +#line 8177 "DirectoryMonitor.c" + GeeHashMap* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = self->priv->id_map; +#line 176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = existing_id; +#line 176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_); +#line 176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = _tmp13_; +#line 8189 "DirectoryMonitor.c" + } else { +#line 176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = FALSE; +#line 8193 "DirectoryMonitor.c" + } +#line 176 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp9_) { +#line 8197 "DirectoryMonitor.c" + gboolean removed = FALSE; + GeeHashMap* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = self->priv->id_map; +#line 177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = existing_id; +#line 177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp15_, NULL); +#line 177 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + removed = _tmp16_; +#line 178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = removed; +#line 178 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp17_, "removed"); +#line 8215 "DirectoryMonitor.c" + } +#line 183 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = file; +#line 183 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = info; +#line 183 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = directory_monitor_file_info_map_normalize_file (self, _tmp18_, _tmp19_, &_tmp20_, &_tmp21_); +#line 183 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 183 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + normalized = _tmp20_; +#line 183 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 183 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + id = _tmp21_; +#line 183 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp22_) { +#line 184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (existing_id); +#line 184 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8243 "DirectoryMonitor.c" + } +#line 186 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = self->priv->map; +#line 186 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = normalized; +#line 186 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = info; +#line 186 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_, _tmp25_); +#line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp26_ = self->priv->id_map; +#line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp27_ = id; +#line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp28_ = normalized; +#line 187 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp27_, _tmp28_); +#line 189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = TRUE; +#line 189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (existing_id); +#line 189 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8271 "DirectoryMonitor.c" +} + + +static gboolean directory_monitor_file_info_map_remove (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info) { + gboolean result = FALSE; + gchar* id = NULL; + GFile* normalized = NULL; + GFile* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GeeHashMap* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), FALSE); +#line 192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 192 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail ((info == NULL) || G_IS_FILE_INFO (info), FALSE); +#line 195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = info; +#line 195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = directory_monitor_file_info_map_normalize_file (self, _tmp0_, _tmp1_, &_tmp2_, &_tmp3_); +#line 195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + normalized = _tmp2_; +#line 195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + id = _tmp3_; +#line 195 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp4_) { +#line 196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 196 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8318 "DirectoryMonitor.c" + } +#line 198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = self->priv->map; +#line 198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = normalized; +#line 198 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_, NULL); +#line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = self->priv->id_map; +#line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = id; +#line 199 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_, NULL); +#line 201 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = TRUE; +#line 201 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 201 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 201 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8340 "DirectoryMonitor.c" +} + + +static void directory_monitor_file_info_map_remove_all (DirectoryMonitorFileInfoMap* self, GeeCollection* files) { +#line 206 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self)); +#line 206 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (GEE_IS_COLLECTION (files)); +#line 8349 "DirectoryMonitor.c" + { + GeeIterator* _file_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = files; +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _file_it = _tmp1_; +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 8362 "DirectoryMonitor.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _file_it; +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp3_) { +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 8377 "DirectoryMonitor.c" + } +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = _file_it; +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + file = (GFile*) _tmp5_; +#line 208 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = file; +#line 208 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_remove (self, _tmp6_, NULL); +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (file); +#line 8391 "DirectoryMonitor.c" + } +#line 207 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_file_it); +#line 8395 "DirectoryMonitor.c" + } +} + + +static gboolean directory_monitor_file_info_map_contains (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info) { + gboolean result = FALSE; + gchar* id = NULL; + GFile* normalized = NULL; + GFile* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GeeHashMap* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), FALSE); +#line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 211 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail ((info == NULL) || G_IS_FILE_INFO (info), FALSE); +#line 214 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 214 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = info; +#line 214 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = directory_monitor_file_info_map_normalize_file (self, _tmp0_, _tmp1_, &_tmp2_, &_tmp3_); +#line 214 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 214 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + normalized = _tmp2_; +#line 214 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 214 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + id = _tmp3_; +#line 214 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp4_) { +#line 215 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = FALSE; +#line 215 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 215 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 215 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8442 "DirectoryMonitor.c" + } +#line 217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = self->priv->id_map; +#line 217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = id; +#line 217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_); +#line 217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp7_; +#line 217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 217 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8458 "DirectoryMonitor.c" +} + + +static gchar* directory_monitor_file_info_map_get_id (DirectoryMonitorFileInfoMap* self, GFile* file, GFileInfo* info) { + gchar* result = NULL; + GFileInfo* _tmp0_ = NULL; + gchar* id = NULL; + GFile* normalized = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 220 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); +#line 220 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 220 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail ((info == NULL) || G_IS_FILE_INFO (info), NULL); +#line 222 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = info; +#line 222 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp0_ != NULL) { +#line 8481 "DirectoryMonitor.c" + GFileInfo* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = info; +#line 223 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = get_file_info_id (_tmp1_); +#line 223 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = _tmp2_; +#line 223 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8492 "DirectoryMonitor.c" + } +#line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = file; +#line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = directory_monitor_file_info_map_normalize_file (self, _tmp3_, NULL, &_tmp4_, &_tmp5_); +#line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + normalized = _tmp4_; +#line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + id = _tmp5_; +#line 227 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp6_) { +#line 228 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = NULL; +#line 228 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 228 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 228 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8516 "DirectoryMonitor.c" + } +#line 230 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = id; +#line 230 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 230 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8524 "DirectoryMonitor.c" +} + + +static GeeCollection* directory_monitor_file_info_map_get_all (DirectoryMonitorFileInfoMap* self) { + GeeCollection* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); +#line 234 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->map; +#line 234 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 234 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 234 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 234 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8545 "DirectoryMonitor.c" +} + + +static GFileInfo* directory_monitor_file_info_map_get_info (DirectoryMonitorFileInfoMap* self, GFile* file) { + GFileInfo* result = NULL; + GFileInfo* info = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + gchar* id = NULL; + GFile* normalized = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GeeHashMap* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); +#line 237 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->map; +#line 239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = file; +#line 239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 239 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + info = (GFileInfo*) _tmp2_; +#line 240 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = info; +#line 240 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp3_ != NULL) { +#line 241 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = info; +#line 241 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8585 "DirectoryMonitor.c" + } +#line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = file; +#line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = directory_monitor_file_info_map_normalize_file (self, _tmp4_, NULL, &_tmp5_, &_tmp6_); +#line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + normalized = _tmp5_; +#line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + id = _tmp6_; +#line 245 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp7_) { +#line 246 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = NULL; +#line 246 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 246 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 246 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 246 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8611 "DirectoryMonitor.c" + } +#line 248 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = self->priv->map; +#line 248 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = normalized; +#line 248 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_); +#line 248 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = (GFileInfo*) _tmp10_; +#line 248 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 248 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 248 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 248 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8629 "DirectoryMonitor.c" +} + + +static GFileInfo* directory_monitor_file_info_map_query_info (DirectoryMonitorFileInfoMap* self, GFile* file, GCancellable* cancellable) { + GFileInfo* result = NULL; + GFileInfo* info = NULL; + GFile* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + GFileInfo* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gchar* id = NULL; + GFileInfo* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + GFile* normalized = NULL; + GeeHashMap* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gpointer _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GeeHashMap* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + GError * _inner_error_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); +#line 251 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 251 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), NULL); +#line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = file; +#line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = directory_monitor_file_info_map_get_info (self, _tmp0_); +#line 252 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + info = _tmp1_; +#line 253 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = info; +#line 253 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp2_ != NULL) { +#line 254 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = info; +#line 254 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8675 "DirectoryMonitor.c" + } + { + GFileInfo* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GCancellable* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = file; +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = cancellable; +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = g_file_query_info (_tmp4_, G_FILE_ATTRIBUTE_ID_FILE, DIRECTORY_MONITOR_UNKNOWN_INFO_FLAGS, _tmp5_, &_inner_error_); +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = _tmp6_; +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8693 "DirectoryMonitor.c" + goto __catch473_g_error; + } +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = _tmp3_; +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = NULL; +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 259 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + info = _tmp7_; +#line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 8706 "DirectoryMonitor.c" + } + goto __finally473; + __catch473_g_error: + { + GError* err = NULL; + GFile* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + err = _inner_error_; +#line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _inner_error_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = file; +#line 261 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = g_file_get_path (_tmp8_); +#line 261 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = _tmp9_; +#line 261 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = err; +#line 261 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = _tmp11_->message; +#line 261 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_warning ("DirectoryMonitor.vala:261: Unable to query file ID of %s: %s", _tmp10_, _tmp12_); +#line 261 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp10_); +#line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = NULL; +#line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_error_free0 (err); +#line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 263 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8743 "DirectoryMonitor.c" + } + __finally473: +#line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.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 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_clear_error (&_inner_error_); +#line 258 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return NULL; +#line 8756 "DirectoryMonitor.c" + } +#line 266 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = info; +#line 266 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = directory_monitor_is_file_symlink_supported (_tmp13_); +#line 266 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp14_) { +#line 267 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = NULL; +#line 267 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 267 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8770 "DirectoryMonitor.c" + } +#line 269 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = info; +#line 269 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = g_file_info_get_attribute_string (_tmp15_, G_FILE_ATTRIBUTE_ID_FILE); +#line 269 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 269 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + id = _tmp17_; +#line 270 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = id; +#line 270 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp18_ == NULL) { +#line 271 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = NULL; +#line 271 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 271 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 271 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8792 "DirectoryMonitor.c" + } +#line 273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = self->priv->id_map; +#line 273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp20_ = id; +#line 273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp21_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp20_); +#line 273 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + normalized = (GFile*) _tmp21_; +#line 274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = normalized; +#line 274 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp22_ == NULL) { +#line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = NULL; +#line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 275 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8816 "DirectoryMonitor.c" + } +#line 277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = self->priv->map; +#line 277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = file; +#line 277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_); +#line 277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = (GFileInfo*) _tmp25_; +#line 277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (normalized); +#line 277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (id); +#line 277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 277 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8834 "DirectoryMonitor.c" +} + + +static GFile* directory_monitor_file_info_map_find_match (DirectoryMonitorFileInfoMap* self, GFileInfo* match) { + GFile* result = NULL; + gchar* match_id = NULL; + GFileInfo* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint64 match_size = 0LL; + GFileInfo* _tmp3_ = NULL; + gint64 _tmp4_ = 0LL; + GTimeVal match_time = {0}; + GFileInfo* _tmp5_ = NULL; + GTimeVal _tmp6_ = {0}; +#line 280 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), NULL); +#line 280 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (match), NULL); +#line 281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = match; +#line 281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = get_file_info_id (_tmp0_); +#line 281 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + match_id = _tmp1_; +#line 282 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = match_id; +#line 282 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp2_ == NULL) { +#line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = NULL; +#line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (match_id); +#line 283 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8870 "DirectoryMonitor.c" + } +#line 286 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = match; +#line 286 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_file_info_get_size (_tmp3_); +#line 286 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + match_size = _tmp4_; +#line 287 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = match; +#line 287 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_file_info_get_modification_time (_tmp5_, &_tmp6_); +#line 287 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + match_time = _tmp6_; +#line 8884 "DirectoryMonitor.c" + { + GeeIterator* _file_it = NULL; + GeeHashMap* _tmp7_ = NULL; + GeeSet* _tmp8_ = NULL; + GeeSet* _tmp9_ = NULL; + GeeSet* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; + GeeIterator* _tmp12_ = NULL; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = self->priv->map; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_MAP, GeeMap)); +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = _tmp8_; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = _tmp9_; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = _tmp11_; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp10_); +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _file_it = _tmp12_; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 8911 "DirectoryMonitor.c" + GeeIterator* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + GFileInfo* info = NULL; + GeeHashMap* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + GFileInfo* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + gint64 _tmp25_ = 0LL; + GFileInfo* _tmp26_ = NULL; + gint64 _tmp27_ = 0LL; + GTimeVal time = {0}; + GFileInfo* _tmp28_ = NULL; + GTimeVal _tmp29_ = {0}; + GTimeVal _tmp30_ = {0}; + glong _tmp31_ = 0L; + GTimeVal _tmp32_ = {0}; + glong _tmp33_ = 0L; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = _file_it; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = gee_iterator_next (_tmp13_); +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp14_) { +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 8944 "DirectoryMonitor.c" + } +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = _file_it; +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = gee_iterator_get (_tmp15_); +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + file = (GFile*) _tmp16_; +#line 290 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = self->priv->map; +#line 290 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = file; +#line 290 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp18_); +#line 290 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + info = (GFileInfo*) _tmp19_; +#line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp20_ = info; +#line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp21_ = get_file_info_id (_tmp20_); +#line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = _tmp21_; +#line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = match_id; +#line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = g_strcmp0 (_tmp22_, _tmp23_) == 0; +#line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (_tmp22_); +#line 293 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp24_) { +#line 294 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = file; +#line 294 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 294 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_file_it); +#line 294 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (match_id); +#line 294 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 8984 "DirectoryMonitor.c" + } +#line 297 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = match_size; +#line 297 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp26_ = info; +#line 297 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp27_ = g_file_info_get_size (_tmp26_); +#line 297 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp25_ != _tmp27_) { +#line 298 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 298 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (file); +#line 298 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 9000 "DirectoryMonitor.c" + } +#line 300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp28_ = info; +#line 300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_file_info_get_modification_time (_tmp28_, &_tmp29_); +#line 300 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + time = _tmp29_; +#line 302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp30_ = time; +#line 302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp31_ = _tmp30_.tv_sec; +#line 302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp32_ = match_time; +#line 302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp33_ = _tmp32_.tv_sec; +#line 302 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp31_ != _tmp33_) { +#line 303 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 303 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (file); +#line 303 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 9024 "DirectoryMonitor.c" + } +#line 305 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = file; +#line 305 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (info); +#line 305 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_file_it); +#line 305 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (match_id); +#line 305 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 9036 "DirectoryMonitor.c" + } +#line 289 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_file_it); +#line 9040 "DirectoryMonitor.c" + } +#line 308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = NULL; +#line 308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_free0 (match_id); +#line 308 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 9048 "DirectoryMonitor.c" +} + + +static void directory_monitor_file_info_map_remove_descendents (DirectoryMonitorFileInfoMap* self, GFile* root, DirectoryMonitorFileInfoMap* descendents) { + GeeArrayList* pruned = NULL; + GeeArrayList* _tmp28_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self)); +#line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_IS_FILE (root)); +#line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (descendents)); +#line 312 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + pruned = NULL; +#line 9063 "DirectoryMonitor.c" + { + GeeIterator* _file_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->map; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = _tmp2_; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _tmp4_; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _file_it = _tmp5_; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 9090 "DirectoryMonitor.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GFile* parent = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = _file_it; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp7_) { +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 9107 "DirectoryMonitor.c" + } +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = _file_it; +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + file = (GFile*) _tmp9_; +#line 314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = file; +#line 314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = g_file_get_parent (_tmp10_); +#line 314 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + parent = _tmp11_; +#line 315 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 9123 "DirectoryMonitor.c" + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = parent; +#line 315 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!(_tmp12_ != NULL)) { +#line 315 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 9136 "DirectoryMonitor.c" + } +#line 316 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = parent; +#line 316 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = root; +#line 316 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = g_file_equal (_tmp13_, _tmp14_); +#line 316 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp15_) { +#line 9146 "DirectoryMonitor.c" + GeeArrayList* _tmp16_ = NULL; + GeeArrayList* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + DirectoryMonitorFileInfoMap* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GeeHashMap* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + GFileInfo* _tmp25_ = NULL; +#line 317 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = pruned; +#line 317 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp16_ == NULL) { +#line 9160 "DirectoryMonitor.c" + GeeArrayList* _tmp17_ = NULL; +#line 318 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 318 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (pruned); +#line 318 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + pruned = _tmp17_; +#line 9168 "DirectoryMonitor.c" + } +#line 320 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = pruned; +#line 320 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = file; +#line 320 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp19_); +#line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp20_ = descendents; +#line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp21_ = file; +#line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = self->priv->map; +#line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = file; +#line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp23_); +#line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = (GFileInfo*) _tmp24_; +#line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_update (_tmp20_, _tmp21_, _tmp25_); +#line 321 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp25_); +#line 323 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 9194 "DirectoryMonitor.c" + } +#line 326 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp26_ = parent; +#line 326 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp27_ = g_file_get_parent (_tmp26_); +#line 326 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (parent); +#line 326 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + parent = _tmp27_; +#line 9204 "DirectoryMonitor.c" + } +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (parent); +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (file); +#line 9210 "DirectoryMonitor.c" + } +#line 313 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_file_it); +#line 9214 "DirectoryMonitor.c" + } +#line 330 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp28_ = pruned; +#line 330 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp28_ != NULL) { +#line 9220 "DirectoryMonitor.c" + GeeArrayList* _tmp29_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp29_ = pruned; +#line 331 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_remove_all (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 9226 "DirectoryMonitor.c" + } +#line 311 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (pruned); +#line 9230 "DirectoryMonitor.c" +} + + +static gint directory_monitor_file_info_map_get_children (DirectoryMonitorFileInfoMap* self, GFile* root, GeeCollection* files, GeeCollection* dirs) { + gint result = 0; + gint count = 0; +#line 336 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (DIRECTORY_MONITOR_IS_FILE_INFO_MAP (self), 0); +#line 336 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (root), 0); +#line 336 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (files), 0); +#line 336 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (dirs), 0); +#line 337 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + count = 0; +#line 9247 "DirectoryMonitor.c" + { + GeeIterator* _file_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = self->priv->map; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = _tmp1_; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = _tmp2_; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp5_ = _tmp4_; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _file_it = _tmp5_; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + while (TRUE) { +#line 9274 "DirectoryMonitor.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GFile* parent = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GFile* _tmp13_ = NULL; + DirectoryMonitorFType ftype = 0; + GeeHashMap* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + GFileInfo* _tmp20_ = NULL; + DirectoryMonitorFType _tmp21_ = 0; + DirectoryMonitorFType _tmp22_ = 0; + DirectoryMonitorFType _tmp23_ = 0; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp6_ = _file_it; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!_tmp7_) { +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 9301 "DirectoryMonitor.c" + } +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp8_ = _file_it; +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + file = (GFile*) _tmp9_; +#line 339 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp10_ = file; +#line 339 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp11_ = g_file_get_parent (_tmp10_); +#line 339 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + parent = _tmp11_; +#line 340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp13_ = parent; +#line 340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp13_ == NULL) { +#line 340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = TRUE; +#line 9321 "DirectoryMonitor.c" + } else { + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp14_ = parent; +#line 340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp15_ = root; +#line 340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp16_ = g_file_equal (_tmp14_, _tmp15_); +#line 340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp12_ = !_tmp16_; +#line 9334 "DirectoryMonitor.c" + } +#line 340 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (_tmp12_) { +#line 341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (parent); +#line 341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (file); +#line 341 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + continue; +#line 9344 "DirectoryMonitor.c" + } +#line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp17_ = self->priv->map; +#line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp18_ = file; +#line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp19_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp18_); +#line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp20_ = (GFileInfo*) _tmp19_; +#line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp21_ = directory_monitor_get_ftype (_tmp20_); +#line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp22_ = _tmp21_; +#line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_tmp20_); +#line 343 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ftype = _tmp22_; +#line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp23_ = ftype; +#line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + switch (_tmp23_) { +#line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_FILE: +#line 9368 "DirectoryMonitor.c" + { + GeeCollection* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gint _tmp26_ = 0; +#line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp24_ = files; +#line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp25_ = file; +#line 346 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_collection_add (_tmp24_, _tmp25_); +#line 347 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp26_ = count; +#line 347 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + count = _tmp26_ + 1; +#line 348 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 9385 "DirectoryMonitor.c" + } +#line 344 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + case DIRECTORY_MONITOR_FTYPE_DIRECTORY: +#line 9389 "DirectoryMonitor.c" + { + GeeCollection* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gint _tmp29_ = 0; +#line 351 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp27_ = dirs; +#line 351 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp28_ = file; +#line 351 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + gee_collection_add (_tmp27_, _tmp28_); +#line 352 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp29_ = count; +#line 352 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + count = _tmp29_ + 1; +#line 353 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 9406 "DirectoryMonitor.c" + } + default: + { + DirectoryMonitorFType _tmp30_ = 0; +#line 356 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp30_ = ftype; +#line 356 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _vala_assert (_tmp30_ == DIRECTORY_MONITOR_FTYPE_UNSUPPORTED, "ftype == FType.UNSUPPORTED"); +#line 357 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + break; +#line 9417 "DirectoryMonitor.c" + } + } +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (parent); +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (file); +#line 9424 "DirectoryMonitor.c" + } +#line 338 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (_file_it); +#line 9428 "DirectoryMonitor.c" + } +#line 361 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + result = count; +#line 361 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return result; +#line 9434 "DirectoryMonitor.c" +} + + +static void directory_monitor_value_file_info_map_init (GValue* value) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 9441 "DirectoryMonitor.c" +} + + +static void directory_monitor_value_file_info_map_free_value (GValue* value) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (value->data[0].v_pointer) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_unref (value->data[0].v_pointer); +#line 9450 "DirectoryMonitor.c" + } +} + + +static void directory_monitor_value_file_info_map_copy_value (const GValue* src_value, GValue* dest_value) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (src_value->data[0].v_pointer) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + dest_value->data[0].v_pointer = directory_monitor_file_info_map_ref (src_value->data[0].v_pointer); +#line 9460 "DirectoryMonitor.c" + } else { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + dest_value->data[0].v_pointer = NULL; +#line 9464 "DirectoryMonitor.c" + } +} + + +static gpointer directory_monitor_value_file_info_map_peek_pointer (const GValue* value) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return value->data[0].v_pointer; +#line 9472 "DirectoryMonitor.c" +} + + +static gchar* directory_monitor_value_file_info_map_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (collect_values[0].v_pointer) { +#line 9479 "DirectoryMonitor.c" + DirectoryMonitorFileInfoMap* object; + object = collect_values[0].v_pointer; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (object->parent_instance.g_class == NULL) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9486 "DirectoryMonitor.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9490 "DirectoryMonitor.c" + } +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = directory_monitor_file_info_map_ref (object); +#line 9494 "DirectoryMonitor.c" + } else { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 9498 "DirectoryMonitor.c" + } +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return NULL; +#line 9502 "DirectoryMonitor.c" +} + + +static gchar* directory_monitor_value_file_info_map_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DirectoryMonitorFileInfoMap** object_p; + object_p = collect_values[0].v_pointer; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!object_p) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 9513 "DirectoryMonitor.c" + } +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (!value->data[0].v_pointer) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *object_p = NULL; +#line 9519 "DirectoryMonitor.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *object_p = value->data[0].v_pointer; +#line 9523 "DirectoryMonitor.c" + } else { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + *object_p = directory_monitor_file_info_map_ref (value->data[0].v_pointer); +#line 9527 "DirectoryMonitor.c" + } +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return NULL; +#line 9531 "DirectoryMonitor.c" +} + + +static GParamSpec* directory_monitor_param_spec_file_info_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + DirectoryMonitorParamSpecFileInfoMap* spec; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (g_type_is_a (object_type, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP), NULL); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return G_PARAM_SPEC (spec); +#line 9545 "DirectoryMonitor.c" +} + + +static gpointer directory_monitor_value_get_file_info_map (const GValue* value) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP), NULL); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return value->data[0].v_pointer; +#line 9554 "DirectoryMonitor.c" +} + + +static void directory_monitor_value_set_file_info_map (GValue* value, gpointer v_object) { + DirectoryMonitorFileInfoMap* old; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old = value->data[0].v_pointer; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (v_object) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = v_object; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_ref (value->data[0].v_pointer); +#line 9574 "DirectoryMonitor.c" + } else { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 9578 "DirectoryMonitor.c" + } +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (old) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_unref (old); +#line 9584 "DirectoryMonitor.c" + } +} + + +static void directory_monitor_value_take_file_info_map (GValue* value, gpointer v_object) { + DirectoryMonitorFileInfoMap* old; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + old = value->data[0].v_pointer; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (v_object) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP)); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = v_object; +#line 9603 "DirectoryMonitor.c" + } else { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 9607 "DirectoryMonitor.c" + } +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (old) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_unref (old); +#line 9613 "DirectoryMonitor.c" + } +} + + +static void directory_monitor_file_info_map_class_init (DirectoryMonitorFileInfoMapClass * klass) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_file_info_map_parent_class = g_type_class_peek_parent (klass); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorFileInfoMapClass *) klass)->finalize = directory_monitor_file_info_map_finalize; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_type_class_add_private (klass, sizeof (DirectoryMonitorFileInfoMapPrivate)); +#line 9625 "DirectoryMonitor.c" +} + + +static void directory_monitor_file_info_map_instance_init (DirectoryMonitorFileInfoMap * self) { + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv = DIRECTORY_MONITOR_FILE_INFO_MAP_GET_PRIVATE (self); +#line 129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_file_info_get_type (), (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->map = _tmp0_; +#line 131 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 131 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->id_map = _tmp1_; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->ref_count = 1; +#line 9644 "DirectoryMonitor.c" +} + + +static void directory_monitor_file_info_map_finalize (DirectoryMonitorFileInfoMap* obj) { + DirectoryMonitorFileInfoMap * self; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DIRECTORY_MONITOR_TYPE_FILE_INFO_MAP, DirectoryMonitorFileInfoMap); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_handlers_destroy (self); +#line 129 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->priv->map); +#line 131 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->priv->id_map); +#line 9658 "DirectoryMonitor.c" +} + + +static GType directory_monitor_file_info_map_get_type (void) { + static volatile gsize directory_monitor_file_info_map_type_id__volatile = 0; + if (g_once_init_enter (&directory_monitor_file_info_map_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { directory_monitor_value_file_info_map_init, directory_monitor_value_file_info_map_free_value, directory_monitor_value_file_info_map_copy_value, directory_monitor_value_file_info_map_peek_pointer, "p", directory_monitor_value_file_info_map_collect_value, "p", directory_monitor_value_file_info_map_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DirectoryMonitorFileInfoMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) directory_monitor_file_info_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectoryMonitorFileInfoMap), 0, (GInstanceInitFunc) directory_monitor_file_info_map_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType directory_monitor_file_info_map_type_id; + directory_monitor_file_info_map_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DirectoryMonitorFileInfoMap", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&directory_monitor_file_info_map_type_id__volatile, directory_monitor_file_info_map_type_id); + } + return directory_monitor_file_info_map_type_id__volatile; +} + + +static gpointer directory_monitor_file_info_map_ref (gpointer instance) { + DirectoryMonitorFileInfoMap* self; + self = instance; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_atomic_int_inc (&self->ref_count); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + return instance; +#line 9683 "DirectoryMonitor.c" +} + + +static void directory_monitor_file_info_map_unref (gpointer instance) { + DirectoryMonitorFileInfoMap* self; + self = instance; +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + DIRECTORY_MONITOR_FILE_INFO_MAP_GET_CLASS (self)->finalize (self); +#line 128 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 9696 "DirectoryMonitor.c" + } +} + + +static void directory_monitor_class_init (DirectoryMonitorClass * klass) { +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + directory_monitor_parent_class = g_type_class_peek_parent (klass); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_type_class_add_private (klass, sizeof (DirectoryMonitorPrivate)); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_root_deleted = directory_monitor_real_notify_root_deleted; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_root_moved = directory_monitor_real_notify_root_moved; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_discovery_started = directory_monitor_real_notify_discovery_started; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->internal_notify_file_discovered = directory_monitor_real_internal_notify_file_discovered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_discovered = directory_monitor_real_notify_file_discovered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->internal_notify_directory_discovered = directory_monitor_real_internal_notify_directory_discovered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_directory_discovered = directory_monitor_real_notify_directory_discovered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_discovery_failed = directory_monitor_real_notify_discovery_failed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_discovery_completed = directory_monitor_real_notify_discovery_completed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_created = directory_monitor_real_notify_file_created; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_moved = directory_monitor_real_notify_file_moved; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_altered = directory_monitor_real_notify_file_altered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_alteration_completed = directory_monitor_real_notify_file_alteration_completed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_attributes_altered = directory_monitor_real_notify_file_attributes_altered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_deleted = directory_monitor_real_notify_file_deleted; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_directory_created = directory_monitor_real_notify_directory_created; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_directory_moved = directory_monitor_real_notify_directory_moved; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_directory_altered = directory_monitor_real_notify_directory_altered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_directory_alteration_completed = directory_monitor_real_notify_directory_alteration_completed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_directory_attributes_altered = directory_monitor_real_notify_directory_attributes_altered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_directory_deleted = directory_monitor_real_notify_directory_deleted; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_closed = directory_monitor_real_notify_closed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->close = directory_monitor_real_close; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->root_moved = directory_monitor_real_root_moved; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->root_deleted = directory_monitor_real_root_deleted; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->discovery_started = directory_monitor_real_discovery_started; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->file_discovered = directory_monitor_real_file_discovered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->directory_discovered = directory_monitor_real_directory_discovered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->discovery_failed = directory_monitor_real_discovery_failed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->discovery_completed = directory_monitor_real_discovery_completed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->file_created = directory_monitor_real_file_created; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->file_moved = directory_monitor_real_file_moved; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->file_altered = directory_monitor_real_file_altered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->file_alteration_completed = directory_monitor_real_file_alteration_completed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->file_attributes_altered = directory_monitor_real_file_attributes_altered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->file_deleted = directory_monitor_real_file_deleted; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->directory_created = directory_monitor_real_directory_created; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->directory_moved = directory_monitor_real_directory_moved; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->directory_altered = directory_monitor_real_directory_altered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->directory_alteration_completed = directory_monitor_real_directory_alteration_completed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->directory_attributes_altered = directory_monitor_real_directory_attributes_altered; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->directory_deleted = directory_monitor_real_directory_deleted; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + ((DirectoryMonitorClass *) klass)->closed = directory_monitor_real_closed; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + G_OBJECT_CLASS (klass)->finalize = directory_monitor_finalize; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("root_moved", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, root_moved), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT, G_TYPE_NONE, 3, G_TYPE_FILE, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("root_deleted", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, root_deleted), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_FILE); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("discovery_started", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, discovery_started), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("file_discovered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_discovered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("directory_discovered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_discovered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("discovery_failed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, discovery_failed), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("discovery_completed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, discovery_completed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("file_created", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_created), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("file_moved", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_moved), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT, G_TYPE_NONE, 3, G_TYPE_FILE, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("file_altered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_FILE); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("file_alteration_completed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_alteration_completed), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("file_attributes_altered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_attributes_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_FILE); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("file_deleted", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, file_deleted), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_FILE); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("directory_created", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_created), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("directory_moved", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_moved), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT, G_TYPE_NONE, 3, G_TYPE_FILE, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("directory_altered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_FILE); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("directory_alteration_completed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_alteration_completed), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, g_file_info_get_type ()); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("directory_attributes_altered", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_attributes_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_FILE); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("directory_deleted", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, directory_deleted), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_FILE); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + g_signal_new ("closed", TYPE_DIRECTORY_MONITOR, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DirectoryMonitorClass, closed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 9834 "DirectoryMonitor.c" +} + + +static void directory_monitor_instance_init (DirectoryMonitor * self) { + GeeHashMap* _tmp0_ = NULL; + GeeLinkedList* _tmp1_ = NULL; + DirectoryMonitorFileInfoMap* _tmp2_ = NULL; + DirectoryMonitorFileInfoMap* _tmp3_ = NULL; + GCancellable* _tmp4_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv = DIRECTORY_MONITOR_GET_PRIVATE (self); +#line 368 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, g_file_monitor_get_type (), (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 368 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->monitors = _tmp0_; +#line 369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp1_ = gee_linked_list_new (DIRECTORY_MONITOR_TYPE_QUERY_INFO_QUEUE_ELEMENT, (GBoxedCopyFunc) directory_monitor_query_info_queue_element_ref, directory_monitor_query_info_queue_element_unref, NULL, NULL, NULL); +#line 369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->query_info_queue = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_QUEUE, GeeQueue); +#line 371 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp2_ = directory_monitor_file_info_map_new (); +#line 371 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->files = _tmp2_; +#line 372 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp3_ = directory_monitor_file_info_map_new (); +#line 372 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->parent_moved = _tmp3_; +#line 373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _tmp4_ = g_cancellable_new (); +#line 373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->cancellable = _tmp4_; +#line 374 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->outstanding_exploration_dirs = 0; +#line 375 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->started = FALSE; +#line 376 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->has_discovery_started = FALSE; +#line 377 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self->priv->delete_timer_id = (guint) 0; +#line 9874 "DirectoryMonitor.c" +} + + +static void directory_monitor_finalize (GObject* obj) { + DirectoryMonitor * self; +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DIRECTORY_MONITOR, DirectoryMonitor); +#line 365 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->priv->root); +#line 368 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->priv->monitors); +#line 369 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->priv->query_info_queue); +#line 371 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_file_info_map_unref0 (self->priv->files); +#line 372 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _directory_monitor_file_info_map_unref0 (self->priv->parent_moved); +#line 373 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + _g_object_unref0 (self->priv->cancellable); +#line 60 "/home/jens/Source/shotwell/src/DirectoryMonitor.vala" + G_OBJECT_CLASS (directory_monitor_parent_class)->finalize (obj); +#line 9896 "DirectoryMonitor.c" +} + + +GType directory_monitor_get_type (void) { + static volatile gsize directory_monitor_type_id__volatile = 0; + if (g_once_init_enter (&directory_monitor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectoryMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) directory_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectoryMonitor), 0, (GInstanceInitFunc) directory_monitor_instance_init, NULL }; + GType directory_monitor_type_id; + directory_monitor_type_id = g_type_register_static (G_TYPE_OBJECT, "DirectoryMonitor", &g_define_type_info, 0); + g_once_init_leave (&directory_monitor_type_id__volatile, directory_monitor_type_id); + } + return directory_monitor_type_id__volatile; +} + + + diff --git a/src/Event.c b/src/Event.c new file mode 100644 index 0000000..a68abc5 --- /dev/null +++ b/src/Event.c @@ -0,0 +1,7669 @@ +/* Event.c generated by valac 0.32.1, the Vala compiler + * generated from Event.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#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_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#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; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; + +#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; +typedef struct _ContainerSourceCollectionPrivate ContainerSourceCollectionPrivate; + +#define TYPE_CONTAINER_SOURCE (container_source_get_type ()) +#define CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE, ContainerSource)) +#define IS_CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE)) +#define CONTAINER_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONTAINER_SOURCE, ContainerSourceIface)) + +typedef struct _ContainerSource ContainerSource; +typedef struct _ContainerSourceIface ContainerSourceIface; + +#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; +typedef struct _EventSourceCollectionPrivate EventSourceCollectionPrivate; + +#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_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_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_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER (event_source_collection_no_event_view_manager_get_type ()) +#define EVENT_SOURCE_COLLECTION_NO_EVENT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER, EventSourceCollectionNoEventViewManager)) +#define EVENT_SOURCE_COLLECTION_NO_EVENT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER, EventSourceCollectionNoEventViewManagerClass)) +#define EVENT_SOURCE_COLLECTION_IS_NO_EVENT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER)) +#define EVENT_SOURCE_COLLECTION_IS_NO_EVENT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER)) +#define EVENT_SOURCE_COLLECTION_NO_EVENT_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER, EventSourceCollectionNoEventViewManagerClass)) + +typedef struct _EventSourceCollectionNoEventViewManager EventSourceCollectionNoEventViewManager; +typedef struct _EventSourceCollectionNoEventViewManagerClass EventSourceCollectionNoEventViewManagerClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_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_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +typedef struct _ViewManagerPrivate ViewManagerPrivate; + +#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; +typedef struct _EventSourceCollectionNoEventViewManagerPrivate EventSourceCollectionNoEventViewManagerPrivate; + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; +typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) +typedef struct _EventSourcePrivate EventSourcePrivate; + +#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_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; + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; +typedef struct _EventPrivate EventPrivate; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_EVENT_TABLE (event_table_get_type ()) +#define EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_TABLE, EventTable)) +#define EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_TABLE, EventTableClass)) +#define IS_EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_TABLE)) +#define IS_EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_TABLE)) +#define EVENT_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_TABLE, EventTableClass)) + +typedef struct _EventTable EventTable; +typedef struct _EventTableClass EventTableClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_EVENT_ROW (event_row_get_type ()) +#define EVENT_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_ROW, EventRow)) +#define EVENT_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_ROW, EventRowClass)) +#define IS_EVENT_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_ROW)) +#define IS_EVENT_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_ROW)) +#define EVENT_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_ROW, EventRowClass)) + +typedef struct _EventRow EventRow; +typedef struct _EventRowClass EventRowClass; +typedef struct _EventRowPrivate EventRowPrivate; + +#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 _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _event_row_unref0(var) ((var == NULL) ? NULL : (var = (event_row_unref (var), NULL))) + +#define TYPE_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ()) + +#define TYPE_RATING (rating_get_type ()) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _source_backlink_unref0(var) ((var == NULL) ? NULL : (var = (source_backlink_unref (var), NULL))) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define 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_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 EVENT_TYPE_EVENT_SNAPSHOT (event_event_snapshot_get_type ()) +#define EVENT_EVENT_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENT_TYPE_EVENT_SNAPSHOT, EventEventSnapshot)) +#define EVENT_EVENT_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENT_TYPE_EVENT_SNAPSHOT, EventEventSnapshotClass)) +#define EVENT_IS_EVENT_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENT_TYPE_EVENT_SNAPSHOT)) +#define EVENT_IS_EVENT_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENT_TYPE_EVENT_SNAPSHOT)) +#define EVENT_EVENT_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENT_TYPE_EVENT_SNAPSHOT, EventEventSnapshotClass)) + +typedef struct _EventEventSnapshot EventEventSnapshot; +typedef struct _EventEventSnapshotClass EventEventSnapshotClass; + +#define EVENT_TYPE_EVENT_PROXY (event_event_proxy_get_type ()) +#define EVENT_EVENT_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENT_TYPE_EVENT_PROXY, EventEventProxy)) +#define EVENT_EVENT_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENT_TYPE_EVENT_PROXY, EventEventProxyClass)) +#define EVENT_IS_EVENT_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENT_TYPE_EVENT_PROXY)) +#define EVENT_IS_EVENT_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENT_TYPE_EVENT_PROXY)) +#define EVENT_EVENT_PROXY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENT_TYPE_EVENT_PROXY, EventEventProxyClass)) + +typedef struct _EventEventProxy EventEventProxy; +typedef struct _EventEventProxyClass EventEventProxyClass; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; + +#define TYPE_PHOTO_TABLE (photo_table_get_type ()) +#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable)) +#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass)) +#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE)) +#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE)) +#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass)) + +typedef struct _PhotoTable PhotoTable; +typedef struct _PhotoTableClass PhotoTableClass; + +#define TYPE_VIDEO_TABLE (video_table_get_type ()) +#define VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_TABLE, VideoTable)) +#define VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_TABLE, VideoTableClass)) +#define IS_VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_TABLE)) +#define IS_VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_TABLE)) +#define VIDEO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_TABLE, VideoTableClass)) + +typedef struct _VideoTable VideoTable; +typedef struct _VideoTableClass VideoTableClass; +typedef struct _SourceSnapshotPrivate SourceSnapshotPrivate; +typedef struct _EventEventSnapshotPrivate EventEventSnapshotPrivate; +typedef struct _SourceProxyPrivate SourceProxyPrivate; +typedef struct _EventEventProxyPrivate EventEventProxyPrivate; +#define _source_snapshot_unref0(var) ((var == NULL) ? NULL : (var = (source_snapshot_unref (var), NULL))) +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _ContainerSourceIface { + GTypeInterface parent_iface; + gboolean (*has_links) (ContainerSource* self); + SourceBacklink* (*get_backlink) (ContainerSource* self); + void (*break_link) (ContainerSource* self, DataSource* source); + void (*break_link_many) (ContainerSource* self, GeeCollection* sources); + void (*establish_link) (ContainerSource* self, DataSource* source); + void (*establish_link_many) (ContainerSource* self, GeeCollection* sources); +}; + +struct _ContainerSourceCollection { + DatabaseSourceCollection parent_instance; + ContainerSourceCollectionPrivate * priv; +}; + +struct _ContainerSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; + void (*notify_container_contents_added) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); + void (*notify_container_contents_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); + void (*notify_container_contents_altered) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); + void (*notify_backlink_to_container_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); + GeeCollection* (*get_containers_holding_source) (ContainerSourceCollection* self, DataSource* source); + ContainerSource* (*convert_backlink_to_container) (ContainerSourceCollection* self, SourceBacklink* backlink); + void (*container_contents_added) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); + void (*container_contents_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); + void (*container_contents_altered) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); + void (*backlink_to_container_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); +}; + +struct _EventSourceCollection { + ContainerSourceCollection parent_instance; + EventSourceCollectionPrivate * priv; +}; + +struct _EventSourceCollectionClass { + ContainerSourceCollectionClass parent_class; +}; + +struct _EventSourceCollectionPrivate { + ViewCollection* no_event; +}; + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); +struct _EventID { + gint64 id; +}; + +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _EventSourceCollectionNoEventViewManager { + ViewManager parent_instance; + EventSourceCollectionNoEventViewManagerPrivate * priv; +}; + +struct _EventSourceCollectionNoEventViewManagerClass { + ViewManagerClass parent_class; +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +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 _ThumbnailSource { + DataSource parent_instance; + ThumbnailSourcePrivate * priv; +}; + +struct _ThumbnailSourceClass { + DataSourceClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailSource* self); + GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + gchar* (*get_representative_id) (ThumbnailSource* self); + PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self); + void (*thumbnail_altered) (ThumbnailSource* self); +}; + +struct _EventSource { + ThumbnailSource parent_instance; + EventSourcePrivate * priv; +}; + +struct _EventSourceClass { + ThumbnailSourceClass parent_class; + time_t (*get_start_time) (EventSource* self); + time_t (*get_end_time) (EventSource* self); + guint64 (*get_total_filesize) (EventSource* self); + gint (*get_media_count) (EventSource* self); + GeeCollection* (*get_media) (EventSource* self); + gchar* (*get_comment) (EventSource* self); + gboolean (*set_comment) (EventSource* self, const gchar* comment); +}; + +struct _ProxyableIface { + GTypeInterface parent_iface; + SourceProxy* (*get_proxy) (Proxyable* self); +}; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _Event { + EventSource parent_instance; + EventPrivate * priv; +}; + +struct _EventClass { + EventSourceClass parent_class; +}; + +struct _EventPrivate { + EventID event_id; + gchar* raw_name; + MediaSource* primary_source; + ViewCollection* view; + gboolean unlinking; + gboolean relinking; + gchar* indexable_keywords; + gchar* comment; +}; + +struct _EventRow { + GTypeInstance parent_instance; + volatile int ref_count; + EventRowPrivate * priv; + EventID event_id; + gchar* name; + time_t time_created; + gchar* primary_source_id; + gchar* comment; +}; + +struct _EventRowClass { + GTypeClass parent_class; + void (*finalize) (EventRow *self); +}; + +typedef enum { + PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL = 1 << 0, + PREPARE_INPUT_TEXT_OPTIONS_VALIDATE = 1 << 1, + PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL = 1 << 2, + PREPARE_INPUT_TEXT_OPTIONS_STRIP = 1 << 3, + PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF = 1 << 4, + PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE = 1 << 5, + PREPARE_INPUT_TEXT_OPTIONS_DEFAULT = ((((PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE +} PrepareInputTextOptions; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + 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 () +typedef DataView* (*CreateView) (DataSource* source, void* user_data); +typedef gboolean (*CreateViewPredicate) (DataSource* source, void* user_data); +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _SourceSnapshot { + GTypeInstance parent_instance; + volatile int ref_count; + SourceSnapshotPrivate * priv; +}; + +struct _SourceSnapshotClass { + GTypeClass parent_class; + void (*finalize) (SourceSnapshot *self); + void (*notify_broken) (SourceSnapshot* self); + void (*broken) (SourceSnapshot* self); +}; + +struct _EventEventSnapshot { + SourceSnapshot parent_instance; + EventEventSnapshotPrivate * priv; +}; + +struct _EventEventSnapshotClass { + SourceSnapshotClass parent_class; +}; + +struct _EventEventSnapshotPrivate { + EventRow* row; + MediaSource* primary_source; + GeeArrayList* attached_sources; +}; + +struct _SourceProxy { + GTypeInstance parent_instance; + volatile int ref_count; + SourceProxyPrivate * priv; +}; + +struct _SourceProxyClass { + GTypeClass parent_class; + void (*finalize) (SourceProxy *self); + DataSource* (*reconstitute) (SourceProxy* self, gint64 object_id, SourceSnapshot* snapshot); + void (*notify_reconstituted) (SourceProxy* self, DataSource* source); + void (*notify_dehydrated) (SourceProxy* self); + void (*notify_broken) (SourceProxy* self); + void (*reconstituted) (SourceProxy* self, DataSource* source); + void (*dehydrated) (SourceProxy* self); + void (*broken) (SourceProxy* self); +}; + +struct _EventEventProxy { + SourceProxy parent_instance; + EventEventProxyPrivate * priv; +}; + +struct _EventEventProxyClass { + SourceProxyClass parent_class; +}; + + +static gpointer event_source_collection_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +static gpointer event_source_collection_no_event_view_manager_parent_class = NULL; +static gpointer event_parent_class = NULL; +extern EventSourceCollection* event_global; +EventSourceCollection* event_global = NULL; +static EventTable* event_event_table; +static EventTable* event_event_table = NULL; +static gpointer event_event_snapshot_parent_class = NULL; +static gpointer event_event_proxy_parent_class = NULL; +static ContainerSourceIface* event_container_source_parent_iface = NULL; +static ProxyableIface* event_proxyable_parent_iface = NULL; +static IndexableIface* event_indexable_parent_iface = NULL; + +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 data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_get_type (void) G_GNUC_CONST; +GType event_source_collection_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +#define EVENT_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionPrivate)) +enum { + EVENT_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +EventSourceCollection* event_source_collection_new (void); +EventSourceCollection* event_source_collection_construct (GType object_type); +#define EVENT_TYPENAME "event" +static gint64 event_source_collection_get_event_key (DataSource* source); +static gint64 _event_source_collection_get_event_key_get_source_database_key (DataSource* source, gpointer self); +ContainerSourceCollection* container_source_collection_construct (GType object_type, const gchar* backlink_name, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +void container_source_collection_attach_collection (ContainerSourceCollection* self, SourceCollection* collection); +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +GType video_source_collection_get_type (void) G_GNUC_CONST; +void event_source_collection_init (EventSourceCollection* self); +ViewCollection* view_collection_new (const gchar* name); +ViewCollection* view_collection_construct (GType object_type, const gchar* name); +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +static GType event_source_collection_no_event_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static EventSourceCollectionNoEventViewManager* event_source_collection_no_event_view_manager_new (void); +static EventSourceCollectionNoEventViewManager* event_source_collection_no_event_view_manager_construct (GType object_type); +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +static void event_source_collection_on_no_event_collection_altered (EventSourceCollection* self, GeeIterable* added, GeeIterable* removed); +static void _event_source_collection_on_no_event_collection_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static gboolean event_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +void event_get_event_id (Event* self, EventID* result); +Event* event_source_collection_fetch (EventSourceCollection* self, EventID* event_id); +DataSource* database_source_collection_fetch_by_key (DatabaseSourceCollection* self, gint64 key); +static GeeCollection* event_source_collection_real_get_containers_holding_source (ContainerSourceCollection* base, DataSource* source); +GType media_source_get_type (void) G_GNUC_CONST; +Event* media_source_get_event (MediaSource* self); +static ContainerSource* event_source_collection_real_convert_backlink_to_container (ContainerSourceCollection* base, SourceBacklink* backlink); +gint64 source_backlink_get_instance_id (SourceBacklink* self); +void event_id_init (EventID *self, gint64 id); +GeeCollection* container_source_collection_get_holding_tank (ContainerSourceCollection* self); +GeeCollection* event_source_collection_get_no_event_objects (EventSourceCollection* self); +GeeCollection* view_collection_get_sources (ViewCollection* self); +GType data_view_get_type (void) G_GNUC_CONST; +enum { + EVENT_SOURCE_COLLECTION_NO_EVENT_VIEW_MANAGER_DUMMY_PROPERTY +}; +static gboolean event_source_collection_no_event_view_manager_real_include_in_view (ViewManager* base, DataSource* source); +void media_source_get_event_id (MediaSource* self, EventID* result); +#define EVENT_ID_INVALID ((gint64) -1) +gboolean view_manager_include_in_view (ViewManager* self, DataSource* source); +static DataView* event_source_collection_no_event_view_manager_real_create_view (ViewManager* base, DataSource* source); +ThumbnailView* thumbnail_view_new (ThumbnailSource* source); +ThumbnailView* thumbnail_view_construct (GType object_type, ThumbnailSource* source); +GType thumbnail_view_get_type (void) G_GNUC_CONST; +ViewManager* view_manager_construct (GType object_type); +static void event_source_collection_finalize (DataCollection* obj); +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType photo_file_format_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; +GType proxyable_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +#define EVENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENT, EventPrivate)) +enum { + EVENT_DUMMY_PROPERTY +}; +static void event_on_primary_thumbnail_altered (Event* self); +static void _event_on_primary_thumbnail_altered_thumbnail_source_thumbnail_altered (ThumbnailSource* _sender, gpointer self); +static void event_on_media_altered (Event* self, GeeMap* items); +static void _event_on_media_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static void event_on_media_removed (Event* self, GeeIterable* removed); +static void _event_on_media_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self); +static void event_on_media_added (Event* self, GeeIterable* added); +static void _event_on_media_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self); +static void event_on_media_destroyed (Event* self, DataSource* source); +static void _event_on_media_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType event_table_get_type (void) G_GNUC_CONST; +#define EVENT_PROP_SHOW_COMMENTS "show-comments" +#define EVENT_EVENT_BOUNDARY_HOUR 4 +#define EVENT_TIME_T_DAY ((time_t) ((24 * 60) * 60)) +gpointer event_row_ref (gpointer instance); +void event_row_unref (gpointer instance); +GParamSpec* param_spec_event_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_event_row (GValue* value, gpointer v_object); +void value_take_event_row (GValue* value, gpointer v_object); +gpointer value_get_event_row (const GValue* value); +GType event_row_get_type (void) G_GNUC_CONST; +static Event* event_new (EventRow* event_row, gint64 object_id); +static Event* event_construct (GType object_type, EventRow* event_row, gint64 object_id); +EventSource* event_source_construct (GType object_type, gint64 object_id); +gchar* event_prep_event_name (const gchar* name); +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_source_ids_for_event_id (MediaCollectionRegistry* self, EventID* event_id); +MediaSource* media_collection_registry_fetch_media (MediaCollectionRegistry* self, const gchar* source_id); +void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +static gint64 event_view_comparator (void* a, void* b); +static gint64 _event_view_comparator_comparator (void* a, void* b, gpointer self); +static gboolean event_view_comparator_predicate (DataObject* object, Alteration* alteration); +static gboolean _event_view_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +void container_source_collection_notify_container_contents_added (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); +void container_source_collection_notify_container_contents_altered (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); +gint data_collection_get_count (DataCollection* self); +DataView* view_collection_get_first_unrejected (ViewCollection* self); +DataSource* data_view_get_source (DataView* self); +gboolean event_table_set_primary_source_id (EventTable* self, EventID* event_id, const gchar* primary_source_id); +gchar* data_source_get_source_id (DataSource* self); +static void event_update_indexable_keywords (Event* self); +static gchar* event_real_get_typename (DataSource* base); +static gint64 event_real_get_instance_id (DataSource* base); +static gchar* event_real_get_representative_id (ThumbnailSource* base); +static PhotoFileFormat event_real_get_preferred_thumbnail_format (ThumbnailSource* base); +PhotoFileFormat thumbnail_source_get_preferred_thumbnail_format (ThumbnailSource* self); +PhotoFileFormat photo_file_format_get_system_default_format (void); +static GdkPixbuf* event_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* thumbnail_source_create_thumbnail (ThumbnailSource* self, gint scale, GError** error); +void event_init (ProgressMonitor monitor, void* monitor_target); +EventTable* event_table_get_instance (void); +GeeArrayList* event_table_get_events (EventTable* self); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +gint event_source_get_media_count (EventSource* self); +void data_source_rehydrate_backlinks (DataSource* self, SourceCollection* unlinked_from, const gchar* dehydrated); +void container_source_collection_init_add_many_unlinked (ContainerSourceCollection* self, GeeCollection* unlinked); +void event_terminate (void); +time_t media_source_get_exposure_time (MediaSource* self); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +GType prepare_input_text_options_get_type (void) G_GNUC_CONST; +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length); +#define DEFAULT_USER_TEXT_INPUT_LENGTH 1024 +void event_attach (Event* self, MediaSource* source); +gboolean data_collection_add (DataCollection* self, DataObject* object); +void event_attach_many (Event* self, GeeCollection* media); +void event_detach (Event* self, MediaSource* source); +void data_collection_remove_marked (DataCollection* self, Marker* m); +Marker* data_collection_mark (DataCollection* self, DataObject* object); +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +void event_detach_many (Event* self, GeeCollection* media); +Marker* data_collection_mark_many (DataCollection* self, GeeCollection* objects); +gboolean event_contains_media_type (Event* self, const gchar* media_type); +GeeCollection* event_source_get_media (EventSource* self); +gchar* data_source_get_typename (DataSource* self); +static GeeArrayList* event_views_to_media (Event* self, GeeIterable* views); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +Alteration* alteration_new_from_list (const gchar* list); +Alteration* alteration_construct_from_list (GType object_type, const gchar* list); +void container_source_collection_notify_container_contents_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); +gboolean event_set_primary_source (Event* self, MediaSource* source); +static void event_release_primary_source (Event* self); +void container_source_collection_evaporate (ContainerSourceCollection* self, ContainerSource* container); +static void event_real_notify_relinking (DataSource* base, SourceCollection* sources); +void data_source_notify_relinking (DataSource* self, SourceCollection* collection); +gboolean event_has_name (Event* self); +MediaSource* event_get_primary_source (Event* self); +GType rating_get_type (void) G_GNUC_CONST; +Rating media_source_get_rating (MediaSource* self); +Event* event_create_empty_event (MediaSource* source); +GQuark database_error_quark (void); +EventRow* event_table_create (EventTable* self, const gchar* primary_source_id, const gchar* comment, GError** error); +gchar* data_object_to_string (DataObject* self); +void app_window_database_error (GError* err); +static Event* event_reconstitute (gint64 object_id, EventRow* row); +void event_table_create_from_row (EventTable* self, EventRow* row, EventID* result); +gboolean data_collection_contains (DataCollection* self, DataObject* object); +static gboolean event_real_has_links (ContainerSource* base); +gboolean source_collection_has_backlink (SourceCollection* self, SourceBacklink* backlink); +SourceBacklink* container_source_get_backlink (ContainerSource* self); +static SourceBacklink* event_real_get_backlink (ContainerSource* base); +SourceBacklink* source_backlink_new_from_source (DataSource* source); +SourceBacklink* source_backlink_construct_from_source (GType object_type, DataSource* source); +static void event_real_break_link (ContainerSource* base, DataSource* source); +gboolean media_source_set_event (MediaSource* self, Event* new_event); +static void event_real_break_link_many (ContainerSource* base, GeeCollection* sources); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos); +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; +void media_source_set_many_to_event (GeeCollection* media_sources, Event* event, TransactionController* controller, GError** error); +TransactionController* media_source_collection_get_transaction_controller (MediaSourceCollection* self); +void app_window_error_message (const gchar* message, GtkWindow* parent); +static void event_real_establish_link (ContainerSource* base, DataSource* source); +static void event_real_establish_link_many (ContainerSource* base, GeeCollection* sources); +gchar* event_get_raw_name (Event* self); +gchar* event_source_get_comment (EventSource* self); +gchar* indexable_prepare_indexable_string (const gchar* str); +static const gchar* event_real_get_indexable_keywords (Indexable* base); +gboolean event_is_in_starting_day (Event* self, time_t time); +DataObject* data_collection_get_at (DataCollection* self, gint index); +static Event* event_generate_event (MediaSource* media, ViewCollection* events_so_far, const gchar* event_name, gboolean* new_event); +GType event_view_get_type (void) G_GNUC_CONST; +gchar* data_object_get_name (DataObject* self); +gboolean event_rename (Event* self, const gchar* name); +EventView* event_view_new (EventSource* source); +EventView* event_view_construct (GType object_type, EventSource* source); +void event_generate_single_event (MediaSource* media, ViewCollection* events_so_far, const gchar* event_name); +void event_generate_many_events (GeeCollection* sources, ViewCollection* events_so_far); +static SourceSnapshot* event_real_save_snapshot (DataSource* base); +static EventEventSnapshot* event_event_snapshot_new (Event* event); +static EventEventSnapshot* event_event_snapshot_construct (GType object_type, Event* event); +static GType event_event_snapshot_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SourceProxy* event_real_get_proxy (Proxyable* base); +static EventEventProxy* event_event_proxy_new (Event* event); +static EventEventProxy* event_event_proxy_construct (GType object_type, Event* event); +static GType event_event_proxy_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static gboolean event_real_equals (DataSource* base, DataSource* source); +gboolean data_source_equals (DataSource* self, DataSource* source); +static gchar* event_real_to_string (DataObject* base); +gint64 data_object_get_object_id (DataObject* self); +static gchar* event_real_get_name (DataObject* base); +gchar* event_get_formatted_daterange (Event* self); +gboolean is_string_empty (const gchar* s); +time_t event_source_get_start_time (EventSource* self); +time_t event_source_get_end_time (EventSource* self); +gchar* format_local_date (struct tm* date); +gchar* format_local_datespan (struct tm* from_date, struct tm* to_date); +static gchar* event_real_get_comment (EventSource* base); +gboolean event_table_rename (EventTable* self, EventID* event_id, const gchar* name); +static gboolean event_real_set_comment (EventSource* base, const gchar* comment); +gchar* media_source_prep_comment (const gchar* comment); +gboolean event_table_set_comment (EventTable* self, EventID* event_id, const gchar* new_comment); +time_t event_get_creation_time (Event* self); +time_t event_table_get_time_created (EventTable* self, EventID* event_id); +static time_t event_real_get_start_time (EventSource* base); +static time_t event_real_get_end_time (EventSource* base); +static guint64 event_real_get_total_filesize (EventSource* base); +guint64 media_source_get_filesize (MediaSource* self); +static gint event_real_get_media_count (EventSource* base); +static GeeCollection* event_real_get_media (EventSource* base); +void event_mirror_photos (Event* self, ViewCollection* view, CreateView mirroring_ctor, void* mirroring_ctor_target); +void view_collection_mirror (ViewCollection* self, ViewCollection* to_mirror, CreateView mirroring_ctor, void* mirroring_ctor_target, CreateViewPredicate should_mirror, void* should_mirror_target); +void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self); +gboolean view_collection_has_view_for_source (ViewCollection* self, DataSource* source); +static GdkPixbuf* event_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +GdkPixbuf* event_get_preview_pixbuf (Event* self, Scaling* scaling); +GdkPixbuf* media_source_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error); +static void event_real_destroy (DataSource* base); +void view_collection_halt_all_monitoring (ViewCollection* self); +void event_table_remove (EventTable* self, EventID* event_id, GError** error); +GType photo_table_get_type (void) G_GNUC_CONST; +PhotoTable* photo_table_get_instance (void); +gboolean photo_table_drop_event (PhotoTable* self, EventID* event_id); +GType video_table_get_type (void) G_GNUC_CONST; +VideoTable* video_table_get_instance (void); +gboolean video_table_drop_event (VideoTable* self, EventID* event_id); +void data_source_destroy (DataSource* self); +#define EVENT_EVENT_SNAPSHOT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENT_TYPE_EVENT_SNAPSHOT, EventEventSnapshotPrivate)) +enum { + EVENT_EVENT_SNAPSHOT_DUMMY_PROPERTY +}; +static void event_event_snapshot_on_attached_source_destroyed (EventEventSnapshot* self, DataSource* source); +static void _event_event_snapshot_on_attached_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +SourceSnapshot* source_snapshot_construct (GType object_type); +EventRow* event_table_get_row (EventTable* self, EventID* event_id); +static EventRow* event_event_snapshot_get_row (EventEventSnapshot* self); +static void event_event_snapshot_real_notify_broken (SourceSnapshot* base); +EventRow* event_row_new (void); +EventRow* event_row_construct (GType object_type); +void source_snapshot_notify_broken (SourceSnapshot* self); +static void event_event_snapshot_finalize (SourceSnapshot* obj); +enum { + EVENT_EVENT_PROXY_DUMMY_PROPERTY +}; +SourceProxy* source_proxy_construct (GType object_type, DataSource* source); +static DataSource* event_event_proxy_real_reconstitute (SourceProxy* base, gint64 object_id, SourceSnapshot* snapshot); +static void event_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static gint64 _event_source_collection_get_event_key_get_source_database_key (DataSource* source, gpointer self) { + gint64 result; + result = event_source_collection_get_event_key (source); +#line 25 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1280 "Event.c" +} + + +EventSourceCollection* event_source_collection_construct (GType object_type) { + EventSourceCollection* self = NULL; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + VideoSourceCollection* _tmp1_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/Event.vala" + self = (EventSourceCollection*) container_source_collection_construct (object_type, EVENT_TYPENAME, "EventSourceCollection", _event_source_collection_get_event_key_get_source_database_key, NULL); +#line 27 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = library_photo_global; +#line 27 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_attach_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection)); +#line 28 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = video_global; +#line 28 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_attach_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_COLLECTION, SourceCollection)); +#line 24 "/home/jens/Source/shotwell/src/Event.vala" + return self; +#line 1300 "Event.c" +} + + +EventSourceCollection* event_source_collection_new (void) { +#line 24 "/home/jens/Source/shotwell/src/Event.vala" + return event_source_collection_construct (TYPE_EVENT_SOURCE_COLLECTION); +#line 1307 "Event.c" +} + + +static void _event_source_collection_on_no_event_collection_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 40 "/home/jens/Source/shotwell/src/Event.vala" + event_source_collection_on_no_event_collection_altered ((EventSourceCollection*) self, added, removed); +#line 1314 "Event.c" +} + + +void event_source_collection_init (EventSourceCollection* self) { + ViewCollection* _tmp0_ = NULL; + EventSourceCollectionNoEventViewManager* view_manager = NULL; + EventSourceCollectionNoEventViewManager* _tmp1_ = NULL; + Alteration* filter_alteration = NULL; + Alteration* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + LibraryPhotoSourceCollection* _tmp4_ = NULL; + ViewCollectionMonitor* _tmp5_ = NULL; + ViewCollectionMonitor* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + VideoSourceCollection* _tmp8_ = NULL; + ViewCollectionMonitor* _tmp9_ = NULL; + ViewCollectionMonitor* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT_SOURCE_COLLECTION (self)); +#line 32 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = view_collection_new ("No Event View Collection"); +#line 32 "/home/jens/Source/shotwell/src/Event.vala" + _data_collection_unref0 (self->priv->no_event); +#line 32 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->no_event = _tmp0_; +#line 34 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_source_collection_no_event_view_manager_new (); +#line 34 "/home/jens/Source/shotwell/src/Event.vala" + view_manager = _tmp1_; +#line 35 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = alteration_new ("metadata", "event"); +#line 35 "/home/jens/Source/shotwell/src/Event.vala" + filter_alteration = _tmp2_; +#line 37 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = self->priv->no_event; +#line 37 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = library_photo_global; +#line 37 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = view_collection_monitor_source_collection (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (view_manager, TYPE_VIEW_MANAGER, ViewManager), filter_alteration, NULL, NULL, NULL); +#line 37 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = _tmp5_; +#line 37 "/home/jens/Source/shotwell/src/Event.vala" + _view_collection_monitor_unref0 (_tmp6_); +#line 38 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = self->priv->no_event; +#line 38 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = video_global; +#line 38 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = view_collection_monitor_source_collection (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (view_manager, TYPE_VIEW_MANAGER, ViewManager), filter_alteration, NULL, NULL, NULL); +#line 38 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _tmp9_; +#line 38 "/home/jens/Source/shotwell/src/Event.vala" + _view_collection_monitor_unref0 (_tmp10_); +#line 40 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = self->priv->no_event; +#line 40 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _event_source_collection_on_no_event_collection_altered_data_collection_contents_altered, self); +#line 31 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_unref0 (filter_alteration); +#line 31 "/home/jens/Source/shotwell/src/Event.vala" + _view_manager_unref0 (view_manager); +#line 1377 "Event.c" +} + + +static gboolean event_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source) { + EventSourceCollection * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection); +#line 43 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 44 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source; +#line 44 "/home/jens/Source/shotwell/src/Event.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_EVENT); +#line 44 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1395 "Event.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/Event.vala" + return self ? g_object_ref (self) : NULL; +#line 1402 "Event.c" +} + + +static gint64 event_source_collection_get_event_key (DataSource* source) { + gint64 result = 0LL; + Event* event = NULL; + DataSource* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + EventID event_id = {0}; + EventID _tmp2_ = {0}; + EventID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; +#line 47 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), 0LL); +#line 48 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source; +#line 48 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT, Event)); +#line 48 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp1_; +#line 49 "/home/jens/Source/shotwell/src/Event.vala" + event_get_event_id (event, &_tmp2_); +#line 49 "/home/jens/Source/shotwell/src/Event.vala" + event_id = _tmp2_; +#line 51 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = event_id; +#line 51 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = _tmp3_.id; +#line 51 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp4_; +#line 51 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 51 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1437 "Event.c" +} + + +Event* event_source_collection_fetch (EventSourceCollection* self, EventID* event_id) { + Event* result = NULL; + EventID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + DataSource* _tmp2_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT_SOURCE_COLLECTION (self), NULL); +#line 54 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 55 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = *event_id; +#line 55 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _tmp0_.id; +#line 55 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = database_source_collection_fetch_by_key (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), _tmp1_); +#line 55 "/home/jens/Source/shotwell/src/Event.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_EVENT, Event); +#line 55 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1460 "Event.c" +} + + +static GeeCollection* event_source_collection_real_get_containers_holding_source (ContainerSourceCollection* base, DataSource* source) { + EventSourceCollection * self; + GeeCollection* result = NULL; + Event* event = NULL; + DataSource* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + Event* _tmp2_ = NULL; + GeeArrayList* list = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; + Event* _tmp5_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection); +#line 58 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 59 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source; +#line 59 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = media_source_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 59 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp1_; +#line 60 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event; +#line 60 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp2_ == NULL) { +#line 61 "/home/jens/Source/shotwell/src/Event.vala" + result = NULL; +#line 61 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 61 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1495 "Event.c" + } +#line 63 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = gee_array_list_new (TYPE_CONTAINER_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 63 "/home/jens/Source/shotwell/src/Event.vala" + list = _tmp3_; +#line 64 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = list; +#line 64 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = event; +#line 64 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONTAINER_SOURCE, ContainerSource)); +#line 66 "/home/jens/Source/shotwell/src/Event.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (list, GEE_TYPE_COLLECTION, GeeCollection); +#line 66 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 66 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1513 "Event.c" +} + + +static ContainerSource* event_source_collection_real_convert_backlink_to_container (ContainerSourceCollection* base, SourceBacklink* backlink) { + EventSourceCollection * self; + ContainerSource* result = NULL; + EventID event_id = {0}; + SourceBacklink* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + gint64 _tmp2_ = 0LL; + Event* event = NULL; + EventID _tmp3_ = {0}; + Event* _tmp4_ = NULL; + Event* _tmp5_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection); +#line 69 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (backlink), NULL); +#line 70 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = backlink; +#line 70 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = source_backlink_get_instance_id (_tmp0_); +#line 70 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp1_; +#line 70 "/home/jens/Source/shotwell/src/Event.vala" + event_id_init (&event_id, _tmp2_); +#line 72 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = event_id; +#line 72 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = event_source_collection_fetch (self, &_tmp3_); +#line 72 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp4_; +#line 73 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = event; +#line 73 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp5_ != NULL) { +#line 74 "/home/jens/Source/shotwell/src/Event.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_CONTAINER_SOURCE, ContainerSource); +#line 74 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1554 "Event.c" + } + { + GeeIterator* _container_it = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = container_source_collection_get_holding_tank (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)); +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_; +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = _tmp8_; +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp7_); +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _container_it = _tmp9_; +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 1576 "Event.c" + GeeIterator* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + ContainerSource* container = NULL; + GeeIterator* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + ContainerSource* _tmp14_ = NULL; + EventID _tmp15_ = {0}; + gint64 _tmp16_ = 0LL; + EventID _tmp17_ = {0}; + gint64 _tmp18_ = 0LL; +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _container_it; +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = gee_iterator_next (_tmp10_); +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp11_) { +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 1595 "Event.c" + } +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = _container_it; +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = gee_iterator_get (_tmp12_); +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + container = (ContainerSource*) _tmp13_; +#line 77 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = container; +#line 77 "/home/jens/Source/shotwell/src/Event.vala" + event_get_event_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_EVENT, Event), &_tmp15_); +#line 77 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = _tmp15_.id; +#line 77 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = event_id; +#line 77 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = _tmp17_.id; +#line 77 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp16_ == _tmp18_) { +#line 78 "/home/jens/Source/shotwell/src/Event.vala" + result = container; +#line 78 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_container_it); +#line 78 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 78 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1623 "Event.c" + } +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (container); +#line 1627 "Event.c" + } +#line 76 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_container_it); +#line 1631 "Event.c" + } +#line 81 "/home/jens/Source/shotwell/src/Event.vala" + result = NULL; +#line 81 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 81 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1639 "Event.c" +} + + +GeeCollection* event_source_collection_get_no_event_objects (EventSourceCollection* self) { + GeeCollection* result = NULL; + ViewCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT_SOURCE_COLLECTION (self), NULL); +#line 85 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->no_event; +#line 85 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = view_collection_get_sources (_tmp0_); +#line 85 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 85 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1657 "Event.c" +} + + +static void event_source_collection_on_no_event_collection_altered (EventSourceCollection* self, GeeIterable* added, GeeIterable* removed) { +#line 88 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT_SOURCE_COLLECTION (self)); +#line 88 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 88 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 90 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_emit_by_name (self, "no-event-collection-altered"); +#line 1670 "Event.c" +} + + +static gboolean event_source_collection_no_event_view_manager_real_include_in_view (ViewManager* base, DataSource* source) { + EventSourceCollectionNoEventViewManager * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + DataSource* _tmp1_ = NULL; + EventID _tmp2_ = {0}; + gint64 _tmp3_ = 0LL; +#line 13 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER, EventSourceCollectionNoEventViewManager); +#line 13 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 15 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = source; +#line 15 "/home/jens/Source/shotwell/src/Event.vala" + media_source_get_event_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp2_); +#line 15 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_.id; +#line 15 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp3_ != EVENT_ID_INVALID) { +#line 15 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = FALSE; +#line 1695 "Event.c" + } else { + DataSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 16 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = source; +#line 16 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = VIEW_MANAGER_CLASS (event_source_collection_no_event_view_manager_parent_class)->include_in_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_VIEW_MANAGER, ViewManager), _tmp4_); +#line 16 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp5_; +#line 1705 "Event.c" + } +#line 15 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 15 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1711 "Event.c" +} + + +static DataView* event_source_collection_no_event_view_manager_real_create_view (ViewManager* base, DataSource* source) { + EventSourceCollectionNoEventViewManager * self; + DataView* result = NULL; + DataSource* _tmp0_ = NULL; + ThumbnailView* _tmp1_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER, EventSourceCollectionNoEventViewManager); +#line 19 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 20 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source; +#line 20 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 20 "/home/jens/Source/shotwell/src/Event.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_VIEW, DataView); +#line 20 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1732 "Event.c" +} + + +static EventSourceCollectionNoEventViewManager* event_source_collection_no_event_view_manager_construct (GType object_type) { + EventSourceCollectionNoEventViewManager* self = NULL; +#line 12 "/home/jens/Source/shotwell/src/Event.vala" + self = (EventSourceCollectionNoEventViewManager*) view_manager_construct (object_type); +#line 12 "/home/jens/Source/shotwell/src/Event.vala" + return self; +#line 1742 "Event.c" +} + + +static EventSourceCollectionNoEventViewManager* event_source_collection_no_event_view_manager_new (void) { +#line 12 "/home/jens/Source/shotwell/src/Event.vala" + return event_source_collection_no_event_view_manager_construct (EVENT_SOURCE_COLLECTION_TYPE_NO_EVENT_VIEW_MANAGER); +#line 1749 "Event.c" +} + + +static void event_source_collection_no_event_view_manager_class_init (EventSourceCollectionNoEventViewManagerClass * klass) { +#line 12 "/home/jens/Source/shotwell/src/Event.vala" + event_source_collection_no_event_view_manager_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/src/Event.vala" + ((ViewManagerClass *) klass)->include_in_view = event_source_collection_no_event_view_manager_real_include_in_view; +#line 12 "/home/jens/Source/shotwell/src/Event.vala" + ((ViewManagerClass *) klass)->create_view = event_source_collection_no_event_view_manager_real_create_view; +#line 1760 "Event.c" +} + + +static void event_source_collection_no_event_view_manager_instance_init (EventSourceCollectionNoEventViewManager * self) { +} + + +static GType event_source_collection_no_event_view_manager_get_type (void) { + static volatile gsize event_source_collection_no_event_view_manager_type_id__volatile = 0; + if (g_once_init_enter (&event_source_collection_no_event_view_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventSourceCollectionNoEventViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_source_collection_no_event_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventSourceCollectionNoEventViewManager), 0, (GInstanceInitFunc) event_source_collection_no_event_view_manager_instance_init, NULL }; + GType event_source_collection_no_event_view_manager_type_id; + event_source_collection_no_event_view_manager_type_id = g_type_register_static (TYPE_VIEW_MANAGER, "EventSourceCollectionNoEventViewManager", &g_define_type_info, 0); + g_once_init_leave (&event_source_collection_no_event_view_manager_type_id__volatile, event_source_collection_no_event_view_manager_type_id); + } + return event_source_collection_no_event_view_manager_type_id__volatile; +} + + +static void event_source_collection_class_init (EventSourceCollectionClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + event_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + ((DataCollectionClass *) klass)->finalize = event_source_collection_finalize; +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + g_type_class_add_private (klass, sizeof (EventSourceCollectionPrivate)); +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = event_source_collection_real_holds_type_of_source; +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + ((ContainerSourceCollectionClass *) klass)->get_containers_holding_source = event_source_collection_real_get_containers_holding_source; +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + ((ContainerSourceCollectionClass *) klass)->convert_backlink_to_container = event_source_collection_real_convert_backlink_to_container; +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_new ("no_event_collection_altered", TYPE_EVENT_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 1795 "Event.c" +} + + +static void event_source_collection_instance_init (EventSourceCollection * self) { +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + self->priv = EVENT_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 1802 "Event.c" +} + + +static void event_source_collection_finalize (DataCollection* obj) { + EventSourceCollection * self; +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection); +#line 10 "/home/jens/Source/shotwell/src/Event.vala" + _data_collection_unref0 (self->priv->no_event); +#line 7 "/home/jens/Source/shotwell/src/Event.vala" + DATA_COLLECTION_CLASS (event_source_collection_parent_class)->finalize (obj); +#line 1814 "Event.c" +} + + +GType event_source_collection_get_type (void) { + static volatile gsize event_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&event_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventSourceCollection), 0, (GInstanceInitFunc) event_source_collection_instance_init, NULL }; + GType event_source_collection_type_id; + event_source_collection_type_id = g_type_register_static (TYPE_CONTAINER_SOURCE_COLLECTION, "EventSourceCollection", &g_define_type_info, 0); + g_once_init_leave (&event_source_collection_type_id__volatile, event_source_collection_type_id); + } + return event_source_collection_type_id__volatile; +} + + +static void _event_on_primary_thumbnail_altered_thumbnail_source_thumbnail_altered (ThumbnailSource* _sender, gpointer self) { +#line 238 "/home/jens/Source/shotwell/src/Event.vala" + event_on_primary_thumbnail_altered ((Event*) self); +#line 1833 "Event.c" +} + + +static void _event_on_media_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 240 "/home/jens/Source/shotwell/src/Event.vala" + event_on_media_altered ((Event*) self, items); +#line 1840 "Event.c" +} + + +static void _event_on_media_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self) { +#line 241 "/home/jens/Source/shotwell/src/Event.vala" + event_on_media_removed ((Event*) self, removed); +#line 1847 "Event.c" +} + + +static void _event_on_media_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self) { +#line 242 "/home/jens/Source/shotwell/src/Event.vala" + event_on_media_added ((Event*) self, added); +#line 1854 "Event.c" +} + + +static void _event_on_media_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 244 "/home/jens/Source/shotwell/src/Event.vala" + event_on_media_destroyed ((Event*) self, source); +#line 1861 "Event.c" +} + + +static gint64 _event_view_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = event_view_comparator (a, b); +#line 201 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1870 "Event.c" +} + + +static gboolean _event_view_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) { + gboolean result; + result = event_view_comparator_predicate (object, alteration); +#line 201 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 1879 "Event.c" +} + + +static Event* event_construct (GType object_type, EventRow* event_row, gint64 object_id) { + Event * self = NULL; + gint64 _tmp0_ = 0LL; + EventRow* _tmp1_ = NULL; + EventRow* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + EventRow* _tmp5_ = NULL; + EventID _tmp6_ = {0}; + EventRow* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + EventRow* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GeeCollection* event_source_ids = NULL; + MediaCollectionRegistry* _tmp13_ = NULL; + MediaCollectionRegistry* _tmp14_ = NULL; + EventID _tmp15_ = {0}; + GeeCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeArrayList* event_thumbs = NULL; + GeeArrayList* _tmp18_ = NULL; + EventID _tmp35_ = {0}; + gint64 _tmp36_ = 0LL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + ViewCollection* _tmp41_ = NULL; + ViewCollection* _tmp42_ = NULL; + ViewCollection* _tmp43_ = NULL; + GeeArrayList* _tmp44_ = NULL; + GeeCollection* _tmp45_ = NULL; + GeeCollection* _tmp46_ = NULL; + GeeArrayList* _tmp47_ = NULL; + gint _tmp48_ = 0; + gint _tmp49_ = 0; + MediaCollectionRegistry* _tmp54_ = NULL; + MediaCollectionRegistry* _tmp55_ = NULL; + EventRow* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + MediaSource* _tmp58_ = NULL; + gboolean _tmp59_ = FALSE; + MediaSource* _tmp60_ = NULL; + MediaSource* _tmp72_ = NULL; + ViewCollection* _tmp74_ = NULL; + ViewCollection* _tmp75_ = NULL; + ViewCollection* _tmp76_ = NULL; + LibraryPhotoSourceCollection* _tmp77_ = NULL; + VideoSourceCollection* _tmp78_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT_ROW (event_row), NULL); +#line 181 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = object_id; +#line 181 "/home/jens/Source/shotwell/src/Event.vala" + self = (Event*) event_source_construct (object_type, _tmp0_); +#line 184 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_row; +#line 184 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event_row; +#line 184 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_->name; +#line 184 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = event_prep_event_name (_tmp3_); +#line 184 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp1_->name); +#line 184 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_->name = _tmp4_; +#line 186 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = event_row; +#line 186 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = _tmp5_->event_id; +#line 186 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->event_id = _tmp6_; +#line 187 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = event_row; +#line 187 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = _tmp7_->name; +#line 187 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 187 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->raw_name); +#line 187 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->raw_name = _tmp9_; +#line 188 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = event_row; +#line 188 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = _tmp10_->comment; +#line 188 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 188 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->comment); +#line 188 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->comment = _tmp12_; +#line 190 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = media_collection_registry_get_instance (); +#line 190 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = _tmp13_; +#line 190 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = self->priv->event_id; +#line 190 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = media_collection_registry_get_source_ids_for_event_id (_tmp14_, &_tmp15_); +#line 190 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = _tmp16_; +#line 190 "/home/jens/Source/shotwell/src/Event.vala" + _media_collection_registry_unref0 (_tmp14_); +#line 190 "/home/jens/Source/shotwell/src/Event.vala" + event_source_ids = _tmp17_; +#line 192 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = gee_array_list_new (TYPE_THUMBNAIL_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 192 "/home/jens/Source/shotwell/src/Event.vala" + event_thumbs = _tmp18_; +#line 1996 "Event.c" + { + GeeIterator* _current_source_id_it = NULL; + GeeCollection* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = event_source_ids; +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _current_source_id_it = _tmp20_; +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 2009 "Event.c" + GeeIterator* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + gchar* current_source_id = NULL; + GeeIterator* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + MediaSource* media = NULL; + MediaCollectionRegistry* _tmp25_ = NULL; + MediaCollectionRegistry* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + MediaSource* _tmp28_ = NULL; + MediaSource* _tmp29_ = NULL; + MediaSource* _tmp30_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = _current_source_id_it; +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = gee_iterator_next (_tmp21_); +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp22_) { +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 2030 "Event.c" + } +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _tmp23_ = _current_source_id_it; +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _tmp24_ = gee_iterator_get (_tmp23_); +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + current_source_id = (gchar*) _tmp24_; +#line 194 "/home/jens/Source/shotwell/src/Event.vala" + _tmp25_ = media_collection_registry_get_instance (); +#line 194 "/home/jens/Source/shotwell/src/Event.vala" + _tmp26_ = _tmp25_; +#line 194 "/home/jens/Source/shotwell/src/Event.vala" + _tmp27_ = current_source_id; +#line 194 "/home/jens/Source/shotwell/src/Event.vala" + _tmp28_ = media_collection_registry_fetch_media (_tmp26_, _tmp27_); +#line 194 "/home/jens/Source/shotwell/src/Event.vala" + _tmp29_ = _tmp28_; +#line 194 "/home/jens/Source/shotwell/src/Event.vala" + _media_collection_registry_unref0 (_tmp26_); +#line 194 "/home/jens/Source/shotwell/src/Event.vala" + media = _tmp29_; +#line 196 "/home/jens/Source/shotwell/src/Event.vala" + _tmp30_ = media; +#line 196 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp30_ != NULL) { +#line 2056 "Event.c" + GeeArrayList* _tmp31_ = NULL; + MediaSource* _tmp32_ = NULL; + ThumbnailView* _tmp33_ = NULL; + ThumbnailView* _tmp34_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/Event.vala" + _tmp31_ = event_thumbs; +#line 197 "/home/jens/Source/shotwell/src/Event.vala" + _tmp32_ = media; +#line 197 "/home/jens/Source/shotwell/src/Event.vala" + _tmp33_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 197 "/home/jens/Source/shotwell/src/Event.vala" + _tmp34_ = _tmp33_; +#line 197 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp34_); +#line 197 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp34_); +#line 2073 "Event.c" + } +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (current_source_id); +#line 2079 "Event.c" + } +#line 193 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_current_source_id_it); +#line 2083 "Event.c" + } +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _tmp35_ = self->priv->event_id; +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _tmp36_ = _tmp35_.id; +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _tmp37_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp36_); +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _tmp38_ = _tmp37_; +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _tmp39_ = g_strdup_printf ("ViewCollection for Event %s", _tmp38_); +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _tmp40_ = _tmp39_; +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _tmp41_ = view_collection_new (_tmp40_); +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _data_collection_unref0 (self->priv->view); +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->view = _tmp41_; +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp40_); +#line 200 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp38_); +#line 201 "/home/jens/Source/shotwell/src/Event.vala" + _tmp42_ = self->priv->view; +#line 201 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_DATA_COLLECTION, DataCollection), _event_view_comparator_comparator, NULL, _event_view_comparator_predicate_comparator_predicate, NULL); +#line 202 "/home/jens/Source/shotwell/src/Event.vala" + _tmp43_ = self->priv->view; +#line 202 "/home/jens/Source/shotwell/src/Event.vala" + _tmp44_ = event_thumbs; +#line 202 "/home/jens/Source/shotwell/src/Event.vala" + _tmp45_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 202 "/home/jens/Source/shotwell/src/Event.vala" + _tmp46_ = _tmp45_; +#line 202 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp46_); +#line 206 "/home/jens/Source/shotwell/src/Event.vala" + _tmp47_ = event_thumbs; +#line 206 "/home/jens/Source/shotwell/src/Event.vala" + _tmp48_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 206 "/home/jens/Source/shotwell/src/Event.vala" + _tmp49_ = _tmp48_; +#line 206 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp49_ > 0) { +#line 2129 "Event.c" + EventSourceCollection* _tmp50_ = NULL; + GeeArrayList* _tmp51_ = NULL; + EventSourceCollection* _tmp52_ = NULL; + GeeArrayList* _tmp53_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/Event.vala" + _tmp50_ = event_global; +#line 207 "/home/jens/Source/shotwell/src/Event.vala" + _tmp51_ = event_thumbs; +#line 207 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_notify_container_contents_added (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection), FALSE); +#line 208 "/home/jens/Source/shotwell/src/Event.vala" + _tmp52_ = event_global; +#line 208 "/home/jens/Source/shotwell/src/Event.vala" + _tmp53_ = event_thumbs; +#line 208 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, NULL, FALSE); +#line 2146 "Event.c" + } +#line 213 "/home/jens/Source/shotwell/src/Event.vala" + _tmp54_ = media_collection_registry_get_instance (); +#line 213 "/home/jens/Source/shotwell/src/Event.vala" + _tmp55_ = _tmp54_; +#line 213 "/home/jens/Source/shotwell/src/Event.vala" + _tmp56_ = event_row; +#line 213 "/home/jens/Source/shotwell/src/Event.vala" + _tmp57_ = _tmp56_->primary_source_id; +#line 213 "/home/jens/Source/shotwell/src/Event.vala" + _tmp58_ = media_collection_registry_fetch_media (_tmp55_, _tmp57_); +#line 213 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->primary_source); +#line 213 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->primary_source = _tmp58_; +#line 213 "/home/jens/Source/shotwell/src/Event.vala" + _media_collection_registry_unref0 (_tmp55_); +#line 214 "/home/jens/Source/shotwell/src/Event.vala" + _tmp60_ = self->priv->primary_source; +#line 214 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp60_ == NULL) { +#line 2168 "Event.c" + ViewCollection* _tmp61_ = NULL; + gint _tmp62_ = 0; +#line 214 "/home/jens/Source/shotwell/src/Event.vala" + _tmp61_ = self->priv->view; +#line 214 "/home/jens/Source/shotwell/src/Event.vala" + _tmp62_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, TYPE_DATA_COLLECTION, DataCollection)); +#line 214 "/home/jens/Source/shotwell/src/Event.vala" + _tmp59_ = _tmp62_ > 0; +#line 2177 "Event.c" + } else { +#line 214 "/home/jens/Source/shotwell/src/Event.vala" + _tmp59_ = FALSE; +#line 2181 "Event.c" + } +#line 214 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp59_) { +#line 2185 "Event.c" + ViewCollection* _tmp63_ = NULL; + DataView* _tmp64_ = NULL; + DataView* _tmp65_ = NULL; + DataSource* _tmp66_ = NULL; + EventTable* _tmp67_ = NULL; + EventID _tmp68_ = {0}; + MediaSource* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/Event.vala" + _tmp63_ = self->priv->view; +#line 215 "/home/jens/Source/shotwell/src/Event.vala" + _tmp64_ = view_collection_get_first_unrejected (_tmp63_); +#line 215 "/home/jens/Source/shotwell/src/Event.vala" + _tmp65_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, TYPE_DATA_VIEW, DataView); +#line 215 "/home/jens/Source/shotwell/src/Event.vala" + _tmp66_ = data_view_get_source (_tmp65_); +#line 215 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->primary_source); +#line 215 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->primary_source = G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, TYPE_MEDIA_SOURCE, MediaSource); +#line 215 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp65_); +#line 216 "/home/jens/Source/shotwell/src/Event.vala" + _tmp67_ = event_event_table; +#line 216 "/home/jens/Source/shotwell/src/Event.vala" + _tmp68_ = self->priv->event_id; +#line 216 "/home/jens/Source/shotwell/src/Event.vala" + _tmp69_ = self->priv->primary_source; +#line 216 "/home/jens/Source/shotwell/src/Event.vala" + _tmp70_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, TYPE_DATA_SOURCE, DataSource)); +#line 216 "/home/jens/Source/shotwell/src/Event.vala" + _tmp71_ = _tmp70_; +#line 216 "/home/jens/Source/shotwell/src/Event.vala" + event_table_set_primary_source_id (_tmp67_, &_tmp68_, _tmp71_); +#line 216 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp71_); +#line 2223 "Event.c" + } +#line 220 "/home/jens/Source/shotwell/src/Event.vala" + _tmp72_ = self->priv->primary_source; +#line 220 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp72_ != NULL) { +#line 2229 "Event.c" + MediaSource* _tmp73_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/Event.vala" + _tmp73_ = self->priv->primary_source; +#line 221 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), "thumbnail-altered", (GCallback) _event_on_primary_thumbnail_altered_thumbnail_source_thumbnail_altered, self, 0); +#line 2235 "Event.c" + } +#line 224 "/home/jens/Source/shotwell/src/Event.vala" + _tmp74_ = self->priv->view; +#line 224 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, TYPE_DATA_COLLECTION, DataCollection), "items-added", (GCallback) _event_on_media_added_data_collection_items_added, self, 0); +#line 225 "/home/jens/Source/shotwell/src/Event.vala" + _tmp75_ = self->priv->view; +#line 225 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, TYPE_DATA_COLLECTION, DataCollection), "items-removed", (GCallback) _event_on_media_removed_data_collection_items_removed, self, 0); +#line 226 "/home/jens/Source/shotwell/src/Event.vala" + _tmp76_ = self->priv->view; +#line 226 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _event_on_media_altered_data_collection_items_altered, self, 0); +#line 230 "/home/jens/Source/shotwell/src/Event.vala" + _tmp77_ = library_photo_global; +#line 230 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _event_on_media_destroyed_source_collection_item_destroyed, self, 0); +#line 231 "/home/jens/Source/shotwell/src/Event.vala" + _tmp78_ = video_global; +#line 231 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _event_on_media_destroyed_source_collection_item_destroyed, self, 0); +#line 233 "/home/jens/Source/shotwell/src/Event.vala" + event_update_indexable_keywords (self); +#line 180 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event_thumbs); +#line 180 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event_source_ids); +#line 180 "/home/jens/Source/shotwell/src/Event.vala" + return self; +#line 2265 "Event.c" +} + + +static Event* event_new (EventRow* event_row, gint64 object_id) { +#line 180 "/home/jens/Source/shotwell/src/Event.vala" + return event_construct (TYPE_EVENT, event_row, object_id); +#line 2272 "Event.c" +} + + +static gchar* event_real_get_typename (DataSource* base) { + Event * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 249 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = g_strdup (EVENT_TYPENAME); +#line 249 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 249 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 2288 "Event.c" +} + + +static gint64 event_real_get_instance_id (DataSource* base) { + Event * self; + gint64 result = 0LL; + EventID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; +#line 252 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 253 "/home/jens/Source/shotwell/src/Event.vala" + event_get_event_id (self, &_tmp0_); +#line 253 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _tmp0_.id; +#line 253 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 253 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 2307 "Event.c" +} + + +static gchar* event_real_get_representative_id (ThumbnailSource* base) { + Event * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->primary_source; +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp1_ != NULL) { +#line 2322 "Event.c" + MediaSource* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->primary_source; +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource)); +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp0_); +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp3_; +#line 2333 "Event.c" + } else { + gchar* _tmp4_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp0_); +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp4_; +#line 2342 "Event.c" + } +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 257 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 2348 "Event.c" +} + + +static PhotoFileFormat event_real_get_preferred_thumbnail_format (ThumbnailSource* base) { + Event * self; + PhotoFileFormat result = 0; + PhotoFileFormat _tmp0_ = 0; + MediaSource* _tmp1_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 261 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->primary_source; +#line 261 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp1_ != NULL) { +#line 2363 "Event.c" + MediaSource* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; +#line 261 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->primary_source; +#line 261 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = thumbnail_source_get_preferred_thumbnail_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 261 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp3_; +#line 2372 "Event.c" + } else { + PhotoFileFormat _tmp4_ = 0; +#line 262 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = photo_file_format_get_system_default_format (); +#line 262 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp4_; +#line 2379 "Event.c" + } +#line 261 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 261 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 2385 "Event.c" +} + + +static GdkPixbuf* event_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + Event * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->primary_source; +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp1_ != NULL) { +#line 2401 "Event.c" + MediaSource* _tmp2_ = NULL; + gint _tmp3_ = 0; + GdkPixbuf* _tmp4_ = NULL; +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->primary_source; +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = scale; +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = thumbnail_source_create_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp3_, &_inner_error_); +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp0_); +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp4_; +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + g_propagate_error (error, _inner_error_); +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp0_); +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + return NULL; +#line 2423 "Event.c" + } + } else { +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp0_); +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = NULL; +#line 2430 "Event.c" + } +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 266 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 2436 "Event.c" +} + + +void event_init (ProgressMonitor monitor, void* monitor_target) { + EventTable* _tmp0_ = NULL; + EventSourceCollection* _tmp1_ = NULL; + EventSourceCollection* _tmp2_ = NULL; + GeeArrayList* events = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* unlinked = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* event_rows = NULL; + EventTable* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + gint count = 0; + GeeArrayList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + EventSourceCollection* _tmp32_ = NULL; + GeeArrayList* _tmp33_ = NULL; + GeeCollection* _tmp34_ = NULL; + GeeCollection* _tmp35_ = NULL; + EventSourceCollection* _tmp36_ = NULL; + GeeArrayList* _tmp37_ = NULL; +#line 270 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_table_get_instance (); +#line 270 "/home/jens/Source/shotwell/src/Event.vala" + _database_table_unref0 (event_event_table); +#line 270 "/home/jens/Source/shotwell/src/Event.vala" + event_event_table = _tmp0_; +#line 271 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_source_collection_new (); +#line 271 "/home/jens/Source/shotwell/src/Event.vala" + _data_collection_unref0 (event_global); +#line 271 "/home/jens/Source/shotwell/src/Event.vala" + event_global = _tmp1_; +#line 272 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event_global; +#line 272 "/home/jens/Source/shotwell/src/Event.vala" + event_source_collection_init (_tmp2_); +#line 275 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = gee_array_list_new (TYPE_EVENT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 275 "/home/jens/Source/shotwell/src/Event.vala" + events = _tmp3_; +#line 276 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = gee_array_list_new (TYPE_EVENT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 276 "/home/jens/Source/shotwell/src/Event.vala" + unlinked = _tmp4_; +#line 278 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = event_event_table; +#line 278 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = event_table_get_events (_tmp5_); +#line 278 "/home/jens/Source/shotwell/src/Event.vala" + event_rows = _tmp6_; +#line 279 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = event_rows; +#line 279 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 279 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = _tmp8_; +#line 279 "/home/jens/Source/shotwell/src/Event.vala" + count = _tmp9_; +#line 2499 "Event.c" + { + gint ctr = 0; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + ctr = 0; +#line 2504 "Event.c" + { + gboolean _tmp10_ = FALSE; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = TRUE; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 2511 "Event.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + Event* event = NULL; + GeeArrayList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gpointer _tmp16_ = NULL; + EventRow* _tmp17_ = NULL; + Event* _tmp18_ = NULL; + Event* _tmp19_ = NULL; + ProgressMonitor _tmp20_ = NULL; + void* _tmp20__target = NULL; + Event* _tmp24_ = NULL; + gint _tmp25_ = 0; + Event* _tmp28_ = NULL; + EventSourceCollection* _tmp29_ = NULL; + GeeArrayList* _tmp30_ = NULL; + Event* _tmp31_ = NULL; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp10_) { +#line 2531 "Event.c" + gint _tmp11_ = 0; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = ctr; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + ctr = _tmp11_ + 1; +#line 2537 "Event.c" + } +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = FALSE; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = ctr; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = count; +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + if (!(_tmp12_ < _tmp13_)) { +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 2549 "Event.c" + } +#line 281 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = event_rows; +#line 281 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = ctr; +#line 281 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp15_); +#line 281 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = (EventRow*) _tmp16_; +#line 281 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = event_new (_tmp17_, DATA_OBJECT_INVALID_OBJECT_ID); +#line 281 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = _tmp18_; +#line 281 "/home/jens/Source/shotwell/src/Event.vala" + _event_row_unref0 (_tmp17_); +#line 281 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp19_; +#line 282 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = monitor; +#line 282 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20__target = monitor_target; +#line 282 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp20_ != NULL) { +#line 2573 "Event.c" + ProgressMonitor _tmp21_ = NULL; + void* _tmp21__target = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 283 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = monitor; +#line 283 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21__target = monitor_target; +#line 283 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = ctr; +#line 283 "/home/jens/Source/shotwell/src/Event.vala" + _tmp23_ = count; +#line 283 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ ((guint64) _tmp22_, (guint64) _tmp23_, TRUE, _tmp21__target); +#line 2588 "Event.c" + } +#line 285 "/home/jens/Source/shotwell/src/Event.vala" + _tmp24_ = event; +#line 285 "/home/jens/Source/shotwell/src/Event.vala" + _tmp25_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_EVENT_SOURCE, EventSource)); +#line 285 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp25_ != 0) { +#line 2596 "Event.c" + GeeArrayList* _tmp26_ = NULL; + Event* _tmp27_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/Event.vala" + _tmp26_ = events; +#line 286 "/home/jens/Source/shotwell/src/Event.vala" + _tmp27_ = event; +#line 286 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp27_); +#line 288 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 288 "/home/jens/Source/shotwell/src/Event.vala" + continue; +#line 2609 "Event.c" + } +#line 294 "/home/jens/Source/shotwell/src/Event.vala" + _tmp28_ = event; +#line 294 "/home/jens/Source/shotwell/src/Event.vala" + _tmp29_ = event_global; +#line 294 "/home/jens/Source/shotwell/src/Event.vala" + data_source_rehydrate_backlinks (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_SOURCE_COLLECTION, SourceCollection), NULL); +#line 295 "/home/jens/Source/shotwell/src/Event.vala" + _tmp30_ = unlinked; +#line 295 "/home/jens/Source/shotwell/src/Event.vala" + _tmp31_ = event; +#line 295 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp31_); +#line 280 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 2625 "Event.c" + } + } + } +#line 298 "/home/jens/Source/shotwell/src/Event.vala" + _tmp32_ = event_global; +#line 298 "/home/jens/Source/shotwell/src/Event.vala" + _tmp33_ = events; +#line 298 "/home/jens/Source/shotwell/src/Event.vala" + _tmp34_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 298 "/home/jens/Source/shotwell/src/Event.vala" + _tmp35_ = _tmp34_; +#line 298 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp35_); +#line 299 "/home/jens/Source/shotwell/src/Event.vala" + _tmp36_ = event_global; +#line 299 "/home/jens/Source/shotwell/src/Event.vala" + _tmp37_ = unlinked; +#line 299 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_init_add_many_unlinked (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 269 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event_rows); +#line 269 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (unlinked); +#line 269 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (events); +#line 2651 "Event.c" +} + + +void event_terminate (void) { +} + + +static gint64 event_view_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + time_t _tmp3_ = 0; + void* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; + time_t _tmp7_ = 0; + gint64 _tmp8_ = 0LL; +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = a; +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST ((ThumbnailView*) _tmp0_, TYPE_DATA_VIEW, DataView)); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = media_source_get_exposure_time (_tmp2_); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = b; +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST ((ThumbnailView*) _tmp4_, TYPE_DATA_VIEW, DataView)); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = media_source_get_exposure_time (_tmp6_); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = (gint64) (_tmp3_ - _tmp7_); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp6_); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp2_); +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp8_; +#line 306 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 2696 "Event.c" +} + + +static gboolean event_view_comparator_predicate (DataObject* object, Alteration* alteration) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 310 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 310 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 311 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = alteration; +#line 311 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "exposure-time"); +#line 311 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 311 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 2716 "Event.c" +} + + +gchar* event_prep_event_name (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 319 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = name; +#line 319 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = prepare_input_text (_tmp0_, (((PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF, DEFAULT_USER_TEXT_INPUT_LENGTH); +#line 319 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 319 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 2732 "Event.c" +} + + +void event_attach (Event* self, MediaSource* source) { + ViewCollection* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + ThumbnailView* _tmp2_ = NULL; + ThumbnailView* _tmp3_ = NULL; +#line 327 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 327 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_MEDIA_SOURCE (source)); +#line 328 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 328 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = source; +#line 328 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 328 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_; +#line 328 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 328 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp3_); +#line 2757 "Event.c" +} + + +void event_attach_many (Event* self, GeeCollection* media) { + GeeArrayList* views = NULL; + GeeArrayList* _tmp0_ = NULL; + ViewCollection* _tmp11_ = NULL; + GeeArrayList* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 331 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 332 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = gee_array_list_new (TYPE_THUMBNAIL_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 332 "/home/jens/Source/shotwell/src/Event.vala" + views = _tmp0_; +#line 2776 "Event.c" + { + GeeIterator* _current_source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = media; +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _current_source_it = _tmp2_; +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 2789 "Event.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* current_source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + ThumbnailView* _tmp9_ = NULL; + ThumbnailView* _tmp10_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _current_source_it; +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp4_) { +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 2807 "Event.c" + } +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _current_source_it; +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + current_source = (MediaSource*) _tmp6_; +#line 334 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = views; +#line 334 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = current_source; +#line 334 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 334 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _tmp9_; +#line 334 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 334 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp10_); +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (current_source); +#line 2829 "Event.c" + } +#line 333 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_current_source_it); +#line 2833 "Event.c" + } +#line 336 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = self->priv->view; +#line 336 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = views; +#line 336 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 336 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = _tmp13_; +#line 336 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp14_); +#line 331 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (views); +#line 2847 "Event.c" +} + + +void event_detach (Event* self, MediaSource* source) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + DataView* _tmp5_ = NULL; + Marker* _tmp6_ = NULL; + Marker* _tmp7_ = NULL; +#line 342 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 342 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_MEDIA_SOURCE (source)); +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->view; +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->view; +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = source; +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = view_collection_get_view_for_source (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_SOURCE, DataSource)); +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_; +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_; +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), _tmp7_); +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp7_); +#line 343 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp5_); +#line 2886 "Event.c" +} + + +void event_detach_many (Event* self, GeeCollection* media) { + GeeArrayList* views = NULL; + GeeArrayList* _tmp0_ = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + GeeArrayList* _tmp15_ = NULL; + Marker* _tmp16_ = NULL; + Marker* _tmp17_ = NULL; +#line 346 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 346 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 347 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = gee_array_list_new (TYPE_THUMBNAIL_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 347 "/home/jens/Source/shotwell/src/Event.vala" + views = _tmp0_; +#line 2906 "Event.c" + { + GeeIterator* _current_source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = media; +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _current_source_it = _tmp2_; +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 2919 "Event.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* current_source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + ThumbnailView* view = NULL; + ViewCollection* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + ThumbnailView* _tmp10_ = NULL; +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _current_source_it; +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp4_) { +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 2938 "Event.c" + } +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _current_source_it; +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + current_source = (MediaSource*) _tmp6_; +#line 349 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = self->priv->view; +#line 349 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = current_source; +#line 349 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = view_collection_get_view_for_source (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource)); +#line 349 "/home/jens/Source/shotwell/src/Event.vala" + view = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_THUMBNAIL_VIEW, ThumbnailView); +#line 350 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = view; +#line 350 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp10_ != NULL) { +#line 2958 "Event.c" + GeeArrayList* _tmp11_ = NULL; + ThumbnailView* _tmp12_ = NULL; +#line 351 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = views; +#line 351 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = view; +#line 351 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp12_); +#line 2967 "Event.c" + } +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (view); +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (current_source); +#line 2973 "Event.c" + } +#line 348 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_current_source_it); +#line 2977 "Event.c" + } +#line 354 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = self->priv->view; +#line 354 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = self->priv->view; +#line 354 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = views; +#line 354 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = data_collection_mark_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 354 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = _tmp16_; +#line 354 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), _tmp17_); +#line 354 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp17_); +#line 346 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (views); +#line 2995 "Event.c" +} + + +gboolean event_contains_media_type (Event* self, const gchar* media_type) { + gboolean result = FALSE; +#line 360 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), FALSE); +#line 360 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (media_type != NULL, FALSE); +#line 3005 "Event.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource)); +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _tmp0_; +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_; +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp1_); +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _media_it = _tmp3_; +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 3026 "Event.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = _media_it; +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp5_) { +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 3045 "Event.c" + } +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = _media_it; +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + media = (MediaSource*) _tmp7_; +#line 362 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = media; +#line 362 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = data_source_get_typename (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource)); +#line 362 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _tmp9_; +#line 362 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = media_type; +#line 362 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = g_strcmp0 (_tmp10_, _tmp11_) == 0; +#line 362 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp10_); +#line 362 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp12_) { +#line 363 "/home/jens/Source/shotwell/src/Event.vala" + result = TRUE; +#line 363 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 363 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_media_it); +#line 363 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 3075 "Event.c" + } +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 3079 "Event.c" + } +#line 361 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_media_it); +#line 3083 "Event.c" + } +#line 366 "/home/jens/Source/shotwell/src/Event.vala" + result = FALSE; +#line 366 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 3089 "Event.c" +} + + +static GeeArrayList* event_views_to_media (Event* self, GeeIterable* views) { + GeeArrayList* result = NULL; + GeeArrayList* media = NULL; + GeeArrayList* _tmp0_ = NULL; +#line 369 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), NULL); +#line 369 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (GEE_IS_ITERABLE (views), NULL); +#line 370 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 370 "/home/jens/Source/shotwell/src/Event.vala" + media = _tmp0_; +#line 3105 "Event.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = views; +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _object_it = _tmp2_; +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 3118 "Event.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; + DataObject* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _object_it; +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp4_) { +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 3136 "Event.c" + } +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _object_it; +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + object = (DataObject*) _tmp6_; +#line 372 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = media; +#line 372 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = object; +#line 372 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_VIEW, DataView)); +#line 372 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MEDIA_SOURCE, MediaSource); +#line 372 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 372 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp10_); +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (object); +#line 3158 "Event.c" + } +#line 371 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_object_it); +#line 3162 "Event.c" + } +#line 374 "/home/jens/Source/shotwell/src/Event.vala" + result = media; +#line 374 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 3168 "Event.c" +} + + +static void event_on_media_added (Event* self, GeeIterable* added) { + GeeCollection* media = NULL; + GeeIterable* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + EventSourceCollection* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + EventSourceCollection* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + Alteration* _tmp6_ = NULL; + Alteration* _tmp7_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 377 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 378 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = added; +#line 378 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_views_to_media (self, _tmp0_); +#line 378 "/home/jens/Source/shotwell/src/Event.vala" + media = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 379 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event_global; +#line 379 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = self->priv->relinking; +#line 379 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_notify_container_contents_added (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), media, _tmp3_); +#line 380 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = event_global; +#line 380 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = self->priv->relinking; +#line 380 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), media, _tmp5_, NULL, FALSE); +#line 382 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = alteration_new_from_list ("contents:added, metadata:time"); +#line 382 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_; +#line 382 "/home/jens/Source/shotwell/src/Event.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp7_); +#line 382 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_unref0 (_tmp7_); +#line 377 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 3214 "Event.c" +} + + +static void event_on_media_removed (Event* self, GeeIterable* removed) { + GeeArrayList* media = NULL; + GeeIterable* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + EventSourceCollection* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + EventSourceCollection* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gint _tmp27_ = 0; + Alteration* _tmp29_ = NULL; + Alteration* _tmp30_ = NULL; +#line 386 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 386 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 387 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = removed; +#line 387 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_views_to_media (self, _tmp0_); +#line 387 "/home/jens/Source/shotwell/src/Event.vala" + media = _tmp1_; +#line 389 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event_global; +#line 389 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = media; +#line 389 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = self->priv->unlinking; +#line 389 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_notify_container_contents_removed (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection), _tmp4_); +#line 390 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = event_global; +#line 390 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = media; +#line 390 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = self->priv->unlinking; +#line 390 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), NULL, FALSE, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection), _tmp7_); +#line 3257 "Event.c" + { + GeeArrayList* _current_source_list = NULL; + GeeArrayList* _tmp8_ = NULL; + GeeArrayList* _tmp9_ = NULL; + gint _current_source_size = 0; + GeeArrayList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _current_source_index = 0; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = media; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _current_source_list = _tmp9_; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _current_source_list; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = _tmp11_; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _current_source_size = _tmp12_; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _current_source_index = -1; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 3285 "Event.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + MediaSource* current_source = NULL; + GeeArrayList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gpointer _tmp18_ = NULL; + MediaSource* _tmp19_ = NULL; + MediaSource* _tmp20_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = _current_source_index; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _current_source_index = _tmp13_ + 1; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = _current_source_index; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = _current_source_size; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + if (!(_tmp14_ < _tmp15_)) { +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 3307 "Event.c" + } +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = _current_source_list; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = _current_source_index; +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp17_); +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + current_source = (MediaSource*) _tmp18_; +#line 394 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = current_source; +#line 394 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = self->priv->primary_source; +#line 394 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp19_ == _tmp20_) { +#line 3323 "Event.c" + gint _tmp21_ = 0; +#line 395 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource)); +#line 395 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp21_ > 0) { +#line 3329 "Event.c" + ViewCollection* _tmp22_ = NULL; + DataView* _tmp23_ = NULL; + DataView* _tmp24_ = NULL; + DataSource* _tmp25_ = NULL; + MediaSource* _tmp26_ = NULL; +#line 396 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = self->priv->view; +#line 396 "/home/jens/Source/shotwell/src/Event.vala" + _tmp23_ = view_collection_get_first_unrejected (_tmp22_); +#line 396 "/home/jens/Source/shotwell/src/Event.vala" + _tmp24_ = _tmp23_; +#line 396 "/home/jens/Source/shotwell/src/Event.vala" + _tmp25_ = data_view_get_source (_tmp24_); +#line 396 "/home/jens/Source/shotwell/src/Event.vala" + _tmp26_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_MEDIA_SOURCE, MediaSource); +#line 396 "/home/jens/Source/shotwell/src/Event.vala" + event_set_primary_source (self, _tmp26_); +#line 396 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp26_); +#line 396 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp24_); +#line 3351 "Event.c" + } else { +#line 398 "/home/jens/Source/shotwell/src/Event.vala" + event_release_primary_source (self); +#line 3355 "Event.c" + } +#line 400 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (current_source); +#line 400 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 3361 "Event.c" + } +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (current_source); +#line 3365 "Event.c" + } +#line 393 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_current_source_list); +#line 3369 "Event.c" + } +#line 405 "/home/jens/Source/shotwell/src/Event.vala" + _tmp27_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource)); +#line 405 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp27_ == 0) { +#line 3375 "Event.c" + EventSourceCollection* _tmp28_ = NULL; +#line 406 "/home/jens/Source/shotwell/src/Event.vala" + _tmp28_ = event_global; +#line 406 "/home/jens/Source/shotwell/src/Event.vala" + container_source_collection_evaporate (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource)); +#line 410 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 410 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 3385 "Event.c" + } +#line 413 "/home/jens/Source/shotwell/src/Event.vala" + _tmp29_ = alteration_new_from_list ("contents:removed, metadata:time"); +#line 413 "/home/jens/Source/shotwell/src/Event.vala" + _tmp30_ = _tmp29_; +#line 413 "/home/jens/Source/shotwell/src/Event.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp30_); +#line 413 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_unref0 (_tmp30_); +#line 386 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 3397 "Event.c" +} + + +static void event_on_media_destroyed (Event* self, DataSource* source) { + ThumbnailView* thumbnail_view = NULL; + ViewCollection* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + ThumbnailView* _tmp3_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 416 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 417 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 417 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = source; +#line 417 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = view_collection_get_view_for_source (_tmp0_, _tmp1_); +#line 417 "/home/jens/Source/shotwell/src/Event.vala" + thumbnail_view = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_THUMBNAIL_VIEW, ThumbnailView); +#line 418 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = thumbnail_view; +#line 418 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp3_ != NULL) { +#line 3423 "Event.c" + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ThumbnailView* _tmp6_ = NULL; + Marker* _tmp7_ = NULL; + Marker* _tmp8_ = NULL; +#line 419 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = self->priv->view; +#line 419 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = self->priv->view; +#line 419 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = thumbnail_view; +#line 419 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_OBJECT, DataObject)); +#line 419 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = _tmp7_; +#line 419 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection), _tmp8_); +#line 419 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp8_); +#line 3443 "Event.c" + } +#line 416 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (thumbnail_view); +#line 3447 "Event.c" +} + + +static void event_real_notify_relinking (DataSource* base, SourceCollection* sources) { + Event * self; + gint _tmp0_ = 0; + MediaSource* _tmp1_ = NULL; + SourceCollection* _tmp7_ = NULL; +#line 422 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 422 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (sources)); +#line 423 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource)); +#line 423 "/home/jens/Source/shotwell/src/Event.vala" + _vala_assert (_tmp0_ > 0, "get_media_count() > 0"); +#line 426 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->primary_source; +#line 426 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp1_ == NULL) { +#line 3468 "Event.c" + ViewCollection* _tmp2_ = NULL; + DataView* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; +#line 427 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->view; +#line 427 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = view_collection_get_first_unrejected (_tmp2_); +#line 427 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = _tmp3_; +#line 427 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = data_view_get_source (_tmp4_); +#line 427 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource); +#line 427 "/home/jens/Source/shotwell/src/Event.vala" + event_set_primary_source (self, _tmp6_); +#line 427 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp6_); +#line 427 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp4_); +#line 3490 "Event.c" + } +#line 429 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = sources; +#line 429 "/home/jens/Source/shotwell/src/Event.vala" + DATA_SOURCE_CLASS (event_parent_class)->notify_relinking (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource), TYPE_DATA_SOURCE, DataSource), _tmp7_); +#line 3496 "Event.c" +} + + +/** @brief This gets called when one or more media items inside this + * event gets modified in some fashion. If the media item's date changes + * and the event was previously undated, the name of the event needs to + * change as well; all of that happens automatically in here. + * + * In addition, if the _rating_ of one or more media items has changed, + * the thumbnail of this event may need to change, as the primary + * image may have been rejected and should not be the thumbnail anymore. + */ +static void event_on_media_altered (Event* self, GeeMap* items) { + gboolean should_remake_thumb = FALSE; + gboolean _tmp21_ = FALSE; +#line 441 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 441 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 442 "/home/jens/Source/shotwell/src/Event.vala" + should_remake_thumb = FALSE; +#line 3518 "Event.c" + { + GeeIterator* _alteration_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = items; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = gee_map_get_values (_tmp0_); +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp1_; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp3_); +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_it = _tmp5_; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 3545 "Event.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Alteration* alteration = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Alteration* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + Alteration* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = _alteration_it; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp7_) { +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 3563 "Event.c" + } +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = _alteration_it; +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + alteration = (Alteration*) _tmp9_; +#line 445 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = alteration; +#line 445 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = alteration_has_detail (_tmp10_, "metadata", "exposure-time"); +#line 445 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp11_) { +#line 3577 "Event.c" + gchar* alt_list = NULL; + gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + const gchar* _tmp16_ = NULL; + Alteration* _tmp17_ = NULL; + Alteration* _tmp18_ = NULL; +#line 447 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = g_strdup ("metadata:time"); +#line 447 "/home/jens/Source/shotwell/src/Event.vala" + alt_list = _tmp12_; +#line 449 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = event_has_name (self); +#line 449 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp13_) { +#line 3592 "Event.c" + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 450 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = alt_list; +#line 450 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = g_strconcat (_tmp14_, ", metadata:name", NULL); +#line 450 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (alt_list); +#line 450 "/home/jens/Source/shotwell/src/Event.vala" + alt_list = _tmp15_; +#line 3603 "Event.c" + } +#line 452 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = alt_list; +#line 452 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = alteration_new_from_list (_tmp16_); +#line 452 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = _tmp17_; +#line 452 "/home/jens/Source/shotwell/src/Event.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp18_); +#line 452 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_unref0 (_tmp18_); +#line 454 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (alt_list); +#line 454 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_unref0 (alteration); +#line 454 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 3621 "Event.c" + } +#line 457 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = alteration; +#line 457 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = alteration_has_detail (_tmp19_, "metadata", "rating"); +#line 457 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp20_) { +#line 458 "/home/jens/Source/shotwell/src/Event.vala" + should_remake_thumb = TRUE; +#line 3631 "Event.c" + } +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_unref0 (alteration); +#line 3635 "Event.c" + } +#line 444 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_alteration_it); +#line 3639 "Event.c" + } +#line 461 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = should_remake_thumb; +#line 461 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp21_) { +#line 3645 "Event.c" + gboolean _tmp22_ = FALSE; + MediaSource* _tmp23_ = NULL; + MediaSource* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _tmp23_ = event_get_primary_source (self); +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _tmp24_ = _tmp23_; +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _tmp25_ = _tmp24_ == NULL; +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp24_); +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp25_) { +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = TRUE; +#line 3662 "Event.c" + } else { + MediaSource* _tmp26_ = NULL; + MediaSource* _tmp27_ = NULL; + Rating _tmp28_ = 0; +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _tmp26_ = event_get_primary_source (self); +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _tmp27_ = _tmp26_; +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _tmp28_ = media_source_get_rating (_tmp27_); +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = _tmp28_ == RATING_REJECTED; +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp27_); +#line 3677 "Event.c" + } +#line 463 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp22_) { +#line 3681 "Event.c" + ViewCollection* _tmp29_ = NULL; + DataView* _tmp30_ = NULL; + DataView* _tmp31_ = NULL; + DataSource* _tmp32_ = NULL; + MediaSource* _tmp33_ = NULL; +#line 465 "/home/jens/Source/shotwell/src/Event.vala" + _tmp29_ = self->priv->view; +#line 465 "/home/jens/Source/shotwell/src/Event.vala" + _tmp30_ = view_collection_get_first_unrejected (_tmp29_); +#line 465 "/home/jens/Source/shotwell/src/Event.vala" + _tmp31_ = _tmp30_; +#line 465 "/home/jens/Source/shotwell/src/Event.vala" + _tmp32_ = data_view_get_source (_tmp31_); +#line 465 "/home/jens/Source/shotwell/src/Event.vala" + _tmp33_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_MEDIA_SOURCE, MediaSource); +#line 465 "/home/jens/Source/shotwell/src/Event.vala" + event_set_primary_source (self, _tmp33_); +#line 465 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp33_); +#line 465 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp31_); +#line 3703 "Event.c" + } + } +} + + +Event* event_create_empty_event (MediaSource* source) { + Event* result = NULL; + GError * _inner_error_ = NULL; +#line 474 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); +#line 3714 "Event.c" + { + EventRow* _tmp0_ = NULL; + EventTable* _tmp1_ = NULL; + EventTable* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + EventRow* _tmp6_ = NULL; + EventRow* _tmp7_ = NULL; + Event* event = NULL; + Event* _tmp8_ = NULL; + EventSourceCollection* _tmp9_ = NULL; + Event* _tmp10_ = NULL; + Event* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_table_get_instance (); +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp1_; +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = source; +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_SOURCE, DataSource)); +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_; +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = event_table_create (_tmp2_, _tmp5_, NULL, &_inner_error_); +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_; +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp5_); +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _database_table_unref0 (_tmp2_); +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp7_; +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3755 "Event.c" + goto __catch424_database_error; + } +#line 476 "/home/jens/Source/shotwell/src/Event.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 476 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + return NULL; +#line 3764 "Event.c" + } +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = event_new (_tmp0_, DATA_OBJECT_INVALID_OBJECT_ID); +#line 476 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp8_; +#line 477 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = event_global; +#line 477 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = event; +#line 477 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 479 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = event; +#line 479 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_OBJECT, DataObject)); +#line 479 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = _tmp12_; +#line 479 "/home/jens/Source/shotwell/src/Event.vala" + g_debug ("Event.vala:479: Created empty event %s", _tmp13_); +#line 479 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp13_); +#line 481 "/home/jens/Source/shotwell/src/Event.vala" + result = event; +#line 481 "/home/jens/Source/shotwell/src/Event.vala" + _event_row_unref0 (_tmp0_); +#line 481 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 3792 "Event.c" + } + goto __finally424; + __catch424_database_error: + { + GError* err = NULL; + GError* _tmp14_ = NULL; +#line 475 "/home/jens/Source/shotwell/src/Event.vala" + err = _inner_error_; +#line 475 "/home/jens/Source/shotwell/src/Event.vala" + _inner_error_ = NULL; +#line 483 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = err; +#line 483 "/home/jens/Source/shotwell/src/Event.vala" + app_window_database_error (_tmp14_); +#line 485 "/home/jens/Source/shotwell/src/Event.vala" + result = NULL; +#line 485 "/home/jens/Source/shotwell/src/Event.vala" + _g_error_free0 (err); +#line 485 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 3813 "Event.c" + } + __finally424: +#line 475 "/home/jens/Source/shotwell/src/Event.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 475 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 475 "/home/jens/Source/shotwell/src/Event.vala" + return NULL; +#line 3822 "Event.c" +} + + +static Event* event_reconstitute (gint64 object_id, EventRow* row) { + Event* result = NULL; + EventRow* _tmp0_ = NULL; + EventTable* _tmp1_ = NULL; + EventTable* _tmp2_ = NULL; + EventRow* _tmp3_ = NULL; + EventID _tmp4_ = {0}; + Event* event = NULL; + EventRow* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; + Event* _tmp7_ = NULL; + EventSourceCollection* _tmp8_ = NULL; + EventSourceCollection* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 490 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT_ROW (row), NULL); +#line 491 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = row; +#line 491 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_table_get_instance (); +#line 491 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp1_; +#line 491 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = row; +#line 491 "/home/jens/Source/shotwell/src/Event.vala" + event_table_create_from_row (_tmp2_, _tmp3_, &_tmp4_); +#line 491 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_->event_id = _tmp4_; +#line 491 "/home/jens/Source/shotwell/src/Event.vala" + _database_table_unref0 (_tmp2_); +#line 492 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = row; +#line 492 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = object_id; +#line 492 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = event_new (_tmp5_, _tmp6_); +#line 492 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp7_; +#line 493 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = event_global; +#line 493 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_DATA_OBJECT, DataObject)); +#line 494 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = event_global; +#line 494 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = data_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_DATA_OBJECT, DataObject)); +#line 494 "/home/jens/Source/shotwell/src/Event.vala" + _vala_assert (_tmp10_, "global.contains(event)"); +#line 496 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (event, TYPE_DATA_OBJECT, DataObject)); +#line 496 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = _tmp11_; +#line 496 "/home/jens/Source/shotwell/src/Event.vala" + g_debug ("Event.vala:496: Reconstituted event %s", _tmp12_); +#line 496 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp12_); +#line 498 "/home/jens/Source/shotwell/src/Event.vala" + result = event; +#line 498 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 3888 "Event.c" +} + + +static gboolean event_real_has_links (ContainerSource* base) { + Event * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + SourceBacklink* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 501 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = library_photo_global; +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = container_source_get_backlink (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource)); +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_; +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = source_collection_has_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp3_); +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_; +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + _source_backlink_unref0 (_tmp3_); +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp5_) { +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = TRUE; +#line 3919 "Event.c" + } else { + VideoSourceCollection* _tmp6_ = NULL; + SourceBacklink* _tmp7_ = NULL; + SourceBacklink* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 503 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = video_global; +#line 503 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = container_source_get_backlink (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource)); +#line 503 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = _tmp7_; +#line 503 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = source_collection_has_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp8_); +#line 503 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp9_; +#line 503 "/home/jens/Source/shotwell/src/Event.vala" + _source_backlink_unref0 (_tmp8_); +#line 3937 "Event.c" + } +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 502 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 3943 "Event.c" +} + + +static SourceBacklink* event_real_get_backlink (ContainerSource* base) { + Event * self; + SourceBacklink* result = NULL; + SourceBacklink* _tmp0_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 507 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source_backlink_new_from_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 507 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 507 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 3959 "Event.c" +} + + +static void event_real_break_link (ContainerSource* base, DataSource* source) { + Event * self; + DataSource* _tmp0_ = NULL; +#line 510 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 510 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 511 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->unlinking = TRUE; +#line 513 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source; +#line 513 "/home/jens/Source/shotwell/src/Event.vala" + media_source_set_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), NULL); +#line 515 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->unlinking = FALSE; +#line 3978 "Event.c" +} + + +static void event_real_break_link_many (ContainerSource* base, GeeCollection* sources) { + Event * self; + GeeArrayList* photos = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* videos = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 518 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 518 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 519 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->unlinking = TRUE; +#line 521 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 521 "/home/jens/Source/shotwell/src/Event.vala" + photos = _tmp0_; +#line 522 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 522 "/home/jens/Source/shotwell/src/Event.vala" + videos = _tmp1_; +#line 523 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = sources; +#line 523 "/home/jens/Source/shotwell/src/Event.vala" + media_source_collection_filter_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (photos, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (videos, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4008 "Event.c" + { + LibraryPhotoSourceCollection* _tmp3_ = NULL; + TransactionController* _tmp4_ = NULL; + TransactionController* _tmp5_ = NULL; +#line 526 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = library_photo_global; +#line 526 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 526 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_; +#line 526 "/home/jens/Source/shotwell/src/Event.vala" + media_source_set_many_to_event (G_TYPE_CHECK_INSTANCE_CAST (photos, GEE_TYPE_COLLECTION, GeeCollection), NULL, _tmp5_, &_inner_error_); +#line 526 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4023 "Event.c" + goto __catch425_g_error; + } + } + goto __finally425; + __catch425_g_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/Event.vala" + err = _inner_error_; +#line 525 "/home/jens/Source/shotwell/src/Event.vala" + _inner_error_ = NULL; +#line 528 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = err; +#line 528 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_->message; +#line 528 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = g_strdup_printf ("%s", _tmp7_); +#line 528 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = _tmp8_; +#line 528 "/home/jens/Source/shotwell/src/Event.vala" + app_window_error_message (_tmp9_, NULL); +#line 528 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp9_); +#line 525 "/home/jens/Source/shotwell/src/Event.vala" + _g_error_free0 (err); +#line 4053 "Event.c" + } + __finally425: +#line 525 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 525 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (videos); +#line 525 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (photos); +#line 525 "/home/jens/Source/shotwell/src/Event.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 525 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 525 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 4068 "Event.c" + } + { + VideoSourceCollection* _tmp10_ = NULL; + TransactionController* _tmp11_ = NULL; + TransactionController* _tmp12_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = video_global; +#line 532 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 532 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = _tmp11_; +#line 532 "/home/jens/Source/shotwell/src/Event.vala" + media_source_set_many_to_event (G_TYPE_CHECK_INSTANCE_CAST (videos, GEE_TYPE_COLLECTION, GeeCollection), NULL, _tmp12_, &_inner_error_); +#line 532 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4084 "Event.c" + goto __catch426_g_error; + } + } + goto __finally426; + __catch426_g_error: + { + GError* err = NULL; + GError* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 531 "/home/jens/Source/shotwell/src/Event.vala" + err = _inner_error_; +#line 531 "/home/jens/Source/shotwell/src/Event.vala" + _inner_error_ = NULL; +#line 534 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = err; +#line 534 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = _tmp13_->message; +#line 534 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = g_strdup_printf ("%s", _tmp14_); +#line 534 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = _tmp15_; +#line 534 "/home/jens/Source/shotwell/src/Event.vala" + app_window_error_message (_tmp16_, NULL); +#line 534 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp16_); +#line 531 "/home/jens/Source/shotwell/src/Event.vala" + _g_error_free0 (err); +#line 4114 "Event.c" + } + __finally426: +#line 531 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 531 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (videos); +#line 531 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (photos); +#line 531 "/home/jens/Source/shotwell/src/Event.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 531 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 531 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 4129 "Event.c" + } +#line 537 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->unlinking = FALSE; +#line 518 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (videos); +#line 518 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (photos); +#line 4137 "Event.c" +} + + +static void event_real_establish_link (ContainerSource* base, DataSource* source) { + Event * self; + DataSource* _tmp0_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 540 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 541 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->relinking = TRUE; +#line 543 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source; +#line 543 "/home/jens/Source/shotwell/src/Event.vala" + media_source_set_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), self); +#line 545 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->relinking = FALSE; +#line 4156 "Event.c" +} + + +static void event_real_establish_link_many (ContainerSource* base, GeeCollection* sources) { + Event * self; + GeeArrayList* photos = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* videos = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 548 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 548 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 549 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->relinking = TRUE; +#line 551 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 551 "/home/jens/Source/shotwell/src/Event.vala" + photos = _tmp0_; +#line 552 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 552 "/home/jens/Source/shotwell/src/Event.vala" + videos = _tmp1_; +#line 553 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = sources; +#line 553 "/home/jens/Source/shotwell/src/Event.vala" + media_source_collection_filter_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (photos, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (videos, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4186 "Event.c" + { + LibraryPhotoSourceCollection* _tmp3_ = NULL; + TransactionController* _tmp4_ = NULL; + TransactionController* _tmp5_ = NULL; +#line 556 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = library_photo_global; +#line 556 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 556 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_; +#line 556 "/home/jens/Source/shotwell/src/Event.vala" + media_source_set_many_to_event (G_TYPE_CHECK_INSTANCE_CAST (photos, GEE_TYPE_COLLECTION, GeeCollection), self, _tmp5_, &_inner_error_); +#line 556 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4201 "Event.c" + goto __catch427_g_error; + } + } + goto __finally427; + __catch427_g_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/Event.vala" + err = _inner_error_; +#line 555 "/home/jens/Source/shotwell/src/Event.vala" + _inner_error_ = NULL; +#line 558 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = err; +#line 558 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_->message; +#line 558 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = g_strdup_printf ("%s", _tmp7_); +#line 558 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = _tmp8_; +#line 558 "/home/jens/Source/shotwell/src/Event.vala" + app_window_error_message (_tmp9_, NULL); +#line 558 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp9_); +#line 555 "/home/jens/Source/shotwell/src/Event.vala" + _g_error_free0 (err); +#line 4231 "Event.c" + } + __finally427: +#line 555 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 555 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (videos); +#line 555 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (photos); +#line 555 "/home/jens/Source/shotwell/src/Event.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 555 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 555 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 4246 "Event.c" + } + { + VideoSourceCollection* _tmp10_ = NULL; + TransactionController* _tmp11_ = NULL; + TransactionController* _tmp12_ = NULL; +#line 562 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = video_global; +#line 562 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 562 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = _tmp11_; +#line 562 "/home/jens/Source/shotwell/src/Event.vala" + media_source_set_many_to_event (G_TYPE_CHECK_INSTANCE_CAST (videos, GEE_TYPE_COLLECTION, GeeCollection), self, _tmp12_, &_inner_error_); +#line 562 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4262 "Event.c" + goto __catch428_g_error; + } + } + goto __finally428; + __catch428_g_error: + { + GError* err = NULL; + GError* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 561 "/home/jens/Source/shotwell/src/Event.vala" + err = _inner_error_; +#line 561 "/home/jens/Source/shotwell/src/Event.vala" + _inner_error_ = NULL; +#line 564 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = err; +#line 564 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = _tmp13_->message; +#line 564 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = g_strdup_printf ("%s", _tmp14_); +#line 564 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = _tmp15_; +#line 564 "/home/jens/Source/shotwell/src/Event.vala" + app_window_error_message (_tmp16_, NULL); +#line 564 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp16_); +#line 561 "/home/jens/Source/shotwell/src/Event.vala" + _g_error_free0 (err); +#line 4292 "Event.c" + } + __finally428: +#line 561 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 561 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (videos); +#line 561 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (photos); +#line 561 "/home/jens/Source/shotwell/src/Event.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 561 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 561 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 4307 "Event.c" + } +#line 567 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->relinking = FALSE; +#line 548 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (videos); +#line 548 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (photos); +#line 4315 "Event.c" +} + + +static gchar* _vala_g_strjoinv (const gchar* separator, gchar** str_array, int str_array_length1) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 1054 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = separator; +#line 1054 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_ == NULL) { +#line 1055 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + separator = ""; +#line 4332 "Event.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = str_array; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = str_array_length1; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = TRUE; +#line 4342 "Event.c" + } else { + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = str_array; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4__length1 = str_array_length1; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp4__length1 > 0; +#line 4352 "Event.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp2_) { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = TRUE; +#line 4358 "Event.c" + } else { + gboolean _tmp5_ = FALSE; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str_array; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6__length1 = str_array_length1; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp6__length1 == -1) { +#line 4369 "Event.c" + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = str_array; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7__length1 = str_array_length1; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = _tmp7_[0]; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_ != NULL; +#line 4381 "Event.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 4385 "Event.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 4389 "Event.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 4393 "Event.c" + gint i = 0; + gsize len = 0UL; + gint _tmp31_ = 0; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + gsize _tmp35_ = 0UL; + const gchar* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + const gchar* res = NULL; + gsize _tmp40_ = 0UL; + void* _tmp41_ = NULL; + void* ptr = NULL; + const gchar* _tmp42_ = NULL; + gchar** _tmp43_ = NULL; + gint _tmp43__length1 = 0; + const gchar* _tmp44_ = NULL; + void* _tmp45_ = NULL; + const gchar* _tmp62_ = NULL; +#line 1059 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = (gsize) 1; +#line 4416 "Event.c" + { + gboolean _tmp9_ = FALSE; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + i = 0; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = TRUE; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + while (TRUE) { +#line 4425 "Event.c" + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp21_ = 0; + gchar** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + const gchar* _tmp24_ = NULL; + gsize _tmp30_ = 0UL; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (!_tmp9_) { +#line 4438 "Event.c" + gint _tmp10_ = 0; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = i; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + i = _tmp10_ + 1; +#line 4444 "Event.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = FALSE; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = str_array; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13__length1 = str_array_length1; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp13__length1 != -1) { +#line 4454 "Event.c" + gint _tmp14_ = 0; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = i; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = str_array; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15__length1 = str_array_length1; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = _tmp14_ < _tmp15__length1; +#line 4466 "Event.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 4470 "Event.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp12_) { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = TRUE; +#line 4476 "Event.c" + } else { + gboolean _tmp16_ = FALSE; + gchar** _tmp17_ = NULL; + gint _tmp17__length1 = 0; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = str_array; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17__length1 = str_array_length1; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp17__length1 == -1) { +#line 4487 "Event.c" + gchar** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint _tmp19_ = 0; + const gchar* _tmp20_ = NULL; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = str_array; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18__length1 = str_array_length1; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = i; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = _tmp18_[_tmp19_]; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = _tmp20_ != NULL; +#line 4502 "Event.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 4506 "Event.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 4510 "Event.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (!_tmp11_) { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + break; +#line 4516 "Event.c" + } +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = str_array; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22__length1 = str_array_length1; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp23_ = i; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp24_ = _tmp22_[_tmp23_]; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp24_ != NULL) { +#line 4528 "Event.c" + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gint _tmp26_ = 0; + const gchar* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp25_ = str_array; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp25__length1 = str_array_length1; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp26_ = i; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp27_ = _tmp25_[_tmp26_]; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp28_ = strlen ((const gchar*) _tmp27_); +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp29_ = _tmp28_; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = _tmp29_; +#line 4549 "Event.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 4553 "Event.c" + } +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp30_ = len; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp30_ + _tmp21_; +#line 4559 "Event.c" + } + } +#line 1063 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp31_ = i; +#line 1063 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp31_ == 0) { +#line 4566 "Event.c" + gchar* _tmp32_ = NULL; +#line 1064 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp32_ = g_strdup (""); +#line 1064 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp32_; +#line 1064 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 4574 "Event.c" + } +#line 1066 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp33_ = i; +#line 1066 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + str_array_length1 = _tmp33_; +#line 1066 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp34_ = str_array_length1; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp35_ = len; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp36_ = separator; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp37_ = strlen ((const gchar*) _tmp36_); +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp38_ = _tmp37_; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp39_ = i; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp35_ + (_tmp38_ * (_tmp39_ - 1)); +#line 1069 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp40_ = len; +#line 1069 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp41_ = g_malloc (_tmp40_); +#line 1069 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res = _tmp41_; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp42_ = res; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp43_ = str_array; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp43__length1 = str_array_length1; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp44_ = _tmp43_[0]; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp45_ = g_stpcpy ((void*) _tmp42_, (const gchar*) _tmp44_); +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + ptr = _tmp45_; +#line 4612 "Event.c" + { + gboolean _tmp46_ = FALSE; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + i = 1; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp46_ = TRUE; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + while (TRUE) { +#line 4621 "Event.c" + gint _tmp48_ = 0; + gchar** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + void* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + void* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + gchar** _tmp54_ = NULL; + gint _tmp54__length1 = 0; + gint _tmp55_ = 0; + const gchar* _tmp56_ = NULL; + void* _tmp60_ = NULL; + void* _tmp61_ = NULL; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (!_tmp46_) { +#line 4637 "Event.c" + gint _tmp47_ = 0; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp47_ = i; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + i = _tmp47_ + 1; +#line 4643 "Event.c" + } +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp46_ = FALSE; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp48_ = i; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp49_ = str_array; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp49__length1 = str_array_length1; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (!(_tmp48_ < _tmp49__length1)) { +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + break; +#line 4657 "Event.c" + } +#line 1072 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp50_ = ptr; +#line 1072 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp51_ = separator; +#line 1072 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp52_ = g_stpcpy (_tmp50_, (const gchar*) _tmp51_); +#line 1072 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + ptr = _tmp52_; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp54_ = str_array; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp54__length1 = str_array_length1; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp55_ = i; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp56_ = _tmp54_[_tmp55_]; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp56_ != NULL) { +#line 4677 "Event.c" + gchar** _tmp57_ = NULL; + gint _tmp57__length1 = 0; + gint _tmp58_ = 0; + const gchar* _tmp59_ = NULL; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp57_ = str_array; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp57__length1 = str_array_length1; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp58_ = i; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp59_ = _tmp57_[_tmp58_]; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = (const gchar*) _tmp59_; +#line 4692 "Event.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 4696 "Event.c" + } +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp60_ = ptr; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp61_ = g_stpcpy (_tmp60_, _tmp53_); +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + ptr = _tmp61_; +#line 4704 "Event.c" + } + } +#line 1076 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp62_ = res; +#line 1076 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res = NULL; +#line 1076 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gchar*) _tmp62_; +#line 1076 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 4715 "Event.c" + } else { + gchar* _tmp63_ = NULL; +#line 1078 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp63_ = g_strdup (""); +#line 1078 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp63_; +#line 1078 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 4724 "Event.c" + } +} + + +static void event_update_indexable_keywords (Event* self) { + gchar** components = NULL; + gchar** _tmp0_ = NULL; + gint components_length1 = 0; + gint _components_size_ = 0; + gint i = 0; + gchar* rawname = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* comment = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gint _tmp15_ = 0; +#line 570 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 571 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = g_new0 (gchar*, 3 + 1); +#line 571 "/home/jens/Source/shotwell/src/Event.vala" + components = _tmp0_; +#line 571 "/home/jens/Source/shotwell/src/Event.vala" + components_length1 = 3; +#line 571 "/home/jens/Source/shotwell/src/Event.vala" + _components_size_ = components_length1; +#line 572 "/home/jens/Source/shotwell/src/Event.vala" + i = 0; +#line 574 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_get_raw_name (self); +#line 574 "/home/jens/Source/shotwell/src/Event.vala" + rawname = _tmp1_; +#line 575 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = rawname; +#line 575 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp2_ != NULL) { +#line 4762 "Event.c" + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gint _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = components; +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3__length1 = components_length1; +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = i; +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + i = _tmp4_ + 1; +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = rawname; +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp3_[_tmp4_]); +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_[_tmp4_] = _tmp6_; +#line 576 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp3_[_tmp4_]; +#line 4787 "Event.c" + } +#line 578 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource)); +#line 578 "/home/jens/Source/shotwell/src/Event.vala" + comment = _tmp8_; +#line 579 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = comment; +#line 579 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp9_ != NULL) { +#line 4797 "Event.c" + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = components; +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10__length1 = components_length1; +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = i; +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + i = _tmp11_ + 1; +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = comment; +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp10_[_tmp11_]); +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_[_tmp11_] = _tmp13_; +#line 580 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = _tmp10_[_tmp11_]; +#line 4822 "Event.c" + } +#line 582 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = i; +#line 582 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp15_ == 0) { +#line 583 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->indexable_keywords); +#line 583 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->indexable_keywords = NULL; +#line 4832 "Event.c" + } else { + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + gchar* _tmp18_ = NULL; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = components; +#line 585 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16__length1 = components_length1; +#line 585 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = i; +#line 585 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp16_[_tmp17_]); +#line 585 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_[_tmp17_] = NULL; +#line 585 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = _tmp16_[_tmp17_]; +#line 586 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = components; +#line 586 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19__length1 = components_length1; +#line 586 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = _vala_g_strjoinv (" ", _tmp19_, _tmp19__length1); +#line 586 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = _tmp20_; +#line 586 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = indexable_prepare_indexable_string (_tmp21_); +#line 586 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->indexable_keywords); +#line 586 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->indexable_keywords = _tmp22_; +#line 586 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp21_); +#line 4871 "Event.c" + } +#line 570 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (comment); +#line 570 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (rawname); +#line 570 "/home/jens/Source/shotwell/src/Event.vala" + components = (_vala_array_free (components, components_length1, (GDestroyNotify) g_free), NULL); +#line 4879 "Event.c" +} + + +static const gchar* event_real_get_indexable_keywords (Indexable* base) { + Event * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 590 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 591 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->indexable_keywords; +#line 591 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 591 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 4895 "Event.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 4910 "Event.c" +} + + +gboolean event_is_in_starting_day (Event* self, time_t time) { + gboolean result = FALSE; + ViewCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + MediaSource* earliest_media = NULL; + ViewCollection* _tmp2_ = NULL; + DataObject* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; + struct tm earliest_tm = {0}; + MediaSource* _tmp7_ = NULL; + time_t _tmp8_ = 0; + struct tm _tmp9_ = {0}; + struct tm start_boundary_tm = {0}; + struct tm _tmp10_ = {0}; + gint _tmp11_ = 0; + struct tm _tmp12_ = {0}; + gint _tmp13_ = 0; + struct tm _tmp14_ = {0}; + gint _tmp15_ = 0; + time_t start_boundary = 0; + time_t _tmp16_ = 0; + struct tm _tmp17_ = {0}; + gint _tmp18_ = 0; + time_t end_boundary = 0; + time_t _tmp20_ = 0; + gboolean _tmp21_ = FALSE; + time_t _tmp22_ = 0; + time_t _tmp23_ = 0; +#line 594 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), FALSE); +#line 599 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 599 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 599 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp1_ == 0) { +#line 600 "/home/jens/Source/shotwell/src/Event.vala" + result = FALSE; +#line 600 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 4956 "Event.c" + } +#line 603 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->view; +#line 603 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), 0); +#line 603 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_VIEW, DataView); +#line 603 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = data_view_get_source (_tmp4_); +#line 603 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource); +#line 603 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp4_); +#line 603 "/home/jens/Source/shotwell/src/Event.vala" + earliest_media = _tmp6_; +#line 604 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = earliest_media; +#line 604 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = media_source_get_exposure_time (_tmp7_); +#line 604 "/home/jens/Source/shotwell/src/Event.vala" + g_time_local (_tmp8_, &_tmp9_); +#line 604 "/home/jens/Source/shotwell/src/Event.vala" + earliest_tm = _tmp9_; +#line 607 "/home/jens/Source/shotwell/src/Event.vala" + memset (&start_boundary_tm, 0, sizeof (struct tm)); +#line 608 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary_tm.tm_sec = 0; +#line 609 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary_tm.tm_min = 0; +#line 610 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary_tm.tm_hour = EVENT_EVENT_BOUNDARY_HOUR; +#line 611 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = earliest_tm; +#line 611 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = _tmp10_.tm_mday; +#line 611 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary_tm.tm_mday = _tmp11_; +#line 612 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = earliest_tm; +#line 612 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = _tmp12_.tm_mon; +#line 612 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary_tm.tm_mon = _tmp13_; +#line 613 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = earliest_tm; +#line 613 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = _tmp14_.tm_year; +#line 613 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary_tm.tm_year = _tmp15_; +#line 614 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary_tm.tm_isdst = -1; +#line 616 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = mktime (&start_boundary_tm); +#line 616 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary = _tmp16_; +#line 620 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = earliest_tm; +#line 620 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = _tmp17_.tm_hour; +#line 620 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp18_ < EVENT_EVENT_BOUNDARY_HOUR) { +#line 5018 "Event.c" + time_t _tmp19_ = 0; +#line 621 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = start_boundary; +#line 621 "/home/jens/Source/shotwell/src/Event.vala" + start_boundary = _tmp19_ - EVENT_TIME_T_DAY; +#line 5024 "Event.c" + } +#line 623 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = start_boundary; +#line 623 "/home/jens/Source/shotwell/src/Event.vala" + end_boundary = (_tmp20_ + EVENT_TIME_T_DAY) - 1; +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = time; +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + _tmp23_ = start_boundary; +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp22_ >= _tmp23_) { +#line 5036 "Event.c" + time_t _tmp24_ = 0; + time_t _tmp25_ = 0; +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + _tmp24_ = time; +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + _tmp25_ = end_boundary; +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = _tmp24_ <= _tmp25_; +#line 5045 "Event.c" + } else { +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = FALSE; +#line 5049 "Event.c" + } +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp21_; +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (earliest_media); +#line 625 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5057 "Event.c" +} + + +static Event* event_generate_event (MediaSource* media, ViewCollection* events_so_far, const gchar* event_name, gboolean* new_event) { + gboolean _vala_new_event = FALSE; + Event* result = NULL; + time_t exposure_time = 0; + MediaSource* _tmp0_ = NULL; + time_t _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + time_t _tmp3_ = 0; + gint count = 0; + ViewCollection* _tmp8_ = NULL; + gint _tmp9_ = 0; + GError * _inner_error_ = NULL; +#line 631 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (media), NULL); +#line 631 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (events_so_far), NULL); +#line 633 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = media; +#line 633 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = media_source_get_exposure_time (_tmp0_); +#line 633 "/home/jens/Source/shotwell/src/Event.vala" + exposure_time = _tmp1_; +#line 635 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = exposure_time; +#line 635 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp3_ == ((time_t) 0)) { +#line 5087 "Event.c" + const gchar* _tmp4_ = NULL; +#line 635 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = event_name; +#line 635 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp4_ == NULL; +#line 5093 "Event.c" + } else { +#line 635 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = FALSE; +#line 5097 "Event.c" + } +#line 635 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp2_) { +#line 5101 "Event.c" + MediaSource* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 636 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = media; +#line 636 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 636 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_; +#line 636 "/home/jens/Source/shotwell/src/Event.vala" + g_debug ("Event.vala:636: Skipping event assignment to %s: no exposure time and " \ +"no event name", _tmp7_); +#line 636 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp7_); +#line 637 "/home/jens/Source/shotwell/src/Event.vala" + _vala_new_event = FALSE; +#line 639 "/home/jens/Source/shotwell/src/Event.vala" + result = NULL; +#line 639 "/home/jens/Source/shotwell/src/Event.vala" + if (new_event) { +#line 639 "/home/jens/Source/shotwell/src/Event.vala" + *new_event = _vala_new_event; +#line 5123 "Event.c" + } +#line 639 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5127 "Event.c" + } +#line 642 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = events_so_far; +#line 642 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection)); +#line 642 "/home/jens/Source/shotwell/src/Event.vala" + count = _tmp9_; +#line 5135 "Event.c" + { + gint ctr = 0; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + ctr = 0; +#line 5140 "Event.c" + { + gboolean _tmp10_ = FALSE; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = TRUE; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 5147 "Event.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + Event* event = NULL; + ViewCollection* _tmp14_ = NULL; + gint _tmp15_ = 0; + DataObject* _tmp16_ = NULL; + EventView* _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + Event* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + const gchar* _tmp23_ = NULL; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp10_) { +#line 5163 "Event.c" + gint _tmp11_ = 0; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = ctr; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + ctr = _tmp11_ + 1; +#line 5169 "Event.c" + } +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = FALSE; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = ctr; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = count; +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + if (!(_tmp12_ < _tmp13_)) { +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 5181 "Event.c" + } +#line 644 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = events_so_far; +#line 644 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = ctr; +#line 644 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection), _tmp15_); +#line 644 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_EVENT_VIEW, EventView); +#line 644 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_VIEW, DataView)); +#line 644 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_EVENT, Event); +#line 644 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp17_); +#line 644 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp19_; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp23_ = event_name; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp23_ != NULL) { +#line 5203 "Event.c" + Event* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp24_ = event; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp25_ = event_has_name (_tmp24_); +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = _tmp25_; +#line 5212 "Event.c" + } else { +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = FALSE; +#line 5216 "Event.c" + } +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp22_) { +#line 5220 "Event.c" + const gchar* _tmp26_ = NULL; + Event* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp26_ = event_name; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp27_ = event; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp28_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_DATA_OBJECT, DataObject)); +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp29_ = _tmp28_; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = g_strcmp0 (_tmp26_, _tmp29_) == 0; +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp29_); +#line 5237 "Event.c" + } else { +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = FALSE; +#line 5241 "Event.c" + } +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp21_) { +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = TRUE; +#line 5247 "Event.c" + } else { + Event* _tmp30_ = NULL; + time_t _tmp31_ = 0; + gboolean _tmp32_ = FALSE; +#line 647 "/home/jens/Source/shotwell/src/Event.vala" + _tmp30_ = event; +#line 647 "/home/jens/Source/shotwell/src/Event.vala" + _tmp31_ = exposure_time; +#line 647 "/home/jens/Source/shotwell/src/Event.vala" + _tmp32_ = event_is_in_starting_day (_tmp30_, _tmp31_); +#line 647 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = _tmp32_; +#line 5260 "Event.c" + } +#line 646 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp20_) { +#line 648 "/home/jens/Source/shotwell/src/Event.vala" + _vala_new_event = FALSE; +#line 650 "/home/jens/Source/shotwell/src/Event.vala" + result = event; +#line 650 "/home/jens/Source/shotwell/src/Event.vala" + if (new_event) { +#line 650 "/home/jens/Source/shotwell/src/Event.vala" + *new_event = _vala_new_event; +#line 5272 "Event.c" + } +#line 650 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5276 "Event.c" + } +#line 643 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 5280 "Event.c" + } + } + } + { + EventRow* _tmp33_ = NULL; + EventTable* _tmp34_ = NULL; + EventTable* _tmp35_ = NULL; + MediaSource* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + EventRow* _tmp39_ = NULL; + EventRow* _tmp40_ = NULL; + Event* event = NULL; + Event* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + ViewCollection* _tmp45_ = NULL; + Event* _tmp46_ = NULL; + EventView* _tmp47_ = NULL; + EventView* _tmp48_ = NULL; +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp34_ = event_table_get_instance (); +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp35_ = _tmp34_; +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp36_ = media; +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp37_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_DATA_SOURCE, DataSource)); +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp38_ = _tmp37_; +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp39_ = event_table_create (_tmp35_, _tmp38_, NULL, &_inner_error_); +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp40_ = _tmp39_; +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp38_); +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _database_table_unref0 (_tmp35_); +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp33_ = _tmp40_; +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5324 "Event.c" + goto __catch429_database_error; + } +#line 656 "/home/jens/Source/shotwell/src/Event.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 656 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + return NULL; +#line 5333 "Event.c" + } +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + _tmp41_ = event_new (_tmp33_, DATA_OBJECT_INVALID_OBJECT_ID); +#line 656 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp41_; +#line 657 "/home/jens/Source/shotwell/src/Event.vala" + _tmp42_ = event_name; +#line 657 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp42_ != NULL) { +#line 5343 "Event.c" + Event* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; +#line 658 "/home/jens/Source/shotwell/src/Event.vala" + _tmp43_ = event; +#line 658 "/home/jens/Source/shotwell/src/Event.vala" + _tmp44_ = event_name; +#line 658 "/home/jens/Source/shotwell/src/Event.vala" + event_rename (_tmp43_, _tmp44_); +#line 5352 "Event.c" + } +#line 660 "/home/jens/Source/shotwell/src/Event.vala" + _tmp45_ = events_so_far; +#line 660 "/home/jens/Source/shotwell/src/Event.vala" + _tmp46_ = event; +#line 660 "/home/jens/Source/shotwell/src/Event.vala" + _tmp47_ = event_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_EVENT_SOURCE, EventSource)); +#line 660 "/home/jens/Source/shotwell/src/Event.vala" + _tmp48_ = _tmp47_; +#line 660 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_DATA_OBJECT, DataObject)); +#line 660 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp48_); +#line 662 "/home/jens/Source/shotwell/src/Event.vala" + _vala_new_event = TRUE; +#line 663 "/home/jens/Source/shotwell/src/Event.vala" + result = event; +#line 663 "/home/jens/Source/shotwell/src/Event.vala" + _event_row_unref0 (_tmp33_); +#line 663 "/home/jens/Source/shotwell/src/Event.vala" + if (new_event) { +#line 663 "/home/jens/Source/shotwell/src/Event.vala" + *new_event = _vala_new_event; +#line 5376 "Event.c" + } +#line 663 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5380 "Event.c" + } + goto __finally429; + __catch429_database_error: + { + GError* err = NULL; + GError* _tmp49_ = NULL; +#line 655 "/home/jens/Source/shotwell/src/Event.vala" + err = _inner_error_; +#line 655 "/home/jens/Source/shotwell/src/Event.vala" + _inner_error_ = NULL; +#line 665 "/home/jens/Source/shotwell/src/Event.vala" + _tmp49_ = err; +#line 665 "/home/jens/Source/shotwell/src/Event.vala" + app_window_database_error (_tmp49_); +#line 655 "/home/jens/Source/shotwell/src/Event.vala" + _g_error_free0 (err); +#line 5397 "Event.c" + } + __finally429: +#line 655 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 655 "/home/jens/Source/shotwell/src/Event.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 655 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 655 "/home/jens/Source/shotwell/src/Event.vala" + return NULL; +#line 5408 "Event.c" + } +#line 668 "/home/jens/Source/shotwell/src/Event.vala" + _vala_new_event = FALSE; +#line 670 "/home/jens/Source/shotwell/src/Event.vala" + result = NULL; +#line 670 "/home/jens/Source/shotwell/src/Event.vala" + if (new_event) { +#line 670 "/home/jens/Source/shotwell/src/Event.vala" + *new_event = _vala_new_event; +#line 5418 "Event.c" + } +#line 670 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5422 "Event.c" +} + + +void event_generate_single_event (MediaSource* media, ViewCollection* events_so_far, const gchar* event_name) { + MediaSource* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + Event* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean new_event = FALSE; + Event* event = NULL; + MediaSource* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Event* _tmp8_ = NULL; + Event* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + Event* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 673 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_MEDIA_SOURCE (media)); +#line 673 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_VIEW_COLLECTION (events_so_far)); +#line 676 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = media; +#line 676 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = media_source_get_event (_tmp0_); +#line 676 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp1_; +#line 676 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_ != NULL; +#line 676 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp2_); +#line 676 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp3_) { +#line 677 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 5460 "Event.c" + } +#line 680 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = media; +#line 680 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = events_so_far; +#line 680 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = event_name; +#line 680 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = event_generate_event (_tmp4_, _tmp5_, _tmp6_, &_tmp7_); +#line 680 "/home/jens/Source/shotwell/src/Event.vala" + new_event = _tmp7_; +#line 680 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp8_; +#line 681 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = event; +#line 681 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp9_ == NULL) { +#line 682 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 682 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 5482 "Event.c" + } +#line 684 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = media; +#line 684 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = event; +#line 684 "/home/jens/Source/shotwell/src/Event.vala" + media_source_set_event (_tmp10_, _tmp11_); +#line 686 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = new_event; +#line 686 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp12_) { +#line 5494 "Event.c" + EventSourceCollection* _tmp13_ = NULL; + Event* _tmp14_ = NULL; +#line 687 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = event_global; +#line 687 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = event; +#line 687 "/home/jens/Source/shotwell/src/Event.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 5503 "Event.c" + } +#line 673 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 5507 "Event.c" +} + + +void event_generate_many_events (GeeCollection* sources, ViewCollection* events_so_far) { + GeeCollection* to_add = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeCollection* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 690 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 690 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_VIEW_COLLECTION (events_so_far)); +#line 691 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = gee_array_list_new (TYPE_EVENT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 691 "/home/jens/Source/shotwell/src/Event.vala" + to_add = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 5525 "Event.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = sources; +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _media_it = _tmp2_; +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 5538 "Event.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + MediaSource* _tmp7_ = NULL; + Event* _tmp8_ = NULL; + Event* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean new_event = FALSE; + Event* event = NULL; + MediaSource* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + Event* _tmp14_ = NULL; + Event* _tmp15_ = NULL; + MediaSource* _tmp16_ = NULL; + Event* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _media_it; +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp4_) { +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 5566 "Event.c" + } +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _media_it; +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + media = (MediaSource*) _tmp6_; +#line 694 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = media; +#line 694 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = media_source_get_event (_tmp7_); +#line 694 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = _tmp8_; +#line 694 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _tmp9_ != NULL; +#line 694 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp9_); +#line 694 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp10_) { +#line 695 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 695 "/home/jens/Source/shotwell/src/Event.vala" + continue; +#line 5590 "Event.c" + } +#line 698 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = media; +#line 698 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = events_so_far; +#line 698 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = event_generate_event (_tmp11_, _tmp12_, NULL, &_tmp13_); +#line 698 "/home/jens/Source/shotwell/src/Event.vala" + new_event = _tmp13_; +#line 698 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp14_; +#line 699 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = event; +#line 699 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp15_ == NULL) { +#line 700 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 700 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 700 "/home/jens/Source/shotwell/src/Event.vala" + continue; +#line 5612 "Event.c" + } +#line 702 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = media; +#line 702 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = event; +#line 702 "/home/jens/Source/shotwell/src/Event.vala" + media_source_set_event (_tmp16_, _tmp17_); +#line 704 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = new_event; +#line 704 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp18_) { +#line 5624 "Event.c" + GeeCollection* _tmp19_ = NULL; + Event* _tmp20_ = NULL; +#line 705 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = to_add; +#line 705 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = event; +#line 705 "/home/jens/Source/shotwell/src/Event.vala" + gee_collection_add (_tmp19_, _tmp20_); +#line 5633 "Event.c" + } +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media); +#line 5639 "Event.c" + } +#line 692 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_media_it); +#line 5643 "Event.c" + } +#line 708 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = to_add; +#line 708 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = gee_collection_get_size (_tmp21_); +#line 708 "/home/jens/Source/shotwell/src/Event.vala" + _tmp23_ = _tmp22_; +#line 708 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp23_ > 0) { +#line 5653 "Event.c" + EventSourceCollection* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + GeeCollection* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; +#line 709 "/home/jens/Source/shotwell/src/Event.vala" + _tmp24_ = event_global; +#line 709 "/home/jens/Source/shotwell/src/Event.vala" + _tmp25_ = to_add; +#line 709 "/home/jens/Source/shotwell/src/Event.vala" + _tmp26_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_COLLECTION, DataCollection), _tmp25_, NULL, NULL); +#line 709 "/home/jens/Source/shotwell/src/Event.vala" + _tmp27_ = _tmp26_; +#line 709 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp27_); +#line 5668 "Event.c" + } +#line 690 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (to_add); +#line 5672 "Event.c" +} + + +void event_get_event_id (Event* self, EventID* result) { + EventID _tmp0_ = {0}; +#line 712 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 713 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->event_id; +#line 713 "/home/jens/Source/shotwell/src/Event.vala" + *result = _tmp0_; +#line 713 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 5686 "Event.c" +} + + +static SourceSnapshot* event_real_save_snapshot (DataSource* base) { + Event * self; + SourceSnapshot* result = NULL; + EventEventSnapshot* _tmp0_ = NULL; +#line 716 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 717 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_event_snapshot_new (self); +#line 717 "/home/jens/Source/shotwell/src/Event.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_SNAPSHOT, SourceSnapshot); +#line 717 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5702 "Event.c" +} + + +static SourceProxy* event_real_get_proxy (Proxyable* base) { + Event * self; + SourceProxy* result = NULL; + EventEventProxy* _tmp0_ = NULL; +#line 720 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 721 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_event_proxy_new (self); +#line 721 "/home/jens/Source/shotwell/src/Event.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_PROXY, SourceProxy); +#line 721 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5718 "Event.c" +} + + +static gboolean event_real_equals (DataSource* base, DataSource* source) { + Event * self; + gboolean result = FALSE; + Event* event = NULL; + DataSource* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + Event* _tmp2_ = NULL; + DataSource* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 724 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 724 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail ((source == NULL) || IS_DATA_SOURCE (source), FALSE); +#line 726 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source; +#line 726 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_EVENT) ? ((Event*) _tmp0_) : NULL); +#line 726 "/home/jens/Source/shotwell/src/Event.vala" + event = _tmp1_; +#line 727 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event; +#line 727 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp2_ != NULL) { +#line 5745 "Event.c" + Event* _tmp3_ = NULL; +#line 728 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = event; +#line 728 "/home/jens/Source/shotwell/src/Event.vala" + if (self != _tmp3_) { +#line 5751 "Event.c" + EventID _tmp4_ = {0}; + gint64 _tmp5_ = 0LL; + Event* _tmp6_ = NULL; + EventID _tmp7_ = {0}; + gint64 _tmp8_ = 0LL; +#line 729 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = self->priv->event_id; +#line 729 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_.id; +#line 729 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = event; +#line 729 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_->priv->event_id; +#line 729 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = _tmp7_.id; +#line 729 "/home/jens/Source/shotwell/src/Event.vala" + _vala_assert (_tmp5_ != _tmp8_, "event_id.id != event.event_id.id"); +#line 5769 "Event.c" + } + } +#line 733 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = source; +#line 733 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = DATA_SOURCE_CLASS (event_parent_class)->equals (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource), TYPE_DATA_SOURCE, DataSource), _tmp9_); +#line 733 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp10_; +#line 733 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (event); +#line 733 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5782 "Event.c" +} + + +static gchar* event_real_to_string (DataObject* base) { + Event * self; + gchar* result = NULL; + EventID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint64 _tmp4_ = 0LL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 736 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->event_id; +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _tmp0_.id; +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp1_); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_; +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = data_object_get_object_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp4_); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = _tmp5_; +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = _tmp7_; +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = g_strdup_printf ("Event [%s/%s] %s", _tmp3_, _tmp6_, _tmp8_); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _tmp9_; +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp8_); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp6_); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp3_); +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp10_; +#line 737 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5834 "Event.c" +} + + +gboolean event_has_name (Event* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 740 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), FALSE); +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->raw_name; +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp1_ != NULL) { +#line 5848 "Event.c" + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->raw_name; +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = strlen (_tmp2_); +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = _tmp3_; +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp4_ > 0; +#line 5860 "Event.c" + } else { +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = FALSE; +#line 5864 "Event.c" + } +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 741 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5870 "Event.c" +} + + +static gchar* event_real_get_name (DataObject* base) { + Event * self; + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + gchar* datestring = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 744 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 745 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_has_name (self); +#line 745 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp0_) { +#line 5889 "Event.c" + gchar* _tmp1_ = NULL; +#line 746 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_get_raw_name (self); +#line 746 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 746 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5897 "Event.c" + } +#line 749 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event_get_formatted_daterange (self); +#line 749 "/home/jens/Source/shotwell/src/Event.vala" + datestring = _tmp2_; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = datestring; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = is_string_empty (_tmp4_); +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp5_) { +#line 5909 "Event.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = datestring; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp3_); +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp7_; +#line 5920 "Event.c" + } else { + const gchar* _tmp8_ = NULL; + EventID _tmp9_ = {0}; + gint64 _tmp10_ = 0LL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = _ ("Event %s"); +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = self->priv->event_id; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _tmp9_.id; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp10_); +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = _tmp11_; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = g_strdup_printf (_tmp8_, _tmp12_); +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp3_); +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp13_; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp12_); +#line 5946 "Event.c" + } +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp3_; +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (datestring); +#line 751 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 5954 "Event.c" +} + + +gchar* event_get_formatted_daterange (Event* self) { + gchar* result = NULL; + time_t start_time = 0; + time_t _tmp0_ = 0; + time_t end_time = 0; + time_t _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + time_t _tmp3_ = 0; + gboolean _tmp5_ = FALSE; + time_t _tmp6_ = 0; + struct tm start = {0}; + time_t _tmp11_ = 0; + struct tm _tmp12_ = {0}; + struct tm end = {0}; + time_t _tmp13_ = 0; + struct tm _tmp14_ = {0}; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + struct tm _tmp17_ = {0}; + gint _tmp18_ = 0; + struct tm _tmp19_ = {0}; + gint _tmp20_ = 0; + struct tm _tmp32_ = {0}; + struct tm _tmp33_ = {0}; + gchar* _tmp34_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), NULL); +#line 755 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource)); +#line 755 "/home/jens/Source/shotwell/src/Event.vala" + start_time = _tmp0_; +#line 756 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_source_get_end_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource)); +#line 756 "/home/jens/Source/shotwell/src/Event.vala" + end_time = _tmp1_; +#line 758 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = end_time; +#line 758 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp3_ == ((time_t) 0)) { +#line 5997 "Event.c" + time_t _tmp4_ = 0; +#line 758 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = start_time; +#line 758 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp4_ == ((time_t) 0); +#line 6003 "Event.c" + } else { +#line 758 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = FALSE; +#line 6007 "Event.c" + } +#line 758 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp2_) { +#line 759 "/home/jens/Source/shotwell/src/Event.vala" + result = NULL; +#line 759 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6015 "Event.c" + } +#line 761 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = end_time; +#line 761 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp6_ == ((time_t) 0)) { +#line 6021 "Event.c" + time_t _tmp7_ = 0; +#line 761 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = start_time; +#line 761 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp7_ != ((time_t) 0); +#line 6027 "Event.c" + } else { +#line 761 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = FALSE; +#line 6031 "Event.c" + } +#line 761 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp5_) { +#line 6035 "Event.c" + time_t _tmp8_ = 0; + struct tm _tmp9_ = {0}; + gchar* _tmp10_ = NULL; +#line 762 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = start_time; +#line 762 "/home/jens/Source/shotwell/src/Event.vala" + g_time_local (_tmp8_, &_tmp9_); +#line 762 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = format_local_date (&_tmp9_); +#line 762 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp10_; +#line 762 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6049 "Event.c" + } +#line 764 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = start_time; +#line 764 "/home/jens/Source/shotwell/src/Event.vala" + g_time_local (_tmp11_, &_tmp12_); +#line 764 "/home/jens/Source/shotwell/src/Event.vala" + start = _tmp12_; +#line 765 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = end_time; +#line 765 "/home/jens/Source/shotwell/src/Event.vala" + g_time_local (_tmp13_, &_tmp14_); +#line 765 "/home/jens/Source/shotwell/src/Event.vala" + end = _tmp14_; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = start; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = _tmp17_.tm_mday; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = end; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp20_ = _tmp19_.tm_mday; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp18_ == _tmp20_) { +#line 6073 "Event.c" + struct tm _tmp21_ = {0}; + gint _tmp22_ = 0; + struct tm _tmp23_ = {0}; + gint _tmp24_ = 0; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp21_ = start; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp22_ = _tmp21_.tm_mon; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp23_ = end; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp24_ = _tmp23_.tm_mon; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = _tmp22_ == _tmp24_; +#line 6088 "Event.c" + } else { +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = FALSE; +#line 6092 "Event.c" + } +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp16_) { +#line 6096 "Event.c" + struct tm _tmp25_ = {0}; + gint _tmp26_ = 0; + struct tm _tmp27_ = {0}; + gint _tmp28_ = 0; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp25_ = start; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp26_ = _tmp25_.tm_mday; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp27_ = end; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp28_ = _tmp27_.tm_mday; +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = _tmp26_ == _tmp28_; +#line 6111 "Event.c" + } else { +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = FALSE; +#line 6115 "Event.c" + } +#line 767 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp15_) { +#line 6119 "Event.c" + time_t _tmp29_ = 0; + struct tm _tmp30_ = {0}; + gchar* _tmp31_ = NULL; +#line 768 "/home/jens/Source/shotwell/src/Event.vala" + _tmp29_ = start_time; +#line 768 "/home/jens/Source/shotwell/src/Event.vala" + g_time_local (_tmp29_, &_tmp30_); +#line 768 "/home/jens/Source/shotwell/src/Event.vala" + _tmp31_ = format_local_date (&_tmp30_); +#line 768 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp31_; +#line 768 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6133 "Event.c" + } +#line 770 "/home/jens/Source/shotwell/src/Event.vala" + _tmp32_ = start; +#line 770 "/home/jens/Source/shotwell/src/Event.vala" + _tmp33_ = end; +#line 770 "/home/jens/Source/shotwell/src/Event.vala" + _tmp34_ = format_local_datespan (&_tmp32_, &_tmp33_); +#line 770 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp34_; +#line 770 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6145 "Event.c" +} + + +gchar* event_get_raw_name (Event* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 773 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), NULL); +#line 774 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->raw_name; +#line 774 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 774 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 774 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6163 "Event.c" +} + + +static gchar* event_real_get_comment (EventSource* base) { + Event * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 777 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 778 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->comment; +#line 778 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 778 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 778 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6182 "Event.c" +} + + +gboolean event_rename (Event* self, const gchar* name) { + gboolean result = FALSE; + gchar* new_name = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean renamed = FALSE; + EventTable* _tmp7_ = NULL; + EventID _tmp8_ = {0}; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; +#line 781 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), FALSE); +#line 782 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = name; +#line 782 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_prep_event_name (_tmp0_); +#line 782 "/home/jens/Source/shotwell/src/Event.vala" + new_name = _tmp1_; +#line 785 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = new_name; +#line 785 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = event_get_formatted_daterange (self); +#line 785 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = _tmp3_; +#line 785 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = g_strcmp0 (_tmp2_, _tmp4_) == 0; +#line 785 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp4_); +#line 785 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp5_) { +#line 6221 "Event.c" + gchar* _tmp6_ = NULL; +#line 786 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = g_strdup (""); +#line 786 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (new_name); +#line 786 "/home/jens/Source/shotwell/src/Event.vala" + new_name = _tmp6_; +#line 6229 "Event.c" + } +#line 789 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = event_event_table; +#line 789 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = self->priv->event_id; +#line 789 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = new_name; +#line 789 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = event_table_rename (_tmp7_, &_tmp8_, _tmp9_); +#line 789 "/home/jens/Source/shotwell/src/Event.vala" + renamed = _tmp10_; +#line 790 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = renamed; +#line 790 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp11_) { +#line 6245 "Event.c" + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + Alteration* _tmp14_ = NULL; + Alteration* _tmp15_ = NULL; +#line 791 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = new_name; +#line 791 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 791 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->raw_name); +#line 791 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->raw_name = _tmp13_; +#line 792 "/home/jens/Source/shotwell/src/Event.vala" + event_update_indexable_keywords (self); +#line 793 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = alteration_new_from_list ("metadata:name, indexable:keywords"); +#line 793 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = _tmp14_; +#line 793 "/home/jens/Source/shotwell/src/Event.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp15_); +#line 793 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_unref0 (_tmp15_); +#line 6268 "Event.c" + } +#line 796 "/home/jens/Source/shotwell/src/Event.vala" + result = renamed; +#line 796 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (new_name); +#line 796 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6276 "Event.c" +} + + +static gboolean event_real_set_comment (EventSource* base, const gchar* comment) { + Event * self; + gboolean result = FALSE; + gchar* new_comment = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean committed = FALSE; + EventTable* _tmp2_ = NULL; + EventID _tmp3_ = {0}; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 799 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 800 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = comment; +#line 800 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = media_source_prep_comment (_tmp0_); +#line 800 "/home/jens/Source/shotwell/src/Event.vala" + new_comment = _tmp1_; +#line 802 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event_event_table; +#line 802 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = self->priv->event_id; +#line 802 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = new_comment; +#line 802 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = event_table_set_comment (_tmp2_, &_tmp3_, _tmp4_); +#line 802 "/home/jens/Source/shotwell/src/Event.vala" + committed = _tmp5_; +#line 803 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = committed; +#line 803 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp6_) { +#line 6314 "Event.c" + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + Alteration* _tmp9_ = NULL; + Alteration* _tmp10_ = NULL; +#line 804 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = new_comment; +#line 804 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 804 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->comment); +#line 804 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->comment = _tmp8_; +#line 805 "/home/jens/Source/shotwell/src/Event.vala" + event_update_indexable_keywords (self); +#line 806 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = alteration_new_from_list ("metadata:comment, indexable:keywords"); +#line 806 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _tmp9_; +#line 806 "/home/jens/Source/shotwell/src/Event.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp10_); +#line 806 "/home/jens/Source/shotwell/src/Event.vala" + _alteration_unref0 (_tmp10_); +#line 6337 "Event.c" + } +#line 809 "/home/jens/Source/shotwell/src/Event.vala" + result = committed; +#line 809 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (new_comment); +#line 809 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6345 "Event.c" +} + + +time_t event_get_creation_time (Event* self) { + time_t result = 0; + EventTable* _tmp0_ = NULL; + EventID _tmp1_ = {0}; + time_t _tmp2_ = 0; +#line 812 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), 0); +#line 813 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_event_table; +#line 813 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->event_id; +#line 813 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event_table_get_time_created (_tmp0_, &_tmp1_); +#line 813 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp2_; +#line 813 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6366 "Event.c" +} + + +static time_t event_real_get_start_time (EventSource* base) { + Event * self; + time_t result = 0; + gint count = 0; + ViewCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 816 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 819 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 819 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 819 "/home/jens/Source/shotwell/src/Event.vala" + count = _tmp1_; +#line 6384 "Event.c" + { + gint i = 0; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + i = 0; +#line 6389 "Event.c" + { + gboolean _tmp2_ = FALSE; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = TRUE; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 6396 "Event.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; + time_t time = 0; + ViewCollection* _tmp6_ = NULL; + gint _tmp7_ = 0; + DataObject* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; + time_t _tmp12_ = 0; + time_t _tmp13_ = 0; + time_t _tmp14_ = 0; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp2_) { +#line 6411 "Event.c" + gint _tmp3_ = 0; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = i; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + i = _tmp3_ + 1; +#line 6417 "Event.c" + } +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = FALSE; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = i; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = count; +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + if (!(_tmp4_ < _tmp5_)) { +#line 820 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 6429 "Event.c" + } +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = self->priv->view; +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = i; +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection), _tmp7_); +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_VIEW, DataView); +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = data_view_get_source (_tmp9_); +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource); +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = media_source_get_exposure_time (_tmp11_); +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = _tmp12_; +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp11_); +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp9_); +#line 821 "/home/jens/Source/shotwell/src/Event.vala" + time = _tmp13_; +#line 822 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = time; +#line 822 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp14_ != ((time_t) 0)) { +#line 823 "/home/jens/Source/shotwell/src/Event.vala" + result = time; +#line 823 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6461 "Event.c" + } + } + } + } +#line 826 "/home/jens/Source/shotwell/src/Event.vala" + result = (time_t) 0; +#line 826 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6470 "Event.c" +} + + +static time_t event_real_get_end_time (EventSource* base) { + Event * self; + time_t result = 0; + gint count = 0; + ViewCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + ViewCollection* _tmp3_ = NULL; + gint _tmp4_ = 0; + DataObject* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + time_t _tmp9_ = 0; + time_t _tmp10_ = 0; +#line 829 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 830 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 830 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 830 "/home/jens/Source/shotwell/src/Event.vala" + count = _tmp1_; +#line 834 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = count; +#line 834 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp2_ == 0) { +#line 835 "/home/jens/Source/shotwell/src/Event.vala" + result = (time_t) 0; +#line 835 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6505 "Event.c" + } +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = self->priv->view; +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = count; +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), _tmp4_ - 1); +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_VIEW, DataView); +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = data_view_get_source (_tmp6_); +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource); +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = media_source_get_exposure_time (_tmp8_); +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = _tmp9_; +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp8_); +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp6_); +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp10_; +#line 837 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6531 "Event.c" +} + + +static guint64 event_real_get_total_filesize (EventSource* base) { + Event * self; + guint64 result = 0ULL; + guint64 total = 0ULL; +#line 840 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 841 "/home/jens/Source/shotwell/src/Event.vala" + total = (guint64) 0; +#line 6543 "Event.c" + { + GeeIterator* _current_source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource)); +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _tmp0_; +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = _tmp2_; +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp1_); +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _current_source_it = _tmp3_; +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 6564 "Event.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MediaSource* current_source = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; + MediaSource* _tmp9_ = NULL; + guint64 _tmp10_ = 0ULL; +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = _current_source_it; +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp5_) { +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 6581 "Event.c" + } +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = _current_source_it; +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + current_source = (MediaSource*) _tmp7_; +#line 843 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = total; +#line 843 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = current_source; +#line 843 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = media_source_get_filesize (_tmp9_); +#line 843 "/home/jens/Source/shotwell/src/Event.vala" + total = _tmp8_ + _tmp10_; +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (current_source); +#line 6599 "Event.c" + } +#line 842 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_current_source_it); +#line 6603 "Event.c" + } +#line 846 "/home/jens/Source/shotwell/src/Event.vala" + result = total; +#line 846 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6609 "Event.c" +} + + +static gint event_real_get_media_count (EventSource* base) { + Event * self; + gint result = 0; + ViewCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 849 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 850 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 850 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 850 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 850 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6628 "Event.c" +} + + +static GeeCollection* event_real_get_media (EventSource* base) { + Event * self; + GeeCollection* result = NULL; + ViewCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 853 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 854 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 854 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = view_collection_get_sources (_tmp0_); +#line 854 "/home/jens/Source/shotwell/src/Event.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 854 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6647 "Event.c" +} + + +void event_mirror_photos (Event* self, ViewCollection* view, CreateView mirroring_ctor, void* mirroring_ctor_target) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + CreateView _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 857 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 857 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_VIEW_COLLECTION (view)); +#line 858 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = view; +#line 858 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->view; +#line 858 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = mirroring_ctor; +#line 858 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2__target = mirroring_ctor_target; +#line 858 "/home/jens/Source/shotwell/src/Event.vala" + view_collection_mirror (_tmp0_, _tmp1_, _tmp2_, _tmp2__target, NULL, NULL); +#line 6670 "Event.c" +} + + +static void event_on_primary_thumbnail_altered (Event* self) { +#line 861 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 862 "/home/jens/Source/shotwell/src/Event.vala" + thumbnail_source_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 6679 "Event.c" +} + + +MediaSource* event_get_primary_source (Event* self) { + MediaSource* result = NULL; + MediaSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; +#line 865 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), NULL); +#line 866 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->primary_source; +#line 866 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 866 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 866 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6697 "Event.c" +} + + +gboolean event_set_primary_source (Event* self, MediaSource* source) { + gboolean result = FALSE; + ViewCollection* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean committed = FALSE; + EventTable* _tmp3_ = NULL; + EventID _tmp4_ = {0}; + MediaSource* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 869 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), FALSE); +#line 869 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 870 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 870 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = source; +#line 870 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = view_collection_has_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource)); +#line 870 "/home/jens/Source/shotwell/src/Event.vala" + _vala_assert (_tmp2_, "view.has_view_for_source(source)"); +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = event_event_table; +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = self->priv->event_id; +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = source; +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_SOURCE, DataSource)); +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = _tmp6_; +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = event_table_set_primary_source_id (_tmp3_, &_tmp4_, _tmp7_); +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = _tmp8_; +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (_tmp7_); +#line 872 "/home/jens/Source/shotwell/src/Event.vala" + committed = _tmp9_; +#line 873 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = committed; +#line 873 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp10_) { +#line 6749 "Event.c" + MediaSource* _tmp11_ = NULL; + MediaSource* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + MediaSource* _tmp16_ = NULL; +#line 875 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = self->priv->primary_source; +#line 875 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp11_ != NULL) { +#line 6758 "Event.c" + MediaSource* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 876 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = self->priv->primary_source; +#line 876 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("thumbnail-altered", TYPE_THUMBNAIL_SOURCE, &_tmp13_, NULL, FALSE); +#line 876 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _event_on_primary_thumbnail_altered_thumbnail_source_thumbnail_altered, self); +#line 6767 "Event.c" + } +#line 878 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = source; +#line 878 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 878 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->primary_source); +#line 878 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->primary_source = _tmp15_; +#line 879 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = self->priv->primary_source; +#line 879 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), "thumbnail-altered", (GCallback) _event_on_primary_thumbnail_altered_thumbnail_source_thumbnail_altered, self, 0); +#line 881 "/home/jens/Source/shotwell/src/Event.vala" + thumbnail_source_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 6783 "Event.c" + } +#line 884 "/home/jens/Source/shotwell/src/Event.vala" + result = committed; +#line 884 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6789 "Event.c" +} + + +static void event_release_primary_source (Event* self) { + MediaSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 887 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_EVENT (self)); +#line 888 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->primary_source; +#line 888 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp0_ == NULL) { +#line 889 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 6805 "Event.c" + } +#line 891 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->primary_source; +#line 891 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("thumbnail-altered", TYPE_THUMBNAIL_SOURCE, &_tmp2_, NULL, FALSE); +#line 891 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _event_on_primary_thumbnail_altered_thumbnail_source_thumbnail_altered, self); +#line 892 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->primary_source); +#line 892 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->primary_source = NULL; +#line 6817 "Event.c" +} + + +static GdkPixbuf* event_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + Event * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->primary_source; +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp1_ != NULL) { +#line 6833 "Event.c" + MediaSource* _tmp2_ = NULL; + gint _tmp3_ = 0; + GdkPixbuf* _tmp4_ = NULL; +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->primary_source; +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = scale; +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = thumbnail_source_get_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp3_, &_inner_error_); +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp0_); +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp4_; +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + g_propagate_error (error, _inner_error_); +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp0_); +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + return NULL; +#line 6855 "Event.c" + } + } else { +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp0_); +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = NULL; +#line 6862 "Event.c" + } +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp0_; +#line 896 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6868 "Event.c" +} + + +GdkPixbuf* event_get_preview_pixbuf (Event* self, Scaling* scaling) { + GdkPixbuf* result = NULL; + GError * _inner_error_ = NULL; +#line 899 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (self), NULL); +#line 899 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 6879 "Event.c" + { + GdkPixbuf* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + Scaling _tmp3_ = {0}; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_get_primary_source (self); +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp1_; +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = *scaling; +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = media_source_get_preview_pixbuf (_tmp2_, &_tmp3_, &_inner_error_); +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_; +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp2_); +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = _tmp5_; +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6904 "Event.c" + goto __catch430_g_error; + } +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = _tmp0_; +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = NULL; +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp6_; +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp0_); +#line 901 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6917 "Event.c" + } + goto __finally430; + __catch430_g_error: + { + GError* err = NULL; +#line 900 "/home/jens/Source/shotwell/src/Event.vala" + err = _inner_error_; +#line 900 "/home/jens/Source/shotwell/src/Event.vala" + _inner_error_ = NULL; +#line 903 "/home/jens/Source/shotwell/src/Event.vala" + result = NULL; +#line 903 "/home/jens/Source/shotwell/src/Event.vala" + _g_error_free0 (err); +#line 903 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 6933 "Event.c" + } + __finally430: +#line 900 "/home/jens/Source/shotwell/src/Event.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 900 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 900 "/home/jens/Source/shotwell/src/Event.vala" + return NULL; +#line 6942 "Event.c" +} + + +static void event_real_destroy (DataSource* base) { + Event * self; + ViewCollection* _tmp0_ = NULL; + PhotoTable* _tmp4_ = NULL; + PhotoTable* _tmp5_ = NULL; + EventID _tmp6_ = {0}; + VideoTable* _tmp7_ = NULL; + VideoTable* _tmp8_ = NULL; + EventID _tmp9_ = {0}; + GError * _inner_error_ = NULL; +#line 907 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT, Event); +#line 909 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->view; +#line 909 "/home/jens/Source/shotwell/src/Event.vala" + view_collection_halt_all_monitoring (_tmp0_); +#line 6962 "Event.c" + { + EventTable* _tmp1_ = NULL; + EventID _tmp2_ = {0}; +#line 913 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = event_event_table; +#line 913 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = self->priv->event_id; +#line 913 "/home/jens/Source/shotwell/src/Event.vala" + event_table_remove (_tmp1_, &_tmp2_, &_inner_error_); +#line 913 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 913 "/home/jens/Source/shotwell/src/Event.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6976 "Event.c" + goto __catch431_database_error; + } +#line 913 "/home/jens/Source/shotwell/src/Event.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 913 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 913 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 6985 "Event.c" + } + } + goto __finally431; + __catch431_database_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 912 "/home/jens/Source/shotwell/src/Event.vala" + err = _inner_error_; +#line 912 "/home/jens/Source/shotwell/src/Event.vala" + _inner_error_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = err; +#line 915 "/home/jens/Source/shotwell/src/Event.vala" + app_window_database_error (_tmp3_); +#line 912 "/home/jens/Source/shotwell/src/Event.vala" + _g_error_free0 (err); +#line 7003 "Event.c" + } + __finally431: +#line 912 "/home/jens/Source/shotwell/src/Event.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 912 "/home/jens/Source/shotwell/src/Event.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 912 "/home/jens/Source/shotwell/src/Event.vala" + g_clear_error (&_inner_error_); +#line 912 "/home/jens/Source/shotwell/src/Event.vala" + return; +#line 7014 "Event.c" + } +#line 919 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = photo_table_get_instance (); +#line 919 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = _tmp4_; +#line 919 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = self->priv->event_id; +#line 919 "/home/jens/Source/shotwell/src/Event.vala" + photo_table_drop_event (_tmp5_, &_tmp6_); +#line 919 "/home/jens/Source/shotwell/src/Event.vala" + _database_table_unref0 (_tmp5_); +#line 920 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = video_table_get_instance (); +#line 920 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = _tmp7_; +#line 920 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = self->priv->event_id; +#line 920 "/home/jens/Source/shotwell/src/Event.vala" + video_table_drop_event (_tmp8_, &_tmp9_); +#line 920 "/home/jens/Source/shotwell/src/Event.vala" + _database_table_unref0 (_tmp8_); +#line 922 "/home/jens/Source/shotwell/src/Event.vala" + DATA_SOURCE_CLASS (event_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENT_SOURCE, EventSource), TYPE_DATA_SOURCE, DataSource)); +#line 7038 "Event.c" +} + + +static void _event_event_snapshot_on_attached_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 126 "/home/jens/Source/shotwell/src/Event.vala" + event_event_snapshot_on_attached_source_destroyed ((EventEventSnapshot*) self, source); +#line 7045 "Event.c" +} + + +static EventEventSnapshot* event_event_snapshot_construct (GType object_type, Event* event) { + EventEventSnapshot* self = NULL; + EventTable* _tmp0_ = NULL; + EventTable* _tmp1_ = NULL; + Event* _tmp2_ = NULL; + EventID _tmp3_ = {0}; + EventRow* _tmp4_ = NULL; + Event* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; + LibraryPhotoSourceCollection* _tmp18_ = NULL; + VideoSourceCollection* _tmp19_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (event), NULL); +#line 110 "/home/jens/Source/shotwell/src/Event.vala" + self = (EventEventSnapshot*) source_snapshot_construct (object_type); +#line 112 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_table_get_instance (); +#line 112 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _tmp0_; +#line 112 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = event; +#line 112 "/home/jens/Source/shotwell/src/Event.vala" + event_get_event_id (_tmp2_, &_tmp3_); +#line 112 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = event_table_get_row (_tmp1_, &_tmp3_); +#line 112 "/home/jens/Source/shotwell/src/Event.vala" + _event_row_unref0 (self->priv->row); +#line 112 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->row = _tmp4_; +#line 112 "/home/jens/Source/shotwell/src/Event.vala" + _database_table_unref0 (_tmp1_); +#line 113 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = event; +#line 113 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = event_get_primary_source (_tmp5_); +#line 113 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->primary_source); +#line 113 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->primary_source = _tmp6_; +#line 7088 "Event.c" + { + GeeIterator* _source_it = NULL; + Event* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = event; +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_EVENT_SOURCE, EventSource)); +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = _tmp8_; +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = _tmp10_; +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_tmp9_); +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _source_it = _tmp11_; +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + while (TRUE) { +#line 7112 "Event.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GeeArrayList* _tmp16_ = NULL; + MediaSource* _tmp17_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp12_ = _source_it; +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + if (!_tmp13_) { +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + break; +#line 7128 "Event.c" + } +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp14_ = _source_it; +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + source = (MediaSource*) _tmp15_; +#line 119 "/home/jens/Source/shotwell/src/Event.vala" + _tmp16_ = self->priv->attached_sources; +#line 119 "/home/jens/Source/shotwell/src/Event.vala" + _tmp17_ = source; +#line 119 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (source); +#line 7144 "Event.c" + } +#line 118 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (_source_it); +#line 7148 "Event.c" + } +#line 121 "/home/jens/Source/shotwell/src/Event.vala" + _tmp18_ = library_photo_global; +#line 121 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _event_event_snapshot_on_attached_source_destroyed_source_collection_item_destroyed, self); +#line 122 "/home/jens/Source/shotwell/src/Event.vala" + _tmp19_ = video_global; +#line 122 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _event_event_snapshot_on_attached_source_destroyed_source_collection_item_destroyed, self); +#line 110 "/home/jens/Source/shotwell/src/Event.vala" + return self; +#line 7160 "Event.c" +} + + +static EventEventSnapshot* event_event_snapshot_new (Event* event) { +#line 110 "/home/jens/Source/shotwell/src/Event.vala" + return event_event_snapshot_construct (EVENT_TYPE_EVENT_SNAPSHOT, event); +#line 7167 "Event.c" +} + + +static gpointer _event_row_ref0 (gpointer self) { +#line 131 "/home/jens/Source/shotwell/src/Event.vala" + return self ? event_row_ref (self) : NULL; +#line 7174 "Event.c" +} + + +static EventRow* event_event_snapshot_get_row (EventEventSnapshot* self) { + EventRow* result = NULL; + EventRow* _tmp0_ = NULL; + EventRow* _tmp1_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (EVENT_IS_EVENT_SNAPSHOT (self), NULL); +#line 131 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->row; +#line 131 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _event_row_ref0 (_tmp0_); +#line 131 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp1_; +#line 131 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 7192 "Event.c" +} + + +static void event_event_snapshot_real_notify_broken (SourceSnapshot* base) { + EventEventSnapshot * self; + EventRow* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENT_TYPE_EVENT_SNAPSHOT, EventEventSnapshot); +#line 135 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event_row_new (); +#line 135 "/home/jens/Source/shotwell/src/Event.vala" + _event_row_unref0 (self->priv->row); +#line 135 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->row = _tmp0_; +#line 136 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->primary_source); +#line 136 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->primary_source = NULL; +#line 137 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->attached_sources; +#line 137 "/home/jens/Source/shotwell/src/Event.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 139 "/home/jens/Source/shotwell/src/Event.vala" + SOURCE_SNAPSHOT_CLASS (event_event_snapshot_parent_class)->notify_broken (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_SNAPSHOT, SourceSnapshot)); +#line 7218 "Event.c" +} + + +static void event_event_snapshot_on_attached_source_destroyed (EventEventSnapshot* self, DataSource* source) { + MediaSource* media_source = NULL; + DataSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + MediaSource* _tmp3_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (EVENT_IS_EVENT_SNAPSHOT (self)); +#line 142 "/home/jens/Source/shotwell/src/Event.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 143 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = source; +#line 143 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 143 "/home/jens/Source/shotwell/src/Event.vala" + media_source = _tmp1_; +#line 146 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = media_source; +#line 146 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp3_ != NULL) { +#line 7242 "Event.c" + MediaSource* _tmp4_ = NULL; + MediaSource* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 146 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = self->priv->primary_source; +#line 146 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = media_source; +#line 146 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_SOURCE, DataSource)); +#line 146 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = _tmp6_; +#line 7254 "Event.c" + } else { +#line 146 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = FALSE; +#line 7258 "Event.c" + } +#line 146 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp2_) { +#line 147 "/home/jens/Source/shotwell/src/Event.vala" + source_snapshot_notify_broken (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_SNAPSHOT, SourceSnapshot)); +#line 7264 "Event.c" + } else { + GeeArrayList* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 148 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = self->priv->attached_sources; +#line 148 "/home/jens/Source/shotwell/src/Event.vala" + _tmp8_ = media_source; +#line 148 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp8_); +#line 148 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp9_) { +#line 149 "/home/jens/Source/shotwell/src/Event.vala" + source_snapshot_notify_broken (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_SNAPSHOT, SourceSnapshot)); +#line 7279 "Event.c" + } + } +#line 142 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (media_source); +#line 7284 "Event.c" +} + + +static void event_event_snapshot_class_init (EventEventSnapshotClass * klass) { +#line 105 "/home/jens/Source/shotwell/src/Event.vala" + event_event_snapshot_parent_class = g_type_class_peek_parent (klass); +#line 105 "/home/jens/Source/shotwell/src/Event.vala" + ((SourceSnapshotClass *) klass)->finalize = event_event_snapshot_finalize; +#line 105 "/home/jens/Source/shotwell/src/Event.vala" + g_type_class_add_private (klass, sizeof (EventEventSnapshotPrivate)); +#line 105 "/home/jens/Source/shotwell/src/Event.vala" + ((SourceSnapshotClass *) klass)->notify_broken = event_event_snapshot_real_notify_broken; +#line 7297 "Event.c" +} + + +static void event_event_snapshot_instance_init (EventEventSnapshot * self) { + GeeArrayList* _tmp0_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/Event.vala" + self->priv = EVENT_EVENT_SNAPSHOT_GET_PRIVATE (self); +#line 108 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 108 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->attached_sources = _tmp0_; +#line 7309 "Event.c" +} + + +static void event_event_snapshot_finalize (SourceSnapshot* obj) { + EventEventSnapshot * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + VideoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 105 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENT_TYPE_EVENT_SNAPSHOT, EventEventSnapshot); +#line 126 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = library_photo_global; +#line 126 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); +#line 126 "/home/jens/Source/shotwell/src/Event.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) _event_event_snapshot_on_attached_source_destroyed_source_collection_item_destroyed, self); +#line 127 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = video_global; +#line 127 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); +#line 127 "/home/jens/Source/shotwell/src/Event.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) _event_event_snapshot_on_attached_source_destroyed_source_collection_item_destroyed, self); +#line 106 "/home/jens/Source/shotwell/src/Event.vala" + _event_row_unref0 (self->priv->row); +#line 107 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->primary_source); +#line 108 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->attached_sources); +#line 105 "/home/jens/Source/shotwell/src/Event.vala" + SOURCE_SNAPSHOT_CLASS (event_event_snapshot_parent_class)->finalize (obj); +#line 7341 "Event.c" +} + + +static GType event_event_snapshot_get_type (void) { + static volatile gsize event_event_snapshot_type_id__volatile = 0; + if (g_once_init_enter (&event_event_snapshot_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventEventSnapshotClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_event_snapshot_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventEventSnapshot), 0, (GInstanceInitFunc) event_event_snapshot_instance_init, NULL }; + GType event_event_snapshot_type_id; + event_event_snapshot_type_id = g_type_register_static (TYPE_SOURCE_SNAPSHOT, "EventEventSnapshot", &g_define_type_info, 0); + g_once_init_leave (&event_event_snapshot_type_id__volatile, event_event_snapshot_type_id); + } + return event_event_snapshot_type_id__volatile; +} + + +static EventEventProxy* event_event_proxy_construct (GType object_type, Event* event) { + EventEventProxy* self = NULL; + Event* _tmp0_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_EVENT (event), NULL); +#line 155 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = event; +#line 155 "/home/jens/Source/shotwell/src/Event.vala" + self = (EventEventProxy*) source_proxy_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource)); +#line 154 "/home/jens/Source/shotwell/src/Event.vala" + return self; +#line 7368 "Event.c" +} + + +static EventEventProxy* event_event_proxy_new (Event* event) { +#line 154 "/home/jens/Source/shotwell/src/Event.vala" + return event_event_proxy_construct (EVENT_TYPE_EVENT_PROXY, event); +#line 7375 "Event.c" +} + + +static gpointer _source_snapshot_ref0 (gpointer self) { +#line 159 "/home/jens/Source/shotwell/src/Event.vala" + return self ? source_snapshot_ref (self) : NULL; +#line 7382 "Event.c" +} + + +static DataSource* event_event_proxy_real_reconstitute (SourceProxy* base, gint64 object_id, SourceSnapshot* snapshot) { + EventEventProxy * self; + DataSource* result = NULL; + EventEventSnapshot* event_snapshot = NULL; + SourceSnapshot* _tmp0_ = NULL; + EventEventSnapshot* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + EventRow* _tmp3_ = NULL; + EventRow* _tmp4_ = NULL; + Event* _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENT_TYPE_EVENT_PROXY, EventEventProxy); +#line 158 "/home/jens/Source/shotwell/src/Event.vala" + g_return_val_if_fail (IS_SOURCE_SNAPSHOT (snapshot), NULL); +#line 159 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = snapshot; +#line 159 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = _source_snapshot_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, EVENT_TYPE_EVENT_SNAPSHOT) ? ((EventEventSnapshot*) _tmp0_) : NULL); +#line 159 "/home/jens/Source/shotwell/src/Event.vala" + event_snapshot = _tmp1_; +#line 160 "/home/jens/Source/shotwell/src/Event.vala" + _vala_assert (event_snapshot != NULL, "event_snapshot != null"); +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + _tmp2_ = object_id; +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = event_event_snapshot_get_row (event_snapshot); +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + _tmp4_ = _tmp3_; +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = event_reconstitute (_tmp2_, _tmp4_); +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_SOURCE, DataSource); +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + _event_row_unref0 (_tmp4_); +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + result = _tmp6_; +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + _source_snapshot_unref0 (event_snapshot); +#line 162 "/home/jens/Source/shotwell/src/Event.vala" + return result; +#line 7427 "Event.c" +} + + +static void event_event_proxy_class_init (EventEventProxyClass * klass) { +#line 153 "/home/jens/Source/shotwell/src/Event.vala" + event_event_proxy_parent_class = g_type_class_peek_parent (klass); +#line 153 "/home/jens/Source/shotwell/src/Event.vala" + ((SourceProxyClass *) klass)->reconstitute = event_event_proxy_real_reconstitute; +#line 7436 "Event.c" +} + + +static void event_event_proxy_instance_init (EventEventProxy * self) { +} + + +static GType event_event_proxy_get_type (void) { + static volatile gsize event_event_proxy_type_id__volatile = 0; + if (g_once_init_enter (&event_event_proxy_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventEventProxyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_event_proxy_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventEventProxy), 0, (GInstanceInitFunc) event_event_proxy_instance_init, NULL }; + GType event_event_proxy_type_id; + event_event_proxy_type_id = g_type_register_static (TYPE_SOURCE_PROXY, "EventEventProxy", &g_define_type_info, 0); + g_once_init_leave (&event_event_proxy_type_id__volatile, event_event_proxy_type_id); + } + return event_event_proxy_type_id__volatile; +} + + +static void event_class_init (EventClass * klass) { +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + event_parent_class = g_type_class_peek_parent (klass); +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + g_type_class_add_private (klass, sizeof (EventPrivate)); +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((DataSourceClass *) klass)->get_typename = event_real_get_typename; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((DataSourceClass *) klass)->get_instance_id = event_real_get_instance_id; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((ThumbnailSourceClass *) klass)->get_representative_id = event_real_get_representative_id; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((ThumbnailSourceClass *) klass)->get_preferred_thumbnail_format = event_real_get_preferred_thumbnail_format; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((ThumbnailSourceClass *) klass)->create_thumbnail = event_real_create_thumbnail; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((DataSourceClass *) klass)->notify_relinking = event_real_notify_relinking; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((DataSourceClass *) klass)->save_snapshot = event_real_save_snapshot; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((DataSourceClass *) klass)->equals = event_real_equals; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((DataObjectClass *) klass)->to_string = event_real_to_string; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((DataObjectClass *) klass)->get_name = event_real_get_name; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((EventSourceClass *) klass)->get_comment = event_real_get_comment; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((EventSourceClass *) klass)->set_comment = event_real_set_comment; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((EventSourceClass *) klass)->get_start_time = event_real_get_start_time; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((EventSourceClass *) klass)->get_end_time = event_real_get_end_time; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((EventSourceClass *) klass)->get_total_filesize = event_real_get_total_filesize; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((EventSourceClass *) klass)->get_media_count = event_real_get_media_count; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((EventSourceClass *) klass)->get_media = event_real_get_media; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((ThumbnailSourceClass *) klass)->get_thumbnail = event_real_get_thumbnail; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + ((DataSourceClass *) klass)->destroy = event_real_destroy; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + G_OBJECT_CLASS (klass)->finalize = event_finalize; +#line 7501 "Event.c" +} + + +static void event_container_source_interface_init (ContainerSourceIface * iface) { +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + event_container_source_parent_iface = g_type_interface_peek_parent (iface); +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + iface->has_links = (gboolean (*)(ContainerSource*)) event_real_has_links; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + iface->get_backlink = (SourceBacklink* (*)(ContainerSource*)) event_real_get_backlink; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + iface->break_link = (void (*)(ContainerSource*, DataSource*)) event_real_break_link; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + iface->break_link_many = (void (*)(ContainerSource*, GeeCollection*)) event_real_break_link_many; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + iface->establish_link = (void (*)(ContainerSource*, DataSource*)) event_real_establish_link; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + iface->establish_link_many = (void (*)(ContainerSource*, GeeCollection*)) event_real_establish_link_many; +#line 7520 "Event.c" +} + + +static void event_proxyable_interface_init (ProxyableIface * iface) { +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + event_proxyable_parent_iface = g_type_interface_peek_parent (iface); +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + iface->get_proxy = (SourceProxy* (*)(Proxyable*)) event_real_get_proxy; +#line 7529 "Event.c" +} + + +static void event_indexable_interface_init (IndexableIface * iface) { +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + event_indexable_parent_iface = g_type_interface_peek_parent (iface); +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + iface->get_indexable_keywords = (const gchar* (*)(Indexable*)) event_real_get_indexable_keywords; +#line 7538 "Event.c" +} + + +static void event_instance_init (Event * self) { +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + self->priv = EVENT_GET_PRIVATE (self); +#line 175 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->unlinking = FALSE; +#line 176 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->relinking = FALSE; +#line 177 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->indexable_keywords = NULL; +#line 178 "/home/jens/Source/shotwell/src/Event.vala" + self->priv->comment = NULL; +#line 7553 "Event.c" +} + + +static void event_finalize (GObject* obj) { + Event * self; + MediaSource* _tmp0_ = NULL; + ViewCollection* _tmp3_ = NULL; + guint _tmp4_ = 0U; + ViewCollection* _tmp5_ = NULL; + guint _tmp6_ = 0U; + ViewCollection* _tmp7_ = NULL; + guint _tmp8_ = 0U; + LibraryPhotoSourceCollection* _tmp9_ = NULL; + guint _tmp10_ = 0U; + VideoSourceCollection* _tmp11_ = NULL; + guint _tmp12_ = 0U; +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT, Event); +#line 237 "/home/jens/Source/shotwell/src/Event.vala" + _tmp0_ = self->priv->primary_source; +#line 237 "/home/jens/Source/shotwell/src/Event.vala" + if (_tmp0_ != NULL) { +#line 7576 "Event.c" + MediaSource* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 238 "/home/jens/Source/shotwell/src/Event.vala" + _tmp1_ = self->priv->primary_source; +#line 238 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("thumbnail-altered", TYPE_THUMBNAIL_SOURCE, &_tmp2_, NULL, FALSE); +#line 238 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _event_on_primary_thumbnail_altered_thumbnail_source_thumbnail_altered, self); +#line 7585 "Event.c" + } +#line 240 "/home/jens/Source/shotwell/src/Event.vala" + _tmp3_ = self->priv->view; +#line 240 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE); +#line 240 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _event_on_media_altered_data_collection_items_altered, self); +#line 241 "/home/jens/Source/shotwell/src/Event.vala" + _tmp5_ = self->priv->view; +#line 241 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("items-removed", TYPE_DATA_COLLECTION, &_tmp6_, NULL, FALSE); +#line 241 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _event_on_media_removed_data_collection_items_removed, self); +#line 242 "/home/jens/Source/shotwell/src/Event.vala" + _tmp7_ = self->priv->view; +#line 242 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("items-added", TYPE_DATA_COLLECTION, &_tmp8_, NULL, FALSE); +#line 242 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _event_on_media_added_data_collection_items_added, self); +#line 244 "/home/jens/Source/shotwell/src/Event.vala" + _tmp9_ = library_photo_global; +#line 244 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp10_, NULL, FALSE); +#line 244 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _event_on_media_destroyed_source_collection_item_destroyed, self); +#line 245 "/home/jens/Source/shotwell/src/Event.vala" + _tmp11_ = video_global; +#line 245 "/home/jens/Source/shotwell/src/Event.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp12_, NULL, FALSE); +#line 245 "/home/jens/Source/shotwell/src/Event.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) _event_on_media_destroyed_source_collection_item_destroyed, self); +#line 172 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->raw_name); +#line 173 "/home/jens/Source/shotwell/src/Event.vala" + _g_object_unref0 (self->priv->primary_source); +#line 174 "/home/jens/Source/shotwell/src/Event.vala" + _data_collection_unref0 (self->priv->view); +#line 177 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->indexable_keywords); +#line 178 "/home/jens/Source/shotwell/src/Event.vala" + _g_free0 (self->priv->comment); +#line 94 "/home/jens/Source/shotwell/src/Event.vala" + G_OBJECT_CLASS (event_parent_class)->finalize (obj); +#line 7629 "Event.c" +} + + +GType event_get_type (void) { + static volatile gsize event_type_id__volatile = 0; + if (g_once_init_enter (&event_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Event), 0, (GInstanceInitFunc) event_instance_init, NULL }; + static const GInterfaceInfo container_source_info = { (GInterfaceInitFunc) event_container_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo proxyable_info = { (GInterfaceInitFunc) event_proxyable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo indexable_info = { (GInterfaceInitFunc) event_indexable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType event_type_id; + event_type_id = g_type_register_static (TYPE_EVENT_SOURCE, "Event", &g_define_type_info, 0); + g_type_add_interface_static (event_type_id, TYPE_CONTAINER_SOURCE, &container_source_info); + g_type_add_interface_static (event_type_id, TYPE_PROXYABLE, &proxyable_info); + g_type_add_interface_static (event_type_id, TYPE_INDEXABLE, &indexable_info); + g_once_init_leave (&event_type_id__volatile, event_type_id); + } + return event_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/Exporter.c b/src/Exporter.c new file mode 100644 index 0000000..1368956 --- /dev/null +++ b/src/Exporter.c @@ -0,0 +1,2855 @@ +/* Exporter.c generated by valac 0.32.1, the Vala compiler + * generated from Exporter.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_EXPORTER (exporter_get_type ()) +#define EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER, Exporter)) +#define EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER, ExporterClass)) +#define IS_EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER)) +#define IS_EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER)) +#define EXPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER, ExporterClass)) + +typedef struct _Exporter Exporter; +typedef struct _ExporterClass ExporterClass; +typedef struct _ExporterPrivate ExporterPrivate; + +#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_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define EXPORTER_TYPE_OVERWRITE (exporter_overwrite_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define EXPORTER_TYPE_EXPORT_JOB (exporter_export_job_get_type ()) +#define EXPORTER_EXPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXPORTER_TYPE_EXPORT_JOB, ExporterExportJob)) +#define EXPORTER_EXPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXPORTER_TYPE_EXPORT_JOB, ExporterExportJobClass)) +#define EXPORTER_IS_EXPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXPORTER_TYPE_EXPORT_JOB)) +#define EXPORTER_IS_EXPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EXPORTER_TYPE_EXPORT_JOB)) +#define EXPORTER_EXPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXPORTER_TYPE_EXPORT_JOB, ExporterExportJobClass)) + +typedef struct _ExporterExportJob ExporterExportJob; +typedef struct _ExporterExportJobClass ExporterExportJobClass; +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _ExporterExportJobPrivate ExporterExportJobPrivate; +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _scaling_free0(var) ((var == NULL) ? NULL : (var = (scaling_free (var), NULL))) + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; + +#define TYPE_EXPORTER_UI (exporter_ui_get_type ()) +#define EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER_UI, ExporterUI)) +#define EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER_UI, ExporterUIClass)) +#define IS_EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER_UI)) +#define IS_EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER_UI)) +#define EXPORTER_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER_UI, ExporterUIClass)) + +typedef struct _ExporterUI ExporterUI; +typedef struct _ExporterUIClass ExporterUIClass; +typedef struct _ExporterUIPrivate ExporterUIPrivate; + +#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_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; +typedef struct _ParamSpecExporterUI ParamSpecExporterUI; +#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); + +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +struct _Exporter { + GObject parent_instance; + ExporterPrivate * priv; +}; + +struct _ExporterClass { + GObjectClass parent_class; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef void (*ExporterCompletionCallback) (Exporter* exporter, gboolean is_cancelled, void* user_data); +typedef gboolean (*ExporterExportFailedCallback) (Exporter* exporter, GFile* file, gint remaining, GError* err, void* user_data); +typedef enum { + EXPORTER_OVERWRITE_YES, + EXPORTER_OVERWRITE_NO, + EXPORTER_OVERWRITE_CANCEL, + EXPORTER_OVERWRITE_REPLACE_ALL +} ExporterOverwrite; + +typedef ExporterOverwrite (*ExporterOverwriteCallback) (Exporter* exporter, GFile* file, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _ExporterPrivate { + GeeCollection* to_export; + GFile** exported_files; + gint exported_files_length1; + gint _exported_files_size_; + GFile* dir; + Scaling scaling; + gint completed_count; + Workers* workers; + ExporterCompletionCallback completion_callback; + gpointer completion_callback_target; + ExporterExportFailedCallback error_callback; + gpointer error_callback_target; + ExporterOverwriteCallback overwrite_callback; + gpointer overwrite_callback_target; + ProgressMonitor monitor; + gpointer monitor_target; + GCancellable* cancellable; + gboolean replace_all; + gboolean aborted; + ExportFormatParameters export_params; +}; + +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _ExporterExportJob { + BackgroundJob parent_instance; + ExporterExportJobPrivate * priv; + MediaSource* media; + GFile* dest; + Scaling* scaling; + JpegQuality* quality; + PhotoFileFormat* format; + GError* err; + gboolean direct_copy_unmodified; + gboolean export_metadata; +}; + +struct _ExporterExportJobClass { + BackgroundJobClass parent_class; +}; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); +struct _ExporterUI { + GTypeInstance parent_instance; + volatile int ref_count; + ExporterUIPrivate * priv; +}; + +struct _ExporterUIClass { + GTypeClass parent_class; + void (*finalize) (ExporterUI *self); +}; + +struct _ExporterUIPrivate { + Exporter* exporter; + GCancellable* cancellable; + ProgressDialog* progress_dialog; + ExporterCompletionCallback completion_callback; + gpointer completion_callback_target; +}; + +struct _ParamSpecExporterUI { + GParamSpec parent_instance; +}; + + +static gpointer exporter_parent_class = NULL; +static gpointer exporter_export_job_parent_class = NULL; +static gpointer exporter_ui_parent_class = NULL; + +GType export_format_mode_get_type (void) G_GNUC_CONST; +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +static void export_format_parameters_init (ExportFormatParameters *self, ExportFormatMode mode, PhotoFileFormat specified_format, JpegQuality quality); +void export_format_parameters_current (ExportFormatParameters* result); +PhotoFileFormat photo_file_format_get_system_default_format (void); +void export_format_parameters_unmodified (ExportFormatParameters* result); +void export_format_parameters_for_format (PhotoFileFormat format, ExportFormatParameters* result); +void export_format_parameters_last (ExportFormatParameters* result); +void export_format_parameters_for_JPEG (JpegQuality quality, ExportFormatParameters* result); +GType exporter_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 scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +GType exporter_overwrite_get_type (void) G_GNUC_CONST; +#define EXPORTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPORTER, ExporterPrivate)) +enum { + EXPORTER_DUMMY_PROPERTY +}; +guint workers_threads_per_cpu (gint per, gint max); +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +Exporter* exporter_new (GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +Exporter* exporter_construct (GType object_type, GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +Exporter* exporter_new_for_temp_file (GeeCollection* to_export, Scaling* scaling, ExportFormatParameters* export_params); +Exporter* exporter_construct_for_temp_file (GType object_type, GeeCollection* to_export, Scaling* scaling, ExportFormatParameters* export_params); +void exporter_export (Exporter* self, ExporterCompletionCallback completion_callback, void* completion_callback_target, ExporterExportFailedCallback error_callback, void* error_callback_target, ExporterOverwriteCallback overwrite_callback, void* overwrite_callback_target, GCancellable* cancellable, ProgressMonitor monitor, void* monitor_target); +static gboolean exporter_process_queue (Exporter* self); +static void exporter_export_completed (Exporter* self, gboolean is_cancelled); +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +static void exporter_on_exported (Exporter* self, BackgroundJob* j); +static GType exporter_export_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +static void _vala_array_add294 (GFile*** array, int* length, int* size, GFile* value); +static void exporter_on_export_cancelled (Exporter* self, BackgroundJob* j); +GFile** exporter_get_exported_files (Exporter* self, int* result_length1); +static GFile** _vala_array_dup31 (GFile** self, int length); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params); +gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params); +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +gchar* media_source_get_basename (MediaSource* self); +static void _vala_array_add295 (GFile*** array, int* length, int* size, GFile* value); +GFile* generate_unique_file (GFile* dir, const gchar* basename, gboolean* collision, GError** error); +GFile* app_dirs_get_temp_dir (void); +void app_window_error_message (const gchar* message, GtkWindow* parent); +GFile* media_source_get_file (MediaSource* self); +void workers_enqueue (Workers* self, BackgroundJob* job); +static ExporterExportJob* exporter_export_job_new (Exporter* owner, MediaSource* media, GFile* dest, Scaling* scaling, JpegQuality* quality, PhotoFileFormat* format, GCancellable* cancellable, gboolean direct_copy_unmodified, gboolean export_metadata); +static ExporterExportJob* exporter_export_job_construct (GType object_type, Exporter* owner, MediaSource* media, GFile* dest, Scaling* scaling, JpegQuality* quality, PhotoFileFormat* format, GCancellable* cancellable, gboolean direct_copy_unmodified, gboolean export_metadata); +enum { + EXPORTER_EXPORT_JOB_DUMMY_PROPERTY +}; +static void _exporter_on_exported_completion_callback (BackgroundJob* job, gpointer self); +static void _exporter_on_export_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +static JpegQuality* _jpeg_quality_dup (JpegQuality* self); +static PhotoFileFormat* _photo_file_format_dup (PhotoFileFormat* self); +static void exporter_export_job_real_execute (BackgroundJob* base); +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +void video_export (Video* self, GFile* dest_file, GError** error); +static void exporter_export_job_finalize (BackgroundJob* obj); +static void exporter_finalize (GObject* obj); +gpointer exporter_ui_ref (gpointer instance); +void exporter_ui_unref (gpointer instance); +GParamSpec* param_spec_exporter_ui (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_exporter_ui (GValue* value, gpointer v_object); +void value_take_exporter_ui (GValue* value, gpointer v_object); +gpointer value_get_exporter_ui (const GValue* value); +GType exporter_ui_get_type (void) G_GNUC_CONST; +GType progress_dialog_get_type (void) G_GNUC_CONST; +#define EXPORTER_UI_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXPORTER_UI, ExporterUIPrivate)) +enum { + EXPORTER_UI_DUMMY_PROPERTY +}; +ExporterUI* exporter_ui_new (Exporter* exporter); +ExporterUI* exporter_ui_construct (GType object_type, Exporter* exporter); +void exporter_ui_export (ExporterUI* self, ExporterCompletionCallback completion_callback, void* completion_callback_target); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +void page_window_set_busy_cursor (PageWindow* self); +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); +static void exporter_ui_on_export_completed (ExporterUI* self, Exporter* exporter, gboolean is_cancelled); +static void _exporter_ui_on_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self); +static gboolean exporter_ui_on_export_failed (ExporterUI* self, Exporter* exporter, GFile* file, gint remaining, GError* err); +static gboolean _exporter_ui_on_export_failed_exporter_export_failed_callback (Exporter* exporter, GFile* file, gint remaining, GError* err, gpointer self); +static ExporterOverwrite exporter_ui_on_export_overwrite (ExporterUI* self, Exporter* exporter, GFile* file); +static ExporterOverwrite _exporter_ui_on_export_overwrite_exporter_overwrite_callback (Exporter* exporter, GFile* file, gpointer self); +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); +void progress_dialog_close (ProgressDialog* self); +void page_window_set_normal_cursor (PageWindow* self); +GtkResponseType app_window_negate_affirm_all_cancel_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* affirmative_all, const gchar* title, GtkWindow* parent); +GtkResponseType export_error_dialog (GFile* dest, gboolean photos_remaining); +static void exporter_ui_finalize (ExporterUI* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +GType export_format_mode_get_type (void) { + static volatile gsize export_format_mode_type_id__volatile = 0; + if (g_once_init_enter (&export_format_mode_type_id__volatile)) { + static const GEnumValue values[] = {{EXPORT_FORMAT_MODE_UNMODIFIED, "EXPORT_FORMAT_MODE_UNMODIFIED", "unmodified"}, {EXPORT_FORMAT_MODE_CURRENT, "EXPORT_FORMAT_MODE_CURRENT", "current"}, {EXPORT_FORMAT_MODE_SPECIFIED, "EXPORT_FORMAT_MODE_SPECIFIED", "specified"}, {EXPORT_FORMAT_MODE_LAST, "EXPORT_FORMAT_MODE_LAST", "last"}, {0, NULL, NULL}}; + GType export_format_mode_type_id; + export_format_mode_type_id = g_enum_register_static ("ExportFormatMode", values); + g_once_init_leave (&export_format_mode_type_id__volatile, export_format_mode_type_id); + } + return export_format_mode_type_id__volatile; +} + + +static void export_format_parameters_init (ExportFormatParameters *self, ExportFormatMode mode, PhotoFileFormat specified_format, JpegQuality quality) { + ExportFormatMode _tmp0_ = 0; + PhotoFileFormat _tmp1_ = 0; + JpegQuality _tmp2_ = 0; +#line 20 "/home/jens/Source/shotwell/src/Exporter.vala" + memset (self, 0, sizeof (ExportFormatParameters)); +#line 22 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = mode; +#line 22 "/home/jens/Source/shotwell/src/Exporter.vala" + (*self).mode = _tmp0_; +#line 23 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = specified_format; +#line 23 "/home/jens/Source/shotwell/src/Exporter.vala" + (*self).specified_format = _tmp1_; +#line 24 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = quality; +#line 24 "/home/jens/Source/shotwell/src/Exporter.vala" + (*self).quality = _tmp2_; +#line 25 "/home/jens/Source/shotwell/src/Exporter.vala" + (*self).export_metadata = TRUE; +#line 555 "Exporter.c" +} + + +void export_format_parameters_current (ExportFormatParameters* result) { + PhotoFileFormat _tmp0_ = 0; + ExportFormatParameters _tmp1_ = {0}; +#line 29 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = photo_file_format_get_system_default_format (); +#line 29 "/home/jens/Source/shotwell/src/Exporter.vala" + export_format_parameters_init (&_tmp1_, EXPORT_FORMAT_MODE_CURRENT, _tmp0_, JPEG_QUALITY_HIGH); +#line 29 "/home/jens/Source/shotwell/src/Exporter.vala" + *result = _tmp1_; +#line 29 "/home/jens/Source/shotwell/src/Exporter.vala" + return; +#line 570 "Exporter.c" +} + + +void export_format_parameters_unmodified (ExportFormatParameters* result) { + PhotoFileFormat _tmp0_ = 0; + ExportFormatParameters _tmp1_ = {0}; +#line 34 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = photo_file_format_get_system_default_format (); +#line 34 "/home/jens/Source/shotwell/src/Exporter.vala" + export_format_parameters_init (&_tmp1_, EXPORT_FORMAT_MODE_UNMODIFIED, _tmp0_, JPEG_QUALITY_HIGH); +#line 34 "/home/jens/Source/shotwell/src/Exporter.vala" + *result = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/Exporter.vala" + return; +#line 585 "Exporter.c" +} + + +void export_format_parameters_for_format (PhotoFileFormat format, ExportFormatParameters* result) { + PhotoFileFormat _tmp0_ = 0; + ExportFormatParameters _tmp1_ = {0}; +#line 39 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = format; +#line 39 "/home/jens/Source/shotwell/src/Exporter.vala" + export_format_parameters_init (&_tmp1_, EXPORT_FORMAT_MODE_SPECIFIED, _tmp0_, JPEG_QUALITY_HIGH); +#line 39 "/home/jens/Source/shotwell/src/Exporter.vala" + *result = _tmp1_; +#line 39 "/home/jens/Source/shotwell/src/Exporter.vala" + return; +#line 600 "Exporter.c" +} + + +void export_format_parameters_last (ExportFormatParameters* result) { + PhotoFileFormat _tmp0_ = 0; + ExportFormatParameters _tmp1_ = {0}; +#line 43 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = photo_file_format_get_system_default_format (); +#line 43 "/home/jens/Source/shotwell/src/Exporter.vala" + export_format_parameters_init (&_tmp1_, EXPORT_FORMAT_MODE_LAST, _tmp0_, JPEG_QUALITY_HIGH); +#line 43 "/home/jens/Source/shotwell/src/Exporter.vala" + *result = _tmp1_; +#line 43 "/home/jens/Source/shotwell/src/Exporter.vala" + return; +#line 615 "Exporter.c" +} + + +void export_format_parameters_for_JPEG (JpegQuality quality, ExportFormatParameters* result) { + JpegQuality _tmp0_ = 0; + ExportFormatParameters _tmp1_ = {0}; +#line 48 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = quality; +#line 48 "/home/jens/Source/shotwell/src/Exporter.vala" + export_format_parameters_init (&_tmp1_, EXPORT_FORMAT_MODE_SPECIFIED, PHOTO_FILE_FORMAT_JFIF, _tmp0_); +#line 48 "/home/jens/Source/shotwell/src/Exporter.vala" + *result = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/Exporter.vala" + return; +#line 630 "Exporter.c" +} + + +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self) { + ExportFormatParameters* dup; +#line 14 "/home/jens/Source/shotwell/src/Exporter.vala" + dup = g_new0 (ExportFormatParameters, 1); +#line 14 "/home/jens/Source/shotwell/src/Exporter.vala" + memcpy (dup, self, sizeof (ExportFormatParameters)); +#line 14 "/home/jens/Source/shotwell/src/Exporter.vala" + return dup; +#line 642 "Exporter.c" +} + + +void export_format_parameters_free (ExportFormatParameters* self) { +#line 14 "/home/jens/Source/shotwell/src/Exporter.vala" + g_free (self); +#line 649 "Exporter.c" +} + + +GType export_format_parameters_get_type (void) { + static volatile gsize export_format_parameters_type_id__volatile = 0; + if (g_once_init_enter (&export_format_parameters_type_id__volatile)) { + GType export_format_parameters_type_id; + export_format_parameters_type_id = g_boxed_type_register_static ("ExportFormatParameters", (GBoxedCopyFunc) export_format_parameters_dup, (GBoxedFreeFunc) export_format_parameters_free); + g_once_init_leave (&export_format_parameters_type_id__volatile, export_format_parameters_type_id); + } + return export_format_parameters_type_id__volatile; +} + + +GType exporter_overwrite_get_type (void) { + static volatile gsize exporter_overwrite_type_id__volatile = 0; + if (g_once_init_enter (&exporter_overwrite_type_id__volatile)) { + static const GEnumValue values[] = {{EXPORTER_OVERWRITE_YES, "EXPORTER_OVERWRITE_YES", "yes"}, {EXPORTER_OVERWRITE_NO, "EXPORTER_OVERWRITE_NO", "no"}, {EXPORTER_OVERWRITE_CANCEL, "EXPORTER_OVERWRITE_CANCEL", "cancel"}, {EXPORTER_OVERWRITE_REPLACE_ALL, "EXPORTER_OVERWRITE_REPLACE_ALL", "replace-all"}, {0, NULL, NULL}}; + GType exporter_overwrite_type_id; + exporter_overwrite_type_id = g_enum_register_static ("ExporterOverwrite", values); + g_once_init_leave (&exporter_overwrite_type_id__volatile, exporter_overwrite_type_id); + } + return exporter_overwrite_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 125 "/home/jens/Source/shotwell/src/Exporter.vala" + return self ? g_object_ref (self) : NULL; +#line 679 "Exporter.c" +} + + +Exporter* exporter_construct (GType object_type, GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all) { + Exporter * self = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + Scaling _tmp4_ = {0}; + ExportFormatParameters _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; +#line 122 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (to_export), NULL); +#line 122 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail ((dir == NULL) || G_IS_FILE (dir), NULL); +#line 122 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 122 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (export_params != NULL, NULL); +#line 122 "/home/jens/Source/shotwell/src/Exporter.vala" + self = (Exporter*) g_object_new (object_type, NULL); +#line 124 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->priv->to_export; +#line 124 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = to_export; +#line 124 "/home/jens/Source/shotwell/src/Exporter.vala" + gee_collection_add_all (_tmp0_, _tmp1_); +#line 125 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = dir; +#line 125 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 125 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->dir); +#line 125 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->dir = _tmp3_; +#line 126 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = *scaling; +#line 126 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->scaling = _tmp4_; +#line 127 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = *export_params; +#line 127 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->export_params = _tmp5_; +#line 128 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = auto_replace_all; +#line 128 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->replace_all = _tmp6_; +#line 122 "/home/jens/Source/shotwell/src/Exporter.vala" + return self; +#line 730 "Exporter.c" +} + + +Exporter* exporter_new (GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all) { +#line 122 "/home/jens/Source/shotwell/src/Exporter.vala" + return exporter_construct (TYPE_EXPORTER, to_export, dir, scaling, export_params, auto_replace_all); +#line 737 "Exporter.c" +} + + +Exporter* exporter_construct_for_temp_file (GType object_type, GeeCollection* to_export, Scaling* scaling, ExportFormatParameters* export_params) { + Exporter * self = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + Scaling _tmp2_ = {0}; + ExportFormatParameters _tmp3_ = {0}; +#line 131 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (to_export), NULL); +#line 131 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 131 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (export_params != NULL, NULL); +#line 131 "/home/jens/Source/shotwell/src/Exporter.vala" + self = (Exporter*) g_object_new (object_type, NULL); +#line 133 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->priv->to_export; +#line 133 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = to_export; +#line 133 "/home/jens/Source/shotwell/src/Exporter.vala" + gee_collection_add_all (_tmp0_, _tmp1_); +#line 134 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->dir); +#line 134 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->dir = NULL; +#line 135 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = *scaling; +#line 135 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->scaling = _tmp2_; +#line 136 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = *export_params; +#line 136 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->export_params = _tmp3_; +#line 131 "/home/jens/Source/shotwell/src/Exporter.vala" + return self; +#line 775 "Exporter.c" +} + + +Exporter* exporter_new_for_temp_file (GeeCollection* to_export, Scaling* scaling, ExportFormatParameters* export_params) { +#line 131 "/home/jens/Source/shotwell/src/Exporter.vala" + return exporter_construct_for_temp_file (TYPE_EXPORTER, to_export, scaling, export_params); +#line 782 "Exporter.c" +} + + +void exporter_export (Exporter* self, ExporterCompletionCallback completion_callback, void* completion_callback_target, ExporterExportFailedCallback error_callback, void* error_callback_target, ExporterOverwriteCallback overwrite_callback, void* overwrite_callback_target, GCancellable* cancellable, ProgressMonitor monitor, void* monitor_target) { + ExporterCompletionCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; + ExporterExportFailedCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + ExporterOverwriteCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + ProgressMonitor _tmp3_ = NULL; + void* _tmp3__target = NULL; + GCancellable* _tmp4_ = NULL; + GCancellable* _tmp5_ = NULL; + GCancellable* _tmp6_ = NULL; + GCancellable* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 140 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_EXPORTER (self)); +#line 140 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 142 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = completion_callback; +#line 142 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0__target = completion_callback_target; +#line 142 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completion_callback = _tmp0_; +#line 142 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completion_callback_target = _tmp0__target; +#line 143 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = error_callback; +#line 143 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1__target = error_callback_target; +#line 143 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->error_callback = _tmp1_; +#line 143 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->error_callback_target = _tmp1__target; +#line 144 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = overwrite_callback; +#line 144 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2__target = overwrite_callback_target; +#line 144 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->overwrite_callback = _tmp2_; +#line 144 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->overwrite_callback_target = _tmp2__target; +#line 145 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = monitor; +#line 145 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3__target = monitor_target; +#line 145 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->monitor = _tmp3_; +#line 145 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->monitor_target = _tmp3__target; +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = cancellable; +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = _tmp6_; +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp4_ == NULL) { +#line 844 "Exporter.c" + GCancellable* _tmp7_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp7_ = g_cancellable_new (); +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_tmp4_); +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = _tmp7_; +#line 852 "Exporter.c" + } +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp8_ = _tmp4_; +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->cancellable); +#line 146 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->cancellable = _tmp8_; +#line 148 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp9_ = exporter_process_queue (self); +#line 148 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp9_) { +#line 149 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_export_completed (self, TRUE); +#line 868 "Exporter.c" + } +#line 140 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_tmp4_); +#line 872 "Exporter.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 153 "/home/jens/Source/shotwell/src/Exporter.vala" + return self ? background_job_ref (self) : NULL; +#line 879 "Exporter.c" +} + + +static void _vala_array_add294 (GFile*** array, int* length, int* size, GFile* value) { +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + if ((*length) == (*size)) { +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 890 "Exporter.c" + } +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + (*array)[(*length)++] = value; +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + (*array)[*length] = NULL; +#line 896 "Exporter.c" +} + + +static void exporter_on_exported (Exporter* self, BackgroundJob* j) { + ExporterExportJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + ExporterExportJob* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean completed = FALSE; + gint _tmp3_ = 0; + GeeCollection* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + gboolean _tmp36_ = FALSE; +#line 152 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_EXPORTER (self)); +#line 152 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 153 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = j; +#line 153 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, EXPORTER_TYPE_EXPORT_JOB, ExporterExportJob)); +#line 153 "/home/jens/Source/shotwell/src/Exporter.vala" + job = _tmp1_; +#line 155 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = self->priv->completed_count; +#line 155 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completed_count = _tmp2_ + 1; +#line 159 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = self->priv->completed_count; +#line 159 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = self->priv->to_export; +#line 159 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = gee_collection_get_size (_tmp4_); +#line 159 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = _tmp5_; +#line 159 "/home/jens/Source/shotwell/src/Exporter.vala" + completed = _tmp3_ == _tmp6_; +#line 161 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp8_ = self->priv->aborted; +#line 161 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp8_) { +#line 943 "Exporter.c" + ExporterExportJob* _tmp9_ = NULL; + GError* _tmp10_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp9_ = job; +#line 161 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp10_ = _tmp9_->err; +#line 161 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp7_ = _tmp10_ != NULL; +#line 952 "Exporter.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp7_ = FALSE; +#line 956 "Exporter.c" + } +#line 161 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp7_) { +#line 960 "Exporter.c" + ExporterExportFailedCallback _tmp11_ = NULL; + void* _tmp11__target = NULL; + ExporterExportJob* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + ExporterExportJob* _tmp18_ = NULL; + GError* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp11_ = self->priv->error_callback; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp11__target = self->priv->error_callback_target; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp12_ = job; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp13_ = _tmp12_->dest; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp14_ = self->priv->to_export; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp15_ = gee_collection_get_size (_tmp14_); +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp16_ = _tmp15_; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp17_ = self->priv->completed_count; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp18_ = job; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp19_ = _tmp18_->err; +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp20_ = _tmp11_ (self, _tmp13_, _tmp16_ - _tmp17_, _tmp19_, _tmp11__target); +#line 162 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp20_) { +#line 996 "Exporter.c" + gboolean _tmp21_ = FALSE; +#line 163 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->aborted = TRUE; +#line 165 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp21_ = completed; +#line 165 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp21_) { +#line 166 "/home/jens/Source/shotwell/src/Exporter.vala" + _background_job_unref0 (job); +#line 166 "/home/jens/Source/shotwell/src/Exporter.vala" + return; +#line 1008 "Exporter.c" + } + } + } +#line 170 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp23_ = self->priv->aborted; +#line 170 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp23_) { +#line 1016 "Exporter.c" + ProgressMonitor _tmp24_ = NULL; + void* _tmp24__target = NULL; +#line 170 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp24_ = self->priv->monitor; +#line 170 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp24__target = self->priv->monitor_target; +#line 170 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp22_ = _tmp24_ != NULL; +#line 1025 "Exporter.c" + } else { +#line 170 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp22_ = FALSE; +#line 1029 "Exporter.c" + } +#line 170 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp22_) { +#line 1033 "Exporter.c" + ProgressMonitor _tmp25_ = NULL; + void* _tmp25__target = NULL; + gint _tmp26_ = 0; + GeeCollection* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gboolean _tmp30_ = FALSE; +#line 171 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp25_ = self->priv->monitor; +#line 171 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp25__target = self->priv->monitor_target; +#line 171 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp26_ = self->priv->completed_count; +#line 171 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp27_ = self->priv->to_export; +#line 171 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp28_ = gee_collection_get_size (_tmp27_); +#line 171 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp29_ = _tmp28_; +#line 171 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp30_ = _tmp25_ ((guint64) _tmp26_, (guint64) _tmp29_, FALSE, _tmp25__target); +#line 171 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp30_) { +#line 1057 "Exporter.c" + gboolean _tmp31_ = FALSE; +#line 172 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->aborted = TRUE; +#line 174 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp31_ = completed; +#line 174 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp31_) { +#line 175 "/home/jens/Source/shotwell/src/Exporter.vala" + _background_job_unref0 (job); +#line 175 "/home/jens/Source/shotwell/src/Exporter.vala" + return; +#line 1069 "Exporter.c" + } + } else { + GFile** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + ExporterExportJob* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp32_ = self->priv->exported_files; +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp32__length1 = self->priv->exported_files_length1; +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp33_ = job; +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp34_ = _tmp33_->dest; +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp35_ = _g_object_ref0 (_tmp34_); +#line 177 "/home/jens/Source/shotwell/src/Exporter.vala" + _vala_array_add294 (&self->priv->exported_files, &self->priv->exported_files_length1, &self->priv->_exported_files_size_, _tmp35_); +#line 1089 "Exporter.c" + } + } +#line 181 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp36_ = completed; +#line 181 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp36_) { +#line 182 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_export_completed (self, FALSE); +#line 1098 "Exporter.c" + } +#line 152 "/home/jens/Source/shotwell/src/Exporter.vala" + _background_job_unref0 (job); +#line 1102 "Exporter.c" +} + + +static void exporter_on_export_cancelled (Exporter* self, BackgroundJob* j) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + GeeCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 185 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_EXPORTER (self)); +#line 185 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 186 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->priv->completed_count; +#line 186 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completed_count = _tmp0_ + 1; +#line 186 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = self->priv->completed_count; +#line 186 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = self->priv->to_export; +#line 186 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = gee_collection_get_size (_tmp2_); +#line 186 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = _tmp3_; +#line 186 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp1_ == _tmp4_) { +#line 187 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_export_completed (self, TRUE); +#line 1132 "Exporter.c" + } +} + + +static GFile** _vala_array_dup31 (GFile** self, int length) { + GFile** result; + int i; +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + result = g_new0 (GFile*, length + 1); +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + for (i = 0; i < length; i++) { +#line 1144 "Exporter.c" + GFile* _tmp0_ = NULL; +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + result[i] = _tmp0_; +#line 1150 "Exporter.c" + } +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 1154 "Exporter.c" +} + + +GFile** exporter_get_exported_files (Exporter* self, int* result_length1) { + GFile** result = NULL; + GFile** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + GFile** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GFile** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 190 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_EXPORTER (self), NULL); +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->priv->exported_files; +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0__length1 = self->priv->exported_files_length1; +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup31 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1__length1 = _tmp0__length1; +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = _tmp1_; +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2__length1 = _tmp1__length1; +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + if (result_length1) { +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + *result_length1 = _tmp2__length1; +#line 1184 "Exporter.c" + } +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + result = _tmp2_; +#line 191 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 1190 "Exporter.c" +} + + +static void _vala_array_add295 (GFile*** array, int* length, int* size, GFile* value) { +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + if ((*length) == (*size)) { +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 1201 "Exporter.c" + } +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + (*array)[(*length)++] = value; +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + (*array)[*length] = NULL; +#line 1207 "Exporter.c" +} + + +static gboolean exporter_process_queue (Exporter* self) { + gboolean result = FALSE; + gint submitted = 0; + gint _tmp89_ = 0; + GError * _inner_error_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_EXPORTER (self), FALSE); +#line 195 "/home/jens/Source/shotwell/src/Exporter.vala" + submitted = 0; +#line 1220 "Exporter.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->priv->to_export; +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _source_it = _tmp1_; +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + while (TRUE) { +#line 1233 "Exporter.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GFile* use_source_file = NULL; + PhotoFileFormat real_export_format = 0; + PhotoFileFormat _tmp6_ = 0; + gchar* basename = NULL; + MediaSource* _tmp7_ = NULL; + const gchar* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* export_dir = NULL; + GFile* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* dest = NULL; + GFile* _tmp35_ = NULL; + Workers* _tmp74_ = NULL; + MediaSource* _tmp75_ = NULL; + GFile* _tmp76_ = NULL; + Scaling _tmp77_ = {0}; + ExportFormatParameters _tmp78_ = {0}; + JpegQuality _tmp79_ = 0; + PhotoFileFormat _tmp80_ = 0; + GCancellable* _tmp81_ = NULL; + ExportFormatParameters _tmp82_ = {0}; + ExportFormatMode _tmp83_ = 0; + ExportFormatParameters _tmp84_ = {0}; + gboolean _tmp85_ = FALSE; + ExporterExportJob* _tmp86_ = NULL; + ExporterExportJob* _tmp87_ = NULL; + gint _tmp88_ = 0; +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = _source_it; +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp3_) { +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + break; +#line 1274 "Exporter.c" + } +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = _source_it; +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + source = (MediaSource*) _tmp5_; +#line 197 "/home/jens/Source/shotwell/src/Exporter.vala" + use_source_file = NULL; +#line 198 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = photo_file_format_get_system_default_format (); +#line 198 "/home/jens/Source/shotwell/src/Exporter.vala" + real_export_format = _tmp6_; +#line 199 "/home/jens/Source/shotwell/src/Exporter.vala" + basename = NULL; +#line 200 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp7_ = source; +#line 200 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_PHOTO)) { +#line 1294 "Exporter.c" + Photo* photo = NULL; + MediaSource* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + ExportFormatParameters _tmp11_ = {0}; + PhotoFileFormat _tmp12_ = 0; + Photo* _tmp13_ = NULL; + ExportFormatParameters _tmp14_ = {0}; + gchar* _tmp15_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp8_ = source; +#line 201 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo)); +#line 201 "/home/jens/Source/shotwell/src/Exporter.vala" + photo = _tmp9_; +#line 202 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp10_ = photo; +#line 202 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp11_ = self->priv->export_params; +#line 202 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp12_ = photo_get_export_format_for_parameters (_tmp10_, &_tmp11_); +#line 202 "/home/jens/Source/shotwell/src/Exporter.vala" + real_export_format = _tmp12_; +#line 203 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp13_ = photo; +#line 203 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp14_ = self->priv->export_params; +#line 203 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp15_ = photo_get_export_basename_for_parameters (_tmp13_, &_tmp14_); +#line 203 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 203 "/home/jens/Source/shotwell/src/Exporter.vala" + basename = _tmp15_; +#line 200 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (photo); +#line 1330 "Exporter.c" + } else { + MediaSource* _tmp16_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp16_ = source; +#line 204 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_VIDEO)) { +#line 1337 "Exporter.c" + MediaSource* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp17_ = source; +#line 205 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp18_ = media_source_get_basename (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_VIDEO, Video), TYPE_MEDIA_SOURCE, MediaSource)); +#line 205 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 205 "/home/jens/Source/shotwell/src/Exporter.vala" + basename = _tmp18_; +#line 1348 "Exporter.c" + } + } +#line 207 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp19_ = basename; +#line 207 "/home/jens/Source/shotwell/src/Exporter.vala" + _vala_assert (_tmp19_ != NULL, "basename != null"); +#line 209 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp20_ = use_source_file; +#line 209 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp20_ != NULL) { +#line 1359 "Exporter.c" + GFile** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + gint _tmp24_ = 0; + ProgressMonitor _tmp25_ = NULL; + void* _tmp25__target = NULL; +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp21_ = self->priv->exported_files; +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp21__length1 = self->priv->exported_files_length1; +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp22_ = use_source_file; +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp23_ = _g_object_ref0 (_tmp22_); +#line 210 "/home/jens/Source/shotwell/src/Exporter.vala" + _vala_array_add295 (&self->priv->exported_files, &self->priv->exported_files_length1, &self->priv->_exported_files_size_, _tmp23_); +#line 212 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp24_ = self->priv->completed_count; +#line 212 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completed_count = _tmp24_ + 1; +#line 213 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp25_ = self->priv->monitor; +#line 213 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp25__target = self->priv->monitor_target; +#line 213 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp25_ != NULL) { +#line 1387 "Exporter.c" + ProgressMonitor _tmp26_ = NULL; + void* _tmp26__target = NULL; + gint _tmp27_ = 0; + GeeCollection* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gboolean _tmp31_ = FALSE; +#line 214 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp26_ = self->priv->monitor; +#line 214 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp26__target = self->priv->monitor_target; +#line 214 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp27_ = self->priv->completed_count; +#line 214 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp28_ = self->priv->to_export; +#line 214 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp29_ = gee_collection_get_size (_tmp28_); +#line 214 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp30_ = _tmp29_; +#line 214 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp31_ = _tmp26_ ((guint64) _tmp27_, (guint64) _tmp30_, TRUE, _tmp26__target); +#line 214 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp31_) { +#line 1411 "Exporter.c" + GCancellable* _tmp32_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp32_ = self->priv->cancellable; +#line 215 "/home/jens/Source/shotwell/src/Exporter.vala" + g_cancellable_cancel (_tmp32_); +#line 217 "/home/jens/Source/shotwell/src/Exporter.vala" + result = FALSE; +#line 217 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 217 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (use_source_file); +#line 217 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (source); +#line 217 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_source_it); +#line 217 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 1429 "Exporter.c" + } + } +#line 221 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 221 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (use_source_file); +#line 221 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (source); +#line 221 "/home/jens/Source/shotwell/src/Exporter.vala" + continue; +#line 1440 "Exporter.c" + } +#line 224 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp33_ = self->priv->dir; +#line 224 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp34_ = _g_object_ref0 (_tmp33_); +#line 224 "/home/jens/Source/shotwell/src/Exporter.vala" + export_dir = _tmp34_; +#line 225 "/home/jens/Source/shotwell/src/Exporter.vala" + dest = NULL; +#line 227 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp35_ = export_dir; +#line 227 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp35_ == NULL) { +#line 1454 "Exporter.c" + { + gboolean collision = FALSE; + GFile* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; + GFile* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gboolean _tmp40_ = FALSE; + GFile* _tmp41_ = NULL; + GFile* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp37_ = app_dirs_get_temp_dir (); +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp38_ = _tmp37_; +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp39_ = basename; +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp41_ = generate_unique_file (_tmp38_, _tmp39_, &_tmp40_, &_inner_error_); +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + collision = _tmp40_; +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp42_ = _tmp41_; +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_tmp38_); +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp36_ = _tmp42_; +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1483 "Exporter.c" + goto __catch467_g_error; + } +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp43_ = _tmp36_; +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp36_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (dest); +#line 230 "/home/jens/Source/shotwell/src/Exporter.vala" + dest = _tmp43_; +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_tmp36_); +#line 1496 "Exporter.c" + } + goto __finally467; + __catch467_g_error: + { + GError* err = NULL; + const gchar* _tmp44_ = NULL; + MediaSource* _tmp45_ = NULL; + GFile* _tmp46_ = NULL; + GFile* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + GError* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + err = _inner_error_; +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + _inner_error_ = NULL; +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp44_ = _ ("Unable to generate a temporary file for %s: %s"); +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp45_ = source; +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp46_ = media_source_get_file (_tmp45_); +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp47_ = _tmp46_; +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp48_ = g_file_get_basename (_tmp47_); +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp49_ = _tmp48_; +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp50_ = err; +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp51_ = _tmp50_->message; +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp52_ = g_strdup_printf (_tmp44_, _tmp49_, _tmp51_); +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp53_ = _tmp52_; +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + app_window_error_message (_tmp53_, NULL); +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (_tmp53_); +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (_tmp49_); +#line 232 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_tmp47_); +#line 235 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_error_free0 (err); +#line 235 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (dest); +#line 235 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (export_dir); +#line 235 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 235 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (use_source_file); +#line 235 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (source); +#line 235 "/home/jens/Source/shotwell/src/Exporter.vala" + break; +#line 1558 "Exporter.c" + } + __finally467: +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (dest); +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (export_dir); +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (use_source_file); +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (source); +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_source_it); +#line 228 "/home/jens/Source/shotwell/src/Exporter.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 228 "/home/jens/Source/shotwell/src/Exporter.vala" + g_clear_error (&_inner_error_); +#line 228 "/home/jens/Source/shotwell/src/Exporter.vala" + return FALSE; +#line 1581 "Exporter.c" + } + } else { + GFile* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + GFile* _tmp56_ = NULL; + gboolean _tmp57_ = FALSE; + gboolean _tmp58_ = FALSE; +#line 238 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp54_ = self->priv->dir; +#line 238 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp55_ = basename; +#line 238 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp56_ = g_file_get_child (_tmp54_, _tmp55_); +#line 238 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (dest); +#line 238 "/home/jens/Source/shotwell/src/Exporter.vala" + dest = _tmp56_; +#line 240 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp58_ = self->priv->replace_all; +#line 240 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp58_) { +#line 1603 "Exporter.c" + GFile* _tmp59_ = NULL; + gboolean _tmp60_ = FALSE; +#line 240 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp59_ = dest; +#line 240 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp60_ = g_file_query_exists (_tmp59_, NULL); +#line 240 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp57_ = _tmp60_; +#line 1612 "Exporter.c" + } else { +#line 240 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp57_ = FALSE; +#line 1616 "Exporter.c" + } +#line 240 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp57_) { +#line 1620 "Exporter.c" + ExporterOverwriteCallback _tmp61_ = NULL; + void* _tmp61__target = NULL; + GFile* _tmp62_ = NULL; + ExporterOverwrite _tmp63_ = 0; +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp61_ = self->priv->overwrite_callback; +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp61__target = self->priv->overwrite_callback_target; +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp62_ = dest; +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp63_ = _tmp61_ (self, _tmp62_, _tmp61__target); +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + switch (_tmp63_) { +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + case EXPORTER_OVERWRITE_YES: +#line 1637 "Exporter.c" + { +#line 244 "/home/jens/Source/shotwell/src/Exporter.vala" + break; +#line 1641 "Exporter.c" + } +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + case EXPORTER_OVERWRITE_REPLACE_ALL: +#line 1645 "Exporter.c" + { +#line 247 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->replace_all = TRUE; +#line 248 "/home/jens/Source/shotwell/src/Exporter.vala" + break; +#line 1651 "Exporter.c" + } +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + case EXPORTER_OVERWRITE_CANCEL: +#line 1655 "Exporter.c" + { + GCancellable* _tmp64_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp64_ = self->priv->cancellable; +#line 251 "/home/jens/Source/shotwell/src/Exporter.vala" + g_cancellable_cancel (_tmp64_); +#line 253 "/home/jens/Source/shotwell/src/Exporter.vala" + result = FALSE; +#line 253 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (dest); +#line 253 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (export_dir); +#line 253 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 253 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (use_source_file); +#line 253 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (source); +#line 253 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_source_it); +#line 253 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 1678 "Exporter.c" + } + default: +#line 241 "/home/jens/Source/shotwell/src/Exporter.vala" + case EXPORTER_OVERWRITE_NO: +#line 1683 "Exporter.c" + { + gint _tmp65_ = 0; + ProgressMonitor _tmp66_ = NULL; + void* _tmp66__target = NULL; +#line 257 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp65_ = self->priv->completed_count; +#line 257 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completed_count = _tmp65_ + 1; +#line 258 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp66_ = self->priv->monitor; +#line 258 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp66__target = self->priv->monitor_target; +#line 258 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp66_ != NULL) { +#line 1698 "Exporter.c" + ProgressMonitor _tmp67_ = NULL; + void* _tmp67__target = NULL; + gint _tmp68_ = 0; + GeeCollection* _tmp69_ = NULL; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + gboolean _tmp72_ = FALSE; +#line 259 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp67_ = self->priv->monitor; +#line 259 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp67__target = self->priv->monitor_target; +#line 259 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp68_ = self->priv->completed_count; +#line 259 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp69_ = self->priv->to_export; +#line 259 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp70_ = gee_collection_get_size (_tmp69_); +#line 259 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp71_ = _tmp70_; +#line 259 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp72_ = _tmp67_ ((guint64) _tmp68_, (guint64) _tmp71_, TRUE, _tmp67__target); +#line 259 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!_tmp72_) { +#line 1722 "Exporter.c" + GCancellable* _tmp73_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp73_ = self->priv->cancellable; +#line 260 "/home/jens/Source/shotwell/src/Exporter.vala" + g_cancellable_cancel (_tmp73_); +#line 262 "/home/jens/Source/shotwell/src/Exporter.vala" + result = FALSE; +#line 262 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (dest); +#line 262 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (export_dir); +#line 262 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 262 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (use_source_file); +#line 262 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (source); +#line 262 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_source_it); +#line 262 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 1744 "Exporter.c" + } + } +#line 266 "/home/jens/Source/shotwell/src/Exporter.vala" + continue; +#line 1749 "Exporter.c" + } + } + } + } +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp74_ = self->priv->workers; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp75_ = source; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp76_ = dest; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp77_ = self->priv->scaling; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp78_ = self->priv->export_params; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp79_ = _tmp78_.quality; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp80_ = real_export_format; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp81_ = self->priv->cancellable; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp82_ = self->priv->export_params; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp83_ = _tmp82_.mode; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp84_ = self->priv->export_params; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp85_ = _tmp84_.export_metadata; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp86_ = exporter_export_job_new (self, _tmp75_, _tmp76_, &_tmp77_, &_tmp79_, &_tmp80_, _tmp81_, _tmp83_ == EXPORT_FORMAT_MODE_UNMODIFIED, _tmp85_); +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp87_ = _tmp86_; +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + workers_enqueue (_tmp74_, G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 271 "/home/jens/Source/shotwell/src/Exporter.vala" + _background_job_unref0 (_tmp87_); +#line 273 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp88_ = submitted; +#line 273 "/home/jens/Source/shotwell/src/Exporter.vala" + submitted = _tmp88_ + 1; +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (dest); +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (export_dir); +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (basename); +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (use_source_file); +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (source); +#line 1800 "Exporter.c" + } +#line 196 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_source_it); +#line 1804 "Exporter.c" + } +#line 276 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp89_ = submitted; +#line 276 "/home/jens/Source/shotwell/src/Exporter.vala" + result = _tmp89_ > 0; +#line 276 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 1812 "Exporter.c" +} + + +static void exporter_export_completed (Exporter* self, gboolean is_cancelled) { + ExporterCompletionCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; + gboolean _tmp1_ = FALSE; +#line 279 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_EXPORTER (self)); +#line 280 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->priv->completion_callback; +#line 280 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0__target = self->priv->completion_callback_target; +#line 280 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = is_cancelled; +#line 280 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ (self, _tmp1_, _tmp0__target); +#line 1830 "Exporter.c" +} + + +static void _exporter_on_exported_completion_callback (BackgroundJob* job, gpointer self) { +#line 81 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_on_exported ((Exporter*) self, job); +#line 1837 "Exporter.c" +} + + +static void _exporter_on_export_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 81 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_on_export_cancelled ((Exporter*) self, job); +#line 1844 "Exporter.c" +} + + +static gpointer _scaling_dup0 (gpointer self) { +#line 87 "/home/jens/Source/shotwell/src/Exporter.vala" + return self ? scaling_dup (self) : NULL; +#line 1851 "Exporter.c" +} + + +static JpegQuality* _jpeg_quality_dup (JpegQuality* self) { + JpegQuality* dup; +#line 88 "/home/jens/Source/shotwell/src/Exporter.vala" + dup = g_new0 (JpegQuality, 1); +#line 88 "/home/jens/Source/shotwell/src/Exporter.vala" + memcpy (dup, self, sizeof (JpegQuality)); +#line 88 "/home/jens/Source/shotwell/src/Exporter.vala" + return dup; +#line 1863 "Exporter.c" +} + + +static gpointer __jpeg_quality_dup0 (gpointer self) { +#line 88 "/home/jens/Source/shotwell/src/Exporter.vala" + return self ? _jpeg_quality_dup (self) : NULL; +#line 1870 "Exporter.c" +} + + +static PhotoFileFormat* _photo_file_format_dup (PhotoFileFormat* self) { + PhotoFileFormat* dup; +#line 89 "/home/jens/Source/shotwell/src/Exporter.vala" + dup = g_new0 (PhotoFileFormat, 1); +#line 89 "/home/jens/Source/shotwell/src/Exporter.vala" + memcpy (dup, self, sizeof (PhotoFileFormat)); +#line 89 "/home/jens/Source/shotwell/src/Exporter.vala" + return dup; +#line 1882 "Exporter.c" +} + + +static gpointer __photo_file_format_dup0 (gpointer self) { +#line 89 "/home/jens/Source/shotwell/src/Exporter.vala" + return self ? _photo_file_format_dup (self) : NULL; +#line 1889 "Exporter.c" +} + + +static ExporterExportJob* exporter_export_job_construct (GType object_type, Exporter* owner, MediaSource* media, GFile* dest, Scaling* scaling, JpegQuality* quality, PhotoFileFormat* format, GCancellable* cancellable, gboolean direct_copy_unmodified, gboolean export_metadata) { + ExporterExportJob* self = NULL; + Exporter* _tmp0_ = NULL; + Exporter* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; + Exporter* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* _tmp5_ = NULL; + MediaSource* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + Scaling* _tmp11_ = NULL; + Scaling* _tmp12_ = NULL; + JpegQuality* _tmp13_ = NULL; + JpegQuality* _tmp14_ = NULL; + PhotoFileFormat* _tmp15_ = NULL; + PhotoFileFormat* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; +#line 78 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_EXPORTER (owner), NULL); +#line 78 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (media), NULL); +#line 78 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (G_IS_FILE (dest), NULL); +#line 78 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 81 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = owner; +#line 81 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = owner; +#line 81 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = cancellable; +#line 81 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = owner; +#line 81 "/home/jens/Source/shotwell/src/Exporter.vala" + self = (ExporterExportJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _exporter_on_exported_completion_callback, _tmp1_, _tmp2_, _exporter_on_export_cancelled_cancellation_callback, _tmp3_, NULL); +#line 83 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = media; +#line 83 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_PHOTO)) { +#line 83 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = TRUE; +#line 1937 "Exporter.c" + } else { + MediaSource* _tmp6_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = media; +#line 83 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_VIDEO); +#line 1944 "Exporter.c" + } +#line 83 "/home/jens/Source/shotwell/src/Exporter.vala" + _vala_assert (_tmp4_, "media is Photo || media is Video"); +#line 85 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp7_ = media; +#line 85 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 85 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->media); +#line 85 "/home/jens/Source/shotwell/src/Exporter.vala" + self->media = _tmp8_; +#line 86 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp9_ = dest; +#line 86 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 86 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->dest); +#line 86 "/home/jens/Source/shotwell/src/Exporter.vala" + self->dest = _tmp10_; +#line 87 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp11_ = scaling; +#line 87 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp12_ = _scaling_dup0 (_tmp11_); +#line 87 "/home/jens/Source/shotwell/src/Exporter.vala" + _scaling_free0 (self->scaling); +#line 87 "/home/jens/Source/shotwell/src/Exporter.vala" + self->scaling = _tmp12_; +#line 88 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp13_ = quality; +#line 88 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp14_ = __jpeg_quality_dup0 (_tmp13_); +#line 88 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (self->quality); +#line 88 "/home/jens/Source/shotwell/src/Exporter.vala" + self->quality = _tmp14_; +#line 89 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp15_ = format; +#line 89 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp16_ = __photo_file_format_dup0 (_tmp15_); +#line 89 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (self->format); +#line 89 "/home/jens/Source/shotwell/src/Exporter.vala" + self->format = _tmp16_; +#line 90 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp17_ = direct_copy_unmodified; +#line 90 "/home/jens/Source/shotwell/src/Exporter.vala" + self->direct_copy_unmodified = _tmp17_; +#line 91 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp18_ = export_metadata; +#line 91 "/home/jens/Source/shotwell/src/Exporter.vala" + self->export_metadata = _tmp18_; +#line 78 "/home/jens/Source/shotwell/src/Exporter.vala" + return self; +#line 1998 "Exporter.c" +} + + +static ExporterExportJob* exporter_export_job_new (Exporter* owner, MediaSource* media, GFile* dest, Scaling* scaling, JpegQuality* quality, PhotoFileFormat* format, GCancellable* cancellable, gboolean direct_copy_unmodified, gboolean export_metadata) { +#line 78 "/home/jens/Source/shotwell/src/Exporter.vala" + return exporter_export_job_construct (EXPORTER_TYPE_EXPORT_JOB, owner, media, dest, scaling, quality, format, cancellable, direct_copy_unmodified, export_metadata); +#line 2005 "Exporter.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 102 "/home/jens/Source/shotwell/src/Exporter.vala" + return self ? g_error_copy (self) : NULL; +#line 2012 "Exporter.c" +} + + +static void exporter_export_job_real_execute (BackgroundJob* base) { + ExporterExportJob * self; + GError * _inner_error_ = NULL; +#line 94 "/home/jens/Source/shotwell/src/Exporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EXPORTER_TYPE_EXPORT_JOB, ExporterExportJob); +#line 2021 "Exporter.c" + { + MediaSource* _tmp0_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->media; +#line 96 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO)) { +#line 2028 "Exporter.c" + MediaSource* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + Scaling* _tmp3_ = NULL; + JpegQuality* _tmp4_ = NULL; + PhotoFileFormat* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + Scaling _tmp8_ = {0}; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = self->media; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = self->dest; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = self->scaling; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = self->quality; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = self->format; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = self->direct_copy_unmodified; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp7_ = self->export_metadata; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp8_ = *_tmp3_; +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + photo_export (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO, Photo), _tmp2_, &_tmp8_, *_tmp4_, *_tmp5_, _tmp6_, _tmp7_, &_inner_error_); +#line 97 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2057 "Exporter.c" + goto __catch468_g_error; + } + } else { + MediaSource* _tmp9_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp9_ = self->media; +#line 98 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_VIDEO)) { +#line 2066 "Exporter.c" + MediaSource* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp10_ = self->media; +#line 99 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp11_ = self->dest; +#line 99 "/home/jens/Source/shotwell/src/Exporter.vala" + video_export (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_VIDEO, Video), _tmp11_, &_inner_error_); +#line 99 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2077 "Exporter.c" + goto __catch468_g_error; + } + } + } + } + goto __finally468; + __catch468_g_error: + { + GError* err = NULL; + GError* _tmp12_ = NULL; + GError* _tmp13_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/Exporter.vala" + err = _inner_error_; +#line 95 "/home/jens/Source/shotwell/src/Exporter.vala" + _inner_error_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp12_ = err; +#line 102 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp13_ = _g_error_copy0 (_tmp12_); +#line 102 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_error_free0 (self->err); +#line 102 "/home/jens/Source/shotwell/src/Exporter.vala" + self->err = _tmp13_; +#line 95 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_error_free0 (err); +#line 2103 "Exporter.c" + } + __finally468: +#line 95 "/home/jens/Source/shotwell/src/Exporter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 95 "/home/jens/Source/shotwell/src/Exporter.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 95 "/home/jens/Source/shotwell/src/Exporter.vala" + g_clear_error (&_inner_error_); +#line 95 "/home/jens/Source/shotwell/src/Exporter.vala" + return; +#line 2114 "Exporter.c" + } +} + + +static void exporter_export_job_class_init (ExporterExportJobClass * klass) { +#line 68 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_export_job_parent_class = g_type_class_peek_parent (klass); +#line 68 "/home/jens/Source/shotwell/src/Exporter.vala" + ((BackgroundJobClass *) klass)->finalize = exporter_export_job_finalize; +#line 68 "/home/jens/Source/shotwell/src/Exporter.vala" + ((BackgroundJobClass *) klass)->execute = exporter_export_job_real_execute; +#line 2126 "Exporter.c" +} + + +static void exporter_export_job_instance_init (ExporterExportJob * self) { +#line 74 "/home/jens/Source/shotwell/src/Exporter.vala" + self->err = NULL; +#line 75 "/home/jens/Source/shotwell/src/Exporter.vala" + self->direct_copy_unmodified = FALSE; +#line 76 "/home/jens/Source/shotwell/src/Exporter.vala" + self->export_metadata = TRUE; +#line 2137 "Exporter.c" +} + + +static void exporter_export_job_finalize (BackgroundJob* obj) { + ExporterExportJob * self; +#line 68 "/home/jens/Source/shotwell/src/Exporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EXPORTER_TYPE_EXPORT_JOB, ExporterExportJob); +#line 69 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->media); +#line 70 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->dest); +#line 71 "/home/jens/Source/shotwell/src/Exporter.vala" + _scaling_free0 (self->scaling); +#line 72 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (self->quality); +#line 73 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (self->format); +#line 74 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_error_free0 (self->err); +#line 68 "/home/jens/Source/shotwell/src/Exporter.vala" + BACKGROUND_JOB_CLASS (exporter_export_job_parent_class)->finalize (obj); +#line 2159 "Exporter.c" +} + + +static GType exporter_export_job_get_type (void) { + static volatile gsize exporter_export_job_type_id__volatile = 0; + if (g_once_init_enter (&exporter_export_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExporterExportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) exporter_export_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExporterExportJob), 0, (GInstanceInitFunc) exporter_export_job_instance_init, NULL }; + GType exporter_export_job_type_id; + exporter_export_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "ExporterExportJob", &g_define_type_info, 0); + g_once_init_leave (&exporter_export_job_type_id__volatile, exporter_export_job_type_id); + } + return exporter_export_job_type_id__volatile; +} + + +static void exporter_class_init (ExporterClass * klass) { +#line 53 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_parent_class = g_type_class_peek_parent (klass); +#line 53 "/home/jens/Source/shotwell/src/Exporter.vala" + g_type_class_add_private (klass, sizeof (ExporterPrivate)); +#line 53 "/home/jens/Source/shotwell/src/Exporter.vala" + G_OBJECT_CLASS (klass)->finalize = exporter_finalize; +#line 2182 "Exporter.c" +} + + +static void exporter_instance_init (Exporter * self) { + GeeArrayList* _tmp0_ = NULL; + guint _tmp1_ = 0U; + Workers* _tmp2_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv = EXPORTER_GET_PRIVATE (self); +#line 107 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 107 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->to_export = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 111 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completed_count = 0; +#line 112 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = workers_threads_per_cpu (1, 4); +#line 112 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = workers_new (_tmp1_, FALSE); +#line 112 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->workers = _tmp2_; +#line 113 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completion_callback = NULL; +#line 114 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->error_callback = NULL; +#line 115 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->overwrite_callback = NULL; +#line 116 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->monitor = NULL; +#line 118 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->replace_all = FALSE; +#line 119 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->aborted = FALSE; +#line 2216 "Exporter.c" +} + + +static void exporter_finalize (GObject* obj) { + Exporter * self; +#line 53 "/home/jens/Source/shotwell/src/Exporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPORTER, Exporter); +#line 107 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->to_export); +#line 108 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->exported_files = (_vala_array_free (self->priv->exported_files, self->priv->exported_files_length1, (GDestroyNotify) g_object_unref), NULL); +#line 109 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->dir); +#line 112 "/home/jens/Source/shotwell/src/Exporter.vala" + _workers_unref0 (self->priv->workers); +#line 117 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->cancellable); +#line 53 "/home/jens/Source/shotwell/src/Exporter.vala" + G_OBJECT_CLASS (exporter_parent_class)->finalize (obj); +#line 2236 "Exporter.c" +} + + +GType exporter_get_type (void) { + static volatile gsize exporter_type_id__volatile = 0; + if (g_once_init_enter (&exporter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExporterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) exporter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Exporter), 0, (GInstanceInitFunc) exporter_instance_init, NULL }; + GType exporter_type_id; + exporter_type_id = g_type_register_static (G_TYPE_OBJECT, "Exporter", &g_define_type_info, 0); + g_once_init_leave (&exporter_type_id__volatile, exporter_type_id); + } + return exporter_type_id__volatile; +} + + +ExporterUI* exporter_ui_construct (GType object_type, Exporter* exporter) { + ExporterUI* self = NULL; + Exporter* _tmp0_ = NULL; + Exporter* _tmp1_ = NULL; +#line 290 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_EXPORTER (exporter), NULL); +#line 290 "/home/jens/Source/shotwell/src/Exporter.vala" + self = (ExporterUI*) g_type_create_instance (object_type); +#line 291 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = exporter; +#line 291 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 291 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->exporter); +#line 291 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->exporter = _tmp1_; +#line 290 "/home/jens/Source/shotwell/src/Exporter.vala" + return self; +#line 2270 "Exporter.c" +} + + +ExporterUI* exporter_ui_new (Exporter* exporter) { +#line 290 "/home/jens/Source/shotwell/src/Exporter.vala" + return exporter_ui_construct (TYPE_EXPORTER_UI, exporter); +#line 2277 "Exporter.c" +} + + +static void _exporter_ui_on_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self) { +#line 300 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_ui_on_export_completed ((ExporterUI*) self, exporter, is_cancelled); +#line 2284 "Exporter.c" +} + + +static gboolean _exporter_ui_on_export_failed_exporter_export_failed_callback (Exporter* exporter, GFile* file, gint remaining, GError* err, gpointer self) { + gboolean result; + result = exporter_ui_on_export_failed ((ExporterUI*) self, exporter, file, remaining, err); +#line 300 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 2293 "Exporter.c" +} + + +static ExporterOverwrite _exporter_ui_on_export_overwrite_exporter_overwrite_callback (Exporter* exporter, GFile* file, gpointer self) { + ExporterOverwrite result; + result = exporter_ui_on_export_overwrite ((ExporterUI*) self, exporter, file); +#line 300 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 2302 "Exporter.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 300 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 2311 "Exporter.c" +} + + +void exporter_ui_export (ExporterUI* self, ExporterCompletionCallback completion_callback, void* completion_callback_target) { + ExporterCompletionCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; + AppWindow* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GCancellable* _tmp6_ = NULL; + ProgressDialog* _tmp7_ = NULL; + Exporter* _tmp8_ = NULL; + GCancellable* _tmp9_ = NULL; + ProgressDialog* _tmp10_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_EXPORTER_UI (self)); +#line 295 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = completion_callback; +#line 295 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0__target = completion_callback_target; +#line 295 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completion_callback = _tmp0_; +#line 295 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completion_callback_target = _tmp0__target; +#line 297 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = app_window_get_instance (); +#line 297 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = _tmp1_; +#line 297 "/home/jens/Source/shotwell/src/Exporter.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PAGE_WINDOW, PageWindow)); +#line 297 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_tmp2_); +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = app_window_get_instance (); +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = _tmp3_; +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = _ ("Exporting"); +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = self->priv->cancellable; +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp7_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_window_get_type (), GtkWindow), _tmp5_, _tmp6_); +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + g_object_ref_sink (_tmp7_); +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->progress_dialog); +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->progress_dialog = _tmp7_; +#line 299 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_tmp4_); +#line 300 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp8_ = self->priv->exporter; +#line 300 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp9_ = self->priv->cancellable; +#line 300 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp10_ = self->priv->progress_dialog; +#line 300 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_export (_tmp8_, _exporter_ui_on_export_completed_exporter_completion_callback, self, _exporter_ui_on_export_failed_exporter_export_failed_callback, self, _exporter_ui_on_export_overwrite_exporter_overwrite_callback, self, _tmp9_, _progress_dialog_monitor_progress_monitor, _tmp10_); +#line 2372 "Exporter.c" +} + + +static void exporter_ui_on_export_completed (ExporterUI* self, Exporter* exporter, gboolean is_cancelled) { + ProgressDialog* _tmp0_ = NULL; + AppWindow* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + ExporterCompletionCallback _tmp4_ = NULL; + void* _tmp4__target = NULL; + Exporter* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 304 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_EXPORTER_UI (self)); +#line 304 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (IS_EXPORTER (exporter)); +#line 305 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->priv->progress_dialog; +#line 305 "/home/jens/Source/shotwell/src/Exporter.vala" + if (_tmp0_ != NULL) { +#line 2392 "Exporter.c" + ProgressDialog* _tmp1_ = NULL; +#line 306 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = self->priv->progress_dialog; +#line 306 "/home/jens/Source/shotwell/src/Exporter.vala" + progress_dialog_close (_tmp1_); +#line 307 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->progress_dialog); +#line 307 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->progress_dialog = NULL; +#line 2402 "Exporter.c" + } +#line 310 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = app_window_get_instance (); +#line 310 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = _tmp2_; +#line 310 "/home/jens/Source/shotwell/src/Exporter.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PAGE_WINDOW, PageWindow)); +#line 310 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (_tmp3_); +#line 312 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = self->priv->completion_callback; +#line 312 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4__target = self->priv->completion_callback_target; +#line 312 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = exporter; +#line 312 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = is_cancelled; +#line 312 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ (_tmp5_, _tmp6_, _tmp4__target); +#line 2422 "Exporter.c" +} + + +static ExporterOverwrite exporter_ui_on_export_overwrite (ExporterUI* self, Exporter* exporter, GFile* file) { + ExporterOverwrite result = 0; + ProgressDialog* _tmp0_ = NULL; + gchar* question = NULL; + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GtkResponseType response = 0; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GtkResponseType _tmp12_ = 0; + ProgressDialog* _tmp13_ = NULL; + GtkResponseType _tmp14_ = 0; +#line 315 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_EXPORTER_UI (self), 0); +#line 315 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_EXPORTER (exporter), 0); +#line 315 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 316 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = self->priv->progress_dialog; +#line 316 "/home/jens/Source/shotwell/src/Exporter.vala" + gtk_window_set_modal (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_window_get_type (), GtkWindow), FALSE); +#line 317 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = _ ("File %s already exists. Replace?"); +#line 317 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = file; +#line 317 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp3_ = g_file_get_basename (_tmp2_); +#line 317 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp4_ = _tmp3_; +#line 317 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp5_ = g_strdup_printf (_tmp1_, _tmp4_); +#line 317 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp6_ = _tmp5_; +#line 317 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (_tmp4_); +#line 317 "/home/jens/Source/shotwell/src/Exporter.vala" + question = _tmp6_; +#line 318 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp7_ = question; +#line 318 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp8_ = _ ("_Skip"); +#line 318 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp9_ = _ ("_Replace"); +#line 318 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp10_ = _ ("Replace _All"); +#line 318 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp11_ = _ ("Export"); +#line 318 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp12_ = app_window_negate_affirm_all_cancel_question (_tmp7_, _tmp8_, _tmp9_, _tmp10_, _tmp11_, NULL); +#line 318 "/home/jens/Source/shotwell/src/Exporter.vala" + response = _tmp12_; +#line 321 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp13_ = self->priv->progress_dialog; +#line 321 "/home/jens/Source/shotwell/src/Exporter.vala" + gtk_window_set_modal (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_window_get_type (), GtkWindow), TRUE); +#line 323 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp14_ = response; +#line 323 "/home/jens/Source/shotwell/src/Exporter.vala" + switch (_tmp14_) { +#line 323 "/home/jens/Source/shotwell/src/Exporter.vala" + case GTK_RESPONSE_APPLY: +#line 2495 "Exporter.c" + { +#line 325 "/home/jens/Source/shotwell/src/Exporter.vala" + result = EXPORTER_OVERWRITE_REPLACE_ALL; +#line 325 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (question); +#line 325 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 2503 "Exporter.c" + } +#line 323 "/home/jens/Source/shotwell/src/Exporter.vala" + case GTK_RESPONSE_YES: +#line 2507 "Exporter.c" + { +#line 328 "/home/jens/Source/shotwell/src/Exporter.vala" + result = EXPORTER_OVERWRITE_YES; +#line 328 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (question); +#line 328 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 2515 "Exporter.c" + } +#line 323 "/home/jens/Source/shotwell/src/Exporter.vala" + case GTK_RESPONSE_CANCEL: +#line 2519 "Exporter.c" + { +#line 331 "/home/jens/Source/shotwell/src/Exporter.vala" + result = EXPORTER_OVERWRITE_CANCEL; +#line 331 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (question); +#line 331 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 2527 "Exporter.c" + } + default: +#line 323 "/home/jens/Source/shotwell/src/Exporter.vala" + case GTK_RESPONSE_NO: +#line 2532 "Exporter.c" + { +#line 335 "/home/jens/Source/shotwell/src/Exporter.vala" + result = EXPORTER_OVERWRITE_NO; +#line 335 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (question); +#line 335 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 2540 "Exporter.c" + } + } +#line 315 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_free0 (question); +#line 2545 "Exporter.c" +} + + +static gboolean exporter_ui_on_export_failed (ExporterUI* self, Exporter* exporter, GFile* file, gint remaining, GError* err) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gint _tmp1_ = 0; + GtkResponseType _tmp2_ = 0; +#line 339 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_EXPORTER_UI (self), FALSE); +#line 339 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (IS_EXPORTER (exporter), FALSE); +#line 339 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 340 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = file; +#line 340 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp1_ = remaining; +#line 340 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp2_ = export_error_dialog (_tmp0_, _tmp1_ > 0); +#line 340 "/home/jens/Source/shotwell/src/Exporter.vala" + result = _tmp2_ != GTK_RESPONSE_CANCEL; +#line 340 "/home/jens/Source/shotwell/src/Exporter.vala" + return result; +#line 2570 "Exporter.c" +} + + +static void value_exporter_ui_init (GValue* value) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + value->data[0].v_pointer = NULL; +#line 2577 "Exporter.c" +} + + +static void value_exporter_ui_free_value (GValue* value) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (value->data[0].v_pointer) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_ui_unref (value->data[0].v_pointer); +#line 2586 "Exporter.c" + } +} + + +static void value_exporter_ui_copy_value (const GValue* src_value, GValue* dest_value) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (src_value->data[0].v_pointer) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + dest_value->data[0].v_pointer = exporter_ui_ref (src_value->data[0].v_pointer); +#line 2596 "Exporter.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + dest_value->data[0].v_pointer = NULL; +#line 2600 "Exporter.c" + } +} + + +static gpointer value_exporter_ui_peek_pointer (const GValue* value) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return value->data[0].v_pointer; +#line 2608 "Exporter.c" +} + + +static gchar* value_exporter_ui_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (collect_values[0].v_pointer) { +#line 2615 "Exporter.c" + ExporterUI* object; + object = collect_values[0].v_pointer; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (object->parent_instance.g_class == NULL) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2622 "Exporter.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2626 "Exporter.c" + } +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + value->data[0].v_pointer = exporter_ui_ref (object); +#line 2630 "Exporter.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + value->data[0].v_pointer = NULL; +#line 2634 "Exporter.c" + } +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return NULL; +#line 2638 "Exporter.c" +} + + +static gchar* value_exporter_ui_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ExporterUI** object_p; + object_p = collect_values[0].v_pointer; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!object_p) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2649 "Exporter.c" + } +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (!value->data[0].v_pointer) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + *object_p = NULL; +#line 2655 "Exporter.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + *object_p = value->data[0].v_pointer; +#line 2659 "Exporter.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + *object_p = exporter_ui_ref (value->data[0].v_pointer); +#line 2663 "Exporter.c" + } +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return NULL; +#line 2667 "Exporter.c" +} + + +GParamSpec* param_spec_exporter_ui (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecExporterUI* spec; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_EXPORTER_UI), NULL); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return G_PARAM_SPEC (spec); +#line 2681 "Exporter.c" +} + + +gpointer value_get_exporter_ui (const GValue* value) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_EXPORTER_UI), NULL); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return value->data[0].v_pointer; +#line 2690 "Exporter.c" +} + + +void value_set_exporter_ui (GValue* value, gpointer v_object) { + ExporterUI* old; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_EXPORTER_UI)); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + old = value->data[0].v_pointer; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (v_object) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_EXPORTER_UI)); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + value->data[0].v_pointer = v_object; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_ui_ref (value->data[0].v_pointer); +#line 2710 "Exporter.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + value->data[0].v_pointer = NULL; +#line 2714 "Exporter.c" + } +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (old) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_ui_unref (old); +#line 2720 "Exporter.c" + } +} + + +void value_take_exporter_ui (GValue* value, gpointer v_object) { + ExporterUI* old; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_EXPORTER_UI)); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + old = value->data[0].v_pointer; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (v_object) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_EXPORTER_UI)); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + value->data[0].v_pointer = v_object; +#line 2739 "Exporter.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + value->data[0].v_pointer = NULL; +#line 2743 "Exporter.c" + } +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (old) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_ui_unref (old); +#line 2749 "Exporter.c" + } +} + + +static void exporter_ui_class_init (ExporterUIClass * klass) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + exporter_ui_parent_class = g_type_class_peek_parent (klass); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + ((ExporterUIClass *) klass)->finalize = exporter_ui_finalize; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_type_class_add_private (klass, sizeof (ExporterUIPrivate)); +#line 2761 "Exporter.c" +} + + +static void exporter_ui_instance_init (ExporterUI * self) { + GCancellable* _tmp0_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv = EXPORTER_UI_GET_PRIVATE (self); +#line 286 "/home/jens/Source/shotwell/src/Exporter.vala" + _tmp0_ = g_cancellable_new (); +#line 286 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->cancellable = _tmp0_; +#line 287 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->progress_dialog = NULL; +#line 288 "/home/jens/Source/shotwell/src/Exporter.vala" + self->priv->completion_callback = NULL; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + self->ref_count = 1; +#line 2779 "Exporter.c" +} + + +static void exporter_ui_finalize (ExporterUI* obj) { + ExporterUI * self; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXPORTER_UI, ExporterUI); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_signal_handlers_destroy (self); +#line 285 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->exporter); +#line 286 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->cancellable); +#line 287 "/home/jens/Source/shotwell/src/Exporter.vala" + _g_object_unref0 (self->priv->progress_dialog); +#line 2795 "Exporter.c" +} + + +GType exporter_ui_get_type (void) { + static volatile gsize exporter_ui_type_id__volatile = 0; + if (g_once_init_enter (&exporter_ui_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_exporter_ui_init, value_exporter_ui_free_value, value_exporter_ui_copy_value, value_exporter_ui_peek_pointer, "p", value_exporter_ui_collect_value, "p", value_exporter_ui_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ExporterUIClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) exporter_ui_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExporterUI), 0, (GInstanceInitFunc) exporter_ui_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType exporter_ui_type_id; + exporter_ui_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ExporterUI", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&exporter_ui_type_id__volatile, exporter_ui_type_id); + } + return exporter_ui_type_id__volatile; +} + + +gpointer exporter_ui_ref (gpointer instance) { + ExporterUI* self; + self = instance; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_atomic_int_inc (&self->ref_count); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + return instance; +#line 2820 "Exporter.c" +} + + +void exporter_ui_unref (gpointer instance) { + ExporterUI* self; + self = instance; +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + EXPORTER_UI_GET_CLASS (self)->finalize (self); +#line 284 "/home/jens/Source/shotwell/src/Exporter.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2833 "Exporter.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/International.c b/src/International.c new file mode 100644 index 0000000..db54c27 --- /dev/null +++ b/src/International.c @@ -0,0 +1,158 @@ +/* International.c generated by valac 0.32.1, the Vala compiler + * generated from International.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + + + +#define TRANSLATABLE "translatable" +#define INTERNATIONAL_SUPPORT_SYSTEM_LOCALE "" +#define INTERNATIONAL_SUPPORT_LANGUAGE_SUPPORT_DIRECTORY _LANG_SUPPORT_DIR +void international_support_init (const gchar* package_name, gchar** args, int args_length1, const gchar* locale); +gchar* international_support_get_langpack_dir_path (gchar** args, int args_length1); + + +void international_support_init (const gchar* package_name, gchar** args, int args_length1, const gchar* locale) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/International.vala" + g_return_if_fail (package_name != NULL); +#line 15 "/home/jens/Source/shotwell/src/International.vala" + g_return_if_fail (locale != NULL); +#line 16 "/home/jens/Source/shotwell/src/International.vala" + _tmp0_ = locale; +#line 16 "/home/jens/Source/shotwell/src/International.vala" + setlocale (LC_ALL, _tmp0_); +#line 18 "/home/jens/Source/shotwell/src/International.vala" + _tmp1_ = package_name; +#line 18 "/home/jens/Source/shotwell/src/International.vala" + _tmp2_ = args; +#line 18 "/home/jens/Source/shotwell/src/International.vala" + _tmp2__length1 = args_length1; +#line 18 "/home/jens/Source/shotwell/src/International.vala" + _tmp3_ = international_support_get_langpack_dir_path (_tmp2_, _tmp2__length1); +#line 18 "/home/jens/Source/shotwell/src/International.vala" + _tmp4_ = _tmp3_; +#line 18 "/home/jens/Source/shotwell/src/International.vala" + bindtextdomain (_tmp1_, _tmp4_); +#line 18 "/home/jens/Source/shotwell/src/International.vala" + _g_free0 (_tmp4_); +#line 19 "/home/jens/Source/shotwell/src/International.vala" + _tmp5_ = package_name; +#line 19 "/home/jens/Source/shotwell/src/International.vala" + bind_textdomain_codeset (_tmp5_, "UTF-8"); +#line 20 "/home/jens/Source/shotwell/src/International.vala" + _tmp6_ = package_name; +#line 20 "/home/jens/Source/shotwell/src/International.vala" + textdomain (_tmp6_); +#line 70 "International.c" +} + + +gchar* international_support_get_langpack_dir_path (gchar** args, int args_length1) { + gchar* result = NULL; + GFile* local_langpack_dir = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp0_ = args; +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp0__length1 = args_length1; +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp1_ = _tmp0_[0]; +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp2_ = g_find_program_in_path (_tmp1_); +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp3_ = _tmp2_; +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp4_ = g_file_new_for_path (_tmp3_); +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp5_ = _tmp4_; +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp6_ = g_file_get_parent (_tmp5_); +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp7_ = _tmp6_; +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp8_ = g_file_get_child (_tmp7_, "locale-langpack"); +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _tmp9_ = _tmp8_; +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _g_object_unref0 (_tmp7_); +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _g_object_unref0 (_tmp5_); +#line 24 "/home/jens/Source/shotwell/src/International.vala" + _g_free0 (_tmp3_); +#line 24 "/home/jens/Source/shotwell/src/International.vala" + local_langpack_dir = _tmp9_; +#line 28 "/home/jens/Source/shotwell/src/International.vala" + _tmp11_ = local_langpack_dir; +#line 28 "/home/jens/Source/shotwell/src/International.vala" + _tmp12_ = g_file_query_exists (_tmp11_, NULL); +#line 28 "/home/jens/Source/shotwell/src/International.vala" + if (_tmp12_) { +#line 127 "International.c" + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/International.vala" + _tmp13_ = local_langpack_dir; +#line 28 "/home/jens/Source/shotwell/src/International.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 28 "/home/jens/Source/shotwell/src/International.vala" + _g_free0 (_tmp10_); +#line 28 "/home/jens/Source/shotwell/src/International.vala" + _tmp10_ = _tmp14_; +#line 138 "International.c" + } else { + gchar* _tmp15_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/International.vala" + _tmp15_ = g_strdup (INTERNATIONAL_SUPPORT_LANGUAGE_SUPPORT_DIRECTORY); +#line 29 "/home/jens/Source/shotwell/src/International.vala" + _g_free0 (_tmp10_); +#line 29 "/home/jens/Source/shotwell/src/International.vala" + _tmp10_ = _tmp15_; +#line 147 "International.c" + } +#line 28 "/home/jens/Source/shotwell/src/International.vala" + result = _tmp10_; +#line 28 "/home/jens/Source/shotwell/src/International.vala" + _g_object_unref0 (local_langpack_dir); +#line 28 "/home/jens/Source/shotwell/src/International.vala" + return result; +#line 155 "International.c" +} + + + diff --git a/src/LibraryFiles.c b/src/LibraryFiles.c new file mode 100644 index 0000000..b0fa855 --- /dev/null +++ b/src/LibraryFiles.c @@ -0,0 +1,969 @@ +/* LibraryFiles.c generated by valac 0.32.1, the Vala compiler + * generated from LibraryFiles.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_VIDEO_READER (video_reader_get_type ()) +#define VIDEO_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_READER, VideoReader)) +#define VIDEO_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_READER, VideoReaderClass)) +#define IS_VIDEO_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_READER)) +#define IS_VIDEO_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_READER)) +#define VIDEO_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_READER, VideoReaderClass)) + +typedef struct _VideoReader VideoReader; +typedef struct _VideoReaderClass VideoReaderClass; + +#define TYPE_VIDEO_METADATA (video_metadata_get_type ()) +#define VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_METADATA, VideoMetadata)) +#define VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_METADATA, VideoMetadataClass)) +#define IS_VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_METADATA)) +#define IS_VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_METADATA)) +#define VIDEO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_METADATA, VideoMetadataClass)) + +typedef struct _VideoMetadata VideoMetadata; +typedef struct _VideoMetadataClass VideoMetadataClass; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _video_reader_unref0(var) ((var == NULL) ? NULL : (var = (video_reader_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) + +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; + + + +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GFile* library_files_generate_unique_file (const gchar* basename, MediaMetadata* metadata, time_t ts, gboolean* collision, GError** error); +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +MetadataDateTime* media_metadata_get_creation_date_time (MediaMetadata* self); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +GFile* app_dirs_get_baked_import_dir (time_t tm); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_use_lowercase_filenames (ConfigurationFacade* self); +GFile* generate_unique_file (GFile* dir, const gchar* basename, gboolean* collision, GError** error); +GFile* library_files_duplicate (GFile* src, GFileProgressCallback progress_callback, void* progress_callback_target, gboolean blacklist, GError** error); +time_t query_file_modified (GFile* file, GError** error); +gboolean video_reader_is_supported_video_file (GFile* file); +gpointer video_reader_ref (gpointer instance); +void video_reader_unref (gpointer instance); +GParamSpec* param_spec_video_reader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_video_reader (GValue* value, gpointer v_object); +void value_take_video_reader (GValue* value, gpointer v_object); +gpointer value_get_video_reader (const GValue* value); +GType video_reader_get_type (void) G_GNUC_CONST; +VideoReader* video_reader_new (GFile* file); +VideoReader* video_reader_construct (GType object_type, GFile* file); +GType video_metadata_get_type (void) G_GNUC_CONST; +VideoMetadata* video_reader_read_metadata (VideoReader* self, GError** error); +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file); +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath); +GType photo_metadata_get_type (void) G_GNUC_CONST; +PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error); +void library_monitor_blacklist_file (GFile* file, const gchar* reason); +void library_monitor_unblacklist_file (GFile* file); +gchar* md5_file (GFile* file, GError** error); + + +static gpointer _g_error_copy0 (gpointer self) { +#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return self ? g_error_copy (self) : NULL; +#line 187 "LibraryFiles.c" +} + + +GFile* library_files_generate_unique_file (const gchar* basename, MediaMetadata* metadata, time_t ts, gboolean* collision, GError** error) { + gboolean _vala_collision = FALSE; + GFile* result = NULL; + time_t timestamp = 0; + time_t _tmp0_ = 0; + MediaMetadata* _tmp1_ = NULL; + GFile* dir = NULL; + time_t _tmp9_ = 0; + GFile* _tmp10_ = NULL; + gchar* newbasename = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + ConfigFacade* _tmp17_ = NULL; + ConfigFacade* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + GFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + GError * _inner_error_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_return_val_if_fail (basename != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_return_val_if_fail ((metadata == NULL) || IS_MEDIA_METADATA (metadata), NULL); +#line 18 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp0_ = ts; +#line 18 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + timestamp = _tmp0_; +#line 19 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp1_ = metadata; +#line 19 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp1_ != NULL) { +#line 226 "LibraryFiles.c" + MetadataDateTime* date_time = NULL; + MediaMetadata* _tmp2_ = NULL; + MetadataDateTime* _tmp3_ = NULL; + MetadataDateTime* _tmp4_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp2_ = metadata; +#line 20 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp3_ = media_metadata_get_creation_date_time (_tmp2_); +#line 20 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + date_time = _tmp3_; +#line 21 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp4_ = date_time; +#line 21 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp4_ != NULL) { +#line 241 "LibraryFiles.c" + MetadataDateTime* _tmp5_ = NULL; + time_t _tmp6_ = 0; +#line 22 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp5_ = date_time; +#line 22 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp6_ = metadata_date_time_get_timestamp (_tmp5_); +#line 22 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + timestamp = _tmp6_; +#line 250 "LibraryFiles.c" + } else { + time_t _tmp7_ = 0; +#line 23 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp7_ = timestamp; +#line 23 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp7_ == ((time_t) 0)) { +#line 257 "LibraryFiles.c" + time_t _tmp8_ = 0; +#line 24 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp8_ = time (NULL); +#line 24 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + timestamp = _tmp8_; +#line 263 "LibraryFiles.c" + } + } +#line 19 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _metadata_date_time_unref0 (date_time); +#line 268 "LibraryFiles.c" + } +#line 28 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp9_ = timestamp; +#line 28 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp10_ = app_dirs_get_baked_import_dir (_tmp9_); +#line 28 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + dir = _tmp10_; +#line 276 "LibraryFiles.c" + { + GFile* _tmp11_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp11_ = dir; +#line 30 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_file_make_directory_with_parents (_tmp11_, NULL, &_inner_error_); +#line 30 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 285 "LibraryFiles.c" + goto __catch451_g_error; + } + } + goto __finally451; + __catch451_g_error: + { + GError* err = NULL; + GError* _tmp12_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + err = _inner_error_; +#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _inner_error_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp12_ = err; +#line 32 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (!g_error_matches (_tmp12_, G_IO_ERROR, G_IO_ERROR_EXISTS)) { +#line 302 "LibraryFiles.c" + GError* _tmp13_ = NULL; + GError* _tmp14_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp13_ = err; +#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp14_ = _g_error_copy0 (_tmp13_); +#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _inner_error_ = _tmp14_; +#line 33 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 313 "LibraryFiles.c" + goto __finally451; + } +#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 318 "LibraryFiles.c" + } + __finally451: +#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (dir); +#line 29 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 329 "LibraryFiles.c" + } +#line 39 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp15_ = basename; +#line 39 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 39 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + newbasename = _tmp16_; +#line 40 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp17_ = config_facade_get_instance (); +#line 40 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp18_ = _tmp17_; +#line 40 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp19_ = configuration_facade_get_use_lowercase_filenames (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 40 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp20_ = _tmp19_; +#line 40 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (_tmp18_); +#line 40 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp20_) { +#line 349 "LibraryFiles.c" + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp21_ = newbasename; +#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp22_ = g_utf8_strdown (_tmp21_, (gssize) -1); +#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (newbasename); +#line 41 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + newbasename = _tmp22_; +#line 360 "LibraryFiles.c" + } +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp24_ = dir; +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp25_ = newbasename; +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp27_ = generate_unique_file (_tmp24_, _tmp25_, &_tmp26_, &_inner_error_); +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _vala_collision = _tmp26_; +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp23_ = _tmp27_; +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (newbasename); +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (dir); +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 382 "LibraryFiles.c" + } +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp28_ = _tmp23_; +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp23_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + result = _tmp28_; +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (_tmp23_); +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (newbasename); +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (dir); +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (collision) { +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + *collision = _vala_collision; +#line 400 "LibraryFiles.c" + } +#line 43 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return result; +#line 404 "LibraryFiles.c" +} + + +GFile* library_files_duplicate (GFile* src, GFileProgressCallback progress_callback, void* progress_callback_target, gboolean blacklist, GError** error) { + GFile* result = NULL; + time_t timestamp = 0; + MediaMetadata* metadata = NULL; + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean collision = FALSE; + GFile* dest = NULL; + GFile* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + MediaMetadata* _tmp30_ = NULL; + time_t _tmp31_ = 0; + gboolean _tmp32_ = FALSE; + GFile* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + gboolean _tmp37_ = FALSE; + GError * _inner_error_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_return_val_if_fail (G_IS_FILE (src), NULL); +#line 48 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + timestamp = (time_t) 0; +#line 431 "LibraryFiles.c" + { + time_t _tmp0_ = 0; + GFile* _tmp1_ = NULL; + time_t _tmp2_ = 0; +#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp1_ = src; +#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp2_ = query_file_modified (_tmp1_, &_inner_error_); +#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp0_ = _tmp2_; +#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 444 "LibraryFiles.c" + goto __catch452_g_error; + } +#line 50 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + timestamp = _tmp0_; +#line 449 "LibraryFiles.c" + } + goto __finally452; + __catch452_g_error: + { + GError* err = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + err = _inner_error_; +#line 49 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _inner_error_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp3_ = src; +#line 52 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 52 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp5_ = _tmp4_; +#line 52 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp6_ = err; +#line 52 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp7_ = _tmp6_->message; +#line 52 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_critical ("LibraryFiles.vala:52: Unable to access file modification for %s: %s", _tmp5_, _tmp7_); +#line 52 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp5_); +#line 49 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 480 "LibraryFiles.c" + } + __finally452: +#line 49 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 49 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 49 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 489 "LibraryFiles.c" + } +#line 55 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + metadata = NULL; +#line 56 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp8_ = src; +#line 56 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp9_ = video_reader_is_supported_video_file (_tmp8_); +#line 56 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp9_) { +#line 499 "LibraryFiles.c" + VideoReader* reader = NULL; + GFile* _tmp10_ = NULL; + VideoReader* _tmp11_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp10_ = src; +#line 57 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp11_ = video_reader_new (_tmp10_); +#line 57 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + reader = _tmp11_; +#line 509 "LibraryFiles.c" + { + VideoMetadata* _tmp12_ = NULL; + VideoReader* _tmp13_ = NULL; + VideoMetadata* _tmp14_ = NULL; + VideoMetadata* _tmp15_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp13_ = reader; +#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp14_ = video_reader_read_metadata (_tmp13_, &_inner_error_); +#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp12_ = _tmp14_; +#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 523 "LibraryFiles.c" + goto __catch453_g_error; + } +#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp15_ = _tmp12_; +#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp12_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 59 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + metadata = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_MEDIA_METADATA, MediaMetadata); +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (_tmp12_); +#line 536 "LibraryFiles.c" + } + goto __finally453; + __catch453_g_error: + { + GError* err = NULL; +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + err = _inner_error_; +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _inner_error_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 548 "LibraryFiles.c" + } + __finally453: +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _video_reader_unref0 (reader); +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 58 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 561 "LibraryFiles.c" + } +#line 56 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _video_reader_unref0 (reader); +#line 565 "LibraryFiles.c" + } else { + PhotoFileReader* reader = NULL; + GFile* _tmp16_ = NULL; + PhotoFileFormat _tmp17_ = 0; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + PhotoFileReader* _tmp21_ = NULL; + PhotoFileReader* _tmp22_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp16_ = src; +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp17_ = photo_file_format_get_by_file_extension (_tmp16_); +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp18_ = src; +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp19_ = g_file_get_path (_tmp18_); +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp20_ = _tmp19_; +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp21_ = photo_file_format_create_reader (_tmp17_, _tmp20_); +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp22_ = _tmp21_; +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp20_); +#line 64 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + reader = _tmp22_; +#line 593 "LibraryFiles.c" + { + PhotoMetadata* _tmp23_ = NULL; + PhotoFileReader* _tmp24_ = NULL; + PhotoMetadata* _tmp25_ = NULL; + PhotoMetadata* _tmp26_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp24_ = reader; +#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp25_ = photo_file_reader_read_metadata (_tmp24_, &_inner_error_); +#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp23_ = _tmp25_; +#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 607 "LibraryFiles.c" + goto __catch454_g_error; + } +#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp26_ = _tmp23_; +#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp23_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 67 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + metadata = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_MEDIA_METADATA, MediaMetadata); +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (_tmp23_); +#line 620 "LibraryFiles.c" + } + goto __finally454; + __catch454_g_error: + { + GError* err = NULL; +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + err = _inner_error_; +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _inner_error_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 632 "LibraryFiles.c" + } + __finally454: +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _photo_file_adapter_unref0 (reader); +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 66 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 645 "LibraryFiles.c" + } +#line 56 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _photo_file_adapter_unref0 (reader); +#line 649 "LibraryFiles.c" + } +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp27_ = src; +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp28_ = g_file_get_basename (_tmp27_); +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp29_ = _tmp28_; +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp30_ = metadata; +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp31_ = timestamp; +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp33_ = library_files_generate_unique_file (_tmp29_, _tmp30_, _tmp31_, &_tmp32_, &_inner_error_); +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + collision = _tmp32_; +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp34_ = _tmp33_; +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp29_); +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + dest = _tmp34_; +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 74 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 679 "LibraryFiles.c" + } +#line 75 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp35_ = dest; +#line 75 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp35_ == NULL) { +#line 685 "LibraryFiles.c" + GError* _tmp36_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp36_ = g_error_new_literal (G_FILE_ERROR, G_FILE_ERROR_FAILED, "Unable to generate unique pathname for destination"); +#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _inner_error_ = _tmp36_; +#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (dest); +#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 76 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 699 "LibraryFiles.c" + } +#line 78 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp37_ = blacklist; +#line 78 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp37_) { +#line 705 "LibraryFiles.c" + GFile* _tmp38_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp38_ = dest; +#line 79 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + library_monitor_blacklist_file (_tmp38_, "LibraryFiles.duplicate"); +#line 711 "LibraryFiles.c" + } + { + GFile* _tmp39_ = NULL; + GFile* _tmp40_ = NULL; + GFileProgressCallback _tmp41_ = NULL; + void* _tmp41__target = NULL; + gboolean _tmp42_ = FALSE; +#line 82 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp39_ = src; +#line 82 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp40_ = dest; +#line 82 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp41_ = progress_callback; +#line 82 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp41__target = progress_callback_target; +#line 82 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_file_copy (_tmp39_, _tmp40_, G_FILE_COPY_ALL_METADATA | G_FILE_COPY_OVERWRITE, NULL, _tmp41_, _tmp41__target, &_inner_error_); +#line 82 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 731 "LibraryFiles.c" + goto __catch455_g_error; + } +#line 83 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp42_ = blacklist; +#line 83 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp42_) { +#line 738 "LibraryFiles.c" + GFile* _tmp43_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp43_ = dest; +#line 84 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + library_monitor_unblacklist_file (_tmp43_); +#line 744 "LibraryFiles.c" + } + } + goto __finally455; + __catch455_g_error: + { + GError* err = NULL; + GFile* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + GError* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; + gboolean _tmp50_ = FALSE; +#line 81 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + err = _inner_error_; +#line 81 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _inner_error_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp44_ = src; +#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp45_ = g_file_get_path (_tmp44_); +#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp46_ = _tmp45_; +#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp47_ = err; +#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp48_ = _tmp47_->message; +#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_message ("LibraryFiles.vala:86: There was a problem copying %s: %s", _tmp46_, _tmp48_); +#line 86 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp46_); +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp50_ = blacklist; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp50_) { +#line 780 "LibraryFiles.c" + gchar* _tmp51_ = NULL; + GFile* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + GFile* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp52_ = src; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp53_ = md5_file (_tmp52_, &_inner_error_); +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp51_ = _tmp53_; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 801 "LibraryFiles.c" + goto __finally455; + } +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp55_ = dest; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp56_ = md5_file (_tmp55_, &_inner_error_); +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp54_ = _tmp56_; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp51_); +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 816 "LibraryFiles.c" + goto __finally455; + } +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp57_ = _tmp51_; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp51_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp58_ = _tmp57_; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp59_ = _tmp54_; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp54_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp60_ = _tmp59_; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp49_ = g_strcmp0 (_tmp58_, _tmp60_) != 0; +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp60_); +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp58_); +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp54_); +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_free0 (_tmp51_); +#line 841 "LibraryFiles.c" + } else { +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp49_ = FALSE; +#line 845 "LibraryFiles.c" + } +#line 87 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (_tmp49_) { +#line 849 "LibraryFiles.c" + GFile* _tmp61_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp61_ = dest; +#line 88 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + library_monitor_unblacklist_file (_tmp61_); +#line 855 "LibraryFiles.c" + } +#line 81 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 859 "LibraryFiles.c" + } + __finally455: +#line 81 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 81 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 81 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (dest); +#line 81 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 81 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 872 "LibraryFiles.c" + } + { + GFileInfo* info = NULL; + GFile* _tmp62_ = NULL; + GFileInfo* _tmp63_ = NULL; + guint32 mode = 0U; + GFileInfo* _tmp64_ = NULL; + guint32 _tmp65_ = 0U; + gboolean _tmp66_ = FALSE; + GFile* _tmp67_ = NULL; + guint32 _tmp68_ = 0U; + gboolean _tmp69_ = FALSE; +#line 93 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp62_ = dest; +#line 93 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp63_ = g_file_query_info (_tmp62_, G_FILE_ATTRIBUTE_UNIX_MODE, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_); +#line 93 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + info = _tmp63_; +#line 93 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 893 "LibraryFiles.c" + goto __catch456_g_error; + } +#line 94 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp64_ = info; +#line 94 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp65_ = g_file_info_get_attribute_uint32 (_tmp64_, G_FILE_ATTRIBUTE_UNIX_MODE); +#line 94 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + mode = _tmp65_ | 0600; +#line 95 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp67_ = dest; +#line 95 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp68_ = mode; +#line 95 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp69_ = g_file_set_attribute_uint32 (_tmp67_, G_FILE_ATTRIBUTE_UNIX_MODE, _tmp68_, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_); +#line 95 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp66_ = _tmp69_; +#line 95 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 95 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (info); +#line 914 "LibraryFiles.c" + goto __catch456_g_error; + } +#line 95 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (!_tmp66_) { +#line 96 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_warning ("LibraryFiles.vala:96: Could not make file writable"); +#line 921 "LibraryFiles.c" + } +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (info); +#line 925 "LibraryFiles.c" + } + goto __finally456; + __catch456_g_error: + { + GError* err = NULL; + GError* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + err = _inner_error_; +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _inner_error_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp70_ = err; +#line 99 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _tmp71_ = _tmp70_->message; +#line 99 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_warning ("LibraryFiles.vala:99: Could not make file writable: %s", _tmp71_); +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_error_free0 (err); +#line 945 "LibraryFiles.c" + } + __finally456: +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + g_propagate_error (error, _inner_error_); +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _g_object_unref0 (dest); +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 92 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return NULL; +#line 958 "LibraryFiles.c" + } +#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + result = dest; +#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + _media_metadata_unref0 (metadata); +#line 102 "/home/jens/Source/shotwell/src/LibraryFiles.vala" + return result; +#line 966 "LibraryFiles.c" +} + + + diff --git a/src/LibraryMonitor.c b/src/LibraryMonitor.c new file mode 100644 index 0000000..d7cdd2e --- /dev/null +++ b/src/LibraryMonitor.c @@ -0,0 +1,8885 @@ +/* LibraryMonitor.c generated by valac 0.32.1, the Vala compiler + * generated from LibraryMonitor.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. + */ +/**/ +/* LibraryMonitor uses DirectoryMonitor to track assets in the user's library directory and make*/ +/* sure they're reflected in the application.*/ +/**/ +/* NOTE: There appears to be a bug where prior versions of Shotwell (<= 0.6.x) were not*/ +/* properly loading the file modification timestamp during import. This was no issue*/ +/* before but becomes imperative now with file monitoring. A "proper" algorithm is*/ +/* to reimport an entire photo if the modification time in the database is different*/ +/* than the file's, but that's Real Bad when the user first turns on monitoring, as it*/ +/* will cause a lot of reimports (think of a 10,000 photo database) and will blow away*/ +/* ALL transformations, as they are now suspect.*/ +/**/ +/* So: If the modification time is zero and filesize is the same, simply update the*/ +/* timestamp in the database and move on.*/ +/**/ +/* TODO: Although it seems highly unlikely that a file's timestamp could change but the file size*/ +/* has not and the file really be "changed", it *is* possible, even in the case of complex little*/ +/* animals like photo files. We could be more liberal and treat this case as a metadata-changed*/ +/* situation (since that's a likely case).*/ +/**/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_LIBRARY_MONITOR_POOL (library_monitor_pool_get_type ()) +#define LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool)) +#define LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass)) +#define IS_LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR_POOL)) +#define IS_LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR_POOL)) +#define LIBRARY_MONITOR_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass)) + +typedef struct _LibraryMonitorPool LibraryMonitorPool; +typedef struct _LibraryMonitorPoolClass LibraryMonitorPoolClass; +typedef struct _LibraryMonitorPoolPrivate LibraryMonitorPoolPrivate; + +#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ()) +#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor)) +#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) +#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR)) +#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR)) +#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) + +typedef struct _DirectoryMonitor DirectoryMonitor; +typedef struct _DirectoryMonitorClass DirectoryMonitorClass; + +#define TYPE_LIBRARY_MONITOR (library_monitor_get_type ()) +#define LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitor)) +#define LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR, LibraryMonitorClass)) +#define IS_LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR)) +#define IS_LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR)) +#define LIBRARY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitorClass)) + +typedef struct _LibraryMonitor LibraryMonitor; +typedef struct _LibraryMonitorClass LibraryMonitorClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _library_monitor_pool_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_pool_unref (var), NULL))) +typedef struct _ParamSpecLibraryMonitorPool ParamSpecLibraryMonitorPool; +typedef struct _DirectoryMonitorPrivate DirectoryMonitorPrivate; +typedef struct _LibraryMonitorPrivate LibraryMonitorPrivate; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_MEDIA_MONITOR (media_monitor_get_type ()) +#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor)) +#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass)) +#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR)) +#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR)) +#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass)) + +typedef struct _MediaMonitor MediaMonitor; +typedef struct _MediaMonitorClass MediaMonitorClass; + +#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_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; + +#define TYPE_BATCH_IMPORT (batch_import_get_type ()) +#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport)) +#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass)) +#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT)) +#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT)) +#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass)) + +typedef struct _BatchImport BatchImport; +typedef struct _BatchImportClass BatchImportClass; + +#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ()) +#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll)) +#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) +#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL)) +#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL)) +#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) + +typedef struct _BatchImportRoll BatchImportRoll; +typedef struct _BatchImportRollClass BatchImportRollClass; + +#define LIBRARY_MONITOR_TYPE_VERIFY_JOB (library_monitor_verify_job_get_type ()) +#define LIBRARY_MONITOR_VERIFY_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_MONITOR_TYPE_VERIFY_JOB, LibraryMonitorVerifyJob)) +#define LIBRARY_MONITOR_VERIFY_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_MONITOR_TYPE_VERIFY_JOB, LibraryMonitorVerifyJobClass)) +#define LIBRARY_MONITOR_IS_VERIFY_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_MONITOR_TYPE_VERIFY_JOB)) +#define LIBRARY_MONITOR_IS_VERIFY_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_MONITOR_TYPE_VERIFY_JOB)) +#define LIBRARY_MONITOR_VERIFY_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_MONITOR_TYPE_VERIFY_JOB, LibraryMonitorVerifyJobClass)) + +typedef struct _LibraryMonitorVerifyJob LibraryMonitorVerifyJob; +typedef struct _LibraryMonitorVerifyJobClass LibraryMonitorVerifyJobClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_TIMED_QUEUE (timed_queue_get_type ()) +#define TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TIMED_QUEUE, TimedQueue)) +#define TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TIMED_QUEUE, TimedQueueClass)) +#define IS_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TIMED_QUEUE)) +#define IS_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TIMED_QUEUE)) +#define TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TIMED_QUEUE, TimedQueueClass)) + +typedef struct _TimedQueue TimedQueue; +typedef struct _TimedQueueClass TimedQueueClass; + +#define TYPE_HASH_TIMED_QUEUE (hash_timed_queue_get_type ()) +#define HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueue)) +#define HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass)) +#define IS_HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HASH_TIMED_QUEUE)) +#define IS_HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HASH_TIMED_QUEUE)) +#define HASH_TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass)) + +typedef struct _HashTimedQueue HashTimedQueue; +typedef struct _HashTimedQueueClass HashTimedQueueClass; +#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) +#define _batch_import_roll_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_roll_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#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 MEDIA_MONITOR_TYPE_DISCOVERED_FILE (media_monitor_discovered_file_get_type ()) + +#define TYPE_TOMBSTONE_SOURCE_COLLECTION (tombstone_source_collection_get_type ()) +#define TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection)) +#define TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass)) +#define IS_TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION)) +#define IS_TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION)) +#define TOMBSTONE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass)) + +typedef struct _TombstoneSourceCollection TombstoneSourceCollection; +typedef struct _TombstoneSourceCollectionClass TombstoneSourceCollectionClass; + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB (library_monitor_find_move_job_get_type ()) +#define LIBRARY_MONITOR_FIND_MOVE_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob)) +#define LIBRARY_MONITOR_FIND_MOVE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJobClass)) +#define LIBRARY_MONITOR_IS_FIND_MOVE_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB)) +#define LIBRARY_MONITOR_IS_FIND_MOVE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB)) +#define LIBRARY_MONITOR_FIND_MOVE_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJobClass)) + +typedef struct _LibraryMonitorFindMoveJob LibraryMonitorFindMoveJob; +typedef struct _LibraryMonitorFindMoveJobClass LibraryMonitorFindMoveJobClass; +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +typedef struct _LibraryMonitorAsyncDiscoveryCompletedData LibraryMonitorAsyncDiscoveryCompletedData; +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _LibraryMonitorFindMoveJobPrivate LibraryMonitorFindMoveJobPrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ()) +#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank)) +#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) +#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) + +typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank; +typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass; + +#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ()) +#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank)) +#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) +#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) + +typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank; +typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass; +#define _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL))) +#define _library_monitor_verify_job_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_verify_job_unref (var), NULL))) +typedef struct _LibraryMonitorVerifyJobPrivate LibraryMonitorVerifyJobPrivate; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _LibraryMonitorVerifyMonitorableData LibraryMonitorVerifyMonitorableData; + +#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ()) +#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob)) +#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) +#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB)) +#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB)) +#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) + +typedef struct _BatchImportJob BatchImportJob; +typedef struct _BatchImportJobClass BatchImportJobClass; + +#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ()) +#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob)) +#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass)) +#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB)) +#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB)) +#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass)) + +typedef struct _FileImportJob FileImportJob; +typedef struct _FileImportJobClass FileImportJobClass; +#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL))) + +#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ()) +#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest)) +#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass)) +#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST)) +#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST)) +#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass)) + +typedef struct _ImportManifest ImportManifest; +typedef struct _ImportManifestClass ImportManifestClass; +typedef struct _ImportManifestPrivate ImportManifestPrivate; + +#define TYPE_BATCH_IMPORT_RESULT (batch_import_result_get_type ()) +#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult)) +#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) +#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT)) +#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT)) +#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) + +typedef struct _BatchImportResult BatchImportResult; +typedef struct _BatchImportResultClass BatchImportResultClass; +typedef struct _BatchImportResultPrivate BatchImportResultPrivate; + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) + +#define TYPE_DUPLICATED_FILE (duplicated_file_get_type ()) +#define DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATED_FILE, DuplicatedFile)) +#define DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) +#define IS_DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATED_FILE)) +#define IS_DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATED_FILE)) +#define DUPLICATED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) + +typedef struct _DuplicatedFile DuplicatedFile; +typedef struct _DuplicatedFileClass DuplicatedFileClass; +#define _batch_import_result_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_result_unref (var), NULL))) + +#define TYPE_TOMBSTONED_FILE (tombstoned_file_get_type ()) +#define TOMBSTONED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONED_FILE, TombstonedFile)) +#define TOMBSTONED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONED_FILE, TombstonedFileClass)) +#define IS_TOMBSTONED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONED_FILE)) +#define IS_TOMBSTONED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONED_FILE)) +#define TOMBSTONED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONED_FILE, TombstonedFileClass)) + +typedef struct _TombstonedFile TombstonedFile; +typedef struct _TombstonedFileClass TombstonedFileClass; +#define _tombstoned_file_unref0(var) ((var == NULL) ? NULL : (var = (tombstoned_file_unref (var), NULL))) + +#define TOMBSTONE_TYPE_REASON (tombstone_reason_get_type ()) + +#define LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB (library_monitor_runtime_find_move_job_get_type ()) +#define LIBRARY_MONITOR_RUNTIME_FIND_MOVE_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob)) +#define LIBRARY_MONITOR_RUNTIME_FIND_MOVE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJobClass)) +#define LIBRARY_MONITOR_IS_RUNTIME_FIND_MOVE_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB)) +#define LIBRARY_MONITOR_IS_RUNTIME_FIND_MOVE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB)) +#define LIBRARY_MONITOR_RUNTIME_FIND_MOVE_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJobClass)) + +typedef struct _LibraryMonitorRuntimeFindMoveJob LibraryMonitorRuntimeFindMoveJob; +typedef struct _LibraryMonitorRuntimeFindMoveJobClass LibraryMonitorRuntimeFindMoveJobClass; +typedef struct _LibraryMonitorRuntimeFindMoveJobPrivate LibraryMonitorRuntimeFindMoveJobPrivate; + +#define TYPE_TOMBSTONE (tombstone_get_type ()) +#define TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE, Tombstone)) +#define TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE, TombstoneClass)) +#define IS_TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE)) +#define IS_TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE)) +#define TOMBSTONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE, TombstoneClass)) + +typedef struct _Tombstone Tombstone; +typedef struct _TombstoneClass TombstoneClass; + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; +typedef struct _LibraryMonitorParamSpecVerifyJob LibraryMonitorParamSpecVerifyJob; +#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 _LibraryMonitorPool { + GTypeInstance parent_instance; + volatile int ref_count; + LibraryMonitorPoolPrivate * priv; +}; + +struct _LibraryMonitorPoolClass { + GTypeClass parent_class; + void (*finalize) (LibraryMonitorPool *self); +}; + +struct _LibraryMonitorPoolPrivate { + LibraryMonitor* monitor; + guint timer_id; +}; + +struct _ParamSpecLibraryMonitorPool { + GParamSpec parent_instance; +}; + +struct _DirectoryMonitor { + GObject parent_instance; + DirectoryMonitorPrivate * priv; +}; + +struct _DirectoryMonitorClass { + GObjectClass parent_class; + void (*notify_root_deleted) (DirectoryMonitor* self, GFile* root); + void (*notify_root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); + void (*notify_discovery_started) (DirectoryMonitor* self); + void (*internal_notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*notify_file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*internal_notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*notify_directory_discovered) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*notify_discovery_failed) (DirectoryMonitor* self, const gchar* reason); + void (*notify_discovery_completed) (DirectoryMonitor* self); + void (*notify_file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*notify_file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); + void (*notify_file_altered) (DirectoryMonitor* self, GFile* file); + void (*notify_file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*notify_file_attributes_altered) (DirectoryMonitor* self, GFile* file); + void (*notify_file_deleted) (DirectoryMonitor* self, GFile* file); + void (*notify_directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*notify_directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); + void (*notify_directory_altered) (DirectoryMonitor* self, GFile* dir); + void (*notify_directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*notify_directory_attributes_altered) (DirectoryMonitor* self, GFile* dir); + void (*notify_directory_deleted) (DirectoryMonitor* self, GFile* dir); + void (*notify_closed) (DirectoryMonitor* self); + void (*close) (DirectoryMonitor* self); + void (*root_moved) (DirectoryMonitor* self, GFile* old_root, GFile* new_root, GFileInfo* new_root_info); + void (*root_deleted) (DirectoryMonitor* self, GFile* root); + void (*discovery_started) (DirectoryMonitor* self); + void (*file_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*directory_discovered) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*discovery_failed) (DirectoryMonitor* self, const gchar* reason); + void (*discovery_completed) (DirectoryMonitor* self); + void (*file_created) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*file_moved) (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); + void (*file_altered) (DirectoryMonitor* self, GFile* file); + void (*file_alteration_completed) (DirectoryMonitor* self, GFile* file, GFileInfo* info); + void (*file_attributes_altered) (DirectoryMonitor* self, GFile* file); + void (*file_deleted) (DirectoryMonitor* self, GFile* file); + void (*directory_created) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*directory_moved) (DirectoryMonitor* self, GFile* old_dir, GFile* new_dir, GFileInfo* new_dir_info); + void (*directory_altered) (DirectoryMonitor* self, GFile* dir); + void (*directory_alteration_completed) (DirectoryMonitor* self, GFile* dir, GFileInfo* info); + void (*directory_attributes_altered) (DirectoryMonitor* self, GFile* dir); + void (*directory_deleted) (DirectoryMonitor* self, GFile* dir); + void (*closed) (DirectoryMonitor* self); +}; + +struct _LibraryMonitor { + DirectoryMonitor parent_instance; + LibraryMonitorPrivate * priv; +}; + +struct _LibraryMonitorClass { + DirectoryMonitorClass parent_class; +}; + +struct _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _LibraryMonitorPrivate { + Workers* workers; + GCancellable* cancellable; + gboolean auto_import; + GeeHashSet* unknown_files; + GeeList* monitors; + GeeHashMap* discovered; + GeeHashSet* import_queue; + GeeHashSet* pending_imports; + GeeArrayList* batch_import_queue; + BatchImportRoll* current_import_roll; + time_t last_import_roll_use; + BatchImport* current_batch_import; + gint checksums_completed; + gint checksums_total; + guint import_queue_timer_id; + GeeQueue* verify_queue; + gint outstanding_verify_jobs; + gint completed_monitorable_verifies; + gint total_monitorable_verifies; +}; + +typedef void (*DequeuedCallback) (gconstpointer item, void* user_data); +typedef enum { + MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED, + MEDIA_MONITOR_DISCOVERED_FILE_IGNORE, + MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN +} MediaMonitorDiscoveredFile; + +struct _LibraryMonitorAsyncDiscoveryCompletedData { + int _state_; + GObject* _source_object_; + GAsyncResult* _res_; + GSimpleAsyncResult* _async_result; + LibraryMonitor* self; + GeeHashSet* _tmp0_; + gint _tmp1_; + gint _tmp2_; + GeeArrayList* all_candidates; + GeeArrayList* _tmp3_; + GeeArrayList* adopted; + GeeArrayList* _tmp4_; + GeeIterator* _file_it; + GeeHashSet* _tmp5_; + GeeIterator* _tmp6_; + GeeIterator* _tmp7_; + gboolean _tmp8_; + GFile* file; + GeeIterator* _tmp9_; + gpointer _tmp10_; + GFileInfo* info; + GFile* _tmp11_; + GFileInfo* _tmp12_; + GFileInfo* _tmp13_; + GeeArrayList* _tmp14_; + GeeCollection* candidates; + gboolean associated; + GeeList* _monitor_list; + GeeList* _tmp15_; + GeeList* _tmp16_; + gint _monitor_size; + GeeList* _tmp17_; + gint _tmp18_; + gint _tmp19_; + gint _monitor_index; + gint _tmp20_; + gint _tmp21_; + gint _tmp22_; + MediaMonitor* monitor; + GeeList* _tmp23_; + gint _tmp24_; + gpointer _tmp25_; + MediaMonitorDiscoveredFile _result_; + MediaMonitor* _tmp26_; + GFile* _tmp27_; + GFileInfo* _tmp28_; + MediaMonitorDiscoveredFile _tmp29_; + GeeCollection* _tmp30_; + gboolean _tmp31_; + MediaMonitorDiscoveredFile _tmp32_; + MediaMonitorDiscoveredFile _tmp33_; + GeeCollection* _tmp34_; + GeeArrayList* _tmp35_; + GeeCollection* _tmp36_; + gboolean _tmp37_; + GeeArrayList* _tmp38_; + GFile* _tmp39_; + GeeArrayList* _tmp40_; + gint _tmp41_; + gint _tmp42_; + GeeArrayList* job_candidates; + GeeArrayList* _tmp43_; + GeeArrayList* _tmp44_; + GeeArrayList* _tmp45_; + gint _tmp46_; + Workers* _tmp47_; + GFile* _tmp48_; + GeeArrayList* _tmp49_; + LibraryMonitorFindMoveJob* _tmp50_; + LibraryMonitorFindMoveJob* _tmp51_; + GeeHashSet* _tmp52_; + GeeArrayList* _tmp53_; + gint _tmp54_; + gint _tmp55_; + gchar* _tmp56_; + gchar* _tmp57_; + gint _tmp58_; + gint _tmp59_; +}; + +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _LibraryMonitorFindMoveJob { + BackgroundJob parent_instance; + LibraryMonitorFindMoveJobPrivate * priv; + GFile* file; + GeeCollection* candidates; + Monitorable* match; + GeeArrayList* losers; + GError* err; +}; + +struct _LibraryMonitorFindMoveJobClass { + BackgroundJobClass parent_class; +}; + +struct _LibraryMonitorVerifyJob { + GTypeInstance parent_instance; + volatile int ref_count; + LibraryMonitorVerifyJobPrivate * priv; + Monitorable* monitorable; + MediaMonitor* monitor; +}; + +struct _LibraryMonitorVerifyJobClass { + GTypeClass parent_class; + void (*finalize) (LibraryMonitorVerifyJob *self); +}; + +struct _LibraryMonitorVerifyMonitorableData { + int _state_; + GObject* _source_object_; + GAsyncResult* _res_; + GSimpleAsyncResult* _async_result; + LibraryMonitor* self; + Monitorable* monitorable; + MediaMonitor* monitor; + GFile** files; + GFile** _tmp0_; + gint files_length1; + gint _files_size_; + GFile** _tmp1_; + gint _tmp1__length1; + MediaMonitor* _tmp2_; + Monitorable* _tmp3_; + GFile* _tmp4_; + GFile* _tmp5_; + GFile** aux_files; + MediaMonitor* _tmp6_; + Monitorable* _tmp7_; + gint _tmp8_; + GFile** _tmp9_; + gint aux_files_length1; + gint _aux_files_size_; + GFile** _tmp10_; + gint _tmp10__length1; + GFile** _tmp11_; + gint _tmp11__length1; + GFile** aux_file_collection; + gint aux_file_collection_length1; + gint _aux_file_collection_size_; + gint aux_file_it; + GFile* _tmp12_; + GFile* aux_file; + GFile** _tmp13_; + gint _tmp13__length1; + GFile* _tmp14_; + GFile* _tmp15_; + gint ctr; + gboolean _tmp16_; + gint _tmp17_; + gint _tmp18_; + GFile** _tmp19_; + gint _tmp19__length1; + GFile* file; + GFile** _tmp20_; + gint _tmp20__length1; + gint _tmp21_; + GFile* _tmp22_; + GFile* _tmp23_; + GFileInfo* info; + GFile* _tmp24_; + GFileInfo* _tmp25_; + GFileInfo* _tmp26_; + GFileInfo* _tmp27_; + GFile* _tmp28_; + GCancellable* _tmp29_; + GFileInfo* _tmp30_; + GFileInfo* _tmp31_; + GError* err; + gint _tmp32_; + gboolean _tmp33_; + GFileInfo* _tmp34_; + MediaMonitor* _tmp35_; + Monitorable* _tmp36_; + gboolean _tmp37_; + MediaMonitor* _tmp38_; + Monitorable* _tmp39_; + gboolean _tmp40_; + GFileInfo* _tmp41_; + MediaMonitor* _tmp42_; + Monitorable* _tmp43_; + gboolean _tmp44_; + MediaMonitor* _tmp45_; + Monitorable* _tmp46_; + MediaMonitor* _tmp47_; + Monitorable* _tmp48_; + GFile* _tmp49_; + GFileInfo* _tmp50_; + gint _tmp51_; + gint _tmp52_; + gint _tmp53_; + gint _tmp54_; + gint _tmp55_; + GError * _inner_error_; +}; + +typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data); +struct _ImportManifest { + GTypeInstance parent_instance; + volatile int ref_count; + ImportManifestPrivate * priv; + GeeList* imported; + GeeList* success; + GeeList* camera_failed; + GeeList* failed; + GeeList* write_failed; + GeeList* skipped_photos; + GeeList* skipped_files; + GeeList* aborted; + GeeList* already_imported; + GeeList* corrupt_files; + GeeList* all; +}; + +struct _ImportManifestClass { + GTypeClass parent_class; + void (*finalize) (ImportManifest *self); +}; + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +struct _BatchImportResult { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportResultPrivate * priv; + BatchImportJob* job; + GFile* file; + gchar* src_identifier; + gchar* dest_identifier; + ImportResult result; + gchar* errmsg; + DuplicatedFile* duplicate_of; +}; + +struct _BatchImportResultClass { + GTypeClass parent_class; + void (*finalize) (BatchImportResult *self); +}; + +typedef enum { + TOMBSTONE_REASON_REMOVED_BY_USER = 0, + TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE = 1 +} TombstoneReason; + +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 _LibraryMonitorRuntimeFindMoveJob { + BackgroundJob parent_instance; + LibraryMonitorRuntimeFindMoveJobPrivate * priv; + GFile* file; + GeeCollection* candidates; + Monitorable* match; + GError* err; +}; + +struct _LibraryMonitorRuntimeFindMoveJobClass { + BackgroundJobClass parent_class; +}; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); +struct _LibraryMonitorParamSpecVerifyJob { + GParamSpec parent_instance; +}; + + +static gpointer library_monitor_pool_parent_class = NULL; +static LibraryMonitorPool* library_monitor_pool_instance; +static LibraryMonitorPool* library_monitor_pool_instance = NULL; +static gpointer library_monitor_parent_class = NULL; +static GeeHashSet* library_monitor_blacklist; +static GRecMutex __lock_library_monitor_blacklist = {0}; +static GeeHashSet* library_monitor_blacklist = NULL; +static HashTimedQueue* library_monitor_to_unblacklist; +static HashTimedQueue* library_monitor_to_unblacklist = NULL; +extern TombstoneSourceCollection* tombstone_global; +extern gboolean commandline_options_no_runtime_monitoring; +static gpointer library_monitor_find_move_job_parent_class = NULL; +static gpointer library_monitor_runtime_find_move_job_parent_class = NULL; +static gpointer library_monitor_verify_job_parent_class = NULL; + +gpointer library_monitor_pool_ref (gpointer instance); +void library_monitor_pool_unref (gpointer instance); +GParamSpec* param_spec_library_monitor_pool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_library_monitor_pool (GValue* value, gpointer v_object); +void value_take_library_monitor_pool (GValue* value, gpointer v_object); +gpointer value_get_library_monitor_pool (const GValue* value); +GType library_monitor_pool_get_type (void) G_GNUC_CONST; +GType directory_monitor_get_type (void) G_GNUC_CONST; +GType library_monitor_get_type (void) G_GNUC_CONST; +#define LIBRARY_MONITOR_POOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolPrivate)) +enum { + LIBRARY_MONITOR_POOL_DUMMY_PROPERTY +}; +static LibraryMonitorPool* library_monitor_pool_new (void); +static LibraryMonitorPool* library_monitor_pool_construct (GType object_type); +void library_monitor_pool_init (void); +void library_monitor_pool_terminate (void); +static void library_monitor_pool_close (LibraryMonitorPool* self); +LibraryMonitorPool* library_monitor_pool_get_instance (void); +LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self); +void library_monitor_pool_replace (LibraryMonitorPool* self, LibraryMonitor* replacement, gint start_msec_delay); +static gboolean library_monitor_pool_on_start_monitor (LibraryMonitorPool* self); +static gboolean _library_monitor_pool_on_start_monitor_gsource_func (gpointer self); +void directory_monitor_close (DirectoryMonitor* self); +void directory_monitor_start_discovery (DirectoryMonitor* self); +static void library_monitor_pool_finalize (LibraryMonitorPool* obj); +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +GType media_monitor_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 monitorable_get_type (void) G_GNUC_CONST; +GType batch_import_get_type (void) G_GNUC_CONST; +gpointer batch_import_roll_ref (gpointer instance); +void batch_import_roll_unref (gpointer instance); +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_roll (GValue* value, gpointer v_object); +void value_take_batch_import_roll (GValue* value, gpointer v_object); +gpointer value_get_batch_import_roll (const GValue* value); +GType batch_import_roll_get_type (void) G_GNUC_CONST; +static gpointer library_monitor_verify_job_ref (gpointer instance); +static void library_monitor_verify_job_unref (gpointer instance); +static GParamSpec* library_monitor_param_spec_verify_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void library_monitor_value_set_verify_job (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void library_monitor_value_take_verify_job (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer library_monitor_value_get_verify_job (const GValue* value) G_GNUC_UNUSED; +static GType library_monitor_verify_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define LIBRARY_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_MONITOR, LibraryMonitorPrivate)) +enum { + LIBRARY_MONITOR_DUMMY_PROPERTY +}; +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +static void library_monitor_on_config_changed (LibraryMonitor* self); +static void _library_monitor_on_config_changed_configuration_facade_auto_import_from_library_changed (ConfigurationFacade* _sender, gpointer self); +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +gpointer timed_queue_ref (gpointer instance); +void timed_queue_unref (gpointer instance); +GParamSpec* param_spec_timed_queue (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_timed_queue (GValue* value, gpointer v_object); +void value_take_timed_queue (GValue* value, gpointer v_object); +gpointer value_get_timed_queue (const GValue* value); +GType timed_queue_get_type (void) G_GNUC_CONST; +GType hash_timed_queue_get_type (void) G_GNUC_CONST; +#define LIBRARY_MONITOR_MIN_BLACKLIST_DURATION_MSEC (5 * 1000) +static void library_monitor_on_unblacklist_file (GFile* file); +static void _library_monitor_on_unblacklist_file_dequeued_callback (gconstpointer item, gpointer self); +HashTimedQueue* hash_timed_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority); +HashTimedQueue* hash_timed_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority); +guint workers_thread_per_cpu_minus_one (void); +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +#define LIBRARY_MONITOR_FLUSH_IMPORT_QUEUE_SEC 3 +#define LIBRARY_MONITOR_IMPORT_ROLL_QUIET_SEC (5 * 60) +#define LIBRARY_MONITOR_MAX_VERIFY_EXISTING_MEDIA_JOBS 5 +LibraryMonitor* library_monitor_new (GFile* root, gboolean recurse, gboolean monitoring); +LibraryMonitor* library_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring); +DirectoryMonitor* directory_monitor_new (GFile* root, gboolean recurse, gboolean monitoring); +DirectoryMonitor* directory_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring); +gboolean configuration_facade_get_auto_import_from_library (ConfigurationFacade* self); +static gboolean library_monitor_on_flush_import_queue (LibraryMonitor* self); +static gboolean _library_monitor_on_flush_import_queue_gsource_func (gpointer self); +static void library_monitor_real_close (DirectoryMonitor* base); +void media_monitor_close (MediaMonitor* self); +static void library_monitor_add_to_discovered_list (LibraryMonitor* self, MediaMonitor* monitor, Monitorable* monitorable); +static MediaMonitor* library_monitor_get_monitor_for_monitorable (LibraryMonitor* self, Monitorable* monitorable); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +MediaSourceCollection* media_monitor_get_media_source_collection (MediaMonitor* self); +gboolean source_collection_holds_type_of_source (SourceCollection* self, DataSource* source); +gchar* data_object_to_string (DataObject* self); +static void library_monitor_real_discovery_started (DirectoryMonitor* base); +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +MediaMonitor* media_source_collection_create_media_monitor (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable); +void media_monitor_notify_discovery_started (MediaMonitor* self); +static void library_monitor_real_file_discovered (DirectoryMonitor* base, GFile* file, GFileInfo* info); +GType media_monitor_discovered_file_get_type (void) G_GNUC_CONST; +MediaMonitorDiscoveredFile media_monitor_notify_file_discovered (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable); +GType tombstone_source_collection_get_type (void) G_GNUC_CONST; +gboolean tombstone_source_collection_matches (TombstoneSourceCollection* self, GFile* file); +static gboolean library_monitor_is_supported_filetype (LibraryMonitor* self, GFile* file); +static void library_monitor_real_discovery_completed (DirectoryMonitor* base); +static void library_monitor_async_discovery_completed (LibraryMonitor* self, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void library_monitor_async_discovery_completed_finish (LibraryMonitor* self, GAsyncResult* _res_); +static void library_monitor_async_discovery_completed_data_free (gpointer _data); +static gboolean library_monitor_async_discovery_completed_co (LibraryMonitorAsyncDiscoveryCompletedData* _data_); +static void library_monitor_discovery_stage_completed (LibraryMonitor* self); +GFileInfo* directory_monitor_get_file_info (DirectoryMonitor* self, GFile* file); +GeeCollection* media_monitor_candidates_for_unknown_file (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +void workers_enqueue (Workers* self, BackgroundJob* job); +static LibraryMonitorFindMoveJob* library_monitor_find_move_job_new (LibraryMonitor* owner, GFile* file, GeeCollection* candidates); +static LibraryMonitorFindMoveJob* library_monitor_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates); +static GType library_monitor_find_move_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static gboolean _library_monitor_async_discovery_completed_co_gsource_func (gpointer self); +void directory_monitor_mdbg (const gchar* msg); +static void library_monitor_report_checksum_job_completed (LibraryMonitor* self); +static void library_monitor_on_find_move_completed (LibraryMonitor* self, BackgroundJob* j); +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +void media_monitor_update_master_file (MediaMonitor* self, Monitorable* monitorable, GFile* file); +static void library_monitor_on_find_move_cancelled (LibraryMonitor* self, BackgroundJob* j); +static void library_monitor_enqueue_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor); +GeeCollection* data_collection_get_all (DataCollection* self); +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType database_source_holding_tank_get_type (void) G_GNUC_CONST; +GType media_source_holding_tank_get_type (void) G_GNUC_CONST; +MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self); +GeeCollection* source_holding_tank_get_all (SourceHoldingTank* self); +static void library_monitor_enqueue_import_many (LibraryMonitor* self, GeeCollection* files); +void tombstone_source_collection_launch_scan (TombstoneSourceCollection* self, DirectoryMonitor* monitor, GCancellable* cancellable); +static LibraryMonitorVerifyJob* library_monitor_verify_job_new (Monitorable* monitorable, MediaMonitor* monitor); +static LibraryMonitorVerifyJob* library_monitor_verify_job_construct (GType object_type, Monitorable* monitorable, MediaMonitor* monitor); +static void library_monitor_execute_next_verify_job (LibraryMonitor* self); +static void library_monitor_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void library_monitor_verify_monitorable_finish (LibraryMonitor* self, GAsyncResult* _res_); +static void library_monitor_verify_monitorable_data_free (gpointer _data); +static gboolean library_monitor_verify_monitorable_co (LibraryMonitorVerifyMonitorableData* _data_); +GFile* media_monitor_get_master_file (MediaMonitor* self, Monitorable* monitorable); +GFile** media_monitor_get_auxilliary_backing_files (MediaMonitor* self, Monitorable* monitorable, int* result_length1); +static void _vala_array_add296 (GFile*** array, int* length, int* size, GFile* value); +#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" +#define DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES UTIL_FILE_ATTRIBUTES +#define DIRECTORY_MONITOR_FILE_INFO_FLAGS G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS +#define DIRECTORY_MONITOR_DEFAULT_PRIORITY G_PRIORITY_LOW +static void library_monitor_verify_monitorable_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); +gboolean media_monitor_is_offline (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_update_online (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_update_offline (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_update_backing_file_info (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info); +static gboolean _library_monitor_verify_monitorable_co_gsource_func (gpointer self); +static void library_monitor_import_unrepresented_files (LibraryMonitor* self); +static void library_monitor_cancel_batch_imports (LibraryMonitor* self); +static void library_monitor_enqueue_import (LibraryMonitor* self, GFile* file); +gboolean library_monitor_is_blacklisted (GFile* file); +static void library_monitor_remove_queued_import (LibraryMonitor* self, GFile* file); +gulong now_sec (void); +BatchImportRoll* batch_import_roll_new (void); +BatchImportRoll* batch_import_roll_construct (GType object_type); +gpointer batch_import_job_ref (gpointer instance); +void batch_import_job_unref (gpointer instance); +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_job (GValue* value, gpointer v_object); +void value_take_batch_import_job (GValue* value, gpointer v_object); +gpointer value_get_batch_import_job (const GValue* value); +GType batch_import_job_get_type (void) G_GNUC_CONST; +FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library); +FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library); +GType file_import_job_get_type (void) G_GNUC_CONST; +gpointer import_manifest_ref (gpointer instance); +void import_manifest_unref (gpointer instance); +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_import_manifest (GValue* value, gpointer v_object); +void value_take_import_manifest (GValue* value, gpointer v_object); +gpointer value_get_import_manifest (const GValue* value); +GType import_manifest_get_type (void) G_GNUC_CONST; +BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +void batch_import_set_untrash_duplicates (BatchImport* self, gboolean untrash_duplicates); +void batch_import_set_mark_duplicates_online (BatchImport* self, gboolean mark_duplicates_online); +static void library_monitor_schedule_next_batch_import (LibraryMonitor* self); +static void library_monitor_on_import_preparing (LibraryMonitor* self); +static void _library_monitor_on_import_preparing_batch_import_preparing (BatchImport* _sender, gpointer self); +static void library_monitor_on_import_progress (LibraryMonitor* self, guint64 completed_bytes, guint64 total_bytes); +static void _library_monitor_on_import_progress_batch_import_progress (BatchImport* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self); +static void library_monitor_on_import_complete (LibraryMonitor* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll); +static void _library_monitor_on_import_complete_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self); +void batch_import_schedule (BatchImport* self); +static void library_monitor_discard_current_batch_import (LibraryMonitor* self); +void batch_import_user_halt (BatchImport* self); +gpointer batch_import_result_ref (gpointer instance); +void batch_import_result_unref (gpointer instance); +GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_result (GValue* value, gpointer v_object); +void value_take_batch_import_result (GValue* value, gpointer v_object); +gpointer value_get_batch_import_result (const GValue* value); +GType batch_import_result_get_type (void) G_GNUC_CONST; +GType import_result_get_type (void) G_GNUC_CONST; +GType duplicated_file_get_type (void) G_GNUC_CONST; +gpointer tombstoned_file_ref (gpointer instance); +void tombstoned_file_unref (gpointer instance); +GParamSpec* param_spec_tombstoned_file (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_tombstoned_file (GValue* value, gpointer v_object); +void value_take_tombstoned_file (GValue* value, gpointer v_object); +gpointer value_get_tombstoned_file (const GValue* value); +GType tombstoned_file_get_type (void) G_GNUC_CONST; +TombstonedFile* tombstoned_file_new (GFile* file, gint64 filesize, const gchar* md5); +TombstonedFile* tombstoned_file_construct (GType object_type, GFile* file, gint64 filesize, const gchar* md5); +GType tombstone_reason_get_type (void) G_GNUC_CONST; +GQuark database_error_quark (void); +void tombstone_entomb_many_files (GeeCollection* files, TombstoneReason reason, GError** error); +void app_window_database_error (GError* err); +void library_monitor_blacklist_file (GFile* file, const gchar* reason); +void library_monitor_unblacklist_file (GFile* file); +gboolean timed_queue_contains (TimedQueue* self, gconstpointer item); +gboolean timed_queue_enqueue (TimedQueue* self, gconstpointer item); +MediaSourceCollection* media_collection_registry_get_collection_for_file (MediaCollectionRegistry* self, GFile* file); +GeeCollection* directory_monitor_get_files (DirectoryMonitor* self); +gboolean media_monitor_is_file_represented (MediaMonitor* self, GFile* file); +static void library_monitor_runtime_unknown_file_discovered (LibraryMonitor* self, GFile* file); +static void library_monitor_real_notify_file_created (DirectoryMonitor* base, GFile* file, GFileInfo* info); +void directory_monitor_notify_file_created (DirectoryMonitor* self, GFile* file, GFileInfo* info); +gboolean media_monitor_notify_file_created (MediaMonitor* self, GFile* file, GFileInfo* info); +gchar* media_monitor_to_string (MediaMonitor* self); +const gchar* media_monitor_discovered_file_to_string (MediaMonitorDiscoveredFile self); +static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_new (LibraryMonitor* owner, GFile* file, GeeCollection* candidates); +static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates); +static GType library_monitor_runtime_find_move_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static void library_monitor_on_runtime_find_move_completed (LibraryMonitor* self, BackgroundJob* j); +static void library_monitor_real_notify_file_moved (DirectoryMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* new_info); +void directory_monitor_notify_file_moved (DirectoryMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +gboolean media_monitor_notify_file_moved (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +static void library_monitor_real_notify_file_altered (DirectoryMonitor* base, GFile* file); +void directory_monitor_notify_file_altered (DirectoryMonitor* self, GFile* file); +gboolean media_monitor_notify_file_altered (MediaMonitor* self, GFile* file); +static void library_monitor_real_notify_file_attributes_altered (DirectoryMonitor* base, GFile* file); +void directory_monitor_notify_file_attributes_altered (DirectoryMonitor* self, GFile* file); +gboolean media_monitor_notify_file_attributes_altered (MediaMonitor* self, GFile* file); +static void library_monitor_real_notify_file_alteration_completed (DirectoryMonitor* base, GFile* file, GFileInfo* info); +void directory_monitor_notify_file_alteration_completed (DirectoryMonitor* self, GFile* file, GFileInfo* info); +gboolean media_monitor_notify_file_alteration_completed (MediaMonitor* self, GFile* file, GFileInfo* info); +static void library_monitor_real_notify_file_deleted (DirectoryMonitor* base, GFile* file); +void directory_monitor_notify_file_deleted (DirectoryMonitor* self, GFile* file); +gboolean media_monitor_notify_file_deleted (MediaMonitor* self, GFile* file); +GType tombstone_get_type (void) G_GNUC_CONST; +Tombstone* tombstone_source_collection_locate (TombstoneSourceCollection* self, GFile* file); +void tombstone_source_collection_resurrect (TombstoneSourceCollection* self, Tombstone* tombstone); +static void g_cclosure_user_marshal_VOID__INT_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__UINT64_UINT64 (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +enum { + LIBRARY_MONITOR_FIND_MOVE_JOB_DUMMY_PROPERTY +}; +static void _library_monitor_on_find_move_completed_completion_callback (BackgroundJob* job, gpointer self); +static void _library_monitor_on_find_move_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +void background_job_set_completion_priority (BackgroundJob* self, gint priority); +static void library_monitor_find_move_job_real_execute (BackgroundJob* base); +GFile* media_source_get_master_file (MediaSource* self); +gchar* md5_file (GFile* file, GError** error); +gchar* media_source_get_master_md5 (MediaSource* self); +static void library_monitor_find_move_job_finalize (BackgroundJob* obj); +enum { + LIBRARY_MONITOR_RUNTIME_FIND_MOVE_JOB_DUMMY_PROPERTY +}; +static void _library_monitor_on_runtime_find_move_completed_completion_callback (BackgroundJob* job, gpointer self); +static void library_monitor_runtime_find_move_job_real_execute (BackgroundJob* base); +static void library_monitor_runtime_find_move_job_finalize (BackgroundJob* obj); +enum { + LIBRARY_MONITOR_VERIFY_JOB_DUMMY_PROPERTY +}; +static void library_monitor_verify_job_finalize (LibraryMonitorVerifyJob* obj); +static void library_monitor_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static LibraryMonitorPool* library_monitor_pool_construct (GType object_type) { + LibraryMonitorPool* self = NULL; +#line 38 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = (LibraryMonitorPool*) g_type_create_instance (object_type); +#line 38 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self; +#line 1218 "LibraryMonitor.c" +} + + +static LibraryMonitorPool* library_monitor_pool_new (void) { +#line 38 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return library_monitor_pool_construct (TYPE_LIBRARY_MONITOR_POOL); +#line 1225 "LibraryMonitor.c" +} + + +void library_monitor_pool_init (void) { +} + + +void library_monitor_pool_terminate (void) { + LibraryMonitorPool* _tmp0_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = library_monitor_pool_instance; +#line 45 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_ != NULL) { +#line 1239 "LibraryMonitor.c" + LibraryMonitorPool* _tmp1_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_pool_instance; +#line 46 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_close (_tmp1_); +#line 1245 "LibraryMonitor.c" + } +#line 48 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _library_monitor_pool_unref0 (library_monitor_pool_instance); +#line 48 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_instance = NULL; +#line 1251 "LibraryMonitor.c" +} + + +static gpointer _library_monitor_pool_ref0 (gpointer self) { +#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self ? library_monitor_pool_ref (self) : NULL; +#line 1258 "LibraryMonitor.c" +} + + +LibraryMonitorPool* library_monitor_pool_get_instance (void) { + LibraryMonitorPool* result = NULL; + LibraryMonitorPool* _tmp0_ = NULL; + LibraryMonitorPool* _tmp2_ = NULL; + LibraryMonitorPool* _tmp3_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = library_monitor_pool_instance; +#line 52 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_ == NULL) { +#line 1271 "LibraryMonitor.c" + LibraryMonitorPool* _tmp1_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_pool_new (); +#line 53 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _library_monitor_pool_unref0 (library_monitor_pool_instance); +#line 53 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_instance = _tmp1_; +#line 1279 "LibraryMonitor.c" + } +#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = library_monitor_pool_instance; +#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _library_monitor_pool_ref0 (_tmp2_); +#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = _tmp3_; +#line 55 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 1289 "LibraryMonitor.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self ? g_object_ref (self) : NULL; +#line 1296 "LibraryMonitor.c" +} + + +LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self) { + LibraryMonitor* result = NULL; + LibraryMonitor* _tmp0_ = NULL; + LibraryMonitor* _tmp1_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_MONITOR_POOL (self), NULL); +#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->monitor; +#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = _tmp1_; +#line 59 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 1314 "LibraryMonitor.c" +} + + +static gboolean _library_monitor_pool_on_start_monitor_gsource_func (gpointer self) { + gboolean result; + result = library_monitor_pool_on_start_monitor ((LibraryMonitorPool*) self); +#line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 1323 "LibraryMonitor.c" +} + + +void library_monitor_pool_replace (LibraryMonitorPool* self, LibraryMonitor* replacement, gint start_msec_delay) { + LibraryMonitor* _tmp0_ = NULL; + LibraryMonitor* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; + LibraryMonitor* _tmp7_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR_POOL (self)); +#line 63 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (replacement)); +#line 64 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_close (self); +#line 66 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = replacement; +#line 66 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 66 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->monitor); +#line 66 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->monitor = _tmp1_; +#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = start_msec_delay; +#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp3_ > 0) { +#line 1351 "LibraryMonitor.c" + guint _tmp4_ = 0U; +#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = self->priv->timer_id; +#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = _tmp4_ == ((guint) 0); +#line 1357 "LibraryMonitor.c" + } else { +#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = FALSE; +#line 1361 "LibraryMonitor.c" + } +#line 67 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp2_) { +#line 1365 "LibraryMonitor.c" + gint _tmp5_ = 0; + guint _tmp6_ = 0U; +#line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = start_msec_delay; +#line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) _tmp5_, _library_monitor_pool_on_start_monitor_gsource_func, library_monitor_pool_ref (self), library_monitor_pool_unref); +#line 68 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->timer_id = _tmp6_; +#line 1374 "LibraryMonitor.c" + } +#line 70 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = self->priv->monitor; +#line 70 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_emit_by_name (self, "monitor-installed", _tmp7_); +#line 1380 "LibraryMonitor.c" +} + + +static void library_monitor_pool_close (LibraryMonitorPool* self) { + LibraryMonitor* _tmp0_ = NULL; + LibraryMonitor* _tmp1_ = NULL; + LibraryMonitor* closed = NULL; + LibraryMonitor* _tmp2_ = NULL; + LibraryMonitor* _tmp3_ = NULL; + LibraryMonitor* _tmp4_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR_POOL (self)); +#line 74 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->monitor; +#line 74 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_ == NULL) { +#line 75 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 1399 "LibraryMonitor.c" + } +#line 77 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->monitor; +#line 77 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 78 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = self->priv->monitor; +#line 78 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 78 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + closed = _tmp3_; +#line 79 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->monitor); +#line 79 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->monitor = NULL; +#line 81 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = closed; +#line 81 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_emit_by_name (self, "monitor-destroyed", _tmp4_); +#line 73 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (closed); +#line 1421 "LibraryMonitor.c" +} + + +static gboolean library_monitor_pool_on_start_monitor (LibraryMonitorPool* self) { + gboolean result = FALSE; + LibraryMonitor* _tmp0_ = NULL; + LibraryMonitor* _tmp1_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_MONITOR_POOL (self), FALSE); +#line 86 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->timer_id = (guint) 0; +#line 88 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->monitor; +#line 88 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_ == NULL) { +#line 89 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = FALSE; +#line 89 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 1441 "LibraryMonitor.c" + } +#line 91 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->monitor; +#line 91 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_start_discovery (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 93 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = FALSE; +#line 93 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 1451 "LibraryMonitor.c" +} + + +static void value_library_monitor_pool_init (GValue* value) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 1458 "LibraryMonitor.c" +} + + +static void value_library_monitor_pool_free_value (GValue* value) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (value->data[0].v_pointer) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_unref (value->data[0].v_pointer); +#line 1467 "LibraryMonitor.c" + } +} + + +static void value_library_monitor_pool_copy_value (const GValue* src_value, GValue* dest_value) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (src_value->data[0].v_pointer) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + dest_value->data[0].v_pointer = library_monitor_pool_ref (src_value->data[0].v_pointer); +#line 1477 "LibraryMonitor.c" + } else { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + dest_value->data[0].v_pointer = NULL; +#line 1481 "LibraryMonitor.c" + } +} + + +static gpointer value_library_monitor_pool_peek_pointer (const GValue* value) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return value->data[0].v_pointer; +#line 1489 "LibraryMonitor.c" +} + + +static gchar* value_library_monitor_pool_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (collect_values[0].v_pointer) { +#line 1496 "LibraryMonitor.c" + LibraryMonitorPool* object; + object = collect_values[0].v_pointer; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (object->parent_instance.g_class == NULL) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1503 "LibraryMonitor.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1507 "LibraryMonitor.c" + } +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = library_monitor_pool_ref (object); +#line 1511 "LibraryMonitor.c" + } else { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 1515 "LibraryMonitor.c" + } +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return NULL; +#line 1519 "LibraryMonitor.c" +} + + +static gchar* value_library_monitor_pool_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + LibraryMonitorPool** object_p; + object_p = collect_values[0].v_pointer; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!object_p) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1530 "LibraryMonitor.c" + } +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!value->data[0].v_pointer) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + *object_p = NULL; +#line 1536 "LibraryMonitor.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + *object_p = value->data[0].v_pointer; +#line 1540 "LibraryMonitor.c" + } else { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + *object_p = library_monitor_pool_ref (value->data[0].v_pointer); +#line 1544 "LibraryMonitor.c" + } +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return NULL; +#line 1548 "LibraryMonitor.c" +} + + +GParamSpec* param_spec_library_monitor_pool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecLibraryMonitorPool* spec; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_LIBRARY_MONITOR_POOL), NULL); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return G_PARAM_SPEC (spec); +#line 1562 "LibraryMonitor.c" +} + + +gpointer value_get_library_monitor_pool (const GValue* value) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_LIBRARY_MONITOR_POOL), NULL); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return value->data[0].v_pointer; +#line 1571 "LibraryMonitor.c" +} + + +void value_set_library_monitor_pool (GValue* value, gpointer v_object) { + LibraryMonitorPool* old; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_LIBRARY_MONITOR_POOL)); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + old = value->data[0].v_pointer; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (v_object) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_LIBRARY_MONITOR_POOL)); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = v_object; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_ref (value->data[0].v_pointer); +#line 1591 "LibraryMonitor.c" + } else { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 1595 "LibraryMonitor.c" + } +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (old) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_unref (old); +#line 1601 "LibraryMonitor.c" + } +} + + +void value_take_library_monitor_pool (GValue* value, gpointer v_object) { + LibraryMonitorPool* old; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_LIBRARY_MONITOR_POOL)); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + old = value->data[0].v_pointer; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (v_object) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_LIBRARY_MONITOR_POOL)); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = v_object; +#line 1620 "LibraryMonitor.c" + } else { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 1624 "LibraryMonitor.c" + } +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (old) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_unref (old); +#line 1630 "LibraryMonitor.c" + } +} + + +static void library_monitor_pool_class_init (LibraryMonitorPoolClass * klass) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_pool_parent_class = g_type_class_peek_parent (klass); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((LibraryMonitorPoolClass *) klass)->finalize = library_monitor_pool_finalize; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_type_class_add_private (klass, sizeof (LibraryMonitorPoolPrivate)); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_new ("monitor_installed", TYPE_LIBRARY_MONITOR_POOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_LIBRARY_MONITOR); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_new ("monitor_destroyed", TYPE_LIBRARY_MONITOR_POOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_LIBRARY_MONITOR); +#line 1646 "LibraryMonitor.c" +} + + +static void library_monitor_pool_instance_init (LibraryMonitorPool * self) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv = LIBRARY_MONITOR_POOL_GET_PRIVATE (self); +#line 31 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->monitor = NULL; +#line 32 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->timer_id = (guint) 0; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->ref_count = 1; +#line 1659 "LibraryMonitor.c" +} + + +static void library_monitor_pool_finalize (LibraryMonitorPool* obj) { + LibraryMonitorPool * self; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_handlers_destroy (self); +#line 31 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->monitor); +#line 1671 "LibraryMonitor.c" +} + + +GType library_monitor_pool_get_type (void) { + static volatile gsize library_monitor_pool_type_id__volatile = 0; + if (g_once_init_enter (&library_monitor_pool_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_library_monitor_pool_init, value_library_monitor_pool_free_value, value_library_monitor_pool_copy_value, value_library_monitor_pool_peek_pointer, "p", value_library_monitor_pool_collect_value, "p", value_library_monitor_pool_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorPoolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_pool_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitorPool), 0, (GInstanceInitFunc) library_monitor_pool_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType library_monitor_pool_type_id; + library_monitor_pool_type_id = g_type_register_fundamental (g_type_fundamental_next (), "LibraryMonitorPool", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&library_monitor_pool_type_id__volatile, library_monitor_pool_type_id); + } + return library_monitor_pool_type_id__volatile; +} + + +gpointer library_monitor_pool_ref (gpointer instance) { + LibraryMonitorPool* self; + self = instance; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_atomic_int_inc (&self->ref_count); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return instance; +#line 1696 "LibraryMonitor.c" +} + + +void library_monitor_pool_unref (gpointer instance) { + LibraryMonitorPool* self; + self = instance; +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + LIBRARY_MONITOR_POOL_GET_CLASS (self)->finalize (self); +#line 28 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1709 "LibraryMonitor.c" + } +} + + +static void _library_monitor_on_config_changed_configuration_facade_auto_import_from_library_changed (ConfigurationFacade* _sender, gpointer self) { +#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_on_config_changed ((LibraryMonitor*) self); +#line 1717 "LibraryMonitor.c" +} + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 1726 "LibraryMonitor.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 1735 "LibraryMonitor.c" +} + + +static void _library_monitor_on_unblacklist_file_dequeued_callback (gconstpointer item, gpointer self) { +#line 207 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_on_unblacklist_file ((GFile*) item); +#line 1742 "LibraryMonitor.c" +} + + +static gboolean _library_monitor_on_flush_import_queue_gsource_func (gpointer self) { + gboolean result; + result = library_monitor_on_flush_import_queue ((LibraryMonitor*) self); +#line 243 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 1751 "LibraryMonitor.c" +} + + +LibraryMonitor* library_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring) { + LibraryMonitor * self = NULL; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + ConfigFacade* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#line 236 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (root), NULL); +#line 237 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = root; +#line 237 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = recurse; +#line 237 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = monitoring; +#line 237 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = (LibraryMonitor*) directory_monitor_construct (object_type, _tmp0_, _tmp1_, _tmp2_); +#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = config_facade_get_instance (); +#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = configuration_facade_get_auto_import_from_library (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->auto_import = _tmp5_; +#line 240 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp4_); +#line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = config_facade_get_instance (); +#line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _tmp6_; +#line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "auto-import-from-library-changed", (GCallback) _library_monitor_on_config_changed_configuration_facade_auto_import_from_library_changed, self, 0); +#line 241 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp7_); +#line 243 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) LIBRARY_MONITOR_FLUSH_IMPORT_QUEUE_SEC, _library_monitor_on_flush_import_queue_gsource_func, g_object_ref (self), g_object_unref); +#line 243 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->import_queue_timer_id = _tmp8_; +#line 236 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self; +#line 1800 "LibraryMonitor.c" +} + + +LibraryMonitor* library_monitor_new (GFile* root, gboolean recurse, gboolean monitoring) { +#line 236 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return library_monitor_construct (TYPE_LIBRARY_MONITOR, root, recurse, monitoring); +#line 1807 "LibraryMonitor.c" +} + + +static void library_monitor_real_close (DirectoryMonitor* base) { + LibraryMonitor * self; + GCancellable* _tmp0_ = NULL; + guint _tmp13_ = 0U; +#line 250 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 251 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->cancellable; +#line 251 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_cancellable_cancel (_tmp0_); +#line 1821 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _monitor_index = 0; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->monitors; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp2_; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _monitor_list; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _tmp4_; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp5_; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 1849 "LibraryMonitor.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + MediaMonitor* _tmp12_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _monitor_index; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp6_ + 1; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _monitor_index; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _monitor_size; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 1870 "LibraryMonitor.c" + } +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_list; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _monitor_index; +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = gee_list_get (_tmp9_, _tmp10_); +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp11_; +#line 254 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = monitor; +#line 254 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + media_monitor_close (_tmp12_); +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 1886 "LibraryMonitor.c" + } +#line 253 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 1890 "LibraryMonitor.c" + } +#line 256 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = self->priv->import_queue_timer_id; +#line 256 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp13_ != ((guint) 0)) { +#line 1896 "LibraryMonitor.c" + guint _tmp14_ = 0U; +#line 257 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = self->priv->import_queue_timer_id; +#line 257 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_source_remove (_tmp14_); +#line 258 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->import_queue_timer_id = (guint) 0; +#line 1904 "LibraryMonitor.c" + } +#line 261 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->close (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 1908 "LibraryMonitor.c" +} + + +static void library_monitor_add_to_discovered_list (LibraryMonitor* self, MediaMonitor* monitor, Monitorable* monitorable) { + GeeHashMap* _tmp0_ = NULL; + MediaMonitor* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashMap* _tmp7_ = NULL; + MediaMonitor* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeSet* _tmp10_ = NULL; + Monitorable* _tmp11_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 264 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (monitor)); +#line 264 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 265 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->discovered; +#line 265 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = monitor; +#line 265 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 265 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp2_) { +#line 1935 "LibraryMonitor.c" + GeeHashMap* _tmp3_ = NULL; + MediaMonitor* _tmp4_ = NULL; + GeeHashSet* _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; +#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = self->priv->discovered; +#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = monitor; +#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = gee_hash_set_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _tmp5_; +#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_SET, GeeSet)); +#line 266 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp6_); +#line 1952 "LibraryMonitor.c" + } +#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = self->priv->discovered; +#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = monitor; +#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_); +#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = (GeeSet*) _tmp9_; +#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = monitorable; +#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_); +#line 268 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp10_); +#line 1968 "LibraryMonitor.c" +} + + +static MediaMonitor* library_monitor_get_monitor_for_monitorable (LibraryMonitor* self, Monitorable* monitorable) { + MediaMonitor* result = NULL; + Monitorable* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_MONITOR (self), NULL); +#line 271 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 1981 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _monitor_index = 0; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->monitors; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp1_; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = _monitor_list; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp4_; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 2009 "LibraryMonitor.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + MediaMonitor* _tmp11_ = NULL; + MediaSourceCollection* _tmp12_ = NULL; + MediaSourceCollection* _tmp13_ = NULL; + Monitorable* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _monitor_index; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp5_ + 1; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _monitor_index; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _monitor_size; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp6_ < _tmp7_)) { +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2035 "LibraryMonitor.c" + } +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _monitor_list; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_index; +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = gee_list_get (_tmp8_, _tmp9_); +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp10_; +#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = monitor; +#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = media_monitor_get_media_source_collection (_tmp11_); +#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = _tmp12_; +#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = monitorable; +#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = source_collection_holds_type_of_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_SOURCE, DataSource)); +#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = _tmp15_; +#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_collection_unref0 (_tmp13_); +#line 273 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp16_) { +#line 274 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = monitor; +#line 274 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 274 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 2067 "LibraryMonitor.c" + } +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 2071 "LibraryMonitor.c" + } +#line 272 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 2075 "LibraryMonitor.c" + } +#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = monitorable; +#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_OBJECT, DataObject)); +#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = _tmp18_; +#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_error ("LibraryMonitor.vala:277: Unable to locate MediaMonitor for %s", _tmp19_); +#line 277 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp19_); +#line 2087 "LibraryMonitor.c" +} + + +static void library_monitor_real_discovery_started (DirectoryMonitor* base) { + LibraryMonitor * self; + GeeHashMap* _tmp28_ = NULL; + GeeHashSet* _tmp29_ = NULL; +#line 280 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 2097 "LibraryMonitor.c" + { + GeeIterator* _collection_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _tmp0_; +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_; +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _tmp4_; +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _collection_it = _tmp5_; +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 2126 "LibraryMonitor.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* collection = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeList* _tmp10_ = NULL; + MediaSourceCollection* _tmp11_ = NULL; + Workers* _tmp12_ = NULL; + GCancellable* _tmp13_ = NULL; + MediaMonitor* _tmp14_ = NULL; + MediaMonitor* _tmp15_ = NULL; +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _collection_it; +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp7_) { +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2146 "LibraryMonitor.c" + } +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _collection_it; +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + collection = (MediaSourceCollection*) _tmp9_; +#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = self->priv->monitors; +#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = collection; +#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = self->priv->workers; +#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = self->priv->cancellable; +#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = media_source_collection_create_media_monitor (_tmp11_, _tmp12_, _tmp13_); +#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = _tmp14_; +#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_); +#line 282 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp15_); +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_collection_unref0 (collection); +#line 2172 "LibraryMonitor.c" + } +#line 281 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_collection_it); +#line 2176 "LibraryMonitor.c" + } + { + GeeList* _monitor_list = NULL; + GeeList* _tmp16_ = NULL; + GeeList* _tmp17_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _monitor_index = 0; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = self->priv->monitors; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = _g_object_ref0 (_tmp16_); +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp17_; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = _monitor_list; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = _tmp19_; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp20_; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 2205 "LibraryMonitor.c" + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp24_ = NULL; + gint _tmp25_ = 0; + gpointer _tmp26_ = NULL; + MediaMonitor* _tmp27_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = _monitor_index; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp21_ + 1; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = _monitor_index; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = _monitor_size; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp22_ < _tmp23_)) { +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2226 "LibraryMonitor.c" + } +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = _monitor_list; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = _monitor_index; +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = gee_list_get (_tmp24_, _tmp25_); +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp26_; +#line 285 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = monitor; +#line 285 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + media_monitor_notify_discovery_started (_tmp27_); +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 2242 "LibraryMonitor.c" + } +#line 284 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 2246 "LibraryMonitor.c" + } +#line 287 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = gee_hash_map_new (TYPE_MEDIA_MONITOR, (GBoxedCopyFunc) g_object_ref, g_object_unref, GEE_TYPE_SET, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 287 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->discovered); +#line 287 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->discovered = _tmp28_; +#line 288 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 288 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->unknown_files); +#line 288 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->unknown_files = _tmp29_; +#line 290 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->discovery_started (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 2262 "LibraryMonitor.c" +} + + +static void library_monitor_real_file_discovered (DirectoryMonitor* base, GFile* file, GFileInfo* info) { + LibraryMonitor * self; + Monitorable* representation = NULL; + MediaMonitor* representing = NULL; + gboolean ignore = FALSE; + MediaMonitor* _tmp20_ = NULL; + GFile* _tmp36_ = NULL; + GFileInfo* _tmp37_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 294 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + representation = NULL; +#line 295 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + representing = NULL; +#line 296 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ignore = FALSE; +#line 2286 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _monitor_index = 0; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->monitors; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp1_; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = _monitor_list; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp4_; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 2314 "LibraryMonitor.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + MediaMonitorDiscoveredFile _result_ = 0; + MediaMonitor* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFileInfo* _tmp13_ = NULL; + Monitorable* _tmp14_ = NULL; + MediaMonitorDiscoveredFile _tmp15_ = 0; + MediaMonitorDiscoveredFile _tmp16_ = 0; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _monitor_index; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp5_ + 1; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _monitor_index; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _monitor_size; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp6_ < _tmp7_)) { +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2341 "LibraryMonitor.c" + } +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _monitor_list; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_index; +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = gee_list_get (_tmp8_, _tmp9_); +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp10_; +#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = monitor; +#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = file; +#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = info; +#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = media_monitor_notify_file_discovered (_tmp11_, _tmp12_, _tmp13_, &_tmp14_); +#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (representation); +#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + representation = _tmp14_; +#line 298 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_ = _tmp15_; +#line 300 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = _result_; +#line 300 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp16_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) { +#line 2369 "LibraryMonitor.c" + MediaMonitor* _tmp17_ = NULL; + MediaMonitor* _tmp18_ = NULL; +#line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = monitor; +#line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (representing); +#line 301 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + representing = _tmp18_; +#line 303 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 303 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2384 "LibraryMonitor.c" + } else { + MediaMonitorDiscoveredFile _tmp19_ = 0; +#line 304 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = _result_; +#line 304 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp19_ == MEDIA_MONITOR_DISCOVERED_FILE_IGNORE) { +#line 306 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ignore = TRUE; +#line 308 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 308 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2397 "LibraryMonitor.c" + } + } +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 2402 "LibraryMonitor.c" + } +#line 297 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 2406 "LibraryMonitor.c" + } +#line 312 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = representing; +#line 312 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp20_ != NULL) { +#line 2412 "LibraryMonitor.c" + gboolean _tmp21_ = FALSE; + Monitorable* _tmp22_ = NULL; + MediaMonitor* _tmp24_ = NULL; + Monitorable* _tmp25_ = NULL; +#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = representation; +#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp22_ != NULL) { +#line 2421 "LibraryMonitor.c" + gboolean _tmp23_ = FALSE; +#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = ignore; +#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = !_tmp23_; +#line 2427 "LibraryMonitor.c" + } else { +#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = FALSE; +#line 2431 "LibraryMonitor.c" + } +#line 313 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_assert (_tmp21_, "representation != null && !ignore"); +#line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = representing; +#line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = representation; +#line 314 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_add_to_discovered_list (self, _tmp24_, _tmp25_); +#line 2441 "LibraryMonitor.c" + } else { + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = ignore; +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp28_) { +#line 2450 "LibraryMonitor.c" + TombstoneSourceCollection* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = tombstone_global; +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp30_ = file; +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp31_ = tombstone_source_collection_matches (_tmp29_, _tmp30_); +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = !_tmp31_; +#line 2462 "LibraryMonitor.c" + } else { +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = FALSE; +#line 2466 "LibraryMonitor.c" + } +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp27_) { +#line 2470 "LibraryMonitor.c" + GFile* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp32_ = file; +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp33_ = library_monitor_is_supported_filetype (self, _tmp32_); +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = _tmp33_; +#line 2479 "LibraryMonitor.c" + } else { +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = FALSE; +#line 2483 "LibraryMonitor.c" + } +#line 315 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp26_) { +#line 2487 "LibraryMonitor.c" + GeeHashSet* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; +#line 316 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp34_ = self->priv->unknown_files; +#line 316 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp35_ = file; +#line 316 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp35_); +#line 2496 "LibraryMonitor.c" + } + } +#line 319 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = file; +#line 319 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp37_ = info; +#line 319 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->file_discovered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp36_, _tmp37_); +#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (representing); +#line 293 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (representation); +#line 2509 "LibraryMonitor.c" +} + + +static void library_monitor_real_discovery_completed (DirectoryMonitor* base) { + LibraryMonitor * self; +#line 322 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 323 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_async_discovery_completed (self, NULL, NULL); +#line 2519 "LibraryMonitor.c" +} + + +static void library_monitor_async_discovery_completed_data_free (gpointer _data) { + LibraryMonitorAsyncDiscoveryCompletedData* _data_; + _data_ = _data; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->self); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_slice_free (LibraryMonitorAsyncDiscoveryCompletedData, _data_); +#line 2530 "LibraryMonitor.c" +} + + +static void library_monitor_async_discovery_completed (LibraryMonitor* self, GAsyncReadyCallback _callback_, gpointer _user_data_) { + LibraryMonitorAsyncDiscoveryCompletedData* _data_; + LibraryMonitor* _tmp0_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_ = g_slice_new0 (LibraryMonitorAsyncDiscoveryCompletedData); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, library_monitor_async_discovery_completed); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, library_monitor_async_discovery_completed_data_free); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = _g_object_ref0 (self); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->self = _tmp0_; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_async_discovery_completed_co (_data_); +#line 2549 "LibraryMonitor.c" +} + + +static void library_monitor_async_discovery_completed_finish (LibraryMonitor* self, GAsyncResult* _res_) { + LibraryMonitorAsyncDiscoveryCompletedData* _data_; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); +#line 2557 "LibraryMonitor.c" +} + + +static gboolean _library_monitor_async_discovery_completed_co_gsource_func (gpointer self) { + gboolean result; + result = library_monitor_async_discovery_completed_co (self); +#line 378 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 2566 "LibraryMonitor.c" +} + + +static gboolean library_monitor_async_discovery_completed_co (LibraryMonitorAsyncDiscoveryCompletedData* _data_) { +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + switch (_data_->_state_) { +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + case 0: +#line 2575 "LibraryMonitor.c" + goto _state_0; +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + case 1: +#line 2579 "LibraryMonitor.c" + goto _state_1; + default: +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_assert_not_reached (); +#line 2584 "LibraryMonitor.c" + } + _state_0: +#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp0_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp0_ = _data_->self->priv->unknown_files; +#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp1_ = 0; +#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp2_ = 0; +#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp2_ = _data_->_tmp1_; +#line 331 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp2_ == 0) { +#line 332 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_discovery_stage_completed (_data_->self); +#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_state_ == 0) { +#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 2607 "LibraryMonitor.c" + } else { +#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 2611 "LibraryMonitor.c" + } +#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 334 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return FALSE; +#line 2617 "LibraryMonitor.c" + } +#line 337 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp3_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp3_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 337 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->all_candidates = _data_->_tmp3_; +#line 338 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp4_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp4_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); +#line 338 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->adopted = _data_->_tmp4_; +#line 2631 "LibraryMonitor.c" + { +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp5_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp5_ = _data_->self->priv->unknown_files; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp6_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp6_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp5_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_file_it = _data_->_tmp6_; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp7_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp7_ = _data_->_file_it; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp8_ = FALSE; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp8_ = gee_iterator_next (_data_->_tmp7_); +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_data_->_tmp8_) { +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2657 "LibraryMonitor.c" + } +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp9_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp9_ = _data_->_file_it; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp10_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp10_ = gee_iterator_get (_data_->_tmp9_); +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->file = (GFile*) _data_->_tmp10_; +#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp11_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp11_ = _data_->file; +#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp12_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp12_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _data_->_tmp11_); +#line 340 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->info = _data_->_tmp12_; +#line 341 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp13_ = NULL; +#line 341 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp13_ = _data_->info; +#line 341 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp13_ == NULL) { +#line 342 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 342 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->file); +#line 342 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 2691 "LibraryMonitor.c" + } +#line 345 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp14_ = NULL; +#line 345 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp14_ = _data_->all_candidates; +#line 345 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 347 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->candidates = NULL; +#line 348 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->associated = FALSE; +#line 2703 "LibraryMonitor.c" + { +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp15_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp15_ = _data_->self->priv->monitors; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp16_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp16_ = _g_object_ref0 (_data_->_tmp15_); +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_monitor_list = _data_->_tmp16_; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp17_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp17_ = _data_->_monitor_list; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp18_ = 0; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp19_ = 0; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp19_ = _data_->_tmp18_; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_monitor_size = _data_->_tmp19_; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_monitor_index = -1; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp20_ = 0; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp20_ = _data_->_monitor_index; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_monitor_index = _data_->_tmp20_ + 1; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp21_ = 0; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp21_ = _data_->_monitor_index; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp22_ = 0; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp22_ = _data_->_monitor_size; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_data_->_tmp21_ < _data_->_tmp22_)) { +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2751 "LibraryMonitor.c" + } +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp23_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp23_ = _data_->_monitor_list; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp24_ = 0; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp24_ = _data_->_monitor_index; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp25_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp25_ = gee_list_get (_data_->_tmp23_, _data_->_tmp24_); +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->monitor = (MediaMonitor*) _data_->_tmp25_; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp26_ = NULL; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp26_ = _data_->monitor; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp27_ = NULL; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp27_ = _data_->file; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp28_ = NULL; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp28_ = _data_->info; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp29_ = 0; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp30_ = NULL; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp30_ = media_monitor_candidates_for_unknown_file (_data_->_tmp26_, _data_->_tmp27_, _data_->_tmp28_, &_data_->_tmp29_); +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_result_ = _data_->_tmp29_; +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->candidates); +#line 351 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->candidates = _data_->_tmp30_; +#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp32_ = 0; +#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp32_ = _data_->_result_; +#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp32_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) { +#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp31_ = TRUE; +#line 2799 "LibraryMonitor.c" + } else { +#line 353 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp33_ = 0; +#line 353 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp33_ = _data_->_result_; +#line 353 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp31_ = _data_->_tmp33_ == MEDIA_MONITOR_DISCOVERED_FILE_IGNORE; +#line 2807 "LibraryMonitor.c" + } +#line 352 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp31_) { +#line 354 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->associated = TRUE; +#line 356 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->monitor); +#line 356 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 2817 "LibraryMonitor.c" + } else { +#line 357 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp34_ = NULL; +#line 357 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp34_ = _data_->candidates; +#line 357 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp34_ != NULL) { +#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp35_ = NULL; +#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp35_ = _data_->all_candidates; +#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp36_ = NULL; +#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp36_ = _data_->candidates; +#line 358 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_array_list_add_all (_data_->_tmp35_, _data_->_tmp36_); +#line 2835 "LibraryMonitor.c" + } + } +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->monitor); +#line 2840 "LibraryMonitor.c" + } +#line 349 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->_monitor_list); +#line 2844 "LibraryMonitor.c" + } +#line 362 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp37_ = FALSE; +#line 362 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp37_ = _data_->associated; +#line 362 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp37_) { +#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp38_ = NULL; +#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp38_ = _data_->adopted; +#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp39_ = NULL; +#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp39_ = _data_->file; +#line 363 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp38_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _data_->_tmp39_); +#line 365 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->candidates); +#line 365 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 365 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->file); +#line 365 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 2870 "LibraryMonitor.c" + } +#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp40_ = NULL; +#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp40_ = _data_->all_candidates; +#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp41_ = 0; +#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp41_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp40_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp42_ = 0; +#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp42_ = _data_->_tmp41_; +#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp42_ > 0) { +#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp43_ = NULL; +#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp43_ = _data_->all_candidates; +#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp44_ = NULL; +#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp44_ = _g_object_ref0 (_data_->_tmp43_); +#line 371 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->job_candidates = _data_->_tmp44_; +#line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp45_ = NULL; +#line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp45_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->all_candidates); +#line 372 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->all_candidates = _data_->_tmp45_; +#line 374 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp46_ = 0; +#line 374 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp46_ = _data_->self->priv->checksums_total; +#line 374 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->self->priv->checksums_total = _data_->_tmp46_ + 1; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp47_ = NULL; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp47_ = _data_->self->priv->workers; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp48_ = NULL; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp48_ = _data_->file; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp49_ = NULL; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp49_ = _data_->job_candidates; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp50_ = NULL; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp50_ = library_monitor_find_move_job_new (_data_->self, _data_->_tmp48_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp49_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp51_ = NULL; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp51_ = _data_->_tmp50_; +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + workers_enqueue (_data_->_tmp47_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp51_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 375 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _background_job_unref0 (_data_->_tmp51_); +#line 369 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->job_candidates); +#line 2936 "LibraryMonitor.c" + } +#line 378 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _library_monitor_async_discovery_completed_co_gsource_func, _data_, NULL); +#line 379 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_state_ = 1; +#line 379 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return FALSE; +#line 2944 "LibraryMonitor.c" + _state_1: + ; +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->candidates); +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->file); +#line 2953 "LibraryMonitor.c" + } +#line 339 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->_file_it); +#line 2957 "LibraryMonitor.c" + } +#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp52_ = NULL; +#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp52_ = _data_->self->priv->unknown_files; +#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp53_ = NULL; +#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp53_ = _data_->adopted; +#line 383 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp52_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp53_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 385 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->self->priv->checksums_completed = 0; +#line 387 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp54_ = 0; +#line 387 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp54_ = _data_->self->priv->checksums_total; +#line 387 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp54_ == 0) { +#line 388 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_discovery_stage_completed (_data_->self); +#line 2979 "LibraryMonitor.c" + } else { +#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp55_ = 0; +#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp55_ = _data_->self->priv->checksums_total; +#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp56_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp56_ = g_strdup_printf ("%d checksum jobs initiated to verify unknown photo files", _data_->_tmp55_); +#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp57_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp57_ = _data_->_tmp56_; +#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_data_->_tmp57_); +#line 390 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_data_->_tmp57_); +#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp58_ = 0; +#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp58_ = _data_->self->priv->checksums_completed; +#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp59_ = 0; +#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp59_ = _data_->self->priv->checksums_total; +#line 391 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_emit_by_name (_data_->self, "auto-update-progress", _data_->_tmp58_, _data_->_tmp59_); +#line 3007 "LibraryMonitor.c" + } +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->adopted); +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->all_candidates); +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_state_ == 0) { +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 3017 "LibraryMonitor.c" + } else { +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 3021 "LibraryMonitor.c" + } +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 326 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return FALSE; +#line 3027 "LibraryMonitor.c" +} + + +static void library_monitor_report_checksum_job_completed (LibraryMonitor* self) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 395 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 396 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->checksums_completed; +#line 396 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->checksums_total; +#line 396 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_assert (_tmp0_ < _tmp1_, "checksums_completed < checksums_total"); +#line 397 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = self->priv->checksums_completed; +#line 397 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->checksums_completed = _tmp2_ + 1; +#line 399 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = self->priv->checksums_completed; +#line 399 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = self->priv->checksums_total; +#line 399 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_emit_by_name (self, "auto-update-progress", _tmp3_, _tmp4_); +#line 401 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = self->priv->checksums_completed; +#line 401 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = self->priv->checksums_total; +#line 401 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp5_ == _tmp6_) { +#line 402 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_discovery_stage_completed (self); +#line 3065 "LibraryMonitor.c" + } +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self ? background_job_ref (self) : NULL; +#line 3073 "LibraryMonitor.c" +} + + +static void library_monitor_on_find_move_completed (LibraryMonitor* self, BackgroundJob* j) { + LibraryMonitorFindMoveJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + LibraryMonitorFindMoveJob* _tmp1_ = NULL; + LibraryMonitorFindMoveJob* _tmp2_ = NULL; + Monitorable* _tmp3_ = NULL; + LibraryMonitorFindMoveJob* _tmp28_ = NULL; + GError* _tmp29_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 405 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = j; +#line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob)); +#line 406 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + job = _tmp1_; +#line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = job; +#line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_->match; +#line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp3_ != NULL) { +#line 3101 "LibraryMonitor.c" + LibraryMonitorFindMoveJob* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + LibraryMonitorFindMoveJob* _tmp8_ = NULL; + Monitorable* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + MediaMonitor* monitor = NULL; + LibraryMonitorFindMoveJob* _tmp14_ = NULL; + Monitorable* _tmp15_ = NULL; + MediaMonitor* _tmp16_ = NULL; + MediaMonitor* _tmp17_ = NULL; + LibraryMonitorFindMoveJob* _tmp18_ = NULL; + Monitorable* _tmp19_ = NULL; + LibraryMonitorFindMoveJob* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GeeHashSet* _tmp22_ = NULL; + LibraryMonitorFindMoveJob* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + MediaMonitor* _tmp25_ = NULL; + LibraryMonitorFindMoveJob* _tmp26_ = NULL; + Monitorable* _tmp27_ = NULL; +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = job; +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _tmp4_->file; +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _tmp6_; +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = job; +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _tmp8_->match; +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject)); +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = _tmp10_; +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = g_strdup_printf ("Found moved master file: %s matches %s", _tmp7_, _tmp11_); +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = _tmp12_; +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp13_); +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp13_); +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp11_); +#line 412 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp7_); +#line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = job; +#line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = _tmp14_->match; +#line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = library_monitor_get_monitor_for_monitorable (self, _tmp15_); +#line 415 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = _tmp16_; +#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = monitor; +#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = job; +#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = _tmp18_->match; +#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = job; +#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = _tmp20_->file; +#line 416 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + media_monitor_update_master_file (_tmp17_, _tmp19_, _tmp21_); +#line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = self->priv->unknown_files; +#line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = job; +#line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = _tmp23_->file; +#line 417 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp24_); +#line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = monitor; +#line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = job; +#line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = _tmp26_->match; +#line 418 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_add_to_discovered_list (self, _tmp25_, _tmp27_); +#line 411 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 3193 "LibraryMonitor.c" + } +#line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = job; +#line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = _tmp28_->err; +#line 421 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp29_ != NULL) { +#line 3201 "LibraryMonitor.c" + LibraryMonitorFindMoveJob* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + LibraryMonitorFindMoveJob* _tmp34_ = NULL; + GError* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp30_ = job; +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp31_ = _tmp30_->file; +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp32_ = g_file_get_path (_tmp31_); +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp33_ = _tmp32_; +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp34_ = job; +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp35_ = _tmp34_->err; +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = _tmp35_->message; +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_warning ("LibraryMonitor.vala:422: Unable to checksum unknown media file %s: %s", _tmp33_, _tmp36_); +#line 422 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp33_); +#line 3227 "LibraryMonitor.c" + } +#line 424 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_report_checksum_job_completed (self); +#line 405 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _background_job_unref0 (job); +#line 3233 "LibraryMonitor.c" +} + + +static void library_monitor_on_find_move_cancelled (LibraryMonitor* self, BackgroundJob* j) { +#line 427 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 427 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 428 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_report_checksum_job_completed (self); +#line 3244 "LibraryMonitor.c" +} + + +static void library_monitor_discovery_stage_completed (LibraryMonitor* self) { + gboolean _tmp65_ = FALSE; + TombstoneSourceCollection* _tmp67_ = NULL; + GCancellable* _tmp68_ = NULL; +#line 431 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 3254 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _monitor_index = 0; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->monitors; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp1_; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = _monitor_list; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp4_; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 3282 "LibraryMonitor.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + GeeSet* monitorables = NULL; + GeeHashMap* _tmp11_ = NULL; + MediaMonitor* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + GeeSet* _tmp14_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _monitor_index; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp5_ + 1; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _monitor_index; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _monitor_size; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp6_ < _tmp7_)) { +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 3307 "LibraryMonitor.c" + } +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _monitor_list; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_index; +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = gee_list_get (_tmp8_, _tmp9_); +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp10_; +#line 433 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = self->priv->discovered; +#line 433 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = monitor; +#line 433 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_); +#line 433 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitorables = (GeeSet*) _tmp13_; +#line 434 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = monitorables; +#line 434 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp14_ != NULL) { +#line 3329 "LibraryMonitor.c" + { + GeeIterator* _monitorable_it = NULL; + GeeSet* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = monitorables; +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitorable_it = _tmp16_; +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 3342 "LibraryMonitor.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + Monitorable* monitorable = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + Monitorable* _tmp21_ = NULL; + MediaMonitor* _tmp22_ = NULL; +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = _monitorable_it; +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp18_) { +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 3358 "LibraryMonitor.c" + } +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = _monitorable_it; +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitorable = (Monitorable*) _tmp20_; +#line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = monitorable; +#line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = monitor; +#line 436 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_enqueue_verify_monitorable (self, _tmp21_, _tmp22_); +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitorable); +#line 3374 "LibraryMonitor.c" + } +#line 435 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitorable_it); +#line 3378 "LibraryMonitor.c" + } + } + { + GeeIterator* _object_it = NULL; + MediaMonitor* _tmp23_ = NULL; + MediaSourceCollection* _tmp24_ = NULL; + MediaSourceCollection* _tmp25_ = NULL; + GeeCollection* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; + GeeIterator* _tmp28_ = NULL; + GeeIterator* _tmp29_ = NULL; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = monitor; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = media_monitor_get_media_source_collection (_tmp23_); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = _tmp24_; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_COLLECTION, DataCollection)); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = _tmp26_; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = _tmp28_; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp27_); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_collection_unref0 (_tmp25_); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _object_it = _tmp29_; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 3412 "LibraryMonitor.c" + GeeIterator* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp32_ = NULL; + gpointer _tmp33_ = NULL; + Monitorable* monitorable = NULL; + DataObject* _tmp34_ = NULL; + Monitorable* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + GeeSet* _tmp37_ = NULL; + Monitorable* _tmp41_ = NULL; + MediaMonitor* _tmp42_ = NULL; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp30_ = _object_it; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp31_ = gee_iterator_next (_tmp30_); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp31_) { +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 3433 "LibraryMonitor.c" + } +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp32_ = _object_it; +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp33_ = gee_iterator_get (_tmp32_); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + object = (DataObject*) _tmp33_; +#line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp34_ = object; +#line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp35_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_MONITORABLE, Monitorable)); +#line 440 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitorable = _tmp35_; +#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp37_ = monitorables; +#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp37_ != NULL) { +#line 3451 "LibraryMonitor.c" + GeeSet* _tmp38_ = NULL; + Monitorable* _tmp39_ = NULL; + gboolean _tmp40_ = FALSE; +#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp38_ = monitorables; +#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp39_ = monitorable; +#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp40_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_COLLECTION, GeeCollection), _tmp39_); +#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = _tmp40_; +#line 3463 "LibraryMonitor.c" + } else { +#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = FALSE; +#line 3467 "LibraryMonitor.c" + } +#line 442 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp36_) { +#line 443 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitorable); +#line 443 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (object); +#line 443 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 3477 "LibraryMonitor.c" + } +#line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp41_ = monitorable; +#line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp42_ = monitor; +#line 445 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_enqueue_verify_monitorable (self, _tmp41_, _tmp42_); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitorable); +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (object); +#line 3489 "LibraryMonitor.c" + } +#line 439 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_object_it); +#line 3493 "LibraryMonitor.c" + } + { + GeeIterator* _source_it = NULL; + MediaMonitor* _tmp43_ = NULL; + MediaSourceCollection* _tmp44_ = NULL; + MediaSourceCollection* _tmp45_ = NULL; + MediaSourceHoldingTank* _tmp46_ = NULL; + MediaSourceHoldingTank* _tmp47_ = NULL; + GeeCollection* _tmp48_ = NULL; + GeeCollection* _tmp49_ = NULL; + GeeIterator* _tmp50_ = NULL; + GeeIterator* _tmp51_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp43_ = monitor; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp44_ = media_monitor_get_media_source_collection (_tmp43_); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp45_ = _tmp44_; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp46_ = media_source_collection_get_offline_bin (_tmp45_); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp47_ = _tmp46_; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp48_ = source_holding_tank_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp49_ = _tmp48_; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp50_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp51_ = _tmp50_; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp49_); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _source_holding_tank_unref0 (_tmp47_); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_collection_unref0 (_tmp45_); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _source_it = _tmp51_; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 3534 "LibraryMonitor.c" + GeeIterator* _tmp52_ = NULL; + gboolean _tmp53_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp54_ = NULL; + gpointer _tmp55_ = NULL; + Monitorable* monitorable = NULL; + DataSource* _tmp56_ = NULL; + Monitorable* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; + GeeSet* _tmp59_ = NULL; + Monitorable* _tmp63_ = NULL; + MediaMonitor* _tmp64_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp52_ = _source_it; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp53_ = gee_iterator_next (_tmp52_); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp53_) { +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 3555 "LibraryMonitor.c" + } +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp54_ = _source_it; +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp55_ = gee_iterator_get (_tmp54_); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + source = (DataSource*) _tmp55_; +#line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp56_ = source; +#line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp57_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_MONITORABLE, Monitorable)); +#line 450 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitorable = _tmp57_; +#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp59_ = monitorables; +#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp59_ != NULL) { +#line 3573 "LibraryMonitor.c" + GeeSet* _tmp60_ = NULL; + Monitorable* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; +#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp60_ = monitorables; +#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp61_ = monitorable; +#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp62_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, GEE_TYPE_COLLECTION, GeeCollection), _tmp61_); +#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp58_ = _tmp62_; +#line 3585 "LibraryMonitor.c" + } else { +#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp58_ = FALSE; +#line 3589 "LibraryMonitor.c" + } +#line 452 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp58_) { +#line 453 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitorable); +#line 453 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (source); +#line 453 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 3599 "LibraryMonitor.c" + } +#line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp63_ = monitorable; +#line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp64_ = monitor; +#line 455 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_enqueue_verify_monitorable (self, _tmp63_, _tmp64_); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitorable); +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (source); +#line 3611 "LibraryMonitor.c" + } +#line 448 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_source_it); +#line 3615 "LibraryMonitor.c" + } +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitorables); +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 3621 "LibraryMonitor.c" + } +#line 432 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 3625 "LibraryMonitor.c" + } +#line 460 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp65_ = self->priv->auto_import; +#line 460 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp65_) { +#line 3631 "LibraryMonitor.c" + GeeHashSet* _tmp66_ = NULL; +#line 461 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp66_ = self->priv->unknown_files; +#line 461 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_enqueue_import_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 3637 "LibraryMonitor.c" + } +#line 464 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->discovered); +#line 464 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->discovered = NULL; +#line 465 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->unknown_files); +#line 465 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->unknown_files = NULL; +#line 469 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp67_ = tombstone_global; +#line 469 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp68_ = self->priv->cancellable; +#line 469 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + tombstone_source_collection_launch_scan (_tmp67_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp68_); +#line 472 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->discovery_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 3655 "LibraryMonitor.c" +} + + +static void library_monitor_enqueue_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor) { + gboolean offered = FALSE; + GeeQueue* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; + MediaMonitor* _tmp2_ = NULL; + LibraryMonitorVerifyJob* _tmp3_ = NULL; + LibraryMonitorVerifyJob* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 475 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 475 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 475 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (monitor)); +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->verify_queue; +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = monitorable; +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = monitor; +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = library_monitor_verify_job_new (_tmp1_, _tmp2_); +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = gee_queue_offer (_tmp0_, _tmp4_); +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _tmp5_; +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _library_monitor_verify_job_unref0 (_tmp4_); +#line 476 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + offered = _tmp6_; +#line 477 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_assert (offered, "offered"); +#line 479 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_execute_next_verify_job (self); +#line 3696 "LibraryMonitor.c" +} + + +static void library_monitor_execute_next_verify_job (LibraryMonitor* self) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + LibraryMonitorVerifyJob* job = NULL; + GeeQueue* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + LibraryMonitorVerifyJob* _tmp7_ = NULL; + gint _tmp8_ = 0; + LibraryMonitorVerifyJob* _tmp9_ = NULL; + Monitorable* _tmp10_ = NULL; + LibraryMonitorVerifyJob* _tmp11_ = NULL; + MediaMonitor* _tmp12_ = NULL; +#line 482 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->outstanding_verify_jobs; +#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_ >= LIBRARY_MONITOR_MAX_VERIFY_EXISTING_MEDIA_JOBS) { +#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = TRUE; +#line 3720 "LibraryMonitor.c" + } else { + GeeQueue* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = self->priv->verify_queue; +#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = _tmp4_ == 0; +#line 3733 "LibraryMonitor.c" + } +#line 483 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_) { +#line 484 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 3739 "LibraryMonitor.c" + } +#line 486 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = self->priv->verify_queue; +#line 486 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = gee_queue_poll (_tmp5_); +#line 486 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + job = (LibraryMonitorVerifyJob*) _tmp6_; +#line 487 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = job; +#line 487 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_assert (_tmp7_ != NULL, "job != null"); +#line 489 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = self->priv->outstanding_verify_jobs; +#line 489 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->outstanding_verify_jobs = _tmp8_ + 1; +#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = job; +#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _tmp9_->monitorable; +#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = job; +#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _tmp11_->monitor; +#line 490 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_verify_monitorable (self, _tmp10_, _tmp12_, NULL, NULL); +#line 482 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _library_monitor_verify_job_unref0 (job); +#line 3767 "LibraryMonitor.c" +} + + +static void library_monitor_verify_monitorable_data_free (gpointer _data) { + LibraryMonitorVerifyMonitorableData* _data_; + _data_ = _data; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->monitorable); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->monitor); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->self); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_slice_free (LibraryMonitorVerifyMonitorableData, _data_); +#line 3782 "LibraryMonitor.c" +} + + +static void library_monitor_verify_monitorable (LibraryMonitor* self, Monitorable* monitorable, MediaMonitor* monitor, GAsyncReadyCallback _callback_, gpointer _user_data_) { + LibraryMonitorVerifyMonitorableData* _data_; + LibraryMonitor* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; + Monitorable* _tmp2_ = NULL; + MediaMonitor* _tmp3_ = NULL; + MediaMonitor* _tmp4_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_ = g_slice_new0 (LibraryMonitorVerifyMonitorableData); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, library_monitor_verify_monitorable); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, library_monitor_verify_monitorable_data_free); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = _g_object_ref0 (self); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->self = _tmp0_; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = monitorable; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->monitorable); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->monitorable = _tmp2_; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = monitor; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->monitor); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->monitor = _tmp4_; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_verify_monitorable_co (_data_); +#line 3821 "LibraryMonitor.c" +} + + +static void library_monitor_verify_monitorable_finish (LibraryMonitor* self, GAsyncResult* _res_) { + LibraryMonitorVerifyMonitorableData* _data_; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); +#line 3829 "LibraryMonitor.c" +} + + +static void _vala_array_add296 (GFile*** array, int* length, int* size, GFile* value) { +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if ((*length) == (*size)) { +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 3840 "LibraryMonitor.c" + } +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + (*array)[(*length)++] = value; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + (*array)[*length] = NULL; +#line 3846 "LibraryMonitor.c" +} + + +static void library_monitor_verify_monitorable_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { + LibraryMonitorVerifyMonitorableData* _data_; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_ = _user_data_; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_source_object_ = source_object; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_res_ = _res_; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_verify_monitorable_co (_data_); +#line 3860 "LibraryMonitor.c" +} + + +static gboolean _library_monitor_verify_monitorable_co_gsource_func (gpointer self) { + gboolean result; + result = library_monitor_verify_monitorable_co (self); +#line 530 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 3869 "LibraryMonitor.c" +} + + +static gboolean library_monitor_verify_monitorable_co (LibraryMonitorVerifyMonitorableData* _data_) { +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + switch (_data_->_state_) { +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + case 0: +#line 3878 "LibraryMonitor.c" + goto _state_0; +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + case 1: +#line 3882 "LibraryMonitor.c" + goto _state_1; +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + case 2: +#line 3886 "LibraryMonitor.c" + goto _state_2; + default: +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_assert_not_reached (); +#line 3891 "LibraryMonitor.c" + } + _state_0: +#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp0_ = NULL; +#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp0_ = g_new0 (GFile*, 1 + 1); +#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->files_length1 = 0; +#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_files_size_ = 0; +#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->files = _data_->_tmp0_; +#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->files_length1 = 1; +#line 494 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_files_size_ = _data_->files_length1; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp1_ = NULL; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp1__length1 = 0; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp1_ = _data_->files; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp1__length1 = _data_->files_length1; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp2_ = NULL; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp2_ = _data_->monitor; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp3_ = NULL; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp3_ = _data_->monitorable; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp4_ = NULL; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp4_ = media_monitor_get_master_file (_data_->_tmp2_, _data_->_tmp3_); +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->_tmp1_[0]); +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp1_[0] = _data_->_tmp4_; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp5_ = NULL; +#line 495 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp5_ = _data_->_tmp1_[0]; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp6_ = NULL; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp6_ = _data_->monitor; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp7_ = NULL; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp7_ = _data_->monitorable; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp8_ = 0; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp9_ = NULL; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp9_ = media_monitor_get_auxilliary_backing_files (_data_->_tmp6_, _data_->_tmp7_, &_data_->_tmp8_); +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_files_length1 = 0; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_aux_files_size_ = 0; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_files = _data_->_tmp9_; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_files_length1 = _data_->_tmp8_; +#line 497 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_aux_files_size_ = _data_->aux_files_length1; +#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp10_ = NULL; +#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp10__length1 = 0; +#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp10_ = _data_->aux_files; +#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp10__length1 = _data_->aux_files_length1; +#line 498 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp10_ != NULL) { +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp11_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp11__length1 = 0; +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp11_ = _data_->aux_files; +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp11__length1 = _data_->aux_files_length1; +#line 3978 "LibraryMonitor.c" + { +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_file_collection_length1 = 0; +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_aux_file_collection_size_ = 0; +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_file_collection = _data_->_tmp11_; +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_file_collection_length1 = _data_->_tmp11__length1; +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + for (_data_->aux_file_it = 0; _data_->aux_file_it < _data_->_tmp11__length1; _data_->aux_file_it = _data_->aux_file_it + 1) { +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp12_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp12_ = _g_object_ref0 (_data_->aux_file_collection[_data_->aux_file_it]); +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_file = _data_->_tmp12_; +#line 3996 "LibraryMonitor.c" + { +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp13_ = NULL; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp13__length1 = 0; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp13_ = _data_->files; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp13__length1 = _data_->files_length1; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp14_ = NULL; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp14_ = _data_->aux_file; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp15_ = NULL; +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp15_ = _g_object_ref0 (_data_->_tmp14_); +#line 500 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_array_add296 (&_data_->files, &_data_->files_length1, &_data_->_files_size_, _data_->_tmp15_); +#line 499 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->aux_file); +#line 4018 "LibraryMonitor.c" + } + } + } + } + { +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->ctr = 0; +#line 4026 "LibraryMonitor.c" + { +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp16_ = TRUE; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_data_->_tmp16_) { +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp17_ = 0; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp17_ = _data_->ctr; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->ctr = _data_->_tmp17_ + 1; +#line 4040 "LibraryMonitor.c" + } +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp16_ = FALSE; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp18_ = 0; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp18_ = _data_->ctr; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp19_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp19__length1 = 0; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp19_ = _data_->files; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp19__length1 = _data_->files_length1; +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_data_->_tmp18_ < _data_->_tmp19__length1)) { +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 4060 "LibraryMonitor.c" + } +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp20_ = NULL; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp20__length1 = 0; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp20_ = _data_->files; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp20__length1 = _data_->files_length1; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp21_ = 0; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp21_ = _data_->ctr; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp22_ = NULL; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp22_ = _data_->_tmp20_[_data_->_tmp21_]; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp23_ = NULL; +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp23_ = _g_object_ref0 (_data_->_tmp22_); +#line 504 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->file = _data_->_tmp23_; +#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp24_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp24_ = _data_->file; +#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp25_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp25_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _data_->_tmp24_); +#line 506 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->info = _data_->_tmp25_; +#line 507 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp26_ = NULL; +#line 507 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp26_ = _data_->info; +#line 507 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp26_ == NULL) { +#line 4100 "LibraryMonitor.c" + { +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp28_ = NULL; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp28_ = _data_->file; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp29_ = NULL; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp29_ = _data_->self->priv->cancellable; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_state_ = 1; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_file_query_info_async (_data_->_tmp28_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, DIRECTORY_MONITOR_FILE_INFO_FLAGS, DIRECTORY_MONITOR_DEFAULT_PRIORITY, _data_->_tmp29_, library_monitor_verify_monitorable_ready, _data_); +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return FALSE; +#line 4116 "LibraryMonitor.c" + _state_1: +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp30_ = NULL; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp30_ = g_file_query_info_finish (_data_->_tmp28_, _data_->_res_, &_data_->_inner_error_); +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp27_ = _data_->_tmp30_; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 4126 "LibraryMonitor.c" + goto __catch474_g_error; + } +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp31_ = NULL; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp31_ = _data_->_tmp27_; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp27_ = NULL; +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 509 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->info = _data_->_tmp31_; +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->_tmp27_); +#line 4141 "LibraryMonitor.c" + } + goto __finally474; + __catch474_g_error: + { +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->err = _data_->_inner_error_; +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_inner_error_ = NULL; +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_error_free0 (_data_->err); +#line 4152 "LibraryMonitor.c" + } + __finally474: +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->file); +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_files = (_vala_array_free (_data_->aux_files, _data_->aux_files_length1, (GDestroyNotify) g_object_unref), NULL); +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->files = (_vala_array_free (_data_->files, _data_->files_length1, (GDestroyNotify) g_object_unref), NULL); +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_data_->_inner_error_); +#line 508 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return FALSE; +#line 4171 "LibraryMonitor.c" + } + } +#line 517 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp32_ = 0; +#line 517 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp32_ = _data_->ctr; +#line 517 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp32_ == 0) { +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp34_ = NULL; +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp34_ = _data_->info; +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp34_ != NULL) { +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp35_ = NULL; +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp35_ = _data_->monitor; +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp36_ = NULL; +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp36_ = _data_->monitorable; +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp37_ = FALSE; +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp37_ = media_monitor_is_offline (_data_->_tmp35_, _data_->_tmp36_); +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp33_ = _data_->_tmp37_; +#line 4200 "LibraryMonitor.c" + } else { +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp33_ = FALSE; +#line 4204 "LibraryMonitor.c" + } +#line 518 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp33_) { +#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp38_ = NULL; +#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp38_ = _data_->monitor; +#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp39_ = NULL; +#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp39_ = _data_->monitorable; +#line 519 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + media_monitor_update_online (_data_->_tmp38_, _data_->_tmp39_); +#line 4218 "LibraryMonitor.c" + } else { +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp41_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp41_ = _data_->info; +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp41_ == NULL) { +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp42_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp42_ = _data_->monitor; +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp43_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp43_ = _data_->monitorable; +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp44_ = FALSE; +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp44_ = media_monitor_is_offline (_data_->_tmp42_, _data_->_tmp43_); +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp40_ = !_data_->_tmp44_; +#line 4240 "LibraryMonitor.c" + } else { +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp40_ = FALSE; +#line 4244 "LibraryMonitor.c" + } +#line 520 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_tmp40_) { +#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp45_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp45_ = _data_->monitor; +#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp46_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp46_ = _data_->monitorable; +#line 521 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + media_monitor_update_offline (_data_->_tmp45_, _data_->_tmp46_); +#line 4258 "LibraryMonitor.c" + } + } + } +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp47_ = NULL; +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp47_ = _data_->monitor; +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp48_ = NULL; +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp48_ = _data_->monitorable; +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp49_ = NULL; +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp49_ = _data_->file; +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp50_ = NULL; +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp50_ = _data_->info; +#line 524 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + media_monitor_update_backing_file_info (_data_->_tmp47_, _data_->_tmp48_, _data_->_tmp49_, _data_->_tmp50_); +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->info); +#line 503 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_data_->file); +#line 4284 "LibraryMonitor.c" + } + } + } +#line 527 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp51_ = 0; +#line 527 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp51_ = _data_->self->priv->completed_monitorable_verifies; +#line 527 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->self->priv->completed_monitorable_verifies = _data_->_tmp51_ + 1; +#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp52_ = 0; +#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp52_ = _data_->self->priv->completed_monitorable_verifies; +#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp53_ = 0; +#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp53_ = _data_->self->priv->total_monitorable_verifies; +#line 528 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_emit_by_name (_data_->self, "auto-update-progress", _data_->_tmp52_, _data_->_tmp53_); +#line 530 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_idle_add_full (DIRECTORY_MONITOR_DEFAULT_PRIORITY, _library_monitor_verify_monitorable_co_gsource_func, _data_, NULL); +#line 531 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_state_ = 2; +#line 531 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return FALSE; +#line 4310 "LibraryMonitor.c" + _state_2: + ; +#line 534 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp54_ = 0; +#line 534 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp54_ = _data_->self->priv->outstanding_verify_jobs; +#line 534 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_assert (_data_->_tmp54_ > 0, "outstanding_verify_jobs > 0"); +#line 535 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp55_ = 0; +#line 535 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->_tmp55_ = _data_->self->priv->outstanding_verify_jobs; +#line 535 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->self->priv->outstanding_verify_jobs = _data_->_tmp55_ - 1; +#line 537 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_execute_next_verify_job (_data_->self); +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->aux_files = (_vala_array_free (_data_->aux_files, _data_->aux_files_length1, (GDestroyNotify) g_object_unref), NULL); +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_->files = (_vala_array_free (_data_->files, _data_->files_length1, (GDestroyNotify) g_object_unref), NULL); +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_data_->_state_ == 0) { +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 4335 "LibraryMonitor.c" + } else { +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 4339 "LibraryMonitor.c" + } +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_object_unref (_data_->_async_result); +#line 493 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return FALSE; +#line 4345 "LibraryMonitor.c" +} + + +static void library_monitor_on_config_changed (LibraryMonitor* self) { + gboolean value = FALSE; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 540 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = config_facade_get_instance (); +#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _tmp0_; +#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = configuration_facade_get_auto_import_from_library (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_; +#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp1_); +#line 541 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value = _tmp3_; +#line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = self->priv->auto_import; +#line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = value; +#line 543 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp4_ == _tmp5_) { +#line 544 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 4381 "LibraryMonitor.c" + } +#line 546 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = value; +#line 546 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->auto_import = _tmp6_; +#line 547 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = self->priv->auto_import; +#line 547 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp7_) { +#line 4391 "LibraryMonitor.c" + gboolean _tmp8_ = FALSE; +#line 548 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = commandline_options_no_runtime_monitoring; +#line 548 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp8_) { +#line 549 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_import_unrepresented_files (self); +#line 4399 "LibraryMonitor.c" + } + } else { +#line 551 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_cancel_batch_imports (self); +#line 4404 "LibraryMonitor.c" + } +} + + +static void library_monitor_enqueue_import (LibraryMonitor* self, GFile* file) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GeeHashSet* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 555 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 555 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = self->priv->pending_imports; +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = file; +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp3_); +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp4_) { +#line 4427 "LibraryMonitor.c" + GFile* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = file; +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = library_monitor_is_supported_filetype (self, _tmp5_); +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _tmp6_; +#line 4436 "LibraryMonitor.c" + } else { +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = FALSE; +#line 4440 "LibraryMonitor.c" + } +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 4444 "LibraryMonitor.c" + GFile* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = file; +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = library_monitor_is_blacklisted (_tmp7_); +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = !_tmp8_; +#line 4453 "LibraryMonitor.c" + } else { +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = FALSE; +#line 4457 "LibraryMonitor.c" + } +#line 556 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_) { +#line 4461 "LibraryMonitor.c" + GeeHashSet* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = self->priv->import_queue; +#line 557 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = file; +#line 557 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 4470 "LibraryMonitor.c" + } +} + + +static void library_monitor_enqueue_import_many (LibraryMonitor* self, GeeCollection* files) { +#line 560 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 560 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (GEE_IS_COLLECTION (files)); +#line 4480 "LibraryMonitor.c" + { + GeeIterator* _file_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = files; +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _file_it = _tmp1_; +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 4493 "LibraryMonitor.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = _file_it; +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp3_) { +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 4508 "LibraryMonitor.c" + } +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _file_it; +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + file = (GFile*) _tmp5_; +#line 562 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = file; +#line 562 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_enqueue_import (self, _tmp6_); +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 4522 "LibraryMonitor.c" + } +#line 561 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_file_it); +#line 4526 "LibraryMonitor.c" + } +} + + +static void library_monitor_remove_queued_import (LibraryMonitor* self, GFile* file) { + GeeHashSet* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 565 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 566 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->import_queue; +#line 566 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = file; +#line 566 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 4544 "LibraryMonitor.c" +} + + +static gboolean library_monitor_on_flush_import_queue (LibraryMonitor* self) { + gboolean result = FALSE; + GCancellable* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeHashSet* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + BatchImport* _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + time_t now = 0; + gulong _tmp11_ = 0UL; + gboolean _tmp12_ = FALSE; + BatchImportRoll* _tmp13_ = NULL; + time_t _tmp17_ = 0; + GeeArrayList* jobs = NULL; + GeeArrayList* _tmp18_ = NULL; + GeeHashSet* _tmp33_ = NULL; + BatchImport* importer = NULL; + GeeArrayList* _tmp34_ = NULL; + BatchImportRoll* _tmp35_ = NULL; + BatchImport* _tmp36_ = NULL; + BatchImport* _tmp37_ = NULL; + BatchImport* _tmp38_ = NULL; + GeeArrayList* _tmp39_ = NULL; + BatchImport* _tmp40_ = NULL; +#line 569 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_MONITOR (self), FALSE); +#line 570 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->cancellable; +#line 570 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = g_cancellable_is_cancelled (_tmp0_); +#line 570 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 571 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = FALSE; +#line 571 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 4589 "LibraryMonitor.c" + } +#line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = self->priv->import_queue; +#line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 573 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp4_ == 0) { +#line 574 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = TRUE; +#line 574 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 4603 "LibraryMonitor.c" + } +#line 578 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = self->priv->current_batch_import; +#line 578 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp5_ != NULL) { +#line 579 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = TRUE; +#line 579 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 4613 "LibraryMonitor.c" + } +#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = self->priv->import_queue; +#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _tmp7_; +#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = g_strdup_printf ("Auto-importing %d files", _tmp8_); +#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _tmp9_; +#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp10_); +#line 581 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp10_); +#line 586 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = now_sec (); +#line 586 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + now = (time_t) _tmp11_; +#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = self->priv->current_import_roll; +#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp13_ == NULL) { +#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = TRUE; +#line 4639 "LibraryMonitor.c" + } else { + time_t _tmp14_ = 0; + time_t _tmp15_ = 0; +#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = now; +#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = self->priv->last_import_roll_use; +#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = (_tmp14_ - _tmp15_) >= ((time_t) LIBRARY_MONITOR_IMPORT_ROLL_QUIET_SEC); +#line 4649 "LibraryMonitor.c" + } +#line 587 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp12_) { +#line 4653 "LibraryMonitor.c" + BatchImportRoll* _tmp16_ = NULL; +#line 588 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = batch_import_roll_new (); +#line 588 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _batch_import_roll_unref0 (self->priv->current_import_roll); +#line 588 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->current_import_roll = _tmp16_; +#line 4661 "LibraryMonitor.c" + } +#line 589 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = now; +#line 589 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->last_import_roll_use = _tmp17_; +#line 591 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = gee_array_list_new (TYPE_BATCH_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL); +#line 591 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + jobs = _tmp18_; +#line 4671 "LibraryMonitor.c" + { + GeeIterator* _file_it = NULL; + GeeHashSet* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = self->priv->import_queue; +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _file_it = _tmp20_; +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 4684 "LibraryMonitor.c" + GeeIterator* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + GeeArrayList* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + FileImportJob* _tmp29_ = NULL; + FileImportJob* _tmp30_ = NULL; + GeeHashSet* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = _file_it; +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = gee_iterator_next (_tmp21_); +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp22_) { +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 4706 "LibraryMonitor.c" + } +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = _file_it; +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = gee_iterator_get (_tmp23_); +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + file = (GFile*) _tmp24_; +#line 593 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = file; +#line 593 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = library_monitor_is_blacklisted (_tmp25_); +#line 593 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp26_) { +#line 594 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 594 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 4724 "LibraryMonitor.c" + } +#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = jobs; +#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = file; +#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = file_import_job_new (_tmp28_, FALSE); +#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp30_ = _tmp29_; +#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_BATCH_IMPORT_JOB, BatchImportJob)); +#line 596 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _batch_import_job_unref0 (_tmp30_); +#line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp31_ = self->priv->pending_imports; +#line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp32_ = file; +#line 597 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp32_); +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 4746 "LibraryMonitor.c" + } +#line 592 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_file_it); +#line 4750 "LibraryMonitor.c" + } +#line 600 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp33_ = self->priv->import_queue; +#line 600 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp34_ = jobs; +#line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp35_ = self->priv->current_import_roll; +#line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ITERABLE, GeeIterable), "LibraryMonitor autoimport", NULL, NULL, NULL, NULL, NULL, _tmp35_, NULL); +#line 602 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + importer = _tmp36_; +#line 604 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp37_ = importer; +#line 604 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + batch_import_set_untrash_duplicates (_tmp37_, FALSE); +#line 605 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp38_ = importer; +#line 605 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + batch_import_set_mark_duplicates_online (_tmp38_, FALSE); +#line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp39_ = self->priv->batch_import_queue; +#line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp40_ = importer; +#line 606 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp40_); +#line 608 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_schedule_next_batch_import (self); +#line 610 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = TRUE; +#line 610 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (importer); +#line 610 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (jobs); +#line 610 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 4788 "LibraryMonitor.c" +} + + +static void _library_monitor_on_import_preparing_batch_import_preparing (BatchImport* _sender, gpointer self) { +#line 618 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_on_import_preparing ((LibraryMonitor*) self); +#line 4795 "LibraryMonitor.c" +} + + +static void _library_monitor_on_import_progress_batch_import_progress (BatchImport* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self) { +#line 619 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_on_import_progress ((LibraryMonitor*) self, completed_bytes, total_bytes); +#line 4802 "LibraryMonitor.c" +} + + +static void _library_monitor_on_import_complete_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) { +#line 620 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_on_import_complete ((LibraryMonitor*) self, _sender, manifest, import_roll); +#line 4809 "LibraryMonitor.c" +} + + +static void library_monitor_schedule_next_batch_import (LibraryMonitor* self) { + gboolean _tmp0_ = FALSE; + BatchImport* _tmp1_ = NULL; + GeeArrayList* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + BatchImport* _tmp7_ = NULL; + BatchImport* _tmp8_ = NULL; + BatchImport* _tmp9_ = NULL; + BatchImport* _tmp10_ = NULL; +#line 613 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->current_batch_import; +#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_ != NULL) { +#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = TRUE; +#line 4830 "LibraryMonitor.c" + } else { + GeeArrayList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = self->priv->batch_import_queue; +#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = _tmp4_ == 0; +#line 4843 "LibraryMonitor.c" + } +#line 614 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_) { +#line 615 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 4849 "LibraryMonitor.c" + } +#line 617 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = self->priv->batch_import_queue; +#line 617 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 617 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->current_batch_import); +#line 617 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->current_batch_import = (BatchImport*) _tmp6_; +#line 618 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = self->priv->current_batch_import; +#line 618 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_connect_object (_tmp7_, "preparing", (GCallback) _library_monitor_on_import_preparing_batch_import_preparing, self, 0); +#line 619 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = self->priv->current_batch_import; +#line 619 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_connect_object (_tmp8_, "progress", (GCallback) _library_monitor_on_import_progress_batch_import_progress, self, 0); +#line 620 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = self->priv->current_batch_import; +#line 620 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_connect_object (_tmp9_, "import-complete", (GCallback) _library_monitor_on_import_complete_batch_import_import_complete, self, 0); +#line 621 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = self->priv->current_batch_import; +#line 621 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + batch_import_schedule (_tmp10_); +#line 4875 "LibraryMonitor.c" +} + + +static void library_monitor_discard_current_batch_import (LibraryMonitor* self) { + BatchImport* _tmp0_ = NULL; + gboolean removed = FALSE; + GeeArrayList* _tmp1_ = NULL; + BatchImport* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + BatchImport* _tmp5_ = NULL; + guint _tmp6_ = 0U; + BatchImport* _tmp7_ = NULL; + guint _tmp8_ = 0U; + BatchImport* _tmp9_ = NULL; + guint _tmp10_ = 0U; + GeeArrayList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 624 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 625 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->current_batch_import; +#line 625 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_assert (_tmp0_ != NULL, "current_batch_import != null"); +#line 627 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->batch_import_queue; +#line 627 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = self->priv->current_batch_import; +#line 627 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_); +#line 627 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + removed = _tmp3_; +#line 628 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = removed; +#line 628 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_assert (_tmp4_, "removed"); +#line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = self->priv->current_batch_import; +#line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_parse_name ("preparing", TYPE_BATCH_IMPORT, &_tmp6_, NULL, FALSE); +#line 629 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_monitor_on_import_preparing_batch_import_preparing, self); +#line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = self->priv->current_batch_import; +#line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_parse_name ("progress", TYPE_BATCH_IMPORT, &_tmp8_, NULL, FALSE); +#line 630 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_handlers_disconnect_matched (_tmp7_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _library_monitor_on_import_progress_batch_import_progress, self); +#line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = self->priv->current_batch_import; +#line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_parse_name ("import-complete", TYPE_BATCH_IMPORT, &_tmp10_, NULL, FALSE); +#line 631 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _library_monitor_on_import_complete_batch_import_import_complete, self); +#line 632 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->current_batch_import); +#line 632 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->current_batch_import = NULL; +#line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = self->priv->batch_import_queue; +#line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = _tmp12_; +#line 639 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp13_ == 0) { +#line 4943 "LibraryMonitor.c" + GeeHashSet* _tmp14_ = NULL; +#line 640 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = self->priv->pending_imports; +#line 640 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 4949 "LibraryMonitor.c" + } +} + + +static void library_monitor_cancel_batch_imports (LibraryMonitor* self) { + gint ctr = 0; + BatchImport* _tmp16_ = NULL; + GeeHashSet* _tmp18_ = NULL; +#line 643 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 645 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ctr = 0; +#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 4964 "LibraryMonitor.c" + gint _tmp0_ = 0; + GeeArrayList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeArrayList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gpointer _tmp6_ = NULL; + BatchImport* _tmp7_ = NULL; + BatchImport* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GeeArrayList* _tmp11_ = NULL; + GeeArrayList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + BatchImport* _tmp15_ = NULL; +#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = ctr; +#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->batch_import_queue; +#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_; +#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp0_ < _tmp3_)) { +#line 646 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 4992 "LibraryMonitor.c" + } +#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = self->priv->batch_import_queue; +#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = ctr; +#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp5_); +#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = (BatchImport*) _tmp6_; +#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = self->priv->current_batch_import; +#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _tmp7_ == _tmp8_; +#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp7_); +#line 647 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp9_) { +#line 5010 "LibraryMonitor.c" + gint _tmp10_ = 0; +#line 648 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = ctr; +#line 648 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ctr = _tmp10_ + 1; +#line 650 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 5018 "LibraryMonitor.c" + } +#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = self->priv->batch_import_queue; +#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = self->priv->batch_import_queue; +#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = ctr; +#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp13_); +#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = (BatchImport*) _tmp14_; +#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_); +#line 653 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp15_); +#line 5034 "LibraryMonitor.c" + } +#line 657 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = self->priv->current_batch_import; +#line 657 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp16_ != NULL) { +#line 5040 "LibraryMonitor.c" + BatchImport* _tmp17_ = NULL; +#line 658 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = self->priv->current_batch_import; +#line 658 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + batch_import_user_halt (_tmp17_); +#line 5046 "LibraryMonitor.c" + } +#line 661 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = self->priv->pending_imports; +#line 661 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 5052 "LibraryMonitor.c" +} + + +static void library_monitor_on_import_preparing (LibraryMonitor* self) { +#line 664 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 665 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_emit_by_name (self, "auto-import-preparing"); +#line 5061 "LibraryMonitor.c" +} + + +static void library_monitor_on_import_progress (LibraryMonitor* self, guint64 completed_bytes, guint64 total_bytes) { + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; +#line 668 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 669 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = completed_bytes; +#line 669 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = total_bytes; +#line 669 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_emit_by_name (self, "auto-import-progress", _tmp0_, _tmp1_); +#line 5076 "LibraryMonitor.c" +} + + +static void library_monitor_on_import_complete (LibraryMonitor* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll) { + BatchImport* _tmp0_ = NULL; + BatchImport* _tmp1_ = NULL; + ImportManifest* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + ImportManifest* _tmp25_ = NULL; + GeeList* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + GeeHashSet* _tmp59_ = NULL; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + GError * _inner_error_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 672 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_BATCH_IMPORT (batch_import)); +#line 672 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_IMPORT_MANIFEST (manifest)); +#line 672 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_BATCH_IMPORT_ROLL (import_roll)); +#line 674 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = batch_import; +#line 674 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->priv->current_batch_import; +#line 674 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _vala_assert (_tmp0_ == _tmp1_, "batch_import == current_batch_import"); +#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = manifest; +#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_->all; +#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _tmp4_; +#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = g_strdup_printf ("auto-import batch completed %d", _tmp5_); +#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _tmp6_; +#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp7_); +#line 676 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp7_); +#line 677 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_emit_by_name (self, "auto-import-progress", (guint64) 0, (guint64) 0); +#line 5131 "LibraryMonitor.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + GeeList* _tmp10_ = NULL; + gint _result_size = 0; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _result_index = 0; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = manifest; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _tmp8_->all; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_list = _tmp10_; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = _result_list; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = _tmp12_; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_size = _tmp13_; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_index = -1; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 5162 "LibraryMonitor.c" + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gpointer _tmp19_ = NULL; + BatchImportResult* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = _result_index; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_index = _tmp14_ + 1; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = _result_index; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = _result_size; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp15_ < _tmp16_)) { +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 5184 "LibraryMonitor.c" + } +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = _result_list; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = _result_index; +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = gee_list_get (_tmp17_, _tmp18_); +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_ = (BatchImportResult*) _tmp19_; +#line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = _result_; +#line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = _tmp20_->file; +#line 682 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp21_ != NULL) { +#line 5200 "LibraryMonitor.c" + GeeHashSet* _tmp22_ = NULL; + BatchImportResult* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; +#line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = self->priv->pending_imports; +#line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = _result_; +#line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = _tmp23_->file; +#line 683 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp24_); +#line 5212 "LibraryMonitor.c" + } +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _batch_import_result_unref0 (_result_); +#line 5216 "LibraryMonitor.c" + } +#line 679 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_result_list); +#line 5220 "LibraryMonitor.c" + } +#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = manifest; +#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = _tmp25_->already_imported; +#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = _tmp27_; +#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp28_ > 0) { +#line 5232 "LibraryMonitor.c" + GeeArrayList* to_tombstone = NULL; + GeeArrayList* _tmp29_ = NULL; +#line 687 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = gee_array_list_new (TYPE_TOMBSTONED_FILE, (GBoxedCopyFunc) tombstoned_file_ref, tombstoned_file_unref, NULL, NULL, NULL); +#line 687 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + to_tombstone = _tmp29_; +#line 5239 "LibraryMonitor.c" + { + GeeList* _result_list = NULL; + ImportManifest* _tmp30_ = NULL; + GeeList* _tmp31_ = NULL; + GeeList* _tmp32_ = NULL; + gint _result_size = 0; + GeeList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + gint _result_index = 0; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp30_ = manifest; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp31_ = _tmp30_->already_imported; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp32_ = _g_object_ref0 (_tmp31_); +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_list = _tmp32_; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp33_ = _result_list; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp34_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp35_ = _tmp34_; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_size = _tmp35_; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_index = -1; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 5270 "LibraryMonitor.c" + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp39_ = NULL; + gint _tmp40_ = 0; + gpointer _tmp41_ = NULL; + GFileInfo* info = NULL; + BatchImportResult* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; + GFileInfo* _tmp44_ = NULL; + GFileInfo* _tmp45_ = NULL; + GeeArrayList* _tmp50_ = NULL; + BatchImportResult* _tmp51_ = NULL; + GFile* _tmp52_ = NULL; + GFileInfo* _tmp53_ = NULL; + gint64 _tmp54_ = 0LL; + TombstonedFile* _tmp55_ = NULL; + TombstonedFile* _tmp56_ = NULL; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = _result_index; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_index = _tmp36_ + 1; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp37_ = _result_index; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp38_ = _result_size; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp37_ < _tmp38_)) { +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 5302 "LibraryMonitor.c" + } +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp39_ = _result_list; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp40_ = _result_index; +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp41_ = gee_list_get (_tmp39_, _tmp40_); +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_ = (BatchImportResult*) _tmp41_; +#line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp42_ = _result_; +#line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp43_ = _tmp42_->file; +#line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp44_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp43_); +#line 689 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + info = _tmp44_; +#line 690 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp45_ = info; +#line 690 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp45_ == NULL) { +#line 5324 "LibraryMonitor.c" + BatchImportResult* _tmp46_ = NULL; + GFile* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; +#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp46_ = _result_; +#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp47_ = _tmp46_->file; +#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp48_ = g_file_get_path (_tmp47_); +#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp49_ = _tmp48_; +#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_warning ("LibraryMonitor.vala:691: Unable to get info for duplicate file %s", _tmp49_); +#line 691 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp49_); +#line 693 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (info); +#line 693 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _batch_import_result_unref0 (_result_); +#line 693 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 5347 "LibraryMonitor.c" + } +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp50_ = to_tombstone; +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp51_ = _result_; +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp52_ = _tmp51_->file; +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp53_ = info; +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp54_ = g_file_info_get_size (_tmp53_); +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp55_ = tombstoned_file_new (_tmp52_, _tmp54_, NULL); +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp56_ = _tmp55_; +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp56_); +#line 696 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tombstoned_file_unref0 (_tmp56_); +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (info); +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _batch_import_result_unref0 (_result_); +#line 5371 "LibraryMonitor.c" + } +#line 688 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_result_list); +#line 5375 "LibraryMonitor.c" + } + { + GeeArrayList* _tmp57_ = NULL; +#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp57_ = to_tombstone; +#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + tombstone_entomb_many_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, GEE_TYPE_COLLECTION, GeeCollection), TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE, &_inner_error_); +#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5387 "LibraryMonitor.c" + goto __catch475_database_error; + } +#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (to_tombstone); +#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.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 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_inner_error_); +#line 700 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 5398 "LibraryMonitor.c" + } + } + goto __finally475; + __catch475_database_error: + { + GError* err = NULL; + GError* _tmp58_ = NULL; +#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + err = _inner_error_; +#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _inner_error_ = NULL; +#line 702 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp58_ = err; +#line 702 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + app_window_database_error (_tmp58_); +#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_error_free0 (err); +#line 5416 "LibraryMonitor.c" + } + __finally475: +#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (to_tombstone); +#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.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 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_inner_error_); +#line 699 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 5429 "LibraryMonitor.c" + } +#line 686 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (to_tombstone); +#line 5433 "LibraryMonitor.c" + } +#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp59_ = self->priv->pending_imports; +#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp60_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp61_ = _tmp60_; +#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp62_ = g_strdup_printf ("%d files remain pending for auto-import", _tmp61_); +#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp63_ = _tmp62_; +#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp63_); +#line 706 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp63_); +#line 708 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_discard_current_batch_import (self); +#line 709 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_schedule_next_batch_import (self); +#line 5453 "LibraryMonitor.c" +} + + +void library_monitor_blacklist_file (GFile* file, const gchar* reason) { + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 725 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 725 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (reason != NULL); +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = reason; +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = file; +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_; +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = g_strdup_printf ("[%s] Blacklisting %s", _tmp0_, _tmp3_); +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _tmp4_; +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp5_); +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp5_); +#line 726 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp3_); +#line 5487 "LibraryMonitor.c" + { + GeeHashSet* _tmp6_ = NULL; +#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = library_monitor_blacklist; +#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_lock (&__lock_library_monitor_blacklist); +#line 5494 "LibraryMonitor.c" + { + GeeHashSet* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; +#line 728 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = library_monitor_blacklist; +#line 728 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = file; +#line 728 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp8_); +#line 5504 "LibraryMonitor.c" + } + __finally476: + { + GeeHashSet* _tmp9_ = NULL; +#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = library_monitor_blacklist; +#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_unlock (&__lock_library_monitor_blacklist); +#line 5513 "LibraryMonitor.c" + } +#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.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 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_inner_error_); +#line 727 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 5523 "LibraryMonitor.c" + } + } +} + + +void library_monitor_unblacklist_file (GFile* file) { + GError * _inner_error_ = NULL; +#line 732 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 5533 "LibraryMonitor.c" + { + GeeHashSet* _tmp0_ = NULL; +#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = library_monitor_blacklist; +#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_lock (&__lock_library_monitor_blacklist); +#line 5540 "LibraryMonitor.c" + { + gboolean _tmp1_ = FALSE; + GeeHashSet* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = library_monitor_blacklist; +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = file; +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp3_); +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp4_) { +#line 5554 "LibraryMonitor.c" + HashTimedQueue* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = library_monitor_to_unblacklist; +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = file; +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = timed_queue_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_TIMED_QUEUE, TimedQueue), _tmp6_); +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = !_tmp7_; +#line 5566 "LibraryMonitor.c" + } else { +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = FALSE; +#line 5570 "LibraryMonitor.c" + } +#line 736 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 5574 "LibraryMonitor.c" + HashTimedQueue* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 737 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = library_monitor_to_unblacklist; +#line 737 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = file; +#line 737 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + timed_queue_enqueue (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_TIMED_QUEUE, TimedQueue), _tmp9_); +#line 5583 "LibraryMonitor.c" + } + } + __finally477: + { + GeeHashSet* _tmp10_ = NULL; +#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = library_monitor_blacklist; +#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_unlock (&__lock_library_monitor_blacklist); +#line 5593 "LibraryMonitor.c" + } +#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.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 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_inner_error_); +#line 735 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 5603 "LibraryMonitor.c" + } + } +} + + +static void library_monitor_on_unblacklist_file (GFile* file) { + gboolean removed = FALSE; + GError * _inner_error_ = NULL; +#line 741 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 5614 "LibraryMonitor.c" + { + GeeHashSet* _tmp0_ = NULL; +#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = library_monitor_blacklist; +#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_lock (&__lock_library_monitor_blacklist); +#line 5621 "LibraryMonitor.c" + { + GeeHashSet* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_blacklist; +#line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = file; +#line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_); +#line 744 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + removed = _tmp3_; +#line 5634 "LibraryMonitor.c" + } + __finally478: + { + GeeHashSet* _tmp4_ = NULL; +#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = library_monitor_blacklist; +#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_unlock (&__lock_library_monitor_blacklist); +#line 5643 "LibraryMonitor.c" + } +#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.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 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_inner_error_); +#line 743 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 5653 "LibraryMonitor.c" + } + } +#line 747 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (removed) { +#line 5658 "LibraryMonitor.c" + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = file; +#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _tmp6_; +#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = g_strdup_printf ("Blacklist for %s removed", _tmp7_); +#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _tmp8_; +#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp9_); +#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp9_); +#line 748 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp7_); +#line 5680 "LibraryMonitor.c" + } else { + GFile* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = file; +#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = g_file_get_path (_tmp10_); +#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _tmp11_; +#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_warning ("LibraryMonitor.vala:750: File %s was not blacklisted but unblacklisted", _tmp12_); +#line 750 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp12_); +#line 5695 "LibraryMonitor.c" + } +} + + +gboolean library_monitor_is_blacklisted (GFile* file) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 753 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 5705 "LibraryMonitor.c" + { + GeeHashSet* _tmp0_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = library_monitor_blacklist; +#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_lock (&__lock_library_monitor_blacklist); +#line 5712 "LibraryMonitor.c" + { + GeeHashSet* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_blacklist; +#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = file; +#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_); +#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = _tmp3_; +#line 5725 "LibraryMonitor.c" + { + GeeHashSet* _tmp4_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = library_monitor_blacklist; +#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_unlock (&__lock_library_monitor_blacklist); +#line 5732 "LibraryMonitor.c" + } +#line 755 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 5736 "LibraryMonitor.c" + } + __finally479: + { + GeeHashSet* _tmp5_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = library_monitor_blacklist; +#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_unlock (&__lock_library_monitor_blacklist); +#line 5745 "LibraryMonitor.c" + } +#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.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 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_inner_error_); +#line 754 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return FALSE; +#line 5753 "LibraryMonitor.c" + } +} + + +static gboolean library_monitor_is_supported_filetype (LibraryMonitor* self, GFile* file) { + gboolean result = FALSE; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + MediaSourceCollection* _tmp3_ = NULL; + MediaSourceCollection* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 759 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_MONITOR (self), FALSE); +#line 759 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _tmp0_; +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = file; +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = media_collection_registry_get_collection_for_file (_tmp1_, _tmp2_); +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _tmp4_ != NULL; +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _data_collection_unref0 (_tmp4_); +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + result = _tmp5_; +#line 760 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return result; +#line 5790 "LibraryMonitor.c" +} + + +static void library_monitor_import_unrepresented_files (LibraryMonitor* self) { + gboolean _tmp0_ = FALSE; + GeeArrayList* to_import = NULL; + GeeArrayList* _tmp42_ = NULL; +#line 765 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 766 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->priv->auto_import; +#line 766 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp0_) { +#line 767 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 5806 "LibraryMonitor.c" + } +#line 769 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + to_import = NULL; +#line 5810 "LibraryMonitor.c" + { + GeeIterator* _file_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = directory_monitor_get_files (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = _tmp1_; +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _tmp3_; +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _file_it = _tmp4_; +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 5831 "LibraryMonitor.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + GFileInfo* info = NULL; + GFile* _tmp9_ = NULL; + GFileInfo* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GFileInfo* _tmp12_ = NULL; + GeeHashSet* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + TombstoneSourceCollection* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean represented = FALSE; + gboolean _tmp35_ = FALSE; + GFile* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; + GeeArrayList* _tmp38_ = NULL; + GeeArrayList* _tmp40_ = NULL; + GFile* _tmp41_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _file_it; +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp6_) { +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 5863 "LibraryMonitor.c" + } +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _file_it; +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + file = (GFile*) _tmp8_; +#line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = file; +#line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = directory_monitor_get_file_info (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp9_); +#line 771 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + info = _tmp10_; +#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = info; +#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp12_ == NULL) { +#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = TRUE; +#line 5883 "LibraryMonitor.c" + } else { + GFileInfo* _tmp13_ = NULL; + GFileType _tmp14_ = 0; +#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = info; +#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = g_file_info_get_file_type (_tmp13_); +#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = _tmp14_ != G_FILE_TYPE_REGULAR; +#line 5893 "LibraryMonitor.c" + } +#line 772 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp11_) { +#line 773 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (info); +#line 773 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 773 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 5903 "LibraryMonitor.c" + } +#line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = self->priv->pending_imports; +#line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = file; +#line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp16_); +#line 775 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp17_) { +#line 776 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (info); +#line 776 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 776 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 5919 "LibraryMonitor.c" + } +#line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = tombstone_global; +#line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = file; +#line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = tombstone_source_collection_matches (_tmp18_, _tmp19_); +#line 778 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp20_) { +#line 779 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (info); +#line 779 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 779 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 5935 "LibraryMonitor.c" + } +#line 781 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + represented = FALSE; +#line 5939 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp21_ = NULL; + GeeList* _tmp22_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint _monitor_index = 0; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = self->priv->monitors; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = _g_object_ref0 (_tmp21_); +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp22_; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = _monitor_list; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = _tmp24_; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp25_; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 5967 "LibraryMonitor.c" + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp29_ = NULL; + gint _tmp30_ = 0; + gpointer _tmp31_ = NULL; + MediaMonitor* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = _monitor_index; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp26_ + 1; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = _monitor_index; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = _monitor_size; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp27_ < _tmp28_)) { +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 5990 "LibraryMonitor.c" + } +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = _monitor_list; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp30_ = _monitor_index; +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp31_ = gee_list_get (_tmp29_, _tmp30_); +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp31_; +#line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp32_ = monitor; +#line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp33_ = file; +#line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp34_ = media_monitor_is_file_represented (_tmp32_, _tmp33_); +#line 783 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp34_) { +#line 784 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + represented = TRUE; +#line 786 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 786 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 6014 "LibraryMonitor.c" + } +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 6018 "LibraryMonitor.c" + } +#line 782 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 6022 "LibraryMonitor.c" + } +#line 790 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp35_ = represented; +#line 790 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp35_) { +#line 791 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (info); +#line 791 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 791 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 6034 "LibraryMonitor.c" + } +#line 793 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = file; +#line 793 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp37_ = library_monitor_is_supported_filetype (self, _tmp36_); +#line 793 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp37_) { +#line 794 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (info); +#line 794 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 794 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 6048 "LibraryMonitor.c" + } +#line 796 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp38_ = to_import; +#line 796 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp38_ == NULL) { +#line 6054 "LibraryMonitor.c" + GeeArrayList* _tmp39_ = NULL; +#line 797 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp39_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_equal_gee_equal_data_func, NULL, NULL); +#line 797 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (to_import); +#line 797 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + to_import = _tmp39_; +#line 6062 "LibraryMonitor.c" + } +#line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp40_ = to_import; +#line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp41_ = file; +#line 799 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp41_); +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (info); +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (file); +#line 6074 "LibraryMonitor.c" + } +#line 770 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_file_it); +#line 6078 "LibraryMonitor.c" + } +#line 802 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp42_ = to_import; +#line 802 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp42_ != NULL) { +#line 6084 "LibraryMonitor.c" + GeeArrayList* _tmp43_ = NULL; +#line 803 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp43_ = to_import; +#line 803 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_enqueue_import_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 6090 "LibraryMonitor.c" + } +#line 765 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (to_import); +#line 6094 "LibraryMonitor.c" +} + + +static void library_monitor_runtime_unknown_file_discovered (LibraryMonitor* self, GFile* file) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 808 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 808 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = self->priv->auto_import; +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp2_) { +#line 6110 "LibraryMonitor.c" + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = file; +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = library_monitor_is_supported_filetype (self, _tmp3_); +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _tmp4_; +#line 6119 "LibraryMonitor.c" + } else { +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = FALSE; +#line 6123 "LibraryMonitor.c" + } +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 6127 "LibraryMonitor.c" + TombstoneSourceCollection* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = tombstone_global; +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = file; +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = tombstone_source_collection_matches (_tmp5_, _tmp6_); +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = !_tmp7_; +#line 6139 "LibraryMonitor.c" + } else { +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = FALSE; +#line 6143 "LibraryMonitor.c" + } +#line 809 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_) { +#line 6147 "LibraryMonitor.c" + GFile* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = file; +#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = g_file_get_path (_tmp8_); +#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _tmp9_; +#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = g_strdup_printf ("Unknown file %s discovered, enqueuing for import", _tmp10_); +#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _tmp11_; +#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp12_); +#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp12_); +#line 810 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp10_); +#line 811 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = file; +#line 811 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_enqueue_import (self, _tmp13_); +#line 6174 "LibraryMonitor.c" + } +} + + +static void library_monitor_real_notify_file_created (DirectoryMonitor* base, GFile* file, GFileInfo* info) { + LibraryMonitor * self; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean known = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp98_ = FALSE; + GFile* _tmp100_ = NULL; + GFileInfo* _tmp101_ = NULL; +#line 815 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 815 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 815 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 816 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = file; +#line 816 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_is_blacklisted (_tmp0_); +#line 816 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 6200 "LibraryMonitor.c" + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; +#line 817 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = file; +#line 817 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = info; +#line 817 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_created (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_, _tmp3_); +#line 819 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 6211 "LibraryMonitor.c" + } +#line 822 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = FALSE; +#line 6215 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _monitor_index = 0; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = self->priv->monitors; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp5_; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _monitor_list; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _tmp7_; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp8_; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 6243 "LibraryMonitor.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + MediaMonitor* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFileInfo* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_index; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp9_ + 1; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _monitor_index; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = _monitor_size; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 6267 "LibraryMonitor.c" + } +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _monitor_list; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = _monitor_index; +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp14_; +#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = monitor; +#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = file; +#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = info; +#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = media_monitor_notify_file_created (_tmp15_, _tmp16_, _tmp17_); +#line 824 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp18_) { +#line 825 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = TRUE; +#line 827 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 827 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 6293 "LibraryMonitor.c" + } +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 6297 "LibraryMonitor.c" + } +#line 823 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 6301 "LibraryMonitor.c" + } +#line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = known; +#line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp19_) { +#line 6307 "LibraryMonitor.c" + GeeHashSet* all_candidates = NULL; + gboolean _tmp78_ = FALSE; + gboolean _tmp79_ = FALSE; + gboolean _tmp80_ = FALSE; +#line 833 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + all_candidates = NULL; +#line 6314 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp20_ = NULL; + GeeList* _tmp21_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _monitor_index = 0; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = self->priv->monitors; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = _g_object_ref0 (_tmp20_); +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp21_; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = _monitor_list; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = _tmp23_; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp24_; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 6342 "LibraryMonitor.c" + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp28_ = NULL; + gint _tmp29_ = 0; + gpointer _tmp30_ = NULL; + MediaMonitorDiscoveredFile _result_ = 0; + GeeCollection* candidates = NULL; + MediaMonitor* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; + GFileInfo* _tmp33_ = NULL; + MediaMonitorDiscoveredFile _tmp34_ = 0; + GeeCollection* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + MediaMonitorDiscoveredFile _tmp37_ = 0; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = _monitor_index; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp25_ + 1; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = _monitor_index; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = _monitor_size; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp26_ < _tmp27_)) { +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 6371 "LibraryMonitor.c" + } +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = _monitor_list; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = _monitor_index; +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp30_ = gee_list_get (_tmp28_, _tmp29_); +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp30_; +#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp31_ = monitor; +#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp32_ = file; +#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp33_ = info; +#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp35_ = media_monitor_candidates_for_unknown_file (_tmp31_, _tmp32_, _tmp33_, &_tmp34_); +#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _result_ = _tmp34_; +#line 836 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + candidates = _tmp35_; +#line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp37_ = _result_; +#line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp37_ == MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED) { +#line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = TRUE; +#line 6399 "LibraryMonitor.c" + } else { + MediaMonitorDiscoveredFile _tmp38_ = 0; +#line 839 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp38_ = _result_; +#line 839 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = _tmp38_ == MEDIA_MONITOR_DISCOVERED_FILE_IGNORE; +#line 6406 "LibraryMonitor.c" + } +#line 838 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp36_) { +#line 6410 "LibraryMonitor.c" + MediaMonitor* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + MediaMonitorDiscoveredFile _tmp42_ = 0; + GEnumValue* _tmp43_; + GFile* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp39_ = monitor; +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp40_ = media_monitor_to_string (_tmp39_); +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp41_ = _tmp40_; +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp42_ = _result_; +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp43_ = g_enum_get_value (g_type_class_ref (MEDIA_MONITOR_TYPE_DISCOVERED_FILE), _tmp42_); +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp44_ = file; +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp45_ = g_file_get_path (_tmp44_); +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp46_ = _tmp45_; +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp47_ = g_strdup_printf ("%s %s created file %s", _tmp41_, (_tmp43_ != NULL) ? _tmp43_->value_name : NULL, _tmp46_); +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp48_ = _tmp47_; +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp48_); +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp48_); +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp46_); +#line 840 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp41_); +#line 843 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = TRUE; +#line 845 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (candidates); +#line 845 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 845 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 6457 "LibraryMonitor.c" + } else { + gboolean _tmp49_ = FALSE; + GeeCollection* _tmp50_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp50_ = candidates; +#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp50_ != NULL) { +#line 6465 "LibraryMonitor.c" + GeeCollection* _tmp51_ = NULL; + gint _tmp52_ = 0; + gint _tmp53_ = 0; +#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp51_ = candidates; +#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp52_ = gee_collection_get_size (_tmp51_); +#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp53_ = _tmp52_; +#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp49_ = _tmp53_ > 0; +#line 6477 "LibraryMonitor.c" + } else { +#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp49_ = FALSE; +#line 6481 "LibraryMonitor.c" + } +#line 846 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp49_) { +#line 6485 "LibraryMonitor.c" + MediaMonitor* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + GeeCollection* _tmp57_ = NULL; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + GFile* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + GeeHashSet* _tmp65_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp54_ = monitor; +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp55_ = media_monitor_to_string (_tmp54_); +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp56_ = _tmp55_; +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp57_ = candidates; +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp58_ = gee_collection_get_size (_tmp57_); +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp59_ = _tmp58_; +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp60_ = file; +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp61_ = g_file_get_path (_tmp60_); +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp62_ = _tmp61_; +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp63_ = g_strdup_printf ("%s suggests %d candidates for created file %s", _tmp56_, _tmp59_, _tmp62_); +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp64_ = _tmp63_; +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp64_); +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp64_); +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp62_); +#line 847 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp56_); +#line 850 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp65_ = all_candidates; +#line 850 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp65_ == NULL) { +#line 6532 "LibraryMonitor.c" + GeeHashSet* _tmp66_ = NULL; +#line 851 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp66_ = gee_hash_set_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 851 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (all_candidates); +#line 851 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + all_candidates = _tmp66_; +#line 6540 "LibraryMonitor.c" + } + { + GeeIterator* _candidate_it = NULL; + GeeCollection* _tmp67_ = NULL; + GeeIterator* _tmp68_ = NULL; +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp67_ = candidates; +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp68_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _candidate_it = _tmp68_; +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 6554 "LibraryMonitor.c" + GeeIterator* _tmp69_ = NULL; + gboolean _tmp70_ = FALSE; + Monitorable* candidate = NULL; + GeeIterator* _tmp71_ = NULL; + gpointer _tmp72_ = NULL; + MediaMonitor* _tmp73_ = NULL; + Monitorable* _tmp74_ = NULL; + gboolean _tmp75_ = FALSE; +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp69_ = _candidate_it; +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp70_ = gee_iterator_next (_tmp69_); +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp70_) { +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 6571 "LibraryMonitor.c" + } +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp71_ = _candidate_it; +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp72_ = gee_iterator_get (_tmp71_); +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + candidate = (Monitorable*) _tmp72_; +#line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp73_ = monitor; +#line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp74_ = candidate; +#line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp75_ = media_monitor_is_offline (_tmp73_, _tmp74_); +#line 854 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp75_) { +#line 6587 "LibraryMonitor.c" + GeeHashSet* _tmp76_ = NULL; + Monitorable* _tmp77_ = NULL; +#line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp76_ = all_candidates; +#line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp77_ = candidate; +#line 855 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp77_); +#line 6596 "LibraryMonitor.c" + } +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (candidate); +#line 6600 "LibraryMonitor.c" + } +#line 853 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_candidate_it); +#line 6604 "LibraryMonitor.c" + } + } + } +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (candidates); +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 6612 "LibraryMonitor.c" + } +#line 834 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 6616 "LibraryMonitor.c" + } +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp80_ = known; +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp80_) { +#line 6622 "LibraryMonitor.c" + GeeHashSet* _tmp81_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp81_ = all_candidates; +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp79_ = _tmp81_ != NULL; +#line 6628 "LibraryMonitor.c" + } else { +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp79_ = FALSE; +#line 6632 "LibraryMonitor.c" + } +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp79_) { +#line 6636 "LibraryMonitor.c" + GeeHashSet* _tmp82_ = NULL; + gint _tmp83_ = 0; + gint _tmp84_ = 0; +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp82_ = all_candidates; +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp83_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp84_ = _tmp83_; +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp78_ = _tmp84_ > 0; +#line 6648 "LibraryMonitor.c" + } else { +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp78_ = FALSE; +#line 6652 "LibraryMonitor.c" + } +#line 860 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp78_) { +#line 6656 "LibraryMonitor.c" + GeeHashSet* _tmp85_ = NULL; + gint _tmp86_ = 0; + gint _tmp87_ = 0; + GFile* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + gchar* _tmp90_ = NULL; + gchar* _tmp91_ = NULL; + gchar* _tmp92_ = NULL; + Workers* _tmp93_ = NULL; + GFile* _tmp94_ = NULL; + GeeHashSet* _tmp95_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp96_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp97_ = NULL; +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp85_ = all_candidates; +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp86_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp87_ = _tmp86_; +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp88_ = file; +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp89_ = g_file_get_path (_tmp88_); +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp90_ = _tmp89_; +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp91_ = g_strdup_printf ("%d candidates for created file %s being checksummed", _tmp87_, _tmp90_); +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp92_ = _tmp91_; +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + directory_monitor_mdbg (_tmp92_); +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp92_); +#line 861 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp90_); +#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp93_ = self->priv->workers; +#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp94_ = file; +#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp95_ = all_candidates; +#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp96_ = library_monitor_runtime_find_move_job_new (self, _tmp94_, G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp97_ = _tmp96_; +#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + workers_enqueue (_tmp93_, G_TYPE_CHECK_INSTANCE_CAST (_tmp97_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 864 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _background_job_unref0 (_tmp97_); +#line 866 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = TRUE; +#line 6708 "LibraryMonitor.c" + } +#line 831 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (all_candidates); +#line 6712 "LibraryMonitor.c" + } +#line 870 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp98_ = known; +#line 870 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp98_) { +#line 6718 "LibraryMonitor.c" + GFile* _tmp99_ = NULL; +#line 871 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp99_ = file; +#line 871 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_runtime_unknown_file_discovered (self, _tmp99_); +#line 6724 "LibraryMonitor.c" + } +#line 873 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp100_ = file; +#line 873 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp101_ = info; +#line 873 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_created (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp100_, _tmp101_); +#line 6732 "LibraryMonitor.c" +} + + +static void library_monitor_on_runtime_find_move_completed (LibraryMonitor* self, BackgroundJob* j) { + LibraryMonitorRuntimeFindMoveJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp1_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp2_ = NULL; + GError* _tmp3_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp11_ = NULL; + Monitorable* _tmp12_ = NULL; +#line 876 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (self)); +#line 876 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 877 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = j; +#line 877 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob)); +#line 877 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + job = _tmp1_; +#line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = job; +#line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_->err; +#line 879 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp3_ != NULL) { +#line 6760 "LibraryMonitor.c" + LibraryMonitorRuntimeFindMoveJob* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp8_ = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = job; +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _tmp4_->file; +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _tmp6_; +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = job; +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _tmp8_->err; +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _tmp9_->message; +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_critical ("LibraryMonitor.vala:880: Error attempting to find a match at runtime f" \ +"or %s: %s", _tmp7_, _tmp10_); +#line 880 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp7_); +#line 6786 "LibraryMonitor.c" + } +#line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = job; +#line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _tmp11_->match; +#line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp12_ != NULL) { +#line 6794 "LibraryMonitor.c" + MediaMonitor* monitor = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp13_ = NULL; + Monitorable* _tmp14_ = NULL; + MediaMonitor* _tmp15_ = NULL; + MediaMonitor* _tmp16_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp17_ = NULL; + Monitorable* _tmp18_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + MediaMonitor* _tmp21_ = NULL; + LibraryMonitorRuntimeFindMoveJob* _tmp22_ = NULL; + Monitorable* _tmp23_ = NULL; +#line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = job; +#line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = _tmp13_->match; +#line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = library_monitor_get_monitor_for_monitorable (self, _tmp14_); +#line 885 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = _tmp15_; +#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = monitor; +#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = job; +#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = _tmp17_->match; +#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = job; +#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = _tmp19_->file; +#line 886 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + media_monitor_update_master_file (_tmp16_, _tmp18_, _tmp20_); +#line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = monitor; +#line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = job; +#line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = _tmp22_->match; +#line 887 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + media_monitor_update_online (_tmp21_, _tmp23_); +#line 884 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 6837 "LibraryMonitor.c" + } else { + LibraryMonitorRuntimeFindMoveJob* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; +#line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = job; +#line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = _tmp24_->file; +#line 890 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_runtime_unknown_file_discovered (self, _tmp25_); +#line 6847 "LibraryMonitor.c" + } +#line 876 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _background_job_unref0 (job); +#line 6851 "LibraryMonitor.c" +} + + +static void library_monitor_real_notify_file_moved (DirectoryMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* new_info) { + LibraryMonitor * self; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean known = FALSE; + gboolean _tmp24_ = FALSE; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + GFileInfo* _tmp28_ = NULL; +#line 894 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 894 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 894 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 894 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (new_info)); +#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = old_file; +#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = library_monitor_is_blacklisted (_tmp1_); +#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp2_) { +#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = TRUE; +#line 6881 "LibraryMonitor.c" + } else { + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = new_file; +#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = library_monitor_is_blacklisted (_tmp3_); +#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = _tmp4_; +#line 6891 "LibraryMonitor.c" + } +#line 895 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp0_) { +#line 6895 "LibraryMonitor.c" + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; +#line 896 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = old_file; +#line 896 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = new_file; +#line 896 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = new_info; +#line 896 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_moved (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp5_, _tmp6_, _tmp7_); +#line 898 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 6909 "LibraryMonitor.c" + } +#line 901 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = FALSE; +#line 6913 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _monitor_index = 0; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = self->priv->monitors; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp9_; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _monitor_list; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _tmp11_; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp12_; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 6941 "LibraryMonitor.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gpointer _tmp18_ = NULL; + MediaMonitor* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GFileInfo* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = _monitor_index; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp13_ + 1; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = _monitor_index; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = _monitor_size; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp14_ < _tmp15_)) { +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 6966 "LibraryMonitor.c" + } +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = _monitor_list; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = _monitor_index; +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = gee_list_get (_tmp16_, _tmp17_); +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp18_; +#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = monitor; +#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = old_file; +#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = new_file; +#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = new_info; +#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = media_monitor_notify_file_moved (_tmp19_, _tmp20_, _tmp21_, _tmp22_); +#line 903 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp23_) { +#line 904 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = TRUE; +#line 906 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 906 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 6994 "LibraryMonitor.c" + } +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 6998 "LibraryMonitor.c" + } +#line 902 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 7002 "LibraryMonitor.c" + } +#line 910 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = known; +#line 910 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp24_) { +#line 7008 "LibraryMonitor.c" + GFile* _tmp25_ = NULL; +#line 911 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = new_file; +#line 911 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_runtime_unknown_file_discovered (self, _tmp25_); +#line 7014 "LibraryMonitor.c" + } +#line 913 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = old_file; +#line 913 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = new_file; +#line 913 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = new_info; +#line 913 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_moved (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp26_, _tmp27_, _tmp28_); +#line 7024 "LibraryMonitor.c" +} + + +static void library_monitor_real_notify_file_altered (DirectoryMonitor* base, GFile* file) { + LibraryMonitor * self; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean known = FALSE; + gboolean _tmp17_ = FALSE; + GFile* _tmp19_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 916 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 917 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = file; +#line 917 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_is_blacklisted (_tmp0_); +#line 917 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 7045 "LibraryMonitor.c" + GFile* _tmp2_ = NULL; +#line 918 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = file; +#line 918 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_); +#line 920 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 7053 "LibraryMonitor.c" + } +#line 923 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = FALSE; +#line 7057 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _monitor_index = 0; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = self->priv->monitors; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp4_; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _monitor_list; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _tmp6_; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp7_; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 7085 "LibraryMonitor.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gpointer _tmp13_ = NULL; + MediaMonitor* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _monitor_index; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp8_ + 1; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_index; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _monitor_size; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp9_ < _tmp10_)) { +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7108 "LibraryMonitor.c" + } +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = _monitor_list; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _monitor_index; +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = gee_list_get (_tmp11_, _tmp12_); +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp13_; +#line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = monitor; +#line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = file; +#line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = media_monitor_notify_file_altered (_tmp14_, _tmp15_); +#line 925 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp16_) { +#line 926 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = TRUE; +#line 928 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 928 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7132 "LibraryMonitor.c" + } +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 7136 "LibraryMonitor.c" + } +#line 924 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 7140 "LibraryMonitor.c" + } +#line 932 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = known; +#line 932 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp17_) { +#line 7146 "LibraryMonitor.c" + GFile* _tmp18_ = NULL; +#line 933 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = file; +#line 933 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_runtime_unknown_file_discovered (self, _tmp18_); +#line 7152 "LibraryMonitor.c" + } +#line 935 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = file; +#line 935 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp19_); +#line 7158 "LibraryMonitor.c" +} + + +static void library_monitor_real_notify_file_attributes_altered (DirectoryMonitor* base, GFile* file) { + LibraryMonitor * self; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean known = FALSE; + gboolean _tmp17_ = FALSE; + GFile* _tmp19_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 938 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 939 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = file; +#line 939 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_is_blacklisted (_tmp0_); +#line 939 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 7179 "LibraryMonitor.c" + GFile* _tmp2_ = NULL; +#line 940 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = file; +#line 940 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_attributes_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_); +#line 942 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 7187 "LibraryMonitor.c" + } +#line 945 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = FALSE; +#line 7191 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _monitor_index = 0; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = self->priv->monitors; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp4_; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _monitor_list; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _tmp6_; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp7_; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 7219 "LibraryMonitor.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gpointer _tmp13_ = NULL; + MediaMonitor* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _monitor_index; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp8_ + 1; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_index; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _monitor_size; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp9_ < _tmp10_)) { +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7242 "LibraryMonitor.c" + } +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = _monitor_list; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _monitor_index; +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = gee_list_get (_tmp11_, _tmp12_); +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp13_; +#line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = monitor; +#line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = file; +#line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = media_monitor_notify_file_attributes_altered (_tmp14_, _tmp15_); +#line 947 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp16_) { +#line 948 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = TRUE; +#line 950 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 950 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7266 "LibraryMonitor.c" + } +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 7270 "LibraryMonitor.c" + } +#line 946 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 7274 "LibraryMonitor.c" + } +#line 954 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = known; +#line 954 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp17_) { +#line 7280 "LibraryMonitor.c" + GFile* _tmp18_ = NULL; +#line 955 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = file; +#line 955 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_runtime_unknown_file_discovered (self, _tmp18_); +#line 7286 "LibraryMonitor.c" + } +#line 957 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = file; +#line 957 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_attributes_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp19_); +#line 7292 "LibraryMonitor.c" +} + + +static void library_monitor_real_notify_file_alteration_completed (DirectoryMonitor* base, GFile* file, GFileInfo* info) { + LibraryMonitor * self; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean known = FALSE; + gboolean _tmp19_ = FALSE; + GFile* _tmp21_ = NULL; + GFileInfo* _tmp22_ = NULL; +#line 960 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 960 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 960 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 961 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = file; +#line 961 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_is_blacklisted (_tmp0_); +#line 961 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 7316 "LibraryMonitor.c" + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; +#line 962 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = file; +#line 962 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = info; +#line 962 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_alteration_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_, _tmp3_); +#line 964 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 7327 "LibraryMonitor.c" + } +#line 967 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = FALSE; +#line 7331 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _monitor_index = 0; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = self->priv->monitors; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp5_; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _monitor_list; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _tmp7_; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp8_; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 7359 "LibraryMonitor.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + MediaMonitor* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFileInfo* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_index; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp9_ + 1; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _monitor_index; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = _monitor_size; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7383 "LibraryMonitor.c" + } +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _monitor_list; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = _monitor_index; +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp14_; +#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = monitor; +#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = file; +#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = info; +#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = media_monitor_notify_file_alteration_completed (_tmp15_, _tmp16_, _tmp17_); +#line 969 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp18_) { +#line 970 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = TRUE; +#line 972 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 972 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7409 "LibraryMonitor.c" + } +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 7413 "LibraryMonitor.c" + } +#line 968 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 7417 "LibraryMonitor.c" + } +#line 976 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = known; +#line 976 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp19_) { +#line 7423 "LibraryMonitor.c" + GFile* _tmp20_ = NULL; +#line 977 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = file; +#line 977 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_runtime_unknown_file_discovered (self, _tmp20_); +#line 7429 "LibraryMonitor.c" + } +#line 979 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = file; +#line 979 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = info; +#line 979 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_alteration_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp21_, _tmp22_); +#line 7437 "LibraryMonitor.c" +} + + +static void library_monitor_real_notify_file_deleted (DirectoryMonitor* base, GFile* file) { + LibraryMonitor * self; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean known = FALSE; + gboolean _tmp17_ = FALSE; + GFile* _tmp28_ = NULL; +#line 982 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 982 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 983 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = file; +#line 983 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = library_monitor_is_blacklisted (_tmp0_); +#line 983 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp1_) { +#line 7458 "LibraryMonitor.c" + GFile* _tmp2_ = NULL; +#line 984 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = file; +#line 984 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_deleted (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp2_); +#line 986 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 7466 "LibraryMonitor.c" + } +#line 989 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = FALSE; +#line 7470 "LibraryMonitor.c" + { + GeeList* _monitor_list = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _monitor_size = 0; + GeeList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _monitor_index = 0; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = self->priv->monitors; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_list = _tmp4_; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _monitor_list; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _tmp6_; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_size = _tmp7_; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = -1; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 7498 "LibraryMonitor.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + MediaMonitor* monitor = NULL; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gpointer _tmp13_ = NULL; + MediaMonitor* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _monitor_index; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _monitor_index = _tmp8_ + 1; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = _monitor_index; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _monitor_size; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!(_tmp9_ < _tmp10_)) { +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7521 "LibraryMonitor.c" + } +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = _monitor_list; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = _monitor_index; +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = gee_list_get (_tmp11_, _tmp12_); +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + monitor = (MediaMonitor*) _tmp13_; +#line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = monitor; +#line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = file; +#line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = media_monitor_notify_file_deleted (_tmp14_, _tmp15_); +#line 991 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp16_) { +#line 992 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + known = TRUE; +#line 994 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 994 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7545 "LibraryMonitor.c" + } +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (monitor); +#line 7549 "LibraryMonitor.c" + } +#line 990 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_monitor_list); +#line 7553 "LibraryMonitor.c" + } +#line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = known; +#line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp17_) { +#line 7559 "LibraryMonitor.c" + Tombstone* tombstone = NULL; + TombstoneSourceCollection* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + Tombstone* _tmp20_ = NULL; + Tombstone* _tmp21_ = NULL; + GFile* _tmp27_ = NULL; +#line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = tombstone_global; +#line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = file; +#line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = tombstone_source_collection_locate (_tmp18_, _tmp19_); +#line 1000 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + tombstone = _tmp20_; +#line 1001 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = tombstone; +#line 1001 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp21_ != NULL) { +#line 7578 "LibraryMonitor.c" + GFile* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + TombstoneSourceCollection* _tmp25_ = NULL; + Tombstone* _tmp26_ = NULL; +#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = file; +#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = g_file_get_path (_tmp22_); +#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = _tmp23_; +#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_debug ("LibraryMonitor.vala:1002: Resurrecting tombstoned file %s", _tmp24_); +#line 1002 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp24_); +#line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = tombstone_global; +#line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = tombstone; +#line 1003 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + tombstone_source_collection_resurrect (_tmp25_, _tmp26_); +#line 7600 "LibraryMonitor.c" + } +#line 1007 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = file; +#line 1007 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_remove_queued_import (self, _tmp27_); +#line 998 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (tombstone); +#line 7608 "LibraryMonitor.c" + } +#line 1010 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = file; +#line 1010 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + DIRECTORY_MONITOR_CLASS (library_monitor_parent_class)->notify_file_deleted (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), _tmp28_); +#line 7614 "LibraryMonitor.c" +} + + +static void g_cclosure_user_marshal_VOID__INT_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2); + register GMarshalFunc_VOID__INT_INT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (n_param_values == 3); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + data1 = closure->data; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + data2 = param_values->data[0].v_pointer; +#line 7633 "LibraryMonitor.c" + } else { +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + data1 = param_values->data[0].v_pointer; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + data2 = closure->data; +#line 7639 "LibraryMonitor.c" + } +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + callback (data1, g_value_get_int (param_values + 1), g_value_get_int (param_values + 2), data2); +#line 7645 "LibraryMonitor.c" +} + + +static void g_cclosure_user_marshal_VOID__UINT64_UINT64 (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__UINT64_UINT64) (gpointer data1, guint64 arg_1, guint64 arg_2, gpointer data2); + register GMarshalFunc_VOID__UINT64_UINT64 callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (n_param_values == 3); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + data1 = closure->data; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + data2 = param_values->data[0].v_pointer; +#line 7664 "LibraryMonitor.c" + } else { +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + data1 = param_values->data[0].v_pointer; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + data2 = closure->data; +#line 7670 "LibraryMonitor.c" + } +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + callback = (GMarshalFunc_VOID__UINT64_UINT64) (marshal_data ? marshal_data : cc->callback); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + callback (data1, g_value_get_uint64 (param_values + 1), g_value_get_uint64 (param_values + 2), data2); +#line 7676 "LibraryMonitor.c" +} + + +static void _library_monitor_on_find_move_completed_completion_callback (BackgroundJob* job, gpointer self) { +#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_on_find_move_completed ((LibraryMonitor*) self, job); +#line 7683 "LibraryMonitor.c" +} + + +static void _library_monitor_on_find_move_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_on_find_move_cancelled ((LibraryMonitor*) self, job); +#line 7690 "LibraryMonitor.c" +} + + +static LibraryMonitorFindMoveJob* library_monitor_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates) { + LibraryMonitorFindMoveJob* self = NULL; + LibraryMonitor* _tmp0_ = NULL; + LibraryMonitor* _tmp1_ = NULL; + LibraryMonitor* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + LibraryMonitor* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_MONITOR (owner), NULL); +#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (candidates), NULL); +#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = owner; +#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = owner; +#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = owner; +#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_->priv->cancellable; +#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = owner; +#line 111 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = (LibraryMonitorFindMoveJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _library_monitor_on_find_move_completed_completion_callback, _tmp1_, _tmp3_, _library_monitor_on_find_move_cancelled_cancellation_callback, _tmp4_, NULL); +#line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = file; +#line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->file); +#line 113 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->file = _tmp6_; +#line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = candidates; +#line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->candidates); +#line 114 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->candidates = _tmp8_; +#line 116 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + background_job_set_completion_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW); +#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self; +#line 7743 "LibraryMonitor.c" +} + + +static LibraryMonitorFindMoveJob* library_monitor_find_move_job_new (LibraryMonitor* owner, GFile* file, GeeCollection* candidates) { +#line 110 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return library_monitor_find_move_job_construct (LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, owner, file, candidates); +#line 7750 "LibraryMonitor.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self ? g_error_copy (self) : NULL; +#line 7757 "LibraryMonitor.c" +} + + +static void library_monitor_find_move_job_real_execute (BackgroundJob* base) { + LibraryMonitorFindMoveJob * self; + GeeIterator* iter = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; + GeeCollection* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gchar* md5 = NULL; + GError * _inner_error_ = NULL; +#line 119 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob); +#line 121 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = self->candidates; +#line 121 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 121 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + iter = _tmp1_; +#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 7781 "LibraryMonitor.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + Monitorable* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = iter; +#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp3_) { +#line 122 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7799 "LibraryMonitor.c" + } +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = iter; +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = (Monitorable*) _tmp5_; +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _tmp7_; +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = g_file_query_exists (_tmp8_, NULL); +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _tmp9_; +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp8_); +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp6_); +#line 123 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp10_) { +#line 7821 "LibraryMonitor.c" + GeeIterator* _tmp11_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = iter; +#line 124 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_iterator_remove (_tmp11_); +#line 7827 "LibraryMonitor.c" + } + } +#line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = self->candidates; +#line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = gee_collection_get_size (_tmp12_); +#line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = _tmp13_; +#line 128 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp14_ == 0) { +#line 129 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (iter); +#line 129 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 7842 "LibraryMonitor.c" + } +#line 131 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + md5 = NULL; +#line 7846 "LibraryMonitor.c" + { + gchar* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = self->file; +#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = md5_file (_tmp16_, &_inner_error_); +#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = _tmp17_; +#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7860 "LibraryMonitor.c" + goto __catch480_g_error; + } +#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = _tmp15_; +#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (md5); +#line 133 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + md5 = _tmp18_; +#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp15_); +#line 7873 "LibraryMonitor.c" + } + goto __finally480; + __catch480_g_error: + { + GError* err = NULL; + GError* _tmp19_ = NULL; + GError* _tmp20_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + err = _inner_error_; +#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _inner_error_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp19_ = err; +#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp20_ = _g_error_copy0 (_tmp19_); +#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_error_free0 (self->err); +#line 135 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->err = _tmp20_; +#line 137 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_error_free0 (err); +#line 137 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (md5); +#line 137 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (iter); +#line 137 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 7901 "LibraryMonitor.c" + } + __finally480: +#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (md5); +#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (iter); +#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.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 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_inner_error_); +#line 132 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 7916 "LibraryMonitor.c" + } + { + GeeIterator* _candidate_it = NULL; + GeeCollection* _tmp21_ = NULL; + GeeIterator* _tmp22_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp21_ = self->candidates; +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp22_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _candidate_it = _tmp22_; +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 7930 "LibraryMonitor.c" + GeeIterator* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + Monitorable* candidate = NULL; + GeeIterator* _tmp25_ = NULL; + gpointer _tmp26_ = NULL; + Monitorable* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; + Monitorable* _tmp32_ = NULL; + Monitorable* _tmp46_ = NULL; + Monitorable* _tmp47_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp23_ = _candidate_it; +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp24_ = gee_iterator_next (_tmp23_); +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp24_) { +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 7952 "LibraryMonitor.c" + } +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp25_ = _candidate_it; +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp26_ = gee_iterator_get (_tmp25_); +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + candidate = (Monitorable*) _tmp26_; +#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp27_ = candidate; +#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp28_ = media_source_get_master_md5 (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp29_ = _tmp28_; +#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp30_ = md5; +#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp31_ = g_strcmp0 (_tmp29_, _tmp30_) != 0; +#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp29_); +#line 141 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp31_) { +#line 142 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (candidate); +#line 142 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 7978 "LibraryMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp32_ = self->match; +#line 144 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp32_ != NULL) { +#line 7984 "LibraryMonitor.c" + GFile* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + Monitorable* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + Monitorable* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + GeeArrayList* _tmp42_ = NULL; + GeeArrayList* _tmp44_ = NULL; + Monitorable* _tmp45_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp33_ = self->file; +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp34_ = g_file_get_path (_tmp33_); +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp35_ = _tmp34_; +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp36_ = self->match; +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp37_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_DATA_OBJECT, DataObject)); +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp38_ = _tmp37_; +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp39_ = candidate; +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp40_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_DATA_OBJECT, DataObject)); +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp41_ = _tmp40_; +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_warning ("LibraryMonitor.vala:145: Found more than one media match for %s: %s an" \ +"d %s", _tmp35_, _tmp38_, _tmp41_); +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp41_); +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp38_); +#line 145 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp35_); +#line 148 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp42_ = self->losers; +#line 148 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp42_ == NULL) { +#line 8027 "LibraryMonitor.c" + GeeArrayList* _tmp43_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp43_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 149 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->losers); +#line 149 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->losers = _tmp43_; +#line 8035 "LibraryMonitor.c" + } +#line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp44_ = self->losers; +#line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp45_ = candidate; +#line 151 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp45_); +#line 153 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (candidate); +#line 153 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + continue; +#line 8047 "LibraryMonitor.c" + } +#line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp46_ = candidate; +#line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp47_ = _g_object_ref0 (_tmp46_); +#line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->match); +#line 156 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->match = _tmp47_; +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (candidate); +#line 8059 "LibraryMonitor.c" + } +#line 140 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_candidate_it); +#line 8063 "LibraryMonitor.c" + } +#line 119 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (md5); +#line 119 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (iter); +#line 8069 "LibraryMonitor.c" +} + + +static void library_monitor_find_move_job_class_init (LibraryMonitorFindMoveJobClass * klass) { +#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_find_move_job_parent_class = g_type_class_peek_parent (klass); +#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((BackgroundJobClass *) klass)->finalize = library_monitor_find_move_job_finalize; +#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((BackgroundJobClass *) klass)->execute = library_monitor_find_move_job_real_execute; +#line 8080 "LibraryMonitor.c" +} + + +static void library_monitor_find_move_job_instance_init (LibraryMonitorFindMoveJob * self) { +#line 106 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->match = NULL; +#line 107 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->losers = NULL; +#line 108 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->err = NULL; +#line 8091 "LibraryMonitor.c" +} + + +static void library_monitor_find_move_job_finalize (BackgroundJob* obj) { + LibraryMonitorFindMoveJob * self; +#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_MONITOR_TYPE_FIND_MOVE_JOB, LibraryMonitorFindMoveJob); +#line 104 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->file); +#line 105 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->candidates); +#line 106 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->match); +#line 107 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->losers); +#line 108 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_error_free0 (self->err); +#line 103 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + BACKGROUND_JOB_CLASS (library_monitor_find_move_job_parent_class)->finalize (obj); +#line 8111 "LibraryMonitor.c" +} + + +static GType library_monitor_find_move_job_get_type (void) { + static volatile gsize library_monitor_find_move_job_type_id__volatile = 0; + if (g_once_init_enter (&library_monitor_find_move_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorFindMoveJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_find_move_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitorFindMoveJob), 0, (GInstanceInitFunc) library_monitor_find_move_job_instance_init, NULL }; + GType library_monitor_find_move_job_type_id; + library_monitor_find_move_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "LibraryMonitorFindMoveJob", &g_define_type_info, 0); + g_once_init_leave (&library_monitor_find_move_job_type_id__volatile, library_monitor_find_move_job_type_id); + } + return library_monitor_find_move_job_type_id__volatile; +} + + +static void _library_monitor_on_runtime_find_move_completed_completion_callback (BackgroundJob* job, gpointer self) { +#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_on_runtime_find_move_completed ((LibraryMonitor*) self, job); +#line 8130 "LibraryMonitor.c" +} + + +static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_construct (GType object_type, LibraryMonitor* owner, GFile* file, GeeCollection* candidates) { + LibraryMonitorRuntimeFindMoveJob* self = NULL; + LibraryMonitor* _tmp0_ = NULL; + LibraryMonitor* _tmp1_ = NULL; + LibraryMonitor* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_MONITOR (owner), NULL); +#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (candidates), NULL); +#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = owner; +#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = owner; +#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = owner; +#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp2_->priv->cancellable; +#line 168 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = (LibraryMonitorRuntimeFindMoveJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _library_monitor_on_runtime_find_move_completed_completion_callback, _tmp1_, _tmp3_, NULL, NULL, NULL); +#line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = file; +#line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->file); +#line 170 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->file = _tmp5_; +#line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = candidates; +#line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->candidates); +#line 171 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->candidates = _tmp7_; +#line 173 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + background_job_set_completion_priority (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob), G_PRIORITY_LOW); +#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self; +#line 8180 "LibraryMonitor.c" +} + + +static LibraryMonitorRuntimeFindMoveJob* library_monitor_runtime_find_move_job_new (LibraryMonitor* owner, GFile* file, GeeCollection* candidates) { +#line 167 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return library_monitor_runtime_find_move_job_construct (LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, owner, file, candidates); +#line 8187 "LibraryMonitor.c" +} + + +static void library_monitor_runtime_find_move_job_real_execute (BackgroundJob* base) { + LibraryMonitorRuntimeFindMoveJob * self; + gchar* md5 = NULL; + GError * _inner_error_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob); +#line 177 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + md5 = NULL; +#line 8199 "LibraryMonitor.c" + { + gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = self->file; +#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = md5_file (_tmp1_, &_inner_error_); +#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = _tmp2_; +#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8213 "LibraryMonitor.c" + goto __catch481_g_error; + } +#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _tmp0_; +#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (md5); +#line 179 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + md5 = _tmp3_; +#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp0_); +#line 8226 "LibraryMonitor.c" + } + goto __finally481; + __catch481_g_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + err = _inner_error_; +#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _inner_error_ = NULL; +#line 181 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = err; +#line 181 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = _g_error_copy0 (_tmp4_); +#line 181 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_error_free0 (self->err); +#line 181 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->err = _tmp5_; +#line 183 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_error_free0 (err); +#line 183 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (md5); +#line 183 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 8252 "LibraryMonitor.c" + } + __finally481: +#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (md5); +#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.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 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_clear_error (&_inner_error_); +#line 178 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return; +#line 8265 "LibraryMonitor.c" + } + { + GeeIterator* _candidate_it = NULL; + GeeCollection* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = self->candidates; +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _candidate_it = _tmp7_; +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + while (TRUE) { +#line 8279 "LibraryMonitor.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + Monitorable* candidate = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + Monitorable* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp8_ = _candidate_it; +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!_tmp9_) { +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 8298 "LibraryMonitor.c" + } +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp10_ = _candidate_it; +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + candidate = (Monitorable*) _tmp11_; +#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp12_ = candidate; +#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp13_ = media_source_get_master_md5 (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp14_ = _tmp13_; +#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp15_ = md5; +#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp16_ = g_strcmp0 (_tmp14_, _tmp15_) == 0; +#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (_tmp14_); +#line 187 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (_tmp16_) { +#line 8320 "LibraryMonitor.c" + Monitorable* _tmp17_ = NULL; + Monitorable* _tmp18_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp17_ = candidate; +#line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->match); +#line 188 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->match = _tmp18_; +#line 190 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (candidate); +#line 190 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + break; +#line 8335 "LibraryMonitor.c" + } +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (candidate); +#line 8339 "LibraryMonitor.c" + } +#line 186 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_candidate_it); +#line 8343 "LibraryMonitor.c" + } +#line 176 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_free0 (md5); +#line 8347 "LibraryMonitor.c" +} + + +static void library_monitor_runtime_find_move_job_class_init (LibraryMonitorRuntimeFindMoveJobClass * klass) { +#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_runtime_find_move_job_parent_class = g_type_class_peek_parent (klass); +#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((BackgroundJobClass *) klass)->finalize = library_monitor_runtime_find_move_job_finalize; +#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((BackgroundJobClass *) klass)->execute = library_monitor_runtime_find_move_job_real_execute; +#line 8358 "LibraryMonitor.c" +} + + +static void library_monitor_runtime_find_move_job_instance_init (LibraryMonitorRuntimeFindMoveJob * self) { +#line 164 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->match = NULL; +#line 165 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->err = NULL; +#line 8367 "LibraryMonitor.c" +} + + +static void library_monitor_runtime_find_move_job_finalize (BackgroundJob* obj) { + LibraryMonitorRuntimeFindMoveJob * self; +#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_MONITOR_TYPE_RUNTIME_FIND_MOVE_JOB, LibraryMonitorRuntimeFindMoveJob); +#line 162 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->file); +#line 163 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->candidates); +#line 164 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->match); +#line 165 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_error_free0 (self->err); +#line 161 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + BACKGROUND_JOB_CLASS (library_monitor_runtime_find_move_job_parent_class)->finalize (obj); +#line 8385 "LibraryMonitor.c" +} + + +static GType library_monitor_runtime_find_move_job_get_type (void) { + static volatile gsize library_monitor_runtime_find_move_job_type_id__volatile = 0; + if (g_once_init_enter (&library_monitor_runtime_find_move_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorRuntimeFindMoveJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_runtime_find_move_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitorRuntimeFindMoveJob), 0, (GInstanceInitFunc) library_monitor_runtime_find_move_job_instance_init, NULL }; + GType library_monitor_runtime_find_move_job_type_id; + library_monitor_runtime_find_move_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "LibraryMonitorRuntimeFindMoveJob", &g_define_type_info, 0); + g_once_init_leave (&library_monitor_runtime_find_move_job_type_id__volatile, library_monitor_runtime_find_move_job_type_id); + } + return library_monitor_runtime_find_move_job_type_id__volatile; +} + + +static LibraryMonitorVerifyJob* library_monitor_verify_job_construct (GType object_type, Monitorable* monitorable, MediaMonitor* monitor) { + LibraryMonitorVerifyJob* self = NULL; + Monitorable* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; + MediaMonitor* _tmp2_ = NULL; + MediaMonitor* _tmp3_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (monitor), NULL); +#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = (LibraryMonitorVerifyJob*) g_type_create_instance (object_type); +#line 201 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = monitorable; +#line 201 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 201 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->monitorable); +#line 201 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->monitorable = _tmp1_; +#line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = monitor; +#line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->monitor); +#line 202 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->monitor = _tmp3_; +#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return self; +#line 8431 "LibraryMonitor.c" +} + + +static LibraryMonitorVerifyJob* library_monitor_verify_job_new (Monitorable* monitorable, MediaMonitor* monitor) { +#line 200 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return library_monitor_verify_job_construct (LIBRARY_MONITOR_TYPE_VERIFY_JOB, monitorable, monitor); +#line 8438 "LibraryMonitor.c" +} + + +static void library_monitor_value_verify_job_init (GValue* value) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 8445 "LibraryMonitor.c" +} + + +static void library_monitor_value_verify_job_free_value (GValue* value) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (value->data[0].v_pointer) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_verify_job_unref (value->data[0].v_pointer); +#line 8454 "LibraryMonitor.c" + } +} + + +static void library_monitor_value_verify_job_copy_value (const GValue* src_value, GValue* dest_value) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (src_value->data[0].v_pointer) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + dest_value->data[0].v_pointer = library_monitor_verify_job_ref (src_value->data[0].v_pointer); +#line 8464 "LibraryMonitor.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + dest_value->data[0].v_pointer = NULL; +#line 8468 "LibraryMonitor.c" + } +} + + +static gpointer library_monitor_value_verify_job_peek_pointer (const GValue* value) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return value->data[0].v_pointer; +#line 8476 "LibraryMonitor.c" +} + + +static gchar* library_monitor_value_verify_job_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (collect_values[0].v_pointer) { +#line 8483 "LibraryMonitor.c" + LibraryMonitorVerifyJob* object; + object = collect_values[0].v_pointer; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (object->parent_instance.g_class == NULL) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8490 "LibraryMonitor.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8494 "LibraryMonitor.c" + } +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = library_monitor_verify_job_ref (object); +#line 8498 "LibraryMonitor.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 8502 "LibraryMonitor.c" + } +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return NULL; +#line 8506 "LibraryMonitor.c" +} + + +static gchar* library_monitor_value_verify_job_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + LibraryMonitorVerifyJob** object_p; + object_p = collect_values[0].v_pointer; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!object_p) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8517 "LibraryMonitor.c" + } +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (!value->data[0].v_pointer) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + *object_p = NULL; +#line 8523 "LibraryMonitor.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + *object_p = value->data[0].v_pointer; +#line 8527 "LibraryMonitor.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + *object_p = library_monitor_verify_job_ref (value->data[0].v_pointer); +#line 8531 "LibraryMonitor.c" + } +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return NULL; +#line 8535 "LibraryMonitor.c" +} + + +static GParamSpec* library_monitor_param_spec_verify_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + LibraryMonitorParamSpecVerifyJob* spec; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (g_type_is_a (object_type, LIBRARY_MONITOR_TYPE_VERIFY_JOB), NULL); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return G_PARAM_SPEC (spec); +#line 8549 "LibraryMonitor.c" +} + + +static gpointer library_monitor_value_get_verify_job (const GValue* value) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIBRARY_MONITOR_TYPE_VERIFY_JOB), NULL); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return value->data[0].v_pointer; +#line 8558 "LibraryMonitor.c" +} + + +static void library_monitor_value_set_verify_job (GValue* value, gpointer v_object) { + LibraryMonitorVerifyJob* old; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIBRARY_MONITOR_TYPE_VERIFY_JOB)); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + old = value->data[0].v_pointer; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (v_object) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIBRARY_MONITOR_TYPE_VERIFY_JOB)); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = v_object; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_verify_job_ref (value->data[0].v_pointer); +#line 8578 "LibraryMonitor.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 8582 "LibraryMonitor.c" + } +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (old) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_verify_job_unref (old); +#line 8588 "LibraryMonitor.c" + } +} + + +static void library_monitor_value_take_verify_job (GValue* value, gpointer v_object) { + LibraryMonitorVerifyJob* old; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIBRARY_MONITOR_TYPE_VERIFY_JOB)); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + old = value->data[0].v_pointer; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (v_object) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIBRARY_MONITOR_TYPE_VERIFY_JOB)); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = v_object; +#line 8607 "LibraryMonitor.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + value->data[0].v_pointer = NULL; +#line 8611 "LibraryMonitor.c" + } +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (old) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_verify_job_unref (old); +#line 8617 "LibraryMonitor.c" + } +} + + +static void library_monitor_verify_job_class_init (LibraryMonitorVerifyJobClass * klass) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_verify_job_parent_class = g_type_class_peek_parent (klass); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((LibraryMonitorVerifyJobClass *) klass)->finalize = library_monitor_verify_job_finalize; +#line 8627 "LibraryMonitor.c" +} + + +static void library_monitor_verify_job_instance_init (LibraryMonitorVerifyJob * self) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->ref_count = 1; +#line 8634 "LibraryMonitor.c" +} + + +static void library_monitor_verify_job_finalize (LibraryMonitorVerifyJob* obj) { + LibraryMonitorVerifyJob * self; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_MONITOR_TYPE_VERIFY_JOB, LibraryMonitorVerifyJob); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_handlers_destroy (self); +#line 197 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->monitorable); +#line 198 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->monitor); +#line 8648 "LibraryMonitor.c" +} + + +static GType library_monitor_verify_job_get_type (void) { + static volatile gsize library_monitor_verify_job_type_id__volatile = 0; + if (g_once_init_enter (&library_monitor_verify_job_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { library_monitor_value_verify_job_init, library_monitor_value_verify_job_free_value, library_monitor_value_verify_job_copy_value, library_monitor_value_verify_job_peek_pointer, "p", library_monitor_value_verify_job_collect_value, "p", library_monitor_value_verify_job_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorVerifyJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_verify_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitorVerifyJob), 0, (GInstanceInitFunc) library_monitor_verify_job_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType library_monitor_verify_job_type_id; + library_monitor_verify_job_type_id = g_type_register_fundamental (g_type_fundamental_next (), "LibraryMonitorVerifyJob", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&library_monitor_verify_job_type_id__volatile, library_monitor_verify_job_type_id); + } + return library_monitor_verify_job_type_id__volatile; +} + + +static gpointer library_monitor_verify_job_ref (gpointer instance) { + LibraryMonitorVerifyJob* self; + self = instance; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_atomic_int_inc (&self->ref_count); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + return instance; +#line 8673 "LibraryMonitor.c" +} + + +static void library_monitor_verify_job_unref (gpointer instance) { + LibraryMonitorVerifyJob* self; + self = instance; +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + LIBRARY_MONITOR_VERIFY_JOB_GET_CLASS (self)->finalize (self); +#line 196 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8686 "LibraryMonitor.c" + } +} + + +static void library_monitor_class_init (LibraryMonitorClass * klass) { + GeeHashSet* _tmp0_ = NULL; + HashTimedQueue* _tmp1_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_parent_class = g_type_class_peek_parent (klass); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_type_class_add_private (klass, sizeof (LibraryMonitorPrivate)); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->close = library_monitor_real_close; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->discovery_started = library_monitor_real_discovery_started; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->file_discovered = library_monitor_real_file_discovered; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->discovery_completed = library_monitor_real_discovery_completed; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_created = library_monitor_real_notify_file_created; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_moved = library_monitor_real_notify_file_moved; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_altered = library_monitor_real_notify_file_altered; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_attributes_altered = library_monitor_real_notify_file_attributes_altered; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_alteration_completed = library_monitor_real_notify_file_alteration_completed; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + ((DirectoryMonitorClass *) klass)->notify_file_deleted = library_monitor_real_notify_file_deleted; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + G_OBJECT_CLASS (klass)->finalize = library_monitor_finalize; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_new ("auto_update_progress", TYPE_LIBRARY_MONITOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_new ("auto_import_preparing", TYPE_LIBRARY_MONITOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_new ("auto_import_progress", TYPE_LIBRARY_MONITOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__UINT64_UINT64, G_TYPE_NONE, 2, G_TYPE_UINT64, G_TYPE_UINT64); +#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_rec_mutex_init (&__lock_library_monitor_blacklist); +#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 206 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_blacklist = _tmp0_; +#line 207 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = hash_timed_queue_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, (guint) LIBRARY_MONITOR_MIN_BLACKLIST_DURATION_MSEC, _library_monitor_on_unblacklist_file_dequeued_callback, NULL, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, G_PRIORITY_LOW); +#line 207 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + library_monitor_to_unblacklist = _tmp1_; +#line 8736 "LibraryMonitor.c" +} + + +static void library_monitor_instance_init (LibraryMonitor * self) { + guint _tmp0_ = 0U; + Workers* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeHashSet* _tmp4_ = NULL; + GeeHashSet* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + GeeLinkedList* _tmp7_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv = LIBRARY_MONITOR_GET_PRIVATE (self); +#line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = workers_thread_per_cpu_minus_one (); +#line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = workers_new (_tmp0_, FALSE); +#line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->workers = _tmp1_; +#line 211 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp2_ = g_cancellable_new (); +#line 211 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->cancellable = _tmp2_; +#line 212 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->auto_import = FALSE; +#line 213 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->unknown_files = NULL; +#line 214 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp3_ = gee_array_list_new (TYPE_MEDIA_MONITOR, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 214 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->monitors = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList); +#line 215 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->discovered = NULL; +#line 216 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp4_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 216 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->import_queue = _tmp4_; +#line 217 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp5_ = gee_hash_set_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 217 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->pending_imports = _tmp5_; +#line 218 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp6_ = gee_array_list_new (TYPE_BATCH_IMPORT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 218 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->batch_import_queue = _tmp6_; +#line 219 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->current_import_roll = NULL; +#line 220 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->last_import_roll_use = (time_t) 0; +#line 221 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->current_batch_import = NULL; +#line 222 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->checksums_completed = 0; +#line 223 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->checksums_total = 0; +#line 224 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->import_queue_timer_id = (guint) 0; +#line 225 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp7_ = gee_linked_list_new (LIBRARY_MONITOR_TYPE_VERIFY_JOB, (GBoxedCopyFunc) library_monitor_verify_job_ref, library_monitor_verify_job_unref, NULL, NULL, NULL); +#line 225 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->verify_queue = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_QUEUE, GeeQueue); +#line 226 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->outstanding_verify_jobs = 0; +#line 227 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->completed_monitorable_verifies = 0; +#line 228 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self->priv->total_monitorable_verifies = 0; +#line 8805 "LibraryMonitor.c" +} + + +static void library_monitor_finalize (GObject* obj) { + LibraryMonitor * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_MONITOR, LibraryMonitor); +#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp0_ = config_facade_get_instance (); +#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _tmp1_ = _tmp0_; +#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_parse_name ("auto-import-from-library-changed", TYPE_CONFIGURATION_FACADE, &_tmp2_, NULL, FALSE); +#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _library_monitor_on_config_changed_configuration_facade_auto_import_from_library_changed, self); +#line 247 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (_tmp1_); +#line 210 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _workers_unref0 (self->priv->workers); +#line 211 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->cancellable); +#line 213 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->unknown_files); +#line 214 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->monitors); +#line 215 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->discovered); +#line 216 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->import_queue); +#line 217 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->pending_imports); +#line 218 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->batch_import_queue); +#line 219 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _batch_import_roll_unref0 (self->priv->current_import_roll); +#line 221 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->current_batch_import); +#line 225 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + _g_object_unref0 (self->priv->verify_queue); +#line 97 "/home/jens/Source/shotwell/src/LibraryMonitor.vala" + G_OBJECT_CLASS (library_monitor_parent_class)->finalize (obj); +#line 8850 "LibraryMonitor.c" +} + + +GType library_monitor_get_type (void) { + static volatile gsize library_monitor_type_id__volatile = 0; + if (g_once_init_enter (&library_monitor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMonitor), 0, (GInstanceInitFunc) library_monitor_instance_init, NULL }; + GType library_monitor_type_id; + library_monitor_type_id = g_type_register_static (TYPE_DIRECTORY_MONITOR, "LibraryMonitor", &g_define_type_info, 0); + g_once_init_leave (&library_monitor_type_id__volatile, library_monitor_type_id); + } + return library_monitor_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/MediaDataRepresentation.c b/src/MediaDataRepresentation.c new file mode 100644 index 0000000..24f4ef7 --- /dev/null +++ b/src/MediaDataRepresentation.c @@ -0,0 +1,8309 @@ +/* MediaDataRepresentation.c generated by valac 0.32.1, the Vala compiler + * generated from MediaDataRepresentation.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_BACKING_FILE_STATE (backing_file_state_get_type ()) +#define BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_FILE_STATE, BackingFileState)) +#define BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) +#define IS_BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_FILE_STATE)) +#define IS_BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_FILE_STATE)) +#define BACKING_FILE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) + +typedef struct _BackingFileState BackingFileState; +typedef struct _BackingFileStateClass BackingFileStateClass; +typedef struct _BackingFileStatePrivate BackingFileStatePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_ORIENTATION (orientation_get_type ()) +typedef struct _ParamSpecBackingFileState ParamSpecBackingFileState; + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#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; +typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate; + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +typedef struct _MediaSourcePrivate MediaSourcePrivate; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_RATING (rating_get_type ()) + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ()) + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ()) +#define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection)) +#define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) +#define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION)) +#define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION)) +#define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) + +typedef struct _EventSourceCollection EventSourceCollection; +typedef struct _EventSourceCollectionClass EventSourceCollectionClass; + +#define TYPE_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; +typedef struct _SourceHoldingTankPrivate SourceHoldingTankPrivate; + +#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ()) +#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank)) +#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) +#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) + +typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank; +typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass; +typedef struct _DatabaseSourceHoldingTankPrivate DatabaseSourceHoldingTankPrivate; + +#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ()) +#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank)) +#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) +#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) + +typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank; +typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass; +typedef struct _MediaSourceHoldingTankPrivate MediaSourceHoldingTankPrivate; + +#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; +typedef struct _TransactionControllerPrivate TransactionControllerPrivate; + +#define TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER (media_source_transaction_controller_get_type ()) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionController)) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass)) +#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER)) +#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER)) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass)) + +typedef struct _MediaSourceTransactionController MediaSourceTransactionController; +typedef struct _MediaSourceTransactionControllerClass MediaSourceTransactionControllerClass; +typedef struct _MediaSourceTransactionControllerPrivate MediaSourceTransactionControllerPrivate; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; +typedef struct _MediaSourceCollectionPrivate MediaSourceCollectionPrivate; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_MEDIA_MONITOR (media_monitor_get_type ()) +#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor)) +#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass)) +#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR)) +#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR)) +#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass)) + +typedef struct _MediaMonitor MediaMonitor; +typedef struct _MediaMonitorClass MediaMonitorClass; +#define _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL))) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define 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 _import_id_free0(var) ((var == NULL) ? NULL : (var = (import_id_free (var), NULL))) + +#define TYPE_AGGREGATE_PROGRESS_MONITOR (aggregate_progress_monitor_get_type ()) +#define AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitor)) +#define AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass)) +#define IS_AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR)) +#define IS_AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR)) +#define AGGREGATE_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass)) + +typedef struct _AggregateProgressMonitor AggregateProgressMonitor; +typedef struct _AggregateProgressMonitorClass AggregateProgressMonitorClass; +#define _aggregate_progress_monitor_unref0(var) ((var == NULL) ? NULL : (var = (aggregate_progress_monitor_unref (var), NULL))) + +#define TOMBSTONE_TYPE_REASON (tombstone_reason_get_type ()) + +#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; +typedef struct _MediaCollectionRegistryPrivate MediaCollectionRegistryPrivate; + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) + +#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ()) +#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor)) +#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) +#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR)) +#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR)) +#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) + +typedef struct _DirectoryMonitor DirectoryMonitor; +typedef struct _DirectoryMonitorClass DirectoryMonitorClass; + +#define TYPE_LIBRARY_MONITOR (library_monitor_get_type ()) +#define LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitor)) +#define LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR, LibraryMonitorClass)) +#define IS_LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR)) +#define IS_LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR)) +#define LIBRARY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitorClass)) + +typedef struct _LibraryMonitor LibraryMonitor; +typedef struct _LibraryMonitorClass LibraryMonitorClass; + +#define TYPE_LIBRARY_MONITOR_POOL (library_monitor_pool_get_type ()) +#define LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool)) +#define LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass)) +#define IS_LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR_POOL)) +#define IS_LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR_POOL)) +#define LIBRARY_MONITOR_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass)) + +typedef struct _LibraryMonitorPool LibraryMonitorPool; +typedef struct _LibraryMonitorPoolClass LibraryMonitorPoolClass; +#define _library_monitor_pool_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_pool_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +typedef struct _ParamSpecMediaCollectionRegistry ParamSpecMediaCollectionRegistry; +#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 _BackingFileState { + GTypeInstance parent_instance; + volatile int ref_count; + BackingFileStatePrivate * priv; + gchar* filepath; + gint64 filesize; + time_t modification_time; + gchar* md5; +}; + +struct _BackingFileStateClass { + GTypeClass parent_class; + void (*finalize) (BackingFileState *self); +}; + +struct _BackingPhotoID { + gint64 id; +}; + +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 _Dimensions { + gint width; + gint height; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + +struct _ParamSpecBackingFileState { + GParamSpec parent_instance; +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +struct _ThumbnailSource { + DataSource parent_instance; + ThumbnailSourcePrivate * priv; +}; + +struct _ThumbnailSourceClass { + DataSourceClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailSource* self); + GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + gchar* (*get_representative_id) (ThumbnailSource* self); + PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self); + void (*thumbnail_altered) (ThumbnailSource* self); +}; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _EventID { + gint64 id; +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _ImportID { + gint64 id; +}; + +struct _MediaSource { + ThumbnailSource parent_instance; + MediaSourcePrivate * priv; +}; + +struct _MediaSourceClass { + ThumbnailSourceClass parent_class; + void (*notify_master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); + gboolean (*set_event_id) (MediaSource* self, EventID* id); + gchar* (*get_basename) (MediaSource* self); + GFile* (*get_file) (MediaSource* self); + GFile* (*get_master_file) (MediaSource* self); + guint64 (*get_master_filesize) (MediaSource* self); + guint64 (*get_filesize) (MediaSource* self); + time_t (*get_timestamp) (MediaSource* self); + BackingFileState** (*get_backing_files_state) (MediaSource* self, int* result_length1); + gchar* (*get_title) (MediaSource* self); + gchar* (*get_comment) (MediaSource* self); + void (*set_title) (MediaSource* self, const gchar* title); + gboolean (*set_comment) (MediaSource* self, const gchar* comment); + Rating (*get_rating) (MediaSource* self); + void (*set_rating) (MediaSource* self, Rating rating); + void (*increase_rating) (MediaSource* self); + void (*decrease_rating) (MediaSource* self); + void (*get_dimensions) (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); + GdkPixbuf* (*get_preview_pixbuf) (MediaSource* self, Scaling* scaling, GError** error); + gboolean (*is_trashed) (MediaSource* self); + void (*trash) (MediaSource* self); + void (*untrash) (MediaSource* self); + gboolean (*is_offline) (MediaSource* self); + void (*mark_offline) (MediaSource* self); + void (*mark_online) (MediaSource* self); + gchar* (*get_master_md5) (MediaSource* self); + void (*get_event_id) (MediaSource* self, EventID* result); + time_t (*get_exposure_time) (MediaSource* self); + void (*get_import_id) (MediaSource* self, ImportID* result); + void (*master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); +}; + +struct _MediaSourcePrivate { + Event* event; + gchar* indexable_keywords; +}; + +typedef enum { + PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL = 1 << 0, + PREPARE_INPUT_TEXT_OPTIONS_VALIDATE = 1 << 1, + PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL = 1 << 2, + PREPARE_INPUT_TEXT_OPTIONS_STRIP = 1 << 3, + PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF = 1 << 4, + PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE = 1 << 5, + PREPARE_INPUT_TEXT_OPTIONS_DEFAULT = ((((PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE +} PrepareInputTextOptions; + +struct _SourceHoldingTank { + GTypeInstance parent_instance; + volatile int ref_count; + SourceHoldingTankPrivate * priv; +}; + +struct _SourceHoldingTankClass { + GTypeClass parent_class; + void (*finalize) (SourceHoldingTank *self); + void (*notify_contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); + void (*contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +}; + +struct _DatabaseSourceHoldingTank { + SourceHoldingTank parent_instance; + DatabaseSourceHoldingTankPrivate * priv; +}; + +struct _DatabaseSourceHoldingTankClass { + SourceHoldingTankClass parent_class; +}; + +struct _MediaSourceHoldingTank { + DatabaseSourceHoldingTank parent_instance; + MediaSourceHoldingTankPrivate * priv; +}; + +struct _MediaSourceHoldingTankClass { + DatabaseSourceHoldingTankClass parent_class; +}; + +struct _MediaSourceHoldingTankPrivate { + GeeHashMap* master_file_map; +}; + +typedef gboolean (*SourceHoldingTankCheckToKeep) (DataSource* source, Alteration* alteration, void* user_data); +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); +struct _TransactionController { + GTypeInstance parent_instance; + volatile int ref_count; + TransactionControllerPrivate * priv; +}; + +struct _TransactionControllerClass { + GTypeClass parent_class; + void (*finalize) (TransactionController *self); + void (*begin_impl) (TransactionController* self, GError** error); + void (*commit_impl) (TransactionController* self, GError** error); +}; + +struct _MediaSourceTransactionController { + TransactionController parent_instance; + MediaSourceTransactionControllerPrivate * priv; +}; + +struct _MediaSourceTransactionControllerClass { + TransactionControllerClass parent_class; +}; + +struct _MediaSourceTransactionControllerPrivate { + MediaSourceCollection* sources; +}; + +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 () +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _MediaSourceCollection { + DatabaseSourceCollection parent_instance; + MediaSourceCollectionPrivate * priv; +}; + +struct _MediaSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; + MediaSourceHoldingTank* (*create_trashcan) (MediaSourceCollection* self); + MediaSourceHoldingTank* (*create_offline_bin) (MediaSourceCollection* self); + MediaMonitor* (*create_media_monitor) (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable); + gchar* (*get_typename) (MediaSourceCollection* self); + gboolean (*is_file_recognized) (MediaSourceCollection* self, GFile* file); + MediaSource* (*fetch_by_numeric_id) (MediaSourceCollection* self, gint64 numeric_id); + void (*notify_import_roll_altered) (MediaSourceCollection* self); + void (*notify_flagged_contents_altered) (MediaSourceCollection* self); + void (*notify_media_import_starting) (MediaSourceCollection* self, GeeCollection* media); + void (*notify_media_import_completed) (MediaSourceCollection* self, GeeCollection* media); + MediaSource* (*fetch_by_source_id) (MediaSourceCollection* self, const gchar* source_id); + GeeCollection* (*get_event_source_ids) (MediaSourceCollection* self, EventID* event_id); + void (*import_many) (MediaSourceCollection* self, GeeCollection* media); + void (*postprocess_imported_media) (MediaSourceCollection* self, GeeCollection* media); + void (*media_import_starting) (MediaSourceCollection* self, GeeCollection* media); + void (*media_import_completed) (MediaSourceCollection* self, GeeCollection* media); + void (*master_file_replaced) (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file); + void (*trashcan_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); + void (*import_roll_altered) (MediaSourceCollection* self); + void (*offline_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); + void (*flagged_contents_altered) (MediaSourceCollection* self); + TransactionController* (*get_transaction_controller) (MediaSourceCollection* self); +}; + +struct _MediaSourceCollectionPrivate { + MediaSourceHoldingTank* trashcan; + MediaSourceHoldingTank* offline_bin; + GeeHashMap* by_master_file; + GeeMultiMap* import_rolls; + GeeTreeSet* sorted_import_ids; + GeeSet* flagged; +}; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +typedef enum { + TOMBSTONE_REASON_REMOVED_BY_USER = 0, + TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE = 1 +} TombstoneReason; + +struct _MediaCollectionRegistry { + GTypeInstance parent_instance; + volatile int ref_count; + MediaCollectionRegistryPrivate * priv; +}; + +struct _MediaCollectionRegistryClass { + GTypeClass parent_class; + void (*finalize) (MediaCollectionRegistry *self); +}; + +struct _MediaCollectionRegistryPrivate { + GeeArrayList* all; + GeeHashMap* by_typename; +}; + +struct _ParamSpecMediaCollectionRegistry { + GParamSpec parent_instance; +}; + + +static gpointer backing_file_state_parent_class = NULL; +static gpointer media_source_parent_class = NULL; +extern EventSourceCollection* event_global; +static IndexableIface* media_source_indexable_parent_iface = NULL; +static gpointer media_source_holding_tank_parent_class = NULL; +static gpointer media_source_transaction_controller_parent_class = NULL; +static gpointer media_source_collection_parent_class = NULL; +static gpointer media_collection_registry_parent_class = NULL; +static MediaCollectionRegistry* media_collection_registry_instance; +static MediaCollectionRegistry* media_collection_registry_instance = NULL; +extern gboolean commandline_options_no_runtime_monitoring; + +gpointer backing_file_state_ref (gpointer instance); +void backing_file_state_unref (gpointer instance); +GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_file_state (GValue* value, gpointer v_object); +void value_take_backing_file_state (GValue* value, gpointer v_object); +gpointer value_get_backing_file_state (const GValue* value); +GType backing_file_state_get_type (void) G_GNUC_CONST; +enum { + BACKING_FILE_STATE_DUMMY_PROPERTY +}; +BackingFileState* backing_file_state_new (const gchar* filepath, gint64 filesize, time_t modification_time, const gchar* md5); +BackingFileState* backing_file_state_construct (GType object_type, const gchar* filepath, gint64 filesize, time_t modification_time, const gchar* md5); +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +BackingFileState* backing_file_state_new_from_photo_row (BackingPhotoRow* photo_row, const gchar* md5); +BackingFileState* backing_file_state_construct_from_photo_row (GType object_type, BackingPhotoRow* photo_row, const gchar* md5); +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType orientation_get_type (void) G_GNUC_CONST; +GFile* backing_file_state_get_file (BackingFileState* self); +static void backing_file_state_finalize (BackingFileState* obj); +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_source_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +GType rating_get_type (void) G_GNUC_CONST; +GType photo_exception_get_type (void) G_GNUC_CONST; +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +#define MEDIA_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MEDIA_SOURCE, MediaSourcePrivate)) +enum { + MEDIA_SOURCE_DUMMY_PROPERTY +}; +MediaSource* media_source_construct (GType object_type, gint64 object_id); +ThumbnailSource* thumbnail_source_construct (GType object_type, gint64 object_id); +guint64 media_source_internal_add_flags (guint64 flags, guint64 selector); +guint64 media_source_internal_remove_flags (guint64 flags, guint64 selector); +gboolean media_source_internal_is_flag_set (guint64 flags, guint64 selector); +void media_source_notify_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file); +static void media_source_real_notify_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file); +static void media_source_real_notify_altered (DataObject* base, Alteration* alteration); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +static void media_source_update_indexable_keywords (MediaSource* self); +Alteration* alteration_compress (Alteration* self, Alteration* other); +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +static void media_source_real_notify_membership_changed (DataObject* base, DataCollection* collection); +void data_object_notify_membership_changed (DataObject* self, DataCollection* collection); +gchar* media_source_get_title (MediaSource* self); +gchar* media_source_get_basename (MediaSource* self); +gchar* media_source_get_comment (MediaSource* self); +gchar* indexable_prepare_indexable_strings (gchar** strs, int strs_length1); +static const gchar* media_source_real_get_indexable_keywords (Indexable* base); +gboolean media_source_set_event_id (MediaSource* self, EventID* id); +static gboolean media_source_real_set_event_id (MediaSource* self, EventID* id); +gboolean media_source_delete_original_file (MediaSource* self); +GFile* media_source_get_master_file (MediaSource* self); +GFile* app_dirs_get_import_dir (void); +gboolean query_is_directory_empty (GFile* dir, GError** error); +static gchar* media_source_real_get_name (DataObject* base); +gboolean is_string_empty (const gchar* s); +static gchar* media_source_real_get_basename (MediaSource* self); +GFile* media_source_get_file (MediaSource* self); +static GFile* media_source_real_get_file (MediaSource* self); +static GFile* media_source_real_get_master_file (MediaSource* self); +guint64 media_source_get_master_filesize (MediaSource* self); +static guint64 media_source_real_get_master_filesize (MediaSource* self); +guint64 media_source_get_filesize (MediaSource* self); +static guint64 media_source_real_get_filesize (MediaSource* self); +time_t media_source_get_timestamp (MediaSource* self); +static time_t media_source_real_get_timestamp (MediaSource* self); +BackingFileState** media_source_get_backing_files_state (MediaSource* self, int* result_length1); +static BackingFileState** media_source_real_get_backing_files_state (MediaSource* self, int* result_length1); +static gchar* media_source_real_get_title (MediaSource* self); +static gchar* media_source_real_get_comment (MediaSource* self); +void media_source_set_title (MediaSource* self, const gchar* title); +static void media_source_real_set_title (MediaSource* self, const gchar* title); +gboolean media_source_set_comment (MediaSource* self, const gchar* comment); +static gboolean media_source_real_set_comment (MediaSource* self, const gchar* comment); +gchar* media_source_prep_title (const gchar* title); +GType prepare_input_text_options_get_type (void) G_GNUC_CONST; +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length); +#define DEFAULT_USER_TEXT_INPUT_LENGTH 1024 +gchar* media_source_prep_comment (const gchar* comment); +Rating media_source_get_rating (MediaSource* self); +static Rating media_source_real_get_rating (MediaSource* self); +void media_source_set_rating (MediaSource* self, Rating rating); +static void media_source_real_set_rating (MediaSource* self, Rating rating); +void media_source_increase_rating (MediaSource* self); +static void media_source_real_increase_rating (MediaSource* self); +void media_source_decrease_rating (MediaSource* self); +static void media_source_real_decrease_rating (MediaSource* self); +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +static void media_source_real_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +GdkPixbuf* media_source_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error); +static GdkPixbuf* media_source_real_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error); +gboolean media_source_is_trashed (MediaSource* self); +static gboolean media_source_real_is_trashed (MediaSource* self); +void media_source_trash (MediaSource* self); +static void media_source_real_trash (MediaSource* self); +void media_source_untrash (MediaSource* self); +static void media_source_real_untrash (MediaSource* self); +gboolean media_source_is_offline (MediaSource* self); +static gboolean media_source_real_is_offline (MediaSource* self); +void media_source_mark_offline (MediaSource* self); +static void media_source_real_mark_offline (MediaSource* self); +void media_source_mark_online (MediaSource* self); +static void media_source_real_mark_online (MediaSource* self); +gchar* media_source_get_master_md5 (MediaSource* self); +static gchar* media_source_real_get_master_md5 (MediaSource* self); +void media_source_get_event_id (MediaSource* self, EventID* result); +static void media_source_real_get_event_id (MediaSource* self, EventID* result); +Event* media_source_get_event (MediaSource* self); +gboolean event_id_is_valid (EventID *self); +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType event_source_collection_get_type (void) G_GNUC_CONST; +Event* event_source_collection_fetch (EventSourceCollection* self, EventID* event_id); +gboolean media_source_set_event (MediaSource* self, Event* new_event); +void event_get_event_id (Event* self, EventID* result); +#define EVENT_ID_INVALID ((gint64) -1) +void event_id_init (EventID *self, gint64 id); +void event_detach (Event* self, MediaSource* source); +void event_attach (Event* self, MediaSource* source); +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; +void media_source_set_many_to_event (GeeCollection* media_sources, Event* event, TransactionController* controller, GError** error); +void transaction_controller_begin (TransactionController* self); +void event_attach_many (Event* self, GeeCollection* media); +void transaction_controller_commit (TransactionController* self); +time_t media_source_get_exposure_time (MediaSource* self); +static time_t media_source_real_get_exposure_time (MediaSource* self); +void media_source_get_import_id (MediaSource* self, ImportID* result); +static void media_source_real_get_import_id (MediaSource* self, ImportID* result); +static void media_source_real_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void media_source_finalize (GObject* obj); +GType database_source_holding_tank_get_type (void) G_GNUC_CONST; +GType media_source_holding_tank_get_type (void) G_GNUC_CONST; +#define MEDIA_SOURCE_HOLDING_TANK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankPrivate)) +enum { + MEDIA_SOURCE_HOLDING_TANK_DUMMY_PROPERTY +}; +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +GType media_source_collection_get_type (void) G_GNUC_CONST; +MediaSourceHoldingTank* media_source_holding_tank_new (MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +MediaSourceHoldingTank* media_source_holding_tank_construct (GType object_type, MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +DatabaseSourceHoldingTank* database_source_holding_tank_new (SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +DatabaseSourceHoldingTank* database_source_holding_tank_construct (GType object_type, SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +MediaSource* media_source_holding_tank_fetch_by_master_file (MediaSourceHoldingTank* self, GFile* file); +MediaSource* media_source_holding_tank_fetch_by_md5 (MediaSourceHoldingTank* self, const gchar* md5); +static void media_source_holding_tank_real_notify_contents_altered (SourceHoldingTank* base, GeeCollection* added, GeeCollection* removed); +static void media_source_holding_tank_on_master_source_replaced (MediaSourceHoldingTank* self, MediaSource* media_source, GFile* old_file, GFile* new_file); +static void _media_source_holding_tank_on_master_source_replaced_media_source_master_replaced (MediaSource* _sender, GFile* old_file, GFile* new_file, gpointer self); +void source_holding_tank_notify_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +static void media_source_holding_tank_finalize (SourceHoldingTank* obj); +GType media_source_transaction_controller_get_type (void) G_GNUC_CONST; +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerPrivate)) +enum { + MEDIA_SOURCE_TRANSACTION_CONTROLLER_DUMMY_PROPERTY +}; +MediaSourceTransactionController* media_source_transaction_controller_new (MediaSourceCollection* sources); +MediaSourceTransactionController* media_source_transaction_controller_construct (GType object_type, MediaSourceCollection* sources); +TransactionController* transaction_controller_construct (GType object_type); +static void media_source_transaction_controller_real_begin_impl (TransactionController* base, GError** error); +void database_table_begin_transaction (void); +void data_collection_freeze_notifications (DataCollection* self); +static void media_source_transaction_controller_real_commit_impl (TransactionController* base, GError** error); +void data_collection_thaw_notifications (DataCollection* self); +GQuark database_error_quark (void); +void database_table_commit_transaction (GError** error); +static void media_source_transaction_controller_finalize (TransactionController* obj); +GType marker_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +GType media_monitor_get_type (void) G_GNUC_CONST; +#define MEDIA_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionPrivate)) +enum { + MEDIA_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +gint import_id_compare_func (ImportID* a, ImportID* b); +static gint _import_id_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +MediaSourceCollection* media_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +DatabaseSourceCollection* database_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +MediaSourceHoldingTank* media_source_collection_create_trashcan (MediaSourceCollection* self); +MediaSourceHoldingTank* media_source_collection_create_offline_bin (MediaSourceCollection* self); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos); +gchar* data_object_to_string (DataObject* self); +void media_source_collection_count_media (GeeCollection* media, gint* photo_count, gint* video_count); +gboolean media_source_collection_has_photo (GeeCollection* media); +gboolean media_source_collection_has_video (GeeCollection* media); +static MediaSourceHoldingTank* media_source_collection_real_create_trashcan (MediaSourceCollection* self); +static MediaSourceHoldingTank* media_source_collection_real_create_offline_bin (MediaSourceCollection* self); +MediaMonitor* media_source_collection_create_media_monitor (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable); +static MediaMonitor* media_source_collection_real_create_media_monitor (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable); +gchar* media_source_collection_get_typename (MediaSourceCollection* self); +static gchar* media_source_collection_real_get_typename (MediaSourceCollection* self); +gboolean media_source_collection_is_file_recognized (MediaSourceCollection* self, GFile* file); +static gboolean media_source_collection_real_is_file_recognized (MediaSourceCollection* self, GFile* file); +MediaSourceHoldingTank* media_source_collection_get_trashcan (MediaSourceCollection* self); +MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self); +MediaSource* media_source_collection_fetch_by_numeric_id (MediaSourceCollection* self, gint64 numeric_id); +static MediaSource* media_source_collection_real_fetch_by_numeric_id (MediaSourceCollection* self, gint64 numeric_id); +void media_source_collection_notify_import_roll_altered (MediaSourceCollection* self); +static void media_source_collection_real_notify_import_roll_altered (MediaSourceCollection* self); +void media_source_collection_notify_flagged_contents_altered (MediaSourceCollection* self); +static void media_source_collection_real_notify_flagged_contents_altered (MediaSourceCollection* self); +void media_source_collection_notify_media_import_starting (MediaSourceCollection* self, GeeCollection* media); +static void media_source_collection_real_notify_media_import_starting (MediaSourceCollection* self, GeeCollection* media); +void media_source_collection_notify_media_import_completed (MediaSourceCollection* self, GeeCollection* media); +static void media_source_collection_real_notify_media_import_completed (MediaSourceCollection* self, GeeCollection* media); +static void media_source_collection_real_items_altered (DataCollection* base, GeeMap* items); +gboolean alteration_has_subject (Alteration* self, const gchar* subject); +gboolean source_holding_tank_contains (SourceHoldingTank* self, DataSource* source); +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +void source_holding_tank_unlink_and_hold (SourceHoldingTank* self, GeeCollection* unlink); +static void media_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed); +static void media_source_collection_on_master_replaced (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file); +static void _media_source_collection_on_master_replaced_media_source_master_replaced (MediaSource* _sender, GFile* old_file, GFile* new_file, gpointer self); +gboolean import_id_is_valid (ImportID *self); +void data_collection_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed); +MediaSource* media_source_collection_fetch_by_master_file (MediaSourceCollection* self, GFile* file); +MediaSource* media_source_collection_fetch_by_source_id (MediaSourceCollection* self, const gchar* source_id); +static MediaSource* media_source_collection_real_fetch_by_source_id (MediaSourceCollection* self, const gchar* source_id); +gint64 parse_int64 (const gchar* str, gint num_base); +GeeCollection* media_source_collection_get_event_source_ids (MediaSourceCollection* self, EventID* event_id); +static GeeCollection* media_source_collection_real_get_event_source_ids (MediaSourceCollection* self, EventID* event_id); +GeeCollection* media_source_collection_get_trashcan_contents (MediaSourceCollection* self); +GeeCollection* source_holding_tank_get_all (SourceHoldingTank* self); +GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self); +GeeCollection* media_source_collection_get_flagged (MediaSourceCollection* self); +GeeSortedSet* media_source_collection_get_import_roll_ids (MediaSourceCollection* self); +ImportID* media_source_collection_get_last_import_id (MediaSourceCollection* self); +GeeCollection* media_source_collection_get_import_roll (MediaSourceCollection* self, ImportID* import_id); +void media_source_collection_add_many_to_trash (MediaSourceCollection* self, GeeCollection* sources); +void source_holding_tank_add_many (SourceHoldingTank* self, GeeCollection* many); +void media_source_collection_add_many_to_offline (MediaSourceCollection* self, GeeCollection* sources); +gint media_source_collection_get_trashcan_count (MediaSourceCollection* self); +gint source_holding_tank_get_count (SourceHoldingTank* self); +void media_source_collection_import_many (MediaSourceCollection* self, GeeCollection* media); +static void media_source_collection_real_import_many (MediaSourceCollection* self, GeeCollection* media); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +void media_source_collection_postprocess_imported_media (MediaSourceCollection* self, GeeCollection* media); +static void media_source_collection_real_postprocess_imported_media (MediaSourceCollection* self, GeeCollection* media); +void media_source_collection_remove_from_app (MediaSourceCollection* self, GeeCollection* sources, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +gpointer aggregate_progress_monitor_ref (gpointer instance); +void aggregate_progress_monitor_unref (gpointer instance); +GParamSpec* param_spec_aggregate_progress_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_aggregate_progress_monitor (GValue* value, gpointer v_object); +void value_take_aggregate_progress_monitor (GValue* value, gpointer v_object); +gpointer value_get_aggregate_progress_monitor (const GValue* value); +GType aggregate_progress_monitor_get_type (void) G_GNUC_CONST; +AggregateProgressMonitor* aggregate_progress_monitor_new (guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target); +AggregateProgressMonitor* aggregate_progress_monitor_construct (GType object_type, guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target); +gboolean aggregate_progress_monitor_monitor (AggregateProgressMonitor* self, guint64 count, guint64 total); +static gboolean _aggregate_progress_monitor_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self); +void source_holding_tank_destroy_orphans (SourceHoldingTank* self, GeeList* destroy, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +gint source_collection_destroy_marked (SourceCollection* self, Marker* marker, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +Marker* data_collection_mark_many (DataCollection* self, GeeCollection* objects); +GType tombstone_reason_get_type (void) G_GNUC_CONST; +void tombstone_entomb_many_sources (GeeCollection* sources, TombstoneReason reason, GError** error); +void app_window_database_error (GError* err); +void media_source_collection_delete_backing_files (MediaSourceCollection* self, GeeCollection* sources, ProgressMonitor monitor, void* monitor_target, GeeList* not_deleted); +TransactionController* media_source_collection_get_transaction_controller (MediaSourceCollection* self); +static void media_source_collection_real_media_import_starting (MediaSourceCollection* self, GeeCollection* media); +static void media_source_collection_real_media_import_completed (MediaSourceCollection* self, GeeCollection* media); +static void media_source_collection_real_master_file_replaced (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void media_source_collection_real_trashcan_contents_altered (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); +static void media_source_collection_real_import_roll_altered (MediaSourceCollection* self); +static void media_source_collection_real_offline_contents_altered (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); +static void media_source_collection_real_flagged_contents_altered (MediaSourceCollection* self); +static void media_source_collection_finalize (DataCollection* obj); +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; +#define MEDIA_COLLECTION_REGISTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryPrivate)) +enum { + MEDIA_COLLECTION_REGISTRY_DUMMY_PROPERTY +}; +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +static void media_collection_registry_on_init_done (MediaCollectionRegistry* self); +static void _media_collection_registry_on_init_done_application_init_done (Application* _sender, gpointer self); +#define MEDIA_COLLECTION_REGISTRY_LIBRARY_MONITOR_START_DELAY_MSEC 1000 +static MediaCollectionRegistry* media_collection_registry_new (void); +static MediaCollectionRegistry* media_collection_registry_construct (GType object_type); +GType directory_monitor_get_type (void) G_GNUC_CONST; +GType library_monitor_get_type (void) G_GNUC_CONST; +LibraryMonitor* library_monitor_new (GFile* root, gboolean recurse, gboolean monitoring); +LibraryMonitor* library_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring); +gpointer library_monitor_pool_ref (gpointer instance); +void library_monitor_pool_unref (gpointer instance); +GParamSpec* param_spec_library_monitor_pool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_library_monitor_pool (GValue* value, gpointer v_object); +void value_take_library_monitor_pool (GValue* value, gpointer v_object); +gpointer value_get_library_monitor_pool (const GValue* value); +GType library_monitor_pool_get_type (void) G_GNUC_CONST; +LibraryMonitorPool* library_monitor_pool_get_instance (void); +void library_monitor_pool_replace (LibraryMonitorPool* self, LibraryMonitor* replacement, gint start_msec_delay); +void media_collection_registry_init (void); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +static void media_collection_registry_on_import_directory_changed (void); +static void _media_collection_registry_on_import_directory_changed_configuration_facade_import_directory_changed (ConfigurationFacade* _sender, gpointer self); +void media_collection_registry_terminate (void); +LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self); +GFile* directory_monitor_get_root (DirectoryMonitor* self); +MediaCollectionRegistry* media_collection_registry_get_instance (void); +gchar* media_collection_registry_get_typename_from_source_id (const gchar* source_id); +#define PHOTO_TYPENAME "thumb" +void media_collection_registry_register_collection (MediaCollectionRegistry* self, MediaSourceCollection* collection); +MediaSourceCollection* media_collection_registry_get_collection (MediaCollectionRegistry* self, const gchar* typename); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +void media_collection_registry_freeze_all (MediaCollectionRegistry* self); +void media_collection_registry_thaw_all (MediaCollectionRegistry* self); +void media_collection_registry_begin_transaction_on_all (MediaCollectionRegistry* self); +void media_collection_registry_commit_transaction_on_all (MediaCollectionRegistry* self); +MediaSource* media_collection_registry_fetch_media (MediaCollectionRegistry* self, const gchar* source_id); +ImportID* media_collection_registry_get_last_import_id (MediaCollectionRegistry* self); +#define IMPORT_ID_INVALID ((gint64) 0) +void import_id_init (ImportID *self, gint64 id); +GeeCollection* media_collection_registry_get_source_ids_for_event_id (MediaCollectionRegistry* self, EventID* event_id); +MediaSourceCollection* media_collection_registry_get_collection_for_file (MediaCollectionRegistry* self, GFile* file); +gboolean media_collection_registry_is_valid_source_id (MediaCollectionRegistry* self, const gchar* source_id); +#define VIDEO_TYPENAME "video" +static void media_collection_registry_finalize (MediaCollectionRegistry* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +BackingFileState* backing_file_state_construct (GType object_type, const gchar* filepath, gint64 filesize, time_t modification_time, const gchar* md5) { + BackingFileState* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + time_t _tmp3_ = 0; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = (BackingFileState*) g_type_create_instance (object_type); +#line 14 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = filepath; +#line 14 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 14 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (self->filepath); +#line 14 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->filepath = _tmp1_; +#line 15 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = filesize; +#line 15 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->filesize = _tmp2_; +#line 16 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = modification_time; +#line 16 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->modification_time = _tmp3_; +#line 17 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = md5; +#line 17 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 17 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (self->md5); +#line 17 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->md5 = _tmp5_; +#line 13 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self; +#line 1410 "MediaDataRepresentation.c" +} + + +BackingFileState* backing_file_state_new (const gchar* filepath, gint64 filesize, time_t modification_time, const gchar* md5) { +#line 13 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return backing_file_state_construct (TYPE_BACKING_FILE_STATE, filepath, filesize, modification_time, md5); +#line 1417 "MediaDataRepresentation.c" +} + + +BackingFileState* backing_file_state_construct_from_photo_row (GType object_type, BackingPhotoRow* photo_row, const gchar* md5) { + BackingFileState* self = NULL; + BackingPhotoRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; + gint64 _tmp4_ = 0LL; + BackingPhotoRow* _tmp5_ = NULL; + time_t _tmp6_ = 0; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_BACKING_PHOTO_ROW (photo_row), NULL); +#line 20 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = (BackingFileState*) g_type_create_instance (object_type); +#line 21 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = photo_row; +#line 21 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_->filepath; +#line 21 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 21 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (self->filepath); +#line 21 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->filepath = _tmp2_; +#line 22 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = photo_row; +#line 22 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _tmp3_->filesize; +#line 22 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->filesize = _tmp4_; +#line 23 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = photo_row; +#line 23 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _tmp5_->timestamp; +#line 23 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->modification_time = _tmp6_; +#line 24 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = md5; +#line 24 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 24 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (self->md5); +#line 24 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->md5 = _tmp8_; +#line 20 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self; +#line 1468 "MediaDataRepresentation.c" +} + + +BackingFileState* backing_file_state_new_from_photo_row (BackingPhotoRow* photo_row, const gchar* md5) { +#line 20 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return backing_file_state_construct_from_photo_row (TYPE_BACKING_FILE_STATE, photo_row, md5); +#line 1475 "MediaDataRepresentation.c" +} + + +GFile* backing_file_state_get_file (BackingFileState* self) { + GFile* result = NULL; + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_BACKING_FILE_STATE (self), NULL); +#line 28 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->filepath; +#line 28 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = g_file_new_for_path (_tmp0_); +#line 28 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp1_; +#line 28 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 1493 "MediaDataRepresentation.c" +} + + +static void value_backing_file_state_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = NULL; +#line 1500 "MediaDataRepresentation.c" +} + + +static void value_backing_file_state_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + backing_file_state_unref (value->data[0].v_pointer); +#line 1509 "MediaDataRepresentation.c" + } +} + + +static void value_backing_file_state_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + dest_value->data[0].v_pointer = backing_file_state_ref (src_value->data[0].v_pointer); +#line 1519 "MediaDataRepresentation.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + dest_value->data[0].v_pointer = NULL; +#line 1523 "MediaDataRepresentation.c" + } +} + + +static gpointer value_backing_file_state_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return value->data[0].v_pointer; +#line 1531 "MediaDataRepresentation.c" +} + + +static gchar* value_backing_file_state_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (collect_values[0].v_pointer) { +#line 1538 "MediaDataRepresentation.c" + BackingFileState* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1545 "MediaDataRepresentation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1549 "MediaDataRepresentation.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = backing_file_state_ref (object); +#line 1553 "MediaDataRepresentation.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = NULL; +#line 1557 "MediaDataRepresentation.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 1561 "MediaDataRepresentation.c" +} + + +static gchar* value_backing_file_state_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + BackingFileState** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1572 "MediaDataRepresentation.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + *object_p = NULL; +#line 1578 "MediaDataRepresentation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + *object_p = value->data[0].v_pointer; +#line 1582 "MediaDataRepresentation.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + *object_p = backing_file_state_ref (value->data[0].v_pointer); +#line 1586 "MediaDataRepresentation.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 1590 "MediaDataRepresentation.c" +} + + +GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecBackingFileState* spec; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_BACKING_FILE_STATE), NULL); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return G_PARAM_SPEC (spec); +#line 1604 "MediaDataRepresentation.c" +} + + +gpointer value_get_backing_file_state (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKING_FILE_STATE), NULL); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return value->data[0].v_pointer; +#line 1613 "MediaDataRepresentation.c" +} + + +void value_set_backing_file_state (GValue* value, gpointer v_object) { + BackingFileState* old; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKING_FILE_STATE)); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BACKING_FILE_STATE)); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + backing_file_state_ref (value->data[0].v_pointer); +#line 1633 "MediaDataRepresentation.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = NULL; +#line 1637 "MediaDataRepresentation.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + backing_file_state_unref (old); +#line 1643 "MediaDataRepresentation.c" + } +} + + +void value_take_backing_file_state (GValue* value, gpointer v_object) { + BackingFileState* old; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKING_FILE_STATE)); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BACKING_FILE_STATE)); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = v_object; +#line 1662 "MediaDataRepresentation.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = NULL; +#line 1666 "MediaDataRepresentation.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + backing_file_state_unref (old); +#line 1672 "MediaDataRepresentation.c" + } +} + + +static void backing_file_state_class_init (BackingFileStateClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + backing_file_state_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((BackingFileStateClass *) klass)->finalize = backing_file_state_finalize; +#line 1682 "MediaDataRepresentation.c" +} + + +static void backing_file_state_instance_init (BackingFileState * self) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->ref_count = 1; +#line 1689 "MediaDataRepresentation.c" +} + + +static void backing_file_state_finalize (BackingFileState* obj) { + BackingFileState * self; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BACKING_FILE_STATE, BackingFileState); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_handlers_destroy (self); +#line 8 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (self->filepath); +#line 11 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (self->md5); +#line 1703 "MediaDataRepresentation.c" +} + + +GType backing_file_state_get_type (void) { + static volatile gsize backing_file_state_type_id__volatile = 0; + if (g_once_init_enter (&backing_file_state_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_backing_file_state_init, value_backing_file_state_free_value, value_backing_file_state_copy_value, value_backing_file_state_peek_pointer, "p", value_backing_file_state_collect_value, "p", value_backing_file_state_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (BackingFileStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) backing_file_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BackingFileState), 0, (GInstanceInitFunc) backing_file_state_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType backing_file_state_type_id; + backing_file_state_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BackingFileState", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&backing_file_state_type_id__volatile, backing_file_state_type_id); + } + return backing_file_state_type_id__volatile; +} + + +gpointer backing_file_state_ref (gpointer instance) { + BackingFileState* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return instance; +#line 1728 "MediaDataRepresentation.c" +} + + +void backing_file_state_unref (gpointer instance) { + BackingFileState* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + BACKING_FILE_STATE_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1741 "MediaDataRepresentation.c" + } +} + + +MediaSource* media_source_construct (GType object_type, gint64 object_id) { + MediaSource * self = NULL; + gint64 _tmp0_ = 0LL; +#line 40 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = object_id; +#line 40 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = (MediaSource*) thumbnail_source_construct (object_type, _tmp0_); +#line 39 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self; +#line 1755 "MediaDataRepresentation.c" +} + + +inline guint64 media_source_internal_add_flags (guint64 flags, guint64 selector) { + guint64 result = 0ULL; + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; +#line 44 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = flags; +#line 44 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = selector; +#line 44 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp0_ | _tmp1_; +#line 44 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 1771 "MediaDataRepresentation.c" +} + + +inline guint64 media_source_internal_remove_flags (guint64 flags, guint64 selector) { + guint64 result = 0ULL; + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; +#line 48 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = flags; +#line 48 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = selector; +#line 48 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp0_ & (~_tmp1_); +#line 48 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 1787 "MediaDataRepresentation.c" +} + + +inline gboolean media_source_internal_is_flag_set (guint64 flags, guint64 selector) { + gboolean result = FALSE; + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; +#line 52 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = flags; +#line 52 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = selector; +#line 52 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = (_tmp0_ & _tmp1_) != ((guint64) 0); +#line 52 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 1803 "MediaDataRepresentation.c" +} + + +static void media_source_real_notify_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 55 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 56 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = old_file; +#line 56 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = new_file; +#line 56 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_emit_by_name (self, "master-replaced", _tmp0_, _tmp1_); +#line 1820 "MediaDataRepresentation.c" +} + + +void media_source_notify_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file) { +#line 55 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 55 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->notify_master_replaced (self, old_file, new_file); +#line 1829 "MediaDataRepresentation.c" +} + + +static gpointer _alteration_ref0 (gpointer self) { +#line 60 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self ? alteration_ref (self) : NULL; +#line 1836 "MediaDataRepresentation.c" +} + + +static void media_source_real_notify_altered (DataObject* base, Alteration* alteration) { + MediaSource * self; + Alteration* local = NULL; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + Alteration* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + Alteration* _tmp11_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE, MediaSource); +#line 59 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 60 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = alteration; +#line 60 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _alteration_ref0 (_tmp0_); +#line 60 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + local = _tmp1_; +#line 62 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = local; +#line 62 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = alteration_has_detail (_tmp3_, "metadata", "name"); +#line 62 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp4_) { +#line 62 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = TRUE; +#line 1867 "MediaDataRepresentation.c" + } else { + Alteration* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 62 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = local; +#line 62 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = alteration_has_detail (_tmp5_, "backing", "master"); +#line 62 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp6_; +#line 1877 "MediaDataRepresentation.c" + } +#line 62 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp2_) { +#line 1881 "MediaDataRepresentation.c" + Alteration* _tmp7_ = NULL; + Alteration* _tmp8_ = NULL; + Alteration* _tmp9_ = NULL; + Alteration* _tmp10_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_update_indexable_keywords (self); +#line 64 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = local; +#line 64 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = alteration_new ("indexable", "keywords"); +#line 64 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = _tmp8_; +#line 64 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = alteration_compress (_tmp7_, _tmp9_); +#line 64 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _alteration_unref0 (local); +#line 64 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + local = _tmp10_; +#line 64 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _alteration_unref0 (_tmp9_); +#line 1902 "MediaDataRepresentation.c" + } +#line 67 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = local; +#line 67 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + DATA_OBJECT_CLASS (media_source_parent_class)->notify_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), TYPE_DATA_OBJECT, DataObject), _tmp11_); +#line 59 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _alteration_unref0 (local); +#line 1910 "MediaDataRepresentation.c" +} + + +static void media_source_real_notify_membership_changed (DataObject* base, DataCollection* collection) { + MediaSource * self; + gboolean _tmp0_ = FALSE; + DataCollection* _tmp1_ = NULL; + DataCollection* _tmp3_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE, MediaSource); +#line 72 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((collection == NULL) || IS_DATA_COLLECTION (collection)); +#line 73 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = collection; +#line 73 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp1_ != NULL) { +#line 1927 "MediaDataRepresentation.c" + const gchar* _tmp2_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = self->priv->indexable_keywords; +#line 73 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = _tmp2_ == NULL; +#line 1933 "MediaDataRepresentation.c" + } else { +#line 73 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = FALSE; +#line 1937 "MediaDataRepresentation.c" + } +#line 73 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp0_) { +#line 76 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_update_indexable_keywords (self); +#line 1943 "MediaDataRepresentation.c" + } +#line 79 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = collection; +#line 79 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + DATA_OBJECT_CLASS (media_source_parent_class)->notify_membership_changed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), TYPE_DATA_OBJECT, DataObject), _tmp3_); +#line 1949 "MediaDataRepresentation.c" +} + + +static void media_source_update_indexable_keywords (MediaSource* self) { + gchar** indexables = NULL; + gchar** _tmp0_ = NULL; + gint indexables_length1 = 0; + gint _indexables_size_ = 0; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 83 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = g_new0 (gchar*, 3 + 1); +#line 83 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + indexables = _tmp0_; +#line 83 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + indexables_length1 = 3; +#line 83 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _indexables_size_ = indexables_length1; +#line 84 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = media_source_get_title (self); +#line 84 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (indexables[0]); +#line 84 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + indexables[0] = _tmp1_; +#line 84 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = indexables[0]; +#line 85 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = media_source_get_basename (self); +#line 85 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (indexables[1]); +#line 85 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + indexables[1] = _tmp3_; +#line 85 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = indexables[1]; +#line 86 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = media_source_get_comment (self); +#line 86 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (indexables[2]); +#line 86 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + indexables[2] = _tmp5_; +#line 86 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = indexables[2]; +#line 88 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = indexable_prepare_indexable_strings (indexables, indexables_length1); +#line 88 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (self->priv->indexable_keywords); +#line 88 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->indexable_keywords = _tmp7_; +#line 82 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + indexables = (_vala_array_free (indexables, indexables_length1, (GDestroyNotify) g_free), NULL); +#line 2007 "MediaDataRepresentation.c" +} + + +static const gchar* media_source_real_get_indexable_keywords (Indexable* base) { + MediaSource * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE, MediaSource); +#line 92 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->indexable_keywords; +#line 92 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp0_; +#line 92 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2023 "MediaDataRepresentation.c" +} + + +static gboolean media_source_real_set_event_id (MediaSource* self, EventID* id) { +#line 95 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_set_event_id'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 95 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return FALSE; +#line 2032 "MediaDataRepresentation.c" +} + + +gboolean media_source_set_event_id (MediaSource* self, EventID* id) { +#line 95 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), FALSE); +#line 95 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->set_event_id (self, id); +#line 2041 "MediaDataRepresentation.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 112 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self ? g_object_ref (self) : NULL; +#line 2048 "MediaDataRepresentation.c" +} + + +gboolean media_source_delete_original_file (MediaSource* self) { + gboolean result = FALSE; + gboolean ret = FALSE; + GFile* file = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + GError * _inner_error_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), FALSE); +#line 98 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ret = FALSE; +#line 99 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_source_get_master_file (self); +#line 99 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + file = _tmp0_; +#line 2071 "MediaDataRepresentation.c" + { + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 102 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = file; +#line 102 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = g_file_trash (_tmp2_, NULL, &_inner_error_); +#line 102 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp3_; +#line 102 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2084 "MediaDataRepresentation.c" + goto __catch549_g_error; + } +#line 102 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ret = _tmp1_; +#line 2089 "MediaDataRepresentation.c" + } + goto __finally549; + __catch549_g_error: + { + GError* err = NULL; + GFile* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + err = _inner_error_; +#line 101 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _inner_error_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = file; +#line 106 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = g_file_get_path (_tmp4_); +#line 106 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _tmp5_; +#line 106 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = err; +#line 106 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = _tmp7_->message; +#line 106 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_message ("MediaDataRepresentation.vala:106: Unable to move original photo %s to " \ +"trash: %s", _tmp6_, _tmp8_); +#line 106 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp6_); +#line 101 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_error_free0 (err); +#line 2120 "MediaDataRepresentation.c" + } + __finally549: +#line 101 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 101 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (file); +#line 101 "/home/jens/Source/shotwell/src/MediaDataRepresentation.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 101 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_clear_error (&_inner_error_); +#line 101 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return FALSE; +#line 2133 "MediaDataRepresentation.c" + } +#line 111 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = file; +#line 111 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = app_dirs_get_import_dir (); +#line 111 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = _tmp10_; +#line 111 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = g_file_has_prefix (_tmp9_, _tmp11_); +#line 111 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = _tmp12_; +#line 111 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp11_); +#line 111 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp13_) { +#line 2149 "MediaDataRepresentation.c" + GFile* parent = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = file; +#line 112 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 112 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + parent = _tmp15_; +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 2161 "MediaDataRepresentation.c" + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + GFile* _tmp24_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = parent; +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = app_dirs_get_import_dir (); +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = _tmp17_; +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = g_file_equal (_tmp16_, _tmp18_); +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp20_ = !(!_tmp19_); +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp18_); +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp20_) { +#line 113 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 2187 "MediaDataRepresentation.c" + } +#line 114 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp21_ = parent; +#line 114 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp22_ = g_file_get_parent (_tmp21_); +#line 114 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (parent); +#line 114 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + parent = _tmp22_; +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp24_ = parent; +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp24_ == NULL) { +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp23_ = TRUE; +#line 2203 "MediaDataRepresentation.c" + } else { + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25_ = parent; +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp26_ = app_dirs_get_import_dir (); +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp27_ = _tmp26_; +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = g_file_equal (_tmp25_, _tmp27_); +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp23_ = _tmp28_; +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp27_); +#line 2221 "MediaDataRepresentation.c" + } +#line 115 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp23_) { +#line 116 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 2227 "MediaDataRepresentation.c" + } + { + gboolean _tmp29_ = FALSE; + GFile* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 119 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp30_ = parent; +#line 119 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp31_ = query_is_directory_empty (_tmp30_, &_inner_error_); +#line 119 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp29_ = _tmp31_; +#line 119 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2241 "MediaDataRepresentation.c" + goto __catch550_g_error; + } +#line 119 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp29_) { +#line 120 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 2248 "MediaDataRepresentation.c" + } + } + goto __finally550; + __catch550_g_error: + { + GError* err = NULL; + GFile* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + GError* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + err = _inner_error_; +#line 118 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _inner_error_ = NULL; +#line 122 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp32_ = parent; +#line 122 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp33_ = g_file_get_path (_tmp32_); +#line 122 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp34_ = _tmp33_; +#line 122 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp35_ = err; +#line 122 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp36_ = _tmp35_->message; +#line 122 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_warning ("MediaDataRepresentation.vala:122: Unable to query file info for %s: %s", _tmp34_, _tmp36_); +#line 122 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp34_); +#line 124 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_error_free0 (err); +#line 124 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 2282 "MediaDataRepresentation.c" + } + __finally550: +#line 118 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 118 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (parent); +#line 118 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (file); +#line 118 "/home/jens/Source/shotwell/src/MediaDataRepresentation.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 118 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_clear_error (&_inner_error_); +#line 118 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return FALSE; +#line 2297 "MediaDataRepresentation.c" + } + { + GFile* _tmp37_ = NULL; + GFile* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp37_ = parent; +#line 128 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_file_delete (_tmp37_, NULL, &_inner_error_); +#line 128 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2310 "MediaDataRepresentation.c" + goto __catch551_g_error; + } +#line 129 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp38_ = parent; +#line 129 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp39_ = g_file_get_path (_tmp38_); +#line 129 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp40_ = _tmp39_; +#line 129 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_debug ("MediaDataRepresentation.vala:129: Deleted empty directory %s", _tmp40_); +#line 129 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp40_); +#line 2323 "MediaDataRepresentation.c" + } + goto __finally551; + __catch551_g_error: + { + GError* err = NULL; + GFile* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + GError* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + err = _inner_error_; +#line 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _inner_error_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp41_ = parent; +#line 132 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp42_ = g_file_get_path (_tmp41_); +#line 132 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp43_ = _tmp42_; +#line 132 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp44_ = err; +#line 132 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp45_ = _tmp44_->message; +#line 132 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_message ("MediaDataRepresentation.vala:132: Unable to delete empty directory %s:" \ +" %s", _tmp43_, _tmp45_); +#line 132 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp43_); +#line 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_error_free0 (err); +#line 2354 "MediaDataRepresentation.c" + } + __finally551: +#line 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (parent); +#line 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (file); +#line 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.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 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_clear_error (&_inner_error_); +#line 127 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return FALSE; +#line 2369 "MediaDataRepresentation.c" + } + } +#line 111 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (parent); +#line 2374 "MediaDataRepresentation.c" + } +#line 138 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = ret; +#line 138 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (file); +#line 138 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2382 "MediaDataRepresentation.c" +} + + +static gchar* media_source_real_get_name (DataObject* base) { + MediaSource * self; + gchar* result = NULL; + gchar* title = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 141 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE, MediaSource); +#line 142 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_source_get_title (self); +#line 142 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + title = _tmp0_; +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = title; +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp3_) { +#line 2406 "MediaDataRepresentation.c" + gchar* _tmp4_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = media_source_get_basename (self); +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp1_); +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp4_; +#line 2414 "MediaDataRepresentation.c" + } else { + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = title; +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp1_); +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp6_; +#line 2426 "MediaDataRepresentation.c" + } +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp1_; +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (title); +#line 144 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2434 "MediaDataRepresentation.c" +} + + +static gchar* media_source_real_get_basename (MediaSource* self) { + gchar* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_source_get_file (self); +#line 148 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 148 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = g_file_get_basename (_tmp1_); +#line 148 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 148 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 148 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp3_; +#line 148 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2458 "MediaDataRepresentation.c" +} + + +gchar* media_source_get_basename (MediaSource* self) { +#line 147 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 147 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_basename (self); +#line 2467 "MediaDataRepresentation.c" +} + + +static GFile* media_source_real_get_file (MediaSource* self) { +#line 151 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_file'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 151 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 2476 "MediaDataRepresentation.c" +} + + +GFile* media_source_get_file (MediaSource* self) { +#line 151 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 151 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_file (self); +#line 2485 "MediaDataRepresentation.c" +} + + +static GFile* media_source_real_get_master_file (MediaSource* self) { +#line 152 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_master_file'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 152 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 2494 "MediaDataRepresentation.c" +} + + +GFile* media_source_get_master_file (MediaSource* self) { +#line 152 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 152 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_master_file (self); +#line 2503 "MediaDataRepresentation.c" +} + + +static guint64 media_source_real_get_master_filesize (MediaSource* self) { +#line 153 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_master_filesize'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 153 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return 0ULL; +#line 2512 "MediaDataRepresentation.c" +} + + +guint64 media_source_get_master_filesize (MediaSource* self) { +#line 153 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), 0ULL); +#line 153 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_master_filesize (self); +#line 2521 "MediaDataRepresentation.c" +} + + +static guint64 media_source_real_get_filesize (MediaSource* self) { +#line 154 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_filesize'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 154 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return 0ULL; +#line 2530 "MediaDataRepresentation.c" +} + + +guint64 media_source_get_filesize (MediaSource* self) { +#line 154 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), 0ULL); +#line 154 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_filesize (self); +#line 2539 "MediaDataRepresentation.c" +} + + +static time_t media_source_real_get_timestamp (MediaSource* self) { +#line 155 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_timestamp'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 155 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return 0; +#line 2548 "MediaDataRepresentation.c" +} + + +time_t media_source_get_timestamp (MediaSource* self) { +#line 155 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), 0); +#line 155 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_timestamp (self); +#line 2557 "MediaDataRepresentation.c" +} + + +static BackingFileState** media_source_real_get_backing_files_state (MediaSource* self, int* result_length1) { +#line 158 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_backing_files_state'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 158 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 2566 "MediaDataRepresentation.c" +} + + +BackingFileState** media_source_get_backing_files_state (MediaSource* self, int* result_length1) { +#line 158 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 158 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_backing_files_state (self, result_length1); +#line 2575 "MediaDataRepresentation.c" +} + + +static gchar* media_source_real_get_title (MediaSource* self) { +#line 160 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_title'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 160 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 2584 "MediaDataRepresentation.c" +} + + +gchar* media_source_get_title (MediaSource* self) { +#line 160 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 160 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_title (self); +#line 2593 "MediaDataRepresentation.c" +} + + +static gchar* media_source_real_get_comment (MediaSource* self) { +#line 161 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_comment'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 161 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 2602 "MediaDataRepresentation.c" +} + + +gchar* media_source_get_comment (MediaSource* self) { +#line 161 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 161 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_comment (self); +#line 2611 "MediaDataRepresentation.c" +} + + +static void media_source_real_set_title (MediaSource* self, const gchar* title) { +#line 162 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_set_title'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 162 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2620 "MediaDataRepresentation.c" +} + + +void media_source_set_title (MediaSource* self, const gchar* title) { +#line 162 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 162 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->set_title (self, title); +#line 2629 "MediaDataRepresentation.c" +} + + +static gboolean media_source_real_set_comment (MediaSource* self, const gchar* comment) { +#line 163 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_set_comment'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 163 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return FALSE; +#line 2638 "MediaDataRepresentation.c" +} + + +gboolean media_source_set_comment (MediaSource* self, const gchar* comment) { +#line 163 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), FALSE); +#line 163 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->set_comment (self, comment); +#line 2647 "MediaDataRepresentation.c" +} + + +gchar* media_source_prep_title (const gchar* title) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 166 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = title; +#line 166 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = prepare_input_text (_tmp0_, PREPARE_INPUT_TEXT_OPTIONS_DEFAULT & (~PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL), DEFAULT_USER_TEXT_INPUT_LENGTH); +#line 166 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp1_; +#line 166 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2663 "MediaDataRepresentation.c" +} + + +gchar* media_source_prep_comment (const gchar* comment) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = comment; +#line 171 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = prepare_input_text (_tmp0_, (PREPARE_INPUT_TEXT_OPTIONS_DEFAULT & (~PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF)) & (~PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL), -1); +#line 171 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp1_; +#line 171 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2679 "MediaDataRepresentation.c" +} + + +static Rating media_source_real_get_rating (MediaSource* self) { +#line 175 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_rating'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 175 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return 0; +#line 2688 "MediaDataRepresentation.c" +} + + +Rating media_source_get_rating (MediaSource* self) { +#line 175 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), 0); +#line 175 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_rating (self); +#line 2697 "MediaDataRepresentation.c" +} + + +static void media_source_real_set_rating (MediaSource* self, Rating rating) { +#line 176 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_set_rating'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 176 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2706 "MediaDataRepresentation.c" +} + + +void media_source_set_rating (MediaSource* self, Rating rating) { +#line 176 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 176 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->set_rating (self, rating); +#line 2715 "MediaDataRepresentation.c" +} + + +static void media_source_real_increase_rating (MediaSource* self) { +#line 177 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_increase_rating'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 177 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2724 "MediaDataRepresentation.c" +} + + +void media_source_increase_rating (MediaSource* self) { +#line 177 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 177 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->increase_rating (self); +#line 2733 "MediaDataRepresentation.c" +} + + +static void media_source_real_decrease_rating (MediaSource* self) { +#line 178 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_decrease_rating'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 178 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2742 "MediaDataRepresentation.c" +} + + +void media_source_decrease_rating (MediaSource* self) { +#line 178 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 178 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->decrease_rating (self); +#line 2751 "MediaDataRepresentation.c" +} + + +static void media_source_real_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result) { +#line 180 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_dimensions'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 180 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2760 "MediaDataRepresentation.c" +} + + +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result) { +#line 180 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 180 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->get_dimensions (self, disallowed_steps, result); +#line 2769 "MediaDataRepresentation.c" +} + + +static GdkPixbuf* media_source_real_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error) { +#line 188 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_preview_pixbuf'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 188 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 2778 "MediaDataRepresentation.c" +} + + +GdkPixbuf* media_source_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error) { +#line 188 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 188 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_preview_pixbuf (self, scaling, error); +#line 2787 "MediaDataRepresentation.c" +} + + +static gboolean media_source_real_is_trashed (MediaSource* self) { +#line 190 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_is_trashed'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 190 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return FALSE; +#line 2796 "MediaDataRepresentation.c" +} + + +gboolean media_source_is_trashed (MediaSource* self) { +#line 190 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), FALSE); +#line 190 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->is_trashed (self); +#line 2805 "MediaDataRepresentation.c" +} + + +static void media_source_real_trash (MediaSource* self) { +#line 191 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_trash'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 191 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2814 "MediaDataRepresentation.c" +} + + +void media_source_trash (MediaSource* self) { +#line 191 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 191 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->trash (self); +#line 2823 "MediaDataRepresentation.c" +} + + +static void media_source_real_untrash (MediaSource* self) { +#line 192 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_untrash'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 192 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2832 "MediaDataRepresentation.c" +} + + +void media_source_untrash (MediaSource* self) { +#line 192 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 192 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->untrash (self); +#line 2841 "MediaDataRepresentation.c" +} + + +static gboolean media_source_real_is_offline (MediaSource* self) { +#line 194 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_is_offline'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 194 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return FALSE; +#line 2850 "MediaDataRepresentation.c" +} + + +gboolean media_source_is_offline (MediaSource* self) { +#line 194 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), FALSE); +#line 194 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->is_offline (self); +#line 2859 "MediaDataRepresentation.c" +} + + +static void media_source_real_mark_offline (MediaSource* self) { +#line 195 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_mark_offline'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 195 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2868 "MediaDataRepresentation.c" +} + + +void media_source_mark_offline (MediaSource* self) { +#line 195 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 195 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->mark_offline (self); +#line 2877 "MediaDataRepresentation.c" +} + + +static void media_source_real_mark_online (MediaSource* self) { +#line 196 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_mark_online'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 196 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2886 "MediaDataRepresentation.c" +} + + +void media_source_mark_online (MediaSource* self) { +#line 196 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 196 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->mark_online (self); +#line 2895 "MediaDataRepresentation.c" +} + + +static gchar* media_source_real_get_master_md5 (MediaSource* self) { +#line 198 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_master_md5'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 198 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 2904 "MediaDataRepresentation.c" +} + + +gchar* media_source_get_master_md5 (MediaSource* self) { +#line 198 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 198 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_master_md5 (self); +#line 2913 "MediaDataRepresentation.c" +} + + +static void media_source_real_get_event_id (MediaSource* self, EventID* result) { +#line 202 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_event_id'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 202 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 2922 "MediaDataRepresentation.c" +} + + +void media_source_get_event_id (MediaSource* self, EventID* result) { +#line 202 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 202 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->get_event_id (self, result); +#line 2931 "MediaDataRepresentation.c" +} + + +Event* media_source_get_event (MediaSource* self) { + Event* result = NULL; + Event* _tmp0_ = NULL; + EventID event_id = {0}; + EventID _tmp3_ = {0}; + gboolean _tmp4_ = FALSE; + EventSourceCollection* _tmp5_ = NULL; + EventID _tmp6_ = {0}; + Event* _tmp7_ = NULL; + Event* _tmp8_ = NULL; + Event* _tmp9_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), NULL); +#line 205 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->event; +#line 205 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp0_ != NULL) { +#line 2952 "MediaDataRepresentation.c" + Event* _tmp1_ = NULL; + Event* _tmp2_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = self->priv->event; +#line 206 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 206 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp2_; +#line 206 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2963 "MediaDataRepresentation.c" + } +#line 208 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_get_event_id (self, &_tmp3_); +#line 208 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_id = _tmp3_; +#line 209 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = event_id_is_valid (&event_id); +#line 209 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp4_) { +#line 210 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = NULL; +#line 210 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2977 "MediaDataRepresentation.c" + } +#line 212 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = event_global; +#line 212 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = event_id; +#line 212 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = event_source_collection_fetch (_tmp5_, &_tmp6_); +#line 212 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->event); +#line 212 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->event = _tmp7_; +#line 214 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = self->priv->event; +#line 214 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 214 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp9_; +#line 214 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 2997 "MediaDataRepresentation.c" +} + + +gboolean media_source_set_event (MediaSource* self, Event* new_event) { + gboolean result = FALSE; + EventID _tmp0_ = {0}; + Event* _tmp1_ = NULL; + EventID event_id = {0}; + EventID _tmp4_ = {0}; + gint64 _tmp5_ = 0LL; + EventID _tmp6_ = {0}; + gint64 _tmp7_ = 0LL; + gboolean committed = FALSE; + EventID _tmp8_ = {0}; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 217 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), FALSE); +#line 217 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail ((new_event == NULL) || IS_EVENT (new_event), FALSE); +#line 218 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = new_event; +#line 218 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp1_ != NULL) { +#line 3022 "MediaDataRepresentation.c" + Event* _tmp2_ = NULL; + EventID _tmp3_ = {0}; +#line 218 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = new_event; +#line 218 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_get_event_id (_tmp2_, &_tmp3_); +#line 218 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = _tmp3_; +#line 3031 "MediaDataRepresentation.c" + } else { +#line 218 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_id_init (&_tmp0_, EVENT_ID_INVALID); +#line 3035 "MediaDataRepresentation.c" + } +#line 218 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_id = _tmp0_; +#line 219 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_get_event_id (self, &_tmp4_); +#line 219 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _tmp4_.id; +#line 219 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = event_id; +#line 219 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = _tmp6_.id; +#line 219 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp5_ == _tmp7_) { +#line 220 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = TRUE; +#line 220 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 3053 "MediaDataRepresentation.c" + } +#line 222 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = event_id; +#line 222 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = media_source_set_event_id (self, &_tmp8_); +#line 222 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + committed = _tmp9_; +#line 223 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = committed; +#line 223 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp10_) { +#line 3065 "MediaDataRepresentation.c" + Event* _tmp11_ = NULL; + Event* _tmp13_ = NULL; + Event* _tmp15_ = NULL; + Event* _tmp16_ = NULL; + Alteration* _tmp17_ = NULL; + Alteration* _tmp18_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = self->priv->event; +#line 224 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp11_ != NULL) { +#line 3076 "MediaDataRepresentation.c" + Event* _tmp12_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = self->priv->event; +#line 225 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_detach (_tmp12_, self); +#line 3082 "MediaDataRepresentation.c" + } +#line 227 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = new_event; +#line 227 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp13_ != NULL) { +#line 3088 "MediaDataRepresentation.c" + Event* _tmp14_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = new_event; +#line 228 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_attach (_tmp14_, self); +#line 3094 "MediaDataRepresentation.c" + } +#line 230 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = new_event; +#line 230 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = _g_object_ref0 (_tmp15_); +#line 230 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->event); +#line 230 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->event = _tmp16_; +#line 232 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = alteration_new ("metadata", "event"); +#line 232 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = _tmp17_; +#line 232 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp18_); +#line 232 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _alteration_unref0 (_tmp18_); +#line 3112 "MediaDataRepresentation.c" + } +#line 235 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = committed; +#line 235 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 3118 "MediaDataRepresentation.c" +} + + +void media_source_set_many_to_event (GeeCollection* media_sources, Event* event, TransactionController* controller, GError** error) { + EventID _tmp0_ = {0}; + Event* _tmp1_ = NULL; + EventID event_id = {0}; + TransactionController* _tmp4_ = NULL; + Event* _tmp21_ = NULL; + Alteration* alteration = NULL; + Alteration* _tmp24_ = NULL; + TransactionController* _tmp33_ = NULL; +#line 238 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media_sources)); +#line 238 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((event == NULL) || IS_EVENT (event)); +#line 238 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 240 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = event; +#line 240 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp1_ != NULL) { +#line 3141 "MediaDataRepresentation.c" + Event* _tmp2_ = NULL; + EventID _tmp3_ = {0}; +#line 240 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = event; +#line 240 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_get_event_id (_tmp2_, &_tmp3_); +#line 240 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = _tmp3_; +#line 3150 "MediaDataRepresentation.c" + } else { +#line 240 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_id_init (&_tmp0_, EVENT_ID_INVALID); +#line 3154 "MediaDataRepresentation.c" + } +#line 240 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_id = _tmp0_; +#line 242 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = controller; +#line 242 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + transaction_controller_begin (_tmp4_); +#line 3162 "MediaDataRepresentation.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = media_sources; +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _media_it = _tmp6_; +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 3175 "MediaDataRepresentation.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + Event* old_event = NULL; + MediaSource* _tmp11_ = NULL; + Event* _tmp12_ = NULL; + Event* _tmp13_ = NULL; + MediaSource* _tmp16_ = NULL; + EventID _tmp17_ = {0}; + MediaSource* _tmp18_ = NULL; + Event* _tmp19_ = NULL; + Event* _tmp20_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = _media_it; +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp8_) { +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 3198 "MediaDataRepresentation.c" + } +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = _media_it; +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media = (MediaSource*) _tmp10_; +#line 245 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = media; +#line 245 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = media_source_get_event (_tmp11_); +#line 245 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + old_event = _tmp12_; +#line 246 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = old_event; +#line 246 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp13_ != NULL) { +#line 3216 "MediaDataRepresentation.c" + Event* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = old_event; +#line 247 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = media; +#line 247 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_detach (_tmp14_, _tmp15_); +#line 3225 "MediaDataRepresentation.c" + } +#line 249 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = media; +#line 249 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = event_id; +#line 249 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_set_event_id (_tmp16_, &_tmp17_); +#line 250 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = media; +#line 250 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = event; +#line 250 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 250 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp18_->priv->event); +#line 250 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_->priv->event = _tmp20_; +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (old_event); +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (media); +#line 3247 "MediaDataRepresentation.c" + } +#line 244 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_media_it); +#line 3251 "MediaDataRepresentation.c" + } +#line 253 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp21_ = event; +#line 253 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp21_ != NULL) { +#line 3257 "MediaDataRepresentation.c" + Event* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp22_ = event; +#line 254 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp23_ = media_sources; +#line 254 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + event_attach_many (_tmp22_, _tmp23_); +#line 3266 "MediaDataRepresentation.c" + } +#line 256 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp24_ = alteration_new ("metadata", "event"); +#line 256 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + alteration = _tmp24_; +#line 3272 "MediaDataRepresentation.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp25_ = NULL; + GeeIterator* _tmp26_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25_ = media_sources; +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp26_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _media_it = _tmp26_; +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 3285 "MediaDataRepresentation.c" + GeeIterator* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp29_ = NULL; + gpointer _tmp30_ = NULL; + MediaSource* _tmp31_ = NULL; + Alteration* _tmp32_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp27_ = _media_it; +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = gee_iterator_next (_tmp27_); +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp28_) { +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 3301 "MediaDataRepresentation.c" + } +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp29_ = _media_it; +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp30_ = gee_iterator_get (_tmp29_); +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media = (MediaSource*) _tmp30_; +#line 258 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp31_ = media; +#line 258 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp32_ = alteration; +#line 258 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_OBJECT, DataObject), _tmp32_); +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (media); +#line 3317 "MediaDataRepresentation.c" + } +#line 257 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_media_it); +#line 3321 "MediaDataRepresentation.c" + } +#line 260 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp33_ = controller; +#line 260 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + transaction_controller_commit (_tmp33_); +#line 238 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _alteration_unref0 (alteration); +#line 3329 "MediaDataRepresentation.c" +} + + +static time_t media_source_real_get_exposure_time (MediaSource* self) { +#line 263 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_exposure_time'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 263 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return 0; +#line 3338 "MediaDataRepresentation.c" +} + + +time_t media_source_get_exposure_time (MediaSource* self) { +#line 263 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (self), 0); +#line 263 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_GET_CLASS (self)->get_exposure_time (self); +#line 3347 "MediaDataRepresentation.c" +} + + +static void media_source_real_get_import_id (MediaSource* self, ImportID* result) { +#line 265 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_get_import_id'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 265 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 3356 "MediaDataRepresentation.c" +} + + +void media_source_get_import_id (MediaSource* self, ImportID* result) { +#line 265 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (self)); +#line 265 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_GET_CLASS (self)->get_import_id (self, result); +#line 3365 "MediaDataRepresentation.c" +} + + +static void media_source_real_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file) { +#line 33 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 33 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 3374 "MediaDataRepresentation.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (n_param_values == 3); +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data1 = closure->data; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data2 = param_values->data[0].v_pointer; +#line 3393 "MediaDataRepresentation.c" + } else { +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data1 = param_values->data[0].v_pointer; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data2 = closure->data; +#line 3399 "MediaDataRepresentation.c" + } +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 3405 "MediaDataRepresentation.c" +} + + +static void media_source_class_init (MediaSourceClass * klass) { +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_parent_class = g_type_class_peek_parent (klass); +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_type_class_add_private (klass, sizeof (MediaSourcePrivate)); +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->notify_master_replaced = media_source_real_notify_master_replaced; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((DataObjectClass *) klass)->notify_altered = media_source_real_notify_altered; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((DataObjectClass *) klass)->notify_membership_changed = media_source_real_notify_membership_changed; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->set_event_id = media_source_real_set_event_id; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((DataObjectClass *) klass)->get_name = media_source_real_get_name; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_basename = media_source_real_get_basename; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_file = media_source_real_get_file; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_master_file = media_source_real_get_master_file; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_master_filesize = media_source_real_get_master_filesize; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_filesize = media_source_real_get_filesize; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_timestamp = media_source_real_get_timestamp; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_backing_files_state = media_source_real_get_backing_files_state; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_title = media_source_real_get_title; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_comment = media_source_real_get_comment; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->set_title = media_source_real_set_title; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->set_comment = media_source_real_set_comment; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_rating = media_source_real_get_rating; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->set_rating = media_source_real_set_rating; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->increase_rating = media_source_real_increase_rating; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->decrease_rating = media_source_real_decrease_rating; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_dimensions = media_source_real_get_dimensions; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_preview_pixbuf = media_source_real_get_preview_pixbuf; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->is_trashed = media_source_real_is_trashed; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->trash = media_source_real_trash; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->untrash = media_source_real_untrash; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->is_offline = media_source_real_is_offline; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->mark_offline = media_source_real_mark_offline; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->mark_online = media_source_real_mark_online; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_master_md5 = media_source_real_get_master_md5; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_event_id = media_source_real_get_event_id; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_exposure_time = media_source_real_get_exposure_time; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->get_import_id = media_source_real_get_import_id; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceClass *) klass)->master_replaced = media_source_real_master_replaced; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + G_OBJECT_CLASS (klass)->finalize = media_source_finalize; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_new ("master_replaced", TYPE_MEDIA_SOURCE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (MediaSourceClass, master_replaced), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, G_TYPE_FILE); +#line 3484 "MediaDataRepresentation.c" +} + + +static void media_source_indexable_interface_init (IndexableIface * iface) { +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_indexable_parent_iface = g_type_interface_peek_parent (iface); +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + iface->get_indexable_keywords = (const gchar* (*)(Indexable*)) media_source_real_get_indexable_keywords; +#line 3493 "MediaDataRepresentation.c" +} + + +static void media_source_instance_init (MediaSource * self) { +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv = MEDIA_SOURCE_GET_PRIVATE (self); +#line 36 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->event = NULL; +#line 37 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->indexable_keywords = NULL; +#line 3504 "MediaDataRepresentation.c" +} + + +static void media_source_finalize (GObject* obj) { + MediaSource * self; +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_SOURCE, MediaSource); +#line 36 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->event); +#line 37 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (self->priv->indexable_keywords); +#line 32 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + G_OBJECT_CLASS (media_source_parent_class)->finalize (obj); +#line 3518 "MediaDataRepresentation.c" +} + + +GType media_source_get_type (void) { + static volatile gsize media_source_type_id__volatile = 0; + if (g_once_init_enter (&media_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaSource), 0, (GInstanceInitFunc) media_source_instance_init, NULL }; + static const GInterfaceInfo indexable_info = { (GInterfaceInitFunc) media_source_indexable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType media_source_type_id; + media_source_type_id = g_type_register_static (TYPE_THUMBNAIL_SOURCE, "MediaSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (media_source_type_id, TYPE_INDEXABLE, &indexable_info); + g_once_init_leave (&media_source_type_id__volatile, media_source_type_id); + } + return media_source_type_id__volatile; +} + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 269 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 3541 "MediaDataRepresentation.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 269 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 3550 "MediaDataRepresentation.c" +} + + +MediaSourceHoldingTank* media_source_holding_tank_construct (GType object_type, MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target) { + MediaSourceHoldingTank* self = NULL; + MediaSourceCollection* _tmp0_ = NULL; + SourceHoldingTankCheckToKeep _tmp1_ = NULL; + void* _tmp1__target = NULL; + GetSourceDatabaseKey _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 272 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (sources), NULL); +#line 274 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = sources; +#line 274 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = check_to_keep; +#line 274 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1__target = check_to_keep_target; +#line 274 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = get_key; +#line 274 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2__target = get_key_target; +#line 274 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = (MediaSourceHoldingTank*) database_source_holding_tank_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp1_, _tmp1__target, _tmp2_, _tmp2__target); +#line 272 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self; +#line 3577 "MediaDataRepresentation.c" +} + + +MediaSourceHoldingTank* media_source_holding_tank_new (MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target) { +#line 272 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return media_source_holding_tank_construct (TYPE_MEDIA_SOURCE_HOLDING_TANK, sources, check_to_keep, check_to_keep_target, get_key, get_key_target); +#line 3584 "MediaDataRepresentation.c" +} + + +MediaSource* media_source_holding_tank_fetch_by_master_file (MediaSourceHoldingTank* self, GFile* file) { + MediaSource* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 277 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_HOLDING_TANK (self), NULL); +#line 277 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 278 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->master_file_map; +#line 278 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = file; +#line 278 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 278 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = (MediaSource*) _tmp2_; +#line 278 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 3607 "MediaDataRepresentation.c" +} + + +MediaSource* media_source_holding_tank_fetch_by_md5 (MediaSourceHoldingTank* self, const gchar* md5) { + MediaSource* result = NULL; +#line 281 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_HOLDING_TANK (self), NULL); +#line 281 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (md5 != NULL, NULL); +#line 3617 "MediaDataRepresentation.c" + { + GeeIterator* _source_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->master_file_map; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _tmp4_; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp3_); +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_it = _tmp5_; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 3644 "MediaDataRepresentation.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _source_it; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp7_) { +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 3663 "MediaDataRepresentation.c" + } +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = _source_it; +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source = (MediaSource*) _tmp9_; +#line 283 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = source; +#line 283 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = media_source_get_master_md5 (_tmp10_); +#line 283 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = _tmp11_; +#line 283 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = md5; +#line 283 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = g_strcmp0 (_tmp12_, _tmp13_) == 0; +#line 283 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp12_); +#line 283 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp14_) { +#line 284 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = source; +#line 284 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_source_it); +#line 284 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 3691 "MediaDataRepresentation.c" + } +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 3695 "MediaDataRepresentation.c" + } +#line 282 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_source_it); +#line 3699 "MediaDataRepresentation.c" + } +#line 288 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = NULL; +#line 288 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 3705 "MediaDataRepresentation.c" +} + + +static void _media_source_holding_tank_on_master_source_replaced_media_source_master_replaced (MediaSource* _sender, GFile* old_file, GFile* new_file, gpointer self) { +#line 297 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_holding_tank_on_master_source_replaced ((MediaSourceHoldingTank*) self, _sender, old_file, new_file); +#line 3712 "MediaDataRepresentation.c" +} + + +static void media_source_holding_tank_real_notify_contents_altered (SourceHoldingTank* base, GeeCollection* added, GeeCollection* removed) { + MediaSourceHoldingTank * self; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp15_ = NULL; + GeeCollection* _tmp33_ = NULL; + GeeCollection* _tmp34_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank); +#line 291 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 291 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 293 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = added; +#line 293 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp0_ != NULL) { +#line 3732 "MediaDataRepresentation.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = added; +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_it = _tmp2_; +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 3745 "MediaDataRepresentation.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + MediaSource* media_source = NULL; + DataSource* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + GeeHashMap* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + MediaSource* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _source_it; +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp4_) { +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 3768 "MediaDataRepresentation.c" + } +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _source_it; +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source = (DataSource*) _tmp6_; +#line 295 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = source; +#line 295 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 295 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source = _tmp8_; +#line 296 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = self->priv->master_file_map; +#line 296 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = media_source; +#line 296 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = media_source_get_master_file (_tmp10_); +#line 296 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = _tmp11_; +#line 296 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = media_source; +#line 296 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_, _tmp13_); +#line 296 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp12_); +#line 297 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = media_source; +#line 297 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_connect (_tmp14_, "master-replaced", (GCallback) _media_source_holding_tank_on_master_source_replaced_media_source_master_replaced, self); +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (media_source); +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 3804 "MediaDataRepresentation.c" + } +#line 294 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_source_it); +#line 3808 "MediaDataRepresentation.c" + } + } +#line 301 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = removed; +#line 301 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp15_ != NULL) { +#line 3815 "MediaDataRepresentation.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp16_ = NULL; + GeeIterator* _tmp17_ = NULL; +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = removed; +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_it = _tmp17_; +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 3828 "MediaDataRepresentation.c" + GeeIterator* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp20_ = NULL; + gpointer _tmp21_ = NULL; + MediaSource* media_source = NULL; + DataSource* _tmp22_ = NULL; + MediaSource* _tmp23_ = NULL; + gboolean is_removed = FALSE; + GeeHashMap* _tmp24_ = NULL; + MediaSource* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; + MediaSource* _tmp31_ = NULL; + guint _tmp32_ = 0U; +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = _source_it; +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = gee_iterator_next (_tmp18_); +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp19_) { +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 3855 "MediaDataRepresentation.c" + } +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp20_ = _source_it; +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp21_ = gee_iterator_get (_tmp20_); +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source = (DataSource*) _tmp21_; +#line 303 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp22_ = source; +#line 303 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp23_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 303 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source = _tmp23_; +#line 304 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp24_ = self->priv->master_file_map; +#line 304 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25_ = media_source; +#line 304 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp26_ = media_source_get_master_file (_tmp25_); +#line 304 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp27_ = _tmp26_; +#line 304 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp27_, NULL); +#line 304 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp29_ = _tmp28_; +#line 304 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp27_); +#line 304 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + is_removed = _tmp29_; +#line 305 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp30_ = is_removed; +#line 305 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (_tmp30_, "is_removed"); +#line 306 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp31_ = media_source; +#line 306 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_parse_name ("master-replaced", TYPE_MEDIA_SOURCE, &_tmp32_, NULL, FALSE); +#line 306 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_handlers_disconnect_matched (_tmp31_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp32_, 0, NULL, (GCallback) _media_source_holding_tank_on_master_source_replaced_media_source_master_replaced, self); +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (media_source); +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 3899 "MediaDataRepresentation.c" + } +#line 302 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_source_it); +#line 3903 "MediaDataRepresentation.c" + } + } +#line 310 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp33_ = added; +#line 310 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp34_ = removed; +#line 310 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + SOURCE_HOLDING_TANK_CLASS (media_source_holding_tank_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp33_, _tmp34_); +#line 3912 "MediaDataRepresentation.c" +} + + +static void media_source_holding_tank_on_master_source_replaced (MediaSourceHoldingTank* self, MediaSource* media_source, GFile* old_file, GFile* new_file) { + gboolean removed = FALSE; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashMap* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + MediaSource* _tmp5_ = NULL; +#line 313 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_HOLDING_TANK (self)); +#line 313 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (media_source)); +#line 313 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 313 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 314 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->master_file_map; +#line 314 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = old_file; +#line 314 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, NULL); +#line 314 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + removed = _tmp2_; +#line 315 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (removed, "removed"); +#line 317 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = self->priv->master_file_map; +#line 317 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = new_file; +#line 317 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = media_source; +#line 317 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, _tmp5_); +#line 3950 "MediaDataRepresentation.c" +} + + +static void media_source_holding_tank_class_init (MediaSourceHoldingTankClass * klass) { +#line 268 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_holding_tank_parent_class = g_type_class_peek_parent (klass); +#line 268 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((SourceHoldingTankClass *) klass)->finalize = media_source_holding_tank_finalize; +#line 268 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_type_class_add_private (klass, sizeof (MediaSourceHoldingTankPrivate)); +#line 268 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((SourceHoldingTankClass *) klass)->notify_contents_altered = media_source_holding_tank_real_notify_contents_altered; +#line 3963 "MediaDataRepresentation.c" +} + + +static void media_source_holding_tank_instance_init (MediaSourceHoldingTank * self) { + GeeHashMap* _tmp0_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv = MEDIA_SOURCE_HOLDING_TANK_GET_PRIVATE (self); +#line 269 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 269 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->master_file_map = _tmp0_; +#line 3975 "MediaDataRepresentation.c" +} + + +static void media_source_holding_tank_finalize (SourceHoldingTank* obj) { + MediaSourceHoldingTank * self; +#line 268 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank); +#line 269 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->master_file_map); +#line 268 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + SOURCE_HOLDING_TANK_CLASS (media_source_holding_tank_parent_class)->finalize (obj); +#line 3987 "MediaDataRepresentation.c" +} + + +GType media_source_holding_tank_get_type (void) { + static volatile gsize media_source_holding_tank_type_id__volatile = 0; + if (g_once_init_enter (&media_source_holding_tank_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaSourceHoldingTankClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_source_holding_tank_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaSourceHoldingTank), 0, (GInstanceInitFunc) media_source_holding_tank_instance_init, NULL }; + GType media_source_holding_tank_type_id; + media_source_holding_tank_type_id = g_type_register_static (TYPE_DATABASE_SOURCE_HOLDING_TANK, "MediaSourceHoldingTank", &g_define_type_info, 0); + g_once_init_leave (&media_source_holding_tank_type_id__volatile, media_source_holding_tank_type_id); + } + return media_source_holding_tank_type_id__volatile; +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 327 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self ? data_collection_ref (self) : NULL; +#line 4006 "MediaDataRepresentation.c" +} + + +MediaSourceTransactionController* media_source_transaction_controller_construct (GType object_type, MediaSourceCollection* sources) { + MediaSourceTransactionController* self = NULL; + MediaSourceCollection* _tmp0_ = NULL; + MediaSourceCollection* _tmp1_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (sources), NULL); +#line 326 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = (MediaSourceTransactionController*) transaction_controller_construct (object_type); +#line 327 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = sources; +#line 327 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 327 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (self->priv->sources); +#line 327 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->sources = _tmp1_; +#line 326 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self; +#line 4028 "MediaDataRepresentation.c" +} + + +MediaSourceTransactionController* media_source_transaction_controller_new (MediaSourceCollection* sources) { +#line 326 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return media_source_transaction_controller_construct (TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, sources); +#line 4035 "MediaDataRepresentation.c" +} + + +static void media_source_transaction_controller_real_begin_impl (TransactionController* base, GError** error) { + MediaSourceTransactionController * self; + MediaSourceCollection* _tmp0_ = NULL; +#line 330 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionController); +#line 331 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + database_table_begin_transaction (); +#line 332 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->sources; +#line 332 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 4050 "MediaDataRepresentation.c" +} + + +static void media_source_transaction_controller_real_commit_impl (TransactionController* base, GError** error) { + MediaSourceTransactionController * self; + MediaSourceCollection* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionController); +#line 336 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->sources; +#line 336 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 337 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + database_table_commit_transaction (&_inner_error_); +#line 337 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 337 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_propagate_error (error, _inner_error_); +#line 337 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 4072 "MediaDataRepresentation.c" + } +} + + +static void media_source_transaction_controller_class_init (MediaSourceTransactionControllerClass * klass) { +#line 323 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_transaction_controller_parent_class = g_type_class_peek_parent (klass); +#line 323 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((TransactionControllerClass *) klass)->finalize = media_source_transaction_controller_finalize; +#line 323 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_type_class_add_private (klass, sizeof (MediaSourceTransactionControllerPrivate)); +#line 323 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((TransactionControllerClass *) klass)->begin_impl = media_source_transaction_controller_real_begin_impl; +#line 323 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((TransactionControllerClass *) klass)->commit_impl = media_source_transaction_controller_real_commit_impl; +#line 4088 "MediaDataRepresentation.c" +} + + +static void media_source_transaction_controller_instance_init (MediaSourceTransactionController * self) { +#line 323 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv = MEDIA_SOURCE_TRANSACTION_CONTROLLER_GET_PRIVATE (self); +#line 4095 "MediaDataRepresentation.c" +} + + +static void media_source_transaction_controller_finalize (TransactionController* obj) { + MediaSourceTransactionController * self; +#line 323 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionController); +#line 324 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (self->priv->sources); +#line 323 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + TRANSACTION_CONTROLLER_CLASS (media_source_transaction_controller_parent_class)->finalize (obj); +#line 4107 "MediaDataRepresentation.c" +} + + +GType media_source_transaction_controller_get_type (void) { + static volatile gsize media_source_transaction_controller_type_id__volatile = 0; + if (g_once_init_enter (&media_source_transaction_controller_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaSourceTransactionControllerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_source_transaction_controller_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaSourceTransactionController), 0, (GInstanceInitFunc) media_source_transaction_controller_instance_init, NULL }; + GType media_source_transaction_controller_type_id; + media_source_transaction_controller_type_id = g_type_register_static (TYPE_TRANSACTION_CONTROLLER, "MediaSourceTransactionController", &g_define_type_info, 0); + g_once_init_leave (&media_source_transaction_controller_type_id__volatile, media_source_transaction_controller_type_id); + } + return media_source_transaction_controller_type_id__volatile; +} + + +static gint _import_id_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = import_id_compare_func ((ImportID*) a, (ImportID*) b); +#line 348 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 4128 "MediaDataRepresentation.c" +} + + +MediaSourceCollection* media_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target) { + MediaSourceCollection* self = NULL; + const gchar* _tmp0_ = NULL; + GetSourceDatabaseKey _tmp1_ = NULL; + void* _tmp1__target = NULL; + MediaSourceHoldingTank* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; +#line 382 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 383 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = name; +#line 383 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = source_key_func; +#line 383 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1__target = source_key_func_target; +#line 383 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = (MediaSourceCollection*) database_source_collection_construct (object_type, _tmp0_, _tmp1_, _tmp1__target); +#line 385 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = media_source_collection_create_trashcan (self); +#line 385 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (self->priv->trashcan); +#line 385 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->trashcan = _tmp2_; +#line 386 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = media_source_collection_create_offline_bin (self); +#line 386 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (self->priv->offline_bin); +#line 386 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->offline_bin = _tmp3_; +#line 382 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self; +#line 4163 "MediaDataRepresentation.c" +} + + +void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos) { +#line 389 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 389 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((photos == NULL) || GEE_IS_COLLECTION (photos)); +#line 389 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((videos == NULL) || GEE_IS_COLLECTION (videos)); +#line 4174 "MediaDataRepresentation.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media; +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_it = _tmp1_; +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 4187 "MediaDataRepresentation.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GeeCollection* _tmp7_ = NULL; +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _source_it; +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp3_) { +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 4203 "MediaDataRepresentation.c" + } +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _source_it; +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source = (MediaSource*) _tmp5_; +#line 392 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = photos; +#line 392 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp7_ != NULL) { +#line 4215 "MediaDataRepresentation.c" + MediaSource* _tmp8_ = NULL; +#line 392 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = source; +#line 392 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_LIBRARY_PHOTO); +#line 4221 "MediaDataRepresentation.c" + } else { +#line 392 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = FALSE; +#line 4225 "MediaDataRepresentation.c" + } +#line 392 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp6_) { +#line 4229 "MediaDataRepresentation.c" + GeeCollection* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = photos; +#line 393 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = source; +#line 393 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_collection_add (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4238 "MediaDataRepresentation.c" + } else { + gboolean _tmp11_ = FALSE; + GeeCollection* _tmp12_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = videos; +#line 394 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp12_ != NULL) { +#line 4246 "MediaDataRepresentation.c" + MediaSource* _tmp13_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = source; +#line 394 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_VIDEO); +#line 4252 "MediaDataRepresentation.c" + } else { +#line 394 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = FALSE; +#line 4256 "MediaDataRepresentation.c" + } +#line 394 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp11_) { +#line 4260 "MediaDataRepresentation.c" + GeeCollection* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = videos; +#line 395 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = source; +#line 395 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_collection_add (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_VIDEO, Video)); +#line 4269 "MediaDataRepresentation.c" + } else { + gboolean _tmp16_ = FALSE; + GeeCollection* _tmp17_ = NULL; +#line 396 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = photos; +#line 396 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp17_ != NULL) { +#line 396 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = TRUE; +#line 4279 "MediaDataRepresentation.c" + } else { + GeeCollection* _tmp18_ = NULL; +#line 396 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = videos; +#line 396 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = _tmp18_ != NULL; +#line 4286 "MediaDataRepresentation.c" + } +#line 396 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp16_) { +#line 4290 "MediaDataRepresentation.c" + MediaSource* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = source; +#line 397 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp20_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_OBJECT, DataObject)); +#line 397 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp21_ = _tmp20_; +#line 397 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_warning ("MediaDataRepresentation.vala:397: Unrecognized media: %s", _tmp21_); +#line 397 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp21_); +#line 4304 "MediaDataRepresentation.c" + } + } + } +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 4310 "MediaDataRepresentation.c" + } +#line 391 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_source_it); +#line 4314 "MediaDataRepresentation.c" + } +} + + +void media_source_collection_count_media (GeeCollection* media, gint* photo_count, gint* video_count) { + gint _vala_photo_count = 0; + gint _vala_video_count = 0; + GeeArrayList* photos = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* videos = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 401 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 403 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 403 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + photos = _tmp0_; +#line 404 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 404 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + videos = _tmp1_; +#line 406 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = media; +#line 406 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_filter_media (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (photos, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (videos, GEE_TYPE_COLLECTION, GeeCollection)); +#line 408 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (photos, GEE_TYPE_COLLECTION, GeeCollection)); +#line 408 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _tmp3_; +#line 408 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_photo_count = _tmp4_; +#line 409 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (videos, GEE_TYPE_COLLECTION, GeeCollection)); +#line 409 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _tmp5_; +#line 409 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_video_count = _tmp6_; +#line 401 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (videos); +#line 401 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (photos); +#line 401 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (photo_count) { +#line 401 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + *photo_count = _vala_photo_count; +#line 4365 "MediaDataRepresentation.c" + } +#line 401 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (video_count) { +#line 401 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + *video_count = _vala_video_count; +#line 4371 "MediaDataRepresentation.c" + } +} + + +gboolean media_source_collection_has_photo (GeeCollection* media) { + gboolean result = FALSE; +#line 412 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (media), FALSE); +#line 4380 "MediaDataRepresentation.c" + { + GeeIterator* _current_media_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media; +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _current_media_it = _tmp1_; +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 4393 "MediaDataRepresentation.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + MediaSource* current_media = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _current_media_it; +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp3_) { +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 4408 "MediaDataRepresentation.c" + } +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _current_media_it; +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + current_media = (MediaSource*) _tmp5_; +#line 414 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = current_media; +#line 414 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_PHOTO)) { +#line 415 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = TRUE; +#line 415 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (current_media); +#line 415 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_current_media_it); +#line 415 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 4428 "MediaDataRepresentation.c" + } +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (current_media); +#line 4432 "MediaDataRepresentation.c" + } +#line 413 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_current_media_it); +#line 4436 "MediaDataRepresentation.c" + } +#line 419 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = FALSE; +#line 419 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 4442 "MediaDataRepresentation.c" +} + + +gboolean media_source_collection_has_video (GeeCollection* media) { + gboolean result = FALSE; +#line 422 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (media), FALSE); +#line 4450 "MediaDataRepresentation.c" + { + GeeIterator* _current_media_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media; +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _current_media_it = _tmp1_; +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 4463 "MediaDataRepresentation.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + MediaSource* current_media = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _current_media_it; +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp3_) { +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 4478 "MediaDataRepresentation.c" + } +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _current_media_it; +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + current_media = (MediaSource*) _tmp5_; +#line 424 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = current_media; +#line 424 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_VIDEO)) { +#line 425 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = TRUE; +#line 425 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (current_media); +#line 425 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_current_media_it); +#line 425 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 4498 "MediaDataRepresentation.c" + } +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (current_media); +#line 4502 "MediaDataRepresentation.c" + } +#line 423 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_current_media_it); +#line 4506 "MediaDataRepresentation.c" + } +#line 429 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = FALSE; +#line 429 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 4512 "MediaDataRepresentation.c" +} + + +static MediaSourceHoldingTank* media_source_collection_real_create_trashcan (MediaSourceCollection* self) { +#line 432 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_collection_create_trashcan'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 432 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 4521 "MediaDataRepresentation.c" +} + + +MediaSourceHoldingTank* media_source_collection_create_trashcan (MediaSourceCollection* self) { +#line 432 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 432 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->create_trashcan (self); +#line 4530 "MediaDataRepresentation.c" +} + + +static MediaSourceHoldingTank* media_source_collection_real_create_offline_bin (MediaSourceCollection* self) { +#line 434 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_collection_create_offline_bin'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 434 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 4539 "MediaDataRepresentation.c" +} + + +MediaSourceHoldingTank* media_source_collection_create_offline_bin (MediaSourceCollection* self) { +#line 434 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 434 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->create_offline_bin (self); +#line 4548 "MediaDataRepresentation.c" +} + + +static MediaMonitor* media_source_collection_real_create_media_monitor (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable) { +#line 436 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_collection_create_media_monitor'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 436 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 4557 "MediaDataRepresentation.c" +} + + +MediaMonitor* media_source_collection_create_media_monitor (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable) { +#line 436 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 436 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->create_media_monitor (self, workers, cancellable); +#line 4566 "MediaDataRepresentation.c" +} + + +static gchar* media_source_collection_real_get_typename (MediaSourceCollection* self) { +#line 438 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_collection_get_typename'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 438 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 4575 "MediaDataRepresentation.c" +} + + +gchar* media_source_collection_get_typename (MediaSourceCollection* self) { +#line 438 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 438 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->get_typename (self); +#line 4584 "MediaDataRepresentation.c" +} + + +static gboolean media_source_collection_real_is_file_recognized (MediaSourceCollection* self, GFile* file) { +#line 440 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_collection_is_file_recognized'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 440 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return FALSE; +#line 4593 "MediaDataRepresentation.c" +} + + +gboolean media_source_collection_is_file_recognized (MediaSourceCollection* self, GFile* file) { +#line 440 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), FALSE); +#line 440 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->is_file_recognized (self, file); +#line 4602 "MediaDataRepresentation.c" +} + + +static gpointer _source_holding_tank_ref0 (gpointer self) { +#line 443 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self ? source_holding_tank_ref (self) : NULL; +#line 4609 "MediaDataRepresentation.c" +} + + +MediaSourceHoldingTank* media_source_collection_get_trashcan (MediaSourceCollection* self) { + MediaSourceHoldingTank* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; +#line 442 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 443 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->trashcan; +#line 443 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _source_holding_tank_ref0 (_tmp0_); +#line 443 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp1_; +#line 443 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 4627 "MediaDataRepresentation.c" +} + + +MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self) { + MediaSourceHoldingTank* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; +#line 446 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 447 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->offline_bin; +#line 447 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _source_holding_tank_ref0 (_tmp0_); +#line 447 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp1_; +#line 447 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 4645 "MediaDataRepresentation.c" +} + + +static MediaSource* media_source_collection_real_fetch_by_numeric_id (MediaSourceCollection* self, gint64 numeric_id) { +#line 453 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_collection_fetch_by_numeric_id'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 453 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 4654 "MediaDataRepresentation.c" +} + + +MediaSource* media_source_collection_fetch_by_numeric_id (MediaSourceCollection* self, gint64 numeric_id) { +#line 453 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 453 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->fetch_by_numeric_id (self, numeric_id); +#line 4663 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_notify_import_roll_altered (MediaSourceCollection* self) { +#line 456 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_emit_by_name (self, "import-roll-altered"); +#line 4670 "MediaDataRepresentation.c" +} + + +void media_source_collection_notify_import_roll_altered (MediaSourceCollection* self) { +#line 455 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 455 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->notify_import_roll_altered (self); +#line 4679 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_notify_flagged_contents_altered (MediaSourceCollection* self) { +#line 460 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_emit_by_name (self, "flagged-contents-altered"); +#line 4686 "MediaDataRepresentation.c" +} + + +void media_source_collection_notify_flagged_contents_altered (MediaSourceCollection* self) { +#line 459 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 459 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->notify_flagged_contents_altered (self); +#line 4695 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_notify_media_import_starting (MediaSourceCollection* self, GeeCollection* media) { + GeeCollection* _tmp0_ = NULL; +#line 463 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 464 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media; +#line 464 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_emit_by_name (self, "media-import-starting", _tmp0_); +#line 4707 "MediaDataRepresentation.c" +} + + +void media_source_collection_notify_media_import_starting (MediaSourceCollection* self, GeeCollection* media) { +#line 463 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 463 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->notify_media_import_starting (self, media); +#line 4716 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_notify_media_import_completed (MediaSourceCollection* self, GeeCollection* media) { + GeeCollection* _tmp0_ = NULL; +#line 467 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 468 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media; +#line 468 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_emit_by_name (self, "media-import-completed", _tmp0_); +#line 4728 "MediaDataRepresentation.c" +} + + +void media_source_collection_notify_media_import_completed (MediaSourceCollection* self, GeeCollection* media) { +#line 467 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 467 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->notify_media_import_completed (self, media); +#line 4737 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_items_altered (DataCollection* base, GeeMap* items) { + MediaSourceCollection * self; + GeeArrayList* to_trashcan = NULL; + GeeArrayList* to_offline = NULL; + gboolean flagged_altered = FALSE; + GeeArrayList* _tmp54_ = NULL; + GeeArrayList* _tmp58_ = NULL; + gboolean _tmp62_ = FALSE; + GeeMap* _tmp63_ = NULL; +#line 471 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection); +#line 471 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 472 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + to_trashcan = NULL; +#line 473 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + to_offline = NULL; +#line 474 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flagged_altered = FALSE; +#line 4760 "MediaDataRepresentation.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = items; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _tmp4_; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp3_); +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _object_it = _tmp5_; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 4787 "MediaDataRepresentation.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Alteration* alteration = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + MediaSource* source = NULL; + DataObject* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + Alteration* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; + MediaSource* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp28_ = FALSE; + MediaSource* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + Flaggable* flaggable = NULL; + MediaSource* _tmp39_ = NULL; + Flaggable* _tmp40_ = NULL; + Flaggable* _tmp41_ = NULL; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _object_it; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp7_) { +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 4820 "MediaDataRepresentation.c" + } +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = _object_it; +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + object = (DataObject*) _tmp9_; +#line 476 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = items; +#line 476 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = object; +#line 476 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 476 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + alteration = (Alteration*) _tmp12_; +#line 477 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = object; +#line 477 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 477 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source = _tmp14_; +#line 479 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = alteration; +#line 479 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = alteration_has_subject (_tmp15_, "metadata"); +#line 479 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp16_) { +#line 480 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 480 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _alteration_unref0 (alteration); +#line 480 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (object); +#line 480 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + continue; +#line 4856 "MediaDataRepresentation.c" + } +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = source; +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = media_source_is_trashed (_tmp18_); +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp19_) { +#line 4864 "MediaDataRepresentation.c" + MediaSourceHoldingTank* _tmp20_ = NULL; + MediaSourceHoldingTank* _tmp21_ = NULL; + MediaSource* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp20_ = media_source_collection_get_trashcan (self); +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp21_ = _tmp20_; +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp22_ = source; +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp23_ = source_holding_tank_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_SOURCE, DataSource)); +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = !_tmp23_; +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp21_); +#line 4881 "MediaDataRepresentation.c" + } else { +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = FALSE; +#line 4885 "MediaDataRepresentation.c" + } +#line 482 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp17_) { +#line 4889 "MediaDataRepresentation.c" + GeeArrayList* _tmp24_ = NULL; + GeeArrayList* _tmp26_ = NULL; + MediaSource* _tmp27_ = NULL; +#line 483 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp24_ = to_trashcan; +#line 483 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp24_ == NULL) { +#line 4897 "MediaDataRepresentation.c" + GeeArrayList* _tmp25_ = NULL; +#line 484 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 484 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (to_trashcan); +#line 484 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + to_trashcan = _tmp25_; +#line 4905 "MediaDataRepresentation.c" + } +#line 486 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp26_ = to_trashcan; +#line 486 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp27_ = source; +#line 486 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp27_); +#line 489 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 489 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _alteration_unref0 (alteration); +#line 489 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (object); +#line 489 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + continue; +#line 4921 "MediaDataRepresentation.c" + } +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp29_ = source; +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp30_ = media_source_is_offline (_tmp29_); +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp30_) { +#line 4929 "MediaDataRepresentation.c" + MediaSourceHoldingTank* _tmp31_ = NULL; + MediaSourceHoldingTank* _tmp32_ = NULL; + MediaSource* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp31_ = media_source_collection_get_offline_bin (self); +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp32_ = _tmp31_; +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp33_ = source; +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp34_ = source_holding_tank_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_DATA_SOURCE, DataSource)); +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = !_tmp34_; +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp32_); +#line 4946 "MediaDataRepresentation.c" + } else { +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = FALSE; +#line 4950 "MediaDataRepresentation.c" + } +#line 492 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp28_) { +#line 4954 "MediaDataRepresentation.c" + GeeArrayList* _tmp35_ = NULL; + GeeArrayList* _tmp37_ = NULL; + MediaSource* _tmp38_ = NULL; +#line 493 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp35_ = to_offline; +#line 493 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp35_ == NULL) { +#line 4962 "MediaDataRepresentation.c" + GeeArrayList* _tmp36_ = NULL; +#line 494 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp36_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 494 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (to_offline); +#line 494 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + to_offline = _tmp36_; +#line 4970 "MediaDataRepresentation.c" + } +#line 496 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp37_ = to_offline; +#line 496 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp38_ = source; +#line 496 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp38_); +#line 4978 "MediaDataRepresentation.c" + } +#line 499 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp39_ = source; +#line 499 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp40_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp39_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp39_) : NULL); +#line 499 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flaggable = _tmp40_; +#line 500 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp41_ = flaggable; +#line 500 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp41_ != NULL) { +#line 4990 "MediaDataRepresentation.c" + Flaggable* _tmp42_ = NULL; + gboolean _tmp43_ = FALSE; +#line 501 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp42_ = flaggable; +#line 501 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp43_ = flaggable_is_flagged (_tmp42_); +#line 501 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp43_) { +#line 4999 "MediaDataRepresentation.c" + gboolean _tmp44_ = FALSE; + GeeSet* _tmp45_ = NULL; + MediaSource* _tmp46_ = NULL; + gboolean _tmp47_ = FALSE; +#line 502 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp45_ = self->priv->flagged; +#line 502 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp46_ = source; +#line 502 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp47_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, GEE_TYPE_COLLECTION, GeeCollection), _tmp46_); +#line 502 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp47_) { +#line 502 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp44_ = TRUE; +#line 5014 "MediaDataRepresentation.c" + } else { + gboolean _tmp48_ = FALSE; +#line 502 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp48_ = flagged_altered; +#line 502 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp44_ = _tmp48_; +#line 5021 "MediaDataRepresentation.c" + } +#line 502 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flagged_altered = _tmp44_; +#line 5025 "MediaDataRepresentation.c" + } else { + gboolean _tmp49_ = FALSE; + GeeSet* _tmp50_ = NULL; + MediaSource* _tmp51_ = NULL; + gboolean _tmp52_ = FALSE; +#line 504 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp50_ = self->priv->flagged; +#line 504 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp51_ = source; +#line 504 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp52_ = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection), _tmp51_); +#line 504 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp52_) { +#line 504 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp49_ = TRUE; +#line 5041 "MediaDataRepresentation.c" + } else { + gboolean _tmp53_ = FALSE; +#line 504 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp53_ = flagged_altered; +#line 504 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp49_ = _tmp53_; +#line 5048 "MediaDataRepresentation.c" + } +#line 504 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flagged_altered = _tmp49_; +#line 5052 "MediaDataRepresentation.c" + } + } +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (flaggable); +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _alteration_unref0 (alteration); +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (object); +#line 5063 "MediaDataRepresentation.c" + } +#line 475 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_object_it); +#line 5067 "MediaDataRepresentation.c" + } +#line 508 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp54_ = to_trashcan; +#line 508 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp54_ != NULL) { +#line 5073 "MediaDataRepresentation.c" + MediaSourceHoldingTank* _tmp55_ = NULL; + MediaSourceHoldingTank* _tmp56_ = NULL; + GeeArrayList* _tmp57_ = NULL; +#line 509 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp55_ = media_source_collection_get_trashcan (self); +#line 509 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp56_ = _tmp55_; +#line 509 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp57_ = to_trashcan; +#line 509 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source_holding_tank_unlink_and_hold (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 509 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp56_); +#line 5087 "MediaDataRepresentation.c" + } +#line 511 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp58_ = to_offline; +#line 511 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp58_ != NULL) { +#line 5093 "MediaDataRepresentation.c" + MediaSourceHoldingTank* _tmp59_ = NULL; + MediaSourceHoldingTank* _tmp60_ = NULL; + GeeArrayList* _tmp61_ = NULL; +#line 512 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp59_ = media_source_collection_get_offline_bin (self); +#line 512 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp60_ = _tmp59_; +#line 512 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp61_ = to_offline; +#line 512 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source_holding_tank_unlink_and_hold (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 512 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp60_); +#line 5107 "MediaDataRepresentation.c" + } +#line 514 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp62_ = flagged_altered; +#line 514 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp62_) { +#line 515 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_notify_flagged_contents_altered (self); +#line 5115 "MediaDataRepresentation.c" + } +#line 517 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp63_ = items; +#line 517 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + DATA_COLLECTION_CLASS (media_source_collection_parent_class)->items_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp63_); +#line 471 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (to_offline); +#line 471 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (to_trashcan); +#line 5125 "MediaDataRepresentation.c" +} + + +static void _media_source_collection_on_master_replaced_media_source_master_replaced (MediaSource* _sender, GFile* old_file, GFile* new_file, gpointer self) { +#line 529 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_on_master_replaced ((MediaSourceCollection*) self, _sender, old_file, new_file); +#line 5132 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed) { + MediaSourceCollection * self; + gboolean import_roll_changed = FALSE; + gboolean flagged_altered = FALSE; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp38_ = NULL; + gboolean _tmp74_ = FALSE; + gboolean _tmp75_ = FALSE; + GeeIterable* _tmp76_ = NULL; + GeeIterable* _tmp77_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection); +#line 520 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 520 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 522 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + import_roll_changed = FALSE; +#line 523 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flagged_altered = FALSE; +#line 524 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = added; +#line 524 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp0_ != NULL) { +#line 5160 "MediaDataRepresentation.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = added; +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _object_it = _tmp2_; +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 5173 "MediaDataRepresentation.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + MediaSource* media = NULL; + DataObject* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + GeeHashMap* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + MediaSource* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + ImportID import_id = {0}; + MediaSource* _tmp15_ = NULL; + ImportID _tmp16_ = {0}; + gboolean _tmp17_ = FALSE; + Flaggable* flaggable = NULL; + MediaSource* _tmp23_ = NULL; + Flaggable* _tmp24_ = NULL; + Flaggable* _tmp25_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _object_it; +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp4_) { +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 5204 "MediaDataRepresentation.c" + } +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _object_it; +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + object = (DataObject*) _tmp6_; +#line 526 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = object; +#line 526 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 526 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media = _tmp8_; +#line 528 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = self->priv->by_master_file; +#line 528 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = media; +#line 528 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = media_source_get_master_file (_tmp10_); +#line 528 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = _tmp11_; +#line 528 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = media; +#line 528 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_, _tmp13_); +#line 528 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp12_); +#line 529 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = media; +#line 529 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_connect (_tmp14_, "master-replaced", (GCallback) _media_source_collection_on_master_replaced_media_source_master_replaced, self); +#line 531 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = media; +#line 531 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_get_import_id (_tmp15_, &_tmp16_); +#line 531 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + import_id = _tmp16_; +#line 532 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = import_id_is_valid (&import_id); +#line 532 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp17_) { +#line 5246 "MediaDataRepresentation.c" + GeeTreeSet* _tmp18_ = NULL; + ImportID _tmp19_ = {0}; + GeeMultiMap* _tmp20_ = NULL; + ImportID _tmp21_ = {0}; + MediaSource* _tmp22_ = NULL; +#line 533 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = self->priv->sorted_import_ids; +#line 533 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = import_id; +#line 533 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), &_tmp19_); +#line 534 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp20_ = self->priv->import_rolls; +#line 534 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp21_ = import_id; +#line 534 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp22_ = media; +#line 534 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_multi_map_set (_tmp20_, &_tmp21_, _tmp22_); +#line 536 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + import_roll_changed = TRUE; +#line 5268 "MediaDataRepresentation.c" + } +#line 539 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp23_ = media; +#line 539 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp23_) : NULL); +#line 539 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flaggable = _tmp24_; +#line 540 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25_ = flaggable; +#line 540 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp25_ != NULL) { +#line 5280 "MediaDataRepresentation.c" + Flaggable* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 541 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp26_ = flaggable; +#line 541 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp27_ = flaggable_is_flagged (_tmp26_); +#line 541 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp27_) { +#line 5289 "MediaDataRepresentation.c" + gboolean _tmp28_ = FALSE; + GeeSet* _tmp29_ = NULL; + MediaSource* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 542 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp29_ = self->priv->flagged; +#line 542 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp30_ = media; +#line 542 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp31_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection), _tmp30_); +#line 542 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp31_) { +#line 542 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = TRUE; +#line 5304 "MediaDataRepresentation.c" + } else { + gboolean _tmp32_ = FALSE; +#line 542 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp32_ = flagged_altered; +#line 542 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = _tmp32_; +#line 5311 "MediaDataRepresentation.c" + } +#line 542 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flagged_altered = _tmp28_; +#line 5315 "MediaDataRepresentation.c" + } else { + gboolean _tmp33_ = FALSE; + GeeSet* _tmp34_ = NULL; + MediaSource* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; +#line 544 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp34_ = self->priv->flagged; +#line 544 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp35_ = media; +#line 544 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp36_ = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection), _tmp35_); +#line 544 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp36_) { +#line 544 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp33_ = TRUE; +#line 5331 "MediaDataRepresentation.c" + } else { + gboolean _tmp37_ = FALSE; +#line 544 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp37_ = flagged_altered; +#line 544 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp33_ = _tmp37_; +#line 5338 "MediaDataRepresentation.c" + } +#line 544 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flagged_altered = _tmp33_; +#line 5342 "MediaDataRepresentation.c" + } + } +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (flaggable); +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (media); +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (object); +#line 5351 "MediaDataRepresentation.c" + } +#line 525 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_object_it); +#line 5355 "MediaDataRepresentation.c" + } + } +#line 549 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp38_ = removed; +#line 549 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp38_ != NULL) { +#line 5362 "MediaDataRepresentation.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp39_ = NULL; + GeeIterator* _tmp40_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp39_ = removed; +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp40_ = gee_iterable_iterator (_tmp39_); +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _object_it = _tmp40_; +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 5375 "MediaDataRepresentation.c" + GeeIterator* _tmp41_ = NULL; + gboolean _tmp42_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp43_ = NULL; + gpointer _tmp44_ = NULL; + MediaSource* media = NULL; + DataObject* _tmp45_ = NULL; + MediaSource* _tmp46_ = NULL; + gboolean is_removed = FALSE; + GeeHashMap* _tmp47_ = NULL; + MediaSource* _tmp48_ = NULL; + GFile* _tmp49_ = NULL; + GFile* _tmp50_ = NULL; + gboolean _tmp51_ = FALSE; + gboolean _tmp52_ = FALSE; + gboolean _tmp53_ = FALSE; + MediaSource* _tmp54_ = NULL; + guint _tmp55_ = 0U; + ImportID import_id = {0}; + MediaSource* _tmp56_ = NULL; + ImportID _tmp57_ = {0}; + gboolean _tmp58_ = FALSE; + gboolean _tmp69_ = FALSE; + GeeSet* _tmp70_ = NULL; + MediaSource* _tmp71_ = NULL; + gboolean _tmp72_ = FALSE; +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp41_ = _object_it; +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp42_ = gee_iterator_next (_tmp41_); +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp42_) { +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 5410 "MediaDataRepresentation.c" + } +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp43_ = _object_it; +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp44_ = gee_iterator_get (_tmp43_); +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + object = (DataObject*) _tmp44_; +#line 551 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp45_ = object; +#line 551 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp46_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 551 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media = _tmp46_; +#line 553 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp47_ = self->priv->by_master_file; +#line 553 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp48_ = media; +#line 553 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp49_ = media_source_get_master_file (_tmp48_); +#line 553 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp50_ = _tmp49_; +#line 553 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp51_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp50_, NULL); +#line 553 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp52_ = _tmp51_; +#line 553 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp50_); +#line 553 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + is_removed = _tmp52_; +#line 554 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp53_ = is_removed; +#line 554 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (_tmp53_, "is_removed"); +#line 555 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp54_ = media; +#line 555 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_parse_name ("master-replaced", TYPE_MEDIA_SOURCE, &_tmp55_, NULL, FALSE); +#line 555 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_handlers_disconnect_matched (_tmp54_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp55_, 0, NULL, (GCallback) _media_source_collection_on_master_replaced_media_source_master_replaced, self); +#line 557 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp56_ = media; +#line 557 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_get_import_id (_tmp56_, &_tmp57_); +#line 557 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + import_id = _tmp57_; +#line 558 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp58_ = import_id_is_valid (&import_id); +#line 558 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp58_) { +#line 5460 "MediaDataRepresentation.c" + GeeMultiMap* _tmp59_ = NULL; + ImportID _tmp60_ = {0}; + MediaSource* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; + gboolean _tmp63_ = FALSE; + GeeMultiMap* _tmp64_ = NULL; + ImportID _tmp65_ = {0}; + gboolean _tmp66_ = FALSE; +#line 559 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp59_ = self->priv->import_rolls; +#line 559 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp60_ = import_id; +#line 559 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp61_ = media; +#line 559 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp62_ = gee_multi_map_remove (_tmp59_, &_tmp60_, _tmp61_); +#line 559 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + is_removed = _tmp62_; +#line 560 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp63_ = is_removed; +#line 560 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (_tmp63_, "is_removed"); +#line 561 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp64_ = self->priv->import_rolls; +#line 561 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp65_ = import_id; +#line 561 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp66_ = gee_multi_map_contains (_tmp64_, &_tmp65_); +#line 561 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp66_) { +#line 5491 "MediaDataRepresentation.c" + GeeTreeSet* _tmp67_ = NULL; + ImportID _tmp68_ = {0}; +#line 562 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp67_ = self->priv->sorted_import_ids; +#line 562 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp68_ = import_id; +#line 562 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), &_tmp68_); +#line 5500 "MediaDataRepresentation.c" + } +#line 564 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + import_roll_changed = TRUE; +#line 5504 "MediaDataRepresentation.c" + } +#line 567 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp70_ = self->priv->flagged; +#line 567 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp71_ = media; +#line 567 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp72_ = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, GEE_TYPE_COLLECTION, GeeCollection), _tmp71_); +#line 567 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp72_) { +#line 567 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp69_ = TRUE; +#line 5516 "MediaDataRepresentation.c" + } else { + gboolean _tmp73_ = FALSE; +#line 567 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp73_ = flagged_altered; +#line 567 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp69_ = _tmp73_; +#line 5523 "MediaDataRepresentation.c" + } +#line 567 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + flagged_altered = _tmp69_; +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (media); +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (object); +#line 5531 "MediaDataRepresentation.c" + } +#line 550 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_object_it); +#line 5535 "MediaDataRepresentation.c" + } + } +#line 571 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp74_ = import_roll_changed; +#line 571 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp74_) { +#line 572 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_notify_import_roll_altered (self); +#line 5544 "MediaDataRepresentation.c" + } +#line 574 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp75_ = flagged_altered; +#line 574 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp75_) { +#line 575 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_notify_flagged_contents_altered (self); +#line 5552 "MediaDataRepresentation.c" + } +#line 577 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp76_ = added; +#line 577 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp77_ = removed; +#line 577 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + DATA_COLLECTION_CLASS (media_source_collection_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp76_, _tmp77_); +#line 5560 "MediaDataRepresentation.c" +} + + +static void media_source_collection_on_master_replaced (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file) { + gboolean is_removed = FALSE; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashMap* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + MediaSource* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; +#line 580 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 580 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (media)); +#line 580 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 580 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 581 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->by_master_file; +#line 581 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = old_file; +#line 581 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, NULL); +#line 581 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + is_removed = _tmp2_; +#line 582 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (is_removed, "is_removed"); +#line 584 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = self->priv->by_master_file; +#line 584 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = new_file; +#line 584 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = media; +#line 584 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, _tmp5_); +#line 586 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = media; +#line 586 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = old_file; +#line 586 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = new_file; +#line 586 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_emit_by_name (self, "master-file-replaced", _tmp6_, _tmp7_, _tmp8_); +#line 5609 "MediaDataRepresentation.c" +} + + +MediaSource* media_source_collection_fetch_by_master_file (MediaSourceCollection* self, GFile* file) { + MediaSource* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 589 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 589 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 590 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->by_master_file; +#line 590 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = file; +#line 590 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 590 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = (MediaSource*) _tmp2_; +#line 590 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5632 "MediaDataRepresentation.c" +} + + +static MediaSource* media_source_collection_real_fetch_by_source_id (MediaSourceCollection* self, const gchar* source_id) { + MediaSource* result = NULL; + gchar** components = NULL; + const gchar* _tmp0_ = NULL; + gchar** _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint components_length1 = 0; + gint _components_size_ = 0; + const gchar* _tmp3_ = NULL; + gint64 _tmp4_ = 0LL; + MediaSource* _tmp5_ = NULL; +#line 593 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (source_id != NULL, NULL); +#line 594 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = source_id; +#line 594 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_ = g_strsplit (_tmp0_, "-", 0); +#line 594 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + components = _tmp2_; +#line 594 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + components_length1 = _vala_array_length (_tmp1_); +#line 594 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _components_size_ = components_length1; +#line 595 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (components_length1 == 2, "components.length == 2"); +#line 597 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = components[1]; +#line 597 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = parse_int64 (_tmp3_, 16); +#line 597 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = media_source_collection_fetch_by_numeric_id (self, _tmp4_); +#line 597 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp5_; +#line 597 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + components = (_vala_array_free (components, components_length1, (GDestroyNotify) g_free), NULL); +#line 597 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5673 "MediaDataRepresentation.c" +} + + +MediaSource* media_source_collection_fetch_by_source_id (MediaSourceCollection* self, const gchar* source_id) { +#line 593 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 593 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->fetch_by_source_id (self, source_id); +#line 5682 "MediaDataRepresentation.c" +} + + +static GeeCollection* media_source_collection_real_get_event_source_ids (MediaSourceCollection* self, EventID* event_id) { +#line 600 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("Type `%s' does not implement abstract method `media_source_collection_get_event_source_ids'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 600 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 5691 "MediaDataRepresentation.c" +} + + +GeeCollection* media_source_collection_get_event_source_ids (MediaSourceCollection* self, EventID* event_id) { +#line 600 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 600 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->get_event_source_ids (self, event_id); +#line 5700 "MediaDataRepresentation.c" +} + + +GeeCollection* media_source_collection_get_trashcan_contents (MediaSourceCollection* self) { + GeeCollection* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#line 602 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 603 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_source_collection_get_trashcan (self); +#line 603 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 603 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = source_holding_tank_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)); +#line 603 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 603 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 603 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp3_; +#line 603 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5726 "MediaDataRepresentation.c" +} + + +GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self) { + GeeCollection* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#line 606 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 607 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_source_collection_get_offline_bin (self); +#line 607 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 607 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = source_holding_tank_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)); +#line 607 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 607 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 607 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp3_; +#line 607 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5752 "MediaDataRepresentation.c" +} + + +GeeCollection* media_source_collection_get_flagged (MediaSourceCollection* self) { + GeeCollection* result = NULL; + GeeSet* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; +#line 610 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 611 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->flagged; +#line 611 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_set_get_read_only_view (_tmp0_); +#line 611 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_; +#line 611 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 611 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5773 "MediaDataRepresentation.c" +} + + +GeeSortedSet* media_source_collection_get_import_roll_ids (MediaSourceCollection* self) { + GeeSortedSet* result = NULL; + GeeTreeSet* _tmp0_ = NULL; + GeeSortedSet* _tmp1_ = NULL; +#line 615 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 616 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->sorted_import_ids; +#line 616 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_SORTED_SET, GeeSortedSet)); +#line 616 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp1_; +#line 616 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5791 "MediaDataRepresentation.c" +} + + +ImportID* media_source_collection_get_last_import_id (MediaSourceCollection* self) { + ImportID* result = NULL; + ImportID* _tmp0_ = NULL; + GeeTreeSet* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 619 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = self->priv->sorted_import_ids; +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp3_ != 0) { +#line 5811 "MediaDataRepresentation.c" + GeeTreeSet* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = self->priv->sorted_import_ids; +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_abstract_sorted_set_last (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_SORTED_SET, GeeAbstractSortedSet)); +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _import_id_free0 (_tmp0_); +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = (ImportID*) _tmp5_; +#line 5822 "MediaDataRepresentation.c" + } else { +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _import_id_free0 (_tmp0_); +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = NULL; +#line 5828 "MediaDataRepresentation.c" + } +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp0_; +#line 620 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5834 "MediaDataRepresentation.c" +} + + +GeeCollection* media_source_collection_get_import_roll (MediaSourceCollection* self, ImportID* import_id) { + GeeCollection* result = NULL; + GeeMultiMap* _tmp0_ = NULL; + ImportID _tmp1_ = {0}; + GeeCollection* _tmp2_ = NULL; +#line 623 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 623 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (import_id != NULL, NULL); +#line 624 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->import_rolls; +#line 624 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = *import_id; +#line 624 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_multi_map_get (_tmp0_, &_tmp1_); +#line 624 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp2_; +#line 624 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5857 "MediaDataRepresentation.c" +} + + +void media_source_collection_add_many_to_trash (MediaSourceCollection* self, GeeCollection* sources) { + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 627 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 627 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 628 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_source_collection_get_trashcan (self); +#line 628 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 628 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = sources; +#line 628 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source_holding_tank_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp2_); +#line 628 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 5879 "MediaDataRepresentation.c" +} + + +void media_source_collection_add_many_to_offline (MediaSourceCollection* self, GeeCollection* sources) { + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 631 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 631 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 632 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_source_collection_get_offline_bin (self); +#line 632 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 632 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = sources; +#line 632 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source_holding_tank_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp2_); +#line 632 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 5901 "MediaDataRepresentation.c" +} + + +gint media_source_collection_get_trashcan_count (MediaSourceCollection* self) { + gint result = 0; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 635 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), 0); +#line 636 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_source_collection_get_trashcan (self); +#line 636 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 636 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = source_holding_tank_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)); +#line 636 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 636 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 636 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp3_; +#line 636 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5927 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_import_many (MediaSourceCollection* self, GeeCollection* media) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; +#line 642 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 643 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media; +#line 643 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_notify_media_import_starting (self, _tmp0_); +#line 645 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = media; +#line 645 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp1_, NULL, NULL); +#line 645 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 645 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp3_); +#line 647 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = media; +#line 647 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_postprocess_imported_media (self, _tmp4_); +#line 649 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = media; +#line 649 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_notify_media_import_completed (self, _tmp5_); +#line 5960 "MediaDataRepresentation.c" +} + + +void media_source_collection_import_many (MediaSourceCollection* self, GeeCollection* media) { +#line 642 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 642 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->import_many (self, media); +#line 5969 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_postprocess_imported_media (MediaSourceCollection* self, GeeCollection* media) { +#line 654 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 5976 "MediaDataRepresentation.c" +} + + +void media_source_collection_postprocess_imported_media (MediaSourceCollection* self, GeeCollection* media) { +#line 654 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 654 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->postprocess_imported_media (self, media); +#line 5985 "MediaDataRepresentation.c" +} + + +static gboolean _aggregate_progress_monitor_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self) { + gboolean result; + result = aggregate_progress_monitor_monitor ((AggregateProgressMonitor*) self, current, total); +#line 689 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 5994 "MediaDataRepresentation.c" +} + + +void media_source_collection_remove_from_app (MediaSourceCollection* self, GeeCollection* sources, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed) { + GeeCollection* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashSet* to_tombstone = NULL; + GeeHashSet* _tmp4_ = NULL; + GeeArrayList* trashed = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* offlined = NULL; + GeeArrayList* _tmp6_ = NULL; + GeeArrayList* not_trashed = NULL; + GeeArrayList* _tmp7_ = NULL; + gint total_count = 0; + GeeCollection* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + GeeArrayList* _tmp31_ = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; + GeeArrayList* _tmp34_ = NULL; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + GeeArrayList* _tmp37_ = NULL; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + AggregateProgressMonitor* agg_monitor = NULL; + ProgressMonitor _tmp40_ = NULL; + void* _tmp40__target = NULL; + GeeArrayList* _tmp45_ = NULL; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + GeeArrayList* _tmp54_ = NULL; + gint _tmp55_ = 0; + gint _tmp56_ = 0; + GeeArrayList* _tmp63_ = NULL; + gint _tmp64_ = 0; + gint _tmp65_ = 0; + gboolean _tmp72_ = FALSE; + GeeHashSet* _tmp73_ = NULL; + GError * _inner_error_ = NULL; +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((sources == NULL) || GEE_IS_COLLECTION (sources)); +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((not_removed == NULL) || GEE_IS_LIST (not_removed)); +#line 662 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = sources; +#line 662 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (_tmp0_ != NULL, "sources != null"); +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = delete_backing; +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp2_) { +#line 6053 "MediaDataRepresentation.c" + GeeHashSet* _tmp3_ = NULL; +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp3_; +#line 6061 "MediaDataRepresentation.c" + } else { +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = NULL; +#line 6067 "MediaDataRepresentation.c" + } +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _g_object_ref0 (_tmp1_); +#line 664 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + to_tombstone = _tmp4_; +#line 667 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 667 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + trashed = _tmp5_; +#line 668 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 668 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + offlined = _tmp6_; +#line 669 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 669 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + not_trashed = _tmp7_; +#line 6085 "MediaDataRepresentation.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = sources; +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_it = _tmp9_; +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 6098 "MediaDataRepresentation.c" + GeeIterator* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + GeeHashSet* _tmp24_ = NULL; +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = _source_it; +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = gee_iterator_next (_tmp10_); +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp11_) { +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 6115 "MediaDataRepresentation.c" + } +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = _source_it; +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = gee_iterator_get (_tmp12_); +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source = (MediaSource*) _tmp13_; +#line 671 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = source; +#line 671 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = media_source_is_trashed (_tmp14_); +#line 671 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp15_) { +#line 6129 "MediaDataRepresentation.c" + GeeArrayList* _tmp16_ = NULL; + MediaSource* _tmp17_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = trashed; +#line 672 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = source; +#line 672 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 6138 "MediaDataRepresentation.c" + } else { + MediaSource* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 673 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = source; +#line 673 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = media_source_is_offline (_tmp18_); +#line 673 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp19_) { +#line 6148 "MediaDataRepresentation.c" + GeeArrayList* _tmp20_ = NULL; + MediaSource* _tmp21_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp20_ = offlined; +#line 674 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp21_ = source; +#line 674 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp21_); +#line 6157 "MediaDataRepresentation.c" + } else { + GeeArrayList* _tmp22_ = NULL; + MediaSource* _tmp23_ = NULL; +#line 676 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp22_ = not_trashed; +#line 676 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp23_ = source; +#line 676 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp23_); +#line 6167 "MediaDataRepresentation.c" + } + } +#line 678 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp24_ = to_tombstone; +#line 678 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp24_ != NULL) { +#line 6174 "MediaDataRepresentation.c" + GeeHashSet* _tmp25_ = NULL; + MediaSource* _tmp26_ = NULL; +#line 679 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25_ = to_tombstone; +#line 679 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp26_ = source; +#line 679 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp26_); +#line 6183 "MediaDataRepresentation.c" + } +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 6187 "MediaDataRepresentation.c" + } +#line 670 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_source_it); +#line 6191 "MediaDataRepresentation.c" + } +#line 682 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp27_ = sources; +#line 682 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = gee_collection_get_size (_tmp27_); +#line 682 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp29_ = _tmp28_; +#line 682 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + total_count = _tmp29_; +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp30_ = total_count; +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp31_ = trashed; +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp32_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp33_ = _tmp32_; +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp34_ = offlined; +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp35_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp36_ = _tmp35_; +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp37_ = not_trashed; +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp38_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp39_ = _tmp38_; +#line 683 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (_tmp30_ == ((_tmp33_ + _tmp36_) + _tmp39_), "total_count == (trashed.size + offlined.size + not_trashed.size)"); +#line 686 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + agg_monitor = NULL; +#line 687 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp40_ = monitor; +#line 687 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp40__target = monitor_target; +#line 687 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp40_ != NULL) { +#line 6231 "MediaDataRepresentation.c" + gint _tmp41_ = 0; + ProgressMonitor _tmp42_ = NULL; + void* _tmp42__target = NULL; + AggregateProgressMonitor* _tmp43_ = NULL; + AggregateProgressMonitor* _tmp44_ = NULL; +#line 688 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp41_ = total_count; +#line 688 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp42_ = monitor; +#line 688 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp42__target = monitor_target; +#line 688 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp43_ = aggregate_progress_monitor_new ((guint64) _tmp41_, _tmp42_, _tmp42__target); +#line 688 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _aggregate_progress_monitor_unref0 (agg_monitor); +#line 688 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + agg_monitor = _tmp43_; +#line 689 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp44_ = agg_monitor; +#line 689 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + monitor = _aggregate_progress_monitor_monitor_progress_monitor; +#line 689 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + monitor_target = _tmp44_; +#line 6255 "MediaDataRepresentation.c" + } +#line 692 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp45_ = trashed; +#line 692 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp46_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 692 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp47_ = _tmp46_; +#line 692 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp47_ > 0) { +#line 6265 "MediaDataRepresentation.c" + MediaSourceHoldingTank* _tmp48_ = NULL; + MediaSourceHoldingTank* _tmp49_ = NULL; + GeeArrayList* _tmp50_ = NULL; + gboolean _tmp51_ = FALSE; + ProgressMonitor _tmp52_ = NULL; + void* _tmp52__target = NULL; + GeeList* _tmp53_ = NULL; +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp48_ = media_source_collection_get_trashcan (self); +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp49_ = _tmp48_; +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp50_ = trashed; +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp51_ = delete_backing; +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp52_ = monitor; +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp52__target = monitor_target; +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp53_ = not_removed; +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source_holding_tank_destroy_orphans (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_LIST, GeeList), _tmp51_, _tmp52_, _tmp52__target, _tmp53_); +#line 693 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp49_); +#line 6291 "MediaDataRepresentation.c" + } +#line 695 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp54_ = offlined; +#line 695 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp55_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 695 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp56_ = _tmp55_; +#line 695 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp56_ > 0) { +#line 6301 "MediaDataRepresentation.c" + MediaSourceHoldingTank* _tmp57_ = NULL; + MediaSourceHoldingTank* _tmp58_ = NULL; + GeeArrayList* _tmp59_ = NULL; + gboolean _tmp60_ = FALSE; + ProgressMonitor _tmp61_ = NULL; + void* _tmp61__target = NULL; + GeeList* _tmp62_ = NULL; +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp57_ = media_source_collection_get_offline_bin (self); +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp58_ = _tmp57_; +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp59_ = offlined; +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp60_ = delete_backing; +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp61_ = monitor; +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp61__target = monitor_target; +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp62_ = not_removed; +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source_holding_tank_destroy_orphans (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_LIST, GeeList), _tmp60_, _tmp61_, _tmp61__target, _tmp62_); +#line 696 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (_tmp58_); +#line 6327 "MediaDataRepresentation.c" + } +#line 699 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp63_ = not_trashed; +#line 699 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp64_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 699 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp65_ = _tmp64_; +#line 699 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp65_ > 0) { +#line 6337 "MediaDataRepresentation.c" + GeeArrayList* _tmp66_ = NULL; + Marker* _tmp67_ = NULL; + Marker* _tmp68_ = NULL; + gboolean _tmp69_ = FALSE; + ProgressMonitor _tmp70_ = NULL; + void* _tmp70__target = NULL; + GeeList* _tmp71_ = NULL; +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp66_ = not_trashed; +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp67_ = data_collection_mark_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp68_ = _tmp67_; +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp69_ = delete_backing; +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp70_ = monitor; +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp70__target = monitor_target; +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp71_ = not_removed; +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp68_, _tmp69_, _tmp70_, _tmp70__target, _tmp71_); +#line 700 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp68_); +#line 6363 "MediaDataRepresentation.c" + } +#line 702 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp73_ = to_tombstone; +#line 702 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp73_ != NULL) { +#line 6369 "MediaDataRepresentation.c" + GeeHashSet* _tmp74_ = NULL; + gint _tmp75_ = 0; + gint _tmp76_ = 0; +#line 702 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp74_ = to_tombstone; +#line 702 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp75_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 702 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp76_ = _tmp75_; +#line 702 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp72_ = _tmp76_ > 0; +#line 6381 "MediaDataRepresentation.c" + } else { +#line 702 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp72_ = FALSE; +#line 6385 "MediaDataRepresentation.c" + } +#line 702 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp72_) { +#line 6389 "MediaDataRepresentation.c" + { + GeeHashSet* _tmp77_ = NULL; +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp77_ = to_tombstone; +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + tombstone_entomb_many_sources (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, GEE_TYPE_COLLECTION, GeeCollection), TOMBSTONE_REASON_REMOVED_BY_USER, &_inner_error_); +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6400 "MediaDataRepresentation.c" + goto __catch552_database_error; + } +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _aggregate_progress_monitor_unref0 (agg_monitor); +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (not_trashed); +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (offlined); +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (trashed); +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (to_tombstone); +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.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 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_clear_error (&_inner_error_); +#line 704 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 6421 "MediaDataRepresentation.c" + } + } + goto __finally552; + __catch552_database_error: + { + GError* err = NULL; + GError* _tmp78_ = NULL; +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + err = _inner_error_; +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _inner_error_ = NULL; +#line 706 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp78_ = err; +#line 706 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + app_window_database_error (_tmp78_); +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_error_free0 (err); +#line 6439 "MediaDataRepresentation.c" + } + __finally552: +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _aggregate_progress_monitor_unref0 (agg_monitor); +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (not_trashed); +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (offlined); +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (trashed); +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (to_tombstone); +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.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 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_clear_error (&_inner_error_); +#line 703 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 6462 "MediaDataRepresentation.c" + } + } +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _aggregate_progress_monitor_unref0 (agg_monitor); +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (not_trashed); +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (offlined); +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (trashed); +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (to_tombstone); +#line 660 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 6477 "MediaDataRepresentation.c" +} + + +void media_source_collection_delete_backing_files (MediaSourceCollection* self, GeeCollection* sources, ProgressMonitor monitor, void* monitor_target, GeeList* not_deleted) { + gint total_count = 0; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint i = 0; + GError * _inner_error_ = NULL; +#line 713 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (self)); +#line 713 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 713 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((not_deleted == NULL) || GEE_IS_LIST (not_deleted)); +#line 715 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = sources; +#line 715 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 715 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_; +#line 715 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + total_count = _tmp2_; +#line 716 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + i = 1; +#line 6504 "MediaDataRepresentation.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = sources; +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_it = _tmp4_; +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 6517 "MediaDataRepresentation.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + GFile* file = NULL; + MediaSource* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gboolean deleted = FALSE; + GFile* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + ProgressMonitor _tmp24_ = NULL; + void* _tmp24__target = NULL; + gint _tmp28_ = 0; +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _source_it; +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp6_) { +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 6542 "MediaDataRepresentation.c" + } +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = _source_it; +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + source = (MediaSource*) _tmp8_; +#line 719 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = source; +#line 719 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = media_source_get_file (_tmp9_); +#line 719 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + file = _tmp10_; +#line 6556 "MediaDataRepresentation.c" + { + GFile* _tmp11_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = file; +#line 721 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_file_delete (_tmp11_, NULL, &_inner_error_); +#line 721 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6565 "MediaDataRepresentation.c" + goto __catch553_g_error; + } + } + goto __finally553; + __catch553_g_error: + { + GError* err = NULL; + GFile* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + err = _inner_error_; +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _inner_error_ = NULL; +#line 724 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = file; +#line 724 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = g_file_get_path (_tmp12_); +#line 724 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = _tmp13_; +#line 724 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = err; +#line 724 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = _tmp15_->message; +#line 724 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_debug ("MediaDataRepresentation.vala:724: Exception deleting file %s: %s", _tmp14_, _tmp16_); +#line 724 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp14_); +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_error_free0 (err); +#line 6598 "MediaDataRepresentation.c" + } + __finally553: +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (file); +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_source_it); +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.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 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_clear_error (&_inner_error_); +#line 720 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 6615 "MediaDataRepresentation.c" + } +#line 727 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = file; +#line 727 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = g_file_query_exists (_tmp17_, NULL); +#line 727 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + deleted = !_tmp18_; +#line 728 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp20_ = deleted; +#line 728 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp20_) { +#line 6627 "MediaDataRepresentation.c" + GeeList* _tmp21_ = NULL; +#line 728 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp21_ = not_deleted; +#line 728 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = NULL != _tmp21_; +#line 6633 "MediaDataRepresentation.c" + } else { +#line 728 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp19_ = FALSE; +#line 6637 "MediaDataRepresentation.c" + } +#line 728 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp19_) { +#line 6641 "MediaDataRepresentation.c" + GeeList* _tmp22_ = NULL; + MediaSource* _tmp23_ = NULL; +#line 729 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp22_ = not_deleted; +#line 729 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp23_ = source; +#line 729 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_); +#line 6650 "MediaDataRepresentation.c" + } +#line 732 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp24_ = monitor; +#line 732 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp24__target = monitor_target; +#line 732 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp24_ != NULL) { +#line 6658 "MediaDataRepresentation.c" + ProgressMonitor _tmp25_ = NULL; + void* _tmp25__target = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 733 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25_ = monitor; +#line 733 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25__target = monitor_target; +#line 733 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp26_ = i; +#line 733 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp27_ = total_count; +#line 733 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp25_ ((guint64) _tmp26_, (guint64) _tmp27_, TRUE, _tmp25__target); +#line 6673 "MediaDataRepresentation.c" + } +#line 735 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp28_ = i; +#line 735 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + i = _tmp28_ + 1; +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (file); +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (source); +#line 6683 "MediaDataRepresentation.c" + } +#line 718 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_source_it); +#line 6687 "MediaDataRepresentation.c" + } +} + + +TransactionController* media_source_collection_get_transaction_controller (MediaSourceCollection* self) { +#line 342 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (self), NULL); +#line 342 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return MEDIA_SOURCE_COLLECTION_GET_CLASS (self)->get_transaction_controller (self); +#line 6697 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_media_import_starting (MediaSourceCollection* self, GeeCollection* media) { +#line 355 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 6704 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_media_import_completed (MediaSourceCollection* self, GeeCollection* media) { +#line 362 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (GEE_IS_COLLECTION (media)); +#line 6711 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_master_file_replaced (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file) { +#line 365 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE (media)); +#line 365 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 365 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 6722 "MediaDataRepresentation.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (n_param_values == 4); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data1 = closure->data; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data2 = param_values->data[0].v_pointer; +#line 6741 "MediaDataRepresentation.c" + } else { +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data1 = param_values->data[0].v_pointer; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data2 = closure->data; +#line 6747 "MediaDataRepresentation.c" + } +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_object (param_values + 3), data2); +#line 6753 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_trashcan_contents_altered (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed) { +#line 368 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 368 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 6762 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_import_roll_altered (MediaSourceCollection* self) { +} + + +static void media_source_collection_real_offline_contents_altered (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed) { +#line 375 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 375 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 6775 "MediaDataRepresentation.c" +} + + +static void media_source_collection_real_flagged_contents_altered (MediaSourceCollection* self) { +} + + +static void media_source_collection_class_init (MediaSourceCollectionClass * klass) { +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((DataCollectionClass *) klass)->finalize = media_source_collection_finalize; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_type_class_add_private (klass, sizeof (MediaSourceCollectionPrivate)); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->create_trashcan = media_source_collection_real_create_trashcan; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->create_offline_bin = media_source_collection_real_create_offline_bin; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->create_media_monitor = media_source_collection_real_create_media_monitor; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->get_typename = media_source_collection_real_get_typename; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->is_file_recognized = media_source_collection_real_is_file_recognized; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->fetch_by_numeric_id = media_source_collection_real_fetch_by_numeric_id; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->notify_import_roll_altered = media_source_collection_real_notify_import_roll_altered; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->notify_flagged_contents_altered = media_source_collection_real_notify_flagged_contents_altered; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->notify_media_import_starting = media_source_collection_real_notify_media_import_starting; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->notify_media_import_completed = media_source_collection_real_notify_media_import_completed; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((DataCollectionClass *) klass)->items_altered = media_source_collection_real_items_altered; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((DataCollectionClass *) klass)->notify_contents_altered = media_source_collection_real_notify_contents_altered; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->fetch_by_source_id = media_source_collection_real_fetch_by_source_id; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->get_event_source_ids = media_source_collection_real_get_event_source_ids; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->import_many = media_source_collection_real_import_many; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->postprocess_imported_media = media_source_collection_real_postprocess_imported_media; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->media_import_starting = media_source_collection_real_media_import_starting; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->media_import_completed = media_source_collection_real_media_import_completed; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->master_file_replaced = media_source_collection_real_master_file_replaced; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->trashcan_contents_altered = media_source_collection_real_trashcan_contents_altered; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->import_roll_altered = media_source_collection_real_import_roll_altered; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->offline_contents_altered = media_source_collection_real_offline_contents_altered; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaSourceCollectionClass *) klass)->flagged_contents_altered = media_source_collection_real_flagged_contents_altered; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_new ("media_import_starting", TYPE_MEDIA_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (MediaSourceCollectionClass, media_import_starting), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_new ("media_import_completed", TYPE_MEDIA_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (MediaSourceCollectionClass, media_import_completed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_new ("master_file_replaced", TYPE_MEDIA_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (MediaSourceCollectionClass, master_file_replaced), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_OBJECT, G_TYPE_NONE, 3, TYPE_MEDIA_SOURCE, G_TYPE_FILE, G_TYPE_FILE); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_new ("trashcan_contents_altered", TYPE_MEDIA_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (MediaSourceCollectionClass, trashcan_contents_altered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GEE_TYPE_COLLECTION, GEE_TYPE_COLLECTION); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_new ("import_roll_altered", TYPE_MEDIA_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (MediaSourceCollectionClass, import_roll_altered), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_new ("offline_contents_altered", TYPE_MEDIA_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (MediaSourceCollectionClass, offline_contents_altered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GEE_TYPE_COLLECTION, GEE_TYPE_COLLECTION); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_new ("flagged_contents_altered", TYPE_MEDIA_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (MediaSourceCollectionClass, flagged_contents_altered), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 6850 "MediaDataRepresentation.c" +} + + +static void media_source_collection_instance_init (MediaSourceCollection * self) { + GeeHashMap* _tmp0_ = NULL; + GeeTreeMultiMap* _tmp1_ = NULL; + GeeTreeSet* _tmp2_ = NULL; + GeeHashSet* _tmp3_ = NULL; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv = MEDIA_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 344 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->trashcan = NULL; +#line 345 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->offline_bin = NULL; +#line 346 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 346 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->by_master_file = _tmp0_; +#line 348 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_tree_multi_map_new (TYPE_IMPORT_ID, (GBoxedCopyFunc) import_id_dup, import_id_free, TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _import_id_compare_func_gcompare_data_func, NULL, NULL, NULL, NULL, NULL); +#line 348 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->import_rolls = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 350 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_tree_set_new (TYPE_IMPORT_ID, (GBoxedCopyFunc) import_id_dup, import_id_free, _import_id_compare_func_gcompare_data_func, NULL, NULL); +#line 350 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->sorted_import_ids = _tmp2_; +#line 351 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 351 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->flagged = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_SET, GeeSet); +#line 6881 "MediaDataRepresentation.c" +} + + +static void media_source_collection_finalize (DataCollection* obj) { + MediaSourceCollection * self; +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection); +#line 344 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (self->priv->trashcan); +#line 345 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _source_holding_tank_unref0 (self->priv->offline_bin); +#line 346 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->by_master_file); +#line 348 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->import_rolls); +#line 350 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->sorted_import_ids); +#line 351 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->flagged); +#line 341 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + DATA_COLLECTION_CLASS (media_source_collection_parent_class)->finalize (obj); +#line 6903 "MediaDataRepresentation.c" +} + + +GType media_source_collection_get_type (void) { + static volatile gsize media_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&media_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaSourceCollection), 0, (GInstanceInitFunc) media_source_collection_instance_init, NULL }; + GType media_source_collection_type_id; + media_source_collection_type_id = g_type_register_static (TYPE_DATABASE_SOURCE_COLLECTION, "MediaSourceCollection", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&media_source_collection_type_id__volatile, media_source_collection_type_id); + } + return media_source_collection_type_id__volatile; +} + + +static void _media_collection_registry_on_init_done_application_init_done (Application* _sender, gpointer self) { +#line 754 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_collection_registry_on_init_done ((MediaCollectionRegistry*) self); +#line 6922 "MediaDataRepresentation.c" +} + + +static MediaCollectionRegistry* media_collection_registry_construct (GType object_type) { + MediaCollectionRegistry* self = NULL; + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; +#line 749 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = (MediaCollectionRegistry*) g_type_create_instance (object_type); +#line 750 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = application_get_instance (); +#line 750 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 750 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_connect (_tmp1_, "init-done", (GCallback) _media_collection_registry_on_init_done_application_init_done, self); +#line 750 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _application_unref0 (_tmp1_); +#line 749 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self; +#line 6942 "MediaDataRepresentation.c" +} + + +static MediaCollectionRegistry* media_collection_registry_new (void) { +#line 749 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return media_collection_registry_construct (TYPE_MEDIA_COLLECTION_REGISTRY); +#line 6949 "MediaDataRepresentation.c" +} + + +static void media_collection_registry_on_init_done (MediaCollectionRegistry* self) { + LibraryMonitor* library_monitor = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + LibraryMonitor* _tmp3_ = NULL; + LibraryMonitor* _tmp4_ = NULL; + LibraryMonitorPool* _tmp5_ = NULL; + LibraryMonitorPool* _tmp6_ = NULL; +#line 757 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self)); +#line 759 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = app_dirs_get_import_dir (); +#line 759 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 759 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = commandline_options_no_runtime_monitoring; +#line 759 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = library_monitor_new (_tmp1_, TRUE, !_tmp2_); +#line 759 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _tmp3_; +#line 759 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 759 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + library_monitor = _tmp4_; +#line 762 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = library_monitor_pool_get_instance (); +#line 762 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _tmp5_; +#line 762 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + library_monitor_pool_replace (_tmp6_, library_monitor, MEDIA_COLLECTION_REGISTRY_LIBRARY_MONITOR_START_DELAY_MSEC); +#line 762 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _library_monitor_pool_unref0 (_tmp6_); +#line 757 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (library_monitor); +#line 6988 "MediaDataRepresentation.c" +} + + +static void _media_collection_registry_on_import_directory_changed_configuration_facade_import_directory_changed (ConfigurationFacade* _sender, gpointer self) { +#line 767 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_collection_registry_on_import_directory_changed (); +#line 6995 "MediaDataRepresentation.c" +} + + +void media_collection_registry_init (void) { + MediaCollectionRegistry* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + ConfigFacade* _tmp2_ = NULL; +#line 766 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_collection_registry_new (); +#line 766 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _media_collection_registry_unref0 (media_collection_registry_instance); +#line 766 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_collection_registry_instance = _tmp0_; +#line 767 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = config_facade_get_instance (); +#line 767 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_; +#line 767 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "import-directory-changed", (GCallback) _media_collection_registry_on_import_directory_changed_configuration_facade_import_directory_changed, NULL); +#line 767 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp2_); +#line 7017 "MediaDataRepresentation.c" +} + + +void media_collection_registry_terminate (void) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 771 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = config_facade_get_instance (); +#line 771 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 771 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_parse_name ("import-directory-changed", TYPE_CONFIGURATION_FACADE, &_tmp2_, NULL, FALSE); +#line 771 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _media_collection_registry_on_import_directory_changed_configuration_facade_import_directory_changed, NULL); +#line 771 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 7035 "MediaDataRepresentation.c" +} + + +static void media_collection_registry_on_import_directory_changed (void) { + GFile* import_dir = NULL; + GFile* _tmp0_ = NULL; + LibraryMonitor* current = NULL; + LibraryMonitorPool* _tmp1_ = NULL; + LibraryMonitorPool* _tmp2_ = NULL; + LibraryMonitor* _tmp3_ = NULL; + LibraryMonitor* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + LibraryMonitor* _tmp6_ = NULL; + LibraryMonitor* replacement = NULL; + GFile* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + LibraryMonitor* _tmp14_ = NULL; + LibraryMonitorPool* _tmp15_ = NULL; + LibraryMonitorPool* _tmp16_ = NULL; + LibraryMonitor* _tmp17_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = app_dirs_get_import_dir (); +#line 775 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + import_dir = _tmp0_; +#line 777 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = library_monitor_pool_get_instance (); +#line 777 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_; +#line 777 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = library_monitor_pool_get_monitor (_tmp2_); +#line 777 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _tmp3_; +#line 777 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _library_monitor_pool_unref0 (_tmp2_); +#line 777 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + current = _tmp4_; +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = current; +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp6_ != NULL) { +#line 7076 "MediaDataRepresentation.c" + LibraryMonitor* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = current; +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = directory_monitor_get_root (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = _tmp8_; +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = import_dir; +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = g_file_equal (_tmp9_, _tmp10_); +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _tmp11_; +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp9_); +#line 7096 "MediaDataRepresentation.c" + } else { +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = FALSE; +#line 7100 "MediaDataRepresentation.c" + } +#line 778 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp5_) { +#line 779 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (current); +#line 779 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (import_dir); +#line 779 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return; +#line 7110 "MediaDataRepresentation.c" + } +#line 781 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = import_dir; +#line 781 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = commandline_options_no_runtime_monitoring; +#line 781 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = library_monitor_new (_tmp12_, TRUE, !_tmp13_); +#line 781 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + replacement = _tmp14_; +#line 783 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = library_monitor_pool_get_instance (); +#line 783 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = _tmp15_; +#line 783 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = replacement; +#line 783 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + library_monitor_pool_replace (_tmp16_, _tmp17_, MEDIA_COLLECTION_REGISTRY_LIBRARY_MONITOR_START_DELAY_MSEC); +#line 783 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _library_monitor_pool_unref0 (_tmp16_); +#line 774 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (replacement); +#line 774 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (current); +#line 774 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (import_dir); +#line 7136 "MediaDataRepresentation.c" +} + + +static gpointer _media_collection_registry_ref0 (gpointer self) { +#line 787 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self ? media_collection_registry_ref (self) : NULL; +#line 7143 "MediaDataRepresentation.c" +} + + +MediaCollectionRegistry* media_collection_registry_get_instance (void) { + MediaCollectionRegistry* result = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; +#line 787 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_collection_registry_instance; +#line 787 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _media_collection_registry_ref0 (_tmp0_); +#line 787 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp1_; +#line 787 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7159 "MediaDataRepresentation.c" +} + + +gchar* media_collection_registry_get_typename_from_source_id (const gchar* source_id) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 790 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (source_id != NULL, NULL); +#line 793 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = source_id; +#line 793 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = g_str_has_prefix (_tmp0_, PHOTO_TYPENAME); +#line 793 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp1_) { +#line 7175 "MediaDataRepresentation.c" + gchar* _tmp2_ = NULL; +#line 794 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = g_strdup (PHOTO_TYPENAME); +#line 794 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp2_; +#line 794 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7183 "MediaDataRepresentation.c" + } else { + gchar** components = NULL; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint components_length1 = 0; + gint _components_size_ = 0; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 796 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = source_id; +#line 796 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _tmp4_ = g_strsplit (_tmp3_, "-", 0); +#line 796 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + components = _tmp5_; +#line 796 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + components_length1 = _vala_array_length (_tmp4_); +#line 796 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _components_size_ = components_length1; +#line 797 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = components; +#line 797 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6__length1 = components_length1; +#line 797 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _vala_assert (_tmp6__length1 == 2, "components.length == 2"); +#line 799 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = components; +#line 799 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7__length1 = components_length1; +#line 799 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = _tmp7_[0]; +#line 799 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 799 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp9_; +#line 799 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + components = (_vala_array_free (components, components_length1, (GDestroyNotify) g_free), NULL); +#line 799 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7227 "MediaDataRepresentation.c" + } +} + + +void media_collection_registry_register_collection (MediaCollectionRegistry* self, MediaSourceCollection* collection) { + GeeArrayList* _tmp0_ = NULL; + MediaSourceCollection* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + MediaSourceCollection* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + MediaSourceCollection* _tmp6_ = NULL; +#line 803 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self)); +#line 803 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_SOURCE_COLLECTION (collection)); +#line 804 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->all; +#line 804 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = collection; +#line 804 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 805 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = self->priv->by_typename; +#line 805 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = collection; +#line 805 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = media_source_collection_get_typename (_tmp3_); +#line 805 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _tmp4_; +#line 805 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = collection; +#line 805 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_, _tmp6_); +#line 805 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (_tmp5_); +#line 7264 "MediaDataRepresentation.c" +} + + +MediaSourceCollection* media_collection_registry_get_collection (MediaCollectionRegistry* self, const gchar* typename) { + MediaSourceCollection* result = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 812 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self), NULL); +#line 812 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (typename != NULL, NULL); +#line 813 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->by_typename; +#line 813 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = typename; +#line 813 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 813 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = (MediaSourceCollection*) _tmp2_; +#line 813 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7287 "MediaDataRepresentation.c" +} + + +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self) { + GeeCollection* result = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeBidirList* _tmp1_ = NULL; + GeeBidirList* _tmp2_ = NULL; +#line 816 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self), NULL); +#line 817 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = self->priv->all; +#line 817 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_abstract_bidir_list_get_read_only_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_BIDIR_LIST, GeeAbstractBidirList)); +#line 817 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_; +#line 817 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 817 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7308 "MediaDataRepresentation.c" +} + + +void media_collection_registry_freeze_all (MediaCollectionRegistry* self) { +#line 820 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self)); +#line 7315 "MediaDataRepresentation.c" + { + GeeIterator* _sources_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_collection_registry_get_all (self); +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _sources_it = _tmp3_; +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 7336 "MediaDataRepresentation.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + MediaSourceCollection* _tmp8_ = NULL; +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _sources_it; +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp5_) { +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 7351 "MediaDataRepresentation.c" + } +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _sources_it; +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + sources = (MediaSourceCollection*) _tmp7_; +#line 822 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = sources; +#line 822 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection)); +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (sources); +#line 7365 "MediaDataRepresentation.c" + } +#line 821 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_sources_it); +#line 7369 "MediaDataRepresentation.c" + } +} + + +void media_collection_registry_thaw_all (MediaCollectionRegistry* self) { +#line 825 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self)); +#line 7377 "MediaDataRepresentation.c" + { + GeeIterator* _sources_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_collection_registry_get_all (self); +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _sources_it = _tmp3_; +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 7398 "MediaDataRepresentation.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + MediaSourceCollection* _tmp8_ = NULL; +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _sources_it; +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp5_) { +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 7413 "MediaDataRepresentation.c" + } +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _sources_it; +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + sources = (MediaSourceCollection*) _tmp7_; +#line 827 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = sources; +#line 827 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection)); +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (sources); +#line 7427 "MediaDataRepresentation.c" + } +#line 826 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_sources_it); +#line 7431 "MediaDataRepresentation.c" + } +} + + +void media_collection_registry_begin_transaction_on_all (MediaCollectionRegistry* self) { +#line 830 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self)); +#line 7439 "MediaDataRepresentation.c" + { + GeeIterator* _sources_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_collection_registry_get_all (self); +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _sources_it = _tmp3_; +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 7460 "MediaDataRepresentation.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + MediaSourceCollection* _tmp8_ = NULL; + TransactionController* _tmp9_ = NULL; + TransactionController* _tmp10_ = NULL; +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _sources_it; +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp5_) { +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 7477 "MediaDataRepresentation.c" + } +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _sources_it; +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + sources = (MediaSourceCollection*) _tmp7_; +#line 832 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = sources; +#line 832 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = media_source_collection_get_transaction_controller (_tmp8_); +#line 832 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = _tmp9_; +#line 832 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + transaction_controller_begin (_tmp10_); +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (sources); +#line 7495 "MediaDataRepresentation.c" + } +#line 831 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_sources_it); +#line 7499 "MediaDataRepresentation.c" + } +} + + +void media_collection_registry_commit_transaction_on_all (MediaCollectionRegistry* self) { +#line 835 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self)); +#line 7507 "MediaDataRepresentation.c" + { + GeeIterator* _sources_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_collection_registry_get_all (self); +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _sources_it = _tmp3_; +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 7528 "MediaDataRepresentation.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + MediaSourceCollection* _tmp8_ = NULL; + TransactionController* _tmp9_ = NULL; + TransactionController* _tmp10_ = NULL; +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _sources_it; +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp5_) { +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 7545 "MediaDataRepresentation.c" + } +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _sources_it; +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + sources = (MediaSourceCollection*) _tmp7_; +#line 837 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = sources; +#line 837 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = media_source_collection_get_transaction_controller (_tmp8_); +#line 837 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = _tmp9_; +#line 837 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + transaction_controller_commit (_tmp10_); +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (sources); +#line 7563 "MediaDataRepresentation.c" + } +#line 836 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_sources_it); +#line 7567 "MediaDataRepresentation.c" + } +} + + +MediaSource* media_collection_registry_fetch_media (MediaCollectionRegistry* self, const gchar* source_id) { + MediaSource* result = NULL; + gchar* typename = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + MediaSourceCollection* collection = NULL; + const gchar* _tmp2_ = NULL; + MediaSourceCollection* _tmp3_ = NULL; + MediaSourceCollection* _tmp4_ = NULL; + MediaSourceCollection* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; +#line 840 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self), NULL); +#line 840 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (source_id != NULL, NULL); +#line 841 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = source_id; +#line 841 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = media_collection_registry_get_typename_from_source_id (_tmp0_); +#line 841 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + typename = _tmp1_; +#line 843 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = typename; +#line 843 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = media_collection_registry_get_collection (self, _tmp2_); +#line 843 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + collection = _tmp3_; +#line 844 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = collection; +#line 844 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp4_ == NULL) { +#line 7604 "MediaDataRepresentation.c" + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = source_id; +#line 845 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = typename; +#line 845 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_critical ("MediaDataRepresentation.vala:845: source id '%s' has unrecognized medi" \ +"a type '%s'", _tmp5_, _tmp6_); +#line 846 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = NULL; +#line 846 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (collection); +#line 846 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (typename); +#line 846 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7621 "MediaDataRepresentation.c" + } +#line 849 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = collection; +#line 849 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = source_id; +#line 849 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = media_source_collection_fetch_by_source_id (_tmp7_, _tmp8_); +#line 849 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp9_; +#line 849 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (collection); +#line 849 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_free0 (typename); +#line 849 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7637 "MediaDataRepresentation.c" +} + + +static gpointer _import_id_dup0 (gpointer self) { +#line 870 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return self ? import_id_dup (self) : NULL; +#line 7644 "MediaDataRepresentation.c" +} + + +ImportID* media_collection_registry_get_last_import_id (MediaCollectionRegistry* self) { + ImportID* result = NULL; + ImportID last_import_id = {0}; + ImportID _tmp16_ = {0}; + gint64 _tmp17_ = 0LL; +#line 852 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self), NULL); +#line 853 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + import_id_init (&last_import_id, IMPORT_ID_INVALID); +#line 7657 "MediaDataRepresentation.c" + { + GeeIterator* _current_collection_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_collection_registry_get_all (self); +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _current_collection_it = _tmp3_; +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 7678 "MediaDataRepresentation.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MediaSourceCollection* current_collection = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + ImportID* current_import_id = NULL; + MediaSourceCollection* _tmp8_ = NULL; + ImportID* _tmp9_ = NULL; + ImportID* _tmp10_ = NULL; + ImportID* _tmp11_ = NULL; + gint64 _tmp12_ = 0LL; + ImportID _tmp13_ = {0}; + gint64 _tmp14_ = 0LL; +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _current_collection_it; +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp5_) { +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 7700 "MediaDataRepresentation.c" + } +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _current_collection_it; +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + current_collection = (MediaSourceCollection*) _tmp7_; +#line 856 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = current_collection; +#line 856 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = media_source_collection_get_last_import_id (_tmp8_); +#line 856 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + current_import_id = _tmp9_; +#line 858 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = current_import_id; +#line 858 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp10_ == NULL) { +#line 859 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _import_id_free0 (current_import_id); +#line 859 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (current_collection); +#line 859 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + continue; +#line 7724 "MediaDataRepresentation.c" + } +#line 861 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = current_import_id; +#line 861 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = (*_tmp11_).id; +#line 861 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = last_import_id; +#line 861 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp14_ = _tmp13_.id; +#line 861 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp12_ > _tmp14_) { +#line 7736 "MediaDataRepresentation.c" + ImportID* _tmp15_ = NULL; +#line 862 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp15_ = current_import_id; +#line 862 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + last_import_id = *_tmp15_; +#line 7742 "MediaDataRepresentation.c" + } +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _import_id_free0 (current_import_id); +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (current_collection); +#line 7748 "MediaDataRepresentation.c" + } +#line 855 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_current_collection_it); +#line 7752 "MediaDataRepresentation.c" + } +#line 867 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp16_ = last_import_id; +#line 867 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp17_ = _tmp16_.id; +#line 867 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp17_ == IMPORT_ID_INVALID) { +#line 868 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = NULL; +#line 868 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7764 "MediaDataRepresentation.c" + } else { + ImportID* _tmp18_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp18_ = _import_id_dup0 (&last_import_id); +#line 870 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp18_; +#line 870 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7773 "MediaDataRepresentation.c" + } +} + + +GeeCollection* media_collection_registry_get_source_ids_for_event_id (MediaCollectionRegistry* self, EventID* event_id) { + GeeCollection* result = NULL; + GeeArrayList* _result_ = NULL; + GeeArrayList* _tmp0_ = NULL; +#line 873 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self), NULL); +#line 873 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 874 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 874 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _result_ = _tmp0_; +#line 7790 "MediaDataRepresentation.c" + { + GeeIterator* _current_collection_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = media_collection_registry_get_all (self); +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp1_; +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _tmp3_; +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp2_); +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _current_collection_it = _tmp4_; +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 7811 "MediaDataRepresentation.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + MediaSourceCollection* current_collection = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + GeeArrayList* _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; + EventID _tmp11_ = {0}; + GeeCollection* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = _current_collection_it; +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp6_) { +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 7830 "MediaDataRepresentation.c" + } +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = _current_collection_it; +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + current_collection = (MediaSourceCollection*) _tmp8_; +#line 877 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = _result_; +#line 877 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = current_collection; +#line 877 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp11_ = *event_id; +#line 877 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp12_ = media_source_collection_get_event_source_ids (_tmp10_, &_tmp11_); +#line 877 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp13_ = _tmp12_; +#line 877 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + gee_array_list_add_all (_tmp9_, _tmp13_); +#line 877 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp13_); +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (current_collection); +#line 7854 "MediaDataRepresentation.c" + } +#line 876 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_current_collection_it); +#line 7858 "MediaDataRepresentation.c" + } +#line 880 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_result_, GEE_TYPE_COLLECTION, GeeCollection); +#line 880 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7864 "MediaDataRepresentation.c" +} + + +MediaSourceCollection* media_collection_registry_get_collection_for_file (MediaCollectionRegistry* self, GFile* file) { + MediaSourceCollection* result = NULL; +#line 883 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self), NULL); +#line 883 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 7874 "MediaDataRepresentation.c" + { + GeeIterator* _collection_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = media_collection_registry_get_all (self); +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = _tmp2_; +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_tmp1_); +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _collection_it = _tmp3_; +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + while (TRUE) { +#line 7895 "MediaDataRepresentation.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MediaSourceCollection* collection = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + MediaSourceCollection* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = _collection_it; +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!_tmp5_) { +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + break; +#line 7912 "MediaDataRepresentation.c" + } +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = _collection_it; +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + collection = (MediaSourceCollection*) _tmp7_; +#line 885 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp8_ = collection; +#line 885 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp9_ = file; +#line 885 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp10_ = media_source_collection_is_file_recognized (_tmp8_, _tmp9_); +#line 885 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp10_) { +#line 886 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = collection; +#line 886 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_collection_it); +#line 886 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7934 "MediaDataRepresentation.c" + } +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _data_collection_unref0 (collection); +#line 7938 "MediaDataRepresentation.c" + } +#line 884 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (_collection_it); +#line 7942 "MediaDataRepresentation.c" + } +#line 889 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = NULL; +#line 889 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7948 "MediaDataRepresentation.c" +} + + +gboolean media_collection_registry_is_valid_source_id (MediaCollectionRegistry* self, const gchar* source_id) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 892 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (IS_MEDIA_COLLECTION_REGISTRY (self), FALSE); +#line 893 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = source_id; +#line 893 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 893 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp1_) { +#line 894 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = FALSE; +#line 894 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7971 "MediaDataRepresentation.c" + } +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp3_ = source_id; +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp4_ = g_str_has_prefix (_tmp3_, PHOTO_TYPENAME); +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (_tmp4_) { +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = TRUE; +#line 7981 "MediaDataRepresentation.c" + } else { + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp5_ = source_id; +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp6_ = g_str_has_prefix (_tmp5_, VIDEO_TYPENAME "-"); +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp2_ = _tmp6_; +#line 7991 "MediaDataRepresentation.c" + } +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + result = _tmp2_; +#line 896 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return result; +#line 7997 "MediaDataRepresentation.c" +} + + +static void value_media_collection_registry_init (GValue* value) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = NULL; +#line 8004 "MediaDataRepresentation.c" +} + + +static void value_media_collection_registry_free_value (GValue* value) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (value->data[0].v_pointer) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_collection_registry_unref (value->data[0].v_pointer); +#line 8013 "MediaDataRepresentation.c" + } +} + + +static void value_media_collection_registry_copy_value (const GValue* src_value, GValue* dest_value) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (src_value->data[0].v_pointer) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + dest_value->data[0].v_pointer = media_collection_registry_ref (src_value->data[0].v_pointer); +#line 8023 "MediaDataRepresentation.c" + } else { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + dest_value->data[0].v_pointer = NULL; +#line 8027 "MediaDataRepresentation.c" + } +} + + +static gpointer value_media_collection_registry_peek_pointer (const GValue* value) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return value->data[0].v_pointer; +#line 8035 "MediaDataRepresentation.c" +} + + +static gchar* value_media_collection_registry_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (collect_values[0].v_pointer) { +#line 8042 "MediaDataRepresentation.c" + MediaCollectionRegistry* object; + object = collect_values[0].v_pointer; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (object->parent_instance.g_class == NULL) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8049 "MediaDataRepresentation.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8053 "MediaDataRepresentation.c" + } +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = media_collection_registry_ref (object); +#line 8057 "MediaDataRepresentation.c" + } else { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = NULL; +#line 8061 "MediaDataRepresentation.c" + } +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 8065 "MediaDataRepresentation.c" +} + + +static gchar* value_media_collection_registry_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + MediaCollectionRegistry** object_p; + object_p = collect_values[0].v_pointer; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!object_p) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8076 "MediaDataRepresentation.c" + } +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (!value->data[0].v_pointer) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + *object_p = NULL; +#line 8082 "MediaDataRepresentation.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + *object_p = value->data[0].v_pointer; +#line 8086 "MediaDataRepresentation.c" + } else { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + *object_p = media_collection_registry_ref (value->data[0].v_pointer); +#line 8090 "MediaDataRepresentation.c" + } +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return NULL; +#line 8094 "MediaDataRepresentation.c" +} + + +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecMediaCollectionRegistry* spec; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_MEDIA_COLLECTION_REGISTRY), NULL); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return G_PARAM_SPEC (spec); +#line 8108 "MediaDataRepresentation.c" +} + + +gpointer value_get_media_collection_registry (const GValue* value) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MEDIA_COLLECTION_REGISTRY), NULL); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return value->data[0].v_pointer; +#line 8117 "MediaDataRepresentation.c" +} + + +void value_set_media_collection_registry (GValue* value, gpointer v_object) { + MediaCollectionRegistry* old; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MEDIA_COLLECTION_REGISTRY)); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + old = value->data[0].v_pointer; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (v_object) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_MEDIA_COLLECTION_REGISTRY)); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = v_object; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_collection_registry_ref (value->data[0].v_pointer); +#line 8137 "MediaDataRepresentation.c" + } else { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = NULL; +#line 8141 "MediaDataRepresentation.c" + } +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (old) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_collection_registry_unref (old); +#line 8147 "MediaDataRepresentation.c" + } +} + + +void value_take_media_collection_registry (GValue* value, gpointer v_object) { + MediaCollectionRegistry* old; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MEDIA_COLLECTION_REGISTRY)); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + old = value->data[0].v_pointer; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (v_object) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_MEDIA_COLLECTION_REGISTRY)); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = v_object; +#line 8166 "MediaDataRepresentation.c" + } else { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + value->data[0].v_pointer = NULL; +#line 8170 "MediaDataRepresentation.c" + } +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (old) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_collection_registry_unref (old); +#line 8176 "MediaDataRepresentation.c" + } +} + + +static void media_collection_registry_class_init (MediaCollectionRegistryClass * klass) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + media_collection_registry_parent_class = g_type_class_peek_parent (klass); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + ((MediaCollectionRegistryClass *) klass)->finalize = media_collection_registry_finalize; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_type_class_add_private (klass, sizeof (MediaCollectionRegistryPrivate)); +#line 8188 "MediaDataRepresentation.c" +} + + +static void media_collection_registry_instance_init (MediaCollectionRegistry * self) { + GeeArrayList* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv = MEDIA_COLLECTION_REGISTRY_GET_PRIVATE (self); +#line 745 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE_COLLECTION, (GBoxedCopyFunc) data_collection_ref, data_collection_unref, NULL, NULL, NULL); +#line 745 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->all = _tmp0_; +#line 746 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_MEDIA_SOURCE_COLLECTION, (GBoxedCopyFunc) data_collection_ref, data_collection_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 746 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->priv->by_typename = _tmp1_; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self->ref_count = 1; +#line 8207 "MediaDataRepresentation.c" +} + + +static void media_collection_registry_finalize (MediaCollectionRegistry* obj) { + MediaCollectionRegistry * self; + Application* _tmp0_ = NULL; + Application* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_handlers_destroy (self); +#line 754 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp0_ = application_get_instance (); +#line 754 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _tmp1_ = _tmp0_; +#line 754 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_parse_name ("init-done", TYPE_APPLICATION, &_tmp2_, NULL, FALSE); +#line 754 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _media_collection_registry_on_init_done_application_init_done, self); +#line 754 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _application_unref0 (_tmp1_); +#line 745 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->all); +#line 746 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + _g_object_unref0 (self->priv->by_typename); +#line 8234 "MediaDataRepresentation.c" +} + + +GType media_collection_registry_get_type (void) { + static volatile gsize media_collection_registry_type_id__volatile = 0; + if (g_once_init_enter (&media_collection_registry_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_media_collection_registry_init, value_media_collection_registry_free_value, value_media_collection_registry_copy_value, value_media_collection_registry_peek_pointer, "p", value_media_collection_registry_collect_value, "p", value_media_collection_registry_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (MediaCollectionRegistryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_collection_registry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaCollectionRegistry), 0, (GInstanceInitFunc) media_collection_registry_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType media_collection_registry_type_id; + media_collection_registry_type_id = g_type_register_fundamental (g_type_fundamental_next (), "MediaCollectionRegistry", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&media_collection_registry_type_id__volatile, media_collection_registry_type_id); + } + return media_collection_registry_type_id__volatile; +} + + +gpointer media_collection_registry_ref (gpointer instance) { + MediaCollectionRegistry* self; + self = instance; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_atomic_int_inc (&self->ref_count); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + return instance; +#line 8259 "MediaDataRepresentation.c" +} + + +void media_collection_registry_unref (gpointer instance) { + MediaCollectionRegistry* self; + self = instance; +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + MEDIA_COLLECTION_REGISTRY_GET_CLASS (self)->finalize (self); +#line 740 "/home/jens/Source/shotwell/src/MediaDataRepresentation.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8272 "MediaDataRepresentation.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/MediaInterfaces.c b/src/MediaInterfaces.c new file mode 100644 index 0000000..68c9735 --- /dev/null +++ b/src/MediaInterfaces.c @@ -0,0 +1,1423 @@ +/* MediaInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from MediaInterfaces.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. + */ +/**/ +/* Going forward, Shotwell will use MediaInterfaces, which allow for various operations and features*/ +/* to be added only to the MediaSources that support them (or make sense for). For example, adding*/ +/* a library-mode photo or video to an Event makes perfect sense, but does not make sense for a*/ +/* direct-mode photo. All three are MediaSources, and to make DirectPhoto descend from another*/ +/* base class is only inviting chaos and a tremendous amount of replicated code.*/ +/**/ +/* A key point to make of all MediaInterfaces is that they require MediaSource as a base class.*/ +/* Thus, any code dealing with one of these interfaces knows they are also dealing with a*/ +/* MediaSource.*/ +/**/ +/* TODO: Make Eventable and Taggable interfaces, which are the only types Event and Tag will deal*/ +/* with (rather than MediaSources).*/ +/**/ +/* TODO: Make Trashable interface, which are much like Flaggable.*/ +/**/ +/* TODO: ContainerSources may also have specific needs in the future; an interface-based system*/ +/* may make sense as well when that need arises.*/ +/**/ +/**/ +/* TransactionController*/ +/**/ +/* Because many operations in Shotwell need to be performed on collections of objects all at once,*/ +/* and that most of these objects are backed by a database, the TransactionController object gives */ +/* a way to generically group a series of operations on one or more similar objects into a single*/ +/* transaction. This class is listed here because it's used by the various media interfaces to offer*/ +/* multiple operations.*/ +/**/ +/* begin() and commit() may be called multiple times in layering fashion. The implementation*/ +/* accounts for this. If either throws an exception it should be assumed that the object is in*/ +/* a "clean" state; that is, if begin() throws an exception, there is no need to call commit(),*/ +/* and if commit() throws an exception, it does not need to be called again to revert the object*/ +/* state.*/ +/**/ +/* This means that any user who calls begin() *must* match it with a corresponding commit(), even*/ +/* if there is an error during the transaction. It is up to the user to back out any undesired*/ +/* changes.*/ +/**/ +/* Because of the nature of this object, it's assumed that every object type will share one*/ +/* between all callers.*/ +/**/ +/* The object is thread-safe. There is no guarantee that the underlying persistent store is,*/ +/* however.*/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _TransactionControllerPrivate TransactionControllerPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _ParamSpecTransactionController ParamSpecTransactionController; + +#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_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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; +#define _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 _TransactionController { + GTypeInstance parent_instance; + volatile int ref_count; + TransactionControllerPrivate * priv; +}; + +struct _TransactionControllerClass { + GTypeClass parent_class; + void (*finalize) (TransactionController *self); + void (*begin_impl) (TransactionController* self, GError** error); + void (*commit_impl) (TransactionController* self, GError** error); +}; + +struct _TransactionControllerPrivate { + gint count; + GRecMutex __lock_count; +}; + +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 _ParamSpecTransactionController { + GParamSpec parent_instance; +}; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +struct _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + + +static gpointer transaction_controller_parent_class = NULL; + +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; +#define TRANSACTION_CONTROLLER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TRANSACTION_CONTROLLER, TransactionControllerPrivate)) +enum { + TRANSACTION_CONTROLLER_DUMMY_PROPERTY +}; +TransactionController* transaction_controller_construct (GType object_type); +void transaction_controller_begin (TransactionController* self); +void transaction_controller_begin_impl (TransactionController* self, GError** error); +GQuark database_error_quark (void); +void app_window_database_error (GError* err); +void app_window_panic (const gchar* msg); +static void transaction_controller_real_begin_impl (TransactionController* self, GError** error); +void transaction_controller_commit (TransactionController* self); +void transaction_controller_commit_impl (TransactionController* self, GError** error); +static void transaction_controller_real_commit_impl (TransactionController* self, GError** error); +static void transaction_controller_finalize (TransactionController* obj); +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 flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +void flaggable_mark_flagged (Flaggable* self); +void flaggable_mark_unflagged (Flaggable* self); +void flaggable_mark_many_flagged_unflagged (GeeCollection* flag, GeeCollection* unflag, TransactionController* controller, GError** error); +GType monitorable_get_type (void) G_GNUC_CONST; +gboolean monitorable_is_offline (Monitorable* self); +void monitorable_mark_online (Monitorable* self); +void monitorable_mark_offline (Monitorable* self); +void monitorable_mark_many_online_offline (GeeCollection* online, GeeCollection* offline, TransactionController* controller, GError** error); +void monitorable_set_master_file (Monitorable* self, GFile* file); +void monitorable_set_many_master_file (GeeMap* map, TransactionController* controller, GError** error); +void monitorable_set_master_timestamp (Monitorable* self, GFileInfo* info); +void monitorable_set_many_master_timestamp (GeeMap* map, TransactionController* controller, GError** error); +GType dateable_get_type (void) G_GNUC_CONST; +void dateable_set_exposure_time (Dateable* self, time_t target_time); +time_t dateable_get_exposure_time (Dateable* self); + + +TransactionController* transaction_controller_construct (GType object_type) { + TransactionController* self = NULL; +#line 54 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + self = (TransactionController*) g_type_create_instance (object_type); +#line 54 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return self; +#line 254 "MediaInterfaces.c" +} + + +void transaction_controller_begin (TransactionController* self) { + GError * _inner_error_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (self)); +#line 262 "MediaInterfaces.c" + { + gint _tmp0_ = 0; +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp0_ = self->priv->count; +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_lock (&self->priv->__lock_count); +#line 269 "MediaInterfaces.c" + { + gint _tmp1_ = 0; +#line 65 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp1_ = self->priv->count; +#line 65 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + self->priv->count = _tmp1_ + 1; +#line 65 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (_tmp1_ != 0) { +#line 278 "MediaInterfaces.c" + { + gint _tmp2_ = 0; +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp2_ = self->priv->count; +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_unlock (&self->priv->__lock_count); +#line 285 "MediaInterfaces.c" + } +#line 66 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return; +#line 289 "MediaInterfaces.c" + } + { +#line 69 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_begin_impl (self, &_inner_error_); +#line 69 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 296 "MediaInterfaces.c" + goto __catch560_g_error; + } + } + goto __finally560; + __catch560_g_error: + { + GError* err = NULL; + gint _tmp3_ = 0; + GError* _tmp4_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + err = _inner_error_; +#line 68 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _inner_error_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp3_ = self->priv->count; +#line 72 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + self->priv->count = _tmp3_ - 1; +#line 74 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp4_ = err; +#line 74 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (_tmp4_->domain == DATABASE_ERROR) { +#line 318 "MediaInterfaces.c" + GError* _tmp5_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp5_ = err; +#line 75 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + app_window_database_error ((GError*) _tmp5_); +#line 324 "MediaInterfaces.c" + } else { + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp6_ = err; +#line 77 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp7_ = _tmp6_->message; +#line 77 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp8_ = g_strdup_printf ("%s", _tmp7_); +#line 77 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp9_ = _tmp8_; +#line 77 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + app_window_panic (_tmp9_); +#line 77 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_free0 (_tmp9_); +#line 342 "MediaInterfaces.c" + } +#line 68 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_error_free0 (err); +#line 346 "MediaInterfaces.c" + } + __finally560: +#line 68 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 351 "MediaInterfaces.c" + { + gint _tmp10_ = 0; +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp10_ = self->priv->count; +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_unlock (&self->priv->__lock_count); +#line 358 "MediaInterfaces.c" + } +#line 68 "/home/jens/Source/shotwell/src/MediaInterfaces.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 68 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_clear_error (&_inner_error_); +#line 68 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return; +#line 366 "MediaInterfaces.c" + } + } + __finally559: + { + gint _tmp11_ = 0; +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp11_ = self->priv->count; +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_unlock (&self->priv->__lock_count); +#line 376 "MediaInterfaces.c" + } +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.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 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_clear_error (&_inner_error_); +#line 64 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return; +#line 386 "MediaInterfaces.c" + } + } +} + + +static void transaction_controller_real_begin_impl (TransactionController* self, GError** error) { +#line 83 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_critical ("Type `%s' does not implement abstract method `transaction_controller_begin_impl'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 83 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return; +#line 397 "MediaInterfaces.c" +} + + +void transaction_controller_begin_impl (TransactionController* self, GError** error) { +#line 83 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (self)); +#line 83 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + TRANSACTION_CONTROLLER_GET_CLASS (self)->begin_impl (self, error); +#line 406 "MediaInterfaces.c" +} + + +void transaction_controller_commit (TransactionController* self) { + GError * _inner_error_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (self)); +#line 414 "MediaInterfaces.c" + { + gint _tmp0_ = 0; +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp0_ = self->priv->count; +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_lock (&self->priv->__lock_count); +#line 421 "MediaInterfaces.c" + { + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 87 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp1_ = self->priv->count; +#line 87 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _vala_assert (_tmp1_ > 0, "count > 0"); +#line 88 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp2_ = self->priv->count; +#line 88 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + self->priv->count = _tmp2_ - 1; +#line 88 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp3_ = self->priv->count; +#line 88 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (_tmp3_ != 0) { +#line 438 "MediaInterfaces.c" + { + gint _tmp4_ = 0; +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp4_ = self->priv->count; +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_unlock (&self->priv->__lock_count); +#line 445 "MediaInterfaces.c" + } +#line 89 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return; +#line 449 "MediaInterfaces.c" + } + { +#line 93 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_commit_impl (self, &_inner_error_); +#line 93 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 456 "MediaInterfaces.c" + goto __catch562_g_error; + } + } + goto __finally562; + __catch562_g_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + err = _inner_error_; +#line 92 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _inner_error_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp5_ = err; +#line 95 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (_tmp5_->domain == DATABASE_ERROR) { +#line 473 "MediaInterfaces.c" + GError* _tmp6_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp6_ = err; +#line 96 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + app_window_database_error ((GError*) _tmp6_); +#line 479 "MediaInterfaces.c" + } else { + GError* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp7_ = err; +#line 98 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp8_ = _tmp7_->message; +#line 98 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp9_ = g_strdup_printf ("%s", _tmp8_); +#line 98 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp10_ = _tmp9_; +#line 98 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + app_window_panic (_tmp10_); +#line 98 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_free0 (_tmp10_); +#line 497 "MediaInterfaces.c" + } +#line 92 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_error_free0 (err); +#line 501 "MediaInterfaces.c" + } + __finally562: +#line 92 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 506 "MediaInterfaces.c" + { + gint _tmp11_ = 0; +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp11_ = self->priv->count; +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_unlock (&self->priv->__lock_count); +#line 513 "MediaInterfaces.c" + } +#line 92 "/home/jens/Source/shotwell/src/MediaInterfaces.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 92 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_clear_error (&_inner_error_); +#line 92 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return; +#line 521 "MediaInterfaces.c" + } + } + __finally561: + { + gint _tmp12_ = 0; +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp12_ = self->priv->count; +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_unlock (&self->priv->__lock_count); +#line 531 "MediaInterfaces.c" + } +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.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 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_clear_error (&_inner_error_); +#line 86 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return; +#line 541 "MediaInterfaces.c" + } + } +} + + +static void transaction_controller_real_commit_impl (TransactionController* self, GError** error) { +#line 104 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_critical ("Type `%s' does not implement abstract method `transaction_controller_commit_impl'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 104 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return; +#line 552 "MediaInterfaces.c" +} + + +void transaction_controller_commit_impl (TransactionController* self, GError** error) { +#line 104 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (self)); +#line 104 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + TRANSACTION_CONTROLLER_GET_CLASS (self)->commit_impl (self, error); +#line 561 "MediaInterfaces.c" +} + + +static void value_transaction_controller_init (GValue* value) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + value->data[0].v_pointer = NULL; +#line 568 "MediaInterfaces.c" +} + + +static void value_transaction_controller_free_value (GValue* value) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (value->data[0].v_pointer) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_unref (value->data[0].v_pointer); +#line 577 "MediaInterfaces.c" + } +} + + +static void value_transaction_controller_copy_value (const GValue* src_value, GValue* dest_value) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (src_value->data[0].v_pointer) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + dest_value->data[0].v_pointer = transaction_controller_ref (src_value->data[0].v_pointer); +#line 587 "MediaInterfaces.c" + } else { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + dest_value->data[0].v_pointer = NULL; +#line 591 "MediaInterfaces.c" + } +} + + +static gpointer value_transaction_controller_peek_pointer (const GValue* value) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return value->data[0].v_pointer; +#line 599 "MediaInterfaces.c" +} + + +static gchar* value_transaction_controller_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (collect_values[0].v_pointer) { +#line 606 "MediaInterfaces.c" + TransactionController* object; + object = collect_values[0].v_pointer; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (object->parent_instance.g_class == NULL) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 613 "MediaInterfaces.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 617 "MediaInterfaces.c" + } +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + value->data[0].v_pointer = transaction_controller_ref (object); +#line 621 "MediaInterfaces.c" + } else { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + value->data[0].v_pointer = NULL; +#line 625 "MediaInterfaces.c" + } +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return NULL; +#line 629 "MediaInterfaces.c" +} + + +static gchar* value_transaction_controller_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TransactionController** object_p; + object_p = collect_values[0].v_pointer; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!object_p) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 640 "MediaInterfaces.c" + } +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!value->data[0].v_pointer) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + *object_p = NULL; +#line 646 "MediaInterfaces.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + *object_p = value->data[0].v_pointer; +#line 650 "MediaInterfaces.c" + } else { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + *object_p = transaction_controller_ref (value->data[0].v_pointer); +#line 654 "MediaInterfaces.c" + } +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return NULL; +#line 658 "MediaInterfaces.c" +} + + +GParamSpec* param_spec_transaction_controller (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTransactionController* spec; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TRANSACTION_CONTROLLER), NULL); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return G_PARAM_SPEC (spec); +#line 672 "MediaInterfaces.c" +} + + +gpointer value_get_transaction_controller (const GValue* value) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSACTION_CONTROLLER), NULL); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return value->data[0].v_pointer; +#line 681 "MediaInterfaces.c" +} + + +void value_set_transaction_controller (GValue* value, gpointer v_object) { + TransactionController* old; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSACTION_CONTROLLER)); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + old = value->data[0].v_pointer; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (v_object) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TRANSACTION_CONTROLLER)); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + value->data[0].v_pointer = v_object; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_ref (value->data[0].v_pointer); +#line 701 "MediaInterfaces.c" + } else { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + value->data[0].v_pointer = NULL; +#line 705 "MediaInterfaces.c" + } +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (old) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_unref (old); +#line 711 "MediaInterfaces.c" + } +} + + +void value_take_transaction_controller (GValue* value, gpointer v_object) { + TransactionController* old; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSACTION_CONTROLLER)); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + old = value->data[0].v_pointer; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (v_object) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TRANSACTION_CONTROLLER)); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + value->data[0].v_pointer = v_object; +#line 730 "MediaInterfaces.c" + } else { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + value->data[0].v_pointer = NULL; +#line 734 "MediaInterfaces.c" + } +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (old) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_unref (old); +#line 740 "MediaInterfaces.c" + } +} + + +static void transaction_controller_class_init (TransactionControllerClass * klass) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_parent_class = g_type_class_peek_parent (klass); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + ((TransactionControllerClass *) klass)->finalize = transaction_controller_finalize; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_type_class_add_private (klass, sizeof (TransactionControllerPrivate)); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + ((TransactionControllerClass *) klass)->begin_impl = transaction_controller_real_begin_impl; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + ((TransactionControllerClass *) klass)->commit_impl = transaction_controller_real_commit_impl; +#line 756 "MediaInterfaces.c" +} + + +static void transaction_controller_instance_init (TransactionController * self) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + self->priv = TRANSACTION_CONTROLLER_GET_PRIVATE (self); +#line 52 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_init (&self->priv->__lock_count); +#line 52 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + self->priv->count = 0; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + self->ref_count = 1; +#line 769 "MediaInterfaces.c" +} + + +static void transaction_controller_finalize (TransactionController* obj) { + TransactionController * self; + GError * _inner_error_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TRANSACTION_CONTROLLER, TransactionController); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_signal_handlers_destroy (self); +#line 780 "MediaInterfaces.c" + { + gint _tmp0_ = 0; +#line 58 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp0_ = self->priv->count; +#line 58 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_lock (&self->priv->__lock_count); +#line 787 "MediaInterfaces.c" + { + gint _tmp1_ = 0; +#line 59 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp1_ = self->priv->count; +#line 59 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _vala_assert (_tmp1_ == 0, "count == 0"); +#line 794 "MediaInterfaces.c" + } + __finally558: + { + gint _tmp2_ = 0; +#line 58 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp2_ = self->priv->count; +#line 58 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_unlock (&self->priv->__lock_count); +#line 803 "MediaInterfaces.c" + } +#line 58 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 58 "/home/jens/Source/shotwell/src/MediaInterfaces.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 58 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_clear_error (&_inner_error_); +#line 811 "MediaInterfaces.c" + } + } +#line 52 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_rec_mutex_clear (&self->priv->__lock_count); +#line 816 "MediaInterfaces.c" +} + + +GType transaction_controller_get_type (void) { + static volatile gsize transaction_controller_type_id__volatile = 0; + if (g_once_init_enter (&transaction_controller_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_transaction_controller_init, value_transaction_controller_free_value, value_transaction_controller_copy_value, value_transaction_controller_peek_pointer, "p", value_transaction_controller_collect_value, "p", value_transaction_controller_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TransactionControllerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) transaction_controller_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TransactionController), 0, (GInstanceInitFunc) transaction_controller_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType transaction_controller_type_id; + transaction_controller_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TransactionController", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&transaction_controller_type_id__volatile, transaction_controller_type_id); + } + return transaction_controller_type_id__volatile; +} + + +gpointer transaction_controller_ref (gpointer instance) { + TransactionController* self; + self = instance; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_atomic_int_inc (&self->ref_count); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return instance; +#line 841 "MediaInterfaces.c" +} + + +void transaction_controller_unref (gpointer instance) { + TransactionController* self; + self = instance; +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + TRANSACTION_CONTROLLER_GET_CLASS (self)->finalize (self); +#line 51 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 854 "MediaInterfaces.c" + } +} + + +gboolean flaggable_is_flagged (Flaggable* self) { +#line 115 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_val_if_fail (IS_FLAGGABLE (self), FALSE); +#line 115 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return FLAGGABLE_GET_INTERFACE (self)->is_flagged (self); +#line 864 "MediaInterfaces.c" +} + + +void flaggable_mark_flagged (Flaggable* self) { +#line 117 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_FLAGGABLE (self)); +#line 117 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + FLAGGABLE_GET_INTERFACE (self)->mark_flagged (self); +#line 873 "MediaInterfaces.c" +} + + +void flaggable_mark_unflagged (Flaggable* self) { +#line 119 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_FLAGGABLE (self)); +#line 119 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + FLAGGABLE_GET_INTERFACE (self)->mark_unflagged (self); +#line 882 "MediaInterfaces.c" +} + + +void flaggable_mark_many_flagged_unflagged (GeeCollection* flag, GeeCollection* unflag, TransactionController* controller, GError** error) { + TransactionController* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp9_ = NULL; + TransactionController* _tmp17_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail ((flag == NULL) || GEE_IS_COLLECTION (flag)); +#line 121 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail ((unflag == NULL) || GEE_IS_COLLECTION (unflag)); +#line 121 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 123 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp0_ = controller; +#line 123 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_begin (_tmp0_); +#line 125 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp1_ = flag; +#line 125 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (_tmp1_ != NULL) { +#line 905 "MediaInterfaces.c" + { + GeeIterator* _flaggable_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp2_ = flag; +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _flaggable_it = _tmp3_; +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + while (TRUE) { +#line 918 "MediaInterfaces.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + Flaggable* flaggable = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Flaggable* _tmp8_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp4_ = _flaggable_it; +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!_tmp5_) { +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + break; +#line 933 "MediaInterfaces.c" + } +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp6_ = _flaggable_it; +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + flaggable = (Flaggable*) _tmp7_; +#line 127 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp8_ = flaggable; +#line 127 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + flaggable_mark_flagged (_tmp8_); +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (flaggable); +#line 947 "MediaInterfaces.c" + } +#line 126 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (_flaggable_it); +#line 951 "MediaInterfaces.c" + } + } +#line 130 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp9_ = unflag; +#line 130 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (_tmp9_ != NULL) { +#line 958 "MediaInterfaces.c" + { + GeeIterator* _flaggable_it = NULL; + GeeCollection* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp10_ = unflag; +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp11_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _flaggable_it = _tmp11_; +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + while (TRUE) { +#line 971 "MediaInterfaces.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + Flaggable* flaggable = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + Flaggable* _tmp16_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp12_ = _flaggable_it; +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!_tmp13_) { +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + break; +#line 986 "MediaInterfaces.c" + } +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp14_ = _flaggable_it; +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + flaggable = (Flaggable*) _tmp15_; +#line 132 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp16_ = flaggable; +#line 132 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + flaggable_mark_unflagged (_tmp16_); +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (flaggable); +#line 1000 "MediaInterfaces.c" + } +#line 131 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (_flaggable_it); +#line 1004 "MediaInterfaces.c" + } + } +#line 135 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp17_ = controller; +#line 135 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_commit (_tmp17_); +#line 1011 "MediaInterfaces.c" +} + + +static void flaggable_base_init (FlaggableIface * iface) { +#line 114 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + static gboolean initialized = FALSE; +#line 114 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!initialized) { +#line 114 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + initialized = TRUE; +#line 1022 "MediaInterfaces.c" + } +} + + +GType flaggable_get_type (void) { + static volatile gsize flaggable_type_id__volatile = 0; + if (g_once_init_enter (&flaggable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FlaggableIface), (GBaseInitFunc) flaggable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType flaggable_type_id; + flaggable_type_id = g_type_register_static (G_TYPE_INTERFACE, "Flaggable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (flaggable_type_id, TYPE_MEDIA_SOURCE); + g_once_init_leave (&flaggable_type_id__volatile, flaggable_type_id); + } + return flaggable_type_id__volatile; +} + + +gboolean monitorable_is_offline (Monitorable* self) { +#line 153 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_val_if_fail (IS_MONITORABLE (self), FALSE); +#line 153 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return MONITORABLE_GET_INTERFACE (self)->is_offline (self); +#line 1045 "MediaInterfaces.c" +} + + +void monitorable_mark_online (Monitorable* self) { +#line 155 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_MONITORABLE (self)); +#line 155 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + MONITORABLE_GET_INTERFACE (self)->mark_online (self); +#line 1054 "MediaInterfaces.c" +} + + +void monitorable_mark_offline (Monitorable* self) { +#line 157 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_MONITORABLE (self)); +#line 157 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + MONITORABLE_GET_INTERFACE (self)->mark_offline (self); +#line 1063 "MediaInterfaces.c" +} + + +void monitorable_mark_many_online_offline (GeeCollection* online, GeeCollection* offline, TransactionController* controller, GError** error) { + TransactionController* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp9_ = NULL; + TransactionController* _tmp17_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail ((online == NULL) || GEE_IS_COLLECTION (online)); +#line 159 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail ((offline == NULL) || GEE_IS_COLLECTION (offline)); +#line 159 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 161 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp0_ = controller; +#line 161 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_begin (_tmp0_); +#line 163 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp1_ = online; +#line 163 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (_tmp1_ != NULL) { +#line 1086 "MediaInterfaces.c" + { + GeeIterator* _monitorable_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp2_ = online; +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _monitorable_it = _tmp3_; +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + while (TRUE) { +#line 1099 "MediaInterfaces.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + Monitorable* monitorable = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Monitorable* _tmp8_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp4_ = _monitorable_it; +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!_tmp5_) { +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + break; +#line 1114 "MediaInterfaces.c" + } +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp6_ = _monitorable_it; +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + monitorable = (Monitorable*) _tmp7_; +#line 165 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp8_ = monitorable; +#line 165 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + monitorable_mark_online (_tmp8_); +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (monitorable); +#line 1128 "MediaInterfaces.c" + } +#line 164 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (_monitorable_it); +#line 1132 "MediaInterfaces.c" + } + } +#line 168 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp9_ = offline; +#line 168 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (_tmp9_ != NULL) { +#line 1139 "MediaInterfaces.c" + { + GeeIterator* _monitorable_it = NULL; + GeeCollection* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp10_ = offline; +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp11_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _monitorable_it = _tmp11_; +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + while (TRUE) { +#line 1152 "MediaInterfaces.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + Monitorable* monitorable = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + Monitorable* _tmp16_ = NULL; +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp12_ = _monitorable_it; +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!_tmp13_) { +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + break; +#line 1167 "MediaInterfaces.c" + } +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp14_ = _monitorable_it; +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + monitorable = (Monitorable*) _tmp15_; +#line 170 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp16_ = monitorable; +#line 170 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + monitorable_mark_offline (_tmp16_); +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (monitorable); +#line 1181 "MediaInterfaces.c" + } +#line 169 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (_monitorable_it); +#line 1185 "MediaInterfaces.c" + } + } +#line 173 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp17_ = controller; +#line 173 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_commit (_tmp17_); +#line 1192 "MediaInterfaces.c" +} + + +void monitorable_set_master_file (Monitorable* self, GFile* file) { +#line 176 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_MONITORABLE (self)); +#line 176 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + MONITORABLE_GET_INTERFACE (self)->set_master_file (self, file); +#line 1201 "MediaInterfaces.c" +} + + +void monitorable_set_many_master_file (GeeMap* map, TransactionController* controller, GError** error) { + TransactionController* _tmp0_ = NULL; + GeeMapIterator* map_iter = NULL; + GeeMap* _tmp1_ = NULL; + GeeMapIterator* _tmp2_ = NULL; + TransactionController* _tmp11_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 178 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 180 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp0_ = controller; +#line 180 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_begin (_tmp0_); +#line 182 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp1_ = map; +#line 182 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp2_ = gee_map_map_iterator (_tmp1_); +#line 182 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + map_iter = _tmp2_; +#line 183 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + while (TRUE) { +#line 1227 "MediaInterfaces.c" + GeeMapIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GeeMapIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Monitorable* _tmp7_ = NULL; + GeeMapIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp3_ = map_iter; +#line 183 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp4_ = gee_map_iterator_next (_tmp3_); +#line 183 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!_tmp4_) { +#line 183 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + break; +#line 1244 "MediaInterfaces.c" + } +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp5_ = map_iter; +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp6_ = gee_map_iterator_get_key (_tmp5_); +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp7_ = (Monitorable*) _tmp6_; +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp8_ = map_iter; +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp9_ = gee_map_iterator_get_value (_tmp8_); +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp10_ = (GFile*) _tmp9_; +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + monitorable_set_master_file (_tmp7_, _tmp10_); +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (_tmp10_); +#line 184 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (_tmp7_); +#line 1264 "MediaInterfaces.c" + } +#line 186 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp11_ = controller; +#line 186 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_commit (_tmp11_); +#line 178 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (map_iter); +#line 1272 "MediaInterfaces.c" +} + + +void monitorable_set_master_timestamp (Monitorable* self, GFileInfo* info) { +#line 189 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_MONITORABLE (self)); +#line 189 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + MONITORABLE_GET_INTERFACE (self)->set_master_timestamp (self, info); +#line 1281 "MediaInterfaces.c" +} + + +void monitorable_set_many_master_timestamp (GeeMap* map, TransactionController* controller, GError** error) { + TransactionController* _tmp0_ = NULL; + GeeMapIterator* map_iter = NULL; + GeeMap* _tmp1_ = NULL; + GeeMapIterator* _tmp2_ = NULL; + TransactionController* _tmp11_ = NULL; +#line 191 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 191 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 193 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp0_ = controller; +#line 193 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_begin (_tmp0_); +#line 195 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp1_ = map; +#line 195 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp2_ = gee_map_map_iterator (_tmp1_); +#line 195 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + map_iter = _tmp2_; +#line 196 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + while (TRUE) { +#line 1307 "MediaInterfaces.c" + GeeMapIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GeeMapIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Monitorable* _tmp7_ = NULL; + GeeMapIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GFileInfo* _tmp10_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp3_ = map_iter; +#line 196 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp4_ = gee_map_iterator_next (_tmp3_); +#line 196 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!_tmp4_) { +#line 196 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + break; +#line 1324 "MediaInterfaces.c" + } +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp5_ = map_iter; +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp6_ = gee_map_iterator_get_key (_tmp5_); +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp7_ = (Monitorable*) _tmp6_; +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp8_ = map_iter; +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp9_ = gee_map_iterator_get_value (_tmp8_); +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp10_ = (GFileInfo*) _tmp9_; +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + monitorable_set_master_timestamp (_tmp7_, _tmp10_); +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (_tmp10_); +#line 197 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (_tmp7_); +#line 1344 "MediaInterfaces.c" + } +#line 199 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _tmp11_ = controller; +#line 199 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + transaction_controller_commit (_tmp11_); +#line 191 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + _g_object_unref0 (map_iter); +#line 1352 "MediaInterfaces.c" +} + + +static void monitorable_base_init (MonitorableIface * iface) { +#line 152 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + static gboolean initialized = FALSE; +#line 152 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!initialized) { +#line 152 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + initialized = TRUE; +#line 1363 "MediaInterfaces.c" + } +} + + +GType monitorable_get_type (void) { + static volatile gsize monitorable_type_id__volatile = 0; + if (g_once_init_enter (&monitorable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MonitorableIface), (GBaseInitFunc) monitorable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType monitorable_type_id; + monitorable_type_id = g_type_register_static (G_TYPE_INTERFACE, "Monitorable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (monitorable_type_id, TYPE_MEDIA_SOURCE); + g_once_init_leave (&monitorable_type_id__volatile, monitorable_type_id); + } + return monitorable_type_id__volatile; +} + + +void dateable_set_exposure_time (Dateable* self, time_t target_time) { +#line 212 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_if_fail (IS_DATEABLE (self)); +#line 212 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + DATEABLE_GET_INTERFACE (self)->set_exposure_time (self, target_time); +#line 1386 "MediaInterfaces.c" +} + + +time_t dateable_get_exposure_time (Dateable* self) { +#line 214 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + g_return_val_if_fail (IS_DATEABLE (self), 0); +#line 214 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + return DATEABLE_GET_INTERFACE (self)->get_exposure_time (self); +#line 1395 "MediaInterfaces.c" +} + + +static void dateable_base_init (DateableIface * iface) { +#line 211 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + static gboolean initialized = FALSE; +#line 211 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + if (!initialized) { +#line 211 "/home/jens/Source/shotwell/src/MediaInterfaces.vala" + initialized = TRUE; +#line 1406 "MediaInterfaces.c" + } +} + + +GType dateable_get_type (void) { + static volatile gsize dateable_type_id__volatile = 0; + if (g_once_init_enter (&dateable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DateableIface), (GBaseInitFunc) dateable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType dateable_type_id; + dateable_type_id = g_type_register_static (G_TYPE_INTERFACE, "Dateable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (dateable_type_id, TYPE_MEDIA_SOURCE); + g_once_init_leave (&dateable_type_id__volatile, dateable_type_id); + } + return dateable_type_id__volatile; +} + + + diff --git a/src/MediaMetadata.c b/src/MediaMetadata.c new file mode 100644 index 0000000..b426c62 --- /dev/null +++ b/src/MediaMetadata.c @@ -0,0 +1,1440 @@ +/* MediaMetadata.c generated by valac 0.32.1, the Vala compiler + * generated from MediaMetadata.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; +typedef struct _MediaMetadataPrivate MediaMetadataPrivate; + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +typedef struct _ParamSpecMediaMetadata ParamSpecMediaMetadata; + +#define TYPE_METADATA_RATIONAL (metadata_rational_get_type ()) +typedef struct _MetadataRational MetadataRational; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _MetadataDateTimePrivate MetadataDateTimePrivate; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) +typedef struct _ParamSpecMetadataDateTime ParamSpecMetadataDateTime; + +struct _MediaMetadata { + GTypeInstance parent_instance; + volatile int ref_count; + MediaMetadataPrivate * priv; +}; + +struct _MediaMetadataClass { + GTypeClass parent_class; + void (*finalize) (MediaMetadata *self); + void (*read_from_file) (MediaMetadata* self, GFile* file, GError** error); + MetadataDateTime* (*get_creation_date_time) (MediaMetadata* self); + gchar* (*get_title) (MediaMetadata* self); + gchar* (*get_comment) (MediaMetadata* self); +}; + +struct _ParamSpecMediaMetadata { + GParamSpec parent_instance; +}; + +struct _MetadataRational { + gint numerator; + gint denominator; +}; + +typedef enum { + METADATA_DATE_TIME_ERROR_INVALID_FORMAT, + METADATA_DATE_TIME_ERROR_UNSUPPORTED_FORMAT +} MetadataDateTimeError; +#define METADATA_DATE_TIME_ERROR metadata_date_time_error_quark () +struct _MetadataDateTime { + GTypeInstance parent_instance; + volatile int ref_count; + MetadataDateTimePrivate * priv; +}; + +struct _MetadataDateTimeClass { + GTypeClass parent_class; + void (*finalize) (MetadataDateTime *self); +}; + +struct _MetadataDateTimePrivate { + time_t timestamp; +}; + +struct _ParamSpecMetadataDateTime { + GParamSpec parent_instance; +}; + + +static gpointer media_metadata_parent_class = NULL; +static gpointer metadata_date_time_parent_class = NULL; + +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +enum { + MEDIA_METADATA_DUMMY_PROPERTY +}; +MediaMetadata* media_metadata_construct (GType object_type); +void media_metadata_read_from_file (MediaMetadata* self, GFile* file, GError** error); +static void media_metadata_real_read_from_file (MediaMetadata* self, GFile* file, GError** error); +MetadataDateTime* media_metadata_get_creation_date_time (MediaMetadata* self); +static MetadataDateTime* media_metadata_real_get_creation_date_time (MediaMetadata* self); +gchar* media_metadata_get_title (MediaMetadata* self); +static gchar* media_metadata_real_get_title (MediaMetadata* self); +gchar* media_metadata_get_comment (MediaMetadata* self); +static gchar* media_metadata_real_get_comment (MediaMetadata* self); +static void media_metadata_finalize (MediaMetadata* obj); +GType metadata_rational_get_type (void) G_GNUC_CONST; +MetadataRational* metadata_rational_dup (const MetadataRational* self); +void metadata_rational_free (MetadataRational* self); +void metadata_rational_init (MetadataRational *self, gint numerator, gint denominator); +static gboolean metadata_rational_is_component_valid (MetadataRational *self, gint component); +gboolean metadata_rational_is_valid (MetadataRational *self); +gchar* metadata_rational_to_string (MetadataRational *self); +GQuark metadata_date_time_error_quark (void); +#define METADATA_DATE_TIME_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_METADATA_DATE_TIME, MetadataDateTimePrivate)) +enum { + METADATA_DATE_TIME_DUMMY_PROPERTY +}; +MetadataDateTime* metadata_date_time_new (time_t timestamp); +MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp); +MetadataDateTime* metadata_date_time_new_from_exif (const gchar* label, GError** error); +MetadataDateTime* metadata_date_time_construct_from_exif (GType object_type, const gchar* label, GError** error); +gboolean metadata_date_time_from_exif_date_time (const gchar* date_time, time_t* timestamp); +MetadataDateTime* metadata_date_time_new_from_iptc (const gchar* date, const gchar* time, GError** error); +MetadataDateTime* metadata_date_time_construct_from_iptc (GType object_type, const gchar* date, const gchar* time, GError** error); +MetadataDateTime* metadata_date_time_new_from_xmp (const gchar* label, GError** error); +MetadataDateTime* metadata_date_time_construct_from_xmp (GType object_type, const gchar* label, GError** error); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +gchar* metadata_date_time_get_exif_label (MetadataDateTime* self); +gchar* metadata_date_time_to_exif_date_time (time_t timestamp); +gchar* metadata_date_time_get_xmp_label (MetadataDateTime* self); +gchar* metadata_date_time_to_string (MetadataDateTime* self); +static void metadata_date_time_finalize (MetadataDateTime* obj); + + +MediaMetadata* media_metadata_construct (GType object_type) { + MediaMetadata* self = NULL; +#line 8 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self = (MediaMetadata*) g_type_create_instance (object_type); +#line 8 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return self; +#line 164 "MediaMetadata.c" +} + + +static void media_metadata_real_read_from_file (MediaMetadata* self, GFile* file, GError** error) { +#line 11 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_critical ("Type `%s' does not implement abstract method `media_metadata_read_from_file'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 11 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return; +#line 173 "MediaMetadata.c" +} + + +void media_metadata_read_from_file (MediaMetadata* self, GFile* file, GError** error) { +#line 11 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (IS_MEDIA_METADATA (self)); +#line 11 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + MEDIA_METADATA_GET_CLASS (self)->read_from_file (self, file, error); +#line 182 "MediaMetadata.c" +} + + +static MetadataDateTime* media_metadata_real_get_creation_date_time (MediaMetadata* self) { +#line 13 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_critical ("Type `%s' does not implement abstract method `media_metadata_get_creation_date_time'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 13 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 191 "MediaMetadata.c" +} + + +MetadataDateTime* media_metadata_get_creation_date_time (MediaMetadata* self) { +#line 13 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (IS_MEDIA_METADATA (self), NULL); +#line 13 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return MEDIA_METADATA_GET_CLASS (self)->get_creation_date_time (self); +#line 200 "MediaMetadata.c" +} + + +static gchar* media_metadata_real_get_title (MediaMetadata* self) { +#line 15 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_critical ("Type `%s' does not implement abstract method `media_metadata_get_title'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 15 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 209 "MediaMetadata.c" +} + + +gchar* media_metadata_get_title (MediaMetadata* self) { +#line 15 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (IS_MEDIA_METADATA (self), NULL); +#line 15 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return MEDIA_METADATA_GET_CLASS (self)->get_title (self); +#line 218 "MediaMetadata.c" +} + + +static gchar* media_metadata_real_get_comment (MediaMetadata* self) { +#line 17 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_critical ("Type `%s' does not implement abstract method `media_metadata_get_comment'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 17 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 227 "MediaMetadata.c" +} + + +gchar* media_metadata_get_comment (MediaMetadata* self) { +#line 17 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (IS_MEDIA_METADATA (self), NULL); +#line 17 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return MEDIA_METADATA_GET_CLASS (self)->get_comment (self); +#line 236 "MediaMetadata.c" +} + + +static void value_media_metadata_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = NULL; +#line 243 "MediaMetadata.c" +} + + +static void value_media_metadata_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + media_metadata_unref (value->data[0].v_pointer); +#line 252 "MediaMetadata.c" + } +} + + +static void value_media_metadata_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + dest_value->data[0].v_pointer = media_metadata_ref (src_value->data[0].v_pointer); +#line 262 "MediaMetadata.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + dest_value->data[0].v_pointer = NULL; +#line 266 "MediaMetadata.c" + } +} + + +static gpointer value_media_metadata_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return value->data[0].v_pointer; +#line 274 "MediaMetadata.c" +} + + +static gchar* value_media_metadata_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (collect_values[0].v_pointer) { +#line 281 "MediaMetadata.c" + MediaMetadata* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 288 "MediaMetadata.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 292 "MediaMetadata.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = media_metadata_ref (object); +#line 296 "MediaMetadata.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = NULL; +#line 300 "MediaMetadata.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 304 "MediaMetadata.c" +} + + +static gchar* value_media_metadata_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + MediaMetadata** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 315 "MediaMetadata.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *object_p = NULL; +#line 321 "MediaMetadata.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *object_p = value->data[0].v_pointer; +#line 325 "MediaMetadata.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *object_p = media_metadata_ref (value->data[0].v_pointer); +#line 329 "MediaMetadata.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 333 "MediaMetadata.c" +} + + +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecMediaMetadata* spec; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_MEDIA_METADATA), NULL); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return G_PARAM_SPEC (spec); +#line 347 "MediaMetadata.c" +} + + +gpointer value_get_media_metadata (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MEDIA_METADATA), NULL); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return value->data[0].v_pointer; +#line 356 "MediaMetadata.c" +} + + +void value_set_media_metadata (GValue* value, gpointer v_object) { + MediaMetadata* old; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MEDIA_METADATA)); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_MEDIA_METADATA)); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + media_metadata_ref (value->data[0].v_pointer); +#line 376 "MediaMetadata.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = NULL; +#line 380 "MediaMetadata.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + media_metadata_unref (old); +#line 386 "MediaMetadata.c" + } +} + + +void value_take_media_metadata (GValue* value, gpointer v_object) { + MediaMetadata* old; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MEDIA_METADATA)); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_MEDIA_METADATA)); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = v_object; +#line 405 "MediaMetadata.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = NULL; +#line 409 "MediaMetadata.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + media_metadata_unref (old); +#line 415 "MediaMetadata.c" + } +} + + +static void media_metadata_class_init (MediaMetadataClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + media_metadata_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + ((MediaMetadataClass *) klass)->finalize = media_metadata_finalize; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + ((MediaMetadataClass *) klass)->read_from_file = media_metadata_real_read_from_file; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + ((MediaMetadataClass *) klass)->get_creation_date_time = media_metadata_real_get_creation_date_time; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + ((MediaMetadataClass *) klass)->get_title = media_metadata_real_get_title; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + ((MediaMetadataClass *) klass)->get_comment = media_metadata_real_get_comment; +#line 433 "MediaMetadata.c" +} + + +static void media_metadata_instance_init (MediaMetadata * self) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self->ref_count = 1; +#line 440 "MediaMetadata.c" +} + + +static void media_metadata_finalize (MediaMetadata* obj) { + MediaMetadata * self; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_METADATA, MediaMetadata); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_signal_handlers_destroy (self); +#line 450 "MediaMetadata.c" +} + + +GType media_metadata_get_type (void) { + static volatile gsize media_metadata_type_id__volatile = 0; + if (g_once_init_enter (&media_metadata_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_media_metadata_init, value_media_metadata_free_value, value_media_metadata_copy_value, value_media_metadata_peek_pointer, "p", value_media_metadata_collect_value, "p", value_media_metadata_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (MediaMetadataClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_metadata_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaMetadata), 0, (GInstanceInitFunc) media_metadata_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType media_metadata_type_id; + media_metadata_type_id = g_type_register_fundamental (g_type_fundamental_next (), "MediaMetadata", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&media_metadata_type_id__volatile, media_metadata_type_id); + } + return media_metadata_type_id__volatile; +} + + +gpointer media_metadata_ref (gpointer instance) { + MediaMetadata* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return instance; +#line 475 "MediaMetadata.c" +} + + +void media_metadata_unref (gpointer instance) { + MediaMetadata* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + MEDIA_METADATA_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 488 "MediaMetadata.c" + } +} + + +void metadata_rational_init (MetadataRational *self, gint numerator, gint denominator) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 24 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + memset (self, 0, sizeof (MetadataRational)); +#line 25 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = numerator; +#line 25 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + (*self).numerator = _tmp0_; +#line 26 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = denominator; +#line 26 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + (*self).denominator = _tmp1_; +#line 506 "MediaMetadata.c" +} + + +static gboolean metadata_rational_is_component_valid (MetadataRational *self, gint component) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 30 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = component; +#line 30 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp1_ >= 0) { +#line 518 "MediaMetadata.c" + gint _tmp2_ = 0; +#line 30 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp2_ = component; +#line 30 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = _tmp2_ <= 1000000; +#line 524 "MediaMetadata.c" + } else { +#line 30 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = FALSE; +#line 528 "MediaMetadata.c" + } +#line 30 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = _tmp0_; +#line 30 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 534 "MediaMetadata.c" +} + + +gboolean metadata_rational_is_valid (MetadataRational *self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = (*self).numerator; +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp2_ = metadata_rational_is_component_valid (&(*self), _tmp1_); +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp2_) { +#line 549 "MediaMetadata.c" + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp3_ = (*self).denominator; +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp4_ = metadata_rational_is_component_valid (&(*self), _tmp3_); +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = _tmp4_; +#line 558 "MediaMetadata.c" + } else { +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = FALSE; +#line 562 "MediaMetadata.c" + } +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = _tmp0_; +#line 34 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 568 "MediaMetadata.c" +} + + +gchar* metadata_rational_to_string (MetadataRational *self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = metadata_rational_is_valid (&(*self)); +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp1_) { +#line 580 "MediaMetadata.c" + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp2_ = (*self).numerator; +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp3_ = (*self).denominator; +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp4_ = g_strdup_printf ("%d/%d", _tmp2_, _tmp3_); +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _g_free0 (_tmp0_); +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = _tmp4_; +#line 594 "MediaMetadata.c" + } else { + gchar* _tmp5_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp5_ = g_strdup (""); +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _g_free0 (_tmp0_); +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = _tmp5_; +#line 603 "MediaMetadata.c" + } +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = _tmp0_; +#line 38 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 609 "MediaMetadata.c" +} + + +MetadataRational* metadata_rational_dup (const MetadataRational* self) { + MetadataRational* dup; +#line 20 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + dup = g_new0 (MetadataRational, 1); +#line 20 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + memcpy (dup, self, sizeof (MetadataRational)); +#line 20 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return dup; +#line 621 "MediaMetadata.c" +} + + +void metadata_rational_free (MetadataRational* self) { +#line 20 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_free (self); +#line 628 "MediaMetadata.c" +} + + +GType metadata_rational_get_type (void) { + static volatile gsize metadata_rational_type_id__volatile = 0; + if (g_once_init_enter (&metadata_rational_type_id__volatile)) { + GType metadata_rational_type_id; + metadata_rational_type_id = g_boxed_type_register_static ("MetadataRational", (GBoxedCopyFunc) metadata_rational_dup, (GBoxedFreeFunc) metadata_rational_free); + g_once_init_leave (&metadata_rational_type_id__volatile, metadata_rational_type_id); + } + return metadata_rational_type_id__volatile; +} + + +GQuark metadata_date_time_error_quark (void) { + return g_quark_from_static_string ("metadata_date_time_error-quark"); +} + + +MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp) { + MetadataDateTime* self = NULL; + time_t _tmp0_ = 0; +#line 51 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self = (MetadataDateTime*) g_type_create_instance (object_type); +#line 52 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = timestamp; +#line 52 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self->priv->timestamp = _tmp0_; +#line 51 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return self; +#line 659 "MediaMetadata.c" +} + + +MetadataDateTime* metadata_date_time_new (time_t timestamp) { +#line 51 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return metadata_date_time_construct (TYPE_METADATA_DATE_TIME, timestamp); +#line 666 "MediaMetadata.c" +} + + +MetadataDateTime* metadata_date_time_construct_from_exif (GType object_type, const gchar* label, GError** error) { + MetadataDateTime* self = NULL; + const gchar* _tmp0_ = NULL; + time_t _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + GError * _inner_error_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (label != NULL, NULL); +#line 55 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self = (MetadataDateTime*) g_type_create_instance (object_type); +#line 56 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = label; +#line 56 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp2_ = metadata_date_time_from_exif_date_time (_tmp0_, &_tmp1_); +#line 56 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self->priv->timestamp = _tmp1_; +#line 56 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (!_tmp2_) { +#line 688 "MediaMetadata.c" + const gchar* _tmp3_ = NULL; + GError* _tmp4_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp3_ = label; +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp4_ = g_error_new (METADATA_DATE_TIME_ERROR, METADATA_DATE_TIME_ERROR_INVALID_FORMAT, "%s is not EXIF format date/time", _tmp3_); +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _inner_error_ = _tmp4_; +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_inner_error_->domain == METADATA_DATE_TIME_ERROR) { +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _metadata_date_time_unref0 (self); +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 705 "MediaMetadata.c" + } else { +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.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 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_clear_error (&_inner_error_); +#line 57 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 713 "MediaMetadata.c" + } + } +#line 55 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return self; +#line 718 "MediaMetadata.c" +} + + +MetadataDateTime* metadata_date_time_new_from_exif (const gchar* label, GError** error) { +#line 55 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return metadata_date_time_construct_from_exif (TYPE_METADATA_DATE_TIME, label, error); +#line 725 "MediaMetadata.c" +} + + +MetadataDateTime* metadata_date_time_construct_from_iptc (GType object_type, const gchar* date, const gchar* time, GError** error) { + MetadataDateTime* self = NULL; + GError* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (date != NULL, NULL); +#line 60 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (time != NULL, NULL); +#line 60 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self = (MetadataDateTime*) g_type_create_instance (object_type); +#line 62 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = g_error_new_literal (METADATA_DATE_TIME_ERROR, METADATA_DATE_TIME_ERROR_UNSUPPORTED_FORMAT, "IPTC date/time format not currently supported"); +#line 62 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _inner_error_ = _tmp0_; +#line 62 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_inner_error_->domain == METADATA_DATE_TIME_ERROR) { +#line 62 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 62 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _metadata_date_time_unref0 (self); +#line 62 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 751 "MediaMetadata.c" + } else { +#line 62 "/home/jens/Source/shotwell/src/MediaMetadata.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 62 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_clear_error (&_inner_error_); +#line 62 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 759 "MediaMetadata.c" + } +#line 60 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return self; +#line 763 "MediaMetadata.c" +} + + +MetadataDateTime* metadata_date_time_new_from_iptc (const gchar* date, const gchar* time, GError** error) { +#line 60 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return metadata_date_time_construct_from_iptc (TYPE_METADATA_DATE_TIME, date, time, error); +#line 770 "MediaMetadata.c" +} + + +MetadataDateTime* metadata_date_time_construct_from_xmp (GType object_type, const gchar* label, GError** error) { + MetadataDateTime* self = NULL; + GTimeVal time_val = {0}; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GTimeVal _tmp4_ = {0}; + glong _tmp5_ = 0L; + GError * _inner_error_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (label != NULL, NULL); +#line 65 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self = (MetadataDateTime*) g_type_create_instance (object_type); +#line 66 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_get_current_time (&time_val); +#line 67 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = label; +#line 67 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = g_time_val_from_iso8601 (_tmp0_, &time_val); +#line 67 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (!_tmp1_) { +#line 794 "MediaMetadata.c" + const gchar* _tmp2_ = NULL; + GError* _tmp3_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp2_ = label; +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp3_ = g_error_new (METADATA_DATE_TIME_ERROR, METADATA_DATE_TIME_ERROR_INVALID_FORMAT, "%s is not XMP format date/time", _tmp2_); +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _inner_error_ = _tmp3_; +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_inner_error_->domain == METADATA_DATE_TIME_ERROR) { +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _metadata_date_time_unref0 (self); +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 811 "MediaMetadata.c" + } else { +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.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 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_clear_error (&_inner_error_); +#line 68 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 819 "MediaMetadata.c" + } + } +#line 70 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp4_ = time_val; +#line 70 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp5_ = _tmp4_.tv_sec; +#line 70 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self->priv->timestamp = (time_t) _tmp5_; +#line 65 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return self; +#line 830 "MediaMetadata.c" +} + + +MetadataDateTime* metadata_date_time_new_from_xmp (const gchar* label, GError** error) { +#line 65 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return metadata_date_time_construct_from_xmp (TYPE_METADATA_DATE_TIME, label, error); +#line 837 "MediaMetadata.c" +} + + +time_t metadata_date_time_get_timestamp (MetadataDateTime* self) { + time_t result = 0; + time_t _tmp0_ = 0; +#line 73 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (IS_METADATA_DATE_TIME (self), 0); +#line 74 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = self->priv->timestamp; +#line 74 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = _tmp0_; +#line 74 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 852 "MediaMetadata.c" +} + + +gchar* metadata_date_time_get_exif_label (MetadataDateTime* self) { + gchar* result = NULL; + time_t _tmp0_ = 0; + gchar* _tmp1_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (IS_METADATA_DATE_TIME (self), NULL); +#line 78 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = self->priv->timestamp; +#line 78 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = metadata_date_time_to_exif_date_time (_tmp0_); +#line 78 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = _tmp1_; +#line 78 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 870 "MediaMetadata.c" +} + + +gchar* metadata_date_time_get_xmp_label (MetadataDateTime* self) { + gchar* result = NULL; + GTimeVal time_val = {0}; + time_t _tmp0_ = 0; + gchar* _tmp1_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (IS_METADATA_DATE_TIME (self), NULL); +#line 84 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_get_current_time (&time_val); +#line 85 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = self->priv->timestamp; +#line 85 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + time_val.tv_sec = (glong) _tmp0_; +#line 86 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + time_val.tv_usec = (glong) 0; +#line 88 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = g_time_val_to_iso8601 (&time_val); +#line 88 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = _tmp1_; +#line 88 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 895 "MediaMetadata.c" +} + + +gboolean metadata_date_time_from_exif_date_time (const gchar* date_time, time_t* timestamp) { + time_t _vala_timestamp = 0; + gboolean result = FALSE; + struct tm tm = {0}; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + struct tm _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + time_t _tmp26_ = 0; +#line 91 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (date_time != NULL, FALSE); +#line 92 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _vala_timestamp = (time_t) 0; +#line 94 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + memset (&tm, 0, sizeof (struct tm)); +#line 97 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = date_time; +#line 97 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = sscanf (_tmp0_, "%d:%d:%d %d:%d:%d", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec); +#line 97 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp1_ != 6) { +#line 927 "MediaMetadata.c" + gchar* tmp = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 100 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp2_ = date_time; +#line 100 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 100 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + tmp = _tmp3_; +#line 101 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp4_ = tmp; +#line 101 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_strcanon (_tmp4_, "0123456789", ' '); +#line 102 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp5_ = tmp; +#line 102 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp6_ = sscanf (_tmp5_, "%4d%2d%2d%2d%2d%2d", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec); +#line 102 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp6_ != 6) { +#line 104 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = FALSE; +#line 104 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _g_free0 (tmp); +#line 104 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (timestamp) { +#line 104 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *timestamp = _vala_timestamp; +#line 958 "MediaMetadata.c" + } +#line 104 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 962 "MediaMetadata.c" + } +#line 97 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _g_free0 (tmp); +#line 966 "MediaMetadata.c" + } +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp12_ = tm; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp13_ = _tmp12_.tm_year; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp13_ <= 1900) { +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp11_ = TRUE; +#line 976 "MediaMetadata.c" + } else { + struct tm _tmp14_ = {0}; + gint _tmp15_ = 0; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp14_ = tm; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp15_ = _tmp14_.tm_mon; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp11_ = _tmp15_ <= 0; +#line 986 "MediaMetadata.c" + } +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp11_) { +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp10_ = TRUE; +#line 992 "MediaMetadata.c" + } else { + struct tm _tmp16_ = {0}; + gint _tmp17_ = 0; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp16_ = tm; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp17_ = _tmp16_.tm_mday; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp10_ = _tmp17_ < 0; +#line 1002 "MediaMetadata.c" + } +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp10_) { +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp9_ = TRUE; +#line 1008 "MediaMetadata.c" + } else { + struct tm _tmp18_ = {0}; + gint _tmp19_ = 0; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp18_ = tm; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp19_ = _tmp18_.tm_hour; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp9_ = _tmp19_ < 0; +#line 1018 "MediaMetadata.c" + } +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp9_) { +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp8_ = TRUE; +#line 1024 "MediaMetadata.c" + } else { + struct tm _tmp20_ = {0}; + gint _tmp21_ = 0; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp20_ = tm; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp21_ = _tmp20_.tm_min; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp8_ = _tmp21_ < 0; +#line 1034 "MediaMetadata.c" + } +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp8_) { +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp7_ = TRUE; +#line 1040 "MediaMetadata.c" + } else { + struct tm _tmp22_ = {0}; + gint _tmp23_ = 0; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp22_ = tm; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp23_ = _tmp22_.tm_sec; +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp7_ = _tmp23_ < 0; +#line 1050 "MediaMetadata.c" + } +#line 108 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (_tmp7_) { +#line 109 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = FALSE; +#line 109 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (timestamp) { +#line 109 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *timestamp = _vala_timestamp; +#line 1060 "MediaMetadata.c" + } +#line 109 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 1064 "MediaMetadata.c" + } +#line 111 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp24_ = tm.tm_year; +#line 111 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + tm.tm_year = _tmp24_ - 1900; +#line 112 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp25_ = tm.tm_mon; +#line 112 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + tm.tm_mon = _tmp25_ - 1; +#line 113 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + tm.tm_isdst = -1; +#line 115 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp26_ = mktime (&tm); +#line 115 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _vala_timestamp = _tmp26_; +#line 117 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = TRUE; +#line 117 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (timestamp) { +#line 117 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *timestamp = _vala_timestamp; +#line 1086 "MediaMetadata.c" + } +#line 117 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 1090 "MediaMetadata.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 1105 "MediaMetadata.c" +} + + +static gchar* g_time_format (struct tm *self, const gchar* format) { + gchar* result = NULL; + gchar* buffer = NULL; + gchar* _tmp0_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + gchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; +#line 2709 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (format != NULL, NULL); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, 64); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = _tmp0_; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer_length1 = 64; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _buffer_size_ = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = buffer; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1__length1 = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = format; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self)); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = buffer; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = buffer_length1; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = g_strdup ((const gchar*) _tmp3_); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = (g_free (buffer), NULL); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1151 "MediaMetadata.c" +} + + +gchar* metadata_date_time_to_exif_date_time (time_t timestamp) { + gchar* result = NULL; + time_t _tmp0_ = 0; + struct tm _tmp1_ = {0}; + gchar* _tmp2_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = timestamp; +#line 121 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_time_local (_tmp0_, &_tmp1_); +#line 121 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp2_ = g_time_format (&_tmp1_, "%Y:%m:%d %H:%M:%S"); +#line 121 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = _tmp2_; +#line 121 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 1170 "MediaMetadata.c" +} + + +gchar* metadata_date_time_to_string (MetadataDateTime* self) { + gchar* result = NULL; + time_t _tmp0_ = 0; + gchar* _tmp1_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (IS_METADATA_DATE_TIME (self), NULL); +#line 125 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp0_ = self->priv->timestamp; +#line 125 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + _tmp1_ = metadata_date_time_to_exif_date_time (_tmp0_); +#line 125 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + result = _tmp1_; +#line 125 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return result; +#line 1188 "MediaMetadata.c" +} + + +static void value_metadata_date_time_init (GValue* value) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1195 "MediaMetadata.c" +} + + +static void value_metadata_date_time_free_value (GValue* value) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (value->data[0].v_pointer) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + metadata_date_time_unref (value->data[0].v_pointer); +#line 1204 "MediaMetadata.c" + } +} + + +static void value_metadata_date_time_copy_value (const GValue* src_value, GValue* dest_value) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (src_value->data[0].v_pointer) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + dest_value->data[0].v_pointer = metadata_date_time_ref (src_value->data[0].v_pointer); +#line 1214 "MediaMetadata.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + dest_value->data[0].v_pointer = NULL; +#line 1218 "MediaMetadata.c" + } +} + + +static gpointer value_metadata_date_time_peek_pointer (const GValue* value) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return value->data[0].v_pointer; +#line 1226 "MediaMetadata.c" +} + + +static gchar* value_metadata_date_time_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (collect_values[0].v_pointer) { +#line 1233 "MediaMetadata.c" + MetadataDateTime* object; + object = collect_values[0].v_pointer; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (object->parent_instance.g_class == NULL) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1240 "MediaMetadata.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1244 "MediaMetadata.c" + } +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = metadata_date_time_ref (object); +#line 1248 "MediaMetadata.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1252 "MediaMetadata.c" + } +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 1256 "MediaMetadata.c" +} + + +static gchar* value_metadata_date_time_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + MetadataDateTime** object_p; + object_p = collect_values[0].v_pointer; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (!object_p) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1267 "MediaMetadata.c" + } +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (!value->data[0].v_pointer) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *object_p = NULL; +#line 1273 "MediaMetadata.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *object_p = value->data[0].v_pointer; +#line 1277 "MediaMetadata.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + *object_p = metadata_date_time_ref (value->data[0].v_pointer); +#line 1281 "MediaMetadata.c" + } +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return NULL; +#line 1285 "MediaMetadata.c" +} + + +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecMetadataDateTime* spec; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_METADATA_DATE_TIME), NULL); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return G_PARAM_SPEC (spec); +#line 1299 "MediaMetadata.c" +} + + +gpointer value_get_metadata_date_time (const GValue* value) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_METADATA_DATE_TIME), NULL); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return value->data[0].v_pointer; +#line 1308 "MediaMetadata.c" +} + + +void value_set_metadata_date_time (GValue* value, gpointer v_object) { + MetadataDateTime* old; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_METADATA_DATE_TIME)); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + old = value->data[0].v_pointer; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (v_object) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_METADATA_DATE_TIME)); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = v_object; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + metadata_date_time_ref (value->data[0].v_pointer); +#line 1328 "MediaMetadata.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1332 "MediaMetadata.c" + } +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (old) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + metadata_date_time_unref (old); +#line 1338 "MediaMetadata.c" + } +} + + +void value_take_metadata_date_time (GValue* value, gpointer v_object) { + MetadataDateTime* old; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_METADATA_DATE_TIME)); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + old = value->data[0].v_pointer; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (v_object) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_METADATA_DATE_TIME)); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = v_object; +#line 1357 "MediaMetadata.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1361 "MediaMetadata.c" + } +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (old) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + metadata_date_time_unref (old); +#line 1367 "MediaMetadata.c" + } +} + + +static void metadata_date_time_class_init (MetadataDateTimeClass * klass) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + metadata_date_time_parent_class = g_type_class_peek_parent (klass); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + ((MetadataDateTimeClass *) klass)->finalize = metadata_date_time_finalize; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_type_class_add_private (klass, sizeof (MetadataDateTimePrivate)); +#line 1379 "MediaMetadata.c" +} + + +static void metadata_date_time_instance_init (MetadataDateTime * self) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self->priv = METADATA_DATE_TIME_GET_PRIVATE (self); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self->ref_count = 1; +#line 1388 "MediaMetadata.c" +} + + +static void metadata_date_time_finalize (MetadataDateTime* obj) { + MetadataDateTime * self; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_METADATA_DATE_TIME, MetadataDateTime); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_signal_handlers_destroy (self); +#line 1398 "MediaMetadata.c" +} + + +GType metadata_date_time_get_type (void) { + static volatile gsize metadata_date_time_type_id__volatile = 0; + if (g_once_init_enter (&metadata_date_time_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_metadata_date_time_init, value_metadata_date_time_free_value, value_metadata_date_time_copy_value, value_metadata_date_time_peek_pointer, "p", value_metadata_date_time_collect_value, "p", value_metadata_date_time_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (MetadataDateTimeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) metadata_date_time_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MetadataDateTime), 0, (GInstanceInitFunc) metadata_date_time_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType metadata_date_time_type_id; + metadata_date_time_type_id = g_type_register_fundamental (g_type_fundamental_next (), "MetadataDateTime", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&metadata_date_time_type_id__volatile, metadata_date_time_type_id); + } + return metadata_date_time_type_id__volatile; +} + + +gpointer metadata_date_time_ref (gpointer instance) { + MetadataDateTime* self; + self = instance; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_atomic_int_inc (&self->ref_count); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + return instance; +#line 1423 "MediaMetadata.c" +} + + +void metadata_date_time_unref (gpointer instance) { + MetadataDateTime* self; + self = instance; +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + METADATA_DATE_TIME_GET_CLASS (self)->finalize (self); +#line 47 "/home/jens/Source/shotwell/src/MediaMetadata.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1436 "MediaMetadata.c" + } +} + + + diff --git a/src/MediaMonitor.c b/src/MediaMonitor.c new file mode 100644 index 0000000..0a2b28d --- /dev/null +++ b/src/MediaMonitor.c @@ -0,0 +1,3180 @@ +/* MediaMonitor.c generated by valac 0.32.1, the Vala compiler + * generated from MediaMonitor.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_MONITORABLE_UPDATES (monitorable_updates_get_type ()) +#define MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdates)) +#define MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass)) +#define IS_MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE_UPDATES)) +#define IS_MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MONITORABLE_UPDATES)) +#define MONITORABLE_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass)) + +typedef struct _MonitorableUpdates MonitorableUpdates; +typedef struct _MonitorableUpdatesClass MonitorableUpdatesClass; +typedef struct _MonitorableUpdatesPrivate MonitorableUpdatesPrivate; + +#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_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecMonitorableUpdates ParamSpecMonitorableUpdates; + +#define TYPE_MEDIA_MONITOR (media_monitor_get_type ()) +#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor)) +#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass)) +#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR)) +#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR)) +#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass)) + +typedef struct _MediaMonitor MediaMonitor; +typedef struct _MediaMonitorClass MediaMonitorClass; +typedef struct _MediaMonitorPrivate MediaMonitorPrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define MEDIA_MONITOR_TYPE_DISCOVERED_FILE (media_monitor_discovered_file_get_type ()) + +#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 _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _monitorable_updates_unref0(var) ((var == NULL) ? NULL : (var = (monitorable_updates_unref (var), NULL))) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _transaction_controller_unref0(var) ((var == NULL) ? NULL : (var = (transaction_controller_unref (var), NULL))) +#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) + +struct _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _MonitorableUpdates { + GTypeInstance parent_instance; + volatile int ref_count; + MonitorableUpdatesPrivate * priv; + Monitorable* monitorable; +}; + +struct _MonitorableUpdatesClass { + GTypeClass parent_class; + void (*finalize) (MonitorableUpdates *self); + gboolean (*is_in_alteration) (MonitorableUpdates* self); + void (*set_master_file) (MonitorableUpdates* self, GFile* file); + void (*set_master_file_info_altered) (MonitorableUpdates* self, gboolean altered); + void (*set_master_file_info) (MonitorableUpdates* self, GFileInfo* info); + void (*set_master_in_alteration) (MonitorableUpdates* self, gboolean in_alteration); + void (*set_master_alterations_complete) (MonitorableUpdates* self, GFileInfo* info); + void (*mark_offline) (MonitorableUpdates* self); + void (*mark_online) (MonitorableUpdates* self); + void (*reset_online_offline) (MonitorableUpdates* self); + gboolean (*is_all_updated) (MonitorableUpdates* self); +}; + +struct _MonitorableUpdatesPrivate { + GFile* master_file; + gboolean master_file_info_altered; + GFileInfo* master_file_info; + gboolean master_in_alteration; + gboolean online; + gboolean offline; +}; + +struct _ParamSpecMonitorableUpdates { + GParamSpec parent_instance; +}; + +typedef enum { + MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED, + MEDIA_MONITOR_DISCOVERED_FILE_IGNORE, + MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN +} MediaMonitorDiscoveredFile; + +struct _MediaMonitor { + GObject parent_instance; + MediaMonitorPrivate * priv; +}; + +struct _MediaMonitorClass { + GObjectClass parent_class; + MediaSourceCollection* (*get_media_source_collection) (MediaMonitor* self); + void (*close) (MediaMonitor* self); + gchar* (*to_string) (MediaMonitor* self); + MonitorableUpdates* (*create_updates) (MediaMonitor* self, Monitorable* monitorable); + void (*on_media_source_destroyed) (MediaMonitor* self, DataSource* source); + void (*notify_discovery_started) (MediaMonitor* self); + MediaMonitorDiscoveredFile (*notify_file_discovered) (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable); + GeeCollection* (*candidates_for_unknown_file) (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); + GFile** (*get_auxilliary_backing_files) (MediaMonitor* self, Monitorable* monitorable, int* result_length1); + void (*update_backing_file_info) (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info); + void (*notify_discovery_completing) (MediaMonitor* self); + gboolean (*is_file_represented) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_created) (MediaMonitor* self, GFile* file, GFileInfo* info); + gboolean (*notify_file_moved) (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); + gboolean (*notify_file_altered) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_attributes_altered) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_alteration_completed) (MediaMonitor* self, GFile* file, GFileInfo* info); + gboolean (*notify_file_deleted) (MediaMonitor* self, GFile* file); + void (*process_updates) (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +}; + +struct _MediaMonitorPrivate { + MediaSourceCollection* sources; + GCancellable* cancellable; + GeeHashMap* pending_updates; + guint pending_updates_timer_id; +}; + +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 () + +static gpointer monitorable_updates_parent_class = NULL; +static gpointer media_monitor_parent_class = NULL; + +gpointer monitorable_updates_ref (gpointer instance); +void monitorable_updates_unref (gpointer instance); +GParamSpec* param_spec_monitorable_updates (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_monitorable_updates (GValue* value, gpointer v_object); +void value_take_monitorable_updates (GValue* value, gpointer v_object); +gpointer value_get_monitorable_updates (const GValue* value); +GType monitorable_updates_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 monitorable_get_type (void) G_GNUC_CONST; +#define MONITORABLE_UPDATES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesPrivate)) +enum { + MONITORABLE_UPDATES_DUMMY_PROPERTY +}; +MonitorableUpdates* monitorable_updates_new (Monitorable* monitorable); +MonitorableUpdates* monitorable_updates_construct (GType object_type, Monitorable* monitorable); +GFile* monitorable_updates_get_master_file (MonitorableUpdates* self); +GFileInfo* monitorable_updates_get_master_file_info (MonitorableUpdates* self); +gboolean monitorable_updates_is_in_alteration (MonitorableUpdates* self); +static gboolean monitorable_updates_real_is_in_alteration (MonitorableUpdates* self); +gboolean monitorable_updates_is_set_offline (MonitorableUpdates* self); +gboolean monitorable_updates_is_set_online (MonitorableUpdates* self); +void monitorable_updates_set_master_file (MonitorableUpdates* self, GFile* file); +static void monitorable_updates_real_set_master_file (MonitorableUpdates* self, GFile* file); +void monitorable_updates_mark_online (MonitorableUpdates* self); +void monitorable_updates_set_master_file_info_altered (MonitorableUpdates* self, gboolean altered); +static void monitorable_updates_real_set_master_file_info_altered (MonitorableUpdates* self, gboolean altered); +void monitorable_updates_set_master_file_info (MonitorableUpdates* self, GFileInfo* info); +static void monitorable_updates_real_set_master_file_info (MonitorableUpdates* self, GFileInfo* info); +void monitorable_updates_set_master_in_alteration (MonitorableUpdates* self, gboolean in_alteration); +static void monitorable_updates_real_set_master_in_alteration (MonitorableUpdates* self, gboolean in_alteration); +void monitorable_updates_set_master_alterations_complete (MonitorableUpdates* self, GFileInfo* info); +static void monitorable_updates_real_set_master_alterations_complete (MonitorableUpdates* self, GFileInfo* info); +void monitorable_updates_mark_offline (MonitorableUpdates* self); +static void monitorable_updates_real_mark_offline (MonitorableUpdates* self); +static void monitorable_updates_real_mark_online (MonitorableUpdates* self); +void monitorable_updates_reset_online_offline (MonitorableUpdates* self); +static void monitorable_updates_real_reset_online_offline (MonitorableUpdates* self); +gboolean monitorable_updates_is_all_updated (MonitorableUpdates* self); +static gboolean monitorable_updates_real_is_all_updated (MonitorableUpdates* self); +static void monitorable_updates_finalize (MonitorableUpdates* obj); +GType media_monitor_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType media_monitor_discovered_file_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; +#define MEDIA_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MEDIA_MONITOR, MediaMonitorPrivate)) +enum { + MEDIA_MONITOR_DUMMY_PROPERTY +}; +void media_monitor_on_media_source_destroyed (MediaMonitor* self, DataSource* source); +static void _media_monitor_on_media_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +static void _media_monitor_on_media_source_destroyed_source_collection_unlinked_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +#define MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE 100 +#define MEDIA_MONITOR_FLUSH_PENDING_UPDATES_MSEC 500 +MediaMonitor* media_monitor_construct (GType object_type, MediaSourceCollection* sources, GCancellable* cancellable); +static gboolean media_monitor_on_flush_pending_updates (MediaMonitor* self); +static gboolean _media_monitor_on_flush_pending_updates_gsource_func (gpointer self); +MediaSourceCollection* media_monitor_get_media_source_collection (MediaMonitor* self); +static MediaSourceCollection* media_monitor_real_get_media_source_collection (MediaMonitor* self); +void media_monitor_close (MediaMonitor* self); +static void media_monitor_real_close (MediaMonitor* self); +gchar* media_monitor_to_string (MediaMonitor* self); +static gchar* media_monitor_real_to_string (MediaMonitor* self); +gchar* data_collection_to_string (DataCollection* self); +MonitorableUpdates* media_monitor_create_updates (MediaMonitor* self, Monitorable* monitorable); +static MonitorableUpdates* media_monitor_real_create_updates (MediaMonitor* self, Monitorable* monitorable); +static void media_monitor_real_on_media_source_destroyed (MediaMonitor* self, DataSource* source); +void media_monitor_remove_updates (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_notify_discovery_started (MediaMonitor* self); +static void media_monitor_real_notify_discovery_started (MediaMonitor* self); +MediaMonitorDiscoveredFile media_monitor_notify_file_discovered (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable); +static MediaMonitorDiscoveredFile media_monitor_real_notify_file_discovered (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable); +GeeCollection* media_monitor_candidates_for_unknown_file (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); +static GeeCollection* media_monitor_real_candidates_for_unknown_file (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); +GFile** media_monitor_get_auxilliary_backing_files (MediaMonitor* self, Monitorable* monitorable, int* result_length1); +static GFile** media_monitor_real_get_auxilliary_backing_files (MediaMonitor* self, Monitorable* monitorable, int* result_length1); +void media_monitor_update_backing_file_info (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info); +static void media_monitor_real_update_backing_file_info (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info); +void media_monitor_notify_discovery_completing (MediaMonitor* self); +static void media_monitor_real_notify_discovery_completing (MediaMonitor* self); +gboolean media_monitor_is_file_represented (MediaMonitor* self, GFile* file); +static gboolean media_monitor_real_is_file_represented (MediaMonitor* self, GFile* file); +gboolean media_monitor_notify_file_created (MediaMonitor* self, GFile* file, GFileInfo* info); +static gboolean media_monitor_real_notify_file_created (MediaMonitor* self, GFile* file, GFileInfo* info); +gboolean media_monitor_notify_file_moved (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +static gboolean media_monitor_real_notify_file_moved (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +gboolean media_monitor_notify_file_altered (MediaMonitor* self, GFile* file); +static gboolean media_monitor_real_notify_file_altered (MediaMonitor* self, GFile* file); +gboolean media_monitor_notify_file_attributes_altered (MediaMonitor* self, GFile* file); +static gboolean media_monitor_real_notify_file_attributes_altered (MediaMonitor* self, GFile* file); +gboolean media_monitor_notify_file_alteration_completed (MediaMonitor* self, GFile* file, GFileInfo* info); +static gboolean media_monitor_real_notify_file_alteration_completed (MediaMonitor* self, GFile* file, GFileInfo* info); +gboolean media_monitor_notify_file_deleted (MediaMonitor* self, GFile* file); +static gboolean media_monitor_real_notify_file_deleted (MediaMonitor* self, GFile* file); +void media_monitor_mdbg (const gchar* msg); +gboolean media_monitor_has_pending_updates (MediaMonitor* self); +GeeCollection* media_monitor_get_monitorables (MediaMonitor* self); +MonitorableUpdates* media_monitor_fetch_updates (MediaMonitor* self, Monitorable* monitorable); +MonitorableUpdates* media_monitor_get_existing_updates (MediaMonitor* self, Monitorable* monitorable); +gboolean media_monitor_is_online (MediaMonitor* self, Monitorable* monitorable); +gboolean monitorable_is_offline (Monitorable* self); +gboolean media_monitor_is_offline (MediaMonitor* self, Monitorable* monitorable); +GFile* media_monitor_get_master_file (MediaMonitor* self, Monitorable* monitorable); +GFile* media_source_get_master_file (MediaSource* self); +void media_monitor_update_master_file (MediaMonitor* self, Monitorable* monitorable, GFile* file); +void media_monitor_update_master_file_info_altered (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_update_master_file_in_alteration (MediaMonitor* self, Monitorable* monitorable, gboolean in_alteration); +void media_monitor_update_master_file_alterations_completed (MediaMonitor* self, Monitorable* monitorable, GFileInfo* info); +void media_monitor_update_online (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_update_offline (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_process_updates (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +static void media_monitor_real_process_updates (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +void monitorable_set_many_master_file (GeeMap* map, TransactionController* controller, GError** error); +void monitorable_set_many_master_timestamp (GeeMap* map, TransactionController* controller, GError** error); +void monitorable_mark_many_online_offline (GeeCollection* online, GeeCollection* offline, TransactionController* controller, GError** error); +TransactionController* media_source_collection_get_transaction_controller (MediaSourceCollection* self); +void transaction_controller_begin (TransactionController* self); +void transaction_controller_commit (TransactionController* self); +GQuark database_error_quark (void); +void app_window_database_error (GError* err); +void app_window_panic (const gchar* msg); +static void media_monitor_finalize (GObject* obj); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 18 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return self ? g_object_ref (self) : NULL; +#line 428 "MediaMonitor.c" +} + + +MonitorableUpdates* monitorable_updates_construct (GType object_type, Monitorable* monitorable) { + MonitorableUpdates* self = NULL; + Monitorable* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 17 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self = (MonitorableUpdates*) g_type_create_instance (object_type); +#line 18 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 18 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 18 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->monitorable); +#line 18 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->monitorable = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return self; +#line 450 "MediaMonitor.c" +} + + +MonitorableUpdates* monitorable_updates_new (Monitorable* monitorable) { +#line 17 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return monitorable_updates_construct (TYPE_MONITORABLE_UPDATES, monitorable); +#line 457 "MediaMonitor.c" +} + + +GFile* monitorable_updates_get_master_file (MonitorableUpdates* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE_UPDATES (self), NULL); +#line 22 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->master_file; +#line 22 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 22 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp1_; +#line 22 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 475 "MediaMonitor.c" +} + + +GFileInfo* monitorable_updates_get_master_file_info (MonitorableUpdates* self) { + GFileInfo* result = NULL; + GFileInfo* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE_UPDATES (self), NULL); +#line 26 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->master_file_info; +#line 26 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 26 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp1_; +#line 26 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 493 "MediaMonitor.c" +} + + +static gboolean monitorable_updates_real_is_in_alteration (MonitorableUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 30 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->master_in_alteration; +#line 30 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp0_; +#line 30 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 506 "MediaMonitor.c" +} + + +gboolean monitorable_updates_is_in_alteration (MonitorableUpdates* self) { +#line 29 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE_UPDATES (self), FALSE); +#line 29 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MONITORABLE_UPDATES_GET_CLASS (self)->is_in_alteration (self); +#line 515 "MediaMonitor.c" +} + + +gboolean monitorable_updates_is_set_offline (MonitorableUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 33 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE_UPDATES (self), FALSE); +#line 34 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->offline; +#line 34 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp0_; +#line 34 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 530 "MediaMonitor.c" +} + + +gboolean monitorable_updates_is_set_online (MonitorableUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 37 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE_UPDATES (self), FALSE); +#line 38 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->online; +#line 38 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp0_; +#line 38 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 545 "MediaMonitor.c" +} + + +static void monitorable_updates_real_set_master_file (MonitorableUpdates* self, GFile* file) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail ((file == NULL) || G_IS_FILE (file)); +#line 42 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = file; +#line 42 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 42 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->priv->master_file); +#line 42 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_file = _tmp1_; +#line 44 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = file; +#line 44 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp2_ != NULL) { +#line 45 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_mark_online (self); +#line 569 "MediaMonitor.c" + } +} + + +void monitorable_updates_set_master_file (MonitorableUpdates* self, GFile* file) { +#line 41 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE_UPDATES (self)); +#line 41 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->set_master_file (self, file); +#line 579 "MediaMonitor.c" +} + + +static void monitorable_updates_real_set_master_file_info_altered (MonitorableUpdates* self, gboolean altered) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 49 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = altered; +#line 49 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_file_info_altered = _tmp0_; +#line 51 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = altered; +#line 51 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp1_) { +#line 52 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_mark_online (self); +#line 596 "MediaMonitor.c" + } +} + + +void monitorable_updates_set_master_file_info_altered (MonitorableUpdates* self, gboolean altered) { +#line 48 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE_UPDATES (self)); +#line 48 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->set_master_file_info_altered (self, altered); +#line 606 "MediaMonitor.c" +} + + +static void monitorable_updates_real_set_master_file_info (MonitorableUpdates* self, GFileInfo* info) { + GFileInfo* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); +#line 56 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = info; +#line 56 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 56 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->priv->master_file_info); +#line 56 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_file_info = _tmp1_; +#line 58 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = self->priv->master_file_info; +#line 58 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp2_ == NULL) { +#line 59 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_file_info_altered (self, FALSE); +#line 630 "MediaMonitor.c" + } +} + + +void monitorable_updates_set_master_file_info (MonitorableUpdates* self, GFileInfo* info) { +#line 55 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE_UPDATES (self)); +#line 55 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->set_master_file_info (self, info); +#line 640 "MediaMonitor.c" +} + + +static void monitorable_updates_real_set_master_in_alteration (MonitorableUpdates* self, gboolean in_alteration) { + gboolean _tmp0_ = FALSE; +#line 63 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = in_alteration; +#line 63 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_in_alteration = _tmp0_; +#line 650 "MediaMonitor.c" +} + + +void monitorable_updates_set_master_in_alteration (MonitorableUpdates* self, gboolean in_alteration) { +#line 62 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE_UPDATES (self)); +#line 62 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->set_master_in_alteration (self, in_alteration); +#line 659 "MediaMonitor.c" +} + + +static void monitorable_updates_real_set_master_alterations_complete (MonitorableUpdates* self, GFileInfo* info) { + GFileInfo* _tmp0_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 67 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_in_alteration (self, FALSE); +#line 68 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = info; +#line 68 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_file_info (self, _tmp0_); +#line 69 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_mark_online (self); +#line 675 "MediaMonitor.c" +} + + +void monitorable_updates_set_master_alterations_complete (MonitorableUpdates* self, GFileInfo* info) { +#line 66 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE_UPDATES (self)); +#line 66 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->set_master_alterations_complete (self, info); +#line 684 "MediaMonitor.c" +} + + +static void monitorable_updates_real_mark_offline (MonitorableUpdates* self) { +#line 73 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->online = FALSE; +#line 74 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->offline = TRUE; +#line 76 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_file_info_altered = FALSE; +#line 77 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->priv->master_file_info); +#line 77 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_file_info = NULL; +#line 78 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_in_alteration = FALSE; +#line 701 "MediaMonitor.c" +} + + +void monitorable_updates_mark_offline (MonitorableUpdates* self) { +#line 72 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE_UPDATES (self)); +#line 72 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->mark_offline (self); +#line 710 "MediaMonitor.c" +} + + +static void monitorable_updates_real_mark_online (MonitorableUpdates* self) { +#line 82 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->online = TRUE; +#line 83 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->offline = FALSE; +#line 719 "MediaMonitor.c" +} + + +void monitorable_updates_mark_online (MonitorableUpdates* self) { +#line 81 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE_UPDATES (self)); +#line 81 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->mark_online (self); +#line 728 "MediaMonitor.c" +} + + +static void monitorable_updates_real_reset_online_offline (MonitorableUpdates* self) { +#line 87 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->online = FALSE; +#line 88 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->offline = FALSE; +#line 737 "MediaMonitor.c" +} + + +void monitorable_updates_reset_online_offline (MonitorableUpdates* self) { +#line 86 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE_UPDATES (self)); +#line 86 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->reset_online_offline (self); +#line 746 "MediaMonitor.c" +} + + +static gboolean monitorable_updates_real_is_all_updated (MonitorableUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + GFile* _tmp5_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = self->priv->master_file; +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp5_ == NULL) { +#line 762 "MediaMonitor.c" + gboolean _tmp6_ = FALSE; +#line 93 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp6_ = self->priv->master_file_info_altered; +#line 93 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = _tmp6_ == FALSE; +#line 768 "MediaMonitor.c" + } else { +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = FALSE; +#line 772 "MediaMonitor.c" + } +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp4_) { +#line 776 "MediaMonitor.c" + GFileInfo* _tmp7_ = NULL; +#line 94 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp7_ = self->priv->master_file_info; +#line 94 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = _tmp7_ == NULL; +#line 782 "MediaMonitor.c" + } else { +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = FALSE; +#line 786 "MediaMonitor.c" + } +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp3_) { +#line 790 "MediaMonitor.c" + gboolean _tmp8_ = FALSE; +#line 95 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp8_ = self->priv->master_in_alteration; +#line 95 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp8_ == FALSE; +#line 796 "MediaMonitor.c" + } else { +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = FALSE; +#line 800 "MediaMonitor.c" + } +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp2_) { +#line 804 "MediaMonitor.c" + gboolean _tmp9_ = FALSE; +#line 96 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp9_ = self->priv->online; +#line 96 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = _tmp9_ == FALSE; +#line 810 "MediaMonitor.c" + } else { +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = FALSE; +#line 814 "MediaMonitor.c" + } +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp1_) { +#line 818 "MediaMonitor.c" + gboolean _tmp10_ = FALSE; +#line 97 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp10_ = self->priv->offline; +#line 97 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = _tmp10_ == FALSE; +#line 824 "MediaMonitor.c" + } else { +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = FALSE; +#line 828 "MediaMonitor.c" + } +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp0_; +#line 92 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 834 "MediaMonitor.c" +} + + +gboolean monitorable_updates_is_all_updated (MonitorableUpdates* self) { +#line 91 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE_UPDATES (self), FALSE); +#line 91 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MONITORABLE_UPDATES_GET_CLASS (self)->is_all_updated (self); +#line 843 "MediaMonitor.c" +} + + +static void value_monitorable_updates_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + value->data[0].v_pointer = NULL; +#line 850 "MediaMonitor.c" +} + + +static void value_monitorable_updates_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_unref (value->data[0].v_pointer); +#line 859 "MediaMonitor.c" + } +} + + +static void value_monitorable_updates_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + dest_value->data[0].v_pointer = monitorable_updates_ref (src_value->data[0].v_pointer); +#line 869 "MediaMonitor.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + dest_value->data[0].v_pointer = NULL; +#line 873 "MediaMonitor.c" + } +} + + +static gpointer value_monitorable_updates_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return value->data[0].v_pointer; +#line 881 "MediaMonitor.c" +} + + +static gchar* value_monitorable_updates_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (collect_values[0].v_pointer) { +#line 888 "MediaMonitor.c" + MonitorableUpdates* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 895 "MediaMonitor.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 899 "MediaMonitor.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + value->data[0].v_pointer = monitorable_updates_ref (object); +#line 903 "MediaMonitor.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + value->data[0].v_pointer = NULL; +#line 907 "MediaMonitor.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return NULL; +#line 911 "MediaMonitor.c" +} + + +static gchar* value_monitorable_updates_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + MonitorableUpdates** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 922 "MediaMonitor.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + *object_p = NULL; +#line 928 "MediaMonitor.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + *object_p = value->data[0].v_pointer; +#line 932 "MediaMonitor.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + *object_p = monitorable_updates_ref (value->data[0].v_pointer); +#line 936 "MediaMonitor.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return NULL; +#line 940 "MediaMonitor.c" +} + + +GParamSpec* param_spec_monitorable_updates (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecMonitorableUpdates* spec; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_MONITORABLE_UPDATES), NULL); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return G_PARAM_SPEC (spec); +#line 954 "MediaMonitor.c" +} + + +gpointer value_get_monitorable_updates (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MONITORABLE_UPDATES), NULL); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return value->data[0].v_pointer; +#line 963 "MediaMonitor.c" +} + + +void value_set_monitorable_updates (GValue* value, gpointer v_object) { + MonitorableUpdates* old; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MONITORABLE_UPDATES)); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_MONITORABLE_UPDATES)); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_ref (value->data[0].v_pointer); +#line 983 "MediaMonitor.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + value->data[0].v_pointer = NULL; +#line 987 "MediaMonitor.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_unref (old); +#line 993 "MediaMonitor.c" + } +} + + +void value_take_monitorable_updates (GValue* value, gpointer v_object) { + MonitorableUpdates* old; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_MONITORABLE_UPDATES)); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_MONITORABLE_UPDATES)); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + value->data[0].v_pointer = v_object; +#line 1012 "MediaMonitor.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + value->data[0].v_pointer = NULL; +#line 1016 "MediaMonitor.c" + } +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_unref (old); +#line 1022 "MediaMonitor.c" + } +} + + +static void monitorable_updates_class_init (MonitorableUpdatesClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->finalize = monitorable_updates_finalize; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_type_class_add_private (klass, sizeof (MonitorableUpdatesPrivate)); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->is_in_alteration = monitorable_updates_real_is_in_alteration; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->set_master_file = monitorable_updates_real_set_master_file; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->set_master_file_info_altered = monitorable_updates_real_set_master_file_info_altered; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->set_master_file_info = monitorable_updates_real_set_master_file_info; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->set_master_in_alteration = monitorable_updates_real_set_master_in_alteration; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->set_master_alterations_complete = monitorable_updates_real_set_master_alterations_complete; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->mark_offline = monitorable_updates_real_mark_offline; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->mark_online = monitorable_updates_real_mark_online; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->reset_online_offline = monitorable_updates_real_reset_online_offline; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MonitorableUpdatesClass *) klass)->is_all_updated = monitorable_updates_real_is_all_updated; +#line 1054 "MediaMonitor.c" +} + + +static void monitorable_updates_instance_init (MonitorableUpdates * self) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv = MONITORABLE_UPDATES_GET_PRIVATE (self); +#line 10 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_file = NULL; +#line 11 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_file_info_altered = FALSE; +#line 12 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_file_info = NULL; +#line 13 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->master_in_alteration = FALSE; +#line 14 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->online = FALSE; +#line 15 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->offline = FALSE; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->ref_count = 1; +#line 1075 "MediaMonitor.c" +} + + +static void monitorable_updates_finalize (MonitorableUpdates* obj) { + MonitorableUpdates * self; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MONITORABLE_UPDATES, MonitorableUpdates); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_signal_handlers_destroy (self); +#line 8 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->monitorable); +#line 10 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->priv->master_file); +#line 12 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->priv->master_file_info); +#line 1091 "MediaMonitor.c" +} + + +GType monitorable_updates_get_type (void) { + static volatile gsize monitorable_updates_type_id__volatile = 0; + if (g_once_init_enter (&monitorable_updates_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_monitorable_updates_init, value_monitorable_updates_free_value, value_monitorable_updates_copy_value, value_monitorable_updates_peek_pointer, "p", value_monitorable_updates_collect_value, "p", value_monitorable_updates_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (MonitorableUpdatesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) monitorable_updates_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MonitorableUpdates), 0, (GInstanceInitFunc) monitorable_updates_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType monitorable_updates_type_id; + monitorable_updates_type_id = g_type_register_fundamental (g_type_fundamental_next (), "MonitorableUpdates", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&monitorable_updates_type_id__volatile, monitorable_updates_type_id); + } + return monitorable_updates_type_id__volatile; +} + + +gpointer monitorable_updates_ref (gpointer instance) { + MonitorableUpdates* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return instance; +#line 1116 "MediaMonitor.c" +} + + +void monitorable_updates_unref (gpointer instance) { + MonitorableUpdates* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MONITORABLE_UPDATES_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1129 "MediaMonitor.c" + } +} + + +static void _media_monitor_on_media_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 130 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_on_media_source_destroyed ((MediaMonitor*) self, source); +#line 1137 "MediaMonitor.c" +} + + +static void _media_monitor_on_media_source_destroyed_source_collection_unlinked_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 131 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_on_media_source_destroyed ((MediaMonitor*) self, source); +#line 1144 "MediaMonitor.c" +} + + +GType media_monitor_discovered_file_get_type (void) { + static volatile gsize media_monitor_discovered_file_type_id__volatile = 0; + if (g_once_init_enter (&media_monitor_discovered_file_type_id__volatile)) { + static const GEnumValue values[] = {{MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED, "MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED", "represented"}, {MEDIA_MONITOR_DISCOVERED_FILE_IGNORE, "MEDIA_MONITOR_DISCOVERED_FILE_IGNORE", "ignore"}, {MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN, "MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN", "unknown"}, {0, NULL, NULL}}; + GType media_monitor_discovered_file_type_id; + media_monitor_discovered_file_type_id = g_enum_register_static ("MediaMonitorDiscoveredFile", values); + g_once_init_leave (&media_monitor_discovered_file_type_id__volatile, media_monitor_discovered_file_type_id); + } + return media_monitor_discovered_file_type_id__volatile; +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 119 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return self ? data_collection_ref (self) : NULL; +#line 1163 "MediaMonitor.c" +} + + +static gboolean _media_monitor_on_flush_pending_updates_gsource_func (gpointer self) { + gboolean result; + result = media_monitor_on_flush_pending_updates ((MediaMonitor*) self); +#line 125 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1172 "MediaMonitor.c" +} + + +MediaMonitor* media_monitor_construct (GType object_type, MediaSourceCollection* sources, GCancellable* cancellable) { + MediaMonitor * self = NULL; + MediaSourceCollection* _tmp0_ = NULL; + MediaSourceCollection* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + MediaSourceCollection* _tmp4_ = NULL; + MediaSourceCollection* _tmp5_ = NULL; + guint _tmp6_ = 0U; +#line 118 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_COLLECTION (sources), NULL); +#line 118 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 118 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self = (MediaMonitor*) g_object_new (object_type, NULL); +#line 119 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = sources; +#line 119 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 119 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _data_collection_unref0 (self->priv->sources); +#line 119 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->sources = _tmp1_; +#line 120 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = cancellable; +#line 120 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 120 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->priv->cancellable); +#line 120 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->cancellable = _tmp3_; +#line 122 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = sources; +#line 122 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _media_monitor_on_media_source_destroyed_source_collection_item_destroyed, self, 0); +#line 123 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = sources; +#line 123 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_SOURCE_COLLECTION, SourceCollection), "unlinked-destroyed", (GCallback) _media_monitor_on_media_source_destroyed_source_collection_unlinked_destroyed, self, 0); +#line 125 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp6_ = g_timeout_add_full (G_PRIORITY_LOW, (guint) MEDIA_MONITOR_FLUSH_PENDING_UPDATES_MSEC, _media_monitor_on_flush_pending_updates_gsource_func, g_object_ref (self), g_object_unref); +#line 125 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->pending_updates_timer_id = _tmp6_; +#line 118 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return self; +#line 1221 "MediaMonitor.c" +} + + +static MediaSourceCollection* media_monitor_real_get_media_source_collection (MediaMonitor* self) { +#line 134 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_get_media_source_collection'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 134 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return NULL; +#line 1230 "MediaMonitor.c" +} + + +MediaSourceCollection* media_monitor_get_media_source_collection (MediaMonitor* self) { +#line 134 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 134 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->get_media_source_collection (self); +#line 1239 "MediaMonitor.c" +} + + +static void media_monitor_real_close (MediaMonitor* self) { +} + + +void media_monitor_close (MediaMonitor* self) { +#line 136 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 136 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MEDIA_MONITOR_GET_CLASS (self)->close (self); +#line 1252 "MediaMonitor.c" +} + + +static gchar* media_monitor_real_to_string (MediaMonitor* self) { + gchar* result = NULL; + MediaSourceCollection* _tmp0_ = NULL; + MediaSourceCollection* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = media_monitor_get_media_source_collection (self); +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = _tmp0_; +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = data_collection_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = _tmp2_; +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = g_strdup_printf ("MediaMonitor for %s", _tmp3_); +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = _tmp4_; +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp3_); +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _data_collection_unref0 (_tmp1_); +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp5_; +#line 140 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1284 "MediaMonitor.c" +} + + +gchar* media_monitor_to_string (MediaMonitor* self) { +#line 139 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 139 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->to_string (self); +#line 1293 "MediaMonitor.c" +} + + +static MonitorableUpdates* media_monitor_real_create_updates (MediaMonitor* self, Monitorable* monitorable) { + MonitorableUpdates* result = NULL; + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 144 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 144 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = monitorable_updates_new (_tmp0_); +#line 144 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp1_; +#line 144 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1311 "MediaMonitor.c" +} + + +MonitorableUpdates* media_monitor_create_updates (MediaMonitor* self, Monitorable* monitorable) { +#line 143 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 143 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->create_updates (self, monitorable); +#line 1320 "MediaMonitor.c" +} + + +static void media_monitor_real_on_media_source_destroyed (MediaMonitor* self, DataSource* source) { + DataSource* _tmp0_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 148 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = source; +#line 148 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_remove_updates (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 1332 "MediaMonitor.c" +} + + +void media_monitor_on_media_source_destroyed (MediaMonitor* self, DataSource* source) { +#line 147 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 147 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MEDIA_MONITOR_GET_CLASS (self)->on_media_source_destroyed (self, source); +#line 1341 "MediaMonitor.c" +} + + +static void media_monitor_real_notify_discovery_started (MediaMonitor* self) { +} + + +void media_monitor_notify_discovery_started (MediaMonitor* self) { +#line 155 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 155 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MEDIA_MONITOR_GET_CLASS (self)->notify_discovery_started (self); +#line 1354 "MediaMonitor.c" +} + + +static MediaMonitorDiscoveredFile media_monitor_real_notify_file_discovered (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable) { +#line 160 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_notify_file_discovered'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 160 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return 0; +#line 1363 "MediaMonitor.c" +} + + +MediaMonitorDiscoveredFile media_monitor_notify_file_discovered (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable) { +#line 160 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), 0); +#line 160 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->notify_file_discovered (self, file, info, monitorable); +#line 1372 "MediaMonitor.c" +} + + +static GeeCollection* media_monitor_real_candidates_for_unknown_file (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_) { +#line 169 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_candidates_for_unknown_file'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 169 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return NULL; +#line 1381 "MediaMonitor.c" +} + + +GeeCollection* media_monitor_candidates_for_unknown_file (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_) { +#line 169 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 169 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->candidates_for_unknown_file (self, file, info, _result_); +#line 1390 "MediaMonitor.c" +} + + +static GFile** media_monitor_real_get_auxilliary_backing_files (MediaMonitor* self, Monitorable* monitorable, int* result_length1) { + GFile** result = NULL; + GFile** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 172 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 173 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0__length1 = 0; +#line 173 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (result_length1) { +#line 173 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + *result_length1 = _tmp0__length1; +#line 1408 "MediaMonitor.c" + } +#line 173 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp0_; +#line 173 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1414 "MediaMonitor.c" +} + + +GFile** media_monitor_get_auxilliary_backing_files (MediaMonitor* self, Monitorable* monitorable, int* result_length1) { +#line 172 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 172 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->get_auxilliary_backing_files (self, monitorable, result_length1); +#line 1423 "MediaMonitor.c" +} + + +static void media_monitor_real_update_backing_file_info (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info) { +#line 178 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 178 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 178 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); +#line 1434 "MediaMonitor.c" +} + + +void media_monitor_update_backing_file_info (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info) { +#line 178 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 178 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MEDIA_MONITOR_GET_CLASS (self)->update_backing_file_info (self, monitorable, file, info); +#line 1443 "MediaMonitor.c" +} + + +static void media_monitor_real_notify_discovery_completing (MediaMonitor* self) { +} + + +void media_monitor_notify_discovery_completing (MediaMonitor* self) { +#line 182 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 182 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MEDIA_MONITOR_GET_CLASS (self)->notify_discovery_completing (self); +#line 1456 "MediaMonitor.c" +} + + +static gboolean media_monitor_real_is_file_represented (MediaMonitor* self, GFile* file) { +#line 189 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_is_file_represented'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 189 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return FALSE; +#line 1465 "MediaMonitor.c" +} + + +gboolean media_monitor_is_file_represented (MediaMonitor* self, GFile* file) { +#line 189 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 189 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->is_file_represented (self, file); +#line 1474 "MediaMonitor.c" +} + + +static gboolean media_monitor_real_notify_file_created (MediaMonitor* self, GFile* file, GFileInfo* info) { +#line 191 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_notify_file_created'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 191 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return FALSE; +#line 1483 "MediaMonitor.c" +} + + +gboolean media_monitor_notify_file_created (MediaMonitor* self, GFile* file, GFileInfo* info) { +#line 191 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 191 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->notify_file_created (self, file, info); +#line 1492 "MediaMonitor.c" +} + + +static gboolean media_monitor_real_notify_file_moved (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { +#line 193 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_notify_file_moved'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 193 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return FALSE; +#line 1501 "MediaMonitor.c" +} + + +gboolean media_monitor_notify_file_moved (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { +#line 193 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 193 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->notify_file_moved (self, old_file, new_file, new_file_info); +#line 1510 "MediaMonitor.c" +} + + +static gboolean media_monitor_real_notify_file_altered (MediaMonitor* self, GFile* file) { +#line 195 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_notify_file_altered'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 195 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return FALSE; +#line 1519 "MediaMonitor.c" +} + + +gboolean media_monitor_notify_file_altered (MediaMonitor* self, GFile* file) { +#line 195 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 195 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->notify_file_altered (self, file); +#line 1528 "MediaMonitor.c" +} + + +static gboolean media_monitor_real_notify_file_attributes_altered (MediaMonitor* self, GFile* file) { +#line 197 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_notify_file_attributes_altered'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 197 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return FALSE; +#line 1537 "MediaMonitor.c" +} + + +gboolean media_monitor_notify_file_attributes_altered (MediaMonitor* self, GFile* file) { +#line 197 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 197 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->notify_file_attributes_altered (self, file); +#line 1546 "MediaMonitor.c" +} + + +static gboolean media_monitor_real_notify_file_alteration_completed (MediaMonitor* self, GFile* file, GFileInfo* info) { +#line 199 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_notify_file_alteration_completed'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 199 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return FALSE; +#line 1555 "MediaMonitor.c" +} + + +gboolean media_monitor_notify_file_alteration_completed (MediaMonitor* self, GFile* file, GFileInfo* info) { +#line 199 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 199 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->notify_file_alteration_completed (self, file, info); +#line 1564 "MediaMonitor.c" +} + + +static gboolean media_monitor_real_notify_file_deleted (MediaMonitor* self, GFile* file) { +#line 201 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_critical ("Type `%s' does not implement abstract method `media_monitor_notify_file_deleted'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 201 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return FALSE; +#line 1573 "MediaMonitor.c" +} + + +gboolean media_monitor_notify_file_deleted (MediaMonitor* self, GFile* file) { +#line 201 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 201 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return MEDIA_MONITOR_GET_CLASS (self)->notify_file_deleted (self, file); +#line 1582 "MediaMonitor.c" +} + + +void media_monitor_mdbg (const gchar* msg) { +#line 203 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (msg != NULL); +#line 1589 "MediaMonitor.c" +} + + +gboolean media_monitor_has_pending_updates (MediaMonitor* self) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 209 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 210 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->pending_updates; +#line 210 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 210 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp1_; +#line 210 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp2_ > 0; +#line 210 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1610 "MediaMonitor.c" +} + + +GeeCollection* media_monitor_get_monitorables (MediaMonitor* self) { + GeeCollection* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 214 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->pending_updates; +#line 214 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 214 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp1_; +#line 214 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 214 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1631 "MediaMonitor.c" +} + + +MonitorableUpdates* media_monitor_fetch_updates (MediaMonitor* self, Monitorable* monitorable) { + MonitorableUpdates* result = NULL; + MonitorableUpdates* updates = NULL; + GeeHashMap* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + MonitorableUpdates* _tmp3_ = NULL; + Monitorable* _tmp4_ = NULL; + MonitorableUpdates* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + Monitorable* _tmp7_ = NULL; + MonitorableUpdates* _tmp8_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 219 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 220 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->pending_updates; +#line 220 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = monitorable; +#line 220 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 220 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + updates = (MonitorableUpdates*) _tmp2_; +#line 221 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = updates; +#line 221 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp3_ != NULL) { +#line 222 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = updates; +#line 222 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1667 "MediaMonitor.c" + } +#line 224 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = monitorable; +#line 224 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = media_monitor_create_updates (self, _tmp4_); +#line 224 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 224 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + updates = _tmp5_; +#line 225 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp6_ = self->priv->pending_updates; +#line 225 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp7_ = monitorable; +#line 225 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp8_ = updates; +#line 225 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_, _tmp8_); +#line 227 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = updates; +#line 227 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1689 "MediaMonitor.c" +} + + +MonitorableUpdates* media_monitor_get_existing_updates (MediaMonitor* self, Monitorable* monitorable) { + MonitorableUpdates* result = NULL; + GeeHashMap* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 230 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 231 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->pending_updates; +#line 231 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = monitorable; +#line 231 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 231 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = (MonitorableUpdates*) _tmp2_; +#line 231 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1712 "MediaMonitor.c" +} + + +void media_monitor_remove_updates (MediaMonitor* self, Monitorable* monitorable) { + GeeHashMap* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 234 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 235 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->pending_updates; +#line 235 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = monitorable; +#line 235 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, NULL); +#line 1729 "MediaMonitor.c" +} + + +gboolean media_monitor_is_online (MediaMonitor* self, Monitorable* monitorable) { + gboolean result = FALSE; + MonitorableUpdates* updates = NULL; + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + MonitorableUpdates* _tmp3_ = NULL; +#line 238 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 238 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), FALSE); +#line 239 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 239 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_get_existing_updates (self, _tmp0_); +#line 239 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + updates = _tmp1_; +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = updates; +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp3_ != NULL) { +#line 1754 "MediaMonitor.c" + MonitorableUpdates* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = updates; +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = monitorable_updates_is_set_online (_tmp4_); +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp5_; +#line 1763 "MediaMonitor.c" + } else { + Monitorable* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp6_ = monitorable; +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp7_ = monitorable_is_offline (_tmp6_); +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = !_tmp7_; +#line 1773 "MediaMonitor.c" + } +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp2_; +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 241 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1781 "MediaMonitor.c" +} + + +gboolean media_monitor_is_offline (MediaMonitor* self, Monitorable* monitorable) { + gboolean result = FALSE; + MonitorableUpdates* updates = NULL; + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + MonitorableUpdates* _tmp3_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 244 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), FALSE); +#line 245 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 245 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_get_existing_updates (self, _tmp0_); +#line 245 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + updates = _tmp1_; +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = updates; +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp3_ != NULL) { +#line 1806 "MediaMonitor.c" + MonitorableUpdates* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = updates; +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = monitorable_updates_is_set_offline (_tmp4_); +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp5_; +#line 1815 "MediaMonitor.c" + } else { + Monitorable* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp6_ = monitorable; +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp7_ = monitorable_is_offline (_tmp6_); +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp7_; +#line 1825 "MediaMonitor.c" + } +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp2_; +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 247 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1833 "MediaMonitor.c" +} + + +GFile* media_monitor_get_master_file (MediaMonitor* self, Monitorable* monitorable) { + GFile* result = NULL; + MonitorableUpdates* updates = NULL; + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + MonitorableUpdates* _tmp4_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), NULL); +#line 250 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 251 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 251 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_get_existing_updates (self, _tmp0_); +#line 251 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + updates = _tmp1_; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = updates; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp4_ != NULL) { +#line 1859 "MediaMonitor.c" + MonitorableUpdates* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = updates; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp6_ = monitorable_updates_get_master_file (_tmp5_); +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp7_ = _tmp6_; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = _tmp7_ != NULL; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_tmp7_); +#line 1873 "MediaMonitor.c" + } else { +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = FALSE; +#line 1877 "MediaMonitor.c" + } +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp3_) { +#line 1881 "MediaMonitor.c" + MonitorableUpdates* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp8_ = updates; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp9_ = monitorable_updates_get_master_file (_tmp8_); +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp9_; +#line 1892 "MediaMonitor.c" + } else { + Monitorable* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp10_ = monitorable; +#line 254 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp11_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 254 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 254 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp11_; +#line 1904 "MediaMonitor.c" + } +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = _tmp2_; +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 253 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 1912 "MediaMonitor.c" +} + + +void media_monitor_update_master_file (MediaMonitor* self, Monitorable* monitorable, GFile* file) { + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + MonitorableUpdates* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 257 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 257 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 258 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 258 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (self, _tmp0_); +#line 258 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp1_; +#line 258 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = file; +#line 258 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_file (_tmp2_, _tmp3_); +#line 258 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 1939 "MediaMonitor.c" +} + + +void media_monitor_update_master_file_info_altered (MediaMonitor* self, Monitorable* monitorable) { + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + MonitorableUpdates* _tmp2_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 261 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 262 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 262 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (self, _tmp0_); +#line 262 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp1_; +#line 262 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_file_info_altered (_tmp2_, TRUE); +#line 262 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 1961 "MediaMonitor.c" +} + + +void media_monitor_update_master_file_in_alteration (MediaMonitor* self, Monitorable* monitorable, gboolean in_alteration) { + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + MonitorableUpdates* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 265 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 265 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 266 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 266 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (self, _tmp0_); +#line 266 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp1_; +#line 266 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = in_alteration; +#line 266 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_in_alteration (_tmp2_, _tmp3_); +#line 266 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 1986 "MediaMonitor.c" +} + + +void media_monitor_update_master_file_alterations_completed (MediaMonitor* self, Monitorable* monitorable, GFileInfo* info) { + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + MonitorableUpdates* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; +#line 269 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 269 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 269 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 270 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 270 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (self, _tmp0_); +#line 270 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp1_; +#line 270 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = info; +#line 270 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_alterations_complete (_tmp2_, _tmp3_); +#line 270 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 2013 "MediaMonitor.c" +} + + +void media_monitor_update_online (MediaMonitor* self, Monitorable* monitorable) { + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + MonitorableUpdates* _tmp2_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 273 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 274 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 274 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (self, _tmp0_); +#line 274 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp1_; +#line 274 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_mark_online (_tmp2_); +#line 274 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 2035 "MediaMonitor.c" +} + + +void media_monitor_update_offline (MediaMonitor* self, Monitorable* monitorable) { + Monitorable* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + MonitorableUpdates* _tmp2_ = NULL; +#line 277 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 277 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 278 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = monitorable; +#line 278 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (self, _tmp0_); +#line 278 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _tmp1_; +#line 278 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_mark_offline (_tmp2_); +#line 278 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 2057 "MediaMonitor.c" +} + + +static void media_monitor_real_process_updates (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error) { + GeeMap* set_master_file = NULL; + GeeMap* set_master_file_info = NULL; + GeeArrayList* to_offline = NULL; + GeeArrayList* to_online = NULL; + GeeMap* _tmp53_ = NULL; + GeeMap* _tmp63_ = NULL; + gboolean _tmp73_ = FALSE; + GeeArrayList* _tmp74_ = NULL; + GError * _inner_error_ = NULL; +#line 285 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (GEE_IS_COLLECTION (all_updates)); +#line 285 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 287 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + set_master_file = NULL; +#line 288 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + set_master_file_info = NULL; +#line 289 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + to_offline = NULL; +#line 290 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + to_online = NULL; +#line 2083 "MediaMonitor.c" + { + GeeIterator* _updates_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = all_updates; +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _updates_it = _tmp1_; +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + while (TRUE) { +#line 2096 "MediaMonitor.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + MonitorableUpdates* updates = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gint _tmp6_ = 0; + MonitorableUpdates* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + MonitorableUpdates* _tmp21_ = NULL; + GFileInfo* _tmp22_ = NULL; + GFileInfo* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + MonitorableUpdates* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + MonitorableUpdates* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = _updates_it; +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (!_tmp3_) { +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + break; +#line 2123 "MediaMonitor.c" + } +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = _updates_it; +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + updates = (MonitorableUpdates*) _tmp5_; +#line 293 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp6_ = *op_count; +#line 293 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp6_ >= MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE) { +#line 294 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 294 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + break; +#line 2139 "MediaMonitor.c" + } +#line 296 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp7_ = updates; +#line 296 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp8_ = monitorable_updates_get_master_file (_tmp7_); +#line 296 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp9_ = _tmp8_; +#line 296 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp10_ = _tmp9_ != NULL; +#line 296 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_tmp9_); +#line 296 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp10_) { +#line 2153 "MediaMonitor.c" + GeeMap* _tmp11_ = NULL; + GeeMap* _tmp13_ = NULL; + MonitorableUpdates* _tmp14_ = NULL; + Monitorable* _tmp15_ = NULL; + MonitorableUpdates* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + MonitorableUpdates* _tmp19_ = NULL; + gint _tmp20_ = 0; +#line 297 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp11_ = set_master_file; +#line 297 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp11_ == NULL) { +#line 2167 "MediaMonitor.c" + GeeHashMap* _tmp12_ = NULL; +#line 298 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp12_ = gee_hash_map_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 298 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file); +#line 298 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + set_master_file = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_MAP, GeeMap); +#line 2175 "MediaMonitor.c" + } +#line 300 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp13_ = set_master_file; +#line 300 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp14_ = updates; +#line 300 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp15_ = _tmp14_->monitorable; +#line 300 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp16_ = updates; +#line 300 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp17_ = monitorable_updates_get_master_file (_tmp16_); +#line 300 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp18_ = _tmp17_; +#line 300 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + gee_map_set (_tmp13_, _tmp15_, _tmp18_); +#line 300 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_tmp18_); +#line 301 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp19_ = updates; +#line 301 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_file (_tmp19_, NULL); +#line 302 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp20_ = *op_count; +#line 302 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + *op_count = _tmp20_ + 1; +#line 2201 "MediaMonitor.c" + } +#line 305 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp21_ = updates; +#line 305 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp22_ = monitorable_updates_get_master_file_info (_tmp21_); +#line 305 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp23_ = _tmp22_; +#line 305 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp24_ = _tmp23_ != NULL; +#line 305 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_tmp23_); +#line 305 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp24_) { +#line 2215 "MediaMonitor.c" + GeeMap* _tmp25_ = NULL; + GeeMap* _tmp27_ = NULL; + MonitorableUpdates* _tmp28_ = NULL; + Monitorable* _tmp29_ = NULL; + MonitorableUpdates* _tmp30_ = NULL; + GFileInfo* _tmp31_ = NULL; + GFileInfo* _tmp32_ = NULL; + MonitorableUpdates* _tmp33_ = NULL; + gint _tmp34_ = 0; +#line 306 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp25_ = set_master_file_info; +#line 306 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp25_ == NULL) { +#line 2229 "MediaMonitor.c" + GeeHashMap* _tmp26_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp26_ = gee_hash_map_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_file_info_get_type (), (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 307 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file_info); +#line 307 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + set_master_file_info = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_MAP, GeeMap); +#line 2237 "MediaMonitor.c" + } +#line 309 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp27_ = set_master_file_info; +#line 309 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp28_ = updates; +#line 309 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp29_ = _tmp28_->monitorable; +#line 309 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp30_ = updates; +#line 309 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp31_ = monitorable_updates_get_master_file_info (_tmp30_); +#line 309 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp32_ = _tmp31_; +#line 309 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + gee_map_set (_tmp27_, _tmp29_, _tmp32_); +#line 309 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_tmp32_); +#line 310 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp33_ = updates; +#line 310 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_set_master_file_info (_tmp33_, NULL); +#line 311 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp34_ = *op_count; +#line 311 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + *op_count = _tmp34_ + 1; +#line 2263 "MediaMonitor.c" + } +#line 314 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp35_ = updates; +#line 314 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp36_ = monitorable_updates_is_set_offline (_tmp35_); +#line 314 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp36_) { +#line 2271 "MediaMonitor.c" + GeeArrayList* _tmp37_ = NULL; + GeeArrayList* _tmp39_ = NULL; + MonitorableUpdates* _tmp40_ = NULL; + Monitorable* _tmp41_ = NULL; + MonitorableUpdates* _tmp42_ = NULL; + gint _tmp43_ = 0; +#line 315 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp37_ = to_offline; +#line 315 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp37_ == NULL) { +#line 2282 "MediaMonitor.c" + GeeArrayList* _tmp38_ = NULL; +#line 316 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp38_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 316 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_offline); +#line 316 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + to_offline = _tmp38_; +#line 2290 "MediaMonitor.c" + } +#line 318 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp39_ = to_offline; +#line 318 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp40_ = updates; +#line 318 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp41_ = _tmp40_->monitorable; +#line 318 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 319 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp42_ = updates; +#line 319 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_reset_online_offline (_tmp42_); +#line 320 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp43_ = *op_count; +#line 320 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + *op_count = _tmp43_ + 1; +#line 2308 "MediaMonitor.c" + } +#line 323 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp44_ = updates; +#line 323 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp45_ = monitorable_updates_is_set_online (_tmp44_); +#line 323 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp45_) { +#line 2316 "MediaMonitor.c" + GeeArrayList* _tmp46_ = NULL; + GeeArrayList* _tmp48_ = NULL; + MonitorableUpdates* _tmp49_ = NULL; + Monitorable* _tmp50_ = NULL; + MonitorableUpdates* _tmp51_ = NULL; + gint _tmp52_ = 0; +#line 324 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp46_ = to_online; +#line 324 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp46_ == NULL) { +#line 2327 "MediaMonitor.c" + GeeArrayList* _tmp47_ = NULL; +#line 325 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp47_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 325 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_online); +#line 325 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + to_online = _tmp47_; +#line 2335 "MediaMonitor.c" + } +#line 327 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp48_ = to_online; +#line 327 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp49_ = updates; +#line 327 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp50_ = _tmp49_->monitorable; +#line 327 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 328 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp51_ = updates; +#line 328 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_updates_reset_online_offline (_tmp51_); +#line 329 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp52_ = *op_count; +#line 329 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + *op_count = _tmp52_ + 1; +#line 2353 "MediaMonitor.c" + } +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 2357 "MediaMonitor.c" + } +#line 292 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_updates_it); +#line 2361 "MediaMonitor.c" + } +#line 333 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp53_ = set_master_file; +#line 333 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp53_ != NULL) { +#line 2367 "MediaMonitor.c" + GeeMap* _tmp54_ = NULL; + gint _tmp55_ = 0; + gint _tmp56_ = 0; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + GeeMap* _tmp61_ = NULL; + TransactionController* _tmp62_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp54_ = set_master_file; +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp55_ = gee_map_get_size (_tmp54_); +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp56_ = _tmp55_; +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp57_ = media_monitor_to_string (self); +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp58_ = _tmp57_; +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp59_ = g_strdup_printf ("Changing master file of %d objects in %s", _tmp56_, _tmp58_); +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp60_ = _tmp59_; +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_mdbg (_tmp60_); +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp60_); +#line 334 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp58_); +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp61_ = set_master_file; +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp62_ = controller; +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_set_many_master_file (_tmp61_, _tmp62_, &_inner_error_); +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_propagate_error (error, _inner_error_); +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_online); +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_offline); +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file_info); +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file); +#line 336 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return; +#line 2417 "MediaMonitor.c" + } + } +#line 339 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp63_ = set_master_file_info; +#line 339 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp63_ != NULL) { +#line 2424 "MediaMonitor.c" + GeeMap* _tmp64_ = NULL; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + GeeMap* _tmp71_ = NULL; + TransactionController* _tmp72_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp64_ = set_master_file_info; +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp65_ = gee_map_get_size (_tmp64_); +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp66_ = _tmp65_; +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp67_ = media_monitor_to_string (self); +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp68_ = _tmp67_; +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp69_ = g_strdup_printf ("Updating %d master files timestamps in %s", _tmp66_, _tmp68_); +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp70_ = _tmp69_; +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_mdbg (_tmp70_); +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp70_); +#line 340 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp68_); +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp71_ = set_master_file_info; +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp72_ = controller; +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_set_many_master_timestamp (_tmp71_, _tmp72_, &_inner_error_); +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_propagate_error (error, _inner_error_); +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_online); +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_offline); +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file_info); +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file); +#line 343 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return; +#line 2474 "MediaMonitor.c" + } + } +#line 346 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp74_ = to_offline; +#line 346 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp74_ != NULL) { +#line 346 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp73_ = TRUE; +#line 2483 "MediaMonitor.c" + } else { + GeeArrayList* _tmp75_ = NULL; +#line 346 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp75_ = to_online; +#line 346 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp73_ = _tmp75_ != NULL; +#line 2490 "MediaMonitor.c" + } +#line 346 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp73_) { +#line 2494 "MediaMonitor.c" + gint _tmp76_ = 0; + GeeArrayList* _tmp77_ = NULL; + gint _tmp81_ = 0; + GeeArrayList* _tmp82_ = NULL; + gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; + gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + GeeArrayList* _tmp90_ = NULL; + GeeArrayList* _tmp91_ = NULL; + TransactionController* _tmp92_ = NULL; +#line 348 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp77_ = to_online; +#line 348 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp77_ != NULL) { +#line 2510 "MediaMonitor.c" + GeeArrayList* _tmp78_ = NULL; + gint _tmp79_ = 0; + gint _tmp80_ = 0; +#line 348 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp78_ = to_online; +#line 348 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp79_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 348 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp80_ = _tmp79_; +#line 348 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp76_ = _tmp80_; +#line 2522 "MediaMonitor.c" + } else { +#line 348 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp76_ = 0; +#line 2526 "MediaMonitor.c" + } +#line 349 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp82_ = to_offline; +#line 349 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp82_ != NULL) { +#line 2532 "MediaMonitor.c" + GeeArrayList* _tmp83_ = NULL; + gint _tmp84_ = 0; + gint _tmp85_ = 0; +#line 349 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp83_ = to_offline; +#line 349 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp84_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 349 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp85_ = _tmp84_; +#line 349 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp81_ = _tmp85_; +#line 2544 "MediaMonitor.c" + } else { +#line 349 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp81_ = 0; +#line 2548 "MediaMonitor.c" + } +#line 347 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp86_ = media_monitor_to_string (self); +#line 347 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp87_ = _tmp86_; +#line 347 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp88_ = g_strdup_printf ("Marking %d online, %d offline in %s", _tmp76_, _tmp81_, _tmp87_); +#line 347 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp89_ = _tmp88_; +#line 347 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_mdbg (_tmp89_); +#line 347 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp89_); +#line 347 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp87_); +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp90_ = to_online; +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp91_ = to_offline; +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp92_ = controller; +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable_mark_many_online_offline (G_TYPE_CHECK_INSTANCE_CAST (_tmp90_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, GEE_TYPE_COLLECTION, GeeCollection), _tmp92_, &_inner_error_); +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_propagate_error (error, _inner_error_); +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_online); +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_offline); +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file_info); +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file); +#line 352 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return; +#line 2586 "MediaMonitor.c" + } + } +#line 285 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_online); +#line 285 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_offline); +#line 285 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file_info); +#line 285 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (set_master_file); +#line 2597 "MediaMonitor.c" +} + + +void media_monitor_process_updates (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error) { +#line 285 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_if_fail (IS_MEDIA_MONITOR (self)); +#line 285 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + MEDIA_MONITOR_GET_CLASS (self)->process_updates (self, all_updates, controller, op_count, error); +#line 2606 "MediaMonitor.c" +} + + +static gpointer _transaction_controller_ref0 (gpointer self) { +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return self ? transaction_controller_ref (self) : NULL; +#line 2613 "MediaMonitor.c" +} + + +static gboolean media_monitor_on_flush_pending_updates (MediaMonitor* self) { + gboolean result = FALSE; + GCancellable* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeHashMap* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GTimer* timer = NULL; + GTimer* _tmp5_ = NULL; + GeeArrayList* to_process = NULL; + GeeArrayList* to_remove = NULL; + gint op_count = 0; + GeeArrayList* _tmp29_ = NULL; + GeeArrayList* _tmp47_ = NULL; + gdouble elapsed = 0.0; + GTimer* _tmp60_ = NULL; + gdouble _tmp61_ = 0.0; + gboolean _tmp62_ = FALSE; + gdouble _tmp63_ = 0.0; + GError * _inner_error_ = NULL; +#line 356 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_return_val_if_fail (IS_MEDIA_MONITOR (self), FALSE); +#line 357 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->cancellable; +#line 357 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp1_ = g_cancellable_is_cancelled (_tmp0_); +#line 357 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp1_) { +#line 358 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = FALSE; +#line 358 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 2649 "MediaMonitor.c" + } +#line 360 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = self->priv->pending_updates; +#line 360 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp3_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 360 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp4_ = _tmp3_; +#line 360 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp4_ == 0) { +#line 361 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = TRUE; +#line 361 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 2663 "MediaMonitor.c" + } +#line 363 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp5_ = g_timer_new (); +#line 363 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + timer = _tmp5_; +#line 368 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + to_process = NULL; +#line 369 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + to_remove = NULL; +#line 2673 "MediaMonitor.c" + { + GeeIterator* _updates_it = NULL; + GeeHashMap* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp6_ = self->priv->pending_updates; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp7_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_MAP, GeeMap)); +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp8_ = _tmp7_; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp9_ = _tmp8_; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp11_ = _tmp10_; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_tmp9_); +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _updates_it = _tmp11_; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + while (TRUE) { +#line 2700 "MediaMonitor.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + MonitorableUpdates* updates = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + MonitorableUpdates* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + MonitorableUpdates* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + GeeArrayList* _tmp25_ = NULL; + GeeArrayList* _tmp27_ = NULL; + MonitorableUpdates* _tmp28_ = NULL; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp12_ = _updates_it; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (!_tmp13_) { +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + break; +#line 2721 "MediaMonitor.c" + } +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp14_ = _updates_it; +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + updates = (MonitorableUpdates*) _tmp15_; +#line 371 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp16_ = updates; +#line 371 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp17_ = monitorable_updates_is_in_alteration (_tmp16_); +#line 371 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp17_) { +#line 372 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 372 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + continue; +#line 2739 "MediaMonitor.c" + } +#line 374 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp18_ = updates; +#line 374 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp19_ = monitorable_updates_is_all_updated (_tmp18_); +#line 374 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp19_) { +#line 2747 "MediaMonitor.c" + GeeArrayList* _tmp20_ = NULL; + GeeArrayList* _tmp22_ = NULL; + MonitorableUpdates* _tmp23_ = NULL; + Monitorable* _tmp24_ = NULL; +#line 375 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp20_ = to_remove; +#line 375 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp20_ == NULL) { +#line 2756 "MediaMonitor.c" + GeeArrayList* _tmp21_ = NULL; +#line 376 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp21_ = gee_array_list_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 376 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_remove); +#line 376 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + to_remove = _tmp21_; +#line 2764 "MediaMonitor.c" + } +#line 378 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp22_ = to_remove; +#line 378 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp23_ = updates; +#line 378 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp24_ = _tmp23_->monitorable; +#line 378 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp24_); +#line 379 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 379 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + continue; +#line 2778 "MediaMonitor.c" + } +#line 382 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp25_ = to_process; +#line 382 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp25_ == NULL) { +#line 2784 "MediaMonitor.c" + GeeArrayList* _tmp26_ = NULL; +#line 383 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp26_ = gee_array_list_new (TYPE_MONITORABLE_UPDATES, (GBoxedCopyFunc) monitorable_updates_ref, monitorable_updates_unref, NULL, NULL, NULL); +#line 383 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_process); +#line 383 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + to_process = _tmp26_; +#line 2792 "MediaMonitor.c" + } +#line 385 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp27_ = to_process; +#line 385 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp28_ = updates; +#line 385 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp28_); +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 2802 "MediaMonitor.c" + } +#line 370 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_updates_it); +#line 2806 "MediaMonitor.c" + } +#line 388 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + op_count = 0; +#line 389 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp29_ = to_process; +#line 389 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp29_ != NULL) { +#line 2814 "MediaMonitor.c" + TransactionController* controller = NULL; + MediaSourceCollection* _tmp30_ = NULL; + MediaSourceCollection* _tmp31_ = NULL; + TransactionController* _tmp32_ = NULL; + TransactionController* _tmp33_ = NULL; + TransactionController* _tmp34_ = NULL; + TransactionController* _tmp35_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp30_ = media_monitor_get_media_source_collection (self); +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp31_ = _tmp30_; +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp32_ = media_source_collection_get_transaction_controller (_tmp31_); +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp33_ = _tmp32_; +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp34_ = _transaction_controller_ref0 (_tmp33_); +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp35_ = _tmp34_; +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _data_collection_unref0 (_tmp31_); +#line 390 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + controller = _tmp35_; +#line 2838 "MediaMonitor.c" + { + TransactionController* _tmp36_ = NULL; + GeeArrayList* _tmp37_ = NULL; + TransactionController* _tmp38_ = NULL; + TransactionController* _tmp39_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp36_ = controller; +#line 393 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + transaction_controller_begin (_tmp36_); +#line 394 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp37_ = to_process; +#line 394 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp38_ = controller; +#line 394 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_process_updates (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection), _tmp38_, &op_count, &_inner_error_); +#line 394 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2856 "MediaMonitor.c" + goto __catch571_g_error; + } +#line 395 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp39_ = controller; +#line 395 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + transaction_controller_commit (_tmp39_); +#line 2863 "MediaMonitor.c" + } + goto __finally571; + __catch571_g_error: + { + GError* err = NULL; + GError* _tmp40_ = NULL; +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + err = _inner_error_; +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _inner_error_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp40_ = err; +#line 397 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp40_->domain == DATABASE_ERROR) { +#line 2878 "MediaMonitor.c" + GError* _tmp41_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp41_ = err; +#line 398 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + app_window_database_error ((GError*) _tmp41_); +#line 2884 "MediaMonitor.c" + } else { + const gchar* _tmp42_ = NULL; + GError* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; +#line 400 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp42_ = _ ("Unable to process monitoring updates: %s"); +#line 400 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp43_ = err; +#line 400 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp44_ = _tmp43_->message; +#line 400 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp45_ = g_strdup_printf (_tmp42_, _tmp44_); +#line 400 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp46_ = _tmp45_; +#line 400 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + app_window_panic (_tmp46_); +#line 400 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp46_); +#line 2905 "MediaMonitor.c" + } +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_error_free0 (err); +#line 2909 "MediaMonitor.c" + } + __finally571: +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _transaction_controller_unref0 (controller); +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_remove); +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_process); +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_timer_destroy0 (timer); +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.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 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_clear_error (&_inner_error_); +#line 392 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return FALSE; +#line 2928 "MediaMonitor.c" + } +#line 389 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _transaction_controller_unref0 (controller); +#line 2932 "MediaMonitor.c" + } +#line 404 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp47_ = to_remove; +#line 404 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp47_ != NULL) { +#line 2938 "MediaMonitor.c" + { + GeeArrayList* _monitorable_list = NULL; + GeeArrayList* _tmp48_ = NULL; + GeeArrayList* _tmp49_ = NULL; + gint _monitorable_size = 0; + GeeArrayList* _tmp50_ = NULL; + gint _tmp51_ = 0; + gint _tmp52_ = 0; + gint _monitorable_index = 0; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp48_ = to_remove; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp49_ = _g_object_ref0 (_tmp48_); +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_list = _tmp49_; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp50_ = _monitorable_list; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp51_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp52_ = _tmp51_; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_size = _tmp52_; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_index = -1; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + while (TRUE) { +#line 2966 "MediaMonitor.c" + gint _tmp53_ = 0; + gint _tmp54_ = 0; + gint _tmp55_ = 0; + Monitorable* monitorable = NULL; + GeeArrayList* _tmp56_ = NULL; + gint _tmp57_ = 0; + gpointer _tmp58_ = NULL; + Monitorable* _tmp59_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp53_ = _monitorable_index; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _monitorable_index = _tmp53_ + 1; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp54_ = _monitorable_index; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp55_ = _monitorable_size; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (!(_tmp54_ < _tmp55_)) { +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + break; +#line 2987 "MediaMonitor.c" + } +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp56_ = _monitorable_list; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp57_ = _monitorable_index; +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp58_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp57_); +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + monitorable = (Monitorable*) _tmp58_; +#line 406 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp59_ = monitorable; +#line 406 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_remove_updates (self, _tmp59_); +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (monitorable); +#line 3003 "MediaMonitor.c" + } +#line 405 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (_monitorable_list); +#line 3007 "MediaMonitor.c" + } + } +#line 409 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp60_ = timer; +#line 409 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp61_ = g_timer_elapsed (_tmp60_, NULL); +#line 409 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + elapsed = _tmp61_; +#line 410 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp63_ = elapsed; +#line 410 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp63_ > 0.01) { +#line 410 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp62_ = TRUE; +#line 3022 "MediaMonitor.c" + } else { + gint _tmp64_ = 0; +#line 410 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp64_ = op_count; +#line 410 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp62_ = _tmp64_ > 0; +#line 3029 "MediaMonitor.c" + } +#line 410 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + if (_tmp62_) { +#line 3033 "MediaMonitor.c" + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gdouble _tmp67_ = 0.0; + gint _tmp68_ = 0; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp65_ = media_monitor_to_string (self); +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp66_ = _tmp65_; +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp67_ = elapsed; +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp68_ = op_count; +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp69_ = g_strdup_printf ("Total pending queue time for %s: %lf (%d ops)", _tmp66_, _tmp67_, _tmp68_); +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp70_ = _tmp69_; +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_mdbg (_tmp70_); +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp70_); +#line 411 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_free0 (_tmp66_); +#line 3058 "MediaMonitor.c" + } +#line 415 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + result = TRUE; +#line 415 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_remove); +#line 415 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (to_process); +#line 415 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_timer_destroy0 (timer); +#line 415 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + return result; +#line 3070 "MediaMonitor.c" +} + + +static void media_monitor_class_init (MediaMonitorClass * klass) { +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + media_monitor_parent_class = g_type_class_peek_parent (klass); +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_type_class_add_private (klass, sizeof (MediaMonitorPrivate)); +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->get_media_source_collection = media_monitor_real_get_media_source_collection; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->close = media_monitor_real_close; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->to_string = media_monitor_real_to_string; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->create_updates = media_monitor_real_create_updates; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->on_media_source_destroyed = media_monitor_real_on_media_source_destroyed; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_discovery_started = media_monitor_real_notify_discovery_started; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_discovered = media_monitor_real_notify_file_discovered; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->candidates_for_unknown_file = media_monitor_real_candidates_for_unknown_file; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->get_auxilliary_backing_files = media_monitor_real_get_auxilliary_backing_files; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->update_backing_file_info = media_monitor_real_update_backing_file_info; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_discovery_completing = media_monitor_real_notify_discovery_completing; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->is_file_represented = media_monitor_real_is_file_represented; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_created = media_monitor_real_notify_file_created; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_moved = media_monitor_real_notify_file_moved; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_altered = media_monitor_real_notify_file_altered; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_attributes_altered = media_monitor_real_notify_file_attributes_altered; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_alteration_completed = media_monitor_real_notify_file_alteration_completed; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_deleted = media_monitor_real_notify_file_deleted; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + ((MediaMonitorClass *) klass)->process_updates = media_monitor_real_process_updates; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + G_OBJECT_CLASS (klass)->finalize = media_monitor_finalize; +#line 3119 "MediaMonitor.c" +} + + +static void media_monitor_instance_init (MediaMonitor * self) { + GeeHashMap* _tmp0_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv = MEDIA_MONITOR_GET_PRIVATE (self); +#line 114 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = gee_hash_map_new (TYPE_MONITORABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_MONITORABLE_UPDATES, (GBoxedCopyFunc) monitorable_updates_ref, monitorable_updates_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 114 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->pending_updates = _tmp0_; +#line 116 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self->priv->pending_updates_timer_id = (guint) 0; +#line 3133 "MediaMonitor.c" +} + + +static void media_monitor_finalize (GObject* obj) { + MediaMonitor * self; + MediaSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + MediaSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_MONITOR, MediaMonitor); +#line 130 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp0_ = self->priv->sources; +#line 130 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); +#line 130 "/home/jens/Source/shotwell/src/MediaMonitor.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) _media_monitor_on_media_source_destroyed_source_collection_item_destroyed, self); +#line 131 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _tmp2_ = self->priv->sources; +#line 131 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + g_signal_parse_name ("unlinked-destroyed", TYPE_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); +#line 131 "/home/jens/Source/shotwell/src/MediaMonitor.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) _media_monitor_on_media_source_destroyed_source_collection_unlinked_destroyed, self); +#line 112 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _data_collection_unref0 (self->priv->sources); +#line 113 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->priv->cancellable); +#line 114 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + _g_object_unref0 (self->priv->pending_updates); +#line 101 "/home/jens/Source/shotwell/src/MediaMonitor.vala" + G_OBJECT_CLASS (media_monitor_parent_class)->finalize (obj); +#line 3165 "MediaMonitor.c" +} + + +GType media_monitor_get_type (void) { + static volatile gsize media_monitor_type_id__volatile = 0; + if (g_once_init_enter (&media_monitor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaMonitor), 0, (GInstanceInitFunc) media_monitor_instance_init, NULL }; + GType media_monitor_type_id; + media_monitor_type_id = g_type_register_static (G_TYPE_OBJECT, "MediaMonitor", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&media_monitor_type_id__volatile, media_monitor_type_id); + } + return media_monitor_type_id__volatile; +} + + + diff --git a/src/MediaPage.c b/src/MediaPage.c new file mode 100644 index 0000000..57e1c1f --- /dev/null +++ b/src/MediaPage.c @@ -0,0 +1,10742 @@ +/* MediaPage.c generated by valac 0.32.1, the Vala compiler + * generated from MediaPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataViewPrivate DataViewPrivate; + +#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_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; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; + +#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; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#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; +typedef struct _MediaSourceItemPrivate MediaSourceItemPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ()) + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#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; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY (media_page_zoom_slider_assembly_get_type ()) +#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssembly)) +#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssemblyClass)) +#define MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY)) +#define MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY)) +#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssemblyClass)) + +typedef struct _MediaPageZoomSliderAssembly MediaPageZoomSliderAssembly; +typedef struct _MediaPageZoomSliderAssemblyClass MediaPageZoomSliderAssemblyClass; + +#define TYPE_DRAG_AND_DROP_HANDLER (drag_and_drop_handler_get_type ()) +#define DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandler)) +#define DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass)) +#define IS_DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DRAG_AND_DROP_HANDLER)) +#define IS_DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DRAG_AND_DROP_HANDLER)) +#define DRAG_AND_DROP_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass)) + +typedef struct _DragAndDropHandler DragAndDropHandler; +typedef struct _DragAndDropHandlerClass DragAndDropHandlerClass; + +#define TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ()) +#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker)) +#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) +#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER)) +#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER)) +#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) + +typedef struct _MediaViewTracker MediaViewTracker; +typedef struct _MediaViewTrackerClass MediaViewTrackerClass; + +#define MEDIA_PAGE_TYPE_SORT_BY (media_page_sort_by_get_type ()) +#define _drag_and_drop_handler_unref0(var) ((var == NULL) ? NULL : (var = (drag_and_drop_handler_unref (var), NULL))) +#define _core_tracker_unref0(var) ((var == NULL) ? NULL : (var = (core_tracker_unref (var), NULL))) + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define 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_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_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_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_RATING_FILTER (rating_filter_get_type ()) +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) + +#define TYPE_TEXT_ENTRY_DIALOG_MEDIATOR (text_entry_dialog_mediator_get_type ()) +#define TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) + +typedef struct _TextEntryDialogMediator TextEntryDialogMediator; +typedef struct _TextEntryDialogMediatorClass TextEntryDialogMediatorClass; + +#define TYPE_TAGS_DIALOG (tags_dialog_get_type ()) +#define TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAGS_DIALOG, TagsDialog)) +#define TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAGS_DIALOG, TagsDialogClass)) +#define IS_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAGS_DIALOG)) +#define IS_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAGS_DIALOG)) +#define TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAGS_DIALOG, TagsDialogClass)) + +typedef struct _TagsDialog TagsDialog; +typedef struct _TagsDialogClass TagsDialogClass; + +#define TYPE_ADD_TAGS_DIALOG (add_tags_dialog_get_type ()) +#define ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialog)) +#define ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass)) +#define IS_ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_DIALOG)) +#define IS_ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_DIALOG)) +#define ADD_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass)) + +typedef struct _AddTagsDialog AddTagsDialog; +typedef struct _AddTagsDialogClass AddTagsDialogClass; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_ADD_TAGS_COMMAND (add_tags_command_get_type ()) +#define ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommand)) +#define ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass)) +#define IS_ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_COMMAND)) +#define IS_ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_COMMAND)) +#define ADD_TAGS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass)) + +typedef struct _AddTagsCommand AddTagsCommand; +typedef struct _AddTagsCommandClass AddTagsCommandClass; +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) +#define _text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (text_entry_dialog_mediator_unref (var), NULL))) + +#define TYPE_MODIFY_TAGS_DIALOG (modify_tags_dialog_get_type ()) +#define MODIFY_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialog)) +#define MODIFY_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialogClass)) +#define IS_MODIFY_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MODIFY_TAGS_DIALOG)) +#define IS_MODIFY_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MODIFY_TAGS_DIALOG)) +#define MODIFY_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialogClass)) + +typedef struct _ModifyTagsDialog ModifyTagsDialog; +typedef struct _ModifyTagsDialogClass ModifyTagsDialogClass; + +#define TYPE_TAG (tag_get_type ()) +#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag)) +#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass)) +#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG)) +#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG)) +#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass)) + +typedef struct _Tag Tag; +typedef struct _TagClass TagClass; + +#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ()) +#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)) +#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) +#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) + +typedef struct _SingleDataSourceCommand SingleDataSourceCommand; +typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass; + +#define TYPE_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; + +#define TYPE_MOVE_PHOTOS_COMMAND (move_photos_command_get_type ()) +#define MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)) +#define MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass)) +#define IS_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOVE_PHOTOS_COMMAND)) +#define IS_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOVE_PHOTOS_COMMAND)) +#define MOVE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass)) + +typedef struct _MovePhotosCommand MovePhotosCommand; +typedef struct _MovePhotosCommandClass MovePhotosCommandClass; + +#define TYPE_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; + +#define TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (multiple_data_source_at_once_command_get_type ()) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand)) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass)) +#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND)) +#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND)) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass)) + +typedef struct _MultipleDataSourceAtOnceCommand MultipleDataSourceAtOnceCommand; +typedef struct _MultipleDataSourceAtOnceCommandClass MultipleDataSourceAtOnceCommandClass; + +#define TYPE_FLAG_UNFLAG_COMMAND (flag_unflag_command_get_type ()) +#define FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand)) +#define FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass)) +#define IS_FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAG_UNFLAG_COMMAND)) +#define IS_FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAG_UNFLAG_COMMAND)) +#define FLAG_UNFLAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass)) + +typedef struct _FlagUnflagCommand FlagUnflagCommand; +typedef struct _FlagUnflagCommandClass FlagUnflagCommandClass; + +#define TYPE_MULTIPLE_DATA_SOURCE_COMMAND (multiple_data_source_command_get_type ()) +#define MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)) +#define MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass)) +#define IS_MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND)) +#define IS_MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND)) +#define MULTIPLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass)) + +typedef struct _MultipleDataSourceCommand MultipleDataSourceCommand; +typedef struct _MultipleDataSourceCommandClass MultipleDataSourceCommandClass; + +#define TYPE_SET_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; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_TRASH_UNTRASH_PHOTOS_COMMAND (trash_untrash_photos_command_get_type ()) +#define TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand)) +#define TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass)) +#define IS_TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND)) +#define IS_TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND)) +#define TRASH_UNTRASH_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass)) + +typedef struct _TrashUntrashPhotosCommand TrashUntrashPhotosCommand; +typedef struct _TrashUntrashPhotosCommandClass TrashUntrashPhotosCommandClass; + +#define TYPE_EDIT_TITLE_DIALOG (edit_title_dialog_get_type ()) +#define EDIT_TITLE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_TITLE_DIALOG, EditTitleDialog)) +#define EDIT_TITLE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_TITLE_DIALOG, EditTitleDialogClass)) +#define IS_EDIT_TITLE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_TITLE_DIALOG)) +#define IS_EDIT_TITLE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_TITLE_DIALOG)) +#define EDIT_TITLE_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_TITLE_DIALOG, EditTitleDialogClass)) + +typedef struct _EditTitleDialog EditTitleDialog; +typedef struct _EditTitleDialogClass EditTitleDialogClass; + +#define 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; + +#define TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (multi_text_entry_dialog_mediator_get_type ()) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) + +typedef struct _MultiTextEntryDialogMediator MultiTextEntryDialogMediator; +typedef struct _MultiTextEntryDialogMediatorClass MultiTextEntryDialogMediatorClass; + +#define TYPE_EDIT_COMMENT_DIALOG (edit_comment_dialog_get_type ()) +#define EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialog)) +#define EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) +#define IS_EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_DIALOG)) +#define IS_EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_DIALOG)) +#define EDIT_COMMENT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) + +typedef struct _EditCommentDialog EditCommentDialog; +typedef struct _EditCommentDialogClass EditCommentDialogClass; + +#define 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; +#define _multi_text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (multi_text_entry_dialog_mediator_unref (var), NULL))) + +#define TYPE_SET_RAW_DEVELOPER_COMMAND (set_raw_developer_command_get_type ()) +#define SET_RAW_DEVELOPER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand)) +#define SET_RAW_DEVELOPER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandClass)) +#define IS_SET_RAW_DEVELOPER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND)) +#define IS_SET_RAW_DEVELOPER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_RAW_DEVELOPER_COMMAND)) +#define SET_RAW_DEVELOPER_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandClass)) + +typedef struct _SetRawDeveloperCommand SetRawDeveloperCommand; +typedef struct _SetRawDeveloperCommandClass SetRawDeveloperCommandClass; + +#define TYPE_CHECKERBOARD_LAYOUT (checkerboard_layout_get_type ()) +#define CHECKERBOARD_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout)) +#define CHECKERBOARD_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutClass)) +#define IS_CHECKERBOARD_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_LAYOUT)) +#define IS_CHECKERBOARD_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_LAYOUT)) +#define CHECKERBOARD_LAYOUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutClass)) + +typedef struct _CheckerboardLayout CheckerboardLayout; +typedef struct _CheckerboardLayoutClass CheckerboardLayoutClass; +typedef struct _MediaPageZoomSliderAssemblyPrivate MediaPageZoomSliderAssemblyPrivate; +#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 _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +struct _MediaSourceItem { + CheckerboardItem parent_instance; + MediaSourceItemPrivate * priv; +}; + +struct _MediaSourceItemClass { + CheckerboardItemClass parent_class; +}; + +struct _MediaSourceItemPrivate { + gboolean enable_sprockets; + gchar* natural_collation_key; +}; + +typedef enum { + THUMBNAIL_CACHE_SIZE_LARGEST = 360, + THUMBNAIL_CACHE_SIZE_BIG = 360, + THUMBNAIL_CACHE_SIZE_MEDIUM = 128, + THUMBNAIL_CACHE_SIZE_SMALLEST = 128 +} ThumbnailCacheSize; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _MediaPagePrivate { + MediaPageZoomSliderAssembly* connected_slider; + DragAndDropHandler* dnd_handler; + MediaViewTracker* tracker; +}; + +typedef enum { + MEDIA_PAGE_SORT_BY_MIN = 1, + MEDIA_PAGE_SORT_BY_TITLE = 1, + MEDIA_PAGE_SORT_BY_EXPOSURE_DATE = 2, + MEDIA_PAGE_SORT_BY_RATING = 3, + MEDIA_PAGE_SORT_BY_FILENAME = 4, + MEDIA_PAGE_SORT_BY_MAX = 4 +} MediaPageSortBy; + +typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, void* user_data); +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 _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +typedef enum { + RATING_FILTER_NO_FILTER = 0, + RATING_FILTER_REJECTED_OR_HIGHER = 1, + RATING_FILTER_UNRATED_OR_HIGHER = 2, + RATING_FILTER_ONE_OR_HIGHER = 3, + RATING_FILTER_TWO_OR_HIGHER = 4, + RATING_FILTER_THREE_OR_HIGHER = 5, + RATING_FILTER_FOUR_OR_HIGHER = 6, + RATING_FILTER_FIVE_OR_HIGHER = 7, + RATING_FILTER_REJECTED_ONLY = 8, + RATING_FILTER_UNRATED_ONLY = 9, + RATING_FILTER_ONE_ONLY = 10, + RATING_FILTER_TWO_ONLY = 11, + RATING_FILTER_THREE_ONLY = 12, + RATING_FILTER_FOUR_ONLY = 13, + RATING_FILTER_FIVE_ONLY = 14 +} RatingFilter; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +struct _MediaPageZoomSliderAssembly { + GtkToolItem parent_instance; + MediaPageZoomSliderAssemblyPrivate * priv; +}; + +struct _MediaPageZoomSliderAssemblyClass { + GtkToolItemClass parent_class; +}; + +struct _MediaPageZoomSliderAssemblyPrivate { + GtkScale* slider; + GtkAdjustment* adjustment; +}; + + +static gpointer media_source_item_parent_class = NULL; +static GdkPixbuf* media_source_item_basis_sprocket_pixbuf; +static GdkPixbuf* media_source_item_basis_sprocket_pixbuf = NULL; +static GdkPixbuf* media_source_item_current_sprocket_pixbuf; +static GdkPixbuf* media_source_item_current_sprocket_pixbuf = NULL; +static gpointer media_page_parent_class = NULL; +static gpointer media_page_zoom_slider_assembly_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_view_get_type (void) G_GNUC_CONST; +GType data_source_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 dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType media_source_item_get_type (void) G_GNUC_CONST; +#define MEDIA_SOURCE_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemPrivate)) +enum { + MEDIA_SOURCE_ITEM_DUMMY_PROPERTY +}; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +MediaSourceItem* media_source_item_new (ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +MediaSourceItem* media_source_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +CheckerboardItem* checkerboard_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +GdkPixbuf* resources_load_icon (const gchar* name, gint scale); +static void media_source_item_real_paint_image (CheckerboardItem* base, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +void checkerboard_item_set_horizontal_trinket_offset (CheckerboardItem* self, gint horizontal_trinket_offset); +gint dimensions_major_axis (Dimensions *self); +GType thumbnail_cache_size_get_type (void) G_GNUC_CONST; +void checkerboard_item_paint_image (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); +void media_source_item_paint_sprockets (MediaSourceItem* self, cairo_t* ctx, GdkPoint* item_origin, Dimensions* item_dimensions); +void media_source_item_paint_one_sprocket (MediaSourceItem* self, cairo_t* ctx, GdkPoint* origin); +void media_source_item_set_enable_sprockets (MediaSourceItem* self, gboolean enable_sprockets); +void media_source_item_set_title (MediaSourceItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +void checkerboard_item_set_title (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +gchar* media_source_item_get_natural_collation_key (MediaSourceItem* self); +gchar* natural_collate_collate_key (gchar* str); +gchar* checkerboard_item_get_title (CheckerboardItem* self); +static void media_source_item_finalize (GObject* obj); +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +GType media_page_zoom_slider_assembly_get_type (void) G_GNUC_CONST; +gpointer drag_and_drop_handler_ref (gpointer instance); +void drag_and_drop_handler_unref (gpointer instance); +GParamSpec* param_spec_drag_and_drop_handler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_drag_and_drop_handler (GValue* value, gpointer v_object); +void value_take_drag_and_drop_handler (GValue* value, gpointer v_object); +gpointer value_get_drag_and_drop_handler (const GValue* value); +GType drag_and_drop_handler_get_type (void) G_GNUC_CONST; +GType media_view_tracker_get_type (void) G_GNUC_CONST; +#define MEDIA_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MEDIA_PAGE, MediaPagePrivate)) +enum { + MEDIA_PAGE_DUMMY_PROPERTY +}; +GType media_page_sort_by_get_type (void) G_GNUC_CONST; +#define MEDIA_PAGE_SORT_ORDER_ASCENDING 0 +#define MEDIA_PAGE_SORT_ORDER_DESCENDING 1 +#define MEDIA_PAGE_MANUAL_STEPPING 16 +#define MEDIA_PAGE_SLIDER_STEPPING 4 +MediaPage* media_page_construct (GType object_type, const gchar* page_name); +CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +MediaViewTracker* media_view_tracker_new (ViewCollection* collection); +MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection); +static void media_page_on_media_altered (MediaPage* self, GeeMap* altered); +static void _media_page_on_media_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +void data_collection_freeze_notifications (DataCollection* self); +void data_collection_set_property (DataCollection* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target); +#define CHECKERBOARD_ITEM_PROP_SHOW_TITLES "show-titles" +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_display_photo_titles (ConfigurationFacade* self); +#define CHECKERBOARD_ITEM_PROP_SHOW_COMMENTS "show-comments" +gboolean configuration_facade_get_display_photo_comments (ConfigurationFacade* self); +#define CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES "show-subtitles" +#define THUMBNAIL_PROP_SHOW_TAGS CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES +gboolean configuration_facade_get_display_photo_tags (ConfigurationFacade* self); +#define THUMBNAIL_PROP_SIZE "thumbnail-size" +gint media_page_get_thumb_size (MediaPage* self); +#define THUMBNAIL_PROP_SHOW_RATINGS "show-ratings" +gboolean configuration_facade_get_display_photo_ratings (ConfigurationFacade* self); +void data_collection_thaw_notifications (DataCollection* self); +DragAndDropHandler* drag_and_drop_handler_new (Page* page); +DragAndDropHandler* drag_and_drop_handler_construct (GType object_type, Page* page); +static gint media_page_compute_zoom_scale_increase (gint current_scale); +gint thumbnail_get_MIN_SCALE (void); +gint thumbnail_get_MAX_SCALE (void); +static gint media_page_compute_zoom_scale_decrease (gint current_scale); +static void media_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* media_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define RESOURCES_SAVE_AS_LABEL _ ("Save _As") +#define TRANSLATABLE "translatable" +void media_page_on_export (MediaPage* self); +static void _media_page_on_export_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EXPORT_MENU _ ("_Export...") +static void _vala_array_add297 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void media_page_on_send_to (MediaPage* self); +static void _media_page_on_send_to_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_SEND_TO_MENU _ ("Send _To...") +static void _vala_array_add298 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_SEND_TO_CONTEXT_MENU _ ("Send T_o...") +static void _vala_array_add299 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_REMOVE_LABEL _ ("_Remove") +static void media_page_on_remove_from_library (MediaPage* self); +static void _media_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_REMOVE_FROM_LIBRARY_MENU _ ("R_emove From Library") +static void _vala_array_add300 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_move_to_trash (MediaPage* self); +static void _media_page_on_move_to_trash_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_MOVE_TO_TRASH_MENU _ ("_Move to Trash") +static void _vala_array_add301 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_NEW_LABEL _ ("_New") +static void media_page_on_new_event (MediaPage* self); +static void _media_page_on_new_event_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_NEW_EVENT_MENU _ ("_New Event") +static void _vala_array_add302 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void media_page_on_add_tags (MediaPage* self); +static void _media_page_on_add_tags_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ADD_TAGS_MENU _ ("Add _Tags...") +static void _vala_array_add303 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ADD_TAGS_CONTEXT_MENU _ ("_Add Tags...") +static void _vala_array_add304 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void media_page_on_modify_tags (MediaPage* self); +static void _media_page_on_modify_tags_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_MODIFY_TAGS_MENU _ ("Modif_y Tags...") +static void _vala_array_add305 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_IN_LABEL _ ("Zoom _In") +void media_page_on_increase_size (MediaPage* self); +static void _media_page_on_increase_size_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add306 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_OUT_LABEL _ ("Zoom _Out") +void media_page_on_decrease_size (MediaPage* self); +static void _media_page_on_decrease_size_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add307 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void media_page_on_flag_unflag (MediaPage* self); +static void _media_page_on_flag_unflag_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_FLAG_MENU _ ("_Flag") +static void _vala_array_add308 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_RATING_MENU _ ("_Set Rating") +static void _vala_array_add309 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_increase_rating (MediaPage* self); +static void _media_page_on_increase_rating_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_INCREASE_RATING_MENU _ ("_Increase") +static void _vala_array_add310 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_decrease_rating (MediaPage* self); +static void _media_page_on_decrease_rating_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_DECREASE_RATING_MENU _ ("_Decrease") +static void _vala_array_add311 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_rate_rejected (MediaPage* self); +static void _media_page_on_rate_rejected_gtk_action_callback (GtkAction* action, gpointer self); +const gchar* resources_rating_menu (Rating rating); +static void _vala_array_add312 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_rate_unrated (MediaPage* self); +static void _media_page_on_rate_unrated_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add313 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_rate_one (MediaPage* self); +static void _media_page_on_rate_one_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add314 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_rate_two (MediaPage* self); +static void _media_page_on_rate_two_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add315 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_rate_three (MediaPage* self); +static void _media_page_on_rate_three_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add316 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_rate_four (MediaPage* self); +static void _media_page_on_rate_four_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add317 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_rate_five (MediaPage* self); +static void _media_page_on_rate_five_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add318 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_edit_title (MediaPage* self); +static void _media_page_on_edit_title_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EDIT_TITLE_MENU _ ("Edit _Title...") +static void _vala_array_add319 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_edit_comment (MediaPage* self); +static void _media_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EDIT_COMMENT_MENU _ ("Edit _Comment...") +static void _vala_array_add320 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add321 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_FILTER_PHOTOS_MENU _ ("_Filter Photos") +static void _vala_array_add322 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_PLAY_LABEL _ ("_Play") +void media_page_on_play_video (MediaPage* self); +static void _media_page_on_play_video_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add323 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add324 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_raw_developer_shotwell (MediaPage* self, GtkAction* action); +static void _media_page_on_raw_developer_shotwell_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add325 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void media_page_on_raw_developer_camera (MediaPage* self, GtkAction* action); +static void _media_page_on_raw_developer_camera_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add326 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static GtkToggleActionEntry* media_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1); +GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self, int* result_length1); +void media_page_on_display_titles (MediaPage* self, GtkAction* action); +static void _media_page_on_display_titles_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add327 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +void media_page_on_display_comments (MediaPage* self, GtkAction* action); +static void _media_page_on_display_comments_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add328 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +void media_page_on_display_ratings (MediaPage* self, GtkAction* action); +static void _media_page_on_display_ratings_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_VIEW_RATINGS_MENU _ ("_Ratings") +#define RESOURCES_VIEW_RATINGS_TOOLTIP _ ("Display each photo's rating") +static void _vala_array_add329 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +void media_page_on_display_tags (MediaPage* self, GtkAction* action); +static void _media_page_on_display_tags_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add330 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void media_page_real_register_radio_actions (Page* base, GtkActionGroup* action_group); +void media_page_get_config_photos_sort (MediaPage* self, gboolean* sort_order, gint* sort_by); +static void _vala_array_add331 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add332 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add333 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add334 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +void media_page_on_sort_changed (MediaPage* self); +static void _media_page_on_sort_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self); +#define RESOURCES_SORT_ASCENDING_LABEL _ ("Sort _Ascending") +static void _vala_array_add335 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +#define RESOURCES_SORT_DESCENDING_LABEL _ ("Sort _Descending") +static void _vala_array_add336 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +void page_register_radio_actions (Page* self, GtkActionGroup* action_group); +static void media_page_real_update_actions (Page* base, gint selected_count, gint count); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +gboolean desktop_integration_is_send_to_installed (void); +void page_set_action_visible (Page* self, const gchar* name, gboolean visible); +static void media_page_update_rating_sensitivities (MediaPage* self); +static void media_page_update_development_menu_item_sensitivity (MediaPage* self); +DataSource* view_collection_get_selected_source_at (ViewCollection* self, gint index); +GType media_source_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +static void media_page_update_flag_action (MediaPage* self, gint selected_count); +void page_update_actions (Page* self, gint selected_count, gint count); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +gint view_collection_get_selected_count (ViewCollection* self); +static gboolean media_page_can_rate_selected (MediaPage* self, Rating rating); +static gboolean media_page_can_increase_selected_rating (MediaPage* self); +static gboolean media_page_can_decrease_selected_rating (MediaPage* self); +GeeList* view_collection_get_selected (ViewCollection* self); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType thumbnail_get_type (void) G_GNUC_CONST; +MediaSource* thumbnail_get_media_source (Thumbnail* self); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_master_file_format (Photo* self); +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +GeeList* view_collection_get_selected_sources (ViewCollection* self); +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +#define RESOURCES_UNFLAG_MENU _ ("Un_flag") +GtkAction* page_get_action (Page* self, const gchar* name); +static CoreViewTracker* media_page_real_get_view_tracker (CheckerboardPage* base); +void media_page_set_display_ratings (MediaPage* self, gboolean display); +Rating media_source_get_rating (MediaSource* self); +gboolean rating_can_increase (Rating self); +gboolean rating_can_decrease (Rating self); +MediaPageZoomSliderAssembly* media_page_create_zoom_slider_assembly (MediaPage* self); +MediaPageZoomSliderAssembly* media_page_zoom_slider_assembly_new (void); +MediaPageZoomSliderAssembly* media_page_zoom_slider_assembly_construct (GType object_type); +static gboolean media_page_real_on_mousewheel_up (Page* base, GdkEventScroll* event); +void media_page_increase_zoom_level (MediaPage* self); +gboolean page_on_mousewheel_up (Page* self, GdkEventScroll* event); +static gboolean media_page_real_on_mousewheel_down (Page* base, GdkEventScroll* event); +void media_page_decrease_zoom_level (MediaPage* self); +gboolean page_on_mousewheel_down (Page* self, GdkEventScroll* event); +void desktop_integration_send_to (GeeCollection* media); +DataView* view_collection_get_selected_at (ViewCollection* self, gint index); +DataSource* data_view_get_source (DataView* self); +GFile* media_source_get_file (MediaSource* self); +void app_window_error_message (const gchar* message, GtkWindow* parent); +static gboolean media_page_real_on_app_key_pressed (Page* base, GdkEventKey* event); +void page_activate_action (Page* self, const gchar* name); +gboolean page_get_ctrl_pressed (Page* self); +SearchViewFilter* checkerboard_page_get_search_view_filter (CheckerboardPage* self); +GType rating_filter_get_type (void) G_GNUC_CONST; +void search_view_filter_set_rating_filter (SearchViewFilter* self, RatingFilter rf); +gboolean page_on_app_key_pressed (Page* self, GdkEventKey* event); +static void media_page_real_switched_to (Page* base); +void page_switched_to (Page* self); +void checkerboard_page_set_display_titles (CheckerboardPage* self, gboolean display); +void checkerboard_page_set_display_comments (CheckerboardPage* self, gboolean display); +static void media_page_set_display_tags (MediaPage* self, gboolean display); +void checkerboard_page_cursor_to_item (CheckerboardPage* self, CheckerboardItem* item); +void media_page_sync_sort (MediaPage* self); +static void media_page_real_switching_from (Page* base); +void media_page_disconnect_slider (MediaPage* self); +void page_switching_from (Page* self); +void media_page_connect_slider (MediaPage* self, MediaPageZoomSliderAssembly* slider); +void media_page_on_zoom_changed (MediaPage* self); +static void _media_page_on_zoom_changed_media_page_zoom_slider_assembly_zoom_changed (MediaPageZoomSliderAssembly* _sender, gpointer self); +static void media_page_load_persistent_thumbnail_scale (MediaPage* self); +static void media_page_save_persistent_thumbnail_scale (MediaPage* self); +void configuration_facade_set_photo_thumbnail_scale (ConfigurationFacade* self, gint scale); +gint media_page_zoom_slider_assembly_get_scale (MediaPageZoomSliderAssembly* self); +gint configuration_facade_get_photo_thumbnail_scale (ConfigurationFacade* self); +void media_page_zoom_slider_assembly_set_scale (MediaPageZoomSliderAssembly* self, gint scale); +void media_page_set_thumb_size (MediaPage* self, gint new_scale); +static void media_page_real_on_zoom_changed (MediaPage* self); +static void media_page_real_on_export (MediaPage* self); +static void media_page_real_on_increase_size (MediaPage* self); +static void media_page_real_on_decrease_size (MediaPage* self); +gpointer text_entry_dialog_mediator_ref (gpointer instance); +void text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_text_entry_dialog_mediator (const GValue* value); +GType text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType tags_dialog_get_type (void) G_GNUC_CONST; +GType add_tags_dialog_get_type (void) G_GNUC_CONST; +AddTagsDialog* add_tags_dialog_new (void); +AddTagsDialog* add_tags_dialog_construct (GType object_type); +gchar** add_tags_dialog_execute (AddTagsDialog* self, int* result_length1); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void); +gchar** hierarchical_tag_index_get_paths_for_names_array (HierarchicalTagIndex* self, gchar** names, int names_length1, int* result_length1); +AddTagsCommand* add_tags_command_new (gchar** paths, int paths_length1, GeeCollection* sources); +AddTagsCommand* add_tags_command_construct (GType object_type, gchar** paths, int paths_length1, GeeCollection* sources); +GType page_command_get_type (void) G_GNUC_CONST; +GType add_tags_command_get_type (void) G_GNUC_CONST; +GType modify_tags_dialog_get_type (void) G_GNUC_CONST; +ModifyTagsDialog* modify_tags_dialog_new (MediaSource* source); +ModifyTagsDialog* modify_tags_dialog_construct (GType object_type, MediaSource* source); +GType tag_get_type (void) G_GNUC_CONST; +GeeArrayList* modify_tags_dialog_execute (ModifyTagsDialog* self); +ModifyTagsCommand* modify_tags_command_new (MediaSource* media, GeeCollection* new_tag_list); +ModifyTagsCommand* modify_tags_command_construct (GType object_type, MediaSource* media, GeeCollection* new_tag_list); +GType single_data_source_command_get_type (void) G_GNUC_CONST; +GType modify_tags_command_get_type (void) G_GNUC_CONST; +NewEventCommand* new_event_command_new (GeeIterable* iter); +NewEventCommand* new_event_command_construct (GType object_type, GeeIterable* iter); +GType move_photos_command_get_type (void) G_GNUC_CONST; +GType new_event_command_get_type (void) G_GNUC_CONST; +GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t); +FlagUnflagCommand* flag_unflag_command_new (GeeCollection* sources, gboolean flag); +FlagUnflagCommand* flag_unflag_command_construct (GType object_type, GeeCollection* sources, gboolean flag); +GType multiple_data_source_at_once_command_get_type (void) G_GNUC_CONST; +GType flag_unflag_command_get_type (void) G_GNUC_CONST; +static void media_page_real_on_increase_rating (MediaPage* self); +GType multiple_data_source_command_get_type (void) G_GNUC_CONST; +GType set_rating_command_get_type (void) G_GNUC_CONST; +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 media_page_real_on_decrease_rating (MediaPage* self); +void media_page_on_set_rating (MediaPage* self, Rating rating); +static void media_page_real_on_set_rating (MediaPage* self, Rating rating); +SetRatingCommand* set_rating_command_new (GeeIterable* iter, Rating rating); +SetRatingCommand* set_rating_command_construct (GType object_type, GeeIterable* iter, Rating rating); +static void media_page_real_on_rate_rejected (MediaPage* self); +static void media_page_real_on_rate_unrated (MediaPage* self); +static void media_page_real_on_rate_one (MediaPage* self); +static void media_page_real_on_rate_two (MediaPage* self); +static void media_page_real_on_rate_three (MediaPage* self); +static void media_page_real_on_rate_four (MediaPage* self); +static void media_page_real_on_rate_five (MediaPage* self); +GType library_photo_get_type (void) G_GNUC_CONST; +void remove_photos_from_library (GeeCollection* photos); +static void media_page_real_on_move_to_trash (MediaPage* self); +DataView* view_collection_get_next (ViewCollection* self, DataView* view); +TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources, gboolean to_trash); +TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash); +GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST; +gboolean data_collection_contains (DataCollection* self, DataObject* object); +void checkerboard_page_set_cursor (CheckerboardPage* self, CheckerboardItem* item); +static void media_page_real_on_edit_title (MediaPage* self); +GType edit_title_dialog_get_type (void) G_GNUC_CONST; +gchar* media_source_get_title (MediaSource* self); +EditTitleDialog* edit_title_dialog_new (const gchar* photo_title); +EditTitleDialog* edit_title_dialog_construct (GType object_type, const gchar* photo_title); +gchar* edit_title_dialog_execute (EditTitleDialog* self); +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); +GType edit_multiple_titles_command_get_type (void) G_GNUC_CONST; +static void media_page_real_on_edit_comment (MediaPage* self); +gpointer multi_text_entry_dialog_mediator_ref (gpointer instance); +void multi_text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_multi_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_multi_text_entry_dialog_mediator (const GValue* value); +GType multi_text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType edit_comment_dialog_get_type (void) G_GNUC_CONST; +gchar* media_source_get_comment (MediaSource* self); +EditCommentDialog* edit_comment_dialog_new (const gchar* comment, gboolean is_event); +EditCommentDialog* edit_comment_dialog_construct (GType object_type, const gchar* comment, gboolean is_event); +gchar* edit_comment_dialog_execute (EditCommentDialog* self); +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); +GType edit_multiple_comments_command_get_type (void) G_GNUC_CONST; +static void media_page_real_on_display_titles (MediaPage* self, GtkAction* action); +void configuration_facade_set_display_photo_titles (ConfigurationFacade* self, gboolean display); +static void media_page_real_on_display_comments (MediaPage* self, GtkAction* action); +void configuration_facade_set_display_photo_comments (ConfigurationFacade* self, gboolean display); +static void media_page_real_on_display_ratings (MediaPage* self, GtkAction* action); +void configuration_facade_set_display_photo_ratings (ConfigurationFacade* self, gboolean display); +static void media_page_real_on_display_tags (MediaPage* self, GtkAction* action); +void configuration_facade_set_display_photo_tags (ConfigurationFacade* self, gboolean display); +static void media_page_real_get_config_photos_sort (MediaPage* self, gboolean* sort_order, gint* sort_by); +void media_page_set_config_photos_sort (MediaPage* self, gboolean sort_order, gint sort_by); +static void media_page_real_set_config_photos_sort (MediaPage* self, gboolean sort_order, gint sort_by); +static void media_page_real_on_sort_changed (MediaPage* self); +gint media_page_get_menu_sort_by (MediaPage* self); +gboolean media_page_get_menu_sort_order (MediaPage* self); +static void media_page_set_view_comparator (MediaPage* self, gint sort_by, gboolean ascending); +void media_page_developer_changed (MediaPage* self, RawDeveloper rd); +static void media_page_real_developer_changed (MediaPage* self, RawDeveloper rd); +gboolean raw_developer_is_equivalent (RawDeveloper self, RawDeveloper d); +RawDeveloper photo_get_raw_developer (Photo* self); +gboolean photo_has_transformations (Photo* self); +gboolean dialogs_confirm_warn_developer_changed (gint number); +GType set_raw_developer_command_get_type (void) G_GNUC_CONST; +SetRawDeveloperCommand* set_raw_developer_command_new (GeeIterable* iter, RawDeveloper developer); +SetRawDeveloperCommand* set_raw_developer_command_construct (GType object_type, GeeIterable* iter, RawDeveloper developer); +static void media_page_real_set_display_titles (CheckerboardPage* base, gboolean display); +static void media_page_real_set_display_comments (CheckerboardPage* base, gboolean display); +static GtkRadioAction* media_page_sort_by_title_action (MediaPage* self); +static GtkRadioAction* media_page_sort_ascending_action (MediaPage* self); +void media_page_set_menu_sort_by (MediaPage* self, gint val); +void media_page_set_menu_sort_order (MediaPage* self, gboolean ascending); +gint64 thumbnail_title_ascending_comparator (void* a, void* b); +static gint64 _thumbnail_title_ascending_comparator_comparator (void* a, void* b, gpointer self); +gint64 thumbnail_title_descending_comparator (void* a, void* b); +static gint64 _thumbnail_title_descending_comparator_comparator (void* a, void* b, gpointer self); +gboolean thumbnail_title_comparator_predicate (DataObject* object, Alteration* alteration); +static gboolean _thumbnail_title_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self); +gint64 thumbnail_exposure_time_ascending_comparator (void* a, void* b); +static gint64 _thumbnail_exposure_time_ascending_comparator_comparator (void* a, void* b, gpointer self); +gint64 thumbnail_exposure_time_desending_comparator (void* a, void* b); +static gint64 _thumbnail_exposure_time_desending_comparator_comparator (void* a, void* b, gpointer self); +gboolean thumbnail_exposure_time_comparator_predicate (DataObject* object, Alteration* alteration); +static gboolean _thumbnail_exposure_time_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self); +gint64 thumbnail_rating_ascending_comparator (void* a, void* b); +static gint64 _thumbnail_rating_ascending_comparator_comparator (void* a, void* b, gpointer self); +gint64 thumbnail_rating_descending_comparator (void* a, void* b); +static gint64 _thumbnail_rating_descending_comparator_comparator (void* a, void* b, gpointer self); +gboolean thumbnail_rating_comparator_predicate (DataObject* object, Alteration* alteration); +static gboolean _thumbnail_rating_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self); +gint64 thumbnail_filename_ascending_comparator (void* a, void* b); +static gint64 _thumbnail_filename_ascending_comparator_comparator (void* a, void* b, gpointer self); +gint64 thumbnail_filename_descending_comparator (void* a, void* b); +static gint64 _thumbnail_filename_descending_comparator_comparator (void* a, void* b, gpointer self); +gboolean thumbnail_filename_comparator_predicate (DataObject* object, Alteration* alteration); +static gboolean _thumbnail_filename_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self); +void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +gchar* media_page_get_sortby_path (MediaPage* self, gint sort_by); +static void media_page_real_destroy (GtkWidget* base); +void media_page_zoom_slider_assembly_increase_step (MediaPageZoomSliderAssembly* self); +void media_page_zoom_slider_assembly_decrease_step (MediaPageZoomSliderAssembly* self); +DataView* media_page_create_thumbnail (MediaPage* self, DataSource* source); +static DataView* media_page_real_create_thumbnail (MediaPage* self, DataSource* source); +Thumbnail* thumbnail_new (MediaSource* media, gint scale); +Thumbnail* thumbnail_construct (GType object_type, MediaSource* media, gint scale); +gboolean page_is_in_view (Page* self); +GType checkerboard_layout_get_type (void) G_GNUC_CONST; +CheckerboardLayout* checkerboard_page_get_checkerboard_layout (CheckerboardPage* self); +void checkerboard_layout_set_scale (CheckerboardLayout* self, gint scale); +gint checkerboard_layout_get_scale (CheckerboardLayout* self); +#define MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssemblyPrivate)) +enum { + MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_DUMMY_PROPERTY +}; +#define RESOURCES_ICON_ZOOM_OUT "zoom-out.png" +#define RESOURCES_ICON_ZOOM_SCALE 16 +static gboolean media_page_zoom_slider_assembly_on_zoom_out_pressed (MediaPageZoomSliderAssembly* self, GdkEventButton* event); +static gboolean _media_page_zoom_slider_assembly_on_zoom_out_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +gdouble media_page_zoom_slider_assembly_scale_to_slider (gint value); +static void media_page_zoom_slider_assembly_on_slider_changed (MediaPageZoomSliderAssembly* self); +static void _media_page_zoom_slider_assembly_on_slider_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self); +#define RESOURCES_ICON_ZOOM_IN "zoom-in.png" +static gboolean media_page_zoom_slider_assembly_on_zoom_in_pressed (MediaPageZoomSliderAssembly* self, GdkEventButton* event); +static gboolean _media_page_zoom_slider_assembly_on_zoom_in_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +gint media_page_zoom_slider_assembly_slider_to_scale (gdouble value); +void media_page_zoom_slider_assembly_snap_to_min (MediaPageZoomSliderAssembly* self); +void media_page_zoom_slider_assembly_snap_to_max (MediaPageZoomSliderAssembly* self); +static void media_page_zoom_slider_assembly_finalize (GObject* obj); +static void media_page_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +MediaSourceItem* media_source_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment) { + MediaSourceItem * self = NULL; + ThumbnailSource* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PangoAlignment _tmp5_ = 0; + GdkPixbuf* _tmp6_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), NULL); +#line 16 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (initial_pixbuf_dim != NULL, NULL); +#line 16 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (title != NULL, NULL); +#line 18 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = source; +#line 18 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = *initial_pixbuf_dim; +#line 18 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = title; +#line 18 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = comment; +#line 18 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = marked_up; +#line 18 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = alignment; +#line 18 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = (MediaSourceItem*) checkerboard_item_construct (object_type, _tmp0_, &_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 19 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = media_source_item_basis_sprocket_pixbuf; +#line 19 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp6_ == NULL) { +#line 1546 "MediaPage.c" + GdkPixbuf* _tmp7_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = resources_load_icon ("sprocket.png", 0); +#line 20 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (media_source_item_basis_sprocket_pixbuf); +#line 20 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_source_item_basis_sprocket_pixbuf = _tmp7_; +#line 1554 "MediaPage.c" + } +#line 16 "/home/jens/Source/shotwell/src/MediaPage.vala" + return self; +#line 1558 "MediaPage.c" +} + + +MediaSourceItem* media_source_item_new (ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment) { +#line 16 "/home/jens/Source/shotwell/src/MediaPage.vala" + return media_source_item_construct (TYPE_MEDIA_SOURCE_ITEM, source, initial_pixbuf_dim, title, comment, marked_up, alignment); +#line 1565 "MediaPage.c" +} + + +static void media_source_item_real_paint_image (CheckerboardItem* base, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin) { + MediaSourceItem * self; + Dimensions pixbuf_dim = {0}; + GdkPixbuf* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + cairo_t* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + GdkPoint _tmp23_ = {0}; + gboolean _tmp24_ = FALSE; +#line 23 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem); +#line 23 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (ctx != NULL); +#line 23 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 23 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (origin != NULL); +#line 25 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = pixbuf; +#line 25 "/home/jens/Source/shotwell/src/MediaPage.vala" + dimensions_for_pixbuf (_tmp0_, &_tmp1_); +#line 25 "/home/jens/Source/shotwell/src/MediaPage.vala" + pixbuf_dim = _tmp1_; +#line 30 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = self->priv->enable_sprockets; +#line 30 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!_tmp2_) { +#line 31 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_item_set_horizontal_trinket_offset (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), 0); +#line 1599 "MediaPage.c" + } else { + gdouble reduction_factor = 0.0; + gint _tmp3_ = 0; + gint reduced_size = 0; + gdouble _tmp4_ = 0.0; + GdkPixbuf* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 33 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = dimensions_major_axis (&pixbuf_dim); +#line 33 "/home/jens/Source/shotwell/src/MediaPage.vala" + reduction_factor = ((gdouble) _tmp3_) / ((gdouble) THUMBNAIL_CACHE_SIZE_LARGEST); +#line 35 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = reduction_factor; +#line 35 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = media_source_item_basis_sprocket_pixbuf; +#line 35 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = gdk_pixbuf_get_width (_tmp5_); +#line 35 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 35 "/home/jens/Source/shotwell/src/MediaPage.vala" + reduced_size = (gint) (_tmp4_ * _tmp7_); +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = media_source_item_current_sprocket_pixbuf; +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp9_ == NULL) { +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = TRUE; +#line 1633 "MediaPage.c" + } else { + gint _tmp10_ = 0; + GdkPixbuf* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = reduced_size; +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = media_source_item_current_sprocket_pixbuf; +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = gdk_pixbuf_get_width (_tmp11_); +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = _tmp12_; +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _tmp10_ != _tmp13_; +#line 1649 "MediaPage.c" + } +#line 37 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp8_) { +#line 1653 "MediaPage.c" + GdkPixbuf* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkPixbuf* _tmp17_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = media_source_item_basis_sprocket_pixbuf; +#line 38 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = reduced_size; +#line 38 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = reduced_size; +#line 38 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = gdk_pixbuf_scale_simple (_tmp14_, _tmp15_, _tmp16_, GDK_INTERP_HYPER); +#line 38 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (media_source_item_current_sprocket_pixbuf); +#line 38 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_source_item_current_sprocket_pixbuf = _tmp17_; +#line 1670 "MediaPage.c" + } +#line 42 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = media_source_item_current_sprocket_pixbuf; +#line 42 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = gdk_pixbuf_get_width (_tmp18_); +#line 42 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = _tmp19_; +#line 42 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_item_set_horizontal_trinket_offset (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp20_); +#line 1680 "MediaPage.c" + } +#line 45 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = ctx; +#line 45 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = pixbuf; +#line 45 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = *origin; +#line 45 "/home/jens/Source/shotwell/src/MediaPage.vala" + CHECKERBOARD_ITEM_CLASS (media_source_item_parent_class)->paint_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp21_, _tmp22_, &_tmp23_); +#line 47 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = self->priv->enable_sprockets; +#line 47 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp24_) { +#line 1694 "MediaPage.c" + cairo_t* _tmp25_ = NULL; + GdkPoint _tmp26_ = {0}; + Dimensions _tmp27_ = {0}; +#line 48 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = ctx; +#line 48 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = *origin; +#line 48 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = pixbuf_dim; +#line 48 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_source_item_paint_sprockets (self, _tmp25_, &_tmp26_, &_tmp27_); +#line 1706 "MediaPage.c" + } +} + + +void media_source_item_paint_one_sprocket (MediaSourceItem* self, cairo_t* ctx, GdkPoint* origin) { + cairo_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + cairo_t* _tmp7_ = NULL; + cairo_t* _tmp8_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_SOURCE_ITEM (self)); +#line 52 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (ctx != NULL); +#line 52 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (origin != NULL); +#line 53 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = ctx; +#line 53 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_save (_tmp0_); +#line 54 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = ctx; +#line 54 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_source_item_current_sprocket_pixbuf; +#line 54 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = *origin; +#line 54 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _tmp3_.x; +#line 54 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = *origin; +#line 54 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_.y; +#line 54 "/home/jens/Source/shotwell/src/MediaPage.vala" + gdk_cairo_set_source_pixbuf (_tmp1_, _tmp2_, (gdouble) _tmp4_, (gdouble) _tmp6_); +#line 55 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = ctx; +#line 55 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_paint (_tmp7_); +#line 56 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = ctx; +#line 56 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_restore (_tmp8_); +#line 1753 "MediaPage.c" +} + + +void media_source_item_paint_sprockets (MediaSourceItem* self, cairo_t* ctx, GdkPoint* item_origin, Dimensions* item_dimensions) { + gint num_sprockets = 0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkPixbuf* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkPoint left_paint_location = {0}; + GdkPoint _tmp5_ = {0}; + GdkPoint right_paint_location = {0}; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkPixbuf* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint straggler_pixels = 0; + Dimensions _tmp29_ = {0}; + gint _tmp30_ = 0; + GdkPixbuf* _tmp31_ = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; + gint _tmp34_ = 0; +#line 59 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_SOURCE_ITEM (self)); +#line 59 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (ctx != NULL); +#line 59 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (item_origin != NULL); +#line 59 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (item_dimensions != NULL); +#line 61 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = *item_dimensions; +#line 61 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_.height; +#line 61 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_source_item_current_sprocket_pixbuf; +#line 61 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = gdk_pixbuf_get_height (_tmp2_); +#line 61 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _tmp3_; +#line 61 "/home/jens/Source/shotwell/src/MediaPage.vala" + num_sprockets = _tmp1_ / _tmp4_; +#line 63 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = *item_origin; +#line 63 "/home/jens/Source/shotwell/src/MediaPage.vala" + left_paint_location = _tmp5_; +#line 64 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = *item_origin; +#line 64 "/home/jens/Source/shotwell/src/MediaPage.vala" + right_paint_location = _tmp6_; +#line 65 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = right_paint_location.x; +#line 65 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = *item_dimensions; +#line 65 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_.width; +#line 65 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = media_source_item_current_sprocket_pixbuf; +#line 65 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = gdk_pixbuf_get_width (_tmp10_); +#line 65 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 65 "/home/jens/Source/shotwell/src/MediaPage.vala" + right_paint_location.x = _tmp7_ + (_tmp9_ - _tmp12_); +#line 1823 "MediaPage.c" + { + gint i = 0; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + i = 0; +#line 1828 "MediaPage.c" + { + gboolean _tmp13_ = FALSE; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = TRUE; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 1835 "MediaPage.c" + gint _tmp15_ = 0; + gint _tmp16_ = 0; + cairo_t* _tmp17_ = NULL; + GdkPoint _tmp18_ = {0}; + cairo_t* _tmp19_ = NULL; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkPixbuf* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + GdkPixbuf* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!_tmp13_) { +#line 1852 "MediaPage.c" + gint _tmp14_ = 0; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = i; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + i = _tmp14_ + 1; +#line 1858 "MediaPage.c" + } +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = FALSE; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = i; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = num_sprockets; +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!(_tmp15_ < _tmp16_)) { +#line 66 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 1870 "MediaPage.c" + } +#line 67 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = ctx; +#line 67 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = left_paint_location; +#line 67 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_source_item_paint_one_sprocket (self, _tmp17_, &_tmp18_); +#line 68 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = ctx; +#line 68 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = right_paint_location; +#line 68 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_source_item_paint_one_sprocket (self, _tmp19_, &_tmp20_); +#line 70 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = left_paint_location.y; +#line 70 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = media_source_item_current_sprocket_pixbuf; +#line 70 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = gdk_pixbuf_get_height (_tmp22_); +#line 70 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = _tmp23_; +#line 70 "/home/jens/Source/shotwell/src/MediaPage.vala" + left_paint_location.y = _tmp21_ + _tmp24_; +#line 71 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = right_paint_location.y; +#line 71 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = media_source_item_current_sprocket_pixbuf; +#line 71 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = gdk_pixbuf_get_height (_tmp26_); +#line 71 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp28_ = _tmp27_; +#line 71 "/home/jens/Source/shotwell/src/MediaPage.vala" + right_paint_location.y = _tmp25_ + _tmp28_; +#line 1904 "MediaPage.c" + } + } + } +#line 74 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_ = *item_dimensions; +#line 74 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_ = _tmp29_.height; +#line 74 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = media_source_item_current_sprocket_pixbuf; +#line 74 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_ = gdk_pixbuf_get_height (_tmp31_); +#line 74 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = _tmp32_; +#line 74 "/home/jens/Source/shotwell/src/MediaPage.vala" + straggler_pixels = _tmp30_ % _tmp33_; +#line 75 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_ = straggler_pixels; +#line 75 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp34_ > 0) { +#line 1924 "MediaPage.c" + cairo_t* _tmp35_ = NULL; + cairo_t* _tmp36_ = NULL; + GdkPixbuf* _tmp37_ = NULL; + GdkPoint _tmp38_ = {0}; + gint _tmp39_ = 0; + GdkPoint _tmp40_ = {0}; + gint _tmp41_ = 0; + cairo_t* _tmp42_ = NULL; + GdkPoint _tmp43_ = {0}; + gint _tmp44_ = 0; + GdkPoint _tmp45_ = {0}; + gint _tmp46_ = 0; + GdkPixbuf* _tmp47_ = NULL; + gint _tmp48_ = 0; + gint _tmp49_ = 0; + cairo_t* _tmp50_ = NULL; + cairo_t* _tmp51_ = NULL; + GdkPixbuf* _tmp52_ = NULL; + GdkPoint _tmp53_ = {0}; + gint _tmp54_ = 0; + GdkPoint _tmp55_ = {0}; + gint _tmp56_ = 0; + cairo_t* _tmp57_ = NULL; + GdkPoint _tmp58_ = {0}; + gint _tmp59_ = 0; + GdkPoint _tmp60_ = {0}; + gint _tmp61_ = 0; + GdkPixbuf* _tmp62_ = NULL; + gint _tmp63_ = 0; + gint _tmp64_ = 0; + cairo_t* _tmp65_ = NULL; + cairo_t* _tmp66_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp35_ = ctx; +#line 76 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_save (_tmp35_); +#line 78 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp36_ = ctx; +#line 78 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp37_ = media_source_item_current_sprocket_pixbuf; +#line 78 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp38_ = left_paint_location; +#line 78 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_ = _tmp38_.x; +#line 78 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp40_ = left_paint_location; +#line 78 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp41_ = _tmp40_.y; +#line 78 "/home/jens/Source/shotwell/src/MediaPage.vala" + gdk_cairo_set_source_pixbuf (_tmp36_, _tmp37_, (gdouble) _tmp39_, (gdouble) _tmp41_); +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_ = ctx; +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp43_ = left_paint_location; +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp44_ = _tmp43_.x; +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp45_ = left_paint_location; +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp46_ = _tmp45_.y; +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp47_ = media_source_item_current_sprocket_pixbuf; +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp48_ = gdk_pixbuf_get_width (_tmp47_); +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp49_ = straggler_pixels; +#line 80 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_rectangle (_tmp42_, (gdouble) _tmp44_, (gdouble) _tmp46_, (gdouble) _tmp48_, (gdouble) _tmp49_); +#line 82 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp50_ = ctx; +#line 82 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_fill (_tmp50_); +#line 84 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp51_ = ctx; +#line 84 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp52_ = media_source_item_current_sprocket_pixbuf; +#line 84 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp53_ = right_paint_location; +#line 84 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp54_ = _tmp53_.x; +#line 84 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp55_ = right_paint_location; +#line 84 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp56_ = _tmp55_.y; +#line 84 "/home/jens/Source/shotwell/src/MediaPage.vala" + gdk_cairo_set_source_pixbuf (_tmp51_, _tmp52_, (gdouble) _tmp54_, (gdouble) _tmp56_); +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp57_ = ctx; +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp58_ = right_paint_location; +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp59_ = _tmp58_.x; +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp60_ = right_paint_location; +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp61_ = _tmp60_.y; +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp62_ = media_source_item_current_sprocket_pixbuf; +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp63_ = gdk_pixbuf_get_width (_tmp62_); +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp64_ = straggler_pixels; +#line 86 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_rectangle (_tmp57_, (gdouble) _tmp59_, (gdouble) _tmp61_, (gdouble) _tmp63_, (gdouble) _tmp64_); +#line 88 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp65_ = ctx; +#line 88 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_fill (_tmp65_); +#line 90 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp66_ = ctx; +#line 90 "/home/jens/Source/shotwell/src/MediaPage.vala" + cairo_restore (_tmp66_); +#line 2037 "MediaPage.c" + } +} + + +void media_source_item_set_enable_sprockets (MediaSourceItem* self, gboolean enable_sprockets) { + gboolean _tmp0_ = FALSE; +#line 94 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_SOURCE_ITEM (self)); +#line 95 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = enable_sprockets; +#line 95 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->enable_sprockets = _tmp0_; +#line 2050 "MediaPage.c" +} + + +void media_source_item_set_title (MediaSourceItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + PangoAlignment _tmp2_ = 0; +#line 98 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_SOURCE_ITEM (self)); +#line 98 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (text != NULL); +#line 100 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = text; +#line 100 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = marked_up; +#line 100 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = alignment; +#line 100 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_item_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp0_, _tmp1_, _tmp2_); +#line 101 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (self->priv->natural_collation_key); +#line 101 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->natural_collation_key = NULL; +#line 2074 "MediaPage.c" +} + + +gchar* media_source_item_get_natural_collation_key (MediaSourceItem* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE_ITEM (self), NULL); +#line 105 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->natural_collation_key; +#line 105 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ == NULL) { +#line 2089 "MediaPage.c" + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = checkerboard_item_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 106 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = natural_collate_collate_key (_tmp1_); +#line 106 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (self->priv->natural_collation_key); +#line 106 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->natural_collation_key = _tmp2_; +#line 2100 "MediaPage.c" + } +#line 108 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = self->priv->natural_collation_key; +#line 108 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 108 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp4_; +#line 108 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 2110 "MediaPage.c" +} + + +static void media_source_item_class_init (MediaSourceItemClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_source_item_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_type_class_add_private (klass, sizeof (MediaSourceItemPrivate)); +#line 7 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((CheckerboardItemClass *) klass)->paint_image = media_source_item_real_paint_image; +#line 7 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_OBJECT_CLASS (klass)->finalize = media_source_item_finalize; +#line 2123 "MediaPage.c" +} + + +static void media_source_item_instance_init (MediaSourceItem * self) { +#line 7 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv = MEDIA_SOURCE_ITEM_GET_PRIVATE (self); +#line 11 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->enable_sprockets = FALSE; +#line 12 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->natural_collation_key = NULL; +#line 2134 "MediaPage.c" +} + + +static void media_source_item_finalize (GObject* obj) { + MediaSourceItem * self; +#line 7 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem); +#line 12 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (self->priv->natural_collation_key); +#line 7 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_OBJECT_CLASS (media_source_item_parent_class)->finalize (obj); +#line 2146 "MediaPage.c" +} + + +GType media_source_item_get_type (void) { + static volatile gsize media_source_item_type_id__volatile = 0; + if (g_once_init_enter (&media_source_item_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaSourceItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_source_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaSourceItem), 0, (GInstanceInitFunc) media_source_item_instance_init, NULL }; + GType media_source_item_type_id; + media_source_item_type_id = g_type_register_static (TYPE_CHECKERBOARD_ITEM, "MediaSourceItem", &g_define_type_info, 0); + g_once_init_leave (&media_source_item_type_id__volatile, media_source_item_type_id); + } + return media_source_item_type_id__volatile; +} + + +GType media_page_sort_by_get_type (void) { + static volatile gsize media_page_sort_by_type_id__volatile = 0; + if (g_once_init_enter (&media_page_sort_by_type_id__volatile)) { + static const GEnumValue values[] = {{MEDIA_PAGE_SORT_BY_MIN, "MEDIA_PAGE_SORT_BY_MIN", "min"}, {MEDIA_PAGE_SORT_BY_TITLE, "MEDIA_PAGE_SORT_BY_TITLE", "title"}, {MEDIA_PAGE_SORT_BY_EXPOSURE_DATE, "MEDIA_PAGE_SORT_BY_EXPOSURE_DATE", "exposure-date"}, {MEDIA_PAGE_SORT_BY_RATING, "MEDIA_PAGE_SORT_BY_RATING", "rating"}, {MEDIA_PAGE_SORT_BY_FILENAME, "MEDIA_PAGE_SORT_BY_FILENAME", "filename"}, {MEDIA_PAGE_SORT_BY_MAX, "MEDIA_PAGE_SORT_BY_MAX", "max"}, {0, NULL, NULL}}; + GType media_page_sort_by_type_id; + media_page_sort_by_type_id = g_enum_register_static ("MediaPageSortBy", values); + g_once_init_leave (&media_page_sort_by_type_id__volatile, media_page_sort_by_type_id); + } + return media_page_sort_by_type_id__volatile; +} + + +static void _media_page_on_media_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 252 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_media_altered ((MediaPage*) self, items); +#line 2177 "MediaPage.c" +} + + +MediaPage* media_page_construct (GType object_type, const gchar* page_name) { + MediaPage * self = NULL; + const gchar* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + MediaViewTracker* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + ConfigFacade* _tmp10_ = NULL; + ConfigFacade* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GValue _tmp13_ = {0}; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ConfigFacade* _tmp16_ = NULL; + ConfigFacade* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + GValue _tmp19_ = {0}; + ViewCollection* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + ConfigFacade* _tmp22_ = NULL; + ConfigFacade* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + GValue _tmp25_ = {0}; + ViewCollection* _tmp26_ = NULL; + ViewCollection* _tmp27_ = NULL; + gint _tmp28_ = 0; + GValue _tmp29_ = {0}; + ViewCollection* _tmp30_ = NULL; + ViewCollection* _tmp31_ = NULL; + ConfigFacade* _tmp32_ = NULL; + ConfigFacade* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; + GValue _tmp35_ = {0}; + ViewCollection* _tmp36_ = NULL; + ViewCollection* _tmp37_ = NULL; + DragAndDropHandler* _tmp38_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (page_name != NULL, NULL); +#line 248 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_name; +#line 248 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = (MediaPage*) checkerboard_page_construct (object_type, _tmp0_); +#line 250 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 250 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 250 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = media_view_tracker_new (_tmp2_); +#line 250 "/home/jens/Source/shotwell/src/MediaPage.vala" + _core_tracker_unref0 (self->priv->tracker); +#line 250 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->tracker = _tmp3_; +#line 250 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp2_); +#line 252 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 252 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 252 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _media_page_on_media_altered_data_collection_items_altered, self, 0); +#line 252 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 254 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 254 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 254 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection)); +#line 254 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp7_); +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_; +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = config_facade_get_instance (); +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _tmp10_; +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = configuration_facade_get_display_photo_titles (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_init (&_tmp13_, G_TYPE_BOOLEAN); +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_set_boolean (&_tmp13_, _tmp12_); +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_COLLECTION, DataCollection), CHECKERBOARD_ITEM_PROP_SHOW_TITLES, &_tmp13_, NULL, NULL); +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_IS_VALUE (&_tmp13_) ? (g_value_unset (&_tmp13_), NULL) : NULL; +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp11_); +#line 255 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp9_); +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _tmp14_; +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = config_facade_get_instance (); +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _tmp16_; +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = configuration_facade_get_display_photo_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_init (&_tmp19_, G_TYPE_BOOLEAN); +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_set_boolean (&_tmp19_, _tmp18_); +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_COLLECTION, DataCollection), CHECKERBOARD_ITEM_PROP_SHOW_COMMENTS, &_tmp19_, NULL, NULL); +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_IS_VALUE (&_tmp19_) ? (g_value_unset (&_tmp19_), NULL) : NULL; +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp17_); +#line 257 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp15_); +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = _tmp20_; +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = config_facade_get_instance (); +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = _tmp22_; +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = configuration_facade_get_display_photo_tags (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_init (&_tmp25_, G_TYPE_BOOLEAN); +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_set_boolean (&_tmp25_, _tmp24_); +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection), THUMBNAIL_PROP_SHOW_TAGS, &_tmp25_, NULL, NULL); +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_IS_VALUE (&_tmp25_) ? (g_value_unset (&_tmp25_), NULL) : NULL; +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp23_); +#line 259 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp21_); +#line 261 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 261 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = _tmp26_; +#line 261 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp28_ = media_page_get_thumb_size (self); +#line 261 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_init (&_tmp29_, G_TYPE_INT); +#line 261 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_set_int (&_tmp29_, _tmp28_); +#line 261 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_DATA_COLLECTION, DataCollection), THUMBNAIL_PROP_SIZE, &_tmp29_, NULL, NULL); +#line 261 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_IS_VALUE (&_tmp29_) ? (g_value_unset (&_tmp29_), NULL) : NULL; +#line 261 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp27_); +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = _tmp30_; +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_ = config_facade_get_instance (); +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = _tmp32_; +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_init (&_tmp35_, G_TYPE_BOOLEAN); +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_set_boolean (&_tmp35_, _tmp34_); +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_COLLECTION, DataCollection), THUMBNAIL_PROP_SHOW_RATINGS, &_tmp35_, NULL, NULL); +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_IS_VALUE (&_tmp35_) ? (g_value_unset (&_tmp35_), NULL) : NULL; +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp33_); +#line 262 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp31_); +#line 264 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp36_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 264 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp37_ = _tmp36_; +#line 264 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, TYPE_DATA_COLLECTION, DataCollection)); +#line 264 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp37_); +#line 267 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp38_ = drag_and_drop_handler_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 267 "/home/jens/Source/shotwell/src/MediaPage.vala" + _drag_and_drop_handler_unref0 (self->priv->dnd_handler); +#line 267 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->dnd_handler = _tmp38_; +#line 247 "/home/jens/Source/shotwell/src/MediaPage.vala" + return self; +#line 2376 "MediaPage.c" +} + + +static gint media_page_compute_zoom_scale_increase (gint current_scale) { + gint result = 0; + gint new_scale = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 271 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = current_scale; +#line 271 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_scale = _tmp0_ + MEDIA_PAGE_MANUAL_STEPPING; +#line 272 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = thumbnail_get_MIN_SCALE (); +#line 272 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 272 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = thumbnail_get_MAX_SCALE (); +#line 272 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _tmp3_; +#line 272 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = CLAMP (new_scale, _tmp2_, _tmp4_); +#line 272 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp5_; +#line 272 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 2407 "MediaPage.c" +} + + +static gint media_page_compute_zoom_scale_decrease (gint current_scale) { + gint result = 0; + gint new_scale = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 276 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = current_scale; +#line 276 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_scale = _tmp0_ - MEDIA_PAGE_MANUAL_STEPPING; +#line 277 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = thumbnail_get_MIN_SCALE (); +#line 277 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 277 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = thumbnail_get_MAX_SCALE (); +#line 277 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _tmp3_; +#line 277 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = CLAMP (new_scale, _tmp2_, _tmp4_); +#line 277 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp5_; +#line 277 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 2438 "MediaPage.c" +} + + +static void media_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + MediaPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 280 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 280 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 281 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = ui_filenames; +#line 281 "/home/jens/Source/shotwell/src/MediaPage.vala" + PAGE_CLASS (media_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_); +#line 283 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = ui_filenames; +#line 283 "/home/jens/Source/shotwell/src/MediaPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "media.ui"); +#line 2458 "MediaPage.c" +} + + +static void _media_page_on_export_gtk_action_callback (GtkAction* action, gpointer self) { +#line 289 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_export ((MediaPage*) self); +#line 2465 "MediaPage.c" +} + + +static void _vala_array_add297 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 292 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 292 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 292 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2476 "MediaPage.c" + } +#line 292 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2480 "MediaPage.c" +} + + +static void _media_page_on_send_to_gtk_action_callback (GtkAction* action, gpointer self) { +#line 294 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_send_to ((MediaPage*) self); +#line 2487 "MediaPage.c" +} + + +static void _vala_array_add298 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 297 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 297 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 297 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2498 "MediaPage.c" + } +#line 297 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2502 "MediaPage.c" +} + + +static void _vala_array_add299 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 304 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 304 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 304 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2513 "MediaPage.c" + } +#line 304 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2517 "MediaPage.c" +} + + +static void _media_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self) { +#line 306 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_remove_from_library ((MediaPage*) self); +#line 2524 "MediaPage.c" +} + + +static void _vala_array_add300 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 309 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 309 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 309 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2535 "MediaPage.c" + } +#line 309 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2539 "MediaPage.c" +} + + +static void _media_page_on_move_to_trash_gtk_action_callback (GtkAction* action, gpointer self) { +#line 311 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_move_to_trash ((MediaPage*) self); +#line 2546 "MediaPage.c" +} + + +static void _vala_array_add301 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 314 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 314 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 314 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2557 "MediaPage.c" + } +#line 314 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2561 "MediaPage.c" +} + + +static void _media_page_on_new_event_gtk_action_callback (GtkAction* action, gpointer self) { +#line 316 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_new_event ((MediaPage*) self); +#line 2568 "MediaPage.c" +} + + +static void _vala_array_add302 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 319 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 319 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 319 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2579 "MediaPage.c" + } +#line 319 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2583 "MediaPage.c" +} + + +static void _media_page_on_add_tags_gtk_action_callback (GtkAction* action, gpointer self) { +#line 321 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_add_tags ((MediaPage*) self); +#line 2590 "MediaPage.c" +} + + +static void _vala_array_add303 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 324 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 324 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 324 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2601 "MediaPage.c" + } +#line 324 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2605 "MediaPage.c" +} + + +static void _vala_array_add304 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 331 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 331 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 331 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2616 "MediaPage.c" + } +#line 331 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2620 "MediaPage.c" +} + + +static void _media_page_on_modify_tags_gtk_action_callback (GtkAction* action, gpointer self) { +#line 333 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_modify_tags ((MediaPage*) self); +#line 2627 "MediaPage.c" +} + + +static void _vala_array_add305 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 336 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 336 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 336 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2638 "MediaPage.c" + } +#line 336 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2642 "MediaPage.c" +} + + +static void _media_page_on_increase_size_gtk_action_callback (GtkAction* action, gpointer self) { +#line 338 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_increase_size ((MediaPage*) self); +#line 2649 "MediaPage.c" +} + + +static void _vala_array_add306 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 342 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 342 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 342 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2660 "MediaPage.c" + } +#line 342 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2664 "MediaPage.c" +} + + +static void _media_page_on_decrease_size_gtk_action_callback (GtkAction* action, gpointer self) { +#line 344 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_decrease_size ((MediaPage*) self); +#line 2671 "MediaPage.c" +} + + +static void _vala_array_add307 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 348 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 348 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 348 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2682 "MediaPage.c" + } +#line 348 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2686 "MediaPage.c" +} + + +static void _media_page_on_flag_unflag_gtk_action_callback (GtkAction* action, gpointer self) { +#line 350 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_flag_unflag ((MediaPage*) self); +#line 2693 "MediaPage.c" +} + + +static void _vala_array_add308 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 352 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 352 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 352 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2704 "MediaPage.c" + } +#line 352 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2708 "MediaPage.c" +} + + +static void _vala_array_add309 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 356 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 356 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 356 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2719 "MediaPage.c" + } +#line 356 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2723 "MediaPage.c" +} + + +static void _media_page_on_increase_rating_gtk_action_callback (GtkAction* action, gpointer self) { +#line 358 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_increase_rating ((MediaPage*) self); +#line 2730 "MediaPage.c" +} + + +static void _vala_array_add310 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 361 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 361 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 361 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2741 "MediaPage.c" + } +#line 361 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2745 "MediaPage.c" +} + + +static void _media_page_on_decrease_rating_gtk_action_callback (GtkAction* action, gpointer self) { +#line 363 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_decrease_rating ((MediaPage*) self); +#line 2752 "MediaPage.c" +} + + +static void _vala_array_add311 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 366 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 366 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 366 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2763 "MediaPage.c" + } +#line 366 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2767 "MediaPage.c" +} + + +static void _media_page_on_rate_rejected_gtk_action_callback (GtkAction* action, gpointer self) { +#line 368 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_rate_rejected ((MediaPage*) self); +#line 2774 "MediaPage.c" +} + + +static void _vala_array_add312 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 371 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 371 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 371 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2785 "MediaPage.c" + } +#line 371 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2789 "MediaPage.c" +} + + +static void _media_page_on_rate_unrated_gtk_action_callback (GtkAction* action, gpointer self) { +#line 373 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_rate_unrated ((MediaPage*) self); +#line 2796 "MediaPage.c" +} + + +static void _vala_array_add313 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 376 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 376 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 376 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2807 "MediaPage.c" + } +#line 376 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2811 "MediaPage.c" +} + + +static void _media_page_on_rate_one_gtk_action_callback (GtkAction* action, gpointer self) { +#line 378 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_rate_one ((MediaPage*) self); +#line 2818 "MediaPage.c" +} + + +static void _vala_array_add314 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 381 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 381 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 381 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2829 "MediaPage.c" + } +#line 381 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2833 "MediaPage.c" +} + + +static void _media_page_on_rate_two_gtk_action_callback (GtkAction* action, gpointer self) { +#line 383 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_rate_two ((MediaPage*) self); +#line 2840 "MediaPage.c" +} + + +static void _vala_array_add315 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 386 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 386 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 386 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2851 "MediaPage.c" + } +#line 386 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2855 "MediaPage.c" +} + + +static void _media_page_on_rate_three_gtk_action_callback (GtkAction* action, gpointer self) { +#line 388 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_rate_three ((MediaPage*) self); +#line 2862 "MediaPage.c" +} + + +static void _vala_array_add316 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 391 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 391 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 391 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2873 "MediaPage.c" + } +#line 391 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2877 "MediaPage.c" +} + + +static void _media_page_on_rate_four_gtk_action_callback (GtkAction* action, gpointer self) { +#line 393 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_rate_four ((MediaPage*) self); +#line 2884 "MediaPage.c" +} + + +static void _vala_array_add317 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 396 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 396 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 396 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2895 "MediaPage.c" + } +#line 396 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2899 "MediaPage.c" +} + + +static void _media_page_on_rate_five_gtk_action_callback (GtkAction* action, gpointer self) { +#line 398 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_rate_five ((MediaPage*) self); +#line 2906 "MediaPage.c" +} + + +static void _vala_array_add318 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 401 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 401 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 401 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2917 "MediaPage.c" + } +#line 401 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2921 "MediaPage.c" +} + + +static void _media_page_on_edit_title_gtk_action_callback (GtkAction* action, gpointer self) { +#line 403 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_edit_title ((MediaPage*) self); +#line 2928 "MediaPage.c" +} + + +static void _vala_array_add319 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 406 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 406 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 406 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2939 "MediaPage.c" + } +#line 406 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2943 "MediaPage.c" +} + + +static void _media_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self) { +#line 408 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_edit_comment ((MediaPage*) self); +#line 2950 "MediaPage.c" +} + + +static void _vala_array_add320 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 411 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 411 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 411 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2961 "MediaPage.c" + } +#line 411 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2965 "MediaPage.c" +} + + +static void _vala_array_add321 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 415 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 415 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 415 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2976 "MediaPage.c" + } +#line 415 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2980 "MediaPage.c" +} + + +static void _vala_array_add322 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 419 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 419 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 419 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2991 "MediaPage.c" + } +#line 419 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 2995 "MediaPage.c" +} + + +static void _media_page_on_play_video_gtk_action_callback (GtkAction* action, gpointer self) { +#line 421 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_play_video ((MediaPage*) self); +#line 3002 "MediaPage.c" +} + + +static void _vala_array_add323 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 425 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 425 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 425 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 3013 "MediaPage.c" + } +#line 425 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 3017 "MediaPage.c" +} + + +static void _vala_array_add324 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 429 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 429 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 429 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 3028 "MediaPage.c" + } +#line 429 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 3032 "MediaPage.c" +} + + +static void _media_page_on_raw_developer_shotwell_gtk_action_callback (GtkAction* action, gpointer self) { +#line 433 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_raw_developer_shotwell ((MediaPage*) self, action); +#line 3039 "MediaPage.c" +} + + +static void _vala_array_add325 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 436 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 436 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 436 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 3050 "MediaPage.c" + } +#line 436 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 3054 "MediaPage.c" +} + + +static void _media_page_on_raw_developer_camera_gtk_action_callback (GtkAction* action, gpointer self) { +#line 438 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_raw_developer_camera ((MediaPage*) self, action); +#line 3061 "MediaPage.c" +} + + +static void _vala_array_add326 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 441 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 441 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 441 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 3072 "MediaPage.c" + } +#line 441 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 3076 "MediaPage.c" +} + + +static GtkActionEntry* media_page_real_init_collect_action_entries (Page* base, int* result_length1) { + MediaPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry export = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry send_to = {0}; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry send_to_context_menu = {0}; + GtkActionEntry _tmp8_ = {0}; + GtkActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionEntry _tmp10_ = {0}; + GtkActionEntry remove_from_library = {0}; + GtkActionEntry _tmp11_ = {0}; + GtkActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkActionEntry _tmp13_ = {0}; + GtkActionEntry move_to_trash = {0}; + GtkActionEntry _tmp14_ = {0}; + GtkActionEntry* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GtkActionEntry _tmp16_ = {0}; + GtkActionEntry new_event = {0}; + GtkActionEntry _tmp17_ = {0}; + GtkActionEntry* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + GtkActionEntry _tmp19_ = {0}; + GtkActionEntry add_tags = {0}; + GtkActionEntry _tmp20_ = {0}; + GtkActionEntry* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GtkActionEntry _tmp22_ = {0}; + GtkActionEntry add_tags_context_menu = {0}; + GtkActionEntry _tmp23_ = {0}; + GtkActionEntry* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + GtkActionEntry _tmp25_ = {0}; + GtkActionEntry modify_tags = {0}; + GtkActionEntry _tmp26_ = {0}; + GtkActionEntry* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GtkActionEntry _tmp28_ = {0}; + GtkActionEntry increase_size = {0}; + GtkActionEntry _tmp29_ = {0}; + const gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + GtkActionEntry* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + GtkActionEntry _tmp33_ = {0}; + GtkActionEntry decrease_size = {0}; + GtkActionEntry _tmp34_ = {0}; + const gchar* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + GtkActionEntry* _tmp37_ = NULL; + gint _tmp37__length1 = 0; + GtkActionEntry _tmp38_ = {0}; + GtkActionEntry flag = {0}; + GtkActionEntry _tmp39_ = {0}; + GtkActionEntry* _tmp40_ = NULL; + gint _tmp40__length1 = 0; + GtkActionEntry _tmp41_ = {0}; + GtkActionEntry set_rating = {0}; + GtkActionEntry _tmp42_ = {0}; + GtkActionEntry* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + GtkActionEntry _tmp44_ = {0}; + GtkActionEntry increase_rating = {0}; + GtkActionEntry _tmp45_ = {0}; + GtkActionEntry* _tmp46_ = NULL; + gint _tmp46__length1 = 0; + GtkActionEntry _tmp47_ = {0}; + GtkActionEntry decrease_rating = {0}; + GtkActionEntry _tmp48_ = {0}; + GtkActionEntry* _tmp49_ = NULL; + gint _tmp49__length1 = 0; + GtkActionEntry _tmp50_ = {0}; + GtkActionEntry rate_rejected = {0}; + GtkActionEntry _tmp51_ = {0}; + const gchar* _tmp52_ = NULL; + GtkActionEntry* _tmp53_ = NULL; + gint _tmp53__length1 = 0; + GtkActionEntry _tmp54_ = {0}; + GtkActionEntry rate_unrated = {0}; + GtkActionEntry _tmp55_ = {0}; + const gchar* _tmp56_ = NULL; + GtkActionEntry* _tmp57_ = NULL; + gint _tmp57__length1 = 0; + GtkActionEntry _tmp58_ = {0}; + GtkActionEntry rate_one = {0}; + GtkActionEntry _tmp59_ = {0}; + const gchar* _tmp60_ = NULL; + GtkActionEntry* _tmp61_ = NULL; + gint _tmp61__length1 = 0; + GtkActionEntry _tmp62_ = {0}; + GtkActionEntry rate_two = {0}; + GtkActionEntry _tmp63_ = {0}; + const gchar* _tmp64_ = NULL; + GtkActionEntry* _tmp65_ = NULL; + gint _tmp65__length1 = 0; + GtkActionEntry _tmp66_ = {0}; + GtkActionEntry rate_three = {0}; + GtkActionEntry _tmp67_ = {0}; + const gchar* _tmp68_ = NULL; + GtkActionEntry* _tmp69_ = NULL; + gint _tmp69__length1 = 0; + GtkActionEntry _tmp70_ = {0}; + GtkActionEntry rate_four = {0}; + GtkActionEntry _tmp71_ = {0}; + const gchar* _tmp72_ = NULL; + GtkActionEntry* _tmp73_ = NULL; + gint _tmp73__length1 = 0; + GtkActionEntry _tmp74_ = {0}; + GtkActionEntry rate_five = {0}; + GtkActionEntry _tmp75_ = {0}; + const gchar* _tmp76_ = NULL; + GtkActionEntry* _tmp77_ = NULL; + gint _tmp77__length1 = 0; + GtkActionEntry _tmp78_ = {0}; + GtkActionEntry edit_title = {0}; + GtkActionEntry _tmp79_ = {0}; + GtkActionEntry* _tmp80_ = NULL; + gint _tmp80__length1 = 0; + GtkActionEntry _tmp81_ = {0}; + GtkActionEntry edit_comment = {0}; + GtkActionEntry _tmp82_ = {0}; + GtkActionEntry* _tmp83_ = NULL; + gint _tmp83__length1 = 0; + GtkActionEntry _tmp84_ = {0}; + GtkActionEntry sort_photos = {0}; + GtkActionEntry _tmp85_ = {0}; + const gchar* _tmp86_ = NULL; + GtkActionEntry* _tmp87_ = NULL; + gint _tmp87__length1 = 0; + GtkActionEntry _tmp88_ = {0}; + GtkActionEntry filter_photos = {0}; + GtkActionEntry _tmp89_ = {0}; + GtkActionEntry* _tmp90_ = NULL; + gint _tmp90__length1 = 0; + GtkActionEntry _tmp91_ = {0}; + GtkActionEntry play = {0}; + GtkActionEntry _tmp92_ = {0}; + const gchar* _tmp93_ = NULL; + const gchar* _tmp94_ = NULL; + GtkActionEntry* _tmp95_ = NULL; + gint _tmp95__length1 = 0; + GtkActionEntry _tmp96_ = {0}; + GtkActionEntry raw_developer = {0}; + GtkActionEntry _tmp97_ = {0}; + const gchar* _tmp98_ = NULL; + GtkActionEntry* _tmp99_ = NULL; + gint _tmp99__length1 = 0; + GtkActionEntry _tmp100_ = {0}; + GtkActionEntry dev_shotwell = {0}; + GtkActionEntry _tmp101_ = {0}; + const gchar* _tmp102_ = NULL; + GtkActionEntry* _tmp103_ = NULL; + gint _tmp103__length1 = 0; + GtkActionEntry _tmp104_ = {0}; + GtkActionEntry dev_camera = {0}; + GtkActionEntry _tmp105_ = {0}; + const gchar* _tmp106_ = NULL; + GtkActionEntry* _tmp107_ = NULL; + gint _tmp107__length1 = 0; + GtkActionEntry _tmp108_ = {0}; + GtkActionEntry* _tmp109_ = NULL; + gint _tmp109__length1 = 0; +#line 286 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 287 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = PAGE_CLASS (media_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_); +#line 287 "/home/jens/Source/shotwell/src/MediaPage.vala" + actions = _tmp1_; +#line 287 "/home/jens/Source/shotwell/src/MediaPage.vala" + actions_length1 = _tmp0_; +#line 287 "/home/jens/Source/shotwell/src/MediaPage.vala" + _actions_size_ = actions_length1; +#line 289 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_.name = "Export"; +#line 289 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_.stock_id = RESOURCES_SAVE_AS_LABEL; +#line 289 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 289 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_.accelerator = "E"; +#line 289 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 289 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_.callback = (GCallback) _media_page_on_export_gtk_action_callback; +#line 289 "/home/jens/Source/shotwell/src/MediaPage.vala" + export = _tmp2_; +#line 291 "/home/jens/Source/shotwell/src/MediaPage.vala" + export.label = RESOURCES_EXPORT_MENU; +#line 292 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = actions; +#line 292 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3__length1 = actions_length1; +#line 292 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = export; +#line 292 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add297 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 294 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.name = "SendTo"; +#line 294 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.stock_id = "document-send"; +#line 294 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 294 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.accelerator = NULL; +#line 294 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 294 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.callback = (GCallback) _media_page_on_send_to_gtk_action_callback; +#line 294 "/home/jens/Source/shotwell/src/MediaPage.vala" + send_to = _tmp5_; +#line 296 "/home/jens/Source/shotwell/src/MediaPage.vala" + send_to.label = RESOURCES_SEND_TO_MENU; +#line 297 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = actions; +#line 297 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6__length1 = actions_length1; +#line 297 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = send_to; +#line 297 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add298 (&actions, &actions_length1, &_actions_size_, &_tmp7_); +#line 301 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.name = "SendToContextMenu"; +#line 301 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.stock_id = "document-send"; +#line 301 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.label = TRANSLATABLE; +#line 301 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.accelerator = NULL; +#line 301 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.tooltip = TRANSLATABLE; +#line 301 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.callback = (GCallback) _media_page_on_send_to_gtk_action_callback; +#line 301 "/home/jens/Source/shotwell/src/MediaPage.vala" + send_to_context_menu = _tmp8_; +#line 303 "/home/jens/Source/shotwell/src/MediaPage.vala" + send_to_context_menu.label = RESOURCES_SEND_TO_CONTEXT_MENU; +#line 304 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = actions; +#line 304 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9__length1 = actions_length1; +#line 304 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = send_to_context_menu; +#line 304 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add299 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 306 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_.name = "RemoveFromLibrary"; +#line 306 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_.stock_id = RESOURCES_REMOVE_LABEL; +#line 306 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_.label = TRANSLATABLE; +#line 306 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_.accelerator = "Delete"; +#line 306 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_.tooltip = TRANSLATABLE; +#line 306 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_.callback = (GCallback) _media_page_on_remove_from_library_gtk_action_callback; +#line 306 "/home/jens/Source/shotwell/src/MediaPage.vala" + remove_from_library = _tmp11_; +#line 308 "/home/jens/Source/shotwell/src/MediaPage.vala" + remove_from_library.label = RESOURCES_REMOVE_FROM_LIBRARY_MENU; +#line 309 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = actions; +#line 309 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12__length1 = actions_length1; +#line 309 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = remove_from_library; +#line 309 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add300 (&actions, &actions_length1, &_actions_size_, &_tmp13_); +#line 311 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.name = "MoveToTrash"; +#line 311 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.stock_id = "user-trash-full"; +#line 311 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.label = TRANSLATABLE; +#line 311 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.accelerator = "Delete"; +#line 311 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.tooltip = TRANSLATABLE; +#line 311 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.callback = (GCallback) _media_page_on_move_to_trash_gtk_action_callback; +#line 311 "/home/jens/Source/shotwell/src/MediaPage.vala" + move_to_trash = _tmp14_; +#line 313 "/home/jens/Source/shotwell/src/MediaPage.vala" + move_to_trash.label = RESOURCES_MOVE_TO_TRASH_MENU; +#line 314 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = actions; +#line 314 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15__length1 = actions_length1; +#line 314 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = move_to_trash; +#line 314 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add301 (&actions, &actions_length1, &_actions_size_, &_tmp16_); +#line 316 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_.name = "NewEvent"; +#line 316 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_.stock_id = RESOURCES_NEW_LABEL; +#line 316 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_.label = TRANSLATABLE; +#line 316 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_.accelerator = "N"; +#line 316 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_.tooltip = TRANSLATABLE; +#line 316 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_.callback = (GCallback) _media_page_on_new_event_gtk_action_callback; +#line 316 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_event = _tmp17_; +#line 318 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_event.label = RESOURCES_NEW_EVENT_MENU; +#line 319 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = actions; +#line 319 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18__length1 = actions_length1; +#line 319 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = new_event; +#line 319 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add302 (&actions, &actions_length1, &_actions_size_, &_tmp19_); +#line 321 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_.name = "AddTags"; +#line 321 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_.stock_id = NULL; +#line 321 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_.label = TRANSLATABLE; +#line 321 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_.accelerator = "T"; +#line 321 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_.tooltip = TRANSLATABLE; +#line 321 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_.callback = (GCallback) _media_page_on_add_tags_gtk_action_callback; +#line 321 "/home/jens/Source/shotwell/src/MediaPage.vala" + add_tags = _tmp20_; +#line 323 "/home/jens/Source/shotwell/src/MediaPage.vala" + add_tags.label = RESOURCES_ADD_TAGS_MENU; +#line 324 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = actions; +#line 324 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21__length1 = actions_length1; +#line 324 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = add_tags; +#line 324 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add303 (&actions, &actions_length1, &_actions_size_, &_tmp22_); +#line 328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.name = "AddTagsContextMenu"; +#line 328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.stock_id = NULL; +#line 328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.label = TRANSLATABLE; +#line 328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.accelerator = "A"; +#line 328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.tooltip = TRANSLATABLE; +#line 328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.callback = (GCallback) _media_page_on_add_tags_gtk_action_callback; +#line 328 "/home/jens/Source/shotwell/src/MediaPage.vala" + add_tags_context_menu = _tmp23_; +#line 330 "/home/jens/Source/shotwell/src/MediaPage.vala" + add_tags_context_menu.label = RESOURCES_ADD_TAGS_CONTEXT_MENU; +#line 331 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = actions; +#line 331 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24__length1 = actions_length1; +#line 331 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = add_tags_context_menu; +#line 331 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add304 (&actions, &actions_length1, &_actions_size_, &_tmp25_); +#line 333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_.name = "ModifyTags"; +#line 333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_.stock_id = NULL; +#line 333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_.label = TRANSLATABLE; +#line 333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_.accelerator = "M"; +#line 333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_.tooltip = TRANSLATABLE; +#line 333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_.callback = (GCallback) _media_page_on_modify_tags_gtk_action_callback; +#line 333 "/home/jens/Source/shotwell/src/MediaPage.vala" + modify_tags = _tmp26_; +#line 335 "/home/jens/Source/shotwell/src/MediaPage.vala" + modify_tags.label = RESOURCES_MODIFY_TAGS_MENU; +#line 336 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = actions; +#line 336 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27__length1 = actions_length1; +#line 336 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp28_ = modify_tags; +#line 336 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add305 (&actions, &actions_length1, &_actions_size_, &_tmp28_); +#line 338 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_.name = "IncreaseSize"; +#line 338 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_.stock_id = RESOURCES_ZOOM_IN_LABEL; +#line 338 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_.label = TRANSLATABLE; +#line 338 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_.accelerator = "plus"; +#line 338 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_.tooltip = TRANSLATABLE; +#line 338 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_.callback = (GCallback) _media_page_on_increase_size_gtk_action_callback; +#line 338 "/home/jens/Source/shotwell/src/MediaPage.vala" + increase_size = _tmp29_; +#line 340 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_ = _ ("Zoom _In"); +#line 340 "/home/jens/Source/shotwell/src/MediaPage.vala" + increase_size.label = _tmp30_; +#line 341 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = _ ("Increase the magnification of the thumbnails"); +#line 341 "/home/jens/Source/shotwell/src/MediaPage.vala" + increase_size.tooltip = _tmp31_; +#line 342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_ = actions; +#line 342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32__length1 = actions_length1; +#line 342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = increase_size; +#line 342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add306 (&actions, &actions_length1, &_actions_size_, &_tmp33_); +#line 344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_.name = "DecreaseSize"; +#line 344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_.stock_id = RESOURCES_ZOOM_OUT_LABEL; +#line 344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_.label = TRANSLATABLE; +#line 344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_.accelerator = "minus"; +#line 344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_.tooltip = TRANSLATABLE; +#line 344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_.callback = (GCallback) _media_page_on_decrease_size_gtk_action_callback; +#line 344 "/home/jens/Source/shotwell/src/MediaPage.vala" + decrease_size = _tmp34_; +#line 346 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp35_ = _ ("Zoom _Out"); +#line 346 "/home/jens/Source/shotwell/src/MediaPage.vala" + decrease_size.label = _tmp35_; +#line 347 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp36_ = _ ("Decrease the magnification of the thumbnails"); +#line 347 "/home/jens/Source/shotwell/src/MediaPage.vala" + decrease_size.tooltip = _tmp36_; +#line 348 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp37_ = actions; +#line 348 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp37__length1 = actions_length1; +#line 348 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp38_ = decrease_size; +#line 348 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add307 (&actions, &actions_length1, &_actions_size_, &_tmp38_); +#line 350 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_.name = "Flag"; +#line 350 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_.stock_id = NULL; +#line 350 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_.label = TRANSLATABLE; +#line 350 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_.accelerator = "G"; +#line 350 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_.tooltip = TRANSLATABLE; +#line 350 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_.callback = (GCallback) _media_page_on_flag_unflag_gtk_action_callback; +#line 350 "/home/jens/Source/shotwell/src/MediaPage.vala" + flag = _tmp39_; +#line 351 "/home/jens/Source/shotwell/src/MediaPage.vala" + flag.label = RESOURCES_FLAG_MENU; +#line 352 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp40_ = actions; +#line 352 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp40__length1 = actions_length1; +#line 352 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp41_ = flag; +#line 352 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add308 (&actions, &actions_length1, &_actions_size_, &_tmp41_); +#line 354 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_.name = "Rate"; +#line 354 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_.stock_id = NULL; +#line 354 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_.label = TRANSLATABLE; +#line 354 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_.accelerator = NULL; +#line 354 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_.tooltip = NULL; +#line 354 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_.callback = (GCallback) NULL; +#line 354 "/home/jens/Source/shotwell/src/MediaPage.vala" + set_rating = _tmp42_; +#line 355 "/home/jens/Source/shotwell/src/MediaPage.vala" + set_rating.label = RESOURCES_RATING_MENU; +#line 356 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp43_ = actions; +#line 356 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp43__length1 = actions_length1; +#line 356 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp44_ = set_rating; +#line 356 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add309 (&actions, &actions_length1, &_actions_size_, &_tmp44_); +#line 358 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp45_.name = "IncreaseRating"; +#line 358 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp45_.stock_id = NULL; +#line 358 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp45_.label = TRANSLATABLE; +#line 358 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp45_.accelerator = "greater"; +#line 358 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp45_.tooltip = TRANSLATABLE; +#line 358 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp45_.callback = (GCallback) _media_page_on_increase_rating_gtk_action_callback; +#line 358 "/home/jens/Source/shotwell/src/MediaPage.vala" + increase_rating = _tmp45_; +#line 360 "/home/jens/Source/shotwell/src/MediaPage.vala" + increase_rating.label = RESOURCES_INCREASE_RATING_MENU; +#line 361 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp46_ = actions; +#line 361 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp46__length1 = actions_length1; +#line 361 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp47_ = increase_rating; +#line 361 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add310 (&actions, &actions_length1, &_actions_size_, &_tmp47_); +#line 363 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp48_.name = "DecreaseRating"; +#line 363 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp48_.stock_id = NULL; +#line 363 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp48_.label = TRANSLATABLE; +#line 363 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp48_.accelerator = "less"; +#line 363 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp48_.tooltip = TRANSLATABLE; +#line 363 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp48_.callback = (GCallback) _media_page_on_decrease_rating_gtk_action_callback; +#line 363 "/home/jens/Source/shotwell/src/MediaPage.vala" + decrease_rating = _tmp48_; +#line 365 "/home/jens/Source/shotwell/src/MediaPage.vala" + decrease_rating.label = RESOURCES_DECREASE_RATING_MENU; +#line 366 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp49_ = actions; +#line 366 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp49__length1 = actions_length1; +#line 366 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp50_ = decrease_rating; +#line 366 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add311 (&actions, &actions_length1, &_actions_size_, &_tmp50_); +#line 368 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp51_.name = "RateRejected"; +#line 368 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp51_.stock_id = NULL; +#line 368 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp51_.label = TRANSLATABLE; +#line 368 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp51_.accelerator = "9"; +#line 368 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp51_.tooltip = TRANSLATABLE; +#line 368 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp51_.callback = (GCallback) _media_page_on_rate_rejected_gtk_action_callback; +#line 368 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_rejected = _tmp51_; +#line 370 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp52_ = resources_rating_menu (RATING_REJECTED); +#line 370 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_rejected.label = _tmp52_; +#line 371 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp53_ = actions; +#line 371 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp53__length1 = actions_length1; +#line 371 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp54_ = rate_rejected; +#line 371 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add312 (&actions, &actions_length1, &_actions_size_, &_tmp54_); +#line 373 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp55_.name = "RateUnrated"; +#line 373 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp55_.stock_id = NULL; +#line 373 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp55_.label = TRANSLATABLE; +#line 373 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp55_.accelerator = "0"; +#line 373 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp55_.tooltip = TRANSLATABLE; +#line 373 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp55_.callback = (GCallback) _media_page_on_rate_unrated_gtk_action_callback; +#line 373 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_unrated = _tmp55_; +#line 375 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp56_ = resources_rating_menu (RATING_UNRATED); +#line 375 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_unrated.label = _tmp56_; +#line 376 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp57_ = actions; +#line 376 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp57__length1 = actions_length1; +#line 376 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp58_ = rate_unrated; +#line 376 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add313 (&actions, &actions_length1, &_actions_size_, &_tmp58_); +#line 378 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp59_.name = "RateOne"; +#line 378 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp59_.stock_id = NULL; +#line 378 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp59_.label = TRANSLATABLE; +#line 378 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp59_.accelerator = "1"; +#line 378 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp59_.tooltip = TRANSLATABLE; +#line 378 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp59_.callback = (GCallback) _media_page_on_rate_one_gtk_action_callback; +#line 378 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_one = _tmp59_; +#line 380 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp60_ = resources_rating_menu (RATING_ONE); +#line 380 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_one.label = _tmp60_; +#line 381 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp61_ = actions; +#line 381 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp61__length1 = actions_length1; +#line 381 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp62_ = rate_one; +#line 381 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add314 (&actions, &actions_length1, &_actions_size_, &_tmp62_); +#line 383 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp63_.name = "RateTwo"; +#line 383 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp63_.stock_id = NULL; +#line 383 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp63_.label = TRANSLATABLE; +#line 383 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp63_.accelerator = "2"; +#line 383 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp63_.tooltip = TRANSLATABLE; +#line 383 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp63_.callback = (GCallback) _media_page_on_rate_two_gtk_action_callback; +#line 383 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_two = _tmp63_; +#line 385 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp64_ = resources_rating_menu (RATING_TWO); +#line 385 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_two.label = _tmp64_; +#line 386 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp65_ = actions; +#line 386 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp65__length1 = actions_length1; +#line 386 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp66_ = rate_two; +#line 386 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add315 (&actions, &actions_length1, &_actions_size_, &_tmp66_); +#line 388 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp67_.name = "RateThree"; +#line 388 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp67_.stock_id = NULL; +#line 388 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp67_.label = TRANSLATABLE; +#line 388 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp67_.accelerator = "3"; +#line 388 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp67_.tooltip = TRANSLATABLE; +#line 388 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp67_.callback = (GCallback) _media_page_on_rate_three_gtk_action_callback; +#line 388 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_three = _tmp67_; +#line 390 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp68_ = resources_rating_menu (RATING_THREE); +#line 390 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_three.label = _tmp68_; +#line 391 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp69_ = actions; +#line 391 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp69__length1 = actions_length1; +#line 391 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp70_ = rate_three; +#line 391 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add316 (&actions, &actions_length1, &_actions_size_, &_tmp70_); +#line 393 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp71_.name = "RateFour"; +#line 393 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp71_.stock_id = NULL; +#line 393 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp71_.label = TRANSLATABLE; +#line 393 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp71_.accelerator = "4"; +#line 393 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp71_.tooltip = TRANSLATABLE; +#line 393 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp71_.callback = (GCallback) _media_page_on_rate_four_gtk_action_callback; +#line 393 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_four = _tmp71_; +#line 395 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp72_ = resources_rating_menu (RATING_FOUR); +#line 395 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_four.label = _tmp72_; +#line 396 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp73_ = actions; +#line 396 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp73__length1 = actions_length1; +#line 396 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp74_ = rate_four; +#line 396 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add317 (&actions, &actions_length1, &_actions_size_, &_tmp74_); +#line 398 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp75_.name = "RateFive"; +#line 398 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp75_.stock_id = NULL; +#line 398 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp75_.label = TRANSLATABLE; +#line 398 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp75_.accelerator = "5"; +#line 398 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp75_.tooltip = TRANSLATABLE; +#line 398 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp75_.callback = (GCallback) _media_page_on_rate_five_gtk_action_callback; +#line 398 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_five = _tmp75_; +#line 400 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp76_ = resources_rating_menu (RATING_FIVE); +#line 400 "/home/jens/Source/shotwell/src/MediaPage.vala" + rate_five.label = _tmp76_; +#line 401 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp77_ = actions; +#line 401 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp77__length1 = actions_length1; +#line 401 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp78_ = rate_five; +#line 401 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add318 (&actions, &actions_length1, &_actions_size_, &_tmp78_); +#line 403 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp79_.name = "EditTitle"; +#line 403 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp79_.stock_id = NULL; +#line 403 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp79_.label = TRANSLATABLE; +#line 403 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp79_.accelerator = "F2"; +#line 403 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp79_.tooltip = TRANSLATABLE; +#line 403 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp79_.callback = (GCallback) _media_page_on_edit_title_gtk_action_callback; +#line 403 "/home/jens/Source/shotwell/src/MediaPage.vala" + edit_title = _tmp79_; +#line 405 "/home/jens/Source/shotwell/src/MediaPage.vala" + edit_title.label = RESOURCES_EDIT_TITLE_MENU; +#line 406 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp80_ = actions; +#line 406 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp80__length1 = actions_length1; +#line 406 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp81_ = edit_title; +#line 406 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add319 (&actions, &actions_length1, &_actions_size_, &_tmp81_); +#line 408 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp82_.name = "EditComment"; +#line 408 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp82_.stock_id = NULL; +#line 408 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp82_.label = TRANSLATABLE; +#line 408 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp82_.accelerator = "F3"; +#line 408 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp82_.tooltip = TRANSLATABLE; +#line 408 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp82_.callback = (GCallback) _media_page_on_edit_comment_gtk_action_callback; +#line 408 "/home/jens/Source/shotwell/src/MediaPage.vala" + edit_comment = _tmp82_; +#line 410 "/home/jens/Source/shotwell/src/MediaPage.vala" + edit_comment.label = RESOURCES_EDIT_COMMENT_MENU; +#line 411 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp83_ = actions; +#line 411 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp83__length1 = actions_length1; +#line 411 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp84_ = edit_comment; +#line 411 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add320 (&actions, &actions_length1, &_actions_size_, &_tmp84_); +#line 413 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp85_.name = "SortPhotos"; +#line 413 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp85_.stock_id = NULL; +#line 413 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp85_.label = TRANSLATABLE; +#line 413 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp85_.accelerator = NULL; +#line 413 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp85_.tooltip = NULL; +#line 413 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp85_.callback = (GCallback) NULL; +#line 413 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_photos = _tmp85_; +#line 414 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp86_ = _ ("Sort _Photos"); +#line 414 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_photos.label = _tmp86_; +#line 415 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp87_ = actions; +#line 415 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp87__length1 = actions_length1; +#line 415 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp88_ = sort_photos; +#line 415 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add321 (&actions, &actions_length1, &_actions_size_, &_tmp88_); +#line 417 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp89_.name = "FilterPhotos"; +#line 417 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp89_.stock_id = NULL; +#line 417 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp89_.label = TRANSLATABLE; +#line 417 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp89_.accelerator = NULL; +#line 417 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp89_.tooltip = NULL; +#line 417 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp89_.callback = (GCallback) NULL; +#line 417 "/home/jens/Source/shotwell/src/MediaPage.vala" + filter_photos = _tmp89_; +#line 418 "/home/jens/Source/shotwell/src/MediaPage.vala" + filter_photos.label = RESOURCES_FILTER_PHOTOS_MENU; +#line 419 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp90_ = actions; +#line 419 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp90__length1 = actions_length1; +#line 419 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp91_ = filter_photos; +#line 419 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add322 (&actions, &actions_length1, &_actions_size_, &_tmp91_); +#line 421 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp92_.name = "PlayVideo"; +#line 421 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp92_.stock_id = RESOURCES_PLAY_LABEL; +#line 421 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp92_.label = TRANSLATABLE; +#line 421 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp92_.accelerator = "Y"; +#line 421 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp92_.tooltip = TRANSLATABLE; +#line 421 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp92_.callback = (GCallback) _media_page_on_play_video_gtk_action_callback; +#line 421 "/home/jens/Source/shotwell/src/MediaPage.vala" + play = _tmp92_; +#line 423 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp93_ = _ ("_Play Video"); +#line 423 "/home/jens/Source/shotwell/src/MediaPage.vala" + play.label = _tmp93_; +#line 424 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp94_ = _ ("Open the selected videos in the system video player"); +#line 424 "/home/jens/Source/shotwell/src/MediaPage.vala" + play.tooltip = _tmp94_; +#line 425 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp95_ = actions; +#line 425 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp95__length1 = actions_length1; +#line 425 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp96_ = play; +#line 425 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add323 (&actions, &actions_length1, &_actions_size_, &_tmp96_); +#line 427 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp97_.name = "RawDeveloper"; +#line 427 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp97_.stock_id = NULL; +#line 427 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp97_.label = TRANSLATABLE; +#line 427 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp97_.accelerator = NULL; +#line 427 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp97_.tooltip = NULL; +#line 427 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp97_.callback = (GCallback) NULL; +#line 427 "/home/jens/Source/shotwell/src/MediaPage.vala" + raw_developer = _tmp97_; +#line 428 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp98_ = _ ("_Developer"); +#line 428 "/home/jens/Source/shotwell/src/MediaPage.vala" + raw_developer.label = _tmp98_; +#line 429 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp99_ = actions; +#line 429 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp99__length1 = actions_length1; +#line 429 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp100_ = raw_developer; +#line 429 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add324 (&actions, &actions_length1, &_actions_size_, &_tmp100_); +#line 433 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp101_.name = "RawDeveloperShotwell"; +#line 433 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp101_.stock_id = NULL; +#line 433 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp101_.label = TRANSLATABLE; +#line 433 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp101_.accelerator = NULL; +#line 433 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp101_.tooltip = TRANSLATABLE; +#line 433 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp101_.callback = (GCallback) _media_page_on_raw_developer_shotwell_gtk_action_callback; +#line 433 "/home/jens/Source/shotwell/src/MediaPage.vala" + dev_shotwell = _tmp101_; +#line 435 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp102_ = _ ("Shotwell"); +#line 435 "/home/jens/Source/shotwell/src/MediaPage.vala" + dev_shotwell.label = _tmp102_; +#line 436 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp103_ = actions; +#line 436 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp103__length1 = actions_length1; +#line 436 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp104_ = dev_shotwell; +#line 436 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add325 (&actions, &actions_length1, &_actions_size_, &_tmp104_); +#line 438 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp105_.name = "RawDeveloperCamera"; +#line 438 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp105_.stock_id = NULL; +#line 438 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp105_.label = TRANSLATABLE; +#line 438 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp105_.accelerator = NULL; +#line 438 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp105_.tooltip = TRANSLATABLE; +#line 438 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp105_.callback = (GCallback) _media_page_on_raw_developer_camera_gtk_action_callback; +#line 438 "/home/jens/Source/shotwell/src/MediaPage.vala" + dev_camera = _tmp105_; +#line 440 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp106_ = _ ("Camera"); +#line 440 "/home/jens/Source/shotwell/src/MediaPage.vala" + dev_camera.label = _tmp106_; +#line 441 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp107_ = actions; +#line 441 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp107__length1 = actions_length1; +#line 441 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp108_ = dev_camera; +#line 441 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add326 (&actions, &actions_length1, &_actions_size_, &_tmp108_); +#line 443 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp109_ = actions; +#line 443 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp109__length1 = actions_length1; +#line 443 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (result_length1) { +#line 443 "/home/jens/Source/shotwell/src/MediaPage.vala" + *result_length1 = _tmp109__length1; +#line 4035 "MediaPage.c" + } +#line 443 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp109_; +#line 443 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 4041 "MediaPage.c" +} + + +static void _media_page_on_display_titles_gtk_action_callback (GtkAction* action, gpointer self) { +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_display_titles ((MediaPage*) self, action); +#line 4048 "MediaPage.c" +} + + +static void _vala_array_add327 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 453 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 453 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 453 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 4059 "MediaPage.c" + } +#line 453 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4063 "MediaPage.c" +} + + +static void _media_page_on_display_comments_gtk_action_callback (GtkAction* action, gpointer self) { +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_display_comments ((MediaPage*) self, action); +#line 4070 "MediaPage.c" +} + + +static void _vala_array_add328 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 459 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 459 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 459 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 4081 "MediaPage.c" + } +#line 459 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4085 "MediaPage.c" +} + + +static void _media_page_on_display_ratings_gtk_action_callback (GtkAction* action, gpointer self) { +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_display_ratings ((MediaPage*) self, action); +#line 4092 "MediaPage.c" +} + + +static void _vala_array_add329 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 465 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 465 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 465 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 4103 "MediaPage.c" + } +#line 465 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4107 "MediaPage.c" +} + + +static void _media_page_on_display_tags_gtk_action_callback (GtkAction* action, gpointer self) { +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_display_tags ((MediaPage*) self, action); +#line 4114 "MediaPage.c" +} + + +static void _vala_array_add330 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 471 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 471 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 471 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 4125 "MediaPage.c" + } +#line 471 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4129 "MediaPage.c" +} + + +static GtkToggleActionEntry* media_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1) { + MediaPage * self; + GtkToggleActionEntry* result = NULL; + GtkToggleActionEntry* toggle_actions = NULL; + gint _tmp0_ = 0; + GtkToggleActionEntry* _tmp1_ = NULL; + gint toggle_actions_length1 = 0; + gint _toggle_actions_size_ = 0; + GtkToggleActionEntry titles = {0}; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GtkToggleActionEntry _tmp5_ = {0}; + GtkToggleActionEntry _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkToggleActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkToggleActionEntry _tmp10_ = {0}; + GtkToggleActionEntry comments = {0}; + ConfigFacade* _tmp11_ = NULL; + ConfigFacade* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GtkToggleActionEntry _tmp14_ = {0}; + GtkToggleActionEntry _tmp15_ = {0}; + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GtkToggleActionEntry* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + GtkToggleActionEntry _tmp19_ = {0}; + GtkToggleActionEntry ratings = {0}; + ConfigFacade* _tmp20_ = NULL; + ConfigFacade* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + GtkToggleActionEntry _tmp23_ = {0}; + GtkToggleActionEntry _tmp24_ = {0}; + GtkToggleActionEntry* _tmp25_ = NULL; + gint _tmp25__length1 = 0; + GtkToggleActionEntry _tmp26_ = {0}; + GtkToggleActionEntry tags = {0}; + ConfigFacade* _tmp27_ = NULL; + ConfigFacade* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + GtkToggleActionEntry _tmp30_ = {0}; + GtkToggleActionEntry _tmp31_ = {0}; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + GtkToggleActionEntry* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + GtkToggleActionEntry _tmp35_ = {0}; + GtkToggleActionEntry* _tmp36_ = NULL; + gint _tmp36__length1 = 0; +#line 446 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 447 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = PAGE_CLASS (media_page_parent_class)->init_collect_toggle_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_); +#line 447 "/home/jens/Source/shotwell/src/MediaPage.vala" + toggle_actions = _tmp1_; +#line 447 "/home/jens/Source/shotwell/src/MediaPage.vala" + toggle_actions_length1 = _tmp0_; +#line 447 "/home/jens/Source/shotwell/src/MediaPage.vala" + _toggle_actions_size_ = toggle_actions_length1; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = configuration_facade_get_display_photo_titles (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.name = "ViewTitle"; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.stock_id = NULL; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.accelerator = "T"; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.callback = (GCallback) _media_page_on_display_titles_gtk_action_callback; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_.is_active = _tmp4_; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 449 "/home/jens/Source/shotwell/src/MediaPage.vala" + titles = _tmp6_; +#line 451 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _ ("_Titles"); +#line 451 "/home/jens/Source/shotwell/src/MediaPage.vala" + titles.label = _tmp7_; +#line 452 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _ ("Display the title of each photo"); +#line 452 "/home/jens/Source/shotwell/src/MediaPage.vala" + titles.tooltip = _tmp8_; +#line 453 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = toggle_actions; +#line 453 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9__length1 = toggle_actions_length1; +#line 453 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = titles; +#line 453 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add327 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp10_); +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = config_facade_get_instance (); +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = configuration_facade_get_display_photo_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.name = "ViewComment"; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.stock_id = NULL; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.label = TRANSLATABLE; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.accelerator = "C"; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.tooltip = TRANSLATABLE; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.callback = (GCallback) _media_page_on_display_comments_gtk_action_callback; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_.is_active = _tmp13_; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _tmp14_; +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp12_); +#line 455 "/home/jens/Source/shotwell/src/MediaPage.vala" + comments = _tmp15_; +#line 457 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = _ ("_Comments"); +#line 457 "/home/jens/Source/shotwell/src/MediaPage.vala" + comments.label = _tmp16_; +#line 458 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _ ("Display the comment of each photo"); +#line 458 "/home/jens/Source/shotwell/src/MediaPage.vala" + comments.tooltip = _tmp17_; +#line 459 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = toggle_actions; +#line 459 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18__length1 = toggle_actions_length1; +#line 459 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = comments; +#line 459 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add328 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp19_); +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = config_facade_get_instance (); +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = _tmp20_; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.name = "ViewRatings"; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.stock_id = NULL; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.label = TRANSLATABLE; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.accelerator = "N"; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.tooltip = TRANSLATABLE; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.callback = (GCallback) _media_page_on_display_ratings_gtk_action_callback; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_.is_active = _tmp22_; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = _tmp23_; +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp21_); +#line 461 "/home/jens/Source/shotwell/src/MediaPage.vala" + ratings = _tmp24_; +#line 463 "/home/jens/Source/shotwell/src/MediaPage.vala" + ratings.label = RESOURCES_VIEW_RATINGS_MENU; +#line 464 "/home/jens/Source/shotwell/src/MediaPage.vala" + ratings.tooltip = RESOURCES_VIEW_RATINGS_TOOLTIP; +#line 465 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = toggle_actions; +#line 465 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25__length1 = toggle_actions_length1; +#line 465 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = ratings; +#line 465 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add329 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp26_); +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = config_facade_get_instance (); +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp28_ = _tmp27_; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_ = configuration_facade_get_display_photo_tags (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_.name = "ViewTags"; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_.stock_id = NULL; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_.label = TRANSLATABLE; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_.accelerator = "G"; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_.tooltip = TRANSLATABLE; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_.callback = (GCallback) _media_page_on_display_tags_gtk_action_callback; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_.is_active = _tmp29_; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = _tmp30_; +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp28_); +#line 467 "/home/jens/Source/shotwell/src/MediaPage.vala" + tags = _tmp31_; +#line 469 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_ = _ ("Ta_gs"); +#line 469 "/home/jens/Source/shotwell/src/MediaPage.vala" + tags.label = _tmp32_; +#line 470 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = _ ("Display each photo's tags"); +#line 470 "/home/jens/Source/shotwell/src/MediaPage.vala" + tags.tooltip = _tmp33_; +#line 471 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_ = toggle_actions; +#line 471 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34__length1 = toggle_actions_length1; +#line 471 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp35_ = tags; +#line 471 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add330 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp35_); +#line 473 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp36_ = toggle_actions; +#line 473 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp36__length1 = toggle_actions_length1; +#line 473 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (result_length1) { +#line 473 "/home/jens/Source/shotwell/src/MediaPage.vala" + *result_length1 = _tmp36__length1; +#line 4367 "MediaPage.c" + } +#line 473 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp36_; +#line 473 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 4373 "MediaPage.c" +} + + +static void _vala_array_add331 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 488 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 488 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 488 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4384 "MediaPage.c" + } +#line 488 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4388 "MediaPage.c" +} + + +static void _vala_array_add332 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 494 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 494 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 494 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4399 "MediaPage.c" + } +#line 494 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4403 "MediaPage.c" +} + + +static void _vala_array_add333 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 500 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 500 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 500 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4414 "MediaPage.c" + } +#line 500 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4418 "MediaPage.c" +} + + +static void _vala_array_add334 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 506 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 506 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 506 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4429 "MediaPage.c" + } +#line 506 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4433 "MediaPage.c" +} + + +static void _media_page_on_sort_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self) { +#line 508 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_sort_changed ((MediaPage*) self); +#line 4440 "MediaPage.c" +} + + +static void _vala_array_add335 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 517 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 517 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 517 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4451 "MediaPage.c" + } +#line 517 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4455 "MediaPage.c" +} + + +static void _vala_array_add336 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 523 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((*length) == (*size)) { +#line 523 "/home/jens/Source/shotwell/src/MediaPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 523 "/home/jens/Source/shotwell/src/MediaPage.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4466 "MediaPage.c" + } +#line 523 "/home/jens/Source/shotwell/src/MediaPage.vala" + (*array)[(*length)++] = *value; +#line 4470 "MediaPage.c" +} + + +static void media_page_real_register_radio_actions (Page* base, GtkActionGroup* action_group) { + MediaPage * self; + gboolean sort_order = FALSE; + gint sort_by = 0; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + GtkRadioActionEntry* sort_crit_actions = NULL; + GtkRadioActionEntry* _tmp2_ = NULL; + gint sort_crit_actions_length1 = 0; + gint _sort_crit_actions_size_ = 0; + GtkRadioActionEntry by_title = {0}; + GtkRadioActionEntry _tmp3_ = {0}; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GtkRadioActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkRadioActionEntry _tmp7_ = {0}; + GtkRadioActionEntry by_date = {0}; + GtkRadioActionEntry _tmp8_ = {0}; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + GtkRadioActionEntry* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + GtkRadioActionEntry _tmp12_ = {0}; + GtkRadioActionEntry by_rating = {0}; + GtkRadioActionEntry _tmp13_ = {0}; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GtkRadioActionEntry* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + GtkRadioActionEntry _tmp17_ = {0}; + GtkRadioActionEntry by_filename = {0}; + GtkRadioActionEntry _tmp18_ = {0}; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + GtkRadioActionEntry* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GtkRadioActionEntry _tmp22_ = {0}; + GtkActionGroup* _tmp23_ = NULL; + GtkRadioActionEntry* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + GtkRadioActionEntry* sort_order_actions = NULL; + GtkRadioActionEntry* _tmp26_ = NULL; + gint sort_order_actions_length1 = 0; + gint _sort_order_actions_size_ = 0; + GtkRadioActionEntry ascending = {0}; + GtkRadioActionEntry _tmp27_ = {0}; + const gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + GtkRadioActionEntry* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + GtkRadioActionEntry _tmp31_ = {0}; + GtkRadioActionEntry descending = {0}; + GtkRadioActionEntry _tmp32_ = {0}; + const gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + GtkRadioActionEntry* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + GtkRadioActionEntry _tmp36_ = {0}; + gint _tmp37_ = 0; + gboolean _tmp38_ = FALSE; + GtkActionGroup* _tmp39_ = NULL; + GtkRadioActionEntry* _tmp40_ = NULL; + gint _tmp40__length1 = 0; + GtkActionGroup* _tmp41_ = NULL; +#line 476 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 476 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GTK_IS_ACTION_GROUP (action_group)); +#line 479 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_get_config_photos_sort (self, &_tmp0_, &_tmp1_); +#line 479 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_order = _tmp0_; +#line 479 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_by = _tmp1_; +#line 482 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = g_new0 (GtkRadioActionEntry, 0); +#line 482 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_crit_actions = _tmp2_; +#line 482 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_crit_actions_length1 = 0; +#line 482 "/home/jens/Source/shotwell/src/MediaPage.vala" + _sort_crit_actions_size_ = sort_crit_actions_length1; +#line 484 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_.name = "SortByTitle"; +#line 484 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_.stock_id = NULL; +#line 484 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_.label = TRANSLATABLE; +#line 484 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_.accelerator = NULL; +#line 484 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_.tooltip = TRANSLATABLE; +#line 484 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_.value = (gint) MEDIA_PAGE_SORT_BY_TITLE; +#line 484 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_title = _tmp3_; +#line 486 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _ ("By _Title"); +#line 486 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_title.label = _tmp4_; +#line 487 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _ ("Sort photos by title"); +#line 487 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_title.tooltip = _tmp5_; +#line 488 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = sort_crit_actions; +#line 488 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6__length1 = sort_crit_actions_length1; +#line 488 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = by_title; +#line 488 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add331 (&sort_crit_actions, &sort_crit_actions_length1, &_sort_crit_actions_size_, &_tmp7_); +#line 490 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.name = "SortByExposureDate"; +#line 490 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.stock_id = NULL; +#line 490 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.label = TRANSLATABLE; +#line 490 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.accelerator = NULL; +#line 490 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.tooltip = TRANSLATABLE; +#line 490 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_.value = (gint) MEDIA_PAGE_SORT_BY_EXPOSURE_DATE; +#line 490 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_date = _tmp8_; +#line 492 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _ ("By Exposure _Date"); +#line 492 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_date.label = _tmp9_; +#line 493 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _ ("Sort photos by exposure date"); +#line 493 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_date.tooltip = _tmp10_; +#line 494 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = sort_crit_actions; +#line 494 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11__length1 = sort_crit_actions_length1; +#line 494 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = by_date; +#line 494 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add332 (&sort_crit_actions, &sort_crit_actions_length1, &_sort_crit_actions_size_, &_tmp12_); +#line 496 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_.name = "SortByRating"; +#line 496 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_.stock_id = NULL; +#line 496 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_.label = TRANSLATABLE; +#line 496 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_.accelerator = NULL; +#line 496 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_.tooltip = TRANSLATABLE; +#line 496 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_.value = (gint) MEDIA_PAGE_SORT_BY_RATING; +#line 496 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_rating = _tmp13_; +#line 498 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _ ("By _Rating"); +#line 498 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_rating.label = _tmp14_; +#line 499 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _ ("Sort photos by rating"); +#line 499 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_rating.tooltip = _tmp15_; +#line 500 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = sort_crit_actions; +#line 500 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16__length1 = sort_crit_actions_length1; +#line 500 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = by_rating; +#line 500 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add333 (&sort_crit_actions, &sort_crit_actions_length1, &_sort_crit_actions_size_, &_tmp17_); +#line 502 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_.name = "SortByFilename"; +#line 502 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_.stock_id = NULL; +#line 502 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_.label = TRANSLATABLE; +#line 502 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_.accelerator = NULL; +#line 502 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_.tooltip = TRANSLATABLE; +#line 502 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_.value = (gint) MEDIA_PAGE_SORT_BY_FILENAME; +#line 502 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_filename = _tmp18_; +#line 504 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = _ ("By _Filename"); +#line 504 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_filename.label = _tmp19_; +#line 505 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = _ ("Sort photos by filename"); +#line 505 "/home/jens/Source/shotwell/src/MediaPage.vala" + by_filename.tooltip = _tmp20_; +#line 506 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = sort_crit_actions; +#line 506 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21__length1 = sort_crit_actions_length1; +#line 506 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = by_filename; +#line 506 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add334 (&sort_crit_actions, &sort_crit_actions_length1, &_sort_crit_actions_size_, &_tmp22_); +#line 508 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = action_group; +#line 508 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = sort_crit_actions; +#line 508 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24__length1 = sort_crit_actions_length1; +#line 508 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = sort_by; +#line 508 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_action_group_add_radio_actions (_tmp23_, _tmp24_, _tmp24__length1, _tmp25_, (GCallback) _media_page_on_sort_changed_gtk_radio_action_callback, self); +#line 511 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = g_new0 (GtkRadioActionEntry, 0); +#line 511 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_order_actions = _tmp26_; +#line 511 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_order_actions_length1 = 0; +#line 511 "/home/jens/Source/shotwell/src/MediaPage.vala" + _sort_order_actions_size_ = sort_order_actions_length1; +#line 513 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_.name = "SortAscending"; +#line 513 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_.stock_id = RESOURCES_SORT_ASCENDING_LABEL; +#line 513 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_.label = TRANSLATABLE; +#line 513 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_.accelerator = NULL; +#line 513 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_.tooltip = TRANSLATABLE; +#line 513 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_.value = MEDIA_PAGE_SORT_ORDER_ASCENDING; +#line 513 "/home/jens/Source/shotwell/src/MediaPage.vala" + ascending = _tmp27_; +#line 515 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp28_ = _ ("_Ascending"); +#line 515 "/home/jens/Source/shotwell/src/MediaPage.vala" + ascending.label = _tmp28_; +#line 516 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_ = _ ("Sort photos in an ascending order"); +#line 516 "/home/jens/Source/shotwell/src/MediaPage.vala" + ascending.tooltip = _tmp29_; +#line 517 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_ = sort_order_actions; +#line 517 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30__length1 = sort_order_actions_length1; +#line 517 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = ascending; +#line 517 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add335 (&sort_order_actions, &sort_order_actions_length1, &_sort_order_actions_size_, &_tmp31_); +#line 519 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_.name = "SortDescending"; +#line 519 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_.stock_id = RESOURCES_SORT_DESCENDING_LABEL; +#line 519 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_.label = TRANSLATABLE; +#line 519 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_.accelerator = NULL; +#line 519 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_.tooltip = TRANSLATABLE; +#line 519 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_.value = MEDIA_PAGE_SORT_ORDER_DESCENDING; +#line 519 "/home/jens/Source/shotwell/src/MediaPage.vala" + descending = _tmp32_; +#line 521 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = _ ("D_escending"); +#line 521 "/home/jens/Source/shotwell/src/MediaPage.vala" + descending.label = _tmp33_; +#line 522 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_ = _ ("Sort photos in a descending order"); +#line 522 "/home/jens/Source/shotwell/src/MediaPage.vala" + descending.tooltip = _tmp34_; +#line 523 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp35_ = sort_order_actions; +#line 523 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp35__length1 = sort_order_actions_length1; +#line 523 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp36_ = descending; +#line 523 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_array_add336 (&sort_order_actions, &sort_order_actions_length1, &_sort_order_actions_size_, &_tmp36_); +#line 526 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp38_ = sort_order; +#line 526 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp38_) { +#line 526 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp37_ = MEDIA_PAGE_SORT_ORDER_ASCENDING; +#line 4762 "MediaPage.c" + } else { +#line 526 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp37_ = MEDIA_PAGE_SORT_ORDER_DESCENDING; +#line 4766 "MediaPage.c" + } +#line 525 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_ = action_group; +#line 525 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp40_ = sort_order_actions; +#line 525 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp40__length1 = sort_order_actions_length1; +#line 525 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_action_group_add_radio_actions (_tmp39_, _tmp40_, _tmp40__length1, _tmp37_, (GCallback) _media_page_on_sort_changed_gtk_radio_action_callback, self); +#line 528 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp41_ = action_group; +#line 528 "/home/jens/Source/shotwell/src/MediaPage.vala" + PAGE_CLASS (media_page_parent_class)->register_radio_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp41_); +#line 476 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_order_actions = (g_free (sort_order_actions), NULL); +#line 476 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_crit_actions = (g_free (sort_crit_actions), NULL); +#line 4784 "MediaPage.c" +} + + +static void media_page_real_update_actions (Page* base, gint selected_count, gint count) { + MediaPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + gint _tmp13_ = 0; + gboolean _tmp14_ = FALSE; + gint _tmp15_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gint _tmp22_ = 0; +#line 531 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 532 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = selected_count; +#line 532 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Export", _tmp0_ > 0); +#line 533 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = selected_count; +#line 533 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditTitle", _tmp1_ > 0); +#line 534 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = selected_count; +#line 534 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditComment", _tmp2_ > 0); +#line 535 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = media_page_get_thumb_size (self); +#line 535 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = thumbnail_get_MAX_SCALE (); +#line 535 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 535 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize", _tmp3_ < _tmp5_); +#line 536 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = media_page_get_thumb_size (self); +#line 536 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = thumbnail_get_MIN_SCALE (); +#line 536 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _tmp7_; +#line 536 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize", _tmp6_ > _tmp8_); +#line 537 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = selected_count; +#line 537 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RemoveFromLibrary", _tmp9_ > 0); +#line 538 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = selected_count; +#line 538 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "MoveToTrash", _tmp10_ > 0); +#line 540 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = desktop_integration_is_send_to_installed (); +#line 540 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp11_) { +#line 4850 "MediaPage.c" + gint _tmp12_ = 0; +#line 541 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = selected_count; +#line 541 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SendTo", _tmp12_ > 0); +#line 4856 "MediaPage.c" + } else { +#line 543 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SendTo", FALSE); +#line 4860 "MediaPage.c" + } +#line 545 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = selected_count; +#line 545 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Rate", _tmp13_ > 0); +#line 546 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_update_rating_sensitivities (self); +#line 548 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_update_development_menu_item_sensitivity (self); +#line 550 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = selected_count; +#line 550 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp15_ == 1) { +#line 4874 "MediaPage.c" + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + DataSource* _tmp19_ = NULL; +#line 551 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 551 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _tmp16_; +#line 551 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = view_collection_get_selected_source_at (_tmp17_, 0); +#line 551 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = _tmp18_; +#line 551 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_VIDEO); +#line 551 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp19_); +#line 551 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp17_); +#line 4893 "MediaPage.c" + } else { +#line 550 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = FALSE; +#line 4897 "MediaPage.c" + } +#line 550 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PlayVideo", _tmp14_); +#line 553 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = selected_count; +#line 553 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_update_flag_action (self, _tmp20_); +#line 555 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = selected_count; +#line 555 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = count; +#line 555 "/home/jens/Source/shotwell/src/MediaPage.vala" + PAGE_CLASS (media_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp21_, _tmp22_); +#line 4911 "MediaPage.c" +} + + +static void media_page_on_media_altered (MediaPage* self, GeeMap* altered) { +#line 558 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 558 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GEE_IS_MAP (altered)); +#line 4920 "MediaPage.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = altered; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _object_it = _tmp5_; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 4947 "MediaPage.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + Alteration* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _object_it; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!_tmp7_) { +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 4967 "MediaPage.c" + } +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _object_it; +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + object = (DataObject*) _tmp9_; +#line 560 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = altered; +#line 560 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = object; +#line 560 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 560 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = (Alteration*) _tmp12_; +#line 560 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = alteration_has_detail (_tmp13_, "metadata", "flagged"); +#line 560 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _tmp14_; +#line 560 "/home/jens/Source/shotwell/src/MediaPage.vala" + _alteration_unref0 (_tmp13_); +#line 560 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp15_) { +#line 4991 "MediaPage.c" + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 561 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 561 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _tmp16_; +#line 561 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = view_collection_get_selected_count (_tmp17_); +#line 561 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_update_flag_action (self, _tmp18_); +#line 561 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp17_); +#line 563 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (object); +#line 563 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 5009 "MediaPage.c" + } +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (object); +#line 5013 "MediaPage.c" + } +#line 559 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_object_it); +#line 5017 "MediaPage.c" + } +} + + +static void media_page_update_rating_sensitivities (MediaPage* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 568 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 569 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_can_rate_selected (self, RATING_REJECTED); +#line 569 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateRejected", _tmp0_); +#line 570 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = media_page_can_rate_selected (self, RATING_UNRATED); +#line 570 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateUnrated", _tmp1_); +#line 571 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_page_can_rate_selected (self, RATING_ONE); +#line 571 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateOne", _tmp2_); +#line 572 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = media_page_can_rate_selected (self, RATING_TWO); +#line 572 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateTwo", _tmp3_); +#line 573 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = media_page_can_rate_selected (self, RATING_THREE); +#line 573 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateThree", _tmp4_); +#line 574 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = media_page_can_rate_selected (self, RATING_FOUR); +#line 574 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFour", _tmp5_); +#line 575 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = media_page_can_rate_selected (self, RATING_FIVE); +#line 575 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFive", _tmp6_); +#line 576 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = media_page_can_increase_selected_rating (self); +#line 576 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseRating", _tmp7_); +#line 577 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = media_page_can_decrease_selected_rating (self); +#line 577 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseRating", _tmp8_); +#line 5070 "MediaPage.c" +} + + +static void media_page_update_development_menu_item_sensitivity (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean avail_shotwell = FALSE; + gboolean avail_camera = FALSE; + gboolean is_raw = FALSE; + gboolean _tmp41_ = FALSE; + gboolean _tmp42_ = FALSE; +#line 580 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected (_tmp1_); +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_ == 0; +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 581 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp6_) { +#line 582 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloper", FALSE); +#line 583 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 5113 "MediaPage.c" + } +#line 587 "/home/jens/Source/shotwell/src/MediaPage.vala" + avail_shotwell = FALSE; +#line 588 "/home/jens/Source/shotwell/src/MediaPage.vala" + avail_camera = FALSE; +#line 589 "/home/jens/Source/shotwell/src/MediaPage.vala" + is_raw = FALSE; +#line 5121 "MediaPage.c" + { + GeeList* _view_list = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + GeeList* _tmp10_ = NULL; + gint _view_size = 0; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _view_index = 0; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _tmp7_; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = view_collection_get_selected (_tmp8_); +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _tmp9_; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp8_); +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_list = _tmp10_; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _view_list; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = _tmp12_; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_size = _tmp13_; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = -1; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 5157 "MediaPage.c" + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + DataView* view = NULL; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gpointer _tmp19_ = NULL; + Photo* photo = NULL; + DataView* _tmp20_ = NULL; + MediaSource* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + Photo* _tmp24_ = NULL; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _view_index; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = _tmp14_ + 1; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _view_index; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = _view_size; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!(_tmp15_ < _tmp16_)) { +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 5183 "MediaPage.c" + } +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _view_list; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = _view_index; +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = gee_list_get (_tmp17_, _tmp18_); +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + view = (DataView*) _tmp19_; +#line 591 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = view; +#line 591 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = thumbnail_get_media_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_THUMBNAIL, Thumbnail)); +#line 591 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, TYPE_PHOTO) ? ((Photo*) _tmp21_) : NULL; +#line 591 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp22_ == NULL) { +#line 591 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp21_); +#line 5203 "MediaPage.c" + } +#line 591 "/home/jens/Source/shotwell/src/MediaPage.vala" + photo = _tmp22_; +#line 592 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = photo; +#line 592 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp24_ != NULL) { +#line 5211 "MediaPage.c" + Photo* _tmp25_ = NULL; + PhotoFileFormat _tmp26_ = 0; +#line 592 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = photo; +#line 592 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = photo_get_master_file_format (_tmp25_); +#line 592 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = _tmp26_ == PHOTO_FILE_FORMAT_RAW; +#line 5220 "MediaPage.c" + } else { +#line 592 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = FALSE; +#line 5224 "MediaPage.c" + } +#line 592 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp23_) { +#line 5228 "MediaPage.c" + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + gboolean _tmp31_ = FALSE; + gboolean _tmp32_ = FALSE; + gboolean _tmp38_ = FALSE; + gboolean _tmp39_ = FALSE; +#line 593 "/home/jens/Source/shotwell/src/MediaPage.vala" + is_raw = TRUE; +#line 595 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp28_ = avail_shotwell; +#line 595 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!_tmp28_) { +#line 5241 "MediaPage.c" + Photo* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; +#line 595 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_ = photo; +#line 595 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_ = photo_is_raw_developer_available (_tmp29_, RAW_DEVELOPER_SHOTWELL); +#line 595 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = _tmp30_; +#line 5250 "MediaPage.c" + } else { +#line 595 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = FALSE; +#line 5254 "MediaPage.c" + } +#line 595 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp27_) { +#line 596 "/home/jens/Source/shotwell/src/MediaPage.vala" + avail_shotwell = TRUE; +#line 5260 "MediaPage.c" + } +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_ = avail_camera; +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!_tmp32_) { +#line 5266 "MediaPage.c" + gboolean _tmp33_ = FALSE; + Photo* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_ = photo; +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp35_ = photo_is_raw_developer_available (_tmp34_, RAW_DEVELOPER_CAMERA); +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp35_) { +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = TRUE; +#line 5278 "MediaPage.c" + } else { + Photo* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; +#line 599 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp36_ = photo; +#line 599 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp37_ = photo_is_raw_developer_available (_tmp36_, RAW_DEVELOPER_EMBEDDED); +#line 599 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = _tmp37_; +#line 5288 "MediaPage.c" + } +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = _tmp33_; +#line 5292 "MediaPage.c" + } else { +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = FALSE; +#line 5296 "MediaPage.c" + } +#line 598 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp31_) { +#line 600 "/home/jens/Source/shotwell/src/MediaPage.vala" + avail_camera = TRUE; +#line 5302 "MediaPage.c" + } +#line 602 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_ = avail_shotwell; +#line 602 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp39_) { +#line 5308 "MediaPage.c" + gboolean _tmp40_ = FALSE; +#line 602 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp40_ = avail_camera; +#line 602 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp38_ = _tmp40_; +#line 5314 "MediaPage.c" + } else { +#line 602 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp38_ = FALSE; +#line 5318 "MediaPage.c" + } +#line 602 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp38_) { +#line 603 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (photo); +#line 603 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 603 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 5328 "MediaPage.c" + } + } +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (photo); +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 5335 "MediaPage.c" + } +#line 590 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_view_list); +#line 5339 "MediaPage.c" + } +#line 609 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp41_ = is_raw; +#line 609 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloper", _tmp41_); +#line 611 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_ = is_raw; +#line 611 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp42_) { +#line 5349 "MediaPage.c" + gboolean _tmp43_ = FALSE; + gboolean _tmp44_ = FALSE; +#line 613 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp43_ = avail_shotwell; +#line 613 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperShotwell", _tmp43_); +#line 614 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp44_ = avail_camera; +#line 614 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperCamera", _tmp44_); +#line 5360 "MediaPage.c" + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 626 "/home/jens/Source/shotwell/src/MediaPage.vala" + return self ? g_object_ref (self) : NULL; +#line 5368 "MediaPage.c" +} + + +static void media_page_update_flag_action (MediaPage* self, gint selected_count) { + gint _tmp0_ = 0; + gchar* flag_label = NULL; + gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + GtkAction* flag_action = NULL; + GtkAction* _tmp24_ = NULL; + GtkAction* _tmp25_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 619 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = selected_count; +#line 619 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag", _tmp0_ > 0); +#line 621 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = g_strdup (RESOURCES_FLAG_MENU); +#line 621 "/home/jens/Source/shotwell/src/MediaPage.vala" + flag_label = _tmp1_; +#line 623 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = selected_count; +#line 623 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp2_ > 0) { +#line 5394 "MediaPage.c" + gboolean all_flagged = FALSE; + gboolean _tmp22_ = FALSE; +#line 624 "/home/jens/Source/shotwell/src/MediaPage.vala" + all_flagged = TRUE; +#line 5399 "MediaPage.c" + { + GeeList* _source_list = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + gint _source_size = 0; + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _source_index = 0; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _tmp3_; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = view_collection_get_selected_sources (_tmp4_); +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp4_); +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _source_list = _tmp6_; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _source_list; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _source_size = _tmp9_; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _source_index = -1; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 5435 "MediaPage.c" + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + DataSource* source = NULL; + GeeList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gpointer _tmp15_ = NULL; + Flaggable* flaggable = NULL; + DataSource* _tmp16_ = NULL; + Flaggable* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + Flaggable* _tmp19_ = NULL; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _source_index; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _source_index = _tmp10_ + 1; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _source_index; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _source_size; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!(_tmp11_ < _tmp12_)) { +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 5460 "MediaPage.c" + } +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = _source_list; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _source_index; +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = gee_list_get (_tmp13_, _tmp14_); +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + source = (DataSource*) _tmp15_; +#line 626 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = source; +#line 626 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp16_) : NULL); +#line 626 "/home/jens/Source/shotwell/src/MediaPage.vala" + flaggable = _tmp17_; +#line 627 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = flaggable; +#line 627 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp19_ != NULL) { +#line 5480 "MediaPage.c" + Flaggable* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 627 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = flaggable; +#line 627 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = flaggable_is_flagged (_tmp20_); +#line 627 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = !_tmp21_; +#line 5489 "MediaPage.c" + } else { +#line 627 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = FALSE; +#line 5493 "MediaPage.c" + } +#line 627 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp18_) { +#line 628 "/home/jens/Source/shotwell/src/MediaPage.vala" + all_flagged = FALSE; +#line 630 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (flaggable); +#line 630 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (source); +#line 630 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 5505 "MediaPage.c" + } +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (flaggable); +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (source); +#line 5511 "MediaPage.c" + } +#line 625 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_source_list); +#line 5515 "MediaPage.c" + } +#line 634 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = all_flagged; +#line 634 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp22_) { +#line 5521 "MediaPage.c" + gchar* _tmp23_ = NULL; +#line 635 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = g_strdup (RESOURCES_UNFLAG_MENU); +#line 635 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (flag_label); +#line 635 "/home/jens/Source/shotwell/src/MediaPage.vala" + flag_label = _tmp23_; +#line 5529 "MediaPage.c" + } + } +#line 639 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag"); +#line 639 "/home/jens/Source/shotwell/src/MediaPage.vala" + flag_action = _tmp24_; +#line 640 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = flag_action; +#line 640 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp25_ != NULL) { +#line 5540 "MediaPage.c" + GtkAction* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 641 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = flag_action; +#line 641 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = flag_label; +#line 641 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_action_set_label (_tmp26_, _tmp27_); +#line 5549 "MediaPage.c" + } +#line 618 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (flag_action); +#line 618 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (flag_label); +#line 5555 "MediaPage.c" +} + + +static gpointer _core_tracker_ref0 (gpointer self) { +#line 646 "/home/jens/Source/shotwell/src/MediaPage.vala" + return self ? core_tracker_ref (self) : NULL; +#line 5562 "MediaPage.c" +} + + +static CoreViewTracker* media_page_real_get_view_tracker (CheckerboardPage* base) { + MediaPage * self; + CoreViewTracker* result = NULL; + MediaViewTracker* _tmp0_ = NULL; + CoreViewTracker* _tmp1_ = NULL; +#line 645 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 646 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->tracker; +#line 646 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, CORE_TYPE_VIEW_TRACKER, CoreViewTracker)); +#line 646 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp1_; +#line 646 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 5581 "MediaPage.c" +} + + +void media_page_set_display_ratings (MediaPage* self, gboolean display) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GValue _tmp5_ = {0}; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GtkToggleAction* action = NULL; + GtkAction* _tmp8_ = NULL; + GtkToggleAction* _tmp9_ = NULL; + GtkToggleAction* _tmp10_ = NULL; +#line 649 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 650 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 650 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 650 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 650 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 651 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 651 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 651 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = display; +#line 651 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_init (&_tmp5_, G_TYPE_BOOLEAN); +#line 651 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_set_boolean (&_tmp5_, _tmp4_); +#line 651 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), THUMBNAIL_PROP_SHOW_RATINGS, &_tmp5_, NULL, NULL); +#line 651 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_IS_VALUE (&_tmp5_) ? (g_value_unset (&_tmp5_), NULL) : NULL; +#line 651 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp3_); +#line 652 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 652 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 652 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection)); +#line 652 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp7_); +#line 654 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ViewRatings"); +#line 654 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp8_) : NULL; +#line 654 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp9_ == NULL) { +#line 654 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp8_); +#line 5640 "MediaPage.c" + } +#line 654 "/home/jens/Source/shotwell/src/MediaPage.vala" + action = _tmp9_; +#line 655 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = action; +#line 655 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp10_ != NULL) { +#line 5648 "MediaPage.c" + GtkToggleAction* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 656 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = action; +#line 656 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = display; +#line 656 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_toggle_action_set_active (_tmp11_, _tmp12_); +#line 5657 "MediaPage.c" + } +#line 649 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (action); +#line 5661 "MediaPage.c" +} + + +static gboolean media_page_can_rate_selected (MediaPage* self, Rating rating) { + gboolean result = FALSE; +#line 659 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), FALSE); +#line 5669 "MediaPage.c" + { + GeeList* _view_list = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _view_size = 0; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _view_index = 0; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected (_tmp1_); +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_list = _tmp3_; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _view_list; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_size = _tmp6_; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = -1; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 5705 "MediaPage.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + DataView* view = NULL; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + DataView* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + Rating _tmp16_ = 0; + Rating _tmp17_ = 0; + gboolean _tmp18_ = FALSE; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _view_index; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = _tmp7_ + 1; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _view_index; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _view_size; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 5731 "MediaPage.c" + } +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _view_list; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _view_index; +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = gee_list_get (_tmp10_, _tmp11_); +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + view = (DataView*) _tmp12_; +#line 661 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = view; +#line 661 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = thumbnail_get_media_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_THUMBNAIL, Thumbnail)); +#line 661 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _tmp14_; +#line 661 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = media_source_get_rating (_tmp15_); +#line 661 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = rating; +#line 661 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = _tmp16_ != _tmp17_; +#line 661 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp15_); +#line 661 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp18_) { +#line 662 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = TRUE; +#line 662 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 662 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_view_list); +#line 662 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 5765 "MediaPage.c" + } +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 5769 "MediaPage.c" + } +#line 660 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_view_list); +#line 5773 "MediaPage.c" + } +#line 665 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = FALSE; +#line 665 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 5779 "MediaPage.c" +} + + +static gboolean media_page_can_increase_selected_rating (MediaPage* self) { + gboolean result = FALSE; +#line 668 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), FALSE); +#line 5787 "MediaPage.c" + { + GeeList* _view_list = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _view_size = 0; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _view_index = 0; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected (_tmp1_); +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_list = _tmp3_; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _view_list; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_size = _tmp6_; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = -1; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 5823 "MediaPage.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + DataView* view = NULL; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + DataView* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + Rating _tmp16_ = 0; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _view_index; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = _tmp7_ + 1; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _view_index; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _view_size; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 5849 "MediaPage.c" + } +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _view_list; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _view_index; +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = gee_list_get (_tmp10_, _tmp11_); +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + view = (DataView*) _tmp12_; +#line 670 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = view; +#line 670 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = thumbnail_get_media_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_THUMBNAIL, Thumbnail)); +#line 670 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _tmp14_; +#line 670 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = media_source_get_rating (_tmp15_); +#line 670 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = rating_can_increase (_tmp16_); +#line 670 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = _tmp17_; +#line 670 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp15_); +#line 670 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp18_) { +#line 671 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = TRUE; +#line 671 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 671 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_view_list); +#line 671 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 5883 "MediaPage.c" + } +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 5887 "MediaPage.c" + } +#line 669 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_view_list); +#line 5891 "MediaPage.c" + } +#line 674 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = FALSE; +#line 674 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 5897 "MediaPage.c" +} + + +static gboolean media_page_can_decrease_selected_rating (MediaPage* self) { + gboolean result = FALSE; +#line 677 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), FALSE); +#line 5905 "MediaPage.c" + { + GeeList* _view_list = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _view_size = 0; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _view_index = 0; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected (_tmp1_); +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_list = _tmp3_; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _view_list; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_size = _tmp6_; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = -1; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 5941 "MediaPage.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + DataView* view = NULL; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + DataView* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + Rating _tmp16_ = 0; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _view_index; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = _tmp7_ + 1; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _view_index; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _view_size; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 5967 "MediaPage.c" + } +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _view_list; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _view_index; +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = gee_list_get (_tmp10_, _tmp11_); +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + view = (DataView*) _tmp12_; +#line 679 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = view; +#line 679 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = thumbnail_get_media_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_THUMBNAIL, Thumbnail)); +#line 679 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _tmp14_; +#line 679 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = media_source_get_rating (_tmp15_); +#line 679 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = rating_can_decrease (_tmp16_); +#line 679 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = _tmp17_; +#line 679 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp15_); +#line 679 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp18_) { +#line 680 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = TRUE; +#line 680 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 680 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_view_list); +#line 680 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 6001 "MediaPage.c" + } +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 6005 "MediaPage.c" + } +#line 678 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_view_list); +#line 6009 "MediaPage.c" + } +#line 683 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = FALSE; +#line 683 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 6015 "MediaPage.c" +} + + +MediaPageZoomSliderAssembly* media_page_create_zoom_slider_assembly (MediaPage* self) { + MediaPageZoomSliderAssembly* result = NULL; + MediaPageZoomSliderAssembly* _tmp0_ = NULL; +#line 686 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), NULL); +#line 687 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_zoom_slider_assembly_new (); +#line 687 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_object_ref_sink (_tmp0_); +#line 687 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp0_; +#line 687 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 6032 "MediaPage.c" +} + + +static gboolean media_page_real_on_mousewheel_up (Page* base, GdkEventScroll* event) { + MediaPage * self; + gboolean result = FALSE; + GdkEventScroll* _tmp0_ = NULL; + GdkModifierType _tmp1_ = 0; +#line 690 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 690 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 691 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = event; +#line 691 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_->state; +#line 691 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((_tmp1_ & GDK_CONTROL_MASK) != 0) { +#line 692 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_increase_zoom_level (self); +#line 693 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = TRUE; +#line 693 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 6057 "MediaPage.c" + } else { + GdkEventScroll* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 695 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = event; +#line 695 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = PAGE_CLASS (media_page_parent_class)->on_mousewheel_up (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp2_); +#line 695 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp3_; +#line 695 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 6069 "MediaPage.c" + } +} + + +static gboolean media_page_real_on_mousewheel_down (Page* base, GdkEventScroll* event) { + MediaPage * self; + gboolean result = FALSE; + GdkEventScroll* _tmp0_ = NULL; + GdkModifierType _tmp1_ = 0; +#line 699 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 699 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 700 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = event; +#line 700 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_->state; +#line 700 "/home/jens/Source/shotwell/src/MediaPage.vala" + if ((_tmp1_ & GDK_CONTROL_MASK) != 0) { +#line 701 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_decrease_zoom_level (self); +#line 702 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = TRUE; +#line 702 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 6095 "MediaPage.c" + } else { + GdkEventScroll* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 704 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = event; +#line 704 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = PAGE_CLASS (media_page_parent_class)->on_mousewheel_down (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp2_); +#line 704 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp3_; +#line 704 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 6107 "MediaPage.c" + } +} + + +static void media_page_on_send_to (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#line 708 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 709 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 709 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 709 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_sources (_tmp1_); +#line 709 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 709 "/home/jens/Source/shotwell/src/MediaPage.vala" + desktop_integration_send_to (_tmp3_); +#line 709 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 709 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 6133 "MediaPage.c" +} + + +void media_page_on_play_video (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + Video* video = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + Video* _tmp9_ = NULL; + Video* _tmp10_ = NULL; + Video* _tmp11_ = NULL; + GError * _inner_error_ = NULL; +#line 712 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 713 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 713 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 713 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 713 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 713 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 713 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 714 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 6168 "MediaPage.c" + } +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = view_collection_get_selected_at (_tmp5_, 0); +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = data_view_get_source (_tmp7_); +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_VIDEO) ? ((Video*) _tmp8_) : NULL; +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp9_ == NULL) { +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp8_); +#line 6186 "MediaPage.c" + } +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _tmp9_; +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp7_); +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 716 "/home/jens/Source/shotwell/src/MediaPage.vala" + video = _tmp10_; +#line 717 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = video; +#line 717 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp11_ == NULL) { +#line 718 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (video); +#line 718 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 6204 "MediaPage.c" + } + { + Video* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = video; +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _tmp13_; +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = g_file_get_uri (_tmp14_); +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = _tmp15_; +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_app_info_launch_default_for_uri (_tmp16_, NULL, &_inner_error_); +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (_tmp16_); +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp14_); +#line 721 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6230 "MediaPage.c" + goto __catch548_g_error; + } + } + goto __finally548; + __catch548_g_error: + { + GError* e = NULL; + const gchar* _tmp17_ = NULL; + GError* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 720 "/home/jens/Source/shotwell/src/MediaPage.vala" + e = _inner_error_; +#line 720 "/home/jens/Source/shotwell/src/MediaPage.vala" + _inner_error_ = NULL; +#line 723 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _ ("Shotwell was unable to play the selected video:\n%s"); +#line 723 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = e; +#line 723 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = _tmp18_->message; +#line 723 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = g_strdup_printf (_tmp17_, _tmp19_); +#line 723 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = _tmp20_; +#line 723 "/home/jens/Source/shotwell/src/MediaPage.vala" + app_window_error_message (_tmp21_, NULL); +#line 723 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (_tmp21_); +#line 720 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_error_free0 (e); +#line 6263 "MediaPage.c" + } + __finally548: +#line 720 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 720 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (video); +#line 720 "/home/jens/Source/shotwell/src/MediaPage.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 720 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_clear_error (&_inner_error_); +#line 720 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 6276 "MediaPage.c" + } +#line 712 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (video); +#line 6280 "MediaPage.c" +} + + +static gboolean media_page_real_on_app_key_pressed (Page* base, GdkEventKey* event) { + MediaPage * self; + gboolean result = FALSE; + gboolean handled = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GQuark _tmp5_ = 0U; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label0 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label1 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label2 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label3 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label4 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label5 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label6 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label7 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label8 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label9 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label10 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label11 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label12 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label13 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label14 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label15 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label16 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label17 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label18 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label19 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label20 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label21 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label22 = 0; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + static GQuark _tmp4_label23 = 0; +#line 6341 "MediaPage.c" + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; +#line 728 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 728 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 729 "/home/jens/Source/shotwell/src/MediaPage.vala" + handled = TRUE; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = event; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_->keyval; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_); +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (((_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("equal")))) || (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("plus"))))) || (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("KP_Add"))))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6364 "MediaPage.c" + default: + { +#line 734 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize"); +#line 735 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6371 "MediaPage.c" + } + } + } else if (((_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("minus")))) || (_tmp5_ == ((0 != _tmp4_label4) ? _tmp4_label4 : (_tmp4_label4 = g_quark_from_static_string ("underscore"))))) || (_tmp5_ == ((0 != _tmp4_label5) ? _tmp4_label5 : (_tmp4_label5 = g_quark_from_static_string ("KP_Subtract"))))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6377 "MediaPage.c" + default: + { +#line 740 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize"); +#line 741 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6384 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label6) ? _tmp4_label6 : (_tmp4_label6 = g_quark_from_static_string ("period")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6390 "MediaPage.c" + default: + { +#line 744 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseRating"); +#line 745 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6397 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label7) ? _tmp4_label7 : (_tmp4_label7 = g_quark_from_static_string ("comma")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6403 "MediaPage.c" + default: + { +#line 748 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseRating"); +#line 749 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6410 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label8) ? _tmp4_label8 : (_tmp4_label8 = g_quark_from_static_string ("KP_1")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6416 "MediaPage.c" + default: + { +#line 752 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateOne"); +#line 753 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6423 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label9) ? _tmp4_label9 : (_tmp4_label9 = g_quark_from_static_string ("KP_2")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6429 "MediaPage.c" + default: + { +#line 756 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateTwo"); +#line 757 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6436 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label10) ? _tmp4_label10 : (_tmp4_label10 = g_quark_from_static_string ("KP_3")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6442 "MediaPage.c" + default: + { +#line 760 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateThree"); +#line 761 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6449 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label11) ? _tmp4_label11 : (_tmp4_label11 = g_quark_from_static_string ("KP_4")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6455 "MediaPage.c" + default: + { +#line 764 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFour"); +#line 765 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6462 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label12) ? _tmp4_label12 : (_tmp4_label12 = g_quark_from_static_string ("KP_5")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6468 "MediaPage.c" + default: + { +#line 768 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFive"); +#line 769 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6475 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label13) ? _tmp4_label13 : (_tmp4_label13 = g_quark_from_static_string ("KP_0")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6481 "MediaPage.c" + default: + { +#line 772 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateUnrated"); +#line 773 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6488 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label14) ? _tmp4_label14 : (_tmp4_label14 = g_quark_from_static_string ("KP_9")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6494 "MediaPage.c" + default: + { +#line 776 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateRejected"); +#line 777 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6501 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label15) ? _tmp4_label15 : (_tmp4_label15 = g_quark_from_static_string ("exclam")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6507 "MediaPage.c" + default: + { + gboolean _tmp6_ = FALSE; +#line 780 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 780 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp6_) { +#line 6515 "MediaPage.c" + SearchViewFilter* _tmp7_ = NULL; + SearchViewFilter* _tmp8_ = NULL; +#line 781 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = checkerboard_page_get_search_view_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 781 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _tmp7_; +#line 781 "/home/jens/Source/shotwell/src/MediaPage.vala" + search_view_filter_set_rating_filter (_tmp8_, RATING_FILTER_ONE_OR_HIGHER); +#line 781 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_filter_unref0 (_tmp8_); +#line 6526 "MediaPage.c" + } +#line 782 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6530 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label16) ? _tmp4_label16 : (_tmp4_label16 = g_quark_from_static_string ("at")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6536 "MediaPage.c" + default: + { + gboolean _tmp9_ = FALSE; +#line 785 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 785 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp9_) { +#line 6544 "MediaPage.c" + SearchViewFilter* _tmp10_ = NULL; + SearchViewFilter* _tmp11_ = NULL; +#line 786 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = checkerboard_page_get_search_view_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 786 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _tmp10_; +#line 786 "/home/jens/Source/shotwell/src/MediaPage.vala" + search_view_filter_set_rating_filter (_tmp11_, RATING_FILTER_TWO_OR_HIGHER); +#line 786 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_filter_unref0 (_tmp11_); +#line 6555 "MediaPage.c" + } +#line 787 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6559 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label17) ? _tmp4_label17 : (_tmp4_label17 = g_quark_from_static_string ("numbersign")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6565 "MediaPage.c" + default: + { + gboolean _tmp12_ = FALSE; +#line 790 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 790 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp12_) { +#line 6573 "MediaPage.c" + SearchViewFilter* _tmp13_ = NULL; + SearchViewFilter* _tmp14_ = NULL; +#line 791 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = checkerboard_page_get_search_view_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 791 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _tmp13_; +#line 791 "/home/jens/Source/shotwell/src/MediaPage.vala" + search_view_filter_set_rating_filter (_tmp14_, RATING_FILTER_THREE_OR_HIGHER); +#line 791 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_filter_unref0 (_tmp14_); +#line 6584 "MediaPage.c" + } +#line 792 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6588 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label18) ? _tmp4_label18 : (_tmp4_label18 = g_quark_from_static_string ("dollar")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6594 "MediaPage.c" + default: + { + gboolean _tmp15_ = FALSE; +#line 795 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 795 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp15_) { +#line 6602 "MediaPage.c" + SearchViewFilter* _tmp16_ = NULL; + SearchViewFilter* _tmp17_ = NULL; +#line 796 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = checkerboard_page_get_search_view_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 796 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _tmp16_; +#line 796 "/home/jens/Source/shotwell/src/MediaPage.vala" + search_view_filter_set_rating_filter (_tmp17_, RATING_FILTER_FOUR_OR_HIGHER); +#line 796 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_filter_unref0 (_tmp17_); +#line 6613 "MediaPage.c" + } +#line 797 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6617 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label19) ? _tmp4_label19 : (_tmp4_label19 = g_quark_from_static_string ("percent")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6623 "MediaPage.c" + default: + { + gboolean _tmp18_ = FALSE; +#line 800 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 800 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp18_) { +#line 6631 "MediaPage.c" + SearchViewFilter* _tmp19_ = NULL; + SearchViewFilter* _tmp20_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = checkerboard_page_get_search_view_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 801 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = _tmp19_; +#line 801 "/home/jens/Source/shotwell/src/MediaPage.vala" + search_view_filter_set_rating_filter (_tmp20_, RATING_FILTER_FIVE_OR_HIGHER); +#line 801 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_filter_unref0 (_tmp20_); +#line 6642 "MediaPage.c" + } +#line 802 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6646 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label20) ? _tmp4_label20 : (_tmp4_label20 = g_quark_from_static_string ("parenright")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6652 "MediaPage.c" + default: + { + gboolean _tmp21_ = FALSE; +#line 805 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 805 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp21_) { +#line 6660 "MediaPage.c" + SearchViewFilter* _tmp22_ = NULL; + SearchViewFilter* _tmp23_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = checkerboard_page_get_search_view_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 806 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = _tmp22_; +#line 806 "/home/jens/Source/shotwell/src/MediaPage.vala" + search_view_filter_set_rating_filter (_tmp23_, RATING_FILTER_UNRATED_OR_HIGHER); +#line 806 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_filter_unref0 (_tmp23_); +#line 6671 "MediaPage.c" + } +#line 807 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6675 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label21) ? _tmp4_label21 : (_tmp4_label21 = g_quark_from_static_string ("parenleft")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6681 "MediaPage.c" + default: + { + gboolean _tmp24_ = FALSE; +#line 810 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 810 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp24_) { +#line 6689 "MediaPage.c" + SearchViewFilter* _tmp25_ = NULL; + SearchViewFilter* _tmp26_ = NULL; +#line 811 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = checkerboard_page_get_search_view_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 811 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = _tmp25_; +#line 811 "/home/jens/Source/shotwell/src/MediaPage.vala" + search_view_filter_set_rating_filter (_tmp26_, RATING_FILTER_REJECTED_OR_HIGHER); +#line 811 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_filter_unref0 (_tmp26_); +#line 6700 "MediaPage.c" + } +#line 812 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6704 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label22) ? _tmp4_label22 : (_tmp4_label22 = g_quark_from_static_string ("asterisk")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6710 "MediaPage.c" + default: + { + gboolean _tmp27_ = FALSE; +#line 815 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 815 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp27_) { +#line 6718 "MediaPage.c" + SearchViewFilter* _tmp28_ = NULL; + SearchViewFilter* _tmp29_ = NULL; +#line 816 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp28_ = checkerboard_page_get_search_view_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 816 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_ = _tmp28_; +#line 816 "/home/jens/Source/shotwell/src/MediaPage.vala" + search_view_filter_set_rating_filter (_tmp29_, RATING_FILTER_REJECTED_ONLY); +#line 816 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_filter_unref0 (_tmp29_); +#line 6729 "MediaPage.c" + } +#line 817 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6733 "MediaPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label23) ? _tmp4_label23 : (_tmp4_label23 = g_quark_from_static_string ("slash")))) { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6739 "MediaPage.c" + default: + { +#line 820 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag"); +#line 821 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6746 "MediaPage.c" + } + } + } else { +#line 730 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (0) { +#line 6752 "MediaPage.c" + default: + { +#line 824 "/home/jens/Source/shotwell/src/MediaPage.vala" + handled = FALSE; +#line 825 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 6759 "MediaPage.c" + } + } + } +#line 828 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = handled; +#line 828 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp31_) { +#line 828 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_ = TRUE; +#line 6769 "MediaPage.c" + } else { + GdkEventKey* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; +#line 828 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_ = event; +#line 828 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = PAGE_CLASS (media_page_parent_class)->on_app_key_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp32_); +#line 828 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_ = _tmp33_; +#line 6779 "MediaPage.c" + } +#line 828 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp30_; +#line 828 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 6785 "MediaPage.c" +} + + +static void media_page_real_switched_to (Page* base) { + MediaPage * self; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + ConfigFacade* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + ConfigFacade* _tmp8_ = NULL; + ConfigFacade* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + ConfigFacade* _tmp11_ = NULL; + ConfigFacade* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + gint _tmp18_ = 0; + gboolean _tmp19_ = FALSE; +#line 831 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 832 "/home/jens/Source/shotwell/src/MediaPage.vala" + PAGE_CLASS (media_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page)); +#line 835 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 835 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 835 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 835 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 836 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 836 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 836 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = configuration_facade_get_display_photo_titles (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 836 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_page_set_display_titles (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp4_); +#line 836 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 837 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = config_facade_get_instance (); +#line 837 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 837 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = configuration_facade_get_display_photo_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 837 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_page_set_display_comments (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp7_); +#line 837 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp6_); +#line 838 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = config_facade_get_instance (); +#line 838 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_; +#line 838 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 838 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_display_ratings (self, _tmp10_); +#line 838 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp9_); +#line 839 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = config_facade_get_instance (); +#line 839 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 839 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = configuration_facade_get_display_photo_tags (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 839 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_display_tags (self, _tmp13_); +#line 839 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp12_); +#line 840 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 840 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _tmp14_; +#line 840 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_COLLECTION, DataCollection)); +#line 840 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp15_); +#line 844 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 844 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _tmp16_; +#line 844 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = view_collection_get_selected_count (_tmp17_); +#line 844 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = _tmp18_ > 0; +#line 844 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp17_); +#line 844 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp19_) { +#line 6883 "MediaPage.c" + CheckerboardItem* selected = NULL; + ViewCollection* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + DataView* _tmp22_ = NULL; + CheckerboardItem* _tmp23_ = NULL; + CheckerboardItem* _tmp24_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 845 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = _tmp20_; +#line 845 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = view_collection_get_selected_at (_tmp21_, 0); +#line 845 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 845 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp21_); +#line 845 "/home/jens/Source/shotwell/src/MediaPage.vala" + selected = _tmp23_; +#line 846 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = selected; +#line 846 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp24_ != NULL) { +#line 6906 "MediaPage.c" + CheckerboardItem* _tmp25_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = selected; +#line 847 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_page_cursor_to_item (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp25_); +#line 6912 "MediaPage.c" + } +#line 844 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (selected); +#line 6916 "MediaPage.c" + } +#line 850 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_sync_sort (self); +#line 6920 "MediaPage.c" +} + + +static void media_page_real_switching_from (Page* base) { + MediaPage * self; +#line 853 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 854 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_disconnect_slider (self); +#line 856 "/home/jens/Source/shotwell/src/MediaPage.vala" + PAGE_CLASS (media_page_parent_class)->switching_from (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page)); +#line 6932 "MediaPage.c" +} + + +static void _media_page_on_zoom_changed_media_page_zoom_slider_assembly_zoom_changed (MediaPageZoomSliderAssembly* _sender, gpointer self) { +#line 861 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_zoom_changed ((MediaPage*) self); +#line 6939 "MediaPage.c" +} + + +void media_page_connect_slider (MediaPage* self, MediaPageZoomSliderAssembly* slider) { + MediaPageZoomSliderAssembly* _tmp0_ = NULL; + MediaPageZoomSliderAssembly* _tmp1_ = NULL; + MediaPageZoomSliderAssembly* _tmp2_ = NULL; +#line 859 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 859 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (slider)); +#line 860 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = slider; +#line 860 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 860 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (self->priv->connected_slider); +#line 860 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->connected_slider = _tmp1_; +#line 861 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = self->priv->connected_slider; +#line 861 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_connect_object (_tmp2_, "zoom-changed", (GCallback) _media_page_on_zoom_changed_media_page_zoom_slider_assembly_zoom_changed, self, 0); +#line 862 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_load_persistent_thumbnail_scale (self); +#line 6965 "MediaPage.c" +} + + +static void media_page_save_persistent_thumbnail_scale (MediaPage* self) { + MediaPageZoomSliderAssembly* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + ConfigFacade* _tmp2_ = NULL; + MediaPageZoomSliderAssembly* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 865 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 866 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->connected_slider; +#line 866 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ == NULL) { +#line 867 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 6983 "MediaPage.c" + } +#line 869 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = config_facade_get_instance (); +#line 869 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 869 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = self->priv->connected_slider; +#line 869 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = media_page_zoom_slider_assembly_get_scale (_tmp3_); +#line 869 "/home/jens/Source/shotwell/src/MediaPage.vala" + configuration_facade_set_photo_thumbnail_scale (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp4_); +#line 869 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp2_); +#line 6997 "MediaPage.c" +} + + +static void media_page_load_persistent_thumbnail_scale (MediaPage* self) { + MediaPageZoomSliderAssembly* _tmp0_ = NULL; + gint persistent_scale = 0; + ConfigFacade* _tmp1_ = NULL; + ConfigFacade* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + MediaPageZoomSliderAssembly* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 872 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 873 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->connected_slider; +#line 873 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ == NULL) { +#line 874 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7019 "MediaPage.c" + } +#line 876 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = config_facade_get_instance (); +#line 876 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 876 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = configuration_facade_get_photo_thumbnail_scale (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 876 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _tmp3_; +#line 876 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp2_); +#line 876 "/home/jens/Source/shotwell/src/MediaPage.vala" + persistent_scale = _tmp4_; +#line 878 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = self->priv->connected_slider; +#line 878 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = persistent_scale; +#line 878 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_zoom_slider_assembly_set_scale (_tmp5_, _tmp6_); +#line 879 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = persistent_scale; +#line 879 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_thumb_size (self, _tmp7_); +#line 7043 "MediaPage.c" +} + + +void media_page_disconnect_slider (MediaPage* self) { + MediaPageZoomSliderAssembly* _tmp0_ = NULL; + MediaPageZoomSliderAssembly* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 882 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 883 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->connected_slider; +#line 883 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ == NULL) { +#line 884 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7059 "MediaPage.c" + } +#line 886 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = self->priv->connected_slider; +#line 886 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_parse_name ("zoom-changed", MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, &_tmp2_, NULL, FALSE); +#line 886 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _media_page_on_zoom_changed_media_page_zoom_slider_assembly_zoom_changed, self); +#line 887 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (self->priv->connected_slider); +#line 887 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->connected_slider = NULL; +#line 7071 "MediaPage.c" +} + + +static void media_page_real_on_zoom_changed (MediaPage* self) { + MediaPageZoomSliderAssembly* _tmp0_ = NULL; +#line 891 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->connected_slider; +#line 891 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ != NULL) { +#line 7081 "MediaPage.c" + MediaPageZoomSliderAssembly* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 892 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = self->priv->connected_slider; +#line 892 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_page_zoom_slider_assembly_get_scale (_tmp1_); +#line 892 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_thumb_size (self, _tmp2_); +#line 7090 "MediaPage.c" + } +#line 894 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_save_persistent_thumbnail_scale (self); +#line 7094 "MediaPage.c" +} + + +void media_page_on_zoom_changed (MediaPage* self) { +#line 890 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 890 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_zoom_changed (self); +#line 7103 "MediaPage.c" +} + + +static void media_page_real_on_export (MediaPage* self) { +#line 897 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_critical ("Type `%s' does not implement abstract method `media_page_on_export'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 897 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7112 "MediaPage.c" +} + + +void media_page_on_export (MediaPage* self) { +#line 897 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 897 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_export (self); +#line 7121 "MediaPage.c" +} + + +static void media_page_real_on_increase_size (MediaPage* self) { +#line 900 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_increase_zoom_level (self); +#line 7128 "MediaPage.c" +} + + +void media_page_on_increase_size (MediaPage* self) { +#line 899 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 899 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_increase_size (self); +#line 7137 "MediaPage.c" +} + + +static void media_page_real_on_decrease_size (MediaPage* self) { +#line 904 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_decrease_zoom_level (self); +#line 7144 "MediaPage.c" +} + + +void media_page_on_decrease_size (MediaPage* self) { +#line 903 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 903 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_decrease_size (self); +#line 7153 "MediaPage.c" +} + + +static void media_page_on_add_tags (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + AddTagsDialog* dialog = NULL; + AddTagsDialog* _tmp4_ = NULL; + gchar** names = NULL; + AddTagsDialog* _tmp5_ = NULL; + gint _tmp6_ = 0; + gchar** _tmp7_ = NULL; + gint names_length1 = 0; + gint _names_size_ = 0; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 907 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 908 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 908 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 908 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 908 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 908 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 908 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 909 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7188 "MediaPage.c" + } +#line 911 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = add_tags_dialog_new (); +#line 911 "/home/jens/Source/shotwell/src/MediaPage.vala" + dialog = _tmp4_; +#line 912 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = dialog; +#line 912 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = add_tags_dialog_execute (_tmp5_, &_tmp6_); +#line 912 "/home/jens/Source/shotwell/src/MediaPage.vala" + names = _tmp7_; +#line 912 "/home/jens/Source/shotwell/src/MediaPage.vala" + names_length1 = _tmp6_; +#line 912 "/home/jens/Source/shotwell/src/MediaPage.vala" + _names_size_ = names_length1; +#line 914 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = names; +#line 914 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8__length1 = names_length1; +#line 914 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp8_ != NULL) { +#line 7210 "MediaPage.c" + CommandManager* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; + HierarchicalTagIndex* _tmp11_ = NULL; + HierarchicalTagIndex* _tmp12_ = NULL; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + gchar** _tmp15_ = NULL; + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + ViewCollection* _tmp17_ = NULL; + ViewCollection* _tmp18_ = NULL; + GeeList* _tmp19_ = NULL; + GeeCollection* _tmp20_ = NULL; + AddTagsCommand* _tmp21_ = NULL; + AddTagsCommand* _tmp22_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _tmp9_; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = hierarchical_tag_index_get_global_index (); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = names; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13__length1 = names_length1; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = hierarchical_tag_index_get_paths_for_names_array (_tmp12_, _tmp13_, _tmp13__length1, &_tmp14_); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = _tmp15_; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16__length1 = _tmp14_; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = _tmp17_; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = view_collection_get_selected_sources (_tmp18_); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = add_tags_command_new (_tmp16_, _tmp14_, _tmp20_); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = _tmp21_; +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_COMMAND, Command)); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp22_); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp20_); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp18_); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = (_vala_array_free (_tmp16_, _tmp16__length1, (GDestroyNotify) g_free), NULL); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _hierarchical_tag_index_unref0 (_tmp12_); +#line 915 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp10_); +#line 7271 "MediaPage.c" + } +#line 907 "/home/jens/Source/shotwell/src/MediaPage.vala" + names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL); +#line 907 "/home/jens/Source/shotwell/src/MediaPage.vala" + _text_entry_dialog_mediator_unref0 (dialog); +#line 7277 "MediaPage.c" +} + + +static void media_page_on_modify_tags (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + MediaSource* media = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; + ModifyTagsDialog* dialog = NULL; + MediaSource* _tmp10_ = NULL; + ModifyTagsDialog* _tmp11_ = NULL; + GeeArrayList* new_tags = NULL; + ModifyTagsDialog* _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; + GeeArrayList* _tmp14_ = NULL; + CommandManager* _tmp15_ = NULL; + CommandManager* _tmp16_ = NULL; + MediaSource* _tmp17_ = NULL; + GeeArrayList* _tmp18_ = NULL; + ModifyTagsCommand* _tmp19_ = NULL; + ModifyTagsCommand* _tmp20_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 922 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 922 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 922 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 922 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 922 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 922 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 923 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7322 "MediaPage.c" + } +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = view_collection_get_selected_at (_tmp5_, 0); +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = data_view_get_source (_tmp7_); +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource); +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp7_); +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 925 "/home/jens/Source/shotwell/src/MediaPage.vala" + media = _tmp9_; +#line 927 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = media; +#line 927 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = modify_tags_dialog_new (_tmp10_); +#line 927 "/home/jens/Source/shotwell/src/MediaPage.vala" + dialog = _tmp11_; +#line 928 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = dialog; +#line 928 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = modify_tags_dialog_execute (_tmp12_); +#line 928 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_tags = _tmp13_; +#line 930 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = new_tags; +#line 930 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp14_ == NULL) { +#line 931 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (new_tags); +#line 931 "/home/jens/Source/shotwell/src/MediaPage.vala" + _text_entry_dialog_mediator_unref0 (dialog); +#line 931 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (media); +#line 931 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7366 "MediaPage.c" + } +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = _tmp15_; +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = media; +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = new_tags; +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = modify_tags_command_new (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = _tmp19_; +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_COMMAND, Command)); +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp20_); +#line 933 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp16_); +#line 921 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (new_tags); +#line 921 "/home/jens/Source/shotwell/src/MediaPage.vala" + _text_entry_dialog_mediator_unref0 (dialog); +#line 921 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (media); +#line 7392 "MediaPage.c" +} + + +static void media_page_set_display_tags (MediaPage* self, gboolean display) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GValue _tmp5_ = {0}; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GtkToggleAction* action = NULL; + GtkAction* _tmp8_ = NULL; + GtkToggleAction* _tmp9_ = NULL; + GtkToggleAction* _tmp10_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 937 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 937 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 937 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 937 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 938 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 938 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 938 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = display; +#line 938 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_init (&_tmp5_, G_TYPE_BOOLEAN); +#line 938 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_set_boolean (&_tmp5_, _tmp4_); +#line 938 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), THUMBNAIL_PROP_SHOW_TAGS, &_tmp5_, NULL, NULL); +#line 938 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_IS_VALUE (&_tmp5_) ? (g_value_unset (&_tmp5_), NULL) : NULL; +#line 938 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp3_); +#line 939 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 939 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 939 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection)); +#line 939 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp7_); +#line 941 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ViewTags"); +#line 941 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp8_) : NULL; +#line 941 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp9_ == NULL) { +#line 941 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp8_); +#line 7451 "MediaPage.c" + } +#line 941 "/home/jens/Source/shotwell/src/MediaPage.vala" + action = _tmp9_; +#line 942 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = action; +#line 942 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp10_ != NULL) { +#line 7459 "MediaPage.c" + GtkToggleAction* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 943 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = action; +#line 943 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = display; +#line 943 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_toggle_action_set_active (_tmp11_, _tmp12_); +#line 7468 "MediaPage.c" + } +#line 936 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (action); +#line 7472 "MediaPage.c" +} + + +static void media_page_on_new_event (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 946 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 947 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 947 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 947 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 947 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ > 0; +#line 947 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 947 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 7495 "MediaPage.c" + CommandManager* _tmp4_ = NULL; + CommandManager* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + NewEventCommand* _tmp10_ = NULL; + NewEventCommand* _tmp11_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = view_collection_get_selected (_tmp7_); +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_; +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = new_event_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _tmp10_; +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_COMMAND, Command)); +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp11_); +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp9_); +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp7_); +#line 948 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp5_); +#line 7530 "MediaPage.c" + } +} + + +static void media_page_on_flag_unflag (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + GeeCollection* sources = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + gboolean flag = FALSE; + CommandManager* _tmp20_ = NULL; + CommandManager* _tmp21_ = NULL; + GeeCollection* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + FlagUnflagCommand* _tmp24_ = NULL; + FlagUnflagCommand* _tmp25_ = NULL; +#line 951 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 952 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 952 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 952 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 952 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 952 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 952 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 953 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7568 "MediaPage.c" + } +#line 955 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 955 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 955 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = view_collection_get_selected_sources_of_type (_tmp5_, TYPE_MEDIA_SOURCE); +#line 955 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection); +#line 955 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 955 "/home/jens/Source/shotwell/src/MediaPage.vala" + sources = _tmp7_; +#line 959 "/home/jens/Source/shotwell/src/MediaPage.vala" + flag = FALSE; +#line 7584 "MediaPage.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = sources; +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _source_it = _tmp9_; +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 7597 "MediaPage.c" + GeeIterator* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + Flaggable* flaggable = NULL; + MediaSource* _tmp14_ = NULL; + Flaggable* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + Flaggable* _tmp17_ = NULL; +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _source_it; +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = gee_iterator_next (_tmp10_); +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!_tmp11_) { +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 7616 "MediaPage.c" + } +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _source_it; +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = gee_iterator_get (_tmp12_); +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + source = (MediaSource*) _tmp13_; +#line 961 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = source; +#line 961 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp14_) : NULL); +#line 961 "/home/jens/Source/shotwell/src/MediaPage.vala" + flaggable = _tmp15_; +#line 962 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = flaggable; +#line 962 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp17_ != NULL) { +#line 7634 "MediaPage.c" + Flaggable* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 962 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = flaggable; +#line 962 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = flaggable_is_flagged (_tmp18_); +#line 962 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = !_tmp19_; +#line 7643 "MediaPage.c" + } else { +#line 962 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = FALSE; +#line 7647 "MediaPage.c" + } +#line 962 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp16_) { +#line 963 "/home/jens/Source/shotwell/src/MediaPage.vala" + flag = TRUE; +#line 965 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (flaggable); +#line 965 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (source); +#line 965 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 7659 "MediaPage.c" + } +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (flaggable); +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (source); +#line 7665 "MediaPage.c" + } +#line 960 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_source_it); +#line 7669 "MediaPage.c" + } +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = _tmp20_; +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = sources; +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = flag; +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = flag_unflag_command_new (_tmp22_, _tmp23_); +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = _tmp24_; +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_COMMAND, Command)); +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp25_); +#line 969 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp21_); +#line 951 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (sources); +#line 7691 "MediaPage.c" +} + + +static void media_page_real_on_increase_rating (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + SetRatingCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + SetRatingCommand* _tmp8_ = NULL; + SetRatingCommand* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + SetRatingCommand* _tmp12_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 973 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 973 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 973 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 973 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 973 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 974 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7724 "MediaPage.c" + } +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = set_rating_command_new_inc_dec (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), TRUE); +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_; +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp7_); +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 976 "/home/jens/Source/shotwell/src/MediaPage.vala" + command = _tmp9_; +#line 977 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 977 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _tmp10_; +#line 977 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = command; +#line 977 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command)); +#line 977 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp11_); +#line 979 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_update_rating_sensitivities (self); +#line 972 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (command); +#line 7758 "MediaPage.c" +} + + +void media_page_on_increase_rating (MediaPage* self) { +#line 972 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 972 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_increase_rating (self); +#line 7767 "MediaPage.c" +} + + +static void media_page_real_on_decrease_rating (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + SetRatingCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + SetRatingCommand* _tmp8_ = NULL; + SetRatingCommand* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + SetRatingCommand* _tmp12_ = NULL; +#line 983 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 983 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 983 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 983 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 983 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 983 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 984 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7800 "MediaPage.c" + } +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = set_rating_command_new_inc_dec (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), FALSE); +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_; +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp7_); +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 986 "/home/jens/Source/shotwell/src/MediaPage.vala" + command = _tmp9_; +#line 987 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 987 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _tmp10_; +#line 987 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = command; +#line 987 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command)); +#line 987 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp11_); +#line 989 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_update_rating_sensitivities (self); +#line 982 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (command); +#line 7834 "MediaPage.c" +} + + +void media_page_on_decrease_rating (MediaPage* self) { +#line 982 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 982 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_decrease_rating (self); +#line 7843 "MediaPage.c" +} + + +static void media_page_real_on_set_rating (MediaPage* self, Rating rating) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + SetRatingCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + Rating _tmp8_ = 0; + SetRatingCommand* _tmp9_ = NULL; + SetRatingCommand* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + CommandManager* _tmp12_ = NULL; + SetRatingCommand* _tmp13_ = NULL; +#line 993 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 993 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 993 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 993 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 993 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 993 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 994 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 7877 "MediaPage.c" + } +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = rating; +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = set_rating_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable), _tmp8_); +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _tmp9_; +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp7_); +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 996 "/home/jens/Source/shotwell/src/MediaPage.vala" + command = _tmp10_; +#line 997 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 997 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 997 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = command; +#line 997 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_COMMAND, Command)); +#line 997 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp12_); +#line 999 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_update_rating_sensitivities (self); +#line 992 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (command); +#line 7913 "MediaPage.c" +} + + +void media_page_on_set_rating (MediaPage* self, Rating rating) { +#line 992 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 992 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_set_rating (self, rating); +#line 7922 "MediaPage.c" +} + + +static void media_page_real_on_rate_rejected (MediaPage* self) { +#line 1003 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_set_rating (self, RATING_REJECTED); +#line 7929 "MediaPage.c" +} + + +void media_page_on_rate_rejected (MediaPage* self) { +#line 1002 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1002 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_rate_rejected (self); +#line 7938 "MediaPage.c" +} + + +static void media_page_real_on_rate_unrated (MediaPage* self) { +#line 1007 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_set_rating (self, RATING_UNRATED); +#line 7945 "MediaPage.c" +} + + +void media_page_on_rate_unrated (MediaPage* self) { +#line 1006 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1006 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_rate_unrated (self); +#line 7954 "MediaPage.c" +} + + +static void media_page_real_on_rate_one (MediaPage* self) { +#line 1011 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_set_rating (self, RATING_ONE); +#line 7961 "MediaPage.c" +} + + +void media_page_on_rate_one (MediaPage* self) { +#line 1010 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1010 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_rate_one (self); +#line 7970 "MediaPage.c" +} + + +static void media_page_real_on_rate_two (MediaPage* self) { +#line 1015 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_set_rating (self, RATING_TWO); +#line 7977 "MediaPage.c" +} + + +void media_page_on_rate_two (MediaPage* self) { +#line 1014 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1014 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_rate_two (self); +#line 7986 "MediaPage.c" +} + + +static void media_page_real_on_rate_three (MediaPage* self) { +#line 1019 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_set_rating (self, RATING_THREE); +#line 7993 "MediaPage.c" +} + + +void media_page_on_rate_three (MediaPage* self) { +#line 1018 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1018 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_rate_three (self); +#line 8002 "MediaPage.c" +} + + +static void media_page_real_on_rate_four (MediaPage* self) { +#line 1023 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_set_rating (self, RATING_FOUR); +#line 8009 "MediaPage.c" +} + + +void media_page_on_rate_four (MediaPage* self) { +#line 1022 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1022 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_rate_four (self); +#line 8018 "MediaPage.c" +} + + +static void media_page_real_on_rate_five (MediaPage* self) { +#line 1027 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_on_set_rating (self, RATING_FIVE); +#line 8025 "MediaPage.c" +} + + +void media_page_on_rate_five (MediaPage* self) { +#line 1026 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1026 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_rate_five (self); +#line 8034 "MediaPage.c" +} + + +static void media_page_on_remove_from_library (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#line 1030 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1031 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1031 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 1031 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_sources (_tmp1_); +#line 1031 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1031 "/home/jens/Source/shotwell/src/MediaPage.vala" + remove_photos_from_library (_tmp3_); +#line 1031 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 1031 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 8059 "MediaPage.c" +} + + +static void media_page_real_on_move_to_trash (MediaPage* self) { + CheckerboardItem* restore_point = NULL; + CheckerboardItem* _tmp0_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + gint _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + gboolean _tmp18_ = FALSE; + CheckerboardItem* _tmp19_ = NULL; +#line 1035 "/home/jens/Source/shotwell/src/MediaPage.vala" + restore_point = NULL; +#line 1037 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)->cursor; +#line 1037 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ != NULL) { +#line 8078 "MediaPage.c" + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + CheckerboardItem* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + CheckerboardItem* _tmp5_ = NULL; +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)->cursor; +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = view_collection_get_next (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_VIEW, DataView)); +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, TYPE_CHECKERBOARD_ITEM) ? ((CheckerboardItem*) _tmp4_) : NULL; +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp5_ == NULL) { +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp4_); +#line 8098 "MediaPage.c" + } +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (restore_point); +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + restore_point = _tmp5_; +#line 1038 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp2_); +#line 8106 "MediaPage.c" + } +#line 1041 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1041 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 1041 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = view_collection_get_selected_count (_tmp7_); +#line 1041 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_ > 0; +#line 1041 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp7_); +#line 1041 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp9_) { +#line 8120 "MediaPage.c" + CommandManager* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + GeeList* _tmp14_ = NULL; + GeeCollection* _tmp15_ = NULL; + TrashUntrashPhotosCommand* _tmp16_ = NULL; + TrashUntrashPhotosCommand* _tmp17_ = NULL; +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _tmp10_; +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = _tmp12_; +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = view_collection_get_selected_sources (_tmp13_); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = trash_untrash_photos_command_new (_tmp15_, TRUE); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = _tmp16_; +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_COMMAND, Command)); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp17_); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp15_); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp13_); +#line 1042 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp11_); +#line 8155 "MediaPage.c" + } +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = restore_point; +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp19_ != NULL) { +#line 8161 "MediaPage.c" + ViewCollection* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + CheckerboardItem* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = _tmp20_; +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = restore_point; +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = data_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_OBJECT, DataObject)); +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = _tmp23_; +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp21_); +#line 8178 "MediaPage.c" + } else { +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = FALSE; +#line 8182 "MediaPage.c" + } +#line 1046 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp18_) { +#line 8186 "MediaPage.c" + CheckerboardItem* _tmp24_ = NULL; +#line 1047 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = restore_point; +#line 1047 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_page_set_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp24_); +#line 8192 "MediaPage.c" + } +#line 1034 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (restore_point); +#line 8196 "MediaPage.c" +} + + +void media_page_on_move_to_trash (MediaPage* self) { +#line 1034 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1034 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_move_to_trash (self); +#line 8205 "MediaPage.c" +} + + +static void media_page_real_on_edit_title (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + GeeList* media_sources = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + EditTitleDialog* edit_title_dialog = NULL; + GeeList* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + EditTitleDialog* _tmp13_ = NULL; + EditTitleDialog* _tmp14_ = NULL; + gchar* new_title = NULL; + EditTitleDialog* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 1052 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1052 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 1052 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 1052 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 1052 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 1052 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 1053 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 8245 "MediaPage.c" + } +#line 1055 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1055 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 1055 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = view_collection_get_selected_sources (_tmp5_); +#line 1055 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_LIST, GeeList); +#line 1055 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 1055 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_sources = _tmp7_; +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = media_sources; +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = gee_list_get (_tmp8_, 0); +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = (MediaSource*) _tmp9_; +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = media_source_get_title (_tmp10_); +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = edit_title_dialog_new (_tmp12_); +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _tmp13_; +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (_tmp12_); +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp10_); +#line 1057 "/home/jens/Source/shotwell/src/MediaPage.vala" + edit_title_dialog = _tmp14_; +#line 1058 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = edit_title_dialog; +#line 1058 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = edit_title_dialog_execute (_tmp15_); +#line 1058 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_title = _tmp16_; +#line 1059 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = new_title; +#line 1059 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp17_ != NULL) { +#line 8289 "MediaPage.c" + CommandManager* _tmp18_ = NULL; + CommandManager* _tmp19_ = NULL; + GeeList* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + EditMultipleTitlesCommand* _tmp22_ = NULL; + EditMultipleTitlesCommand* _tmp23_ = NULL; +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = _tmp18_; +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = media_sources; +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = new_title; +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = edit_multiple_titles_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection), _tmp21_); +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = _tmp22_; +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command)); +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp23_); +#line 1060 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp19_); +#line 8314 "MediaPage.c" + } +#line 1051 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (new_title); +#line 1051 "/home/jens/Source/shotwell/src/MediaPage.vala" + _text_entry_dialog_mediator_unref0 (edit_title_dialog); +#line 1051 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (media_sources); +#line 8322 "MediaPage.c" +} + + +void media_page_on_edit_title (MediaPage* self) { +#line 1051 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1051 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_edit_title (self); +#line 8331 "MediaPage.c" +} + + +static void media_page_real_on_edit_comment (MediaPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + GeeList* media_sources = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + EditCommentDialog* edit_comment_dialog = NULL; + GeeList* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + EditCommentDialog* _tmp13_ = NULL; + EditCommentDialog* _tmp14_ = NULL; + gchar* new_comment = NULL; + EditCommentDialog* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 1064 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1064 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 1064 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 1064 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 1064 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 1064 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 1065 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 8371 "MediaPage.c" + } +#line 1067 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1067 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 1067 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = view_collection_get_selected_sources (_tmp5_); +#line 1067 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_LIST, GeeList); +#line 1067 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp5_); +#line 1067 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_sources = _tmp7_; +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = media_sources; +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = gee_list_get (_tmp8_, 0); +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = (MediaSource*) _tmp9_; +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = media_source_get_comment (_tmp10_); +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = edit_comment_dialog_new (_tmp12_, FALSE); +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _tmp13_; +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (_tmp12_); +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp10_); +#line 1069 "/home/jens/Source/shotwell/src/MediaPage.vala" + edit_comment_dialog = _tmp14_; +#line 1070 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = edit_comment_dialog; +#line 1070 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = edit_comment_dialog_execute (_tmp15_); +#line 1070 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_comment = _tmp16_; +#line 1071 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = new_comment; +#line 1071 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp17_ != NULL) { +#line 8415 "MediaPage.c" + CommandManager* _tmp18_ = NULL; + CommandManager* _tmp19_ = NULL; + GeeList* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + EditMultipleCommentsCommand* _tmp22_ = NULL; + EditMultipleCommentsCommand* _tmp23_ = NULL; +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = _tmp18_; +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = media_sources; +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = new_comment; +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = edit_multiple_comments_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection), _tmp21_); +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = _tmp22_; +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command)); +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp23_); +#line 1072 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp19_); +#line 8440 "MediaPage.c" + } +#line 1063 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (new_comment); +#line 1063 "/home/jens/Source/shotwell/src/MediaPage.vala" + _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog); +#line 1063 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (media_sources); +#line 8448 "MediaPage.c" +} + + +void media_page_on_edit_comment (MediaPage* self) { +#line 1063 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1063 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_edit_comment (self); +#line 8457 "MediaPage.c" +} + + +static void media_page_real_on_display_titles (MediaPage* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 1075 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 1076 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = action; +#line 1076 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 1076 "/home/jens/Source/shotwell/src/MediaPage.vala" + display = _tmp1_; +#line 1078 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_page_set_display_titles (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), display); +#line 1080 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 1080 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 1080 "/home/jens/Source/shotwell/src/MediaPage.vala" + configuration_facade_set_display_photo_titles (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display); +#line 1080 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 8485 "MediaPage.c" +} + + +void media_page_on_display_titles (MediaPage* self, GtkAction* action) { +#line 1075 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1075 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_display_titles (self, action); +#line 8494 "MediaPage.c" +} + + +static void media_page_real_on_display_comments (MediaPage* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 1083 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 1084 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = action; +#line 1084 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 1084 "/home/jens/Source/shotwell/src/MediaPage.vala" + display = _tmp1_; +#line 1086 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_page_set_display_comments (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), display); +#line 1088 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 1088 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 1088 "/home/jens/Source/shotwell/src/MediaPage.vala" + configuration_facade_set_display_photo_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display); +#line 1088 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 8522 "MediaPage.c" +} + + +void media_page_on_display_comments (MediaPage* self, GtkAction* action) { +#line 1083 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1083 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_display_comments (self, action); +#line 8531 "MediaPage.c" +} + + +static void media_page_real_on_display_ratings (MediaPage* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 1091 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 1092 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = action; +#line 1092 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 1092 "/home/jens/Source/shotwell/src/MediaPage.vala" + display = _tmp1_; +#line 1094 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_display_ratings (self, display); +#line 1096 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 1096 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 1096 "/home/jens/Source/shotwell/src/MediaPage.vala" + configuration_facade_set_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display); +#line 1096 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 8559 "MediaPage.c" +} + + +void media_page_on_display_ratings (MediaPage* self, GtkAction* action) { +#line 1091 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1091 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_display_ratings (self, action); +#line 8568 "MediaPage.c" +} + + +static void media_page_real_on_display_tags (MediaPage* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 1099 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 1100 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = action; +#line 1100 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 1100 "/home/jens/Source/shotwell/src/MediaPage.vala" + display = _tmp1_; +#line 1102 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_display_tags (self, display); +#line 1104 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 1104 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 1104 "/home/jens/Source/shotwell/src/MediaPage.vala" + configuration_facade_set_display_photo_tags (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display); +#line 1104 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 8596 "MediaPage.c" +} + + +void media_page_on_display_tags (MediaPage* self, GtkAction* action) { +#line 1099 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1099 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_display_tags (self, action); +#line 8605 "MediaPage.c" +} + + +static void media_page_real_get_config_photos_sort (MediaPage* self, gboolean* sort_order, gint* sort_by) { +#line 1107 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_critical ("Type `%s' does not implement abstract method `media_page_get_config_photos_sort'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1107 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 8614 "MediaPage.c" +} + + +void media_page_get_config_photos_sort (MediaPage* self, gboolean* sort_order, gint* sort_by) { +#line 1107 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1107 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->get_config_photos_sort (self, sort_order, sort_by); +#line 8623 "MediaPage.c" +} + + +static void media_page_real_set_config_photos_sort (MediaPage* self, gboolean sort_order, gint sort_by) { +#line 1109 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_critical ("Type `%s' does not implement abstract method `media_page_set_config_photos_sort'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1109 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 8632 "MediaPage.c" +} + + +void media_page_set_config_photos_sort (MediaPage* self, gboolean sort_order, gint sort_by) { +#line 1109 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1109 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->set_config_photos_sort (self, sort_order, sort_by); +#line 8641 "MediaPage.c" +} + + +static void media_page_real_on_sort_changed (MediaPage* self) { + gint sort_by = 0; + gint _tmp0_ = 0; + gboolean sort_order = FALSE; + gboolean _tmp1_ = FALSE; +#line 1112 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_get_menu_sort_by (self); +#line 1112 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_by = _tmp0_; +#line 1113 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = media_page_get_menu_sort_order (self); +#line 1113 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_order = _tmp1_; +#line 1115 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_view_comparator (self, sort_by, sort_order); +#line 1116 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_config_photos_sort (self, sort_order, sort_by); +#line 8662 "MediaPage.c" +} + + +void media_page_on_sort_changed (MediaPage* self) { +#line 1111 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1111 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->on_sort_changed (self); +#line 8671 "MediaPage.c" +} + + +void media_page_on_raw_developer_shotwell (MediaPage* self, GtkAction* action) { +#line 1119 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1119 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 1120 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_developer_changed (self, RAW_DEVELOPER_SHOTWELL); +#line 8682 "MediaPage.c" +} + + +void media_page_on_raw_developer_camera (MediaPage* self, GtkAction* action) { +#line 1123 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1123 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 1124 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_developer_changed (self, RAW_DEVELOPER_CAMERA); +#line 8693 "MediaPage.c" +} + + +static void media_page_real_developer_changed (MediaPage* self, RawDeveloper rd) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean need_warn = FALSE; + GeeArrayList* to_set = NULL; + GeeArrayList* _tmp4_ = NULL; + gboolean _tmp31_ = FALSE; + gboolean _tmp32_ = FALSE; +#line 1128 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1128 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 1128 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 1128 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 1128 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp1_); +#line 1128 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 1129 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 8721 "MediaPage.c" + } +#line 1134 "/home/jens/Source/shotwell/src/MediaPage.vala" + need_warn = FALSE; +#line 1137 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1137 "/home/jens/Source/shotwell/src/MediaPage.vala" + to_set = _tmp4_; +#line 8729 "MediaPage.c" + { + GeeList* _view_list = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gint _view_size = 0; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _view_index = 0; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = view_collection_get_selected (_tmp6_); +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _tmp7_; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp6_); +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_list = _tmp8_; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _view_list; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _tmp10_; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_size = _tmp11_; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = -1; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + while (TRUE) { +#line 8765 "MediaPage.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + DataView* view = NULL; + GeeList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; + Photo* p = NULL; + DataView* _tmp18_ = NULL; + DataSource* _tmp19_ = NULL; + Photo* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + Photo* _tmp22_ = NULL; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _view_index; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _view_index = _tmp12_ + 1; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = _view_index; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _view_size; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 8791 "MediaPage.c" + } +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = _view_list; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = _view_index; +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = gee_list_get (_tmp15_, _tmp16_); +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + view = (DataView*) _tmp17_; +#line 1139 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = view; +#line 1139 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = data_view_get_source (_tmp18_); +#line 1139 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_PHOTO) ? ((Photo*) _tmp19_) : NULL; +#line 1139 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp20_ == NULL) { +#line 1139 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp19_); +#line 8811 "MediaPage.c" + } +#line 1139 "/home/jens/Source/shotwell/src/MediaPage.vala" + p = _tmp20_; +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = p; +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp22_ != NULL) { +#line 8819 "MediaPage.c" + RawDeveloper _tmp23_ = 0; + Photo* _tmp24_ = NULL; + RawDeveloper _tmp25_ = 0; + gboolean _tmp26_ = FALSE; +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = rd; +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = p; +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = photo_get_raw_developer (_tmp24_); +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = raw_developer_is_equivalent (_tmp23_, _tmp25_); +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = !_tmp26_; +#line 8834 "MediaPage.c" + } else { +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = FALSE; +#line 8838 "MediaPage.c" + } +#line 1140 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp21_) { +#line 8842 "MediaPage.c" + GeeArrayList* _tmp27_ = NULL; + DataView* _tmp28_ = NULL; + Photo* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; +#line 1141 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = to_set; +#line 1141 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp28_ = view; +#line 1141 "/home/jens/Source/shotwell/src/MediaPage.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp28_); +#line 1143 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp29_ = p; +#line 1143 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp30_ = photo_has_transformations (_tmp29_); +#line 1143 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp30_) { +#line 1144 "/home/jens/Source/shotwell/src/MediaPage.vala" + need_warn = TRUE; +#line 8861 "MediaPage.c" + } + } +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (p); +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (view); +#line 8868 "MediaPage.c" + } +#line 1138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_view_list); +#line 8872 "MediaPage.c" + } +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp32_ = need_warn; +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (!_tmp32_) { +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = TRUE; +#line 8880 "MediaPage.c" + } else { + GeeArrayList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + gboolean _tmp36_ = FALSE; +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp33_ = to_set; +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp34_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp35_ = _tmp34_; +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp36_ = dialogs_confirm_warn_developer_changed (_tmp35_); +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp31_ = _tmp36_; +#line 8896 "MediaPage.c" + } +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp31_) { +#line 8900 "MediaPage.c" + SetRawDeveloperCommand* command = NULL; + GeeArrayList* _tmp37_ = NULL; + RawDeveloper _tmp38_ = 0; + SetRawDeveloperCommand* _tmp39_ = NULL; + CommandManager* _tmp40_ = NULL; + CommandManager* _tmp41_ = NULL; + SetRawDeveloperCommand* _tmp42_ = NULL; +#line 1150 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp37_ = to_set; +#line 1150 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp38_ = rd; +#line 1150 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp39_ = set_raw_developer_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ITERABLE, GeeIterable), _tmp38_); +#line 1150 "/home/jens/Source/shotwell/src/MediaPage.vala" + command = _tmp39_; +#line 1151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp40_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp41_ = _tmp40_; +#line 1151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp42_ = command; +#line 1151 "/home/jens/Source/shotwell/src/MediaPage.vala" + command_manager_execute (_tmp41_, G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_COMMAND, Command)); +#line 1151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _command_manager_unref0 (_tmp41_); +#line 1153 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_update_development_menu_item_sensitivity (self); +#line 1149 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (command); +#line 8930 "MediaPage.c" + } +#line 1127 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (to_set); +#line 8934 "MediaPage.c" +} + + +void media_page_developer_changed (MediaPage* self, RawDeveloper rd) { +#line 1127 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1127 "/home/jens/Source/shotwell/src/MediaPage.vala" + MEDIA_PAGE_GET_CLASS (self)->developer_changed (self, rd); +#line 8943 "MediaPage.c" +} + + +static void media_page_real_set_display_titles (CheckerboardPage* base, gboolean display) { + MediaPage * self; + gboolean _tmp0_ = FALSE; + GtkToggleAction* action = NULL; + GtkAction* _tmp1_ = NULL; + GtkToggleAction* _tmp2_ = NULL; + GtkToggleAction* _tmp3_ = NULL; +#line 1157 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 1158 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = display; +#line 1158 "/home/jens/Source/shotwell/src/MediaPage.vala" + CHECKERBOARD_PAGE_CLASS (media_page_parent_class)->set_display_titles (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp0_); +#line 1160 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ViewTitle"); +#line 1160 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp1_) : NULL; +#line 1160 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp2_ == NULL) { +#line 1160 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp1_); +#line 8968 "MediaPage.c" + } +#line 1160 "/home/jens/Source/shotwell/src/MediaPage.vala" + action = _tmp2_; +#line 1161 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = action; +#line 1161 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_ != NULL) { +#line 8976 "MediaPage.c" + GtkToggleAction* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1162 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = action; +#line 1162 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = display; +#line 1162 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_toggle_action_set_active (_tmp4_, _tmp5_); +#line 8985 "MediaPage.c" + } +#line 1157 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (action); +#line 8989 "MediaPage.c" +} + + +static void media_page_real_set_display_comments (CheckerboardPage* base, gboolean display) { + MediaPage * self; + gboolean _tmp0_ = FALSE; + GtkToggleAction* action = NULL; + GtkAction* _tmp1_ = NULL; + GtkToggleAction* _tmp2_ = NULL; + GtkToggleAction* _tmp3_ = NULL; +#line 1165 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 1166 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = display; +#line 1166 "/home/jens/Source/shotwell/src/MediaPage.vala" + CHECKERBOARD_PAGE_CLASS (media_page_parent_class)->set_display_comments (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp0_); +#line 1168 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ViewComment"); +#line 1168 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp1_) : NULL; +#line 1168 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp2_ == NULL) { +#line 1168 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp1_); +#line 9014 "MediaPage.c" + } +#line 1168 "/home/jens/Source/shotwell/src/MediaPage.vala" + action = _tmp2_; +#line 1169 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = action; +#line 1169 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_ != NULL) { +#line 9022 "MediaPage.c" + GtkToggleAction* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1170 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = action; +#line 1170 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = display; +#line 1170 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_toggle_action_set_active (_tmp4_, _tmp5_); +#line 9031 "MediaPage.c" + } +#line 1165 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (action); +#line 9035 "MediaPage.c" +} + + +static GtkRadioAction* media_page_sort_by_title_action (MediaPage* self) { + GtkRadioAction* result = NULL; + GtkRadioAction* action = NULL; + GtkAction* _tmp0_ = NULL; +#line 1173 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), NULL); +#line 1174 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SortByTitle"); +#line 1174 "/home/jens/Source/shotwell/src/MediaPage.vala" + action = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction); +#line 1175 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_assert (action != NULL, "action != null"); +#line 1176 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = action; +#line 1176 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9055 "MediaPage.c" +} + + +static GtkRadioAction* media_page_sort_ascending_action (MediaPage* self) { + GtkRadioAction* result = NULL; + GtkRadioAction* action = NULL; + GtkAction* _tmp0_ = NULL; +#line 1179 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), NULL); +#line 1180 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SortAscending"); +#line 1180 "/home/jens/Source/shotwell/src/MediaPage.vala" + action = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction); +#line 1181 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_assert (action != NULL, "action != null"); +#line 1182 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = action; +#line 1182 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9075 "MediaPage.c" +} + + +gint media_page_get_menu_sort_by (MediaPage* self) { + gint result = 0; + GtkRadioAction* _tmp0_ = NULL; + GtkRadioAction* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 1185 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), 0); +#line 1187 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_sort_by_title_action (self); +#line 1187 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 1187 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = gtk_radio_action_get_current_value (_tmp1_); +#line 1187 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 1187 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp1_); +#line 1187 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp3_; +#line 1187 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9101 "MediaPage.c" +} + + +void media_page_set_menu_sort_by (MediaPage* self, gint val) { + GtkRadioAction* _tmp0_ = NULL; + GtkRadioAction* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1190 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1191 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_sort_by_title_action (self); +#line 1191 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 1191 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = val; +#line 1191 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_radio_action_set_current_value (_tmp1_, _tmp2_); +#line 1191 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp1_); +#line 9121 "MediaPage.c" +} + + +gboolean media_page_get_menu_sort_order (MediaPage* self) { + gboolean result = FALSE; + GtkRadioAction* _tmp0_ = NULL; + GtkRadioAction* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 1194 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), FALSE); +#line 1196 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_sort_ascending_action (self); +#line 1196 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 1196 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = gtk_radio_action_get_current_value (_tmp1_); +#line 1196 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ == MEDIA_PAGE_SORT_ORDER_ASCENDING; +#line 1196 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp1_); +#line 1196 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp3_; +#line 1196 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9147 "MediaPage.c" +} + + +void media_page_set_menu_sort_order (MediaPage* self, gboolean ascending) { + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + GtkRadioAction* _tmp2_ = NULL; + GtkRadioAction* _tmp3_ = NULL; +#line 1199 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1201 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = ascending; +#line 1201 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp1_) { +#line 1201 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = MEDIA_PAGE_SORT_ORDER_ASCENDING; +#line 9164 "MediaPage.c" + } else { +#line 1201 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = MEDIA_PAGE_SORT_ORDER_DESCENDING; +#line 9168 "MediaPage.c" + } +#line 1200 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_page_sort_ascending_action (self); +#line 1200 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_; +#line 1200 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_radio_action_set_current_value (_tmp3_, _tmp0_); +#line 1200 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp3_); +#line 9178 "MediaPage.c" +} + + +static gint64 _thumbnail_title_ascending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = thumbnail_title_ascending_comparator (a, b); +#line 1211 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9187 "MediaPage.c" +} + + +static gint64 _thumbnail_title_descending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = thumbnail_title_descending_comparator (a, b); +#line 1212 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9196 "MediaPage.c" +} + + +static gboolean _thumbnail_title_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) { + gboolean result; + result = thumbnail_title_comparator_predicate (object, alteration); +#line 1213 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9205 "MediaPage.c" +} + + +static gint64 _thumbnail_exposure_time_ascending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = thumbnail_exposure_time_ascending_comparator (a, b); +#line 1218 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9214 "MediaPage.c" +} + + +static gint64 _thumbnail_exposure_time_desending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = thumbnail_exposure_time_desending_comparator (a, b); +#line 1219 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9223 "MediaPage.c" +} + + +static gboolean _thumbnail_exposure_time_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) { + gboolean result; + result = thumbnail_exposure_time_comparator_predicate (object, alteration); +#line 1220 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9232 "MediaPage.c" +} + + +static gint64 _thumbnail_rating_ascending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = thumbnail_rating_ascending_comparator (a, b); +#line 1225 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9241 "MediaPage.c" +} + + +static gint64 _thumbnail_rating_descending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = thumbnail_rating_descending_comparator (a, b); +#line 1226 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9250 "MediaPage.c" +} + + +static gboolean _thumbnail_rating_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) { + gboolean result; + result = thumbnail_rating_comparator_predicate (object, alteration); +#line 1227 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9259 "MediaPage.c" +} + + +static gint64 _thumbnail_filename_ascending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = thumbnail_filename_ascending_comparator (a, b); +#line 1232 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9268 "MediaPage.c" +} + + +static gint64 _thumbnail_filename_descending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = thumbnail_filename_descending_comparator (a, b); +#line 1233 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9277 "MediaPage.c" +} + + +static gboolean _thumbnail_filename_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) { + gboolean result; + result = thumbnail_filename_comparator_predicate (object, alteration); +#line 1234 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9286 "MediaPage.c" +} + + +static void media_page_set_view_comparator (MediaPage* self, gint sort_by, gboolean ascending) { + Comparator comparator = NULL; + void* comparator_target = NULL; + GDestroyNotify comparator_target_destroy_notify = NULL; + ComparatorPredicate predicate = NULL; + void* predicate_target = NULL; + GDestroyNotify predicate_target_destroy_notify = NULL; + gint _tmp0_ = 0; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + Comparator _tmp10_ = NULL; + void* _tmp10__target = NULL; + ComparatorPredicate _tmp11_ = NULL; + void* _tmp11__target = NULL; +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1208 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = sort_by; +#line 1208 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (_tmp0_) { +#line 1208 "/home/jens/Source/shotwell/src/MediaPage.vala" + case MEDIA_PAGE_SORT_BY_TITLE: +#line 9312 "MediaPage.c" + { + gboolean _tmp1_ = FALSE; +#line 1210 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = ascending; +#line 1210 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp1_) { +#line 1211 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1211 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1211 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1211 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1211 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_title_ascending_comparator_comparator; +#line 1211 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1211 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9333 "MediaPage.c" + } else { +#line 1212 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1212 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1212 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1212 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1212 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_title_descending_comparator_comparator; +#line 1212 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1212 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9349 "MediaPage.c" + } +#line 1213 "/home/jens/Source/shotwell/src/MediaPage.vala" + (predicate_target_destroy_notify == NULL) ? NULL : (predicate_target_destroy_notify (predicate_target), NULL); +#line 1213 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = NULL; +#line 1213 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1213 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1213 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = _thumbnail_title_comparator_predicate_comparator_predicate; +#line 1213 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1213 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1214 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 9367 "MediaPage.c" + } +#line 1208 "/home/jens/Source/shotwell/src/MediaPage.vala" + case MEDIA_PAGE_SORT_BY_EXPOSURE_DATE: +#line 9371 "MediaPage.c" + { + gboolean _tmp2_ = FALSE; +#line 1217 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = ascending; +#line 1217 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp2_) { +#line 1218 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1218 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1218 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1218 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1218 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_exposure_time_ascending_comparator_comparator; +#line 1218 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1218 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9392 "MediaPage.c" + } else { +#line 1219 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1219 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1219 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1219 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1219 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_exposure_time_desending_comparator_comparator; +#line 1219 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1219 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9408 "MediaPage.c" + } +#line 1220 "/home/jens/Source/shotwell/src/MediaPage.vala" + (predicate_target_destroy_notify == NULL) ? NULL : (predicate_target_destroy_notify (predicate_target), NULL); +#line 1220 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = NULL; +#line 1220 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1220 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1220 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = _thumbnail_exposure_time_comparator_predicate_comparator_predicate; +#line 1220 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1220 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1221 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 9426 "MediaPage.c" + } +#line 1208 "/home/jens/Source/shotwell/src/MediaPage.vala" + case MEDIA_PAGE_SORT_BY_RATING: +#line 9430 "MediaPage.c" + { + gboolean _tmp3_ = FALSE; +#line 1224 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = ascending; +#line 1224 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 1225 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1225 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1225 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1225 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1225 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_rating_ascending_comparator_comparator; +#line 1225 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1225 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9451 "MediaPage.c" + } else { +#line 1226 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1226 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1226 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1226 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1226 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_rating_descending_comparator_comparator; +#line 1226 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1226 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9467 "MediaPage.c" + } +#line 1227 "/home/jens/Source/shotwell/src/MediaPage.vala" + (predicate_target_destroy_notify == NULL) ? NULL : (predicate_target_destroy_notify (predicate_target), NULL); +#line 1227 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = NULL; +#line 1227 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1227 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1227 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = _thumbnail_rating_comparator_predicate_comparator_predicate; +#line 1227 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1227 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1228 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 9485 "MediaPage.c" + } +#line 1208 "/home/jens/Source/shotwell/src/MediaPage.vala" + case MEDIA_PAGE_SORT_BY_FILENAME: +#line 9489 "MediaPage.c" + { + gboolean _tmp4_ = FALSE; +#line 1231 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = ascending; +#line 1231 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp4_) { +#line 1232 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1232 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1232 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1232 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1232 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_filename_ascending_comparator_comparator; +#line 1232 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1232 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9510 "MediaPage.c" + } else { +#line 1233 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1233 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1233 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1233 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1233 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_filename_descending_comparator_comparator; +#line 1233 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1233 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9526 "MediaPage.c" + } +#line 1234 "/home/jens/Source/shotwell/src/MediaPage.vala" + (predicate_target_destroy_notify == NULL) ? NULL : (predicate_target_destroy_notify (predicate_target), NULL); +#line 1234 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = NULL; +#line 1234 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1234 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1234 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = _thumbnail_filename_comparator_predicate_comparator_predicate; +#line 1234 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1234 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1235 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 9544 "MediaPage.c" + } + default: + { + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1238 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = media_page_get_menu_sort_by (self); +#line 1238 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = g_strdup_printf ("%i", _tmp5_); +#line 1238 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 1238 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_debug ("MediaPage.vala:1238: Unknown sort criteria: %s", _tmp7_); +#line 1238 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_free0 (_tmp7_); +#line 1239 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1239 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1239 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1239 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1239 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = _thumbnail_title_descending_comparator_comparator; +#line 1239 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1239 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 1240 "/home/jens/Source/shotwell/src/MediaPage.vala" + (predicate_target_destroy_notify == NULL) ? NULL : (predicate_target_destroy_notify (predicate_target), NULL); +#line 1240 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = NULL; +#line 1240 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1240 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1240 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = _thumbnail_title_comparator_predicate_comparator_predicate; +#line 1240 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1240 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1241 "/home/jens/Source/shotwell/src/MediaPage.vala" + break; +#line 9591 "MediaPage.c" + } + } +#line 1244 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1244 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_; +#line 1244 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = comparator; +#line 1244 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10__target = comparator_target; +#line 1244 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = predicate; +#line 1244 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11__target = predicate_target; +#line 1244 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_COLLECTION, DataCollection), _tmp10_, _tmp10__target, _tmp11_, _tmp11__target); +#line 1244 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp9_); +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + (predicate_target_destroy_notify == NULL) ? NULL : (predicate_target_destroy_notify (predicate_target), NULL); +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate = NULL; +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target = NULL; +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + predicate_target_destroy_notify = NULL; +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator = NULL; +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target = NULL; +#line 1204 "/home/jens/Source/shotwell/src/MediaPage.vala" + comparator_target_destroy_notify = NULL; +#line 9626 "MediaPage.c" +} + + +gchar* media_page_get_sortby_path (MediaPage* self, gint sort_by) { + gchar* result = NULL; + gint _tmp0_ = 0; +#line 1247 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), NULL); +#line 1248 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = sort_by; +#line 1248 "/home/jens/Source/shotwell/src/MediaPage.vala" + switch (_tmp0_) { +#line 1248 "/home/jens/Source/shotwell/src/MediaPage.vala" + case MEDIA_PAGE_SORT_BY_TITLE: +#line 9641 "MediaPage.c" + { + gchar* _tmp1_ = NULL; +#line 1250 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = g_strdup ("/MenuBar/ViewMenu/SortPhotos/SortByTitle"); +#line 1250 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp1_; +#line 1250 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9650 "MediaPage.c" + } +#line 1248 "/home/jens/Source/shotwell/src/MediaPage.vala" + case MEDIA_PAGE_SORT_BY_EXPOSURE_DATE: +#line 9654 "MediaPage.c" + { + gchar* _tmp2_ = NULL; +#line 1253 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = g_strdup ("/MenuBar/ViewMenu/SortPhotos/SortByExposureDate"); +#line 1253 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp2_; +#line 1253 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9663 "MediaPage.c" + } +#line 1248 "/home/jens/Source/shotwell/src/MediaPage.vala" + case MEDIA_PAGE_SORT_BY_RATING: +#line 9667 "MediaPage.c" + { + gchar* _tmp3_ = NULL; +#line 1256 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = g_strdup ("/MenuBar/ViewMenu/SortPhotos/SortByRating"); +#line 1256 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp3_; +#line 1256 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9676 "MediaPage.c" + } +#line 1248 "/home/jens/Source/shotwell/src/MediaPage.vala" + case MEDIA_PAGE_SORT_BY_FILENAME: +#line 9680 "MediaPage.c" + { + gchar* _tmp4_ = NULL; +#line 1259 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = g_strdup ("/MenuBar/ViewMenu/SortPhotos/SortByFilename"); +#line 1259 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp4_; +#line 1259 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9689 "MediaPage.c" + } + default: + { + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; +#line 1262 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = sort_by; +#line 1262 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_debug ("MediaPage.vala:1262: Unknown sort criteria: %d", _tmp5_); +#line 1263 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = g_strdup ("/MenuBar/ViewMenu/SortPhotos/SortByTitle"); +#line 1263 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp6_; +#line 1263 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9705 "MediaPage.c" + } + } +} + + +void media_page_sync_sort (MediaPage* self) { + gboolean sort_ascending = FALSE; + gint sort_by = 0; + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; +#line 1267 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1284 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_get_config_photos_sort (self, &_tmp0_, &_tmp1_); +#line 1284 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_ascending = _tmp0_; +#line 1284 "/home/jens/Source/shotwell/src/MediaPage.vala" + sort_by = _tmp1_; +#line 1286 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_menu_sort_by (self, sort_by); +#line 1287 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_menu_sort_order (self, sort_ascending); +#line 1289 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_view_comparator (self, sort_by, sort_ascending); +#line 9730 "MediaPage.c" +} + + +static void media_page_real_destroy (GtkWidget* base) { + MediaPage * self; +#line 1292 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_PAGE, MediaPage); +#line 1293 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_disconnect_slider (self); +#line 1295 "/home/jens/Source/shotwell/src/MediaPage.vala" + GTK_WIDGET_CLASS (media_page_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), gtk_widget_get_type (), GtkWidget)); +#line 9742 "MediaPage.c" +} + + +void media_page_increase_zoom_level (MediaPage* self) { + MediaPageZoomSliderAssembly* _tmp0_ = NULL; +#line 1298 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1299 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->connected_slider; +#line 1299 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ != NULL) { +#line 9754 "MediaPage.c" + MediaPageZoomSliderAssembly* _tmp1_ = NULL; +#line 1300 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = self->priv->connected_slider; +#line 1300 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_zoom_slider_assembly_increase_step (_tmp1_); +#line 9760 "MediaPage.c" + } else { + gint new_scale = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1302 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_page_get_thumb_size (self); +#line 1302 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = media_page_compute_zoom_scale_increase (_tmp2_); +#line 1302 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_scale = _tmp3_; +#line 1303 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_save_persistent_thumbnail_scale (self); +#line 1304 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = new_scale; +#line 1304 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_thumb_size (self, _tmp4_); +#line 9778 "MediaPage.c" + } +} + + +void media_page_decrease_zoom_level (MediaPage* self) { + MediaPageZoomSliderAssembly* _tmp0_ = NULL; +#line 1308 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1309 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->connected_slider; +#line 1309 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ != NULL) { +#line 9791 "MediaPage.c" + MediaPageZoomSliderAssembly* _tmp1_ = NULL; +#line 1310 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = self->priv->connected_slider; +#line 1310 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_zoom_slider_assembly_decrease_step (_tmp1_); +#line 9797 "MediaPage.c" + } else { + gint new_scale = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1312 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_page_get_thumb_size (self); +#line 1312 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = media_page_compute_zoom_scale_decrease (_tmp2_); +#line 1312 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_scale = _tmp3_; +#line 1313 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_save_persistent_thumbnail_scale (self); +#line 1314 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = new_scale; +#line 1314 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_set_thumb_size (self, _tmp4_); +#line 9815 "MediaPage.c" + } +} + + +static DataView* media_page_real_create_thumbnail (MediaPage* self, DataSource* source) { + DataView* result = NULL; + DataSource* _tmp0_ = NULL; + gint _tmp1_ = 0; + Thumbnail* _tmp2_ = NULL; +#line 1318 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 1319 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = source; +#line 1319 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = media_page_get_thumb_size (self); +#line 1319 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = thumbnail_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), _tmp1_); +#line 1319 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_VIEW, DataView); +#line 1319 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 9837 "MediaPage.c" +} + + +DataView* media_page_create_thumbnail (MediaPage* self, DataSource* source) { +#line 1318 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), NULL); +#line 1318 "/home/jens/Source/shotwell/src/MediaPage.vala" + return MEDIA_PAGE_GET_CLASS (self)->create_thumbnail (self, source); +#line 9846 "MediaPage.c" +} + + +void media_page_set_thumb_size (MediaPage* self, gint new_scale) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + CheckerboardLayout* _tmp10_ = NULL; + CheckerboardLayout* _tmp11_ = NULL; + gint _tmp12_ = 0; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + gint _tmp17_ = 0; + GValue _tmp18_ = {0}; + ViewCollection* _tmp19_ = NULL; + ViewCollection* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 1324 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (IS_MEDIA_PAGE (self)); +#line 1325 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = media_page_get_thumb_size (self); +#line 1325 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = new_scale; +#line 1325 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp1_ == _tmp2_) { +#line 1325 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = TRUE; +#line 9887 "MediaPage.c" + } else { + gboolean _tmp3_ = FALSE; +#line 1325 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = page_is_in_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1325 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = !_tmp3_; +#line 9894 "MediaPage.c" + } +#line 1325 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_) { +#line 1326 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 9900 "MediaPage.c" + } +#line 1328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = new_scale; +#line 1328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = thumbnail_get_MIN_SCALE (); +#line 1328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 1328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = thumbnail_get_MAX_SCALE (); +#line 1328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _tmp7_; +#line 1328 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = CLAMP (_tmp4_, _tmp6_, _tmp8_); +#line 1328 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_scale = _tmp9_; +#line 1329 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = checkerboard_page_get_checkerboard_layout (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 1329 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = _tmp10_; +#line 1329 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = new_scale; +#line 1329 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_layout_set_scale (_tmp11_, _tmp12_); +#line 1329 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp11_); +#line 1332 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1332 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = _tmp13_; +#line 1332 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1332 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp14_); +#line 1333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = _tmp15_; +#line 1333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = new_scale; +#line 1333 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_init (&_tmp18_, G_TYPE_INT); +#line 1333 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_value_set_int (&_tmp18_, _tmp17_); +#line 1333 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_COLLECTION, DataCollection), THUMBNAIL_PROP_SIZE, &_tmp18_, NULL, NULL); +#line 1333 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_IS_VALUE (&_tmp18_) ? (g_value_unset (&_tmp18_), NULL) : NULL; +#line 1333 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp16_); +#line 1334 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1334 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = _tmp19_; +#line 1334 "/home/jens/Source/shotwell/src/MediaPage.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1334 "/home/jens/Source/shotwell/src/MediaPage.vala" + _data_collection_unref0 (_tmp20_); +#line 1336 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = new_scale; +#line 1336 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = thumbnail_get_MAX_SCALE (); +#line 1336 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = _tmp22_; +#line 1336 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize", _tmp21_ < _tmp23_); +#line 1337 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = new_scale; +#line 1337 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = thumbnail_get_MIN_SCALE (); +#line 1337 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = _tmp25_; +#line 1337 "/home/jens/Source/shotwell/src/MediaPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize", _tmp24_ > _tmp26_); +#line 9974 "MediaPage.c" +} + + +gint media_page_get_thumb_size (MediaPage* self) { + gint result = 0; + CheckerboardLayout* _tmp0_ = NULL; + CheckerboardLayout* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + CheckerboardLayout* _tmp9_ = NULL; + CheckerboardLayout* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 1340 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (IS_MEDIA_PAGE (self), 0); +#line 1341 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = checkerboard_page_get_checkerboard_layout (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 1341 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = _tmp0_; +#line 1341 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = checkerboard_layout_get_scale (_tmp1_); +#line 1341 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = _tmp2_ <= 0; +#line 1341 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp1_); +#line 1341 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp3_) { +#line 10002 "MediaPage.c" + CheckerboardLayout* _tmp4_ = NULL; + CheckerboardLayout* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 1342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = checkerboard_page_get_checkerboard_layout (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 1342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 1342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = config_facade_get_instance (); +#line 1342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 1342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = configuration_facade_get_photo_thumbnail_scale (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1342 "/home/jens/Source/shotwell/src/MediaPage.vala" + checkerboard_layout_set_scale (_tmp5_, _tmp8_); +#line 1342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp7_); +#line 1342 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp5_); +#line 10024 "MediaPage.c" + } +#line 1344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = checkerboard_page_get_checkerboard_layout (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 1344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = _tmp9_; +#line 1344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = checkerboard_layout_get_scale (_tmp10_); +#line 1344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 1344 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp10_); +#line 1344 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp12_; +#line 1344 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 10040 "MediaPage.c" +} + + +static gboolean _media_page_zoom_slider_assembly_on_zoom_out_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = media_page_zoom_slider_assembly_on_zoom_out_pressed ((MediaPageZoomSliderAssembly*) self, event); +#line 144 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 10049 "MediaPage.c" +} + + +static void _media_page_zoom_slider_assembly_on_slider_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 155 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_zoom_slider_assembly_on_slider_changed ((MediaPageZoomSliderAssembly*) self); +#line 10056 "MediaPage.c" +} + + +static gboolean _media_page_zoom_slider_assembly_on_zoom_in_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = media_page_zoom_slider_assembly_on_zoom_in_pressed ((MediaPageZoomSliderAssembly*) self, event); +#line 168 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 10065 "MediaPage.c" +} + + +MediaPageZoomSliderAssembly* media_page_zoom_slider_assembly_construct (GType object_type) { + MediaPageZoomSliderAssembly * self = NULL; + GtkBox* zoom_group = NULL; + GtkBox* _tmp0_ = NULL; + GtkImage* zoom_out = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GtkImage* _tmp3_ = NULL; + GtkImage* _tmp4_ = NULL; + GtkEventBox* zoom_out_box = NULL; + GtkEventBox* _tmp5_ = NULL; + gint persisted_scale = 0; + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gdouble _tmp10_ = 0.0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gdouble _tmp13_ = 0.0; + GtkAdjustment* _tmp14_ = NULL; + GtkAdjustment* _tmp15_ = NULL; + GtkScale* _tmp16_ = NULL; + GtkScale* _tmp17_ = NULL; + GtkScale* _tmp18_ = NULL; + GtkScale* _tmp19_ = NULL; + GtkScale* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GtkScale* _tmp22_ = NULL; + GtkImage* zoom_in = NULL; + GdkPixbuf* _tmp23_ = NULL; + GdkPixbuf* _tmp24_ = NULL; + GtkImage* _tmp25_ = NULL; + GtkImage* _tmp26_ = NULL; + GtkEventBox* zoom_in_box = NULL; + GtkEventBox* _tmp27_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = (MediaPageZoomSliderAssembly*) g_object_new (object_type, NULL); +#line 136 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); +#line 136 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_object_ref_sink (_tmp0_); +#line 136 "/home/jens/Source/shotwell/src/MediaPage.vala" + zoom_group = _tmp0_; +#line 138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = resources_load_icon (RESOURCES_ICON_ZOOM_OUT, RESOURCES_ICON_ZOOM_SCALE); +#line 138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp2_); +#line 138 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_object_ref_sink (_tmp3_); +#line 138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _tmp3_; +#line 138 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp2_); +#line 138 "/home/jens/Source/shotwell/src/MediaPage.vala" + zoom_out = _tmp4_; +#line 140 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = (GtkEventBox*) gtk_event_box_new (); +#line 140 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_object_ref_sink (_tmp5_); +#line 140 "/home/jens/Source/shotwell/src/MediaPage.vala" + zoom_out_box = _tmp5_; +#line 141 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_event_box_set_above_child (zoom_out_box, TRUE); +#line 142 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_event_box_set_visible_window (zoom_out_box, FALSE); +#line 143 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_out, gtk_widget_get_type (), GtkWidget)); +#line 144 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _media_page_zoom_slider_assembly_on_zoom_out_pressed_gtk_widget_button_press_event, self, 0); +#line 146 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 150 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = config_facade_get_instance (); +#line 150 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = _tmp6_; +#line 150 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = configuration_facade_get_photo_thumbnail_scale (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 150 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp9_ = _tmp8_; +#line 150 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp7_); +#line 150 "/home/jens/Source/shotwell/src/MediaPage.vala" + persisted_scale = _tmp9_; +#line 151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp10_ = media_page_zoom_slider_assembly_scale_to_slider (persisted_scale); +#line 151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp11_ = thumbnail_get_MAX_SCALE (); +#line 151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp12_ = _tmp11_; +#line 151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp13_ = media_page_zoom_slider_assembly_scale_to_slider (_tmp12_); +#line 151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp14_ = gtk_adjustment_new (_tmp10_, (gdouble) 0, _tmp13_, (gdouble) 1, (gdouble) 10, (gdouble) 0); +#line 151 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_object_ref_sink (_tmp14_); +#line 151 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (self->priv->adjustment); +#line 151 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->adjustment = _tmp14_; +#line 154 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp15_ = self->priv->adjustment; +#line 154 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp16_ = (GtkScale*) gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, _tmp15_); +#line 154 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_object_ref_sink (_tmp16_); +#line 154 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (self->priv->slider); +#line 154 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->slider = _tmp16_; +#line 155 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp17_ = self->priv->slider; +#line 155 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _media_page_zoom_slider_assembly_on_slider_changed_gtk_range_value_changed, self, 0); +#line 156 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp18_ = self->priv->slider; +#line 156 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_scale_set_draw_value (_tmp18_, FALSE); +#line 157 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp19_ = self->priv->slider; +#line 157 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), 200, -1); +#line 158 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp20_ = self->priv->slider; +#line 158 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp21_ = _ ("Adjust the size of the thumbnails"); +#line 158 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_widget_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), _tmp21_); +#line 160 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp22_ = self->priv->slider; +#line 160 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 162 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp23_ = resources_load_icon (RESOURCES_ICON_ZOOM_IN, RESOURCES_ICON_ZOOM_SCALE); +#line 162 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp24_ = _tmp23_; +#line 162 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp25_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp24_); +#line 162 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_object_ref_sink (_tmp25_); +#line 162 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp26_ = _tmp25_; +#line 162 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (_tmp24_); +#line 162 "/home/jens/Source/shotwell/src/MediaPage.vala" + zoom_in = _tmp26_; +#line 164 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp27_ = (GtkEventBox*) gtk_event_box_new (); +#line 164 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_object_ref_sink (_tmp27_); +#line 164 "/home/jens/Source/shotwell/src/MediaPage.vala" + zoom_in_box = _tmp27_; +#line 165 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_event_box_set_above_child (zoom_in_box, TRUE); +#line 166 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_event_box_set_visible_window (zoom_in_box, FALSE); +#line 167 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_in, gtk_widget_get_type (), GtkWidget)); +#line 168 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _media_page_zoom_slider_assembly_on_zoom_in_pressed_gtk_widget_button_press_event, self, 0); +#line 170 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 172 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_group, gtk_widget_get_type (), GtkWidget)); +#line 135 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (zoom_in_box); +#line 135 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (zoom_in); +#line 135 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (zoom_out_box); +#line 135 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (zoom_out); +#line 135 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (zoom_group); +#line 135 "/home/jens/Source/shotwell/src/MediaPage.vala" + return self; +#line 10247 "MediaPage.c" +} + + +MediaPageZoomSliderAssembly* media_page_zoom_slider_assembly_new (void) { +#line 135 "/home/jens/Source/shotwell/src/MediaPage.vala" + return media_page_zoom_slider_assembly_construct (MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY); +#line 10254 "MediaPage.c" +} + + +gdouble media_page_zoom_slider_assembly_scale_to_slider (gint value) { + gdouble result = 0.0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 176 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = value; +#line 176 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = thumbnail_get_MIN_SCALE (); +#line 176 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 176 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_assert (_tmp0_ >= _tmp2_, "value >= Thumbnail.MIN_SCALE"); +#line 177 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = value; +#line 177 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = thumbnail_get_MAX_SCALE (); +#line 177 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = _tmp4_; +#line 177 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_assert (_tmp3_ <= _tmp5_, "value <= Thumbnail.MAX_SCALE"); +#line 179 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = value; +#line 179 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp7_ = thumbnail_get_MIN_SCALE (); +#line 179 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp8_ = _tmp7_; +#line 179 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = (gdouble) ((_tmp6_ - _tmp8_) / MEDIA_PAGE_SLIDER_STEPPING); +#line 179 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 10295 "MediaPage.c" +} + + +gint media_page_zoom_slider_assembly_slider_to_scale (gdouble value) { + gint result = 0; + gint res = 0; + gdouble _tmp0_ = 0.0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 183 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = value; +#line 183 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = thumbnail_get_MIN_SCALE (); +#line 183 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 183 "/home/jens/Source/shotwell/src/MediaPage.vala" + res = ((gint) (_tmp0_ * MEDIA_PAGE_SLIDER_STEPPING)) + _tmp2_; +#line 185 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = thumbnail_get_MIN_SCALE (); +#line 185 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = _tmp3_; +#line 185 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_assert (res >= _tmp4_, "res >= Thumbnail.MIN_SCALE"); +#line 186 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = thumbnail_get_MAX_SCALE (); +#line 186 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = _tmp5_; +#line 186 "/home/jens/Source/shotwell/src/MediaPage.vala" + _vala_assert (res <= _tmp6_, "res <= Thumbnail.MAX_SCALE"); +#line 188 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = res; +#line 188 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 10333 "MediaPage.c" +} + + +static gboolean media_page_zoom_slider_assembly_on_zoom_out_pressed (MediaPageZoomSliderAssembly* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 191 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self), FALSE); +#line 191 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 192 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_zoom_slider_assembly_snap_to_min (self); +#line 193 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = TRUE; +#line 193 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 10349 "MediaPage.c" +} + + +static gboolean media_page_zoom_slider_assembly_on_zoom_in_pressed (MediaPageZoomSliderAssembly* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 196 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self), FALSE); +#line 196 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 197 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_zoom_slider_assembly_snap_to_max (self); +#line 198 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = TRUE; +#line 198 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 10365 "MediaPage.c" +} + + +static void media_page_zoom_slider_assembly_on_slider_changed (MediaPageZoomSliderAssembly* self) { +#line 201 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self)); +#line 202 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_emit_by_name (self, "zoom-changed"); +#line 10374 "MediaPage.c" +} + + +void media_page_zoom_slider_assembly_snap_to_min (MediaPageZoomSliderAssembly* self) { + GtkScale* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gdouble _tmp3_ = 0.0; +#line 205 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self)); +#line 206 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->slider; +#line 206 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = thumbnail_get_MIN_SCALE (); +#line 206 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 206 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = media_page_zoom_slider_assembly_scale_to_slider (_tmp2_); +#line 206 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), _tmp3_); +#line 10395 "MediaPage.c" +} + + +void media_page_zoom_slider_assembly_snap_to_max (MediaPageZoomSliderAssembly* self) { + GtkScale* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gdouble _tmp3_ = 0.0; +#line 209 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self)); +#line 210 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->slider; +#line 210 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = thumbnail_get_MAX_SCALE (); +#line 210 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = _tmp1_; +#line 210 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = media_page_zoom_slider_assembly_scale_to_slider (_tmp2_); +#line 210 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), _tmp3_); +#line 10416 "MediaPage.c" +} + + +void media_page_zoom_slider_assembly_increase_step (MediaPageZoomSliderAssembly* self) { + gint new_scale = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GtkScale* _tmp4_ = NULL; + gint _tmp5_ = 0; + gdouble _tmp6_ = 0.0; +#line 213 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self)); +#line 214 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_zoom_slider_assembly_get_scale (self); +#line 214 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = media_page_compute_zoom_scale_increase (_tmp0_); +#line 214 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_scale = _tmp1_; +#line 216 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_page_zoom_slider_assembly_get_scale (self); +#line 216 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = new_scale; +#line 216 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp2_ == _tmp3_) { +#line 217 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 10445 "MediaPage.c" + } +#line 219 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = self->priv->slider; +#line 219 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = new_scale; +#line 219 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = media_page_zoom_slider_assembly_scale_to_slider (_tmp5_); +#line 219 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_range_get_type (), GtkRange), _tmp6_); +#line 10455 "MediaPage.c" +} + + +void media_page_zoom_slider_assembly_decrease_step (MediaPageZoomSliderAssembly* self) { + gint new_scale = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GtkScale* _tmp4_ = NULL; + gint _tmp5_ = 0; + gdouble _tmp6_ = 0.0; +#line 222 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self)); +#line 223 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_zoom_slider_assembly_get_scale (self); +#line 223 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = media_page_compute_zoom_scale_decrease (_tmp0_); +#line 223 "/home/jens/Source/shotwell/src/MediaPage.vala" + new_scale = _tmp1_; +#line 225 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_page_zoom_slider_assembly_get_scale (self); +#line 225 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = new_scale; +#line 225 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp2_ == _tmp3_) { +#line 226 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 10484 "MediaPage.c" + } +#line 228 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = self->priv->slider; +#line 228 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp5_ = new_scale; +#line 228 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp6_ = media_page_zoom_slider_assembly_scale_to_slider (_tmp5_); +#line 228 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_range_get_type (), GtkRange), _tmp6_); +#line 10494 "MediaPage.c" +} + + +gint media_page_zoom_slider_assembly_get_scale (MediaPageZoomSliderAssembly* self) { + gint result = 0; + GtkScale* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + gint _tmp2_ = 0; +#line 231 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_val_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self), 0); +#line 232 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = self->priv->slider; +#line 232 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange)); +#line 232 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = media_page_zoom_slider_assembly_slider_to_scale (_tmp1_); +#line 232 "/home/jens/Source/shotwell/src/MediaPage.vala" + result = _tmp2_; +#line 232 "/home/jens/Source/shotwell/src/MediaPage.vala" + return result; +#line 10515 "MediaPage.c" +} + + +void media_page_zoom_slider_assembly_set_scale (MediaPageZoomSliderAssembly* self, gint scale) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + GtkScale* _tmp2_ = NULL; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; +#line 235 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_return_if_fail (MEDIA_PAGE_IS_ZOOM_SLIDER_ASSEMBLY (self)); +#line 236 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp0_ = media_page_zoom_slider_assembly_get_scale (self); +#line 236 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp1_ = scale; +#line 236 "/home/jens/Source/shotwell/src/MediaPage.vala" + if (_tmp0_ == _tmp1_) { +#line 237 "/home/jens/Source/shotwell/src/MediaPage.vala" + return; +#line 10535 "MediaPage.c" + } +#line 239 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp2_ = self->priv->slider; +#line 239 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp3_ = scale; +#line 239 "/home/jens/Source/shotwell/src/MediaPage.vala" + _tmp4_ = media_page_zoom_slider_assembly_scale_to_slider (_tmp3_); +#line 239 "/home/jens/Source/shotwell/src/MediaPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_range_get_type (), GtkRange), _tmp4_); +#line 10545 "MediaPage.c" +} + + +static void media_page_zoom_slider_assembly_class_init (MediaPageZoomSliderAssemblyClass * klass) { +#line 129 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_zoom_slider_assembly_parent_class = g_type_class_peek_parent (klass); +#line 129 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_type_class_add_private (klass, sizeof (MediaPageZoomSliderAssemblyPrivate)); +#line 129 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_OBJECT_CLASS (klass)->finalize = media_page_zoom_slider_assembly_finalize; +#line 129 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_signal_new ("zoom_changed", MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 10558 "MediaPage.c" +} + + +static void media_page_zoom_slider_assembly_instance_init (MediaPageZoomSliderAssembly * self) { +#line 129 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv = MEDIA_PAGE_ZOOM_SLIDER_ASSEMBLY_GET_PRIVATE (self); +#line 10565 "MediaPage.c" +} + + +static void media_page_zoom_slider_assembly_finalize (GObject* obj) { + MediaPageZoomSliderAssembly * self; +#line 129 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, MEDIA_PAGE_TYPE_ZOOM_SLIDER_ASSEMBLY, MediaPageZoomSliderAssembly); +#line 130 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (self->priv->slider); +#line 131 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (self->priv->adjustment); +#line 129 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_OBJECT_CLASS (media_page_zoom_slider_assembly_parent_class)->finalize (obj); +#line 10579 "MediaPage.c" +} + + +GType media_page_zoom_slider_assembly_get_type (void) { + static volatile gsize media_page_zoom_slider_assembly_type_id__volatile = 0; + if (g_once_init_enter (&media_page_zoom_slider_assembly_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaPageZoomSliderAssemblyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_page_zoom_slider_assembly_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaPageZoomSliderAssembly), 0, (GInstanceInitFunc) media_page_zoom_slider_assembly_instance_init, NULL }; + GType media_page_zoom_slider_assembly_type_id; + media_page_zoom_slider_assembly_type_id = g_type_register_static (gtk_tool_item_get_type (), "MediaPageZoomSliderAssembly", &g_define_type_info, 0); + g_once_init_leave (&media_page_zoom_slider_assembly_type_id__volatile, media_page_zoom_slider_assembly_type_id); + } + return media_page_zoom_slider_assembly_type_id__volatile; +} + + +static void media_page_class_init (MediaPageClass * klass) { +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + media_page_parent_class = g_type_class_peek_parent (klass); +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + g_type_class_add_private (klass, sizeof (MediaPagePrivate)); +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = media_page_real_init_collect_ui_filenames; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->init_collect_action_entries = media_page_real_init_collect_action_entries; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->init_collect_toggle_action_entries = media_page_real_init_collect_toggle_action_entries; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->register_radio_actions = media_page_real_register_radio_actions; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->update_actions = media_page_real_update_actions; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((CheckerboardPageClass *) klass)->get_view_tracker = media_page_real_get_view_tracker; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->on_mousewheel_up = media_page_real_on_mousewheel_up; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->on_mousewheel_down = media_page_real_on_mousewheel_down; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->on_app_key_pressed = media_page_real_on_app_key_pressed; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->switched_to = media_page_real_switched_to; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((PageClass *) klass)->switching_from = media_page_real_switching_from; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_zoom_changed = media_page_real_on_zoom_changed; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_export = media_page_real_on_export; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_increase_size = media_page_real_on_increase_size; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_decrease_size = media_page_real_on_decrease_size; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_increase_rating = media_page_real_on_increase_rating; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_decrease_rating = media_page_real_on_decrease_rating; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_set_rating = media_page_real_on_set_rating; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_rate_rejected = media_page_real_on_rate_rejected; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_rate_unrated = media_page_real_on_rate_unrated; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_rate_one = media_page_real_on_rate_one; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_rate_two = media_page_real_on_rate_two; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_rate_three = media_page_real_on_rate_three; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_rate_four = media_page_real_on_rate_four; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_rate_five = media_page_real_on_rate_five; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_move_to_trash = media_page_real_on_move_to_trash; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_edit_title = media_page_real_on_edit_title; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_edit_comment = media_page_real_on_edit_comment; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_display_titles = media_page_real_on_display_titles; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_display_comments = media_page_real_on_display_comments; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_display_ratings = media_page_real_on_display_ratings; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_display_tags = media_page_real_on_display_tags; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = media_page_real_get_config_photos_sort; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = media_page_real_set_config_photos_sort; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->on_sort_changed = media_page_real_on_sort_changed; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->developer_changed = media_page_real_developer_changed; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((CheckerboardPageClass *) klass)->set_display_titles = media_page_real_set_display_titles; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((CheckerboardPageClass *) klass)->set_display_comments = media_page_real_set_display_comments; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((GtkWidgetClass *) klass)->destroy = media_page_real_destroy; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + ((MediaPageClass *) klass)->create_thumbnail = media_page_real_create_thumbnail; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_OBJECT_CLASS (klass)->finalize = media_page_finalize; +#line 10682 "MediaPage.c" +} + + +static void media_page_instance_init (MediaPage * self) { +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv = MEDIA_PAGE_GET_PRIVATE (self); +#line 243 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->connected_slider = NULL; +#line 244 "/home/jens/Source/shotwell/src/MediaPage.vala" + self->priv->dnd_handler = NULL; +#line 10693 "MediaPage.c" +} + + +static void media_page_finalize (GObject* obj) { + MediaPage * self; +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_PAGE, MediaPage); +#line 243 "/home/jens/Source/shotwell/src/MediaPage.vala" + _g_object_unref0 (self->priv->connected_slider); +#line 244 "/home/jens/Source/shotwell/src/MediaPage.vala" + _drag_and_drop_handler_unref0 (self->priv->dnd_handler); +#line 245 "/home/jens/Source/shotwell/src/MediaPage.vala" + _core_tracker_unref0 (self->priv->tracker); +#line 112 "/home/jens/Source/shotwell/src/MediaPage.vala" + G_OBJECT_CLASS (media_page_parent_class)->finalize (obj); +#line 10709 "MediaPage.c" +} + + +GType media_page_get_type (void) { + static volatile gsize media_page_type_id__volatile = 0; + if (g_once_init_enter (&media_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaPage), 0, (GInstanceInitFunc) media_page_instance_init, NULL }; + GType media_page_type_id; + media_page_type_id = g_type_register_static (TYPE_CHECKERBOARD_PAGE, "MediaPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&media_page_type_id__volatile, media_page_type_id); + } + return media_page_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/MediaViewTracker.c b/src/MediaViewTracker.c new file mode 100644 index 0000000..3187c83 --- /dev/null +++ b/src/MediaViewTracker.c @@ -0,0 +1,1023 @@ +/* MediaViewTracker.c generated by valac 0.32.1, the Vala compiler + * generated from MediaViewTracker.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include + + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; +typedef struct _CoreTrackerPrivate CoreTrackerPrivate; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; +typedef struct _CoreViewTrackerPrivate CoreViewTrackerPrivate; + +#define TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ()) +#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker)) +#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) +#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER)) +#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER)) +#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) + +typedef struct _MediaViewTracker MediaViewTracker; +typedef struct _MediaViewTrackerClass MediaViewTrackerClass; +typedef struct _MediaViewTrackerPrivate MediaViewTrackerPrivate; + +#define TYPE_MEDIA_ACCUMULATOR (media_accumulator_get_type ()) +#define MEDIA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_ACCUMULATOR, MediaAccumulator)) +#define MEDIA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_ACCUMULATOR, MediaAccumulatorClass)) +#define IS_MEDIA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_ACCUMULATOR)) +#define IS_MEDIA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_ACCUMULATOR)) +#define MEDIA_ACCUMULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_ACCUMULATOR, MediaAccumulatorClass)) + +typedef struct _MediaAccumulator MediaAccumulator; +typedef struct _MediaAccumulatorClass MediaAccumulatorClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_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 CORE_TYPE_TRACKER_ACCUMULATOR (core_tracker_accumulator_get_type ()) +#define CORE_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)) +#define CORE_IS_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR)) +#define CORE_TRACKER_ACCUMULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulatorIface)) + +typedef struct _CoreTrackerAccumulator CoreTrackerAccumulator; +typedef struct _CoreTrackerAccumulatorIface CoreTrackerAccumulatorIface; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +typedef struct _MediaAccumulatorPrivate MediaAccumulatorPrivate; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_DATA_VIEW (data_view_get_type ()) +#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView)) +#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass)) +#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW)) +#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW)) +#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass)) + +typedef struct _DataView DataView; +typedef struct _DataViewClass DataViewClass; + +#define TYPE_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_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_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 _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _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 _CoreTracker { + GTypeInstance parent_instance; + volatile int ref_count; + CoreTrackerPrivate * priv; +}; + +struct _CoreTrackerClass { + GTypeClass parent_class; + void (*finalize) (CoreTracker *self); + void (*updated) (CoreTracker* self); +}; + +struct _CoreViewTracker { + CoreTracker parent_instance; + CoreViewTrackerPrivate * priv; +}; + +struct _CoreViewTrackerClass { + CoreTrackerClass parent_class; +}; + +struct _MediaViewTracker { + CoreViewTracker parent_instance; + MediaViewTrackerPrivate * priv; + MediaAccumulator* all; + MediaAccumulator* visible; + MediaAccumulator* selected; +}; + +struct _MediaViewTrackerClass { + CoreViewTrackerClass parent_class; +}; + +struct _CoreTrackerAccumulatorIface { + GTypeInterface parent_iface; + gboolean (*include) (CoreTrackerAccumulator* self, DataObject* object); + gboolean (*uninclude) (CoreTrackerAccumulator* self, DataObject* object); + gboolean (*altered) (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration); +}; + +struct _MediaAccumulator { + GObject parent_instance; + MediaAccumulatorPrivate * priv; + gint total; + gint photos; + gint videos; + gint raw; + gint flagged; +}; + +struct _MediaAccumulatorClass { + GObjectClass parent_class; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + + +static gpointer media_view_tracker_parent_class = NULL; +static gpointer media_accumulator_parent_class = NULL; +static CoreTrackerAccumulatorIface* media_accumulator_core_tracker_accumulator_parent_iface = NULL; + +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType media_view_tracker_get_type (void) G_GNUC_CONST; +GType media_accumulator_get_type (void) G_GNUC_CONST; +enum { + MEDIA_VIEW_TRACKER_DUMMY_PROPERTY +}; +MediaAccumulator* media_accumulator_new (void); +MediaAccumulator* media_accumulator_construct (GType object_type); +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; +MediaViewTracker* media_view_tracker_new (ViewCollection* collection); +MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection); +CoreViewTracker* core_view_tracker_new (ViewCollection* collection); +CoreViewTracker* core_view_tracker_construct (GType object_type, ViewCollection* collection); +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType core_tracker_accumulator_get_type (void) G_GNUC_CONST; +void core_view_tracker_start (CoreViewTracker* self, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); +static void media_view_tracker_finalize (CoreTracker* obj); +enum { + MEDIA_ACCUMULATOR_DUMMY_PROPERTY +}; +static gboolean media_accumulator_real_include (CoreTrackerAccumulator* base, DataObject* object); +GType data_source_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +DataSource* data_view_get_source (DataView* self); +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 photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_master_file_format (Photo* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +GType video_source_get_type (void) G_GNUC_CONST; +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +static gboolean media_accumulator_real_uninclude (CoreTrackerAccumulator* base, DataObject* object); +gchar* data_object_to_string (DataObject* self); +gchar* media_accumulator_to_string (MediaAccumulator* self); +GType video_get_type (void) G_GNUC_CONST; +static gboolean media_accumulator_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +static void media_accumulator_finalize (GObject* obj); + + +MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection) { + MediaViewTracker* self = NULL; + ViewCollection* _tmp0_ = NULL; + MediaAccumulator* _tmp1_ = NULL; + MediaAccumulator* _tmp2_ = NULL; + MediaAccumulator* _tmp3_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (collection), NULL); +#line 13 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = collection; +#line 13 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = (MediaViewTracker*) core_view_tracker_construct (object_type, _tmp0_); +#line 15 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = self->all; +#line 15 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = self->visible; +#line 15 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = self->selected; +#line 15 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + core_view_tracker_start (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_VIEW_TRACKER, CoreViewTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)); +#line 12 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return self; +#line 375 "MediaViewTracker.c" +} + + +MediaViewTracker* media_view_tracker_new (ViewCollection* collection) { +#line 12 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return media_view_tracker_construct (TYPE_MEDIA_VIEW_TRACKER, collection); +#line 382 "MediaViewTracker.c" +} + + +static void media_view_tracker_class_init (MediaViewTrackerClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + media_view_tracker_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + ((CoreTrackerClass *) klass)->finalize = media_view_tracker_finalize; +#line 391 "MediaViewTracker.c" +} + + +static void media_view_tracker_instance_init (MediaViewTracker * self) { + MediaAccumulator* _tmp0_ = NULL; + MediaAccumulator* _tmp1_ = NULL; + MediaAccumulator* _tmp2_ = NULL; +#line 8 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = media_accumulator_new (); +#line 8 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->all = _tmp0_; +#line 9 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = media_accumulator_new (); +#line 9 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->visible = _tmp1_; +#line 10 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = media_accumulator_new (); +#line 10 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->selected = _tmp2_; +#line 411 "MediaViewTracker.c" +} + + +static void media_view_tracker_finalize (CoreTracker* obj) { + MediaViewTracker * self; +#line 7 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker); +#line 8 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (self->all); +#line 9 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (self->visible); +#line 10 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (self->selected); +#line 7 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + CORE_TRACKER_CLASS (media_view_tracker_parent_class)->finalize (obj); +#line 427 "MediaViewTracker.c" +} + + +GType media_view_tracker_get_type (void) { + static volatile gsize media_view_tracker_type_id__volatile = 0; + if (g_once_init_enter (&media_view_tracker_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaViewTrackerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_view_tracker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaViewTracker), 0, (GInstanceInitFunc) media_view_tracker_instance_init, NULL }; + GType media_view_tracker_type_id; + media_view_tracker_type_id = g_type_register_static (CORE_TYPE_VIEW_TRACKER, "MediaViewTracker", &g_define_type_info, 0); + g_once_init_leave (&media_view_tracker_type_id__volatile, media_view_tracker_type_id); + } + return media_view_tracker_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 31 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return self ? g_object_ref (self) : NULL; +#line 446 "MediaViewTracker.c" +} + + +static gboolean media_accumulator_real_include (CoreTrackerAccumulator* base, DataObject* object) { + MediaAccumulator * self; + gboolean result = FALSE; + DataSource* source = NULL; + DataObject* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gint _tmp2_ = 0; + Photo* photo = NULL; + DataSource* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Flaggable* flaggable = NULL; + DataSource* _tmp17_ = NULL; + Flaggable* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + Flaggable* _tmp20_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_ACCUMULATOR, MediaAccumulator); +#line 26 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 27 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = object; +#line 27 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 27 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + source = _tmp1_; +#line 29 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = self->total; +#line 29 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->total = _tmp2_ + 1; +#line 31 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = source; +#line 31 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_PHOTO) ? ((Photo*) _tmp3_) : NULL); +#line 31 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + photo = _tmp4_; +#line 32 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp5_ = photo; +#line 32 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp5_ != NULL) { +#line 490 "MediaViewTracker.c" + Photo* _tmp6_ = NULL; + PhotoFileFormat _tmp7_ = 0; + gboolean _tmp9_ = FALSE; + Photo* _tmp10_ = NULL; + PhotoFileFormat _tmp11_ = 0; +#line 33 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp6_ = photo; +#line 33 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp7_ = photo_get_master_file_format (_tmp6_); +#line 33 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp7_ == PHOTO_FILE_FORMAT_RAW) { +#line 502 "MediaViewTracker.c" + gint _tmp8_ = 0; +#line 34 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp8_ = self->raw; +#line 34 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->raw = _tmp8_ + 1; +#line 508 "MediaViewTracker.c" + } +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp10_ = photo; +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp11_ = photo_get_master_file_format (_tmp10_); +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp11_ != PHOTO_FILE_FORMAT_RAW) { +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp9_ = TRUE; +#line 518 "MediaViewTracker.c" + } else { + Photo* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 38 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp12_ = photo; +#line 38 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp13_ = photo_is_raw_developer_available (_tmp12_, RAW_DEVELOPER_CAMERA); +#line 38 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp9_ = _tmp13_; +#line 528 "MediaViewTracker.c" + } +#line 37 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp9_) { +#line 532 "MediaViewTracker.c" + gint _tmp14_ = 0; +#line 39 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp14_ = self->photos; +#line 39 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->photos = _tmp14_ + 1; +#line 538 "MediaViewTracker.c" + } + } else { + DataSource* _tmp15_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp15_ = source; +#line 41 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_VIDEO_SOURCE)) { +#line 546 "MediaViewTracker.c" + gint _tmp16_ = 0; +#line 42 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp16_ = self->videos; +#line 42 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->videos = _tmp16_ + 1; +#line 552 "MediaViewTracker.c" + } + } +#line 45 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp17_ = source; +#line 45 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp17_) : NULL); +#line 45 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + flaggable = _tmp18_; +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp20_ = flaggable; +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp20_ != NULL) { +#line 565 "MediaViewTracker.c" + Flaggable* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp21_ = flaggable; +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp22_ = flaggable_is_flagged (_tmp21_); +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp19_ = _tmp22_; +#line 574 "MediaViewTracker.c" + } else { +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp19_ = FALSE; +#line 578 "MediaViewTracker.c" + } +#line 46 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp19_) { +#line 582 "MediaViewTracker.c" + gint _tmp23_ = 0; +#line 47 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp23_ = self->flagged; +#line 47 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = _tmp23_ + 1; +#line 588 "MediaViewTracker.c" + } +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = TRUE; +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (flaggable); +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (photo); +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (source); +#line 50 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 600 "MediaViewTracker.c" +} + + +static gboolean media_accumulator_real_uninclude (CoreTrackerAccumulator* base, DataObject* object) { + MediaAccumulator * self; + gboolean result = FALSE; + DataSource* source = NULL; + DataObject* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp12_ = 0; + Photo* photo = NULL; + DataSource* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + Flaggable* flaggable = NULL; + DataSource* _tmp30_ = NULL; + Flaggable* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + Flaggable* _tmp33_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_ACCUMULATOR, MediaAccumulator); +#line 53 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 54 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = object; +#line 54 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 54 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + source = _tmp1_; +#line 56 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = self->total; +#line 56 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp2_ < 1) { +#line 635 "MediaViewTracker.c" + DataObject* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GType _tmp6_ = 0UL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = object; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp4_ = data_object_to_string (_tmp3_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp5_ = _tmp4_; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp6_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (self, G_TYPE_OBJECT, GObject)); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp7_ = g_type_name (_tmp6_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp8_ = media_accumulator_to_string (self); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp9_ = _tmp8_; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp10_ = g_strdup_printf ("Tried to remove DataObject %s from empty %s (%s)", _tmp5_, _tmp7_, _tmp9_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp11_ = _tmp10_; +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_warning ("MediaViewTracker.vala:57: %s", _tmp11_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_free0 (_tmp11_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_free0 (_tmp9_); +#line 57 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_free0 (_tmp5_); +#line 59 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = FALSE; +#line 59 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (source); +#line 59 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 677 "MediaViewTracker.c" + } +#line 61 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp12_ = self->total; +#line 61 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->total = _tmp12_ - 1; +#line 63 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp13_ = source; +#line 63 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_PHOTO) ? ((Photo*) _tmp13_) : NULL); +#line 63 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + photo = _tmp14_; +#line 64 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp15_ = photo; +#line 64 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp15_ != NULL) { +#line 693 "MediaViewTracker.c" + Photo* _tmp16_ = NULL; + PhotoFileFormat _tmp17_ = 0; + gboolean _tmp20_ = FALSE; + Photo* _tmp21_ = NULL; + PhotoFileFormat _tmp22_ = 0; +#line 65 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp16_ = photo; +#line 65 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp17_ = photo_get_master_file_format (_tmp16_); +#line 65 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp17_ == PHOTO_FILE_FORMAT_RAW) { +#line 705 "MediaViewTracker.c" + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 66 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp18_ = self->raw; +#line 66 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp18_ > 0, "raw > 0"); +#line 67 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp19_ = self->raw; +#line 67 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->raw = _tmp19_ - 1; +#line 716 "MediaViewTracker.c" + } +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp21_ = photo; +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp22_ = photo_get_master_file_format (_tmp21_); +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp22_ != PHOTO_FILE_FORMAT_RAW) { +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp20_ = TRUE; +#line 726 "MediaViewTracker.c" + } else { + Photo* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 71 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp23_ = photo; +#line 71 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp24_ = photo_is_raw_developer_available (_tmp23_, RAW_DEVELOPER_CAMERA); +#line 71 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp20_ = _tmp24_; +#line 736 "MediaViewTracker.c" + } +#line 70 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp20_) { +#line 740 "MediaViewTracker.c" + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 72 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp25_ = self->photos; +#line 72 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp25_ > 0, "photos > 0"); +#line 73 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp26_ = self->photos; +#line 73 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->photos = _tmp26_ - 1; +#line 751 "MediaViewTracker.c" + } + } else { + DataSource* _tmp27_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp27_ = source; +#line 75 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, TYPE_VIDEO)) { +#line 759 "MediaViewTracker.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 76 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp28_ = self->videos; +#line 76 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp28_ > 0, "videos > 0"); +#line 77 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp29_ = self->videos; +#line 77 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->videos = _tmp29_ - 1; +#line 770 "MediaViewTracker.c" + } + } +#line 80 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp30_ = source; +#line 80 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp30_) : NULL); +#line 80 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + flaggable = _tmp31_; +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp33_ = flaggable; +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp33_ != NULL) { +#line 783 "MediaViewTracker.c" + Flaggable* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp34_ = flaggable; +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp35_ = flaggable_is_flagged (_tmp34_); +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp32_ = _tmp35_; +#line 792 "MediaViewTracker.c" + } else { +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp32_ = FALSE; +#line 796 "MediaViewTracker.c" + } +#line 81 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp32_) { +#line 800 "MediaViewTracker.c" + gint _tmp36_ = 0; + gint _tmp37_ = 0; +#line 82 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp36_ = self->flagged; +#line 82 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp36_ > 0, "flagged > 0"); +#line 83 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp37_ = self->flagged; +#line 83 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = _tmp37_ - 1; +#line 811 "MediaViewTracker.c" + } +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = TRUE; +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (flaggable); +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (photo); +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (source); +#line 87 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 823 "MediaViewTracker.c" +} + + +static gboolean media_accumulator_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration) { + MediaAccumulator * self; + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + Flaggable* flaggable = NULL; + DataObject* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + Flaggable* _tmp4_ = NULL; + Flaggable* _tmp5_ = NULL; + Flaggable* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 90 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MEDIA_ACCUMULATOR, MediaAccumulator); +#line 90 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 90 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 93 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = alteration; +#line 93 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "flagged"); +#line 93 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (!_tmp1_) { +#line 94 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = FALSE; +#line 94 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 855 "MediaViewTracker.c" + } +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = object; +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_VIEW, DataView)); +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp3_) : NULL; +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp4_ == NULL) { +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (_tmp3_); +#line 867 "MediaViewTracker.c" + } +#line 96 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + flaggable = _tmp4_; +#line 97 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp5_ = flaggable; +#line 97 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp5_ == NULL) { +#line 98 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = FALSE; +#line 98 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (flaggable); +#line 98 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 881 "MediaViewTracker.c" + } +#line 100 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp6_ = flaggable; +#line 100 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp7_ = flaggable_is_flagged (_tmp6_); +#line 100 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + if (_tmp7_) { +#line 889 "MediaViewTracker.c" + gint _tmp8_ = 0; +#line 101 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp8_ = self->flagged; +#line 101 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = _tmp8_ + 1; +#line 895 "MediaViewTracker.c" + } else { + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 103 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp9_ = self->flagged; +#line 103 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _vala_assert (_tmp9_ > 0, "flagged > 0"); +#line 104 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp10_ = self->flagged; +#line 104 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = _tmp10_ - 1; +#line 907 "MediaViewTracker.c" + } +#line 107 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = TRUE; +#line 107 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _g_object_unref0 (flaggable); +#line 107 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 915 "MediaViewTracker.c" +} + + +gchar* media_accumulator_to_string (MediaAccumulator* self) { + gchar* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + g_return_val_if_fail (IS_MEDIA_ACCUMULATOR (self), NULL); +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp0_ = self->photos; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp1_ = self->videos; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp2_ = self->raw; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp3_ = self->flagged; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + _tmp4_ = g_strdup_printf ("%d photos/%d videos/%d raw/%d flagged", _tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + result = _tmp4_; +#line 111 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return result; +#line 942 "MediaViewTracker.c" +} + + +MediaAccumulator* media_accumulator_construct (GType object_type) { + MediaAccumulator * self = NULL; +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = (MediaAccumulator*) g_object_new (object_type, NULL); +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return self; +#line 952 "MediaViewTracker.c" +} + + +MediaAccumulator* media_accumulator_new (void) { +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + return media_accumulator_construct (TYPE_MEDIA_ACCUMULATOR); +#line 959 "MediaViewTracker.c" +} + + +static void media_accumulator_class_init (MediaAccumulatorClass * klass) { +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + media_accumulator_parent_class = g_type_class_peek_parent (klass); +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + G_OBJECT_CLASS (klass)->finalize = media_accumulator_finalize; +#line 968 "MediaViewTracker.c" +} + + +static void media_accumulator_core_tracker_accumulator_interface_init (CoreTrackerAccumulatorIface * iface) { +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + media_accumulator_core_tracker_accumulator_parent_iface = g_type_interface_peek_parent (iface); +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + iface->include = (gboolean (*)(CoreTrackerAccumulator*, DataObject*)) media_accumulator_real_include; +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + iface->uninclude = (gboolean (*)(CoreTrackerAccumulator*, DataObject*)) media_accumulator_real_uninclude; +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + iface->altered = (gboolean (*)(CoreTrackerAccumulator*, DataObject*, Alteration*)) media_accumulator_real_altered; +#line 981 "MediaViewTracker.c" +} + + +static void media_accumulator_instance_init (MediaAccumulator * self) { +#line 20 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->total = 0; +#line 21 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->photos = 0; +#line 22 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->videos = 0; +#line 23 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->raw = 0; +#line 24 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self->flagged = 0; +#line 996 "MediaViewTracker.c" +} + + +static void media_accumulator_finalize (GObject* obj) { + MediaAccumulator * self; +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MEDIA_ACCUMULATOR, MediaAccumulator); +#line 19 "/home/jens/Source/shotwell/src/MediaViewTracker.vala" + G_OBJECT_CLASS (media_accumulator_parent_class)->finalize (obj); +#line 1006 "MediaViewTracker.c" +} + + +GType media_accumulator_get_type (void) { + static volatile gsize media_accumulator_type_id__volatile = 0; + if (g_once_init_enter (&media_accumulator_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MediaAccumulatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) media_accumulator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MediaAccumulator), 0, (GInstanceInitFunc) media_accumulator_instance_init, NULL }; + static const GInterfaceInfo core_tracker_accumulator_info = { (GInterfaceInitFunc) media_accumulator_core_tracker_accumulator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType media_accumulator_type_id; + media_accumulator_type_id = g_type_register_static (G_TYPE_OBJECT, "MediaAccumulator", &g_define_type_info, 0); + g_type_add_interface_static (media_accumulator_type_id, CORE_TYPE_TRACKER_ACCUMULATOR, &core_tracker_accumulator_info); + g_once_init_leave (&media_accumulator_type_id__volatile, media_accumulator_type_id); + } + return media_accumulator_type_id__volatile; +} + + + diff --git a/src/MetadataWriter.c b/src/MetadataWriter.c new file mode 100644 index 0000000..ec51b73 --- /dev/null +++ b/src/MetadataWriter.c @@ -0,0 +1,5166 @@ +/* MetadataWriter.c generated by valac 0.32.1, the Vala compiler + * generated from MetadataWriter.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* MetadataWriter tracks LibraryPhotos for alterations to their metadata and commits those changes*/ +/* in a timely manner to their backing files. Because only the MetadataWriter knows when the*/ +/* metadata has been properly committed, it is also responsible for updating the metadata-dirty*/ +/* flag in Photo. Thus, MetadataWriter should *always* be running, even if the user has turned off*/ +/* the feature, so if they turn it on MetadataWriter can properly go out and update the backing*/ +/* files.*/ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_METADATA_WRITER (metadata_writer_get_type ()) +#define METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_WRITER, MetadataWriter)) +#define METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_WRITER, MetadataWriterClass)) +#define IS_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_WRITER)) +#define IS_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_WRITER)) +#define METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_WRITER, MetadataWriterClass)) + +typedef struct _MetadataWriter MetadataWriter; +typedef struct _MetadataWriterClass MetadataWriterClass; +typedef struct _MetadataWriterPrivate MetadataWriterPrivate; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_TIMED_QUEUE (timed_queue_get_type ()) +#define TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TIMED_QUEUE, TimedQueue)) +#define TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TIMED_QUEUE, TimedQueueClass)) +#define IS_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TIMED_QUEUE)) +#define IS_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TIMED_QUEUE)) +#define TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TIMED_QUEUE, TimedQueueClass)) + +typedef struct _TimedQueue TimedQueue; +typedef struct _TimedQueueClass TimedQueueClass; + +#define TYPE_HASH_TIMED_QUEUE (hash_timed_queue_get_type ()) +#define HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueue)) +#define HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass)) +#define IS_HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HASH_TIMED_QUEUE)) +#define IS_HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HASH_TIMED_QUEUE)) +#define HASH_TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass)) + +typedef struct _HashTimedQueue HashTimedQueue; +typedef struct _HashTimedQueueClass HashTimedQueueClass; + +#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_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define METADATA_WRITER_TYPE_COMMIT_JOB (metadata_writer_commit_job_get_type ()) +#define METADATA_WRITER_COMMIT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), METADATA_WRITER_TYPE_COMMIT_JOB, MetadataWriterCommitJob)) +#define METADATA_WRITER_COMMIT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), METADATA_WRITER_TYPE_COMMIT_JOB, MetadataWriterCommitJobClass)) +#define METADATA_WRITER_IS_COMMIT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), METADATA_WRITER_TYPE_COMMIT_JOB)) +#define METADATA_WRITER_IS_COMMIT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), METADATA_WRITER_TYPE_COMMIT_JOB)) +#define METADATA_WRITER_COMMIT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), METADATA_WRITER_TYPE_COMMIT_JOB, MetadataWriterCommitJobClass)) + +typedef struct _MetadataWriterCommitJob MetadataWriterCommitJob; +typedef struct _MetadataWriterCommitJobClass MetadataWriterCommitJobClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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_CONTAINER_SOURCE (container_source_get_type ()) +#define CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE, ContainerSource)) +#define IS_CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE)) +#define CONTAINER_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONTAINER_SOURCE, ContainerSourceIface)) + +typedef struct _ContainerSource ContainerSource; +typedef struct _ContainerSourceIface ContainerSourceIface; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) + +#define TYPE_LIBRARY_MONITOR_POOL (library_monitor_pool_get_type ()) +#define LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool)) +#define LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass)) +#define IS_LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR_POOL)) +#define IS_LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR_POOL)) +#define LIBRARY_MONITOR_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass)) + +typedef struct _LibraryMonitorPool LibraryMonitorPool; +typedef struct _LibraryMonitorPoolClass LibraryMonitorPoolClass; + +#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ()) +#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor)) +#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) +#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR)) +#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR)) +#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) + +typedef struct _DirectoryMonitor DirectoryMonitor; +typedef struct _DirectoryMonitorClass DirectoryMonitorClass; + +#define TYPE_LIBRARY_MONITOR (library_monitor_get_type ()) +#define LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitor)) +#define LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR, LibraryMonitorClass)) +#define IS_LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR)) +#define IS_LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR)) +#define LIBRARY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitorClass)) + +typedef struct _LibraryMonitor LibraryMonitor; +typedef struct _LibraryMonitorClass LibraryMonitorClass; +#define _library_monitor_pool_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_pool_unref (var), NULL))) +#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) +#define _timed_queue_unref0(var) ((var == NULL) ? NULL : (var = (timed_queue_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#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_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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _MetadataWriterCommitJobPrivate MetadataWriterCommitJobPrivate; + +#define PHOTO_TYPE_REIMPORT_MASTER_STATE (photo_reimport_master_state_get_type ()) +#define PHOTO_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState)) +#define PHOTO_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) +#define PHOTO_IS_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_REIMPORT_MASTER_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) + +typedef struct _PhotoReimportMasterState PhotoReimportMasterState; +typedef struct _PhotoReimportMasterStateClass PhotoReimportMasterStateClass; + +#define PHOTO_TYPE_REIMPORT_EDITABLE_STATE (photo_reimport_editable_state_get_type ()) +#define PHOTO_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState)) +#define PHOTO_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE)) +#define PHOTO_REIMPORT_EDITABLE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass)) + +typedef struct _PhotoReimportEditableState PhotoReimportEditableState; +typedef struct _PhotoReimportEditableStateClass PhotoReimportEditableStateClass; +#define _photo_reimport_master_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_master_state_unref (var), NULL))) +#define _photo_reimport_editable_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_editable_state_unref (var), NULL))) + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) + +#define PHOTO_METADATA_TYPE_SET_OPTION (photo_metadata_set_option_get_type ()) + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) + +#define TYPE_ORIENTATION (orientation_get_type ()) +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _MetadataWriter { + GObject parent_instance; + MetadataWriterPrivate * priv; +}; + +struct _MetadataWriterClass { + GObjectClass parent_class; +}; + +struct _MetadataWriterPrivate { + Workers* workers; + gboolean enabled; + HashTimedQueue* dirty; + GeeHashMap* pending; + GeeHashSet* pending_cancel; + GeeHashSet* interested_photo_details; + LibraryPhoto* ignore_photo_alteration; + guint outstanding_total; + guint outstanding_completed; + gboolean closed; + gint pause_count; + GeeHashSet* importing_photos; +}; + +struct _ContainerSourceIface { + GTypeInterface parent_iface; + gboolean (*has_links) (ContainerSource* self); + SourceBacklink* (*get_backlink) (ContainerSource* self); + void (*break_link) (ContainerSource* self, DataSource* source); + void (*break_link_many) (ContainerSource* self, GeeCollection* sources); + void (*establish_link) (ContainerSource* self, DataSource* source); + void (*establish_link_many) (ContainerSource* self, GeeCollection* sources); +}; + +typedef void (*DequeuedCallback) (gconstpointer item, void* user_data); +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 () +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _MetadataWriterCommitJob { + BackgroundJob parent_instance; + MetadataWriterCommitJobPrivate * priv; + LibraryPhoto* photo; + GeeSet* current_keywords; + PhotoReimportMasterState* reimport_master_state; + PhotoReimportEditableState* reimport_editable_state; + GError* err; + gboolean wrote_master; + gboolean wrote_editable; +}; + +struct _MetadataWriterCommitJobClass { + BackgroundJobClass parent_class; +}; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + PHOTO_METADATA_SET_OPTION_ALL_DOMAINS, + PHOTO_METADATA_SET_OPTION_ONLY_IF_DOMAIN_PRESENT, + PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN +} PhotoMetadataSetOption; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + + +static gpointer metadata_writer_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern TagSourceCollection* tag_global; +static MetadataWriter* metadata_writer_instance; +static MetadataWriter* metadata_writer_instance = NULL; +static gpointer metadata_writer_commit_job_parent_class = NULL; + +GType metadata_writer_get_type (void) G_GNUC_CONST; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +gpointer timed_queue_ref (gpointer instance); +void timed_queue_unref (gpointer instance); +GParamSpec* param_spec_timed_queue (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_timed_queue (GValue* value, gpointer v_object); +void value_take_timed_queue (GValue* value, gpointer v_object); +gpointer value_get_timed_queue (const GValue* value); +GType timed_queue_get_type (void) G_GNUC_CONST; +GType hash_timed_queue_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 library_photo_get_type (void) G_GNUC_CONST; +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +static GType metadata_writer_commit_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define METADATA_WRITER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_METADATA_WRITER, MetadataWriterPrivate)) +enum { + METADATA_WRITER_DUMMY_PROPERTY +}; +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +static void metadata_writer_on_config_changed (MetadataWriter* self); +static void _metadata_writer_on_config_changed_configuration_facade_commit_metadata_to_masters_changed (ConfigurationFacade* _sender, gpointer self); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +static void metadata_writer_on_importing_photos (MetadataWriter* self, GeeCollection* media_sources); +static void _metadata_writer_on_importing_photos_media_source_collection_media_import_starting (MediaSourceCollection* _sender, GeeCollection* media, gpointer self); +static void metadata_writer_on_photos_imported (MetadataWriter* self, GeeCollection* media_sources); +static void _metadata_writer_on_photos_imported_media_source_collection_media_import_completed (MediaSourceCollection* _sender, GeeCollection* media, gpointer self); +static void metadata_writer_on_photos_added_removed (MetadataWriter* self, GeeIterable* added, GeeIterable* removed); +static void _metadata_writer_on_photos_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void metadata_writer_on_photos_altered (MetadataWriter* self, GeeMap* items); +static void _metadata_writer_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static void metadata_writer_on_collection_frozen (MetadataWriter* self); +static void _metadata_writer_on_collection_frozen_data_collection_frozen (DataCollection* _sender, gpointer self); +static void metadata_writer_on_collection_thawed (MetadataWriter* self); +static void _metadata_writer_on_collection_thawed_data_collection_thawed (DataCollection* _sender, gpointer self); +static void metadata_writer_on_photos_destroyed (MetadataWriter* self, GeeCollection* destroyed); +static void _metadata_writer_on_photos_destroyed_source_collection_items_destroyed (SourceCollection* _sender, GeeCollection* destroyed, gpointer self); +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +static void metadata_writer_on_tags_altered (MetadataWriter* self, GeeMap* map); +static void _metadata_writer_on_tags_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType container_source_get_type (void) G_GNUC_CONST; +static void metadata_writer_on_tag_contents_altered (MetadataWriter* self, ContainerSource* container, GeeCollection* added, gboolean relinking, GeeCollection* removed, gboolean unlinking); +static void _metadata_writer_on_tag_contents_altered_container_source_collection_container_contents_altered (ContainerSourceCollection* _sender, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked, gpointer self); +static void metadata_writer_on_tag_backlink_removed (MetadataWriter* self, ContainerSource* container, GeeCollection* sources); +static void _metadata_writer_on_tag_backlink_removed_container_source_collection_backlink_to_container_removed (ContainerSourceCollection* _sender, ContainerSource* container, GeeCollection* sources, gpointer self); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +static void metadata_writer_on_application_exiting (MetadataWriter* self); +static void _metadata_writer_on_application_exiting_application_exiting (Application* _sender, gboolean panicked, gpointer self); +gpointer library_monitor_pool_ref (gpointer instance); +void library_monitor_pool_unref (gpointer instance); +GParamSpec* param_spec_library_monitor_pool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_library_monitor_pool (GValue* value, gpointer v_object); +void value_take_library_monitor_pool (GValue* value, gpointer v_object); +gpointer value_get_library_monitor_pool (const GValue* value); +GType library_monitor_pool_get_type (void) G_GNUC_CONST; +LibraryMonitorPool* library_monitor_pool_get_instance (void); +GType directory_monitor_get_type (void) G_GNUC_CONST; +GType library_monitor_get_type (void) G_GNUC_CONST; +static void metadata_writer_on_monitor_installed (MetadataWriter* self, LibraryMonitor* monitor); +static void _metadata_writer_on_monitor_installed_library_monitor_pool_monitor_installed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self); +static void metadata_writer_on_monitor_destroyed (MetadataWriter* self, LibraryMonitor* monitor); +static void _metadata_writer_on_monitor_destroyed_library_monitor_pool_monitor_destroyed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self); +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +#define METADATA_WRITER_COMMIT_DELAY_MSEC ((guint) 3000) +#define METADATA_WRITER_COMMIT_SPACING_MSEC ((guint) 50) +static MetadataWriter* metadata_writer_new (void); +static MetadataWriter* metadata_writer_construct (GType object_type); +static void metadata_writer_on_photo_dequeued (MetadataWriter* self, LibraryPhoto* photo); +static void _metadata_writer_on_photo_dequeued_dequeued_callback (gconstpointer item, gpointer self); +HashTimedQueue* hash_timed_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority); +HashTimedQueue* hash_timed_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority); +void timed_queue_set_dequeue_spacing_msec (TimedQueue* self, guint msec); +void metadata_writer_pause (MetadataWriter* self); +gboolean configuration_facade_get_commit_metadata_to_masters (ConfigurationFacade* self); +void metadata_writer_force_rescan (MetadataWriter* self); +void metadata_writer_init (void); +void metadata_writer_terminate (void); +void metadata_writer_close (MetadataWriter* self); +MetadataWriter* metadata_writer_get_instance (void); +static void metadata_writer_schedule_if_dirty (MetadataWriter* self, GeeIterable* media_sources, const gchar* reason); +GeeCollection* data_collection_get_all (DataCollection* self); +void timed_queue_pause (TimedQueue* self); +void metadata_writer_unpause (MetadataWriter* self); +void timed_queue_unpause (TimedQueue* self); +static void metadata_writer_cancel_all (MetadataWriter* self, gboolean wait); +static void metadata_writer_on_discovery_completed (MetadataWriter* self); +static void _metadata_writer_on_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender, gpointer self); +static gboolean metadata_writer_cancel_job (MetadataWriter* self, LibraryPhoto* photo); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +GeeCollection* alteration_get_details (Alteration* self, const gchar* subject); +static void metadata_writer_photos_are_dirty (MetadataWriter* self, GeeCollection* photos, const gchar* reason, gboolean already_marked); +GType tag_get_type (void) G_GNUC_CONST; +GeeCollection* tag_get_sources (Tag* self); +gchar* data_object_to_string (DataObject* self); +static void metadata_writer_count_enqueued_work (MetadataWriter* self, gint count, gboolean report); +static void metadata_writer_count_cancelled_work (MetadataWriter* self, gint count, gboolean report); +static void metadata_writer_count_completed_work (MetadataWriter* self, gint count, gboolean report); +gboolean photo_is_master_metadata_dirty (Photo* self); +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); +GQuark database_error_quark (void); +void photo_set_master_metadata_dirty (Photo* self, gboolean dirty, GError** error); +void transaction_controller_commit (TransactionController* self); +void app_window_database_error (GError* err); +gboolean timed_queue_enqueue (TimedQueue* self, gconstpointer item); +void timed_queue_clear (TimedQueue* self); +void background_job_cancel (BackgroundJob* self); +void workers_wait_for_empty_queue (Workers* self); +gboolean timed_queue_contains (TimedQueue* self, gconstpointer item); +gboolean timed_queue_remove_first (TimedQueue* self, gconstpointer item); +GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source); +gchar* data_object_get_name (DataObject* self); +static MetadataWriterCommitJob* metadata_writer_commit_job_new (MetadataWriter* owner, LibraryPhoto* photo, GeeSet* keywords); +static MetadataWriterCommitJob* metadata_writer_commit_job_construct (GType object_type, MetadataWriter* owner, LibraryPhoto* photo, GeeSet* keywords); +void workers_enqueue (Workers* self, BackgroundJob* job); +static void metadata_writer_on_update_completed (MetadataWriter* self, BackgroundJob* j); +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +gpointer photo_reimport_master_state_ref (gpointer instance); +void photo_reimport_master_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_master_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_master_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_master_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_master_state (const GValue* value); +GType photo_reimport_master_state_get_type (void) G_GNUC_CONST; +gpointer photo_reimport_editable_state_ref (gpointer instance); +void photo_reimport_editable_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_editable_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_editable_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_editable_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_editable_state (const GValue* value); +GType photo_reimport_editable_state_get_type (void) G_GNUC_CONST; +GFile* media_source_get_master_file (MediaSource* self); +GFile* photo_get_editable_file (Photo* self); +void photo_finish_update_master_metadata (Photo* self, PhotoReimportMasterState* state, GError** error); +void photo_finish_update_editable_metadata (Photo* self, PhotoReimportEditableState* state, GError** error); +static void metadata_writer_on_update_cancelled (MetadataWriter* self, BackgroundJob* j); +static void g_cclosure_user_marshal_VOID__UINT_UINT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +enum { + METADATA_WRITER_COMMIT_JOB_DUMMY_PROPERTY +}; +static void _metadata_writer_on_update_completed_completion_callback (BackgroundJob* job, gpointer self); +static void _metadata_writer_on_update_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +static void metadata_writer_commit_job_real_execute (BackgroundJob* base); +static void metadata_writer_commit_job_commit_master (MetadataWriterCommitJob* self, GError** error); +static void metadata_writer_commit_job_commit_editable (MetadataWriterCommitJob* self, GError** error); +gboolean photo_has_editable (Photo* self); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_master_file_format (Photo* self); +gboolean photo_file_format_can_write_metadata (PhotoFileFormat self); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +PhotoMetadata* photo_get_master_metadata (Photo* self, GError** error); +static gboolean metadata_writer_commit_job_update_metadata (MetadataWriterCommitJob* self, PhotoMetadata* metadata, gboolean skip_orientation); +void library_monitor_blacklist_file (GFile* file, const gchar* reason); +gboolean photo_persist_master_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportMasterState** state, GError** error); +void library_monitor_unblacklist_file (GFile* file); +PhotoFileFormat* photo_get_editable_file_format (Photo* self); +PhotoMetadata* photo_get_editable_metadata (Photo* self, GError** error); +gboolean photo_persist_editable_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportEditableState** state, GError** error); +gchar* media_source_get_title (MediaSource* self); +gchar* media_metadata_get_title (MediaMetadata* self); +GType photo_metadata_set_option_get_type (void) G_GNUC_CONST; +void photo_metadata_set_title (PhotoMetadata* self, const gchar* title, PhotoMetadataSetOption option); +gchar* media_source_get_comment (MediaSource* self); +gchar* media_metadata_get_comment (MediaMetadata* self); +void photo_metadata_set_comment (PhotoMetadata* self, const gchar* comment); +GType rating_get_type (void) G_GNUC_CONST; +Rating media_source_get_rating (MediaSource* self); +Rating photo_metadata_get_rating (PhotoMetadata* self); +void photo_metadata_set_rating (PhotoMetadata* self, Rating rating); +time_t media_source_get_exposure_time (MediaSource* self); +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +MetadataDateTime* metadata_date_time_new (time_t timestamp); +MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp); +void photo_metadata_set_exposure_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option); +Tag* tag_for_path (const gchar* name); +gchar* tag_get_user_visible_name (Tag* self); +gboolean equal_sets (GeeSet* a, GeeSet* b); +GeeSet* photo_metadata_get_keywords (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +void photo_metadata_set_keywords (PhotoMetadata* self, GeeCollection* keywords, PhotoMetadataSetOption option); +GType orientation_get_type (void) G_GNUC_CONST; +Orientation photo_get_orientation (Photo* self); +Orientation photo_metadata_get_orientation (PhotoMetadata* self); +void photo_metadata_set_orientation (PhotoMetadata* self, Orientation orientation); +void photo_metadata_set_software (PhotoMetadata* self, const gchar* software, const gchar* version); +#define RESOURCES_APP_TITLE "Shotwell" +#define RESOURCES_APP_VERSION _VERSION +static void metadata_writer_commit_job_finalize (BackgroundJob* obj); +static void metadata_writer_finalize (GObject* obj); + +static const gchar* METADATA_WRITER_INTERESTED_PHOTO_METADATA_DETAILS[4] = {"name", "comment", "rating", "exposure-time"}; + +static void _metadata_writer_on_config_changed_configuration_facade_commit_metadata_to_masters_changed (ConfigurationFacade* _sender, gpointer self) { +#line 220 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_config_changed ((MetadataWriter*) self); +#line 828 "MetadataWriter.c" +} + + +static void _metadata_writer_on_importing_photos_media_source_collection_media_import_starting (MediaSourceCollection* _sender, GeeCollection* media, gpointer self) { +#line 222 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_importing_photos ((MetadataWriter*) self, media); +#line 835 "MetadataWriter.c" +} + + +static void _metadata_writer_on_photos_imported_media_source_collection_media_import_completed (MediaSourceCollection* _sender, GeeCollection* media, gpointer self) { +#line 223 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_photos_imported ((MetadataWriter*) self, media); +#line 842 "MetadataWriter.c" +} + + +static void _metadata_writer_on_photos_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 224 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_photos_added_removed ((MetadataWriter*) self, added, removed); +#line 849 "MetadataWriter.c" +} + + +static void _metadata_writer_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 225 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_photos_altered ((MetadataWriter*) self, items); +#line 856 "MetadataWriter.c" +} + + +static void _metadata_writer_on_collection_frozen_data_collection_frozen (DataCollection* _sender, gpointer self) { +#line 226 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_collection_frozen ((MetadataWriter*) self); +#line 863 "MetadataWriter.c" +} + + +static void _metadata_writer_on_collection_thawed_data_collection_thawed (DataCollection* _sender, gpointer self) { +#line 227 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_collection_thawed ((MetadataWriter*) self); +#line 870 "MetadataWriter.c" +} + + +static void _metadata_writer_on_photos_destroyed_source_collection_items_destroyed (SourceCollection* _sender, GeeCollection* destroyed, gpointer self) { +#line 228 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_photos_destroyed ((MetadataWriter*) self, destroyed); +#line 877 "MetadataWriter.c" +} + + +static void _metadata_writer_on_tags_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 230 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_tags_altered ((MetadataWriter*) self, items); +#line 884 "MetadataWriter.c" +} + + +static void _metadata_writer_on_tag_contents_altered_container_source_collection_container_contents_altered (ContainerSourceCollection* _sender, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked, gpointer self) { +#line 231 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_tag_contents_altered ((MetadataWriter*) self, container, added, relinked, removed, unlinked); +#line 891 "MetadataWriter.c" +} + + +static void _metadata_writer_on_tag_backlink_removed_container_source_collection_backlink_to_container_removed (ContainerSourceCollection* _sender, ContainerSource* container, GeeCollection* sources, gpointer self) { +#line 232 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_tag_backlink_removed ((MetadataWriter*) self, container, sources); +#line 898 "MetadataWriter.c" +} + + +static void _metadata_writer_on_application_exiting_application_exiting (Application* _sender, gboolean panicked, gpointer self) { +#line 236 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_application_exiting ((MetadataWriter*) self); +#line 905 "MetadataWriter.c" +} + + +static void _metadata_writer_on_monitor_installed_library_monitor_pool_monitor_installed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self) { +#line 238 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_monitor_installed ((MetadataWriter*) self, monitor); +#line 912 "MetadataWriter.c" +} + + +static void _metadata_writer_on_monitor_destroyed_library_monitor_pool_monitor_destroyed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self) { +#line 239 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_monitor_destroyed ((MetadataWriter*) self, monitor); +#line 919 "MetadataWriter.c" +} + + +static void _metadata_writer_on_photo_dequeued_dequeued_callback (gconstpointer item, gpointer self) { +#line 180 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_photo_dequeued ((MetadataWriter*) self, (LibraryPhoto*) item); +#line 926 "MetadataWriter.c" +} + + +static MetadataWriter* metadata_writer_construct (GType object_type) { + MetadataWriter * self = NULL; + HashTimedQueue* _tmp0_ = NULL; + HashTimedQueue* _tmp1_ = NULL; + ConfigFacade* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + ConfigFacade* _tmp8_ = NULL; + ConfigFacade* _tmp9_ = NULL; + LibraryPhotoSourceCollection* _tmp10_ = NULL; + LibraryPhotoSourceCollection* _tmp11_ = NULL; + LibraryPhotoSourceCollection* _tmp12_ = NULL; + LibraryPhotoSourceCollection* _tmp13_ = NULL; + LibraryPhotoSourceCollection* _tmp14_ = NULL; + LibraryPhotoSourceCollection* _tmp15_ = NULL; + LibraryPhotoSourceCollection* _tmp16_ = NULL; + TagSourceCollection* _tmp17_ = NULL; + TagSourceCollection* _tmp18_ = NULL; + TagSourceCollection* _tmp19_ = NULL; + TagSourceCollection* _tmp20_ = NULL; + TagSourceCollection* _tmp21_ = NULL; + Application* _tmp22_ = NULL; + Application* _tmp23_ = NULL; + LibraryMonitorPool* _tmp24_ = NULL; + LibraryMonitorPool* _tmp25_ = NULL; + LibraryMonitorPool* _tmp26_ = NULL; + LibraryMonitorPool* _tmp27_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self = (MetadataWriter*) g_object_new (object_type, NULL); +#line 180 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = hash_timed_queue_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, METADATA_WRITER_COMMIT_DELAY_MSEC, _metadata_writer_on_photo_dequeued_dequeued_callback, self, NULL, NULL, NULL, NULL, NULL, NULL, G_PRIORITY_DEFAULT); +#line 180 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _timed_queue_unref0 (self->priv->dirty); +#line 180 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->dirty = _tmp0_; +#line 181 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = self->priv->dirty; +#line 181 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + timed_queue_set_dequeue_spacing_msec (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_TIMED_QUEUE, TimedQueue), METADATA_WRITER_COMMIT_SPACING_MSEC); +#line 186 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_pause (self); +#line 971 "MetadataWriter.c" + { + const gchar** detail_collection = NULL; + gint detail_collection_length1 = 0; + gint _detail_collection_size_ = 0; + gint detail_it = 0; +#line 189 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + detail_collection = METADATA_WRITER_INTERESTED_PHOTO_METADATA_DETAILS; +#line 189 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + detail_collection_length1 = G_N_ELEMENTS (METADATA_WRITER_INTERESTED_PHOTO_METADATA_DETAILS); +#line 189 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + for (detail_it = 0; detail_it < G_N_ELEMENTS (METADATA_WRITER_INTERESTED_PHOTO_METADATA_DETAILS); detail_it = detail_it + 1) { +#line 983 "MetadataWriter.c" + gchar* _tmp2_ = NULL; + gchar* detail = NULL; +#line 189 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = g_strdup (detail_collection[detail_it]); +#line 189 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + detail = _tmp2_; +#line 990 "MetadataWriter.c" + { + GeeHashSet* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = self->priv->interested_photo_details; +#line 190 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = detail; +#line 190 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 189 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (detail); +#line 1002 "MetadataWriter.c" + } + } + } +#line 193 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = config_facade_get_instance (); +#line 193 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = _tmp5_; +#line 193 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = configuration_facade_get_commit_metadata_to_masters (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 193 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->enabled = _tmp7_; +#line 193 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp6_); +#line 194 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = config_facade_get_instance (); +#line 194 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = _tmp8_; +#line 194 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "commit-metadata-to-masters-changed", (GCallback) _metadata_writer_on_config_changed_configuration_facade_commit_metadata_to_masters_changed, self, 0); +#line 194 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp9_); +#line 197 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_force_rescan (self); +#line 199 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = library_photo_global; +#line 199 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "media-import-starting", (GCallback) _metadata_writer_on_importing_photos_media_source_collection_media_import_starting, self, 0); +#line 200 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = library_photo_global; +#line 200 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "media-import-completed", (GCallback) _metadata_writer_on_photos_imported_media_source_collection_media_import_completed, self, 0); +#line 201 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = library_photo_global; +#line 201 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _metadata_writer_on_photos_added_removed_data_collection_contents_altered, self, 0); +#line 202 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = library_photo_global; +#line 202 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _metadata_writer_on_photos_altered_data_collection_items_altered, self, 0); +#line 203 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = library_photo_global; +#line 203 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection), "frozen", (GCallback) _metadata_writer_on_collection_frozen_data_collection_frozen, self, 0); +#line 204 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = library_photo_global; +#line 204 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_COLLECTION, DataCollection), "thawed", (GCallback) _metadata_writer_on_collection_thawed_data_collection_thawed, self, 0); +#line 205 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = library_photo_global; +#line 205 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-destroyed", (GCallback) _metadata_writer_on_photos_destroyed_source_collection_items_destroyed, self, 0); +#line 207 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = tag_global; +#line 207 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _metadata_writer_on_tags_altered_data_collection_items_altered, self, 0); +#line 208 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = tag_global; +#line 208 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), "container-contents-altered", (GCallback) _metadata_writer_on_tag_contents_altered_container_source_collection_container_contents_altered, self, 0); +#line 209 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = tag_global; +#line 209 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), "backlink-to-container-removed", (GCallback) _metadata_writer_on_tag_backlink_removed_container_source_collection_backlink_to_container_removed, self, 0); +#line 210 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = tag_global; +#line 210 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_COLLECTION, DataCollection), "frozen", (GCallback) _metadata_writer_on_collection_frozen_data_collection_frozen, self, 0); +#line 211 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = tag_global; +#line 211 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection), "thawed", (GCallback) _metadata_writer_on_collection_thawed_data_collection_thawed, self, 0); +#line 213 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp22_ = application_get_instance (); +#line 213 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = _tmp22_; +#line 213 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (_tmp23_, "exiting", (GCallback) _metadata_writer_on_application_exiting_application_exiting, self, 0); +#line 213 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _application_unref0 (_tmp23_); +#line 215 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp24_ = library_monitor_pool_get_instance (); +#line 215 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = _tmp24_; +#line 215 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (_tmp25_, "monitor-installed", (GCallback) _metadata_writer_on_monitor_installed_library_monitor_pool_monitor_installed, self, 0); +#line 215 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _library_monitor_pool_unref0 (_tmp25_); +#line 216 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp26_ = library_monitor_pool_get_instance (); +#line 216 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = _tmp26_; +#line 216 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (_tmp27_, "monitor-destroyed", (GCallback) _metadata_writer_on_monitor_destroyed_library_monitor_pool_monitor_destroyed, self, 0); +#line 216 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _library_monitor_pool_unref0 (_tmp27_); +#line 179 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return self; +#line 1100 "MetadataWriter.c" +} + + +static MetadataWriter* metadata_writer_new (void) { +#line 179 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return metadata_writer_construct (TYPE_METADATA_WRITER); +#line 1107 "MetadataWriter.c" +} + + +void metadata_writer_init (void) { + MetadataWriter* _tmp0_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = metadata_writer_new (); +#line 243 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (metadata_writer_instance); +#line 243 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_instance = _tmp0_; +#line 1119 "MetadataWriter.c" +} + + +void metadata_writer_terminate (void) { + MetadataWriter* _tmp0_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = metadata_writer_instance; +#line 247 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp0_ != NULL) { +#line 1129 "MetadataWriter.c" + MetadataWriter* _tmp1_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = metadata_writer_instance; +#line 248 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_close (_tmp1_); +#line 1135 "MetadataWriter.c" + } +#line 250 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (metadata_writer_instance); +#line 250 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_instance = NULL; +#line 1141 "MetadataWriter.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 254 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return self ? g_object_ref (self) : NULL; +#line 1148 "MetadataWriter.c" +} + + +MetadataWriter* metadata_writer_get_instance (void) { + MetadataWriter* result = NULL; + MetadataWriter* _tmp0_ = NULL; + MetadataWriter* _tmp1_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = metadata_writer_instance; +#line 254 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 254 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + result = _tmp1_; +#line 254 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return result; +#line 1164 "MetadataWriter.c" +} + + +void metadata_writer_force_rescan (MetadataWriter* self) { + LibraryPhotoSourceCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 259 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = library_photo_global; +#line 259 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 259 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 259 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_schedule_if_dirty (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable), "force rescan"); +#line 259 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp2_); +#line 1184 "MetadataWriter.c" +} + + +void metadata_writer_pause (MetadataWriter* self) { + gint _tmp0_ = 0; + HashTimedQueue* _tmp1_ = NULL; +#line 262 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 263 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->pause_count; +#line 263 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->pause_count = _tmp0_ + 1; +#line 263 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp0_ != 0) { +#line 264 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 1201 "MetadataWriter.c" + } +#line 266 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = self->priv->dirty; +#line 266 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + timed_queue_pause (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_TIMED_QUEUE, TimedQueue)); +#line 268 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_emit_by_name (self, "progress", (guint) 0, (guint) 0); +#line 1209 "MetadataWriter.c" +} + + +void metadata_writer_unpause (MetadataWriter* self) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + HashTimedQueue* _tmp4_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 272 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = self->priv->pause_count; +#line 272 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp1_ == 0) { +#line 272 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = TRUE; +#line 1225 "MetadataWriter.c" + } else { + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 272 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = self->priv->pause_count; +#line 272 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->pause_count = _tmp2_ - 1; +#line 272 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = self->priv->pause_count; +#line 272 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = _tmp3_ != 0; +#line 1237 "MetadataWriter.c" + } +#line 272 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp0_) { +#line 273 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 1243 "MetadataWriter.c" + } +#line 275 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = self->priv->dirty; +#line 275 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + timed_queue_unpause (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_TIMED_QUEUE, TimedQueue)); +#line 1249 "MetadataWriter.c" +} + + +void metadata_writer_close (MetadataWriter* self) { + gboolean _tmp0_ = FALSE; +#line 278 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 279 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->closed; +#line 279 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp0_) { +#line 280 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 1263 "MetadataWriter.c" + } +#line 282 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_cancel_all (self, TRUE); +#line 284 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->closed = TRUE; +#line 1269 "MetadataWriter.c" +} + + +static void metadata_writer_on_config_changed (MetadataWriter* self) { + gboolean value = FALSE; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 287 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 288 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = config_facade_get_instance (); +#line 288 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = _tmp0_; +#line 288 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = configuration_facade_get_commit_metadata_to_masters (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 288 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = _tmp2_; +#line 288 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp1_); +#line 288 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + value = _tmp3_; +#line 290 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = self->priv->enabled; +#line 290 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = value; +#line 290 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp4_ == _tmp5_) { +#line 291 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 1305 "MetadataWriter.c" + } +#line 293 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = value; +#line 293 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->enabled = _tmp6_; +#line 294 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = self->priv->enabled; +#line 294 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp7_) { +#line 295 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_force_rescan (self); +#line 1317 "MetadataWriter.c" + } else { +#line 297 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_cancel_all (self, FALSE); +#line 1321 "MetadataWriter.c" + } +} + + +static void metadata_writer_on_application_exiting (MetadataWriter* self) { +#line 300 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 301 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_close (self); +#line 1331 "MetadataWriter.c" +} + + +static void _metadata_writer_on_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender, gpointer self) { +#line 305 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_discovery_completed ((MetadataWriter*) self); +#line 1338 "MetadataWriter.c" +} + + +static void metadata_writer_on_monitor_installed (MetadataWriter* self, LibraryMonitor* monitor) { + LibraryMonitor* _tmp0_ = NULL; +#line 304 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 304 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (monitor)); +#line 305 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = monitor; +#line 305 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "discovery-completed", (GCallback) _metadata_writer_on_discovery_completed_directory_monitor_discovery_completed, self, 0); +#line 1352 "MetadataWriter.c" +} + + +static void metadata_writer_on_monitor_destroyed (MetadataWriter* self, LibraryMonitor* monitor) { + LibraryMonitor* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 308 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 308 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (monitor)); +#line 309 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = monitor; +#line 309 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("discovery-completed", TYPE_DIRECTORY_MONITOR, &_tmp1_, NULL, FALSE); +#line 309 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _metadata_writer_on_discovery_completed_directory_monitor_discovery_completed, self); +#line 1369 "MetadataWriter.c" +} + + +static void metadata_writer_on_discovery_completed (MetadataWriter* self) { +#line 312 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 313 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_unpause (self); +#line 1378 "MetadataWriter.c" +} + + +static void metadata_writer_on_collection_frozen (MetadataWriter* self) { +#line 316 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 317 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_pause (self); +#line 1387 "MetadataWriter.c" +} + + +static void metadata_writer_on_collection_thawed (MetadataWriter* self) { +#line 320 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 321 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_unpause (self); +#line 1396 "MetadataWriter.c" +} + + +static void metadata_writer_on_importing_photos (MetadataWriter* self, GeeCollection* media_sources) { + GeeHashSet* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 324 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (GEE_IS_COLLECTION (media_sources)); +#line 325 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->importing_photos; +#line 325 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = media_sources; +#line 325 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1413 "MetadataWriter.c" +} + + +static void metadata_writer_on_photos_imported (MetadataWriter* self, GeeCollection* media_sources) { + GeeHashSet* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 328 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 328 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (GEE_IS_COLLECTION (media_sources)); +#line 329 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->importing_photos; +#line 329 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = media_sources; +#line 329 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1430 "MetadataWriter.c" +} + + +static void metadata_writer_on_photos_added_removed (MetadataWriter* self, GeeIterable* added, GeeIterable* removed) { + gboolean _tmp0_ = FALSE; + GeeIterable* _tmp1_ = NULL; + GeeIterable* _tmp4_ = NULL; +#line 332 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 332 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 332 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 335 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = added; +#line 335 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp1_ != NULL) { +#line 1448 "MetadataWriter.c" + gboolean _tmp2_ = FALSE; +#line 335 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = self->priv->enabled; +#line 335 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = _tmp2_; +#line 1454 "MetadataWriter.c" + } else { +#line 335 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = FALSE; +#line 1458 "MetadataWriter.c" + } +#line 335 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp0_) { +#line 1462 "MetadataWriter.c" + GeeIterable* _tmp3_ = NULL; +#line 336 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = added; +#line 336 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_schedule_if_dirty (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable), "added to LibraryPhoto.global"); +#line 1468 "MetadataWriter.c" + } +#line 339 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = removed; +#line 339 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp4_ != NULL) { +#line 1474 "MetadataWriter.c" + gboolean cancelled = FALSE; + gboolean _tmp15_ = FALSE; +#line 340 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + cancelled = FALSE; +#line 1479 "MetadataWriter.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = removed; +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = gee_iterable_iterator (_tmp5_); +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _object_it = _tmp6_; +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 1492 "MetadataWriter.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + DataObject* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = _object_it; +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp8_) { +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 1509 "MetadataWriter.c" + } +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = _object_it; +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + object = (DataObject*) _tmp10_; +#line 342 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = object; +#line 342 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = metadata_writer_cancel_job (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 342 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp13_) { +#line 342 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = TRUE; +#line 1525 "MetadataWriter.c" + } else { + gboolean _tmp14_ = FALSE; +#line 342 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = cancelled; +#line 342 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = _tmp14_; +#line 1532 "MetadataWriter.c" + } +#line 342 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + cancelled = _tmp11_; +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (object); +#line 1538 "MetadataWriter.c" + } +#line 341 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_object_it); +#line 1542 "MetadataWriter.c" + } +#line 344 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = cancelled; +#line 344 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp15_) { +#line 1548 "MetadataWriter.c" + guint _tmp16_ = 0U; + guint _tmp17_ = 0U; +#line 345 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = self->priv->outstanding_completed; +#line 345 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = self->priv->outstanding_total; +#line 345 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_emit_by_name (self, "progress", _tmp16_, _tmp17_); +#line 1557 "MetadataWriter.c" + } + } +} + + +static void metadata_writer_on_photos_altered (MetadataWriter* self, GeeMap* items) { + GeeHashSet* photos = NULL; + GeeHashSet* _tmp39_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 349 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 350 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photos = NULL; +#line 1572 "MetadataWriter.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = items; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = _tmp1_; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = _tmp2_; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = _tmp4_; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp3_); +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _object_it = _tmp5_; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 1599 "MetadataWriter.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + LibraryPhoto* photo = NULL; + DataObject* _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; + LibraryPhoto* _tmp12_ = NULL; + LibraryPhoto* _tmp13_ = NULL; + Alteration* alteration = NULL; + GeeMap* _tmp14_ = NULL; + DataObject* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + Alteration* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + GeeCollection* details = NULL; + Alteration* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = _object_it; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp7_) { +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 1628 "MetadataWriter.c" + } +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = _object_it; +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + object = (DataObject*) _tmp9_; +#line 352 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = object; +#line 352 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 352 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = _tmp11_; +#line 356 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = photo; +#line 356 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = self->priv->ignore_photo_alteration; +#line 356 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp12_ == _tmp13_) { +#line 357 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 357 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (object); +#line 357 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + continue; +#line 1654 "MetadataWriter.c" + } +#line 359 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = items; +#line 359 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = object; +#line 359 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = gee_map_get (_tmp14_, _tmp15_); +#line 359 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + alteration = (Alteration*) _tmp16_; +#line 362 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = alteration; +#line 362 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = alteration_has_detail (_tmp17_, "image", "orientation"); +#line 362 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp18_) { +#line 1670 "MetadataWriter.c" + GeeHashSet* _tmp19_ = NULL; + GeeHashSet* _tmp21_ = NULL; + LibraryPhoto* _tmp22_ = NULL; +#line 363 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = photos; +#line 363 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp19_ == NULL) { +#line 1678 "MetadataWriter.c" + GeeHashSet* _tmp20_ = NULL; +#line 364 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = gee_hash_set_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 364 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photos); +#line 364 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photos = _tmp20_; +#line 1686 "MetadataWriter.c" + } +#line 366 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = photos; +#line 366 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp22_ = photo; +#line 366 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp22_); +#line 368 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _alteration_unref0 (alteration); +#line 368 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 368 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (object); +#line 368 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + continue; +#line 1702 "MetadataWriter.c" + } +#line 372 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = alteration; +#line 372 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp24_ = alteration_get_details (_tmp23_, "metadata"); +#line 372 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + details = _tmp24_; +#line 373 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = details; +#line 373 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp25_ == NULL) { +#line 374 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (details); +#line 374 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _alteration_unref0 (alteration); +#line 374 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 374 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (object); +#line 374 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + continue; +#line 1724 "MetadataWriter.c" + } + { + GeeIterator* _detail_it = NULL; + GeeCollection* _tmp26_ = NULL; + GeeIterator* _tmp27_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp26_ = details; +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _detail_it = _tmp27_; +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 1738 "MetadataWriter.c" + GeeIterator* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + gchar* detail = NULL; + GeeIterator* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + GeeHashSet* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp28_ = _detail_it; +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp29_ = gee_iterator_next (_tmp28_); +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp29_) { +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 1755 "MetadataWriter.c" + } +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp30_ = _detail_it; +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp31_ = gee_iterator_get (_tmp30_); +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + detail = (gchar*) _tmp31_; +#line 378 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp32_ = self->priv->interested_photo_details; +#line 378 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp33_ = detail; +#line 378 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp34_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp33_); +#line 378 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp34_) { +#line 1771 "MetadataWriter.c" + GeeHashSet* _tmp35_ = NULL; + GeeHashSet* _tmp37_ = NULL; + LibraryPhoto* _tmp38_ = NULL; +#line 379 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp35_ = photos; +#line 379 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp35_ == NULL) { +#line 1779 "MetadataWriter.c" + GeeHashSet* _tmp36_ = NULL; +#line 380 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp36_ = gee_hash_set_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 380 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photos); +#line 380 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photos = _tmp36_; +#line 1787 "MetadataWriter.c" + } +#line 382 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp37_ = photos; +#line 382 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp38_ = photo; +#line 382 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp38_); +#line 384 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (detail); +#line 384 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 1799 "MetadataWriter.c" + } +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (detail); +#line 1803 "MetadataWriter.c" + } +#line 377 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_detail_it); +#line 1807 "MetadataWriter.c" + } +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (details); +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _alteration_unref0 (alteration); +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (object); +#line 1817 "MetadataWriter.c" + } +#line 351 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_object_it); +#line 1821 "MetadataWriter.c" + } +#line 389 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp39_ = photos; +#line 389 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp39_ != NULL) { +#line 1827 "MetadataWriter.c" + GeeHashSet* _tmp40_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp40_ = photos; +#line 390 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_photos_are_dirty (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_COLLECTION, GeeCollection), "alteration", FALSE); +#line 1833 "MetadataWriter.c" + } +#line 349 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photos); +#line 1837 "MetadataWriter.c" +} + + +static void metadata_writer_on_photos_destroyed (MetadataWriter* self, GeeCollection* destroyed) { +#line 393 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 393 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (GEE_IS_COLLECTION (destroyed)); +#line 1846 "MetadataWriter.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = destroyed; +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _source_it = _tmp1_; +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 1859 "MetadataWriter.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + GeeHashSet* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = _source_it; +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp3_) { +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 1879 "MetadataWriter.c" + } +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = _source_it; +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + source = (DataSource*) _tmp5_; +#line 395 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = source; +#line 395 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 395 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = _tmp7_; +#line 396 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = photo; +#line 396 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_cancel_job (self, _tmp8_); +#line 397 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = self->priv->importing_photos; +#line 397 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = photo; +#line 397 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (source); +#line 1907 "MetadataWriter.c" + } +#line 394 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_source_it); +#line 1911 "MetadataWriter.c" + } +} + + +static void metadata_writer_on_tags_altered (MetadataWriter* self, GeeMap* map) { + GeeHashSet* photos = NULL; + GeeHashSet* _tmp32_ = NULL; +#line 401 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 401 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 402 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photos = NULL; +#line 1925 "MetadataWriter.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = map; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = _tmp1_; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = _tmp2_; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = _tmp4_; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp3_); +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _object_it = _tmp5_; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 1952 "MetadataWriter.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + Alteration* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + GeeHashSet* _tmp16_ = NULL; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = _object_it; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp7_) { +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 1973 "MetadataWriter.c" + } +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = _object_it; +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + object = (DataObject*) _tmp9_; +#line 404 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = map; +#line 404 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = object; +#line 404 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 404 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = (Alteration*) _tmp12_; +#line 404 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = alteration_has_detail (_tmp13_, "metadata", "name"); +#line 404 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = !_tmp14_; +#line 404 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _alteration_unref0 (_tmp13_); +#line 404 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp15_) { +#line 405 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (object); +#line 405 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + continue; +#line 2001 "MetadataWriter.c" + } +#line 407 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = photos; +#line 407 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp16_ == NULL) { +#line 2007 "MetadataWriter.c" + GeeHashSet* _tmp17_ = NULL; +#line 408 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = gee_hash_set_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 408 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photos); +#line 408 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photos = _tmp17_; +#line 2015 "MetadataWriter.c" + } + { + GeeIterator* _media_it = NULL; + DataObject* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeCollection* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; + GeeIterator* _tmp22_ = NULL; +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = object; +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = tag_get_sources (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_TAG, Tag)); +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = _tmp19_; +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp22_ = _tmp21_; +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp20_); +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _media_it = _tmp22_; +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 2040 "MetadataWriter.c" + GeeIterator* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp25_ = NULL; + gpointer _tmp26_ = NULL; + LibraryPhoto* photo = NULL; + MediaSource* _tmp27_ = NULL; + LibraryPhoto* _tmp28_ = NULL; + LibraryPhoto* _tmp29_ = NULL; +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = _media_it; +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp24_ = gee_iterator_next (_tmp23_); +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp24_) { +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 2058 "MetadataWriter.c" + } +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = _media_it; +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp26_ = gee_iterator_get (_tmp25_); +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + media = (MediaSource*) _tmp26_; +#line 411 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = media; +#line 411 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp27_) : NULL); +#line 411 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = _tmp28_; +#line 412 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp29_ = photo; +#line 412 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp29_ != NULL) { +#line 2076 "MetadataWriter.c" + GeeHashSet* _tmp30_ = NULL; + LibraryPhoto* _tmp31_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp30_ = photos; +#line 413 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp31_ = photo; +#line 413 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp31_); +#line 2085 "MetadataWriter.c" + } +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (media); +#line 2091 "MetadataWriter.c" + } +#line 410 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_media_it); +#line 2095 "MetadataWriter.c" + } +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (object); +#line 2099 "MetadataWriter.c" + } +#line 403 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_object_it); +#line 2103 "MetadataWriter.c" + } +#line 417 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp32_ = photos; +#line 417 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp32_ != NULL) { +#line 2109 "MetadataWriter.c" + GeeHashSet* _tmp33_ = NULL; +#line 418 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp33_ = photos; +#line 418 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_photos_are_dirty (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection), "tag renamed", FALSE); +#line 2115 "MetadataWriter.c" + } +#line 401 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photos); +#line 2119 "MetadataWriter.c" +} + + +static void metadata_writer_on_tag_contents_altered (MetadataWriter* self, ContainerSource* container, GeeCollection* added, gboolean relinking, GeeCollection* removed, gboolean unlinking) { + Tag* tag = NULL; + ContainerSource* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeCollection* _tmp3_ = NULL; + gboolean _tmp27_ = FALSE; + GeeCollection* _tmp28_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 421 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 421 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 421 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 423 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = container; +#line 423 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TAG, Tag)); +#line 423 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + tag = _tmp1_; +#line 425 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = added; +#line 425 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp3_ != NULL) { +#line 2149 "MetadataWriter.c" + gboolean _tmp4_ = FALSE; +#line 425 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = relinking; +#line 425 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = !_tmp4_; +#line 2155 "MetadataWriter.c" + } else { +#line 425 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = FALSE; +#line 2159 "MetadataWriter.c" + } +#line 425 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp2_) { +#line 2163 "MetadataWriter.c" + GeeArrayList* added_photos = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 426 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 426 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + added_photos = _tmp5_; +#line 2176 "MetadataWriter.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = added; +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _source_it = _tmp7_; +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 2189 "MetadataWriter.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp12_ = NULL; + LibraryPhoto* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + LibraryPhoto* _tmp15_ = NULL; +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = _source_it; +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp9_) { +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 2208 "MetadataWriter.c" + } +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = _source_it; +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + source = (DataSource*) _tmp11_; +#line 428 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = source; +#line 428 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp12_) : NULL); +#line 428 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = _tmp13_; +#line 429 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = photo; +#line 429 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp15_ != NULL) { +#line 2226 "MetadataWriter.c" + GeeHashSet* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 429 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = self->priv->importing_photos; +#line 429 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = photo; +#line 429 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 429 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = !_tmp18_; +#line 2238 "MetadataWriter.c" + } else { +#line 429 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = FALSE; +#line 2242 "MetadataWriter.c" + } +#line 429 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp14_) { +#line 2246 "MetadataWriter.c" + GeeArrayList* _tmp19_ = NULL; + LibraryPhoto* _tmp20_ = NULL; +#line 430 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = added_photos; +#line 430 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = photo; +#line 430 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp20_); +#line 2255 "MetadataWriter.c" + } +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (source); +#line 2261 "MetadataWriter.c" + } +#line 427 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_source_it); +#line 2265 "MetadataWriter.c" + } +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = added_photos; +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp22_ = tag; +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_OBJECT, DataObject)); +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp24_ = _tmp23_; +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = g_strdup_printf ("added to %s", _tmp24_); +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp26_ = _tmp25_; +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_photos_are_dirty (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection), _tmp26_, FALSE); +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp26_); +#line 433 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp24_); +#line 425 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (added_photos); +#line 2287 "MetadataWriter.c" + } +#line 436 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp28_ = removed; +#line 436 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp28_ != NULL) { +#line 2293 "MetadataWriter.c" + gboolean _tmp29_ = FALSE; +#line 436 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp29_ = unlinking; +#line 436 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = !_tmp29_; +#line 2299 "MetadataWriter.c" + } else { +#line 436 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = FALSE; +#line 2303 "MetadataWriter.c" + } +#line 436 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp27_) { +#line 2307 "MetadataWriter.c" + GeeArrayList* removed_photos = NULL; + GeeArrayList* _tmp30_ = NULL; + GeeArrayList* _tmp42_ = NULL; + Tag* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; +#line 437 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp30_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 437 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + removed_photos = _tmp30_; +#line 2320 "MetadataWriter.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp31_ = NULL; + GeeIterator* _tmp32_ = NULL; +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp31_ = removed; +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp32_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _source_it = _tmp32_; +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 2333 "MetadataWriter.c" + GeeIterator* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp35_ = NULL; + gpointer _tmp36_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp37_ = NULL; + LibraryPhoto* _tmp38_ = NULL; + LibraryPhoto* _tmp39_ = NULL; +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp33_ = _source_it; +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp34_ = gee_iterator_next (_tmp33_); +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp34_) { +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 2351 "MetadataWriter.c" + } +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp35_ = _source_it; +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp36_ = gee_iterator_get (_tmp35_); +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + source = (DataSource*) _tmp36_; +#line 439 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp37_ = source; +#line 439 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp38_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp37_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp37_) : NULL); +#line 439 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = _tmp38_; +#line 440 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp39_ = photo; +#line 440 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp39_ != NULL) { +#line 2369 "MetadataWriter.c" + GeeArrayList* _tmp40_ = NULL; + LibraryPhoto* _tmp41_ = NULL; +#line 441 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp40_ = removed_photos; +#line 441 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp41_ = photo; +#line 441 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp41_); +#line 2378 "MetadataWriter.c" + } +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (source); +#line 2384 "MetadataWriter.c" + } +#line 438 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_source_it); +#line 2388 "MetadataWriter.c" + } +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp42_ = removed_photos; +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp43_ = tag; +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp44_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_DATA_OBJECT, DataObject)); +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp45_ = _tmp44_; +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp46_ = g_strdup_printf ("removed from %s", _tmp45_); +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp47_ = _tmp46_; +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_photos_are_dirty (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection), _tmp47_, FALSE); +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp47_); +#line 444 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp45_); +#line 436 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (removed_photos); +#line 2410 "MetadataWriter.c" + } +#line 421 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (tag); +#line 2414 "MetadataWriter.c" +} + + +static void metadata_writer_on_tag_backlink_removed (MetadataWriter* self, ContainerSource* container, GeeCollection* sources) { + GeeArrayList* photos = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp12_ = NULL; + ContainerSource* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 448 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 448 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 449 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 449 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photos = _tmp0_; +#line 2437 "MetadataWriter.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = sources; +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _source_it = _tmp2_; +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 2450 "MetadataWriter.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = _source_it; +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp4_) { +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 2468 "MetadataWriter.c" + } +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = _source_it; +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + source = (DataSource*) _tmp6_; +#line 451 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = source; +#line 451 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp7_) : NULL); +#line 451 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = _tmp8_; +#line 452 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = photo; +#line 452 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp9_ != NULL) { +#line 2486 "MetadataWriter.c" + GeeArrayList* _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; +#line 453 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = photos; +#line 453 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = photo; +#line 453 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_); +#line 2495 "MetadataWriter.c" + } +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (source); +#line 2501 "MetadataWriter.c" + } +#line 450 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_source_it); +#line 2505 "MetadataWriter.c" + } +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = photos; +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = container; +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_OBJECT, DataObject)); +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = _tmp14_; +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = g_strdup_printf ("backlink removed from %s", _tmp15_); +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = _tmp16_; +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_photos_are_dirty (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp17_, FALSE); +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp17_); +#line 456 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp15_); +#line 448 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photos); +#line 2527 "MetadataWriter.c" +} + + +static void metadata_writer_count_enqueued_work (MetadataWriter* self, gint count, gboolean report) { + guint _tmp0_ = 0U; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 459 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 460 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->outstanding_total; +#line 460 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = count; +#line 460 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_total = _tmp0_ + _tmp1_; +#line 466 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = report; +#line 466 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp2_) { +#line 2547 "MetadataWriter.c" + guint _tmp3_ = 0U; + guint _tmp4_ = 0U; +#line 467 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = self->priv->outstanding_completed; +#line 467 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = self->priv->outstanding_total; +#line 467 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_emit_by_name (self, "progress", _tmp3_, _tmp4_); +#line 2556 "MetadataWriter.c" + } +} + + +static void metadata_writer_count_cancelled_work (MetadataWriter* self, gint count, gboolean report) { + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; + gint _tmp2_ = 0; + guint _tmp5_ = 0U; + guint _tmp6_ = 0U; + gboolean _tmp7_ = FALSE; +#line 470 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 471 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = self->priv->outstanding_total; +#line 471 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = count; +#line 471 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp1_ >= ((guint) _tmp2_)) { +#line 2576 "MetadataWriter.c" + guint _tmp3_ = 0U; + gint _tmp4_ = 0; +#line 471 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = self->priv->outstanding_total; +#line 471 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = count; +#line 471 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = _tmp3_ - _tmp4_; +#line 2585 "MetadataWriter.c" + } else { +#line 471 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = (guint) 0; +#line 2589 "MetadataWriter.c" + } +#line 471 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_total = _tmp0_; +#line 472 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = self->priv->outstanding_completed; +#line 472 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = self->priv->outstanding_total; +#line 472 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp5_ >= _tmp6_) { +#line 473 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_completed = (guint) 0; +#line 474 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_total = (guint) 0; +#line 2603 "MetadataWriter.c" + } +#line 481 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = report; +#line 481 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp7_) { +#line 2609 "MetadataWriter.c" + guint _tmp8_ = 0U; + guint _tmp9_ = 0U; +#line 482 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = self->priv->outstanding_completed; +#line 482 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = self->priv->outstanding_total; +#line 482 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_emit_by_name (self, "progress", _tmp8_, _tmp9_); +#line 2618 "MetadataWriter.c" + } +} + + +static void metadata_writer_count_completed_work (MetadataWriter* self, gint count, gboolean report) { + guint _tmp0_ = 0U; + gint _tmp1_ = 0; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; +#line 485 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 486 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->outstanding_completed; +#line 486 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = count; +#line 486 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_completed = _tmp0_ + _tmp1_; +#line 487 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = self->priv->outstanding_completed; +#line 487 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = self->priv->outstanding_total; +#line 487 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp2_ >= _tmp3_) { +#line 488 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_completed = (guint) 0; +#line 489 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_total = (guint) 0; +#line 2647 "MetadataWriter.c" + } +#line 496 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = report; +#line 496 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp4_) { +#line 2653 "MetadataWriter.c" + guint _tmp5_ = 0U; + guint _tmp6_ = 0U; +#line 497 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = self->priv->outstanding_completed; +#line 497 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = self->priv->outstanding_total; +#line 497 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_emit_by_name (self, "progress", _tmp5_, _tmp6_); +#line 2662 "MetadataWriter.c" + } +} + + +static void metadata_writer_schedule_if_dirty (MetadataWriter* self, GeeIterable* media_sources, const gchar* reason) { + GeeArrayList* photos = NULL; + GeeArrayList* _tmp18_ = NULL; +#line 500 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 500 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (GEE_IS_ITERABLE (media_sources)); +#line 500 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (reason != NULL); +#line 501 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photos = NULL; +#line 2678 "MetadataWriter.c" + { + GeeIterator* _media_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = media_sources; +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _media_it = _tmp1_; +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 2691 "MetadataWriter.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + LibraryPhoto* photo = NULL; + MediaSource* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + GeeHashSet* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + LibraryPhoto* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = _media_it; +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp3_) { +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 2714 "MetadataWriter.c" + } +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = _media_it; +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + media = (MediaSource*) _tmp5_; +#line 503 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = media; +#line 503 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp6_) : NULL); +#line 503 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = _tmp7_; +#line 504 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = photo; +#line 504 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp8_ == NULL) { +#line 505 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 505 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (media); +#line 505 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + continue; +#line 2738 "MetadataWriter.c" + } +#line 508 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = self->priv->importing_photos; +#line 508 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = photo; +#line 508 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 508 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp11_) { +#line 509 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 509 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (media); +#line 509 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + continue; +#line 2754 "MetadataWriter.c" + } +#line 511 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = photo; +#line 511 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = photo_is_master_metadata_dirty (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO, Photo)); +#line 511 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp13_) { +#line 2762 "MetadataWriter.c" + GeeArrayList* _tmp14_ = NULL; + GeeArrayList* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; +#line 512 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = photos; +#line 512 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp14_ == NULL) { +#line 2770 "MetadataWriter.c" + GeeArrayList* _tmp15_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 513 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photos); +#line 513 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photos = _tmp15_; +#line 2778 "MetadataWriter.c" + } +#line 515 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = photos; +#line 515 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = photo; +#line 515 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 2786 "MetadataWriter.c" + } +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (media); +#line 2792 "MetadataWriter.c" + } +#line 502 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_media_it); +#line 2796 "MetadataWriter.c" + } +#line 519 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = photos; +#line 519 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp18_ != NULL) { +#line 2802 "MetadataWriter.c" + GeeArrayList* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = photos; +#line 520 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = reason; +#line 520 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_photos_are_dirty (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection), _tmp20_, TRUE); +#line 2811 "MetadataWriter.c" + } +#line 500 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photos); +#line 2815 "MetadataWriter.c" +} + + +static void metadata_writer_photos_are_dirty (MetadataWriter* self, GeeCollection* photos, const gchar* reason, gboolean already_marked) { + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean _tmp10_ = FALSE; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + GeeCollection* _tmp41_ = NULL; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + GError * _inner_error_ = NULL; +#line 524 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 524 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (GEE_IS_COLLECTION (photos)); +#line 524 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (reason != NULL); +#line 525 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = photos; +#line 525 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 525 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = _tmp1_; +#line 525 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp2_ == 0) { +#line 526 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 2846 "MetadataWriter.c" + } + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = photos; +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _photo_it = _tmp4_; +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 2860 "MetadataWriter.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + LibraryPhoto* photo = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = _photo_it; +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp6_) { +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 2875 "MetadataWriter.c" + } +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = _photo_it; +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = (LibraryPhoto*) _tmp8_; +#line 530 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = photo; +#line 530 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_cancel_job (self, _tmp9_); +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 2889 "MetadataWriter.c" + } +#line 529 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_photo_it); +#line 2893 "MetadataWriter.c" + } +#line 533 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = already_marked; +#line 533 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp10_) { +#line 2899 "MetadataWriter.c" + { + LibraryPhotoSourceCollection* _tmp11_ = NULL; + TransactionController* _tmp12_ = NULL; + TransactionController* _tmp13_ = NULL; + LibraryPhotoSourceCollection* _tmp21_ = NULL; + TransactionController* _tmp22_ = NULL; + TransactionController* _tmp23_ = NULL; +#line 535 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = library_photo_global; +#line 535 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 535 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = _tmp12_; +#line 535 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + transaction_controller_begin (_tmp13_); +#line 2915 "MetadataWriter.c" + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = photos; +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _photo_it = _tmp15_; +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 2928 "MetadataWriter.c" + GeeIterator* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + LibraryPhoto* photo = NULL; + GeeIterator* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + LibraryPhoto* _tmp20_ = NULL; +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = _photo_it; +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = gee_iterator_next (_tmp16_); +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp17_) { +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 2943 "MetadataWriter.c" + } +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = _photo_it; +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = gee_iterator_get (_tmp18_); +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = (LibraryPhoto*) _tmp19_; +#line 538 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = photo; +#line 538 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_set_master_metadata_dirty (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_PHOTO, Photo), TRUE, &_inner_error_); +#line 538 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 538 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 538 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_photo_it); +#line 2961 "MetadataWriter.c" + goto __catch541_g_error; + } +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 2966 "MetadataWriter.c" + } +#line 537 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_photo_it); +#line 2970 "MetadataWriter.c" + } +#line 540 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = library_photo_global; +#line 540 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp22_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 540 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = _tmp22_; +#line 540 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + transaction_controller_commit (_tmp23_); +#line 2980 "MetadataWriter.c" + } + goto __finally541; + __catch541_g_error: + { + GError* err = NULL; + GError* _tmp24_ = NULL; +#line 534 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + err = _inner_error_; +#line 534 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _inner_error_ = NULL; +#line 542 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp24_ = err; +#line 542 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp24_->domain == DATABASE_ERROR) { +#line 2995 "MetadataWriter.c" + GError* _tmp25_ = NULL; +#line 543 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = err; +#line 543 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + app_window_database_error ((GError*) _tmp25_); +#line 3001 "MetadataWriter.c" + } else { + GError* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 545 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp26_ = err; +#line 545 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = _tmp26_->message; +#line 545 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_error ("MetadataWriter.vala:545: Unable to mark metadata as dirty: %s", _tmp27_); +#line 3011 "MetadataWriter.c" + } +#line 534 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_error_free0 (err); +#line 3015 "MetadataWriter.c" + } + __finally541: +#line 534 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 534 "/home/jens/Source/shotwell/src/MetadataWriter.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 534 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_clear_error (&_inner_error_); +#line 534 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 3026 "MetadataWriter.c" + } + } +#line 551 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp29_ = self->priv->closed; +#line 551 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp29_) { +#line 551 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp28_ = TRUE; +#line 3035 "MetadataWriter.c" + } else { + gboolean _tmp30_ = FALSE; +#line 551 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp30_ = self->priv->enabled; +#line 551 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp28_ = !_tmp30_; +#line 3042 "MetadataWriter.c" + } +#line 551 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp28_) { +#line 552 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 3048 "MetadataWriter.c" + } + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp31_ = NULL; + GeeIterator* _tmp32_ = NULL; +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp31_ = photos; +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp32_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _photo_it = _tmp32_; +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 3062 "MetadataWriter.c" + GeeIterator* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; + LibraryPhoto* photo = NULL; + GeeIterator* _tmp35_ = NULL; + gpointer _tmp36_ = NULL; + gboolean enqueued = FALSE; + HashTimedQueue* _tmp37_ = NULL; + LibraryPhoto* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; + gboolean _tmp40_ = FALSE; +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp33_ = _photo_it; +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp34_ = gee_iterator_next (_tmp33_); +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp34_) { +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 3081 "MetadataWriter.c" + } +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp35_ = _photo_it; +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp36_ = gee_iterator_get (_tmp35_); +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo = (LibraryPhoto*) _tmp36_; +#line 559 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp37_ = self->priv->dirty; +#line 559 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp38_ = photo; +#line 559 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp39_ = timed_queue_enqueue (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, TYPE_TIMED_QUEUE, TimedQueue), _tmp38_); +#line 559 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + enqueued = _tmp39_; +#line 560 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp40_ = enqueued; +#line 560 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (_tmp40_, "enqueued"); +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (photo); +#line 3103 "MetadataWriter.c" + } +#line 558 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_photo_it); +#line 3107 "MetadataWriter.c" + } +#line 563 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp41_ = photos; +#line 563 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp42_ = gee_collection_get_size (_tmp41_); +#line 563 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp43_ = _tmp42_; +#line 563 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_count_enqueued_work (self, _tmp43_, TRUE); +#line 3117 "MetadataWriter.c" +} + + +static void metadata_writer_cancel_all (MetadataWriter* self, gboolean wait) { + HashTimedQueue* _tmp0_ = NULL; + gboolean _tmp12_ = FALSE; +#line 566 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 567 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->dirty; +#line 567 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + timed_queue_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TIMED_QUEUE, TimedQueue)); +#line 3130 "MetadataWriter.c" + { + GeeIterator* _job_it = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = self->priv->pending; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MAP, GeeMap)); +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = _tmp2_; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = _tmp3_; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = _tmp5_; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp4_); +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _job_it = _tmp6_; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 3157 "MetadataWriter.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + MetadataWriterCommitJob* job = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + MetadataWriterCommitJob* _tmp11_ = NULL; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = _job_it; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp8_) { +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 3172 "MetadataWriter.c" + } +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = _job_it; +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + job = (MetadataWriterCommitJob*) _tmp10_; +#line 570 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = job; +#line 570 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (job); +#line 3186 "MetadataWriter.c" + } +#line 569 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_job_it); +#line 3190 "MetadataWriter.c" + } +#line 572 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = wait; +#line 572 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp12_) { +#line 3196 "MetadataWriter.c" + Workers* _tmp13_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = self->priv->workers; +#line 573 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + workers_wait_for_empty_queue (_tmp13_); +#line 3202 "MetadataWriter.c" + } +#line 575 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_count_cancelled_work (self, G_MAXINT, TRUE); +#line 3206 "MetadataWriter.c" +} + + +static gboolean metadata_writer_cancel_job (MetadataWriter* self, LibraryPhoto* photo) { + gboolean result = FALSE; + gboolean cancelled = FALSE; + GeeHashMap* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + HashTimedQueue* _tmp11_ = NULL; + LibraryPhoto* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 578 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_val_if_fail (IS_METADATA_WRITER (self), FALSE); +#line 578 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), FALSE); +#line 579 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + cancelled = FALSE; +#line 581 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->pending; +#line 581 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = photo; +#line 581 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 581 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp2_) { +#line 3233 "MetadataWriter.c" + MetadataWriterCommitJob* j = NULL; + GeeHashMap* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + MetadataWriterCommitJob* _tmp7_ = NULL; + MetadataWriterCommitJob* _tmp8_ = NULL; + GeeHashMap* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; +#line 582 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = self->priv->pending; +#line 582 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = photo; +#line 582 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 582 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + j = G_TYPE_CHECK_INSTANCE_CAST ((MetadataWriterCommitJob*) _tmp5_, METADATA_WRITER_TYPE_COMMIT_JOB, MetadataWriterCommitJob); +#line 583 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = self->priv->pending_cancel; +#line 583 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = j; +#line 583 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp7_); +#line 584 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = j; +#line 584 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 585 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = self->priv->pending; +#line 585 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = photo; +#line 585 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_, NULL); +#line 586 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + cancelled = TRUE; +#line 581 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (j); +#line 3271 "MetadataWriter.c" + } +#line 589 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = self->priv->dirty; +#line 589 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = photo; +#line 589 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = timed_queue_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_TIMED_QUEUE, TimedQueue), _tmp12_); +#line 589 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp13_) { +#line 3281 "MetadataWriter.c" + gboolean removed = FALSE; + HashTimedQueue* _tmp14_ = NULL; + LibraryPhoto* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; + HashTimedQueue* _tmp18_ = NULL; + LibraryPhoto* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 590 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = self->priv->dirty; +#line 590 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = photo; +#line 590 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = timed_queue_remove_first (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_TIMED_QUEUE, TimedQueue), _tmp15_); +#line 590 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + removed = _tmp16_; +#line 591 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = removed; +#line 591 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (_tmp17_, "removed"); +#line 593 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = self->priv->dirty; +#line 593 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = photo; +#line 593 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = timed_queue_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_TIMED_QUEUE, TimedQueue), _tmp19_); +#line 593 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (!_tmp20_, "!dirty.contains(photo)"); +#line 595 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_count_cancelled_work (self, 1, FALSE); +#line 596 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + cancelled = TRUE; +#line 3314 "MetadataWriter.c" + } +#line 599 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + result = cancelled; +#line 599 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return result; +#line 3320 "MetadataWriter.c" +} + + +static void metadata_writer_on_photo_dequeued (MetadataWriter* self, LibraryPhoto* photo) { + gboolean _tmp0_ = FALSE; + GeeSet* keywords = NULL; + GeeCollection* tags = NULL; + TagSourceCollection* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeHashMap* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + MetadataWriterCommitJob* job = NULL; + LibraryPhoto* _tmp20_ = NULL; + GeeSet* _tmp21_ = NULL; + MetadataWriterCommitJob* _tmp22_ = NULL; + GeeHashMap* _tmp23_ = NULL; + LibraryPhoto* _tmp24_ = NULL; + MetadataWriterCommitJob* _tmp25_ = NULL; + Workers* _tmp26_ = NULL; + MetadataWriterCommitJob* _tmp27_ = NULL; +#line 602 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 602 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 603 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->enabled; +#line 603 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp0_) { +#line 604 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_count_cancelled_work (self, 1, TRUE); +#line 606 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 3356 "MetadataWriter.c" + } +#line 609 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + keywords = NULL; +#line 610 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = tag_global; +#line 610 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = photo; +#line 610 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = tag_source_collection_fetch_for_source (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 610 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 611 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = tags; +#line 611 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp4_ != NULL) { +#line 3372 "MetadataWriter.c" + GeeHashSet* _tmp5_ = NULL; +#line 612 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 612 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (keywords); +#line 612 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + keywords = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_SET, GeeSet); +#line 3380 "MetadataWriter.c" + { + GeeIterator* _tag_it = NULL; + GeeCollection* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = tags; +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tag_it = _tmp7_; +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 3393 "MetadataWriter.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + GeeSet* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = _tag_it; +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp9_) { +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 3411 "MetadataWriter.c" + } +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = _tag_it; +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + tag = (Tag*) _tmp11_; +#line 614 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = keywords; +#line 614 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = tag; +#line 614 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_OBJECT, DataObject)); +#line 614 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = _tmp14_; +#line 614 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_); +#line 614 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp15_); +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (tag); +#line 3433 "MetadataWriter.c" + } +#line 613 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tag_it); +#line 3437 "MetadataWriter.c" + } + } +#line 618 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = self->priv->pending; +#line 618 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = photo; +#line 618 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp17_); +#line 618 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp18_) { +#line 3448 "MetadataWriter.c" + LibraryPhoto* _tmp19_ = NULL; +#line 619 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = photo; +#line 619 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_cancel_job (self, _tmp19_); +#line 3454 "MetadataWriter.c" + } +#line 621 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = photo; +#line 621 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = keywords; +#line 621 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp22_ = metadata_writer_commit_job_new (self, _tmp20_, _tmp21_); +#line 621 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + job = _tmp22_; +#line 622 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = self->priv->pending; +#line 622 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp24_ = photo; +#line 622 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = job; +#line 622 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_, _tmp25_); +#line 628 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp26_ = self->priv->workers; +#line 628 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = job; +#line 628 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + workers_enqueue (_tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 602 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (job); +#line 602 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (tags); +#line 602 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (keywords); +#line 3484 "MetadataWriter.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 632 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return self ? background_job_ref (self) : NULL; +#line 3491 "MetadataWriter.c" +} + + +static void metadata_writer_on_update_completed (MetadataWriter* self, BackgroundJob* j) { + MetadataWriterCommitJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + MetadataWriterCommitJob* _tmp1_ = NULL; + MetadataWriterCommitJob* _tmp2_ = NULL; + GError* _tmp3_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp44_ = NULL; + MetadataWriterCommitJob* _tmp45_ = NULL; + LibraryPhoto* _tmp46_ = NULL; + gboolean _tmp47_ = FALSE; + gboolean _tmp48_ = FALSE; + LibraryPhotoSourceCollection* _tmp49_ = NULL; + TransactionController* _tmp50_ = NULL; + TransactionController* _tmp51_ = NULL; + gboolean _tmp52_ = FALSE; + MetadataWriterCommitJob* _tmp53_ = NULL; + PhotoReimportMasterState* _tmp54_ = NULL; + LibraryPhotoSourceCollection* _tmp86_ = NULL; + TransactionController* _tmp87_ = NULL; + TransactionController* _tmp88_ = NULL; + GError * _inner_error_ = NULL; +#line 631 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 631 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 632 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = j; +#line 632 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, METADATA_WRITER_TYPE_COMMIT_JOB, MetadataWriterCommitJob)); +#line 632 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + job = _tmp1_; +#line 634 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = job; +#line 634 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = _tmp2_->err; +#line 634 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp3_ != NULL) { +#line 3533 "MetadataWriter.c" + MetadataWriterCommitJob* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + MetadataWriterCommitJob* _tmp8_ = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = job; +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = _tmp4_->photo; +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = _tmp6_; +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = job; +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = _tmp8_->err; +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = _tmp9_->message; +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_warning ("MetadataWriter.vala:635: Unable to write metadata to %s: %s", _tmp7_, _tmp10_); +#line 635 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp7_); +#line 3559 "MetadataWriter.c" + } else { + MetadataWriterCommitJob* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + MetadataWriterCommitJob* _tmp25_ = NULL; + LibraryPhoto* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 637 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = job; +#line 637 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = _tmp11_->wrote_master; +#line 637 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp12_) { +#line 3574 "MetadataWriter.c" + MetadataWriterCommitJob* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = job; +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = _tmp13_->photo; +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = _tmp15_; +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = _tmp17_; +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_message ("MetadataWriter.vala:638: Completed writing metadata to %s", _tmp18_); +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp18_); +#line 638 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp16_); +#line 3599 "MetadataWriter.c" + } else { + MetadataWriterCommitJob* _tmp19_ = NULL; + LibraryPhoto* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = job; +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = _tmp19_->photo; +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp22_ = _tmp21_; +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = g_file_get_path (_tmp22_); +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp24_ = _tmp23_; +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_message ("MetadataWriter.vala:640: Unable to write metadata to %s", _tmp24_); +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp24_); +#line 640 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp22_); +#line 3625 "MetadataWriter.c" + } +#line 642 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = job; +#line 642 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp26_ = _tmp25_->photo; +#line 642 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_PHOTO, Photo)); +#line 642 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp28_ = _tmp27_; +#line 642 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp29_ = _tmp28_ != NULL; +#line 642 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp28_); +#line 642 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp29_) { +#line 3641 "MetadataWriter.c" + MetadataWriterCommitJob* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 643 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp30_ = job; +#line 643 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp31_ = _tmp30_->wrote_editable; +#line 643 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp31_) { +#line 3650 "MetadataWriter.c" + MetadataWriterCommitJob* _tmp32_ = NULL; + LibraryPhoto* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp32_ = job; +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp33_ = _tmp32_->photo; +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp34_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_PHOTO, Photo)); +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp35_ = _tmp34_; +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp36_ = g_file_get_path (_tmp35_); +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp37_ = _tmp36_; +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_message ("MetadataWriter.vala:644: Completed writing metadata to %s", _tmp37_); +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp37_); +#line 644 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp35_); +#line 3675 "MetadataWriter.c" + } else { + MetadataWriterCommitJob* _tmp38_ = NULL; + LibraryPhoto* _tmp39_ = NULL; + GFile* _tmp40_ = NULL; + GFile* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp38_ = job; +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp39_ = _tmp38_->photo; +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp40_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_PHOTO, Photo)); +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp41_ = _tmp40_; +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp42_ = g_file_get_path (_tmp41_); +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp43_ = _tmp42_; +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_message ("MetadataWriter.vala:646: Unable to write metadata to %s", _tmp43_); +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp43_); +#line 646 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp41_); +#line 3701 "MetadataWriter.c" + } + } + } +#line 650 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp44_ = self->priv->pending; +#line 650 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp45_ = job; +#line 650 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp46_ = _tmp45_->photo; +#line 650 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp47_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp46_, NULL); +#line 650 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + removed = _tmp47_; +#line 651 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp48_ = removed; +#line 651 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (_tmp48_, "removed"); +#line 655 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp49_ = library_photo_global; +#line 655 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp50_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 655 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp51_ = _tmp50_; +#line 655 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + transaction_controller_begin (_tmp51_); +#line 657 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp53_ = job; +#line 657 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp54_ = _tmp53_->reimport_master_state; +#line 657 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp54_ != NULL) { +#line 657 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp52_ = TRUE; +#line 3735 "MetadataWriter.c" + } else { + MetadataWriterCommitJob* _tmp55_ = NULL; + PhotoReimportEditableState* _tmp56_ = NULL; +#line 657 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp55_ = job; +#line 657 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp56_ = _tmp55_->reimport_editable_state; +#line 657 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp52_ = _tmp56_ != NULL; +#line 3745 "MetadataWriter.c" + } +#line 657 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp52_) { +#line 3749 "MetadataWriter.c" + LibraryPhoto* _tmp57_ = NULL; + MetadataWriterCommitJob* _tmp58_ = NULL; + LibraryPhoto* _tmp59_ = NULL; + LibraryPhoto* _tmp60_ = NULL; +#line 660 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp57_ = self->priv->ignore_photo_alteration; +#line 660 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (_tmp57_ == NULL, "ignore_photo_alteration == null"); +#line 661 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp58_ = job; +#line 661 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp59_ = _tmp58_->photo; +#line 661 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp60_ = _g_object_ref0 (_tmp59_); +#line 661 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->ignore_photo_alteration); +#line 661 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->ignore_photo_alteration = _tmp60_; +#line 3768 "MetadataWriter.c" + { + MetadataWriterCommitJob* _tmp61_ = NULL; + PhotoReimportMasterState* _tmp62_ = NULL; + MetadataWriterCommitJob* _tmp70_ = NULL; + PhotoReimportEditableState* _tmp71_ = NULL; +#line 663 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp61_ = job; +#line 663 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp62_ = _tmp61_->reimport_master_state; +#line 663 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp62_ != NULL) { +#line 3780 "MetadataWriter.c" + MetadataWriterCommitJob* _tmp63_ = NULL; + LibraryPhoto* _tmp64_ = NULL; + MetadataWriterCommitJob* _tmp65_ = NULL; + PhotoReimportMasterState* _tmp66_ = NULL; +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp63_ = job; +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp64_ = _tmp63_->photo; +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp65_ = job; +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp66_ = _tmp65_->reimport_master_state; +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_finish_update_master_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, TYPE_PHOTO, Photo), _tmp66_, &_inner_error_); +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3799 "MetadataWriter.c" + goto __catch542_database_error; + } + { + LibraryPhoto* _tmp67_ = NULL; + MetadataWriterCommitJob* _tmp68_ = NULL; + LibraryPhoto* _tmp69_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp67_ = self->priv->ignore_photo_alteration; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp68_ = job; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp69_ = _tmp68_->photo; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (_tmp67_ == _tmp69_, "ignore_photo_alteration == job.photo"); +#line 673 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->ignore_photo_alteration); +#line 673 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->ignore_photo_alteration = NULL; +#line 3818 "MetadataWriter.c" + } +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (job); +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.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 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_clear_error (&_inner_error_); +#line 664 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 3828 "MetadataWriter.c" + } + } +#line 666 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp70_ = job; +#line 666 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp71_ = _tmp70_->reimport_editable_state; +#line 666 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp71_ != NULL) { +#line 3837 "MetadataWriter.c" + MetadataWriterCommitJob* _tmp72_ = NULL; + LibraryPhoto* _tmp73_ = NULL; + MetadataWriterCommitJob* _tmp74_ = NULL; + PhotoReimportEditableState* _tmp75_ = NULL; +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp72_ = job; +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp73_ = _tmp72_->photo; +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp74_ = job; +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp75_ = _tmp74_->reimport_editable_state; +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_finish_update_editable_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_PHOTO, Photo), _tmp75_, &_inner_error_); +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3856 "MetadataWriter.c" + goto __catch542_database_error; + } + { + LibraryPhoto* _tmp76_ = NULL; + MetadataWriterCommitJob* _tmp77_ = NULL; + LibraryPhoto* _tmp78_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp76_ = self->priv->ignore_photo_alteration; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp77_ = job; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp78_ = _tmp77_->photo; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (_tmp76_ == _tmp78_, "ignore_photo_alteration == job.photo"); +#line 673 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->ignore_photo_alteration); +#line 673 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->ignore_photo_alteration = NULL; +#line 3875 "MetadataWriter.c" + } +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (job); +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.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 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_clear_error (&_inner_error_); +#line 667 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 3885 "MetadataWriter.c" + } + } + } + goto __finally542; + __catch542_database_error: + { + GError* err = NULL; + GError* _tmp79_ = NULL; +#line 662 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + err = _inner_error_; +#line 662 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _inner_error_ = NULL; +#line 669 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp79_ = err; +#line 669 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + app_window_database_error (_tmp79_); +#line 662 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_error_free0 (err); +#line 3904 "MetadataWriter.c" + } + __finally542: + { + LibraryPhoto* _tmp80_ = NULL; + MetadataWriterCommitJob* _tmp81_ = NULL; + LibraryPhoto* _tmp82_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp80_ = self->priv->ignore_photo_alteration; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp81_ = job; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp82_ = _tmp81_->photo; +#line 672 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (_tmp80_ == _tmp82_, "ignore_photo_alteration == job.photo"); +#line 673 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->ignore_photo_alteration); +#line 673 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->ignore_photo_alteration = NULL; +#line 3923 "MetadataWriter.c" + } +#line 662 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 662 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (job); +#line 662 "/home/jens/Source/shotwell/src/MetadataWriter.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 662 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_clear_error (&_inner_error_); +#line 662 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 3935 "MetadataWriter.c" + } + } else { + } + { + MetadataWriterCommitJob* _tmp83_ = NULL; + LibraryPhoto* _tmp84_ = NULL; +#line 683 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp83_ = job; +#line 683 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp84_ = _tmp83_->photo; +#line 683 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_set_master_metadata_dirty (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, TYPE_PHOTO, Photo), FALSE, &_inner_error_); +#line 683 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 683 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3952 "MetadataWriter.c" + goto __catch543_database_error; + } +#line 683 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (job); +#line 683 "/home/jens/Source/shotwell/src/MetadataWriter.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 683 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_clear_error (&_inner_error_); +#line 683 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 3963 "MetadataWriter.c" + } + } + goto __finally543; + __catch543_database_error: + { + GError* err = NULL; + GError* _tmp85_ = NULL; +#line 682 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + err = _inner_error_; +#line 682 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _inner_error_ = NULL; +#line 685 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp85_ = err; +#line 685 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + app_window_database_error (_tmp85_); +#line 682 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_error_free0 (err); +#line 3981 "MetadataWriter.c" + } + __finally543: +#line 682 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 682 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (job); +#line 682 "/home/jens/Source/shotwell/src/MetadataWriter.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 682 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_clear_error (&_inner_error_); +#line 682 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 3994 "MetadataWriter.c" + } +#line 688 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp86_ = library_photo_global; +#line 688 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp87_ = media_source_collection_get_transaction_controller (G_TYPE_CHECK_INSTANCE_CAST (_tmp86_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 688 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp88_ = _tmp87_; +#line 688 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + transaction_controller_commit (_tmp88_); +#line 690 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_count_completed_work (self, 1, TRUE); +#line 631 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _background_job_unref0 (job); +#line 4008 "MetadataWriter.c" +} + + +static void metadata_writer_on_update_cancelled (MetadataWriter* self, BackgroundJob* j) { + gboolean removed = FALSE; + GeeHashSet* _tmp0_ = NULL; + BackgroundJob* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 693 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_METADATA_WRITER (self)); +#line 693 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 694 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->priv->pending_cancel; +#line 694 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = j; +#line 694 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, METADATA_WRITER_TYPE_COMMIT_JOB, MetadataWriterCommitJob)); +#line 694 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + removed = _tmp2_; +#line 695 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (removed, "removed"); +#line 697 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_count_cancelled_work (self, 1, TRUE); +#line 4033 "MetadataWriter.c" +} + + +static void g_cclosure_user_marshal_VOID__UINT_UINT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__UINT_UINT) (gpointer data1, guint arg_1, guint arg_2, gpointer data2); + register GMarshalFunc_VOID__UINT_UINT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (n_param_values == 3); +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + data1 = closure->data; +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + data2 = param_values->data[0].v_pointer; +#line 4052 "MetadataWriter.c" + } else { +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + data1 = param_values->data[0].v_pointer; +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + data2 = closure->data; +#line 4058 "MetadataWriter.c" + } +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + callback = (GMarshalFunc_VOID__UINT_UINT) (marshal_data ? marshal_data : cc->callback); +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + callback (data1, g_value_get_uint (param_values + 1), g_value_get_uint (param_values + 2), data2); +#line 4064 "MetadataWriter.c" +} + + +static void _metadata_writer_on_update_completed_completion_callback (BackgroundJob* job, gpointer self) { +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_update_completed ((MetadataWriter*) self, job); +#line 4071 "MetadataWriter.c" +} + + +static void _metadata_writer_on_update_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_on_update_cancelled ((MetadataWriter*) self, job); +#line 4078 "MetadataWriter.c" +} + + +static MetadataWriterCommitJob* metadata_writer_commit_job_construct (GType object_type, MetadataWriter* owner, LibraryPhoto* photo, GeeSet* keywords) { + MetadataWriterCommitJob* self = NULL; + MetadataWriter* _tmp0_ = NULL; + MetadataWriter* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + MetadataWriter* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + LibraryPhoto* _tmp6_ = NULL; + GeeSet* _tmp7_ = NULL; + GeeSet* _tmp8_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_val_if_fail (IS_METADATA_WRITER (owner), NULL); +#line 29 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 29 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_val_if_fail ((keywords == NULL) || GEE_IS_SET (keywords), NULL); +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = owner; +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = owner; +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = g_cancellable_new (); +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = _tmp2_; +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = owner; +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self = (MetadataWriterCommitJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _metadata_writer_on_update_completed_completion_callback, _tmp1_, _tmp3_, _metadata_writer_on_update_cancelled_cancellation_callback, _tmp4_, NULL); +#line 30 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp3_); +#line 32 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = photo; +#line 32 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 32 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->photo); +#line 32 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->photo = _tmp6_; +#line 33 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = keywords; +#line 33 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 33 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->current_keywords); +#line 33 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->current_keywords = _tmp8_; +#line 29 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return self; +#line 4131 "MetadataWriter.c" +} + + +static MetadataWriterCommitJob* metadata_writer_commit_job_new (MetadataWriter* owner, LibraryPhoto* photo, GeeSet* keywords) { +#line 29 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return metadata_writer_commit_job_construct (METADATA_WRITER_TYPE_COMMIT_JOB, owner, photo, keywords); +#line 4138 "MetadataWriter.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return self ? g_error_copy (self) : NULL; +#line 4145 "MetadataWriter.c" +} + + +static void metadata_writer_commit_job_real_execute (BackgroundJob* base) { + MetadataWriterCommitJob * self; + GError * _inner_error_ = NULL; +#line 36 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, METADATA_WRITER_TYPE_COMMIT_JOB, MetadataWriterCommitJob); +#line 4154 "MetadataWriter.c" + { +#line 38 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_commit_job_commit_master (self, &_inner_error_); +#line 38 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4160 "MetadataWriter.c" + goto __catch544_g_error; + } +#line 39 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_commit_job_commit_editable (self, &_inner_error_); +#line 39 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4167 "MetadataWriter.c" + goto __catch544_g_error; + } + } + goto __finally544; + __catch544_g_error: + { + GError* err = NULL; + GError* _tmp0_ = NULL; + GError* _tmp1_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + err = _inner_error_; +#line 37 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _inner_error_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = err; +#line 41 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = _g_error_copy0 (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_error_free0 (self->err); +#line 41 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->err = _tmp1_; +#line 37 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_error_free0 (err); +#line 4191 "MetadataWriter.c" + } + __finally544: +#line 37 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 37 "/home/jens/Source/shotwell/src/MetadataWriter.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 37 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_clear_error (&_inner_error_); +#line 37 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 4202 "MetadataWriter.c" + } +} + + +static void metadata_writer_commit_job_commit_master (MetadataWriterCommitJob* self, GError** error) { + gboolean skip_orientation = FALSE; + LibraryPhoto* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + LibraryPhoto* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + PhotoMetadata* metadata = NULL; + LibraryPhoto* _tmp5_ = NULL; + PhotoMetadata* _tmp6_ = NULL; + PhotoMetadata* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + GError * _inner_error_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (METADATA_WRITER_IS_COMMIT_JOB (self)); +#line 49 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->photo; +#line 49 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = photo_has_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo)); +#line 49 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + skip_orientation = _tmp1_; +#line 51 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = self->photo; +#line 51 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = photo_get_master_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO, Photo)); +#line 51 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = photo_file_format_can_write_metadata (_tmp3_); +#line 51 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp4_) { +#line 52 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 4239 "MetadataWriter.c" + } +#line 54 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = self->photo; +#line 54 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = photo_get_master_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO, Photo), &_inner_error_); +#line 54 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata = _tmp6_; +#line 54 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 54 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_propagate_error (error, _inner_error_); +#line 54 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 4253 "MetadataWriter.c" + } +#line 55 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = metadata; +#line 55 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = skip_orientation; +#line 55 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = metadata_writer_commit_job_update_metadata (self, _tmp7_, _tmp8_); +#line 55 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp9_) { +#line 4263 "MetadataWriter.c" + LibraryPhoto* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = self->photo; +#line 56 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 56 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = _tmp11_; +#line 56 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + library_monitor_blacklist_file (_tmp12_, "MetadataWriter.commit_master"); +#line 56 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp12_); +#line 4277 "MetadataWriter.c" + { + LibraryPhoto* _tmp13_ = NULL; + PhotoMetadata* _tmp14_ = NULL; + PhotoReimportMasterState* _tmp15_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = self->photo; +#line 58 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = metadata; +#line 58 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_persist_master_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PHOTO, Photo), _tmp14_, &_tmp15_, &_inner_error_); +#line 58 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _photo_reimport_master_state_unref0 (self->reimport_master_state); +#line 58 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->reimport_master_state = _tmp15_; +#line 58 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4294 "MetadataWriter.c" + goto __finally545; + } + } + __finally545: + { + LibraryPhoto* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = self->photo; +#line 60 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 60 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = _tmp17_; +#line 60 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + library_monitor_unblacklist_file (_tmp18_); +#line 60 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp18_); +#line 4313 "MetadataWriter.c" + } +#line 57 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 57 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_propagate_error (error, _inner_error_); +#line 57 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _media_metadata_unref0 (metadata); +#line 57 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 4323 "MetadataWriter.c" + } + } +#line 64 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->wrote_master = TRUE; +#line 45 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _media_metadata_unref0 (metadata); +#line 4330 "MetadataWriter.c" +} + + +static void metadata_writer_commit_job_commit_editable (MetadataWriterCommitJob* self, GError** error) { + gboolean _tmp0_ = FALSE; + LibraryPhoto* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + PhotoMetadata* metadata = NULL; + LibraryPhoto* _tmp7_ = NULL; + PhotoMetadata* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GError * _inner_error_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_if_fail (METADATA_WRITER_IS_COMMIT_JOB (self)); +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = self->photo; +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = photo_has_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO, Photo)); +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp2_) { +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = TRUE; +#line 4355 "MetadataWriter.c" + } else { + LibraryPhoto* _tmp3_ = NULL; + PhotoFileFormat* _tmp4_ = NULL; + PhotoFileFormat* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = self->photo; +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = photo_get_editable_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PHOTO, Photo)); +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = _tmp4_; +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = photo_file_format_can_write_metadata (*_tmp5_); +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = !_tmp6_; +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp5_); +#line 4373 "MetadataWriter.c" + } +#line 68 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp0_) { +#line 69 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 4379 "MetadataWriter.c" + } +#line 71 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = self->photo; +#line 71 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = photo_get_editable_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PHOTO, Photo), &_inner_error_); +#line 71 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata = _tmp8_; +#line 71 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 71 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_propagate_error (error, _inner_error_); +#line 71 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 4393 "MetadataWriter.c" + } +#line 72 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = metadata; +#line 72 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _vala_assert (_tmp9_ != NULL, "metadata != null"); +#line 74 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = metadata; +#line 74 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = metadata_writer_commit_job_update_metadata (self, _tmp10_, FALSE); +#line 74 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp11_) { +#line 4405 "MetadataWriter.c" + LibraryPhoto* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = self->photo; +#line 75 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO, Photo)); +#line 75 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = _tmp13_; +#line 75 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + library_monitor_blacklist_file (_tmp14_, "MetadataWriter.commit_editable"); +#line 75 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp14_); +#line 4419 "MetadataWriter.c" + { + LibraryPhoto* _tmp15_ = NULL; + PhotoMetadata* _tmp16_ = NULL; + PhotoReimportEditableState* _tmp17_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = self->photo; +#line 77 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = metadata; +#line 77 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_persist_editable_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PHOTO, Photo), _tmp16_, &_tmp17_, &_inner_error_); +#line 77 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _photo_reimport_editable_state_unref0 (self->reimport_editable_state); +#line 77 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->reimport_editable_state = _tmp17_; +#line 77 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4436 "MetadataWriter.c" + goto __finally546; + } + } + __finally546: + { + LibraryPhoto* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = self->photo; +#line 79 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_PHOTO, Photo)); +#line 79 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = _tmp19_; +#line 79 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + library_monitor_unblacklist_file (_tmp20_); +#line 79 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp20_); +#line 4455 "MetadataWriter.c" + } +#line 76 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 76 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_propagate_error (error, _inner_error_); +#line 76 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _media_metadata_unref0 (metadata); +#line 76 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return; +#line 4465 "MetadataWriter.c" + } + } +#line 83 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->wrote_editable = TRUE; +#line 67 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _media_metadata_unref0 (metadata); +#line 4472 "MetadataWriter.c" +} + + +static gboolean metadata_writer_commit_job_update_metadata (MetadataWriterCommitJob* self, PhotoMetadata* metadata, gboolean skip_orientation) { + gboolean result = FALSE; + gboolean changed = FALSE; + gchar* current_title = NULL; + LibraryPhoto* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gchar* current_comment = NULL; + LibraryPhoto* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PhotoMetadata* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + Rating current_rating = 0; + LibraryPhoto* _tmp18_ = NULL; + Rating _tmp19_ = 0; + Rating _tmp20_ = 0; + PhotoMetadata* _tmp21_ = NULL; + Rating _tmp22_ = 0; + time_t current_exposure_time = 0; + LibraryPhoto* _tmp25_ = NULL; + time_t _tmp26_ = 0; + time_t metadata_exposure_time = 0; + MetadataDateTime* metadata_exposure_date_time = NULL; + PhotoMetadata* _tmp27_ = NULL; + MetadataDateTime* _tmp28_ = NULL; + MetadataDateTime* _tmp29_ = NULL; + time_t _tmp32_ = 0; + time_t _tmp33_ = 0; + GeeSet* safe_keywords = NULL; + GeeHashSet* _tmp39_ = NULL; + GeeSet* _tmp40_ = NULL; + GeeSet* _tmp53_ = NULL; + PhotoMetadata* _tmp54_ = NULL; + GeeSet* _tmp55_ = NULL; + GeeSet* _tmp56_ = NULL; + gboolean _tmp57_ = FALSE; + gboolean _tmp58_ = FALSE; + gboolean _tmp61_ = FALSE; + gboolean _tmp69_ = FALSE; +#line 86 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_val_if_fail (METADATA_WRITER_IS_COMMIT_JOB (self), FALSE); +#line 86 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (metadata), FALSE); +#line 87 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + changed = FALSE; +#line 90 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = self->photo; +#line 90 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 90 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + current_title = _tmp1_; +#line 91 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = current_title; +#line 91 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = metadata; +#line 91 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 91 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = _tmp4_; +#line 91 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp6_ = g_strcmp0 (_tmp2_, _tmp5_) != 0; +#line 91 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp5_); +#line 91 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp6_) { +#line 4548 "MetadataWriter.c" + PhotoMetadata* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = metadata; +#line 92 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp8_ = current_title; +#line 92 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_metadata_set_title (_tmp7_, _tmp8_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 93 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + changed = TRUE; +#line 4559 "MetadataWriter.c" + } +#line 97 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = self->photo; +#line 97 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp10_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 97 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + current_comment = _tmp10_; +#line 98 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = current_comment; +#line 98 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp12_ = metadata; +#line 98 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 98 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp14_ = _tmp13_; +#line 98 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = g_strcmp0 (_tmp11_, _tmp14_) != 0; +#line 98 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp14_); +#line 98 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp15_) { +#line 4581 "MetadataWriter.c" + PhotoMetadata* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp16_ = metadata; +#line 99 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = current_comment; +#line 99 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_metadata_set_comment (_tmp16_, _tmp17_); +#line 100 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + changed = TRUE; +#line 4592 "MetadataWriter.c" + } +#line 104 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp18_ = self->photo; +#line 104 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 104 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + current_rating = _tmp19_; +#line 105 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp20_ = current_rating; +#line 105 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = metadata; +#line 105 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp22_ = photo_metadata_get_rating (_tmp21_); +#line 105 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp20_ != _tmp22_) { +#line 4608 "MetadataWriter.c" + PhotoMetadata* _tmp23_ = NULL; + Rating _tmp24_ = 0; +#line 106 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = metadata; +#line 106 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp24_ = current_rating; +#line 106 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_metadata_set_rating (_tmp23_, _tmp24_); +#line 107 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + changed = TRUE; +#line 4619 "MetadataWriter.c" + } +#line 111 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = self->photo; +#line 111 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp26_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 111 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + current_exposure_time = _tmp26_; +#line 112 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_exposure_time = (time_t) 0; +#line 113 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = metadata; +#line 113 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp28_ = photo_metadata_get_exposure_date_time (_tmp27_); +#line 113 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_exposure_date_time = _tmp28_; +#line 114 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp29_ = metadata_exposure_date_time; +#line 114 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp29_ != NULL) { +#line 4639 "MetadataWriter.c" + MetadataDateTime* _tmp30_ = NULL; + time_t _tmp31_ = 0; +#line 115 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp30_ = metadata_exposure_date_time; +#line 115 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp31_ = metadata_date_time_get_timestamp (_tmp30_); +#line 115 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_exposure_time = _tmp31_; +#line 4648 "MetadataWriter.c" + } +#line 116 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp32_ = current_exposure_time; +#line 116 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp33_ = metadata_exposure_time; +#line 116 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp32_ != _tmp33_) { +#line 4656 "MetadataWriter.c" + MetadataDateTime* _tmp34_ = NULL; + time_t _tmp35_ = 0; + PhotoMetadata* _tmp38_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp35_ = current_exposure_time; +#line 117 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp35_ != ((time_t) 0)) { +#line 4664 "MetadataWriter.c" + time_t _tmp36_ = 0; + MetadataDateTime* _tmp37_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp36_ = current_exposure_time; +#line 118 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp37_ = metadata_date_time_new (_tmp36_); +#line 118 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _metadata_date_time_unref0 (_tmp34_); +#line 118 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp34_ = _tmp37_; +#line 4675 "MetadataWriter.c" + } else { +#line 119 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _metadata_date_time_unref0 (_tmp34_); +#line 119 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp34_ = NULL; +#line 4681 "MetadataWriter.c" + } +#line 117 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp38_ = metadata; +#line 117 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_metadata_set_exposure_date_time (_tmp38_, _tmp34_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 120 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + changed = TRUE; +#line 116 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _metadata_date_time_unref0 (_tmp34_); +#line 4691 "MetadataWriter.c" + } +#line 124 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp39_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 124 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + safe_keywords = G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_SET, GeeSet); +#line 133 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp40_ = self->current_keywords; +#line 133 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp40_ != NULL) { +#line 4701 "MetadataWriter.c" + { + GeeIterator* _tmp_it = NULL; + GeeSet* _tmp41_ = NULL; + GeeIterator* _tmp42_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp41_ = self->current_keywords; +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp42_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp_it = _tmp42_; +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + while (TRUE) { +#line 4714 "MetadataWriter.c" + GeeIterator* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + gchar* tmp = NULL; + GeeIterator* _tmp45_ = NULL; + gpointer _tmp46_ = NULL; + Tag* tag = NULL; + const gchar* _tmp47_ = NULL; + Tag* _tmp48_ = NULL; + GeeSet* _tmp49_ = NULL; + Tag* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp43_ = _tmp_it; +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp44_ = gee_iterator_next (_tmp43_); +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp44_) { +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + break; +#line 4735 "MetadataWriter.c" + } +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp45_ = _tmp_it; +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp46_ = gee_iterator_get (_tmp45_); +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + tmp = (gchar*) _tmp46_; +#line 135 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp47_ = tmp; +#line 135 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp48_ = tag_for_path (_tmp47_); +#line 135 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + tag = _tmp48_; +#line 136 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp49_ = safe_keywords; +#line 136 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp50_ = tag; +#line 136 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp51_ = tag_get_user_visible_name (_tmp50_); +#line 136 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp52_ = _tmp51_; +#line 136 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_COLLECTION, GeeCollection), _tmp52_); +#line 136 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (_tmp52_); +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (tag); +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (tmp); +#line 4765 "MetadataWriter.c" + } +#line 134 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp_it); +#line 4769 "MetadataWriter.c" + } + } +#line 140 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp53_ = safe_keywords; +#line 140 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp54_ = metadata; +#line 140 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp55_ = photo_metadata_get_keywords (_tmp54_, NULL, NULL, NULL); +#line 140 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp56_ = _tmp55_; +#line 140 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp57_ = equal_sets (_tmp53_, _tmp56_); +#line 140 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp58_ = !_tmp57_; +#line 140 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp56_); +#line 140 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp58_) { +#line 4788 "MetadataWriter.c" + PhotoMetadata* _tmp59_ = NULL; + GeeSet* _tmp60_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp59_ = metadata; +#line 141 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp60_ = self->current_keywords; +#line 141 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_metadata_set_keywords (_tmp59_, G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, GEE_TYPE_COLLECTION, GeeCollection), PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 142 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + changed = TRUE; +#line 4799 "MetadataWriter.c" + } +#line 146 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp61_ = skip_orientation; +#line 146 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (!_tmp61_) { +#line 4805 "MetadataWriter.c" + Orientation current_orientation = 0; + LibraryPhoto* _tmp62_ = NULL; + Orientation _tmp63_ = 0; + Orientation _tmp64_ = 0; + PhotoMetadata* _tmp65_ = NULL; + Orientation _tmp66_ = 0; +#line 147 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp62_ = self->photo; +#line 147 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp63_ = photo_get_orientation (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, TYPE_PHOTO, Photo)); +#line 147 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + current_orientation = _tmp63_; +#line 148 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp64_ = current_orientation; +#line 148 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp65_ = metadata; +#line 148 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp66_ = photo_metadata_get_orientation (_tmp65_); +#line 148 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp64_ != _tmp66_) { +#line 4826 "MetadataWriter.c" + PhotoMetadata* _tmp67_ = NULL; + Orientation _tmp68_ = 0; +#line 149 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp67_ = metadata; +#line 149 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp68_ = current_orientation; +#line 149 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_metadata_set_orientation (_tmp67_, _tmp68_); +#line 150 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + changed = TRUE; +#line 4837 "MetadataWriter.c" + } + } +#line 155 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp69_ = changed; +#line 155 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + if (_tmp69_) { +#line 4844 "MetadataWriter.c" + PhotoMetadata* _tmp70_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp70_ = metadata; +#line 156 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + photo_metadata_set_software (_tmp70_, RESOURCES_APP_TITLE, RESOURCES_APP_VERSION); +#line 4850 "MetadataWriter.c" + } +#line 158 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + result = changed; +#line 158 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (safe_keywords); +#line 158 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _metadata_date_time_unref0 (metadata_exposure_date_time); +#line 158 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (current_comment); +#line 158 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_free0 (current_title); +#line 158 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + return result; +#line 4864 "MetadataWriter.c" +} + + +static void metadata_writer_commit_job_class_init (MetadataWriterCommitJobClass * klass) { +#line 20 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_commit_job_parent_class = g_type_class_peek_parent (klass); +#line 20 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + ((BackgroundJobClass *) klass)->finalize = metadata_writer_commit_job_finalize; +#line 20 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + ((BackgroundJobClass *) klass)->execute = metadata_writer_commit_job_real_execute; +#line 4875 "MetadataWriter.c" +} + + +static void metadata_writer_commit_job_instance_init (MetadataWriterCommitJob * self) { +#line 23 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->reimport_master_state = NULL; +#line 24 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->reimport_editable_state = NULL; +#line 25 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->err = NULL; +#line 26 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->wrote_master = FALSE; +#line 27 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->wrote_editable = FALSE; +#line 4890 "MetadataWriter.c" +} + + +static void metadata_writer_commit_job_finalize (BackgroundJob* obj) { + MetadataWriterCommitJob * self; +#line 20 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, METADATA_WRITER_TYPE_COMMIT_JOB, MetadataWriterCommitJob); +#line 21 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->photo); +#line 22 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->current_keywords); +#line 23 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _photo_reimport_master_state_unref0 (self->reimport_master_state); +#line 24 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _photo_reimport_editable_state_unref0 (self->reimport_editable_state); +#line 25 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_error_free0 (self->err); +#line 20 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + BACKGROUND_JOB_CLASS (metadata_writer_commit_job_parent_class)->finalize (obj); +#line 4910 "MetadataWriter.c" +} + + +static GType metadata_writer_commit_job_get_type (void) { + static volatile gsize metadata_writer_commit_job_type_id__volatile = 0; + if (g_once_init_enter (&metadata_writer_commit_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MetadataWriterCommitJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) metadata_writer_commit_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MetadataWriterCommitJob), 0, (GInstanceInitFunc) metadata_writer_commit_job_instance_init, NULL }; + GType metadata_writer_commit_job_type_id; + metadata_writer_commit_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "MetadataWriterCommitJob", &g_define_type_info, 0); + g_once_init_leave (&metadata_writer_commit_job_type_id__volatile, metadata_writer_commit_job_type_id); + } + return metadata_writer_commit_job_type_id__volatile; +} + + +static void metadata_writer_class_init (MetadataWriterClass * klass) { +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + metadata_writer_parent_class = g_type_class_peek_parent (klass); +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_type_class_add_private (klass, sizeof (MetadataWriterPrivate)); +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + G_OBJECT_CLASS (klass)->finalize = metadata_writer_finalize; +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_new ("progress", TYPE_METADATA_WRITER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__UINT_UINT, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT); +#line 4935 "MetadataWriter.c" +} + + +static void metadata_writer_instance_init (MetadataWriter * self) { + Workers* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeHashSet* _tmp2_ = NULL; + GeeHashSet* _tmp3_ = NULL; + GeeHashSet* _tmp4_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv = METADATA_WRITER_GET_PRIVATE (self); +#line 164 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = workers_new ((guint) 1, FALSE); +#line 164 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->workers = _tmp0_; +#line 165 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->enabled = FALSE; +#line 167 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, METADATA_WRITER_TYPE_COMMIT_JOB, (GBoxedCopyFunc) background_job_ref, background_job_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 167 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->pending = _tmp1_; +#line 168 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp2_ = gee_hash_set_new (METADATA_WRITER_TYPE_COMMIT_JOB, (GBoxedCopyFunc) background_job_ref, background_job_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 168 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->pending_cancel = _tmp2_; +#line 169 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 169 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->interested_photo_details = _tmp3_; +#line 170 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->ignore_photo_alteration = NULL; +#line 171 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_total = (guint) 0; +#line 172 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->outstanding_completed = (guint) 0; +#line 173 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->closed = FALSE; +#line 174 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->pause_count = 0; +#line 175 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp4_ = gee_hash_set_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 175 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self->priv->importing_photos = _tmp4_; +#line 4979 "MetadataWriter.c" +} + + +static void metadata_writer_finalize (GObject* obj) { + MetadataWriter * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + guint _tmp2_ = 0U; + LibraryPhotoSourceCollection* _tmp3_ = NULL; + guint _tmp4_ = 0U; + LibraryPhotoSourceCollection* _tmp5_ = NULL; + guint _tmp6_ = 0U; + LibraryPhotoSourceCollection* _tmp7_ = NULL; + guint _tmp8_ = 0U; + LibraryPhotoSourceCollection* _tmp9_ = NULL; + guint _tmp10_ = 0U; + LibraryPhotoSourceCollection* _tmp11_ = NULL; + guint _tmp12_ = 0U; + LibraryPhotoSourceCollection* _tmp13_ = NULL; + guint _tmp14_ = 0U; + LibraryPhotoSourceCollection* _tmp15_ = NULL; + guint _tmp16_ = 0U; + TagSourceCollection* _tmp17_ = NULL; + guint _tmp18_ = 0U; + TagSourceCollection* _tmp19_ = NULL; + guint _tmp20_ = 0U; + TagSourceCollection* _tmp21_ = NULL; + guint _tmp22_ = 0U; + TagSourceCollection* _tmp23_ = NULL; + guint _tmp24_ = 0U; + TagSourceCollection* _tmp25_ = NULL; + guint _tmp26_ = 0U; + Application* _tmp27_ = NULL; + Application* _tmp28_ = NULL; + guint _tmp29_ = 0U; + LibraryMonitorPool* _tmp30_ = NULL; + LibraryMonitorPool* _tmp31_ = NULL; + guint _tmp32_ = 0U; + LibraryMonitorPool* _tmp33_ = NULL; + LibraryMonitorPool* _tmp34_ = NULL; + guint _tmp35_ = 0U; +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_METADATA_WRITER, MetadataWriter); +#line 220 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp0_ = config_facade_get_instance (); +#line 220 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp1_ = _tmp0_; +#line 220 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("commit-metadata-to-masters-changed", TYPE_CONFIGURATION_FACADE, &_tmp2_, NULL, FALSE); +#line 220 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _metadata_writer_on_config_changed_configuration_facade_commit_metadata_to_masters_changed, self); +#line 220 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (_tmp1_); +#line 222 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp3_ = library_photo_global; +#line 222 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("media-import-starting", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp4_, NULL, FALSE); +#line 222 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _metadata_writer_on_importing_photos_media_source_collection_media_import_starting, self); +#line 223 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp5_ = library_photo_global; +#line 223 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("media-import-completed", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp6_, NULL, FALSE); +#line 223 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _metadata_writer_on_photos_imported_media_source_collection_media_import_completed, self); +#line 224 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp7_ = library_photo_global; +#line 224 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp8_, NULL, FALSE); +#line 224 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _metadata_writer_on_photos_added_removed_data_collection_contents_altered, self); +#line 225 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp9_ = library_photo_global; +#line 225 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp10_, NULL, FALSE); +#line 225 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _metadata_writer_on_photos_altered_data_collection_items_altered, self); +#line 226 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp11_ = library_photo_global; +#line 226 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("frozen", TYPE_DATA_COLLECTION, &_tmp12_, NULL, FALSE); +#line 226 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _metadata_writer_on_collection_frozen_data_collection_frozen, self); +#line 227 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp13_ = library_photo_global; +#line 227 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("thawed", TYPE_DATA_COLLECTION, &_tmp14_, NULL, FALSE); +#line 227 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _metadata_writer_on_collection_thawed_data_collection_thawed, self); +#line 228 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp15_ = library_photo_global; +#line 228 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("items-destroyed", TYPE_SOURCE_COLLECTION, &_tmp16_, NULL, FALSE); +#line 228 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _metadata_writer_on_photos_destroyed_source_collection_items_destroyed, self); +#line 230 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp17_ = tag_global; +#line 230 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp18_, NULL, FALSE); +#line 230 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _metadata_writer_on_tags_altered_data_collection_items_altered, self); +#line 231 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp19_ = tag_global; +#line 231 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("container-contents-altered", TYPE_CONTAINER_SOURCE_COLLECTION, &_tmp20_, NULL, FALSE); +#line 231 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp20_, 0, NULL, (GCallback) _metadata_writer_on_tag_contents_altered_container_source_collection_container_contents_altered, self); +#line 232 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp21_ = tag_global; +#line 232 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("backlink-to-container-removed", TYPE_CONTAINER_SOURCE_COLLECTION, &_tmp22_, NULL, FALSE); +#line 232 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp22_, 0, NULL, (GCallback) _metadata_writer_on_tag_backlink_removed_container_source_collection_backlink_to_container_removed, self); +#line 233 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp23_ = tag_global; +#line 233 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("frozen", TYPE_DATA_COLLECTION, &_tmp24_, NULL, FALSE); +#line 233 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp24_, 0, NULL, (GCallback) _metadata_writer_on_collection_frozen_data_collection_frozen, self); +#line 234 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp25_ = tag_global; +#line 234 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("thawed", TYPE_DATA_COLLECTION, &_tmp26_, NULL, FALSE); +#line 234 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp26_, 0, NULL, (GCallback) _metadata_writer_on_collection_thawed_data_collection_thawed, self); +#line 236 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp27_ = application_get_instance (); +#line 236 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp28_ = _tmp27_; +#line 236 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("exiting", TYPE_APPLICATION, &_tmp29_, NULL, FALSE); +#line 236 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (_tmp28_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp29_, 0, NULL, (GCallback) _metadata_writer_on_application_exiting_application_exiting, self); +#line 236 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _application_unref0 (_tmp28_); +#line 238 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp30_ = library_monitor_pool_get_instance (); +#line 238 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp31_ = _tmp30_; +#line 238 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("monitor-installed", TYPE_LIBRARY_MONITOR_POOL, &_tmp32_, NULL, FALSE); +#line 238 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (_tmp31_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp32_, 0, NULL, (GCallback) _metadata_writer_on_monitor_installed_library_monitor_pool_monitor_installed, self); +#line 238 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _library_monitor_pool_unref0 (_tmp31_); +#line 239 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp33_ = library_monitor_pool_get_instance (); +#line 239 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _tmp34_ = _tmp33_; +#line 239 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_parse_name ("monitor-destroyed", TYPE_LIBRARY_MONITOR_POOL, &_tmp35_, NULL, FALSE); +#line 239 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + g_signal_handlers_disconnect_matched (_tmp34_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp35_, 0, NULL, (GCallback) _metadata_writer_on_monitor_destroyed_library_monitor_pool_monitor_destroyed, self); +#line 239 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _library_monitor_pool_unref0 (_tmp34_); +#line 164 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _workers_unref0 (self->priv->workers); +#line 166 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _timed_queue_unref0 (self->priv->dirty); +#line 167 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->pending); +#line 168 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->pending_cancel); +#line 169 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->interested_photo_details); +#line 170 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->ignore_photo_alteration); +#line 175 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + _g_object_unref0 (self->priv->importing_photos); +#line 14 "/home/jens/Source/shotwell/src/MetadataWriter.vala" + G_OBJECT_CLASS (metadata_writer_parent_class)->finalize (obj); +#line 5151 "MetadataWriter.c" +} + + +GType metadata_writer_get_type (void) { + static volatile gsize metadata_writer_type_id__volatile = 0; + if (g_once_init_enter (&metadata_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MetadataWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) metadata_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MetadataWriter), 0, (GInstanceInitFunc) metadata_writer_instance_init, NULL }; + GType metadata_writer_type_id; + metadata_writer_type_id = g_type_register_static (G_TYPE_OBJECT, "MetadataWriter", &g_define_type_info, 0); + g_once_init_leave (&metadata_writer_type_id__volatile, metadata_writer_type_id); + } + return metadata_writer_type_id__volatile; +} + + + diff --git a/src/NaturalCollate.c b/src/NaturalCollate.c new file mode 100644 index 0000000..35b129c --- /dev/null +++ b/src/NaturalCollate.c @@ -0,0 +1,801 @@ +/* NaturalCollate.c generated by valac 0.32.1, the Vala compiler + * generated from NaturalCollate.vala, do not modify */ + + +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) +#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); + + + +#define NATURAL_COLLATE_SUPERDIGIT ((gunichar) ':') +#define NATURAL_COLLATE_NUM_SENTINEL ((gunichar) 0x2) +#define NATURAL_COLLATE_COLLATION_SENTINEL "\x01\x01\x01" +gint natural_collate_read_number (gchar* s, gint* byte_index); +gint natural_collate_compare (const gchar* str1, const gchar* str2); +gchar* natural_collate_collate_key (gchar* str); + + +static gunichar string_get_char (const gchar* self, glong index) { + gunichar result = 0U; + glong _tmp0_ = 0L; + gunichar _tmp1_ = 0U; +#line 1116 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0U); +#line 1117 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1117 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_utf8_get_char (((gchar*) self) + _tmp0_); +#line 1117 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1117 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 41 "NaturalCollate.c" +} + + +static gint string_index_of_nth_char (const gchar* self, glong c) { + gint result = 0; + glong _tmp0_ = 0L; + gchar* _tmp1_ = NULL; +#line 1136 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 1137 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = c; +#line 1137 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_utf8_offset_to_pointer (self, _tmp0_); +#line 1137 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gint) (_tmp1_ - ((gchar*) self)); +#line 1137 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 59 "NaturalCollate.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 82 "NaturalCollate.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 90 "NaturalCollate.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 102 "NaturalCollate.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 126 "NaturalCollate.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 132 "NaturalCollate.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 136 "NaturalCollate.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 140 "NaturalCollate.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 152 "NaturalCollate.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 162 "NaturalCollate.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 168 "NaturalCollate.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 182 "NaturalCollate.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 192 "NaturalCollate.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 198 "NaturalCollate.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 207 "NaturalCollate.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 227 "NaturalCollate.c" +} + + +gint natural_collate_read_number (gchar* s, gint* byte_index) { + gint result = 0; + gint number = 0; +#line 23 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + g_return_val_if_fail (s != NULL, 0); +#line 31 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + number = 0; +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + while (TRUE) { +#line 240 "NaturalCollate.c" + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + const gchar* _tmp9_ = NULL; + gunichar _tmp10_ = 0U; + gint _tmp11_ = 0; + gint second_char = 0; + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + const gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + gchar* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp1_ = s; +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp2_ = strlen (_tmp1_); +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp3_ = _tmp2_; +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + if (_tmp3_ != 0) { +#line 266 "NaturalCollate.c" + const gchar* _tmp4_ = NULL; + gunichar _tmp5_ = 0U; + gboolean _tmp6_ = FALSE; +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp4_ = s; +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp5_ = string_get_char (_tmp4_, (glong) 0); +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp6_ = g_unichar_isdigit (_tmp5_); +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp0_ = _tmp6_; +#line 278 "NaturalCollate.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp0_ = FALSE; +#line 282 "NaturalCollate.c" + } +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + if (!_tmp0_) { +#line 33 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + break; +#line 288 "NaturalCollate.c" + } +#line 34 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp7_ = number; +#line 34 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + number = _tmp7_ * 10; +#line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp8_ = number; +#line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp9_ = s; +#line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp10_ = string_get_char (_tmp9_, (glong) 0); +#line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp11_ = g_unichar_digit_value (_tmp10_); +#line 35 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + number = _tmp8_ + _tmp11_; +#line 36 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp12_ = s; +#line 36 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp13_ = string_index_of_nth_char (_tmp12_, (glong) 1); +#line 36 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + second_char = _tmp13_; +#line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp14_ = s; +#line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp15_ = second_char; +#line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp16_ = string_substring (_tmp14_, (glong) _tmp15_, (glong) -1); +#line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (s); +#line 37 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + s = _tmp16_; +#line 38 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp17_ = *byte_index; +#line 38 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp18_ = second_char; +#line 38 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + *byte_index = _tmp17_ + _tmp18_; +#line 326 "NaturalCollate.c" + } +#line 40 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + result = number; +#line 40 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (s); +#line 40 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + return result; +#line 334 "NaturalCollate.c" +} + + +gint natural_collate_compare (const gchar* str1, const gchar* str2) { + gint result = 0; + GCompareFunc _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 43 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + g_return_val_if_fail (str1 != NULL, 0); +#line 43 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + g_return_val_if_fail (str2 != NULL, 0); +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp0_ = g_strcmp0; +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp1_ = str1; +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp3_ = natural_collate_collate_key (_tmp2_); +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp4_ = _tmp3_; +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp5_ = str2; +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp7_ = natural_collate_collate_key (_tmp6_); +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp8_ = _tmp7_; +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp9_ = _tmp0_ (_tmp4_, _tmp8_); +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp10_ = _tmp9_; +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp8_); +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp4_); +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + result = _tmp10_; +#line 44 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + return result; +#line 385 "NaturalCollate.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 405 "NaturalCollate.c" +} + + +static gchar* g_unichar_to_string (gunichar self) { + gchar* result = NULL; + gchar* str = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 941 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, 7); +#line 941 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + str = (gchar*) _tmp0_; +#line 942 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = str; +#line 942 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_unichar_to_utf8 (self, _tmp1_); +#line 943 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = str; +#line 943 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 426 "NaturalCollate.c" +} + + +gchar* natural_collate_collate_key (gchar* str) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gchar* _result_ = NULL; + gchar* _tmp2_ = NULL; + gboolean eos = FALSE; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + const gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + g_return_val_if_fail (str != NULL, NULL); +#line 53 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp0_ = str; +#line 53 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp1_ = g_utf8_validate (_tmp0_, (gssize) -1, NULL); +#line 53 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _vala_assert (_tmp1_, "str.validate()"); +#line 54 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp2_ = g_strdup (""); +#line 54 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _result_ = _tmp2_; +#line 55 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp3_ = str; +#line 55 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp4_ = strlen (_tmp3_); +#line 55 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp5_ = _tmp4_; +#line 55 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + eos = _tmp5_ == 0; +#line 57 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + while (TRUE) { +#line 466 "NaturalCollate.c" + gboolean _tmp6_ = FALSE; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gint position = 0; + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gint _tmp26_ = 0; + gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gboolean _tmp31_ = FALSE; + const gchar* _tmp67_ = NULL; + gint _tmp68_ = 0; + gint _tmp69_ = 0; +#line 57 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp6_ = eos; +#line 57 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + if (!(!_tmp6_)) { +#line 57 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + break; +#line 495 "NaturalCollate.c" + } +#line 58 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp7_ = str; +#line 58 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp8_ = g_utf8_validate (_tmp7_, (gssize) -1, NULL); +#line 58 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _vala_assert (_tmp8_, "str.validate()"); +#line 59 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + position = 0; +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + while (TRUE) { +#line 507 "NaturalCollate.c" + const gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; + gunichar _tmp11_ = 0U; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + gint _tmp16_ = 0; +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp9_ = str; +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp10_ = position; +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp11_ = string_get_char (_tmp9_, (glong) _tmp10_); +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp12_ = g_unichar_to_string (_tmp11_); +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp13_ = _tmp12_; +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp14_ = string_contains ("0123456789", _tmp13_); +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp15_ = !(!_tmp14_); +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp13_); +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + if (_tmp15_) { +#line 60 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + break; +#line 536 "NaturalCollate.c" + } +#line 62 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp16_ = position; +#line 62 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + position = _tmp16_ + 1; +#line 542 "NaturalCollate.c" + } +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp17_ = _result_; +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp18_ = str; +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp19_ = position; +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp20_ = string_substring (_tmp18_, (glong) 0, (glong) _tmp19_); +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp21_ = _tmp20_; +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp22_ = g_utf8_collate_key (_tmp21_, (gssize) -1); +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp23_ = _tmp22_; +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp24_ = g_strconcat (_tmp17_, _tmp23_, NULL); +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_result_); +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _result_ = _tmp24_; +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp23_); +#line 66 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp21_); +#line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp25_ = str; +#line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp26_ = position; +#line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp27_ = string_substring (_tmp25_, (glong) _tmp26_, (glong) -1); +#line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (str); +#line 69 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + str = _tmp27_; +#line 71 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp28_ = str; +#line 71 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp29_ = strlen (_tmp28_); +#line 71 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp30_ = _tmp29_; +#line 71 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + eos = _tmp30_ == 0; +#line 72 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + position = 0; +#line 74 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp31_ = eos; +#line 74 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + if (!_tmp31_) { +#line 592 "NaturalCollate.c" + gint number = 0; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gint _tmp34_ = 0; + const gchar* _tmp35_ = NULL; + gint _tmp36_ = 0; + gchar* _tmp37_ = NULL; + gint number_of_superdigits = 0; + gint _tmp38_ = 0; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gchar* to_append = NULL; + gchar* _tmp44_ = NULL; + const gchar* _tmp53_ = NULL; + gint _tmp54_ = 0; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + const gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + const gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp32_ = str; +#line 76 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp33_ = g_strdup (_tmp32_); +#line 76 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp34_ = natural_collate_read_number (_tmp33_, &position); +#line 76 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + number = _tmp34_; +#line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp35_ = str; +#line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp36_ = position; +#line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp37_ = string_substring (_tmp35_, (glong) _tmp36_, (glong) -1); +#line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (str); +#line 77 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + str = _tmp37_; +#line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp38_ = number; +#line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp39_ = g_strdup_printf ("%i", _tmp38_); +#line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp40_ = _tmp39_; +#line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp41_ = strlen (_tmp40_); +#line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp42_ = _tmp41_; +#line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp43_ = _tmp42_; +#line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp40_); +#line 78 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + number_of_superdigits = _tmp43_; +#line 79 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp44_ = g_strdup (""); +#line 79 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + to_append = _tmp44_; +#line 661 "NaturalCollate.c" + { + gint i = 0; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + i = 1; +#line 666 "NaturalCollate.c" + { + gboolean _tmp45_ = FALSE; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp45_ = TRUE; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + while (TRUE) { +#line 673 "NaturalCollate.c" + gint _tmp47_ = 0; + gint _tmp48_ = 0; + const gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + if (!_tmp45_) { +#line 682 "NaturalCollate.c" + gint _tmp46_ = 0; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp46_ = i; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + i = _tmp46_ + 1; +#line 688 "NaturalCollate.c" + } +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp45_ = FALSE; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp47_ = i; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp48_ = number_of_superdigits; +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + if (!(_tmp47_ < _tmp48_)) { +#line 80 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + break; +#line 700 "NaturalCollate.c" + } +#line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp49_ = to_append; +#line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp50_ = g_unichar_to_string (NATURAL_COLLATE_SUPERDIGIT); +#line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp51_ = _tmp50_; +#line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp52_ = g_strconcat (_tmp49_, _tmp51_, NULL); +#line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (to_append); +#line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + to_append = _tmp52_; +#line 82 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp51_); +#line 716 "NaturalCollate.c" + } + } + } +#line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp53_ = to_append; +#line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp54_ = number; +#line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp55_ = g_strdup_printf ("%i", _tmp54_); +#line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp56_ = _tmp55_; +#line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp57_ = g_strconcat (_tmp53_, _tmp56_, NULL); +#line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (to_append); +#line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + to_append = _tmp57_; +#line 84 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp56_); +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp58_ = _result_; +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp59_ = g_strconcat (_tmp58_, NATURAL_COLLATE_COLLATION_SENTINEL, NULL); +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp60_ = _tmp59_; +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp61_ = g_unichar_to_string (NATURAL_COLLATE_NUM_SENTINEL); +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp62_ = _tmp61_; +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp63_ = g_strconcat (_tmp60_, _tmp62_, NULL); +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp64_ = _tmp63_; +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp65_ = to_append; +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp66_ = g_strconcat (_tmp64_, _tmp65_, NULL); +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_result_); +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _result_ = _tmp66_; +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp64_); +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp62_); +#line 85 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp60_); +#line 74 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (to_append); +#line 766 "NaturalCollate.c" + } +#line 90 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp67_ = str; +#line 90 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp68_ = strlen (_tmp67_); +#line 90 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp69_ = _tmp68_; +#line 90 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + eos = _tmp69_ == 0; +#line 776 "NaturalCollate.c" + } +#line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp70_ = _result_; +#line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp71_ = g_unichar_to_string (NATURAL_COLLATE_NUM_SENTINEL); +#line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp72_ = _tmp71_; +#line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _tmp73_ = g_strconcat (_tmp70_, _tmp72_, NULL); +#line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_result_); +#line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _result_ = _tmp73_; +#line 93 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (_tmp72_); +#line 96 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + result = _result_; +#line 96 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + _g_free0 (str); +#line 96 "/home/jens/Source/shotwell/src/NaturalCollate.vala" + return result; +#line 798 "NaturalCollate.c" +} + + + diff --git a/src/Orientation.c b/src/Orientation.c new file mode 100644 index 0000000..3e2da2a --- /dev/null +++ b/src/Orientation.c @@ -0,0 +1,2061 @@ +/* Orientation.c generated by valac 0.32.1, the Vala compiler + * generated from Orientation.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define TYPE_ROTATION (rotation_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_BOX (box_get_type ()) +typedef struct _Box Box; +#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); + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +typedef enum { + ROTATION_CLOCKWISE, + ROTATION_COUNTERCLOCKWISE, + ROTATION_MIRROR, + ROTATION_UPSIDE_DOWN +} Rotation; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Box { + gint left; + gint top; + gint right; + gint bottom; +}; + + + +GType orientation_get_type (void) G_GNUC_CONST; +gchar* orientation_to_string (Orientation self); +Orientation orientation_rotate_clockwise (Orientation self); +Orientation orientation_rotate_counterclockwise (Orientation self); +Orientation orientation_flip_top_to_bottom (Orientation self); +Orientation orientation_flip_left_to_right (Orientation self); +GType rotation_get_type (void) G_GNUC_CONST; +Orientation orientation_perform (Orientation self, Rotation rotation); +Rotation* orientation_to_rotations (Orientation self, int* result_length1); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +void orientation_rotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result); +void dimensions_init (Dimensions *self, gint width, gint height); +void orientation_derotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result); +GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf); +void orientation_rotate_point (Orientation self, Dimensions* space, GdkPoint* point, GdkPoint* result); +gboolean dimensions_has_area (Dimensions *self); +void orientation_derotate_point (Orientation self, Dimensions* space, GdkPoint* point, GdkPoint* result); +GType box_get_type (void) G_GNUC_CONST; +Box* box_dup (const Box* self); +void box_free (Box* self); +void orientation_rotate_box (Orientation self, Dimensions* space, Box* box, Box* result); +void box_get_points (Box *self, GdkPoint* top_left, GdkPoint* bottom_right); +void box_from_points (GdkPoint* corner1, GdkPoint* corner2, Box* result); +void orientation_derotate_box (Orientation self, Dimensions* space, Box* box, Box* result); +GdkPixbuf* rotation_perform (Rotation self, GdkPixbuf* pixbuf); +Rotation rotation_opposite (Rotation self); + + +gchar* orientation_to_string (Orientation self) { + gchar* result = NULL; +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 104 "Orientation.c" + { + gchar* _tmp0_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = g_strdup ("top-left"); +#line 22 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp0_; +#line 22 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 113 "Orientation.c" + } +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 117 "Orientation.c" + { + gchar* _tmp1_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1_ = g_strdup ("top-right"); +#line 25 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp1_; +#line 25 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 126 "Orientation.c" + } +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 130 "Orientation.c" + { + gchar* _tmp2_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = g_strdup ("bottom-right"); +#line 28 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp2_; +#line 28 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 139 "Orientation.c" + } +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 143 "Orientation.c" + { + gchar* _tmp3_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = g_strdup ("bottom-left"); +#line 31 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp3_; +#line 31 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 152 "Orientation.c" + } +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 156 "Orientation.c" + { + gchar* _tmp4_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = g_strdup ("left-top"); +#line 34 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp4_; +#line 34 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 165 "Orientation.c" + } +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 169 "Orientation.c" + { + gchar* _tmp5_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = g_strdup ("right-top"); +#line 37 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp5_; +#line 37 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 178 "Orientation.c" + } +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 182 "Orientation.c" + { + gchar* _tmp6_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_ = g_strdup ("right-bottom"); +#line 40 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp6_; +#line 40 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 191 "Orientation.c" + } +#line 20 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 195 "Orientation.c" + { + gchar* _tmp7_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp7_ = g_strdup ("left-bottom"); +#line 43 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp7_; +#line 43 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 204 "Orientation.c" + } + default: + { + gchar* _tmp8_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_ = g_strdup_printf ("unknown orientation %d", (gint) self); +#line 46 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp8_; +#line 46 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 215 "Orientation.c" + } + } +} + + +Orientation orientation_rotate_clockwise (Orientation self) { + Orientation result = 0; +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 227 "Orientation.c" + { +#line 53 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_RIGHT_TOP; +#line 53 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 233 "Orientation.c" + } +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 237 "Orientation.c" + { +#line 56 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_RIGHT_BOTTOM; +#line 56 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 243 "Orientation.c" + } +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 247 "Orientation.c" + { +#line 59 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_LEFT_BOTTOM; +#line 59 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 253 "Orientation.c" + } +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 257 "Orientation.c" + { +#line 62 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_LEFT_TOP; +#line 62 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 263 "Orientation.c" + } +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 267 "Orientation.c" + { +#line 65 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_TOP_RIGHT; +#line 65 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 273 "Orientation.c" + } +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 277 "Orientation.c" + { +#line 68 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_BOTTOM_RIGHT; +#line 68 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 283 "Orientation.c" + } +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 287 "Orientation.c" + { +#line 71 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_BOTTOM_LEFT; +#line 71 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 293 "Orientation.c" + } +#line 51 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 297 "Orientation.c" + { +#line 74 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_TOP_LEFT; +#line 74 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 303 "Orientation.c" + } + default: + { +#line 77 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:77: rotate_clockwise: %d", (gint) self); +#line 309 "Orientation.c" + } + } +} + + +Orientation orientation_rotate_counterclockwise (Orientation self) { + Orientation result = 0; +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 321 "Orientation.c" + { +#line 84 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_LEFT_BOTTOM; +#line 84 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 327 "Orientation.c" + } +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 331 "Orientation.c" + { +#line 87 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_LEFT_TOP; +#line 87 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 337 "Orientation.c" + } +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 341 "Orientation.c" + { +#line 90 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_RIGHT_TOP; +#line 90 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 347 "Orientation.c" + } +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 351 "Orientation.c" + { +#line 93 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_RIGHT_BOTTOM; +#line 93 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 357 "Orientation.c" + } +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 361 "Orientation.c" + { +#line 96 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_BOTTOM_LEFT; +#line 96 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 367 "Orientation.c" + } +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 371 "Orientation.c" + { +#line 99 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_TOP_LEFT; +#line 99 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 377 "Orientation.c" + } +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 381 "Orientation.c" + { +#line 102 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_TOP_RIGHT; +#line 102 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 387 "Orientation.c" + } +#line 82 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 391 "Orientation.c" + { +#line 105 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_BOTTOM_RIGHT; +#line 105 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 397 "Orientation.c" + } + default: + { +#line 108 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:108: rotate_counterclockwise: %d", (gint) self); +#line 403 "Orientation.c" + } + } +} + + +Orientation orientation_flip_top_to_bottom (Orientation self) { + Orientation result = 0; +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 415 "Orientation.c" + { +#line 115 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_BOTTOM_LEFT; +#line 115 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 421 "Orientation.c" + } +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 425 "Orientation.c" + { +#line 118 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_BOTTOM_RIGHT; +#line 118 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 431 "Orientation.c" + } +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 435 "Orientation.c" + { +#line 121 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_TOP_RIGHT; +#line 121 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 441 "Orientation.c" + } +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 445 "Orientation.c" + { +#line 124 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_TOP_LEFT; +#line 124 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 451 "Orientation.c" + } +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 455 "Orientation.c" + { +#line 127 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_LEFT_BOTTOM; +#line 127 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 461 "Orientation.c" + } +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 465 "Orientation.c" + { +#line 130 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_RIGHT_BOTTOM; +#line 130 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 471 "Orientation.c" + } +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 475 "Orientation.c" + { +#line 133 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_RIGHT_TOP; +#line 133 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 481 "Orientation.c" + } +#line 113 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 485 "Orientation.c" + { +#line 136 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_LEFT_TOP; +#line 136 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 491 "Orientation.c" + } + default: + { +#line 139 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:139: flip_top_to_bottom: %d", (gint) self); +#line 497 "Orientation.c" + } + } +} + + +Orientation orientation_flip_left_to_right (Orientation self) { + Orientation result = 0; +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 509 "Orientation.c" + { +#line 146 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_TOP_RIGHT; +#line 146 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 515 "Orientation.c" + } +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 519 "Orientation.c" + { +#line 149 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_TOP_LEFT; +#line 149 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 525 "Orientation.c" + } +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 529 "Orientation.c" + { +#line 152 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_BOTTOM_LEFT; +#line 152 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 535 "Orientation.c" + } +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 539 "Orientation.c" + { +#line 155 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_BOTTOM_RIGHT; +#line 155 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 545 "Orientation.c" + } +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 549 "Orientation.c" + { +#line 158 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_RIGHT_TOP; +#line 158 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 555 "Orientation.c" + } +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 559 "Orientation.c" + { +#line 161 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_LEFT_TOP; +#line 161 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 565 "Orientation.c" + } +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 569 "Orientation.c" + { +#line 164 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_LEFT_BOTTOM; +#line 164 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 575 "Orientation.c" + } +#line 144 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 579 "Orientation.c" + { +#line 167 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ORIENTATION_RIGHT_BOTTOM; +#line 167 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 585 "Orientation.c" + } + default: + { +#line 170 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:170: flip_left_to_right: %d", (gint) self); +#line 591 "Orientation.c" + } + } +} + + +Orientation orientation_perform (Orientation self, Rotation rotation) { + Orientation result = 0; + Rotation _tmp0_ = 0; +#line 175 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = rotation; +#line 175 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (_tmp0_) { +#line 175 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_CLOCKWISE: +#line 606 "Orientation.c" + { + Orientation _tmp1_ = 0; +#line 177 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1_ = orientation_rotate_clockwise (self); +#line 177 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp1_; +#line 177 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 615 "Orientation.c" + } +#line 175 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_COUNTERCLOCKWISE: +#line 619 "Orientation.c" + { + Orientation _tmp2_ = 0; +#line 180 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = orientation_rotate_counterclockwise (self); +#line 180 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp2_; +#line 180 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 628 "Orientation.c" + } +#line 175 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_MIRROR: +#line 632 "Orientation.c" + { + Orientation _tmp3_ = 0; +#line 183 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = orientation_flip_left_to_right (self); +#line 183 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp3_; +#line 183 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 641 "Orientation.c" + } +#line 175 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_UPSIDE_DOWN: +#line 645 "Orientation.c" + { + Orientation _tmp4_ = 0; +#line 186 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = orientation_flip_top_to_bottom (self); +#line 186 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp4_; +#line 186 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 654 "Orientation.c" + } + default: + { + Rotation _tmp5_ = 0; +#line 189 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = rotation; +#line 189 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:189: perform: %d", (gint) _tmp5_); +#line 663 "Orientation.c" + } + } +} + + +Rotation* orientation_to_rotations (Orientation self, int* result_length1) { + Rotation* result = NULL; +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 675 "Orientation.c" + { + Rotation* _tmp0_ = NULL; + Rotation* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 197 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = g_new0 (Rotation, 0); +#line 197 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1_ = _tmp0_; +#line 197 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1__length1 = 0; +#line 197 "/home/jens/Source/shotwell/src/Orientation.vala" + if (result_length1) { +#line 197 "/home/jens/Source/shotwell/src/Orientation.vala" + *result_length1 = _tmp1__length1; +#line 690 "Orientation.c" + } +#line 197 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp1_; +#line 197 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 696 "Orientation.c" + } +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 700 "Orientation.c" + { + Rotation* _tmp2_ = NULL; + Rotation* _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 200 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = g_new0 (Rotation, 1); +#line 200 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_[0] = ROTATION_MIRROR; +#line 200 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = _tmp2_; +#line 200 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3__length1 = 1; +#line 200 "/home/jens/Source/shotwell/src/Orientation.vala" + if (result_length1) { +#line 200 "/home/jens/Source/shotwell/src/Orientation.vala" + *result_length1 = _tmp3__length1; +#line 717 "Orientation.c" + } +#line 200 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp3_; +#line 200 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 723 "Orientation.c" + } +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 727 "Orientation.c" + { + Rotation* _tmp4_ = NULL; + Rotation* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 203 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = g_new0 (Rotation, 1); +#line 203 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_[0] = ROTATION_UPSIDE_DOWN; +#line 203 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = _tmp4_; +#line 203 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5__length1 = 1; +#line 203 "/home/jens/Source/shotwell/src/Orientation.vala" + if (result_length1) { +#line 203 "/home/jens/Source/shotwell/src/Orientation.vala" + *result_length1 = _tmp5__length1; +#line 744 "Orientation.c" + } +#line 203 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp5_; +#line 203 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 750 "Orientation.c" + } +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 754 "Orientation.c" + { + Rotation* _tmp6_ = NULL; + Rotation* _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_ = g_new0 (Rotation, 2); +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_[0] = ROTATION_MIRROR; +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_[1] = ROTATION_UPSIDE_DOWN; +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp7_ = _tmp6_; +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp7__length1 = 2; +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + if (result_length1) { +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + *result_length1 = _tmp7__length1; +#line 773 "Orientation.c" + } +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp7_; +#line 207 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 779 "Orientation.c" + } +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 783 "Orientation.c" + { + Rotation* _tmp8_ = NULL; + Rotation* _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_ = g_new0 (Rotation, 2); +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_[0] = ROTATION_COUNTERCLOCKWISE; +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_[1] = ROTATION_UPSIDE_DOWN; +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp9_ = _tmp8_; +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp9__length1 = 2; +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + if (result_length1) { +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + *result_length1 = _tmp9__length1; +#line 802 "Orientation.c" + } +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp9_; +#line 210 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 808 "Orientation.c" + } +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 812 "Orientation.c" + { + Rotation* _tmp10_ = NULL; + Rotation* _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 213 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp10_ = g_new0 (Rotation, 1); +#line 213 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp10_[0] = ROTATION_CLOCKWISE; +#line 213 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp11_ = _tmp10_; +#line 213 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp11__length1 = 1; +#line 213 "/home/jens/Source/shotwell/src/Orientation.vala" + if (result_length1) { +#line 213 "/home/jens/Source/shotwell/src/Orientation.vala" + *result_length1 = _tmp11__length1; +#line 829 "Orientation.c" + } +#line 213 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp11_; +#line 213 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 835 "Orientation.c" + } +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 839 "Orientation.c" + { + Rotation* _tmp12_ = NULL; + Rotation* _tmp13_ = NULL; + gint _tmp13__length1 = 0; +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp12_ = g_new0 (Rotation, 2); +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp12_[0] = ROTATION_CLOCKWISE; +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp12_[1] = ROTATION_UPSIDE_DOWN; +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp13_ = _tmp12_; +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp13__length1 = 2; +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + if (result_length1) { +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + *result_length1 = _tmp13__length1; +#line 858 "Orientation.c" + } +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp13_; +#line 216 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 864 "Orientation.c" + } +#line 194 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 868 "Orientation.c" + { + Rotation* _tmp14_ = NULL; + Rotation* _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 219 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp14_ = g_new0 (Rotation, 1); +#line 219 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp14_[0] = ROTATION_COUNTERCLOCKWISE; +#line 219 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp15_ = _tmp14_; +#line 219 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp15__length1 = 1; +#line 219 "/home/jens/Source/shotwell/src/Orientation.vala" + if (result_length1) { +#line 219 "/home/jens/Source/shotwell/src/Orientation.vala" + *result_length1 = _tmp15__length1; +#line 885 "Orientation.c" + } +#line 219 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp15_; +#line 219 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 891 "Orientation.c" + } + default: + { +#line 222 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:222: to_rotations: %d", (gint) self); +#line 897 "Orientation.c" + } + } +} + + +void orientation_rotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result) { +#line 226 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (dim != NULL); +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 916 "Orientation.c" + { + Dimensions _tmp0_ = {0}; +#line 233 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = *dim; +#line 233 "/home/jens/Source/shotwell/src/Orientation.vala" + *result = _tmp0_; +#line 233 "/home/jens/Source/shotwell/src/Orientation.vala" + return; +#line 925 "Orientation.c" + } +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 227 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 935 "Orientation.c" + { + Dimensions _tmp1_ = {0}; + gint _tmp2_ = 0; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; +#line 240 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1_ = *dim; +#line 240 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = _tmp1_.height; +#line 240 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = *dim; +#line 240 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = _tmp3_.width; +#line 240 "/home/jens/Source/shotwell/src/Orientation.vala" + dimensions_init (&_tmp5_, _tmp2_, _tmp4_); +#line 240 "/home/jens/Source/shotwell/src/Orientation.vala" + *result = _tmp5_; +#line 240 "/home/jens/Source/shotwell/src/Orientation.vala" + return; +#line 956 "Orientation.c" + } + default: + { +#line 243 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:243: rotate_dimensions: %d", (gint) self); +#line 962 "Orientation.c" + } + } +} + + +void orientation_derotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result) { + Dimensions _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; +#line 247 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (dim != NULL); +#line 248 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = *dim; +#line 248 "/home/jens/Source/shotwell/src/Orientation.vala" + orientation_rotate_dimensions (self, &_tmp0_, &_tmp1_); +#line 248 "/home/jens/Source/shotwell/src/Orientation.vala" + *result = _tmp1_; +#line 248 "/home/jens/Source/shotwell/src/Orientation.vala" + return; +#line 981 "Orientation.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 256 "/home/jens/Source/shotwell/src/Orientation.vala" + return self ? g_object_ref (self) : NULL; +#line 988 "Orientation.c" +} + + +GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf) { + GdkPixbuf* result = NULL; + GdkPixbuf* rotated = NULL; +#line 251 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 1001 "Orientation.c" + { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = pixbuf; +#line 256 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 256 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (rotated); +#line 256 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp1_; +#line 257 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1015 "Orientation.c" + } +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 1019 "Orientation.c" + { + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = pixbuf; +#line 261 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = gdk_pixbuf_flip (_tmp2_, TRUE); +#line 261 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (rotated); +#line 261 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp3_; +#line 262 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1033 "Orientation.c" + } +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 1037 "Orientation.c" + { + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = pixbuf; +#line 265 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = gdk_pixbuf_rotate_simple (_tmp4_, GDK_PIXBUF_ROTATE_UPSIDEDOWN); +#line 265 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (rotated); +#line 265 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp5_; +#line 266 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1051 "Orientation.c" + } +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 1055 "Orientation.c" + { + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; +#line 270 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_ = pixbuf; +#line 270 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp7_ = gdk_pixbuf_flip (_tmp6_, FALSE); +#line 270 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (rotated); +#line 270 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp7_; +#line 271 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1069 "Orientation.c" + } +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 1073 "Orientation.c" + { + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_ = pixbuf; +#line 274 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp9_ = gdk_pixbuf_rotate_simple (_tmp8_, GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE); +#line 274 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp10_ = _tmp9_; +#line 274 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp11_ = gdk_pixbuf_flip (_tmp10_, FALSE); +#line 274 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (rotated); +#line 274 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp11_; +#line 274 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (_tmp10_); +#line 275 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1095 "Orientation.c" + } +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 1099 "Orientation.c" + { + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; +#line 278 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp12_ = pixbuf; +#line 278 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp13_ = gdk_pixbuf_rotate_simple (_tmp12_, GDK_PIXBUF_ROTATE_CLOCKWISE); +#line 278 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (rotated); +#line 278 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp13_; +#line 279 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1113 "Orientation.c" + } +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 1117 "Orientation.c" + { + GdkPixbuf* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; + GdkPixbuf* _tmp17_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp14_ = pixbuf; +#line 282 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp15_ = gdk_pixbuf_rotate_simple (_tmp14_, GDK_PIXBUF_ROTATE_CLOCKWISE); +#line 282 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp16_ = _tmp15_; +#line 282 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp17_ = gdk_pixbuf_flip (_tmp16_, FALSE); +#line 282 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (rotated); +#line 282 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp17_; +#line 282 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (_tmp16_); +#line 283 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1139 "Orientation.c" + } +#line 253 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 1143 "Orientation.c" + { + GdkPixbuf* _tmp18_ = NULL; + GdkPixbuf* _tmp19_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp18_ = pixbuf; +#line 286 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp19_ = gdk_pixbuf_rotate_simple (_tmp18_, GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE); +#line 286 "/home/jens/Source/shotwell/src/Orientation.vala" + _g_object_unref0 (rotated); +#line 286 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp19_; +#line 287 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1157 "Orientation.c" + } + default: + { +#line 290 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:290: rotate_pixbuf: %d", (gint) self); +#line 1163 "Orientation.c" + } + } +#line 293 "/home/jens/Source/shotwell/src/Orientation.vala" + result = rotated; +#line 293 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 1170 "Orientation.c" +} + + +void orientation_rotate_point (Orientation self, Dimensions* space, GdkPoint* point, GdkPoint* result) { + gboolean _tmp0_ = FALSE; + GdkPoint _tmp1_ = {0}; + gint _tmp2_ = 0; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkPoint _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkPoint _tmp9_ = {0}; + gint _tmp10_ = 0; + Dimensions _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkPoint rotated = {0}; +#line 297 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (space != NULL); +#line 297 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (point != NULL); +#line 298 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = dimensions_has_area (space); +#line 298 "/home/jens/Source/shotwell/src/Orientation.vala" + _vala_assert (_tmp0_, "space.has_area()"); +#line 299 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1_ = *point; +#line 299 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = _tmp1_.x; +#line 299 "/home/jens/Source/shotwell/src/Orientation.vala" + _vala_assert (_tmp2_ >= 0, "point.x >= 0"); +#line 300 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = *point; +#line 300 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = _tmp3_.x; +#line 300 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = *space; +#line 300 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_ = _tmp5_.width; +#line 300 "/home/jens/Source/shotwell/src/Orientation.vala" + _vala_assert (_tmp4_ < _tmp6_, "point.x < space.width"); +#line 301 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp7_ = *point; +#line 301 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_ = _tmp7_.y; +#line 301 "/home/jens/Source/shotwell/src/Orientation.vala" + _vala_assert (_tmp8_ >= 0, "point.y >= 0"); +#line 302 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp9_ = *point; +#line 302 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp10_ = _tmp9_.y; +#line 302 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp11_ = *space; +#line 302 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp12_ = _tmp11_.height; +#line 302 "/home/jens/Source/shotwell/src/Orientation.vala" + _vala_assert (_tmp10_ < _tmp12_, "point.y < space.height"); +#line 304 "/home/jens/Source/shotwell/src/Orientation.vala" + memset (&rotated, 0, sizeof (GdkPoint)); +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 1235 "Orientation.c" + { + GdkPoint _tmp13_ = {0}; +#line 309 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp13_ = *point; +#line 309 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated = _tmp13_; +#line 310 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1244 "Orientation.c" + } +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 1248 "Orientation.c" + { + Dimensions _tmp14_ = {0}; + gint _tmp15_ = 0; + GdkPoint _tmp16_ = {0}; + gint _tmp17_ = 0; + GdkPoint _tmp18_ = {0}; + gint _tmp19_ = 0; +#line 314 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp14_ = *space; +#line 314 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp15_ = _tmp14_.width; +#line 314 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp16_ = *point; +#line 314 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp17_ = _tmp16_.x; +#line 314 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.x = (_tmp15_ - _tmp17_) - 1; +#line 315 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp18_ = *point; +#line 315 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp19_ = _tmp18_.y; +#line 315 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.y = _tmp19_; +#line 316 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1274 "Orientation.c" + } +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 1278 "Orientation.c" + { + Dimensions _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkPoint _tmp22_ = {0}; + gint _tmp23_ = 0; + Dimensions _tmp24_ = {0}; + gint _tmp25_ = 0; + GdkPoint _tmp26_ = {0}; + gint _tmp27_ = 0; +#line 320 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp20_ = *space; +#line 320 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp21_ = _tmp20_.width; +#line 320 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp22_ = *point; +#line 320 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp23_ = _tmp22_.x; +#line 320 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.x = (_tmp21_ - _tmp23_) - 1; +#line 321 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp24_ = *space; +#line 321 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp25_ = _tmp24_.height; +#line 321 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp26_ = *point; +#line 321 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp27_ = _tmp26_.y; +#line 321 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.y = (_tmp25_ - _tmp27_) - 1; +#line 322 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1310 "Orientation.c" + } +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 1314 "Orientation.c" + { + GdkPoint _tmp28_ = {0}; + gint _tmp29_ = 0; + Dimensions _tmp30_ = {0}; + gint _tmp31_ = 0; + GdkPoint _tmp32_ = {0}; + gint _tmp33_ = 0; +#line 326 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp28_ = *point; +#line 326 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp29_ = _tmp28_.x; +#line 326 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.x = _tmp29_; +#line 327 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp30_ = *space; +#line 327 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp31_ = _tmp30_.height; +#line 327 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp32_ = *point; +#line 327 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp33_ = _tmp32_.y; +#line 327 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.y = (_tmp31_ - _tmp33_) - 1; +#line 328 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1340 "Orientation.c" + } +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 1344 "Orientation.c" + { + GdkPoint _tmp34_ = {0}; + gint _tmp35_ = 0; + GdkPoint _tmp36_ = {0}; + gint _tmp37_ = 0; +#line 332 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp34_ = *point; +#line 332 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp35_ = _tmp34_.y; +#line 332 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.x = _tmp35_; +#line 333 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp36_ = *point; +#line 333 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp37_ = _tmp36_.x; +#line 333 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.y = _tmp37_; +#line 334 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1364 "Orientation.c" + } +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 1368 "Orientation.c" + { + Dimensions _tmp38_ = {0}; + gint _tmp39_ = 0; + GdkPoint _tmp40_ = {0}; + gint _tmp41_ = 0; + GdkPoint _tmp42_ = {0}; + gint _tmp43_ = 0; +#line 338 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp38_ = *space; +#line 338 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp39_ = _tmp38_.height; +#line 338 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp40_ = *point; +#line 338 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp41_ = _tmp40_.y; +#line 338 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.x = (_tmp39_ - _tmp41_) - 1; +#line 339 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp42_ = *point; +#line 339 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp43_ = _tmp42_.x; +#line 339 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.y = _tmp43_; +#line 340 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1394 "Orientation.c" + } +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 1398 "Orientation.c" + { + Dimensions _tmp44_ = {0}; + gint _tmp45_ = 0; + GdkPoint _tmp46_ = {0}; + gint _tmp47_ = 0; + Dimensions _tmp48_ = {0}; + gint _tmp49_ = 0; + GdkPoint _tmp50_ = {0}; + gint _tmp51_ = 0; +#line 344 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp44_ = *space; +#line 344 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp45_ = _tmp44_.height; +#line 344 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp46_ = *point; +#line 344 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp47_ = _tmp46_.y; +#line 344 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.x = (_tmp45_ - _tmp47_) - 1; +#line 345 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp48_ = *space; +#line 345 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp49_ = _tmp48_.width; +#line 345 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp50_ = *point; +#line 345 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp51_ = _tmp50_.x; +#line 345 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.y = (_tmp49_ - _tmp51_) - 1; +#line 346 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1430 "Orientation.c" + } +#line 306 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 1434 "Orientation.c" + { + GdkPoint _tmp52_ = {0}; + gint _tmp53_ = 0; + Dimensions _tmp54_ = {0}; + gint _tmp55_ = 0; + GdkPoint _tmp56_ = {0}; + gint _tmp57_ = 0; +#line 350 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp52_ = *point; +#line 350 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp53_ = _tmp52_.y; +#line 350 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.x = _tmp53_; +#line 351 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp54_ = *space; +#line 351 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp55_ = _tmp54_.width; +#line 351 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp56_ = *point; +#line 351 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp57_ = _tmp56_.x; +#line 351 "/home/jens/Source/shotwell/src/Orientation.vala" + rotated.y = (_tmp55_ - _tmp57_) - 1; +#line 352 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1460 "Orientation.c" + } + default: + { +#line 355 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:355: rotate_point: %d", (gint) self); +#line 1466 "Orientation.c" + } + } +#line 358 "/home/jens/Source/shotwell/src/Orientation.vala" + *result = rotated; +#line 358 "/home/jens/Source/shotwell/src/Orientation.vala" + return; +#line 1473 "Orientation.c" +} + + +void orientation_derotate_point (Orientation self, Dimensions* space, GdkPoint* point, GdkPoint* result) { + gboolean _tmp0_ = FALSE; + GdkPoint derotated = {0}; +#line 362 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (space != NULL); +#line 362 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (point != NULL); +#line 363 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = dimensions_has_area (space); +#line 363 "/home/jens/Source/shotwell/src/Orientation.vala" + _vala_assert (_tmp0_, "space.has_area()"); +#line 365 "/home/jens/Source/shotwell/src/Orientation.vala" + memset (&derotated, 0, sizeof (GdkPoint)); +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_LEFT: +#line 1494 "Orientation.c" + { + GdkPoint _tmp1_ = {0}; +#line 370 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1_ = *point; +#line 370 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated = _tmp1_; +#line 371 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1503 "Orientation.c" + } +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_TOP_RIGHT: +#line 1507 "Orientation.c" + { + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkPoint _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; +#line 375 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = *space; +#line 375 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = _tmp2_.width; +#line 375 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = *point; +#line 375 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = _tmp4_.x; +#line 375 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.x = (_tmp3_ - _tmp5_) - 1; +#line 376 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_ = *point; +#line 376 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp7_ = _tmp6_.y; +#line 376 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.y = _tmp7_; +#line 377 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1533 "Orientation.c" + } +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_RIGHT: +#line 1537 "Orientation.c" + { + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkPoint _tmp10_ = {0}; + gint _tmp11_ = 0; + Dimensions _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkPoint _tmp14_ = {0}; + gint _tmp15_ = 0; +#line 381 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_ = *space; +#line 381 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp9_ = _tmp8_.width; +#line 381 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp10_ = *point; +#line 381 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp11_ = _tmp10_.x; +#line 381 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.x = (_tmp9_ - _tmp11_) - 1; +#line 382 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp12_ = *space; +#line 382 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp13_ = _tmp12_.height; +#line 382 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp14_ = *point; +#line 382 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp15_ = _tmp14_.y; +#line 382 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.y = (_tmp13_ - _tmp15_) - 1; +#line 383 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1569 "Orientation.c" + } +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_BOTTOM_LEFT: +#line 1573 "Orientation.c" + { + GdkPoint _tmp16_ = {0}; + gint _tmp17_ = 0; + Dimensions _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; +#line 387 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp16_ = *point; +#line 387 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp17_ = _tmp16_.x; +#line 387 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.x = _tmp17_; +#line 388 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp18_ = *space; +#line 388 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp19_ = _tmp18_.height; +#line 388 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp20_ = *point; +#line 388 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp21_ = _tmp20_.y; +#line 388 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.y = (_tmp19_ - _tmp21_) - 1; +#line 389 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1599 "Orientation.c" + } +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_TOP: +#line 1603 "Orientation.c" + { + GdkPoint _tmp22_ = {0}; + gint _tmp23_ = 0; + GdkPoint _tmp24_ = {0}; + gint _tmp25_ = 0; +#line 393 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp22_ = *point; +#line 393 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp23_ = _tmp22_.y; +#line 393 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.x = _tmp23_; +#line 394 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp24_ = *point; +#line 394 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp25_ = _tmp24_.x; +#line 394 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.y = _tmp25_; +#line 395 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1623 "Orientation.c" + } +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_TOP: +#line 1627 "Orientation.c" + { + GdkPoint _tmp26_ = {0}; + gint _tmp27_ = 0; + Dimensions _tmp28_ = {0}; + gint _tmp29_ = 0; + GdkPoint _tmp30_ = {0}; + gint _tmp31_ = 0; +#line 399 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp26_ = *point; +#line 399 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp27_ = _tmp26_.y; +#line 399 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.x = _tmp27_; +#line 400 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp28_ = *space; +#line 400 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp29_ = _tmp28_.height; +#line 400 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp30_ = *point; +#line 400 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp31_ = _tmp30_.x; +#line 400 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.y = (_tmp29_ - _tmp31_) - 1; +#line 401 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1653 "Orientation.c" + } +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 1657 "Orientation.c" + { + Dimensions _tmp32_ = {0}; + gint _tmp33_ = 0; + GdkPoint _tmp34_ = {0}; + gint _tmp35_ = 0; + Dimensions _tmp36_ = {0}; + gint _tmp37_ = 0; + GdkPoint _tmp38_ = {0}; + gint _tmp39_ = 0; +#line 405 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp32_ = *space; +#line 405 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp33_ = _tmp32_.width; +#line 405 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp34_ = *point; +#line 405 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp35_ = _tmp34_.y; +#line 405 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.x = (_tmp33_ - _tmp35_) - 1; +#line 406 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp36_ = *space; +#line 406 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp37_ = _tmp36_.height; +#line 406 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp38_ = *point; +#line 406 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp39_ = _tmp38_.x; +#line 406 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.y = (_tmp37_ - _tmp39_) - 1; +#line 407 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1689 "Orientation.c" + } +#line 367 "/home/jens/Source/shotwell/src/Orientation.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 1693 "Orientation.c" + { + Dimensions _tmp40_ = {0}; + gint _tmp41_ = 0; + GdkPoint _tmp42_ = {0}; + gint _tmp43_ = 0; + GdkPoint _tmp44_ = {0}; + gint _tmp45_ = 0; +#line 411 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp40_ = *space; +#line 411 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp41_ = _tmp40_.width; +#line 411 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp42_ = *point; +#line 411 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp43_ = _tmp42_.y; +#line 411 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.x = (_tmp41_ - _tmp43_) - 1; +#line 412 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp44_ = *point; +#line 412 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp45_ = _tmp44_.x; +#line 412 "/home/jens/Source/shotwell/src/Orientation.vala" + derotated.y = _tmp45_; +#line 413 "/home/jens/Source/shotwell/src/Orientation.vala" + break; +#line 1719 "Orientation.c" + } + default: + { +#line 416 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:416: rotate_point: %d", (gint) self); +#line 1725 "Orientation.c" + } + } +#line 419 "/home/jens/Source/shotwell/src/Orientation.vala" + *result = derotated; +#line 419 "/home/jens/Source/shotwell/src/Orientation.vala" + return; +#line 1732 "Orientation.c" +} + + +void orientation_rotate_box (Orientation self, Dimensions* space, Box* box, Box* result) { + GdkPoint top_left = {0}; + GdkPoint bottom_right = {0}; + GdkPoint _tmp0_ = {0}; + GdkPoint _tmp1_ = {0}; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + GdkPoint _tmp7_ = {0}; + gint _tmp8_ = 0; + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GdkPoint _tmp12_ = {0}; + gint _tmp13_ = 0; + Dimensions _tmp14_ = {0}; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkPoint _tmp17_ = {0}; + gint _tmp18_ = 0; + Dimensions _tmp19_ = {0}; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + Dimensions _tmp22_ = {0}; + GdkPoint _tmp23_ = {0}; + GdkPoint _tmp24_ = {0}; + Dimensions _tmp25_ = {0}; + GdkPoint _tmp26_ = {0}; + GdkPoint _tmp27_ = {0}; + GdkPoint _tmp28_ = {0}; + GdkPoint _tmp29_ = {0}; + Box _tmp30_ = {0}; +#line 423 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (space != NULL); +#line 423 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (box != NULL); +#line 425 "/home/jens/Source/shotwell/src/Orientation.vala" + box_get_points (box, &_tmp0_, &_tmp1_); +#line 425 "/home/jens/Source/shotwell/src/Orientation.vala" + top_left = _tmp0_; +#line 425 "/home/jens/Source/shotwell/src/Orientation.vala" + bottom_right = _tmp1_; +#line 427 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = top_left; +#line 427 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = _tmp2_.x; +#line 427 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = *space; +#line 427 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = _tmp4_.width; +#line 427 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_ = CLAMP (_tmp3_, 0, _tmp5_ - 1); +#line 427 "/home/jens/Source/shotwell/src/Orientation.vala" + top_left.x = _tmp6_; +#line 428 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp7_ = top_left; +#line 428 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_ = _tmp7_.y; +#line 428 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp9_ = *space; +#line 428 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp10_ = _tmp9_.height; +#line 428 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp11_ = CLAMP (_tmp8_, 0, _tmp10_ - 1); +#line 428 "/home/jens/Source/shotwell/src/Orientation.vala" + top_left.y = _tmp11_; +#line 430 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp12_ = bottom_right; +#line 430 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp13_ = _tmp12_.x; +#line 430 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp14_ = *space; +#line 430 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp15_ = _tmp14_.width; +#line 430 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp16_ = CLAMP (_tmp13_, 0, _tmp15_ - 1); +#line 430 "/home/jens/Source/shotwell/src/Orientation.vala" + bottom_right.x = _tmp16_; +#line 431 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp17_ = bottom_right; +#line 431 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp18_ = _tmp17_.y; +#line 431 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp19_ = *space; +#line 431 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp20_ = _tmp19_.height; +#line 431 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp21_ = CLAMP (_tmp18_, 0, _tmp20_ - 1); +#line 431 "/home/jens/Source/shotwell/src/Orientation.vala" + bottom_right.y = _tmp21_; +#line 433 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp22_ = *space; +#line 433 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp23_ = top_left; +#line 433 "/home/jens/Source/shotwell/src/Orientation.vala" + orientation_rotate_point (self, &_tmp22_, &_tmp23_, &_tmp24_); +#line 433 "/home/jens/Source/shotwell/src/Orientation.vala" + top_left = _tmp24_; +#line 434 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp25_ = *space; +#line 434 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp26_ = bottom_right; +#line 434 "/home/jens/Source/shotwell/src/Orientation.vala" + orientation_rotate_point (self, &_tmp25_, &_tmp26_, &_tmp27_); +#line 434 "/home/jens/Source/shotwell/src/Orientation.vala" + bottom_right = _tmp27_; +#line 436 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp28_ = top_left; +#line 436 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp29_ = bottom_right; +#line 436 "/home/jens/Source/shotwell/src/Orientation.vala" + box_from_points (&_tmp28_, &_tmp29_, &_tmp30_); +#line 436 "/home/jens/Source/shotwell/src/Orientation.vala" + *result = _tmp30_; +#line 436 "/home/jens/Source/shotwell/src/Orientation.vala" + return; +#line 1854 "Orientation.c" +} + + +void orientation_derotate_box (Orientation self, Dimensions* space, Box* box, Box* result) { + GdkPoint top_left = {0}; + GdkPoint bottom_right = {0}; + GdkPoint _tmp0_ = {0}; + GdkPoint _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; + GdkPoint _tmp3_ = {0}; + GdkPoint _tmp4_ = {0}; + Dimensions _tmp5_ = {0}; + GdkPoint _tmp6_ = {0}; + GdkPoint _tmp7_ = {0}; + GdkPoint _tmp8_ = {0}; + GdkPoint _tmp9_ = {0}; + Box _tmp10_ = {0}; +#line 440 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (space != NULL); +#line 440 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_if_fail (box != NULL); +#line 442 "/home/jens/Source/shotwell/src/Orientation.vala" + box_get_points (box, &_tmp0_, &_tmp1_); +#line 442 "/home/jens/Source/shotwell/src/Orientation.vala" + top_left = _tmp0_; +#line 442 "/home/jens/Source/shotwell/src/Orientation.vala" + bottom_right = _tmp1_; +#line 444 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = *space; +#line 444 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = top_left; +#line 444 "/home/jens/Source/shotwell/src/Orientation.vala" + orientation_derotate_point (self, &_tmp2_, &_tmp3_, &_tmp4_); +#line 444 "/home/jens/Source/shotwell/src/Orientation.vala" + top_left = _tmp4_; +#line 445 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = *space; +#line 445 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_ = bottom_right; +#line 445 "/home/jens/Source/shotwell/src/Orientation.vala" + orientation_derotate_point (self, &_tmp5_, &_tmp6_, &_tmp7_); +#line 445 "/home/jens/Source/shotwell/src/Orientation.vala" + bottom_right = _tmp7_; +#line 447 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp8_ = top_left; +#line 447 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp9_ = bottom_right; +#line 447 "/home/jens/Source/shotwell/src/Orientation.vala" + box_from_points (&_tmp8_, &_tmp9_, &_tmp10_); +#line 447 "/home/jens/Source/shotwell/src/Orientation.vala" + *result = _tmp10_; +#line 447 "/home/jens/Source/shotwell/src/Orientation.vala" + return; +#line 1908 "Orientation.c" +} + + +GType orientation_get_type (void) { + static volatile gsize orientation_type_id__volatile = 0; + if (g_once_init_enter (&orientation_type_id__volatile)) { + static const GEnumValue values[] = {{ORIENTATION_MIN, "ORIENTATION_MIN", "min"}, {ORIENTATION_TOP_LEFT, "ORIENTATION_TOP_LEFT", "top-left"}, {ORIENTATION_TOP_RIGHT, "ORIENTATION_TOP_RIGHT", "top-right"}, {ORIENTATION_BOTTOM_RIGHT, "ORIENTATION_BOTTOM_RIGHT", "bottom-right"}, {ORIENTATION_BOTTOM_LEFT, "ORIENTATION_BOTTOM_LEFT", "bottom-left"}, {ORIENTATION_LEFT_TOP, "ORIENTATION_LEFT_TOP", "left-top"}, {ORIENTATION_RIGHT_TOP, "ORIENTATION_RIGHT_TOP", "right-top"}, {ORIENTATION_RIGHT_BOTTOM, "ORIENTATION_RIGHT_BOTTOM", "right-bottom"}, {ORIENTATION_LEFT_BOTTOM, "ORIENTATION_LEFT_BOTTOM", "left-bottom"}, {ORIENTATION_MAX, "ORIENTATION_MAX", "max"}, {0, NULL, NULL}}; + GType orientation_type_id; + orientation_type_id = g_enum_register_static ("Orientation", values); + g_once_init_leave (&orientation_type_id__volatile, orientation_type_id); + } + return orientation_type_id__volatile; +} + + +GdkPixbuf* rotation_perform (Rotation self, GdkPixbuf* pixbuf) { + GdkPixbuf* result = NULL; +#line 457 "/home/jens/Source/shotwell/src/Orientation.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 458 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 458 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_CLOCKWISE: +#line 1932 "Orientation.c" + { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 460 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp0_ = pixbuf; +#line 460 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp1_ = gdk_pixbuf_rotate_simple (_tmp0_, GDK_PIXBUF_ROTATE_CLOCKWISE); +#line 460 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp1_; +#line 460 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 1944 "Orientation.c" + } +#line 458 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_COUNTERCLOCKWISE: +#line 1948 "Orientation.c" + { + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 463 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp2_ = pixbuf; +#line 463 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp3_ = gdk_pixbuf_rotate_simple (_tmp2_, GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE); +#line 463 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp3_; +#line 463 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 1960 "Orientation.c" + } +#line 458 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_MIRROR: +#line 1964 "Orientation.c" + { + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; +#line 466 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp4_ = pixbuf; +#line 466 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp5_ = gdk_pixbuf_flip (_tmp4_, TRUE); +#line 466 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp5_; +#line 466 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 1976 "Orientation.c" + } +#line 458 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_UPSIDE_DOWN: +#line 1980 "Orientation.c" + { + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; +#line 469 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp6_ = pixbuf; +#line 469 "/home/jens/Source/shotwell/src/Orientation.vala" + _tmp7_ = gdk_pixbuf_flip (_tmp6_, FALSE); +#line 469 "/home/jens/Source/shotwell/src/Orientation.vala" + result = _tmp7_; +#line 469 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 1992 "Orientation.c" + } + default: + { +#line 472 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:472: Unknown rotation: %d", (gint) self); +#line 1998 "Orientation.c" + } + } +} + + +Rotation rotation_opposite (Rotation self) { + Rotation result = 0; +#line 477 "/home/jens/Source/shotwell/src/Orientation.vala" + switch (self) { +#line 477 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_CLOCKWISE: +#line 2010 "Orientation.c" + { +#line 479 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ROTATION_COUNTERCLOCKWISE; +#line 479 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 2016 "Orientation.c" + } +#line 477 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_COUNTERCLOCKWISE: +#line 2020 "Orientation.c" + { +#line 482 "/home/jens/Source/shotwell/src/Orientation.vala" + result = ROTATION_CLOCKWISE; +#line 482 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 2026 "Orientation.c" + } +#line 477 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_MIRROR: +#line 477 "/home/jens/Source/shotwell/src/Orientation.vala" + case ROTATION_UPSIDE_DOWN: +#line 2032 "Orientation.c" + { +#line 486 "/home/jens/Source/shotwell/src/Orientation.vala" + result = self; +#line 486 "/home/jens/Source/shotwell/src/Orientation.vala" + return result; +#line 2038 "Orientation.c" + } + default: + { +#line 489 "/home/jens/Source/shotwell/src/Orientation.vala" + g_error ("Orientation.vala:489: Unknown rotation: %d", (gint) self); +#line 2044 "Orientation.c" + } + } +} + + +GType rotation_get_type (void) { + static volatile gsize rotation_type_id__volatile = 0; + if (g_once_init_enter (&rotation_type_id__volatile)) { + static const GEnumValue values[] = {{ROTATION_CLOCKWISE, "ROTATION_CLOCKWISE", "clockwise"}, {ROTATION_COUNTERCLOCKWISE, "ROTATION_COUNTERCLOCKWISE", "counterclockwise"}, {ROTATION_MIRROR, "ROTATION_MIRROR", "mirror"}, {ROTATION_UPSIDE_DOWN, "ROTATION_UPSIDE_DOWN", "upside-down"}, {0, NULL, NULL}}; + GType rotation_type_id; + rotation_type_id = g_enum_register_static ("Rotation", values); + g_once_init_leave (&rotation_type_id__volatile, rotation_type_id); + } + return rotation_type_id__volatile; +} + + + diff --git a/src/Page.c b/src/Page.c new file mode 100644 index 0000000..81312ba --- /dev/null +++ b/src/Page.c @@ -0,0 +1,16211 @@ +/* Page.c generated by valac 0.32.1, the Vala compiler + * generated from Page.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include + + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; +typedef struct _InjectionGroupPrivate InjectionGroupPrivate; + +#define INJECTION_GROUP_TYPE_ELEMENT (injection_group_element_get_type ()) +#define INJECTION_GROUP_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INJECTION_GROUP_TYPE_ELEMENT, InjectionGroupElement)) +#define INJECTION_GROUP_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INJECTION_GROUP_TYPE_ELEMENT, InjectionGroupElementClass)) +#define INJECTION_GROUP_IS_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INJECTION_GROUP_TYPE_ELEMENT)) +#define INJECTION_GROUP_IS_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INJECTION_GROUP_TYPE_ELEMENT)) +#define INJECTION_GROUP_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INJECTION_GROUP_TYPE_ELEMENT, InjectionGroupElementClass)) + +typedef struct _InjectionGroupElement InjectionGroupElement; +typedef struct _InjectionGroupElementClass InjectionGroupElementClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _injection_group_element_unref0(var) ((var == NULL) ? NULL : (var = (injection_group_element_unref (var), NULL))) +typedef struct _InjectionGroupElementPrivate InjectionGroupElementPrivate; +typedef struct _InjectionGroupParamSpecElement InjectionGroupParamSpecElement; +typedef struct _ParamSpecInjectionGroup ParamSpecInjectionGroup; + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) + +#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_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 _injection_group_unref0(var) ((var == NULL) ? NULL : (var = (injection_group_unref (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_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_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ()) +#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView)) +#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) +#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW)) +#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW)) +#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) + +typedef struct _ThumbnailView ThumbnailView; +typedef struct _ThumbnailViewClass ThumbnailViewClass; + +#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ()) +#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem)) +#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass)) +#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM)) +#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM)) +#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass)) + +typedef struct _CheckerboardItem CheckerboardItem; +typedef struct _CheckerboardItemClass CheckerboardItemClass; + +#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#define TYPE_CHECKERBOARD_LAYOUT (checkerboard_layout_get_type ()) +#define CHECKERBOARD_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayout)) +#define CHECKERBOARD_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutClass)) +#define IS_CHECKERBOARD_LAYOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_LAYOUT)) +#define IS_CHECKERBOARD_LAYOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_LAYOUT)) +#define CHECKERBOARD_LAYOUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_LAYOUT, CheckerboardLayoutClass)) + +typedef struct _CheckerboardLayout CheckerboardLayout; +typedef struct _CheckerboardLayoutClass CheckerboardLayoutClass; +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) + +#define TYPE_ADJUSTMENT_RELATION (adjustment_relation_get_type ()) +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +typedef struct _DataViewPrivate DataViewPrivate; + +#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; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_COMPASS_POINT (compass_point_get_type ()) + +#define TYPE_MARKER (marker_get_type ()) +#define MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MARKER, Marker)) +#define IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MARKER)) +#define MARKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MARKER, MarkerIface)) + +typedef struct _Marker Marker; +typedef struct _MarkerIface MarkerIface; + +#define TYPE_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; +typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate; + +#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ()) +#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer)) +#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass)) +#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER)) +#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER)) +#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass)) + +typedef struct _ZoomBuffer ZoomBuffer; +typedef struct _ZoomBufferClass ZoomBufferClass; + +#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ()) + +#define TYPE_TRANSITION_CLOCK (transition_clock_get_type ()) +#define TRANSITION_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSITION_CLOCK, TransitionClock)) +#define TRANSITION_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSITION_CLOCK, TransitionClockClass)) +#define IS_TRANSITION_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSITION_CLOCK)) +#define IS_TRANSITION_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSITION_CLOCK)) +#define TRANSITION_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSITION_CLOCK, TransitionClockClass)) + +typedef struct _TransitionClock TransitionClock; +typedef struct _TransitionClockClass TransitionClockClass; + +#define TYPE_ZOOM_STATE (zoom_state_get_type ()) +typedef struct _ZoomState ZoomState; +#define _transition_clock_unref0(var) ((var == NULL) ? NULL : (var = (transition_clock_unref (var), NULL))) +#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL))) +#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) + +#define TYPE_TRANSITION_EFFECTS_MANAGER (transition_effects_manager_get_type ()) +#define TRANSITION_EFFECTS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManager)) +#define TRANSITION_EFFECTS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerClass)) +#define IS_TRANSITION_EFFECTS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSITION_EFFECTS_MANAGER)) +#define IS_TRANSITION_EFFECTS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSITION_EFFECTS_MANAGER)) +#define TRANSITION_EFFECTS_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerClass)) + +typedef struct _TransitionEffectsManager TransitionEffectsManager; +typedef struct _TransitionEffectsManagerClass TransitionEffectsManagerClass; +#define _transition_effects_manager_unref0(var) ((var == NULL) ? NULL : (var = (transition_effects_manager_unref (var), NULL))) + +#define TYPE_DIRECTION (direction_get_type ()) + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define TYPE_DRAG_AND_DROP_HANDLER (drag_and_drop_handler_get_type ()) +#define DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandler)) +#define DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass)) +#define IS_DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DRAG_AND_DROP_HANDLER)) +#define IS_DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DRAG_AND_DROP_HANDLER)) +#define DRAG_AND_DROP_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass)) + +typedef struct _DragAndDropHandler DragAndDropHandler; +typedef struct _DragAndDropHandlerClass DragAndDropHandlerClass; +typedef struct _DragAndDropHandlerPrivate DragAndDropHandlerPrivate; + +#define TYPE_EXPORTER_UI (exporter_ui_get_type ()) +#define EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER_UI, ExporterUI)) +#define EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER_UI, ExporterUIClass)) +#define IS_EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER_UI)) +#define IS_EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER_UI)) +#define EXPORTER_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER_UI, ExporterUIClass)) + +typedef struct _ExporterUI ExporterUI; +typedef struct _ExporterUIClass ExporterUIClass; + +#define DRAG_AND_DROP_HANDLER_TYPE_TARGET_TYPE (drag_and_drop_handler_target_type_get_type ()) +#define _exporter_ui_unref0(var) ((var == NULL) ? NULL : (var = (exporter_ui_unref (var), NULL))) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_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_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_EXPORTER (exporter_get_type ()) +#define EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER, Exporter)) +#define EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER, ExporterClass)) +#define IS_EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER)) +#define IS_EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER)) +#define EXPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER, ExporterClass)) + +typedef struct _Exporter Exporter; +typedef struct _ExporterClass ExporterClass; +typedef struct _ParamSpecDragAndDropHandler ParamSpecDragAndDropHandler; +#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 _InjectionGroup { + GTypeInstance parent_instance; + volatile int ref_count; + InjectionGroupPrivate * priv; +}; + +struct _InjectionGroupClass { + GTypeClass parent_class; + void (*finalize) (InjectionGroup *self); +}; + +struct _InjectionGroupPrivate { + gchar* path; + GeeArrayList* elements; + gint separator_id; +}; + +struct _InjectionGroupElement { + GTypeInstance parent_instance; + volatile int ref_count; + InjectionGroupElementPrivate * priv; + gchar* name; + gchar* action; + GtkUIManagerItemType kind; +}; + +struct _InjectionGroupElementClass { + GTypeClass parent_class; + void (*finalize) (InjectionGroupElement *self); +}; + +struct _InjectionGroupParamSpecElement { + GParamSpec parent_instance; +}; + +struct _ParamSpecInjectionGroup { + GParamSpec parent_instance; +}; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +struct _PagePrivate { + gchar* page_name; + ViewCollection* view; + GtkWindow* container; + gchar* toolbar_path; + GdkRectangle last_position; + GtkWidget* event_source; + gboolean dnd_enabled; + gulong last_configure_ms; + gboolean report_move_finished; + gboolean report_resize_finished; + GdkPoint last_down; + gboolean is_destroyed; + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; + GdkCursorType last_cursor; + gboolean cursor_hidden; + gint cursor_hide_msec; + guint last_timeout_id; + gint cursor_hide_time_cached; + gboolean are_actions_attached; + OneShotScheduler* update_actions_scheduler; + GtkActionGroup* action_group; + GtkActionGroup** common_action_groups; + gint common_action_groups_length1; + gint _common_action_groups_size_; + guint* merge_ids; + gint merge_ids_length1; + gint _merge_ids_size_; +}; + +typedef void (*OneShotCallback) (void* user_data); +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +struct _CheckerboardPagePrivate { + CheckerboardLayout* layout; + gchar* item_context_menu_path; + gchar* page_context_menu_path; + GtkViewport* viewport; + CheckerboardItem* highlighted; + gboolean autoscroll_scheduled; + CheckerboardItem* activated_item; + GeeArrayList* previously_selected; +}; + +typedef enum { + ADJUSTMENT_RELATION_BELOW, + ADJUSTMENT_RELATION_IN_RANGE, + ADJUSTMENT_RELATION_ABOVE +} AdjustmentRelation; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +typedef enum { + COMPASS_POINT_NORTH, + COMPASS_POINT_SOUTH, + COMPASS_POINT_EAST, + COMPASS_POINT_WEST +} CompassPoint; + +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 (*ValueEqualFunc) (GValue* a, GValue* b, void* user_data); +typedef enum { + SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF, + SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT, + SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS +} SinglePhotoPageUpdateReason; + +struct _SinglePhotoPage { + Page parent_instance; + SinglePhotoPagePrivate * priv; + GtkDrawingArea* canvas; + GtkViewport* viewport; +}; + +struct _SinglePhotoPageClass { + PageClass parent_class; + gboolean (*is_zoom_supported) (SinglePhotoPage* self); + void (*cancel_zoom) (SinglePhotoPage* self); + void (*save_zoom_state) (SinglePhotoPage* self); + void (*restore_zoom_state) (SinglePhotoPage* self); + ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self); + void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); + void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*on_previous_photo) (SinglePhotoPage* self); + void (*on_next_photo) (SinglePhotoPage* self); +}; + +struct _ZoomState { + Dimensions content_dimensions; + Dimensions viewport_dimensions; + gdouble zoom_factor; + gdouble interpolation_factor; + gdouble min_factor; + gdouble max_factor; + GdkPoint viewport_center; +}; + +struct _SinglePhotoPagePrivate { + gboolean scale_up_to_viewport; + TransitionClock* transition_clock; + gint transition_duration_msec; + cairo_surface_t* pixmap; + cairo_t* pixmap_ctx; + cairo_t* text_ctx; + Dimensions pixmap_dim; + GdkPixbuf* unscaled; + Dimensions max_dim; + GdkPixbuf* scaled; + GdkPixbuf* old_scaled; + GdkRectangle scaled_pos; + ZoomState static_zoom_state; + gboolean zoom_high_quality; + ZoomState saved_zoom_state; + gboolean has_saved_zoom_state; + guint32 last_nav_key; +}; + +typedef enum { + DIRECTION_FORWARD, + DIRECTION_BACKWARD +} Direction; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef void (*TransitionClockRepaintCallback) (void* user_data); +struct _DragAndDropHandler { + GTypeInstance parent_instance; + volatile int ref_count; + DragAndDropHandlerPrivate * priv; +}; + +struct _DragAndDropHandlerClass { + GTypeClass parent_class; + void (*finalize) (DragAndDropHandler *self); +}; + +struct _DragAndDropHandlerPrivate { + Page* page; + GtkWidget* event_source; + GFile* drag_destination; + ExporterUI* exporter; +}; + +typedef enum { + DRAG_AND_DROP_HANDLER_TARGET_TYPE_XDS, + DRAG_AND_DROP_HANDLER_TARGET_TYPE_MEDIA_LIST +} DragAndDropHandlerTargetType; + +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +typedef void (*ExporterCompletionCallback) (Exporter* exporter, gboolean is_cancelled, void* user_data); +struct _ParamSpecDragAndDropHandler { + GParamSpec parent_instance; +}; + + +static gpointer injection_group_parent_class = NULL; +static gpointer injection_group_element_parent_class = NULL; +static gpointer page_parent_class = NULL; +static gpointer checkerboard_page_parent_class = NULL; +static gpointer single_photo_page_parent_class = NULL; +static gpointer drag_and_drop_handler_parent_class = NULL; +static GdkAtom* drag_and_drop_handler_XDS_ATOM; +static GdkAtom* drag_and_drop_handler_XDS_ATOM = NULL; +static GdkAtom* drag_and_drop_handler_TEXT_ATOM; +static GdkAtom* drag_and_drop_handler_TEXT_ATOM = NULL; +static guint8* drag_and_drop_handler_XDS_FAKE_TARGET; +static gint drag_and_drop_handler_XDS_FAKE_TARGET_length1; +static guint8* drag_and_drop_handler_XDS_FAKE_TARGET = NULL; +static gint drag_and_drop_handler_XDS_FAKE_TARGET_length1 = 0; +static gint _drag_and_drop_handler_XDS_FAKE_TARGET_size_ = 0; + +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +gpointer injection_group_element_ref (gpointer instance); +void injection_group_element_unref (gpointer instance); +GParamSpec* injection_group_param_spec_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void injection_group_value_set_element (GValue* value, gpointer v_object); +void injection_group_value_take_element (GValue* value, gpointer v_object); +gpointer injection_group_value_get_element (const GValue* value); +GType injection_group_element_get_type (void) G_GNUC_CONST; +#define INJECTION_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_INJECTION_GROUP, InjectionGroupPrivate)) +enum { + INJECTION_GROUP_DUMMY_PROPERTY +}; +InjectionGroup* injection_group_new (const gchar* path); +InjectionGroup* injection_group_construct (GType object_type, const gchar* path); +gchar* injection_group_get_path (InjectionGroup* self); +GeeList* injection_group_get_elements (InjectionGroup* self); +void injection_group_add_menu_item (InjectionGroup* self, const gchar* name, const gchar* action); +InjectionGroupElement* injection_group_element_new (const gchar* name, const gchar* action, GtkUIManagerItemType kind); +InjectionGroupElement* injection_group_element_construct (GType object_type, const gchar* name, const gchar* action, GtkUIManagerItemType kind); +void injection_group_add_menu (InjectionGroup* self, const gchar* name, const gchar* action); +void injection_group_add_separator (InjectionGroup* self); +enum { + INJECTION_GROUP_ELEMENT_DUMMY_PROPERTY +}; +static void injection_group_element_finalize (InjectionGroupElement* obj); +static void injection_group_finalize (InjectionGroup* obj); +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +#define PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PAGE, PagePrivate)) +enum { + PAGE_DUMMY_PROPERTY +}; +#define PAGE_CONSIDER_CONFIGURE_HALTED_MSEC 400 +Page* page_construct (GType object_type, const gchar* page_name); +ViewCollection* view_collection_new (const gchar* name); +ViewCollection* view_collection_construct (GType object_type, const gchar* name); +gboolean page_on_context_keypress (Page* self); +static gboolean _page_on_context_keypress_gtk_widget_popup_menu (GtkWidget* _sender, gpointer self); +static void page_init_ui (Page* self); +static void page_attach_view_signals (Page* self); +static void _page_attach_view_signals_gtk_widget_realize (GtkWidget* _sender, gpointer self); +static void page_real_destroy (GtkWidget* base); +static void page_detach_event_source (Page* self); +static void page_detach_view_signals (Page* self); +void data_collection_close (DataCollection* self); +void page_clear_container (Page* self); +void one_shot_scheduler_cancel (OneShotScheduler* self); +gchar* page_get_page_name (Page* self); +void page_set_page_name (Page* self, const gchar* page_name); +static void page_real_set_page_name (Page* self, const gchar* page_name); +gchar* page_to_string (Page* self); +ViewCollection* page_get_view (Page* self); +GtkWindow* page_get_container (Page* self); +void page_set_container (Page* self, GtkWindow* container); +static void page_real_set_container (Page* self, GtkWindow* container); +GtkUIManager* page_window_get_ui_manager (PageWindow* self); +static void page_real_clear_container (Page* self); +void page_set_event_source (Page* self, GtkWidget* event_source); +static gboolean page_on_button_pressed_internal (Page* self, GdkEventButton* event); +static gboolean _page_on_button_pressed_internal_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +static gboolean page_on_button_released_internal (Page* self, GdkEventButton* event); +static gboolean _page_on_button_released_internal_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +static gboolean page_on_motion_internal (Page* self, GdkEventMotion* event); +static gboolean _page_on_motion_internal_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self); +gboolean page_on_leave_notify_event (Page* self); +static gboolean _page_on_leave_notify_event_gtk_widget_leave_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self); +static gboolean page_on_mousewheel_internal (Page* self, GdkEventScroll* event); +static gboolean _page_on_mousewheel_internal_gtk_widget_scroll_event (GtkWidget* _sender, GdkEventScroll* event, gpointer self); +void page_on_event_source_realize (Page* self); +static void _page_on_event_source_realize_gtk_widget_realize (GtkWidget* _sender, gpointer self); +void page_disable_drag_source (Page* self); +GtkWidget* page_get_event_source (Page* self); +GtkMenuBar* page_get_menubar (Page* self); +static GtkMenuBar* page_real_get_menubar (Page* self); +GtkWidget* page_get_page_ui_widget (Page* self, const gchar* path); +static GtkWidget* page_real_get_page_ui_widget (Page* self, const gchar* path); +GtkToolbar* page_get_toolbar (Page* self); +static GtkToolbar* page_real_get_toolbar (Page* self); +GtkMenu* page_get_page_context_menu (Page* self); +static GtkMenu* page_real_get_page_context_menu (Page* self); +void page_switching_from (Page* self); +static void page_real_switching_from (Page* self); +static void page_remove_ui (Page* self); +void page_switched_to (Page* self); +static void page_real_switched_to (Page* self); +static void page_add_ui (Page* self); +static void page_update_modifiers (Page* self); +void page_ready (Page* self); +static void page_real_ready (Page* self); +gboolean page_is_in_view (Page* self); +void page_switching_to_fullscreen (Page* self, FullscreenWindow* fsw); +static void page_real_switching_to_fullscreen (Page* self, FullscreenWindow* fsw); +void page_returning_from_fullscreen (Page* self, FullscreenWindow* fsw); +static void page_real_returning_from_fullscreen (Page* self, FullscreenWindow* fsw); +GtkAction* page_get_action (Page* self, const gchar* name); +GtkAction* page_get_common_action (Page* self, const gchar* name, gboolean log_warning); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +void page_set_action_important (Page* self, const gchar* name, gboolean important); +void page_set_action_visible (Page* self, const gchar* name, gboolean visible); +void page_set_action_short_label (Page* self, const gchar* name, const gchar* short_label); +void page_set_action_details (Page* self, const gchar* name, const gchar* label, const gchar* tooltip, gboolean sensitive); +void page_activate_action (Page* self, const gchar* name); +void page_set_common_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +void page_set_common_action_label (Page* self, const gchar* name, const gchar* label); +void page_set_common_action_important (Page* self, const gchar* name, gboolean important); +void page_activate_common_action (Page* self, const gchar* name); +gboolean page_get_ctrl_pressed (Page* self); +gboolean page_get_alt_pressed (Page* self); +gboolean page_get_shift_pressed (Page* self); +gboolean page_get_super_pressed (Page* self); +static gboolean page_get_modifiers (Page* self, gboolean* ctrl, gboolean* alt, gboolean* shift, gboolean* super); +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +gboolean page_on_ctrl_released (Page* self, GdkEventKey* event); +gboolean page_on_ctrl_pressed (Page* self, GdkEventKey* event); +gboolean page_on_alt_released (Page* self, GdkEventKey* event); +gboolean page_on_alt_pressed (Page* self, GdkEventKey* event); +gboolean page_on_shift_released (Page* self, GdkEventKey* event); +gboolean page_on_shift_pressed (Page* self, GdkEventKey* event); +gboolean page_on_super_released (Page* self, GdkEventKey* event); +gboolean page_on_super_pressed (Page* self, GdkEventKey* event); +PageWindow* page_get_page_window (Page* self); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +CommandManager* app_window_get_command_manager (void); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self, int* result_length1); +void page_register_radio_actions (Page* self, GtkActionGroup* action_group); +GtkActionGroup** app_window_get_common_action_groups (AppWindow* self, int* result_length1); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static void page_init_load_ui (Page* self, const gchar* ui_filename); +InjectionGroup** page_init_collect_injection_groups (Page* self, int* result_length1); +static void _vala_array_add249 (guint** array, int* length, int* size, guint value); +void app_window_replace_common_placeholders (AppWindow* self, GtkUIManager* ui); +void page_init_toolbar (Page* self, const gchar* path); +gint view_collection_get_selected_count (ViewCollection* self); +gint data_collection_get_count (DataCollection* self); +void page_init_actions (Page* self, gint selected_count, gint count); +void page_update_actions (Page* self, gint selected_count, gint count); +static void page_on_update_actions (Page* self); +GType data_object_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +static void _page_on_update_actions_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self); +static void _page_on_update_actions_view_collection_selection_group_altered (ViewCollection* _sender, gpointer self); +static void _page_on_update_actions_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self); +static void _page_on_update_actions_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static void page_on_update_actions_on_idle (Page* self); +static void _page_on_update_actions_on_idle_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +void one_shot_scheduler_at_priority_idle (OneShotScheduler* self, gint priority); +GFile* resources_get_ui (const gchar* filename); +static void _vala_array_add250 (guint** array, int* length, int* size, guint value); +void app_window_error_message (const gchar* message, GtkWindow* parent); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +void application_panic (Application* self); +static void page_real_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* page_real_init_collect_action_entries (Page* self, int* result_length1); +static GtkToggleActionEntry* page_real_init_collect_toggle_action_entries (Page* self, int* result_length1); +static void page_real_register_radio_actions (Page* self, GtkActionGroup* action_group); +static InjectionGroup** page_real_init_collect_injection_groups (Page* self, int* result_length1); +static void page_real_init_actions (Page* self, gint selected_count, gint count); +static void page_real_update_actions (Page* self, gint selected_count, gint count); +void page_enable_drag_source (Page* self, GdkDragAction actions, GtkTargetEntry* source_target_entries, int source_target_entries_length1); +static void page_on_drag_begin (Page* self, GdkDragContext* context); +static void _page_on_drag_begin_gtk_widget_drag_begin (GtkWidget* _sender, GdkDragContext* context, gpointer self); +static void page_on_drag_data_get (Page* self, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time); +static void _page_on_drag_data_get_gtk_widget_drag_data_get (GtkWidget* _sender, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time_, gpointer self); +static void page_on_drag_data_delete (Page* self, GdkDragContext* context); +static void _page_on_drag_data_delete_gtk_widget_drag_data_delete (GtkWidget* _sender, GdkDragContext* context, gpointer self); +static void page_on_drag_end (Page* self, GdkDragContext* context); +static void _page_on_drag_end_gtk_widget_drag_end (GtkWidget* _sender, GdkDragContext* context, gpointer self); +static gboolean page_on_drag_failed (Page* self, GdkDragContext* context, GtkDragResult drag_result); +static gboolean _page_on_drag_failed_gtk_widget_drag_failed (GtkWidget* _sender, GdkDragContext* context, GtkDragResult _result_, gpointer self); +gboolean page_is_dnd_enabled (Page* self); +gboolean page_source_drag_failed (Page* self, GdkDragContext* context, GtkDragResult drag_result); +static gboolean page_real_source_drag_failed (Page* self, GdkDragContext* context, GtkDragResult drag_result); +gboolean page_get_event_source_pointer (Page* self, gint* x, gint* y, GdkModifierType* mask); +gboolean page_on_left_click (Page* self, GdkEventButton* event); +static gboolean page_real_on_left_click (Page* self, GdkEventButton* event); +gboolean page_on_middle_click (Page* self, GdkEventButton* event); +static gboolean page_real_on_middle_click (Page* self, GdkEventButton* event); +gboolean page_on_right_click (Page* self, GdkEventButton* event); +static gboolean page_real_on_right_click (Page* self, GdkEventButton* event); +gboolean page_on_left_released (Page* self, GdkEventButton* event); +static gboolean page_real_on_left_released (Page* self, GdkEventButton* event); +gboolean page_on_middle_released (Page* self, GdkEventButton* event); +static gboolean page_real_on_middle_released (Page* self, GdkEventButton* event); +gboolean page_on_right_released (Page* self, GdkEventButton* event); +static gboolean page_real_on_right_released (Page* self, GdkEventButton* event); +static gboolean page_real_on_ctrl_pressed (Page* self, GdkEventKey* event); +static gboolean page_real_on_ctrl_released (Page* self, GdkEventKey* event); +static gboolean page_real_on_alt_pressed (Page* self, GdkEventKey* event); +static gboolean page_real_on_alt_released (Page* self, GdkEventKey* event); +static gboolean page_real_on_shift_pressed (Page* self, GdkEventKey* event); +static gboolean page_real_on_shift_released (Page* self, GdkEventKey* event); +static gboolean page_real_on_super_pressed (Page* self, GdkEventKey* event); +static gboolean page_real_on_super_released (Page* self, GdkEventKey* event); +gboolean page_on_app_key_pressed (Page* self, GdkEventKey* event); +static gboolean page_real_on_app_key_pressed (Page* self, GdkEventKey* event); +gboolean page_on_app_key_released (Page* self, GdkEventKey* event); +static gboolean page_real_on_app_key_released (Page* self, GdkEventKey* event); +gboolean page_notify_app_key_pressed (Page* self, GdkEventKey* event); +gboolean page_notify_app_key_released (Page* self, GdkEventKey* event); +gboolean page_notify_app_focus_in (Page* self, GdkEventFocus* event); +gboolean page_notify_app_focus_out (Page* self, GdkEventFocus* event); +void page_on_move (Page* self, GdkRectangle* rect); +static void page_real_on_move (Page* self, GdkRectangle* rect); +void page_on_move_start (Page* self, GdkRectangle* rect); +static void page_real_on_move_start (Page* self, GdkRectangle* rect); +void page_on_move_finished (Page* self, GdkRectangle* rect); +static void page_real_on_move_finished (Page* self, GdkRectangle* rect); +void page_on_resize (Page* self, GdkRectangle* rect); +static void page_real_on_resize (Page* self, GdkRectangle* rect); +void page_on_resize_start (Page* self, GdkRectangle* rect); +static void page_real_on_resize_start (Page* self, GdkRectangle* rect); +void page_on_resize_finished (Page* self, GdkRectangle* rect); +static void page_real_on_resize_finished (Page* self, GdkRectangle* rect); +gboolean page_on_configure (Page* self, GdkEventConfigure* event, GdkRectangle* rect); +static gboolean page_real_on_configure (Page* self, GdkEventConfigure* event, GdkRectangle* rect); +gboolean page_notify_configure_event (Page* self, GdkEventConfigure* event); +static gboolean page_check_configure_halted (Page* self); +static gboolean _page_check_configure_halted_gsource_func (gpointer self); +gulong now_ms (void); +gboolean page_on_motion (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); +static gboolean page_real_on_motion (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); +static void page_check_cursor_hiding (Page* self); +static gboolean page_real_on_leave_notify_event (Page* self); +gboolean page_on_mousewheel_up (Page* self, GdkEventScroll* event); +gboolean page_on_mousewheel_down (Page* self, GdkEventScroll* event); +gboolean page_on_mousewheel_left (Page* self, GdkEventScroll* event); +gboolean page_on_mousewheel_right (Page* self, GdkEventScroll* event); +static gboolean page_real_on_mousewheel_up (Page* self, GdkEventScroll* event); +static gboolean page_real_on_mousewheel_down (Page* self, GdkEventScroll* event); +static gboolean page_real_on_mousewheel_left (Page* self, GdkEventScroll* event); +static gboolean page_real_on_mousewheel_right (Page* self, GdkEventScroll* event); +static gboolean page_real_on_context_keypress (Page* self); +gboolean page_on_context_buttonpress (Page* self, GdkEventButton* event); +static gboolean page_real_on_context_buttonpress (Page* self, GdkEventButton* event); +gboolean page_on_context_invoked (Page* self); +static gboolean page_real_on_context_invoked (Page* self); +gboolean page_popup_context_menu (Page* self, GtkMenu* context_menu, GdkEventButton* event); +void page_set_cursor_hide_time (Page* self, gint hide_time); +void page_start_cursor_hiding (Page* self); +void page_stop_cursor_hiding (Page* self); +void page_suspend_cursor_hiding (Page* self); +void page_restore_cursor_hiding (Page* self); +void page_set_page_cursor (Page* self, GdkCursorType cursor_type); +static void page_real_set_page_cursor (Page* self, GdkCursorType cursor_type); +static gboolean page_on_hide_cursor (Page* self); +static gboolean _page_on_hide_cursor_gsource_func (gpointer self); +static void page_finalize (GObject* obj); +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType thumbnail_view_get_type (void) G_GNUC_CONST; +GType checkerboard_item_get_type (void) G_GNUC_CONST; +GType checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType checkerboard_layout_get_type (void) G_GNUC_CONST; +#define CHECKERBOARD_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CHECKERBOARD_PAGE, CheckerboardPagePrivate)) +enum { + CHECKERBOARD_PAGE_DUMMY_PROPERTY +}; +#define CHECKERBOARD_PAGE_AUTOSCROLL_PIXELS 50 +#define CHECKERBOARD_PAGE_AUTOSCROLL_TICKS_MSEC 50 +CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name); +CheckerboardLayout* checkerboard_layout_new (ViewCollection* view); +CheckerboardLayout* checkerboard_layout_construct (GType object_type, ViewCollection* view); +void checkerboard_layout_set_name (CheckerboardLayout* self, const gchar* name); +void checkerboard_layout_set_adjustments (CheckerboardLayout* self, GtkAdjustment* hadjustment, GtkAdjustment* vadjustment); +static void checkerboard_page_on_items_hidden (CheckerboardPage* self, GeeIterable* hidden); +static void _checkerboard_page_on_items_hidden_view_collection_items_hidden (ViewCollection* _sender, GeeCollection* hidden, gpointer self); +static void checkerboard_page_on_contents_altered (CheckerboardPage* self, GeeIterable* added, GeeIterable* removed); +static void _checkerboard_page_on_contents_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static void checkerboard_page_on_items_state_changed (CheckerboardPage* self, GeeIterable* changed); +static void _checkerboard_page_on_items_state_changed_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self); +static void checkerboard_page_on_items_visibility_changed (CheckerboardPage* self, GeeCollection* changed); +static void _checkerboard_page_on_items_visibility_changed_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self); +void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path); +void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path); +GtkMenu* checkerboard_page_get_context_menu (CheckerboardPage* self); +GtkMenu* checkerboard_page_get_item_context_menu (CheckerboardPage* self); +static GtkMenu* checkerboard_page_real_get_item_context_menu (CheckerboardPage* self); +static GtkMenu* checkerboard_page_real_get_page_context_menu (Page* base); +static gboolean checkerboard_page_real_on_context_keypress (Page* base); +gchar* checkerboard_page_get_view_empty_message (CheckerboardPage* self); +static gchar* checkerboard_page_real_get_view_empty_message (CheckerboardPage* self); +gchar* checkerboard_page_get_filter_no_match_message (CheckerboardPage* self); +static gchar* checkerboard_page_real_get_filter_no_match_message (CheckerboardPage* self); +void checkerboard_page_on_item_activated (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); +static void checkerboard_page_real_on_item_activated (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); +CheckerboardLayout* checkerboard_page_get_checkerboard_layout (CheckerboardPage* self); +SearchViewFilter* checkerboard_page_get_search_view_filter (CheckerboardPage* self); +static SearchViewFilter* checkerboard_page_real_get_search_view_filter (CheckerboardPage* self); +CoreViewTracker* checkerboard_page_get_view_tracker (CheckerboardPage* self); +static CoreViewTracker* checkerboard_page_real_get_view_tracker (CheckerboardPage* self); +static void checkerboard_page_real_switching_from (Page* base); +void checkerboard_layout_set_in_view (CheckerboardLayout* self, gboolean in_view); +static void checkerboard_page_on_view_filter_refresh (CheckerboardPage* self); +static void _checkerboard_page_on_view_filter_refresh_view_filter_refresh (ViewFilter* _sender, gpointer self); +void view_collection_unselect_all (ViewCollection* self); +static void checkerboard_page_real_switched_to (Page* base); +DataView* view_collection_get_selected_at (ViewCollection* self, gint index); +GType adjustment_relation_get_type (void) G_GNUC_CONST; +AdjustmentRelation get_adjustment_relation (GtkAdjustment* adjustment, gint value); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +#define CHECKERBOARD_LAYOUT_ROW_GUTTER_PADDING 24 +static void checkerboard_page_update_view_filter_message (CheckerboardPage* self); +gboolean view_collection_are_items_filtered_out (ViewCollection* self); +void checkerboard_page_set_page_message (CheckerboardPage* self, const gchar* message); +void checkerboard_page_unset_page_message (CheckerboardPage* self); +void checkerboard_layout_set_message (CheckerboardLayout* self, const gchar* text); +void checkerboard_layout_unset_message (CheckerboardLayout* self); +static void checkerboard_page_real_set_page_name (Page* base, const gchar* name); +CheckerboardItem* checkerboard_page_get_item_at_pixel (CheckerboardPage* self, gdouble x, gdouble y); +CheckerboardItem* checkerboard_layout_get_item_at_pixel (CheckerboardLayout* self, gdouble xd, gdouble yd); +static gboolean checkerboard_page_real_key_press_event (GtkWidget* base, GdkEventKey* event); +GType compass_point_get_type (void) G_GNUC_CONST; +void checkerboard_page_move_cursor (CheckerboardPage* self, CompassPoint point); +void checkerboard_page_select_anchor_to_cursor (CheckerboardPage* self, guint state); +DataView* view_collection_get_first (ViewCollection* self); +void checkerboard_page_cursor_to_item (CheckerboardPage* self, CheckerboardItem* item); +DataView* view_collection_get_last (ViewCollection* self); +void checkerboard_page_keyboard_modifiers_init (CheckerboardPageKeyboardModifiers *self, Page* page); +GType marker_get_type (void) G_GNUC_CONST; +Marker* data_collection_mark (DataCollection* self, DataObject* object); +CheckerboardItem* checkerboard_layout_get_cursor (CheckerboardLayout* self); +void view_collection_toggle_marked (ViewCollection* self, Marker* marker); +static gboolean checkerboard_page_real_on_left_click (Page* base, GdkEventButton* event); +gboolean checkerboard_layout_handle_left_click (CheckerboardLayout* self, CheckerboardItem* item, gdouble xd, gdouble yd, GdkModifierType mask); +gboolean data_view_is_selected (DataView* self); +void checkerboard_page_select_between_items (CheckerboardPage* self, CheckerboardItem* item_start, CheckerboardItem* item_end); +Marker* data_collection_start_marking (DataCollection* self); +void marker_mark_many (Marker* self, GeeCollection* list); +GeeList* view_collection_get_selected (ViewCollection* self); +void view_collection_unselect_and_select_marked (ViewCollection* self, Marker* unselect, Marker* select); +void checkerboard_layout_set_cursor (CheckerboardLayout* self, CheckerboardItem* item); +void checkerboard_layout_set_drag_select_origin (CheckerboardLayout* self, gint x, gint y); +static gboolean checkerboard_page_real_on_left_released (Page* base, GdkEventButton* event); +gboolean checkerboard_layout_is_drag_select_active (CheckerboardLayout* self); +void checkerboard_layout_clear_drag_select (CheckerboardLayout* self); +void view_collection_unselect_all_but (ViewCollection* self, DataView* exception); +static gboolean checkerboard_page_real_on_right_click (Page* base, GdkEventButton* event); +gboolean checkerboard_page_on_mouse_over (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); +static gboolean checkerboard_page_real_on_mouse_over (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); +gboolean checkerboard_layout_handle_mouse_motion (CheckerboardLayout* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); +void checkerboard_item_unbrighten (CheckerboardItem* self); +void checkerboard_item_brighten (CheckerboardItem* self); +static gboolean checkerboard_page_real_on_motion (Page* base, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); +void checkerboard_layout_set_drag_select_endpoint (CheckerboardLayout* self, gint x, gint y); +static void checkerboard_page_updated_selection_band (CheckerboardPage* self); +static gboolean checkerboard_page_selection_autoscroll (CheckerboardPage* self); +static gboolean _checkerboard_page_selection_autoscroll_gsource_func (gpointer self); +GeeList* checkerboard_layout_items_in_selection_band (CheckerboardLayout* self); +void marker_unmark_many (Marker* self, GeeCollection* list); +gboolean marker_toggle (Marker* self, DataObject* object); +void marker_unmark (Marker* self, DataObject* object); +void marker_mark (Marker* self, DataObject* object); +void view_collection_select_marked (ViewCollection* self, Marker* marker); +void view_collection_unselect_marked (ViewCollection* self, Marker* marker); +gboolean data_collection_contains (DataCollection* self, DataObject* object); +CheckerboardItem* checkerboard_layout_get_item_at_coordinate (CheckerboardLayout* self, gint col, gint row); +CheckerboardItem* checkerboard_layout_get_item_relative_to (CheckerboardLayout* self, CheckerboardItem* item, CompassPoint point); +void checkerboard_page_set_cursor (CheckerboardPage* self, CheckerboardItem* item); +GeeCollection* data_collection_get_all (DataCollection* self); +void checkerboard_page_set_display_titles (CheckerboardPage* self, gboolean display); +static void checkerboard_page_real_set_display_titles (CheckerboardPage* self, gboolean display); +void data_collection_freeze_notifications (DataCollection* self); +void data_collection_set_property (DataCollection* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target); +#define CHECKERBOARD_ITEM_PROP_SHOW_TITLES "show-titles" +void data_collection_thaw_notifications (DataCollection* self); +void checkerboard_page_set_display_comments (CheckerboardPage* self, gboolean display); +static void checkerboard_page_real_set_display_comments (CheckerboardPage* self, gboolean display); +#define CHECKERBOARD_ITEM_PROP_SHOW_COMMENTS "show-comments" +static void checkerboard_page_finalize (GObject* obj); +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType zoom_buffer_get_type (void) G_GNUC_CONST; +GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST; +gpointer transition_clock_ref (gpointer instance); +void transition_clock_unref (gpointer instance); +GParamSpec* param_spec_transition_clock (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_transition_clock (GValue* value, gpointer v_object); +void value_take_transition_clock (GValue* value, gpointer v_object); +gpointer value_get_transition_clock (const GValue* value); +GType transition_clock_get_type (void) G_GNUC_CONST; +GType zoom_state_get_type (void) G_GNUC_CONST; +ZoomState* zoom_state_dup (const ZoomState* self); +void zoom_state_free (ZoomState* self); +#define SINGLE_PHOTO_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPagePrivate)) +enum { + SINGLE_PHOTO_PAGE_DUMMY_PROPERTY +}; +void dimensions_init (Dimensions *self, gint width, gint height); +#define SINGLE_PHOTO_PAGE_FAST_INTERP GDK_INTERP_NEAREST +#define SINGLE_PHOTO_PAGE_QUALITY_INTERP GDK_INTERP_BILINEAR +#define SINGLE_PHOTO_PAGE_KEY_REPEAT_INTERVAL_MSEC 200 +SinglePhotoPage* single_photo_page_construct (GType object_type, const gchar* page_name, gboolean scale_up_to_viewport); +gpointer transition_effects_manager_ref (gpointer instance); +void transition_effects_manager_unref (gpointer instance); +GParamSpec* param_spec_transition_effects_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_transition_effects_manager (GValue* value, gpointer v_object); +void value_take_transition_effects_manager (GValue* value, gpointer v_object); +gpointer value_get_transition_effects_manager (const GValue* value); +GType transition_effects_manager_get_type (void) G_GNUC_CONST; +TransitionEffectsManager* transition_effects_manager_get_instance (void); +TransitionClock* transition_effects_manager_create_null_transition_clock (TransitionEffectsManager* self); +static void single_photo_page_on_viewport_resize (SinglePhotoPage* self); +static void _single_photo_page_on_viewport_resize_gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self); +static gboolean single_photo_page_on_canvas_exposed (SinglePhotoPage* self, cairo_t* exposed_ctx); +static gboolean _single_photo_page_on_canvas_exposed_gtk_widget_draw (GtkWidget* _sender, cairo_t* cr, gpointer self); +gboolean single_photo_page_is_transition_in_progress (SinglePhotoPage* self); +gboolean transition_clock_is_in_progress (TransitionClock* self); +void single_photo_page_cancel_transition (SinglePhotoPage* self); +void transition_clock_cancel (TransitionClock* self); +void single_photo_page_set_transition (SinglePhotoPage* self, const gchar* effect_id, gint duration_msec); +TransitionClock* transition_effects_manager_create_transition_clock (TransitionEffectsManager* self, const gchar* effect_id); +static void single_photo_page_render_zoomed_to_pixmap (SinglePhotoPage* self, ZoomState* zoom_state); +gboolean single_photo_page_is_zoom_supported (SinglePhotoPage* self); +void zoom_state_get_viewing_rectangle_wrt_content (ZoomState *self, GdkRectangle* result); +ZoomBuffer* single_photo_page_get_zoom_buffer (SinglePhotoPage* self); +GdkPixbuf* zoom_buffer_get_zoomed_image (ZoomBuffer* self, ZoomState* zoom_state); +GdkPixbuf* zoom_buffer_get_zoom_preview_image (ZoomBuffer* self, ZoomState* zoom_state); +void zoom_state_get_viewing_rectangle_projection (ZoomState *self, GdkPixbuf* for_pixbuf, GdkRectangle* result); +void single_photo_page_on_interactive_zoom (SinglePhotoPage* self, ZoomState* interactive_zoom_state); +void set_source_color_from_string (cairo_t* ctx, const gchar* spec); +void single_photo_page_on_interactive_pan (SinglePhotoPage* self, ZoomState* interactive_zoom_state); +static gboolean single_photo_page_real_is_zoom_supported (SinglePhotoPage* self); +void single_photo_page_cancel_zoom (SinglePhotoPage* self); +static void single_photo_page_real_cancel_zoom (SinglePhotoPage* self); +void single_photo_page_save_zoom_state (SinglePhotoPage* self); +static void single_photo_page_real_save_zoom_state (SinglePhotoPage* self); +void single_photo_page_restore_zoom_state (SinglePhotoPage* self); +static void single_photo_page_real_restore_zoom_state (SinglePhotoPage* self); +GType direction_get_type (void) G_GNUC_CONST; +void single_photo_page_repaint (SinglePhotoPage* self, Direction* direction); +static ZoomBuffer* single_photo_page_real_get_zoom_buffer (SinglePhotoPage* self); +void single_photo_page_get_saved_zoom_state (SinglePhotoPage* self, ZoomState* result); +void single_photo_page_set_zoom_state (SinglePhotoPage* self, ZoomState* zoom_state); +void single_photo_page_get_zoom_state (SinglePhotoPage* self, ZoomState* result); +static void single_photo_page_real_switched_to (Page* base); +static void single_photo_page_real_set_container (Page* base, GtkWindow* container); +void single_photo_page_set_pixbuf (SinglePhotoPage* self, GdkPixbuf* unscaled, Dimensions* max_dim, Direction* direction); +gdouble zoom_state_get_interpolation_factor (ZoomState *self); +void zoom_state_get_viewport_center (ZoomState *self, GdkPoint* result); +void zoom_state_init (ZoomState *self, Dimensions* content_dimensions, Dimensions* viewport_dimensions, gdouble slider_val, GdkPoint* viewport_center); +void single_photo_page_blank_display (SinglePhotoPage* self); +void single_photo_page_invalidate_all (SinglePhotoPage* self); +cairo_surface_t* single_photo_page_get_surface (SinglePhotoPage* self); +void single_photo_page_get_surface_dim (SinglePhotoPage* self, Dimensions* result); +cairo_t* single_photo_page_get_cairo_context (SinglePhotoPage* self); +void single_photo_page_paint_text (SinglePhotoPage* self, PangoLayout* pango_layout, gint x, gint y); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void single_photo_page_get_canvas_scaling (SinglePhotoPage* self, Scaling* result); +void scaling_for_screen (GtkWindow* window, gboolean scale_up, Scaling* result); +void scaling_for_widget (GtkWidget* widget, gboolean scale_up, Scaling* result); +GdkPixbuf* single_photo_page_get_unscaled_pixbuf (SinglePhotoPage* self); +GdkPixbuf* single_photo_page_get_scaled_pixbuf (SinglePhotoPage* self); +void single_photo_page_get_scaled_pixbuf_position (SinglePhotoPage* self, GdkRectangle* result); +gboolean single_photo_page_is_inside_pixbuf (SinglePhotoPage* self, gint x, gint y); +gboolean coord_in_rectangle (gint x, gint y, GdkRectangle* rect); +void single_photo_page_invalidate (SinglePhotoPage* self, GdkRectangle* rect); +static void single_photo_page_internal_repaint (SinglePhotoPage* self, gboolean fast, Direction* direction); +static void single_photo_page_real_on_resize_finished (Page* base, GdkRectangle* rect); +void single_photo_page_new_surface (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); +static void single_photo_page_real_new_surface (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); +void single_photo_page_updated_pixbuf (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); +static void single_photo_page_real_updated_pixbuf (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); +void single_photo_page_paint (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); +static void single_photo_page_real_paint (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); +gboolean zoom_state_is_default (ZoomState *self); +gboolean transition_clock_paint (TransitionClock* self, cairo_t* ctx, gint width, gint height); +static void single_photo_page_repaint_pixmap (SinglePhotoPage* self); +void dimensions_for_rectangle (GdkRectangle* rect, Dimensions* result); +static void single_photo_page_init_pixmap (SinglePhotoPage* self, gint width, gint height); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +gboolean dimensions_has_area (Dimensions *self); +void dimensions_get_scaled_proportional (Dimensions *self, Dimensions* viewport, Dimensions* result); +GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp); +void parse_color (const gchar* spec, GdkRGBA* result); +void transition_clock_start (TransitionClock* self, SpitTransitionsVisuals* visuals, SpitTransitionsDirection direction, gint duration_msec, TransitionClockRepaintCallback repaint, void* repaint_target); +SpitTransitionsDirection direction_to_transition_direction (Direction self); +static void _single_photo_page_repaint_pixmap_transition_clock_repaint_callback (gpointer self); +static gboolean single_photo_page_real_on_context_keypress (Page* base); +void single_photo_page_on_previous_photo (SinglePhotoPage* self); +static void single_photo_page_real_on_previous_photo (SinglePhotoPage* self); +void single_photo_page_on_next_photo (SinglePhotoPage* self); +static void single_photo_page_real_on_next_photo (SinglePhotoPage* self); +static gboolean single_photo_page_real_key_press_event (GtkWidget* base, GdkEventKey* event); +static void single_photo_page_finalize (GObject* obj); +gpointer drag_and_drop_handler_ref (gpointer instance); +void drag_and_drop_handler_unref (gpointer instance); +GParamSpec* param_spec_drag_and_drop_handler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_drag_and_drop_handler (GValue* value, gpointer v_object); +void value_take_drag_and_drop_handler (GValue* value, gpointer v_object); +gpointer value_get_drag_and_drop_handler (const GValue* value); +GType drag_and_drop_handler_get_type (void) G_GNUC_CONST; +gpointer exporter_ui_ref (gpointer instance); +void exporter_ui_unref (gpointer instance); +GParamSpec* param_spec_exporter_ui (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_exporter_ui (GValue* value, gpointer v_object); +void value_take_exporter_ui (GValue* value, gpointer v_object); +gpointer value_get_exporter_ui (const GValue* value); +GType exporter_ui_get_type (void) G_GNUC_CONST; +#define DRAG_AND_DROP_HANDLER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerPrivate)) +enum { + DRAG_AND_DROP_HANDLER_DUMMY_PROPERTY +}; +static void drag_and_drop_handler_on_drag_begin (DragAndDropHandler* self, GdkDragContext* context); +static void _drag_and_drop_handler_on_drag_begin_gtk_widget_drag_begin (GtkWidget* _sender, GdkDragContext* context, gpointer self); +static void drag_and_drop_handler_on_drag_data_get (DragAndDropHandler* self, GdkDragContext* context, GtkSelectionData* selection_data, guint target_type, guint time); +static void _drag_and_drop_handler_on_drag_data_get_gtk_widget_drag_data_get (GtkWidget* _sender, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time_, gpointer self); +static void drag_and_drop_handler_on_drag_end (DragAndDropHandler* self); +static void _drag_and_drop_handler_on_drag_end_gtk_widget_drag_end (GtkWidget* _sender, GdkDragContext* context, gpointer self); +static gboolean drag_and_drop_handler_on_drag_failed (DragAndDropHandler* self, GdkDragContext* context, GtkDragResult drag_result); +static gboolean _drag_and_drop_handler_on_drag_failed_gtk_widget_drag_failed (GtkWidget* _sender, GdkDragContext* context, GtkDragResult _result_, gpointer self); +static GType drag_and_drop_handler_target_type_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +DragAndDropHandler* drag_and_drop_handler_new (Page* page); +DragAndDropHandler* drag_and_drop_handler_construct (GType object_type, Page* page); +static GdkAtom* _gdk_atom_dup (GdkAtom* self); +guchar* string_to_uchar_array (const gchar* str, int* result_length1); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +DataSource* data_view_get_source (DataView* self); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +#define APP_WINDOW_DND_ICON_SCALE 128 +gchar* data_object_to_string (DataObject* self); +gchar* uchar_array_to_string (guchar* data, int data_length1, gint length); +GType media_source_get_type (void) G_GNUC_CONST; +GeeList* view_collection_get_selected_sources (ViewCollection* self); +guchar* serialize_media_sources (GeeCollection* media, int* result_length1); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +void scaling_for_original (Scaling* result); +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +void export_format_parameters_current (ExportFormatParameters* result); +Exporter* exporter_new (GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +Exporter* exporter_construct (GType object_type, GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +GType exporter_get_type (void) G_GNUC_CONST; +ExporterUI* exporter_ui_new (Exporter* exporter); +ExporterUI* exporter_ui_construct (GType object_type, Exporter* exporter); +void exporter_ui_export (ExporterUI* self, ExporterCompletionCallback completion_callback, void* completion_callback_target); +static void drag_and_drop_handler_on_export_completed (DragAndDropHandler* self); +static void _drag_and_drop_handler_on_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self); +static void drag_and_drop_handler_finalize (DragAndDropHandler* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +static const GtkTargetEntry DRAG_AND_DROP_HANDLER_SOURCE_TARGET_ENTRIES[2] = {{"XdndDirectSave0", (guint) GTK_TARGET_OTHER_APP, (guint) DRAG_AND_DROP_HANDLER_TARGET_TYPE_XDS}, {"shotwell/media-id-atom", (guint) GTK_TARGET_SAME_APP, (guint) DRAG_AND_DROP_HANDLER_TARGET_TYPE_MEDIA_LIST}}; + +InjectionGroup* injection_group_construct (GType object_type, const gchar* path) { + InjectionGroup* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 24 "/home/jens/Source/shotwell/src/Page.vala" + self = (InjectionGroup*) g_type_create_instance (object_type); +#line 25 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = path; +#line 25 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 25 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->path); +#line 25 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->path = _tmp1_; +#line 24 "/home/jens/Source/shotwell/src/Page.vala" + return self; +#line 1509 "Page.c" +} + + +InjectionGroup* injection_group_new (const gchar* path) { +#line 24 "/home/jens/Source/shotwell/src/Page.vala" + return injection_group_construct (TYPE_INJECTION_GROUP, path); +#line 1516 "Page.c" +} + + +gchar* injection_group_get_path (InjectionGroup* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_INJECTION_GROUP (self), NULL); +#line 29 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->path; +#line 29 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 29 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 29 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 1534 "Page.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 33 "/home/jens/Source/shotwell/src/Page.vala" + return self ? g_object_ref (self) : NULL; +#line 1541 "Page.c" +} + + +GeeList* injection_group_get_elements (InjectionGroup* self) { + GeeList* result = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_INJECTION_GROUP (self), NULL); +#line 33 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->elements; +#line 33 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList)); +#line 33 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 33 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 1559 "Page.c" +} + + +void injection_group_add_menu_item (InjectionGroup* self, const gchar* name, const gchar* action) { + GeeArrayList* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + InjectionGroupElement* _tmp3_ = NULL; + InjectionGroupElement* _tmp4_ = NULL; +#line 36 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_INJECTION_GROUP (self)); +#line 36 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 37 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->elements; +#line 37 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = name; +#line 37 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 37 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = injection_group_element_new (_tmp1_, _tmp2_, GTK_UI_MANAGER_MENUITEM); +#line 37 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 37 "/home/jens/Source/shotwell/src/Page.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 37 "/home/jens/Source/shotwell/src/Page.vala" + _injection_group_element_unref0 (_tmp4_); +#line 1587 "Page.c" +} + + +void injection_group_add_menu (InjectionGroup* self, const gchar* name, const gchar* action) { + GeeArrayList* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + InjectionGroupElement* _tmp3_ = NULL; + InjectionGroupElement* _tmp4_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_INJECTION_GROUP (self)); +#line 40 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 41 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->elements; +#line 41 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = name; +#line 41 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 41 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = injection_group_element_new (_tmp1_, _tmp2_, GTK_UI_MANAGER_MENU); +#line 41 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 41 "/home/jens/Source/shotwell/src/Page.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 41 "/home/jens/Source/shotwell/src/Page.vala" + _injection_group_element_unref0 (_tmp4_); +#line 1615 "Page.c" +} + + +void injection_group_add_separator (InjectionGroup* self) { + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + InjectionGroupElement* _tmp4_ = NULL; + InjectionGroupElement* _tmp5_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_INJECTION_GROUP (self)); +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->elements; +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->separator_id; +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->separator_id = _tmp1_ + 1; +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = g_strdup_printf ("%d-separator", _tmp1_); +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = injection_group_element_new (_tmp3_, NULL, GTK_UI_MANAGER_SEPARATOR); +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp5_); +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + _injection_group_element_unref0 (_tmp5_); +#line 45 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp3_); +#line 1648 "Page.c" +} + + +InjectionGroupElement* injection_group_element_construct (GType object_type, const gchar* name, const gchar* action, GtkUIManagerItemType kind) { + InjectionGroupElement* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp6_ = NULL; + GtkUIManagerItemType _tmp7_ = 0; +#line 13 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/Page.vala" + self = (InjectionGroupElement*) g_type_create_instance (object_type); +#line 14 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 14 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 14 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->name); +#line 14 "/home/jens/Source/shotwell/src/Page.vala" + self->name = _tmp1_; +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_ != NULL) { +#line 1676 "Page.c" + const gchar* _tmp4_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = action; +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp4_; +#line 1682 "Page.c" + } else { + const gchar* _tmp5_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = name; +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp5_; +#line 1689 "Page.c" + } +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = g_strdup (_tmp2_); +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->action); +#line 15 "/home/jens/Source/shotwell/src/Page.vala" + self->action = _tmp6_; +#line 16 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = kind; +#line 16 "/home/jens/Source/shotwell/src/Page.vala" + self->kind = _tmp7_; +#line 13 "/home/jens/Source/shotwell/src/Page.vala" + return self; +#line 1703 "Page.c" +} + + +InjectionGroupElement* injection_group_element_new (const gchar* name, const gchar* action, GtkUIManagerItemType kind) { +#line 13 "/home/jens/Source/shotwell/src/Page.vala" + return injection_group_element_construct (INJECTION_GROUP_TYPE_ELEMENT, name, action, kind); +#line 1710 "Page.c" +} + + +static void injection_group_value_element_init (GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 1717 "Page.c" +} + + +static void injection_group_value_element_free_value (GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_element_unref (value->data[0].v_pointer); +#line 1726 "Page.c" + } +} + + +static void injection_group_value_element_copy_value (const GValue* src_value, GValue* dest_value) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (src_value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + dest_value->data[0].v_pointer = injection_group_element_ref (src_value->data[0].v_pointer); +#line 1736 "Page.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + dest_value->data[0].v_pointer = NULL; +#line 1740 "Page.c" + } +} + + +static gpointer injection_group_value_element_peek_pointer (const GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return value->data[0].v_pointer; +#line 1748 "Page.c" +} + + +static gchar* injection_group_value_element_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (collect_values[0].v_pointer) { +#line 1755 "Page.c" + InjectionGroupElement* object; + object = collect_values[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (object->parent_instance.g_class == NULL) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1762 "Page.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1766 "Page.c" + } +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = injection_group_element_ref (object); +#line 1770 "Page.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 1774 "Page.c" + } +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return NULL; +#line 1778 "Page.c" +} + + +static gchar* injection_group_value_element_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + InjectionGroupElement** object_p; + object_p = collect_values[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (!object_p) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1789 "Page.c" + } +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (!value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = NULL; +#line 1795 "Page.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = value->data[0].v_pointer; +#line 1799 "Page.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = injection_group_element_ref (value->data[0].v_pointer); +#line 1803 "Page.c" + } +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return NULL; +#line 1807 "Page.c" +} + + +GParamSpec* injection_group_param_spec_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + InjectionGroupParamSpecElement* spec; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (g_type_is_a (object_type, INJECTION_GROUP_TYPE_ELEMENT), NULL); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return G_PARAM_SPEC (spec); +#line 1821 "Page.c" +} + + +gpointer injection_group_value_get_element (const GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, INJECTION_GROUP_TYPE_ELEMENT), NULL); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return value->data[0].v_pointer; +#line 1830 "Page.c" +} + + +void injection_group_value_set_element (GValue* value, gpointer v_object) { + InjectionGroupElement* old; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, INJECTION_GROUP_TYPE_ELEMENT)); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + old = value->data[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (v_object) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, INJECTION_GROUP_TYPE_ELEMENT)); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = v_object; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_element_ref (value->data[0].v_pointer); +#line 1850 "Page.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 1854 "Page.c" + } +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (old) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_element_unref (old); +#line 1860 "Page.c" + } +} + + +void injection_group_value_take_element (GValue* value, gpointer v_object) { + InjectionGroupElement* old; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, INJECTION_GROUP_TYPE_ELEMENT)); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + old = value->data[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (v_object) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, INJECTION_GROUP_TYPE_ELEMENT)); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = v_object; +#line 1879 "Page.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 1883 "Page.c" + } +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (old) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_element_unref (old); +#line 1889 "Page.c" + } +} + + +static void injection_group_element_class_init (InjectionGroupElementClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_element_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + ((InjectionGroupElementClass *) klass)->finalize = injection_group_element_finalize; +#line 1899 "Page.c" +} + + +static void injection_group_element_instance_init (InjectionGroupElement * self) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + self->ref_count = 1; +#line 1906 "Page.c" +} + + +static void injection_group_element_finalize (InjectionGroupElement* obj) { + InjectionGroupElement * self; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, INJECTION_GROUP_TYPE_ELEMENT, InjectionGroupElement); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_destroy (self); +#line 9 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->name); +#line 10 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->action); +#line 1920 "Page.c" +} + + +GType injection_group_element_get_type (void) { + static volatile gsize injection_group_element_type_id__volatile = 0; + if (g_once_init_enter (&injection_group_element_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { injection_group_value_element_init, injection_group_value_element_free_value, injection_group_value_element_copy_value, injection_group_value_element_peek_pointer, "p", injection_group_value_element_collect_value, "p", injection_group_value_element_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (InjectionGroupElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) injection_group_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (InjectionGroupElement), 0, (GInstanceInitFunc) injection_group_element_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType injection_group_element_type_id; + injection_group_element_type_id = g_type_register_fundamental (g_type_fundamental_next (), "InjectionGroupElement", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&injection_group_element_type_id__volatile, injection_group_element_type_id); + } + return injection_group_element_type_id__volatile; +} + + +gpointer injection_group_element_ref (gpointer instance) { + InjectionGroupElement* self; + self = instance; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_atomic_int_inc (&self->ref_count); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + return instance; +#line 1945 "Page.c" +} + + +void injection_group_element_unref (gpointer instance) { + InjectionGroupElement* self; + self = instance; +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + INJECTION_GROUP_ELEMENT_GET_CLASS (self)->finalize (self); +#line 8 "/home/jens/Source/shotwell/src/Page.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1958 "Page.c" + } +} + + +static void value_injection_group_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 1966 "Page.c" +} + + +static void value_injection_group_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_unref (value->data[0].v_pointer); +#line 1975 "Page.c" + } +} + + +static void value_injection_group_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + dest_value->data[0].v_pointer = injection_group_ref (src_value->data[0].v_pointer); +#line 1985 "Page.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + dest_value->data[0].v_pointer = NULL; +#line 1989 "Page.c" + } +} + + +static gpointer value_injection_group_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return value->data[0].v_pointer; +#line 1997 "Page.c" +} + + +static gchar* value_injection_group_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (collect_values[0].v_pointer) { +#line 2004 "Page.c" + InjectionGroup* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2011 "Page.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2015 "Page.c" + } +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = injection_group_ref (object); +#line 2019 "Page.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 2023 "Page.c" + } +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return NULL; +#line 2027 "Page.c" +} + + +static gchar* value_injection_group_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + InjectionGroup** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2038 "Page.c" + } +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = NULL; +#line 2044 "Page.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = value->data[0].v_pointer; +#line 2048 "Page.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = injection_group_ref (value->data[0].v_pointer); +#line 2052 "Page.c" + } +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return NULL; +#line 2056 "Page.c" +} + + +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecInjectionGroup* spec; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_INJECTION_GROUP), NULL); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return G_PARAM_SPEC (spec); +#line 2070 "Page.c" +} + + +gpointer value_get_injection_group (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INJECTION_GROUP), NULL); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return value->data[0].v_pointer; +#line 2079 "Page.c" +} + + +void value_set_injection_group (GValue* value, gpointer v_object) { + InjectionGroup* old; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INJECTION_GROUP)); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_INJECTION_GROUP)); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_ref (value->data[0].v_pointer); +#line 2099 "Page.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 2103 "Page.c" + } +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_unref (old); +#line 2109 "Page.c" + } +} + + +void value_take_injection_group (GValue* value, gpointer v_object) { + InjectionGroup* old; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_INJECTION_GROUP)); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_INJECTION_GROUP)); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = v_object; +#line 2128 "Page.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 2132 "Page.c" + } +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_unref (old); +#line 2138 "Page.c" + } +} + + +static void injection_group_class_init (InjectionGroupClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + injection_group_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + ((InjectionGroupClass *) klass)->finalize = injection_group_finalize; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_type_class_add_private (klass, sizeof (InjectionGroupPrivate)); +#line 2150 "Page.c" +} + + +static void injection_group_instance_init (InjectionGroup * self) { + GeeArrayList* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + self->priv = INJECTION_GROUP_GET_PRIVATE (self); +#line 21 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = gee_array_list_new (INJECTION_GROUP_TYPE_ELEMENT, (GBoxedCopyFunc) injection_group_element_ref, injection_group_element_unref, NULL, NULL, NULL); +#line 21 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->elements = _tmp0_; +#line 22 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->separator_id = 0; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + self->ref_count = 1; +#line 2166 "Page.c" +} + + +static void injection_group_finalize (InjectionGroup* obj) { + InjectionGroup * self; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_INJECTION_GROUP, InjectionGroup); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_destroy (self); +#line 20 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->path); +#line 21 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->elements); +#line 2180 "Page.c" +} + + +GType injection_group_get_type (void) { + static volatile gsize injection_group_type_id__volatile = 0; + if (g_once_init_enter (&injection_group_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_injection_group_init, value_injection_group_free_value, value_injection_group_copy_value, value_injection_group_peek_pointer, "p", value_injection_group_collect_value, "p", value_injection_group_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (InjectionGroupClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) injection_group_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (InjectionGroup), 0, (GInstanceInitFunc) injection_group_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType injection_group_type_id; + injection_group_type_id = g_type_register_fundamental (g_type_fundamental_next (), "InjectionGroup", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&injection_group_type_id__volatile, injection_group_type_id); + } + return injection_group_type_id__volatile; +} + + +gpointer injection_group_ref (gpointer instance) { + InjectionGroup* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + return instance; +#line 2205 "Page.c" +} + + +void injection_group_unref (gpointer instance) { + InjectionGroup* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + INJECTION_GROUP_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/Page.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2218 "Page.c" + } +} + + +static gboolean _page_on_context_keypress_gtk_widget_popup_menu (GtkWidget* _sender, gpointer self) { + gboolean result; + result = page_on_context_keypress ((Page*) self); +#line 93 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2228 "Page.c" +} + + +static void _page_attach_view_signals_gtk_widget_realize (GtkWidget* _sender, gpointer self) { +#line 97 "/home/jens/Source/shotwell/src/Page.vala" + page_attach_view_signals ((Page*) self); +#line 2235 "Page.c" +} + + +Page* page_construct (GType object_type, const gchar* page_name) { + Page * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GdkPoint _tmp6_ = {0}; +#line 84 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (page_name != NULL, NULL); +#line 84 "/home/jens/Source/shotwell/src/Page.vala" + self = (Page*) g_object_new (object_type, NULL); +#line 85 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_name; +#line 85 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 85 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->page_name); +#line 85 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->page_name = _tmp1_; +#line 87 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_name; +#line 87 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = g_strdup_printf ("ViewCollection for Page %s", _tmp2_); +#line 87 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 87 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = view_collection_new (_tmp4_); +#line 87 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (self->priv->view); +#line 87 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->view = _tmp5_; +#line 87 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp4_); +#line 89 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_.x = -1; +#line 89 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_.y = -1; +#line 89 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_down = _tmp6_; +#line 91 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), TRUE); +#line 93 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "popup-menu", (GCallback) _page_on_context_keypress_gtk_widget_popup_menu, self, 0); +#line 95 "/home/jens/Source/shotwell/src/Page.vala" + page_init_ui (self); +#line 97 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "realize", (GCallback) _page_attach_view_signals_gtk_widget_realize, self, 0); +#line 84 "/home/jens/Source/shotwell/src/Page.vala" + return self; +#line 2290 "Page.c" +} + + +static void page_real_destroy (GtkWidget* base) { + Page * self; + gboolean _tmp0_ = FALSE; + ViewCollection* _tmp1_ = NULL; + GtkToolbar* _tmp2_ = NULL; + OneShotScheduler* _tmp4_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PAGE, Page); +#line 109 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->is_destroyed; +#line 109 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 110 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 2310 "Page.c" + } +#line 113 "/home/jens/Source/shotwell/src/Page.vala" + page_detach_event_source (self); +#line 114 "/home/jens/Source/shotwell/src/Page.vala" + page_detach_view_signals (self); +#line 115 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->view; +#line 115 "/home/jens/Source/shotwell/src/Page.vala" + data_collection_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 118 "/home/jens/Source/shotwell/src/Page.vala" + page_clear_container (self); +#line 120 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->toolbar; +#line 120 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 2326 "Page.c" + GtkToolbar* _tmp3_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->toolbar; +#line 121 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 2332 "Page.c" + } +#line 124 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->update_actions_scheduler; +#line 124 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_ != NULL) { +#line 2338 "Page.c" + OneShotScheduler* _tmp5_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->update_actions_scheduler; +#line 125 "/home/jens/Source/shotwell/src/Page.vala" + one_shot_scheduler_cancel (_tmp5_); +#line 2344 "Page.c" + } +#line 127 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->is_destroyed = TRUE; +#line 129 "/home/jens/Source/shotwell/src/Page.vala" + GTK_WIDGET_CLASS (page_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow), gtk_widget_get_type (), GtkWidget)); +#line 131 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = page_get_page_name (self); +#line 131 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_; +#line 131 "/home/jens/Source/shotwell/src/Page.vala" + g_debug ("Page.vala:131: Page %s Destroyed", _tmp7_); +#line 131 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp7_); +#line 2358 "Page.c" +} + + +gchar* page_get_page_name (Page* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 135 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->page_name; +#line 135 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 135 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 135 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2376 "Page.c" +} + + +static void page_real_set_page_name (Page* self, const gchar* page_name) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (page_name != NULL); +#line 139 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_name; +#line 139 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 139 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->page_name); +#line 139 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->page_name = _tmp1_; +#line 2393 "Page.c" +} + + +void page_set_page_name (Page* self, const gchar* page_name) { +#line 138 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 138 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->set_page_name (self, page_name); +#line 2402 "Page.c" +} + + +gchar* page_to_string (Page* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 143 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->page_name; +#line 143 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 143 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 143 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2420 "Page.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 147 "/home/jens/Source/shotwell/src/Page.vala" + return self ? data_collection_ref (self) : NULL; +#line 2427 "Page.c" +} + + +ViewCollection* page_get_view (Page* self) { + ViewCollection* result = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 147 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->view; +#line 147 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 147 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 147 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2445 "Page.c" +} + + +GtkWindow* page_get_container (Page* self) { + GtkWindow* result = NULL; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 151 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->container; +#line 151 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 151 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 151 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2463 "Page.c" +} + + +static void page_real_set_container (Page* self, GtkWindow* container) { + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GtkWindow* _tmp2_ = NULL; + GtkWindow* _tmp3_ = NULL; + GtkUIManager* _tmp4_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GTK_IS_WINDOW (container)); +#line 155 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->container; +#line 155 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp0_ == NULL, "this.container == null"); +#line 157 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = container; +#line 157 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 157 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->container); +#line 157 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->container = _tmp2_; +#line 158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = container; +#line 158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_window_get_ui_manager (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PAGE_WINDOW, PageWindow)); +#line 158 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->ui); +#line 158 "/home/jens/Source/shotwell/src/Page.vala" + self->ui = _tmp4_; +#line 2495 "Page.c" +} + + +void page_set_container (Page* self, GtkWindow* container) { +#line 154 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 154 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->set_container (self, container); +#line 2504 "Page.c" +} + + +static void page_real_clear_container (Page* self) { +#line 162 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->container); +#line 162 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->container = NULL; +#line 2513 "Page.c" +} + + +void page_clear_container (Page* self) { +#line 161 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 161 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->clear_container (self); +#line 2522 "Page.c" +} + + +static gboolean _page_on_button_pressed_internal_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = page_on_button_pressed_internal ((Page*) self, event); +#line 176 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2531 "Page.c" +} + + +static gboolean _page_on_button_released_internal_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = page_on_button_released_internal ((Page*) self, event); +#line 177 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2540 "Page.c" +} + + +static gboolean _page_on_motion_internal_gtk_widget_motion_notify_event (GtkWidget* _sender, GdkEventMotion* event, gpointer self) { + gboolean result; + result = page_on_motion_internal ((Page*) self, event); +#line 178 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2549 "Page.c" +} + + +static gboolean _page_on_leave_notify_event_gtk_widget_leave_notify_event (GtkWidget* _sender, GdkEventCrossing* event, gpointer self) { + gboolean result; + result = page_on_leave_notify_event ((Page*) self); +#line 179 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2558 "Page.c" +} + + +static gboolean _page_on_mousewheel_internal_gtk_widget_scroll_event (GtkWidget* _sender, GdkEventScroll* event, gpointer self) { + gboolean result; + result = page_on_mousewheel_internal ((Page*) self, event); +#line 180 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2567 "Page.c" +} + + +static void _page_on_event_source_realize_gtk_widget_realize (GtkWidget* _sender, gpointer self) { +#line 181 "/home/jens/Source/shotwell/src/Page.vala" + page_on_event_source_realize ((Page*) self); +#line 2574 "Page.c" +} + + +void page_set_event_source (Page* self, GtkWidget* event_source) { + GtkWidget* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + GtkWidget* _tmp3_ = NULL; + GtkWidget* _tmp4_ = NULL; + GtkWidget* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; + GtkWidget* _tmp7_ = NULL; + GtkWidget* _tmp8_ = NULL; + GtkWidget* _tmp9_ = NULL; + GtkWidget* _tmp10_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 165 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GTK_IS_WIDGET (event_source)); +#line 166 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->event_source; +#line 166 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp0_ == NULL, "this.event_source == null"); +#line 168 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = event_source; +#line 168 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 168 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->event_source); +#line 168 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->event_source = _tmp2_; +#line 169 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = event_source; +#line 169 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_set_can_focus (_tmp3_, TRUE); +#line 172 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = event_source; +#line 172 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_add_events (_tmp4_, (gint) ((((((GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK) | GDK_POINTER_MOTION_MASK) | GDK_POINTER_MOTION_HINT_MASK) | GDK_BUTTON_MOTION_MASK) | GDK_LEAVE_NOTIFY_MASK) | GDK_SCROLL_MASK)); +#line 176 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = event_source; +#line 176 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp5_, "button-press-event", (GCallback) _page_on_button_pressed_internal_gtk_widget_button_press_event, self, 0); +#line 177 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = event_source; +#line 177 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp6_, "button-release-event", (GCallback) _page_on_button_released_internal_gtk_widget_button_release_event, self, 0); +#line 178 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = event_source; +#line 178 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp7_, "motion-notify-event", (GCallback) _page_on_motion_internal_gtk_widget_motion_notify_event, self, 0); +#line 179 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = event_source; +#line 179 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp8_, "leave-notify-event", (GCallback) _page_on_leave_notify_event_gtk_widget_leave_notify_event, self, 0); +#line 180 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = event_source; +#line 180 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp9_, "scroll-event", (GCallback) _page_on_mousewheel_internal_gtk_widget_scroll_event, self, 0); +#line 181 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = event_source; +#line 181 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp10_, "realize", (GCallback) _page_on_event_source_realize_gtk_widget_realize, self, 0); +#line 2638 "Page.c" +} + + +static void page_detach_event_source (Page* self) { + GtkWidget* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + guint _tmp2_ = 0U; + GtkWidget* _tmp3_ = NULL; + guint _tmp4_ = 0U; + GtkWidget* _tmp5_ = NULL; + guint _tmp6_ = 0U; + GtkWidget* _tmp7_ = NULL; + guint _tmp8_ = 0U; + GtkWidget* _tmp9_ = NULL; + guint _tmp10_ = 0U; +#line 184 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 185 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->event_source; +#line 185 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ == NULL) { +#line 186 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 2662 "Page.c" + } +#line 188 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->event_source; +#line 188 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("button-press-event", gtk_widget_get_type (), &_tmp2_, NULL, FALSE); +#line 188 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _page_on_button_pressed_internal_gtk_widget_button_press_event, self); +#line 189 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->event_source; +#line 189 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("button-release-event", gtk_widget_get_type (), &_tmp4_, NULL, FALSE); +#line 189 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _page_on_button_released_internal_gtk_widget_button_release_event, self); +#line 190 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->event_source; +#line 190 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("motion-notify-event", gtk_widget_get_type (), &_tmp6_, NULL, FALSE); +#line 190 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _page_on_motion_internal_gtk_widget_motion_notify_event, self); +#line 191 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->event_source; +#line 191 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("leave-notify-event", gtk_widget_get_type (), &_tmp8_, NULL, FALSE); +#line 191 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp7_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _page_on_leave_notify_event_gtk_widget_leave_notify_event, self); +#line 192 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->event_source; +#line 192 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("scroll-event", gtk_widget_get_type (), &_tmp10_, NULL, FALSE); +#line 192 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _page_on_mousewheel_internal_gtk_widget_scroll_event, self); +#line 194 "/home/jens/Source/shotwell/src/Page.vala" + page_disable_drag_source (self); +#line 196 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->event_source); +#line 196 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->event_source = NULL; +#line 2700 "Page.c" +} + + +GtkWidget* page_get_event_source (Page* self) { + GtkWidget* result = NULL; + GtkWidget* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 200 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->event_source; +#line 200 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 200 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 200 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2718 "Page.c" +} + + +static GtkMenuBar* page_real_get_menubar (Page* self) { + GtkMenuBar* result = NULL; + GtkMenuBar* menubar = NULL; + GtkUIManager* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GtkMenuBar* _tmp2_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->ui; +#line 204 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = gtk_ui_manager_get_widget (_tmp0_, "/MenuBar"); +#line 204 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_menu_bar_get_type ()) ? ((GtkMenuBar*) _tmp1_) : NULL); +#line 204 "/home/jens/Source/shotwell/src/Page.vala" + menubar = _tmp2_; +#line 205 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (menubar != NULL, "menubar != null"); +#line 207 "/home/jens/Source/shotwell/src/Page.vala" + result = menubar; +#line 207 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2742 "Page.c" +} + + +GtkMenuBar* page_get_menubar (Page* self) { +#line 203 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 203 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->get_menubar (self); +#line 2751 "Page.c" +} + + +static GtkWidget* page_real_get_page_ui_widget (Page* self, const gchar* path) { + GtkWidget* result = NULL; + GtkUIManager* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 211 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->ui; +#line 211 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = path; +#line 211 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = gtk_ui_manager_get_widget (_tmp0_, _tmp1_); +#line 211 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp2_; +#line 211 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2772 "Page.c" +} + + +GtkWidget* page_get_page_ui_widget (Page* self, const gchar* path) { +#line 210 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 210 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->get_page_ui_widget (self, path); +#line 2781 "Page.c" +} + + +static GtkToolbar* page_real_get_toolbar (Page* self) { + GtkToolbar* result = NULL; + GtkToolbar* _tmp0_ = NULL; + GtkToolbar* _tmp12_ = NULL; + GtkToolbar* _tmp13_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->toolbar; +#line 215 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ == NULL) { +#line 2794 "Page.c" + GtkToolbar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GtkToolbar* _tmp8_ = NULL; + GtkToolbar* _tmp9_ = NULL; + GtkStyleContext* _tmp10_ = NULL; + GtkToolbar* _tmp11_ = NULL; +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->toolbar_path; +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ == NULL) { +#line 2805 "Page.c" + GtkToolbar* _tmp3_ = NULL; +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = (GtkToolbar*) gtk_toolbar_new (); +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + g_object_ref_sink (_tmp3_); +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp1_); +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp3_; +#line 2815 "Page.c" + } else { + GtkUIManager* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; + GtkToolbar* _tmp7_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->ui; +#line 217 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->toolbar_path; +#line 217 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = gtk_ui_manager_get_widget (_tmp4_, _tmp5_); +#line 217 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, gtk_toolbar_get_type ()) ? ((GtkToolbar*) _tmp6_) : NULL); +#line 217 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp1_); +#line 217 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp7_; +#line 2833 "Page.c" + } +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _g_object_ref0 (_tmp1_); +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->toolbar); +#line 216 "/home/jens/Source/shotwell/src/Page.vala" + self->toolbar = _tmp8_; +#line 218 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->toolbar; +#line 218 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 218 "/home/jens/Source/shotwell/src/Page.vala" + gtk_style_context_add_class (_tmp10_, "bottom-toolbar"); +#line 219 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->toolbar; +#line 219 "/home/jens/Source/shotwell/src/Page.vala" + gtk_toolbar_set_icon_size (_tmp11_, GTK_ICON_SIZE_SMALL_TOOLBAR); +#line 215 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp1_); +#line 2853 "Page.c" + } +#line 221 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->toolbar; +#line 221 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 221 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp13_; +#line 221 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2863 "Page.c" +} + + +GtkToolbar* page_get_toolbar (Page* self) { +#line 214 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 214 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->get_toolbar (self); +#line 2872 "Page.c" +} + + +static GtkMenu* page_real_get_page_context_menu (Page* self) { + GtkMenu* result = NULL; +#line 225 "/home/jens/Source/shotwell/src/Page.vala" + result = NULL; +#line 225 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2882 "Page.c" +} + + +GtkMenu* page_get_page_context_menu (Page* self) { +#line 224 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 224 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->get_page_context_menu (self); +#line 2891 "Page.c" +} + + +static void page_real_switching_from (Page* self) { + const gchar* _tmp0_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/Page.vala" + self->in_view = FALSE; +#line 230 "/home/jens/Source/shotwell/src/Page.vala" + page_remove_ui (self); +#line 231 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->toolbar_path; +#line 231 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ != NULL) { +#line 232 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->toolbar); +#line 232 "/home/jens/Source/shotwell/src/Page.vala" + self->toolbar = NULL; +#line 2909 "Page.c" + } +} + + +void page_switching_from (Page* self) { +#line 228 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 228 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->switching_from (self); +#line 2919 "Page.c" +} + + +static void page_real_switched_to (Page* self) { +#line 236 "/home/jens/Source/shotwell/src/Page.vala" + self->in_view = TRUE; +#line 237 "/home/jens/Source/shotwell/src/Page.vala" + page_add_ui (self); +#line 238 "/home/jens/Source/shotwell/src/Page.vala" + page_update_modifiers (self); +#line 2930 "Page.c" +} + + +void page_switched_to (Page* self) { +#line 235 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 235 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->switched_to (self); +#line 2939 "Page.c" +} + + +static void page_real_ready (Page* self) { +} + + +void page_ready (Page* self) { +#line 241 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 241 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->ready (self); +#line 2952 "Page.c" +} + + +gboolean page_is_in_view (Page* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 244 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 245 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->in_view; +#line 245 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp0_; +#line 245 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 2967 "Page.c" +} + + +static void page_real_switching_to_fullscreen (Page* self, FullscreenWindow* fsw) { +#line 248 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (fsw)); +#line 2974 "Page.c" +} + + +void page_switching_to_fullscreen (Page* self, FullscreenWindow* fsw) { +#line 248 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 248 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->switching_to_fullscreen (self, fsw); +#line 2983 "Page.c" +} + + +static void page_real_returning_from_fullscreen (Page* self, FullscreenWindow* fsw) { +#line 251 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (fsw)); +#line 2990 "Page.c" +} + + +void page_returning_from_fullscreen (Page* self, FullscreenWindow* fsw) { +#line 251 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 251 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->returning_from_fullscreen (self, fsw); +#line 2999 "Page.c" +} + + +GtkAction* page_get_action (Page* self, const gchar* name) { + GtkAction* result = NULL; + GtkActionGroup* _tmp0_ = NULL; + GtkAction* action = NULL; + GtkActionGroup* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GtkAction* _tmp3_ = NULL; + GtkAction* _tmp4_ = NULL; + GtkAction* _tmp5_ = NULL; + GtkAction* _tmp8_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 254 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 255 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->action_group; +#line 255 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ == NULL) { +#line 256 "/home/jens/Source/shotwell/src/Page.vala" + result = NULL; +#line 256 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3025 "Page.c" + } +#line 258 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->action_group; +#line 258 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = name; +#line 258 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gtk_action_group_get_action (_tmp1_, _tmp2_); +#line 258 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 258 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp4_; +#line 259 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = action; +#line 259 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp5_ == NULL) { +#line 3041 "Page.c" + const gchar* _tmp6_ = NULL; + GtkAction* _tmp7_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = name; +#line 260 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = page_get_common_action (self, _tmp6_, FALSE); +#line 260 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 260 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp7_; +#line 3052 "Page.c" + } +#line 262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = action; +#line 262 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp8_ == NULL) { +#line 3058 "Page.c" + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 263 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = page_get_page_name (self); +#line 263 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_; +#line 263 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = name; +#line 263 "/home/jens/Source/shotwell/src/Page.vala" + g_warning ("Page.vala:263: Page %s: Unable to locate action %s", _tmp10_, _tmp11_); +#line 263 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp10_); +#line 3072 "Page.c" + } +#line 265 "/home/jens/Source/shotwell/src/Page.vala" + result = action; +#line 265 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3078 "Page.c" +} + + +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 268 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 269 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 269 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_action (self, _tmp0_); +#line 269 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 270 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 270 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 3101 "Page.c" + GtkAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 271 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 271 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = sensitive; +#line 271 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_sensitive (_tmp3_, _tmp4_); +#line 3110 "Page.c" + } +#line 268 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3114 "Page.c" +} + + +void page_set_action_important (Page* self, const gchar* name, gboolean important) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 274 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 275 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 275 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_action (self, _tmp0_); +#line 275 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 276 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 276 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 3137 "Page.c" + GtkAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 277 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 277 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = important; +#line 277 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_is_important (_tmp3_, _tmp4_); +#line 3146 "Page.c" + } +#line 274 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3150 "Page.c" +} + + +void page_set_action_visible (Page* self, const gchar* name, gboolean visible) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + GtkAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GtkAction* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 280 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 280 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_action (self, _tmp0_); +#line 281 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 282 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 282 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ == NULL) { +#line 283 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 283 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 3181 "Page.c" + } +#line 285 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 285 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = visible; +#line 285 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_visible (_tmp3_, _tmp4_); +#line 286 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = action; +#line 286 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = visible; +#line 286 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_sensitive (_tmp5_, _tmp6_); +#line 280 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3197 "Page.c" +} + + +void page_set_action_short_label (Page* self, const gchar* name, const gchar* short_label) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 289 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 289 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 289 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (short_label != NULL); +#line 290 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 290 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_action (self, _tmp0_); +#line 290 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 291 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 291 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 3222 "Page.c" + GtkAction* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 292 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = short_label; +#line 292 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_short_label (_tmp3_, _tmp4_); +#line 3231 "Page.c" + } +#line 289 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3235 "Page.c" +} + + +void page_set_action_details (Page* self, const gchar* name, const gchar* label, const gchar* tooltip, gboolean sensitive) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp6_ = NULL; + GtkAction* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 295 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 295 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 296 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 296 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_action (self, _tmp0_); +#line 296 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 297 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ == NULL) { +#line 298 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 298 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 3266 "Page.c" + } +#line 300 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = label; +#line 300 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_ != NULL) { +#line 3272 "Page.c" + GtkAction* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 301 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = action; +#line 301 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = label; +#line 301 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_label (_tmp4_, _tmp5_); +#line 3281 "Page.c" + } +#line 303 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = tooltip; +#line 303 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp6_ != NULL) { +#line 3287 "Page.c" + GtkAction* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 304 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = action; +#line 304 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = tooltip; +#line 304 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_tooltip (_tmp7_, _tmp8_); +#line 3296 "Page.c" + } +#line 306 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = action; +#line 306 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = sensitive; +#line 306 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_sensitive (_tmp9_, _tmp10_); +#line 295 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3306 "Page.c" +} + + +void page_activate_action (Page* self, const gchar* name) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 309 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 309 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 310 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 310 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_action (self, _tmp0_); +#line 310 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 311 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 311 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 3329 "Page.c" + GtkAction* _tmp3_ = NULL; +#line 312 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 312 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_activate (_tmp3_); +#line 3335 "Page.c" + } +#line 309 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3339 "Page.c" +} + + +GtkAction* page_get_common_action (Page* self, const gchar* name, gboolean log_warning) { + GtkAction* result = NULL; + GtkActionGroup** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + GtkActionGroup** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gboolean _tmp8_ = FALSE; +#line 315 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 315 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 316 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->common_action_groups; +#line 316 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0__length1 = self->priv->common_action_groups_length1; +#line 316 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ == NULL) { +#line 317 "/home/jens/Source/shotwell/src/Page.vala" + result = NULL; +#line 317 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3364 "Page.c" + } +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->common_action_groups; +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1__length1 = self->priv->common_action_groups_length1; +#line 3370 "Page.c" + { + GtkActionGroup** group_collection = NULL; + gint group_collection_length1 = 0; + gint _group_collection_size_ = 0; + gint group_it = 0; +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + group_collection = _tmp1_; +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + group_collection_length1 = _tmp1__length1; +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + for (group_it = 0; group_it < _tmp1__length1; group_it = group_it + 1) { +#line 3382 "Page.c" + GtkActionGroup* _tmp2_ = NULL; + GtkActionGroup* group = NULL; +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _g_object_ref0 (group_collection[group_it]); +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + group = _tmp2_; +#line 3389 "Page.c" + { + GtkAction* action = NULL; + GtkActionGroup* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkAction* _tmp5_ = NULL; + GtkAction* _tmp6_ = NULL; + GtkAction* _tmp7_ = NULL; +#line 320 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = group; +#line 320 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = name; +#line 320 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = gtk_action_group_get_action (_tmp3_, _tmp4_); +#line 320 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 320 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp6_; +#line 321 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = action; +#line 321 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp7_ != NULL) { +#line 322 "/home/jens/Source/shotwell/src/Page.vala" + result = action; +#line 322 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (group); +#line 322 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3417 "Page.c" + } +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 319 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (group); +#line 3423 "Page.c" + } + } + } +#line 325 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = log_warning; +#line 325 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp8_) { +#line 3431 "Page.c" + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = page_get_page_name (self); +#line 326 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_; +#line 326 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = name; +#line 326 "/home/jens/Source/shotwell/src/Page.vala" + g_warning ("Page.vala:326: Page %s: Unable to locate common action %s", _tmp10_, _tmp11_); +#line 326 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp10_); +#line 3445 "Page.c" + } +#line 328 "/home/jens/Source/shotwell/src/Page.vala" + result = NULL; +#line 328 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3451 "Page.c" +} + + +void page_set_common_action_sensitive (Page* self, const gchar* name, gboolean sensitive) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 331 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 332 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 332 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_common_action (self, _tmp0_, TRUE); +#line 332 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 333 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 333 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 3474 "Page.c" + GtkAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 334 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 334 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = sensitive; +#line 334 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_sensitive (_tmp3_, _tmp4_); +#line 3483 "Page.c" + } +#line 331 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3487 "Page.c" +} + + +void page_set_common_action_label (Page* self, const gchar* name, const gchar* label) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 337 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 337 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (label != NULL); +#line 338 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 338 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_common_action (self, _tmp0_, TRUE); +#line 338 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 339 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 339 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 3512 "Page.c" + GtkAction* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 340 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = label; +#line 340 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_label (_tmp3_, _tmp4_); +#line 3521 "Page.c" + } +#line 337 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3525 "Page.c" +} + + +void page_set_common_action_important (Page* self, const gchar* name, gboolean important) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 343 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 343 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 344 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 344 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_common_action (self, _tmp0_, TRUE); +#line 344 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 345 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 345 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 3548 "Page.c" + GtkAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 346 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 346 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = important; +#line 346 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_set_is_important (_tmp3_, _tmp4_); +#line 3557 "Page.c" + } +#line 343 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3561 "Page.c" +} + + +void page_activate_common_action (Page* self, const gchar* name) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 349 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 350 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 350 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_common_action (self, _tmp0_, TRUE); +#line 350 "/home/jens/Source/shotwell/src/Page.vala" + action = _tmp1_; +#line 351 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = action; +#line 351 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 3584 "Page.c" + GtkAction* _tmp3_ = NULL; +#line 352 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action; +#line 352 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_activate (_tmp3_); +#line 3590 "Page.c" + } +#line 349 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (action); +#line 3594 "Page.c" +} + + +gboolean page_get_ctrl_pressed (Page* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 355 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 356 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->ctrl_pressed; +#line 356 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp0_; +#line 356 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3609 "Page.c" +} + + +gboolean page_get_alt_pressed (Page* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 359 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 360 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->alt_pressed; +#line 360 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp0_; +#line 360 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3624 "Page.c" +} + + +gboolean page_get_shift_pressed (Page* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 363 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 364 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->shift_pressed; +#line 364 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp0_; +#line 364 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3639 "Page.c" +} + + +gboolean page_get_super_pressed (Page* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 367 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 368 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->super_pressed; +#line 368 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp0_; +#line 368 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3654 "Page.c" +} + + +static gboolean page_get_modifiers (Page* self, gboolean* ctrl, gboolean* alt, gboolean* shift, gboolean* super) { + gboolean _vala_ctrl = FALSE; + gboolean _vala_alt = FALSE; + gboolean _vala_shift = FALSE; + gboolean _vala_super = FALSE; + gboolean result = FALSE; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + GdkWindow* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gint x = 0; + gint y = 0; + GdkModifierType mask = 0; + AppWindow* _tmp4_ = NULL; + AppWindow* _tmp5_ = NULL; + GdkWindow* _tmp6_ = NULL; + GdkDisplay* _tmp7_ = NULL; + GdkDeviceManager* _tmp8_ = NULL; + GdkDevice* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GdkModifierType _tmp12_ = 0; + GdkModifierType _tmp13_ = 0; + GdkModifierType _tmp14_ = 0; + GdkModifierType _tmp15_ = 0; + GdkModifierType _tmp16_ = 0; +#line 371 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 372 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = app_window_get_instance (); +#line 372 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 372 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 372 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_ == NULL; +#line 372 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp1_); +#line 372 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_) { +#line 373 "/home/jens/Source/shotwell/src/Page.vala" + _vala_ctrl = FALSE; +#line 374 "/home/jens/Source/shotwell/src/Page.vala" + _vala_alt = FALSE; +#line 375 "/home/jens/Source/shotwell/src/Page.vala" + _vala_shift = FALSE; +#line 376 "/home/jens/Source/shotwell/src/Page.vala" + _vala_super = FALSE; +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + if (ctrl) { +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + *ctrl = _vala_ctrl; +#line 3712 "Page.c" + } +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + if (alt) { +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + *alt = _vala_alt; +#line 3718 "Page.c" + } +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + if (shift) { +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + *shift = _vala_shift; +#line 3724 "Page.c" + } +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + if (super) { +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + *super = _vala_super; +#line 3730 "Page.c" + } +#line 378 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3734 "Page.c" + } +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = app_window_get_instance (); +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = gdk_display_get_default (); +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = gdk_display_get_device_manager (_tmp7_); +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = gdk_device_manager_get_client_pointer (_tmp8_); +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + gdk_window_get_device_position (_tmp6_, _tmp9_, &_tmp10_, &_tmp11_, &_tmp12_); +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + x = _tmp10_; +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + y = _tmp11_; +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + mask = _tmp12_; +#line 383 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp5_); +#line 386 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = mask; +#line 386 "/home/jens/Source/shotwell/src/Page.vala" + _vala_ctrl = (_tmp13_ & GDK_CONTROL_MASK) != 0; +#line 387 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = mask; +#line 387 "/home/jens/Source/shotwell/src/Page.vala" + _vala_alt = (_tmp14_ & GDK_MOD1_MASK) != 0; +#line 388 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = mask; +#line 388 "/home/jens/Source/shotwell/src/Page.vala" + _vala_shift = (_tmp15_ & GDK_SHIFT_MASK) != 0; +#line 389 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = mask; +#line 389 "/home/jens/Source/shotwell/src/Page.vala" + _vala_super = (_tmp16_ & GDK_MOD4_MASK) != 0; +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + if (ctrl) { +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + *ctrl = _vala_ctrl; +#line 3780 "Page.c" + } +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + if (alt) { +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + *alt = _vala_alt; +#line 3786 "Page.c" + } +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + if (shift) { +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + *shift = _vala_shift; +#line 3792 "Page.c" + } +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + if (super) { +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + *super = _vala_super; +#line 3798 "Page.c" + } +#line 391 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 3802 "Page.c" +} + + +static void page_update_modifiers (Page* self) { + gboolean ctrl_currently_pressed = FALSE; + gboolean alt_currently_pressed = FALSE; + gboolean shift_currently_pressed = FALSE; + gboolean super_currently_pressed = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean _tmp23_ = FALSE; + gboolean _tmp24_ = FALSE; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; + gboolean _tmp32_ = FALSE; +#line 394 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 397 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_get_modifiers (self, &_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_); +#line 397 "/home/jens/Source/shotwell/src/Page.vala" + ctrl_currently_pressed = _tmp0_; +#line 397 "/home/jens/Source/shotwell/src/Page.vala" + alt_currently_pressed = _tmp1_; +#line 397 "/home/jens/Source/shotwell/src/Page.vala" + shift_currently_pressed = _tmp2_; +#line 397 "/home/jens/Source/shotwell/src/Page.vala" + super_currently_pressed = _tmp3_; +#line 397 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp4_) { +#line 399 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 3844 "Page.c" + } +#line 402 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->ctrl_pressed; +#line 402 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp6_) { +#line 3850 "Page.c" + gboolean _tmp7_ = FALSE; +#line 402 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = ctrl_currently_pressed; +#line 402 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = !_tmp7_; +#line 3856 "Page.c" + } else { +#line 402 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = FALSE; +#line 3860 "Page.c" + } +#line 402 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp5_) { +#line 403 "/home/jens/Source/shotwell/src/Page.vala" + page_on_ctrl_released (self, NULL); +#line 3866 "Page.c" + } else { + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 404 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->ctrl_pressed; +#line 404 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp9_) { +#line 3874 "Page.c" + gboolean _tmp10_ = FALSE; +#line 404 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = ctrl_currently_pressed; +#line 404 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp10_; +#line 3880 "Page.c" + } else { +#line 404 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = FALSE; +#line 3884 "Page.c" + } +#line 404 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp8_) { +#line 405 "/home/jens/Source/shotwell/src/Page.vala" + page_on_ctrl_pressed (self, NULL); +#line 3890 "Page.c" + } + } +#line 407 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->priv->alt_pressed; +#line 407 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp12_) { +#line 3897 "Page.c" + gboolean _tmp13_ = FALSE; +#line 407 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = alt_currently_pressed; +#line 407 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = !_tmp13_; +#line 3903 "Page.c" + } else { +#line 407 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = FALSE; +#line 3907 "Page.c" + } +#line 407 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp11_) { +#line 408 "/home/jens/Source/shotwell/src/Page.vala" + page_on_alt_released (self, NULL); +#line 3913 "Page.c" + } else { + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; +#line 409 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = self->priv->alt_pressed; +#line 409 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp15_) { +#line 3921 "Page.c" + gboolean _tmp16_ = FALSE; +#line 409 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = alt_currently_pressed; +#line 409 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _tmp16_; +#line 3927 "Page.c" + } else { +#line 409 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = FALSE; +#line 3931 "Page.c" + } +#line 409 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp14_) { +#line 410 "/home/jens/Source/shotwell/src/Page.vala" + page_on_alt_pressed (self, NULL); +#line 3937 "Page.c" + } + } +#line 412 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = self->priv->shift_pressed; +#line 412 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp18_) { +#line 3944 "Page.c" + gboolean _tmp19_ = FALSE; +#line 412 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = shift_currently_pressed; +#line 412 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = !_tmp19_; +#line 3950 "Page.c" + } else { +#line 412 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = FALSE; +#line 3954 "Page.c" + } +#line 412 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp17_) { +#line 413 "/home/jens/Source/shotwell/src/Page.vala" + page_on_shift_released (self, NULL); +#line 3960 "Page.c" + } else { + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; +#line 414 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = self->priv->shift_pressed; +#line 414 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp21_) { +#line 3968 "Page.c" + gboolean _tmp22_ = FALSE; +#line 414 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = shift_currently_pressed; +#line 414 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp22_; +#line 3974 "Page.c" + } else { +#line 414 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = FALSE; +#line 3978 "Page.c" + } +#line 414 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp20_) { +#line 415 "/home/jens/Source/shotwell/src/Page.vala" + page_on_shift_pressed (self, NULL); +#line 3984 "Page.c" + } + } +#line 417 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = self->priv->super_pressed; +#line 417 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp24_) { +#line 3991 "Page.c" + gboolean _tmp25_ = FALSE; +#line 417 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = super_currently_pressed; +#line 417 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = !_tmp25_; +#line 3997 "Page.c" + } else { +#line 417 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = FALSE; +#line 4001 "Page.c" + } +#line 417 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp23_) { +#line 418 "/home/jens/Source/shotwell/src/Page.vala" + page_on_super_released (self, NULL); +#line 4007 "Page.c" + } else { + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; +#line 419 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = self->priv->super_pressed; +#line 419 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp27_) { +#line 4015 "Page.c" + gboolean _tmp28_ = FALSE; +#line 419 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = super_currently_pressed; +#line 419 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = _tmp28_; +#line 4021 "Page.c" + } else { +#line 419 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = FALSE; +#line 4025 "Page.c" + } +#line 419 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp26_) { +#line 420 "/home/jens/Source/shotwell/src/Page.vala" + page_on_super_pressed (self, NULL); +#line 4031 "Page.c" + } + } +#line 422 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = ctrl_currently_pressed; +#line 422 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->ctrl_pressed = _tmp29_; +#line 423 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = alt_currently_pressed; +#line 423 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->alt_pressed = _tmp30_; +#line 424 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = shift_currently_pressed; +#line 424 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->shift_pressed = _tmp31_; +#line 425 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = super_currently_pressed; +#line 425 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->super_pressed = _tmp32_; +#line 4050 "Page.c" +} + + +PageWindow* page_get_page_window (Page* self) { + PageWindow* result = NULL; + GtkWidget* p = NULL; + GtkContainer* _tmp0_ = NULL; + GtkContainer* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; +#line 428 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 429 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = gtk_widget_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 429 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 429 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 429 "/home/jens/Source/shotwell/src/Page.vala" + p = _tmp2_; +#line 430 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 4072 "Page.c" + GtkWidget* _tmp3_ = NULL; + GtkWidget* _tmp4_ = NULL; + GtkWidget* _tmp7_ = NULL; + GtkContainer* _tmp8_ = NULL; + GtkContainer* _tmp9_ = NULL; + GtkWidget* _tmp10_ = NULL; +#line 430 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = p; +#line 430 "/home/jens/Source/shotwell/src/Page.vala" + if (!(_tmp3_ != NULL)) { +#line 430 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 4085 "Page.c" + } +#line 431 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = p; +#line 431 "/home/jens/Source/shotwell/src/Page.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, TYPE_PAGE_WINDOW)) { +#line 4091 "Page.c" + GtkWidget* _tmp5_ = NULL; + PageWindow* _tmp6_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = p; +#line 432 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PAGE_WINDOW, PageWindow)); +#line 432 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp6_; +#line 432 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (p); +#line 432 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 4104 "Page.c" + } +#line 434 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = p; +#line 434 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = gtk_widget_get_parent (_tmp7_); +#line 434 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _tmp8_; +#line 434 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 434 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (p); +#line 434 "/home/jens/Source/shotwell/src/Page.vala" + p = _tmp10_; +#line 4118 "Page.c" + } +#line 437 "/home/jens/Source/shotwell/src/Page.vala" + result = NULL; +#line 437 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (p); +#line 437 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 4126 "Page.c" +} + + +CommandManager* page_get_command_manager (Page* self) { + CommandManager* result = NULL; + CommandManager* _tmp0_ = NULL; +#line 440 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 441 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = app_window_get_command_manager (); +#line 441 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp0_; +#line 441 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 4141 "Page.c" +} + + +static void page_init_ui (Page* self) { + GtkActionGroup* _tmp0_ = NULL; + GtkActionEntry* action_entries = NULL; + gint _tmp1_ = 0; + GtkActionEntry* _tmp2_ = NULL; + gint action_entries_length1 = 0; + gint _action_entries_size_ = 0; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkToggleActionEntry* toggle_entries = NULL; + gint _tmp6_ = 0; + GtkToggleActionEntry* _tmp7_ = NULL; + gint toggle_entries_length1 = 0; + gint _toggle_entries_size_ = 0; + GtkToggleActionEntry* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GtkActionGroup* _tmp11_ = NULL; + AppWindow* _tmp12_ = NULL; + AppWindow* _tmp13_ = NULL; + gint _tmp14_ = 0; + GtkActionGroup** _tmp15_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 445 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = gtk_action_group_new ("PageActionGroup"); +#line 445 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->action_group); +#line 445 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->action_group = _tmp0_; +#line 448 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_init_collect_action_entries (self, &_tmp1_); +#line 448 "/home/jens/Source/shotwell/src/Page.vala" + action_entries = _tmp2_; +#line 448 "/home/jens/Source/shotwell/src/Page.vala" + action_entries_length1 = _tmp1_; +#line 448 "/home/jens/Source/shotwell/src/Page.vala" + _action_entries_size_ = action_entries_length1; +#line 449 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = action_entries; +#line 449 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3__length1 = action_entries_length1; +#line 449 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3__length1 > 0) { +#line 4188 "Page.c" + GtkActionGroup* _tmp4_ = NULL; + GtkActionEntry* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->action_group; +#line 450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = action_entries; +#line 450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5__length1 = action_entries_length1; +#line 450 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_group_add_actions (_tmp4_, _tmp5_, _tmp5__length1, self); +#line 4200 "Page.c" + } +#line 453 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = page_init_collect_toggle_action_entries (self, &_tmp6_); +#line 453 "/home/jens/Source/shotwell/src/Page.vala" + toggle_entries = _tmp7_; +#line 453 "/home/jens/Source/shotwell/src/Page.vala" + toggle_entries_length1 = _tmp6_; +#line 453 "/home/jens/Source/shotwell/src/Page.vala" + _toggle_entries_size_ = toggle_entries_length1; +#line 454 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = toggle_entries; +#line 454 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8__length1 = toggle_entries_length1; +#line 454 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp8__length1 > 0) { +#line 4216 "Page.c" + GtkActionGroup* _tmp9_ = NULL; + GtkToggleActionEntry* _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 455 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->action_group; +#line 455 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = toggle_entries; +#line 455 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10__length1 = toggle_entries_length1; +#line 455 "/home/jens/Source/shotwell/src/Page.vala" + gtk_action_group_add_toggle_actions (_tmp9_, _tmp10_, _tmp10__length1, self); +#line 4228 "Page.c" + } +#line 460 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->priv->action_group; +#line 460 "/home/jens/Source/shotwell/src/Page.vala" + page_register_radio_actions (self, _tmp11_); +#line 463 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = app_window_get_instance (); +#line 463 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_; +#line 463 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = app_window_get_common_action_groups (_tmp13_, &_tmp14_); +#line 463 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->common_action_groups = (_vala_array_free (self->priv->common_action_groups, self->priv->common_action_groups_length1, (GDestroyNotify) g_object_unref), NULL); +#line 463 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->common_action_groups = _tmp15_; +#line 463 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->common_action_groups_length1 = _tmp14_; +#line 463 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->_common_action_groups_size_ = self->priv->common_action_groups_length1; +#line 463 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp13_); +#line 444 "/home/jens/Source/shotwell/src/Page.vala" + toggle_entries = (g_free (toggle_entries), NULL); +#line 444 "/home/jens/Source/shotwell/src/Page.vala" + action_entries = (g_free (action_entries), NULL); +#line 4254 "Page.c" +} + + +static gpointer _injection_group_ref0 (gpointer self) { +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + return self ? injection_group_ref (self) : NULL; +#line 4261 "Page.c" +} + + +static void _vala_array_add249 (guint** array, int* length, int* size, guint value) { +#line 485 "/home/jens/Source/shotwell/src/Page.vala" + if ((*length) == (*size)) { +#line 485 "/home/jens/Source/shotwell/src/Page.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 485 "/home/jens/Source/shotwell/src/Page.vala" + *array = g_renew (guint, *array, *size); +#line 4272 "Page.c" + } +#line 485 "/home/jens/Source/shotwell/src/Page.vala" + (*array)[(*length)++] = value; +#line 4276 "Page.c" +} + + +static void page_add_ui (Page* self) { + GeeList* ui_filenames = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GtkUIManager* _tmp19_ = NULL; + GtkActionGroup* _tmp20_ = NULL; + InjectionGroup** injection_groups = NULL; + gint _tmp21_ = 0; + InjectionGroup** _tmp22_ = NULL; + gint injection_groups_length1 = 0; + gint _injection_groups_size_ = 0; + InjectionGroup** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + AppWindow* _tmp51_ = NULL; + AppWindow* _tmp52_ = NULL; + GtkUIManager* _tmp53_ = NULL; + GtkUIManager* _tmp54_ = NULL; +#line 466 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 468 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 468 "/home/jens/Source/shotwell/src/Page.vala" + ui_filenames = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList); +#line 469 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = ui_filenames; +#line 469 "/home/jens/Source/shotwell/src/Page.vala" + page_init_collect_ui_filenames (self, _tmp1_); +#line 470 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = ui_filenames; +#line 470 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 470 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 470 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_ == 0) { +#line 4318 "Page.c" + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 471 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = page_get_page_name (self); +#line 471 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_; +#line 471 "/home/jens/Source/shotwell/src/Page.vala" + g_message ("Page.vala:471: No UI file specified for %s", _tmp6_); +#line 471 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp6_); +#line 4329 "Page.c" + } + { + GeeList* _ui_filename_list = NULL; + GeeList* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gint _ui_filename_size = 0; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _ui_filename_index = 0; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = ui_filenames; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _ui_filename_list = _tmp8_; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _ui_filename_list; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp10_; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _ui_filename_size = _tmp11_; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _ui_filename_index = -1; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 4358 "Page.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gchar* ui_filename = NULL; + GeeList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = _ui_filename_index; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _ui_filename_index = _tmp12_ + 1; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _ui_filename_index; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _ui_filename_size; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 4379 "Page.c" + } +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _ui_filename_list; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _ui_filename_index; +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = gee_list_get (_tmp15_, _tmp16_); +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + ui_filename = (gchar*) _tmp17_; +#line 474 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = ui_filename; +#line 474 "/home/jens/Source/shotwell/src/Page.vala" + page_init_load_ui (self, _tmp18_); +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (ui_filename); +#line 4395 "Page.c" + } +#line 473 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_ui_filename_list); +#line 4399 "Page.c" + } +#line 476 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = self->ui; +#line 476 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = self->priv->action_group; +#line 476 "/home/jens/Source/shotwell/src/Page.vala" + gtk_ui_manager_insert_action_group (_tmp19_, _tmp20_, 0); +#line 479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = page_init_collect_injection_groups (self, &_tmp21_); +#line 479 "/home/jens/Source/shotwell/src/Page.vala" + injection_groups = _tmp22_; +#line 479 "/home/jens/Source/shotwell/src/Page.vala" + injection_groups_length1 = _tmp21_; +#line 479 "/home/jens/Source/shotwell/src/Page.vala" + _injection_groups_size_ = injection_groups_length1; +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = injection_groups; +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23__length1 = injection_groups_length1; +#line 4419 "Page.c" + { + InjectionGroup** group_collection = NULL; + gint group_collection_length1 = 0; + gint _group_collection_size_ = 0; + gint group_it = 0; +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + group_collection = _tmp23_; +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + group_collection_length1 = _tmp23__length1; +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + for (group_it = 0; group_it < _tmp23__length1; group_it = group_it + 1) { +#line 4431 "Page.c" + InjectionGroup* _tmp24_ = NULL; + InjectionGroup* group = NULL; +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = _injection_group_ref0 (group_collection[group_it]); +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + group = _tmp24_; +#line 4438 "Page.c" + { + { + GeeList* _element_list = NULL; + InjectionGroup* _tmp25_ = NULL; + GeeList* _tmp26_ = NULL; + gint _element_size = 0; + GeeList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _element_index = 0; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = group; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = injection_group_get_elements (_tmp25_); +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _element_list = _tmp26_; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = _element_list; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _tmp28_; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _element_size = _tmp29_; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _element_index = -1; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 4467 "Page.c" + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + InjectionGroupElement* element = NULL; + GeeList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gpointer _tmp35_ = NULL; + guint merge_id = 0U; + GtkUIManager* _tmp36_ = NULL; + guint _tmp37_ = 0U; + GtkUIManager* _tmp38_ = NULL; + guint _tmp39_ = 0U; + InjectionGroup* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + InjectionGroupElement* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + InjectionGroupElement* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + InjectionGroupElement* _tmp47_ = NULL; + GtkUIManagerItemType _tmp48_ = 0; + guint* _tmp49_ = NULL; + gint _tmp49__length1 = 0; + guint _tmp50_ = 0U; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = _element_index; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _element_index = _tmp30_ + 1; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = _element_index; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = _element_size; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + if (!(_tmp31_ < _tmp32_)) { +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 4504 "Page.c" + } +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = _element_list; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = _element_index; +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = gee_list_get (_tmp33_, _tmp34_); +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + element = (InjectionGroupElement*) _tmp35_; +#line 482 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = self->ui; +#line 482 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = gtk_ui_manager_new_merge_id (_tmp36_); +#line 482 "/home/jens/Source/shotwell/src/Page.vala" + merge_id = _tmp37_; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = self->ui; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = merge_id; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = group; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = injection_group_get_path (_tmp40_); +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = _tmp41_; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = element; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = _tmp43_->name; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = element; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = _tmp45_->action; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = element; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = _tmp47_->kind; +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + gtk_ui_manager_add_ui (_tmp38_, _tmp39_, _tmp42_, _tmp44_, _tmp46_, _tmp48_, FALSE); +#line 483 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp42_); +#line 485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49_ = self->priv->merge_ids; +#line 485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49__length1 = self->priv->merge_ids_length1; +#line 485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp50_ = merge_id; +#line 485 "/home/jens/Source/shotwell/src/Page.vala" + _vala_array_add249 (&self->priv->merge_ids, &self->priv->merge_ids_length1, &self->priv->_merge_ids_size_, _tmp50_); +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _injection_group_element_unref0 (element); +#line 4556 "Page.c" + } +#line 481 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_element_list); +#line 4560 "Page.c" + } +#line 480 "/home/jens/Source/shotwell/src/Page.vala" + _injection_group_unref0 (group); +#line 4564 "Page.c" + } + } + } +#line 489 "/home/jens/Source/shotwell/src/Page.vala" + _tmp51_ = app_window_get_instance (); +#line 489 "/home/jens/Source/shotwell/src/Page.vala" + _tmp52_ = _tmp51_; +#line 489 "/home/jens/Source/shotwell/src/Page.vala" + _tmp53_ = self->ui; +#line 489 "/home/jens/Source/shotwell/src/Page.vala" + app_window_replace_common_placeholders (_tmp52_, _tmp53_); +#line 489 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp52_); +#line 491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp54_ = self->ui; +#line 491 "/home/jens/Source/shotwell/src/Page.vala" + gtk_ui_manager_ensure_update (_tmp54_); +#line 466 "/home/jens/Source/shotwell/src/Page.vala" + injection_groups = (_vala_array_free (injection_groups, injection_groups_length1, (GDestroyNotify) injection_group_unref), NULL); +#line 466 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (ui_filenames); +#line 4586 "Page.c" +} + + +static void page_remove_ui (Page* self) { + GtkUIManager* _tmp8_ = NULL; + GtkActionGroup* _tmp9_ = NULL; + gint _tmp10_ = 0; + GtkUIManager* _tmp11_ = NULL; +#line 494 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 4597 "Page.c" + { + gint i = 0; + guint* _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->merge_ids; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0__length1 = self->priv->merge_ids_length1; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + i = _tmp0__length1 - 1; +#line 4608 "Page.c" + { + gboolean _tmp1_ = FALSE; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = TRUE; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 4615 "Page.c" + gint _tmp3_ = 0; + GtkUIManager* _tmp4_ = NULL; + guint* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + guint _tmp7_ = 0U; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp1_) { +#line 4624 "Page.c" + gint _tmp2_ = 0; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = i; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + i = _tmp2_ - 1; +#line 4630 "Page.c" + } +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = FALSE; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = i; +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + if (!(_tmp3_ >= 0)) { +#line 495 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 4640 "Page.c" + } +#line 496 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->ui; +#line 496 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->merge_ids; +#line 496 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5__length1 = self->priv->merge_ids_length1; +#line 496 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = i; +#line 496 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 496 "/home/jens/Source/shotwell/src/Page.vala" + gtk_ui_manager_remove_ui (_tmp4_, _tmp7_); +#line 4654 "Page.c" + } + } + } +#line 497 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->ui; +#line 497 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->action_group; +#line 497 "/home/jens/Source/shotwell/src/Page.vala" + gtk_ui_manager_remove_action_group (_tmp8_, _tmp9_); +#line 498 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = 0; +#line 498 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->merge_ids = g_renew (guint, self->priv->merge_ids, 0); +#line 498 "/home/jens/Source/shotwell/src/Page.vala" + (_tmp10_ > self->priv->merge_ids_length1) ? memset (self->priv->merge_ids + self->priv->merge_ids_length1, 0, sizeof (guint) * (_tmp10_ - self->priv->merge_ids_length1)) : NULL; +#line 498 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->merge_ids_length1 = _tmp10_; +#line 498 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->_merge_ids_size_ = _tmp10_; +#line 500 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->ui; +#line 500 "/home/jens/Source/shotwell/src/Page.vala" + gtk_ui_manager_ensure_update (_tmp11_); +#line 4678 "Page.c" +} + + +void page_init_toolbar (Page* self, const gchar* path) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 503 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (path != NULL); +#line 504 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = path; +#line 504 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 504 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->toolbar_path); +#line 504 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->toolbar_path = _tmp1_; +#line 4697 "Page.c" +} + + +static void _page_on_update_actions_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self) { +#line 519 "/home/jens/Source/shotwell/src/Page.vala" + page_on_update_actions ((Page*) self); +#line 4704 "Page.c" +} + + +static void _page_on_update_actions_view_collection_selection_group_altered (ViewCollection* _sender, gpointer self) { +#line 520 "/home/jens/Source/shotwell/src/Page.vala" + page_on_update_actions ((Page*) self); +#line 4711 "Page.c" +} + + +static void _page_on_update_actions_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self) { +#line 521 "/home/jens/Source/shotwell/src/Page.vala" + page_on_update_actions ((Page*) self); +#line 4718 "Page.c" +} + + +static void _page_on_update_actions_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 522 "/home/jens/Source/shotwell/src/Page.vala" + page_on_update_actions ((Page*) self); +#line 4725 "Page.c" +} + + +static void page_attach_view_signals (Page* self) { + gboolean _tmp0_ = FALSE; + gint selected_count = 0; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint count = 0; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + ViewCollection* _tmp18_ = NULL; + ViewCollection* _tmp19_ = NULL; + ViewCollection* _tmp20_ = NULL; +#line 508 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 509 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->are_actions_attached; +#line 509 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 510 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 4761 "Page.c" + } +#line 513 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_view (self); +#line 513 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 513 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = view_collection_get_selected_count (_tmp2_); +#line 513 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 513 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp2_); +#line 513 "/home/jens/Source/shotwell/src/Page.vala" + selected_count = _tmp4_; +#line 514 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = page_get_view (self); +#line 514 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_; +#line 514 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection)); +#line 514 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_; +#line 514 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp6_); +#line 514 "/home/jens/Source/shotwell/src/Page.vala" + count = _tmp8_; +#line 515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = selected_count; +#line 515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = count; +#line 515 "/home/jens/Source/shotwell/src/Page.vala" + page_init_actions (self, _tmp9_, _tmp10_); +#line 516 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = selected_count; +#line 516 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = count; +#line 516 "/home/jens/Source/shotwell/src/Page.vala" + page_update_actions (self, _tmp11_, _tmp12_); +#line 519 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = page_get_view (self); +#line 519 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _tmp13_; +#line 519 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp14_, "items-state-changed", (GCallback) _page_on_update_actions_view_collection_items_state_changed, self, 0); +#line 519 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp14_); +#line 520 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = page_get_view (self); +#line 520 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp15_; +#line 520 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp16_, "selection-group-altered", (GCallback) _page_on_update_actions_view_collection_selection_group_altered, self, 0); +#line 520 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp16_); +#line 521 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = page_get_view (self); +#line 521 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = _tmp17_; +#line 521 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp18_, "items-visibility-changed", (GCallback) _page_on_update_actions_view_collection_items_visibility_changed, self, 0); +#line 521 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp18_); +#line 522 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = page_get_view (self); +#line 522 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp19_; +#line 522 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _page_on_update_actions_data_collection_contents_altered, self, 0); +#line 522 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp20_); +#line 524 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->are_actions_attached = TRUE; +#line 4833 "Page.c" +} + + +static void page_detach_view_signals (Page* self) { + gboolean _tmp0_ = FALSE; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + guint _tmp6_ = 0U; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + guint _tmp9_ = 0U; + ViewCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + guint _tmp12_ = 0U; +#line 528 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->are_actions_attached; +#line 529 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp0_) { +#line 530 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 4859 "Page.c" + } +#line 532 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_view (self); +#line 532 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 532 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("items-state-changed", TYPE_VIEW_COLLECTION, &_tmp3_, NULL, FALSE); +#line 532 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _page_on_update_actions_view_collection_items_state_changed, self); +#line 532 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp2_); +#line 533 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_get_view (self); +#line 533 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 533 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("selection-group-altered", TYPE_VIEW_COLLECTION, &_tmp6_, NULL, FALSE); +#line 533 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _page_on_update_actions_view_collection_selection_group_altered, self); +#line 533 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp5_); +#line 534 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = page_get_view (self); +#line 534 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_; +#line 534 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("items-visibility-changed", TYPE_VIEW_COLLECTION, &_tmp9_, NULL, FALSE); +#line 534 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _page_on_update_actions_view_collection_items_visibility_changed, self); +#line 534 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp8_); +#line 535 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = page_get_view (self); +#line 535 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp10_; +#line 535 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp12_, NULL, FALSE); +#line 535 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _page_on_update_actions_data_collection_contents_altered, self); +#line 535 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp11_); +#line 537 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->are_actions_attached = FALSE; +#line 4903 "Page.c" +} + + +static void _page_on_update_actions_on_idle_one_shot_callback (gpointer self) { +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + page_on_update_actions_on_idle ((Page*) self); +#line 4910 "Page.c" +} + + +static void page_on_update_actions (Page* self) { + OneShotScheduler* _tmp0_ = NULL; + OneShotScheduler* _tmp6_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 541 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->update_actions_scheduler; +#line 541 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ == NULL) { +#line 4923 "Page.c" + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + OneShotScheduler* _tmp5_ = NULL; +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_page_name (self); +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = g_strdup_printf ("Update actions scheduler for %s", _tmp2_); +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = one_shot_scheduler_new (_tmp4_, _page_on_update_actions_on_idle_one_shot_callback, self); +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + _one_shot_scheduler_unref0 (self->priv->update_actions_scheduler); +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->update_actions_scheduler = _tmp5_; +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp4_); +#line 542 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp2_); +#line 4947 "Page.c" + } +#line 547 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->update_actions_scheduler; +#line 547 "/home/jens/Source/shotwell/src/Page.vala" + one_shot_scheduler_at_priority_idle (_tmp6_, G_PRIORITY_LOW); +#line 4953 "Page.c" +} + + +static void page_on_update_actions_on_idle (Page* self) { + gboolean _tmp0_ = FALSE; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 550 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->is_destroyed; +#line 551 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 552 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 4973 "Page.c" + } +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_view (self); +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = view_collection_get_selected_count (_tmp2_); +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_get_view (self); +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection)); +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + page_update_actions (self, _tmp3_, _tmp6_); +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp5_); +#line 554 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp2_); +#line 4993 "Page.c" +} + + +static void _vala_array_add250 (guint** array, int* length, int* size, guint value) { +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + if ((*length) == (*size)) { +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + *array = g_renew (guint, *array, *size); +#line 5004 "Page.c" + } +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + (*array)[(*length)++] = value; +#line 5008 "Page.c" +} + + +static void page_init_load_ui (Page* self, const gchar* ui_filename) { + GFile* ui_file = NULL; + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 557 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (ui_filename != NULL); +#line 558 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = ui_filename; +#line 558 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = resources_get_ui (_tmp0_); +#line 558 "/home/jens/Source/shotwell/src/Page.vala" + ui_file = _tmp1_; +#line 5027 "Page.c" + { + guint _tmp2_ = 0U; + GtkUIManager* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + guint _tmp6_ = 0U; + guint _tmp7_ = 0U; + guint* _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->ui; +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = g_file_get_path (ui_file); +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = gtk_ui_manager_add_ui_from_file (_tmp3_, _tmp5_, &_inner_error_); +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_; +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp5_); +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp7_; +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5053 "Page.c" + goto __catch241_g_error; + } +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->priv->merge_ids; +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8__length1 = self->priv->merge_ids_length1; +#line 561 "/home/jens/Source/shotwell/src/Page.vala" + _vala_array_add250 (&self->priv->merge_ids, &self->priv->merge_ids_length1, &self->priv->_merge_ids_size_, _tmp2_); +#line 5062 "Page.c" + } + goto __finally241; + __catch241_g_error: + { + GError* err = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + Application* _tmp15_ = NULL; + Application* _tmp16_ = NULL; +#line 560 "/home/jens/Source/shotwell/src/Page.vala" + err = _inner_error_; +#line 560 "/home/jens/Source/shotwell/src/Page.vala" + _inner_error_ = NULL; +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = g_file_get_path (ui_file); +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_; +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = err; +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = _tmp11_->message; +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = g_strdup_printf ("Error loading UI file %s: %s", _tmp10_, _tmp12_); +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _tmp13_; +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + app_window_error_message (_tmp14_, NULL); +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp14_); +#line 563 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp10_); +#line 565 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = application_get_instance (); +#line 565 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp15_; +#line 565 "/home/jens/Source/shotwell/src/Page.vala" + application_panic (_tmp16_); +#line 565 "/home/jens/Source/shotwell/src/Page.vala" + _application_unref0 (_tmp16_); +#line 560 "/home/jens/Source/shotwell/src/Page.vala" + _g_error_free0 (err); +#line 5108 "Page.c" + } + __finally241: +#line 560 "/home/jens/Source/shotwell/src/Page.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 560 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (ui_file); +#line 560 "/home/jens/Source/shotwell/src/Page.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 560 "/home/jens/Source/shotwell/src/Page.vala" + g_clear_error (&_inner_error_); +#line 560 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 5121 "Page.c" + } +#line 557 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (ui_file); +#line 5125 "Page.c" +} + + +static void page_real_init_collect_ui_filenames (Page* self, GeeList* ui_filenames) { +#line 572 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 5132 "Page.c" +} + + +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames) { +#line 572 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 572 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->init_collect_ui_filenames (self, ui_filenames); +#line 5141 "Page.c" +} + + +static GtkActionEntry* page_real_init_collect_action_entries (Page* self, int* result_length1) { + GtkActionEntry* result = NULL; + GtkActionEntry* _tmp0_ = NULL; + GtkActionEntry* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 577 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = g_new0 (GtkActionEntry, 0); +#line 577 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 577 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1__length1 = 0; +#line 577 "/home/jens/Source/shotwell/src/Page.vala" + if (result_length1) { +#line 577 "/home/jens/Source/shotwell/src/Page.vala" + *result_length1 = _tmp1__length1; +#line 5160 "Page.c" + } +#line 577 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 577 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5166 "Page.c" +} + + +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1) { +#line 576 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 576 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->init_collect_action_entries (self, result_length1); +#line 5175 "Page.c" +} + + +static GtkToggleActionEntry* page_real_init_collect_toggle_action_entries (Page* self, int* result_length1) { + GtkToggleActionEntry* result = NULL; + GtkToggleActionEntry* _tmp0_ = NULL; + GtkToggleActionEntry* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 582 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = g_new0 (GtkToggleActionEntry, 0); +#line 582 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 582 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1__length1 = 0; +#line 582 "/home/jens/Source/shotwell/src/Page.vala" + if (result_length1) { +#line 582 "/home/jens/Source/shotwell/src/Page.vala" + *result_length1 = _tmp1__length1; +#line 5194 "Page.c" + } +#line 582 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 582 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5200 "Page.c" +} + + +GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self, int* result_length1) { +#line 581 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 581 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->init_collect_toggle_action_entries (self, result_length1); +#line 5209 "Page.c" +} + + +static void page_real_register_radio_actions (Page* self, GtkActionGroup* action_group) { +#line 586 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GTK_IS_ACTION_GROUP (action_group)); +#line 5216 "Page.c" +} + + +void page_register_radio_actions (Page* self, GtkActionGroup* action_group) { +#line 586 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 586 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->register_radio_actions (self, action_group); +#line 5225 "Page.c" +} + + +static InjectionGroup** page_real_init_collect_injection_groups (Page* self, int* result_length1) { + InjectionGroup** result = NULL; + InjectionGroup** _tmp0_ = NULL; + InjectionGroup** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 592 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = g_new0 (InjectionGroup*, 0 + 1); +#line 592 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 592 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1__length1 = 0; +#line 592 "/home/jens/Source/shotwell/src/Page.vala" + if (result_length1) { +#line 592 "/home/jens/Source/shotwell/src/Page.vala" + *result_length1 = _tmp1__length1; +#line 5244 "Page.c" + } +#line 592 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 592 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5250 "Page.c" +} + + +InjectionGroup** page_init_collect_injection_groups (Page* self, int* result_length1) { +#line 591 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), NULL); +#line 591 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->init_collect_injection_groups (self, result_length1); +#line 5259 "Page.c" +} + + +static void page_real_init_actions (Page* self, gint selected_count, gint count) { +} + + +void page_init_actions (Page* self, gint selected_count, gint count) { +#line 597 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 597 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->init_actions (self, selected_count, count); +#line 5272 "Page.c" +} + + +static void page_real_update_actions (Page* self, gint selected_count, gint count) { +} + + +void page_update_actions (Page* self, gint selected_count, gint count) { +#line 603 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 603 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->update_actions (self, selected_count, count); +#line 5285 "Page.c" +} + + +static void _page_on_drag_begin_gtk_widget_drag_begin (GtkWidget* _sender, GdkDragContext* context, gpointer self) { +#line 618 "/home/jens/Source/shotwell/src/Page.vala" + page_on_drag_begin ((Page*) self, context); +#line 5292 "Page.c" +} + + +static void _page_on_drag_data_get_gtk_widget_drag_data_get (GtkWidget* _sender, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time_, gpointer self) { +#line 619 "/home/jens/Source/shotwell/src/Page.vala" + page_on_drag_data_get ((Page*) self, context, selection_data, info, time_); +#line 5299 "Page.c" +} + + +static void _page_on_drag_data_delete_gtk_widget_drag_data_delete (GtkWidget* _sender, GdkDragContext* context, gpointer self) { +#line 620 "/home/jens/Source/shotwell/src/Page.vala" + page_on_drag_data_delete ((Page*) self, context); +#line 5306 "Page.c" +} + + +static void _page_on_drag_end_gtk_widget_drag_end (GtkWidget* _sender, GdkDragContext* context, gpointer self) { +#line 621 "/home/jens/Source/shotwell/src/Page.vala" + page_on_drag_end ((Page*) self, context); +#line 5313 "Page.c" +} + + +static gboolean _page_on_drag_failed_gtk_widget_drag_failed (GtkWidget* _sender, GdkDragContext* context, GtkDragResult _result_, gpointer self) { + gboolean result; + result = page_on_drag_failed ((Page*) self, context, _result_); +#line 622 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5322 "Page.c" +} + + +void page_enable_drag_source (Page* self, GdkDragAction actions, GtkTargetEntry* source_target_entries, int source_target_entries_length1) { + gboolean _tmp0_ = FALSE; + GtkWidget* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + GtkTargetEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GdkDragAction _tmp4_ = 0; + GtkWidget* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; + GtkWidget* _tmp7_ = NULL; + GtkWidget* _tmp8_ = NULL; + GtkWidget* _tmp9_ = NULL; +#line 608 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 609 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->dnd_enabled; +#line 609 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 610 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 5346 "Page.c" + } +#line 612 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->event_source; +#line 612 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp1_ != NULL, "event_source != null"); +#line 614 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->event_source; +#line 614 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = source_target_entries; +#line 614 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3__length1 = source_target_entries_length1; +#line 614 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = actions; +#line 614 "/home/jens/Source/shotwell/src/Page.vala" + gtk_drag_source_set (_tmp2_, GDK_BUTTON1_MASK, _tmp3_, _tmp3__length1, _tmp4_); +#line 618 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->event_source; +#line 618 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp5_, "drag-begin", (GCallback) _page_on_drag_begin_gtk_widget_drag_begin, self, 0); +#line 619 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->event_source; +#line 619 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp6_, "drag-data-get", (GCallback) _page_on_drag_data_get_gtk_widget_drag_data_get, self, 0); +#line 620 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->event_source; +#line 620 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp7_, "drag-data-delete", (GCallback) _page_on_drag_data_delete_gtk_widget_drag_data_delete, self, 0); +#line 621 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->priv->event_source; +#line 621 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp8_, "drag-end", (GCallback) _page_on_drag_end_gtk_widget_drag_end, self, 0); +#line 622 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->event_source; +#line 622 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp9_, "drag-failed", (GCallback) _page_on_drag_failed_gtk_widget_drag_failed, self, 0); +#line 624 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->dnd_enabled = TRUE; +#line 5384 "Page.c" +} + + +void page_disable_drag_source (Page* self) { + gboolean _tmp0_ = FALSE; + GtkWidget* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GtkWidget* _tmp4_ = NULL; + guint _tmp5_ = 0U; + GtkWidget* _tmp6_ = NULL; + guint _tmp7_ = 0U; + GtkWidget* _tmp8_ = NULL; + guint _tmp9_ = 0U; + GtkWidget* _tmp10_ = NULL; + guint _tmp11_ = 0U; + GtkWidget* _tmp12_ = NULL; +#line 627 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 628 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->dnd_enabled; +#line 628 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp0_) { +#line 629 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 5410 "Page.c" + } +#line 631 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->event_source; +#line 631 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp1_ != NULL, "event_source != null"); +#line 633 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->event_source; +#line 633 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-begin", gtk_widget_get_type (), &_tmp3_, NULL, FALSE); +#line 633 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _page_on_drag_begin_gtk_widget_drag_begin, self); +#line 634 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->event_source; +#line 634 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-data-get", gtk_widget_get_type (), &_tmp5_, NULL, FALSE); +#line 634 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _page_on_drag_data_get_gtk_widget_drag_data_get, self); +#line 635 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->event_source; +#line 635 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-data-delete", gtk_widget_get_type (), &_tmp7_, NULL, FALSE); +#line 635 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _page_on_drag_data_delete_gtk_widget_drag_data_delete, self); +#line 636 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->priv->event_source; +#line 636 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-end", gtk_widget_get_type (), &_tmp9_, NULL, FALSE); +#line 636 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _page_on_drag_end_gtk_widget_drag_end, self); +#line 637 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->priv->event_source; +#line 637 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-failed", gtk_widget_get_type (), &_tmp11_, NULL, FALSE); +#line 637 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _page_on_drag_failed_gtk_widget_drag_failed, self); +#line 638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->priv->event_source; +#line 638 "/home/jens/Source/shotwell/src/Page.vala" + gtk_drag_source_unset (_tmp12_); +#line 640 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->dnd_enabled = FALSE; +#line 5452 "Page.c" +} + + +gboolean page_is_dnd_enabled (Page* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 643 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 644 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->dnd_enabled; +#line 644 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp0_; +#line 644 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5467 "Page.c" +} + + +static void page_on_drag_begin (Page* self, GdkDragContext* context) { + GdkDragContext* _tmp0_ = NULL; +#line 647 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 647 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 648 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = context; +#line 648 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "drag-begin", _tmp0_); +#line 5481 "Page.c" +} + + +static void page_on_drag_data_get (Page* self, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time) { + GdkDragContext* _tmp0_ = NULL; + GtkSelectionData* _tmp1_ = NULL; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; +#line 651 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 651 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 651 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (selection_data != NULL); +#line 653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = context; +#line 653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = selection_data; +#line 653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = info; +#line 653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = time; +#line 653 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "drag-data-get", _tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 5506 "Page.c" +} + + +static void page_on_drag_data_delete (Page* self, GdkDragContext* context) { + GdkDragContext* _tmp0_ = NULL; +#line 656 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 656 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 657 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = context; +#line 657 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "drag-data-delete", _tmp0_); +#line 5520 "Page.c" +} + + +static void page_on_drag_end (Page* self, GdkDragContext* context) { + GdkDragContext* _tmp0_ = NULL; +#line 660 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 660 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 661 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = context; +#line 661 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "drag-end", _tmp0_); +#line 5534 "Page.c" +} + + +static gboolean page_real_source_drag_failed (Page* self, GdkDragContext* context, GtkDragResult drag_result) { + gboolean result = FALSE; +#line 668 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE); +#line 669 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 669 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5546 "Page.c" +} + + +gboolean page_source_drag_failed (Page* self, GdkDragContext* context, GtkDragResult drag_result) { +#line 668 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 668 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->source_drag_failed (self, context, drag_result); +#line 5555 "Page.c" +} + + +static gboolean page_on_drag_failed (Page* self, GdkDragContext* context, GtkDragResult drag_result) { + gboolean result = FALSE; + GdkDragContext* _tmp0_ = NULL; + GtkDragResult _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 672 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 672 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE); +#line 673 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = context; +#line 673 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = drag_result; +#line 673 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_source_drag_failed (self, _tmp0_, _tmp1_); +#line 673 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp2_; +#line 673 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5578 "Page.c" +} + + +gboolean page_get_event_source_pointer (Page* self, gint* x, gint* y, GdkModifierType* mask) { + gint _vala_x = 0; + gint _vala_y = 0; + GdkModifierType _vala_mask = 0; + gboolean result = FALSE; + GtkWidget* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GdkWindow* _tmp2_ = NULL; + GdkDisplay* _tmp3_ = NULL; + GdkDeviceManager* _tmp4_ = NULL; + GdkDevice* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + GdkModifierType _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + GdkPoint _tmp10_ = {0}; + gint _tmp11_ = 0; + gint _tmp14_ = 0; + GdkPoint _tmp15_ = {0}; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; + gint _tmp22_ = 0; +#line 680 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 681 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->event_source; +#line 681 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ == NULL) { +#line 682 "/home/jens/Source/shotwell/src/Page.vala" + _vala_x = 0; +#line 683 "/home/jens/Source/shotwell/src/Page.vala" + _vala_y = 0; +#line 684 "/home/jens/Source/shotwell/src/Page.vala" + _vala_mask = 0; +#line 686 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 686 "/home/jens/Source/shotwell/src/Page.vala" + if (x) { +#line 686 "/home/jens/Source/shotwell/src/Page.vala" + *x = _vala_x; +#line 5625 "Page.c" + } +#line 686 "/home/jens/Source/shotwell/src/Page.vala" + if (y) { +#line 686 "/home/jens/Source/shotwell/src/Page.vala" + *y = _vala_y; +#line 5631 "Page.c" + } +#line 686 "/home/jens/Source/shotwell/src/Page.vala" + if (mask) { +#line 686 "/home/jens/Source/shotwell/src/Page.vala" + *mask = _vala_mask; +#line 5637 "Page.c" + } +#line 686 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5641 "Page.c" + } +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->event_source; +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = gtk_widget_get_window (_tmp1_); +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gdk_display_get_default (); +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = gdk_display_get_device_manager (_tmp3_); +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = gdk_device_manager_get_client_pointer (_tmp4_); +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + gdk_window_get_device_position (_tmp2_, _tmp5_, &_tmp6_, &_tmp7_, &_tmp8_); +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + _vala_x = _tmp6_; +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + _vala_y = _tmp7_; +#line 689 "/home/jens/Source/shotwell/src/Page.vala" + _vala_mask = _tmp8_; +#line 692 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->priv->last_down; +#line 692 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp10_.x; +#line 692 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp11_ < 0) { +#line 692 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = TRUE; +#line 5669 "Page.c" + } else { + GdkPoint _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 692 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->priv->last_down; +#line 692 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_.y; +#line 692 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _tmp13_ < 0; +#line 5679 "Page.c" + } +#line 692 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp9_) { +#line 693 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 693 "/home/jens/Source/shotwell/src/Page.vala" + if (x) { +#line 693 "/home/jens/Source/shotwell/src/Page.vala" + *x = _vala_x; +#line 5689 "Page.c" + } +#line 693 "/home/jens/Source/shotwell/src/Page.vala" + if (y) { +#line 693 "/home/jens/Source/shotwell/src/Page.vala" + *y = _vala_y; +#line 5695 "Page.c" + } +#line 693 "/home/jens/Source/shotwell/src/Page.vala" + if (mask) { +#line 693 "/home/jens/Source/shotwell/src/Page.vala" + *mask = _vala_mask; +#line 5701 "Page.c" + } +#line 693 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5705 "Page.c" + } +#line 699 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _vala_x; +#line 699 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = self->priv->last_down; +#line 699 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp15_.x; +#line 699 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = abs (_tmp14_ - _tmp16_); +#line 699 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp17_ >= 0x7FFF) { +#line 5717 "Page.c" + gint _tmp18_ = 0; +#line 700 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = _vala_x; +#line 700 "/home/jens/Source/shotwell/src/Page.vala" + _vala_x = _tmp18_ + 0xFFFF; +#line 5723 "Page.c" + } +#line 702 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = _vala_y; +#line 702 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = self->priv->last_down; +#line 702 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = _tmp20_.y; +#line 702 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = abs (_tmp19_ - _tmp21_); +#line 702 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp22_ >= 0x7FFF) { +#line 5735 "Page.c" + gint _tmp23_ = 0; +#line 703 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = _vala_y; +#line 703 "/home/jens/Source/shotwell/src/Page.vala" + _vala_y = _tmp23_ + 0xFFFF; +#line 5741 "Page.c" + } +#line 705 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 705 "/home/jens/Source/shotwell/src/Page.vala" + if (x) { +#line 705 "/home/jens/Source/shotwell/src/Page.vala" + *x = _vala_x; +#line 5749 "Page.c" + } +#line 705 "/home/jens/Source/shotwell/src/Page.vala" + if (y) { +#line 705 "/home/jens/Source/shotwell/src/Page.vala" + *y = _vala_y; +#line 5755 "Page.c" + } +#line 705 "/home/jens/Source/shotwell/src/Page.vala" + if (mask) { +#line 705 "/home/jens/Source/shotwell/src/Page.vala" + *mask = _vala_mask; +#line 5761 "Page.c" + } +#line 705 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5765 "Page.c" +} + + +static gboolean page_real_on_left_click (Page* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 708 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 709 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 709 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5777 "Page.c" +} + + +gboolean page_on_left_click (Page* self, GdkEventButton* event) { +#line 708 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 708 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_left_click (self, event); +#line 5786 "Page.c" +} + + +static gboolean page_real_on_middle_click (Page* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 712 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 713 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 713 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5798 "Page.c" +} + + +gboolean page_on_middle_click (Page* self, GdkEventButton* event) { +#line 712 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 712 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_middle_click (self, event); +#line 5807 "Page.c" +} + + +static gboolean page_real_on_right_click (Page* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 716 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 717 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 717 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5819 "Page.c" +} + + +gboolean page_on_right_click (Page* self, GdkEventButton* event) { +#line 716 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 716 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_right_click (self, event); +#line 5828 "Page.c" +} + + +static gboolean page_real_on_left_released (Page* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 720 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 721 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 721 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5840 "Page.c" +} + + +gboolean page_on_left_released (Page* self, GdkEventButton* event) { +#line 720 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 720 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_left_released (self, event); +#line 5849 "Page.c" +} + + +static gboolean page_real_on_middle_released (Page* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 724 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 725 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 725 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5861 "Page.c" +} + + +gboolean page_on_middle_released (Page* self, GdkEventButton* event) { +#line 724 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 724 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_middle_released (self, event); +#line 5870 "Page.c" +} + + +static gboolean page_real_on_right_released (Page* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 728 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 729 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 729 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5882 "Page.c" +} + + +gboolean page_on_right_released (Page* self, GdkEventButton* event) { +#line 728 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 728 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_right_released (self, event); +#line 5891 "Page.c" +} + + +static gboolean page_on_button_pressed_internal (Page* self, GdkEventButton* event) { + gboolean result = FALSE; + GdkEventButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 732 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 732 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 733 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = event; +#line 733 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_->button; +#line 733 "/home/jens/Source/shotwell/src/Page.vala" + switch (_tmp1_) { +#line 733 "/home/jens/Source/shotwell/src/Page.vala" + case 1: +#line 5911 "Page.c" + { + GtkWidget* _tmp2_ = NULL; + GdkEventButton* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + GdkEventButton* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + GdkEventButton* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 735 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->event_source; +#line 735 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != NULL) { +#line 5924 "Page.c" + GtkWidget* _tmp3_ = NULL; +#line 736 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->event_source; +#line 736 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_grab_focus (_tmp3_); +#line 5930 "Page.c" + } +#line 739 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = event; +#line 739 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_->x; +#line 739 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_down.x = (gint) _tmp5_; +#line 740 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = event; +#line 740 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_->y; +#line 740 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_down.y = (gint) _tmp7_; +#line 742 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = event; +#line 742 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = page_on_left_click (self, _tmp8_); +#line 742 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp9_; +#line 742 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5952 "Page.c" + } +#line 733 "/home/jens/Source/shotwell/src/Page.vala" + case 2: +#line 5956 "Page.c" + { + GdkEventButton* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 745 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = event; +#line 745 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = page_on_middle_click (self, _tmp10_); +#line 745 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp11_; +#line 745 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5968 "Page.c" + } +#line 733 "/home/jens/Source/shotwell/src/Page.vala" + case 3: +#line 5972 "Page.c" + { + GdkEventButton* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 748 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = event; +#line 748 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = page_on_right_click (self, _tmp12_); +#line 748 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp13_; +#line 748 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5984 "Page.c" + } + default: + { +#line 751 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 751 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 5992 "Page.c" + } + } +} + + +static gboolean page_on_button_released_internal (Page* self, GdkEventButton* event) { + gboolean result = FALSE; + GdkEventButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 755 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 755 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 756 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = event; +#line 756 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_->button; +#line 756 "/home/jens/Source/shotwell/src/Page.vala" + switch (_tmp1_) { +#line 756 "/home/jens/Source/shotwell/src/Page.vala" + case 1: +#line 6014 "Page.c" + { + GdkPoint _tmp2_ = {0}; + GdkEventButton* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 759 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_.x = -1; +#line 759 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_.y = -1; +#line 759 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_down = _tmp2_; +#line 761 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = event; +#line 761 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_on_left_released (self, _tmp3_); +#line 761 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp4_; +#line 761 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6033 "Page.c" + } +#line 756 "/home/jens/Source/shotwell/src/Page.vala" + case 2: +#line 6037 "Page.c" + { + GdkEventButton* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 764 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = event; +#line 764 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = page_on_middle_released (self, _tmp5_); +#line 764 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp6_; +#line 764 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6049 "Page.c" + } +#line 756 "/home/jens/Source/shotwell/src/Page.vala" + case 3: +#line 6053 "Page.c" + { + GdkEventButton* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 767 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = event; +#line 767 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = page_on_right_released (self, _tmp7_); +#line 767 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp8_; +#line 767 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6065 "Page.c" + } + default: + { +#line 770 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 770 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6073 "Page.c" + } + } +} + + +static gboolean page_real_on_ctrl_pressed (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 775 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 775 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6085 "Page.c" +} + + +gboolean page_on_ctrl_pressed (Page* self, GdkEventKey* event) { +#line 774 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 774 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_ctrl_pressed (self, event); +#line 6094 "Page.c" +} + + +static gboolean page_real_on_ctrl_released (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 779 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 779 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6104 "Page.c" +} + + +gboolean page_on_ctrl_released (Page* self, GdkEventKey* event) { +#line 778 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 778 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_ctrl_released (self, event); +#line 6113 "Page.c" +} + + +static gboolean page_real_on_alt_pressed (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 783 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 783 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6123 "Page.c" +} + + +gboolean page_on_alt_pressed (Page* self, GdkEventKey* event) { +#line 782 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 782 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_alt_pressed (self, event); +#line 6132 "Page.c" +} + + +static gboolean page_real_on_alt_released (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 787 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 787 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6142 "Page.c" +} + + +gboolean page_on_alt_released (Page* self, GdkEventKey* event) { +#line 786 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 786 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_alt_released (self, event); +#line 6151 "Page.c" +} + + +static gboolean page_real_on_shift_pressed (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 791 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 791 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6161 "Page.c" +} + + +gboolean page_on_shift_pressed (Page* self, GdkEventKey* event) { +#line 790 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 790 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_shift_pressed (self, event); +#line 6170 "Page.c" +} + + +static gboolean page_real_on_shift_released (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 795 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 795 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6180 "Page.c" +} + + +gboolean page_on_shift_released (Page* self, GdkEventKey* event) { +#line 794 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 794 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_shift_released (self, event); +#line 6189 "Page.c" +} + + +static gboolean page_real_on_super_pressed (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 799 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 799 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6199 "Page.c" +} + + +gboolean page_on_super_pressed (Page* self, GdkEventKey* event) { +#line 798 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 798 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_super_pressed (self, event); +#line 6208 "Page.c" +} + + +static gboolean page_real_on_super_released (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 803 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 803 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6218 "Page.c" +} + + +gboolean page_on_super_released (Page* self, GdkEventKey* event) { +#line 802 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 802 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_super_released (self, event); +#line 6227 "Page.c" +} + + +static gboolean page_real_on_app_key_pressed (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 806 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 807 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 807 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6239 "Page.c" +} + + +gboolean page_on_app_key_pressed (Page* self, GdkEventKey* event) { +#line 806 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 806 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_app_key_pressed (self, event); +#line 6248 "Page.c" +} + + +static gboolean page_real_on_app_key_released (Page* self, GdkEventKey* event) { + gboolean result = FALSE; +#line 810 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 811 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 811 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6260 "Page.c" +} + + +gboolean page_on_app_key_released (Page* self, GdkEventKey* event) { +#line 810 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 810 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_app_key_released (self, event); +#line 6269 "Page.c" +} + + +gboolean page_notify_app_key_pressed (Page* self, GdkEventKey* event) { + gboolean result = FALSE; + gboolean ctrl_currently_pressed = FALSE; + gboolean alt_currently_pressed = FALSE; + gboolean shift_currently_pressed = FALSE; + gboolean super_currently_pressed = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + GdkEventKey* _tmp4_ = NULL; + guint _tmp5_ = 0U; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GQuark _tmp9_ = 0U; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label0 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label1 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label2 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label3 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label4 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label5 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label6 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label7 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label8 = 0; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label9 = 0; +#line 6308 "Page.c" + GdkEventKey* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 814 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 814 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 817 "/home/jens/Source/shotwell/src/Page.vala" + page_get_modifiers (self, &_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_); +#line 817 "/home/jens/Source/shotwell/src/Page.vala" + ctrl_currently_pressed = _tmp0_; +#line 817 "/home/jens/Source/shotwell/src/Page.vala" + alt_currently_pressed = _tmp1_; +#line 817 "/home/jens/Source/shotwell/src/Page.vala" + shift_currently_pressed = _tmp2_; +#line 817 "/home/jens/Source/shotwell/src/Page.vala" + super_currently_pressed = _tmp3_; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = event; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_->keyval; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = gdk_keyval_name (_tmp5_); +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_; +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = (NULL == _tmp7_) ? 0 : g_quark_from_string (_tmp7_); +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + if ((_tmp9_ == ((0 != _tmp8_label0) ? _tmp8_label0 : (_tmp8_label0 = g_quark_from_static_string ("Control_L")))) || (_tmp9_ == ((0 != _tmp8_label1) ? _tmp8_label1 : (_tmp8_label1 = g_quark_from_static_string ("Control_R"))))) { +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 6339 "Page.c" + default: + { + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + GdkEventKey* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = ctrl_currently_pressed; +#line 823 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp11_) { +#line 823 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = TRUE; +#line 6352 "Page.c" + } else { + gboolean _tmp12_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->priv->ctrl_pressed; +#line 823 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp12_; +#line 6359 "Page.c" + } +#line 823 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp10_) { +#line 824 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 824 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6367 "Page.c" + } +#line 826 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->ctrl_pressed = TRUE; +#line 828 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = event; +#line 828 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = page_on_ctrl_pressed (self, _tmp13_); +#line 828 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp14_; +#line 828 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6379 "Page.c" + } + } + } else if ((((_tmp9_ == ((0 != _tmp8_label2) ? _tmp8_label2 : (_tmp8_label2 = g_quark_from_static_string ("Meta_L")))) || (_tmp9_ == ((0 != _tmp8_label3) ? _tmp8_label3 : (_tmp8_label3 = g_quark_from_static_string ("Meta_R"))))) || (_tmp9_ == ((0 != _tmp8_label4) ? _tmp8_label4 : (_tmp8_label4 = g_quark_from_static_string ("Alt_L"))))) || (_tmp9_ == ((0 != _tmp8_label5) ? _tmp8_label5 : (_tmp8_label5 = g_quark_from_static_string ("Alt_R"))))) { +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 6385 "Page.c" + default: + { + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + GdkEventKey* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 834 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = alt_currently_pressed; +#line 834 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp16_) { +#line 834 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = TRUE; +#line 6398 "Page.c" + } else { + gboolean _tmp17_ = FALSE; +#line 834 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = self->priv->alt_pressed; +#line 834 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _tmp17_; +#line 6405 "Page.c" + } +#line 834 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp15_) { +#line 835 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 835 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6413 "Page.c" + } +#line 837 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->alt_pressed = TRUE; +#line 839 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = event; +#line 839 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = page_on_alt_pressed (self, _tmp18_); +#line 839 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp19_; +#line 839 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6425 "Page.c" + } + } + } else if ((_tmp9_ == ((0 != _tmp8_label6) ? _tmp8_label6 : (_tmp8_label6 = g_quark_from_static_string ("Shift_L")))) || (_tmp9_ == ((0 != _tmp8_label7) ? _tmp8_label7 : (_tmp8_label7 = g_quark_from_static_string ("Shift_R"))))) { +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 6431 "Page.c" + default: + { + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + GdkEventKey* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 843 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = shift_currently_pressed; +#line 843 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp21_) { +#line 843 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = TRUE; +#line 6444 "Page.c" + } else { + gboolean _tmp22_ = FALSE; +#line 843 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = self->priv->shift_pressed; +#line 843 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp22_; +#line 6451 "Page.c" + } +#line 843 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp20_) { +#line 844 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 844 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6459 "Page.c" + } +#line 846 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->shift_pressed = TRUE; +#line 848 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = event; +#line 848 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = page_on_shift_pressed (self, _tmp23_); +#line 848 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp24_; +#line 848 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6471 "Page.c" + } + } + } else if ((_tmp9_ == ((0 != _tmp8_label8) ? _tmp8_label8 : (_tmp8_label8 = g_quark_from_static_string ("Super_L")))) || (_tmp9_ == ((0 != _tmp8_label9) ? _tmp8_label9 : (_tmp8_label9 = g_quark_from_static_string ("Super_R"))))) { +#line 820 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 6477 "Page.c" + default: + { + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; + GdkEventKey* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 852 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = super_currently_pressed; +#line 852 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp26_) { +#line 852 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = TRUE; +#line 6490 "Page.c" + } else { + gboolean _tmp27_ = FALSE; +#line 852 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = self->priv->super_pressed; +#line 852 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = _tmp27_; +#line 6497 "Page.c" + } +#line 852 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp25_) { +#line 853 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 853 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6505 "Page.c" + } +#line 855 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->super_pressed = TRUE; +#line 857 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = event; +#line 857 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = page_on_super_pressed (self, _tmp28_); +#line 857 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp29_; +#line 857 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6517 "Page.c" + } + } + } +#line 860 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = event; +#line 860 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = page_on_app_key_pressed (self, _tmp30_); +#line 860 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp31_; +#line 860 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6529 "Page.c" +} + + +gboolean page_notify_app_key_released (Page* self, GdkEventKey* event) { + gboolean result = FALSE; + gboolean ctrl_currently_pressed = FALSE; + gboolean alt_currently_pressed = FALSE; + gboolean shift_currently_pressed = FALSE; + gboolean super_currently_pressed = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + GdkEventKey* _tmp4_ = NULL; + guint _tmp5_ = 0U; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GQuark _tmp9_ = 0U; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label0 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label1 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label2 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label3 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label4 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label5 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label6 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label7 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label8 = 0; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp8_label9 = 0; +#line 6568 "Page.c" + GdkEventKey* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 863 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 863 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 866 "/home/jens/Source/shotwell/src/Page.vala" + page_get_modifiers (self, &_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_); +#line 866 "/home/jens/Source/shotwell/src/Page.vala" + ctrl_currently_pressed = _tmp0_; +#line 866 "/home/jens/Source/shotwell/src/Page.vala" + alt_currently_pressed = _tmp1_; +#line 866 "/home/jens/Source/shotwell/src/Page.vala" + shift_currently_pressed = _tmp2_; +#line 866 "/home/jens/Source/shotwell/src/Page.vala" + super_currently_pressed = _tmp3_; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = event; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_->keyval; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = gdk_keyval_name (_tmp5_); +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_; +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = (NULL == _tmp7_) ? 0 : g_quark_from_string (_tmp7_); +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + if ((_tmp9_ == ((0 != _tmp8_label0) ? _tmp8_label0 : (_tmp8_label0 = g_quark_from_static_string ("Control_L")))) || (_tmp9_ == ((0 != _tmp8_label1) ? _tmp8_label1 : (_tmp8_label1 = g_quark_from_static_string ("Control_R"))))) { +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 6599 "Page.c" + default: + { + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + GdkEventKey* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 872 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = ctrl_currently_pressed; +#line 872 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp11_) { +#line 872 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = TRUE; +#line 6612 "Page.c" + } else { + gboolean _tmp12_ = FALSE; +#line 872 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->priv->ctrl_pressed; +#line 872 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = !_tmp12_; +#line 6619 "Page.c" + } +#line 872 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp10_) { +#line 873 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 873 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6627 "Page.c" + } +#line 875 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->ctrl_pressed = FALSE; +#line 877 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = event; +#line 877 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = page_on_ctrl_released (self, _tmp13_); +#line 877 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp14_; +#line 877 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6639 "Page.c" + } + } + } else if ((((_tmp9_ == ((0 != _tmp8_label2) ? _tmp8_label2 : (_tmp8_label2 = g_quark_from_static_string ("Meta_L")))) || (_tmp9_ == ((0 != _tmp8_label3) ? _tmp8_label3 : (_tmp8_label3 = g_quark_from_static_string ("Meta_R"))))) || (_tmp9_ == ((0 != _tmp8_label4) ? _tmp8_label4 : (_tmp8_label4 = g_quark_from_static_string ("Alt_L"))))) || (_tmp9_ == ((0 != _tmp8_label5) ? _tmp8_label5 : (_tmp8_label5 = g_quark_from_static_string ("Alt_R"))))) { +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 6645 "Page.c" + default: + { + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + GdkEventKey* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 883 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = alt_currently_pressed; +#line 883 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp16_) { +#line 883 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = TRUE; +#line 6658 "Page.c" + } else { + gboolean _tmp17_ = FALSE; +#line 883 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = self->priv->alt_pressed; +#line 883 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = !_tmp17_; +#line 6665 "Page.c" + } +#line 883 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp15_) { +#line 884 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 884 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6673 "Page.c" + } +#line 886 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->alt_pressed = FALSE; +#line 888 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = event; +#line 888 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = page_on_alt_released (self, _tmp18_); +#line 888 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp19_; +#line 888 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6685 "Page.c" + } + } + } else if ((_tmp9_ == ((0 != _tmp8_label6) ? _tmp8_label6 : (_tmp8_label6 = g_quark_from_static_string ("Shift_L")))) || (_tmp9_ == ((0 != _tmp8_label7) ? _tmp8_label7 : (_tmp8_label7 = g_quark_from_static_string ("Shift_R"))))) { +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 6691 "Page.c" + default: + { + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + GdkEventKey* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 892 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = shift_currently_pressed; +#line 892 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp21_) { +#line 892 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = TRUE; +#line 6704 "Page.c" + } else { + gboolean _tmp22_ = FALSE; +#line 892 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = self->priv->shift_pressed; +#line 892 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = !_tmp22_; +#line 6711 "Page.c" + } +#line 892 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp20_) { +#line 893 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 893 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6719 "Page.c" + } +#line 895 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->shift_pressed = FALSE; +#line 897 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = event; +#line 897 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = page_on_shift_released (self, _tmp23_); +#line 897 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp24_; +#line 897 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6731 "Page.c" + } + } + } else if ((_tmp9_ == ((0 != _tmp8_label8) ? _tmp8_label8 : (_tmp8_label8 = g_quark_from_static_string ("Super_L")))) || (_tmp9_ == ((0 != _tmp8_label9) ? _tmp8_label9 : (_tmp8_label9 = g_quark_from_static_string ("Super_R"))))) { +#line 869 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 6737 "Page.c" + default: + { + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; + GdkEventKey* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 901 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = super_currently_pressed; +#line 901 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp26_) { +#line 901 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = TRUE; +#line 6750 "Page.c" + } else { + gboolean _tmp27_ = FALSE; +#line 901 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = self->priv->super_pressed; +#line 901 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = !_tmp27_; +#line 6757 "Page.c" + } +#line 901 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp25_) { +#line 902 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 902 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6765 "Page.c" + } +#line 904 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->super_pressed = FALSE; +#line 906 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = event; +#line 906 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = page_on_super_released (self, _tmp28_); +#line 906 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp29_; +#line 906 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6777 "Page.c" + } + } + } +#line 909 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = event; +#line 909 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = page_on_app_key_released (self, _tmp30_); +#line 909 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp31_; +#line 909 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6789 "Page.c" +} + + +gboolean page_notify_app_focus_in (Page* self, GdkEventFocus* event) { + gboolean result = FALSE; +#line 912 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 912 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 913 "/home/jens/Source/shotwell/src/Page.vala" + page_update_modifiers (self); +#line 915 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 915 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6805 "Page.c" +} + + +gboolean page_notify_app_focus_out (Page* self, GdkEventFocus* event) { + gboolean result = FALSE; +#line 918 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 918 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 919 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 919 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6819 "Page.c" +} + + +static void page_real_on_move (Page* self, GdkRectangle* rect) { +#line 922 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (rect != NULL); +#line 6826 "Page.c" +} + + +void page_on_move (Page* self, GdkRectangle* rect) { +#line 922 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 922 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->on_move (self, rect); +#line 6835 "Page.c" +} + + +static void page_real_on_move_start (Page* self, GdkRectangle* rect) { +#line 925 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (rect != NULL); +#line 6842 "Page.c" +} + + +void page_on_move_start (Page* self, GdkRectangle* rect) { +#line 925 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 925 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->on_move_start (self, rect); +#line 6851 "Page.c" +} + + +static void page_real_on_move_finished (Page* self, GdkRectangle* rect) { +#line 928 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (rect != NULL); +#line 6858 "Page.c" +} + + +void page_on_move_finished (Page* self, GdkRectangle* rect) { +#line 928 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 928 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->on_move_finished (self, rect); +#line 6867 "Page.c" +} + + +static void page_real_on_resize (Page* self, GdkRectangle* rect) { +#line 931 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (rect != NULL); +#line 6874 "Page.c" +} + + +void page_on_resize (Page* self, GdkRectangle* rect) { +#line 931 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 931 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->on_resize (self, rect); +#line 6883 "Page.c" +} + + +static void page_real_on_resize_start (Page* self, GdkRectangle* rect) { +#line 934 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (rect != NULL); +#line 6890 "Page.c" +} + + +void page_on_resize_start (Page* self, GdkRectangle* rect) { +#line 934 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 934 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->on_resize_start (self, rect); +#line 6899 "Page.c" +} + + +static void page_real_on_resize_finished (Page* self, GdkRectangle* rect) { +#line 937 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (rect != NULL); +#line 6906 "Page.c" +} + + +void page_on_resize_finished (Page* self, GdkRectangle* rect) { +#line 937 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 937 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->on_resize_finished (self, rect); +#line 6915 "Page.c" +} + + +static gboolean page_real_on_configure (Page* self, GdkEventConfigure* event, GdkRectangle* rect) { + gboolean result = FALSE; +#line 940 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 940 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (rect != NULL, FALSE); +#line 941 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 941 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6929 "Page.c" +} + + +gboolean page_on_configure (Page* self, GdkEventConfigure* event, GdkRectangle* rect) { +#line 940 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 940 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_configure (self, event, rect); +#line 6938 "Page.c" +} + + +static gboolean _page_check_configure_halted_gsource_func (gpointer self) { + gboolean result; + result = page_check_configure_halted ((Page*) self); +#line 965 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 6947 "Page.c" +} + + +gboolean page_notify_configure_event (Page* self, GdkEventConfigure* event) { + gboolean result = FALSE; + GdkRectangle rect = {0}; + GdkEventConfigure* _tmp0_ = NULL; + gint _tmp1_ = 0; + GdkEventConfigure* _tmp2_ = NULL; + gint _tmp3_ = 0; + GdkEventConfigure* _tmp4_ = NULL; + gint _tmp5_ = 0; + GdkEventConfigure* _tmp6_ = NULL; + gint _tmp7_ = 0; + gulong _tmp8_ = 0UL; + gboolean _tmp29_ = FALSE; + GdkRectangle _tmp30_ = {0}; + gint _tmp31_ = 0; + GdkRectangle _tmp32_ = {0}; + gint _tmp33_ = 0; + gboolean _tmp39_ = FALSE; + GdkRectangle _tmp40_ = {0}; + gint _tmp41_ = 0; + GdkRectangle _tmp42_ = {0}; + gint _tmp43_ = 0; + GdkRectangle _tmp49_ = {0}; + gulong _tmp50_ = 0UL; + GdkEventConfigure* _tmp51_ = NULL; + GdkRectangle _tmp52_ = {0}; + gboolean _tmp53_ = FALSE; +#line 944 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 944 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 945 "/home/jens/Source/shotwell/src/Page.vala" + memset (&rect, 0, sizeof (GdkRectangle)); +#line 946 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = event; +#line 946 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_->x; +#line 946 "/home/jens/Source/shotwell/src/Page.vala" + rect.x = _tmp1_; +#line 947 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = event; +#line 947 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_->y; +#line 947 "/home/jens/Source/shotwell/src/Page.vala" + rect.y = _tmp3_; +#line 948 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = event; +#line 948 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_->width; +#line 948 "/home/jens/Source/shotwell/src/Page.vala" + rect.width = _tmp5_; +#line 949 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = event; +#line 949 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_->height; +#line 949 "/home/jens/Source/shotwell/src/Page.vala" + rect.height = _tmp7_; +#line 952 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->priv->last_configure_ms; +#line 952 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp8_ == ((gulong) 0)) { +#line 7012 "Page.c" + gboolean _tmp9_ = FALSE; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + gboolean _tmp19_ = FALSE; + GdkRectangle _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkRectangle _tmp22_ = {0}; + gint _tmp23_ = 0; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->priv->last_position; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp10_.x; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = rect; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_.x; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp11_ != _tmp13_) { +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = TRUE; +#line 7035 "Page.c" + } else { + GdkRectangle _tmp14_ = {0}; + gint _tmp15_ = 0; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = self->priv->last_position; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _tmp14_.y; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = rect; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = _tmp16_.y; +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _tmp15_ != _tmp17_; +#line 7051 "Page.c" + } +#line 953 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp9_) { +#line 7055 "Page.c" + GdkRectangle _tmp18_ = {0}; +#line 954 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = rect; +#line 954 "/home/jens/Source/shotwell/src/Page.vala" + page_on_move_start (self, &_tmp18_); +#line 955 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->report_move_finished = TRUE; +#line 7063 "Page.c" + } +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = self->priv->last_position; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = _tmp20_.width; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = rect; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = _tmp22_.width; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp21_ != _tmp23_) { +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = TRUE; +#line 7077 "Page.c" + } else { + GdkRectangle _tmp24_ = {0}; + gint _tmp25_ = 0; + GdkRectangle _tmp26_ = {0}; + gint _tmp27_ = 0; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = self->priv->last_position; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = _tmp24_.height; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = rect; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = _tmp26_.height; +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = _tmp25_ != _tmp27_; +#line 7093 "Page.c" + } +#line 958 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp19_) { +#line 7097 "Page.c" + GdkRectangle _tmp28_ = {0}; +#line 959 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = rect; +#line 959 "/home/jens/Source/shotwell/src/Page.vala" + page_on_resize_start (self, &_tmp28_); +#line 960 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->report_resize_finished = TRUE; +#line 7105 "Page.c" + } +#line 965 "/home/jens/Source/shotwell/src/Page.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) (PAGE_CONSIDER_CONFIGURE_HALTED_MSEC / 8), _page_check_configure_halted_gsource_func, g_object_ref (self), g_object_unref); +#line 7109 "Page.c" + } +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = self->priv->last_position; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = _tmp30_.x; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = rect; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = _tmp32_.x; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp31_ != _tmp33_) { +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = TRUE; +#line 7123 "Page.c" + } else { + GdkRectangle _tmp34_ = {0}; + gint _tmp35_ = 0; + GdkRectangle _tmp36_ = {0}; + gint _tmp37_ = 0; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = self->priv->last_position; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = _tmp34_.y; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = rect; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = _tmp36_.y; +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _tmp35_ != _tmp37_; +#line 7139 "Page.c" + } +#line 968 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp29_) { +#line 7143 "Page.c" + GdkRectangle _tmp38_ = {0}; +#line 969 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = rect; +#line 969 "/home/jens/Source/shotwell/src/Page.vala" + page_on_move (self, &_tmp38_); +#line 7149 "Page.c" + } +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = self->priv->last_position; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = _tmp40_.width; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = rect; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = _tmp42_.width; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp41_ != _tmp43_) { +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = TRUE; +#line 7163 "Page.c" + } else { + GdkRectangle _tmp44_ = {0}; + gint _tmp45_ = 0; + GdkRectangle _tmp46_ = {0}; + gint _tmp47_ = 0; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = self->priv->last_position; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = _tmp44_.height; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = rect; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = _tmp46_.height; +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = _tmp45_ != _tmp47_; +#line 7179 "Page.c" + } +#line 971 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp39_) { +#line 7183 "Page.c" + GdkRectangle _tmp48_ = {0}; +#line 972 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = rect; +#line 972 "/home/jens/Source/shotwell/src/Page.vala" + page_on_resize (self, &_tmp48_); +#line 7189 "Page.c" + } +#line 974 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49_ = rect; +#line 974 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_position = _tmp49_; +#line 975 "/home/jens/Source/shotwell/src/Page.vala" + _tmp50_ = now_ms (); +#line 975 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_configure_ms = _tmp50_; +#line 977 "/home/jens/Source/shotwell/src/Page.vala" + _tmp51_ = event; +#line 977 "/home/jens/Source/shotwell/src/Page.vala" + _tmp52_ = rect; +#line 977 "/home/jens/Source/shotwell/src/Page.vala" + _tmp53_ = page_on_configure (self, _tmp51_, &_tmp52_); +#line 977 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp53_; +#line 977 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7209 "Page.c" +} + + +static gboolean page_check_configure_halted (Page* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gulong _tmp1_ = 0UL; + gulong _tmp2_ = 0UL; + GtkAllocation allocation = {0}; + GtkAllocation _tmp3_ = {0}; + gboolean _tmp4_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 980 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 981 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->is_destroyed; +#line 981 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 982 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 982 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7232 "Page.c" + } +#line 984 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = now_ms (); +#line 984 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->last_configure_ms; +#line 984 "/home/jens/Source/shotwell/src/Page.vala" + if ((_tmp1_ - _tmp2_) < ((gulong) PAGE_CONSIDER_CONFIGURE_HALTED_MSEC)) { +#line 985 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 985 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7244 "Page.c" + } +#line 988 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp3_); +#line 988 "/home/jens/Source/shotwell/src/Page.vala" + allocation = _tmp3_; +#line 990 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->report_move_finished; +#line 990 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_) { +#line 7254 "Page.c" + GtkAllocation _tmp5_ = {0}; + GdkRectangle _tmp6_ = {0}; +#line 991 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = allocation; +#line 991 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = (GdkRectangle) _tmp5_; +#line 991 "/home/jens/Source/shotwell/src/Page.vala" + page_on_move_finished (self, &_tmp6_); +#line 7263 "Page.c" + } +#line 993 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->report_resize_finished; +#line 993 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp7_) { +#line 7269 "Page.c" + GtkAllocation _tmp8_ = {0}; + GdkRectangle _tmp9_ = {0}; +#line 994 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = allocation; +#line 994 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = (GdkRectangle) _tmp8_; +#line 994 "/home/jens/Source/shotwell/src/Page.vala" + page_on_resize_finished (self, &_tmp9_); +#line 7278 "Page.c" + } +#line 996 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_configure_ms = (gulong) 0; +#line 997 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->report_move_finished = FALSE; +#line 998 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->report_resize_finished = FALSE; +#line 1000 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1000 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7290 "Page.c" +} + + +static gboolean page_real_on_motion (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask) { + gboolean result = FALSE; +#line 1003 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1004 "/home/jens/Source/shotwell/src/Page.vala" + page_check_cursor_hiding (self); +#line 1006 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1006 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7304 "Page.c" +} + + +gboolean page_on_motion (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask) { +#line 1003 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1003 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_motion (self, event, x, y, mask); +#line 7313 "Page.c" +} + + +static gboolean page_real_on_leave_notify_event (Page* self) { + gboolean result = FALSE; +#line 1010 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1010 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7323 "Page.c" +} + + +gboolean page_on_leave_notify_event (Page* self) { +#line 1009 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1009 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_leave_notify_event (self); +#line 7332 "Page.c" +} + + +static gboolean page_on_motion_internal (Page* self, GdkEventMotion* event) { + gboolean result = FALSE; + gint x = 0; + gint y = 0; + GdkModifierType mask = 0; + GdkEventMotion* _tmp0_ = NULL; + gint16 _tmp1_ = 0; + GdkEventMotion* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + GdkModifierType _tmp14_ = 0; + gboolean _tmp15_ = FALSE; +#line 1013 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1013 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1016 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = event; +#line 1016 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_->is_hint; +#line 1016 "/home/jens/Source/shotwell/src/Page.vala" + if (((gint) _tmp1_) == 1) { +#line 7358 "Page.c" + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GdkModifierType _tmp4_ = 0; +#line 1017 "/home/jens/Source/shotwell/src/Page.vala" + page_get_event_source_pointer (self, &_tmp2_, &_tmp3_, &_tmp4_); +#line 1017 "/home/jens/Source/shotwell/src/Page.vala" + x = _tmp2_; +#line 1017 "/home/jens/Source/shotwell/src/Page.vala" + y = _tmp3_; +#line 1017 "/home/jens/Source/shotwell/src/Page.vala" + mask = _tmp4_; +#line 7370 "Page.c" + } else { + GdkEventMotion* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; + GdkEventMotion* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + GdkEventMotion* _tmp9_ = NULL; + GdkModifierType _tmp10_ = 0; +#line 1019 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = event; +#line 1019 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_->x; +#line 1019 "/home/jens/Source/shotwell/src/Page.vala" + x = (gint) _tmp6_; +#line 1020 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = event; +#line 1020 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_->y; +#line 1020 "/home/jens/Source/shotwell/src/Page.vala" + y = (gint) _tmp8_; +#line 1021 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = event; +#line 1021 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_->state; +#line 1021 "/home/jens/Source/shotwell/src/Page.vala" + mask = _tmp10_; +#line 7396 "Page.c" + } +#line 1024 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = event; +#line 1024 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = x; +#line 1024 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = y; +#line 1024 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = mask; +#line 1024 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = page_on_motion (self, _tmp11_, _tmp12_, _tmp13_, _tmp14_); +#line 1024 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp15_; +#line 1024 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7412 "Page.c" +} + + +static gboolean page_on_mousewheel_internal (Page* self, GdkEventScroll* event) { + gboolean result = FALSE; + GdkEventScroll* _tmp0_ = NULL; + GdkScrollDirection _tmp1_ = 0; +#line 1027 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1027 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1028 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = event; +#line 1028 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_->direction; +#line 1028 "/home/jens/Source/shotwell/src/Page.vala" + switch (_tmp1_) { +#line 1028 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_SCROLL_UP: +#line 7432 "Page.c" + { + GdkEventScroll* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1030 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = event; +#line 1030 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = page_on_mousewheel_up (self, _tmp2_); +#line 1030 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp3_; +#line 1030 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7444 "Page.c" + } +#line 1028 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_SCROLL_DOWN: +#line 7448 "Page.c" + { + GdkEventScroll* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1033 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = event; +#line 1033 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = page_on_mousewheel_down (self, _tmp4_); +#line 1033 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp5_; +#line 1033 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7460 "Page.c" + } +#line 1028 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_SCROLL_LEFT: +#line 7464 "Page.c" + { + GdkEventScroll* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 1036 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = event; +#line 1036 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = page_on_mousewheel_left (self, _tmp6_); +#line 1036 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp7_; +#line 1036 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7476 "Page.c" + } +#line 1028 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_SCROLL_RIGHT: +#line 7480 "Page.c" + { + GdkEventScroll* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 1039 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = event; +#line 1039 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = page_on_mousewheel_right (self, _tmp8_); +#line 1039 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp9_; +#line 1039 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7492 "Page.c" + } + default: + { +#line 1042 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1042 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7500 "Page.c" + } + } +} + + +static gboolean page_real_on_mousewheel_up (Page* self, GdkEventScroll* event) { + gboolean result = FALSE; +#line 1046 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1047 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1047 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7514 "Page.c" +} + + +gboolean page_on_mousewheel_up (Page* self, GdkEventScroll* event) { +#line 1046 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1046 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_mousewheel_up (self, event); +#line 7523 "Page.c" +} + + +static gboolean page_real_on_mousewheel_down (Page* self, GdkEventScroll* event) { + gboolean result = FALSE; +#line 1050 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1051 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1051 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7535 "Page.c" +} + + +gboolean page_on_mousewheel_down (Page* self, GdkEventScroll* event) { +#line 1050 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1050 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_mousewheel_down (self, event); +#line 7544 "Page.c" +} + + +static gboolean page_real_on_mousewheel_left (Page* self, GdkEventScroll* event) { + gboolean result = FALSE; +#line 1054 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1055 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1055 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7556 "Page.c" +} + + +gboolean page_on_mousewheel_left (Page* self, GdkEventScroll* event) { +#line 1054 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1054 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_mousewheel_left (self, event); +#line 7565 "Page.c" +} + + +static gboolean page_real_on_mousewheel_right (Page* self, GdkEventScroll* event) { + gboolean result = FALSE; +#line 1058 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1059 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1059 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7577 "Page.c" +} + + +gboolean page_on_mousewheel_right (Page* self, GdkEventScroll* event) { +#line 1058 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1058 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_mousewheel_right (self, event); +#line 7586 "Page.c" +} + + +static gboolean page_real_on_context_keypress (Page* self) { + gboolean result = FALSE; +#line 1063 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1063 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7596 "Page.c" +} + + +gboolean page_on_context_keypress (Page* self) { +#line 1062 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1062 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_context_keypress (self); +#line 7605 "Page.c" +} + + +static gboolean page_real_on_context_buttonpress (Page* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 1066 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1067 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1067 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7617 "Page.c" +} + + +gboolean page_on_context_buttonpress (Page* self, GdkEventButton* event) { +#line 1066 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1066 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_context_buttonpress (self, event); +#line 7626 "Page.c" +} + + +static gboolean page_real_on_context_invoked (Page* self) { + gboolean result = FALSE; +#line 1071 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1071 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7636 "Page.c" +} + + +gboolean page_on_context_invoked (Page* self) { +#line 1070 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1070 "/home/jens/Source/shotwell/src/Page.vala" + return PAGE_GET_CLASS (self)->on_context_invoked (self); +#line 7645 "Page.c" +} + + +gboolean page_popup_context_menu (Page* self, GtkMenu* context_menu, GdkEventButton* event) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GtkMenu* _tmp1_ = NULL; + GdkEventButton* _tmp3_ = NULL; +#line 1074 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1074 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail ((context_menu == NULL) || GTK_IS_MENU (context_menu), FALSE); +#line 1077 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = context_menu; +#line 1077 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_ == NULL) { +#line 1077 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = TRUE; +#line 7664 "Page.c" + } else { + gboolean _tmp2_ = FALSE; +#line 1077 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_on_context_invoked (self); +#line 1077 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = !_tmp2_; +#line 7671 "Page.c" + } +#line 1077 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 1078 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1078 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7679 "Page.c" + } +#line 1080 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = event; +#line 1080 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_ == NULL) { +#line 7685 "Page.c" + GtkMenu* _tmp4_ = NULL; + guint32 _tmp5_ = 0U; +#line 1081 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = context_menu; +#line 1081 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = gtk_get_current_event_time (); +#line 1081 "/home/jens/Source/shotwell/src/Page.vala" + gtk_menu_popup (_tmp4_, NULL, NULL, NULL, NULL, (guint) 0, _tmp5_); +#line 7694 "Page.c" + } else { + GtkMenu* _tmp6_ = NULL; + GdkEventButton* _tmp7_ = NULL; + guint _tmp8_ = 0U; + GdkEventButton* _tmp9_ = NULL; + guint32 _tmp10_ = 0U; +#line 1083 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = context_menu; +#line 1083 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = event; +#line 1083 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_->button; +#line 1083 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = event; +#line 1083 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_->time; +#line 1083 "/home/jens/Source/shotwell/src/Page.vala" + gtk_menu_popup (_tmp6_, NULL, NULL, NULL, NULL, _tmp8_, _tmp10_); +#line 7713 "Page.c" + } +#line 1085 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1085 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 7719 "Page.c" +} + + +void page_on_event_source_realize (Page* self) { + GtkWidget* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + GdkWindow* _tmp3_ = NULL; + GdkCursor* _tmp4_ = NULL; + GdkWindow* parent_window = NULL; + GtkWidget* _tmp9_ = NULL; + GdkWindow* _tmp10_ = NULL; + GdkWindow* _tmp11_ = NULL; + GdkWindow* _tmp20_ = NULL; +#line 1088 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 1089 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->event_source; +#line 1089 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = gtk_widget_get_window (_tmp0_); +#line 1089 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp1_ != NULL, "event_source.get_window() != null"); +#line 1091 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->event_source; +#line 1091 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gtk_widget_get_window (_tmp2_); +#line 1091 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = gdk_window_get_cursor (_tmp3_); +#line 1091 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_ != NULL) { +#line 7750 "Page.c" + GtkWidget* _tmp5_ = NULL; + GdkWindow* _tmp6_ = NULL; + GdkCursor* _tmp7_ = NULL; + GdkCursorType _tmp8_ = 0; +#line 1092 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->event_source; +#line 1092 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = gtk_widget_get_window (_tmp5_); +#line 1092 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = gdk_window_get_cursor (_tmp6_); +#line 1092 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = gdk_cursor_get_cursor_type (_tmp7_); +#line 1092 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_cursor = _tmp8_; +#line 1093 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 7767 "Page.c" + } +#line 1097 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->event_source; +#line 1097 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = gtk_widget_get_window (_tmp9_); +#line 1097 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 1097 "/home/jens/Source/shotwell/src/Page.vala" + parent_window = _tmp11_; +#line 7777 "Page.c" + { + gboolean _tmp12_ = FALSE; +#line 1098 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = TRUE; +#line 1098 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 7784 "Page.c" + GdkWindow* _tmp17_ = NULL; + GdkWindow* _tmp18_ = NULL; + GdkWindow* _tmp19_ = NULL; +#line 1098 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp12_) { +#line 7790 "Page.c" + gboolean _tmp13_ = FALSE; + GdkWindow* _tmp14_ = NULL; +#line 1100 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = parent_window; +#line 1100 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp14_ != NULL) { +#line 7797 "Page.c" + GdkWindow* _tmp15_ = NULL; + GdkCursor* _tmp16_ = NULL; +#line 1100 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = parent_window; +#line 1100 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = gdk_window_get_cursor (_tmp15_); +#line 1100 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp16_ == NULL; +#line 7806 "Page.c" + } else { +#line 1100 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = FALSE; +#line 7810 "Page.c" + } +#line 1100 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp13_) { +#line 1100 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 7816 "Page.c" + } + } +#line 1098 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = FALSE; +#line 1099 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = parent_window; +#line 1099 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = gdk_window_get_parent (_tmp17_); +#line 1099 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = _g_object_ref0 (_tmp18_); +#line 1099 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (parent_window); +#line 1099 "/home/jens/Source/shotwell/src/Page.vala" + parent_window = _tmp19_; +#line 7831 "Page.c" + } + } +#line 1102 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = parent_window; +#line 1102 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp20_ != NULL) { +#line 7838 "Page.c" + GdkWindow* _tmp21_ = NULL; + GdkCursor* _tmp22_ = NULL; + GdkCursorType _tmp23_ = 0; +#line 1103 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = parent_window; +#line 1103 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = gdk_window_get_cursor (_tmp21_); +#line 1103 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = gdk_cursor_get_cursor_type (_tmp22_); +#line 1103 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_cursor = _tmp23_; +#line 7850 "Page.c" + } +#line 1088 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (parent_window); +#line 7854 "Page.c" +} + + +void page_set_cursor_hide_time (Page* self, gint hide_time) { + gint _tmp0_ = 0; +#line 1106 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 1107 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = hide_time; +#line 1107 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hide_msec = _tmp0_; +#line 7866 "Page.c" +} + + +void page_start_cursor_hiding (Page* self) { +#line 1110 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 1111 "/home/jens/Source/shotwell/src/Page.vala" + page_check_cursor_hiding (self); +#line 7875 "Page.c" +} + + +void page_stop_cursor_hiding (Page* self) { + guint _tmp0_ = 0U; +#line 1114 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 1115 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->last_timeout_id; +#line 1115 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ != ((guint) 0)) { +#line 7887 "Page.c" + guint _tmp1_ = 0U; +#line 1116 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->last_timeout_id; +#line 1116 "/home/jens/Source/shotwell/src/Page.vala" + g_source_remove (_tmp1_); +#line 7893 "Page.c" + } +} + + +void page_suspend_cursor_hiding (Page* self) { + gint _tmp0_ = 0; + guint _tmp1_ = 0U; +#line 1119 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 1120 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->cursor_hide_msec; +#line 1120 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hide_time_cached = _tmp0_; +#line 1122 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->last_timeout_id; +#line 1122 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_ != ((guint) 0)) { +#line 7911 "Page.c" + guint _tmp2_ = 0U; +#line 1123 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->last_timeout_id; +#line 1123 "/home/jens/Source/shotwell/src/Page.vala" + g_source_remove (_tmp2_); +#line 7917 "Page.c" + } +#line 1125 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hide_msec = 0; +#line 7921 "Page.c" +} + + +void page_restore_cursor_hiding (Page* self) { + gint _tmp0_ = 0; +#line 1128 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 1129 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->cursor_hide_time_cached; +#line 1129 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hide_msec = _tmp0_; +#line 1130 "/home/jens/Source/shotwell/src/Page.vala" + page_check_cursor_hiding (self); +#line 7935 "Page.c" +} + + +static void page_real_set_page_cursor (Page* self, GdkCursorType cursor_type) { + GdkCursorType _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 1135 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = cursor_type; +#line 1135 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_cursor = _tmp0_; +#line 1137 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->cursor_hidden; +#line 1137 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp2_) { +#line 7951 "Page.c" + GtkWidget* _tmp3_ = NULL; +#line 1137 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->event_source; +#line 1137 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp3_ != NULL; +#line 7957 "Page.c" + } else { +#line 1137 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = FALSE; +#line 7961 "Page.c" + } +#line 1137 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_) { +#line 7965 "Page.c" + GtkWidget* _tmp4_ = NULL; + GdkWindow* _tmp5_ = NULL; + GdkCursorType _tmp6_ = 0; + GdkCursor* _tmp7_ = NULL; + GdkCursor* _tmp8_ = NULL; +#line 1138 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->event_source; +#line 1138 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = gtk_widget_get_window (_tmp4_); +#line 1138 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = cursor_type; +#line 1138 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = gdk_cursor_new (_tmp6_); +#line 1138 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_; +#line 1138 "/home/jens/Source/shotwell/src/Page.vala" + gdk_window_set_cursor (_tmp5_, _tmp8_); +#line 1138 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp8_); +#line 7985 "Page.c" + } +} + + +void page_set_page_cursor (Page* self, GdkCursorType cursor_type) { +#line 1134 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 1134 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_GET_CLASS (self)->set_page_cursor (self, cursor_type); +#line 7995 "Page.c" +} + + +static gboolean _page_on_hide_cursor_gsource_func (gpointer self) { + gboolean result; + result = page_on_hide_cursor ((Page*) self); +#line 1150 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8004 "Page.c" +} + + +static void page_check_cursor_hiding (Page* self) { + gboolean _tmp0_ = FALSE; + gint _tmp2_ = 0; +#line 1141 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (self)); +#line 1142 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->cursor_hidden; +#line 1142 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 8017 "Page.c" + GdkCursorType _tmp1_ = 0; +#line 1143 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hidden = FALSE; +#line 1144 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->last_cursor; +#line 1144 "/home/jens/Source/shotwell/src/Page.vala" + page_set_page_cursor (self, _tmp1_); +#line 8025 "Page.c" + } +#line 1147 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->cursor_hide_msec; +#line 1147 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != 0) { +#line 8031 "Page.c" + guint _tmp3_ = 0U; + gint _tmp5_ = 0; + guint _tmp6_ = 0U; +#line 1148 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->last_timeout_id; +#line 1148 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_ != ((guint) 0)) { +#line 8039 "Page.c" + guint _tmp4_ = 0U; +#line 1149 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->last_timeout_id; +#line 1149 "/home/jens/Source/shotwell/src/Page.vala" + g_source_remove (_tmp4_); +#line 8045 "Page.c" + } +#line 1150 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->cursor_hide_msec; +#line 1150 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) _tmp5_, _page_on_hide_cursor_gsource_func, g_object_ref (self), g_object_unref); +#line 1150 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_timeout_id = _tmp6_; +#line 8053 "Page.c" + } +} + + +static gboolean page_on_hide_cursor (Page* self) { + gboolean result = FALSE; + GtkWidget* _tmp0_ = NULL; +#line 1154 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (self), FALSE); +#line 1155 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hidden = TRUE; +#line 1157 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->event_source; +#line 1157 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ != NULL) { +#line 8069 "Page.c" + GtkWidget* _tmp1_ = NULL; + GdkWindow* _tmp2_ = NULL; + GdkCursor* _tmp3_ = NULL; + GdkCursor* _tmp4_ = NULL; +#line 1158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->event_source; +#line 1158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = gtk_widget_get_window (_tmp1_); +#line 1158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gdk_cursor_new (GDK_BLANK_CURSOR); +#line 1158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 1158 "/home/jens/Source/shotwell/src/Page.vala" + gdk_window_set_cursor (_tmp2_, _tmp4_); +#line 1158 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp4_); +#line 8086 "Page.c" + } +#line 1161 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_timeout_id = (guint) 0; +#line 1163 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1163 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8094 "Page.c" +} + + +static void page_class_init (PageClass * klass) { +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + page_parent_class = g_type_class_peek_parent (klass); +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + g_type_class_add_private (klass, sizeof (PagePrivate)); +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((GtkWidgetClass *) klass)->destroy = page_real_destroy; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->set_page_name = page_real_set_page_name; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->set_container = page_real_set_container; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->clear_container = page_real_clear_container; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->get_menubar = page_real_get_menubar; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->get_page_ui_widget = page_real_get_page_ui_widget; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->get_toolbar = page_real_get_toolbar; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->get_page_context_menu = page_real_get_page_context_menu; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->switching_from = page_real_switching_from; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->switched_to = page_real_switched_to; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->ready = page_real_ready; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->switching_to_fullscreen = page_real_switching_to_fullscreen; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->returning_from_fullscreen = page_real_returning_from_fullscreen; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->init_collect_ui_filenames = page_real_init_collect_ui_filenames; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->init_collect_action_entries = page_real_init_collect_action_entries; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->init_collect_toggle_action_entries = page_real_init_collect_toggle_action_entries; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->register_radio_actions = page_real_register_radio_actions; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->init_collect_injection_groups = page_real_init_collect_injection_groups; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->init_actions = page_real_init_actions; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->update_actions = page_real_update_actions; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->source_drag_failed = page_real_source_drag_failed; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_left_click = page_real_on_left_click; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_middle_click = page_real_on_middle_click; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_right_click = page_real_on_right_click; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_left_released = page_real_on_left_released; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_middle_released = page_real_on_middle_released; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_right_released = page_real_on_right_released; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_ctrl_pressed = page_real_on_ctrl_pressed; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_ctrl_released = page_real_on_ctrl_released; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_alt_pressed = page_real_on_alt_pressed; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_alt_released = page_real_on_alt_released; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_shift_pressed = page_real_on_shift_pressed; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_shift_released = page_real_on_shift_released; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_super_pressed = page_real_on_super_pressed; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_super_released = page_real_on_super_released; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_app_key_pressed = page_real_on_app_key_pressed; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_app_key_released = page_real_on_app_key_released; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_move = page_real_on_move; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_move_start = page_real_on_move_start; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_move_finished = page_real_on_move_finished; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_resize = page_real_on_resize; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_resize_start = page_real_on_resize_start; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_resize_finished = page_real_on_resize_finished; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_configure = page_real_on_configure; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_motion = page_real_on_motion; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_leave_notify_event = page_real_on_leave_notify_event; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_mousewheel_up = page_real_on_mousewheel_up; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_mousewheel_down = page_real_on_mousewheel_down; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_mousewheel_left = page_real_on_mousewheel_left; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_mousewheel_right = page_real_on_mousewheel_right; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_context_keypress = page_real_on_context_keypress; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_context_buttonpress = page_real_on_context_buttonpress; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_context_invoked = page_real_on_context_invoked; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->set_page_cursor = page_real_set_page_cursor; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + G_OBJECT_CLASS (klass)->finalize = page_finalize; +#line 8213 "Page.c" +} + + +static void page_instance_init (Page * self) { + guint* _tmp0_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + self->priv = PAGE_GET_PRIVATE (self); +#line 54 "/home/jens/Source/shotwell/src/Page.vala" + self->in_view = FALSE; +#line 57 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->view = NULL; +#line 58 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->container = NULL; +#line 60 "/home/jens/Source/shotwell/src/Page.vala" + memset (&self->priv->last_position, 0, sizeof (GdkRectangle)); +#line 61 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->event_source = NULL; +#line 62 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->dnd_enabled = FALSE; +#line 63 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_configure_ms = (gulong) 0; +#line 64 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->report_move_finished = FALSE; +#line 65 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->report_resize_finished = FALSE; +#line 66 "/home/jens/Source/shotwell/src/Page.vala" + memset (&self->priv->last_down, 0, sizeof (GdkPoint)); +#line 67 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->is_destroyed = FALSE; +#line 68 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->ctrl_pressed = FALSE; +#line 69 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->alt_pressed = FALSE; +#line 70 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->shift_pressed = FALSE; +#line 71 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->super_pressed = FALSE; +#line 72 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_cursor = GDK_LEFT_PTR; +#line 73 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hidden = FALSE; +#line 74 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hide_msec = 0; +#line 75 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_timeout_id = (guint) 0; +#line 76 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->cursor_hide_time_cached = 0; +#line 77 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->are_actions_attached = FALSE; +#line 78 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->update_actions_scheduler = NULL; +#line 79 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->action_group = NULL; +#line 80 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->common_action_groups = NULL; +#line 80 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->common_action_groups_length1 = 0; +#line 80 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->_common_action_groups_size_ = self->priv->common_action_groups_length1; +#line 82 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = g_new0 (guint, 0); +#line 82 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->merge_ids = _tmp0_; +#line 82 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->merge_ids_length1 = 0; +#line 82 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->_merge_ids_size_ = self->priv->merge_ids_length1; +#line 8281 "Page.c" +} + + +static void page_finalize (GObject* obj) { + Page * self; +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PAGE, Page); +#line 52 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->ui); +#line 53 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->toolbar); +#line 56 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->page_name); +#line 57 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (self->priv->view); +#line 58 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->container); +#line 59 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->toolbar_path); +#line 61 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->event_source); +#line 78 "/home/jens/Source/shotwell/src/Page.vala" + _one_shot_scheduler_unref0 (self->priv->update_actions_scheduler); +#line 79 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->action_group); +#line 80 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->common_action_groups = (_vala_array_free (self->priv->common_action_groups, self->priv->common_action_groups_length1, (GDestroyNotify) g_object_unref), NULL); +#line 82 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->merge_ids = (g_free (self->priv->merge_ids), NULL); +#line 49 "/home/jens/Source/shotwell/src/Page.vala" + G_OBJECT_CLASS (page_parent_class)->finalize (obj); +#line 8313 "Page.c" +} + + +GType page_get_type (void) { + static volatile gsize page_type_id__volatile = 0; + if (g_once_init_enter (&page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Page), 0, (GInstanceInitFunc) page_instance_init, NULL }; + GType page_type_id; + page_type_id = g_type_register_static (gtk_scrolled_window_get_type (), "Page", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&page_type_id__volatile, page_type_id); + } + return page_type_id__volatile; +} + + +GType checkerboard_page_activator_get_type (void) { + static volatile gsize checkerboard_page_activator_type_id__volatile = 0; + if (g_once_init_enter (&checkerboard_page_activator_type_id__volatile)) { + static const GEnumValue values[] = {{CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, "CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD", "keyboard"}, {CHECKERBOARD_PAGE_ACTIVATOR_MOUSE, "CHECKERBOARD_PAGE_ACTIVATOR_MOUSE", "mouse"}, {0, NULL, NULL}}; + GType checkerboard_page_activator_type_id; + checkerboard_page_activator_type_id = g_enum_register_static ("CheckerboardPageActivator", values); + g_once_init_leave (&checkerboard_page_activator_type_id__volatile, checkerboard_page_activator_type_id); + } + return checkerboard_page_activator_type_id__volatile; +} + + +static void _checkerboard_page_on_items_hidden_view_collection_items_hidden (ViewCollection* _sender, GeeCollection* hidden, gpointer self) { +#line 1224 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_on_items_hidden ((CheckerboardPage*) self, hidden); +#line 8344 "Page.c" +} + + +static void _checkerboard_page_on_contents_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 1225 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_on_contents_altered ((CheckerboardPage*) self, added, removed); +#line 8351 "Page.c" +} + + +static void _checkerboard_page_on_items_state_changed_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self) { +#line 1226 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_on_items_state_changed ((CheckerboardPage*) self, changed); +#line 8358 "Page.c" +} + + +static void _checkerboard_page_on_items_visibility_changed_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self) { +#line 1227 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_on_items_visibility_changed ((CheckerboardPage*) self, changed); +#line 8365 "Page.c" +} + + +CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name) { + CheckerboardPage * self = NULL; + const gchar* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + CheckerboardLayout* _tmp3_ = NULL; + CheckerboardLayout* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + CheckerboardLayout* _tmp6_ = NULL; + GtkViewport* _tmp7_ = NULL; + GtkViewport* _tmp8_ = NULL; + GtkViewport* _tmp9_ = NULL; + CheckerboardLayout* _tmp10_ = NULL; + CheckerboardLayout* _tmp11_ = NULL; + GtkAdjustment* _tmp12_ = NULL; + GtkAdjustment* _tmp13_ = NULL; + GtkViewport* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + ViewCollection* _tmp18_ = NULL; + ViewCollection* _tmp19_ = NULL; + ViewCollection* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + ViewCollection* _tmp22_ = NULL; +#line 1201 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (page_name != NULL, NULL); +#line 1202 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_name; +#line 1202 "/home/jens/Source/shotwell/src/Page.vala" + self = (CheckerboardPage*) page_construct (object_type, _tmp0_); +#line 1204 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1204 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 1204 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = checkerboard_layout_new (_tmp2_); +#line 1204 "/home/jens/Source/shotwell/src/Page.vala" + g_object_ref_sink (_tmp3_); +#line 1204 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->layout); +#line 1204 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->layout = _tmp3_; +#line 1204 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp2_); +#line 1205 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->layout; +#line 1205 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = page_name; +#line 1205 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_name (_tmp4_, _tmp5_); +#line 1207 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->layout; +#line 1207 "/home/jens/Source/shotwell/src/Page.vala" + page_set_event_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); +#line 1209 "/home/jens/Source/shotwell/src/Page.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), (guint) 0); +#line 1210 "/home/jens/Source/shotwell/src/Page.vala" + gtk_scrolled_window_set_shadow_type (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow), GTK_SHADOW_NONE); +#line 1212 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->viewport; +#line 1212 "/home/jens/Source/shotwell/src/Page.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_container_get_type (), GtkContainer), (guint) 0); +#line 1213 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->priv->viewport; +#line 1213 "/home/jens/Source/shotwell/src/Page.vala" + gtk_viewport_set_shadow_type (_tmp8_, GTK_SHADOW_NONE); +#line 1215 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->viewport; +#line 1215 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->priv->layout; +#line 1215 "/home/jens/Source/shotwell/src/Page.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget)); +#line 1219 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->priv->layout; +#line 1219 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = gtk_scrolled_window_get_hadjustment (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow)); +#line 1219 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = gtk_scrolled_window_get_vadjustment (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow)); +#line 1219 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_adjustments (_tmp11_, _tmp12_, _tmp13_); +#line 1221 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = self->priv->viewport; +#line 1221 "/home/jens/Source/shotwell/src/Page.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget)); +#line 1224 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1224 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp15_; +#line 1224 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp16_, "items-hidden", (GCallback) _checkerboard_page_on_items_hidden_view_collection_items_hidden, self, 0); +#line 1224 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp16_); +#line 1225 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1225 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = _tmp17_; +#line 1225 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _checkerboard_page_on_contents_altered_data_collection_contents_altered, self, 0); +#line 1225 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp18_); +#line 1226 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1226 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp19_; +#line 1226 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp20_, "items-state-changed", (GCallback) _checkerboard_page_on_items_state_changed_view_collection_items_state_changed, self, 0); +#line 1226 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp20_); +#line 1227 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1227 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = _tmp21_; +#line 1227 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (_tmp22_, "items-visibility-changed", (GCallback) _checkerboard_page_on_items_visibility_changed_view_collection_items_visibility_changed, self, 0); +#line 1227 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp22_); +#line 1230 "/home/jens/Source/shotwell/src/Page.vala" + gtk_scrolled_window_set_policy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); +#line 1201 "/home/jens/Source/shotwell/src/Page.vala" + return self; +#line 8490 "Page.c" +} + + +void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1233 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1233 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (path != NULL); +#line 1234 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = path; +#line 1234 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1234 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->item_context_menu_path); +#line 1234 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->item_context_menu_path = _tmp1_; +#line 8509 "Page.c" +} + + +void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1237 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1237 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (path != NULL); +#line 1238 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = path; +#line 1238 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1238 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->page_context_menu_path); +#line 1238 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->page_context_menu_path = _tmp1_; +#line 8528 "Page.c" +} + + +GtkMenu* checkerboard_page_get_context_menu (CheckerboardPage* self) { + GtkMenu* result = NULL; + GtkMenu* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; +#line 1241 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), NULL); +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = view_collection_get_selected_count (_tmp2_); +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_ != 0; +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp2_); +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_) { +#line 8553 "Page.c" + GtkMenu* _tmp5_ = NULL; +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = checkerboard_page_get_item_context_menu (self); +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp0_); +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _tmp5_; +#line 8561 "Page.c" + } else { + GtkMenu* _tmp6_ = NULL; +#line 1244 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = page_get_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1244 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp0_); +#line 1244 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _tmp6_; +#line 8570 "Page.c" + } +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp0_; +#line 1243 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8576 "Page.c" +} + + +static GtkMenu* checkerboard_page_real_get_item_context_menu (CheckerboardPage* self) { + GtkMenu* result = NULL; + GtkMenu* menu = NULL; + GtkUIManager* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + GtkMenu* _tmp3_ = NULL; +#line 1248 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->ui; +#line 1248 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->item_context_menu_path; +#line 1248 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = gtk_ui_manager_get_widget (_tmp0_, _tmp1_); +#line 1248 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_menu_get_type (), GtkMenu)); +#line 1248 "/home/jens/Source/shotwell/src/Page.vala" + menu = _tmp3_; +#line 1249 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (menu != NULL, "menu != null"); +#line 1250 "/home/jens/Source/shotwell/src/Page.vala" + result = menu; +#line 1250 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8603 "Page.c" +} + + +GtkMenu* checkerboard_page_get_item_context_menu (CheckerboardPage* self) { +#line 1247 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), NULL); +#line 1247 "/home/jens/Source/shotwell/src/Page.vala" + return CHECKERBOARD_PAGE_GET_CLASS (self)->get_item_context_menu (self); +#line 8612 "Page.c" +} + + +static GtkMenu* checkerboard_page_real_get_page_context_menu (Page* base) { + CheckerboardPage * self; + GtkMenu* result = NULL; + const gchar* _tmp0_ = NULL; + GtkMenu* menu = NULL; + GtkUIManager* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GtkWidget* _tmp3_ = NULL; + GtkMenu* _tmp4_ = NULL; + GtkMenu* _tmp5_ = NULL; +#line 1253 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1254 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->page_context_menu_path; +#line 1254 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ == NULL) { +#line 1255 "/home/jens/Source/shotwell/src/Page.vala" + result = NULL; +#line 1255 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8636 "Page.c" + } +#line 1256 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->ui; +#line 1256 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->page_context_menu_path; +#line 1256 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gtk_ui_manager_get_widget (_tmp1_, _tmp2_); +#line 1256 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_menu_get_type (), GtkMenu)); +#line 1256 "/home/jens/Source/shotwell/src/Page.vala" + menu = _tmp4_; +#line 1257 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = menu; +#line 1257 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp5_ != NULL, "menu != null"); +#line 1258 "/home/jens/Source/shotwell/src/Page.vala" + result = menu; +#line 1258 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8656 "Page.c" +} + + +static gboolean checkerboard_page_real_on_context_keypress (Page* base) { + CheckerboardPage * self; + gboolean result = FALSE; + GtkMenu* _tmp0_ = NULL; + GtkMenu* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 1261 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = checkerboard_page_get_context_menu (self); +#line 1262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 1262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_popup_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp1_, NULL); +#line 1262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 1262 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp1_); +#line 1262 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp3_; +#line 1262 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8683 "Page.c" +} + + +static gchar* checkerboard_page_real_get_view_empty_message (CheckerboardPage* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1266 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _ ("No photos/videos"); +#line 1266 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1266 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 1266 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8699 "Page.c" +} + + +gchar* checkerboard_page_get_view_empty_message (CheckerboardPage* self) { +#line 1265 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), NULL); +#line 1265 "/home/jens/Source/shotwell/src/Page.vala" + return CHECKERBOARD_PAGE_GET_CLASS (self)->get_view_empty_message (self); +#line 8708 "Page.c" +} + + +static gchar* checkerboard_page_real_get_filter_no_match_message (CheckerboardPage* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1270 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _ ("No photos/videos found which match the current filter"); +#line 1270 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 1270 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 1270 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8724 "Page.c" +} + + +gchar* checkerboard_page_get_filter_no_match_message (CheckerboardPage* self) { +#line 1269 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), NULL); +#line 1269 "/home/jens/Source/shotwell/src/Page.vala" + return CHECKERBOARD_PAGE_GET_CLASS (self)->get_filter_no_match_message (self); +#line 8733 "Page.c" +} + + +static void checkerboard_page_real_on_item_activated (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers) { +#line 1273 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (item)); +#line 1273 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (modifiers != NULL); +#line 8742 "Page.c" +} + + +void checkerboard_page_on_item_activated (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers) { +#line 1273 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1273 "/home/jens/Source/shotwell/src/Page.vala" + CHECKERBOARD_PAGE_GET_CLASS (self)->on_item_activated (self, item, activator, modifiers); +#line 8751 "Page.c" +} + + +CheckerboardLayout* checkerboard_page_get_checkerboard_layout (CheckerboardPage* self) { + CheckerboardLayout* result = NULL; + CheckerboardLayout* _tmp0_ = NULL; + CheckerboardLayout* _tmp1_ = NULL; +#line 1277 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), NULL); +#line 1278 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1278 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1278 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 1278 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8769 "Page.c" +} + + +static SearchViewFilter* checkerboard_page_real_get_search_view_filter (CheckerboardPage* self) { +#line 1282 "/home/jens/Source/shotwell/src/Page.vala" + g_critical ("Type `%s' does not implement abstract method `checkerboard_page_get_search_view_filter'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1282 "/home/jens/Source/shotwell/src/Page.vala" + return NULL; +#line 8778 "Page.c" +} + + +SearchViewFilter* checkerboard_page_get_search_view_filter (CheckerboardPage* self) { +#line 1282 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), NULL); +#line 1282 "/home/jens/Source/shotwell/src/Page.vala" + return CHECKERBOARD_PAGE_GET_CLASS (self)->get_search_view_filter (self); +#line 8787 "Page.c" +} + + +static CoreViewTracker* checkerboard_page_real_get_view_tracker (CheckerboardPage* self) { + CoreViewTracker* result = NULL; +#line 1285 "/home/jens/Source/shotwell/src/Page.vala" + result = NULL; +#line 1285 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 8797 "Page.c" +} + + +CoreViewTracker* checkerboard_page_get_view_tracker (CheckerboardPage* self) { +#line 1284 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), NULL); +#line 1284 "/home/jens/Source/shotwell/src/Page.vala" + return CHECKERBOARD_PAGE_GET_CLASS (self)->get_view_tracker (self); +#line 8806 "Page.c" +} + + +static void _checkerboard_page_on_view_filter_refresh_view_filter_refresh (ViewFilter* _sender, gpointer self) { +#line 1290 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_on_view_filter_refresh ((CheckerboardPage*) self); +#line 8813 "Page.c" +} + + +static void checkerboard_page_real_switching_from (Page* base) { + CheckerboardPage * self; + CheckerboardLayout* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; + SearchViewFilter* _tmp2_ = NULL; + guint _tmp3_ = 0U; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; +#line 1288 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1289 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1289 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_in_view (_tmp0_, FALSE); +#line 1290 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = checkerboard_page_get_search_view_filter (self); +#line 1290 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 1290 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("refresh", TYPE_VIEW_FILTER, &_tmp3_, NULL, FALSE); +#line 1290 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_VIEW_FILTER, ViewFilter), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _checkerboard_page_on_view_filter_refresh_view_filter_refresh, self); +#line 1290 "/home/jens/Source/shotwell/src/Page.vala" + _view_filter_unref0 (_tmp2_); +#line 1293 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1293 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 1293 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_all (_tmp5_); +#line 1293 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp5_); +#line 1295 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_CLASS (checkerboard_page_parent_class)->switching_from (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 8851 "Page.c" +} + + +static void checkerboard_page_real_switched_to (Page* base) { + CheckerboardPage * self; + CheckerboardLayout* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; + SearchViewFilter* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 1298 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1299 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1299 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_in_view (_tmp0_, TRUE); +#line 1300 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = checkerboard_page_get_search_view_filter (self); +#line 1300 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 1300 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_VIEW_FILTER, ViewFilter), "refresh", (GCallback) _checkerboard_page_on_view_filter_refresh_view_filter_refresh, self, 0); +#line 1300 "/home/jens/Source/shotwell/src/Page.vala" + _view_filter_unref0 (_tmp2_); +#line 1301 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_on_view_filter_refresh (self); +#line 1303 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1303 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 1303 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = view_collection_get_selected_count (_tmp4_); +#line 1303 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_ > 0; +#line 1303 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp4_); +#line 1303 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp6_) { +#line 8892 "Page.c" + CheckerboardItem* item = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + CheckerboardItem* _tmp10_ = NULL; + GtkAdjustment* vadj = NULL; + GtkAdjustment* _tmp11_ = NULL; + GtkAdjustment* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GtkAdjustment* _tmp14_ = NULL; + CheckerboardItem* _tmp15_ = NULL; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; + AdjustmentRelation _tmp18_ = 0; +#line 1304 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1304 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_; +#line 1304 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = view_collection_get_selected_at (_tmp8_, 0); +#line 1304 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1304 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp8_); +#line 1304 "/home/jens/Source/shotwell/src/Page.vala" + item = _tmp10_; +#line 1307 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = gtk_scrolled_window_get_vadjustment (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow)); +#line 1307 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = _g_object_ref0 (_tmp11_); +#line 1307 "/home/jens/Source/shotwell/src/Page.vala" + vadj = _tmp12_; +#line 1308 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = vadj; +#line 1308 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = item; +#line 1308 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp15_->allocation; +#line 1308 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = _tmp16_.y; +#line 1308 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = get_adjustment_relation (_tmp14_, _tmp17_); +#line 1308 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp18_ == ADJUSTMENT_RELATION_IN_RANGE) { +#line 8937 "Page.c" + GtkAdjustment* _tmp19_ = NULL; + CheckerboardItem* _tmp20_ = NULL; + GdkRectangle _tmp21_ = {0}; + gint _tmp22_ = 0; + CheckerboardItem* _tmp23_ = NULL; + GdkRectangle _tmp24_ = {0}; + gint _tmp25_ = 0; + AdjustmentRelation _tmp26_ = 0; +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = vadj; +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = item; +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = _tmp20_->allocation; +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = _tmp21_.y; +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = item; +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = _tmp23_->allocation; +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = _tmp24_.height; +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = get_adjustment_relation (_tmp19_, _tmp22_ + _tmp25_); +#line 1309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp26_ == ADJUSTMENT_RELATION_IN_RANGE; +#line 8964 "Page.c" + } else { +#line 1308 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = FALSE; +#line 8968 "Page.c" + } +#line 1308 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp13_) { +#line 8972 "Page.c" + gint top = 0; + CheckerboardItem* _tmp27_ = NULL; + GdkRectangle _tmp28_ = {0}; + gint _tmp29_ = 0; + GtkAdjustment* _tmp30_ = NULL; + gdouble _tmp31_ = 0.0; + GtkAdjustment* _tmp45_ = NULL; + gint _tmp46_ = 0; +#line 1312 "/home/jens/Source/shotwell/src/Page.vala" + top = 0; +#line 1313 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = item; +#line 1313 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = _tmp27_->allocation; +#line 1313 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _tmp28_.y; +#line 1313 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = vadj; +#line 1313 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = gtk_adjustment_get_value (_tmp30_); +#line 1313 "/home/jens/Source/shotwell/src/Page.vala" + if (((gdouble) _tmp29_) < _tmp31_) { +#line 8995 "Page.c" + CheckerboardItem* _tmp32_ = NULL; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 1314 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = item; +#line 1314 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = _tmp32_->allocation; +#line 1314 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = _tmp33_.y; +#line 1314 "/home/jens/Source/shotwell/src/Page.vala" + top = _tmp34_; +#line 1315 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = top; +#line 1315 "/home/jens/Source/shotwell/src/Page.vala" + top = _tmp35_ - (CHECKERBOARD_LAYOUT_ROW_GUTTER_PADDING / 2); +#line 9012 "Page.c" + } else { + CheckerboardItem* _tmp36_ = NULL; + GdkRectangle _tmp37_ = {0}; + gint _tmp38_ = 0; + CheckerboardItem* _tmp39_ = NULL; + GdkRectangle _tmp40_ = {0}; + gint _tmp41_ = 0; + GtkAdjustment* _tmp42_ = NULL; + gdouble _tmp43_ = 0.0; + gint _tmp44_ = 0; +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = item; +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = _tmp36_->allocation; +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = _tmp37_.y; +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = item; +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = _tmp39_->allocation; +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = _tmp40_.height; +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = vadj; +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = gtk_adjustment_get_page_size (_tmp42_); +#line 1317 "/home/jens/Source/shotwell/src/Page.vala" + top = (_tmp38_ + _tmp41_) - ((gint) _tmp43_); +#line 1318 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = top; +#line 1318 "/home/jens/Source/shotwell/src/Page.vala" + top = _tmp44_ + (CHECKERBOARD_LAYOUT_ROW_GUTTER_PADDING / 2); +#line 9045 "Page.c" + } +#line 1321 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = vadj; +#line 1321 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = top; +#line 1321 "/home/jens/Source/shotwell/src/Page.vala" + gtk_adjustment_set_value (_tmp45_, (gdouble) _tmp46_); +#line 9053 "Page.c" + } +#line 1303 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (vadj); +#line 1303 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 9059 "Page.c" + } +#line 1326 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_CLASS (checkerboard_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 9063 "Page.c" +} + + +static void checkerboard_page_on_view_filter_refresh (CheckerboardPage* self) { +#line 1329 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1330 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_update_view_filter_message (self); +#line 9072 "Page.c" +} + + +static void checkerboard_page_on_contents_altered (CheckerboardPage* self, GeeIterable* added, GeeIterable* removed) { +#line 1333 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1333 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 1333 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 1335 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_update_view_filter_message (self); +#line 9085 "Page.c" +} + + +static void checkerboard_page_on_items_state_changed (CheckerboardPage* self, GeeIterable* changed) { +#line 1338 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1338 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GEE_IS_ITERABLE (changed)); +#line 1339 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_update_view_filter_message (self); +#line 9096 "Page.c" +} + + +static void checkerboard_page_on_items_visibility_changed (CheckerboardPage* self, GeeCollection* changed) { +#line 1342 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1342 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GEE_IS_COLLECTION (changed)); +#line 1343 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_update_view_filter_message (self); +#line 9107 "Page.c" +} + + +static void checkerboard_page_update_view_filter_message (CheckerboardPage* self) { + gboolean _tmp0_ = FALSE; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1346 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = view_collection_are_items_filtered_out (_tmp2_); +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp2_); +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_) { +#line 9131 "Page.c" + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_; +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _tmp7_ == 0; +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp6_); +#line 9145 "Page.c" + } else { +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = FALSE; +#line 9149 "Page.c" + } +#line 1347 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 9153 "Page.c" + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1348 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = checkerboard_page_get_filter_no_match_message (self); +#line 1348 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _tmp8_; +#line 1348 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_set_page_message (self, _tmp9_); +#line 1348 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp9_); +#line 9164 "Page.c" + } else { + ViewCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + gint _tmp12_ = 0; + gboolean _tmp13_ = FALSE; +#line 1349 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1349 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp10_; +#line 1349 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1349 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_ == 0; +#line 1349 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp11_); +#line 1349 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp13_) { +#line 9182 "Page.c" + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 1350 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = checkerboard_page_get_view_empty_message (self); +#line 1350 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _tmp14_; +#line 1350 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_set_page_message (self, _tmp15_); +#line 1350 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp15_); +#line 9193 "Page.c" + } else { +#line 1352 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_unset_page_message (self); +#line 9197 "Page.c" + } + } +} + + +void checkerboard_page_set_page_message (CheckerboardPage* self, const gchar* message) { + CheckerboardLayout* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1356 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1356 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (message != NULL); +#line 1357 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1357 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = message; +#line 1357 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_message (_tmp0_, _tmp1_); +#line 1358 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_is_in_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1358 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_) { +#line 9221 "Page.c" + CheckerboardLayout* _tmp3_ = NULL; +#line 1359 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->layout; +#line 1359 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_queue_draw (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 9227 "Page.c" + } +} + + +void checkerboard_page_unset_page_message (CheckerboardPage* self) { + CheckerboardLayout* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 1362 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1363 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1363 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_unset_message (_tmp0_); +#line 1364 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_is_in_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1364 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_) { +#line 9245 "Page.c" + CheckerboardLayout* _tmp2_ = NULL; +#line 1365 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->layout; +#line 1365 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_queue_draw (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 9251 "Page.c" + } +} + + +static void checkerboard_page_real_set_page_name (Page* base, const gchar* name) { + CheckerboardPage * self; + const gchar* _tmp0_ = NULL; + CheckerboardLayout* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1368 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1368 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (name != NULL); +#line 1369 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = name; +#line 1369 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_CLASS (checkerboard_page_parent_class)->set_page_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp0_); +#line 1371 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->layout; +#line 1371 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = name; +#line 1371 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_name (_tmp1_, _tmp2_); +#line 9275 "Page.c" +} + + +CheckerboardItem* checkerboard_page_get_item_at_pixel (CheckerboardPage* self, gdouble x, gdouble y) { + CheckerboardItem* result = NULL; + CheckerboardLayout* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + CheckerboardItem* _tmp3_ = NULL; +#line 1374 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), NULL); +#line 1375 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1375 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = x; +#line 1375 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = y; +#line 1375 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = checkerboard_layout_get_item_at_pixel (_tmp0_, _tmp1_, _tmp2_); +#line 1375 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp3_; +#line 1375 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 9299 "Page.c" +} + + +static void checkerboard_page_on_items_hidden (CheckerboardPage* self, GeeIterable* hidden) { +#line 1378 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1378 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GEE_IS_ITERABLE (hidden)); +#line 9308 "Page.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = hidden; +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _view_it = _tmp1_; +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 9321 "Page.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + CheckerboardItem* item = NULL; + DataView* _tmp6_ = NULL; + CheckerboardItem* _tmp7_ = NULL; + CheckerboardItem* _tmp8_ = NULL; + CheckerboardItem* _tmp9_ = NULL; + CheckerboardItem* _tmp10_ = NULL; + CheckerboardItem* _tmp11_ = NULL; + CheckerboardItem* _tmp12_ = NULL; + CheckerboardItem* _tmp13_ = NULL; +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _view_it; +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp3_) { +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9344 "Page.c" + } +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _view_it; +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + view = (DataView*) _tmp5_; +#line 1380 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = view; +#line 1380 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1380 "/home/jens/Source/shotwell/src/Page.vala" + item = _tmp7_; +#line 1382 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->anchor; +#line 1382 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = item; +#line 1382 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp8_ == _tmp9_) { +#line 1383 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1383 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = NULL; +#line 9368 "Page.c" + } +#line 1385 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->cursor; +#line 1385 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = item; +#line 1385 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp10_ == _tmp11_) { +#line 1386 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1386 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = NULL; +#line 9380 "Page.c" + } +#line 1388 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->priv->highlighted; +#line 1388 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = item; +#line 1388 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp12_ == _tmp13_) { +#line 1389 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->highlighted); +#line 1389 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->highlighted = NULL; +#line 9392 "Page.c" + } +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (view); +#line 9398 "Page.c" + } +#line 1379 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_view_it); +#line 9402 "Page.c" + } +} + + +static gboolean checkerboard_page_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + CheckerboardPage * self; + gboolean result = FALSE; + gboolean handled = FALSE; + guint state = 0U; + GdkEventKey* _tmp0_ = NULL; + GdkModifierType _tmp1_ = 0; + GdkEventKey* _tmp2_ = NULL; + guint _tmp3_ = 0U; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GQuark _tmp7_ = 0U; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label0 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label1 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label2 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label3 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label4 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label5 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label6 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label7 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label8 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label9 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label10 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label11 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label12 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label13 = 0; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp6_label14 = 0; +#line 9449 "Page.c" + gboolean _tmp45_ = FALSE; + gboolean _tmp46_ = FALSE; +#line 1393 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1393 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1394 "/home/jens/Source/shotwell/src/Page.vala" + handled = TRUE; +#line 1397 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = event; +#line 1397 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_->state; +#line 1397 "/home/jens/Source/shotwell/src/Page.vala" + state = (guint) (_tmp1_ & GDK_SHIFT_MASK); +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = event; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_->keyval; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = gdk_keyval_name (_tmp3_); +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_); +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + if ((_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("Up")))) || (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("KP_Up"))))) { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9478 "Page.c" + default: + { + guint _tmp8_ = 0U; +#line 1402 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_move_cursor (self, COMPASS_POINT_NORTH); +#line 1403 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = state; +#line 1403 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_anchor_to_cursor (self, _tmp8_); +#line 1404 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9490 "Page.c" + } + } + } else if ((_tmp7_ == ((0 != _tmp6_label2) ? _tmp6_label2 : (_tmp6_label2 = g_quark_from_static_string ("Down")))) || (_tmp7_ == ((0 != _tmp6_label3) ? _tmp6_label3 : (_tmp6_label3 = g_quark_from_static_string ("KP_Down"))))) { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9496 "Page.c" + default: + { + guint _tmp9_ = 0U; +#line 1408 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_move_cursor (self, COMPASS_POINT_SOUTH); +#line 1409 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = state; +#line 1409 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_anchor_to_cursor (self, _tmp9_); +#line 1410 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9508 "Page.c" + } + } + } else if ((_tmp7_ == ((0 != _tmp6_label4) ? _tmp6_label4 : (_tmp6_label4 = g_quark_from_static_string ("Left")))) || (_tmp7_ == ((0 != _tmp6_label5) ? _tmp6_label5 : (_tmp6_label5 = g_quark_from_static_string ("KP_Left"))))) { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9514 "Page.c" + default: + { + guint _tmp10_ = 0U; +#line 1414 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_move_cursor (self, COMPASS_POINT_WEST); +#line 1415 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = state; +#line 1415 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_anchor_to_cursor (self, _tmp10_); +#line 1416 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9526 "Page.c" + } + } + } else if ((_tmp7_ == ((0 != _tmp6_label6) ? _tmp6_label6 : (_tmp6_label6 = g_quark_from_static_string ("Right")))) || (_tmp7_ == ((0 != _tmp6_label7) ? _tmp6_label7 : (_tmp6_label7 = g_quark_from_static_string ("KP_Right"))))) { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9532 "Page.c" + default: + { + guint _tmp11_ = 0U; +#line 1420 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_move_cursor (self, COMPASS_POINT_EAST); +#line 1421 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = state; +#line 1421 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_anchor_to_cursor (self, _tmp11_); +#line 1422 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9544 "Page.c" + } + } + } else if ((_tmp7_ == ((0 != _tmp6_label8) ? _tmp6_label8 : (_tmp6_label8 = g_quark_from_static_string ("Home")))) || (_tmp7_ == ((0 != _tmp6_label9) ? _tmp6_label9 : (_tmp6_label9 = g_quark_from_static_string ("KP_Home"))))) { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9550 "Page.c" + default: + { + CheckerboardItem* first = NULL; + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; + CheckerboardItem* _tmp15_ = NULL; + CheckerboardItem* _tmp16_ = NULL; + guint _tmp18_ = 0U; +#line 1426 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1426 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_; +#line 1426 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = view_collection_get_first (_tmp13_); +#line 1426 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1426 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp13_); +#line 1426 "/home/jens/Source/shotwell/src/Page.vala" + first = _tmp15_; +#line 1427 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = first; +#line 1427 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp16_ != NULL) { +#line 9576 "Page.c" + CheckerboardItem* _tmp17_ = NULL; +#line 1428 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = first; +#line 1428 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_cursor_to_item (self, _tmp17_); +#line 9582 "Page.c" + } +#line 1429 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = state; +#line 1429 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_anchor_to_cursor (self, _tmp18_); +#line 1430 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (first); +#line 1430 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9592 "Page.c" + } + } + } else if ((_tmp7_ == ((0 != _tmp6_label10) ? _tmp6_label10 : (_tmp6_label10 = g_quark_from_static_string ("End")))) || (_tmp7_ == ((0 != _tmp6_label11) ? _tmp6_label11 : (_tmp6_label11 = g_quark_from_static_string ("KP_End"))))) { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9598 "Page.c" + default: + { + CheckerboardItem* last = NULL; + ViewCollection* _tmp19_ = NULL; + ViewCollection* _tmp20_ = NULL; + DataView* _tmp21_ = NULL; + CheckerboardItem* _tmp22_ = NULL; + CheckerboardItem* _tmp23_ = NULL; + guint _tmp25_ = 0U; +#line 1434 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1434 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp19_; +#line 1434 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = view_collection_get_last (_tmp20_); +#line 1434 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1434 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp20_); +#line 1434 "/home/jens/Source/shotwell/src/Page.vala" + last = _tmp22_; +#line 1435 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = last; +#line 1435 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp23_ != NULL) { +#line 9624 "Page.c" + CheckerboardItem* _tmp24_ = NULL; +#line 1436 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = last; +#line 1436 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_cursor_to_item (self, _tmp24_); +#line 9630 "Page.c" + } +#line 1437 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = state; +#line 1437 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_anchor_to_cursor (self, _tmp25_); +#line 1438 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (last); +#line 1438 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9640 "Page.c" + } + } + } else if ((_tmp7_ == ((0 != _tmp6_label12) ? _tmp6_label12 : (_tmp6_label12 = g_quark_from_static_string ("Return")))) || (_tmp7_ == ((0 != _tmp6_label13) ? _tmp6_label13 : (_tmp6_label13 = g_quark_from_static_string ("KP_Enter"))))) { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9646 "Page.c" + default: + { + ViewCollection* _tmp26_ = NULL; + ViewCollection* _tmp27_ = NULL; + gint _tmp28_ = 0; + gboolean _tmp29_ = FALSE; +#line 1442 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1442 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = _tmp26_; +#line 1442 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = view_collection_get_selected_count (_tmp27_); +#line 1442 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _tmp28_ == 1; +#line 1442 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp27_); +#line 1442 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp29_) { +#line 9665 "Page.c" + ViewCollection* _tmp30_ = NULL; + ViewCollection* _tmp31_ = NULL; + DataView* _tmp32_ = NULL; + CheckerboardItem* _tmp33_ = NULL; + CheckerboardPageKeyboardModifiers _tmp34_ = {0}; +#line 1443 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1443 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = _tmp30_; +#line 1443 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = view_collection_get_selected_at (_tmp31_, 0); +#line 1443 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem); +#line 1443 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_keyboard_modifiers_init (&_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1443 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_on_item_activated (self, _tmp33_, CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, &_tmp34_); +#line 1443 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp33_); +#line 1443 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp31_); +#line 9687 "Page.c" + } else { +#line 1446 "/home/jens/Source/shotwell/src/Page.vala" + handled = FALSE; +#line 9691 "Page.c" + } +#line 1447 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9695 "Page.c" + } + } + } else if (_tmp7_ == ((0 != _tmp6_label14) ? _tmp6_label14 : (_tmp6_label14 = g_quark_from_static_string ("space")))) { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9701 "Page.c" + default: + { + Marker* marker = NULL; + ViewCollection* _tmp35_ = NULL; + ViewCollection* _tmp36_ = NULL; + CheckerboardLayout* _tmp37_ = NULL; + CheckerboardItem* _tmp38_ = NULL; + CheckerboardItem* _tmp39_ = NULL; + Marker* _tmp40_ = NULL; + Marker* _tmp41_ = NULL; + ViewCollection* _tmp42_ = NULL; + ViewCollection* _tmp43_ = NULL; + Marker* _tmp44_ = NULL; +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = _tmp35_; +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = self->priv->layout; +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = checkerboard_layout_get_cursor (_tmp37_); +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = _tmp38_; +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_DATA_OBJECT, DataObject)); +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = _tmp40_; +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp39_); +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp36_); +#line 1450 "/home/jens/Source/shotwell/src/Page.vala" + marker = _tmp41_; +#line 1451 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1451 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = _tmp42_; +#line 1451 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = marker; +#line 1451 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_toggle_marked (_tmp43_, _tmp44_); +#line 1451 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp43_); +#line 1452 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (marker); +#line 1452 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9749 "Page.c" + } + } + } else { +#line 1399 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 9755 "Page.c" + default: + { +#line 1455 "/home/jens/Source/shotwell/src/Page.vala" + handled = FALSE; +#line 1456 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9762 "Page.c" + } + } + } +#line 1459 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = handled; +#line 1459 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp45_) { +#line 1460 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1460 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 9774 "Page.c" + } +#line 1462 "/home/jens/Source/shotwell/src/Page.vala" + if (GTK_WIDGET_CLASS (checkerboard_page_parent_class)->key_press_event != NULL) { +#line 9778 "Page.c" + GdkEventKey* _tmp47_ = NULL; + gboolean _tmp48_ = FALSE; +#line 1462 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = event; +#line 1462 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = GTK_WIDGET_CLASS (checkerboard_page_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), gtk_widget_get_type (), GtkWidget), _tmp47_); +#line 1462 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = _tmp48_; +#line 9787 "Page.c" + } else { +#line 1462 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = TRUE; +#line 9791 "Page.c" + } +#line 1462 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp46_; +#line 1462 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 9797 "Page.c" +} + + +static gboolean checkerboard_page_real_on_left_click (Page* base, GdkEventButton* event) { + CheckerboardPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GdkEventButton* _tmp1_ = NULL; + GdkEventType _tmp2_ = 0; + guint state = 0U; + GdkEventButton* _tmp5_ = NULL; + GdkModifierType _tmp6_ = 0; + CheckerboardItem* item = NULL; + GdkEventButton* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + GdkEventButton* _tmp9_ = NULL; + gdouble _tmp10_ = 0.0; + CheckerboardItem* _tmp11_ = NULL; + CheckerboardItem* _tmp12_ = NULL; + ViewCollection* _tmp106_ = NULL; + ViewCollection* _tmp107_ = NULL; + gint _tmp108_ = 0; + gboolean _tmp109_ = FALSE; +#line 1465 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1465 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1467 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = event; +#line 1467 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_->type; +#line 1467 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ != GDK_BUTTON_PRESS) { +#line 9831 "Page.c" + GdkEventButton* _tmp3_ = NULL; + GdkEventType _tmp4_ = 0; +#line 1467 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = event; +#line 1467 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_->type; +#line 1467 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _tmp4_ != GDK_2BUTTON_PRESS; +#line 9840 "Page.c" + } else { +#line 1467 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = FALSE; +#line 9844 "Page.c" + } +#line 1467 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 1468 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1468 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 9852 "Page.c" + } +#line 1471 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = event; +#line 1471 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_->state; +#line 1471 "/home/jens/Source/shotwell/src/Page.vala" + state = (guint) (_tmp6_ & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)); +#line 1475 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = event; +#line 1475 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_->x; +#line 1475 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = event; +#line 1475 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_->y; +#line 1475 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = checkerboard_page_get_item_at_pixel (self, _tmp8_, _tmp10_); +#line 1475 "/home/jens/Source/shotwell/src/Page.vala" + item = _tmp11_; +#line 1476 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = item; +#line 1476 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp12_ != NULL) { +#line 9876 "Page.c" + CheckerboardLayout* _tmp13_ = NULL; + CheckerboardItem* _tmp14_ = NULL; + GdkEventButton* _tmp15_ = NULL; + gdouble _tmp16_ = 0.0; + GdkEventButton* _tmp17_ = NULL; + gdouble _tmp18_ = 0.0; + GdkEventButton* _tmp19_ = NULL; + GdkModifierType _tmp20_ = 0; + gboolean _tmp21_ = FALSE; + guint _tmp22_ = 0U; + CheckerboardLayout* _tmp80_ = NULL; + CheckerboardItem* _tmp81_ = NULL; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = self->priv->layout; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = item; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = event; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp15_->x; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = event; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = _tmp17_->y; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = event; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp19_->state; +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = checkerboard_layout_handle_left_click (_tmp13_, _tmp14_, _tmp16_, _tmp18_, _tmp20_); +#line 1479 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp21_) { +#line 1480 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1480 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1480 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 9915 "Page.c" + } +#line 1482 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = state; +#line 1482 "/home/jens/Source/shotwell/src/Page.vala" + switch (_tmp22_) { +#line 1482 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_CONTROL_MASK: +#line 9923 "Page.c" + { + Marker* marker = NULL; + ViewCollection* _tmp23_ = NULL; + ViewCollection* _tmp24_ = NULL; + CheckerboardItem* _tmp25_ = NULL; + Marker* _tmp26_ = NULL; + Marker* _tmp27_ = NULL; + ViewCollection* _tmp28_ = NULL; + ViewCollection* _tmp29_ = NULL; + Marker* _tmp30_ = NULL; + CheckerboardItem* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; +#line 1486 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1486 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = _tmp23_; +#line 1486 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = item; +#line 1486 "/home/jens/Source/shotwell/src/Page.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 1486 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = _tmp26_; +#line 1486 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp24_); +#line 1486 "/home/jens/Source/shotwell/src/Page.vala" + marker = _tmp27_; +#line 1487 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1487 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _tmp28_; +#line 1487 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = marker; +#line 1487 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_toggle_marked (_tmp29_, _tmp30_); +#line 1487 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp29_); +#line 1489 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = item; +#line 1489 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = data_view_is_selected (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_VIEW, DataView)); +#line 1489 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp32_) { +#line 9966 "Page.c" + CheckerboardItem* _tmp33_ = NULL; + CheckerboardItem* _tmp34_ = NULL; + CheckerboardItem* _tmp35_ = NULL; + CheckerboardItem* _tmp36_ = NULL; +#line 1490 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = item; +#line 1490 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = _g_object_ref0 (_tmp33_); +#line 1490 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1490 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = _tmp34_; +#line 1491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = item; +#line 1491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = _g_object_ref0 (_tmp35_); +#line 1491 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1491 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = _tmp36_; +#line 9987 "Page.c" + } +#line 1493 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (marker); +#line 1493 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 9993 "Page.c" + } +#line 1482 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_SHIFT_MASK: +#line 9997 "Page.c" + { + ViewCollection* _tmp37_ = NULL; + ViewCollection* _tmp38_ = NULL; + CheckerboardItem* _tmp39_ = NULL; + CheckerboardItem* _tmp42_ = NULL; + CheckerboardItem* _tmp43_ = NULL; + CheckerboardItem* _tmp44_ = NULL; + CheckerboardItem* _tmp45_ = NULL; +#line 1496 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1496 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = _tmp37_; +#line 1496 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_all (_tmp38_); +#line 1496 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp38_); +#line 1498 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = self->anchor; +#line 1498 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp39_ == NULL) { +#line 10018 "Page.c" + CheckerboardItem* _tmp40_ = NULL; + CheckerboardItem* _tmp41_ = NULL; +#line 1499 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = item; +#line 1499 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = _g_object_ref0 (_tmp40_); +#line 1499 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1499 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = _tmp41_; +#line 10029 "Page.c" + } +#line 1501 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = self->anchor; +#line 1501 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = item; +#line 1501 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_between_items (self, _tmp42_, _tmp43_); +#line 1503 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = item; +#line 1503 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = _g_object_ref0 (_tmp44_); +#line 1503 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1503 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = _tmp45_; +#line 1504 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 10047 "Page.c" + } +#line 1482 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_CONTROL_MASK | GDK_SHIFT_MASK: +#line 10051 "Page.c" + { + CheckerboardItem* _tmp46_ = NULL; + CheckerboardItem* _tmp49_ = NULL; + CheckerboardItem* _tmp50_ = NULL; + CheckerboardItem* _tmp51_ = NULL; + CheckerboardItem* _tmp52_ = NULL; +#line 1511 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = self->anchor; +#line 1511 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp46_ == NULL) { +#line 10062 "Page.c" + CheckerboardItem* _tmp47_ = NULL; + CheckerboardItem* _tmp48_ = NULL; +#line 1512 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = item; +#line 1512 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = _g_object_ref0 (_tmp47_); +#line 1512 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1512 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = _tmp48_; +#line 10073 "Page.c" + } +#line 1514 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49_ = self->anchor; +#line 1514 "/home/jens/Source/shotwell/src/Page.vala" + _tmp50_ = item; +#line 1514 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_between_items (self, _tmp49_, _tmp50_); +#line 1516 "/home/jens/Source/shotwell/src/Page.vala" + _tmp51_ = item; +#line 1516 "/home/jens/Source/shotwell/src/Page.vala" + _tmp52_ = _g_object_ref0 (_tmp51_); +#line 1516 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1516 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = _tmp52_; +#line 1517 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 10091 "Page.c" + } + default: + { + GdkEventButton* _tmp53_ = NULL; + GdkEventType _tmp54_ = 0; + CheckerboardItem* _tmp76_ = NULL; + CheckerboardItem* _tmp77_ = NULL; + CheckerboardItem* _tmp78_ = NULL; + CheckerboardItem* _tmp79_ = NULL; +#line 1520 "/home/jens/Source/shotwell/src/Page.vala" + _tmp53_ = event; +#line 1520 "/home/jens/Source/shotwell/src/Page.vala" + _tmp54_ = _tmp53_->type; +#line 1520 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp54_ == GDK_2BUTTON_PRESS) { +#line 10107 "Page.c" + CheckerboardItem* _tmp55_ = NULL; + CheckerboardItem* _tmp56_ = NULL; +#line 1521 "/home/jens/Source/shotwell/src/Page.vala" + _tmp55_ = item; +#line 1521 "/home/jens/Source/shotwell/src/Page.vala" + _tmp56_ = _g_object_ref0 (_tmp55_); +#line 1521 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->activated_item); +#line 1521 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->activated_item = _tmp56_; +#line 10118 "Page.c" + } else { + CheckerboardItem* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; +#line 1527 "/home/jens/Source/shotwell/src/Page.vala" + _tmp57_ = item; +#line 1527 "/home/jens/Source/shotwell/src/Page.vala" + _tmp58_ = data_view_is_selected (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, TYPE_DATA_VIEW, DataView)); +#line 1527 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp58_) { +#line 10128 "Page.c" + Marker* all = NULL; + ViewCollection* _tmp59_ = NULL; + ViewCollection* _tmp60_ = NULL; + Marker* _tmp61_ = NULL; + Marker* _tmp62_ = NULL; + Marker* _tmp63_ = NULL; + ViewCollection* _tmp64_ = NULL; + ViewCollection* _tmp65_ = NULL; + GeeList* _tmp66_ = NULL; + GeeList* _tmp67_ = NULL; + ViewCollection* _tmp68_ = NULL; + ViewCollection* _tmp69_ = NULL; + Marker* _tmp70_ = NULL; + ViewCollection* _tmp71_ = NULL; + ViewCollection* _tmp72_ = NULL; + CheckerboardItem* _tmp73_ = NULL; + Marker* _tmp74_ = NULL; + Marker* _tmp75_ = NULL; +#line 1528 "/home/jens/Source/shotwell/src/Page.vala" + _tmp59_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1528 "/home/jens/Source/shotwell/src/Page.vala" + _tmp60_ = _tmp59_; +#line 1528 "/home/jens/Source/shotwell/src/Page.vala" + _tmp61_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1528 "/home/jens/Source/shotwell/src/Page.vala" + _tmp62_ = _tmp61_; +#line 1528 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp60_); +#line 1528 "/home/jens/Source/shotwell/src/Page.vala" + all = _tmp62_; +#line 1529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp63_ = all; +#line 1529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp64_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp65_ = _tmp64_; +#line 1529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp66_ = view_collection_get_selected (_tmp65_); +#line 1529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp67_ = _tmp66_; +#line 1529 "/home/jens/Source/shotwell/src/Page.vala" + marker_mark_many (_tmp63_, G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1529 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp67_); +#line 1529 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp65_); +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _tmp68_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _tmp69_ = _tmp68_; +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _tmp70_ = all; +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _tmp71_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _tmp72_ = _tmp71_; +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _tmp73_ = item; +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _tmp74_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_DATA_OBJECT, DataObject)); +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _tmp75_ = _tmp74_; +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_and_select_marked (_tmp69_, _tmp70_, _tmp75_); +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp75_); +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp72_); +#line 1531 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp69_); +#line 1527 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (all); +#line 10201 "Page.c" + } + } +#line 1535 "/home/jens/Source/shotwell/src/Page.vala" + _tmp76_ = item; +#line 1535 "/home/jens/Source/shotwell/src/Page.vala" + _tmp77_ = _g_object_ref0 (_tmp76_); +#line 1535 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1535 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = _tmp77_; +#line 1536 "/home/jens/Source/shotwell/src/Page.vala" + _tmp78_ = item; +#line 1536 "/home/jens/Source/shotwell/src/Page.vala" + _tmp79_ = _g_object_ref0 (_tmp78_); +#line 1536 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1536 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = _tmp79_; +#line 1537 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 10222 "Page.c" + } + } +#line 1539 "/home/jens/Source/shotwell/src/Page.vala" + _tmp80_ = self->priv->layout; +#line 1539 "/home/jens/Source/shotwell/src/Page.vala" + _tmp81_ = item; +#line 1539 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_cursor (_tmp80_, _tmp81_); +#line 10231 "Page.c" + } else { + guint _tmp82_ = 0U; + GeeArrayList* _tmp85_ = NULL; + CheckerboardLayout* _tmp101_ = NULL; + GdkEventButton* _tmp102_ = NULL; + gdouble _tmp103_ = 0.0; + GdkEventButton* _tmp104_ = NULL; + gdouble _tmp105_ = 0.0; +#line 1543 "/home/jens/Source/shotwell/src/Page.vala" + _tmp82_ = state; +#line 1543 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp82_ != ((guint) GDK_CONTROL_MASK)) { +#line 10244 "Page.c" + ViewCollection* _tmp83_ = NULL; + ViewCollection* _tmp84_ = NULL; +#line 1544 "/home/jens/Source/shotwell/src/Page.vala" + _tmp83_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1544 "/home/jens/Source/shotwell/src/Page.vala" + _tmp84_ = _tmp83_; +#line 1544 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_all (_tmp84_); +#line 1544 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp84_); +#line 10255 "Page.c" + } +#line 1547 "/home/jens/Source/shotwell/src/Page.vala" + _tmp85_ = gee_array_list_new (TYPE_CHECKERBOARD_ITEM, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1547 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->previously_selected); +#line 1547 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->previously_selected = _tmp85_; +#line 10263 "Page.c" + { + GeeList* _view_list = NULL; + ViewCollection* _tmp86_ = NULL; + ViewCollection* _tmp87_ = NULL; + GeeList* _tmp88_ = NULL; + GeeList* _tmp89_ = NULL; + gint _view_size = 0; + GeeList* _tmp90_ = NULL; + gint _tmp91_ = 0; + gint _tmp92_ = 0; + gint _view_index = 0; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp86_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp87_ = _tmp86_; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp88_ = view_collection_get_selected (_tmp87_); +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp89_ = _tmp88_; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp87_); +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _view_list = _tmp89_; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp90_ = _view_list; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp91_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp90_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp92_ = _tmp91_; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _view_size = _tmp92_; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _view_index = -1; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 10299 "Page.c" + gint _tmp93_ = 0; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + DataView* view = NULL; + GeeList* _tmp96_ = NULL; + gint _tmp97_ = 0; + gpointer _tmp98_ = NULL; + GeeArrayList* _tmp99_ = NULL; + DataView* _tmp100_ = NULL; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp93_ = _view_index; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _view_index = _tmp93_ + 1; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp94_ = _view_index; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp95_ = _view_size; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + if (!(_tmp94_ < _tmp95_)) { +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 10321 "Page.c" + } +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp96_ = _view_list; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp97_ = _view_index; +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _tmp98_ = gee_list_get (_tmp96_, _tmp97_); +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + view = (DataView*) _tmp98_; +#line 1549 "/home/jens/Source/shotwell/src/Page.vala" + _tmp99_ = self->priv->previously_selected; +#line 1549 "/home/jens/Source/shotwell/src/Page.vala" + _tmp100_ = view; +#line 1549 "/home/jens/Source/shotwell/src/Page.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp99_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (view); +#line 10339 "Page.c" + } +#line 1548 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_view_list); +#line 10343 "Page.c" + } +#line 1551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp101_ = self->priv->layout; +#line 1551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp102_ = event; +#line 1551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp103_ = _tmp102_->x; +#line 1551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp104_ = event; +#line 1551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp105_ = _tmp104_->y; +#line 1551 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_drag_select_origin (_tmp101_, (gint) _tmp103_, (gint) _tmp105_); +#line 1553 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1553 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1553 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10363 "Page.c" + } +#line 1559 "/home/jens/Source/shotwell/src/Page.vala" + _tmp106_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1559 "/home/jens/Source/shotwell/src/Page.vala" + _tmp107_ = _tmp106_; +#line 1559 "/home/jens/Source/shotwell/src/Page.vala" + _tmp108_ = view_collection_get_selected_count (_tmp107_); +#line 1559 "/home/jens/Source/shotwell/src/Page.vala" + _tmp109_ = _tmp108_ == 0; +#line 1559 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp107_); +#line 1559 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp109_; +#line 1559 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1559 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10381 "Page.c" +} + + +static gboolean checkerboard_page_real_on_left_released (Page* base, GdkEventButton* event) { + CheckerboardPage * self; + gboolean result = FALSE; + CheckerboardLayout* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GdkEventButton* _tmp5_ = NULL; + GdkModifierType _tmp6_ = 0; + CheckerboardItem* _tmp7_ = NULL; + CheckerboardItem* item = NULL; + GdkEventButton* _tmp10_ = NULL; + gdouble _tmp11_ = 0.0; + GdkEventButton* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; + CheckerboardItem* _tmp14_ = NULL; + CheckerboardItem* _tmp15_ = NULL; + CheckerboardItem* _tmp16_ = NULL; + CheckerboardItem* _tmp17_ = NULL; +#line 1562 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1562 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1563 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->previously_selected); +#line 1563 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->previously_selected = NULL; +#line 1566 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1566 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = checkerboard_layout_is_drag_select_active (_tmp0_); +#line 1566 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_) { +#line 10416 "Page.c" + CheckerboardLayout* _tmp2_ = NULL; + CheckerboardItem* _tmp3_ = NULL; + CheckerboardItem* _tmp4_ = NULL; +#line 1567 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->layout; +#line 1567 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_clear_drag_select (_tmp2_); +#line 1568 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->cursor; +#line 1568 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 1568 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1568 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = _tmp4_; +#line 1570 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1570 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10436 "Page.c" + } +#line 1574 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = event; +#line 1574 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_->state; +#line 1574 "/home/jens/Source/shotwell/src/Page.vala" + if ((_tmp6_ & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) != 0) { +#line 1575 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1575 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10448 "Page.c" + } +#line 1578 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->activated_item; +#line 1578 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp7_ != NULL) { +#line 10454 "Page.c" + CheckerboardItem* _tmp8_ = NULL; + CheckerboardPageKeyboardModifiers _tmp9_ = {0}; +#line 1579 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->priv->activated_item; +#line 1579 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_keyboard_modifiers_init (&_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1579 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_on_item_activated (self, _tmp8_, CHECKERBOARD_PAGE_ACTIVATOR_MOUSE, &_tmp9_); +#line 1580 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->activated_item); +#line 1580 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->activated_item = NULL; +#line 1582 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1582 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10471 "Page.c" + } +#line 1585 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = event; +#line 1585 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp10_->x; +#line 1585 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = event; +#line 1585 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_->y; +#line 1585 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = checkerboard_page_get_item_at_pixel (self, _tmp11_, _tmp13_); +#line 1585 "/home/jens/Source/shotwell/src/Page.vala" + item = _tmp14_; +#line 1586 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = item; +#line 1586 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp15_ == NULL) { +#line 1588 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1588 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1588 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10495 "Page.c" + } +#line 1591 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = self->cursor; +#line 1591 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = item; +#line 1591 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp16_ != _tmp17_) { +#line 10503 "Page.c" + ViewCollection* _tmp18_ = NULL; + ViewCollection* _tmp19_ = NULL; +#line 1594 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1594 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = _tmp18_; +#line 1594 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_all (_tmp19_); +#line 1594 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp19_); +#line 10514 "Page.c" + } else { + CheckerboardItem* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 1600 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = item; +#line 1600 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = data_view_is_selected (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_VIEW, DataView)); +#line 1600 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp21_) { +#line 10524 "Page.c" + ViewCollection* _tmp22_ = NULL; + ViewCollection* _tmp23_ = NULL; + CheckerboardItem* _tmp24_ = NULL; +#line 1601 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1601 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = _tmp22_; +#line 1601 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = item; +#line 1601 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_all_but (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_VIEW, DataView)); +#line 1601 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp23_); +#line 10538 "Page.c" + } + } +#line 1604 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1604 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1604 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10547 "Page.c" +} + + +static gboolean checkerboard_page_real_on_right_click (Page* base, GdkEventButton* event) { + CheckerboardPage * self; + gboolean result = FALSE; + GdkEventButton* _tmp0_ = NULL; + GdkEventType _tmp1_ = 0; + CheckerboardItem* item = NULL; + GdkEventButton* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + GdkEventButton* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + CheckerboardItem* _tmp6_ = NULL; + CheckerboardItem* _tmp7_ = NULL; + GtkMenu* context_menu = NULL; + GtkMenu* _tmp39_ = NULL; + GtkMenu* _tmp40_ = NULL; + GdkEventButton* _tmp41_ = NULL; + gboolean _tmp42_ = FALSE; +#line 1607 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1607 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1609 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = event; +#line 1609 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_->type; +#line 1609 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_ != GDK_BUTTON_PRESS) { +#line 1610 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1610 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10582 "Page.c" + } +#line 1613 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = event; +#line 1613 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_->x; +#line 1613 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = event; +#line 1613 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_->y; +#line 1613 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = checkerboard_page_get_item_at_pixel (self, _tmp3_, _tmp5_); +#line 1613 "/home/jens/Source/shotwell/src/Page.vala" + item = _tmp6_; +#line 1614 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = item; +#line 1614 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp7_ != NULL) { +#line 10600 "Page.c" + GdkEventButton* _tmp8_ = NULL; + GdkModifierType _tmp9_ = 0; +#line 1616 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = event; +#line 1616 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _tmp8_->state; +#line 1616 "/home/jens/Source/shotwell/src/Page.vala" + switch (_tmp9_ & (GDK_CONTROL_MASK | GDK_SHIFT_MASK)) { +#line 1616 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_CONTROL_MASK: +#line 10611 "Page.c" + { + Marker* marker = NULL; + ViewCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + CheckerboardItem* _tmp12_ = NULL; + Marker* _tmp13_ = NULL; + Marker* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + Marker* _tmp17_ = NULL; +#line 1619 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1619 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp10_; +#line 1619 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = item; +#line 1619 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject)); +#line 1619 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _tmp13_; +#line 1619 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp11_); +#line 1619 "/home/jens/Source/shotwell/src/Page.vala" + marker = _tmp14_; +#line 1620 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1620 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp15_; +#line 1620 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = marker; +#line 1620 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_toggle_marked (_tmp16_, _tmp17_); +#line 1620 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp16_); +#line 1621 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (marker); +#line 1621 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 10650 "Page.c" + } +#line 1616 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_SHIFT_MASK: +#line 10654 "Page.c" + { +#line 1625 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 10658 "Page.c" + } +#line 1616 "/home/jens/Source/shotwell/src/Page.vala" + case GDK_CONTROL_MASK | GDK_SHIFT_MASK: +#line 10662 "Page.c" + { +#line 1629 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 10666 "Page.c" + } + default: + { + CheckerboardItem* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 1634 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = item; +#line 1634 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = data_view_is_selected (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_VIEW, DataView)); +#line 1634 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp19_) { +#line 10678 "Page.c" + Marker* all = NULL; + ViewCollection* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + Marker* _tmp22_ = NULL; + Marker* _tmp23_ = NULL; + Marker* _tmp24_ = NULL; + ViewCollection* _tmp25_ = NULL; + ViewCollection* _tmp26_ = NULL; + GeeList* _tmp27_ = NULL; + GeeList* _tmp28_ = NULL; + ViewCollection* _tmp29_ = NULL; + ViewCollection* _tmp30_ = NULL; + Marker* _tmp31_ = NULL; + ViewCollection* _tmp32_ = NULL; + ViewCollection* _tmp33_ = NULL; + CheckerboardItem* _tmp34_ = NULL; + Marker* _tmp35_ = NULL; + Marker* _tmp36_ = NULL; +#line 1635 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1635 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = _tmp20_; +#line 1635 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1635 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = _tmp22_; +#line 1635 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp21_); +#line 1635 "/home/jens/Source/shotwell/src/Page.vala" + all = _tmp23_; +#line 1636 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = all; +#line 1636 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1636 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = _tmp25_; +#line 1636 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = view_collection_get_selected (_tmp26_); +#line 1636 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = _tmp27_; +#line 1636 "/home/jens/Source/shotwell/src/Page.vala" + marker_mark_many (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1636 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp28_); +#line 1636 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp26_); +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = _tmp29_; +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = all; +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = _tmp32_; +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = item; +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_DATA_OBJECT, DataObject)); +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = _tmp35_; +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_and_select_marked (_tmp30_, _tmp31_, _tmp36_); +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp36_); +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp33_); +#line 1638 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp30_); +#line 1634 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (all); +#line 10751 "Page.c" + } +#line 1640 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 10755 "Page.c" + } + } + } else { + ViewCollection* _tmp37_ = NULL; + ViewCollection* _tmp38_ = NULL; +#line 1644 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1644 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = _tmp37_; +#line 1644 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_all (_tmp38_); +#line 1644 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp38_); +#line 10769 "Page.c" + } +#line 1647 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = checkerboard_page_get_context_menu (self); +#line 1647 "/home/jens/Source/shotwell/src/Page.vala" + context_menu = _tmp39_; +#line 1648 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = context_menu; +#line 1648 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = event; +#line 1648 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = page_popup_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp40_, _tmp41_); +#line 1648 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp42_; +#line 1648 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (context_menu); +#line 1648 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1648 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10789 "Page.c" +} + + +static gboolean checkerboard_page_real_on_mouse_over (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask) { + gboolean result = FALSE; + CheckerboardItem* _tmp0_ = NULL; + CheckerboardItem* _tmp6_ = NULL; + CheckerboardItem* _tmp7_ = NULL; + CheckerboardItem* _tmp8_ = NULL; + CheckerboardItem* _tmp10_ = NULL; + CheckerboardItem* _tmp11_ = NULL; + CheckerboardItem* _tmp12_ = NULL; + CheckerboardItem* _tmp13_ = NULL; +#line 1651 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail ((item == NULL) || IS_CHECKERBOARD_ITEM (item), FALSE); +#line 1652 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = item; +#line 1652 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ != NULL) { +#line 10809 "Page.c" + CheckerboardLayout* _tmp1_ = NULL; + CheckerboardItem* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkModifierType _tmp5_ = 0; +#line 1653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->layout; +#line 1653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = item; +#line 1653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = x; +#line 1653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = y; +#line 1653 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = mask; +#line 1653 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_handle_mouse_motion (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 10827 "Page.c" + } +#line 1657 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = item; +#line 1657 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->highlighted; +#line 1657 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp6_ == _tmp7_) { +#line 1658 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1658 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10839 "Page.c" + } +#line 1661 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->priv->highlighted; +#line 1661 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp8_ != NULL) { +#line 10845 "Page.c" + CheckerboardItem* _tmp9_ = NULL; +#line 1662 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->highlighted; +#line 1662 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_item_unbrighten (_tmp9_); +#line 1663 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->highlighted); +#line 1663 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->highlighted = NULL; +#line 10855 "Page.c" + } +#line 1667 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = item; +#line 1667 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp10_ == NULL) { +#line 1668 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1668 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10865 "Page.c" + } +#line 1671 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = item; +#line 1671 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_item_brighten (_tmp11_); +#line 1672 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = item; +#line 1672 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 1672 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->highlighted); +#line 1672 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->highlighted = _tmp13_; +#line 1674 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1674 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10883 "Page.c" +} + + +gboolean checkerboard_page_on_mouse_over (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask) { +#line 1651 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), FALSE); +#line 1651 "/home/jens/Source/shotwell/src/Page.vala" + return CHECKERBOARD_PAGE_GET_CLASS (self)->on_mouse_over (self, item, x, y, mask); +#line 10892 "Page.c" +} + + +static gboolean _checkerboard_page_selection_autoscroll_gsource_func (gpointer self) { + gboolean result; + result = checkerboard_page_selection_autoscroll ((CheckerboardPage*) self); +#line 1694 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10901 "Page.c" +} + + +static gboolean checkerboard_page_real_on_motion (Page* base, GdkEventMotion* event, gint x, gint y, GdkModifierType mask) { + CheckerboardPage * self; + gboolean result = FALSE; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + CheckerboardItem* _tmp2_ = NULL; + CheckerboardItem* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GdkModifierType _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + CheckerboardLayout* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + CheckerboardLayout* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; +#line 1677 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1677 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = x; +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = y; +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = checkerboard_page_get_item_at_pixel (self, (gdouble) _tmp0_, (gdouble) _tmp1_); +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = x; +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = y; +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = mask; +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = checkerboard_page_on_mouse_over (self, _tmp3_, _tmp4_, _tmp5_, _tmp6_); +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = !_tmp7_; +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp3_); +#line 1679 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp8_) { +#line 1680 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1680 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10954 "Page.c" + } +#line 1683 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->layout; +#line 1683 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = checkerboard_layout_is_drag_select_active (_tmp9_); +#line 1683 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp10_) { +#line 1684 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1684 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 10966 "Page.c" + } +#line 1687 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->priv->layout; +#line 1687 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = x; +#line 1687 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = y; +#line 1687 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_drag_select_endpoint (_tmp11_, _tmp12_, _tmp13_); +#line 1689 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_updated_selection_band (self); +#line 1692 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = self->priv->autoscroll_scheduled; +#line 1692 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp15_) { +#line 10982 "Page.c" + GtkAdjustment* _tmp16_ = NULL; + gint _tmp17_ = 0; + AdjustmentRelation _tmp18_ = 0; +#line 1693 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = gtk_scrolled_window_get_vadjustment (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow)); +#line 1693 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = y; +#line 1693 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = get_adjustment_relation (_tmp16_, _tmp17_); +#line 1693 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _tmp18_ != ADJUSTMENT_RELATION_IN_RANGE; +#line 10994 "Page.c" + } else { +#line 1692 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = FALSE; +#line 10998 "Page.c" + } +#line 1692 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp14_) { +#line 1694 "/home/jens/Source/shotwell/src/Page.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) CHECKERBOARD_PAGE_AUTOSCROLL_TICKS_MSEC, _checkerboard_page_selection_autoscroll_gsource_func, g_object_ref (self), g_object_unref); +#line 1695 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->autoscroll_scheduled = TRUE; +#line 11006 "Page.c" + } +#line 1699 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1699 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 11012 "Page.c" +} + + +static void checkerboard_page_updated_selection_band (CheckerboardPage* self) { + CheckerboardLayout* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeList* intersection = NULL; + CheckerboardLayout* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + Marker* to_unselect = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + Marker* _tmp7_ = NULL; + Marker* _tmp8_ = NULL; + Marker* to_select = NULL; + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + Marker* _tmp11_ = NULL; + Marker* _tmp12_ = NULL; + Marker* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; + GeeList* _tmp17_ = NULL; + GeeArrayList* _tmp18_ = NULL; + Marker* _tmp19_ = NULL; + GeeArrayList* _tmp20_ = NULL; + Marker* _tmp21_ = NULL; + GeeArrayList* _tmp22_ = NULL; + ViewCollection* _tmp44_ = NULL; + ViewCollection* _tmp45_ = NULL; + Marker* _tmp46_ = NULL; + ViewCollection* _tmp47_ = NULL; + ViewCollection* _tmp48_ = NULL; + Marker* _tmp49_ = NULL; +#line 1702 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1703 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1703 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = checkerboard_layout_is_drag_select_active (_tmp0_); +#line 1703 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp1_, "layout.is_drag_select_active()"); +#line 1706 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->layout; +#line 1706 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = checkerboard_layout_items_in_selection_band (_tmp2_); +#line 1706 "/home/jens/Source/shotwell/src/Page.vala" + intersection = _tmp3_; +#line 1707 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = intersection; +#line 1707 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_ == NULL) { +#line 1708 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (intersection); +#line 1708 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 11071 "Page.c" + } +#line 1710 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1710 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_; +#line 1710 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1710 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_; +#line 1710 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp6_); +#line 1710 "/home/jens/Source/shotwell/src/Page.vala" + to_unselect = _tmp8_; +#line 1711 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1711 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_; +#line 1711 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1711 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = _tmp11_; +#line 1711 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp10_); +#line 1711 "/home/jens/Source/shotwell/src/Page.vala" + to_select = _tmp12_; +#line 1714 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = to_unselect; +#line 1714 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1714 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _tmp14_; +#line 1714 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = view_collection_get_selected (_tmp15_); +#line 1714 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = _tmp16_; +#line 1714 "/home/jens/Source/shotwell/src/Page.vala" + marker_mark_many (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1714 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp17_); +#line 1714 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp15_); +#line 1717 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = self->priv->previously_selected; +#line 1717 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp18_ != NULL, "previously_selected != null"); +#line 1718 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = to_unselect; +#line 1718 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = self->priv->previously_selected; +#line 1718 "/home/jens/Source/shotwell/src/Page.vala" + marker_unmark_many (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1719 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = to_select; +#line 1719 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = self->priv->previously_selected; +#line 1719 "/home/jens/Source/shotwell/src/Page.vala" + marker_mark_many (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1722 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1722 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = NULL; +#line 11133 "Page.c" + { + GeeList* _item_list = NULL; + GeeList* _tmp23_ = NULL; + GeeList* _tmp24_ = NULL; + gint _item_size = 0; + GeeList* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gint _item_index = 0; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = intersection; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _item_list = _tmp24_; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = _item_list; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = _tmp26_; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _item_size = _tmp27_; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _item_index = -1; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 11161 "Page.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + CheckerboardItem* item = NULL; + GeeList* _tmp31_ = NULL; + gint _tmp32_ = 0; + gpointer _tmp33_ = NULL; + Marker* _tmp34_ = NULL; + CheckerboardItem* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + CheckerboardItem* _tmp41_ = NULL; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = _item_index; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _item_index = _tmp28_ + 1; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _item_index; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = _item_size; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + if (!(_tmp29_ < _tmp30_)) { +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 11185 "Page.c" + } +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = _item_list; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = _item_index; +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = gee_list_get (_tmp31_, _tmp32_); +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + item = (CheckerboardItem*) _tmp33_; +#line 1725 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = to_select; +#line 1725 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = item; +#line 1725 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = marker_toggle (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_DATA_OBJECT, DataObject)); +#line 1725 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp36_) { +#line 11203 "Page.c" + Marker* _tmp37_ = NULL; + CheckerboardItem* _tmp38_ = NULL; +#line 1726 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = to_unselect; +#line 1726 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = item; +#line 1726 "/home/jens/Source/shotwell/src/Page.vala" + marker_unmark (_tmp37_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_DATA_OBJECT, DataObject)); +#line 11212 "Page.c" + } else { + Marker* _tmp39_ = NULL; + CheckerboardItem* _tmp40_ = NULL; +#line 1728 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = to_unselect; +#line 1728 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = item; +#line 1728 "/home/jens/Source/shotwell/src/Page.vala" + marker_mark (_tmp39_, G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_DATA_OBJECT, DataObject)); +#line 11222 "Page.c" + } +#line 1730 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = self->cursor; +#line 1730 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp41_ == NULL) { +#line 11228 "Page.c" + CheckerboardItem* _tmp42_ = NULL; + CheckerboardItem* _tmp43_ = NULL; +#line 1731 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = item; +#line 1731 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = _g_object_ref0 (_tmp42_); +#line 1731 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1731 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = _tmp43_; +#line 11239 "Page.c" + } +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 11243 "Page.c" + } +#line 1724 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_item_list); +#line 11247 "Page.c" + } +#line 1734 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1734 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = _tmp44_; +#line 1734 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = to_select; +#line 1734 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_select_marked (_tmp45_, _tmp46_); +#line 1734 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp45_); +#line 1735 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1735 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = _tmp47_; +#line 1735 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49_ = to_unselect; +#line 1735 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_marked (_tmp48_, _tmp49_); +#line 1735 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp48_); +#line 1702 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (to_select); +#line 1702 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (to_unselect); +#line 1702 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (intersection); +#line 11275 "Page.c" +} + + +static gboolean checkerboard_page_selection_autoscroll (CheckerboardPage* self) { + gboolean result = FALSE; + CheckerboardLayout* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GtkAdjustment* vadj = NULL; + GtkAdjustment* _tmp2_ = NULL; + GtkAdjustment* _tmp3_ = NULL; + gint x = 0; + gint y = 0; + GdkModifierType mask = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GdkModifierType _tmp6_ = 0; + gint new_value = 0; + GtkAdjustment* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + GtkAdjustment* _tmp9_ = NULL; + gint _tmp10_ = 0; + AdjustmentRelation _tmp11_ = 0; + GtkAdjustment* _tmp22_ = NULL; + gint _tmp23_ = 0; + GtkAdjustment* _tmp24_ = NULL; + gdouble _tmp25_ = 0.0; + GtkAdjustment* _tmp26_ = NULL; + gdouble _tmp27_ = 0.0; + GtkAdjustment* _tmp28_ = NULL; + gdouble _tmp29_ = 0.0; + gint _tmp30_ = 0; +#line 1738 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_CHECKERBOARD_PAGE (self), FALSE); +#line 1739 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->layout; +#line 1739 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = checkerboard_layout_is_drag_select_active (_tmp0_); +#line 1739 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp1_) { +#line 1740 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->autoscroll_scheduled = FALSE; +#line 1742 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1742 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 11321 "Page.c" + } +#line 1746 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = gtk_scrolled_window_get_vadjustment (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow)); +#line 1746 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 1746 "/home/jens/Source/shotwell/src/Page.vala" + vadj = _tmp3_; +#line 1750 "/home/jens/Source/shotwell/src/Page.vala" + page_get_event_source_pointer (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), &_tmp4_, &_tmp5_, &_tmp6_); +#line 1750 "/home/jens/Source/shotwell/src/Page.vala" + x = _tmp4_; +#line 1750 "/home/jens/Source/shotwell/src/Page.vala" + y = _tmp5_; +#line 1750 "/home/jens/Source/shotwell/src/Page.vala" + mask = _tmp6_; +#line 1752 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = vadj; +#line 1752 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = gtk_adjustment_get_value (_tmp7_); +#line 1752 "/home/jens/Source/shotwell/src/Page.vala" + new_value = (gint) _tmp8_; +#line 1753 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = vadj; +#line 1753 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = y; +#line 1753 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = get_adjustment_relation (_tmp9_, _tmp10_); +#line 1753 "/home/jens/Source/shotwell/src/Page.vala" + switch (_tmp11_) { +#line 1753 "/home/jens/Source/shotwell/src/Page.vala" + case ADJUSTMENT_RELATION_BELOW: +#line 11353 "Page.c" + { + gint _tmp12_ = 0; + CheckerboardLayout* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 1756 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = new_value; +#line 1756 "/home/jens/Source/shotwell/src/Page.vala" + new_value = _tmp12_ - CHECKERBOARD_PAGE_AUTOSCROLL_PIXELS; +#line 1757 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = self->priv->layout; +#line 1757 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = x; +#line 1757 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = new_value; +#line 1757 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_drag_select_endpoint (_tmp13_, _tmp14_, _tmp15_); +#line 1758 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 11373 "Page.c" + } +#line 1753 "/home/jens/Source/shotwell/src/Page.vala" + case ADJUSTMENT_RELATION_ABOVE: +#line 11377 "Page.c" + { + gint _tmp16_ = 0; + CheckerboardLayout* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GtkAdjustment* _tmp20_ = NULL; + gdouble _tmp21_ = 0.0; +#line 1762 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = new_value; +#line 1762 "/home/jens/Source/shotwell/src/Page.vala" + new_value = _tmp16_ + CHECKERBOARD_PAGE_AUTOSCROLL_PIXELS; +#line 1763 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = self->priv->layout; +#line 1763 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = x; +#line 1763 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = new_value; +#line 1763 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = vadj; +#line 1763 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = gtk_adjustment_get_page_size (_tmp20_); +#line 1763 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_drag_select_endpoint (_tmp17_, _tmp18_, _tmp19_ + ((gint) _tmp21_)); +#line 1764 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 11403 "Page.c" + } +#line 1753 "/home/jens/Source/shotwell/src/Page.vala" + case ADJUSTMENT_RELATION_IN_RANGE: +#line 11407 "Page.c" + { +#line 1767 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->autoscroll_scheduled = FALSE; +#line 1769 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 1769 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (vadj); +#line 1769 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 11417 "Page.c" + } + default: + { +#line 1772 "/home/jens/Source/shotwell/src/Page.vala" + g_warn_if_reached (); +#line 1773 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 11425 "Page.c" + } + } +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = vadj; +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = new_value; +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = vadj; +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = gtk_adjustment_get_lower (_tmp24_); +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = vadj; +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = gtk_adjustment_get_upper (_tmp26_); +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = vadj; +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = gtk_adjustment_get_page_size (_tmp28_); +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = CLAMP (_tmp23_, (gint) _tmp25_, ((gint) _tmp27_) - ((gint) _tmp29_)); +#line 1779 "/home/jens/Source/shotwell/src/Page.vala" + gtk_adjustment_set_value (_tmp22_, (gdouble) _tmp30_); +#line 1782 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_updated_selection_band (self); +#line 1784 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 1784 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (vadj); +#line 1784 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 11456 "Page.c" +} + + +void checkerboard_page_cursor_to_item (CheckerboardPage* self, CheckerboardItem* item) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + CheckerboardItem* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + CheckerboardItem* _tmp4_ = NULL; + CheckerboardItem* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + CheckerboardLayout* _tmp17_ = NULL; + CheckerboardItem* _tmp18_ = NULL; + GtkAdjustment* vadj = NULL; + GtkAdjustment* _tmp19_ = NULL; + GtkAdjustment* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + GtkAdjustment* _tmp22_ = NULL; + CheckerboardItem* _tmp23_ = NULL; + GdkRectangle _tmp24_ = {0}; + gint _tmp25_ = 0; + AdjustmentRelation _tmp26_ = 0; + gint top = 0; + CheckerboardItem* _tmp35_ = NULL; + GdkRectangle _tmp36_ = {0}; + gint _tmp37_ = 0; + GtkAdjustment* _tmp38_ = NULL; + gdouble _tmp39_ = 0.0; + GtkAdjustment* _tmp53_ = NULL; + gint _tmp54_ = 0; +#line 1787 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1787 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (item)); +#line 1788 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1788 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 1788 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = item; +#line 1788 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = data_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 1788 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp3_, "get_view().contains(item)"); +#line 1788 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp1_); +#line 1790 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = item; +#line 1790 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 1790 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1790 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = _tmp5_; +#line 1792 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1792 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp6_) { +#line 11515 "Page.c" + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + Marker* marker = NULL; + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + CheckerboardItem* _tmp11_ = NULL; + Marker* _tmp12_ = NULL; + Marker* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + Marker* _tmp16_ = NULL; +#line 1793 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1793 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_; +#line 1793 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_all (_tmp8_); +#line 1793 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp8_); +#line 1794 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1794 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_; +#line 1794 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = item; +#line 1794 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_OBJECT, DataObject)); +#line 1794 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_; +#line 1794 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp10_); +#line 1794 "/home/jens/Source/shotwell/src/Page.vala" + marker = _tmp13_; +#line 1795 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1795 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _tmp14_; +#line 1795 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = marker; +#line 1795 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_select_marked (_tmp15_, _tmp16_); +#line 1795 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp15_); +#line 1792 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (marker); +#line 11561 "Page.c" + } +#line 1797 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = self->priv->layout; +#line 1797 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = item; +#line 1797 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_layout_set_cursor (_tmp17_, _tmp18_); +#line 1800 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = gtk_scrolled_window_get_vadjustment (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow)); +#line 1800 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 1800 "/home/jens/Source/shotwell/src/Page.vala" + vadj = _tmp20_; +#line 1801 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = vadj; +#line 1801 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = item; +#line 1801 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = _tmp23_->allocation; +#line 1801 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = _tmp24_.y; +#line 1801 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = get_adjustment_relation (_tmp22_, _tmp25_); +#line 1801 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp26_ == ADJUSTMENT_RELATION_IN_RANGE) { +#line 11587 "Page.c" + GtkAdjustment* _tmp27_ = NULL; + CheckerboardItem* _tmp28_ = NULL; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + CheckerboardItem* _tmp31_ = NULL; + GdkRectangle _tmp32_ = {0}; + gint _tmp33_ = 0; + AdjustmentRelation _tmp34_ = 0; +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = vadj; +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = item; +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _tmp28_->allocation; +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = _tmp29_.y; +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = item; +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = _tmp31_->allocation; +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = _tmp32_.height; +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = get_adjustment_relation (_tmp27_, _tmp30_ + _tmp33_); +#line 1802 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = _tmp34_ == ADJUSTMENT_RELATION_IN_RANGE; +#line 11614 "Page.c" + } else { +#line 1801 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = FALSE; +#line 11618 "Page.c" + } +#line 1801 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp21_) { +#line 1803 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (vadj); +#line 1803 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 11626 "Page.c" + } +#line 1806 "/home/jens/Source/shotwell/src/Page.vala" + top = 0; +#line 1807 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = item; +#line 1807 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = _tmp35_->allocation; +#line 1807 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = _tmp36_.y; +#line 1807 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = vadj; +#line 1807 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = gtk_adjustment_get_value (_tmp38_); +#line 1807 "/home/jens/Source/shotwell/src/Page.vala" + if (((gdouble) _tmp37_) < _tmp39_) { +#line 11642 "Page.c" + CheckerboardItem* _tmp40_ = NULL; + GdkRectangle _tmp41_ = {0}; + gint _tmp42_ = 0; + gint _tmp43_ = 0; +#line 1808 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = item; +#line 1808 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = _tmp40_->allocation; +#line 1808 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = _tmp41_.y; +#line 1808 "/home/jens/Source/shotwell/src/Page.vala" + top = _tmp42_; +#line 1809 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = top; +#line 1809 "/home/jens/Source/shotwell/src/Page.vala" + top = _tmp43_ - (CHECKERBOARD_LAYOUT_ROW_GUTTER_PADDING / 2); +#line 11659 "Page.c" + } else { + CheckerboardItem* _tmp44_ = NULL; + GdkRectangle _tmp45_ = {0}; + gint _tmp46_ = 0; + CheckerboardItem* _tmp47_ = NULL; + GdkRectangle _tmp48_ = {0}; + gint _tmp49_ = 0; + GtkAdjustment* _tmp50_ = NULL; + gdouble _tmp51_ = 0.0; + gint _tmp52_ = 0; +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = item; +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = _tmp44_->allocation; +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = _tmp45_.y; +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = item; +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = _tmp47_->allocation; +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49_ = _tmp48_.height; +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + _tmp50_ = vadj; +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + _tmp51_ = gtk_adjustment_get_page_size (_tmp50_); +#line 1811 "/home/jens/Source/shotwell/src/Page.vala" + top = (_tmp46_ + _tmp49_) - ((gint) _tmp51_); +#line 1812 "/home/jens/Source/shotwell/src/Page.vala" + _tmp52_ = top; +#line 1812 "/home/jens/Source/shotwell/src/Page.vala" + top = _tmp52_ + (CHECKERBOARD_LAYOUT_ROW_GUTTER_PADDING / 2); +#line 11692 "Page.c" + } +#line 1815 "/home/jens/Source/shotwell/src/Page.vala" + _tmp53_ = vadj; +#line 1815 "/home/jens/Source/shotwell/src/Page.vala" + _tmp54_ = top; +#line 1815 "/home/jens/Source/shotwell/src/Page.vala" + gtk_adjustment_set_value (_tmp53_, (gdouble) _tmp54_); +#line 1787 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (vadj); +#line 11702 "Page.c" +} + + +void checkerboard_page_move_cursor (CheckerboardPage* self, CompassPoint point) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + CheckerboardItem* _tmp6_ = NULL; + CheckerboardItem* _tmp21_ = NULL; + CheckerboardItem* item = NULL; + CheckerboardLayout* _tmp25_ = NULL; + CheckerboardItem* _tmp26_ = NULL; + CompassPoint _tmp27_ = 0; + CheckerboardItem* _tmp28_ = NULL; + CheckerboardItem* _tmp29_ = NULL; +#line 1818 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 1820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1820 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_ == 0; +#line 1820 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp1_); +#line 1820 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_) { +#line 1821 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 11737 "Page.c" + } +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->cursor; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp6_ == NULL) { +#line 11743 "Page.c" + CheckerboardLayout* _tmp7_ = NULL; + CheckerboardItem* _tmp8_ = NULL; + CheckerboardItem* _tmp9_ = NULL; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->layout; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = checkerboard_layout_get_cursor (_tmp7_); +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _tmp8_; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp9_ == NULL; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp9_); +#line 11757 "Page.c" + } else { +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = FALSE; +#line 11761 "Page.c" + } +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp5_) { +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = TRUE; +#line 11767 "Page.c" + } else { + gboolean _tmp10_ = FALSE; + CheckerboardItem* _tmp11_ = NULL; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->cursor; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp11_ != NULL) { +#line 11775 "Page.c" + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + CheckerboardItem* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = self->cursor; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = data_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = !_tmp15_; +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp13_); +#line 11792 "Page.c" + } else { +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = FALSE; +#line 11796 "Page.c" + } +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp10_; +#line 11800 "Page.c" + } +#line 1826 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_) { +#line 11804 "Page.c" + CheckerboardItem* item = NULL; + CheckerboardLayout* _tmp16_ = NULL; + CheckerboardItem* _tmp17_ = NULL; + CheckerboardItem* _tmp18_ = NULL; + CheckerboardItem* _tmp19_ = NULL; + CheckerboardItem* _tmp20_ = NULL; +#line 1827 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = self->priv->layout; +#line 1827 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = checkerboard_layout_get_item_at_coordinate (_tmp16_, 0, 0); +#line 1827 "/home/jens/Source/shotwell/src/Page.vala" + item = _tmp17_; +#line 1828 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = item; +#line 1828 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_cursor_to_item (self, _tmp18_); +#line 1829 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = item; +#line 1829 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 1829 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1829 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = _tmp20_; +#line 1831 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1831 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 11833 "Page.c" + } +#line 1834 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = self->cursor; +#line 1834 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp21_ == NULL) { +#line 11839 "Page.c" + CheckerboardLayout* _tmp22_ = NULL; + CheckerboardItem* _tmp23_ = NULL; + CheckerboardItem* _tmp24_ = NULL; +#line 1835 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = self->priv->layout; +#line 1835 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = checkerboard_layout_get_cursor (_tmp22_); +#line 1835 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, TYPE_CHECKERBOARD_ITEM) ? ((CheckerboardItem*) _tmp23_) : NULL; +#line 1835 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp24_ == NULL) { +#line 1835 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp23_); +#line 11853 "Page.c" + } +#line 1835 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1835 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = _tmp24_; +#line 11859 "Page.c" + } +#line 1839 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = self->priv->layout; +#line 1839 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = self->cursor; +#line 1839 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = point; +#line 1839 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = checkerboard_layout_get_item_relative_to (_tmp25_, _tmp26_, _tmp27_); +#line 1839 "/home/jens/Source/shotwell/src/Page.vala" + item = _tmp28_; +#line 1840 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = item; +#line 1840 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp29_ != NULL) { +#line 11875 "Page.c" + CheckerboardItem* _tmp30_ = NULL; +#line 1841 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = item; +#line 1841 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_cursor_to_item (self, _tmp30_); +#line 11881 "Page.c" + } +#line 1818 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 11885 "Page.c" +} + + +void checkerboard_page_set_cursor (CheckerboardPage* self, CheckerboardItem* item) { + Marker* marker = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + CheckerboardItem* _tmp2_ = NULL; + Marker* _tmp3_ = NULL; + Marker* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + CheckerboardItem* _tmp7_ = NULL; + CheckerboardItem* _tmp8_ = NULL; + CheckerboardItem* _tmp9_ = NULL; + CheckerboardItem* _tmp10_ = NULL; +#line 1844 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1844 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (item)); +#line 1845 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1845 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 1845 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = item; +#line 1845 "/home/jens/Source/shotwell/src/Page.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 1845 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_; +#line 1845 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp1_); +#line 1845 "/home/jens/Source/shotwell/src/Page.vala" + marker = _tmp4_; +#line 1846 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1846 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_; +#line 1846 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_select_marked (_tmp6_, marker); +#line 1846 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp6_); +#line 1848 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = item; +#line 1848 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 1848 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1848 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = _tmp8_; +#line 1849 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = item; +#line 1849 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 1849 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1849 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = _tmp10_; +#line 1844 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (marker); +#line 11946 "Page.c" +} + + +void checkerboard_page_select_between_items (CheckerboardPage* self, CheckerboardItem* item_start, CheckerboardItem* item_end) { + Marker* marker = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + Marker* _tmp2_ = NULL; + Marker* _tmp3_ = NULL; + gboolean passed_start = FALSE; + gboolean passed_end = FALSE; + ViewCollection* _tmp28_ = NULL; + ViewCollection* _tmp29_ = NULL; + Marker* _tmp30_ = NULL; +#line 1852 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1852 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (item_start)); +#line 1852 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (item_end)); +#line 1853 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1853 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 1853 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1853 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 1853 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp1_); +#line 1853 "/home/jens/Source/shotwell/src/Page.vala" + marker = _tmp3_; +#line 1855 "/home/jens/Source/shotwell/src/Page.vala" + passed_start = FALSE; +#line 1856 "/home/jens/Source/shotwell/src/Page.vala" + passed_end = FALSE; +#line 11983 "Page.c" + { + GeeIterator* _object_it = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_; +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _tmp8_; +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp7_); +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp5_); +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _object_it = _tmp9_; +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + while (TRUE) { +#line 12012 "Page.c" + GeeIterator* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + CheckerboardItem* item = NULL; + DataObject* _tmp14_ = NULL; + CheckerboardItem* _tmp15_ = NULL; + CheckerboardItem* _tmp16_ = NULL; + CheckerboardItem* _tmp17_ = NULL; + CheckerboardItem* _tmp18_ = NULL; + CheckerboardItem* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _object_it; +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = gee_iterator_next (_tmp10_); +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp11_) { +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 12037 "Page.c" + } +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = _object_it; +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = gee_iterator_get (_tmp12_); +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + object = (DataObject*) _tmp13_; +#line 1859 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = object; +#line 1859 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1859 "/home/jens/Source/shotwell/src/Page.vala" + item = _tmp15_; +#line 1861 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = item_start; +#line 1861 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = item; +#line 1861 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp16_ == _tmp17_) { +#line 1862 "/home/jens/Source/shotwell/src/Page.vala" + passed_start = TRUE; +#line 12059 "Page.c" + } +#line 1864 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = item_end; +#line 1864 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = item; +#line 1864 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp18_ == _tmp19_) { +#line 1865 "/home/jens/Source/shotwell/src/Page.vala" + passed_end = TRUE; +#line 12069 "Page.c" + } +#line 1867 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = passed_start; +#line 1867 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp21_) { +#line 1867 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = TRUE; +#line 12077 "Page.c" + } else { + gboolean _tmp22_ = FALSE; +#line 1867 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = passed_end; +#line 1867 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp22_; +#line 12084 "Page.c" + } +#line 1867 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp20_) { +#line 12088 "Page.c" + Marker* _tmp23_ = NULL; + DataObject* _tmp24_ = NULL; +#line 1868 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = marker; +#line 1868 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = object; +#line 1868 "/home/jens/Source/shotwell/src/Page.vala" + marker_mark (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_VIEW, DataView), TYPE_DATA_OBJECT, DataObject)); +#line 12097 "Page.c" + } +#line 1870 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = passed_start; +#line 1870 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp26_) { +#line 12103 "Page.c" + gboolean _tmp27_ = FALSE; +#line 1870 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = passed_end; +#line 1870 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = _tmp27_; +#line 12109 "Page.c" + } else { +#line 1870 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = FALSE; +#line 12113 "Page.c" + } +#line 1870 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp25_) { +#line 1871 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1871 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (object); +#line 1871 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 12123 "Page.c" + } +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (item); +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (object); +#line 12129 "Page.c" + } +#line 1858 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_object_it); +#line 12133 "Page.c" + } +#line 1874 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1874 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _tmp28_; +#line 1874 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = marker; +#line 1874 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_select_marked (_tmp29_, _tmp30_); +#line 1874 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp29_); +#line 1852 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (marker); +#line 12147 "Page.c" +} + + +void checkerboard_page_select_anchor_to_cursor (CheckerboardPage* self, guint state) { + gboolean _tmp0_ = FALSE; + CheckerboardItem* _tmp1_ = NULL; + guint _tmp3_ = 0U; +#line 1877 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1878 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->cursor; +#line 1878 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_ == NULL) { +#line 1878 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = TRUE; +#line 12163 "Page.c" + } else { + CheckerboardItem* _tmp2_ = NULL; +#line 1878 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->anchor; +#line 1878 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _tmp2_ == NULL; +#line 12170 "Page.c" + } +#line 1878 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 1879 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 12176 "Page.c" + } +#line 1881 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = state; +#line 1881 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_ == ((guint) GDK_SHIFT_MASK)) { +#line 12182 "Page.c" + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + CheckerboardItem* _tmp6_ = NULL; + CheckerboardItem* _tmp7_ = NULL; +#line 1882 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1882 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 1882 "/home/jens/Source/shotwell/src/Page.vala" + view_collection_unselect_all (_tmp5_); +#line 1882 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp5_); +#line 1883 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->anchor; +#line 1883 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->cursor; +#line 1883 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_select_between_items (self, _tmp6_, _tmp7_); +#line 12201 "Page.c" + } else { + CheckerboardItem* _tmp8_ = NULL; + CheckerboardItem* _tmp9_ = NULL; +#line 1885 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->cursor; +#line 1885 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 1885 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1885 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = _tmp9_; +#line 12213 "Page.c" + } +} + + +static void checkerboard_page_real_set_display_titles (CheckerboardPage* self, gboolean display) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GValue _tmp5_ = {0}; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; +#line 1890 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1890 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 1890 "/home/jens/Source/shotwell/src/Page.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1890 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp1_); +#line 1891 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1891 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 1891 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = display; +#line 1891 "/home/jens/Source/shotwell/src/Page.vala" + g_value_init (&_tmp5_, G_TYPE_BOOLEAN); +#line 1891 "/home/jens/Source/shotwell/src/Page.vala" + g_value_set_boolean (&_tmp5_, _tmp4_); +#line 1891 "/home/jens/Source/shotwell/src/Page.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), CHECKERBOARD_ITEM_PROP_SHOW_TITLES, &_tmp5_, NULL, NULL); +#line 1891 "/home/jens/Source/shotwell/src/Page.vala" + G_IS_VALUE (&_tmp5_) ? (g_value_unset (&_tmp5_), NULL) : NULL; +#line 1891 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp3_); +#line 1892 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1892 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_; +#line 1892 "/home/jens/Source/shotwell/src/Page.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1892 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp7_); +#line 12259 "Page.c" +} + + +void checkerboard_page_set_display_titles (CheckerboardPage* self, gboolean display) { +#line 1889 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1889 "/home/jens/Source/shotwell/src/Page.vala" + CHECKERBOARD_PAGE_GET_CLASS (self)->set_display_titles (self, display); +#line 12268 "Page.c" +} + + +static void checkerboard_page_real_set_display_comments (CheckerboardPage* self, gboolean display) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GValue _tmp5_ = {0}; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; +#line 1896 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1896 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 1896 "/home/jens/Source/shotwell/src/Page.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1896 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp1_); +#line 1897 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1897 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 1897 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = display; +#line 1897 "/home/jens/Source/shotwell/src/Page.vala" + g_value_init (&_tmp5_, G_TYPE_BOOLEAN); +#line 1897 "/home/jens/Source/shotwell/src/Page.vala" + g_value_set_boolean (&_tmp5_, _tmp4_); +#line 1897 "/home/jens/Source/shotwell/src/Page.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), CHECKERBOARD_ITEM_PROP_SHOW_COMMENTS, &_tmp5_, NULL, NULL); +#line 1897 "/home/jens/Source/shotwell/src/Page.vala" + G_IS_VALUE (&_tmp5_) ? (g_value_unset (&_tmp5_), NULL) : NULL; +#line 1897 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp3_); +#line 1898 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1898 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_; +#line 1898 "/home/jens/Source/shotwell/src/Page.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1898 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp7_); +#line 12313 "Page.c" +} + + +void checkerboard_page_set_display_comments (CheckerboardPage* self, gboolean display) { +#line 1895 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (self)); +#line 1895 "/home/jens/Source/shotwell/src/Page.vala" + CHECKERBOARD_PAGE_GET_CLASS (self)->set_display_comments (self, display); +#line 12322 "Page.c" +} + + +void checkerboard_page_keyboard_modifiers_init (CheckerboardPageKeyboardModifiers *self, Page* page) { + Page* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + Page* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + Page* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + Page* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 1188 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1188 "/home/jens/Source/shotwell/src/Page.vala" + memset (self, 0, sizeof (CheckerboardPageKeyboardModifiers)); +#line 1189 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page; +#line 1189 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_ctrl_pressed (_tmp0_); +#line 1189 "/home/jens/Source/shotwell/src/Page.vala" + (*self).ctrl_pressed = _tmp1_; +#line 1190 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page; +#line 1190 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = page_get_alt_pressed (_tmp2_); +#line 1190 "/home/jens/Source/shotwell/src/Page.vala" + (*self).alt_pressed = _tmp3_; +#line 1191 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page; +#line 1191 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = page_get_shift_pressed (_tmp4_); +#line 1191 "/home/jens/Source/shotwell/src/Page.vala" + (*self).shift_pressed = _tmp5_; +#line 1192 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = page; +#line 1192 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = page_get_super_pressed (_tmp6_); +#line 1192 "/home/jens/Source/shotwell/src/Page.vala" + (*self).super_pressed = _tmp7_; +#line 12363 "Page.c" +} + + +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self) { + CheckerboardPageKeyboardModifiers* dup; +#line 1187 "/home/jens/Source/shotwell/src/Page.vala" + dup = g_new0 (CheckerboardPageKeyboardModifiers, 1); +#line 1187 "/home/jens/Source/shotwell/src/Page.vala" + memcpy (dup, self, sizeof (CheckerboardPageKeyboardModifiers)); +#line 1187 "/home/jens/Source/shotwell/src/Page.vala" + return dup; +#line 12375 "Page.c" +} + + +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self) { +#line 1187 "/home/jens/Source/shotwell/src/Page.vala" + g_free (self); +#line 12382 "Page.c" +} + + +GType checkerboard_page_keyboard_modifiers_get_type (void) { + static volatile gsize checkerboard_page_keyboard_modifiers_type_id__volatile = 0; + if (g_once_init_enter (&checkerboard_page_keyboard_modifiers_type_id__volatile)) { + GType checkerboard_page_keyboard_modifiers_type_id; + checkerboard_page_keyboard_modifiers_type_id = g_boxed_type_register_static ("CheckerboardPageKeyboardModifiers", (GBoxedCopyFunc) checkerboard_page_keyboard_modifiers_dup, (GBoxedFreeFunc) checkerboard_page_keyboard_modifiers_free); + g_once_init_leave (&checkerboard_page_keyboard_modifiers_type_id__volatile, checkerboard_page_keyboard_modifiers_type_id); + } + return checkerboard_page_keyboard_modifiers_type_id__volatile; +} + + +static void checkerboard_page_class_init (CheckerboardPageClass * klass) { +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + checkerboard_page_parent_class = g_type_class_peek_parent (klass); +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + g_type_class_add_private (klass, sizeof (CheckerboardPagePrivate)); +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->get_item_context_menu = checkerboard_page_real_get_item_context_menu; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->get_page_context_menu = checkerboard_page_real_get_page_context_menu; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_context_keypress = checkerboard_page_real_on_context_keypress; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->get_view_empty_message = checkerboard_page_real_get_view_empty_message; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->get_filter_no_match_message = checkerboard_page_real_get_filter_no_match_message; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->on_item_activated = checkerboard_page_real_on_item_activated; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->get_search_view_filter = checkerboard_page_real_get_search_view_filter; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->get_view_tracker = checkerboard_page_real_get_view_tracker; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->switching_from = checkerboard_page_real_switching_from; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->switched_to = checkerboard_page_real_switched_to; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->set_page_name = checkerboard_page_real_set_page_name; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((GtkWidgetClass *) klass)->key_press_event = checkerboard_page_real_key_press_event; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_left_click = checkerboard_page_real_on_left_click; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_left_released = checkerboard_page_real_on_left_released; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_right_click = checkerboard_page_real_on_right_click; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->on_mouse_over = checkerboard_page_real_on_mouse_over; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_motion = checkerboard_page_real_on_motion; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->set_display_titles = checkerboard_page_real_set_display_titles; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + ((CheckerboardPageClass *) klass)->set_display_comments = checkerboard_page_real_set_display_comments; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + G_OBJECT_CLASS (klass)->finalize = checkerboard_page_finalize; +#line 12442 "Page.c" +} + + +static void checkerboard_page_instance_init (CheckerboardPage * self) { + GtkViewport* _tmp0_ = NULL; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + self->priv = CHECKERBOARD_PAGE_GET_PRIVATE (self); +#line 1172 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->item_context_menu_path = NULL; +#line 1173 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->page_context_menu_path = NULL; +#line 1174 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = (GtkViewport*) gtk_viewport_new (NULL, NULL); +#line 1174 "/home/jens/Source/shotwell/src/Page.vala" + g_object_ref_sink (_tmp0_); +#line 1174 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->viewport = _tmp0_; +#line 1175 "/home/jens/Source/shotwell/src/Page.vala" + self->anchor = NULL; +#line 1176 "/home/jens/Source/shotwell/src/Page.vala" + self->cursor = NULL; +#line 1177 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->highlighted = NULL; +#line 1178 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->autoscroll_scheduled = FALSE; +#line 1179 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->activated_item = NULL; +#line 1180 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->previously_selected = NULL; +#line 12472 "Page.c" +} + + +static void checkerboard_page_finalize (GObject* obj) { + CheckerboardPage * self; +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CHECKERBOARD_PAGE, CheckerboardPage); +#line 1171 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->layout); +#line 1172 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->item_context_menu_path); +#line 1173 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (self->priv->page_context_menu_path); +#line 1174 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->viewport); +#line 1175 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->anchor); +#line 1176 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->cursor); +#line 1177 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->highlighted); +#line 1179 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->activated_item); +#line 1180 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->previously_selected); +#line 1167 "/home/jens/Source/shotwell/src/Page.vala" + G_OBJECT_CLASS (checkerboard_page_parent_class)->finalize (obj); +#line 12500 "Page.c" +} + + +GType checkerboard_page_get_type (void) { + static volatile gsize checkerboard_page_type_id__volatile = 0; + if (g_once_init_enter (&checkerboard_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CheckerboardPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) checkerboard_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CheckerboardPage), 0, (GInstanceInitFunc) checkerboard_page_instance_init, NULL }; + GType checkerboard_page_type_id; + checkerboard_page_type_id = g_type_register_static (TYPE_PAGE, "CheckerboardPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&checkerboard_page_type_id__volatile, checkerboard_page_type_id); + } + return checkerboard_page_type_id__volatile; +} + + +GType single_photo_page_update_reason_get_type (void) { + static volatile gsize single_photo_page_update_reason_type_id__volatile = 0; + if (g_once_init_enter (&single_photo_page_update_reason_type_id__volatile)) { + static const GEnumValue values[] = {{SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF, "SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF", "new-pixbuf"}, {SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT, "SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT", "quality-improvement"}, {SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS, "SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS", "resized-canvas"}, {0, NULL, NULL}}; + GType single_photo_page_update_reason_type_id; + single_photo_page_update_reason_type_id = g_enum_register_static ("SinglePhotoPageUpdateReason", values); + g_once_init_leave (&single_photo_page_update_reason_type_id__volatile, single_photo_page_update_reason_type_id); + } + return single_photo_page_update_reason_type_id__volatile; +} + + +static void _single_photo_page_on_viewport_resize_gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self) { +#line 1957 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_on_viewport_resize ((SinglePhotoPage*) self); +#line 12531 "Page.c" +} + + +static gboolean _single_photo_page_on_canvas_exposed_gtk_widget_draw (GtkWidget* _sender, cairo_t* cr, gpointer self) { + gboolean result; + result = single_photo_page_on_canvas_exposed ((SinglePhotoPage*) self, cr); +#line 1958 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 12540 "Page.c" +} + + +SinglePhotoPage* single_photo_page_construct (GType object_type, const gchar* page_name, gboolean scale_up_to_viewport) { + SinglePhotoPage * self = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + TransitionEffectsManager* _tmp2_ = NULL; + TransitionEffectsManager* _tmp3_ = NULL; + TransitionClock* _tmp4_ = NULL; + GtkViewport* _tmp5_ = NULL; + GtkViewport* _tmp6_ = NULL; + GtkViewport* _tmp7_ = NULL; + GtkDrawingArea* _tmp8_ = NULL; + GtkViewport* _tmp9_ = NULL; + GtkDrawingArea* _tmp10_ = NULL; + GtkViewport* _tmp11_ = NULL; + GtkDrawingArea* _tmp12_ = NULL; + GtkDrawingArea* _tmp13_ = NULL; +#line 1934 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (page_name != NULL, NULL); +#line 1935 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_name; +#line 1935 "/home/jens/Source/shotwell/src/Page.vala" + self = (SinglePhotoPage*) page_construct (object_type, _tmp0_); +#line 1937 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = scale_up_to_viewport; +#line 1937 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scale_up_to_viewport = _tmp1_; +#line 1939 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = transition_effects_manager_get_instance (); +#line 1939 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 1939 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = transition_effects_manager_create_null_transition_clock (_tmp3_); +#line 1939 "/home/jens/Source/shotwell/src/Page.vala" + _transition_clock_unref0 (self->priv->transition_clock); +#line 1939 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->transition_clock = _tmp4_; +#line 1939 "/home/jens/Source/shotwell/src/Page.vala" + _transition_effects_manager_unref0 (_tmp3_); +#line 1943 "/home/jens/Source/shotwell/src/Page.vala" + gtk_scrolled_window_set_policy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); +#line 1945 "/home/jens/Source/shotwell/src/Page.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), (guint) 0); +#line 1946 "/home/jens/Source/shotwell/src/Page.vala" + gtk_scrolled_window_set_shadow_type (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow), GTK_SHADOW_NONE); +#line 1948 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->viewport; +#line 1948 "/home/jens/Source/shotwell/src/Page.vala" + gtk_viewport_set_shadow_type (_tmp5_, GTK_SHADOW_NONE); +#line 1949 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->viewport; +#line 1949 "/home/jens/Source/shotwell/src/Page.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_container_get_type (), GtkContainer), (guint) 0); +#line 1950 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->viewport; +#line 1950 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->canvas; +#line 1950 "/home/jens/Source/shotwell/src/Page.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget)); +#line 1952 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->viewport; +#line 1952 "/home/jens/Source/shotwell/src/Page.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 1954 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->canvas; +#line 1954 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_add_events (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), (gint) ((GDK_EXPOSURE_MASK | GDK_STRUCTURE_MASK) | GDK_SUBSTRUCTURE_MASK)); +#line 1957 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->viewport; +#line 1957 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), "size-allocate", (GCallback) _single_photo_page_on_viewport_resize_gtk_widget_size_allocate, self, 0); +#line 1958 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->canvas; +#line 1958 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), "draw", (GCallback) _single_photo_page_on_canvas_exposed_gtk_widget_draw, self, 0); +#line 1960 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = self->canvas; +#line 1960 "/home/jens/Source/shotwell/src/Page.vala" + page_set_event_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget)); +#line 1934 "/home/jens/Source/shotwell/src/Page.vala" + return self; +#line 12624 "Page.c" +} + + +gboolean single_photo_page_is_transition_in_progress (SinglePhotoPage* self) { + gboolean result = FALSE; + TransitionClock* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 1963 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), FALSE); +#line 1964 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->transition_clock; +#line 1964 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = transition_clock_is_in_progress (_tmp0_); +#line 1964 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 1964 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 12642 "Page.c" +} + + +void single_photo_page_cancel_transition (SinglePhotoPage* self) { + TransitionClock* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 1967 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 1968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->transition_clock; +#line 1968 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = transition_clock_is_in_progress (_tmp0_); +#line 1968 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_) { +#line 12657 "Page.c" + TransitionClock* _tmp2_ = NULL; +#line 1969 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->transition_clock; +#line 1969 "/home/jens/Source/shotwell/src/Page.vala" + transition_clock_cancel (_tmp2_); +#line 12663 "Page.c" + } +} + + +void single_photo_page_set_transition (SinglePhotoPage* self, const gchar* effect_id, gint duration_msec) { + TransitionEffectsManager* _tmp0_ = NULL; + TransitionEffectsManager* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + TransitionClock* _tmp3_ = NULL; + TransitionClock* _tmp4_ = NULL; + gint _tmp8_ = 0; +#line 1972 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 1972 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (effect_id != NULL); +#line 1973 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_cancel_transition (self); +#line 1975 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = transition_effects_manager_get_instance (); +#line 1975 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 1975 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = effect_id; +#line 1975 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = transition_effects_manager_create_transition_clock (_tmp1_, _tmp2_); +#line 1975 "/home/jens/Source/shotwell/src/Page.vala" + _transition_clock_unref0 (self->priv->transition_clock); +#line 1975 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->transition_clock = _tmp3_; +#line 1975 "/home/jens/Source/shotwell/src/Page.vala" + _transition_effects_manager_unref0 (_tmp1_); +#line 1976 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->transition_clock; +#line 1976 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_ == NULL) { +#line 12699 "Page.c" + TransitionEffectsManager* _tmp5_ = NULL; + TransitionEffectsManager* _tmp6_ = NULL; + TransitionClock* _tmp7_ = NULL; +#line 1977 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = transition_effects_manager_get_instance (); +#line 1977 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_; +#line 1977 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = transition_effects_manager_create_null_transition_clock (_tmp6_); +#line 1977 "/home/jens/Source/shotwell/src/Page.vala" + _transition_clock_unref0 (self->priv->transition_clock); +#line 1977 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->transition_clock = _tmp7_; +#line 1977 "/home/jens/Source/shotwell/src/Page.vala" + _transition_effects_manager_unref0 (_tmp6_); +#line 12715 "Page.c" + } +#line 1979 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = duration_msec; +#line 1979 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->transition_duration_msec = _tmp8_; +#line 12721 "Page.c" +} + + +static void single_photo_page_render_zoomed_to_pixmap (SinglePhotoPage* self, ZoomState* zoom_state) { + gboolean _tmp0_ = FALSE; + GdkRectangle view_rect = {0}; + GdkRectangle _tmp1_ = {0}; + GdkPixbuf* zoomed = NULL; + ZoomBuffer* _tmp2_ = NULL; + ZoomBuffer* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GdkPixbuf* _tmp34_ = NULL; + gint draw_x = 0; + Dimensions _tmp35_ = {0}; + gint _tmp36_ = 0; + GdkRectangle _tmp37_ = {0}; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint draw_y = 0; + Dimensions _tmp41_ = {0}; + gint _tmp42_ = 0; + GdkRectangle _tmp43_ = {0}; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + cairo_t* _tmp47_ = NULL; + GdkPixbuf* _tmp48_ = NULL; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + cairo_t* _tmp51_ = NULL; +#line 1983 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 1983 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (zoom_state != NULL); +#line 1984 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = single_photo_page_is_zoom_supported (self); +#line 1984 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp0_, "is_zoom_supported()"); +#line 1986 "/home/jens/Source/shotwell/src/Page.vala" + zoom_state_get_viewing_rectangle_wrt_content (zoom_state, &_tmp1_); +#line 1986 "/home/jens/Source/shotwell/src/Page.vala" + view_rect = _tmp1_; +#line 1989 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = single_photo_page_get_zoom_buffer (self); +#line 1989 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 1989 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_ != NULL; +#line 1989 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp3_); +#line 1989 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_) { +#line 12775 "Page.c" + GdkPixbuf* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GdkPixbuf* _tmp15_ = NULL; +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->zoom_high_quality; +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp6_) { +#line 12783 "Page.c" + ZoomBuffer* _tmp7_ = NULL; + ZoomBuffer* _tmp8_ = NULL; + ZoomState _tmp9_ = {0}; + GdkPixbuf* _tmp10_ = NULL; +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = single_photo_page_get_zoom_buffer (self); +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_; +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = *zoom_state; +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = zoom_buffer_get_zoomed_image (_tmp8_, &_tmp9_); +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp5_); +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp10_; +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp8_); +#line 12802 "Page.c" + } else { + ZoomBuffer* _tmp11_ = NULL; + ZoomBuffer* _tmp12_ = NULL; + ZoomState _tmp13_ = {0}; + GdkPixbuf* _tmp14_ = NULL; +#line 1991 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = single_photo_page_get_zoom_buffer (self); +#line 1991 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = _tmp11_; +#line 1991 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = *zoom_state; +#line 1991 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = zoom_buffer_get_zoom_preview_image (_tmp12_, &_tmp13_); +#line 1991 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp5_); +#line 1991 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp14_; +#line 1991 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp12_); +#line 12822 "Page.c" + } +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _g_object_ref0 (_tmp5_); +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (zoomed); +#line 1990 "/home/jens/Source/shotwell/src/Page.vala" + zoomed = _tmp15_; +#line 1989 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp5_); +#line 12832 "Page.c" + } else { + GdkRectangle view_rect_proj = {0}; + GdkPixbuf* _tmp16_ = NULL; + GdkRectangle _tmp17_ = {0}; + GdkPixbuf* proj_subpixbuf = NULL; + GdkPixbuf* _tmp18_ = NULL; + GdkRectangle _tmp19_ = {0}; + gint _tmp20_ = 0; + GdkRectangle _tmp21_ = {0}; + gint _tmp22_ = 0; + GdkRectangle _tmp23_ = {0}; + gint _tmp24_ = 0; + GdkRectangle _tmp25_ = {0}; + gint _tmp26_ = 0; + GdkPixbuf* _tmp27_ = NULL; + GdkPixbuf* _tmp28_ = NULL; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + GdkRectangle _tmp31_ = {0}; + gint _tmp32_ = 0; + GdkPixbuf* _tmp33_ = NULL; +#line 1993 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = self->priv->unscaled; +#line 1993 "/home/jens/Source/shotwell/src/Page.vala" + zoom_state_get_viewing_rectangle_projection (zoom_state, _tmp16_, &_tmp17_); +#line 1993 "/home/jens/Source/shotwell/src/Page.vala" + view_rect_proj = _tmp17_; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = self->priv->unscaled; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = view_rect_proj; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp19_.x; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = view_rect_proj; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = _tmp21_.y; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = view_rect_proj; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = _tmp23_.width; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = view_rect_proj; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = _tmp25_.height; +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = gdk_pixbuf_new_subpixbuf (_tmp18_, _tmp20_, _tmp22_, _tmp24_, _tmp26_); +#line 1995 "/home/jens/Source/shotwell/src/Page.vala" + proj_subpixbuf = _tmp27_; +#line 1998 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = proj_subpixbuf; +#line 1998 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = view_rect; +#line 1998 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = _tmp29_.width; +#line 1998 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = view_rect; +#line 1998 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = _tmp31_.height; +#line 1998 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = gdk_pixbuf_scale_simple (_tmp28_, _tmp30_, _tmp32_, GDK_INTERP_BILINEAR); +#line 1998 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (zoomed); +#line 1998 "/home/jens/Source/shotwell/src/Page.vala" + zoomed = _tmp33_; +#line 1989 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (proj_subpixbuf); +#line 12900 "Page.c" + } +#line 2002 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = zoomed; +#line 2002 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp34_ == NULL) { +#line 2003 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (zoomed); +#line 2003 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 12910 "Page.c" + } +#line 2006 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = self->priv->pixmap_dim; +#line 2006 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = _tmp35_.width; +#line 2006 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = view_rect; +#line 2006 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = _tmp37_.width; +#line 2006 "/home/jens/Source/shotwell/src/Page.vala" + draw_x = (_tmp36_ - _tmp38_) / 2; +#line 2007 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = draw_x; +#line 2007 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = CLAMP (_tmp39_, 0, G_MAXINT); +#line 2007 "/home/jens/Source/shotwell/src/Page.vala" + draw_x = _tmp40_; +#line 2009 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = self->priv->pixmap_dim; +#line 2009 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = _tmp41_.height; +#line 2009 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = view_rect; +#line 2009 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = _tmp43_.height; +#line 2009 "/home/jens/Source/shotwell/src/Page.vala" + draw_y = (_tmp42_ - _tmp44_) / 2; +#line 2010 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = draw_y; +#line 2010 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = CLAMP (_tmp45_, 0, G_MAXINT); +#line 2010 "/home/jens/Source/shotwell/src/Page.vala" + draw_y = _tmp46_; +#line 2012 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = self->priv->pixmap_ctx; +#line 2012 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = zoomed; +#line 2012 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49_ = draw_x; +#line 2012 "/home/jens/Source/shotwell/src/Page.vala" + _tmp50_ = draw_y; +#line 2012 "/home/jens/Source/shotwell/src/Page.vala" + gdk_cairo_set_source_pixbuf (_tmp47_, _tmp48_, (gdouble) _tmp49_, (gdouble) _tmp50_); +#line 2013 "/home/jens/Source/shotwell/src/Page.vala" + _tmp51_ = self->priv->pixmap_ctx; +#line 2013 "/home/jens/Source/shotwell/src/Page.vala" + cairo_paint (_tmp51_); +#line 1983 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (zoomed); +#line 12960 "Page.c" +} + + +void single_photo_page_on_interactive_zoom (SinglePhotoPage* self, ZoomState* interactive_zoom_state) { + gboolean _tmp0_ = FALSE; + cairo_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + gboolean old_quality_setting = FALSE; + gboolean _tmp3_ = FALSE; + ZoomState _tmp4_ = {0}; + GtkDrawingArea* _tmp5_ = NULL; +#line 2016 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2016 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (interactive_zoom_state != NULL); +#line 2017 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = single_photo_page_is_zoom_supported (self); +#line 2017 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp0_, "is_zoom_supported()"); +#line 2019 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->pixmap_ctx; +#line 2019 "/home/jens/Source/shotwell/src/Page.vala" + set_source_color_from_string (_tmp1_, "#000"); +#line 2020 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->pixmap_ctx; +#line 2020 "/home/jens/Source/shotwell/src/Page.vala" + cairo_paint (_tmp2_); +#line 2022 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->zoom_high_quality; +#line 2022 "/home/jens/Source/shotwell/src/Page.vala" + old_quality_setting = _tmp3_; +#line 2023 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->zoom_high_quality = FALSE; +#line 2024 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = *interactive_zoom_state; +#line 2024 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_render_zoomed_to_pixmap (self, &_tmp4_); +#line 2025 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->zoom_high_quality = old_quality_setting; +#line 2027 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->canvas; +#line 2027 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_queue_draw (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 13004 "Page.c" +} + + +void single_photo_page_on_interactive_pan (SinglePhotoPage* self, ZoomState* interactive_zoom_state) { + gboolean _tmp0_ = FALSE; + cairo_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + gboolean old_quality_setting = FALSE; + gboolean _tmp3_ = FALSE; + ZoomState _tmp4_ = {0}; + GtkDrawingArea* _tmp5_ = NULL; +#line 2030 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2030 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (interactive_zoom_state != NULL); +#line 2031 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = single_photo_page_is_zoom_supported (self); +#line 2031 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp0_, "is_zoom_supported()"); +#line 2033 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->pixmap_ctx; +#line 2033 "/home/jens/Source/shotwell/src/Page.vala" + set_source_color_from_string (_tmp1_, "#000"); +#line 2034 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->pixmap_ctx; +#line 2034 "/home/jens/Source/shotwell/src/Page.vala" + cairo_paint (_tmp2_); +#line 2036 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->zoom_high_quality; +#line 2036 "/home/jens/Source/shotwell/src/Page.vala" + old_quality_setting = _tmp3_; +#line 2037 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->zoom_high_quality = TRUE; +#line 2038 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = *interactive_zoom_state; +#line 2038 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_render_zoomed_to_pixmap (self, &_tmp4_); +#line 2039 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->zoom_high_quality = old_quality_setting; +#line 2041 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->canvas; +#line 2041 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_queue_draw (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 13048 "Page.c" +} + + +static gboolean single_photo_page_real_is_zoom_supported (SinglePhotoPage* self) { + gboolean result = FALSE; +#line 2045 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 2045 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 13058 "Page.c" +} + + +gboolean single_photo_page_is_zoom_supported (SinglePhotoPage* self) { +#line 2044 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), FALSE); +#line 2044 "/home/jens/Source/shotwell/src/Page.vala" + return SINGLE_PHOTO_PAGE_GET_CLASS (self)->is_zoom_supported (self); +#line 13067 "Page.c" +} + + +static void single_photo_page_real_cancel_zoom (SinglePhotoPage* self) { + cairo_surface_t* _tmp0_ = NULL; +#line 2049 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->pixmap; +#line 2049 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ != NULL) { +#line 13077 "Page.c" + cairo_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; +#line 2050 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->pixmap_ctx; +#line 2050 "/home/jens/Source/shotwell/src/Page.vala" + set_source_color_from_string (_tmp1_, "#000"); +#line 2051 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->pixmap_ctx; +#line 2051 "/home/jens/Source/shotwell/src/Page.vala" + cairo_paint (_tmp2_); +#line 13088 "Page.c" + } +} + + +void single_photo_page_cancel_zoom (SinglePhotoPage* self) { +#line 2048 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2048 "/home/jens/Source/shotwell/src/Page.vala" + SINGLE_PHOTO_PAGE_GET_CLASS (self)->cancel_zoom (self); +#line 13098 "Page.c" +} + + +static void single_photo_page_real_save_zoom_state (SinglePhotoPage* self) { + ZoomState _tmp0_ = {0}; +#line 2056 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->static_zoom_state; +#line 2056 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->saved_zoom_state = _tmp0_; +#line 2057 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->has_saved_zoom_state = TRUE; +#line 13110 "Page.c" +} + + +void single_photo_page_save_zoom_state (SinglePhotoPage* self) { +#line 2055 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2055 "/home/jens/Source/shotwell/src/Page.vala" + SINGLE_PHOTO_PAGE_GET_CLASS (self)->save_zoom_state (self); +#line 13119 "Page.c" +} + + +static void single_photo_page_real_restore_zoom_state (SinglePhotoPage* self) { + gboolean _tmp0_ = FALSE; + ZoomState _tmp1_ = {0}; +#line 2061 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->has_saved_zoom_state; +#line 2061 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp0_) { +#line 2062 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 13132 "Page.c" + } +#line 2064 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->saved_zoom_state; +#line 2064 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->static_zoom_state = _tmp1_; +#line 2065 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_repaint (self, NULL); +#line 2066 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->has_saved_zoom_state = FALSE; +#line 13142 "Page.c" +} + + +void single_photo_page_restore_zoom_state (SinglePhotoPage* self) { +#line 2060 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2060 "/home/jens/Source/shotwell/src/Page.vala" + SINGLE_PHOTO_PAGE_GET_CLASS (self)->restore_zoom_state (self); +#line 13151 "Page.c" +} + + +static ZoomBuffer* single_photo_page_real_get_zoom_buffer (SinglePhotoPage* self) { + ZoomBuffer* result = NULL; +#line 2070 "/home/jens/Source/shotwell/src/Page.vala" + result = NULL; +#line 2070 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 13161 "Page.c" +} + + +ZoomBuffer* single_photo_page_get_zoom_buffer (SinglePhotoPage* self) { +#line 2069 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), NULL); +#line 2069 "/home/jens/Source/shotwell/src/Page.vala" + return SINGLE_PHOTO_PAGE_GET_CLASS (self)->get_zoom_buffer (self); +#line 13170 "Page.c" +} + + +void single_photo_page_get_saved_zoom_state (SinglePhotoPage* self, ZoomState* result) { + ZoomState _tmp0_ = {0}; +#line 2073 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2074 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->saved_zoom_state; +#line 2074 "/home/jens/Source/shotwell/src/Page.vala" + *result = _tmp0_; +#line 2074 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 13184 "Page.c" +} + + +void single_photo_page_set_zoom_state (SinglePhotoPage* self, ZoomState* zoom_state) { + gboolean _tmp0_ = FALSE; + ZoomState _tmp1_ = {0}; +#line 2077 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2077 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (zoom_state != NULL); +#line 2078 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = single_photo_page_is_zoom_supported (self); +#line 2078 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp0_, "is_zoom_supported()"); +#line 2080 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = *zoom_state; +#line 2080 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->static_zoom_state = _tmp1_; +#line 13203 "Page.c" +} + + +void single_photo_page_get_zoom_state (SinglePhotoPage* self, ZoomState* result) { + gboolean _tmp0_ = FALSE; + ZoomState _tmp1_ = {0}; +#line 2083 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2084 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = single_photo_page_is_zoom_supported (self); +#line 2084 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp0_, "is_zoom_supported()"); +#line 2086 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->static_zoom_state; +#line 2086 "/home/jens/Source/shotwell/src/Page.vala" + *result = _tmp1_; +#line 2086 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 13222 "Page.c" +} + + +static void single_photo_page_real_switched_to (Page* base) { + SinglePhotoPage * self; + GdkPixbuf* _tmp0_ = NULL; +#line 2089 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage); +#line 2090 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_CLASS (single_photo_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2092 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->unscaled; +#line 2092 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ != NULL) { +#line 2093 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_repaint (self, NULL); +#line 13239 "Page.c" + } +} + + +static void single_photo_page_real_set_container (Page* base, GtkWindow* container) { + SinglePhotoPage * self; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; +#line 2096 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage); +#line 2096 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GTK_IS_WINDOW (container)); +#line 2097 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = container; +#line 2097 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_CLASS (single_photo_page_parent_class)->set_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp0_); +#line 2101 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = container; +#line 2101 "/home/jens/Source/shotwell/src/Page.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_FULLSCREEN_WINDOW)) { +#line 2102 "/home/jens/Source/shotwell/src/Page.vala" + gtk_scrolled_window_set_policy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_scrolled_window_get_type (), GtkScrolledWindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); +#line 13262 "Page.c" + } +} + + +void single_photo_page_set_pixbuf (SinglePhotoPage* self, GdkPixbuf* unscaled, Dimensions* max_dim, Direction* direction) { + Dimensions _tmp0_ = {0}; + Dimensions _tmp1_ = {0}; + gdouble _tmp2_ = 0.0; + GdkPoint _tmp3_ = {0}; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + Dimensions _tmp6_ = {0}; + GdkPixbuf* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GtkDrawingArea* _tmp9_ = NULL; + Direction* _tmp10_ = NULL; +#line 2109 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2109 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GDK_IS_PIXBUF (unscaled)); +#line 2109 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (max_dim != NULL); +#line 2110 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = *max_dim; +#line 2110 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->pixmap_dim; +#line 2110 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = zoom_state_get_interpolation_factor (&self->priv->static_zoom_state); +#line 2110 "/home/jens/Source/shotwell/src/Page.vala" + zoom_state_get_viewport_center (&self->priv->static_zoom_state, &_tmp3_); +#line 2110 "/home/jens/Source/shotwell/src/Page.vala" + zoom_state_init (&self->priv->static_zoom_state, &_tmp0_, &_tmp1_, _tmp2_, &_tmp3_); +#line 2114 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_cancel_transition (self); +#line 2116 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = unscaled; +#line 2116 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 2116 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->unscaled); +#line 2116 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->unscaled = _tmp5_; +#line 2117 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = *max_dim; +#line 2117 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->max_dim = _tmp6_; +#line 2118 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->scaled; +#line 2118 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 2118 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->old_scaled); +#line 2118 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->old_scaled = _tmp8_; +#line 2119 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->scaled); +#line 2119 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled = NULL; +#line 2122 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->canvas; +#line 2122 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_realize (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 2124 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = direction; +#line 2124 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_repaint (self, _tmp10_); +#line 13329 "Page.c" +} + + +void single_photo_page_blank_display (SinglePhotoPage* self) { + GtkDrawingArea* _tmp0_ = NULL; +#line 2127 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2128 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->unscaled); +#line 2128 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->unscaled = NULL; +#line 2129 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_init (&self->priv->max_dim, 0, 0); +#line 2130 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->scaled); +#line 2130 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled = NULL; +#line 2131 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_surface_destroy0 (self->priv->pixmap); +#line 2131 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->pixmap = NULL; +#line 2134 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->canvas; +#line 2134 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_realize (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 2137 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_invalidate_all (self); +#line 13357 "Page.c" +} + + +static gpointer _cairo_surface_reference0 (gpointer self) { +#line 2141 "/home/jens/Source/shotwell/src/Page.vala" + return self ? cairo_surface_reference (self) : NULL; +#line 13364 "Page.c" +} + + +cairo_surface_t* single_photo_page_get_surface (SinglePhotoPage* self) { + cairo_surface_t* result = NULL; + cairo_surface_t* _tmp0_ = NULL; + cairo_surface_t* _tmp1_ = NULL; +#line 2140 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), NULL); +#line 2141 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->pixmap; +#line 2141 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _cairo_surface_reference0 (_tmp0_); +#line 2141 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 2141 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 13382 "Page.c" +} + + +void single_photo_page_get_surface_dim (SinglePhotoPage* self, Dimensions* result) { + Dimensions _tmp0_ = {0}; +#line 2144 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2145 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->pixmap_dim; +#line 2145 "/home/jens/Source/shotwell/src/Page.vala" + *result = _tmp0_; +#line 2145 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 13396 "Page.c" +} + + +static gpointer _cairo_reference0 (gpointer self) { +#line 2149 "/home/jens/Source/shotwell/src/Page.vala" + return self ? cairo_reference (self) : NULL; +#line 13403 "Page.c" +} + + +cairo_t* single_photo_page_get_cairo_context (SinglePhotoPage* self) { + cairo_t* result = NULL; + cairo_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; +#line 2148 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), NULL); +#line 2149 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->pixmap_ctx; +#line 2149 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _cairo_reference0 (_tmp0_); +#line 2149 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 2149 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 13421 "Page.c" +} + + +void single_photo_page_paint_text (SinglePhotoPage* self, PangoLayout* pango_layout, gint x, gint y) { + cairo_t* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + cairo_t* _tmp3_ = NULL; + PangoLayout* _tmp4_ = NULL; +#line 2152 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2152 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (PANGO_IS_LAYOUT (pango_layout)); +#line 2153 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->text_ctx; +#line 2153 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = x; +#line 2153 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = y; +#line 2153 "/home/jens/Source/shotwell/src/Page.vala" + cairo_move_to (_tmp0_, (gdouble) _tmp1_, (gdouble) _tmp2_); +#line 2154 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->text_ctx; +#line 2154 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = pango_layout; +#line 2154 "/home/jens/Source/shotwell/src/Page.vala" + pango_cairo_show_layout (_tmp3_, _tmp4_); +#line 13449 "Page.c" +} + + +void single_photo_page_get_canvas_scaling (SinglePhotoPage* self, Scaling* result) { + Scaling _tmp0_ = {0}; + GtkWindow* _tmp1_ = NULL; + GtkWindow* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 2157 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_FULLSCREEN_WINDOW); +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp2_); +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_) { +#line 13470 "Page.c" + GtkWindow* _tmp4_ = NULL; + GtkWindow* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + Scaling _tmp7_ = {0}; +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp4_; +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->scale_up_to_viewport; +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + scaling_for_screen (_tmp5_, _tmp6_, &_tmp7_); +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _tmp7_; +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp5_); +#line 13487 "Page.c" + } else { + GtkViewport* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + Scaling _tmp10_ = {0}; +#line 2159 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->viewport; +#line 2159 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = self->priv->scale_up_to_viewport; +#line 2159 "/home/jens/Source/shotwell/src/Page.vala" + scaling_for_widget (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), _tmp9_, &_tmp10_); +#line 2159 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = _tmp10_; +#line 13500 "Page.c" + } +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + *result = _tmp0_; +#line 2158 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 13506 "Page.c" +} + + +GdkPixbuf* single_photo_page_get_unscaled_pixbuf (SinglePhotoPage* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 2162 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), NULL); +#line 2163 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->unscaled; +#line 2163 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 2163 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 2163 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 13524 "Page.c" +} + + +GdkPixbuf* single_photo_page_get_scaled_pixbuf (SinglePhotoPage* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 2166 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), NULL); +#line 2167 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->scaled; +#line 2167 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 2167 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp1_; +#line 2167 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 13542 "Page.c" +} + + +void single_photo_page_get_scaled_pixbuf_position (SinglePhotoPage* self, GdkRectangle* result) { + GdkRectangle _tmp0_ = {0}; +#line 2171 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2172 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->scaled_pos; +#line 2172 "/home/jens/Source/shotwell/src/Page.vala" + *result = _tmp0_; +#line 2172 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 13556 "Page.c" +} + + +gboolean single_photo_page_is_inside_pixbuf (SinglePhotoPage* self, gint x, gint y) { + gboolean result = FALSE; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; +#line 2175 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), FALSE); +#line 2176 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = x; +#line 2176 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = y; +#line 2176 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->scaled_pos; +#line 2176 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = coord_in_rectangle (_tmp0_, _tmp1_, &_tmp2_); +#line 2176 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp3_; +#line 2176 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 13580 "Page.c" +} + + +void single_photo_page_invalidate (SinglePhotoPage* self, GdkRectangle* rect) { + GtkDrawingArea* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; +#line 2179 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2179 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (rect != NULL); +#line 2180 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->canvas; +#line 2180 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 2180 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_ != NULL) { +#line 13597 "Page.c" + GtkDrawingArea* _tmp2_ = NULL; + GdkWindow* _tmp3_ = NULL; + GdkRectangle _tmp4_ = {0}; +#line 2181 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->canvas; +#line 2181 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 2181 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = *rect; +#line 2181 "/home/jens/Source/shotwell/src/Page.vala" + gdk_window_invalidate_rect (_tmp3_, &_tmp4_, FALSE); +#line 13609 "Page.c" + } +} + + +void single_photo_page_invalidate_all (SinglePhotoPage* self) { + GtkDrawingArea* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; +#line 2184 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2185 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->canvas; +#line 2185 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 2185 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_ != NULL) { +#line 13625 "Page.c" + GtkDrawingArea* _tmp2_ = NULL; + GdkWindow* _tmp3_ = NULL; +#line 2186 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->canvas; +#line 2186 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 2186 "/home/jens/Source/shotwell/src/Page.vala" + gdk_window_invalidate_rect (_tmp3_, NULL, FALSE); +#line 13634 "Page.c" + } +} + + +static void single_photo_page_on_viewport_resize (SinglePhotoPage* self) { +#line 2189 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2191 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_internal_repaint (self, TRUE, NULL); +#line 13644 "Page.c" +} + + +static void single_photo_page_real_on_resize_finished (Page* base, GdkRectangle* rect) { + SinglePhotoPage * self; + GdkRectangle _tmp0_ = {0}; +#line 2194 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage); +#line 2194 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (rect != NULL); +#line 2195 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = *rect; +#line 2195 "/home/jens/Source/shotwell/src/Page.vala" + PAGE_CLASS (single_photo_page_parent_class)->on_resize_finished (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), &_tmp0_); +#line 2198 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_repaint (self, NULL); +#line 13661 "Page.c" +} + + +static gboolean single_photo_page_on_canvas_exposed (SinglePhotoPage* self, cairo_t* exposed_ctx) { + gboolean result = FALSE; + cairo_surface_t* _tmp0_ = NULL; + cairo_t* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + cairo_t* _tmp7_ = NULL; +#line 2201 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (self), FALSE); +#line 2201 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (exposed_ctx != NULL, FALSE); +#line 2204 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->pixmap; +#line 2204 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ != NULL) { +#line 13680 "Page.c" + cairo_t* _tmp1_ = NULL; + cairo_surface_t* _tmp2_ = NULL; +#line 2205 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = exposed_ctx; +#line 2205 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->pixmap; +#line 2205 "/home/jens/Source/shotwell/src/Page.vala" + cairo_set_source_surface (_tmp1_, _tmp2_, (gdouble) 0, (gdouble) 0); +#line 13689 "Page.c" + } else { + cairo_t* _tmp3_ = NULL; +#line 2207 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = exposed_ctx; +#line 2207 "/home/jens/Source/shotwell/src/Page.vala" + set_source_color_from_string (_tmp3_, "#000"); +#line 13696 "Page.c" + } +#line 2209 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = exposed_ctx; +#line 2209 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = gtk_widget_get_allocated_width (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 2209 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = gtk_widget_get_allocated_height (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 2209 "/home/jens/Source/shotwell/src/Page.vala" + cairo_rectangle (_tmp4_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp5_, (gdouble) _tmp6_); +#line 2210 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = exposed_ctx; +#line 2210 "/home/jens/Source/shotwell/src/Page.vala" + cairo_paint (_tmp7_); +#line 2212 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 2212 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 13714 "Page.c" +} + + +static void single_photo_page_real_new_surface (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim) { +#line 2215 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (ctx != NULL); +#line 2215 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (ctx_dim != NULL); +#line 13723 "Page.c" +} + + +void single_photo_page_new_surface (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim) { +#line 2215 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2215 "/home/jens/Source/shotwell/src/Page.vala" + SINGLE_PHOTO_PAGE_GET_CLASS (self)->new_surface (self, ctx, ctx_dim); +#line 13732 "Page.c" +} + + +static void single_photo_page_real_updated_pixbuf (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim) { +#line 2218 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 2218 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (old_dim != NULL); +#line 13741 "Page.c" +} + + +void single_photo_page_updated_pixbuf (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim) { +#line 2218 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2218 "/home/jens/Source/shotwell/src/Page.vala" + SINGLE_PHOTO_PAGE_GET_CLASS (self)->updated_pixbuf (self, pixbuf, reason, old_dim); +#line 13750 "Page.c" +} + + +static void single_photo_page_real_paint (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 2221 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (ctx != NULL); +#line 2221 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (ctx_dim != NULL); +#line 2222 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = single_photo_page_is_zoom_supported (self); +#line 2222 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_) { +#line 13765 "Page.c" + gboolean _tmp2_ = FALSE; +#line 2222 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = zoom_state_is_default (&self->priv->static_zoom_state); +#line 2222 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = !_tmp2_; +#line 13771 "Page.c" + } else { +#line 2222 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = FALSE; +#line 13775 "Page.c" + } +#line 2222 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_) { +#line 13779 "Page.c" + cairo_t* _tmp3_ = NULL; + cairo_t* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + cairo_t* _tmp9_ = NULL; + ZoomState _tmp10_ = {0}; +#line 2223 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = ctx; +#line 2223 "/home/jens/Source/shotwell/src/Page.vala" + set_source_color_from_string (_tmp3_, "#000"); +#line 2224 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = ctx; +#line 2224 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->pixmap_dim; +#line 2224 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_.width; +#line 2224 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->pixmap_dim; +#line 2224 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_.height; +#line 2224 "/home/jens/Source/shotwell/src/Page.vala" + cairo_rectangle (_tmp4_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp6_, (gdouble) _tmp8_); +#line 2225 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = ctx; +#line 2225 "/home/jens/Source/shotwell/src/Page.vala" + cairo_fill (_tmp9_); +#line 2227 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->priv->static_zoom_state; +#line 2227 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_render_zoomed_to_pixmap (self, &_tmp10_); +#line 13812 "Page.c" + } else { + TransitionClock* _tmp11_ = NULL; + cairo_t* _tmp12_ = NULL; + Dimensions _tmp13_ = {0}; + gint _tmp14_ = 0; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + gboolean _tmp17_ = FALSE; +#line 2228 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->priv->transition_clock; +#line 2228 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = ctx; +#line 2228 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = *ctx_dim; +#line 2228 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _tmp13_.width; +#line 2228 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = *ctx_dim; +#line 2228 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp15_.height; +#line 2228 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = transition_clock_paint (_tmp11_, _tmp12_, _tmp14_, _tmp16_); +#line 2228 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp17_) { +#line 13837 "Page.c" + cairo_t* _tmp18_ = NULL; + cairo_t* _tmp19_ = NULL; + Dimensions _tmp20_ = {0}; + gint _tmp21_ = 0; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; + cairo_t* _tmp24_ = NULL; + cairo_t* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + GdkRectangle _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + cairo_t* _tmp31_ = NULL; +#line 2230 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = ctx; +#line 2230 "/home/jens/Source/shotwell/src/Page.vala" + set_source_color_from_string (_tmp18_, "#000"); +#line 2232 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = ctx; +#line 2232 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = self->priv->pixmap_dim; +#line 2232 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = _tmp20_.width; +#line 2232 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = self->priv->pixmap_dim; +#line 2232 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = _tmp22_.height; +#line 2232 "/home/jens/Source/shotwell/src/Page.vala" + cairo_rectangle (_tmp19_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp21_, (gdouble) _tmp23_); +#line 2233 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = ctx; +#line 2233 "/home/jens/Source/shotwell/src/Page.vala" + cairo_fill (_tmp24_); +#line 2235 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = ctx; +#line 2235 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = self->priv->scaled; +#line 2235 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = self->priv->scaled_pos; +#line 2235 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = _tmp27_.x; +#line 2235 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = self->priv->scaled_pos; +#line 2235 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = _tmp29_.y; +#line 2235 "/home/jens/Source/shotwell/src/Page.vala" + gdk_cairo_set_source_pixbuf (_tmp25_, _tmp26_, (gdouble) _tmp28_, (gdouble) _tmp30_); +#line 2236 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = ctx; +#line 2236 "/home/jens/Source/shotwell/src/Page.vala" + cairo_paint (_tmp31_); +#line 13890 "Page.c" + } + } +} + + +void single_photo_page_paint (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim) { +#line 2221 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2221 "/home/jens/Source/shotwell/src/Page.vala" + SINGLE_PHOTO_PAGE_GET_CLASS (self)->paint (self, ctx, ctx_dim); +#line 13901 "Page.c" +} + + +static void single_photo_page_repaint_pixmap (SinglePhotoPage* self) { + cairo_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; +#line 2240 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2241 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->pixmap_ctx; +#line 2241 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ == NULL) { +#line 2242 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 13917 "Page.c" + } +#line 2244 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->pixmap_ctx; +#line 2244 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->pixmap_dim; +#line 2244 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_paint (self, _tmp1_, &_tmp2_); +#line 2245 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_invalidate_all (self); +#line 13927 "Page.c" +} + + +void single_photo_page_repaint (SinglePhotoPage* self, Direction* direction) { + Direction* _tmp0_ = NULL; +#line 2248 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2249 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = direction; +#line 2249 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_internal_repaint (self, FALSE, _tmp0_); +#line 13939 "Page.c" +} + + +static void _single_photo_page_repaint_pixmap_transition_clock_repaint_callback (gpointer self) { +#line 2337 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_repaint_pixmap ((SinglePhotoPage*) self); +#line 13946 "Page.c" +} + + +static void single_photo_page_internal_repaint (SinglePhotoPage* self, gboolean fast, Direction* direction) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GdkPixbuf* _tmp2_ = NULL; + GtkAllocation allocation = {0}; + GtkViewport* _tmp5_ = NULL; + GtkAllocation _tmp6_ = {0}; + gint width = 0; + GtkAllocation _tmp7_ = {0}; + gint _tmp8_ = 0; + gint height = 0; + GtkAllocation _tmp9_ = {0}; + gint _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + gint _tmp12_ = 0; + gboolean new_pixbuf = FALSE; + GdkPixbuf* _tmp14_ = NULL; + Dimensions old_scaled_dim = {0}; + GdkRectangle _tmp15_ = {0}; + Dimensions _tmp16_ = {0}; + GdkRectangle old_scaled_pos = {0}; + GdkRectangle _tmp17_ = {0}; + gboolean _tmp18_ = FALSE; + Dimensions _tmp19_ = {0}; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gboolean new_pixmap = FALSE; + cairo_surface_t* _tmp25_ = NULL; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + GdkInterpType _tmp63_ = 0; + gboolean _tmp64_ = FALSE; + GdkInterpType interp = 0; + GdkPixbuf* _tmp65_ = NULL; + gboolean _tmp82_ = FALSE; + gboolean _tmp83_ = FALSE; + Direction* _tmp84_ = NULL; + TransitionClock* _tmp98_ = NULL; + gboolean _tmp99_ = FALSE; +#line 2252 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2254 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_is_in_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2254 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp0_) { +#line 2255 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_surface_destroy0 (self->priv->pixmap); +#line 2255 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->pixmap = NULL; +#line 2256 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->scaled); +#line 2256 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled = NULL; +#line 2258 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 14005 "Page.c" + } +#line 2262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->unscaled; +#line 2262 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp2_ == NULL) { +#line 2262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = TRUE; +#line 14013 "Page.c" + } else { + GtkDrawingArea* _tmp3_ = NULL; + GdkWindow* _tmp4_ = NULL; +#line 2262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->canvas; +#line 2262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 2262 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp4_ == NULL; +#line 14023 "Page.c" + } +#line 2262 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp1_) { +#line 2263 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 14029 "Page.c" + } +#line 2266 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->viewport; +#line 2266 "/home/jens/Source/shotwell/src/Page.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), &_tmp6_); +#line 2266 "/home/jens/Source/shotwell/src/Page.vala" + allocation = _tmp6_; +#line 2268 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = allocation; +#line 2268 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_.width; +#line 2268 "/home/jens/Source/shotwell/src/Page.vala" + width = _tmp8_; +#line 2269 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = allocation; +#line 2269 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = _tmp9_.height; +#line 2269 "/home/jens/Source/shotwell/src/Page.vala" + height = _tmp10_; +#line 2271 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = width; +#line 2271 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp12_ <= 0) { +#line 2271 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = TRUE; +#line 14055 "Page.c" + } else { + gint _tmp13_ = 0; +#line 2271 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = height; +#line 2271 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp13_ <= 0; +#line 14062 "Page.c" + } +#line 2271 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp11_) { +#line 2272 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 14068 "Page.c" + } +#line 2274 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = self->priv->scaled; +#line 2274 "/home/jens/Source/shotwell/src/Page.vala" + new_pixbuf = _tmp14_ == NULL; +#line 2277 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = self->priv->scaled_pos; +#line 2277 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_for_rectangle (&_tmp15_, &_tmp16_); +#line 2277 "/home/jens/Source/shotwell/src/Page.vala" + old_scaled_dim = _tmp16_; +#line 2278 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = self->priv->scaled_pos; +#line 2278 "/home/jens/Source/shotwell/src/Page.vala" + old_scaled_pos = _tmp17_; +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = self->priv->pixmap_dim; +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = _tmp19_.width; +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = width; +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp20_ != _tmp21_) { +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = TRUE; +#line 14094 "Page.c" + } else { + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; + gint _tmp24_ = 0; +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = self->priv->pixmap_dim; +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = _tmp22_.height; +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = height; +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = _tmp23_ != _tmp24_; +#line 14107 "Page.c" + } +#line 2281 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp18_) { +#line 2282 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_surface_destroy0 (self->priv->pixmap); +#line 2282 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->pixmap = NULL; +#line 14115 "Page.c" + } +#line 2285 "/home/jens/Source/shotwell/src/Page.vala" + new_pixmap = FALSE; +#line 2286 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = self->priv->pixmap; +#line 2286 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp25_ == NULL) { +#line 14123 "Page.c" + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 2287 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = width; +#line 2287 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = height; +#line 2287 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_init_pixmap (self, _tmp26_, _tmp27_); +#line 2288 "/home/jens/Source/shotwell/src/Page.vala" + new_pixmap = TRUE; +#line 14134 "Page.c" + } +#line 2291 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = new_pixbuf; +#line 2291 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp29_) { +#line 2291 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = TRUE; +#line 14142 "Page.c" + } else { + gboolean _tmp30_ = FALSE; +#line 2291 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = new_pixmap; +#line 2291 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = _tmp30_; +#line 14149 "Page.c" + } +#line 2291 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp28_) { +#line 14153 "Page.c" + Dimensions unscaled_dim = {0}; + GdkPixbuf* _tmp31_ = NULL; + Dimensions _tmp32_ = {0}; + Dimensions scaled_dim = {0}; + gboolean _tmp33_ = FALSE; + gboolean _tmp34_ = FALSE; + gboolean _tmp35_ = FALSE; + gboolean _tmp36_ = FALSE; + gint _tmp47_ = 0; + Dimensions _tmp48_ = {0}; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + Dimensions _tmp51_ = {0}; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + Dimensions _tmp54_ = {0}; + gint _tmp55_ = 0; + gint _tmp56_ = 0; + Dimensions _tmp57_ = {0}; + gint _tmp58_ = 0; + Dimensions _tmp59_ = {0}; + gint _tmp60_ = 0; + Dimensions _tmp61_ = {0}; + gint _tmp62_ = 0; +#line 2292 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = self->priv->unscaled; +#line 2292 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_for_pixbuf (_tmp31_, &_tmp32_); +#line 2292 "/home/jens/Source/shotwell/src/Page.vala" + unscaled_dim = _tmp32_; +#line 2296 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_init (&scaled_dim, 0, 0); +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = self->priv->scale_up_to_viewport; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp36_) { +#line 14190 "Page.c" + gboolean _tmp37_ = FALSE; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = dimensions_has_area (&self->priv->max_dim); +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = _tmp37_; +#line 14196 "Page.c" + } else { +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = FALSE; +#line 14200 "Page.c" + } +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp35_) { +#line 14204 "Page.c" + Dimensions _tmp38_ = {0}; + gint _tmp39_ = 0; + gint _tmp40_ = 0; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = self->priv->max_dim; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = _tmp38_.width; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = width; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = _tmp39_ < _tmp40_; +#line 14216 "Page.c" + } else { +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = FALSE; +#line 14220 "Page.c" + } +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp34_) { +#line 14224 "Page.c" + Dimensions _tmp41_ = {0}; + gint _tmp42_ = 0; + gint _tmp43_ = 0; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = self->priv->max_dim; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = _tmp41_.height; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = height; +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = _tmp42_ < _tmp43_; +#line 14236 "Page.c" + } else { +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = FALSE; +#line 14240 "Page.c" + } +#line 2297 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp33_) { +#line 14244 "Page.c" + Dimensions _tmp44_ = {0}; +#line 2298 "/home/jens/Source/shotwell/src/Page.vala" + _tmp44_ = self->priv->max_dim; +#line 2298 "/home/jens/Source/shotwell/src/Page.vala" + scaled_dim = _tmp44_; +#line 14250 "Page.c" + } else { + Dimensions _tmp45_ = {0}; + Dimensions _tmp46_ = {0}; +#line 2300 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = self->priv->pixmap_dim; +#line 2300 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_get_scaled_proportional (&unscaled_dim, &_tmp45_, &_tmp46_); +#line 2300 "/home/jens/Source/shotwell/src/Page.vala" + scaled_dim = _tmp46_; +#line 14260 "Page.c" + } +#line 2302 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = width; +#line 2302 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = scaled_dim; +#line 2302 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49_ = _tmp48_.width; +#line 2302 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp47_ >= _tmp49_, "width >= scaled_dim.width"); +#line 2303 "/home/jens/Source/shotwell/src/Page.vala" + _tmp50_ = height; +#line 2303 "/home/jens/Source/shotwell/src/Page.vala" + _tmp51_ = scaled_dim; +#line 2303 "/home/jens/Source/shotwell/src/Page.vala" + _tmp52_ = _tmp51_.height; +#line 2303 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp50_ >= _tmp52_, "height >= scaled_dim.height"); +#line 2306 "/home/jens/Source/shotwell/src/Page.vala" + _tmp53_ = width; +#line 2306 "/home/jens/Source/shotwell/src/Page.vala" + _tmp54_ = scaled_dim; +#line 2306 "/home/jens/Source/shotwell/src/Page.vala" + _tmp55_ = _tmp54_.width; +#line 2306 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled_pos.x = (_tmp53_ - _tmp55_) / 2; +#line 2307 "/home/jens/Source/shotwell/src/Page.vala" + _tmp56_ = height; +#line 2307 "/home/jens/Source/shotwell/src/Page.vala" + _tmp57_ = scaled_dim; +#line 2307 "/home/jens/Source/shotwell/src/Page.vala" + _tmp58_ = _tmp57_.height; +#line 2307 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled_pos.y = (_tmp56_ - _tmp58_) / 2; +#line 2308 "/home/jens/Source/shotwell/src/Page.vala" + _tmp59_ = scaled_dim; +#line 2308 "/home/jens/Source/shotwell/src/Page.vala" + _tmp60_ = _tmp59_.width; +#line 2308 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled_pos.width = _tmp60_; +#line 2309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp61_ = scaled_dim; +#line 2309 "/home/jens/Source/shotwell/src/Page.vala" + _tmp62_ = _tmp61_.height; +#line 2309 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled_pos.height = _tmp62_; +#line 14306 "Page.c" + } +#line 2312 "/home/jens/Source/shotwell/src/Page.vala" + _tmp64_ = fast; +#line 2312 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp64_) { +#line 2312 "/home/jens/Source/shotwell/src/Page.vala" + _tmp63_ = SINGLE_PHOTO_PAGE_FAST_INTERP; +#line 14314 "Page.c" + } else { +#line 2312 "/home/jens/Source/shotwell/src/Page.vala" + _tmp63_ = SINGLE_PHOTO_PAGE_QUALITY_INTERP; +#line 14318 "Page.c" + } +#line 2312 "/home/jens/Source/shotwell/src/Page.vala" + interp = _tmp63_; +#line 2315 "/home/jens/Source/shotwell/src/Page.vala" + _tmp65_ = self->priv->scaled; +#line 2315 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp65_ == NULL) { +#line 14326 "Page.c" + GdkPixbuf* _tmp66_ = NULL; + GdkRectangle _tmp67_ = {0}; + Dimensions _tmp68_ = {0}; + GdkInterpType _tmp69_ = 0; + GdkPixbuf* _tmp70_ = NULL; + SinglePhotoPageUpdateReason reason = 0; + gboolean _tmp71_ = FALSE; + Dimensions _tmp75_ = {0}; + Dimensions _tmp76_ = {0}; + gdouble _tmp77_ = 0.0; + GdkPoint _tmp78_ = {0}; + GdkPixbuf* _tmp79_ = NULL; + SinglePhotoPageUpdateReason _tmp80_ = 0; + Dimensions _tmp81_ = {0}; +#line 2316 "/home/jens/Source/shotwell/src/Page.vala" + _tmp66_ = self->priv->unscaled; +#line 2316 "/home/jens/Source/shotwell/src/Page.vala" + _tmp67_ = self->priv->scaled_pos; +#line 2316 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_for_rectangle (&_tmp67_, &_tmp68_); +#line 2316 "/home/jens/Source/shotwell/src/Page.vala" + _tmp69_ = interp; +#line 2316 "/home/jens/Source/shotwell/src/Page.vala" + _tmp70_ = resize_pixbuf (_tmp66_, &_tmp68_, _tmp69_); +#line 2316 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->scaled); +#line 2316 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled = _tmp70_; +#line 2318 "/home/jens/Source/shotwell/src/Page.vala" + reason = SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS; +#line 2319 "/home/jens/Source/shotwell/src/Page.vala" + _tmp71_ = new_pixbuf; +#line 2319 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp71_) { +#line 2320 "/home/jens/Source/shotwell/src/Page.vala" + reason = SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF; +#line 14363 "Page.c" + } else { + gboolean _tmp72_ = FALSE; + gboolean _tmp73_ = FALSE; +#line 2321 "/home/jens/Source/shotwell/src/Page.vala" + _tmp73_ = new_pixmap; +#line 2321 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp73_) { +#line 14371 "Page.c" + GdkInterpType _tmp74_ = 0; +#line 2321 "/home/jens/Source/shotwell/src/Page.vala" + _tmp74_ = interp; +#line 2321 "/home/jens/Source/shotwell/src/Page.vala" + _tmp72_ = _tmp74_ == SINGLE_PHOTO_PAGE_QUALITY_INTERP; +#line 14377 "Page.c" + } else { +#line 2321 "/home/jens/Source/shotwell/src/Page.vala" + _tmp72_ = FALSE; +#line 14381 "Page.c" + } +#line 2321 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp72_) { +#line 2322 "/home/jens/Source/shotwell/src/Page.vala" + reason = SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT; +#line 14387 "Page.c" + } + } +#line 2324 "/home/jens/Source/shotwell/src/Page.vala" + _tmp75_ = self->priv->max_dim; +#line 2324 "/home/jens/Source/shotwell/src/Page.vala" + _tmp76_ = self->priv->pixmap_dim; +#line 2324 "/home/jens/Source/shotwell/src/Page.vala" + _tmp77_ = zoom_state_get_interpolation_factor (&self->priv->static_zoom_state); +#line 2324 "/home/jens/Source/shotwell/src/Page.vala" + zoom_state_get_viewport_center (&self->priv->static_zoom_state, &_tmp78_); +#line 2324 "/home/jens/Source/shotwell/src/Page.vala" + zoom_state_init (&self->priv->static_zoom_state, &_tmp75_, &_tmp76_, _tmp77_, &_tmp78_); +#line 2328 "/home/jens/Source/shotwell/src/Page.vala" + _tmp79_ = self->priv->scaled; +#line 2328 "/home/jens/Source/shotwell/src/Page.vala" + _tmp80_ = reason; +#line 2328 "/home/jens/Source/shotwell/src/Page.vala" + _tmp81_ = old_scaled_dim; +#line 2328 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_updated_pixbuf (self, _tmp79_, _tmp80_, &_tmp81_); +#line 14408 "Page.c" + } +#line 2331 "/home/jens/Source/shotwell/src/Page.vala" + _tmp82_ = fast; +#line 2331 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->zoom_high_quality = !_tmp82_; +#line 2333 "/home/jens/Source/shotwell/src/Page.vala" + _tmp84_ = direction; +#line 2333 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp84_ != NULL) { +#line 14418 "Page.c" + TransitionClock* _tmp85_ = NULL; + gboolean _tmp86_ = FALSE; +#line 2333 "/home/jens/Source/shotwell/src/Page.vala" + _tmp85_ = self->priv->transition_clock; +#line 2333 "/home/jens/Source/shotwell/src/Page.vala" + _tmp86_ = transition_clock_is_in_progress (_tmp85_); +#line 2333 "/home/jens/Source/shotwell/src/Page.vala" + _tmp83_ = !_tmp86_; +#line 14427 "Page.c" + } else { +#line 2333 "/home/jens/Source/shotwell/src/Page.vala" + _tmp83_ = FALSE; +#line 14431 "Page.c" + } +#line 2333 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp83_) { +#line 14435 "Page.c" + SpitTransitionsVisuals* visuals = NULL; + GdkPixbuf* _tmp87_ = NULL; + GdkRectangle _tmp88_ = {0}; + GdkPixbuf* _tmp89_ = NULL; + GdkRectangle _tmp90_ = {0}; + GdkRGBA _tmp91_ = {0}; + SpitTransitionsVisuals* _tmp92_ = NULL; + TransitionClock* _tmp93_ = NULL; + SpitTransitionsVisuals* _tmp94_ = NULL; + Direction* _tmp95_ = NULL; + SpitTransitionsDirection _tmp96_ = 0; + gint _tmp97_ = 0; +#line 2334 "/home/jens/Source/shotwell/src/Page.vala" + _tmp87_ = self->priv->old_scaled; +#line 2334 "/home/jens/Source/shotwell/src/Page.vala" + _tmp88_ = old_scaled_pos; +#line 2334 "/home/jens/Source/shotwell/src/Page.vala" + _tmp89_ = self->priv->scaled; +#line 2334 "/home/jens/Source/shotwell/src/Page.vala" + _tmp90_ = self->priv->scaled_pos; +#line 2334 "/home/jens/Source/shotwell/src/Page.vala" + parse_color ("#000", &_tmp91_); +#line 2334 "/home/jens/Source/shotwell/src/Page.vala" + _tmp92_ = spit_transitions_visuals_new (_tmp87_, &_tmp88_, _tmp89_, &_tmp90_, &_tmp91_); +#line 2334 "/home/jens/Source/shotwell/src/Page.vala" + visuals = _tmp92_; +#line 2337 "/home/jens/Source/shotwell/src/Page.vala" + _tmp93_ = self->priv->transition_clock; +#line 2337 "/home/jens/Source/shotwell/src/Page.vala" + _tmp94_ = visuals; +#line 2337 "/home/jens/Source/shotwell/src/Page.vala" + _tmp95_ = direction; +#line 2337 "/home/jens/Source/shotwell/src/Page.vala" + _tmp96_ = direction_to_transition_direction (*_tmp95_); +#line 2337 "/home/jens/Source/shotwell/src/Page.vala" + _tmp97_ = self->priv->transition_duration_msec; +#line 2337 "/home/jens/Source/shotwell/src/Page.vala" + transition_clock_start (_tmp93_, _tmp94_, _tmp96_, _tmp97_, _single_photo_page_repaint_pixmap_transition_clock_repaint_callback, self); +#line 2333 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (visuals); +#line 14476 "Page.c" + } +#line 2341 "/home/jens/Source/shotwell/src/Page.vala" + _tmp98_ = self->priv->transition_clock; +#line 2341 "/home/jens/Source/shotwell/src/Page.vala" + _tmp99_ = transition_clock_is_in_progress (_tmp98_); +#line 2341 "/home/jens/Source/shotwell/src/Page.vala" + if (!_tmp99_) { +#line 2342 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_repaint_pixmap (self); +#line 14486 "Page.c" + } +} + + +static void single_photo_page_init_pixmap (SinglePhotoPage* self, gint width, gint height) { + GdkPixbuf* _tmp0_ = NULL; + GtkDrawingArea* _tmp1_ = NULL; + GdkWindow* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + cairo_surface_t* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + cairo_surface_t* _tmp8_ = NULL; + cairo_t* _tmp9_ = NULL; + cairo_surface_t* _tmp10_ = NULL; + cairo_t* _tmp11_ = NULL; + cairo_t* _tmp12_ = NULL; + cairo_t* _tmp13_ = NULL; + Dimensions _tmp14_ = {0}; +#line 2345 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2346 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->unscaled; +#line 2346 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp0_ != NULL, "unscaled != null"); +#line 2347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->canvas; +#line 2347 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 2347 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp2_ != NULL, "canvas.get_window() != null"); +#line 2350 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = width; +#line 2350 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = height; +#line 2350 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, _tmp3_, _tmp4_); +#line 2350 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_surface_destroy0 (self->priv->pixmap); +#line 2350 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->pixmap = _tmp5_; +#line 2351 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = width; +#line 2351 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = height; +#line 2351 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_init (&self->priv->pixmap_dim, _tmp6_, _tmp7_); +#line 2354 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = self->priv->pixmap; +#line 2354 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = cairo_create (_tmp8_); +#line 2354 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_destroy0 (self->priv->pixmap_ctx); +#line 2354 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->pixmap_ctx = _tmp9_; +#line 2357 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->scaled); +#line 2357 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled = NULL; +#line 2360 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->priv->pixmap; +#line 2360 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = cairo_create (_tmp10_); +#line 2360 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_destroy0 (self->priv->text_ctx); +#line 2360 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->text_ctx = _tmp11_; +#line 2361 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->priv->text_ctx; +#line 2361 "/home/jens/Source/shotwell/src/Page.vala" + set_source_color_from_string (_tmp12_, "#fff"); +#line 2366 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = self->priv->pixmap_ctx; +#line 2366 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = self->priv->pixmap_dim; +#line 2366 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_new_surface (self, _tmp13_, &_tmp14_); +#line 14565 "Page.c" +} + + +static gboolean single_photo_page_real_on_context_keypress (Page* base) { + SinglePhotoPage * self; + gboolean result = FALSE; + GtkMenu* _tmp0_ = NULL; + GtkMenu* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 2369 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage); +#line 2370 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page_get_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2370 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_; +#line 2370 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_popup_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp1_, NULL); +#line 2370 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp2_; +#line 2370 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp1_); +#line 2370 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp3_; +#line 2370 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 14592 "Page.c" +} + + +static void single_photo_page_real_on_previous_photo (SinglePhotoPage* self) { +} + + +void single_photo_page_on_previous_photo (SinglePhotoPage* self) { +#line 2373 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2373 "/home/jens/Source/shotwell/src/Page.vala" + SINGLE_PHOTO_PAGE_GET_CLASS (self)->on_previous_photo (self); +#line 14605 "Page.c" +} + + +static void single_photo_page_real_on_next_photo (SinglePhotoPage* self) { +} + + +void single_photo_page_on_next_photo (SinglePhotoPage* self) { +#line 2376 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_SINGLE_PHOTO_PAGE (self)); +#line 2376 "/home/jens/Source/shotwell/src/Page.vala" + SINGLE_PHOTO_PAGE_GET_CLASS (self)->on_next_photo (self); +#line 14618 "Page.c" +} + + +static gboolean single_photo_page_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + SinglePhotoPage * self; + gboolean result = FALSE; + gboolean nav_ok = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint32 _tmp1_ = 0U; + guint32 _tmp2_ = 0U; + gboolean handled = FALSE; + GdkEventKey* _tmp3_ = NULL; + guint _tmp4_ = 0U; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GQuark _tmp8_ = 0U; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp7_label0 = 0; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp7_label1 = 0; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp7_label2 = 0; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp7_label3 = 0; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp7_label4 = 0; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + static GQuark _tmp7_label5 = 0; +#line 14647 "Page.c" + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; +#line 2379 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage); +#line 2379 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = event; +#line 2383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = _tmp0_->time; +#line 2383 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = self->priv->last_nav_key; +#line 2383 "/home/jens/Source/shotwell/src/Page.vala" + nav_ok = (_tmp1_ - _tmp2_) > ((guint32) SINGLE_PHOTO_PAGE_KEY_REPEAT_INTERVAL_MSEC); +#line 2385 "/home/jens/Source/shotwell/src/Page.vala" + handled = TRUE; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = event; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp3_->keyval; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = gdk_keyval_name (_tmp4_); +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = _tmp5_; +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = (NULL == _tmp6_) ? 0 : g_quark_from_string (_tmp6_); +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + if (((_tmp8_ == ((0 != _tmp7_label0) ? _tmp7_label0 : (_tmp7_label0 = g_quark_from_static_string ("Left")))) || (_tmp8_ == ((0 != _tmp7_label1) ? _tmp7_label1 : (_tmp7_label1 = g_quark_from_static_string ("KP_Left"))))) || (_tmp8_ == ((0 != _tmp7_label2) ? _tmp7_label2 : (_tmp7_label2 = g_quark_from_static_string ("BackSpace"))))) { +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 14678 "Page.c" + default: + { + gboolean _tmp9_ = FALSE; +#line 2390 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = nav_ok; +#line 2390 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp9_) { +#line 14686 "Page.c" + GdkEventKey* _tmp10_ = NULL; + guint32 _tmp11_ = 0U; +#line 2391 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_on_previous_photo (self); +#line 2392 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = event; +#line 2392 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = _tmp10_->time; +#line 2392 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_nav_key = _tmp11_; +#line 14697 "Page.c" + } +#line 2394 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 14701 "Page.c" + } + } + } else if (((_tmp8_ == ((0 != _tmp7_label3) ? _tmp7_label3 : (_tmp7_label3 = g_quark_from_static_string ("Right")))) || (_tmp8_ == ((0 != _tmp7_label4) ? _tmp7_label4 : (_tmp7_label4 = g_quark_from_static_string ("KP_Right"))))) || (_tmp8_ == ((0 != _tmp7_label5) ? _tmp7_label5 : (_tmp7_label5 = g_quark_from_static_string ("space"))))) { +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 14707 "Page.c" + default: + { + gboolean _tmp12_ = FALSE; +#line 2399 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = nav_ok; +#line 2399 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp12_) { +#line 14715 "Page.c" + GdkEventKey* _tmp13_ = NULL; + guint32 _tmp14_ = 0U; +#line 2400 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_on_next_photo (self); +#line 2401 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = event; +#line 2401 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = _tmp13_->time; +#line 2401 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_nav_key = _tmp14_; +#line 14726 "Page.c" + } +#line 2403 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 14730 "Page.c" + } + } + } else { +#line 2386 "/home/jens/Source/shotwell/src/Page.vala" + switch (0) { +#line 14736 "Page.c" + default: + { +#line 2406 "/home/jens/Source/shotwell/src/Page.vala" + handled = FALSE; +#line 2407 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 14743 "Page.c" + } + } + } +#line 2410 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = handled; +#line 2410 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp15_) { +#line 2411 "/home/jens/Source/shotwell/src/Page.vala" + result = TRUE; +#line 2411 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 14755 "Page.c" + } +#line 2413 "/home/jens/Source/shotwell/src/Page.vala" + if (GTK_WIDGET_CLASS (single_photo_page_parent_class)->key_press_event != NULL) { +#line 14759 "Page.c" + GdkEventKey* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 2413 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = event; +#line 2413 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = GTK_WIDGET_CLASS (single_photo_page_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), gtk_widget_get_type (), GtkWidget), _tmp17_); +#line 2413 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = _tmp18_; +#line 14768 "Page.c" + } else { +#line 2413 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = TRUE; +#line 14772 "Page.c" + } +#line 2413 "/home/jens/Source/shotwell/src/Page.vala" + result = _tmp16_; +#line 2413 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 14778 "Page.c" +} + + +static void single_photo_page_class_init (SinglePhotoPageClass * klass) { +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + single_photo_page_parent_class = g_type_class_peek_parent (klass); +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + g_type_class_add_private (klass, sizeof (SinglePhotoPagePrivate)); +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->is_zoom_supported = single_photo_page_real_is_zoom_supported; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->cancel_zoom = single_photo_page_real_cancel_zoom; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->save_zoom_state = single_photo_page_real_save_zoom_state; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->restore_zoom_state = single_photo_page_real_restore_zoom_state; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->get_zoom_buffer = single_photo_page_real_get_zoom_buffer; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->switched_to = single_photo_page_real_switched_to; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->set_container = single_photo_page_real_set_container; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_resize_finished = single_photo_page_real_on_resize_finished; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->new_surface = single_photo_page_real_new_surface; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->updated_pixbuf = single_photo_page_real_updated_pixbuf; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->paint = single_photo_page_real_paint; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((PageClass *) klass)->on_context_keypress = single_photo_page_real_on_context_keypress; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->on_previous_photo = single_photo_page_real_on_previous_photo; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((SinglePhotoPageClass *) klass)->on_next_photo = single_photo_page_real_on_next_photo; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + ((GtkWidgetClass *) klass)->key_press_event = single_photo_page_real_key_press_event; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + G_OBJECT_CLASS (klass)->finalize = single_photo_page_finalize; +#line 14819 "Page.c" +} + + +static void single_photo_page_instance_init (SinglePhotoPage * self) { + GtkDrawingArea* _tmp0_ = NULL; + GtkViewport* _tmp1_ = NULL; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + self->priv = SINGLE_PHOTO_PAGE_GET_PRIVATE (self); +#line 1913 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = (GtkDrawingArea*) gtk_drawing_area_new (); +#line 1913 "/home/jens/Source/shotwell/src/Page.vala" + g_object_ref_sink (_tmp0_); +#line 1913 "/home/jens/Source/shotwell/src/Page.vala" + self->canvas = _tmp0_; +#line 1914 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = (GtkViewport*) gtk_viewport_new (NULL, NULL); +#line 1914 "/home/jens/Source/shotwell/src/Page.vala" + g_object_ref_sink (_tmp1_); +#line 1914 "/home/jens/Source/shotwell/src/Page.vala" + self->viewport = _tmp1_; +#line 1918 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->transition_duration_msec = 0; +#line 1919 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->pixmap = NULL; +#line 1920 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->pixmap_ctx = NULL; +#line 1921 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->text_ctx = NULL; +#line 1922 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_init (&self->priv->pixmap_dim, 0, 0); +#line 1923 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->unscaled = NULL; +#line 1924 "/home/jens/Source/shotwell/src/Page.vala" + dimensions_init (&self->priv->max_dim, 0, 0); +#line 1925 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->scaled = NULL; +#line 1926 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->old_scaled = NULL; +#line 1927 "/home/jens/Source/shotwell/src/Page.vala" + memset (&self->priv->scaled_pos, 0, sizeof (GdkRectangle)); +#line 1929 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->zoom_high_quality = TRUE; +#line 1931 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->has_saved_zoom_state = FALSE; +#line 1932 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->last_nav_key = (guint32) 0; +#line 14866 "Page.c" +} + + +static void single_photo_page_finalize (GObject* obj) { + SinglePhotoPage * self; +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage); +#line 1913 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->canvas); +#line 1914 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->viewport); +#line 1917 "/home/jens/Source/shotwell/src/Page.vala" + _transition_clock_unref0 (self->priv->transition_clock); +#line 1919 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_surface_destroy0 (self->priv->pixmap); +#line 1920 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_destroy0 (self->priv->pixmap_ctx); +#line 1921 "/home/jens/Source/shotwell/src/Page.vala" + _cairo_destroy0 (self->priv->text_ctx); +#line 1923 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->unscaled); +#line 1925 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->scaled); +#line 1926 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->old_scaled); +#line 1902 "/home/jens/Source/shotwell/src/Page.vala" + G_OBJECT_CLASS (single_photo_page_parent_class)->finalize (obj); +#line 14894 "Page.c" +} + + +GType single_photo_page_get_type (void) { + static volatile gsize single_photo_page_type_id__volatile = 0; + if (g_once_init_enter (&single_photo_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SinglePhotoPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) single_photo_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SinglePhotoPage), 0, (GInstanceInitFunc) single_photo_page_instance_init, NULL }; + GType single_photo_page_type_id; + single_photo_page_type_id = g_type_register_static (TYPE_PAGE, "SinglePhotoPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&single_photo_page_type_id__volatile, single_photo_page_type_id); + } + return single_photo_page_type_id__volatile; +} + + +static void _drag_and_drop_handler_on_drag_begin_gtk_widget_drag_begin (GtkWidget* _sender, GdkDragContext* context, gpointer self) { +#line 2472 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_on_drag_begin ((DragAndDropHandler*) self, context); +#line 14913 "Page.c" +} + + +static void _drag_and_drop_handler_on_drag_data_get_gtk_widget_drag_data_get (GtkWidget* _sender, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time_, gpointer self) { +#line 2473 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_on_drag_data_get ((DragAndDropHandler*) self, context, selection_data, info, time_); +#line 14920 "Page.c" +} + + +static void _drag_and_drop_handler_on_drag_end_gtk_widget_drag_end (GtkWidget* _sender, GdkDragContext* context, gpointer self) { +#line 2474 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_on_drag_end ((DragAndDropHandler*) self); +#line 14927 "Page.c" +} + + +static gboolean _drag_and_drop_handler_on_drag_failed_gtk_widget_drag_failed (GtkWidget* _sender, GdkDragContext* context, GtkDragResult _result_, gpointer self) { + gboolean result; + result = drag_and_drop_handler_on_drag_failed ((DragAndDropHandler*) self, context, _result_); +#line 2475 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 14936 "Page.c" +} + + +static GType drag_and_drop_handler_target_type_get_type (void) { + static volatile gsize drag_and_drop_handler_target_type_type_id__volatile = 0; + if (g_once_init_enter (&drag_and_drop_handler_target_type_type_id__volatile)) { + static const GEnumValue values[] = {{DRAG_AND_DROP_HANDLER_TARGET_TYPE_XDS, "DRAG_AND_DROP_HANDLER_TARGET_TYPE_XDS", "xds"}, {DRAG_AND_DROP_HANDLER_TARGET_TYPE_MEDIA_LIST, "DRAG_AND_DROP_HANDLER_TARGET_TYPE_MEDIA_LIST", "media-list"}, {0, NULL, NULL}}; + GType drag_and_drop_handler_target_type_type_id; + drag_and_drop_handler_target_type_type_id = g_enum_register_static ("DragAndDropHandlerTargetType", values); + g_once_init_leave (&drag_and_drop_handler_target_type_type_id__volatile, drag_and_drop_handler_target_type_type_id); + } + return drag_and_drop_handler_target_type_type_id__volatile; +} + + +static GdkAtom* _gdk_atom_dup (GdkAtom* self) { + GdkAtom* dup; +#line 2450 "/home/jens/Source/shotwell/src/Page.vala" + dup = g_new0 (GdkAtom, 1); +#line 2450 "/home/jens/Source/shotwell/src/Page.vala" + memcpy (dup, self, sizeof (GdkAtom)); +#line 2450 "/home/jens/Source/shotwell/src/Page.vala" + return dup; +#line 14960 "Page.c" +} + + +static gpointer __gdk_atom_dup0 (gpointer self) { +#line 2450 "/home/jens/Source/shotwell/src/Page.vala" + return self ? _gdk_atom_dup (self) : NULL; +#line 14967 "Page.c" +} + + +DragAndDropHandler* drag_and_drop_handler_construct (GType object_type, Page* page) { + DragAndDropHandler* self = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + GtkWidget* _tmp3_ = NULL; + GtkWidget* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GdkAtom* _tmp6_ = NULL; + GdkAtom* _tmp9_ = NULL; + guint8* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkWidget* _tmp15_ = NULL; + GtkWidget* _tmp16_ = NULL; + GtkWidget* _tmp17_ = NULL; + GtkWidget* _tmp18_ = NULL; + GtkWidget* _tmp19_ = NULL; +#line 2442 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_PAGE (page), NULL); +#line 2442 "/home/jens/Source/shotwell/src/Page.vala" + self = (DragAndDropHandler*) g_type_create_instance (object_type); +#line 2443 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = page; +#line 2443 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->page = _tmp0_; +#line 2444 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page; +#line 2444 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = page_get_event_source (_tmp1_); +#line 2444 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->event_source); +#line 2444 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->event_source = _tmp2_; +#line 2445 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->event_source; +#line 2445 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp3_ != NULL, "event_source != null"); +#line 2446 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->event_source; +#line 2446 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = gtk_widget_get_has_window (_tmp4_); +#line 2446 "/home/jens/Source/shotwell/src/Page.vala" + _vala_assert (_tmp5_, "event_source.get_has_window()"); +#line 2449 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = drag_and_drop_handler_XDS_ATOM; +#line 2449 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp6_ == NULL) { +#line 15018 "Page.c" + GdkAtom _tmp7_ = 0U; + GdkAtom* _tmp8_ = NULL; +#line 2450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = gdk_atom_intern_static_string ("XdndDirectSave0"); +#line 2450 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = __gdk_atom_dup0 (&_tmp7_); +#line 2450 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (drag_and_drop_handler_XDS_ATOM); +#line 2450 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_XDS_ATOM = _tmp8_; +#line 15029 "Page.c" + } +#line 2452 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = drag_and_drop_handler_TEXT_ATOM; +#line 2452 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp9_ == NULL) { +#line 15035 "Page.c" + GdkAtom _tmp10_ = 0U; + GdkAtom* _tmp11_ = NULL; +#line 2453 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = gdk_atom_intern_static_string ("text/plain"); +#line 2453 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = __gdk_atom_dup0 (&_tmp10_); +#line 2453 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (drag_and_drop_handler_TEXT_ATOM); +#line 2453 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_TEXT_ATOM = _tmp11_; +#line 15046 "Page.c" + } +#line 2455 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = drag_and_drop_handler_XDS_FAKE_TARGET; +#line 2455 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12__length1 = drag_and_drop_handler_XDS_FAKE_TARGET_length1; +#line 2455 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp12_ == NULL) { +#line 15054 "Page.c" + gint _tmp13_ = 0; + guchar* _tmp14_ = NULL; +#line 2456 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = string_to_uchar_array ("shotwell.txt", &_tmp13_); +#line 2456 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_XDS_FAKE_TARGET = (g_free (drag_and_drop_handler_XDS_FAKE_TARGET), NULL); +#line 2456 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_XDS_FAKE_TARGET = _tmp14_; +#line 2456 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_XDS_FAKE_TARGET_length1 = _tmp13_; +#line 2456 "/home/jens/Source/shotwell/src/Page.vala" + _drag_and_drop_handler_XDS_FAKE_TARGET_size_ = drag_and_drop_handler_XDS_FAKE_TARGET_length1; +#line 15067 "Page.c" + } +#line 2459 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = self->priv->event_source; +#line 2459 "/home/jens/Source/shotwell/src/Page.vala" + gtk_drag_source_set (_tmp15_, GDK_BUTTON1_MASK, DRAG_AND_DROP_HANDLER_SOURCE_TARGET_ENTRIES, G_N_ELEMENTS (DRAG_AND_DROP_HANDLER_SOURCE_TARGET_ENTRIES), GDK_ACTION_COPY); +#line 2464 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = self->priv->event_source; +#line 2464 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect (_tmp16_, "drag-begin", (GCallback) _drag_and_drop_handler_on_drag_begin_gtk_widget_drag_begin, self); +#line 2465 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = self->priv->event_source; +#line 2465 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect (_tmp17_, "drag-data-get", (GCallback) _drag_and_drop_handler_on_drag_data_get_gtk_widget_drag_data_get, self); +#line 2466 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = self->priv->event_source; +#line 2466 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect (_tmp18_, "drag-end", (GCallback) _drag_and_drop_handler_on_drag_end_gtk_widget_drag_end, self); +#line 2467 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = self->priv->event_source; +#line 2467 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_connect (_tmp19_, "drag-failed", (GCallback) _drag_and_drop_handler_on_drag_failed_gtk_widget_drag_failed, self); +#line 2442 "/home/jens/Source/shotwell/src/Page.vala" + return self; +#line 15091 "Page.c" +} + + +DragAndDropHandler* drag_and_drop_handler_new (Page* page) { +#line 2442 "/home/jens/Source/shotwell/src/Page.vala" + return drag_and_drop_handler_construct (TYPE_DRAG_AND_DROP_HANDLER, page); +#line 15098 "Page.c" +} + + +static void drag_and_drop_handler_on_drag_begin (DragAndDropHandler* self, GdkDragContext* context) { + Page* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + Page* _tmp5_ = NULL; + ThumbnailSource* thumb = NULL; + Page* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; + DataSource* _tmp16_ = NULL; + ThumbnailSource* _tmp17_ = NULL; + GdkDragContext* _tmp27_ = NULL; + GdkWindow* _tmp28_ = NULL; + GdkAtom* _tmp29_ = NULL; + GdkAtom* _tmp30_ = NULL; + guint8* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + GError * _inner_error_ = NULL; +#line 2482 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_DRAG_AND_DROP_HANDLER (self)); +#line 2482 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 2483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->page; +#line 2483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_page_name (_tmp0_); +#line 2483 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 2483 "/home/jens/Source/shotwell/src/Page.vala" + g_debug ("Page.vala:2483: on_drag_begin (%s)", _tmp2_); +#line 2483 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp2_); +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->page; +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp5_ == NULL) { +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = TRUE; +#line 15144 "Page.c" + } else { + Page* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + gint _tmp9_ = 0; +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->page; +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = page_get_view (_tmp6_); +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = _tmp7_; +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = view_collection_get_selected_count (_tmp8_); +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp9_ == 0; +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp8_); +#line 15162 "Page.c" + } +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_) { +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = TRUE; +#line 15168 "Page.c" + } else { + ExporterUI* _tmp10_ = NULL; +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = self->priv->exporter; +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp10_ != NULL; +#line 15175 "Page.c" + } +#line 2485 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_) { +#line 2486 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 15181 "Page.c" + } +#line 2488 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->drag_destination); +#line 2488 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->drag_destination = NULL; +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->priv->page; +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = page_get_view (_tmp11_); +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = _tmp12_; +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = view_collection_get_selected_at (_tmp13_, 0); +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _tmp14_; +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = data_view_get_source (_tmp15_); +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource); +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp15_); +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp13_); +#line 2491 "/home/jens/Source/shotwell/src/Page.vala" + thumb = _tmp17_; +#line 15207 "Page.c" + { + GdkPixbuf* icon = NULL; + ThumbnailSource* _tmp18_ = NULL; + GdkPixbuf* _tmp19_ = NULL; + GtkWidget* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; +#line 2494 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = thumb; +#line 2494 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = thumbnail_source_get_thumbnail (_tmp18_, APP_WINDOW_DND_ICON_SCALE, &_inner_error_); +#line 2494 "/home/jens/Source/shotwell/src/Page.vala" + icon = _tmp19_; +#line 2494 "/home/jens/Source/shotwell/src/Page.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 15222 "Page.c" + goto __catch242_g_error; + } +#line 2495 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = self->priv->event_source; +#line 2495 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = icon; +#line 2495 "/home/jens/Source/shotwell/src/Page.vala" + gtk_drag_source_set_icon_pixbuf (_tmp20_, _tmp21_); +#line 2493 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (icon); +#line 15233 "Page.c" + } + goto __finally242; + __catch242_g_error: + { + GError* err = NULL; + ThumbnailSource* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + GError* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 2493 "/home/jens/Source/shotwell/src/Page.vala" + err = _inner_error_; +#line 2493 "/home/jens/Source/shotwell/src/Page.vala" + _inner_error_ = NULL; +#line 2497 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = thumb; +#line 2497 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_OBJECT, DataObject)); +#line 2497 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = _tmp23_; +#line 2497 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = err; +#line 2497 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = _tmp25_->message; +#line 2497 "/home/jens/Source/shotwell/src/Page.vala" + g_warning ("Page.vala:2497: Unable to fetch icon for drag-and-drop from %s: %s", _tmp24_, _tmp26_); +#line 2497 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp24_); +#line 2493 "/home/jens/Source/shotwell/src/Page.vala" + _g_error_free0 (err); +#line 15264 "Page.c" + } + __finally242: +#line 2493 "/home/jens/Source/shotwell/src/Page.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2493 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (thumb); +#line 2493 "/home/jens/Source/shotwell/src/Page.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 2493 "/home/jens/Source/shotwell/src/Page.vala" + g_clear_error (&_inner_error_); +#line 2493 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 15277 "Page.c" + } +#line 2503 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = context; +#line 2503 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = gdk_drag_context_get_source_window (_tmp27_); +#line 2503 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = drag_and_drop_handler_XDS_ATOM; +#line 2503 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = drag_and_drop_handler_TEXT_ATOM; +#line 2503 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = drag_and_drop_handler_XDS_FAKE_TARGET; +#line 2503 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31__length1 = drag_and_drop_handler_XDS_FAKE_TARGET_length1; +#line 2503 "/home/jens/Source/shotwell/src/Page.vala" + gdk_property_change (_tmp28_, *_tmp29_, *_tmp30_, 8, GDK_PROP_MODE_REPLACE, (const guchar*) _tmp31_, 1); +#line 2482 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (thumb); +#line 15295 "Page.c" +} + + +static void drag_and_drop_handler_on_drag_data_get (DragAndDropHandler* self, GdkDragContext* context, GtkSelectionData* selection_data, guint target_type, guint time) { + Page* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + Page* _tmp4_ = NULL; + guint _tmp9_ = 0U; +#line 2511 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_DRAG_AND_DROP_HANDLER (self)); +#line 2511 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 2511 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (selection_data != NULL); +#line 2513 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->page; +#line 2513 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_page_name (_tmp0_); +#line 2513 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 2513 "/home/jens/Source/shotwell/src/Page.vala" + g_debug ("Page.vala:2513: on_drag_data_get (%s)", _tmp2_); +#line 2513 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp2_); +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->page; +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_ == NULL) { +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = TRUE; +#line 15328 "Page.c" + } else { + Page* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->page; +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = page_get_view (_tmp5_); +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = _tmp6_; +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = view_collection_get_selected_count (_tmp7_); +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp8_ == 0; +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp7_); +#line 15346 "Page.c" + } +#line 2515 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_) { +#line 2516 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 15352 "Page.c" + } +#line 2518 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = target_type; +#line 2518 "/home/jens/Source/shotwell/src/Page.vala" + switch (_tmp9_) { +#line 2518 "/home/jens/Source/shotwell/src/Page.vala" + case DRAG_AND_DROP_HANDLER_TARGET_TYPE_XDS: +#line 15360 "Page.c" + { + guchar* data = NULL; + guchar* _tmp10_ = NULL; + gint data_length1 = 0; + gint _data_size_ = 0; + GdkAtom actual_type = 0U; + gint actual_format = 0; + gboolean fetched = FALSE; + GdkDragContext* _tmp11_ = NULL; + GdkWindow* _tmp12_ = NULL; + GdkAtom* _tmp13_ = NULL; + GdkAtom* _tmp14_ = NULL; + guchar* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GdkAtom _tmp16_ = 0U; + gint _tmp17_ = 0; + guint8* _tmp18_ = NULL; + gint _tmp19_ = 0; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + gchar* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + Page* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + GFile* _tmp41_ = NULL; + GtkSelectionData* _tmp42_ = NULL; + GdkAtom* _tmp43_ = NULL; + gint _tmp44_ = 0; + guchar* _tmp45_ = NULL; + guchar* _tmp46_ = NULL; + gint _tmp46__length1 = 0; +#line 2521 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = g_new0 (guchar, 4096); +#line 2521 "/home/jens/Source/shotwell/src/Page.vala" + data = _tmp10_; +#line 2521 "/home/jens/Source/shotwell/src/Page.vala" + data_length1 = 4096; +#line 2521 "/home/jens/Source/shotwell/src/Page.vala" + _data_size_ = data_length1; +#line 2523 "/home/jens/Source/shotwell/src/Page.vala" + actual_format = 0; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = context; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = gdk_drag_context_get_source_window (_tmp11_); +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = drag_and_drop_handler_XDS_ATOM; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = drag_and_drop_handler_TEXT_ATOM; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = data; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15__length1 = data_length1; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = gdk_property_get (_tmp12_, *_tmp13_, *_tmp14_, (gulong) 0, (gulong) _tmp15__length1, 0, &_tmp16_, &_tmp17_, &_tmp19_, &_tmp18_); +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + actual_type = _tmp16_; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + actual_format = _tmp17_; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + data = (g_free (data), NULL); +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + data = _tmp18_; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + data_length1 = _tmp19_; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + _data_size_ = data_length1; +#line 2524 "/home/jens/Source/shotwell/src/Page.vala" + fetched = _tmp20_; +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = fetched; +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp23_) { +#line 15438 "Page.c" + guchar* _tmp24_ = NULL; + gint _tmp24__length1 = 0; +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = data; +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24__length1 = data_length1; +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = _tmp24_ != NULL; +#line 15447 "Page.c" + } else { +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = FALSE; +#line 15451 "Page.c" + } +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp22_) { +#line 15455 "Page.c" + guchar* _tmp25_ = NULL; + gint _tmp25__length1 = 0; +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = data; +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25__length1 = data_length1; +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = _tmp25__length1 > 0; +#line 15464 "Page.c" + } else { +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = FALSE; +#line 15468 "Page.c" + } +#line 2529 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp21_) { +#line 15472 "Page.c" + guchar* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26_ = data; +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _tmp26__length1 = data_length1; +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _tmp27_ = uchar_array_to_string (_tmp26_, _tmp26__length1, -1); +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = _tmp27_; +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = g_file_new_for_uri (_tmp28_); +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = _tmp29_; +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = g_file_get_parent (_tmp30_); +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->drag_destination); +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->drag_destination = _tmp31_; +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp30_); +#line 2530 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp28_); +#line 15502 "Page.c" + } +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + _tmp33_ = self->priv->drag_destination; +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp33_ != NULL) { +#line 15508 "Page.c" + GFile* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + _tmp34_ = self->priv->drag_destination; +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + _tmp35_ = g_file_get_path (_tmp34_); +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp32_); +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = _tmp35_; +#line 15519 "Page.c" + } else { + gchar* _tmp36_ = NULL; +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + _tmp36_ = g_strdup ("(no path)"); +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp32_); +#line 2533 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = _tmp36_; +#line 15528 "Page.c" + } +#line 2532 "/home/jens/Source/shotwell/src/Page.vala" + _tmp37_ = self->priv->page; +#line 2532 "/home/jens/Source/shotwell/src/Page.vala" + _tmp38_ = page_get_page_name (_tmp37_); +#line 2532 "/home/jens/Source/shotwell/src/Page.vala" + _tmp39_ = _tmp38_; +#line 2532 "/home/jens/Source/shotwell/src/Page.vala" + g_debug ("Page.vala:2532: on_drag_data_get (%s): %s", _tmp39_, _tmp32_); +#line 2532 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp39_); +#line 2537 "/home/jens/Source/shotwell/src/Page.vala" + _tmp41_ = self->priv->drag_destination; +#line 2537 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp41_ != NULL) { +#line 2537 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = "S"; +#line 15546 "Page.c" + } else { +#line 2537 "/home/jens/Source/shotwell/src/Page.vala" + _tmp40_ = "E"; +#line 15550 "Page.c" + } +#line 2536 "/home/jens/Source/shotwell/src/Page.vala" + _tmp42_ = selection_data; +#line 2536 "/home/jens/Source/shotwell/src/Page.vala" + _tmp43_ = drag_and_drop_handler_XDS_ATOM; +#line 2536 "/home/jens/Source/shotwell/src/Page.vala" + _tmp45_ = string_to_uchar_array (_tmp40_, &_tmp44_); +#line 2536 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = _tmp45_; +#line 2536 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46__length1 = _tmp44_; +#line 2536 "/home/jens/Source/shotwell/src/Page.vala" + gtk_selection_data_set (_tmp42_, *_tmp43_, 8, _tmp46_, _tmp44_); +#line 2536 "/home/jens/Source/shotwell/src/Page.vala" + _tmp46_ = (g_free (_tmp46_), NULL); +#line 2538 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp32_); +#line 2538 "/home/jens/Source/shotwell/src/Page.vala" + data = (g_free (data), NULL); +#line 2538 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 15572 "Page.c" + } +#line 2518 "/home/jens/Source/shotwell/src/Page.vala" + case DRAG_AND_DROP_HANDLER_TARGET_TYPE_MEDIA_LIST: +#line 15576 "Page.c" + { + GeeCollection* sources = NULL; + Page* _tmp47_ = NULL; + ViewCollection* _tmp48_ = NULL; + ViewCollection* _tmp49_ = NULL; + GeeList* _tmp50_ = NULL; + GeeCollection* _tmp51_ = NULL; + GtkSelectionData* _tmp52_ = NULL; + GdkAtom _tmp53_ = 0U; + GeeCollection* _tmp54_ = NULL; + gint _tmp55_ = 0; + guchar* _tmp56_ = NULL; + guchar* _tmp57_ = NULL; + gint _tmp57__length1 = 0; +#line 2541 "/home/jens/Source/shotwell/src/Page.vala" + _tmp47_ = self->priv->page; +#line 2541 "/home/jens/Source/shotwell/src/Page.vala" + _tmp48_ = page_get_view (_tmp47_); +#line 2541 "/home/jens/Source/shotwell/src/Page.vala" + _tmp49_ = _tmp48_; +#line 2541 "/home/jens/Source/shotwell/src/Page.vala" + _tmp50_ = view_collection_get_selected_sources (_tmp49_); +#line 2541 "/home/jens/Source/shotwell/src/Page.vala" + _tmp51_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection); +#line 2541 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp49_); +#line 2541 "/home/jens/Source/shotwell/src/Page.vala" + sources = _tmp51_; +#line 2546 "/home/jens/Source/shotwell/src/Page.vala" + _tmp52_ = selection_data; +#line 2546 "/home/jens/Source/shotwell/src/Page.vala" + _tmp53_ = gdk_atom_intern_static_string ("SourceIDAtom"); +#line 2546 "/home/jens/Source/shotwell/src/Page.vala" + _tmp54_ = sources; +#line 2546 "/home/jens/Source/shotwell/src/Page.vala" + _tmp56_ = serialize_media_sources (_tmp54_, &_tmp55_); +#line 2546 "/home/jens/Source/shotwell/src/Page.vala" + _tmp57_ = _tmp56_; +#line 2546 "/home/jens/Source/shotwell/src/Page.vala" + _tmp57__length1 = _tmp55_; +#line 2546 "/home/jens/Source/shotwell/src/Page.vala" + gtk_selection_data_set (_tmp52_, _tmp53_, (gint) sizeof (GdkAtom), _tmp57_, _tmp55_); +#line 2546 "/home/jens/Source/shotwell/src/Page.vala" + _tmp57_ = (g_free (_tmp57_), NULL); +#line 2548 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (sources); +#line 2548 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 15625 "Page.c" + } + default: + { + Page* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + guint _tmp61_ = 0U; +#line 2551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp58_ = self->priv->page; +#line 2551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp59_ = page_get_page_name (_tmp58_); +#line 2551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp60_ = _tmp59_; +#line 2551 "/home/jens/Source/shotwell/src/Page.vala" + _tmp61_ = target_type; +#line 2551 "/home/jens/Source/shotwell/src/Page.vala" + g_warning ("Page.vala:2551: on_drag_data_get (%s): unknown target type %u", _tmp60_, _tmp61_); +#line 2551 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp60_); +#line 2553 "/home/jens/Source/shotwell/src/Page.vala" + break; +#line 15647 "Page.c" + } + } +} + + +static void _drag_and_drop_handler_on_export_completed_exporter_completion_callback (Exporter* exporter, gboolean is_cancelled, gpointer self) { +#line 2574 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_on_export_completed ((DragAndDropHandler*) self); +#line 15656 "Page.c" +} + + +static void drag_and_drop_handler_on_drag_end (DragAndDropHandler* self) { + Page* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + Page* _tmp6_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 2557 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_DRAG_AND_DROP_HANDLER (self)); +#line 2558 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->page; +#line 2558 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_page_name (_tmp0_); +#line 2558 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 2558 "/home/jens/Source/shotwell/src/Page.vala" + g_debug ("Page.vala:2558: on_drag_end (%s)", _tmp2_); +#line 2558 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp2_); +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp6_ = self->priv->page; +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp6_ == NULL) { +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = TRUE; +#line 15693 "Page.c" + } else { + Page* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->page; +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp8_ = page_get_view (_tmp7_); +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp9_ = _tmp8_; +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp10_ = view_collection_get_selected_count (_tmp9_); +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = _tmp10_ == 0; +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp9_); +#line 15711 "Page.c" + } +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp5_) { +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = TRUE; +#line 15717 "Page.c" + } else { + GFile* _tmp11_ = NULL; +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp11_ = self->priv->drag_destination; +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = _tmp11_ == NULL; +#line 15724 "Page.c" + } +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_) { +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = TRUE; +#line 15730 "Page.c" + } else { + ExporterUI* _tmp12_ = NULL; +#line 2561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp12_ = self->priv->exporter; +#line 2561 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = _tmp12_ != NULL; +#line 15737 "Page.c" + } +#line 2560 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp3_) { +#line 2562 "/home/jens/Source/shotwell/src/Page.vala" + return; +#line 15743 "Page.c" + } +#line 2565 "/home/jens/Source/shotwell/src/Page.vala" + _tmp13_ = self->priv->drag_destination; +#line 2565 "/home/jens/Source/shotwell/src/Page.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 2565 "/home/jens/Source/shotwell/src/Page.vala" + _tmp15_ = _tmp14_; +#line 2565 "/home/jens/Source/shotwell/src/Page.vala" + g_debug ("Page.vala:2565: Exporting to %s", _tmp15_); +#line 2565 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp15_); +#line 2570 "/home/jens/Source/shotwell/src/Page.vala" + _tmp16_ = self->priv->drag_destination; +#line 2570 "/home/jens/Source/shotwell/src/Page.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 2570 "/home/jens/Source/shotwell/src/Page.vala" + _tmp18_ = _tmp17_; +#line 2570 "/home/jens/Source/shotwell/src/Page.vala" + _tmp19_ = _tmp18_ != NULL; +#line 2570 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp18_); +#line 2570 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp19_) { +#line 15767 "Page.c" + Page* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + ViewCollection* _tmp22_ = NULL; + GeeList* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + Scaling _tmp26_ = {0}; + ExportFormatParameters _tmp27_ = {0}; + Exporter* _tmp28_ = NULL; + Exporter* _tmp29_ = NULL; + ExporterUI* _tmp30_ = NULL; + ExporterUI* _tmp31_ = NULL; +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp20_ = self->priv->page; +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp21_ = page_get_view (_tmp20_); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp22_ = _tmp21_; +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp23_ = view_collection_get_selected_sources (_tmp22_); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp24_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp25_ = self->priv->drag_destination; +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + scaling_for_original (&_tmp26_); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + export_format_parameters_current (&_tmp27_); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp28_ = exporter_new (_tmp24_, _tmp25_, &_tmp26_, &_tmp27_, FALSE); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp29_ = _tmp28_; +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _tmp30_ = exporter_ui_new (_tmp29_); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _exporter_ui_unref0 (self->priv->exporter); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->exporter = _tmp30_; +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp29_); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (_tmp24_); +#line 2571 "/home/jens/Source/shotwell/src/Page.vala" + _data_collection_unref0 (_tmp22_); +#line 2574 "/home/jens/Source/shotwell/src/Page.vala" + _tmp31_ = self->priv->exporter; +#line 2574 "/home/jens/Source/shotwell/src/Page.vala" + exporter_ui_export (_tmp31_, _drag_and_drop_handler_on_export_completed_exporter_completion_callback, self); +#line 15816 "Page.c" + } else { + const gchar* _tmp32_ = NULL; +#line 2576 "/home/jens/Source/shotwell/src/Page.vala" + _tmp32_ = _ ("Photos cannot be exported to this directory."); +#line 2576 "/home/jens/Source/shotwell/src/Page.vala" + app_window_error_message (_tmp32_, NULL); +#line 15823 "Page.c" + } +#line 2579 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->drag_destination); +#line 2579 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->drag_destination = NULL; +#line 15829 "Page.c" +} + + +static gboolean drag_and_drop_handler_on_drag_failed (DragAndDropHandler* self, GdkDragContext* context, GtkDragResult drag_result) { + gboolean result = FALSE; + Page* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GtkDragResult _tmp3_ = 0; + Page* _tmp4_ = NULL; +#line 2582 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (IS_DRAG_AND_DROP_HANDLER (self), FALSE); +#line 2582 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE); +#line 2583 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->page; +#line 2583 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = page_get_page_name (_tmp0_); +#line 2583 "/home/jens/Source/shotwell/src/Page.vala" + _tmp2_ = _tmp1_; +#line 2583 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = drag_result; +#line 2583 "/home/jens/Source/shotwell/src/Page.vala" + g_debug ("Page.vala:2583: on_drag_failed (%s): %d", _tmp2_, (gint) _tmp3_); +#line 2583 "/home/jens/Source/shotwell/src/Page.vala" + _g_free0 (_tmp2_); +#line 2585 "/home/jens/Source/shotwell/src/Page.vala" + _tmp4_ = self->priv->page; +#line 2585 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp4_ == NULL) { +#line 2586 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 2586 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 15864 "Page.c" + } +#line 2588 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->drag_destination); +#line 2588 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->drag_destination = NULL; +#line 2590 "/home/jens/Source/shotwell/src/Page.vala" + result = FALSE; +#line 2590 "/home/jens/Source/shotwell/src/Page.vala" + return result; +#line 15874 "Page.c" +} + + +static void drag_and_drop_handler_on_export_completed (DragAndDropHandler* self) { +#line 2593 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (IS_DRAG_AND_DROP_HANDLER (self)); +#line 2594 "/home/jens/Source/shotwell/src/Page.vala" + _exporter_ui_unref0 (self->priv->exporter); +#line 2594 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->exporter = NULL; +#line 15885 "Page.c" +} + + +static void value_drag_and_drop_handler_init (GValue* value) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 15892 "Page.c" +} + + +static void value_drag_and_drop_handler_free_value (GValue* value) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (value->data[0].v_pointer) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_unref (value->data[0].v_pointer); +#line 15901 "Page.c" + } +} + + +static void value_drag_and_drop_handler_copy_value (const GValue* src_value, GValue* dest_value) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (src_value->data[0].v_pointer) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + dest_value->data[0].v_pointer = drag_and_drop_handler_ref (src_value->data[0].v_pointer); +#line 15911 "Page.c" + } else { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + dest_value->data[0].v_pointer = NULL; +#line 15915 "Page.c" + } +} + + +static gpointer value_drag_and_drop_handler_peek_pointer (const GValue* value) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return value->data[0].v_pointer; +#line 15923 "Page.c" +} + + +static gchar* value_drag_and_drop_handler_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (collect_values[0].v_pointer) { +#line 15930 "Page.c" + DragAndDropHandler* object; + object = collect_values[0].v_pointer; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (object->parent_instance.g_class == NULL) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 15937 "Page.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 15941 "Page.c" + } +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = drag_and_drop_handler_ref (object); +#line 15945 "Page.c" + } else { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 15949 "Page.c" + } +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return NULL; +#line 15953 "Page.c" +} + + +static gchar* value_drag_and_drop_handler_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DragAndDropHandler** object_p; + object_p = collect_values[0].v_pointer; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (!object_p) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 15964 "Page.c" + } +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (!value->data[0].v_pointer) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = NULL; +#line 15970 "Page.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = value->data[0].v_pointer; +#line 15974 "Page.c" + } else { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + *object_p = drag_and_drop_handler_ref (value->data[0].v_pointer); +#line 15978 "Page.c" + } +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return NULL; +#line 15982 "Page.c" +} + + +GParamSpec* param_spec_drag_and_drop_handler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecDragAndDropHandler* spec; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_DRAG_AND_DROP_HANDLER), NULL); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return G_PARAM_SPEC (spec); +#line 15996 "Page.c" +} + + +gpointer value_get_drag_and_drop_handler (const GValue* value) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DRAG_AND_DROP_HANDLER), NULL); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return value->data[0].v_pointer; +#line 16005 "Page.c" +} + + +void value_set_drag_and_drop_handler (GValue* value, gpointer v_object) { + DragAndDropHandler* old; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DRAG_AND_DROP_HANDLER)); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + old = value->data[0].v_pointer; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (v_object) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DRAG_AND_DROP_HANDLER)); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = v_object; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_ref (value->data[0].v_pointer); +#line 16025 "Page.c" + } else { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 16029 "Page.c" + } +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (old) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_unref (old); +#line 16035 "Page.c" + } +} + + +void value_take_drag_and_drop_handler (GValue* value, gpointer v_object) { + DragAndDropHandler* old; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DRAG_AND_DROP_HANDLER)); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + old = value->data[0].v_pointer; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (v_object) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DRAG_AND_DROP_HANDLER)); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = v_object; +#line 16054 "Page.c" + } else { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + value->data[0].v_pointer = NULL; +#line 16058 "Page.c" + } +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (old) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_unref (old); +#line 16064 "Page.c" + } +} + + +static void drag_and_drop_handler_class_init (DragAndDropHandlerClass * klass) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + drag_and_drop_handler_parent_class = g_type_class_peek_parent (klass); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + ((DragAndDropHandlerClass *) klass)->finalize = drag_and_drop_handler_finalize; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_type_class_add_private (klass, sizeof (DragAndDropHandlerPrivate)); +#line 16076 "Page.c" +} + + +static void drag_and_drop_handler_instance_init (DragAndDropHandler * self) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + self->priv = DRAG_AND_DROP_HANDLER_GET_PRIVATE (self); +#line 2439 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->drag_destination = NULL; +#line 2440 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->exporter = NULL; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + self->ref_count = 1; +#line 16089 "Page.c" +} + + +static void drag_and_drop_handler_finalize (DragAndDropHandler* obj) { + DragAndDropHandler * self; + GtkWidget* _tmp0_ = NULL; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandler); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_destroy (self); +#line 2471 "/home/jens/Source/shotwell/src/Page.vala" + _tmp0_ = self->priv->event_source; +#line 2471 "/home/jens/Source/shotwell/src/Page.vala" + if (_tmp0_ != NULL) { +#line 16104 "Page.c" + GtkWidget* _tmp1_ = NULL; + guint _tmp2_ = 0U; + GtkWidget* _tmp3_ = NULL; + guint _tmp4_ = 0U; + GtkWidget* _tmp5_ = NULL; + guint _tmp6_ = 0U; + GtkWidget* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#line 2472 "/home/jens/Source/shotwell/src/Page.vala" + _tmp1_ = self->priv->event_source; +#line 2472 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-begin", gtk_widget_get_type (), &_tmp2_, NULL, FALSE); +#line 2472 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _drag_and_drop_handler_on_drag_begin_gtk_widget_drag_begin, self); +#line 2473 "/home/jens/Source/shotwell/src/Page.vala" + _tmp3_ = self->priv->event_source; +#line 2473 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-data-get", gtk_widget_get_type (), &_tmp4_, NULL, FALSE); +#line 2473 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _drag_and_drop_handler_on_drag_data_get_gtk_widget_drag_data_get, self); +#line 2474 "/home/jens/Source/shotwell/src/Page.vala" + _tmp5_ = self->priv->event_source; +#line 2474 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-end", gtk_widget_get_type (), &_tmp6_, NULL, FALSE); +#line 2474 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _drag_and_drop_handler_on_drag_end_gtk_widget_drag_end, self); +#line 2475 "/home/jens/Source/shotwell/src/Page.vala" + _tmp7_ = self->priv->event_source; +#line 2475 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_parse_name ("drag-failed", gtk_widget_get_type (), &_tmp8_, NULL, FALSE); +#line 2475 "/home/jens/Source/shotwell/src/Page.vala" + g_signal_handlers_disconnect_matched (_tmp7_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _drag_and_drop_handler_on_drag_failed_gtk_widget_drag_failed, self); +#line 16137 "Page.c" + } +#line 2478 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->page = NULL; +#line 2479 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->event_source); +#line 2479 "/home/jens/Source/shotwell/src/Page.vala" + self->priv->event_source = NULL; +#line 2438 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->event_source); +#line 2439 "/home/jens/Source/shotwell/src/Page.vala" + _g_object_unref0 (self->priv->drag_destination); +#line 2440 "/home/jens/Source/shotwell/src/Page.vala" + _exporter_ui_unref0 (self->priv->exporter); +#line 16151 "Page.c" +} + + +GType drag_and_drop_handler_get_type (void) { + static volatile gsize drag_and_drop_handler_type_id__volatile = 0; + if (g_once_init_enter (&drag_and_drop_handler_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_drag_and_drop_handler_init, value_drag_and_drop_handler_free_value, value_drag_and_drop_handler_copy_value, value_drag_and_drop_handler_peek_pointer, "p", value_drag_and_drop_handler_collect_value, "p", value_drag_and_drop_handler_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DragAndDropHandlerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) drag_and_drop_handler_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DragAndDropHandler), 0, (GInstanceInitFunc) drag_and_drop_handler_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType drag_and_drop_handler_type_id; + drag_and_drop_handler_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DragAndDropHandler", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&drag_and_drop_handler_type_id__volatile, drag_and_drop_handler_type_id); + } + return drag_and_drop_handler_type_id__volatile; +} + + +gpointer drag_and_drop_handler_ref (gpointer instance) { + DragAndDropHandler* self; + self = instance; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_atomic_int_inc (&self->ref_count); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + return instance; +#line 16176 "Page.c" +} + + +void drag_and_drop_handler_unref (gpointer instance) { + DragAndDropHandler* self; + self = instance; +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + DRAG_AND_DROP_HANDLER_GET_CLASS (self)->finalize (self); +#line 2422 "/home/jens/Source/shotwell/src/Page.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 16189 "Page.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/Page.vala b/src/Page.vala index 2f6f2c3..4877a47 100644 --- a/src/Page.vala +++ b/src/Page.vala @@ -1267,7 +1267,7 @@ public abstract class CheckerboardPage : Page { } protected virtual string get_filter_no_match_message() { - return _("No photos/videos found"); + return _("No photos/videos found which match the current filter"); } protected virtual void on_item_activated(CheckerboardItem item, Activator activator, @@ -1471,9 +1471,14 @@ public abstract class CheckerboardPage : Page { uint state = event.state & (Gdk.ModifierType.CONTROL_MASK | Gdk.ModifierType.SHIFT_MASK); // use clicks for multiple selection and activation only; single selects are handled by - // button release, to allow for multiple items to be selected then dragged + // button release, to allow for multiple items to be selected then dragged ... CheckerboardItem item = get_item_at_pixel(event.x, event.y); if (item != null) { + // ... however, there is no dragging if the user clicks on an interactive part of the + // CheckerboardItem (e.g. a tag) + if (layout.handle_left_click(item, event.x, event.y, event.state)) + return true; + switch (state) { case Gdk.ModifierType.CONTROL_MASK: // with only Ctrl pressed, multiple selections are possible ... chosen item @@ -1644,6 +1649,9 @@ public abstract class CheckerboardPage : Page { } protected virtual bool on_mouse_over(CheckerboardItem? item, int x, int y, Gdk.ModifierType mask) { + if (item != null) + layout.handle_mouse_motion(item, x, y, mask); + // if hovering over the last hovered item, or both are null (nothing highlighted and // hovering over empty space), do nothing if (item == highlighted) diff --git a/src/Photo.c b/src/Photo.c new file mode 100644 index 0000000..d0e4daa --- /dev/null +++ b/src/Photo.c @@ -0,0 +1,42206 @@ +/* Photo.c generated by valac 0.32.1, the Vala compiler + * generated from Photo.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. + */ +/* Specifies how pixel data is fetched from the backing file on disk. MASTER is the original*/ +/* backing photo of any supported photo file format; SOURCE is either the master or the editable*/ +/* file, that is, the appropriate reference file for user display; BASELINE is an appropriate*/ +/* file with the proviso that it may be a suitable substitute for the master and/or the editable.*/ +/* UNMODIFIED represents the photo with no edits, i.e. the head of the pipeline.*/ +/**/ +/* In general, callers want to use the BASELINE unless requirements are specific.*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_BACKING_FETCH_MODE (backing_fetch_mode_get_type ()) + +#define TYPE_PHOTO_IMPORT_PARAMS (photo_import_params_get_type ()) +#define PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParams)) +#define PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass)) +#define IS_PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_IMPORT_PARAMS)) +#define IS_PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_IMPORT_PARAMS)) +#define PHOTO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass)) + +typedef struct _PhotoImportParams PhotoImportParams; +typedef struct _PhotoImportParamsClass PhotoImportParamsClass; +typedef struct _PhotoImportParamsPrivate PhotoImportParamsPrivate; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_THUMBNAILS (thumbnails_get_type ()) +#define THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAILS, Thumbnails)) +#define THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAILS, ThumbnailsClass)) +#define IS_THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAILS)) +#define IS_THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAILS)) +#define THUMBNAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAILS, ThumbnailsClass)) + +typedef struct _Thumbnails Thumbnails; +typedef struct _ThumbnailsClass ThumbnailsClass; + +#define TYPE_PHOTO_ROW (photo_row_get_type ()) +#define PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_ROW, PhotoRow)) +#define PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_ROW, PhotoRowClass)) +#define IS_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_ROW)) +#define IS_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_ROW)) +#define PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_ROW, PhotoRowClass)) + +typedef struct _PhotoRow PhotoRow; +typedef struct _PhotoRowClass PhotoRowClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _thumbnails_unref0(var) ((var == NULL) ? NULL : (var = (thumbnails_unref (var), NULL))) +#define _photo_row_unref0(var) ((var == NULL) ? NULL : (var = (photo_row_unref (var), NULL))) +typedef struct _ParamSpecPhotoImportParams ParamSpecPhotoImportParams; + +#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; +typedef struct _PhotoTransformationStatePrivate PhotoTransformationStatePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#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; +typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +typedef struct _MediaSourcePrivate MediaSourcePrivate; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_BACKING_FILE_STATE (backing_file_state_get_type ()) +#define BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_FILE_STATE, BackingFileState)) +#define BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) +#define IS_BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_FILE_STATE)) +#define IS_BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_FILE_STATE)) +#define BACKING_FILE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) + +typedef struct _BackingFileState BackingFileState; +typedef struct _BackingFileStateClass BackingFileStateClass; + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#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; +typedef struct _PhotoSourcePrivate PhotoSourcePrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; + +#define TYPE_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; +typedef struct _PhotoPrivate PhotoPrivate; + +#define TYPE_ROTATION (rotation_get_type ()) + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; + +#define PHOTO_TYPE_BACKING_READERS (photo_backing_readers_get_type ()) +#define PHOTO_BACKING_READERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_BACKING_READERS, PhotoBackingReaders)) +#define PHOTO_BACKING_READERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_BACKING_READERS, PhotoBackingReadersClass)) +#define PHOTO_IS_BACKING_READERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_BACKING_READERS)) +#define PHOTO_IS_BACKING_READERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_BACKING_READERS)) +#define PHOTO_BACKING_READERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_BACKING_READERS, PhotoBackingReadersClass)) + +typedef struct _PhotoBackingReaders PhotoBackingReaders; +typedef struct _PhotoBackingReadersClass PhotoBackingReadersClass; + +#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ()) +#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer)) +#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) +#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER)) +#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER)) +#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) + +typedef struct _PixelTransformer PixelTransformer; +typedef struct _PixelTransformerClass PixelTransformerClass; + +#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ()) +#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle)) +#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) + +typedef struct _PixelTransformationBundle PixelTransformationBundle; +typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define PHOTO_TYPE_CACHED_PIXBUF (photo_cached_pixbuf_get_type ()) +#define PHOTO_CACHED_PIXBUF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_CACHED_PIXBUF, PhotoCachedPixbuf)) +#define PHOTO_CACHED_PIXBUF_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_CACHED_PIXBUF, PhotoCachedPixbufClass)) +#define PHOTO_IS_CACHED_PIXBUF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_CACHED_PIXBUF)) +#define PHOTO_IS_CACHED_PIXBUF_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_CACHED_PIXBUF)) +#define PHOTO_CACHED_PIXBUF_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_CACHED_PIXBUF, PhotoCachedPixbufClass)) + +typedef struct _PhotoCachedPixbuf PhotoCachedPixbuf; +typedef struct _PhotoCachedPixbufClass PhotoCachedPixbufClass; +#define _backing_photo_row_unref0(var) ((var == NULL) ? NULL : (var = (backing_photo_row_unref (var), NULL))) +#define _photo_backing_readers_unref0(var) ((var == NULL) ? NULL : (var = (photo_backing_readers_unref (var), NULL))) +#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL))) +#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) +typedef struct _PhotoRowPrivate PhotoRowPrivate; + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ()) +#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap)) +#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) +#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP)) +#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP)) +#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) + +typedef struct _KeyValueMap KeyValueMap; +typedef struct _KeyValueMapClass KeyValueMapClass; + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; +typedef struct _PhotoBackingReadersPrivate PhotoBackingReadersPrivate; +#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_PHOTO_TABLE (photo_table_get_type ()) +#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable)) +#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass)) +#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE)) +#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE)) +#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass)) + +typedef struct _PhotoTable PhotoTable; +typedef struct _PhotoTableClass PhotoTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_BACKING_PHOTO_TABLE (backing_photo_table_get_type ()) +#define BACKING_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTable)) +#define BACKING_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTableClass)) +#define IS_BACKING_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_TABLE)) +#define IS_BACKING_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_TABLE)) +#define BACKING_PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTableClass)) + +typedef struct _BackingPhotoTable BackingPhotoTable; +typedef struct _BackingPhotoTableClass BackingPhotoTableClass; + +#define TYPE_PHOTO_PREVIEW (photo_preview_get_type ()) +#define PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_PREVIEW, PhotoPreview)) +#define PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) +#define IS_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_PREVIEW)) +#define IS_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_PREVIEW)) +#define PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) + +typedef struct _PhotoPreview PhotoPreview; +typedef struct _PhotoPreviewClass PhotoPreviewClass; +#define _photo_preview_unref0(var) ((var == NULL) ? NULL : (var = (photo_preview_unref (var), NULL))) +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_INTERROGATOR (photo_file_interrogator_get_type ()) +#define PHOTO_FILE_INTERROGATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogator)) +#define PHOTO_FILE_INTERROGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorClass)) +#define IS_PHOTO_FILE_INTERROGATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_INTERROGATOR)) +#define IS_PHOTO_FILE_INTERROGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_INTERROGATOR)) +#define PHOTO_FILE_INTERROGATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorClass)) + +typedef struct _PhotoFileInterrogator PhotoFileInterrogator; +typedef struct _PhotoFileInterrogatorClass PhotoFileInterrogatorClass; +#define _photo_file_interrogator_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_interrogator_unref (var), NULL))) + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) + +#define PHOTO_TYPE_REIMPORT_MASTER_STATE (photo_reimport_master_state_get_type ()) +#define PHOTO_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState)) +#define PHOTO_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) +#define PHOTO_IS_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_REIMPORT_MASTER_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) + +typedef struct _PhotoReimportMasterState PhotoReimportMasterState; +typedef struct _PhotoReimportMasterStateClass PhotoReimportMasterStateClass; +#define _photo_reimport_master_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_master_state_unref (var), NULL))) + +#define PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL (photo_reimport_master_state_impl_get_type ()) +#define PHOTO_REIMPORT_MASTER_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImpl)) +#define PHOTO_REIMPORT_MASTER_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImplClass)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL)) +#define PHOTO_REIMPORT_MASTER_STATE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImplClass)) + +typedef struct _PhotoReimportMasterStateImpl PhotoReimportMasterStateImpl; +typedef struct _PhotoReimportMasterStateImplClass PhotoReimportMasterStateImplClass; +typedef struct _PhotoReimportMasterStatePrivate PhotoReimportMasterStatePrivate; +typedef struct _PhotoReimportMasterStateImplPrivate PhotoReimportMasterStateImplPrivate; + +#define PHOTO_TYPE_REIMPORT_EDITABLE_STATE (photo_reimport_editable_state_get_type ()) +#define PHOTO_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState)) +#define PHOTO_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE)) +#define PHOTO_REIMPORT_EDITABLE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass)) + +typedef struct _PhotoReimportEditableState PhotoReimportEditableState; +typedef struct _PhotoReimportEditableStateClass PhotoReimportEditableStateClass; +#define _photo_reimport_editable_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_editable_state_unref (var), NULL))) + +#define PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL (photo_reimport_editable_state_impl_get_type ()) +#define PHOTO_REIMPORT_EDITABLE_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImpl)) +#define PHOTO_REIMPORT_EDITABLE_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImplClass)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL)) +#define PHOTO_REIMPORT_EDITABLE_STATE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImplClass)) + +typedef struct _PhotoReimportEditableStateImpl PhotoReimportEditableStateImpl; +typedef struct _PhotoReimportEditableStateImplClass PhotoReimportEditableStateImplClass; +typedef struct _PhotoReimportEditableStatePrivate PhotoReimportEditableStatePrivate; +typedef struct _PhotoReimportEditableStateImplPrivate PhotoReimportEditableStateImplPrivate; + +#define PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE (photo_reimport_raw_development_state_get_type ()) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentState)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentStateClass)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentStateClass)) + +typedef struct _PhotoReimportRawDevelopmentState PhotoReimportRawDevelopmentState; +typedef struct _PhotoReimportRawDevelopmentStateClass PhotoReimportRawDevelopmentStateClass; +#define _photo_reimport_raw_development_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_raw_development_state_unref (var), NULL))) + +#define PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL (photo_reimport_raw_development_state_impl_get_type ()) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImpl)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImplClass)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImplClass)) + +typedef struct _PhotoReimportRawDevelopmentStateImpl PhotoReimportRawDevelopmentStateImpl; +typedef struct _PhotoReimportRawDevelopmentStateImplClass PhotoReimportRawDevelopmentStateImplClass; + +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT (photo_reimport_raw_development_state_impl_dev_to_reimport_get_type ()) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, PhotoReimportRawDevelopmentStateImplDevToReimport)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, PhotoReimportRawDevelopmentStateImplDevToReimportClass)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_IS_DEV_TO_REIMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_IS_DEV_TO_REIMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, PhotoReimportRawDevelopmentStateImplDevToReimportClass)) + +typedef struct _PhotoReimportRawDevelopmentStateImplDevToReimport PhotoReimportRawDevelopmentStateImplDevToReimport; +typedef struct _PhotoReimportRawDevelopmentStateImplDevToReimportClass PhotoReimportRawDevelopmentStateImplDevToReimportClass; +typedef struct _PhotoReimportRawDevelopmentStatePrivate PhotoReimportRawDevelopmentStatePrivate; +typedef struct _PhotoReimportRawDevelopmentStateImplPrivate PhotoReimportRawDevelopmentStateImplPrivate; +typedef struct _PhotoReimportRawDevelopmentStateImplDevToReimportPrivate PhotoReimportRawDevelopmentStateImplDevToReimportPrivate; +#define _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_raw_development_state_impl_dev_to_reimport_unref (var), NULL))) + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define PHOTO_METADATA_TYPE_SET_OPTION (photo_metadata_set_option_get_type ()) + +#define TYPE_BOX (box_get_type ()) +typedef struct _Box Box; +#define _key_value_map_unref0(var) ((var == NULL) ? NULL : (var = (key_value_map_unref (var), NULL))) + +#define TYPE_PIXEL_TRANSFORMATION_TYPE (pixel_transformation_type_get_type ()) + +#define TYPE_PIXEL_TRANSFORMATION (pixel_transformation_get_type ()) +#define PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformation)) +#define PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) +#define IS_PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION)) +#define IS_PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION)) +#define PIXEL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) + +typedef struct _PixelTransformation PixelTransformation; +typedef struct _PixelTransformationClass PixelTransformationClass; +#define _pixel_transformation_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_unref (var), NULL))) + +#define PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL (photo_photo_transformation_state_impl_get_type ()) +#define PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImpl)) +#define PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImplClass)) +#define PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL)) +#define PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL)) +#define PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImplClass)) + +typedef struct _PhotoPhotoTransformationStateImpl PhotoPhotoTransformationStateImpl; +typedef struct _PhotoPhotoTransformationStateImplClass PhotoPhotoTransformationStateImplClass; + +#define EDITING_TOOLS_TYPE_REDEYE_INSTANCE (editing_tools_redeye_instance_get_type ()) +typedef struct _EditingToolsRedeyeInstance EditingToolsRedeyeInstance; +typedef struct _PhotoCachedPixbufPrivate PhotoCachedPixbufPrivate; +#define _photo_cached_pixbuf_unref0(var) ((var == NULL) ? NULL : (var = (photo_cached_pixbuf_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL))) +typedef struct _PhotoPhotoTransformationStateImplPrivate PhotoPhotoTransformationStateImplPrivate; +typedef struct _PhotoParamSpecBackingReaders PhotoParamSpecBackingReaders; +#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) +typedef struct _PhotoParamSpecCachedPixbuf PhotoParamSpecCachedPixbuf; +typedef struct _PhotoParamSpecReimportMasterState PhotoParamSpecReimportMasterState; +typedef struct _PhotoParamSpecReimportEditableState PhotoParamSpecReimportEditableState; +typedef struct _PhotoParamSpecReimportRawDevelopmentState PhotoParamSpecReimportRawDevelopmentState; +typedef struct _PhotoReimportRawDevelopmentStateImplParamSpecDevToReimport PhotoReimportRawDevelopmentStateImplParamSpecDevToReimport; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#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; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; + +#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; +typedef struct _MediaSourceCollectionPrivate MediaSourceCollectionPrivate; + +#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ()) +#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank)) +#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) +#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) + +typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank; +typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass; + +#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ()) +#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank)) +#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) +#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) + +typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank; +typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_MEDIA_MONITOR (media_monitor_get_type ()) +#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor)) +#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass)) +#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR)) +#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR)) +#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass)) + +typedef struct _MediaMonitor MediaMonitor; +typedef struct _MediaMonitorClass MediaMonitorClass; + +#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_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; +typedef struct _LibraryPhotoSourceCollectionPrivate LibraryPhotoSourceCollectionPrivate; + +#define LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE (library_photo_source_collection_state_get_type ()) +#define _transaction_controller_unref0(var) ((var == NULL) ? NULL : (var = (transaction_controller_unref (var), NULL))) +#define _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL))) + +#define TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (library_photo_source_holding_tank_get_type ()) +#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank)) +#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTankClass)) +#define IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK)) +#define IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK)) +#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTankClass)) + +typedef struct _LibraryPhotoSourceHoldingTank LibraryPhotoSourceHoldingTank; +typedef struct _LibraryPhotoSourceHoldingTankClass LibraryPhotoSourceHoldingTankClass; + +#define TYPE_PHOTO_MONITOR (photo_monitor_get_type ()) +#define PHOTO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_MONITOR, PhotoMonitor)) +#define PHOTO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_MONITOR, PhotoMonitorClass)) +#define IS_PHOTO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_MONITOR)) +#define IS_PHOTO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_MONITOR)) +#define PHOTO_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_MONITOR, PhotoMonitorClass)) + +typedef struct _PhotoMonitor PhotoMonitor; +typedef struct _PhotoMonitorClass PhotoMonitorClass; + +#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_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) + +#define TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER (media_source_transaction_controller_get_type ()) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionController)) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass)) +#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER)) +#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER)) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass)) + +typedef struct _MediaSourceTransactionController MediaSourceTransactionController; +typedef struct _MediaSourceTransactionControllerClass MediaSourceTransactionControllerClass; + +#define TYPE_FLAGGABLE (flaggable_get_type ()) +#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable)) +#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE)) +#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface)) + +typedef struct _Flaggable Flaggable; +typedef struct _FlaggableIface FlaggableIface; + +#define TYPE_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; +typedef struct _LibraryPhotoPrivate LibraryPhotoPrivate; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ()) + +#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_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_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; +typedef struct _SourceHoldingTankPrivate SourceHoldingTankPrivate; +typedef struct _DatabaseSourceHoldingTankPrivate DatabaseSourceHoldingTankPrivate; +typedef struct _MediaSourceHoldingTankPrivate MediaSourceHoldingTankPrivate; +typedef struct _LibraryPhotoSourceHoldingTankPrivate LibraryPhotoSourceHoldingTankPrivate; +#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); + +typedef enum { + BACKING_FETCH_MODE_SOURCE, + BACKING_FETCH_MODE_BASELINE, + BACKING_FETCH_MODE_MASTER, + BACKING_FETCH_MODE_UNMODIFIED +} BackingFetchMode; + +struct _ImportID { + gint64 id; +}; + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoImportParams { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoImportParamsPrivate * priv; + GFile* file; + GFile* final_associated_file; + ImportID import_id; + PhotoFileSnifferOptions sniffer_options; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* full_md5; + Thumbnails* thumbnails; + PhotoRow* row; + GeeCollection* keywords; +}; + +struct _PhotoImportParamsClass { + GTypeClass parent_class; + void (*finalize) (PhotoImportParams *self); +}; + +struct _ParamSpecPhotoImportParams { + GParamSpec parent_instance; +}; + +struct _PhotoTransformationState { + GObject parent_instance; + PhotoTransformationStatePrivate * priv; +}; + +struct _PhotoTransformationStateClass { + GObjectClass parent_class; + void (*broken) (PhotoTransformationState* self); +}; + +struct _PhotoTransformationStatePrivate { + gboolean is_broke; +}; + +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 _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +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 _ThumbnailSource { + DataSource parent_instance; + ThumbnailSourcePrivate * priv; +}; + +struct _ThumbnailSourceClass { + DataSourceClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailSource* self); + GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + gchar* (*get_representative_id) (ThumbnailSource* self); + PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self); + void (*thumbnail_altered) (ThumbnailSource* self); +}; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _EventID { + gint64 id; +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _MediaSource { + ThumbnailSource parent_instance; + MediaSourcePrivate * priv; +}; + +struct _MediaSourceClass { + ThumbnailSourceClass parent_class; + void (*notify_master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); + gboolean (*set_event_id) (MediaSource* self, EventID* id); + gchar* (*get_basename) (MediaSource* self); + GFile* (*get_file) (MediaSource* self); + GFile* (*get_master_file) (MediaSource* self); + guint64 (*get_master_filesize) (MediaSource* self); + guint64 (*get_filesize) (MediaSource* self); + time_t (*get_timestamp) (MediaSource* self); + BackingFileState** (*get_backing_files_state) (MediaSource* self, int* result_length1); + gchar* (*get_title) (MediaSource* self); + gchar* (*get_comment) (MediaSource* self); + void (*set_title) (MediaSource* self, const gchar* title); + gboolean (*set_comment) (MediaSource* self, const gchar* comment); + Rating (*get_rating) (MediaSource* self); + void (*set_rating) (MediaSource* self, Rating rating); + void (*increase_rating) (MediaSource* self); + void (*decrease_rating) (MediaSource* self); + void (*get_dimensions) (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); + GdkPixbuf* (*get_preview_pixbuf) (MediaSource* self, Scaling* scaling, GError** error); + gboolean (*is_trashed) (MediaSource* self); + void (*trash) (MediaSource* self); + void (*untrash) (MediaSource* self); + gboolean (*is_offline) (MediaSource* self); + void (*mark_offline) (MediaSource* self); + void (*mark_online) (MediaSource* self); + gchar* (*get_master_md5) (MediaSource* self); + void (*get_event_id) (MediaSource* self, EventID* result); + time_t (*get_exposure_time) (MediaSource* self); + void (*get_import_id) (MediaSource* self, ImportID* result); + void (*master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); +}; + +struct _PhotoSource { + MediaSource parent_instance; + PhotoSourcePrivate * priv; +}; + +struct _PhotoSourceClass { + MediaSourceClass parent_class; + PhotoMetadata* (*get_metadata) (PhotoSource* self); + GdkPixbuf* (*get_pixbuf) (PhotoSource* self, Scaling* scaling, GError** error); +}; + +struct _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + +typedef enum { + ROTATION_CLOCKWISE, + ROTATION_COUNTERCLOCKWISE, + ROTATION_MIRROR, + ROTATION_UPSIDE_DOWN +} Rotation; + +struct _Photo { + PhotoSource parent_instance; + PhotoPrivate * priv; + PhotoRow* row; + gboolean can_rotate_now; + BackingPhotoRow* backing_photo_row; +}; + +struct _PhotoClass { + PhotoSourceClass parent_class; + void (*notify_editable_replaced) (Photo* self, GFile* old_file, GFile* new_file); + void (*notify_raw_development_modified) (Photo* self); + void (*notify_baseline_replaced) (Photo* self); + void (*notify_master_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_editable_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_source_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_baseline_reimported) (Photo* self, PhotoMetadata* metadata); + void (*apply_user_metadata_for_reimport) (Photo* self, PhotoMetadata* metadata); + void (*rotate) (Photo* self, Rotation rotation); + gboolean (*has_user_generated_metadata) (Photo* self); + void (*set_user_metadata_for_export) (Photo* self, PhotoMetadata* metadata); + void (*editable_replaced) (Photo* self, GFile* old_file, GFile* new_file); + void (*raw_development_modified) (Photo* self); + void (*baseline_replaced) (Photo* self); + void (*master_reimported) (Photo* self, PhotoMetadata* metadata); + void (*editable_reimported) (Photo* self, PhotoMetadata* metadata); + void (*baseline_reimported) (Photo* self, PhotoMetadata* metadata); + void (*source_reimported) (Photo* self, PhotoMetadata* metadata); +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _PhotoPrivate { + time_t cached_exposure_time; + GRecMutex __lock_row; + BackingPhotoRow* editable; + PhotoBackingReaders* readers; + GRecMutex __lock_readers; + PixelTransformer* transformer; + PixelTransformationBundle* adjustments; + gchar* file_title; + GFileMonitor* editable_monitor; + OneShotScheduler* reimport_editable_scheduler; + OneShotScheduler* update_editable_attributes_scheduler; + OneShotScheduler* remove_editable_scheduler; + GeeHashMap* developments; + GRecMutex __lock_developments; +}; + +struct _PhotoID { + gint64 id; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _BackingPhotoID { + gint64 id; +}; + +struct _PhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoRowPrivate * priv; + PhotoID photo_id; + BackingPhotoRow* master; + time_t exposure_time; + ImportID import_id; + EventID event_id; + Orientation orientation; + GeeHashMap* transformations; + gchar* md5; + gchar* thumbnail_md5; + gchar* exif_md5; + time_t time_created; + guint64 flags; + Rating rating; + gchar* title; + gchar* comment; + gchar* backlinks; + time_t time_reimported; + BackingPhotoID editable_id; + gboolean metadata_dirty; + RawDeveloper developer; + BackingPhotoID* development_ids; + gint development_ids_length1; +}; + +struct _PhotoRowClass { + GTypeClass parent_class; + void (*finalize) (PhotoRow *self); +}; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + +struct _PhotoBackingReaders { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoBackingReadersPrivate * priv; + PhotoFileReader* master; + PhotoFileReader* developer; + PhotoFileReader* editable; +}; + +struct _PhotoBackingReadersClass { + GTypeClass parent_class; + void (*finalize) (PhotoBackingReaders *self); +}; + +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 _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + +typedef enum { + PHOTO_FORMAT_ERROR_READ_ONLY +} PhotoFormatError; +#define PHOTO_FORMAT_ERROR photo_format_error_quark () +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +struct _PhotoReimportMasterState { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoReimportMasterStatePrivate * priv; +}; + +struct _PhotoReimportMasterStateClass { + GTypeClass parent_class; + void (*finalize) (PhotoReimportMasterState *self); +}; + +struct _PhotoReimportMasterStateImpl { + PhotoReimportMasterState parent_instance; + PhotoReimportMasterStateImplPrivate * priv; + PhotoRow* row; + PhotoMetadata* metadata; + gchar** alterations; + gint alterations_length1; + gint _alterations_size_; + gboolean metadata_only; +}; + +struct _PhotoReimportMasterStateImplClass { + PhotoReimportMasterStateClass parent_class; +}; + +struct _PhotoReimportEditableState { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoReimportEditableStatePrivate * priv; +}; + +struct _PhotoReimportEditableStateClass { + GTypeClass parent_class; + void (*finalize) (PhotoReimportEditableState *self); +}; + +struct _PhotoReimportEditableStateImpl { + PhotoReimportEditableState parent_instance; + PhotoReimportEditableStateImplPrivate * priv; + BackingPhotoRow* backing_state; + PhotoMetadata* metadata; + gboolean metadata_only; +}; + +struct _PhotoReimportEditableStateImplClass { + PhotoReimportEditableStateClass parent_class; +}; + +struct _PhotoReimportRawDevelopmentState { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoReimportRawDevelopmentStatePrivate * priv; +}; + +struct _PhotoReimportRawDevelopmentStateClass { + GTypeClass parent_class; + void (*finalize) (PhotoReimportRawDevelopmentState *self); +}; + +struct _PhotoReimportRawDevelopmentStateImpl { + PhotoReimportRawDevelopmentState parent_instance; + PhotoReimportRawDevelopmentStateImplPrivate * priv; + GeeCollection* list; + gboolean metadata_only; +}; + +struct _PhotoReimportRawDevelopmentStateImplClass { + PhotoReimportRawDevelopmentStateClass parent_class; +}; + +struct _PhotoReimportRawDevelopmentStateImplDevToReimport { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoReimportRawDevelopmentStateImplDevToReimportPrivate * priv; + BackingPhotoRow* backing; + PhotoMetadata* metadata; +}; + +struct _PhotoReimportRawDevelopmentStateImplDevToReimportClass { + GTypeClass parent_class; + void (*finalize) (PhotoReimportRawDevelopmentStateImplDevToReimport *self); +}; + +typedef enum { + PHOTO_METADATA_SET_OPTION_ALL_DOMAINS, + PHOTO_METADATA_SET_OPTION_ONLY_IF_DOMAIN_PRESENT, + PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN +} PhotoMetadataSetOption; + +struct _Box { + gint left; + gint top; + gint right; + gint bottom; +}; + +typedef enum { + PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION, + PIXEL_TRANSFORMATION_TYPE_SHADOWS, + PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS, + PIXEL_TRANSFORMATION_TYPE_TEMPERATURE, + PIXEL_TRANSFORMATION_TYPE_TINT, + PIXEL_TRANSFORMATION_TYPE_SATURATION, + PIXEL_TRANSFORMATION_TYPE_EXPOSURE +} PixelTransformationType; + +struct _EditingToolsRedeyeInstance { + GdkPoint center; + gint radius; +}; + +struct _PhotoCachedPixbuf { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoCachedPixbufPrivate * priv; + Photo* photo; + GdkPixbuf* pixbuf; + GTimer* last_touched; +}; + +struct _PhotoCachedPixbufClass { + GTypeClass parent_class; + void (*finalize) (PhotoCachedPixbuf *self); +}; + +typedef void (*OneShotCallback) (void* user_data); +struct _PhotoPhotoTransformationStateImpl { + PhotoTransformationState parent_instance; + PhotoPhotoTransformationStateImplPrivate * priv; +}; + +struct _PhotoPhotoTransformationStateImplClass { + PhotoTransformationStateClass parent_class; +}; + +struct _PhotoPhotoTransformationStateImplPrivate { + Photo* photo; + Orientation orientation; + GeeHashMap* transformations; + PixelTransformer* transformer; + PixelTransformationBundle* adjustments; +}; + +struct _PhotoParamSpecBackingReaders { + GParamSpec parent_instance; +}; + +struct _PhotoParamSpecCachedPixbuf { + GParamSpec parent_instance; +}; + +struct _PhotoParamSpecReimportMasterState { + GParamSpec parent_instance; +}; + +struct _PhotoParamSpecReimportEditableState { + GParamSpec parent_instance; +}; + +struct _PhotoParamSpecReimportRawDevelopmentState { + GParamSpec parent_instance; +}; + +struct _PhotoReimportRawDevelopmentStateImplParamSpecDevToReimport { + GParamSpec parent_instance; +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _MediaSourceCollection { + DatabaseSourceCollection parent_instance; + MediaSourceCollectionPrivate * priv; +}; + +struct _MediaSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; + MediaSourceHoldingTank* (*create_trashcan) (MediaSourceCollection* self); + MediaSourceHoldingTank* (*create_offline_bin) (MediaSourceCollection* self); + MediaMonitor* (*create_media_monitor) (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable); + gchar* (*get_typename) (MediaSourceCollection* self); + gboolean (*is_file_recognized) (MediaSourceCollection* self, GFile* file); + MediaSource* (*fetch_by_numeric_id) (MediaSourceCollection* self, gint64 numeric_id); + void (*notify_import_roll_altered) (MediaSourceCollection* self); + void (*notify_flagged_contents_altered) (MediaSourceCollection* self); + void (*notify_media_import_starting) (MediaSourceCollection* self, GeeCollection* media); + void (*notify_media_import_completed) (MediaSourceCollection* self, GeeCollection* media); + MediaSource* (*fetch_by_source_id) (MediaSourceCollection* self, const gchar* source_id); + GeeCollection* (*get_event_source_ids) (MediaSourceCollection* self, EventID* event_id); + void (*import_many) (MediaSourceCollection* self, GeeCollection* media); + void (*postprocess_imported_media) (MediaSourceCollection* self, GeeCollection* media); + void (*media_import_starting) (MediaSourceCollection* self, GeeCollection* media); + void (*media_import_completed) (MediaSourceCollection* self, GeeCollection* media); + void (*master_file_replaced) (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file); + void (*trashcan_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); + void (*import_roll_altered) (MediaSourceCollection* self); + void (*offline_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); + void (*flagged_contents_altered) (MediaSourceCollection* self); + TransactionController* (*get_transaction_controller) (MediaSourceCollection* self); +}; + +struct _LibraryPhotoSourceCollection { + MediaSourceCollection parent_instance; + LibraryPhotoSourceCollectionPrivate * priv; +}; + +struct _LibraryPhotoSourceCollectionClass { + MediaSourceCollectionClass parent_class; + void (*notify_master_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*notify_editable_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*notify_source_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*notify_baseline_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*master_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*editable_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*baseline_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); + void (*source_reimported) (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +}; + +struct _LibraryPhotoSourceCollectionPrivate { + TransactionController* _transaction_controller; + GeeHashMap* by_editable_file; + GeeHashMap* by_raw_development_file; + GeeMultiMap* filesize_to_photo; + GeeHashMap* photo_to_master_filesize; + GeeHashMap* photo_to_editable_filesize; + GeeMultiMap* photo_to_raw_development_filesize; +}; + +typedef enum { + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER +} LibraryPhotoSourceCollectionState; + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); +typedef gboolean (*SourceHoldingTankCheckToKeep) (DataSource* source, Alteration* alteration, void* user_data); +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +struct _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _LibraryPhoto { + Photo parent_instance; + LibraryPhotoPrivate * priv; +}; + +struct _LibraryPhotoClass { + PhotoClass parent_class; +}; + +struct _LibraryPhotoPrivate { + gboolean block_thumbnail_generation; + OneShotScheduler* thumbnail_scheduler; + GeeCollection* import_keywords; +}; + +typedef enum { + THUMBNAIL_CACHE_SIZE_LARGEST = 360, + THUMBNAIL_CACHE_SIZE_BIG = 360, + THUMBNAIL_CACHE_SIZE_MEDIUM = 128, + THUMBNAIL_CACHE_SIZE_SMALLEST = 128 +} ThumbnailCacheSize; + +struct _SourceHoldingTank { + GTypeInstance parent_instance; + volatile int ref_count; + SourceHoldingTankPrivate * priv; +}; + +struct _SourceHoldingTankClass { + GTypeClass parent_class; + void (*finalize) (SourceHoldingTank *self); + void (*notify_contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); + void (*contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +}; + +struct _DatabaseSourceHoldingTank { + SourceHoldingTank parent_instance; + DatabaseSourceHoldingTankPrivate * priv; +}; + +struct _DatabaseSourceHoldingTankClass { + SourceHoldingTankClass parent_class; +}; + +struct _MediaSourceHoldingTank { + DatabaseSourceHoldingTank parent_instance; + MediaSourceHoldingTankPrivate * priv; +}; + +struct _MediaSourceHoldingTankClass { + DatabaseSourceHoldingTankClass parent_class; +}; + +struct _LibraryPhotoSourceHoldingTank { + MediaSourceHoldingTank parent_instance; + LibraryPhotoSourceHoldingTankPrivate * priv; +}; + +struct _LibraryPhotoSourceHoldingTankClass { + MediaSourceHoldingTankClass parent_class; +}; + +struct _LibraryPhotoSourceHoldingTankPrivate { + GeeHashMap* editable_file_map; + GeeHashMap* development_file_map; + GeeMultiMap* reverse_editable_file_map; + GeeMultiMap* reverse_development_file_map; +}; + + +static gpointer photo_import_params_parent_class = NULL; +static gpointer photo_transformation_state_parent_class = NULL; +static gpointer photo_parent_class = NULL; +static GeeLinkedList* photo_source_pixbuf_cache; +static GRecMutex __lock_photo_source_pixbuf_cache = {0}; +static GeeLinkedList* photo_source_pixbuf_cache = NULL; +static guint photo_discard_source_id; +static guint photo_discard_source_id = (guint) 0; +static gboolean photo__develop_raw_photos_to_files; +static gboolean photo__develop_raw_photos_to_files = FALSE; +static gpointer photo_photo_transformation_state_impl_parent_class = NULL; +static gpointer photo_backing_readers_parent_class = NULL; +static gpointer photo_cached_pixbuf_parent_class = NULL; +static gpointer photo_reimport_master_state_parent_class = NULL; +static gpointer photo_reimport_master_state_impl_parent_class = NULL; +static gpointer photo_reimport_editable_state_parent_class = NULL; +static gpointer photo_reimport_editable_state_impl_parent_class = NULL; +static gpointer photo_reimport_raw_development_state_parent_class = NULL; +static gpointer photo_reimport_raw_development_state_impl_parent_class = NULL; +static gpointer photo_reimport_raw_development_state_impl_dev_to_reimport_parent_class = NULL; +static DateableIface* photo_dateable_parent_iface = NULL; +static gpointer library_photo_source_collection_parent_class = NULL; +static gpointer library_photo_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +LibraryPhotoSourceCollection* library_photo_global = NULL; +extern TagSourceCollection* tag_global; +static FlaggableIface* library_photo_flaggable_parent_iface = NULL; +static MonitorableIface* library_photo_monitorable_parent_iface = NULL; +static gpointer library_photo_source_holding_tank_parent_class = NULL; + +GType backing_fetch_mode_get_type (void) G_GNUC_CONST; +gpointer photo_import_params_ref (gpointer instance); +void photo_import_params_unref (gpointer instance); +GParamSpec* param_spec_photo_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_import_params (GValue* value, gpointer v_object); +void value_take_photo_import_params (GValue* value, gpointer v_object); +gpointer value_get_photo_import_params (const GValue* value); +GType photo_import_params_get_type (void) G_GNUC_CONST; +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer thumbnails_ref (gpointer instance); +void thumbnails_unref (gpointer instance); +GParamSpec* param_spec_thumbnails (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_thumbnails (GValue* value, gpointer v_object); +void value_take_thumbnails (GValue* value, gpointer v_object); +gpointer value_get_thumbnails (const GValue* value); +GType thumbnails_get_type (void) G_GNUC_CONST; +gpointer photo_row_ref (gpointer instance); +void photo_row_unref (gpointer instance); +GParamSpec* param_spec_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_row (GValue* value, gpointer v_object); +void value_take_photo_row (GValue* value, gpointer v_object); +gpointer value_get_photo_row (const GValue* value); +GType photo_row_get_type (void) G_GNUC_CONST; +enum { + PHOTO_IMPORT_PARAMS_DUMMY_PROPERTY +}; +PhotoRow* photo_row_new (void); +PhotoRow* photo_row_construct (GType object_type); +PhotoImportParams* photo_import_params_new (GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails); +PhotoImportParams* photo_import_params_construct (GType object_type, GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails); +PhotoImportParams* photo_import_params_new_create_placeholder (GFile* file, ImportID* import_id); +PhotoImportParams* photo_import_params_construct_create_placeholder (GType object_type, GFile* file, ImportID* import_id); +static void photo_import_params_finalize (PhotoImportParams* obj); +GType photo_transformation_state_get_type (void) G_GNUC_CONST; +#define PHOTO_TRANSFORMATION_STATE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationStatePrivate)) +enum { + PHOTO_TRANSFORMATION_STATE_DUMMY_PROPERTY +}; +PhotoTransformationState* photo_transformation_state_construct (GType object_type); +gboolean photo_transformation_state_is_broken (PhotoTransformationState* self); +static void photo_transformation_state_real_broken (PhotoTransformationState* self); +static void photo_transformation_state_finalize (GObject* obj); +GType rating_get_type (void) G_GNUC_CONST; +gboolean rating_can_increase (Rating self); +gboolean rating_can_decrease (Rating self); +gboolean rating_is_valid (Rating self); +Rating rating_increase (Rating self); +Rating rating_decrease (Rating self); +gint rating_serialize (Rating self); +Rating rating_unserialize (gint value); +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_source_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +gpointer backing_file_state_ref (gpointer instance); +void backing_file_state_unref (gpointer instance); +GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_file_state (GValue* value, gpointer v_object); +void value_take_backing_file_state (GValue* value, gpointer v_object); +gpointer value_get_backing_file_state (const GValue* value); +GType backing_file_state_get_type (void) G_GNUC_CONST; +GType photo_exception_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +GType photo_source_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType dateable_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType rotation_get_type (void) G_GNUC_CONST; +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +static gpointer photo_backing_readers_ref (gpointer instance); +static void photo_backing_readers_unref (gpointer instance); +static GParamSpec* photo_param_spec_backing_readers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void photo_value_set_backing_readers (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void photo_value_take_backing_readers (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer photo_value_get_backing_readers (const GValue* value) G_GNUC_UNUSED; +static GType photo_backing_readers_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gpointer pixel_transformer_ref (gpointer instance); +void pixel_transformer_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformer (GValue* value, gpointer v_object); +void value_take_pixel_transformer (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformer (const GValue* value); +GType pixel_transformer_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_bundle_ref (gpointer instance); +void pixel_transformation_bundle_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object); +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation_bundle (const GValue* value); +GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +#define PHOTO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO, PhotoPrivate)) +enum { + PHOTO_DUMMY_PROPERTY +}; +gboolean photo_exception_prohibits (PhotoException self, PhotoException exception); +gboolean photo_exception_allows (PhotoException self, PhotoException exception); +static gpointer photo_cached_pixbuf_ref (gpointer instance); +static void photo_cached_pixbuf_unref (gpointer instance); +static GParamSpec* photo_param_spec_cached_pixbuf (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void photo_value_set_cached_pixbuf (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void photo_value_take_cached_pixbuf (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer photo_value_get_cached_pixbuf (const GValue* value) G_GNUC_UNUSED; +static GType photo_cached_pixbuf_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +BackingPhotoRow* backing_photo_row_new (void); +BackingPhotoRow* backing_photo_row_construct (GType object_type); +static PhotoBackingReaders* photo_backing_readers_new (void); +static PhotoBackingReaders* photo_backing_readers_construct (GType object_type); +#define PHOTO_TYPENAME "thumb" +#define PHOTO_SCALING_FUDGE 64 +#define PHOTO_SOURCE_PIXBUF_TIME_TO_LIVE_SEC 10 +#define PHOTO_SOURCE_PIXBUF_MIN_LRU_COUNT 1 +#define PHOTO_SOURCE_PIXBUF_MAX_LRU_COUNT 3 +#define PHOTO_MIN_EMBEDDED_SIZE 1024 +Photo* photo_construct (GType object_type, PhotoRow* row); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +PhotoSource* photo_source_construct (GType object_type, gint64 object_id); +gchar* media_source_prep_title (const gchar* title); +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +GType orientation_get_type (void) G_GNUC_CONST; +gpointer key_value_map_ref (gpointer instance); +void key_value_map_unref (gpointer instance); +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_key_value_map (GValue* value, gpointer v_object); +void value_take_key_value_map (GValue* value, gpointer v_object); +gpointer value_get_key_value_map (const GValue* value); +GType key_value_map_get_type (void) G_GNUC_CONST; +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +gchar* media_source_prep_comment (const gchar* comment); +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath); +gchar* string_sliced_at_last_char (const gchar* haystack, gunichar ch, gint start_index); +gchar* string_sliced_at (const gchar* str, gint index); +gboolean is_string_empty (const gchar* s); +#define BACKING_PHOTO_ID_INVALID ((gint64) -1) +static BackingPhotoRow* photo_get_backing_row (Photo* self, BackingPhotoID* id); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType photo_table_get_type (void) G_GNUC_CONST; +PhotoTable* photo_table_get_instance (void); +GQuark database_error_quark (void); +void photo_table_detach_editable (PhotoTable* self, PhotoRow* row, GError** error); +static void photo_internal_remove_all_transformations (Photo* self, gboolean notify); +RawDeveloper* raw_developer_as_array (int* result_length1); +void photo_init_photo (void); +void photo_terminate_photo (void); +void photo_notify_editable_replaced (Photo* self, GFile* old_file, GFile* new_file); +static void photo_real_notify_editable_replaced (Photo* self, GFile* old_file, GFile* new_file); +void photo_notify_raw_development_modified (Photo* self); +static void photo_real_notify_raw_development_modified (Photo* self); +void photo_notify_baseline_replaced (Photo* self); +static void photo_real_notify_baseline_replaced (Photo* self); +void photo_notify_master_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_notify_master_reimported (Photo* self, PhotoMetadata* metadata); +void photo_notify_editable_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_notify_editable_reimported (Photo* self, PhotoMetadata* metadata); +void photo_notify_source_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_notify_source_reimported (Photo* self, PhotoMetadata* metadata); +void photo_notify_baseline_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_notify_baseline_reimported (Photo* self, PhotoMetadata* metadata); +static gboolean photo_real_internal_delete_backing (DataSource* base, GError** error); +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); +static void photo_detach_editable (Photo* self, gboolean delete_editable, gboolean remove_transformations, gboolean notify); +PhotoFileFormat photo_get_master_file_format (Photo* self); +static gboolean photo_delete_raw_development (Photo* self, RawDeveloper d); +gchar* data_object_to_string (DataObject* self); +gboolean data_source_internal_delete_backing (DataSource* self, GError** error); +GType backing_photo_table_get_type (void) G_GNUC_CONST; +BackingPhotoTable* backing_photo_table_get_instance (void); +BackingPhotoRow* backing_photo_table_fetch (BackingPhotoTable* self, BackingPhotoID* id, GError** error); +void backing_photo_table_remove (BackingPhotoTable* self, BackingPhotoID* backing_id, GError** error); +gboolean photo_is_raw_developer_complete (Photo* self, RawDeveloper d); +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +PhotoMetadata* photo_get_master_metadata (Photo* self, GError** error); +guint photo_metadata_get_preview_count (PhotoMetadata* self); +gpointer photo_preview_ref (gpointer instance); +void photo_preview_unref (gpointer instance); +GParamSpec* param_spec_photo_preview (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_preview (GValue* value, gpointer v_object); +void value_take_photo_preview (GValue* value, gpointer v_object); +gpointer value_get_photo_preview (const GValue* value); +GType photo_preview_get_type (void) G_GNUC_CONST; +PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self, guint number); +void photo_preview_get_pixel_dimensions (PhotoPreview* self, Dimensions* result); +void photo_add_backing_photo_for_development (Photo* self, RawDeveloper d, BackingPhotoRow* bpr, GError** error); +void photo_import_developed_backing_photo (PhotoRow* row, RawDeveloper d, BackingPhotoRow* bpr, GError** error); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" +#define DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES UTIL_FILE_ATTRIBUTES +gpointer photo_file_interrogator_ref (gpointer instance); +void photo_file_interrogator_unref (gpointer instance); +GParamSpec* param_spec_photo_file_interrogator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_interrogator (GValue* value, gpointer v_object); +void value_take_photo_file_interrogator (GValue* value, gpointer v_object); +gpointer value_get_photo_file_interrogator (const GValue* value); +GType photo_file_interrogator_get_type (void) G_GNUC_CONST; +PhotoFileInterrogator* photo_file_interrogator_new (GFile* file, PhotoFileSnifferOptions options); +PhotoFileInterrogator* photo_file_interrogator_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +void photo_file_interrogator_interrogate (PhotoFileInterrogator* self, GError** error); +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +DetectedPhotoInformation* photo_file_interrogator_get_detected_photo_information (PhotoFileInterrogator* self); +gboolean photo_file_interrogator_get_is_photo_corrupted (PhotoFileInterrogator* self); +Orientation photo_metadata_get_orientation (PhotoMetadata* self); +void backing_photo_table_add (BackingPhotoTable* self, BackingPhotoRow* state, GError** error); +void photo_table_update_raw_development (PhotoTable* self, PhotoRow* row, RawDeveloper rd, BackingPhotoID* backing_photo_id, GError** error); +static void photo_develop_photo (Photo* self, RawDeveloper d); +BackingPhotoRow* raw_developer_create_backing_row_for_development (RawDeveloper self, const gchar* raw_filepath, const gchar* camera_development_filename, GError** error); +GdkPixbuf* photo_get_master_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error); +void scaling_for_original (Scaling* result); +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GQuark photo_format_error_quark (void); +PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +GType jpeg_quality_get_type (void) G_GNUC_CONST; +void photo_file_writer_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +PhotoFileMetadataWriter* photo_file_format_create_metadata_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +void photo_file_metadata_writer_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); +GdkPixbuf* photo_preview_get_pixbuf (PhotoPreview* self, GError** error); +void photo_set_default_raw_developer (Photo* self, RawDeveloper d); +void photo_set_raw_developer (Photo* self, RawDeveloper d); +GdkPixbuf* photo_get_prefetched_copy (Photo* self, GError** error); +void photo_revert_to_master (Photo* self, gboolean notify); +gboolean photo_set_orientation (Photo* self, Orientation orientation); +void photo_discard_prefetched (Photo* self); +RawDeveloper photo_get_raw_developer (Photo* self); +gchar* raw_developer_to_string (RawDeveloper self); +void photo_table_remove_development (PhotoTable* self, PhotoRow* row, RawDeveloper rd, GError** error); +void photo_redevelop_raw (Photo* self, RawDeveloper d); +static BackingFileState** photo_real_get_backing_files_state (MediaSource* base, int* result_length1); +BackingFileState* backing_file_state_new_from_photo_row (BackingPhotoRow* photo_row, const gchar* md5); +BackingFileState* backing_file_state_construct_from_photo_row (GType object_type, BackingPhotoRow* photo_row, const gchar* md5); +static void _vala_array_add251 (BackingFileState*** array, int* length, int* size, BackingFileState* value); +gboolean photo_has_editable (Photo* self); +static void _vala_array_add252 (BackingFileState*** array, int* length, int* size, BackingFileState* value); +gboolean photo_is_developed (Photo* self); +GeeCollection* photo_get_raw_development_photo_rows (Photo* self); +static void _vala_array_add253 (BackingFileState*** array, int* length, int* size, BackingFileState* value); +static PhotoFileReader* photo_get_backing_reader (Photo* self, BackingFetchMode mode); +static PhotoFileReader* photo_get_master_reader (Photo* self); +static PhotoFileReader* photo_get_baseline_reader (Photo* self); +static PhotoFileReader* photo_get_source_reader (Photo* self); +static PhotoFileReader* photo_get_raw_developer_reader (Photo* self); +const gchar* backing_fetch_mode_to_string (BackingFetchMode self); +PhotoFileReader* photo_get_editable_reader (Photo* self); +gboolean photo_does_master_exist (Photo* self); +gboolean photo_file_adapter_file_exists (PhotoFileAdapter* self); +gboolean photo_does_editable_exist (Photo* self); +gboolean photo_is_master_baseline (Photo* self); +gboolean photo_is_master_source (Photo* self); +gboolean photo_is_editable_baseline (Photo* self); +gboolean photo_is_editable_source (Photo* self); +BackingPhotoRow* photo_get_master_photo_row (Photo* self); +BackingPhotoRow* photo_get_editable_photo_row (Photo* self); +gboolean backing_photo_id_is_valid (BackingPhotoID *self); +BackingPhotoRow* photo_get_raw_development_photo_row (Photo* self, RawDeveloper d); +PhotoFileFormat* photo_get_editable_file_format (Photo* self); +PhotoFileFormat photo_file_adapter_get_file_format (PhotoFileAdapter* self); +static PhotoFileFormat* _photo_file_format_dup (PhotoFileFormat* self); +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params); +PhotoFileFormat photo_file_format_get_system_default_format (void); +PhotoFileFormat photo_get_best_export_file_format (Photo* self); +gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params); +GFile* media_source_get_master_file (MediaSource* self); +gchar* photo_get_export_basename (Photo* self, PhotoFileFormat* file_format); +GType import_result_get_type (void) G_GNUC_CONST; +ImportResult photo_prepare_for_import (PhotoImportParams* params); +gboolean photo_is_file_image (GFile* file); +gboolean photo_file_format_is_file_supported (GFile* file); +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +gchar* media_metadata_get_title (MediaMetadata* self); +gchar* media_metadata_get_comment (MediaMetadata* self); +GeeSet* photo_metadata_get_keywords (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +Rating photo_metadata_get_rating (PhotoMetadata* self); +#define PHOTO_ID_INVALID ((gint64) -1) +void photo_id_init (PhotoID *self, gint64 id); +#define EVENT_ID_INVALID ((gint64) -1) +void event_id_init (EventID *self, gint64 id); +void thumbnail_cache_generate_for_photo (Thumbnails* thumbnails, PhotoFileReader* reader, Orientation orientation, Dimensions* original_dim, GError** error); +ImportResult import_result_convert_error (GError* err, ImportResult default_result); +void photo_create_pre_import (PhotoImportParams* params); +void dimensions_init (Dimensions *self, gint width, gint height); +BackingPhotoRow* photo_query_backing_photo_row (Photo* self, GFile* file, PhotoFileSnifferOptions options, DetectedPhotoInformation** detected, GError** error); +gpointer photo_reimport_master_state_ref (gpointer instance); +void photo_reimport_master_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_master_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_master_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_master_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_master_state (const GValue* value); +GType photo_reimport_master_state_get_type (void) G_GNUC_CONST; +gboolean photo_prepare_for_reimport_master (Photo* self, PhotoReimportMasterState** reimport_state, GError** error); +static void _vala_array_add254 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add255 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add256 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add257 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add258 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add259 (gchar*** array, int* length, int* size, gchar* value); +static PhotoReimportMasterStateImpl* photo_reimport_master_state_impl_new (PhotoRow* row, PhotoMetadata* metadata, gchar** alterations, int alterations_length1); +static PhotoReimportMasterStateImpl* photo_reimport_master_state_impl_construct (GType object_type, PhotoRow* row, PhotoMetadata* metadata, gchar** alterations, int alterations_length1); +static GType photo_reimport_master_state_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +void photo_apply_user_metadata_for_reimport (Photo* self, PhotoMetadata* metadata); +static void photo_real_apply_user_metadata_for_reimport (Photo* self, PhotoMetadata* metadata); +void photo_finish_reimport_master (Photo* self, PhotoReimportMasterState* state, GError** error); +void photo_table_reimport (PhotoTable* self, PhotoRow* row, GError** error); +void backing_photo_row_copy_from (BackingPhotoRow* self, BackingPhotoRow* from); +static void _vala_array_add260 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add261 (gchar*** array, int* length, int* size, gchar* value); +Alteration* alteration_new_from_array (gchar** array, int array_length1); +Alteration* alteration_construct_from_array (GType object_type, gchar** array, int array_length1); +static gboolean photo_verify_file_for_reimport (Photo* self, GFile* file, BackingPhotoRow** backing, DetectedPhotoInformation** detected, GError** error); +gpointer photo_reimport_editable_state_ref (gpointer instance); +void photo_reimport_editable_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_editable_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_editable_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_editable_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_editable_state (const GValue* value); +GType photo_reimport_editable_state_get_type (void) G_GNUC_CONST; +gboolean photo_prepare_for_reimport_editable (Photo* self, PhotoReimportEditableState** state, GError** error); +GFile* photo_get_editable_file (Photo* self); +static PhotoReimportEditableStateImpl* photo_reimport_editable_state_impl_new (BackingPhotoRow* backing_state, PhotoMetadata* metadata); +static PhotoReimportEditableStateImpl* photo_reimport_editable_state_impl_construct (GType object_type, BackingPhotoRow* backing_state, PhotoMetadata* metadata); +static GType photo_reimport_editable_state_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +void photo_finish_reimport_editable (Photo* self, PhotoReimportEditableState* state, GError** error); +void photo_get_editable_id (Photo* self, BackingPhotoID* result); +gboolean backing_photo_id_is_invalid (BackingPhotoID *self); +void backing_photo_table_update (BackingPhotoTable* self, BackingPhotoRow* row, GError** error); +void media_source_set_title (MediaSource* self, const gchar* title); +gboolean media_source_set_comment (MediaSource* self, const gchar* comment); +void media_source_set_rating (MediaSource* self, Rating rating); +Alteration* alteration_new_from_list (const gchar* list); +Alteration* alteration_construct_from_list (GType object_type, const gchar* list); +gpointer photo_reimport_raw_development_state_ref (gpointer instance); +void photo_reimport_raw_development_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_raw_development_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_raw_development_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_raw_development_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_raw_development_state (const GValue* value); +GType photo_reimport_raw_development_state_get_type (void) G_GNUC_CONST; +gboolean photo_prepare_for_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState** state, GError** error); +GeeCollection* photo_get_raw_developer_files (Photo* self); +static GType photo_reimport_raw_development_state_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static PhotoReimportRawDevelopmentStateImpl* photo_reimport_raw_development_state_impl_new (void); +static PhotoReimportRawDevelopmentStateImpl* photo_reimport_raw_development_state_impl_construct (GType object_type); +static void photo_reimport_raw_development_state_impl_add (PhotoReimportRawDevelopmentStateImpl* self, BackingPhotoRow* backing, PhotoMetadata* metadata); +static gint photo_reimport_raw_development_state_impl_get_size (PhotoReimportRawDevelopmentStateImpl* self); +void photo_finish_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState* state, GError** error); +static gpointer photo_reimport_raw_development_state_impl_dev_to_reimport_ref (gpointer instance); +static void photo_reimport_raw_development_state_impl_dev_to_reimport_unref (gpointer instance); +static GParamSpec* photo_reimport_raw_development_state_impl_param_spec_dev_to_reimport (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void photo_reimport_raw_development_state_impl_value_set_dev_to_reimport (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void photo_reimport_raw_development_state_impl_value_take_dev_to_reimport (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer photo_reimport_raw_development_state_impl_value_get_dev_to_reimport (const GValue* value) G_GNUC_UNUSED; +GType photo_reimport_raw_development_state_impl_dev_to_reimport_get_type (void) G_GNUC_CONST; +static gchar* photo_real_get_typename (DataSource* base); +static gint64 photo_real_get_instance_id (DataSource* base); +void photo_get_photo_id (Photo* self, PhotoID* result); +static gchar* photo_real_get_source_id (DataSource* base); +gchar* data_source_get_typename (DataSource* self); +gint64 data_source_get_instance_id (DataSource* self); +void photo_set_master_timestamp (Photo* self, GFileInfo* info); +void photo_table_update_timestamp (PhotoTable* self, PhotoID* photo_id, time_t timestamp, GError** error); +void app_window_database_error (GError* err); +void photo_update_editable_modification_time (Photo* self, GFileInfo* info, GError** error); +void backing_photo_table_update_timestamp (BackingPhotoTable* self, BackingPhotoID* id, time_t timestamp, GError** error); +void photo_update_many_editable_timestamps (GeeMap* map, GError** error); +void database_table_begin_transaction (void); +void database_table_commit_transaction (GError** error); +static PhotoFileFormat photo_real_get_preferred_thumbnail_format (ThumbnailSource* base); +PhotoFileFormat photo_get_file_format (Photo* self); +gboolean photo_file_format_can_write_image (PhotoFileFormat self); +static GdkPixbuf* photo_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +void scaling_for_best_fit (gint pixels, gboolean scale_up, Scaling* result); +static gboolean photo_is_extension_found (const gchar* basename, gchar** extensions, int extensions_length1); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +gboolean photo_is_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format); +gboolean photo_table_has_duplicate (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format); +PhotoID* photo_get_duplicate_ids (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, int* result_length1); +PhotoID* photo_table_get_duplicate_ids (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format, int* result_length1); +gint64 photo_get_photo_key (DataSource* source); +GType library_photo_get_type (void) G_GNUC_CONST; +static GFile* photo_real_get_file (MediaSource* base); +void photo_set_master_file (Photo* self, GFile* file); +void photo_table_set_filepath (PhotoTable* self, PhotoID* photo_id, const gchar* filepath, GError** error); +void media_source_notify_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file); +static void _vala_array_add262 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add263 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add264 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add265 (gchar*** array, int* length, int* size, gchar* value); +void photo_set_editable_file (Photo* self, GFile* file); +void backing_photo_table_set_filepath (BackingPhotoTable* self, BackingPhotoID* id, const gchar* filepath, GError** error); +static void _vala_array_add266 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add267 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add268 (gchar*** array, int* length, int* size, gchar* value); +void photo_set_many_editable_file (GeeMap* map, GError** error); +GFile* photo_get_actual_file (Photo* self); +static GFile* photo_real_get_master_file (MediaSource* base); +GFile* photo_get_source_file (Photo* self); +gboolean photo_file_format_can_write (PhotoFileFormat self); +static time_t photo_real_get_timestamp (MediaSource* base); +static inline void photo_real_get_event_id (MediaSource* base, EventID* result); +gint64 photo_get_raw_event_id (Photo* self); +static void photo_real_get_import_id (MediaSource* base, ImportID* result); +static gchar* photo_real_get_master_md5 (MediaSource* base); +guint64 photo_get_flags (Photo* self); +static void photo_notify_flags_altered (Photo* self, Alteration* additional_alteration); +Alteration* alteration_compress (Alteration* self, Alteration* other); +guint64 photo_replace_flags (Photo* self, guint64 flags, Alteration* additional_alteration); +gboolean photo_table_replace_flags (PhotoTable* self, PhotoID* photo_id, guint64 flags); +gboolean photo_is_flag_set (Photo* self, guint64 mask); +gboolean media_source_internal_is_flag_set (guint64 flags, guint64 selector); +guint64 photo_add_flags (Photo* self, guint64 mask, Alteration* additional_alteration); +guint64 media_source_internal_add_flags (guint64 flags, guint64 selector); +guint64 photo_remove_flags (Photo* self, guint64 mask, Alteration* additional_alteration); +guint64 media_source_internal_remove_flags (guint64 flags, guint64 selector); +guint64 photo_add_remove_flags (Photo* self, guint64 add, guint64 remove, Alteration* additional_alteration); +void photo_add_remove_many_flags (GeeCollection* add, guint64 add_mask, Alteration* additional_add_alteration, GeeCollection* remove, guint64 remove_mask, Alteration* additional_remove_alteration, GError** error); +guint64 photo_toggle_flags (Photo* self, guint64 mask, Alteration* additional_alteration); +gboolean photo_is_master_metadata_dirty (Photo* self); +void photo_set_master_metadata_dirty (Photo* self, gboolean dirty, GError** error); +void photo_table_set_metadata_dirty (PhotoTable* self, PhotoID* photo_id, gboolean dirty, GError** error); +static Rating photo_real_get_rating (MediaSource* base); +static void photo_real_set_rating (MediaSource* base, Rating rating); +gboolean photo_table_set_rating (PhotoTable* self, PhotoID* photo_id, Rating rating); +static void photo_real_increase_rating (MediaSource* base); +static void photo_real_decrease_rating (MediaSource* base); +static void photo_real_commit_backlinks (DataSource* base, SourceCollection* sources, const gchar* backlinks); +void photo_table_update_backlinks (PhotoTable* self, PhotoID* photo_id, const gchar* backlinks, GError** error); +static gboolean photo_real_set_event_id (MediaSource* base, EventID* event_id); +gboolean photo_table_set_event (PhotoTable* self, PhotoID* photo_id, EventID* event_id); +static gchar* photo_real_to_string (DataObject* base); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +static gboolean photo_real_equals (DataSource* base, DataSource* source); +gboolean data_source_equals (DataSource* self, DataSource* source); +static void photo_file_exif_updated (Photo* self); +GFile* media_source_get_file (MediaSource* self); +gboolean photo_table_master_exif_updated (PhotoTable* self, PhotoID* photoID, gint64 filesize, glong timestamp, const gchar* md5, const gchar* exif_md5, const gchar* thumbnail_md5, PhotoRow* row); +static guint64 photo_real_get_filesize (MediaSource* base); +static guint64 photo_real_get_master_filesize (MediaSource* base); +guint64 photo_get_editable_filesize (Photo* self); +static time_t photo_real_get_exposure_time (Dateable* base); +static gchar* photo_real_get_basename (MediaSource* base); +static gchar* photo_real_get_title (MediaSource* base); +static gchar* photo_real_get_comment (MediaSource* base); +static void photo_real_set_title (MediaSource* base, const gchar* title); +gboolean photo_table_set_title (PhotoTable* self, PhotoID* photo_id, const gchar* new_title); +static gboolean photo_real_set_comment (MediaSource* base, const gchar* comment); +gboolean photo_table_set_comment (PhotoTable* self, PhotoID* photo_id, const gchar* new_comment); +void photo_set_import_id (Photo* self, ImportID* import_id); +void photo_table_set_import_id (PhotoTable* self, PhotoID* photo_id, ImportID* import_id, GError** error); +void photo_set_title_persistent (Photo* self, const gchar* title, GError** error); +gboolean photo_file_format_can_write_metadata (PhotoFileFormat self); +PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error); +GType photo_metadata_set_option_get_type (void) G_GNUC_CONST; +void photo_metadata_set_title (PhotoMetadata* self, const gchar* title, PhotoMetadataSetOption option); +PhotoFileMetadataWriter* photo_file_reader_create_metadata_writer (PhotoFileReader* self, GError** error); +void library_monitor_blacklist_file (GFile* file, const gchar* reason); +void library_monitor_unblacklist_file (GFile* file); +void photo_set_comment_persistent (Photo* self, const gchar* comment, GError** error); +void photo_metadata_set_comment (PhotoMetadata* self, const gchar* comment); +static void photo_real_set_exposure_time (Dateable* base, time_t time); +gboolean photo_table_set_exposure_time (PhotoTable* self, PhotoID* photo_id, time_t time); +void photo_set_exposure_time_persistent (Photo* self, time_t time, GError** error); +void dateable_set_exposure_time (Dateable* self, time_t target_time); +void photo_metadata_set_exposure_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option); +MetadataDateTime* metadata_date_time_new (time_t timestamp); +MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp); +static void photo_real_get_dimensions (MediaSource* base, PhotoException disallowed_steps, Dimensions* result); +void photo_get_raw_dimensions (Photo* self, Dimensions* result); +Orientation photo_get_orientation (Photo* self); +gboolean photo_get_straighten (Photo* self, gdouble* theta); +void compute_arb_rotated_size (gdouble src_width, gdouble src_height, gdouble angle, gdouble* dest_width, gdouble* dest_height); +GType box_get_type (void) G_GNUC_CONST; +Box* box_dup (const Box* self); +void box_free (Box* self); +gboolean photo_get_crop (Photo* self, Box* crop, PhotoException exceptions); +void box_get_dimensions (Box *self, Dimensions* result); +static void photo_locked_create_adjustments_from_data (Photo* self); +PixelTransformationBundle* pixel_transformation_bundle_new (void); +PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type); +static KeyValueMap* photo_get_transformation (Photo* self, const gchar* name); +void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self); +void pixel_transformation_bundle_load (PixelTransformationBundle* self, KeyValueMap* store); +PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self); +PixelTransformationBundle* photo_get_color_adjustments (Photo* self); +PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self); +PixelTransformer* photo_get_pixel_transformer (Photo* self); +PixelTransformer* pixel_transformer_copy (PixelTransformer* self); +gboolean photo_has_color_adjustments (Photo* self); +static gboolean photo_has_transformation (Photo* self, const gchar* name); +GType pixel_transformation_type_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_ref (gpointer instance); +void pixel_transformation_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation (GValue* value, gpointer v_object); +void value_take_pixel_transformation (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation (const GValue* value); +GType pixel_transformation_get_type (void) G_GNUC_CONST; +PixelTransformation* photo_get_color_adjustment (Photo* self, PixelTransformationType type); +PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type); +void photo_set_color_adjustments (Photo* self, PixelTransformationBundle* new_adjustments); +gboolean pixel_transformation_bundle_is_identity (PixelTransformationBundle* self); +static gboolean photo_remove_transformation (Photo* self, const gchar* name); +KeyValueMap* pixel_transformation_bundle_save (PixelTransformationBundle* self, const gchar* group); +GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self); +void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans); +PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self); +static gboolean photo_set_transformation (Photo* self, KeyValueMap* trans); +static PhotoMetadata* photo_real_get_metadata (PhotoSource* base); +PhotoMetadata* photo_get_editable_metadata (Photo* self, GError** error); +gboolean photo_persist_master_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportMasterState** state, GError** error); +void photo_finish_update_master_metadata (Photo* self, PhotoReimportMasterState* state, GError** error); +gboolean photo_persist_editable_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportEditableState** state, GError** error); +void photo_finish_update_editable_metadata (Photo* self, PhotoReimportEditableState* state, GError** error); +gboolean photo_has_transformations (Photo* self); +gboolean photo_only_metadata_changed (Photo* self); +PhotoMetadata* photo_source_get_metadata (PhotoSource* self); +gboolean photo_has_alterations (Photo* self); +gchar* media_source_get_comment (MediaSource* self); +gchar* media_source_get_title (MediaSource* self); +PhotoTransformationState* photo_save_transformation_state (Photo* self); +static PhotoPhotoTransformationStateImpl* photo_photo_transformation_state_impl_new (Photo* photo, Orientation orientation, GeeHashMap* transformations, PixelTransformer* transformer, PixelTransformationBundle* adjustments); +static PhotoPhotoTransformationStateImpl* photo_photo_transformation_state_impl_construct (GType object_type, Photo* photo, Orientation orientation, GeeHashMap* transformations, PixelTransformer* transformer, PixelTransformationBundle* adjustments); +static GType photo_photo_transformation_state_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gboolean photo_load_transformation_state (Photo* self, PhotoTransformationState* state); +static Orientation photo_photo_transformation_state_impl_get_orientation (PhotoPhotoTransformationStateImpl* self); +static GeeHashMap* photo_photo_transformation_state_impl_get_transformations (PhotoPhotoTransformationStateImpl* self); +static PixelTransformer* photo_photo_transformation_state_impl_get_transformer (PhotoPhotoTransformationStateImpl* self); +static PixelTransformationBundle* photo_photo_transformation_state_impl_get_color_adjustments (PhotoPhotoTransformationStateImpl* self); +gboolean photo_table_set_transformation_state (PhotoTable* self, PhotoID* photo_id, Orientation orientation, GeeHashMap* transformations); +void photo_remove_all_transformations (Photo* self); +gboolean photo_table_remove_all_transformations (PhotoTable* self, PhotoID* photo_id); +gboolean photo_table_set_orientation (PhotoTable* self, PhotoID* photo_id, Orientation orientation); +Orientation photo_get_original_orientation (Photo* self); +gboolean photo_check_can_rotate (Photo* self); +void photo_rotate (Photo* self, Rotation rotation); +static void photo_real_rotate (Photo* self, Rotation rotation); +Orientation orientation_perform (Orientation self, Rotation rotation); +KeyValueMap* key_value_map_copy (KeyValueMap* self); +gchar* key_value_map_get_group (KeyValueMap* self); +gboolean photo_table_set_transformation (PhotoTable* self, PhotoID* photo_id, KeyValueMap* map); +gboolean photo_table_remove_transformation (PhotoTable* self, PhotoID* photo_id, const gchar* object); +gboolean photo_has_crop (Photo* self); +gboolean photo_get_raw_crop (Photo* self, Box* crop); +void box_init (Box *self, gint left, gint top, gint right, gint bottom); +gint key_value_map_get_int (KeyValueMap* self, const gchar* key, gint def); +static void photo_set_raw_crop (Photo* self, Box* crop); +KeyValueMap* key_value_map_new (const gchar* group); +KeyValueMap* key_value_map_construct (GType object_type, const gchar* group); +void key_value_map_set_int (KeyValueMap* self, const gchar* key, gint value); +static gboolean photo_get_raw_straighten (Photo* self, gdouble* angle); +gdouble key_value_map_get_double (KeyValueMap* self, const gchar* key, gdouble def); +static void photo_set_raw_straighten (Photo* self, gdouble theta); +void key_value_map_set_double (KeyValueMap* self, const gchar* key, gdouble value); +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); +static EditingToolsRedeyeInstance* photo_get_raw_redeye_instances (Photo* self, int* result_length1); +void key_value_map_get_point (KeyValueMap* self, const gchar* key, GdkPoint* def, GdkPoint* result); +gboolean photo_has_redeye_transformations (Photo* self); +void photo_add_redeye_instance (Photo* self, EditingToolsRedeyeInstance* redeye); +void key_value_map_set_point (KeyValueMap* self, const gchar* key, GdkPoint* point); +static gboolean photo_calculate_pixbuf_dimensions (Photo* self, Scaling* scaling, PhotoException exceptions, Dimensions* scaled_image, Dimensions* scaled_to_viewport); +static gboolean photo_locked_calculate_pixbuf_dimensions (Photo* self, Scaling* scaling, PhotoException exceptions, Dimensions* scaled_image, Dimensions* scaled_to_viewport); +gboolean scaling_is_unscaled (Scaling *self); +void orientation_rotate_box (Orientation self, Dimensions* space, Box* box, Box* result); +void orientation_rotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result); +void box_get_scaled (Box *self, Dimensions* scaled, Box* result); +void scaling_get_scaled_dimensions (Scaling *self, Dimensions* original, Dimensions* result); +gint box_get_width (Box *self); +gint box_get_height (Box *self); +void dimensions_get_scaled_similar (Dimensions *self, Dimensions* original, Dimensions* scaled, Dimensions* result); +void orientation_derotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result); +gboolean dimensions_has_area (Dimensions *self); +static GdkPixbuf* photo_load_raw_pixbuf (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error); +GdkPixbuf* photo_file_reader_unscaled_read (PhotoFileReader* self, GError** error); +GdkPixbuf* photo_file_reader_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +gboolean dimensions_approx_equals (Dimensions *self, Dimensions* dim, gint fudge); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +static GdkPixbuf* photo_get_untransformed_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, BackingFetchMode fetch_mode, GError** error); +GdkPixbuf* photo_get_unmodified_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error); +GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf); +static GdkPixbuf* photo_real_get_pixbuf (PhotoSource* base, Scaling* scaling, GError** error); +GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error); +static GdkPixbuf* photo_run_source_pixbuf_cache (Photo* locate, gboolean keep, GError** error); +static PhotoCachedPixbuf* photo_cached_pixbuf_new (Photo* photo, GdkPixbuf* pixbuf); +static PhotoCachedPixbuf* photo_cached_pixbuf_construct (GType object_type, Photo* photo, GdkPixbuf* pixbuf); +static gboolean photo_trim_source_pixbuf_cache (void); +static gboolean _photo_trim_source_pixbuf_cache_gsource_func (gpointer self); +gboolean photo_get_develop_raw_photos_to_files (void); +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +gboolean dimensions_equals (Dimensions *self, Dimensions* dim); +static GdkPixbuf* photo_do_redeye (Photo* self, GdkPixbuf* pixbuf, EditingToolsRedeyeInstance* inst); +GdkPixbuf* rotate_arb (GdkPixbuf* source_pixbuf, gdouble angle); +void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable); +gboolean photo_has_user_generated_metadata (Photo* self); +static gboolean photo_real_has_user_generated_metadata (Photo* self); +void photo_set_user_metadata_for_export (Photo* self, PhotoMetadata* metadata); +static void photo_real_set_user_metadata_for_export (Photo* self, PhotoMetadata* metadata); +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self); +GFile* photo_file_format_properties_convert_file_extension (PhotoFileFormatProperties* self, GFile* file); +static gboolean photo_export_fullsized_backing (Photo* self, GFile* file, gboolean export_metadata, GError** error); +PhotoMetadata* photo_file_format_create_metadata (PhotoFileFormat self); +time_t media_source_get_exposure_time (MediaSource* self); +void photo_metadata_set_pixel_dimensions (PhotoMetadata* self, Dimensions* dim, PhotoMetadataSetOption option); +void photo_metadata_set_orientation (PhotoMetadata* self, Orientation orientation); +void photo_metadata_set_software (PhotoMetadata* self, const gchar* software, const gchar* version); +#define RESOURCES_APP_TITLE "Shotwell" +#define RESOURCES_APP_VERSION _VERSION +void photo_metadata_remove_exif_thumbnail (PhotoMetadata* self); +void photo_metadata_clear (PhotoMetadata* self); +gboolean photo_is_export_required (Photo* self, Scaling* scaling, PhotoFileFormat export_format); +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +const gchar* photo_file_format_to_string (PhotoFileFormat self); +void photo_metadata_remove_tag (PhotoMetadata* self, const gchar* tag); +static GFile* photo_generate_new_editable_file (Photo* self, PhotoFileFormat* file_format, GError** error); +gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext); +gchar* photo_file_format_properties_get_default_extension (PhotoFileFormatProperties* self); +GFile* generate_unique_file (GFile* dir, const gchar* basename, gboolean* collision, GError** error); +static gboolean photo_launch_editor (GFile* file, PhotoFileFormat file_format, GError** error); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self); +gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self); +static void _g_object_unref0_ (gpointer var); +static void _g_list_free__g_object_unref0_ (GList* self); +void photo_open_with_raw_external_editor (Photo* self, GError** error); +void photo_open_with_external_editor (Photo* self, GError** error); +static void photo_halt_monitoring_editable (Photo* self); +static void photo_attach_editable (Photo* self, PhotoFileFormat file_format, GFile* file, GError** error); +static void photo_start_monitoring_editable (Photo* self, GFile* file, GError** error); +static void photo_on_editable_file_changed (Photo* self, GFile* file, GFile* other_file, GFileMonitorEvent event); +static void _photo_on_editable_file_changed_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self); +static void photo_update_editable (Photo* self, gboolean only_attributes, PhotoFileReader* new_reader, GError** error); +static void photo_update_editable_attributes (Photo* self, GError** error); +void photo_reimport_editable (Photo* self, GError** error); +void photo_table_attach_editable (PhotoTable* self, PhotoRow* row, BackingPhotoID* editable_id, GError** error); +void backing_photo_table_update_attributes (BackingPhotoTable* self, BackingPhotoID* id, time_t timestamp, gint64 filesize, GError** error); +static void _vala_array_add269 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add270 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add271 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add272 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add273 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add274 (gchar*** array, int* length, int* size, gchar* value); +void backing_photo_id_init (BackingPhotoID *self, gint64 id); +const gchar* g_file_monitor_event_to_string (GFileMonitorEvent self); +static void photo_on_reimport_editable (Photo* self); +static void _photo_on_reimport_editable_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule); +static void photo_on_update_editable_attributes (Photo* self); +static void _photo_on_update_editable_attributes_one_shot_callback (gpointer self); +static void photo_on_remove_editable (Photo* self); +static void _photo_on_remove_editable_one_shot_callback (gpointer self); +void photo_get_original_dimensions (Photo* self, Dimensions* result); +void photo_get_master_dimensions (Photo* self, Dimensions* result); +void photo_set_crop (Photo* self, Box* crop); +void orientation_derotate_box (Orientation self, Dimensions* space, Box* box, Box* result); +void photo_set_straighten (Photo* self, gdouble theta); +static GdkPixbuf* photo_red_reduce_pixel (Photo* self, GdkPixbuf* pixbuf, gint x, gint y); +void photo_unscaled_to_raw_point (Photo* self, GdkPoint* unscaled_point, GdkPoint* result); +void orientation_derotate_point (Orientation self, Dimensions* space, GdkPoint* point, GdkPoint* result); +void photo_unscaled_to_raw_rect (Photo* self, GdkRectangle* unscaled_rect, GdkRectangle* result); +PixelTransformationBundle* photo_get_enhance_transformations (Photo* self); +PixelTransformationBundle* auto_enhance_create_auto_enhance_adjustments (GdkPixbuf* pixbuf); +gboolean photo_enhance (Photo* self); +void photo_set_develop_raw_photos_to_files (gboolean value); +static void photo_real_editable_replaced (Photo* self, GFile* old_file, GFile* new_file); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void photo_real_raw_development_modified (Photo* self); +static void photo_real_baseline_replaced (Photo* self); +static void photo_real_master_reimported (Photo* self, PhotoMetadata* metadata); +static void g_cclosure_user_marshal_VOID__MEDIA_METADATA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void photo_real_editable_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_baseline_reimported (Photo* self, PhotoMetadata* metadata); +static void photo_real_source_reimported (Photo* self, PhotoMetadata* metadata); +#define PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImplPrivate)) +enum { + PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_DUMMY_PROPERTY +}; +static void photo_photo_transformation_state_impl_on_photo_baseline_replaced (PhotoPhotoTransformationStateImpl* self); +static void _photo_photo_transformation_state_impl_on_photo_baseline_replaced_photo_baseline_replaced (Photo* _sender, gpointer self); +static GeeHashMap* photo_photo_transformation_state_impl_copy_transformations (GeeHashMap* original); +static void photo_photo_transformation_state_impl_finalize (GObject* obj); +enum { + PHOTO_BACKING_READERS_DUMMY_PROPERTY +}; +static void photo_backing_readers_finalize (PhotoBackingReaders* obj); +enum { + PHOTO_CACHED_PIXBUF_DUMMY_PROPERTY +}; +static void photo_cached_pixbuf_finalize (PhotoCachedPixbuf* obj); +enum { + PHOTO_REIMPORT_MASTER_STATE_DUMMY_PROPERTY +}; +PhotoReimportMasterState* photo_reimport_master_state_construct (GType object_type); +static void photo_reimport_master_state_finalize (PhotoReimportMasterState* obj); +enum { + PHOTO_REIMPORT_MASTER_STATE_IMPL_DUMMY_PROPERTY +}; +static gchar** _vala_array_dup29 (gchar** self, int length); +static void photo_reimport_master_state_impl_finalize (PhotoReimportMasterState* obj); +enum { + PHOTO_REIMPORT_EDITABLE_STATE_DUMMY_PROPERTY +}; +PhotoReimportEditableState* photo_reimport_editable_state_construct (GType object_type); +static void photo_reimport_editable_state_finalize (PhotoReimportEditableState* obj); +enum { + PHOTO_REIMPORT_EDITABLE_STATE_IMPL_DUMMY_PROPERTY +}; +static void photo_reimport_editable_state_impl_finalize (PhotoReimportEditableState* obj); +enum { + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_DUMMY_PROPERTY +}; +PhotoReimportRawDevelopmentState* photo_reimport_raw_development_state_construct (GType object_type); +static void photo_reimport_raw_development_state_finalize (PhotoReimportRawDevelopmentState* obj); +enum { + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DUMMY_PROPERTY +}; +static PhotoReimportRawDevelopmentStateImplDevToReimport* photo_reimport_raw_development_state_impl_dev_to_reimport_new (BackingPhotoRow* backing, PhotoMetadata* metadata); +static PhotoReimportRawDevelopmentStateImplDevToReimport* photo_reimport_raw_development_state_impl_dev_to_reimport_construct (GType object_type, BackingPhotoRow* backing, PhotoMetadata* metadata); +enum { + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT_DUMMY_PROPERTY +}; +static void photo_reimport_raw_development_state_impl_dev_to_reimport_finalize (PhotoReimportRawDevelopmentStateImplDevToReimport* obj); +static void photo_reimport_raw_development_state_impl_finalize (PhotoReimportRawDevelopmentState* obj); +static void photo_finalize (GObject* obj); +static void _vala_photo_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_photo_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType marker_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType database_source_holding_tank_get_type (void) G_GNUC_CONST; +GType media_source_holding_tank_get_type (void) G_GNUC_CONST; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +GType media_monitor_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; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionPrivate)) +enum { + LIBRARY_PHOTO_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +GType library_photo_source_collection_state_get_type (void) G_GNUC_CONST; +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +gint int64_compare (gint64* a, gint64* b); +static gint _int64_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +static gint64* _int64_dup (gint64* self); +gboolean int64_equal (gint64* a, gint64* b); +static gboolean _int64_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +LibraryPhotoSourceCollection* library_photo_source_collection_new (void); +LibraryPhotoSourceCollection* library_photo_source_collection_construct (GType object_type); +static gint64 _photo_get_photo_key_get_source_database_key (DataSource* source, gpointer self); +MediaSourceCollection* media_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +MediaSourceHoldingTank* media_source_collection_get_trashcan (MediaSourceCollection* self); +static void library_photo_source_collection_on_trashcan_contents_altered (LibraryPhotoSourceCollection* self, GeeCollection* added, GeeCollection* removed); +static void _library_photo_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self); +static void library_photo_source_collection_on_offline_contents_altered (LibraryPhotoSourceCollection* self, GeeCollection* added, GeeCollection* removed); +static void _library_photo_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +static MediaSourceHoldingTank* library_photo_source_collection_real_create_trashcan (MediaSourceCollection* base); +static gboolean library_photo_source_collection_check_if_trashed_photo (LibraryPhotoSourceCollection* self, DataSource* source, Alteration* alteration); +static gboolean _library_photo_source_collection_check_if_trashed_photo_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self); +LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_new (LibraryPhotoSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_construct (GType object_type, LibraryPhotoSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +GType library_photo_source_holding_tank_get_type (void) G_GNUC_CONST; +static MediaSourceHoldingTank* library_photo_source_collection_real_create_offline_bin (MediaSourceCollection* base); +static gboolean library_photo_source_collection_check_if_offline_photo (LibraryPhotoSourceCollection* self, DataSource* source, Alteration* alteration); +static gboolean _library_photo_source_collection_check_if_offline_photo_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self); +static MediaMonitor* library_photo_source_collection_real_create_media_monitor (MediaSourceCollection* base, Workers* workers, GCancellable* cancellable); +PhotoMonitor* photo_monitor_new (Workers* workers, GCancellable* cancellable); +PhotoMonitor* photo_monitor_construct (GType object_type, Workers* workers, GCancellable* cancellable); +GType photo_monitor_get_type (void) G_GNUC_CONST; +static gboolean library_photo_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source); +static gchar* library_photo_source_collection_real_get_typename (MediaSourceCollection* base); +static gboolean library_photo_source_collection_real_is_file_recognized (MediaSourceCollection* base, GFile* file); +static void library_photo_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed); +static void library_photo_source_collection_on_editable_replaced (LibraryPhotoSourceCollection* self, Photo* photo, GFile* old_file, GFile* new_file); +static void _library_photo_source_collection_on_editable_replaced_photo_editable_replaced (Photo* _sender, GFile* old_file, GFile* new_file, gpointer self); +static void library_photo_source_collection_on_raw_development_modified (LibraryPhotoSourceCollection* self, Photo* _photo); +static void _library_photo_source_collection_on_raw_development_modified_photo_raw_development_modified (Photo* _sender, gpointer self); +void data_collection_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed); +static void library_photo_source_collection_real_items_altered (DataCollection* base, GeeMap* items); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +static void library_photo_source_collection_real_postprocess_imported_media (MediaSourceCollection* base, GeeCollection* media_sources); +GType tag_get_type (void) G_GNUC_CONST; +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void); +gboolean photo_metadata_has_hierarchical_keywords (PhotoMetadata* self); +HierarchicalTagIndex* hierarchical_tag_utilities_process_hierarchical_import_keywords (GeeCollection* h_keywords); +GeeSet* photo_metadata_get_hierarchical_keywords (PhotoMetadata* self); +GeeCollection* library_photo_get_import_keywords (LibraryPhoto* self); +gboolean hierarchical_tag_index_is_tag_in_index (HierarchicalTagIndex* self, const gchar* tag); +gchar* tag_prep_tag_name (const gchar* name); +gchar* hierarchical_tag_index_get_path_for_name (HierarchicalTagIndex* self, const gchar* name); +Tag* tag_for_path (const gchar* name); +GeeCollection* hierarchical_tag_index_get_all_paths (HierarchicalTagIndex* self); +void library_photo_clear_import_keywords (LibraryPhoto* self); +void tag_attach_many (Tag* self, GeeCollection* sources); +void media_source_collection_postprocess_imported_media (MediaSourceCollection* self, GeeCollection* media); +void library_photo_source_collection_notify_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_notify_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +void library_photo_source_collection_notify_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_notify_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +void library_photo_source_collection_notify_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_notify_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +void library_photo_source_collection_notify_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_notify_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static MediaSource* library_photo_source_collection_real_fetch_by_numeric_id (MediaSourceCollection* base, gint64 numeric_id); +LibraryPhoto* library_photo_source_collection_fetch (LibraryPhotoSourceCollection* self, PhotoID* photo_id); +gboolean media_source_is_trashed (MediaSource* self); +gboolean media_source_is_offline (MediaSource* self); +static MediaSource* library_photo_source_collection_real_fetch_by_source_id (MediaSourceCollection* base, const gchar* source_id); +MediaSource* media_source_collection_fetch_by_numeric_id (MediaSourceCollection* self, gint64 numeric_id); +gint64 parse_int64 (const gchar* str, gint num_base); +static GeeCollection* library_photo_source_collection_real_get_event_source_ids (MediaSourceCollection* base, EventID* event_id); +GeeArrayList* photo_table_get_event_source_ids (PhotoTable* self, EventID* event_id); +DataSource* database_source_collection_fetch_by_key (DatabaseSourceCollection* self, gint64 key); +LibraryPhoto* library_photo_source_collection_fetch_by_editable_file (LibraryPhotoSourceCollection* self, GFile* file); +LibraryPhoto* library_photo_source_collection_fetch_by_raw_development_file (LibraryPhotoSourceCollection* self, GFile* file); +static void library_photo_source_collection_compare_backing (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matches_development); +gboolean backing_photo_row_matches_file_info (BackingPhotoRow* self, GFileInfo* info); +void library_photo_source_collection_fetch_by_matching_backing (LibraryPhotoSourceCollection* self, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matched_development); +GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self); +void library_photo_source_collection_get_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize, PhotoID* result); +gint utf8_ci_compare (void* a, void* b); +gboolean library_photo_source_collection_has_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize); +gboolean photo_id_is_valid (PhotoID *self); +LibraryPhoto* library_photo_source_collection_get_trashed_by_file (LibraryPhotoSourceCollection* self, GFile* file); +MediaSource* media_source_holding_tank_fetch_by_master_file (MediaSourceHoldingTank* self, GFile* file); +LibraryPhoto* library_photo_source_holding_tank_fetch_by_backing_file (LibraryPhotoSourceHoldingTank* self, GFile* file); +LibraryPhoto* library_photo_source_collection_get_trashed_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5); +MediaSource* media_source_holding_tank_fetch_by_md5 (MediaSourceHoldingTank* self, const gchar* md5); +LibraryPhoto* library_photo_source_collection_get_offline_by_file (LibraryPhotoSourceCollection* self, GFile* file); +LibraryPhoto* library_photo_source_collection_get_offline_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5); +gint library_photo_source_collection_get_offline_count (LibraryPhotoSourceCollection* self); +gint source_holding_tank_get_count (SourceHoldingTank* self); +LibraryPhoto* library_photo_source_collection_get_state_by_file (LibraryPhotoSourceCollection* self, GFile* file, LibraryPhotoSourceCollectionState* state); +MediaSource* media_source_collection_fetch_by_master_file (MediaSourceCollection* self, GFile* file); +static gboolean library_photo_source_collection_real_has_backlink (SourceCollection* base, SourceBacklink* backlink); +gboolean source_collection_has_backlink (SourceCollection* self, SourceBacklink* backlink); +gboolean source_holding_tank_has_backlink (SourceHoldingTank* self, SourceBacklink* backlink); +static void library_photo_source_collection_real_remove_backlink (SourceCollection* base, SourceBacklink* backlink); +void source_holding_tank_remove_backlink (SourceHoldingTank* self, SourceBacklink* backlink); +void source_collection_remove_backlink (SourceCollection* self, SourceBacklink* backlink); +MediaSourceTransactionController* media_source_transaction_controller_new (MediaSourceCollection* sources); +MediaSourceTransactionController* media_source_transaction_controller_construct (GType object_type, MediaSourceCollection* sources); +GType media_source_transaction_controller_get_type (void) G_GNUC_CONST; +static void library_photo_source_collection_real_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void library_photo_source_collection_real_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_real_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void library_photo_source_collection_finalize (DataCollection* obj); +GType flaggable_get_type (void) G_GNUC_CONST; +GType monitorable_get_type (void) G_GNUC_CONST; +#define LIBRARY_PHOTO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_PHOTO, LibraryPhotoPrivate)) +enum { + LIBRARY_PHOTO_DUMMY_PROPERTY +}; +#define LIBRARY_PHOTO_FLAG_HIDDEN ((guint64) 0x0000000000000001) +#define LIBRARY_PHOTO_FLAG_FAVORITE ((guint64) 0x0000000000000002) +#define LIBRARY_PHOTO_FLAG_TRASH ((guint64) 0x0000000000000004) +#define LIBRARY_PHOTO_FLAG_OFFLINE ((guint64) 0x0000000000000008) +#define LIBRARY_PHOTO_FLAG_FLAGGED ((guint64) 0x0000000000000010) +static LibraryPhoto* library_photo_new (PhotoRow* row); +static LibraryPhoto* library_photo_construct (GType object_type, PhotoRow* row); +static void library_photo_generate_thumbnails (LibraryPhoto* self); +static void _library_photo_generate_thumbnails_one_shot_callback (gpointer self); +void data_source_rehydrate_backlinks (DataSource* self, SourceCollection* unlinked_from, const gchar* dehydrated); +static void library_photo_upgrade_rating_flags (LibraryPhoto* self, guint64 flags); +static LibraryPhoto* library_photo_new_from_import_params (PhotoImportParams* import_params); +static LibraryPhoto* library_photo_construct_from_import_params (GType object_type, PhotoImportParams* import_params); +void library_photo_init (ProgressMonitor monitor, void* monitor_target); +GeeArrayList* photo_table_get_all (PhotoTable* self); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +void media_source_collection_add_many_to_trash (MediaSourceCollection* self, GeeCollection* sources); +void media_source_collection_add_many_to_offline (MediaSourceCollection* self, GeeCollection* sources); +void library_photo_terminate (void); +ImportResult library_photo_import_create (PhotoImportParams* params, LibraryPhoto** photo); +void photo_table_add (PhotoTable* self, PhotoRow* photo_row, PhotoID* result); +gboolean photo_id_is_invalid (PhotoID *self); +void library_photo_import_failed (LibraryPhoto* photo); +void photo_table_remove (PhotoTable* self, PhotoID* photo_id, GError** error); +static void library_photo_real_notify_master_reimported (Photo* base, PhotoMetadata* metadata); +static void library_photo_real_notify_editable_reimported (Photo* base, PhotoMetadata* metadata); +static void library_photo_real_notify_source_reimported (Photo* base, PhotoMetadata* metadata); +static void library_photo_real_notify_baseline_reimported (Photo* base, PhotoMetadata* metadata); +void thumbnail_cache_import_from_source (ThumbnailSource* source, gboolean force, GError** error); +void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self); +static void library_photo_real_notify_altered (DataObject* base, Alteration* alteration); +gboolean alteration_has_subject (Alteration* self, const gchar* subject); +void one_shot_scheduler_at_priority_idle (OneShotScheduler* self, gint priority); +static GdkPixbuf* library_photo_real_get_preview_pixbuf (MediaSource* base, Scaling* scaling, GError** error); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +GType thumbnail_cache_size_get_type (void) G_GNUC_CONST; +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up); +static void library_photo_real_rotate (Photo* base, Rotation rotation); +void thumbnail_cache_rotate (ThumbnailSource* source, Rotation rotation, GError** error); +static GdkPixbuf* library_photo_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* thumbnail_cache_fetch (ThumbnailSource* source, gint scale, GError** error); +static void library_photo_duplicate_backing_photo (LibraryPhoto* self, BackingPhotoRow* backing, BackingPhotoID* result, GError** error); +GFile* library_files_duplicate (GFile* src, GFileProgressCallback progress_callback, void* progress_callback_target, gboolean blacklist, GError** error); +static void library_photo_on_duplicate_progress (LibraryPhoto* self, gint64 current, gint64 total); +static void _library_photo_on_duplicate_progress_gfile_progress_callback (gint64 current_num_bytes, gint64 total_num_bytes, gpointer self); +LibraryPhoto* library_photo_duplicate (LibraryPhoto* self, GError** error); +void photo_table_duplicate (PhotoTable* self, PhotoID* photo_id, const gchar* new_filename, BackingPhotoID* editable_id, BackingPhotoID* develop_shotwell, BackingPhotoID* develop_camera_id, BackingPhotoID* develop_embedded_id, PhotoID* result); +PhotoRow* photo_table_get_row (PhotoTable* self, PhotoID* photo_id); +void thumbnail_cache_duplicate (ThumbnailSource* src_source, ThumbnailSource* dest_source); +gboolean data_collection_add (DataCollection* self, DataObject* object); +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +Event* media_source_get_event (MediaSource* self); +void event_attach (Event* self, MediaSource* source); +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source); +void tag_attach (Tag* self, MediaSource* source); +void spin_event_loop (void); +static gboolean library_photo_real_is_trashed (MediaSource* base); +static void library_photo_real_trash (MediaSource* base); +static void library_photo_real_untrash (MediaSource* base); +static gboolean library_photo_real_is_offline (Monitorable* base); +static void library_photo_real_mark_offline (Monitorable* base); +static void library_photo_real_mark_online (Monitorable* base); +static gboolean library_photo_real_is_flagged (Flaggable* base); +static void library_photo_real_mark_flagged (Flaggable* base); +static void library_photo_real_mark_unflagged (Flaggable* base); +static gboolean library_photo_real_internal_delete_backing (DataSource* base, GError** error); +gboolean media_source_delete_original_file (MediaSource* self); +static void library_photo_real_destroy (DataSource* base); +void thumbnail_cache_remove (ThumbnailSource* source); +void data_source_destroy (DataSource* self); +gboolean library_photo_has_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format); +void library_photo_get_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, PhotoID* result); +static gboolean library_photo_real_has_user_generated_metadata (Photo* base); +Rating media_source_get_rating (MediaSource* self); +gchar* data_object_get_name (DataObject* self); +static void library_photo_real_set_user_metadata_for_export (Photo* base, PhotoMetadata* metadata); +void photo_metadata_set_keywords (PhotoMetadata* self, GeeCollection* keywords, PhotoMetadataSetOption option); +void photo_metadata_set_rating (PhotoMetadata* self, Rating rating); +static void library_photo_real_apply_user_metadata_for_reimport (Photo* base, PhotoMetadata* metadata); +gchar* hierarchical_tag_utilities_make_flat_tag_safe (const gchar* in_tag); +gchar* hierarchical_tag_utilities_flat_to_hierarchical (const gchar* name); +gboolean tag_source_collection_exists (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root); +static void library_photo_finalize (GObject* obj); +#define LIBRARY_PHOTO_SOURCE_HOLDING_TANK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTankPrivate)) +enum { + LIBRARY_PHOTO_SOURCE_HOLDING_TANK_DUMMY_PROPERTY +}; +MediaSourceHoldingTank* media_source_holding_tank_new (MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +MediaSourceHoldingTank* media_source_holding_tank_construct (GType object_type, MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +static void library_photo_source_holding_tank_real_notify_contents_altered (SourceHoldingTank* base, GeeCollection* added, GeeCollection* removed); +static void library_photo_source_holding_tank_on_editable_replaced (LibraryPhotoSourceHoldingTank* self, Photo* _photo, GFile* old_file, GFile* new_file); +static void _library_photo_source_holding_tank_on_editable_replaced_photo_editable_replaced (Photo* _sender, GFile* old_file, GFile* new_file, gpointer self); +static void library_photo_source_holding_tank_on_raw_development_modified (LibraryPhotoSourceHoldingTank* self, Photo* _photo); +static void _library_photo_source_holding_tank_on_raw_development_modified_photo_raw_development_modified (Photo* _sender, gpointer self); +void source_holding_tank_notify_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +static void library_photo_source_holding_tank_finalize (SourceHoldingTank* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +static const gchar* PHOTO_IMAGE_EXTENSIONS[69] = {"jpg", "jpeg", "jpe", "tiff", "tif", "png", "gif", "bmp", "ppm", "pgm", "pbm", "pnm", "thm", "tga", "ilbm", "pcx", "ecw", "img", "sid", "cd5", "fits", "pgf", "cgm", "svg", "odg", "eps", "pdf", "swf", "wmf", "emf", "xps", "pns", "jps", "mpo", "3fr", "arw", "srf", "sr2", "bay", "crw", "cr2", "cap", "iiq", "eip", "dcs", "dcr", "drf", "k25", "kdc", "dng", "erf", "fff", "mef", "mos", "mrw", "nef", "nrw", "orf", "ptx", "pef", "pxn", "r3d", "raf", "raw", "rw2", "rwl", "rwz", "x3f", "srw"}; + +GType backing_fetch_mode_get_type (void) { + static volatile gsize backing_fetch_mode_type_id__volatile = 0; + if (g_once_init_enter (&backing_fetch_mode_type_id__volatile)) { + static const GEnumValue values[] = {{BACKING_FETCH_MODE_SOURCE, "BACKING_FETCH_MODE_SOURCE", "source"}, {BACKING_FETCH_MODE_BASELINE, "BACKING_FETCH_MODE_BASELINE", "baseline"}, {BACKING_FETCH_MODE_MASTER, "BACKING_FETCH_MODE_MASTER", "master"}, {BACKING_FETCH_MODE_UNMODIFIED, "BACKING_FETCH_MODE_UNMODIFIED", "unmodified"}, {0, NULL, NULL}}; + GType backing_fetch_mode_type_id; + backing_fetch_mode_type_id = g_enum_register_static ("BackingFetchMode", values); + g_once_init_leave (&backing_fetch_mode_type_id__volatile, backing_fetch_mode_type_id); + } + return backing_fetch_mode_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? g_object_ref (self) : NULL; +#line 2878 "Photo.c" +} + + +static gpointer _thumbnails_ref0 (gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? thumbnails_ref (self) : NULL; +#line 2885 "Photo.c" +} + + +PhotoImportParams* photo_import_params_construct (GType object_type, GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails) { + PhotoImportParams* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + ImportID _tmp4_ = {0}; + PhotoFileSnifferOptions _tmp5_ = 0; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + Thumbnails* _tmp12_ = NULL; + Thumbnails* _tmp13_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((final_associated_file == NULL) || G_IS_FILE (final_associated_file), NULL); +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (import_id != NULL, NULL); +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((thumbnails == NULL) || IS_THUMBNAILS (thumbnails), NULL); +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoImportParams*) g_type_create_instance (object_type); +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->file); +#line 41 "/home/jens/Source/shotwell/src/Photo.vala" + self->file = _tmp1_; +#line 42 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = final_associated_file; +#line 42 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 42 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->final_associated_file); +#line 42 "/home/jens/Source/shotwell/src/Photo.vala" + self->final_associated_file = _tmp3_; +#line 43 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = *import_id; +#line 43 "/home/jens/Source/shotwell/src/Photo.vala" + self->import_id = _tmp4_; +#line 44 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = sniffer_options; +#line 44 "/home/jens/Source/shotwell/src/Photo.vala" + self->sniffer_options = _tmp5_; +#line 45 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = exif_md5; +#line 45 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 45 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->exif_md5); +#line 45 "/home/jens/Source/shotwell/src/Photo.vala" + self->exif_md5 = _tmp7_; +#line 46 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = thumbnail_md5; +#line 46 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 46 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->thumbnail_md5); +#line 46 "/home/jens/Source/shotwell/src/Photo.vala" + self->thumbnail_md5 = _tmp9_; +#line 47 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = full_md5; +#line 47 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 47 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->full_md5); +#line 47 "/home/jens/Source/shotwell/src/Photo.vala" + self->full_md5 = _tmp11_; +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = thumbnails; +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _thumbnails_ref0 (_tmp12_); +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + _thumbnails_unref0 (self->thumbnails); +#line 48 "/home/jens/Source/shotwell/src/Photo.vala" + self->thumbnails = _tmp13_; +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 2973 "Photo.c" +} + + +PhotoImportParams* photo_import_params_new (GFile* file, GFile* final_associated_file, ImportID* import_id, PhotoFileSnifferOptions sniffer_options, const gchar* exif_md5, const gchar* thumbnail_md5, const gchar* full_md5, Thumbnails* thumbnails) { +#line 38 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_import_params_construct (TYPE_PHOTO_IMPORT_PARAMS, file, final_associated_file, import_id, sniffer_options, exif_md5, thumbnail_md5, full_md5, thumbnails); +#line 2980 "Photo.c" +} + + +PhotoImportParams* photo_import_params_construct_create_placeholder (GType object_type, GFile* file, ImportID* import_id) { + PhotoImportParams* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + ImportID _tmp2_ = {0}; +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (import_id != NULL, NULL); +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoImportParams*) g_type_create_instance (object_type); +#line 53 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 53 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 53 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->file); +#line 53 "/home/jens/Source/shotwell/src/Photo.vala" + self->file = _tmp1_; +#line 54 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *import_id; +#line 54 "/home/jens/Source/shotwell/src/Photo.vala" + self->import_id = _tmp2_; +#line 55 "/home/jens/Source/shotwell/src/Photo.vala" + self->sniffer_options = PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5; +#line 56 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->exif_md5); +#line 56 "/home/jens/Source/shotwell/src/Photo.vala" + self->exif_md5 = NULL; +#line 57 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->thumbnail_md5); +#line 57 "/home/jens/Source/shotwell/src/Photo.vala" + self->thumbnail_md5 = NULL; +#line 58 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->full_md5); +#line 58 "/home/jens/Source/shotwell/src/Photo.vala" + self->full_md5 = NULL; +#line 59 "/home/jens/Source/shotwell/src/Photo.vala" + _thumbnails_unref0 (self->thumbnails); +#line 59 "/home/jens/Source/shotwell/src/Photo.vala" + self->thumbnails = NULL; +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 3027 "Photo.c" +} + + +PhotoImportParams* photo_import_params_new_create_placeholder (GFile* file, ImportID* import_id) { +#line 52 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_import_params_construct_create_placeholder (TYPE_PHOTO_IMPORT_PARAMS, file, import_id); +#line 3034 "Photo.c" +} + + +static void value_photo_import_params_init (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 3041 "Photo.c" +} + + +static void value_photo_import_params_free_value (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_unref (value->data[0].v_pointer); +#line 3050 "Photo.c" + } +} + + +static void value_photo_import_params_copy_value (const GValue* src_value, GValue* dest_value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_import_params_ref (src_value->data[0].v_pointer); +#line 3060 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 3064 "Photo.c" + } +} + + +static gpointer value_photo_import_params_peek_pointer (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 3072 "Photo.c" +} + + +static gchar* value_photo_import_params_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 3079 "Photo.c" + PhotoImportParams* object; + object = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3086 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3090 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_import_params_ref (object); +#line 3094 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 3098 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 3102 "Photo.c" +} + + +static gchar* value_photo_import_params_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoImportParams** object_p; + object_p = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3113 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 3119 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 3123 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_import_params_ref (value->data[0].v_pointer); +#line 3127 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 3131 "Photo.c" +} + + +GParamSpec* param_spec_photo_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoImportParams* spec; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_IMPORT_PARAMS), NULL); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 3145 "Photo.c" +} + + +gpointer value_get_photo_import_params (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_IMPORT_PARAMS), NULL); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 3154 "Photo.c" +} + + +void value_set_photo_import_params (GValue* value, gpointer v_object) { + PhotoImportParams* old; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_IMPORT_PARAMS)); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_IMPORT_PARAMS)); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_ref (value->data[0].v_pointer); +#line 3174 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 3178 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_unref (old); +#line 3184 "Photo.c" + } +} + + +void value_take_photo_import_params (GValue* value, gpointer v_object) { + PhotoImportParams* old; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_IMPORT_PARAMS)); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_IMPORT_PARAMS)); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 3203 "Photo.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 3207 "Photo.c" + } +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_unref (old); +#line 3213 "Photo.c" + } +} + + +static void photo_import_params_class_init (PhotoImportParamsClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_params_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoImportParamsClass *) klass)->finalize = photo_import_params_finalize; +#line 3223 "Photo.c" +} + + +static void photo_import_params_instance_init (PhotoImportParams * self) { + PhotoRow* _tmp0_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/Photo.vala" + self->final_associated_file = NULL; +#line 35 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_row_new (); +#line 35 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp0_; +#line 36 "/home/jens/Source/shotwell/src/Photo.vala" + self->keywords = NULL; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 3239 "Photo.c" +} + + +static void photo_import_params_finalize (PhotoImportParams* obj) { + PhotoImportParams * self; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParams); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 23 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->file); +#line 24 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->final_associated_file); +#line 27 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->exif_md5); +#line 28 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->thumbnail_md5); +#line 29 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->full_md5); +#line 32 "/home/jens/Source/shotwell/src/Photo.vala" + _thumbnails_unref0 (self->thumbnails); +#line 35 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 36 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->keywords); +#line 3265 "Photo.c" +} + + +GType photo_import_params_get_type (void) { + static volatile gsize photo_import_params_type_id__volatile = 0; + if (g_once_init_enter (&photo_import_params_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_import_params_init, value_photo_import_params_free_value, value_photo_import_params_copy_value, value_photo_import_params_peek_pointer, "p", value_photo_import_params_collect_value, "p", value_photo_import_params_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoImportParamsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_import_params_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoImportParams), 0, (GInstanceInitFunc) photo_import_params_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_import_params_type_id; + photo_import_params_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoImportParams", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_import_params_type_id__volatile, photo_import_params_type_id); + } + return photo_import_params_type_id__volatile; +} + + +gpointer photo_import_params_ref (gpointer instance) { + PhotoImportParams* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 3290 "Photo.c" +} + + +void photo_import_params_unref (gpointer instance) { + PhotoImportParams* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_IMPORT_PARAMS_GET_CLASS (self)->finalize (self); +#line 21 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3303 "Photo.c" + } +} + + +PhotoTransformationState* photo_transformation_state_construct (GType object_type) { + PhotoTransformationState * self = NULL; +#line 72 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoTransformationState*) g_object_new (object_type, NULL); +#line 72 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 3314 "Photo.c" +} + + +gboolean photo_transformation_state_is_broken (PhotoTransformationState* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 75 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_TRANSFORMATION_STATE (self), FALSE); +#line 76 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->is_broke; +#line 76 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 76 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3329 "Photo.c" +} + + +static void photo_transformation_state_real_broken (PhotoTransformationState* self) { +#line 69 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->is_broke = TRUE; +#line 3336 "Photo.c" +} + + +static void photo_transformation_state_class_init (PhotoTransformationStateClass * klass) { +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + photo_transformation_state_parent_class = g_type_class_peek_parent (klass); +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (PhotoTransformationStatePrivate)); +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoTransformationStateClass *) klass)->broken = photo_transformation_state_real_broken; +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->finalize = photo_transformation_state_finalize; +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("broken", TYPE_PHOTO_TRANSFORMATION_STATE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoTransformationStateClass, broken), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 3351 "Photo.c" +} + + +static void photo_transformation_state_instance_init (PhotoTransformationState * self) { +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = PHOTO_TRANSFORMATION_STATE_GET_PRIVATE (self); +#line 64 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->is_broke = FALSE; +#line 3360 "Photo.c" +} + + +static void photo_transformation_state_finalize (GObject* obj) { + PhotoTransformationState * self; +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState); +#line 63 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (photo_transformation_state_parent_class)->finalize (obj); +#line 3370 "Photo.c" +} + + +GType photo_transformation_state_get_type (void) { + static volatile gsize photo_transformation_state_type_id__volatile = 0; + if (g_once_init_enter (&photo_transformation_state_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoTransformationStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_transformation_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoTransformationState), 0, (GInstanceInitFunc) photo_transformation_state_instance_init, NULL }; + GType photo_transformation_state_type_id; + photo_transformation_state_type_id = g_type_register_static (G_TYPE_OBJECT, "PhotoTransformationState", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_transformation_state_type_id__volatile, photo_transformation_state_type_id); + } + return photo_transformation_state_type_id__volatile; +} + + +gboolean rating_can_increase (Rating self) { + gboolean result = FALSE; +#line 90 "/home/jens/Source/shotwell/src/Photo.vala" + result = self < RATING_FIVE; +#line 90 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3392 "Photo.c" +} + + +gboolean rating_can_decrease (Rating self) { + gboolean result = FALSE; +#line 94 "/home/jens/Source/shotwell/src/Photo.vala" + result = self > RATING_REJECTED; +#line 94 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3402 "Photo.c" +} + + +gboolean rating_is_valid (Rating self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + if (self >= RATING_REJECTED) { +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self <= RATING_FIVE; +#line 3413 "Photo.c" + } else { +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = FALSE; +#line 3417 "Photo.c" + } +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 98 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3423 "Photo.c" +} + + +Rating rating_increase (Rating self) { + Rating result = 0; + Rating _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = rating_can_increase (self); +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self + 1; +#line 3437 "Photo.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self; +#line 3441 "Photo.c" + } +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 102 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3447 "Photo.c" +} + + +Rating rating_decrease (Rating self) { + Rating result = 0; + Rating _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = rating_can_decrease (self); +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self - 1; +#line 3461 "Photo.c" + } else { +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self; +#line 3465 "Photo.c" + } +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 106 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3471 "Photo.c" +} + + +gint rating_serialize (Rating self) { + gint result = 0; +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + switch (self) { +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_REJECTED: +#line 3481 "Photo.c" + { +#line 112 "/home/jens/Source/shotwell/src/Photo.vala" + result = -1; +#line 112 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3487 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_UNRATED: +#line 3491 "Photo.c" + { +#line 114 "/home/jens/Source/shotwell/src/Photo.vala" + result = 0; +#line 114 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3497 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_ONE: +#line 3501 "Photo.c" + { +#line 116 "/home/jens/Source/shotwell/src/Photo.vala" + result = 1; +#line 116 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3507 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_TWO: +#line 3511 "Photo.c" + { +#line 118 "/home/jens/Source/shotwell/src/Photo.vala" + result = 2; +#line 118 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3517 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_THREE: +#line 3521 "Photo.c" + { +#line 120 "/home/jens/Source/shotwell/src/Photo.vala" + result = 3; +#line 120 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3527 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_FOUR: +#line 3531 "Photo.c" + { +#line 122 "/home/jens/Source/shotwell/src/Photo.vala" + result = 4; +#line 122 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3537 "Photo.c" + } +#line 110 "/home/jens/Source/shotwell/src/Photo.vala" + case RATING_FIVE: +#line 3541 "Photo.c" + { +#line 124 "/home/jens/Source/shotwell/src/Photo.vala" + result = 5; +#line 124 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3547 "Photo.c" + } + default: + { +#line 126 "/home/jens/Source/shotwell/src/Photo.vala" + result = 0; +#line 126 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3555 "Photo.c" + } + } +} + + +Rating rating_unserialize (gint value) { + Rating result = 0; + gint _tmp0_ = 0; + gint _tmp2_ = 0; +#line 131 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = value; +#line 131 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ > ((gint) RATING_FIVE)) { +#line 132 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_FIVE; +#line 132 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3573 "Photo.c" + } else { + gint _tmp1_ = 0; +#line 133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = value; +#line 133 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ < ((gint) RATING_REJECTED)) { +#line 134 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_REJECTED; +#line 134 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3584 "Photo.c" + } + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = value; +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp2_) { +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case -1: +#line 3593 "Photo.c" + { +#line 138 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_REJECTED; +#line 138 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3599 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 0: +#line 3603 "Photo.c" + { +#line 140 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_UNRATED; +#line 140 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3609 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 1: +#line 3613 "Photo.c" + { +#line 142 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_ONE; +#line 142 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3619 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 2: +#line 3623 "Photo.c" + { +#line 144 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_TWO; +#line 144 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3629 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 3: +#line 3633 "Photo.c" + { +#line 146 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_THREE; +#line 146 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3639 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 4: +#line 3643 "Photo.c" + { +#line 148 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_FOUR; +#line 148 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3649 "Photo.c" + } +#line 136 "/home/jens/Source/shotwell/src/Photo.vala" + case 5: +#line 3653 "Photo.c" + { +#line 150 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_FIVE; +#line 150 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3659 "Photo.c" + } + default: + { +#line 152 "/home/jens/Source/shotwell/src/Photo.vala" + result = RATING_UNRATED; +#line 152 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3667 "Photo.c" + } + } +} + + +GType rating_get_type (void) { + static volatile gsize rating_type_id__volatile = 0; + if (g_once_init_enter (&rating_type_id__volatile)) { + static const GEnumValue values[] = {{RATING_REJECTED, "RATING_REJECTED", "rejected"}, {RATING_UNRATED, "RATING_UNRATED", "unrated"}, {RATING_ONE, "RATING_ONE", "one"}, {RATING_TWO, "RATING_TWO", "two"}, {RATING_THREE, "RATING_THREE", "three"}, {RATING_FOUR, "RATING_FOUR", "four"}, {RATING_FIVE, "RATING_FIVE", "five"}, {0, NULL, NULL}}; + GType rating_type_id; + rating_type_id = g_enum_register_static ("Rating", values); + g_once_init_leave (&rating_type_id__volatile, rating_type_id); + } + return rating_type_id__volatile; +} + + +gboolean photo_exception_prohibits (PhotoException self, PhotoException exception) { + gboolean result = FALSE; + PhotoException _tmp0_ = 0; +#line 228 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = exception; +#line 228 "/home/jens/Source/shotwell/src/Photo.vala" + result = (self & _tmp0_) != 0; +#line 228 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3694 "Photo.c" +} + + +gboolean photo_exception_allows (PhotoException self, PhotoException exception) { + gboolean result = FALSE; + PhotoException _tmp0_ = 0; +#line 232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = exception; +#line 232 "/home/jens/Source/shotwell/src/Photo.vala" + result = (self & _tmp0_) == 0; +#line 232 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 3707 "Photo.c" +} + + +GType photo_exception_get_type (void) { + static volatile gsize photo_exception_type_id__volatile = 0; + if (g_once_init_enter (&photo_exception_type_id__volatile)) { + static const GEnumValue values[] = {{PHOTO_EXCEPTION_NONE, "PHOTO_EXCEPTION_NONE", "none"}, {PHOTO_EXCEPTION_ORIENTATION, "PHOTO_EXCEPTION_ORIENTATION", "orientation"}, {PHOTO_EXCEPTION_CROP, "PHOTO_EXCEPTION_CROP", "crop"}, {PHOTO_EXCEPTION_REDEYE, "PHOTO_EXCEPTION_REDEYE", "redeye"}, {PHOTO_EXCEPTION_ADJUST, "PHOTO_EXCEPTION_ADJUST", "adjust"}, {PHOTO_EXCEPTION_STRAIGHTEN, "PHOTO_EXCEPTION_STRAIGHTEN", "straighten"}, {PHOTO_EXCEPTION_ALL, "PHOTO_EXCEPTION_ALL", "all"}, {0, NULL, NULL}}; + GType photo_exception_type_id; + photo_exception_type_id = g_enum_register_static ("PhotoException", values); + g_once_init_leave (&photo_exception_type_id__volatile, photo_exception_type_id); + } + return photo_exception_type_id__volatile; +} + + +static gpointer _photo_row_ref0 (gpointer self) { +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_row_ref (self) : NULL; +#line 3726 "Photo.c" +} + + +static gpointer _backing_photo_row_ref0 (gpointer self) { +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? backing_photo_row_ref (self) : NULL; +#line 3733 "Photo.c" +} + + +Photo* photo_construct (GType object_type, PhotoRow* row) { + Photo * self = NULL; + PhotoRow* _tmp0_ = NULL; + PhotoRow* _tmp1_ = NULL; + PhotoRow* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PhotoRow* _tmp6_ = NULL; + PhotoRow* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PhotoBackingReaders* _tmp10_ = NULL; + PhotoRow* _tmp11_ = NULL; + BackingPhotoRow* _tmp12_ = NULL; + PhotoFileFormat _tmp13_ = 0; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + PhotoFileReader* _tmp17_ = NULL; + gchar* basename = NULL; + PhotoRow* _tmp18_ = NULL; + BackingPhotoRow* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + const gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + PhotoRow* _tmp31_ = NULL; + BackingPhotoID _tmp32_ = {0}; + gint64 _tmp33_ = 0LL; + PhotoRow* _tmp49_ = NULL; + BackingPhotoRow* _tmp50_ = NULL; + PhotoFileFormat _tmp51_ = 0; + gboolean _tmp67_ = FALSE; + PhotoRow* _tmp68_ = NULL; + BackingPhotoRow* _tmp69_ = NULL; + PhotoFileFormat _tmp70_ = 0; + PhotoBackingReaders* _tmp85_ = NULL; + PhotoFileReader* _tmp86_ = NULL; + PhotoRow* _tmp106_ = NULL; + time_t _tmp107_ = 0; + GError * _inner_error_ = NULL; +#line 399 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_ROW (row), NULL); +#line 399 "/home/jens/Source/shotwell/src/Photo.vala" + self = (Photo*) photo_source_construct (object_type, DATA_OBJECT_INVALID_OBJECT_ID); +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = row; +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _photo_row_ref0 (_tmp0_); +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 400 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp1_; +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->title; +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = media_source_prep_title (_tmp4_); +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp2_->title); +#line 403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_->title = _tmp5_; +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->comment; +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = media_source_prep_comment (_tmp8_); +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_->comment); +#line 404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_->comment = _tmp9_; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->readers; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = row; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->master; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->file_format; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = row; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->master; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->filepath; +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_format_create_reader (_tmp13_, _tmp16_); +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp10_->master); +#line 408 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_->master = _tmp17_; +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = row; +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->master; +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_->filepath; +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = string_sliced_at_last_char (_tmp20_, (gunichar) G_DIR_SEPARATOR, 0); +#line 411 "/home/jens/Source/shotwell/src/Photo.vala" + basename = _tmp21_; +#line 412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = basename; +#line 412 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 3850 "Photo.c" + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = basename; +#line 413 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = string_sliced_at (_tmp23_, 1); +#line 413 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->priv->file_title); +#line 413 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->file_title = _tmp24_; +#line 3861 "Photo.c" + } +#line 415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->file_title; +#line 415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = is_string_empty (_tmp25_); +#line 415 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_) { +#line 3869 "Photo.c" + PhotoRow* _tmp27_ = NULL; + BackingPhotoRow* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = row; +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->master; +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_->filepath; +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->priv->file_title); +#line 416 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->file_title = _tmp30_; +#line 3886 "Photo.c" + } +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = row; +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->editable_id; +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_.id; +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp33_ != BACKING_PHOTO_ID_INVALID) { +#line 3896 "Photo.c" + BackingPhotoRow* e = NULL; + PhotoRow* _tmp34_ = NULL; + BackingPhotoID _tmp35_ = {0}; + BackingPhotoRow* _tmp36_ = NULL; + BackingPhotoRow* _tmp37_ = NULL; +#line 419 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = row; +#line 419 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->editable_id; +#line 419 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = photo_get_backing_row (self, &_tmp35_); +#line 419 "/home/jens/Source/shotwell/src/Photo.vala" + e = _tmp36_; +#line 420 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = e; +#line 420 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp37_ != NULL) { +#line 3914 "Photo.c" + BackingPhotoRow* _tmp38_ = NULL; + BackingPhotoRow* _tmp39_ = NULL; + PhotoBackingReaders* _tmp40_ = NULL; + BackingPhotoRow* _tmp41_ = NULL; + PhotoFileFormat _tmp42_ = 0; + BackingPhotoRow* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + PhotoFileReader* _tmp45_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = e; +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _backing_photo_row_ref0 (_tmp38_); +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 421 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp39_; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->priv->readers; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = self->priv->editable; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->file_format; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = self->priv->editable; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_->filepath; +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = photo_file_format_create_reader (_tmp42_, _tmp44_); +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp40_->editable); +#line 422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_->editable = _tmp45_; +#line 3947 "Photo.c" + } else { + { + PhotoTable* _tmp46_ = NULL; + PhotoTable* _tmp47_ = NULL; + PhotoRow* _tmp48_ = NULL; +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_table_get_instance (); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = self->row; +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_detach_editable (_tmp47_, _tmp48_, &_inner_error_); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp47_); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3967 "Photo.c" + goto __catch243_database_error; + } +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (e); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (basename); +#line 425 "/home/jens/Source/shotwell/src/Photo.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 425 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 425 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 3980 "Photo.c" + } + } + goto __finally243; + __catch243_database_error: + { + GError* err = NULL; +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 3993 "Photo.c" + } + __finally243: +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (e); +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (basename); +#line 424 "/home/jens/Source/shotwell/src/Photo.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 424 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 424 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4008 "Photo.c" + } +#line 432 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 4012 "Photo.c" + } +#line 418 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (e); +#line 4016 "Photo.c" + } +#line 436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = row; +#line 436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp49_->master; +#line 436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_->file_format; +#line 436 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp51_ == PHOTO_FILE_FORMAT_RAW) { +#line 4026 "Photo.c" + GeeHashMap* _tmp52_ = NULL; + gint _tmp53_ = 0; + RawDeveloper* _tmp54_ = NULL; +#line 438 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = gee_hash_map_new (TYPE_RAW_DEVELOPER, NULL, NULL, TYPE_BACKING_PHOTO_ROW, (GBoxedCopyFunc) backing_photo_row_ref, backing_photo_row_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 438 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->developments); +#line 438 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->developments = _tmp52_; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = raw_developer_as_array (&_tmp53_); +#line 4038 "Photo.c" + { + RawDeveloper* d_collection = NULL; + gint d_collection_length1 = 0; + gint _d_collection_size_ = 0; + gint d_it = 0; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = _tmp54_; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection_length1 = _tmp53_; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + for (d_it = 0; d_it < _tmp53_; d_it = d_it + 1) { +#line 4050 "Photo.c" + RawDeveloper d = 0; +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + d = d_collection[d_it]; +#line 4054 "Photo.c" + { + BackingPhotoID id = {0}; + PhotoRow* _tmp55_ = NULL; + BackingPhotoID* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + RawDeveloper _tmp57_ = 0; + BackingPhotoID _tmp58_ = {0}; + BackingPhotoID _tmp59_ = {0}; + gint64 _tmp60_ = 0LL; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = row; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = _tmp55_->development_ids; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56__length1 = _tmp55_->development_ids_length1; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = d; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp56_[_tmp57_]; +#line 440 "/home/jens/Source/shotwell/src/Photo.vala" + id = _tmp58_; +#line 441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = id; +#line 441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = _tmp59_.id; +#line 441 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp60_ != BACKING_PHOTO_ID_INVALID) { +#line 4082 "Photo.c" + BackingPhotoRow* bpr = NULL; + BackingPhotoID _tmp61_ = {0}; + BackingPhotoRow* _tmp62_ = NULL; + BackingPhotoRow* _tmp63_ = NULL; +#line 442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = id; +#line 442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = photo_get_backing_row (self, &_tmp61_); +#line 442 "/home/jens/Source/shotwell/src/Photo.vala" + bpr = _tmp62_; +#line 443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = bpr; +#line 443 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp63_ != NULL) { +#line 4097 "Photo.c" + GeeHashMap* _tmp64_ = NULL; + RawDeveloper _tmp65_ = 0; + BackingPhotoRow* _tmp66_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = self->priv->developments; +#line 444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = d; +#line 444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = bpr; +#line 444 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp65_), _tmp66_); +#line 4109 "Photo.c" + } +#line 441 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 4113 "Photo.c" + } + } + } +#line 439 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = (g_free (d_collection), NULL); +#line 4119 "Photo.c" + } + } +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = row; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _tmp68_->master; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp69_->file_format; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp70_ == PHOTO_FILE_FORMAT_RAW) { +#line 4130 "Photo.c" + GeeHashMap* _tmp71_ = NULL; + PhotoRow* _tmp72_ = NULL; + RawDeveloper _tmp73_ = 0; + gboolean _tmp74_ = FALSE; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = self->priv->developments; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = row; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = _tmp72_->developer; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp73_)); +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp74_; +#line 4145 "Photo.c" + } else { +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = FALSE; +#line 4149 "Photo.c" + } +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp67_) { +#line 4153 "Photo.c" + BackingPhotoRow* r = NULL; + GeeHashMap* _tmp75_ = NULL; + PhotoRow* _tmp76_ = NULL; + RawDeveloper _tmp77_ = 0; + gpointer _tmp78_ = NULL; + PhotoBackingReaders* _tmp79_ = NULL; + BackingPhotoRow* _tmp80_ = NULL; + PhotoFileFormat _tmp81_ = 0; + BackingPhotoRow* _tmp82_ = NULL; + const gchar* _tmp83_ = NULL; + PhotoFileReader* _tmp84_ = NULL; +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = self->priv->developments; +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = row; +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = _tmp76_->developer; +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp77_)); +#line 451 "/home/jens/Source/shotwell/src/Photo.vala" + r = (BackingPhotoRow*) _tmp78_; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = self->priv->readers; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = r; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = _tmp80_->file_format; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = r; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = _tmp82_->filepath; +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = photo_file_format_create_reader (_tmp81_, _tmp83_); +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp79_->developer); +#line 452 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_->developer = _tmp84_; +#line 450 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (r); +#line 4193 "Photo.c" + } +#line 456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = self->priv->readers; +#line 456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp85_->editable; +#line 456 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp86_ != NULL) { +#line 4201 "Photo.c" + BackingPhotoRow* _tmp87_ = NULL; + BackingPhotoRow* _tmp88_ = NULL; +#line 457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = self->priv->editable; +#line 457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _backing_photo_row_ref0 (_tmp87_); +#line 457 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 457 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp88_; +#line 4212 "Photo.c" + } else { + PhotoRow* _tmp89_ = NULL; + BackingPhotoRow* _tmp90_ = NULL; + PhotoFileFormat _tmp91_ = 0; +#line 458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = row; +#line 458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp89_->master; +#line 458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = _tmp90_->file_format; +#line 458 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp91_ != PHOTO_FILE_FORMAT_RAW) { +#line 4225 "Photo.c" + PhotoRow* _tmp92_ = NULL; + BackingPhotoRow* _tmp93_ = NULL; + BackingPhotoRow* _tmp94_ = NULL; +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = self->row; +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = _tmp92_->master; +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = _backing_photo_row_ref0 (_tmp93_); +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 459 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp94_; +#line 4239 "Photo.c" + } else { + GeeHashMap* _tmp95_ = NULL; + PhotoRow* _tmp96_ = NULL; + RawDeveloper _tmp97_ = 0; + gboolean _tmp98_ = FALSE; +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = self->priv->developments; +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = row; +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = _tmp96_->developer; +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp97_)); +#line 463 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp98_) { +#line 4255 "Photo.c" + GeeHashMap* _tmp99_ = NULL; + PhotoRow* _tmp100_ = NULL; + RawDeveloper _tmp101_ = 0; + gpointer _tmp102_ = NULL; +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = self->priv->developments; +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = row; +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = _tmp100_->developer; +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp99_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp101_)); +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 464 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = (BackingPhotoRow*) _tmp102_; +#line 4272 "Photo.c" + } else { + PhotoRow* _tmp103_ = NULL; + BackingPhotoRow* _tmp104_ = NULL; + BackingPhotoRow* _tmp105_ = NULL; +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = self->row; +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = _tmp103_->master; +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = _backing_photo_row_ref0 (_tmp104_); +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 467 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp105_; +#line 4287 "Photo.c" + } + } + } +#line 471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = self->row; +#line 471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = _tmp106_->exposure_time; +#line 471 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->cached_exposure_time = _tmp107_; +#line 399 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (basename); +#line 399 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 4301 "Photo.c" +} + + +void photo_init_photo (void) { + GeeLinkedList* _tmp0_ = NULL; +#line 475 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_linked_list_new (PHOTO_TYPE_CACHED_PIXBUF, (GBoxedCopyFunc) photo_cached_pixbuf_ref, photo_cached_pixbuf_unref, NULL, NULL, NULL); +#line 475 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo_source_pixbuf_cache); +#line 475 "/home/jens/Source/shotwell/src/Photo.vala" + photo_source_pixbuf_cache = _tmp0_; +#line 4313 "Photo.c" +} + + +void photo_terminate_photo (void) { + guint _tmp0_ = 0U; +#line 479 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo_source_pixbuf_cache); +#line 479 "/home/jens/Source/shotwell/src/Photo.vala" + photo_source_pixbuf_cache = NULL; +#line 481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_discard_source_id; +#line 481 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != ((guint) 0)) { +#line 4327 "Photo.c" + guint _tmp1_ = 0U; +#line 482 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_discard_source_id; +#line 482 "/home/jens/Source/shotwell/src/Photo.vala" + g_source_remove (_tmp1_); +#line 483 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_source_id = (guint) 0; +#line 4335 "Photo.c" + } +} + + +static void photo_real_notify_editable_replaced (Photo* self, GFile* old_file, GFile* new_file) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 487 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((old_file == NULL) || G_IS_FILE (old_file)); +#line 487 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_file == NULL) || G_IS_FILE (new_file)); +#line 488 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = old_file; +#line 488 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = new_file; +#line 488 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "editable-replaced", _tmp0_, _tmp1_); +#line 4353 "Photo.c" +} + + +void photo_notify_editable_replaced (Photo* self, GFile* old_file, GFile* new_file) { +#line 487 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 487 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_editable_replaced (self, old_file, new_file); +#line 4362 "Photo.c" +} + + +static void photo_real_notify_raw_development_modified (Photo* self) { +#line 492 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "raw-development-modified"); +#line 4369 "Photo.c" +} + + +void photo_notify_raw_development_modified (Photo* self) { +#line 491 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 491 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_raw_development_modified (self); +#line 4378 "Photo.c" +} + + +static void photo_real_notify_baseline_replaced (Photo* self) { +#line 496 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "baseline-replaced"); +#line 4385 "Photo.c" +} + + +void photo_notify_baseline_replaced (Photo* self) { +#line 495 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 495 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_baseline_replaced (self); +#line 4394 "Photo.c" +} + + +static void photo_real_notify_master_reimported (Photo* self, PhotoMetadata* metadata) { + PhotoMetadata* _tmp0_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 500 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 500 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "master-reimported", _tmp0_); +#line 4406 "Photo.c" +} + + +void photo_notify_master_reimported (Photo* self, PhotoMetadata* metadata) { +#line 499 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 499 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_master_reimported (self, metadata); +#line 4415 "Photo.c" +} + + +static void photo_real_notify_editable_reimported (Photo* self, PhotoMetadata* metadata) { + PhotoMetadata* _tmp0_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 504 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "editable-reimported", _tmp0_); +#line 4427 "Photo.c" +} + + +void photo_notify_editable_reimported (Photo* self, PhotoMetadata* metadata) { +#line 503 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 503 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_editable_reimported (self, metadata); +#line 4436 "Photo.c" +} + + +static void photo_real_notify_source_reimported (Photo* self, PhotoMetadata* metadata) { + PhotoMetadata* _tmp0_ = NULL; +#line 507 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 508 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "source-reimported", _tmp0_); +#line 4448 "Photo.c" +} + + +void photo_notify_source_reimported (Photo* self, PhotoMetadata* metadata) { +#line 507 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 507 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_source_reimported (self, metadata); +#line 4457 "Photo.c" +} + + +static void photo_real_notify_baseline_reimported (Photo* self, PhotoMetadata* metadata) { + PhotoMetadata* _tmp0_ = NULL; +#line 511 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 512 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 512 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "baseline-reimported", _tmp0_); +#line 4469 "Photo.c" +} + + +void photo_notify_baseline_reimported (Photo* self, PhotoMetadata* metadata) { +#line 511 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 511 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->notify_baseline_reimported (self, metadata); +#line 4478 "Photo.c" +} + + +static gboolean photo_real_internal_delete_backing (DataSource* base, GError** error) { + Photo * self; + gboolean result = FALSE; + gboolean ret = FALSE; + GFile* file = NULL; + PhotoFileFormat _tmp7_ = 0; + GFile* _tmp11_ = NULL; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + gboolean _tmp24_ = FALSE; + GError * _inner_error_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 516 "/home/jens/Source/shotwell/src/Photo.vala" + ret = TRUE; +#line 517 "/home/jens/Source/shotwell/src/Photo.vala" + file = NULL; +#line 4499 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 4506 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 519 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 4516 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 520 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp5_; +#line 4530 "Photo.c" + } + } + __finally244: + { + PhotoBackingReaders* _tmp6_ = NULL; +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->readers; +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 4540 "Photo.c" + } +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 518 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 4550 "Photo.c" + } + } +#line 523 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, TRUE, FALSE, TRUE); +#line 525 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_get_master_file_format (self); +#line 525 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ == PHOTO_FILE_FORMAT_RAW) { +#line 4559 "Photo.c" + gint _tmp8_ = 0; + RawDeveloper* _tmp9_ = NULL; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = raw_developer_as_array (&_tmp8_); +#line 4564 "Photo.c" + { + RawDeveloper* d_collection = NULL; + gint d_collection_length1 = 0; + gint _d_collection_size_ = 0; + gint d_it = 0; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = _tmp9_; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection_length1 = _tmp8_; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + for (d_it = 0; d_it < _tmp8_; d_it = d_it + 1) { +#line 4576 "Photo.c" + RawDeveloper d = 0; +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + d = d_collection[d_it]; +#line 4580 "Photo.c" + { + RawDeveloper _tmp10_ = 0; +#line 527 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = d; +#line 527 "/home/jens/Source/shotwell/src/Photo.vala" + photo_delete_raw_development (self, _tmp10_); +#line 4587 "Photo.c" + } + } +#line 526 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = (g_free (d_collection), NULL); +#line 4592 "Photo.c" + } + } +#line 531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = file; +#line 531 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != NULL) { +#line 4599 "Photo.c" + { + gboolean _tmp12_ = FALSE; + GFile* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = file; +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = g_file_trash (_tmp13_, NULL, &_inner_error_); +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp14_; +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4612 "Photo.c" + goto __catch245_g_error; + } +#line 533 "/home/jens/Source/shotwell/src/Photo.vala" + ret = _tmp12_; +#line 4617 "Photo.c" + } + goto __finally245; + __catch245_g_error: + { + GError* err = NULL; + GFile* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GError* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 535 "/home/jens/Source/shotwell/src/Photo.vala" + ret = FALSE; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = file; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = g_file_get_path (_tmp15_); +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = err; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->message; +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + g_message ("Photo.vala:536: Unable to move editable %s for %s to trash: %s", _tmp17_, _tmp19_, _tmp21_); +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp19_); +#line 536 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp17_); +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 4658 "Photo.c" + } + __finally245: +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 532 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 4669 "Photo.c" + } + } +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = DATA_SOURCE_CLASS (photo_parent_class)->internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource), TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp24_; +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 4684 "Photo.c" + } +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_) { +#line 4688 "Photo.c" + gboolean _tmp25_ = FALSE; +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = ret; +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp25_; +#line 4694 "Photo.c" + } else { +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = FALSE; +#line 4698 "Photo.c" + } +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp22_; +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 542 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4706 "Photo.c" +} + + +static BackingPhotoRow* photo_get_backing_row (Photo* self, BackingPhotoID* id) { + BackingPhotoRow* result = NULL; + BackingPhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + BackingPhotoRow* backing_row = NULL; + BackingPhotoRow* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 547 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 547 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = *id; +#line 548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.id; +#line 548 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == BACKING_PHOTO_ID_INVALID) { +#line 549 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 549 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4731 "Photo.c" + } +#line 551 "/home/jens/Source/shotwell/src/Photo.vala" + backing_row = NULL; +#line 4735 "Photo.c" + { + BackingPhotoRow* _tmp2_ = NULL; + BackingPhotoTable* _tmp3_ = NULL; + BackingPhotoTable* _tmp4_ = NULL; + BackingPhotoID _tmp5_ = {0}; + BackingPhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + BackingPhotoRow* _tmp8_ = NULL; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = backing_photo_table_get_instance (); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *id; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = backing_photo_table_fetch (_tmp4_, &_tmp5_, &_inner_error_); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp4_); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp7_; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4762 "Photo.c" + goto __catch246_database_error; + } +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 553 "/home/jens/Source/shotwell/src/Photo.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 553 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4773 "Photo.c" + } +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp2_; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = NULL; +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 553 "/home/jens/Source/shotwell/src/Photo.vala" + backing_row = _tmp8_; +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp2_); +#line 4785 "Photo.c" + } + goto __finally246; + __catch246_database_error: + { + GError* err = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = err; +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->message; +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:555: Unable to fetch backing state for %s: %s", _tmp10_, _tmp12_); +#line 555 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp10_); +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 4813 "Photo.c" + } + __finally246: +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 552 "/home/jens/Source/shotwell/src/Photo.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 552 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 552 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4826 "Photo.c" + } +#line 558 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = backing_row; +#line 558 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ == NULL) { +#line 4832 "Photo.c" + { + BackingPhotoTable* _tmp14_ = NULL; + BackingPhotoTable* _tmp15_ = NULL; + BackingPhotoID _tmp16_ = {0}; +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = backing_photo_table_get_instance (); +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = *id; +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_remove (_tmp15_, &_tmp16_, &_inner_error_); +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp15_); +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4851 "Photo.c" + goto __catch247_database_error; + } +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 560 "/home/jens/Source/shotwell/src/Photo.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 560 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 560 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4862 "Photo.c" + } + } + goto __finally247; + __catch247_database_error: + { + GError* err = NULL; +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 4875 "Photo.c" + } + __finally247: +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 559 "/home/jens/Source/shotwell/src/Photo.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 559 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 559 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 4888 "Photo.c" + } +#line 564 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 564 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing_row); +#line 564 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4896 "Photo.c" + } +#line 567 "/home/jens/Source/shotwell/src/Photo.vala" + result = backing_row; +#line 567 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4902 "Photo.c" +} + + +gboolean photo_is_raw_developer_complete (Photo* self, RawDeveloper d) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 4911 "Photo.c" + { + GeeHashMap* _tmp0_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->developments; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 4918 "Photo.c" + { + gboolean _tmp1_ = FALSE; + GeeHashMap* _tmp2_ = NULL; + RawDeveloper _tmp3_ = 0; + gboolean _tmp4_ = FALSE; +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->developments; +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = d; +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp3_)); +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_) { +#line 4932 "Photo.c" + GeeHashMap* _tmp5_ = NULL; + RawDeveloper _tmp6_ = 0; + gpointer _tmp7_ = NULL; + BackingPhotoRow* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->developments; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = d; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp6_)); +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = (BackingPhotoRow*) _tmp7_; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->filepath; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = g_file_test (_tmp9_, G_FILE_TEST_EXISTS); +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp10_; +#line 575 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp8_); +#line 4955 "Photo.c" + } else { +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 4959 "Photo.c" + } +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 4963 "Photo.c" + { + GeeHashMap* _tmp11_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->priv->developments; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 4970 "Photo.c" + } +#line 574 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 4974 "Photo.c" + } + __finally248: + { + GeeHashMap* _tmp12_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->developments; +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 4983 "Photo.c" + } +#line 573 "/home/jens/Source/shotwell/src/Photo.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 573 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 573 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 4991 "Photo.c" + } +} + + +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d) { + gboolean result = FALSE; + RawDeveloper _tmp6_ = 0; + GError * _inner_error_ = NULL; +#line 580 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 5002 "Photo.c" + { + GeeHashMap* _tmp0_ = NULL; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->developments; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 5009 "Photo.c" + { + GeeHashMap* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->developments; +#line 582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp2_)); +#line 582 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_) { +#line 583 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 5024 "Photo.c" + { + GeeHashMap* _tmp4_ = NULL; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->developments; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 5031 "Photo.c" + } +#line 583 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5035 "Photo.c" + } + } + __finally249: + { + GeeHashMap* _tmp5_ = NULL; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->developments; +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 5045 "Photo.c" + } +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 581 "/home/jens/Source/shotwell/src/Photo.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 581 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 581 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 5055 "Photo.c" + } + } +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = d; +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp6_) { +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_SHOTWELL: +#line 5064 "Photo.c" + { +#line 588 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 588 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5070 "Photo.c" + } +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_CAMERA: +#line 5074 "Photo.c" + { +#line 591 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 591 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5080 "Photo.c" + } +#line 586 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_EMBEDDED: +#line 5084 "Photo.c" + { + { + PhotoMetadata* meta = NULL; + PhotoMetadata* _tmp7_ = NULL; + guint num_previews = 0U; + PhotoMetadata* _tmp8_ = NULL; + guint _tmp9_ = 0U; + guint _tmp10_ = 0U; +#line 595 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_get_master_metadata (self, &_inner_error_); +#line 595 "/home/jens/Source/shotwell/src/Photo.vala" + meta = _tmp7_; +#line 595 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5099 "Photo.c" + goto __catch250_g_error; + } +#line 596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = meta; +#line 596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_metadata_get_preview_count (_tmp8_); +#line 596 "/home/jens/Source/shotwell/src/Photo.vala" + num_previews = _tmp9_; +#line 598 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = num_previews; +#line 598 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ > ((guint) 0)) { +#line 5112 "Photo.c" + PhotoPreview* prev = NULL; + PhotoMetadata* _tmp11_ = NULL; + guint _tmp12_ = 0U; + PhotoPreview* _tmp13_ = NULL; + PhotoPreview* _tmp14_ = NULL; + Dimensions dims = {0}; + PhotoPreview* _tmp15_ = NULL; + Dimensions _tmp16_ = {0}; + gint _tmp17_ = 0; + Dimensions _tmp18_ = {0}; + gint _tmp19_ = 0; + Dimensions _tmp20_ = {0}; + gint _tmp21_ = 0; + gint preview_major_axis = 0; + gint _tmp26_ = 0; +#line 599 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = meta; +#line 599 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = num_previews; +#line 599 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_metadata_get_preview (_tmp11_, _tmp12_ - 1); +#line 599 "/home/jens/Source/shotwell/src/Photo.vala" + prev = _tmp13_; +#line 602 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = prev; +#line 602 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ == NULL) { +#line 603 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 603 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 603 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 603 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5148 "Photo.c" + } +#line 605 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = prev; +#line 605 "/home/jens/Source/shotwell/src/Photo.vala" + photo_preview_get_pixel_dimensions (_tmp15_, &_tmp16_); +#line 605 "/home/jens/Source/shotwell/src/Photo.vala" + dims = _tmp16_; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = dims; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_.width; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = dims; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_.height; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_ > _tmp21_) { +#line 5166 "Photo.c" + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = dims; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_.width; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp23_; +#line 5175 "Photo.c" + } else { + Dimensions _tmp24_ = {0}; + gint _tmp25_ = 0; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = dims; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_.height; +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp25_; +#line 5185 "Photo.c" + } +#line 608 "/home/jens/Source/shotwell/src/Photo.vala" + preview_major_axis = _tmp17_; +#line 609 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = preview_major_axis; +#line 609 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_ < PHOTO_MIN_EMBEDDED_SIZE) { +#line 610 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 610 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 610 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 610 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5201 "Photo.c" + } +#line 613 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 613 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 613 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 613 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5211 "Photo.c" + } +#line 617 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 617 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 617 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5219 "Photo.c" + } + goto __finally250; + __catch250_g_error: + { + GError* e = NULL; + GError* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = e; +#line 619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->message; +#line 619 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:619: Error accessing embedded preview. Message: %s", _tmp28_); +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 5239 "Photo.c" + } + __finally250: +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 594 "/home/jens/Source/shotwell/src/Photo.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 594 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 594 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 5250 "Photo.c" + } +#line 621 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 621 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 5256 "Photo.c" + } + default: + { +#line 624 "/home/jens/Source/shotwell/src/Photo.vala" + g_assert_not_reached (); +#line 5262 "Photo.c" + } + } +} + + +void photo_add_backing_photo_for_development (Photo* self, RawDeveloper d, BackingPhotoRow* bpr, GError** error) { + PhotoRow* _tmp0_ = NULL; + RawDeveloper _tmp1_ = 0; + BackingPhotoRow* _tmp2_ = NULL; + Alteration* _tmp8_ = NULL; + Alteration* _tmp9_ = NULL; + GError * _inner_error_ = NULL; +#line 631 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 631 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (bpr)); +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = d; +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = bpr; +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + photo_import_developed_backing_photo (_tmp0_, _tmp1_, _tmp2_, &_inner_error_); +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 632 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5293 "Photo.c" + } + { + GeeHashMap* _tmp3_ = NULL; +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->developments; +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 5301 "Photo.c" + { + GeeHashMap* _tmp4_ = NULL; + RawDeveloper _tmp5_ = 0; + BackingPhotoRow* _tmp6_ = NULL; +#line 634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->developments; +#line 634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = d; +#line 634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = bpr; +#line 634 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp5_), _tmp6_); +#line 5314 "Photo.c" + } + __finally251: + { + GeeHashMap* _tmp7_ = NULL; +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->developments; +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 5323 "Photo.c" + } +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 633 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5331 "Photo.c" + } + } +#line 636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = alteration_new ("image", "developer"); +#line 636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 636 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp9_); +#line 636 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp9_); +#line 5342 "Photo.c" +} + + +void photo_import_developed_backing_photo (PhotoRow* row, RawDeveloper d, BackingPhotoRow* bpr, GError** error) { + GFile* file = NULL; + BackingPhotoRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* info = NULL; + GFile* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + GTimeVal timestamp = {0}; + GFileInfo* _tmp5_ = NULL; + GTimeVal _tmp6_ = {0}; + PhotoFileInterrogator* interrogator = NULL; + GFile* _tmp7_ = NULL; + PhotoFileInterrogator* _tmp8_ = NULL; + PhotoFileInterrogator* _tmp9_ = NULL; + DetectedPhotoInformation* detected = NULL; + PhotoFileInterrogator* _tmp10_ = NULL; + DetectedPhotoInformation* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + DetectedPhotoInformation* _tmp13_ = NULL; + BackingPhotoRow* _tmp16_ = NULL; + DetectedPhotoInformation* _tmp17_ = NULL; + Dimensions _tmp18_ = {0}; + BackingPhotoRow* _tmp19_ = NULL; + GFileInfo* _tmp20_ = NULL; + gint64 _tmp21_ = 0LL; + BackingPhotoRow* _tmp22_ = NULL; + GTimeVal _tmp23_ = {0}; + glong _tmp24_ = 0L; + Orientation _tmp25_ = 0; + DetectedPhotoInformation* _tmp26_ = NULL; + PhotoMetadata* _tmp27_ = NULL; + BackingPhotoRow* _tmp31_ = NULL; + BackingPhotoTable* _tmp32_ = NULL; + BackingPhotoTable* _tmp33_ = NULL; + BackingPhotoRow* _tmp34_ = NULL; + PhotoTable* _tmp35_ = NULL; + PhotoTable* _tmp36_ = NULL; + PhotoRow* _tmp37_ = NULL; + RawDeveloper _tmp38_ = 0; + BackingPhotoRow* _tmp39_ = NULL; + BackingPhotoID _tmp40_ = {0}; + GError * _inner_error_ = NULL; +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO_ROW (row)); +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (bpr)); +#line 641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = bpr; +#line 641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->filepath; +#line 641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 641 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp2_; +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_file_query_info (_tmp3_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp4_; +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 642 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5415 "Photo.c" + } +#line 644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = info; +#line 644 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp5_, &_tmp6_); +#line 644 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp = _tmp6_; +#line 646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = file; +#line 646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_file_interrogator_new (_tmp7_, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL); +#line 646 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp8_; +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = interrogator; +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (_tmp9_, &_inner_error_); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 648 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5445 "Photo.c" + } +#line 650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = interrogator; +#line 650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_file_interrogator_get_detected_photo_information (_tmp10_); +#line 650 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp11_; +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = detected; +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ == NULL) { +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = TRUE; +#line 5459 "Photo.c" + } else { + PhotoFileInterrogator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = interrogator; +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_interrogator_get_is_photo_corrupted (_tmp14_); +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp15_; +#line 5469 "Photo.c" + } +#line 651 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 654 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5483 "Photo.c" + } +#line 657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = bpr; +#line 657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = detected; +#line 657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_->image_dim; +#line 657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_->dim = _tmp18_; +#line 658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = bpr; +#line 658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = info; +#line 658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = g_file_info_get_size (_tmp20_); +#line 658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_->filesize = _tmp21_; +#line 659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = bpr; +#line 659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = timestamp; +#line 659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_.tv_sec; +#line 659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_->timestamp = (time_t) _tmp24_; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = detected; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_->metadata; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp27_ != NULL) { +#line 5515 "Photo.c" + DetectedPhotoInformation* _tmp28_ = NULL; + PhotoMetadata* _tmp29_ = NULL; + Orientation _tmp30_ = 0; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = detected; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_->metadata; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo_metadata_get_orientation (_tmp29_); +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp30_; +#line 5527 "Photo.c" + } else { +#line 661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = ORIENTATION_TOP_LEFT; +#line 5531 "Photo.c" + } +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = bpr; +#line 660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_->original_orientation = _tmp25_; +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = backing_photo_table_get_instance (); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_; +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = bpr; +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_add (_tmp33_, _tmp34_, &_inner_error_); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp33_); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 664 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5561 "Photo.c" + } +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_table_get_instance (); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = row; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = d; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = bpr; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tmp39_->id; +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_update_raw_development (_tmp36_, _tmp37_, _tmp38_, &_tmp40_, &_inner_error_); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp36_); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 665 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5593 "Photo.c" + } +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 639 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5603 "Photo.c" +} + + +static void photo_develop_photo (Photo* self, RawDeveloper d) { + gboolean wrote_img_to_disk = FALSE; + BackingPhotoRow* bps = NULL; + RawDeveloper _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 670 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 671 "/home/jens/Source/shotwell/src/Photo.vala" + wrote_img_to_disk = FALSE; +#line 672 "/home/jens/Source/shotwell/src/Photo.vala" + bps = NULL; +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = d; +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp0_) { +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_SHOTWELL: +#line 5624 "Photo.c" + { + { + BackingPhotoRow* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; + PhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + BackingPhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + GdkPixbuf* pix = NULL; + GdkPixbuf* _tmp14_ = NULL; + PhotoFileWriter* writer = NULL; + BackingPhotoRow* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + PhotoFileWriter* _tmp22_ = NULL; + PhotoFileWriter* _tmp23_ = NULL; + GdkPixbuf* _tmp24_ = NULL; + PhotoMetadata* meta = NULL; + PhotoMetadata* _tmp25_ = NULL; + PhotoFileMetadataWriter* mwriter = NULL; + BackingPhotoRow* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + PhotoFileMetadataWriter* _tmp28_ = NULL; + PhotoFileMetadataWriter* _tmp29_ = NULL; + PhotoMetadata* _tmp30_ = NULL; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->master; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->filepath; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = raw_developer_create_backing_row_for_development (_tmp2_, _tmp5_, NULL, &_inner_error_); +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp6_; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5664 "Photo.c" + goto __catch252_g_error; + } +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp1_; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 678 "/home/jens/Source/shotwell/src/Photo.vala" + bps = _tmp7_; +#line 679 "/home/jens/Source/shotwell/src/Photo.vala" + pix = NULL; +#line 5677 "Photo.c" + { + PhotoBackingReaders* _tmp8_ = NULL; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->priv->readers; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 5684 "Photo.c" + { + GdkPixbuf* _tmp9_ = NULL; + Scaling _tmp10_ = {0}; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_original (&_tmp10_); +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_get_master_pixbuf (self, &_tmp10_, FALSE, &_inner_error_); +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp11_; +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5698 "Photo.c" + goto __finally253; + } +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp9_; +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = NULL; +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 685 "/home/jens/Source/shotwell/src/Photo.vala" + pix = _tmp12_; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp9_); +#line 5711 "Photo.c" + } + __finally253: + { + PhotoBackingReaders* _tmp13_ = NULL; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->readers; +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 5720 "Photo.c" + } +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 680 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5728 "Photo.c" + goto __catch252_g_error; + } + } +#line 688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = pix; +#line 688 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ == NULL) { +#line 689 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:689: Could not get preview pixbuf"); +#line 690 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 690 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5742 "Photo.c" + { + gboolean _tmp15_ = FALSE; +#line 714 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = wrote_img_to_disk; +#line 714 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 5749 "Photo.c" + { + RawDeveloper _tmp16_ = 0; + BackingPhotoRow* _tmp17_ = NULL; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = d; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = bps; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp16_, _tmp17_, &_inner_error_); +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5761 "Photo.c" + goto __catch254_g_error; + } +#line 719 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 5766 "Photo.c" + } + goto __finally254; + __catch254_g_error: + { + GError* e = NULL; + GError* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = e; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->message; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:721: Error adding backing photo as development. Message: %s", _tmp19_); +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 5786 "Photo.c" + } + __finally254: +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5791 "Photo.c" + goto __catch252_g_error; + } + } + } +#line 690 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 690 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5800 "Photo.c" + } +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = bps; +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->filepath; +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_file_format_create_writer (PHOTO_FILE_FORMAT_JFIF, _tmp21_, &_inner_error_); +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp22_; +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 694 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5816 "Photo.c" + goto __catch252_g_error; + } +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = writer; +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = pix; +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_writer_write (_tmp23_, _tmp24_, JPEG_QUALITY_HIGH, &_inner_error_); +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 695 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5833 "Photo.c" + goto __catch252_g_error; + } +#line 703 "/home/jens/Source/shotwell/src/Photo.vala" + wrote_img_to_disk = TRUE; +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = photo_get_master_metadata (self, &_inner_error_); +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + meta = _tmp25_; +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 708 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5850 "Photo.c" + goto __catch252_g_error; + } +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = bps; +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_->filepath; +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo_file_format_create_metadata_writer (PHOTO_FILE_FORMAT_JFIF, _tmp27_, &_inner_error_); +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + mwriter = _tmp28_; +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 709 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5871 "Photo.c" + goto __catch252_g_error; + } +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = mwriter; +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = meta; +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp29_, _tmp30_, &_inner_error_); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (mwriter); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 710 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5892 "Photo.c" + goto __catch252_g_error; + } +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (mwriter); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 5905 "Photo.c" + } + goto __finally252; + __catch252_g_error: + { + GError* err = NULL; + GError* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 712 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = err; +#line 712 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->message; +#line 712 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:712: Error developing photo: %s", _tmp32_); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 5925 "Photo.c" + } + __finally252: + { + gboolean _tmp33_ = FALSE; +#line 714 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = wrote_img_to_disk; +#line 714 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp33_) { +#line 5934 "Photo.c" + { + RawDeveloper _tmp34_ = 0; + BackingPhotoRow* _tmp35_ = NULL; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = d; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = bps; +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp34_, _tmp35_, &_inner_error_); +#line 717 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5946 "Photo.c" + goto __catch255_g_error; + } +#line 719 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 5951 "Photo.c" + } + goto __finally255; + __catch255_g_error: + { + GError* e = NULL; + GError* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = e; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_->message; +#line 721 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:721: Error adding backing photo as development. Message: %s", _tmp37_); +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 5971 "Photo.c" + } + __finally255: +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 715 "/home/jens/Source/shotwell/src/Photo.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 715 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 715 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5984 "Photo.c" + } + } + } +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 676 "/home/jens/Source/shotwell/src/Photo.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 676 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 676 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 5998 "Photo.c" + } +#line 727 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 6002 "Photo.c" + } +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_CAMERA: +#line 6006 "Photo.c" + { +#line 731 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 6010 "Photo.c" + } +#line 674 "/home/jens/Source/shotwell/src/Photo.vala" + case RAW_DEVELOPER_EMBEDDED: +#line 6014 "Photo.c" + { + { + PhotoMetadata* meta = NULL; + PhotoMetadata* _tmp38_ = NULL; + guint c = 0U; + PhotoMetadata* _tmp39_ = NULL; + guint _tmp40_ = 0U; + guint _tmp41_ = 0U; + PhotoPreview* prev = NULL; + PhotoMetadata* _tmp47_ = NULL; + guint _tmp48_ = 0U; + PhotoPreview* _tmp49_ = NULL; + PhotoPreview* _tmp50_ = NULL; + GdkPixbuf* pix = NULL; + PhotoPreview* _tmp56_ = NULL; + GdkPixbuf* _tmp57_ = NULL; + GdkPixbuf* _tmp58_ = NULL; + BackingPhotoRow* _tmp64_ = NULL; + RawDeveloper _tmp65_ = 0; + PhotoRow* _tmp66_ = NULL; + BackingPhotoRow* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; + BackingPhotoRow* _tmp69_ = NULL; + BackingPhotoRow* _tmp70_ = NULL; + PhotoFileWriter* writer = NULL; + BackingPhotoRow* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; + PhotoFileWriter* _tmp73_ = NULL; + PhotoFileWriter* _tmp74_ = NULL; + GdkPixbuf* _tmp75_ = NULL; + PhotoFileMetadataWriter* mwriter = NULL; + BackingPhotoRow* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + PhotoFileMetadataWriter* _tmp78_ = NULL; + PhotoFileMetadataWriter* _tmp79_ = NULL; + PhotoMetadata* _tmp80_ = NULL; +#line 736 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = photo_get_master_metadata (self, &_inner_error_); +#line 736 "/home/jens/Source/shotwell/src/Photo.vala" + meta = _tmp38_; +#line 736 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6057 "Photo.c" + goto __catch256_g_error; + } +#line 737 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = meta; +#line 737 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = photo_metadata_get_preview_count (_tmp39_); +#line 737 "/home/jens/Source/shotwell/src/Photo.vala" + c = _tmp40_; +#line 738 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = c; +#line 738 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_ <= ((guint) 0)) { +#line 739 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6072 "Photo.c" + { + gboolean _tmp42_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp42_) { +#line 6079 "Photo.c" + { + RawDeveloper _tmp43_ = 0; + BackingPhotoRow* _tmp44_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp43_, _tmp44_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6091 "Photo.c" + goto __catch257_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6096 "Photo.c" + } + goto __finally257; + __catch257_g_error: + { + GError* e = NULL; + GError* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = _tmp45_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp46_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6116 "Photo.c" + } + __finally257: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6121 "Photo.c" + goto __catch256_g_error; + } + } + } +#line 739 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 739 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6130 "Photo.c" + } +#line 740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = meta; +#line 740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = c; +#line 740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_metadata_get_preview (_tmp47_, _tmp48_ - 1); +#line 740 "/home/jens/Source/shotwell/src/Photo.vala" + prev = _tmp49_; +#line 741 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = prev; +#line 741 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp50_ == NULL) { +#line 742 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:742: Could not get preview from metadata"); +#line 743 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 743 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6150 "Photo.c" + { + gboolean _tmp51_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp51_) { +#line 6157 "Photo.c" + { + RawDeveloper _tmp52_ = 0; + BackingPhotoRow* _tmp53_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp52_, _tmp53_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6169 "Photo.c" + goto __catch258_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6174 "Photo.c" + } + goto __finally258; + __catch258_g_error: + { + GError* e = NULL; + GError* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tmp54_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp55_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6194 "Photo.c" + } + __finally258: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6199 "Photo.c" + goto __catch256_g_error; + } + } + } +#line 743 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 743 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6208 "Photo.c" + } +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = prev; +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = photo_preview_get_pixbuf (_tmp56_, &_inner_error_); +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + pix = _tmp57_; +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 746 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6222 "Photo.c" + goto __catch256_g_error; + } +#line 747 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = pix; +#line 747 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp58_ == NULL) { +#line 748 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:748: Could not get preview pixbuf"); +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6237 "Photo.c" + { + gboolean _tmp59_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp59_) { +#line 6244 "Photo.c" + { + RawDeveloper _tmp60_ = 0; + BackingPhotoRow* _tmp61_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp60_, _tmp61_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6256 "Photo.c" + goto __catch259_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6261 "Photo.c" + } + goto __finally259; + __catch259_g_error: + { + GError* e = NULL; + GError* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp63_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6281 "Photo.c" + } + __finally259: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6286 "Photo.c" + goto __catch256_g_error; + } + } + } +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 749 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6295 "Photo.c" + } +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = d; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = self->row; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp66_->master; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp67_->filepath; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = raw_developer_create_backing_row_for_development (_tmp65_, _tmp68_, NULL, &_inner_error_); +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = _tmp69_; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6317 "Photo.c" + goto __catch256_g_error; + } +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp64_; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = NULL; +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 753 "/home/jens/Source/shotwell/src/Photo.vala" + bps = _tmp70_; +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = bps; +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_->filepath; +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = photo_file_format_create_writer (PHOTO_FILE_FORMAT_JFIF, _tmp72_, &_inner_error_); +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp73_; +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 754 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6346 "Photo.c" + goto __catch256_g_error; + } +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = writer; +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = pix; +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_writer_write (_tmp74_, _tmp75_, JPEG_QUALITY_HIGH, &_inner_error_); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 755 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6367 "Photo.c" + goto __catch256_g_error; + } +#line 759 "/home/jens/Source/shotwell/src/Photo.vala" + wrote_img_to_disk = TRUE; +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = bps; +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = _tmp76_->filepath; +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = photo_file_format_create_metadata_writer (PHOTO_FILE_FORMAT_JFIF, _tmp77_, &_inner_error_); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + mwriter = _tmp78_; +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 762 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6392 "Photo.c" + goto __catch256_g_error; + } +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = mwriter; +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = meta; +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp79_, _tmp80_, &_inner_error_); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (mwriter); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 763 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6415 "Photo.c" + goto __catch256_g_error; + } +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (mwriter); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp64_); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pix); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_preview_unref0 (prev); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (meta); +#line 6430 "Photo.c" + } + goto __finally256; + __catch256_g_error: + { + GError* e = NULL; + GError* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 765 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = e; +#line 765 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = _tmp81_->message; +#line 765 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:765: Error accessing embedded preview. Message: %s", _tmp82_); +#line 766 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6450 "Photo.c" + { + gboolean _tmp83_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp83_) { +#line 6457 "Photo.c" + { + RawDeveloper _tmp84_ = 0; + BackingPhotoRow* _tmp85_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp84_, _tmp85_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6469 "Photo.c" + goto __catch260_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6474 "Photo.c" + } + goto __finally260; + __catch260_g_error: + { + GError* e = NULL; + GError* _tmp86_ = NULL; + const gchar* _tmp87_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = _tmp86_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp87_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6494 "Photo.c" + } + __finally260: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 6501 "Photo.c" + } + } + } +#line 766 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 766 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6509 "Photo.c" + } + __finally256: + { + gboolean _tmp88_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = wrote_img_to_disk; +#line 768 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp88_) { +#line 6518 "Photo.c" + { + RawDeveloper _tmp89_ = 0; + BackingPhotoRow* _tmp90_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = d; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = bps; +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_backing_photo_for_development (self, _tmp89_, _tmp90_, &_inner_error_); +#line 771 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6530 "Photo.c" + goto __catch261_g_error; + } +#line 773 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 6535 "Photo.c" + } + goto __finally261; + __catch261_g_error: + { + GError* e = NULL; + GError* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = e; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_->message; +#line 775 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:775: Error adding backing photo as development. Message: %s", _tmp92_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6555 "Photo.c" + } + __finally261: +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 769 "/home/jens/Source/shotwell/src/Photo.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 769 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 769 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6568 "Photo.c" + } + } + } +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 734 "/home/jens/Source/shotwell/src/Photo.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 734 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 734 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6582 "Photo.c" + } +#line 780 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 6586 "Photo.c" + } + default: + { +#line 783 "/home/jens/Source/shotwell/src/Photo.vala" + g_assert_not_reached (); +#line 6592 "Photo.c" + } + } +#line 670 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bps); +#line 6597 "Photo.c" +} + + +void photo_set_default_raw_developer (Photo* self, RawDeveloper d) { + GError * _inner_error_ = NULL; +#line 788 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 6605 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 6612 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; +#line 790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_->developer = _tmp2_; +#line 6622 "Photo.c" + } + __finally262: + { + PhotoRow* _tmp3_ = NULL; +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 6631 "Photo.c" + } +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 789 "/home/jens/Source/shotwell/src/Photo.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 789 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 789 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6641 "Photo.c" + } + } +} + + +void photo_set_raw_developer (Photo* self, RawDeveloper d) { + PhotoFileFormat _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp4_ = FALSE; + Alteration* _tmp48_ = NULL; + Alteration* _tmp49_ = NULL; + GError * _inner_error_ = NULL; +#line 795 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 796 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_file_format (self); +#line 796 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != PHOTO_FILE_FORMAT_RAW) { +#line 797 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6663 "Photo.c" + } +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_is_raw_developer_available (self, RAW_DEVELOPER_CAMERA); +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 6669 "Photo.c" + RawDeveloper _tmp3_ = 0; +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = d; +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp3_ == RAW_DEVELOPER_EMBEDDED; +#line 6675 "Photo.c" + } else { +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 6679 "Photo.c" + } +#line 802 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 803 "/home/jens/Source/shotwell/src/Photo.vala" + d = RAW_DEVELOPER_CAMERA; +#line 6685 "Photo.c" + } +#line 807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_is_raw_developer_available (self, RAW_DEVELOPER_EMBEDDED); +#line 807 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 808 "/home/jens/Source/shotwell/src/Photo.vala" + d = RAW_DEVELOPER_SHOTWELL; +#line 6693 "Photo.c" + } + { + GeeHashMap* _tmp5_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 6701 "Photo.c" + { + RawDeveloper stale_raw_developer = 0; + PhotoRow* _tmp6_ = NULL; + RawDeveloper _tmp7_ = 0; + RawDeveloper _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + GeeHashMap* _tmp15_ = NULL; + RawDeveloper _tmp16_ = 0; + gboolean _tmp17_ = FALSE; + PhotoRow* _tmp19_ = NULL; + RawDeveloper _tmp20_ = 0; + GeeHashMap* _tmp21_ = NULL; + RawDeveloper _tmp22_ = 0; + gpointer _tmp23_ = NULL; + PhotoBackingReaders* _tmp24_ = NULL; + BackingPhotoRow* _tmp25_ = NULL; + PhotoFileFormat _tmp26_ = 0; + BackingPhotoRow* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + PhotoFileReader* _tmp29_ = NULL; + BackingPhotoRow* _tmp30_ = NULL; + Orientation _tmp31_ = 0; + gboolean _tmp41_ = FALSE; + RawDeveloper _tmp42_ = 0; +#line 811 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 811 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->developer; +#line 811 "/home/jens/Source/shotwell/src/Photo.vala" + stale_raw_developer = _tmp7_; +#line 814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = d; +#line 814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_is_raw_developer_complete (self, _tmp8_); +#line 814 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 6738 "Photo.c" + RawDeveloper _tmp10_ = 0; +#line 815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = d; +#line 815 "/home/jens/Source/shotwell/src/Photo.vala" + photo_develop_photo (self, _tmp10_); +#line 6744 "Photo.c" + { + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_get_prefetched_copy (self, &_inner_error_); +#line 817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_; +#line 817 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp12_); +#line 817 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6756 "Photo.c" + goto __catch264_g_error; + } + } + goto __finally264; + __catch264_g_error: + { + GError* e = NULL; +#line 816 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 816 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 820 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6770 "Photo.c" + { + GeeHashMap* _tmp13_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6777 "Photo.c" + } +#line 820 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6781 "Photo.c" + } + __finally264: +#line 816 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6786 "Photo.c" + { + GeeHashMap* _tmp14_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6793 "Photo.c" + } +#line 816 "/home/jens/Source/shotwell/src/Photo.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 816 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 816 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6801 "Photo.c" + } + } +#line 823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->priv->developments; +#line 823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = d; +#line 823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp16_)); +#line 823 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp17_) { +#line 6812 "Photo.c" + { + GeeHashMap* _tmp18_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6819 "Photo.c" + } +#line 824 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6823 "Photo.c" + } +#line 827 "/home/jens/Source/shotwell/src/Photo.vala" + photo_revert_to_master (self, FALSE); +#line 830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = d; +#line 830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_->developer = _tmp20_; +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->developments; +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = d; +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp22_)); +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 831 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = (BackingPhotoRow*) _tmp23_; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = self->priv->readers; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->backing_photo_row; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->file_format; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = self->backing_photo_row; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->filepath; +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo_file_format_create_reader (_tmp26_, _tmp28_); +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp24_->developer); +#line 832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_->developer = _tmp29_; +#line 834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = self->backing_photo_row; +#line 834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_->original_orientation; +#line 834 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp31_); +#line 6865 "Photo.c" + { + PhotoTable* _tmp32_ = NULL; + PhotoTable* _tmp33_ = NULL; + PhotoRow* _tmp34_ = NULL; + RawDeveloper _tmp35_ = 0; + BackingPhotoRow* _tmp36_ = NULL; + BackingPhotoID _tmp37_ = {0}; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = photo_table_get_instance (); +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = self->row; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = d; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = self->backing_photo_row; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_->id; +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_update_raw_development (_tmp33_, _tmp34_, _tmp35_, &_tmp37_, &_inner_error_); +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp33_); +#line 837 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6891 "Photo.c" + goto __catch265_g_error; + } + } + goto __finally265; + __catch265_g_error: + { + GError* e = NULL; + GError* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 839 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = e; +#line 839 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_->message; +#line 839 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:839: Error updating database: %s", _tmp39_); +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 6913 "Photo.c" + } + __finally265: +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6918 "Photo.c" + { + GeeHashMap* _tmp40_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6925 "Photo.c" + } +#line 836 "/home/jens/Source/shotwell/src/Photo.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 836 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 836 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6933 "Photo.c" + } +#line 846 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = stale_raw_developer; +#line 846 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp42_ != RAW_DEVELOPER_CAMERA) { +#line 6939 "Photo.c" + RawDeveloper _tmp43_ = 0; + PhotoRow* _tmp44_ = NULL; + RawDeveloper _tmp45_ = 0; +#line 847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = stale_raw_developer; +#line 847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = self->row; +#line 847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_->developer; +#line 847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp43_ != _tmp45_; +#line 6951 "Photo.c" + } else { +#line 846 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = FALSE; +#line 6955 "Photo.c" + } +#line 846 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 6959 "Photo.c" + RawDeveloper _tmp46_ = 0; +#line 850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = stale_raw_developer; +#line 850 "/home/jens/Source/shotwell/src/Photo.vala" + photo_delete_raw_development (self, _tmp46_); +#line 6965 "Photo.c" + } + } + __finally263: + { + GeeHashMap* _tmp47_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = self->priv->developments; +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 6975 "Photo.c" + } +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 810 "/home/jens/Source/shotwell/src/Photo.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 810 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 810 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 6985 "Photo.c" + } + } +#line 857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = alteration_new ("image", "developer"); +#line 857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_; +#line 857 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp49_); +#line 857 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp49_); +#line 858 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_prefetched (self); +#line 6998 "Photo.c" +} + + +RawDeveloper photo_get_raw_developer (Photo* self) { + RawDeveloper result = 0; + PhotoRow* _tmp0_ = NULL; + RawDeveloper _tmp1_ = 0; +#line 861 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->developer; +#line 862 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 862 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7016 "Photo.c" +} + + +static gboolean photo_delete_raw_development (Photo* self, RawDeveloper d) { + gboolean result = FALSE; + gboolean ret = FALSE; + GError * _inner_error_ = NULL; +#line 867 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 868 "/home/jens/Source/shotwell/src/Photo.vala" + ret = FALSE; +#line 7028 "Photo.c" + { + GeeHashMap* _tmp0_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 7035 "Photo.c" + { + GeeHashMap* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + RawDeveloper _tmp7_ = 0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + BackingPhotoRow* bpr = NULL; + GeeHashMap* _tmp10_ = NULL; + RawDeveloper _tmp11_ = 0; + gpointer _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GeeHashMap* _tmp37_ = NULL; + RawDeveloper _tmp38_ = 0; + gboolean _tmp39_ = FALSE; +#line 871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->developments; +#line 871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp2_)); +#line 871 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 872 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 7064 "Photo.c" + { + GeeHashMap* _tmp4_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7071 "Photo.c" + } +#line 872 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7075 "Photo.c" + } +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = d; +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = raw_developer_to_string (_tmp7_); +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:876: Delete raw development: %s %s", _tmp6_, _tmp9_); +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp9_); +#line 876 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_); +#line 877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->developments; +#line 877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = d; +#line 877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp11_)); +#line 877 "/home/jens/Source/shotwell/src/Photo.vala" + bpr = (BackingPhotoRow*) _tmp12_; +#line 878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = bpr; +#line 878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->filepath; +#line 878 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != NULL) { +#line 7107 "Photo.c" + GFile* f = NULL; + BackingPhotoRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; +#line 879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = bpr; +#line 879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->filepath; +#line 879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_file_new_for_path (_tmp16_); +#line 879 "/home/jens/Source/shotwell/src/Photo.vala" + f = _tmp17_; +#line 7120 "Photo.c" + { + RawDeveloper _tmp18_ = 0; +#line 881 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = d; +#line 881 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_ == RAW_DEVELOPER_CAMERA) { +#line 7127 "Photo.c" + GFile* _tmp19_ = NULL; +#line 882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = f; +#line 882 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_trash (_tmp19_, NULL, &_inner_error_); +#line 882 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7135 "Photo.c" + goto __catch267_g_error; + } + } else { + GFile* _tmp20_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = f; +#line 884 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_delete (_tmp20_, NULL, &_inner_error_); +#line 884 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7146 "Photo.c" + goto __catch267_g_error; + } + } + } + goto __finally267; + __catch267_g_error: + { + GError* e = NULL; + BackingPhotoRow* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + GError* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = bpr; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->filepath; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = e; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->message; +#line 886 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:886: Unable to delete RAW development: %s error: %s", _tmp22_, _tmp24_); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 7175 "Photo.c" + } + __finally267: +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 7188 "Photo.c" + { + GeeHashMap* _tmp25_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7195 "Photo.c" + } +#line 880 "/home/jens/Source/shotwell/src/Photo.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 880 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 880 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 7203 "Photo.c" + } +#line 878 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 7207 "Photo.c" + } + { + PhotoTable* _tmp26_ = NULL; + PhotoTable* _tmp27_ = NULL; + PhotoRow* _tmp28_ = NULL; + RawDeveloper _tmp29_ = 0; + BackingPhotoTable* _tmp30_ = NULL; + BackingPhotoTable* _tmp31_ = NULL; + BackingPhotoRow* _tmp32_ = NULL; + BackingPhotoID _tmp33_ = {0}; +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_table_get_instance (); +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_; +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = self->row; +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = d; +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_remove_development (_tmp27_, _tmp28_, _tmp29_, &_inner_error_); +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp27_); +#line 892 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7232 "Photo.c" + goto __catch268_g_error; + } +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = backing_photo_table_get_instance (); +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = bpr; +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_->id; +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_remove (_tmp31_, &_tmp33_, &_inner_error_); +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp31_); +#line 893 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7249 "Photo.c" + goto __catch268_g_error; + } + } + goto __finally268; + __catch268_g_error: + { + GError* e = NULL; + GError* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = e; +#line 895 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->message; +#line 895 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:895: Database error while deleting RAW development: %s", _tmp35_); +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 7271 "Photo.c" + } + __finally268: +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 7280 "Photo.c" + { + GeeHashMap* _tmp36_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7287 "Photo.c" + } +#line 891 "/home/jens/Source/shotwell/src/Photo.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 891 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 891 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 7295 "Photo.c" + } +#line 898 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = self->priv->developments; +#line 898 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = d; +#line 898 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp38_), NULL); +#line 898 "/home/jens/Source/shotwell/src/Photo.vala" + ret = _tmp39_; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 7307 "Photo.c" + } + __finally266: + { + GeeHashMap* _tmp40_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->priv->developments; +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7316 "Photo.c" + } +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 870 "/home/jens/Source/shotwell/src/Photo.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 870 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 870 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 7326 "Photo.c" + } + } +#line 901 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 902 "/home/jens/Source/shotwell/src/Photo.vala" + result = ret; +#line 902 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7335 "Photo.c" +} + + +void photo_redevelop_raw (Photo* self, RawDeveloper d) { + GError * _inner_error_ = NULL; +#line 906 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 7343 "Photo.c" + { + GeeHashMap* _tmp0_ = NULL; +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->developments; +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_developments); +#line 7350 "Photo.c" + { + RawDeveloper _tmp1_ = 0; + RawDeveloper dev = 0; + RawDeveloper _tmp2_ = 0; + RawDeveloper _tmp3_ = 0; + RawDeveloper _tmp4_ = 0; +#line 908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = d; +#line 908 "/home/jens/Source/shotwell/src/Photo.vala" + photo_delete_raw_development (self, _tmp1_); +#line 909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = d; +#line 909 "/home/jens/Source/shotwell/src/Photo.vala" + dev = _tmp2_; +#line 910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = dev; +#line 910 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ == RAW_DEVELOPER_CAMERA) { +#line 911 "/home/jens/Source/shotwell/src/Photo.vala" + dev = RAW_DEVELOPER_EMBEDDED; +#line 7371 "Photo.c" + } +#line 913 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = dev; +#line 913 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_raw_developer (self, _tmp4_); +#line 7377 "Photo.c" + } + __finally269: + { + GeeHashMap* _tmp5_ = NULL; +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->developments; +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_developments); +#line 7386 "Photo.c" + } +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 907 "/home/jens/Source/shotwell/src/Photo.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 907 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 907 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 7396 "Photo.c" + } + } +} + + +static void _vala_array_add251 (BackingFileState*** array, int* length, int* size, BackingFileState* value) { +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (BackingFileState*, *array, (*size) + 1); +#line 7409 "Photo.c" + } +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 7415 "Photo.c" +} + + +static void _vala_array_add252 (BackingFileState*** array, int* length, int* size, BackingFileState* value) { +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (BackingFileState*, *array, (*size) + 1); +#line 7426 "Photo.c" + } +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 7432 "Photo.c" +} + + +static void _vala_array_add253 (BackingFileState*** array, int* length, int* size, BackingFileState* value) { +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (BackingFileState*, *array, (*size) + 1); +#line 7443 "Photo.c" + } +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 7449 "Photo.c" +} + + +static BackingFileState** photo_real_get_backing_files_state (MediaSource* base, int* result_length1) { + Photo * self; + BackingFileState** result = NULL; + BackingFileState** backing = NULL; + BackingFileState** _tmp0_ = NULL; + gint backing_length1 = 0; + gint _backing_size_ = 0; + BackingFileState** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GError * _inner_error_ = NULL; +#line 917 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 918 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_new0 (BackingFileState*, 0 + 1); +#line 918 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp0_; +#line 918 "/home/jens/Source/shotwell/src/Photo.vala" + backing_length1 = 0; +#line 918 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_size_ = backing_length1; +#line 7473 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 7480 "Photo.c" + { + BackingFileState** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + PhotoRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + BackingFileState* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = backing; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2__length1 = backing_length1; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->master; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->md5; +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = backing_file_state_new_from_photo_row (_tmp4_, _tmp6_); +#line 920 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add251 (&backing, &backing_length1, &_backing_size_, _tmp7_); +#line 921 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_has_editable (self); +#line 921 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 7511 "Photo.c" + BackingFileState** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + BackingPhotoRow* _tmp10_ = NULL; + BackingFileState* _tmp11_ = NULL; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = backing; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9__length1 = backing_length1; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->editable; +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = backing_file_state_new_from_photo_row (_tmp10_, NULL); +#line 922 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add252 (&backing, &backing_length1, &_backing_size_, _tmp11_); +#line 7526 "Photo.c" + } +#line 924 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_is_developed (self); +#line 924 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 7532 "Photo.c" + GeeCollection* dev_rows = NULL; + GeeCollection* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; +#line 925 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_get_raw_development_photo_rows (self); +#line 925 "/home/jens/Source/shotwell/src/Photo.vala" + dev_rows = _tmp13_; +#line 926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = dev_rows; +#line 926 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != NULL) { +#line 7544 "Photo.c" + { + GeeIterator* _r_it = NULL; + GeeCollection* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = dev_rows; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _r_it = _tmp16_; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 7557 "Photo.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + BackingPhotoRow* r = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + BackingFileState** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + BackingPhotoRow* _tmp24_ = NULL; + BackingFileState* _tmp25_ = NULL; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _r_it; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp18_) { +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 7577 "Photo.c" + } +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _r_it; +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + r = (BackingPhotoRow*) _tmp20_; +#line 928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = r; +#line 928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->filepath; +#line 928 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:928: adding: %s", _tmp22_); +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = backing; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23__length1 = backing_length1; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = r; +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = backing_file_state_new_from_photo_row (_tmp24_, NULL); +#line 929 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add253 (&backing, &backing_length1, &_backing_size_, _tmp25_); +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (r); +#line 7603 "Photo.c" + } +#line 927 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_r_it); +#line 7607 "Photo.c" + } + } +#line 924 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dev_rows); +#line 7612 "Photo.c" + } + } + __finally270: + { + PhotoRow* _tmp26_ = NULL; +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = self->row; +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 7622 "Photo.c" + } +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + backing = (_vala_array_free (backing, backing_length1, (GDestroyNotify) backing_file_state_unref), NULL); +#line 919 "/home/jens/Source/shotwell/src/Photo.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 919 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 919 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 7634 "Photo.c" + } + } +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = backing; +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27__length1 = backing_length1; +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + if (result_length1) { +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + *result_length1 = _tmp27__length1; +#line 7645 "Photo.c" + } +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp27_; +#line 935 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7651 "Photo.c" +} + + +static PhotoFileReader* photo_get_backing_reader (Photo* self, BackingFetchMode mode) { + PhotoFileReader* result = NULL; + BackingFetchMode _tmp0_ = 0; +#line 938 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = mode; +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp0_) { +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + case BACKING_FETCH_MODE_MASTER: +#line 7666 "Photo.c" + { + PhotoFileReader* _tmp1_ = NULL; +#line 941 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_master_reader (self); +#line 941 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 941 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7675 "Photo.c" + } +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + case BACKING_FETCH_MODE_BASELINE: +#line 7679 "Photo.c" + { + PhotoFileReader* _tmp2_ = NULL; +#line 944 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_baseline_reader (self); +#line 944 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 944 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7688 "Photo.c" + } +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + case BACKING_FETCH_MODE_SOURCE: +#line 7692 "Photo.c" + { + PhotoFileReader* _tmp3_ = NULL; +#line 947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_source_reader (self); +#line 947 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 947 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7701 "Photo.c" + } +#line 939 "/home/jens/Source/shotwell/src/Photo.vala" + case BACKING_FETCH_MODE_UNMODIFIED: +#line 7705 "Photo.c" + { + PhotoFileFormat _tmp4_ = 0; +#line 950 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_master_file_format (self); +#line 950 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_ == PHOTO_FILE_FORMAT_RAW) { +#line 7712 "Photo.c" + PhotoFileReader* _tmp5_ = NULL; +#line 951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_raw_developer_reader (self); +#line 951 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 951 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7720 "Photo.c" + } else { + PhotoFileReader* _tmp6_ = NULL; +#line 953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_get_master_reader (self); +#line 953 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp6_; +#line 953 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7729 "Photo.c" + } + } + default: + { + BackingFetchMode _tmp7_ = 0; + GEnumValue* _tmp8_; +#line 956 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = mode; +#line 956 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_enum_get_value (g_type_class_ref (TYPE_BACKING_FETCH_MODE), _tmp7_); +#line 956 "/home/jens/Source/shotwell/src/Photo.vala" + g_error ("Photo.vala:956: Unknown backing fetch mode %s", (_tmp8_ != NULL) ? _tmp8_->value_name : NULL); +#line 7742 "Photo.c" + } + } +} + + +static gpointer _photo_file_adapter_ref0 (gpointer self) { +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_file_adapter_ref (self) : NULL; +#line 7751 "Photo.c" +} + + +static PhotoFileReader* photo_get_master_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 960 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 7760 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 7767 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_file_adapter_ref0 (_tmp2_); +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 7780 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7787 "Photo.c" + } +#line 962 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7791 "Photo.c" + } + __finally271: + { + PhotoBackingReaders* _tmp5_ = NULL; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7800 "Photo.c" + } +#line 961 "/home/jens/Source/shotwell/src/Photo.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 961 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 961 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 7808 "Photo.c" + } +} + + +PhotoFileReader* photo_get_editable_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 966 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 7818 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 7825 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_file_adapter_ref0 (_tmp2_); +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 7838 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7845 "Photo.c" + } +#line 968 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7849 "Photo.c" + } + __finally272: + { + PhotoBackingReaders* _tmp5_ = NULL; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7858 "Photo.c" + } +#line 967 "/home/jens/Source/shotwell/src/Photo.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 967 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 967 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 7866 "Photo.c" + } +} + + +static PhotoFileReader* photo_get_baseline_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 7876 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 7883 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoBackingReaders* _tmp7_ = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoBackingReaders* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + PhotoFileReader* _tmp15_ = NULL; +#line 975 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 975 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 975 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 7898 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _photo_file_adapter_ref0 (_tmp4_); +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 7910 "Photo.c" + { + PhotoBackingReaders* _tmp6_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7917 "Photo.c" + } +#line 976 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7921 "Photo.c" + } +#line 978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->developer; +#line 978 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != NULL) { +#line 7929 "Photo.c" + PhotoBackingReaders* _tmp9_ = NULL; + PhotoFileReader* _tmp10_ = NULL; + PhotoFileReader* _tmp11_ = NULL; +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->priv->readers; +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->developer; +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _photo_file_adapter_ref0 (_tmp10_); +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp11_; +#line 7941 "Photo.c" + { + PhotoBackingReaders* _tmp12_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7948 "Photo.c" + } +#line 979 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7952 "Photo.c" + } +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->readers; +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->master; +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _photo_file_adapter_ref0 (_tmp14_); +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp15_; +#line 7962 "Photo.c" + { + PhotoBackingReaders* _tmp16_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7969 "Photo.c" + } +#line 981 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 7973 "Photo.c" + } + __finally273: + { + PhotoBackingReaders* _tmp17_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->priv->readers; +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 7982 "Photo.c" + } +#line 974 "/home/jens/Source/shotwell/src/Photo.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 974 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 974 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 7990 "Photo.c" + } +} + + +static PhotoFileReader* photo_get_source_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 986 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8000 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8007 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoBackingReaders* _tmp7_ = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoBackingReaders* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + PhotoFileReader* _tmp15_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 988 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 988 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 8022 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _photo_file_adapter_ref0 (_tmp4_); +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 8034 "Photo.c" + { + PhotoBackingReaders* _tmp6_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8041 "Photo.c" + } +#line 989 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8045 "Photo.c" + } +#line 991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->developer; +#line 991 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != NULL) { +#line 8053 "Photo.c" + PhotoBackingReaders* _tmp9_ = NULL; + PhotoFileReader* _tmp10_ = NULL; + PhotoFileReader* _tmp11_ = NULL; +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->priv->readers; +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->developer; +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _photo_file_adapter_ref0 (_tmp10_); +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp11_; +#line 8065 "Photo.c" + { + PhotoBackingReaders* _tmp12_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8072 "Photo.c" + } +#line 992 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8076 "Photo.c" + } +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->readers; +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->master; +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _photo_file_adapter_ref0 (_tmp14_); +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp15_; +#line 8086 "Photo.c" + { + PhotoBackingReaders* _tmp16_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8093 "Photo.c" + } +#line 994 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8097 "Photo.c" + } + __finally274: + { + PhotoBackingReaders* _tmp17_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->priv->readers; +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8106 "Photo.c" + } +#line 987 "/home/jens/Source/shotwell/src/Photo.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 987 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 987 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8114 "Photo.c" + } +} + + +static PhotoFileReader* photo_get_raw_developer_reader (Photo* self) { + PhotoFileReader* result = NULL; + GError * _inner_error_ = NULL; +#line 999 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8124 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8131 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->developer; +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_file_adapter_ref0 (_tmp2_); +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 8144 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8151 "Photo.c" + } +#line 1001 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8155 "Photo.c" + } + __finally275: + { + PhotoBackingReaders* _tmp5_ = NULL; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8164 "Photo.c" + } +#line 1000 "/home/jens/Source/shotwell/src/Photo.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 1000 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1000 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8172 "Photo.c" + } +} + + +gboolean photo_is_developed (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1005 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8182 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8189 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->developer; +#line 1007 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_ != NULL; +#line 8199 "Photo.c" + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8206 "Photo.c" + } +#line 1007 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8210 "Photo.c" + } + __finally276: + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8219 "Photo.c" + } +#line 1006 "/home/jens/Source/shotwell/src/Photo.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 1006 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1006 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8227 "Photo.c" + } +} + + +gboolean photo_has_editable (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1011 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8237 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8244 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 1013 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_ != NULL; +#line 8254 "Photo.c" + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8261 "Photo.c" + } +#line 1013 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8265 "Photo.c" + } + __finally277: + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8274 "Photo.c" + } +#line 1012 "/home/jens/Source/shotwell/src/Photo.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 1012 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1012 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8282 "Photo.c" + } +} + + +gboolean photo_does_master_exist (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1017 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8292 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8299 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_file_exists (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 8312 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8319 "Photo.c" + } +#line 1019 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8323 "Photo.c" + } + __finally278: + { + PhotoBackingReaders* _tmp5_ = NULL; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8332 "Photo.c" + } +#line 1018 "/home/jens/Source/shotwell/src/Photo.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 1018 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1018 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8340 "Photo.c" + } +} + + +gboolean photo_does_editable_exist (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1024 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8350 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8357 "Photo.c" + { + gboolean _tmp1_ = FALSE; + PhotoBackingReaders* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->readers; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->editable; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 8368 "Photo.c" + PhotoBackingReaders* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->editable; +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_adapter_file_exists (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp6_; +#line 8380 "Photo.c" + } else { +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 8384 "Photo.c" + } +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 8388 "Photo.c" + { + PhotoBackingReaders* _tmp7_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8395 "Photo.c" + } +#line 1026 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8399 "Photo.c" + } + __finally279: + { + PhotoBackingReaders* _tmp8_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->priv->readers; +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8408 "Photo.c" + } +#line 1025 "/home/jens/Source/shotwell/src/Photo.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 1025 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1025 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8416 "Photo.c" + } +} + + +gboolean photo_is_master_baseline (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1030 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8426 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8433 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 1032 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_ == NULL; +#line 8443 "Photo.c" + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8450 "Photo.c" + } +#line 1032 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8454 "Photo.c" + } + __finally280: + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8463 "Photo.c" + } +#line 1031 "/home/jens/Source/shotwell/src/Photo.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 1031 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1031 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8471 "Photo.c" + } +} + + +gboolean photo_is_master_source (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 1036 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_editable (self); +#line 1037 "/home/jens/Source/shotwell/src/Photo.vala" + result = !_tmp0_; +#line 1037 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8487 "Photo.c" +} + + +gboolean photo_is_editable_baseline (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 1040 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 8496 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 8503 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1042 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1042 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 1042 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_ != NULL; +#line 8513 "Photo.c" + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8520 "Photo.c" + } +#line 1042 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8524 "Photo.c" + } + __finally281: + { + PhotoBackingReaders* _tmp4_ = NULL; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 8533 "Photo.c" + } +#line 1041 "/home/jens/Source/shotwell/src/Photo.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 1041 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1041 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 8541 "Photo.c" + } +} + + +gboolean photo_is_editable_source (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 1046 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_editable (self); +#line 1047 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 1047 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8557 "Photo.c" +} + + +BackingPhotoRow* photo_get_master_photo_row (Photo* self) { + BackingPhotoRow* result = NULL; + GError * _inner_error_ = NULL; +#line 1050 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8566 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 8573 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + BackingPhotoRow* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _backing_photo_row_ref0 (_tmp2_); +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 8586 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8593 "Photo.c" + } +#line 1052 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8597 "Photo.c" + } + __finally282: + { + PhotoRow* _tmp5_ = NULL; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8606 "Photo.c" + } +#line 1051 "/home/jens/Source/shotwell/src/Photo.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 1051 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1051 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8614 "Photo.c" + } +} + + +BackingPhotoRow* photo_get_editable_photo_row (Photo* self) { + BackingPhotoRow* result = NULL; + GError * _inner_error_ = NULL; +#line 1056 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8624 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 8631 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 1059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = backing_photo_id_is_valid (&_tmp1_->editable_id); +#line 1059 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 8641 "Photo.c" + BackingPhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; +#line 1060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->editable; +#line 1060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _backing_photo_row_ref0 (_tmp3_); +#line 1060 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 8650 "Photo.c" + { + PhotoRow* _tmp5_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8657 "Photo.c" + } +#line 1060 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8661 "Photo.c" + } else { +#line 1062 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 8665 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8672 "Photo.c" + } +#line 1062 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8676 "Photo.c" + } + } + __finally283: + { + PhotoRow* _tmp7_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8686 "Photo.c" + } +#line 1057 "/home/jens/Source/shotwell/src/Photo.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 1057 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1057 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8694 "Photo.c" + } +} + + +GeeCollection* photo_get_raw_development_photo_rows (Photo* self) { + GeeCollection* result = NULL; + GError * _inner_error_ = NULL; +#line 1066 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8704 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 8711 "Photo.c" + { + GeeCollection* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->developments; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 8719 "Photo.c" + GeeHashMap* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->developments; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_MAP, GeeMap)); +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp5_; +#line 8733 "Photo.c" + } else { +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 8739 "Photo.c" + } +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 8743 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8750 "Photo.c" + } +#line 1068 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8754 "Photo.c" + } + __finally284: + { + PhotoRow* _tmp7_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8763 "Photo.c" + } +#line 1067 "/home/jens/Source/shotwell/src/Photo.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 1067 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1067 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8771 "Photo.c" + } +} + + +BackingPhotoRow* photo_get_raw_development_photo_row (Photo* self, RawDeveloper d) { + BackingPhotoRow* result = NULL; + GError * _inner_error_ = NULL; +#line 1072 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 8781 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 8788 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->developments; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 8796 "Photo.c" + GeeHashMap* _tmp3_ = NULL; + RawDeveloper _tmp4_ = 0; + gpointer _tmp5_ = NULL; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->developments; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = d; +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp4_)); +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = (BackingPhotoRow*) _tmp5_; +#line 8810 "Photo.c" + } else { +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp1_); +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 8816 "Photo.c" + } +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 8820 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8827 "Photo.c" + } +#line 1074 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8831 "Photo.c" + } + __finally285: + { + PhotoRow* _tmp7_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 8840 "Photo.c" + } +#line 1073 "/home/jens/Source/shotwell/src/Photo.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 1073 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1073 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 8848 "Photo.c" + } +} + + +static PhotoFileFormat* _photo_file_format_dup (PhotoFileFormat* self) { + PhotoFileFormat* dup; +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + dup = g_new0 (PhotoFileFormat, 1); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + memcpy (dup, self, sizeof (PhotoFileFormat)); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + return dup; +#line 8861 "Photo.c" +} + + +static gpointer __photo_file_format_dup0 (gpointer self) { +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? _photo_file_format_dup (self) : NULL; +#line 8868 "Photo.c" +} + + +PhotoFileFormat* photo_get_editable_file_format (Photo* self) { + PhotoFileFormat* result = NULL; + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + PhotoFileFormat* _tmp4_ = NULL; +#line 1078 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 1079 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp0_; +#line 1080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = reader; +#line 1080 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 1081 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 1081 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1081 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8896 "Photo.c" + } +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = reader; +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = __photo_file_format_dup0 (&_tmp3_); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1084 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8910 "Photo.c" +} + + +PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params) { + PhotoFileFormat result = 0; + PhotoFileFormat _result_ = 0; + PhotoFileFormat _tmp0_ = 0; + ExportFormatParameters _tmp1_ = {0}; + ExportFormatMode _tmp2_ = 0; +#line 1087 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 1087 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (params != NULL, 0); +#line 1088 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_file_format_get_system_default_format (); +#line 1088 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp0_; +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *params; +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_.mode; +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp2_) { +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_UNMODIFIED: +#line 8936 "Photo.c" + { + PhotoFileFormat _tmp3_ = 0; +#line 1092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_master_file_format (self); +#line 1092 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp3_; +#line 1093 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 8945 "Photo.c" + } +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_CURRENT: +#line 8949 "Photo.c" + { + PhotoFileFormat _tmp4_ = 0; +#line 1096 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_best_export_file_format (self); +#line 1096 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp4_; +#line 1097 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 8958 "Photo.c" + } +#line 1090 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_SPECIFIED: +#line 8962 "Photo.c" + { + ExportFormatParameters _tmp5_ = {0}; + PhotoFileFormat _tmp6_ = 0; +#line 1100 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *params; +#line 1100 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_.specified_format; +#line 1100 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp6_; +#line 1101 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 8974 "Photo.c" + } + default: + { +#line 1104 "/home/jens/Source/shotwell/src/Photo.vala" + g_error ("Photo.vala:1104: get_export_format_for_parameters: unsupported export " \ +"format mode"); +#line 8980 "Photo.c" + } + } +#line 1107 "/home/jens/Source/shotwell/src/Photo.vala" + result = _result_; +#line 1107 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 8987 "Photo.c" +} + + +gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params) { + gchar* result = NULL; + gchar* _result_ = NULL; + ExportFormatParameters _tmp0_ = {0}; + ExportFormatMode _tmp1_ = 0; + const gchar* _tmp8_ = NULL; +#line 1110 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1110 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (params != NULL, NULL); +#line 1111 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = NULL; +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = *params; +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.mode; +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp1_) { +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_UNMODIFIED: +#line 9011 "Photo.c" + { + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_file_get_basename (_tmp3_); +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_result_); +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp4_; +#line 1115 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 1116 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 9030 "Photo.c" + } +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_CURRENT: +#line 1113 "/home/jens/Source/shotwell/src/Photo.vala" + case EXPORT_FORMAT_MODE_SPECIFIED: +#line 9036 "Photo.c" + { + ExportFormatParameters _tmp5_ = {0}; + PhotoFileFormat _tmp6_ = 0; + gchar* _tmp7_ = NULL; +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *params; +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_get_export_format_for_parameters (self, &_tmp5_); +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_get_export_basename (self, &_tmp6_); +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp7_; +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_result_); +#line 1120 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9053 "Photo.c" + } + default: + { +#line 1123 "/home/jens/Source/shotwell/src/Photo.vala" + g_error ("Photo.vala:1123: get_export_basename_for_parameters: unsupported expor" \ +"t format mode"); +#line 9059 "Photo.c" + } + } +#line 1126 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _result_; +#line 1126 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp8_ != NULL, "result != null"); +#line 1127 "/home/jens/Source/shotwell/src/Photo.vala" + result = _result_; +#line 1127 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9070 "Photo.c" +} + + +ImportResult photo_prepare_for_import (PhotoImportParams* params) { + ImportResult result = 0; + GFile* file = NULL; + PhotoImportParams* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* info = NULL; + GFileInfo* _tmp7_ = NULL; + GFileType _tmp8_ = 0; + GFile* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + GTimeVal timestamp = {0}; + GFileInfo* _tmp19_ = NULL; + GTimeVal _tmp20_ = {0}; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + PhotoImportParams* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + PhotoFileInterrogator* interrogator = NULL; + GFile* _tmp32_ = NULL; + PhotoImportParams* _tmp33_ = NULL; + PhotoFileSnifferOptions _tmp34_ = 0; + PhotoFileInterrogator* _tmp35_ = NULL; + PhotoFileInterrogator* _tmp42_ = NULL; + gboolean _tmp43_ = FALSE; + DetectedPhotoInformation* detected = NULL; + PhotoFileInterrogator* _tmp44_ = NULL; + DetectedPhotoInformation* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + DetectedPhotoInformation* _tmp47_ = NULL; + PhotoImportParams* _tmp50_ = NULL; + PhotoFileSnifferOptions _tmp51_ = 0; + Orientation orientation = 0; + time_t exposure_time = 0; + gchar* title = NULL; + gchar* _tmp64_ = NULL; + gchar* comment = NULL; + gchar* _tmp65_ = NULL; + Rating rating = 0; + DetectedPhotoInformation* _tmp66_ = NULL; + PhotoMetadata* _tmp67_ = NULL; + gboolean _tmp90_ = FALSE; + gboolean _tmp91_ = FALSE; + DetectedPhotoInformation* _tmp92_ = NULL; + GdkColorspace _tmp93_ = 0; + PhotoImportParams* _tmp101_ = NULL; + PhotoRow* _tmp102_ = NULL; + PhotoImportParams* _tmp103_ = NULL; + PhotoRow* _tmp104_ = NULL; + BackingPhotoRow* _tmp105_ = NULL; + GFile* _tmp106_ = NULL; + gchar* _tmp107_ = NULL; + PhotoImportParams* _tmp108_ = NULL; + PhotoRow* _tmp109_ = NULL; + BackingPhotoRow* _tmp110_ = NULL; + DetectedPhotoInformation* _tmp111_ = NULL; + Dimensions _tmp112_ = {0}; + PhotoImportParams* _tmp113_ = NULL; + PhotoRow* _tmp114_ = NULL; + BackingPhotoRow* _tmp115_ = NULL; + GFileInfo* _tmp116_ = NULL; + gint64 _tmp117_ = 0LL; + PhotoImportParams* _tmp118_ = NULL; + PhotoRow* _tmp119_ = NULL; + BackingPhotoRow* _tmp120_ = NULL; + GTimeVal _tmp121_ = {0}; + glong _tmp122_ = 0L; + PhotoImportParams* _tmp123_ = NULL; + PhotoRow* _tmp124_ = NULL; + time_t _tmp125_ = 0; + PhotoImportParams* _tmp126_ = NULL; + PhotoRow* _tmp127_ = NULL; + Orientation _tmp128_ = 0; + PhotoImportParams* _tmp129_ = NULL; + PhotoRow* _tmp130_ = NULL; + BackingPhotoRow* _tmp131_ = NULL; + Orientation _tmp132_ = 0; + PhotoImportParams* _tmp133_ = NULL; + PhotoRow* _tmp134_ = NULL; + PhotoImportParams* _tmp135_ = NULL; + ImportID _tmp136_ = {0}; + PhotoImportParams* _tmp137_ = NULL; + PhotoRow* _tmp138_ = NULL; + PhotoImportParams* _tmp139_ = NULL; + PhotoRow* _tmp140_ = NULL; + PhotoImportParams* _tmp141_ = NULL; + PhotoRow* _tmp142_ = NULL; + DetectedPhotoInformation* _tmp143_ = NULL; + const gchar* _tmp144_ = NULL; + gchar* _tmp145_ = NULL; + PhotoImportParams* _tmp146_ = NULL; + PhotoRow* _tmp147_ = NULL; + DetectedPhotoInformation* _tmp148_ = NULL; + const gchar* _tmp149_ = NULL; + gchar* _tmp150_ = NULL; + PhotoImportParams* _tmp151_ = NULL; + PhotoRow* _tmp152_ = NULL; + DetectedPhotoInformation* _tmp153_ = NULL; + const gchar* _tmp154_ = NULL; + gchar* _tmp155_ = NULL; + PhotoImportParams* _tmp156_ = NULL; + PhotoRow* _tmp157_ = NULL; + PhotoImportParams* _tmp158_ = NULL; + PhotoRow* _tmp159_ = NULL; + PhotoImportParams* _tmp160_ = NULL; + PhotoRow* _tmp161_ = NULL; + BackingPhotoRow* _tmp162_ = NULL; + DetectedPhotoInformation* _tmp163_ = NULL; + PhotoFileFormat _tmp164_ = 0; + PhotoImportParams* _tmp165_ = NULL; + PhotoRow* _tmp166_ = NULL; + const gchar* _tmp167_ = NULL; + gchar* _tmp168_ = NULL; + PhotoImportParams* _tmp169_ = NULL; + PhotoRow* _tmp170_ = NULL; + const gchar* _tmp171_ = NULL; + gchar* _tmp172_ = NULL; + PhotoImportParams* _tmp173_ = NULL; + PhotoRow* _tmp174_ = NULL; + Rating _tmp175_ = 0; + PhotoImportParams* _tmp176_ = NULL; + Thumbnails* _tmp177_ = NULL; + GError * _inner_error_ = NULL; +#line 1142 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_PARAMS (params), 0); +#line 1146 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = params; +#line 1146 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->file; +#line 1146 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1146 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp2_; +#line 1148 "/home/jens/Source/shotwell/src/Photo.vala" + info = NULL; +#line 9211 "Photo.c" + { + GFileInfo* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = file; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = g_file_query_info (_tmp4_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp5_; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9225 "Photo.c" + goto __catch286_g_error; + } +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp3_; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = NULL; +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1150 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp6_; +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 9238 "Photo.c" + } + goto __finally286; + __catch286_g_error: + { + GError* err = NULL; +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_FILE_ERROR; +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1153 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9258 "Photo.c" + } + __finally286: +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1149 "/home/jens/Source/shotwell/src/Photo.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 1149 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1149 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 9273 "Photo.c" + } +#line 1156 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = info; +#line 1156 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_info_get_file_type (_tmp7_); +#line 1156 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != G_FILE_TYPE_REGULAR) { +#line 1157 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_NOT_A_FILE; +#line 1157 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1157 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1157 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9289 "Photo.c" + } +#line 1159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = file; +#line 1159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_is_file_image (_tmp9_); +#line 1159 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp10_) { +#line 9297 "Photo.c" + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = file; +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + g_message ("Photo.vala:1160: Not importing %s: Not an image file", _tmp13_); +#line 1160 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp13_); +#line 1162 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_NOT_AN_IMAGE; +#line 1162 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1162 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1162 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9319 "Photo.c" + } +#line 1165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 1165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_format_is_file_supported (_tmp14_); +#line 1165 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp15_) { +#line 9327 "Photo.c" + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = file; +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + g_message ("Photo.vala:1166: Not importing %s: Unsupported extension", _tmp18_); +#line 1166 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp18_); +#line 1168 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 1168 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1168 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1168 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9349 "Photo.c" + } +#line 1171 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = info; +#line 1171 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp19_, &_tmp20_); +#line 1171 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp = _tmp20_; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = params; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->exif_md5; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_ != NULL) { +#line 9363 "Photo.c" + PhotoImportParams* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = params; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->thumbnail_md5; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp26_ != NULL; +#line 9372 "Photo.c" + } else { +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = FALSE; +#line 9376 "Photo.c" + } +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_) { +#line 9380 "Photo.c" + PhotoImportParams* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = params; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->full_md5; +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp28_ != NULL; +#line 9389 "Photo.c" + } else { +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = FALSE; +#line 9393 "Photo.c" + } +#line 1174 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_) { +#line 9397 "Photo.c" + PhotoImportParams* _tmp29_ = NULL; + PhotoImportParams* _tmp30_ = NULL; + PhotoFileSnifferOptions _tmp31_ = 0; +#line 1175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = params; +#line 1175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = params; +#line 1175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_->sniffer_options; +#line 1175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_->sniffer_options = _tmp31_ | PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5; +#line 9409 "Photo.c" + } +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = file; +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = params; +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_->sniffer_options; +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_file_interrogator_new (_tmp32_, _tmp34_); +#line 1178 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp35_; +#line 9421 "Photo.c" + { + PhotoFileInterrogator* _tmp36_ = NULL; +#line 1180 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = interrogator; +#line 1180 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (_tmp36_, &_inner_error_); +#line 1180 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9430 "Photo.c" + goto __catch287_g_error; + } + } + goto __finally287; + __catch287_g_error: + { + GError* err = NULL; + GFile* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + GError* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = file; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = g_file_get_path (_tmp37_); +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = err; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_->message; +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:1182: Unable to interrogate photo file %s: %s", _tmp39_, _tmp41_); +#line 1182 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp39_); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_DECODE_ERROR; +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1184 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9473 "Photo.c" + } + __finally287: +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1179 "/home/jens/Source/shotwell/src/Photo.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 1179 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1179 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 9490 "Photo.c" + } +#line 1187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = interrogator; +#line 1187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = photo_file_interrogator_get_is_photo_corrupted (_tmp42_); +#line 1187 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp43_) { +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_NOT_AN_IMAGE; +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1188 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9508 "Photo.c" + } +#line 1191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = interrogator; +#line 1191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = photo_file_interrogator_get_detected_photo_information (_tmp44_); +#line 1191 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp45_; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = detected; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp47_ == NULL) { +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = TRUE; +#line 9522 "Photo.c" + } else { + DetectedPhotoInformation* _tmp48_ = NULL; + PhotoFileFormat _tmp49_ = 0; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = detected; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_->file_format; +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = _tmp49_ == PHOTO_FILE_FORMAT_UNKNOWN; +#line 9532 "Photo.c" + } +#line 1192 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp46_) { +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1193 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9548 "Photo.c" + } +#line 1196 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = params; +#line 1196 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_->sniffer_options; +#line 1196 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp51_ & PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5) != 0) { +#line 9556 "Photo.c" + DetectedPhotoInformation* _tmp52_ = NULL; + PhotoImportParams* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + DetectedPhotoInformation* _tmp56_ = NULL; + PhotoImportParams* _tmp57_ = NULL; + const gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + DetectedPhotoInformation* _tmp60_ = NULL; + PhotoImportParams* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = detected; +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = params; +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp53_->exif_md5; +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = g_strdup (_tmp54_); +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp52_->exif_md5); +#line 1197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_->exif_md5 = _tmp55_; +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = detected; +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = params; +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp57_->thumbnail_md5; +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = g_strdup (_tmp58_); +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp56_->thumbnail_md5); +#line 1198 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_->thumbnail_md5 = _tmp59_; +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = detected; +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = params; +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = _tmp61_->full_md5; +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = g_strdup (_tmp62_); +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp60_->md5); +#line 1199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_->md5 = _tmp63_; +#line 9605 "Photo.c" + } +#line 1202 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = ORIENTATION_TOP_LEFT; +#line 1203 "/home/jens/Source/shotwell/src/Photo.vala" + exposure_time = (time_t) 0; +#line 1204 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = g_strdup (""); +#line 1204 "/home/jens/Source/shotwell/src/Photo.vala" + title = _tmp64_; +#line 1205 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = g_strdup (""); +#line 1205 "/home/jens/Source/shotwell/src/Photo.vala" + comment = _tmp65_; +#line 1206 "/home/jens/Source/shotwell/src/Photo.vala" + rating = RATING_UNRATED; +#line 1213 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = detected; +#line 1213 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp66_->metadata; +#line 1213 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp67_ != NULL) { +#line 9627 "Photo.c" + MetadataDateTime* date_time = NULL; + DetectedPhotoInformation* _tmp68_ = NULL; + PhotoMetadata* _tmp69_ = NULL; + MetadataDateTime* _tmp70_ = NULL; + MetadataDateTime* _tmp71_ = NULL; + DetectedPhotoInformation* _tmp74_ = NULL; + PhotoMetadata* _tmp75_ = NULL; + Orientation _tmp76_ = 0; + DetectedPhotoInformation* _tmp77_ = NULL; + PhotoMetadata* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + DetectedPhotoInformation* _tmp80_ = NULL; + PhotoMetadata* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + PhotoImportParams* _tmp83_ = NULL; + DetectedPhotoInformation* _tmp84_ = NULL; + PhotoMetadata* _tmp85_ = NULL; + GeeSet* _tmp86_ = NULL; + DetectedPhotoInformation* _tmp87_ = NULL; + PhotoMetadata* _tmp88_ = NULL; + Rating _tmp89_ = 0; +#line 1214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = detected; +#line 1214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _tmp68_->metadata; +#line 1214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = photo_metadata_get_exposure_date_time (_tmp69_); +#line 1214 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp70_; +#line 1215 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = date_time; +#line 1215 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp71_ != NULL) { +#line 9661 "Photo.c" + MetadataDateTime* _tmp72_ = NULL; + time_t _tmp73_ = 0; +#line 1216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = date_time; +#line 1216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = metadata_date_time_get_timestamp (_tmp72_); +#line 1216 "/home/jens/Source/shotwell/src/Photo.vala" + exposure_time = _tmp73_; +#line 9670 "Photo.c" + } +#line 1218 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = detected; +#line 1218 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = _tmp74_->metadata; +#line 1218 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = photo_metadata_get_orientation (_tmp75_); +#line 1218 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp76_; +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = detected; +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = _tmp77_->metadata; +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1219 "/home/jens/Source/shotwell/src/Photo.vala" + title = _tmp79_; +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = detected; +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = _tmp80_->metadata; +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1220 "/home/jens/Source/shotwell/src/Photo.vala" + comment = _tmp82_; +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = params; +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = detected; +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = _tmp84_->metadata; +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = photo_metadata_get_keywords (_tmp85_, NULL, NULL, NULL); +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp83_->keywords); +#line 1221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_->keywords = G_TYPE_CHECK_INSTANCE_CAST (_tmp86_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1222 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = detected; +#line 1222 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _tmp87_->metadata; +#line 1222 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = photo_metadata_get_rating (_tmp88_); +#line 1222 "/home/jens/Source/shotwell/src/Photo.vala" + rating = _tmp89_; +#line 1213 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 9722 "Photo.c" + } +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = detected; +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = _tmp92_->colorspace; +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp93_ != GDK_COLORSPACE_RGB) { +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = TRUE; +#line 9732 "Photo.c" + } else { + DetectedPhotoInformation* _tmp94_ = NULL; + gint _tmp95_ = 0; +#line 1227 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = detected; +#line 1227 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = _tmp94_->channels; +#line 1227 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = _tmp95_ < 3; +#line 9742 "Photo.c" + } +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp91_) { +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = TRUE; +#line 9748 "Photo.c" + } else { + DetectedPhotoInformation* _tmp96_ = NULL; + gint _tmp97_ = 0; +#line 1228 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = detected; +#line 1228 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = _tmp96_->bits_per_channel; +#line 1228 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp97_ != 8; +#line 9758 "Photo.c" + } +#line 1226 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp90_) { +#line 9762 "Photo.c" + GFile* _tmp98_ = NULL; + gchar* _tmp99_ = NULL; + gchar* _tmp100_ = NULL; +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = file; +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = g_file_get_path (_tmp98_); +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = _tmp99_; +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + g_message ("Photo.vala:1229: Not importing %s: Unsupported color format", _tmp100_); +#line 1229 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp100_); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1231 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 9792 "Photo.c" + } +#line 1237 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = params; +#line 1237 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = _tmp101_->row; +#line 1237 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp102_->photo_id, PHOTO_ID_INVALID); +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = params; +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = _tmp103_->row; +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = _tmp104_->master; +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = file; +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = g_file_get_path (_tmp106_); +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp105_->filepath); +#line 1238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_->filepath = _tmp107_; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = params; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = _tmp108_->row; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = _tmp109_->master; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = detected; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = _tmp111_->image_dim; +#line 1239 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_->dim = _tmp112_; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = params; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = _tmp113_->row; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = _tmp114_->master; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = info; +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = g_file_info_get_size (_tmp116_); +#line 1240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_->filesize = _tmp117_; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = params; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = _tmp118_->row; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = _tmp119_->master; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = timestamp; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = _tmp121_.tv_sec; +#line 1241 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_->timestamp = (time_t) _tmp122_; +#line 1242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = params; +#line 1242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = _tmp123_->row; +#line 1242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = exposure_time; +#line 1242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_->exposure_time = _tmp125_; +#line 1243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126_ = params; +#line 1243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_ = _tmp126_->row; +#line 1243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp128_ = orientation; +#line 1243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_->orientation = _tmp128_; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129_ = params; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp130_ = _tmp129_->row; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_ = _tmp130_->master; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132_ = orientation; +#line 1244 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_->original_orientation = _tmp132_; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp133_ = params; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_ = _tmp133_->row; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp135_ = params; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp136_ = _tmp135_->import_id; +#line 1245 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_->import_id = _tmp136_; +#line 1246 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp137_ = params; +#line 1246 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp138_ = _tmp137_->row; +#line 1246 "/home/jens/Source/shotwell/src/Photo.vala" + event_id_init (&_tmp138_->event_id, EVENT_ID_INVALID); +#line 1247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp139_ = params; +#line 1247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp140_ = _tmp139_->row; +#line 1247 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp140_->transformations); +#line 1247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp140_->transformations = NULL; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp141_ = params; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp142_ = _tmp141_->row; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp143_ = detected; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp144_ = _tmp143_->md5; +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp145_ = g_strdup (_tmp144_); +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp142_->md5); +#line 1248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp142_->md5 = _tmp145_; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp146_ = params; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp147_ = _tmp146_->row; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp148_ = detected; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp149_ = _tmp148_->thumbnail_md5; +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp150_ = g_strdup (_tmp149_); +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp147_->thumbnail_md5); +#line 1249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp147_->thumbnail_md5 = _tmp150_; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp151_ = params; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp152_ = _tmp151_->row; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp153_ = detected; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp154_ = _tmp153_->exif_md5; +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp155_ = g_strdup (_tmp154_); +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp152_->exif_md5); +#line 1250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp152_->exif_md5 = _tmp155_; +#line 1251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp156_ = params; +#line 1251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp157_ = _tmp156_->row; +#line 1251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp157_->time_created = (time_t) 0; +#line 1252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp158_ = params; +#line 1252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp159_ = _tmp158_->row; +#line 1252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp159_->flags = (guint64) 0; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp160_ = params; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp161_ = _tmp160_->row; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp162_ = _tmp161_->master; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp163_ = detected; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp164_ = _tmp163_->file_format; +#line 1253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp162_->file_format = _tmp164_; +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp165_ = params; +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp166_ = _tmp165_->row; +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp167_ = title; +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp168_ = g_strdup (_tmp167_); +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp166_->title); +#line 1254 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp166_->title = _tmp168_; +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp169_ = params; +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp170_ = _tmp169_->row; +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp171_ = comment; +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp172_ = g_strdup (_tmp171_); +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp170_->comment); +#line 1255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp170_->comment = _tmp172_; +#line 1256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp173_ = params; +#line 1256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp174_ = _tmp173_->row; +#line 1256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp175_ = rating; +#line 1256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp174_->rating = _tmp175_; +#line 1258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp176_ = params; +#line 1258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp177_ = _tmp176_->thumbnails; +#line 1258 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp177_ != NULL) { +#line 10004 "Photo.c" + PhotoFileReader* reader = NULL; + PhotoImportParams* _tmp178_ = NULL; + PhotoRow* _tmp179_ = NULL; + BackingPhotoRow* _tmp180_ = NULL; + PhotoFileFormat _tmp181_ = 0; + PhotoImportParams* _tmp182_ = NULL; + PhotoRow* _tmp183_ = NULL; + BackingPhotoRow* _tmp184_ = NULL; + const gchar* _tmp185_ = NULL; + PhotoFileReader* _tmp186_ = NULL; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp178_ = params; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp179_ = _tmp178_->row; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp180_ = _tmp179_->master; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp181_ = _tmp180_->file_format; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp182_ = params; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp183_ = _tmp182_->row; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp184_ = _tmp183_->master; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp185_ = _tmp184_->filepath; +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp186_ = photo_file_format_create_reader (_tmp181_, _tmp185_); +#line 1259 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp186_; +#line 10035 "Photo.c" + { + PhotoImportParams* _tmp187_ = NULL; + Thumbnails* _tmp188_ = NULL; + PhotoFileReader* _tmp189_ = NULL; + PhotoImportParams* _tmp190_ = NULL; + PhotoRow* _tmp191_ = NULL; + Orientation _tmp192_ = 0; + PhotoImportParams* _tmp193_ = NULL; + PhotoRow* _tmp194_ = NULL; + BackingPhotoRow* _tmp195_ = NULL; + Dimensions _tmp196_ = {0}; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp187_ = params; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp188_ = _tmp187_->thumbnails; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp189_ = reader; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp190_ = params; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp191_ = _tmp190_->row; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp192_ = _tmp191_->orientation; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp193_ = params; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp194_ = _tmp193_->row; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp195_ = _tmp194_->master; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp196_ = _tmp195_->dim; +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_generate_for_photo (_tmp188_, _tmp189_, _tmp192_, &_tmp196_, &_inner_error_); +#line 1262 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10071 "Photo.c" + goto __catch288_g_error; + } + } + goto __finally288; + __catch288_g_error: + { + GError* err = NULL; + GError* _tmp197_ = NULL; + ImportResult _tmp198_ = 0; +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp197_ = err; +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp198_ = import_result_convert_error (_tmp197_, IMPORT_RESULT_FILE_ERROR); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp198_; +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1265 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10109 "Photo.c" + } + __finally288: +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1261 "/home/jens/Source/shotwell/src/Photo.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 1261 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1261 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 10134 "Photo.c" + } +#line 1258 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 10138 "Photo.c" + } +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_SUCCESS; +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1272 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10156 "Photo.c" +} + + +void photo_create_pre_import (PhotoImportParams* params) { + GFile* file = NULL; + PhotoImportParams* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + PhotoImportParams* _tmp3_ = NULL; + PhotoRow* _tmp4_ = NULL; + PhotoImportParams* _tmp5_ = NULL; + PhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + PhotoImportParams* _tmp9_ = NULL; + PhotoRow* _tmp10_ = NULL; + BackingPhotoRow* _tmp11_ = NULL; + PhotoImportParams* _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; + PhotoImportParams* _tmp15_ = NULL; + PhotoRow* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + PhotoImportParams* _tmp18_ = NULL; + PhotoRow* _tmp19_ = NULL; + PhotoImportParams* _tmp20_ = NULL; + PhotoRow* _tmp21_ = NULL; + PhotoImportParams* _tmp22_ = NULL; + PhotoRow* _tmp23_ = NULL; + BackingPhotoRow* _tmp24_ = NULL; + PhotoImportParams* _tmp25_ = NULL; + PhotoRow* _tmp26_ = NULL; + PhotoImportParams* _tmp27_ = NULL; + ImportID _tmp28_ = {0}; + PhotoImportParams* _tmp29_ = NULL; + PhotoRow* _tmp30_ = NULL; + PhotoImportParams* _tmp31_ = NULL; + PhotoRow* _tmp32_ = NULL; + PhotoImportParams* _tmp33_ = NULL; + PhotoRow* _tmp34_ = NULL; + PhotoImportParams* _tmp35_ = NULL; + PhotoRow* _tmp36_ = NULL; + PhotoImportParams* _tmp37_ = NULL; + PhotoRow* _tmp38_ = NULL; + PhotoImportParams* _tmp39_ = NULL; + PhotoRow* _tmp40_ = NULL; + PhotoImportParams* _tmp41_ = NULL; + PhotoRow* _tmp42_ = NULL; + PhotoImportParams* _tmp43_ = NULL; + PhotoRow* _tmp44_ = NULL; + BackingPhotoRow* _tmp45_ = NULL; + PhotoImportParams* _tmp46_ = NULL; + PhotoRow* _tmp47_ = NULL; + PhotoImportParams* _tmp48_ = NULL; + PhotoRow* _tmp49_ = NULL; + PhotoImportParams* _tmp50_ = NULL; + PhotoRow* _tmp51_ = NULL; + PhotoFileInterrogator* interrogator = NULL; + PhotoImportParams* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; + PhotoImportParams* _tmp54_ = NULL; + PhotoFileSnifferOptions _tmp55_ = 0; + PhotoFileInterrogator* _tmp56_ = NULL; + GError * _inner_error_ = NULL; +#line 1275 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO_IMPORT_PARAMS (params)); +#line 1276 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = params; +#line 1276 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->file; +#line 1276 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1276 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp2_; +#line 1277 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = params; +#line 1277 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->row; +#line 1277 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp4_->photo_id, PHOTO_ID_INVALID); +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = params; +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->row; +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->master; +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_get_path (file); +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp7_->filepath); +#line 1278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_->filepath = _tmp8_; +#line 1279 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = params; +#line 1279 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->row; +#line 1279 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->master; +#line 1279 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&_tmp11_->dim, 0, 0); +#line 1280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = params; +#line 1280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->row; +#line 1280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->master; +#line 1280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->filesize = (gint64) 0; +#line 1281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = params; +#line 1281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->row; +#line 1281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->master; +#line 1281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_->timestamp = (time_t) 0; +#line 1282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = params; +#line 1282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->row; +#line 1282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_->exposure_time = (time_t) 0; +#line 1283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = params; +#line 1283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->row; +#line 1283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_->orientation = ORIENTATION_TOP_LEFT; +#line 1284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = params; +#line 1284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_->row; +#line 1284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->master; +#line 1284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_->original_orientation = ORIENTATION_TOP_LEFT; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = params; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->row; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = params; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->import_id; +#line 1285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_->import_id = _tmp28_; +#line 1286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = params; +#line 1286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_->row; +#line 1286 "/home/jens/Source/shotwell/src/Photo.vala" + event_id_init (&_tmp30_->event_id, EVENT_ID_INVALID); +#line 1287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = params; +#line 1287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->row; +#line 1287 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp32_->transformations); +#line 1287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_->transformations = NULL; +#line 1288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = params; +#line 1288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_->row; +#line 1288 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp34_->md5); +#line 1288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_->md5 = NULL; +#line 1289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = params; +#line 1289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_->row; +#line 1289 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp36_->thumbnail_md5); +#line 1289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_->thumbnail_md5 = NULL; +#line 1290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = params; +#line 1290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_->row; +#line 1290 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp38_->exif_md5); +#line 1290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_->exif_md5 = NULL; +#line 1291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = params; +#line 1291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tmp39_->row; +#line 1291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_->time_created = (time_t) 0; +#line 1292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = params; +#line 1292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->row; +#line 1292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_->flags = (guint64) 0; +#line 1293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = params; +#line 1293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_->row; +#line 1293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_->master; +#line 1293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_->file_format = PHOTO_FILE_FORMAT_JFIF; +#line 1294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = params; +#line 1294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_->row; +#line 1294 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp47_->title); +#line 1294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_->title = NULL; +#line 1295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = params; +#line 1295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_->row; +#line 1295 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp49_->comment); +#line 1295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_->comment = NULL; +#line 1296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = params; +#line 1296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_->row; +#line 1296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_->rating = RATING_UNRATED; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = params; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_->file; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = params; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tmp54_->sniffer_options; +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo_file_interrogator_new (_tmp53_, _tmp55_); +#line 1298 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp56_; +#line 10395 "Photo.c" + { + DetectedPhotoInformation* detected = NULL; + DetectedPhotoInformation* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; + gboolean _tmp59_ = FALSE; + DetectedPhotoInformation* _tmp60_ = NULL; +#line 1300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (interrogator, &_inner_error_); +#line 1300 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10406 "Photo.c" + goto __catch289_g_error; + } +#line 1301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = photo_file_interrogator_get_detected_photo_information (interrogator); +#line 1301 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp57_; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = detected; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp60_ != NULL) { +#line 10417 "Photo.c" + gboolean _tmp61_ = FALSE; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = photo_file_interrogator_get_is_photo_corrupted (interrogator); +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = !_tmp61_; +#line 10423 "Photo.c" + } else { +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = FALSE; +#line 10427 "Photo.c" + } +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp59_) { +#line 10431 "Photo.c" + DetectedPhotoInformation* _tmp62_ = NULL; + PhotoFileFormat _tmp63_ = 0; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = detected; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_->file_format; +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp63_ != PHOTO_FILE_FORMAT_UNKNOWN; +#line 10440 "Photo.c" + } else { +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = FALSE; +#line 10444 "Photo.c" + } +#line 1302 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp58_) { +#line 10448 "Photo.c" + PhotoImportParams* _tmp64_ = NULL; + PhotoRow* _tmp65_ = NULL; + BackingPhotoRow* _tmp66_ = NULL; + DetectedPhotoInformation* _tmp67_ = NULL; + PhotoFileFormat _tmp68_ = 0; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = params; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = _tmp64_->row; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = _tmp65_->master; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = detected; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp67_->file_format; +#line 1303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_->file_format = _tmp68_; +#line 10466 "Photo.c" + } +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 10470 "Photo.c" + } + goto __finally289; + __catch289_g_error: + { + GError* err = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + GError* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = g_file_get_path (file); +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp69_; +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = err; +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_->message; +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:1305: Unable to interrogate photo file %s: %s", _tmp70_, _tmp72_); +#line 1305 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp70_); +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 10498 "Photo.c" + } + __finally289: +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1299 "/home/jens/Source/shotwell/src/Photo.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 1299 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1299 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 10513 "Photo.c" + } +#line 1275 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1275 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 10519 "Photo.c" +} + + +BackingPhotoRow* photo_query_backing_photo_row (Photo* self, GFile* file, PhotoFileSnifferOptions options, DetectedPhotoInformation** detected, GError** error) { + DetectedPhotoInformation* _vala_detected = NULL; + BackingPhotoRow* result = NULL; + BackingPhotoRow* backing = NULL; + BackingPhotoRow* _tmp0_ = NULL; + GFileInfo* info = NULL; + PhotoFileInterrogator* interrogator = NULL; + GFile* _tmp10_ = NULL; + PhotoFileSnifferOptions _tmp11_ = 0; + PhotoFileInterrogator* _tmp12_ = NULL; + PhotoFileInterrogator* _tmp13_ = NULL; + PhotoFileInterrogator* _tmp14_ = NULL; + DetectedPhotoInformation* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + DetectedPhotoInformation* _tmp17_ = NULL; + GTimeVal modification_time = {0}; + GFileInfo* _tmp22_ = NULL; + GTimeVal _tmp23_ = {0}; + BackingPhotoRow* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + BackingPhotoRow* _tmp27_ = NULL; + GTimeVal _tmp28_ = {0}; + glong _tmp29_ = 0L; + BackingPhotoRow* _tmp30_ = NULL; + GFileInfo* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + BackingPhotoRow* _tmp33_ = NULL; + DetectedPhotoInformation* _tmp34_ = NULL; + PhotoFileFormat _tmp35_ = 0; + BackingPhotoRow* _tmp36_ = NULL; + DetectedPhotoInformation* _tmp37_ = NULL; + Dimensions _tmp38_ = {0}; + Orientation _tmp39_ = 0; + DetectedPhotoInformation* _tmp40_ = NULL; + PhotoMetadata* _tmp41_ = NULL; + BackingPhotoRow* _tmp45_ = NULL; + GError * _inner_error_ = NULL; +#line 1309 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1309 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 1311 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 1311 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_detected = NULL; +#line 1313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_photo_row_new (); +#line 1313 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp0_; +#line 1315 "/home/jens/Source/shotwell/src/Photo.vala" + info = NULL; +#line 10575 "Photo.c" + { + GFileInfo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_file_query_info (_tmp2_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp3_; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10589 "Photo.c" + goto __catch290_g_error; + } +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp1_; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1317 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp4_; +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 10602 "Photo.c" + } + goto __finally290; + __catch290_g_error: + { + GError* err = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = file; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = err; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->message; +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Photo.vala:1320: Unable to read file information for %s: %s", _tmp7_, _tmp9_); +#line 1320 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp7_); +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 10643 "Photo.c" + } else { +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 10647 "Photo.c" + } +#line 1322 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10651 "Photo.c" + } + __finally290: +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1316 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 10664 "Photo.c" + } +#line 1326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = file; +#line 1326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = options; +#line 1326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_file_interrogator_new (_tmp10_, _tmp11_); +#line 1326 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp12_; +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = interrogator; +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (_tmp13_, &_inner_error_); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1327 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 10690 "Photo.c" + } +#line 1328 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = interrogator; +#line 1328 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_interrogator_get_detected_photo_information (_tmp14_); +#line 1328 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 1328 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_detected = _tmp15_; +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _vala_detected; +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_ == NULL) { +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = TRUE; +#line 10706 "Photo.c" + } else { + PhotoFileInterrogator* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = interrogator; +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = photo_file_interrogator_get_is_photo_corrupted (_tmp18_); +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp19_; +#line 10716 "Photo.c" + } +#line 1329 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 10720 "Photo.c" + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 1330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 1330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 1330 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Photo.vala:1330: Photo update: %s no longer a recognized image", _tmp21_); +#line 1330 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp21_); +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 10743 "Photo.c" + } else { +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 10747 "Photo.c" + } +#line 1332 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10751 "Photo.c" + } +#line 1335 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = info; +#line 1335 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp22_, &_tmp23_); +#line 1335 "/home/jens/Source/shotwell/src/Photo.vala" + modification_time = _tmp23_; +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = backing; +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = file; +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = g_file_get_path (_tmp25_); +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp24_->filepath); +#line 1337 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_->filepath = _tmp26_; +#line 1338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = backing; +#line 1338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = modification_time; +#line 1338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_.tv_sec; +#line 1338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_->timestamp = (time_t) _tmp29_; +#line 1339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = backing; +#line 1339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = info; +#line 1339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = g_file_info_get_size (_tmp31_); +#line 1339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_->filesize = _tmp32_; +#line 1340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = backing; +#line 1340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _vala_detected; +#line 1340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->file_format; +#line 1340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_->file_format = _tmp35_; +#line 1341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = backing; +#line 1341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _vala_detected; +#line 1341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_->image_dim; +#line 1341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_->dim = _tmp38_; +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _vala_detected; +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_->metadata; +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_ != NULL) { +#line 10807 "Photo.c" + DetectedPhotoInformation* _tmp42_ = NULL; + PhotoMetadata* _tmp43_ = NULL; + Orientation _tmp44_ = 0; +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _vala_detected; +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp42_->metadata; +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = photo_metadata_get_orientation (_tmp43_); +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp44_; +#line 10819 "Photo.c" + } else { +#line 1343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = ORIENTATION_TOP_LEFT; +#line 10823 "Photo.c" + } +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = backing; +#line 1342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_->original_orientation = _tmp39_; +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + result = backing; +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 10839 "Photo.c" + } else { +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 10843 "Photo.c" + } +#line 1345 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 10847 "Photo.c" +} + + +static void _vala_array_add254 (gchar*** array, int* length, int* size, gchar* value) { +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10858 "Photo.c" + } +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10864 "Photo.c" +} + + +static void _vala_array_add255 (gchar*** array, int* length, int* size, gchar* value) { +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10875 "Photo.c" + } +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10881 "Photo.c" +} + + +static void _vala_array_add256 (gchar*** array, int* length, int* size, gchar* value) { +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10892 "Photo.c" + } +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10898 "Photo.c" +} + + +static void _vala_array_add257 (gchar*** array, int* length, int* size, gchar* value) { +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10909 "Photo.c" + } +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10915 "Photo.c" +} + + +static void _vala_array_add258 (gchar*** array, int* length, int* size, gchar* value) { +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10926 "Photo.c" + } +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10932 "Photo.c" +} + + +static void _vala_array_add259 (gchar*** array, int* length, int* size, gchar* value) { +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 10943 "Photo.c" + } +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 10949 "Photo.c" +} + + +static gpointer _media_metadata_ref0 (gpointer self) { +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? media_metadata_ref (self) : NULL; +#line 10956 "Photo.c" +} + + +gboolean photo_prepare_for_reimport_master (Photo* self, PhotoReimportMasterState** reimport_state, GError** error) { + PhotoReimportMasterState* _vala_reimport_state = NULL; + gboolean result = FALSE; + GFile* file = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* backing = NULL; + GFile* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp5_ = NULL; + BackingPhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + DetectedPhotoInformation* _tmp13_ = NULL; + GdkColorspace _tmp14_ = 0; + PhotoRow* updated_row = NULL; + PhotoRow* _tmp22_ = NULL; + gchar** list = NULL; + gchar** _tmp27_ = NULL; + gint list_length1 = 0; + gint _list_size_ = 0; + PhotoRow* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + DetectedPhotoInformation* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + PhotoRow* _tmp34_ = NULL; + BackingPhotoRow* _tmp35_ = NULL; + Orientation _tmp36_ = 0; + BackingPhotoRow* _tmp37_ = NULL; + Orientation _tmp38_ = 0; + DetectedPhotoInformation* _tmp45_ = NULL; + PhotoMetadata* _tmp46_ = NULL; + PhotoRow* _tmp83_ = NULL; + BackingPhotoRow* _tmp84_ = NULL; + BackingPhotoRow* _tmp85_ = NULL; + PhotoRow* _tmp86_ = NULL; + DetectedPhotoInformation* _tmp87_ = NULL; + const gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + PhotoRow* _tmp90_ = NULL; + DetectedPhotoInformation* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; + PhotoRow* _tmp94_ = NULL; + DetectedPhotoInformation* _tmp95_ = NULL; + const gchar* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + PhotoMetadata* metadata = NULL; + DetectedPhotoInformation* _tmp98_ = NULL; + PhotoMetadata* _tmp99_ = NULL; + PhotoRow* _tmp122_ = NULL; + PhotoMetadata* _tmp123_ = NULL; + gchar** _tmp124_ = NULL; + gint _tmp124__length1 = 0; + PhotoReimportMasterStateImpl* _tmp125_ = NULL; + GError * _inner_error_ = NULL; +#line 1409 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1410 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 1410 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_reimport_state = NULL; +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_reader (self); +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1412 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp3_; +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = file; +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_query_backing_photo_row (self, _tmp4_, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL, &_tmp5_, &_inner_error_); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp5_; +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp6_; +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1415 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 11057 "Photo.c" + } +#line 1417 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = backing; +#line 1417 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ == NULL) { +#line 11063 "Photo.c" + GFile* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = file; +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_file_get_path (_tmp8_); +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:1418: Unable to retrieve photo state from %s for reimport", _tmp10_); +#line 1418 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp10_); +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + if (reimport_state) { +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + *reimport_state = _vala_reimport_state; +#line 11089 "Photo.c" + } else { +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 11093 "Photo.c" + } +#line 1419 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 11097 "Photo.c" + } +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = detected; +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->colorspace; +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != GDK_COLORSPACE_RGB) { +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = TRUE; +#line 11107 "Photo.c" + } else { + DetectedPhotoInformation* _tmp15_ = NULL; + gint _tmp16_ = 0; +#line 1424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = detected; +#line 1424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->channels; +#line 1424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp16_ < 3; +#line 11117 "Photo.c" + } +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 11123 "Photo.c" + } else { + DetectedPhotoInformation* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 1425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = detected; +#line 1425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_->bits_per_channel; +#line 1425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp18_ != 8; +#line 11133 "Photo.c" + } +#line 1423 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 11137 "Photo.c" + GFile* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = file; +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = g_file_get_path (_tmp19_); +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:1426: Not re-importing %s: Unsupported color format", _tmp21_); +#line 1426 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp21_); +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + if (reimport_state) { +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + *reimport_state = _vala_reimport_state; +#line 11163 "Photo.c" + } else { +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 11167 "Photo.c" + } +#line 1428 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 11171 "Photo.c" + } +#line 1432 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_row_new (); +#line 1432 "/home/jens/Source/shotwell/src/Photo.vala" + updated_row = _tmp22_; +#line 11177 "Photo.c" + { + PhotoRow* _tmp23_ = NULL; +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = self->row; +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 11184 "Photo.c" + { + PhotoRow* _tmp24_ = NULL; + PhotoRow* _tmp25_ = NULL; +#line 1434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = self->row; +#line 1434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _photo_row_ref0 (_tmp24_); +#line 1434 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (updated_row); +#line 1434 "/home/jens/Source/shotwell/src/Photo.vala" + updated_row = _tmp25_; +#line 11196 "Photo.c" + } + __finally291: + { + PhotoRow* _tmp26_ = NULL; +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = self->row; +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 11205 "Photo.c" + } +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (updated_row); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1433 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 11221 "Photo.c" + } + } +#line 1438 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g_new0 (gchar*, 0 + 1); +#line 1438 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp27_; +#line 1438 "/home/jens/Source/shotwell/src/Photo.vala" + list_length1 = 0; +#line 1438 "/home/jens/Source/shotwell/src/Photo.vala" + _list_size_ = list_length1; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = updated_row; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_->md5; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = detected; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_->md5; +#line 1440 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_strcmp0 (_tmp29_, _tmp31_) != 0) { +#line 11242 "Photo.c" + gchar** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + gchar* _tmp33_ = NULL; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = list; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32__length1 = list_length1; +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = g_strdup ("metadata:md5"); +#line 1441 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add254 (&list, &list_length1, &_list_size_, _tmp33_); +#line 11254 "Photo.c" + } +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = updated_row; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->master; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_->original_orientation; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = backing; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_->original_orientation; +#line 1443 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp36_ != _tmp38_) { +#line 11268 "Photo.c" + gchar** _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gchar* _tmp40_ = NULL; + PhotoRow* _tmp41_ = NULL; + BackingPhotoRow* _tmp42_ = NULL; + BackingPhotoRow* _tmp43_ = NULL; + Orientation _tmp44_ = 0; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = list; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39__length1 = list_length1; +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = g_strdup ("image:orientation"); +#line 1444 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add255 (&list, &list_length1, &_list_size_, _tmp40_); +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = updated_row; +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->master; +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = backing; +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_->original_orientation; +#line 1445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_->original_orientation = _tmp44_; +#line 11294 "Photo.c" + } +#line 1448 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = detected; +#line 1448 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = _tmp45_->metadata; +#line 1448 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp46_ != NULL) { +#line 11302 "Photo.c" + MetadataDateTime* date_time = NULL; + DetectedPhotoInformation* _tmp47_ = NULL; + PhotoMetadata* _tmp48_ = NULL; + MetadataDateTime* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; + MetadataDateTime* _tmp51_ = NULL; + PhotoRow* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + DetectedPhotoInformation* _tmp60_ = NULL; + PhotoMetadata* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gboolean _tmp64_ = FALSE; + PhotoRow* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; + DetectedPhotoInformation* _tmp69_ = NULL; + PhotoMetadata* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; + PhotoRow* _tmp76_ = NULL; + Rating _tmp77_ = 0; + DetectedPhotoInformation* _tmp78_ = NULL; + PhotoMetadata* _tmp79_ = NULL; + Rating _tmp80_ = 0; +#line 1449 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = detected; +#line 1449 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_->metadata; +#line 1449 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_metadata_get_exposure_date_time (_tmp48_); +#line 1449 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp49_; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = date_time; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp51_ != NULL) { +#line 11340 "Photo.c" + PhotoRow* _tmp52_ = NULL; + time_t _tmp53_ = 0; + MetadataDateTime* _tmp54_ = NULL; + time_t _tmp55_ = 0; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = updated_row; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_->exposure_time; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = date_time; +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = metadata_date_time_get_timestamp (_tmp54_); +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp53_ != _tmp55_; +#line 11355 "Photo.c" + } else { +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = FALSE; +#line 11359 "Photo.c" + } +#line 1450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp50_) { +#line 11363 "Photo.c" + gchar** _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gchar* _tmp57_ = NULL; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = list; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56__length1 = list_length1; +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = g_strdup ("metadata:exposure-time"); +#line 1451 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add256 (&list, &list_length1, &_list_size_, _tmp57_); +#line 11375 "Photo.c" + } +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = updated_row; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_->title; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = detected; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_->metadata; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = g_strcmp0 (_tmp59_, _tmp63_) != 0; +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp63_); +#line 1453 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp64_) { +#line 11395 "Photo.c" + gchar** _tmp65_ = NULL; + gint _tmp65__length1 = 0; + gchar* _tmp66_ = NULL; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = list; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65__length1 = list_length1; +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = g_strdup ("metadata:name"); +#line 1454 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add257 (&list, &list_length1, &_list_size_, _tmp66_); +#line 11407 "Photo.c" + } +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = updated_row; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp67_->comment; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = detected; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp69_->metadata; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = g_strcmp0 (_tmp68_, _tmp72_) != 0; +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp72_); +#line 1456 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp73_) { +#line 11427 "Photo.c" + gchar** _tmp74_ = NULL; + gint _tmp74__length1 = 0; + gchar* _tmp75_ = NULL; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = list; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74__length1 = list_length1; +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = g_strdup ("metadata:comment"); +#line 1457 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add258 (&list, &list_length1, &_list_size_, _tmp75_); +#line 11439 "Photo.c" + } +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = updated_row; +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = _tmp76_->rating; +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = detected; +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = _tmp78_->metadata; +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = photo_metadata_get_rating (_tmp79_); +#line 1459 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp77_ != _tmp80_) { +#line 11453 "Photo.c" + gchar** _tmp81_ = NULL; + gint _tmp81__length1 = 0; + gchar* _tmp82_ = NULL; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = list; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81__length1 = list_length1; +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = g_strdup ("metadata:rating"); +#line 1460 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add259 (&list, &list_length1, &_list_size_, _tmp82_); +#line 11465 "Photo.c" + } +#line 1448 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 11469 "Photo.c" + } +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = updated_row; +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = backing; +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = _backing_photo_row_ref0 (_tmp84_); +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp83_->master); +#line 1463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_->master = _tmp85_; +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = updated_row; +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = detected; +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _tmp87_->md5; +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = g_strdup (_tmp88_); +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp86_->md5); +#line 1464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_->md5 = _tmp89_; +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = updated_row; +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = detected; +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_->exif_md5; +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = g_strdup (_tmp92_); +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp90_->exif_md5); +#line 1465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_->exif_md5 = _tmp93_; +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = updated_row; +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = detected; +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = _tmp95_->thumbnail_md5; +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = g_strdup (_tmp96_); +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp94_->thumbnail_md5); +#line 1466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_->thumbnail_md5 = _tmp97_; +#line 1468 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = NULL; +#line 1469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = detected; +#line 1469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = _tmp98_->metadata; +#line 1469 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp99_ != NULL) { +#line 11525 "Photo.c" + DetectedPhotoInformation* _tmp100_ = NULL; + PhotoMetadata* _tmp101_ = NULL; + PhotoMetadata* _tmp102_ = NULL; + MetadataDateTime* date_time = NULL; + DetectedPhotoInformation* _tmp103_ = NULL; + PhotoMetadata* _tmp104_ = NULL; + MetadataDateTime* _tmp105_ = NULL; + MetadataDateTime* _tmp106_ = NULL; + PhotoRow* _tmp110_ = NULL; + DetectedPhotoInformation* _tmp111_ = NULL; + PhotoMetadata* _tmp112_ = NULL; + gchar* _tmp113_ = NULL; + PhotoRow* _tmp114_ = NULL; + DetectedPhotoInformation* _tmp115_ = NULL; + PhotoMetadata* _tmp116_ = NULL; + gchar* _tmp117_ = NULL; + PhotoRow* _tmp118_ = NULL; + DetectedPhotoInformation* _tmp119_ = NULL; + PhotoMetadata* _tmp120_ = NULL; + Rating _tmp121_ = 0; +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = detected; +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = _tmp100_->metadata; +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = _media_metadata_ref0 (_tmp101_); +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 1470 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp102_; +#line 1472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = detected; +#line 1472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = _tmp103_->metadata; +#line 1472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = photo_metadata_get_exposure_date_time (_tmp104_); +#line 1472 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp105_; +#line 1473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = date_time; +#line 1473 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp106_ != NULL) { +#line 11568 "Photo.c" + PhotoRow* _tmp107_ = NULL; + MetadataDateTime* _tmp108_ = NULL; + time_t _tmp109_ = 0; +#line 1474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = updated_row; +#line 1474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = date_time; +#line 1474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = metadata_date_time_get_timestamp (_tmp108_); +#line 1474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_->exposure_time = _tmp109_; +#line 11580 "Photo.c" + } +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = updated_row; +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = detected; +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = _tmp111_->metadata; +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp112_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp110_->title); +#line 1476 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_->title = _tmp113_; +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = updated_row; +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = detected; +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = _tmp115_->metadata; +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp116_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp114_->comment); +#line 1477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_->comment = _tmp117_; +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = updated_row; +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = detected; +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = _tmp119_->metadata; +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = photo_metadata_get_rating (_tmp120_); +#line 1478 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_->rating = _tmp121_; +#line 1469 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 11618 "Photo.c" + } +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = updated_row; +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = metadata; +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = list; +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124__length1 = list_length1; +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = photo_reimport_master_state_impl_new (_tmp122_, _tmp123_, _tmp124_, _tmp124__length1); +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 1481 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_reimport_state = G_TYPE_CHECK_INSTANCE_CAST (_tmp125_, PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + list = (_vala_array_free (list, list_length1, (GDestroyNotify) g_free), NULL); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (updated_row); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + if (reimport_state) { +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + *reimport_state = _vala_reimport_state; +#line 11652 "Photo.c" + } else { +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_reimport_state); +#line 11656 "Photo.c" + } +#line 1483 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 11660 "Photo.c" +} + + +static void photo_real_apply_user_metadata_for_reimport (Photo* self, PhotoMetadata* metadata) { +#line 1486 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Type `%s' does not implement abstract method `photo_apply_user_metadata_for_reimport'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1486 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11669 "Photo.c" +} + + +void photo_apply_user_metadata_for_reimport (Photo* self, PhotoMetadata* metadata) { +#line 1486 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1486 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->apply_user_metadata_for_reimport (self, metadata); +#line 11678 "Photo.c" +} + + +static gpointer _photo_reimport_master_state_ref0 (gpointer self) { +#line 1490 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_reimport_master_state_ref (self) : NULL; +#line 11685 "Photo.c" +} + + +static void _vala_array_add260 (gchar*** array, int* length, int* size, gchar* value) { +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 11696 "Photo.c" + } +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 11702 "Photo.c" +} + + +static void _vala_array_add261 (gchar*** array, int* length, int* size, gchar* value) { +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 11713 "Photo.c" + } +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 11719 "Photo.c" +} + + +void photo_finish_reimport_master (Photo* self, PhotoReimportMasterState* state, GError** error) { + PhotoReimportMasterStateImpl* reimport_state = NULL; + PhotoReimportMasterState* _tmp0_ = NULL; + PhotoReimportMasterStateImpl* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoTable* _tmp3_ = NULL; + PhotoRow* _tmp4_ = NULL; + PhotoMetadata* _tmp20_ = NULL; + gboolean _tmp22_ = FALSE; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + PhotoMetadata* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + gboolean _tmp35_ = FALSE; + GError * _inner_error_ = NULL; +#line 1489 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1489 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_MASTER_STATE (state)); +#line 1490 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = state; +#line 1490 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _photo_reimport_master_state_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImpl)); +#line 1490 "/home/jens/Source/shotwell/src/Photo.vala" + reimport_state = _tmp1_; +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_table_get_instance (); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = reimport_state->row; +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_reimport (_tmp3_, _tmp4_, &_inner_error_); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp3_); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11768 "Photo.c" + } else { +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 1492 "/home/jens/Source/shotwell/src/Photo.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 1492 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1492 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11778 "Photo.c" + } + } + { + PhotoRow* _tmp5_ = NULL; +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 11787 "Photo.c" + { + BackingPhotoRow* original_master = NULL; + PhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + BackingPhotoRow* _tmp8_ = NULL; + PhotoRow* _tmp9_ = NULL; + PhotoRow* _tmp10_ = NULL; + PhotoRow* _tmp11_ = NULL; + BackingPhotoRow* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + PhotoRow* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 1496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->master; +#line 1496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _backing_photo_row_ref0 (_tmp7_); +#line 1496 "/home/jens/Source/shotwell/src/Photo.vala" + original_master = _tmp8_; +#line 1497 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = reimport_state->row; +#line 1497 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _photo_row_ref0 (_tmp9_); +#line 1497 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 1497 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp10_; +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = original_master; +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _backing_photo_row_ref0 (_tmp12_); +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp11_->master); +#line 1498 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_->master = _tmp13_; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->master; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = reimport_state->row; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->master; +#line 1499 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_row_copy_from (_tmp15_, _tmp17_); +#line 1500 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = reimport_state->metadata_only; +#line 1500 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp18_) { +#line 1501 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 11845 "Photo.c" + } +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (original_master); +#line 11849 "Photo.c" + } + __finally292: + { + PhotoRow* _tmp19_ = NULL; +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 11858 "Photo.c" + } +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11870 "Photo.c" + } else { +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 1494 "/home/jens/Source/shotwell/src/Photo.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 1494 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1494 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 11880 "Photo.c" + } + } + } +#line 1504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = reimport_state->metadata; +#line 1504 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp20_ != NULL) { +#line 11888 "Photo.c" + PhotoMetadata* _tmp21_ = NULL; +#line 1505 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = reimport_state->metadata; +#line 1505 "/home/jens/Source/shotwell/src/Photo.vala" + photo_apply_user_metadata_for_reimport (self, _tmp21_); +#line 11894 "Photo.c" + } +#line 1507 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = reimport_state->metadata_only; +#line 1507 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp22_) { +#line 11900 "Photo.c" + gchar** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = reimport_state->alterations; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23__length1 = reimport_state->alterations_length1; +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = g_strdup ("image:master"); +#line 1508 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add260 (&reimport_state->alterations, &reimport_state->alterations_length1, &reimport_state->_alterations_size_, _tmp24_); +#line 1509 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = photo_is_master_baseline (self); +#line 1509 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp25_) { +#line 11917 "Photo.c" + gchar** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gchar* _tmp27_ = NULL; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = reimport_state->alterations; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26__length1 = reimport_state->alterations_length1; +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g_strdup ("image:baseline"); +#line 1510 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add261 (&reimport_state->alterations, &reimport_state->alterations_length1, &reimport_state->_alterations_size_, _tmp27_); +#line 11929 "Photo.c" + } + } +#line 1513 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = reimport_state->alterations; +#line 1513 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28__length1 = reimport_state->alterations_length1; +#line 1513 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28__length1 > 0) { +#line 11938 "Photo.c" + gchar** _tmp29_ = NULL; + gint _tmp29__length1 = 0; + Alteration* _tmp30_ = NULL; + Alteration* _tmp31_ = NULL; +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = reimport_state->alterations; +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29__length1 = reimport_state->alterations_length1; +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = alteration_new_from_array (_tmp29_, _tmp29__length1); +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp31_); +#line 1514 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp31_); +#line 11955 "Photo.c" + } +#line 1516 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = reimport_state->metadata; +#line 1516 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_master_reimported (self, _tmp32_); +#line 1518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = photo_is_master_baseline (self); +#line 1518 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp33_) { +#line 11965 "Photo.c" + PhotoMetadata* _tmp34_ = NULL; +#line 1519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = reimport_state->metadata; +#line 1519 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_reimported (self, _tmp34_); +#line 11971 "Photo.c" + } +#line 1521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_is_master_source (self); +#line 1521 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp35_) { +#line 11977 "Photo.c" + PhotoMetadata* _tmp36_ = NULL; +#line 1522 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = reimport_state->metadata; +#line 1522 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_source_reimported (self, _tmp36_); +#line 11983 "Photo.c" + } +#line 1489 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 11987 "Photo.c" +} + + +static gboolean photo_verify_file_for_reimport (Photo* self, GFile* file, BackingPhotoRow** backing, DetectedPhotoInformation** detected, GError** error) { + BackingPhotoRow* _vala_backing = NULL; + DetectedPhotoInformation* _vala_detected = NULL; + gboolean result = FALSE; + BackingPhotoRow* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + DetectedPhotoInformation* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + BackingPhotoRow* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + DetectedPhotoInformation* _tmp8_ = NULL; + GdkColorspace _tmp9_ = 0; + GError * _inner_error_ = NULL; +#line 1526 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1526 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_query_backing_photo_row (self, _tmp1_, PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5, &_tmp2_, &_inner_error_); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_detected = _tmp2_; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 12026 "Photo.c" + } +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp0_; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_vala_backing); +#line 1528 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_backing = _tmp4_; +#line 1530 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _vala_backing; +#line 1530 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ == NULL) { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp0_); +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + if (backing) { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + *backing = _vala_backing; +#line 12048 "Photo.c" + } else { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_vala_backing); +#line 12052 "Photo.c" + } +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 12058 "Photo.c" + } else { +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 12062 "Photo.c" + } +#line 1531 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12066 "Photo.c" + } +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _vala_detected; +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->colorspace; +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_ != GDK_COLORSPACE_RGB) { +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = TRUE; +#line 12076 "Photo.c" + } else { + DetectedPhotoInformation* _tmp10_ = NULL; + gint _tmp11_ = 0; +#line 1536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _vala_detected; +#line 1536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->channels; +#line 1536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp11_ < 3; +#line 12086 "Photo.c" + } +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = TRUE; +#line 12092 "Photo.c" + } else { + DetectedPhotoInformation* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 1537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _vala_detected; +#line 1537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->bits_per_channel; +#line 1537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp13_ != 8; +#line 12102 "Photo.c" + } +#line 1535 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 12106 "Photo.c" + GFile* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = g_file_get_path (_tmp14_); +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:1538: Not re-importing %s: Unsupported color format", _tmp16_); +#line 1538 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp16_); +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp0_); +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + if (backing) { +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + *backing = _vala_backing; +#line 12128 "Photo.c" + } else { +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_vala_backing); +#line 12132 "Photo.c" + } +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 12138 "Photo.c" + } else { +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 12142 "Photo.c" + } +#line 1540 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12146 "Photo.c" + } +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp0_); +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + if (backing) { +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + *backing = _vala_backing; +#line 12156 "Photo.c" + } else { +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_vala_backing); +#line 12160 "Photo.c" + } +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + if (detected) { +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + *detected = _vala_detected; +#line 12166 "Photo.c" + } else { +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (_vala_detected); +#line 12170 "Photo.c" + } +#line 1543 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12174 "Photo.c" +} + + +gboolean photo_prepare_for_reimport_editable (Photo* self, PhotoReimportEditableState** state, GError** error) { + PhotoReimportEditableState* _vala_state = NULL; + gboolean result = FALSE; + GFile* file = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* backing = NULL; + gboolean _tmp2_ = FALSE; + GFile* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + BackingPhotoRow* _tmp7_ = NULL; + DetectedPhotoInformation* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoReimportEditableStateImpl* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 1547 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1548 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 1548 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = NULL; +#line 1550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_file (self); +#line 1550 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp0_; +#line 1551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 1551 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12218 "Photo.c" + } else { +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 12222 "Photo.c" + } +#line 1552 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12226 "Photo.c" + } +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_verify_file_for_reimport (self, _tmp3_, &_tmp4_, &_tmp5_, &_inner_error_); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp4_; +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp5_; +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp6_; +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 12254 "Photo.c" + } +#line 1556 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp2_) { +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12270 "Photo.c" + } else { +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 12274 "Photo.c" + } +#line 1557 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12278 "Photo.c" + } +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = backing; +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = detected; +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->metadata; +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_reimport_editable_state_impl_new (_tmp7_, _tmp9_); +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 1559 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState); +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12304 "Photo.c" + } else { +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 12308 "Photo.c" + } +#line 1561 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12312 "Photo.c" +} + + +static gpointer _photo_reimport_editable_state_ref0 (gpointer self) { +#line 1570 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_reimport_editable_state_ref (self) : NULL; +#line 12319 "Photo.c" +} + + +void photo_finish_reimport_editable (Photo* self, PhotoReimportEditableState* state, GError** error) { + BackingPhotoID editable_id = {0}; + BackingPhotoID _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + PhotoReimportEditableStateImpl* reimport_state = NULL; + PhotoReimportEditableState* _tmp2_ = NULL; + PhotoReimportEditableStateImpl* _tmp3_ = NULL; + PhotoReimportEditableStateImpl* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PhotoReimportEditableStateImpl* _tmp21_ = NULL; + PhotoMetadata* _tmp22_ = NULL; + gchar* list = NULL; + gchar* _tmp36_ = NULL; + PhotoReimportEditableStateImpl* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + const gchar* _tmp41_ = NULL; + Alteration* _tmp42_ = NULL; + Alteration* _tmp43_ = NULL; + PhotoReimportEditableStateImpl* _tmp44_ = NULL; + PhotoMetadata* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + gboolean _tmp49_ = FALSE; + GError * _inner_error_ = NULL; +#line 1565 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1565 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_EDITABLE_STATE (state)); +#line 1566 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_editable_id (self, &_tmp0_); +#line 1566 "/home/jens/Source/shotwell/src/Photo.vala" + editable_id = _tmp0_; +#line 1567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = backing_photo_id_is_invalid (&editable_id); +#line 1567 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 1568 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12360 "Photo.c" + } +#line 1570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = state; +#line 1570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_reimport_editable_state_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImpl)); +#line 1570 "/home/jens/Source/shotwell/src/Photo.vala" + reimport_state = _tmp3_; +#line 1572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = reimport_state; +#line 1572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->metadata_only; +#line 1572 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp5_) { +#line 12374 "Photo.c" + BackingPhotoTable* _tmp6_ = NULL; + BackingPhotoTable* _tmp7_ = NULL; + PhotoReimportEditableStateImpl* _tmp8_ = NULL; + BackingPhotoRow* _tmp9_ = NULL; +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = backing_photo_table_get_instance (); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = reimport_state; +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->backing_state; +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update (_tmp7_, _tmp9_, &_inner_error_); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp7_); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12401 "Photo.c" + } else { +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 1573 "/home/jens/Source/shotwell/src/Photo.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 1573 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1573 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12411 "Photo.c" + } + } + { + PhotoRow* _tmp10_ = NULL; +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 12420 "Photo.c" + { + PhotoReimportEditableStateImpl* _tmp11_ = NULL; + BackingPhotoRow* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + PhotoReimportEditableStateImpl* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + Orientation _tmp16_ = 0; +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = reimport_state; +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->backing_state; +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _backing_photo_row_ref0 (_tmp12_); +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 1576 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp13_; +#line 1577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = reimport_state; +#line 1577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->backing_state; +#line 1577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->original_orientation; +#line 1577 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp16_); +#line 1578 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 12448 "Photo.c" + } + __finally293: + { + PhotoRow* _tmp17_ = NULL; +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->row; +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 12457 "Photo.c" + } +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12469 "Photo.c" + } else { +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 1575 "/home/jens/Source/shotwell/src/Photo.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 1575 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1575 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12479 "Photo.c" + } + } + } + } else { + PhotoReimportEditableStateImpl* _tmp18_ = NULL; + BackingPhotoRow* _tmp19_ = NULL; + Orientation _tmp20_ = 0; +#line 1581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = reimport_state; +#line 1581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->backing_state; +#line 1581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_->original_orientation; +#line 1581 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp20_); +#line 12495 "Photo.c" + } +#line 1584 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = reimport_state; +#line 1584 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->metadata; +#line 1584 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 12503 "Photo.c" + PhotoReimportEditableStateImpl* _tmp23_ = NULL; + PhotoMetadata* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + PhotoReimportEditableStateImpl* _tmp27_ = NULL; + PhotoMetadata* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + PhotoReimportEditableStateImpl* _tmp31_ = NULL; + PhotoMetadata* _tmp32_ = NULL; + Rating _tmp33_ = 0; + PhotoReimportEditableStateImpl* _tmp34_ = NULL; + PhotoMetadata* _tmp35_ = NULL; +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = reimport_state; +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->metadata; +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_; +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp26_); +#line 1585 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp26_); +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = reimport_state; +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_->metadata; +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_; +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp30_); +#line 1586 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp30_); +#line 1587 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = reimport_state; +#line 1587 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->metadata; +#line 1587 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = photo_metadata_get_rating (_tmp32_); +#line 1587 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp33_); +#line 1588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = reimport_state; +#line 1588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_->metadata; +#line 1588 "/home/jens/Source/shotwell/src/Photo.vala" + photo_apply_user_metadata_for_reimport (self, _tmp35_); +#line 12555 "Photo.c" + } +#line 1591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = g_strdup ("metadata:name,image:orientation,metadata:rating,metadata:exposure-time"); +#line 1591 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp36_; +#line 1592 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = reimport_state; +#line 1592 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_->metadata_only; +#line 1592 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp38_) { +#line 12567 "Photo.c" + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; +#line 1593 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = list; +#line 1593 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = g_strconcat (_tmp39_, "image:editable,image:baseline", NULL); +#line 1593 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (list); +#line 1593 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp40_; +#line 12578 "Photo.c" + } +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = list; +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = alteration_new_from_list (_tmp41_); +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp42_; +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp43_); +#line 1595 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp43_); +#line 1597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = reimport_state; +#line 1597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_->metadata; +#line 1597 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_editable_reimported (self, _tmp45_); +#line 1599 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_is_editable_baseline (self); +#line 1599 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp46_) { +#line 12600 "Photo.c" + PhotoReimportEditableStateImpl* _tmp47_ = NULL; + PhotoMetadata* _tmp48_ = NULL; +#line 1600 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = reimport_state; +#line 1600 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_->metadata; +#line 1600 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_reimported (self, _tmp48_); +#line 12609 "Photo.c" + } +#line 1602 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_is_editable_source (self); +#line 1602 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_) { +#line 12615 "Photo.c" + PhotoReimportEditableStateImpl* _tmp50_ = NULL; + PhotoMetadata* _tmp51_ = NULL; +#line 1603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = reimport_state; +#line 1603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_->metadata; +#line 1603 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_source_reimported (self, _tmp51_); +#line 12624 "Photo.c" + } +#line 1565 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (list); +#line 1565 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (reimport_state); +#line 12630 "Photo.c" +} + + +static gpointer _photo_reimport_raw_development_state_ref0 (gpointer self) { +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_reimport_raw_development_state_ref (self) : NULL; +#line 12637 "Photo.c" +} + + +gboolean photo_prepare_for_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState** state, GError** error) { + PhotoReimportRawDevelopmentState* _vala_state = NULL; + gboolean result = FALSE; + GeeCollection* files = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + PhotoReimportRawDevelopmentStateImpl* reimport_state = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp2_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp18_ = NULL; + PhotoReimportRawDevelopmentState* _tmp19_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp20_ = NULL; + gint _tmp21_ = 0; + GError * _inner_error_ = NULL; +#line 1607 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 1608 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (_vala_state); +#line 1608 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = NULL; +#line 1610 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_raw_developer_files (self); +#line 1610 "/home/jens/Source/shotwell/src/Photo.vala" + files = _tmp0_; +#line 1611 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = files; +#line 1611 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (files); +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12676 "Photo.c" + } else { +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (_vala_state); +#line 12680 "Photo.c" + } +#line 1612 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12684 "Photo.c" + } +#line 1614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_reimport_raw_development_state_impl_new (); +#line 1614 "/home/jens/Source/shotwell/src/Photo.vala" + reimport_state = _tmp2_; +#line 12690 "Photo.c" + { + GeeIterator* _file_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = files; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _file_it = _tmp4_; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 12703 "Photo.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GFile* file = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* backing = NULL; + gboolean _tmp9_ = FALSE; + GFile* _tmp10_ = NULL; + BackingPhotoRow* _tmp11_ = NULL; + DetectedPhotoInformation* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + PhotoReimportRawDevelopmentStateImpl* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + DetectedPhotoInformation* _tmp16_ = NULL; + PhotoMetadata* _tmp17_ = NULL; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _file_it; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp6_) { +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 12728 "Photo.c" + } +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _file_it; +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + file = (GFile*) _tmp8_; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = file; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_verify_file_for_reimport (self, _tmp10_, &_tmp11_, &_tmp12_, &_inner_error_); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp11_; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp12_; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp13_; +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_file_it); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (files); +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 12768 "Photo.c" + } +#line 1619 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 1620 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1620 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1620 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 1620 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 12780 "Photo.c" + } +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = reimport_state; +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = backing; +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = detected; +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->metadata; +#line 1622 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_add (_tmp14_, _tmp15_, _tmp17_); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 12798 "Photo.c" + } +#line 1616 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_file_it); +#line 12802 "Photo.c" + } +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = reimport_state; +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _photo_reimport_raw_development_state_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentState)); +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (_vala_state); +#line 1625 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = _tmp19_; +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = reimport_state; +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_reimport_raw_development_state_impl_get_size (_tmp20_); +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp21_ > 0; +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (files); +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 12826 "Photo.c" + } else { +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (_vala_state); +#line 12830 "Photo.c" + } +#line 1626 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 12834 "Photo.c" +} + + +void photo_finish_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState* state, GError** error) { + PhotoFileFormat _tmp0_ = 0; + PhotoReimportRawDevelopmentStateImpl* reimport_state = NULL; + PhotoReimportRawDevelopmentState* _tmp1_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp2_ = NULL; + gchar* list = NULL; + gchar* _tmp32_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; + const gchar* _tmp37_ = NULL; + Alteration* _tmp38_ = NULL; + Alteration* _tmp39_ = NULL; + GError * _inner_error_ = NULL; +#line 1630 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1630 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE (state)); +#line 1631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_file_format (self); +#line 1631 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != PHOTO_FILE_FORMAT_RAW) { +#line 1632 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12861 "Photo.c" + } +#line 1634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = state; +#line 1634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _photo_reimport_raw_development_state_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImpl)); +#line 1634 "/home/jens/Source/shotwell/src/Photo.vala" + reimport_state = _tmp2_; +#line 12869 "Photo.c" + { + GeeIterator* _dev_it = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = reimport_state; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->list; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _dev_it = _tmp5_; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 12885 "Photo.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PhotoReimportRawDevelopmentStateImplDevToReimport* dev = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + PhotoReimportRawDevelopmentStateImpl* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _dev_it; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp7_) { +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 12901 "Photo.c" + } +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _dev_it; +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + dev = (PhotoReimportRawDevelopmentStateImplDevToReimport*) _tmp9_; +#line 1637 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = reimport_state; +#line 1637 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->metadata_only; +#line 1637 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp11_) { +#line 12915 "Photo.c" + BackingPhotoTable* _tmp12_ = NULL; + BackingPhotoTable* _tmp13_ = NULL; + PhotoReimportRawDevelopmentStateImplDevToReimport* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = backing_photo_table_get_instance (); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = dev; +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->backing; +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update (_tmp13_, _tmp15_, &_inner_error_); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp13_); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12946 "Photo.c" + } else { +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1638 "/home/jens/Source/shotwell/src/Photo.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 1638 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1638 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 12960 "Photo.c" + } + } + { + PhotoRow* _tmp16_ = NULL; +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 12969 "Photo.c" + { + gint _tmp17_ = 0; + RawDeveloper* _tmp18_ = NULL; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = raw_developer_as_array (&_tmp17_); +#line 12975 "Photo.c" + { + RawDeveloper* d_collection = NULL; + gint d_collection_length1 = 0; + gint _d_collection_size_ = 0; + gint d_it = 0; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = _tmp18_; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection_length1 = _tmp17_; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + for (d_it = 0; d_it < _tmp17_; d_it = d_it + 1) { +#line 12987 "Photo.c" + RawDeveloper d = 0; +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + d = d_collection[d_it]; +#line 12991 "Photo.c" + { + BackingPhotoID id = {0}; + PhotoRow* _tmp19_ = NULL; + BackingPhotoID* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + RawDeveloper _tmp21_ = 0; + BackingPhotoID _tmp22_ = {0}; + BackingPhotoID _tmp23_ = {0}; + gint64 _tmp24_ = 0LL; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_->development_ids; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20__length1 = _tmp19_->development_ids_length1; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = d; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp20_[_tmp21_]; +#line 1643 "/home/jens/Source/shotwell/src/Photo.vala" + id = _tmp22_; +#line 1644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = id; +#line 1644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_.id; +#line 1644 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_ != BACKING_PHOTO_ID_INVALID) { +#line 13019 "Photo.c" + BackingPhotoRow* bpr = NULL; + BackingPhotoID _tmp25_ = {0}; + BackingPhotoRow* _tmp26_ = NULL; + BackingPhotoRow* _tmp27_ = NULL; +#line 1645 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = id; +#line 1645 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_get_backing_row (self, &_tmp25_); +#line 1645 "/home/jens/Source/shotwell/src/Photo.vala" + bpr = _tmp26_; +#line 1646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = bpr; +#line 1646 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp27_ != NULL) { +#line 13034 "Photo.c" + GeeHashMap* _tmp28_ = NULL; + RawDeveloper _tmp29_ = 0; + BackingPhotoRow* _tmp30_ = NULL; +#line 1647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = self->priv->developments; +#line 1647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = d; +#line 1647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = bpr; +#line 1647 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp29_), _tmp30_); +#line 13046 "Photo.c" + } +#line 1644 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (bpr); +#line 13050 "Photo.c" + } + } + } +#line 1642 "/home/jens/Source/shotwell/src/Photo.vala" + d_collection = (g_free (d_collection), NULL); +#line 13056 "Photo.c" + } + } + __finally294: + { + PhotoRow* _tmp31_ = NULL; +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = self->row; +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 13066 "Photo.c" + } +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13082 "Photo.c" + } else { +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 1640 "/home/jens/Source/shotwell/src/Photo.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 1640 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1640 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13096 "Photo.c" + } + } + } + } +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (dev); +#line 13103 "Photo.c" + } +#line 1636 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_dev_it); +#line 13107 "Photo.c" + } +#line 1654 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = g_strdup ("metadata:name,image:orientation,metadata:rating,metadata:exposure-time"); +#line 1654 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp32_; +#line 1655 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = reimport_state; +#line 1655 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_->metadata_only; +#line 1655 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp34_) { +#line 13119 "Photo.c" + const gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; +#line 1656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = list; +#line 1656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = g_strconcat (_tmp35_, "image:editable,image:baseline", NULL); +#line 1656 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (list); +#line 1656 "/home/jens/Source/shotwell/src/Photo.vala" + list = _tmp36_; +#line 13130 "Photo.c" + } +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = list; +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = alteration_new_from_list (_tmp37_); +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_; +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp39_); +#line 1658 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp39_); +#line 1660 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_raw_development_modified (self); +#line 1630 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (list); +#line 1630 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_unref0 (reimport_state); +#line 13148 "Photo.c" +} + + +static gchar* photo_real_get_typename (DataSource* base) { + Photo * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1663 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_strdup (PHOTO_TYPENAME); +#line 1664 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 1664 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13164 "Photo.c" +} + + +static gint64 photo_real_get_instance_id (DataSource* base) { + Photo * self; + gint64 result = 0LL; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; +#line 1667 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1668 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp0_); +#line 1668 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.id; +#line 1668 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 1668 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13183 "Photo.c" +} + + +static gchar* photo_real_get_source_id (DataSource* base) { + Photo * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 1671 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = data_source_get_typename (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_strdup_printf ("%s%016" G_GINT64_MODIFIER "x", _tmp1_, _tmp2_); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp1_); +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 1675 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13213 "Photo.c" +} + + +void photo_set_master_timestamp (Photo* self, GFileInfo* info) { + GTimeVal modification = {0}; + GFileInfo* _tmp0_ = NULL; + GTimeVal _tmp1_ = {0}; + gboolean _tmp21_ = FALSE; + GError * _inner_error_ = NULL; +#line 1679 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1679 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 1680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = info; +#line 1680 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp0_, &_tmp1_); +#line 1680 "/home/jens/Source/shotwell/src/Photo.vala" + modification = _tmp1_; +#line 13233 "Photo.c" + { + { + PhotoRow* _tmp2_ = NULL; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 13241 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; + BackingPhotoRow* _tmp4_ = NULL; + time_t _tmp5_ = 0; + GTimeVal _tmp6_ = {0}; + glong _tmp7_ = 0L; + PhotoTable* _tmp9_ = NULL; + PhotoTable* _tmp10_ = NULL; + PhotoRow* _tmp11_ = NULL; + PhotoID _tmp12_ = {0}; + GTimeVal _tmp13_ = {0}; + glong _tmp14_ = 0L; + PhotoRow* _tmp15_ = NULL; + BackingPhotoRow* _tmp16_ = NULL; + GTimeVal _tmp17_ = {0}; + glong _tmp18_ = 0L; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->master; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->timestamp; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = modification; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_.tv_sec; +#line 1684 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ == ((time_t) _tmp7_)) { +#line 13270 "Photo.c" + { + PhotoRow* _tmp8_ = NULL; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 13277 "Photo.c" + } +#line 1685 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13281 "Photo.c" + } +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_table_get_instance (); +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->photo_id; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = modification; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_.tv_sec; +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_update_timestamp (_tmp10_, &_tmp12_, (time_t) _tmp14_, &_inner_error_); +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp10_); +#line 1687 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 13301 "Photo.c" + goto __finally296; + } +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->master; +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = modification; +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_.tv_sec; +#line 1688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_->timestamp = (time_t) _tmp18_; +#line 13314 "Photo.c" + } + __finally296: + { + PhotoRow* _tmp19_ = NULL; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 13323 "Photo.c" + } +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 13329 "Photo.c" + goto __catch295_database_error; + } +#line 1683 "/home/jens/Source/shotwell/src/Photo.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 1683 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1683 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13338 "Photo.c" + } + } + } + goto __finally295; + __catch295_database_error: + { + GError* err = NULL; + GError* _tmp20_ = NULL; +#line 1682 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1682 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1691 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = err; +#line 1691 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp20_); +#line 1693 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 1693 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13359 "Photo.c" + } + __finally295: +#line 1682 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1682 "/home/jens/Source/shotwell/src/Photo.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 1682 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1682 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13370 "Photo.c" + } +#line 1696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_is_master_baseline (self); +#line 1696 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_) { +#line 13376 "Photo.c" + Alteration* _tmp22_ = NULL; + Alteration* _tmp23_ = NULL; +#line 1697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = alteration_new_from_list ("metadata:master-timestamp,metadata:baseline-timestamp"); +#line 1697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_; +#line 1697 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp23_); +#line 1697 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp23_); +#line 13387 "Photo.c" + } else { + Alteration* _tmp24_ = NULL; + Alteration* _tmp25_ = NULL; +#line 1699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = alteration_new ("metadata", "master-timestamp"); +#line 1699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 1699 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp25_); +#line 1699 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp25_); +#line 13399 "Photo.c" + } +} + + +void photo_update_editable_modification_time (Photo* self, GFileInfo* info, GError** error) { + GTimeVal modification = {0}; + GFileInfo* _tmp0_ = NULL; + GTimeVal _tmp1_ = {0}; + gboolean altered = FALSE; + gboolean _tmp20_ = FALSE; + GError * _inner_error_ = NULL; +#line 1703 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1703 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 1704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = info; +#line 1704 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp0_, &_tmp1_); +#line 1704 "/home/jens/Source/shotwell/src/Photo.vala" + modification = _tmp1_; +#line 1706 "/home/jens/Source/shotwell/src/Photo.vala" + altered = FALSE; +#line 13423 "Photo.c" + { + PhotoRow* _tmp2_ = NULL; +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 13430 "Photo.c" + { + gboolean _tmp3_ = FALSE; + PhotoRow* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = backing_photo_id_is_valid (&_tmp4_->editable_id); +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 13441 "Photo.c" + BackingPhotoRow* _tmp6_ = NULL; + time_t _tmp7_ = 0; + GTimeVal _tmp8_ = {0}; + glong _tmp9_ = 0L; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->editable; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->timestamp; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = modification; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.tv_sec; +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp7_ != ((time_t) _tmp9_); +#line 13456 "Photo.c" + } else { +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = FALSE; +#line 13460 "Photo.c" + } +#line 1708 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_) { +#line 13464 "Photo.c" + BackingPhotoTable* _tmp10_ = NULL; + BackingPhotoTable* _tmp11_ = NULL; + PhotoRow* _tmp12_ = NULL; + BackingPhotoID _tmp13_ = {0}; + GTimeVal _tmp14_ = {0}; + glong _tmp15_ = 0L; + BackingPhotoRow* _tmp16_ = NULL; + GTimeVal _tmp17_ = {0}; + glong _tmp18_ = 0L; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = backing_photo_table_get_instance (); +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->row; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->editable_id; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = modification; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_.tv_sec; +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update_timestamp (_tmp11_, &_tmp13_, (time_t) _tmp15_, &_inner_error_); +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp11_); +#line 1709 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 13492 "Photo.c" + goto __finally297; + } +#line 1711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->priv->editable; +#line 1711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = modification; +#line 1711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_.tv_sec; +#line 1711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_->timestamp = (time_t) _tmp18_; +#line 1712 "/home/jens/Source/shotwell/src/Photo.vala" + altered = TRUE; +#line 13505 "Photo.c" + } + } + __finally297: + { + PhotoRow* _tmp19_ = NULL; +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 13515 "Photo.c" + } +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13525 "Photo.c" + } else { +#line 1707 "/home/jens/Source/shotwell/src/Photo.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 1707 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1707 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13533 "Photo.c" + } + } + } +#line 1716 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = altered; +#line 1716 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp20_) { +#line 13541 "Photo.c" + Alteration* _tmp21_ = NULL; + Alteration* _tmp22_ = NULL; +#line 1717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = alteration_new_from_list ("metadata:editable-timestamp,metadata:baseline-timestamp"); +#line 1717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_; +#line 1717 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp22_); +#line 1717 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp22_); +#line 13552 "Photo.c" + } +} + + +void photo_update_many_editable_timestamps (GeeMap* map, GError** error) { + GError * _inner_error_ = NULL; +#line 1721 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 1723 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_begin_transaction (); +#line 13563 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = map; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp5_; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 13590 "Photo.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + GeeMap* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + GFileInfo* _tmp14_ = NULL; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _photo_it; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp7_) { +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 13609 "Photo.c" + } +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _photo_it; +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (Photo*) _tmp9_; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = map; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = gee_map_get (_tmp11_, _tmp12_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = (GFileInfo*) _tmp13_; +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable_modification_time (_tmp10_, _tmp14_, &_inner_error_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp14_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13643 "Photo.c" + } else { +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 1725 "/home/jens/Source/shotwell/src/Photo.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 1725 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1725 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13655 "Photo.c" + } + } +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 13660 "Photo.c" + } +#line 1724 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 13664 "Photo.c" + } +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_commit_transaction (&_inner_error_); +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13676 "Photo.c" + } else { +#line 1726 "/home/jens/Source/shotwell/src/Photo.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 1726 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1726 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 13684 "Photo.c" + } + } +} + + +static PhotoFileFormat photo_real_get_preferred_thumbnail_format (ThumbnailSource* base) { + Photo * self; + PhotoFileFormat result = 0; + PhotoFileFormat _tmp0_ = 0; + PhotoFileFormat _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 1729 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_file_format (self); +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_format_can_write_image (_tmp1_); +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 13704 "Photo.c" + PhotoFileFormat _tmp3_ = 0; +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_file_format (self); +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 13710 "Photo.c" + } else { + PhotoFileFormat _tmp4_ = 0; +#line 1731 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_format_get_system_default_format (); +#line 1731 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp4_; +#line 13717 "Photo.c" + } +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 1730 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13723 "Photo.c" +} + + +static GdkPixbuf* photo_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + Photo * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + Scaling _tmp2_ = {0}; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 1734 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = scale; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_best_fit (_tmp1_, TRUE, &_tmp2_); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp2_, &_inner_error_); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 13752 "Photo.c" + } +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp0_; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 1735 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13764 "Photo.c" +} + + +gboolean photo_is_file_image (GFile* file) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1738 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_format_is_file_supported (_tmp1_); +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = TRUE; +#line 13783 "Photo.c" + } else { + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_file_get_basename (_tmp3_); +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_is_extension_found (_tmp5_, PHOTO_IMAGE_EXTENSIONS, G_N_ELEMENTS (PHOTO_IMAGE_EXTENSIONS)); +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp6_; +#line 1743 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp5_); +#line 13801 "Photo.c" + } +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 1742 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13807 "Photo.c" +} + + +static gboolean photo_is_extension_found (const gchar* basename, gchar** extensions, int extensions_length1) { + gboolean result = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 1746 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (basename != NULL, FALSE); +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = basename; +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + disassemble_filename (_tmp0_, &_tmp1_, &_tmp2_); +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + name = _tmp1_; +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1748 "/home/jens/Source/shotwell/src/Photo.vala" + ext = _tmp2_; +#line 1749 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = ext; +#line 1749 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ == NULL) { +#line 1750 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1750 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1750 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 1750 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13849 "Photo.c" + } +#line 1753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = ext; +#line 1753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = g_utf8_strdown (_tmp4_, (gssize) -1); +#line 1753 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1753 "/home/jens/Source/shotwell/src/Photo.vala" + ext = _tmp5_; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = extensions; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6__length1 = extensions_length1; +#line 13863 "Photo.c" + { + gchar** extension_collection = NULL; + gint extension_collection_length1 = 0; + gint _extension_collection_size_ = 0; + gint extension_it = 0; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + extension_collection = _tmp6_; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + extension_collection_length1 = _tmp6__length1; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + for (extension_it = 0; extension_it < _tmp6__length1; extension_it = extension_it + 1) { +#line 13875 "Photo.c" + gchar* _tmp7_ = NULL; + gchar* extension = NULL; +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = g_strdup (extension_collection[extension_it]); +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + extension = _tmp7_; +#line 13882 "Photo.c" + { + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 1757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = ext; +#line 1757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = extension; +#line 1757 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_strcmp0 (_tmp8_, _tmp9_) == 0) { +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (extension); +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 1758 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13902 "Photo.c" + } +#line 1756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (extension); +#line 13906 "Photo.c" + } + } + } +#line 1761 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 1761 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 1761 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 1761 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13918 "Photo.c" +} + + +gboolean photo_is_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format) { + gboolean result = FALSE; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PhotoFileFormat _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 1767 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), FALSE); +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = thumbnail_md5; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = full_md5; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = file_format; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_table_has_duplicate (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp7_; +#line 1770 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 13956 "Photo.c" +} + + +PhotoID* photo_get_duplicate_ids (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, int* result_length1) { + PhotoID* result = NULL; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + PhotoFileFormat _tmp5_ = 0; + gint _tmp6_ = 0; + PhotoID* _tmp7_ = NULL; + PhotoID* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + PhotoID* _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 1776 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = thumbnail_md5; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = full_md5; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = file_format; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_duplicate_ids (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_, &_tmp6_); +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8__length1 = _tmp6_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9__length1 = _tmp8__length1; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + if (result_length1) { +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + *result_length1 = _tmp9__length1; +#line 14004 "Photo.c" + } +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp9_; +#line 1779 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 14010 "Photo.c" +} + + +gint64 photo_get_photo_key (DataSource* source) { + gint64 result = 0LL; + DataSource* _tmp0_ = NULL; + PhotoID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; +#line 1786 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), 0LL); +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_PHOTO, Photo), &_tmp1_); +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_.id; +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 1787 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 14031 "Photo.c" +} + + +static GFile* photo_real_get_file (MediaSource* base) { + Photo * self; + GFile* result = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1805 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 1806 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 14058 "Photo.c" +} + + +static void _vala_array_add262 (gchar*** array, int* length, int* size, gchar* value) { +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14069 "Photo.c" + } +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14075 "Photo.c" +} + + +static void _vala_array_add263 (gchar*** array, int* length, int* size, gchar* value) { +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14086 "Photo.c" + } +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14092 "Photo.c" +} + + +static void _vala_array_add264 (gchar*** array, int* length, int* size, gchar* value) { +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14103 "Photo.c" + } +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14109 "Photo.c" +} + + +static void _vala_array_add265 (gchar*** array, int* length, int* size, gchar* value) { +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14120 "Photo.c" + } +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14126 "Photo.c" +} + + +void photo_set_master_file (Photo* self, GFile* file) { + gchar* filepath = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean altered = FALSE; + gboolean is_baseline = FALSE; + gboolean is_source = FALSE; + gboolean name_changed = FALSE; + GFile* old_file = NULL; + gboolean _tmp41_ = FALSE; + GError * _inner_error_ = NULL; +#line 1811 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1811 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 1812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 1812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 1812 "/home/jens/Source/shotwell/src/Photo.vala" + filepath = _tmp1_; +#line 1814 "/home/jens/Source/shotwell/src/Photo.vala" + altered = FALSE; +#line 1815 "/home/jens/Source/shotwell/src/Photo.vala" + is_baseline = FALSE; +#line 1816 "/home/jens/Source/shotwell/src/Photo.vala" + is_source = FALSE; +#line 1817 "/home/jens/Source/shotwell/src/Photo.vala" + name_changed = FALSE; +#line 1818 "/home/jens/Source/shotwell/src/Photo.vala" + old_file = NULL; +#line 14161 "Photo.c" + { + { + PhotoRow* _tmp2_ = NULL; +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 14169 "Photo.c" + { + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 14177 "Photo.c" + { + PhotoBackingReaders* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->master; +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1822 "/home/jens/Source/shotwell/src/Photo.vala" + old_file = _tmp6_; +#line 1823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = file; +#line 1823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = old_file; +#line 1823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_file_equal (_tmp7_, _tmp8_); +#line 1823 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 14203 "Photo.c" + PhotoTable* _tmp10_ = NULL; + PhotoTable* _tmp11_ = NULL; + PhotoID _tmp12_ = {0}; + const gchar* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + PhotoBackingReaders* _tmp20_ = NULL; + PhotoRow* _tmp21_ = NULL; + BackingPhotoRow* _tmp22_ = NULL; + PhotoFileFormat _tmp23_ = 0; + const gchar* _tmp24_ = NULL; + PhotoFileReader* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + PhotoRow* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_table_get_instance (); +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp12_); +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = filepath; +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_set_filepath (_tmp11_, &_tmp12_, _tmp13_, &_inner_error_); +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp11_); +#line 1824 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14240 "Photo.c" + goto __finally300; + } +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->master; +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = filepath; +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp15_->filepath); +#line 1826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_->filepath = _tmp17_; +#line 1827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = file; +#line 1827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = g_file_get_basename (_tmp18_); +#line 1827 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->priv->file_title); +#line 1827 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->file_title = _tmp19_; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->priv->readers; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->row; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->master; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_->file_format; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = filepath; +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = photo_file_format_create_reader (_tmp23_, _tmp24_); +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp20_->master); +#line 1828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_->master = _tmp25_; +#line 1830 "/home/jens/Source/shotwell/src/Photo.vala" + altered = TRUE; +#line 1831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_is_master_baseline (self); +#line 1831 "/home/jens/Source/shotwell/src/Photo.vala" + is_baseline = _tmp26_; +#line 1832 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = photo_is_master_source (self); +#line 1832 "/home/jens/Source/shotwell/src/Photo.vala" + is_source = _tmp27_; +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->row; +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_->title; +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = is_string_empty (_tmp30_); +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp31_) { +#line 14297 "Photo.c" + GFile* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = old_file; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = g_file_get_basename (_tmp32_); +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = file; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = g_file_get_basename (_tmp35_); +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = g_strcmp0 (_tmp34_, _tmp37_) != 0; +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp37_); +#line 1834 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp34_); +#line 14322 "Photo.c" + } else { +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = FALSE; +#line 14326 "Photo.c" + } +#line 1833 "/home/jens/Source/shotwell/src/Photo.vala" + name_changed = _tmp28_; +#line 14330 "Photo.c" + } + } + __finally300: + { + PhotoBackingReaders* _tmp38_ = NULL; +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = self->priv->readers; +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 14340 "Photo.c" + } +#line 1821 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14344 "Photo.c" + goto __finally299; + } + } + } + __finally299: + { + PhotoRow* _tmp39_ = NULL; +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = self->row; +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 14356 "Photo.c" + } +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 14362 "Photo.c" + goto __catch298_database_error; + } +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 1820 "/home/jens/Source/shotwell/src/Photo.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 1820 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1820 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 14375 "Photo.c" + } + } + } + goto __finally298; + __catch298_database_error: + { + GError* err = NULL; + GError* _tmp40_ = NULL; +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1839 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = err; +#line 1839 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp40_); +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 14394 "Photo.c" + } + __finally298: +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 1819 "/home/jens/Source/shotwell/src/Photo.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 1819 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1819 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 14409 "Photo.c" + } +#line 1842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = altered; +#line 1842 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 14415 "Photo.c" + GFile* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + gchar** alteration_list = NULL; + gchar** _tmp45_ = NULL; + gint alteration_list_length1 = 0; + gint _alteration_list_size_ = 0; + gchar** _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gchar* _tmp47_ = NULL; + gboolean _tmp48_ = FALSE; + gboolean _tmp51_ = FALSE; + gboolean _tmp54_ = FALSE; + gchar** _tmp57_ = NULL; + gint _tmp57__length1 = 0; + Alteration* _tmp58_ = NULL; + Alteration* _tmp59_ = NULL; +#line 1843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = old_file; +#line 1843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = file; +#line 1843 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_notify_master_replaced (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp42_, _tmp43_); +#line 1845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = is_baseline; +#line 1845 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_) { +#line 1846 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_replaced (self); +#line 14445 "Photo.c" + } +#line 1848 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = g_new0 (gchar*, 0 + 1); +#line 1848 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = _tmp45_; +#line 1848 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list_length1 = 0; +#line 1848 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_list_size_ = alteration_list_length1; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = alteration_list; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46__length1 = alteration_list_length1; +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = g_strdup ("backing:master"); +#line 1849 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add262 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp47_); +#line 1853 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = name_changed; +#line 1853 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp48_) { +#line 14467 "Photo.c" + gchar** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + gchar* _tmp50_ = NULL; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = alteration_list; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49__length1 = alteration_list_length1; +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = g_strdup ("metadata:name"); +#line 1854 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add263 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp50_); +#line 14479 "Photo.c" + } +#line 1856 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = is_source; +#line 1856 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp51_) { +#line 14485 "Photo.c" + gchar** _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gchar* _tmp53_ = NULL; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = alteration_list; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52__length1 = alteration_list_length1; +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = g_strdup ("backing:source"); +#line 1857 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add264 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp53_); +#line 14497 "Photo.c" + } +#line 1859 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = is_baseline; +#line 1859 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp54_) { +#line 14503 "Photo.c" + gchar** _tmp55_ = NULL; + gint _tmp55__length1 = 0; + gchar* _tmp56_ = NULL; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = alteration_list; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55__length1 = alteration_list_length1; +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = g_strdup ("backing:baseline"); +#line 1860 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add265 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp56_); +#line 14515 "Photo.c" + } +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = alteration_list; +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57__length1 = alteration_list_length1; +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = alteration_new_from_array (_tmp57_, _tmp57__length1); +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_; +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp59_); +#line 1862 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp59_); +#line 1842 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = (_vala_array_free (alteration_list, alteration_list_length1, (GDestroyNotify) g_free), NULL); +#line 14531 "Photo.c" + } +#line 1811 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1811 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 14537 "Photo.c" +} + + +static void _vala_array_add266 (gchar*** array, int* length, int* size, gchar* value) { +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14548 "Photo.c" + } +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14554 "Photo.c" +} + + +static void _vala_array_add267 (gchar*** array, int* length, int* size, gchar* value) { +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14565 "Photo.c" + } +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14571 "Photo.c" +} + + +static void _vala_array_add268 (gchar*** array, int* length, int* size, gchar* value) { +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 14582 "Photo.c" + } +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 14588 "Photo.c" +} + + +void photo_set_editable_file (Photo* self, GFile* file) { + gchar* filepath = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean altered = FALSE; + gboolean is_baseline = FALSE; + gboolean is_source = FALSE; + GFile* old_file = NULL; + gboolean _tmp34_ = FALSE; + GError * _inner_error_ = NULL; +#line 1868 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 1868 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 1869 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 1869 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 1869 "/home/jens/Source/shotwell/src/Photo.vala" + filepath = _tmp1_; +#line 1871 "/home/jens/Source/shotwell/src/Photo.vala" + altered = FALSE; +#line 1872 "/home/jens/Source/shotwell/src/Photo.vala" + is_baseline = FALSE; +#line 1873 "/home/jens/Source/shotwell/src/Photo.vala" + is_source = FALSE; +#line 1874 "/home/jens/Source/shotwell/src/Photo.vala" + old_file = NULL; +#line 14620 "Photo.c" + { + { + PhotoRow* _tmp2_ = NULL; +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 14628 "Photo.c" + { + { + PhotoBackingReaders* _tmp3_ = NULL; +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 14636 "Photo.c" + { + GFile* _tmp4_ = NULL; + PhotoBackingReaders* _tmp5_ = NULL; + PhotoFileReader* _tmp6_ = NULL; + GFile* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GFile* _tmp12_ = NULL; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->readers; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->editable; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != NULL) { +#line 14650 "Photo.c" + PhotoBackingReaders* _tmp7_ = NULL; + PhotoFileReader* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->editable; +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp9_; +#line 14664 "Photo.c" + } else { +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = NULL; +#line 14670 "Photo.c" + } +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _g_object_ref0 (_tmp4_); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1878 "/home/jens/Source/shotwell/src/Photo.vala" + old_file = _tmp10_; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = old_file; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ != NULL) { +#line 14682 "Photo.c" + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = old_file; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = g_file_equal (_tmp13_, _tmp14_); +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = !_tmp15_; +#line 14694 "Photo.c" + } else { +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = FALSE; +#line 14698 "Photo.c" + } +#line 1879 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 14702 "Photo.c" + BackingPhotoTable* _tmp16_ = NULL; + BackingPhotoTable* _tmp17_ = NULL; + PhotoRow* _tmp18_ = NULL; + BackingPhotoID _tmp19_ = {0}; + const gchar* _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + PhotoBackingReaders* _tmp24_ = NULL; + BackingPhotoRow* _tmp25_ = NULL; + PhotoFileFormat _tmp26_ = 0; + const gchar* _tmp27_ = NULL; + PhotoFileReader* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = backing_photo_table_get_instance (); +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->row; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->editable_id; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = filepath; +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_set_filepath (_tmp17_, &_tmp19_, _tmp20_, &_inner_error_); +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp17_); +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1880 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 14736 "Photo.c" + goto __finally303; + } +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->editable; +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = filepath; +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = g_strdup (_tmp22_); +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp21_->filepath); +#line 1882 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_->filepath = _tmp23_; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = self->priv->readers; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->editable; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->file_format; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = filepath; +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo_file_format_create_reader (_tmp26_, _tmp27_); +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp24_->editable); +#line 1883 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_->editable = _tmp28_; +#line 1885 "/home/jens/Source/shotwell/src/Photo.vala" + altered = TRUE; +#line 1886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo_is_editable_baseline (self); +#line 1886 "/home/jens/Source/shotwell/src/Photo.vala" + is_baseline = _tmp29_; +#line 1887 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo_is_editable_source (self); +#line 1887 "/home/jens/Source/shotwell/src/Photo.vala" + is_source = _tmp30_; +#line 14773 "Photo.c" + } +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 14777 "Photo.c" + } + __finally303: + { + PhotoBackingReaders* _tmp31_ = NULL; +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = self->priv->readers; +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 14786 "Photo.c" + } +#line 1877 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14790 "Photo.c" + goto __finally302; + } + } + } + __finally302: + { + PhotoRow* _tmp32_ = NULL; +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->row; +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 14802 "Photo.c" + } +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 14808 "Photo.c" + goto __catch301_database_error; + } +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 1876 "/home/jens/Source/shotwell/src/Photo.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 1876 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1876 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 14821 "Photo.c" + } + } + } + goto __finally301; + __catch301_database_error: + { + GError* err = NULL; + GError* _tmp33_ = NULL; +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 1892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = err; +#line 1892 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp33_); +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 14840 "Photo.c" + } + __finally301: +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 1875 "/home/jens/Source/shotwell/src/Photo.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 1875 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1875 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 14855 "Photo.c" + } +#line 1895 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = altered; +#line 1895 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp34_) { +#line 14861 "Photo.c" + GFile* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; + gchar** alteration_list = NULL; + gchar** _tmp38_ = NULL; + gint alteration_list_length1 = 0; + gint _alteration_list_size_ = 0; + gchar** _tmp39_ = NULL; + gint _tmp39__length1 = 0; + gchar* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + gboolean _tmp44_ = FALSE; + gchar** _tmp47_ = NULL; + gint _tmp47__length1 = 0; + Alteration* _tmp48_ = NULL; + Alteration* _tmp49_ = NULL; +#line 1896 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = old_file; +#line 1896 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = file; +#line 1896 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_editable_replaced (self, _tmp35_, _tmp36_); +#line 1898 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = is_baseline; +#line 1898 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp37_) { +#line 1899 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_replaced (self); +#line 14890 "Photo.c" + } +#line 1901 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = g_new0 (gchar*, 0 + 1); +#line 1901 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = _tmp38_; +#line 1901 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list_length1 = 0; +#line 1901 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_list_size_ = alteration_list_length1; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = alteration_list; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39__length1 = alteration_list_length1; +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = g_strdup ("backing:editable"); +#line 1902 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add266 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp40_); +#line 1904 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = is_baseline; +#line 1904 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 14912 "Photo.c" + gchar** _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gchar* _tmp43_ = NULL; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = alteration_list; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42__length1 = alteration_list_length1; +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = g_strdup ("backing:baseline"); +#line 1905 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add267 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp43_); +#line 14924 "Photo.c" + } +#line 1907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = is_source; +#line 1907 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_) { +#line 14930 "Photo.c" + gchar** _tmp45_ = NULL; + gint _tmp45__length1 = 0; + gchar* _tmp46_ = NULL; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = alteration_list; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45__length1 = alteration_list_length1; +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = g_strdup ("backing:source"); +#line 1908 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add268 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp46_); +#line 14942 "Photo.c" + } +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = alteration_list; +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47__length1 = alteration_list_length1; +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = alteration_new_from_array (_tmp47_, _tmp47__length1); +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_; +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp49_); +#line 1910 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp49_); +#line 1895 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = (_vala_array_free (alteration_list, alteration_list_length1, (GDestroyNotify) g_free), NULL); +#line 14958 "Photo.c" + } +#line 1868 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (old_file); +#line 1868 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (filepath); +#line 14964 "Photo.c" +} + + +void photo_set_many_editable_file (GeeMap* map, GError** error) { + GeeMapIterator* map_iter = NULL; + GeeMap* _tmp0_ = NULL; + GeeMapIterator* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 1915 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 1916 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_begin_transaction (); +#line 1918 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = map; +#line 1918 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_map_map_iterator (_tmp0_); +#line 1918 "/home/jens/Source/shotwell/src/Photo.vala" + map_iter = _tmp1_; +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 14985 "Photo.c" + GeeMapIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GeeMapIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + GeeMapIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = map_iter; +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_map_iterator_next (_tmp2_); +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 1919 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 15002 "Photo.c" + } +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map_iter; +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_map_iterator_get_key (_tmp4_); +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = (Photo*) _tmp5_; +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = map_iter; +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_map_iterator_get_value (_tmp7_); +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = (GFile*) _tmp8_; +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_editable_file (_tmp6_, _tmp9_); +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp9_); +#line 1920 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp6_); +#line 15022 "Photo.c" + } +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_commit_transaction (&_inner_error_); +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (map_iter); +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15036 "Photo.c" + } else { +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (map_iter); +#line 1922 "/home/jens/Source/shotwell/src/Photo.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 1922 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1922 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15046 "Photo.c" + } + } +#line 1915 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (map_iter); +#line 15051 "Photo.c" +} + + +GFile* photo_get_actual_file (Photo* self) { + GFile* result = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1927 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_baseline_reader (self); +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 1928 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15077 "Photo.c" +} + + +static GFile* photo_real_get_master_file (MediaSource* base) { + Photo * self; + GFile* result = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1931 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_reader (self); +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 1932 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15104 "Photo.c" +} + + +GFile* photo_get_editable_file (Photo* self) { + GFile* result = NULL; + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 1935 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 1936 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp0_; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = reader; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 15124 "Photo.c" + PhotoFileReader* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = reader; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp4_; +#line 15135 "Photo.c" + } else { +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 15141 "Photo.c" + } +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 1938 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15149 "Photo.c" +} + + +GeeCollection* photo_get_raw_developer_files (Photo* self) { + GeeCollection* result = NULL; + PhotoFileFormat _tmp0_ = 0; + GeeArrayList* ret = NULL; + GeeArrayList* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 1941 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1942 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_file_format (self); +#line 1942 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != PHOTO_FILE_FORMAT_RAW) { +#line 1943 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 1943 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15169 "Photo.c" + } +#line 1945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1945 "/home/jens/Source/shotwell/src/Photo.vala" + ret = _tmp1_; +#line 15175 "Photo.c" + { + PhotoRow* _tmp2_ = NULL; +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15182 "Photo.c" + { + { + GeeIterator* _row_it = NULL; + GeeHashMap* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->developments; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_MAP, GeeMap)); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp6_); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp8_; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 15210 "Photo.c" + GeeIterator* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _row_it; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterator_next (_tmp9_); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp10_) { +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 15229 "Photo.c" + } +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _row_it; +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_iterator_get (_tmp11_); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp12_; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = ret; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = row; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->filepath; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = g_file_new_for_path (_tmp15_); +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 1948 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp17_); +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 15253 "Photo.c" + } +#line 1947 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 15257 "Photo.c" + } + } + __finally304: + { + PhotoRow* _tmp18_ = NULL; +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->row; +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15267 "Photo.c" + } +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (ret); +#line 1946 "/home/jens/Source/shotwell/src/Photo.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 1946 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1946 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 15279 "Photo.c" + } + } +#line 1951 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (ret, GEE_TYPE_COLLECTION, GeeCollection); +#line 1951 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15286 "Photo.c" +} + + +GFile* photo_get_source_file (Photo* self) { + GFile* result = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 1954 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp1_); +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 1955 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15312 "Photo.c" +} + + +PhotoFileFormat photo_get_file_format (Photo* self) { + PhotoFileFormat result = 0; + GError * _inner_error_ = NULL; +#line 1958 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 15321 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15328 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; +#line 1960 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 1960 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->file_format; +#line 1960 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 15338 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15345 "Photo.c" + } +#line 1960 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15349 "Photo.c" + } + __finally305: + { + PhotoRow* _tmp4_ = NULL; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15358 "Photo.c" + } +#line 1959 "/home/jens/Source/shotwell/src/Photo.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 1959 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1959 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 15366 "Photo.c" + } +} + + +PhotoFileFormat photo_get_best_export_file_format (Photo* self) { + PhotoFileFormat result = 0; + PhotoFileFormat file_format = 0; + PhotoFileFormat _tmp0_ = 0; + PhotoFileFormat _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 1964 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 1965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_file_format (self); +#line 1965 "/home/jens/Source/shotwell/src/Photo.vala" + file_format = _tmp0_; +#line 1966 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file_format; +#line 1966 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_format_can_write (_tmp1_); +#line 1966 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp2_) { +#line 15389 "Photo.c" + PhotoFileFormat _tmp3_ = 0; +#line 1967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_get_system_default_format (); +#line 1967 "/home/jens/Source/shotwell/src/Photo.vala" + file_format = _tmp3_; +#line 15395 "Photo.c" + } +#line 1969 "/home/jens/Source/shotwell/src/Photo.vala" + result = file_format; +#line 1969 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15401 "Photo.c" +} + + +PhotoFileFormat photo_get_master_file_format (Photo* self) { + PhotoFileFormat result = 0; + GError * _inner_error_ = NULL; +#line 1972 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 15410 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15417 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 15430 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15437 "Photo.c" + } +#line 1974 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15441 "Photo.c" + } + __finally306: + { + PhotoRow* _tmp5_ = NULL; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15450 "Photo.c" + } +#line 1973 "/home/jens/Source/shotwell/src/Photo.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 1973 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1973 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 15458 "Photo.c" + } +} + + +static time_t photo_real_get_timestamp (MediaSource* base) { + Photo * self; + time_t result = 0; + GError * _inner_error_ = NULL; +#line 1978 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 15469 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15476 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + time_t _tmp2_ = 0; +#line 1980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 1980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->timestamp; +#line 1980 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 15486 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15493 "Photo.c" + } +#line 1980 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15497 "Photo.c" + } + __finally307: + { + PhotoRow* _tmp4_ = NULL; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15506 "Photo.c" + } +#line 1979 "/home/jens/Source/shotwell/src/Photo.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 1979 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1979 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 15514 "Photo.c" + } +} + + +void photo_get_photo_id (Photo* self, PhotoID* result) { + GError * _inner_error_ = NULL; +#line 1984 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 15523 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15530 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + PhotoID _tmp2_ = {0}; +#line 1986 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 1986 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->photo_id; +#line 1986 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 15540 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15547 "Photo.c" + } +#line 1986 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15551 "Photo.c" + } + __finally308: + { + PhotoRow* _tmp4_ = NULL; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15560 "Photo.c" + } +#line 1985 "/home/jens/Source/shotwell/src/Photo.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 1985 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 1985 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15568 "Photo.c" + } +} + + +static inline void photo_real_get_event_id (MediaSource* base, EventID* result) { + Photo * self; + PhotoRow* _tmp0_ = NULL; + EventID _tmp1_ = {0}; +#line 1991 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 1992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->event_id; +#line 1992 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp1_; +#line 1992 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15587 "Photo.c" +} + + +inline gint64 photo_get_raw_event_id (Photo* self) { + gint64 result = 0LL; + PhotoRow* _tmp0_ = NULL; + EventID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; +#line 1996 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0LL); +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->event_id; +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_.id; +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 1997 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15608 "Photo.c" +} + + +static void photo_real_get_import_id (MediaSource* base, ImportID* result) { + Photo * self; + GError * _inner_error_ = NULL; +#line 2000 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 15617 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15624 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + ImportID _tmp2_ = {0}; +#line 2002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->import_id; +#line 2002 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 15634 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15641 "Photo.c" + } +#line 2002 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15645 "Photo.c" + } + __finally309: + { + PhotoRow* _tmp4_ = NULL; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15654 "Photo.c" + } +#line 2001 "/home/jens/Source/shotwell/src/Photo.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 2001 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2001 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15662 "Photo.c" + } +} + + +void photo_get_editable_id (Photo* self, BackingPhotoID* result) { + GError * _inner_error_ = NULL; +#line 2006 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 15671 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15678 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + BackingPhotoID _tmp2_ = {0}; +#line 2008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable_id; +#line 2008 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 15688 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15695 "Photo.c" + } +#line 2008 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15699 "Photo.c" + } + __finally310: + { + PhotoRow* _tmp4_ = NULL; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15708 "Photo.c" + } +#line 2007 "/home/jens/Source/shotwell/src/Photo.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 2007 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2007 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 15716 "Photo.c" + } +} + + +static gchar* photo_real_get_master_md5 (MediaSource* base) { + Photo * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 2012 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 15727 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15734 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->md5; +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 15747 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15754 "Photo.c" + } +#line 2014 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15758 "Photo.c" + } + __finally311: + { + PhotoRow* _tmp5_ = NULL; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15767 "Photo.c" + } +#line 2013 "/home/jens/Source/shotwell/src/Photo.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 2013 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2013 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 15775 "Photo.c" + } +} + + +guint64 photo_get_flags (Photo* self) { + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 2020 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 15785 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15792 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; +#line 2022 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2022 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2022 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 15802 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15809 "Photo.c" + } +#line 2022 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15813 "Photo.c" + } + __finally312: + { + PhotoRow* _tmp4_ = NULL; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15822 "Photo.c" + } +#line 2021 "/home/jens/Source/shotwell/src/Photo.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 2021 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2021 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 15830 "Photo.c" + } +} + + +static void photo_notify_flags_altered (Photo* self, Alteration* additional_alteration) { + Alteration* alteration = NULL; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; + Alteration* _tmp5_ = NULL; +#line 2026 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2026 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration)); +#line 2027 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = alteration_new ("metadata", "flags"); +#line 2027 "/home/jens/Source/shotwell/src/Photo.vala" + alteration = _tmp0_; +#line 2028 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = additional_alteration; +#line 2028 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 15852 "Photo.c" + Alteration* _tmp2_ = NULL; + Alteration* _tmp3_ = NULL; + Alteration* _tmp4_ = NULL; +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = alteration; +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = additional_alteration; +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = alteration_compress (_tmp2_, _tmp3_); +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (alteration); +#line 2029 "/home/jens/Source/shotwell/src/Photo.vala" + alteration = _tmp4_; +#line 15866 "Photo.c" + } +#line 2031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = alteration; +#line 2031 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp5_); +#line 2026 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (alteration); +#line 15874 "Photo.c" +} + + +guint64 photo_replace_flags (Photo* self, guint64 flags, Alteration* additional_alteration) { + guint64 result = 0ULL; + gboolean committed = FALSE; + gboolean _tmp10_ = FALSE; + guint64 _tmp12_ = 0ULL; + GError * _inner_error_ = NULL; +#line 2034 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2034 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 15888 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15895 "Photo.c" + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoID _tmp3_ = {0}; + guint64 _tmp4_ = 0ULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp3_); +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = flags; +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_table_replace_flags (_tmp2_, &_tmp3_, _tmp4_); +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp5_; +#line 2037 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2038 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = committed; +#line 2038 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 15921 "Photo.c" + PhotoRow* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; +#line 2039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 2039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = flags; +#line 2039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_->flags = _tmp8_; +#line 15930 "Photo.c" + } + } + __finally313: + { + PhotoRow* _tmp9_ = NULL; +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 15940 "Photo.c" + } +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2036 "/home/jens/Source/shotwell/src/Photo.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 2036 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2036 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 15950 "Photo.c" + } + } +#line 2042 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = committed; +#line 2042 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 15957 "Photo.c" + Alteration* _tmp11_ = NULL; +#line 2043 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = additional_alteration; +#line 2043 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp11_); +#line 15963 "Photo.c" + } +#line 2045 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = flags; +#line 2045 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp12_; +#line 2045 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 15971 "Photo.c" +} + + +gboolean photo_is_flag_set (Photo* self, guint64 mask) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2048 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 15980 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 15987 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + gboolean _tmp4_ = FALSE; +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = mask; +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = media_source_internal_is_flag_set (_tmp2_, _tmp3_); +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 16003 "Photo.c" + { + PhotoRow* _tmp5_ = NULL; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16010 "Photo.c" + } +#line 2050 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16014 "Photo.c" + } + __finally314: + { + PhotoRow* _tmp6_ = NULL; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16023 "Photo.c" + } +#line 2049 "/home/jens/Source/shotwell/src/Photo.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 2049 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2049 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 16031 "Photo.c" + } +} + + +guint64 photo_add_flags (Photo* self, guint64 mask, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 flags = 0ULL; + gboolean committed = FALSE; + gboolean _tmp17_ = FALSE; + GError * _inner_error_ = NULL; +#line 2054 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2054 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 2055 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (guint64) 0; +#line 2057 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16050 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16057 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; + PhotoRow* _tmp5_ = NULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = mask; +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = media_source_internal_add_flags (_tmp2_, _tmp3_); +#line 2059 "/home/jens/Source/shotwell/src/Photo.vala" + flags = _tmp4_; +#line 2060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->flags; +#line 2060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = flags; +#line 2060 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != _tmp7_) { +#line 16084 "Photo.c" + PhotoTable* _tmp8_ = NULL; + PhotoTable* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + guint64 _tmp11_ = 0ULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_table_get_instance (); +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp10_); +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = flags; +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_replace_flags (_tmp9_, &_tmp10_, _tmp11_); +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2061 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp9_); +#line 2062 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2062 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 16109 "Photo.c" + PhotoRow* _tmp14_ = NULL; + guint64 _tmp15_ = 0ULL; +#line 2063 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2063 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = flags; +#line 2063 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->flags = _tmp15_; +#line 16118 "Photo.c" + } + } + } + __finally315: + { + PhotoRow* _tmp16_ = NULL; +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16129 "Photo.c" + } +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2058 "/home/jens/Source/shotwell/src/Photo.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 2058 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2058 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 16139 "Photo.c" + } + } +#line 2067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = committed; +#line 2067 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 16146 "Photo.c" + Alteration* _tmp18_ = NULL; +#line 2068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = additional_alteration; +#line 2068 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp18_); +#line 16152 "Photo.c" + } +#line 2070 "/home/jens/Source/shotwell/src/Photo.vala" + result = flags; +#line 2070 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16158 "Photo.c" +} + + +guint64 photo_remove_flags (Photo* self, guint64 mask, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 flags = 0ULL; + gboolean committed = FALSE; + gboolean _tmp17_ = FALSE; + GError * _inner_error_ = NULL; +#line 2073 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2073 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 2074 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (guint64) 0; +#line 2076 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16176 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16183 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; + PhotoRow* _tmp5_ = NULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = mask; +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = media_source_internal_remove_flags (_tmp2_, _tmp3_); +#line 2078 "/home/jens/Source/shotwell/src/Photo.vala" + flags = _tmp4_; +#line 2079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->flags; +#line 2079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = flags; +#line 2079 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != _tmp7_) { +#line 16210 "Photo.c" + PhotoTable* _tmp8_ = NULL; + PhotoTable* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + guint64 _tmp11_ = 0ULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_table_get_instance (); +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp10_); +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = flags; +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_replace_flags (_tmp9_, &_tmp10_, _tmp11_); +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2080 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp9_); +#line 2081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2081 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 16235 "Photo.c" + PhotoRow* _tmp14_ = NULL; + guint64 _tmp15_ = 0ULL; +#line 2082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = flags; +#line 2082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->flags = _tmp15_; +#line 16244 "Photo.c" + } + } + } + __finally316: + { + PhotoRow* _tmp16_ = NULL; +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16255 "Photo.c" + } +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2077 "/home/jens/Source/shotwell/src/Photo.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 2077 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2077 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 16265 "Photo.c" + } + } +#line 2086 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = committed; +#line 2086 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 16272 "Photo.c" + Alteration* _tmp18_ = NULL; +#line 2087 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = additional_alteration; +#line 2087 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp18_); +#line 16278 "Photo.c" + } +#line 2089 "/home/jens/Source/shotwell/src/Photo.vala" + result = flags; +#line 2089 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16284 "Photo.c" +} + + +guint64 photo_add_remove_flags (Photo* self, guint64 add, guint64 remove, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 flags = 0ULL; + gboolean committed = FALSE; + gboolean _tmp17_ = FALSE; + GError * _inner_error_ = NULL; +#line 2092 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2092 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 2093 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (guint64) 0; +#line 2095 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16302 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16309 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; + PhotoRow* _tmp5_ = NULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = add; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = remove; +#line 2097 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (_tmp2_ | _tmp3_) & (~_tmp4_); +#line 2098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->flags; +#line 2098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = flags; +#line 2098 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != _tmp7_) { +#line 16336 "Photo.c" + PhotoTable* _tmp8_ = NULL; + PhotoTable* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + guint64 _tmp11_ = 0ULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_table_get_instance (); +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp10_); +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = flags; +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_replace_flags (_tmp9_, &_tmp10_, _tmp11_); +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2099 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp9_); +#line 2100 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2100 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 16361 "Photo.c" + PhotoRow* _tmp14_ = NULL; + guint64 _tmp15_ = 0ULL; +#line 2101 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2101 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = flags; +#line 2101 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->flags = _tmp15_; +#line 16370 "Photo.c" + } + } + } + __finally317: + { + PhotoRow* _tmp16_ = NULL; +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16381 "Photo.c" + } +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2096 "/home/jens/Source/shotwell/src/Photo.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 2096 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2096 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 16391 "Photo.c" + } + } +#line 2105 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = committed; +#line 2105 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 16398 "Photo.c" + Alteration* _tmp18_ = NULL; +#line 2106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = additional_alteration; +#line 2106 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp18_); +#line 16404 "Photo.c" + } +#line 2108 "/home/jens/Source/shotwell/src/Photo.vala" + result = flags; +#line 2108 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16410 "Photo.c" +} + + +void photo_add_remove_many_flags (GeeCollection* add, guint64 add_mask, Alteration* additional_add_alteration, GeeCollection* remove, guint64 remove_mask, Alteration* additional_remove_alteration, GError** error) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 2111 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((add == NULL) || GEE_IS_COLLECTION (add)); +#line 2111 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((additional_add_alteration == NULL) || IS_ALTERATION (additional_add_alteration)); +#line 2111 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((remove == NULL) || GEE_IS_COLLECTION (remove)); +#line 2111 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((additional_remove_alteration == NULL) || IS_ALTERATION (additional_remove_alteration)); +#line 2114 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_begin_transaction (); +#line 2116 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = add; +#line 2116 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 16432 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = add; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp2_; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 16445 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; + Alteration* _tmp9_ = NULL; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _photo_it; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 16462 "Photo.c" + } +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _photo_it; +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (Photo*) _tmp6_; +#line 2118 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 2118 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = add_mask; +#line 2118 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = additional_add_alteration; +#line 2118 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_flags (_tmp7_, _tmp8_, _tmp9_); +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 16480 "Photo.c" + } +#line 2117 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 16484 "Photo.c" + } + } +#line 2121 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = remove; +#line 2121 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ != NULL) { +#line 16491 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp11_ = NULL; + GeeIterator* _tmp12_ = NULL; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = remove; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp12_; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 16504 "Photo.c" + GeeIterator* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + guint64 _tmp18_ = 0ULL; + Alteration* _tmp19_ = NULL; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _photo_it; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = gee_iterator_next (_tmp13_); +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp14_) { +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 16521 "Photo.c" + } +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _photo_it; +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = gee_iterator_get (_tmp15_); +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (Photo*) _tmp16_; +#line 2123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo; +#line 2123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = remove_mask; +#line 2123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = additional_remove_alteration; +#line 2123 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (_tmp17_, _tmp18_, _tmp19_); +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 16539 "Photo.c" + } +#line 2122 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 16543 "Photo.c" + } + } +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + database_table_commit_transaction (&_inner_error_); +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 16556 "Photo.c" + } else { +#line 2126 "/home/jens/Source/shotwell/src/Photo.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 2126 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2126 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 16564 "Photo.c" + } + } +} + + +guint64 photo_toggle_flags (Photo* self, guint64 mask, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 flags = 0ULL; + gboolean committed = FALSE; + gboolean _tmp16_ = FALSE; + GError * _inner_error_ = NULL; +#line 2129 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 2129 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 2130 "/home/jens/Source/shotwell/src/Photo.vala" + flags = (guint64) 0; +#line 2132 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16584 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16591 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + PhotoRow* _tmp4_ = NULL; + guint64 _tmp5_ = 0ULL; + guint64 _tmp6_ = 0ULL; +#line 2134 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2134 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->flags; +#line 2134 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = mask; +#line 2134 "/home/jens/Source/shotwell/src/Photo.vala" + flags = _tmp2_ ^ _tmp3_; +#line 2135 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2135 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->flags; +#line 2135 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = flags; +#line 2135 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ != _tmp6_) { +#line 16615 "Photo.c" + PhotoTable* _tmp7_ = NULL; + PhotoTable* _tmp8_ = NULL; + PhotoID _tmp9_ = {0}; + guint64 _tmp10_ = 0ULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_instance (); +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp9_); +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = flags; +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_table_replace_flags (_tmp8_, &_tmp9_, _tmp10_); +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp11_; +#line 2136 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp8_); +#line 2137 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = committed; +#line 2137 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 16640 "Photo.c" + PhotoRow* _tmp13_ = NULL; + guint64 _tmp14_ = 0ULL; +#line 2138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = flags; +#line 2138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_->flags = _tmp14_; +#line 16649 "Photo.c" + } + } + } + __finally318: + { + PhotoRow* _tmp15_ = NULL; +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16660 "Photo.c" + } +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2133 "/home/jens/Source/shotwell/src/Photo.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 2133 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2133 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 16670 "Photo.c" + } + } +#line 2142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = committed; +#line 2142 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 16677 "Photo.c" + Alteration* _tmp17_ = NULL; +#line 2143 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = additional_alteration; +#line 2143 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_flags_altered (self, _tmp17_); +#line 16683 "Photo.c" + } +#line 2145 "/home/jens/Source/shotwell/src/Photo.vala" + result = flags; +#line 2145 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16689 "Photo.c" +} + + +gboolean photo_is_master_metadata_dirty (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2148 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 16698 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16705 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 2150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->metadata_dirty; +#line 2150 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 16715 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16722 "Photo.c" + } +#line 2150 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16726 "Photo.c" + } + __finally319: + { + PhotoRow* _tmp4_ = NULL; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16735 "Photo.c" + } +#line 2149 "/home/jens/Source/shotwell/src/Photo.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 2149 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2149 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 16743 "Photo.c" + } +} + + +void photo_set_master_metadata_dirty (Photo* self, gboolean dirty, GError** error) { + gboolean committed = FALSE; + gboolean _tmp11_ = FALSE; + GError * _inner_error_ = NULL; +#line 2154 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2155 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16756 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16763 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 2157 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2157 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->metadata_dirty; +#line 2157 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = dirty; +#line 2157 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != _tmp3_) { +#line 16776 "Photo.c" + PhotoTable* _tmp4_ = NULL; + PhotoTable* _tmp5_ = NULL; + PhotoID _tmp6_ = {0}; + gboolean _tmp7_ = FALSE; + PhotoRow* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_table_get_instance (); +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp6_); +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = dirty; +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_set_metadata_dirty (_tmp5_, &_tmp6_, _tmp7_, &_inner_error_); +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp5_); +#line 2158 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 16797 "Photo.c" + goto __finally320; + } +#line 2159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = dirty; +#line 2159 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_->metadata_dirty = _tmp9_; +#line 2160 "/home/jens/Source/shotwell/src/Photo.vala" + committed = TRUE; +#line 16808 "Photo.c" + } + } + __finally320: + { + PhotoRow* _tmp10_ = NULL; +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16818 "Photo.c" + } +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 16828 "Photo.c" + } else { +#line 2156 "/home/jens/Source/shotwell/src/Photo.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 2156 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2156 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 16836 "Photo.c" + } + } + } +#line 2164 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = committed; +#line 2164 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 16844 "Photo.c" + Alteration* _tmp12_ = NULL; + Alteration* _tmp13_ = NULL; +#line 2165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = alteration_new ("metadata", "master-dirty"); +#line 2165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2165 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp13_); +#line 2165 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp13_); +#line 16855 "Photo.c" + } +} + + +static Rating photo_real_get_rating (MediaSource* base) { + Photo * self; + Rating result = 0; + GError * _inner_error_ = NULL; +#line 2168 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 16866 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16873 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; +#line 2170 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2170 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->rating; +#line 2170 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 16883 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16890 "Photo.c" + } +#line 2170 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 16894 "Photo.c" + } + __finally321: + { + PhotoRow* _tmp4_ = NULL; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 16903 "Photo.c" + } +#line 2169 "/home/jens/Source/shotwell/src/Photo.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 2169 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2169 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 16911 "Photo.c" + } +} + + +static void photo_real_set_rating (MediaSource* base, Rating rating) { + Photo * self; + gboolean committed = FALSE; + gboolean _tmp16_ = FALSE; + GError * _inner_error_ = NULL; +#line 2174 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2175 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 16925 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 16932 "Photo.c" + { + gboolean _tmp1_ = FALSE; + Rating _tmp2_ = 0; + PhotoRow* _tmp3_ = NULL; + Rating _tmp4_ = 0; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = rating; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->rating; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != _tmp4_) { +#line 16946 "Photo.c" + Rating _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = rating; +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = rating_is_valid (_tmp5_); +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp6_; +#line 16955 "Photo.c" + } else { +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 16959 "Photo.c" + } +#line 2178 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 16963 "Photo.c" + PhotoTable* _tmp7_ = NULL; + PhotoTable* _tmp8_ = NULL; + PhotoID _tmp9_ = {0}; + Rating _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_instance (); +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp9_); +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = rating; +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_table_set_rating (_tmp8_, &_tmp9_, _tmp10_); +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp11_; +#line 2179 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp8_); +#line 2180 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = committed; +#line 2180 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 16988 "Photo.c" + PhotoRow* _tmp13_ = NULL; + Rating _tmp14_ = 0; +#line 2181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = rating; +#line 2181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_->rating = _tmp14_; +#line 16997 "Photo.c" + } + } + } + __finally322: + { + PhotoRow* _tmp15_ = NULL; +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17008 "Photo.c" + } +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2177 "/home/jens/Source/shotwell/src/Photo.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 2177 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2177 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17018 "Photo.c" + } + } +#line 2185 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = committed; +#line 2185 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 17025 "Photo.c" + Alteration* _tmp17_ = NULL; + Alteration* _tmp18_ = NULL; +#line 2186 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = alteration_new ("metadata", "rating"); +#line 2186 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 2186 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp18_); +#line 2186 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp18_); +#line 17036 "Photo.c" + } +} + + +static void photo_real_increase_rating (MediaSource* base) { + Photo * self; + GError * _inner_error_ = NULL; +#line 2189 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 17046 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17053 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; + Rating _tmp3_ = 0; +#line 2191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->rating; +#line 2191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = rating_increase (_tmp2_); +#line 2191 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp3_); +#line 17066 "Photo.c" + } + __finally323: + { + PhotoRow* _tmp4_ = NULL; +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17075 "Photo.c" + } +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2190 "/home/jens/Source/shotwell/src/Photo.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 2190 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2190 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17085 "Photo.c" + } + } +} + + +static void photo_real_decrease_rating (MediaSource* base) { + Photo * self; + GError * _inner_error_ = NULL; +#line 2195 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 17096 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17103 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; + Rating _tmp3_ = 0; +#line 2197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->rating; +#line 2197 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = rating_decrease (_tmp2_); +#line 2197 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp3_); +#line 17116 "Photo.c" + } + __finally324: + { + PhotoRow* _tmp4_ = NULL; +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17125 "Photo.c" + } +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2196 "/home/jens/Source/shotwell/src/Photo.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 2196 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2196 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17135 "Photo.c" + } + } +} + + +static void photo_real_commit_backlinks (DataSource* base, SourceCollection* sources, const gchar* backlinks) { + Photo * self; + GError * _inner_error_ = NULL; +#line 2201 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2201 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((sources == NULL) || IS_SOURCE_COLLECTION (sources)); +#line 17148 "Photo.c" + { + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + PhotoID _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp2_); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = backlinks; +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_update_backlinks (_tmp1_, &_tmp2_, _tmp3_, &_inner_error_); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 17170 "Photo.c" + goto __catch325_database_error; + } +#line 2206 "/home/jens/Source/shotwell/src/Photo.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 2206 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2206 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17179 "Photo.c" + } + { + PhotoRow* _tmp4_ = NULL; +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17187 "Photo.c" + { + PhotoRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = backlinks; +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp5_->backlinks); +#line 2208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_->backlinks = _tmp7_; +#line 17202 "Photo.c" + } + __finally326: + { + PhotoRow* _tmp8_ = NULL; +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17211 "Photo.c" + } +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 17217 "Photo.c" + goto __catch325_database_error; + } +#line 2207 "/home/jens/Source/shotwell/src/Photo.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 2207 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2207 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17226 "Photo.c" + } + } + } + goto __finally325; + __catch325_database_error: + { + GError* err = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = err; +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->message; +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2211: Unable to update link state for %s: %s", _tmp10_, _tmp12_); +#line 2211 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp10_); +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 17256 "Photo.c" + } + __finally325: +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2205 "/home/jens/Source/shotwell/src/Photo.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 2205 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2205 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17267 "Photo.c" + } +} + + +static gboolean photo_real_set_event_id (MediaSource* base, EventID* event_id) { + Photo * self; + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2219 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2219 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 17280 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17287 "Photo.c" + { + gboolean committed = FALSE; + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + EventID _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->photo_id; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *event_id; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_table_set_event (_tmp2_, &_tmp4_, &_tmp5_); +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2221 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp7_; +#line 2223 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = committed; +#line 2223 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 17320 "Photo.c" + PhotoRow* _tmp9_ = NULL; + EventID _tmp10_ = {0}; +#line 2224 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2224 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = *event_id; +#line 2224 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_->event_id = _tmp10_; +#line 17329 "Photo.c" + } +#line 2226 "/home/jens/Source/shotwell/src/Photo.vala" + result = committed; +#line 17333 "Photo.c" + { + PhotoRow* _tmp11_ = NULL; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17340 "Photo.c" + } +#line 2226 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17344 "Photo.c" + } + __finally327: + { + PhotoRow* _tmp12_ = NULL; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->row; +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17353 "Photo.c" + } +#line 2220 "/home/jens/Source/shotwell/src/Photo.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 2220 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2220 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 17361 "Photo.c" + } +} + + +static gchar* photo_real_to_string (DataObject* base) { + Photo * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + PhotoID _tmp10_ = {0}; + gint64 _tmp11_ = 0LL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + PhotoFileReader* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 2230 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_is_master_baseline (self); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp1_) { +#line 17387 "Photo.c" + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_actual_file (self); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = g_strconcat (" (", _tmp5_, NULL); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_strconcat (_tmp7_, ")", NULL); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp8_; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp7_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp5_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 17419 "Photo.c" + } else { + gchar* _tmp9_ = NULL; +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_strdup (""); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 2232 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp9_; +#line 17428 "Photo.c" + } +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp10_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_.id; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp11_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo_get_master_reader (self); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = g_strdup_printf ("[%s] %s%s", _tmp13_, _tmp17_, _tmp0_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp17_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp15_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp13_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp19_; +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 2231 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17462 "Photo.c" +} + + +static gboolean photo_real_equals (DataSource* base, DataSource* source) { + Photo * self; + gboolean result = FALSE; + Photo* photo = NULL; + DataSource* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + DataSource* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 2235 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2235 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((source == NULL) || IS_DATA_SOURCE (source), FALSE); +#line 2237 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 2237 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO) ? ((Photo*) _tmp0_) : NULL); +#line 2237 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp1_; +#line 2238 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 2238 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 17489 "Photo.c" + PhotoID photo_id = {0}; + PhotoID _tmp3_ = {0}; + PhotoID other_photo_id = {0}; + Photo* _tmp4_ = NULL; + PhotoID _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + Photo* _tmp7_ = NULL; +#line 2239 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp3_); +#line 2239 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id = _tmp3_; +#line 2240 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo; +#line 2240 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (_tmp4_, &_tmp5_); +#line 2240 "/home/jens/Source/shotwell/src/Photo.vala" + other_photo_id = _tmp5_; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + if (self != _tmp7_) { +#line 17511 "Photo.c" + PhotoID _tmp8_ = {0}; + gint64 _tmp9_ = 0LL; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_id; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.id; +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp9_ != PHOTO_ID_INVALID; +#line 17520 "Photo.c" + } else { +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = FALSE; +#line 17524 "Photo.c" + } +#line 2242 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 17528 "Photo.c" + PhotoID _tmp10_ = {0}; + gint64 _tmp11_ = 0LL; + PhotoID _tmp12_ = {0}; + gint64 _tmp13_ = 0LL; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_id; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_.id; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = other_photo_id; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_.id; +#line 2243 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp11_ != _tmp13_, "photo_id.id != other_photo_id.id"); +#line 17543 "Photo.c" + } + } +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = source; +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = DATA_SOURCE_CLASS (photo_parent_class)->equals (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource), TYPE_DATA_SOURCE, DataSource), _tmp14_); +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp15_; +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 2247 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17556 "Photo.c" +} + + +static void photo_file_exif_updated (Photo* self) { + GFile* file = NULL; + GFile* _tmp0_ = NULL; + GFileInfo* info = NULL; + GTimeVal timestamp = {0}; + GFileInfo* _tmp7_ = NULL; + GTimeVal _tmp8_ = {0}; + PhotoFileInterrogator* interrogator = NULL; + PhotoFileInterrogator* _tmp9_ = NULL; + DetectedPhotoInformation* detected = NULL; + DetectedPhotoInformation* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + DetectedPhotoInformation* _tmp16_ = NULL; + gboolean success = FALSE; + gboolean _tmp37_ = FALSE; + GError * _inner_error_ = NULL; +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2252 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp0_; +#line 2254 "/home/jens/Source/shotwell/src/Photo.vala" + info = NULL; +#line 17584 "Photo.c" + { + GFileInfo* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_file_query_info (file, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp2_; +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17595 "Photo.c" + goto __catch328_g_error; + } +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp1_; +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2256 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp3_; +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 17608 "Photo.c" + } + goto __finally328; + __catch328_g_error: + { + GError* err = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = err->message; +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + g_error ("Photo.vala:2259: Unable to read file information for %s: %s", _tmp5_, _tmp6_); +#line 2259 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp5_); +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 17633 "Photo.c" + } + __finally328: +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 2255 "/home/jens/Source/shotwell/src/Photo.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 2255 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2255 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17648 "Photo.c" + } +#line 2262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = info; +#line 2262 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp7_, &_tmp8_); +#line 2262 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp = _tmp8_; +#line 2265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_interrogator_new (file, PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL); +#line 2265 "/home/jens/Source/shotwell/src/Photo.vala" + interrogator = _tmp9_; +#line 17660 "Photo.c" + { +#line 2267 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_interrogator_interrogate (interrogator, &_inner_error_); +#line 2267 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 17666 "Photo.c" + goto __catch329_g_error; + } + } + goto __finally329; + __catch329_g_error: + { + GError* err = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = g_file_get_path (file); +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = err; +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->message; +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2269: Unable to interrogate photo file %s: %s", _tmp11_, _tmp13_); +#line 2269 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp11_); +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 17696 "Photo.c" + } + __finally329: +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 2266 "/home/jens/Source/shotwell/src/Photo.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 2266 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2266 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17713 "Photo.c" + } +#line 2272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo_file_interrogator_get_detected_photo_information (interrogator); +#line 2272 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp14_; +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = detected; +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_ == NULL) { +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = TRUE; +#line 17725 "Photo.c" + } else { + gboolean _tmp17_ = FALSE; +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_interrogator_get_is_photo_corrupted (interrogator); +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp17_; +#line 17732 "Photo.c" + } +#line 2273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 17736 "Photo.c" + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 2274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 2274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 2274 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Photo.vala:2274: file_exif_updated: %s no longer an image", _tmp19_); +#line 2274 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp19_); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 2276 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17757 "Photo.c" + } + { + PhotoRow* _tmp20_ = NULL; +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->row; +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17765 "Photo.c" + { + PhotoTable* _tmp21_ = NULL; + PhotoTable* _tmp22_ = NULL; + PhotoID _tmp23_ = {0}; + GFileInfo* _tmp24_ = NULL; + gint64 _tmp25_ = 0LL; + GTimeVal _tmp26_ = {0}; + glong _tmp27_ = 0L; + DetectedPhotoInformation* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + DetectedPhotoInformation* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + DetectedPhotoInformation* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + PhotoRow* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_table_get_instance (); +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (self, &_tmp23_); +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = info; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = g_file_info_get_size (_tmp24_); +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = timestamp; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_.tv_sec; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = detected; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_->md5; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = detected; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_->exif_md5; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = detected; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_->thumbnail_md5; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = self->row; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_table_master_exif_updated (_tmp22_, &_tmp23_, _tmp25_, _tmp27_, _tmp29_, _tmp31_, _tmp33_, _tmp34_); +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + success = _tmp35_; +#line 2281 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp22_); +#line 17816 "Photo.c" + } + __finally330: + { + PhotoRow* _tmp36_ = NULL; +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = self->row; +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17825 "Photo.c" + } +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 2280 "/home/jens/Source/shotwell/src/Photo.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 2280 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2280 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 17843 "Photo.c" + } + } +#line 2285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = success; +#line 2285 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp37_) { +#line 17850 "Photo.c" + Alteration* _tmp38_ = NULL; + Alteration* _tmp39_ = NULL; +#line 2286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = alteration_new_from_list ("metadata:exif,metadata:md5"); +#line 2286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_; +#line 2286 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp39_); +#line 2286 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp39_); +#line 17861 "Photo.c" + } +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_interrogator_unref0 (interrogator); +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 2251 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 17871 "Photo.c" +} + + +static guint64 photo_real_get_filesize (MediaSource* base) { + Photo * self; + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 2291 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 17881 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17888 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; +#line 2293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 2293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->filesize; +#line 2293 "/home/jens/Source/shotwell/src/Photo.vala" + result = (guint64) _tmp2_; +#line 17898 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17905 "Photo.c" + } +#line 2293 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17909 "Photo.c" + } + __finally331: + { + PhotoRow* _tmp4_ = NULL; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17918 "Photo.c" + } +#line 2292 "/home/jens/Source/shotwell/src/Photo.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 2292 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2292 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 17926 "Photo.c" + } +} + + +static guint64 photo_real_get_master_filesize (MediaSource* base) { + Photo * self; + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 2297 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 17937 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 17944 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + BackingPhotoRow* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->master; +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->filesize; +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + result = (guint64) _tmp3_; +#line 17957 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17964 "Photo.c" + } +#line 2299 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 17968 "Photo.c" + } + __finally332: + { + PhotoRow* _tmp5_ = NULL; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 17977 "Photo.c" + } +#line 2298 "/home/jens/Source/shotwell/src/Photo.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 2298 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2298 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 17985 "Photo.c" + } +} + + +guint64 photo_get_editable_filesize (Photo* self) { + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 2303 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0ULL); +#line 17995 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18002 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; +#line 2305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->editable; +#line 2305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->filesize; +#line 2305 "/home/jens/Source/shotwell/src/Photo.vala" + result = (guint64) _tmp2_; +#line 18012 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18019 "Photo.c" + } +#line 2305 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18023 "Photo.c" + } + __finally333: + { + PhotoRow* _tmp4_ = NULL; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18032 "Photo.c" + } +#line 2304 "/home/jens/Source/shotwell/src/Photo.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 2304 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2304 "/home/jens/Source/shotwell/src/Photo.vala" + return 0ULL; +#line 18040 "Photo.c" + } +} + + +static time_t photo_real_get_exposure_time (Dateable* base) { + Photo * self; + time_t result = 0; + time_t _tmp0_ = 0; +#line 2309 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2310 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->cached_exposure_time; +#line 2310 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 2310 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18057 "Photo.c" +} + + +static gchar* photo_real_get_basename (MediaSource* base) { + Photo * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 2313 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 18067 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18074 "Photo.c" + { + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 2315 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->file_title; +#line 2315 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 2315 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 18084 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18091 "Photo.c" + } +#line 2315 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18095 "Photo.c" + } + __finally334: + { + PhotoRow* _tmp4_ = NULL; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18104 "Photo.c" + } +#line 2314 "/home/jens/Source/shotwell/src/Photo.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 2314 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2314 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 18112 "Photo.c" + } +} + + +static gchar* photo_real_get_title (MediaSource* base) { + Photo * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 2319 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 18123 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18130 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->title; +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 18143 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18150 "Photo.c" + } +#line 2321 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18154 "Photo.c" + } + __finally335: + { + PhotoRow* _tmp5_ = NULL; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18163 "Photo.c" + } +#line 2320 "/home/jens/Source/shotwell/src/Photo.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 2320 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2320 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 18171 "Photo.c" + } +} + + +static gchar* photo_real_get_comment (MediaSource* base) { + Photo * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 2325 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 18182 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18189 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->comment; +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 18202 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18209 "Photo.c" + } +#line 2327 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18213 "Photo.c" + } + __finally336: + { + PhotoRow* _tmp5_ = NULL; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18222 "Photo.c" + } +#line 2326 "/home/jens/Source/shotwell/src/Photo.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 2326 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2326 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 18230 "Photo.c" + } +} + + +static void photo_real_set_title (MediaSource* base, const gchar* title) { + Photo * self; + gchar* new_title = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean committed = FALSE; + gboolean _tmp18_ = FALSE; + GError * _inner_error_ = NULL; +#line 2331 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2332 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = title; +#line 2332 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_prep_title (_tmp0_); +#line 2332 "/home/jens/Source/shotwell/src/Photo.vala" + new_title = _tmp1_; +#line 2334 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 18253 "Photo.c" + { + PhotoRow* _tmp2_ = NULL; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18260 "Photo.c" + { + const gchar* _tmp3_ = NULL; + PhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + PhotoTable* _tmp7_ = NULL; + PhotoTable* _tmp8_ = NULL; + PhotoRow* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = new_title; +#line 2336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->title; +#line 2336 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_strcmp0 (_tmp3_, _tmp5_) == 0) { +#line 18280 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18287 "Photo.c" + } +#line 2337 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_title); +#line 2337 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18293 "Photo.c" + } +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_instance (); +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->photo_id; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = new_title; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_set_title (_tmp8_, &_tmp10_, _tmp11_); +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2339 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp8_); +#line 2340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2340 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 18315 "Photo.c" + PhotoRow* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = new_title; +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp14_->title); +#line 2341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->title = _tmp16_; +#line 18329 "Photo.c" + } + } + __finally337: + { + PhotoRow* _tmp17_ = NULL; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->row; +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18339 "Photo.c" + } +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_title); +#line 2335 "/home/jens/Source/shotwell/src/Photo.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 2335 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2335 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18351 "Photo.c" + } + } +#line 2344 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = committed; +#line 2344 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_) { +#line 18358 "Photo.c" + Alteration* _tmp19_ = NULL; + Alteration* _tmp20_ = NULL; +#line 2345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = alteration_new ("metadata", "name"); +#line 2345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 2345 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp20_); +#line 2345 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp20_); +#line 18369 "Photo.c" + } +#line 2331 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_title); +#line 18373 "Photo.c" +} + + +static gboolean photo_real_set_comment (MediaSource* base, const gchar* comment) { + Photo * self; + gboolean result = FALSE; + gchar* new_comment = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean committed = FALSE; + gboolean _tmp18_ = FALSE; + GError * _inner_error_ = NULL; +#line 2348 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = comment; +#line 2349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_prep_comment (_tmp0_); +#line 2349 "/home/jens/Source/shotwell/src/Photo.vala" + new_comment = _tmp1_; +#line 2351 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 18396 "Photo.c" + { + PhotoRow* _tmp2_ = NULL; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18403 "Photo.c" + { + const gchar* _tmp3_ = NULL; + PhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + PhotoTable* _tmp7_ = NULL; + PhotoTable* _tmp8_ = NULL; + PhotoRow* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 2353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = new_comment; +#line 2353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->comment; +#line 2353 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_strcmp0 (_tmp3_, _tmp5_) == 0) { +#line 2354 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 18425 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18432 "Photo.c" + } +#line 2354 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_comment); +#line 2354 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18438 "Photo.c" + } +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_table_get_instance (); +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->photo_id; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = new_comment; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_set_comment (_tmp8_, &_tmp10_, _tmp11_); +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp12_; +#line 2356 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp8_); +#line 2357 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = committed; +#line 2357 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 18460 "Photo.c" + PhotoRow* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = new_comment; +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp14_->comment); +#line 2358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_->comment = _tmp16_; +#line 18474 "Photo.c" + } + } + __finally338: + { + PhotoRow* _tmp17_ = NULL; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->row; +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18484 "Photo.c" + } +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_comment); +#line 2352 "/home/jens/Source/shotwell/src/Photo.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 2352 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2352 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 18496 "Photo.c" + } + } +#line 2361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = committed; +#line 2361 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_) { +#line 18503 "Photo.c" + Alteration* _tmp19_ = NULL; + Alteration* _tmp20_ = NULL; +#line 2362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = alteration_new ("metadata", "comment"); +#line 2362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 2362 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp20_); +#line 2362 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp20_); +#line 18514 "Photo.c" + } +#line 2364 "/home/jens/Source/shotwell/src/Photo.vala" + result = committed; +#line 2364 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (new_comment); +#line 2364 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 18522 "Photo.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? g_error_copy (self) : NULL; +#line 18529 "Photo.c" +} + + +void photo_set_import_id (Photo* self, ImportID* import_id) { + GError* dberr = NULL; + GError* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 2367 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2367 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (import_id != NULL); +#line 2368 "/home/jens/Source/shotwell/src/Photo.vala" + dberr = NULL; +#line 18543 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 18550 "Photo.c" + { + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + ImportID _tmp5_ = {0}; + PhotoRow* _tmp7_ = NULL; + ImportID _tmp8_ = {0}; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->photo_id; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *import_id; +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_set_import_id (_tmp2_, &_tmp4_, &_tmp5_, &_inner_error_); +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 18578 "Photo.c" + goto __catch340_database_error; + } + { + PhotoRow* _tmp6_ = NULL; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18587 "Photo.c" + } +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 2371 "/home/jens/Source/shotwell/src/Photo.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 2371 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2371 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18597 "Photo.c" + } +#line 2372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 2372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = *import_id; +#line 2372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_->import_id = _tmp8_; +#line 18605 "Photo.c" + } + goto __finally340; + __catch340_database_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; + GError* _tmp10_ = NULL; +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = err; +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _g_error_copy0 (_tmp9_); +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 2374 "/home/jens/Source/shotwell/src/Photo.vala" + dberr = _tmp10_; +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 18627 "Photo.c" + } + __finally340: +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 18632 "Photo.c" + { + PhotoRow* _tmp11_ = NULL; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18639 "Photo.c" + } +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 2370 "/home/jens/Source/shotwell/src/Photo.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 2370 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2370 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18649 "Photo.c" + } + } + __finally339: + { + PhotoRow* _tmp12_ = NULL; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->row; +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 18659 "Photo.c" + } +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 2369 "/home/jens/Source/shotwell/src/Photo.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 2369 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2369 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18671 "Photo.c" + } + } +#line 2378 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = dberr; +#line 2378 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ == NULL) { +#line 18678 "Photo.c" + Alteration* _tmp14_ = NULL; + Alteration* _tmp15_ = NULL; +#line 2379 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = alteration_new ("metadata", "import-id"); +#line 2379 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 2379 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp15_); +#line 2379 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp15_); +#line 18689 "Photo.c" + } else { + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GError* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = dberr; +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->message; +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2381: Unable to write import ID for %s: %s", _tmp17_, _tmp19_); +#line 2381 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp17_); +#line 18707 "Photo.c" + } +#line 2367 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (dberr); +#line 18711 "Photo.c" +} + + +void photo_set_title_persistent (Photo* self, const gchar* title, GError** error) { + PhotoFileReader* source = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileReader* _tmp12_ = NULL; + PhotoFileMetadataWriter* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + const gchar* _tmp22_ = NULL; + GError * _inner_error_ = NULL; +#line 2384 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2385 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 2385 "/home/jens/Source/shotwell/src/Photo.vala" + source = _tmp0_; +#line 2388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = source; +#line 2388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_can_write_metadata (_tmp2_); +#line 2388 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 18748 "Photo.c" + PhotoFileReader* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = source; +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2389: No photo file writer available for %s", _tmp6_); +#line 2389 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_); +#line 2391 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = title; +#line 2391 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp7_); +#line 2393 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2393 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18771 "Photo.c" + } +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = source; +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_reader_read_metadata (_tmp8_, &_inner_error_); +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp9_; +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2396 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18787 "Photo.c" + } +#line 2397 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = metadata; +#line 2397 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = title; +#line 2397 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_title (_tmp10_, _tmp11_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = source; +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_reader_create_metadata_writer (_tmp12_, &_inner_error_); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp13_; +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2399 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18811 "Photo.c" + } +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = source; +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_blacklist_file (_tmp16_, "Photo.set_persistent_title"); +#line 2400 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 18823 "Photo.c" + { + PhotoFileMetadataWriter* _tmp17_ = NULL; + PhotoMetadata* _tmp18_ = NULL; +#line 2402 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = writer; +#line 2402 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = metadata; +#line 2402 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp17_, _tmp18_, &_inner_error_); +#line 2402 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 18835 "Photo.c" + goto __finally341; + } + } + __finally341: + { + PhotoFileReader* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = source; +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_unblacklist_file (_tmp21_); +#line 2404 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp21_); +#line 18854 "Photo.c" + } +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2401 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18868 "Photo.c" + } +#line 2407 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = title; +#line 2407 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp22_); +#line 2409 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_exif_updated (self); +#line 2384 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2384 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2384 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 18882 "Photo.c" +} + + +void photo_set_comment_persistent (Photo* self, const gchar* comment, GError** error) { + PhotoFileReader* source = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileReader* _tmp12_ = NULL; + PhotoFileMetadataWriter* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + const gchar* _tmp22_ = NULL; + GError * _inner_error_ = NULL; +#line 2412 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2413 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 2413 "/home/jens/Source/shotwell/src/Photo.vala" + source = _tmp0_; +#line 2416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = source; +#line 2416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_can_write_metadata (_tmp2_); +#line 2416 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 18919 "Photo.c" + PhotoFileReader* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = source; +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2417: No photo file writer available for %s", _tmp6_); +#line 2417 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_); +#line 2419 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = comment; +#line 2419 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp7_); +#line 2421 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2421 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18942 "Photo.c" + } +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = source; +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_reader_read_metadata (_tmp8_, &_inner_error_); +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp9_; +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2424 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18958 "Photo.c" + } +#line 2425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = metadata; +#line 2425 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = comment; +#line 2425 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_comment (_tmp10_, _tmp11_); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = source; +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_reader_create_metadata_writer (_tmp12_, &_inner_error_); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp13_; +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2427 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 18982 "Photo.c" + } +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = source; +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_blacklist_file (_tmp16_, "Photo.set_persistent_comment"); +#line 2428 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 18994 "Photo.c" + { + PhotoFileMetadataWriter* _tmp17_ = NULL; + PhotoMetadata* _tmp18_ = NULL; +#line 2430 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = writer; +#line 2430 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = metadata; +#line 2430 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp17_, _tmp18_, &_inner_error_); +#line 2430 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19006 "Photo.c" + goto __finally342; + } + } + __finally342: + { + PhotoFileReader* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = source; +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_unblacklist_file (_tmp21_); +#line 2432 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp21_); +#line 19025 "Photo.c" + } +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2429 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19039 "Photo.c" + } +#line 2435 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = comment; +#line 2435 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp22_); +#line 2437 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_exif_updated (self); +#line 2412 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2412 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2412 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 19053 "Photo.c" +} + + +static void photo_real_set_exposure_time (Dateable* base, time_t time) { + Photo * self; + gboolean committed = FALSE; + gboolean _tmp12_ = FALSE; + GError * _inner_error_ = NULL; +#line 2440 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 19064 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19071 "Photo.c" + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + time_t _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->photo_id; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = time; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_table_set_exposure_time (_tmp2_, &_tmp4_, _tmp5_); +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp6_; +#line 2443 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2444 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = committed; +#line 2444 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 19100 "Photo.c" + PhotoRow* _tmp8_ = NULL; + time_t _tmp9_ = 0; + time_t _tmp10_ = 0; +#line 2445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = time; +#line 2445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_->exposure_time = _tmp9_; +#line 2446 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = time; +#line 2446 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->cached_exposure_time = _tmp10_; +#line 19114 "Photo.c" + } + } + __finally343: + { + PhotoRow* _tmp11_ = NULL; +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19124 "Photo.c" + } +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2442 "/home/jens/Source/shotwell/src/Photo.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 2442 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2442 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19134 "Photo.c" + } + } +#line 2450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = committed; +#line 2450 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 19141 "Photo.c" + Alteration* _tmp13_ = NULL; + Alteration* _tmp14_ = NULL; +#line 2451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = alteration_new ("metadata", "exposure-time"); +#line 2451 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_; +#line 2451 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp14_); +#line 2451 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp14_); +#line 19152 "Photo.c" + } +} + + +void photo_set_exposure_time_persistent (Photo* self, time_t time, GError** error) { + PhotoFileReader* source = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + time_t _tmp11_ = 0; + MetadataDateTime* _tmp12_ = NULL; + MetadataDateTime* _tmp13_ = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileReader* _tmp14_ = NULL; + PhotoFileMetadataWriter* _tmp15_ = NULL; + PhotoFileReader* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + time_t _tmp24_ = 0; + GError * _inner_error_ = NULL; +#line 2454 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2455 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_source_reader (self); +#line 2455 "/home/jens/Source/shotwell/src/Photo.vala" + source = _tmp0_; +#line 2458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = source; +#line 2458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_can_write_metadata (_tmp2_); +#line 2458 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 19192 "Photo.c" + PhotoFileReader* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + time_t _tmp7_ = 0; +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = source; +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2459: No photo file writer available for %s", _tmp6_); +#line 2459 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp6_); +#line 2461 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = time; +#line 2461 "/home/jens/Source/shotwell/src/Photo.vala" + dateable_set_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATEABLE, Dateable), _tmp7_); +#line 2463 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2463 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19215 "Photo.c" + } +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = source; +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_file_reader_read_metadata (_tmp8_, &_inner_error_); +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp9_; +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2466 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19231 "Photo.c" + } +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = metadata; +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = time; +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = metadata_date_time_new (_tmp11_); +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp10_, _tmp13_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 2467 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (_tmp13_); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = source; +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_reader_create_metadata_writer (_tmp14_, &_inner_error_); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp15_; +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2469 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19261 "Photo.c" + } +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = source; +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_blacklist_file (_tmp18_, "Photo.set_exposure_time_persistent"); +#line 2470 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp18_); +#line 19273 "Photo.c" + { + PhotoFileMetadataWriter* _tmp19_ = NULL; + PhotoMetadata* _tmp20_ = NULL; +#line 2472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = writer; +#line 2472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = metadata; +#line 2472 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp19_, _tmp20_, &_inner_error_); +#line 2472 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 19285 "Photo.c" + goto __finally344; + } + } + __finally344: + { + PhotoFileReader* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = source; +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_; +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_unblacklist_file (_tmp23_); +#line 2474 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp23_); +#line 19304 "Photo.c" + } +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 2471 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19318 "Photo.c" + } +#line 2477 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = time; +#line 2477 "/home/jens/Source/shotwell/src/Photo.vala" + dateable_set_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATEABLE, Dateable), _tmp24_); +#line 2479 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_exif_updated (self); +#line 2454 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 2454 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2454 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (source); +#line 19332 "Photo.c" +} + + +/** + * @brief Returns the width and height of the Photo after various + * arbitrary stages of the pipeline have been applied in + * the same order they're applied in get_pixbuf_with_options. + * With no argument passed, it works exactly like the + * previous incarnation did. + * + * @param disallowed_steps Which pipeline steps should NOT + * be taken into account when computing image dimensions + * (matching the convention set by get_pixbuf_with_options()). + * Pipeline steps that do not affect the image geometry are + * ignored. + */ +static void photo_real_get_dimensions (MediaSource* base, PhotoException disallowed_steps, Dimensions* result) { + Photo * self; + Dimensions returned_dims = {0}; + Dimensions _tmp0_ = {0}; + PhotoException _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + PhotoException _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + PhotoException _tmp22_ = 0; + gboolean _tmp23_ = FALSE; +#line 2495 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 2497 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp0_); +#line 2497 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims = _tmp0_; +#line 2500 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = disallowed_steps; +#line 2500 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_exception_allows (_tmp1_, PHOTO_EXCEPTION_ORIENTATION); +#line 2500 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 19371 "Photo.c" + Orientation ori_tmp = 0; + Orientation _tmp3_ = 0; + Orientation _tmp4_ = 0; +#line 2501 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_orientation (self); +#line 2501 "/home/jens/Source/shotwell/src/Photo.vala" + ori_tmp = _tmp3_; +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = ori_tmp; +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp4_) { +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + case ORIENTATION_LEFT_TOP: +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + case ORIENTATION_RIGHT_TOP: +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + case ORIENTATION_LEFT_BOTTOM: +#line 2504 "/home/jens/Source/shotwell/src/Photo.vala" + case ORIENTATION_RIGHT_BOTTOM: +#line 19391 "Photo.c" + { + gint width_tmp = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 2510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = returned_dims; +#line 2510 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_.width; +#line 2510 "/home/jens/Source/shotwell/src/Photo.vala" + width_tmp = _tmp6_; +#line 2512 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = returned_dims; +#line 2512 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_.height; +#line 2512 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims.width = _tmp8_; +#line 2513 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = width_tmp; +#line 2513 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims.height = _tmp9_; +#line 2514 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 19417 "Photo.c" + } + default: + { +#line 2518 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 19423 "Photo.c" + } + } + } +#line 2523 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = disallowed_steps; +#line 2523 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_exception_allows (_tmp10_, PHOTO_EXCEPTION_STRAIGHTEN); +#line 2523 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 19433 "Photo.c" + gdouble x_size = 0.0; + gdouble y_size = 0.0; + gdouble angle = 0.0; + gdouble _tmp12_ = 0.0; + Dimensions _tmp13_ = {0}; + gint _tmp14_ = 0; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + gdouble _tmp17_ = 0.0; + gdouble _tmp18_ = 0.0; + gdouble _tmp19_ = 0.0; + gdouble _tmp20_ = 0.0; + gdouble _tmp21_ = 0.0; +#line 2525 "/home/jens/Source/shotwell/src/Photo.vala" + angle = 0.0; +#line 2527 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_straighten (self, &_tmp12_); +#line 2527 "/home/jens/Source/shotwell/src/Photo.vala" + angle = _tmp12_; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = returned_dims; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_.width; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = returned_dims; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_.height; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = angle; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + compute_arb_rotated_size ((gdouble) _tmp14_, (gdouble) _tmp16_, _tmp17_, &_tmp18_, &_tmp19_); +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + x_size = _tmp18_; +#line 2529 "/home/jens/Source/shotwell/src/Photo.vala" + y_size = _tmp19_; +#line 2531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = x_size; +#line 2531 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims.width = (gint) _tmp20_; +#line 2532 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = y_size; +#line 2532 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims.height = (gint) _tmp21_; +#line 19477 "Photo.c" + } +#line 2536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = disallowed_steps; +#line 2536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_exception_allows (_tmp22_, PHOTO_EXCEPTION_CROP); +#line 2536 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_) { +#line 19485 "Photo.c" + Box crop = {0}; + PhotoException _tmp24_ = 0; + Box _tmp25_ = {0}; + gboolean _tmp26_ = FALSE; +#line 2538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = disallowed_steps; +#line 2538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_get_crop (self, &_tmp25_, _tmp24_); +#line 2538 "/home/jens/Source/shotwell/src/Photo.vala" + crop = _tmp25_; +#line 2538 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_) { +#line 19498 "Photo.c" + Dimensions _tmp27_ = {0}; +#line 2539 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&crop, &_tmp27_); +#line 2539 "/home/jens/Source/shotwell/src/Photo.vala" + returned_dims = _tmp27_; +#line 19504 "Photo.c" + } + } +#line 2542 "/home/jens/Source/shotwell/src/Photo.vala" + *result = returned_dims; +#line 2542 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19511 "Photo.c" +} + + +static void photo_locked_create_adjustments_from_data (Photo* self) { + PixelTransformationBundle* _tmp0_ = NULL; + KeyValueMap* map = NULL; + KeyValueMap* _tmp1_ = NULL; + KeyValueMap* _tmp2_ = NULL; + PixelTransformationBundle* _tmp6_ = NULL; + PixelTransformer* _tmp7_ = NULL; +#line 2546 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2547 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = pixel_transformation_bundle_new (); +#line 2547 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2547 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp0_; +#line 2549 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_transformation (self, "adjustments"); +#line 2549 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp1_; +#line 2550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = map; +#line 2550 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ == NULL) { +#line 19538 "Photo.c" + PixelTransformationBundle* _tmp3_ = NULL; +#line 2551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->adjustments; +#line 2551 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_transformation_bundle_set_to_identity (_tmp3_); +#line 19544 "Photo.c" + } else { + PixelTransformationBundle* _tmp4_ = NULL; + KeyValueMap* _tmp5_ = NULL; +#line 2553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->adjustments; +#line 2553 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = map; +#line 2553 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_transformation_bundle_load (_tmp4_, _tmp5_); +#line 19554 "Photo.c" + } +#line 2555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->adjustments; +#line 2555 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = pixel_transformation_bundle_generate_transformer (_tmp6_); +#line 2555 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2555 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = _tmp7_; +#line 2546 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 19566 "Photo.c" +} + + +PixelTransformationBundle* photo_get_color_adjustments (Photo* self) { + PixelTransformationBundle* result = NULL; + GError * _inner_error_ = NULL; +#line 2559 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 19575 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19582 "Photo.c" + { + PixelTransformationBundle* _tmp1_ = NULL; + PixelTransformationBundle* _tmp2_ = NULL; + PixelTransformationBundle* _tmp3_ = NULL; +#line 2561 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->adjustments; +#line 2561 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2562 "/home/jens/Source/shotwell/src/Photo.vala" + photo_locked_create_adjustments_from_data (self); +#line 19593 "Photo.c" + } +#line 2564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->adjustments; +#line 2564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformation_bundle_copy (_tmp2_); +#line 2564 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 19601 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19608 "Photo.c" + } +#line 2564 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 19612 "Photo.c" + } + __finally345: + { + PhotoRow* _tmp5_ = NULL; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19621 "Photo.c" + } +#line 2560 "/home/jens/Source/shotwell/src/Photo.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 2560 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2560 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 19629 "Photo.c" + } +} + + +PixelTransformer* photo_get_pixel_transformer (Photo* self) { + PixelTransformer* result = NULL; + GError * _inner_error_ = NULL; +#line 2568 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 19639 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19646 "Photo.c" + { + PixelTransformer* _tmp1_ = NULL; + PixelTransformer* _tmp2_ = NULL; + PixelTransformer* _tmp3_ = NULL; +#line 2570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->transformer; +#line 2570 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2571 "/home/jens/Source/shotwell/src/Photo.vala" + photo_locked_create_adjustments_from_data (self); +#line 19657 "Photo.c" + } +#line 2573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->transformer; +#line 2573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformer_copy (_tmp2_); +#line 2573 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 19665 "Photo.c" + { + PhotoRow* _tmp4_ = NULL; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19672 "Photo.c" + } +#line 2573 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 19676 "Photo.c" + } + __finally346: + { + PhotoRow* _tmp5_ = NULL; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19685 "Photo.c" + } +#line 2569 "/home/jens/Source/shotwell/src/Photo.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 2569 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2569 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 19693 "Photo.c" + } +} + + +gboolean photo_has_color_adjustments (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 2577 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2578 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_transformation (self, "adjustments"); +#line 2578 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 2578 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 19709 "Photo.c" +} + + +PixelTransformation* photo_get_color_adjustment (Photo* self, PixelTransformationType type) { + PixelTransformation* result = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; + PixelTransformationType _tmp2_ = 0; + PixelTransformation* _tmp3_ = NULL; + PixelTransformation* _tmp4_ = NULL; +#line 2581 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_color_adjustments (self); +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = type; +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformation_bundle_get_transformation (_tmp1_, _tmp2_); +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp1_); +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 2582 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 19738 "Photo.c" +} + + +void photo_set_color_adjustments (Photo* self, PixelTransformationBundle* new_adjustments) { + PixelTransformationBundle* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + KeyValueMap* map = NULL; + PixelTransformationBundle* _tmp8_ = NULL; + KeyValueMap* _tmp9_ = NULL; + gboolean committed = FALSE; + gboolean _tmp39_ = FALSE; + GError * _inner_error_ = NULL; +#line 2585 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2585 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (new_adjustments)); +#line 2588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = new_adjustments; +#line 2588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = pixel_transformation_bundle_is_identity (_tmp0_); +#line 2588 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 19761 "Photo.c" + gboolean _result_ = FALSE; + gboolean _tmp5_ = FALSE; + { + PhotoRow* _tmp2_ = NULL; +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19770 "Photo.c" + { + gboolean _tmp3_ = FALSE; +#line 2591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_remove_transformation (self, "adjustments"); +#line 2591 "/home/jens/Source/shotwell/src/Photo.vala" + _result_ = _tmp3_; +#line 2592 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2592 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = NULL; +#line 2593 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2593 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = NULL; +#line 19785 "Photo.c" + } + __finally347: + { + PhotoRow* _tmp4_ = NULL; +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19794 "Photo.c" + } +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2590 "/home/jens/Source/shotwell/src/Photo.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 2590 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2590 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19804 "Photo.c" + } + } +#line 2596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _result_; +#line 2596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 19811 "Photo.c" + Alteration* _tmp6_ = NULL; + Alteration* _tmp7_ = NULL; +#line 2597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = alteration_new ("image", "color-adjustments"); +#line 2597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 2597 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp7_); +#line 2597 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp7_); +#line 19822 "Photo.c" + } +#line 2599 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 19826 "Photo.c" + } +#line 2603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = new_adjustments; +#line 2603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = pixel_transformation_bundle_save (_tmp8_, "adjustments"); +#line 2603 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp9_; +#line 19834 "Photo.c" + { + PhotoRow* _tmp10_ = NULL; +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 19841 "Photo.c" + { + gboolean _tmp11_ = FALSE; + PixelTransformer* _tmp12_ = NULL; + KeyValueMap* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->transformer; +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ == NULL) { +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 19853 "Photo.c" + } else { + PixelTransformationBundle* _tmp13_ = NULL; +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->adjustments; +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp13_ == NULL; +#line 19860 "Photo.c" + } +#line 2607 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 19864 "Photo.c" + PixelTransformationBundle* _tmp14_ = NULL; + PixelTransformationBundle* _tmp15_ = NULL; + PixelTransformationBundle* _tmp16_ = NULL; + PixelTransformer* _tmp17_ = NULL; +#line 2609 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = new_adjustments; +#line 2609 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = pixel_transformation_bundle_copy (_tmp14_); +#line 2609 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2609 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp15_; +#line 2610 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = new_adjustments; +#line 2610 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = pixel_transformation_bundle_generate_transformer (_tmp16_); +#line 2610 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2610 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = _tmp17_; +#line 19885 "Photo.c" + } else { + PixelTransformationBundle* _tmp34_ = NULL; + PixelTransformationBundle* _tmp35_ = NULL; + { + GeeIterator* _transformation_it = NULL; + PixelTransformationBundle* _tmp18_ = NULL; + GeeIterable* _tmp19_ = NULL; + GeeIterable* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; + GeeIterator* _tmp22_ = NULL; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = new_adjustments; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = pixel_transformation_bundle_get_transformations (_tmp18_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = gee_iterable_iterator (_tmp20_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp20_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _transformation_it = _tmp22_; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 19912 "Photo.c" + GeeIterator* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + PixelTransformation* transformation = NULL; + GeeIterator* _tmp25_ = NULL; + gpointer _tmp26_ = NULL; + PixelTransformer* _tmp27_ = NULL; + PixelTransformationBundle* _tmp28_ = NULL; + PixelTransformation* _tmp29_ = NULL; + PixelTransformationType _tmp30_ = 0; + PixelTransformation* _tmp31_ = NULL; + PixelTransformation* _tmp32_ = NULL; + PixelTransformation* _tmp33_ = NULL; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _transformation_it; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = gee_iterator_next (_tmp23_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp24_) { +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 19933 "Photo.c" + } +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _transformation_it; +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = gee_iterator_get (_tmp25_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + transformation = (PixelTransformation*) _tmp26_; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = self->priv->transformer; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = self->priv->adjustments; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = transformation; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = pixel_transformation_get_transformation_type (_tmp29_); +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = pixel_transformation_bundle_get_transformation (_tmp28_, _tmp30_); +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = transformation; +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_transformer_replace_transformation (_tmp27_, _tmp32_, _tmp33_); +#line 2614 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_unref0 (_tmp32_); +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_unref0 (transformation); +#line 19961 "Photo.c" + } +#line 2613 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_transformation_it); +#line 19965 "Photo.c" + } +#line 2619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = new_adjustments; +#line 2619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = pixel_transformation_bundle_copy (_tmp34_); +#line 2619 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2619 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp35_; +#line 19975 "Photo.c" + } +#line 2622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = map; +#line 2622 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = photo_set_transformation (self, _tmp36_); +#line 2622 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp37_; +#line 19983 "Photo.c" + } + __finally348: + { + PhotoRow* _tmp38_ = NULL; +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = self->row; +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 19992 "Photo.c" + } +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2606 "/home/jens/Source/shotwell/src/Photo.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 2606 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2606 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20004 "Photo.c" + } + } +#line 2625 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = committed; +#line 2625 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp39_) { +#line 20011 "Photo.c" + Alteration* _tmp40_ = NULL; + Alteration* _tmp41_ = NULL; +#line 2626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = alteration_new ("image", "color-adjustments"); +#line 2626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_; +#line 2626 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp41_); +#line 2626 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp41_); +#line 20022 "Photo.c" + } +#line 2585 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 20026 "Photo.c" +} + + +static PhotoMetadata* photo_real_get_metadata (PhotoSource* base) { + Photo * self; + PhotoMetadata* result = NULL; + GError * _inner_error_ = NULL; +#line 2630 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 20036 "Photo.c" + { + PhotoMetadata* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; + PhotoMetadata* _tmp5_ = NULL; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_source_reader (self); +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_reader_read_metadata (_tmp2_, &_inner_error_); +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp2_); +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp4_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 20058 "Photo.c" + goto __catch349_g_error; + } +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp0_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp0_); +#line 2632 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20071 "Photo.c" + } + goto __finally349; + __catch349_g_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 2631 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 2631 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 2634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = err; +#line 2634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->message; +#line 2634 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:2634: Unable to load metadata: %s", _tmp7_); +#line 2636 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 2636 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 2636 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20095 "Photo.c" + } + __finally349: +#line 2631 "/home/jens/Source/shotwell/src/Photo.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 2631 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2631 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 20104 "Photo.c" +} + + +PhotoMetadata* photo_get_master_metadata (Photo* self, GError** error) { + PhotoMetadata* result = NULL; + PhotoMetadata* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; + PhotoMetadata* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 2640 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_master_reader (self); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_reader_read_metadata (_tmp2_, &_inner_error_); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp2_); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp4_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 20137 "Photo.c" + } +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp0_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp0_); +#line 2641 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20149 "Photo.c" +} + + +PhotoMetadata* photo_get_editable_metadata (Photo* self, GError** error) { + PhotoMetadata* result = NULL; + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 2644 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2645 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 2645 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp0_; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = reader; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 20170 "Photo.c" + PhotoFileReader* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = reader; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_reader_read_metadata (_tmp3_, &_inner_error_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp1_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp4_; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp1_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 20191 "Photo.c" + } + } else { +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (_tmp1_); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 20198 "Photo.c" + } +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 2647 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20206 "Photo.c" +} + + +gboolean photo_persist_master_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportMasterState** state, GError** error) { + PhotoReimportMasterState* _vala_state = NULL; + gboolean result = FALSE; + PhotoFileReader* master_reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + PhotoFileMetadataWriter* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + PhotoFileMetadataWriter* _tmp6_ = NULL; + PhotoFileMetadataWriter* _tmp7_ = NULL; + PhotoFileMetadataWriter* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + PhotoReimportMasterState* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + PhotoReimportMasterState* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 2653 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2653 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (metadata), FALSE); +#line 2655 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 2655 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = NULL; +#line 2657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_master_reader (self); +#line 2657 "/home/jens/Source/shotwell/src/Photo.vala" + master_reader = _tmp0_; +#line 2659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = master_reader; +#line 2659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_format_can_write_metadata (_tmp2_); +#line 2659 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20257 "Photo.c" + } else { +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 20261 "Photo.c" + } +#line 2660 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20265 "Photo.c" + } +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = master_reader; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_reader_create_metadata_writer (_tmp5_, &_inner_error_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp6_; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20281 "Photo.c" + } +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp4_; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = NULL; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = metadata; +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp8_, _tmp9_, &_inner_error_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp8_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp4_); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2662 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20305 "Photo.c" + } +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_prepare_for_reimport_master (self, &_tmp11_, &_inner_error_); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = _tmp11_; +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp12_; +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp4_); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20325 "Photo.c" + } +#line 2664 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp10_) { +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp4_); +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20339 "Photo.c" + } else { +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 20343 "Photo.c" + } +#line 2665 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20347 "Photo.c" + } +#line 2667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _vala_state; +#line 2667 "/home/jens/Source/shotwell/src/Photo.vala" + G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImpl)->metadata_only = TRUE; +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp4_); +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (master_reader); +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20363 "Photo.c" + } else { +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_master_state_unref0 (_vala_state); +#line 20367 "Photo.c" + } +#line 2669 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20371 "Photo.c" +} + + +void photo_finish_update_master_metadata (Photo* self, PhotoReimportMasterState* state, GError** error) { + PhotoReimportMasterState* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 2672 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2672 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_MASTER_STATE (state)); +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = state; +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + photo_finish_reimport_master (self, _tmp0_, &_inner_error_); +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20394 "Photo.c" + } else { +#line 2673 "/home/jens/Source/shotwell/src/Photo.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 2673 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2673 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20402 "Photo.c" + } + } +} + + +gboolean photo_persist_editable_metadata (Photo* self, PhotoMetadata* metadata, PhotoReimportEditableState** state, GError** error) { + PhotoReimportEditableState* _vala_state = NULL; + gboolean result = FALSE; + PhotoFileReader* editable_reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + PhotoFileMetadataWriter* _tmp5_ = NULL; + PhotoFileReader* _tmp6_ = NULL; + PhotoFileMetadataWriter* _tmp7_ = NULL; + PhotoFileMetadataWriter* _tmp8_ = NULL; + PhotoFileMetadataWriter* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + PhotoReimportEditableState* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + PhotoReimportEditableState* _tmp14_ = NULL; + GError * _inner_error_ = NULL; +#line 2676 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2676 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (metadata), FALSE); +#line 2678 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 2678 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = NULL; +#line 2680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 2680 "/home/jens/Source/shotwell/src/Photo.vala" + editable_reader = _tmp0_; +#line 2681 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = editable_reader; +#line 2681 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20452 "Photo.c" + } else { +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 20456 "Photo.c" + } +#line 2682 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20460 "Photo.c" + } +#line 2684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = editable_reader; +#line 2684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 2684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_format_can_write_metadata (_tmp3_); +#line 2684 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20478 "Photo.c" + } else { +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 20482 "Photo.c" + } +#line 2685 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20486 "Photo.c" + } +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = editable_reader; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_file_reader_create_metadata_writer (_tmp6_, &_inner_error_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp7_; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20502 "Photo.c" + } +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp5_; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = NULL; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = metadata; +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp9_, _tmp10_, &_inner_error_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp9_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2687 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20526 "Photo.c" + } +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_prepare_for_reimport_editable (self, &_tmp12_, &_inner_error_); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = _tmp12_; +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp13_; +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20546 "Photo.c" + } +#line 2689 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp11_) { +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20560 "Photo.c" + } else { +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 20564 "Photo.c" + } +#line 2690 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20568 "Photo.c" + } +#line 2692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _vala_state; +#line 2692 "/home/jens/Source/shotwell/src/Photo.vala" + G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImpl)->metadata_only = TRUE; +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (editable_reader); +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 20584 "Photo.c" + } else { +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_editable_state_unref0 (_vala_state); +#line 20588 "Photo.c" + } +#line 2694 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20592 "Photo.c" +} + + +void photo_finish_update_editable_metadata (Photo* self, PhotoReimportEditableState* state, GError** error) { + PhotoReimportEditableState* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 2697 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2697 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_EDITABLE_STATE (state)); +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = state; +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + photo_finish_reimport_editable (self, _tmp0_, &_inner_error_); +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20615 "Photo.c" + } else { +#line 2698 "/home/jens/Source/shotwell/src/Photo.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 2698 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2698 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20623 "Photo.c" + } + } +} + + +void photo_get_raw_dimensions (Photo* self, Dimensions* result) { + GError * _inner_error_ = NULL; +#line 2703 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 20633 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 20640 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; +#line 2705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 2705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->dim; +#line 2705 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 20650 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20657 "Photo.c" + } +#line 2705 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20661 "Photo.c" + } + __finally350: + { + PhotoRow* _tmp4_ = NULL; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20670 "Photo.c" + } +#line 2704 "/home/jens/Source/shotwell/src/Photo.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 2704 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2704 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 20678 "Photo.c" + } +} + + +gboolean photo_has_transformations (Photo* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2709 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 20688 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 20695 "Photo.c" + { + gboolean _tmp1_ = FALSE; + PhotoRow* _tmp2_ = NULL; + Orientation _tmp3_ = 0; + BackingPhotoRow* _tmp4_ = NULL; + Orientation _tmp5_ = 0; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->orientation; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->backing_photo_row; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->original_orientation; +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != _tmp5_) { +#line 2712 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = TRUE; +#line 20714 "Photo.c" + } else { + PhotoRow* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; +#line 2713 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2713 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->transformations; +#line 2713 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp7_ != NULL; +#line 20724 "Photo.c" + } +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 20728 "Photo.c" + { + PhotoRow* _tmp8_ = NULL; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20735 "Photo.c" + } +#line 2711 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20739 "Photo.c" + } + __finally351: + { + PhotoRow* _tmp9_ = NULL; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20748 "Photo.c" + } +#line 2710 "/home/jens/Source/shotwell/src/Photo.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 2710 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2710 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20756 "Photo.c" + } +} + + +gboolean photo_only_metadata_changed (Photo* self) { + gboolean result = FALSE; + MetadataDateTime* date_time = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 2717 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2718 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = NULL; +#line 2720 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 2720 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp0_; +#line 2721 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 2721 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 20780 "Photo.c" + PhotoMetadata* _tmp2_ = NULL; + MetadataDateTime* _tmp3_ = NULL; +#line 2722 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 2722 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_metadata_get_exposure_date_time (_tmp2_); +#line 2722 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2722 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp3_; +#line 20791 "Photo.c" + } + { + PhotoRow* _tmp4_ = NULL; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 20799 "Photo.c" + { + gboolean _tmp5_ = FALSE; + PhotoRow* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->transformations; +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ == NULL) { +#line 20810 "Photo.c" + gboolean _tmp8_ = FALSE; + PhotoRow* _tmp9_ = NULL; + Orientation _tmp10_ = 0; + BackingPhotoRow* _tmp11_ = NULL; + Orientation _tmp12_ = 0; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->orientation; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->backing_photo_row; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->original_orientation; +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ != _tmp12_) { +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = TRUE; +#line 20828 "Photo.c" + } else { + gboolean _tmp13_ = FALSE; + MetadataDateTime* _tmp14_ = NULL; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = date_time; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != NULL) { +#line 20836 "Photo.c" + PhotoRow* _tmp15_ = NULL; + time_t _tmp16_ = 0; + MetadataDateTime* _tmp17_ = NULL; + time_t _tmp18_ = 0; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->exposure_time; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = date_time; +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = metadata_date_time_get_timestamp (_tmp17_); +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp16_ != _tmp18_; +#line 20851 "Photo.c" + } else { +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = FALSE; +#line 20855 "Photo.c" + } +#line 2727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp13_; +#line 20859 "Photo.c" + } +#line 2726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp8_; +#line 20863 "Photo.c" + } else { +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = FALSE; +#line 20867 "Photo.c" + } +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 20871 "Photo.c" + { + PhotoRow* _tmp19_ = NULL; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20878 "Photo.c" + } +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2725 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 20886 "Photo.c" + } + __finally352: + { + PhotoRow* _tmp20_ = NULL; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->row; +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 20895 "Photo.c" + } +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2724 "/home/jens/Source/shotwell/src/Photo.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 2724 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2724 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 20907 "Photo.c" + } +#line 2717 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2717 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 20913 "Photo.c" +} + + +gboolean photo_has_alterations (Photo* self) { + gboolean result = FALSE; + MetadataDateTime* date_time = NULL; + gchar* title = NULL; + gchar* comment = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; + MetadataDateTime* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2732 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = NULL; +#line 2733 "/home/jens/Source/shotwell/src/Photo.vala" + title = NULL; +#line 2734 "/home/jens/Source/shotwell/src/Photo.vala" + comment = NULL; +#line 2736 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 2736 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp0_; +#line 2737 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 2737 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 20943 "Photo.c" + PhotoMetadata* _tmp2_ = NULL; + MetadataDateTime* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PhotoMetadata* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 2738 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 2738 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_metadata_get_exposure_date_time (_tmp2_); +#line 2738 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2738 "/home/jens/Source/shotwell/src/Photo.vala" + date_time = _tmp3_; +#line 2739 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = metadata; +#line 2739 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 2739 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2739 "/home/jens/Source/shotwell/src/Photo.vala" + title = _tmp5_; +#line 2740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = metadata; +#line 2740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 2740 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2740 "/home/jens/Source/shotwell/src/Photo.vala" + comment = _tmp7_; +#line 20974 "Photo.c" + } +#line 2744 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = date_time; +#line 2744 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ == NULL) { +#line 20980 "Photo.c" + { + PhotoRow* _tmp9_ = NULL; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 20987 "Photo.c" + { + BackingPhotoRow* _tmp10_ = NULL; + time_t _tmp11_ = 0; + PhotoRow* _tmp12_ = NULL; + time_t _tmp13_ = 0; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->backing_photo_row; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->timestamp; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->row; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->exposure_time; +#line 2748 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != _tmp13_) { +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 21005 "Photo.c" + { + PhotoRow* _tmp14_ = NULL; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21012 "Photo.c" + } +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2750 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21024 "Photo.c" + } + } + __finally353: + { + PhotoRow* _tmp15_ = NULL; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21034 "Photo.c" + } +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2746 "/home/jens/Source/shotwell/src/Photo.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 2746 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2746 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 21052 "Photo.c" + } + } + } + { + PhotoRow* _tmp16_ = NULL; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21062 "Photo.c" + { + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + PhotoRow* _tmp21_ = NULL; + GeeHashMap* _tmp22_ = NULL; +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->row; +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->transformations; +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = TRUE; +#line 21078 "Photo.c" + } else { + PhotoRow* _tmp23_ = NULL; + Orientation _tmp24_ = 0; + BackingPhotoRow* _tmp25_ = NULL; + Orientation _tmp26_ = 0; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = self->row; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_->orientation; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->backing_photo_row; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->original_orientation; +#line 2757 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp24_ != _tmp26_; +#line 21094 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp20_) { +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = TRUE; +#line 21100 "Photo.c" + } else { + gboolean _tmp27_ = FALSE; + MetadataDateTime* _tmp28_ = NULL; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = date_time; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_ != NULL) { +#line 21108 "Photo.c" + PhotoRow* _tmp29_ = NULL; + time_t _tmp30_ = 0; + MetadataDateTime* _tmp31_ = NULL; + time_t _tmp32_ = 0; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->row; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_->exposure_time; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = date_time; +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = metadata_date_time_get_timestamp (_tmp31_); +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp30_ != _tmp32_; +#line 21123 "Photo.c" + } else { +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = FALSE; +#line 21127 "Photo.c" + } +#line 2758 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp27_; +#line 21131 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_) { +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = TRUE; +#line 21137 "Photo.c" + } else { + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_; +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = comment; +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = g_strcmp0 (_tmp34_, _tmp35_) != 0; +#line 2759 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp34_); +#line 21152 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_) { +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = TRUE; +#line 21158 "Photo.c" + } else { + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = title; +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_strcmp0 (_tmp37_, _tmp38_) != 0; +#line 2760 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp37_); +#line 21173 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp17_; +#line 21177 "Photo.c" + { + PhotoRow* _tmp39_ = NULL; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = self->row; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21184 "Photo.c" + } +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2756 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21196 "Photo.c" + } + __finally354: + { + PhotoRow* _tmp40_ = NULL; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->row; +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21205 "Photo.c" + } +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 2755 "/home/jens/Source/shotwell/src/Photo.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 2755 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2755 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 21221 "Photo.c" + } +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (comment); +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (title); +#line 2731 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (date_time); +#line 21231 "Photo.c" +} + + +PhotoTransformationState* photo_save_transformation_state (Photo* self) { + PhotoTransformationState* result = NULL; + GError * _inner_error_ = NULL; +#line 2765 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 21240 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21247 "Photo.c" + { + PixelTransformer* _tmp1_ = NULL; + PixelTransformer* _tmp2_ = NULL; + PixelTransformationBundle* _tmp5_ = NULL; + PixelTransformationBundle* _tmp6_ = NULL; + PhotoRow* _tmp9_ = NULL; + Orientation _tmp10_ = 0; + PhotoRow* _tmp11_ = NULL; + GeeHashMap* _tmp12_ = NULL; + PhotoPhotoTransformationStateImpl* _tmp13_ = NULL; +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->transformer; +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 21262 "Photo.c" + PixelTransformer* _tmp3_ = NULL; + PixelTransformer* _tmp4_ = NULL; +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->transformer; +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = pixel_transformer_copy (_tmp3_); +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp1_); +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp4_; +#line 21273 "Photo.c" + } else { +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp1_); +#line 2769 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 21279 "Photo.c" + } +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->adjustments; +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != NULL) { +#line 21285 "Photo.c" + PixelTransformationBundle* _tmp7_ = NULL; + PixelTransformationBundle* _tmp8_ = NULL; +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->adjustments; +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = pixel_transformation_bundle_copy (_tmp7_); +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp5_); +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp8_; +#line 21296 "Photo.c" + } else { +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp5_); +#line 2770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = NULL; +#line 21302 "Photo.c" + } +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->orientation; +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->transformations; +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_photo_transformation_state_impl_new (self, _tmp10_, _tmp12_, _tmp1_, _tmp5_); +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState); +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp5_); +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp1_); +#line 21320 "Photo.c" + { + PhotoRow* _tmp14_ = NULL; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21327 "Photo.c" + } +#line 2767 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21331 "Photo.c" + } + __finally355: + { + PhotoRow* _tmp15_ = NULL; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21340 "Photo.c" + } +#line 2766 "/home/jens/Source/shotwell/src/Photo.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 2766 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2766 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 21348 "Photo.c" + } +} + + +static gpointer _pixel_transformer_ref0 (gpointer self) { +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? pixel_transformer_ref (self) : NULL; +#line 21356 "Photo.c" +} + + +static gpointer _pixel_transformation_bundle_ref0 (gpointer self) { +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? pixel_transformation_bundle_ref (self) : NULL; +#line 21363 "Photo.c" +} + + +gboolean photo_load_transformation_state (Photo* self, PhotoTransformationState* state) { + gboolean result = FALSE; + PhotoPhotoTransformationStateImpl* state_impl = NULL; + PhotoTransformationState* _tmp0_ = NULL; + PhotoPhotoTransformationStateImpl* _tmp1_ = NULL; + PhotoPhotoTransformationStateImpl* _tmp2_ = NULL; + Orientation saved_orientation = 0; + PhotoPhotoTransformationStateImpl* _tmp3_ = NULL; + Orientation _tmp4_ = 0; + GeeHashMap* saved_transformations = NULL; + PhotoPhotoTransformationStateImpl* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + PixelTransformer* saved_transformer = NULL; + PhotoPhotoTransformationStateImpl* _tmp7_ = NULL; + PixelTransformer* _tmp8_ = NULL; + PixelTransformationBundle* saved_adjustments = NULL; + PhotoPhotoTransformationStateImpl* _tmp9_ = NULL; + PixelTransformationBundle* _tmp10_ = NULL; + gboolean committed = FALSE; + gboolean _tmp30_ = FALSE; + GError * _inner_error_ = NULL; +#line 2774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_TRANSFORMATION_STATE (state), FALSE); +#line 2775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = state; +#line 2775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL) ? ((PhotoPhotoTransformationStateImpl*) _tmp0_) : NULL); +#line 2775 "/home/jens/Source/shotwell/src/Photo.vala" + state_impl = _tmp1_; +#line 2776 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = state_impl; +#line 2776 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ == NULL) { +#line 2777 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2777 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (state_impl); +#line 2777 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21408 "Photo.c" + } +#line 2779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = state_impl; +#line 2779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_photo_transformation_state_impl_get_orientation (_tmp3_); +#line 2779 "/home/jens/Source/shotwell/src/Photo.vala" + saved_orientation = _tmp4_; +#line 2780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = state_impl; +#line 2780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_photo_transformation_state_impl_get_transformations (_tmp5_); +#line 2780 "/home/jens/Source/shotwell/src/Photo.vala" + saved_transformations = _tmp6_; +#line 2781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = state_impl; +#line 2781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_photo_transformation_state_impl_get_transformer (_tmp7_); +#line 2781 "/home/jens/Source/shotwell/src/Photo.vala" + saved_transformer = _tmp8_; +#line 2782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = state_impl; +#line 2782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_photo_transformation_state_impl_get_color_adjustments (_tmp9_); +#line 2782 "/home/jens/Source/shotwell/src/Photo.vala" + saved_adjustments = _tmp10_; +#line 21434 "Photo.c" + { + PhotoRow* _tmp11_ = NULL; +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21441 "Photo.c" + { + PhotoTable* _tmp12_ = NULL; + PhotoTable* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + PhotoID _tmp15_ = {0}; + Orientation _tmp16_ = 0; + GeeHashMap* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_get_instance (); +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->photo_id; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = saved_orientation; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = saved_transformations; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = photo_table_set_transformation_state (_tmp13_, &_tmp15_, _tmp16_, _tmp17_); +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp18_; +#line 2786 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp13_); +#line 2788 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = committed; +#line 2788 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_) { +#line 21473 "Photo.c" + PhotoRow* _tmp20_ = NULL; + Orientation _tmp21_ = 0; + PhotoRow* _tmp22_ = NULL; + GeeHashMap* _tmp23_ = NULL; + GeeHashMap* _tmp24_ = NULL; + PixelTransformer* _tmp25_ = NULL; + PixelTransformer* _tmp26_ = NULL; + PixelTransformationBundle* _tmp27_ = NULL; + PixelTransformationBundle* _tmp28_ = NULL; +#line 2789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->row; +#line 2789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = saved_orientation; +#line 2789 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_->orientation = _tmp21_; +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = self->row; +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = saved_transformations; +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp22_->transformations); +#line 2790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_->transformations = _tmp24_; +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = saved_transformer; +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _pixel_transformer_ref0 (_tmp25_); +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2791 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = _tmp26_; +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = saved_adjustments; +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _pixel_transformation_bundle_ref0 (_tmp27_); +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2792 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp28_; +#line 21515 "Photo.c" + } + } + __finally356: + { + PhotoRow* _tmp29_ = NULL; +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->row; +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21525 "Photo.c" + } +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (saved_adjustments); +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (saved_transformer); +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (saved_transformations); +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (state_impl); +#line 2785 "/home/jens/Source/shotwell/src/Photo.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 2785 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2785 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 21543 "Photo.c" + } + } +#line 2796 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = committed; +#line 2796 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp30_) { +#line 21550 "Photo.c" + Alteration* _tmp31_ = NULL; + Alteration* _tmp32_ = NULL; +#line 2797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = alteration_new ("image", "transformation-state"); +#line 2797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_; +#line 2797 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp32_); +#line 2797 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp32_); +#line 21561 "Photo.c" + } +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + result = committed; +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (saved_adjustments); +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (saved_transformer); +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (saved_transformations); +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (state_impl); +#line 2799 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21575 "Photo.c" +} + + +void photo_remove_all_transformations (Photo* self) { +#line 2802 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2803 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, TRUE); +#line 21584 "Photo.c" +} + + +static void photo_internal_remove_all_transformations (Photo* self, gboolean notify) { + gboolean is_altered = FALSE; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + GError * _inner_error_ = NULL; +#line 2806 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2807 "/home/jens/Source/shotwell/src/Photo.vala" + is_altered = FALSE; +#line 21597 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21604 "Photo.c" + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + PhotoRow* _tmp6_ = NULL; + PhotoRow* _tmp7_ = NULL; + Orientation _tmp8_ = 0; + BackingPhotoRow* _tmp9_ = NULL; + Orientation _tmp10_ = 0; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->photo_id; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_table_remove_all_transformations (_tmp2_, &_tmp4_); +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + is_altered = _tmp5_; +#line 2809 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 2810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2810 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp6_->transformations); +#line 2810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_->transformations = NULL; +#line 2812 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2812 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = NULL; +#line 2813 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 2813 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = NULL; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->orientation; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->backing_photo_row; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->original_orientation; +#line 2815 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != _tmp10_) { +#line 21654 "Photo.c" + PhotoTable* _tmp11_ = NULL; + PhotoTable* _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + PhotoID _tmp14_ = {0}; + BackingPhotoRow* _tmp15_ = NULL; + Orientation _tmp16_ = 0; + PhotoRow* _tmp17_ = NULL; + BackingPhotoRow* _tmp18_ = NULL; + Orientation _tmp19_ = 0; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_table_get_instance (); +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->photo_id; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->backing_photo_row; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_->original_orientation; +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_set_orientation (_tmp12_, &_tmp14_, _tmp16_); +#line 2816 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp12_); +#line 2818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = self->row; +#line 2818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->backing_photo_row; +#line 2818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->original_orientation; +#line 2818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_->orientation = _tmp19_; +#line 2819 "/home/jens/Source/shotwell/src/Photo.vala" + is_altered = TRUE; +#line 21690 "Photo.c" + } + } + __finally357: + { + PhotoRow* _tmp20_ = NULL; +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->row; +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21700 "Photo.c" + } +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2808 "/home/jens/Source/shotwell/src/Photo.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 2808 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2808 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 21710 "Photo.c" + } + } +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = is_altered; +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_) { +#line 21717 "Photo.c" + gboolean _tmp23_ = FALSE; +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = notify; +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp23_; +#line 21723 "Photo.c" + } else { +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = FALSE; +#line 21727 "Photo.c" + } +#line 2823 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_) { +#line 21731 "Photo.c" + Alteration* _tmp24_ = NULL; + Alteration* _tmp25_ = NULL; +#line 2824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = alteration_new ("image", "revert"); +#line 2824 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 2824 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp25_); +#line 2824 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp25_); +#line 21742 "Photo.c" + } +} + + +Orientation photo_get_original_orientation (Photo* self) { + Orientation result = 0; + GError * _inner_error_ = NULL; +#line 2827 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 21752 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21759 "Photo.c" + { + BackingPhotoRow* _tmp1_ = NULL; + Orientation _tmp2_ = 0; +#line 2829 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->backing_photo_row; +#line 2829 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->original_orientation; +#line 2829 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 21769 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21776 "Photo.c" + } +#line 2829 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21780 "Photo.c" + } + __finally358: + { + PhotoRow* _tmp4_ = NULL; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21789 "Photo.c" + } +#line 2828 "/home/jens/Source/shotwell/src/Photo.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 2828 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2828 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 21797 "Photo.c" + } +} + + +Orientation photo_get_orientation (Photo* self) { + Orientation result = 0; + GError * _inner_error_ = NULL; +#line 2833 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), 0); +#line 21807 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21814 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Orientation _tmp2_ = 0; +#line 2835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->orientation; +#line 2835 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 21824 "Photo.c" + { + PhotoRow* _tmp3_ = NULL; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21831 "Photo.c" + } +#line 2835 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21835 "Photo.c" + } + __finally359: + { + PhotoRow* _tmp4_ = NULL; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21844 "Photo.c" + } +#line 2834 "/home/jens/Source/shotwell/src/Photo.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 2834 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2834 "/home/jens/Source/shotwell/src/Photo.vala" + return 0; +#line 21852 "Photo.c" + } +} + + +gboolean photo_set_orientation (Photo* self, Orientation orientation) { + gboolean result = FALSE; + gboolean committed = FALSE; + gboolean _tmp14_ = FALSE; + GError * _inner_error_ = NULL; +#line 2839 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2840 "/home/jens/Source/shotwell/src/Photo.vala" + committed = FALSE; +#line 21866 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21873 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + Orientation _tmp2_ = 0; + Orientation _tmp3_ = 0; +#line 2842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->orientation; +#line 2842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = orientation; +#line 2842 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != _tmp3_) { +#line 21886 "Photo.c" + PhotoTable* _tmp4_ = NULL; + PhotoTable* _tmp5_ = NULL; + PhotoRow* _tmp6_ = NULL; + PhotoID _tmp7_ = {0}; + Orientation _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_table_get_instance (); +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->photo_id; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = orientation; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_table_set_orientation (_tmp5_, &_tmp7_, _tmp8_); +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + committed = _tmp9_; +#line 2843 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp5_); +#line 2844 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = committed; +#line 2844 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 21914 "Photo.c" + PhotoRow* _tmp11_ = NULL; + Orientation _tmp12_ = 0; +#line 2845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = orientation; +#line 2845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_->orientation = _tmp12_; +#line 21923 "Photo.c" + } + } + } + __finally360: + { + PhotoRow* _tmp13_ = NULL; +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 21934 "Photo.c" + } +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2841 "/home/jens/Source/shotwell/src/Photo.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 2841 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2841 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 21944 "Photo.c" + } + } +#line 2849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = committed; +#line 2849 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_) { +#line 21951 "Photo.c" + Alteration* _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; +#line 2850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = alteration_new ("image", "orientation"); +#line 2850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 2850 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp16_); +#line 2850 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp16_); +#line 21962 "Photo.c" + } +#line 2852 "/home/jens/Source/shotwell/src/Photo.vala" + result = committed; +#line 2852 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21968 "Photo.c" +} + + +gboolean photo_check_can_rotate (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 2855 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2856 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->can_rotate_now; +#line 2856 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 2856 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 21983 "Photo.c" +} + + +static void photo_real_rotate (Photo* self, Rotation rotation) { + GError * _inner_error_ = NULL; + { + PhotoRow* _tmp0_ = NULL; +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 21995 "Photo.c" + { + Orientation _tmp1_ = 0; + Rotation _tmp2_ = 0; + Orientation _tmp3_ = 0; +#line 2861 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_orientation (self); +#line 2861 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = rotation; +#line 2861 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = orientation_perform (_tmp1_, _tmp2_); +#line 2861 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp3_); +#line 22008 "Photo.c" + } + __finally361: + { + PhotoRow* _tmp4_ = NULL; +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22017 "Photo.c" + } +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2860 "/home/jens/Source/shotwell/src/Photo.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 2860 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2860 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 22027 "Photo.c" + } + } +} + + +void photo_rotate (Photo* self, Rotation rotation) { +#line 2859 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2859 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->rotate (self, rotation); +#line 22038 "Photo.c" +} + + +static gboolean photo_has_transformation (Photo* self, const gchar* name) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2865 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2865 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (name != NULL, FALSE); +#line 22049 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 22056 "Photo.c" + { + gboolean _tmp1_ = FALSE; + PhotoRow* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->transformations; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 22067 "Photo.c" + PhotoRow* _tmp4_ = NULL; + GeeHashMap* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->transformations; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = name; +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_); +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp7_; +#line 22082 "Photo.c" + } else { +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 22086 "Photo.c" + } +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 22090 "Photo.c" + { + PhotoRow* _tmp8_ = NULL; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->row; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22097 "Photo.c" + } +#line 2867 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22101 "Photo.c" + } + __finally362: + { + PhotoRow* _tmp9_ = NULL; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22110 "Photo.c" + } +#line 2866 "/home/jens/Source/shotwell/src/Photo.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 2866 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2866 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 22118 "Photo.c" + } +} + + +static KeyValueMap* photo_get_transformation (Photo* self, const gchar* name) { + KeyValueMap* result = NULL; + KeyValueMap* map = NULL; + GError * _inner_error_ = NULL; +#line 2874 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2874 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 2875 "/home/jens/Source/shotwell/src/Photo.vala" + map = NULL; +#line 22133 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 22140 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 2877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->transformations; +#line 2877 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 22150 "Photo.c" + PhotoRow* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + KeyValueMap* _tmp7_ = NULL; +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->transformations; +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = name; +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2878 "/home/jens/Source/shotwell/src/Photo.vala" + map = (KeyValueMap*) _tmp6_; +#line 2879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = map; +#line 2879 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ != NULL) { +#line 22172 "Photo.c" + KeyValueMap* _tmp8_ = NULL; + KeyValueMap* _tmp9_ = NULL; +#line 2880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = map; +#line 2880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = key_value_map_copy (_tmp8_); +#line 2880 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2880 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp9_; +#line 22183 "Photo.c" + } + } + } + __finally363: + { + PhotoRow* _tmp10_ = NULL; +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22194 "Photo.c" + } +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2876 "/home/jens/Source/shotwell/src/Photo.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 2876 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2876 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 22206 "Photo.c" + } + } +#line 2884 "/home/jens/Source/shotwell/src/Photo.vala" + result = map; +#line 2884 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22213 "Photo.c" +} + + +static gboolean photo_set_transformation (Photo* self, KeyValueMap* trans) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 2887 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2887 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (trans), FALSE); +#line 22224 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 22231 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + PhotoRow* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + KeyValueMap* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + KeyValueMap* _tmp10_ = NULL; + PhotoTable* _tmp11_ = NULL; + PhotoTable* _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + PhotoID _tmp14_ = {0}; + KeyValueMap* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 2889 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2889 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->transformations; +#line 2889 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ == NULL) { +#line 22254 "Photo.c" + PhotoRow* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; +#line 2890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_KEY_VALUE_MAP, (GBoxedCopyFunc) key_value_map_ref, key_value_map_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 2890 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_->transformations); +#line 2890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_->transformations = _tmp4_; +#line 22265 "Photo.c" + } +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->transformations; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = trans; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = key_value_map_get_group (_tmp7_); +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = trans; +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_, _tmp10_); +#line 2892 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp9_); +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_table_get_instance (); +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->row; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->photo_id; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = trans; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_table_set_transformation (_tmp12_, &_tmp14_, _tmp15_); +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp12_); +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp17_; +#line 22301 "Photo.c" + { + PhotoRow* _tmp18_ = NULL; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->row; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22308 "Photo.c" + } +#line 2894 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22312 "Photo.c" + } + __finally364: + { + PhotoRow* _tmp19_ = NULL; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22321 "Photo.c" + } +#line 2888 "/home/jens/Source/shotwell/src/Photo.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 2888 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2888 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 22329 "Photo.c" + } +} + + +static gboolean photo_remove_transformation (Photo* self, const gchar* name) { + gboolean result = FALSE; + gboolean altered_cache = FALSE; + gboolean altered_persistent = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + GError * _inner_error_ = NULL; +#line 2898 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2898 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (name != NULL, FALSE); +#line 22345 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 22352 "Photo.c" + { + PhotoRow* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + PhotoTable* _tmp12_ = NULL; + PhotoTable* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + PhotoID _tmp15_ = {0}; + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 2901 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->row; +#line 2901 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->transformations; +#line 2901 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 22368 "Photo.c" + PhotoRow* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PhotoRow* _tmp7_ = NULL; + GeeHashMap* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->transformations; +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = name; +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_, NULL); +#line 2902 "/home/jens/Source/shotwell/src/Photo.vala" + altered_cache = _tmp6_; +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->transformations; +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_MAP, GeeMap)); +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 2903 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ == 0) { +#line 22397 "Photo.c" + PhotoRow* _tmp11_ = NULL; +#line 2904 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->row; +#line 2904 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp11_->transformations); +#line 2904 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_->transformations = NULL; +#line 22405 "Photo.c" + } + } else { +#line 2906 "/home/jens/Source/shotwell/src/Photo.vala" + altered_cache = FALSE; +#line 22410 "Photo.c" + } +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_table_get_instance (); +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->photo_id; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = name; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_table_remove_transformation (_tmp13_, &_tmp15_, _tmp16_); +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + altered_persistent = _tmp17_; +#line 2909 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp13_); +#line 22428 "Photo.c" + } + __finally365: + { + PhotoRow* _tmp18_ = NULL; +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->row; +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 22437 "Photo.c" + } +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2900 "/home/jens/Source/shotwell/src/Photo.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 2900 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 2900 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 22447 "Photo.c" + } + } +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = altered_cache; +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp20_) { +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = TRUE; +#line 22456 "Photo.c" + } else { +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = altered_persistent; +#line 22460 "Photo.c" + } +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp19_; +#line 2913 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22466 "Photo.c" +} + + +gboolean photo_has_crop (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 2916 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2917 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_transformation (self, "crop"); +#line 2917 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 2917 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22481 "Photo.c" +} + + +gboolean photo_get_raw_crop (Photo* self, Box* crop) { + Box _vala_crop = {0}; + gboolean result = FALSE; + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + gint left = 0; + KeyValueMap* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint top = 0; + KeyValueMap* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint right = 0; + KeyValueMap* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint bottom = 0; + KeyValueMap* _tmp8_ = NULL; + gint _tmp9_ = 0; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + gint _tmp13_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 2921 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2922 "/home/jens/Source/shotwell/src/Photo.vala" + box_init (&_vala_crop, 0, 0, 0, 0); +#line 2924 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_transformation (self, "crop"); +#line 2924 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2925 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2925 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 22531 "Photo.c" + } +#line 2926 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22535 "Photo.c" + } +#line 2928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = map; +#line 2928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = key_value_map_get_int (_tmp2_, "left", -1); +#line 2928 "/home/jens/Source/shotwell/src/Photo.vala" + left = _tmp3_; +#line 2929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map; +#line 2929 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = key_value_map_get_int (_tmp4_, "top", -1); +#line 2929 "/home/jens/Source/shotwell/src/Photo.vala" + top = _tmp5_; +#line 2930 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = map; +#line 2930 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = key_value_map_get_int (_tmp6_, "right", -1); +#line 2930 "/home/jens/Source/shotwell/src/Photo.vala" + right = _tmp7_; +#line 2931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = map; +#line 2931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = key_value_map_get_int (_tmp8_, "bottom", -1); +#line 2931 "/home/jens/Source/shotwell/src/Photo.vala" + bottom = _tmp9_; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = left; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ == -1) { +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = TRUE; +#line 22567 "Photo.c" + } else { + gint _tmp14_ = 0; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = top; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp14_ == -1; +#line 22574 "Photo.c" + } +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 22580 "Photo.c" + } else { + gint _tmp15_ = 0; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = right; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp15_ == -1; +#line 22587 "Photo.c" + } +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = TRUE; +#line 22593 "Photo.c" + } else { + gint _tmp16_ = 0; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = bottom; +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp16_ == -1; +#line 22600 "Photo.c" + } +#line 2933 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 22612 "Photo.c" + } +#line 2934 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22616 "Photo.c" + } +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = left; +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = top; +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = right; +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = bottom; +#line 2936 "/home/jens/Source/shotwell/src/Photo.vala" + box_init (&_vala_crop, _tmp17_, _tmp18_, _tmp19_, _tmp20_); +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 22636 "Photo.c" + } +#line 2938 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22640 "Photo.c" +} + + +static void photo_set_raw_crop (Photo* self, Box* crop) { + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + Box _tmp2_ = {0}; + gint _tmp3_ = 0; + KeyValueMap* _tmp4_ = NULL; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + KeyValueMap* _tmp7_ = NULL; + Box _tmp8_ = {0}; + gint _tmp9_ = 0; + KeyValueMap* _tmp10_ = NULL; + Box _tmp11_ = {0}; + gint _tmp12_ = 0; + KeyValueMap* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 2942 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2942 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (crop != NULL); +#line 2943 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = key_value_map_new ("crop"); +#line 2943 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2944 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2944 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *crop; +#line 2944 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_.left; +#line 2944 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp1_, "left", _tmp3_); +#line 2945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map; +#line 2945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = *crop; +#line 2945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_.top; +#line 2945 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp4_, "top", _tmp6_); +#line 2946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = map; +#line 2946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = *crop; +#line 2946 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.right; +#line 2946 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp7_, "right", _tmp9_); +#line 2947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = map; +#line 2947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = *crop; +#line 2947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_.bottom; +#line 2947 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp10_, "bottom", _tmp12_); +#line 2949 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = map; +#line 2949 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo_set_transformation (self, _tmp13_); +#line 2949 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_) { +#line 22707 "Photo.c" + Alteration* _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; +#line 2950 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = alteration_new ("image", "crop"); +#line 2950 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 2950 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp16_); +#line 2950 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp16_); +#line 22718 "Photo.c" + } +#line 2942 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 22722 "Photo.c" +} + + +static gboolean photo_get_raw_straighten (Photo* self, gdouble* angle) { + gdouble _vala_angle = 0.0; + gboolean result = FALSE; + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + KeyValueMap* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; +#line 2953 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 2954 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_transformation (self, "straighten"); +#line 2954 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2955 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2955 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 2956 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_angle = 0.0; +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + if (angle) { +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + *angle = _vala_angle; +#line 22754 "Photo.c" + } +#line 2958 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22758 "Photo.c" + } +#line 2961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = map; +#line 2961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = key_value_map_get_double (_tmp2_, "angle", 0.0); +#line 2961 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_angle = _tmp3_; +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + if (angle) { +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + *angle = _vala_angle; +#line 22774 "Photo.c" + } +#line 2963 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22778 "Photo.c" +} + + +static void photo_set_raw_straighten (Photo* self, gdouble theta) { + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + KeyValueMap* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2966 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 2967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = key_value_map_new ("straighten"); +#line 2967 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = theta; +#line 2968 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_double (_tmp1_, "angle", _tmp2_); +#line 2970 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = map; +#line 2970 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_set_transformation (self, _tmp3_); +#line 2970 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_) { +#line 22807 "Photo.c" + Alteration* _tmp5_ = NULL; + Alteration* _tmp6_ = NULL; +#line 2971 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = alteration_new ("image", "straighten"); +#line 2971 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 2971 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp6_); +#line 2971 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp6_); +#line 22818 "Photo.c" + } +#line 2966 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 22822 "Photo.c" +} + + +static EditingToolsRedeyeInstance* photo_get_raw_redeye_instances (Photo* self, int* result_length1) { + EditingToolsRedeyeInstance* result = NULL; + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + gint num_points = 0; + KeyValueMap* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + EditingToolsRedeyeInstance* res = NULL; + gint _tmp7_ = 0; + EditingToolsRedeyeInstance* _tmp8_ = NULL; + gint res_length1 = 0; + gint _res_size_ = 0; + GdkPoint default_point = {0}; + GdkPoint _tmp9_ = {0}; + EditingToolsRedeyeInstance* _tmp47_ = NULL; + gint _tmp47__length1 = 0; +#line 2976 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 2977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_transformation (self, "redeye"); +#line 2977 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 2978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 2978 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 22854 "Photo.c" + EditingToolsRedeyeInstance* _tmp2_ = NULL; + EditingToolsRedeyeInstance* _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_new0 (EditingToolsRedeyeInstance, 0); +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3__length1 = 0; +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + if (result_length1) { +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + *result_length1 = _tmp3__length1; +#line 22868 "Photo.c" + } +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 2979 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 22876 "Photo.c" + } +#line 2981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map; +#line 2981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = key_value_map_get_int (_tmp4_, "num_points", -1); +#line 2981 "/home/jens/Source/shotwell/src/Photo.vala" + num_points = _tmp5_; +#line 2982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = num_points; +#line 2982 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp6_ > 0, "num_points > 0"); +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = num_points; +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_new0 (EditingToolsRedeyeInstance, _tmp7_); +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + res = _tmp8_; +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + res_length1 = _tmp7_; +#line 2984 "/home/jens/Source/shotwell/src/Photo.vala" + _res_size_ = res_length1; +#line 2986 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_.x = 0; +#line 2986 "/home/jens/Source/shotwell/src/Photo.vala" + default_point = _tmp9_; +#line 2987 "/home/jens/Source/shotwell/src/Photo.vala" + default_point.x = -1; +#line 2988 "/home/jens/Source/shotwell/src/Photo.vala" + default_point.y = -1; +#line 22906 "Photo.c" + { + gint i = 0; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + i = 0; +#line 22911 "Photo.c" + { + gboolean _tmp10_ = FALSE; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = TRUE; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 22918 "Photo.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gchar* center_key = NULL; + gint _tmp14_ = 0; + gchar* _tmp15_ = NULL; + gchar* radius_key = NULL; + gint _tmp16_ = 0; + gchar* _tmp17_ = NULL; + EditingToolsRedeyeInstance* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint _tmp19_ = 0; + KeyValueMap* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GdkPoint _tmp22_ = {0}; + GdkPoint _tmp23_ = {0}; + EditingToolsRedeyeInstance* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + EditingToolsRedeyeInstance _tmp26_ = {0}; + GdkPoint _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkPoint _tmp29_ = {0}; + gint _tmp30_ = 0; + EditingToolsRedeyeInstance* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gint _tmp32_ = 0; + EditingToolsRedeyeInstance _tmp33_ = {0}; + GdkPoint _tmp34_ = {0}; + gint _tmp35_ = 0; + GdkPoint _tmp36_ = {0}; + gint _tmp37_ = 0; + EditingToolsRedeyeInstance* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; + KeyValueMap* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + gint _tmp42_ = 0; + EditingToolsRedeyeInstance* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint _tmp44_ = 0; + EditingToolsRedeyeInstance _tmp45_ = {0}; + gint _tmp46_ = 0; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp10_) { +#line 22963 "Photo.c" + gint _tmp11_ = 0; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = i; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + i = _tmp11_ + 1; +#line 22969 "Photo.c" + } +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = FALSE; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = i; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = num_points; +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp12_ < _tmp13_)) { +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 22981 "Photo.c" + } +#line 2991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = i; +#line 2991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = g_strdup_printf ("center%d", _tmp14_); +#line 2991 "/home/jens/Source/shotwell/src/Photo.vala" + center_key = _tmp15_; +#line 2992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = i; +#line 2992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = g_strdup_printf ("radius%d", _tmp16_); +#line 2992 "/home/jens/Source/shotwell/src/Photo.vala" + radius_key = _tmp17_; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = res; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18__length1 = res_length1; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = i; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = map; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = center_key; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = default_point; +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_get_point (_tmp20_, _tmp21_, &_tmp22_, &_tmp23_); +#line 2994 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_[_tmp19_].center = _tmp23_; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = res; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24__length1 = res_length1; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = i; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp24_[_tmp25_]; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_.center; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_.x; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = default_point; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_.x; +#line 2995 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp28_ != _tmp30_, "res[i].center.x != default_point.x"); +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = res; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31__length1 = res_length1; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = i; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp31_[_tmp32_]; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_.center; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_.y; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = default_point; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_.y; +#line 2996 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp35_ != _tmp37_, "res[i].center.y != default_point.y"); +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = res; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38__length1 = res_length1; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = i; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = map; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = radius_key; +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = key_value_map_get_int (_tmp40_, _tmp41_, -1); +#line 2998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_[_tmp39_].radius = _tmp42_; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = res; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43__length1 = res_length1; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = i; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp43_[_tmp44_]; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = _tmp45_.radius; +#line 2999 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp46_ != -1, "res[i].radius != -1"); +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (radius_key); +#line 2990 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (center_key); +#line 23077 "Photo.c" + } + } + } +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = res; +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47__length1 = res_length1; +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + if (result_length1) { +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + *result_length1 = _tmp47__length1; +#line 23089 "Photo.c" + } +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp47_; +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 3002 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23097 "Photo.c" +} + + +gboolean photo_has_redeye_transformations (Photo* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 3005 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_has_transformation (self, "redeye"); +#line 3006 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 3006 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23112 "Photo.c" +} + + +void photo_add_redeye_instance (Photo* self, EditingToolsRedeyeInstance* redeye) { + KeyValueMap* map = NULL; + KeyValueMap* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; + gint num_points = 0; + KeyValueMap* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gchar* radius_key = NULL; + gint _tmp8_ = 0; + gchar* _tmp9_ = NULL; + gchar* center_key = NULL; + gint _tmp10_ = 0; + gchar* _tmp11_ = NULL; + KeyValueMap* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + EditingToolsRedeyeInstance _tmp14_ = {0}; + gint _tmp15_ = 0; + KeyValueMap* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + EditingToolsRedeyeInstance _tmp18_ = {0}; + GdkPoint _tmp19_ = {0}; + KeyValueMap* _tmp20_ = NULL; + gint _tmp21_ = 0; + KeyValueMap* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (redeye != NULL); +#line 3011 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_transformation (self, "redeye"); +#line 3011 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 3012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = map; +#line 3012 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 23155 "Photo.c" + KeyValueMap* _tmp2_ = NULL; + KeyValueMap* _tmp3_ = NULL; +#line 3013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = key_value_map_new ("redeye"); +#line 3013 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 3013 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp2_; +#line 3014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = map; +#line 3014 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp3_, "num_points", 0); +#line 23168 "Photo.c" + } +#line 3017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = map; +#line 3017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = key_value_map_get_int (_tmp4_, "num_points", -1); +#line 3017 "/home/jens/Source/shotwell/src/Photo.vala" + num_points = _tmp5_; +#line 3018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = num_points; +#line 3018 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp6_ >= 0, "num_points >= 0"); +#line 3020 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = num_points; +#line 3020 "/home/jens/Source/shotwell/src/Photo.vala" + num_points = _tmp7_ + 1; +#line 3022 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = num_points; +#line 3022 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_strdup_printf ("radius%d", _tmp8_ - 1); +#line 3022 "/home/jens/Source/shotwell/src/Photo.vala" + radius_key = _tmp9_; +#line 3023 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = num_points; +#line 3023 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = g_strdup_printf ("center%d", _tmp10_ - 1); +#line 3023 "/home/jens/Source/shotwell/src/Photo.vala" + center_key = _tmp11_; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = map; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = radius_key; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = *redeye; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_.radius; +#line 3025 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp12_, _tmp13_, _tmp15_); +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = map; +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = center_key; +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = *redeye; +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_.center; +#line 3026 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_point (_tmp16_, _tmp17_, &_tmp19_); +#line 3028 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = map; +#line 3028 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = num_points; +#line 3028 "/home/jens/Source/shotwell/src/Photo.vala" + key_value_map_set_int (_tmp20_, "num_points", _tmp21_); +#line 3030 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = map; +#line 3030 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_set_transformation (self, _tmp22_); +#line 3030 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_) { +#line 23228 "Photo.c" + Alteration* _tmp24_ = NULL; + Alteration* _tmp25_ = NULL; +#line 3031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = alteration_new ("image", "redeye"); +#line 3031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 3031 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp25_); +#line 3031 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp25_); +#line 23239 "Photo.c" + } +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (center_key); +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (radius_key); +#line 3010 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (map); +#line 23247 "Photo.c" +} + + +static gboolean photo_calculate_pixbuf_dimensions (Photo* self, Scaling* scaling, PhotoException exceptions, Dimensions* scaled_image, Dimensions* scaled_to_viewport) { + Dimensions _vala_scaled_image = {0}; + Dimensions _vala_scaled_to_viewport = {0}; + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 23260 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 23267 "Photo.c" + { + Scaling _tmp1_ = {0}; + PhotoException _tmp2_ = 0; + Dimensions _tmp3_ = {0}; + Dimensions _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = exceptions; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_locked_calculate_pixbuf_dimensions (self, &_tmp1_, _tmp2_, &_tmp3_, &_tmp4_); +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp3_; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp4_; +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 23286 "Photo.c" + { + PhotoRow* _tmp6_ = NULL; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->row; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 23293 "Photo.c" + } +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23299 "Photo.c" + } +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23305 "Photo.c" + } +#line 3049 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23309 "Photo.c" + } + __finally366: + { + PhotoRow* _tmp7_ = NULL; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->row; +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 23318 "Photo.c" + } +#line 3047 "/home/jens/Source/shotwell/src/Photo.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 3047 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 3047 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 23326 "Photo.c" + } +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23332 "Photo.c" + } +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3045 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23338 "Photo.c" + } +} + + +static gboolean photo_locked_calculate_pixbuf_dimensions (Photo* self, Scaling* scaling, PhotoException exceptions, Dimensions* scaled_image, Dimensions* scaled_to_viewport) { + Dimensions _vala_scaled_image = {0}; + Dimensions _vala_scaled_to_viewport = {0}; + gboolean result = FALSE; + Dimensions raw = {0}; + Dimensions _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + Orientation orientation = 0; + Orientation _tmp4_ = 0; + PhotoException _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp38_ = FALSE; + gboolean _tmp53_ = FALSE; + Dimensions _tmp54_ = {0}; + gint _tmp55_ = 0; + Dimensions _tmp56_ = {0}; + gint _tmp57_ = 0; + gboolean _tmp63_ = FALSE; + gboolean _tmp64_ = FALSE; +#line 3055 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3055 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 3057 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp0_); +#line 3057 "/home/jens/Source/shotwell/src/Photo.vala" + raw = _tmp0_; +#line 3059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = scaling_is_unscaled (scaling); +#line 3059 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 23374 "Photo.c" + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; +#line 3060 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = raw; +#line 3060 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp2_; +#line 3061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = raw; +#line 3061 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp3_; +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23391 "Photo.c" + } +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23397 "Photo.c" + } +#line 3063 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23401 "Photo.c" + } +#line 3066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_orientation (self); +#line 3066 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp4_; +#line 3071 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&_vala_scaled_image, 0, 0); +#line 3072 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&_vala_scaled_to_viewport, 0, 0); +#line 3074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = exceptions; +#line 3074 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_exception_allows (_tmp5_, PHOTO_EXCEPTION_CROP); +#line 3074 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 23417 "Photo.c" + Box crop = {0}; + Box _tmp7_ = {0}; + gboolean _tmp8_ = FALSE; +#line 3076 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_get_raw_crop (self, &_tmp7_); +#line 3076 "/home/jens/Source/shotwell/src/Photo.vala" + crop = _tmp7_; +#line 3076 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 23427 "Photo.c" + Dimensions rotated_raw = {0}; + Dimensions _tmp9_ = {0}; + PhotoException _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + Box scaled_crop = {0}; + Dimensions _tmp19_ = {0}; + Dimensions _tmp20_ = {0}; + Box _tmp21_ = {0}; + Dimensions _tmp22_ = {0}; + gboolean _tmp23_ = FALSE; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + Dimensions _tmp30_ = {0}; + Dimensions _tmp31_ = {0}; + Dimensions _tmp32_ = {0}; + PhotoException _tmp33_ = 0; + gboolean _tmp34_ = FALSE; +#line 3079 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = raw; +#line 3079 "/home/jens/Source/shotwell/src/Photo.vala" + rotated_raw = _tmp9_; +#line 3080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = exceptions; +#line 3080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_exception_allows (_tmp10_, PHOTO_EXCEPTION_ORIENTATION); +#line 3080 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 23455 "Photo.c" + Orientation _tmp12_ = 0; + Dimensions _tmp13_ = {0}; + Box _tmp14_ = {0}; + Box _tmp15_ = {0}; + Orientation _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + Dimensions _tmp18_ = {0}; +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = orientation; +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = raw; +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = crop; +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_box (_tmp12_, &_tmp13_, &_tmp14_, &_tmp15_); +#line 3081 "/home/jens/Source/shotwell/src/Photo.vala" + crop = _tmp15_; +#line 3082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = orientation; +#line 3082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = raw; +#line 3082 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (_tmp16_, &_tmp17_, &_tmp18_); +#line 3082 "/home/jens/Source/shotwell/src/Photo.vala" + rotated_raw = _tmp18_; +#line 23481 "Photo.c" + } +#line 3086 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&crop, &_tmp19_); +#line 3086 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_get_scaled_dimensions (scaling, &_tmp19_, &_tmp20_); +#line 3086 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_scaled (&crop, &_tmp20_, &_tmp21_); +#line 3086 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_crop = _tmp21_; +#line 3089 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&scaled_crop, &_tmp22_); +#line 3089 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp22_; +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = box_get_width (&crop); +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = box_get_width (&scaled_crop); +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_ <= _tmp25_) { +#line 23501 "Photo.c" + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 3093 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = box_get_height (&crop); +#line 3093 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = box_get_height (&scaled_crop); +#line 3093 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp26_ <= _tmp27_; +#line 23510 "Photo.c" + } else { +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = FALSE; +#line 23514 "Photo.c" + } +#line 3092 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_) { +#line 23518 "Photo.c" + Dimensions _tmp28_ = {0}; + Dimensions _tmp29_ = {0}; +#line 3094 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = raw; +#line 3094 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp28_; +#line 3095 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&crop, &_tmp29_); +#line 3095 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp29_; +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23535 "Photo.c" + } +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23541 "Photo.c" + } +#line 3097 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23545 "Photo.c" + } +#line 3102 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&crop, &_tmp30_); +#line 3102 "/home/jens/Source/shotwell/src/Photo.vala" + box_get_dimensions (&scaled_crop, &_tmp31_); +#line 3102 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_get_scaled_similar (&rotated_raw, &_tmp30_, &_tmp31_, &_tmp32_); +#line 3102 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp32_; +#line 3106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = exceptions; +#line 3106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = photo_exception_allows (_tmp33_, PHOTO_EXCEPTION_ORIENTATION); +#line 3106 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp34_) { +#line 23561 "Photo.c" + Orientation _tmp35_ = 0; + Dimensions _tmp36_ = {0}; + Dimensions _tmp37_ = {0}; +#line 3107 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = orientation; +#line 3107 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _vala_scaled_image; +#line 3107 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_derotate_dimensions (_tmp35_, &_tmp36_, &_tmp37_); +#line 3107 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp37_; +#line 23573 "Photo.c" + } + } + } +#line 3112 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = dimensions_has_area (&_vala_scaled_image); +#line 3112 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp38_) { +#line 23581 "Photo.c" + Dimensions rotated_raw = {0}; + Dimensions _tmp39_ = {0}; + PhotoException _tmp40_ = 0; + gboolean _tmp41_ = FALSE; + Dimensions _tmp45_ = {0}; + Dimensions _tmp46_ = {0}; + Dimensions _tmp47_ = {0}; + PhotoException _tmp48_ = 0; + gboolean _tmp49_ = FALSE; +#line 3114 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = raw; +#line 3114 "/home/jens/Source/shotwell/src/Photo.vala" + rotated_raw = _tmp39_; +#line 3115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = exceptions; +#line 3115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = photo_exception_allows (_tmp40_, PHOTO_EXCEPTION_ORIENTATION); +#line 3115 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 23601 "Photo.c" + Orientation _tmp42_ = 0; + Dimensions _tmp43_ = {0}; + Dimensions _tmp44_ = {0}; +#line 3116 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = orientation; +#line 3116 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = raw; +#line 3116 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (_tmp42_, &_tmp43_, &_tmp44_); +#line 3116 "/home/jens/Source/shotwell/src/Photo.vala" + rotated_raw = _tmp44_; +#line 23613 "Photo.c" + } +#line 3118 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = rotated_raw; +#line 3118 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_get_scaled_dimensions (scaling, &_tmp45_, &_tmp46_); +#line 3118 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp46_; +#line 3119 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _vala_scaled_image; +#line 3119 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_to_viewport = _tmp47_; +#line 3122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = exceptions; +#line 3122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_exception_allows (_tmp48_, PHOTO_EXCEPTION_ORIENTATION); +#line 3122 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_) { +#line 23631 "Photo.c" + Orientation _tmp50_ = 0; + Dimensions _tmp51_ = {0}; + Dimensions _tmp52_ = {0}; +#line 3123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = orientation; +#line 3123 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _vala_scaled_image; +#line 3123 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_derotate_dimensions (_tmp50_, &_tmp51_, &_tmp52_); +#line 3123 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp52_; +#line 23643 "Photo.c" + } + } +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _vala_scaled_image; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tmp54_.width; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = raw; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = _tmp56_.width; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp55_ >= _tmp57_) { +#line 23656 "Photo.c" + Dimensions _tmp58_ = {0}; + gint _tmp59_ = 0; + Dimensions _tmp60_ = {0}; + gint _tmp61_ = 0; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _vala_scaled_image; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_.height; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = raw; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_.height; +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp59_ >= _tmp61_; +#line 23671 "Photo.c" + } else { +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = FALSE; +#line 23675 "Photo.c" + } +#line 3127 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp53_) { +#line 23679 "Photo.c" + Dimensions _tmp62_ = {0}; +#line 3128 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = raw; +#line 3128 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_scaled_image = _tmp62_; +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23691 "Photo.c" + } +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23697 "Photo.c" + } +#line 3130 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23701 "Photo.c" + } +#line 3133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = dimensions_has_area (&_vala_scaled_image); +#line 3133 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp63_, "scaled_image.has_area()"); +#line 3134 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = dimensions_has_area (&_vala_scaled_to_viewport); +#line 3134 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp64_, "scaled_to_viewport.has_area()"); +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_image) { +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_image = _vala_scaled_image; +#line 23717 "Photo.c" + } +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + if (scaled_to_viewport) { +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + *scaled_to_viewport = _vala_scaled_to_viewport; +#line 23723 "Photo.c" + } +#line 3136 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23727 "Photo.c" +} + + +static GdkPixbuf* photo_load_raw_pixbuf (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error) { + GdkPixbuf* result = NULL; + PhotoFileReader* loader = NULL; + BackingFetchMode _tmp0_ = 0; + PhotoFileReader* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + Dimensions scaled_image = {0}; + Dimensions scaled_to_viewport = {0}; + gboolean is_scaled = FALSE; + Scaling _tmp7_ = {0}; + PhotoException _tmp8_ = 0; + Dimensions _tmp9_ = {0}; + Dimensions _tmp10_ = {0}; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + GdkPixbuf* pixbuf = NULL; + PhotoFileReader* _tmp17_ = NULL; + Dimensions _tmp18_ = {0}; + Dimensions _tmp19_ = {0}; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + Dimensions _tmp22_ = {0}; + gboolean _tmp23_ = FALSE; + GError * _inner_error_ = NULL; +#line 3142 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3142 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3145 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = fetch_mode; +#line 3145 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_backing_reader (self, _tmp0_); +#line 3145 "/home/jens/Source/shotwell/src/Photo.vala" + loader = _tmp1_; +#line 3148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = scaling_is_unscaled (scaling); +#line 3148 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 23769 "Photo.c" + GdkPixbuf* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = loader; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_reader_unscaled_read (_tmp4_, &_inner_error_); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp5_; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23788 "Photo.c" + } +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp3_; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = NULL; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp6_; +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3153 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23802 "Photo.c" + } +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = *scaling; +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = exceptions; +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_calculate_pixbuf_dimensions (self, &_tmp7_, _tmp8_, &_tmp9_, &_tmp10_); +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_image = _tmp9_; +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_to_viewport = _tmp10_; +#line 3158 "/home/jens/Source/shotwell/src/Photo.vala" + is_scaled = _tmp11_; +#line 3160 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = is_scaled; +#line 3160 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp12_) { +#line 23820 "Photo.c" + GdkPixbuf* _tmp13_ = NULL; + PhotoFileReader* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = loader; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_file_reader_unscaled_read (_tmp14_, &_inner_error_); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp15_; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23839 "Photo.c" + } +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp13_; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = NULL; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp16_; +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp13_); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3165 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23853 "Photo.c" + } +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = loader; +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp18_); +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = scaled_image; +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo_file_reader_scaled_read (_tmp17_, &_tmp18_, &_tmp19_, &_inner_error_); +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp20_; +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3168 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23873 "Photo.c" + } +#line 3176 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = pixbuf; +#line 3176 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_for_pixbuf (_tmp21_, &_tmp22_); +#line 3176 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = dimensions_approx_equals (&scaled_image, &_tmp22_, PHOTO_SCALING_FUDGE); +#line 3176 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp23_, "scaled_image.approx_equals(Dimensions.for_pixbuf(pixbuf), SCALING_FUDGE)"); +#line 3178 "/home/jens/Source/shotwell/src/Photo.vala" + result = pixbuf; +#line 3178 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (loader); +#line 3178 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23889 "Photo.c" +} + + +GdkPixbuf* photo_get_master_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 3183 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3183 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = rotate; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_untransformed_pixbuf (self, &_tmp1_, _tmp2_, BACKING_FETCH_MODE_MASTER, &_inner_error_); +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23919 "Photo.c" + } +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp0_; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 3184 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23931 "Photo.c" +} + + +GdkPixbuf* photo_get_unmodified_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 3188 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3188 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = rotate; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_untransformed_pixbuf (self, &_tmp1_, _tmp2_, BACKING_FETCH_MODE_UNMODIFIED, &_inner_error_); +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 23961 "Photo.c" + } +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp0_; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 3189 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 23973 "Photo.c" +} + + +static GdkPixbuf* photo_get_untransformed_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, BackingFetchMode fetch_mode, GError** error) { + GdkPixbuf* result = NULL; + Dimensions scaled_image = {0}; + Dimensions scaled_to_viewport = {0}; + Orientation original_orientation = 0; + GdkPixbuf* pixbuf = NULL; + Scaling _tmp6_ = {0}; + BackingFetchMode _tmp7_ = 0; + GdkPixbuf* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GError * _inner_error_ = NULL; +#line 3193 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3193 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 23992 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 23999 "Photo.c" + { + Scaling _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + Orientation _tmp4_ = 0; +#line 3208 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3208 "/home/jens/Source/shotwell/src/Photo.vala" + photo_calculate_pixbuf_dimensions (self, &_tmp1_, PHOTO_EXCEPTION_NONE, &_tmp2_, &_tmp3_); +#line 3208 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_image = _tmp2_; +#line 3208 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_to_viewport = _tmp3_; +#line 3210 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_original_orientation (self); +#line 3210 "/home/jens/Source/shotwell/src/Photo.vala" + original_orientation = _tmp4_; +#line 24017 "Photo.c" + } + __finally367: + { + PhotoRow* _tmp5_ = NULL; +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->row; +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 24026 "Photo.c" + } +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3207 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24034 "Photo.c" + } + } +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = *scaling; +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = fetch_mode; +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_load_raw_pixbuf (self, &_tmp6_, PHOTO_EXCEPTION_NONE, _tmp7_, &_inner_error_); +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp8_; +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3214 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24051 "Photo.c" + } +#line 3220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = rotate; +#line 3220 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_) { +#line 24057 "Photo.c" + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; +#line 3221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = pixbuf; +#line 3221 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = orientation_rotate_pixbuf (original_orientation, _tmp10_); +#line 3221 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3221 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp11_; +#line 24068 "Photo.c" + } +#line 3230 "/home/jens/Source/shotwell/src/Photo.vala" + result = pixbuf; +#line 3230 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24074 "Photo.c" +} + + +static GdkPixbuf* photo_real_get_pixbuf (PhotoSource* base, Scaling* scaling, GError** error) { + Photo * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 3233 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO, Photo); +#line 3233 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = *scaling; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_pixbuf_with_options (self, &_tmp1_, PHOTO_EXCEPTION_NONE, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp2_; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24102 "Photo.c" + } +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp0_; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 3234 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24114 "Photo.c" +} + + +/** + * One-stop shopping for the source pixbuf cache. + * + * The source pixbuf cache holds untransformed, unscaled (full-sized) pixbufs of Photo objects. + * These can be rather large and shouldn't be held in memory for too long, nor should many be + * allowed to stack up. + * + * If locate is non-null, a source pixbuf is returned for the Photo. If keep is true, the + * pixbuf is stored in the cache. (Thus, passing a Photo w/ keep == false will drop the cached + * pixbuf.) If Photo is non-null but keep is false, null is returned. + * + * Whether locate is null or not, the cache is walked in its entirety, dropping expired pixbufs + * and dropping excessive pixbufs from the LRU. Locating a Photo "touches" the pixbuf, i.e. + * it moves to the head of the LRU. + */ +static gpointer _photo_cached_pixbuf_ref0 (gpointer self) { +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? photo_cached_pixbuf_ref (self) : NULL; +#line 24136 "Photo.c" +} + + +static gboolean _photo_trim_source_pixbuf_cache_gsource_func (gpointer self) { + gboolean result; + result = photo_trim_source_pixbuf_cache (); +#line 3321 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24145 "Photo.c" +} + + +static GdkPixbuf* photo_run_source_pixbuf_cache (Photo* locate, gboolean keep, GError** error) { + GdkPixbuf* result = NULL; + GError * _inner_error_ = NULL; +#line 3252 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((locate == NULL) || IS_PHOTO (locate), NULL); +#line 24154 "Photo.c" + { + GeeLinkedList* _tmp0_ = NULL; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_source_pixbuf_cache; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&__lock_photo_source_pixbuf_cache); +#line 24161 "Photo.c" + { + PhotoCachedPixbuf* found = NULL; + gdouble min_elapsed = 0.0; + gint count = 0; + GeeIterator* iter = NULL; + GeeLinkedList* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; + PhotoCachedPixbuf* _tmp31_ = NULL; + gboolean _tmp43_ = FALSE; + PhotoCachedPixbuf* _tmp44_ = NULL; + guint _tmp59_ = 0U; + GeeLinkedList* _tmp61_ = NULL; + gint _tmp62_ = 0; + gint _tmp63_ = 0; + GdkPixbuf* _tmp69_ = NULL; + PhotoCachedPixbuf* _tmp70_ = NULL; + GdkPixbuf* _tmp73_ = NULL; +#line 3254 "/home/jens/Source/shotwell/src/Photo.vala" + found = NULL; +#line 3258 "/home/jens/Source/shotwell/src/Photo.vala" + min_elapsed = DBL_MAX; +#line 3259 "/home/jens/Source/shotwell/src/Photo.vala" + count = 0; +#line 3260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_source_pixbuf_cache; +#line 3260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 3260 "/home/jens/Source/shotwell/src/Photo.vala" + iter = _tmp2_; +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 24195 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PhotoCachedPixbuf* cached_pixbuf = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + gdouble elapsed = 0.0; + PhotoCachedPixbuf* _tmp7_ = NULL; + GTimer* _tmp8_ = NULL; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gboolean _tmp11_ = FALSE; + Photo* _tmp12_ = NULL; +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = iter; +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 24216 "Photo.c" + } +#line 3262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = iter; +#line 3262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 3262 "/home/jens/Source/shotwell/src/Photo.vala" + cached_pixbuf = (PhotoCachedPixbuf*) _tmp6_; +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = cached_pixbuf; +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->last_touched; +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = g_timer_elapsed (_tmp8_, NULL); +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = trunc (_tmp9_); +#line 3264 "/home/jens/Source/shotwell/src/Photo.vala" + elapsed = _tmp10_ + 1; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = locate; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ != NULL) { +#line 24238 "Photo.c" + PhotoCachedPixbuf* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = cached_pixbuf; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->photo; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = locate; +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_SOURCE, DataSource)); +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp16_; +#line 24253 "Photo.c" + } else { +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = FALSE; +#line 24257 "Photo.c" + } +#line 3266 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 24261 "Photo.c" + GeeIterator* _tmp17_ = NULL; + PhotoCachedPixbuf* _tmp18_ = NULL; + PhotoCachedPixbuf* _tmp19_ = NULL; + gint _tmp20_ = 0; +#line 3268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = iter; +#line 3268 "/home/jens/Source/shotwell/src/Photo.vala" + gee_iterator_remove (_tmp17_); +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = cached_pixbuf; +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _photo_cached_pixbuf_ref0 (_tmp18_); +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (found); +#line 3269 "/home/jens/Source/shotwell/src/Photo.vala" + found = _tmp19_; +#line 3272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = count; +#line 3272 "/home/jens/Source/shotwell/src/Photo.vala" + count = _tmp20_ + 1; +#line 24282 "Photo.c" + } else { + gdouble _tmp21_ = 0.0; +#line 3273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = elapsed; +#line 3273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_ >= ((gdouble) PHOTO_SOURCE_PIXBUF_TIME_TO_LIVE_SEC)) { +#line 24289 "Photo.c" + GeeIterator* _tmp22_ = NULL; +#line 3274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = iter; +#line 3274 "/home/jens/Source/shotwell/src/Photo.vala" + gee_iterator_remove (_tmp22_); +#line 24295 "Photo.c" + } else { + gint _tmp23_ = 0; +#line 3275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = count; +#line 3275 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp23_ >= PHOTO_SOURCE_PIXBUF_MAX_LRU_COUNT) { +#line 24302 "Photo.c" + GeeIterator* _tmp24_ = NULL; +#line 3276 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = iter; +#line 3276 "/home/jens/Source/shotwell/src/Photo.vala" + gee_iterator_remove (_tmp24_); +#line 24308 "Photo.c" + } else { + gdouble _tmp25_ = 0.0; + gdouble _tmp26_ = 0.0; + gdouble _tmp27_ = 0.0; + gint _tmp28_ = 0; +#line 3280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = elapsed; +#line 3280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = min_elapsed; +#line 3280 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = MIN (_tmp25_, _tmp26_); +#line 3280 "/home/jens/Source/shotwell/src/Photo.vala" + min_elapsed = _tmp27_; +#line 3281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = count; +#line 3281 "/home/jens/Source/shotwell/src/Photo.vala" + count = _tmp28_ + 1; +#line 24326 "Photo.c" + } + } + } +#line 3261 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (cached_pixbuf); +#line 24332 "Photo.c" + } +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = found; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp31_ == NULL) { +#line 24338 "Photo.c" + Photo* _tmp32_ = NULL; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = locate; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp32_ != NULL; +#line 24344 "Photo.c" + } else { +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = FALSE; +#line 24348 "Photo.c" + } +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp30_) { +#line 24352 "Photo.c" + gboolean _tmp33_ = FALSE; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = keep; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp33_; +#line 24358 "Photo.c" + } else { +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = FALSE; +#line 24362 "Photo.c" + } +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_) { +#line 24366 "Photo.c" + GdkPixbuf* _tmp34_ = NULL; + Photo* _tmp35_ = NULL; + Scaling _tmp36_ = {0}; + GdkPixbuf* _tmp37_ = NULL; + Photo* _tmp38_ = NULL; + PhotoCachedPixbuf* _tmp39_ = NULL; +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = locate; +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_original (&_tmp36_); +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = photo_load_raw_pixbuf (_tmp35_, &_tmp36_, PHOTO_EXCEPTION_ALL, BACKING_FETCH_MODE_SOURCE, &_inner_error_); +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp37_; +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (iter); +#line 3288 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (found); +#line 24387 "Photo.c" + goto __finally368; + } +#line 3287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = locate; +#line 3287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo_cached_pixbuf_new (_tmp38_, _tmp34_); +#line 3287 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (found); +#line 3287 "/home/jens/Source/shotwell/src/Photo.vala" + found = _tmp39_; +#line 3286 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp34_); +#line 24400 "Photo.c" + } else { + PhotoCachedPixbuf* _tmp40_ = NULL; +#line 3289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = found; +#line 3289 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp40_ != NULL) { +#line 24407 "Photo.c" + PhotoCachedPixbuf* _tmp41_ = NULL; + GTimer* _tmp42_ = NULL; +#line 3291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = found; +#line 3291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->last_touched; +#line 3291 "/home/jens/Source/shotwell/src/Photo.vala" + g_timer_start (_tmp42_); +#line 24416 "Photo.c" + } + } +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = found; +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_ != NULL) { +#line 24423 "Photo.c" + gboolean _tmp45_ = FALSE; +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = keep; +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp45_; +#line 24429 "Photo.c" + } else { +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = FALSE; +#line 24433 "Photo.c" + } +#line 3295 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp43_) { +#line 24437 "Photo.c" + GeeLinkedList* _tmp46_ = NULL; + PhotoCachedPixbuf* _tmp47_ = NULL; + PhotoCachedPixbuf* _tmp48_ = NULL; + GTimer* _tmp49_ = NULL; + gdouble _tmp50_ = 0.0; + gdouble _tmp51_ = 0.0; + gdouble _tmp52_ = 0.0; +#line 3296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_source_pixbuf_cache; +#line 3296 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = found; +#line 3296 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0, _tmp47_); +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = found; +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_->last_touched; +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = g_timer_elapsed (_tmp49_, NULL); +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = min_elapsed; +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = MIN (_tmp50_, _tmp51_); +#line 3301 "/home/jens/Source/shotwell/src/Photo.vala" + min_elapsed = _tmp52_; +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 24465 "Photo.c" + GeeLinkedList* _tmp53_ = NULL; + gint _tmp54_ = 0; + gint _tmp55_ = 0; + GeeLinkedList* _tmp56_ = NULL; + gpointer _tmp57_ = NULL; + PhotoCachedPixbuf* _tmp58_ = NULL; +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = photo_source_pixbuf_cache; +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tmp54_; +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp55_ > PHOTO_SOURCE_PIXBUF_MAX_LRU_COUNT)) { +#line 3305 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 24482 "Photo.c" + } +#line 3306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo_source_pixbuf_cache; +#line 3306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = gee_deque_poll_tail (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GEE_TYPE_DEQUE, GeeDeque)); +#line 3306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = (PhotoCachedPixbuf*) _tmp57_; +#line 3306 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (_tmp58_); +#line 24492 "Photo.c" + } + } +#line 3310 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = photo_discard_source_id; +#line 3310 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp59_ != ((guint) 0)) { +#line 24499 "Photo.c" + guint _tmp60_ = 0U; +#line 3311 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = photo_discard_source_id; +#line 3311 "/home/jens/Source/shotwell/src/Photo.vala" + g_source_remove (_tmp60_); +#line 3312 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_source_id = (guint) 0; +#line 24507 "Photo.c" + } +#line 3316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = photo_source_pixbuf_cache; +#line 3316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 3316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_; +#line 3316 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp63_ > PHOTO_SOURCE_PIXBUF_MIN_LRU_COUNT) { +#line 24517 "Photo.c" + gdouble _tmp64_ = 0.0; + guint retry_sec = 0U; + gdouble _tmp65_ = 0.0; + gdouble _tmp66_ = 0.0; + guint _tmp67_ = 0U; + guint _tmp68_ = 0U; +#line 3317 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = min_elapsed; +#line 3317 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp64_ >= 0.0, "min_elapsed >= 0.0"); +#line 3320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = min_elapsed; +#line 3320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = trunc (_tmp65_); +#line 3320 "/home/jens/Source/shotwell/src/Photo.vala" + retry_sec = PHOTO_SOURCE_PIXBUF_TIME_TO_LIVE_SEC - ((guint) _tmp66_); +#line 3321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = retry_sec; +#line 3321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = g_timeout_add_seconds_full (G_PRIORITY_LOW, _tmp67_, _photo_trim_source_pixbuf_cache_gsource_func, NULL, NULL); +#line 3321 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_source_id = _tmp68_; +#line 24540 "Photo.c" + } +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = found; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp70_ != NULL) { +#line 24546 "Photo.c" + PhotoCachedPixbuf* _tmp71_ = NULL; + GdkPixbuf* _tmp72_ = NULL; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = found; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_->pixbuf; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _tmp72_; +#line 24555 "Photo.c" + } else { +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = NULL; +#line 24559 "Photo.c" + } +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = _g_object_ref0 (_tmp69_); +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp73_; +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (iter); +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_cached_pixbuf_unref0 (found); +#line 24569 "Photo.c" + { + GeeLinkedList* _tmp74_ = NULL; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = photo_source_pixbuf_cache; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&__lock_photo_source_pixbuf_cache); +#line 24576 "Photo.c" + } +#line 3324 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24580 "Photo.c" + } + __finally368: + { + GeeLinkedList* _tmp75_ = NULL; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = photo_source_pixbuf_cache; +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&__lock_photo_source_pixbuf_cache); +#line 24589 "Photo.c" + } +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3253 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24595 "Photo.c" + } +} + + +static gboolean photo_trim_source_pixbuf_cache (void) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 3330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_run_source_pixbuf_cache (NULL, FALSE, &_inner_error_); +#line 3330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 3330 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 3330 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 24614 "Photo.c" + goto __catch369_g_error; + } + } + goto __finally369; + __catch369_g_error: + { + GError* err = NULL; +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 24628 "Photo.c" + } + __finally369: +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3329 "/home/jens/Source/shotwell/src/Photo.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 3329 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 3329 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 24639 "Photo.c" + } +#line 3334 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3334 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24645 "Photo.c" +} + + +/** + * @brief Get a copy of what's in the cache. + * + * @return A copy of the Pixbuf with the image data from unmodified_precached. + */ +GdkPixbuf* photo_get_prefetched_copy (Photo* self, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 3342 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_run_source_pixbuf_cache (self, TRUE, &_inner_error_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp1_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 24675 "Photo.c" + } +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp0_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gdk_pixbuf_copy (_tmp3_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 3343 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 24695 "Photo.c" +} + + +/** + * @brief Discards the cached version of the unmodified image. + */ +void photo_discard_prefetched (Photo* self) { + GError * _inner_error_ = NULL; +#line 3349 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 24706 "Photo.c" + { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 3351 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_run_source_pixbuf_cache (self, FALSE, &_inner_error_); +#line 3351 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 3351 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 3351 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 24718 "Photo.c" + goto __catch370_g_error; + } + } + goto __finally370; + __catch370_g_error: + { + GError* err = NULL; +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 24732 "Photo.c" + } + __finally370: +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3350 "/home/jens/Source/shotwell/src/Photo.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 3350 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 3350 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 24743 "Photo.c" + } +} + + +/** + * @brief Returns a fully transformed and scaled pixbuf. Transformations may be excluded via + * the mask. If the image is smaller than the scaling, it will be returned in its actual size. + * The caller is responsible for scaling thereafter. + * + * @param scaling A scaling object that describes the size the output pixbuf should be. + * @param exceptions The parts of the pipeline that should be skipped; defaults to NONE if + * left unset. + * @param fetch_mode The fetch mode; if left unset, defaults to BASELINE so that + * we get the image exactly as it is in the file. + */ +GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error) { + GdkPixbuf* result = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean is_scaled = FALSE; + gboolean is_cropped = FALSE; + gboolean is_straightened = FALSE; + Dimensions scaled_to_viewport = {0}; + Dimensions original = {0}; + Dimensions scaled = {0}; + EditingToolsRedeyeInstance* redeye_instances = NULL; + gint redeye_instances_length1 = 0; + gint _redeye_instances_size_ = 0; + Box crop = {0}; + gdouble straightening_angle = 0.0; + PixelTransformer* transformer = NULL; + Orientation orientation = 0; + GdkPixbuf* pixbuf = NULL; + GdkPixbuf* _tmp33_ = NULL; + PhotoException _tmp34_ = 0; + gboolean _tmp35_ = FALSE; + PhotoException _tmp40_ = 0; + gboolean _tmp41_ = FALSE; + PhotoException _tmp46_ = 0; + gboolean _tmp47_ = FALSE; + PhotoException _tmp85_ = 0; + gboolean _tmp86_ = FALSE; + gboolean _tmp89_ = FALSE; + PhotoException _tmp96_ = 0; + gboolean _tmp97_ = FALSE; + gboolean _tmp101_ = FALSE; + gboolean _tmp102_ = FALSE; + GError * _inner_error_ = NULL; +#line 3367 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3367 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_develop_raw_photos_to_files (); +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_) { +#line 24805 "Photo.c" + PhotoFileFormat _tmp5_ = 0; +#line 3381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_master_file_format (self); +#line 3381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp5_ == PHOTO_FILE_FORMAT_RAW; +#line 24811 "Photo.c" + } else { +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = FALSE; +#line 24815 "Photo.c" + } +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 24819 "Photo.c" + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + BackingFetchMode _tmp8_ = 0; +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = fetch_mode; +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ == BACKING_FETCH_MODE_BASELINE) { +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = TRUE; +#line 24829 "Photo.c" + } else { + BackingFetchMode _tmp9_ = 0; +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = fetch_mode; +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp9_ == BACKING_FETCH_MODE_UNMODIFIED; +#line 24836 "Photo.c" + } +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = TRUE; +#line 24842 "Photo.c" + } else { + BackingFetchMode _tmp10_ = 0; +#line 3383 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = fetch_mode; +#line 3383 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp10_ == BACKING_FETCH_MODE_SOURCE; +#line 24849 "Photo.c" + } +#line 3382 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp6_; +#line 24853 "Photo.c" + } else { +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 24857 "Photo.c" + } +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 24861 "Photo.c" + RawDeveloper _tmp11_ = 0; + gboolean _tmp12_ = FALSE; +#line 3384 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_get_raw_developer (self); +#line 3384 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_is_raw_developer_complete (self, _tmp11_); +#line 3384 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = !_tmp12_; +#line 24870 "Photo.c" + } else { +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = FALSE; +#line 24874 "Photo.c" + } +#line 3380 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_) { +#line 24878 "Photo.c" + RawDeveloper _tmp13_ = 0; +#line 3385 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_get_raw_developer (self); +#line 3385 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_raw_developer (self, _tmp13_); +#line 24884 "Photo.c" + } +#line 3390 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&original, 0, 0); +#line 3391 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_init (&scaled, 0, 0); +#line 3392 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = NULL; +#line 3392 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances_length1 = 0; +#line 3392 "/home/jens/Source/shotwell/src/Photo.vala" + _redeye_instances_size_ = redeye_instances_length1; +#line 3395 "/home/jens/Source/shotwell/src/Photo.vala" + transformer = NULL; +#line 24898 "Photo.c" + { + PhotoRow* _tmp14_ = NULL; +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->row; +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 24905 "Photo.c" + { + Dimensions _tmp15_ = {0}; + PhotoException _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + Dimensions _tmp18_ = {0}; + Dimensions _tmp19_ = {0}; + Dimensions _tmp20_ = {0}; + Dimensions _tmp21_ = {0}; + gboolean _tmp22_ = FALSE; + gint _tmp23_ = 0; + EditingToolsRedeyeInstance* _tmp24_ = NULL; + Box _tmp25_ = {0}; + gboolean _tmp26_ = FALSE; + gdouble _tmp27_ = 0.0; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + Orientation _tmp31_ = 0; +#line 3399 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_ALL, &_tmp15_); +#line 3399 "/home/jens/Source/shotwell/src/Photo.vala" + original = _tmp15_; +#line 3400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = exceptions; +#line 3400 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp16_, &_tmp17_); +#line 3400 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_get_scaled_dimensions (scaling, &_tmp17_, &_tmp18_); +#line 3400 "/home/jens/Source/shotwell/src/Photo.vala" + scaled = _tmp18_; +#line 3401 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = scaled; +#line 3401 "/home/jens/Source/shotwell/src/Photo.vala" + scaled_to_viewport = _tmp19_; +#line 3403 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp20_); +#line 3403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = scaled; +#line 3403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = dimensions_equals (&_tmp20_, &_tmp21_); +#line 3403 "/home/jens/Source/shotwell/src/Photo.vala" + is_scaled = !_tmp22_; +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_get_raw_redeye_instances (self, &_tmp23_); +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = (g_free (redeye_instances), NULL); +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = _tmp24_; +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances_length1 = _tmp23_; +#line 3405 "/home/jens/Source/shotwell/src/Photo.vala" + _redeye_instances_size_ = redeye_instances_length1; +#line 3407 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_get_raw_crop (self, &_tmp25_); +#line 3407 "/home/jens/Source/shotwell/src/Photo.vala" + crop = _tmp25_; +#line 3407 "/home/jens/Source/shotwell/src/Photo.vala" + is_cropped = _tmp26_; +#line 3409 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo_get_raw_straighten (self, &_tmp27_); +#line 3409 "/home/jens/Source/shotwell/src/Photo.vala" + straightening_angle = _tmp27_; +#line 3409 "/home/jens/Source/shotwell/src/Photo.vala" + is_straightened = _tmp28_; +#line 3411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo_has_color_adjustments (self); +#line 3411 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_) { +#line 24973 "Photo.c" + PixelTransformer* _tmp30_ = NULL; +#line 3412 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo_get_pixel_transformer (self); +#line 3412 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (transformer); +#line 3412 "/home/jens/Source/shotwell/src/Photo.vala" + transformer = _tmp30_; +#line 24981 "Photo.c" + } +#line 3414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = photo_get_orientation (self); +#line 3414 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp31_; +#line 24987 "Photo.c" + } + __finally371: + { + PhotoRow* _tmp32_ = NULL; +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->row; +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 24996 "Photo.c" + } +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (transformer); +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = (g_free (redeye_instances), NULL); +#line 3398 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 25008 "Photo.c" + } + } +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = photo_get_prefetched_copy (self, &_inner_error_); +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp33_; +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (transformer); +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = (g_free (redeye_instances), NULL); +#line 3421 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 25025 "Photo.c" + } +#line 3428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = exceptions; +#line 3428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_exception_allows (_tmp34_, PHOTO_EXCEPTION_REDEYE); +#line 3428 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp35_) { +#line 25033 "Photo.c" + EditingToolsRedeyeInstance* _tmp36_ = NULL; + gint _tmp36__length1 = 0; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = redeye_instances; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36__length1 = redeye_instances_length1; +#line 25040 "Photo.c" + { + EditingToolsRedeyeInstance* instance_collection = NULL; + gint instance_collection_length1 = 0; + gint _instance_collection_size_ = 0; + gint instance_it = 0; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + instance_collection = _tmp36_; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + instance_collection_length1 = _tmp36__length1; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + for (instance_it = 0; instance_it < _tmp36__length1; instance_it = instance_it + 1) { +#line 25052 "Photo.c" + EditingToolsRedeyeInstance instance = {0}; +#line 3433 "/home/jens/Source/shotwell/src/Photo.vala" + instance = instance_collection[instance_it]; +#line 25056 "Photo.c" + { + GdkPixbuf* _tmp37_ = NULL; + EditingToolsRedeyeInstance _tmp38_ = {0}; + GdkPixbuf* _tmp39_ = NULL; +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = pixbuf; +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = instance; +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo_do_redeye (self, _tmp37_, &_tmp38_); +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3434 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp39_; +#line 25071 "Photo.c" + } + } + } + } +#line 3442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = exceptions; +#line 3442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = photo_exception_allows (_tmp40_, PHOTO_EXCEPTION_STRAIGHTEN); +#line 3442 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp41_) { +#line 25082 "Photo.c" + gboolean _tmp42_ = FALSE; +#line 3446 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = is_straightened; +#line 3446 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp42_) { +#line 25088 "Photo.c" + GdkPixbuf* _tmp43_ = NULL; + gdouble _tmp44_ = 0.0; + GdkPixbuf* _tmp45_ = NULL; +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = pixbuf; +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = straightening_angle; +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = rotate_arb (_tmp43_, _tmp44_); +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3447 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp45_; +#line 25102 "Photo.c" + } + } +#line 3456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = exceptions; +#line 3456 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = photo_exception_allows (_tmp46_, PHOTO_EXCEPTION_CROP); +#line 3456 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp47_) { +#line 25111 "Photo.c" + gboolean _tmp48_ = FALSE; +#line 3460 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = is_cropped; +#line 3460 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp48_) { +#line 25117 "Photo.c" + Box _tmp49_ = {0}; + gint _tmp50_ = 0; + GdkPixbuf* _tmp51_ = NULL; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + Box _tmp55_ = {0}; + gint _tmp56_ = 0; + GdkPixbuf* _tmp57_ = NULL; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + Box _tmp61_ = {0}; + gint _tmp62_ = 0; + Box _tmp63_ = {0}; + gint _tmp64_ = 0; + GdkPixbuf* _tmp65_ = NULL; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + Box _tmp69_ = {0}; + gint _tmp70_ = 0; + Box _tmp71_ = {0}; + gint _tmp72_ = 0; + GdkPixbuf* _tmp73_ = NULL; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + gint _tmp76_ = 0; + GdkPixbuf* _tmp77_ = NULL; + Box _tmp78_ = {0}; + gint _tmp79_ = 0; + Box _tmp80_ = {0}; + gint _tmp81_ = 0; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + GdkPixbuf* _tmp84_ = NULL; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = crop; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp49_.left; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = pixbuf; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = gdk_pixbuf_get_width (_tmp51_); +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_; +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = CLAMP (_tmp50_, 0, _tmp53_ - 2); +#line 3465 "/home/jens/Source/shotwell/src/Photo.vala" + crop.left = _tmp54_; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = crop; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = _tmp55_.top; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = pixbuf; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = gdk_pixbuf_get_height (_tmp57_); +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_; +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = CLAMP (_tmp56_, 0, _tmp59_ - 2); +#line 3466 "/home/jens/Source/shotwell/src/Photo.vala" + crop.top = _tmp60_; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = crop; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = _tmp61_.right; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = crop; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = _tmp63_.left; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = pixbuf; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = gdk_pixbuf_get_width (_tmp65_); +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp66_; +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = CLAMP (_tmp62_, _tmp64_ + 1, _tmp67_ - 1); +#line 3468 "/home/jens/Source/shotwell/src/Photo.vala" + crop.right = _tmp68_; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = crop; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = _tmp69_.bottom; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = crop; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_.top; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = pixbuf; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = gdk_pixbuf_get_height (_tmp73_); +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = _tmp74_; +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = CLAMP (_tmp70_, _tmp72_ + 1, _tmp75_ - 1); +#line 3469 "/home/jens/Source/shotwell/src/Photo.vala" + crop.bottom = _tmp76_; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = pixbuf; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = crop; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = _tmp78_.left; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = crop; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = _tmp80_.top; +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = box_get_width (&crop); +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = box_get_height (&crop); +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = gdk_pixbuf_new_subpixbuf (_tmp77_, _tmp79_, _tmp81_, _tmp82_, _tmp83_); +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3471 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp84_; +#line 25238 "Photo.c" + } + } +#line 3481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = exceptions; +#line 3481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = photo_exception_allows (_tmp85_, PHOTO_EXCEPTION_ORIENTATION); +#line 3481 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp86_) { +#line 25247 "Photo.c" + GdkPixbuf* _tmp87_ = NULL; + GdkPixbuf* _tmp88_ = NULL; +#line 3485 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = pixbuf; +#line 3485 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = orientation_rotate_pixbuf (orientation, _tmp87_); +#line 3485 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3485 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp88_; +#line 25258 "Photo.c" + } +#line 3492 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = is_scaled; +#line 3492 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp89_) { +#line 25264 "Photo.c" + GdkPixbuf* _tmp90_ = NULL; + Dimensions _tmp91_ = {0}; + gint _tmp92_ = 0; + Dimensions _tmp93_ = {0}; + gint _tmp94_ = 0; + GdkPixbuf* _tmp95_ = NULL; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = pixbuf; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = scaled_to_viewport; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_.width; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = scaled_to_viewport; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = _tmp93_.height; +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = gdk_pixbuf_scale_simple (_tmp90_, _tmp92_, _tmp94_, GDK_INTERP_BILINEAR); +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3496 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp95_; +#line 25287 "Photo.c" + } +#line 3504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = exceptions; +#line 3504 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = photo_exception_allows (_tmp96_, PHOTO_EXCEPTION_ADJUST); +#line 3504 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp97_) { +#line 25295 "Photo.c" + PixelTransformer* _tmp98_ = NULL; +#line 3508 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = transformer; +#line 3508 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp98_ != NULL) { +#line 25301 "Photo.c" + PixelTransformer* _tmp99_ = NULL; + GdkPixbuf* _tmp100_ = NULL; +#line 3509 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = transformer; +#line 3509 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = pixbuf; +#line 3509 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_transformer_transform_pixbuf (_tmp99_, _tmp100_, NULL); +#line 25310 "Photo.c" + } + } +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = is_scaled; +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp102_) { +#line 25317 "Photo.c" + gboolean _tmp103_ = FALSE; +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = is_straightened; +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = !_tmp103_; +#line 25323 "Photo.c" + } else { +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = FALSE; +#line 25327 "Photo.c" + } +#line 3518 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp101_) { +#line 25331 "Photo.c" + GdkPixbuf* _tmp104_ = NULL; + Dimensions _tmp105_ = {0}; + gboolean _tmp106_ = FALSE; +#line 3519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = pixbuf; +#line 3519 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_for_pixbuf (_tmp104_, &_tmp105_); +#line 3519 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = dimensions_approx_equals (&scaled_to_viewport, &_tmp105_, PHOTO_SCALING_FUDGE); +#line 3519 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp106_, "scaled_to_viewport.approx_equals(Dimensions.for_pixbuf(pixbuf), SCALING_FUDGE)"); +#line 25343 "Photo.c" + } +#line 3527 "/home/jens/Source/shotwell/src/Photo.vala" + result = pixbuf; +#line 3527 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (transformer); +#line 3527 "/home/jens/Source/shotwell/src/Photo.vala" + redeye_instances = (g_free (redeye_instances), NULL); +#line 3527 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25353 "Photo.c" +} + + +static gboolean photo_real_has_user_generated_metadata (Photo* self) { +#line 3535 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Type `%s' does not implement abstract method `photo_has_user_generated_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 3535 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25362 "Photo.c" +} + + +gboolean photo_has_user_generated_metadata (Photo* self) { +#line 3535 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3535 "/home/jens/Source/shotwell/src/Photo.vala" + return PHOTO_GET_CLASS (self)->has_user_generated_metadata (self); +#line 25371 "Photo.c" +} + + +static void photo_real_set_user_metadata_for_export (Photo* self, PhotoMetadata* metadata) { +#line 3539 "/home/jens/Source/shotwell/src/Photo.vala" + g_critical ("Type `%s' does not implement abstract method `photo_set_user_metadata_for_export'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 3539 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 25380 "Photo.c" +} + + +void photo_set_user_metadata_for_export (Photo* self, PhotoMetadata* metadata) { +#line 3539 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3539 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_GET_CLASS (self)->set_user_metadata_for_export (self, metadata); +#line 25389 "Photo.c" +} + + +gchar* photo_get_export_basename (Photo* self, PhotoFileFormat* file_format) { + gchar* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; +#line 3546 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 3547 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file_format; +#line 3547 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 25402 "Photo.c" + PhotoFileFormat* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + PhotoFileFormatProperties* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file_format; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_file_format_get_properties (*_tmp1_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_format_properties_convert_file_extension (_tmp3_, _tmp5_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_get_basename (_tmp7_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp7_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp5_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp3_); +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp9_; +#line 3548 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25440 "Photo.c" + } else { + PhotoFileFormat _tmp10_ = 0; + gboolean _tmp11_ = FALSE; +#line 3550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_get_file_format (self); +#line 3550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo_file_format_can_write (_tmp10_); +#line 3550 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 25450 "Photo.c" + PhotoFileFormat _tmp12_ = 0; + PhotoFileFormatProperties* _tmp13_ = NULL; + PhotoFileFormatProperties* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_get_file_format (self); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_format_get_properties (_tmp12_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_format_properties_convert_file_extension (_tmp14_, _tmp16_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = g_file_get_basename (_tmp18_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp18_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp14_); +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp20_; +#line 3551 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25488 "Photo.c" + } else { + PhotoFileFormat _tmp21_ = 0; + PhotoFileFormatProperties* _tmp22_ = NULL; + PhotoFileFormatProperties* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_file_format_get_system_default_format (); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_file_format_get_properties (_tmp21_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = photo_file_format_properties_convert_file_extension (_tmp23_, _tmp25_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = g_file_get_basename (_tmp27_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp27_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp25_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp23_); +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp29_; +#line 3554 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25527 "Photo.c" + } + } +} + + +static gboolean photo_export_fullsized_backing (Photo* self, GFile* file, gboolean export_metadata, GError** error) { + gboolean result = FALSE; + PhotoFileReader* export_reader = NULL; + gboolean is_master = FALSE; + PhotoFileReader* _tmp29_ = NULL; + PhotoFileFormatProperties* format_properties = NULL; + PhotoFileReader* _tmp30_ = NULL; + PhotoFileFormat _tmp31_ = 0; + PhotoFileFormatProperties* _tmp32_ = NULL; + GFile* dest_file = NULL; + PhotoFileFormatProperties* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileReader* _tmp36_ = NULL; + PhotoFileFormat _tmp37_ = 0; + GFile* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + PhotoFileMetadataWriter* _tmp41_ = NULL; + PhotoFileMetadataWriter* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + PhotoFileMetadataWriter* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + PhotoFileReader* _tmp48_ = NULL; + GFile* _tmp49_ = NULL; + GFile* _tmp50_ = NULL; + GFile* _tmp51_ = NULL; + gboolean _tmp52_ = FALSE; + gboolean _tmp53_ = FALSE; + gboolean _tmp54_ = FALSE; + gboolean _tmp55_ = FALSE; + gboolean _tmp56_ = FALSE; + gboolean _tmp57_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoFileReader* _tmp65_ = NULL; + PhotoMetadata* _tmp66_ = NULL; + PhotoMetadata* _tmp67_ = NULL; + PhotoFileMetadataWriter* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + time_t _tmp74_ = 0; + gboolean _tmp80_ = FALSE; + PhotoFileMetadataWriter* _tmp97_ = NULL; + PhotoMetadata* _tmp98_ = NULL; + GError * _inner_error_ = NULL; +#line 3560 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3560 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 3563 "/home/jens/Source/shotwell/src/Photo.vala" + export_reader = NULL; +#line 3564 "/home/jens/Source/shotwell/src/Photo.vala" + is_master = TRUE; +#line 25589 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 25596 "Photo.c" + { + gboolean _tmp1_ = FALSE; + PhotoBackingReaders* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->readers; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->editable; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 25607 "Photo.c" + PhotoBackingReaders* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + PhotoFileFormat _tmp6_ = 0; + gboolean _tmp7_ = FALSE; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->editable; +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_file_format_can_write_metadata (_tmp6_); +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp7_; +#line 25622 "Photo.c" + } else { +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 25626 "Photo.c" + } +#line 3566 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 25630 "Photo.c" + PhotoBackingReaders* _tmp8_ = NULL; + PhotoFileReader* _tmp9_ = NULL; + PhotoFileReader* _tmp10_ = NULL; +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = self->priv->readers; +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_->editable; +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _photo_file_adapter_ref0 (_tmp9_); +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3567 "/home/jens/Source/shotwell/src/Photo.vala" + export_reader = _tmp10_; +#line 3568 "/home/jens/Source/shotwell/src/Photo.vala" + is_master = FALSE; +#line 25646 "Photo.c" + } else { + gboolean _tmp11_ = FALSE; + PhotoBackingReaders* _tmp12_ = NULL; + PhotoFileReader* _tmp13_ = NULL; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->readers; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_->developer; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_ != NULL) { +#line 25657 "Photo.c" + PhotoBackingReaders* _tmp14_ = NULL; + PhotoFileReader* _tmp15_ = NULL; + PhotoFileFormat _tmp16_ = 0; + gboolean _tmp17_ = FALSE; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->priv->readers; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->developer; +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_format_can_write_metadata (_tmp16_); +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp17_; +#line 25672 "Photo.c" + } else { +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = FALSE; +#line 25676 "Photo.c" + } +#line 3569 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 25680 "Photo.c" + PhotoBackingReaders* _tmp18_ = NULL; + PhotoFileReader* _tmp19_ = NULL; + PhotoFileReader* _tmp20_ = NULL; +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->readers; +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->developer; +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _photo_file_adapter_ref0 (_tmp19_); +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3570 "/home/jens/Source/shotwell/src/Photo.vala" + export_reader = _tmp20_; +#line 3571 "/home/jens/Source/shotwell/src/Photo.vala" + is_master = FALSE; +#line 25696 "Photo.c" + } else { + PhotoBackingReaders* _tmp21_ = NULL; + PhotoFileReader* _tmp22_ = NULL; + PhotoFileFormat _tmp23_ = 0; + gboolean _tmp24_ = FALSE; +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->readers; +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_->master; +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_file_format_can_write_metadata (_tmp23_); +#line 3572 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_) { +#line 25712 "Photo.c" + PhotoBackingReaders* _tmp25_ = NULL; + PhotoFileReader* _tmp26_ = NULL; + PhotoFileReader* _tmp27_ = NULL; +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->readers; +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_->master; +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _photo_file_adapter_ref0 (_tmp26_); +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3573 "/home/jens/Source/shotwell/src/Photo.vala" + export_reader = _tmp27_; +#line 25726 "Photo.c" + } + } + } + } + __finally372: + { + PhotoBackingReaders* _tmp28_ = NULL; +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = self->priv->readers; +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 25738 "Photo.c" + } +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3565 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25748 "Photo.c" + } + } +#line 3577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = export_reader; +#line 3577 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_ == NULL) { +#line 3578 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3578 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3578 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25761 "Photo.c" + } +#line 3580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = export_reader; +#line 3580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = photo_file_format_get_properties (_tmp31_); +#line 3580 "/home/jens/Source/shotwell/src/Photo.vala" + format_properties = _tmp32_; +#line 3583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = format_properties; +#line 3583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = file; +#line 3583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_file_format_properties_convert_file_extension (_tmp33_, _tmp34_); +#line 3583 "/home/jens/Source/shotwell/src/Photo.vala" + dest_file = _tmp35_; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = export_reader; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = dest_file; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = g_file_get_path (_tmp38_); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tmp39_; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = photo_file_format_create_metadata_writer (_tmp37_, _tmp40_, &_inner_error_); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp40_); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp42_; +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3586 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25809 "Photo.c" + } +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_; +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = writer; +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:3589: Exporting full-sized copy of %s to %s", _tmp44_, _tmp47_); +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp47_); +#line 3589 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp44_); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = export_reader; +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp49_; +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = dest_file; +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_copy (_tmp50_, _tmp51_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_TARGET_DEFAULT_PERMS, NULL, NULL, NULL, &_inner_error_); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp50_); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3591 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25853 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = photo_has_alterations (self); +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp57_) { +#line 25859 "Photo.c" + gboolean _tmp58_ = FALSE; +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = is_master; +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = _tmp58_; +#line 25865 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = FALSE; +#line 25869 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp56_) { +#line 25873 "Photo.c" + gboolean _tmp59_ = FALSE; +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = photo_has_user_generated_metadata (self); +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = !_tmp59_; +#line 25879 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = FALSE; +#line 25883 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp55_) { +#line 25887 "Photo.c" + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp61_ == NULL; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp61_); +#line 25898 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = FALSE; +#line 25902 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp54_) { +#line 25906 "Photo.c" + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _tmp62_; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp63_ == NULL; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp63_); +#line 25917 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = FALSE; +#line 25921 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp53_) { +#line 25925 "Photo.c" + gboolean _tmp64_ = FALSE; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = export_metadata; +#line 3597 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = _tmp64_; +#line 25931 "Photo.c" + } else { +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = FALSE; +#line 25935 "Photo.c" + } +#line 3596 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp52_) { +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3598 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 25951 "Photo.c" + } +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = export_reader; +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = photo_file_reader_read_metadata (_tmp65_, &_inner_error_); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp66_; +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3601 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 25973 "Photo.c" + } +#line 3602 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = metadata; +#line 3602 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp67_ == NULL) { +#line 25979 "Photo.c" + PhotoFileReader* _tmp68_ = NULL; + PhotoFileFormat _tmp69_ = 0; + PhotoMetadata* _tmp70_ = NULL; +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = export_reader; +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = photo_file_format_create_metadata (_tmp69_); +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3603 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp70_; +#line 25993 "Photo.c" + } +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = writer; +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = _tmp72_; +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:3605: Updating metadata of %s", _tmp73_); +#line 3605 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp73_); +#line 3607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3607 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp74_ != ((time_t) 0)) { +#line 26009 "Photo.c" + PhotoMetadata* _tmp75_ = NULL; + time_t _tmp76_ = 0; + MetadataDateTime* _tmp77_ = NULL; + MetadataDateTime* _tmp78_ = NULL; +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = metadata; +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = metadata_date_time_new (_tmp76_); +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = _tmp77_; +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp75_, _tmp78_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3608 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (_tmp78_); +#line 26026 "Photo.c" + } else { + PhotoMetadata* _tmp79_ = NULL; +#line 3610 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = metadata; +#line 3610 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp79_, NULL, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 26033 "Photo.c" + } +#line 3612 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = export_metadata; +#line 3612 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp80_) { +#line 26039 "Photo.c" + PhotoMetadata* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + PhotoMetadata* _tmp84_ = NULL; + gchar* _tmp85_ = NULL; + gchar* _tmp86_ = NULL; + PhotoMetadata* _tmp87_ = NULL; + Dimensions _tmp88_ = {0}; + PhotoMetadata* _tmp89_ = NULL; + Orientation _tmp90_ = 0; + PhotoMetadata* _tmp91_ = NULL; + Orientation _tmp92_ = 0; + Orientation _tmp93_ = 0; + PhotoMetadata* _tmp95_ = NULL; +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = metadata; +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = _tmp82_; +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_title (_tmp81_, _tmp83_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3614 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp83_); +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = metadata; +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp85_; +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_comment (_tmp84_, _tmp86_); +#line 3615 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp86_); +#line 3616 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = metadata; +#line 3616 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp88_); +#line 3616 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_pixel_dimensions (_tmp87_, &_tmp88_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = metadata; +#line 3617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = photo_get_orientation (self); +#line 3617 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_orientation (_tmp89_, _tmp90_); +#line 3618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = metadata; +#line 3618 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_software (_tmp91_, RESOURCES_APP_TITLE, RESOURCES_APP_VERSION); +#line 3620 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = photo_get_orientation (self); +#line 3620 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = photo_get_original_orientation (self); +#line 3620 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp92_ != _tmp93_) { +#line 26096 "Photo.c" + PhotoMetadata* _tmp94_ = NULL; +#line 3621 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = metadata; +#line 3621 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_remove_exif_thumbnail (_tmp94_); +#line 26102 "Photo.c" + } +#line 3623 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = metadata; +#line 3623 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_user_metadata_for_export (self, _tmp95_); +#line 26108 "Photo.c" + } else { + PhotoMetadata* _tmp96_ = NULL; +#line 3627 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = metadata; +#line 3627 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_clear (_tmp96_); +#line 26115 "Photo.c" + } +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = writer; +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = metadata; +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp97_, _tmp98_, &_inner_error_); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3629 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 26139 "Photo.c" + } +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dest_file); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (format_properties); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (export_reader); +#line 3631 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 26155 "Photo.c" +} + + +gboolean photo_is_export_required (Photo* self, Scaling* scaling, PhotoFileFormat export_format) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 3637 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 3637 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = scaling_is_unscaled (scaling); +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp3_) { +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = TRUE; +#line 26175 "Photo.c" + } else { + gboolean _tmp4_ = FALSE; +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_has_alterations (self); +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp4_; +#line 26182 "Photo.c" + } +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = TRUE; +#line 26188 "Photo.c" + } else { + gboolean _tmp5_ = FALSE; +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_has_user_generated_metadata (self); +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp5_; +#line 26195 "Photo.c" + } +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = TRUE; +#line 26201 "Photo.c" + } else { + PhotoFileFormat _tmp6_ = 0; + PhotoFileFormat _tmp7_ = 0; +#line 3639 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = export_format; +#line 3639 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_get_file_format (self); +#line 3639 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp6_ != _tmp7_; +#line 26211 "Photo.c" + } +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 3638 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 26217 "Photo.c" +} + + +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error) { + gboolean _tmp0_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp18_ = NULL; + PhotoMetadata* _tmp19_ = NULL; + PhotoFileFormat _tmp22_ = 0; + gboolean _tmp23_ = FALSE; + PhotoFileWriter* writer = NULL; + PhotoFileFormat _tmp25_ = 0; + GFile* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + PhotoFileWriter* _tmp29_ = NULL; + PhotoFileWriter* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + PhotoFileWriter* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + PhotoFileFormat _tmp36_ = 0; + GEnumValue* _tmp37_; + GdkPixbuf* pixbuf = NULL; + gboolean _tmp38_ = FALSE; + PhotoFileFormat _tmp39_ = 0; + PhotoFileWriter* _tmp49_ = NULL; + GdkPixbuf* _tmp50_ = NULL; + JpegQuality _tmp51_ = 0; + PhotoFileWriter* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; + gboolean _tmp75_ = FALSE; + PhotoFileFormat _tmp76_ = 0; + PhotoFileMetadataWriter* _tmp86_ = NULL; + PhotoFileFormat _tmp87_ = 0; + GFile* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + gchar* _tmp90_ = NULL; + PhotoFileMetadataWriter* _tmp91_ = NULL; + PhotoFileMetadataWriter* _tmp92_ = NULL; + PhotoFileMetadataWriter* _tmp93_ = NULL; + PhotoFileMetadataWriter* _tmp94_ = NULL; + PhotoMetadata* _tmp95_ = NULL; + GError * _inner_error_ = NULL; +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (dest_file)); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (scaling != NULL); +#line 3647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = direct_copy_unmodified; +#line 3647 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_) { +#line 26279 "Photo.c" + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = dest_file; +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_copy (_tmp2_, _tmp3_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_TARGET_DEFAULT_PERMS, NULL, NULL, NULL, &_inner_error_); +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp2_); +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3648 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26299 "Photo.c" + } +#line 3650 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26303 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = scaling_is_unscaled (scaling); +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 26309 "Photo.c" + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_has_alterations (self); +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = TRUE; +#line 26318 "Photo.c" + } else { + gboolean _tmp10_ = FALSE; +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_only_metadata_changed (self); +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp10_; +#line 26325 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp8_; +#line 26329 "Photo.c" + } else { +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = FALSE; +#line 26333 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 26337 "Photo.c" + PhotoFileFormat _tmp11_ = 0; + PhotoFileFormat _tmp12_ = 0; +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = export_format; +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_get_file_format (self); +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp11_ == _tmp12_; +#line 26346 "Photo.c" + } else { +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = FALSE; +#line 26350 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 26354 "Photo.c" + PhotoFileFormat _tmp13_ = 0; +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_get_file_format (self); +#line 3658 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp13_ == PHOTO_FILE_FORMAT_JFIF; +#line 26360 "Photo.c" + } else { +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = FALSE; +#line 26364 "Photo.c" + } +#line 3657 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp4_) { +#line 26368 "Photo.c" + gboolean _tmp14_ = FALSE; + GFile* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = dest_file; +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = export_metadata; +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_export_fullsized_backing (self, _tmp15_, _tmp16_, &_inner_error_); +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp17_; +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26387 "Photo.c" + } +#line 3659 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_) { +#line 3660 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26393 "Photo.c" + } + } +#line 3666 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 3666 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp18_; +#line 3667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = metadata; +#line 3667 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_ == NULL) { +#line 26404 "Photo.c" + PhotoFileFormat _tmp20_ = 0; + PhotoMetadata* _tmp21_ = NULL; +#line 3668 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = export_format; +#line 3668 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_file_format_create_metadata (_tmp20_); +#line 3668 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3668 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp21_; +#line 26415 "Photo.c" + } +#line 3670 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = export_format; +#line 3670 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_file_format_can_write (_tmp22_); +#line 3670 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp23_) { +#line 26423 "Photo.c" + PhotoFileFormat _tmp24_ = 0; +#line 3671 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_file_format_get_system_default_format (); +#line 3671 "/home/jens/Source/shotwell/src/Photo.vala" + export_format = _tmp24_; +#line 26429 "Photo.c" + } +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = export_format; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = dest_file; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g_file_get_path (_tmp26_); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo_file_format_create_writer (_tmp25_, _tmp28_, &_inner_error_); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp28_); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + writer = _tmp30_; +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3673 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26455 "Photo.c" + } +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_; +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = writer; +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_; +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = export_format; +#line 3676 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), _tmp36_); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:3675: Saving transformed version of %s to %s in file format" \ +" %s", _tmp32_, _tmp35_, (_tmp37_ != NULL) ? _tmp37_->value_name : NULL); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp35_); +#line 3675 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp32_); +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo_get_file_format (self); +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp39_ == PHOTO_FILE_FORMAT_JFIF) { +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = TRUE; +#line 26483 "Photo.c" + } else { + PhotoFileFormat _tmp40_ = 0; +#line 3683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = photo_get_file_format (self); +#line 3683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp40_ == PHOTO_FILE_FORMAT_RAW; +#line 26490 "Photo.c" + } +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp38_) { +#line 26494 "Photo.c" + GdkPixbuf* _tmp41_ = NULL; + Scaling _tmp42_ = {0}; + GdkPixbuf* _tmp43_ = NULL; + GdkPixbuf* _tmp44_ = NULL; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = *scaling; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = photo_get_pixbuf_with_options (self, &_tmp42_, PHOTO_EXCEPTION_ORIENTATION, BACKING_FETCH_MODE_SOURCE, &_inner_error_); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp43_; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26517 "Photo.c" + } +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp41_; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = NULL; +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3684 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp44_; +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp41_); +#line 26529 "Photo.c" + } else { + GdkPixbuf* _tmp45_ = NULL; + Scaling _tmp46_ = {0}; + GdkPixbuf* _tmp47_ = NULL; + GdkPixbuf* _tmp48_ = NULL; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = *scaling; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = photo_get_pixbuf_with_options (self, &_tmp46_, PHOTO_EXCEPTION_NONE, BACKING_FETCH_MODE_SOURCE, &_inner_error_); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp47_; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26553 "Photo.c" + } +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp45_; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = NULL; +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3688 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp48_; +#line 3682 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp45_); +#line 26565 "Photo.c" + } +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = writer; +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = pixbuf; +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = quality; +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_writer_write (_tmp49_, _tmp50_, _tmp51_, &_inner_error_); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3692 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26587 "Photo.c" + } +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = writer; +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp53_; +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:3694: Setting EXIF for %s", _tmp54_); +#line 3694 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp54_); +#line 3697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = export_metadata; +#line 3697 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp55_) { +#line 26603 "Photo.c" + PhotoMetadata* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + PhotoMetadata* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + PhotoMetadata* _tmp62_ = NULL; + time_t _tmp63_ = 0; + PhotoMetadata* _tmp69_ = NULL; + PhotoMetadata* _tmp70_ = NULL; + PhotoMetadata* _tmp71_ = NULL; + gboolean _tmp72_ = FALSE; +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = metadata; +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp57_; +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_title (_tmp56_, _tmp58_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3699 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp58_); +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = metadata; +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_; +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_comment (_tmp59_, _tmp61_); +#line 3700 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp61_); +#line 3701 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = metadata; +#line 3701 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_software (_tmp62_, RESOURCES_APP_TITLE, RESOURCES_APP_VERSION); +#line 3703 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3703 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp63_ != ((time_t) 0)) { +#line 26644 "Photo.c" + PhotoMetadata* _tmp64_ = NULL; + time_t _tmp65_ = 0; + MetadataDateTime* _tmp66_ = NULL; + MetadataDateTime* _tmp67_ = NULL; +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = metadata; +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = metadata_date_time_new (_tmp65_); +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp66_; +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp64_, _tmp67_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3704 "/home/jens/Source/shotwell/src/Photo.vala" + _metadata_date_time_unref0 (_tmp67_); +#line 26661 "Photo.c" + } else { + PhotoMetadata* _tmp68_ = NULL; +#line 3706 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = metadata; +#line 3706 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_exposure_date_time (_tmp68_, NULL, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 26668 "Photo.c" + } +#line 3708 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = metadata; +#line 3708 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_remove_tag (_tmp69_, "Exif.Iop.RelatedImageWidth"); +#line 3709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = metadata; +#line 3709 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_remove_tag (_tmp70_, "Exif.Iop.RelatedImageHeight"); +#line 3710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = metadata; +#line 3710 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_remove_exif_thumbnail (_tmp71_); +#line 3712 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = photo_has_user_generated_metadata (self); +#line 3712 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp72_) { +#line 26686 "Photo.c" + PhotoMetadata* _tmp73_ = NULL; +#line 3713 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = metadata; +#line 3713 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_user_metadata_for_export (self, _tmp73_); +#line 26692 "Photo.c" + } + } else { + PhotoMetadata* _tmp74_ = NULL; +#line 3717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = metadata; +#line 3717 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_clear (_tmp74_); +#line 26700 "Photo.c" + } +#line 3724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = photo_get_file_format (self); +#line 3724 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp76_ == PHOTO_FILE_FORMAT_JFIF) { +#line 3724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = TRUE; +#line 26708 "Photo.c" + } else { + PhotoFileFormat _tmp77_ = 0; +#line 3725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = photo_get_file_format (self); +#line 3725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = _tmp77_ == PHOTO_FILE_FORMAT_RAW; +#line 26715 "Photo.c" + } +#line 3724 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp75_) { +#line 26719 "Photo.c" + PhotoMetadata* _tmp78_ = NULL; + Dimensions _tmp79_ = {0}; + PhotoMetadata* _tmp80_ = NULL; + Orientation _tmp81_ = 0; +#line 3726 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = metadata; +#line 3726 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_ORIENTATION, &_tmp79_); +#line 3726 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_pixel_dimensions (_tmp78_, &_tmp79_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = metadata; +#line 3727 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = photo_get_orientation (self); +#line 3727 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_orientation (_tmp80_, _tmp81_); +#line 26736 "Photo.c" + } else { + PhotoMetadata* _tmp82_ = NULL; + GdkPixbuf* _tmp83_ = NULL; + Dimensions _tmp84_ = {0}; + PhotoMetadata* _tmp85_ = NULL; +#line 3730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = metadata; +#line 3730 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = pixbuf; +#line 3730 "/home/jens/Source/shotwell/src/Photo.vala" + dimensions_for_pixbuf (_tmp83_, &_tmp84_); +#line 3730 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_pixel_dimensions (_tmp82_, &_tmp84_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 3731 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = metadata; +#line 3731 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_orientation (_tmp85_, ORIENTATION_TOP_LEFT); +#line 26754 "Photo.c" + } +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = export_format; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = dest_file; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = g_file_get_path (_tmp88_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp89_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = photo_file_format_create_metadata_writer (_tmp87_, _tmp90_, &_inner_error_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp90_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp92_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26784 "Photo.c" + } +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = _tmp86_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = NULL; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = _tmp93_; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = metadata; +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + photo_file_metadata_writer_write_metadata (_tmp94_, _tmp95_, &_inner_error_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp94_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp86_); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 3734 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 26812 "Photo.c" + } +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp86_); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (writer); +#line 3645 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 26822 "Photo.c" +} + + +static GFile* photo_generate_new_editable_file (Photo* self, PhotoFileFormat* file_format, GError** error) { + PhotoFileFormat _vala_file_format = 0; + GFile* result = NULL; + GFile* backing = NULL; + PhotoFileFormat _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + const gchar* _tmp12_ = NULL; + gchar* editable_basename = NULL; + const gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gboolean collision = FALSE; + GFile* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + GFile* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; + GError * _inner_error_ = NULL; +#line 3737 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 26856 "Photo.c" + { + PhotoRow* _tmp0_ = NULL; +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->row; +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 26863 "Photo.c" + { + PhotoFileFormat _tmp1_ = 0; + GFile* _tmp2_ = NULL; +#line 3740 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_file_format (self); +#line 3740 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_file_format = _tmp1_; +#line 3741 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3741 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (backing); +#line 3741 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp2_; +#line 26877 "Photo.c" + } + __finally373: + { + PhotoRow* _tmp3_ = NULL; +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->row; +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 26886 "Photo.c" + } +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (backing); +#line 3739 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 26896 "Photo.c" + } + } +#line 3744 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _vala_file_format; +#line 3744 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_format_can_write (_tmp4_); +#line 3744 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp5_) { +#line 26905 "Photo.c" + PhotoFileFormat _tmp6_ = 0; +#line 3745 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_format_get_system_default_format (); +#line 3745 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_file_format = _tmp6_; +#line 26911 "Photo.c" + } +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = g_file_get_basename (backing); +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + disassemble_filename (_tmp8_, &_tmp9_, &_tmp10_); +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + name = _tmp9_; +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + ext = _tmp10_; +#line 3748 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp8_); +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = ext; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ == NULL) { +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 26935 "Photo.c" + } else { + PhotoFileFormat _tmp13_ = 0; + PhotoFileFormatProperties* _tmp14_ = NULL; + PhotoFileFormatProperties* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _vala_file_format; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo_file_format_get_properties (_tmp13_); +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = ext; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_file_format_properties_is_recognized_extension (_tmp15_, _tmp16_); +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = !_tmp17_; +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp15_); +#line 26956 "Photo.c" + } +#line 3750 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 26960 "Photo.c" + PhotoFileFormat _tmp18_ = 0; + PhotoFileFormatProperties* _tmp19_ = NULL; + PhotoFileFormatProperties* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _vala_file_format; +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = photo_file_format_get_properties (_tmp18_); +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_file_format_properties_get_default_extension (_tmp20_); +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + ext = _tmp21_; +#line 3751 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_format_properties_unref0 (_tmp20_); +#line 26979 "Photo.c" + } +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = name; +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _ ("modified"); +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = ext; +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = g_strdup_printf ("%s_%s.%s", _tmp22_, _tmp23_, _tmp24_); +#line 3753 "/home/jens/Source/shotwell/src/Photo.vala" + editable_basename = _tmp25_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g_file_get_parent (backing); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = generate_unique_file (_tmp28_, editable_basename, &_tmp29_, &_inner_error_); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + collision = _tmp29_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp28_); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp31_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (editable_basename); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (backing); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 27019 "Photo.c" + } +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp26_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = NULL; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp32_; +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp26_); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (editable_basename); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (ext); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (backing); +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + if (file_format) { +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + *file_format = _vala_file_format; +#line 27041 "Photo.c" + } +#line 3756 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 27045 "Photo.c" +} + + +static void _g_object_unref0_ (gpointer var) { +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); +#line 27052 "Photo.c" +} + + +static void _g_list_free__g_object_unref0_ (GList* self) { +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + g_list_foreach (self, (GFunc) _g_object_unref0_, NULL); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + g_list_free (self); +#line 27061 "Photo.c" +} + + +static gboolean photo_launch_editor (GFile* file, PhotoFileFormat file_format, GError** error) { + gboolean result = FALSE; + gchar* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; + gchar* commandline = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GAppInfo* app = NULL; + GList* files = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GAppInfo* _tmp17_ = NULL; + gchar** argv = NULL; + gchar** _tmp22_ = NULL; + gint argv_length1 = 0; + gint _argv_size_ = 0; + gchar** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GFile* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + GPid child_pid = 0; + gboolean _tmp31_ = FALSE; + gchar** _tmp32_ = NULL; + gint _tmp32__length1 = 0; + GPid _tmp33_ = 0; + gboolean _tmp34_ = FALSE; + GError * _inner_error_ = NULL; +#line 3759 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file_format; +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == PHOTO_FILE_FORMAT_RAW) { +#line 27105 "Photo.c" + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = config_facade_get_instance (); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = configuration_facade_get_external_raw_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp4_; +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 27121 "Photo.c" + } else { + ConfigFacade* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = config_facade_get_instance (); +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp7_; +#line 3761 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp6_); +#line 27138 "Photo.c" + } +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_strdup (_tmp0_); +#line 3760 "/home/jens/Source/shotwell/src/Photo.vala" + commandline = _tmp8_; +#line 3763 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = commandline; +#line 3763 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = is_string_empty (_tmp9_); +#line 3763 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 3764 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 3764 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3764 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3764 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 27158 "Photo.c" + } + { + GAppInfo* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GAppInfo* _tmp13_ = NULL; + GAppInfo* _tmp14_ = NULL; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = commandline; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = g_app_info_create_from_commandline (_tmp12_, "", G_APP_INFO_CREATE_NONE, &_inner_error_); +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp13_; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27173 "Photo.c" + goto __catch374_g_error; + } +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp11_; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = NULL; +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3768 "/home/jens/Source/shotwell/src/Photo.vala" + app = _tmp14_; +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp11_); +#line 27186 "Photo.c" + } + goto __finally374; + __catch374_g_error: + { + GError* er = NULL; +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + er = _inner_error_; +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3771 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3771 "/home/jens/Source/shotwell/src/Photo.vala" + app = NULL; +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (er); +#line 27202 "Photo.c" + } + __finally374: +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3767 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 27217 "Photo.c" + } +#line 3774 "/home/jens/Source/shotwell/src/Photo.vala" + files = NULL; +#line 3775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = file; +#line 3775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _g_object_ref0 (_tmp15_); +#line 3775 "/home/jens/Source/shotwell/src/Photo.vala" + files = g_list_insert (files, _tmp16_, -1); +#line 3777 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = app; +#line 3777 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_ != NULL) { +#line 27231 "Photo.c" + gboolean _tmp18_ = FALSE; + GAppInfo* _tmp19_ = NULL; + GList* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = app; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = files; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = g_app_info_launch (_tmp19_, _tmp20_, NULL, &_inner_error_); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp21_; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + __g_list_free__g_object_unref0_0 (files); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 27258 "Photo.c" + } +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp18_; +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + __g_list_free__g_object_unref0_0 (files); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3778 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 27272 "Photo.c" + } +#line 3780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = g_new0 (gchar*, 2 + 1); +#line 3780 "/home/jens/Source/shotwell/src/Photo.vala" + argv = _tmp22_; +#line 3780 "/home/jens/Source/shotwell/src/Photo.vala" + argv_length1 = 2; +#line 3780 "/home/jens/Source/shotwell/src/Photo.vala" + _argv_size_ = argv_length1; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = argv; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23__length1 = argv_length1; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = commandline; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp23_[0]); +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_[0] = _tmp25_; +#line 3781 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp23_[0]; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = argv; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27__length1 = argv_length1; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = file; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = g_file_get_path (_tmp28_); +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp27_[1]); +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_[1] = _tmp29_; +#line 3782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp27_[1]; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = argv; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32__length1 = argv_length1; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = g_spawn_async ("/", _tmp32_, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &_tmp33_, &_inner_error_); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + child_pid = _tmp33_; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp34_; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + __g_list_free__g_object_unref0_0 (files); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 27336 "Photo.c" + } +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp31_; +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + __g_list_free__g_object_unref0_0 (files); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (app); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (commandline); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp0_); +#line 3786 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 27352 "Photo.c" +} + + +void photo_open_with_raw_external_editor (Photo* self, GError** error) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 3796 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_master_file_format (self); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + photo_launch_editor (_tmp1_, _tmp2_, &_inner_error_); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3797 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27379 "Photo.c" + } +} + + +void photo_open_with_external_editor (Photo* self, GError** error) { + GFile* current_editable_file = NULL; + GFile* create_editable_file = NULL; + PhotoFileFormat editable_file_format = 0; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + GFile* _tmp17_ = NULL; + gboolean _tmp25_ = FALSE; + GFile* _tmp26_ = NULL; + GFile* _tmp44_ = NULL; + GFileMonitor* _tmp45_ = NULL; + GFile* _tmp47_ = NULL; + PhotoFileFormat _tmp48_ = 0; + GError * _inner_error_ = NULL; +#line 3801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3802 "/home/jens/Source/shotwell/src/Photo.vala" + current_editable_file = NULL; +#line 3803 "/home/jens/Source/shotwell/src/Photo.vala" + create_editable_file = NULL; +#line 27404 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 27411 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + GFile* _tmp6_ = NULL; +#line 3806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 3806 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 3806 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 27422 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3807 "/home/jens/Source/shotwell/src/Photo.vala" + current_editable_file = _tmp5_; +#line 27436 "Photo.c" + } +#line 3809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = current_editable_file; +#line 3809 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ == NULL) { +#line 27442 "Photo.c" + GFile* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_generate_new_editable_file (self, &_tmp8_, &_inner_error_); +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + editable_file_format = _tmp8_; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp9_; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27455 "Photo.c" + goto __finally375; + } +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp7_; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = NULL; +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3810 "/home/jens/Source/shotwell/src/Photo.vala" + create_editable_file = _tmp10_; +#line 3809 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp7_); +#line 27468 "Photo.c" + } else { + PhotoBackingReaders* _tmp11_ = NULL; + PhotoFileReader* _tmp12_ = NULL; + PhotoFileFormat _tmp13_ = 0; +#line 3812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->priv->readers; +#line 3812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->editable; +#line 3812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3812 "/home/jens/Source/shotwell/src/Photo.vala" + editable_file_format = _tmp13_; +#line 27481 "Photo.c" + } + } + __finally375: + { + PhotoBackingReaders* _tmp14_ = NULL; +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = self->priv->readers; +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 27491 "Photo.c" + } +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3805 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27503 "Photo.c" + } + } +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = create_editable_file; +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_ == NULL) { +#line 27510 "Photo.c" + GFile* _tmp18_ = NULL; +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = current_editable_file; +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp18_ != NULL; +#line 27516 "Photo.c" + } else { +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = FALSE; +#line 27520 "Photo.c" + } +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 27524 "Photo.c" + gboolean _tmp19_ = FALSE; + GFile* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = current_editable_file; +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = g_file_query_exists (_tmp20_, NULL); +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp21_) { +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = TRUE; +#line 27536 "Photo.c" + } else { + gboolean _tmp22_ = FALSE; +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo_has_transformations (self); +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp22_; +#line 27543 "Photo.c" + } +#line 3818 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp19_; +#line 27547 "Photo.c" + } else { +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = FALSE; +#line 27551 "Photo.c" + } +#line 3817 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 27555 "Photo.c" + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; +#line 3819 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = current_editable_file; +#line 3819 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 3819 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3819 "/home/jens/Source/shotwell/src/Photo.vala" + create_editable_file = _tmp24_; +#line 27566 "Photo.c" + } +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = create_editable_file; +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_ != NULL) { +#line 27572 "Photo.c" + PhotoFileFormat _tmp27_ = 0; + gboolean _tmp28_ = FALSE; +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = editable_file_format; +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo_file_format_can_write (_tmp27_); +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp28_; +#line 27581 "Photo.c" + } else { +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = FALSE; +#line 27585 "Photo.c" + } +#line 3822 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp25_) { +#line 27589 "Photo.c" + PhotoFileFormat _tmp40_ = 0; + GFile* _tmp41_ = NULL; + GFile* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; +#line 3823 "/home/jens/Source/shotwell/src/Photo.vala" + photo_halt_monitoring_editable (self); +#line 27596 "Photo.c" + { + GFile* _tmp29_ = NULL; + Scaling _tmp30_ = {0}; + PhotoFileFormat _tmp31_ = 0; +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = create_editable_file; +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_original (&_tmp30_); +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = editable_file_format; +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + photo_export (self, _tmp29_, &_tmp30_, JPEG_QUALITY_MAXIMUM, _tmp31_, FALSE, TRUE, &_inner_error_); +#line 3826 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27611 "Photo.c" + goto __catch376_g_error; + } + } + goto __finally376; + __catch376_g_error: + { + GError* err = NULL; + GError* _tmp38_ = NULL; + GError* _tmp39_ = NULL; +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 27625 "Photo.c" + { + GFile* _tmp32_ = NULL; +#line 3831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = create_editable_file; +#line 3831 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_delete (_tmp32_, NULL, &_inner_error_); +#line 3831 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 27634 "Photo.c" + goto __catch377_g_error; + } + } + goto __finally377; + __catch377_g_error: + { + GError* delete_err = NULL; + GFile* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + GError* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + delete_err = _inner_error_; +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = create_editable_file; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = g_file_get_path (_tmp33_); +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = delete_err; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_->message; +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:3834: Unable to delete editable file %s after export error:" \ +" %s", _tmp35_, _tmp37_); +#line 3834 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp35_); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (delete_err); +#line 27667 "Photo.c" + } + __finally377: +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3830 "/home/jens/Source/shotwell/src/Photo.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 3830 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 3830 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27686 "Photo.c" + } +#line 3838 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = err; +#line 3838 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _g_error_copy0 (_tmp38_); +#line 3838 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = _tmp39_; +#line 3838 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 27696 "Photo.c" + goto __finally376; + } + __finally376: +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3825 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27710 "Photo.c" + } +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = editable_file_format; +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = create_editable_file; +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + photo_attach_editable (self, _tmp40_, _tmp41_, &_inner_error_); +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3842 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27728 "Photo.c" + } +#line 3844 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = create_editable_file; +#line 3844 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _g_object_ref0 (_tmp42_); +#line 3844 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3844 "/home/jens/Source/shotwell/src/Photo.vala" + current_editable_file = _tmp43_; +#line 27738 "Photo.c" + } +#line 3847 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = current_editable_file; +#line 3847 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp44_ != NULL, "current_editable_file != null"); +#line 3850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = self->priv->editable_monitor; +#line 3850 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp45_ == NULL) { +#line 27748 "Photo.c" + GFile* _tmp46_ = NULL; +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = current_editable_file; +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + photo_start_monitoring_editable (self, _tmp46_, &_inner_error_); +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3851 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27764 "Photo.c" + } + } +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = current_editable_file; +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = photo_get_file_format (self); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + photo_launch_editor (_tmp47_, _tmp48_, &_inner_error_); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 3853 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27783 "Photo.c" + } +#line 3801 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (create_editable_file); +#line 3801 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (current_editable_file); +#line 27789 "Photo.c" +} + + +void photo_revert_to_master (Photo* self, gboolean notify) { + gboolean _tmp0_ = FALSE; +#line 3856 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3857 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = notify; +#line 3857 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, TRUE, TRUE, _tmp0_); +#line 27801 "Photo.c" +} + + +static void _photo_on_editable_file_changed_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self) { +#line 3867 "/home/jens/Source/shotwell/src/Photo.vala" + photo_on_editable_file_changed ((Photo*) self, file, other_file, event_type); +#line 27808 "Photo.c" +} + + +static void photo_start_monitoring_editable (Photo* self, GFile* file, GError** error) { + GFile* _tmp0_ = NULL; + GFileMonitor* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileMonitor* _tmp3_ = NULL; + GFileMonitor* _tmp4_ = NULL; + GFileMonitor* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 3860 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3860 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 3861 "/home/jens/Source/shotwell/src/Photo.vala" + photo_halt_monitoring_editable (self); +#line 3864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 3864 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_blacklist_file (_tmp0_, "Photo.start_monitoring_editable"); +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = g_file_monitor (_tmp2_, G_FILE_MONITOR_NONE, NULL, &_inner_error_); +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp3_; +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27842 "Photo.c" + } +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp1_; +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = NULL; +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->editable_monitor); +#line 3866 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable_monitor = _tmp4_; +#line 3867 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = self->priv->editable_monitor; +#line 3867 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect_object (_tmp5_, "changed", (GCallback) _photo_on_editable_file_changed_g_file_monitor_changed, self, 0); +#line 3860 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 27858 "Photo.c" +} + + +static void photo_halt_monitoring_editable (Photo* self) { + GFileMonitor* _tmp0_ = NULL; + GFile* file = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileMonitor* _tmp4_ = NULL; + guint _tmp5_ = 0U; + GFileMonitor* _tmp6_ = NULL; +#line 3870 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->editable_monitor; +#line 3871 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ == NULL) { +#line 3872 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27878 "Photo.c" + } +#line 3875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_editable_file (self); +#line 3875 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp1_; +#line 3876 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 3876 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 27888 "Photo.c" + GFile* _tmp3_ = NULL; +#line 3877 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 3877 "/home/jens/Source/shotwell/src/Photo.vala" + library_monitor_unblacklist_file (_tmp3_); +#line 27894 "Photo.c" + } +#line 3879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->editable_monitor; +#line 3879 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("changed", g_file_monitor_get_type (), &_tmp5_, NULL, FALSE); +#line 3879 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _photo_on_editable_file_changed_g_file_monitor_changed, self); +#line 3880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->editable_monitor; +#line 3880 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_monitor_cancel (_tmp6_); +#line 3881 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->editable_monitor); +#line 3881 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable_monitor = NULL; +#line 3870 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 27912 "Photo.c" +} + + +static void photo_attach_editable (Photo* self, PhotoFileFormat file_format, GFile* file, GError** error) { + PhotoFileFormat _tmp0_ = 0; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 3884 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3884 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 3889 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file_format; +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_file_format_create_reader (_tmp0_, _tmp3_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable (self, FALSE, _tmp5_, &_inner_error_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp5_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp3_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3890 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27954 "Photo.c" + } +} + + +static void photo_update_editable_attributes (Photo* self, GError** error) { + GError * _inner_error_ = NULL; +#line 3893 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3894 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable (self, TRUE, NULL, &_inner_error_); +#line 3894 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3894 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3894 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27971 "Photo.c" + } +} + + +void photo_reimport_editable (Photo* self, GError** error) { + GError * _inner_error_ = NULL; +#line 3897 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3898 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable (self, FALSE, NULL, &_inner_error_); +#line 3898 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3898 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3898 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 27988 "Photo.c" + } +} + + +static void _vala_array_add269 (gchar*** array, int* length, int* size, gchar* value) { +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28000 "Photo.c" + } +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28006 "Photo.c" +} + + +static void _vala_array_add270 (gchar*** array, int* length, int* size, gchar* value) { +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28017 "Photo.c" + } +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28023 "Photo.c" +} + + +static void _vala_array_add271 (gchar*** array, int* length, int* size, gchar* value) { +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28034 "Photo.c" + } +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28040 "Photo.c" +} + + +static void _vala_array_add272 (gchar*** array, int* length, int* size, gchar* value) { +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28051 "Photo.c" + } +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28057 "Photo.c" +} + + +static void _vala_array_add273 (gchar*** array, int* length, int* size, gchar* value) { +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28068 "Photo.c" + } +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28074 "Photo.c" +} + + +static void _vala_array_add274 (gchar*** array, int* length, int* size, gchar* value) { +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + if ((*length) == (*size)) { +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 28085 "Photo.c" + } +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[(*length)++] = value; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + (*array)[*length] = NULL; +#line 28091 "Photo.c" +} + + +static void photo_update_editable (Photo* self, gboolean only_attributes, PhotoFileReader* new_reader, GError** error) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + PhotoFileReader* old_reader = NULL; + PhotoFileReader* _tmp5_ = NULL; + PhotoFileReader* _tmp6_ = NULL; + PhotoFileReader* _tmp7_ = NULL; + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp9_ = NULL; + PhotoFileReader* _tmp10_ = NULL; + gboolean timestamp_changed = FALSE; + gboolean filesize_changed = FALSE; + gboolean is_new_editable = FALSE; + BackingPhotoID editable_id = {0}; + BackingPhotoID _tmp11_ = {0}; + GFile* file = NULL; + PhotoFileReader* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* backing = NULL; + GFile* _tmp14_ = NULL; + DetectedPhotoInformation* _tmp15_ = NULL; + BackingPhotoRow* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + gboolean _tmp35_ = FALSE; + PhotoFileReader* _tmp94_ = NULL; + gboolean _tmp100_ = FALSE; + gboolean _tmp101_ = FALSE; + gchar** alteration_list = NULL; + gchar** _tmp112_ = NULL; + gint alteration_list_length1 = 0; + gint _alteration_list_size_ = 0; + gboolean _tmp113_ = FALSE; + gboolean _tmp121_ = FALSE; + gboolean _tmp122_ = FALSE; + gchar** _tmp131_ = NULL; + gint _tmp131__length1 = 0; + GError * _inner_error_ = NULL; +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_reader == NULL) || IS_PHOTO_FILE_READER (new_reader)); +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = only_attributes; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_) { +#line 28142 "Photo.c" + PhotoFileReader* _tmp3_ = NULL; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = new_reader; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp3_ == NULL; +#line 28148 "Photo.c" + } else { +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = FALSE; +#line 28152 "Photo.c" + } +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = TRUE; +#line 28158 "Photo.c" + } else { + gboolean _tmp4_ = FALSE; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = only_attributes; +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = !_tmp4_; +#line 28165 "Photo.c" + } +#line 3905 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp0_, "(only_attributes && new_reader == null) || (!only_attributes)"); +#line 3907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_editable_reader (self); +#line 3907 "/home/jens/Source/shotwell/src/Photo.vala" + old_reader = _tmp5_; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = new_reader; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp7_; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ == NULL) { +#line 28179 "Photo.c" + PhotoFileReader* _tmp8_ = NULL; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = old_reader; +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp8_; +#line 28185 "Photo.c" + } +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _photo_file_adapter_ref0 (_tmp6_); +#line 3909 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp9_; +#line 3910 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = reader; +#line 3910 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_ == NULL) { +#line 3911 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, FALSE, TRUE, TRUE); +#line 3913 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3913 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3913 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28203 "Photo.c" + } +#line 3916 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp_changed = FALSE; +#line 3917 "/home/jens/Source/shotwell/src/Photo.vala" + filesize_changed = FALSE; +#line 3918 "/home/jens/Source/shotwell/src/Photo.vala" + is_new_editable = FALSE; +#line 3920 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_editable_id (self, &_tmp11_); +#line 3920 "/home/jens/Source/shotwell/src/Photo.vala" + editable_id = _tmp11_; +#line 3921 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = reader; +#line 3921 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3921 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp13_; +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_query_backing_photo_row (self, _tmp14_, PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5, &_tmp15_, &_inner_error_); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp15_; +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + backing = _tmp16_; +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3924 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28245 "Photo.c" + } +#line 3928 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = backing_photo_id_is_invalid (&editable_id); +#line 3928 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 28251 "Photo.c" + BackingPhotoRow* _tmp18_ = NULL; +#line 3930 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = backing; +#line 3930 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_ != NULL) { +#line 28257 "Photo.c" + BackingPhotoTable* _tmp19_ = NULL; + BackingPhotoTable* _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = backing_photo_table_get_instance (); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = backing; +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_add (_tmp20_, _tmp21_, &_inner_error_); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp20_); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3931 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28287 "Photo.c" + } + { + PhotoRow* _tmp22_ = NULL; +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = self->row; +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 28295 "Photo.c" + { + PhotoTable* _tmp23_ = NULL; + PhotoTable* _tmp24_ = NULL; + PhotoRow* _tmp25_ = NULL; + BackingPhotoRow* _tmp26_ = NULL; + BackingPhotoID _tmp27_ = {0}; + BackingPhotoRow* _tmp28_ = NULL; + BackingPhotoRow* _tmp29_ = NULL; + BackingPhotoRow* _tmp30_ = NULL; + BackingPhotoRow* _tmp31_ = NULL; + BackingPhotoRow* _tmp32_ = NULL; + Orientation _tmp33_ = 0; +#line 3933 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp_changed = TRUE; +#line 3934 "/home/jens/Source/shotwell/src/Photo.vala" + filesize_changed = TRUE; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo_table_get_instance (); +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->row; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = backing; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_->id; +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_attach_editable (_tmp24_, _tmp25_, &_tmp27_, &_inner_error_); +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp24_); +#line 3936 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 28328 "Photo.c" + goto __finally378; + } +#line 3937 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = backing; +#line 3937 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _backing_photo_row_ref0 (_tmp28_); +#line 3937 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 3937 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp29_; +#line 3938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = self->priv->editable; +#line 3938 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _backing_photo_row_ref0 (_tmp30_); +#line 3938 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 3938 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp31_; +#line 3939 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->backing_photo_row; +#line 3939 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_->original_orientation; +#line 3939 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp33_); +#line 28353 "Photo.c" + } + __finally378: + { + PhotoRow* _tmp34_ = NULL; +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = self->row; +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 28362 "Photo.c" + } +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3932 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28380 "Photo.c" + } + } + } +#line 3942 "/home/jens/Source/shotwell/src/Photo.vala" + is_new_editable = TRUE; +#line 28386 "Photo.c" + } +#line 3945 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = only_attributes; +#line 3945 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp35_) { +#line 28392 "Photo.c" + gboolean _tmp36_ = FALSE; + GFileInfo* info = NULL; + GTimeVal timestamp = {0}; + GFileInfo* _tmp45_ = NULL; + GTimeVal _tmp46_ = {0}; + BackingPhotoTable* _tmp47_ = NULL; + BackingPhotoTable* _tmp48_ = NULL; + BackingPhotoID _tmp49_ = {0}; + GTimeVal _tmp50_ = {0}; + glong _tmp51_ = 0L; + GFileInfo* _tmp52_ = NULL; + gint64 _tmp53_ = 0LL; +#line 3947 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = backing_photo_id_is_valid (&editable_id); +#line 3947 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp36_, "editable_id.is_valid()"); +#line 28409 "Photo.c" + { + GFileInfo* _tmp37_ = NULL; + GFile* _tmp38_ = NULL; + GFileInfo* _tmp39_ = NULL; + GFileInfo* _tmp40_ = NULL; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = file; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = g_file_query_filesystem_info (_tmp38_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, NULL, &_inner_error_); +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp39_; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 28423 "Photo.c" + goto __catch379_g_error; + } +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tmp37_; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = NULL; +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3951 "/home/jens/Source/shotwell/src/Photo.vala" + info = _tmp40_; +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp37_); +#line 28436 "Photo.c" + } + goto __finally379; + __catch379_g_error: + { + GError* err = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + GError* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_; +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = err; +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_->message; +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:3953: Unable to read editable filesystem info for %s: %s", _tmp42_, _tmp44_); +#line 3953 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp42_); +#line 3954 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, FALSE, TRUE, TRUE); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3956 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28480 "Photo.c" + } + __finally379: +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3950 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28501 "Photo.c" + } +#line 3959 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = info; +#line 3959 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_info_get_modification_time (_tmp45_, &_tmp46_); +#line 3959 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp = _tmp46_; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = backing_photo_table_get_instance (); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = editable_id; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = timestamp; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_.tv_sec; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = info; +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = g_file_info_get_size (_tmp52_); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update_attributes (_tmp48_, &_tmp49_, (time_t) _tmp51_, _tmp53_, &_inner_error_); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp48_); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3961 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28545 "Photo.c" + } + { + PhotoRow* _tmp54_ = NULL; +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = self->row; +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 28553 "Photo.c" + { + BackingPhotoRow* _tmp55_ = NULL; + time_t _tmp56_ = 0; + GTimeVal _tmp57_ = {0}; + glong _tmp58_ = 0L; + BackingPhotoRow* _tmp59_ = NULL; + gint64 _tmp60_ = 0LL; + GFileInfo* _tmp61_ = NULL; + gint64 _tmp62_ = 0LL; + BackingPhotoRow* _tmp63_ = NULL; + GTimeVal _tmp64_ = {0}; + glong _tmp65_ = 0L; + BackingPhotoRow* _tmp66_ = NULL; + GFileInfo* _tmp67_ = NULL; + gint64 _tmp68_ = 0LL; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = self->priv->editable; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = _tmp55_->timestamp; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = timestamp; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp57_.tv_sec; +#line 3964 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp_changed = _tmp56_ != ((time_t) _tmp58_); +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = self->priv->editable; +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = _tmp59_->filesize; +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = info; +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = g_file_info_get_size (_tmp61_); +#line 3965 "/home/jens/Source/shotwell/src/Photo.vala" + filesize_changed = _tmp60_ != _tmp62_; +#line 3967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = self->priv->editable; +#line 3967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = timestamp; +#line 3967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = _tmp64_.tv_sec; +#line 3967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_->timestamp = (time_t) _tmp65_; +#line 3968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = self->priv->editable; +#line 3968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = info; +#line 3968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = g_file_info_get_size (_tmp67_); +#line 3968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_->filesize = _tmp68_; +#line 28605 "Photo.c" + } + __finally380: + { + PhotoRow* _tmp69_ = NULL; +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = self->row; +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 28614 "Photo.c" + } +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3963 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28634 "Photo.c" + } + } +#line 3945 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (info); +#line 28639 "Photo.c" + } else { + gboolean _tmp70_ = FALSE; + gboolean _tmp71_ = FALSE; +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = backing_photo_id_is_valid (&editable_id); +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp71_) { +#line 28647 "Photo.c" + gboolean _tmp72_ = FALSE; +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = is_new_editable; +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = !_tmp72_; +#line 28653 "Photo.c" + } else { +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = FALSE; +#line 28657 "Photo.c" + } +#line 3972 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp70_) { +#line 28661 "Photo.c" + BackingPhotoRow* _tmp73_ = NULL; + BackingPhotoID _tmp74_ = {0}; + BackingPhotoTable* _tmp75_ = NULL; + BackingPhotoTable* _tmp76_ = NULL; + BackingPhotoRow* _tmp77_ = NULL; +#line 3977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = backing; +#line 3977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = editable_id; +#line 3977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_->id = _tmp74_; +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = backing_photo_table_get_instance (); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = _tmp75_; +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = backing; +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_update (_tmp76_, _tmp77_, &_inner_error_); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp76_); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3978 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28699 "Photo.c" + } + { + PhotoRow* _tmp78_ = NULL; +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = self->row; +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 28707 "Photo.c" + { + BackingPhotoRow* _tmp79_ = NULL; + time_t _tmp80_ = 0; + BackingPhotoRow* _tmp81_ = NULL; + time_t _tmp82_ = 0; + BackingPhotoRow* _tmp83_ = NULL; + gint64 _tmp84_ = 0LL; + BackingPhotoRow* _tmp85_ = NULL; + gint64 _tmp86_ = 0LL; + BackingPhotoRow* _tmp87_ = NULL; + BackingPhotoRow* _tmp88_ = NULL; + BackingPhotoRow* _tmp89_ = NULL; + BackingPhotoRow* _tmp90_ = NULL; + BackingPhotoRow* _tmp91_ = NULL; + Orientation _tmp92_ = 0; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = self->priv->editable; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = _tmp79_->timestamp; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = backing; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = _tmp81_->timestamp; +#line 3980 "/home/jens/Source/shotwell/src/Photo.vala" + timestamp_changed = _tmp80_ != _tmp82_; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = self->priv->editable; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = _tmp83_->filesize; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = backing; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp85_->filesize; +#line 3981 "/home/jens/Source/shotwell/src/Photo.vala" + filesize_changed = _tmp84_ != _tmp86_; +#line 3983 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = backing; +#line 3983 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _backing_photo_row_ref0 (_tmp87_); +#line 3983 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 3983 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp88_; +#line 3984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = self->priv->editable; +#line 3984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _backing_photo_row_ref0 (_tmp89_); +#line 3984 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 3984 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp90_; +#line 3985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = self->backing_photo_row; +#line 3985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_->original_orientation; +#line 3985 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_orientation (self, _tmp92_); +#line 28765 "Photo.c" + } + __finally381: + { + PhotoRow* _tmp93_ = NULL; +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = self->row; +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 28774 "Photo.c" + } +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3979 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28792 "Photo.c" + } + } + } + } +#line 3991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = new_reader; +#line 3991 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp94_ != NULL) { +#line 28801 "Photo.c" + { + PhotoBackingReaders* _tmp95_ = NULL; +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = self->priv->readers; +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 28808 "Photo.c" + { + PhotoBackingReaders* _tmp96_ = NULL; + PhotoFileReader* _tmp97_ = NULL; + PhotoFileReader* _tmp98_ = NULL; +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = self->priv->readers; +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = new_reader; +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = _photo_file_adapter_ref0 (_tmp97_); +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp96_->editable); +#line 3993 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_->editable = _tmp98_; +#line 28823 "Photo.c" + } + __finally382: + { + PhotoBackingReaders* _tmp99_ = NULL; +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = self->priv->readers; +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 28832 "Photo.c" + } +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 3992 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 28850 "Photo.c" + } + } + } +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = only_attributes; +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp101_) { +#line 28858 "Photo.c" + PhotoFileReader* _tmp102_ = NULL; + PhotoFileReader* _tmp103_ = NULL; +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = reader; +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = old_reader; +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = _tmp102_ != _tmp103_; +#line 28867 "Photo.c" + } else { +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = FALSE; +#line 28871 "Photo.c" + } +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp100_) { +#line 28875 "Photo.c" + GFile* _tmp104_ = NULL; + PhotoFileReader* _tmp105_ = NULL; + GFile* _tmp108_ = NULL; + PhotoFileReader* _tmp109_ = NULL; +#line 3998 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_replaced (self); +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = old_reader; +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp105_ != NULL) { +#line 28886 "Photo.c" + PhotoFileReader* _tmp106_ = NULL; + GFile* _tmp107_ = NULL; +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = old_reader; +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp106_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp104_); +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = _tmp107_; +#line 28897 "Photo.c" + } else { +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp104_); +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = NULL; +#line 28903 "Photo.c" + } +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = new_reader; +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp109_ != NULL) { +#line 28909 "Photo.c" + PhotoFileReader* _tmp110_ = NULL; + GFile* _tmp111_ = NULL; +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = new_reader; +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp108_); +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = _tmp111_; +#line 28920 "Photo.c" + } else { +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp108_); +#line 4000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = NULL; +#line 28926 "Photo.c" + } +#line 3999 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_editable_replaced (self, _tmp104_, _tmp108_); +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp108_); +#line 3997 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp104_); +#line 28934 "Photo.c" + } +#line 4003 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = g_new0 (gchar*, 0 + 1); +#line 4003 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = _tmp112_; +#line 4003 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list_length1 = 0; +#line 4003 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_list_size_ = alteration_list_length1; +#line 4004 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = timestamp_changed; +#line 4004 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp113_) { +#line 28948 "Photo.c" + gchar** _tmp114_ = NULL; + gint _tmp114__length1 = 0; + gchar* _tmp115_ = NULL; + gchar** _tmp116_ = NULL; + gint _tmp116__length1 = 0; + gchar* _tmp117_ = NULL; + gboolean _tmp118_ = FALSE; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = alteration_list; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114__length1 = alteration_list_length1; +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = g_strdup ("metadata:editable-timestamp"); +#line 4005 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add269 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp115_); +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = alteration_list; +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116__length1 = alteration_list_length1; +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = g_strdup ("metadata:baseline-timestamp"); +#line 4006 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add270 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp117_); +#line 4008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = photo_is_editable_source (self); +#line 4008 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp118_) { +#line 28976 "Photo.c" + gchar** _tmp119_ = NULL; + gint _tmp119__length1 = 0; + gchar* _tmp120_ = NULL; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = alteration_list; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119__length1 = alteration_list_length1; +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = g_strdup ("metadata:source-timestamp"); +#line 4009 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add271 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp120_); +#line 28988 "Photo.c" + } + } +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = filesize_changed; +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp122_) { +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = TRUE; +#line 28997 "Photo.c" + } else { + PhotoFileReader* _tmp123_ = NULL; +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = new_reader; +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = _tmp123_ != NULL; +#line 29004 "Photo.c" + } +#line 4012 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp121_) { +#line 29008 "Photo.c" + gchar** _tmp124_ = NULL; + gint _tmp124__length1 = 0; + gchar* _tmp125_ = NULL; + gchar** _tmp126_ = NULL; + gint _tmp126__length1 = 0; + gchar* _tmp127_ = NULL; + gboolean _tmp128_ = FALSE; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = alteration_list; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124__length1 = alteration_list_length1; +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = g_strdup ("image:editable"); +#line 4013 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add272 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp125_); +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126_ = alteration_list; +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126__length1 = alteration_list_length1; +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_ = g_strdup ("image:baseline"); +#line 4014 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add273 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp127_); +#line 4016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp128_ = photo_is_editable_source (self); +#line 4016 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp128_) { +#line 29036 "Photo.c" + gchar** _tmp129_ = NULL; + gint _tmp129__length1 = 0; + gchar* _tmp130_ = NULL; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129_ = alteration_list; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129__length1 = alteration_list_length1; +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp130_ = g_strdup ("image:source"); +#line 4017 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_array_add274 (&alteration_list, &alteration_list_length1, &_alteration_list_size_, _tmp130_); +#line 29048 "Photo.c" + } + } +#line 4020 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_ = alteration_list; +#line 4020 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131__length1 = alteration_list_length1; +#line 4020 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp131__length1 > 0) { +#line 29057 "Photo.c" + gchar** _tmp132_ = NULL; + gint _tmp132__length1 = 0; + Alteration* _tmp133_ = NULL; + Alteration* _tmp134_ = NULL; +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132_ = alteration_list; +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132__length1 = alteration_list_length1; +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp133_ = alteration_new_from_array (_tmp132_, _tmp132__length1); +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_ = _tmp133_; +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp134_); +#line 4021 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp134_); +#line 29074 "Photo.c" + } +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + alteration_list = (_vala_array_free (alteration_list, alteration_list_length1, (GDestroyNotify) g_free), NULL); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (backing); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 3903 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (old_reader); +#line 29088 "Photo.c" +} + + +static void photo_detach_editable (Photo* self, gboolean delete_editable, gboolean remove_transformations, gboolean notify) { + gboolean has_editable = FALSE; + GFile* editable_file = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + gboolean _tmp31_ = FALSE; + gboolean _tmp32_ = FALSE; + gboolean _tmp42_ = FALSE; + gboolean _tmp43_ = FALSE; + gboolean _tmp44_ = FALSE; + GError * _inner_error_ = NULL; +#line 4024 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4025 "/home/jens/Source/shotwell/src/Photo.vala" + photo_halt_monitoring_editable (self); +#line 4027 "/home/jens/Source/shotwell/src/Photo.vala" + has_editable = FALSE; +#line 4028 "/home/jens/Source/shotwell/src/Photo.vala" + editable_file = NULL; +#line 29112 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 29119 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; +#line 4030 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 4030 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 4030 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 29129 "Photo.c" + PhotoBackingReaders* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + PhotoBackingReaders* _tmp6_ = NULL; +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->readers; +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_->editable; +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4031 "/home/jens/Source/shotwell/src/Photo.vala" + editable_file = _tmp5_; +#line 4032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->readers; +#line 4032 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (_tmp6_->editable); +#line 4032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_->editable = NULL; +#line 4033 "/home/jens/Source/shotwell/src/Photo.vala" + has_editable = TRUE; +#line 29152 "Photo.c" + } + } + __finally383: + { + PhotoBackingReaders* _tmp7_ = NULL; +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = self->priv->readers; +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 29162 "Photo.c" + } +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4029 "/home/jens/Source/shotwell/src/Photo.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 4029 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4029 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29174 "Photo.c" + } + } +#line 4037 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = has_editable; +#line 4037 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 29181 "Photo.c" + BackingPhotoID editable_id = {0}; +#line 4038 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_id_init (&editable_id, BACKING_PHOTO_ID_INVALID); +#line 29185 "Photo.c" + { + { + PhotoRow* _tmp9_ = NULL; +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = self->row; +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 29193 "Photo.c" + { + PhotoRow* _tmp10_ = NULL; + BackingPhotoID _tmp11_ = {0}; + gboolean _tmp12_ = FALSE; + PhotoRow* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + BackingPhotoRow* _tmp18_ = NULL; +#line 4041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->row; +#line 4041 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->editable_id; +#line 4041 "/home/jens/Source/shotwell/src/Photo.vala" + editable_id = _tmp11_; +#line 4042 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = backing_photo_id_is_valid (&editable_id); +#line 4042 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 29211 "Photo.c" + PhotoTable* _tmp13_ = NULL; + PhotoTable* _tmp14_ = NULL; + PhotoRow* _tmp15_ = NULL; +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_table_get_instance (); +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_; +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = self->row; +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_detach_editable (_tmp14_, _tmp15_, &_inner_error_); +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp14_); +#line 4043 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29227 "Photo.c" + goto __finally385; + } + } +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->row; +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->master; +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _backing_photo_row_ref0 (_tmp17_); +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 4044 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = _tmp18_; +#line 29241 "Photo.c" + } + __finally385: + { + PhotoRow* _tmp19_ = NULL; +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = self->row; +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 29250 "Photo.c" + } +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 29256 "Photo.c" + goto __catch384_database_error; + } +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4040 "/home/jens/Source/shotwell/src/Photo.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 4040 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4040 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29267 "Photo.c" + } + } + } + goto __finally384; + __catch384_database_error: + { + GError* err = NULL; + GError* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = err; +#line 4047 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->message; +#line 4047 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4047: Unable to remove editable from PhotoTable: %s", _tmp21_); +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29289 "Photo.c" + } + __finally384: +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4039 "/home/jens/Source/shotwell/src/Photo.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 4039 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4039 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29302 "Photo.c" + } + { + gboolean _tmp22_ = FALSE; +#line 4051 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = backing_photo_id_is_valid (&editable_id); +#line 4051 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_) { +#line 29310 "Photo.c" + BackingPhotoTable* _tmp23_ = NULL; + BackingPhotoTable* _tmp24_ = NULL; + BackingPhotoID _tmp25_ = {0}; +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = backing_photo_table_get_instance (); +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_; +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = editable_id; +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_remove (_tmp24_, &_tmp25_, &_inner_error_); +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp24_); +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 29328 "Photo.c" + goto __catch386_database_error; + } +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4052 "/home/jens/Source/shotwell/src/Photo.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 4052 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4052 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29339 "Photo.c" + } + } + } + goto __finally386; + __catch386_database_error: + { + GError* err = NULL; + GError* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4054 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = err; +#line 4054 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_->message; +#line 4054 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4054: Unable to remove editable from BackingPhotoTable: %s", _tmp27_); +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29361 "Photo.c" + } + __finally386: +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4050 "/home/jens/Source/shotwell/src/Photo.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 4050 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4050 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29374 "Photo.c" + } + } +#line 4058 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = remove_transformations; +#line 4058 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_) { +#line 4059 "/home/jens/Source/shotwell/src/Photo.vala" + photo_internal_remove_all_transformations (self, FALSE); +#line 29383 "Photo.c" + } +#line 4061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = has_editable; +#line 4061 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_) { +#line 29389 "Photo.c" + GFile* _tmp30_ = NULL; +#line 4062 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_baseline_replaced (self); +#line 4063 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = editable_file; +#line 4063 "/home/jens/Source/shotwell/src/Photo.vala" + photo_notify_editable_replaced (self, _tmp30_, NULL); +#line 29397 "Photo.c" + } +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = delete_editable; +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp32_) { +#line 29403 "Photo.c" + GFile* _tmp33_ = NULL; +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = editable_file; +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp33_ != NULL; +#line 29409 "Photo.c" + } else { +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = FALSE; +#line 29413 "Photo.c" + } +#line 4066 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp31_) { +#line 29417 "Photo.c" + { + GFile* _tmp34_ = NULL; +#line 4068 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = editable_file; +#line 4068 "/home/jens/Source/shotwell/src/Photo.vala" + g_file_trash (_tmp34_, NULL, &_inner_error_); +#line 4068 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29426 "Photo.c" + goto __catch387_g_error; + } + } + goto __finally387; + __catch387_g_error: + { + GError* err = NULL; + GFile* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + GError* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = editable_file; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = g_file_get_path (_tmp35_); +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = err; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_->message; +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4070: Unable to trash editable %s for %s: %s", _tmp37_, _tmp39_, _tmp41_); +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp39_); +#line 4070 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp37_); +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29467 "Photo.c" + } + __finally387: +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 4067 "/home/jens/Source/shotwell/src/Photo.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 4067 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4067 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29480 "Photo.c" + } + } +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = has_editable; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_) { +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = TRUE; +#line 29489 "Photo.c" + } else { + gboolean _tmp45_ = FALSE; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = remove_transformations; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp45_; +#line 29496 "Photo.c" + } +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp43_) { +#line 29500 "Photo.c" + gboolean _tmp46_ = FALSE; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = notify; +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp46_; +#line 29506 "Photo.c" + } else { +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = FALSE; +#line 29510 "Photo.c" + } +#line 4075 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp42_) { +#line 29514 "Photo.c" + Alteration* _tmp47_ = NULL; + Alteration* _tmp48_ = NULL; +#line 4076 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = alteration_new ("image", "revert"); +#line 4076 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_; +#line 4076 "/home/jens/Source/shotwell/src/Photo.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp48_); +#line 4076 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp48_); +#line 29525 "Photo.c" + } +#line 4024 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable_file); +#line 29529 "Photo.c" +} + + +static void _photo_on_reimport_editable_one_shot_callback (gpointer self) { +#line 4098 "/home/jens/Source/shotwell/src/Photo.vala" + photo_on_reimport_editable ((Photo*) self); +#line 29536 "Photo.c" +} + + +static void _photo_on_update_editable_attributes_one_shot_callback (gpointer self) { +#line 4107 "/home/jens/Source/shotwell/src/Photo.vala" + photo_on_update_editable_attributes ((Photo*) self); +#line 29543 "Photo.c" +} + + +static void _photo_on_remove_editable_one_shot_callback (gpointer self) { +#line 4116 "/home/jens/Source/shotwell/src/Photo.vala" + photo_on_remove_editable ((Photo*) self); +#line 29550 "Photo.c" +} + + +static void photo_on_editable_file_changed (Photo* self, GFile* file, GFile* other_file, GFileMonitorEvent event) { + GFileMonitorEvent _tmp12_ = 0; + GEnumValue* _tmp13_; + GFile* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GFileMonitorEvent _tmp17_ = 0; + GError * _inner_error_ = NULL; +#line 4079 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4079 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 4079 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((other_file == NULL) || G_IS_FILE (other_file)); +#line 29568 "Photo.c" + { + PhotoBackingReaders* _tmp0_ = NULL; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->readers; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_readers); +#line 29575 "Photo.c" + { + PhotoBackingReaders* _tmp1_ = NULL; + PhotoFileReader* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + PhotoBackingReaders* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 4082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->readers; +#line 4082 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_->editable; +#line 4082 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp2_ != NULL, "readers.editable != null"); +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->readers; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->editable; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_equal (_tmp3_, _tmp7_); +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = !_tmp8_; +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp7_); +#line 4084 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_) { +#line 29610 "Photo.c" + { + PhotoBackingReaders* _tmp10_ = NULL; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->readers; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 29617 "Photo.c" + } +#line 4088 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29621 "Photo.c" + } + } + __finally388: + { + PhotoBackingReaders* _tmp11_ = NULL; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = self->priv->readers; +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_readers); +#line 29631 "Photo.c" + } +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4081 "/home/jens/Source/shotwell/src/Photo.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 4081 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4081 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29641 "Photo.c" + } + } +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = event; +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = g_enum_get_value (g_type_class_ref (g_file_monitor_event_get_type ()), _tmp12_); +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = file; +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = g_file_get_path (_tmp14_); +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4092: EDITABLE %s: %s", (_tmp13_ != NULL) ? _tmp13_->value_name : NULL, _tmp16_); +#line 4092 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp16_); +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = event; +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + switch (_tmp17_) { +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_CHANGED: +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_CREATED: +#line 29666 "Photo.c" + { + OneShotScheduler* _tmp18_ = NULL; + OneShotScheduler* _tmp20_ = NULL; +#line 4097 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->reimport_editable_scheduler; +#line 4097 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_ == NULL) { +#line 29674 "Photo.c" + OneShotScheduler* _tmp19_ = NULL; +#line 4098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = one_shot_scheduler_new ("Photo.reimport_editable", _photo_on_reimport_editable_one_shot_callback, self); +#line 4098 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->reimport_editable_scheduler); +#line 4098 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->reimport_editable_scheduler = _tmp19_; +#line 29682 "Photo.c" + } +#line 4102 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->priv->reimport_editable_scheduler; +#line 4102 "/home/jens/Source/shotwell/src/Photo.vala" + one_shot_scheduler_after_timeout (_tmp20_, (guint) 1000, TRUE); +#line 4103 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 29690 "Photo.c" + } +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED: +#line 29694 "Photo.c" + { + OneShotScheduler* _tmp21_ = NULL; + OneShotScheduler* _tmp23_ = NULL; +#line 4106 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->update_editable_attributes_scheduler; +#line 4106 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_ == NULL) { +#line 29702 "Photo.c" + OneShotScheduler* _tmp22_ = NULL; +#line 4107 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = one_shot_scheduler_new ("Photo.update_editable_attributes", _photo_on_update_editable_attributes_one_shot_callback, self); +#line 4107 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->update_editable_attributes_scheduler); +#line 4107 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->update_editable_attributes_scheduler = _tmp22_; +#line 29710 "Photo.c" + } +#line 4111 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = self->priv->update_editable_attributes_scheduler; +#line 4111 "/home/jens/Source/shotwell/src/Photo.vala" + one_shot_scheduler_after_timeout (_tmp23_, (guint) 1000, TRUE); +#line 4112 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 29718 "Photo.c" + } +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_DELETED: +#line 29722 "Photo.c" + { + OneShotScheduler* _tmp24_ = NULL; + OneShotScheduler* _tmp26_ = NULL; +#line 4115 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = self->priv->remove_editable_scheduler; +#line 4115 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp24_ == NULL) { +#line 29730 "Photo.c" + OneShotScheduler* _tmp25_ = NULL; +#line 4116 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = one_shot_scheduler_new ("Photo.remove_editable", _photo_on_remove_editable_one_shot_callback, self); +#line 4116 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->remove_editable_scheduler); +#line 4116 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->remove_editable_scheduler = _tmp25_; +#line 29738 "Photo.c" + } +#line 4120 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = self->priv->remove_editable_scheduler; +#line 4120 "/home/jens/Source/shotwell/src/Photo.vala" + one_shot_scheduler_after_timeout (_tmp26_, (guint) 3000, TRUE); +#line 4121 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 29746 "Photo.c" + } + default: +#line 4094 "/home/jens/Source/shotwell/src/Photo.vala" + case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: +#line 29751 "Photo.c" + { +#line 4126 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 29755 "Photo.c" + } + } +#line 4131 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_prefetched (self); +#line 29760 "Photo.c" +} + + +static void photo_on_reimport_editable (Photo* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 4134 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4136 "/home/jens/Source/shotwell/src/Photo.vala" + photo_discard_prefetched (self); +#line 4138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4138 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4138 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4138: Reimporting editable for %s", _tmp1_); +#line 4138 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp1_); +#line 29780 "Photo.c" + { +#line 4140 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable (self, &_inner_error_); +#line 4140 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29786 "Photo.c" + goto __catch389_g_error; + } + } + goto __finally389; + __catch389_g_error: + { + GError* err = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = err; +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->message; +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4142: Unable to reimport photo %s changed by external edito" \ +"r: %s", _tmp3_, _tmp5_); +#line 4142 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp3_); +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29816 "Photo.c" + } + __finally389: +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4139 "/home/jens/Source/shotwell/src/Photo.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 4139 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4139 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29827 "Photo.c" + } +} + + +static void photo_on_update_editable_attributes (Photo* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 4147 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4148 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4148: Updating editable attributes for %s", _tmp1_); +#line 4148 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp1_); +#line 29846 "Photo.c" + { +#line 4150 "/home/jens/Source/shotwell/src/Photo.vala" + photo_update_editable_attributes (self, &_inner_error_); +#line 4150 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 29852 "Photo.c" + goto __catch390_g_error; + } + } + goto __finally390; + __catch390_g_error: + { + GError* err = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4152 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = err; +#line 4152 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->message; +#line 4152 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4152: Unable to update editable attributes: %s", _tmp3_); +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 29874 "Photo.c" + } + __finally390: +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4149 "/home/jens/Source/shotwell/src/Photo.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 4149 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4149 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29885 "Photo.c" + } +} + + +static void photo_on_remove_editable (Photo* self) { + PhotoFileReader* reader = NULL; + PhotoFileReader* _tmp0_ = NULL; + PhotoFileReader* _tmp1_ = NULL; + GFile* file = NULL; + PhotoFileReader* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 4156 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4157 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_editable_reader (self); +#line 4157 "/home/jens/Source/shotwell/src/Photo.vala" + reader = _tmp0_; +#line 4158 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = reader; +#line 4158 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 4159 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 4159 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29915 "Photo.c" + } +#line 4161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = reader; +#line 4161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 4161 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp3_; +#line 4162 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = file; +#line 4162 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = g_file_query_exists (_tmp4_, NULL); +#line 4162 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 29929 "Photo.c" + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 4163 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4163 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 4163 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4163: Not removing editable for %s: file exists", _tmp7_); +#line 4163 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp7_); +#line 4165 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 4165 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 4165 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29946 "Photo.c" + } +#line 4168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 4168 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 4168 "/home/jens/Source/shotwell/src/Photo.vala" + g_debug ("Photo.vala:4168: Removing editable for %s: file no longer exists", _tmp9_); +#line 4168 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp9_); +#line 4169 "/home/jens/Source/shotwell/src/Photo.vala" + photo_detach_editable (self, FALSE, TRUE, TRUE); +#line 4156 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 4156 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (reader); +#line 29962 "Photo.c" +} + + +void photo_get_original_dimensions (Photo* self, Dimensions* result) { + Dimensions dim = {0}; + Dimensions _tmp0_ = {0}; + Orientation orientation = 0; + Orientation _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; +#line 4177 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4178 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp0_); +#line 4178 "/home/jens/Source/shotwell/src/Photo.vala" + dim = _tmp0_; +#line 4179 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_orientation (self); +#line 4179 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp1_; +#line 4181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = dim; +#line 4181 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (orientation, &_tmp2_, &_tmp3_); +#line 4181 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp3_; +#line 4181 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 29991 "Photo.c" +} + + +void photo_get_master_dimensions (Photo* self, Dimensions* result) { + Orientation _tmp0_ = 0; + Dimensions _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; +#line 4185 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_original_orientation (self); +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_raw_dimensions (self, &_tmp1_); +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (_tmp0_, &_tmp1_, &_tmp2_); +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp2_; +#line 4186 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 30011 "Photo.c" +} + + +gboolean photo_get_crop (Photo* self, Box* crop, PhotoException exceptions) { + Box _vala_crop = {0}; + gboolean result = FALSE; + Box raw = {0}; + Box _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + Dimensions dim = {0}; + Dimensions _tmp2_ = {0}; + Orientation orientation = 0; + Orientation _tmp3_ = 0; + PhotoException _tmp4_ = 0; + gboolean _tmp5_ = FALSE; +#line 4190 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 4192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_raw_crop (self, &_tmp0_); +#line 4192 "/home/jens/Source/shotwell/src/Photo.vala" + raw = _tmp0_; +#line 4192 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp1_) { +#line 4193 "/home/jens/Source/shotwell/src/Photo.vala" + box_init (&_vala_crop, 0, 0, 0, 0); +#line 4195 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 4195 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 4195 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 30043 "Photo.c" + } +#line 4195 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30047 "Photo.c" + } +#line 4198 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP | PHOTO_EXCEPTION_ORIENTATION, &_tmp2_); +#line 4198 "/home/jens/Source/shotwell/src/Photo.vala" + dim = _tmp2_; +#line 4199 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_get_orientation (self); +#line 4199 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp3_; +#line 4201 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = exceptions; +#line 4201 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_exception_allows (_tmp4_, PHOTO_EXCEPTION_ORIENTATION); +#line 4201 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 30063 "Photo.c" + Orientation _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + Box _tmp8_ = {0}; + Box _tmp9_ = {0}; +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = orientation; +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = dim; +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = raw; +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_box (_tmp6_, &_tmp7_, &_tmp8_, &_tmp9_); +#line 4202 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_crop = _tmp9_; +#line 30078 "Photo.c" + } else { + Box _tmp10_ = {0}; +#line 4204 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = raw; +#line 4204 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_crop = _tmp10_; +#line 30085 "Photo.c" + } +#line 4206 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4206 "/home/jens/Source/shotwell/src/Photo.vala" + if (crop) { +#line 4206 "/home/jens/Source/shotwell/src/Photo.vala" + *crop = _vala_crop; +#line 30093 "Photo.c" + } +#line 4206 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30097 "Photo.c" +} + + +void photo_set_crop (Photo* self, Box* crop) { + Dimensions dim = {0}; + Dimensions _tmp0_ = {0}; + Orientation orientation = 0; + Orientation _tmp1_ = 0; + Box derotated = {0}; + Dimensions _tmp2_ = {0}; + Box _tmp3_ = {0}; + Box _tmp4_ = {0}; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + Box _tmp10_ = {0}; + gint _tmp11_ = 0; + Box _tmp12_ = {0}; + gint _tmp13_ = 0; + Dimensions _tmp14_ = {0}; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + Box _tmp17_ = {0}; + gint _tmp18_ = 0; + Dimensions _tmp19_ = {0}; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + Box _tmp22_ = {0}; + gint _tmp23_ = 0; + Box _tmp24_ = {0}; + gint _tmp25_ = 0; + Dimensions _tmp26_ = {0}; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + Box _tmp29_ = {0}; +#line 4210 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4210 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (crop != NULL); +#line 4211 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP | PHOTO_EXCEPTION_ORIENTATION, &_tmp0_); +#line 4211 "/home/jens/Source/shotwell/src/Photo.vala" + dim = _tmp0_; +#line 4212 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_orientation (self); +#line 4212 "/home/jens/Source/shotwell/src/Photo.vala" + orientation = _tmp1_; +#line 4214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = dim; +#line 4214 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = *crop; +#line 4214 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_derotate_box (orientation, &_tmp2_, &_tmp3_, &_tmp4_); +#line 4214 "/home/jens/Source/shotwell/src/Photo.vala" + derotated = _tmp4_; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = derotated; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_.left; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = dim; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_.width; +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = CLAMP (_tmp6_, 0, _tmp8_ - 2); +#line 4216 "/home/jens/Source/shotwell/src/Photo.vala" + derotated.left = _tmp9_; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = derotated; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_.right; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = derotated; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_.left; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = dim; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_.width; +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = CLAMP (_tmp11_, _tmp13_, _tmp15_ - 1); +#line 4217 "/home/jens/Source/shotwell/src/Photo.vala" + derotated.right = _tmp16_; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = derotated; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_.top; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = dim; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_.height; +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = CLAMP (_tmp18_, 0, _tmp20_ - 2); +#line 4219 "/home/jens/Source/shotwell/src/Photo.vala" + derotated.top = _tmp21_; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = derotated; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_.bottom; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = derotated; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_.top; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = dim; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _tmp26_.height; +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = CLAMP (_tmp23_, _tmp25_, _tmp27_ - 1); +#line 4220 "/home/jens/Source/shotwell/src/Photo.vala" + derotated.bottom = _tmp28_; +#line 4222 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = derotated; +#line 4222 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_raw_crop (self, &_tmp29_); +#line 30215 "Photo.c" +} + + +gboolean photo_get_straighten (Photo* self, gdouble* theta) { + gdouble _vala_theta = 0.0; + gboolean result = FALSE; + gdouble _tmp0_ = 0.0; + gboolean _tmp1_ = FALSE; +#line 4225 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 4226 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_raw_straighten (self, &_tmp0_); +#line 4226 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_theta = _tmp0_; +#line 4226 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp1_) { +#line 4227 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 4227 "/home/jens/Source/shotwell/src/Photo.vala" + if (theta) { +#line 4227 "/home/jens/Source/shotwell/src/Photo.vala" + *theta = _vala_theta; +#line 30238 "Photo.c" + } +#line 4227 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30242 "Photo.c" + } +#line 4229 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4229 "/home/jens/Source/shotwell/src/Photo.vala" + if (theta) { +#line 4229 "/home/jens/Source/shotwell/src/Photo.vala" + *theta = _vala_theta; +#line 30250 "Photo.c" + } +#line 4229 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30254 "Photo.c" +} + + +void photo_set_straighten (Photo* self, gdouble theta) { + gdouble _tmp0_ = 0.0; +#line 4232 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4233 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = theta; +#line 4233 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_raw_straighten (self, _tmp0_); +#line 30266 "Photo.c" +} + + +static GdkPixbuf* photo_do_redeye (Photo* self, GdkPixbuf* pixbuf, EditingToolsRedeyeInstance* inst) { + GdkPixbuf* result = NULL; + gdouble r = 0.0; + EditingToolsRedeyeInstance _tmp0_ = {0}; + gint _tmp1_ = 0; + gint* x_insets_first_quadrant = NULL; + EditingToolsRedeyeInstance _tmp2_ = {0}; + gint _tmp3_ = 0; + gint* _tmp4_ = NULL; + gint x_insets_first_quadrant_length1 = 0; + gint _x_insets_first_quadrant_size_ = 0; + gint i = 0; + gint x_bounds_min = 0; + EditingToolsRedeyeInstance _tmp22_ = {0}; + GdkPoint _tmp23_ = {0}; + gint _tmp24_ = 0; + EditingToolsRedeyeInstance _tmp25_ = {0}; + gint _tmp26_ = 0; + gint x_bounds_max = 0; + EditingToolsRedeyeInstance _tmp27_ = {0}; + GdkPoint _tmp28_ = {0}; + gint _tmp29_ = 0; + EditingToolsRedeyeInstance _tmp30_ = {0}; + gint _tmp31_ = 0; + gint ymin = 0; + EditingToolsRedeyeInstance _tmp32_ = {0}; + GdkPoint _tmp33_ = {0}; + gint _tmp34_ = 0; + EditingToolsRedeyeInstance _tmp35_ = {0}; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint ymax = 0; + EditingToolsRedeyeInstance _tmp40_ = {0}; + GdkPoint _tmp41_ = {0}; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + GdkPixbuf* _tmp45_ = NULL; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gint inset_index = 0; + EditingToolsRedeyeInstance _tmp88_ = {0}; + GdkPoint _tmp89_ = {0}; + gint _tmp90_ = 0; + EditingToolsRedeyeInstance _tmp91_ = {0}; + GdkPoint _tmp92_ = {0}; + gint _tmp93_ = 0; + EditingToolsRedeyeInstance _tmp94_ = {0}; + gint _tmp95_ = 0; + gint* _tmp96_ = NULL; + gint _tmp96__length1 = 0; + GdkPixbuf* _tmp133_ = NULL; + GdkPixbuf* _tmp134_ = NULL; +#line 4236 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 4236 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 4236 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (inst != NULL, NULL); +#line 4246 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = *inst; +#line 4246 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.radius; +#line 4246 "/home/jens/Source/shotwell/src/Photo.vala" + r = (gdouble) _tmp1_; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *inst; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_.radius; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = g_new0 (gint, _tmp3_ + 1); +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + x_insets_first_quadrant = _tmp4_; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + x_insets_first_quadrant_length1 = _tmp3_ + 1; +#line 4247 "/home/jens/Source/shotwell/src/Photo.vala" + _x_insets_first_quadrant_size_ = x_insets_first_quadrant_length1; +#line 4249 "/home/jens/Source/shotwell/src/Photo.vala" + i = 0; +#line 30350 "Photo.c" + { + gdouble y = 0.0; + gdouble _tmp5_ = 0.0; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = r; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + y = _tmp5_; +#line 30358 "Photo.c" + { + gboolean _tmp6_ = FALSE; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = TRUE; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30365 "Photo.c" + gdouble _tmp8_ = 0.0; + gdouble theta = 0.0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + gint x = 0; + gdouble _tmp12_ = 0.0; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + gint* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + EditingToolsRedeyeInstance _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp6_) { +#line 30385 "Photo.c" + gdouble _tmp7_ = 0.0; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = y; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + y = _tmp7_ - 1.0; +#line 30391 "Photo.c" + } +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = FALSE; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = y; +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp8_ >= 0.0)) { +#line 4250 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30401 "Photo.c" + } +#line 4251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = y; +#line 4251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = r; +#line 4251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = asin (_tmp9_ / _tmp10_); +#line 4251 "/home/jens/Source/shotwell/src/Photo.vala" + theta = _tmp11_; +#line 4252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = r; +#line 4252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = theta; +#line 4252 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = cos (_tmp13_); +#line 4252 "/home/jens/Source/shotwell/src/Photo.vala" + x = (gint) ((_tmp12_ * _tmp14_) + 0.5); +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = x_insets_first_quadrant; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15__length1 = x_insets_first_quadrant_length1; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = i; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = *inst; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_.radius; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = x; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_[_tmp16_] = _tmp18_ - _tmp19_; +#line 4253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp15_[_tmp16_]; +#line 4255 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = i; +#line 4255 "/home/jens/Source/shotwell/src/Photo.vala" + i = _tmp21_ + 1; +#line 30439 "Photo.c" + } + } + } +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = *inst; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_.center; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_.x; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = *inst; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_.radius; +#line 4258 "/home/jens/Source/shotwell/src/Photo.vala" + x_bounds_min = _tmp24_ - _tmp26_; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = *inst; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_.center; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_.x; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = *inst; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_.radius; +#line 4259 "/home/jens/Source/shotwell/src/Photo.vala" + x_bounds_max = _tmp29_ + _tmp31_; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = *inst; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_.center; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_.y; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = *inst; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_.radius; +#line 4260 "/home/jens/Source/shotwell/src/Photo.vala" + ymin = _tmp34_ - _tmp36_; +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = ymin; +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp38_ < 0) { +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = 0; +#line 30485 "Photo.c" + } else { + gint _tmp39_ = 0; +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = ymin; +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp39_; +#line 30492 "Photo.c" + } +#line 4261 "/home/jens/Source/shotwell/src/Photo.vala" + ymin = _tmp37_; +#line 4262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = *inst; +#line 4262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_.center; +#line 4262 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_.y; +#line 4262 "/home/jens/Source/shotwell/src/Photo.vala" + ymax = _tmp42_; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = ymax; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = pixbuf; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = gdk_pixbuf_get_height (_tmp45_); +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp44_ > (_tmp47_ - 1)) { +#line 30514 "Photo.c" + GdkPixbuf* _tmp48_ = NULL; + gint _tmp49_ = 0; + gint _tmp50_ = 0; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = pixbuf; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = gdk_pixbuf_get_height (_tmp48_); +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp49_; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp50_ - 1; +#line 30526 "Photo.c" + } else { + gint _tmp51_ = 0; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = ymax; +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp51_; +#line 30533 "Photo.c" + } +#line 4263 "/home/jens/Source/shotwell/src/Photo.vala" + ymax = _tmp43_; +#line 4267 "/home/jens/Source/shotwell/src/Photo.vala" + inset_index = 0; +#line 30539 "Photo.c" + { + gint y_it = 0; + gint _tmp52_ = 0; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = ymin; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + y_it = _tmp52_; +#line 30547 "Photo.c" + { + gboolean _tmp53_ = FALSE; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = TRUE; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30554 "Photo.c" + gint _tmp55_ = 0; + gint _tmp56_ = 0; + gint xmin = 0; + gint _tmp57_ = 0; + gint* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + gint xmax = 0; + gint _tmp64_ = 0; + gint* _tmp65_ = NULL; + gint _tmp65__length1 = 0; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + GdkPixbuf* _tmp70_ = NULL; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint _tmp87_ = 0; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp53_) { +#line 30579 "Photo.c" + gint _tmp54_ = 0; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = y_it; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + y_it = _tmp54_ + 1; +#line 30585 "Photo.c" + } +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = FALSE; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = y_it; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = ymax; +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp55_ <= _tmp56_)) { +#line 4268 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30597 "Photo.c" + } +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = x_bounds_min; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = x_insets_first_quadrant; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58__length1 = x_insets_first_quadrant_length1; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = inset_index; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = _tmp58_[_tmp59_]; +#line 4269 "/home/jens/Source/shotwell/src/Photo.vala" + xmin = _tmp57_ + _tmp60_; +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = xmin; +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp62_ < 0) { +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = 0; +#line 30617 "Photo.c" + } else { + gint _tmp63_ = 0; +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = xmin; +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp63_; +#line 30624 "Photo.c" + } +#line 4270 "/home/jens/Source/shotwell/src/Photo.vala" + xmin = _tmp61_; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = x_bounds_max; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = x_insets_first_quadrant; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65__length1 = x_insets_first_quadrant_length1; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = inset_index; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _tmp65_[_tmp66_]; +#line 4271 "/home/jens/Source/shotwell/src/Photo.vala" + xmax = _tmp64_ - _tmp67_; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = xmax; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = pixbuf; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = gdk_pixbuf_get_width (_tmp70_); +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp69_ > (_tmp72_ - 1)) { +#line 30650 "Photo.c" + GdkPixbuf* _tmp73_ = NULL; + gint _tmp74_ = 0; + gint _tmp75_ = 0; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = pixbuf; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = gdk_pixbuf_get_width (_tmp73_); +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = _tmp74_; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp75_ - 1; +#line 30662 "Photo.c" + } else { + gint _tmp76_ = 0; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = xmax; +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = _tmp76_; +#line 30669 "Photo.c" + } +#line 4272 "/home/jens/Source/shotwell/src/Photo.vala" + xmax = _tmp68_; +#line 30673 "Photo.c" + { + gint x_it = 0; + gint _tmp77_ = 0; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = xmin; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + x_it = _tmp77_; +#line 30681 "Photo.c" + { + gboolean _tmp78_ = FALSE; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = TRUE; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30688 "Photo.c" + gint _tmp80_ = 0; + gint _tmp81_ = 0; + GdkPixbuf* _tmp82_ = NULL; + gint _tmp83_ = 0; + gint _tmp84_ = 0; + GdkPixbuf* _tmp85_ = NULL; + GdkPixbuf* _tmp86_ = NULL; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp78_) { +#line 30698 "Photo.c" + gint _tmp79_ = 0; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = x_it; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + x_it = _tmp79_ + 1; +#line 30704 "Photo.c" + } +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = FALSE; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = x_it; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = xmax; +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp80_ <= _tmp81_)) { +#line 4274 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30716 "Photo.c" + } +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = pixbuf; +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = x_it; +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = y_it; +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = photo_red_reduce_pixel (self, _tmp82_, _tmp83_, _tmp84_); +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = _tmp85_; +#line 4275 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp86_); +#line 30730 "Photo.c" + } + } + } +#line 4277 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = inset_index; +#line 4277 "/home/jens/Source/shotwell/src/Photo.vala" + inset_index = _tmp87_ + 1; +#line 30738 "Photo.c" + } + } + } +#line 4282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = *inst; +#line 4282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = _tmp88_.center; +#line 4282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp89_.y; +#line 4282 "/home/jens/Source/shotwell/src/Photo.vala" + ymin = _tmp90_; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = *inst; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_.center; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = _tmp92_.y; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = *inst; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = _tmp94_.radius; +#line 4283 "/home/jens/Source/shotwell/src/Photo.vala" + ymax = _tmp93_ + _tmp95_; +#line 4284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = x_insets_first_quadrant; +#line 4284 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96__length1 = x_insets_first_quadrant_length1; +#line 4284 "/home/jens/Source/shotwell/src/Photo.vala" + inset_index = _tmp96__length1 - 1; +#line 30768 "Photo.c" + { + gint y_it = 0; + gint _tmp97_ = 0; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = ymin; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + y_it = _tmp97_; +#line 30776 "Photo.c" + { + gboolean _tmp98_ = FALSE; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = TRUE; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30783 "Photo.c" + gint _tmp100_ = 0; + gint _tmp101_ = 0; + gint xmin = 0; + gint _tmp102_ = 0; + gint* _tmp103_ = NULL; + gint _tmp103__length1 = 0; + gint _tmp104_ = 0; + gint _tmp105_ = 0; + gint _tmp106_ = 0; + gint _tmp107_ = 0; + gint xmax = 0; + gint _tmp109_ = 0; + gint* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + gint _tmp111_ = 0; + gint _tmp112_ = 0; + gint _tmp113_ = 0; + gint _tmp114_ = 0; + GdkPixbuf* _tmp115_ = NULL; + gint _tmp116_ = 0; + gint _tmp117_ = 0; + gint _tmp132_ = 0; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp98_) { +#line 30808 "Photo.c" + gint _tmp99_ = 0; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = y_it; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + y_it = _tmp99_ + 1; +#line 30814 "Photo.c" + } +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = FALSE; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = y_it; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = ymax; +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp100_ <= _tmp101_)) { +#line 4285 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30826 "Photo.c" + } +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = x_bounds_min; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = x_insets_first_quadrant; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103__length1 = x_insets_first_quadrant_length1; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = inset_index; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = _tmp103_[_tmp104_]; +#line 4286 "/home/jens/Source/shotwell/src/Photo.vala" + xmin = _tmp102_ + _tmp105_; +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = xmin; +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp107_ < 0) { +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = 0; +#line 30846 "Photo.c" + } else { + gint _tmp108_ = 0; +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp108_ = xmin; +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = _tmp108_; +#line 30853 "Photo.c" + } +#line 4287 "/home/jens/Source/shotwell/src/Photo.vala" + xmin = _tmp106_; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = x_bounds_max; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = x_insets_first_quadrant; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110__length1 = x_insets_first_quadrant_length1; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = inset_index; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = _tmp110_[_tmp111_]; +#line 4288 "/home/jens/Source/shotwell/src/Photo.vala" + xmax = _tmp109_ - _tmp112_; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = xmax; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = pixbuf; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = gdk_pixbuf_get_width (_tmp115_); +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = _tmp116_; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp114_ > (_tmp117_ - 1)) { +#line 30879 "Photo.c" + GdkPixbuf* _tmp118_ = NULL; + gint _tmp119_ = 0; + gint _tmp120_ = 0; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = pixbuf; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = gdk_pixbuf_get_width (_tmp118_); +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = _tmp119_; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = _tmp120_ - 1; +#line 30891 "Photo.c" + } else { + gint _tmp121_ = 0; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = xmax; +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = _tmp121_; +#line 30898 "Photo.c" + } +#line 4289 "/home/jens/Source/shotwell/src/Photo.vala" + xmax = _tmp113_; +#line 30902 "Photo.c" + { + gint x_it = 0; + gint _tmp122_ = 0; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = xmin; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + x_it = _tmp122_; +#line 30910 "Photo.c" + { + gboolean _tmp123_ = FALSE; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = TRUE; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 30917 "Photo.c" + gint _tmp125_ = 0; + gint _tmp126_ = 0; + GdkPixbuf* _tmp127_ = NULL; + gint _tmp128_ = 0; + gint _tmp129_ = 0; + GdkPixbuf* _tmp130_ = NULL; + GdkPixbuf* _tmp131_ = NULL; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp123_) { +#line 30927 "Photo.c" + gint _tmp124_ = 0; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = x_it; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + x_it = _tmp124_ + 1; +#line 30933 "Photo.c" + } +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = FALSE; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = x_it; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126_ = xmax; +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp125_ <= _tmp126_)) { +#line 4291 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 30945 "Photo.c" + } +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_ = pixbuf; +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp128_ = x_it; +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129_ = y_it; +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp130_ = photo_red_reduce_pixel (self, _tmp127_, _tmp128_, _tmp129_); +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_ = _tmp130_; +#line 4292 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp131_); +#line 30959 "Photo.c" + } + } + } +#line 4294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132_ = inset_index; +#line 4294 "/home/jens/Source/shotwell/src/Photo.vala" + inset_index = _tmp132_ - 1; +#line 30967 "Photo.c" + } + } + } +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp133_ = pixbuf; +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_ = _g_object_ref0 (_tmp133_); +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp134_; +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + x_insets_first_quadrant = (g_free (x_insets_first_quadrant), NULL); +#line 4297 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 30981 "Photo.c" +} + + +static GdkPixbuf* photo_red_reduce_pixel (Photo* self, GdkPixbuf* pixbuf, gint x, gint y) { + GdkPixbuf* result = NULL; + gint px_start_byte_offset = 0; + gint _tmp0_ = 0; + GdkPixbuf* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GdkPixbuf* _tmp4_ = NULL; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gint _tmp9_ = 0; + GdkPixbuf* _tmp33_ = NULL; + GdkPixbuf* _tmp34_ = NULL; +#line 4300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 4300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = y; +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = pixbuf; +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gdk_pixbuf_get_rowstride (_tmp1_); +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = x; +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = pixbuf; +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gdk_pixbuf_get_n_channels (_tmp4_); +#line 4301 "/home/jens/Source/shotwell/src/Photo.vala" + px_start_byte_offset = (_tmp0_ * _tmp2_) + (_tmp3_ * _tmp5_); +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = x; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_ >= 0) { +#line 31022 "Photo.c" + gint _tmp10_ = 0; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = y; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp10_ >= 0; +#line 31028 "Photo.c" + } else { +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = FALSE; +#line 31032 "Photo.c" + } +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 31036 "Photo.c" + gint _tmp11_ = 0; + GdkPixbuf* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = x; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = pixbuf; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = gdk_pixbuf_get_width (_tmp12_); +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp11_ < _tmp14_; +#line 31051 "Photo.c" + } else { +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = FALSE; +#line 31055 "Photo.c" + } +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_) { +#line 31059 "Photo.c" + gint _tmp15_ = 0; + GdkPixbuf* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = y; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = pixbuf; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = gdk_pixbuf_get_height (_tmp16_); +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp15_ < _tmp18_; +#line 31074 "Photo.c" + } else { +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = FALSE; +#line 31078 "Photo.c" + } +#line 4308 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 31082 "Photo.c" + guchar* pixel_data = NULL; + GdkPixbuf* _tmp19_ = NULL; + guint8* _tmp20_ = NULL; + gint pixel_data_length1 = 0; + gint _pixel_data_size_ = 0; + guchar g = '\0'; + guchar* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + gint _tmp22_ = 0; + guchar _tmp23_ = '\0'; + guchar b = '\0'; + guchar* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + guchar _tmp26_ = '\0'; + guchar r = '\0'; + guchar _tmp27_ = '\0'; + guchar _tmp28_ = '\0'; + guchar* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + gint _tmp30_ = 0; + guchar _tmp31_ = '\0'; + guchar _tmp32_ = '\0'; +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = pixbuf; +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = gdk_pixbuf_get_pixels (_tmp19_); +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_data = _tmp20_; +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + pixel_data_length1 = -1; +#line 4309 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_data_size_ = pixel_data_length1; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = pixel_data; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21__length1 = pixel_data_length1; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = px_start_byte_offset; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp21_[_tmp22_ + 1]; +#line 4319 "/home/jens/Source/shotwell/src/Photo.vala" + g = _tmp23_; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = pixel_data; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24__length1 = pixel_data_length1; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = px_start_byte_offset; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp24_[_tmp25_ + 2]; +#line 4320 "/home/jens/Source/shotwell/src/Photo.vala" + b = _tmp26_; +#line 4322 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = g; +#line 4322 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = b; +#line 4322 "/home/jens/Source/shotwell/src/Photo.vala" + r = (guchar) ((_tmp27_ + _tmp28_) / 2); +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = pixel_data; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29__length1 = pixel_data_length1; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = px_start_byte_offset; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = r; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_[_tmp30_] = _tmp31_; +#line 4324 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp29_[_tmp30_]; +#line 31154 "Photo.c" + } +#line 4327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = pixbuf; +#line 4327 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _g_object_ref0 (_tmp33_); +#line 4327 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp34_; +#line 4327 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31164 "Photo.c" +} + + +void photo_unscaled_to_raw_point (Photo* self, GdkPoint* unscaled_point, GdkPoint* result) { + Orientation unscaled_orientation = 0; + Orientation _tmp0_ = 0; + Dimensions unscaled_dims = {0}; + Orientation _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + gint unscaled_x_offset_raw = 0; + gint unscaled_y_offset_raw = 0; + Box crop_box = {0}; + Box _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + GdkPoint derotated_point = {0}; + Orientation _tmp10_ = 0; + Dimensions _tmp11_ = {0}; + GdkPoint _tmp12_ = {0}; + GdkPoint _tmp13_ = {0}; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 4330 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4330 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (unscaled_point != NULL); +#line 4331 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_orientation (self); +#line 4331 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_orientation = _tmp0_; +#line 4333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = unscaled_orientation; +#line 4333 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp2_); +#line 4333 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_rotate_dimensions (_tmp1_, &_tmp2_, &_tmp3_); +#line 4333 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_dims = _tmp3_; +#line 4336 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_x_offset_raw = 0; +#line 4337 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_y_offset_raw = 0; +#line 4340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_raw_crop (self, &_tmp4_); +#line 4340 "/home/jens/Source/shotwell/src/Photo.vala" + crop_box = _tmp4_; +#line 4340 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 31215 "Photo.c" + Box _tmp6_ = {0}; + gint _tmp7_ = 0; + Box _tmp8_ = {0}; + gint _tmp9_ = 0; +#line 4341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = crop_box; +#line 4341 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_.left; +#line 4341 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_x_offset_raw = _tmp7_; +#line 4342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = crop_box; +#line 4342 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.top; +#line 4342 "/home/jens/Source/shotwell/src/Photo.vala" + unscaled_y_offset_raw = _tmp9_; +#line 31232 "Photo.c" + } +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = unscaled_orientation; +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = unscaled_dims; +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = *unscaled_point; +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + orientation_derotate_point (_tmp10_, &_tmp11_, &_tmp12_, &_tmp13_); +#line 4345 "/home/jens/Source/shotwell/src/Photo.vala" + derotated_point = _tmp13_; +#line 4349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = derotated_point.x; +#line 4349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = unscaled_x_offset_raw; +#line 4349 "/home/jens/Source/shotwell/src/Photo.vala" + derotated_point.x = _tmp14_ + _tmp15_; +#line 4350 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = derotated_point.y; +#line 4350 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = unscaled_y_offset_raw; +#line 4350 "/home/jens/Source/shotwell/src/Photo.vala" + derotated_point.y = _tmp16_ + _tmp17_; +#line 4352 "/home/jens/Source/shotwell/src/Photo.vala" + *result = derotated_point; +#line 4352 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 31260 "Photo.c" +} + + +void photo_unscaled_to_raw_rect (Photo* self, GdkRectangle* unscaled_rect, GdkRectangle* result) { + GdkPoint upper_left = {0}; + GdkPoint _tmp0_ = {0}; + GdkPoint lower_right = {0}; + GdkPoint _tmp1_ = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkPoint _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkPoint _tmp14_ = {0}; + GdkPoint _tmp15_ = {0}; + GdkPoint _tmp16_ = {0}; + GdkPoint _tmp17_ = {0}; + GdkPoint _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkPoint _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkPoint _tmp29_ = {0}; + gint _tmp30_ = 0; + GdkRectangle raw_rect = {0}; + GdkPoint _tmp36_ = {0}; + gint _tmp37_ = 0; + GdkPoint _tmp38_ = {0}; + gint _tmp39_ = 0; + GdkPoint _tmp40_ = {0}; + gint _tmp41_ = 0; + GdkPoint _tmp42_ = {0}; + gint _tmp43_ = 0; + GdkPoint _tmp44_ = {0}; + gint _tmp45_ = 0; + GdkPoint _tmp46_ = {0}; + gint _tmp47_ = 0; +#line 4355 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (self)); +#line 4355 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (unscaled_rect != NULL); +#line 4356 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_.x = 0; +#line 4356 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left = _tmp0_; +#line 4357 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_.x = 0; +#line 4357 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right = _tmp1_; +#line 4358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *unscaled_rect; +#line 4358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_.x; +#line 4358 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left.x = _tmp3_; +#line 4359 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = *unscaled_rect; +#line 4359 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_.y; +#line 4359 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left.y = _tmp5_; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = upper_left; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_.x; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = *unscaled_rect; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_.width; +#line 4360 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right.x = _tmp7_ + _tmp9_; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = upper_left; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_.y; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = *unscaled_rect; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_.height; +#line 4361 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right.y = _tmp11_ + _tmp13_; +#line 4363 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = upper_left; +#line 4363 "/home/jens/Source/shotwell/src/Photo.vala" + photo_unscaled_to_raw_point (self, &_tmp14_, &_tmp15_); +#line 4363 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left = _tmp15_; +#line 4364 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = lower_right; +#line 4364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_unscaled_to_raw_point (self, &_tmp16_, &_tmp17_); +#line 4364 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right = _tmp17_; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = upper_left; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_.x; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = lower_right; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_.x; +#line 4366 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_ > _tmp21_) { +#line 31372 "Photo.c" + gint temp = 0; + GdkPoint _tmp22_ = {0}; + gint _tmp23_ = 0; + GdkPoint _tmp24_ = {0}; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 4367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = upper_left; +#line 4367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _tmp22_.x; +#line 4367 "/home/jens/Source/shotwell/src/Photo.vala" + temp = _tmp23_; +#line 4368 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = lower_right; +#line 4368 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_.x; +#line 4368 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left.x = _tmp25_; +#line 4369 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = temp; +#line 4369 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right.x = _tmp26_; +#line 31395 "Photo.c" + } +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = upper_left; +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp27_.y; +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = lower_right; +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _tmp29_.y; +#line 4371 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_ > _tmp30_) { +#line 31407 "Photo.c" + gint temp = 0; + GdkPoint _tmp31_ = {0}; + gint _tmp32_ = 0; + GdkPoint _tmp33_ = {0}; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 4372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = upper_left; +#line 4372 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_.y; +#line 4372 "/home/jens/Source/shotwell/src/Photo.vala" + temp = _tmp32_; +#line 4373 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = lower_right; +#line 4373 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp33_.y; +#line 4373 "/home/jens/Source/shotwell/src/Photo.vala" + upper_left.y = _tmp34_; +#line 4374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = temp; +#line 4374 "/home/jens/Source/shotwell/src/Photo.vala" + lower_right.y = _tmp35_; +#line 31430 "Photo.c" + } +#line 4377 "/home/jens/Source/shotwell/src/Photo.vala" + memset (&raw_rect, 0, sizeof (GdkRectangle)); +#line 4378 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = upper_left; +#line 4378 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_.x; +#line 4378 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rect.x = _tmp37_; +#line 4379 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = upper_left; +#line 4379 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tmp38_.y; +#line 4379 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rect.y = _tmp39_; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = lower_right; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_.x; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = upper_left; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _tmp42_.x; +#line 4380 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rect.width = _tmp41_ - _tmp43_; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = lower_right; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_.y; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = upper_left; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_.y; +#line 4381 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rect.height = _tmp45_ - _tmp47_; +#line 4383 "/home/jens/Source/shotwell/src/Photo.vala" + *result = raw_rect; +#line 4383 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 31470 "Photo.c" +} + + +PixelTransformationBundle* photo_get_enhance_transformations (Photo* self) { + PixelTransformationBundle* result = NULL; + GdkPixbuf* pixbuf = NULL; + PixelTransformationBundle* transformations = NULL; + GdkPixbuf* _tmp4_ = NULL; + PixelTransformationBundle* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 4386 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), NULL); +#line 4387 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = NULL; +#line 31485 "Photo.c" + { + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + scaling_for_best_fit (360, FALSE, &_tmp1_); +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_get_pixbuf_with_options (self, &_tmp1_, PHOTO_EXCEPTION_ALL, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp2_; +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 31499 "Photo.c" + goto __catch391_g_error; + } +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp0_; +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 4394 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp3_; +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 31512 "Photo.c" + } + goto __finally391; + __catch391_g_error: + { + GError* e = NULL; +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + e = _inner_error_; +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 4401 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:4401: %s", "Photo: get_enhance_transformations: couldn't obtain pixbuf to build " "transform histogram"); +#line 4403 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 4403 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (e); +#line 4403 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 4403 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31532 "Photo.c" + } + __finally391: +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 4393 "/home/jens/Source/shotwell/src/Photo.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 4393 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4393 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 31545 "Photo.c" + } +#line 4410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = pixbuf; +#line 4410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = auto_enhance_create_auto_enhance_adjustments (_tmp4_); +#line 4410 "/home/jens/Source/shotwell/src/Photo.vala" + transformations = _tmp5_; +#line 4418 "/home/jens/Source/shotwell/src/Photo.vala" + result = transformations; +#line 4418 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 4418 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31559 "Photo.c" +} + + +gboolean photo_enhance (Photo* self) { + gboolean result = FALSE; + PixelTransformationBundle* transformations = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 4421 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (self), FALSE); +#line 4422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_get_enhance_transformations (self); +#line 4422 "/home/jens/Source/shotwell/src/Photo.vala" + transformations = _tmp0_; +#line 4424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = transformations; +#line 4424 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 4425 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 4425 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (transformations); +#line 4425 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31585 "Photo.c" + } + { + PhotoRow* _tmp2_ = NULL; +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->row; +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_lock (&self->priv->__lock_row); +#line 31593 "Photo.c" + { + PixelTransformationBundle* _tmp3_ = NULL; +#line 4431 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = transformations; +#line 4431 "/home/jens/Source/shotwell/src/Photo.vala" + photo_set_color_adjustments (self, _tmp3_); +#line 31600 "Photo.c" + } + __finally392: + { + PhotoRow* _tmp4_ = NULL; +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->row; +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_unlock (&self->priv->__lock_row); +#line 31609 "Photo.c" + } +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (transformations); +#line 4430 "/home/jens/Source/shotwell/src/Photo.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 4430 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 4430 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 31621 "Photo.c" + } + } +#line 4438 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4438 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (transformations); +#line 4438 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31630 "Photo.c" +} + + +gboolean photo_get_develop_raw_photos_to_files (void) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo__develop_raw_photos_to_files; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31643 "Photo.c" +} + + +void photo_set_develop_raw_photos_to_files (gboolean value) { + gboolean _tmp0_ = FALSE; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = value; +#line 349 "/home/jens/Source/shotwell/src/Photo.vala" + photo__develop_raw_photos_to_files = _tmp0_; +#line 31653 "Photo.c" +} + + +static void photo_real_editable_replaced (Photo* self, GFile* old_file, GFile* new_file) { +#line 358 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((old_file == NULL) || G_IS_FILE (old_file)); +#line 358 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_file == NULL) || G_IS_FILE (new_file)); +#line 31662 "Photo.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (n_param_values == 3); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = closure->data; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = param_values->data[0].v_pointer; +#line 31681 "Photo.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = param_values->data[0].v_pointer; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = closure->data; +#line 31687 "Photo.c" + } +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 31693 "Photo.c" +} + + +static void photo_real_raw_development_modified (Photo* self) { +} + + +static void photo_real_baseline_replaced (Photo* self) { +} + + +static void photo_real_master_reimported (Photo* self, PhotoMetadata* metadata) { +#line 376 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 31708 "Photo.c" +} + + +static void g_cclosure_user_marshal_VOID__MEDIA_METADATA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__MEDIA_METADATA) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__MEDIA_METADATA callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (n_param_values == 2); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = closure->data; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = param_values->data[0].v_pointer; +#line 31727 "Photo.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = param_values->data[0].v_pointer; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = closure->data; +#line 31733 "Photo.c" + } +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + callback = (GMarshalFunc_VOID__MEDIA_METADATA) (marshal_data ? marshal_data : cc->callback); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + callback (data1, value_get_media_metadata (param_values + 1), data2); +#line 31739 "Photo.c" +} + + +static void photo_real_editable_reimported (Photo* self, PhotoMetadata* metadata) { +#line 380 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 31746 "Photo.c" +} + + +static void photo_real_baseline_reimported (Photo* self, PhotoMetadata* metadata) { +#line 387 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 31753 "Photo.c" +} + + +static void photo_real_source_reimported (Photo* self, PhotoMetadata* metadata) { +#line 394 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 31760 "Photo.c" +} + + +static void _photo_photo_transformation_state_impl_on_photo_baseline_replaced_photo_baseline_replaced (Photo* _sender, gpointer self) { +#line 257 "/home/jens/Source/shotwell/src/Photo.vala" + photo_photo_transformation_state_impl_on_photo_baseline_replaced ((PhotoPhotoTransformationStateImpl*) self); +#line 31767 "Photo.c" +} + + +static PhotoPhotoTransformationStateImpl* photo_photo_transformation_state_impl_construct (GType object_type, Photo* photo, Orientation orientation, GeeHashMap* transformations, PixelTransformer* transformer, PixelTransformationBundle* adjustments) { + PhotoPhotoTransformationStateImpl * self = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Orientation _tmp2_ = 0; + GeeHashMap* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + PixelTransformer* _tmp5_ = NULL; + PixelTransformer* _tmp6_ = NULL; + PixelTransformationBundle* _tmp7_ = NULL; + PixelTransformationBundle* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((transformations == NULL) || GEE_IS_HASH_MAP (transformations), NULL); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((transformer == NULL) || IS_PIXEL_TRANSFORMER (transformer), NULL); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((adjustments == NULL) || IS_PIXEL_TRANSFORMATION_BUNDLE (adjustments), NULL); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoPhotoTransformationStateImpl*) photo_transformation_state_construct (object_type); +#line 247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 247 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo); +#line 247 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->photo = _tmp1_; +#line 248 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = orientation; +#line 248 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->orientation = _tmp2_; +#line 249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = transformations; +#line 249 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_photo_transformation_state_impl_copy_transformations (_tmp3_); +#line 249 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->transformations); +#line 249 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformations = _tmp4_; +#line 250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = transformer; +#line 250 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _pixel_transformer_ref0 (_tmp5_); +#line 250 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 250 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = _tmp6_; +#line 251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = adjustments; +#line 251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _pixel_transformation_bundle_ref0 (_tmp7_); +#line 251 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 251 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = _tmp8_; +#line 253 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo; +#line 253 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect_object (_tmp9_, "baseline-replaced", (GCallback) _photo_photo_transformation_state_impl_on_photo_baseline_replaced_photo_baseline_replaced, self, 0); +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 31835 "Photo.c" +} + + +static PhotoPhotoTransformationStateImpl* photo_photo_transformation_state_impl_new (Photo* photo, Orientation orientation, GeeHashMap* transformations, PixelTransformer* transformer, PixelTransformationBundle* adjustments) { +#line 244 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_photo_transformation_state_impl_construct (PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, photo, orientation, transformations, transformer, adjustments); +#line 31842 "Photo.c" +} + + +static Orientation photo_photo_transformation_state_impl_get_orientation (PhotoPhotoTransformationStateImpl* self) { + Orientation result = 0; + Orientation _tmp0_ = 0; +#line 260 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self), 0); +#line 261 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->orientation; +#line 261 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 261 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31857 "Photo.c" +} + + +static GeeHashMap* photo_photo_transformation_state_impl_get_transformations (PhotoPhotoTransformationStateImpl* self) { + GeeHashMap* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self), NULL); +#line 265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->transformations; +#line 265 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_photo_transformation_state_impl_copy_transformations (_tmp0_); +#line 265 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 265 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31875 "Photo.c" +} + + +static PixelTransformer* photo_photo_transformation_state_impl_get_transformer (PhotoPhotoTransformationStateImpl* self) { + PixelTransformer* result = NULL; + PixelTransformer* _tmp0_ = NULL; + PixelTransformer* _tmp1_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self), NULL); +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->transformer; +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 31889 "Photo.c" + PixelTransformer* _tmp2_ = NULL; + PixelTransformer* _tmp3_ = NULL; +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->transformer; +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformer_copy (_tmp2_); +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp0_); +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 31900 "Photo.c" + } else { +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (_tmp0_); +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 31906 "Photo.c" + } +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 269 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31912 "Photo.c" +} + + +static PixelTransformationBundle* photo_photo_transformation_state_impl_get_color_adjustments (PhotoPhotoTransformationStateImpl* self) { + PixelTransformationBundle* result = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self), NULL); +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->adjustments; +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ != NULL) { +#line 31926 "Photo.c" + PixelTransformationBundle* _tmp2_ = NULL; + PixelTransformationBundle* _tmp3_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->adjustments; +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = pixel_transformation_bundle_copy (_tmp2_); +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp0_); +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 31937 "Photo.c" + } else { +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (_tmp0_); +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 31943 "Photo.c" + } +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 273 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31949 "Photo.c" +} + + +static GeeHashMap* photo_photo_transformation_state_impl_copy_transformations (GeeHashMap* original) { + GeeHashMap* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* clone = NULL; + GeeHashMap* _tmp1_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((original == NULL) || GEE_IS_HASH_MAP (original), NULL); +#line 278 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = original; +#line 278 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ == NULL) { +#line 279 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 279 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 31968 "Photo.c" + } +#line 281 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_KEY_VALUE_MAP, (GBoxedCopyFunc) key_value_map_ref, key_value_map_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 281 "/home/jens/Source/shotwell/src/Photo.vala" + clone = _tmp1_; +#line 31974 "Photo.c" + { + GeeIterator* _object_it = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = original; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp5_); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _object_it = _tmp7_; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 32001 "Photo.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gchar* object = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + GeeHashMap* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GeeHashMap* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + KeyValueMap* _tmp17_ = NULL; + KeyValueMap* _tmp18_ = NULL; + KeyValueMap* _tmp19_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _object_it; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp9_) { +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 32023 "Photo.c" + } +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _object_it; +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + object = (gchar*) _tmp11_; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = clone; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = object; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = original; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = object; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp15_); +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = (KeyValueMap*) _tmp16_; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = key_value_map_copy (_tmp17_); +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_, _tmp19_); +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (_tmp19_); +#line 283 "/home/jens/Source/shotwell/src/Photo.vala" + _key_value_map_unref0 (_tmp17_); +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (object); +#line 32055 "Photo.c" + } +#line 282 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_object_it); +#line 32059 "Photo.c" + } +#line 285 "/home/jens/Source/shotwell/src/Photo.vala" + result = clone; +#line 285 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 32065 "Photo.c" +} + + +static void photo_photo_transformation_state_impl_on_photo_baseline_replaced (PhotoPhotoTransformationStateImpl* self) { + gboolean _tmp0_ = FALSE; +#line 288 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_PHOTO_TRANSFORMATION_STATE_IMPL (self)); +#line 289 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_transformation_state_is_broken (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState)); +#line 289 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp0_) { +#line 290 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_TRANSFORMATION_STATE, PhotoTransformationState), "broken"); +#line 32079 "Photo.c" + } +} + + +static void photo_photo_transformation_state_impl_class_init (PhotoPhotoTransformationStateImplClass * klass) { +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + photo_photo_transformation_state_impl_parent_class = g_type_class_peek_parent (klass); +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (PhotoPhotoTransformationStateImplPrivate)); +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->finalize = photo_photo_transformation_state_impl_finalize; +#line 32091 "Photo.c" +} + + +static void photo_photo_transformation_state_impl_instance_init (PhotoPhotoTransformationStateImpl * self) { +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = PHOTO_PHOTO_TRANSFORMATION_STATE_IMPL_GET_PRIVATE (self); +#line 32098 "Photo.c" +} + + +static void photo_photo_transformation_state_impl_finalize (GObject* obj) { + PhotoPhotoTransformationStateImpl * self; + Photo* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_PHOTO_TRANSFORMATION_STATE_IMPL, PhotoPhotoTransformationStateImpl); +#line 257 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->photo; +#line 257 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("baseline-replaced", TYPE_PHOTO, &_tmp1_, NULL, FALSE); +#line 257 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _photo_photo_transformation_state_impl_on_photo_baseline_replaced_photo_baseline_replaced, self); +#line 238 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo); +#line 240 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->transformations); +#line 241 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 242 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 237 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (photo_photo_transformation_state_impl_parent_class)->finalize (obj); +#line 32124 "Photo.c" +} + + +static GType photo_photo_transformation_state_impl_get_type (void) { + static volatile gsize photo_photo_transformation_state_impl_type_id__volatile = 0; + if (g_once_init_enter (&photo_photo_transformation_state_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoPhotoTransformationStateImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_photo_transformation_state_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoPhotoTransformationStateImpl), 0, (GInstanceInitFunc) photo_photo_transformation_state_impl_instance_init, NULL }; + GType photo_photo_transformation_state_impl_type_id; + photo_photo_transformation_state_impl_type_id = g_type_register_static (TYPE_PHOTO_TRANSFORMATION_STATE, "PhotoPhotoTransformationStateImpl", &g_define_type_info, 0); + g_once_init_leave (&photo_photo_transformation_state_impl_type_id__volatile, photo_photo_transformation_state_impl_type_id); + } + return photo_photo_transformation_state_impl_type_id__volatile; +} + + +static PhotoBackingReaders* photo_backing_readers_construct (GType object_type) { + PhotoBackingReaders* self = NULL; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoBackingReaders*) g_type_create_instance (object_type); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 32146 "Photo.c" +} + + +static PhotoBackingReaders* photo_backing_readers_new (void) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_backing_readers_construct (PHOTO_TYPE_BACKING_READERS); +#line 32153 "Photo.c" +} + + +static void photo_value_backing_readers_init (GValue* value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32160 "Photo.c" +} + + +static void photo_value_backing_readers_free_value (GValue* value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_unref (value->data[0].v_pointer); +#line 32169 "Photo.c" + } +} + + +static void photo_value_backing_readers_copy_value (const GValue* src_value, GValue* dest_value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_backing_readers_ref (src_value->data[0].v_pointer); +#line 32179 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 32183 "Photo.c" + } +} + + +static gpointer photo_value_backing_readers_peek_pointer (const GValue* value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32191 "Photo.c" +} + + +static gchar* photo_value_backing_readers_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 32198 "Photo.c" + PhotoBackingReaders* object; + object = collect_values[0].v_pointer; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32205 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32209 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_backing_readers_ref (object); +#line 32213 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32217 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32221 "Photo.c" +} + + +static gchar* photo_value_backing_readers_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoBackingReaders** object_p; + object_p = collect_values[0].v_pointer; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 32232 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 32238 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 32242 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_backing_readers_ref (value->data[0].v_pointer); +#line 32246 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32250 "Photo.c" +} + + +static GParamSpec* photo_param_spec_backing_readers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecBackingReaders* spec; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_BACKING_READERS), NULL); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 32264 "Photo.c" +} + + +static gpointer photo_value_get_backing_readers (const GValue* value) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_BACKING_READERS), NULL); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32273 "Photo.c" +} + + +static void photo_value_set_backing_readers (GValue* value, gpointer v_object) { + PhotoBackingReaders* old; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_BACKING_READERS)); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_BACKING_READERS)); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_ref (value->data[0].v_pointer); +#line 32293 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32297 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_unref (old); +#line 32303 "Photo.c" + } +} + + +static void photo_value_take_backing_readers (GValue* value, gpointer v_object) { + PhotoBackingReaders* old; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_BACKING_READERS)); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_BACKING_READERS)); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 32322 "Photo.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32326 "Photo.c" + } +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_unref (old); +#line 32332 "Photo.c" + } +} + + +static void photo_backing_readers_class_init (PhotoBackingReadersClass * klass) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + photo_backing_readers_parent_class = g_type_class_peek_parent (klass); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoBackingReadersClass *) klass)->finalize = photo_backing_readers_finalize; +#line 32342 "Photo.c" +} + + +static void photo_backing_readers_instance_init (PhotoBackingReaders * self) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 32349 "Photo.c" +} + + +static void photo_backing_readers_finalize (PhotoBackingReaders* obj) { + PhotoBackingReaders * self; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_BACKING_READERS, PhotoBackingReaders); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 295 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (self->master); +#line 296 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (self->developer); +#line 297 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_file_adapter_unref0 (self->editable); +#line 32365 "Photo.c" +} + + +static GType photo_backing_readers_get_type (void) { + static volatile gsize photo_backing_readers_type_id__volatile = 0; + if (g_once_init_enter (&photo_backing_readers_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_backing_readers_init, photo_value_backing_readers_free_value, photo_value_backing_readers_copy_value, photo_value_backing_readers_peek_pointer, "p", photo_value_backing_readers_collect_value, "p", photo_value_backing_readers_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoBackingReadersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_backing_readers_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoBackingReaders), 0, (GInstanceInitFunc) photo_backing_readers_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_backing_readers_type_id; + photo_backing_readers_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoBackingReaders", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_backing_readers_type_id__volatile, photo_backing_readers_type_id); + } + return photo_backing_readers_type_id__volatile; +} + + +static gpointer photo_backing_readers_ref (gpointer instance) { + PhotoBackingReaders* self; + self = instance; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 32390 "Photo.c" +} + + +static void photo_backing_readers_unref (gpointer instance) { + PhotoBackingReaders* self; + self = instance; +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_BACKING_READERS_GET_CLASS (self)->finalize (self); +#line 294 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 32403 "Photo.c" + } +} + + +static PhotoCachedPixbuf* photo_cached_pixbuf_construct (GType object_type, Photo* photo, GdkPixbuf* pixbuf) { + PhotoCachedPixbuf* self = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoCachedPixbuf*) g_type_create_instance (object_type); +#line 306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 306 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->photo); +#line 306 "/home/jens/Source/shotwell/src/Photo.vala" + self->photo = _tmp1_; +#line 307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = pixbuf; +#line 307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 307 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->pixbuf); +#line 307 "/home/jens/Source/shotwell/src/Photo.vala" + self->pixbuf = _tmp3_; +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 32438 "Photo.c" +} + + +static PhotoCachedPixbuf* photo_cached_pixbuf_new (Photo* photo, GdkPixbuf* pixbuf) { +#line 305 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_cached_pixbuf_construct (PHOTO_TYPE_CACHED_PIXBUF, photo, pixbuf); +#line 32445 "Photo.c" +} + + +static void photo_value_cached_pixbuf_init (GValue* value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32452 "Photo.c" +} + + +static void photo_value_cached_pixbuf_free_value (GValue* value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_unref (value->data[0].v_pointer); +#line 32461 "Photo.c" + } +} + + +static void photo_value_cached_pixbuf_copy_value (const GValue* src_value, GValue* dest_value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_cached_pixbuf_ref (src_value->data[0].v_pointer); +#line 32471 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 32475 "Photo.c" + } +} + + +static gpointer photo_value_cached_pixbuf_peek_pointer (const GValue* value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32483 "Photo.c" +} + + +static gchar* photo_value_cached_pixbuf_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 32490 "Photo.c" + PhotoCachedPixbuf* object; + object = collect_values[0].v_pointer; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32497 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32501 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_cached_pixbuf_ref (object); +#line 32505 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32509 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32513 "Photo.c" +} + + +static gchar* photo_value_cached_pixbuf_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoCachedPixbuf** object_p; + object_p = collect_values[0].v_pointer; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 32524 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 32530 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 32534 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_cached_pixbuf_ref (value->data[0].v_pointer); +#line 32538 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32542 "Photo.c" +} + + +static GParamSpec* photo_param_spec_cached_pixbuf (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecCachedPixbuf* spec; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_CACHED_PIXBUF), NULL); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 32556 "Photo.c" +} + + +static gpointer photo_value_get_cached_pixbuf (const GValue* value) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_CACHED_PIXBUF), NULL); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32565 "Photo.c" +} + + +static void photo_value_set_cached_pixbuf (GValue* value, gpointer v_object) { + PhotoCachedPixbuf* old; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_CACHED_PIXBUF)); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_CACHED_PIXBUF)); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_ref (value->data[0].v_pointer); +#line 32585 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32589 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_unref (old); +#line 32595 "Photo.c" + } +} + + +static void photo_value_take_cached_pixbuf (GValue* value, gpointer v_object) { + PhotoCachedPixbuf* old; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_CACHED_PIXBUF)); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_CACHED_PIXBUF)); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 32614 "Photo.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32618 "Photo.c" + } +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_unref (old); +#line 32624 "Photo.c" + } +} + + +static void photo_cached_pixbuf_class_init (PhotoCachedPixbufClass * klass) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + photo_cached_pixbuf_parent_class = g_type_class_peek_parent (klass); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoCachedPixbufClass *) klass)->finalize = photo_cached_pixbuf_finalize; +#line 32634 "Photo.c" +} + + +static void photo_cached_pixbuf_instance_init (PhotoCachedPixbuf * self) { + GTimer* _tmp0_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_timer_new (); +#line 303 "/home/jens/Source/shotwell/src/Photo.vala" + self->last_touched = _tmp0_; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 32646 "Photo.c" +} + + +static void photo_cached_pixbuf_finalize (PhotoCachedPixbuf* obj) { + PhotoCachedPixbuf * self; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_CACHED_PIXBUF, PhotoCachedPixbuf); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 301 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->photo); +#line 302 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->pixbuf); +#line 303 "/home/jens/Source/shotwell/src/Photo.vala" + _g_timer_destroy0 (self->last_touched); +#line 32662 "Photo.c" +} + + +static GType photo_cached_pixbuf_get_type (void) { + static volatile gsize photo_cached_pixbuf_type_id__volatile = 0; + if (g_once_init_enter (&photo_cached_pixbuf_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_cached_pixbuf_init, photo_value_cached_pixbuf_free_value, photo_value_cached_pixbuf_copy_value, photo_value_cached_pixbuf_peek_pointer, "p", photo_value_cached_pixbuf_collect_value, "p", photo_value_cached_pixbuf_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoCachedPixbufClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_cached_pixbuf_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoCachedPixbuf), 0, (GInstanceInitFunc) photo_cached_pixbuf_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_cached_pixbuf_type_id; + photo_cached_pixbuf_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoCachedPixbuf", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_cached_pixbuf_type_id__volatile, photo_cached_pixbuf_type_id); + } + return photo_cached_pixbuf_type_id__volatile; +} + + +static gpointer photo_cached_pixbuf_ref (gpointer instance) { + PhotoCachedPixbuf* self; + self = instance; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 32687 "Photo.c" +} + + +static void photo_cached_pixbuf_unref (gpointer instance) { + PhotoCachedPixbuf* self; + self = instance; +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CACHED_PIXBUF_GET_CLASS (self)->finalize (self); +#line 300 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 32700 "Photo.c" + } +} + + +PhotoReimportMasterState* photo_reimport_master_state_construct (GType object_type) { + PhotoReimportMasterState* self = NULL; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportMasterState*) g_type_create_instance (object_type); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 32711 "Photo.c" +} + + +static void photo_value_reimport_master_state_init (GValue* value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32718 "Photo.c" +} + + +static void photo_value_reimport_master_state_free_value (GValue* value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_unref (value->data[0].v_pointer); +#line 32727 "Photo.c" + } +} + + +static void photo_value_reimport_master_state_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_reimport_master_state_ref (src_value->data[0].v_pointer); +#line 32737 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 32741 "Photo.c" + } +} + + +static gpointer photo_value_reimport_master_state_peek_pointer (const GValue* value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32749 "Photo.c" +} + + +static gchar* photo_value_reimport_master_state_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 32756 "Photo.c" + PhotoReimportMasterState* object; + object = collect_values[0].v_pointer; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32763 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 32767 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_reimport_master_state_ref (object); +#line 32771 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32775 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32779 "Photo.c" +} + + +static gchar* photo_value_reimport_master_state_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoReimportMasterState** object_p; + object_p = collect_values[0].v_pointer; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 32790 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 32796 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 32800 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_reimport_master_state_ref (value->data[0].v_pointer); +#line 32804 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 32808 "Photo.c" +} + + +GParamSpec* photo_param_spec_reimport_master_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecReimportMasterState* spec; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_REIMPORT_MASTER_STATE), NULL); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 32822 "Photo.c" +} + + +gpointer photo_value_get_reimport_master_state (const GValue* value) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_MASTER_STATE), NULL); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 32831 "Photo.c" +} + + +void photo_value_set_reimport_master_state (GValue* value, gpointer v_object) { + PhotoReimportMasterState* old; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_MASTER_STATE)); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_MASTER_STATE)); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_ref (value->data[0].v_pointer); +#line 32851 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32855 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_unref (old); +#line 32861 "Photo.c" + } +} + + +void photo_value_take_reimport_master_state (GValue* value, gpointer v_object) { + PhotoReimportMasterState* old; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_MASTER_STATE)); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_MASTER_STATE)); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 32880 "Photo.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 32884 "Photo.c" + } +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_unref (old); +#line 32890 "Photo.c" + } +} + + +static void photo_reimport_master_state_class_init (PhotoReimportMasterStateClass * klass) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_parent_class = g_type_class_peek_parent (klass); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportMasterStateClass *) klass)->finalize = photo_reimport_master_state_finalize; +#line 32900 "Photo.c" +} + + +static void photo_reimport_master_state_instance_init (PhotoReimportMasterState * self) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 32907 "Photo.c" +} + + +static void photo_reimport_master_state_finalize (PhotoReimportMasterState* obj) { + PhotoReimportMasterState * self; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 32917 "Photo.c" +} + + +GType photo_reimport_master_state_get_type (void) { + static volatile gsize photo_reimport_master_state_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_master_state_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_reimport_master_state_init, photo_value_reimport_master_state_free_value, photo_value_reimport_master_state_copy_value, photo_value_reimport_master_state_peek_pointer, "p", photo_value_reimport_master_state_collect_value, "p", photo_value_reimport_master_state_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportMasterStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_master_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportMasterState), 0, (GInstanceInitFunc) photo_reimport_master_state_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_reimport_master_state_type_id; + photo_reimport_master_state_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoReimportMasterState", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_reimport_master_state_type_id__volatile, photo_reimport_master_state_type_id); + } + return photo_reimport_master_state_type_id__volatile; +} + + +gpointer photo_reimport_master_state_ref (gpointer instance) { + PhotoReimportMasterState* self; + self = instance; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 32942 "Photo.c" +} + + +void photo_reimport_master_state_unref (gpointer instance) { + PhotoReimportMasterState* self; + self = instance; +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_MASTER_STATE_GET_CLASS (self)->finalize (self); +#line 1348 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 32955 "Photo.c" + } +} + + +static gchar** _vala_array_dup29 (gchar** self, int length) { + gchar** result; + int i; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + result = g_new0 (gchar*, length + 1); +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + for (i = 0; i < length; i++) { +#line 32967 "Photo.c" + gchar* _tmp0_ = NULL; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_strdup (self[i]); +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + result[i] = _tmp0_; +#line 32973 "Photo.c" + } +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 32977 "Photo.c" +} + + +static PhotoReimportMasterStateImpl* photo_reimport_master_state_impl_construct (GType object_type, PhotoRow* row, PhotoMetadata* metadata, gchar** alterations, int alterations_length1) { + PhotoReimportMasterStateImpl* self = NULL; + PhotoRow* _tmp0_ = NULL; + PhotoRow* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_ROW (row), NULL); +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata), NULL); +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportMasterStateImpl*) photo_reimport_master_state_construct (object_type); +#line 1358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = row; +#line 1358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _photo_row_ref0 (_tmp0_); +#line 1358 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 1358 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp1_; +#line 1359 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 1359 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _media_metadata_ref0 (_tmp2_); +#line 1359 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1359 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata = _tmp3_; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = alterations; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4__length1 = alterations_length1; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = (_tmp4_ != NULL) ? _vala_array_dup29 (_tmp4_, _tmp4__length1) : ((gpointer) _tmp4_); +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5__length1 = _tmp4__length1; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + self->alterations = (_vala_array_free (self->alterations, self->alterations_length1, (GDestroyNotify) g_free), NULL); +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + self->alterations = _tmp5_; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + self->alterations_length1 = _tmp5__length1; +#line 1360 "/home/jens/Source/shotwell/src/Photo.vala" + self->_alterations_size_ = self->alterations_length1; +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33031 "Photo.c" +} + + +static PhotoReimportMasterStateImpl* photo_reimport_master_state_impl_new (PhotoRow* row, PhotoMetadata* metadata, gchar** alterations, int alterations_length1) { +#line 1357 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_reimport_master_state_impl_construct (PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, row, metadata, alterations, alterations_length1); +#line 33038 "Photo.c" +} + + +static void photo_reimport_master_state_impl_class_init (PhotoReimportMasterStateImplClass * klass) { +#line 1351 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_master_state_impl_parent_class = g_type_class_peek_parent (klass); +#line 1351 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportMasterStateClass *) klass)->finalize = photo_reimport_master_state_impl_finalize; +#line 33047 "Photo.c" +} + + +static void photo_reimport_master_state_impl_instance_init (PhotoReimportMasterStateImpl * self) { + PhotoRow* _tmp0_ = NULL; +#line 1352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_row_new (); +#line 1352 "/home/jens/Source/shotwell/src/Photo.vala" + self->row = _tmp0_; +#line 1355 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata_only = FALSE; +#line 33059 "Photo.c" +} + + +static void photo_reimport_master_state_impl_finalize (PhotoReimportMasterState* obj) { + PhotoReimportMasterStateImpl * self; +#line 1351 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_MASTER_STATE_IMPL, PhotoReimportMasterStateImpl); +#line 1352 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 1353 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1354 "/home/jens/Source/shotwell/src/Photo.vala" + self->alterations = (_vala_array_free (self->alterations, self->alterations_length1, (GDestroyNotify) g_free), NULL); +#line 1351 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_MASTER_STATE_CLASS (photo_reimport_master_state_impl_parent_class)->finalize (obj); +#line 33075 "Photo.c" +} + + +static GType photo_reimport_master_state_impl_get_type (void) { + static volatile gsize photo_reimport_master_state_impl_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_master_state_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportMasterStateImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_master_state_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportMasterStateImpl), 0, (GInstanceInitFunc) photo_reimport_master_state_impl_instance_init, NULL }; + GType photo_reimport_master_state_impl_type_id; + photo_reimport_master_state_impl_type_id = g_type_register_static (PHOTO_TYPE_REIMPORT_MASTER_STATE, "PhotoReimportMasterStateImpl", &g_define_type_info, 0); + g_once_init_leave (&photo_reimport_master_state_impl_type_id__volatile, photo_reimport_master_state_impl_type_id); + } + return photo_reimport_master_state_impl_type_id__volatile; +} + + +PhotoReimportEditableState* photo_reimport_editable_state_construct (GType object_type) { + PhotoReimportEditableState* self = NULL; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportEditableState*) g_type_create_instance (object_type); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33097 "Photo.c" +} + + +static void photo_value_reimport_editable_state_init (GValue* value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33104 "Photo.c" +} + + +static void photo_value_reimport_editable_state_free_value (GValue* value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_unref (value->data[0].v_pointer); +#line 33113 "Photo.c" + } +} + + +static void photo_value_reimport_editable_state_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_reimport_editable_state_ref (src_value->data[0].v_pointer); +#line 33123 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 33127 "Photo.c" + } +} + + +static gpointer photo_value_reimport_editable_state_peek_pointer (const GValue* value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33135 "Photo.c" +} + + +static gchar* photo_value_reimport_editable_state_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 33142 "Photo.c" + PhotoReimportEditableState* object; + object = collect_values[0].v_pointer; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33149 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33153 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_reimport_editable_state_ref (object); +#line 33157 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33161 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33165 "Photo.c" +} + + +static gchar* photo_value_reimport_editable_state_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoReimportEditableState** object_p; + object_p = collect_values[0].v_pointer; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 33176 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 33182 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 33186 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_reimport_editable_state_ref (value->data[0].v_pointer); +#line 33190 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33194 "Photo.c" +} + + +GParamSpec* photo_param_spec_reimport_editable_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecReimportEditableState* spec; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_REIMPORT_EDITABLE_STATE), NULL); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 33208 "Photo.c" +} + + +gpointer photo_value_get_reimport_editable_state (const GValue* value) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_EDITABLE_STATE), NULL); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33217 "Photo.c" +} + + +void photo_value_set_reimport_editable_state (GValue* value, gpointer v_object) { + PhotoReimportEditableState* old; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_EDITABLE_STATE)); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_EDITABLE_STATE)); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_ref (value->data[0].v_pointer); +#line 33237 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33241 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_unref (old); +#line 33247 "Photo.c" + } +} + + +void photo_value_take_reimport_editable_state (GValue* value, gpointer v_object) { + PhotoReimportEditableState* old; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_EDITABLE_STATE)); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_EDITABLE_STATE)); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 33266 "Photo.c" + } else { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33270 "Photo.c" + } +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_unref (old); +#line 33276 "Photo.c" + } +} + + +static void photo_reimport_editable_state_class_init (PhotoReimportEditableStateClass * klass) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_parent_class = g_type_class_peek_parent (klass); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportEditableStateClass *) klass)->finalize = photo_reimport_editable_state_finalize; +#line 33286 "Photo.c" +} + + +static void photo_reimport_editable_state_instance_init (PhotoReimportEditableState * self) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 33293 "Photo.c" +} + + +static void photo_reimport_editable_state_finalize (PhotoReimportEditableState* obj) { + PhotoReimportEditableState * self; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 33303 "Photo.c" +} + + +GType photo_reimport_editable_state_get_type (void) { + static volatile gsize photo_reimport_editable_state_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_editable_state_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_reimport_editable_state_init, photo_value_reimport_editable_state_free_value, photo_value_reimport_editable_state_copy_value, photo_value_reimport_editable_state_peek_pointer, "p", photo_value_reimport_editable_state_collect_value, "p", photo_value_reimport_editable_state_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportEditableStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_editable_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportEditableState), 0, (GInstanceInitFunc) photo_reimport_editable_state_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_reimport_editable_state_type_id; + photo_reimport_editable_state_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoReimportEditableState", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_reimport_editable_state_type_id__volatile, photo_reimport_editable_state_type_id); + } + return photo_reimport_editable_state_type_id__volatile; +} + + +gpointer photo_reimport_editable_state_ref (gpointer instance) { + PhotoReimportEditableState* self; + self = instance; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 33328 "Photo.c" +} + + +void photo_reimport_editable_state_unref (gpointer instance) { + PhotoReimportEditableState* self; + self = instance; +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_EDITABLE_STATE_GET_CLASS (self)->finalize (self); +#line 1364 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 33341 "Photo.c" + } +} + + +static PhotoReimportEditableStateImpl* photo_reimport_editable_state_impl_construct (GType object_type, BackingPhotoRow* backing_state, PhotoMetadata* metadata) { + PhotoReimportEditableStateImpl* self = NULL; + BackingPhotoRow* _tmp0_ = NULL; + BackingPhotoRow* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_BACKING_PHOTO_ROW (backing_state), NULL); +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata), NULL); +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportEditableStateImpl*) photo_reimport_editable_state_construct (object_type); +#line 1373 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_state; +#line 1373 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _backing_photo_row_ref0 (_tmp0_); +#line 1373 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_state); +#line 1373 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_state = _tmp1_; +#line 1374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 1374 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _media_metadata_ref0 (_tmp2_); +#line 1374 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1374 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata = _tmp3_; +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33376 "Photo.c" +} + + +static PhotoReimportEditableStateImpl* photo_reimport_editable_state_impl_new (BackingPhotoRow* backing_state, PhotoMetadata* metadata) { +#line 1372 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_reimport_editable_state_impl_construct (PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, backing_state, metadata); +#line 33383 "Photo.c" +} + + +static void photo_reimport_editable_state_impl_class_init (PhotoReimportEditableStateImplClass * klass) { +#line 1367 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_editable_state_impl_parent_class = g_type_class_peek_parent (klass); +#line 1367 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportEditableStateClass *) klass)->finalize = photo_reimport_editable_state_impl_finalize; +#line 33392 "Photo.c" +} + + +static void photo_reimport_editable_state_impl_instance_init (PhotoReimportEditableStateImpl * self) { + BackingPhotoRow* _tmp0_ = NULL; +#line 1368 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_photo_row_new (); +#line 1368 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_state = _tmp0_; +#line 1370 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata_only = FALSE; +#line 33404 "Photo.c" +} + + +static void photo_reimport_editable_state_impl_finalize (PhotoReimportEditableState* obj) { + PhotoReimportEditableStateImpl * self; +#line 1367 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_EDITABLE_STATE_IMPL, PhotoReimportEditableStateImpl); +#line 1368 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_state); +#line 1369 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1367 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_EDITABLE_STATE_CLASS (photo_reimport_editable_state_impl_parent_class)->finalize (obj); +#line 33418 "Photo.c" +} + + +static GType photo_reimport_editable_state_impl_get_type (void) { + static volatile gsize photo_reimport_editable_state_impl_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_editable_state_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportEditableStateImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_editable_state_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportEditableStateImpl), 0, (GInstanceInitFunc) photo_reimport_editable_state_impl_instance_init, NULL }; + GType photo_reimport_editable_state_impl_type_id; + photo_reimport_editable_state_impl_type_id = g_type_register_static (PHOTO_TYPE_REIMPORT_EDITABLE_STATE, "PhotoReimportEditableStateImpl", &g_define_type_info, 0); + g_once_init_leave (&photo_reimport_editable_state_impl_type_id__volatile, photo_reimport_editable_state_impl_type_id); + } + return photo_reimport_editable_state_impl_type_id__volatile; +} + + +PhotoReimportRawDevelopmentState* photo_reimport_raw_development_state_construct (GType object_type) { + PhotoReimportRawDevelopmentState* self = NULL; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportRawDevelopmentState*) g_type_create_instance (object_type); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33440 "Photo.c" +} + + +static void photo_value_reimport_raw_development_state_init (GValue* value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33447 "Photo.c" +} + + +static void photo_value_reimport_raw_development_state_free_value (GValue* value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_unref (value->data[0].v_pointer); +#line 33456 "Photo.c" + } +} + + +static void photo_value_reimport_raw_development_state_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_reimport_raw_development_state_ref (src_value->data[0].v_pointer); +#line 33466 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 33470 "Photo.c" + } +} + + +static gpointer photo_value_reimport_raw_development_state_peek_pointer (const GValue* value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33478 "Photo.c" +} + + +static gchar* photo_value_reimport_raw_development_state_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 33485 "Photo.c" + PhotoReimportRawDevelopmentState* object; + object = collect_values[0].v_pointer; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33492 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33496 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_reimport_raw_development_state_ref (object); +#line 33500 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33504 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33508 "Photo.c" +} + + +static gchar* photo_value_reimport_raw_development_state_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoReimportRawDevelopmentState** object_p; + object_p = collect_values[0].v_pointer; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 33519 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 33525 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 33529 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_reimport_raw_development_state_ref (value->data[0].v_pointer); +#line 33533 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33537 "Photo.c" +} + + +GParamSpec* photo_param_spec_reimport_raw_development_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoParamSpecReimportRawDevelopmentState* spec; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE), NULL); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 33551 "Photo.c" +} + + +gpointer photo_value_get_reimport_raw_development_state (const GValue* value) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE), NULL); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33560 "Photo.c" +} + + +void photo_value_set_reimport_raw_development_state (GValue* value, gpointer v_object) { + PhotoReimportRawDevelopmentState* old; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_ref (value->data[0].v_pointer); +#line 33580 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33584 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_unref (old); +#line 33590 "Photo.c" + } +} + + +void photo_value_take_reimport_raw_development_state (GValue* value, gpointer v_object) { + PhotoReimportRawDevelopmentState* old; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 33609 "Photo.c" + } else { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33613 "Photo.c" + } +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_unref (old); +#line 33619 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_class_init (PhotoReimportRawDevelopmentStateClass * klass) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_parent_class = g_type_class_peek_parent (klass); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportRawDevelopmentStateClass *) klass)->finalize = photo_reimport_raw_development_state_finalize; +#line 33629 "Photo.c" +} + + +static void photo_reimport_raw_development_state_instance_init (PhotoReimportRawDevelopmentState * self) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 33636 "Photo.c" +} + + +static void photo_reimport_raw_development_state_finalize (PhotoReimportRawDevelopmentState* obj) { + PhotoReimportRawDevelopmentState * self; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentState); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 33646 "Photo.c" +} + + +GType photo_reimport_raw_development_state_get_type (void) { + static volatile gsize photo_reimport_raw_development_state_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_raw_development_state_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_value_reimport_raw_development_state_init, photo_value_reimport_raw_development_state_free_value, photo_value_reimport_raw_development_state_copy_value, photo_value_reimport_raw_development_state_peek_pointer, "p", photo_value_reimport_raw_development_state_collect_value, "p", photo_value_reimport_raw_development_state_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportRawDevelopmentStateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_raw_development_state_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportRawDevelopmentState), 0, (GInstanceInitFunc) photo_reimport_raw_development_state_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_reimport_raw_development_state_type_id; + photo_reimport_raw_development_state_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoReimportRawDevelopmentState", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_reimport_raw_development_state_type_id__volatile, photo_reimport_raw_development_state_type_id); + } + return photo_reimport_raw_development_state_type_id__volatile; +} + + +gpointer photo_reimport_raw_development_state_ref (gpointer instance) { + PhotoReimportRawDevelopmentState* self; + self = instance; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 33671 "Photo.c" +} + + +void photo_reimport_raw_development_state_unref (gpointer instance) { + PhotoReimportRawDevelopmentState* self; + self = instance; +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_GET_CLASS (self)->finalize (self); +#line 1378 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 33684 "Photo.c" + } +} + + +static PhotoReimportRawDevelopmentStateImpl* photo_reimport_raw_development_state_impl_construct (GType object_type) { + PhotoReimportRawDevelopmentStateImpl* self = NULL; +#line 1395 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportRawDevelopmentStateImpl*) photo_reimport_raw_development_state_construct (object_type); +#line 1395 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33695 "Photo.c" +} + + +static PhotoReimportRawDevelopmentStateImpl* photo_reimport_raw_development_state_impl_new (void) { +#line 1395 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_reimport_raw_development_state_impl_construct (PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL); +#line 33702 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_add (PhotoReimportRawDevelopmentStateImpl* self, BackingPhotoRow* backing, PhotoMetadata* metadata) { + GeeCollection* _tmp0_ = NULL; + BackingPhotoRow* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoReimportRawDevelopmentStateImplDevToReimport* _tmp3_ = NULL; + PhotoReimportRawDevelopmentStateImplDevToReimport* _tmp4_ = NULL; +#line 1398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL (self)); +#line 1398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (backing)); +#line 1398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->list; +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = backing; +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_reimport_raw_development_state_impl_dev_to_reimport_new (_tmp1_, _tmp2_); +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp0_, _tmp4_); +#line 1399 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_reimport_raw_development_state_impl_dev_to_reimport_unref0 (_tmp4_); +#line 33732 "Photo.c" +} + + +static gint photo_reimport_raw_development_state_impl_get_size (PhotoReimportRawDevelopmentStateImpl* self) { + gint result = 0; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 1402 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL (self), 0); +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->list; +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 1403 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 33753 "Photo.c" +} + + +static PhotoReimportRawDevelopmentStateImplDevToReimport* photo_reimport_raw_development_state_impl_dev_to_reimport_construct (GType object_type, BackingPhotoRow* backing, PhotoMetadata* metadata) { + PhotoReimportRawDevelopmentStateImplDevToReimport* self = NULL; + BackingPhotoRow* _tmp0_ = NULL; + BackingPhotoRow* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_BACKING_PHOTO_ROW (backing), NULL); +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata), NULL); +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + self = (PhotoReimportRawDevelopmentStateImplDevToReimport*) g_type_create_instance (object_type); +#line 1387 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing; +#line 1387 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _backing_photo_row_ref0 (_tmp0_); +#line 1387 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing); +#line 1387 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing = _tmp1_; +#line 1388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 1388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _media_metadata_ref0 (_tmp2_); +#line 1388 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 1388 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata = _tmp3_; +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 33787 "Photo.c" +} + + +static PhotoReimportRawDevelopmentStateImplDevToReimport* photo_reimport_raw_development_state_impl_dev_to_reimport_new (BackingPhotoRow* backing, PhotoMetadata* metadata) { +#line 1386 "/home/jens/Source/shotwell/src/Photo.vala" + return photo_reimport_raw_development_state_impl_dev_to_reimport_construct (PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, backing, metadata); +#line 33794 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_value_dev_to_reimport_init (GValue* value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33801 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_value_dev_to_reimport_free_value (GValue* value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (value->data[0].v_pointer) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_unref (value->data[0].v_pointer); +#line 33810 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_impl_value_dev_to_reimport_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (src_value->data[0].v_pointer) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = photo_reimport_raw_development_state_impl_dev_to_reimport_ref (src_value->data[0].v_pointer); +#line 33820 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + dest_value->data[0].v_pointer = NULL; +#line 33824 "Photo.c" + } +} + + +static gpointer photo_reimport_raw_development_state_impl_value_dev_to_reimport_peek_pointer (const GValue* value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33832 "Photo.c" +} + + +static gchar* photo_reimport_raw_development_state_impl_value_dev_to_reimport_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (collect_values[0].v_pointer) { +#line 33839 "Photo.c" + PhotoReimportRawDevelopmentStateImplDevToReimport* object; + object = collect_values[0].v_pointer; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (object->parent_instance.g_class == NULL) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33846 "Photo.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 33850 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = photo_reimport_raw_development_state_impl_dev_to_reimport_ref (object); +#line 33854 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33858 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33862 "Photo.c" +} + + +static gchar* photo_reimport_raw_development_state_impl_value_dev_to_reimport_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoReimportRawDevelopmentStateImplDevToReimport** object_p; + object_p = collect_values[0].v_pointer; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (!object_p) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 33873 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (!value->data[0].v_pointer) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = NULL; +#line 33879 "Photo.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = value->data[0].v_pointer; +#line 33883 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + *object_p = photo_reimport_raw_development_state_impl_dev_to_reimport_ref (value->data[0].v_pointer); +#line 33887 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 33891 "Photo.c" +} + + +static GParamSpec* photo_reimport_raw_development_state_impl_param_spec_dev_to_reimport (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PhotoReimportRawDevelopmentStateImplParamSpecDevToReimport* spec; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (g_type_is_a (object_type, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT), NULL); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return G_PARAM_SPEC (spec); +#line 33905 "Photo.c" +} + + +static gpointer photo_reimport_raw_development_state_impl_value_get_dev_to_reimport (const GValue* value) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT), NULL); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return value->data[0].v_pointer; +#line 33914 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_value_set_dev_to_reimport (GValue* value, gpointer v_object) { + PhotoReimportRawDevelopmentStateImplDevToReimport* old; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_ref (value->data[0].v_pointer); +#line 33934 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33938 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_unref (old); +#line 33944 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_impl_value_take_dev_to_reimport (GValue* value, gpointer v_object) { + PhotoReimportRawDevelopmentStateImplDevToReimport* old; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + old = value->data[0].v_pointer; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (v_object) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT)); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = v_object; +#line 33963 "Photo.c" + } else { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + value->data[0].v_pointer = NULL; +#line 33967 "Photo.c" + } +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (old) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_unref (old); +#line 33973 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_impl_dev_to_reimport_class_init (PhotoReimportRawDevelopmentStateImplDevToReimportClass * klass) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_dev_to_reimport_parent_class = g_type_class_peek_parent (klass); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportRawDevelopmentStateImplDevToReimportClass *) klass)->finalize = photo_reimport_raw_development_state_impl_dev_to_reimport_finalize; +#line 33983 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_dev_to_reimport_instance_init (PhotoReimportRawDevelopmentStateImplDevToReimport * self) { + BackingPhotoRow* _tmp0_ = NULL; +#line 1383 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_photo_row_new (); +#line 1383 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing = _tmp0_; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + self->ref_count = 1; +#line 33995 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_dev_to_reimport_finalize (PhotoReimportRawDevelopmentStateImplDevToReimport* obj) { + PhotoReimportRawDevelopmentStateImplDevToReimport * self; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, PhotoReimportRawDevelopmentStateImplDevToReimport); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_destroy (self); +#line 1383 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing); +#line 1384 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (self->metadata); +#line 34009 "Photo.c" +} + + +GType photo_reimport_raw_development_state_impl_dev_to_reimport_get_type (void) { + static volatile gsize photo_reimport_raw_development_state_impl_dev_to_reimport_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_raw_development_state_impl_dev_to_reimport_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { photo_reimport_raw_development_state_impl_value_dev_to_reimport_init, photo_reimport_raw_development_state_impl_value_dev_to_reimport_free_value, photo_reimport_raw_development_state_impl_value_dev_to_reimport_copy_value, photo_reimport_raw_development_state_impl_value_dev_to_reimport_peek_pointer, "p", photo_reimport_raw_development_state_impl_value_dev_to_reimport_collect_value, "p", photo_reimport_raw_development_state_impl_value_dev_to_reimport_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportRawDevelopmentStateImplDevToReimportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_raw_development_state_impl_dev_to_reimport_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportRawDevelopmentStateImplDevToReimport), 0, (GInstanceInitFunc) photo_reimport_raw_development_state_impl_dev_to_reimport_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_reimport_raw_development_state_impl_dev_to_reimport_type_id; + photo_reimport_raw_development_state_impl_dev_to_reimport_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoReimportRawDevelopmentStateImplDevToReimport", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_reimport_raw_development_state_impl_dev_to_reimport_type_id__volatile, photo_reimport_raw_development_state_impl_dev_to_reimport_type_id); + } + return photo_reimport_raw_development_state_impl_dev_to_reimport_type_id__volatile; +} + + +static gpointer photo_reimport_raw_development_state_impl_dev_to_reimport_ref (gpointer instance) { + PhotoReimportRawDevelopmentStateImplDevToReimport* self; + self = instance; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_atomic_int_inc (&self->ref_count); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + return instance; +#line 34034 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_dev_to_reimport_unref (gpointer instance) { + PhotoReimportRawDevelopmentStateImplDevToReimport* self; + self = instance; +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_DEV_TO_REIMPORT_GET_CLASS (self)->finalize (self); +#line 1382 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 34047 "Photo.c" + } +} + + +static void photo_reimport_raw_development_state_impl_class_init (PhotoReimportRawDevelopmentStateImplClass * klass) { +#line 1381 "/home/jens/Source/shotwell/src/Photo.vala" + photo_reimport_raw_development_state_impl_parent_class = g_type_class_peek_parent (klass); +#line 1381 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoReimportRawDevelopmentStateClass *) klass)->finalize = photo_reimport_raw_development_state_impl_finalize; +#line 34057 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_instance_init (PhotoReimportRawDevelopmentStateImpl * self) { + GeeArrayList* _tmp0_ = NULL; +#line 1392 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_array_list_new (PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL_TYPE_DEV_TO_REIMPORT, (GBoxedCopyFunc) photo_reimport_raw_development_state_impl_dev_to_reimport_ref, photo_reimport_raw_development_state_impl_dev_to_reimport_unref, NULL, NULL, NULL); +#line 1392 "/home/jens/Source/shotwell/src/Photo.vala" + self->list = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1393 "/home/jens/Source/shotwell/src/Photo.vala" + self->metadata_only = FALSE; +#line 34069 "Photo.c" +} + + +static void photo_reimport_raw_development_state_impl_finalize (PhotoReimportRawDevelopmentState* obj) { + PhotoReimportRawDevelopmentStateImpl * self; +#line 1381 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE_IMPL, PhotoReimportRawDevelopmentStateImpl); +#line 1392 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->list); +#line 1381 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS (photo_reimport_raw_development_state_impl_parent_class)->finalize (obj); +#line 34081 "Photo.c" +} + + +static GType photo_reimport_raw_development_state_impl_get_type (void) { + static volatile gsize photo_reimport_raw_development_state_impl_type_id__volatile = 0; + if (g_once_init_enter (&photo_reimport_raw_development_state_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoReimportRawDevelopmentStateImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_reimport_raw_development_state_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoReimportRawDevelopmentStateImpl), 0, (GInstanceInitFunc) photo_reimport_raw_development_state_impl_instance_init, NULL }; + GType photo_reimport_raw_development_state_impl_type_id; + photo_reimport_raw_development_state_impl_type_id = g_type_register_static (PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, "PhotoReimportRawDevelopmentStateImpl", &g_define_type_info, 0); + g_once_init_leave (&photo_reimport_raw_development_state_impl_type_id__volatile, photo_reimport_raw_development_state_impl_type_id); + } + return photo_reimport_raw_development_state_impl_type_id__volatile; +} + + +static void photo_class_init (PhotoClass * klass) { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + photo_parent_class = g_type_class_peek_parent (klass); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (PhotoPrivate)); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_editable_replaced = photo_real_notify_editable_replaced; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_raw_development_modified = photo_real_notify_raw_development_modified; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_baseline_replaced = photo_real_notify_baseline_replaced; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_master_reimported = photo_real_notify_master_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_editable_reimported = photo_real_notify_editable_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_source_reimported = photo_real_notify_source_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_baseline_reimported = photo_real_notify_baseline_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->internal_delete_backing = photo_real_internal_delete_backing; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_backing_files_state = photo_real_get_backing_files_state; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->apply_user_metadata_for_reimport = photo_real_apply_user_metadata_for_reimport; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->get_typename = photo_real_get_typename; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->get_instance_id = photo_real_get_instance_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->get_source_id = photo_real_get_source_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((ThumbnailSourceClass *) klass)->get_preferred_thumbnail_format = photo_real_get_preferred_thumbnail_format; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((ThumbnailSourceClass *) klass)->create_thumbnail = photo_real_create_thumbnail; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_file = photo_real_get_file; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_master_file = photo_real_get_master_file; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_timestamp = photo_real_get_timestamp; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_event_id = photo_real_get_event_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_import_id = photo_real_get_import_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_master_md5 = photo_real_get_master_md5; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_rating = photo_real_get_rating; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->set_rating = photo_real_set_rating; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->increase_rating = photo_real_increase_rating; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->decrease_rating = photo_real_decrease_rating; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->commit_backlinks = photo_real_commit_backlinks; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->set_event_id = photo_real_set_event_id; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataObjectClass *) klass)->to_string = photo_real_to_string; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->equals = photo_real_equals; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_filesize = photo_real_get_filesize; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_master_filesize = photo_real_get_master_filesize; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_exposure_time = photo_real_get_exposure_time; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_basename = photo_real_get_basename; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_title = photo_real_get_title; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_comment = photo_real_get_comment; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->set_title = photo_real_set_title; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->set_comment = photo_real_set_comment; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_dimensions = photo_real_get_dimensions; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoSourceClass *) klass)->get_metadata = photo_real_get_metadata; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->rotate = photo_real_rotate; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoSourceClass *) klass)->get_pixbuf = photo_real_get_pixbuf; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->has_user_generated_metadata = photo_real_has_user_generated_metadata; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->set_user_metadata_for_export = photo_real_set_user_metadata_for_export; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->editable_replaced = photo_real_editable_replaced; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->raw_development_modified = photo_real_raw_development_modified; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->baseline_replaced = photo_real_baseline_replaced; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->master_reimported = photo_real_master_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->editable_reimported = photo_real_editable_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->baseline_reimported = photo_real_baseline_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->source_reimported = photo_real_source_reimported; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_photo_get_property; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_photo_set_property; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->finalize = photo_finalize; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("editable_replaced", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, editable_replaced), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, G_TYPE_FILE, G_TYPE_FILE); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("raw_development_modified", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, raw_development_modified), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("baseline_replaced", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, baseline_replaced), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("master_reimported", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, master_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__MEDIA_METADATA, G_TYPE_NONE, 1, TYPE_PHOTO_METADATA); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("editable_reimported", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, editable_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__MEDIA_METADATA, G_TYPE_NONE, 1, TYPE_PHOTO_METADATA); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("baseline_reimported", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, baseline_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__MEDIA_METADATA, G_TYPE_NONE, 1, TYPE_PHOTO_METADATA); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("source_reimported", TYPE_PHOTO, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (PhotoClass, source_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__MEDIA_METADATA, G_TYPE_NONE, 1, TYPE_PHOTO_METADATA); +#line 326 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_init (&__lock_photo_source_pixbuf_cache); +#line 34224 "Photo.c" +} + + +static void photo_dateable_interface_init (DateableIface * iface) { +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + photo_dateable_parent_iface = g_type_interface_peek_parent (iface); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + iface->get_exposure_time = (time_t (*)(Dateable*)) photo_real_get_exposure_time; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + iface->set_exposure_time = (void (*)(Dateable*, time_t)) photo_real_set_exposure_time; +#line 34235 "Photo.c" +} + + +static void photo_instance_init (Photo * self) { + BackingPhotoRow* _tmp0_ = NULL; + PhotoBackingReaders* _tmp1_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = PHOTO_GET_PRIVATE (self); +#line 331 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_init (&self->priv->__lock_row); +#line 332 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backing_photo_row_new (); +#line 332 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable = _tmp0_; +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_init (&self->priv->__lock_readers); +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_backing_readers_new (); +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->readers = _tmp1_; +#line 334 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->transformer = NULL; +#line 335 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->adjustments = NULL; +#line 337 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->file_title = NULL; +#line 338 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable_monitor = NULL; +#line 339 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->reimport_editable_scheduler = NULL; +#line 340 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->update_editable_attributes_scheduler = NULL; +#line 341 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->remove_editable_scheduler = NULL; +#line 343 "/home/jens/Source/shotwell/src/Photo.vala" + self->can_rotate_now = TRUE; +#line 346 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_init (&self->priv->__lock_developments); +#line 346 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->developments = NULL; +#line 353 "/home/jens/Source/shotwell/src/Photo.vala" + self->backing_photo_row = NULL; +#line 34278 "Photo.c" +} + + +static void photo_finalize (GObject* obj) { + Photo * self; +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO, Photo); +#line 331 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_clear (&self->priv->__lock_row); +#line 331 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (self->row); +#line 332 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->priv->editable); +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_clear (&self->priv->__lock_readers); +#line 333 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_backing_readers_unref0 (self->priv->readers); +#line 334 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 335 "/home/jens/Source/shotwell/src/Photo.vala" + _pixel_transformation_bundle_unref0 (self->priv->adjustments); +#line 337 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (self->priv->file_title); +#line 338 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->editable_monitor); +#line 339 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->reimport_editable_scheduler); +#line 340 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->update_editable_attributes_scheduler); +#line 341 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->remove_editable_scheduler); +#line 346 "/home/jens/Source/shotwell/src/Photo.vala" + g_rec_mutex_clear (&self->priv->__lock_developments); +#line 346 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->developments); +#line 353 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (self->backing_photo_row); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (photo_parent_class)->finalize (obj); +#line 34318 "Photo.c" +} + + +GType photo_get_type (void) { + static volatile gsize photo_type_id__volatile = 0; + if (g_once_init_enter (&photo_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Photo), 0, (GInstanceInitFunc) photo_instance_init, NULL }; + static const GInterfaceInfo dateable_info = { (GInterfaceInitFunc) photo_dateable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType photo_type_id; + photo_type_id = g_type_register_static (TYPE_PHOTO_SOURCE, "Photo", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (photo_type_id, TYPE_DATEABLE, &dateable_info); + g_once_init_leave (&photo_type_id__volatile, photo_type_id); + } + return photo_type_id__volatile; +} + + +static void _vala_photo_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + Photo * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_PHOTO, Photo); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + switch (property_id) { +#line 34341 "Photo.c" + default: +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34347 "Photo.c" + } +} + + +static void _vala_photo_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + Photo * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_PHOTO, Photo); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + switch (property_id) { +#line 34357 "Photo.c" + default: +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 161 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34363 "Photo.c" + } +} + + +GType library_photo_source_collection_state_get_type (void) { + static volatile gsize library_photo_source_collection_state_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_source_collection_state_type_id__volatile)) { + static const GEnumValue values[] = {{LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN", "unknown"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE", "online"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE", "offline"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH", "trash"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE", "editable"}, {LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER, "LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER", "developer"}, {0, NULL, NULL}}; + GType library_photo_source_collection_state_type_id; + library_photo_source_collection_state_type_id = g_enum_register_static ("LibraryPhotoSourceCollectionState", values); + g_once_init_leave (&library_photo_source_collection_state_type_id__volatile, library_photo_source_collection_state_type_id); + } + return library_photo_source_collection_state_type_id__volatile; +} + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34385 "Photo.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34394 "Photo.c" +} + + +static gint _int64_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = int64_compare ((gint64*) a, (gint64*) b); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34403 "Photo.c" +} + + +static gint64* _int64_dup (gint64* self) { + gint64* dup; +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + dup = g_new0 (gint64, 1); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + memcpy (dup, self, sizeof (gint64)); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + return dup; +#line 34415 "Photo.c" +} + + +static gboolean _int64_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = int64_equal ((gint64*) a, (gint64*) b); +#line 4468 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34424 "Photo.c" +} + + +static gint64 _photo_get_photo_key_get_source_database_key (DataSource* source, gpointer self) { + gint64 result; + result = photo_get_photo_key (source); +#line 4488 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34433 "Photo.c" +} + + +static void _library_photo_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_on_trashcan_contents_altered ((LibraryPhotoSourceCollection*) self, added, removed); +#line 34440 "Photo.c" +} + + +static void _library_photo_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_on_offline_contents_altered ((LibraryPhotoSourceCollection*) self, added, removed); +#line 34447 "Photo.c" +} + + +LibraryPhotoSourceCollection* library_photo_source_collection_construct (GType object_type) { + LibraryPhotoSourceCollection* self = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + MediaSourceHoldingTank* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; +#line 4488 "/home/jens/Source/shotwell/src/Photo.vala" + self = (LibraryPhotoSourceCollection*) media_source_collection_construct (object_type, "LibraryPhotoSourceCollection", _photo_get_photo_key_get_source_database_key, NULL); +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), "contents-altered", (GCallback) _library_photo_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered, self); +#line 4490 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), "contents-altered", (GCallback) _library_photo_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered, self); +#line 4491 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp3_); +#line 4487 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 34477 "Photo.c" +} + + +LibraryPhotoSourceCollection* library_photo_source_collection_new (void) { +#line 4487 "/home/jens/Source/shotwell/src/Photo.vala" + return library_photo_source_collection_construct (TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION); +#line 34484 "Photo.c" +} + + +static gboolean _library_photo_source_collection_check_if_trashed_photo_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self) { + gboolean result; + result = library_photo_source_collection_check_if_trashed_photo ((LibraryPhotoSourceCollection*) self, source, alteration); +#line 4495 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34493 "Photo.c" +} + + +static MediaSourceHoldingTank* library_photo_source_collection_real_create_trashcan (MediaSourceCollection* base) { + LibraryPhotoSourceCollection * self; + MediaSourceHoldingTank* result = NULL; + LibraryPhotoSourceHoldingTank* _tmp0_ = NULL; +#line 4494 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4495 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = library_photo_source_holding_tank_new (self, _library_photo_source_collection_check_if_trashed_photo_source_holding_tank_check_to_keep, self, _photo_get_photo_key_get_source_database_key, NULL); +#line 4495 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank); +#line 4495 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34509 "Photo.c" +} + + +static gboolean _library_photo_source_collection_check_if_offline_photo_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self) { + gboolean result; + result = library_photo_source_collection_check_if_offline_photo ((LibraryPhotoSourceCollection*) self, source, alteration); +#line 4499 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34518 "Photo.c" +} + + +static MediaSourceHoldingTank* library_photo_source_collection_real_create_offline_bin (MediaSourceCollection* base) { + LibraryPhotoSourceCollection * self; + MediaSourceHoldingTank* result = NULL; + LibraryPhotoSourceHoldingTank* _tmp0_ = NULL; +#line 4498 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4499 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = library_photo_source_holding_tank_new (self, _library_photo_source_collection_check_if_offline_photo_source_holding_tank_check_to_keep, self, _photo_get_photo_key_get_source_database_key, NULL); +#line 4499 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank); +#line 4499 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34534 "Photo.c" +} + + +static MediaMonitor* library_photo_source_collection_real_create_media_monitor (MediaSourceCollection* base, Workers* workers, GCancellable* cancellable) { + LibraryPhotoSourceCollection * self; + MediaMonitor* result = NULL; + Workers* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; + PhotoMonitor* _tmp2_ = NULL; +#line 4502 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4502 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_WORKERS (workers), NULL); +#line 4502 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = workers; +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = cancellable; +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_monitor_new (_tmp0_, _tmp1_); +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_MONITOR, MediaMonitor); +#line 4503 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34560 "Photo.c" +} + + +static gboolean library_photo_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source) { + LibraryPhotoSourceCollection * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 4506 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4506 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 4507 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 4507 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO); +#line 4507 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34578 "Photo.c" +} + + +static gchar* library_photo_source_collection_real_get_typename (MediaSourceCollection* base) { + LibraryPhotoSourceCollection * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 4510 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4511 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = g_strdup (PHOTO_TYPENAME); +#line 4511 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 4511 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34594 "Photo.c" +} + + +static gboolean library_photo_source_collection_real_is_file_recognized (MediaSourceCollection* base, GFile* file) { + LibraryPhotoSourceCollection * self; + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 4514 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4514 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 4515 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 4515 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_file_format_is_file_supported (_tmp0_); +#line 4515 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 4515 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 34615 "Photo.c" +} + + +static void _library_photo_source_collection_on_editable_replaced_photo_editable_replaced (Photo* _sender, GFile* old_file, GFile* new_file, gpointer self) { +#line 4527 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_on_editable_replaced ((LibraryPhotoSourceCollection*) self, _sender, old_file, new_file); +#line 34622 "Photo.c" +} + + +static void _library_photo_source_collection_on_raw_development_modified_photo_raw_development_modified (Photo* _sender, gpointer self) { +#line 4533 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_on_raw_development_modified ((LibraryPhotoSourceCollection*) self, _sender); +#line 34629 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed) { + LibraryPhotoSourceCollection * self; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp75_ = NULL; + GeeIterable* _tmp153_ = NULL; + GeeIterable* _tmp154_ = NULL; +#line 4518 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4518 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 4518 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 4520 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = added; +#line 4520 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 34649 "Photo.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = added; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _object_it = _tmp2_; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 34662 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + LibraryPhoto* photo = NULL; + DataObject* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + GFile* editable = NULL; + LibraryPhoto* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + LibraryPhoto* _tmp15_ = NULL; + GeeCollection* raw_list = NULL; + LibraryPhoto* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + LibraryPhoto* _tmp28_ = NULL; + gint64 master_filesize = 0LL; + LibraryPhoto* _tmp29_ = NULL; + BackingPhotoRow* _tmp30_ = NULL; + BackingPhotoRow* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + gint64 _tmp33_ = 0LL; + gint64 _tmp34_ = 0LL; + LibraryPhoto* _tmp35_ = NULL; + BackingPhotoRow* _tmp36_ = NULL; + BackingPhotoRow* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + gint64 editable_filesize = 0LL; + GeeMultiMap* _tmp43_ = NULL; + gint64 _tmp44_ = 0LL; + LibraryPhoto* _tmp45_ = NULL; + GeeHashMap* _tmp46_ = NULL; + LibraryPhoto* _tmp47_ = NULL; + gint64 _tmp48_ = 0LL; + gint64 _tmp49_ = 0LL; + GeeCollection* raw_rows = NULL; + LibraryPhoto* _tmp56_ = NULL; + GeeCollection* _tmp57_ = NULL; + GeeCollection* _tmp58_ = NULL; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _object_it; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34712 "Photo.c" + } +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _object_it; +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + object = (DataObject*) _tmp6_; +#line 4522 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = object; +#line 4522 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4522 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp8_; +#line 4524 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo; +#line 4524 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PHOTO, Photo)); +#line 4524 "/home/jens/Source/shotwell/src/Photo.vala" + editable = _tmp10_; +#line 4525 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = editable; +#line 4525 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != NULL) { +#line 34736 "Photo.c" + GeeHashMap* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; +#line 4526 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = self->priv->by_editable_file; +#line 4526 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = editable; +#line 4526 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo; +#line 4526 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_, _tmp14_); +#line 34748 "Photo.c" + } +#line 4527 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo; +#line 4527 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PHOTO, Photo), "editable-replaced", (GCallback) _library_photo_source_collection_on_editable_replaced_photo_editable_replaced, self); +#line 4529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo; +#line 4529 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PHOTO, Photo)); +#line 4529 "/home/jens/Source/shotwell/src/Photo.vala" + raw_list = _tmp17_; +#line 4530 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = raw_list; +#line 4530 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp18_ != NULL) { +#line 34764 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = raw_list; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp20_; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 34777 "Photo.c" + GeeIterator* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + GeeHashMap* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + LibraryPhoto* _tmp27_ = NULL; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _f_it; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = gee_iterator_next (_tmp21_); +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp22_) { +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34794 "Photo.c" + } +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = _f_it; +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = gee_iterator_get (_tmp23_); +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp24_; +#line 4532 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = self->priv->by_raw_development_file; +#line 4532 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = f; +#line 4532 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = photo; +#line 4532 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp26_, _tmp27_); +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 34812 "Photo.c" + } +#line 4531 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 34816 "Photo.c" + } + } +#line 4533 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = photo; +#line 4533 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_PHOTO, Photo), "raw-development-modified", (GCallback) _library_photo_source_collection_on_raw_development_modified_photo_raw_development_modified, self); +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo; +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_PHOTO, Photo)); +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _tmp31_->filesize; +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_; +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp31_); +#line 4535 "/home/jens/Source/shotwell/src/Photo.vala" + master_filesize = _tmp33_; +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo; +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_PHOTO, Photo)); +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_ != NULL; +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp37_); +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp38_) { +#line 34849 "Photo.c" + LibraryPhoto* _tmp39_ = NULL; + BackingPhotoRow* _tmp40_ = NULL; + BackingPhotoRow* _tmp41_ = NULL; + gint64 _tmp42_ = 0LL; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_PHOTO, Photo)); +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = _tmp40_; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_->filesize; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = _tmp42_; +#line 4537 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp41_); +#line 34866 "Photo.c" + } else { +#line 4538 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = (gint64) -1; +#line 34870 "Photo.c" + } +#line 4536 "/home/jens/Source/shotwell/src/Photo.vala" + editable_filesize = _tmp34_; +#line 4539 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = self->priv->filesize_to_photo; +#line 4539 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = master_filesize; +#line 4539 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = photo; +#line 4539 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp43_, &_tmp44_, _tmp45_); +#line 4540 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = self->priv->photo_to_master_filesize; +#line 4540 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = photo; +#line 4540 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = master_filesize; +#line 4540 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp47_, &_tmp48_); +#line 4541 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = editable_filesize; +#line 4541 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_ >= ((gint64) 0)) { +#line 34894 "Photo.c" + GeeMultiMap* _tmp50_ = NULL; + gint64 _tmp51_ = 0LL; + LibraryPhoto* _tmp52_ = NULL; + GeeHashMap* _tmp53_ = NULL; + LibraryPhoto* _tmp54_ = NULL; + gint64 _tmp55_ = 0LL; +#line 4542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = self->priv->filesize_to_photo; +#line 4542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = editable_filesize; +#line 4542 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = photo; +#line 4542 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp50_, &_tmp51_, _tmp52_); +#line 4543 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = self->priv->photo_to_editable_filesize; +#line 4543 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = photo; +#line 4543 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = editable_filesize; +#line 4543 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp54_, &_tmp55_); +#line 34917 "Photo.c" + } +#line 4546 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo; +#line 4546 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_PHOTO, Photo)); +#line 4546 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rows = _tmp57_; +#line 4547 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = raw_rows; +#line 4547 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp58_ != NULL) { +#line 34929 "Photo.c" + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp59_ = NULL; + GeeIterator* _tmp60_ = NULL; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = raw_rows; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp60_; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 34942 "Photo.c" + GeeIterator* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp63_ = NULL; + gpointer _tmp64_ = NULL; + BackingPhotoRow* _tmp65_ = NULL; + gint64 _tmp66_ = 0LL; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _row_it; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = gee_iterator_next (_tmp61_); +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp62_) { +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 34958 "Photo.c" + } +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = _row_it; +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = gee_iterator_get (_tmp63_); +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp64_; +#line 4549 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = row; +#line 4549 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = _tmp65_->filesize; +#line 4549 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp66_ >= ((gint64) 0)) { +#line 34972 "Photo.c" + GeeMultiMap* _tmp67_ = NULL; + BackingPhotoRow* _tmp68_ = NULL; + gint64 _tmp69_ = 0LL; + LibraryPhoto* _tmp70_ = NULL; + GeeMultiMap* _tmp71_ = NULL; + LibraryPhoto* _tmp72_ = NULL; + BackingPhotoRow* _tmp73_ = NULL; + gint64 _tmp74_ = 0LL; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = self->priv->filesize_to_photo; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = row; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _tmp68_->filesize; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = photo; +#line 4550 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp67_, &_tmp69_, _tmp70_); +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = self->priv->photo_to_raw_development_filesize; +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = photo; +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = row; +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = _tmp73_->filesize; +#line 4551 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp71_, _tmp72_, &_tmp74_); +#line 35001 "Photo.c" + } +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 35005 "Photo.c" + } +#line 4548 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 35009 "Photo.c" + } + } +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_rows); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_list); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (object); +#line 35022 "Photo.c" + } +#line 4521 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_object_it); +#line 35026 "Photo.c" + } + } +#line 4558 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = removed; +#line 4558 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp75_ != NULL) { +#line 35033 "Photo.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp76_ = NULL; + GeeIterator* _tmp77_ = NULL; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = removed; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = gee_iterable_iterator (_tmp76_); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _object_it = _tmp77_; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35046 "Photo.c" + GeeIterator* _tmp78_ = NULL; + gboolean _tmp79_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp80_ = NULL; + gpointer _tmp81_ = NULL; + LibraryPhoto* photo = NULL; + DataObject* _tmp82_ = NULL; + LibraryPhoto* _tmp83_ = NULL; + GFile* editable = NULL; + LibraryPhoto* _tmp84_ = NULL; + GFile* _tmp85_ = NULL; + GFile* _tmp86_ = NULL; + LibraryPhoto* _tmp94_ = NULL; + guint _tmp95_ = 0U; + GeeCollection* raw_list = NULL; + LibraryPhoto* _tmp96_ = NULL; + GeeCollection* _tmp97_ = NULL; + GeeCollection* _tmp98_ = NULL; + LibraryPhoto* _tmp107_ = NULL; + guint _tmp108_ = 0U; + gint64 master_filesize = 0LL; + LibraryPhoto* _tmp109_ = NULL; + BackingPhotoRow* _tmp110_ = NULL; + BackingPhotoRow* _tmp111_ = NULL; + gint64 _tmp112_ = 0LL; + gint64 _tmp113_ = 0LL; + gint64 _tmp114_ = 0LL; + LibraryPhoto* _tmp115_ = NULL; + BackingPhotoRow* _tmp116_ = NULL; + BackingPhotoRow* _tmp117_ = NULL; + gboolean _tmp118_ = FALSE; + gint64 editable_filesize = 0LL; + GeeMultiMap* _tmp123_ = NULL; + gint64 _tmp124_ = 0LL; + LibraryPhoto* _tmp125_ = NULL; + GeeHashMap* _tmp126_ = NULL; + LibraryPhoto* _tmp127_ = NULL; + gint64 _tmp128_ = 0LL; + GeeCollection* raw_rows = NULL; + LibraryPhoto* _tmp134_ = NULL; + GeeCollection* _tmp135_ = NULL; + GeeCollection* _tmp136_ = NULL; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = _object_it; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = gee_iterator_next (_tmp78_); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp79_) { +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35097 "Photo.c" + } +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = _object_it; +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = gee_iterator_get (_tmp80_); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + object = (DataObject*) _tmp81_; +#line 4560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = object; +#line 4560 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4560 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp83_; +#line 4562 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = photo; +#line 4562 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, TYPE_PHOTO, Photo)); +#line 4562 "/home/jens/Source/shotwell/src/Photo.vala" + editable = _tmp85_; +#line 4563 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = editable; +#line 4563 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp86_ != NULL) { +#line 35121 "Photo.c" + gboolean is_removed = FALSE; + GeeHashMap* _tmp87_ = NULL; + LibraryPhoto* _tmp88_ = NULL; + GFile* _tmp89_ = NULL; + GFile* _tmp90_ = NULL; + gboolean _tmp91_ = FALSE; + gboolean _tmp92_ = FALSE; + gboolean _tmp93_ = FALSE; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = self->priv->by_editable_file; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = photo; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, TYPE_PHOTO, Photo)); +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tmp89_; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp90_, NULL); +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = _tmp91_; +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp90_); +#line 4564 "/home/jens/Source/shotwell/src/Photo.vala" + is_removed = _tmp92_; +#line 4565 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = is_removed; +#line 4565 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp93_, "is_removed"); +#line 35150 "Photo.c" + } +#line 4567 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = photo; +#line 4567 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("editable-replaced", TYPE_PHOTO, &_tmp95_, NULL, FALSE); +#line 4567 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp94_, TYPE_PHOTO, Photo), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp95_, 0, NULL, (GCallback) _library_photo_source_collection_on_editable_replaced_photo_editable_replaced, self); +#line 4569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = photo; +#line 4569 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp96_, TYPE_PHOTO, Photo)); +#line 4569 "/home/jens/Source/shotwell/src/Photo.vala" + raw_list = _tmp97_; +#line 4570 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp98_ = raw_list; +#line 4570 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp98_ != NULL) { +#line 35168 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp99_ = NULL; + GeeIterator* _tmp100_ = NULL; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp99_ = raw_list; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp100_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp99_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp100_; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35181 "Photo.c" + GeeIterator* _tmp101_ = NULL; + gboolean _tmp102_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp103_ = NULL; + gpointer _tmp104_ = NULL; + GeeHashMap* _tmp105_ = NULL; + GFile* _tmp106_ = NULL; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp101_ = _f_it; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp102_ = gee_iterator_next (_tmp101_); +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp102_) { +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35197 "Photo.c" + } +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp103_ = _f_it; +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp104_ = gee_iterator_get (_tmp103_); +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp104_; +#line 4572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp105_ = self->priv->by_raw_development_file; +#line 4572 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp106_ = f; +#line 4572 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp106_, NULL); +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 35213 "Photo.c" + } +#line 4571 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 35217 "Photo.c" + } + } +#line 4573 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp107_ = photo; +#line 4573 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("raw-development-modified", TYPE_PHOTO, &_tmp108_, NULL, FALSE); +#line 4573 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp107_, TYPE_PHOTO, Photo), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp108_, 0, NULL, (GCallback) _library_photo_source_collection_on_raw_development_modified_photo_raw_development_modified, self); +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp109_ = photo; +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp110_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, TYPE_PHOTO, Photo)); +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp111_ = _tmp110_; +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp112_ = _tmp111_->filesize; +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp113_ = _tmp112_; +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp111_); +#line 4575 "/home/jens/Source/shotwell/src/Photo.vala" + master_filesize = _tmp113_; +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp115_ = photo; +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp116_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, TYPE_PHOTO, Photo)); +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp117_ = _tmp116_; +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp118_ = _tmp117_ != NULL; +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp117_); +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp118_) { +#line 35252 "Photo.c" + LibraryPhoto* _tmp119_ = NULL; + BackingPhotoRow* _tmp120_ = NULL; + BackingPhotoRow* _tmp121_ = NULL; + gint64 _tmp122_ = 0LL; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp119_ = photo; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp120_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp119_, TYPE_PHOTO, Photo)); +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp121_ = _tmp120_; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp122_ = _tmp121_->filesize; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = _tmp122_; +#line 4577 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp121_); +#line 35269 "Photo.c" + } else { +#line 4578 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp114_ = (gint64) -1; +#line 35273 "Photo.c" + } +#line 4576 "/home/jens/Source/shotwell/src/Photo.vala" + editable_filesize = _tmp114_; +#line 4579 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp123_ = self->priv->filesize_to_photo; +#line 4579 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp124_ = master_filesize; +#line 4579 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp125_ = photo; +#line 4579 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp123_, &_tmp124_, _tmp125_); +#line 4580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp126_ = self->priv->photo_to_master_filesize; +#line 4580 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp127_ = photo; +#line 4580 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp126_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp127_, NULL); +#line 4581 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp128_ = editable_filesize; +#line 4581 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp128_ >= ((gint64) 0)) { +#line 35295 "Photo.c" + GeeMultiMap* _tmp129_ = NULL; + gint64 _tmp130_ = 0LL; + LibraryPhoto* _tmp131_ = NULL; + GeeHashMap* _tmp132_ = NULL; + LibraryPhoto* _tmp133_ = NULL; +#line 4582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp129_ = self->priv->filesize_to_photo; +#line 4582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp130_ = editable_filesize; +#line 4582 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp131_ = photo; +#line 4582 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp129_, &_tmp130_, _tmp131_); +#line 4583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp132_ = self->priv->photo_to_editable_filesize; +#line 4583 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp133_ = photo; +#line 4583 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp132_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp133_, NULL); +#line 35315 "Photo.c" + } +#line 4586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp134_ = photo; +#line 4586 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp135_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp134_, TYPE_PHOTO, Photo)); +#line 4586 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rows = _tmp135_; +#line 4587 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp136_ = raw_rows; +#line 4587 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp136_ != NULL) { +#line 35327 "Photo.c" + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp137_ = NULL; + GeeIterator* _tmp138_ = NULL; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp137_ = raw_rows; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp138_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp137_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp138_; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35340 "Photo.c" + GeeIterator* _tmp139_ = NULL; + gboolean _tmp140_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp141_ = NULL; + gpointer _tmp142_ = NULL; + BackingPhotoRow* _tmp143_ = NULL; + gint64 _tmp144_ = 0LL; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp139_ = _row_it; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp140_ = gee_iterator_next (_tmp139_); +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp140_) { +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35356 "Photo.c" + } +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp141_ = _row_it; +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp142_ = gee_iterator_get (_tmp141_); +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp142_; +#line 4589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp143_ = row; +#line 4589 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp144_ = _tmp143_->filesize; +#line 4589 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp144_ >= ((gint64) 0)) { +#line 35370 "Photo.c" + GeeMultiMap* _tmp145_ = NULL; + BackingPhotoRow* _tmp146_ = NULL; + gint64 _tmp147_ = 0LL; + LibraryPhoto* _tmp148_ = NULL; + GeeMultiMap* _tmp149_ = NULL; + LibraryPhoto* _tmp150_ = NULL; + BackingPhotoRow* _tmp151_ = NULL; + gint64 _tmp152_ = 0LL; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp145_ = self->priv->filesize_to_photo; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp146_ = row; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp147_ = _tmp146_->filesize; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp148_ = photo; +#line 4590 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp145_, &_tmp147_, _tmp148_); +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp149_ = self->priv->photo_to_raw_development_filesize; +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp150_ = photo; +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp151_ = row; +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp152_ = _tmp151_->filesize; +#line 4591 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp149_, _tmp150_, &_tmp152_); +#line 35399 "Photo.c" + } +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 35403 "Photo.c" + } +#line 4588 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 35407 "Photo.c" + } + } +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_rows); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_list); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (editable); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (object); +#line 35420 "Photo.c" + } +#line 4559 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_object_it); +#line 35424 "Photo.c" + } + } +#line 4598 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp153_ = added; +#line 4598 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp154_ = removed; +#line 4598 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_COLLECTION_CLASS (library_photo_source_collection_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp153_, _tmp154_); +#line 35433 "Photo.c" +} + + +static void library_photo_source_collection_on_editable_replaced (LibraryPhotoSourceCollection* self, Photo* photo, GFile* old_file, GFile* new_file) { + GFile* _tmp0_ = NULL; + GFile* _tmp5_ = NULL; +#line 4601 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4601 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 4601 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((old_file == NULL) || G_IS_FILE (old_file)); +#line 4601 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_file == NULL) || G_IS_FILE (new_file)); +#line 4602 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = old_file; +#line 4602 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 35452 "Photo.c" + gboolean is_removed = FALSE; + GeeHashMap* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 4603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->by_editable_file; +#line 4603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = old_file; +#line 4603 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, NULL); +#line 4603 "/home/jens/Source/shotwell/src/Photo.vala" + is_removed = _tmp3_; +#line 4604 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = is_removed; +#line 4604 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp4_, "is_removed"); +#line 35470 "Photo.c" + } +#line 4607 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = new_file; +#line 4607 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ != NULL) { +#line 35476 "Photo.c" + GeeHashMap* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; +#line 4608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->by_editable_file; +#line 4608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = new_file; +#line 4608 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo; +#line 4608 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 35488 "Photo.c" + } +} + + +static void library_photo_source_collection_on_raw_development_modified (LibraryPhotoSourceCollection* self, Photo* _photo) { + LibraryPhoto* photo = NULL; + Photo* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GeeMultiMap* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeCollection* raw_list = NULL; + LibraryPhoto* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + GeeCollection* raw_rows = NULL; + LibraryPhoto* _tmp35_ = NULL; + GeeCollection* _tmp36_ = NULL; + GeeCollection* _tmp37_ = NULL; +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (_photo)); +#line 4612 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _photo; +#line 4612 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp0_) : NULL); +#line 4612 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp1_; +#line 4613 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 4613 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ == NULL) { +#line 4614 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4614 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 35527 "Photo.c" + } +#line 4617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->photo_to_raw_development_filesize; +#line 4617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo; +#line 4617 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_multi_map_contains (_tmp3_, _tmp4_); +#line 4617 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 35537 "Photo.c" + GeeMultiMap* _tmp21_ = NULL; + LibraryPhoto* _tmp22_ = NULL; + { + GeeIterator* _s_it = NULL; + GeeMultiMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->photo_to_raw_development_filesize; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_multi_map_get (_tmp6_, _tmp7_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp9_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _s_it = _tmp11_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35566 "Photo.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gint64 s = 0LL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + gint64* _tmp16_ = NULL; + gint64 _tmp17_ = 0LL; + GeeMultiMap* _tmp18_ = NULL; + gint64 _tmp19_ = 0LL; + LibraryPhoto* _tmp20_ = NULL; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _s_it; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp13_) { +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35585 "Photo.c" + } +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _s_it; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = (gint64*) _tmp15_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = *_tmp16_; +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp16_); +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + s = _tmp17_; +#line 4619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->filesize_to_photo; +#line 4619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = s; +#line 4619 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo; +#line 4619 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp18_, &_tmp19_, _tmp20_); +#line 35607 "Photo.c" + } +#line 4618 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_s_it); +#line 35611 "Photo.c" + } +#line 4620 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = self->priv->photo_to_raw_development_filesize; +#line 4620 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo; +#line 4620 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove_all (_tmp21_, _tmp22_); +#line 35619 "Photo.c" + } +#line 4624 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo; +#line 4624 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PHOTO, Photo)); +#line 4624 "/home/jens/Source/shotwell/src/Photo.vala" + raw_list = _tmp24_; +#line 4625 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = raw_list; +#line 4625 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp25_ != NULL) { +#line 35631 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp26_ = NULL; + GeeIterator* _tmp27_ = NULL; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = raw_list; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp27_; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35644 "Photo.c" + GeeIterator* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + GeeHashMap* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + LibraryPhoto* _tmp34_ = NULL; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _f_it; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = gee_iterator_next (_tmp28_); +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp29_) { +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35661 "Photo.c" + } +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _f_it; +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = gee_iterator_get (_tmp30_); +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp31_; +#line 4627 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->priv->by_raw_development_file; +#line 4627 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = f; +#line 4627 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = photo; +#line 4627 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp33_, _tmp34_); +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 35679 "Photo.c" + } +#line 4626 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 35683 "Photo.c" + } + } +#line 4629 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo; +#line 4629 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_PHOTO, Photo)); +#line 4629 "/home/jens/Source/shotwell/src/Photo.vala" + raw_rows = _tmp36_; +#line 4630 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = raw_rows; +#line 4630 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp37_ != NULL) { +#line 35696 "Photo.c" + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp38_ = NULL; + GeeIterator* _tmp39_ = NULL; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = raw_rows; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp39_; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35709 "Photo.c" + GeeIterator* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp42_ = NULL; + gpointer _tmp43_ = NULL; + BackingPhotoRow* _tmp44_ = NULL; + gint64 _tmp45_ = 0LL; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _row_it; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = gee_iterator_next (_tmp40_); +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp41_) { +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35725 "Photo.c" + } +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _row_it; +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = gee_iterator_get (_tmp42_); +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp43_; +#line 4632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = row; +#line 4632 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_->filesize; +#line 4632 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp45_ > ((gint64) 0)) { +#line 35739 "Photo.c" + GeeMultiMap* _tmp46_ = NULL; + BackingPhotoRow* _tmp47_ = NULL; + gint64 _tmp48_ = 0LL; + LibraryPhoto* _tmp49_ = NULL; + GeeMultiMap* _tmp50_ = NULL; + LibraryPhoto* _tmp51_ = NULL; + BackingPhotoRow* _tmp52_ = NULL; + gint64 _tmp53_ = 0LL; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = self->priv->filesize_to_photo; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = row; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_->filesize; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = photo; +#line 4633 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp46_, &_tmp48_, _tmp49_); +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = self->priv->photo_to_raw_development_filesize; +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = photo; +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = row; +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_->filesize; +#line 4634 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp50_, _tmp51_, &_tmp53_); +#line 35768 "Photo.c" + } +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 35772 "Photo.c" + } +#line 4631 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 35776 "Photo.c" + } + } +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_rows); +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_list); +#line 4611 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 35785 "Photo.c" +} + + +static gpointer __int64_dup0 (gpointer self) { +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + return self ? _int64_dup (self) : NULL; +#line 35792 "Photo.c" +} + + +static void library_photo_source_collection_real_items_altered (DataCollection* base, GeeMap* items) { + LibraryPhotoSourceCollection * self; + GeeMap* _tmp72_ = NULL; +#line 4640 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4640 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 35803 "Photo.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = items; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _object_it = _tmp5_; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 35830 "Photo.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Alteration* alteration = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + LibraryPhoto* photo = NULL; + DataObject* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + Alteration* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _object_it; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp7_) { +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 35854 "Photo.c" + } +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _object_it; +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + object = (DataObject*) _tmp9_; +#line 4642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = items; +#line 4642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = object; +#line 4642 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 4642 "/home/jens/Source/shotwell/src/Photo.vala" + alteration = (Alteration*) _tmp12_; +#line 4644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = object; +#line 4644 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4644 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp14_; +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = alteration; +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = alteration_has_detail (_tmp16_, "image", "master"); +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_) { +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = TRUE; +#line 35884 "Photo.c" + } else { + Alteration* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = alteration; +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = alteration_has_detail (_tmp18_, "image", "editable"); +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp19_; +#line 35894 "Photo.c" + } +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 35898 "Photo.c" + gint64 old_master_filesize = 0LL; + GeeHashMap* _tmp20_ = NULL; + LibraryPhoto* _tmp21_ = NULL; + gpointer _tmp22_ = NULL; + gint64* _tmp23_ = NULL; + gint64 _tmp24_ = 0LL; + gint64* _tmp25_ = NULL; + GeeHashMap* _tmp26_ = NULL; + LibraryPhoto* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gint64 old_editable_filesize = 0LL; + GeeHashMap* _tmp34_ = NULL; + LibraryPhoto* _tmp35_ = NULL; + GeeMultiMap* _tmp36_ = NULL; + gint64 _tmp37_ = 0LL; + LibraryPhoto* _tmp38_ = NULL; + gint64 _tmp39_ = 0LL; + gint64 master_filesize = 0LL; + LibraryPhoto* _tmp45_ = NULL; + BackingPhotoRow* _tmp46_ = NULL; + BackingPhotoRow* _tmp47_ = NULL; + gint64 _tmp48_ = 0LL; + gint64 _tmp49_ = 0LL; + gint64 _tmp50_ = 0LL; + LibraryPhoto* _tmp51_ = NULL; + BackingPhotoRow* _tmp52_ = NULL; + BackingPhotoRow* _tmp53_ = NULL; + gboolean _tmp54_ = FALSE; + gint64 editable_filesize = 0LL; + GeeHashMap* _tmp59_ = NULL; + LibraryPhoto* _tmp60_ = NULL; + gint64 _tmp61_ = 0LL; + GeeMultiMap* _tmp62_ = NULL; + gint64 _tmp63_ = 0LL; + LibraryPhoto* _tmp64_ = NULL; + gint64 _tmp65_ = 0LL; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = self->priv->photo_to_master_filesize; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp21_); +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = (gint64*) _tmp22_; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = *_tmp23_; +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp23_); +#line 4647 "/home/jens/Source/shotwell/src/Photo.vala" + old_master_filesize = _tmp24_; +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = self->priv->photo_to_editable_filesize; +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = photo; +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp27_); +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_) { +#line 35957 "Photo.c" + GeeHashMap* _tmp29_ = NULL; + LibraryPhoto* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->priv->photo_to_editable_filesize; +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo; +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp30_); +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp25_); +#line 4649 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = (gint64*) _tmp31_; +#line 35971 "Photo.c" + } else { + gint64 _tmp32_ = 0LL; + gint64* _tmp33_ = NULL; +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = (gint64) -1; +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = __int64_dup0 (&_tmp32_); +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp25_); +#line 4650 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp33_; +#line 35983 "Photo.c" + } +#line 4648 "/home/jens/Source/shotwell/src/Photo.vala" + old_editable_filesize = *_tmp25_; +#line 4652 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = self->priv->photo_to_master_filesize; +#line 4652 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo; +#line 4652 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp35_, NULL); +#line 4653 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = self->priv->filesize_to_photo; +#line 4653 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = old_master_filesize; +#line 4653 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = photo; +#line 4653 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp36_, &_tmp37_, _tmp38_); +#line 4654 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = old_editable_filesize; +#line 4654 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp39_ >= ((gint64) 0)) { +#line 36005 "Photo.c" + GeeHashMap* _tmp40_ = NULL; + LibraryPhoto* _tmp41_ = NULL; + GeeMultiMap* _tmp42_ = NULL; + gint64 _tmp43_ = 0LL; + LibraryPhoto* _tmp44_ = NULL; +#line 4655 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = self->priv->photo_to_editable_filesize; +#line 4655 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = photo; +#line 4655 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp41_, NULL); +#line 4656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = self->priv->filesize_to_photo; +#line 4656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = old_editable_filesize; +#line 4656 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = photo; +#line 4656 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp42_, &_tmp43_, _tmp44_); +#line 36025 "Photo.c" + } +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = photo; +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PHOTO, Photo)); +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_->filesize; +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = _tmp48_; +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp47_); +#line 4659 "/home/jens/Source/shotwell/src/Photo.vala" + master_filesize = _tmp49_; +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = photo; +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_PHOTO, Photo)); +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_; +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp53_ != NULL; +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp53_); +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp54_) { +#line 36053 "Photo.c" + LibraryPhoto* _tmp55_ = NULL; + BackingPhotoRow* _tmp56_ = NULL; + BackingPhotoRow* _tmp57_ = NULL; + gint64 _tmp58_ = 0LL; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = photo; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, TYPE_PHOTO, Photo)); +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = _tmp56_; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = _tmp57_->filesize; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = _tmp58_; +#line 4661 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp57_); +#line 36070 "Photo.c" + } else { +#line 4662 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = (gint64) -1; +#line 36074 "Photo.c" + } +#line 4660 "/home/jens/Source/shotwell/src/Photo.vala" + editable_filesize = _tmp50_; +#line 4663 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = self->priv->photo_to_master_filesize; +#line 4663 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = photo; +#line 4663 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = master_filesize; +#line 4663 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp60_, &_tmp61_); +#line 4664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = self->priv->filesize_to_photo; +#line 4664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = master_filesize; +#line 4664 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = photo; +#line 4664 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp62_, &_tmp63_, _tmp64_); +#line 4665 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = editable_filesize; +#line 4665 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp65_ >= ((gint64) 0)) { +#line 36098 "Photo.c" + GeeHashMap* _tmp66_ = NULL; + LibraryPhoto* _tmp67_ = NULL; + gint64 _tmp68_ = 0LL; + GeeMultiMap* _tmp69_ = NULL; + gint64 _tmp70_ = 0LL; + LibraryPhoto* _tmp71_ = NULL; +#line 4666 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = self->priv->photo_to_editable_filesize; +#line 4666 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = photo; +#line 4666 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = editable_filesize; +#line 4666 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp67_, &_tmp68_); +#line 4667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = self->priv->filesize_to_photo; +#line 4667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = editable_filesize; +#line 4667 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = photo; +#line 4667 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp69_, &_tmp70_, _tmp71_); +#line 36121 "Photo.c" + } +#line 4646 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp25_); +#line 36125 "Photo.c" + } +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (alteration); +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (object); +#line 36133 "Photo.c" + } +#line 4641 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_object_it); +#line 36137 "Photo.c" + } +#line 4672 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = items; +#line 4672 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_COLLECTION_CLASS (library_photo_source_collection_parent_class)->items_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp72_); +#line 36143 "Photo.c" +} + + +static void library_photo_source_collection_real_postprocess_imported_media (MediaSourceCollection* base, GeeCollection* media_sources) { + LibraryPhotoSourceCollection * self; + GeeHashMultiMap* map = NULL; + GeeHashMultiMap* _tmp0_ = NULL; + GeeCollection* _tmp97_ = NULL; +#line 4676 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4676 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (media_sources)); +#line 4677 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_hash_multi_map_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 4677 "/home/jens/Source/shotwell/src/Photo.vala" + map = _tmp0_; +#line 36160 "Photo.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_sources; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _media_it = _tmp2_; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36173 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + LibraryPhoto* photo = NULL; + MediaSource* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + PhotoMetadata* metadata = NULL; + LibraryPhoto* _tmp9_ = NULL; + PhotoMetadata* _tmp10_ = NULL; + HierarchicalTagIndex* global_index = NULL; + HierarchicalTagIndex* _tmp11_ = NULL; + HierarchicalTagIndex* htag_index = NULL; + PhotoMetadata* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + LibraryPhoto* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeCollection* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + PhotoMetadata* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _media_it; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36204 "Photo.c" + } +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _media_it; +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + media = (MediaSource*) _tmp6_; +#line 4679 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = media; +#line 4679 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4679 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp8_; +#line 4680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo; +#line 4680 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 4680 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp10_; +#line 4683 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = hierarchical_tag_index_get_global_index (); +#line 4683 "/home/jens/Source/shotwell/src/Photo.vala" + global_index = _tmp11_; +#line 4690 "/home/jens/Source/shotwell/src/Photo.vala" + htag_index = NULL; +#line 4691 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = metadata; +#line 4691 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_metadata_has_hierarchical_keywords (_tmp12_); +#line 4691 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp13_) { +#line 36236 "Photo.c" + PhotoMetadata* _tmp14_ = NULL; + GeeSet* _tmp15_ = NULL; + GeeSet* _tmp16_ = NULL; + HierarchicalTagIndex* _tmp17_ = NULL; +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = metadata; +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_metadata_get_hierarchical_keywords (_tmp14_); +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = hierarchical_tag_utilities_process_hierarchical_import_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (htag_index); +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + htag_index = _tmp17_; +#line 4692 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 36255 "Photo.c" + } +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = photo; +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = library_photo_get_import_keywords (_tmp18_); +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_ != NULL; +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp20_); +#line 4696 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp21_) { +#line 36269 "Photo.c" + { + GeeIterator* _keyword_it = NULL; + LibraryPhoto* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GeeIterator* _tmp25_ = NULL; + GeeIterator* _tmp26_ = NULL; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = photo; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = library_photo_get_import_keywords (_tmp22_); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _tmp23_; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = _tmp25_; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp24_); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _keyword_it = _tmp26_; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36293 "Photo.c" + GeeIterator* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gchar* keyword = NULL; + GeeIterator* _tmp29_ = NULL; + gpointer _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; + HierarchicalTagIndex* _tmp32_ = NULL; + gchar* name = NULL; + const gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + HierarchicalTagIndex* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gboolean _tmp40_ = FALSE; + const gchar* _tmp49_ = NULL; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _keyword_it; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = gee_iterator_next (_tmp27_); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp28_) { +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36316 "Photo.c" + } +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _keyword_it; +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = gee_iterator_get (_tmp29_); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + keyword = (gchar*) _tmp30_; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = htag_index; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp32_ != NULL) { +#line 36328 "Photo.c" + HierarchicalTagIndex* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = htag_index; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = keyword; +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = hierarchical_tag_index_is_tag_in_index (_tmp33_, _tmp34_); +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp35_; +#line 36340 "Photo.c" + } else { +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = FALSE; +#line 36344 "Photo.c" + } +#line 4698 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp31_) { +#line 4699 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 4699 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 36352 "Photo.c" + } +#line 4701 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = keyword; +#line 4701 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = tag_prep_tag_name (_tmp36_); +#line 4701 "/home/jens/Source/shotwell/src/Photo.vala" + name = _tmp37_; +#line 4703 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = global_index; +#line 4703 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = name; +#line 4703 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = hierarchical_tag_index_is_tag_in_index (_tmp38_, _tmp39_); +#line 4703 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp40_) { +#line 36368 "Photo.c" + gchar* most_derived_path = NULL; + HierarchicalTagIndex* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + GeeHashMultiMap* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + Tag* _tmp46_ = NULL; + Tag* _tmp47_ = NULL; + LibraryPhoto* _tmp48_ = NULL; +#line 4704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = global_index; +#line 4704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = name; +#line 4704 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = hierarchical_tag_index_get_path_for_name (_tmp41_, _tmp42_); +#line 4704 "/home/jens/Source/shotwell/src/Photo.vala" + most_derived_path = _tmp43_; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = map; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = most_derived_path; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = tag_for_path (_tmp45_); +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = photo; +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp47_, _tmp48_); +#line 4705 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp47_); +#line 4706 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (most_derived_path); +#line 4706 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 4706 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 4706 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 36408 "Photo.c" + } +#line 4709 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = name; +#line 4709 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_ != NULL) { +#line 36414 "Photo.c" + GeeHashMultiMap* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + Tag* _tmp52_ = NULL; + Tag* _tmp53_ = NULL; + LibraryPhoto* _tmp54_ = NULL; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = map; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = name; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = tag_for_path (_tmp51_); +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = _tmp52_; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = photo; +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp53_, _tmp54_); +#line 4710 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp53_); +#line 36434 "Photo.c" + } +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 36440 "Photo.c" + } +#line 4697 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_keyword_it); +#line 36444 "Photo.c" + } + } +#line 4714 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = metadata; +#line 4714 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = photo_metadata_has_hierarchical_keywords (_tmp55_); +#line 4714 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp56_) { +#line 36453 "Photo.c" + { + GeeIterator* _path_it = NULL; + HierarchicalTagIndex* _tmp57_ = NULL; + GeeCollection* _tmp58_ = NULL; + GeeCollection* _tmp59_ = NULL; + GeeIterator* _tmp60_ = NULL; + GeeIterator* _tmp61_ = NULL; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = htag_index; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = hierarchical_tag_index_get_all_paths (_tmp57_); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = _tmp58_; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = _tmp60_; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp59_); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _path_it = _tmp61_; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36477 "Photo.c" + GeeIterator* _tmp62_ = NULL; + gboolean _tmp63_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp64_ = NULL; + gpointer _tmp65_ = NULL; + gchar* name = NULL; + const gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + const gchar* _tmp68_ = NULL; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = _path_it; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = gee_iterator_next (_tmp62_); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp63_) { +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36495 "Photo.c" + } +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = _path_it; +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = gee_iterator_get (_tmp64_); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + path = (gchar*) _tmp65_; +#line 4716 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = path; +#line 4716 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = tag_prep_tag_name (_tmp66_); +#line 4716 "/home/jens/Source/shotwell/src/Photo.vala" + name = _tmp67_; +#line 4717 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = name; +#line 4717 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp68_ != NULL) { +#line 36513 "Photo.c" + GeeHashMultiMap* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + Tag* _tmp71_ = NULL; + Tag* _tmp72_ = NULL; + LibraryPhoto* _tmp73_ = NULL; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = map; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = name; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = tag_for_path (_tmp70_); +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = _tmp71_; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = photo; +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp72_, _tmp73_); +#line 4718 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp72_); +#line 36533 "Photo.c" + } +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (name); +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (path); +#line 36539 "Photo.c" + } +#line 4715 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_path_it); +#line 36543 "Photo.c" + } + } +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (htag_index); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (global_index); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (media); +#line 36556 "Photo.c" + } +#line 4678 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_media_it); +#line 36560 "Photo.c" + } + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp74_ = NULL; + GeeIterator* _tmp75_ = NULL; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = media_sources; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _media_it = _tmp75_; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36574 "Photo.c" + GeeIterator* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp78_ = NULL; + gpointer _tmp79_ = NULL; + LibraryPhoto* photo = NULL; + MediaSource* _tmp80_ = NULL; + LibraryPhoto* _tmp81_ = NULL; + LibraryPhoto* _tmp82_ = NULL; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = _media_it; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = gee_iterator_next (_tmp76_); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp77_) { +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36592 "Photo.c" + } +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp78_ = _media_it; +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = gee_iterator_get (_tmp78_); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + media = (MediaSource*) _tmp79_; +#line 4724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp80_ = media; +#line 4724 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4724 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp81_; +#line 4725 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = photo; +#line 4725 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_clear_import_keywords (_tmp82_); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (media); +#line 36614 "Photo.c" + } +#line 4723 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_media_it); +#line 36618 "Photo.c" + } + { + GeeIterator* _tag_it = NULL; + GeeHashMultiMap* _tmp83_ = NULL; + GeeSet* _tmp84_ = NULL; + GeeSet* _tmp85_ = NULL; + GeeIterator* _tmp86_ = NULL; + GeeIterator* _tmp87_ = NULL; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp83_ = map; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp84_ = gee_multi_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, GEE_TYPE_MULTI_MAP, GeeMultiMap)); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp85_ = _tmp84_; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp86_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp87_ = _tmp86_; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp85_); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_it = _tmp87_; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 36643 "Photo.c" + GeeIterator* _tmp88_ = NULL; + gboolean _tmp89_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp90_ = NULL; + gpointer _tmp91_ = NULL; + Tag* _tmp92_ = NULL; + GeeHashMultiMap* _tmp93_ = NULL; + Tag* _tmp94_ = NULL; + GeeCollection* _tmp95_ = NULL; + GeeCollection* _tmp96_ = NULL; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp88_ = _tag_it; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp89_ = gee_iterator_next (_tmp88_); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp89_) { +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 36662 "Photo.c" + } +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp90_ = _tag_it; +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp91_ = gee_iterator_get (_tmp90_); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + tag = (Tag*) _tmp91_; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp92_ = tag; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp93_ = map; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp94_ = tag; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp95_ = gee_multi_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp94_); +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp96_ = _tmp95_; +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach_many (_tmp92_, _tmp96_); +#line 4729 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp96_); +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 36686 "Photo.c" + } +#line 4728 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_it); +#line 36690 "Photo.c" + } +#line 4731 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp97_ = media_sources; +#line 4731 "/home/jens/Source/shotwell/src/Photo.vala" + MEDIA_SOURCE_COLLECTION_CLASS (library_photo_source_collection_parent_class)->postprocess_imported_media (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp97_); +#line 4676 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (map); +#line 36698 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { + LibraryPhoto* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 4735 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4735 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 4736 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4736 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 4736 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "master-reimported", _tmp0_, _tmp1_); +#line 36715 "Photo.c" +} + + +void library_photo_source_collection_notify_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4735 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4735 "/home/jens/Source/shotwell/src/Photo.vala" + LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS (self)->notify_master_reimported (self, photo, metadata); +#line 36724 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { + LibraryPhoto* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 4740 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4740 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 4741 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4741 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 4741 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "editable-reimported", _tmp0_, _tmp1_); +#line 36741 "Photo.c" +} + + +void library_photo_source_collection_notify_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4740 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4740 "/home/jens/Source/shotwell/src/Photo.vala" + LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS (self)->notify_editable_reimported (self, photo, metadata); +#line 36750 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { + LibraryPhoto* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 4745 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4745 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 4746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4746 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 4746 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "source-reimported", _tmp0_, _tmp1_); +#line 36767 "Photo.c" +} + + +void library_photo_source_collection_notify_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4745 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4745 "/home/jens/Source/shotwell/src/Photo.vala" + LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS (self)->notify_source_reimported (self, photo, metadata); +#line 36776 "Photo.c" +} + + +static void library_photo_source_collection_real_notify_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { + LibraryPhoto* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 4750 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4750 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 4751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4751 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = metadata; +#line 4751 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (self, "baseline-reimported", _tmp0_, _tmp1_); +#line 36793 "Photo.c" +} + + +void library_photo_source_collection_notify_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4750 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4750 "/home/jens/Source/shotwell/src/Photo.vala" + LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS (self)->notify_baseline_reimported (self, photo, metadata); +#line 36802 "Photo.c" +} + + +static MediaSource* library_photo_source_collection_real_fetch_by_numeric_id (MediaSourceCollection* base, gint64 numeric_id) { + LibraryPhotoSourceCollection * self; + MediaSource* result = NULL; + gint64 _tmp0_ = 0LL; + PhotoID _tmp1_ = {0}; + LibraryPhoto* _tmp2_ = NULL; +#line 4754 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = numeric_id; +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp1_, _tmp0_); +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = library_photo_source_collection_fetch (self, &_tmp1_); +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource); +#line 4755 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 36824 "Photo.c" +} + + +static void library_photo_source_collection_on_trashcan_contents_altered (LibraryPhotoSourceCollection* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 4758 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4758 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 4758 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 4760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = added; +#line 4760 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = removed; +#line 4760 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "trashcan-contents-altered", G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 36843 "Photo.c" +} + + +static gboolean library_photo_source_collection_check_if_trashed_photo (LibraryPhotoSourceCollection* self, DataSource* source, Alteration* alteration) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 4764 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 4764 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 4764 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 4765 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 4765 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_is_trashed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 4765 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 4765 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 36865 "Photo.c" +} + + +static void library_photo_source_collection_on_offline_contents_altered (LibraryPhotoSourceCollection* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 4768 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4768 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 4768 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 4770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = added; +#line 4770 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = removed; +#line 4770 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "offline-contents-altered", G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 36884 "Photo.c" +} + + +static gboolean library_photo_source_collection_check_if_offline_photo (LibraryPhotoSourceCollection* self, DataSource* source, Alteration* alteration) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 4774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 4774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 4774 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 4775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source; +#line 4775 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_is_offline (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 4775 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 4775 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 36906 "Photo.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 36929 "Photo.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 36937 "Photo.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 36949 "Photo.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 36973 "Photo.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 36979 "Photo.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 36983 "Photo.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 36987 "Photo.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 36999 "Photo.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 37009 "Photo.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 37015 "Photo.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 37029 "Photo.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 37039 "Photo.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 37045 "Photo.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 37054 "Photo.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 37074 "Photo.c" +} + + +static MediaSource* library_photo_source_collection_real_fetch_by_source_id (MediaSourceCollection* base, const gchar* source_id) { + LibraryPhotoSourceCollection * self; + MediaSource* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gchar* numeric_only = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; + MediaSource* _tmp7_ = NULL; +#line 4778 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4778 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (source_id != NULL, NULL); +#line 4779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = source_id; +#line 4779 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = g_str_has_prefix (_tmp0_, PHOTO_TYPENAME); +#line 4779 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp1_, "source_id.has_prefix(Photo.TYPENAME)"); +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = source_id; +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = strlen (PHOTO_TYPENAME); +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = string_substring (_tmp2_, (glong) _tmp4_, (glong) -1); +#line 4780 "/home/jens/Source/shotwell/src/Photo.vala" + numeric_only = _tmp5_; +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = parse_int64 (numeric_only, 16); +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = media_source_collection_fetch_by_numeric_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp6_); +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp7_; +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (numeric_only); +#line 4782 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37120 "Photo.c" +} + + +static GeeCollection* library_photo_source_collection_real_get_event_source_ids (MediaSourceCollection* base, EventID* event_id) { + LibraryPhotoSourceCollection * self; + GeeCollection* result = NULL; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + EventID _tmp2_ = {0}; + GeeArrayList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 4785 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4785 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = *event_id; +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_table_get_event_source_ids (_tmp1_, &_tmp2_); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 4786 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37152 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_fetch (LibraryPhotoSourceCollection* self, PhotoID* photo_id) { + LibraryPhoto* result = NULL; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + DataSource* _tmp2_ = NULL; +#line 4789 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4789 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (photo_id != NULL, NULL); +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = *photo_id; +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_.id; +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = database_source_collection_fetch_by_key (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), _tmp1_); +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4790 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37175 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_fetch_by_editable_file (LibraryPhotoSourceCollection* self, GFile* file) { + LibraryPhoto* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 4793 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4793 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->by_editable_file; +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + result = (LibraryPhoto*) _tmp2_; +#line 4794 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37198 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_fetch_by_raw_development_file (LibraryPhotoSourceCollection* self, GFile* file) { + LibraryPhoto* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 4797 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4797 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->by_raw_development_file; +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + result = (LibraryPhoto*) _tmp2_; +#line 4798 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37221 "Photo.c" +} + + +static void library_photo_source_collection_compare_backing (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matches_development) { + LibraryPhoto* _tmp0_ = NULL; + BackingPhotoRow* _tmp1_ = NULL; + BackingPhotoRow* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + BackingPhotoRow* editable = NULL; + LibraryPhoto* _tmp8_ = NULL; + BackingPhotoRow* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + BackingPhotoRow* _tmp11_ = NULL; + GeeCollection* development = NULL; + LibraryPhoto* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_master)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_editable)); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_development)); +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo; +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo)); +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = info; +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = backing_photo_row_matches_file_info (_tmp2_, _tmp3_); +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp2_); +#line 4804 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 37269 "Photo.c" + GeeCollection* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; +#line 4805 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = matches_master; +#line 4805 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 4805 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp6_, _tmp7_); +#line 37278 "Photo.c" + } +#line 4807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo; +#line 4807 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo)); +#line 4807 "/home/jens/Source/shotwell/src/Photo.vala" + editable = _tmp9_; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = editable; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != NULL) { +#line 37290 "Photo.c" + BackingPhotoRow* _tmp12_ = NULL; + GFileInfo* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = editable; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = info; +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = backing_photo_row_matches_file_info (_tmp12_, _tmp13_); +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp14_; +#line 37302 "Photo.c" + } else { +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = FALSE; +#line 37306 "Photo.c" + } +#line 4808 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp10_) { +#line 37310 "Photo.c" + GeeCollection* _tmp15_ = NULL; + LibraryPhoto* _tmp16_ = NULL; +#line 4809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = matches_editable; +#line 4809 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo; +#line 4809 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp15_, _tmp16_); +#line 37319 "Photo.c" + } +#line 4811 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo; +#line 4811 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO, Photo)); +#line 4811 "/home/jens/Source/shotwell/src/Photo.vala" + development = _tmp18_; +#line 4812 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = development; +#line 4812 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp19_ != NULL) { +#line 37331 "Photo.c" + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = development; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _row_it = _tmp21_; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 37344 "Photo.c" + GeeIterator* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + BackingPhotoRow* _tmp26_ = NULL; + GFileInfo* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _row_it; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = gee_iterator_next (_tmp22_); +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp23_) { +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37361 "Photo.c" + } +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = _row_it; +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = gee_iterator_get (_tmp24_); +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + row = (BackingPhotoRow*) _tmp25_; +#line 4814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = row; +#line 4814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = info; +#line 4814 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = backing_photo_row_matches_file_info (_tmp26_, _tmp27_); +#line 4814 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_) { +#line 37377 "Photo.c" + GeeCollection* _tmp29_ = NULL; + LibraryPhoto* _tmp30_ = NULL; +#line 4815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = matches_development; +#line 4815 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = photo; +#line 4815 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp29_, _tmp30_); +#line 4817 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 4817 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37390 "Photo.c" + } +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (row); +#line 37394 "Photo.c" + } +#line 4813 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_row_it); +#line 37398 "Photo.c" + } + } +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (development); +#line 4801 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (editable); +#line 37405 "Photo.c" +} + + +void library_photo_source_collection_fetch_by_matching_backing (LibraryPhotoSourceCollection* self, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matched_development) { +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_master)); +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matches_editable)); +#line 4825 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (GEE_IS_COLLECTION (matched_development)); +#line 37420 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeMultiMap* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->filesize_to_photo; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = info; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = g_file_info_get_size (_tmp1_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_multi_map_get (_tmp0_, &_tmp2_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp6_; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 37450 "Photo.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + LibraryPhoto* photo = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; + GFileInfo* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; + GeeCollection* _tmp15_ = NULL; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _photo_it; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp8_) { +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37469 "Photo.c" + } +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _photo_it; +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (LibraryPhoto*) _tmp10_; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = photo; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = info; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = matches_master; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = matches_editable; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = matched_development; +#line 4828 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_compare_backing (self, _tmp11_, _tmp12_, _tmp13_, _tmp14_, _tmp15_); +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 37491 "Photo.c" + } +#line 4827 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 37495 "Photo.c" + } + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeIterator* _tmp18_ = NULL; + GeeIterator* _tmp19_ = NULL; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = media_source_collection_get_offline_bin_contents (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp17_); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _media_it = _tmp19_; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 37517 "Photo.c" + GeeIterator* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; + MediaSource* _tmp24_ = NULL; + GFileInfo* _tmp25_ = NULL; + GeeCollection* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; + GeeCollection* _tmp28_ = NULL; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _media_it; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = gee_iterator_next (_tmp20_); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp21_) { +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37536 "Photo.c" + } +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _media_it; +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = gee_iterator_get (_tmp22_); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + media = (MediaSource*) _tmp23_; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = media; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = info; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = matches_master; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = matches_editable; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = matched_development; +#line 4831 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_compare_backing (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_LIBRARY_PHOTO, LibraryPhoto), _tmp25_, _tmp26_, _tmp27_, _tmp28_); +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (media); +#line 37558 "Photo.c" + } +#line 4830 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_media_it); +#line 37562 "Photo.c" + } +} + + +void library_photo_source_collection_get_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize, PhotoID* result) { + PhotoID _tmp19_ = {0}; +#line 4834 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self)); +#line 4834 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (basename != NULL); +#line 37573 "Photo.c" + { + GeeIterator* _photo_it = NULL; + GeeMultiMap* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->filesize_to_photo; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = filesize; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_multi_map_get (_tmp0_, &_tmp1_); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp3_); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_it = _tmp5_; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 37600 "Photo.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + LibraryPhoto* photo = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + gboolean _tmp16_ = FALSE; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _photo_it; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp7_) { +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 37621 "Photo.c" + } +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _photo_it; +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + photo = (LibraryPhoto*) _tmp9_; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = g_file_get_basename (_tmp12_); +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = basename; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = utf8_ci_compare (_tmp13_, _tmp14_); +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_ == 0; +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp12_); +#line 4836 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_) { +#line 37647 "Photo.c" + LibraryPhoto* _tmp17_ = NULL; + PhotoID _tmp18_ = {0}; +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo; +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO, Photo), &_tmp18_); +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp18_; +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 4837 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 37662 "Photo.c" + } +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 37666 "Photo.c" + } +#line 4835 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_photo_it); +#line 37670 "Photo.c" + } +#line 4840 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp19_, PHOTO_ID_INVALID); +#line 4840 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp19_; +#line 4840 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 37678 "Photo.c" +} + + +gboolean library_photo_source_collection_has_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + PhotoID _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; +#line 4844 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 4844 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (basename != NULL, FALSE); +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = basename; +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = filesize; +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_get_basename_filesize_duplicate (self, _tmp0_, _tmp1_, &_tmp2_); +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_id_is_valid (&_tmp2_); +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 4845 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37704 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_trashed_by_file (LibraryPhotoSourceCollection* self, GFile* file) { + LibraryPhoto* result = NULL; + LibraryPhoto* photo = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; +#line 4848 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4848 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_holding_tank_fetch_by_master_file (_tmp1_, _tmp2_); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4849 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp4_; +#line 4850 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo; +#line 4850 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ == NULL) { +#line 37739 "Photo.c" + MediaSourceHoldingTank* _tmp6_ = NULL; + LibraryPhotoSourceHoldingTank* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = file; +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = library_photo_source_holding_tank_fetch_by_backing_file (_tmp7_, _tmp8_); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4851 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp7_); +#line 37758 "Photo.c" + } +#line 4854 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4854 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37764 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_trashed_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5) { + LibraryPhoto* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; +#line 4857 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4857 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (md5 != NULL, NULL); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = md5; +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_holding_tank_fetch_by_md5 (_tmp1_, _tmp2_); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 4858 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37795 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_offline_by_file (LibraryPhotoSourceCollection* self, GFile* file) { + LibraryPhoto* result = NULL; + LibraryPhoto* photo = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; +#line 4861 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4861 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = file; +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_holding_tank_fetch_by_master_file (_tmp1_, _tmp2_); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4862 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp4_; +#line 4863 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo; +#line 4863 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ == NULL) { +#line 37830 "Photo.c" + MediaSourceHoldingTank* _tmp6_ = NULL; + LibraryPhotoSourceHoldingTank* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = file; +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = library_photo_source_holding_tank_fetch_by_backing_file (_tmp7_, _tmp8_); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4864 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp7_); +#line 37849 "Photo.c" + } +#line 4867 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4867 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37855 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_offline_by_md5 (LibraryPhotoSourceCollection* self, const gchar* md5) { + LibraryPhoto* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; +#line 4870 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4870 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (md5 != NULL, NULL); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = md5; +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_holding_tank_fetch_by_md5 (_tmp1_, _tmp2_); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 4871 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37886 "Photo.c" +} + + +gint library_photo_source_collection_get_offline_count (LibraryPhotoSourceCollection* self) { + gint result = 0; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 4874 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), 0); +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = source_holding_tank_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)); +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 4875 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37912 "Photo.c" +} + + +LibraryPhoto* library_photo_source_collection_get_state_by_file (LibraryPhotoSourceCollection* self, GFile* file, LibraryPhotoSourceCollectionState* state) { + LibraryPhotoSourceCollectionState _vala_state = 0; + LibraryPhoto* result = NULL; + LibraryPhoto* photo = NULL; + GFile* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; + LibraryPhoto* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + LibraryPhoto* _tmp15_ = NULL; + LibraryPhoto* _tmp16_ = NULL; +#line 4878 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 4878 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 4879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 4879 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_collection_fetch_by_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp0_); +#line 4879 "/home/jens/Source/shotwell/src/Photo.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4880 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 4880 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 4881 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE; +#line 4883 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4883 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4883 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 37959 "Photo.c" + } +#line 4883 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37963 "Photo.c" + } +#line 4886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file; +#line 4886 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = library_photo_source_collection_fetch_by_editable_file (self, _tmp3_); +#line 4886 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4886 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp4_; +#line 4887 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo; +#line 4887 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_ != NULL) { +#line 4888 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE; +#line 4890 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4890 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4890 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 37985 "Photo.c" + } +#line 4890 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 37989 "Photo.c" + } +#line 4893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = file; +#line 4893 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = library_photo_source_collection_fetch_by_raw_development_file (self, _tmp6_); +#line 4893 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4893 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp7_; +#line 4894 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo; +#line 4894 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != NULL) { +#line 4895 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER; +#line 4897 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4897 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4897 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 38011 "Photo.c" + } +#line 4897 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38015 "Photo.c" + } +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = file; +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = library_photo_source_collection_get_trashed_by_file (self, _tmp9_); +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp10_) : NULL; +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ == NULL) { +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp10_); +#line 38027 "Photo.c" + } +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4900 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp11_; +#line 4901 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo; +#line 4901 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_ != NULL) { +#line 4902 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH; +#line 4904 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4904 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4904 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 38045 "Photo.c" + } +#line 4904 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38049 "Photo.c" + } +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = file; +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = library_photo_source_collection_get_offline_by_file (self, _tmp13_); +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp14_) : NULL; +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_ == NULL) { +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp14_); +#line 38061 "Photo.c" + } +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4907 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp15_; +#line 4908 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo; +#line 4908 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_ != NULL) { +#line 4909 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE; +#line 4911 "/home/jens/Source/shotwell/src/Photo.vala" + result = photo; +#line 4911 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4911 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 38079 "Photo.c" + } +#line 4911 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38083 "Photo.c" + } +#line 4914 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN; +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + result = NULL; +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + if (state) { +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + *state = _vala_state; +#line 38095 "Photo.c" + } +#line 4916 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38099 "Photo.c" +} + + +static gboolean library_photo_source_collection_real_has_backlink (SourceCollection* base, SourceBacklink* backlink) { + LibraryPhotoSourceCollection * self; + gboolean result = FALSE; + SourceBacklink* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + MediaSourceHoldingTank* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; + SourceBacklink* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + MediaSourceHoldingTank* _tmp7_ = NULL; + MediaSourceHoldingTank* _tmp8_ = NULL; + SourceBacklink* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; +#line 4919 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4919 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (backlink), FALSE); +#line 4920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = backlink; +#line 4920 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = SOURCE_COLLECTION_CLASS (library_photo_source_collection_parent_class)->has_backlink (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_SOURCE_COLLECTION, SourceCollection), _tmp0_); +#line 4920 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 4921 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4921 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38132 "Photo.c" + } +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = backlink; +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = source_holding_tank_has_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp4_); +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_; +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp3_); +#line 4923 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 4924 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4924 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38152 "Photo.c" + } +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = backlink; +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = source_holding_tank_has_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp9_); +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp8_); +#line 4926 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_) { +#line 4927 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 4927 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38172 "Photo.c" + } +#line 4929 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 4929 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38178 "Photo.c" +} + + +static void library_photo_source_collection_real_remove_backlink (SourceCollection* base, SourceBacklink* backlink) { + LibraryPhotoSourceCollection * self; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; + MediaSourceHoldingTank* _tmp4_ = NULL; + SourceBacklink* _tmp5_ = NULL; + SourceBacklink* _tmp6_ = NULL; +#line 4932 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4932 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = backlink; +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + source_holding_tank_remove_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp2_); +#line 4933 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = backlink; +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + source_holding_tank_remove_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp5_); +#line 4934 "/home/jens/Source/shotwell/src/Photo.vala" + _source_holding_tank_unref0 (_tmp4_); +#line 4936 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = backlink; +#line 4936 "/home/jens/Source/shotwell/src/Photo.vala" + SOURCE_COLLECTION_CLASS (library_photo_source_collection_parent_class)->remove_backlink (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_SOURCE_COLLECTION, SourceCollection), _tmp6_); +#line 38219 "Photo.c" +} + + +static TransactionController* library_photo_source_collection_real_get_transaction_controller (MediaSourceCollection* base) { + TransactionController* result; + LibraryPhotoSourceCollection* self; + TransactionController* _tmp0_ = NULL; + TransactionController* _tmp2_ = NULL; +#line 4453 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->_transaction_controller; +#line 4454 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ == NULL) { +#line 38234 "Photo.c" + MediaSourceTransactionController* _tmp1_ = NULL; +#line 4455 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = media_source_transaction_controller_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 4455 "/home/jens/Source/shotwell/src/Photo.vala" + _transaction_controller_unref0 (self->priv->_transaction_controller); +#line 4455 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->_transaction_controller = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_TRANSACTION_CONTROLLER, TransactionController); +#line 38242 "Photo.c" + } +#line 4457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = self->priv->_transaction_controller; +#line 4457 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 4457 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38250 "Photo.c" +} + + +static void library_photo_source_collection_real_master_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4475 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4475 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 38259 "Photo.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_MEDIA_METADATA) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_MEDIA_METADATA callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (n_param_values == 3); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = closure->data; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = param_values->data[0].v_pointer; +#line 38278 "Photo.c" + } else { +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + data1 = param_values->data[0].v_pointer; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + data2 = closure->data; +#line 38284 "Photo.c" + } +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + callback = (GMarshalFunc_VOID__OBJECT_MEDIA_METADATA) (marshal_data ? marshal_data : cc->callback); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + callback (data1, g_value_get_object (param_values + 1), value_get_media_metadata (param_values + 2), data2); +#line 38290 "Photo.c" +} + + +static void library_photo_source_collection_real_editable_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4478 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4478 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 38299 "Photo.c" +} + + +static void library_photo_source_collection_real_baseline_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4481 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4481 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 38308 "Photo.c" +} + + +static void library_photo_source_collection_real_source_reimported (LibraryPhotoSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 4484 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 4484 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 38317 "Photo.c" +} + + +static void library_photo_source_collection_class_init (LibraryPhotoSourceCollectionClass * klass) { +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataCollectionClass *) klass)->finalize = library_photo_source_collection_finalize; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (LibraryPhotoSourceCollectionPrivate)); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->create_trashcan = library_photo_source_collection_real_create_trashcan; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->create_offline_bin = library_photo_source_collection_real_create_offline_bin; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->create_media_monitor = library_photo_source_collection_real_create_media_monitor; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = library_photo_source_collection_real_holds_type_of_source; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->get_typename = library_photo_source_collection_real_get_typename; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->is_file_recognized = library_photo_source_collection_real_is_file_recognized; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataCollectionClass *) klass)->notify_contents_altered = library_photo_source_collection_real_notify_contents_altered; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataCollectionClass *) klass)->items_altered = library_photo_source_collection_real_items_altered; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->postprocess_imported_media = library_photo_source_collection_real_postprocess_imported_media; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->notify_master_reimported = library_photo_source_collection_real_notify_master_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->notify_editable_reimported = library_photo_source_collection_real_notify_editable_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->notify_source_reimported = library_photo_source_collection_real_notify_source_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->notify_baseline_reimported = library_photo_source_collection_real_notify_baseline_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->fetch_by_numeric_id = library_photo_source_collection_real_fetch_by_numeric_id; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->fetch_by_source_id = library_photo_source_collection_real_fetch_by_source_id; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceCollectionClass *) klass)->get_event_source_ids = library_photo_source_collection_real_get_event_source_ids; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceCollectionClass *) klass)->has_backlink = library_photo_source_collection_real_has_backlink; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceCollectionClass *) klass)->remove_backlink = library_photo_source_collection_real_remove_backlink; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->master_reimported = library_photo_source_collection_real_master_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->editable_reimported = library_photo_source_collection_real_editable_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->baseline_reimported = library_photo_source_collection_real_baseline_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + ((LibraryPhotoSourceCollectionClass *) klass)->source_reimported = library_photo_source_collection_real_source_reimported; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + MEDIA_SOURCE_COLLECTION_CLASS (klass)->get_transaction_controller = library_photo_source_collection_real_get_transaction_controller; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("master_reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LibraryPhotoSourceCollectionClass, master_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA, G_TYPE_NONE, 2, TYPE_LIBRARY_PHOTO, TYPE_PHOTO_METADATA); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("editable_reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LibraryPhotoSourceCollectionClass, editable_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA, G_TYPE_NONE, 2, TYPE_LIBRARY_PHOTO, TYPE_PHOTO_METADATA); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("baseline_reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LibraryPhotoSourceCollectionClass, baseline_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA, G_TYPE_NONE, 2, TYPE_LIBRARY_PHOTO, TYPE_PHOTO_METADATA); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_new ("source_reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LibraryPhotoSourceCollectionClass, source_reimported), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_MEDIA_METADATA, G_TYPE_NONE, 2, TYPE_LIBRARY_PHOTO, TYPE_PHOTO_METADATA); +#line 38382 "Photo.c" +} + + +static void library_photo_source_collection_instance_init (LibraryPhotoSourceCollection * self) { + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeTreeMultiMap* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + GeeTreeMultiMap* _tmp5_ = NULL; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = LIBRARY_PHOTO_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 4461 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->_transaction_controller = NULL; +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->by_editable_file = _tmp0_; +#line 4464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 4464 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->by_raw_development_file = _tmp1_; +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_tree_multi_map_new (G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _int64_compare_gcompare_data_func, NULL, NULL, NULL, NULL, NULL); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->filesize_to_photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 4468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, _int64_equal_gee_equal_data_func, NULL, NULL); +#line 4468 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->photo_to_master_filesize = _tmp3_; +#line 4470 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, _int64_equal_gee_equal_data_func, NULL, NULL); +#line 4470 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->photo_to_editable_filesize = _tmp4_; +#line 4472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_tree_multi_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 4472 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->photo_to_raw_development_filesize = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 38421 "Photo.c" +} + + +static void library_photo_source_collection_finalize (DataCollection* obj) { + LibraryPhotoSourceCollection * self; +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection); +#line 4461 "/home/jens/Source/shotwell/src/Photo.vala" + _transaction_controller_unref0 (self->priv->_transaction_controller); +#line 4462 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->by_editable_file); +#line 4464 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->by_raw_development_file); +#line 4466 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->filesize_to_photo); +#line 4468 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo_to_master_filesize); +#line 4470 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo_to_editable_filesize); +#line 4472 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->photo_to_raw_development_filesize); +#line 4442 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_COLLECTION_CLASS (library_photo_source_collection_parent_class)->finalize (obj); +#line 38445 "Photo.c" +} + + +GType library_photo_source_collection_get_type (void) { + static volatile gsize library_photo_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotoSourceCollection), 0, (GInstanceInitFunc) library_photo_source_collection_instance_init, NULL }; + GType library_photo_source_collection_type_id; + library_photo_source_collection_type_id = g_type_register_static (TYPE_MEDIA_SOURCE_COLLECTION, "LibraryPhotoSourceCollection", &g_define_type_info, 0); + g_once_init_leave (&library_photo_source_collection_type_id__volatile, library_photo_source_collection_type_id); + } + return library_photo_source_collection_type_id__volatile; +} + + +static void _library_photo_generate_thumbnails_one_shot_callback (gpointer self) { +#line 4964 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_generate_thumbnails ((LibraryPhoto*) self); +#line 38464 "Photo.c" +} + + +static LibraryPhoto* library_photo_construct (GType object_type, PhotoRow* row) { + LibraryPhoto * self = NULL; + PhotoRow* _tmp0_ = NULL; + OneShotScheduler* _tmp1_ = NULL; + PhotoRow* _tmp2_ = NULL; + guint64 _tmp3_ = 0ULL; + PhotoRow* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; +#line 4959 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_ROW (row), NULL); +#line 4960 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = row; +#line 4960 "/home/jens/Source/shotwell/src/Photo.vala" + self = (LibraryPhoto*) photo_construct (object_type, _tmp0_); +#line 4962 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->import_keywords); +#line 4962 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->import_keywords = NULL; +#line 4964 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = one_shot_scheduler_new ("LibraryPhoto", _library_photo_generate_thumbnails_one_shot_callback, self); +#line 4964 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->thumbnail_scheduler); +#line 4964 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->thumbnail_scheduler = _tmp1_; +#line 4967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = row; +#line 4967 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->flags; +#line 4967 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp3_ & (LIBRARY_PHOTO_FLAG_TRASH | LIBRARY_PHOTO_FLAG_OFFLINE)) != ((guint64) 0)) { +#line 38498 "Photo.c" + LibraryPhotoSourceCollection* _tmp4_ = NULL; + PhotoRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 4968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = library_photo_global; +#line 4968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = row; +#line 4968 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp5_->backlinks; +#line 4968 "/home/jens/Source/shotwell/src/Photo.vala" + data_source_rehydrate_backlinks (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp6_); +#line 38510 "Photo.c" + } +#line 4970 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = row; +#line 4970 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->flags; +#line 4970 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp8_ & (LIBRARY_PHOTO_FLAG_HIDDEN | LIBRARY_PHOTO_FLAG_FAVORITE)) != ((guint64) 0)) { +#line 38518 "Photo.c" + PhotoRow* _tmp9_ = NULL; + guint64 _tmp10_ = 0ULL; +#line 4971 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = row; +#line 4971 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_->flags; +#line 4971 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_upgrade_rating_flags (self, _tmp10_); +#line 38527 "Photo.c" + } +#line 4959 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 38531 "Photo.c" +} + + +static LibraryPhoto* library_photo_new (PhotoRow* row) { +#line 4959 "/home/jens/Source/shotwell/src/Photo.vala" + return library_photo_construct (TYPE_LIBRARY_PHOTO, row); +#line 38538 "Photo.c" +} + + +static LibraryPhoto* library_photo_construct_from_import_params (GType object_type, PhotoImportParams* import_params) { + LibraryPhoto * self = NULL; + PhotoImportParams* _tmp0_ = NULL; + PhotoRow* _tmp1_ = NULL; + PhotoImportParams* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + OneShotScheduler* _tmp5_ = NULL; + PhotoImportParams* _tmp6_ = NULL; + PhotoRow* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; + PhotoImportParams* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + guint64 _tmp15_ = 0ULL; +#line 4974 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_PARAMS (import_params), NULL); +#line 4975 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = import_params; +#line 4975 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_->row; +#line 4975 "/home/jens/Source/shotwell/src/Photo.vala" + self = (LibraryPhoto*) photo_construct (object_type, _tmp1_); +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = import_params; +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->keywords; +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->import_keywords); +#line 4977 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->import_keywords = _tmp4_; +#line 4978 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = one_shot_scheduler_new ("LibraryPhoto", _library_photo_generate_thumbnails_one_shot_callback, self); +#line 4978 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->thumbnail_scheduler); +#line 4978 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->thumbnail_scheduler = _tmp5_; +#line 4981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = import_params; +#line 4981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_->row; +#line 4981 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_->flags; +#line 4981 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp8_ & (LIBRARY_PHOTO_FLAG_TRASH | LIBRARY_PHOTO_FLAG_OFFLINE)) != ((guint64) 0)) { +#line 38588 "Photo.c" + LibraryPhotoSourceCollection* _tmp9_ = NULL; + PhotoImportParams* _tmp10_ = NULL; + PhotoRow* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = library_photo_global; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = import_params; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_->row; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_->backlinks; +#line 4982 "/home/jens/Source/shotwell/src/Photo.vala" + data_source_rehydrate_backlinks (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp12_); +#line 38603 "Photo.c" + } +#line 4984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = import_params; +#line 4984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _tmp13_->row; +#line 4984 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_->flags; +#line 4984 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp15_ & (LIBRARY_PHOTO_FLAG_HIDDEN | LIBRARY_PHOTO_FLAG_FAVORITE)) != ((guint64) 0)) { +#line 38613 "Photo.c" + PhotoImportParams* _tmp16_ = NULL; + PhotoRow* _tmp17_ = NULL; + guint64 _tmp18_ = 0ULL; +#line 4985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = import_params; +#line 4985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_->row; +#line 4985 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_->flags; +#line 4985 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_upgrade_rating_flags (self, _tmp18_); +#line 38625 "Photo.c" + } +#line 4974 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 38629 "Photo.c" +} + + +static LibraryPhoto* library_photo_new_from_import_params (PhotoImportParams* import_params) { +#line 4974 "/home/jens/Source/shotwell/src/Photo.vala" + return library_photo_construct_from_import_params (TYPE_LIBRARY_PHOTO, import_params); +#line 38636 "Photo.c" +} + + +void library_photo_init (ProgressMonitor monitor, void* monitor_target) { + LibraryPhotoSourceCollection* _tmp0_ = NULL; + GeeArrayList* all = NULL; + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* all_photos = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* trashed_photos = NULL; + GeeArrayList* _tmp6_ = NULL; + GeeArrayList* offline_photos = NULL; + GeeArrayList* _tmp7_ = NULL; + gint count = 0; + GeeArrayList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + LibraryPhotoSourceCollection* _tmp34_ = NULL; + GeeArrayList* _tmp35_ = NULL; + GeeCollection* _tmp36_ = NULL; + GeeCollection* _tmp37_ = NULL; + LibraryPhotoSourceCollection* _tmp38_ = NULL; + GeeArrayList* _tmp39_ = NULL; + LibraryPhotoSourceCollection* _tmp40_ = NULL; + GeeArrayList* _tmp41_ = NULL; +#line 4989 "/home/jens/Source/shotwell/src/Photo.vala" + photo_init_photo (); +#line 4991 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = library_photo_source_collection_new (); +#line 4991 "/home/jens/Source/shotwell/src/Photo.vala" + _data_collection_unref0 (library_photo_global); +#line 4991 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_global = _tmp0_; +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_table_get_all (_tmp2_); +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 4995 "/home/jens/Source/shotwell/src/Photo.vala" + all = _tmp4_; +#line 4996 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 4996 "/home/jens/Source/shotwell/src/Photo.vala" + all_photos = _tmp5_; +#line 4997 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 4997 "/home/jens/Source/shotwell/src/Photo.vala" + trashed_photos = _tmp6_; +#line 4998 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 4998 "/home/jens/Source/shotwell/src/Photo.vala" + offline_photos = _tmp7_; +#line 4999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = all; +#line 4999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4999 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tmp9_; +#line 4999 "/home/jens/Source/shotwell/src/Photo.vala" + count = _tmp10_; +#line 38705 "Photo.c" + { + gint ctr = 0; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + ctr = 0; +#line 38710 "Photo.c" + { + gboolean _tmp11_ = FALSE; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = TRUE; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 38717 "Photo.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + PhotoRow* row = NULL; + GeeArrayList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; + LibraryPhoto* photo = NULL; + PhotoRow* _tmp18_ = NULL; + LibraryPhoto* _tmp19_ = NULL; + guint64 flags = 0ULL; + PhotoRow* _tmp20_ = NULL; + guint64 _tmp21_ = 0ULL; + guint64 _tmp22_ = 0ULL; + ProgressMonitor _tmp30_ = NULL; + void* _tmp30__target = NULL; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp11_) { +#line 38735 "Photo.c" + gint _tmp12_ = 0; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = ctr; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + ctr = _tmp12_ + 1; +#line 38741 "Photo.c" + } +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = FALSE; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = ctr; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = count; +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 38753 "Photo.c" + } +#line 5001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = all; +#line 5001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = ctr; +#line 5001 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp16_); +#line 5001 "/home/jens/Source/shotwell/src/Photo.vala" + row = (PhotoRow*) _tmp17_; +#line 5002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = row; +#line 5002 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = library_photo_new (_tmp18_); +#line 5002 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp19_; +#line 5003 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = row; +#line 5003 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_->flags; +#line 5003 "/home/jens/Source/shotwell/src/Photo.vala" + flags = _tmp21_; +#line 5005 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = flags; +#line 5005 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp22_ & LIBRARY_PHOTO_FLAG_TRASH) != ((guint64) 0)) { +#line 38779 "Photo.c" + GeeArrayList* _tmp23_ = NULL; + LibraryPhoto* _tmp24_ = NULL; +#line 5006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = trashed_photos; +#line 5006 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo; +#line 5006 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp24_); +#line 38788 "Photo.c" + } else { + guint64 _tmp25_ = 0ULL; +#line 5007 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = flags; +#line 5007 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp25_ & LIBRARY_PHOTO_FLAG_OFFLINE) != ((guint64) 0)) { +#line 38795 "Photo.c" + GeeArrayList* _tmp26_ = NULL; + LibraryPhoto* _tmp27_ = NULL; +#line 5008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = offline_photos; +#line 5008 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = photo; +#line 5008 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp27_); +#line 38804 "Photo.c" + } else { + GeeArrayList* _tmp28_ = NULL; + LibraryPhoto* _tmp29_ = NULL; +#line 5010 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = all_photos; +#line 5010 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = photo; +#line 5010 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp29_); +#line 38814 "Photo.c" + } + } +#line 5012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = monitor; +#line 5012 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30__target = monitor_target; +#line 5012 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp30_ != NULL) { +#line 38823 "Photo.c" + ProgressMonitor _tmp31_ = NULL; + void* _tmp31__target = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = monitor; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31__target = monitor_target; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = ctr; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = count; +#line 5013 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ ((guint64) _tmp32_, (guint64) _tmp33_, TRUE, _tmp31__target); +#line 38838 "Photo.c" + } +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 5000 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (row); +#line 38844 "Photo.c" + } + } + } +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = library_photo_global; +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = all_photos; +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tmp36_; +#line 5016 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp37_); +#line 5017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = library_photo_global; +#line 5017 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = trashed_photos; +#line 5017 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_collection_add_many_to_trash (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = library_photo_global; +#line 5018 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = offline_photos; +#line 5018 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_collection_add_many_to_offline (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4988 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (offline_photos); +#line 4988 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (trashed_photos); +#line 4988 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (all_photos); +#line 4988 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (all); +#line 38878 "Photo.c" +} + + +void library_photo_terminate (void) { +#line 5022 "/home/jens/Source/shotwell/src/Photo.vala" + photo_terminate_photo (); +#line 38885 "Photo.c" +} + + +ImportResult library_photo_import_create (PhotoImportParams* params, LibraryPhoto** photo) { + LibraryPhoto* _vala_photo = NULL; + ImportResult result = 0; + PhotoID photo_id = {0}; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + PhotoImportParams* _tmp2_ = NULL; + PhotoRow* _tmp3_ = NULL; + PhotoID _tmp4_ = {0}; + PhotoID _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + PhotoImportParams* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; +#line 5029 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_PARAMS (params), 0); +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = params; +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->row; +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_add (_tmp1_, _tmp3_, &_tmp4_); +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 5031 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id = _tmp5_; +#line 5032 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = photo_id_is_invalid (&photo_id); +#line 5032 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 5033 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_vala_photo); +#line 5033 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_photo = NULL; +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_DATABASE_ERROR; +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + if (photo) { +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + *photo = _vala_photo; +#line 38934 "Photo.c" + } else { +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_vala_photo); +#line 38938 "Photo.c" + } +#line 5035 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38942 "Photo.c" + } +#line 5039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = params; +#line 5039 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = library_photo_new_from_import_params (_tmp7_); +#line 5039 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_vala_photo); +#line 5039 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_photo = _tmp8_; +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + result = IMPORT_RESULT_SUCCESS; +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + if (photo) { +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + *photo = _vala_photo; +#line 38958 "Photo.c" + } else { +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_vala_photo); +#line 38962 "Photo.c" + } +#line 5041 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 38966 "Photo.c" +} + + +void library_photo_import_failed (LibraryPhoto* photo) { + GError * _inner_error_ = NULL; +#line 5044 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 38974 "Photo.c" + { + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + PhotoID _tmp3_ = {0}; +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_table_get_instance (); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO, Photo), &_tmp3_); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_remove (_tmp1_, &_tmp3_, &_inner_error_); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp1_); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 38996 "Photo.c" + goto __catch393_database_error; + } +#line 5046 "/home/jens/Source/shotwell/src/Photo.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 5046 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5046 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39005 "Photo.c" + } + } + goto __finally393; + __catch393_database_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 5048 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = err; +#line 5048 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp4_); +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 39023 "Photo.c" + } + __finally393: +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5045 "/home/jens/Source/shotwell/src/Photo.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 5045 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5045 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39034 "Photo.c" + } +} + + +static void library_photo_real_notify_master_reimported (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + PhotoMetadata* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 5052 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5052 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 5053 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5053 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->notify_master_reimported (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5055 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = library_photo_global; +#line 5055 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5055 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_notify_master_reimported (_tmp1_, self, _tmp2_); +#line 39058 "Photo.c" +} + + +static void library_photo_real_notify_editable_reimported (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + PhotoMetadata* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 5058 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5058 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 5059 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5059 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->notify_editable_reimported (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = library_photo_global; +#line 5061 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5061 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_notify_editable_reimported (_tmp1_, self, _tmp2_); +#line 39081 "Photo.c" +} + + +static void library_photo_real_notify_source_reimported (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + PhotoMetadata* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 5064 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5064 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 5065 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5065 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->notify_source_reimported (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = library_photo_global; +#line 5067 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5067 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_notify_source_reimported (_tmp1_, self, _tmp2_); +#line 39104 "Photo.c" +} + + +static void library_photo_real_notify_baseline_reimported (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + PhotoMetadata* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 5070 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5070 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 5071 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5071 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->notify_baseline_reimported (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = library_photo_global; +#line 5073 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5073 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_collection_notify_baseline_reimported (_tmp1_, self, _tmp2_); +#line 39127 "Photo.c" +} + + +static void library_photo_generate_thumbnails (LibraryPhoto* self) { + GError * _inner_error_ = NULL; +#line 5076 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 39135 "Photo.c" + { +#line 5078 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_import_from_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), TRUE, &_inner_error_); +#line 5078 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 39141 "Photo.c" + goto __catch394_g_error; + } + } + goto __finally394; + __catch394_g_error: + { + GError* err = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = err; +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->message; +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:5080: Unable to generate thumbnails for %s: %s", _tmp1_, _tmp3_); +#line 5080 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp1_); +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 39171 "Photo.c" + } + __finally394: +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5077 "/home/jens/Source/shotwell/src/Photo.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 5077 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5077 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39182 "Photo.c" + } +#line 5084 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_source_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 39186 "Photo.c" +} + + +GeeCollection* library_photo_get_import_keywords (LibraryPhoto* self) { + GeeCollection* result = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 5088 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (self), NULL); +#line 5089 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->import_keywords; +#line 5089 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 5089 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 5089 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39204 "Photo.c" +} + + +void library_photo_clear_import_keywords (LibraryPhoto* self) { +#line 5092 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 5093 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->import_keywords); +#line 5093 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->import_keywords = NULL; +#line 39215 "Photo.c" +} + + +static void library_photo_real_notify_altered (DataObject* base, Alteration* alteration) { + LibraryPhoto * self; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + Alteration* _tmp5_ = NULL; +#line 5096 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5096 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = self->priv->block_thumbnail_generation; +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp1_) { +#line 39232 "Photo.c" + Alteration* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = alteration; +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = alteration_has_subject (_tmp2_, "image"); +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_; +#line 39241 "Photo.c" + } else { +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = FALSE; +#line 39245 "Photo.c" + } +#line 5098 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_) { +#line 39249 "Photo.c" + OneShotScheduler* _tmp4_ = NULL; +#line 5099 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->thumbnail_scheduler; +#line 5099 "/home/jens/Source/shotwell/src/Photo.vala" + one_shot_scheduler_at_priority_idle (_tmp4_, G_PRIORITY_LOW); +#line 39255 "Photo.c" + } +#line 5101 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = alteration; +#line 5101 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_OBJECT_CLASS (library_photo_parent_class)->notify_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), TYPE_DATA_OBJECT, DataObject), _tmp5_); +#line 39261 "Photo.c" +} + + +static GdkPixbuf* library_photo_real_get_preview_pixbuf (MediaSource* base, Scaling* scaling, GError** error) { + LibraryPhoto * self; + GdkPixbuf* result = NULL; + GdkPixbuf* pixbuf = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 5104 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5104 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = thumbnail_source_get_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), (gint) THUMBNAIL_CACHE_SIZE_BIG, &_inner_error_); +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + pixbuf = _tmp0_; +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5105 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39286 "Photo.c" + } +#line 5107 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = scaling_perform_on_pixbuf (scaling, pixbuf, GDK_INTERP_BILINEAR, TRUE); +#line 5107 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp1_; +#line 5107 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (pixbuf); +#line 5107 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39296 "Photo.c" +} + + +static void library_photo_real_rotate (Photo* base, Rotation rotation) { + LibraryPhoto * self; + Rotation _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 5110 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5112 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->block_thumbnail_generation = TRUE; +#line 5113 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = rotation; +#line 5113 "/home/jens/Source/shotwell/src/Photo.vala" + PHOTO_CLASS (library_photo_parent_class)->rotate (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 5114 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->block_thumbnail_generation = FALSE; +#line 39314 "Photo.c" + { + Rotation _tmp1_ = 0; +#line 5122 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = rotation; +#line 5122 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_rotate (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp1_, &_inner_error_); +#line 5122 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 39323 "Photo.c" + goto __catch395_g_error; + } + } + goto __finally395; + __catch395_g_error: + { + GError* err = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = err; +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->message; +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + g_warning ("Photo.vala:5125: Unable to update thumbnails for %s: %s", _tmp3_, _tmp5_); +#line 5125 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp3_); +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 39353 "Photo.c" + } + __finally395: +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5121 "/home/jens/Source/shotwell/src/Photo.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 5121 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5121 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39364 "Photo.c" + } +#line 5128 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_source_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 39368 "Photo.c" +} + + +static GdkPixbuf* library_photo_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + LibraryPhoto * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 5132 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = scale; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = thumbnail_cache_fetch (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp1_, &_inner_error_); +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp2_; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39394 "Photo.c" + } +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp0_; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = NULL; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp3_; +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp0_); +#line 5133 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39406 "Photo.c" +} + + +static void _library_photo_on_duplicate_progress_gfile_progress_callback (gint64 current_num_bytes, gint64 total_num_bytes, gpointer self) { +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_on_duplicate_progress ((LibraryPhoto*) self, current_num_bytes, total_num_bytes); +#line 39413 "Photo.c" +} + + +static void library_photo_duplicate_backing_photo (LibraryPhoto* self, BackingPhotoRow* backing, BackingPhotoID* result, GError** error) { + BackingPhotoID backing_id = {0}; + gboolean _tmp0_ = FALSE; + BackingPhotoRow* _tmp1_ = NULL; + GFile* file = NULL; + BackingPhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GError * _inner_error_ = NULL; +#line 5138 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 5138 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((backing == NULL) || IS_BACKING_PHOTO_ROW (backing)); +#line 5139 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_id_init (&backing_id, BACKING_PHOTO_ID_INVALID); +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = backing; +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_ == NULL) { +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = TRUE; +#line 39440 "Photo.c" + } else { + BackingPhotoRow* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = backing; +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_->filepath; +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp3_ == NULL; +#line 39450 "Photo.c" + } +#line 5140 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_) { +#line 5141 "/home/jens/Source/shotwell/src/Photo.vala" + *result = backing_id; +#line 5141 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39458 "Photo.c" + } +#line 5143 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = backing; +#line 5143 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_->filepath; +#line 5143 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = g_file_new_for_path (_tmp5_); +#line 5143 "/home/jens/Source/shotwell/src/Photo.vala" + file = _tmp6_; +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = file; +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = g_file_query_exists (_tmp7_, NULL); +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_) { +#line 39474 "Photo.c" + GFile* dupe_file = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + DetectedPhotoInformation* detected = NULL; + BackingPhotoRow* state = NULL; + GFile* _tmp11_ = NULL; + DetectedPhotoInformation* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = file; +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = library_files_duplicate (_tmp9_, _library_photo_on_duplicate_progress_gfile_progress_callback, self, TRUE, &_inner_error_); +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_file = _tmp10_; +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5145 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39498 "Photo.c" + } +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = dupe_file; +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_query_backing_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp11_, PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5, &_tmp12_, &_inner_error_); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + detected = _tmp12_; +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + state = _tmp13_; +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5148 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39522 "Photo.c" + } +#line 5150 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = state; +#line 5150 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_ != NULL) { +#line 39528 "Photo.c" + BackingPhotoTable* _tmp15_ = NULL; + BackingPhotoTable* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + BackingPhotoRow* _tmp18_ = NULL; + BackingPhotoID _tmp19_ = {0}; +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = backing_photo_table_get_instance (); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = state; +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + backing_photo_table_add (_tmp16_, _tmp17_, &_inner_error_); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp16_); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (state); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5151 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39558 "Photo.c" + } +#line 5152 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = state; +#line 5152 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_->id; +#line 5152 "/home/jens/Source/shotwell/src/Photo.vala" + backing_id = _tmp19_; +#line 39566 "Photo.c" + } +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (state); +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _detected_photo_information_unref0 (detected); +#line 5144 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 39574 "Photo.c" + } +#line 5156 "/home/jens/Source/shotwell/src/Photo.vala" + *result = backing_id; +#line 5156 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (file); +#line 5156 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 39582 "Photo.c" +} + + +LibraryPhoto* library_photo_duplicate (LibraryPhoto* self, GError** error) { + LibraryPhoto* result = NULL; + GFile* dupe_file = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + BackingPhotoID dupe_editable_id = {0}; + BackingPhotoRow* _tmp4_ = NULL; + BackingPhotoRow* _tmp5_ = NULL; + BackingPhotoID _tmp6_ = {0}; + BackingPhotoID _tmp7_ = {0}; + BackingPhotoID dupe_raw_shotwell_id = {0}; + BackingPhotoRow* _tmp8_ = NULL; + BackingPhotoRow* _tmp9_ = NULL; + BackingPhotoID _tmp10_ = {0}; + BackingPhotoID _tmp11_ = {0}; + BackingPhotoID dupe_raw_camera_id = {0}; + BackingPhotoRow* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + BackingPhotoID _tmp14_ = {0}; + BackingPhotoID _tmp15_ = {0}; + BackingPhotoID dupe_raw_embedded_id = {0}; + BackingPhotoRow* _tmp16_ = NULL; + BackingPhotoRow* _tmp17_ = NULL; + BackingPhotoID _tmp18_ = {0}; + BackingPhotoID _tmp19_ = {0}; + PhotoID dupe_id = {0}; + PhotoTable* _tmp20_ = NULL; + PhotoTable* _tmp21_ = NULL; + PhotoID _tmp22_ = {0}; + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + BackingPhotoID _tmp26_ = {0}; + BackingPhotoID _tmp27_ = {0}; + BackingPhotoID _tmp28_ = {0}; + BackingPhotoID _tmp29_ = {0}; + PhotoID _tmp30_ = {0}; + PhotoID _tmp31_ = {0}; + PhotoRow* dupe_row = NULL; + PhotoTable* _tmp32_ = NULL; + PhotoTable* _tmp33_ = NULL; + PhotoID _tmp34_ = {0}; + PhotoRow* _tmp35_ = NULL; + PhotoRow* _tmp36_ = NULL; + LibraryPhoto* dupe = NULL; + PhotoRow* _tmp37_ = NULL; + LibraryPhoto* _tmp38_ = NULL; + LibraryPhoto* _tmp39_ = NULL; + LibraryPhotoSourceCollection* _tmp40_ = NULL; + LibraryPhoto* _tmp41_ = NULL; + LibraryPhoto* _tmp42_ = NULL; + Event* _tmp43_ = NULL; + Event* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; + GeeCollection* tags = NULL; + TagSourceCollection* _tmp50_ = NULL; + GeeList* _tmp51_ = NULL; + GeeCollection* _tmp52_ = NULL; + GError * _inner_error_ = NULL; +#line 5159 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (self), NULL); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = library_files_duplicate (_tmp1_, _library_photo_on_duplicate_progress_gfile_progress_callback, self, TRUE, &_inner_error_); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _tmp2_; +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp1_); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_file = _tmp3_; +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5161 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39667 "Photo.c" + } +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo)); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp4_; +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_duplicate_backing_photo (self, _tmp5_, &_tmp6_, &_inner_error_); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = _tmp6_; +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp5_); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_editable_id = _tmp7_; +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5164 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39689 "Photo.c" + } +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = photo_get_raw_development_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), RAW_DEVELOPER_SHOTWELL); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_duplicate_backing_photo (self, _tmp9_, &_tmp10_, &_inner_error_); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp9_); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_raw_shotwell_id = _tmp11_; +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5165 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39711 "Photo.c" + } +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo_get_raw_development_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), RAW_DEVELOPER_CAMERA); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tmp12_; +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_duplicate_backing_photo (self, _tmp13_, &_tmp14_, &_inner_error_); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp14_; +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp13_); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_raw_camera_id = _tmp15_; +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5167 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39733 "Photo.c" + } +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo_get_raw_development_photo_row (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), RAW_DEVELOPER_EMBEDDED); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = _tmp16_; +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_duplicate_backing_photo (self, _tmp17_, &_tmp18_, &_inner_error_); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = _tmp18_; +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _backing_photo_row_unref0 (_tmp17_); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_raw_embedded_id = _tmp19_; +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5169 "/home/jens/Source/shotwell/src/Photo.vala" + return NULL; +#line 39755 "Photo.c" + } +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo_table_get_instance (); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp20_; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), &_tmp22_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = dupe_file; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = g_file_get_path (_tmp23_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = dupe_editable_id; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = dupe_raw_shotwell_id; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = dupe_raw_camera_id; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = dupe_raw_embedded_id; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_duplicate (_tmp21_, &_tmp22_, _tmp25_, &_tmp26_, &_tmp27_, &_tmp28_, &_tmp29_, &_tmp30_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = _tmp30_; +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp25_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp21_); +#line 5173 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_id = _tmp31_; +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = photo_table_get_instance (); +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tmp32_; +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = dupe_id; +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = photo_table_get_row (_tmp33_, &_tmp34_); +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tmp35_; +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp33_); +#line 5175 "/home/jens/Source/shotwell/src/Photo.vala" + dupe_row = _tmp36_; +#line 5178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = dupe_row; +#line 5178 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = library_photo_new (_tmp37_); +#line 5178 "/home/jens/Source/shotwell/src/Photo.vala" + dupe = _tmp38_; +#line 5181 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = dupe; +#line 5181 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_duplicate (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 5184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = library_photo_global; +#line 5184 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = dupe; +#line 5184 "/home/jens/Source/shotwell/src/Photo.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_DATA_OBJECT, DataObject)); +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = dupe; +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = media_source_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_; +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_ != NULL; +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp44_); +#line 5187 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp45_) { +#line 39829 "Photo.c" + LibraryPhoto* _tmp46_ = NULL; + Event* _tmp47_ = NULL; + Event* _tmp48_ = NULL; + LibraryPhoto* _tmp49_ = NULL; +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = dupe; +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = media_source_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _tmp47_; +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = dupe; +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + event_attach (_tmp48_, G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5188 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp48_); +#line 39846 "Photo.c" + } +#line 5191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = tag_global; +#line 5191 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = tag_source_collection_fetch_for_source (_tmp50_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5191 "/home/jens/Source/shotwell/src/Photo.vala" + tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection); +#line 5192 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = tags; +#line 5192 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp52_ != NULL) { +#line 39858 "Photo.c" + { + GeeIterator* _tag_it = NULL; + GeeCollection* _tmp53_ = NULL; + GeeIterator* _tmp54_ = NULL; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = tags; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_it = _tmp54_; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 39871 "Photo.c" + GeeIterator* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp57_ = NULL; + gpointer _tmp58_ = NULL; + Tag* _tmp59_ = NULL; + LibraryPhoto* _tmp60_ = NULL; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _tag_it; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = gee_iterator_next (_tmp55_); +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp56_) { +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 39887 "Photo.c" + } +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = _tag_it; +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = gee_iterator_get (_tmp57_); +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + tag = (Tag*) _tmp58_; +#line 5194 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = tag; +#line 5194 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = dupe; +#line 5194 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp59_, G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 39903 "Photo.c" + } +#line 5193 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_it); +#line 39907 "Photo.c" + } + } +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + result = dupe; +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + _photo_row_unref0 (dupe_row); +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (dupe_file); +#line 5198 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39920 "Photo.c" +} + + +static void library_photo_on_duplicate_progress (LibraryPhoto* self, gint64 current, gint64 total) { +#line 5201 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 5202 "/home/jens/Source/shotwell/src/Photo.vala" + spin_event_loop (); +#line 39929 "Photo.c" +} + + +static void library_photo_upgrade_rating_flags (LibraryPhoto* self, guint64 flags) { + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; +#line 5205 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (self)); +#line 5206 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = flags; +#line 5206 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp0_ & LIBRARY_PHOTO_FLAG_HIDDEN) != ((guint64) 0)) { +#line 5207 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), RATING_REJECTED); +#line 5208 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_HIDDEN, NULL); +#line 39946 "Photo.c" + } +#line 5211 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = flags; +#line 5211 "/home/jens/Source/shotwell/src/Photo.vala" + if ((_tmp1_ & LIBRARY_PHOTO_FLAG_FAVORITE) != ((guint64) 0)) { +#line 5212 "/home/jens/Source/shotwell/src/Photo.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), RATING_FIVE); +#line 5213 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_FAVORITE, NULL); +#line 39956 "Photo.c" + } +} + + +static gboolean library_photo_real_is_trashed (MediaSource* base) { + LibraryPhoto * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 5218 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5219 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_is_flag_set (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_TRASH); +#line 5219 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 5219 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 39973 "Photo.c" +} + + +static void library_photo_real_trash (MediaSource* base) { + LibraryPhoto * self; +#line 5222 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5223 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_TRASH, NULL); +#line 39983 "Photo.c" +} + + +static void library_photo_real_untrash (MediaSource* base) { + LibraryPhoto * self; +#line 5226 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5227 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_TRASH, NULL); +#line 39993 "Photo.c" +} + + +static gboolean library_photo_real_is_offline (Monitorable* base) { + LibraryPhoto * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 5230 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5231 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_is_flag_set (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_OFFLINE); +#line 5231 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 5231 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40009 "Photo.c" +} + + +static void library_photo_real_mark_offline (Monitorable* base) { + LibraryPhoto * self; +#line 5234 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5235 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_OFFLINE, NULL); +#line 40019 "Photo.c" +} + + +static void library_photo_real_mark_online (Monitorable* base) { + LibraryPhoto * self; +#line 5238 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5239 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_OFFLINE, NULL); +#line 40029 "Photo.c" +} + + +static gboolean library_photo_real_is_flagged (Flaggable* base) { + LibraryPhoto * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 5242 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5243 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = photo_is_flag_set (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_FLAGGED); +#line 5243 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp0_; +#line 5243 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40045 "Photo.c" +} + + +static void library_photo_real_mark_flagged (Flaggable* base) { + LibraryPhoto * self; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; +#line 5246 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = alteration_new ("metadata", "flagged"); +#line 5247 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5247 "/home/jens/Source/shotwell/src/Photo.vala" + photo_add_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_FLAGGED, _tmp1_); +#line 5247 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp1_); +#line 40063 "Photo.c" +} + + +static void library_photo_real_mark_unflagged (Flaggable* base) { + LibraryPhoto * self; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; +#line 5250 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = alteration_new ("metadata", "flagged"); +#line 5251 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _tmp0_; +#line 5251 "/home/jens/Source/shotwell/src/Photo.vala" + photo_remove_flags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), LIBRARY_PHOTO_FLAG_FLAGGED, _tmp1_); +#line 5251 "/home/jens/Source/shotwell/src/Photo.vala" + _alteration_unref0 (_tmp1_); +#line 40081 "Photo.c" +} + + +static gboolean library_photo_real_internal_delete_backing (DataSource* base, GError** error) { + LibraryPhoto * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GError * _inner_error_ = NULL; +#line 5254 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = DATA_SOURCE_CLASS (library_photo_parent_class)->internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _tmp1_; +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + g_propagate_error (error, _inner_error_); +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + return FALSE; +#line 40104 "Photo.c" + } +#line 5257 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp0_) { +#line 5258 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 5258 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40112 "Photo.c" + } +#line 5260 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = media_source_delete_original_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5260 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp2_; +#line 5260 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40120 "Photo.c" +} + + +static void library_photo_real_destroy (DataSource* base) { + LibraryPhoto * self; + PhotoID photo_id = {0}; + PhotoID _tmp0_ = {0}; + GError * _inner_error_ = NULL; +#line 5263 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5264 "/home/jens/Source/shotwell/src/Photo.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), &_tmp0_); +#line 5264 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id = _tmp0_; +#line 5267 "/home/jens/Source/shotwell/src/Photo.vala" + thumbnail_cache_remove (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 40137 "Photo.c" + { + PhotoTable* _tmp1_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoID _tmp3_ = {0}; +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_table_get_instance (); +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = _tmp1_; +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_id; +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + photo_table_remove (_tmp2_, &_tmp3_, &_inner_error_); +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + _database_table_unref0 (_tmp2_); +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 40156 "Photo.c" + goto __catch396_database_error; + } +#line 5273 "/home/jens/Source/shotwell/src/Photo.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 5273 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5273 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40165 "Photo.c" + } + } + goto __finally396; + __catch396_database_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + err = _inner_error_; +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + _inner_error_ = NULL; +#line 5275 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = err; +#line 5275 "/home/jens/Source/shotwell/src/Photo.vala" + app_window_database_error (_tmp4_); +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + _g_error_free0 (err); +#line 40183 "Photo.c" + } + __finally396: +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5272 "/home/jens/Source/shotwell/src/Photo.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 5272 "/home/jens/Source/shotwell/src/Photo.vala" + g_clear_error (&_inner_error_); +#line 5272 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40194 "Photo.c" + } +#line 5278 "/home/jens/Source/shotwell/src/Photo.vala" + DATA_SOURCE_CLASS (library_photo_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), TYPE_DATA_SOURCE, DataSource)); +#line 40198 "Photo.c" +} + + +gboolean library_photo_has_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + PhotoID _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; +#line 5281 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), FALSE); +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = thumbnail_md5; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = full_md5; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file_format; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_get_nontrash_duplicate (_tmp0_, _tmp1_, _tmp2_, _tmp3_, &_tmp4_); +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_id_is_valid (&_tmp4_); +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp5_; +#line 5283 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40228 "Photo.c" +} + + +void library_photo_get_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, PhotoID* result) { + PhotoID* ids = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + gint _tmp4_ = 0; + PhotoID* _tmp5_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + gboolean _tmp6_ = FALSE; + PhotoID* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + PhotoID* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + PhotoID _tmp18_ = {0}; +#line 5286 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((file == NULL) || G_IS_FILE (file)); +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = file; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = thumbnail_md5; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = full_md5; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = file_format; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = photo_get_duplicate_ids (_tmp0_, _tmp1_, _tmp2_, _tmp3_, &_tmp4_); +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + ids = _tmp5_; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + ids_length1 = _tmp4_; +#line 5288 "/home/jens/Source/shotwell/src/Photo.vala" + _ids_size_ = ids_length1; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = ids; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7__length1 = ids_length1; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp7_ == NULL) { +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = TRUE; +#line 40274 "Photo.c" + } else { + PhotoID* _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = ids; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8__length1 = ids_length1; +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tmp8__length1 == 0; +#line 40284 "Photo.c" + } +#line 5290 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_) { +#line 40288 "Photo.c" + PhotoID _tmp9_ = {0}; +#line 5291 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp9_, PHOTO_ID_INVALID); +#line 5291 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp9_; +#line 5291 "/home/jens/Source/shotwell/src/Photo.vala" + ids = (g_free (ids), NULL); +#line 5291 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40298 "Photo.c" + } +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = ids; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10__length1 = ids_length1; +#line 40304 "Photo.c" + { + PhotoID* id_collection = NULL; + gint id_collection_length1 = 0; + gint _id_collection_size_ = 0; + gint id_it = 0; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + id_collection = _tmp10_; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + id_collection_length1 = _tmp10__length1; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + for (id_it = 0; id_it < _tmp10__length1; id_it = id_it + 1) { +#line 40316 "Photo.c" + PhotoID id = {0}; +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + id = id_collection[id_it]; +#line 40320 "Photo.c" + { + LibraryPhoto* photo = NULL; + LibraryPhotoSourceCollection* _tmp11_ = NULL; + PhotoID _tmp12_ = {0}; + LibraryPhoto* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + LibraryPhoto* _tmp15_ = NULL; +#line 5294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = library_photo_global; +#line 5294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = id; +#line 5294 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = library_photo_source_collection_fetch (_tmp11_, &_tmp12_); +#line 5294 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp13_; +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo; +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_ != NULL) { +#line 40340 "Photo.c" + LibraryPhoto* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = photo; +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = media_source_is_trashed (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = !_tmp17_; +#line 40349 "Photo.c" + } else { +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = FALSE; +#line 40353 "Photo.c" + } +#line 5295 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp14_) { +#line 5296 "/home/jens/Source/shotwell/src/Photo.vala" + *result = id; +#line 5296 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 5296 "/home/jens/Source/shotwell/src/Photo.vala" + ids = (g_free (ids), NULL); +#line 5296 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40365 "Photo.c" + } +#line 5293 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 40369 "Photo.c" + } + } + } +#line 5299 "/home/jens/Source/shotwell/src/Photo.vala" + photo_id_init (&_tmp18_, PHOTO_ID_INVALID); +#line 5299 "/home/jens/Source/shotwell/src/Photo.vala" + *result = _tmp18_; +#line 5299 "/home/jens/Source/shotwell/src/Photo.vala" + ids = (g_free (ids), NULL); +#line 5299 "/home/jens/Source/shotwell/src/Photo.vala" + return; +#line 40381 "Photo.c" +} + + +static gboolean library_photo_real_has_user_generated_metadata (Photo* base) { + LibraryPhoto * self; + gboolean result = FALSE; + GeeList* tags = NULL; + TagSourceCollection* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + Rating _tmp11_ = 0; + PhotoMetadata* _tmp12_ = NULL; + Rating _tmp13_ = 0; + GeeSet* keywords = NULL; + PhotoMetadata* _tmp14_ = NULL; + GeeSet* _tmp15_ = NULL; + gint _tmp16_ = 0; + GeeList* _tmp17_ = NULL; + gint tags_count = 0; + gint _tmp21_ = 0; + GeeSet* _tmp22_ = NULL; + gint keywords_count = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gboolean _tmp28_ = FALSE; + GeeList* _tmp29_ = NULL; +#line 5302 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = tag_global; +#line 5303 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = tag_source_collection_fetch_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5303 "/home/jens/Source/shotwell/src/Photo.vala" + tags = _tmp1_; +#line 5305 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 5305 "/home/jens/Source/shotwell/src/Photo.vala" + metadata = _tmp2_; +#line 5306 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = metadata; +#line 5306 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ == NULL) { +#line 40426 "Photo.c" + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + GeeList* _tmp6_ = NULL; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = tags; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp6_ != NULL) { +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = TRUE; +#line 40436 "Photo.c" + } else { + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = tags; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _tmp9_ > 0; +#line 40449 "Photo.c" + } +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = TRUE; +#line 40455 "Photo.c" + } else { + Rating _tmp10_ = 0; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp10_ != RATING_UNRATED; +#line 40462 "Photo.c" + } +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + result = _tmp4_; +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5307 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40472 "Photo.c" + } +#line 5309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = metadata; +#line 5309 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = photo_metadata_get_rating (_tmp12_); +#line 5309 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp11_ != _tmp13_) { +#line 5310 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 5310 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5310 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5310 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40490 "Photo.c" + } +#line 5312 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = metadata; +#line 5312 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_metadata_get_keywords (_tmp14_, NULL, NULL, NULL); +#line 5312 "/home/jens/Source/shotwell/src/Photo.vala" + keywords = _tmp15_; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = tags; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp17_ != NULL) { +#line 40502 "Photo.c" + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = tags; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = _tmp19_; +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp20_; +#line 40514 "Photo.c" + } else { +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = 0; +#line 40518 "Photo.c" + } +#line 5313 "/home/jens/Source/shotwell/src/Photo.vala" + tags_count = _tmp16_; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = keywords; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 40526 "Photo.c" + GeeSet* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = keywords; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _tmp24_; +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = _tmp25_; +#line 40538 "Photo.c" + } else { +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = 0; +#line 40542 "Photo.c" + } +#line 5314 "/home/jens/Source/shotwell/src/Photo.vala" + keywords_count = _tmp21_; +#line 5316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = tags_count; +#line 5316 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = keywords_count; +#line 5316 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_ != _tmp27_) { +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (keywords); +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5317 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40562 "Photo.c" + } +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = tags; +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp29_ != NULL) { +#line 40568 "Photo.c" + GeeSet* _tmp30_ = NULL; +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = keywords; +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _tmp30_ != NULL; +#line 40574 "Photo.c" + } else { +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = FALSE; +#line 40578 "Photo.c" + } +#line 5319 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp28_) { +#line 40582 "Photo.c" + { + GeeList* _tag_list = NULL; + GeeList* _tmp31_ = NULL; + GeeList* _tmp32_ = NULL; + gint _tag_size = 0; + GeeList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + gint _tag_index = 0; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = tags; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = _g_object_ref0 (_tmp31_); +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_list = _tmp32_; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = _tag_list; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_size = _tmp35_; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_index = -1; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 40610 "Photo.c" + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + Tag* tag = NULL; + GeeList* _tmp39_ = NULL; + gint _tmp40_ = 0; + gpointer _tmp41_ = NULL; + GeeSet* _tmp42_ = NULL; + Tag* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gboolean _tmp48_ = FALSE; + gboolean _tmp49_ = FALSE; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = _tag_index; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_index = _tmp36_ + 1; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = _tag_index; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tag_size; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp37_ < _tmp38_)) { +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 40638 "Photo.c" + } +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = _tag_list; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = _tag_index; +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = gee_list_get (_tmp39_, _tmp40_); +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + tag = (Tag*) _tmp41_; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = keywords; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = tag; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_DATA_OBJECT, DataObject)); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _tmp44_; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = g_utf8_normalize (_tmp45_, (gssize) -1, G_NORMALIZE_DEFAULT); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _tmp46_; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection), _tmp47_); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = !_tmp48_; +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp47_); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp45_); +#line 5321 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp49_) { +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + result = TRUE; +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_list); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (keywords); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5322 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40684 "Photo.c" + } +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 40688 "Photo.c" + } +#line 5320 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_list); +#line 40692 "Photo.c" + } + } +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + result = FALSE; +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (keywords); +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + _media_metadata_unref0 (metadata); +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tags); +#line 5326 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 40705 "Photo.c" +} + + +static void library_photo_real_set_user_metadata_for_export (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + GeeList* photo_tags = NULL; + TagSourceCollection* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + PhotoMetadata* _tmp22_ = NULL; + Rating _tmp23_ = 0; +#line 5329 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5329 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 5330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = tag_global; +#line 5330 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = tag_source_collection_fetch_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5330 "/home/jens/Source/shotwell/src/Photo.vala" + photo_tags = _tmp1_; +#line 5331 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo_tags; +#line 5331 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp2_ != NULL) { +#line 40731 "Photo.c" + GeeCollection* string_tags = NULL; + GeeArrayList* _tmp3_ = NULL; + PhotoMetadata* _tmp19_ = NULL; + GeeCollection* _tmp20_ = NULL; +#line 5332 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 5332 "/home/jens/Source/shotwell/src/Photo.vala" + string_tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 40740 "Photo.c" + { + GeeList* _tag_list = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _tag_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tag_index = 0; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo_tags; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_list = _tmp5_; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = _tag_list; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _tmp7_; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_size = _tmp8_; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_index = -1; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 40768 "Photo.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + Tag* tag = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + GeeCollection* _tmp15_ = NULL; + Tag* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tag_index; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tag_index = _tmp9_ + 1; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = _tag_index; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tag_size; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 40792 "Photo.c" + } +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tag_list; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _tag_index; +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + tag = (Tag*) _tmp14_; +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = string_tags; +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = tag; +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_OBJECT, DataObject)); +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = _tmp17_; +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + gee_collection_add (_tmp15_, _tmp18_); +#line 5334 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (_tmp18_); +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (tag); +#line 40816 "Photo.c" + } +#line 5333 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tag_list); +#line 40820 "Photo.c" + } +#line 5336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = metadata; +#line 5336 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = string_tags; +#line 5336 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_keywords (_tmp19_, _tmp20_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 5331 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (string_tags); +#line 40830 "Photo.c" + } else { + PhotoMetadata* _tmp21_ = NULL; +#line 5338 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = metadata; +#line 5338 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_keywords (_tmp21_, NULL, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 40837 "Photo.c" + } +#line 5340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = metadata; +#line 5340 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5340 "/home/jens/Source/shotwell/src/Photo.vala" + photo_metadata_set_rating (_tmp22_, _tmp23_); +#line 5329 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo_tags); +#line 40847 "Photo.c" +} + + +static void library_photo_real_apply_user_metadata_for_reimport (Photo* base, PhotoMetadata* metadata) { + LibraryPhoto * self; + HierarchicalTagIndex* new_htag_index = NULL; + PhotoMetadata* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeCollection* keywords = NULL; + PhotoMetadata* _tmp6_ = NULL; + GeeSet* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + HierarchicalTagIndex* _tmp39_ = NULL; +#line 5343 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 5343 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 5344 "/home/jens/Source/shotwell/src/Photo.vala" + new_htag_index = NULL; +#line 5346 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = metadata; +#line 5346 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = photo_metadata_has_hierarchical_keywords (_tmp0_); +#line 5346 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp1_) { +#line 40873 "Photo.c" + PhotoMetadata* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + HierarchicalTagIndex* _tmp5_ = NULL; +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = metadata; +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = photo_metadata_get_hierarchical_keywords (_tmp2_); +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = _tmp3_; +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = hierarchical_tag_utilities_process_hierarchical_import_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (new_htag_index); +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + new_htag_index = _tmp5_; +#line 5347 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp4_); +#line 40892 "Photo.c" + } +#line 5351 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = metadata; +#line 5351 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo_metadata_get_keywords (_tmp6_, NULL, NULL, NULL); +#line 5351 "/home/jens/Source/shotwell/src/Photo.vala" + keywords = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection); +#line 5352 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = keywords; +#line 5352 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp8_ != NULL) { +#line 40904 "Photo.c" + { + GeeIterator* _keyword_it = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = keywords; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _keyword_it = _tmp10_; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 40917 "Photo.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gchar* keyword = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + HierarchicalTagIndex* _tmp16_ = NULL; + gchar* safe_keyword = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* promoted_keyword = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + TagSourceCollection* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + TagSourceCollection* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + const gchar* _tmp36_ = NULL; + Tag* _tmp37_ = NULL; + Tag* _tmp38_ = NULL; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _keyword_it; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp12_) { +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 40948 "Photo.c" + } +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = _keyword_it; +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + keyword = (gchar*) _tmp14_; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = new_htag_index; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp16_ != NULL) { +#line 40960 "Photo.c" + HierarchicalTagIndex* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = new_htag_index; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = keyword; +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = hierarchical_tag_index_is_tag_in_index (_tmp17_, _tmp18_); +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = _tmp19_; +#line 40972 "Photo.c" + } else { +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = FALSE; +#line 40976 "Photo.c" + } +#line 5354 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp15_) { +#line 5355 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 5355 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 40984 "Photo.c" + } +#line 5357 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = keyword; +#line 5357 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = hierarchical_tag_utilities_make_flat_tag_safe (_tmp20_); +#line 5357 "/home/jens/Source/shotwell/src/Photo.vala" + safe_keyword = _tmp21_; +#line 5358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = safe_keyword; +#line 5358 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp22_); +#line 5358 "/home/jens/Source/shotwell/src/Photo.vala" + promoted_keyword = _tmp23_; +#line 5361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = tag_global; +#line 5361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = safe_keyword; +#line 5361 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = tag_source_collection_exists (_tmp24_, _tmp25_, FALSE); +#line 5361 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp26_) { +#line 41006 "Photo.c" + const gchar* _tmp27_ = NULL; + Tag* _tmp28_ = NULL; + Tag* _tmp29_ = NULL; +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = safe_keyword; +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = tag_for_path (_tmp27_); +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = _tmp28_; +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5362 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp29_); +#line 5363 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (promoted_keyword); +#line 5363 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (safe_keyword); +#line 5363 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 5363 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 41028 "Photo.c" + } +#line 5366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = tag_global; +#line 5366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = promoted_keyword; +#line 5366 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = tag_source_collection_exists (_tmp30_, _tmp31_, FALSE); +#line 5366 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp32_) { +#line 41038 "Photo.c" + const gchar* _tmp33_ = NULL; + Tag* _tmp34_ = NULL; + Tag* _tmp35_ = NULL; +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = promoted_keyword; +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = tag_for_path (_tmp33_); +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = _tmp34_; +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp35_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5367 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp35_); +#line 5368 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (promoted_keyword); +#line 5368 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (safe_keyword); +#line 5368 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 5368 "/home/jens/Source/shotwell/src/Photo.vala" + continue; +#line 41060 "Photo.c" + } +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = keyword; +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = tag_for_path (_tmp36_); +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = _tmp37_; +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp38_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5371 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp38_); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (promoted_keyword); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (safe_keyword); +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (keyword); +#line 41078 "Photo.c" + } +#line 5353 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_keyword_it); +#line 41082 "Photo.c" + } + } +#line 5375 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = new_htag_index; +#line 5375 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp39_ != NULL) { +#line 41089 "Photo.c" + { + GeeIterator* _path_it = NULL; + HierarchicalTagIndex* _tmp40_ = NULL; + GeeCollection* _tmp41_ = NULL; + GeeCollection* _tmp42_ = NULL; + GeeIterator* _tmp43_ = NULL; + GeeIterator* _tmp44_ = NULL; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = new_htag_index; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = hierarchical_tag_index_get_all_paths (_tmp40_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = _tmp41_; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = _tmp43_; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp42_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _path_it = _tmp44_; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41113 "Photo.c" + GeeIterator* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp47_ = NULL; + gpointer _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + Tag* _tmp50_ = NULL; + Tag* _tmp51_ = NULL; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _path_it; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = gee_iterator_next (_tmp45_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp46_) { +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41130 "Photo.c" + } +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = _path_it; +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = gee_iterator_get (_tmp47_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + path = (gchar*) _tmp48_; +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = path; +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = tag_for_path (_tmp49_); +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = _tmp50_; +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + tag_attach (_tmp51_, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 5377 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp51_); +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _g_free0 (path); +#line 41150 "Photo.c" + } +#line 5376 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_path_it); +#line 41154 "Photo.c" + } + } +#line 5343 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (keywords); +#line 5343 "/home/jens/Source/shotwell/src/Photo.vala" + _hierarchical_tag_index_unref0 (new_htag_index); +#line 41161 "Photo.c" +} + + +static void library_photo_class_init (LibraryPhotoClass * klass) { +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_parent_class = g_type_class_peek_parent (klass); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (LibraryPhotoPrivate)); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_master_reimported = library_photo_real_notify_master_reimported; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_editable_reimported = library_photo_real_notify_editable_reimported; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_source_reimported = library_photo_real_notify_source_reimported; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->notify_baseline_reimported = library_photo_real_notify_baseline_reimported; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataObjectClass *) klass)->notify_altered = library_photo_real_notify_altered; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->get_preview_pixbuf = library_photo_real_get_preview_pixbuf; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->rotate = library_photo_real_rotate; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((ThumbnailSourceClass *) klass)->get_thumbnail = library_photo_real_get_thumbnail; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->is_trashed = library_photo_real_is_trashed; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->trash = library_photo_real_trash; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->untrash = library_photo_real_untrash; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->is_offline = library_photo_real_is_offline; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->mark_offline = library_photo_real_mark_offline; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((MediaSourceClass *) klass)->mark_online = library_photo_real_mark_online; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->internal_delete_backing = library_photo_real_internal_delete_backing; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((DataSourceClass *) klass)->destroy = library_photo_real_destroy; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->has_user_generated_metadata = library_photo_real_has_user_generated_metadata; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->set_user_metadata_for_export = library_photo_real_set_user_metadata_for_export; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + ((PhotoClass *) klass)->apply_user_metadata_for_reimport = library_photo_real_apply_user_metadata_for_reimport; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (klass)->finalize = library_photo_finalize; +#line 41210 "Photo.c" +} + + +static void library_photo_flaggable_interface_init (FlaggableIface * iface) { +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_flaggable_parent_iface = g_type_interface_peek_parent (iface); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->is_flagged = (gboolean (*)(Flaggable*)) library_photo_real_is_flagged; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->mark_flagged = (void (*)(Flaggable*)) library_photo_real_mark_flagged; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->mark_unflagged = (void (*)(Flaggable*)) library_photo_real_mark_unflagged; +#line 41223 "Photo.c" +} + + +static void library_photo_monitorable_interface_init (MonitorableIface * iface) { +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_monitorable_parent_iface = g_type_interface_peek_parent (iface); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->is_offline = (gboolean (*)(Monitorable*)) library_photo_real_is_offline; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->mark_offline = (void (*)(Monitorable*)) library_photo_real_mark_offline; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->mark_online = (void (*)(Monitorable*)) library_photo_real_mark_online; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->set_master_file = (void (*)(Monitorable*, GFile*)) photo_set_master_file; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + iface->set_master_timestamp = (void (*)(Monitorable*, GFileInfo*)) photo_set_master_timestamp; +#line 41240 "Photo.c" +} + + +static void library_photo_instance_init (LibraryPhoto * self) { +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = LIBRARY_PHOTO_GET_PRIVATE (self); +#line 4955 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->block_thumbnail_generation = FALSE; +#line 4956 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->thumbnail_scheduler = NULL; +#line 41251 "Photo.c" +} + + +static void library_photo_finalize (GObject* obj) { + LibraryPhoto * self; +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 4956 "/home/jens/Source/shotwell/src/Photo.vala" + _one_shot_scheduler_unref0 (self->priv->thumbnail_scheduler); +#line 4957 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->import_keywords); +#line 4944 "/home/jens/Source/shotwell/src/Photo.vala" + G_OBJECT_CLASS (library_photo_parent_class)->finalize (obj); +#line 41265 "Photo.c" +} + + +GType library_photo_get_type (void) { + static volatile gsize library_photo_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhoto), 0, (GInstanceInitFunc) library_photo_instance_init, NULL }; + static const GInterfaceInfo flaggable_info = { (GInterfaceInitFunc) library_photo_flaggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo monitorable_info = { (GInterfaceInitFunc) library_photo_monitorable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType library_photo_type_id; + library_photo_type_id = g_type_register_static (TYPE_PHOTO, "LibraryPhoto", &g_define_type_info, 0); + g_type_add_interface_static (library_photo_type_id, TYPE_FLAGGABLE, &flaggable_info); + g_type_add_interface_static (library_photo_type_id, TYPE_MONITORABLE, &monitorable_info); + g_once_init_leave (&library_photo_type_id__volatile, library_photo_type_id); + } + return library_photo_type_id__volatile; +} + + +LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_construct (GType object_type, LibraryPhotoSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target) { + LibraryPhotoSourceHoldingTank* self = NULL; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + SourceHoldingTankCheckToKeep _tmp1_ = NULL; + void* _tmp1__target = NULL; + GetSourceDatabaseKey _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 5393 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_COLLECTION (sources), NULL); +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = sources; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = check_to_keep; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1__target = check_to_keep_target; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = get_key; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2__target = get_key_target; +#line 5395 "/home/jens/Source/shotwell/src/Photo.vala" + self = (LibraryPhotoSourceHoldingTank*) media_source_holding_tank_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp1_, _tmp1__target, _tmp2_, _tmp2__target); +#line 5393 "/home/jens/Source/shotwell/src/Photo.vala" + return self; +#line 41308 "Photo.c" +} + + +LibraryPhotoSourceHoldingTank* library_photo_source_holding_tank_new (LibraryPhotoSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target) { +#line 5393 "/home/jens/Source/shotwell/src/Photo.vala" + return library_photo_source_holding_tank_construct (TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, sources, check_to_keep, check_to_keep_target, get_key, get_key_target); +#line 41315 "Photo.c" +} + + +LibraryPhoto* library_photo_source_holding_tank_fetch_by_backing_file (LibraryPhotoSourceHoldingTank* self, GFile* file) { + LibraryPhoto* result = NULL; + LibraryPhoto* ret = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; +#line 5398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (self), NULL); +#line 5398 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 5399 "/home/jens/Source/shotwell/src/Photo.vala" + ret = NULL; +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = self->priv->editable_file_map; +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = file; +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (ret); +#line 5400 "/home/jens/Source/shotwell/src/Photo.vala" + ret = (LibraryPhoto*) _tmp2_; +#line 5401 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = ret; +#line 5401 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 5402 "/home/jens/Source/shotwell/src/Photo.vala" + result = ret; +#line 5402 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 41353 "Photo.c" + } +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->development_file_map; +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = file; +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + result = (LibraryPhoto*) _tmp6_; +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (ret); +#line 5404 "/home/jens/Source/shotwell/src/Photo.vala" + return result; +#line 41367 "Photo.c" +} + + +static void _library_photo_source_holding_tank_on_editable_replaced_photo_editable_replaced (Photo* _sender, GFile* old_file, GFile* new_file, gpointer self) { +#line 5428 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_holding_tank_on_editable_replaced ((LibraryPhotoSourceHoldingTank*) self, _sender, old_file, new_file); +#line 41374 "Photo.c" +} + + +static void _library_photo_source_holding_tank_on_raw_development_modified_photo_raw_development_modified (Photo* _sender, gpointer self) { +#line 5429 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_holding_tank_on_raw_development_modified ((LibraryPhotoSourceHoldingTank*) self, _sender); +#line 41381 "Photo.c" +} + + +static void library_photo_source_holding_tank_real_notify_contents_altered (SourceHoldingTank* base, GeeCollection* added, GeeCollection* removed) { + LibraryPhotoSourceHoldingTank * self; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp40_ = NULL; + GeeCollection* _tmp81_ = NULL; + GeeCollection* _tmp82_ = NULL; +#line 5407 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank); +#line 5407 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 5407 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 5409 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = added; +#line 5409 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp0_ != NULL) { +#line 41401 "Photo.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = added; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _source_it = _tmp2_; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41414 "Photo.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GeeCollection* raw_files = NULL; + LibraryPhoto* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + LibraryPhoto* _tmp38_ = NULL; + LibraryPhoto* _tmp39_ = NULL; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = _source_it; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp4_) { +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41441 "Photo.c" + } +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = _source_it; +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + source = (DataSource*) _tmp6_; +#line 5411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = source; +#line 5411 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 5411 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp8_; +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = photo; +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PHOTO, Photo)); +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _tmp11_ != NULL; +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp11_); +#line 5414 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp12_) { +#line 41467 "Photo.c" + GeeHashMap* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; + GeeMultiMap* _tmp18_ = NULL; + LibraryPhoto* _tmp19_ = NULL; + LibraryPhoto* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->editable_file_map; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO, Photo)); +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = _tmp15_; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = photo; +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_, _tmp17_); +#line 5415 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp16_); +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->reverse_editable_file_map; +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = photo; +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo; +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_PHOTO, Photo)); +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = _tmp21_; +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp18_, _tmp19_, _tmp22_); +#line 5416 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp22_); +#line 41506 "Photo.c" + } +#line 5420 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = photo; +#line 5420 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PHOTO, Photo)); +#line 5420 "/home/jens/Source/shotwell/src/Photo.vala" + raw_files = _tmp24_; +#line 5421 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = raw_files; +#line 5421 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp25_ != NULL) { +#line 41518 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp26_ = NULL; + GeeIterator* _tmp27_ = NULL; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = raw_files; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp27_; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41531 "Photo.c" + GeeIterator* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + GeeHashMap* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + LibraryPhoto* _tmp34_ = NULL; + GeeMultiMap* _tmp35_ = NULL; + LibraryPhoto* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = _f_it; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = gee_iterator_next (_tmp28_); +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp29_) { +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41551 "Photo.c" + } +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = _f_it; +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = gee_iterator_get (_tmp30_); +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp31_; +#line 5423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->priv->development_file_map; +#line 5423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = f; +#line 5423 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = photo; +#line 5423 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp33_, _tmp34_); +#line 5424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp35_ = self->priv->reverse_development_file_map; +#line 5424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp36_ = photo; +#line 5424 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp37_ = f; +#line 5424 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp35_, _tmp36_, _tmp37_); +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 41577 "Photo.c" + } +#line 5422 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 41581 "Photo.c" + } + } +#line 5428 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp38_ = photo; +#line 5428 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PHOTO, Photo), "editable-replaced", (GCallback) _library_photo_source_holding_tank_on_editable_replaced_photo_editable_replaced, self); +#line 5429 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp39_ = photo; +#line 5429 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_PHOTO, Photo), "raw-development-modified", (GCallback) _library_photo_source_holding_tank_on_raw_development_modified_photo_raw_development_modified, self); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_files); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (source); +#line 41598 "Photo.c" + } +#line 5410 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_source_it); +#line 41602 "Photo.c" + } + } +#line 5433 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp40_ = removed; +#line 5433 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp40_ != NULL) { +#line 41609 "Photo.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp41_ = NULL; + GeeIterator* _tmp42_ = NULL; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp41_ = removed; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp42_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _source_it = _tmp42_; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41622 "Photo.c" + GeeIterator* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp45_ = NULL; + gpointer _tmp46_ = NULL; + LibraryPhoto* photo = NULL; + DataSource* _tmp47_ = NULL; + LibraryPhoto* _tmp48_ = NULL; + GeeMultiMap* _tmp73_ = NULL; + LibraryPhoto* _tmp74_ = NULL; + GeeMultiMap* _tmp75_ = NULL; + LibraryPhoto* _tmp76_ = NULL; + LibraryPhoto* _tmp77_ = NULL; + guint _tmp78_ = 0U; + LibraryPhoto* _tmp79_ = NULL; + guint _tmp80_ = 0U; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp43_ = _source_it; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp44_ = gee_iterator_next (_tmp43_); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp44_) { +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41647 "Photo.c" + } +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp45_ = _source_it; +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp46_ = gee_iterator_get (_tmp45_); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + source = (DataSource*) _tmp46_; +#line 5435 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp47_ = source; +#line 5435 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp48_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 5435 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp48_; +#line 41661 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeMultiMap* _tmp49_ = NULL; + LibraryPhoto* _tmp50_ = NULL; + GeeCollection* _tmp51_ = NULL; + GeeCollection* _tmp52_ = NULL; + GeeIterator* _tmp53_ = NULL; + GeeIterator* _tmp54_ = NULL; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp49_ = self->priv->reverse_editable_file_map; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp50_ = photo; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp51_ = gee_multi_map_get (_tmp49_, _tmp50_); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp52_ = _tmp51_; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp53_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp54_ = _tmp53_; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp52_); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp54_; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41688 "Photo.c" + GeeIterator* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp57_ = NULL; + gpointer _tmp58_ = NULL; + GeeHashMap* _tmp59_ = NULL; + GFile* _tmp60_ = NULL; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp55_ = _f_it; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp56_ = gee_iterator_next (_tmp55_); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp56_) { +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41704 "Photo.c" + } +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp57_ = _f_it; +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp58_ = gee_iterator_get (_tmp57_); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp58_; +#line 5437 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp59_ = self->priv->editable_file_map; +#line 5437 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp60_ = f; +#line 5437 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp60_, NULL); +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 41720 "Photo.c" + } +#line 5436 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 41724 "Photo.c" + } + { + GeeIterator* _f_it = NULL; + GeeMultiMap* _tmp61_ = NULL; + LibraryPhoto* _tmp62_ = NULL; + GeeCollection* _tmp63_ = NULL; + GeeCollection* _tmp64_ = NULL; + GeeIterator* _tmp65_ = NULL; + GeeIterator* _tmp66_ = NULL; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp61_ = self->priv->reverse_development_file_map; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp62_ = photo; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp63_ = gee_multi_map_get (_tmp61_, _tmp62_); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp64_ = _tmp63_; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp65_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp66_ = _tmp65_; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp64_); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp66_; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41752 "Photo.c" + GeeIterator* _tmp67_ = NULL; + gboolean _tmp68_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp69_ = NULL; + gpointer _tmp70_ = NULL; + GeeHashMap* _tmp71_ = NULL; + GFile* _tmp72_ = NULL; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp67_ = _f_it; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp68_ = gee_iterator_next (_tmp67_); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp68_) { +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 41768 "Photo.c" + } +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp69_ = _f_it; +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp70_ = gee_iterator_get (_tmp69_); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp70_; +#line 5440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp71_ = self->priv->development_file_map; +#line 5440 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp72_ = f; +#line 5440 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp72_, NULL); +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 41784 "Photo.c" + } +#line 5439 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 41788 "Photo.c" + } +#line 5442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp73_ = self->priv->reverse_editable_file_map; +#line 5442 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp74_ = photo; +#line 5442 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove_all (_tmp73_, _tmp74_); +#line 5443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp75_ = self->priv->reverse_development_file_map; +#line 5443 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp76_ = photo; +#line 5443 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove_all (_tmp75_, _tmp76_); +#line 5445 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp77_ = photo; +#line 5445 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("editable-replaced", TYPE_PHOTO, &_tmp78_, NULL, FALSE); +#line 5445 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, TYPE_PHOTO, Photo), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp78_, 0, NULL, (GCallback) _library_photo_source_holding_tank_on_editable_replaced_photo_editable_replaced, self); +#line 5446 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp79_ = photo; +#line 5446 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_parse_name ("raw-development-modified", TYPE_PHOTO, &_tmp80_, NULL, FALSE); +#line 5446 "/home/jens/Source/shotwell/src/Photo.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, TYPE_PHOTO, Photo), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp80_, 0, NULL, (GCallback) _library_photo_source_holding_tank_on_raw_development_modified_photo_raw_development_modified, self); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (source); +#line 41818 "Photo.c" + } +#line 5434 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_source_it); +#line 41822 "Photo.c" + } + } +#line 5450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp81_ = added; +#line 5450 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp82_ = removed; +#line 5450 "/home/jens/Source/shotwell/src/Photo.vala" + SOURCE_HOLDING_TANK_CLASS (library_photo_source_holding_tank_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp81_, _tmp82_); +#line 41831 "Photo.c" +} + + +static void library_photo_source_holding_tank_on_editable_replaced (LibraryPhotoSourceHoldingTank* self, Photo* _photo, GFile* old_file, GFile* new_file) { + LibraryPhoto* photo = NULL; + Photo* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp9_ = NULL; + GeeMultiMap* _tmp13_ = NULL; + LibraryPhoto* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (self)); +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (_photo)); +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((old_file == NULL) || G_IS_FILE (old_file)); +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail ((new_file == NULL) || G_IS_FILE (new_file)); +#line 5454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _photo; +#line 5454 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp0_) : NULL); +#line 5454 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp1_; +#line 5455 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 5455 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp2_ != NULL, "photo != null"); +#line 5457 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = old_file; +#line 5457 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp3_ != NULL) { +#line 41867 "Photo.c" + GeeHashMap* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GeeMultiMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; +#line 5458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = self->priv->editable_file_map; +#line 5458 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = old_file; +#line 5458 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_, NULL); +#line 5459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->reverse_editable_file_map; +#line 5459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 5459 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = old_file; +#line 5459 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove (_tmp6_, _tmp7_, _tmp8_); +#line 41887 "Photo.c" + } +#line 5462 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = new_file; +#line 5462 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp9_ != NULL) { +#line 41893 "Photo.c" + GeeHashMap* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + LibraryPhoto* _tmp12_ = NULL; +#line 5463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = self->priv->editable_file_map; +#line 5463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = new_file; +#line 5463 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = photo; +#line 5463 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, _tmp12_); +#line 41905 "Photo.c" + } +#line 5464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = self->priv->reverse_editable_file_map; +#line 5464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = photo; +#line 5464 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = new_file; +#line 5464 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp13_, _tmp14_, _tmp15_); +#line 5453 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 41917 "Photo.c" +} + + +static void library_photo_source_holding_tank_on_raw_development_modified (LibraryPhotoSourceHoldingTank* self, Photo* _photo) { + LibraryPhoto* photo = NULL; + Photo* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GeeMultiMap* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeCollection* raw_list = NULL; + LibraryPhoto* _tmp20_ = NULL; + GeeCollection* _tmp21_ = NULL; + GeeCollection* _tmp22_ = NULL; +#line 5467 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_SOURCE_HOLDING_TANK (self)); +#line 5467 "/home/jens/Source/shotwell/src/Photo.vala" + g_return_if_fail (IS_PHOTO (_photo)); +#line 5468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = _photo; +#line 5468 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp0_) : NULL); +#line 5468 "/home/jens/Source/shotwell/src/Photo.vala" + photo = _tmp1_; +#line 5469 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = photo; +#line 5469 "/home/jens/Source/shotwell/src/Photo.vala" + _vala_assert (_tmp2_ != NULL, "photo != null"); +#line 5472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = self->priv->reverse_development_file_map; +#line 5472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp4_ = photo; +#line 5472 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp5_ = gee_multi_map_contains (_tmp3_, _tmp4_); +#line 5472 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp5_) { +#line 41955 "Photo.c" + GeeMultiMap* _tmp18_ = NULL; + LibraryPhoto* _tmp19_ = NULL; + { + GeeIterator* _f_it = NULL; + GeeMultiMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp6_ = self->priv->reverse_development_file_map; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp7_ = photo; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp8_ = gee_multi_map_get (_tmp6_, _tmp7_); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp9_ = _tmp8_; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp11_ = _tmp10_; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_tmp9_); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp11_; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 41984 "Photo.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GeeHashMap* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp12_ = _f_it; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp13_) { +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 42000 "Photo.c" + } +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp14_ = _f_it; +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp15_; +#line 5474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp16_ = self->priv->development_file_map; +#line 5474 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp17_ = f; +#line 5474 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp17_, NULL); +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 42016 "Photo.c" + } +#line 5473 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 42020 "Photo.c" + } +#line 5475 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp18_ = self->priv->reverse_development_file_map; +#line 5475 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp19_ = photo; +#line 5475 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_remove_all (_tmp18_, _tmp19_); +#line 42028 "Photo.c" + } +#line 5479 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp20_ = photo; +#line 5479 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp21_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_PHOTO, Photo)); +#line 5479 "/home/jens/Source/shotwell/src/Photo.vala" + raw_list = _tmp21_; +#line 5480 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp22_ = raw_list; +#line 5480 "/home/jens/Source/shotwell/src/Photo.vala" + if (_tmp22_ != NULL) { +#line 42040 "Photo.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp23_ = NULL; + GeeIterator* _tmp24_ = NULL; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp23_ = raw_list; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp24_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _f_it = _tmp24_; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + while (TRUE) { +#line 42053 "Photo.c" + GeeIterator* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp27_ = NULL; + gpointer _tmp28_ = NULL; + GeeHashMap* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + LibraryPhoto* _tmp31_ = NULL; + GeeMultiMap* _tmp32_ = NULL; + LibraryPhoto* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp25_ = _f_it; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp26_ = gee_iterator_next (_tmp25_); +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + if (!_tmp26_) { +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + break; +#line 42073 "Photo.c" + } +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp27_ = _f_it; +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp28_ = gee_iterator_get (_tmp27_); +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + f = (GFile*) _tmp28_; +#line 5482 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp29_ = self->priv->development_file_map; +#line 5482 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp30_ = f; +#line 5482 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp31_ = photo; +#line 5482 "/home/jens/Source/shotwell/src/Photo.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp30_, _tmp31_); +#line 5483 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp32_ = self->priv->reverse_development_file_map; +#line 5483 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp33_ = photo; +#line 5483 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp34_ = f; +#line 5483 "/home/jens/Source/shotwell/src/Photo.vala" + gee_multi_map_set (_tmp32_, _tmp33_, _tmp34_); +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (f); +#line 42099 "Photo.c" + } +#line 5481 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (_f_it); +#line 42103 "Photo.c" + } + } +#line 5467 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (raw_list); +#line 5467 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (photo); +#line 42110 "Photo.c" +} + + +static void library_photo_source_holding_tank_class_init (LibraryPhotoSourceHoldingTankClass * klass) { +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + library_photo_source_holding_tank_parent_class = g_type_class_peek_parent (klass); +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceHoldingTankClass *) klass)->finalize = library_photo_source_holding_tank_finalize; +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + g_type_class_add_private (klass, sizeof (LibraryPhotoSourceHoldingTankPrivate)); +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + ((SourceHoldingTankClass *) klass)->notify_contents_altered = library_photo_source_holding_tank_real_notify_contents_altered; +#line 42123 "Photo.c" +} + + +static void library_photo_source_holding_tank_instance_init (LibraryPhotoSourceHoldingTank * self) { + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeHashMultiMap* _tmp2_ = NULL; + GeeHashMultiMap* _tmp3_ = NULL; +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv = LIBRARY_PHOTO_SOURCE_HOLDING_TANK_GET_PRIVATE (self); +#line 5384 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 5384 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->editable_file_map = _tmp0_; +#line 5386 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 5386 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->development_file_map = _tmp1_; +#line 5388 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp2_ = gee_hash_multi_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 5388 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->reverse_editable_file_map = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 5390 "/home/jens/Source/shotwell/src/Photo.vala" + _tmp3_ = gee_hash_multi_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL); +#line 5390 "/home/jens/Source/shotwell/src/Photo.vala" + self->priv->reverse_development_file_map = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 42150 "Photo.c" +} + + +static void library_photo_source_holding_tank_finalize (SourceHoldingTank* obj) { + LibraryPhotoSourceHoldingTank * self; +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_PHOTO_SOURCE_HOLDING_TANK, LibraryPhotoSourceHoldingTank); +#line 5384 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->editable_file_map); +#line 5386 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->development_file_map); +#line 5388 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->reverse_editable_file_map); +#line 5390 "/home/jens/Source/shotwell/src/Photo.vala" + _g_object_unref0 (self->priv->reverse_development_file_map); +#line 5383 "/home/jens/Source/shotwell/src/Photo.vala" + SOURCE_HOLDING_TANK_CLASS (library_photo_source_holding_tank_parent_class)->finalize (obj); +#line 42168 "Photo.c" +} + + +GType library_photo_source_holding_tank_get_type (void) { + static volatile gsize library_photo_source_holding_tank_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_source_holding_tank_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoSourceHoldingTankClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_source_holding_tank_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotoSourceHoldingTank), 0, (GInstanceInitFunc) library_photo_source_holding_tank_instance_init, NULL }; + GType library_photo_source_holding_tank_type_id; + library_photo_source_holding_tank_type_id = g_type_register_static (TYPE_MEDIA_SOURCE_HOLDING_TANK, "LibraryPhotoSourceHoldingTank", &g_define_type_info, 0); + g_once_init_leave (&library_photo_source_holding_tank_type_id__volatile, library_photo_source_holding_tank_type_id); + } + return library_photo_source_holding_tank_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/PhotoMonitor.c b/src/PhotoMonitor.c new file mode 100644 index 0000000..c8e08e9 --- /dev/null +++ b/src/PhotoMonitor.c @@ -0,0 +1,8610 @@ +/* PhotoMonitor.c generated by valac 0.32.1, the Vala compiler + * generated from PhotoMonitor.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_MONITORABLE_UPDATES (monitorable_updates_get_type ()) +#define MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdates)) +#define MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass)) +#define IS_MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE_UPDATES)) +#define IS_MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MONITORABLE_UPDATES)) +#define MONITORABLE_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass)) + +typedef struct _MonitorableUpdates MonitorableUpdates; +typedef struct _MonitorableUpdatesClass MonitorableUpdatesClass; +typedef struct _MonitorableUpdatesPrivate MonitorableUpdatesPrivate; + +#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_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; + +#define TYPE_PHOTO_UPDATES (photo_updates_get_type ()) +#define PHOTO_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_UPDATES, PhotoUpdates)) +#define PHOTO_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_UPDATES, PhotoUpdatesClass)) +#define IS_PHOTO_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_UPDATES)) +#define IS_PHOTO_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_UPDATES)) +#define PHOTO_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_UPDATES, PhotoUpdatesClass)) + +typedef struct _PhotoUpdates PhotoUpdates; +typedef struct _PhotoUpdatesClass PhotoUpdatesClass; +typedef struct _PhotoUpdatesPrivate PhotoUpdatesPrivate; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_MEDIA_MONITOR (media_monitor_get_type ()) +#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor)) +#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass)) +#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR)) +#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR)) +#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass)) + +typedef struct _MediaMonitor MediaMonitor; +typedef struct _MediaMonitorClass MediaMonitorClass; +typedef struct _MediaMonitorPrivate MediaMonitorPrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define MEDIA_MONITOR_TYPE_DISCOVERED_FILE (media_monitor_discovered_file_get_type ()) + +#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_PHOTO_MONITOR (photo_monitor_get_type ()) +#define PHOTO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_MONITOR, PhotoMonitor)) +#define PHOTO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_MONITOR, PhotoMonitorClass)) +#define IS_PHOTO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_MONITOR)) +#define IS_PHOTO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_MONITOR)) +#define PHOTO_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_MONITOR, PhotoMonitorClass)) + +typedef struct _PhotoMonitor PhotoMonitor; +typedef struct _PhotoMonitorClass PhotoMonitorClass; +typedef struct _PhotoMonitorPrivate PhotoMonitorPrivate; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB (photo_monitor_reimport_master_job_get_type ()) +#define PHOTO_MONITOR_REIMPORT_MASTER_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, PhotoMonitorReimportMasterJob)) +#define PHOTO_MONITOR_REIMPORT_MASTER_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, PhotoMonitorReimportMasterJobClass)) +#define PHOTO_MONITOR_IS_REIMPORT_MASTER_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB)) +#define PHOTO_MONITOR_IS_REIMPORT_MASTER_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB)) +#define PHOTO_MONITOR_REIMPORT_MASTER_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, PhotoMonitorReimportMasterJobClass)) + +typedef struct _PhotoMonitorReimportMasterJob PhotoMonitorReimportMasterJob; +typedef struct _PhotoMonitorReimportMasterJobClass PhotoMonitorReimportMasterJobClass; + +#define PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB (photo_monitor_reimport_editable_job_get_type ()) +#define PHOTO_MONITOR_REIMPORT_EDITABLE_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, PhotoMonitorReimportEditableJob)) +#define PHOTO_MONITOR_REIMPORT_EDITABLE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, PhotoMonitorReimportEditableJobClass)) +#define PHOTO_MONITOR_IS_REIMPORT_EDITABLE_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB)) +#define PHOTO_MONITOR_IS_REIMPORT_EDITABLE_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB)) +#define PHOTO_MONITOR_REIMPORT_EDITABLE_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, PhotoMonitorReimportEditableJobClass)) + +typedef struct _PhotoMonitorReimportEditableJob PhotoMonitorReimportEditableJob; +typedef struct _PhotoMonitorReimportEditableJobClass PhotoMonitorReimportEditableJobClass; + +#define PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB (photo_monitor_reimport_raw_development_job_get_type ()) +#define PHOTO_MONITOR_REIMPORT_RAW_DEVELOPMENT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, PhotoMonitorReimportRawDevelopmentJob)) +#define PHOTO_MONITOR_REIMPORT_RAW_DEVELOPMENT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, PhotoMonitorReimportRawDevelopmentJobClass)) +#define PHOTO_MONITOR_IS_REIMPORT_RAW_DEVELOPMENT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB)) +#define PHOTO_MONITOR_IS_REIMPORT_RAW_DEVELOPMENT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB)) +#define PHOTO_MONITOR_REIMPORT_RAW_DEVELOPMENT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, PhotoMonitorReimportRawDevelopmentJobClass)) + +typedef struct _PhotoMonitorReimportRawDevelopmentJob PhotoMonitorReimportRawDevelopmentJob; +typedef struct _PhotoMonitorReimportRawDevelopmentJobClass PhotoMonitorReimportRawDevelopmentJobClass; +#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) + +#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 LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE (library_photo_source_collection_state_get_type ()) +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; +#define _backing_photo_row_unref0(var) ((var == NULL) ? NULL : (var = (backing_photo_row_unref (var), NULL))) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_ORIENTATION (orientation_get_type ()) +#define _monitorable_updates_unref0(var) ((var == NULL) ? NULL : (var = (monitorable_updates_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _PhotoMonitorReimportMasterJobPrivate PhotoMonitorReimportMasterJobPrivate; + +#define PHOTO_TYPE_REIMPORT_MASTER_STATE (photo_reimport_master_state_get_type ()) +#define PHOTO_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState)) +#define PHOTO_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) +#define PHOTO_IS_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_REIMPORT_MASTER_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) + +typedef struct _PhotoReimportMasterState PhotoReimportMasterState; +typedef struct _PhotoReimportMasterStateClass PhotoReimportMasterStateClass; +typedef struct _PhotoMonitorReimportEditableJobPrivate PhotoMonitorReimportEditableJobPrivate; + +#define PHOTO_TYPE_REIMPORT_EDITABLE_STATE (photo_reimport_editable_state_get_type ()) +#define PHOTO_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableState)) +#define PHOTO_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE)) +#define PHOTO_IS_REIMPORT_EDITABLE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_EDITABLE_STATE)) +#define PHOTO_REIMPORT_EDITABLE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_EDITABLE_STATE, PhotoReimportEditableStateClass)) + +typedef struct _PhotoReimportEditableState PhotoReimportEditableState; +typedef struct _PhotoReimportEditableStateClass PhotoReimportEditableStateClass; +typedef struct _PhotoMonitorReimportRawDevelopmentJobPrivate PhotoMonitorReimportRawDevelopmentJobPrivate; + +#define PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE (photo_reimport_raw_development_state_get_type ()) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentState)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentStateClass)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)) +#define PHOTO_IS_REIMPORT_RAW_DEVELOPMENT_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE)) +#define PHOTO_REIMPORT_RAW_DEVELOPMENT_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_RAW_DEVELOPMENT_STATE, PhotoReimportRawDevelopmentStateClass)) + +typedef struct _PhotoReimportRawDevelopmentState PhotoReimportRawDevelopmentState; +typedef struct _PhotoReimportRawDevelopmentStateClass PhotoReimportRawDevelopmentStateClass; +#define _photo_reimport_master_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_master_state_unref (var), NULL))) + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; +#define _photo_reimport_editable_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_editable_state_unref (var), NULL))) +#define _photo_reimport_raw_development_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_raw_development_state_unref (var), NULL))) +#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 _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _MonitorableUpdates { + GTypeInstance parent_instance; + volatile int ref_count; + MonitorableUpdatesPrivate * priv; + Monitorable* monitorable; +}; + +struct _MonitorableUpdatesClass { + GTypeClass parent_class; + void (*finalize) (MonitorableUpdates *self); + gboolean (*is_in_alteration) (MonitorableUpdates* self); + void (*set_master_file) (MonitorableUpdates* self, GFile* file); + void (*set_master_file_info_altered) (MonitorableUpdates* self, gboolean altered); + void (*set_master_file_info) (MonitorableUpdates* self, GFileInfo* info); + void (*set_master_in_alteration) (MonitorableUpdates* self, gboolean in_alteration); + void (*set_master_alterations_complete) (MonitorableUpdates* self, GFileInfo* info); + void (*mark_offline) (MonitorableUpdates* self); + void (*mark_online) (MonitorableUpdates* self); + void (*reset_online_offline) (MonitorableUpdates* self); + gboolean (*is_all_updated) (MonitorableUpdates* self); +}; + +struct _PhotoUpdates { + MonitorableUpdates parent_instance; + PhotoUpdatesPrivate * priv; + LibraryPhoto* photo; + gboolean reimport_master; + gboolean reimport_editable; + gboolean reimport_raw_developments; + GFile* editable_file; + gboolean editable_file_info_altered; + gboolean raw_developer_file_info_altered; + GFileInfo* editable_file_info; + gboolean editable_in_alteration; + gboolean raw_development_in_alteration; + gboolean revert_to_master; + GeeCollection* developer_files; +}; + +struct _PhotoUpdatesClass { + MonitorableUpdatesClass parent_class; + void (*set_editable_file) (PhotoUpdates* self, GFile* file); + void (*set_editable_file_info) (PhotoUpdates* self, GFileInfo* info); + void (*set_editable_file_info_altered) (PhotoUpdates* self, gboolean altered); + void (*set_editable_in_alteration) (PhotoUpdates* self, gboolean in_alteration); + void (*set_raw_development_in_alteration) (PhotoUpdates* self, gboolean in_alteration); + void (*set_raw_developer_file_info_altered) (PhotoUpdates* self, gboolean altered); + void (*set_revert_to_master) (PhotoUpdates* self, gboolean revert); + void (*add_raw_developer_file) (PhotoUpdates* self, GFile* file); + void (*clear_raw_developer_files) (PhotoUpdates* self); + void (*set_reimport_master) (PhotoUpdates* self, gboolean reimport); + void (*set_reimport_editable) (PhotoUpdates* self, gboolean reimport); + void (*set_reimport_raw_developments) (PhotoUpdates* self, gboolean reimport); +}; + +typedef enum { + MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED, + MEDIA_MONITOR_DISCOVERED_FILE_IGNORE, + MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN +} MediaMonitorDiscoveredFile; + +struct _MediaMonitor { + GObject parent_instance; + MediaMonitorPrivate * priv; +}; + +struct _MediaMonitorClass { + GObjectClass parent_class; + MediaSourceCollection* (*get_media_source_collection) (MediaMonitor* self); + void (*close) (MediaMonitor* self); + gchar* (*to_string) (MediaMonitor* self); + MonitorableUpdates* (*create_updates) (MediaMonitor* self, Monitorable* monitorable); + void (*on_media_source_destroyed) (MediaMonitor* self, DataSource* source); + void (*notify_discovery_started) (MediaMonitor* self); + MediaMonitorDiscoveredFile (*notify_file_discovered) (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable); + GeeCollection* (*candidates_for_unknown_file) (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); + GFile** (*get_auxilliary_backing_files) (MediaMonitor* self, Monitorable* monitorable, int* result_length1); + void (*update_backing_file_info) (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info); + void (*notify_discovery_completing) (MediaMonitor* self); + gboolean (*is_file_represented) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_created) (MediaMonitor* self, GFile* file, GFileInfo* info); + gboolean (*notify_file_moved) (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); + gboolean (*notify_file_altered) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_attributes_altered) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_alteration_completed) (MediaMonitor* self, GFile* file, GFileInfo* info); + gboolean (*notify_file_deleted) (MediaMonitor* self, GFile* file); + void (*process_updates) (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +}; + +struct _PhotoMonitor { + MediaMonitor parent_instance; + PhotoMonitorPrivate * priv; +}; + +struct _PhotoMonitorClass { + MediaMonitorClass parent_class; +}; + +struct _PhotoMonitorPrivate { + Workers* workers; + GeeArrayList* matched_editables; + GeeArrayList* matched_developments; + GeeHashMap* master_reimport_pending; + GeeHashMap* editable_reimport_pending; + GeeHashMap* raw_developments_reimport_pending; +}; + +typedef enum { + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_UNKNOWN, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE, + LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER +} LibraryPhotoSourceCollectionState; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _BackingPhotoID { + gint64 id; +}; + +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 _Dimensions { + gint width; + gint height; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + +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 () +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _PhotoMonitorReimportMasterJob { + BackgroundJob parent_instance; + PhotoMonitorReimportMasterJobPrivate * priv; + LibraryPhoto* photo; + PhotoReimportMasterState* reimport_state; + gboolean mark_online; + GError* err; +}; + +struct _PhotoMonitorReimportMasterJobClass { + BackgroundJobClass parent_class; +}; + +struct _PhotoMonitorReimportEditableJob { + BackgroundJob parent_instance; + PhotoMonitorReimportEditableJobPrivate * priv; + LibraryPhoto* photo; + PhotoReimportEditableState* state; + gboolean success; + GError* err; +}; + +struct _PhotoMonitorReimportEditableJobClass { + BackgroundJobClass parent_class; +}; + +struct _PhotoMonitorReimportRawDevelopmentJob { + BackgroundJob parent_instance; + PhotoMonitorReimportRawDevelopmentJobPrivate * priv; + LibraryPhoto* photo; + PhotoReimportRawDevelopmentState* state; + gboolean success; + GError* err; +}; + +struct _PhotoMonitorReimportRawDevelopmentJobClass { + BackgroundJobClass parent_class; +}; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); + +static gpointer photo_updates_parent_class = NULL; +static gpointer photo_monitor_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +static gpointer photo_monitor_reimport_master_job_parent_class = NULL; +static gpointer photo_monitor_reimport_editable_job_parent_class = NULL; +static gpointer photo_monitor_reimport_raw_development_job_parent_class = NULL; + +gpointer monitorable_updates_ref (gpointer instance); +void monitorable_updates_unref (gpointer instance); +GParamSpec* param_spec_monitorable_updates (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_monitorable_updates (GValue* value, gpointer v_object); +void value_take_monitorable_updates (GValue* value, gpointer v_object); +gpointer value_get_monitorable_updates (const GValue* value); +GType monitorable_updates_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 monitorable_get_type (void) G_GNUC_CONST; +GType photo_updates_get_type (void) G_GNUC_CONST; +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +enum { + PHOTO_UPDATES_DUMMY_PROPERTY +}; +PhotoUpdates* photo_updates_new (LibraryPhoto* photo); +PhotoUpdates* photo_updates_construct (GType object_type, LibraryPhoto* photo); +MonitorableUpdates* monitorable_updates_new (Monitorable* monitorable); +MonitorableUpdates* monitorable_updates_construct (GType object_type, Monitorable* monitorable); +static void photo_updates_real_mark_offline (MonitorableUpdates* base); +void monitorable_updates_mark_offline (MonitorableUpdates* self); +gboolean photo_updates_is_reimport_master (PhotoUpdates* self); +gboolean photo_updates_is_reimport_editable (PhotoUpdates* self); +GFile* photo_updates_get_editable_file (PhotoUpdates* self); +GFileInfo* photo_updates_get_editable_file_info (PhotoUpdates* self); +GeeCollection* photo_updates_get_raw_developer_files (PhotoUpdates* self); +static gboolean photo_updates_real_is_in_alteration (MonitorableUpdates* base); +gboolean monitorable_updates_is_in_alteration (MonitorableUpdates* self); +gboolean photo_updates_is_revert_to_master (PhotoUpdates* self); +void photo_updates_set_editable_file (PhotoUpdates* self, GFile* file); +static void photo_updates_real_set_editable_file (PhotoUpdates* self, GFile* file); +void photo_updates_set_editable_file_info (PhotoUpdates* self, GFileInfo* info); +static void photo_updates_real_set_editable_file_info (PhotoUpdates* self, GFileInfo* info); +void photo_updates_set_editable_file_info_altered (PhotoUpdates* self, gboolean altered); +static void photo_updates_real_set_editable_file_info_altered (PhotoUpdates* self, gboolean altered); +void photo_updates_set_editable_in_alteration (PhotoUpdates* self, gboolean in_alteration); +static void photo_updates_real_set_editable_in_alteration (PhotoUpdates* self, gboolean in_alteration); +void photo_updates_set_raw_development_in_alteration (PhotoUpdates* self, gboolean in_alteration); +static void photo_updates_real_set_raw_development_in_alteration (PhotoUpdates* self, gboolean in_alteration); +void photo_updates_set_raw_developer_file_info_altered (PhotoUpdates* self, gboolean altered); +static void photo_updates_real_set_raw_developer_file_info_altered (PhotoUpdates* self, gboolean altered); +void photo_updates_set_revert_to_master (PhotoUpdates* self, gboolean revert); +static void photo_updates_real_set_revert_to_master (PhotoUpdates* self, gboolean revert); +void photo_updates_add_raw_developer_file (PhotoUpdates* self, GFile* file); +static void photo_updates_real_add_raw_developer_file (PhotoUpdates* self, GFile* file); +void photo_updates_clear_raw_developer_files (PhotoUpdates* self); +static void photo_updates_real_clear_raw_developer_files (PhotoUpdates* self); +void photo_updates_set_reimport_master (PhotoUpdates* self, gboolean reimport); +static void photo_updates_real_set_reimport_master (PhotoUpdates* self, gboolean reimport); +void monitorable_updates_mark_online (MonitorableUpdates* self); +void photo_updates_set_reimport_editable (PhotoUpdates* self, gboolean reimport); +static void photo_updates_real_set_reimport_editable (PhotoUpdates* self, gboolean reimport); +gboolean monitorable_updates_is_set_offline (MonitorableUpdates* self); +void photo_updates_set_reimport_raw_developments (PhotoUpdates* self, gboolean reimport); +static void photo_updates_real_set_reimport_raw_developments (PhotoUpdates* self, gboolean reimport); +static gboolean photo_updates_real_is_all_updated (MonitorableUpdates* base); +gboolean monitorable_updates_is_all_updated (MonitorableUpdates* self); +static void photo_updates_finalize (MonitorableUpdates* obj); +GType media_monitor_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType media_monitor_discovered_file_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; +GType photo_monitor_get_type (void) G_GNUC_CONST; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +static GType photo_monitor_reimport_master_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GType photo_monitor_reimport_editable_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GType photo_monitor_reimport_raw_development_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PHOTO_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_MONITOR, PhotoMonitorPrivate)) +enum { + PHOTO_MONITOR_DUMMY_PROPERTY +}; +#define PHOTO_MONITOR_MAX_REIMPORT_JOBS_PER_CYCLE 20 +#define PHOTO_MONITOR_MAX_REVERTS_PER_CYCLE 5 +PhotoMonitor* photo_monitor_new (Workers* workers, GCancellable* cancellable); +PhotoMonitor* photo_monitor_construct (GType object_type, Workers* workers, GCancellable* cancellable); +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +MediaMonitor* media_monitor_construct (GType object_type, MediaSourceCollection* sources, GCancellable* cancellable); +static MonitorableUpdates* photo_monitor_real_create_updates (MediaMonitor* base, Monitorable* monitorable); +static MediaSourceCollection* photo_monitor_real_get_media_source_collection (MediaMonitor* base); +static gboolean photo_monitor_real_is_file_represented (MediaMonitor* base, GFile* file); +GType library_photo_source_collection_state_get_type (void) G_GNUC_CONST; +static LibraryPhoto* photo_monitor_get_photo_state_by_file (PhotoMonitor* self, GFile* file, LibraryPhotoSourceCollectionState* state); +static void photo_monitor_real_close (MediaMonitor* base); +void background_job_cancel (BackgroundJob* self); +void media_monitor_close (MediaMonitor* self); +static void photo_monitor_cancel_reimports (PhotoMonitor* self, LibraryPhoto* photo); +static MediaMonitorDiscoveredFile photo_monitor_real_notify_file_discovered (MediaMonitor* base, GFile* file, GFileInfo* info, Monitorable** monitorable); +static GeeCollection* photo_monitor_real_candidates_for_unknown_file (MediaMonitor* base, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); +void library_photo_source_collection_fetch_by_matching_backing (LibraryPhotoSourceCollection* self, GFileInfo* info, GeeCollection* matches_master, GeeCollection* matches_editable, GeeCollection* matched_development); +gchar* data_object_to_string (DataObject* self); +gboolean photo_does_editable_exist (Photo* self); +void photo_revert_to_master (Photo* self, gboolean notify); +void photo_monitor_update_editable_file (PhotoMonitor* self, LibraryPhoto* photo, GFile* file); +void photo_monitor_update_raw_development_file (PhotoMonitor* self, LibraryPhoto* photo, GFile* file); +static GFile** photo_monitor_real_get_auxilliary_backing_files (MediaMonitor* base, Monitorable* monitorable, int* result_length1); +gboolean photo_has_editable (Photo* self); +GFile* photo_get_editable_file (Photo* self); +static void _vala_array_add337 (GFile*** array, int* length, int* size, GFile* value); +GeeCollection* photo_get_raw_developer_files (Photo* self); +static void _vala_array_add338 (GFile*** array, int* length, int* size, GFile* value); +static GFile** _vala_array_dup32 (GFile** self, int length); +static void photo_monitor_real_update_backing_file_info (MediaMonitor* base, Monitorable* monitorable, GFile* file, GFileInfo* info); +GFile* media_monitor_get_master_file (MediaMonitor* self, Monitorable* monitorable); +static void photo_monitor_check_for_master_changes (PhotoMonitor* self, LibraryPhoto* photo, GFileInfo* info); +GFile* photo_monitor_get_editable_file (PhotoMonitor* self, LibraryPhoto* photo); +static void photo_monitor_check_for_editable_changes (PhotoMonitor* self, LibraryPhoto* photo, GFileInfo* info); +GeeCollection* photo_monitor_get_raw_development_files (PhotoMonitor* self, LibraryPhoto* photo); +static void photo_monitor_check_for_raw_development_changes (PhotoMonitor* self, LibraryPhoto* photo, GFileInfo* info); +static void photo_monitor_real_notify_discovery_completing (MediaMonitor* base); +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +BackingPhotoRow* photo_get_master_photo_row (Photo* self); +gboolean backing_photo_row_matches_file_info (BackingPhotoRow* self, GFileInfo* info); +gboolean backing_photo_row_is_touched (BackingPhotoRow* self, GFileInfo* info); +void media_monitor_update_master_file_info_altered (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_update_master_file_alterations_completed (MediaMonitor* self, Monitorable* monitorable, GFileInfo* info); +void photo_monitor_update_reimport_master (PhotoMonitor* self, LibraryPhoto* photo); +void photo_monitor_update_revert_to_master (PhotoMonitor* self, LibraryPhoto* photo); +BackingPhotoRow* photo_get_editable_photo_row (Photo* self); +void photo_monitor_update_editable_file_info_altered (PhotoMonitor* self, LibraryPhoto* photo); +void photo_monitor_update_editable_file_alterations_completed (PhotoMonitor* self, LibraryPhoto* photo, GFileInfo* info); +void photo_monitor_update_reimport_editable (PhotoMonitor* self, LibraryPhoto* photo); +GType raw_developer_get_type (void) G_GNUC_CONST; +void photo_set_raw_developer (Photo* self, RawDeveloper d); +GeeCollection* photo_get_raw_development_photo_rows (Photo* self); +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType orientation_get_type (void) G_GNUC_CONST; +void photo_monitor_update_raw_development_file_info_altered (PhotoMonitor* self, LibraryPhoto* photo); +void photo_monitor_update_raw_development_file_alterations_completed (PhotoMonitor* self, LibraryPhoto* photo); +void photo_monitor_update_reimport_raw_developments (PhotoMonitor* self, LibraryPhoto* photo); +static gboolean photo_monitor_real_notify_file_created (MediaMonitor* base, GFile* file, GFileInfo* info); +const gchar* library_photo_source_collection_state_to_string (LibraryPhotoSourceCollectionState self); +void media_monitor_mdbg (const gchar* msg); +void media_monitor_update_online (MediaMonitor* self, Monitorable* monitorable); +static gboolean photo_monitor_real_notify_file_moved (MediaMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* info); +void media_monitor_update_master_file (MediaMonitor* self, Monitorable* monitorable, GFile* file); +void media_monitor_update_offline (MediaMonitor* self, Monitorable* monitorable); +static gboolean photo_monitor_real_notify_file_altered (MediaMonitor* base, GFile* file); +void media_monitor_update_master_file_in_alteration (MediaMonitor* self, Monitorable* monitorable, gboolean in_alteration); +void photo_monitor_update_editable_file_in_alteration (PhotoMonitor* self, LibraryPhoto* photo, gboolean in_alteration); +void photo_monitor_update_raw_development_file_in_alteration (PhotoMonitor* self, LibraryPhoto* photo, gboolean in_alteration); +static gboolean photo_monitor_real_notify_file_attributes_altered (MediaMonitor* base, GFile* file); +static gboolean photo_monitor_real_notify_file_alteration_completed (MediaMonitor* base, GFile* file, GFileInfo* info); +static gboolean photo_monitor_real_notify_file_deleted (MediaMonitor* base, GFile* file); +static void photo_monitor_real_on_media_source_destroyed (MediaMonitor* base, DataSource* source); +void media_monitor_on_media_source_destroyed (MediaMonitor* self, DataSource* source); +gboolean media_monitor_has_pending_updates (MediaMonitor* self); +GeeCollection* media_monitor_get_monitorables (MediaMonitor* self); +PhotoUpdates* photo_monitor_get_existing_photo_updates (PhotoMonitor* self, LibraryPhoto* photo); +GFile* monitorable_updates_get_master_file (MonitorableUpdates* self); +GFile* media_source_get_master_file (MediaSource* self); +LibraryPhoto* library_photo_source_collection_get_state_by_file (LibraryPhotoSourceCollection* self, GFile* file, LibraryPhotoSourceCollectionState* state); +PhotoUpdates* photo_monitor_fetch_photo_updates (PhotoMonitor* self, LibraryPhoto* photo); +MonitorableUpdates* media_monitor_fetch_updates (MediaMonitor* self, Monitorable* monitorable); +MonitorableUpdates* media_monitor_get_existing_updates (MediaMonitor* self, Monitorable* monitorable); +static void photo_monitor_real_process_updates (MediaMonitor* base, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +void media_monitor_process_updates (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +#define MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE 100 +GQuark database_error_quark (void); +void photo_set_many_editable_file (GeeMap* map, GError** error); +void app_window_database_error (GError* err); +void photo_update_many_editable_timestamps (GeeMap* map, GError** error); +static PhotoMonitorReimportMasterJob* photo_monitor_reimport_master_job_new (PhotoMonitor* owner, LibraryPhoto* photo); +static PhotoMonitorReimportMasterJob* photo_monitor_reimport_master_job_construct (GType object_type, PhotoMonitor* owner, LibraryPhoto* photo); +void workers_enqueue (Workers* self, BackgroundJob* job); +static PhotoMonitorReimportEditableJob* photo_monitor_reimport_editable_job_new (PhotoMonitor* owner, LibraryPhoto* photo); +static PhotoMonitorReimportEditableJob* photo_monitor_reimport_editable_job_construct (GType object_type, PhotoMonitor* owner, LibraryPhoto* photo); +static PhotoMonitorReimportRawDevelopmentJob* photo_monitor_reimport_raw_development_job_new (PhotoMonitor* owner, LibraryPhoto* photo); +static PhotoMonitorReimportRawDevelopmentJob* photo_monitor_reimport_raw_development_job_construct (GType object_type, PhotoMonitor* owner, LibraryPhoto* photo); +static void photo_monitor_on_master_reimported (PhotoMonitor* self, BackgroundJob* j); +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +gpointer photo_reimport_master_state_ref (gpointer instance); +void photo_reimport_master_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_master_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_master_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_master_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_master_state (const GValue* value); +GType photo_reimport_master_state_get_type (void) G_GNUC_CONST; +void photo_finish_reimport_master (Photo* self, PhotoReimportMasterState* state, GError** error); +gboolean media_source_is_offline (MediaSource* self); +static void photo_monitor_on_master_reimport_cancelled (PhotoMonitor* self, BackgroundJob* j); +static void photo_monitor_on_editable_reimported (PhotoMonitor* self, BackgroundJob* j); +gpointer photo_reimport_editable_state_ref (gpointer instance); +void photo_reimport_editable_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_editable_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_editable_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_editable_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_editable_state (const GValue* value); +GType photo_reimport_editable_state_get_type (void) G_GNUC_CONST; +void photo_finish_reimport_editable (Photo* self, PhotoReimportEditableState* state, GError** error); +static void photo_monitor_on_editable_reimport_cancelled (PhotoMonitor* self, BackgroundJob* j); +static void photo_monitor_on_raw_development_reimported (PhotoMonitor* self, BackgroundJob* j); +gpointer photo_reimport_raw_development_state_ref (gpointer instance); +void photo_reimport_raw_development_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_raw_development_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_raw_development_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_raw_development_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_raw_development_state (const GValue* value); +GType photo_reimport_raw_development_state_get_type (void) G_GNUC_CONST; +void photo_finish_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState* state, GError** error); +static void photo_monitor_on_raw_development_reimport_cancelled (PhotoMonitor* self, BackgroundJob* j); +enum { + PHOTO_MONITOR_REIMPORT_MASTER_JOB_DUMMY_PROPERTY +}; +static void _photo_monitor_on_master_reimported_completion_callback (BackgroundJob* job, gpointer self); +static void _photo_monitor_on_master_reimport_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +static void photo_monitor_reimport_master_job_real_execute (BackgroundJob* base); +gboolean photo_prepare_for_reimport_master (Photo* self, PhotoReimportMasterState** reimport_state, GError** error); +static void photo_monitor_reimport_master_job_finalize (BackgroundJob* obj); +enum { + PHOTO_MONITOR_REIMPORT_EDITABLE_JOB_DUMMY_PROPERTY +}; +static void _photo_monitor_on_editable_reimported_completion_callback (BackgroundJob* job, gpointer self); +static void _photo_monitor_on_editable_reimport_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +static void photo_monitor_reimport_editable_job_real_execute (BackgroundJob* base); +gboolean photo_prepare_for_reimport_editable (Photo* self, PhotoReimportEditableState** state, GError** error); +static void photo_monitor_reimport_editable_job_finalize (BackgroundJob* obj); +enum { + PHOTO_MONITOR_REIMPORT_RAW_DEVELOPMENT_JOB_DUMMY_PROPERTY +}; +static void _photo_monitor_on_raw_development_reimported_completion_callback (BackgroundJob* job, gpointer self); +static void _photo_monitor_on_raw_development_reimport_cancelled_cancellation_callback (BackgroundJob* job, gpointer self); +static void photo_monitor_reimport_raw_development_job_real_execute (BackgroundJob* base); +gboolean photo_prepare_for_reimport_raw_development (Photo* self, PhotoReimportRawDevelopmentState** state, GError** error); +static void photo_monitor_reimport_raw_development_job_finalize (BackgroundJob* obj); +static void photo_monitor_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 25 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self ? g_object_ref (self) : NULL; +#line 883 "PhotoMonitor.c" +} + + +PhotoUpdates* photo_updates_construct (GType object_type, LibraryPhoto* photo) { + PhotoUpdates* self = NULL; + LibraryPhoto* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 23 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 23 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = (PhotoUpdates*) monitorable_updates_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 25 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo; +#line 25 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 25 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->photo); +#line 25 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->photo = _tmp2_; +#line 22 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self; +#line 908 "PhotoMonitor.c" +} + + +PhotoUpdates* photo_updates_new (LibraryPhoto* photo) { +#line 22 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return photo_updates_construct (TYPE_PHOTO_UPDATES, photo); +#line 915 "PhotoMonitor.c" +} + + +static void photo_updates_real_mark_offline (MonitorableUpdates* base) { + PhotoUpdates * self; +#line 28 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_UPDATES, PhotoUpdates); +#line 29 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + MONITORABLE_UPDATES_CLASS (photo_updates_parent_class)->mark_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 31 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_master = FALSE; +#line 32 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_editable = FALSE; +#line 33 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_raw_developments = FALSE; +#line 931 "PhotoMonitor.c" +} + + +gboolean photo_updates_is_reimport_master (PhotoUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 36 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_UPDATES (self), FALSE); +#line 37 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->reimport_master; +#line 37 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp0_; +#line 37 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 946 "PhotoMonitor.c" +} + + +gboolean photo_updates_is_reimport_editable (PhotoUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 40 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_UPDATES (self), FALSE); +#line 41 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->reimport_editable; +#line 41 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp0_; +#line 41 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 961 "PhotoMonitor.c" +} + + +GFile* photo_updates_get_editable_file (PhotoUpdates* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_UPDATES (self), NULL); +#line 45 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->editable_file; +#line 45 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 45 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp1_; +#line 45 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 979 "PhotoMonitor.c" +} + + +GFileInfo* photo_updates_get_editable_file_info (PhotoUpdates* self) { + GFileInfo* result = NULL; + GFileInfo* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_UPDATES (self), NULL); +#line 49 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->editable_file_info; +#line 49 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 49 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp1_; +#line 49 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 997 "PhotoMonitor.c" +} + + +GeeCollection* photo_updates_get_raw_developer_files (PhotoUpdates* self) { + GeeCollection* result = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_UPDATES (self), NULL); +#line 53 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->developer_files; +#line 53 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 53 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp1_; +#line 53 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 1015 "PhotoMonitor.c" +} + + +static gboolean photo_updates_real_is_in_alteration (MonitorableUpdates* base) { + PhotoUpdates * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 56 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_UPDATES, PhotoUpdates); +#line 57 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = MONITORABLE_UPDATES_CLASS (photo_updates_parent_class)->is_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 57 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp1_) { +#line 57 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = TRUE; +#line 1032 "PhotoMonitor.c" + } else { + gboolean _tmp2_ = FALSE; +#line 57 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = self->editable_in_alteration; +#line 57 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp2_; +#line 1039 "PhotoMonitor.c" + } +#line 57 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp0_; +#line 57 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 1045 "PhotoMonitor.c" +} + + +gboolean photo_updates_is_revert_to_master (PhotoUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 60 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_UPDATES (self), FALSE); +#line 61 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->revert_to_master; +#line 61 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp0_; +#line 61 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 1060 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_editable_file (PhotoUpdates* self, GFile* file) { + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail ((file == NULL) || G_IS_FILE (file)); +#line 66 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = file; +#line 66 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp1_ != NULL) { +#line 1075 "PhotoMonitor.c" + gboolean _tmp2_ = FALSE; +#line 66 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = self->revert_to_master; +#line 66 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp2_; +#line 1081 "PhotoMonitor.c" + } else { +#line 66 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = FALSE; +#line 1085 "PhotoMonitor.c" + } +#line 66 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_) { +#line 67 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 1091 "PhotoMonitor.c" + } +#line 69 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = file; +#line 69 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 69 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->editable_file); +#line 69 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file = _tmp4_; +#line 1101 "PhotoMonitor.c" +} + + +void photo_updates_set_editable_file (PhotoUpdates* self, GFile* file) { +#line 64 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 64 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_editable_file (self, file); +#line 1110 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_editable_file_info (PhotoUpdates* self, GFileInfo* info) { + gboolean _tmp0_ = FALSE; + GFileInfo* _tmp1_ = NULL; + GFileInfo* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); +#line 74 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = info; +#line 74 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp1_ != NULL) { +#line 1126 "PhotoMonitor.c" + gboolean _tmp2_ = FALSE; +#line 74 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = self->revert_to_master; +#line 74 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp2_; +#line 1132 "PhotoMonitor.c" + } else { +#line 74 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = FALSE; +#line 1136 "PhotoMonitor.c" + } +#line 74 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_) { +#line 75 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 1142 "PhotoMonitor.c" + } +#line 77 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = info; +#line 77 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 77 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->editable_file_info); +#line 77 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file_info = _tmp4_; +#line 78 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = info; +#line 78 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp5_ == NULL) { +#line 79 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file_info_altered = FALSE; +#line 1158 "PhotoMonitor.c" + } +} + + +void photo_updates_set_editable_file_info (PhotoUpdates* self, GFileInfo* info) { +#line 72 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 72 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_editable_file_info (self, info); +#line 1168 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_editable_file_info_altered (PhotoUpdates* self, gboolean altered) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 84 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = altered; +#line 84 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp1_) { +#line 1180 "PhotoMonitor.c" + gboolean _tmp2_ = FALSE; +#line 84 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = self->revert_to_master; +#line 84 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp2_; +#line 1186 "PhotoMonitor.c" + } else { +#line 84 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = FALSE; +#line 1190 "PhotoMonitor.c" + } +#line 84 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_) { +#line 85 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 1196 "PhotoMonitor.c" + } +#line 87 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = altered; +#line 87 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file_info_altered = _tmp3_; +#line 1202 "PhotoMonitor.c" +} + + +void photo_updates_set_editable_file_info_altered (PhotoUpdates* self, gboolean altered) { +#line 82 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 82 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_editable_file_info_altered (self, altered); +#line 1211 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_editable_in_alteration (PhotoUpdates* self, gboolean in_alteration) { + gboolean _tmp0_ = FALSE; +#line 91 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = in_alteration; +#line 91 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_in_alteration = _tmp0_; +#line 1221 "PhotoMonitor.c" +} + + +void photo_updates_set_editable_in_alteration (PhotoUpdates* self, gboolean in_alteration) { +#line 90 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 90 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_editable_in_alteration (self, in_alteration); +#line 1230 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_raw_development_in_alteration (PhotoUpdates* self, gboolean in_alteration) { + gboolean _tmp0_ = FALSE; +#line 95 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = in_alteration; +#line 95 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->raw_development_in_alteration = _tmp0_; +#line 1240 "PhotoMonitor.c" +} + + +void photo_updates_set_raw_development_in_alteration (PhotoUpdates* self, gboolean in_alteration) { +#line 94 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 94 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_raw_development_in_alteration (self, in_alteration); +#line 1249 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_raw_developer_file_info_altered (PhotoUpdates* self, gboolean altered) { + gboolean _tmp0_ = FALSE; +#line 99 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = altered; +#line 99 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->raw_developer_file_info_altered = _tmp0_; +#line 1259 "PhotoMonitor.c" +} + + +void photo_updates_set_raw_developer_file_info_altered (PhotoUpdates* self, gboolean altered) { +#line 98 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 98 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_raw_developer_file_info_altered (self, altered); +#line 1268 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_revert_to_master (PhotoUpdates* self, gboolean revert) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 103 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = revert; +#line 103 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_) { +#line 105 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_editable = FALSE; +#line 106 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->editable_file); +#line 106 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file = NULL; +#line 107 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->editable_file_info); +#line 107 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file_info = NULL; +#line 1289 "PhotoMonitor.c" + } +#line 110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = revert; +#line 110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->revert_to_master = _tmp1_; +#line 1295 "PhotoMonitor.c" +} + + +void photo_updates_set_revert_to_master (PhotoUpdates* self, gboolean revert) { +#line 102 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 102 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_revert_to_master (self, revert); +#line 1304 "PhotoMonitor.c" +} + + +static void photo_updates_real_add_raw_developer_file (PhotoUpdates* self, GFile* file) { + GeeCollection* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 114 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->developer_files; +#line 114 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = file; +#line 114 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_collection_add (_tmp0_, _tmp1_); +#line 1319 "PhotoMonitor.c" +} + + +void photo_updates_add_raw_developer_file (PhotoUpdates* self, GFile* file) { +#line 113 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 113 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->add_raw_developer_file (self, file); +#line 1328 "PhotoMonitor.c" +} + + +static void photo_updates_real_clear_raw_developer_files (PhotoUpdates* self) { + GeeCollection* _tmp0_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->developer_files; +#line 118 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_collection_clear (_tmp0_); +#line 1338 "PhotoMonitor.c" +} + + +void photo_updates_clear_raw_developer_files (PhotoUpdates* self) { +#line 117 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 117 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->clear_raw_developer_files (self); +#line 1347 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_reimport_master (PhotoUpdates* self, gboolean reimport) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 122 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = reimport; +#line 122 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_master = _tmp0_; +#line 124 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = reimport; +#line 124 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp1_) { +#line 125 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + monitorable_updates_mark_online (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 1364 "PhotoMonitor.c" + } +} + + +void photo_updates_set_reimport_master (PhotoUpdates* self, gboolean reimport) { +#line 121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_reimport_master (self, reimport); +#line 1374 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_reimport_editable (PhotoUpdates* self, gboolean reimport) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = reimport; +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp1_) { +#line 1386 "PhotoMonitor.c" + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = self->revert_to_master; +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_) { +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = TRUE; +#line 1395 "PhotoMonitor.c" + } else { + gboolean _tmp4_ = FALSE; +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = monitorable_updates_is_set_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp4_; +#line 1402 "PhotoMonitor.c" + } +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp2_; +#line 1406 "PhotoMonitor.c" + } else { +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = FALSE; +#line 1410 "PhotoMonitor.c" + } +#line 130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_) { +#line 131 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 1416 "PhotoMonitor.c" + } +#line 133 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = reimport; +#line 133 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_editable = _tmp5_; +#line 1422 "PhotoMonitor.c" +} + + +void photo_updates_set_reimport_editable (PhotoUpdates* self, gboolean reimport) { +#line 128 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 128 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_reimport_editable (self, reimport); +#line 1431 "PhotoMonitor.c" +} + + +static void photo_updates_real_set_reimport_raw_developments (PhotoUpdates* self, gboolean reimport) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = reimport; +#line 137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_raw_developments = _tmp0_; +#line 139 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = reimport; +#line 139 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp1_) { +#line 140 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + monitorable_updates_mark_online (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 1448 "PhotoMonitor.c" + } +} + + +void photo_updates_set_reimport_raw_developments (PhotoUpdates* self, gboolean reimport) { +#line 136 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_UPDATES (self)); +#line 136 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + PHOTO_UPDATES_GET_CLASS (self)->set_reimport_raw_developments (self, reimport); +#line 1458 "PhotoMonitor.c" +} + + +static gboolean photo_updates_real_is_all_updated (MonitorableUpdates* base) { + PhotoUpdates * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_UPDATES, PhotoUpdates); +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = MONITORABLE_UPDATES_CLASS (photo_updates_parent_class)->is_all_updated (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp9_) { +#line 1481 "PhotoMonitor.c" + gboolean _tmp10_ = FALSE; +#line 145 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = self->reimport_master; +#line 145 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = _tmp10_ == FALSE; +#line 1487 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = FALSE; +#line 1491 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp8_) { +#line 1495 "PhotoMonitor.c" + gboolean _tmp11_ = FALSE; +#line 146 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = self->reimport_editable; +#line 146 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _tmp11_ == FALSE; +#line 1501 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = FALSE; +#line 1505 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp7_) { +#line 1509 "PhotoMonitor.c" + GFile* _tmp12_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = self->editable_file; +#line 147 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _tmp12_ == NULL; +#line 1515 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = FALSE; +#line 1519 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp6_) { +#line 1523 "PhotoMonitor.c" + gboolean _tmp13_ = FALSE; +#line 148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = self->editable_file_info_altered; +#line 148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = _tmp13_ == FALSE; +#line 1529 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = FALSE; +#line 1533 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp5_) { +#line 1537 "PhotoMonitor.c" + GFileInfo* _tmp14_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = self->editable_file_info; +#line 149 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _tmp14_ == NULL; +#line 1543 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = FALSE; +#line 1547 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp4_) { +#line 1551 "PhotoMonitor.c" + gboolean _tmp15_ = FALSE; +#line 150 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = self->editable_in_alteration; +#line 150 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _tmp15_ == FALSE; +#line 1557 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = FALSE; +#line 1561 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_) { +#line 1565 "PhotoMonitor.c" + GeeCollection* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; +#line 151 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = self->developer_files; +#line 151 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = gee_collection_get_size (_tmp16_); +#line 151 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = _tmp17_; +#line 151 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp18_ == 0; +#line 1577 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = FALSE; +#line 1581 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp2_) { +#line 1585 "PhotoMonitor.c" + gboolean _tmp19_ = FALSE; +#line 152 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = self->raw_developer_file_info_altered; +#line 152 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _tmp19_ == FALSE; +#line 1591 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = FALSE; +#line 1595 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp1_) { +#line 1599 "PhotoMonitor.c" + gboolean _tmp20_ = FALSE; +#line 153 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = self->revert_to_master; +#line 153 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp20_ == FALSE; +#line 1605 "PhotoMonitor.c" + } else { +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = FALSE; +#line 1609 "PhotoMonitor.c" + } +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp0_; +#line 144 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 1615 "PhotoMonitor.c" +} + + +static void photo_updates_class_init (PhotoUpdatesClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->finalize = photo_updates_finalize; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->mark_offline = photo_updates_real_mark_offline; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->is_in_alteration = photo_updates_real_is_in_alteration; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_editable_file = photo_updates_real_set_editable_file; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_editable_file_info = photo_updates_real_set_editable_file_info; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_editable_file_info_altered = photo_updates_real_set_editable_file_info_altered; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_editable_in_alteration = photo_updates_real_set_editable_in_alteration; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_raw_development_in_alteration = photo_updates_real_set_raw_development_in_alteration; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_raw_developer_file_info_altered = photo_updates_real_set_raw_developer_file_info_altered; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_revert_to_master = photo_updates_real_set_revert_to_master; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->add_raw_developer_file = photo_updates_real_add_raw_developer_file; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->clear_raw_developer_files = photo_updates_real_clear_raw_developer_files; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_reimport_master = photo_updates_real_set_reimport_master; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_reimport_editable = photo_updates_real_set_reimport_editable; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((PhotoUpdatesClass *) klass)->set_reimport_raw_developments = photo_updates_real_set_reimport_raw_developments; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->is_all_updated = photo_updates_real_is_all_updated; +#line 1654 "PhotoMonitor.c" +} + + +static void photo_updates_instance_init (PhotoUpdates * self) { + GeeArrayList* _tmp0_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_master = FALSE; +#line 11 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_editable = FALSE; +#line 12 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_raw_developments = FALSE; +#line 13 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file = NULL; +#line 14 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file_info_altered = FALSE; +#line 15 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->raw_developer_file_info_altered = FALSE; +#line 16 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_file_info = NULL; +#line 17 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->editable_in_alteration = FALSE; +#line 18 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->raw_development_in_alteration = FALSE; +#line 19 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->revert_to_master = FALSE; +#line 20 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 20 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->developer_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1684 "PhotoMonitor.c" +} + + +static void photo_updates_finalize (MonitorableUpdates* obj) { + PhotoUpdates * self; +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_UPDATES, PhotoUpdates); +#line 8 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->photo); +#line 13 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->editable_file); +#line 16 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->editable_file_info); +#line 20 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->developer_files); +#line 7 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + MONITORABLE_UPDATES_CLASS (photo_updates_parent_class)->finalize (obj); +#line 1702 "PhotoMonitor.c" +} + + +GType photo_updates_get_type (void) { + static volatile gsize photo_updates_type_id__volatile = 0; + if (g_once_init_enter (&photo_updates_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoUpdatesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_updates_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoUpdates), 0, (GInstanceInitFunc) photo_updates_instance_init, NULL }; + GType photo_updates_type_id; + photo_updates_type_id = g_type_register_static (TYPE_MONITORABLE_UPDATES, "PhotoUpdates", &g_define_type_info, 0); + g_once_init_leave (&photo_updates_type_id__volatile, photo_updates_type_id); + } + return photo_updates_type_id__volatile; +} + + +static gpointer _workers_ref0 (gpointer self) { +#line 240 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self ? workers_ref (self) : NULL; +#line 1721 "PhotoMonitor.c" +} + + +PhotoMonitor* photo_monitor_construct (GType object_type, Workers* workers, GCancellable* cancellable) { + PhotoMonitor * self = NULL; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; + Workers* _tmp2_ = NULL; + Workers* _tmp3_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_WORKERS (workers), NULL); +#line 237 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 238 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = library_photo_global; +#line 238 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = cancellable; +#line 238 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = (PhotoMonitor*) media_monitor_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp1_); +#line 240 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = workers; +#line 240 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _workers_ref0 (_tmp2_); +#line 240 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _workers_unref0 (self->priv->workers); +#line 240 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->priv->workers = _tmp3_; +#line 237 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self; +#line 1751 "PhotoMonitor.c" +} + + +PhotoMonitor* photo_monitor_new (Workers* workers, GCancellable* cancellable) { +#line 237 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return photo_monitor_construct (TYPE_PHOTO_MONITOR, workers, cancellable); +#line 1758 "PhotoMonitor.c" +} + + +static MonitorableUpdates* photo_monitor_real_create_updates (MediaMonitor* base, Monitorable* monitorable) { + PhotoMonitor * self; + MonitorableUpdates* result = NULL; + Monitorable* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 243 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 244 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = monitorable; +#line 244 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO), "monitorable is LibraryPhoto"); +#line 246 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = monitorable; +#line 246 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_updates_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 246 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates); +#line 246 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 1784 "PhotoMonitor.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 250 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self ? data_collection_ref (self) : NULL; +#line 1791 "PhotoMonitor.c" +} + + +static MediaSourceCollection* photo_monitor_real_get_media_source_collection (MediaMonitor* base) { + PhotoMonitor * self; + MediaSourceCollection* result = NULL; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + MediaSourceCollection* _tmp1_ = NULL; +#line 249 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 250 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = library_photo_global; +#line 250 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _data_collection_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 250 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp1_; +#line 250 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 1810 "PhotoMonitor.c" +} + + +static gboolean photo_monitor_real_is_file_represented (MediaMonitor* base, GFile* file) { + PhotoMonitor * self; + gboolean result = FALSE; + LibraryPhotoSourceCollectionState state = 0; + GFile* _tmp0_ = NULL; + LibraryPhotoSourceCollectionState _tmp1_ = 0; + LibraryPhoto* _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 253 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 253 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 255 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = file; +#line 255 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_monitor_get_photo_state_by_file (self, _tmp0_, &_tmp1_); +#line 255 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp1_; +#line 255 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _tmp2_; +#line 255 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _tmp3_ != NULL; +#line 255 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 255 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp4_; +#line 255 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 1843 "PhotoMonitor.c" +} + + +static void photo_monitor_real_close (MediaMonitor* base) { + PhotoMonitor * self; +#line 258 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 1851 "PhotoMonitor.c" + { + GeeIterator* _job_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->priv->master_reimport_pending; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _tmp2_; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = _tmp4_; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _job_it = _tmp5_; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 1878 "PhotoMonitor.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PhotoMonitorReimportMasterJob* job = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + PhotoMonitorReimportMasterJob* _tmp10_ = NULL; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _job_it; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp7_) { +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 1893 "PhotoMonitor.c" + } +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = _job_it; +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = (PhotoMonitorReimportMasterJob*) _tmp9_; +#line 260 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = job; +#line 260 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1907 "PhotoMonitor.c" + } +#line 259 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_job_it); +#line 1911 "PhotoMonitor.c" + } + { + GeeIterator* _job_it = NULL; + GeeHashMap* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = self->priv->editable_reimport_pending; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_MAP, GeeMap)); +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = _tmp12_; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = _tmp15_; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp14_); +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _job_it = _tmp16_; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 1939 "PhotoMonitor.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + PhotoMonitorReimportEditableJob* job = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + PhotoMonitorReimportEditableJob* _tmp21_ = NULL; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _job_it; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp18_) { +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 1954 "PhotoMonitor.c" + } +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = _job_it; +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = (PhotoMonitorReimportEditableJob*) _tmp20_; +#line 263 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = job; +#line 263 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1968 "PhotoMonitor.c" + } +#line 262 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_job_it); +#line 1972 "PhotoMonitor.c" + } + { + GeeIterator* _job_it = NULL; + GeeHashMap* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + GeeIterator* _tmp26_ = NULL; + GeeIterator* _tmp27_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = self->priv->raw_developments_reimport_pending; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_MAP, GeeMap)); +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = _tmp23_; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = _tmp24_; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = _tmp26_; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp25_); +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _job_it = _tmp27_; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 2000 "PhotoMonitor.c" + GeeIterator* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + PhotoMonitorReimportRawDevelopmentJob* job = NULL; + GeeIterator* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp32_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = _job_it; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = gee_iterator_next (_tmp28_); +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp29_) { +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 2015 "PhotoMonitor.c" + } +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp30_ = _job_it; +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp31_ = gee_iterator_get (_tmp30_); +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = (PhotoMonitorReimportRawDevelopmentJob*) _tmp31_; +#line 266 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp32_ = job; +#line 266 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 2029 "PhotoMonitor.c" + } +#line 265 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_job_it); +#line 2033 "PhotoMonitor.c" + } +#line 268 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + MEDIA_MONITOR_CLASS (photo_monitor_parent_class)->close (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor)); +#line 2037 "PhotoMonitor.c" +} + + +static void photo_monitor_cancel_reimports (PhotoMonitor* self, LibraryPhoto* photo) { + PhotoMonitorReimportMasterJob* master_job = NULL; + GeeHashMap* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + PhotoMonitorReimportMasterJob* _tmp3_ = NULL; + PhotoMonitorReimportEditableJob* editable_job = NULL; + GeeHashMap* _tmp5_ = NULL; + LibraryPhoto* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + PhotoMonitorReimportEditableJob* _tmp8_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 271 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 272 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->priv->master_reimport_pending; +#line 272 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo; +#line 272 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 272 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + master_job = (PhotoMonitorReimportMasterJob*) _tmp2_; +#line 273 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = master_job; +#line 273 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_ != NULL) { +#line 2068 "PhotoMonitor.c" + PhotoMonitorReimportMasterJob* _tmp4_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = master_job; +#line 274 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 2074 "PhotoMonitor.c" + } +#line 276 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = self->priv->editable_reimport_pending; +#line 276 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = photo; +#line 276 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_); +#line 276 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + editable_job = (PhotoMonitorReimportEditableJob*) _tmp7_; +#line 277 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = editable_job; +#line 277 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp8_ != NULL) { +#line 2088 "PhotoMonitor.c" + PhotoMonitorReimportEditableJob* _tmp9_ = NULL; +#line 278 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = editable_job; +#line 278 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 2094 "PhotoMonitor.c" + } +#line 271 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (editable_job); +#line 271 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (master_job); +#line 2100 "PhotoMonitor.c" +} + + +static MediaMonitorDiscoveredFile photo_monitor_real_notify_file_discovered (MediaMonitor* base, GFile* file, GFileInfo* info, Monitorable** monitorable) { + PhotoMonitor * self; + Monitorable* _vala_monitorable = NULL; + MediaMonitorDiscoveredFile result = 0; + LibraryPhotoSourceCollectionState state = 0; + LibraryPhoto* photo = NULL; + GFile* _tmp0_ = NULL; + LibraryPhotoSourceCollectionState _tmp1_ = 0; + LibraryPhoto* _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + LibraryPhotoSourceCollectionState _tmp4_ = 0; +#line 281 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 281 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 281 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), 0); +#line 284 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = file; +#line 284 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_monitor_get_photo_state_by_file (self, _tmp0_, &_tmp1_); +#line 284 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp1_; +#line 284 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp2_; +#line 285 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo; +#line 285 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_ == NULL) { +#line 286 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 286 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_monitorable = NULL; +#line 288 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN; +#line 288 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 288 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (monitorable) { +#line 288 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *monitorable = _vala_monitorable; +#line 2145 "PhotoMonitor.c" + } else { +#line 288 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 2149 "PhotoMonitor.c" + } +#line 288 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 2153 "PhotoMonitor.c" + } +#line 291 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = state; +#line 291 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp4_) { +#line 291 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 291 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 2163 "PhotoMonitor.c" + { + LibraryPhoto* _tmp5_ = NULL; + Monitorable* _tmp6_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo; +#line 294 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MONITORABLE, Monitorable)); +#line 294 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 294 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_monitorable = _tmp6_; +#line 296 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED; +#line 296 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 296 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (monitorable) { +#line 296 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *monitorable = _vala_monitorable; +#line 2183 "PhotoMonitor.c" + } else { +#line 296 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 2187 "PhotoMonitor.c" + } +#line 296 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 2191 "PhotoMonitor.c" + } + default: +#line 291 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 291 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 291 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 2200 "PhotoMonitor.c" + { +#line 304 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 304 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_monitorable = NULL; +#line 306 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_IGNORE; +#line 306 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 306 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (monitorable) { +#line 306 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *monitorable = _vala_monitorable; +#line 2214 "PhotoMonitor.c" + } else { +#line 306 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 2218 "PhotoMonitor.c" + } +#line 306 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 2222 "PhotoMonitor.c" + } + } +#line 281 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 281 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (monitorable) { +#line 281 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *monitorable = _vala_monitorable; +#line 2231 "PhotoMonitor.c" + } else { +#line 281 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 2235 "PhotoMonitor.c" + } +} + + +static GeeCollection* photo_monitor_real_candidates_for_unknown_file (MediaMonitor* base, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_) { + PhotoMonitor * self; + MediaMonitorDiscoveredFile _vala_result = 0; + GeeCollection* result = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeCollection* matched_masters = NULL; + GeeArrayList* _tmp2_ = NULL; + LibraryPhotoSourceCollection* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + GeeArrayList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + GeeArrayList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + GeeArrayList* _tmp53_ = NULL; + gint _tmp54_ = 0; + gint _tmp55_ = 0; +#line 310 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 310 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 310 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), NULL); +#line 313 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->priv->matched_editables; +#line 313 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 314 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = self->priv->matched_developments; +#line 314 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 316 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 316 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + matched_masters = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 317 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = library_photo_global; +#line 317 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = info; +#line 317 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = matched_masters; +#line 317 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = self->priv->matched_editables; +#line 317 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = self->priv->matched_developments; +#line 317 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + library_photo_source_collection_fetch_by_matching_backing (_tmp3_, _tmp4_, _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 319 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = matched_masters; +#line 319 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = gee_collection_get_size (_tmp8_); +#line 319 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = _tmp9_; +#line 319 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp10_ > 0) { +#line 320 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_result = MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN; +#line 322 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = matched_masters; +#line 322 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_result_) { +#line 322 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *_result_ = _vala_result; +#line 2312 "PhotoMonitor.c" + } +#line 322 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 2316 "PhotoMonitor.c" + } +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = self->priv->matched_editables; +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_; +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp14_ == 0) { +#line 2326 "PhotoMonitor.c" + GeeArrayList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = self->priv->matched_developments; +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_; +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = _tmp17_ == 0; +#line 2338 "PhotoMonitor.c" + } else { +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = FALSE; +#line 2342 "PhotoMonitor.c" + } +#line 325 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp11_) { +#line 326 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_result = MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN; +#line 328 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = NULL; +#line 328 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (matched_masters); +#line 328 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_result_) { +#line 328 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *_result_ = _vala_result; +#line 2356 "PhotoMonitor.c" + } +#line 328 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 2360 "PhotoMonitor.c" + } +#line 332 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = self->priv->matched_editables; +#line 332 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 332 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = _tmp19_; +#line 332 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp20_ > 0) { +#line 2370 "PhotoMonitor.c" + LibraryPhoto* match = NULL; + GeeArrayList* _tmp21_ = NULL; + gpointer _tmp22_ = NULL; + GeeArrayList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + LibraryPhoto* _tmp51_ = NULL; + GFile* _tmp52_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = self->priv->matched_editables; +#line 333 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 333 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + match = (LibraryPhoto*) _tmp22_; +#line 334 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = self->priv->matched_editables; +#line 334 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 334 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = _tmp24_; +#line 334 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp25_ > 1) { +#line 2393 "PhotoMonitor.c" + GFile* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + GeeArrayList* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + LibraryPhoto* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = file; +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = g_file_get_path (_tmp26_); +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = _tmp27_; +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = self->priv->matched_editables; +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp30_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp31_ = _tmp30_; +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp32_ = match; +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp33_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_OBJECT, DataObject)); +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp34_ = _tmp33_; +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_warning ("PhotoMonitor.vala:335: Unknown file %s could be matched with %d photos" \ +"; giving to %s, dropping others", _tmp28_, _tmp31_, _tmp34_); +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp34_); +#line 335 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp28_); +#line 2427 "PhotoMonitor.c" + { + gint ctr = 0; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ctr = 1; +#line 2432 "PhotoMonitor.c" + { + gboolean _tmp35_ = FALSE; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp35_ = TRUE; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 2439 "PhotoMonitor.c" + gint _tmp37_ = 0; + GeeArrayList* _tmp38_ = NULL; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + GeeArrayList* _tmp41_ = NULL; + gint _tmp42_ = 0; + gpointer _tmp43_ = NULL; + LibraryPhoto* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; + gboolean _tmp46_ = FALSE; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp35_) { +#line 2452 "PhotoMonitor.c" + gint _tmp36_ = 0; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp36_ = ctr; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ctr = _tmp36_ + 1; +#line 2458 "PhotoMonitor.c" + } +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp35_ = FALSE; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp37_ = ctr; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp38_ = self->priv->matched_editables; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp39_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp40_ = _tmp39_; +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!(_tmp37_ < _tmp40_)) { +#line 337 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 2474 "PhotoMonitor.c" + } +#line 338 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp41_ = self->priv->matched_editables; +#line 338 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp42_ = ctr; +#line 338 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp43_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp42_); +#line 338 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp44_ = (LibraryPhoto*) _tmp43_; +#line 338 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp45_ = photo_does_editable_exist (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_PHOTO, Photo)); +#line 338 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp46_ = !_tmp45_; +#line 338 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp44_); +#line 338 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp46_) { +#line 2492 "PhotoMonitor.c" + GeeArrayList* _tmp47_ = NULL; + gint _tmp48_ = 0; + gpointer _tmp49_ = NULL; + LibraryPhoto* _tmp50_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp47_ = self->priv->matched_editables; +#line 339 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp48_ = ctr; +#line 339 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp49_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp48_); +#line 339 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp50_ = (LibraryPhoto*) _tmp49_; +#line 339 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_revert_to_master (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_PHOTO, Photo), TRUE); +#line 339 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp50_); +#line 2509 "PhotoMonitor.c" + } + } + } + } + } +#line 343 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp51_ = match; +#line 343 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp52_ = file; +#line 343 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file (self, _tmp51_, _tmp52_); +#line 332 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (match); +#line 2523 "PhotoMonitor.c" + } +#line 346 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp53_ = self->priv->matched_developments; +#line 346 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp54_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 346 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp55_ = _tmp54_; +#line 346 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp55_ > 0) { +#line 2533 "PhotoMonitor.c" + LibraryPhoto* match_raw = NULL; + GeeArrayList* _tmp56_ = NULL; + gpointer _tmp57_ = NULL; + GeeArrayList* _tmp58_ = NULL; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + LibraryPhoto* _tmp70_ = NULL; + GFile* _tmp71_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp56_ = self->priv->matched_developments; +#line 347 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp57_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 347 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + match_raw = (LibraryPhoto*) _tmp57_; +#line 348 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp58_ = self->priv->matched_developments; +#line 348 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp59_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 348 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp60_ = _tmp59_; +#line 348 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp60_ > 1) { +#line 2556 "PhotoMonitor.c" + GFile* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + GeeArrayList* _tmp64_ = NULL; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + LibraryPhoto* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp61_ = file; +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp62_ = g_file_get_path (_tmp61_); +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp63_ = _tmp62_; +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp64_ = self->priv->matched_developments; +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp65_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp66_ = _tmp65_; +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp67_ = match_raw; +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp68_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, TYPE_DATA_OBJECT, DataObject)); +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp69_ = _tmp68_; +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_warning ("PhotoMonitor.vala:349: Unknown file %s could be matched with %d photos" \ +"; giving to %s, dropping others", _tmp63_, _tmp66_, _tmp69_); +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp69_); +#line 349 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp63_); +#line 2590 "PhotoMonitor.c" + } +#line 353 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp70_ = match_raw; +#line 353 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp71_ = file; +#line 353 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file (self, _tmp70_, _tmp71_); +#line 346 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (match_raw); +#line 2600 "PhotoMonitor.c" + } +#line 356 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_result = MEDIA_MONITOR_DISCOVERED_FILE_IGNORE; +#line 358 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = NULL; +#line 358 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (matched_masters); +#line 358 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_result_) { +#line 358 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *_result_ = _vala_result; +#line 2612 "PhotoMonitor.c" + } +#line 358 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 2616 "PhotoMonitor.c" +} + + +static void _vala_array_add337 (GFile*** array, int* length, int* size, GFile* value) { +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if ((*length) == (*size)) { +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 2627 "PhotoMonitor.c" + } +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + (*array)[(*length)++] = value; +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + (*array)[*length] = NULL; +#line 2633 "PhotoMonitor.c" +} + + +static void _vala_array_add338 (GFile*** array, int* length, int* size, GFile* value) { +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if ((*length) == (*size)) { +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 2644 "PhotoMonitor.c" + } +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + (*array)[(*length)++] = value; +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + (*array)[*length] = NULL; +#line 2650 "PhotoMonitor.c" +} + + +static GFile** _vala_array_dup32 (GFile** self, int length) { + GFile** result; + int i; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = g_new0 (GFile*, length + 1); +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + for (i = 0; i < length; i++) { +#line 2661 "PhotoMonitor.c" + GFile* _tmp0_ = NULL; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result[i] = _tmp0_; +#line 2667 "PhotoMonitor.c" + } +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 2671 "PhotoMonitor.c" +} + + +static GFile** photo_monitor_real_get_auxilliary_backing_files (MediaMonitor* base, Monitorable* monitorable, int* result_length1) { + PhotoMonitor * self; + GFile** result = NULL; + LibraryPhoto* photo = NULL; + Monitorable* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + GFile** files = NULL; + GFile** _tmp2_ = NULL; + gint files_length1 = 0; + gint _files_size_ = 0; + LibraryPhoto* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GeeCollection* raw_files = NULL; + LibraryPhoto* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + GFile** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint __tmp20__size_ = 0; + GFile** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GFile** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + GFile** _tmp24_ = NULL; + gint _tmp24__length1 = 0; +#line 361 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 361 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 362 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = monitorable; +#line 362 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 362 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp1_; +#line 363 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = g_new0 (GFile*, 0 + 1); +#line 363 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + files = _tmp2_; +#line 363 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + files_length1 = 0; +#line 363 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _files_size_ = files_length1; +#line 366 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo; +#line 366 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = photo_has_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PHOTO, Photo)); +#line 366 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp4_) { +#line 2724 "PhotoMonitor.c" + GFile** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + LibraryPhoto* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = files; +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5__length1 = files_length1; +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = photo; +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PHOTO, Photo)); +#line 367 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_array_add337 (&files, &files_length1, &_files_size_, _tmp7_); +#line 2739 "PhotoMonitor.c" + } +#line 370 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = photo; +#line 370 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo)); +#line 370 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + raw_files = _tmp9_; +#line 371 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = raw_files; +#line 371 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp10_ != NULL) { +#line 2751 "PhotoMonitor.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp11_ = NULL; + GeeIterator* _tmp12_ = NULL; +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = raw_files; +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _f_it = _tmp12_; +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 2764 "PhotoMonitor.c" + GeeIterator* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + GFile** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + GFile* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = _f_it; +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = gee_iterator_next (_tmp13_); +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp14_) { +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 2782 "PhotoMonitor.c" + } +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = _f_it; +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = gee_iterator_get (_tmp15_); +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + f = (GFile*) _tmp16_; +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = files; +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17__length1 = files_length1; +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = f; +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = _g_object_ref0 (_tmp18_); +#line 373 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_array_add338 (&files, &files_length1, &_files_size_, _tmp19_); +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (f); +#line 2802 "PhotoMonitor.c" + } +#line 372 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_f_it); +#line 2806 "PhotoMonitor.c" + } + } +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = files; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21__length1 = files_length1; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp21__length1 > 0) { +#line 2815 "PhotoMonitor.c" + GFile** _tmp22_ = NULL; + gint _tmp22__length1 = 0; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = files; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22__length1 = files_length1; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = _tmp22_; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20__length1 = _tmp22__length1; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + __tmp20__size_ = _tmp20__length1; +#line 2828 "PhotoMonitor.c" + } else { +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = NULL; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20__length1 = 0; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + __tmp20__size_ = _tmp20__length1; +#line 2836 "PhotoMonitor.c" + } +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = (_tmp20_ != NULL) ? _vala_array_dup32 (_tmp20_, _tmp20__length1) : ((gpointer) _tmp20_); +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23__length1 = _tmp20__length1; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = _tmp23_; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24__length1 = _tmp23__length1; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (result_length1) { +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *result_length1 = _tmp24__length1; +#line 2850 "PhotoMonitor.c" + } +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp24_; +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (raw_files); +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + files = (_vala_array_free (files, files_length1, (GDestroyNotify) g_object_unref), NULL); +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 376 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 2862 "PhotoMonitor.c" +} + + +static void photo_monitor_real_update_backing_file_info (MediaMonitor* base, Monitorable* monitorable, GFile* file, GFileInfo* info) { + PhotoMonitor * self; + LibraryPhoto* photo = NULL; + Monitorable* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 379 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 379 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_MONITORABLE (monitorable)); +#line 379 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 379 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); +#line 380 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = monitorable; +#line 380 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 380 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp1_; +#line 382 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo; +#line 382 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = media_monitor_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MONITORABLE, Monitorable)); +#line 382 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _tmp3_; +#line 382 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = file; +#line 382 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = g_file_equal (_tmp4_, _tmp5_); +#line 382 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _tmp6_; +#line 382 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp4_); +#line 382 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp7_) { +#line 2907 "PhotoMonitor.c" + LibraryPhoto* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; +#line 383 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = photo; +#line 383 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = info; +#line 383 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_check_for_master_changes (self, _tmp8_, _tmp9_); +#line 2916 "PhotoMonitor.c" + } else { + gboolean _tmp10_ = FALSE; + LibraryPhoto* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = photo; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = photo_monitor_get_editable_file (self, _tmp11_); +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = _tmp12_; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_ != NULL; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp13_); +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp14_) { +#line 2935 "PhotoMonitor.c" + LibraryPhoto* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = photo; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = photo_monitor_get_editable_file (self, _tmp15_); +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = file; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = g_file_equal (_tmp17_, _tmp18_); +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = _tmp19_; +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp17_); +#line 2955 "PhotoMonitor.c" + } else { +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = FALSE; +#line 2959 "PhotoMonitor.c" + } +#line 384 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp10_) { +#line 2963 "PhotoMonitor.c" + LibraryPhoto* _tmp20_ = NULL; + GFileInfo* _tmp21_ = NULL; +#line 385 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = photo; +#line 385 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = info; +#line 385 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_check_for_editable_changes (self, _tmp20_, _tmp21_); +#line 2972 "PhotoMonitor.c" + } else { + LibraryPhoto* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 386 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = photo; +#line 386 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = photo_monitor_get_raw_development_files (self, _tmp22_); +#line 386 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = _tmp23_; +#line 386 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = _tmp24_ != NULL; +#line 386 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp24_); +#line 386 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp25_) { +#line 2990 "PhotoMonitor.c" + { + GeeIterator* _f_it = NULL; + LibraryPhoto* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; + GeeCollection* _tmp28_ = NULL; + GeeIterator* _tmp29_ = NULL; + GeeIterator* _tmp30_ = NULL; +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = photo; +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = photo_monitor_get_raw_development_files (self, _tmp26_); +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = _tmp27_; +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp30_ = _tmp29_; +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp28_); +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _f_it = _tmp30_; +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 3014 "PhotoMonitor.c" + GeeIterator* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp33_ = NULL; + gpointer _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp31_ = _f_it; +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp32_ = gee_iterator_next (_tmp31_); +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp32_) { +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3031 "PhotoMonitor.c" + } +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp33_ = _f_it; +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp34_ = gee_iterator_get (_tmp33_); +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + f = (GFile*) _tmp34_; +#line 388 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp35_ = f; +#line 388 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp36_ = file; +#line 388 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp37_ = g_file_equal (_tmp35_, _tmp36_); +#line 388 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp37_) { +#line 3047 "PhotoMonitor.c" + LibraryPhoto* _tmp38_ = NULL; + GFileInfo* _tmp39_ = NULL; +#line 389 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp38_ = photo; +#line 389 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp39_ = info; +#line 389 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_check_for_raw_development_changes (self, _tmp38_, _tmp39_); +#line 3056 "PhotoMonitor.c" + } +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (f); +#line 3060 "PhotoMonitor.c" + } +#line 387 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_f_it); +#line 3064 "PhotoMonitor.c" + } + } + } + } +#line 379 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 3071 "PhotoMonitor.c" +} + + +static void photo_monitor_real_notify_discovery_completing (MediaMonitor* base) { + PhotoMonitor * self; + GeeArrayList* _tmp0_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 395 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->priv->matched_editables; +#line 395 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 3084 "PhotoMonitor.c" +} + + +static void photo_monitor_check_for_master_changes (PhotoMonitor* self, LibraryPhoto* photo, GFileInfo* info) { + GFileInfo* _tmp0_ = NULL; + BackingPhotoRow* state = NULL; + LibraryPhoto* _tmp1_ = NULL; + BackingPhotoRow* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; + GFileInfo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + BackingPhotoRow* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 402 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 402 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 402 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); +#line 404 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = info; +#line 404 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_ == NULL) { +#line 405 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 3111 "PhotoMonitor.c" + } +#line 407 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo; +#line 407 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_get_master_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO, Photo)); +#line 407 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp2_; +#line 408 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = state; +#line 408 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = info; +#line 408 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = backing_photo_row_matches_file_info (_tmp3_, _tmp4_); +#line 408 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp5_) { +#line 409 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _backing_photo_row_unref0 (state); +#line 409 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 3131 "PhotoMonitor.c" + } +#line 411 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = state; +#line 411 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = info; +#line 411 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = backing_photo_row_is_touched (_tmp6_, _tmp7_); +#line 411 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp8_) { +#line 3141 "PhotoMonitor.c" + LibraryPhoto* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + GFileInfo* _tmp11_ = NULL; +#line 412 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = photo; +#line 412 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_info_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MONITORABLE, Monitorable)); +#line 413 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = photo; +#line 413 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = info; +#line 413 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_alterations_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MONITORABLE, Monitorable), _tmp11_); +#line 3155 "PhotoMonitor.c" + } else { + LibraryPhoto* _tmp12_ = NULL; +#line 415 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = photo; +#line 415 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_master (self, _tmp12_); +#line 3162 "PhotoMonitor.c" + } +#line 402 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _backing_photo_row_unref0 (state); +#line 3166 "PhotoMonitor.c" +} + + +static void photo_monitor_check_for_editable_changes (PhotoMonitor* self, LibraryPhoto* photo, GFileInfo* info) { + GFileInfo* _tmp0_ = NULL; + BackingPhotoRow* state = NULL; + LibraryPhoto* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + BackingPhotoRow* _tmp5_ = NULL; + BackingPhotoRow* _tmp9_ = NULL; + GFileInfo* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 419 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 419 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 419 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); +#line 420 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = info; +#line 420 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_ == NULL) { +#line 3190 "PhotoMonitor.c" + LibraryPhoto* _tmp1_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo; +#line 421 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_revert_to_master (self, _tmp1_); +#line 423 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 3198 "PhotoMonitor.c" + } +#line 427 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo; +#line 427 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo_get_editable_photo_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO, Photo)); +#line 427 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp3_; +#line 428 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = state; +#line 428 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp5_ == NULL) { +#line 428 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = TRUE; +#line 3212 "PhotoMonitor.c" + } else { + BackingPhotoRow* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 428 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = state; +#line 428 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = info; +#line 428 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = backing_photo_row_matches_file_info (_tmp6_, _tmp7_); +#line 428 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _tmp8_; +#line 3225 "PhotoMonitor.c" + } +#line 428 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp4_) { +#line 429 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _backing_photo_row_unref0 (state); +#line 429 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 3233 "PhotoMonitor.c" + } +#line 431 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = state; +#line 431 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = info; +#line 431 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = backing_photo_row_is_touched (_tmp9_, _tmp10_); +#line 431 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp11_) { +#line 3243 "PhotoMonitor.c" + LibraryPhoto* _tmp12_ = NULL; + LibraryPhoto* _tmp13_ = NULL; + GFileInfo* _tmp14_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = photo; +#line 432 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file_info_altered (self, _tmp12_); +#line 433 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = photo; +#line 433 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = info; +#line 433 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file_alterations_completed (self, _tmp13_, _tmp14_); +#line 3257 "PhotoMonitor.c" + } else { + LibraryPhoto* _tmp15_ = NULL; +#line 435 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = photo; +#line 435 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_editable (self, _tmp15_); +#line 3264 "PhotoMonitor.c" + } +#line 419 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _backing_photo_row_unref0 (state); +#line 3268 "PhotoMonitor.c" +} + + +static void photo_monitor_check_for_raw_development_changes (PhotoMonitor* self, LibraryPhoto* photo, GFileInfo* info) { + GFileInfo* _tmp0_ = NULL; + GeeCollection* rows = NULL; + LibraryPhoto* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 439 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 439 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 439 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail ((info == NULL) || G_IS_FILE_INFO (info)); +#line 440 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = info; +#line 440 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_ == NULL) { +#line 3288 "PhotoMonitor.c" + LibraryPhoto* _tmp1_ = NULL; +#line 442 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo; +#line 442 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_set_raw_developer (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO, Photo), RAW_DEVELOPER_SHOTWELL); +#line 444 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 3296 "PhotoMonitor.c" + } +#line 447 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo; +#line 447 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo_get_raw_development_photo_rows (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO, Photo)); +#line 447 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + rows = _tmp3_; +#line 448 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = rows; +#line 448 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp4_ == NULL) { +#line 449 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (rows); +#line 449 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 3312 "PhotoMonitor.c" + } + { + GeeIterator* _row_it = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = rows; +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _row_it = _tmp6_; +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 3326 "PhotoMonitor.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + BackingPhotoRow* row = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + BackingPhotoRow* _tmp11_ = NULL; + GFileInfo* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GFileInfo* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + BackingPhotoRow* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _row_it; +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp8_) { +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3347 "PhotoMonitor.c" + } +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = _row_it; +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + row = (BackingPhotoRow*) _tmp10_; +#line 454 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = row; +#line 454 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = info; +#line 454 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = backing_photo_row_matches_file_info (_tmp11_, _tmp12_); +#line 454 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp13_) { +#line 455 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _backing_photo_row_unref0 (row); +#line 455 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_row_it); +#line 455 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (rows); +#line 455 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 3371 "PhotoMonitor.c" + } +#line 456 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = info; +#line 456 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = g_file_info_get_name (_tmp14_); +#line 456 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = row; +#line 456 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_->filepath; +#line 456 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (g_strcmp0 (_tmp15_, _tmp17_) == 0) { +#line 3383 "PhotoMonitor.c" + BackingPhotoRow* _tmp18_ = NULL; + GFileInfo* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 457 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = row; +#line 457 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = info; +#line 457 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = backing_photo_row_is_touched (_tmp18_, _tmp19_); +#line 457 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp20_) { +#line 3395 "PhotoMonitor.c" + LibraryPhoto* _tmp21_ = NULL; + LibraryPhoto* _tmp22_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = photo; +#line 458 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file_info_altered (self, _tmp21_); +#line 459 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = photo; +#line 459 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file_alterations_completed (self, _tmp22_); +#line 3406 "PhotoMonitor.c" + } else { + LibraryPhoto* _tmp23_ = NULL; +#line 461 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = photo; +#line 461 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_raw_developments (self, _tmp23_); +#line 3413 "PhotoMonitor.c" + } +#line 464 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _backing_photo_row_unref0 (row); +#line 464 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3419 "PhotoMonitor.c" + } +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _backing_photo_row_unref0 (row); +#line 3423 "PhotoMonitor.c" + } +#line 453 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_row_it); +#line 3427 "PhotoMonitor.c" + } +#line 439 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (rows); +#line 3431 "PhotoMonitor.c" +} + + +static gboolean photo_monitor_real_notify_file_created (MediaMonitor* base, GFile* file, GFileInfo* info) { + PhotoMonitor * self; + gboolean result = FALSE; + LibraryPhotoSourceCollectionState state = 0; + LibraryPhoto* photo = NULL; + GFile* _tmp0_ = NULL; + LibraryPhotoSourceCollectionState _tmp1_ = 0; + LibraryPhoto* _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + LibraryPhotoSourceCollectionState _tmp4_ = 0; +#line 469 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 469 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 469 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 471 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = file; +#line 471 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_monitor_get_photo_state_by_file (self, _tmp0_, &_tmp1_); +#line 471 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp1_; +#line 471 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp2_; +#line 472 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo; +#line 472 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_ == NULL) { +#line 473 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = FALSE; +#line 473 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 473 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 3469 "PhotoMonitor.c" + } +#line 475 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = state; +#line 475 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp4_) { +#line 475 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 475 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 475 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 475 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 3483 "PhotoMonitor.c" + { + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + LibraryPhotoSourceCollectionState _tmp8_ = 0; + GEnumValue* _tmp9_; +#line 481 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = file; +#line 481 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 481 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _tmp6_; +#line 481 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = state; +#line 481 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp8_); +#line 481 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_warning ("PhotoMonitor.vala:481: File %s created in %s state", _tmp7_, (_tmp9_ != NULL) ? _tmp9_->value_name : NULL); +#line 481 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp7_); +#line 482 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3506 "PhotoMonitor.c" + } +#line 475 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 3510 "PhotoMonitor.c" + { + LibraryPhoto* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + LibraryPhoto* _tmp15_ = NULL; +#line 485 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = photo; +#line 485 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 485 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = _tmp11_; +#line 485 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = g_strdup_printf ("Will mark %s online", _tmp12_); +#line 485 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_; +#line 485 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp14_); +#line 485 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp14_); +#line 485 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp12_); +#line 486 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = photo; +#line 486 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_online (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_MONITORABLE, Monitorable)); +#line 487 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3540 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp16_ = 0; + GEnumValue* _tmp17_; +#line 490 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = state; +#line 490 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp16_); +#line 490 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:490: Unknown LibraryPhoto collection state %s", (_tmp17_ != NULL) ? _tmp17_->value_name : NULL); +#line 3552 "PhotoMonitor.c" + } + } +#line 493 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = TRUE; +#line 493 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 493 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 3561 "PhotoMonitor.c" +} + + +static gboolean photo_monitor_real_notify_file_moved (MediaMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* info) { + PhotoMonitor * self; + gboolean result = FALSE; + LibraryPhotoSourceCollectionState old_state = 0; + LibraryPhoto* old_photo = NULL; + GFile* _tmp0_ = NULL; + LibraryPhotoSourceCollectionState _tmp1_ = 0; + LibraryPhoto* _tmp2_ = NULL; + LibraryPhotoSourceCollectionState new_state = 0; + LibraryPhoto* new_photo = NULL; + GFile* _tmp3_ = NULL; + LibraryPhotoSourceCollectionState _tmp4_ = 0; + LibraryPhoto* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + LibraryPhoto* _tmp7_ = NULL; +#line 496 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 496 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (old_file), FALSE); +#line 496 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (new_file), FALSE); +#line 496 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 498 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = old_file; +#line 498 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_monitor_get_photo_state_by_file (self, _tmp0_, &_tmp1_); +#line 498 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + old_state = _tmp1_; +#line 498 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + old_photo = _tmp2_; +#line 501 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = new_file; +#line 501 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo_monitor_get_photo_state_by_file (self, _tmp3_, &_tmp4_); +#line 501 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + new_state = _tmp4_; +#line 501 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + new_photo = _tmp5_; +#line 515 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = old_photo; +#line 515 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp7_ != NULL) { +#line 3608 "PhotoMonitor.c" + LibraryPhoto* _tmp8_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = new_photo; +#line 515 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _tmp8_ == NULL; +#line 3614 "PhotoMonitor.c" + } else { +#line 515 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = FALSE; +#line 3618 "PhotoMonitor.c" + } +#line 515 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp6_) { +#line 3622 "PhotoMonitor.c" + LibraryPhotoSourceCollectionState _tmp9_ = 0; +#line 517 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = old_state; +#line 517 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp9_) { +#line 517 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 517 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 517 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 3634 "PhotoMonitor.c" + { + LibraryPhoto* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + LibraryPhoto* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = old_photo; +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = _tmp11_; +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = new_file; +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = _tmp14_; +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = g_strdup_printf ("Will set new master file for %s to %s", _tmp12_, _tmp15_); +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_; +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp17_); +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp17_); +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp15_); +#line 521 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp12_); +#line 523 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = old_photo; +#line 523 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = new_file; +#line 523 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_MONITORABLE, Monitorable), _tmp19_); +#line 524 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3678 "PhotoMonitor.c" + } +#line 517 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 3682 "PhotoMonitor.c" + { + LibraryPhoto* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + LibraryPhoto* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = old_photo; +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_OBJECT, DataObject)); +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = _tmp21_; +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = new_file; +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = g_file_get_path (_tmp23_); +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = _tmp24_; +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = g_strdup_printf ("Will set new editable file for %s to %s", _tmp22_, _tmp25_); +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = _tmp26_; +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp27_); +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp27_); +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp25_); +#line 527 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp22_); +#line 529 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = old_photo; +#line 529 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = new_file; +#line 529 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file (self, _tmp28_, _tmp29_); +#line 530 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3726 "PhotoMonitor.c" + } +#line 517 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 3730 "PhotoMonitor.c" + { + LibraryPhoto* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + LibraryPhoto* _tmp38_ = NULL; + GFile* _tmp39_ = NULL; +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp30_ = old_photo; +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp31_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_DATA_OBJECT, DataObject)); +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp32_ = _tmp31_; +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp33_ = new_file; +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp34_ = g_file_get_path (_tmp33_); +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp35_ = _tmp34_; +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp36_ = g_strdup_printf ("Will set new raw development file for %s to %s", _tmp32_, _tmp35_); +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp37_ = _tmp36_; +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp37_); +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp37_); +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp35_); +#line 533 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp32_); +#line 535 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp38_ = old_photo; +#line 535 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp39_ = new_file; +#line 535 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file (self, _tmp38_, _tmp39_); +#line 536 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3774 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp40_ = 0; + GEnumValue* _tmp41_; +#line 539 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp40_ = old_state; +#line 539 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp41_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp40_); +#line 539 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:539: Unknown LibraryPhoto collection state %s", (_tmp41_ != NULL) ? _tmp41_->value_name : NULL); +#line 3786 "PhotoMonitor.c" + } + } + } else { + gboolean _tmp42_ = FALSE; + LibraryPhoto* _tmp43_ = NULL; +#line 541 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp43_ = old_photo; +#line 541 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp43_ == NULL) { +#line 3796 "PhotoMonitor.c" + LibraryPhoto* _tmp44_ = NULL; +#line 541 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp44_ = new_photo; +#line 541 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp42_ = _tmp44_ != NULL; +#line 3802 "PhotoMonitor.c" + } else { +#line 541 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp42_ = FALSE; +#line 3806 "PhotoMonitor.c" + } +#line 541 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp42_) { +#line 3810 "PhotoMonitor.c" + LibraryPhotoSourceCollectionState _tmp45_ = 0; +#line 543 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp45_ = new_state; +#line 543 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp45_) { +#line 543 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 543 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 543 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 3822 "PhotoMonitor.c" + { + LibraryPhoto* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + LibraryPhoto* _tmp51_ = NULL; +#line 547 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp46_ = new_photo; +#line 547 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp47_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_DATA_OBJECT, DataObject)); +#line 547 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp48_ = _tmp47_; +#line 547 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp49_ = g_strdup_printf ("Will reimport master file for %s", _tmp48_); +#line 547 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp50_ = _tmp49_; +#line 547 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp50_); +#line 547 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp50_); +#line 547 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp48_); +#line 548 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp51_ = new_photo; +#line 548 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_master (self, _tmp51_); +#line 549 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3852 "PhotoMonitor.c" + } +#line 543 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 3856 "PhotoMonitor.c" + { + LibraryPhoto* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + LibraryPhoto* _tmp57_ = NULL; +#line 552 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp52_ = new_photo; +#line 552 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp53_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_DATA_OBJECT, DataObject)); +#line 552 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp54_ = _tmp53_; +#line 552 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp55_ = g_strdup_printf ("Will reimport editable file for %s", _tmp54_); +#line 552 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp56_ = _tmp55_; +#line 552 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp56_); +#line 552 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp56_); +#line 552 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp54_); +#line 553 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp57_ = new_photo; +#line 553 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_editable (self, _tmp57_); +#line 554 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3886 "PhotoMonitor.c" + } +#line 543 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 3890 "PhotoMonitor.c" + { + LibraryPhoto* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + LibraryPhoto* _tmp63_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp58_ = new_photo; +#line 557 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp59_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, TYPE_DATA_OBJECT, DataObject)); +#line 557 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp60_ = _tmp59_; +#line 557 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp61_ = g_strdup_printf ("Will reimport raw development file for %s", _tmp60_); +#line 557 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp62_ = _tmp61_; +#line 557 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp62_); +#line 557 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp62_); +#line 557 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp60_); +#line 558 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp63_ = new_photo; +#line 558 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_raw_developments (self, _tmp63_); +#line 559 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 3920 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp64_ = 0; + GEnumValue* _tmp65_; +#line 562 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp64_ = new_state; +#line 562 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp65_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp64_); +#line 562 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:562: Unknown LibraryPhoto collection state %s", (_tmp65_ != NULL) ? _tmp65_->value_name : NULL); +#line 3932 "PhotoMonitor.c" + } + } + } else { + gboolean _tmp66_ = FALSE; + LibraryPhoto* _tmp67_ = NULL; +#line 564 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp67_ = old_photo; +#line 564 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp67_ == NULL) { +#line 3942 "PhotoMonitor.c" + LibraryPhoto* _tmp68_ = NULL; +#line 564 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp68_ = new_photo; +#line 564 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp66_ = _tmp68_ == NULL; +#line 3948 "PhotoMonitor.c" + } else { +#line 564 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp66_ = FALSE; +#line 3952 "PhotoMonitor.c" + } +#line 564 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp66_) { +#line 566 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = FALSE; +#line 566 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (new_photo); +#line 566 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (old_photo); +#line 566 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 3964 "PhotoMonitor.c" + } else { + gboolean _tmp69_ = FALSE; + LibraryPhoto* _tmp70_ = NULL; + LibraryPhotoSourceCollectionState _tmp72_ = 0; + LibraryPhotoSourceCollectionState _tmp87_ = 0; +#line 568 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp70_ = old_photo; +#line 568 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp70_ != NULL) { +#line 3974 "PhotoMonitor.c" + LibraryPhoto* _tmp71_ = NULL; +#line 568 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp71_ = new_photo; +#line 568 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp69_ = _tmp71_ != NULL; +#line 3980 "PhotoMonitor.c" + } else { +#line 568 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp69_ = FALSE; +#line 3984 "PhotoMonitor.c" + } +#line 568 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (_tmp69_, "old_photo != null && new_photo != null"); +#line 570 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp72_ = old_state; +#line 570 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp72_) { +#line 570 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 3994 "PhotoMonitor.c" + { + LibraryPhoto* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + gchar* _tmp77_ = NULL; + LibraryPhoto* _tmp78_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp73_ = old_photo; +#line 572 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp74_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_DATA_OBJECT, DataObject)); +#line 572 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp75_ = _tmp74_; +#line 572 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp76_ = g_strdup_printf ("Will mark offline %s", _tmp75_); +#line 572 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp77_ = _tmp76_; +#line 572 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp77_); +#line 572 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp77_); +#line 572 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp75_); +#line 573 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp78_ = old_photo; +#line 573 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, TYPE_MONITORABLE, Monitorable)); +#line 574 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4024 "PhotoMonitor.c" + } +#line 570 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 570 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 4030 "PhotoMonitor.c" + { +#line 579 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4034 "PhotoMonitor.c" + } +#line 570 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 4038 "PhotoMonitor.c" + { + LibraryPhoto* _tmp79_ = NULL; + gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + LibraryPhoto* _tmp84_ = NULL; +#line 582 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp79_ = old_photo; +#line 582 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp80_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, TYPE_DATA_OBJECT, DataObject)); +#line 582 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp81_ = _tmp80_; +#line 582 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp82_ = g_strdup_printf ("Will revert %s to master", _tmp81_); +#line 582 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp83_ = _tmp82_; +#line 582 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp83_); +#line 582 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp83_); +#line 582 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp81_); +#line 583 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp84_ = old_photo; +#line 583 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_revert_to_master (self, _tmp84_); +#line 584 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4068 "PhotoMonitor.c" + } +#line 570 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 4072 "PhotoMonitor.c" + { +#line 588 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4076 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp85_ = 0; + GEnumValue* _tmp86_; +#line 591 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp85_ = old_state; +#line 591 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp86_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp85_); +#line 591 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:591: Unknown LibraryPhoto collection state %s", (_tmp86_ != NULL) ? _tmp86_->value_name : NULL); +#line 4088 "PhotoMonitor.c" + } + } +#line 594 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp87_ = new_state; +#line 594 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp87_) { +#line 594 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 594 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 594 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 4101 "PhotoMonitor.c" + { + LibraryPhoto* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + gchar* _tmp90_ = NULL; + gchar* _tmp91_ = NULL; + gchar* _tmp92_ = NULL; + LibraryPhoto* _tmp93_ = NULL; +#line 598 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp88_ = new_photo; +#line 598 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp89_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, TYPE_DATA_OBJECT, DataObject)); +#line 598 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp90_ = _tmp89_; +#line 598 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp91_ = g_strdup_printf ("Will reimport master file for %s", _tmp90_); +#line 598 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp92_ = _tmp91_; +#line 598 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp92_); +#line 598 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp92_); +#line 598 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp90_); +#line 599 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp93_ = new_photo; +#line 599 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_master (self, _tmp93_); +#line 600 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4131 "PhotoMonitor.c" + } +#line 594 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 4135 "PhotoMonitor.c" + { + LibraryPhoto* _tmp94_ = NULL; + gchar* _tmp95_ = NULL; + gchar* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + gchar* _tmp98_ = NULL; + LibraryPhoto* _tmp99_ = NULL; +#line 603 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp94_ = new_photo; +#line 603 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp95_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp94_, TYPE_DATA_OBJECT, DataObject)); +#line 603 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp96_ = _tmp95_; +#line 603 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp97_ = g_strdup_printf ("Will reimport editable file for %s", _tmp96_); +#line 603 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp98_ = _tmp97_; +#line 603 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp98_); +#line 603 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp98_); +#line 603 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp96_); +#line 604 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp99_ = new_photo; +#line 604 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_editable (self, _tmp99_); +#line 605 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4165 "PhotoMonitor.c" + } +#line 594 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 4169 "PhotoMonitor.c" + { + LibraryPhoto* _tmp100_ = NULL; + gchar* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; + gchar* _tmp103_ = NULL; + gchar* _tmp104_ = NULL; + LibraryPhoto* _tmp105_ = NULL; +#line 608 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp100_ = new_photo; +#line 608 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp101_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, TYPE_DATA_OBJECT, DataObject)); +#line 608 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp102_ = _tmp101_; +#line 608 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp103_ = g_strdup_printf ("Will reimport raw development file for %s", _tmp102_); +#line 608 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp104_ = _tmp103_; +#line 608 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp104_); +#line 608 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp104_); +#line 608 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp102_); +#line 609 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp105_ = new_photo; +#line 609 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_raw_developments (self, _tmp105_); +#line 610 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4199 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp106_ = 0; + GEnumValue* _tmp107_; +#line 613 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp106_ = new_state; +#line 613 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp107_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp106_); +#line 613 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:613: Unknown LibraryPhoto collection state %s", (_tmp107_ != NULL) ? _tmp107_->value_name : NULL); +#line 4211 "PhotoMonitor.c" + } + } + } + } + } +#line 617 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = TRUE; +#line 617 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (new_photo); +#line 617 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (old_photo); +#line 617 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4225 "PhotoMonitor.c" +} + + +static gboolean photo_monitor_real_notify_file_altered (MediaMonitor* base, GFile* file) { + PhotoMonitor * self; + gboolean result = FALSE; + LibraryPhotoSourceCollectionState state = 0; + LibraryPhoto* photo = NULL; + GFile* _tmp0_ = NULL; + LibraryPhotoSourceCollectionState _tmp1_ = 0; + LibraryPhoto* _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + LibraryPhotoSourceCollectionState _tmp4_ = 0; +#line 620 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 620 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 622 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = file; +#line 622 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_monitor_get_photo_state_by_file (self, _tmp0_, &_tmp1_); +#line 622 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp1_; +#line 622 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp2_; +#line 623 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo; +#line 623 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_ == NULL) { +#line 624 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = FALSE; +#line 624 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 624 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4261 "PhotoMonitor.c" + } +#line 626 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = state; +#line 626 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp4_) { +#line 626 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 626 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 626 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 4273 "PhotoMonitor.c" + { + LibraryPhoto* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; +#line 630 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo; +#line 630 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 630 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _tmp6_; +#line 630 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = g_strdup_printf ("Will reimport master for %s", _tmp7_); +#line 630 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = _tmp8_; +#line 630 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp9_); +#line 630 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp9_); +#line 630 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp7_); +#line 631 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = photo; +#line 631 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_master (self, _tmp10_); +#line 632 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = photo; +#line 632 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MONITORABLE, Monitorable), TRUE); +#line 633 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4308 "PhotoMonitor.c" + } +#line 626 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 4312 "PhotoMonitor.c" + { + LibraryPhoto* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; + LibraryPhoto* _tmp18_ = NULL; +#line 636 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = photo; +#line 636 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject)); +#line 636 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_; +#line 636 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = g_strdup_printf ("Will reimport editable for %s", _tmp14_); +#line 636 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = _tmp15_; +#line 636 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp16_); +#line 636 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp16_); +#line 636 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp14_); +#line 637 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = photo; +#line 637 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_editable (self, _tmp17_); +#line 638 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = photo; +#line 638 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file_in_alteration (self, _tmp18_, TRUE); +#line 639 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4347 "PhotoMonitor.c" + } +#line 626 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 4351 "PhotoMonitor.c" + { + LibraryPhoto* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + LibraryPhoto* _tmp24_ = NULL; + LibraryPhoto* _tmp25_ = NULL; +#line 642 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = photo; +#line 642 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_OBJECT, DataObject)); +#line 642 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = _tmp20_; +#line 642 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = g_strdup_printf ("Will reimport raw development for %s", _tmp21_); +#line 642 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = _tmp22_; +#line 642 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp23_); +#line 642 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp23_); +#line 642 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp21_); +#line 643 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = photo; +#line 643 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_reimport_raw_developments (self, _tmp24_); +#line 644 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = photo; +#line 644 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file_in_alteration (self, _tmp25_, TRUE); +#line 645 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4386 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp26_ = 0; + GEnumValue* _tmp27_; +#line 648 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = state; +#line 648 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp26_); +#line 648 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:648: Unknown LibraryPhoto collection state %s", (_tmp27_ != NULL) ? _tmp27_->value_name : NULL); +#line 4398 "PhotoMonitor.c" + } + } +#line 651 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = TRUE; +#line 651 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 651 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4407 "PhotoMonitor.c" +} + + +static gboolean photo_monitor_real_notify_file_attributes_altered (MediaMonitor* base, GFile* file) { + PhotoMonitor * self; + gboolean result = FALSE; + LibraryPhotoSourceCollectionState state = 0; + LibraryPhoto* photo = NULL; + GFile* _tmp0_ = NULL; + LibraryPhotoSourceCollectionState _tmp1_ = 0; + LibraryPhoto* _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + LibraryPhotoSourceCollectionState _tmp4_ = 0; +#line 654 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 654 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 656 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = file; +#line 656 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_monitor_get_photo_state_by_file (self, _tmp0_, &_tmp1_); +#line 656 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp1_; +#line 656 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp2_; +#line 657 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo; +#line 657 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_ == NULL) { +#line 658 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = FALSE; +#line 658 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 658 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4443 "PhotoMonitor.c" + } +#line 660 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = state; +#line 660 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp4_) { +#line 660 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 660 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 4453 "PhotoMonitor.c" + { + LibraryPhoto* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; +#line 663 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo; +#line 663 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 663 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _tmp6_; +#line 663 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = g_strdup_printf ("Will update master file info for %s", _tmp7_); +#line 663 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = _tmp8_; +#line 663 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp9_); +#line 663 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp9_); +#line 663 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp7_); +#line 664 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = photo; +#line 664 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_info_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MONITORABLE, Monitorable)); +#line 665 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = photo; +#line 665 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MONITORABLE, Monitorable), TRUE); +#line 666 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4488 "PhotoMonitor.c" + } +#line 660 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 4492 "PhotoMonitor.c" + { + GFile* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + LibraryPhotoSourceCollectionState _tmp15_ = 0; + GEnumValue* _tmp16_; + LibraryPhoto* _tmp17_ = NULL; +#line 670 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = file; +#line 670 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = g_file_get_path (_tmp12_); +#line 670 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_; +#line 670 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = state; +#line 671 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp15_); +#line 670 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_warning ("PhotoMonitor.vala:670: File %s attributes altered in %s state", _tmp14_, (_tmp16_ != NULL) ? _tmp16_->value_name : NULL); +#line 670 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp14_); +#line 672 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = photo; +#line 672 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_MONITORABLE, Monitorable), TRUE); +#line 673 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4520 "PhotoMonitor.c" + } +#line 660 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 4524 "PhotoMonitor.c" + { + LibraryPhoto* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + LibraryPhoto* _tmp23_ = NULL; + LibraryPhoto* _tmp24_ = NULL; +#line 676 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = photo; +#line 676 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_OBJECT, DataObject)); +#line 676 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = _tmp19_; +#line 676 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = g_strdup_printf ("Will update editable file info for %s", _tmp20_); +#line 676 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = _tmp21_; +#line 676 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp22_); +#line 676 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp22_); +#line 676 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp20_); +#line 677 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = photo; +#line 677 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file_info_altered (self, _tmp23_); +#line 678 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = photo; +#line 678 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file_in_alteration (self, _tmp24_, TRUE); +#line 679 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4559 "PhotoMonitor.c" + } +#line 660 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 4563 "PhotoMonitor.c" + { + LibraryPhoto* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + LibraryPhoto* _tmp30_ = NULL; + LibraryPhoto* _tmp31_ = NULL; +#line 682 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = photo; +#line 682 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject)); +#line 682 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = _tmp26_; +#line 682 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = g_strdup_printf ("Will update raw development file info for %s", _tmp27_); +#line 682 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = _tmp28_; +#line 682 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp29_); +#line 682 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp29_); +#line 682 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp27_); +#line 683 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp30_ = photo; +#line 683 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file_info_altered (self, _tmp30_); +#line 684 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp31_ = photo; +#line 684 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file_in_alteration (self, _tmp31_, TRUE); +#line 685 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4598 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp32_ = 0; + GEnumValue* _tmp33_; +#line 688 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp32_ = state; +#line 688 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp33_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp32_); +#line 688 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:688: Unknown LibraryPhoto collection state %s", (_tmp33_ != NULL) ? _tmp33_->value_name : NULL); +#line 4610 "PhotoMonitor.c" + } + } +#line 691 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = TRUE; +#line 691 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 691 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4619 "PhotoMonitor.c" +} + + +static gboolean photo_monitor_real_notify_file_alteration_completed (MediaMonitor* base, GFile* file, GFileInfo* info) { + PhotoMonitor * self; + gboolean result = FALSE; + LibraryPhotoSourceCollectionState state = 0; + LibraryPhoto* photo = NULL; + GFile* _tmp0_ = NULL; + LibraryPhotoSourceCollectionState _tmp1_ = 0; + LibraryPhoto* _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + LibraryPhotoSourceCollectionState _tmp4_ = 0; +#line 694 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 694 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 694 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 696 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = file; +#line 696 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_monitor_get_photo_state_by_file (self, _tmp0_, &_tmp1_); +#line 696 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp1_; +#line 696 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp2_; +#line 697 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo; +#line 697 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_ == NULL) { +#line 698 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = FALSE; +#line 698 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 698 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4657 "PhotoMonitor.c" + } +#line 700 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = state; +#line 700 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp4_) { +#line 700 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 700 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 700 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 4669 "PhotoMonitor.c" + { + LibraryPhoto* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 704 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo; +#line 704 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = info; +#line 704 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_alterations_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MONITORABLE, Monitorable), _tmp6_); +#line 705 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4681 "PhotoMonitor.c" + } +#line 700 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 4685 "PhotoMonitor.c" + { + LibraryPhoto* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; +#line 708 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = photo; +#line 708 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = info; +#line 708 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file_alterations_completed (self, _tmp7_, _tmp8_); +#line 709 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4697 "PhotoMonitor.c" + } +#line 700 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 4701 "PhotoMonitor.c" + { + LibraryPhoto* _tmp9_ = NULL; +#line 712 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = photo; +#line 712 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file_alterations_completed (self, _tmp9_); +#line 713 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4710 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp10_ = 0; + GEnumValue* _tmp11_; +#line 716 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = state; +#line 716 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp10_); +#line 716 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:716: Unknown LibraryPhoto collection state %s", (_tmp11_ != NULL) ? _tmp11_->value_name : NULL); +#line 4722 "PhotoMonitor.c" + } + } +#line 719 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = TRUE; +#line 719 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 719 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4731 "PhotoMonitor.c" +} + + +static gboolean photo_monitor_real_notify_file_deleted (MediaMonitor* base, GFile* file) { + PhotoMonitor * self; + gboolean result = FALSE; + LibraryPhotoSourceCollectionState state = 0; + LibraryPhoto* photo = NULL; + GFile* _tmp0_ = NULL; + LibraryPhotoSourceCollectionState _tmp1_ = 0; + LibraryPhoto* _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + LibraryPhotoSourceCollectionState _tmp4_ = 0; +#line 722 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 722 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 724 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = file; +#line 724 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = photo_monitor_get_photo_state_by_file (self, _tmp0_, &_tmp1_); +#line 724 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + state = _tmp1_; +#line 724 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp2_; +#line 725 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo; +#line 725 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_ == NULL) { +#line 726 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = FALSE; +#line 726 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 726 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4767 "PhotoMonitor.c" + } +#line 728 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = state; +#line 728 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + switch (_tmp4_) { +#line 728 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_ONLINE: +#line 4775 "PhotoMonitor.c" + { + LibraryPhoto* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + LibraryPhoto* _tmp11_ = NULL; +#line 730 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo; +#line 730 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 730 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _tmp6_; +#line 730 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = g_strdup_printf ("Will mark %s offline", _tmp7_); +#line 730 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = _tmp8_; +#line 730 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp9_); +#line 730 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp9_); +#line 730 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp7_); +#line 731 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = photo; +#line 731 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MONITORABLE, Monitorable)); +#line 732 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = photo; +#line 732 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MONITORABLE, Monitorable), FALSE); +#line 733 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4810 "PhotoMonitor.c" + } +#line 728 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_TRASH: +#line 728 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 4816 "PhotoMonitor.c" + { + LibraryPhoto* _tmp12_ = NULL; +#line 738 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = photo; +#line 738 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_MONITORABLE, Monitorable), FALSE); +#line 739 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4825 "PhotoMonitor.c" + } +#line 728 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE: +#line 4829 "PhotoMonitor.c" + { + LibraryPhoto* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + LibraryPhoto* _tmp18_ = NULL; + LibraryPhoto* _tmp19_ = NULL; +#line 742 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = photo; +#line 742 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_OBJECT, DataObject)); +#line 742 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = _tmp14_; +#line 742 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = g_strdup_printf ("Will revert %s to master", _tmp15_); +#line 742 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_; +#line 742 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp17_); +#line 742 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp17_); +#line 742 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp15_); +#line 743 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = photo; +#line 743 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_revert_to_master (self, _tmp18_); +#line 744 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = photo; +#line 744 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file_in_alteration (self, _tmp19_, FALSE); +#line 745 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4864 "PhotoMonitor.c" + } +#line 728 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + case LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER: +#line 4868 "PhotoMonitor.c" + { + LibraryPhoto* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + LibraryPhoto* _tmp25_ = NULL; + LibraryPhoto* _tmp26_ = NULL; + LibraryPhoto* _tmp27_ = NULL; +#line 748 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = photo; +#line 748 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_OBJECT, DataObject)); +#line 748 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = _tmp21_; +#line 748 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = g_strdup_printf ("Will revert %s to master", _tmp22_); +#line 748 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = _tmp23_; +#line 748 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp24_); +#line 748 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp24_); +#line 748 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp22_); +#line 749 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = photo; +#line 749 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_revert_to_master (self, _tmp25_); +#line 750 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = photo; +#line 750 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_editable_file_in_alteration (self, _tmp26_, FALSE); +#line 751 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = photo; +#line 751 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_update_raw_development_file_in_alteration (self, _tmp27_, FALSE); +#line 752 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 4908 "PhotoMonitor.c" + } + default: + { + LibraryPhotoSourceCollectionState _tmp28_ = 0; + GEnumValue* _tmp29_; +#line 755 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = state; +#line 755 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = g_enum_get_value (g_type_class_ref (LIBRARY_PHOTO_SOURCE_COLLECTION_TYPE_STATE), _tmp28_); +#line 755 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_error ("PhotoMonitor.vala:755: Unknown LibraryPhoto collection state %s", (_tmp29_ != NULL) ? _tmp29_->value_name : NULL); +#line 4920 "PhotoMonitor.c" + } + } +#line 758 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = TRUE; +#line 758 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 758 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 4929 "PhotoMonitor.c" +} + + +static void photo_monitor_real_on_media_source_destroyed (MediaMonitor* base, DataSource* source) { + PhotoMonitor * self; + DataSource* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; +#line 761 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 761 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 762 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = source; +#line 762 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + MEDIA_MONITOR_CLASS (photo_monitor_parent_class)->on_media_source_destroyed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), _tmp0_); +#line 764 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = source; +#line 764 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_cancel_reimports (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 4949 "PhotoMonitor.c" +} + + +static LibraryPhoto* photo_monitor_get_photo_state_by_file (PhotoMonitor* self, GFile* file, LibraryPhotoSourceCollectionState* state) { + LibraryPhotoSourceCollectionState _vala_state = 0; + LibraryPhoto* result = NULL; + GFile* real_file = NULL; + gboolean _tmp0_ = FALSE; + GFile* _tmp70_ = NULL; + GFile* _tmp71_ = NULL; + LibraryPhotoSourceCollection* _tmp73_ = NULL; + LibraryPhotoSourceCollectionState _tmp74_ = 0; + LibraryPhoto* _tmp75_ = NULL; +#line 767 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_MONITOR (self), NULL); +#line 767 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 768 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + real_file = NULL; +#line 769 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = media_monitor_has_pending_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor)); +#line 769 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp0_) { +#line 4973 "PhotoMonitor.c" + { + GeeIterator* _monitorable_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = media_monitor_get_monitorables (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor)); +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _tmp3_; +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_it = _tmp4_; +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 4994 "PhotoMonitor.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + Monitorable* monitorable = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + LibraryPhoto* photo = NULL; + Monitorable* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + PhotoUpdates* updates = NULL; + LibraryPhoto* _tmp11_ = NULL; + PhotoUpdates* _tmp12_ = NULL; + PhotoUpdates* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + PhotoUpdates* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp26_ = FALSE; + PhotoUpdates* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + PhotoUpdates* _tmp39_ = NULL; + GeeCollection* _tmp40_ = NULL; + GeeCollection* _tmp41_ = NULL; + gboolean _tmp42_ = FALSE; +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = _monitorable_it; +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp6_) { +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 5029 "PhotoMonitor.c" + } +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _monitorable_it; +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + monitorable = (Monitorable*) _tmp8_; +#line 771 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = monitorable; +#line 771 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 771 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = _tmp10_; +#line 773 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = photo; +#line 773 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = photo_monitor_get_existing_photo_updates (self, _tmp11_); +#line 773 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + updates = _tmp12_; +#line 774 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = updates; +#line 774 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp13_ == NULL) { +#line 775 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 775 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 775 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (monitorable); +#line 775 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + continue; +#line 5061 "PhotoMonitor.c" + } +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = updates; +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = monitorable_updates_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_; +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = _tmp17_ != NULL; +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp17_); +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp18_) { +#line 5075 "PhotoMonitor.c" + PhotoUpdates* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = updates; +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = monitorable_updates_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = _tmp20_; +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = file; +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = g_file_equal (_tmp21_, _tmp22_); +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp23_; +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp21_); +#line 5095 "PhotoMonitor.c" + } else { +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = FALSE; +#line 5099 "PhotoMonitor.c" + } +#line 777 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp14_) { +#line 5103 "PhotoMonitor.c" + LibraryPhoto* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; +#line 778 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = photo; +#line 778 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 778 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (real_file); +#line 778 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + real_file = _tmp25_; +#line 780 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 780 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 780 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (monitorable); +#line 780 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 5122 "PhotoMonitor.c" + } +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = updates; +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = photo_updates_get_editable_file (_tmp27_); +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = _tmp28_; +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp30_ = _tmp29_ != NULL; +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp29_); +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp30_) { +#line 5136 "PhotoMonitor.c" + PhotoUpdates* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp31_ = updates; +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp32_ = photo_updates_get_editable_file (_tmp31_); +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp33_ = _tmp32_; +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp34_ = file; +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp35_ = g_file_equal (_tmp33_, _tmp34_); +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = _tmp35_; +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp33_); +#line 5156 "PhotoMonitor.c" + } else { +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = FALSE; +#line 5160 "PhotoMonitor.c" + } +#line 783 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp26_) { +#line 5164 "PhotoMonitor.c" + LibraryPhoto* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; + GFile* _tmp38_ = NULL; +#line 784 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp36_ = photo; +#line 784 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp37_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_PHOTO, Photo)); +#line 784 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (real_file); +#line 784 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + real_file = _tmp37_; +#line 788 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp38_ = real_file; +#line 788 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp38_ == NULL) { +#line 789 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_EDITABLE; +#line 791 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = photo; +#line 791 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 791 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (monitorable); +#line 791 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_monitorable_it); +#line 791 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (real_file); +#line 791 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (state) { +#line 791 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *state = _vala_state; +#line 5196 "PhotoMonitor.c" + } +#line 791 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 5200 "PhotoMonitor.c" + } +#line 794 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 794 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 794 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (monitorable); +#line 794 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 5210 "PhotoMonitor.c" + } +#line 797 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp39_ = updates; +#line 797 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp40_ = photo_updates_get_raw_developer_files (_tmp39_); +#line 797 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp41_ = _tmp40_; +#line 797 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp42_ = _tmp41_ != NULL; +#line 797 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp41_); +#line 797 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp42_) { +#line 5224 "PhotoMonitor.c" + gboolean found = FALSE; + gboolean _tmp55_ = FALSE; +#line 798 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + found = FALSE; +#line 5229 "PhotoMonitor.c" + { + GeeIterator* _raw_it = NULL; + PhotoUpdates* _tmp43_ = NULL; + GeeCollection* _tmp44_ = NULL; + GeeCollection* _tmp45_ = NULL; + GeeIterator* _tmp46_ = NULL; + GeeIterator* _tmp47_ = NULL; +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp43_ = updates; +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp44_ = photo_updates_get_raw_developer_files (_tmp43_); +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp45_ = _tmp44_; +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp46_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp47_ = _tmp46_; +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp45_); +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _raw_it = _tmp47_; +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 5253 "PhotoMonitor.c" + GeeIterator* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; + GFile* raw = NULL; + GeeIterator* _tmp50_ = NULL; + gpointer _tmp51_ = NULL; + GFile* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; + gboolean _tmp54_ = FALSE; +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp48_ = _raw_it; +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp49_ = gee_iterator_next (_tmp48_); +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp49_) { +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 5270 "PhotoMonitor.c" + } +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp50_ = _raw_it; +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp51_ = gee_iterator_get (_tmp50_); +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + raw = (GFile*) _tmp51_; +#line 800 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp52_ = raw; +#line 800 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp53_ = file; +#line 800 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp54_ = g_file_equal (_tmp52_, _tmp53_); +#line 800 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp54_) { +#line 801 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + found = TRUE; +#line 803 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (raw); +#line 803 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 5292 "PhotoMonitor.c" + } +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (raw); +#line 5296 "PhotoMonitor.c" + } +#line 799 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_raw_it); +#line 5300 "PhotoMonitor.c" + } +#line 807 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp55_ = found; +#line 807 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp55_) { +#line 5306 "PhotoMonitor.c" + GeeCollection* developed = NULL; + LibraryPhoto* _tmp56_ = NULL; + GeeCollection* _tmp57_ = NULL; + GeeCollection* _tmp58_ = NULL; +#line 808 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp56_ = photo; +#line 808 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp57_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_PHOTO, Photo)); +#line 808 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + developed = _tmp57_; +#line 809 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp58_ = developed; +#line 809 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp58_ != NULL) { +#line 5321 "PhotoMonitor.c" + { + GeeIterator* _f_it = NULL; + GeeCollection* _tmp59_ = NULL; + GeeIterator* _tmp60_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp59_ = developed; +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp60_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _f_it = _tmp60_; +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 5334 "PhotoMonitor.c" + GeeIterator* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; + GFile* f = NULL; + GeeIterator* _tmp63_ = NULL; + gpointer _tmp64_ = NULL; + GFile* _tmp65_ = NULL; + GFile* _tmp66_ = NULL; + gboolean _tmp67_ = FALSE; +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp61_ = _f_it; +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp62_ = gee_iterator_next (_tmp61_); +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp62_) { +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 5351 "PhotoMonitor.c" + } +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp63_ = _f_it; +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp64_ = gee_iterator_get (_tmp63_); +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + f = (GFile*) _tmp64_; +#line 811 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp65_ = f; +#line 811 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp66_ = file; +#line 811 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp67_ = g_file_equal (_tmp65_, _tmp66_); +#line 811 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp67_) { +#line 5367 "PhotoMonitor.c" + GFile* _tmp68_ = NULL; + GFile* _tmp69_ = NULL; +#line 812 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp68_ = f; +#line 812 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp69_ = _g_object_ref0 (_tmp68_); +#line 812 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (real_file); +#line 812 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + real_file = _tmp69_; +#line 813 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_state = LIBRARY_PHOTO_SOURCE_COLLECTION_STATE_DEVELOPER; +#line 815 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (f); +#line 815 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 5384 "PhotoMonitor.c" + } +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (f); +#line 5388 "PhotoMonitor.c" + } +#line 810 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_f_it); +#line 5392 "PhotoMonitor.c" + } + } +#line 821 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (developed); +#line 821 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 821 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 821 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (monitorable); +#line 821 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 5405 "PhotoMonitor.c" + } + } +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (monitorable); +#line 5414 "PhotoMonitor.c" + } +#line 770 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_monitorable_it); +#line 5418 "PhotoMonitor.c" + } + } +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp71_ = real_file; +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp70_ = _tmp71_; +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp70_ == NULL) { +#line 5427 "PhotoMonitor.c" + GFile* _tmp72_ = NULL; +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp72_ = file; +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp70_ = _tmp72_; +#line 5433 "PhotoMonitor.c" + } +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp73_ = library_photo_global; +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp75_ = library_photo_source_collection_get_state_by_file (_tmp73_, _tmp70_, &_tmp74_); +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_state = _tmp74_; +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp75_; +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (real_file); +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (state) { +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *state = _vala_state; +#line 5449 "PhotoMonitor.c" + } +#line 827 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 5453 "PhotoMonitor.c" +} + + +PhotoUpdates* photo_monitor_fetch_photo_updates (PhotoMonitor* self, LibraryPhoto* photo) { + PhotoUpdates* result = NULL; + LibraryPhoto* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; +#line 830 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_MONITOR (self), NULL); +#line 830 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 831 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 831 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 831 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_UPDATES, PhotoUpdates); +#line 831 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 5473 "PhotoMonitor.c" +} + + +PhotoUpdates* photo_monitor_get_existing_photo_updates (PhotoMonitor* self, LibraryPhoto* photo) { + PhotoUpdates* result = NULL; + LibraryPhoto* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_MONITOR (self), NULL); +#line 834 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 835 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 835 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = media_monitor_get_existing_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 835 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_PHOTO_UPDATES) ? ((PhotoUpdates*) _tmp1_) : NULL; +#line 835 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp2_ == NULL) { +#line 835 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp1_); +#line 5496 "PhotoMonitor.c" + } +#line 835 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp2_; +#line 835 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 5502 "PhotoMonitor.c" +} + + +void photo_monitor_update_reimport_master (PhotoMonitor* self, LibraryPhoto* photo) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 838 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 838 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 839 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 839 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 839 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 839 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_reimport_master (_tmp2_, TRUE); +#line 839 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 842 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = self->priv->master_reimport_pending; +#line 842 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = photo; +#line 842 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 842 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp5_) { +#line 5535 "PhotoMonitor.c" + GeeHashMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + PhotoMonitorReimportMasterJob* _tmp9_ = NULL; +#line 843 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = self->priv->master_reimport_pending; +#line 843 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = photo; +#line 843 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 843 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = (PhotoMonitorReimportMasterJob*) _tmp8_; +#line 843 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 843 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (_tmp9_); +#line 5552 "PhotoMonitor.c" + } +} + + +void photo_monitor_update_reimport_editable (PhotoMonitor* self, LibraryPhoto* photo) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 846 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 846 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 847 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 847 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 847 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 847 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_reimport_editable (_tmp2_, TRUE); +#line 847 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 850 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = self->priv->editable_reimport_pending; +#line 850 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = photo; +#line 850 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 850 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp5_) { +#line 5586 "PhotoMonitor.c" + GeeHashMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + PhotoMonitorReimportEditableJob* _tmp9_ = NULL; +#line 851 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = self->priv->editable_reimport_pending; +#line 851 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = photo; +#line 851 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 851 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = (PhotoMonitorReimportEditableJob*) _tmp8_; +#line 851 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 851 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (_tmp9_); +#line 5603 "PhotoMonitor.c" + } +} + + +void photo_monitor_update_reimport_raw_developments (PhotoMonitor* self, LibraryPhoto* photo) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 854 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 854 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 855 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 855 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 855 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 855 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_reimport_raw_developments (_tmp2_, TRUE); +#line 855 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 858 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = self->priv->raw_developments_reimport_pending; +#line 858 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = photo; +#line 858 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 858 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp5_) { +#line 5637 "PhotoMonitor.c" + GeeHashMap* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp9_ = NULL; +#line 859 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = self->priv->raw_developments_reimport_pending; +#line 859 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = photo; +#line 859 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 859 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = (PhotoMonitorReimportRawDevelopmentJob*) _tmp8_; +#line 859 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 859 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (_tmp9_); +#line 5654 "PhotoMonitor.c" + } +} + + +GFile* photo_monitor_get_editable_file (PhotoMonitor* self, LibraryPhoto* photo) { + GFile* result = NULL; + PhotoUpdates* updates = NULL; + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PhotoUpdates* _tmp4_ = NULL; +#line 862 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_MONITOR (self), NULL); +#line 862 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 863 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 863 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_get_existing_photo_updates (self, _tmp0_); +#line 863 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + updates = _tmp1_; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = updates; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp4_ != NULL) { +#line 5681 "PhotoMonitor.c" + PhotoUpdates* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = updates; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = photo_updates_get_editable_file (_tmp5_); +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _tmp6_; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _tmp7_ != NULL; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp7_); +#line 5695 "PhotoMonitor.c" + } else { +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = FALSE; +#line 5699 "PhotoMonitor.c" + } +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_) { +#line 5703 "PhotoMonitor.c" + PhotoUpdates* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = updates; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = photo_updates_get_editable_file (_tmp8_); +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp9_; +#line 5714 "PhotoMonitor.c" + } else { + LibraryPhoto* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; +#line 866 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = photo; +#line 866 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = photo_get_editable_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_PHOTO, Photo)); +#line 866 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 866 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp11_; +#line 5726 "PhotoMonitor.c" + } +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp2_; +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 865 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 5734 "PhotoMonitor.c" +} + + +GeeCollection* photo_monitor_get_raw_development_files (PhotoMonitor* self, LibraryPhoto* photo) { + GeeCollection* result = NULL; + PhotoUpdates* updates = NULL; + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PhotoUpdates* _tmp4_ = NULL; +#line 869 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_MONITOR (self), NULL); +#line 869 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 870 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 870 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_get_existing_photo_updates (self, _tmp0_); +#line 870 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + updates = _tmp1_; +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = updates; +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp4_ != NULL) { +#line 5760 "PhotoMonitor.c" + PhotoUpdates* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = updates; +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = photo_updates_get_raw_developer_files (_tmp5_); +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = _tmp6_; +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _tmp7_ != NULL; +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp7_); +#line 5774 "PhotoMonitor.c" + } else { +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = FALSE; +#line 5778 "PhotoMonitor.c" + } +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp3_) { +#line 5782 "PhotoMonitor.c" + PhotoUpdates* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; +#line 873 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = updates; +#line 873 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = photo_updates_get_raw_developer_files (_tmp8_); +#line 873 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 873 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp9_; +#line 5793 "PhotoMonitor.c" + } else { + LibraryPhoto* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; +#line 873 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = photo; +#line 873 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = photo_get_raw_developer_files (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_PHOTO, Photo)); +#line 873 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp2_); +#line 873 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp11_; +#line 5805 "PhotoMonitor.c" + } +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + result = _tmp2_; +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 872 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return result; +#line 5813 "PhotoMonitor.c" +} + + +void photo_monitor_update_editable_file (PhotoMonitor* self, LibraryPhoto* photo, GFile* file) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 876 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 876 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 876 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 877 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 877 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 877 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 877 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = file; +#line 877 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_editable_file (_tmp2_, _tmp3_); +#line 877 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 5840 "PhotoMonitor.c" +} + + +void photo_monitor_update_editable_file_info_altered (PhotoMonitor* self, LibraryPhoto* photo) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 880 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 881 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 881 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 881 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 881 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_editable_file_info_altered (_tmp2_, TRUE); +#line 881 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 5862 "PhotoMonitor.c" +} + + +void photo_monitor_update_raw_development_file (PhotoMonitor* self, LibraryPhoto* photo, GFile* file) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 884 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 884 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 885 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 885 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 885 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 885 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = file; +#line 885 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_add_raw_developer_file (_tmp2_, _tmp3_); +#line 885 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 5889 "PhotoMonitor.c" +} + + +void photo_monitor_update_raw_development_file_info_altered (PhotoMonitor* self, LibraryPhoto* photo) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; +#line 888 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 888 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 889 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 889 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 889 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 889 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_raw_developer_file_info_altered (_tmp2_, TRUE); +#line 889 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 5911 "PhotoMonitor.c" +} + + +void photo_monitor_update_editable_file_in_alteration (PhotoMonitor* self, LibraryPhoto* photo, gboolean in_alteration) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 892 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 892 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 893 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 893 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 893 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 893 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = in_alteration; +#line 893 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_editable_in_alteration (_tmp2_, _tmp3_); +#line 893 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 5936 "PhotoMonitor.c" +} + + +void photo_monitor_update_editable_file_alterations_completed (PhotoMonitor* self, LibraryPhoto* photo, GFileInfo* info) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; + GFileInfo* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + PhotoUpdates* _tmp5_ = NULL; + PhotoUpdates* _tmp6_ = NULL; +#line 896 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 896 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 896 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 897 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 897 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 897 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 897 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = info; +#line 897 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_editable_file_info (_tmp2_, _tmp3_); +#line 897 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 898 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = photo; +#line 898 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo_monitor_fetch_photo_updates (self, _tmp4_); +#line 898 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _tmp5_; +#line 898 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_editable_in_alteration (_tmp6_, FALSE); +#line 898 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp6_); +#line 5976 "PhotoMonitor.c" +} + + +void photo_monitor_update_raw_development_file_in_alteration (PhotoMonitor* self, LibraryPhoto* photo, gboolean in_alteration) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 901 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 901 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 902 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 902 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 902 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 902 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = in_alteration; +#line 902 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_raw_development_in_alteration (_tmp2_, _tmp3_); +#line 902 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 6001 "PhotoMonitor.c" +} + + +void photo_monitor_update_raw_development_file_alterations_completed (PhotoMonitor* self, LibraryPhoto* photo) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; +#line 905 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 905 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 906 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 906 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 906 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 906 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_raw_development_in_alteration (_tmp2_, FALSE); +#line 906 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 6023 "PhotoMonitor.c" +} + + +void photo_monitor_update_revert_to_master (PhotoMonitor* self, LibraryPhoto* photo) { + LibraryPhoto* _tmp0_ = NULL; + PhotoUpdates* _tmp1_ = NULL; + PhotoUpdates* _tmp2_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 909 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 910 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = photo; +#line 910 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = photo_monitor_fetch_photo_updates (self, _tmp0_); +#line 910 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = _tmp1_; +#line 910 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_revert_to_master (_tmp2_, TRUE); +#line 910 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 6045 "PhotoMonitor.c" +} + + +static gpointer _monitorable_updates_ref0 (gpointer self) { +#line 930 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self ? monitorable_updates_ref (self) : NULL; +#line 6052 "PhotoMonitor.c" +} + + +static void photo_monitor_real_process_updates (MediaMonitor* base, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error) { + PhotoMonitor * self; + GeeCollection* _tmp0_ = NULL; + TransactionController* _tmp1_ = NULL; + GeeMap* set_editable_file = NULL; + GeeMap* set_editable_file_info = NULL; + GeeMap* set_raw_developer_files = NULL; + GeeArrayList* revert_to_master = NULL; + GeeArrayList* reimport_master = NULL; + GeeArrayList* reimport_editable = NULL; + GeeArrayList* reimport_raw_developments = NULL; + gint reimport_job_count = 0; + GeeMap* _tmp90_ = NULL; + GeeMap* _tmp98_ = NULL; + GeeArrayList* _tmp106_ = NULL; + GeeArrayList* _tmp124_ = NULL; + GeeArrayList* _tmp151_ = NULL; + GeeArrayList* _tmp178_ = NULL; + GError * _inner_error_ = NULL; +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (GEE_IS_COLLECTION (all_updates)); +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 915 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = all_updates; +#line 915 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = controller; +#line 915 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + MEDIA_MONITOR_CLASS (photo_monitor_parent_class)->process_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), _tmp0_, _tmp1_, op_count, &_inner_error_); +#line 915 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 915 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_propagate_error (error, _inner_error_); +#line 915 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 6093 "PhotoMonitor.c" + } +#line 917 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + set_editable_file = NULL; +#line 918 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + set_editable_file_info = NULL; +#line 919 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + set_raw_developer_files = NULL; +#line 920 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + revert_to_master = NULL; +#line 921 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + reimport_master = NULL; +#line 922 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + reimport_editable = NULL; +#line 923 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + reimport_raw_developments = NULL; +#line 924 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + reimport_job_count = 0; +#line 6111 "PhotoMonitor.c" + { + GeeIterator* _monitorable_updates_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = all_updates; +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_it = _tmp3_; +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 6124 "PhotoMonitor.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MonitorableUpdates* monitorable_updates = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + gint _tmp8_ = 0; + PhotoUpdates* updates = NULL; + MonitorableUpdates* _tmp9_ = NULL; + PhotoUpdates* _tmp10_ = NULL; + PhotoUpdates* _tmp11_ = NULL; + PhotoUpdates* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + PhotoUpdates* _tmp26_ = NULL; + GFileInfo* _tmp27_ = NULL; + GFileInfo* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + PhotoUpdates* _tmp40_ = NULL; + GeeCollection* _tmp41_ = NULL; + GeeCollection* _tmp42_ = NULL; + gboolean _tmp43_ = FALSE; + PhotoUpdates* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; + gboolean _tmp66_ = FALSE; + PhotoUpdates* _tmp67_ = NULL; + gboolean _tmp68_ = FALSE; + gboolean _tmp78_ = FALSE; + PhotoUpdates* _tmp79_ = NULL; + gboolean _tmp80_ = FALSE; +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _monitorable_updates_it; +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp5_) { +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 6163 "PhotoMonitor.c" + } +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _monitorable_updates_it; +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + monitorable_updates = (MonitorableUpdates*) _tmp7_; +#line 927 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = *op_count; +#line 927 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp8_ >= MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE) { +#line 928 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 928 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 6179 "PhotoMonitor.c" + } +#line 930 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = monitorable_updates; +#line 930 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = _monitorable_updates_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_PHOTO_UPDATES) ? ((PhotoUpdates*) _tmp9_) : NULL); +#line 930 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + updates = _tmp10_; +#line 931 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = updates; +#line 931 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp11_ == NULL) { +#line 932 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 932 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 932 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + continue; +#line 6197 "PhotoMonitor.c" + } +#line 934 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = updates; +#line 934 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = photo_updates_get_editable_file (_tmp12_); +#line 934 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_; +#line 934 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = _tmp14_ != NULL; +#line 934 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp14_); +#line 934 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp15_) { +#line 6211 "PhotoMonitor.c" + GeeMap* _tmp16_ = NULL; + GeeMap* _tmp18_ = NULL; + PhotoUpdates* _tmp19_ = NULL; + LibraryPhoto* _tmp20_ = NULL; + PhotoUpdates* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + PhotoUpdates* _tmp24_ = NULL; + gint _tmp25_ = 0; +#line 935 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = set_editable_file; +#line 935 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp16_ == NULL) { +#line 6225 "PhotoMonitor.c" + GeeHashMap* _tmp17_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 936 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file); +#line 936 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + set_editable_file = G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_MAP, GeeMap); +#line 6233 "PhotoMonitor.c" + } +#line 938 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = set_editable_file; +#line 938 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = updates; +#line 938 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = _tmp19_->photo; +#line 938 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = updates; +#line 938 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = photo_updates_get_editable_file (_tmp21_); +#line 938 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = _tmp22_; +#line 938 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_map_set (_tmp18_, _tmp20_, _tmp23_); +#line 938 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp23_); +#line 939 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = updates; +#line 939 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_editable_file (_tmp24_, NULL); +#line 940 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = *op_count; +#line 940 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *op_count = _tmp25_ + 1; +#line 6259 "PhotoMonitor.c" + } +#line 943 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = updates; +#line 943 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = photo_updates_get_editable_file_info (_tmp26_); +#line 943 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = _tmp27_; +#line 943 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = _tmp28_ != NULL; +#line 943 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp28_); +#line 943 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp29_) { +#line 6273 "PhotoMonitor.c" + GeeMap* _tmp30_ = NULL; + GeeMap* _tmp32_ = NULL; + PhotoUpdates* _tmp33_ = NULL; + LibraryPhoto* _tmp34_ = NULL; + PhotoUpdates* _tmp35_ = NULL; + GFileInfo* _tmp36_ = NULL; + GFileInfo* _tmp37_ = NULL; + PhotoUpdates* _tmp38_ = NULL; + gint _tmp39_ = 0; +#line 944 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp30_ = set_editable_file_info; +#line 944 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp30_ == NULL) { +#line 6287 "PhotoMonitor.c" + GeeHashMap* _tmp31_ = NULL; +#line 945 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp31_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_file_info_get_type (), (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 945 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file_info); +#line 945 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + set_editable_file_info = G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_MAP, GeeMap); +#line 6295 "PhotoMonitor.c" + } +#line 947 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp32_ = set_editable_file_info; +#line 947 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp33_ = updates; +#line 947 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp34_ = _tmp33_->photo; +#line 947 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp35_ = updates; +#line 947 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp36_ = photo_updates_get_editable_file_info (_tmp35_); +#line 947 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp37_ = _tmp36_; +#line 947 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_map_set (_tmp32_, _tmp34_, _tmp37_); +#line 947 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp37_); +#line 948 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp38_ = updates; +#line 948 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_editable_file_info (_tmp38_, NULL); +#line 949 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp39_ = *op_count; +#line 949 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *op_count = _tmp39_ + 1; +#line 6321 "PhotoMonitor.c" + } +#line 952 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp40_ = updates; +#line 952 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp41_ = photo_updates_get_raw_developer_files (_tmp40_); +#line 952 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp42_ = _tmp41_; +#line 952 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp43_ = _tmp42_ != NULL; +#line 952 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp42_); +#line 952 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp43_) { +#line 6335 "PhotoMonitor.c" + GeeMap* _tmp44_ = NULL; + GeeMap* _tmp46_ = NULL; + PhotoUpdates* _tmp47_ = NULL; + LibraryPhoto* _tmp48_ = NULL; + PhotoUpdates* _tmp49_ = NULL; + GeeCollection* _tmp50_ = NULL; + GeeCollection* _tmp51_ = NULL; + PhotoUpdates* _tmp52_ = NULL; + gint _tmp53_ = 0; +#line 953 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp44_ = set_raw_developer_files; +#line 953 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp44_ == NULL) { +#line 6349 "PhotoMonitor.c" + GeeHashMap* _tmp45_ = NULL; +#line 954 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp45_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, GEE_TYPE_COLLECTION, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 954 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_raw_developer_files); +#line 954 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + set_raw_developer_files = G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, GEE_TYPE_MAP, GeeMap); +#line 6357 "PhotoMonitor.c" + } +#line 956 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp46_ = set_raw_developer_files; +#line 956 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp47_ = updates; +#line 956 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp48_ = _tmp47_->photo; +#line 956 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp49_ = updates; +#line 956 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp50_ = photo_updates_get_raw_developer_files (_tmp49_); +#line 956 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp51_ = _tmp50_; +#line 956 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_map_set (_tmp46_, _tmp48_, _tmp51_); +#line 956 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp51_); +#line 957 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp52_ = updates; +#line 957 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_clear_raw_developer_files (_tmp52_); +#line 958 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp53_ = *op_count; +#line 958 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *op_count = _tmp53_ + 1; +#line 6383 "PhotoMonitor.c" + } +#line 961 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp54_ = updates; +#line 961 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp55_ = photo_updates_is_revert_to_master (_tmp54_); +#line 961 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp55_) { +#line 6391 "PhotoMonitor.c" + GeeArrayList* _tmp56_ = NULL; + GeeArrayList* _tmp58_ = NULL; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint _tmp65_ = 0; +#line 962 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp56_ = revert_to_master; +#line 962 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp56_ == NULL) { +#line 6401 "PhotoMonitor.c" + GeeArrayList* _tmp57_ = NULL; +#line 963 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp57_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 963 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (revert_to_master); +#line 963 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + revert_to_master = _tmp57_; +#line 6409 "PhotoMonitor.c" + } +#line 965 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp58_ = revert_to_master; +#line 965 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp59_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 965 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp60_ = _tmp59_; +#line 965 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp60_ < PHOTO_MONITOR_MAX_REVERTS_PER_CYCLE) { +#line 6419 "PhotoMonitor.c" + GeeArrayList* _tmp61_ = NULL; + PhotoUpdates* _tmp62_ = NULL; + LibraryPhoto* _tmp63_ = NULL; + PhotoUpdates* _tmp64_ = NULL; +#line 966 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp61_ = revert_to_master; +#line 966 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp62_ = updates; +#line 966 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp63_ = _tmp62_->photo; +#line 966 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp63_); +#line 967 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp64_ = updates; +#line 967 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_revert_to_master (_tmp64_, FALSE); +#line 6436 "PhotoMonitor.c" + } +#line 969 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp65_ = *op_count; +#line 969 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *op_count = _tmp65_ + 1; +#line 6442 "PhotoMonitor.c" + } +#line 972 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp67_ = updates; +#line 972 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp68_ = photo_updates_is_reimport_master (_tmp67_); +#line 972 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp68_) { +#line 6450 "PhotoMonitor.c" + gint _tmp69_ = 0; +#line 972 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp69_ = reimport_job_count; +#line 972 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp66_ = _tmp69_ < PHOTO_MONITOR_MAX_REIMPORT_JOBS_PER_CYCLE; +#line 6456 "PhotoMonitor.c" + } else { +#line 972 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp66_ = FALSE; +#line 6460 "PhotoMonitor.c" + } +#line 972 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp66_) { +#line 6464 "PhotoMonitor.c" + GeeArrayList* _tmp70_ = NULL; + GeeArrayList* _tmp72_ = NULL; + PhotoUpdates* _tmp73_ = NULL; + LibraryPhoto* _tmp74_ = NULL; + PhotoUpdates* _tmp75_ = NULL; + gint _tmp76_ = 0; + gint _tmp77_ = 0; +#line 973 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp70_ = reimport_master; +#line 973 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp70_ == NULL) { +#line 6476 "PhotoMonitor.c" + GeeArrayList* _tmp71_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp71_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 974 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_master); +#line 974 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + reimport_master = _tmp71_; +#line 6484 "PhotoMonitor.c" + } +#line 976 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp72_ = reimport_master; +#line 976 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp73_ = updates; +#line 976 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp74_ = _tmp73_->photo; +#line 976 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp74_); +#line 977 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp75_ = updates; +#line 977 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_reimport_master (_tmp75_, FALSE); +#line 978 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp76_ = reimport_job_count; +#line 978 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + reimport_job_count = _tmp76_ + 1; +#line 979 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp77_ = *op_count; +#line 979 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *op_count = _tmp77_ + 1; +#line 6506 "PhotoMonitor.c" + } +#line 982 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp79_ = updates; +#line 982 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp80_ = photo_updates_is_reimport_editable (_tmp79_); +#line 982 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp80_) { +#line 6514 "PhotoMonitor.c" + gint _tmp81_ = 0; +#line 982 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp81_ = reimport_job_count; +#line 982 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp78_ = _tmp81_ < PHOTO_MONITOR_MAX_REIMPORT_JOBS_PER_CYCLE; +#line 6520 "PhotoMonitor.c" + } else { +#line 982 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp78_ = FALSE; +#line 6524 "PhotoMonitor.c" + } +#line 982 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp78_) { +#line 6528 "PhotoMonitor.c" + GeeArrayList* _tmp82_ = NULL; + GeeArrayList* _tmp84_ = NULL; + PhotoUpdates* _tmp85_ = NULL; + LibraryPhoto* _tmp86_ = NULL; + PhotoUpdates* _tmp87_ = NULL; + gint _tmp88_ = 0; + gint _tmp89_ = 0; +#line 983 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp82_ = reimport_editable; +#line 983 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp82_ == NULL) { +#line 6540 "PhotoMonitor.c" + GeeArrayList* _tmp83_ = NULL; +#line 984 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp83_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 984 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_editable); +#line 984 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + reimport_editable = _tmp83_; +#line 6548 "PhotoMonitor.c" + } +#line 986 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp84_ = reimport_editable; +#line 986 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp85_ = updates; +#line 986 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp86_ = _tmp85_->photo; +#line 986 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp86_); +#line 987 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp87_ = updates; +#line 987 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_updates_set_reimport_editable (_tmp87_, FALSE); +#line 988 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp88_ = reimport_job_count; +#line 988 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + reimport_job_count = _tmp88_ + 1; +#line 989 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp89_ = *op_count; +#line 989 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + *op_count = _tmp89_ + 1; +#line 6570 "PhotoMonitor.c" + } +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 6576 "PhotoMonitor.c" + } +#line 926 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_monitorable_updates_it); +#line 6580 "PhotoMonitor.c" + } +#line 993 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp90_ = set_editable_file; +#line 993 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp90_ != NULL) { +#line 6586 "PhotoMonitor.c" + GeeMap* _tmp91_ = NULL; + gint _tmp92_ = 0; + gint _tmp93_ = 0; + gchar* _tmp94_ = NULL; + gchar* _tmp95_ = NULL; +#line 994 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp91_ = set_editable_file; +#line 994 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp92_ = gee_map_get_size (_tmp91_); +#line 994 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp93_ = _tmp92_; +#line 994 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp94_ = g_strdup_printf ("Changing editable file of %d photos", _tmp93_); +#line 994 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp95_ = _tmp94_; +#line 994 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp95_); +#line 994 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp95_); +#line 6606 "PhotoMonitor.c" + { + GeeMap* _tmp96_ = NULL; +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp96_ = set_editable_file; +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_set_many_editable_file (_tmp96_, &_inner_error_); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6617 "PhotoMonitor.c" + goto __catch572_database_error; + } +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_raw_developments); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_editable); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_master); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (revert_to_master); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_raw_developer_files); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file_info); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.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 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 997 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 6640 "PhotoMonitor.c" + } + } + goto __finally572; + __catch572_database_error: + { + GError* err = NULL; + GError* _tmp97_ = NULL; +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + err = _inner_error_; +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _inner_error_ = NULL; +#line 999 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp97_ = err; +#line 999 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + app_window_database_error (_tmp97_); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (err); +#line 6658 "PhotoMonitor.c" + } + __finally572: +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_propagate_error (error, _inner_error_); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_raw_developments); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_editable); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_master); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (revert_to_master); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_raw_developer_files); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file_info); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file); +#line 996 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 6681 "PhotoMonitor.c" + } + } +#line 1003 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp98_ = set_editable_file_info; +#line 1003 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp98_ != NULL) { +#line 6688 "PhotoMonitor.c" + GeeMap* _tmp99_ = NULL; + gint _tmp100_ = 0; + gint _tmp101_ = 0; + gchar* _tmp102_ = NULL; + gchar* _tmp103_ = NULL; +#line 1004 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp99_ = set_editable_file_info; +#line 1004 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp100_ = gee_map_get_size (_tmp99_); +#line 1004 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp101_ = _tmp100_; +#line 1004 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp102_ = g_strdup_printf ("Updating %d editable files timestamps", _tmp101_); +#line 1004 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp103_ = _tmp102_; +#line 1004 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp103_); +#line 1004 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp103_); +#line 6708 "PhotoMonitor.c" + { + GeeMap* _tmp104_ = NULL; +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp104_ = set_editable_file_info; +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_update_many_editable_timestamps (_tmp104_, &_inner_error_); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6719 "PhotoMonitor.c" + goto __catch573_database_error; + } +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_raw_developments); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_editable); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_master); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (revert_to_master); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_raw_developer_files); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file_info); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.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 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 1007 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 6742 "PhotoMonitor.c" + } + } + goto __finally573; + __catch573_database_error: + { + GError* err = NULL; + GError* _tmp105_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + err = _inner_error_; +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _inner_error_ = NULL; +#line 1009 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp105_ = err; +#line 1009 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + app_window_database_error (_tmp105_); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (err); +#line 6760 "PhotoMonitor.c" + } + __finally573: +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_propagate_error (error, _inner_error_); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_raw_developments); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_editable); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_master); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (revert_to_master); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_raw_developer_files); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file_info); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file); +#line 1006 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 6783 "PhotoMonitor.c" + } + } +#line 1013 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp106_ = revert_to_master; +#line 1013 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp106_ != NULL) { +#line 6790 "PhotoMonitor.c" + GeeArrayList* _tmp107_ = NULL; + gint _tmp108_ = 0; + gint _tmp109_ = 0; + gchar* _tmp110_ = NULL; + gchar* _tmp111_ = NULL; +#line 1014 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp107_ = revert_to_master; +#line 1014 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp108_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp107_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1014 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp109_ = _tmp108_; +#line 1014 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp110_ = g_strdup_printf ("Reverting %d photos to master", _tmp109_); +#line 1014 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp111_ = _tmp110_; +#line 1014 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp111_); +#line 1014 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp111_); +#line 6810 "PhotoMonitor.c" + { + GeeArrayList* _photo_list = NULL; + GeeArrayList* _tmp112_ = NULL; + GeeArrayList* _tmp113_ = NULL; + gint _photo_size = 0; + GeeArrayList* _tmp114_ = NULL; + gint _tmp115_ = 0; + gint _tmp116_ = 0; + gint _photo_index = 0; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp112_ = revert_to_master; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp113_ = _g_object_ref0 (_tmp112_); +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_list = _tmp113_; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp114_ = _photo_list; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp115_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp114_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp116_ = _tmp115_; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_size = _tmp116_; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_index = -1; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 6838 "PhotoMonitor.c" + gint _tmp117_ = 0; + gint _tmp118_ = 0; + gint _tmp119_ = 0; + LibraryPhoto* photo = NULL; + GeeArrayList* _tmp120_ = NULL; + gint _tmp121_ = 0; + gpointer _tmp122_ = NULL; + LibraryPhoto* _tmp123_ = NULL; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp117_ = _photo_index; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_index = _tmp117_ + 1; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp118_ = _photo_index; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp119_ = _photo_size; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!(_tmp118_ < _tmp119_)) { +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 6859 "PhotoMonitor.c" + } +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp120_ = _photo_list; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp121_ = _photo_index; +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp122_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp120_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp121_); +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = (LibraryPhoto*) _tmp122_; +#line 1017 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp123_ = photo; +#line 1017 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_revert_to_master (G_TYPE_CHECK_INSTANCE_CAST (_tmp123_, TYPE_PHOTO, Photo), TRUE); +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 6875 "PhotoMonitor.c" + } +#line 1016 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_photo_list); +#line 6879 "PhotoMonitor.c" + } + } +#line 1024 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp124_ = reimport_master; +#line 1024 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp124_ != NULL) { +#line 6886 "PhotoMonitor.c" + GeeArrayList* _tmp125_ = NULL; + gint _tmp126_ = 0; + gint _tmp127_ = 0; + gchar* _tmp128_ = NULL; + gchar* _tmp129_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp125_ = reimport_master; +#line 1025 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp126_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp125_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1025 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp127_ = _tmp126_; +#line 1025 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp128_ = g_strdup_printf ("Reimporting %d masters", _tmp127_); +#line 1025 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp129_ = _tmp128_; +#line 1025 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp129_); +#line 1025 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp129_); +#line 6906 "PhotoMonitor.c" + { + GeeArrayList* _photo_list = NULL; + GeeArrayList* _tmp130_ = NULL; + GeeArrayList* _tmp131_ = NULL; + gint _photo_size = 0; + GeeArrayList* _tmp132_ = NULL; + gint _tmp133_ = 0; + gint _tmp134_ = 0; + gint _photo_index = 0; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp130_ = reimport_master; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp131_ = _g_object_ref0 (_tmp130_); +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_list = _tmp131_; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp132_ = _photo_list; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp133_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp132_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp134_ = _tmp133_; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_size = _tmp134_; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_index = -1; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 6934 "PhotoMonitor.c" + gint _tmp135_ = 0; + gint _tmp136_ = 0; + gint _tmp137_ = 0; + LibraryPhoto* photo = NULL; + GeeArrayList* _tmp138_ = NULL; + gint _tmp139_ = 0; + gpointer _tmp140_ = NULL; + GeeHashMap* _tmp141_ = NULL; + LibraryPhoto* _tmp142_ = NULL; + gboolean _tmp143_ = FALSE; + PhotoMonitorReimportMasterJob* job = NULL; + LibraryPhoto* _tmp144_ = NULL; + PhotoMonitorReimportMasterJob* _tmp145_ = NULL; + GeeHashMap* _tmp146_ = NULL; + LibraryPhoto* _tmp147_ = NULL; + PhotoMonitorReimportMasterJob* _tmp148_ = NULL; + Workers* _tmp149_ = NULL; + PhotoMonitorReimportMasterJob* _tmp150_ = NULL; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp135_ = _photo_index; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_index = _tmp135_ + 1; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp136_ = _photo_index; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp137_ = _photo_size; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!(_tmp136_ < _tmp137_)) { +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 6965 "PhotoMonitor.c" + } +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp138_ = _photo_list; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp139_ = _photo_index; +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp140_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp138_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp139_); +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = (LibraryPhoto*) _tmp140_; +#line 1028 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp141_ = self->priv->master_reimport_pending; +#line 1028 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp142_ = photo; +#line 1028 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp143_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp141_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp142_); +#line 1028 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (!_tmp143_, "!master_reimport_pending.has_key(photo)"); +#line 1030 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp144_ = photo; +#line 1030 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp145_ = photo_monitor_reimport_master_job_new (self, _tmp144_); +#line 1030 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = _tmp145_; +#line 1031 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp146_ = self->priv->master_reimport_pending; +#line 1031 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp147_ = photo; +#line 1031 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp148_ = job; +#line 1031 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp146_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp147_, _tmp148_); +#line 1032 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp149_ = self->priv->workers; +#line 1032 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp150_ = job; +#line 1032 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + workers_enqueue (_tmp149_, G_TYPE_CHECK_INSTANCE_CAST (_tmp150_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 7007 "PhotoMonitor.c" + } +#line 1027 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_photo_list); +#line 7011 "PhotoMonitor.c" + } + } +#line 1036 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp151_ = reimport_editable; +#line 1036 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp151_ != NULL) { +#line 7018 "PhotoMonitor.c" + GeeArrayList* _tmp152_ = NULL; + gint _tmp153_ = 0; + gint _tmp154_ = 0; + gchar* _tmp155_ = NULL; + gchar* _tmp156_ = NULL; +#line 1037 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp152_ = reimport_editable; +#line 1037 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp153_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp152_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1037 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp154_ = _tmp153_; +#line 1037 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp155_ = g_strdup_printf ("Reimporting %d editables", _tmp154_); +#line 1037 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp156_ = _tmp155_; +#line 1037 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp156_); +#line 1037 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp156_); +#line 7038 "PhotoMonitor.c" + { + GeeArrayList* _photo_list = NULL; + GeeArrayList* _tmp157_ = NULL; + GeeArrayList* _tmp158_ = NULL; + gint _photo_size = 0; + GeeArrayList* _tmp159_ = NULL; + gint _tmp160_ = 0; + gint _tmp161_ = 0; + gint _photo_index = 0; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp157_ = reimport_editable; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp158_ = _g_object_ref0 (_tmp157_); +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_list = _tmp158_; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp159_ = _photo_list; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp160_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp159_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp161_ = _tmp160_; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_size = _tmp161_; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_index = -1; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 7066 "PhotoMonitor.c" + gint _tmp162_ = 0; + gint _tmp163_ = 0; + gint _tmp164_ = 0; + LibraryPhoto* photo = NULL; + GeeArrayList* _tmp165_ = NULL; + gint _tmp166_ = 0; + gpointer _tmp167_ = NULL; + GeeHashMap* _tmp168_ = NULL; + LibraryPhoto* _tmp169_ = NULL; + gboolean _tmp170_ = FALSE; + PhotoMonitorReimportEditableJob* job = NULL; + LibraryPhoto* _tmp171_ = NULL; + PhotoMonitorReimportEditableJob* _tmp172_ = NULL; + GeeHashMap* _tmp173_ = NULL; + LibraryPhoto* _tmp174_ = NULL; + PhotoMonitorReimportEditableJob* _tmp175_ = NULL; + Workers* _tmp176_ = NULL; + PhotoMonitorReimportEditableJob* _tmp177_ = NULL; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp162_ = _photo_index; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_index = _tmp162_ + 1; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp163_ = _photo_index; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp164_ = _photo_size; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!(_tmp163_ < _tmp164_)) { +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 7097 "PhotoMonitor.c" + } +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp165_ = _photo_list; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp166_ = _photo_index; +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp167_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp165_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp166_); +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = (LibraryPhoto*) _tmp167_; +#line 1040 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp168_ = self->priv->editable_reimport_pending; +#line 1040 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp169_ = photo; +#line 1040 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp170_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp168_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp169_); +#line 1040 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (!_tmp170_, "!editable_reimport_pending.has_key(photo)"); +#line 1042 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp171_ = photo; +#line 1042 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp172_ = photo_monitor_reimport_editable_job_new (self, _tmp171_); +#line 1042 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = _tmp172_; +#line 1043 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp173_ = self->priv->editable_reimport_pending; +#line 1043 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp174_ = photo; +#line 1043 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp175_ = job; +#line 1043 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp173_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp174_, _tmp175_); +#line 1044 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp176_ = self->priv->workers; +#line 1044 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp177_ = job; +#line 1044 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + workers_enqueue (_tmp176_, G_TYPE_CHECK_INSTANCE_CAST (_tmp177_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 7139 "PhotoMonitor.c" + } +#line 1039 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_photo_list); +#line 7143 "PhotoMonitor.c" + } + } +#line 1048 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp178_ = reimport_raw_developments; +#line 1048 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp178_ != NULL) { +#line 7150 "PhotoMonitor.c" + GeeArrayList* _tmp179_ = NULL; + gint _tmp180_ = 0; + gint _tmp181_ = 0; + gchar* _tmp182_ = NULL; + gchar* _tmp183_ = NULL; +#line 1049 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp179_ = reimport_raw_developments; +#line 1049 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp180_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp179_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1049 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp181_ = _tmp180_; +#line 1049 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp182_ = g_strdup_printf ("Reimporting %d raw developments", _tmp181_); +#line 1049 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp183_ = _tmp182_; +#line 1049 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp183_); +#line 1049 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp183_); +#line 7170 "PhotoMonitor.c" + { + GeeArrayList* _photo_list = NULL; + GeeArrayList* _tmp184_ = NULL; + GeeArrayList* _tmp185_ = NULL; + gint _photo_size = 0; + GeeArrayList* _tmp186_ = NULL; + gint _tmp187_ = 0; + gint _tmp188_ = 0; + gint _photo_index = 0; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp184_ = reimport_raw_developments; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp185_ = _g_object_ref0 (_tmp184_); +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_list = _tmp185_; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp186_ = _photo_list; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp187_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp186_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp188_ = _tmp187_; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_size = _tmp188_; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_index = -1; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + while (TRUE) { +#line 7198 "PhotoMonitor.c" + gint _tmp189_ = 0; + gint _tmp190_ = 0; + gint _tmp191_ = 0; + LibraryPhoto* photo = NULL; + GeeArrayList* _tmp192_ = NULL; + gint _tmp193_ = 0; + gpointer _tmp194_ = NULL; + GeeHashMap* _tmp195_ = NULL; + LibraryPhoto* _tmp196_ = NULL; + gboolean _tmp197_ = FALSE; + PhotoMonitorReimportRawDevelopmentJob* job = NULL; + LibraryPhoto* _tmp198_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp199_ = NULL; + GeeHashMap* _tmp200_ = NULL; + LibraryPhoto* _tmp201_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp202_ = NULL; + Workers* _tmp203_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp204_ = NULL; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp189_ = _photo_index; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_index = _tmp189_ + 1; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp190_ = _photo_index; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp191_ = _photo_size; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!(_tmp190_ < _tmp191_)) { +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + break; +#line 7229 "PhotoMonitor.c" + } +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp192_ = _photo_list; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp193_ = _photo_index; +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp194_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp192_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp193_); +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo = (LibraryPhoto*) _tmp194_; +#line 1052 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp195_ = self->priv->raw_developments_reimport_pending; +#line 1052 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp196_ = photo; +#line 1052 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp197_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp195_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp196_); +#line 1052 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (!_tmp197_, "!raw_developments_reimport_pending.has_key(photo)"); +#line 1054 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp198_ = photo; +#line 1054 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp199_ = photo_monitor_reimport_raw_development_job_new (self, _tmp198_); +#line 1054 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = _tmp199_; +#line 1055 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp200_ = self->priv->raw_developments_reimport_pending; +#line 1055 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp201_ = photo; +#line 1055 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp202_ = job; +#line 1055 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp200_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp201_, _tmp202_); +#line 1056 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp203_ = self->priv->workers; +#line 1056 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp204_ = job; +#line 1056 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + workers_enqueue (_tmp203_, G_TYPE_CHECK_INSTANCE_CAST (_tmp204_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (photo); +#line 7271 "PhotoMonitor.c" + } +#line 1051 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_photo_list); +#line 7275 "PhotoMonitor.c" + } + } +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_raw_developments); +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_editable); +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (reimport_master); +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (revert_to_master); +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_raw_developer_files); +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file_info); +#line 913 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (set_editable_file); +#line 7292 "PhotoMonitor.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 1062 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self ? background_job_ref (self) : NULL; +#line 7299 "PhotoMonitor.c" +} + + +static void photo_monitor_on_master_reimported (PhotoMonitor* self, BackgroundJob* j) { + PhotoMonitorReimportMasterJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + PhotoMonitorReimportMasterJob* _tmp1_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp2_ = NULL; + PhotoMonitorReimportMasterJob* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + PhotoMonitorReimportMasterJob* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + PhotoMonitorReimportMasterJob* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + PhotoMonitorReimportMasterJob* _tmp27_ = NULL; + LibraryPhoto* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + PhotoMonitorReimportMasterJob* _tmp32_ = NULL; + LibraryPhoto* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + GError * _inner_error_ = NULL; +#line 1061 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 1061 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1062 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = j; +#line 1062 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, PhotoMonitorReimportMasterJob)); +#line 1062 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = _tmp1_; +#line 1065 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = self->priv->master_reimport_pending; +#line 1065 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = job; +#line 1065 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _tmp3_->photo; +#line 1065 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, NULL); +#line 1065 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + removed = _tmp5_; +#line 1066 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = removed; +#line 1066 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (_tmp6_, "removed"); +#line 1068 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = job; +#line 1068 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = _tmp7_->err; +#line 1068 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp8_ != NULL) { +#line 7357 "PhotoMonitor.c" + PhotoMonitorReimportMasterJob* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PhotoMonitorReimportMasterJob* _tmp13_ = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + PhotoMonitorReimportMasterJob* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = job; +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = _tmp9_->photo; +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = _tmp11_; +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = job; +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_->err; +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = _tmp14_->message; +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_critical ("PhotoMonitor.vala:1069: Unable to reimport %s due to master file chang" \ +"ing: %s", _tmp12_, _tmp15_); +#line 1069 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp12_); +#line 1072 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = job; +#line 1072 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_->photo; +#line 1072 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_MONITORABLE, Monitorable)); +#line 1074 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1074 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7395 "PhotoMonitor.c" + } +#line 1077 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = job; +#line 1077 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = _tmp18_->mark_online; +#line 1077 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (!_tmp19_) { +#line 7403 "PhotoMonitor.c" + PhotoMonitorReimportMasterJob* _tmp20_ = NULL; + LibraryPhoto* _tmp21_ = NULL; +#line 1079 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = job; +#line 1079 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = _tmp20_->photo; +#line 1079 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MONITORABLE, Monitorable)); +#line 1081 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1081 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7416 "PhotoMonitor.c" + } + { + PhotoMonitorReimportMasterJob* _tmp22_ = NULL; + LibraryPhoto* _tmp23_ = NULL; + PhotoMonitorReimportMasterJob* _tmp24_ = NULL; + PhotoReimportMasterState* _tmp25_ = NULL; +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = job; +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = _tmp22_->photo; +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = job; +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = _tmp24_->reimport_state; +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_finish_reimport_master (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PHOTO, Photo), _tmp25_, &_inner_error_); +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 7437 "PhotoMonitor.c" + goto __catch574_database_error; + } +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.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 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 1085 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7448 "PhotoMonitor.c" + } + } + goto __finally574; + __catch574_database_error: + { + GError* err = NULL; + GError* _tmp26_ = NULL; +#line 1084 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + err = _inner_error_; +#line 1084 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _inner_error_ = NULL; +#line 1087 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = err; +#line 1087 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + app_window_database_error (_tmp26_); +#line 1084 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (err); +#line 7466 "PhotoMonitor.c" + } + __finally574: +#line 1084 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1084 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1084 "/home/jens/Source/shotwell/src/PhotoMonitor.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 1084 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 1084 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7479 "PhotoMonitor.c" + } +#line 1091 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp27_ = job; +#line 1091 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp28_ = _tmp27_->photo; +#line 1091 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp29_ = media_source_is_offline (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1091 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp29_) { +#line 7489 "PhotoMonitor.c" + PhotoMonitorReimportMasterJob* _tmp30_ = NULL; + LibraryPhoto* _tmp31_ = NULL; +#line 1092 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp30_ = job; +#line 1092 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp31_ = _tmp30_->photo; +#line 1092 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_update_online (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_MONITORABLE, Monitorable)); +#line 7498 "PhotoMonitor.c" + } +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp32_ = job; +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp33_ = _tmp32_->photo; +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp34_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_DATA_OBJECT, DataObject)); +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp35_ = _tmp34_; +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp36_ = g_strdup_printf ("Reimported master for %s", _tmp35_); +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp37_ = _tmp36_; +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp37_); +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp37_); +#line 1094 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp35_); +#line 1061 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 7520 "PhotoMonitor.c" +} + + +static void photo_monitor_on_master_reimport_cancelled (PhotoMonitor* self, BackgroundJob* j) { + gboolean removed = FALSE; + GeeHashMap* _tmp0_ = NULL; + BackgroundJob* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1097 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 1097 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1098 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->priv->master_reimport_pending; +#line 1098 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = j; +#line 1098 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, PhotoMonitorReimportMasterJob)->photo; +#line 1098 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, NULL); +#line 1098 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + removed = _tmp3_; +#line 1099 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (removed, "removed"); +#line 7546 "PhotoMonitor.c" +} + + +static void photo_monitor_on_editable_reimported (PhotoMonitor* self, BackgroundJob* j) { + PhotoMonitorReimportEditableJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + PhotoMonitorReimportEditableJob* _tmp1_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp2_ = NULL; + PhotoMonitorReimportEditableJob* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + PhotoMonitorReimportEditableJob* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + PhotoMonitorReimportEditableJob* _tmp21_ = NULL; + LibraryPhoto* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + GError * _inner_error_ = NULL; +#line 1102 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 1102 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1103 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = j; +#line 1103 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, PhotoMonitorReimportEditableJob)); +#line 1103 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = _tmp1_; +#line 1106 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = self->priv->editable_reimport_pending; +#line 1106 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = job; +#line 1106 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _tmp3_->photo; +#line 1106 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, NULL); +#line 1106 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + removed = _tmp5_; +#line 1107 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = removed; +#line 1107 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (_tmp6_, "removed"); +#line 1109 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = job; +#line 1109 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = _tmp7_->err; +#line 1109 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp8_ != NULL) { +#line 7599 "PhotoMonitor.c" + PhotoMonitorReimportEditableJob* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PhotoMonitorReimportEditableJob* _tmp13_ = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = job; +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = _tmp9_->photo; +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = _tmp11_; +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = job; +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_->err; +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = _tmp14_->message; +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_critical ("PhotoMonitor.vala:1110: Unable to reimport editable %s: %s", _tmp12_, _tmp15_); +#line 1110 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp12_); +#line 1112 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1112 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7629 "PhotoMonitor.c" + } + { + PhotoMonitorReimportEditableJob* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; + PhotoMonitorReimportEditableJob* _tmp18_ = NULL; + PhotoReimportEditableState* _tmp19_ = NULL; +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = job; +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_->photo; +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = job; +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = _tmp18_->state; +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_finish_reimport_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO, Photo), _tmp19_, &_inner_error_); +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 7650 "PhotoMonitor.c" + goto __catch575_database_error; + } +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.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 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 1116 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7661 "PhotoMonitor.c" + } + } + goto __finally575; + __catch575_database_error: + { + GError* err = NULL; + GError* _tmp20_ = NULL; +#line 1115 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + err = _inner_error_; +#line 1115 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _inner_error_ = NULL; +#line 1118 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = err; +#line 1118 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + app_window_database_error (_tmp20_); +#line 1115 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (err); +#line 7679 "PhotoMonitor.c" + } + __finally575: +#line 1115 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1115 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1115 "/home/jens/Source/shotwell/src/PhotoMonitor.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 1115 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 1115 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7692 "PhotoMonitor.c" + } +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = job; +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = _tmp21_->photo; +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_OBJECT, DataObject)); +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = _tmp23_; +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = g_strdup_printf ("Reimported editable for %s", _tmp24_); +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = _tmp25_; +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp26_); +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp26_); +#line 1121 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp24_); +#line 1102 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 7714 "PhotoMonitor.c" +} + + +static void photo_monitor_on_editable_reimport_cancelled (PhotoMonitor* self, BackgroundJob* j) { + gboolean removed = FALSE; + GeeHashMap* _tmp0_ = NULL; + BackgroundJob* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1124 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 1124 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1125 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->priv->editable_reimport_pending; +#line 1125 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = j; +#line 1125 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, PhotoMonitorReimportEditableJob)->photo; +#line 1125 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, NULL); +#line 1125 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + removed = _tmp3_; +#line 1126 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (removed, "removed"); +#line 7740 "PhotoMonitor.c" +} + + +static void photo_monitor_on_raw_development_reimported (PhotoMonitor* self, BackgroundJob* j) { + PhotoMonitorReimportRawDevelopmentJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp1_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp2_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + PhotoMonitorReimportRawDevelopmentJob* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp21_ = NULL; + LibraryPhoto* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + GError * _inner_error_ = NULL; +#line 1129 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 1129 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = j; +#line 1130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, PhotoMonitorReimportRawDevelopmentJob)); +#line 1130 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + job = _tmp1_; +#line 1133 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = self->priv->raw_developments_reimport_pending; +#line 1133 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = job; +#line 1133 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = _tmp3_->photo; +#line 1133 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, NULL); +#line 1133 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + removed = _tmp5_; +#line 1134 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = removed; +#line 1134 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (_tmp6_, "removed"); +#line 1136 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp7_ = job; +#line 1136 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp8_ = _tmp7_->err; +#line 1136 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_tmp8_ != NULL) { +#line 7793 "PhotoMonitor.c" + PhotoMonitorReimportRawDevelopmentJob* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp13_ = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp9_ = job; +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp10_ = _tmp9_->photo; +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp12_ = _tmp11_; +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp13_ = job; +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp14_ = _tmp13_->err; +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp15_ = _tmp14_->message; +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_critical ("PhotoMonitor.vala:1137: Unable to reimport raw development %s: %s", _tmp12_, _tmp15_); +#line 1137 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp12_); +#line 1139 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1139 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7823 "PhotoMonitor.c" + } + { + PhotoMonitorReimportRawDevelopmentJob* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; + PhotoMonitorReimportRawDevelopmentJob* _tmp18_ = NULL; + PhotoReimportRawDevelopmentState* _tmp19_ = NULL; +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp16_ = job; +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp17_ = _tmp16_->photo; +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp18_ = job; +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp19_ = _tmp18_->state; +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_finish_reimport_raw_development (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO, Photo), _tmp19_, &_inner_error_); +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 7844 "PhotoMonitor.c" + goto __catch576_database_error; + } +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.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 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 1143 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7855 "PhotoMonitor.c" + } + } + goto __finally576; + __catch576_database_error: + { + GError* err = NULL; + GError* _tmp20_ = NULL; +#line 1142 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + err = _inner_error_; +#line 1142 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _inner_error_ = NULL; +#line 1145 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp20_ = err; +#line 1145 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + app_window_database_error (_tmp20_); +#line 1142 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (err); +#line 7873 "PhotoMonitor.c" + } + __finally576: +#line 1142 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1142 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 1142 "/home/jens/Source/shotwell/src/PhotoMonitor.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 1142 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 1142 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 7886 "PhotoMonitor.c" + } +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp21_ = job; +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp22_ = _tmp21_->photo; +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp23_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_OBJECT, DataObject)); +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp24_ = _tmp23_; +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp25_ = g_strdup_printf ("Reimported raw development for %s", _tmp24_); +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp26_ = _tmp25_; +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + media_monitor_mdbg (_tmp26_); +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp26_); +#line 1148 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_free0 (_tmp24_); +#line 1129 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _background_job_unref0 (job); +#line 7908 "PhotoMonitor.c" +} + + +static void photo_monitor_on_raw_development_reimport_cancelled (PhotoMonitor* self, BackgroundJob* j) { + gboolean removed = FALSE; + GeeHashMap* _tmp0_ = NULL; + BackgroundJob* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1151 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_PHOTO_MONITOR (self)); +#line 1151 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 1152 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = self->priv->raw_developments_reimport_pending; +#line 1152 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = j; +#line 1152 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, PhotoMonitorReimportRawDevelopmentJob)->photo; +#line 1152 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, NULL); +#line 1152 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + removed = _tmp3_; +#line 1153 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _vala_assert (removed, "removed"); +#line 7934 "PhotoMonitor.c" +} + + +static void _photo_monitor_on_master_reimported_completion_callback (BackgroundJob* job, gpointer self) { +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_on_master_reimported ((PhotoMonitor*) self, job); +#line 7941 "PhotoMonitor.c" +} + + +static void _photo_monitor_on_master_reimport_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_on_master_reimport_cancelled ((PhotoMonitor*) self, job); +#line 7948 "PhotoMonitor.c" +} + + +static PhotoMonitorReimportMasterJob* photo_monitor_reimport_master_job_construct (GType object_type, PhotoMonitor* owner, LibraryPhoto* photo) { + PhotoMonitorReimportMasterJob* self = NULL; + PhotoMonitor* _tmp0_ = NULL; + PhotoMonitor* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + PhotoMonitor* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + LibraryPhoto* _tmp6_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_MONITOR (owner), NULL); +#line 167 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = owner; +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = owner; +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = g_cancellable_new (); +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _tmp2_; +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = owner; +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = (PhotoMonitorReimportMasterJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _photo_monitor_on_master_reimported_completion_callback, _tmp1_, _tmp3_, _photo_monitor_on_master_reimport_cancelled_cancellation_callback, _tmp4_, NULL); +#line 168 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 171 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo; +#line 171 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 171 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->photo); +#line 171 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->photo = _tmp6_; +#line 167 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self; +#line 7989 "PhotoMonitor.c" +} + + +static PhotoMonitorReimportMasterJob* photo_monitor_reimport_master_job_new (PhotoMonitor* owner, LibraryPhoto* photo) { +#line 167 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return photo_monitor_reimport_master_job_construct (PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, owner, photo); +#line 7996 "PhotoMonitor.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 178 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self ? g_error_copy (self) : NULL; +#line 8003 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_master_job_real_execute (BackgroundJob* base) { + PhotoMonitorReimportMasterJob * self; + GError * _inner_error_ = NULL; +#line 174 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, PhotoMonitorReimportMasterJob); +#line 8012 "PhotoMonitor.c" + { + gboolean _tmp0_ = FALSE; + LibraryPhoto* _tmp1_ = NULL; + PhotoReimportMasterState* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 176 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = self->photo; +#line 176 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo_prepare_for_reimport_master (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO, Photo), &_tmp2_, &_inner_error_); +#line 176 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_reimport_master_state_unref0 (self->reimport_state); +#line 176 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_state = _tmp2_; +#line 176 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp3_; +#line 176 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8030 "PhotoMonitor.c" + goto __catch577_g_error; + } +#line 176 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->mark_online = _tmp0_; +#line 8035 "PhotoMonitor.c" + } + goto __finally577; + __catch577_g_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + err = _inner_error_; +#line 175 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _inner_error_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = err; +#line 178 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = _g_error_copy0 (_tmp4_); +#line 178 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (self->err); +#line 178 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->err = _tmp5_; +#line 175 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (err); +#line 8057 "PhotoMonitor.c" + } + __finally577: +#line 175 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 175 "/home/jens/Source/shotwell/src/PhotoMonitor.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 175 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 175 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 8068 "PhotoMonitor.c" + } +} + + +static void photo_monitor_reimport_master_job_class_init (PhotoMonitorReimportMasterJobClass * klass) { +#line 161 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_reimport_master_job_parent_class = g_type_class_peek_parent (klass); +#line 161 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((BackgroundJobClass *) klass)->finalize = photo_monitor_reimport_master_job_finalize; +#line 161 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((BackgroundJobClass *) klass)->execute = photo_monitor_reimport_master_job_real_execute; +#line 8080 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_master_job_instance_init (PhotoMonitorReimportMasterJob * self) { +#line 163 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->reimport_state = NULL; +#line 164 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->mark_online = FALSE; +#line 165 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->err = NULL; +#line 8091 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_master_job_finalize (BackgroundJob* obj) { + PhotoMonitorReimportMasterJob * self; +#line 161 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, PhotoMonitorReimportMasterJob); +#line 162 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->photo); +#line 163 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_reimport_master_state_unref0 (self->reimport_state); +#line 165 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (self->err); +#line 161 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + BACKGROUND_JOB_CLASS (photo_monitor_reimport_master_job_parent_class)->finalize (obj); +#line 8107 "PhotoMonitor.c" +} + + +static GType photo_monitor_reimport_master_job_get_type (void) { + static volatile gsize photo_monitor_reimport_master_job_type_id__volatile = 0; + if (g_once_init_enter (&photo_monitor_reimport_master_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoMonitorReimportMasterJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_monitor_reimport_master_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoMonitorReimportMasterJob), 0, (GInstanceInitFunc) photo_monitor_reimport_master_job_instance_init, NULL }; + GType photo_monitor_reimport_master_job_type_id; + photo_monitor_reimport_master_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "PhotoMonitorReimportMasterJob", &g_define_type_info, 0); + g_once_init_leave (&photo_monitor_reimport_master_job_type_id__volatile, photo_monitor_reimport_master_job_type_id); + } + return photo_monitor_reimport_master_job_type_id__volatile; +} + + +static void _photo_monitor_on_editable_reimported_completion_callback (BackgroundJob* job, gpointer self) { +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_on_editable_reimported ((PhotoMonitor*) self, job); +#line 8126 "PhotoMonitor.c" +} + + +static void _photo_monitor_on_editable_reimport_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_on_editable_reimport_cancelled ((PhotoMonitor*) self, job); +#line 8133 "PhotoMonitor.c" +} + + +static PhotoMonitorReimportEditableJob* photo_monitor_reimport_editable_job_construct (GType object_type, PhotoMonitor* owner, LibraryPhoto* photo) { + PhotoMonitorReimportEditableJob* self = NULL; + PhotoMonitor* _tmp0_ = NULL; + PhotoMonitor* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + PhotoMonitor* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + LibraryPhoto* _tmp6_ = NULL; +#line 189 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_MONITOR (owner), NULL); +#line 189 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = owner; +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = owner; +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = g_cancellable_new (); +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _tmp2_; +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = owner; +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = (PhotoMonitorReimportEditableJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _photo_monitor_on_editable_reimported_completion_callback, _tmp1_, _tmp3_, _photo_monitor_on_editable_reimport_cancelled_cancellation_callback, _tmp4_, NULL); +#line 190 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 193 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo; +#line 193 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 193 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->photo); +#line 193 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->photo = _tmp6_; +#line 189 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self; +#line 8174 "PhotoMonitor.c" +} + + +static PhotoMonitorReimportEditableJob* photo_monitor_reimport_editable_job_new (PhotoMonitor* owner, LibraryPhoto* photo) { +#line 189 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return photo_monitor_reimport_editable_job_construct (PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, owner, photo); +#line 8181 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_editable_job_real_execute (BackgroundJob* base) { + PhotoMonitorReimportEditableJob * self; + GError * _inner_error_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, PhotoMonitorReimportEditableJob); +#line 8190 "PhotoMonitor.c" + { + gboolean _tmp0_ = FALSE; + LibraryPhoto* _tmp1_ = NULL; + PhotoReimportEditableState* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 198 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = self->photo; +#line 198 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo_prepare_for_reimport_editable (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO, Photo), &_tmp2_, &_inner_error_); +#line 198 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_reimport_editable_state_unref0 (self->state); +#line 198 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->state = _tmp2_; +#line 198 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp3_; +#line 198 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8208 "PhotoMonitor.c" + goto __catch578_g_error; + } +#line 198 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->success = _tmp0_; +#line 8213 "PhotoMonitor.c" + } + goto __finally578; + __catch578_g_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + err = _inner_error_; +#line 197 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _inner_error_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = err; +#line 200 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = _g_error_copy0 (_tmp4_); +#line 200 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (self->err); +#line 200 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->err = _tmp5_; +#line 197 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (err); +#line 8235 "PhotoMonitor.c" + } + __finally578: +#line 197 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 197 "/home/jens/Source/shotwell/src/PhotoMonitor.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 197 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 197 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 8246 "PhotoMonitor.c" + } +} + + +static void photo_monitor_reimport_editable_job_class_init (PhotoMonitorReimportEditableJobClass * klass) { +#line 183 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_reimport_editable_job_parent_class = g_type_class_peek_parent (klass); +#line 183 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((BackgroundJobClass *) klass)->finalize = photo_monitor_reimport_editable_job_finalize; +#line 183 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((BackgroundJobClass *) klass)->execute = photo_monitor_reimport_editable_job_real_execute; +#line 8258 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_editable_job_instance_init (PhotoMonitorReimportEditableJob * self) { +#line 185 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->state = NULL; +#line 186 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->success = FALSE; +#line 187 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->err = NULL; +#line 8269 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_editable_job_finalize (BackgroundJob* obj) { + PhotoMonitorReimportEditableJob * self; +#line 183 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, PhotoMonitorReimportEditableJob); +#line 184 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->photo); +#line 185 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_reimport_editable_state_unref0 (self->state); +#line 187 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (self->err); +#line 183 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + BACKGROUND_JOB_CLASS (photo_monitor_reimport_editable_job_parent_class)->finalize (obj); +#line 8285 "PhotoMonitor.c" +} + + +static GType photo_monitor_reimport_editable_job_get_type (void) { + static volatile gsize photo_monitor_reimport_editable_job_type_id__volatile = 0; + if (g_once_init_enter (&photo_monitor_reimport_editable_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoMonitorReimportEditableJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_monitor_reimport_editable_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoMonitorReimportEditableJob), 0, (GInstanceInitFunc) photo_monitor_reimport_editable_job_instance_init, NULL }; + GType photo_monitor_reimport_editable_job_type_id; + photo_monitor_reimport_editable_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "PhotoMonitorReimportEditableJob", &g_define_type_info, 0); + g_once_init_leave (&photo_monitor_reimport_editable_job_type_id__volatile, photo_monitor_reimport_editable_job_type_id); + } + return photo_monitor_reimport_editable_job_type_id__volatile; +} + + +static void _photo_monitor_on_raw_development_reimported_completion_callback (BackgroundJob* job, gpointer self) { +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_on_raw_development_reimported ((PhotoMonitor*) self, job); +#line 8304 "PhotoMonitor.c" +} + + +static void _photo_monitor_on_raw_development_reimport_cancelled_cancellation_callback (BackgroundJob* job, gpointer self) { +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_on_raw_development_reimport_cancelled ((PhotoMonitor*) self, job); +#line 8311 "PhotoMonitor.c" +} + + +static PhotoMonitorReimportRawDevelopmentJob* photo_monitor_reimport_raw_development_job_construct (GType object_type, PhotoMonitor* owner, LibraryPhoto* photo) { + PhotoMonitorReimportRawDevelopmentJob* self = NULL; + PhotoMonitor* _tmp0_ = NULL; + PhotoMonitor* _tmp1_ = NULL; + GCancellable* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + PhotoMonitor* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + LibraryPhoto* _tmp6_ = NULL; +#line 211 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_PHOTO_MONITOR (owner), NULL); +#line 211 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO (photo), NULL); +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = owner; +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = owner; +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = g_cancellable_new (); +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = _tmp2_; +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = owner; +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = (PhotoMonitorReimportRawDevelopmentJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _photo_monitor_on_raw_development_reimported_completion_callback, _tmp1_, _tmp3_, _photo_monitor_on_raw_development_reimport_cancelled_cancellation_callback, _tmp4_, NULL); +#line 212 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 215 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = photo; +#line 215 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 215 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->photo); +#line 215 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->photo = _tmp6_; +#line 211 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return self; +#line 8352 "PhotoMonitor.c" +} + + +static PhotoMonitorReimportRawDevelopmentJob* photo_monitor_reimport_raw_development_job_new (PhotoMonitor* owner, LibraryPhoto* photo) { +#line 211 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return photo_monitor_reimport_raw_development_job_construct (PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, owner, photo); +#line 8359 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_raw_development_job_real_execute (BackgroundJob* base) { + PhotoMonitorReimportRawDevelopmentJob * self; + GError * _inner_error_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, PhotoMonitorReimportRawDevelopmentJob); +#line 8368 "PhotoMonitor.c" + { + gboolean _tmp0_ = FALSE; + LibraryPhoto* _tmp1_ = NULL; + PhotoReimportRawDevelopmentState* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 220 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = self->photo; +#line 220 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = photo_prepare_for_reimport_raw_development (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO, Photo), &_tmp2_, &_inner_error_); +#line 220 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_reimport_raw_development_state_unref0 (self->state); +#line 220 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->state = _tmp2_; +#line 220 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = _tmp3_; +#line 220 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8386 "PhotoMonitor.c" + goto __catch579_g_error; + } +#line 220 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->success = _tmp0_; +#line 8391 "PhotoMonitor.c" + } + goto __finally579; + __catch579_g_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + err = _inner_error_; +#line 219 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _inner_error_ = NULL; +#line 222 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = err; +#line 222 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp5_ = _g_error_copy0 (_tmp4_); +#line 222 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (self->err); +#line 222 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->err = _tmp5_; +#line 219 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (err); +#line 8413 "PhotoMonitor.c" + } + __finally579: +#line 219 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 219 "/home/jens/Source/shotwell/src/PhotoMonitor.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 219 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_clear_error (&_inner_error_); +#line 219 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + return; +#line 8424 "PhotoMonitor.c" + } +} + + +static void photo_monitor_reimport_raw_development_job_class_init (PhotoMonitorReimportRawDevelopmentJobClass * klass) { +#line 205 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_reimport_raw_development_job_parent_class = g_type_class_peek_parent (klass); +#line 205 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((BackgroundJobClass *) klass)->finalize = photo_monitor_reimport_raw_development_job_finalize; +#line 205 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((BackgroundJobClass *) klass)->execute = photo_monitor_reimport_raw_development_job_real_execute; +#line 8436 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_raw_development_job_instance_init (PhotoMonitorReimportRawDevelopmentJob * self) { +#line 207 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->state = NULL; +#line 208 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->success = FALSE; +#line 209 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->err = NULL; +#line 8447 "PhotoMonitor.c" +} + + +static void photo_monitor_reimport_raw_development_job_finalize (BackgroundJob* obj) { + PhotoMonitorReimportRawDevelopmentJob * self; +#line 205 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, PhotoMonitorReimportRawDevelopmentJob); +#line 206 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->photo); +#line 207 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _photo_reimport_raw_development_state_unref0 (self->state); +#line 209 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_error_free0 (self->err); +#line 205 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + BACKGROUND_JOB_CLASS (photo_monitor_reimport_raw_development_job_parent_class)->finalize (obj); +#line 8463 "PhotoMonitor.c" +} + + +static GType photo_monitor_reimport_raw_development_job_get_type (void) { + static volatile gsize photo_monitor_reimport_raw_development_job_type_id__volatile = 0; + if (g_once_init_enter (&photo_monitor_reimport_raw_development_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoMonitorReimportRawDevelopmentJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_monitor_reimport_raw_development_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoMonitorReimportRawDevelopmentJob), 0, (GInstanceInitFunc) photo_monitor_reimport_raw_development_job_instance_init, NULL }; + GType photo_monitor_reimport_raw_development_job_type_id; + photo_monitor_reimport_raw_development_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "PhotoMonitorReimportRawDevelopmentJob", &g_define_type_info, 0); + g_once_init_leave (&photo_monitor_reimport_raw_development_job_type_id__volatile, photo_monitor_reimport_raw_development_job_type_id); + } + return photo_monitor_reimport_raw_development_job_type_id__volatile; +} + + +static void photo_monitor_class_init (PhotoMonitorClass * klass) { +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + photo_monitor_parent_class = g_type_class_peek_parent (klass); +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + g_type_class_add_private (klass, sizeof (PhotoMonitorPrivate)); +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->create_updates = photo_monitor_real_create_updates; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->get_media_source_collection = photo_monitor_real_get_media_source_collection; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->is_file_represented = photo_monitor_real_is_file_represented; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->close = photo_monitor_real_close; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_discovered = photo_monitor_real_notify_file_discovered; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->candidates_for_unknown_file = photo_monitor_real_candidates_for_unknown_file; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->get_auxilliary_backing_files = photo_monitor_real_get_auxilliary_backing_files; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->update_backing_file_info = photo_monitor_real_update_backing_file_info; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_discovery_completing = photo_monitor_real_notify_discovery_completing; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_created = photo_monitor_real_notify_file_created; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_moved = photo_monitor_real_notify_file_moved; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_altered = photo_monitor_real_notify_file_altered; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_attributes_altered = photo_monitor_real_notify_file_attributes_altered; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_alteration_completed = photo_monitor_real_notify_file_alteration_completed; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_deleted = photo_monitor_real_notify_file_deleted; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->on_media_source_destroyed = photo_monitor_real_on_media_source_destroyed; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + ((MediaMonitorClass *) klass)->process_updates = photo_monitor_real_process_updates; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + G_OBJECT_CLASS (klass)->finalize = photo_monitor_finalize; +#line 8520 "PhotoMonitor.c" +} + + +static void photo_monitor_instance_init (PhotoMonitor * self) { + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->priv = PHOTO_MONITOR_GET_PRIVATE (self); +#line 228 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp0_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 228 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->priv->matched_editables = _tmp0_; +#line 229 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp1_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 229 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->priv->matched_developments = _tmp1_; +#line 230 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp2_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, PHOTO_MONITOR_TYPE_REIMPORT_MASTER_JOB, (GBoxedCopyFunc) background_job_ref, background_job_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 230 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->priv->master_reimport_pending = _tmp2_; +#line 232 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp3_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, PHOTO_MONITOR_TYPE_REIMPORT_EDITABLE_JOB, (GBoxedCopyFunc) background_job_ref, background_job_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 232 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->priv->editable_reimport_pending = _tmp3_; +#line 234 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _tmp4_ = gee_hash_map_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, PHOTO_MONITOR_TYPE_REIMPORT_RAW_DEVELOPMENT_JOB, (GBoxedCopyFunc) background_job_ref, background_job_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 234 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self->priv->raw_developments_reimport_pending = _tmp4_; +#line 8552 "PhotoMonitor.c" +} + + +static void photo_monitor_finalize (GObject* obj) { + PhotoMonitor * self; +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_MONITOR, PhotoMonitor); +#line 227 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _workers_unref0 (self->priv->workers); +#line 228 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->priv->matched_editables); +#line 229 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->priv->matched_developments); +#line 230 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->priv->master_reimport_pending); +#line 232 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->priv->editable_reimport_pending); +#line 234 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + _g_object_unref0 (self->priv->raw_developments_reimport_pending); +#line 157 "/home/jens/Source/shotwell/src/PhotoMonitor.vala" + G_OBJECT_CLASS (photo_monitor_parent_class)->finalize (obj); +#line 8574 "PhotoMonitor.c" +} + + +GType photo_monitor_get_type (void) { + static volatile gsize photo_monitor_type_id__volatile = 0; + if (g_once_init_enter (&photo_monitor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoMonitor), 0, (GInstanceInitFunc) photo_monitor_instance_init, NULL }; + GType photo_monitor_type_id; + photo_monitor_type_id = g_type_register_static (TYPE_MEDIA_MONITOR, "PhotoMonitor", &g_define_type_info, 0); + g_once_init_leave (&photo_monitor_type_id__volatile, photo_monitor_type_id); + } + return photo_monitor_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/PhotoPage.c b/src/PhotoPage.c new file mode 100644 index 0000000..ceeb0ec --- /dev/null +++ b/src/PhotoPage.c @@ -0,0 +1,22228 @@ +/* PhotoPage.c generated by valac 0.32.1, the Vala compiler + * generated from PhotoPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ()) +#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer)) +#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass)) +#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER)) +#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER)) +#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass)) + +typedef struct _ZoomBuffer ZoomBuffer; +typedef struct _ZoomBufferClass ZoomBufferClass; +typedef struct _ZoomBufferPrivate ZoomBufferPrivate; + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define ZOOM_BUFFER_TYPE_OBJECT_STATE (zoom_buffer_object_state_get_type ()) + +#define TYPE_ZOOM_STATE (zoom_state_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _ZoomState ZoomState; + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB (zoom_buffer_transformation_job_get_type ()) +#define ZOOM_BUFFER_TRANSFORMATION_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob)) +#define ZOOM_BUFFER_TRANSFORMATION_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJobClass)) +#define ZOOM_BUFFER_IS_TRANSFORMATION_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB)) +#define ZOOM_BUFFER_IS_TRANSFORMATION_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB)) +#define ZOOM_BUFFER_TRANSFORMATION_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJobClass)) + +typedef struct _ZoomBufferTransformationJob ZoomBufferTransformationJob; +typedef struct _ZoomBufferTransformationJobClass ZoomBufferTransformationJobClass; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ()) +#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)) +#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) +#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE)) +#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE)) +#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) + +typedef struct _SinglePhotoPage SinglePhotoPage; +typedef struct _SinglePhotoPageClass SinglePhotoPageClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) + +#define ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB (zoom_buffer_iso_source_fetch_job_get_type ()) +#define ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJob)) +#define ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJobClass)) +#define ZOOM_BUFFER_IS_ISO_SOURCE_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB)) +#define ZOOM_BUFFER_IS_ISO_SOURCE_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB)) +#define ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJobClass)) + +typedef struct _ZoomBufferIsoSourceFetchJob ZoomBufferIsoSourceFetchJob; +typedef struct _ZoomBufferIsoSourceFetchJobClass ZoomBufferIsoSourceFetchJobClass; +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _ZoomBufferIsoSourceFetchJobPrivate ZoomBufferIsoSourceFetchJobPrivate; + +#define TYPE_DIRECTION (direction_get_type ()) + +#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ()) +#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer)) +#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) +#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER)) +#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER)) +#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) + +typedef struct _PixelTransformer PixelTransformer; +typedef struct _PixelTransformerClass PixelTransformerClass; +#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL))) +typedef struct _ZoomBufferTransformationJobPrivate ZoomBufferTransformationJobPrivate; + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_BACKING_FETCH_MODE (backing_fetch_mode_get_type ()) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; +typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate; + +#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ()) + +#define TYPE_EDITING_HOST_PAGE (editing_host_page_get_type ()) +#define EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPage)) +#define EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDITING_HOST_PAGE, EditingHostPageClass)) +#define IS_EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDITING_HOST_PAGE)) +#define IS_EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDITING_HOST_PAGE)) +#define EDITING_HOST_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPageClass)) + +typedef struct _EditingHostPage EditingHostPage; +typedef struct _EditingHostPageClass EditingHostPageClass; +typedef struct _EditingHostPagePrivate EditingHostPagePrivate; + +#define TYPE_DATA_VIEW (data_view_get_type ()) +#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView)) +#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass)) +#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW)) +#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW)) +#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass)) + +typedef struct _DataView DataView; +typedef struct _DataViewClass DataViewClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define EDITING_TOOLS_TYPE_EDITING_TOOL (editing_tools_editing_tool_get_type ()) +#define EDITING_TOOLS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)) +#define EDITING_TOOLS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass)) +#define EDITING_TOOLS_IS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL)) +#define EDITING_TOOLS_IS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL)) +#define EDITING_TOOLS_EDITING_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass)) + +typedef struct _EditingToolsEditingTool EditingToolsEditingTool; +typedef struct _EditingToolsEditingToolClass EditingToolsEditingToolClass; + +#define TYPE_PIXBUF_CACHE (pixbuf_cache_get_type ()) +#define PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXBUF_CACHE, PixbufCache)) +#define PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXBUF_CACHE, PixbufCacheClass)) +#define IS_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXBUF_CACHE)) +#define IS_PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXBUF_CACHE)) +#define PIXBUF_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXBUF_CACHE, PixbufCacheClass)) + +typedef struct _PixbufCache PixbufCache; +typedef struct _PixbufCacheClass PixbufCacheClass; + +#define TYPE_DRAG_AND_DROP_HANDLER (drag_and_drop_handler_get_type ()) +#define DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandler)) +#define DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass)) +#define IS_DRAG_AND_DROP_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DRAG_AND_DROP_HANDLER)) +#define IS_DRAG_AND_DROP_HANDLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DRAG_AND_DROP_HANDLER)) +#define DRAG_AND_DROP_HANDLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DRAG_AND_DROP_HANDLER, DragAndDropHandlerClass)) + +typedef struct _DragAndDropHandler DragAndDropHandler; +typedef struct _DragAndDropHandlerClass DragAndDropHandlerClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _editing_tools_editing_tool_unref0(var) ((var == NULL) ? NULL : (var = (editing_tools_editing_tool_unref (var), NULL))) +#define _drag_and_drop_handler_unref0(var) ((var == NULL) ? NULL : (var = (drag_and_drop_handler_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_MARKER (marker_get_type ()) +#define MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MARKER, Marker)) +#define IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MARKER)) +#define MARKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MARKER, MarkerIface)) + +typedef struct _Marker Marker; +typedef struct _MarkerIface MarkerIface; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PIXBUF_CACHE_TYPE_PHOTO_TYPE (pixbuf_cache_photo_type_get_type ()) + +#define PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH (pixbuf_cache_pixbuf_cache_batch_get_type ()) +#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatch)) +#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatchClass)) +#define PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH)) +#define PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH)) +#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatchClass)) + +typedef struct _PixbufCachePixbufCacheBatch PixbufCachePixbufCacheBatch; +typedef struct _PixbufCachePixbufCacheBatchClass PixbufCachePixbufCacheBatchClass; + +#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ()) +#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView)) +#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) +#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW)) +#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW)) +#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) + +typedef struct _ThumbnailView ThumbnailView; +typedef struct _ThumbnailViewClass ThumbnailViewClass; + +#define TYPE_PHOTO_VIEW (photo_view_get_type ()) +#define PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_VIEW, PhotoView)) +#define PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_VIEW, PhotoViewClass)) +#define IS_PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_VIEW)) +#define IS_PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_VIEW)) +#define PHOTO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_VIEW, PhotoViewClass)) + +typedef struct _PhotoView PhotoView; +typedef struct _PhotoViewClass PhotoViewClass; + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define EDITING_TOOLS_TYPE_PHOTO_CANVAS (editing_tools_photo_canvas_get_type ()) +#define EDITING_TOOLS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvas)) +#define EDITING_TOOLS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass)) +#define EDITING_TOOLS_IS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS)) +#define EDITING_TOOLS_IS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS)) +#define EDITING_TOOLS_PHOTO_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass)) + +typedef struct _EditingToolsPhotoCanvas EditingToolsPhotoCanvas; +typedef struct _EditingToolsPhotoCanvasClass EditingToolsPhotoCanvasClass; + +#define EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS (editing_host_page_editing_host_canvas_get_type ()) +#define EDITING_HOST_PAGE_EDITING_HOST_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvas)) +#define EDITING_HOST_PAGE_EDITING_HOST_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvasClass)) +#define EDITING_HOST_PAGE_IS_EDITING_HOST_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS)) +#define EDITING_HOST_PAGE_IS_EDITING_HOST_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS)) +#define EDITING_HOST_PAGE_EDITING_HOST_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvasClass)) + +typedef struct _EditingHostPageEditingHostCanvas EditingHostPageEditingHostCanvas; +typedef struct _EditingHostPageEditingHostCanvasClass EditingHostPageEditingHostCanvasClass; +#define _editing_tools_photo_canvas_unref0(var) ((var == NULL) ? NULL : (var = (editing_tools_photo_canvas_unref (var), NULL))) + +#define EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW (editing_tools_editing_tool_window_get_type ()) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow)) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass)) +#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW)) +#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW)) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass)) + +typedef struct _EditingToolsEditingToolWindow EditingToolsEditingToolWindow; +typedef struct _EditingToolsEditingToolWindowClass EditingToolsEditingToolWindowClass; +typedef struct _EditingToolsEditingToolPrivate EditingToolsEditingToolPrivate; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#define TYPE_ROTATION (rotation_get_type ()) + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ()) +#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)) +#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) +#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) + +typedef struct _SingleDataSourceCommand SingleDataSourceCommand; +typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass; + +#define TYPE_ROTATE_SINGLE_COMMAND (rotate_single_command_get_type ()) +#define ROTATE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommand)) +#define ROTATE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommandClass)) +#define IS_ROTATE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ROTATE_SINGLE_COMMAND)) +#define IS_ROTATE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ROTATE_SINGLE_COMMAND)) +#define ROTATE_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ROTATE_SINGLE_COMMAND, RotateSingleCommandClass)) + +typedef struct _RotateSingleCommand RotateSingleCommand; +typedef struct _RotateSingleCommandClass RotateSingleCommandClass; + +#define TYPE_APP_WINDOW (app_window_get_type ()) +#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow)) +#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass)) +#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW)) +#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW)) +#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass)) + +typedef struct _AppWindow AppWindow; +typedef struct _AppWindowClass AppWindowClass; + +#define TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND (generic_photo_transformation_command_get_type ()) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand)) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass)) +#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND)) +#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND)) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass)) + +typedef struct _GenericPhotoTransformationCommand GenericPhotoTransformationCommand; +typedef struct _GenericPhotoTransformationCommandClass GenericPhotoTransformationCommandClass; + +#define TYPE_REVERT_SINGLE_COMMAND (revert_single_command_get_type ()) +#define REVERT_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommand)) +#define REVERT_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommandClass)) +#define IS_REVERT_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_REVERT_SINGLE_COMMAND)) +#define IS_REVERT_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_REVERT_SINGLE_COMMAND)) +#define REVERT_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_REVERT_SINGLE_COMMAND, RevertSingleCommandClass)) + +typedef struct _RevertSingleCommand RevertSingleCommand; +typedef struct _RevertSingleCommandClass RevertSingleCommandClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_TEXT_ENTRY_DIALOG_MEDIATOR (text_entry_dialog_mediator_get_type ()) +#define TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) + +typedef struct _TextEntryDialogMediator TextEntryDialogMediator; +typedef struct _TextEntryDialogMediatorClass TextEntryDialogMediatorClass; + +#define TYPE_EDIT_TITLE_DIALOG (edit_title_dialog_get_type ()) +#define EDIT_TITLE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_TITLE_DIALOG, EditTitleDialog)) +#define EDIT_TITLE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_TITLE_DIALOG, EditTitleDialogClass)) +#define IS_EDIT_TITLE_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_TITLE_DIALOG)) +#define IS_EDIT_TITLE_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_TITLE_DIALOG)) +#define EDIT_TITLE_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_TITLE_DIALOG, EditTitleDialogClass)) + +typedef struct _EditTitleDialog EditTitleDialog; +typedef struct _EditTitleDialogClass EditTitleDialogClass; +#define _text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (text_entry_dialog_mediator_unref (var), NULL))) + +#define TYPE_EDIT_TITLE_COMMAND (edit_title_command_get_type ()) +#define EDIT_TITLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_TITLE_COMMAND, EditTitleCommand)) +#define EDIT_TITLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_TITLE_COMMAND, EditTitleCommandClass)) +#define IS_EDIT_TITLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_TITLE_COMMAND)) +#define IS_EDIT_TITLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_TITLE_COMMAND)) +#define EDIT_TITLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_TITLE_COMMAND, EditTitleCommandClass)) + +typedef struct _EditTitleCommand EditTitleCommand; +typedef struct _EditTitleCommandClass EditTitleCommandClass; + +#define TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (multi_text_entry_dialog_mediator_get_type ()) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) + +typedef struct _MultiTextEntryDialogMediator MultiTextEntryDialogMediator; +typedef struct _MultiTextEntryDialogMediatorClass MultiTextEntryDialogMediatorClass; + +#define TYPE_EDIT_COMMENT_DIALOG (edit_comment_dialog_get_type ()) +#define EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialog)) +#define EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) +#define IS_EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_DIALOG)) +#define IS_EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_DIALOG)) +#define EDIT_COMMENT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) + +typedef struct _EditCommentDialog EditCommentDialog; +typedef struct _EditCommentDialogClass EditCommentDialogClass; +#define _multi_text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (multi_text_entry_dialog_mediator_unref (var), NULL))) + +#define TYPE_EDIT_COMMENT_COMMAND (edit_comment_command_get_type ()) +#define EDIT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommand)) +#define EDIT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommandClass)) +#define IS_EDIT_COMMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_COMMAND)) +#define IS_EDIT_COMMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_COMMAND)) +#define EDIT_COMMENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_COMMAND, EditCommentCommandClass)) + +typedef struct _EditCommentCommand EditCommentCommand; +typedef struct _EditCommentCommandClass EditCommentCommandClass; + +#define TYPE_ADJUST_DATE_TIME_DIALOG (adjust_date_time_dialog_get_type ()) +#define ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialog)) +#define ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass)) +#define IS_ADJUST_DATE_TIME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_DIALOG)) +#define IS_ADJUST_DATE_TIME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_DIALOG)) +#define ADJUST_DATE_TIME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_DIALOG, AdjustDateTimeDialogClass)) + +typedef struct _AdjustDateTimeDialog AdjustDateTimeDialog; +typedef struct _AdjustDateTimeDialogClass AdjustDateTimeDialogClass; + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; + +#define TYPE_DIRECT_PHOTO_PAGE (direct_photo_page_get_type ()) +#define DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage)) +#define DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass)) +#define IS_DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_PAGE)) +#define IS_DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_PAGE)) +#define DIRECT_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass)) + +typedef struct _DirectPhotoPage DirectPhotoPage; +typedef struct _DirectPhotoPageClass DirectPhotoPageClass; + +#define TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND (adjust_date_time_photo_command_get_type ()) +#define ADJUST_DATE_TIME_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommand)) +#define ADJUST_DATE_TIME_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommandClass)) +#define IS_ADJUST_DATE_TIME_PHOTO_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND)) +#define IS_ADJUST_DATE_TIME_PHOTO_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND)) +#define ADJUST_DATE_TIME_PHOTO_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_DATE_TIME_PHOTO_COMMAND, AdjustDateTimePhotoCommandClass)) + +typedef struct _AdjustDateTimePhotoCommand AdjustDateTimePhotoCommand; +typedef struct _AdjustDateTimePhotoCommandClass AdjustDateTimePhotoCommandClass; + +#define TYPE_SET_BACKGROUND_DIALOG (set_background_dialog_get_type ()) +#define SET_BACKGROUND_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialog)) +#define SET_BACKGROUND_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialogClass)) +#define IS_SET_BACKGROUND_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_DIALOG)) +#define IS_SET_BACKGROUND_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_DIALOG)) +#define SET_BACKGROUND_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_DIALOG, SetBackgroundDialogClass)) + +typedef struct _SetBackgroundDialog SetBackgroundDialog; +typedef struct _SetBackgroundDialogClass SetBackgroundDialogClass; + +#define TYPE_SET_BACKGROUND_PHOTO_DIALOG (set_background_photo_dialog_get_type ()) +#define SET_BACKGROUND_PHOTO_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialog)) +#define SET_BACKGROUND_PHOTO_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialogClass)) +#define IS_SET_BACKGROUND_PHOTO_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG)) +#define IS_SET_BACKGROUND_PHOTO_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_BACKGROUND_PHOTO_DIALOG)) +#define SET_BACKGROUND_PHOTO_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_BACKGROUND_PHOTO_DIALOG, SetBackgroundPhotoDialogClass)) + +typedef struct _SetBackgroundPhotoDialog SetBackgroundPhotoDialog; +typedef struct _SetBackgroundPhotoDialogClass SetBackgroundPhotoDialogClass; +#define _set_background_dialog_unref0(var) ((var == NULL) ? NULL : (var = (set_background_dialog_unref (var), NULL))) + +#define EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL (editing_tools_straighten_tool_get_type ()) +#define EDITING_TOOLS_STRAIGHTEN_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolClass)) +#define EDITING_TOOLS_IS_STRAIGHTEN_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL)) +#define EDITING_TOOLS_IS_STRAIGHTEN_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolClass)) + +typedef struct _EditingToolsStraightenTool EditingToolsStraightenTool; +typedef struct _EditingToolsStraightenToolClass EditingToolsStraightenToolClass; + +#define EDITING_TOOLS_TYPE_CROP_TOOL (editing_tools_crop_tool_get_type ()) +#define EDITING_TOOLS_CROP_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool)) +#define EDITING_TOOLS_CROP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolClass)) +#define EDITING_TOOLS_IS_CROP_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_CROP_TOOL)) +#define EDITING_TOOLS_IS_CROP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_CROP_TOOL)) +#define EDITING_TOOLS_CROP_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolClass)) + +typedef struct _EditingToolsCropTool EditingToolsCropTool; +typedef struct _EditingToolsCropToolClass EditingToolsCropToolClass; + +#define EDITING_TOOLS_TYPE_REDEYE_TOOL (editing_tools_redeye_tool_get_type ()) +#define EDITING_TOOLS_REDEYE_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool)) +#define EDITING_TOOLS_REDEYE_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolClass)) +#define EDITING_TOOLS_IS_REDEYE_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL)) +#define EDITING_TOOLS_IS_REDEYE_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_REDEYE_TOOL)) +#define EDITING_TOOLS_REDEYE_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolClass)) + +typedef struct _EditingToolsRedeyeTool EditingToolsRedeyeTool; +typedef struct _EditingToolsRedeyeToolClass EditingToolsRedeyeToolClass; + +#define EDITING_TOOLS_TYPE_ADJUST_TOOL (editing_tools_adjust_tool_get_type ()) +#define EDITING_TOOLS_ADJUST_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool)) +#define EDITING_TOOLS_ADJUST_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolClass)) +#define EDITING_TOOLS_IS_ADJUST_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL)) +#define EDITING_TOOLS_IS_ADJUST_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_ADJUST_TOOL)) +#define EDITING_TOOLS_ADJUST_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolClass)) + +typedef struct _EditingToolsAdjustTool EditingToolsAdjustTool; +typedef struct _EditingToolsAdjustToolClass EditingToolsAdjustToolClass; + +#define TYPE_ENHANCE_SINGLE_COMMAND (enhance_single_command_get_type ()) +#define ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommand)) +#define ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommandClass)) +#define IS_ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENHANCE_SINGLE_COMMAND)) +#define IS_ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENHANCE_SINGLE_COMMAND)) +#define ENHANCE_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommandClass)) + +typedef struct _EnhanceSingleCommand EnhanceSingleCommand; +typedef struct _EnhanceSingleCommandClass EnhanceSingleCommandClass; + +#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ()) +#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle)) +#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) + +typedef struct _PixelTransformationBundle PixelTransformationBundle; +typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass; +#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) + +#define TYPE_ADJUST_COLORS_SINGLE_COMMAND (adjust_colors_single_command_get_type ()) +#define ADJUST_COLORS_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommand)) +#define ADJUST_COLORS_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommandClass)) +#define IS_ADJUST_COLORS_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND)) +#define IS_ADJUST_COLORS_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADJUST_COLORS_SINGLE_COMMAND)) +#define ADJUST_COLORS_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADJUST_COLORS_SINGLE_COMMAND, AdjustColorsSingleCommandClass)) + +typedef struct _AdjustColorsSingleCommand AdjustColorsSingleCommand; +typedef struct _AdjustColorsSingleCommandClass AdjustColorsSingleCommandClass; +typedef struct _EditingToolsPhotoCanvasPrivate EditingToolsPhotoCanvasPrivate; +typedef struct _EditingHostPageEditingHostCanvasPrivate EditingHostPageEditingHostCanvasPrivate; +#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) + +#define TYPE_LIBRARY_PHOTO_PAGE (library_photo_page_get_type ()) +#define LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage)) +#define LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass)) +#define IS_LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_PAGE)) +#define IS_LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_PAGE)) +#define LIBRARY_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass)) + +typedef struct _LibraryPhotoPage LibraryPhotoPage; +typedef struct _LibraryPhotoPageClass LibraryPhotoPageClass; +typedef struct _LibraryPhotoPagePrivate LibraryPhotoPagePrivate; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER (library_photo_page_library_photo_page_view_filter_get_type ()) +#define LIBRARY_PHOTO_PAGE_LIBRARY_PHOTO_PAGE_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER, LibraryPhotoPageLibraryPhotoPageViewFilter)) +#define LIBRARY_PHOTO_PAGE_LIBRARY_PHOTO_PAGE_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER, LibraryPhotoPageLibraryPhotoPageViewFilterClass)) +#define LIBRARY_PHOTO_PAGE_IS_LIBRARY_PHOTO_PAGE_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER)) +#define LIBRARY_PHOTO_PAGE_IS_LIBRARY_PHOTO_PAGE_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER)) +#define LIBRARY_PHOTO_PAGE_LIBRARY_PHOTO_PAGE_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER, LibraryPhotoPageLibraryPhotoPageViewFilterClass)) + +typedef struct _LibraryPhotoPageLibraryPhotoPageViewFilter LibraryPhotoPageLibraryPhotoPageViewFilter; +typedef struct _LibraryPhotoPageLibraryPhotoPageViewFilterClass LibraryPhotoPageLibraryPhotoPageViewFilterClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) + +#define TYPE_RATING (rating_get_type ()) +#define _injection_group_unref0(var) ((var == NULL) ? NULL : (var = (injection_group_unref (var), NULL))) + +#define TYPE_MULTIPLE_DATA_SOURCE_COMMAND (multiple_data_source_command_get_type ()) +#define MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommand)) +#define MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass)) +#define IS_MULTIPLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND)) +#define IS_MULTIPLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_COMMAND)) +#define MULTIPLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_COMMAND, MultipleDataSourceCommandClass)) + +typedef struct _MultipleDataSourceCommand MultipleDataSourceCommand; +typedef struct _MultipleDataSourceCommandClass MultipleDataSourceCommandClass; + +#define TYPE_SET_RAW_DEVELOPER_COMMAND (set_raw_developer_command_get_type ()) +#define SET_RAW_DEVELOPER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommand)) +#define SET_RAW_DEVELOPER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandClass)) +#define IS_SET_RAW_DEVELOPER_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND)) +#define IS_SET_RAW_DEVELOPER_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_RAW_DEVELOPER_COMMAND)) +#define SET_RAW_DEVELOPER_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_RAW_DEVELOPER_COMMAND, SetRawDeveloperCommandClass)) + +typedef struct _SetRawDeveloperCommand SetRawDeveloperCommand; +typedef struct _SetRawDeveloperCommandClass SetRawDeveloperCommandClass; + +#define TYPE_FLAGGABLE (flaggable_get_type ()) +#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable)) +#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE)) +#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface)) + +typedef struct _Flaggable Flaggable; +typedef struct _FlaggableIface FlaggableIface; + +#define TYPE_SLIDESHOW_PAGE (slideshow_page_get_type ()) +#define SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPage)) +#define SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDESHOW_PAGE, SlideshowPageClass)) +#define IS_SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDESHOW_PAGE)) +#define IS_SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDESHOW_PAGE)) +#define SLIDESHOW_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPageClass)) + +typedef struct _SlideshowPage SlideshowPage; +typedef struct _SlideshowPageClass SlideshowPageClass; + +#define TYPE_LIBRARY_WINDOW (library_window_get_type ()) +#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow)) +#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) +#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW)) +#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW)) +#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) + +typedef struct _LibraryWindow LibraryWindow; +typedef struct _LibraryWindowClass LibraryWindowClass; + +#define TYPE_EVENT_PAGE (event_page_get_type ()) +#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage)) +#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass)) +#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE)) +#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE)) +#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass)) + +typedef struct _EventPage EventPage; +typedef struct _EventPageClass EventPageClass; + +#define TYPE_TRASH_UNTRASH_PHOTOS_COMMAND (trash_untrash_photos_command_get_type ()) +#define TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand)) +#define TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass)) +#define IS_TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND)) +#define IS_TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND)) +#define TRASH_UNTRASH_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass)) + +typedef struct _TrashUntrashPhotosCommand TrashUntrashPhotosCommand; +typedef struct _TrashUntrashPhotosCommandClass TrashUntrashPhotosCommandClass; + +#define TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (multiple_data_source_at_once_command_get_type ()) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand)) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass)) +#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND)) +#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND)) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass)) + +typedef struct _MultipleDataSourceAtOnceCommand MultipleDataSourceAtOnceCommand; +typedef struct _MultipleDataSourceAtOnceCommandClass MultipleDataSourceAtOnceCommandClass; + +#define TYPE_FLAG_UNFLAG_COMMAND (flag_unflag_command_get_type ()) +#define FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand)) +#define FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass)) +#define IS_FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAG_UNFLAG_COMMAND)) +#define IS_FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAG_UNFLAG_COMMAND)) +#define FLAG_UNFLAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass)) + +typedef struct _FlagUnflagCommand FlagUnflagCommand; +typedef struct _FlagUnflagCommandClass FlagUnflagCommandClass; + +#define TYPE_PRINT_MANAGER (print_manager_get_type ()) +#define PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_MANAGER, PrintManager)) +#define PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_MANAGER, PrintManagerClass)) +#define IS_PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_MANAGER)) +#define IS_PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_MANAGER)) +#define PRINT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_MANAGER, PrintManagerClass)) + +typedef struct _PrintManager PrintManager; +typedef struct _PrintManagerClass PrintManagerClass; +#define _print_manager_unref0(var) ((var == NULL) ? NULL : (var = (print_manager_unref (var), NULL))) + +#define TYPE_EXPORT_DIALOG (export_dialog_get_type ()) +#define EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORT_DIALOG, ExportDialog)) +#define EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORT_DIALOG, ExportDialogClass)) +#define IS_EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORT_DIALOG)) +#define IS_EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORT_DIALOG)) +#define EXPORT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORT_DIALOG, ExportDialogClass)) + +typedef struct _ExportDialog ExportDialog; +typedef struct _ExportDialogClass ExportDialogClass; + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_SET_RATING_SINGLE_COMMAND (set_rating_single_command_get_type ()) +#define SET_RATING_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommand)) +#define SET_RATING_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommandClass)) +#define IS_SET_RATING_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_RATING_SINGLE_COMMAND)) +#define IS_SET_RATING_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_RATING_SINGLE_COMMAND)) +#define SET_RATING_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_RATING_SINGLE_COMMAND, SetRatingSingleCommandClass)) + +typedef struct _SetRatingSingleCommand SetRatingSingleCommand; +typedef struct _SetRatingSingleCommandClass SetRatingSingleCommandClass; +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define TYPE_TAGS_DIALOG (tags_dialog_get_type ()) +#define TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAGS_DIALOG, TagsDialog)) +#define TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAGS_DIALOG, TagsDialogClass)) +#define IS_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAGS_DIALOG)) +#define IS_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAGS_DIALOG)) +#define TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAGS_DIALOG, TagsDialogClass)) + +typedef struct _TagsDialog TagsDialog; +typedef struct _TagsDialogClass TagsDialogClass; + +#define TYPE_ADD_TAGS_DIALOG (add_tags_dialog_get_type ()) +#define ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialog)) +#define ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass)) +#define IS_ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_DIALOG)) +#define IS_ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_DIALOG)) +#define ADD_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass)) + +typedef struct _AddTagsDialog AddTagsDialog; +typedef struct _AddTagsDialogClass AddTagsDialogClass; + +#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; + +#define TYPE_ADD_TAGS_COMMAND (add_tags_command_get_type ()) +#define ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommand)) +#define ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass)) +#define IS_ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_COMMAND)) +#define IS_ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_COMMAND)) +#define ADD_TAGS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass)) + +typedef struct _AddTagsCommand AddTagsCommand; +typedef struct _AddTagsCommandClass AddTagsCommandClass; +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) + +#define TYPE_MODIFY_TAGS_DIALOG (modify_tags_dialog_get_type ()) +#define MODIFY_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialog)) +#define MODIFY_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialogClass)) +#define IS_MODIFY_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MODIFY_TAGS_DIALOG)) +#define IS_MODIFY_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MODIFY_TAGS_DIALOG)) +#define MODIFY_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MODIFY_TAGS_DIALOG, ModifyTagsDialogClass)) + +typedef struct _ModifyTagsDialog ModifyTagsDialog; +typedef struct _ModifyTagsDialogClass ModifyTagsDialogClass; + +#define TYPE_TAG (tag_get_type ()) +#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag)) +#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass)) +#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG)) +#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG)) +#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass)) + +typedef struct _Tag Tag; +typedef struct _TagClass TagClass; + +#define TYPE_MODIFY_TAGS_COMMAND (modify_tags_command_get_type ()) +#define MODIFY_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommand)) +#define MODIFY_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommandClass)) +#define IS_MODIFY_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MODIFY_TAGS_COMMAND)) +#define IS_MODIFY_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MODIFY_TAGS_COMMAND)) +#define MODIFY_TAGS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MODIFY_TAGS_COMMAND, ModifyTagsCommandClass)) + +typedef struct _ModifyTagsCommand ModifyTagsCommand; +typedef struct _ModifyTagsCommandClass ModifyTagsCommandClass; +typedef struct _ViewFilterPrivate ViewFilterPrivate; +typedef struct _LibraryPhotoPageLibraryPhotoPageViewFilterPrivate LibraryPhotoPageLibraryPhotoPageViewFilterPrivate; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _ZoomBuffer { + GObject parent_instance; + ZoomBufferPrivate * priv; +}; + +struct _ZoomBufferClass { + GObjectClass parent_class; +}; + +typedef enum { + ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED, + ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS, + ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED, + ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY +} ZoomBufferObjectState; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _ZoomState { + Dimensions content_dimensions; + Dimensions viewport_dimensions; + gdouble zoom_factor; + gdouble interpolation_factor; + gdouble min_factor; + gdouble max_factor; + GdkPoint viewport_center; +}; + +struct _ZoomBufferPrivate { + GdkPixbuf* iso_source_image; + GdkPixbuf* reduced_source_image; + GdkPixbuf* iso_transformed_image; + GdkPixbuf* reduced_transformed_image; + GdkPixbuf* preview_image; + Photo* backing_photo; + ZoomBufferObjectState object_state; + GdkPixbuf* demand_transform_cached_pixbuf; + ZoomState demand_transform_zoom_state; + ZoomBufferTransformationJob* demand_transform_job; + Workers* workers; + SinglePhotoPage* parent_page; + gboolean is_interactive_redraw_in_progress; +}; + +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _ZoomBufferIsoSourceFetchJob { + BackgroundJob parent_instance; + ZoomBufferIsoSourceFetchJobPrivate * priv; + GdkPixbuf* fetched; +}; + +struct _ZoomBufferIsoSourceFetchJobClass { + BackgroundJobClass parent_class; +}; + +typedef enum { + DIRECTION_FORWARD, + DIRECTION_BACKWARD +} Direction; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +struct _ZoomBufferTransformationJob { + BackgroundJob parent_instance; + ZoomBufferTransformationJobPrivate * priv; + GdkPixbuf* transformed; +}; + +struct _ZoomBufferTransformationJobClass { + BackgroundJobClass parent_class; +}; + +struct _ZoomBufferIsoSourceFetchJobPrivate { + Photo* to_fetch; +}; + +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +typedef enum { + BACKING_FETCH_MODE_SOURCE, + BACKING_FETCH_MODE_BASELINE, + BACKING_FETCH_MODE_MASTER, + BACKING_FETCH_MODE_UNMODIFIED +} BackingFetchMode; + +struct _ZoomBufferTransformationJobPrivate { + GdkPixbuf* to_transform; + PixelTransformer* transformer; + GCancellable* cancellable; +}; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF, + SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT, + SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS +} SinglePhotoPageUpdateReason; + +struct _SinglePhotoPage { + Page parent_instance; + SinglePhotoPagePrivate * priv; + GtkDrawingArea* canvas; + GtkViewport* viewport; +}; + +struct _SinglePhotoPageClass { + PageClass parent_class; + gboolean (*is_zoom_supported) (SinglePhotoPage* self); + void (*cancel_zoom) (SinglePhotoPage* self); + void (*save_zoom_state) (SinglePhotoPage* self); + void (*restore_zoom_state) (SinglePhotoPage* self); + ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self); + void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); + void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*on_previous_photo) (SinglePhotoPage* self); + void (*on_next_photo) (SinglePhotoPage* self); +}; + +struct _EditingHostPage { + SinglePhotoPage parent_instance; + EditingHostPagePrivate * priv; +}; + +struct _EditingHostPageClass { + SinglePhotoPageClass parent_class; + gboolean (*on_zoom_slider_key_press) (EditingHostPage* self, GdkEventKey* event); + void (*on_increase_size) (EditingHostPage* self); + void (*on_decrease_size) (EditingHostPage* self); + void (*photo_changing) (EditingHostPage* self, Photo* new_photo); + DataView* (*create_photo_view) (EditingHostPage* self, DataSource* source); + void (*update_ui) (EditingHostPage* self, gboolean missing); + void (*notify_photo_backing_missing) (EditingHostPage* self, Photo* photo, gboolean missing); + gboolean (*confirm_replace_photo) (EditingHostPage* self, Photo* old_photo, Photo* new_photo); + gboolean (*on_double_click) (EditingHostPage* self, GdkEventButton* event); + GdkPixbuf* (*get_bottom_left_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_top_left_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (EditingHostPage* self, gint scale); +}; + +struct _EditingHostPagePrivate { + SourceCollection* sources; + ViewCollection* parent_view; + GdkPixbuf* swapped; + gboolean pixbuf_dirty; + GtkToolButton* rotate_button; + GtkToggleToolButton* crop_button; + GtkToggleToolButton* redeye_button; + GtkToggleToolButton* adjust_button; + GtkToggleToolButton* straighten_button; + GtkToolButton* enhance_button; + GtkScale* zoom_slider; + GtkToolButton* prev_button; + GtkToolButton* next_button; + EditingToolsEditingTool* current_tool; + GtkToggleToolButton* current_editing_toggle; + GdkPixbuf* cancel_editing_pixbuf; + gboolean photo_missing; + PixbufCache* cache; + PixbufCache* master_cache; + DragAndDropHandler* dnd_handler; + gboolean enable_interactive_zoom_refresh; + GdkPoint zoom_pan_start_point; + gboolean is_pan_in_progress; + gdouble saved_slider_val; + ZoomBuffer* zoom_buffer; + GeeHashMap* last_locations; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +struct _MarkerIface { + GTypeInterface parent_iface; + void (*mark) (Marker* self, DataObject* object); + void (*unmark) (Marker* self, DataObject* object); + gboolean (*toggle) (Marker* self, DataObject* object); + void (*mark_many) (Marker* self, GeeCollection* list); + void (*unmark_many) (Marker* self, GeeCollection* list); + void (*mark_all) (Marker* self); + gint (*get_count) (Marker* self); + GeeCollection* (*get_all) (Marker* self); +}; + +typedef enum { + PIXBUF_CACHE_PHOTO_TYPE_BASELINE, + PIXBUF_CACHE_PHOTO_TYPE_MASTER +} PixbufCachePhotoType; + +typedef gboolean (*PixbufCacheCacheFilter) (Photo* photo, void* user_data); +typedef DataView* (*CreateView) (DataSource* source, void* user_data); +typedef gboolean (*CreateViewPredicate) (DataSource* source, void* user_data); +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _EditingToolsEditingTool { + GTypeInstance parent_instance; + volatile int ref_count; + EditingToolsEditingToolPrivate * priv; + EditingToolsPhotoCanvas* canvas; + cairo_surface_t* surface; + gchar* name; +}; + +struct _EditingToolsEditingToolClass { + GTypeClass parent_class; + void (*finalize) (EditingToolsEditingTool *self); + void (*activate) (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas); + void (*deactivate) (EditingToolsEditingTool* self); + EditingToolsEditingToolWindow* (*get_tool_window) (EditingToolsEditingTool* self); + GdkPixbuf* (*get_display_pixbuf) (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error); + void (*on_left_click) (EditingToolsEditingTool* self, gint x, gint y); + void (*on_left_released) (EditingToolsEditingTool* self, gint x, gint y); + void (*on_motion) (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (EditingToolsEditingTool* self); + gboolean (*on_keypress) (EditingToolsEditingTool* self, GdkEventKey* event); + void (*paint) (EditingToolsEditingTool* self, cairo_t* ctx); +}; + +typedef enum { + ROTATION_CLOCKWISE, + ROTATION_COUNTERCLOCKWISE, + ROTATION_MIRROR, + ROTATION_UPSIDE_DOWN +} Rotation; + +struct _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + +typedef EditingToolsEditingTool* (*EditingToolsEditingToolFactory) (); +struct _EditingToolsPhotoCanvas { + GTypeInstance parent_instance; + volatile int ref_count; + EditingToolsPhotoCanvasPrivate * priv; +}; + +struct _EditingToolsPhotoCanvasClass { + GTypeClass parent_class; + void (*finalize) (EditingToolsPhotoCanvas *self); + void (*repaint) (EditingToolsPhotoCanvas* self); +}; + +struct _EditingHostPageEditingHostCanvas { + EditingToolsPhotoCanvas parent_instance; + EditingHostPageEditingHostCanvasPrivate * priv; +}; + +struct _EditingHostPageEditingHostCanvasClass { + EditingToolsPhotoCanvasClass parent_class; +}; + +struct _EditingHostPageEditingHostCanvasPrivate { + EditingHostPage* host_page; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _LibraryPhotoPage { + EditingHostPage parent_instance; + LibraryPhotoPagePrivate * priv; +}; + +struct _LibraryPhotoPageClass { + EditingHostPageClass parent_class; + void (*developer_changed) (LibraryPhotoPage* self, RawDeveloper rd); +}; + +struct _LibraryPhotoPagePrivate { + CollectionPage* return_page; + gboolean return_to_collection_on_release; + LibraryPhotoPageLibraryPhotoPageViewFilter* filter; +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _LibraryPhotoPageLibraryPhotoPageViewFilter { + ViewFilter parent_instance; + LibraryPhotoPageLibraryPhotoPageViewFilterPrivate * priv; +}; + +struct _LibraryPhotoPageLibraryPhotoPageViewFilterClass { + ViewFilterClass parent_class; +}; + + +static gpointer zoom_buffer_parent_class = NULL; +static gpointer zoom_buffer_iso_source_fetch_job_parent_class = NULL; +static gpointer zoom_buffer_transformation_job_parent_class = NULL; +static gpointer editing_host_page_parent_class = NULL; +static gpointer editing_host_page_editing_host_canvas_parent_class = NULL; +static gpointer library_photo_page_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +static gpointer library_photo_page_library_photo_page_view_filter_parent_class = NULL; + +GType zoom_buffer_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +static GType zoom_buffer_object_state_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType zoom_state_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +ZoomState* zoom_state_dup (const ZoomState* self); +void zoom_state_free (ZoomState* self); +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +static GType zoom_buffer_transformation_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType single_photo_page_get_type (void) G_GNUC_CONST; +#define ZOOM_BUFFER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ZOOM_BUFFER, ZoomBufferPrivate)) +enum { + ZOOM_BUFFER_DUMMY_PROPERTY +}; +#define ZOOM_BUFFER_MEGAPIXEL 1048576 +#define ZOOM_BUFFER_USE_REDUCED_THRESHOLD (((gint) 2.0) * ZOOM_BUFFER_MEGAPIXEL) +ZoomBuffer* zoom_buffer_new (SinglePhotoPage* parent_page, Photo* backing_photo, GdkPixbuf* preview_image); +ZoomBuffer* zoom_buffer_construct (GType object_type, SinglePhotoPage* parent_page, Photo* backing_photo, GdkPixbuf* preview_image); +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +static void zoom_buffer_on_iso_source_fetch_complete (ZoomBuffer* self, BackgroundJob* job); +static GType zoom_buffer_iso_source_fetch_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +GType direction_get_type (void) G_GNUC_CONST; +void single_photo_page_repaint (SinglePhotoPage* self, Direction* direction); +gpointer pixel_transformer_ref (gpointer instance); +void pixel_transformer_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformer (GValue* value, gpointer v_object); +void value_take_pixel_transformer (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformer (const GValue* value); +GType pixel_transformer_get_type (void) G_GNUC_CONST; +PixelTransformer* photo_get_pixel_transformer (Photo* self); +static void zoom_buffer_on_iso_transformation_complete (ZoomBuffer* self, BackgroundJob* job); +static void _zoom_buffer_on_iso_transformation_complete_completion_callback (BackgroundJob* job, gpointer self); +static ZoomBufferTransformationJob* zoom_buffer_transformation_job_new (ZoomBuffer* owner, GdkPixbuf* to_transform, PixelTransformer* transformer, CompletionCallback completion_callback, void* completion_callback_target, GCancellable* cancellable); +static ZoomBufferTransformationJob* zoom_buffer_transformation_job_construct (GType object_type, ZoomBuffer* owner, GdkPixbuf* to_transform, PixelTransformer* transformer, CompletionCallback completion_callback, void* completion_callback_target, GCancellable* cancellable); +void workers_enqueue (Workers* self, BackgroundJob* job); +static void zoom_buffer_on_demand_transform_complete (ZoomBuffer* self, BackgroundJob* job); +static GdkPixbuf* zoom_buffer_get_view_projection_pixbuf (ZoomBuffer* self, ZoomState* zoom_state, GdkPixbuf* iso_pixbuf, GdkPixbuf* reduced_pixbuf); +void zoom_state_get_viewing_rectangle_wrt_content (ZoomState *self, GdkRectangle* result); +void zoom_state_get_viewing_rectangle_projection (ZoomState *self, GdkPixbuf* for_pixbuf, GdkRectangle* result); +gdouble zoom_state_get_zoom_factor (ZoomState *self); +static GdkPixbuf* zoom_buffer_get_zoomed_image_source_not_transformed (ZoomBuffer* self, ZoomState* zoom_state); +gboolean zoom_state_equals (ZoomState *self, ZoomState* other); +GdkPixbuf* zoom_buffer_get_zoom_preview_image_internal (ZoomBuffer* self, ZoomState* zoom_state); +void background_job_cancel (BackgroundJob* self); +static void _zoom_buffer_on_demand_transform_complete_completion_callback (BackgroundJob* job, gpointer self); +static void _zoom_buffer_on_iso_source_fetch_complete_completion_callback (BackgroundJob* job, gpointer self); +static ZoomBufferIsoSourceFetchJob* zoom_buffer_iso_source_fetch_job_new (ZoomBuffer* owner, Photo* to_fetch, CompletionCallback completion_callback, void* completion_callback_target); +static ZoomBufferIsoSourceFetchJob* zoom_buffer_iso_source_fetch_job_construct (GType object_type, ZoomBuffer* owner, Photo* to_fetch, CompletionCallback completion_callback, void* completion_callback_target); +Photo* zoom_buffer_get_backing_photo (ZoomBuffer* self); +void zoom_buffer_update_preview_image (ZoomBuffer* self, GdkPixbuf* preview_image); +void zoom_buffer_flush_demand_cache (ZoomBuffer* self, ZoomState* initial_zoom_state); +GdkPixbuf* zoom_buffer_get_zoomed_image (ZoomBuffer* self, ZoomState* zoom_state); +gdouble zoom_state_get_interpolation_factor (ZoomState *self); +GdkPixbuf* zoom_buffer_get_zoom_preview_image (ZoomBuffer* self, ZoomState* zoom_state); +#define ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJobPrivate)) +enum { + ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_DUMMY_PROPERTY +}; +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +static void zoom_buffer_iso_source_fetch_job_real_execute (BackgroundJob* base); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +GType photo_exception_get_type (void) G_GNUC_CONST; +GType backing_fetch_mode_get_type (void) G_GNUC_CONST; +GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error); +void scaling_for_original (Scaling* result); +static void zoom_buffer_iso_source_fetch_job_finalize (BackgroundJob* obj); +#define ZOOM_BUFFER_TRANSFORMATION_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJobPrivate)) +enum { + ZOOM_BUFFER_TRANSFORMATION_JOB_DUMMY_PROPERTY +}; +static void zoom_buffer_transformation_job_real_execute (BackgroundJob* base); +void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable); +static void zoom_buffer_transformation_job_finalize (BackgroundJob* obj); +static void zoom_buffer_finalize (GObject* obj); +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST; +GType editing_host_page_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +gpointer editing_tools_editing_tool_ref (gpointer instance); +void editing_tools_editing_tool_unref (gpointer instance); +GParamSpec* editing_tools_param_spec_editing_tool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void editing_tools_value_set_editing_tool (GValue* value, gpointer v_object); +void editing_tools_value_take_editing_tool (GValue* value, gpointer v_object); +gpointer editing_tools_value_get_editing_tool (const GValue* value); +GType editing_tools_editing_tool_get_type (void) G_GNUC_CONST; +GType pixbuf_cache_get_type (void) G_GNUC_CONST; +gpointer drag_and_drop_handler_ref (gpointer instance); +void drag_and_drop_handler_unref (gpointer instance); +GParamSpec* param_spec_drag_and_drop_handler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_drag_and_drop_handler (GValue* value, gpointer v_object); +void value_take_drag_and_drop_handler (GValue* value, gpointer v_object); +gpointer value_get_drag_and_drop_handler (const GValue* value); +GType drag_and_drop_handler_get_type (void) G_GNUC_CONST; +#define EDITING_HOST_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EDITING_HOST_PAGE, EditingHostPagePrivate)) +enum { + EDITING_HOST_PAGE_DUMMY_PROPERTY +}; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void editing_host_page_on_photos_altered (EditingHostPage* self, GeeMap* map); +static void _editing_host_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +ViewCollection* page_get_view (Page* self); +static void editing_host_page_on_view_contents_ordering_altered (EditingHostPage* self); +static void _editing_host_page_on_view_contents_ordering_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static void _editing_host_page_on_view_contents_ordering_altered_data_collection_ordering_changed (DataCollection* _sender, gpointer self); +#define RESOURCES_PREVIOUS_LABEL _ ("_Previous") +#define RESOURCES_NEXT_LABEL _ ("_Next") +#define EDITING_HOST_PAGE_TRINKET_SCALE 20 +#define EDITING_HOST_PAGE_TRINKET_PADDING 1 +#define EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE 0.1 +#define EDITING_HOST_PAGE_PAN_INCREMENT_SIZE 64 +#define EDITING_HOST_PAGE_TOOL_WINDOW_SEPARATOR 8 +#define EDITING_HOST_PAGE_PIXBUF_CACHE_COUNT 5 +#define EDITING_HOST_PAGE_ORIGINAL_PIXBUF_CACHE_COUNT 5 +EditingHostPage* editing_host_page_construct (GType object_type, SourceCollection* sources, const gchar* name); +SinglePhotoPage* single_photo_page_construct (GType object_type, const gchar* page_name, gboolean scale_up_to_viewport); +static void editing_host_page_on_viewport_resized (EditingHostPage* self); +static void _editing_host_page_on_viewport_resized_gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self); +GtkToolbar* page_get_toolbar (Page* self); +#define RESOURCES_CLOCKWISE "object-rotate-right" +#define RESOURCES_ROTATE_CW_LABEL _ ("Rotate") +#define RESOURCES_ROTATE_CW_TOOLTIP _ ("Rotate the photos right (press Ctrl to rotate left)") +void editing_host_page_on_rotate_clockwise (EditingHostPage* self); +static void _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +#define RESOURCES_CROP "shotwell-crop" +#define RESOURCES_CROP_LABEL _ ("Crop") +#define RESOURCES_CROP_TOOLTIP _ ("Crop the photo's size") +static void editing_host_page_on_crop_toggled (EditingHostPage* self); +static void _editing_host_page_on_crop_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self); +#define RESOURCES_STRAIGHTEN "shotwell-straighten" +#define RESOURCES_STRAIGHTEN_LABEL _ ("Straighten") +#define RESOURCES_STRAIGHTEN_TOOLTIP _ ("Straighten the photo") +static void editing_host_page_on_straighten_toggled (EditingHostPage* self); +static void _editing_host_page_on_straighten_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self); +#define RESOURCES_REDEYE "shotwell-redeye" +#define RESOURCES_RED_EYE_LABEL _ ("Red-eye") +#define RESOURCES_RED_EYE_TOOLTIP _ ("Reduce or eliminate any red-eye effects in the photo") +static void editing_host_page_on_redeye_toggled (EditingHostPage* self); +static void _editing_host_page_on_redeye_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self); +#define RESOURCES_ADJUST "image-adjust" +#define RESOURCES_ADJUST_LABEL _ ("Adjust") +#define RESOURCES_ADJUST_TOOLTIP _ ("Adjust the photo's color and tone") +static void editing_host_page_on_adjust_toggled (EditingHostPage* self); +static void _editing_host_page_on_adjust_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self); +#define RESOURCES_ENHANCE_LABEL _ ("Enhance") +#define RESOURCES_ENHANCE "shotwell-auto-enhance" +#define RESOURCES_ENHANCE_TOOLTIP _ ("Automatically improve the photo's appearance") +void editing_host_page_on_enhance (EditingHostPage* self); +static void _editing_host_page_on_enhance_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +GdkPixbuf* resources_load_icon (const gchar* name, gint scale); +#define RESOURCES_ICON_ZOOM_OUT "zoom-out.png" +#define RESOURCES_ICON_ZOOM_SCALE 16 +static gboolean editing_host_page_on_zoom_out_pressed (EditingHostPage* self, GdkEventButton* event); +static gboolean _editing_host_page_on_zoom_out_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +static void editing_host_page_on_zoom_slider_value_changed (EditingHostPage* self); +static void _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self); +static gboolean editing_host_page_on_zoom_slider_drag_begin (EditingHostPage* self, GdkEventButton* event); +static gboolean _editing_host_page_on_zoom_slider_drag_begin_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +static gboolean editing_host_page_on_zoom_slider_drag_end (EditingHostPage* self, GdkEventButton* event); +static gboolean _editing_host_page_on_zoom_slider_drag_end_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +gboolean editing_host_page_on_zoom_slider_key_press (EditingHostPage* self, GdkEventKey* event); +static gboolean _editing_host_page_on_zoom_slider_key_press_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self); +#define RESOURCES_ICON_ZOOM_IN "zoom-in.png" +static gboolean editing_host_page_on_zoom_in_pressed (EditingHostPage* self, GdkEventButton* event); +static gboolean _editing_host_page_on_zoom_in_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +void single_photo_page_on_previous_photo (SinglePhotoPage* self); +static void _single_photo_page_on_previous_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +void single_photo_page_on_next_photo (SinglePhotoPage* self); +static void _single_photo_page_on_next_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +void single_photo_page_get_zoom_state (SinglePhotoPage* self, ZoomState* result); +void zoom_state_init_rescale (ZoomState *self, ZoomState* existing, gdouble new_slider_val); +void single_photo_page_on_interactive_zoom (SinglePhotoPage* self, ZoomState* interactive_zoom_state); +gboolean zoom_state_is_default (ZoomState *self); +void single_photo_page_set_zoom_state (SinglePhotoPage* self, ZoomState* zoom_state); +void single_photo_page_cancel_zoom (SinglePhotoPage* self); +static void editing_host_page_update_cursor_for_zoom_context (EditingHostPage* self); +GtkWindow* page_get_container (Page* self); +void fullscreen_window_disable_toolbar_dismissal (FullscreenWindow* self); +void fullscreen_window_update_toolbar_dismissal (FullscreenWindow* self); +void editing_host_page_snap_zoom_to_min (EditingHostPage* self); +void editing_host_page_snap_zoom_to_max (EditingHostPage* self); +static void editing_host_page_get_cursor_wrt_viewport (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result); +void zoom_state_get_viewing_rectangle_wrt_screen (ZoomState *self, GdkRectangle* result); +static void editing_host_page_get_cursor_wrt_viewport_center (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result); +void subtract_points (GdkPoint* p1, GdkPoint* p2, GdkPoint* result); +static void editing_host_page_get_iso_pixel_under_cursor (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result); +void scale_point (GdkPoint* p, gdouble factor, GdkPoint* result); +void zoom_state_get_viewport_center (ZoomState *self, GdkPoint* result); +void add_points (GdkPoint* p1, GdkPoint* p2, GdkPoint* result); +static gdouble editing_host_page_snap_interpolation_factor (EditingHostPage* self, gdouble interp); +static gdouble editing_host_page_adjust_interpolation_factor (EditingHostPage* self, gdouble adjustment); +static void editing_host_page_zoom_about_event_cursor_point (EditingHostPage* self, GdkEventScroll* event, gdouble zoom_increment); +gboolean zoom_state_is_min (ZoomState *self); +void zoom_state_init_pan (ZoomState *self, ZoomState* existing, GdkPoint* new_viewport_center); +void editing_host_page_snap_zoom_to_isomorphic (EditingHostPage* self); +void zoom_state_init_rescale_to_isomorphic (ZoomState *self, ZoomState* existing); +static gboolean editing_host_page_real_on_zoom_slider_key_press (EditingHostPage* self, GdkEventKey* event); +void page_activate_action (Page* self, const gchar* name); +void editing_host_page_on_increase_size (EditingHostPage* self); +static void editing_host_page_real_on_increase_size (EditingHostPage* self); +void editing_host_page_on_decrease_size (EditingHostPage* self); +static void editing_host_page_real_on_decrease_size (EditingHostPage* self); +static void editing_host_page_real_save_zoom_state (SinglePhotoPage* base); +void single_photo_page_save_zoom_state (SinglePhotoPage* self); +static ZoomBuffer* editing_host_page_real_get_zoom_buffer (SinglePhotoPage* base); +static gboolean editing_host_page_real_on_mousewheel_up (Page* base, GdkEventScroll* event); +gboolean zoom_state_is_max (ZoomState *self); +static gboolean editing_host_page_real_on_mousewheel_down (Page* base, GdkEventScroll* event); +static void editing_host_page_real_restore_zoom_state (SinglePhotoPage* base); +void single_photo_page_restore_zoom_state (SinglePhotoPage* self); +static gboolean editing_host_page_real_is_zoom_supported (SinglePhotoPage* base); +static void editing_host_page_real_set_container (Page* base, GtkWindow* container); +void page_set_container (Page* self, GtkWindow* container); +DragAndDropHandler* drag_and_drop_handler_new (Page* page); +DragAndDropHandler* drag_and_drop_handler_construct (GType object_type, Page* page); +ViewCollection* editing_host_page_get_parent_view (EditingHostPage* self); +gboolean editing_host_page_has_photo (EditingHostPage* self); +Photo* editing_host_page_get_photo (EditingHostPage* self); +gint view_collection_get_selected_count (ViewCollection* self); +DataView* view_collection_get_selected_at (ViewCollection* self, gint index); +DataSource* data_view_get_source (DataView* self); +void editing_host_page_photo_changing (EditingHostPage* self, Photo* new_photo); +static void editing_host_page_real_photo_changing (EditingHostPage* self, Photo* new_photo); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_file_format (Photo* self); +void editing_host_page_set_photo_missing (EditingHostPage* self, gboolean missing); +GFile* media_source_get_file (MediaSource* self); +void editing_host_page_update_ui (EditingHostPage* self, gboolean missing); +static void editing_host_page_set_photo (EditingHostPage* self, Photo* photo); +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +void view_collection_unselect_all (ViewCollection* self); +GType marker_get_type (void) G_GNUC_CONST; +Marker* data_collection_mark (DataCollection* self, DataObject* object); +void view_collection_select_marked (ViewCollection* self, Marker* marker); +DataView* view_collection_get_view_for_source_filtered (ViewCollection* self, DataSource* source); +static void editing_host_page_real_realize (GtkWidget* base); +static void editing_host_page_rebuild_caches (EditingHostPage* self, const gchar* caller); +static void editing_host_page_real_switched_to (Page* base); +void page_switched_to (Page* self); +static void editing_host_page_replace_photo (EditingHostPage* self, Photo* new_photo); +static void editing_host_page_real_switching_from (Page* base); +void page_switching_from (Page* self); +GType command_get_type (void) G_GNUC_CONST; +static void editing_host_page_deactivate_tool (EditingHostPage* self, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement); +void dimensions_init (Dimensions *self, gint width, gint height); +void data_collection_clear (DataCollection* self); +static void editing_host_page_real_switching_to_fullscreen (Page* base, FullscreenWindow* fsw); +void page_switching_to_fullscreen (Page* self, FullscreenWindow* fsw); +Page* page_window_get_current_page (PageWindow* self); +static void editing_host_page_on_selection_changed (EditingHostPage* self, GeeIterable* selected); +static void _editing_host_page_on_selection_changed_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self); +static void editing_host_page_real_returning_from_fullscreen (Page* base, FullscreenWindow* fsw); +void page_returning_from_fullscreen (Page* self, FullscreenWindow* fsw); +void editing_host_page_enable_rotate (EditingHostPage* self, gboolean should_enable); +void single_photo_page_get_canvas_scaling (SinglePhotoPage* self, Scaling* result); +void pixbuf_cache_get_scaling (PixbufCache* self, Scaling* result); +gboolean scaling_equals (Scaling *self, Scaling* scaling); +gchar* scaling_to_string (Scaling *self); +static void editing_host_page_on_pixbuf_fetched (EditingHostPage* self, Photo* photo, GdkPixbuf* pixbuf, GError* err); +static void _editing_host_page_on_pixbuf_fetched_pixbuf_cache_fetched (PixbufCache* _sender, Photo* photo, GdkPixbuf* pixbuf, GError* err, gpointer self); +void pixbuf_cache_cancel_all (PixbufCache* self); +GType pixbuf_cache_photo_type_get_type (void) G_GNUC_CONST; +PixbufCache* pixbuf_cache_new (SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target); +PixbufCache* pixbuf_cache_construct (GType object_type, SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target); +static gboolean editing_host_page_master_cache_filter (EditingHostPage* self, Photo* photo); +static gboolean _editing_host_page_master_cache_filter_pixbuf_cache_cache_filter (Photo* photo, gpointer self); +static void editing_host_page_refresh_caches (EditingHostPage* self, const gchar* caller); +gchar* data_object_to_string (DataObject* self); +static void editing_host_page_prefetch_neighbors (EditingHostPage* self, ViewCollection* controller, Photo* photo); +gboolean photo_has_transformations (Photo* self); +gboolean photo_has_editable (Photo* self); +gboolean data_source_equals (DataSource* self, DataSource* source); +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +GdkPixbuf* editing_tools_editing_tool_get_display_pixbuf (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error); +void single_photo_page_set_pixbuf (SinglePhotoPage* self, GdkPixbuf* unscaled, Dimensions* max_dim, Direction* direction); +void editing_host_page_notify_photo_backing_missing (EditingHostPage* self, Photo* photo, gboolean missing); +GType pixbuf_cache_pixbuf_cache_batch_get_type (void) G_GNUC_CONST; +PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_new (void); +PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_construct (GType object_type); +gboolean view_collection_get_immediate_neighbors (ViewCollection* self, DataSource* home, DataSource** next, DataSource** prev, const gchar* type_selector); +#define PHOTO_TYPENAME "thumb" +GeeSet* view_collection_get_extended_neighbors (ViewCollection* self, DataSource* home, const gchar* typename); +void pixbuf_cache_prefetch_batch (PixbufCache* self, PixbufCachePixbufCacheBatch* batch, gboolean force); +static void editing_host_page_cancel_prefetch_neighbors (EditingHostPage* self, ViewCollection* old_controller, Photo* old_photo, ViewCollection* new_controller, Photo* new_photo); +void pixbuf_cache_drop (PixbufCache* self, Photo* photo); +DataView* editing_host_page_create_photo_view (EditingHostPage* self, DataSource* source); +static DataView* editing_host_page_real_create_photo_view (EditingHostPage* self, DataSource* source); +PhotoView* photo_view_new (PhotoSource* source); +PhotoView* photo_view_construct (GType object_type, PhotoSource* source); +GType thumbnail_view_get_type (void) G_GNUC_CONST; +GType photo_view_get_type (void) G_GNUC_CONST; +static gboolean editing_host_page_is_photo (EditingHostPage* self, DataSource* source); +void editing_host_page_display_copy_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo); +void view_collection_copy_into (ViewCollection* self, ViewCollection* to_copy, CreateView copying_ctor, void* copying_ctor_target, CreateViewPredicate should_copy, void* should_copy_target); +static DataView* _editing_host_page_create_photo_view_create_view (DataSource* source, gpointer self); +static gboolean _editing_host_page_is_photo_create_view_predicate (DataSource* source, gpointer self); +void editing_host_page_display_mirror_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo); +void view_collection_mirror (ViewCollection* self, ViewCollection* to_mirror, CreateView mirroring_ctor, void* mirroring_ctor_target, CreateViewPredicate should_mirror, void* should_mirror_target); +static void editing_host_page_real_update_ui (EditingHostPage* self, gboolean missing); +static void editing_host_page_real_notify_photo_backing_missing (EditingHostPage* self, Photo* photo, gboolean missing); +static void editing_host_page_draw_message (EditingHostPage* self, const gchar* message); +void single_photo_page_paint_text (SinglePhotoPage* self, PangoLayout* pango_layout, gint x, gint y); +GdkPixbuf* media_source_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error); +gboolean editing_host_page_get_photo_missing (EditingHostPage* self); +gboolean editing_host_page_confirm_replace_photo (EditingHostPage* self, Photo* old_photo, Photo* new_photo); +static gboolean editing_host_page_real_confirm_replace_photo (EditingHostPage* self, Photo* old_photo, Photo* new_photo); +static GdkPixbuf* editing_host_page_get_zoom_pixbuf (EditingHostPage* self, Photo* new_photo); +GdkPixbuf* pixbuf_cache_get_ready_pixbuf (PixbufCache* self, Photo* photo); +GdkPixbuf* get_placeholder_pixbuf (void); +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up); +void page_set_page_name (Page* self, const gchar* page_name); +gchar* data_object_get_name (DataObject* self); +static void editing_host_page_quick_update_pixbuf (EditingHostPage* self); +static void editing_host_page_real_cancel_zoom (SinglePhotoPage* base); +void single_photo_page_get_surface_dim (SinglePhotoPage* self, Dimensions* result); +void zoom_state_init (ZoomState *self, Dimensions* content_dimensions, Dimensions* viewport_dimensions, gdouble slider_val, GdkPoint* viewport_center); +void page_set_page_cursor (Page* self, GdkCursorType cursor_type); +void pixbuf_cache_prefetch (PixbufCache* self, Photo* photo, BackgroundJobJobPriority priority, gboolean force); +static gboolean editing_host_page_update_pixbuf (EditingHostPage* self); +static void editing_host_page_real_on_resize (Page* base, GdkRectangle* rect); +void page_on_resize (Page* self, GdkRectangle* rect); +static void editing_host_page_track_tool_window (EditingHostPage* self); +static void editing_host_page_real_on_resize_finished (Page* base, GdkRectangle* rect); +static void editing_host_page_real_update_actions (Page* base, gint selected_count, gint count); +gint view_collection_get_sources_of_type_count (ViewCollection* self, GType t); +gboolean photo_check_can_rotate (Photo* self); +gboolean editing_host_page_is_rotate_available (EditingHostPage* self, Photo* photo); +gboolean editing_tools_crop_tool_is_available (Photo* photo, Scaling* scaling); +gboolean editing_tools_redeye_tool_is_available (Photo* photo, Scaling* scaling); +gboolean editing_tools_adjust_tool_is_available (Photo* photo, Scaling* scaling); +gboolean editing_host_page_is_enhance_available (EditingHostPage* self, Photo* photo); +gboolean editing_tools_straighten_tool_is_available (Photo* photo, Scaling* scaling); +void page_update_actions (Page* self, gint selected_count, gint count); +static gboolean editing_host_page_real_on_shift_pressed (Page* base, GdkEventKey* event); +gboolean page_get_ctrl_pressed (Page* self); +gboolean page_get_alt_pressed (Page* self); +static void editing_host_page_swap_in_original (EditingHostPage* self); +gboolean page_on_shift_pressed (Page* self, GdkEventKey* event); +static gboolean editing_host_page_real_on_shift_released (Page* base, GdkEventKey* event); +static void editing_host_page_swap_out_original (EditingHostPage* self); +gboolean page_on_shift_released (Page* self, GdkEventKey* event); +static gboolean editing_host_page_real_on_alt_pressed (Page* base, GdkEventKey* event); +gboolean page_on_alt_pressed (Page* self, GdkEventKey* event); +static gboolean editing_host_page_real_on_alt_released (Page* base, GdkEventKey* event); +gboolean page_get_shift_pressed (Page* self); +gboolean page_on_alt_released (Page* self, GdkEventKey* event); +GdkPixbuf* photo_get_prefetched_copy (Photo* self, GError** error); +GType orientation_get_type (void) G_GNUC_CONST; +Orientation photo_get_original_orientation (Photo* self); +GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf); +GdkPixbuf* single_photo_page_get_unscaled_pixbuf (SinglePhotoPage* self); +void photo_get_master_dimensions (Photo* self, Dimensions* result); +static void editing_host_page_activate_tool (EditingHostPage* self, EditingToolsEditingTool* tool); +gpointer editing_tools_photo_canvas_ref (gpointer instance); +void editing_tools_photo_canvas_unref (gpointer instance); +GParamSpec* editing_tools_param_spec_photo_canvas (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void editing_tools_value_set_photo_canvas (GValue* value, gpointer v_object); +void editing_tools_value_take_photo_canvas (GValue* value, gpointer v_object); +gpointer editing_tools_value_get_photo_canvas (const GValue* value); +GType editing_tools_photo_canvas_get_type (void) G_GNUC_CONST; +static EditingHostPageEditingHostCanvas* editing_host_page_editing_host_canvas_new (EditingHostPage* host_page); +static EditingHostPageEditingHostCanvas* editing_host_page_editing_host_canvas_construct (GType object_type, EditingHostPage* host_page); +static GType editing_host_page_editing_host_canvas_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +void editing_tools_editing_tool_activate (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas); +static void editing_host_page_place_tool_window (EditingHostPage* self); +GType editing_tools_editing_tool_window_get_type (void) G_GNUC_CONST; +EditingToolsEditingToolWindow* editing_tools_editing_tool_get_tool_window (EditingToolsEditingTool* self); +gboolean editing_tools_editing_tool_window_has_user_moved (EditingToolsEditingToolWindow* self); +void editing_tools_editing_tool_deactivate (EditingToolsEditingTool* self); +static void editing_host_page_on_tool_activated (EditingHostPage* self); +static void _editing_host_page_on_tool_activated_editing_tools_editing_tool_activated (EditingToolsEditingTool* _sender, gpointer self); +static void editing_host_page_on_tool_deactivated (EditingHostPage* self); +static void _editing_host_page_on_tool_deactivated_editing_tools_editing_tool_deactivated (EditingToolsEditingTool* _sender, gpointer self); +static void editing_host_page_on_tool_applied (EditingHostPage* self, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement); +static void _editing_host_page_on_tool_applied_editing_tools_editing_tool_applied (EditingToolsEditingTool* _sender, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement, gpointer self); +static void editing_host_page_on_tool_cancelled (EditingHostPage* self); +static void _editing_host_page_on_tool_cancelled_editing_tools_editing_tool_cancelled (EditingToolsEditingTool* _sender, gpointer self); +static void editing_host_page_on_tool_aborted (EditingHostPage* self); +static void _editing_host_page_on_tool_aborted_editing_tools_editing_tool_aborted (EditingToolsEditingTool* _sender, gpointer self); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +static gboolean _editing_host_page_update_pixbuf_gsource_func (gpointer self); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +void command_manager_execute (CommandManager* self, Command* command); +gboolean editing_host_page_on_double_click (EditingHostPage* self, GdkEventButton* event); +static gboolean editing_host_page_real_on_double_click (EditingHostPage* self, GdkEventButton* event); +static gboolean editing_host_page_real_on_left_click (Page* base, GdkEventButton* event); +void page_suspend_cursor_hiding (Page* self); +gboolean single_photo_page_is_inside_pixbuf (SinglePhotoPage* self, gint x, gint y); +void editing_tools_editing_tool_on_left_click (EditingToolsEditingTool* self, gint x, gint y); +static gboolean editing_host_page_real_on_left_released (Page* base, GdkEventButton* event); +ZoomBuffer* single_photo_page_get_zoom_buffer (SinglePhotoPage* self); +void page_restore_cursor_hiding (Page* self); +void editing_tools_editing_tool_on_left_released (EditingToolsEditingTool* self, gint x, gint y); +static gboolean editing_host_page_real_on_right_click (Page* base, GdkEventButton* event); +gboolean page_on_context_buttonpress (Page* self, GdkEventButton* event); +static gboolean editing_host_page_on_fetch_original (EditingHostPage* self); +static gboolean _editing_host_page_on_fetch_original_gsource_func (gpointer self); +gint data_collection_get_count (DataCollection* self); +static gboolean editing_host_page_is_panning_possible (EditingHostPage* self); +gint zoom_state_get_zoomed_width (ZoomState *self); +gint zoom_state_get_zoomed_height (ZoomState *self); +static gboolean editing_host_page_real_on_motion (Page* base, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); +void editing_tools_editing_tool_on_motion (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask); +void single_photo_page_on_interactive_pan (SinglePhotoPage* self, ZoomState* interactive_zoom_state); +gboolean page_on_motion (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); +static gboolean editing_host_page_real_on_leave_notify_event (Page* base); +gboolean editing_tools_editing_tool_on_leave_notify_event (EditingToolsEditingTool* self); +gboolean page_on_leave_notify_event (Page* self); +static void editing_host_page_real_on_move (Page* base, GdkRectangle* rect); +void page_on_move (Page* self, GdkRectangle* rect); +static void editing_host_page_real_on_move_finished (Page* base, GdkRectangle* rect); +void page_on_move_finished (Page* self, GdkRectangle* rect); +static gboolean editing_host_page_on_keyboard_pan_event (EditingHostPage* self, GdkEventKey* event); +static gboolean editing_host_page_real_key_press_event (GtkWidget* base, GdkEventKey* event); +gboolean editing_tools_editing_tool_on_keypress (EditingToolsEditingTool* self, GdkEventKey* event); +static void editing_host_page_real_new_surface (SinglePhotoPage* base, cairo_t* default_ctx, Dimensions* dim); +void editing_tools_photo_canvas_set_surface (EditingToolsPhotoCanvas* self, cairo_t* default_ctx, Dimensions* surface_dim); +static void editing_host_page_real_updated_pixbuf (SinglePhotoPage* base, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); +void editing_tools_photo_canvas_resized_pixbuf (EditingToolsPhotoCanvas* self, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position); +void single_photo_page_get_scaled_pixbuf_position (SinglePhotoPage* self, GdkRectangle* result); +GdkPixbuf* editing_host_page_get_bottom_left_trinket (EditingHostPage* self, gint scale); +static GdkPixbuf* editing_host_page_real_get_bottom_left_trinket (EditingHostPage* self, gint scale); +GdkPixbuf* editing_host_page_get_top_left_trinket (EditingHostPage* self, gint scale); +static GdkPixbuf* editing_host_page_real_get_top_left_trinket (EditingHostPage* self, gint scale); +GdkPixbuf* editing_host_page_get_top_right_trinket (EditingHostPage* self, gint scale); +static GdkPixbuf* editing_host_page_real_get_top_right_trinket (EditingHostPage* self, gint scale); +GdkPixbuf* editing_host_page_get_bottom_right_trinket (EditingHostPage* self, gint scale); +static GdkPixbuf* editing_host_page_real_get_bottom_right_trinket (EditingHostPage* self, gint scale); +static void editing_host_page_real_paint (SinglePhotoPage* base, cairo_t* ctx, Dimensions* ctx_dim); +void editing_tools_editing_tool_paint (EditingToolsEditingTool* self, cairo_t* ctx); +void set_source_color_from_string (cairo_t* ctx, const gchar* spec); +void single_photo_page_paint (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); +GType rotation_get_type (void) G_GNUC_CONST; +static void editing_host_page_rotate (EditingHostPage* self, Rotation rotation, const gchar* name, const gchar* description); +GType page_command_get_type (void) G_GNUC_CONST; +GType single_data_source_command_get_type (void) G_GNUC_CONST; +GType rotate_single_command_get_type (void) G_GNUC_CONST; +RotateSingleCommand* rotate_single_command_new (Photo* photo, Rotation rotation, const gchar* name, const gchar* explanation); +RotateSingleCommand* rotate_single_command_construct (GType object_type, Photo* photo, Rotation rotation, const gchar* name, const gchar* explanation); +#define RESOURCES_ROTATE_CW_FULL_LABEL _ ("Rotate Right") +void editing_host_page_on_rotate_counterclockwise (EditingHostPage* self); +#define RESOURCES_ROTATE_CCW_FULL_LABEL _ ("Rotate Left") +#define RESOURCES_ROTATE_CCW_TOOLTIP _ ("Rotate the photos left") +void editing_host_page_on_flip_horizontally (EditingHostPage* self); +#define RESOURCES_HFLIP_LABEL _ ("Flip Horizontally") +void editing_host_page_on_flip_vertically (EditingHostPage* self); +#define RESOURCES_VFLIP_LABEL _ ("Flip Vertically") +void editing_host_page_on_revert (EditingHostPage* self); +gboolean revert_editable_dialog (GtkWindow* owner, GeeCollection* photos); +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +GeeCollection* view_collection_get_sources (ViewCollection* self); +void photo_revert_to_master (Photo* self, gboolean notify); +GType generic_photo_transformation_command_get_type (void) G_GNUC_CONST; +GType revert_single_command_get_type (void) G_GNUC_CONST; +RevertSingleCommand* revert_single_command_new (Photo* photo); +RevertSingleCommand* revert_single_command_construct (GType object_type, Photo* photo); +void editing_host_page_on_edit_title (EditingHostPage* self); +GType library_photo_get_type (void) G_GNUC_CONST; +gpointer text_entry_dialog_mediator_ref (gpointer instance); +void text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_text_entry_dialog_mediator (const GValue* value); +GType text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType edit_title_dialog_get_type (void) G_GNUC_CONST; +gchar* media_source_get_title (MediaSource* self); +EditTitleDialog* edit_title_dialog_new (const gchar* photo_title); +EditTitleDialog* edit_title_dialog_construct (GType object_type, const gchar* photo_title); +gchar* edit_title_dialog_execute (EditTitleDialog* self); +GType edit_title_command_get_type (void) G_GNUC_CONST; +EditTitleCommand* edit_title_command_new (MediaSource* source, const gchar* new_title); +EditTitleCommand* edit_title_command_construct (GType object_type, MediaSource* source, const gchar* new_title); +void editing_host_page_on_edit_comment (EditingHostPage* self); +gpointer multi_text_entry_dialog_mediator_ref (gpointer instance); +void multi_text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_multi_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_multi_text_entry_dialog_mediator (const GValue* value); +GType multi_text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType edit_comment_dialog_get_type (void) G_GNUC_CONST; +gchar* media_source_get_comment (MediaSource* self); +EditCommentDialog* edit_comment_dialog_new (const gchar* comment, gboolean is_event); +EditCommentDialog* edit_comment_dialog_construct (GType object_type, const gchar* comment, gboolean is_event); +gchar* edit_comment_dialog_execute (EditCommentDialog* self); +GType edit_comment_command_get_type (void) G_GNUC_CONST; +EditCommentCommand* edit_comment_command_new (MediaSource* source, const gchar* new_comment); +EditCommentCommand* edit_comment_command_construct (GType object_type, MediaSource* source, const gchar* new_comment); +void editing_host_page_on_adjust_date_time (EditingHostPage* self); +GType adjust_date_time_dialog_get_type (void) G_GNUC_CONST; +GType dateable_get_type (void) G_GNUC_CONST; +GType direct_photo_page_get_type (void) G_GNUC_CONST; +AdjustDateTimeDialog* adjust_date_time_dialog_new (Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video); +AdjustDateTimeDialog* adjust_date_time_dialog_construct (GType object_type, Dateable* source, gint photo_count, gboolean display_options, gboolean contains_video, gboolean only_video); +gboolean adjust_date_time_dialog_execute (AdjustDateTimeDialog* self, gint64* time_shift, gboolean* keep_relativity, gboolean* modify_originals); +GeeList* view_collection_get_selected (ViewCollection* self); +GType adjust_date_time_photo_command_get_type (void) G_GNUC_CONST; +AdjustDateTimePhotoCommand* adjust_date_time_photo_command_new (Dateable* dateable, gint64 time_shift, gboolean modify_original); +AdjustDateTimePhotoCommand* adjust_date_time_photo_command_construct (GType object_type, Dateable* dateable, gint64 time_shift, gboolean modify_original); +void editing_host_page_on_set_background (EditingHostPage* self); +gpointer set_background_dialog_ref (gpointer instance); +void set_background_dialog_unref (gpointer instance); +GParamSpec* param_spec_set_background_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_set_background_dialog (GValue* value, gpointer v_object); +void value_take_set_background_dialog (GValue* value, gpointer v_object); +gpointer value_get_set_background_dialog (const GValue* value); +GType set_background_dialog_get_type (void) G_GNUC_CONST; +GType set_background_photo_dialog_get_type (void) G_GNUC_CONST; +SetBackgroundPhotoDialog* set_background_photo_dialog_new (void); +SetBackgroundPhotoDialog* set_background_photo_dialog_construct (GType object_type); +gboolean set_background_photo_dialog_execute (SetBackgroundPhotoDialog* self, gboolean* desktop_background, gboolean* screensaver); +void page_window_set_busy_cursor (PageWindow* self); +void desktop_integration_set_background (Photo* photo, gboolean desktop, gboolean screensaver); +void page_window_set_normal_cursor (PageWindow* self); +static gboolean editing_host_page_real_on_ctrl_pressed (Page* base, GdkEventKey* event); +#define RESOURCES_COUNTERCLOCKWISE "object-rotate-left" +#define RESOURCES_ROTATE_CCW_LABEL _ ("Rotate") +static void _editing_host_page_on_rotate_counterclockwise_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +gboolean page_on_ctrl_pressed (Page* self, GdkEventKey* event); +static gboolean editing_host_page_real_on_ctrl_released (Page* base, GdkEventKey* event); +gboolean page_on_ctrl_released (Page* self, GdkEventKey* event); +void editing_host_page_on_tool_button_toggled (EditingHostPage* self, GtkToggleToolButton* toggle, EditingToolsEditingToolFactory factory); +void editing_host_page_toggle_crop (EditingHostPage* self); +void editing_host_page_toggle_straighten (EditingHostPage* self); +void editing_host_page_toggle_redeye (EditingHostPage* self); +void editing_host_page_toggle_adjust (EditingHostPage* self); +GType editing_tools_straighten_tool_get_type (void) G_GNUC_CONST; +EditingToolsStraightenTool* editing_tools_straighten_tool_factory (void); +static EditingToolsEditingTool* _editing_tools_straighten_tool_factory_editing_tools_editing_tool_factory (void); +GType editing_tools_crop_tool_get_type (void) G_GNUC_CONST; +EditingToolsCropTool* editing_tools_crop_tool_factory (void); +static EditingToolsEditingTool* _editing_tools_crop_tool_factory_editing_tools_editing_tool_factory (void); +GType editing_tools_redeye_tool_get_type (void) G_GNUC_CONST; +EditingToolsRedeyeTool* editing_tools_redeye_tool_factory (void); +static EditingToolsEditingTool* _editing_tools_redeye_tool_factory_editing_tools_editing_tool_factory (void); +GType editing_tools_adjust_tool_get_type (void) G_GNUC_CONST; +EditingToolsAdjustTool* editing_tools_adjust_tool_factory (void); +static EditingToolsEditingTool* _editing_tools_adjust_tool_factory_editing_tools_editing_tool_factory (void); +gboolean editing_tools_adjust_tool_enhance (EditingToolsAdjustTool* self); +GType enhance_single_command_get_type (void) G_GNUC_CONST; +EnhanceSingleCommand* enhance_single_command_new (Photo* photo); +EnhanceSingleCommand* enhance_single_command_construct (GType object_type, Photo* photo); +void editing_host_page_on_copy_adjustments (EditingHostPage* self); +gpointer pixel_transformation_bundle_ref (gpointer instance); +void pixel_transformation_bundle_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object); +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation_bundle (const GValue* value); +GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST; +void pixel_transformation_bundle_set_copied_color_adjustments (PixelTransformationBundle* adjustments); +PixelTransformationBundle* photo_get_color_adjustments (Photo* self); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +void editing_host_page_on_paste_adjustments (EditingHostPage* self); +PixelTransformationBundle* pixel_transformation_bundle_get_copied_color_adjustments (void); +GType adjust_colors_single_command_get_type (void) G_GNUC_CONST; +#define RESOURCES_PASTE_ADJUSTMENTS_LABEL _ ("Paste Color Adjustments") +#define RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP _ ("Apply copied color adjustments to the selected photos") +AdjustColorsSingleCommand* adjust_colors_single_command_new (Photo* photo, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation); +AdjustColorsSingleCommand* adjust_colors_single_command_construct (GType object_type, Photo* photo, PixelTransformationBundle* transformations, const gchar* name, const gchar* explanation); +static void editing_host_page_real_on_next_photo (SinglePhotoPage* base); +DataView* view_collection_get_next (ViewCollection* self, DataView* view); +static void editing_host_page_real_on_previous_photo (SinglePhotoPage* base); +DataView* view_collection_get_previous (ViewCollection* self, DataView* view); +gboolean editing_host_page_has_current_tool (EditingHostPage* self); +void editing_host_page_unset_view_collection (EditingHostPage* self); +#define EDITING_HOST_PAGE_EDITING_HOST_CANVAS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvasPrivate)) +enum { + EDITING_HOST_PAGE_EDITING_HOST_CANVAS_DUMMY_PROPERTY +}; +cairo_t* single_photo_page_get_cairo_context (SinglePhotoPage* self); +GdkPixbuf* single_photo_page_get_scaled_pixbuf (SinglePhotoPage* self); +EditingToolsPhotoCanvas* editing_tools_photo_canvas_construct (GType object_type, GtkWindow* container, GdkWindow* drawing_window, Photo* photo, cairo_t* default_ctx, Dimensions* surface_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position); +static void editing_host_page_editing_host_canvas_real_repaint (EditingToolsPhotoCanvas* base); +static void editing_host_page_editing_host_canvas_finalize (EditingToolsPhotoCanvas* obj); +static void editing_host_page_finalize (GObject* obj); +GType library_photo_page_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +static GType library_photo_page_library_photo_page_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define LIBRARY_PHOTO_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPagePrivate)) +enum { + LIBRARY_PHOTO_PAGE_DUMMY_PROPERTY +}; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +static void library_photo_page_on_photo_destroyed (LibraryPhotoPage* self, DataSource* source); +static void _library_photo_page_on_photo_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +static void library_photo_page_on_metadata_altered (LibraryPhotoPage* self, GeeMap* map); +static void _library_photo_page_on_metadata_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +static void library_photo_page_on_external_app_changed (LibraryPhotoPage* self); +static void _library_photo_page_on_external_app_changed_configuration_facade_external_app_changed (ConfigurationFacade* _sender, gpointer self); +static LibraryPhotoPageLibraryPhotoPageViewFilter* library_photo_page_library_photo_page_view_filter_new (void); +static LibraryPhotoPageLibraryPhotoPageViewFilter* library_photo_page_library_photo_page_view_filter_construct (GType object_type); +LibraryPhotoPage* library_photo_page_new (void); +LibraryPhotoPage* library_photo_page_construct (GType object_type); +static void library_photo_page_on_photos_altered (LibraryPhotoPage* self); +static void _library_photo_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +void view_collection_install_view_filter (ViewCollection* self, ViewFilter* f); +static void library_photo_page_on_photo_unlinking (LibraryPhotoPage* self, GeeCollection* unlinking); +static void _library_photo_page_on_photo_unlinking_source_collection_items_unlinking (SourceCollection* _sender, GeeCollection* unlinking, gpointer self); +static void library_photo_page_on_photo_relinked (LibraryPhotoPage* self, GeeCollection* relinked); +static void _library_photo_page_on_photo_relinked_source_collection_items_relinked (SourceCollection* _sender, GeeCollection* relinked, gpointer self); +gboolean library_photo_page_not_trashed_view_filter (LibraryPhotoPage* self, DataView* view); +gboolean media_source_is_trashed (MediaSource* self); +static void library_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* library_photo_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define RESOURCES_SAVE_AS_LABEL _ ("Save _As") +#define TRANSLATABLE "translatable" +static void library_photo_page_on_export (LibraryPhotoPage* self); +static void _library_photo_page_on_export_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EXPORT_MENU _ ("_Export...") +static void _vala_array_add193 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_PRINT_LABEL _ ("_Print") +static void library_photo_page_on_print (LibraryPhotoPage* self); +static void _library_photo_page_on_print_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_PRINT_MENU _ ("_Print...") +static void _vala_array_add194 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_PUBLISH "applications-internet" +static void library_photo_page_on_publish (LibraryPhotoPage* self); +static void _library_photo_page_on_publish_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_PUBLISH_MENU _ ("Pu_blish...") +#define RESOURCES_PUBLISH_TOOLTIP _ ("Publish to various websites") +static void _vala_array_add195 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_REMOVE_LABEL _ ("_Remove") +static void library_photo_page_on_remove_from_library (LibraryPhotoPage* self); +static void _library_photo_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_REMOVE_FROM_LIBRARY_MENU _ ("R_emove From Library") +static void _vala_array_add196 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_move_to_trash (LibraryPhotoPage* self); +static void _library_photo_page_on_move_to_trash_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_MOVE_TO_TRASH_MENU _ ("_Move to Trash") +static void _vala_array_add197 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_view_menu (LibraryPhotoPage* self); +static void _library_photo_page_on_view_menu_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add198 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add199 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _single_photo_page_on_previous_photo_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add200 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _single_photo_page_on_next_photo_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add201 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_rotate_clockwise_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ROTATE_CW_MENU _ ("Rotate _Right") +static void _vala_array_add202 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_rotate_counterclockwise_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ROTATE_CCW_MENU _ ("Rotate _Left") +static void _vala_array_add203 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_HFLIP "object-flip-horizontal" +static void _editing_host_page_on_flip_horizontally_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_HFLIP_MENU _ ("Flip Hori_zontally") +static void _vala_array_add204 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_VFLIP "object-flip-vertical" +static void _editing_host_page_on_flip_vertically_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_VFLIP_MENU _ ("Flip Verti_cally") +static void _vala_array_add205 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_enhance_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ENHANCE_MENU _ ("_Enhance") +static void _vala_array_add206 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_copy_adjustments_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_COPY_ADJUSTMENTS_MENU _ ("_Copy Color Adjustments") +#define RESOURCES_COPY_ADJUSTMENTS_TOOLTIP _ ("Copy the color adjustments applied to the photo") +static void _vala_array_add207 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_paste_adjustments_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_PASTE_ADJUSTMENTS_MENU _ ("_Paste Color Adjustments") +static void _vala_array_add208 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_toggle_crop_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_CROP_MENU _ ("_Crop") +static void _vala_array_add209 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_REFRESH_LABEL _ ("_Refresh") +static void _editing_host_page_toggle_straighten_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_STRAIGHTEN_MENU _ ("_Straighten") +static void _vala_array_add210 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_toggle_redeye_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_RED_EYE_MENU _ ("_Red-eye") +static void _vala_array_add211 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_toggle_adjust_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ADJUST_MENU _ ("_Adjust") +static void _vala_array_add212 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_REVERT_TO_SAVED_LABEL _ ("_Revert") +static void _editing_host_page_on_revert_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_REVERT_MENU _ ("Re_vert to Original") +static void _vala_array_add213 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_edit_title_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EDIT_TITLE_MENU _ ("Edit _Title...") +static void _vala_array_add214 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EDIT_COMMENT_MENU _ ("Edit _Comment...") +static void _vala_array_add215 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_adjust_date_time_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ADJUST_DATE_TIME_MENU _ ("_Adjust Date and Time...") +static void _vala_array_add216 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_EDIT_LABEL _ ("_Edit") +static void library_photo_page_on_external_edit (LibraryPhotoPage* self); +static void _library_photo_page_on_external_edit_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EXTERNAL_EDIT_MENU _ ("Open With E_xternal Editor") +static void _vala_array_add217 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_external_edit_raw (LibraryPhotoPage* self); +static void _library_photo_page_on_external_edit_raw_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_EXTERNAL_EDIT_RAW_MENU _ ("Open With RA_W Editor") +static void _vala_array_add218 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_send_to (LibraryPhotoPage* self); +static void _library_photo_page_on_send_to_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_SEND_TO_MENU _ ("Send _To...") +static void _vala_array_add219 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_on_set_background_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_SET_BACKGROUND_MENU _ ("Set as _Desktop Background") +#define RESOURCES_SET_BACKGROUND_TOOLTIP _ ("Set selected image to be the new desktop background") +static void _vala_array_add220 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_flag_unflag (LibraryPhotoPage* self); +static void _library_photo_page_on_flag_unflag_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_FLAG_MENU _ ("_Flag") +static void _vala_array_add221 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_RATING_MENU _ ("_Set Rating") +static void _vala_array_add222 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_increase_rating (LibraryPhotoPage* self); +static void _library_photo_page_on_increase_rating_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_INCREASE_RATING_MENU _ ("_Increase") +static void _vala_array_add223 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_decrease_rating (LibraryPhotoPage* self); +static void _library_photo_page_on_decrease_rating_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_DECREASE_RATING_MENU _ ("_Decrease") +static void _vala_array_add224 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_rate_rejected (LibraryPhotoPage* self); +static void _library_photo_page_on_rate_rejected_gtk_action_callback (GtkAction* action, gpointer self); +GType rating_get_type (void) G_GNUC_CONST; +const gchar* resources_rating_menu (Rating rating); +static void _vala_array_add225 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_rate_unrated (LibraryPhotoPage* self); +static void _library_photo_page_on_rate_unrated_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add226 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_rate_one (LibraryPhotoPage* self); +static void _library_photo_page_on_rate_one_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add227 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_rate_two (LibraryPhotoPage* self); +static void _library_photo_page_on_rate_two_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add228 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_rate_three (LibraryPhotoPage* self); +static void _library_photo_page_on_rate_three_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add229 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_rate_four (LibraryPhotoPage* self); +static void _library_photo_page_on_rate_four_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add230 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_rate_five (LibraryPhotoPage* self); +static void _library_photo_page_on_rate_five_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add231 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_IN_LABEL _ ("Zoom _In") +static void _editing_host_page_on_increase_size_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add232 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_OUT_LABEL _ ("Zoom _Out") +static void _editing_host_page_on_decrease_size_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add233 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_FIT_LABEL _ ("Best _Fit") +static void _editing_host_page_snap_zoom_to_min_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add234 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_100_LABEL _ ("_Normal Size") +static void _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add235 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _editing_host_page_snap_zoom_to_max_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add236 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_add_tags (LibraryPhotoPage* self); +static void _library_photo_page_on_add_tags_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ADD_TAGS_MENU _ ("Add _Tags...") +static void _vala_array_add237 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_modify_tags (LibraryPhotoPage* self); +static void _library_photo_page_on_modify_tags_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_MODIFY_TAGS_MENU _ ("Modif_y Tags...") +static void _vala_array_add238 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_photo_page_on_slideshow (LibraryPhotoPage* self); +static void _library_photo_page_on_slideshow_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add239 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add240 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_SEND_TO_CONTEXT_MENU _ ("Send T_o...") +static void _vala_array_add241 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ADD_TAGS_CONTEXT_MENU _ ("_Add Tags...") +static void _vala_array_add242 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static GtkToggleActionEntry* library_photo_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1); +GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self, int* result_length1); +static void library_photo_page_on_display_ratings (LibraryPhotoPage* self, GtkAction* action); +static void _library_photo_page_on_display_ratings_gtk_action_callback (GtkAction* action, gpointer self); +gboolean configuration_facade_get_display_photo_ratings (ConfigurationFacade* self); +#define RESOURCES_VIEW_RATINGS_MENU _ ("_Ratings") +#define RESOURCES_VIEW_RATINGS_TOOLTIP _ ("Display each photo's rating") +static void _vala_array_add243 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static InjectionGroup** library_photo_page_real_init_collect_injection_groups (Page* base, int* result_length1); +InjectionGroup** page_init_collect_injection_groups (Page* self, int* result_length1); +InjectionGroup* injection_group_new (const gchar* path); +InjectionGroup* injection_group_construct (GType object_type, const gchar* path); +void injection_group_add_menu_item (InjectionGroup* self, const gchar* name, const gchar* action); +static void _vala_array_add244 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void _vala_array_add245 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void _vala_array_add246 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void library_photo_page_real_register_radio_actions (Page* base, GtkActionGroup* action_group); +gchar* raw_developer_get_label (RawDeveloper self); +static void _vala_array_add247 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add248 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void library_photo_page_on_raw_developer_changed (LibraryPhotoPage* self, GtkAction* action, GtkAction* current); +static void _library_photo_page_on_raw_developer_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self); +void page_register_radio_actions (Page* self, GtkActionGroup* action_group); +static void library_photo_page_set_display_ratings (LibraryPhotoPage* self, gboolean display); +void configuration_facade_set_display_photo_ratings (ConfigurationFacade* self, gboolean display); +GtkAction* page_get_action (Page* self, const gchar* name); +static void library_photo_page_real_update_actions (Page* base, gint selected_count, gint count); +PhotoFileFormat photo_get_master_file_format (Photo* self); +gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self); +static void library_photo_page_update_rating_menu_item_sensitivity (LibraryPhotoPage* self); +static void library_photo_page_update_development_menu_item_sensitivity (LibraryPhotoPage* self); +gboolean photo_has_color_adjustments (Photo* self); +gboolean pixel_transformation_bundle_has_copied_color_adjustments (void); +static void library_photo_page_update_flag_action (LibraryPhotoPage* self); +gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self); +void page_set_action_visible (Page* self, const gchar* name, gboolean visible); +void library_photo_page_developer_changed (LibraryPhotoPage* self, RawDeveloper rd); +static void library_photo_page_real_developer_changed (LibraryPhotoPage* self, RawDeveloper rd); +gboolean raw_developer_is_equivalent (RawDeveloper self, RawDeveloper d); +RawDeveloper photo_get_raw_developer (Photo* self); +gboolean dialogs_confirm_warn_developer_changed (gint number); +GType multiple_data_source_command_get_type (void) G_GNUC_CONST; +GType set_raw_developer_command_get_type (void) G_GNUC_CONST; +SetRawDeveloperCommand* set_raw_developer_command_new (GeeIterable* iter, RawDeveloper developer); +SetRawDeveloperCommand* set_raw_developer_command_construct (GType object_type, GeeIterable* iter, RawDeveloper developer); +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +#define RESOURCES_UNFLAG_MENU _ ("Un_flag") +void library_photo_page_display_for_collection (LibraryPhotoPage* self, CollectionPage* return_page, Photo* photo, ViewCollection* view); +void library_photo_page_on_page_destroyed (LibraryPhotoPage* self); +static void _library_photo_page_on_page_destroyed_gtk_widget_destroy (GtkWidget* _sender, gpointer self); +CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self); +static void library_photo_page_real_switched_to (Page* base); +static void library_photo_page_update_zoom_menu_item_sensitivity (LibraryPhotoPage* self); +static GdkPixbuf* library_photo_page_real_get_bottom_left_trinket (EditingHostPage* base, gint scale); +GdkPixbuf* resources_get_rating_trinket (Rating rating, gint scale); +Rating media_source_get_rating (MediaSource* self); +static GdkPixbuf* library_photo_page_real_get_top_right_trinket (EditingHostPage* base, gint scale); +GdkPixbuf* resources_get_icon (const gchar* name, gint scale); +#define RESOURCES_ICON_FLAGGED_TRINKET "flag-trinket.png" +#define RESOURCES_DEFAULT_ICON_SCALE 24 +void app_window_go_fullscreen (AppWindow* self, Page* page); +SlideshowPage* slideshow_page_new (SourceCollection* sources, ViewCollection* controller, Photo* start); +SlideshowPage* slideshow_page_construct (GType object_type, SourceCollection* sources, ViewCollection* controller, Photo* start); +GType slideshow_page_get_type (void) G_GNUC_CONST; +static void library_photo_page_real_on_increase_size (EditingHostPage* base); +static void library_photo_page_real_on_decrease_size (EditingHostPage* base); +static gboolean library_photo_page_real_on_zoom_slider_key_press (EditingHostPage* base, GdkEventKey* event); +static void library_photo_page_return_to_collection (LibraryPhotoPage* self); +static void library_photo_page_real_update_ui (EditingHostPage* base, gboolean missing); +static void library_photo_page_real_notify_photo_backing_missing (EditingHostPage* base, Photo* photo, gboolean missing); +void media_source_mark_offline (MediaSource* self); +void media_source_mark_online (MediaSource* self); +static gboolean library_photo_page_real_key_press_event (GtkWidget* base, GdkEventKey* event); +static gboolean library_photo_page_real_on_double_click (EditingHostPage* base, GdkEventButton* event); +void fullscreen_window_close (FullscreenWindow* self); +static gboolean library_photo_page_real_on_left_released (Page* base, GdkEventButton* event); +gboolean page_on_left_released (Page* self, GdkEventButton* event); +static GtkMenu* library_photo_page_get_context_menu (LibraryPhotoPage* self); +static gboolean library_photo_page_real_on_context_buttonpress (Page* base, GdkEventButton* event); +gboolean page_popup_context_menu (Page* self, GtkMenu* context_menu, GdkEventButton* event); +static gboolean library_photo_page_real_on_context_keypress (Page* base); +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_switch_to_page (LibraryWindow* self, Page* page); +void library_window_switch_to_library_page (LibraryWindow* self); +void remove_from_app (GeeCollection* sources, const gchar* dialog_title, const gchar* progress_dialog_text); +GType event_page_get_type (void) G_GNUC_CONST; +void library_window_set_page_switching_enabled (LibraryWindow* self, gboolean should_enable); +TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources, gboolean to_trash); +TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash); +GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST; +FlagUnflagCommand* flag_unflag_command_new (GeeCollection* sources, gboolean flag); +FlagUnflagCommand* flag_unflag_command_construct (GType object_type, GeeCollection* sources, gboolean flag); +GType multiple_data_source_at_once_command_get_type (void) G_GNUC_CONST; +GType flag_unflag_command_get_type (void) G_GNUC_CONST; +static void library_photo_page_on_photo_removed (LibraryPhotoPage* self, LibraryPhoto* photo); +void data_collection_remove_marked (DataCollection* self, Marker* m); +gpointer print_manager_ref (gpointer instance); +void print_manager_unref (gpointer instance); +GParamSpec* param_spec_print_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_print_manager (GValue* value, gpointer v_object); +void value_take_print_manager (GValue* value, gpointer v_object); +gpointer value_get_print_manager (const GValue* value); +GType print_manager_get_type (void) G_GNUC_CONST; +PrintManager* print_manager_get_instance (void); +void print_manager_spool_photo (PrintManager* self, GeeCollection* to_print); +GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t); +void photo_open_with_external_editor (Photo* self, GError** error); +void open_external_editor_error_dialog (GError* err, Photo* photo); +void photo_open_with_raw_external_editor (Photo* self, GError** error); +void app_window_error_message (const gchar* message, GtkWindow* parent); +gchar* resources_launch_editor_failed (GError* err); +void desktop_integration_send_to (GeeCollection* media); +GeeList* view_collection_get_selected_sources (ViewCollection* self); +GType export_dialog_get_type (void) G_GNUC_CONST; +ExportDialog* export_dialog_new (const gchar* title); +ExportDialog* export_dialog_construct (GType object_type, const gchar* title); +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +void export_format_parameters_last (ExportFormatParameters* result); +gboolean export_dialog_execute (ExportDialog* self, gint* scale, ScaleConstraint* constraint, ExportFormatParameters* parameters); +GFile* export_ui_choose_file (const gchar* current_file_basename); +gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params); +void scaling_for_constraint (ScaleConstraint constraint, gint scale, gboolean scale_up, Scaling* result); +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params); +void publishing_ui_publishing_dialog_go (GeeCollection* to_publish); +GType set_rating_single_command_get_type (void) G_GNUC_CONST; +SetRatingSingleCommand* set_rating_single_command_new_inc_dec (DataSource* source, gboolean is_incrementing); +SetRatingSingleCommand* set_rating_single_command_construct_inc_dec (GType object_type, DataSource* source, gboolean is_incrementing); +static void library_photo_page_on_set_rating (LibraryPhotoPage* self, Rating rating); +SetRatingSingleCommand* set_rating_single_command_new (DataSource* source, Rating rating); +SetRatingSingleCommand* set_rating_single_command_construct (GType object_type, DataSource* source, Rating rating); +gboolean rating_can_increase (Rating self); +gboolean rating_can_decrease (Rating self); +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +gboolean alteration_has_subject (Alteration* self, const gchar* subject); +GType tags_dialog_get_type (void) G_GNUC_CONST; +GType add_tags_dialog_get_type (void) G_GNUC_CONST; +AddTagsDialog* add_tags_dialog_new (void); +AddTagsDialog* add_tags_dialog_construct (GType object_type); +gchar** add_tags_dialog_execute (AddTagsDialog* self, int* result_length1); +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void); +gchar** hierarchical_tag_index_get_paths_for_names_array (HierarchicalTagIndex* self, gchar** names, int names_length1, int* result_length1); +AddTagsCommand* add_tags_command_new (gchar** paths, int paths_length1, GeeCollection* sources); +AddTagsCommand* add_tags_command_construct (GType object_type, gchar** paths, int paths_length1, GeeCollection* sources); +GType add_tags_command_get_type (void) G_GNUC_CONST; +GType modify_tags_dialog_get_type (void) G_GNUC_CONST; +ModifyTagsDialog* modify_tags_dialog_new (MediaSource* source); +ModifyTagsDialog* modify_tags_dialog_construct (GType object_type, MediaSource* source); +GType tag_get_type (void) G_GNUC_CONST; +GeeArrayList* modify_tags_dialog_execute (ModifyTagsDialog* self); +ModifyTagsCommand* modify_tags_command_new (MediaSource* media, GeeCollection* new_tag_list); +ModifyTagsCommand* modify_tags_command_construct (GType object_type, MediaSource* media, GeeCollection* new_tag_list); +GType modify_tags_command_get_type (void) G_GNUC_CONST; +enum { + LIBRARY_PHOTO_PAGE_LIBRARY_PHOTO_PAGE_VIEW_FILTER_DUMMY_PROPERTY +}; +static gboolean library_photo_page_library_photo_page_view_filter_real_predicate (ViewFilter* base, DataView* view); +ViewFilter* view_filter_construct (GType object_type); +static void library_photo_page_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static GType zoom_buffer_object_state_get_type (void) { + static volatile gsize zoom_buffer_object_state_type_id__volatile = 0; + if (g_once_init_enter (&zoom_buffer_object_state_type_id__volatile)) { + static const GEnumValue values[] = {{ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED, "ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED", "source-not-loaded"}, {ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS, "ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS", "source-load-in-progress"}, {ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED, "ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED", "source-not-transformed"}, {ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY, "ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY", "transformed-ready"}, {0, NULL, NULL}}; + GType zoom_buffer_object_state_type_id; + zoom_buffer_object_state_type_id = g_enum_register_static ("ZoomBufferObjectState", values); + g_once_init_leave (&zoom_buffer_object_state_type_id__volatile, zoom_buffer_object_state_type_id); + } + return zoom_buffer_object_state_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self ? g_object_ref (self) : NULL; +#line 2545 "PhotoPage.c" +} + + +ZoomBuffer* zoom_buffer_construct (GType object_type, SinglePhotoPage* parent_page, Photo* backing_photo, GdkPixbuf* preview_image) { + ZoomBuffer * self = NULL; + SinglePhotoPage* _tmp0_ = NULL; + SinglePhotoPage* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Workers* _tmp6_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_SINGLE_PHOTO_PAGE (parent_page), NULL); +#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_PHOTO (backing_photo), NULL); +#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (preview_image), NULL); +#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = (ZoomBuffer*) g_object_new (object_type, NULL); +#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = parent_page; +#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->parent_page); +#line 86 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->parent_page = _tmp1_; +#line 87 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = preview_image; +#line 87 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 87 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->preview_image); +#line 87 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->preview_image = _tmp3_; +#line 88 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = backing_photo; +#line 88 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 88 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->backing_photo); +#line 88 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->backing_photo = _tmp5_; +#line 89 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = workers_new ((guint) 2, FALSE); +#line 89 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _workers_unref0 (self->priv->workers); +#line 89 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->workers = _tmp6_; +#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self; +#line 2598 "PhotoPage.c" +} + + +ZoomBuffer* zoom_buffer_new (SinglePhotoPage* parent_page, Photo* backing_photo, GdkPixbuf* preview_image) { +#line 84 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return zoom_buffer_construct (TYPE_ZOOM_BUFFER, parent_page, backing_photo, preview_image); +#line 2605 "PhotoPage.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 93 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self ? background_job_ref (self) : NULL; +#line 2612 "PhotoPage.c" +} + + +static void _zoom_buffer_on_iso_transformation_complete_completion_callback (BackgroundJob* job, gpointer self) { +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_buffer_on_iso_transformation_complete ((ZoomBuffer*) self, job); +#line 2619 "PhotoPage.c" +} + + +static void zoom_buffer_on_iso_source_fetch_complete (ZoomBuffer* self, BackgroundJob* job) { + ZoomBufferIsoSourceFetchJob* fetch_job = NULL; + BackgroundJob* _tmp0_ = NULL; + ZoomBufferIsoSourceFetchJob* _tmp1_ = NULL; + ZoomBufferIsoSourceFetchJob* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + ZoomBufferIsoSourceFetchJob* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + GdkPixbuf* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gboolean _tmp21_ = FALSE; + BackgroundJob* transformation_job = NULL; + GdkPixbuf* _tmp23_ = NULL; + Photo* _tmp24_ = NULL; + PixelTransformer* _tmp25_ = NULL; + PixelTransformer* _tmp26_ = NULL; + GCancellable* _tmp27_ = NULL; + GCancellable* _tmp28_ = NULL; + ZoomBufferTransformationJob* _tmp29_ = NULL; + BackgroundJob* _tmp30_ = NULL; + Workers* _tmp31_ = NULL; + BackgroundJob* _tmp32_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_ZOOM_BUFFER (self)); +#line 92 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_BACKGROUND_JOB (job)); +#line 93 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = job; +#line 93 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJob)); +#line 93 "/home/jens/Source/shotwell/src/PhotoPage.vala" + fetch_job = _tmp1_; +#line 94 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = fetch_job; +#line 94 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_->fetched; +#line 94 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_ == NULL) { +#line 95 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("PhotoPage.vala:95: ZoomBuffer: iso_source_fetch_complete( ): fetch job" \ +" has null image member"); +#line 96 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (fetch_job); +#line 96 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 2672 "PhotoPage.c" + } +#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = fetch_job; +#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_->fetched; +#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->iso_source_image); +#line 99 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->iso_source_image = _tmp6_; +#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = self->priv->iso_source_image; +#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = gdk_pixbuf_get_width (_tmp7_); +#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = self->priv->iso_source_image; +#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = gdk_pixbuf_get_height (_tmp10_); +#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((_tmp9_ * _tmp12_) > ZOOM_BUFFER_USE_REDUCED_THRESHOLD) { +#line 2698 "PhotoPage.c" + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkPixbuf* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GdkPixbuf* _tmp20_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = self->priv->iso_source_image; +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = self->priv->iso_source_image; +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = gdk_pixbuf_get_width (_tmp14_); +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = self->priv->iso_source_image; +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = gdk_pixbuf_get_height (_tmp17_); +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = gdk_pixbuf_scale_simple (_tmp13_, _tmp16_ / 2, _tmp19_ / 2, GDK_INTERP_BILINEAR); +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->reduced_source_image); +#line 101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->reduced_source_image = _tmp20_; +#line 2727 "PhotoPage.c" + } +#line 104 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->object_state = ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED; +#line 106 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = self->priv->is_interactive_redraw_in_progress; +#line 106 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp21_) { +#line 2735 "PhotoPage.c" + SinglePhotoPage* _tmp22_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = self->priv->parent_page; +#line 107 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (_tmp22_, NULL); +#line 2741 "PhotoPage.c" + } +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = self->priv->iso_source_image; +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = self->priv->backing_photo; +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = photo_get_pixel_transformer (_tmp24_); +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _tmp25_; +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = g_cancellable_new (); +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = _tmp27_; +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = zoom_buffer_transformation_job_new (self, _tmp23_, _tmp26_, _zoom_buffer_on_iso_transformation_complete_completion_callback, self, _tmp28_); +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_BACKGROUND_JOB, BackgroundJob); +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp28_); +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _pixel_transformer_unref0 (_tmp26_); +#line 109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transformation_job = _tmp30_; +#line 112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = self->priv->workers; +#line 112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = transformation_job; +#line 112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + workers_enqueue (_tmp31_, _tmp32_); +#line 92 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (transformation_job); +#line 92 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (fetch_job); +#line 2775 "PhotoPage.c" +} + + +static void zoom_buffer_on_iso_transformation_complete (ZoomBuffer* self, BackgroundJob* job) { + ZoomBufferTransformationJob* transform_job = NULL; + BackgroundJob* _tmp0_ = NULL; + ZoomBufferTransformationJob* _tmp1_ = NULL; + ZoomBufferTransformationJob* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + ZoomBufferTransformationJob* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + GdkPixbuf* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 115 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_ZOOM_BUFFER (self)); +#line 115 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_BACKGROUND_JOB (job)); +#line 116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = job; +#line 116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob)); +#line 116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transform_job = _tmp1_; +#line 117 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = transform_job; +#line 117 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_->transformed; +#line 117 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_ == NULL) { +#line 118 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("PhotoPage.vala:118: %s", "ZoomBuffer: on_iso_transformation_complete( ): completed job has null " "image"); +#line 120 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (transform_job); +#line 120 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 2816 "PhotoPage.c" + } +#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = transform_job; +#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_->transformed; +#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->iso_transformed_image); +#line 123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->iso_transformed_image = _tmp6_; +#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = self->priv->iso_transformed_image; +#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = gdk_pixbuf_get_width (_tmp7_); +#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = self->priv->iso_transformed_image; +#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = gdk_pixbuf_get_height (_tmp10_); +#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((_tmp9_ * _tmp12_) > ZOOM_BUFFER_USE_REDUCED_THRESHOLD) { +#line 2842 "PhotoPage.c" + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkPixbuf* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GdkPixbuf* _tmp20_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = self->priv->iso_transformed_image; +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = self->priv->iso_transformed_image; +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = gdk_pixbuf_get_width (_tmp14_); +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = self->priv->iso_transformed_image; +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = gdk_pixbuf_get_height (_tmp17_); +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = gdk_pixbuf_scale_simple (_tmp13_, _tmp16_ / 2, _tmp19_ / 2, GDK_INTERP_BILINEAR); +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->reduced_transformed_image); +#line 125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->reduced_transformed_image = _tmp20_; +#line 2871 "PhotoPage.c" + } +#line 129 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->object_state = ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY; +#line 115 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (transform_job); +#line 2877 "PhotoPage.c" +} + + +static void zoom_buffer_on_demand_transform_complete (ZoomBuffer* self, BackgroundJob* job) { + ZoomBufferTransformationJob* transform_job = NULL; + BackgroundJob* _tmp0_ = NULL; + ZoomBufferTransformationJob* _tmp1_ = NULL; + ZoomBufferTransformationJob* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + ZoomBufferTransformationJob* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + SinglePhotoPage* _tmp7_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_ZOOM_BUFFER (self)); +#line 132 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_BACKGROUND_JOB (job)); +#line 133 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = job; +#line 133 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob)); +#line 133 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transform_job = _tmp1_; +#line 134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = transform_job; +#line 134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_->transformed; +#line 134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_ == NULL) { +#line 135 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("PhotoPage.vala:135: %s", "ZoomBuffer: on_demand_transform_complete( ): completed job has null " "image"); +#line 137 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (transform_job); +#line 137 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 2913 "PhotoPage.c" + } +#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = transform_job; +#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_->transformed; +#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->demand_transform_cached_pixbuf); +#line 140 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_cached_pixbuf = _tmp6_; +#line 141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (self->priv->demand_transform_job); +#line 141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_job = NULL; +#line 143 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = self->priv->parent_page; +#line 143 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (_tmp7_, NULL); +#line 132 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (transform_job); +#line 2935 "PhotoPage.c" +} + + +static GdkPixbuf* zoom_buffer_get_view_projection_pixbuf (ZoomBuffer* self, ZoomState* zoom_state, GdkPixbuf* iso_pixbuf, GdkPixbuf* reduced_pixbuf) { + GdkPixbuf* result = NULL; + GdkRectangle view_rect = {0}; + GdkRectangle _tmp0_ = {0}; + GdkRectangle view_rect_proj = {0}; + GdkPixbuf* _tmp1_ = NULL; + GdkRectangle _tmp2_ = {0}; + GdkPixbuf* sample_source_pixbuf = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GdkPixbuf* _tmp6_ = NULL; + GdkRectangle _tmp14_ = {0}; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GdkRectangle _tmp20_ = {0}; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + GdkRectangle _tmp23_ = {0}; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + GdkPixbuf* proj_subpixbuf = NULL; + GdkPixbuf* _tmp26_ = NULL; + GdkRectangle _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + GdkRectangle _tmp31_ = {0}; + gint _tmp32_ = 0; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + GdkPixbuf* _tmp35_ = NULL; + GdkPixbuf* zoomed = NULL; + GdkRectangle _tmp36_ = {0}; + gint _tmp37_ = 0; + GdkRectangle _tmp38_ = {0}; + gint _tmp39_ = 0; + GdkPixbuf* _tmp40_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL); +#line 149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (zoom_state != NULL, NULL); +#line 149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (iso_pixbuf), NULL); +#line 149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail ((reduced_pixbuf == NULL) || GDK_IS_PIXBUF (reduced_pixbuf), NULL); +#line 151 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewing_rectangle_wrt_content (zoom_state, &_tmp0_); +#line 151 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect = _tmp0_; +#line 152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = iso_pixbuf; +#line 152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewing_rectangle_projection (zoom_state, _tmp1_, &_tmp2_); +#line 152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj = _tmp2_; +#line 154 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = iso_pixbuf; +#line 154 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 154 "/home/jens/Source/shotwell/src/PhotoPage.vala" + sample_source_pixbuf = _tmp4_; +#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = reduced_pixbuf; +#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_ != NULL) { +#line 3008 "PhotoPage.c" + gdouble _tmp7_ = 0.0; +#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = zoom_state_get_zoom_factor (zoom_state); +#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp7_ < 0.5; +#line 3014 "PhotoPage.c" + } else { +#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = FALSE; +#line 3018 "PhotoPage.c" + } +#line 156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_) { +#line 3022 "PhotoPage.c" + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = reduced_pixbuf; +#line 157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (sample_source_pixbuf); +#line 157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + sample_source_pixbuf = _tmp9_; +#line 158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = view_rect_proj.x; +#line 158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj.x = _tmp10_ / 2; +#line 159 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = view_rect_proj.y; +#line 159 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj.y = _tmp11_ / 2; +#line 160 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = view_rect_proj.width; +#line 160 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj.width = _tmp12_ / 2; +#line 161 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = view_rect_proj.height; +#line 161 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj.height = _tmp13_ / 2; +#line 3053 "PhotoPage.c" + } +#line 167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = view_rect_proj; +#line 167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp14_.width; +#line 167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = CLAMP (_tmp15_, 1, G_MAXINT); +#line 167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj.width = _tmp16_; +#line 168 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = view_rect_proj; +#line 168 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _tmp17_.height; +#line 168 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = CLAMP (_tmp18_, 1, G_MAXINT); +#line 168 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj.height = _tmp19_; +#line 170 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = view_rect; +#line 170 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = _tmp20_.width; +#line 170 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = CLAMP (_tmp21_, 1, G_MAXINT); +#line 170 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect.width = _tmp22_; +#line 171 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = view_rect; +#line 171 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_.height; +#line 171 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = CLAMP (_tmp24_, 1, G_MAXINT); +#line 171 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect.height = _tmp25_; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = sample_source_pixbuf; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = view_rect_proj; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = _tmp27_.x; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = view_rect_proj; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = _tmp29_.y; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = view_rect_proj; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = _tmp31_.width; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = view_rect_proj; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = _tmp33_.height; +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = gdk_pixbuf_new_subpixbuf (_tmp26_, _tmp28_, _tmp30_, _tmp32_, _tmp34_); +#line 173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + proj_subpixbuf = _tmp35_; +#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = view_rect; +#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = _tmp36_.width; +#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = view_rect; +#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = _tmp38_.height; +#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = gdk_pixbuf_scale_simple (proj_subpixbuf, _tmp37_, _tmp39_, GDK_INTERP_BILINEAR); +#line 176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoomed = _tmp40_; +#line 179 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (zoomed != NULL, "zoomed != null"); +#line 181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = zoomed; +#line 181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (proj_subpixbuf); +#line 181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (sample_source_pixbuf); +#line 181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3131 "PhotoPage.c" +} + + +static void _zoom_buffer_on_demand_transform_complete_completion_callback (BackgroundJob* job, gpointer self) { +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_buffer_on_demand_transform_complete ((ZoomBuffer*) self, job); +#line 3138 "PhotoPage.c" +} + + +static GdkPixbuf* zoom_buffer_get_zoomed_image_source_not_transformed (ZoomBuffer* self, ZoomState* zoom_state) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + ZoomBufferTransformationJob* _tmp97_ = NULL; + ZoomBufferTransformationJob* _tmp119_ = NULL; + ZoomState _tmp136_ = {0}; + GdkPixbuf* _tmp137_ = NULL; +#line 184 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL); +#line 184 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (zoom_state != NULL, NULL); +#line 185 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->demand_transform_cached_pixbuf; +#line 185 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 3157 "PhotoPage.c" + ZoomState _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; +#line 186 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->demand_transform_zoom_state; +#line 186 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = zoom_state_equals (zoom_state, &_tmp1_); +#line 186 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 3166 "PhotoPage.c" + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->demand_transform_cached_pixbuf; +#line 190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp4_; +#line 190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3177 "PhotoPage.c" + } else { + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; +#line 191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = zoom_state_get_zoom_factor (zoom_state); +#line 191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = zoom_state_get_zoom_factor (&self->priv->demand_transform_zoom_state); +#line 191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_ == _tmp6_) { +#line 3187 "PhotoPage.c" + GdkRectangle curr_rect = {0}; + GdkRectangle _tmp7_ = {0}; + GdkRectangle pre_rect = {0}; + GdkRectangle _tmp8_ = {0}; + GdkRectangle transfer_src_rect = {0}; + GdkRectangle transfer_dest_rect = {0}; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkRectangle _tmp13_ = {0}; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; + GdkRectangle _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkRectangle _tmp20_ = {0}; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint transfer_src_right = 0; + GdkRectangle _tmp23_ = {0}; + gint _tmp24_ = 0; + GdkRectangle _tmp25_ = {0}; + gint _tmp26_ = 0; + GdkRectangle _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + gint transfer_src_bottom = 0; + GdkRectangle _tmp35_ = {0}; + gint _tmp36_ = 0; + GdkRectangle _tmp37_ = {0}; + gint _tmp38_ = 0; + GdkRectangle _tmp39_ = {0}; + gint _tmp40_ = 0; + GdkRectangle _tmp41_ = {0}; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + GdkRectangle _tmp45_ = {0}; + gint _tmp46_ = 0; + GdkRectangle _tmp47_ = {0}; + gint _tmp48_ = 0; + GdkRectangle _tmp49_ = {0}; + gint _tmp50_ = 0; + GdkRectangle _tmp51_ = {0}; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + GdkRectangle _tmp54_ = {0}; + gint _tmp55_ = 0; + GdkRectangle _tmp56_ = {0}; + gint _tmp57_ = 0; + GdkRectangle _tmp58_ = {0}; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + gint transfer_dest_right = 0; + GdkRectangle _tmp61_ = {0}; + gint _tmp62_ = 0; + GdkRectangle _tmp63_ = {0}; + gint _tmp64_ = 0; + GdkRectangle _tmp65_ = {0}; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + GdkRectangle _tmp69_ = {0}; + gint _tmp70_ = 0; + gint transfer_dest_bottom = 0; + GdkRectangle _tmp71_ = {0}; + gint _tmp72_ = 0; + GdkRectangle _tmp73_ = {0}; + gint _tmp74_ = 0; + GdkRectangle _tmp75_ = {0}; + gint _tmp76_ = 0; + gint _tmp77_ = 0; + gint _tmp78_ = 0; + GdkRectangle _tmp79_ = {0}; + gint _tmp80_ = 0; + GdkPixbuf* composited_result = NULL; + ZoomState _tmp81_ = {0}; + GdkPixbuf* _tmp82_ = NULL; + GdkPixbuf* _tmp83_ = NULL; + GdkRectangle _tmp84_ = {0}; + gint _tmp85_ = 0; + GdkRectangle _tmp86_ = {0}; + gint _tmp87_ = 0; + GdkRectangle _tmp88_ = {0}; + gint _tmp89_ = 0; + GdkRectangle _tmp90_ = {0}; + gint _tmp91_ = 0; + GdkPixbuf* _tmp92_ = NULL; + GdkRectangle _tmp93_ = {0}; + gint _tmp94_ = 0; + GdkRectangle _tmp95_ = {0}; + gint _tmp96_ = 0; +#line 202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewing_rectangle_wrt_content (zoom_state, &_tmp7_); +#line 202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + curr_rect = _tmp7_; +#line 203 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewing_rectangle_wrt_content (&self->priv->demand_transform_zoom_state, &_tmp8_); +#line 203 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pre_rect = _tmp8_; +#line 205 "/home/jens/Source/shotwell/src/PhotoPage.vala" + memset (&transfer_src_rect, 0, sizeof (GdkRectangle)); +#line 206 "/home/jens/Source/shotwell/src/PhotoPage.vala" + memset (&transfer_dest_rect, 0, sizeof (GdkRectangle)); +#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = curr_rect; +#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_.x; +#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = pre_rect; +#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_.x; +#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = pre_rect; +#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_.width; +#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = CLAMP (_tmp10_ - _tmp12_, 0, _tmp14_); +#line 208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_src_rect.x = _tmp15_; +#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = curr_rect; +#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp16_.y; +#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = pre_rect; +#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_.y; +#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = pre_rect; +#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = _tmp20_.height; +#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = CLAMP (_tmp17_ - _tmp19_, 0, _tmp21_); +#line 209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_src_rect.y = _tmp22_; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = curr_rect; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_.x; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = curr_rect; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _tmp25_.width; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = pre_rect; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = _tmp27_.width; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = pre_rect; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = _tmp29_.width; +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = CLAMP ((_tmp24_ + _tmp26_) - _tmp28_, 0, _tmp30_); +#line 210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_src_right = _tmp31_; +#line 212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = transfer_src_right; +#line 212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = transfer_src_rect; +#line 212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = _tmp33_.x; +#line 212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_src_rect.width = _tmp32_ - _tmp34_; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = curr_rect; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = _tmp35_.y; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = curr_rect; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = _tmp37_.height; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = pre_rect; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = _tmp39_.width; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = pre_rect; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = _tmp41_.height; +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = CLAMP ((_tmp36_ + _tmp38_) - _tmp40_, 0, _tmp42_); +#line 213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_src_bottom = _tmp43_; +#line 215 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = transfer_src_bottom; +#line 215 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = transfer_src_rect; +#line 215 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = _tmp45_.y; +#line 215 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_src_rect.height = _tmp44_ - _tmp46_; +#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = pre_rect; +#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48_ = _tmp47_.x; +#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp49_ = curr_rect; +#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_ = _tmp49_.x; +#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51_ = curr_rect; +#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp52_ = _tmp51_.width; +#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_ = CLAMP (_tmp48_ - _tmp50_, 0, _tmp52_); +#line 217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_dest_rect.x = _tmp53_; +#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp54_ = pre_rect; +#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp55_ = _tmp54_.y; +#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_ = curr_rect; +#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp57_ = _tmp56_.y; +#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp58_ = curr_rect; +#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_ = _tmp58_.height; +#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp60_ = CLAMP (_tmp55_ - _tmp57_, 0, _tmp59_); +#line 218 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_dest_rect.y = _tmp60_; +#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp61_ = transfer_dest_rect; +#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_ = _tmp61_.x; +#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp63_ = transfer_src_rect; +#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp64_ = _tmp63_.width; +#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_ = curr_rect; +#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp66_ = _tmp65_.width; +#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp67_ = CLAMP (_tmp62_ + _tmp64_, 0, _tmp66_); +#line 219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_dest_right = _tmp67_; +#line 221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_ = transfer_dest_right; +#line 221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp69_ = transfer_dest_rect; +#line 221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp70_ = _tmp69_.x; +#line 221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_dest_rect.width = _tmp68_ - _tmp70_; +#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_ = transfer_dest_rect; +#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp72_ = _tmp71_.y; +#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp73_ = transfer_src_rect; +#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_ = _tmp73_.height; +#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp75_ = curr_rect; +#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp76_ = _tmp75_.height; +#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_ = CLAMP (_tmp72_ + _tmp74_, 0, _tmp76_); +#line 222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_dest_bottom = _tmp77_; +#line 224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp78_ = transfer_dest_bottom; +#line 224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp79_ = transfer_dest_rect; +#line 224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_ = _tmp79_.y; +#line 224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + transfer_dest_rect.height = _tmp78_ - _tmp80_; +#line 226 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp81_ = *zoom_state; +#line 226 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp82_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp81_); +#line 226 "/home/jens/Source/shotwell/src/PhotoPage.vala" + composited_result = _tmp82_; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_ = self->priv->demand_transform_cached_pixbuf; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp84_ = transfer_src_rect; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp85_ = _tmp84_.x; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_ = transfer_src_rect; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp87_ = _tmp86_.y; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp88_ = transfer_dest_rect; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_ = _tmp88_.width; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp90_ = transfer_dest_rect; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp91_ = _tmp90_.height; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_ = composited_result; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp93_ = transfer_dest_rect; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp94_ = _tmp93_.x; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_ = transfer_dest_rect; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp96_ = _tmp95_.y; +#line 227 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gdk_pixbuf_copy_area (_tmp83_, _tmp85_, _tmp87_, _tmp89_, _tmp91_, _tmp92_, _tmp94_, _tmp96_); +#line 231 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = composited_result; +#line 231 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3507 "PhotoPage.c" + } + } + } +#line 242 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp97_ = self->priv->demand_transform_job; +#line 242 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp97_ != NULL) { +#line 3515 "PhotoPage.c" + ZoomState _tmp98_ = {0}; + gboolean _tmp99_ = FALSE; +#line 243 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_ = self->priv->demand_transform_zoom_state; +#line 243 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp99_ = zoom_state_equals (zoom_state, &_tmp98_); +#line 243 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp99_) { +#line 3524 "PhotoPage.c" + ZoomState _tmp100_ = {0}; + GdkPixbuf* _tmp101_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp100_ = *zoom_state; +#line 244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp100_); +#line 244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp101_; +#line 244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3535 "PhotoPage.c" + } else { + ZoomBufferTransformationJob* _tmp102_ = NULL; + GdkPixbuf* zoomed = NULL; + ZoomState _tmp103_ = {0}; + GdkPixbuf* _tmp104_ = NULL; + GdkPixbuf* _tmp105_ = NULL; + GdkPixbuf* _tmp106_ = NULL; + GdkPixbuf* _tmp107_ = NULL; + Photo* _tmp108_ = NULL; + PixelTransformer* _tmp109_ = NULL; + PixelTransformer* _tmp110_ = NULL; + GCancellable* _tmp111_ = NULL; + GCancellable* _tmp112_ = NULL; + ZoomBufferTransformationJob* _tmp113_ = NULL; + ZoomState _tmp114_ = {0}; + Workers* _tmp115_ = NULL; + ZoomBufferTransformationJob* _tmp116_ = NULL; + ZoomState _tmp117_ = {0}; + GdkPixbuf* _tmp118_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp102_ = self->priv->demand_transform_job; +#line 246 "/home/jens/Source/shotwell/src/PhotoPage.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp102_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (self->priv->demand_transform_job); +#line 247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_job = NULL; +#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp103_ = *zoom_state; +#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_ = self->priv->iso_source_image; +#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp105_ = self->priv->reduced_source_image; +#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp106_ = zoom_buffer_get_view_projection_pixbuf (self, &_tmp103_, _tmp104_, _tmp105_); +#line 249 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoomed = _tmp106_; +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp107_ = zoomed; +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp108_ = self->priv->backing_photo; +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp109_ = photo_get_pixel_transformer (_tmp108_); +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp110_ = _tmp109_; +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp111_ = g_cancellable_new (); +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp112_ = _tmp111_; +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp113_ = zoom_buffer_transformation_job_new (self, _tmp107_, _tmp110_, _zoom_buffer_on_demand_transform_complete_completion_callback, self, _tmp112_); +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (self->priv->demand_transform_job); +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_job = _tmp113_; +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp112_); +#line 252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _pixel_transformer_unref0 (_tmp110_); +#line 255 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp114_ = *zoom_state; +#line 255 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_zoom_state = _tmp114_; +#line 256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp115_ = self->priv->workers; +#line 256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp116_ = self->priv->demand_transform_job; +#line 256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + workers_enqueue (_tmp115_, G_TYPE_CHECK_INSTANCE_CAST (_tmp116_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp117_ = *zoom_state; +#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp118_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp117_); +#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp118_; +#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (zoomed); +#line 258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3615 "PhotoPage.c" + } + } +#line 263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp119_ = self->priv->demand_transform_job; +#line 263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp119_ == NULL) { +#line 3622 "PhotoPage.c" + GdkPixbuf* zoomed = NULL; + ZoomState _tmp120_ = {0}; + GdkPixbuf* _tmp121_ = NULL; + GdkPixbuf* _tmp122_ = NULL; + GdkPixbuf* _tmp123_ = NULL; + GdkPixbuf* _tmp124_ = NULL; + Photo* _tmp125_ = NULL; + PixelTransformer* _tmp126_ = NULL; + PixelTransformer* _tmp127_ = NULL; + GCancellable* _tmp128_ = NULL; + GCancellable* _tmp129_ = NULL; + ZoomBufferTransformationJob* _tmp130_ = NULL; + ZoomState _tmp131_ = {0}; + Workers* _tmp132_ = NULL; + ZoomBufferTransformationJob* _tmp133_ = NULL; + ZoomState _tmp134_ = {0}; + GdkPixbuf* _tmp135_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp120_ = *zoom_state; +#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp121_ = self->priv->iso_source_image; +#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp122_ = self->priv->reduced_source_image; +#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp123_ = zoom_buffer_get_view_projection_pixbuf (self, &_tmp120_, _tmp121_, _tmp122_); +#line 264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoomed = _tmp123_; +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp124_ = zoomed; +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp125_ = self->priv->backing_photo; +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp126_ = photo_get_pixel_transformer (_tmp125_); +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp127_ = _tmp126_; +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp128_ = g_cancellable_new (); +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp129_ = _tmp128_; +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp130_ = zoom_buffer_transformation_job_new (self, _tmp124_, _tmp127_, _zoom_buffer_on_demand_transform_complete_completion_callback, self, _tmp129_); +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (self->priv->demand_transform_job); +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_job = _tmp130_; +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp129_); +#line 267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _pixel_transformer_unref0 (_tmp127_); +#line 271 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp131_ = *zoom_state; +#line 271 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_zoom_state = _tmp131_; +#line 273 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp132_ = self->priv->workers; +#line 273 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp133_ = self->priv->demand_transform_job; +#line 273 "/home/jens/Source/shotwell/src/PhotoPage.vala" + workers_enqueue (_tmp132_, G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp134_ = *zoom_state; +#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp135_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp134_); +#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp135_; +#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (zoomed); +#line 275 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3692 "PhotoPage.c" + } +#line 283 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("PhotoPage.vala:283: %s", "ZoomBuffer: get_zoomed_image( ): in SOURCE-NOT-TRANSFORMED but can't t" \ +"ransform " "on-screen projection on-demand; using preview image"); +#line 285 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp136_ = *zoom_state; +#line 285 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp137_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp136_); +#line 285 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp137_; +#line 285 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3704 "PhotoPage.c" +} + + +static void _zoom_buffer_on_iso_source_fetch_complete_completion_callback (BackgroundJob* job, gpointer self) { +#line 290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_buffer_on_iso_source_fetch_complete ((ZoomBuffer*) self, job); +#line 3711 "PhotoPage.c" +} + + +GdkPixbuf* zoom_buffer_get_zoom_preview_image_internal (ZoomBuffer* self, ZoomState* zoom_state) { + GdkPixbuf* result = NULL; + ZoomBufferObjectState _tmp0_ = 0; + GdkRectangle view_rect = {0}; + GdkRectangle _tmp5_ = {0}; + GdkRectangle view_rect_proj = {0}; + GdkPixbuf* _tmp6_ = NULL; + GdkRectangle _tmp7_ = {0}; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + GdkPixbuf* proj_subpixbuf = NULL; + GdkPixbuf* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkRectangle _tmp19_ = {0}; + gint _tmp20_ = 0; + GdkRectangle _tmp21_ = {0}; + gint _tmp22_ = 0; + GdkPixbuf* _tmp23_ = NULL; + GdkPixbuf* zoomed = NULL; + GdkRectangle _tmp24_ = {0}; + gint _tmp25_ = 0; + GdkRectangle _tmp26_ = {0}; + gint _tmp27_ = 0; + GdkPixbuf* _tmp28_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL); +#line 288 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (zoom_state != NULL, NULL); +#line 289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->object_state; +#line 289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ == ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED) { +#line 3754 "PhotoPage.c" + BackgroundJob* iso_source_fetch_job = NULL; + Photo* _tmp1_ = NULL; + ZoomBufferIsoSourceFetchJob* _tmp2_ = NULL; + Workers* _tmp3_ = NULL; + BackgroundJob* _tmp4_ = NULL; +#line 290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->backing_photo; +#line 290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = zoom_buffer_iso_source_fetch_job_new (self, _tmp1_, _zoom_buffer_on_iso_source_fetch_complete_completion_callback, self); +#line 290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + iso_source_fetch_job = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_BACKGROUND_JOB, BackgroundJob); +#line 292 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->workers; +#line 292 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = iso_source_fetch_job; +#line 292 "/home/jens/Source/shotwell/src/PhotoPage.vala" + workers_enqueue (_tmp3_, _tmp4_); +#line 294 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->object_state = ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS; +#line 289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (iso_source_fetch_job); +#line 3776 "PhotoPage.c" + } +#line 296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewing_rectangle_wrt_content (zoom_state, &_tmp5_); +#line 296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect = _tmp5_; +#line 297 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->preview_image; +#line 297 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewing_rectangle_projection (zoom_state, _tmp6_, &_tmp7_); +#line 297 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj = _tmp7_; +#line 300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = view_rect_proj; +#line 300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_.width; +#line 300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = CLAMP (_tmp9_, 1, G_MAXINT); +#line 300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj.width = _tmp10_; +#line 301 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = view_rect_proj; +#line 301 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_.height; +#line 301 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = CLAMP (_tmp12_, 1, G_MAXINT); +#line 301 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_rect_proj.height = _tmp13_; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = self->priv->preview_image; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = view_rect_proj; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_.x; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = view_rect_proj; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _tmp17_.y; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = view_rect_proj; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_.width; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = view_rect_proj; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp21_.height; +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = gdk_pixbuf_new_subpixbuf (_tmp14_, _tmp16_, _tmp18_, _tmp20_, _tmp22_); +#line 303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + proj_subpixbuf = _tmp23_; +#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = view_rect; +#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = _tmp24_.width; +#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = view_rect; +#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = _tmp26_.height; +#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = gdk_pixbuf_scale_simple (proj_subpixbuf, _tmp25_, _tmp27_, GDK_INTERP_BILINEAR); +#line 306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoomed = _tmp28_; +#line 309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = zoomed; +#line 309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (proj_subpixbuf); +#line 309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3844 "PhotoPage.c" +} + + +Photo* zoom_buffer_get_backing_photo (ZoomBuffer* self) { + Photo* result = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; +#line 312 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL); +#line 313 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->backing_photo; +#line 313 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 313 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp1_; +#line 313 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3862 "PhotoPage.c" +} + + +void zoom_buffer_update_preview_image (ZoomBuffer* self, GdkPixbuf* preview_image) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 316 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_ZOOM_BUFFER (self)); +#line 316 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GDK_IS_PIXBUF (preview_image)); +#line 317 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = preview_image; +#line 317 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 317 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->preview_image); +#line 317 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->preview_image = _tmp1_; +#line 3881 "PhotoPage.c" +} + + +void zoom_buffer_flush_demand_cache (ZoomBuffer* self, ZoomState* initial_zoom_state) { + ZoomState* _tmp0_ = NULL; +#line 322 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_ZOOM_BUFFER (self)); +#line 323 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->demand_transform_cached_pixbuf); +#line 323 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_cached_pixbuf = NULL; +#line 324 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = initial_zoom_state; +#line 324 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 3897 "PhotoPage.c" + ZoomState* _tmp1_ = NULL; + ZoomState _tmp2_ = {0}; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; +#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = initial_zoom_state; +#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = *_tmp1_; +#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = zoom_buffer_get_zoomed_image (self, &_tmp2_); +#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 325 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 3912 "PhotoPage.c" + } +} + + +GdkPixbuf* zoom_buffer_get_zoomed_image (ZoomBuffer* self, ZoomState* zoom_state) { + GdkPixbuf* result = NULL; + gdouble _tmp0_ = 0.0; + ZoomBufferObjectState _tmp3_ = 0; +#line 328 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL); +#line 328 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (zoom_state != NULL, NULL); +#line 329 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->is_interactive_redraw_in_progress = FALSE; +#line 333 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = zoom_state_get_interpolation_factor (zoom_state); +#line 333 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ == 0.0) { +#line 3931 "PhotoPage.c" + ZoomState _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = *zoom_state; +#line 334 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp1_); +#line 334 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp2_; +#line 334 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3942 "PhotoPage.c" + } +#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->object_state; +#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (_tmp3_) { +#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala" + case ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED: +#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala" + case ZOOM_BUFFER_OBJECT_STATE_SOURCE_LOAD_IN_PROGRESS: +#line 3952 "PhotoPage.c" + { + ZoomState _tmp4_ = {0}; + GdkPixbuf* _tmp5_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = *zoom_state; +#line 340 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp4_); +#line 340 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp5_; +#line 340 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3964 "PhotoPage.c" + } +#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala" + case ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_TRANSFORMED: +#line 3968 "PhotoPage.c" + { + ZoomState _tmp6_ = {0}; + GdkPixbuf* _tmp7_ = NULL; +#line 343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = *zoom_state; +#line 343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = zoom_buffer_get_zoomed_image_source_not_transformed (self, &_tmp6_); +#line 343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp7_; +#line 343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 3980 "PhotoPage.c" + } +#line 337 "/home/jens/Source/shotwell/src/PhotoPage.vala" + case ZOOM_BUFFER_OBJECT_STATE_TRANSFORMED_READY: +#line 3984 "PhotoPage.c" + { + ZoomState _tmp8_ = {0}; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; +#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = *zoom_state; +#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = self->priv->iso_transformed_image; +#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = self->priv->reduced_transformed_image; +#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = zoom_buffer_get_view_projection_pixbuf (self, &_tmp8_, _tmp9_, _tmp10_); +#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp11_; +#line 348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 4002 "PhotoPage.c" + } + default: + { + ZoomState _tmp12_ = {0}; + GdkPixbuf* _tmp13_ = NULL; +#line 352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("PhotoPage.vala:352: ZoomBuffer: get_zoomed_image( ): object is an inco" \ +"nsistent state"); +#line 353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = *zoom_state; +#line 353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp12_); +#line 353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp13_; +#line 353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 4018 "PhotoPage.c" + } + } +} + + +GdkPixbuf* zoom_buffer_get_zoom_preview_image (ZoomBuffer* self, ZoomState* zoom_state) { + GdkPixbuf* result = NULL; + ZoomState _tmp0_ = {0}; + GdkPixbuf* _tmp1_ = NULL; +#line 357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_ZOOM_BUFFER (self), NULL); +#line 357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (zoom_state != NULL, NULL); +#line 358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->is_interactive_redraw_in_progress = TRUE; +#line 360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = *zoom_state; +#line 360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = zoom_buffer_get_zoom_preview_image_internal (self, &_tmp0_); +#line 360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp1_; +#line 360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 4042 "PhotoPage.c" +} + + +static ZoomBufferIsoSourceFetchJob* zoom_buffer_iso_source_fetch_job_construct (GType object_type, ZoomBuffer* owner, Photo* to_fetch, CompletionCallback completion_callback, void* completion_callback_target) { + ZoomBufferIsoSourceFetchJob* self = NULL; + ZoomBuffer* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_ZOOM_BUFFER (owner), NULL); +#line 20 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_PHOTO (to_fetch), NULL); +#line 22 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = owner; +#line 22 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = completion_callback; +#line 22 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1__target = completion_callback_target; +#line 22 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = (ZoomBufferIsoSourceFetchJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, NULL, NULL, NULL, NULL); +#line 24 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = to_fetch; +#line 24 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 24 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->to_fetch); +#line 24 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->to_fetch = _tmp3_; +#line 20 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self; +#line 4075 "PhotoPage.c" +} + + +static ZoomBufferIsoSourceFetchJob* zoom_buffer_iso_source_fetch_job_new (ZoomBuffer* owner, Photo* to_fetch, CompletionCallback completion_callback, void* completion_callback_target) { +#line 20 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return zoom_buffer_iso_source_fetch_job_construct (ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, owner, to_fetch, completion_callback, completion_callback_target); +#line 4082 "PhotoPage.c" +} + + +static void zoom_buffer_iso_source_fetch_job_real_execute (BackgroundJob* base) { + ZoomBufferIsoSourceFetchJob * self; + GError * _inner_error_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJob); +#line 4091 "PhotoPage.c" + { + GdkPixbuf* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Scaling _tmp2_ = {0}; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->to_fetch; +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaling_for_original (&_tmp2_); +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = photo_get_pixbuf_with_options (_tmp1_, &_tmp2_, PHOTO_EXCEPTION_ADJUST, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp3_; +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4108 "PhotoPage.c" + goto __catch230_g_error; + } +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp0_; +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->fetched); +#line 29 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->fetched = _tmp4_; +#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp0_); +#line 4121 "PhotoPage.c" + } + goto __finally230; + __catch230_g_error: + { + GError* fetch_error = NULL; +#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala" + fetch_error = _inner_error_; +#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("PhotoPage.vala:32: IsoSourceFetchJob: execute( ): can't get pixbuf fro" \ +"m backing photo"); +#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (fetch_error); +#line 4135 "PhotoPage.c" + } + __finally230: +#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 28 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 4146 "PhotoPage.c" + } +} + + +static void zoom_buffer_iso_source_fetch_job_class_init (ZoomBufferIsoSourceFetchJobClass * klass) { +#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_buffer_iso_source_fetch_job_parent_class = g_type_class_peek_parent (klass); +#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((BackgroundJobClass *) klass)->finalize = zoom_buffer_iso_source_fetch_job_finalize; +#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_type_class_add_private (klass, sizeof (ZoomBufferIsoSourceFetchJobPrivate)); +#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((BackgroundJobClass *) klass)->execute = zoom_buffer_iso_source_fetch_job_real_execute; +#line 4160 "PhotoPage.c" +} + + +static void zoom_buffer_iso_source_fetch_job_instance_init (ZoomBufferIsoSourceFetchJob * self) { +#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv = ZOOM_BUFFER_ISO_SOURCE_FETCH_JOB_GET_PRIVATE (self); +#line 18 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->fetched = NULL; +#line 4169 "PhotoPage.c" +} + + +static void zoom_buffer_iso_source_fetch_job_finalize (BackgroundJob* obj) { + ZoomBufferIsoSourceFetchJob * self; +#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, ZOOM_BUFFER_TYPE_ISO_SOURCE_FETCH_JOB, ZoomBufferIsoSourceFetchJob); +#line 16 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->to_fetch); +#line 18 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->fetched); +#line 15 "/home/jens/Source/shotwell/src/PhotoPage.vala" + BACKGROUND_JOB_CLASS (zoom_buffer_iso_source_fetch_job_parent_class)->finalize (obj); +#line 4183 "PhotoPage.c" +} + + +static GType zoom_buffer_iso_source_fetch_job_get_type (void) { + static volatile gsize zoom_buffer_iso_source_fetch_job_type_id__volatile = 0; + if (g_once_init_enter (&zoom_buffer_iso_source_fetch_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ZoomBufferIsoSourceFetchJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) zoom_buffer_iso_source_fetch_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ZoomBufferIsoSourceFetchJob), 0, (GInstanceInitFunc) zoom_buffer_iso_source_fetch_job_instance_init, NULL }; + GType zoom_buffer_iso_source_fetch_job_type_id; + zoom_buffer_iso_source_fetch_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "ZoomBufferIsoSourceFetchJob", &g_define_type_info, 0); + g_once_init_leave (&zoom_buffer_iso_source_fetch_job_type_id__volatile, zoom_buffer_iso_source_fetch_job_type_id); + } + return zoom_buffer_iso_source_fetch_job_type_id__volatile; +} + + +static gpointer _pixel_transformer_ref0 (gpointer self) { +#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self ? pixel_transformer_ref (self) : NULL; +#line 4202 "PhotoPage.c" +} + + +static ZoomBufferTransformationJob* zoom_buffer_transformation_job_construct (GType object_type, ZoomBuffer* owner, GdkPixbuf* to_transform, PixelTransformer* transformer, CompletionCallback completion_callback, void* completion_callback_target, GCancellable* cancellable) { + ZoomBufferTransformationJob* self = NULL; + ZoomBuffer* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GCancellable* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + GCancellable* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + PixelTransformer* _tmp7_ = NULL; + PixelTransformer* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_ZOOM_BUFFER (owner), NULL); +#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (to_transform), NULL); +#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail ((transformer == NULL) || IS_PIXEL_TRANSFORMER (transformer), NULL); +#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = owner; +#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = completion_callback; +#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1__target = completion_callback_target; +#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = cancellable; +#line 51 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = (ZoomBufferTransformationJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, _tmp2_, NULL, NULL, NULL); +#line 53 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = cancellable; +#line 53 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 53 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->cancellable); +#line 53 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->cancellable = _tmp4_; +#line 54 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = to_transform; +#line 54 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 54 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->to_transform); +#line 54 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->to_transform = _tmp6_; +#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = transformer; +#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _pixel_transformer_ref0 (_tmp7_); +#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 55 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->transformer = _tmp8_; +#line 56 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = to_transform; +#line 56 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = gdk_pixbuf_copy (_tmp9_); +#line 56 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->transformed); +#line 56 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->transformed = _tmp10_; +#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self; +#line 4272 "PhotoPage.c" +} + + +static ZoomBufferTransformationJob* zoom_buffer_transformation_job_new (ZoomBuffer* owner, GdkPixbuf* to_transform, PixelTransformer* transformer, CompletionCallback completion_callback, void* completion_callback_target, GCancellable* cancellable) { +#line 49 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return zoom_buffer_transformation_job_construct (ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, owner, to_transform, transformer, completion_callback, completion_callback_target, cancellable); +#line 4279 "PhotoPage.c" +} + + +static void zoom_buffer_transformation_job_real_execute (BackgroundJob* base) { + ZoomBufferTransformationJob * self; + PixelTransformer* _tmp0_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob); +#line 60 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->transformer; +#line 60 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 4292 "PhotoPage.c" + PixelTransformer* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GCancellable* _tmp4_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->transformer; +#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->to_transform; +#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->transformed; +#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = self->priv->cancellable; +#line 61 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixel_transformer_transform_to_other_pixbuf (_tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 4307 "PhotoPage.c" + } +} + + +static void zoom_buffer_transformation_job_class_init (ZoomBufferTransformationJobClass * klass) { +#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_buffer_transformation_job_parent_class = g_type_class_peek_parent (klass); +#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((BackgroundJobClass *) klass)->finalize = zoom_buffer_transformation_job_finalize; +#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_type_class_add_private (klass, sizeof (ZoomBufferTransformationJobPrivate)); +#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((BackgroundJobClass *) klass)->execute = zoom_buffer_transformation_job_real_execute; +#line 4321 "PhotoPage.c" +} + + +static void zoom_buffer_transformation_job_instance_init (ZoomBufferTransformationJob * self) { +#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv = ZOOM_BUFFER_TRANSFORMATION_JOB_GET_PRIVATE (self); +#line 47 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->transformed = NULL; +#line 4330 "PhotoPage.c" +} + + +static void zoom_buffer_transformation_job_finalize (BackgroundJob* obj) { + ZoomBufferTransformationJob * self; +#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, ZOOM_BUFFER_TYPE_TRANSFORMATION_JOB, ZoomBufferTransformationJob); +#line 43 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->to_transform); +#line 44 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 45 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->cancellable); +#line 47 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->transformed); +#line 42 "/home/jens/Source/shotwell/src/PhotoPage.vala" + BACKGROUND_JOB_CLASS (zoom_buffer_transformation_job_parent_class)->finalize (obj); +#line 4348 "PhotoPage.c" +} + + +static GType zoom_buffer_transformation_job_get_type (void) { + static volatile gsize zoom_buffer_transformation_job_type_id__volatile = 0; + if (g_once_init_enter (&zoom_buffer_transformation_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ZoomBufferTransformationJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) zoom_buffer_transformation_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ZoomBufferTransformationJob), 0, (GInstanceInitFunc) zoom_buffer_transformation_job_instance_init, NULL }; + GType zoom_buffer_transformation_job_type_id; + zoom_buffer_transformation_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "ZoomBufferTransformationJob", &g_define_type_info, 0); + g_once_init_leave (&zoom_buffer_transformation_job_type_id__volatile, zoom_buffer_transformation_job_type_id); + } + return zoom_buffer_transformation_job_type_id__volatile; +} + + +static void zoom_buffer_class_init (ZoomBufferClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_buffer_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_type_class_add_private (klass, sizeof (ZoomBufferPrivate)); +#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala" + G_OBJECT_CLASS (klass)->finalize = zoom_buffer_finalize; +#line 4371 "PhotoPage.c" +} + + +static void zoom_buffer_instance_init (ZoomBuffer * self) { +#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv = ZOOM_BUFFER_GET_PRIVATE (self); +#line 69 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->iso_source_image = NULL; +#line 70 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->reduced_source_image = NULL; +#line 71 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->iso_transformed_image = NULL; +#line 72 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->reduced_transformed_image = NULL; +#line 73 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->preview_image = NULL; +#line 74 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->backing_photo = NULL; +#line 75 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->object_state = ZOOM_BUFFER_OBJECT_STATE_SOURCE_NOT_LOADED; +#line 76 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_cached_pixbuf = NULL; +#line 78 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->demand_transform_job = NULL; +#line 80 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->workers = NULL; +#line 82 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->is_interactive_redraw_in_progress = FALSE; +#line 4400 "PhotoPage.c" +} + + +static void zoom_buffer_finalize (GObject* obj) { + ZoomBuffer * self; +#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ZOOM_BUFFER, ZoomBuffer); +#line 69 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->iso_source_image); +#line 70 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->reduced_source_image); +#line 71 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->iso_transformed_image); +#line 72 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->reduced_transformed_image); +#line 73 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->preview_image); +#line 74 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->backing_photo); +#line 76 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->demand_transform_cached_pixbuf); +#line 78 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _background_job_unref0 (self->priv->demand_transform_job); +#line 80 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _workers_unref0 (self->priv->workers); +#line 81 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->parent_page); +#line 7 "/home/jens/Source/shotwell/src/PhotoPage.vala" + G_OBJECT_CLASS (zoom_buffer_parent_class)->finalize (obj); +#line 4430 "PhotoPage.c" +} + + +GType zoom_buffer_get_type (void) { + static volatile gsize zoom_buffer_type_id__volatile = 0; + if (g_once_init_enter (&zoom_buffer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ZoomBufferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) zoom_buffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ZoomBuffer), 0, (GInstanceInitFunc) zoom_buffer_instance_init, NULL }; + GType zoom_buffer_type_id; + zoom_buffer_type_id = g_type_register_static (G_TYPE_OBJECT, "ZoomBuffer", &g_define_type_info, 0); + g_once_init_leave (&zoom_buffer_type_id__volatile, zoom_buffer_type_id); + } + return zoom_buffer_type_id__volatile; +} + + +static void _editing_host_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 546 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_photos_altered ((EditingHostPage*) self, items); +#line 4449 "PhotoPage.c" +} + + +static void _editing_host_page_on_view_contents_ordering_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_view_contents_ordering_altered ((EditingHostPage*) self); +#line 4456 "PhotoPage.c" +} + + +static void _editing_host_page_on_view_contents_ordering_altered_data_collection_ordering_changed (DataCollection* _sender, gpointer self) { +#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_view_contents_ordering_altered ((EditingHostPage*) self); +#line 4463 "PhotoPage.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self ? data_collection_ref (self) : NULL; +#line 4470 "PhotoPage.c" +} + + +static void _editing_host_page_on_viewport_resized_gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self) { +#line 431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_viewport_resized ((EditingHostPage*) self); +#line 4477 "PhotoPage.c" +} + + +static void _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_rotate_clockwise ((EditingHostPage*) self); +#line 4484 "PhotoPage.c" +} + + +static void _editing_host_page_on_crop_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) { +#line 449 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_crop_toggled ((EditingHostPage*) self); +#line 4491 "PhotoPage.c" +} + + +static void _editing_host_page_on_straighten_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) { +#line 457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_straighten_toggled ((EditingHostPage*) self); +#line 4498 "PhotoPage.c" +} + + +static void _editing_host_page_on_redeye_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) { +#line 465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_redeye_toggled ((EditingHostPage*) self); +#line 4505 "PhotoPage.c" +} + + +static void _editing_host_page_on_adjust_toggled_gtk_toggle_tool_button_toggled (GtkToggleToolButton* _sender, gpointer self) { +#line 474 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_adjust_toggled ((EditingHostPage*) self); +#line 4512 "PhotoPage.c" +} + + +static void _editing_host_page_on_enhance_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 482 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_enhance ((EditingHostPage*) self); +#line 4519 "PhotoPage.c" +} + + +static gboolean _editing_host_page_on_zoom_out_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = editing_host_page_on_zoom_out_pressed ((EditingHostPage*) self, event); +#line 501 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 4528 "PhotoPage.c" +} + + +static void _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 509 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_zoom_slider_value_changed ((EditingHostPage*) self); +#line 4535 "PhotoPage.c" +} + + +static gboolean _editing_host_page_on_zoom_slider_drag_begin_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = editing_host_page_on_zoom_slider_drag_begin ((EditingHostPage*) self, event); +#line 510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 4544 "PhotoPage.c" +} + + +static gboolean _editing_host_page_on_zoom_slider_drag_end_gtk_widget_button_release_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = editing_host_page_on_zoom_slider_drag_end ((EditingHostPage*) self, event); +#line 511 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 4553 "PhotoPage.c" +} + + +static gboolean _editing_host_page_on_zoom_slider_key_press_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) { + gboolean result; + result = editing_host_page_on_zoom_slider_key_press ((EditingHostPage*) self, event); +#line 512 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 4562 "PhotoPage.c" +} + + +static gboolean _editing_host_page_on_zoom_in_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = editing_host_page_on_zoom_in_pressed ((EditingHostPage*) self, event); +#line 523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 4571 "PhotoPage.c" +} + + +static void _single_photo_page_on_previous_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 535 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_on_previous_photo ((SinglePhotoPage*) self); +#line 4578 "PhotoPage.c" +} + + +static void _single_photo_page_on_next_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 541 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_on_next_photo ((SinglePhotoPage*) self); +#line 4585 "PhotoPage.c" +} + + +EditingHostPage* editing_host_page_construct (GType object_type, SourceCollection* sources, const gchar* name) { + EditingHostPage * self = NULL; + const gchar* _tmp0_ = NULL; + SourceCollection* _tmp1_ = NULL; + SourceCollection* _tmp2_ = NULL; + SourceCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GtkViewport* _tmp8_ = NULL; + GtkToolbar* toolbar = NULL; + GtkToolbar* _tmp9_ = NULL; + GtkToolButton* _tmp10_ = NULL; + GtkToolButton* _tmp11_ = NULL; + GtkToolButton* _tmp12_ = NULL; + GtkToolButton* _tmp13_ = NULL; + GtkToolButton* _tmp14_ = NULL; + GtkToolButton* _tmp15_ = NULL; + GtkToolButton* _tmp16_ = NULL; + GtkToggleToolButton* _tmp17_ = NULL; + GtkToggleToolButton* _tmp18_ = NULL; + GtkToggleToolButton* _tmp19_ = NULL; + GtkToggleToolButton* _tmp20_ = NULL; + GtkToggleToolButton* _tmp21_ = NULL; + GtkToggleToolButton* _tmp22_ = NULL; + GtkToggleToolButton* _tmp23_ = NULL; + GtkToggleToolButton* _tmp24_ = NULL; + GtkToggleToolButton* _tmp25_ = NULL; + GtkToggleToolButton* _tmp26_ = NULL; + GtkToggleToolButton* _tmp27_ = NULL; + GtkToggleToolButton* _tmp28_ = NULL; + GtkToggleToolButton* _tmp29_ = NULL; + GtkToggleToolButton* _tmp30_ = NULL; + GtkToggleToolButton* _tmp31_ = NULL; + GtkToggleToolButton* _tmp32_ = NULL; + GtkToggleToolButton* _tmp33_ = NULL; + GtkToggleToolButton* _tmp34_ = NULL; + GtkToggleToolButton* _tmp35_ = NULL; + GtkToggleToolButton* _tmp36_ = NULL; + GtkToggleToolButton* _tmp37_ = NULL; + GtkToggleToolButton* _tmp38_ = NULL; + GtkToggleToolButton* _tmp39_ = NULL; + GtkToggleToolButton* _tmp40_ = NULL; + GtkToggleToolButton* _tmp41_ = NULL; + GtkToolButton* _tmp42_ = NULL; + GtkToolButton* _tmp43_ = NULL; + GtkToolButton* _tmp44_ = NULL; + GtkToolButton* _tmp45_ = NULL; + GtkToolButton* _tmp46_ = NULL; + GtkToolButton* _tmp47_ = NULL; + GtkSeparatorToolItem* separator = NULL; + GtkSeparatorToolItem* _tmp48_ = NULL; + GtkBox* zoom_group = NULL; + GtkBox* _tmp49_ = NULL; + GtkImage* zoom_out = NULL; + GdkPixbuf* _tmp50_ = NULL; + GdkPixbuf* _tmp51_ = NULL; + GtkImage* _tmp52_ = NULL; + GtkImage* _tmp53_ = NULL; + GtkEventBox* zoom_out_box = NULL; + GtkEventBox* _tmp54_ = NULL; + GtkAdjustment* _tmp55_ = NULL; + GtkAdjustment* _tmp56_ = NULL; + GtkScale* _tmp57_ = NULL; + GtkScale* _tmp58_ = NULL; + GtkScale* _tmp59_ = NULL; + GtkScale* _tmp60_ = NULL; + GtkScale* _tmp61_ = NULL; + GtkScale* _tmp62_ = NULL; + GtkScale* _tmp63_ = NULL; + GtkScale* _tmp64_ = NULL; + GtkImage* zoom_in = NULL; + GdkPixbuf* _tmp65_ = NULL; + GdkPixbuf* _tmp66_ = NULL; + GtkImage* _tmp67_ = NULL; + GtkImage* _tmp68_ = NULL; + GtkEventBox* zoom_in_box = NULL; + GtkEventBox* _tmp69_ = NULL; + GtkToolItem* group_wrapper = NULL; + GtkToolItem* _tmp70_ = NULL; + GtkToolButton* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; + GtkToolButton* _tmp73_ = NULL; + GtkToolButton* _tmp74_ = NULL; + GtkToolButton* _tmp75_ = NULL; + GtkToolButton* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + GtkToolButton* _tmp78_ = NULL; + GtkToolButton* _tmp79_ = NULL; + GtkToolButton* _tmp80_ = NULL; +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (sources), NULL); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 418 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = name; +#line 418 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = (EditingHostPage*) single_photo_page_construct (object_type, _tmp0_, FALSE); +#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = sources; +#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _data_collection_ref0 (_tmp1_); +#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (self->priv->sources); +#line 420 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->sources = _tmp2_; +#line 423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = sources; +#line 423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _editing_host_page_on_photos_altered_data_collection_items_altered, self, 0); +#line 426 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 426 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 426 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _editing_host_page_on_view_contents_ordering_altered_data_collection_contents_altered, self, 0); +#line 426 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp5_); +#line 427 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 427 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 427 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection), "ordering-changed", (GCallback) _editing_host_page_on_view_contents_ordering_altered_data_collection_ordering_changed, self, 0); +#line 427 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp7_); +#line 431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->viewport; +#line 431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), "size-allocate", (GCallback) _editing_host_page_on_viewport_resized_gtk_widget_size_allocate, self, 0); +#line 434 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 434 "/home/jens/Source/shotwell/src/PhotoPage.vala" + toolbar = _tmp9_; +#line 437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = (GtkToolButton*) gtk_tool_button_new_from_stock (""); +#line 437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp10_); +#line 437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->rotate_button); +#line 437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->rotate_button = _tmp10_; +#line 438 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = self->priv->rotate_button; +#line 438 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_icon_name (_tmp11_, RESOURCES_CLOCKWISE); +#line 439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = self->priv->rotate_button; +#line 439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_label (_tmp12_, RESOURCES_ROTATE_CW_LABEL); +#line 440 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = self->priv->rotate_button; +#line 440 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ROTATE_CW_TOOLTIP); +#line 441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = self->priv->rotate_button; +#line 441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp14_, "clicked", (GCallback) _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked, self, 0); +#line 442 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = self->priv->rotate_button; +#line 442 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = self->priv->rotate_button; +#line 443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new_from_stock (RESOURCES_CROP); +#line 446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp17_); +#line 446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->crop_button); +#line 446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->crop_button = _tmp17_; +#line 447 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = self->priv->crop_button; +#line 447 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_CROP_LABEL); +#line 448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = self->priv->crop_button; +#line 448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_CROP_TOOLTIP); +#line 449 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = self->priv->crop_button; +#line 449 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp20_, "toggled", (GCallback) _editing_host_page_on_crop_toggled_gtk_toggle_tool_button_toggled, self, 0); +#line 450 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = self->priv->crop_button; +#line 450 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = self->priv->crop_button; +#line 451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 454 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new_from_stock (RESOURCES_STRAIGHTEN); +#line 454 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp23_); +#line 454 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->straighten_button); +#line 454 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->straighten_button = _tmp23_; +#line 455 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = self->priv->straighten_button; +#line 455 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_STRAIGHTEN_LABEL); +#line 456 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = self->priv->straighten_button; +#line 456 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_STRAIGHTEN_TOOLTIP); +#line 457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = self->priv->straighten_button; +#line 457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp26_, "toggled", (GCallback) _editing_host_page_on_straighten_toggled_gtk_toggle_tool_button_toggled, self, 0); +#line 458 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = self->priv->straighten_button; +#line 458 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = self->priv->straighten_button; +#line 459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 462 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new_from_stock (RESOURCES_REDEYE); +#line 462 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp29_); +#line 462 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->redeye_button); +#line 462 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->redeye_button = _tmp29_; +#line 463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = self->priv->redeye_button; +#line 463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_RED_EYE_LABEL); +#line 464 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = self->priv->redeye_button; +#line 464 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_RED_EYE_TOOLTIP); +#line 465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = self->priv->redeye_button; +#line 465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp32_, "toggled", (GCallback) _editing_host_page_on_redeye_toggled_gtk_toggle_tool_button_toggled, self, 0); +#line 466 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = self->priv->redeye_button; +#line 466 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 467 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = self->priv->redeye_button; +#line 467 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 470 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new (); +#line 470 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp35_); +#line 470 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->adjust_button); +#line 470 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->adjust_button = _tmp35_; +#line 471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = self->priv->adjust_button; +#line 471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_icon_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_ADJUST); +#line 472 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = self->priv->adjust_button; +#line 472 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_tool_button_get_type (), GtkToolButton), RESOURCES_ADJUST_LABEL); +#line 473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = self->priv->adjust_button; +#line 473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ADJUST_TOOLTIP); +#line 474 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = self->priv->adjust_button; +#line 474 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp39_, "toggled", (GCallback) _editing_host_page_on_adjust_toggled_gtk_toggle_tool_button_toggled, self, 0); +#line 475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = self->priv->adjust_button; +#line 475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 476 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = self->priv->adjust_button; +#line 476 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 479 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = (GtkToolButton*) gtk_tool_button_new (NULL, RESOURCES_ENHANCE_LABEL); +#line 479 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp42_); +#line 479 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->enhance_button); +#line 479 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->enhance_button = _tmp42_; +#line 480 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = self->priv->enhance_button; +#line 480 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_icon_name (_tmp43_, RESOURCES_ENHANCE); +#line 481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = self->priv->enhance_button; +#line 481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ENHANCE_TOOLTIP); +#line 482 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = self->priv->enhance_button; +#line 482 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp45_, "clicked", (GCallback) _editing_host_page_on_enhance_gtk_tool_button_clicked, self, 0); +#line 483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = self->priv->enhance_button; +#line 483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 484 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = self->priv->enhance_button; +#line 484 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp48_); +#line 487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + separator = _tmp48_; +#line 488 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (separator, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_separator_tool_item_set_draw (separator, FALSE); +#line 490 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (separator, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 492 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp49_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); +#line 492 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp49_); +#line 492 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_group = _tmp49_; +#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_ = resources_load_icon (RESOURCES_ICON_ZOOM_OUT, RESOURCES_ICON_ZOOM_SCALE); +#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51_ = _tmp50_; +#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp52_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp51_); +#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp52_); +#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_ = _tmp52_; +#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp51_); +#line 494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_out = _tmp53_; +#line 496 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp54_ = (GtkEventBox*) gtk_event_box_new (); +#line 496 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp54_); +#line 496 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_out_box = _tmp54_; +#line 497 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_event_box_set_above_child (zoom_out_box, TRUE); +#line 498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_event_box_set_visible_window (zoom_out_box, FALSE); +#line 499 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_out, gtk_widget_get_type (), GtkWidget)); +#line 501 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_host_page_on_zoom_out_pressed_gtk_widget_button_press_event, self, 0); +#line 503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (zoom_out_box, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp55_ = gtk_adjustment_new (0.0, 0.0, 1.1, 0.1, 0.1, 0.1); +#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp55_); +#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_ = _tmp55_; +#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp57_ = (GtkScale*) gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, _tmp56_); +#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp57_); +#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->zoom_slider); +#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->zoom_slider = _tmp57_; +#line 506 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp56_); +#line 507 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp58_ = self->priv->zoom_slider; +#line 507 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_scale_set_draw_value (_tmp58_, FALSE); +#line 508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_ = self->priv->zoom_slider; +#line 508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, gtk_widget_get_type (), GtkWidget), 120, -1); +#line 509 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp60_ = self->priv->zoom_slider; +#line 509 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0); +#line 510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp61_ = self->priv->zoom_slider; +#line 510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_host_page_on_zoom_slider_drag_begin_gtk_widget_button_press_event, self, 0); +#line 511 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_ = self->priv->zoom_slider; +#line 511 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, gtk_widget_get_type (), GtkWidget), "button-release-event", (GCallback) _editing_host_page_on_zoom_slider_drag_end_gtk_widget_button_release_event, self, 0); +#line 512 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp63_ = self->priv->zoom_slider; +#line 512 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, gtk_widget_get_type (), GtkWidget), "key-press-event", (GCallback) _editing_host_page_on_zoom_slider_key_press_gtk_widget_key_press_event, self, 0); +#line 514 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp64_ = self->priv->zoom_slider; +#line 514 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_ = resources_load_icon (RESOURCES_ICON_ZOOM_IN, RESOURCES_ICON_ZOOM_SCALE); +#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp66_ = _tmp65_; +#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp67_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp66_); +#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp67_); +#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_ = _tmp67_; +#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp66_); +#line 516 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_in = _tmp68_; +#line 518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp69_ = (GtkEventBox*) gtk_event_box_new (); +#line 518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp69_); +#line 518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_in_box = _tmp69_; +#line 519 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_event_box_set_above_child (zoom_in_box, TRUE); +#line 520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_event_box_set_visible_window (zoom_in_box, FALSE); +#line 521 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_in, gtk_widget_get_type (), GtkWidget)); +#line 523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_host_page_on_zoom_in_pressed_gtk_widget_button_press_event, self, 0); +#line 525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_box_pack_start (zoom_group, G_TYPE_CHECK_INSTANCE_CAST (zoom_in_box, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 527 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp70_ = gtk_tool_item_new (); +#line 527 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp70_); +#line 527 "/home/jens/Source/shotwell/src/PhotoPage.vala" + group_wrapper = _tmp70_; +#line 528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (group_wrapper, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (zoom_group, gtk_widget_get_type (), GtkWidget)); +#line 530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, group_wrapper, -1); +#line 533 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_ = self->priv->prev_button; +#line 533 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp72_ = _ ("Previous photo"); +#line 533 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_tool_item_get_type (), GtkToolItem), _tmp72_); +#line 534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp73_ = self->priv->prev_button; +#line 534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_icon_name (_tmp73_, "go-previous"); +#line 535 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_ = self->priv->prev_button; +#line 535 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp74_, "clicked", (GCallback) _single_photo_page_on_previous_photo_gtk_tool_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), 0); +#line 536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp75_ = self->priv->prev_button; +#line 536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 539 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp76_ = self->priv->next_button; +#line 539 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_ = _ ("Next photo"); +#line 539 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_tool_item_get_type (), GtkToolItem), _tmp77_); +#line 540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp78_ = self->priv->next_button; +#line 540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_icon_name (_tmp78_, "go-next"); +#line 541 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp79_ = self->priv->next_button; +#line 541 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp79_, "clicked", (GCallback) _single_photo_page_on_next_photo_gtk_tool_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), 0); +#line 542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_ = self->priv->next_button; +#line 542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (group_wrapper); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (zoom_in_box); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (zoom_in); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (zoom_out_box); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (zoom_out); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (zoom_group); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (separator); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (toolbar); +#line 417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self; +#line 5086 "PhotoPage.c" +} + + +static void editing_host_page_on_zoom_slider_value_changed (EditingHostPage* self) { + ZoomState new_zoom_state = {0}; + ZoomState _tmp0_ = {0}; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + gboolean _tmp3_ = FALSE; +#line 552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 553 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_); +#line 553 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->zoom_slider; +#line 553 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 553 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init_rescale (&new_zoom_state, &_tmp0_, _tmp2_); +#line 555 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->enable_interactive_zoom_refresh; +#line 555 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_) { +#line 5110 "PhotoPage.c" + ZoomState _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; +#line 556 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = new_zoom_state; +#line 556 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_on_interactive_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp4_); +#line 558 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = zoom_state_is_default (&new_zoom_state); +#line 558 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_) { +#line 5121 "PhotoPage.c" + ZoomState _tmp6_ = {0}; +#line 559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = new_zoom_state; +#line 559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp6_); +#line 5127 "PhotoPage.c" + } + } else { + gboolean _tmp7_ = FALSE; +#line 561 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = zoom_state_is_default (&new_zoom_state); +#line 561 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp7_) { +#line 562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 5137 "PhotoPage.c" + } else { + ZoomState _tmp8_ = {0}; +#line 564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = new_zoom_state; +#line 564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_); +#line 5144 "PhotoPage.c" + } +#line 566 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 5148 "PhotoPage.c" + } +#line 569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_cursor_for_zoom_context (self); +#line 5152 "PhotoPage.c" +} + + +static gboolean editing_host_page_on_zoom_slider_drag_begin (EditingHostPage* self, GdkEventButton* event) { + gboolean result = FALSE; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 573 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->enable_interactive_zoom_refresh = TRUE; +#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_FULLSCREEN_WINDOW); +#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 575 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 5177 "PhotoPage.c" + GtkWindow* _tmp3_ = NULL; + FullscreenWindow* _tmp4_ = NULL; +#line 576 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 576 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 576 "/home/jens/Source/shotwell/src/PhotoPage.vala" + fullscreen_window_disable_toolbar_dismissal (_tmp4_); +#line 576 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 5188 "PhotoPage.c" + } +#line 578 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 578 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5194 "PhotoPage.c" +} + + +static gboolean editing_host_page_on_zoom_slider_drag_end (EditingHostPage* self, GdkEventButton* event) { + gboolean result = FALSE; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ZoomState zoom_state = {0}; + ZoomState _tmp5_ = {0}; + GtkScale* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + ZoomState _tmp8_ = {0}; +#line 581 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 581 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->enable_interactive_zoom_refresh = FALSE; +#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_FULLSCREEN_WINDOW); +#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 5224 "PhotoPage.c" + GtkWindow* _tmp3_ = NULL; + FullscreenWindow* _tmp4_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + fullscreen_window_update_toolbar_dismissal (_tmp4_); +#line 585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 5235 "PhotoPage.c" + } +#line 587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_); +#line 587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->zoom_slider; +#line 587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_range_get_type (), GtkRange)); +#line 587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init_rescale (&zoom_state, &_tmp5_, _tmp7_); +#line 588 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = zoom_state; +#line 588 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_); +#line 590 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 592 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 592 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5255 "PhotoPage.c" +} + + +static gboolean editing_host_page_on_zoom_out_pressed (EditingHostPage* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 596 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_snap_zoom_to_min (self); +#line 597 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 597 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5271 "PhotoPage.c" +} + + +static gboolean editing_host_page_on_zoom_in_pressed (EditingHostPage* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 600 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 600 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_snap_zoom_to_max (self); +#line 602 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 602 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5287 "PhotoPage.c" +} + + +static void editing_host_page_get_cursor_wrt_viewport (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result) { + GdkPoint cursor_wrt_canvas = {0}; + GdkPoint _tmp0_ = {0}; + GdkEventScroll* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + GdkEventScroll* _tmp3_ = NULL; + gdouble _tmp4_ = 0.0; + GdkRectangle viewport_wrt_canvas = {0}; + ZoomState _tmp5_ = {0}; + GdkRectangle _tmp6_ = {0}; + GdkPoint _result_ = {0}; + GdkPoint _tmp7_ = {0}; + GdkPoint _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkPoint _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkRectangle _tmp14_ = {0}; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkPoint _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkRectangle _tmp19_ = {0}; + gint _tmp20_ = 0; + GdkPoint _tmp21_ = {0}; + gint _tmp22_ = 0; + GdkRectangle _tmp23_ = {0}; + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (event != NULL); +#line 606 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_.x = 0; +#line 606 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cursor_wrt_canvas = _tmp0_; +#line 607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = event; +#line 607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_->x; +#line 607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cursor_wrt_canvas.x = (gint) _tmp2_; +#line 608 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = event; +#line 608 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_->y; +#line 608 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cursor_wrt_canvas.y = (gint) _tmp4_; +#line 610 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_); +#line 610 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewing_rectangle_wrt_screen (&_tmp5_, &_tmp6_); +#line 610 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_wrt_canvas = _tmp6_; +#line 611 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_.x = 0; +#line 611 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _result_ = _tmp7_; +#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = cursor_wrt_canvas; +#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_.x; +#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = viewport_wrt_canvas; +#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp10_.x; +#line 612 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _result_.x = _tmp9_ - _tmp11_; +#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _result_; +#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = _tmp12_.x; +#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = viewport_wrt_canvas; +#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp14_.width; +#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = CLAMP (_tmp13_, 0, _tmp15_); +#line 613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _result_.x = _tmp16_; +#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = cursor_wrt_canvas; +#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _tmp17_.y; +#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = viewport_wrt_canvas; +#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_.y; +#line 614 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _result_.y = _tmp18_ - _tmp20_; +#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = _result_; +#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp21_.y; +#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = viewport_wrt_canvas; +#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_.height; +#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = CLAMP (_tmp22_, 0, _tmp24_); +#line 615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _result_.y = _tmp25_; +#line 617 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *result = _result_; +#line 617 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 5399 "PhotoPage.c" +} + + +static void editing_host_page_get_cursor_wrt_viewport_center (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result) { + GdkPoint cursor_wrt_viewport = {0}; + GdkEventScroll* _tmp0_ = NULL; + GdkPoint _tmp1_ = {0}; + GdkRectangle viewport_wrt_canvas = {0}; + ZoomState _tmp2_ = {0}; + GdkRectangle _tmp3_ = {0}; + GdkPoint viewport_center = {0}; + GdkPoint _tmp4_ = {0}; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkPoint _tmp9_ = {0}; + GdkPoint _tmp10_ = {0}; + GdkPoint _tmp11_ = {0}; +#line 620 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 620 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (event != NULL); +#line 621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = event; +#line 621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_get_cursor_wrt_viewport (self, _tmp0_, &_tmp1_); +#line 621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cursor_wrt_viewport = _tmp1_; +#line 622 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp2_); +#line 622 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewing_rectangle_wrt_screen (&_tmp2_, &_tmp3_); +#line 622 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_wrt_canvas = _tmp3_; +#line 624 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_.x = 0; +#line 624 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center = _tmp4_; +#line 625 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = viewport_wrt_canvas; +#line 625 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_.width; +#line 625 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.x = _tmp6_ / 2; +#line 626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = viewport_wrt_canvas; +#line 626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_.height; +#line 626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.y = _tmp8_ / 2; +#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = cursor_wrt_viewport; +#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = viewport_center; +#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + subtract_points (&_tmp9_, &_tmp10_, &_tmp11_); +#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *result = _tmp11_; +#line 628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 5461 "PhotoPage.c" +} + + +static void editing_host_page_get_iso_pixel_under_cursor (EditingHostPage* self, GdkEventScroll* event, GdkPoint* result) { + GdkPoint viewport_center_iso = {0}; + ZoomState _tmp0_ = {0}; + GdkPoint _tmp1_ = {0}; + ZoomState _tmp2_ = {0}; + gdouble _tmp3_ = 0.0; + GdkPoint _tmp4_ = {0}; + GdkPoint cursor_wrt_center_iso = {0}; + GdkEventScroll* _tmp5_ = NULL; + GdkPoint _tmp6_ = {0}; + ZoomState _tmp7_ = {0}; + gdouble _tmp8_ = 0.0; + GdkPoint _tmp9_ = {0}; + GdkPoint _tmp10_ = {0}; + GdkPoint _tmp11_ = {0}; + GdkPoint _tmp12_ = {0}; +#line 631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (event != NULL); +#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_); +#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewport_center (&_tmp0_, &_tmp1_); +#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp2_); +#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = zoom_state_get_zoom_factor (&_tmp2_); +#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scale_point (&_tmp1_, 1.0 / _tmp3_, &_tmp4_); +#line 632 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center_iso = _tmp4_; +#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = event; +#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_get_cursor_wrt_viewport_center (self, _tmp5_, &_tmp6_); +#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp7_); +#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = zoom_state_get_zoom_factor (&_tmp7_); +#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scale_point (&_tmp6_, 1.0 / _tmp8_, &_tmp9_); +#line 635 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cursor_wrt_center_iso = _tmp9_; +#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = viewport_center_iso; +#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = cursor_wrt_center_iso; +#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala" + add_points (&_tmp10_, &_tmp11_, &_tmp12_); +#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *result = _tmp12_; +#line 638 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 5519 "PhotoPage.c" +} + + +static gdouble editing_host_page_snap_interpolation_factor (EditingHostPage* self, gdouble interp) { + gdouble result = 0.0; + gdouble _tmp0_ = 0.0; + gdouble _tmp2_ = 0.0; +#line 641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), 0.0); +#line 642 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = interp; +#line 642 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ < 0.03) { +#line 643 "/home/jens/Source/shotwell/src/PhotoPage.vala" + interp = 0.0; +#line 5535 "PhotoPage.c" + } else { + gdouble _tmp1_ = 0.0; +#line 644 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = interp; +#line 644 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ > 0.97) { +#line 645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + interp = 1.0; +#line 5544 "PhotoPage.c" + } + } +#line 647 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = interp; +#line 647 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp2_; +#line 647 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5553 "PhotoPage.c" +} + + +static gdouble editing_host_page_adjust_interpolation_factor (EditingHostPage* self, gdouble adjustment) { + gdouble result = 0.0; + ZoomState _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; +#line 650 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), 0.0); +#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_); +#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = zoom_state_get_interpolation_factor (&_tmp0_); +#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = adjustment; +#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_snap_interpolation_factor (self, _tmp1_ + _tmp2_); +#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp3_; +#line 651 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5577 "PhotoPage.c" +} + + +static void editing_host_page_zoom_about_event_cursor_point (EditingHostPage* self, GdkEventScroll* event, gdouble zoom_increment) { + gboolean _tmp0_ = FALSE; + GdkPoint cursor_wrt_viewport_center = {0}; + GdkEventScroll* _tmp1_ = NULL; + GdkPoint _tmp2_ = {0}; + GdkPoint iso_pixel_under_cursor = {0}; + GdkEventScroll* _tmp3_ = NULL; + GdkPoint _tmp4_ = {0}; + gdouble interp = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + GtkScale* _tmp7_ = NULL; + guint _tmp8_ = 0U; + GtkScale* _tmp9_ = NULL; + gdouble _tmp10_ = 0.0; + GtkScale* _tmp11_ = NULL; + ZoomState new_zoom_state = {0}; + ZoomState _tmp12_ = {0}; + gdouble _tmp13_ = 0.0; + gboolean _tmp14_ = FALSE; + GdkPoint new_zoomed_old_cursor = {0}; + GdkPoint _tmp15_ = {0}; + gdouble _tmp16_ = 0.0; + GdkPoint _tmp17_ = {0}; + GdkPoint desired_new_viewport_center = {0}; + GdkPoint _tmp18_ = {0}; + GdkPoint _tmp19_ = {0}; + GdkPoint _tmp20_ = {0}; + ZoomState _tmp21_ = {0}; + GdkPoint _tmp22_ = {0}; + ZoomState _tmp23_ = {0}; +#line 654 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 654 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (event != NULL); +#line 655 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->photo_missing; +#line 655 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 656 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 5622 "PhotoPage.c" + } +#line 658 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = event; +#line 658 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_get_cursor_wrt_viewport_center (self, _tmp1_, &_tmp2_); +#line 658 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cursor_wrt_viewport_center = _tmp2_; +#line 659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = event; +#line 659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_get_iso_pixel_under_cursor (self, _tmp3_, &_tmp4_); +#line 659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + iso_pixel_under_cursor = _tmp4_; +#line 661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = zoom_increment; +#line 661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_host_page_adjust_interpolation_factor (self, _tmp5_); +#line 661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + interp = _tmp6_; +#line 662 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = self->priv->zoom_slider; +#line 662 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp8_, NULL, FALSE); +#line 662 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self); +#line 663 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = self->priv->zoom_slider; +#line 663 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = interp; +#line 663 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_range_get_type (), GtkRange), _tmp10_); +#line 664 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = self->priv->zoom_slider; +#line 664 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0); +#line 666 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp12_); +#line 666 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = interp; +#line 666 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init_rescale (&new_zoom_state, &_tmp12_, _tmp13_); +#line 668 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = zoom_state_is_min (&new_zoom_state); +#line 668 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp14_) { +#line 669 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 670 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_cursor_for_zoom_context (self); +#line 671 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 672 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 5676 "PhotoPage.c" + } +#line 675 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = iso_pixel_under_cursor; +#line 675 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = zoom_state_get_zoom_factor (&new_zoom_state); +#line 675 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scale_point (&_tmp15_, _tmp16_, &_tmp17_); +#line 675 "/home/jens/Source/shotwell/src/PhotoPage.vala" + new_zoomed_old_cursor = _tmp17_; +#line 677 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = new_zoomed_old_cursor; +#line 677 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = cursor_wrt_viewport_center; +#line 677 "/home/jens/Source/shotwell/src/PhotoPage.vala" + subtract_points (&_tmp18_, &_tmp19_, &_tmp20_); +#line 677 "/home/jens/Source/shotwell/src/PhotoPage.vala" + desired_new_viewport_center = _tmp20_; +#line 680 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = new_zoom_state; +#line 680 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = desired_new_viewport_center; +#line 680 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init_pan (&new_zoom_state, &_tmp21_, &_tmp22_); +#line 682 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = new_zoom_state; +#line 682 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp23_); +#line 683 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 685 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_cursor_for_zoom_context (self); +#line 5708 "PhotoPage.c" +} + + +void editing_host_page_snap_zoom_to_min (EditingHostPage* self) { + GtkScale* _tmp0_ = NULL; +#line 688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 689 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_slider; +#line 689 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), 0.0); +#line 5720 "PhotoPage.c" +} + + +void editing_host_page_snap_zoom_to_max (EditingHostPage* self) { + GtkScale* _tmp0_ = NULL; +#line 692 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 693 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_slider; +#line 693 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), 1.0); +#line 5732 "PhotoPage.c" +} + + +void editing_host_page_snap_zoom_to_isomorphic (EditingHostPage* self) { + ZoomState iso_state = {0}; + ZoomState _tmp0_ = {0}; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; +#line 696 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_); +#line 697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init_rescale_to_isomorphic (&iso_state, &_tmp0_); +#line 698 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->zoom_slider; +#line 698 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = zoom_state_get_interpolation_factor (&iso_state); +#line 698 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange), _tmp2_); +#line 5753 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_zoom_slider_key_press (EditingHostPage* self, GdkEventKey* event) { + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GQuark _tmp5_ = 0U; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp4_label0 = 0; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp4_label1 = 0; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp4_label2 = 0; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp4_label3 = 0; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp4_label4 = 0; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp4_label5 = 0; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp4_label6 = 0; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp4_label7 = 0; +#line 701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = event; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_->keyval; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_); +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (((_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("equal")))) || (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("plus"))))) || (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("KP_Add"))))) { +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 5796 "PhotoPage.c" + default: + { +#line 706 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize"); +#line 707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5805 "PhotoPage.c" + } + } + } else if (((_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("minus")))) || (_tmp5_ == ((0 != _tmp4_label4) ? _tmp4_label4 : (_tmp4_label4 = g_quark_from_static_string ("underscore"))))) || (_tmp5_ == ((0 != _tmp4_label5) ? _tmp4_label5 : (_tmp4_label5 = g_quark_from_static_string ("KP_Subtract"))))) { +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 5811 "PhotoPage.c" + default: + { +#line 712 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize"); +#line 713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5820 "PhotoPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label6) ? _tmp4_label6 : (_tmp4_label6 = g_quark_from_static_string ("KP_Divide")))) { +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 5826 "PhotoPage.c" + default: + { +#line 716 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Zoom100"); +#line 717 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 717 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5835 "PhotoPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label7) ? _tmp4_label7 : (_tmp4_label7 = g_quark_from_static_string ("KP_Multiply")))) { +#line 702 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 5841 "PhotoPage.c" + default: + { +#line 720 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ZoomFit"); +#line 721 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 721 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5850 "PhotoPage.c" + } + } + } +#line 724 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 724 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5858 "PhotoPage.c" +} + + +gboolean editing_host_page_on_zoom_slider_key_press (EditingHostPage* self, GdkEventKey* event) { +#line 701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return EDITING_HOST_PAGE_GET_CLASS (self)->on_zoom_slider_key_press (self, event); +#line 5867 "PhotoPage.c" +} + + +static void editing_host_page_real_on_increase_size (EditingHostPage* self) { + GtkScale* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; +#line 728 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_slider; +#line 728 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_adjust_interpolation_factor (self, EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE); +#line 728 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), _tmp1_); +#line 5880 "PhotoPage.c" +} + + +void editing_host_page_on_increase_size (EditingHostPage* self) { +#line 727 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 727 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_GET_CLASS (self)->on_increase_size (self); +#line 5889 "PhotoPage.c" +} + + +static void editing_host_page_real_on_decrease_size (EditingHostPage* self) { + GtkScale* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; +#line 732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_slider; +#line 732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_adjust_interpolation_factor (self, -EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE); +#line 732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), _tmp1_); +#line 5902 "PhotoPage.c" +} + + +void editing_host_page_on_decrease_size (EditingHostPage* self) { +#line 731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_GET_CLASS (self)->on_decrease_size (self); +#line 5911 "PhotoPage.c" +} + + +static void editing_host_page_real_save_zoom_state (SinglePhotoPage* base) { + EditingHostPage * self; + GtkScale* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; +#line 735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 736 "/home/jens/Source/shotwell/src/PhotoPage.vala" + SINGLE_PHOTO_PAGE_CLASS (editing_host_page_parent_class)->save_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 737 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_slider; +#line 737 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange)); +#line 737 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->saved_slider_val = _tmp1_; +#line 5929 "PhotoPage.c" +} + + +static ZoomBuffer* editing_host_page_real_get_zoom_buffer (SinglePhotoPage* base) { + EditingHostPage * self; + ZoomBuffer* result = NULL; + ZoomBuffer* _tmp0_ = NULL; + ZoomBuffer* _tmp1_ = NULL; +#line 740 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 741 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_buffer; +#line 741 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 741 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp1_; +#line 741 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5948 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_mousewheel_up (Page* base, GdkEventScroll* event) { + EditingHostPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + ZoomState _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + GdkEventScroll* _tmp5_ = NULL; +#line 744 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 744 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_); +#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = zoom_state_is_max (&_tmp1_); +#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 5971 "PhotoPage.c" + } else { + GtkScale* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->zoom_slider; +#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = gtk_widget_get_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = !_tmp4_; +#line 5981 "PhotoPage.c" + } +#line 745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 746 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 746 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5989 "PhotoPage.c" + } +#line 748 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = event; +#line 748 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_zoom_about_event_cursor_point (self, _tmp5_, EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE); +#line 749 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 749 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 5999 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_mousewheel_down (Page* base, GdkEventScroll* event) { + EditingHostPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + ZoomState _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + GdkEventScroll* _tmp5_ = NULL; +#line 752 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 752 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_); +#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = zoom_state_is_min (&_tmp1_); +#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 6022 "PhotoPage.c" + } else { + GtkScale* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->zoom_slider; +#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = gtk_widget_get_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = !_tmp4_; +#line 6032 "PhotoPage.c" + } +#line 753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 754 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 754 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 6040 "PhotoPage.c" + } +#line 756 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = event; +#line 756 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_zoom_about_event_cursor_point (self, _tmp5_, -EDITING_HOST_PAGE_ZOOM_INCREMENT_SIZE); +#line 757 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 757 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 6050 "PhotoPage.c" +} + + +static void editing_host_page_real_restore_zoom_state (SinglePhotoPage* base) { + EditingHostPage * self; + GtkScale* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkScale* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + GtkScale* _tmp4_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 761 "/home/jens/Source/shotwell/src/PhotoPage.vala" + SINGLE_PHOTO_PAGE_CLASS (editing_host_page_parent_class)->restore_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 763 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_slider; +#line 763 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp1_, NULL, FALSE); +#line 763 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self); +#line 764 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->zoom_slider; +#line 764 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->saved_slider_val; +#line 764 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_range_get_type (), GtkRange), _tmp3_); +#line 765 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = self->priv->zoom_slider; +#line 765 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0); +#line 6081 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_is_zoom_supported (SinglePhotoPage* base) { + EditingHostPage * self; + gboolean result = FALSE; +#line 768 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 769 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 769 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 6094 "PhotoPage.c" +} + + +static void editing_host_page_real_set_container (Page* base, GtkWindow* container) { + EditingHostPage * self; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; +#line 772 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 772 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GTK_IS_WINDOW (container)); +#line 773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = container; +#line 773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->set_container (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp0_); +#line 776 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = container; +#line 776 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_FULLSCREEN_WINDOW)) { +#line 6114 "PhotoPage.c" + DragAndDropHandler* _tmp2_ = NULL; +#line 777 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = drag_and_drop_handler_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 777 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _drag_and_drop_handler_unref0 (self->priv->dnd_handler); +#line 777 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->dnd_handler = _tmp2_; +#line 6122 "PhotoPage.c" + } +} + + +ViewCollection* editing_host_page_get_parent_view (EditingHostPage* self) { + ViewCollection* result = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; +#line 780 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL); +#line 781 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->parent_view; +#line 781 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 781 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp1_; +#line 781 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 6141 "PhotoPage.c" +} + + +gboolean editing_host_page_has_photo (EditingHostPage* self) { + gboolean result = FALSE; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 784 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (self); +#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_ != NULL; +#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp2_; +#line 785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 6164 "PhotoPage.c" +} + + +Photo* editing_host_page_get_photo (EditingHostPage* self) { + Photo* result = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + gint _tmp6_ = 0; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; +#line 788 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL); +#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 790 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_) { +#line 791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = NULL; +#line 791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 6201 "PhotoPage.c" + } +#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = view_collection_get_selected_count (_tmp5_); +#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp6_ == 1, "get_view().get_selected_count() == 1"); +#line 795 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp5_); +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = view_collection_get_selected_at (_tmp8_, 0); +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = data_view_get_source (_tmp10_); +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PHOTO, Photo); +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp10_); +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp8_); +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp12_; +#line 796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 6233 "PhotoPage.c" +} + + +static void editing_host_page_real_photo_changing (EditingHostPage* self, Photo* new_photo) { + Photo* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; + gboolean _tmp6_ = FALSE; +#line 800 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (new_photo)); +#line 803 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = new_photo; +#line 803 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = photo_get_file_format (_tmp0_); +#line 803 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ == PHOTO_FILE_FORMAT_RAW) { +#line 804 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, FALSE); +#line 6251 "PhotoPage.c" + } else { + Photo* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = new_photo; +#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = g_file_query_exists (_tmp4_, NULL); +#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, !_tmp5_); +#line 806 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 6269 "PhotoPage.c" + } +#line 808 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->photo_missing; +#line 808 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_ui (self, _tmp6_); +#line 6275 "PhotoPage.c" +} + + +void editing_host_page_photo_changing (EditingHostPage* self, Photo* new_photo) { +#line 800 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 800 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_GET_CLASS (self)->photo_changing (self, new_photo); +#line 6284 "PhotoPage.c" +} + + +static void editing_host_page_set_photo (EditingHostPage* self, Photo* photo) { + GtkScale* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkScale* _tmp2_ = NULL; + GtkScale* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + DataView* view = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + Marker* marker = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; + Marker* _tmp16_ = NULL; + Marker* _tmp17_ = NULL; + ViewCollection* _tmp18_ = NULL; + ViewCollection* _tmp19_ = NULL; + Marker* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; +#line 811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_slider; +#line 812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp1_, NULL, FALSE); +#line 812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self); +#line 813 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->zoom_slider; +#line 813 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_range_get_type (), GtkRange), 0.0); +#line 814 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->zoom_slider; +#line 814 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0); +#line 816 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = photo; +#line 816 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_photo_changing (self, _tmp4_); +#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = photo; +#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = view_collection_get_view_for_source (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource)); +#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp6_); +#line 817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view = _tmp9_; +#line 818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = view; +#line 818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp10_ != NULL, "view != null"); +#line 821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_collection_unselect_all (_tmp12_); +#line 821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp12_); +#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = view; +#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_OBJECT, DataObject)); +#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp16_; +#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp14_); +#line 822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + marker = _tmp17_; +#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = marker; +#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_collection_select_marked (_tmp19_, _tmp20_); +#line 823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp19_); +#line 827 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = self->priv->parent_view; +#line 827 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp21_ != NULL) { +#line 6389 "PhotoPage.c" + ViewCollection* _tmp22_ = NULL; + DataView* view_in_parent = NULL; + ViewCollection* _tmp23_ = NULL; + Photo* _tmp24_ = NULL; + DataView* _tmp25_ = NULL; + DataView* _tmp26_ = NULL; +#line 828 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = self->priv->parent_view; +#line 828 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_collection_unselect_all (_tmp22_); +#line 829 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = self->priv->parent_view; +#line 829 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = photo; +#line 829 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = view_collection_get_view_for_source_filtered (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_SOURCE, DataSource)); +#line 829 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_in_parent = _tmp25_; +#line 830 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = view_in_parent; +#line 830 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (NULL != _tmp26_) { +#line 6412 "PhotoPage.c" + ViewCollection* _tmp27_ = NULL; + ViewCollection* _tmp28_ = NULL; + DataView* _tmp29_ = NULL; + Marker* _tmp30_ = NULL; + Marker* _tmp31_ = NULL; +#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = self->priv->parent_view; +#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = self->priv->parent_view; +#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = view_in_parent; +#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_OBJECT, DataObject)); +#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = _tmp30_; +#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_collection_select_marked (_tmp27_, _tmp31_); +#line 831 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp31_); +#line 6432 "PhotoPage.c" + } +#line 827 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (view_in_parent); +#line 6436 "PhotoPage.c" + } +#line 811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (marker); +#line 811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (view); +#line 6442 "PhotoPage.c" +} + + +static void editing_host_page_real_realize (GtkWidget* base) { + EditingHostPage * self; +#line 835 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 836 "/home/jens/Source/shotwell/src/PhotoPage.vala" + GTK_WIDGET_CLASS (editing_host_page_parent_class)->realize (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), gtk_widget_get_type (), GtkWidget)); +#line 838 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rebuild_caches (self, "realize"); +#line 6454 "PhotoPage.c" +} + + +static void editing_host_page_real_switched_to (Page* base) { + EditingHostPage * self; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 841 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 842 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page)); +#line 844 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rebuild_caches (self, "switched_to"); +#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (self); +#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 6472 "PhotoPage.c" + gboolean _tmp2_ = FALSE; +#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->pixbuf_dirty; +#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp2_; +#line 6478 "PhotoPage.c" + } else { +#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 6482 "PhotoPage.c" + } +#line 847 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 6486 "PhotoPage.c" + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; +#line 848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (self); +#line 848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_replace_photo (self, _tmp4_); +#line 848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 6497 "PhotoPage.c" + } +} + + +static void editing_host_page_real_switching_from (Page* base) { + EditingHostPage * self; + Dimensions _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; +#line 851 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->switching_from (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page)); +#line 854 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->is_pan_in_progress = FALSE; +#line 857 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp0_, 0, 0); +#line 857 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE); +#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_has_photo (self); +#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 6525 "PhotoPage.c" + ViewCollection* _tmp3_ = NULL; +#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->parent_view; +#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp3_ != NULL; +#line 6531 "PhotoPage.c" + } else { +#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = FALSE; +#line 6535 "PhotoPage.c" + } +#line 864 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 6539 "PhotoPage.c" + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; + Marker* _tmp11_ = NULL; + Marker* _tmp12_ = NULL; +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = self->priv->parent_view; +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = self->priv->parent_view; +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->parent_view; +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (self); +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = view_collection_get_view_for_source (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource)); +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_collection_select_marked (_tmp4_, _tmp12_); +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp10_); +#line 865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 6575 "PhotoPage.c" + } +#line 868 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (self->priv->parent_view); +#line 868 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->parent_view = NULL; +#line 869 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 869 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 869 "/home/jens/Source/shotwell/src/PhotoPage.vala" + data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection)); +#line 869 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp14_); +#line 6589 "PhotoPage.c" +} + + +static void _editing_host_page_on_selection_changed_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self) { +#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_selection_changed ((EditingHostPage*) self, selected); +#line 6596 "PhotoPage.c" +} + + +static void editing_host_page_real_switching_to_fullscreen (Page* base, FullscreenWindow* fsw) { + EditingHostPage * self; + FullscreenWindow* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + Page* page = NULL; + FullscreenWindow* _tmp2_ = NULL; + Page* _tmp3_ = NULL; + Page* _tmp4_ = NULL; +#line 872 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 872 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (fsw)); +#line 873 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = fsw; +#line 873 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->switching_to_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp0_); +#line 875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp1_, 0, 0); +#line 875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp1_, FALSE); +#line 877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 878 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->is_pan_in_progress = FALSE; +#line 880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = fsw; +#line 880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PAGE_WINDOW, PageWindow)); +#line 880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page = _tmp3_; +#line 881 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page; +#line 881 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_ != NULL) { +#line 6634 "PhotoPage.c" + Page* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; +#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = page; +#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = page_get_view (_tmp5_); +#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp7_, "items-selected", (GCallback) _editing_host_page_on_selection_changed_view_collection_items_selected, self, 0); +#line 882 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp7_); +#line 6648 "PhotoPage.c" + } +#line 872 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (page); +#line 6652 "PhotoPage.c" +} + + +static void editing_host_page_real_returning_from_fullscreen (Page* base, FullscreenWindow* fsw) { + EditingHostPage * self; + FullscreenWindow* _tmp0_ = NULL; + Page* page = NULL; + FullscreenWindow* _tmp1_ = NULL; + Page* _tmp2_ = NULL; + Page* _tmp3_ = NULL; +#line 885 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 885 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_FULLSCREEN_WINDOW (fsw)); +#line 886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = fsw; +#line 886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->returning_from_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp0_); +#line 888 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 890 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = fsw; +#line 890 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE_WINDOW, PageWindow)); +#line 890 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page = _tmp2_; +#line 891 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = page; +#line 891 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_ != NULL) { +#line 6683 "PhotoPage.c" + Page* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page; +#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = page_get_view (_tmp4_); +#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("items-selected", TYPE_VIEW_COLLECTION, &_tmp7_, NULL, FALSE); +#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _editing_host_page_on_selection_changed_view_collection_items_selected, self); +#line 892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp6_); +#line 6700 "PhotoPage.c" + } +#line 885 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (page); +#line 6704 "PhotoPage.c" +} + + +static void editing_host_page_on_selection_changed (EditingHostPage* self, GeeIterable* selected) { +#line 895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GEE_IS_ITERABLE (selected)); +#line 6713 "PhotoPage.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = selected; +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _view_it = _tmp1_; +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + while (TRUE) { +#line 6726 "PhotoPage.c" + gboolean _tmp2_ = FALSE; + DataView* view = NULL; + gpointer _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gee_iterator_next (_view_it); +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp2_) { +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 6739 "PhotoPage.c" + } +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = gee_iterator_get (_view_it); +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view = (DataView*) _tmp3_; +#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = view; +#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = data_view_get_source (_tmp4_); +#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO, Photo); +#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_replace_photo (self, _tmp6_); +#line 897 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 898 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (view); +#line 898 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 6759 "PhotoPage.c" + } +#line 896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_view_it); +#line 6763 "PhotoPage.c" + } +} + + +void editing_host_page_enable_rotate (EditingHostPage* self, gboolean should_enable) { + GtkToolButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 902 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 903 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->rotate_button; +#line 903 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = should_enable; +#line 903 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), _tmp1_); +#line 6779 "PhotoPage.c" +} + + +static void _editing_host_page_on_pixbuf_fetched_pixbuf_cache_fetched (PixbufCache* _sender, Photo* photo, GdkPixbuf* pixbuf, GError* err, gpointer self) { +#line 921 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_pixbuf_fetched ((EditingHostPage*) self, photo, pixbuf, err); +#line 6786 "PhotoPage.c" +} + + +static gboolean _editing_host_page_master_cache_filter_pixbuf_cache_cache_filter (Photo* photo, gpointer self) { + gboolean result; + result = editing_host_page_master_cache_filter ((EditingHostPage*) self, photo); +#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 6795 "PhotoPage.c" +} + + +static void editing_host_page_rebuild_caches (EditingHostPage* self, const gchar* caller) { + Scaling scaling = {0}; + Scaling _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + PixbufCache* _tmp2_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PixbufCache* _tmp10_ = NULL; + SourceCollection* _tmp14_ = NULL; + Scaling _tmp15_ = {0}; + PixbufCache* _tmp16_ = NULL; + PixbufCache* _tmp17_ = NULL; + SourceCollection* _tmp18_ = NULL; + Scaling _tmp19_ = {0}; + PixbufCache* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 909 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (caller != NULL); +#line 910 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_); +#line 910 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaling = _tmp0_; +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->cache; +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_ != NULL) { +#line 6828 "PhotoPage.c" + PixbufCache* _tmp3_ = NULL; + Scaling _tmp4_ = {0}; + Scaling _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->cache; +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_get_scaling (_tmp3_, &_tmp4_); +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = scaling; +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = scaling_equals (&_tmp4_, &_tmp5_); +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp6_; +#line 6843 "PhotoPage.c" + } else { +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = FALSE; +#line 6847 "PhotoPage.c" + } +#line 913 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 914 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 6853 "PhotoPage.c" + } +#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = caller; +#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = scaling_to_string (&scaling); +#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_debug ("PhotoPage.vala:916: Rebuild pixbuf caches: %s (%s)", _tmp7_, _tmp9_); +#line 916 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp9_); +#line 920 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = self->priv->cache; +#line 920 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp10_ != NULL) { +#line 6869 "PhotoPage.c" + PixbufCache* _tmp11_ = NULL; + guint _tmp12_ = 0U; + PixbufCache* _tmp13_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = self->priv->cache; +#line 921 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("fetched", TYPE_PIXBUF_CACHE, &_tmp12_, NULL, FALSE); +#line 921 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _editing_host_page_on_pixbuf_fetched_pixbuf_cache_fetched, self); +#line 922 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = self->priv->cache; +#line 922 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_cancel_all (_tmp13_); +#line 6883 "PhotoPage.c" + } +#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = self->priv->sources; +#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = scaling; +#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = pixbuf_cache_new (_tmp14_, PIXBUF_CACHE_PHOTO_TYPE_BASELINE, &_tmp15_, EDITING_HOST_PAGE_PIXBUF_CACHE_COUNT, NULL, NULL); +#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->cache); +#line 925 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->cache = _tmp16_; +#line 926 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = self->priv->cache; +#line 926 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp17_, "fetched", (GCallback) _editing_host_page_on_pixbuf_fetched_pixbuf_cache_fetched, self, 0); +#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = self->priv->sources; +#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = scaling; +#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = pixbuf_cache_new (_tmp18_, PIXBUF_CACHE_PHOTO_TYPE_MASTER, &_tmp19_, EDITING_HOST_PAGE_ORIGINAL_PIXBUF_CACHE_COUNT, _editing_host_page_master_cache_filter_pixbuf_cache_cache_filter, self); +#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->master_cache); +#line 928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->master_cache = _tmp20_; +#line 931 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = caller; +#line 931 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_refresh_caches (self, _tmp21_); +#line 6913 "PhotoPage.c" +} + + +static void editing_host_page_refresh_caches (EditingHostPage* self, const gchar* caller) { + gboolean _tmp0_ = FALSE; +#line 935 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 935 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (caller != NULL); +#line 936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (self); +#line 936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 6927 "PhotoPage.c" + const gchar* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; +#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = caller; +#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (self); +#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_debug ("PhotoPage.vala:937: Refresh pixbuf caches (%s): prefetching neighbors " \ +"of %s", _tmp1_, _tmp5_); +#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp5_); +#line 937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = editing_host_page_get_photo (self); +#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_prefetch_neighbors (self, _tmp7_, _tmp9_); +#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp9_); +#line 939 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp7_); +#line 6967 "PhotoPage.c" + } else { + const gchar* _tmp10_ = NULL; +#line 941 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = caller; +#line 941 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_debug ("PhotoPage.vala:941: Refresh pixbuf caches (%s): (no photo)", _tmp10_); +#line 6974 "PhotoPage.c" + } +} + + +static gboolean editing_host_page_master_cache_filter (EditingHostPage* self, Photo* photo) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + Photo* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 945 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 945 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_PHOTO (photo), FALSE); +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = photo; +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = photo_has_transformations (_tmp1_); +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 6996 "PhotoPage.c" + } else { + Photo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = photo; +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = photo_has_editable (_tmp3_); +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp4_; +#line 7006 "PhotoPage.c" + } +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp0_; +#line 946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 7012 "PhotoPage.c" +} + + +static void editing_host_page_on_pixbuf_fetched (EditingHostPage* self, Photo* photo, GdkPixbuf* pixbuf, GError* err) { + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + GdkPixbuf* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail ((pixbuf == NULL) || GDK_IS_PIXBUF (pixbuf)); +#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = photo; +#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_get_photo (self); +#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource)); +#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = !_tmp3_; +#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_) { +#line 952 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 7046 "PhotoPage.c" + } +#line 954 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = pixbuf; +#line 954 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_ != NULL) { +#line 7052 "PhotoPage.c" + gboolean _tmp6_ = FALSE; + ZoomBuffer* _tmp7_ = NULL; + Dimensions max_dim = {0}; + Photo* _tmp15_ = NULL; + Dimensions _tmp16_ = {0}; + EditingToolsEditingTool* _tmp17_ = NULL; + GdkPixbuf* _tmp31_ = NULL; + Dimensions _tmp32_ = {0}; + Photo* _tmp33_ = NULL; +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = self->priv->zoom_buffer; +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp7_ != NULL) { +#line 7066 "PhotoPage.c" + ZoomBuffer* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = self->priv->zoom_buffer; +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = zoom_buffer_get_backing_photo (_tmp8_); +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = photo; +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp10_ == _tmp11_; +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp10_); +#line 7083 "PhotoPage.c" + } else { +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = FALSE; +#line 7087 "PhotoPage.c" + } +#line 956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 7091 "PhotoPage.c" + Photo* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + ZoomBuffer* _tmp14_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = photo; +#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = pixbuf; +#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = zoom_buffer_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp12_, _tmp13_); +#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->zoom_buffer); +#line 957 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->zoom_buffer = _tmp14_; +#line 7105 "PhotoPage.c" + } +#line 961 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = photo; +#line 961 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp16_); +#line 961 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_dim = _tmp16_; +#line 962 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = self->priv->current_tool; +#line 962 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp17_ != NULL) { +#line 7117 "PhotoPage.c" + { + Dimensions tool_pixbuf_dim = {0}; + GdkPixbuf* tool_pixbuf = NULL; + EditingToolsEditingTool* _tmp18_ = NULL; + Scaling _tmp19_ = {0}; + Photo* _tmp20_ = NULL; + Dimensions _tmp21_ = {0}; + GdkPixbuf* _tmp22_ = NULL; + GdkPixbuf* _tmp23_ = NULL; +#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = self->priv->current_tool; +#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp19_); +#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = photo; +#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = editing_tools_editing_tool_get_display_pixbuf (_tmp18_, &_tmp19_, _tmp20_, &_tmp21_, &_inner_error_); +#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_pixbuf_dim = _tmp21_; +#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_pixbuf = _tmp22_; +#line 965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7141 "PhotoPage.c" + goto __catch231_g_error; + } +#line 968 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = tool_pixbuf; +#line 968 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp23_ != NULL) { +#line 7148 "PhotoPage.c" + GdkPixbuf* _tmp24_ = NULL; + Dimensions _tmp25_ = {0}; +#line 969 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = tool_pixbuf; +#line 969 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp24_; +#line 970 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = tool_pixbuf_dim; +#line 970 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_dim = _tmp25_; +#line 7159 "PhotoPage.c" + } +#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (tool_pixbuf); +#line 7163 "PhotoPage.c" + } + goto __finally231; + __catch231_g_error: + { + GError* err = NULL; + Photo* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + GError* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; +#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = photo; +#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_OBJECT, DataObject)); +#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = _tmp27_; +#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = err; +#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = _tmp29_->message; +#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_warning ("PhotoPage.vala:973: Unable to fetch tool pixbuf for %s: %s", _tmp28_, _tmp30_); +#line 973 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp28_); +#line 974 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, TRUE); +#line 976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 7198 "PhotoPage.c" + } + __finally231: +#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 7209 "PhotoPage.c" + } + } +#line 980 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = pixbuf; +#line 980 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = max_dim; +#line 980 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp31_, &_tmp32_, NULL); +#line 981 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = FALSE; +#line 983 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = photo; +#line 983 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_notify_photo_backing_missing (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_PHOTO, Photo), FALSE); +#line 7224 "PhotoPage.c" + } else { + GError* _tmp34_ = NULL; +#line 984 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = err; +#line 984 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp34_ != NULL) { +#line 7231 "PhotoPage.c" + Photo* _tmp35_ = NULL; +#line 987 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, TRUE); +#line 990 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = photo; +#line 990 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_notify_photo_backing_missing (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_PHOTO, Photo), TRUE); +#line 7239 "PhotoPage.c" + } + } +} + + +static void editing_host_page_prefetch_neighbors (EditingHostPage* self, ViewCollection* controller, Photo* photo) { + PixbufCachePixbufCacheBatch* normal_batch = NULL; + PixbufCachePixbufCacheBatch* _tmp0_ = NULL; + PixbufCachePixbufCacheBatch* master_batch = NULL; + PixbufCachePixbufCacheBatch* _tmp1_ = NULL; + PixbufCachePixbufCacheBatch* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + PixbufCachePixbufCacheBatch* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + DataSource* next_source = NULL; + DataSource* prev_source = NULL; + ViewCollection* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + Photo* next = NULL; + DataSource* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + Photo* prev = NULL; + DataSource* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + PixbufCache* _tmp39_ = NULL; + PixbufCachePixbufCacheBatch* _tmp40_ = NULL; + PixbufCache* _tmp41_ = NULL; + PixbufCachePixbufCacheBatch* _tmp42_ = NULL; +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_VIEW_COLLECTION (controller)); +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 995 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = pixbuf_cache_pixbuf_cache_batch_new (); +#line 995 "/home/jens/Source/shotwell/src/PhotoPage.vala" + normal_batch = _tmp0_; +#line 996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = pixbuf_cache_pixbuf_cache_batch_new (); +#line 996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + master_batch = _tmp1_; +#line 998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = normal_batch; +#line 998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = photo; +#line 998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) BACKGROUND_JOB_JOB_PRIORITY_HIGHEST), _tmp3_); +#line 999 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = master_batch; +#line 999 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = photo; +#line 999 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) BACKGROUND_JOB_JOB_PRIORITY_LOW), _tmp5_); +#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = controller; +#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = photo; +#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = view_collection_get_immediate_neighbors (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource), &_tmp8_, &_tmp9_, PHOTO_TYPENAME); +#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next_source); +#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + next_source = _tmp8_; +#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (prev_source); +#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + prev_source = _tmp9_; +#line 1002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp10_) { +#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (prev_source); +#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next_source); +#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (master_batch); +#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (normal_batch); +#line 1003 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 7323 "PhotoPage.c" + } +#line 1005 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = next_source; +#line 1005 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PHOTO, Photo)); +#line 1005 "/home/jens/Source/shotwell/src/PhotoPage.vala" + next = _tmp12_; +#line 1006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = prev_source; +#line 1006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PHOTO, Photo)); +#line 1006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + prev = _tmp14_; +#line 7337 "PhotoPage.c" + { + GeeIterator* _neighbor_source_it = NULL; + ViewCollection* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; + GeeSet* _tmp17_ = NULL; + GeeSet* _tmp18_ = NULL; + GeeIterator* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = controller; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = photo; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = view_collection_get_extended_neighbors (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_SOURCE, DataSource), PHOTO_TYPENAME); +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _tmp17_; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp18_); +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _neighbor_source_it = _tmp20_; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + while (TRUE) { +#line 7364 "PhotoPage.c" + GeeIterator* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + DataSource* neighbor_source = NULL; + GeeIterator* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + Photo* neighbor = NULL; + DataSource* _tmp25_ = NULL; + Photo* _tmp26_ = NULL; + BackgroundJobJobPriority priority = 0; + gboolean _tmp27_ = FALSE; + Photo* _tmp28_ = NULL; + Photo* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + PixbufCachePixbufCacheBatch* _tmp34_ = NULL; + BackgroundJobJobPriority _tmp35_ = 0; + Photo* _tmp36_ = NULL; + PixbufCachePixbufCacheBatch* _tmp37_ = NULL; + Photo* _tmp38_ = NULL; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = _neighbor_source_it; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = gee_iterator_next (_tmp21_); +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp22_) { +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 7391 "PhotoPage.c" + } +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = _neighbor_source_it; +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = gee_iterator_get (_tmp23_); +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + neighbor_source = (DataSource*) _tmp24_; +#line 1010 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = neighbor_source; +#line 1010 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_PHOTO, Photo)); +#line 1010 "/home/jens/Source/shotwell/src/PhotoPage.vala" + neighbor = _tmp26_; +#line 1012 "/home/jens/Source/shotwell/src/PhotoPage.vala" + priority = BACKGROUND_JOB_JOB_PRIORITY_NORMAL; +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = neighbor; +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = next; +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_SOURCE, DataSource)); +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp30_) { +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = TRUE; +#line 7417 "PhotoPage.c" + } else { + Photo* _tmp31_ = NULL; + Photo* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = neighbor; +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = prev; +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_SOURCE, DataSource)); +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = _tmp33_; +#line 7430 "PhotoPage.c" + } +#line 1013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp27_) { +#line 1014 "/home/jens/Source/shotwell/src/PhotoPage.vala" + priority = BACKGROUND_JOB_JOB_PRIORITY_HIGH; +#line 7436 "PhotoPage.c" + } +#line 1016 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = normal_batch; +#line 1016 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = priority; +#line 1016 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = neighbor; +#line 1016 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) _tmp35_), _tmp36_); +#line 1017 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = master_batch; +#line 1017 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = neighbor; +#line 1017 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) BACKGROUND_JOB_JOB_PRIORITY_LOWEST), _tmp38_); +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (neighbor); +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (neighbor_source); +#line 7456 "PhotoPage.c" + } +#line 1009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_neighbor_source_it); +#line 7460 "PhotoPage.c" + } +#line 1020 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = self->priv->cache; +#line 1020 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = normal_batch; +#line 1020 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_prefetch_batch (_tmp39_, _tmp40_, FALSE); +#line 1021 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = self->priv->master_cache; +#line 1021 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = master_batch; +#line 1021 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_prefetch_batch (_tmp41_, _tmp42_, FALSE); +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (prev); +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next); +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (prev_source); +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next_source); +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (master_batch); +#line 994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (normal_batch); +#line 7486 "PhotoPage.c" +} + + +static void editing_host_page_cancel_prefetch_neighbors (EditingHostPage* self, ViewCollection* old_controller, Photo* old_photo, ViewCollection* new_controller, Photo* new_photo) { + GeeSet* old_neighbors = NULL; + ViewCollection* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* new_neighbors = NULL; + ViewCollection* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + gboolean _tmp23_ = FALSE; + GeeSet* _tmp24_ = NULL; + Photo* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; +#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_VIEW_COLLECTION (old_controller)); +#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (old_photo)); +#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_VIEW_COLLECTION (new_controller)); +#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (new_photo)); +#line 1028 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = old_controller; +#line 1028 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = old_photo; +#line 1028 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = view_collection_get_extended_neighbors (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource), PHOTO_TYPENAME); +#line 1028 "/home/jens/Source/shotwell/src/PhotoPage.vala" + old_neighbors = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_SET, GeeSet); +#line 1030 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = new_controller; +#line 1030 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = new_photo; +#line 1030 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = view_collection_get_extended_neighbors (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), PHOTO_TYPENAME); +#line 1030 "/home/jens/Source/shotwell/src/PhotoPage.vala" + new_neighbors = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_SET, GeeSet); +#line 7529 "PhotoPage.c" + { + GeeIterator* _old_neighbor_it = NULL; + GeeSet* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = old_neighbors; +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _old_neighbor_it = _tmp7_; +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + while (TRUE) { +#line 7542 "PhotoPage.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + Photo* old_neighbor = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GeeSet* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _old_neighbor_it; +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp9_) { +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 7560 "PhotoPage.c" + } +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _old_neighbor_it; +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + old_neighbor = (Photo*) _tmp11_; +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = new_neighbors; +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = old_neighbor; +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection), _tmp14_); +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp15_) { +#line 7576 "PhotoPage.c" + Photo* _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = new_photo; +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = old_neighbor; +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_SOURCE, DataSource)); +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = !_tmp18_; +#line 7588 "PhotoPage.c" + } else { +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = FALSE; +#line 7592 "PhotoPage.c" + } +#line 1036 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp12_) { +#line 7596 "PhotoPage.c" + PixbufCache* _tmp19_ = NULL; + Photo* _tmp20_ = NULL; + PixbufCache* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; +#line 1037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = self->priv->cache; +#line 1037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = old_neighbor; +#line 1037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_drop (_tmp19_, _tmp20_); +#line 1038 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = self->priv->master_cache; +#line 1038 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = old_neighbor; +#line 1038 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_drop (_tmp21_, _tmp22_); +#line 7613 "PhotoPage.c" + } +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (old_neighbor); +#line 7617 "PhotoPage.c" + } +#line 1033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_old_neighbor_it); +#line 7621 "PhotoPage.c" + } +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = new_neighbors; +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = old_photo; +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp26_) { +#line 7631 "PhotoPage.c" + Photo* _tmp27_ = NULL; + Photo* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = new_photo; +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = old_photo; +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_SOURCE, DataSource)); +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = !_tmp29_; +#line 7643 "PhotoPage.c" + } else { +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = FALSE; +#line 7647 "PhotoPage.c" + } +#line 1043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp23_) { +#line 7651 "PhotoPage.c" + PixbufCache* _tmp30_ = NULL; + Photo* _tmp31_ = NULL; + PixbufCache* _tmp32_ = NULL; + Photo* _tmp33_ = NULL; +#line 1044 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = self->priv->cache; +#line 1044 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = old_photo; +#line 1044 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_drop (_tmp30_, _tmp31_); +#line 1045 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = self->priv->master_cache; +#line 1045 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = old_photo; +#line 1045 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_drop (_tmp32_, _tmp33_); +#line 7668 "PhotoPage.c" + } +#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (new_neighbors); +#line 1026 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (old_neighbors); +#line 7674 "PhotoPage.c" +} + + +static DataView* editing_host_page_real_create_photo_view (EditingHostPage* self, DataSource* source) { + DataView* result = NULL; + DataSource* _tmp0_ = NULL; + PhotoView* _tmp1_ = NULL; +#line 1049 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 1050 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = source; +#line 1050 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = photo_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 1050 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_VIEW, DataView); +#line 1050 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 7692 "PhotoPage.c" +} + + +DataView* editing_host_page_create_photo_view (EditingHostPage* self, DataSource* source) { +#line 1049 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL); +#line 1049 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return EDITING_HOST_PAGE_GET_CLASS (self)->create_photo_view (self, source); +#line 7701 "PhotoPage.c" +} + + +static gboolean editing_host_page_is_photo (EditingHostPage* self, DataSource* source) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 1053 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1053 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 1054 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = source; +#line 1054 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO_SOURCE); +#line 1054 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 7718 "PhotoPage.c" +} + + +static DataView* _editing_host_page_create_photo_view_create_view (DataSource* source, gpointer self) { + DataView* result; + result = editing_host_page_create_photo_view ((EditingHostPage*) self, source); +#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 7727 "PhotoPage.c" +} + + +static gboolean _editing_host_page_is_photo_create_view_predicate (DataSource* source, gpointer self) { + gboolean result; + result = editing_host_page_is_photo ((EditingHostPage*) self, source); +#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 7736 "PhotoPage.c" +} + + +void editing_host_page_display_copy_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo) { + ViewCollection* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + DataView* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + Photo* _tmp18_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1057 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_VIEW_COLLECTION (controller)); +#line 1057 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (starting_photo)); +#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = controller; +#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = starting_photo; +#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = view_collection_get_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource)); +#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp3_ != NULL, "controller.get_view_for_source(starting_photo) != null"); +#line 1058 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = controller; +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp5_ != _tmp7_; +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp7_); +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp8_) { +#line 7781 "PhotoPage.c" + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = controller; +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = self->priv->parent_view; +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp9_ != _tmp10_; +#line 7790 "PhotoPage.c" + } else { +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = FALSE; +#line 7794 "PhotoPage.c" + } +#line 1060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_) { +#line 7798 "PhotoPage.c" + ViewCollection* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; +#line 1061 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1061 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 1061 "/home/jens/Source/shotwell/src/PhotoPage.vala" + data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1061 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp12_); +#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = controller; +#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_collection_copy_into (_tmp14_, _tmp15_, _editing_host_page_create_photo_view_create_view, self, _editing_host_page_is_photo_create_view_predicate, self); +#line 1062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp14_); +#line 1063 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = controller; +#line 1063 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _data_collection_ref0 (_tmp16_); +#line 1063 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (self->priv->parent_view); +#line 1063 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->parent_view = _tmp17_; +#line 7832 "PhotoPage.c" + } +#line 1066 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = starting_photo; +#line 1066 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_replace_photo (self, _tmp18_); +#line 7838 "PhotoPage.c" +} + + +void editing_host_page_display_mirror_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo) { + ViewCollection* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + DataView* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + Photo* _tmp18_ = NULL; +#line 1069 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1069 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_VIEW_COLLECTION (controller)); +#line 1069 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (starting_photo)); +#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = controller; +#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = starting_photo; +#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = view_collection_get_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource)); +#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp3_ != NULL, "controller.get_view_for_source(starting_photo) != null"); +#line 1070 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = controller; +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp5_ != _tmp7_; +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp7_); +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp8_) { +#line 7883 "PhotoPage.c" + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = controller; +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = self->priv->parent_view; +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp9_ != _tmp10_; +#line 7892 "PhotoPage.c" + } else { +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = FALSE; +#line 7896 "PhotoPage.c" + } +#line 1072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_) { +#line 7900 "PhotoPage.c" + ViewCollection* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1073 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 1073 "/home/jens/Source/shotwell/src/PhotoPage.vala" + data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1073 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp12_); +#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = controller; +#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_collection_mirror (_tmp14_, _tmp15_, _editing_host_page_create_photo_view_create_view, self, _editing_host_page_is_photo_create_view_predicate, self); +#line 1074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp14_); +#line 1075 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = controller; +#line 1075 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _data_collection_ref0 (_tmp16_); +#line 1075 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (self->priv->parent_view); +#line 1075 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->parent_view = _tmp17_; +#line 7934 "PhotoPage.c" + } +#line 1078 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = starting_photo; +#line 1078 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_replace_photo (self, _tmp18_); +#line 7940 "PhotoPage.c" +} + + +static void editing_host_page_real_update_ui (EditingHostPage* self, gboolean missing) { + gboolean sensitivity = FALSE; + gboolean _tmp0_ = FALSE; + GtkToolButton* _tmp1_ = NULL; + GtkToggleToolButton* _tmp2_ = NULL; + GtkToggleToolButton* _tmp3_ = NULL; + GtkToggleToolButton* _tmp4_ = NULL; + GtkToggleToolButton* _tmp5_ = NULL; + GtkToolButton* _tmp6_ = NULL; + GtkScale* _tmp7_ = NULL; + Dimensions _tmp8_ = {0}; +#line 1082 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = missing; +#line 1082 "/home/jens/Source/shotwell/src/PhotoPage.vala" + sensitivity = !_tmp0_; +#line 1084 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->rotate_button; +#line 1084 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), sensitivity); +#line 1085 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->crop_button; +#line 1085 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), sensitivity); +#line 1086 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->straighten_button; +#line 1086 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), sensitivity); +#line 1087 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = self->priv->redeye_button; +#line 1087 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), sensitivity); +#line 1088 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = self->priv->adjust_button; +#line 1088 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), sensitivity); +#line 1089 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->enhance_button; +#line 1089 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), sensitivity); +#line 1090 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = self->priv->zoom_slider; +#line 1090 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), sensitivity); +#line 1092 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp8_, 0, 0); +#line 1092 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp8_, FALSE); +#line 7991 "PhotoPage.c" +} + + +void editing_host_page_update_ui (EditingHostPage* self, gboolean missing) { +#line 1081 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1081 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_GET_CLASS (self)->update_ui (self, missing); +#line 8000 "PhotoPage.c" +} + + +static void editing_host_page_real_notify_photo_backing_missing (EditingHostPage* self, Photo* photo, gboolean missing) { +#line 1096 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 8007 "PhotoPage.c" +} + + +void editing_host_page_notify_photo_backing_missing (EditingHostPage* self, Photo* photo, gboolean missing) { +#line 1096 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1096 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_GET_CLASS (self)->notify_photo_backing_missing (self, photo, missing); +#line 8016 "PhotoPage.c" +} + + +static void editing_host_page_draw_message (EditingHostPage* self, const gchar* message) { + PangoLayout* pango_layout = NULL; + const gchar* _tmp0_ = NULL; + PangoLayout* _tmp1_ = NULL; + gint text_width = 0; + gint text_height = 0; + PangoLayout* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GtkAllocation allocation = {0}; + GtkAllocation _tmp5_ = {0}; + gint x = 0; + GtkAllocation _tmp6_ = {0}; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint y = 0; + GtkAllocation _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + PangoLayout* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 1099 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1099 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (message != NULL); +#line 1101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = message; +#line 1101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = gtk_widget_create_pango_layout (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 1101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pango_layout = _tmp1_; +#line 1103 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = pango_layout; +#line 1103 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pango_layout_get_pixel_size (_tmp2_, &_tmp3_, &_tmp4_); +#line 1103 "/home/jens/Source/shotwell/src/PhotoPage.vala" + text_width = _tmp3_; +#line 1103 "/home/jens/Source/shotwell/src/PhotoPage.vala" + text_height = _tmp4_; +#line 1106 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), &_tmp5_); +#line 1106 "/home/jens/Source/shotwell/src/PhotoPage.vala" + allocation = _tmp5_; +#line 1108 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = allocation; +#line 1108 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_.width; +#line 1108 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = text_width; +#line 1108 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = _tmp7_ - _tmp8_; +#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = x; +#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp10_ > 0) { +#line 8080 "PhotoPage.c" + gint _tmp11_ = 0; +#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = x; +#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp11_ / 2; +#line 8086 "PhotoPage.c" + } else { +#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = 0; +#line 8090 "PhotoPage.c" + } +#line 1109 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = _tmp9_; +#line 1111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = allocation; +#line 1111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = _tmp12_.height; +#line 1111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = text_height; +#line 1111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = _tmp13_ - _tmp14_; +#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = y; +#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp16_ > 0) { +#line 8106 "PhotoPage.c" + gint _tmp17_ = 0; +#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = y; +#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp17_ / 2; +#line 8112 "PhotoPage.c" + } else { +#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = 0; +#line 8116 "PhotoPage.c" + } +#line 1112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = _tmp15_; +#line 1114 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = pango_layout; +#line 1114 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = x; +#line 1114 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = y; +#line 1114 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_paint_text (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp18_, _tmp19_, _tmp20_); +#line 1099 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pango_layout); +#line 8130 "PhotoPage.c" +} + + +void editing_host_page_set_photo_missing (EditingHostPage* self, gboolean missing) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + Photo* photo = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + GError * _inner_error_ = NULL; +#line 1118 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1119 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->photo_missing; +#line 1119 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = missing; +#line 1119 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ == _tmp1_) { +#line 1120 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 8154 "PhotoPage.c" + } +#line 1122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = missing; +#line 1122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->photo_missing = _tmp2_; +#line 1124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (self); +#line 1124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo = _tmp3_; +#line 1125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = photo; +#line 1125 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_ == NULL) { +#line 1126 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 1126 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 8172 "PhotoPage.c" + } +#line 1128 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = missing; +#line 1128 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_ui (self, _tmp5_); +#line 1130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->photo_missing; +#line 1130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 8182 "PhotoPage.c" + { + GdkPixbuf* pixbuf = NULL; + Photo* _tmp7_ = NULL; + Scaling _tmp8_ = {0}; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + gint _tmp12_ = 0; + GdkPixbuf* _tmp13_ = NULL; + gint _tmp14_ = 0; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + Dimensions _tmp18_ = {0}; +#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = photo; +#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_); +#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = media_source_get_preview_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp8_, &_inner_error_); +#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp9_; +#line 1132 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8207 "PhotoPage.c" + goto __catch232_g_error; + } +#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = pixbuf; +#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = pixbuf; +#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = gdk_pixbuf_get_width (_tmp11_); +#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = pixbuf; +#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = gdk_pixbuf_get_height (_tmp13_); +#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = gdk_pixbuf_composite_color_simple (_tmp10_, _tmp12_, _tmp14_, GDK_INTERP_NEAREST, 100, 2, (guint32) 0, (guint32) 0); +#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1134 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp15_; +#line 1137 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = pixbuf; +#line 1137 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = photo; +#line 1137 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp18_); +#line 1137 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp16_, &_tmp18_, NULL); +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 8236 "PhotoPage.c" + } + goto __finally232; + __catch232_g_error: + { + GError* err = NULL; + GdkPixbuf* _tmp19_ = NULL; + GdkPixbuf* _tmp20_ = NULL; + Photo* _tmp21_ = NULL; + Dimensions _tmp22_ = {0}; + GError* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 1, 1); +#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_; +#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = photo; +#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp22_); +#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp20_, &_tmp22_, NULL); +#line 1139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp20_); +#line 1140 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = err; +#line 1140 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_->message; +#line 1140 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_warning ("PhotoPage.vala:1140: %s", _tmp24_); +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 8272 "PhotoPage.c" + } + __finally232: +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 1131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 8285 "PhotoPage.c" + } + } +#line 1118 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 8290 "PhotoPage.c" +} + + +gboolean editing_host_page_get_photo_missing (EditingHostPage* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 1145 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1146 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->photo_missing; +#line 1146 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp0_; +#line 1146 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 8305 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_confirm_replace_photo (EditingHostPage* self, Photo* old_photo, Photo* new_photo) { + gboolean result = FALSE; +#line 1149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail ((old_photo == NULL) || IS_PHOTO (old_photo), FALSE); +#line 1149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_PHOTO (new_photo), FALSE); +#line 1150 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1150 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 8319 "PhotoPage.c" +} + + +gboolean editing_host_page_confirm_replace_photo (EditingHostPage* self, Photo* old_photo, Photo* new_photo) { +#line 1149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return EDITING_HOST_PAGE_GET_CLASS (self)->confirm_replace_photo (self, old_photo, new_photo); +#line 8328 "PhotoPage.c" +} + + +static GdkPixbuf* editing_host_page_get_zoom_pixbuf (EditingHostPage* self, Photo* new_photo) { + GdkPixbuf* result = NULL; + GdkPixbuf* pixbuf = NULL; + PixbufCache* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GError * _inner_error_ = NULL; +#line 1153 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL); +#line 1153 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_PHOTO (new_photo), NULL); +#line 1154 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->cache; +#line 1154 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = new_photo; +#line 1154 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = pixbuf_cache_get_ready_pixbuf (_tmp0_, _tmp1_); +#line 1154 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp2_; +#line 1155 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = pixbuf; +#line 1155 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_ == NULL) { +#line 8357 "PhotoPage.c" + { + GdkPixbuf* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Scaling _tmp6_ = {0}; + GdkPixbuf* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = new_photo; +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp6_); +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = media_source_get_preview_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp6_, &_inner_error_); +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp7_; +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8374 "PhotoPage.c" + goto __catch233_g_error; + } +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp4_; +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = NULL; +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp8_; +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 8387 "PhotoPage.c" + } + goto __finally233; + __catch233_g_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 1159 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = err; +#line 1159 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_->message; +#line 1159 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_warning ("PhotoPage.vala:1159: %s", _tmp10_); +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 8407 "PhotoPage.c" + } + __finally233: +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 1156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return NULL; +#line 8420 "PhotoPage.c" + } + } +#line 1162 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = pixbuf; +#line 1162 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp11_ == NULL) { +#line 8427 "PhotoPage.c" + GdkPixbuf* _tmp12_ = NULL; + Scaling _tmp13_ = {0}; + GdkPixbuf* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; +#line 1163 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = get_placeholder_pixbuf (); +#line 1163 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1163 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp12_; +#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp13_); +#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = pixbuf; +#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = scaling_perform_on_pixbuf (&_tmp13_, _tmp14_, GDK_INTERP_NEAREST, TRUE); +#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 1164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 8449 "PhotoPage.c" + } +#line 1166 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = pixbuf; +#line 1166 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 8455 "PhotoPage.c" +} + + +static void editing_host_page_replace_photo (EditingHostPage* self, Photo* new_photo) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + Dimensions _tmp26_ = {0}; + Photo* old_photo = NULL; + Photo* _tmp27_ = NULL; + Photo* _tmp28_ = NULL; + Photo* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + Photo* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; + Photo* _tmp36_ = NULL; + Photo* _tmp43_ = NULL; + Photo* _tmp44_ = NULL; + GdkPixbuf* _tmp45_ = NULL; + GdkPixbuf* _tmp46_ = NULL; + ZoomBuffer* _tmp47_ = NULL; +#line 1169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (new_photo)); +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = new_photo; +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (self); +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource)); +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 8505 "PhotoPage.c" + gboolean _tmp7_ = FALSE; +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = self->priv->pixbuf_dirty; +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = !_tmp7_; +#line 8511 "PhotoPage.c" + } else { +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = FALSE; +#line 8515 "PhotoPage.c" + } +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 8519 "PhotoPage.c" + gboolean _tmp8_ = FALSE; +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = self->priv->photo_missing; +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = !_tmp8_; +#line 8525 "PhotoPage.c" + } else { +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 8529 "PhotoPage.c" + } +#line 1174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 8533 "PhotoPage.c" + Photo* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; + ZoomBuffer* _tmp13_ = NULL; +#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = new_photo; +#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = new_photo; +#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = editing_host_page_get_zoom_pixbuf (self, _tmp10_); +#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = zoom_buffer_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp9_, _tmp12_); +#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->zoom_buffer); +#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->zoom_buffer = _tmp13_; +#line 1175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 1176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 8557 "PhotoPage.c" + } +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = editing_host_page_has_photo (self); +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp16_) { +#line 8563 "PhotoPage.c" + Photo* _tmp17_ = NULL; + Photo* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = new_photo; +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = editing_host_page_get_photo (self); +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_SOURCE, DataSource)); +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = !_tmp20_; +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp19_); +#line 8580 "PhotoPage.c" + } else { +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = FALSE; +#line 8584 "PhotoPage.c" + } +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp15_) { +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = editing_host_page_confirm_replace_photo != NULL; +#line 8590 "PhotoPage.c" + } else { +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = FALSE; +#line 8594 "PhotoPage.c" + } +#line 1180 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp14_) { +#line 8598 "PhotoPage.c" + Photo* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; + Photo* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; +#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = editing_host_page_get_photo (self); +#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp21_; +#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = new_photo; +#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = editing_host_page_confirm_replace_photo (self, _tmp22_, _tmp23_); +#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = !_tmp24_; +#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp22_); +#line 1181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp25_) { +#line 1182 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 8620 "PhotoPage.c" + } + } +#line 1185 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp26_, 0, 0); +#line 1185 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp26_, FALSE); +#line 1188 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = editing_host_page_get_photo (self); +#line 1188 "/home/jens/Source/shotwell/src/PhotoPage.vala" + old_photo = _tmp27_; +#line 1189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = new_photo; +#line 1189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo (self, _tmp28_); +#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = new_photo; +#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_OBJECT, DataObject)); +#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = _tmp30_; +#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_page_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp31_); +#line 1190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp31_); +#line 1193 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->swapped); +#line 1193 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->swapped = NULL; +#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = new_photo; +#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = _tmp33_; +#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = g_file_query_exists (_tmp34_, NULL); +#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, !_tmp35_); +#line 1196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp34_); +#line 1197 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = TRUE; +#line 1201 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rebuild_caches (self, "replace_photo"); +#line 1203 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = old_photo; +#line 1203 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp36_ != NULL) { +#line 8669 "PhotoPage.c" + ViewCollection* _tmp37_ = NULL; + ViewCollection* _tmp38_ = NULL; + Photo* _tmp39_ = NULL; + ViewCollection* _tmp40_ = NULL; + ViewCollection* _tmp41_ = NULL; + Photo* _tmp42_ = NULL; +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = _tmp37_; +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = old_photo; +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = _tmp40_; +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = new_photo; +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_cancel_prefetch_neighbors (self, _tmp38_, _tmp39_, _tmp41_, _tmp42_); +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp41_); +#line 1204 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp38_); +#line 8694 "PhotoPage.c" + } +#line 1206 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = new_photo; +#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = new_photo; +#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = editing_host_page_get_zoom_pixbuf (self, _tmp44_); +#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = _tmp45_; +#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = zoom_buffer_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp43_, _tmp46_); +#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->zoom_buffer); +#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->zoom_buffer = _tmp47_; +#line 1208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp46_); +#line 1210 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_quick_update_pixbuf (self); +#line 1213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_refresh_caches (self, "replace_photo"); +#line 1169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (old_photo); +#line 8720 "PhotoPage.c" +} + + +static void editing_host_page_real_cancel_zoom (SinglePhotoPage* base) { + EditingHostPage * self; + GtkScale* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkScale* _tmp2_ = NULL; + GtkScale* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp12_ = FALSE; + GtkDrawingArea* _tmp13_ = NULL; +#line 1216 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + SINGLE_PHOTO_PAGE_CLASS (editing_host_page_parent_class)->cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->zoom_slider; +#line 1219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp1_, NULL, FALSE); +#line 1219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self); +#line 1220 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->zoom_slider; +#line 1220 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_range_get_type (), GtkRange), 0.0); +#line 1221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->zoom_slider; +#line 1221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_host_page_on_zoom_slider_value_changed_gtk_range_value_changed, self, 0); +#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = editing_host_page_get_photo (self); +#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_ != NULL; +#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp5_); +#line 1223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 8763 "PhotoPage.c" + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Dimensions _tmp9_ = {0}; + Dimensions _tmp10_ = {0}; + ZoomState _tmp11_ = {0}; +#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (self); +#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp9_); +#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp10_); +#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init (&_tmp11_, &_tmp9_, &_tmp10_, 0.0, NULL); +#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp11_); +#line 1224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 8783 "PhotoPage.c" + } +#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->canvas; +#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp13_ != NULL) { +#line 8789 "PhotoPage.c" + GtkDrawingArea* _tmp14_ = NULL; + GdkWindow* _tmp15_ = NULL; +#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->canvas; +#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget)); +#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp15_ != NULL; +#line 8798 "PhotoPage.c" + } else { +#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = FALSE; +#line 8802 "PhotoPage.c" + } +#line 1230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp12_) { +#line 1231 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_page_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), GDK_LEFT_PTR); +#line 8808 "PhotoPage.c" + } +#line 1233 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 8812 "PhotoPage.c" +} + + +static void editing_host_page_quick_update_pixbuf (EditingHostPage* self) { + GdkPixbuf* pixbuf = NULL; + PixbufCache* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + Scaling scaling = {0}; + Scaling _tmp10_ = {0}; + Photo* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + PixbufCache* _tmp28_ = NULL; + Photo* _tmp29_ = NULL; + Photo* _tmp30_ = NULL; + GError * _inner_error_ = NULL; +#line 1236 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->cache; +#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_get_photo (self); +#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = pixbuf_cache_get_ready_pixbuf (_tmp0_, _tmp2_); +#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 1237 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp4_; +#line 1238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = pixbuf; +#line 1238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_ != NULL) { +#line 8856 "PhotoPage.c" + GdkPixbuf* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Dimensions _tmp9_ = {0}; +#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = pixbuf; +#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (self); +#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp9_); +#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp6_, &_tmp9_, NULL); +#line 1239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 1240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = FALSE; +#line 1242 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1242 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 8879 "PhotoPage.c" + } +#line 1245 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp10_); +#line 1245 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaling = _tmp10_; +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = editing_host_page_get_photo (self); +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject)); +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = scaling_to_string (&scaling); +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_debug ("PhotoPage.vala:1247: Using progressive load for %s (%s)", _tmp14_, _tmp16_); +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp16_); +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp14_); +#line 1247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 8905 "PhotoPage.c" + { + GdkPixbuf* _tmp17_ = NULL; + Photo* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + Scaling _tmp20_ = {0}; + GdkPixbuf* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + Photo* _tmp23_ = NULL; + Photo* _tmp24_ = NULL; + Dimensions _tmp25_ = {0}; +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = editing_host_page_get_photo (self); +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = scaling; +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = media_source_get_preview_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp20_, &_inner_error_); +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp21_; +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp19_); +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp22_; +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8932 "PhotoPage.c" + goto __catch234_g_error; + } +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = editing_host_page_get_photo (self); +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_; +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp25_); +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp17_, &_tmp25_, NULL); +#line 1252 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp24_); +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp17_); +#line 8947 "PhotoPage.c" + } + goto __finally234; + __catch234_g_error: + { + GError* err = NULL; + GError* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 1254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = err; +#line 1254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = _tmp26_->message; +#line 1254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_warning ("PhotoPage.vala:1254: %s", _tmp27_); +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 8967 "PhotoPage.c" + } + __finally234: +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 1251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 8980 "PhotoPage.c" + } +#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = self->priv->cache; +#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = editing_host_page_get_photo (self); +#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = _tmp29_; +#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_prefetch (_tmp28_, _tmp30_, BACKGROUND_JOB_JOB_PRIORITY_HIGHEST, FALSE); +#line 1257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp30_); +#line 1261 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = FALSE; +#line 1236 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 8996 "PhotoPage.c" +} + + +static gboolean editing_host_page_update_pixbuf (EditingHostPage* self) { + gboolean result = FALSE; + Photo* photo = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + GdkPixbuf* pixbuf = NULL; + Dimensions max_dim = {0}; + Photo* _tmp2_ = NULL; + Dimensions _tmp3_ = {0}; + gboolean _tmp17_ = FALSE; + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; + GError * _inner_error_ = NULL; +#line 1264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1269 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (self); +#line 1269 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo = _tmp0_; +#line 1270 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = photo; +#line 1270 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ == NULL) { +#line 1271 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 1271 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 1271 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 9029 "PhotoPage.c" + } +#line 1273 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = NULL; +#line 1274 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = photo; +#line 1274 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp3_); +#line 1274 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_dim = _tmp3_; +#line 9039 "PhotoPage.c" + { + Dimensions tool_pixbuf_dim = {0}; + Dimensions _tmp4_ = {0}; + EditingToolsEditingTool* _tmp5_ = NULL; + GdkPixbuf* _tmp13_ = NULL; +#line 1277 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_.width = 0; +#line 1277 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_pixbuf_dim = _tmp4_; +#line 1278 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = self->priv->current_tool; +#line 1278 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_ != NULL) { +#line 9053 "PhotoPage.c" + GdkPixbuf* _tmp6_ = NULL; + EditingToolsEditingTool* _tmp7_ = NULL; + Scaling _tmp8_ = {0}; + Photo* _tmp9_ = NULL; + Dimensions _tmp10_ = {0}; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = self->priv->current_tool; +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_); +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = photo; +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = editing_tools_editing_tool_get_display_pixbuf (_tmp7_, &_tmp8_, _tmp9_, &_tmp10_, &_inner_error_); +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_pixbuf_dim = _tmp10_; +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp11_; +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9075 "PhotoPage.c" + goto __catch235_g_error; + } +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp6_; +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = NULL; +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1279 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp12_; +#line 1278 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 9088 "PhotoPage.c" + } +#line 1281 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = pixbuf; +#line 1281 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp13_ != NULL) { +#line 9094 "PhotoPage.c" + Dimensions _tmp14_ = {0}; +#line 1282 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = tool_pixbuf_dim; +#line 1282 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_dim = _tmp14_; +#line 9100 "PhotoPage.c" + } + } + goto __finally235; + __catch235_g_error: + { + GError* err = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 1284 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = err; +#line 1284 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_->message; +#line 1284 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_warning ("PhotoPage.vala:1284: %s", _tmp16_); +#line 1285 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, TRUE); +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 9123 "PhotoPage.c" + } + __finally235: +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 1276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return FALSE; +#line 9138 "PhotoPage.c" + } +#line 1288 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = self->priv->photo_missing; +#line 1288 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp17_) { +#line 9144 "PhotoPage.c" + GdkPixbuf* _tmp18_ = NULL; + GdkPixbuf* _tmp22_ = NULL; +#line 1290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = pixbuf; +#line 1290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp18_ == NULL) { +#line 9151 "PhotoPage.c" + PixbufCache* _tmp19_ = NULL; + Photo* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; +#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = self->priv->cache; +#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = photo; +#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = pixbuf_cache_get_ready_pixbuf (_tmp19_, _tmp20_); +#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1291 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf = _tmp21_; +#line 9165 "PhotoPage.c" + } +#line 1294 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = pixbuf; +#line 1294 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp22_ == NULL) { +#line 9171 "PhotoPage.c" + PixbufCache* _tmp23_ = NULL; + Photo* _tmp24_ = NULL; +#line 1295 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = self->priv->cache; +#line 1295 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = photo; +#line 1295 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_prefetch (_tmp23_, _tmp24_, BACKGROUND_JOB_JOB_PRIORITY_NORMAL, FALSE); +#line 9180 "PhotoPage.c" + } + } +#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = self->priv->photo_missing; +#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp26_) { +#line 9187 "PhotoPage.c" + GdkPixbuf* _tmp27_ = NULL; +#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = pixbuf; +#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = _tmp27_ != NULL; +#line 9193 "PhotoPage.c" + } else { +#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = FALSE; +#line 9197 "PhotoPage.c" + } +#line 1298 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp25_) { +#line 9201 "PhotoPage.c" + GdkPixbuf* _tmp28_ = NULL; + Dimensions _tmp29_ = {0}; +#line 1299 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = pixbuf; +#line 1299 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = max_dim; +#line 1299 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp28_, &_tmp29_, NULL); +#line 1300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = FALSE; +#line 9212 "PhotoPage.c" + } +#line 1307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 1307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (pixbuf); +#line 1307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 1307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 9222 "PhotoPage.c" +} + + +static void editing_host_page_real_on_resize (Page* base, GdkRectangle* rect) { + EditingHostPage * self; + GdkRectangle _tmp0_ = {0}; +#line 1310 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1310 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (rect != NULL); +#line 1311 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = *rect; +#line 1311 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->on_resize (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), &_tmp0_); +#line 1313 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_track_tool_window (self); +#line 9239 "PhotoPage.c" +} + + +static void editing_host_page_real_on_resize_finished (Page* base, GdkRectangle* rect) { + EditingHostPage * self; +#line 1316 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1316 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (rect != NULL); +#line 1320 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rebuild_caches (self, "on_resize_finished"); +#line 1321 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = TRUE; +#line 1323 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_pixbuf (self); +#line 9255 "PhotoPage.c" +} + + +static void editing_host_page_on_viewport_resized (EditingHostPage* self) { +#line 1326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1329 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rebuild_caches (self, "on_viewport_resized"); +#line 1330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = TRUE; +#line 1332 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_pixbuf (self); +#line 9268 "PhotoPage.c" +} + + +static void editing_host_page_real_update_actions (Page* base, gint selected_count, gint count) { + EditingHostPage * self; + gboolean multiple_photos = FALSE; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + GtkToolButton* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GtkToolButton* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Photo* photo = NULL; + Photo* _tmp8_ = NULL; + Scaling scaling = {0}; + Scaling _tmp9_ = {0}; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + Photo* _tmp13_ = NULL; + GtkToolButton* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + Photo* _tmp22_ = NULL; + GtkToggleToolButton* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + Photo* _tmp30_ = NULL; + GtkToggleToolButton* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + gboolean _tmp37_ = FALSE; + Photo* _tmp38_ = NULL; + GtkToggleToolButton* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + gboolean _tmp45_ = FALSE; + Photo* _tmp46_ = NULL; + GtkToolButton* _tmp50_ = NULL; + gboolean _tmp51_ = FALSE; + gboolean _tmp52_ = FALSE; + Photo* _tmp53_ = NULL; + GtkToggleToolButton* _tmp58_ = NULL; + gint _tmp59_ = 0; + gint _tmp60_ = 0; +#line 1335 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = view_collection_get_sources_of_type_count (_tmp1_, TYPE_PHOTO); +#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_ > 1; +#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 1336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + multiple_photos = _tmp3_; +#line 1338 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = self->priv->prev_button; +#line 1338 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = multiple_photos; +#line 1338 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), _tmp5_); +#line 1339 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->next_button; +#line 1339 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = multiple_photos; +#line 1339 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), _tmp7_); +#line 1341 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = editing_host_page_get_photo (self); +#line 1341 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo = _tmp8_; +#line 1342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp9_); +#line 1342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaling = _tmp9_; +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = photo; +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp13_ != NULL) { +#line 9352 "PhotoPage.c" + gboolean _tmp14_ = FALSE; +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = self->priv->photo_missing; +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = !_tmp14_; +#line 9358 "PhotoPage.c" + } else { +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = FALSE; +#line 9362 "PhotoPage.c" + } +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp12_) { +#line 9366 "PhotoPage.c" + Photo* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = photo; +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = photo_check_can_rotate (_tmp15_); +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp16_; +#line 9375 "PhotoPage.c" + } else { +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = FALSE; +#line 9379 "PhotoPage.c" + } +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp11_) { +#line 9383 "PhotoPage.c" + Photo* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1345 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = photo; +#line 1345 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = editing_host_page_is_rotate_available (self, _tmp17_); +#line 1345 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp18_; +#line 9392 "PhotoPage.c" + } else { +#line 1345 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = FALSE; +#line 9396 "PhotoPage.c" + } +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = self->priv->rotate_button; +#line 1344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), _tmp10_); +#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = photo; +#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp22_ != NULL) { +#line 9406 "PhotoPage.c" + gboolean _tmp23_ = FALSE; +#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = self->priv->photo_missing; +#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = !_tmp23_; +#line 9412 "PhotoPage.c" + } else { +#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = FALSE; +#line 9416 "PhotoPage.c" + } +#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp21_) { +#line 9420 "PhotoPage.c" + Photo* _tmp24_ = NULL; + Scaling _tmp25_ = {0}; + gboolean _tmp26_ = FALSE; +#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = photo; +#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = scaling; +#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = editing_tools_crop_tool_is_available (_tmp24_, &_tmp25_); +#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp26_; +#line 9432 "PhotoPage.c" + } else { +#line 1347 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = FALSE; +#line 9436 "PhotoPage.c" + } +#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = self->priv->crop_button; +#line 1346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), _tmp20_); +#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = photo; +#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp30_ != NULL) { +#line 9446 "PhotoPage.c" + gboolean _tmp31_ = FALSE; +#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = self->priv->photo_missing; +#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = !_tmp31_; +#line 9452 "PhotoPage.c" + } else { +#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = FALSE; +#line 9456 "PhotoPage.c" + } +#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp29_) { +#line 9460 "PhotoPage.c" + Photo* _tmp32_ = NULL; + Scaling _tmp33_ = {0}; + gboolean _tmp34_ = FALSE; +#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = photo; +#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = scaling; +#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = editing_tools_redeye_tool_is_available (_tmp32_, &_tmp33_); +#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = _tmp34_; +#line 9472 "PhotoPage.c" + } else { +#line 1349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = FALSE; +#line 9476 "PhotoPage.c" + } +#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = self->priv->redeye_button; +#line 1348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_widget_get_type (), GtkWidget), _tmp28_); +#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = photo; +#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp38_ != NULL) { +#line 9486 "PhotoPage.c" + gboolean _tmp39_ = FALSE; +#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = self->priv->photo_missing; +#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = !_tmp39_; +#line 9492 "PhotoPage.c" + } else { +#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = FALSE; +#line 9496 "PhotoPage.c" + } +#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp37_) { +#line 9500 "PhotoPage.c" + Photo* _tmp40_ = NULL; + Scaling _tmp41_ = {0}; + gboolean _tmp42_ = FALSE; +#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = photo; +#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = scaling; +#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = editing_tools_adjust_tool_is_available (_tmp40_, &_tmp41_); +#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = _tmp42_; +#line 9512 "PhotoPage.c" + } else { +#line 1351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = FALSE; +#line 9516 "PhotoPage.c" + } +#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = self->priv->adjust_button; +#line 1350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget), _tmp36_); +#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = photo; +#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp46_ != NULL) { +#line 9526 "PhotoPage.c" + gboolean _tmp47_ = FALSE; +#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = self->priv->photo_missing; +#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = !_tmp47_; +#line 9532 "PhotoPage.c" + } else { +#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = FALSE; +#line 9536 "PhotoPage.c" + } +#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp45_) { +#line 9540 "PhotoPage.c" + Photo* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; +#line 1353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48_ = photo; +#line 1353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp49_ = editing_host_page_is_enhance_available (self, _tmp48_); +#line 1353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = _tmp49_; +#line 9549 "PhotoPage.c" + } else { +#line 1353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = FALSE; +#line 9553 "PhotoPage.c" + } +#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_ = self->priv->enhance_button; +#line 1352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_widget_get_type (), GtkWidget), _tmp44_); +#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_ = photo; +#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp53_ != NULL) { +#line 9563 "PhotoPage.c" + gboolean _tmp54_ = FALSE; +#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp54_ = self->priv->photo_missing; +#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp52_ = !_tmp54_; +#line 9569 "PhotoPage.c" + } else { +#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp52_ = FALSE; +#line 9573 "PhotoPage.c" + } +#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp52_) { +#line 9577 "PhotoPage.c" + Photo* _tmp55_ = NULL; + Scaling _tmp56_ = {0}; + gboolean _tmp57_ = FALSE; +#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp55_ = photo; +#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_ = scaling; +#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp57_ = editing_tools_straighten_tool_is_available (_tmp55_, &_tmp56_); +#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51_ = _tmp57_; +#line 9589 "PhotoPage.c" + } else { +#line 1355 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51_ = FALSE; +#line 9593 "PhotoPage.c" + } +#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp58_ = self->priv->straighten_button; +#line 1354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_widget_get_type (), GtkWidget), _tmp51_); +#line 1357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_ = selected_count; +#line 1357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp60_ = count; +#line 1357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp59_, _tmp60_); +#line 1335 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 9607 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_shift_pressed (Page* base, GdkEventKey* event) { + EditingHostPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + EditingToolsEditingTool* _tmp3_ = NULL; + GdkEventKey* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 1360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->current_tool; +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_ == NULL) { +#line 9626 "PhotoPage.c" + gboolean _tmp4_ = FALSE; +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = !_tmp4_; +#line 9632 "PhotoPage.c" + } else { +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = FALSE; +#line 9636 "PhotoPage.c" + } +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 9640 "PhotoPage.c" + gboolean _tmp5_ = FALSE; +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = page_get_alt_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = !_tmp5_; +#line 9646 "PhotoPage.c" + } else { +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = FALSE; +#line 9650 "PhotoPage.c" + } +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 9654 "PhotoPage.c" + gboolean _tmp6_ = FALSE; +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_host_page_has_photo (self); +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp6_; +#line 9660 "PhotoPage.c" + } else { +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 9664 "PhotoPage.c" + } +#line 1362 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 1363 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_swap_in_original (self); +#line 9670 "PhotoPage.c" + } +#line 1365 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = event; +#line 1365 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = PAGE_CLASS (editing_host_page_parent_class)->on_shift_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp7_); +#line 1365 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp8_; +#line 1365 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 9680 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_shift_released (Page* base, GdkEventKey* event) { + EditingHostPage * self; + gboolean result = FALSE; + EditingToolsEditingTool* _tmp0_ = NULL; + GdkEventKey* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1368 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1369 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1369 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ == NULL) { +#line 1370 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_swap_out_original (self); +#line 9698 "PhotoPage.c" + } +#line 1372 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = event; +#line 1372 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = PAGE_CLASS (editing_host_page_parent_class)->on_shift_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp1_); +#line 1372 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp2_; +#line 1372 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 9708 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_alt_pressed (Page* base, GdkEventKey* event) { + EditingHostPage * self; + gboolean result = FALSE; + EditingToolsEditingTool* _tmp0_ = NULL; + GdkEventKey* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1375 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1376 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1376 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ == NULL) { +#line 1377 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_swap_out_original (self); +#line 9726 "PhotoPage.c" + } +#line 1379 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = event; +#line 1379 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = PAGE_CLASS (editing_host_page_parent_class)->on_alt_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp1_); +#line 1379 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp2_; +#line 1379 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 9736 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_alt_released (Page* base, GdkEventKey* event) { + EditingHostPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + EditingToolsEditingTool* _tmp2_ = NULL; + GdkEventKey* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1382 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->current_tool; +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_ == NULL) { +#line 9754 "PhotoPage.c" + gboolean _tmp3_ = FALSE; +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = page_get_shift_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp3_; +#line 9760 "PhotoPage.c" + } else { +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = FALSE; +#line 9764 "PhotoPage.c" + } +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 9768 "PhotoPage.c" + gboolean _tmp4_ = FALSE; +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page_get_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = !_tmp4_; +#line 9774 "PhotoPage.c" + } else { +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 9778 "PhotoPage.c" + } +#line 1383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 1384 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_swap_in_original (self); +#line 9784 "PhotoPage.c" + } +#line 1386 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = event; +#line 1386 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = PAGE_CLASS (editing_host_page_parent_class)->on_alt_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp5_); +#line 1386 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp6_; +#line 1386 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 9794 "PhotoPage.c" +} + + +static void editing_host_page_swap_in_original (EditingHostPage* self) { + GdkPixbuf* original = NULL; + GdkPixbuf* _tmp9_ = NULL; + GtkScale* _tmp10_ = NULL; + gdouble _tmp11_ = 0.0; + GdkPixbuf* _tmp12_ = NULL; + Photo* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + GError * _inner_error_ = NULL; +#line 1389 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 9810 "PhotoPage.c" + { + GdkPixbuf* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + Orientation _tmp7_ = 0; + GdkPixbuf* _tmp8_ = NULL; +#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_get_photo (self); +#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = photo_get_prefetched_copy (_tmp2_, &_inner_error_); +#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp4_; +#line 1393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9835 "PhotoPage.c" + goto __catch236_g_error; + } +#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = editing_host_page_get_photo (self); +#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = photo_get_original_orientation (_tmp6_); +#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = orientation_rotate_pixbuf (_tmp7_, _tmp0_); +#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (original); +#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + original = _tmp8_; +#line 1392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp0_); +#line 9854 "PhotoPage.c" + } + goto __finally236; + __catch236_g_error: + { + GError* err = NULL; +#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 1395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 1395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (original); +#line 1395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 9870 "PhotoPage.c" + } + __finally236: +#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (original); +#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 1391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 9883 "PhotoPage.c" + } +#line 1399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = single_photo_page_get_unscaled_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->swapped); +#line 1399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->swapped = _tmp9_; +#line 1403 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = self->priv->zoom_slider; +#line 1403 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_range_get_type (), GtkRange)); +#line 1403 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp11_ != 0.0) { +#line 1404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_save_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1405 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 9901 "PhotoPage.c" + } +#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = original; +#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = editing_host_page_get_photo (self); +#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo_get_master_dimensions (_tmp14_, &_tmp15_); +#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp12_, &_tmp15_, NULL); +#line 1408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp14_); +#line 1389 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (original); +#line 9917 "PhotoPage.c" +} + + +static void editing_host_page_swap_out_original (EditingHostPage* self) { + GdkPixbuf* _tmp0_ = NULL; +#line 1411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1412 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->swapped; +#line 1412 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 9929 "PhotoPage.c" + GdkPixbuf* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; +#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->swapped; +#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (self); +#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp4_); +#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp1_, &_tmp4_, NULL); +#line 1413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 1415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_restore_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1416 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_cursor_for_zoom_context (self); +#line 1419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->swapped); +#line 1419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->swapped = NULL; +#line 9954 "PhotoPage.c" + } +} + + +static gpointer _editing_tools_editing_tool_ref0 (gpointer self) { +#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self ? editing_tools_editing_tool_ref (self) : NULL; +#line 9962 "PhotoPage.c" +} + + +static void editing_host_page_activate_tool (EditingHostPage* self, EditingToolsEditingTool* tool) { + Dimensions _tmp0_ = {0}; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* unscaled = NULL; + Dimensions max_dim = {0}; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; + Dimensions _tmp5_ = {0}; + GdkPixbuf* _tmp22_ = NULL; + EditingToolsPhotoCanvas* photo_canvas = NULL; + EditingHostPageEditingHostCanvas* _tmp25_ = NULL; + EditingToolsEditingTool* _tmp26_ = NULL; + EditingToolsEditingTool* _tmp27_ = NULL; + EditingToolsEditingTool* _tmp28_ = NULL; + EditingToolsPhotoCanvas* _tmp29_ = NULL; + GError * _inner_error_ = NULL; +#line 1423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (tool)); +#line 1426 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_save_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1427 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp0_, 0, 0); +#line 1431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE); +#line 1434 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = single_photo_page_get_unscaled_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1434 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->cancel_editing_pixbuf); +#line 1434 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->cancel_editing_pixbuf = _tmp1_; +#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (self); +#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp4_); +#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 1438 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_dim = _tmp5_; +#line 10013 "PhotoPage.c" + { + Dimensions tool_pixbuf_dim = {0}; + Dimensions _tmp6_ = {0}; + GdkPixbuf* _tmp7_ = NULL; + EditingToolsEditingTool* _tmp8_ = NULL; + Scaling _tmp9_ = {0}; + Photo* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; + Dimensions _tmp12_ = {0}; + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; +#line 1440 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_.width = 0; +#line 1440 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_pixbuf_dim = _tmp6_; +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = tool; +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp9_); +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = editing_host_page_get_photo (self); +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp10_; +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = editing_tools_editing_tool_get_display_pixbuf (_tmp8_, &_tmp9_, _tmp11_, &_tmp12_, &_inner_error_); +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_pixbuf_dim = _tmp12_; +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp11_); +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp14_; +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10051 "PhotoPage.c" + goto __catch237_g_error; + } +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp7_; +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = NULL; +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (unscaled); +#line 1441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + unscaled = _tmp15_; +#line 1443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = unscaled; +#line 1443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp16_ != NULL) { +#line 10066 "PhotoPage.c" + Dimensions _tmp17_ = {0}; +#line 1444 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = tool_pixbuf_dim; +#line 1444 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_dim = _tmp17_; +#line 10072 "PhotoPage.c" + } +#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 10076 "PhotoPage.c" + } + goto __finally237; + __catch237_g_error: + { + GError* err = NULL; + GError* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + GtkToggleToolButton* _tmp20_ = NULL; + GtkToggleToolButton* _tmp21_ = NULL; +#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 1446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = err; +#line 1446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_->message; +#line 1446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_warning ("PhotoPage.vala:1446: %s", _tmp19_); +#line 1447 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, TRUE); +#line 1450 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = self->priv->current_editing_toggle; +#line 1450 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp20_ != NULL, "current_editing_toggle != null"); +#line 1451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = self->priv->current_editing_toggle; +#line 1451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toggle_tool_button_set_active (_tmp21_, FALSE); +#line 1453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 1453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (unscaled); +#line 1453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 10112 "PhotoPage.c" + } + __finally237: +#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (unscaled); +#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 1439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 10125 "PhotoPage.c" + } +#line 1456 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = unscaled; +#line 1456 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp22_ != NULL) { +#line 10131 "PhotoPage.c" + GdkPixbuf* _tmp23_ = NULL; + Dimensions _tmp24_ = {0}; +#line 1457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = unscaled; +#line 1457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = max_dim; +#line 1457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp23_, &_tmp24_, NULL); +#line 10140 "PhotoPage.c" + } +#line 1460 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = editing_host_page_editing_host_canvas_new (self); +#line 1460 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo_canvas = G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvas); +#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = tool; +#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = _editing_tools_editing_tool_ref0 (_tmp26_); +#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_editing_tool_unref0 (self->priv->current_tool); +#line 1463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->current_tool = _tmp27_; +#line 1464 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = self->priv->current_tool; +#line 1464 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = photo_canvas; +#line 1464 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_editing_tool_activate (_tmp28_, _tmp29_); +#line 1467 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_place_tool_window (self); +#line 1470 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 1423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_photo_canvas_unref0 (photo_canvas); +#line 1423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (unscaled); +#line 10168 "PhotoPage.c" +} + + +static void _editing_host_page_on_tool_activated_editing_tools_editing_tool_activated (EditingToolsEditingTool* _sender, gpointer self) { +#line 1494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_activated ((EditingHostPage*) self); +#line 10175 "PhotoPage.c" +} + + +static void _editing_host_page_on_tool_deactivated_editing_tools_editing_tool_deactivated (EditingToolsEditingTool* _sender, gpointer self) { +#line 1495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_deactivated ((EditingHostPage*) self); +#line 10182 "PhotoPage.c" +} + + +static void _editing_host_page_on_tool_applied_editing_tools_editing_tool_applied (EditingToolsEditingTool* _sender, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement, gpointer self) { +#line 1496 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_applied ((EditingHostPage*) self, command, new_pixbuf, new_max_dim, needs_improvement); +#line 10189 "PhotoPage.c" +} + + +static void _editing_host_page_on_tool_cancelled_editing_tools_editing_tool_cancelled (EditingToolsEditingTool* _sender, gpointer self) { +#line 1497 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_cancelled ((EditingHostPage*) self); +#line 10196 "PhotoPage.c" +} + + +static void _editing_host_page_on_tool_aborted_editing_tools_editing_tool_aborted (EditingToolsEditingTool* _sender, gpointer self) { +#line 1498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_aborted ((EditingHostPage*) self); +#line 10203 "PhotoPage.c" +} + + +static gboolean _editing_host_page_update_pixbuf_gsource_func (gpointer self) { + gboolean result; + result = editing_host_page_update_pixbuf ((EditingHostPage*) self); +#line 1525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10212 "PhotoPage.c" +} + + +static void editing_host_page_deactivate_tool (EditingHostPage* self, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement) { + EditingToolsEditingTool* _tmp0_ = NULL; + EditingToolsEditingTool* tool = NULL; + EditingToolsEditingTool* _tmp1_ = NULL; + EditingToolsEditingTool* _tmp2_ = NULL; + EditingToolsEditingToolWindow* tool_window = NULL; + EditingToolsEditingTool* _tmp3_ = NULL; + EditingToolsEditingToolWindow* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + EditingToolsEditingToolWindow* _tmp6_ = NULL; + EditingToolsEditingTool* _tmp24_ = NULL; + EditingToolsEditingTool* _tmp25_ = NULL; + guint _tmp26_ = 0U; + EditingToolsEditingTool* _tmp27_ = NULL; + guint _tmp28_ = 0U; + EditingToolsEditingTool* _tmp29_ = NULL; + guint _tmp30_ = 0U; + EditingToolsEditingTool* _tmp31_ = NULL; + guint _tmp32_ = 0U; + EditingToolsEditingTool* _tmp33_ = NULL; + guint _tmp34_ = 0U; + GdkPixbuf* replacement = NULL; + GdkPixbuf* _tmp35_ = NULL; + GdkPixbuf* _tmp43_ = NULL; + gboolean _tmp46_ = FALSE; + Command* _tmp47_ = NULL; +#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail ((command == NULL) || IS_COMMAND (command)); +#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail ((new_pixbuf == NULL) || GDK_IS_PIXBUF (new_pixbuf)); +#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (new_max_dim != NULL); +#line 1475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ == NULL) { +#line 1476 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 10256 "PhotoPage.c" + } +#line 1478 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 1478 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _editing_tools_editing_tool_ref0 (_tmp1_); +#line 1478 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool = _tmp2_; +#line 1479 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_editing_tool_unref0 (self->priv->current_tool); +#line 1479 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->current_tool = NULL; +#line 1482 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = tool; +#line 1482 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = editing_tools_editing_tool_get_tool_window (_tmp3_); +#line 1482 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_window = _tmp4_; +#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = tool_window; +#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_ != NULL) { +#line 10278 "PhotoPage.c" + EditingToolsEditingToolWindow* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = tool_window; +#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = editing_tools_editing_tool_window_has_user_moved (_tmp7_); +#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp8_; +#line 10287 "PhotoPage.c" + } else { +#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = FALSE; +#line 10291 "PhotoPage.c" + } +#line 1483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_) { +#line 10295 "PhotoPage.c" + gint last_location_x = 0; + gint last_location_y = 0; + EditingToolsEditingToolWindow* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GeeHashMap* _tmp12_ = NULL; + EditingToolsEditingTool* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gint _tmp17_ = 0; + GeeHashMap* _tmp18_ = NULL; + EditingToolsEditingTool* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; +#line 1485 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = tool_window; +#line 1485 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_window_get_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_window_get_type (), GtkWindow), &_tmp10_, &_tmp11_); +#line 1485 "/home/jens/Source/shotwell/src/PhotoPage.vala" + last_location_x = _tmp10_; +#line 1485 "/home/jens/Source/shotwell/src/PhotoPage.vala" + last_location_y = _tmp11_; +#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = self->priv->last_locations; +#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = tool; +#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_->name; +#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = g_strconcat (_tmp14_, "_x", NULL); +#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = last_location_x; +#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_, (gpointer) ((gintptr) _tmp17_)); +#line 1486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp16_); +#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = self->priv->last_locations; +#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = tool; +#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_->name; +#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = g_strconcat (_tmp20_, "_y", NULL); +#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp21_; +#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = last_location_y; +#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp22_, (gpointer) ((gintptr) _tmp23_)); +#line 1487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp22_); +#line 10353 "PhotoPage.c" + } +#line 1492 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = tool; +#line 1492 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_editing_tool_deactivate (_tmp24_); +#line 1494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = tool; +#line 1494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("activated", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp26_, NULL, FALSE); +#line 1494 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp25_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp26_, 0, NULL, (GCallback) _editing_host_page_on_tool_activated_editing_tools_editing_tool_activated, self); +#line 1495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = tool; +#line 1495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("deactivated", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp28_, NULL, FALSE); +#line 1495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp27_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp28_, 0, NULL, (GCallback) _editing_host_page_on_tool_deactivated_editing_tools_editing_tool_deactivated, self); +#line 1496 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = tool; +#line 1496 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("applied", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp30_, NULL, FALSE); +#line 1496 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp29_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp30_, 0, NULL, (GCallback) _editing_host_page_on_tool_applied_editing_tools_editing_tool_applied, self); +#line 1497 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = tool; +#line 1497 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("cancelled", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp32_, NULL, FALSE); +#line 1497 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp31_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp32_, 0, NULL, (GCallback) _editing_host_page_on_tool_cancelled_editing_tools_editing_tool_cancelled, self); +#line 1498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = tool; +#line 1498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("aborted", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp34_, NULL, FALSE); +#line 1498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp33_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp34_, 0, NULL, (GCallback) _editing_host_page_on_tool_aborted_editing_tools_editing_tool_aborted, self); +#line 1500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_editing_tool_unref0 (tool); +#line 1500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool = NULL; +#line 1504 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->current_editing_toggle); +#line 1504 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->current_editing_toggle = NULL; +#line 1507 "/home/jens/Source/shotwell/src/PhotoPage.vala" + replacement = NULL; +#line 1508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = new_pixbuf; +#line 1508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp35_ != NULL) { +#line 10403 "PhotoPage.c" + GdkPixbuf* _tmp36_ = NULL; + GdkPixbuf* _tmp37_ = NULL; +#line 1509 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = new_pixbuf; +#line 1509 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = _g_object_ref0 (_tmp36_); +#line 1509 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (replacement); +#line 1509 "/home/jens/Source/shotwell/src/PhotoPage.vala" + replacement = _tmp37_; +#line 10414 "PhotoPage.c" + } else { + GdkPixbuf* _tmp38_ = NULL; +#line 1510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = self->priv->cancel_editing_pixbuf; +#line 1510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp38_ != NULL) { +#line 10421 "PhotoPage.c" + GdkPixbuf* _tmp39_ = NULL; + GdkPixbuf* _tmp40_ = NULL; + GdkPixbuf* _tmp41_ = NULL; + Dimensions _tmp42_ = {0}; +#line 1511 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = self->priv->cancel_editing_pixbuf; +#line 1511 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = _g_object_ref0 (_tmp39_); +#line 1511 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (replacement); +#line 1511 "/home/jens/Source/shotwell/src/PhotoPage.vala" + replacement = _tmp40_; +#line 1512 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = replacement; +#line 1512 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_for_pixbuf (_tmp41_, &_tmp42_); +#line 1512 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *new_max_dim = _tmp42_; +#line 1513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + needs_improvement = FALSE; +#line 10442 "PhotoPage.c" + } else { +#line 1515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + needs_improvement = TRUE; +#line 10446 "PhotoPage.c" + } + } +#line 1518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = replacement; +#line 1518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp43_ != NULL) { +#line 10453 "PhotoPage.c" + GdkPixbuf* _tmp44_ = NULL; + Dimensions _tmp45_ = {0}; +#line 1519 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = replacement; +#line 1519 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = *new_max_dim; +#line 1519 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp44_, &_tmp45_, NULL); +#line 10462 "PhotoPage.c" + } +#line 1520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->cancel_editing_pixbuf); +#line 1520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->cancel_editing_pixbuf = NULL; +#line 1523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = needs_improvement; +#line 1523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp46_) { +#line 1524 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = TRUE; +#line 1525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _editing_host_page_update_pixbuf_gsource_func, g_object_ref (self), g_object_unref); +#line 10476 "PhotoPage.c" + } +#line 1529 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = command; +#line 1529 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp47_ != NULL) { +#line 10482 "PhotoPage.c" + CommandManager* _tmp48_ = NULL; + CommandManager* _tmp49_ = NULL; + Command* _tmp50_ = NULL; +#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp49_ = _tmp48_; +#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_ = command; +#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp49_, _tmp50_); +#line 1530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp49_); +#line 10496 "PhotoPage.c" + } +#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (replacement); +#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (tool_window); +#line 1473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_editing_tool_unref0 (tool); +#line 10504 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_double_click (EditingHostPage* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 1535 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 1536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10516 "PhotoPage.c" +} + + +gboolean editing_host_page_on_double_click (EditingHostPage* self, GdkEventButton* event) { +#line 1535 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1535 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return EDITING_HOST_PAGE_GET_CLASS (self)->on_double_click (self, event); +#line 10525 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_left_click (Page* base, GdkEventButton* event) { + EditingHostPage * self; + gboolean result = FALSE; + GdkEventButton* _tmp0_ = NULL; + GdkEventType _tmp1_ = 0; + gint x = 0; + GdkEventButton* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + gint y = 0; + GdkEventButton* _tmp8_ = NULL; + gdouble _tmp9_ = 0.0; + gboolean _tmp10_ = FALSE; + EditingToolsEditingTool* _tmp11_ = NULL; + EditingToolsEditingTool* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gboolean _tmp21_ = FALSE; + EditingToolsEditingTool* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; +#line 1540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = event; +#line 1542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_->type; +#line 1542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ == GDK_2BUTTON_PRESS) { +#line 10559 "PhotoPage.c" + gboolean _tmp2_ = FALSE; + EditingToolsEditingTool* _tmp3_ = NULL; +#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->current_tool; +#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_ == NULL) { +#line 10566 "PhotoPage.c" + GdkEventButton* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = event; +#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = editing_host_page_on_double_click (self, _tmp4_); +#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp5_; +#line 10575 "PhotoPage.c" + } else { +#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = FALSE; +#line 10579 "PhotoPage.c" + } +#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp2_; +#line 1543 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10585 "PhotoPage.c" + } +#line 1545 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = event; +#line 1545 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_->x; +#line 1545 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = (gint) _tmp7_; +#line 1546 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = event; +#line 1546 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_->y; +#line 1546 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = (gint) _tmp9_; +#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = self->priv->current_tool; +#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp11_ == NULL) { +#line 10603 "PhotoPage.c" + GtkScale* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; +#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = self->priv->zoom_slider; +#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_range_get_type (), GtkRange)); +#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp13_ != 0.0; +#line 10612 "PhotoPage.c" + } else { +#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = FALSE; +#line 10616 "PhotoPage.c" + } +#line 1550 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp10_) { +#line 10620 "PhotoPage.c" + GdkEventButton* _tmp14_ = NULL; + gdouble _tmp15_ = 0.0; + GdkEventButton* _tmp16_ = NULL; + gdouble _tmp17_ = 0.0; +#line 1551 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = event; +#line 1551 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp14_->x; +#line 1551 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->zoom_pan_start_point.x = (gint) _tmp15_; +#line 1552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = event; +#line 1552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp16_->y; +#line 1552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->zoom_pan_start_point.y = (gint) _tmp17_; +#line 1553 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->is_pan_in_progress = TRUE; +#line 1554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_suspend_cursor_hiding (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1556 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1556 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10645 "PhotoPage.c" + } +#line 1560 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = self->priv->current_tool; +#line 1560 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp18_ == NULL) { +#line 1561 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 1561 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10655 "PhotoPage.c" + } +#line 1566 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = x; +#line 1566 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = y; +#line 1566 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = single_photo_page_is_inside_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp19_, _tmp20_); +#line 1566 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp21_) { +#line 1567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10669 "PhotoPage.c" + } +#line 1569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = self->priv->current_tool; +#line 1569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = x; +#line 1569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = y; +#line 1569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_editing_tool_on_left_click (_tmp22_, _tmp23_, _tmp24_); +#line 1572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10683 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_left_released (Page* base, GdkEventButton* event) { + EditingHostPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + EditingToolsEditingTool* _tmp21_ = NULL; + EditingToolsEditingTool* _tmp22_ = NULL; + GdkEventButton* _tmp23_ = NULL; + gdouble _tmp24_ = 0.0; + GdkEventButton* _tmp25_ = NULL; + gdouble _tmp26_ = 0.0; + EditingToolsEditingTool* _tmp27_ = NULL; + EditingToolsEditingToolWindow* _tmp28_ = NULL; + EditingToolsEditingToolWindow* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; +#line 1575 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1575 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1576 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->is_pan_in_progress; +#line 1576 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 10709 "PhotoPage.c" + GdkPoint viewport_center = {0}; + ZoomState _tmp1_ = {0}; + GdkPoint _tmp2_ = {0}; + gint delta_x = 0; + GdkEventButton* _tmp3_ = NULL; + gdouble _tmp4_ = 0.0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + gint delta_y = 0; + GdkEventButton* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + GdkPoint _tmp9_ = {0}; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + ZoomState zoom_state = {0}; + ZoomState _tmp15_ = {0}; + GdkPoint _tmp16_ = {0}; + ZoomState _tmp17_ = {0}; + ZoomBuffer* _tmp18_ = NULL; + ZoomBuffer* _tmp19_ = NULL; + ZoomState _tmp20_ = {0}; +#line 1577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_); +#line 1577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewport_center (&_tmp1_, &_tmp2_); +#line 1577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center = _tmp2_; +#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = event; +#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_->x; +#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = self->priv->zoom_pan_start_point; +#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_.x; +#line 1578 "/home/jens/Source/shotwell/src/PhotoPage.vala" + delta_x = ((gint) _tmp4_) - _tmp6_; +#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = event; +#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_->y; +#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = self->priv->zoom_pan_start_point; +#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_.y; +#line 1579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + delta_y = ((gint) _tmp8_) - _tmp10_; +#line 1580 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = viewport_center.x; +#line 1580 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = delta_x; +#line 1580 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.x = _tmp11_ - _tmp12_; +#line 1581 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = viewport_center.y; +#line 1581 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = delta_y; +#line 1581 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.y = _tmp13_ - _tmp14_; +#line 1583 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp15_); +#line 1583 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = viewport_center; +#line 1583 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init_pan (&zoom_state, &_tmp15_, &_tmp16_); +#line 1584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = zoom_state; +#line 1584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp17_); +#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = single_photo_page_get_zoom_buffer (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = zoom_state; +#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_buffer_flush_demand_cache (_tmp19_, &_tmp20_); +#line 1585 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp19_); +#line 1587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->is_pan_in_progress = FALSE; +#line 1588 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_restore_cursor_hiding (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 10796 "PhotoPage.c" + } +#line 1593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = self->priv->current_tool; +#line 1593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp21_ == NULL) { +#line 1594 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 1594 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10806 "PhotoPage.c" + } +#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = self->priv->current_tool; +#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = event; +#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_->x; +#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = event; +#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _tmp25_->y; +#line 1596 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_editing_tool_on_left_released (_tmp22_, (gint) _tmp24_, (gint) _tmp26_); +#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = self->priv->current_tool; +#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = editing_tools_editing_tool_get_tool_window (_tmp27_); +#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = _tmp28_; +#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = _tmp29_ != NULL; +#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp29_); +#line 1598 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp30_) { +#line 10832 "PhotoPage.c" + EditingToolsEditingTool* _tmp31_ = NULL; + EditingToolsEditingToolWindow* _tmp32_ = NULL; + EditingToolsEditingToolWindow* _tmp33_ = NULL; +#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = self->priv->current_tool; +#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = editing_tools_editing_tool_get_tool_window (_tmp31_); +#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = _tmp32_; +#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_window_get_type (), GtkWindow)); +#line 1599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp33_); +#line 10846 "PhotoPage.c" + } +#line 1601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 1601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10852 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_right_click (Page* base, GdkEventButton* event) { + EditingHostPage * self; + gboolean result = FALSE; + GdkEventButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 1604 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1604 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = event; +#line 1605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = page_on_context_buttonpress (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp0_); +#line 1605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp1_; +#line 1605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10873 "PhotoPage.c" +} + + +static gboolean _editing_host_page_on_fetch_original_gsource_func (gpointer self) { + gboolean result; + result = editing_host_page_on_fetch_original ((EditingHostPage*) self); +#line 1617 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 10882 "PhotoPage.c" +} + + +static void editing_host_page_on_photos_altered (EditingHostPage* self, GeeMap* map) { + GeeMap* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + Photo* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + gint _tmp11_ = 0; + ViewCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + gint _tmp14_ = 0; +#line 1608 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1608 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = map; +#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_get_photo (self); +#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = !_tmp3_; +#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 1609 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_) { +#line 1610 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 10922 "PhotoPage.c" + } +#line 1612 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = TRUE; +#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = editing_host_page_get_photo (self); +#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = photo_has_transformations (_tmp6_); +#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 1616 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp8_) { +#line 1617 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _editing_host_page_on_fetch_original_gsource_func, g_object_ref (self), g_object_unref); +#line 10940 "PhotoPage.c" + } +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = view_collection_get_selected_count (_tmp10_); +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = _tmp12_; +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_update_actions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp11_, _tmp14_); +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp13_); +#line 1619 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp10_); +#line 10960 "PhotoPage.c" +} + + +static void editing_host_page_on_view_contents_ordering_altered (EditingHostPage* self) { +#line 1622 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_refresh_caches (self, "on_view_contents_ordering_altered"); +#line 10969 "PhotoPage.c" +} + + +static gboolean editing_host_page_on_fetch_original (EditingHostPage* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 1626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1627 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (self); +#line 1627 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 10982 "PhotoPage.c" + PixbufCache* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; +#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->master_cache; +#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (self); +#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixbuf_cache_prefetch (_tmp1_, _tmp3_, BACKGROUND_JOB_JOB_PRIORITY_LOW, FALSE); +#line 1628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 10996 "PhotoPage.c" + } +#line 1630 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 1630 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11002 "PhotoPage.c" +} + + +static gboolean editing_host_page_is_panning_possible (EditingHostPage* self) { + gboolean result = FALSE; + Dimensions content_dim = {0}; + Dimensions _tmp0_ = {0}; + ZoomState _tmp1_ = {0}; + gint _tmp2_ = 0; + ZoomState _tmp3_ = {0}; + gint _tmp4_ = 0; + Dimensions canvas_dim = {0}; + Dimensions _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 1633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1636 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_.width = 0; +#line 1636 "/home/jens/Source/shotwell/src/PhotoPage.vala" + content_dim = _tmp0_; +#line 1637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_); +#line 1637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = zoom_state_get_zoomed_width (&_tmp1_); +#line 1637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + content_dim.width = _tmp2_; +#line 1638 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp3_); +#line 1638 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = zoom_state_get_zoomed_height (&_tmp3_); +#line 1638 "/home/jens/Source/shotwell/src/PhotoPage.vala" + content_dim.height = _tmp4_; +#line 1639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_); +#line 1639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + canvas_dim = _tmp5_; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = canvas_dim; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_.width; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = content_dim; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_.width; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp8_ >= _tmp10_) { +#line 11053 "PhotoPage.c" + Dimensions _tmp11_ = {0}; + gint _tmp12_ = 0; + Dimensions _tmp13_ = {0}; + gint _tmp14_ = 0; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = canvas_dim; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_.height; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = content_dim; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_.height; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp12_ >= _tmp14_; +#line 11068 "PhotoPage.c" + } else { +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = FALSE; +#line 11072 "PhotoPage.c" + } +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = !_tmp6_; +#line 1641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11078 "PhotoPage.c" +} + + +static void editing_host_page_update_cursor_for_zoom_context (EditingHostPage* self) { + gboolean _tmp0_ = FALSE; +#line 1644 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_is_panning_possible (self); +#line 1645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 1646 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_page_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), GDK_FLEUR); +#line 11092 "PhotoPage.c" + } else { +#line 1648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_page_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), GDK_LEFT_PTR); +#line 11096 "PhotoPage.c" + } +} + + +static gboolean editing_host_page_real_on_motion (Page* base, GdkEventMotion* event, gint x, gint y, GdkModifierType mask) { + EditingHostPage * self; + gboolean result = FALSE; + EditingToolsEditingTool* _tmp0_ = NULL; + gboolean _tmp6_ = FALSE; + GdkEventMotion* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + GdkModifierType _tmp27_ = 0; + gboolean _tmp28_ = FALSE; +#line 1652 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1652 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 11119 "PhotoPage.c" + EditingToolsEditingTool* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GdkModifierType _tmp4_ = 0; + GdkEventMotion* _tmp5_ = NULL; +#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = x; +#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = y; +#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = mask; +#line 1654 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_editing_tool_on_motion (_tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 1657 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = event; +#line 1657 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gdk_event_request_motions (_tmp5_); +#line 1659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11143 "PhotoPage.c" + } +#line 1662 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_update_cursor_for_zoom_context (self); +#line 1664 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->is_pan_in_progress; +#line 1664 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 11151 "PhotoPage.c" + gint delta_x = 0; + GdkEventMotion* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + GdkPoint _tmp9_ = {0}; + gint _tmp10_ = 0; + gint delta_y = 0; + GdkEventMotion* _tmp11_ = NULL; + gdouble _tmp12_ = 0.0; + GdkPoint _tmp13_ = {0}; + gint _tmp14_ = 0; + GdkPoint viewport_center = {0}; + ZoomState _tmp15_ = {0}; + GdkPoint _tmp16_ = {0}; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + ZoomState zoom_state = {0}; + ZoomState _tmp21_ = {0}; + GdkPoint _tmp22_ = {0}; + ZoomState _tmp23_ = {0}; +#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = event; +#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_->x; +#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = self->priv->zoom_pan_start_point; +#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_.x; +#line 1665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + delta_x = ((gint) _tmp8_) - _tmp10_; +#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = event; +#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_->y; +#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = self->priv->zoom_pan_start_point; +#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_.y; +#line 1666 "/home/jens/Source/shotwell/src/PhotoPage.vala" + delta_y = ((gint) _tmp12_) - _tmp14_; +#line 1668 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp15_); +#line 1668 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewport_center (&_tmp15_, &_tmp16_); +#line 1668 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center = _tmp16_; +#line 1669 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = viewport_center.x; +#line 1669 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = delta_x; +#line 1669 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.x = _tmp17_ - _tmp18_; +#line 1670 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = viewport_center.y; +#line 1670 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = delta_y; +#line 1670 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.y = _tmp19_ - _tmp20_; +#line 1672 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp21_); +#line 1672 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = viewport_center; +#line 1672 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init_pan (&zoom_state, &_tmp21_, &_tmp22_); +#line 1674 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = zoom_state; +#line 1674 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_on_interactive_pan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp23_); +#line 1675 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1675 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11225 "PhotoPage.c" + } +#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = event; +#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = x; +#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = y; +#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = mask; +#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = PAGE_CLASS (editing_host_page_parent_class)->on_motion (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp24_, _tmp25_, _tmp26_, _tmp27_); +#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp28_; +#line 1678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11241 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_leave_notify_event (Page* base) { + EditingHostPage * self; + gboolean result = FALSE; + EditingToolsEditingTool* _tmp0_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1682 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1682 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 11256 "PhotoPage.c" + EditingToolsEditingTool* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1683 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 1683 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_tools_editing_tool_on_leave_notify_event (_tmp1_); +#line 1683 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp2_; +#line 1683 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11267 "PhotoPage.c" + } +#line 1685 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = PAGE_CLASS (editing_host_page_parent_class)->on_leave_notify_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page)); +#line 1685 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp3_; +#line 1685 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11275 "PhotoPage.c" +} + + +static void editing_host_page_track_tool_window (EditingHostPage* self) { + EditingToolsEditingTool* _tmp0_ = NULL; +#line 1688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1690 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1690 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 11287 "PhotoPage.c" + EditingToolsEditingToolWindow* tool_window = NULL; + EditingToolsEditingTool* _tmp1_ = NULL; + EditingToolsEditingToolWindow* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + EditingToolsEditingToolWindow* _tmp4_ = NULL; +#line 1691 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 1691 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_tools_editing_tool_get_tool_window (_tmp1_); +#line 1691 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_window = _tmp2_; +#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = tool_window; +#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_ != NULL) { +#line 11303 "PhotoPage.c" + EditingToolsEditingToolWindow* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = tool_window; +#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_tools_editing_tool_window_has_user_moved (_tmp5_); +#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = !_tmp6_; +#line 11312 "PhotoPage.c" + } else { +#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = FALSE; +#line 11316 "PhotoPage.c" + } +#line 1692 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_) { +#line 1693 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_place_tool_window (self); +#line 11322 "PhotoPage.c" + } +#line 1690 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (tool_window); +#line 11326 "PhotoPage.c" + } +} + + +static void editing_host_page_real_on_move (Page* base, GdkRectangle* rect) { + EditingHostPage * self; + GdkRectangle _tmp0_ = {0}; +#line 1697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (rect != NULL); +#line 1698 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_track_tool_window (self); +#line 1700 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = *rect; +#line 1700 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->on_move (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), &_tmp0_); +#line 11344 "PhotoPage.c" +} + + +static void editing_host_page_real_on_move_finished (Page* base, GdkRectangle* rect) { + EditingHostPage * self; + GeeHashMap* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; +#line 1703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (rect != NULL); +#line 1704 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->last_locations; +#line 1704 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_abstract_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); +#line 1706 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = *rect; +#line 1706 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (editing_host_page_parent_class)->on_move_finished (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), &_tmp1_); +#line 11364 "PhotoPage.c" +} + + +static gboolean editing_host_page_on_keyboard_pan_event (EditingHostPage* self, GdkEventKey* event) { + gboolean result = FALSE; + ZoomState current_zoom_state = {0}; + ZoomState _tmp0_ = {0}; + GdkPoint viewport_center = {0}; + GdkPoint _tmp1_ = {0}; + GdkEventKey* _tmp2_ = NULL; + guint _tmp3_ = 0U; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GQuark _tmp7_ = 0U; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label0 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label1 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label2 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label3 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label4 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label5 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label6 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label7 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label8 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label9 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label10 = 0; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp6_label11 = 0; +#line 11403 "PhotoPage.c" + ZoomState new_zoom_state = {0}; + ZoomState _tmp12_ = {0}; + GdkPoint _tmp13_ = {0}; + ZoomState _tmp14_ = {0}; +#line 1709 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1709 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1710 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp0_); +#line 1710 "/home/jens/Source/shotwell/src/PhotoPage.vala" + current_zoom_state = _tmp0_; +#line 1711 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_get_viewport_center (¤t_zoom_state, &_tmp1_); +#line 1711 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center = _tmp1_; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = event; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_->keyval; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = gdk_keyval_name (_tmp3_); +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_); +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (((_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("Left")))) || (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("KP_Left"))))) || (_tmp7_ == ((0 != _tmp6_label2) ? _tmp6_label2 : (_tmp6_label2 = g_quark_from_static_string ("KP_4"))))) { +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11434 "PhotoPage.c" + default: + { + gint _tmp8_ = 0; +#line 1717 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = viewport_center.x; +#line 1717 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.x = _tmp8_ - EDITING_HOST_PAGE_PAN_INCREMENT_SIZE; +#line 1718 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 11444 "PhotoPage.c" + } + } + } else if (((_tmp7_ == ((0 != _tmp6_label3) ? _tmp6_label3 : (_tmp6_label3 = g_quark_from_static_string ("Right")))) || (_tmp7_ == ((0 != _tmp6_label4) ? _tmp6_label4 : (_tmp6_label4 = g_quark_from_static_string ("KP_Right"))))) || (_tmp7_ == ((0 != _tmp6_label5) ? _tmp6_label5 : (_tmp6_label5 = g_quark_from_static_string ("KP_6"))))) { +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11450 "PhotoPage.c" + default: + { + gint _tmp9_ = 0; +#line 1723 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = viewport_center.x; +#line 1723 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.x = _tmp9_ + EDITING_HOST_PAGE_PAN_INCREMENT_SIZE; +#line 1724 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 11460 "PhotoPage.c" + } + } + } else if (((_tmp7_ == ((0 != _tmp6_label6) ? _tmp6_label6 : (_tmp6_label6 = g_quark_from_static_string ("Down")))) || (_tmp7_ == ((0 != _tmp6_label7) ? _tmp6_label7 : (_tmp6_label7 = g_quark_from_static_string ("KP_Down"))))) || (_tmp7_ == ((0 != _tmp6_label8) ? _tmp6_label8 : (_tmp6_label8 = g_quark_from_static_string ("KP_2"))))) { +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11466 "PhotoPage.c" + default: + { + gint _tmp10_ = 0; +#line 1729 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = viewport_center.y; +#line 1729 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.y = _tmp10_ + EDITING_HOST_PAGE_PAN_INCREMENT_SIZE; +#line 1730 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 11476 "PhotoPage.c" + } + } + } else if (((_tmp7_ == ((0 != _tmp6_label9) ? _tmp6_label9 : (_tmp6_label9 = g_quark_from_static_string ("Up")))) || (_tmp7_ == ((0 != _tmp6_label10) ? _tmp6_label10 : (_tmp6_label10 = g_quark_from_static_string ("KP_Up"))))) || (_tmp7_ == ((0 != _tmp6_label11) ? _tmp6_label11 : (_tmp6_label11 = g_quark_from_static_string ("KP_8"))))) { +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11482 "PhotoPage.c" + default: + { + gint _tmp11_ = 0; +#line 1735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = viewport_center.y; +#line 1735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_center.y = _tmp11_ - EDITING_HOST_PAGE_PAN_INCREMENT_SIZE; +#line 1736 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 11492 "PhotoPage.c" + } + } + } else { +#line 1713 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11498 "PhotoPage.c" + default: + { +#line 1739 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 1739 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11505 "PhotoPage.c" + } + } + } +#line 1742 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = current_zoom_state; +#line 1742 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = viewport_center; +#line 1742 "/home/jens/Source/shotwell/src/PhotoPage.vala" + zoom_state_init_pan (&new_zoom_state, &_tmp12_, &_tmp13_); +#line 1743 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = new_zoom_state; +#line 1743 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_set_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp14_); +#line 1744 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 1746 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1746 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11525 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + EditingHostPage * self; + gboolean result = FALSE; + EditingToolsEditingTool* _tmp0_ = NULL; + gboolean _tmp4_ = FALSE; + GdkEventKey* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean handled = FALSE; + GdkEventKey* _tmp9_ = NULL; + guint _tmp10_ = 0U; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GQuark _tmp14_ = 0U; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp13_label0 = 0; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp13_label1 = 0; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp13_label2 = 0; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp13_label3 = 0; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp13_label4 = 0; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp13_label5 = 0; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp13_label6 = 0; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp13_label7 = 0; +#line 11558 "PhotoPage.c" + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; +#line 1749 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1749 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1751 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1751 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 11569 "PhotoPage.c" + EditingToolsEditingTool* _tmp1_ = NULL; + GdkEventKey* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1752 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 1752 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = event; +#line 1752 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_tools_editing_tool_on_keypress (_tmp1_, _tmp2_); +#line 1752 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_) { +#line 1753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11585 "PhotoPage.c" + } + } +#line 1757 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = editing_host_page_is_panning_possible (self); +#line 1757 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_) { +#line 11592 "PhotoPage.c" + GdkEventKey* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = event; +#line 1758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_host_page_on_keyboard_pan_event (self, _tmp5_); +#line 1758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 1759 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1759 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11605 "PhotoPage.c" + } + } +#line 1765 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = event; +#line 1765 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = editing_host_page_on_zoom_slider_key_press (self, _tmp7_); +#line 1765 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp8_) { +#line 1766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11618 "PhotoPage.c" + } +#line 1768 "/home/jens/Source/shotwell/src/PhotoPage.vala" + handled = TRUE; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = event; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_->keyval; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = gdk_keyval_name (_tmp10_); +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = (NULL == _tmp12_) ? 0 : g_quark_from_string (_tmp12_); +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((_tmp14_ == ((0 != _tmp13_label0) ? _tmp13_label0 : (_tmp13_label0 = g_quark_from_static_string ("Down")))) || (_tmp14_ == ((0 != _tmp13_label1) ? _tmp13_label1 : (_tmp13_label1 = g_quark_from_static_string ("KP_Down"))))) { +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11636 "PhotoPage.c" + default: + { +#line 1775 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 11641 "PhotoPage.c" + } + } + } else if (((_tmp14_ == ((0 != _tmp13_label2) ? _tmp13_label2 : (_tmp13_label2 = g_quark_from_static_string ("equal")))) || (_tmp14_ == ((0 != _tmp13_label3) ? _tmp13_label3 : (_tmp13_label3 = g_quark_from_static_string ("plus"))))) || (_tmp14_ == ((0 != _tmp13_label4) ? _tmp13_label4 : (_tmp13_label4 = g_quark_from_static_string ("KP_Add"))))) { +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11647 "PhotoPage.c" + default: + { +#line 1780 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize"); +#line 1781 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 11654 "PhotoPage.c" + } + } + } else if (((_tmp14_ == ((0 != _tmp13_label5) ? _tmp13_label5 : (_tmp13_label5 = g_quark_from_static_string ("minus")))) || (_tmp14_ == ((0 != _tmp13_label6) ? _tmp13_label6 : (_tmp13_label6 = g_quark_from_static_string ("underscore"))))) || (_tmp14_ == ((0 != _tmp13_label7) ? _tmp13_label7 : (_tmp13_label7 = g_quark_from_static_string ("KP_Subtract"))))) { +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11660 "PhotoPage.c" + default: + { +#line 1787 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize"); +#line 1788 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 11667 "PhotoPage.c" + } + } + } else { +#line 1770 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 11673 "PhotoPage.c" + default: + { +#line 1791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + handled = FALSE; +#line 1792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 11680 "PhotoPage.c" + } + } + } +#line 1795 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = handled; +#line 1795 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp15_) { +#line 1796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 1796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11692 "PhotoPage.c" + } +#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (GTK_WIDGET_CLASS (editing_host_page_parent_class)->key_press_event != NULL) { +#line 11696 "PhotoPage.c" + GdkEventKey* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = event; +#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = GTK_WIDGET_CLASS (editing_host_page_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), gtk_widget_get_type (), GtkWidget), _tmp17_); +#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp18_; +#line 11705 "PhotoPage.c" + } else { +#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = TRUE; +#line 11709 "PhotoPage.c" + } +#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp16_; +#line 1798 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11715 "PhotoPage.c" +} + + +static void editing_host_page_real_new_surface (SinglePhotoPage* base, cairo_t* default_ctx, Dimensions* dim) { + EditingHostPage * self; + EditingToolsEditingTool* _tmp0_ = NULL; +#line 1801 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1801 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (default_ctx != NULL); +#line 1801 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (dim != NULL); +#line 1803 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1803 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 11732 "PhotoPage.c" + EditingToolsEditingTool* _tmp1_ = NULL; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + cairo_t* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; +#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_->canvas; +#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = default_ctx; +#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = *dim; +#line 1804 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_photo_canvas_set_surface (_tmp2_, _tmp3_, &_tmp4_); +#line 11747 "PhotoPage.c" + } +} + + +static void editing_host_page_real_updated_pixbuf (SinglePhotoPage* base, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim) { + EditingHostPage * self; + gboolean _tmp0_ = FALSE; + EditingToolsEditingTool* _tmp1_ = NULL; +#line 1807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 1807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (old_dim != NULL); +#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ != NULL) { +#line 11766 "PhotoPage.c" + SinglePhotoPageUpdateReason _tmp2_ = 0; +#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = reason; +#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp2_ != SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT; +#line 11772 "PhotoPage.c" + } else { +#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 11776 "PhotoPage.c" + } +#line 1811 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 11780 "PhotoPage.c" + EditingToolsEditingTool* _tmp3_ = NULL; + EditingToolsPhotoCanvas* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + GdkPixbuf* _tmp6_ = NULL; + GdkRectangle _tmp7_ = {0}; +#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->current_tool; +#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_->canvas; +#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = *old_dim; +#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = pixbuf; +#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_scaled_pixbuf_position (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp7_); +#line 1812 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_photo_canvas_resized_pixbuf (_tmp4_, &_tmp5_, _tmp6_, &_tmp7_); +#line 1813 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->cancel_editing_pixbuf); +#line 1813 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->cancel_editing_pixbuf = NULL; +#line 11802 "PhotoPage.c" + } +} + + +static GdkPixbuf* editing_host_page_real_get_bottom_left_trinket (EditingHostPage* self, gint scale) { + GdkPixbuf* result = NULL; +#line 1818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = NULL; +#line 1818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11813 "PhotoPage.c" +} + + +GdkPixbuf* editing_host_page_get_bottom_left_trinket (EditingHostPage* self, gint scale) { +#line 1817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL); +#line 1817 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return EDITING_HOST_PAGE_GET_CLASS (self)->get_bottom_left_trinket (self, scale); +#line 11822 "PhotoPage.c" +} + + +static GdkPixbuf* editing_host_page_real_get_top_left_trinket (EditingHostPage* self, gint scale) { + GdkPixbuf* result = NULL; +#line 1822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = NULL; +#line 1822 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11832 "PhotoPage.c" +} + + +GdkPixbuf* editing_host_page_get_top_left_trinket (EditingHostPage* self, gint scale) { +#line 1821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL); +#line 1821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return EDITING_HOST_PAGE_GET_CLASS (self)->get_top_left_trinket (self, scale); +#line 11841 "PhotoPage.c" +} + + +static GdkPixbuf* editing_host_page_real_get_top_right_trinket (EditingHostPage* self, gint scale) { + GdkPixbuf* result = NULL; +#line 1826 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = NULL; +#line 1826 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11851 "PhotoPage.c" +} + + +GdkPixbuf* editing_host_page_get_top_right_trinket (EditingHostPage* self, gint scale) { +#line 1825 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL); +#line 1825 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return EDITING_HOST_PAGE_GET_CLASS (self)->get_top_right_trinket (self, scale); +#line 11860 "PhotoPage.c" +} + + +static GdkPixbuf* editing_host_page_real_get_bottom_right_trinket (EditingHostPage* self, gint scale) { + GdkPixbuf* result = NULL; +#line 1830 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = NULL; +#line 1830 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 11870 "PhotoPage.c" +} + + +GdkPixbuf* editing_host_page_get_bottom_right_trinket (EditingHostPage* self, gint scale) { +#line 1829 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), NULL); +#line 1829 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return EDITING_HOST_PAGE_GET_CLASS (self)->get_bottom_right_trinket (self, scale); +#line 11879 "PhotoPage.c" +} + + +static void editing_host_page_real_paint (SinglePhotoPage* base, cairo_t* ctx, Dimensions* ctx_dim) { + EditingHostPage * self; + EditingToolsEditingTool* _tmp0_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + cairo_t* _tmp23_ = NULL; + Dimensions _tmp24_ = {0}; + ZoomState _tmp25_ = {0}; + gboolean _tmp26_ = FALSE; + GdkRectangle scaled_rect = {0}; + GdkRectangle _tmp27_ = {0}; + GdkPixbuf* trinket = NULL; + GdkPixbuf* _tmp28_ = NULL; + GdkPixbuf* _tmp29_ = NULL; + GdkPixbuf* _tmp53_ = NULL; + GdkPixbuf* _tmp54_ = NULL; + GdkPixbuf* _tmp73_ = NULL; + GdkPixbuf* _tmp74_ = NULL; + GdkPixbuf* _tmp98_ = NULL; + GdkPixbuf* _tmp99_ = NULL; +#line 1833 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 1833 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (ctx != NULL); +#line 1833 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (ctx_dim != NULL); +#line 1834 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 1834 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ != NULL) { +#line 11913 "PhotoPage.c" + EditingToolsEditingTool* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; +#line 1835 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 1835 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = ctx; +#line 1835 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_editing_tool_paint (_tmp1_, _tmp2_); +#line 1837 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 11924 "PhotoPage.c" + } +#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = self->priv->photo_missing; +#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_) { +#line 11930 "PhotoPage.c" + gboolean _tmp5_ = FALSE; +#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = editing_host_page_has_photo (self); +#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp5_; +#line 11936 "PhotoPage.c" + } else { +#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = FALSE; +#line 11940 "PhotoPage.c" + } +#line 1840 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_) { +#line 11944 "PhotoPage.c" + cairo_t* _tmp6_ = NULL; + cairo_t* _tmp7_ = NULL; + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; + Dimensions _tmp10_ = {0}; + gint _tmp11_ = 0; + cairo_t* _tmp12_ = NULL; + cairo_t* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 1841 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = ctx; +#line 1841 "/home/jens/Source/shotwell/src/PhotoPage.vala" + set_source_color_from_string (_tmp6_, "#000"); +#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = ctx; +#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp8_); +#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_.width; +#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp10_); +#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp10_.height; +#line 1842 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_rectangle (_tmp7_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp9_, (gdouble) _tmp11_); +#line 1843 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = ctx; +#line 1843 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_fill (_tmp12_); +#line 1844 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = ctx; +#line 1844 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_paint (_tmp13_); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _ ("Photo source file missing: %s"); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = editing_host_page_get_photo (self); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _tmp17_; +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = g_file_get_path (_tmp18_); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_; +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = g_strdup_printf (_tmp14_, _tmp20_); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp21_; +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_draw_message (self, _tmp22_); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp22_); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp20_); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp18_); +#line 1845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 1846 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12016 "PhotoPage.c" + } +#line 1849 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = ctx; +#line 1849 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = *ctx_dim; +#line 1849 "/home/jens/Source/shotwell/src/PhotoPage.vala" + SINGLE_PHOTO_PAGE_CLASS (editing_host_page_parent_class)->paint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp23_, &_tmp24_); +#line 1851 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp25_); +#line 1851 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = zoom_state_is_default (&_tmp25_); +#line 1851 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp26_) { +#line 1852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12032 "PhotoPage.c" + } +#line 1855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_scaled_pixbuf_position (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp27_); +#line 1855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaled_rect = _tmp27_; +#line 1857 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = editing_host_page_get_bottom_left_trinket (self, EDITING_HOST_PAGE_TRINKET_SCALE); +#line 1857 "/home/jens/Source/shotwell/src/PhotoPage.vala" + trinket = _tmp28_; +#line 1858 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = trinket; +#line 1858 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp29_ != NULL) { +#line 12046 "PhotoPage.c" + gint x = 0; + GdkRectangle _tmp30_ = {0}; + gint _tmp31_ = 0; + gint y = 0; + GdkRectangle _tmp32_ = {0}; + gint _tmp33_ = 0; + GdkRectangle _tmp34_ = {0}; + gint _tmp35_ = 0; + GdkPixbuf* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + cairo_t* _tmp39_ = NULL; + GdkPixbuf* _tmp40_ = NULL; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + cairo_t* _tmp43_ = NULL; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + GdkPixbuf* _tmp46_ = NULL; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + GdkPixbuf* _tmp49_ = NULL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + cairo_t* _tmp52_ = NULL; +#line 1859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = scaled_rect; +#line 1859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = _tmp30_.x; +#line 1859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = _tmp31_ + EDITING_HOST_PAGE_TRINKET_PADDING; +#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = scaled_rect; +#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = _tmp32_.y; +#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = scaled_rect; +#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = _tmp34_.height; +#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = trinket; +#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = gdk_pixbuf_get_height (_tmp36_); +#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = _tmp37_; +#line 1860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = ((_tmp33_ + _tmp35_) - _tmp38_) - EDITING_HOST_PAGE_TRINKET_PADDING; +#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = ctx; +#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = trinket; +#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = x; +#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = y; +#line 1861 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gdk_cairo_set_source_pixbuf (_tmp39_, _tmp40_, (gdouble) _tmp41_, (gdouble) _tmp42_); +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = ctx; +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = x; +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = y; +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = trinket; +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = gdk_pixbuf_get_width (_tmp46_); +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48_ = _tmp47_; +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp49_ = trinket; +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_ = gdk_pixbuf_get_height (_tmp49_); +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51_ = _tmp50_; +#line 1862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_rectangle (_tmp43_, (gdouble) _tmp44_, (gdouble) _tmp45_, (gdouble) _tmp48_, (gdouble) _tmp51_); +#line 1863 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp52_ = ctx; +#line 1863 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_fill (_tmp52_); +#line 12128 "PhotoPage.c" + } +#line 1866 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_ = editing_host_page_get_top_left_trinket (self, EDITING_HOST_PAGE_TRINKET_SCALE); +#line 1866 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (trinket); +#line 1866 "/home/jens/Source/shotwell/src/PhotoPage.vala" + trinket = _tmp53_; +#line 1867 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp54_ = trinket; +#line 1867 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp54_ != NULL) { +#line 12140 "PhotoPage.c" + gint x = 0; + GdkRectangle _tmp55_ = {0}; + gint _tmp56_ = 0; + gint y = 0; + GdkRectangle _tmp57_ = {0}; + gint _tmp58_ = 0; + cairo_t* _tmp59_ = NULL; + GdkPixbuf* _tmp60_ = NULL; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + cairo_t* _tmp63_ = NULL; + gint _tmp64_ = 0; + gint _tmp65_ = 0; + GdkPixbuf* _tmp66_ = NULL; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + GdkPixbuf* _tmp69_ = NULL; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + cairo_t* _tmp72_ = NULL; +#line 1868 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp55_ = scaled_rect; +#line 1868 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_ = _tmp55_.x; +#line 1868 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = _tmp56_ + EDITING_HOST_PAGE_TRINKET_PADDING; +#line 1869 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp57_ = scaled_rect; +#line 1869 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp58_ = _tmp57_.y; +#line 1869 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = _tmp58_ + EDITING_HOST_PAGE_TRINKET_PADDING; +#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_ = ctx; +#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp60_ = trinket; +#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp61_ = x; +#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_ = y; +#line 1870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gdk_cairo_set_source_pixbuf (_tmp59_, _tmp60_, (gdouble) _tmp61_, (gdouble) _tmp62_); +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp63_ = ctx; +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp64_ = x; +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_ = y; +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp66_ = trinket; +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp67_ = gdk_pixbuf_get_width (_tmp66_); +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_ = _tmp67_; +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp69_ = trinket; +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp70_ = gdk_pixbuf_get_height (_tmp69_); +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_ = _tmp70_; +#line 1871 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_rectangle (_tmp63_, (gdouble) _tmp64_, (gdouble) _tmp65_, (gdouble) _tmp68_, (gdouble) _tmp71_); +#line 1872 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp72_ = ctx; +#line 1872 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_fill (_tmp72_); +#line 12207 "PhotoPage.c" + } +#line 1875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp73_ = editing_host_page_get_top_right_trinket (self, EDITING_HOST_PAGE_TRINKET_SCALE); +#line 1875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (trinket); +#line 1875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + trinket = _tmp73_; +#line 1876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_ = trinket; +#line 1876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp74_ != NULL) { +#line 12219 "PhotoPage.c" + gint x = 0; + GdkRectangle _tmp75_ = {0}; + gint _tmp76_ = 0; + GdkRectangle _tmp77_ = {0}; + gint _tmp78_ = 0; + GdkPixbuf* _tmp79_ = NULL; + gint _tmp80_ = 0; + gint _tmp81_ = 0; + gint y = 0; + GdkRectangle _tmp82_ = {0}; + gint _tmp83_ = 0; + cairo_t* _tmp84_ = NULL; + GdkPixbuf* _tmp85_ = NULL; + gint _tmp86_ = 0; + gint _tmp87_ = 0; + cairo_t* _tmp88_ = NULL; + gint _tmp89_ = 0; + gint _tmp90_ = 0; + GdkPixbuf* _tmp91_ = NULL; + gint _tmp92_ = 0; + gint _tmp93_ = 0; + GdkPixbuf* _tmp94_ = NULL; + gint _tmp95_ = 0; + gint _tmp96_ = 0; + cairo_t* _tmp97_ = NULL; +#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp75_ = scaled_rect; +#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp76_ = _tmp75_.x; +#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_ = scaled_rect; +#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp78_ = _tmp77_.width; +#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp79_ = trinket; +#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_ = gdk_pixbuf_get_width (_tmp79_); +#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp81_ = _tmp80_; +#line 1877 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = ((_tmp76_ + _tmp78_) - _tmp81_) - EDITING_HOST_PAGE_TRINKET_PADDING; +#line 1878 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp82_ = scaled_rect; +#line 1878 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_ = _tmp82_.y; +#line 1878 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = _tmp83_ + EDITING_HOST_PAGE_TRINKET_PADDING; +#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp84_ = ctx; +#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp85_ = trinket; +#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_ = x; +#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp87_ = y; +#line 1879 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gdk_cairo_set_source_pixbuf (_tmp84_, _tmp85_, (gdouble) _tmp86_, (gdouble) _tmp87_); +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp88_ = ctx; +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_ = x; +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp90_ = y; +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp91_ = trinket; +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_ = gdk_pixbuf_get_width (_tmp91_); +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp93_ = _tmp92_; +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp94_ = trinket; +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_ = gdk_pixbuf_get_height (_tmp94_); +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp96_ = _tmp95_; +#line 1880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_rectangle (_tmp88_, (gdouble) _tmp89_, (gdouble) _tmp90_, (gdouble) _tmp93_, (gdouble) _tmp96_); +#line 1881 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp97_ = ctx; +#line 1881 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_fill (_tmp97_); +#line 12301 "PhotoPage.c" + } +#line 1884 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_ = editing_host_page_get_bottom_right_trinket (self, EDITING_HOST_PAGE_TRINKET_SCALE); +#line 1884 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (trinket); +#line 1884 "/home/jens/Source/shotwell/src/PhotoPage.vala" + trinket = _tmp98_; +#line 1885 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp99_ = trinket; +#line 1885 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp99_ != NULL) { +#line 12313 "PhotoPage.c" + gint x = 0; + GdkRectangle _tmp100_ = {0}; + gint _tmp101_ = 0; + GdkRectangle _tmp102_ = {0}; + gint _tmp103_ = 0; + GdkPixbuf* _tmp104_ = NULL; + gint _tmp105_ = 0; + gint _tmp106_ = 0; + gint y = 0; + GdkRectangle _tmp107_ = {0}; + gint _tmp108_ = 0; + GdkRectangle _tmp109_ = {0}; + gint _tmp110_ = 0; + GdkPixbuf* _tmp111_ = NULL; + gint _tmp112_ = 0; + gint _tmp113_ = 0; + cairo_t* _tmp114_ = NULL; + GdkPixbuf* _tmp115_ = NULL; + gint _tmp116_ = 0; + gint _tmp117_ = 0; + cairo_t* _tmp118_ = NULL; + gint _tmp119_ = 0; + gint _tmp120_ = 0; + GdkPixbuf* _tmp121_ = NULL; + gint _tmp122_ = 0; + gint _tmp123_ = 0; + GdkPixbuf* _tmp124_ = NULL; + gint _tmp125_ = 0; + gint _tmp126_ = 0; + cairo_t* _tmp127_ = NULL; +#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp100_ = scaled_rect; +#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_ = _tmp100_.x; +#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp102_ = scaled_rect; +#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp103_ = _tmp102_.width; +#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_ = trinket; +#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp105_ = gdk_pixbuf_get_width (_tmp104_); +#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp106_ = _tmp105_; +#line 1886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = ((_tmp101_ + _tmp103_) - _tmp106_) - EDITING_HOST_PAGE_TRINKET_PADDING; +#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp107_ = scaled_rect; +#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp108_ = _tmp107_.y; +#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp109_ = scaled_rect; +#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp110_ = _tmp109_.height; +#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp111_ = trinket; +#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp112_ = gdk_pixbuf_get_height (_tmp111_); +#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp113_ = _tmp112_; +#line 1887 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = ((_tmp108_ + _tmp110_) - _tmp113_) - EDITING_HOST_PAGE_TRINKET_PADDING; +#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp114_ = ctx; +#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp115_ = trinket; +#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp116_ = x; +#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp117_ = y; +#line 1888 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gdk_cairo_set_source_pixbuf (_tmp114_, _tmp115_, (gdouble) _tmp116_, (gdouble) _tmp117_); +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp118_ = ctx; +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp119_ = x; +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp120_ = y; +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp121_ = trinket; +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp122_ = gdk_pixbuf_get_width (_tmp121_); +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp123_ = _tmp122_; +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp124_ = trinket; +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp125_ = gdk_pixbuf_get_height (_tmp124_); +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp126_ = _tmp125_; +#line 1889 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_rectangle (_tmp118_, (gdouble) _tmp119_, (gdouble) _tmp120_, (gdouble) _tmp123_, (gdouble) _tmp126_); +#line 1890 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp127_ = ctx; +#line 1890 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cairo_fill (_tmp127_); +#line 12410 "PhotoPage.c" + } +#line 1833 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (trinket); +#line 12414 "PhotoPage.c" +} + + +gboolean editing_host_page_is_rotate_available (EditingHostPage* self, Photo* photo) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 1894 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 1894 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_PHOTO (photo), FALSE); +#line 1895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->photo_missing; +#line 1895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = !_tmp0_; +#line 1895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 12431 "PhotoPage.c" +} + + +static void editing_host_page_rotate (EditingHostPage* self, Rotation rotation, const gchar* name, const gchar* description) { + Dimensions _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + RotateSingleCommand* command = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Rotation _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + RotateSingleCommand* _tmp7_ = NULL; + RotateSingleCommand* _tmp8_ = NULL; + CommandManager* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; + RotateSingleCommand* _tmp11_ = NULL; +#line 1898 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1898 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (name != NULL); +#line 1898 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (description != NULL); +#line 1899 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1901 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp0_, 0, 0); +#line 1901 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE); +#line 1903 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (self); +#line 1903 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp1_) { +#line 1904 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12467 "PhotoPage.c" + } +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (self); +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = rotation; +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = name; +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = description; +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = rotate_single_command_new (_tmp3_, _tmp4_, _tmp5_, _tmp6_); +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 1906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp8_; +#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = command; +#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_COMMAND, Command)); +#line 1908 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp10_); +#line 1898 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 12499 "PhotoPage.c" +} + + +void editing_host_page_on_rotate_clockwise (EditingHostPage* self) { +#line 1911 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1912 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rotate (self, ROTATION_CLOCKWISE, RESOURCES_ROTATE_CW_FULL_LABEL, RESOURCES_ROTATE_CW_TOOLTIP); +#line 12508 "PhotoPage.c" +} + + +void editing_host_page_on_rotate_counterclockwise (EditingHostPage* self) { +#line 1915 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1916 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rotate (self, ROTATION_COUNTERCLOCKWISE, RESOURCES_ROTATE_CCW_FULL_LABEL, RESOURCES_ROTATE_CCW_TOOLTIP); +#line 12517 "PhotoPage.c" +} + + +void editing_host_page_on_flip_horizontally (EditingHostPage* self) { +#line 1919 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1920 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rotate (self, ROTATION_MIRROR, RESOURCES_HFLIP_LABEL, ""); +#line 12526 "PhotoPage.c" +} + + +void editing_host_page_on_flip_vertically (EditingHostPage* self) { +#line 1923 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1924 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_rotate (self, ROTATION_UPSIDE_DOWN, RESOURCES_VFLIP_LABEL, ""); +#line 12535 "PhotoPage.c" +} + + +void editing_host_page_on_revert (EditingHostPage* self) { + gboolean _tmp0_ = FALSE; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + RevertSingleCommand* command = NULL; + Photo* _tmp17_ = NULL; + Photo* _tmp18_ = NULL; + RevertSingleCommand* _tmp19_ = NULL; + RevertSingleCommand* _tmp20_ = NULL; + CommandManager* _tmp21_ = NULL; + CommandManager* _tmp22_ = NULL; + RevertSingleCommand* _tmp23_ = NULL; +#line 1927 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->photo_missing; +#line 1928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 1929 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12563 "PhotoPage.c" + } +#line 1931 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp1_, 0, 0); +#line 1931 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp1_, FALSE); +#line 1933 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_has_photo (self); +#line 1933 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp2_) { +#line 1934 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12575 "PhotoPage.c" + } +#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (self); +#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = photo_has_editable (_tmp4_); +#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 1936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 12589 "PhotoPage.c" + AppWindow* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + Photo* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = app_window_get_instance (); +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = view_collection_get_sources (_tmp10_); +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = revert_editable_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), _tmp12_); +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = !_tmp13_; +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp10_); +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 1937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp14_) { +#line 1939 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12626 "PhotoPage.c" + } +#line 1942 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = editing_host_page_get_photo (self); +#line 1942 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 1942 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo_revert_to_master (_tmp16_, TRUE); +#line 1942 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 12636 "PhotoPage.c" + } +#line 1945 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 1947 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, FALSE); +#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = editing_host_page_get_photo (self); +#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _tmp17_; +#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = revert_single_command_new (_tmp18_); +#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_; +#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp18_); +#line 1949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp20_; +#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp21_; +#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = command; +#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command)); +#line 1950 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp22_); +#line 1927 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 12666 "PhotoPage.c" +} + + +void editing_host_page_on_edit_title (EditingHostPage* self) { + LibraryPhoto* item = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + EditTitleDialog* edit_title_dialog = NULL; + LibraryPhoto* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + EditTitleDialog* _tmp8_ = NULL; + EditTitleDialog* _tmp9_ = NULL; + gchar* new_title = NULL; + EditTitleDialog* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + EditTitleCommand* command = NULL; + LibraryPhoto* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + EditTitleCommand* _tmp15_ = NULL; + CommandManager* _tmp16_ = NULL; + CommandManager* _tmp17_ = NULL; + EditTitleCommand* _tmp18_ = NULL; +#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (self); +#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_LIBRARY_PHOTO); +#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 1955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 12704 "PhotoPage.c" + Photo* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; +#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (self); +#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp3_) : NULL; +#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_ == NULL) { +#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 12715 "PhotoPage.c" + } +#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (item); +#line 1956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + item = _tmp4_; +#line 12721 "PhotoPage.c" + } else { +#line 1958 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (item); +#line 1958 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12727 "PhotoPage.c" + } +#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = item; +#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = edit_title_dialog_new (_tmp7_); +#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp7_); +#line 1960 "/home/jens/Source/shotwell/src/PhotoPage.vala" + edit_title_dialog = _tmp9_; +#line 1961 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = edit_title_dialog; +#line 1961 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = edit_title_dialog_execute (_tmp10_); +#line 1961 "/home/jens/Source/shotwell/src/PhotoPage.vala" + new_title = _tmp11_; +#line 1962 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = new_title; +#line 1962 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp12_ == NULL) { +#line 1963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (new_title); +#line 1963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _text_entry_dialog_mediator_unref0 (edit_title_dialog); +#line 1963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (item); +#line 1963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12761 "PhotoPage.c" + } +#line 1965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = item; +#line 1965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = new_title; +#line 1965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = edit_title_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource), _tmp14_); +#line 1965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp15_; +#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp16_; +#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = command; +#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_COMMAND, Command)); +#line 1966 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp17_); +#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (new_title); +#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _text_entry_dialog_mediator_unref0 (edit_title_dialog); +#line 1953 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (item); +#line 12789 "PhotoPage.c" +} + + +void editing_host_page_on_edit_comment (EditingHostPage* self) { + LibraryPhoto* item = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + EditCommentDialog* edit_comment_dialog = NULL; + LibraryPhoto* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + EditCommentDialog* _tmp8_ = NULL; + EditCommentDialog* _tmp9_ = NULL; + gchar* new_comment = NULL; + EditCommentDialog* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + EditCommentCommand* command = NULL; + LibraryPhoto* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + EditCommentCommand* _tmp15_ = NULL; + CommandManager* _tmp16_ = NULL; + CommandManager* _tmp17_ = NULL; + EditCommentCommand* _tmp18_ = NULL; +#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (self); +#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_LIBRARY_PHOTO); +#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 1971 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_) { +#line 12827 "PhotoPage.c" + Photo* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; +#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (self); +#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp3_) : NULL; +#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_ == NULL) { +#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 12838 "PhotoPage.c" + } +#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (item); +#line 1972 "/home/jens/Source/shotwell/src/PhotoPage.vala" + item = _tmp4_; +#line 12844 "PhotoPage.c" + } else { +#line 1974 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (item); +#line 1974 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12850 "PhotoPage.c" + } +#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = item; +#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = media_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = edit_comment_dialog_new (_tmp7_, FALSE); +#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp7_); +#line 1976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + edit_comment_dialog = _tmp9_; +#line 1977 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = edit_comment_dialog; +#line 1977 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = edit_comment_dialog_execute (_tmp10_); +#line 1977 "/home/jens/Source/shotwell/src/PhotoPage.vala" + new_comment = _tmp11_; +#line 1978 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = new_comment; +#line 1978 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp12_ == NULL) { +#line 1979 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (new_comment); +#line 1979 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog); +#line 1979 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (item); +#line 1979 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12884 "PhotoPage.c" + } +#line 1981 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = item; +#line 1981 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = new_comment; +#line 1981 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = edit_comment_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource), _tmp14_); +#line 1981 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp15_; +#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp16_; +#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = command; +#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_COMMAND, Command)); +#line 1982 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp17_); +#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (new_comment); +#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog); +#line 1969 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (item); +#line 12912 "PhotoPage.c" +} + + +void editing_host_page_on_adjust_date_time (EditingHostPage* self) { + gboolean _tmp0_ = FALSE; + AdjustDateTimeDialog* dialog = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + AdjustDateTimeDialog* _tmp3_ = NULL; + AdjustDateTimeDialog* _tmp4_ = NULL; + gint64 time_shift = 0LL; + gboolean keep_relativity = FALSE; + gboolean modify_originals = FALSE; + AdjustDateTimeDialog* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 1985 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 1986 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (self); +#line 1986 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp0_) { +#line 1987 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 12939 "PhotoPage.c" + } +#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_get_photo (self); +#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = adjust_date_time_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATEABLE, Dateable), 1, !G_TYPE_CHECK_INSTANCE_TYPE (self, TYPE_DIRECT_PHOTO_PAGE), FALSE, FALSE); +#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp3_); +#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 1989 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dialog = _tmp4_; +#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = dialog; +#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = adjust_date_time_dialog_execute (_tmp5_, &_tmp6_, &_tmp7_, &_tmp8_); +#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala" + time_shift = _tmp6_; +#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala" + keep_relativity = _tmp7_; +#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala" + modify_originals = _tmp8_; +#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp9_) { +#line 12967 "PhotoPage.c" + ViewCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + GeeList* _tmp12_ = NULL; + GeeList* _tmp13_ = NULL; + AdjustDateTimePhotoCommand* command = NULL; + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + gint64 _tmp16_ = 0LL; + gboolean _tmp17_ = FALSE; + AdjustDateTimePhotoCommand* _tmp18_ = NULL; + AdjustDateTimePhotoCommand* _tmp19_ = NULL; + CommandManager* _tmp20_ = NULL; + CommandManager* _tmp21_ = NULL; + AdjustDateTimePhotoCommand* _tmp22_ = NULL; +#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp10_; +#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = view_collection_get_selected (_tmp11_); +#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = _tmp12_; +#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp13_); +#line 1994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp11_); +#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = editing_host_page_get_photo (self); +#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp14_; +#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = time_shift; +#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = modify_originals; +#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = adjust_date_time_photo_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATEABLE, Dateable), _tmp16_, _tmp17_); +#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp15_); +#line 1996 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp19_; +#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = _tmp20_; +#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = command; +#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_COMMAND, Command)); +#line 1998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp21_); +#line 1993 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 13022 "PhotoPage.c" + } +#line 1985 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (dialog); +#line 13026 "PhotoPage.c" +} + + +void editing_host_page_on_set_background (EditingHostPage* self) { + gboolean _tmp0_ = FALSE; +#line 2002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2003 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (self); +#line 2003 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 13038 "PhotoPage.c" + SetBackgroundPhotoDialog* dialog = NULL; + SetBackgroundPhotoDialog* _tmp1_ = NULL; + gboolean desktop = FALSE; + gboolean screensaver = FALSE; + SetBackgroundPhotoDialog* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 2004 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = set_background_photo_dialog_new (); +#line 2004 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dialog = _tmp1_; +#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = dialog; +#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = set_background_photo_dialog_execute (_tmp2_, &_tmp3_, &_tmp4_); +#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + desktop = _tmp3_; +#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + screensaver = _tmp4_; +#line 2006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_) { +#line 13061 "PhotoPage.c" + AppWindow* _tmp6_ = NULL; + AppWindow* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + AppWindow* _tmp12_ = NULL; + AppWindow* _tmp13_ = NULL; +#line 2007 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = app_window_get_instance (); +#line 2007 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 2007 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PAGE_WINDOW, PageWindow)); +#line 2007 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = editing_host_page_get_photo (self); +#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = desktop; +#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = screensaver; +#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala" + desktop_integration_set_background (_tmp9_, _tmp10_, _tmp11_); +#line 2008 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp9_); +#line 2009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = app_window_get_instance (); +#line 2009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = _tmp12_; +#line 2009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PAGE_WINDOW, PageWindow)); +#line 2009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp13_); +#line 13098 "PhotoPage.c" + } +#line 2003 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _set_background_dialog_unref0 (dialog); +#line 13102 "PhotoPage.c" + } +} + + +static void _editing_host_page_on_rotate_counterclockwise_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 2019 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_rotate_counterclockwise ((EditingHostPage*) self); +#line 13110 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_ctrl_pressed (Page* base, GdkEventKey* event) { + EditingHostPage * self; + gboolean result = FALSE; + GtkToolButton* _tmp0_ = NULL; + GtkToolButton* _tmp1_ = NULL; + GtkToolButton* _tmp2_ = NULL; + GtkToolButton* _tmp3_ = NULL; + guint _tmp4_ = 0U; + GtkToolButton* _tmp5_ = NULL; + EditingToolsEditingTool* _tmp6_ = NULL; + GdkEventKey* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 2014 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 2015 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->rotate_button; +#line 2015 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_icon_name (_tmp0_, RESOURCES_COUNTERCLOCKWISE); +#line 2016 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->rotate_button; +#line 2016 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_label (_tmp1_, RESOURCES_ROTATE_CCW_LABEL); +#line 2017 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->rotate_button; +#line 2017 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ROTATE_CCW_TOOLTIP); +#line 2018 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->rotate_button; +#line 2018 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("clicked", gtk_tool_button_get_type (), &_tmp4_, NULL, FALSE); +#line 2018 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked, self); +#line 2019 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = self->priv->rotate_button; +#line 2019 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp5_, "clicked", (GCallback) _editing_host_page_on_rotate_counterclockwise_gtk_tool_button_clicked, self, 0); +#line 2021 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = self->priv->current_tool; +#line 2021 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_ == NULL) { +#line 2022 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_swap_out_original (self); +#line 13156 "PhotoPage.c" + } +#line 2024 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = event; +#line 2024 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = PAGE_CLASS (editing_host_page_parent_class)->on_ctrl_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp7_); +#line 2024 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp8_; +#line 2024 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 13166 "PhotoPage.c" +} + + +static gboolean editing_host_page_real_on_ctrl_released (Page* base, GdkEventKey* event) { + EditingHostPage * self; + gboolean result = FALSE; + GtkToolButton* _tmp0_ = NULL; + GtkToolButton* _tmp1_ = NULL; + GtkToolButton* _tmp2_ = NULL; + GtkToolButton* _tmp3_ = NULL; + guint _tmp4_ = 0U; + GtkToolButton* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + EditingToolsEditingTool* _tmp8_ = NULL; + GdkEventKey* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 2027 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 2028 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->rotate_button; +#line 2028 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_icon_name (_tmp0_, RESOURCES_CLOCKWISE); +#line 2029 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->rotate_button; +#line 2029 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_button_set_label (_tmp1_, RESOURCES_ROTATE_CW_LABEL); +#line 2030 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->rotate_button; +#line 2030 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_tool_item_get_type (), GtkToolItem), RESOURCES_ROTATE_CW_TOOLTIP); +#line 2031 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->rotate_button; +#line 2031 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("clicked", gtk_tool_button_get_type (), &_tmp4_, NULL, FALSE); +#line 2031 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _editing_host_page_on_rotate_counterclockwise_gtk_tool_button_clicked, self); +#line 2032 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = self->priv->rotate_button; +#line 2032 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp5_, "clicked", (GCallback) _editing_host_page_on_rotate_clockwise_gtk_tool_button_clicked, self, 0); +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = self->priv->current_tool; +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp8_ == NULL) { +#line 13212 "PhotoPage.c" + gboolean _tmp9_ = FALSE; +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = page_get_shift_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp9_; +#line 13218 "PhotoPage.c" + } else { +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = FALSE; +#line 13222 "PhotoPage.c" + } +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp7_) { +#line 13226 "PhotoPage.c" + gboolean _tmp10_ = FALSE; +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = page_get_alt_pressed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = !_tmp10_; +#line 13232 "PhotoPage.c" + } else { +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = FALSE; +#line 13236 "PhotoPage.c" + } +#line 2034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 2035 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_swap_in_original (self); +#line 13242 "PhotoPage.c" + } +#line 2037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = event; +#line 2037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = PAGE_CLASS (editing_host_page_parent_class)->on_ctrl_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp11_); +#line 2037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp12_; +#line 2037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 13252 "PhotoPage.c" +} + + +void editing_host_page_on_tool_button_toggled (EditingHostPage* self, GtkToggleToolButton* toggle, EditingToolsEditingToolFactory factory) { + gboolean _tmp0_ = FALSE; + GtkToggleToolButton* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean deactivating_only = FALSE; + Dimensions _tmp6_ = {0}; + gboolean _tmp7_ = FALSE; + GtkToggleToolButton* _tmp8_ = NULL; + GtkToggleToolButton* _tmp9_ = NULL; + EditingToolsEditingTool* tool = NULL; + EditingToolsEditingToolFactory _tmp10_ = NULL; + EditingToolsEditingTool* _tmp11_ = NULL; + EditingToolsEditingTool* _tmp12_ = NULL; + EditingToolsEditingTool* _tmp13_ = NULL; + EditingToolsEditingTool* _tmp14_ = NULL; + EditingToolsEditingTool* _tmp15_ = NULL; + EditingToolsEditingTool* _tmp16_ = NULL; + EditingToolsEditingTool* _tmp17_ = NULL; +#line 2040 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2040 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GTK_IS_TOGGLE_TOOL_BUTTON (toggle)); +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = toggle; +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_); +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp3_) { +#line 13287 "PhotoPage.c" + GtkToggleToolButton* _tmp4_ = NULL; + GtkToggleToolButton* _tmp5_ = NULL; +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = self->priv->current_editing_toggle; +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = toggle; +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp4_ == _tmp5_; +#line 13296 "PhotoPage.c" + } else { +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 13300 "PhotoPage.c" + } +#line 2043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + deactivating_only = _tmp0_; +#line 2044 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp6_, 0, 0); +#line 2044 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp6_, FALSE); +#line 2046 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = deactivating_only; +#line 2046 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp7_) { +#line 2047 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_restore_cursor_hiding (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2048 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 13316 "PhotoPage.c" + } +#line 2051 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_suspend_cursor_hiding (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2053 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = toggle; +#line 2053 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 2053 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->current_editing_toggle); +#line 2053 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->current_editing_toggle = _tmp9_; +#line 2056 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = factory; +#line 2056 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp10_ (); +#line 2056 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool = _tmp11_; +#line 2057 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = tool; +#line 2057 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp12_, "activated", (GCallback) _editing_host_page_on_tool_activated_editing_tools_editing_tool_activated, self, 0); +#line 2058 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = tool; +#line 2058 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp13_, "deactivated", (GCallback) _editing_host_page_on_tool_deactivated_editing_tools_editing_tool_deactivated, self, 0); +#line 2059 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = tool; +#line 2059 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp14_, "applied", (GCallback) _editing_host_page_on_tool_applied_editing_tools_editing_tool_applied, self, 0); +#line 2060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = tool; +#line 2060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp15_, "cancelled", (GCallback) _editing_host_page_on_tool_cancelled_editing_tools_editing_tool_cancelled, self, 0); +#line 2061 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = tool; +#line 2061 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (_tmp16_, "aborted", (GCallback) _editing_host_page_on_tool_aborted_editing_tools_editing_tool_aborted, self, 0); +#line 2063 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = tool; +#line 2063 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_activate_tool (self, _tmp17_); +#line 2040 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_editing_tool_unref0 (tool); +#line 13360 "PhotoPage.c" +} + + +static void editing_host_page_on_tool_activated (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + GtkToggleToolButton* _tmp2_ = NULL; +#line 2066 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2067 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_editing_toggle; +#line 2067 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp0_ != NULL, "current_editing_toggle != null"); +#line 2068 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->zoom_slider; +#line 2068 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 2069 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->current_editing_toggle; +#line 2069 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toggle_tool_button_set_active (_tmp2_, TRUE); +#line 13382 "PhotoPage.c" +} + + +static void editing_host_page_on_tool_deactivated (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + GtkToggleToolButton* _tmp2_ = NULL; +#line 2072 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2073 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_editing_toggle; +#line 2073 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp0_ != NULL, "current_editing_toggle != null"); +#line 2074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->zoom_slider; +#line 2074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 2075 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = self->priv->current_editing_toggle; +#line 2075 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toggle_tool_button_set_active (_tmp2_, FALSE); +#line 13404 "PhotoPage.c" +} + + +static void editing_host_page_on_tool_applied (EditingHostPage* self, Command* command, GdkPixbuf* new_pixbuf, Dimensions* new_max_dim, gboolean needs_improvement) { + Command* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; +#line 2078 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2078 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail ((command == NULL) || IS_COMMAND (command)); +#line 2078 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail ((new_pixbuf == NULL) || GDK_IS_PIXBUF (new_pixbuf)); +#line 2078 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (new_max_dim != NULL); +#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = command; +#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = new_pixbuf; +#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = *new_max_dim; +#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = needs_improvement; +#line 2080 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, _tmp0_, _tmp1_, &_tmp2_, _tmp3_); +#line 13431 "PhotoPage.c" +} + + +static void editing_host_page_on_tool_cancelled (EditingHostPage* self) { + Dimensions _tmp0_ = {0}; +#line 2083 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2084 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp0_, 0, 0); +#line 2084 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE); +#line 2086 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_restore_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 2087 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 13447 "PhotoPage.c" +} + + +static void editing_host_page_on_tool_aborted (EditingHostPage* self) { + Dimensions _tmp0_ = {0}; +#line 2090 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2091 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp0_, 0, 0); +#line 2091 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE); +#line 2092 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_set_photo_missing (self, TRUE); +#line 13461 "PhotoPage.c" +} + + +void editing_host_page_toggle_crop (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; + GtkToggleToolButton* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 2095 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2096 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->crop_button; +#line 2096 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->crop_button; +#line 2096 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_); +#line 2096 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toggle_tool_button_set_active (_tmp0_, !_tmp2_); +#line 13479 "PhotoPage.c" +} + + +void editing_host_page_toggle_straighten (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; + GtkToggleToolButton* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 2099 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->straighten_button; +#line 2100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->straighten_button; +#line 2100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_); +#line 2100 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toggle_tool_button_set_active (_tmp0_, !_tmp2_); +#line 13497 "PhotoPage.c" +} + + +void editing_host_page_toggle_redeye (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; + GtkToggleToolButton* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 2103 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2104 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->redeye_button; +#line 2104 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->redeye_button; +#line 2104 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_); +#line 2104 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toggle_tool_button_set_active (_tmp0_, !_tmp2_); +#line 13515 "PhotoPage.c" +} + + +void editing_host_page_toggle_adjust (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; + GtkToggleToolButton* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 2107 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2108 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->adjust_button; +#line 2108 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->adjust_button; +#line 2108 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gtk_toggle_tool_button_get_active (_tmp1_); +#line 2108 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toggle_tool_button_set_active (_tmp0_, !_tmp2_); +#line 13533 "PhotoPage.c" +} + + +static EditingToolsEditingTool* _editing_tools_straighten_tool_factory_editing_tools_editing_tool_factory (void) { + EditingToolsEditingTool* result; + result = editing_tools_straighten_tool_factory (); +#line 2112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 13542 "PhotoPage.c" +} + + +static void editing_host_page_on_straighten_toggled (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; +#line 2111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->straighten_button; +#line 2112 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_button_toggled (self, _tmp0_, _editing_tools_straighten_tool_factory_editing_tools_editing_tool_factory); +#line 13554 "PhotoPage.c" +} + + +static EditingToolsEditingTool* _editing_tools_crop_tool_factory_editing_tools_editing_tool_factory (void) { + EditingToolsEditingTool* result; + result = editing_tools_crop_tool_factory (); +#line 2116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 13563 "PhotoPage.c" +} + + +static void editing_host_page_on_crop_toggled (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; +#line 2115 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->crop_button; +#line 2116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_button_toggled (self, _tmp0_, _editing_tools_crop_tool_factory_editing_tools_editing_tool_factory); +#line 13575 "PhotoPage.c" +} + + +static EditingToolsEditingTool* _editing_tools_redeye_tool_factory_editing_tools_editing_tool_factory (void) { + EditingToolsEditingTool* result; + result = editing_tools_redeye_tool_factory (); +#line 2120 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 13584 "PhotoPage.c" +} + + +static void editing_host_page_on_redeye_toggled (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; +#line 2119 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2120 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->redeye_button; +#line 2120 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_button_toggled (self, _tmp0_, _editing_tools_redeye_tool_factory_editing_tools_editing_tool_factory); +#line 13596 "PhotoPage.c" +} + + +static EditingToolsEditingTool* _editing_tools_adjust_tool_factory_editing_tools_editing_tool_factory (void) { + EditingToolsEditingTool* result; + result = editing_tools_adjust_tool_factory (); +#line 2124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 13605 "PhotoPage.c" +} + + +static void editing_host_page_on_adjust_toggled (EditingHostPage* self) { + GtkToggleToolButton* _tmp0_ = NULL; +#line 2123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->adjust_button; +#line 2124 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_tool_button_toggled (self, _tmp0_, _editing_tools_adjust_tool_factory_editing_tools_editing_tool_factory); +#line 13617 "PhotoPage.c" +} + + +gboolean editing_host_page_is_enhance_available (EditingHostPage* self, Photo* photo) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 2127 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 2127 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_PHOTO (photo), FALSE); +#line 2128 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->photo_missing; +#line 2128 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = !_tmp0_; +#line 2128 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 13634 "PhotoPage.c" +} + + +void editing_host_page_on_enhance (EditingHostPage* self) { + EditingToolsEditingTool* _tmp0_ = NULL; + gboolean _tmp2_ = FALSE; + EditingToolsAdjustTool* adjust_tool = NULL; + EditingToolsEditingTool* _tmp3_ = NULL; + EditingToolsAdjustTool* _tmp4_ = NULL; + EditingToolsAdjustTool* _tmp5_ = NULL; + EnhanceSingleCommand* command = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + EnhanceSingleCommand* _tmp9_ = NULL; + EnhanceSingleCommand* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + CommandManager* _tmp12_ = NULL; + EnhanceSingleCommand* _tmp13_ = NULL; +#line 2131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2135 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 2135 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, EDITING_TOOLS_TYPE_ADJUST_TOOL)) { +#line 13659 "PhotoPage.c" + Dimensions _tmp1_ = {0}; +#line 2136 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp1_, 0, 0); +#line 2136 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp1_, FALSE); +#line 2138 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_cancel_zoom (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 13667 "PhotoPage.c" + } +#line 2141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_has_photo (self); +#line 2141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp2_) { +#line 2142 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 13675 "PhotoPage.c" + } +#line 2144 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->current_tool; +#line 2144 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _editing_tools_editing_tool_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, EDITING_TOOLS_TYPE_ADJUST_TOOL) ? ((EditingToolsAdjustTool*) _tmp3_) : NULL); +#line 2144 "/home/jens/Source/shotwell/src/PhotoPage.vala" + adjust_tool = _tmp4_; +#line 2145 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = adjust_tool; +#line 2145 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_ != NULL) { +#line 13687 "PhotoPage.c" + EditingToolsAdjustTool* _tmp6_ = NULL; +#line 2146 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = adjust_tool; +#line 2146 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_tools_adjust_tool_enhance (_tmp6_); +#line 2148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_editing_tool_unref0 (adjust_tool); +#line 2148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 13697 "PhotoPage.c" + } +#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (self); +#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = enhance_single_command_new (_tmp8_); +#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 2151 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp10_; +#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = command; +#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_COMMAND, Command)); +#line 2152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp12_); +#line 2131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 2131 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_editing_tool_unref0 (adjust_tool); +#line 13725 "PhotoPage.c" +} + + +void editing_host_page_on_copy_adjustments (EditingHostPage* self) { + gboolean _tmp0_ = FALSE; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + PixelTransformationBundle* _tmp3_ = NULL; + PixelTransformationBundle* _tmp4_ = NULL; +#line 2155 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (self); +#line 2156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp0_) { +#line 2157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 13743 "PhotoPage.c" + } +#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_get_photo (self); +#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = photo_get_color_adjustments (_tmp2_); +#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + pixel_transformation_bundle_set_copied_color_adjustments (_tmp4_); +#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _pixel_transformation_bundle_unref0 (_tmp4_); +#line 2158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 2159 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PasteColorAdjustments", TRUE); +#line 13761 "PhotoPage.c" +} + + +void editing_host_page_on_paste_adjustments (EditingHostPage* self) { + PixelTransformationBundle* copied_adjustments = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + AdjustColorsSingleCommand* command = NULL; + Photo* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + PixelTransformationBundle* _tmp6_ = NULL; + AdjustColorsSingleCommand* _tmp7_ = NULL; + AdjustColorsSingleCommand* _tmp8_ = NULL; + CommandManager* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; + AdjustColorsSingleCommand* _tmp11_ = NULL; +#line 2162 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2163 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = pixel_transformation_bundle_get_copied_color_adjustments (); +#line 2163 "/home/jens/Source/shotwell/src/PhotoPage.vala" + copied_adjustments = _tmp0_; +#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_has_photo (self); +#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp2_) { +#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = TRUE; +#line 13791 "PhotoPage.c" + } else { + PixelTransformationBundle* _tmp3_ = NULL; +#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = copied_adjustments; +#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp3_ == NULL; +#line 13798 "PhotoPage.c" + } +#line 2164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 2165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _pixel_transformation_bundle_unref0 (copied_adjustments); +#line 2165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 13806 "PhotoPage.c" + } +#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = editing_host_page_get_photo (self); +#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = copied_adjustments; +#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = adjust_colors_single_command_new (_tmp5_, _tmp6_, RESOURCES_PASTE_ADJUSTMENTS_LABEL, RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP); +#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp5_); +#line 2167 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp8_; +#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = command; +#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_COMMAND, Command)); +#line 2169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp10_); +#line 2162 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 2162 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _pixel_transformation_bundle_unref0 (copied_adjustments); +#line 13836 "PhotoPage.c" +} + + +static void editing_host_page_place_tool_window (EditingHostPage* self) { + EditingToolsEditingTool* _tmp0_ = NULL; + EditingToolsEditingToolWindow* tool_window = NULL; + EditingToolsEditingTool* _tmp1_ = NULL; + EditingToolsEditingToolWindow* _tmp2_ = NULL; + EditingToolsEditingToolWindow* _tmp3_ = NULL; + EditingToolsEditingToolWindow* _tmp4_ = NULL; + EditingToolsEditingToolWindow* _tmp5_ = NULL; + GtkAllocation tool_alloc = {0}; + EditingToolsEditingToolWindow* _tmp6_ = NULL; + GtkAllocation _tmp7_ = {0}; + gint x = 0; + gint y = 0; + GeeHashMap* _tmp8_ = NULL; + EditingToolsEditingTool* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + GdkScreen* screen = NULL; + GtkWindow* _tmp84_ = NULL; + GtkWindow* _tmp85_ = NULL; + GdkScreen* _tmp86_ = NULL; + GdkScreen* _tmp87_ = NULL; + GdkScreen* _tmp88_ = NULL; + gint _tmp89_ = 0; + GdkScreen* _tmp90_ = NULL; + gint _tmp91_ = 0; + GtkAllocation _tmp92_ = {0}; + gint _tmp93_ = 0; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + GdkScreen* _tmp96_ = NULL; + gint _tmp97_ = 0; + GtkAllocation _tmp98_ = {0}; + gint _tmp99_ = 0; + gint _tmp100_ = 0; + EditingToolsEditingToolWindow* _tmp101_ = NULL; + gint _tmp102_ = 0; + gint _tmp103_ = 0; + EditingToolsEditingToolWindow* _tmp104_ = NULL; + EditingToolsEditingToolWindow* _tmp105_ = NULL; +#line 2172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 2173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_ == NULL) { +#line 2174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 13891 "PhotoPage.c" + } +#line 2176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->current_tool; +#line 2176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_tools_editing_tool_get_tool_window (_tmp1_); +#line 2176 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_window = _tmp2_; +#line 2177 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = tool_window; +#line 2177 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_ == NULL) { +#line 2178 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (tool_window); +#line 2178 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 13907 "PhotoPage.c" + } +#line 2181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = tool_window; +#line 2181 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 2182 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = tool_window; +#line 2182 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 2185 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = tool_window; +#line 2185 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), &_tmp7_); +#line 2185 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tool_alloc = _tmp7_; +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = self->priv->last_locations; +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = self->priv->current_tool; +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_->name; +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = g_strconcat (_tmp10_, "_x", NULL); +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_); +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp12_); +#line 2189 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp14_) { +#line 13941 "PhotoPage.c" + GeeHashMap* _tmp15_ = NULL; + EditingToolsEditingTool* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + GeeHashMap* _tmp21_ = NULL; + EditingToolsEditingTool* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gpointer _tmp26_ = NULL; +#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = self->priv->last_locations; +#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = self->priv->current_tool; +#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp16_->name; +#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = g_strconcat (_tmp17_, "_x", NULL); +#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_); +#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = (gint) ((gintptr) _tmp20_); +#line 2190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp19_); +#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = self->priv->last_locations; +#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = self->priv->current_tool; +#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = _tmp22_->name; +#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = g_strconcat (_tmp23_, "_y", NULL); +#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = _tmp24_; +#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp25_); +#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = (gint) ((gintptr) _tmp26_); +#line 2191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp25_); +#line 13986 "PhotoPage.c" + } else { + GtkWindow* _tmp27_ = NULL; + GtkWindow* _tmp28_ = NULL; + AppWindow* _tmp29_ = NULL; + AppWindow* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = _tmp27_; +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = app_window_get_instance (); +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = _tmp29_; +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = _tmp28_ == G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_window_get_type (), GtkWindow); +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp30_); +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp28_); +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp31_) { +#line 14009 "PhotoPage.c" + gint rx = 0; + gint ry = 0; + GtkWindow* _tmp32_ = NULL; + GtkWindow* _tmp33_ = NULL; + GdkWindow* _tmp34_ = NULL; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + GtkAllocation viewport_allocation = {0}; + GtkViewport* _tmp37_ = NULL; + GtkAllocation _tmp38_ = {0}; + gint cx = 0; + gint cy = 0; + gint cwidth = 0; + gint cheight = 0; + GtkAllocation _tmp39_ = {0}; + gint _tmp40_ = 0; + GtkAllocation _tmp41_ = {0}; + gint _tmp42_ = 0; + GtkAllocation _tmp43_ = {0}; + gint _tmp44_ = 0; + GtkAllocation _tmp45_ = {0}; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + gint _tmp56_ = 0; + gint _tmp57_ = 0; + gint _tmp58_ = 0; + GtkAllocation _tmp59_ = {0}; + gint _tmp60_ = 0; +#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = _tmp32_; +#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget)); +#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gdk_window_get_root_origin (_tmp34_, &_tmp35_, &_tmp36_); +#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rx = _tmp35_; +#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ry = _tmp36_; +#line 2199 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp33_); +#line 2202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->viewport; +#line 2202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), &_tmp38_); +#line 2202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + viewport_allocation = _tmp38_; +#line 2205 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = viewport_allocation; +#line 2205 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = _tmp39_.x; +#line 2205 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cx = _tmp40_; +#line 2206 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = viewport_allocation; +#line 2206 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = _tmp41_.y; +#line 2206 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cy = _tmp42_; +#line 2207 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = viewport_allocation; +#line 2207 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = _tmp43_.width; +#line 2207 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cwidth = _tmp44_; +#line 2208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = viewport_allocation; +#line 2208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = _tmp45_.height; +#line 2208 "/home/jens/Source/shotwell/src/PhotoPage.vala" + cheight = _tmp46_; +#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (self, TYPE_DIRECT_PHOTO_PAGE)) { +#line 14084 "PhotoPage.c" + gint _tmp48_ = 0; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + GtkAllocation _tmp51_ = {0}; + gint _tmp52_ = 0; +#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48_ = rx; +#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp49_ = cx; +#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_ = cwidth; +#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51_ = tool_alloc; +#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp52_ = _tmp51_.width; +#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = ((_tmp48_ + _tmp49_) + (_tmp50_ / 2)) - (_tmp52_ / 2); +#line 14102 "PhotoPage.c" + } else { + gint _tmp53_ = 0; + gint _tmp54_ = 0; + gint _tmp55_ = 0; +#line 2213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_ = rx; +#line 2213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp54_ = cx; +#line 2213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp55_ = cwidth; +#line 2213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = (_tmp53_ + _tmp54_) + (_tmp55_ / 2); +#line 14115 "PhotoPage.c" + } +#line 2212 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = _tmp47_; +#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_ = ry; +#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp57_ = cy; +#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp58_ = cheight; +#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_ = tool_alloc; +#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp60_ = _tmp59_.height; +#line 2214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = ((_tmp56_ + _tmp57_) + _tmp58_) - ((_tmp60_ / 4) * 3); +#line 14131 "PhotoPage.c" + } else { + GtkWindow* _tmp61_ = NULL; + GtkWindow* _tmp62_ = NULL; + GtkAllocation toolbar_alloc = {0}; + GtkToolbar* _tmp63_ = NULL; + GtkToolbar* _tmp64_ = NULL; + GtkAllocation _tmp65_ = {0}; + GdkScreen* screen = NULL; + GtkWindow* _tmp66_ = NULL; + GtkWindow* _tmp67_ = NULL; + GdkScreen* _tmp68_ = NULL; + GdkScreen* _tmp69_ = NULL; + GdkScreen* _tmp70_ = NULL; + GdkScreen* _tmp71_ = NULL; + gint _tmp72_ = 0; + GdkScreen* _tmp73_ = NULL; + gint _tmp74_ = 0; + GtkAllocation _tmp75_ = {0}; + gint _tmp76_ = 0; + GtkAllocation _tmp77_ = {0}; + gint _tmp78_ = 0; + EditingToolsEditingTool* _tmp79_ = NULL; +#line 2216 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp61_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2216 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_ = _tmp61_; +#line 2216 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp62_, TYPE_FULLSCREEN_WINDOW), "get_container() is FullscreenWindow"); +#line 2216 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp62_); +#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp63_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp64_ = _tmp63_; +#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_widget_get_type (), GtkWidget), &_tmp65_); +#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + toolbar_alloc = _tmp65_; +#line 2221 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp64_); +#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp66_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp67_ = _tmp66_; +#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_ = gtk_window_get_screen (_tmp67_); +#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp69_ = _g_object_ref0 (_tmp68_); +#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp70_ = _tmp69_; +#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp67_); +#line 2223 "/home/jens/Source/shotwell/src/PhotoPage.vala" + screen = _tmp70_; +#line 2224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_ = screen; +#line 2224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp72_ = gdk_screen_get_width (_tmp71_); +#line 2224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = _tmp72_; +#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp73_ = screen; +#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_ = gdk_screen_get_height (_tmp73_); +#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp75_ = toolbar_alloc; +#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp76_ = _tmp75_.height; +#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_ = tool_alloc; +#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp78_ = _tmp77_.height; +#line 2225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = ((_tmp74_ - _tmp76_) - _tmp78_) - EDITING_HOST_PAGE_TOOL_WINDOW_SEPARATOR; +#line 2229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp79_ = self->priv->current_tool; +#line 2229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp79_, EDITING_TOOLS_TYPE_ADJUST_TOOL)) { +#line 14210 "PhotoPage.c" + gint _tmp80_ = 0; +#line 2230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_ = x; +#line 2230 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = (_tmp80_ * 3) / 4; +#line 14216 "PhotoPage.c" + } else { + gint _tmp81_ = 0; + GtkAllocation _tmp82_ = {0}; + gint _tmp83_ = 0; +#line 2232 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp81_ = x; +#line 2232 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp82_ = tool_alloc; +#line 2232 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_ = _tmp82_.width; +#line 2232 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = (_tmp81_ - _tmp83_) / 2; +#line 14229 "PhotoPage.c" + } +#line 2194 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (screen); +#line 14233 "PhotoPage.c" + } + } +#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp84_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp85_ = _tmp84_; +#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_ = gtk_window_get_screen (_tmp85_); +#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp87_ = _g_object_ref0 (_tmp86_); +#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp88_ = _tmp87_; +#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp85_); +#line 2238 "/home/jens/Source/shotwell/src/PhotoPage.vala" + screen = _tmp88_; +#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_ = x; +#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp90_ = screen; +#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp91_ = gdk_screen_get_width (_tmp90_); +#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_ = tool_alloc; +#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp93_ = _tmp92_.width; +#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp94_ = CLAMP (_tmp89_, 0, _tmp91_ - _tmp93_); +#line 2239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + x = _tmp94_; +#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_ = y; +#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp96_ = screen; +#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp97_ = gdk_screen_get_height (_tmp96_); +#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_ = tool_alloc; +#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp99_ = _tmp98_.height; +#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp100_ = CLAMP (_tmp95_, 0, _tmp97_ - _tmp99_); +#line 2240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + y = _tmp100_; +#line 2242 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_ = tool_window; +#line 2242 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp102_ = x; +#line 2242 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp103_ = y; +#line 2242 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_window_move (G_TYPE_CHECK_INSTANCE_CAST (_tmp101_, gtk_window_get_type (), GtkWindow), _tmp102_, _tmp103_); +#line 2243 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_ = tool_window; +#line 2243 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, gtk_widget_get_type (), GtkWidget)); +#line 2244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp105_ = tool_window; +#line 2244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_window_present (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, gtk_window_get_type (), GtkWindow)); +#line 2172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (screen); +#line 2172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (tool_window); +#line 14298 "PhotoPage.c" +} + + +static void editing_host_page_real_on_next_photo (SinglePhotoPage* base) { + EditingHostPage * self; + Dimensions _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + Photo* current_photo = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + DataView* current = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; + DataView* next = NULL; + DataView* _tmp11_ = NULL; + DataView* _tmp12_ = NULL; +#line 2247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 2248 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp0_, 0, 0); +#line 2248 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE); +#line 2250 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (self); +#line 2250 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp1_) { +#line 2251 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 14332 "PhotoPage.c" + } +#line 2253 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (self); +#line 2253 "/home/jens/Source/shotwell/src/PhotoPage.vala" + current_photo = _tmp2_; +#line 2254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = current_photo; +#line 2254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp3_ != NULL, "current_photo != null"); +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_host_page_get_photo (self); +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = view_collection_get_view_for_source (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource)); +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp5_); +#line 2256 "/home/jens/Source/shotwell/src/PhotoPage.vala" + current = _tmp9_; +#line 2257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = current; +#line 2257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp10_ == NULL) { +#line 2258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (current); +#line 2258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (current_photo); +#line 2258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 14370 "PhotoPage.c" + } +#line 2261 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = current; +#line 2261 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _g_object_ref0 (_tmp11_); +#line 2261 "/home/jens/Source/shotwell/src/PhotoPage.vala" + next = _tmp12_; +#line 14378 "PhotoPage.c" + { + gboolean _tmp13_ = FALSE; +#line 2262 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = TRUE; +#line 2262 "/home/jens/Source/shotwell/src/PhotoPage.vala" + while (TRUE) { +#line 14385 "PhotoPage.c" + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + DataView* _tmp16_ = NULL; + DataView* _tmp17_ = NULL; + DataView* _tmp18_ = NULL; + Photo* next_photo = NULL; + DataView* _tmp19_ = NULL; + DataSource* _tmp20_ = NULL; + Photo* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; + Photo* _tmp23_ = NULL; + Photo* _tmp24_ = NULL; + Photo* _tmp25_ = NULL; +#line 2262 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp13_) { +#line 14401 "PhotoPage.c" + } +#line 2262 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = FALSE; +#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp14_; +#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = next; +#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = view_collection_get_next (_tmp15_, _tmp16_); +#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next); +#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + next = _tmp17_; +#line 2263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp15_); +#line 2264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = next; +#line 2264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp18_ == NULL) { +#line 2265 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 14425 "PhotoPage.c" + } +#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = next; +#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = data_view_get_source (_tmp19_); +#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, TYPE_PHOTO) ? ((Photo*) _tmp20_) : NULL; +#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp21_ == NULL) { +#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp20_); +#line 14437 "PhotoPage.c" + } +#line 2267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + next_photo = _tmp21_; +#line 2268 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = next_photo; +#line 2268 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp22_ == NULL) { +#line 2269 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next_photo); +#line 2269 "/home/jens/Source/shotwell/src/PhotoPage.vala" + continue; +#line 14449 "PhotoPage.c" + } +#line 2271 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = next_photo; +#line 2271 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = current_photo; +#line 2271 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp23_ == _tmp24_) { +#line 2272 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next_photo); +#line 2272 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 14461 "PhotoPage.c" + } +#line 2274 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = next_photo; +#line 2274 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_replace_photo (self, _tmp25_); +#line 2276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next_photo); +#line 2276 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 14471 "PhotoPage.c" + } + } +#line 2247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (next); +#line 2247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (current); +#line 2247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (current_photo); +#line 14480 "PhotoPage.c" +} + + +static void editing_host_page_real_on_previous_photo (SinglePhotoPage* base) { + EditingHostPage * self; + Dimensions _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + Photo* current_photo = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + DataView* current = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; + DataView* previous = NULL; + DataView* _tmp11_ = NULL; + DataView* _tmp12_ = NULL; +#line 2280 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 2281 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dimensions_init (&_tmp0_, 0, 0); +#line 2281 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_deactivate_tool (self, NULL, NULL, &_tmp0_, FALSE); +#line 2283 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (self); +#line 2283 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp1_) { +#line 2284 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 14514 "PhotoPage.c" + } +#line 2286 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (self); +#line 2286 "/home/jens/Source/shotwell/src/PhotoPage.vala" + current_photo = _tmp2_; +#line 2287 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = current_photo; +#line 2287 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp3_ != NULL, "current_photo != null"); +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_host_page_get_photo (self); +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = view_collection_get_view_for_source (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource)); +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp5_); +#line 2289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + current = _tmp9_; +#line 2290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = current; +#line 2290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp10_ == NULL) { +#line 2291 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (current); +#line 2291 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (current_photo); +#line 2291 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 14552 "PhotoPage.c" + } +#line 2294 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = current; +#line 2294 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _g_object_ref0 (_tmp11_); +#line 2294 "/home/jens/Source/shotwell/src/PhotoPage.vala" + previous = _tmp12_; +#line 14560 "PhotoPage.c" + { + gboolean _tmp13_ = FALSE; +#line 2295 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = TRUE; +#line 2295 "/home/jens/Source/shotwell/src/PhotoPage.vala" + while (TRUE) { +#line 14567 "PhotoPage.c" + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + DataView* _tmp16_ = NULL; + DataView* _tmp17_ = NULL; + DataView* _tmp18_ = NULL; + Photo* previous_photo = NULL; + DataView* _tmp19_ = NULL; + DataSource* _tmp20_ = NULL; + Photo* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; + Photo* _tmp23_ = NULL; + Photo* _tmp24_ = NULL; + Photo* _tmp25_ = NULL; +#line 2295 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp13_) { +#line 14583 "PhotoPage.c" + } +#line 2295 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = FALSE; +#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp14_; +#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = previous; +#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = view_collection_get_previous (_tmp15_, _tmp16_); +#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (previous); +#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + previous = _tmp17_; +#line 2296 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp15_); +#line 2297 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = previous; +#line 2297 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp18_ == NULL) { +#line 2298 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 14607 "PhotoPage.c" + } +#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = previous; +#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = data_view_get_source (_tmp19_); +#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, TYPE_PHOTO) ? ((Photo*) _tmp20_) : NULL; +#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp21_ == NULL) { +#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp20_); +#line 14619 "PhotoPage.c" + } +#line 2300 "/home/jens/Source/shotwell/src/PhotoPage.vala" + previous_photo = _tmp21_; +#line 2301 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = previous_photo; +#line 2301 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp22_ == NULL) { +#line 2302 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (previous_photo); +#line 2302 "/home/jens/Source/shotwell/src/PhotoPage.vala" + continue; +#line 14631 "PhotoPage.c" + } +#line 2304 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = previous_photo; +#line 2304 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = current_photo; +#line 2304 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp23_ == _tmp24_) { +#line 2305 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (previous_photo); +#line 2305 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 14643 "PhotoPage.c" + } +#line 2307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = previous_photo; +#line 2307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_replace_photo (self, _tmp25_); +#line 2309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (previous_photo); +#line 2309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 14653 "PhotoPage.c" + } + } +#line 2280 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (previous); +#line 2280 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (current); +#line 2280 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (current_photo); +#line 14662 "PhotoPage.c" +} + + +gboolean editing_host_page_has_current_tool (EditingHostPage* self) { + gboolean result = FALSE; + EditingToolsEditingTool* _tmp0_ = NULL; +#line 2313 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (self), FALSE); +#line 2314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->current_tool; +#line 2314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp0_ != NULL; +#line 2314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 14677 "PhotoPage.c" +} + + +void editing_host_page_unset_view_collection (EditingHostPage* self) { +#line 2317 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_EDITING_HOST_PAGE (self)); +#line 2318 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (self->priv->parent_view); +#line 2318 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->parent_view = NULL; +#line 14688 "PhotoPage.c" +} + + +static EditingHostPageEditingHostCanvas* editing_host_page_editing_host_canvas_construct (GType object_type, EditingHostPage* host_page) { + EditingHostPageEditingHostCanvas* self = NULL; + EditingHostPage* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GtkWindow* _tmp2_ = NULL; + EditingHostPage* _tmp3_ = NULL; + GtkDrawingArea* _tmp4_ = NULL; + GdkWindow* _tmp5_ = NULL; + EditingHostPage* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + EditingHostPage* _tmp9_ = NULL; + cairo_t* _tmp10_ = NULL; + cairo_t* _tmp11_ = NULL; + EditingHostPage* _tmp12_ = NULL; + Dimensions _tmp13_ = {0}; + EditingHostPage* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; + EditingHostPage* _tmp17_ = NULL; + GdkRectangle _tmp18_ = {0}; + EditingHostPage* _tmp19_ = NULL; + EditingHostPage* _tmp20_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_EDITING_HOST_PAGE (host_page), NULL); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = host_page; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page)); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = host_page; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)->canvas; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = host_page; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (_tmp6_); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = host_page; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = single_photo_page_get_cairo_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp10_; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = host_page; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_surface_dim (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp13_); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = host_page; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = single_photo_page_get_scaled_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = host_page; +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_scaled_pixbuf_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp18_); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = (EditingHostPageEditingHostCanvas*) editing_tools_photo_canvas_construct (object_type, _tmp2_, _tmp5_, _tmp8_, _tmp11_, &_tmp13_, _tmp16_, &_tmp18_); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _cairo_destroy0 (_tmp11_); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 382 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = host_page; +#line 382 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 382 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->host_page); +#line 382 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->host_page = _tmp20_; +#line 377 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self; +#line 14775 "PhotoPage.c" +} + + +static EditingHostPageEditingHostCanvas* editing_host_page_editing_host_canvas_new (EditingHostPage* host_page) { +#line 377 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return editing_host_page_editing_host_canvas_construct (EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, host_page); +#line 14782 "PhotoPage.c" +} + + +static void editing_host_page_editing_host_canvas_real_repaint (EditingToolsPhotoCanvas* base) { + EditingHostPageEditingHostCanvas * self; + EditingHostPage* _tmp0_ = NULL; +#line 385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvas); +#line 386 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->host_page; +#line 386 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 14795 "PhotoPage.c" +} + + +static void editing_host_page_editing_host_canvas_class_init (EditingHostPageEditingHostCanvasClass * klass) { +#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_editing_host_canvas_parent_class = g_type_class_peek_parent (klass); +#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingToolsPhotoCanvasClass *) klass)->finalize = editing_host_page_editing_host_canvas_finalize; +#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_type_class_add_private (klass, sizeof (EditingHostPageEditingHostCanvasPrivate)); +#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingToolsPhotoCanvasClass *) klass)->repaint = editing_host_page_editing_host_canvas_real_repaint; +#line 14808 "PhotoPage.c" +} + + +static void editing_host_page_editing_host_canvas_instance_init (EditingHostPageEditingHostCanvas * self) { +#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv = EDITING_HOST_PAGE_EDITING_HOST_CANVAS_GET_PRIVATE (self); +#line 14815 "PhotoPage.c" +} + + +static void editing_host_page_editing_host_canvas_finalize (EditingToolsPhotoCanvas* obj) { + EditingHostPageEditingHostCanvas * self; +#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_HOST_PAGE_TYPE_EDITING_HOST_CANVAS, EditingHostPageEditingHostCanvas); +#line 375 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->host_page); +#line 374 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_TOOLS_PHOTO_CANVAS_CLASS (editing_host_page_editing_host_canvas_parent_class)->finalize (obj); +#line 14827 "PhotoPage.c" +} + + +static GType editing_host_page_editing_host_canvas_get_type (void) { + static volatile gsize editing_host_page_editing_host_canvas_type_id__volatile = 0; + if (g_once_init_enter (&editing_host_page_editing_host_canvas_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingHostPageEditingHostCanvasClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_host_page_editing_host_canvas_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingHostPageEditingHostCanvas), 0, (GInstanceInitFunc) editing_host_page_editing_host_canvas_instance_init, NULL }; + GType editing_host_page_editing_host_canvas_type_id; + editing_host_page_editing_host_canvas_type_id = g_type_register_static (EDITING_TOOLS_TYPE_PHOTO_CANVAS, "EditingHostPageEditingHostCanvas", &g_define_type_info, 0); + g_once_init_leave (&editing_host_page_editing_host_canvas_type_id__volatile, editing_host_page_editing_host_canvas_type_id); + } + return editing_host_page_editing_host_canvas_type_id__volatile; +} + + +static void editing_host_page_class_init (EditingHostPageClass * klass) { +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_parent_class = g_type_class_peek_parent (klass); +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_type_class_add_private (klass, sizeof (EditingHostPagePrivate)); +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->on_zoom_slider_key_press = editing_host_page_real_on_zoom_slider_key_press; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->on_increase_size = editing_host_page_real_on_increase_size; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->on_decrease_size = editing_host_page_real_on_decrease_size; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->save_zoom_state = editing_host_page_real_save_zoom_state; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->get_zoom_buffer = editing_host_page_real_get_zoom_buffer; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_mousewheel_up = editing_host_page_real_on_mousewheel_up; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_mousewheel_down = editing_host_page_real_on_mousewheel_down; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->restore_zoom_state = editing_host_page_real_restore_zoom_state; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->is_zoom_supported = editing_host_page_real_is_zoom_supported; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->set_container = editing_host_page_real_set_container; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->photo_changing = editing_host_page_real_photo_changing; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((GtkWidgetClass *) klass)->realize = editing_host_page_real_realize; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->switched_to = editing_host_page_real_switched_to; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->switching_from = editing_host_page_real_switching_from; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->switching_to_fullscreen = editing_host_page_real_switching_to_fullscreen; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->returning_from_fullscreen = editing_host_page_real_returning_from_fullscreen; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->create_photo_view = editing_host_page_real_create_photo_view; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->update_ui = editing_host_page_real_update_ui; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->notify_photo_backing_missing = editing_host_page_real_notify_photo_backing_missing; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->confirm_replace_photo = editing_host_page_real_confirm_replace_photo; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->cancel_zoom = editing_host_page_real_cancel_zoom; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_resize = editing_host_page_real_on_resize; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_resize_finished = editing_host_page_real_on_resize_finished; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->update_actions = editing_host_page_real_update_actions; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_shift_pressed = editing_host_page_real_on_shift_pressed; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_shift_released = editing_host_page_real_on_shift_released; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_alt_pressed = editing_host_page_real_on_alt_pressed; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_alt_released = editing_host_page_real_on_alt_released; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->on_double_click = editing_host_page_real_on_double_click; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_left_click = editing_host_page_real_on_left_click; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_left_released = editing_host_page_real_on_left_released; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_right_click = editing_host_page_real_on_right_click; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_motion = editing_host_page_real_on_motion; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_leave_notify_event = editing_host_page_real_on_leave_notify_event; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_move = editing_host_page_real_on_move; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_move_finished = editing_host_page_real_on_move_finished; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((GtkWidgetClass *) klass)->key_press_event = editing_host_page_real_key_press_event; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->new_surface = editing_host_page_real_new_surface; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->updated_pixbuf = editing_host_page_real_updated_pixbuf; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->get_bottom_left_trinket = editing_host_page_real_get_bottom_left_trinket; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->get_top_left_trinket = editing_host_page_real_get_top_left_trinket; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->get_top_right_trinket = editing_host_page_real_get_top_right_trinket; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->get_bottom_right_trinket = editing_host_page_real_get_bottom_right_trinket; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->paint = editing_host_page_real_paint; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_ctrl_pressed = editing_host_page_real_on_ctrl_pressed; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_ctrl_released = editing_host_page_real_on_ctrl_released; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->on_next_photo = editing_host_page_real_on_next_photo; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((SinglePhotoPageClass *) klass)->on_previous_photo = editing_host_page_real_on_previous_photo; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + G_OBJECT_CLASS (klass)->finalize = editing_host_page_finalize; +#line 14946 "PhotoPage.c" +} + + +static void editing_host_page_instance_init (EditingHostPage * self) { + GtkToolButton* _tmp0_ = NULL; + GtkToolButton* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv = EDITING_HOST_PAGE_GET_PRIVATE (self); +#line 391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->parent_view = NULL; +#line 392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->swapped = NULL; +#line 393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->pixbuf_dirty = TRUE; +#line 394 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->rotate_button = NULL; +#line 395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->crop_button = NULL; +#line 396 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->redeye_button = NULL; +#line 397 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->adjust_button = NULL; +#line 398 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->straighten_button = NULL; +#line 399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->enhance_button = NULL; +#line 400 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->zoom_slider = NULL; +#line 401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = (GtkToolButton*) gtk_tool_button_new (NULL, RESOURCES_PREVIOUS_LABEL); +#line 401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp0_); +#line 401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->prev_button = _tmp0_; +#line 402 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = (GtkToolButton*) gtk_tool_button_new (NULL, RESOURCES_NEXT_LABEL); +#line 402 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp1_); +#line 402 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->next_button = _tmp1_; +#line 403 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->current_tool = NULL; +#line 404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->current_editing_toggle = NULL; +#line 405 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->cancel_editing_pixbuf = NULL; +#line 406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->photo_missing = FALSE; +#line 407 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->cache = NULL; +#line 408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->master_cache = NULL; +#line 409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->dnd_handler = NULL; +#line 410 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->enable_interactive_zoom_refresh = FALSE; +#line 412 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->is_pan_in_progress = FALSE; +#line 413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->saved_slider_val = 0.0; +#line 414 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->zoom_buffer = NULL; +#line 415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_INT, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->last_locations = _tmp2_; +#line 15014 "PhotoPage.c" +} + + +static void editing_host_page_finalize (GObject* obj) { + EditingHostPage * self; + SourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + guint _tmp4_ = 0U; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EDITING_HOST_PAGE, EditingHostPage); +#line 546 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->sources; +#line 546 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 546 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_host_page_on_photos_altered_data_collection_items_altered, self); +#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE); +#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _editing_host_page_on_view_contents_ordering_altered_data_collection_contents_altered, self); +#line 548 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp3_); +#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("ordering-changed", TYPE_DATA_COLLECTION, &_tmp7_, NULL, FALSE); +#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _editing_host_page_on_view_contents_ordering_altered_data_collection_ordering_changed, self); +#line 549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp6_); +#line 390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (self->priv->sources); +#line 391 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (self->priv->parent_view); +#line 392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->swapped); +#line 394 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->rotate_button); +#line 395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->crop_button); +#line 396 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->redeye_button); +#line 397 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->adjust_button); +#line 398 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->straighten_button); +#line 399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->enhance_button); +#line 400 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->zoom_slider); +#line 401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->prev_button); +#line 402 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->next_button); +#line 403 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _editing_tools_editing_tool_unref0 (self->priv->current_tool); +#line 404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->current_editing_toggle); +#line 405 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->cancel_editing_pixbuf); +#line 407 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->cache); +#line 408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->master_cache); +#line 409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _drag_and_drop_handler_unref0 (self->priv->dnd_handler); +#line 414 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->zoom_buffer); +#line 415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->last_locations); +#line 364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + G_OBJECT_CLASS (editing_host_page_parent_class)->finalize (obj); +#line 15098 "PhotoPage.c" +} + + +GType editing_host_page_get_type (void) { + static volatile gsize editing_host_page_type_id__volatile = 0; + if (g_once_init_enter (&editing_host_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingHostPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_host_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingHostPage), 0, (GInstanceInitFunc) editing_host_page_instance_init, NULL }; + GType editing_host_page_type_id; + editing_host_page_type_id = g_type_register_static (TYPE_SINGLE_PHOTO_PAGE, "EditingHostPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&editing_host_page_type_id__volatile, editing_host_page_type_id); + } + return editing_host_page_type_id__volatile; +} + + +static void _library_photo_page_on_photo_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 2358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_photo_destroyed ((LibraryPhotoPage*) self, source); +#line 15117 "PhotoPage.c" +} + + +static void _library_photo_page_on_metadata_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 2359 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_metadata_altered ((LibraryPhotoPage*) self, items); +#line 15124 "PhotoPage.c" +} + + +static void _library_photo_page_on_external_app_changed_configuration_facade_external_app_changed (ConfigurationFacade* _sender, gpointer self) { +#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_external_app_changed ((LibraryPhotoPage*) self); +#line 15131 "PhotoPage.c" +} + + +static void _library_photo_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_photos_altered ((LibraryPhotoPage*) self); +#line 15138 "PhotoPage.c" +} + + +static void _library_photo_page_on_photo_unlinking_source_collection_items_unlinking (SourceCollection* _sender, GeeCollection* unlinking, gpointer self) { +#line 2353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_photo_unlinking ((LibraryPhotoPage*) self, unlinking); +#line 15145 "PhotoPage.c" +} + + +static void _library_photo_page_on_photo_relinked_source_collection_items_relinked (SourceCollection* _sender, GeeCollection* relinked, gpointer self) { +#line 2354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_photo_relinked ((LibraryPhotoPage*) self, relinked); +#line 15152 "PhotoPage.c" +} + + +LibraryPhotoPage* library_photo_page_construct (GType object_type) { + LibraryPhotoPage * self = NULL; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + LibraryPhotoSourceCollection* _tmp3_ = NULL; + LibraryPhotoSourceCollection* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + LibraryPhotoPageLibraryPhotoPageViewFilter* _tmp9_ = NULL; + LibraryPhotoSourceCollection* _tmp10_ = NULL; + LibraryPhotoSourceCollection* _tmp11_ = NULL; +#line 2339 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = library_photo_global; +#line 2339 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = (LibraryPhotoPage*) editing_host_page_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), "Photo"); +#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_photo_page_on_photos_altered_data_collection_items_altered, self, 0); +#line 2342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp2_); +#line 2345 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = library_photo_global; +#line 2345 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _library_photo_page_on_photo_destroyed_source_collection_item_destroyed, self, 0); +#line 2346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = library_photo_global; +#line 2346 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_photo_page_on_metadata_altered_data_collection_items_altered, self, 0); +#line 2349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = config_facade_get_instance (); +#line 2349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 2349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "external-app-changed", (GCallback) _library_photo_page_on_external_app_changed_configuration_facade_external_app_changed, self, 0); +#line 2349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = self->priv->filter; +#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view_collection_install_view_filter (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_VIEW_FILTER, ViewFilter)); +#line 2352 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp8_); +#line 2353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = library_photo_global; +#line 2353 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-unlinking", (GCallback) _library_photo_page_on_photo_unlinking_source_collection_items_unlinking, self, 0); +#line 2354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = library_photo_global; +#line 2354 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-relinked", (GCallback) _library_photo_page_on_photo_relinked_source_collection_items_relinked, self, 0); +#line 2338 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self; +#line 15218 "PhotoPage.c" +} + + +LibraryPhotoPage* library_photo_page_new (void) { +#line 2338 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return library_photo_page_construct (TYPE_LIBRARY_PHOTO_PAGE); +#line 15225 "PhotoPage.c" +} + + +gboolean library_photo_page_not_trashed_view_filter (LibraryPhotoPage* self, DataView* view) { + gboolean result = FALSE; + DataView* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 2363 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_PAGE (self), FALSE); +#line 2363 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = view; +#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = data_view_get_source (_tmp0_); +#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource); +#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = media_source_is_trashed (_tmp2_); +#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = !_tmp3_; +#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp4_; +#line 2364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 15256 "PhotoPage.c" +} + + +static void library_photo_page_on_photo_unlinking (LibraryPhotoPage* self, GeeCollection* unlinking) { + LibraryPhotoPageLibraryPhotoPageViewFilter* _tmp0_ = NULL; +#line 2367 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2367 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GEE_IS_COLLECTION (unlinking)); +#line 2368 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->filter; +#line 2368 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_FILTER, ViewFilter), "refresh"); +#line 15270 "PhotoPage.c" +} + + +static void library_photo_page_on_photo_relinked (LibraryPhotoPage* self, GeeCollection* relinked) { + LibraryPhotoPageLibraryPhotoPageViewFilter* _tmp0_ = NULL; +#line 2371 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2371 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GEE_IS_COLLECTION (relinked)); +#line 2372 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->filter; +#line 2372 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_FILTER, ViewFilter), "refresh"); +#line 15284 "PhotoPage.c" +} + + +static void library_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + LibraryPhotoPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; +#line 2375 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2375 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 2376 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = ui_filenames; +#line 2376 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (library_photo_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp0_); +#line 2378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = ui_filenames; +#line 2378 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "photo_context.ui"); +#line 2379 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = ui_filenames; +#line 2379 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), "photo.ui"); +#line 15309 "PhotoPage.c" +} + + +static void _library_photo_page_on_export_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_export ((LibraryPhotoPage*) self); +#line 15316 "PhotoPage.c" +} + + +static void _vala_array_add193 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15327 "PhotoPage.c" + } +#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15331 "PhotoPage.c" +} + + +static void _library_photo_page_on_print_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_print ((LibraryPhotoPage*) self); +#line 15338 "PhotoPage.c" +} + + +static void _vala_array_add194 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15349 "PhotoPage.c" + } +#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15353 "PhotoPage.c" +} + + +static void _library_photo_page_on_publish_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_publish ((LibraryPhotoPage*) self); +#line 15360 "PhotoPage.c" +} + + +static void _vala_array_add195 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15371 "PhotoPage.c" + } +#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15375 "PhotoPage.c" +} + + +static void _library_photo_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_remove_from_library ((LibraryPhotoPage*) self); +#line 15382 "PhotoPage.c" +} + + +static void _vala_array_add196 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15393 "PhotoPage.c" + } +#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15397 "PhotoPage.c" +} + + +static void _library_photo_page_on_move_to_trash_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_move_to_trash ((LibraryPhotoPage*) self); +#line 15404 "PhotoPage.c" +} + + +static void _vala_array_add197 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15415 "PhotoPage.c" + } +#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15419 "PhotoPage.c" +} + + +static void _library_photo_page_on_view_menu_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_view_menu ((LibraryPhotoPage*) self); +#line 15426 "PhotoPage.c" +} + + +static void _vala_array_add198 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15437 "PhotoPage.c" + } +#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15441 "PhotoPage.c" +} + + +static void _vala_array_add199 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15452 "PhotoPage.c" + } +#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15456 "PhotoPage.c" +} + + +static void _single_photo_page_on_previous_photo_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_on_previous_photo ((SinglePhotoPage*) self); +#line 15463 "PhotoPage.c" +} + + +static void _vala_array_add200 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15474 "PhotoPage.c" + } +#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15478 "PhotoPage.c" +} + + +static void _single_photo_page_on_next_photo_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_on_next_photo ((SinglePhotoPage*) self); +#line 15485 "PhotoPage.c" +} + + +static void _vala_array_add201 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15496 "PhotoPage.c" + } +#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15500 "PhotoPage.c" +} + + +static void _editing_host_page_on_rotate_clockwise_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_rotate_clockwise ((EditingHostPage*) self); +#line 15507 "PhotoPage.c" +} + + +static void _vala_array_add202 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15518 "PhotoPage.c" + } +#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15522 "PhotoPage.c" +} + + +static void _editing_host_page_on_rotate_counterclockwise_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_rotate_counterclockwise ((EditingHostPage*) self); +#line 15529 "PhotoPage.c" +} + + +static void _vala_array_add203 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15540 "PhotoPage.c" + } +#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15544 "PhotoPage.c" +} + + +static void _editing_host_page_on_flip_horizontally_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_flip_horizontally ((EditingHostPage*) self); +#line 15551 "PhotoPage.c" +} + + +static void _vala_array_add204 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15562 "PhotoPage.c" + } +#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15566 "PhotoPage.c" +} + + +static void _editing_host_page_on_flip_vertically_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_flip_vertically ((EditingHostPage*) self); +#line 15573 "PhotoPage.c" +} + + +static void _vala_array_add205 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15584 "PhotoPage.c" + } +#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15588 "PhotoPage.c" +} + + +static void _editing_host_page_on_enhance_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_enhance ((EditingHostPage*) self); +#line 15595 "PhotoPage.c" +} + + +static void _vala_array_add206 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15606 "PhotoPage.c" + } +#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15610 "PhotoPage.c" +} + + +static void _editing_host_page_on_copy_adjustments_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_copy_adjustments ((EditingHostPage*) self); +#line 15617 "PhotoPage.c" +} + + +static void _vala_array_add207 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15628 "PhotoPage.c" + } +#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15632 "PhotoPage.c" +} + + +static void _editing_host_page_on_paste_adjustments_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_paste_adjustments ((EditingHostPage*) self); +#line 15639 "PhotoPage.c" +} + + +static void _vala_array_add208 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15650 "PhotoPage.c" + } +#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15654 "PhotoPage.c" +} + + +static void _editing_host_page_toggle_crop_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_toggle_crop ((EditingHostPage*) self); +#line 15661 "PhotoPage.c" +} + + +static void _vala_array_add209 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15672 "PhotoPage.c" + } +#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15676 "PhotoPage.c" +} + + +static void _editing_host_page_toggle_straighten_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_toggle_straighten ((EditingHostPage*) self); +#line 15683 "PhotoPage.c" +} + + +static void _vala_array_add210 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15694 "PhotoPage.c" + } +#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15698 "PhotoPage.c" +} + + +static void _editing_host_page_toggle_redeye_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_toggle_redeye ((EditingHostPage*) self); +#line 15705 "PhotoPage.c" +} + + +static void _vala_array_add211 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15716 "PhotoPage.c" + } +#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15720 "PhotoPage.c" +} + + +static void _editing_host_page_toggle_adjust_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_toggle_adjust ((EditingHostPage*) self); +#line 15727 "PhotoPage.c" +} + + +static void _vala_array_add212 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15738 "PhotoPage.c" + } +#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15742 "PhotoPage.c" +} + + +static void _editing_host_page_on_revert_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_revert ((EditingHostPage*) self); +#line 15749 "PhotoPage.c" +} + + +static void _vala_array_add213 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15760 "PhotoPage.c" + } +#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15764 "PhotoPage.c" +} + + +static void _editing_host_page_on_edit_title_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_edit_title ((EditingHostPage*) self); +#line 15771 "PhotoPage.c" +} + + +static void _vala_array_add214 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15782 "PhotoPage.c" + } +#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15786 "PhotoPage.c" +} + + +static void _editing_host_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_edit_comment ((EditingHostPage*) self); +#line 15793 "PhotoPage.c" +} + + +static void _vala_array_add215 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15804 "PhotoPage.c" + } +#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15808 "PhotoPage.c" +} + + +static void _editing_host_page_on_adjust_date_time_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_adjust_date_time ((EditingHostPage*) self); +#line 15815 "PhotoPage.c" +} + + +static void _vala_array_add216 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15826 "PhotoPage.c" + } +#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15830 "PhotoPage.c" +} + + +static void _library_photo_page_on_external_edit_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_external_edit ((LibraryPhotoPage*) self); +#line 15837 "PhotoPage.c" +} + + +static void _vala_array_add217 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15848 "PhotoPage.c" + } +#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15852 "PhotoPage.c" +} + + +static void _library_photo_page_on_external_edit_raw_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_external_edit_raw ((LibraryPhotoPage*) self); +#line 15859 "PhotoPage.c" +} + + +static void _vala_array_add218 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15870 "PhotoPage.c" + } +#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15874 "PhotoPage.c" +} + + +static void _library_photo_page_on_send_to_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_send_to ((LibraryPhotoPage*) self); +#line 15881 "PhotoPage.c" +} + + +static void _vala_array_add219 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15892 "PhotoPage.c" + } +#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15896 "PhotoPage.c" +} + + +static void _editing_host_page_on_set_background_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_set_background ((EditingHostPage*) self); +#line 15903 "PhotoPage.c" +} + + +static void _vala_array_add220 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15914 "PhotoPage.c" + } +#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15918 "PhotoPage.c" +} + + +static void _library_photo_page_on_flag_unflag_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_flag_unflag ((LibraryPhotoPage*) self); +#line 15925 "PhotoPage.c" +} + + +static void _vala_array_add221 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15936 "PhotoPage.c" + } +#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15940 "PhotoPage.c" +} + + +static void _vala_array_add222 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15951 "PhotoPage.c" + } +#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15955 "PhotoPage.c" +} + + +static void _library_photo_page_on_increase_rating_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_increase_rating ((LibraryPhotoPage*) self); +#line 15962 "PhotoPage.c" +} + + +static void _vala_array_add223 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15973 "PhotoPage.c" + } +#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15977 "PhotoPage.c" +} + + +static void _library_photo_page_on_decrease_rating_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_decrease_rating ((LibraryPhotoPage*) self); +#line 15984 "PhotoPage.c" +} + + +static void _vala_array_add224 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 15995 "PhotoPage.c" + } +#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 15999 "PhotoPage.c" +} + + +static void _library_photo_page_on_rate_rejected_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_rate_rejected ((LibraryPhotoPage*) self); +#line 16006 "PhotoPage.c" +} + + +static void _vala_array_add225 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16017 "PhotoPage.c" + } +#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16021 "PhotoPage.c" +} + + +static void _library_photo_page_on_rate_unrated_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_rate_unrated ((LibraryPhotoPage*) self); +#line 16028 "PhotoPage.c" +} + + +static void _vala_array_add226 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16039 "PhotoPage.c" + } +#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16043 "PhotoPage.c" +} + + +static void _library_photo_page_on_rate_one_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_rate_one ((LibraryPhotoPage*) self); +#line 16050 "PhotoPage.c" +} + + +static void _vala_array_add227 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16061 "PhotoPage.c" + } +#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16065 "PhotoPage.c" +} + + +static void _library_photo_page_on_rate_two_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_rate_two ((LibraryPhotoPage*) self); +#line 16072 "PhotoPage.c" +} + + +static void _vala_array_add228 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16083 "PhotoPage.c" + } +#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16087 "PhotoPage.c" +} + + +static void _library_photo_page_on_rate_three_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_rate_three ((LibraryPhotoPage*) self); +#line 16094 "PhotoPage.c" +} + + +static void _vala_array_add229 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16105 "PhotoPage.c" + } +#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16109 "PhotoPage.c" +} + + +static void _library_photo_page_on_rate_four_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_rate_four ((LibraryPhotoPage*) self); +#line 16116 "PhotoPage.c" +} + + +static void _vala_array_add230 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16127 "PhotoPage.c" + } +#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16131 "PhotoPage.c" +} + + +static void _library_photo_page_on_rate_five_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_rate_five ((LibraryPhotoPage*) self); +#line 16138 "PhotoPage.c" +} + + +static void _vala_array_add231 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16149 "PhotoPage.c" + } +#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16153 "PhotoPage.c" +} + + +static void _editing_host_page_on_increase_size_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_increase_size ((EditingHostPage*) self); +#line 16160 "PhotoPage.c" +} + + +static void _vala_array_add232 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16171 "PhotoPage.c" + } +#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16175 "PhotoPage.c" +} + + +static void _editing_host_page_on_decrease_size_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_on_decrease_size ((EditingHostPage*) self); +#line 16182 "PhotoPage.c" +} + + +static void _vala_array_add233 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16193 "PhotoPage.c" + } +#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16197 "PhotoPage.c" +} + + +static void _editing_host_page_snap_zoom_to_min_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_snap_zoom_to_min ((EditingHostPage*) self); +#line 16204 "PhotoPage.c" +} + + +static void _vala_array_add234 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16215 "PhotoPage.c" + } +#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16219 "PhotoPage.c" +} + + +static void _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_snap_zoom_to_isomorphic ((EditingHostPage*) self); +#line 16226 "PhotoPage.c" +} + + +static void _vala_array_add235 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16237 "PhotoPage.c" + } +#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16241 "PhotoPage.c" +} + + +static void _editing_host_page_snap_zoom_to_max_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_snap_zoom_to_max ((EditingHostPage*) self); +#line 16248 "PhotoPage.c" +} + + +static void _vala_array_add236 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16259 "PhotoPage.c" + } +#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16263 "PhotoPage.c" +} + + +static void _library_photo_page_on_add_tags_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_add_tags ((LibraryPhotoPage*) self); +#line 16270 "PhotoPage.c" +} + + +static void _vala_array_add237 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16281 "PhotoPage.c" + } +#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16285 "PhotoPage.c" +} + + +static void _library_photo_page_on_modify_tags_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_modify_tags ((LibraryPhotoPage*) self); +#line 16292 "PhotoPage.c" +} + + +static void _vala_array_add238 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16303 "PhotoPage.c" + } +#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16307 "PhotoPage.c" +} + + +static void _library_photo_page_on_slideshow_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_slideshow ((LibraryPhotoPage*) self); +#line 16314 "PhotoPage.c" +} + + +static void _vala_array_add239 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16325 "PhotoPage.c" + } +#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16329 "PhotoPage.c" +} + + +static void _vala_array_add240 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16340 "PhotoPage.c" + } +#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16344 "PhotoPage.c" +} + + +static void _vala_array_add241 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16355 "PhotoPage.c" + } +#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16359 "PhotoPage.c" +} + + +static void _vala_array_add242 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 16370 "PhotoPage.c" + } +#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 16374 "PhotoPage.c" +} + + +static GtkActionEntry* library_photo_page_real_init_collect_action_entries (Page* base, int* result_length1) { + LibraryPhotoPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry export = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry print = {0}; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry publish = {0}; + GtkActionEntry _tmp8_ = {0}; + GtkActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionEntry _tmp10_ = {0}; + GtkActionEntry remove_from_library = {0}; + GtkActionEntry _tmp11_ = {0}; + GtkActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkActionEntry _tmp13_ = {0}; + GtkActionEntry move_to_trash = {0}; + GtkActionEntry _tmp14_ = {0}; + GtkActionEntry* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GtkActionEntry _tmp16_ = {0}; + GtkActionEntry view = {0}; + GtkActionEntry _tmp17_ = {0}; + const gchar* _tmp18_ = NULL; + GtkActionEntry* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + GtkActionEntry _tmp20_ = {0}; + GtkActionEntry tools = {0}; + GtkActionEntry _tmp21_ = {0}; + const gchar* _tmp22_ = NULL; + GtkActionEntry* _tmp23_ = NULL; + gint _tmp23__length1 = 0; + GtkActionEntry _tmp24_ = {0}; + GtkActionEntry prev = {0}; + GtkActionEntry _tmp25_ = {0}; + const gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + GtkActionEntry* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + GtkActionEntry _tmp29_ = {0}; + GtkActionEntry next = {0}; + GtkActionEntry _tmp30_ = {0}; + const gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + GtkActionEntry* _tmp33_ = NULL; + gint _tmp33__length1 = 0; + GtkActionEntry _tmp34_ = {0}; + GtkActionEntry rotate_right = {0}; + GtkActionEntry _tmp35_ = {0}; + GtkActionEntry* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + GtkActionEntry _tmp37_ = {0}; + GtkActionEntry rotate_left = {0}; + GtkActionEntry _tmp38_ = {0}; + GtkActionEntry* _tmp39_ = NULL; + gint _tmp39__length1 = 0; + GtkActionEntry _tmp40_ = {0}; + GtkActionEntry hflip = {0}; + GtkActionEntry _tmp41_ = {0}; + GtkActionEntry* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + GtkActionEntry _tmp43_ = {0}; + GtkActionEntry vflip = {0}; + GtkActionEntry _tmp44_ = {0}; + GtkActionEntry* _tmp45_ = NULL; + gint _tmp45__length1 = 0; + GtkActionEntry _tmp46_ = {0}; + GtkActionEntry enhance = {0}; + GtkActionEntry _tmp47_ = {0}; + GtkActionEntry* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + GtkActionEntry _tmp49_ = {0}; + GtkActionEntry copy_adjustments = {0}; + GtkActionEntry _tmp50_ = {0}; + GtkActionEntry* _tmp51_ = NULL; + gint _tmp51__length1 = 0; + GtkActionEntry _tmp52_ = {0}; + GtkActionEntry paste_adjustments = {0}; + GtkActionEntry _tmp53_ = {0}; + GtkActionEntry* _tmp54_ = NULL; + gint _tmp54__length1 = 0; + GtkActionEntry _tmp55_ = {0}; + GtkActionEntry crop = {0}; + GtkActionEntry _tmp56_ = {0}; + GtkActionEntry* _tmp57_ = NULL; + gint _tmp57__length1 = 0; + GtkActionEntry _tmp58_ = {0}; + GtkActionEntry straighten = {0}; + GtkActionEntry _tmp59_ = {0}; + GtkActionEntry* _tmp60_ = NULL; + gint _tmp60__length1 = 0; + GtkActionEntry _tmp61_ = {0}; + GtkActionEntry red_eye = {0}; + GtkActionEntry _tmp62_ = {0}; + GtkActionEntry* _tmp63_ = NULL; + gint _tmp63__length1 = 0; + GtkActionEntry _tmp64_ = {0}; + GtkActionEntry adjust = {0}; + GtkActionEntry _tmp65_ = {0}; + GtkActionEntry* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + GtkActionEntry _tmp67_ = {0}; + GtkActionEntry revert = {0}; + GtkActionEntry _tmp68_ = {0}; + GtkActionEntry* _tmp69_ = NULL; + gint _tmp69__length1 = 0; + GtkActionEntry _tmp70_ = {0}; + GtkActionEntry edit_title = {0}; + GtkActionEntry _tmp71_ = {0}; + GtkActionEntry* _tmp72_ = NULL; + gint _tmp72__length1 = 0; + GtkActionEntry _tmp73_ = {0}; + GtkActionEntry edit_comment = {0}; + GtkActionEntry _tmp74_ = {0}; + GtkActionEntry* _tmp75_ = NULL; + gint _tmp75__length1 = 0; + GtkActionEntry _tmp76_ = {0}; + GtkActionEntry adjust_date_time = {0}; + GtkActionEntry _tmp77_ = {0}; + GtkActionEntry* _tmp78_ = NULL; + gint _tmp78__length1 = 0; + GtkActionEntry _tmp79_ = {0}; + GtkActionEntry external_edit = {0}; + GtkActionEntry _tmp80_ = {0}; + GtkActionEntry* _tmp81_ = NULL; + gint _tmp81__length1 = 0; + GtkActionEntry _tmp82_ = {0}; + GtkActionEntry edit_raw = {0}; + GtkActionEntry _tmp83_ = {0}; + GtkActionEntry* _tmp84_ = NULL; + gint _tmp84__length1 = 0; + GtkActionEntry _tmp85_ = {0}; + GtkActionEntry send_to = {0}; + GtkActionEntry _tmp86_ = {0}; + GtkActionEntry* _tmp87_ = NULL; + gint _tmp87__length1 = 0; + GtkActionEntry _tmp88_ = {0}; + GtkActionEntry set_background = {0}; + GtkActionEntry _tmp89_ = {0}; + GtkActionEntry* _tmp90_ = NULL; + gint _tmp90__length1 = 0; + GtkActionEntry _tmp91_ = {0}; + GtkActionEntry flag = {0}; + GtkActionEntry _tmp92_ = {0}; + GtkActionEntry* _tmp93_ = NULL; + gint _tmp93__length1 = 0; + GtkActionEntry _tmp94_ = {0}; + GtkActionEntry set_rating = {0}; + GtkActionEntry _tmp95_ = {0}; + GtkActionEntry* _tmp96_ = NULL; + gint _tmp96__length1 = 0; + GtkActionEntry _tmp97_ = {0}; + GtkActionEntry increase_rating = {0}; + GtkActionEntry _tmp98_ = {0}; + GtkActionEntry* _tmp99_ = NULL; + gint _tmp99__length1 = 0; + GtkActionEntry _tmp100_ = {0}; + GtkActionEntry decrease_rating = {0}; + GtkActionEntry _tmp101_ = {0}; + GtkActionEntry* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + GtkActionEntry _tmp103_ = {0}; + GtkActionEntry rate_rejected = {0}; + GtkActionEntry _tmp104_ = {0}; + const gchar* _tmp105_ = NULL; + GtkActionEntry* _tmp106_ = NULL; + gint _tmp106__length1 = 0; + GtkActionEntry _tmp107_ = {0}; + GtkActionEntry rate_unrated = {0}; + GtkActionEntry _tmp108_ = {0}; + const gchar* _tmp109_ = NULL; + GtkActionEntry* _tmp110_ = NULL; + gint _tmp110__length1 = 0; + GtkActionEntry _tmp111_ = {0}; + GtkActionEntry rate_one = {0}; + GtkActionEntry _tmp112_ = {0}; + const gchar* _tmp113_ = NULL; + GtkActionEntry* _tmp114_ = NULL; + gint _tmp114__length1 = 0; + GtkActionEntry _tmp115_ = {0}; + GtkActionEntry rate_two = {0}; + GtkActionEntry _tmp116_ = {0}; + const gchar* _tmp117_ = NULL; + GtkActionEntry* _tmp118_ = NULL; + gint _tmp118__length1 = 0; + GtkActionEntry _tmp119_ = {0}; + GtkActionEntry rate_three = {0}; + GtkActionEntry _tmp120_ = {0}; + const gchar* _tmp121_ = NULL; + GtkActionEntry* _tmp122_ = NULL; + gint _tmp122__length1 = 0; + GtkActionEntry _tmp123_ = {0}; + GtkActionEntry rate_four = {0}; + GtkActionEntry _tmp124_ = {0}; + const gchar* _tmp125_ = NULL; + GtkActionEntry* _tmp126_ = NULL; + gint _tmp126__length1 = 0; + GtkActionEntry _tmp127_ = {0}; + GtkActionEntry rate_five = {0}; + GtkActionEntry _tmp128_ = {0}; + const gchar* _tmp129_ = NULL; + GtkActionEntry* _tmp130_ = NULL; + gint _tmp130__length1 = 0; + GtkActionEntry _tmp131_ = {0}; + GtkActionEntry increase_size = {0}; + GtkActionEntry _tmp132_ = {0}; + const gchar* _tmp133_ = NULL; + const gchar* _tmp134_ = NULL; + GtkActionEntry* _tmp135_ = NULL; + gint _tmp135__length1 = 0; + GtkActionEntry _tmp136_ = {0}; + GtkActionEntry decrease_size = {0}; + GtkActionEntry _tmp137_ = {0}; + const gchar* _tmp138_ = NULL; + const gchar* _tmp139_ = NULL; + GtkActionEntry* _tmp140_ = NULL; + gint _tmp140__length1 = 0; + GtkActionEntry _tmp141_ = {0}; + GtkActionEntry best_fit = {0}; + GtkActionEntry _tmp142_ = {0}; + const gchar* _tmp143_ = NULL; + const gchar* _tmp144_ = NULL; + GtkActionEntry* _tmp145_ = NULL; + gint _tmp145__length1 = 0; + GtkActionEntry _tmp146_ = {0}; + GtkActionEntry actual_size = {0}; + GtkActionEntry _tmp147_ = {0}; + const gchar* _tmp148_ = NULL; + const gchar* _tmp149_ = NULL; + GtkActionEntry* _tmp150_ = NULL; + gint _tmp150__length1 = 0; + GtkActionEntry _tmp151_ = {0}; + GtkActionEntry max_size = {0}; + GtkActionEntry _tmp152_ = {0}; + const gchar* _tmp153_ = NULL; + const gchar* _tmp154_ = NULL; + GtkActionEntry* _tmp155_ = NULL; + gint _tmp155__length1 = 0; + GtkActionEntry _tmp156_ = {0}; + GtkActionEntry add_tags = {0}; + GtkActionEntry _tmp157_ = {0}; + GtkActionEntry* _tmp158_ = NULL; + gint _tmp158__length1 = 0; + GtkActionEntry _tmp159_ = {0}; + GtkActionEntry modify_tags = {0}; + GtkActionEntry _tmp160_ = {0}; + GtkActionEntry* _tmp161_ = NULL; + gint _tmp161__length1 = 0; + GtkActionEntry _tmp162_ = {0}; + GtkActionEntry slideshow = {0}; + GtkActionEntry _tmp163_ = {0}; + const gchar* _tmp164_ = NULL; + const gchar* _tmp165_ = NULL; + GtkActionEntry* _tmp166_ = NULL; + gint _tmp166__length1 = 0; + GtkActionEntry _tmp167_ = {0}; + GtkActionEntry raw_developer = {0}; + GtkActionEntry _tmp168_ = {0}; + const gchar* _tmp169_ = NULL; + GtkActionEntry* _tmp170_ = NULL; + gint _tmp170__length1 = 0; + GtkActionEntry _tmp171_ = {0}; + GtkActionEntry send_to_context_menu = {0}; + GtkActionEntry _tmp172_ = {0}; + GtkActionEntry* _tmp173_ = NULL; + gint _tmp173__length1 = 0; + GtkActionEntry _tmp174_ = {0}; + GtkActionEntry add_tags_context_menu = {0}; + GtkActionEntry _tmp175_ = {0}; + GtkActionEntry* _tmp176_ = NULL; + gint _tmp176__length1 = 0; + GtkActionEntry _tmp177_ = {0}; + GtkActionEntry* _tmp178_ = NULL; + gint _tmp178__length1 = 0; +#line 2382 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = PAGE_CLASS (library_photo_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), &_tmp0_); +#line 2383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + actions = _tmp1_; +#line 2383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + actions_length1 = _tmp0_; +#line 2383 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _actions_size_ = actions_length1; +#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_.name = "Export"; +#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_.stock_id = RESOURCES_SAVE_AS_LABEL; +#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_.accelerator = "E"; +#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_.callback = (GCallback) _library_photo_page_on_export_gtk_action_callback; +#line 2385 "/home/jens/Source/shotwell/src/PhotoPage.vala" + export = _tmp2_; +#line 2387 "/home/jens/Source/shotwell/src/PhotoPage.vala" + export.label = RESOURCES_EXPORT_MENU; +#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = actions; +#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3__length1 = actions_length1; +#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = export; +#line 2388 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add193 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.name = "Print"; +#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.stock_id = RESOURCES_PRINT_LABEL; +#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.accelerator = "P"; +#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.callback = (GCallback) _library_photo_page_on_print_gtk_action_callback; +#line 2390 "/home/jens/Source/shotwell/src/PhotoPage.vala" + print = _tmp5_; +#line 2392 "/home/jens/Source/shotwell/src/PhotoPage.vala" + print.label = RESOURCES_PRINT_MENU; +#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = actions; +#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6__length1 = actions_length1; +#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = print; +#line 2393 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add194 (&actions, &actions_length1, &_actions_size_, &_tmp7_); +#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_.name = "Publish"; +#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_.stock_id = RESOURCES_PUBLISH; +#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_.label = TRANSLATABLE; +#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_.accelerator = "P"; +#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_.tooltip = TRANSLATABLE; +#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_.callback = (GCallback) _library_photo_page_on_publish_gtk_action_callback; +#line 2395 "/home/jens/Source/shotwell/src/PhotoPage.vala" + publish = _tmp8_; +#line 2397 "/home/jens/Source/shotwell/src/PhotoPage.vala" + publish.label = RESOURCES_PUBLISH_MENU; +#line 2398 "/home/jens/Source/shotwell/src/PhotoPage.vala" + publish.tooltip = RESOURCES_PUBLISH_TOOLTIP; +#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = actions; +#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9__length1 = actions_length1; +#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = publish; +#line 2399 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add195 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_.name = "RemoveFromLibrary"; +#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_.stock_id = RESOURCES_REMOVE_LABEL; +#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_.label = TRANSLATABLE; +#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_.accelerator = "Delete"; +#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_.tooltip = TRANSLATABLE; +#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_.callback = (GCallback) _library_photo_page_on_remove_from_library_gtk_action_callback; +#line 2401 "/home/jens/Source/shotwell/src/PhotoPage.vala" + remove_from_library = _tmp11_; +#line 2403 "/home/jens/Source/shotwell/src/PhotoPage.vala" + remove_from_library.label = RESOURCES_REMOVE_FROM_LIBRARY_MENU; +#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = actions; +#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12__length1 = actions_length1; +#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = remove_from_library; +#line 2404 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add196 (&actions, &actions_length1, &_actions_size_, &_tmp13_); +#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_.name = "MoveToTrash"; +#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_.stock_id = "user-trash-full"; +#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_.label = TRANSLATABLE; +#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_.accelerator = "Delete"; +#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_.tooltip = TRANSLATABLE; +#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_.callback = (GCallback) _library_photo_page_on_move_to_trash_gtk_action_callback; +#line 2406 "/home/jens/Source/shotwell/src/PhotoPage.vala" + move_to_trash = _tmp14_; +#line 2408 "/home/jens/Source/shotwell/src/PhotoPage.vala" + move_to_trash.label = RESOURCES_MOVE_TO_TRASH_MENU; +#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = actions; +#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15__length1 = actions_length1; +#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = move_to_trash; +#line 2409 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add197 (&actions, &actions_length1, &_actions_size_, &_tmp16_); +#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_.name = "ViewMenu"; +#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_.stock_id = NULL; +#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_.label = TRANSLATABLE; +#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_.accelerator = NULL; +#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_.tooltip = NULL; +#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_.callback = (GCallback) _library_photo_page_on_view_menu_gtk_action_callback; +#line 2411 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view = _tmp17_; +#line 2412 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _ ("_View"); +#line 2412 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view.label = _tmp18_; +#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = actions; +#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19__length1 = actions_length1; +#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = view; +#line 2413 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add198 (&actions, &actions_length1, &_actions_size_, &_tmp20_); +#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_.name = "Tools"; +#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_.stock_id = NULL; +#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_.label = TRANSLATABLE; +#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_.accelerator = NULL; +#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_.tooltip = NULL; +#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_.callback = (GCallback) NULL; +#line 2415 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tools = _tmp21_; +#line 2416 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _ ("T_ools"); +#line 2416 "/home/jens/Source/shotwell/src/PhotoPage.vala" + tools.label = _tmp22_; +#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = actions; +#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23__length1 = actions_length1; +#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = tools; +#line 2417 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add199 (&actions, &actions_length1, &_actions_size_, &_tmp24_); +#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_.name = "PrevPhoto"; +#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_.stock_id = RESOURCES_PREVIOUS_LABEL; +#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_.label = TRANSLATABLE; +#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_.accelerator = NULL; +#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_.tooltip = TRANSLATABLE; +#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_.callback = (GCallback) _single_photo_page_on_previous_photo_gtk_action_callback; +#line 2419 "/home/jens/Source/shotwell/src/PhotoPage.vala" + prev = _tmp25_; +#line 2421 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _ ("_Previous Photo"); +#line 2421 "/home/jens/Source/shotwell/src/PhotoPage.vala" + prev.label = _tmp26_; +#line 2422 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = _ ("Previous Photo"); +#line 2422 "/home/jens/Source/shotwell/src/PhotoPage.vala" + prev.tooltip = _tmp27_; +#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = actions; +#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28__length1 = actions_length1; +#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = prev; +#line 2423 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add200 (&actions, &actions_length1, &_actions_size_, &_tmp29_); +#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_.name = "NextPhoto"; +#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_.stock_id = RESOURCES_NEXT_LABEL; +#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_.label = TRANSLATABLE; +#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_.accelerator = NULL; +#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_.tooltip = TRANSLATABLE; +#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_.callback = (GCallback) _single_photo_page_on_next_photo_gtk_action_callback; +#line 2425 "/home/jens/Source/shotwell/src/PhotoPage.vala" + next = _tmp30_; +#line 2427 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = _ ("_Next Photo"); +#line 2427 "/home/jens/Source/shotwell/src/PhotoPage.vala" + next.label = _tmp31_; +#line 2428 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = _ ("Next Photo"); +#line 2428 "/home/jens/Source/shotwell/src/PhotoPage.vala" + next.tooltip = _tmp32_; +#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = actions; +#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33__length1 = actions_length1; +#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = next; +#line 2429 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add201 (&actions, &actions_length1, &_actions_size_, &_tmp34_); +#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_.name = "RotateClockwise"; +#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_.stock_id = RESOURCES_CLOCKWISE; +#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_.label = TRANSLATABLE; +#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_.accelerator = "R"; +#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_.tooltip = TRANSLATABLE; +#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_.callback = (GCallback) _editing_host_page_on_rotate_clockwise_gtk_action_callback; +#line 2431 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rotate_right = _tmp35_; +#line 2433 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rotate_right.label = RESOURCES_ROTATE_CW_MENU; +#line 2434 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rotate_right.tooltip = RESOURCES_ROTATE_CW_TOOLTIP; +#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = actions; +#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36__length1 = actions_length1; +#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = rotate_right; +#line 2435 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add202 (&actions, &actions_length1, &_actions_size_, &_tmp37_); +#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_.name = "RotateCounterclockwise"; +#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_.stock_id = RESOURCES_COUNTERCLOCKWISE; +#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_.label = TRANSLATABLE; +#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_.accelerator = "R"; +#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_.tooltip = TRANSLATABLE; +#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_.callback = (GCallback) _editing_host_page_on_rotate_counterclockwise_gtk_action_callback; +#line 2437 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rotate_left = _tmp38_; +#line 2439 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rotate_left.label = RESOURCES_ROTATE_CCW_MENU; +#line 2440 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rotate_left.tooltip = RESOURCES_ROTATE_CCW_TOOLTIP; +#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = actions; +#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39__length1 = actions_length1; +#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = rotate_left; +#line 2441 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add203 (&actions, &actions_length1, &_actions_size_, &_tmp40_); +#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_.name = "FlipHorizontally"; +#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_.stock_id = RESOURCES_HFLIP; +#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_.label = TRANSLATABLE; +#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_.accelerator = NULL; +#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_.tooltip = TRANSLATABLE; +#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_.callback = (GCallback) _editing_host_page_on_flip_horizontally_gtk_action_callback; +#line 2443 "/home/jens/Source/shotwell/src/PhotoPage.vala" + hflip = _tmp41_; +#line 2445 "/home/jens/Source/shotwell/src/PhotoPage.vala" + hflip.label = RESOURCES_HFLIP_MENU; +#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = actions; +#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42__length1 = actions_length1; +#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = hflip; +#line 2446 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add204 (&actions, &actions_length1, &_actions_size_, &_tmp43_); +#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_.name = "FlipVertically"; +#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_.stock_id = RESOURCES_VFLIP; +#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_.label = TRANSLATABLE; +#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_.accelerator = NULL; +#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_.tooltip = TRANSLATABLE; +#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_.callback = (GCallback) _editing_host_page_on_flip_vertically_gtk_action_callback; +#line 2448 "/home/jens/Source/shotwell/src/PhotoPage.vala" + vflip = _tmp44_; +#line 2450 "/home/jens/Source/shotwell/src/PhotoPage.vala" + vflip.label = RESOURCES_VFLIP_MENU; +#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = actions; +#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45__length1 = actions_length1; +#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = vflip; +#line 2451 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add205 (&actions, &actions_length1, &_actions_size_, &_tmp46_); +#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_.name = "Enhance"; +#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_.stock_id = RESOURCES_ENHANCE; +#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_.label = TRANSLATABLE; +#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_.accelerator = "E"; +#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_.tooltip = TRANSLATABLE; +#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_.callback = (GCallback) _editing_host_page_on_enhance_gtk_action_callback; +#line 2453 "/home/jens/Source/shotwell/src/PhotoPage.vala" + enhance = _tmp47_; +#line 2455 "/home/jens/Source/shotwell/src/PhotoPage.vala" + enhance.label = RESOURCES_ENHANCE_MENU; +#line 2456 "/home/jens/Source/shotwell/src/PhotoPage.vala" + enhance.tooltip = RESOURCES_ENHANCE_TOOLTIP; +#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48_ = actions; +#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48__length1 = actions_length1; +#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp49_ = enhance; +#line 2457 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add206 (&actions, &actions_length1, &_actions_size_, &_tmp49_); +#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_.name = "CopyColorAdjustments"; +#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_.stock_id = NULL; +#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_.label = TRANSLATABLE; +#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_.accelerator = "C"; +#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_.tooltip = TRANSLATABLE; +#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_.callback = (GCallback) _editing_host_page_on_copy_adjustments_gtk_action_callback; +#line 2459 "/home/jens/Source/shotwell/src/PhotoPage.vala" + copy_adjustments = _tmp50_; +#line 2461 "/home/jens/Source/shotwell/src/PhotoPage.vala" + copy_adjustments.label = RESOURCES_COPY_ADJUSTMENTS_MENU; +#line 2462 "/home/jens/Source/shotwell/src/PhotoPage.vala" + copy_adjustments.tooltip = RESOURCES_COPY_ADJUSTMENTS_TOOLTIP; +#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51_ = actions; +#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51__length1 = actions_length1; +#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp52_ = copy_adjustments; +#line 2463 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add207 (&actions, &actions_length1, &_actions_size_, &_tmp52_); +#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_.name = "PasteColorAdjustments"; +#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_.stock_id = NULL; +#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_.label = TRANSLATABLE; +#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_.accelerator = "V"; +#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_.tooltip = TRANSLATABLE; +#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp53_.callback = (GCallback) _editing_host_page_on_paste_adjustments_gtk_action_callback; +#line 2465 "/home/jens/Source/shotwell/src/PhotoPage.vala" + paste_adjustments = _tmp53_; +#line 2467 "/home/jens/Source/shotwell/src/PhotoPage.vala" + paste_adjustments.label = RESOURCES_PASTE_ADJUSTMENTS_MENU; +#line 2468 "/home/jens/Source/shotwell/src/PhotoPage.vala" + paste_adjustments.tooltip = RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP; +#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp54_ = actions; +#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp54__length1 = actions_length1; +#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp55_ = paste_adjustments; +#line 2469 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add208 (&actions, &actions_length1, &_actions_size_, &_tmp55_); +#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_.name = "Crop"; +#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_.stock_id = RESOURCES_CROP; +#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_.label = TRANSLATABLE; +#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_.accelerator = "O"; +#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_.tooltip = TRANSLATABLE; +#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_.callback = (GCallback) _editing_host_page_toggle_crop_gtk_action_callback; +#line 2471 "/home/jens/Source/shotwell/src/PhotoPage.vala" + crop = _tmp56_; +#line 2473 "/home/jens/Source/shotwell/src/PhotoPage.vala" + crop.label = RESOURCES_CROP_MENU; +#line 2474 "/home/jens/Source/shotwell/src/PhotoPage.vala" + crop.tooltip = RESOURCES_CROP_TOOLTIP; +#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp57_ = actions; +#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp57__length1 = actions_length1; +#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp58_ = crop; +#line 2475 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add209 (&actions, &actions_length1, &_actions_size_, &_tmp58_); +#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_.name = "Straighten"; +#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_.stock_id = RESOURCES_REFRESH_LABEL; +#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_.label = TRANSLATABLE; +#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_.accelerator = "A"; +#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_.tooltip = TRANSLATABLE; +#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_.callback = (GCallback) _editing_host_page_toggle_straighten_gtk_action_callback; +#line 2477 "/home/jens/Source/shotwell/src/PhotoPage.vala" + straighten = _tmp59_; +#line 2479 "/home/jens/Source/shotwell/src/PhotoPage.vala" + straighten.label = RESOURCES_STRAIGHTEN_MENU; +#line 2480 "/home/jens/Source/shotwell/src/PhotoPage.vala" + straighten.tooltip = RESOURCES_STRAIGHTEN_TOOLTIP; +#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp60_ = actions; +#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp60__length1 = actions_length1; +#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp61_ = straighten; +#line 2481 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add210 (&actions, &actions_length1, &_actions_size_, &_tmp61_); +#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_.name = "RedEye"; +#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_.stock_id = RESOURCES_REDEYE; +#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_.label = TRANSLATABLE; +#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_.accelerator = "Y"; +#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_.tooltip = TRANSLATABLE; +#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_.callback = (GCallback) _editing_host_page_toggle_redeye_gtk_action_callback; +#line 2483 "/home/jens/Source/shotwell/src/PhotoPage.vala" + red_eye = _tmp62_; +#line 2485 "/home/jens/Source/shotwell/src/PhotoPage.vala" + red_eye.label = RESOURCES_RED_EYE_MENU; +#line 2486 "/home/jens/Source/shotwell/src/PhotoPage.vala" + red_eye.tooltip = RESOURCES_RED_EYE_TOOLTIP; +#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp63_ = actions; +#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp63__length1 = actions_length1; +#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp64_ = red_eye; +#line 2487 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add211 (&actions, &actions_length1, &_actions_size_, &_tmp64_); +#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_.name = "Adjust"; +#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_.stock_id = RESOURCES_ADJUST; +#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_.label = TRANSLATABLE; +#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_.accelerator = "D"; +#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_.tooltip = TRANSLATABLE; +#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp65_.callback = (GCallback) _editing_host_page_toggle_adjust_gtk_action_callback; +#line 2489 "/home/jens/Source/shotwell/src/PhotoPage.vala" + adjust = _tmp65_; +#line 2491 "/home/jens/Source/shotwell/src/PhotoPage.vala" + adjust.label = RESOURCES_ADJUST_MENU; +#line 2492 "/home/jens/Source/shotwell/src/PhotoPage.vala" + adjust.tooltip = RESOURCES_ADJUST_TOOLTIP; +#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp66_ = actions; +#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp66__length1 = actions_length1; +#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp67_ = adjust; +#line 2493 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add212 (&actions, &actions_length1, &_actions_size_, &_tmp67_); +#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_.name = "Revert"; +#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_.stock_id = RESOURCES_REVERT_TO_SAVED_LABEL; +#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_.label = TRANSLATABLE; +#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_.accelerator = NULL; +#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_.tooltip = TRANSLATABLE; +#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp68_.callback = (GCallback) _editing_host_page_on_revert_gtk_action_callback; +#line 2495 "/home/jens/Source/shotwell/src/PhotoPage.vala" + revert = _tmp68_; +#line 2497 "/home/jens/Source/shotwell/src/PhotoPage.vala" + revert.label = RESOURCES_REVERT_MENU; +#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp69_ = actions; +#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp69__length1 = actions_length1; +#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp70_ = revert; +#line 2498 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add213 (&actions, &actions_length1, &_actions_size_, &_tmp70_); +#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_.name = "EditTitle"; +#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_.stock_id = NULL; +#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_.label = TRANSLATABLE; +#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_.accelerator = "F2"; +#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_.tooltip = TRANSLATABLE; +#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp71_.callback = (GCallback) _editing_host_page_on_edit_title_gtk_action_callback; +#line 2500 "/home/jens/Source/shotwell/src/PhotoPage.vala" + edit_title = _tmp71_; +#line 2502 "/home/jens/Source/shotwell/src/PhotoPage.vala" + edit_title.label = RESOURCES_EDIT_TITLE_MENU; +#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp72_ = actions; +#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp72__length1 = actions_length1; +#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp73_ = edit_title; +#line 2503 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add214 (&actions, &actions_length1, &_actions_size_, &_tmp73_); +#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_.name = "EditComment"; +#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_.stock_id = NULL; +#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_.label = TRANSLATABLE; +#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_.accelerator = "F3"; +#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_.tooltip = TRANSLATABLE; +#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp74_.callback = (GCallback) _editing_host_page_on_edit_comment_gtk_action_callback; +#line 2505 "/home/jens/Source/shotwell/src/PhotoPage.vala" + edit_comment = _tmp74_; +#line 2507 "/home/jens/Source/shotwell/src/PhotoPage.vala" + edit_comment.label = RESOURCES_EDIT_COMMENT_MENU; +#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp75_ = actions; +#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp75__length1 = actions_length1; +#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp76_ = edit_comment; +#line 2508 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add215 (&actions, &actions_length1, &_actions_size_, &_tmp76_); +#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_.name = "AdjustDateTime"; +#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_.stock_id = NULL; +#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_.label = TRANSLATABLE; +#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_.accelerator = NULL; +#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_.tooltip = TRANSLATABLE; +#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp77_.callback = (GCallback) _editing_host_page_on_adjust_date_time_gtk_action_callback; +#line 2510 "/home/jens/Source/shotwell/src/PhotoPage.vala" + adjust_date_time = _tmp77_; +#line 2512 "/home/jens/Source/shotwell/src/PhotoPage.vala" + adjust_date_time.label = RESOURCES_ADJUST_DATE_TIME_MENU; +#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp78_ = actions; +#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp78__length1 = actions_length1; +#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp79_ = adjust_date_time; +#line 2513 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add216 (&actions, &actions_length1, &_actions_size_, &_tmp79_); +#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_.name = "ExternalEdit"; +#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_.stock_id = RESOURCES_EDIT_LABEL; +#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_.label = TRANSLATABLE; +#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_.accelerator = "Return"; +#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_.tooltip = TRANSLATABLE; +#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp80_.callback = (GCallback) _library_photo_page_on_external_edit_gtk_action_callback; +#line 2515 "/home/jens/Source/shotwell/src/PhotoPage.vala" + external_edit = _tmp80_; +#line 2517 "/home/jens/Source/shotwell/src/PhotoPage.vala" + external_edit.label = RESOURCES_EXTERNAL_EDIT_MENU; +#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp81_ = actions; +#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp81__length1 = actions_length1; +#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp82_ = external_edit; +#line 2518 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add217 (&actions, &actions_length1, &_actions_size_, &_tmp82_); +#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_.name = "ExternalEditRAW"; +#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_.stock_id = NULL; +#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_.label = TRANSLATABLE; +#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_.accelerator = "Return"; +#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_.tooltip = TRANSLATABLE; +#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp83_.callback = (GCallback) _library_photo_page_on_external_edit_raw_gtk_action_callback; +#line 2520 "/home/jens/Source/shotwell/src/PhotoPage.vala" + edit_raw = _tmp83_; +#line 2522 "/home/jens/Source/shotwell/src/PhotoPage.vala" + edit_raw.label = RESOURCES_EXTERNAL_EDIT_RAW_MENU; +#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp84_ = actions; +#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp84__length1 = actions_length1; +#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp85_ = edit_raw; +#line 2523 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add218 (&actions, &actions_length1, &_actions_size_, &_tmp85_); +#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_.name = "SendTo"; +#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_.stock_id = "document-send"; +#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_.label = TRANSLATABLE; +#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_.accelerator = NULL; +#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_.tooltip = TRANSLATABLE; +#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp86_.callback = (GCallback) _library_photo_page_on_send_to_gtk_action_callback; +#line 2525 "/home/jens/Source/shotwell/src/PhotoPage.vala" + send_to = _tmp86_; +#line 2527 "/home/jens/Source/shotwell/src/PhotoPage.vala" + send_to.label = RESOURCES_SEND_TO_MENU; +#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp87_ = actions; +#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp87__length1 = actions_length1; +#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp88_ = send_to; +#line 2528 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add219 (&actions, &actions_length1, &_actions_size_, &_tmp88_); +#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_.name = "SetBackground"; +#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_.stock_id = NULL; +#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_.label = TRANSLATABLE; +#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_.accelerator = "B"; +#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_.tooltip = TRANSLATABLE; +#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp89_.callback = (GCallback) _editing_host_page_on_set_background_gtk_action_callback; +#line 2530 "/home/jens/Source/shotwell/src/PhotoPage.vala" + set_background = _tmp89_; +#line 2532 "/home/jens/Source/shotwell/src/PhotoPage.vala" + set_background.label = RESOURCES_SET_BACKGROUND_MENU; +#line 2533 "/home/jens/Source/shotwell/src/PhotoPage.vala" + set_background.tooltip = RESOURCES_SET_BACKGROUND_TOOLTIP; +#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp90_ = actions; +#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp90__length1 = actions_length1; +#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp91_ = set_background; +#line 2534 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add220 (&actions, &actions_length1, &_actions_size_, &_tmp91_); +#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_.name = "Flag"; +#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_.stock_id = NULL; +#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_.label = TRANSLATABLE; +#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_.accelerator = "G"; +#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_.tooltip = TRANSLATABLE; +#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp92_.callback = (GCallback) _library_photo_page_on_flag_unflag_gtk_action_callback; +#line 2536 "/home/jens/Source/shotwell/src/PhotoPage.vala" + flag = _tmp92_; +#line 2537 "/home/jens/Source/shotwell/src/PhotoPage.vala" + flag.label = RESOURCES_FLAG_MENU; +#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp93_ = actions; +#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp93__length1 = actions_length1; +#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp94_ = flag; +#line 2538 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add221 (&actions, &actions_length1, &_actions_size_, &_tmp94_); +#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_.name = "Rate"; +#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_.stock_id = NULL; +#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_.label = TRANSLATABLE; +#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_.accelerator = NULL; +#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_.tooltip = NULL; +#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp95_.callback = (GCallback) NULL; +#line 2540 "/home/jens/Source/shotwell/src/PhotoPage.vala" + set_rating = _tmp95_; +#line 2541 "/home/jens/Source/shotwell/src/PhotoPage.vala" + set_rating.label = RESOURCES_RATING_MENU; +#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp96_ = actions; +#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp96__length1 = actions_length1; +#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp97_ = set_rating; +#line 2542 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add222 (&actions, &actions_length1, &_actions_size_, &_tmp97_); +#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_.name = "IncreaseRating"; +#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_.stock_id = NULL; +#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_.label = TRANSLATABLE; +#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_.accelerator = "greater"; +#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_.tooltip = TRANSLATABLE; +#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp98_.callback = (GCallback) _library_photo_page_on_increase_rating_gtk_action_callback; +#line 2544 "/home/jens/Source/shotwell/src/PhotoPage.vala" + increase_rating = _tmp98_; +#line 2546 "/home/jens/Source/shotwell/src/PhotoPage.vala" + increase_rating.label = RESOURCES_INCREASE_RATING_MENU; +#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp99_ = actions; +#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp99__length1 = actions_length1; +#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp100_ = increase_rating; +#line 2547 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add223 (&actions, &actions_length1, &_actions_size_, &_tmp100_); +#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_.name = "DecreaseRating"; +#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_.stock_id = NULL; +#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_.label = TRANSLATABLE; +#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_.accelerator = "less"; +#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_.tooltip = TRANSLATABLE; +#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp101_.callback = (GCallback) _library_photo_page_on_decrease_rating_gtk_action_callback; +#line 2549 "/home/jens/Source/shotwell/src/PhotoPage.vala" + decrease_rating = _tmp101_; +#line 2551 "/home/jens/Source/shotwell/src/PhotoPage.vala" + decrease_rating.label = RESOURCES_DECREASE_RATING_MENU; +#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp102_ = actions; +#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp102__length1 = actions_length1; +#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp103_ = decrease_rating; +#line 2552 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add224 (&actions, &actions_length1, &_actions_size_, &_tmp103_); +#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_.name = "RateRejected"; +#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_.stock_id = NULL; +#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_.label = TRANSLATABLE; +#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_.accelerator = "9"; +#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_.tooltip = TRANSLATABLE; +#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp104_.callback = (GCallback) _library_photo_page_on_rate_rejected_gtk_action_callback; +#line 2554 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_rejected = _tmp104_; +#line 2556 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp105_ = resources_rating_menu (RATING_REJECTED); +#line 2556 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_rejected.label = _tmp105_; +#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp106_ = actions; +#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp106__length1 = actions_length1; +#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp107_ = rate_rejected; +#line 2557 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add225 (&actions, &actions_length1, &_actions_size_, &_tmp107_); +#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp108_.name = "RateUnrated"; +#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp108_.stock_id = NULL; +#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp108_.label = TRANSLATABLE; +#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp108_.accelerator = "0"; +#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp108_.tooltip = TRANSLATABLE; +#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp108_.callback = (GCallback) _library_photo_page_on_rate_unrated_gtk_action_callback; +#line 2559 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_unrated = _tmp108_; +#line 2561 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp109_ = resources_rating_menu (RATING_UNRATED); +#line 2561 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_unrated.label = _tmp109_; +#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp110_ = actions; +#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp110__length1 = actions_length1; +#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp111_ = rate_unrated; +#line 2562 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add226 (&actions, &actions_length1, &_actions_size_, &_tmp111_); +#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp112_.name = "RateOne"; +#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp112_.stock_id = NULL; +#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp112_.label = TRANSLATABLE; +#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp112_.accelerator = "1"; +#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp112_.tooltip = TRANSLATABLE; +#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp112_.callback = (GCallback) _library_photo_page_on_rate_one_gtk_action_callback; +#line 2564 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_one = _tmp112_; +#line 2566 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp113_ = resources_rating_menu (RATING_ONE); +#line 2566 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_one.label = _tmp113_; +#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp114_ = actions; +#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp114__length1 = actions_length1; +#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp115_ = rate_one; +#line 2567 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add227 (&actions, &actions_length1, &_actions_size_, &_tmp115_); +#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp116_.name = "RateTwo"; +#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp116_.stock_id = NULL; +#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp116_.label = TRANSLATABLE; +#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp116_.accelerator = "2"; +#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp116_.tooltip = TRANSLATABLE; +#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp116_.callback = (GCallback) _library_photo_page_on_rate_two_gtk_action_callback; +#line 2569 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_two = _tmp116_; +#line 2571 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp117_ = resources_rating_menu (RATING_TWO); +#line 2571 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_two.label = _tmp117_; +#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp118_ = actions; +#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp118__length1 = actions_length1; +#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp119_ = rate_two; +#line 2572 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add228 (&actions, &actions_length1, &_actions_size_, &_tmp119_); +#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp120_.name = "RateThree"; +#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp120_.stock_id = NULL; +#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp120_.label = TRANSLATABLE; +#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp120_.accelerator = "3"; +#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp120_.tooltip = TRANSLATABLE; +#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp120_.callback = (GCallback) _library_photo_page_on_rate_three_gtk_action_callback; +#line 2574 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_three = _tmp120_; +#line 2576 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp121_ = resources_rating_menu (RATING_THREE); +#line 2576 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_three.label = _tmp121_; +#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp122_ = actions; +#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp122__length1 = actions_length1; +#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp123_ = rate_three; +#line 2577 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add229 (&actions, &actions_length1, &_actions_size_, &_tmp123_); +#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp124_.name = "RateFour"; +#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp124_.stock_id = NULL; +#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp124_.label = TRANSLATABLE; +#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp124_.accelerator = "4"; +#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp124_.tooltip = TRANSLATABLE; +#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp124_.callback = (GCallback) _library_photo_page_on_rate_four_gtk_action_callback; +#line 2579 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_four = _tmp124_; +#line 2581 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp125_ = resources_rating_menu (RATING_FOUR); +#line 2581 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_four.label = _tmp125_; +#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp126_ = actions; +#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp126__length1 = actions_length1; +#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp127_ = rate_four; +#line 2582 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add230 (&actions, &actions_length1, &_actions_size_, &_tmp127_); +#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp128_.name = "RateFive"; +#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp128_.stock_id = NULL; +#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp128_.label = TRANSLATABLE; +#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp128_.accelerator = "5"; +#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp128_.tooltip = TRANSLATABLE; +#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp128_.callback = (GCallback) _library_photo_page_on_rate_five_gtk_action_callback; +#line 2584 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_five = _tmp128_; +#line 2586 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp129_ = resources_rating_menu (RATING_FIVE); +#line 2586 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rate_five.label = _tmp129_; +#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp130_ = actions; +#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp130__length1 = actions_length1; +#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp131_ = rate_five; +#line 2587 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add231 (&actions, &actions_length1, &_actions_size_, &_tmp131_); +#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp132_.name = "IncreaseSize"; +#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp132_.stock_id = RESOURCES_ZOOM_IN_LABEL; +#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp132_.label = TRANSLATABLE; +#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp132_.accelerator = "plus"; +#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp132_.tooltip = TRANSLATABLE; +#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp132_.callback = (GCallback) _editing_host_page_on_increase_size_gtk_action_callback; +#line 2589 "/home/jens/Source/shotwell/src/PhotoPage.vala" + increase_size = _tmp132_; +#line 2591 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp133_ = _ ("Zoom _In"); +#line 2591 "/home/jens/Source/shotwell/src/PhotoPage.vala" + increase_size.label = _tmp133_; +#line 2592 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp134_ = _ ("Increase the magnification of the photo"); +#line 2592 "/home/jens/Source/shotwell/src/PhotoPage.vala" + increase_size.tooltip = _tmp134_; +#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp135_ = actions; +#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp135__length1 = actions_length1; +#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp136_ = increase_size; +#line 2593 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add232 (&actions, &actions_length1, &_actions_size_, &_tmp136_); +#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp137_.name = "DecreaseSize"; +#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp137_.stock_id = RESOURCES_ZOOM_OUT_LABEL; +#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp137_.label = TRANSLATABLE; +#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp137_.accelerator = "minus"; +#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp137_.tooltip = TRANSLATABLE; +#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp137_.callback = (GCallback) _editing_host_page_on_decrease_size_gtk_action_callback; +#line 2595 "/home/jens/Source/shotwell/src/PhotoPage.vala" + decrease_size = _tmp137_; +#line 2597 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp138_ = _ ("Zoom _Out"); +#line 2597 "/home/jens/Source/shotwell/src/PhotoPage.vala" + decrease_size.label = _tmp138_; +#line 2598 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp139_ = _ ("Decrease the magnification of the photo"); +#line 2598 "/home/jens/Source/shotwell/src/PhotoPage.vala" + decrease_size.tooltip = _tmp139_; +#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp140_ = actions; +#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp140__length1 = actions_length1; +#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp141_ = decrease_size; +#line 2599 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add233 (&actions, &actions_length1, &_actions_size_, &_tmp141_); +#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp142_.name = "ZoomFit"; +#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp142_.stock_id = RESOURCES_ZOOM_FIT_LABEL; +#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp142_.label = TRANSLATABLE; +#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp142_.accelerator = "0"; +#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp142_.tooltip = TRANSLATABLE; +#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp142_.callback = (GCallback) _editing_host_page_snap_zoom_to_min_gtk_action_callback; +#line 2601 "/home/jens/Source/shotwell/src/PhotoPage.vala" + best_fit = _tmp142_; +#line 2603 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp143_ = _ ("Fit to _Page"); +#line 2603 "/home/jens/Source/shotwell/src/PhotoPage.vala" + best_fit.label = _tmp143_; +#line 2604 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp144_ = _ ("Zoom the photo to fit on the screen"); +#line 2604 "/home/jens/Source/shotwell/src/PhotoPage.vala" + best_fit.tooltip = _tmp144_; +#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp145_ = actions; +#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp145__length1 = actions_length1; +#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp146_ = best_fit; +#line 2605 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add234 (&actions, &actions_length1, &_actions_size_, &_tmp146_); +#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp147_.name = "Zoom100"; +#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp147_.stock_id = RESOURCES_ZOOM_100_LABEL; +#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp147_.label = TRANSLATABLE; +#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp147_.accelerator = "1"; +#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp147_.tooltip = TRANSLATABLE; +#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp147_.callback = (GCallback) _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback; +#line 2607 "/home/jens/Source/shotwell/src/PhotoPage.vala" + actual_size = _tmp147_; +#line 2610 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp148_ = _ ("Zoom _100%"); +#line 2610 "/home/jens/Source/shotwell/src/PhotoPage.vala" + actual_size.label = _tmp148_; +#line 2612 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp149_ = _ ("Zoom the photo to 100% magnification"); +#line 2612 "/home/jens/Source/shotwell/src/PhotoPage.vala" + actual_size.tooltip = _tmp149_; +#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp150_ = actions; +#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp150__length1 = actions_length1; +#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp151_ = actual_size; +#line 2613 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add235 (&actions, &actions_length1, &_actions_size_, &_tmp151_); +#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp152_.name = "Zoom200"; +#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp152_.stock_id = NULL; +#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp152_.label = TRANSLATABLE; +#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp152_.accelerator = "2"; +#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp152_.tooltip = TRANSLATABLE; +#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp152_.callback = (GCallback) _editing_host_page_snap_zoom_to_max_gtk_action_callback; +#line 2615 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_size = _tmp152_; +#line 2618 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp153_ = _ ("Zoom _200%"); +#line 2618 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_size.label = _tmp153_; +#line 2620 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp154_ = _ ("Zoom the photo to 200% magnification"); +#line 2620 "/home/jens/Source/shotwell/src/PhotoPage.vala" + max_size.tooltip = _tmp154_; +#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp155_ = actions; +#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp155__length1 = actions_length1; +#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp156_ = max_size; +#line 2621 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add236 (&actions, &actions_length1, &_actions_size_, &_tmp156_); +#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp157_.name = "AddTags"; +#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp157_.stock_id = NULL; +#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp157_.label = TRANSLATABLE; +#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp157_.accelerator = "T"; +#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp157_.tooltip = TRANSLATABLE; +#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp157_.callback = (GCallback) _library_photo_page_on_add_tags_gtk_action_callback; +#line 2623 "/home/jens/Source/shotwell/src/PhotoPage.vala" + add_tags = _tmp157_; +#line 2625 "/home/jens/Source/shotwell/src/PhotoPage.vala" + add_tags.label = RESOURCES_ADD_TAGS_MENU; +#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp158_ = actions; +#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp158__length1 = actions_length1; +#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp159_ = add_tags; +#line 2626 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add237 (&actions, &actions_length1, &_actions_size_, &_tmp159_); +#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp160_.name = "ModifyTags"; +#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp160_.stock_id = NULL; +#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp160_.label = TRANSLATABLE; +#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp160_.accelerator = "M"; +#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp160_.tooltip = TRANSLATABLE; +#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp160_.callback = (GCallback) _library_photo_page_on_modify_tags_gtk_action_callback; +#line 2628 "/home/jens/Source/shotwell/src/PhotoPage.vala" + modify_tags = _tmp160_; +#line 2630 "/home/jens/Source/shotwell/src/PhotoPage.vala" + modify_tags.label = RESOURCES_MODIFY_TAGS_MENU; +#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp161_ = actions; +#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp161__length1 = actions_length1; +#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp162_ = modify_tags; +#line 2631 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add238 (&actions, &actions_length1, &_actions_size_, &_tmp162_); +#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp163_.name = "Slideshow"; +#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp163_.stock_id = NULL; +#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp163_.label = TRANSLATABLE; +#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp163_.accelerator = "F5"; +#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp163_.tooltip = TRANSLATABLE; +#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp163_.callback = (GCallback) _library_photo_page_on_slideshow_gtk_action_callback; +#line 2633 "/home/jens/Source/shotwell/src/PhotoPage.vala" + slideshow = _tmp163_; +#line 2635 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp164_ = _ ("S_lideshow"); +#line 2635 "/home/jens/Source/shotwell/src/PhotoPage.vala" + slideshow.label = _tmp164_; +#line 2636 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp165_ = _ ("Play a slideshow"); +#line 2636 "/home/jens/Source/shotwell/src/PhotoPage.vala" + slideshow.tooltip = _tmp165_; +#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp166_ = actions; +#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp166__length1 = actions_length1; +#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp167_ = slideshow; +#line 2637 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add239 (&actions, &actions_length1, &_actions_size_, &_tmp167_); +#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp168_.name = "RawDeveloper"; +#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp168_.stock_id = NULL; +#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp168_.label = TRANSLATABLE; +#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp168_.accelerator = NULL; +#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp168_.tooltip = NULL; +#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp168_.callback = (GCallback) NULL; +#line 2639 "/home/jens/Source/shotwell/src/PhotoPage.vala" + raw_developer = _tmp168_; +#line 2640 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp169_ = _ ("_Developer"); +#line 2640 "/home/jens/Source/shotwell/src/PhotoPage.vala" + raw_developer.label = _tmp169_; +#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp170_ = actions; +#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp170__length1 = actions_length1; +#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp171_ = raw_developer; +#line 2641 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add240 (&actions, &actions_length1, &_actions_size_, &_tmp171_); +#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp172_.name = "SendToContextMenu"; +#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp172_.stock_id = "document-send"; +#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp172_.label = TRANSLATABLE; +#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp172_.accelerator = NULL; +#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp172_.tooltip = TRANSLATABLE; +#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp172_.callback = (GCallback) _library_photo_page_on_send_to_gtk_action_callback; +#line 2645 "/home/jens/Source/shotwell/src/PhotoPage.vala" + send_to_context_menu = _tmp172_; +#line 2647 "/home/jens/Source/shotwell/src/PhotoPage.vala" + send_to_context_menu.label = RESOURCES_SEND_TO_CONTEXT_MENU; +#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp173_ = actions; +#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp173__length1 = actions_length1; +#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp174_ = send_to_context_menu; +#line 2648 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add241 (&actions, &actions_length1, &_actions_size_, &_tmp174_); +#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp175_.name = "AddTagsContextMenu"; +#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp175_.stock_id = NULL; +#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp175_.label = TRANSLATABLE; +#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp175_.accelerator = "A"; +#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp175_.tooltip = TRANSLATABLE; +#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp175_.callback = (GCallback) _library_photo_page_on_add_tags_gtk_action_callback; +#line 2650 "/home/jens/Source/shotwell/src/PhotoPage.vala" + add_tags_context_menu = _tmp175_; +#line 2652 "/home/jens/Source/shotwell/src/PhotoPage.vala" + add_tags_context_menu.label = RESOURCES_ADD_TAGS_CONTEXT_MENU; +#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp176_ = actions; +#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp176__length1 = actions_length1; +#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp177_ = add_tags_context_menu; +#line 2653 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add242 (&actions, &actions_length1, &_actions_size_, &_tmp177_); +#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp178_ = actions; +#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp178__length1 = actions_length1; +#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (result_length1) { +#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *result_length1 = _tmp178__length1; +#line 17972 "PhotoPage.c" + } +#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp178_; +#line 2655 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 17978 "PhotoPage.c" +} + + +static void _library_photo_page_on_display_ratings_gtk_action_callback (GtkAction* action, gpointer self) { +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_display_ratings ((LibraryPhotoPage*) self, action); +#line 17985 "PhotoPage.c" +} + + +static void _vala_array_add243 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 17996 "PhotoPage.c" + } +#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 18000 "PhotoPage.c" +} + + +static GtkToggleActionEntry* library_photo_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1) { + LibraryPhotoPage * self; + GtkToggleActionEntry* result = NULL; + GtkToggleActionEntry* toggle_actions = NULL; + gint _tmp0_ = 0; + GtkToggleActionEntry* _tmp1_ = NULL; + gint toggle_actions_length1 = 0; + gint _toggle_actions_size_ = 0; + GtkToggleActionEntry ratings = {0}; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GtkToggleActionEntry _tmp5_ = {0}; + GtkToggleActionEntry _tmp6_ = {0}; + GtkToggleActionEntry* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GtkToggleActionEntry _tmp8_ = {0}; + GtkToggleActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; +#line 2658 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = PAGE_CLASS (library_photo_page_parent_class)->init_collect_toggle_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), &_tmp0_); +#line 2659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + toggle_actions = _tmp1_; +#line 2659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + toggle_actions_length1 = _tmp0_; +#line 2659 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _toggle_actions_size_ = toggle_actions_length1; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.name = "ViewRatings"; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.stock_id = NULL; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.accelerator = "N"; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.callback = (GCallback) _library_photo_page_on_display_ratings_gtk_action_callback; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.is_active = _tmp4_; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 2661 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ratings = _tmp6_; +#line 2663 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ratings.label = RESOURCES_VIEW_RATINGS_MENU; +#line 2664 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ratings.tooltip = RESOURCES_VIEW_RATINGS_TOOLTIP; +#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = toggle_actions; +#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7__length1 = toggle_actions_length1; +#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = ratings; +#line 2665 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add243 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp8_); +#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = toggle_actions; +#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9__length1 = toggle_actions_length1; +#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (result_length1) { +#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *result_length1 = _tmp9__length1; +#line 18079 "PhotoPage.c" + } +#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp9_; +#line 2667 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 18085 "PhotoPage.c" +} + + +static gpointer _injection_group_ref0 (gpointer self) { +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self ? injection_group_ref (self) : NULL; +#line 18092 "PhotoPage.c" +} + + +static void _vala_array_add244 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 18103 "PhotoPage.c" + } +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = value; +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[*length] = NULL; +#line 18109 "PhotoPage.c" +} + + +static void _vala_array_add245 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 18120 "PhotoPage.c" + } +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = value; +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[*length] = NULL; +#line 18126 "PhotoPage.c" +} + + +static void _vala_array_add246 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 18137 "PhotoPage.c" + } +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = value; +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[*length] = NULL; +#line 18143 "PhotoPage.c" +} + + +static InjectionGroup** library_photo_page_real_init_collect_injection_groups (Page* base, int* result_length1) { + LibraryPhotoPage * self; + InjectionGroup** result = NULL; + InjectionGroup** groups = NULL; + gint _tmp0_ = 0; + InjectionGroup** _tmp1_ = NULL; + gint groups_length1 = 0; + gint _groups_size_ = 0; + InjectionGroup* print_group = NULL; + InjectionGroup* _tmp2_ = NULL; + InjectionGroup** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + InjectionGroup* _tmp4_ = NULL; + InjectionGroup* publish_group = NULL; + InjectionGroup* _tmp5_ = NULL; + InjectionGroup** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + InjectionGroup* _tmp7_ = NULL; + InjectionGroup* bg_group = NULL; + InjectionGroup* _tmp8_ = NULL; + InjectionGroup** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + InjectionGroup* _tmp10_ = NULL; + InjectionGroup** _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 2670 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2671 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = PAGE_CLASS (library_photo_page_parent_class)->init_collect_injection_groups (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), &_tmp0_); +#line 2671 "/home/jens/Source/shotwell/src/PhotoPage.vala" + groups = _tmp1_; +#line 2671 "/home/jens/Source/shotwell/src/PhotoPage.vala" + groups_length1 = _tmp0_; +#line 2671 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _groups_size_ = groups_length1; +#line 2673 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = injection_group_new ("/MenuBar/FileMenu/PrintPlaceholder"); +#line 2673 "/home/jens/Source/shotwell/src/PhotoPage.vala" + print_group = _tmp2_; +#line 2674 "/home/jens/Source/shotwell/src/PhotoPage.vala" + injection_group_add_menu_item (print_group, "Print", NULL); +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = groups; +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3__length1 = groups_length1; +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _injection_group_ref0 (print_group); +#line 2676 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add244 (&groups, &groups_length1, &_groups_size_, _tmp4_); +#line 2678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = injection_group_new ("/MenuBar/FileMenu/PublishPlaceholder"); +#line 2678 "/home/jens/Source/shotwell/src/PhotoPage.vala" + publish_group = _tmp5_; +#line 2679 "/home/jens/Source/shotwell/src/PhotoPage.vala" + injection_group_add_menu_item (publish_group, "Publish", NULL); +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = groups; +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6__length1 = groups_length1; +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _injection_group_ref0 (publish_group); +#line 2681 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add245 (&groups, &groups_length1, &_groups_size_, _tmp7_); +#line 2683 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = injection_group_new ("/MenuBar/FileMenu/SetBackgroundPlaceholder"); +#line 2683 "/home/jens/Source/shotwell/src/PhotoPage.vala" + bg_group = _tmp8_; +#line 2684 "/home/jens/Source/shotwell/src/PhotoPage.vala" + injection_group_add_menu_item (bg_group, "SetBackground", NULL); +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = groups; +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9__length1 = groups_length1; +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _injection_group_ref0 (bg_group); +#line 2686 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add246 (&groups, &groups_length1, &_groups_size_, _tmp10_); +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = groups; +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11__length1 = groups_length1; +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (result_length1) { +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *result_length1 = _tmp11__length1; +#line 18232 "PhotoPage.c" + } +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp11_; +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _injection_group_unref0 (bg_group); +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _injection_group_unref0 (publish_group); +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _injection_group_unref0 (print_group); +#line 2688 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 18244 "PhotoPage.c" +} + + +static void _vala_array_add247 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 18255 "PhotoPage.c" + } +#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 18259 "PhotoPage.c" +} + + +static void _vala_array_add248 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if ((*length) == (*size)) { +#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 18270 "PhotoPage.c" + } +#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + (*array)[(*length)++] = *value; +#line 18274 "PhotoPage.c" +} + + +static void _library_photo_page_on_raw_developer_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self) { +#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_raw_developer_changed ((LibraryPhotoPage*) self, action, current); +#line 18281 "PhotoPage.c" +} + + +static void library_photo_page_real_register_radio_actions (Page* base, GtkActionGroup* action_group) { + LibraryPhotoPage * self; + GtkRadioActionEntry* developer_actions = NULL; + GtkRadioActionEntry* _tmp0_ = NULL; + gint developer_actions_length1 = 0; + gint _developer_actions_size_ = 0; + GtkRadioActionEntry dev_shotwell = {0}; + GtkRadioActionEntry _tmp1_ = {0}; + gchar* label_shotwell = NULL; + gchar* _tmp2_ = NULL; + GtkRadioActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkRadioActionEntry _tmp4_ = {0}; + GtkRadioActionEntry dev_camera = {0}; + GtkRadioActionEntry _tmp5_ = {0}; + gchar* label_camera = NULL; + gchar* _tmp6_ = NULL; + GtkRadioActionEntry* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GtkRadioActionEntry _tmp8_ = {0}; + GtkActionGroup* _tmp9_ = NULL; + GtkRadioActionEntry* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + GtkActionGroup* _tmp11_ = NULL; +#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GTK_IS_ACTION_GROUP (action_group)); +#line 2695 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = g_new0 (GtkRadioActionEntry, 0); +#line 2695 "/home/jens/Source/shotwell/src/PhotoPage.vala" + developer_actions = _tmp0_; +#line 2695 "/home/jens/Source/shotwell/src/PhotoPage.vala" + developer_actions_length1 = 0; +#line 2695 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _developer_actions_size_ = developer_actions_length1; +#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_.name = "RawDeveloperShotwell"; +#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_.stock_id = NULL; +#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_.label = TRANSLATABLE; +#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_.accelerator = NULL; +#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_.tooltip = TRANSLATABLE; +#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_.value = (gint) RAW_DEVELOPER_SHOTWELL; +#line 2697 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dev_shotwell = _tmp1_; +#line 2699 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = raw_developer_get_label (RAW_DEVELOPER_SHOTWELL); +#line 2699 "/home/jens/Source/shotwell/src/PhotoPage.vala" + label_shotwell = _tmp2_; +#line 2700 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dev_shotwell.label = label_shotwell; +#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = developer_actions; +#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3__length1 = developer_actions_length1; +#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = dev_shotwell; +#line 2701 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add247 (&developer_actions, &developer_actions_length1, &_developer_actions_size_, &_tmp4_); +#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.name = "RawDeveloperCamera"; +#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.stock_id = NULL; +#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.accelerator = NULL; +#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_.value = (gint) RAW_DEVELOPER_CAMERA; +#line 2703 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dev_camera = _tmp5_; +#line 2705 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = raw_developer_get_label (RAW_DEVELOPER_CAMERA); +#line 2705 "/home/jens/Source/shotwell/src/PhotoPage.vala" + label_camera = _tmp6_; +#line 2706 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dev_camera.label = label_camera; +#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = developer_actions; +#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7__length1 = developer_actions_length1; +#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = dev_camera; +#line 2707 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_array_add248 (&developer_actions, &developer_actions_length1, &_developer_actions_size_, &_tmp8_); +#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = action_group; +#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = developer_actions; +#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10__length1 = developer_actions_length1; +#line 2709 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_action_group_add_radio_actions (_tmp9_, _tmp10_, _tmp10__length1, (gint) RAW_DEVELOPER_SHOTWELL, (GCallback) _library_photo_page_on_raw_developer_changed_gtk_radio_action_callback, self); +#line 2711 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = action_group; +#line 2711 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (library_photo_page_parent_class)->register_radio_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp11_); +#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (label_camera); +#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (label_shotwell); +#line 2691 "/home/jens/Source/shotwell/src/PhotoPage.vala" + developer_actions = (g_free (developer_actions), NULL); +#line 18395 "PhotoPage.c" +} + + +static void library_photo_page_on_display_ratings (LibraryPhotoPage* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 2714 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2714 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 2715 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = action; +#line 2715 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 2715 "/home/jens/Source/shotwell/src/PhotoPage.vala" + display = _tmp1_; +#line 2717 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_set_display_ratings (self, display); +#line 2719 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 2719 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 2719 "/home/jens/Source/shotwell/src/PhotoPage.vala" + configuration_facade_set_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display); +#line 2719 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 2720 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 18427 "PhotoPage.c" +} + + +static void library_photo_page_set_display_ratings (LibraryPhotoPage* self, gboolean display) { + GtkToggleAction* action = NULL; + GtkAction* _tmp0_ = NULL; + GtkToggleAction* _tmp1_ = NULL; + GtkToggleAction* _tmp2_ = NULL; +#line 2723 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ViewRatings"); +#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL; +#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ == NULL) { +#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp0_); +#line 18446 "PhotoPage.c" + } +#line 2724 "/home/jens/Source/shotwell/src/PhotoPage.vala" + action = _tmp1_; +#line 2725 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = action; +#line 2725 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_ != NULL) { +#line 18454 "PhotoPage.c" + GtkToggleAction* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2726 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = action; +#line 2726 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = display; +#line 2726 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_toggle_action_set_active (_tmp3_, _tmp4_); +#line 18463 "PhotoPage.c" + } +#line 2723 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (action); +#line 18467 "PhotoPage.c" +} + + +static void library_photo_page_real_update_actions (Page* base, gint selected_count, gint count) { + LibraryPhotoPage * self; + gboolean multiple = FALSE; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean rotate_possible = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + gboolean is_raw = FALSE; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; + gboolean _tmp33_ = FALSE; + gboolean _tmp34_ = FALSE; + gboolean _tmp35_ = FALSE; + gboolean _tmp39_ = FALSE; + gboolean _tmp40_ = FALSE; + gboolean _tmp41_ = FALSE; + gboolean _tmp42_ = FALSE; + gboolean _tmp43_ = FALSE; + gboolean _tmp44_ = FALSE; + gboolean _tmp45_ = FALSE; + gboolean _tmp46_ = FALSE; + gboolean _tmp55_ = FALSE; + gboolean _tmp56_ = FALSE; + gint _tmp61_ = 0; + gint _tmp62_ = 0; +#line 2729 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_ > 1; +#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 2730 "/home/jens/Source/shotwell/src/PhotoPage.vala" + multiple = _tmp3_; +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_) { +#line 18523 "PhotoPage.c" + Photo* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = editing_host_page_is_rotate_available (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp7_); +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp8_; +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 18537 "PhotoPage.c" + } else { +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = FALSE; +#line 18541 "PhotoPage.c" + } +#line 2731 "/home/jens/Source/shotwell/src/PhotoPage.vala" + rotate_possible = _tmp4_; +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp10_) { +#line 18549 "PhotoPage.c" + Photo* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + PhotoFileFormat _tmp13_ = 0; +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = photo_get_master_file_format (_tmp12_); +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp13_ == PHOTO_FILE_FORMAT_RAW; +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 18563 "PhotoPage.c" + } else { +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = FALSE; +#line 18567 "PhotoPage.c" + } +#line 2732 "/home/jens/Source/shotwell/src/PhotoPage.vala" + is_raw = _tmp9_; +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp15_) { +#line 18575 "PhotoPage.c" + ConfigFacade* _tmp16_ = NULL; + ConfigFacade* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = config_facade_get_instance (); +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp16_; +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = g_strcmp0 (_tmp19_, "") != 0; +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp19_); +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp17_); +#line 18594 "PhotoPage.c" + } else { +#line 2735 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = FALSE; +#line 18598 "PhotoPage.c" + } +#line 2734 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", _tmp14_); +#line 2737 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2737 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp21_) { +#line 18606 "PhotoPage.c" + gboolean _tmp22_ = FALSE; + Photo* _tmp23_ = NULL; + Photo* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_; +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = photo_has_transformations (_tmp24_); +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _tmp25_; +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp24_); +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp26_) { +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = TRUE; +#line 18626 "PhotoPage.c" + } else { + Photo* _tmp27_ = NULL; + Photo* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = _tmp27_; +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = photo_has_editable (_tmp28_); +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp29_; +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp28_); +#line 18641 "PhotoPage.c" + } +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp22_; +#line 18645 "PhotoPage.c" + } else { +#line 2738 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = FALSE; +#line 18649 "PhotoPage.c" + } +#line 2737 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp20_); +#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp31_) { +#line 18657 "PhotoPage.c" + gboolean _tmp32_ = FALSE; +#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = !_tmp32_; +#line 18663 "PhotoPage.c" + } else { +#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = FALSE; +#line 18667 "PhotoPage.c" + } +#line 2740 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp30_) { +#line 2741 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_rating_menu_item_sensitivity (self); +#line 2742 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_development_menu_item_sensitivity (self); +#line 18675 "PhotoPage.c" + } +#line 2745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2745 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", _tmp33_); +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp35_) { +#line 18685 "PhotoPage.c" + Photo* _tmp36_ = NULL; + Photo* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = _tmp36_; +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = photo_has_color_adjustments (_tmp37_); +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = _tmp38_; +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp37_); +#line 18699 "PhotoPage.c" + } else { +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = FALSE; +#line 18703 "PhotoPage.c" + } +#line 2747 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CopyColorAdjustments", _tmp34_); +#line 2748 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = pixel_transformation_bundle_has_copied_color_adjustments (); +#line 2748 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PasteColorAdjustments", _tmp39_); +#line 2750 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = multiple; +#line 2750 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PrevPhoto", _tmp40_); +#line 2751 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp41_ = multiple; +#line 2751 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "NextPhoto", _tmp41_); +#line 2752 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp42_ = rotate_possible; +#line 2752 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", _tmp42_); +#line 2753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp43_ = rotate_possible; +#line 2753 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", _tmp43_); +#line 2754 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp44_ = rotate_possible; +#line 2754 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipHorizontally", _tmp44_); +#line 2755 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp45_ = rotate_possible; +#line 2755 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipVertically", _tmp45_); +#line 2757 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp46_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2757 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp46_) { +#line 18739 "PhotoPage.c" + Photo* _tmp47_ = NULL; + Photo* _tmp48_ = NULL; + Scaling _tmp49_ = {0}; + gboolean _tmp50_ = FALSE; + Photo* _tmp51_ = NULL; + Photo* _tmp52_ = NULL; + Scaling _tmp53_ = {0}; + gboolean _tmp54_ = FALSE; +#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp47_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp48_ = _tmp47_; +#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaling_for_original (&_tmp49_); +#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp50_ = editing_tools_crop_tool_is_available (_tmp48_, &_tmp49_); +#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Crop", _tmp50_); +#line 2758 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp48_); +#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp51_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp52_ = _tmp51_; +#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaling_for_original (&_tmp53_); +#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp54_ = editing_tools_redeye_tool_is_available (_tmp52_, &_tmp53_); +#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RedEye", _tmp54_); +#line 2759 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp52_); +#line 18772 "PhotoPage.c" + } +#line 2763 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_flag_action (self); +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp56_ = is_raw; +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp56_) { +#line 18780 "PhotoPage.c" + ConfigFacade* _tmp57_ = NULL; + ConfigFacade* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp57_ = config_facade_get_instance (); +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp58_ = _tmp57_; +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp59_ = configuration_facade_get_external_raw_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp60_ = _tmp59_; +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp55_ = g_strcmp0 (_tmp60_, "") != 0; +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp60_); +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp58_); +#line 18799 "PhotoPage.c" + } else { +#line 2766 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp55_ = FALSE; +#line 18803 "PhotoPage.c" + } +#line 2765 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEditRAW", _tmp55_); +#line 2768 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp61_ = selected_count; +#line 2768 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp62_ = count; +#line 2768 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (library_photo_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp61_, _tmp62_); +#line 18813 "PhotoPage.c" +} + + +static void library_photo_page_on_photos_altered (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 2771 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2772 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2772 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 18826 "PhotoPage.c" + gboolean _tmp2_ = FALSE; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = photo_has_transformations (_tmp4_); +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp6_) { +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = TRUE; +#line 18846 "PhotoPage.c" + } else { + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = photo_has_editable (_tmp8_); +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp9_; +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 18861 "PhotoPage.c" + } +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp2_; +#line 18865 "PhotoPage.c" + } else { +#line 2773 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 18869 "PhotoPage.c" + } +#line 2772 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp0_); +#line 2774 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_flag_action (self); +#line 18875 "PhotoPage.c" +} + + +static void library_photo_page_on_raw_developer_changed (LibraryPhotoPage* self, GtkAction* action, GtkAction* current) { + GtkAction* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 2777 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2777 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 2777 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GTK_IS_ACTION (current)); +#line 2778 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = current; +#line 2778 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = gtk_radio_action_get_current_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction)); +#line 2778 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_developer_changed (self, (RawDeveloper) _tmp1_); +#line 18894 "PhotoPage.c" +} + + +static void library_photo_page_real_developer_changed (LibraryPhotoPage* self, RawDeveloper rd) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + Photo* photo = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + Photo* _tmp14_ = NULL; + gboolean _tmp19_ = FALSE; + Photo* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 2782 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_) { +#line 2783 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 18932 "PhotoPage.c" + } +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = gee_list_get (_tmp7_, 0); +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = (DataView*) _tmp8_; +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = data_view_get_source (_tmp9_); +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_PHOTO) ? ((Photo*) _tmp10_) : NULL; +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp11_ == NULL) { +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp10_); +#line 18954 "PhotoPage.c" + } +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp9_); +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp5_); +#line 2785 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo = _tmp12_; +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = photo; +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp14_ == NULL) { +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = TRUE; +#line 18972 "PhotoPage.c" + } else { + RawDeveloper _tmp15_ = 0; + Photo* _tmp16_ = NULL; + RawDeveloper _tmp17_ = 0; + gboolean _tmp18_ = FALSE; +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = rd; +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = photo; +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = photo_get_raw_developer (_tmp16_); +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = raw_developer_is_equivalent (_tmp15_, _tmp17_); +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = _tmp18_; +#line 18988 "PhotoPage.c" + } +#line 2786 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp13_) { +#line 2787 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 2787 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 18996 "PhotoPage.c" + } +#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = photo; +#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = photo_has_transformations (_tmp20_); +#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp21_) { +#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = TRUE; +#line 19006 "PhotoPage.c" + } else { + gboolean _tmp22_ = FALSE; +#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = dialogs_confirm_warn_developer_changed (1); +#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp22_; +#line 19013 "PhotoPage.c" + } +#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp19_) { +#line 19017 "PhotoPage.c" + SetRawDeveloperCommand* command = NULL; + ViewCollection* _tmp23_ = NULL; + ViewCollection* _tmp24_ = NULL; + GeeList* _tmp25_ = NULL; + GeeList* _tmp26_ = NULL; + RawDeveloper _tmp27_ = 0; + SetRawDeveloperCommand* _tmp28_ = NULL; + SetRawDeveloperCommand* _tmp29_ = NULL; + CommandManager* _tmp30_ = NULL; + CommandManager* _tmp31_ = NULL; + SetRawDeveloperCommand* _tmp32_ = NULL; +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_; +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = view_collection_get_selected (_tmp24_); +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _tmp25_; +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = rd; +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = set_raw_developer_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable), _tmp27_); +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = _tmp28_; +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp26_); +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp24_); +#line 2792 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp29_; +#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = _tmp30_; +#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = command; +#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp31_, G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_COMMAND, Command)); +#line 2794 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp31_); +#line 2796 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_development_menu_item_sensitivity (self); +#line 2791 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 19063 "PhotoPage.c" + } +#line 2781 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 19067 "PhotoPage.c" +} + + +void library_photo_page_developer_changed (LibraryPhotoPage* self, RawDeveloper rd) { +#line 2781 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2781 "/home/jens/Source/shotwell/src/PhotoPage.vala" + LIBRARY_PHOTO_PAGE_GET_CLASS (self)->developer_changed (self, rd); +#line 19076 "PhotoPage.c" +} + + +static void library_photo_page_update_flag_action (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; +#line 2800 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2801 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2801 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 19088 "PhotoPage.c" + GtkAction* action = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + gboolean is_flagged = FALSE; + Photo* _tmp3_ = NULL; + LibraryPhoto* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GtkAction* _tmp9_ = NULL; + GtkAction* _tmp10_ = NULL; +#line 2802 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag"); +#line 2802 "/home/jens/Source/shotwell/src/PhotoPage.vala" + action = _tmp1_; +#line 2803 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = action; +#line 2803 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp2_ != NULL, "action != null"); +#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_FLAGGABLE, Flaggable)); +#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 2805 "/home/jens/Source/shotwell/src/PhotoPage.vala" + is_flagged = _tmp6_; +#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = is_flagged; +#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp8_) { +#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = RESOURCES_UNFLAG_MENU; +#line 19127 "PhotoPage.c" + } else { +#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = RESOURCES_FLAG_MENU; +#line 19131 "PhotoPage.c" + } +#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = action; +#line 2807 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_action_set_label (_tmp9_, _tmp7_); +#line 2808 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = action; +#line 2808 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gtk_action_set_sensitive (_tmp10_, TRUE); +#line 2801 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (action); +#line 19143 "PhotoPage.c" + } else { +#line 2810 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag", FALSE); +#line 19147 "PhotoPage.c" + } +} + + +static void _library_photo_page_on_page_destroyed_gtk_widget_destroy (GtkWidget* _sender, gpointer self) { +#line 2821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_page_destroyed ((LibraryPhotoPage*) self); +#line 19155 "PhotoPage.c" +} + + +void library_photo_page_display_for_collection (LibraryPhotoPage* self, CollectionPage* return_page, Photo* photo, ViewCollection* view) { + CollectionPage* _tmp0_ = NULL; + CollectionPage* _tmp1_ = NULL; + CollectionPage* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + Photo* _tmp9_ = NULL; +#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_COLLECTION_PAGE (return_page)); +#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail ((view == NULL) || IS_VIEW_COLLECTION (view)); +#line 2820 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = return_page; +#line 2820 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 2820 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->return_page); +#line 2820 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->return_page = _tmp1_; +#line 2821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = return_page; +#line 2821 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), "destroy", (GCallback) _library_photo_page_on_page_destroyed_gtk_widget_destroy, self, 0); +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = view; +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_ != NULL) { +#line 19190 "PhotoPage.c" + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = view; +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _data_collection_ref0 (_tmp5_); +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp3_); +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp6_; +#line 19201 "PhotoPage.c" + } else { + CollectionPage* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = return_page; +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PAGE, Page)); +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp3_); +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp8_; +#line 19213 "PhotoPage.c" + } +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = photo; +#line 2823 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_display_copy_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp3_, _tmp9_); +#line 2818 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp3_); +#line 19221 "PhotoPage.c" +} + + +void library_photo_page_on_page_destroyed (LibraryPhotoPage* self) { +#line 2826 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2829 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->return_page); +#line 2829 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->return_page = NULL; +#line 2830 "/home/jens/Source/shotwell/src/PhotoPage.vala" + editing_host_page_unset_view_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 19234 "PhotoPage.c" +} + + +CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self) { + CollectionPage* result = NULL; + CollectionPage* _tmp0_ = NULL; + CollectionPage* _tmp1_ = NULL; +#line 2833 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_PAGE (self), NULL); +#line 2834 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->return_page; +#line 2834 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 2834 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp1_; +#line 2834 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19252 "PhotoPage.c" +} + + +static void library_photo_page_real_switched_to (Page* base) { + LibraryPhotoPage * self; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2837 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2841 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2841 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 2841 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (_tmp1_ != NULL, "get_photo() != null"); +#line 2841 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 2843 "/home/jens/Source/shotwell/src/PhotoPage.vala" + PAGE_CLASS (library_photo_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page)); +#line 2845 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_zoom_menu_item_sensitivity (self); +#line 2846 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_rating_menu_item_sensitivity (self); +#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_set_display_ratings (self, _tmp4_); +#line 2848 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 19289 "PhotoPage.c" +} + + +static GdkPixbuf* library_photo_page_real_get_bottom_left_trinket (EditingHostPage* base, gint scale) { + LibraryPhotoPage * self; + GdkPixbuf* result = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + Photo* _tmp5_ = NULL; + LibraryPhoto* _tmp6_ = NULL; + Rating _tmp7_ = 0; + gint _tmp8_ = 0; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; +#line 2851 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp1_) { +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 19312 "PhotoPage.c" + } else { + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = configuration_facade_get_display_photo_ratings (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = !_tmp4_; +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 19327 "PhotoPage.c" + } +#line 2852 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 2853 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = NULL; +#line 2853 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19335 "PhotoPage.c" + } +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = scale; +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = resources_get_rating_trinket (_tmp7_, _tmp8_); +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp10_; +#line 2855 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19355 "PhotoPage.c" +} + + +static GdkPixbuf* library_photo_page_real_get_top_right_trinket (EditingHostPage* base, gint scale) { + LibraryPhotoPage * self; + GdkPixbuf* result = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GdkPixbuf* _tmp5_ = NULL; +#line 2858 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp1_) { +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 19373 "PhotoPage.c" + } else { + Photo* _tmp2_ = NULL; + LibraryPhoto* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_FLAGGABLE, Flaggable)); +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = !_tmp4_; +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 19388 "PhotoPage.c" + } +#line 2859 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 2860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = NULL; +#line 2860 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19396 "PhotoPage.c" + } +#line 2862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = resources_get_icon (RESOURCES_ICON_FLAGGED_TRINKET, RESOURCES_DEFAULT_ICON_SCALE); +#line 2862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp5_; +#line 2862 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19404 "PhotoPage.c" +} + + +static void library_photo_page_on_slideshow (LibraryPhotoPage* self) { + LibraryPhoto* photo = NULL; + Photo* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + LibraryPhotoSourceCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + SlideshowPage* _tmp8_ = NULL; + SlideshowPage* _tmp9_ = NULL; +#line 2865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2866 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2866 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 2867 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = photo; +#line 2867 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ == NULL) { +#line 2868 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 2868 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 19434 "PhotoPage.c" + } +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = app_window_get_instance (); +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = library_photo_global; +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = photo; +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = slideshow_page_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PHOTO, Photo)); +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp8_); +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + app_window_go_fullscreen (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PAGE, Page)); +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp9_); +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp6_); +#line 2870 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 2865 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 19464 "PhotoPage.c" +} + + +static void library_photo_page_update_zoom_menu_item_sensitivity (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + ZoomState _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + gboolean _tmp4_ = FALSE; + ZoomState _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; +#line 2874 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_); +#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = zoom_state_is_max (&_tmp1_); +#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp2_) { +#line 19483 "PhotoPage.c" + gboolean _tmp3_ = FALSE; +#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = !_tmp3_; +#line 19489 "PhotoPage.c" + } else { +#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 19493 "PhotoPage.c" + } +#line 2875 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize", _tmp0_); +#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_); +#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = zoom_state_is_default (&_tmp5_); +#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp6_) { +#line 19503 "PhotoPage.c" + gboolean _tmp7_ = FALSE; +#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = !_tmp7_; +#line 19509 "PhotoPage.c" + } else { +#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = FALSE; +#line 19513 "PhotoPage.c" + } +#line 2876 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize", _tmp4_); +#line 19517 "PhotoPage.c" +} + + +static void library_photo_page_real_on_increase_size (EditingHostPage* base) { + LibraryPhotoPage * self; +#line 2879 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2880 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->on_increase_size (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2882 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_zoom_menu_item_sensitivity (self); +#line 19529 "PhotoPage.c" +} + + +static void library_photo_page_real_on_decrease_size (EditingHostPage* base) { + LibraryPhotoPage * self; +#line 2885 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2886 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->on_decrease_size (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 2888 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_zoom_menu_item_sensitivity (self); +#line 19541 "PhotoPage.c" +} + + +static gboolean library_photo_page_real_on_zoom_slider_key_press (EditingHostPage* base, GdkEventKey* event) { + LibraryPhotoPage * self; + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GdkEventKey* _tmp2_ = NULL; + guint _tmp3_ = 0U; + const gchar* _tmp4_ = NULL; +#line 2891 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2891 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = event; +#line 2892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->on_zoom_slider_key_press (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp0_); +#line 2892 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 2893 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 2893 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19567 "PhotoPage.c" + } +#line 2895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = event; +#line 2895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_->keyval; +#line 2895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = gdk_keyval_name (_tmp3_); +#line 2895 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (g_strcmp0 (_tmp4_, "Escape") == 0) { +#line 2896 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_return_to_collection (self); +#line 2897 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 2897 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19583 "PhotoPage.c" + } else { +#line 2899 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = FALSE; +#line 2899 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19589 "PhotoPage.c" + } +} + + +static void library_photo_page_real_update_ui (EditingHostPage* base, gboolean missing) { + LibraryPhotoPage * self; + gboolean sensitivity = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 2903 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2904 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = missing; +#line 2904 "/home/jens/Source/shotwell/src/PhotoPage.vala" + sensitivity = !_tmp0_; +#line 2906 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SendTo", sensitivity); +#line 2907 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Publish", sensitivity); +#line 2908 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Print", sensitivity); +#line 2909 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonJumpToFile", sensitivity); +#line 2911 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonUndo", sensitivity); +#line 2912 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonRedo", sensitivity); +#line 2914 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize", sensitivity); +#line 2915 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize", sensitivity); +#line 2916 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ZoomFit", sensitivity); +#line 2917 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Zoom100", sensitivity); +#line 2918 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Zoom200", sensitivity); +#line 2919 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Slideshow", sensitivity); +#line 2921 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", sensitivity); +#line 2922 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", sensitivity); +#line 2923 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipHorizontally", sensitivity); +#line 2924 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipVertically", sensitivity); +#line 2925 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Enhance", sensitivity); +#line 2926 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Crop", sensitivity); +#line 2927 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RedEye", sensitivity); +#line 2928 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Adjust", sensitivity); +#line 2929 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditTitle", sensitivity); +#line 2930 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AdjustDateTime", sensitivity); +#line 2931 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", sensitivity); +#line 2932 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEditRAW", sensitivity); +#line 2933 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", sensitivity); +#line 2935 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Rate", sensitivity); +#line 2936 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag", sensitivity); +#line 2937 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AddTags", sensitivity); +#line 2938 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ModifyTags", sensitivity); +#line 2940 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", sensitivity); +#line 2942 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = missing; +#line 2942 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->update_ui (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp1_); +#line 19669 "PhotoPage.c" +} + + +static void library_photo_page_real_notify_photo_backing_missing (EditingHostPage* base, Photo* photo, gboolean missing) { + LibraryPhotoPage * self; + gboolean _tmp0_ = FALSE; + Photo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2945 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2945 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 2946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = missing; +#line 2946 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 19686 "PhotoPage.c" + Photo* _tmp1_ = NULL; +#line 2947 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = photo; +#line 2947 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_mark_offline (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 19692 "PhotoPage.c" + } else { + Photo* _tmp2_ = NULL; +#line 2949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = photo; +#line 2949 "/home/jens/Source/shotwell/src/PhotoPage.vala" + media_source_mark_online (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 19699 "PhotoPage.c" + } +#line 2951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = photo; +#line 2951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = missing; +#line 2951 "/home/jens/Source/shotwell/src/PhotoPage.vala" + EDITING_HOST_PAGE_CLASS (library_photo_page_parent_class)->notify_photo_backing_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp3_, _tmp4_); +#line 19707 "PhotoPage.c" +} + + +static gboolean library_photo_page_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + LibraryPhotoPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean handled = FALSE; + GdkEventKey* _tmp3_ = NULL; + guint _tmp4_ = 0U; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GQuark _tmp8_ = 0U; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label0 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label1 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label2 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label3 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label4 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label5 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label6 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label7 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label8 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label9 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label10 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label11 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label12 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label13 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label14 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label15 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label16 = 0; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + static GQuark _tmp7_label17 = 0; +#line 2954 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2954 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (GTK_WIDGET_CLASS (library_photo_page_parent_class)->key_press_event != NULL) { +#line 19763 "PhotoPage.c" + GdkEventKey* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = event; +#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = GTK_WIDGET_CLASS (library_photo_page_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), gtk_widget_get_type (), GtkWidget), _tmp1_); +#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp2_ == TRUE; +#line 19772 "PhotoPage.c" + } else { +#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 19776 "PhotoPage.c" + } +#line 2955 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 2956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 2956 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 19784 "PhotoPage.c" + } +#line 2958 "/home/jens/Source/shotwell/src/PhotoPage.vala" + handled = TRUE; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = event; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_->keyval; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = gdk_keyval_name (_tmp4_); +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = (NULL == _tmp6_) ? 0 : g_quark_from_string (_tmp6_); +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (((_tmp8_ == ((0 != _tmp7_label0) ? _tmp7_label0 : (_tmp7_label0 = g_quark_from_static_string ("Escape")))) || (_tmp8_ == ((0 != _tmp7_label1) ? _tmp7_label1 : (_tmp7_label1 = g_quark_from_static_string ("Return"))))) || (_tmp8_ == ((0 != _tmp7_label2) ? _tmp7_label2 : (_tmp7_label2 = g_quark_from_static_string ("KP_Enter"))))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19802 "PhotoPage.c" + default: + { + GtkWindow* _tmp9_ = NULL; + GtkWindow* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_FULLSCREEN_WINDOW); +#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp10_); +#line 2963 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp11_) { +#line 2964 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_return_to_collection (self); +#line 19820 "PhotoPage.c" + } +#line 2965 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19824 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label3) ? _tmp7_label3 : (_tmp7_label3 = g_quark_from_static_string ("Delete")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19830 "PhotoPage.c" + default: + { +#line 2971 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "MoveToTrash"); +#line 2972 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19837 "PhotoPage.c" + } + } + } else if ((_tmp8_ == ((0 != _tmp7_label4) ? _tmp7_label4 : (_tmp7_label4 = g_quark_from_static_string ("period")))) || (_tmp8_ == ((0 != _tmp7_label5) ? _tmp7_label5 : (_tmp7_label5 = g_quark_from_static_string ("greater"))))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19843 "PhotoPage.c" + default: + { +#line 2976 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseRating"); +#line 2977 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19850 "PhotoPage.c" + } + } + } else if ((_tmp8_ == ((0 != _tmp7_label6) ? _tmp7_label6 : (_tmp7_label6 = g_quark_from_static_string ("comma")))) || (_tmp8_ == ((0 != _tmp7_label7) ? _tmp7_label7 : (_tmp7_label7 = g_quark_from_static_string ("less"))))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19856 "PhotoPage.c" + default: + { +#line 2981 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseRating"); +#line 2982 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19863 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label8) ? _tmp7_label8 : (_tmp7_label8 = g_quark_from_static_string ("KP_1")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19869 "PhotoPage.c" + default: + { +#line 2985 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateOne"); +#line 2986 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19876 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label9) ? _tmp7_label9 : (_tmp7_label9 = g_quark_from_static_string ("KP_2")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19882 "PhotoPage.c" + default: + { +#line 2989 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateTwo"); +#line 2990 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19889 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label10) ? _tmp7_label10 : (_tmp7_label10 = g_quark_from_static_string ("KP_3")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19895 "PhotoPage.c" + default: + { +#line 2993 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateThree"); +#line 2994 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19902 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label11) ? _tmp7_label11 : (_tmp7_label11 = g_quark_from_static_string ("KP_4")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19908 "PhotoPage.c" + default: + { +#line 2997 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFour"); +#line 2998 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19915 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label12) ? _tmp7_label12 : (_tmp7_label12 = g_quark_from_static_string ("KP_5")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19921 "PhotoPage.c" + default: + { +#line 3001 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFive"); +#line 3002 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19928 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label13) ? _tmp7_label13 : (_tmp7_label13 = g_quark_from_static_string ("KP_0")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19934 "PhotoPage.c" + default: + { +#line 3005 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateUnrated"); +#line 3006 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19941 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label14) ? _tmp7_label14 : (_tmp7_label14 = g_quark_from_static_string ("KP_9")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19947 "PhotoPage.c" + default: + { +#line 3009 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateRejected"); +#line 3010 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19954 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label15) ? _tmp7_label15 : (_tmp7_label15 = g_quark_from_static_string ("bracketright")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19960 "PhotoPage.c" + default: + { +#line 3013 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise"); +#line 3014 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19967 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label16) ? _tmp7_label16 : (_tmp7_label16 = g_quark_from_static_string ("bracketleft")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19973 "PhotoPage.c" + default: + { +#line 3017 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise"); +#line 3018 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19980 "PhotoPage.c" + } + } + } else if (_tmp8_ == ((0 != _tmp7_label17) ? _tmp7_label17 : (_tmp7_label17 = g_quark_from_static_string ("slash")))) { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19986 "PhotoPage.c" + default: + { +#line 3021 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Flag"); +#line 3022 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 19993 "PhotoPage.c" + } + } + } else { +#line 2959 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (0) { +#line 19999 "PhotoPage.c" + default: + { +#line 3025 "/home/jens/Source/shotwell/src/PhotoPage.vala" + handled = FALSE; +#line 3026 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 20006 "PhotoPage.c" + } + } + } +#line 3029 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = handled; +#line 3029 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 20014 "PhotoPage.c" +} + + +static gboolean library_photo_page_real_on_double_click (EditingHostPage* base, GdkEventButton* event) { + LibraryPhotoPage * self; + gboolean result = FALSE; + FullscreenWindow* fs = NULL; + GtkWindow* _tmp0_ = NULL; + FullscreenWindow* _tmp1_ = NULL; + FullscreenWindow* _tmp2_ = NULL; +#line 3032 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 3032 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FULLSCREEN_WINDOW) ? ((FullscreenWindow*) _tmp0_) : NULL; +#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ == NULL) { +#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp0_); +#line 20037 "PhotoPage.c" + } +#line 3033 "/home/jens/Source/shotwell/src/PhotoPage.vala" + fs = _tmp1_; +#line 3034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = fs; +#line 3034 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp2_ == NULL) { +#line 3035 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->return_to_collection_on_release = TRUE; +#line 20047 "PhotoPage.c" + } else { + FullscreenWindow* _tmp3_ = NULL; +#line 3037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = fs; +#line 3037 "/home/jens/Source/shotwell/src/PhotoPage.vala" + fullscreen_window_close (_tmp3_); +#line 20054 "PhotoPage.c" + } +#line 3039 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 3039 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (fs); +#line 3039 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 20062 "PhotoPage.c" +} + + +static gboolean library_photo_page_real_on_left_released (Page* base, GdkEventButton* event) { + LibraryPhotoPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GdkEventButton* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 3042 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 3042 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 3043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->return_to_collection_on_release; +#line 3043 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 3044 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->return_to_collection_on_release = FALSE; +#line 3045 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_return_to_collection (self); +#line 3047 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 3047 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 20088 "PhotoPage.c" + } +#line 3050 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = event; +#line 3050 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = PAGE_CLASS (library_photo_page_parent_class)->on_left_released (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp1_); +#line 3050 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp2_; +#line 3050 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 20098 "PhotoPage.c" +} + + +static GtkMenu* library_photo_page_get_context_menu (LibraryPhotoPage* self) { + GtkMenu* result = NULL; + GtkMenu* menu = NULL; + GtkUIManager* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GtkMenu* _tmp2_ = NULL; +#line 3053 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_LIBRARY_PHOTO_PAGE (self), NULL); +#line 3054 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->ui; +#line 3054 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = gtk_ui_manager_get_widget (_tmp0_, "/PhotoContextMenu"); +#line 3054 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_menu_get_type (), GtkMenu)); +#line 3054 "/home/jens/Source/shotwell/src/PhotoPage.vala" + menu = _tmp2_; +#line 3055 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _vala_assert (menu != NULL, "menu != null"); +#line 3056 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = menu; +#line 3056 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 20124 "PhotoPage.c" +} + + +static gboolean library_photo_page_real_on_context_buttonpress (Page* base, GdkEventButton* event) { + LibraryPhotoPage * self; + gboolean result = FALSE; + GtkMenu* _tmp0_ = NULL; + GtkMenu* _tmp1_ = NULL; + GdkEventButton* _tmp2_ = NULL; +#line 3059 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 3059 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = library_photo_page_get_context_menu (self); +#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = event; +#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_popup_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp1_, _tmp2_); +#line 3060 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 3062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 3062 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 20152 "PhotoPage.c" +} + + +static gboolean library_photo_page_real_on_context_keypress (Page* base) { + LibraryPhotoPage * self; + gboolean result = FALSE; + GtkMenu* _tmp0_ = NULL; + GtkMenu* _tmp1_ = NULL; +#line 3065 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 3066 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = library_photo_page_get_context_menu (self); +#line 3066 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 3066 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_popup_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp1_, NULL); +#line 3066 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 3068 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = TRUE; +#line 3068 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 20175 "PhotoPage.c" +} + + +static void library_photo_page_return_to_collection (LibraryPhotoPage* self) { + CollectionPage* _tmp0_ = NULL; +#line 3071 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3073 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = self->priv->return_page; +#line 3073 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (NULL != _tmp0_) { +#line 20187 "PhotoPage.c" + LibraryWindow* _tmp1_ = NULL; + LibraryWindow* _tmp2_ = NULL; + CollectionPage* _tmp3_ = NULL; +#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = library_window_get_app (); +#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = self->priv->return_page; +#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_window_switch_to_page (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PAGE, Page)); +#line 3074 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 20201 "PhotoPage.c" + } else { + LibraryWindow* _tmp4_ = NULL; + LibraryWindow* _tmp5_ = NULL; +#line 3076 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = library_window_get_app (); +#line 3076 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 3076 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_window_switch_to_library_page (_tmp5_); +#line 3076 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp5_); +#line 20213 "PhotoPage.c" + } +} + + +static void library_photo_page_on_remove_from_library (LibraryPhotoPage* self) { + LibraryPhoto* photo = NULL; + Photo* _tmp0_ = NULL; + GeeCollection* photos = NULL; + GeeArrayList* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 3079 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3080 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3080 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 3082 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 3082 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photos = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 3083 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_collection_add (photos, photo); +#line 3085 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _ ("Remove From Library"); +#line 3085 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _ ("Removing Photo From Library"); +#line 3085 "/home/jens/Source/shotwell/src/PhotoPage.vala" + remove_from_app (photos, _tmp2_, _tmp3_); +#line 3079 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photos); +#line 3079 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 20247 "PhotoPage.c" +} + + +static void library_photo_page_on_move_to_trash (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + CollectionPage* _tmp1_ = NULL; + LibraryPhoto* photo = NULL; + Photo* _tmp4_ = NULL; + GeeCollection* photos = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + LibraryPhoto* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + CommandManager* _tmp22_ = NULL; + CommandManager* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; + TrashUntrashPhotosCommand* _tmp25_ = NULL; + TrashUntrashPhotosCommand* _tmp26_ = NULL; + LibraryWindow* _tmp27_ = NULL; + LibraryWindow* _tmp28_ = NULL; +#line 3088 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3089 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3089 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp0_) { +#line 3090 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 20280 "PhotoPage.c" + } +#line 3097 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = self->priv->return_page; +#line 3097 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_EVENT_PAGE)) { +#line 20286 "PhotoPage.c" + LibraryWindow* _tmp2_ = NULL; + LibraryWindow* _tmp3_ = NULL; +#line 3098 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = library_window_get_app (); +#line 3098 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 3098 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_window_set_page_switching_enabled (_tmp3_, FALSE); +#line 3098 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 20297 "PhotoPage.c" + } +#line 3101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3101 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 3103 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 3103 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photos = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection); +#line 3104 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = photos; +#line 3104 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = photo; +#line 3104 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_collection_add (_tmp6_, _tmp7_); +#line 3107 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_on_next_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = photo; +#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_SOURCE, DataSource)); +#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp10_); +#line 3111 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp12_) { +#line 20329 "PhotoPage.c" + LibraryWindow* _tmp13_ = NULL; + LibraryWindow* _tmp14_ = NULL; + GtkWindow* _tmp15_ = NULL; + GtkWindow* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + LibraryWindow* _tmp20_ = NULL; + LibraryWindow* _tmp21_ = NULL; +#line 3114 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = library_window_get_app (); +#line 3114 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 3114 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_window_set_page_switching_enabled (_tmp14_, TRUE); +#line 3114 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp14_); +#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_FULLSCREEN_WINDOW); +#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 3116 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp17_) { +#line 20355 "PhotoPage.c" + GtkWindow* _tmp18_ = NULL; + FullscreenWindow* _tmp19_ = NULL; +#line 3117 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3117 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_FULLSCREEN_WINDOW, FullscreenWindow); +#line 3117 "/home/jens/Source/shotwell/src/PhotoPage.vala" + fullscreen_window_close (_tmp19_); +#line 3117 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp19_); +#line 20366 "PhotoPage.c" + } +#line 3119 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = library_window_get_app (); +#line 3119 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = _tmp20_; +#line 3119 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_window_switch_to_library_page (_tmp21_); +#line 3119 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp21_); +#line 20376 "PhotoPage.c" + } +#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = _tmp22_; +#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = photos; +#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = trash_untrash_photos_command_new (_tmp24_, TRUE); +#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _tmp25_; +#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_COMMAND, Command)); +#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp26_); +#line 3122 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp23_); +#line 3123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = library_window_get_app (); +#line 3123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = _tmp27_; +#line 3123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_window_set_page_switching_enabled (_tmp28_, TRUE); +#line 3123 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp28_); +#line 3088 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photos); +#line 3088 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 20406 "PhotoPage.c" +} + + +static void library_photo_page_on_flag_unflag (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; +#line 3126 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3127 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3127 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 20418 "PhotoPage.c" + GeeArrayList* photo_list = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + CommandManager* _tmp5_ = NULL; + CommandManager* _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + FlagUnflagCommand* _tmp11_ = NULL; + FlagUnflagCommand* _tmp12_ = NULL; +#line 3128 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 3128 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo_list = _tmp1_; +#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = photo_list; +#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource)); +#line 3129 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = photo_list; +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_FLAGGABLE, Flaggable)); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = flag_unflag_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), !_tmp10_); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command)); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp9_); +#line 3130 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp6_); +#line 3127 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo_list); +#line 20472 "PhotoPage.c" + } +} + + +static void library_photo_page_on_photo_destroyed (LibraryPhotoPage* self, DataSource* source) { + DataSource* _tmp0_ = NULL; +#line 3135 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3135 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 3136 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = source; +#line 3136 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_photo_removed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 20487 "PhotoPage.c" +} + + +static void library_photo_page_on_photo_removed (LibraryPhotoPage* self, LibraryPhoto* photo) { + gboolean _tmp0_ = FALSE; + LibraryPhoto* _tmp1_ = NULL; + ViewCollection* view = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + DataView* _tmp12_ = NULL; + Marker* _tmp13_ = NULL; + Marker* _tmp14_ = NULL; + LibraryPhoto* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 3139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = photo; +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_ == NULL) { +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 20519 "PhotoPage.c" + } else { + LibraryPhoto* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = photo; +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource)); +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = !_tmp5_; +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 20537 "PhotoPage.c" + } +#line 3141 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 3142 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 20543 "PhotoPage.c" + } +#line 3145 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_on_next_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 3147 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3147 "/home/jens/Source/shotwell/src/PhotoPage.vala" + view = _tmp6_; +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = view; +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = view; +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = view; +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = photo; +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = view_collection_get_view_for_source (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_SOURCE, DataSource)); +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject)); +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection), _tmp14_); +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp14_); +#line 3148 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = photo; +#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = _tmp16_; +#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_SOURCE, DataSource)); +#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp17_); +#line 3149 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp19_) { +#line 20587 "PhotoPage.c" + LibraryWindow* _tmp20_ = NULL; + LibraryWindow* _tmp21_ = NULL; +#line 3152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = library_window_get_app (); +#line 3152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = _tmp20_; +#line 3152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_window_switch_to_library_page (_tmp21_); +#line 3152 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp21_); +#line 20598 "PhotoPage.c" + } +#line 3139 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (view); +#line 20602 "PhotoPage.c" +} + + +static void library_photo_page_on_print (LibraryPhotoPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 3156 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_ > 0; +#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 3157 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_) { +#line 20625 "PhotoPage.c" + PrintManager* _tmp4_ = NULL; + PrintManager* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = print_manager_get_instance (); +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = view_collection_get_selected_sources_of_type (_tmp7_, TYPE_PHOTO); +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection); +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + print_manager_spool_photo (_tmp5_, _tmp9_); +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp9_); +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp7_); +#line 3158 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _print_manager_unref0 (_tmp5_); +#line 20652 "PhotoPage.c" + } +} + + +static void library_photo_page_on_external_app_changed (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 3163 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp1_) { +#line 20666 "PhotoPage.c" + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = configuration_facade_get_external_photo_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = g_strcmp0 (_tmp5_, "") != 0; +#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp5_); +#line 3165 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 20685 "PhotoPage.c" + } else { +#line 3164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 20689 "PhotoPage.c" + } +#line 3164 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ExternalEdit", _tmp0_); +#line 20693 "PhotoPage.c" +} + + +static void library_photo_page_on_external_edit (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + GError * _inner_error_ = NULL; +#line 3168 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3169 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp0_) { +#line 3170 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 20708 "PhotoPage.c" + } + { + AppWindow* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + AppWindow* _tmp5_ = NULL; + AppWindow* _tmp6_ = NULL; +#line 3173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = app_window_get_instance (); +#line 3173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 3173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PAGE_WINDOW, PageWindow)); +#line 3173 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo_open_with_external_editor (_tmp4_, &_inner_error_); +#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 3174 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 20735 "PhotoPage.c" + goto __catch238_g_error; + } +#line 3175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = app_window_get_instance (); +#line 3175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 3175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PAGE_WINDOW, PageWindow)); +#line 3175 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 20746 "PhotoPage.c" + } + goto __finally238; + __catch238_g_error: + { + GError* err = NULL; + AppWindow* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; + GError* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; +#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 3177 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = app_window_get_instance (); +#line 3177 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 3177 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE_WINDOW, PageWindow)); +#line 3177 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = err; +#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp10_; +#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala" + open_external_editor_error_dialog (_tmp9_, _tmp11_); +#line 3178 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp11_); +#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 20781 "PhotoPage.c" + } + __finally238: +#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 3172 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 20792 "PhotoPage.c" + } +} + + +static void library_photo_page_on_external_edit_raw (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + GError * _inner_error_ = NULL; +#line 3183 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3184 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3184 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp0_) { +#line 3185 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 20812 "PhotoPage.c" + } +#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = photo_get_master_file_format (_tmp2_); +#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_ != PHOTO_FILE_FORMAT_RAW; +#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 3187 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_) { +#line 3188 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 20828 "PhotoPage.c" + } + { + AppWindow* _tmp5_ = NULL; + AppWindow* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + AppWindow* _tmp9_ = NULL; + AppWindow* _tmp10_ = NULL; +#line 3191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = app_window_get_instance (); +#line 3191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 3191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PAGE_WINDOW, PageWindow)); +#line 3191 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo_open_with_raw_external_editor (_tmp8_, &_inner_error_); +#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 3192 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 20855 "PhotoPage.c" + goto __catch239_g_error; + } +#line 3193 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = app_window_get_instance (); +#line 3193 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 3193 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_PAGE_WINDOW, PageWindow)); +#line 3193 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp10_); +#line 20866 "PhotoPage.c" + } + goto __finally239; + __catch239_g_error: + { + GError* err = NULL; + AppWindow* _tmp11_ = NULL; + AppWindow* _tmp12_ = NULL; + GError* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 3195 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = app_window_get_instance (); +#line 3195 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 3195 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PAGE_WINDOW, PageWindow)); +#line 3195 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = err; +#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = resources_launch_editor_failed (_tmp13_); +#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp14_; +#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + app_window_error_message (_tmp15_, NULL); +#line 3196 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp15_); +#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 20901 "PhotoPage.c" + } + __finally239: +#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 3190 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 20912 "PhotoPage.c" + } +} + + +static void library_photo_page_on_send_to (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; +#line 3200 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3201 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3201 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 20925 "PhotoPage.c" + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = _tmp1_; +#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = view_collection_get_selected_sources (_tmp2_); +#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + desktop_integration_send_to (_tmp4_); +#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 3202 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp2_); +#line 20944 "PhotoPage.c" + } +} + + +static void library_photo_page_on_export (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + ExportDialog* export_dialog = NULL; + const gchar* _tmp1_ = NULL; + ExportDialog* _tmp2_ = NULL; + gint scale = 0; + ScaleConstraint constraint = 0; + ExportFormatParameters export_params = {0}; + ExportFormatParameters _tmp3_ = {0}; + ExportDialog* _tmp4_ = NULL; + gint _tmp5_ = 0; + ScaleConstraint _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + GFile* save_as = NULL; + Photo* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + ExportFormatParameters _tmp10_ = {0}; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + Scaling scaling = {0}; + ScaleConstraint _tmp16_ = 0; + gint _tmp17_ = 0; + Scaling _tmp18_ = {0}; + GError * _inner_error_ = NULL; +#line 3205 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3206 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3206 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp0_) { +#line 3207 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 20984 "PhotoPage.c" + } +#line 3209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _ ("Export Photo"); +#line 3209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = export_dialog_new (_tmp1_); +#line 3209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_object_ref_sink (_tmp2_); +#line 3209 "/home/jens/Source/shotwell/src/PhotoPage.vala" + export_dialog = _tmp2_; +#line 3213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + export_format_parameters_last (&_tmp3_); +#line 3213 "/home/jens/Source/shotwell/src/PhotoPage.vala" + export_params = _tmp3_; +#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = export_dialog; +#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = export_dialog_execute (_tmp4_, &_tmp5_, &_tmp6_, &export_params); +#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scale = _tmp5_; +#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + constraint = _tmp6_; +#line 3214 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp7_) { +#line 3215 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (export_dialog); +#line 3215 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 21012 "PhotoPage.c" + } +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = export_params; +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = photo_get_export_basename_for_parameters (_tmp9_, &_tmp10_); +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = export_ui_choose_file (_tmp12_); +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp12_); +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp9_); +#line 3217 "/home/jens/Source/shotwell/src/PhotoPage.vala" + save_as = _tmp14_; +#line 3219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = save_as; +#line 3219 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp15_ == NULL) { +#line 3220 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (save_as); +#line 3220 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (export_dialog); +#line 3220 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 21044 "PhotoPage.c" + } +#line 3222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = constraint; +#line 3222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = scale; +#line 3222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaling_for_constraint (_tmp16_, _tmp17_, FALSE, &_tmp18_); +#line 3222 "/home/jens/Source/shotwell/src/PhotoPage.vala" + scaling = _tmp18_; +#line 21054 "PhotoPage.c" + { + Photo* _tmp19_ = NULL; + Photo* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + Scaling _tmp22_ = {0}; + ExportFormatParameters _tmp23_ = {0}; + JpegQuality _tmp24_ = 0; + Photo* _tmp25_ = NULL; + Photo* _tmp26_ = NULL; + ExportFormatParameters _tmp27_ = {0}; + PhotoFileFormat _tmp28_ = 0; + ExportFormatParameters _tmp29_ = {0}; + ExportFormatMode _tmp30_ = 0; + ExportFormatParameters _tmp31_ = {0}; + gboolean _tmp32_ = FALSE; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = save_as; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = scaling; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = export_params; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = _tmp23_.quality; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _tmp25_; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = export_params; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = photo_get_export_format_for_parameters (_tmp26_, &_tmp27_); +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp29_ = export_params; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp30_ = _tmp29_.mode; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp31_ = export_params; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp32_ = _tmp31_.export_metadata; +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo_export (_tmp20_, _tmp21_, &_tmp22_, _tmp24_, _tmp28_, _tmp30_ == EXPORT_FORMAT_MODE_UNMODIFIED, _tmp32_, &_inner_error_); +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp26_); +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp20_); +#line 3225 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 21106 "PhotoPage.c" + goto __catch240_g_error; + } + } + goto __finally240; + __catch240_g_error: + { + GError* err = NULL; + const gchar* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + GError* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + err = _inner_error_; +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _inner_error_ = NULL; +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp33_ = _ ("Unable to export %s: %s"); +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp34_ = save_as; +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp35_ = g_file_get_path (_tmp34_); +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp36_ = _tmp35_; +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp37_ = err; +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp38_ = _tmp37_->message; +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp39_ = g_strdup_printf (_tmp33_, _tmp36_, _tmp38_); +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp40_ = _tmp39_; +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + app_window_error_message (_tmp40_, NULL); +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp40_); +#line 3229 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_free0 (_tmp36_); +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_error_free0 (err); +#line 21150 "PhotoPage.c" + } + __finally240: +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (save_as); +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (export_dialog); +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_clear_error (&_inner_error_); +#line 3224 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 21165 "PhotoPage.c" + } +#line 3205 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (save_as); +#line 3205 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (export_dialog); +#line 21171 "PhotoPage.c" +} + + +static void library_photo_page_on_publish (LibraryPhotoPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 3233 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_ > 0; +#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 3234 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp3_) { +#line 21194 "PhotoPage.c" + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; +#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = view_collection_get_selected_sources (_tmp5_); +#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection); +#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala" + publishing_ui_publishing_dialog_go (_tmp7_); +#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 3235 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp5_); +#line 21213 "PhotoPage.c" + } +} + + +static void library_photo_page_on_view_menu (LibraryPhotoPage* self) { +#line 3239 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3240 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_zoom_menu_item_sensitivity (self); +#line 21223 "PhotoPage.c" +} + + +static void library_photo_page_on_increase_rating (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + SetRatingSingleCommand* command = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + SetRatingSingleCommand* _tmp5_ = NULL; + SetRatingSingleCommand* _tmp6_ = NULL; + CommandManager* _tmp7_ = NULL; + CommandManager* _tmp8_ = NULL; + SetRatingSingleCommand* _tmp9_ = NULL; +#line 3243 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp1_) { +#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 21246 "PhotoPage.c" + } else { + gboolean _tmp2_ = FALSE; +#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp2_; +#line 21253 "PhotoPage.c" + } +#line 3244 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 3245 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 21259 "PhotoPage.c" + } +#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = set_rating_single_command_new_inc_dec (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), TRUE); +#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 3247 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp6_; +#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = command; +#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_COMMAND, Command)); +#line 3248 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp8_); +#line 3250 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_rating_menu_item_sensitivity (self); +#line 3243 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 21287 "PhotoPage.c" +} + + +static void library_photo_page_on_decrease_rating (LibraryPhotoPage* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + SetRatingSingleCommand* command = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + SetRatingSingleCommand* _tmp5_ = NULL; + SetRatingSingleCommand* _tmp6_ = NULL; + CommandManager* _tmp7_ = NULL; + CommandManager* _tmp8_ = NULL; + SetRatingSingleCommand* _tmp9_ = NULL; +#line 3253 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp1_) { +#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 21310 "PhotoPage.c" + } else { + gboolean _tmp2_ = FALSE; +#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp2_; +#line 21317 "PhotoPage.c" + } +#line 3254 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 3255 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 21323 "PhotoPage.c" + } +#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = set_rating_single_command_new_inc_dec (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), FALSE); +#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 3257 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp6_; +#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = command; +#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_COMMAND, Command)); +#line 3258 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp8_); +#line 3260 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_rating_menu_item_sensitivity (self); +#line 3253 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 21351 "PhotoPage.c" +} + + +static void library_photo_page_on_set_rating (LibraryPhotoPage* self, Rating rating) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + SetRatingSingleCommand* command = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Rating _tmp5_ = 0; + SetRatingSingleCommand* _tmp6_ = NULL; + SetRatingSingleCommand* _tmp7_ = NULL; + CommandManager* _tmp8_ = NULL; + CommandManager* _tmp9_ = NULL; + SetRatingSingleCommand* _tmp10_ = NULL; +#line 3263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (!_tmp1_) { +#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = TRUE; +#line 21375 "PhotoPage.c" + } else { + gboolean _tmp2_ = FALSE; +#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp2_; +#line 21382 "PhotoPage.c" + } +#line 3264 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 3265 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 21388 "PhotoPage.c" + } +#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = rating; +#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = set_rating_single_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource), _tmp5_); +#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 3267 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command = _tmp7_; +#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp8_; +#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = command; +#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_COMMAND, Command)); +#line 3268 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp9_); +#line 3270 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_update_rating_menu_item_sensitivity (self); +#line 3263 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (command); +#line 21418 "PhotoPage.c" +} + + +static void library_photo_page_on_rate_rejected (LibraryPhotoPage* self) { +#line 3273 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3274 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_set_rating (self, RATING_REJECTED); +#line 21427 "PhotoPage.c" +} + + +static void library_photo_page_on_rate_unrated (LibraryPhotoPage* self) { +#line 3277 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3278 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_set_rating (self, RATING_UNRATED); +#line 21436 "PhotoPage.c" +} + + +static void library_photo_page_on_rate_one (LibraryPhotoPage* self) { +#line 3281 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3282 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_set_rating (self, RATING_ONE); +#line 21445 "PhotoPage.c" +} + + +static void library_photo_page_on_rate_two (LibraryPhotoPage* self) { +#line 3285 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3286 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_set_rating (self, RATING_TWO); +#line 21454 "PhotoPage.c" +} + + +static void library_photo_page_on_rate_three (LibraryPhotoPage* self) { +#line 3289 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3290 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_set_rating (self, RATING_THREE); +#line 21463 "PhotoPage.c" +} + + +static void library_photo_page_on_rate_four (LibraryPhotoPage* self) { +#line 3293 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3294 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_set_rating (self, RATING_FOUR); +#line 21472 "PhotoPage.c" +} + + +static void library_photo_page_on_rate_five (LibraryPhotoPage* self) { +#line 3297 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3298 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_on_set_rating (self, RATING_FIVE); +#line 21481 "PhotoPage.c" +} + + +static void library_photo_page_update_rating_menu_item_sensitivity (LibraryPhotoPage* self) { + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Rating _tmp2_ = 0; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Rating _tmp5_ = 0; + Photo* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Rating _tmp8_ = 0; + Photo* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + Rating _tmp11_ = 0; + Photo* _tmp12_ = NULL; + Photo* _tmp13_ = NULL; + Rating _tmp14_ = 0; + Photo* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; + Rating _tmp17_ = 0; + Photo* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + Rating _tmp20_ = 0; + Photo* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; + Rating _tmp23_ = 0; + gboolean _tmp24_ = FALSE; + Photo* _tmp25_ = NULL; + Photo* _tmp26_ = NULL; + Rating _tmp27_ = 0; + gboolean _tmp28_ = FALSE; +#line 3301 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateRejected", _tmp2_ != RATING_REJECTED); +#line 3302 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = _tmp3_; +#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateUnrated", _tmp5_ != RATING_UNRATED); +#line 3303 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateOne", _tmp8_ != RATING_ONE); +#line 3304 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = _tmp9_; +#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateTwo", _tmp11_ != RATING_TWO); +#line 3305 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp10_); +#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = _tmp12_; +#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateThree", _tmp14_ != RATING_THREE); +#line 3306 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp13_); +#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFour", _tmp17_ != RATING_FOUR); +#line 3307 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = _tmp18_; +#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RateFive", _tmp20_ != RATING_FIVE); +#line 3308 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp19_); +#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp21_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp22_ = _tmp21_; +#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp23_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp24_ = rating_can_increase (_tmp23_); +#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseRating", _tmp24_); +#line 3309 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp22_); +#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp25_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp26_ = _tmp25_; +#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp27_ = media_source_get_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp28_ = rating_can_decrease (_tmp27_); +#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseRating", _tmp28_); +#line 3310 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp26_); +#line 21611 "PhotoPage.c" +} + + +static void library_photo_page_update_development_menu_item_sensitivity (LibraryPhotoPage* self) { + PhotoFileFormat format = 0; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + PhotoFileFormat _tmp3_ = 0; + PhotoFileFormat _tmp4_ = 0; + PhotoFileFormat _tmp5_ = 0; +#line 3313 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = photo_get_master_file_format (_tmp1_); +#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 3314 "/home/jens/Source/shotwell/src/PhotoPage.vala" + format = _tmp3_; +#line 3315 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = format; +#line 3315 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloper", _tmp4_ == PHOTO_FILE_FORMAT_RAW); +#line 3317 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = format; +#line 3317 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_ == PHOTO_FILE_FORMAT_RAW) { +#line 21645 "PhotoPage.c" + Photo* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + Photo* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + Photo* _tmp17_ = NULL; + Photo* _tmp18_ = NULL; + RawDeveloper _tmp19_ = 0; + RawDeveloper _tmp20_ = 0; +#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = _tmp6_; +#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = photo_is_raw_developer_available (_tmp7_, RAW_DEVELOPER_SHOTWELL); +#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperShotwell", _tmp8_); +#line 3319 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = _tmp10_; +#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = photo_is_raw_developer_available (_tmp11_, RAW_DEVELOPER_EMBEDDED); +#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = _tmp12_; +#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp11_); +#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp13_) { +#line 3322 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = TRUE; +#line 21682 "PhotoPage.c" + } else { + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = _tmp14_; +#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = photo_is_raw_developer_available (_tmp15_, RAW_DEVELOPER_CAMERA); +#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = _tmp16_; +#line 3323 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp15_); +#line 21697 "PhotoPage.c" + } +#line 3321 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperCamera", _tmp9_); +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _tmp17_; +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp19_ = photo_get_raw_developer (_tmp18_); +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp20_ = _tmp19_; +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp18_); +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + switch (_tmp20_) { +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + case RAW_DEVELOPER_SHOTWELL: +#line 21715 "PhotoPage.c" + { +#line 3328 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperShotwell"); +#line 3329 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 21721 "PhotoPage.c" + } +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + case RAW_DEVELOPER_CAMERA: +#line 3326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + case RAW_DEVELOPER_EMBEDDED: +#line 21727 "PhotoPage.c" + { +#line 3333 "/home/jens/Source/shotwell/src/PhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RawDeveloperCamera"); +#line 3334 "/home/jens/Source/shotwell/src/PhotoPage.vala" + break; +#line 21733 "PhotoPage.c" + } + default: + { +#line 3337 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_assert_not_reached (); +#line 21739 "PhotoPage.c" + } + } + } +} + + +static void library_photo_page_on_metadata_altered (LibraryPhotoPage* self, GeeMap* map) { + gboolean _tmp0_ = FALSE; + GeeMap* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 3342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3342 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = map; +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = gee_map_has_key (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp5_) { +#line 21771 "PhotoPage.c" + GeeMap* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Alteration* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = map; +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = gee_map_get (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject)); +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = (Alteration*) _tmp9_; +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = alteration_has_subject (_tmp10_, "metadata"); +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = _tmp11_; +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _alteration_unref0 (_tmp10_); +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 21796 "PhotoPage.c" + } else { +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = FALSE; +#line 21800 "PhotoPage.c" + } +#line 3343 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp0_) { +#line 3344 "/home/jens/Source/shotwell/src/PhotoPage.vala" + single_photo_page_repaint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), NULL); +#line 21806 "PhotoPage.c" + } +} + + +static void library_photo_page_on_add_tags (LibraryPhotoPage* self) { + AddTagsDialog* dialog = NULL; + AddTagsDialog* _tmp0_ = NULL; + gchar** names = NULL; + AddTagsDialog* _tmp1_ = NULL; + gint _tmp2_ = 0; + gchar** _tmp3_ = NULL; + gint names_length1 = 0; + gint _names_size_ = 0; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 3347 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = add_tags_dialog_new (); +#line 3348 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dialog = _tmp0_; +#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = dialog; +#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = add_tags_dialog_execute (_tmp1_, &_tmp2_); +#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + names = _tmp3_; +#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + names_length1 = _tmp2_; +#line 3349 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _names_size_ = names_length1; +#line 3350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = names; +#line 3350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4__length1 = names_length1; +#line 3350 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp4_ != NULL) { +#line 21844 "PhotoPage.c" + CommandManager* _tmp5_ = NULL; + CommandManager* _tmp6_ = NULL; + HierarchicalTagIndex* _tmp7_ = NULL; + HierarchicalTagIndex* _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint _tmp10_ = 0; + gchar** _tmp11_ = NULL; + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + GeeList* _tmp15_ = NULL; + GeeCollection* _tmp16_ = NULL; + AddTagsCommand* _tmp17_ = NULL; + AddTagsCommand* _tmp18_ = NULL; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = _tmp5_; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = hierarchical_tag_index_get_global_index (); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = _tmp7_; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = names; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9__length1 = names_length1; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = hierarchical_tag_index_get_paths_for_names_array (_tmp8_, _tmp9_, _tmp9__length1, &_tmp10_); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12__length1 = _tmp10_; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = _tmp13_; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = view_collection_get_selected_sources (_tmp14_); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp17_ = add_tags_command_new (_tmp12_, _tmp10_, _tmp16_); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp18_ = _tmp17_; +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_COMMAND, Command)); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp18_); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp14_); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _hierarchical_tag_index_unref0 (_tmp8_); +#line 3351 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp6_); +#line 21905 "PhotoPage.c" + } +#line 3347 "/home/jens/Source/shotwell/src/PhotoPage.vala" + names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL); +#line 3347 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _text_entry_dialog_mediator_unref0 (dialog); +#line 21911 "PhotoPage.c" +} + + +static void library_photo_page_on_modify_tags (LibraryPhotoPage* self) { + LibraryPhoto* photo = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + DataView* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + LibraryPhoto* _tmp5_ = NULL; + ModifyTagsDialog* dialog = NULL; + LibraryPhoto* _tmp6_ = NULL; + ModifyTagsDialog* _tmp7_ = NULL; + GeeArrayList* new_tags = NULL; + ModifyTagsDialog* _tmp8_ = NULL; + GeeArrayList* _tmp9_ = NULL; + GeeArrayList* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + CommandManager* _tmp12_ = NULL; + LibraryPhoto* _tmp13_ = NULL; + GeeArrayList* _tmp14_ = NULL; + ModifyTagsCommand* _tmp15_ = NULL; + ModifyTagsCommand* _tmp16_ = NULL; +#line 3357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_if_fail (IS_LIBRARY_PHOTO_PAGE (self)); +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = _tmp0_; +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = view_collection_get_selected_at (_tmp1_, 0); +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = _tmp2_; +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = data_view_get_source (_tmp3_); +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_LIBRARY_PHOTO, LibraryPhoto); +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 3358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + photo = _tmp5_; +#line 3360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp6_ = photo; +#line 3360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp7_ = modify_tags_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 3360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + dialog = _tmp7_; +#line 3361 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp8_ = dialog; +#line 3361 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp9_ = modify_tags_dialog_execute (_tmp8_); +#line 3361 "/home/jens/Source/shotwell/src/PhotoPage.vala" + new_tags = _tmp9_; +#line 3363 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp10_ = new_tags; +#line 3363 "/home/jens/Source/shotwell/src/PhotoPage.vala" + if (_tmp10_ == NULL) { +#line 3364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (new_tags); +#line 3364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _text_entry_dialog_mediator_unref0 (dialog); +#line 3364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 3364 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return; +#line 21980 "PhotoPage.c" + } +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp11_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp12_ = _tmp11_; +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp13_ = photo; +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp14_ = new_tags; +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp15_ = modify_tags_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_MEDIA_SOURCE, MediaSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp16_ = _tmp15_; +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + command_manager_execute (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_COMMAND, Command)); +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 3366 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _command_manager_unref0 (_tmp12_); +#line 3357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (new_tags); +#line 3357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _text_entry_dialog_mediator_unref0 (dialog); +#line 3357 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (photo); +#line 22006 "PhotoPage.c" +} + + +static gboolean library_photo_page_library_photo_page_view_filter_real_predicate (ViewFilter* base, DataView* view) { + LibraryPhotoPageLibraryPhotoPageViewFilter * self; + gboolean result = FALSE; + DataView* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 2329 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER, LibraryPhotoPageLibraryPhotoPageViewFilter); +#line 2329 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = view; +#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp1_ = data_view_get_source (_tmp0_); +#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource); +#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp3_ = media_source_is_trashed (_tmp2_); +#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = !_tmp3_; +#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp2_); +#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + result = _tmp4_; +#line 2330 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return result; +#line 22038 "PhotoPage.c" +} + + +static LibraryPhotoPageLibraryPhotoPageViewFilter* library_photo_page_library_photo_page_view_filter_construct (GType object_type) { + LibraryPhotoPageLibraryPhotoPageViewFilter* self = NULL; +#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = (LibraryPhotoPageLibraryPhotoPageViewFilter*) view_filter_construct (object_type); +#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return self; +#line 22048 "PhotoPage.c" +} + + +static LibraryPhotoPageLibraryPhotoPageViewFilter* library_photo_page_library_photo_page_view_filter_new (void) { +#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala" + return library_photo_page_library_photo_page_view_filter_construct (LIBRARY_PHOTO_PAGE_TYPE_LIBRARY_PHOTO_PAGE_VIEW_FILTER); +#line 22055 "PhotoPage.c" +} + + +static void library_photo_page_library_photo_page_view_filter_class_init (LibraryPhotoPageLibraryPhotoPageViewFilterClass * klass) { +#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_library_photo_page_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 2328 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((ViewFilterClass *) klass)->predicate = library_photo_page_library_photo_page_view_filter_real_predicate; +#line 22064 "PhotoPage.c" +} + + +static void library_photo_page_library_photo_page_view_filter_instance_init (LibraryPhotoPageLibraryPhotoPageViewFilter * self) { +} + + +static GType library_photo_page_library_photo_page_view_filter_get_type (void) { + static volatile gsize library_photo_page_library_photo_page_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_page_library_photo_page_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoPageLibraryPhotoPageViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_page_library_photo_page_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotoPageLibraryPhotoPageViewFilter), 0, (GInstanceInitFunc) library_photo_page_library_photo_page_view_filter_instance_init, NULL }; + GType library_photo_page_library_photo_page_view_filter_type_id; + library_photo_page_library_photo_page_view_filter_type_id = g_type_register_static (TYPE_VIEW_FILTER, "LibraryPhotoPageLibraryPhotoPageViewFilter", &g_define_type_info, 0); + g_once_init_leave (&library_photo_page_library_photo_page_view_filter_type_id__volatile, library_photo_page_library_photo_page_view_filter_type_id); + } + return library_photo_page_library_photo_page_view_filter_type_id__volatile; +} + + +static void library_photo_page_class_init (LibraryPhotoPageClass * klass) { +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + library_photo_page_parent_class = g_type_class_peek_parent (klass); +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_type_class_add_private (klass, sizeof (LibraryPhotoPagePrivate)); +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = library_photo_page_real_init_collect_ui_filenames; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->init_collect_action_entries = library_photo_page_real_init_collect_action_entries; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->init_collect_toggle_action_entries = library_photo_page_real_init_collect_toggle_action_entries; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->init_collect_injection_groups = library_photo_page_real_init_collect_injection_groups; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->register_radio_actions = library_photo_page_real_register_radio_actions; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->update_actions = library_photo_page_real_update_actions; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((LibraryPhotoPageClass *) klass)->developer_changed = library_photo_page_real_developer_changed; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->switched_to = library_photo_page_real_switched_to; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->get_bottom_left_trinket = library_photo_page_real_get_bottom_left_trinket; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->get_top_right_trinket = library_photo_page_real_get_top_right_trinket; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->on_increase_size = library_photo_page_real_on_increase_size; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->on_decrease_size = library_photo_page_real_on_decrease_size; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->on_zoom_slider_key_press = library_photo_page_real_on_zoom_slider_key_press; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->update_ui = library_photo_page_real_update_ui; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->notify_photo_backing_missing = library_photo_page_real_notify_photo_backing_missing; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((GtkWidgetClass *) klass)->key_press_event = library_photo_page_real_key_press_event; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((EditingHostPageClass *) klass)->on_double_click = library_photo_page_real_on_double_click; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_left_released = library_photo_page_real_on_left_released; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_context_buttonpress = library_photo_page_real_on_context_buttonpress; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + ((PageClass *) klass)->on_context_keypress = library_photo_page_real_on_context_keypress; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + G_OBJECT_CLASS (klass)->finalize = library_photo_page_finalize; +#line 22131 "PhotoPage.c" +} + + +static void library_photo_page_instance_init (LibraryPhotoPage * self) { + LibraryPhotoPageLibraryPhotoPageViewFilter* _tmp0_ = NULL; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv = LIBRARY_PHOTO_PAGE_GET_PRIVATE (self); +#line 2334 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->return_page = NULL; +#line 2335 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->return_to_collection_on_release = FALSE; +#line 2336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = library_photo_page_library_photo_page_view_filter_new (); +#line 2336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self->priv->filter = _tmp0_; +#line 22147 "PhotoPage.c" +} + + +static void library_photo_page_finalize (GObject* obj) { + LibraryPhotoPage * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + LibraryPhotoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; + ConfigFacade* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + guint _tmp6_ = 0U; +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage); +#line 2358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp0_ = library_photo_global; +#line 2358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); +#line 2358 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _library_photo_page_on_photo_destroyed_source_collection_item_destroyed, self); +#line 2359 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp2_ = library_photo_global; +#line 2359 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 2359 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _library_photo_page_on_metadata_altered_data_collection_items_altered, self); +#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp4_ = config_facade_get_instance (); +#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _tmp5_ = _tmp4_; +#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_parse_name ("external-app-changed", TYPE_CONFIGURATION_FACADE, &_tmp6_, NULL, FALSE); +#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_photo_page_on_external_app_changed_configuration_facade_external_app_changed, self); +#line 2360 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (_tmp5_); +#line 2334 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _g_object_unref0 (self->priv->return_page); +#line 2336 "/home/jens/Source/shotwell/src/PhotoPage.vala" + _view_filter_unref0 (self->priv->filter); +#line 2326 "/home/jens/Source/shotwell/src/PhotoPage.vala" + G_OBJECT_CLASS (library_photo_page_parent_class)->finalize (obj); +#line 22190 "PhotoPage.c" +} + + +GType library_photo_page_get_type (void) { + static volatile gsize library_photo_page_type_id__volatile = 0; + if (g_once_init_enter (&library_photo_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotoPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photo_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotoPage), 0, (GInstanceInitFunc) library_photo_page_instance_init, NULL }; + GType library_photo_page_type_id; + library_photo_page_type_id = g_type_register_static (TYPE_EDITING_HOST_PAGE, "LibraryPhotoPage", &g_define_type_info, 0); + g_once_init_leave (&library_photo_page_type_id__volatile, library_photo_page_type_id); + } + return library_photo_page_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/PixbufCache.c b/src/PixbufCache.c new file mode 100644 index 0000000..6a4add5 --- /dev/null +++ b/src/PixbufCache.c @@ -0,0 +1,2666 @@ +/* PixbufCache.c generated by valac 0.32.1, the Vala compiler + * generated from PixbufCache.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PIXBUF_CACHE (pixbuf_cache_get_type ()) +#define PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXBUF_CACHE, PixbufCache)) +#define PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXBUF_CACHE, PixbufCacheClass)) +#define IS_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXBUF_CACHE)) +#define IS_PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXBUF_CACHE)) +#define PIXBUF_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXBUF_CACHE, PixbufCacheClass)) + +typedef struct _PixbufCache PixbufCache; +typedef struct _PixbufCacheClass PixbufCacheClass; +typedef struct _PixbufCachePrivate PixbufCachePrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define PIXBUF_CACHE_TYPE_PHOTO_TYPE (pixbuf_cache_photo_type_get_type ()) + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; + +#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_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define PIXBUF_CACHE_TYPE_FETCH_JOB (pixbuf_cache_fetch_job_get_type ()) +#define PIXBUF_CACHE_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)) +#define PIXBUF_CACHE_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJobClass)) +#define PIXBUF_CACHE_IS_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIXBUF_CACHE_TYPE_FETCH_JOB)) +#define PIXBUF_CACHE_IS_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIXBUF_CACHE_TYPE_FETCH_JOB)) +#define PIXBUF_CACHE_FETCH_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJobClass)) + +typedef struct _PixbufCacheFetchJob PixbufCacheFetchJob; +typedef struct _PixbufCacheFetchJobClass PixbufCacheFetchJobClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _PixbufCacheFetchJobPrivate PixbufCacheFetchJobPrivate; + +#define PIXBUF_CACHE_TYPE_BASELINE_FETCH_JOB (pixbuf_cache_baseline_fetch_job_get_type ()) +#define PIXBUF_CACHE_BASELINE_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIXBUF_CACHE_TYPE_BASELINE_FETCH_JOB, PixbufCacheBaselineFetchJob)) +#define PIXBUF_CACHE_BASELINE_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIXBUF_CACHE_TYPE_BASELINE_FETCH_JOB, PixbufCacheBaselineFetchJobClass)) +#define PIXBUF_CACHE_IS_BASELINE_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIXBUF_CACHE_TYPE_BASELINE_FETCH_JOB)) +#define PIXBUF_CACHE_IS_BASELINE_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIXBUF_CACHE_TYPE_BASELINE_FETCH_JOB)) +#define PIXBUF_CACHE_BASELINE_FETCH_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIXBUF_CACHE_TYPE_BASELINE_FETCH_JOB, PixbufCacheBaselineFetchJobClass)) + +typedef struct _PixbufCacheBaselineFetchJob PixbufCacheBaselineFetchJob; +typedef struct _PixbufCacheBaselineFetchJobClass PixbufCacheBaselineFetchJobClass; + +#define PIXBUF_CACHE_TYPE_MASTER_FETCH_JOB (pixbuf_cache_master_fetch_job_get_type ()) +#define PIXBUF_CACHE_MASTER_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIXBUF_CACHE_TYPE_MASTER_FETCH_JOB, PixbufCacheMasterFetchJob)) +#define PIXBUF_CACHE_MASTER_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIXBUF_CACHE_TYPE_MASTER_FETCH_JOB, PixbufCacheMasterFetchJobClass)) +#define PIXBUF_CACHE_IS_MASTER_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIXBUF_CACHE_TYPE_MASTER_FETCH_JOB)) +#define PIXBUF_CACHE_IS_MASTER_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIXBUF_CACHE_TYPE_MASTER_FETCH_JOB)) +#define PIXBUF_CACHE_MASTER_FETCH_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIXBUF_CACHE_TYPE_MASTER_FETCH_JOB, PixbufCacheMasterFetchJobClass)) + +typedef struct _PixbufCacheMasterFetchJob PixbufCacheMasterFetchJob; +typedef struct _PixbufCacheMasterFetchJobClass PixbufCacheMasterFetchJobClass; + +#define PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH (pixbuf_cache_pixbuf_cache_batch_get_type ()) +#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatch)) +#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatchClass)) +#define PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH)) +#define PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH)) +#define PIXBUF_CACHE_PIXBUF_CACHE_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH, PixbufCachePixbufCacheBatchClass)) + +typedef struct _PixbufCachePixbufCacheBatch PixbufCachePixbufCacheBatch; +typedef struct _PixbufCachePixbufCacheBatchClass PixbufCachePixbufCacheBatchClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) +typedef struct _PixbufCachePixbufCacheBatchPrivate PixbufCachePixbufCacheBatchPrivate; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; + +#define TYPE_SEMAPHORE (semaphore_get_type ()) +#define SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEMAPHORE, Semaphore)) +#define SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEMAPHORE, SemaphoreClass)) +#define IS_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEMAPHORE)) +#define IS_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEMAPHORE)) +#define SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEMAPHORE, SemaphoreClass)) + +typedef struct _Semaphore Semaphore; +typedef struct _SemaphoreClass SemaphoreClass; +#define _abstract_semaphore_unref0(var) ((var == NULL) ? NULL : (var = (abstract_semaphore_unref (var), NULL))) +typedef struct _PixbufCacheBaselineFetchJobPrivate PixbufCacheBaselineFetchJobPrivate; +typedef struct _PixbufCacheMasterFetchJobPrivate PixbufCacheMasterFetchJobPrivate; +#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 _PixbufCache { + GObject parent_instance; + PixbufCachePrivate * priv; +}; + +struct _PixbufCacheClass { + GObjectClass parent_class; +}; + +typedef enum { + PIXBUF_CACHE_PHOTO_TYPE_BASELINE, + PIXBUF_CACHE_PHOTO_TYPE_MASTER +} PixbufCachePhotoType; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef gboolean (*PixbufCacheCacheFilter) (Photo* photo, void* user_data); +struct _PixbufCachePrivate { + SourceCollection* sources; + PixbufCachePhotoType type; + gint max_count; + Scaling scaling; + PixbufCacheCacheFilter filter; + gpointer filter_target; + GeeHashMap* cache; + GeeArrayList* lru; + GeeHashMap* in_progress; +}; + +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _PixbufCacheFetchJob { + BackgroundJob parent_instance; + PixbufCacheFetchJobPrivate * priv; + BackgroundJobJobPriority priority; + Photo* photo; + Scaling scaling; + GdkPixbuf* pixbuf; + GError* err; +}; + +struct _PixbufCacheFetchJobClass { + BackgroundJobClass parent_class; +}; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +struct _PixbufCachePixbufCacheBatch { + GeeTreeMultiMap parent_instance; + PixbufCachePixbufCacheBatchPrivate * priv; +}; + +struct _PixbufCachePixbufCacheBatchClass { + GeeTreeMultiMapClass parent_class; +}; + +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); +struct _PixbufCacheBaselineFetchJob { + PixbufCacheFetchJob parent_instance; + PixbufCacheBaselineFetchJobPrivate * priv; +}; + +struct _PixbufCacheBaselineFetchJobClass { + PixbufCacheFetchJobClass parent_class; +}; + +struct _PixbufCacheMasterFetchJob { + PixbufCacheFetchJob parent_instance; + PixbufCacheMasterFetchJobPrivate * priv; +}; + +struct _PixbufCacheMasterFetchJobClass { + PixbufCacheFetchJobClass parent_class; +}; + + +static gpointer pixbuf_cache_parent_class = NULL; +static Workers* pixbuf_cache_background_workers; +static Workers* pixbuf_cache_background_workers = NULL; +static gpointer pixbuf_cache_pixbuf_cache_batch_parent_class = NULL; +static gpointer pixbuf_cache_fetch_job_parent_class = NULL; +static gpointer pixbuf_cache_baseline_fetch_job_parent_class = NULL; +static gpointer pixbuf_cache_master_fetch_job_parent_class = NULL; + +GType pixbuf_cache_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType pixbuf_cache_photo_type_get_type (void) G_GNUC_CONST; +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +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; +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +static GType pixbuf_cache_fetch_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PIXBUF_CACHE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PIXBUF_CACHE, PixbufCachePrivate)) +enum { + PIXBUF_CACHE_DUMMY_PROPERTY +}; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void pixbuf_cache_on_sources_altered (PixbufCache* self, GeeMap* map); +static void _pixbuf_cache_on_sources_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static void pixbuf_cache_on_sources_removed (PixbufCache* self, GeeIterable* removed); +static void _pixbuf_cache_on_sources_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self); +void background_job_cancel (BackgroundJob* self); +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +PixbufCache* pixbuf_cache_new (SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target); +PixbufCache* pixbuf_cache_construct (GType object_type, SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target); +guint workers_thread_per_cpu_minus_one (void); +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +void pixbuf_cache_get_scaling (PixbufCache* self, Scaling* result); +GdkPixbuf* pixbuf_cache_get_ready_pixbuf (PixbufCache* self, Photo* photo); +static GdkPixbuf* pixbuf_cache_get_cached (PixbufCache* self, Photo* photo); +GdkPixbuf* pixbuf_cache_fetch (PixbufCache* self, Photo* photo, GError** error); +GFile* photo_get_actual_file (Photo* self); +static void pixbuf_cache_decache (PixbufCache* self, Photo* photo); +void background_job_wait_for_completion (BackgroundJob* self); +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +static void pixbuf_cache_encache (PixbufCache* self, Photo* photo, GdkPixbuf* pixbuf); +void pixbuf_cache_drop (PixbufCache* self, Photo* photo); +gboolean pixbuf_cache_cancel_prefetch (PixbufCache* self, Photo* photo); +void pixbuf_cache_prefetch (PixbufCache* self, Photo* photo, BackgroundJobJobPriority priority, gboolean force); +static void pixbuf_cache_prioritize (PixbufCache* self, Photo* photo); +static void pixbuf_cache_on_fetched (PixbufCache* self, BackgroundJob* j); +static void _pixbuf_cache_on_fetched_completion_callback (BackgroundJob* job, gpointer self); +static PixbufCacheBaselineFetchJob* pixbuf_cache_baseline_fetch_job_new (PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target); +static PixbufCacheBaselineFetchJob* pixbuf_cache_baseline_fetch_job_construct (GType object_type, PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target); +static GType pixbuf_cache_baseline_fetch_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static PixbufCacheMasterFetchJob* pixbuf_cache_master_fetch_job_new (PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target); +static PixbufCacheMasterFetchJob* pixbuf_cache_master_fetch_job_construct (GType object_type, PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target); +static GType pixbuf_cache_master_fetch_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +void workers_enqueue (Workers* self, BackgroundJob* job); +void pixbuf_cache_prefetch_many (PixbufCache* self, GeeCollection* photos, BackgroundJobJobPriority priority, gboolean force); +GType pixbuf_cache_pixbuf_cache_batch_get_type (void) G_GNUC_CONST; +void pixbuf_cache_prefetch_batch (PixbufCache* self, PixbufCachePixbufCacheBatch* batch, gboolean force); +void pixbuf_cache_cancel_all (PixbufCache* self); +gchar* data_object_to_string (DataObject* self); +gboolean alteration_has_subject (Alteration* self, const gchar* subject); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_POINTER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +enum { + PIXBUF_CACHE_PIXBUF_CACHE_BATCH_DUMMY_PROPERTY +}; +PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_new (void); +PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_construct (GType object_type); +gint background_job_job_priority_compare_func (void* a, void* b); +static gint _background_job_job_priority_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +enum { + PIXBUF_CACHE_FETCH_JOB_DUMMY_PROPERTY +}; +static PixbufCacheFetchJob* pixbuf_cache_fetch_job_construct (GType object_type, PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target); +Semaphore* semaphore_new (void); +Semaphore* semaphore_construct (GType object_type); +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +GType semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +static BackgroundJobJobPriority pixbuf_cache_fetch_job_real_get_priority (BackgroundJob* base); +static void pixbuf_cache_fetch_job_finalize (BackgroundJob* obj); +enum { + PIXBUF_CACHE_BASELINE_FETCH_JOB_DUMMY_PROPERTY +}; +static void pixbuf_cache_baseline_fetch_job_real_execute (BackgroundJob* base); +enum { + PIXBUF_CACHE_MASTER_FETCH_JOB_DUMMY_PROPERTY +}; +static void pixbuf_cache_master_fetch_job_real_execute (BackgroundJob* base); +GdkPixbuf* photo_get_master_pixbuf (Photo* self, Scaling* scaling, gboolean rotate, GError** error); +static void pixbuf_cache_finalize (GObject* obj); + + +static void _pixbuf_cache_on_sources_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 111 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_on_sources_altered ((PixbufCache*) self, items); +#line 478 "PixbufCache.c" +} + + +static void _pixbuf_cache_on_sources_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self) { +#line 112 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_on_sources_removed ((PixbufCache*) self, removed); +#line 485 "PixbufCache.c" +} + + +GType pixbuf_cache_photo_type_get_type (void) { + static volatile gsize pixbuf_cache_photo_type_type_id__volatile = 0; + if (g_once_init_enter (&pixbuf_cache_photo_type_type_id__volatile)) { + static const GEnumValue values[] = {{PIXBUF_CACHE_PHOTO_TYPE_BASELINE, "PIXBUF_CACHE_PHOTO_TYPE_BASELINE", "baseline"}, {PIXBUF_CACHE_PHOTO_TYPE_MASTER, "PIXBUF_CACHE_PHOTO_TYPE_MASTER", "master"}, {0, NULL, NULL}}; + GType pixbuf_cache_photo_type_type_id; + pixbuf_cache_photo_type_type_id = g_enum_register_static ("PixbufCachePhotoType", values); + g_once_init_leave (&pixbuf_cache_photo_type_type_id__volatile, pixbuf_cache_photo_type_type_id); + } + return pixbuf_cache_photo_type_type_id__volatile; +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 87 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self ? data_collection_ref (self) : NULL; +#line 504 "PixbufCache.c" +} + + +PixbufCache* pixbuf_cache_construct (GType object_type, SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target) { + PixbufCache * self = NULL; + SourceCollection* _tmp0_ = NULL; + SourceCollection* _tmp1_ = NULL; + PixbufCachePhotoType _tmp2_ = 0; + Scaling _tmp3_ = {0}; + gint _tmp4_ = 0; + PixbufCacheCacheFilter _tmp5_ = NULL; + void* _tmp5__target = NULL; + gint _tmp6_ = 0; + Workers* _tmp7_ = NULL; + PixbufCachePhotoType _tmp10_ = 0; + SourceCollection* _tmp12_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (sources), NULL); +#line 85 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 85 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = (PixbufCache*) g_object_new (object_type, NULL); +#line 87 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = sources; +#line 87 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 87 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _data_collection_unref0 (self->priv->sources); +#line 87 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->sources = _tmp1_; +#line 88 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = type; +#line 88 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->type = _tmp2_; +#line 89 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = *scaling; +#line 89 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->scaling = _tmp3_; +#line 90 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = max_count; +#line 90 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->max_count = _tmp4_; +#line 91 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = filter; +#line 91 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5__target = filter_target; +#line 91 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->filter = _tmp5_; +#line 91 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->filter_target = _tmp5__target; +#line 93 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = max_count; +#line 93 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp6_ > 0, "max_count > 0"); +#line 95 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = pixbuf_cache_background_workers; +#line 95 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp7_ == NULL) { +#line 563 "PixbufCache.c" + guint _tmp8_ = 0U; + Workers* _tmp9_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = workers_thread_per_cpu_minus_one (); +#line 96 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = workers_new (_tmp8_, FALSE); +#line 96 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _workers_unref0 (pixbuf_cache_background_workers); +#line 96 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_background_workers = _tmp9_; +#line 574 "PixbufCache.c" + } +#line 100 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = type; +#line 100 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp10_ != PIXBUF_CACHE_PHOTO_TYPE_MASTER) { +#line 580 "PixbufCache.c" + SourceCollection* _tmp11_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = sources; +#line 101 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _pixbuf_cache_on_sources_altered_data_collection_items_altered, self, 0); +#line 586 "PixbufCache.c" + } +#line 102 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp12_ = sources; +#line 102 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection), "items-removed", (GCallback) _pixbuf_cache_on_sources_removed_data_collection_items_removed, self, 0); +#line 85 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self; +#line 594 "PixbufCache.c" +} + + +PixbufCache* pixbuf_cache_new (SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target) { +#line 85 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return pixbuf_cache_construct (TYPE_PIXBUF_CACHE, sources, type, scaling, max_count, filter, filter_target); +#line 601 "PixbufCache.c" +} + + +void pixbuf_cache_get_scaling (PixbufCache* self, Scaling* result) { + Scaling _tmp0_ = {0}; +#line 118 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 119 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = self->priv->scaling; +#line 119 "/home/jens/Source/shotwell/src/PixbufCache.vala" + *result = _tmp0_; +#line 119 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return; +#line 615 "PixbufCache.c" +} + + +GdkPixbuf* pixbuf_cache_get_ready_pixbuf (PixbufCache* self, Photo* photo) { + GdkPixbuf* result = NULL; + Photo* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PIXBUF_CACHE (self), NULL); +#line 123 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 124 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = photo; +#line 124 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = pixbuf_cache_get_cached (self, _tmp0_); +#line 124 "/home/jens/Source/shotwell/src/PixbufCache.vala" + result = _tmp1_; +#line 124 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 635 "PixbufCache.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self ? g_error_copy (self) : NULL; +#line 642 "PixbufCache.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 148 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self ? g_object_ref (self) : NULL; +#line 649 "PixbufCache.c" +} + + +GdkPixbuf* pixbuf_cache_fetch (PixbufCache* self, Photo* photo, GError** error) { + GdkPixbuf* result = NULL; + Photo* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + GdkPixbuf* pixbuf = NULL; + Photo* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + PixbufCacheFetchJob* job = NULL; + GeeHashMap* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + PixbufCacheFetchJob* _tmp12_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + Photo* _tmp23_ = NULL; + Scaling _tmp24_ = {0}; + GdkPixbuf* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + Photo* _tmp27_ = NULL; + GdkPixbuf* _tmp28_ = NULL; + GError * _inner_error_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PIXBUF_CACHE (self), NULL); +#line 129 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 130 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = photo; +#line 130 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = photo_get_actual_file (_tmp0_); +#line 130 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = _tmp1_; +#line 130 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = g_file_query_exists (_tmp2_, NULL); +#line 130 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = !_tmp3_; +#line 130 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp2_); +#line 130 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp4_) { +#line 695 "PixbufCache.c" + Photo* _tmp5_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = photo; +#line 131 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_decache (self, _tmp5_); +#line 701 "PixbufCache.c" + } +#line 133 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = photo; +#line 133 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = pixbuf_cache_get_cached (self, _tmp6_); +#line 133 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf = _tmp7_; +#line 134 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = pixbuf; +#line 134 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp8_ != NULL) { +#line 139 "/home/jens/Source/shotwell/src/PixbufCache.vala" + result = pixbuf; +#line 139 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 717 "PixbufCache.c" + } +#line 142 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = self->priv->in_progress; +#line 142 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = photo; +#line 142 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_); +#line 142 "/home/jens/Source/shotwell/src/PixbufCache.vala" + job = (PixbufCacheFetchJob*) _tmp11_; +#line 143 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp12_ = job; +#line 143 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp12_ != NULL) { +#line 731 "PixbufCache.c" + PixbufCacheFetchJob* _tmp13_ = NULL; + PixbufCacheFetchJob* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + PixbufCacheFetchJob* _tmp19_ = NULL; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp13_ = job; +#line 144 "/home/jens/Source/shotwell/src/PixbufCache.vala" + background_job_wait_for_completion (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 145 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp14_ = job; +#line 145 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp15_ = _tmp14_->err; +#line 145 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp15_ != NULL) { +#line 748 "PixbufCache.c" + PixbufCacheFetchJob* _tmp16_ = NULL; + GError* _tmp17_ = NULL; + GError* _tmp18_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp16_ = job; +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp17_ = _tmp16_->err; +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp18_ = _g_error_copy0 (_tmp17_); +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _inner_error_ = _tmp18_; +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_propagate_error (error, _inner_error_); +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (pixbuf); +#line 146 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return NULL; +#line 768 "PixbufCache.c" + } +#line 148 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp19_ = job; +#line 148 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp20_ = _tmp19_->pixbuf; +#line 148 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp21_ = _g_object_ref0 (_tmp20_); +#line 148 "/home/jens/Source/shotwell/src/PixbufCache.vala" + result = _tmp21_; +#line 148 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 148 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (pixbuf); +#line 148 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 784 "PixbufCache.c" + } +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp23_ = photo; +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp24_ = self->priv->scaling; +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp25_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp24_, &_inner_error_); +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp22_ = _tmp25_; +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_propagate_error (error, _inner_error_); +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (pixbuf); +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return NULL; +#line 804 "PixbufCache.c" + } +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp26_ = _tmp22_; +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp22_ = NULL; +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (pixbuf); +#line 155 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf = _tmp26_; +#line 157 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp27_ = photo; +#line 157 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp28_ = pixbuf; +#line 157 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_encache (self, _tmp27_, _tmp28_); +#line 159 "/home/jens/Source/shotwell/src/PixbufCache.vala" + result = pixbuf; +#line 159 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp22_); +#line 159 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 159 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 828 "PixbufCache.c" +} + + +void pixbuf_cache_drop (PixbufCache* self, Photo* photo) { + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 165 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 166 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = photo; +#line 166 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_cancel_prefetch (self, _tmp0_); +#line 167 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = photo; +#line 167 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_decache (self, _tmp1_); +#line 847 "PixbufCache.c" +} + + +static void _pixbuf_cache_on_fetched_completion_callback (BackgroundJob* job, gpointer self) { +#line 192 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_on_fetched ((PixbufCache*) self, job); +#line 854 "PixbufCache.c" +} + + +void pixbuf_cache_prefetch (PixbufCache* self, Photo* photo, BackgroundJobJobPriority priority, gboolean force) { + Photo* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + GeeHashMap* _tmp12_ = NULL; + Photo* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + PixbufCacheCacheFilter _tmp16_ = NULL; + void* _tmp16__target = NULL; + PixbufCacheFetchJob* job = NULL; + PixbufCachePhotoType _tmp20_ = 0; + GeeHashMap* _tmp30_ = NULL; + Photo* _tmp31_ = NULL; + PixbufCacheFetchJob* _tmp32_ = NULL; + Workers* _tmp33_ = NULL; + PixbufCacheFetchJob* _tmp34_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 172 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 174 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = photo; +#line 174 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = photo_get_actual_file (_tmp0_); +#line 174 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = _tmp1_; +#line 174 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = g_file_query_exists (_tmp2_, NULL); +#line 174 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = !_tmp3_; +#line 174 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp2_); +#line 174 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp4_) { +#line 897 "PixbufCache.c" + Photo* _tmp5_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = photo; +#line 175 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_decache (self, _tmp5_); +#line 903 "PixbufCache.c" + } +#line 177 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = force; +#line 177 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp7_) { +#line 909 "PixbufCache.c" + GeeHashMap* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = self->priv->cache; +#line 177 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = photo; +#line 177 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_); +#line 177 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = _tmp10_; +#line 921 "PixbufCache.c" + } else { +#line 177 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = FALSE; +#line 925 "PixbufCache.c" + } +#line 177 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp6_) { +#line 929 "PixbufCache.c" + Photo* _tmp11_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = photo; +#line 178 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_prioritize (self, _tmp11_); +#line 180 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return; +#line 937 "PixbufCache.c" + } +#line 183 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp12_ = self->priv->in_progress; +#line 183 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp13_ = photo; +#line 183 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp14_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_); +#line 183 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp14_) { +#line 184 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return; +#line 949 "PixbufCache.c" + } +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp16_ = self->priv->filter; +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp16__target = self->priv->filter_target; +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp16_ != NULL) { +#line 957 "PixbufCache.c" + PixbufCacheCacheFilter _tmp17_ = NULL; + void* _tmp17__target = NULL; + Photo* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp17_ = self->priv->filter; +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp17__target = self->priv->filter_target; +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp18_ = photo; +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp19_ = _tmp17_ (_tmp18_, _tmp17__target); +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp15_ = !_tmp19_; +#line 972 "PixbufCache.c" + } else { +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp15_ = FALSE; +#line 976 "PixbufCache.c" + } +#line 186 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp15_) { +#line 187 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return; +#line 982 "PixbufCache.c" + } +#line 189 "/home/jens/Source/shotwell/src/PixbufCache.vala" + job = NULL; +#line 190 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp20_ = self->priv->type; +#line 190 "/home/jens/Source/shotwell/src/PixbufCache.vala" + switch (_tmp20_) { +#line 190 "/home/jens/Source/shotwell/src/PixbufCache.vala" + case PIXBUF_CACHE_PHOTO_TYPE_BASELINE: +#line 992 "PixbufCache.c" + { + BackgroundJobJobPriority _tmp21_ = 0; + Photo* _tmp22_ = NULL; + Scaling _tmp23_ = {0}; + PixbufCacheBaselineFetchJob* _tmp24_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp21_ = priority; +#line 192 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp22_ = photo; +#line 192 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp23_ = self->priv->scaling; +#line 192 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp24_ = pixbuf_cache_baseline_fetch_job_new (self, _tmp21_, _tmp22_, &_tmp23_, _pixbuf_cache_on_fetched_completion_callback, self); +#line 192 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 192 "/home/jens/Source/shotwell/src/PixbufCache.vala" + job = G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob); +#line 193 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1012 "PixbufCache.c" + } +#line 190 "/home/jens/Source/shotwell/src/PixbufCache.vala" + case PIXBUF_CACHE_PHOTO_TYPE_MASTER: +#line 1016 "PixbufCache.c" + { + BackgroundJobJobPriority _tmp25_ = 0; + Photo* _tmp26_ = NULL; + Scaling _tmp27_ = {0}; + PixbufCacheMasterFetchJob* _tmp28_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp25_ = priority; +#line 196 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp26_ = photo; +#line 196 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp27_ = self->priv->scaling; +#line 196 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp28_ = pixbuf_cache_master_fetch_job_new (self, _tmp25_, _tmp26_, &_tmp27_, _pixbuf_cache_on_fetched_completion_callback, self); +#line 196 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 196 "/home/jens/Source/shotwell/src/PixbufCache.vala" + job = G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob); +#line 197 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1036 "PixbufCache.c" + } + default: + { + PixbufCachePhotoType _tmp29_ = 0; +#line 200 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp29_ = self->priv->type; +#line 200 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_error ("PixbufCache.vala:200: Unknown photo type: %d", (gint) _tmp29_); +#line 1045 "PixbufCache.c" + } + } +#line 203 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp30_ = self->priv->in_progress; +#line 203 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp31_ = photo; +#line 203 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp32_ = job; +#line 203 "/home/jens/Source/shotwell/src/PixbufCache.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp31_, _tmp32_); +#line 205 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp33_ = pixbuf_cache_background_workers; +#line 205 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp34_ = job; +#line 205 "/home/jens/Source/shotwell/src/PixbufCache.vala" + workers_enqueue (_tmp33_, G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 172 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 1064 "PixbufCache.c" +} + + +void pixbuf_cache_prefetch_many (PixbufCache* self, GeeCollection* photos, BackgroundJobJobPriority priority, gboolean force) { +#line 210 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 210 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (GEE_IS_COLLECTION (photos)); +#line 1073 "PixbufCache.c" + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = photos; +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _photo_it = _tmp1_; +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + while (TRUE) { +#line 1086 "PixbufCache.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + BackgroundJobJobPriority _tmp7_ = 0; + gboolean _tmp8_ = FALSE; +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = _photo_it; +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp3_) { +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1103 "PixbufCache.c" + } +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = _photo_it; +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + photo = (Photo*) _tmp5_; +#line 213 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = photo; +#line 213 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = priority; +#line 213 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = force; +#line 213 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_prefetch (self, _tmp6_, _tmp7_, _tmp8_); +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (photo); +#line 1121 "PixbufCache.c" + } +#line 212 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_photo_it); +#line 1125 "PixbufCache.c" + } +} + + +void pixbuf_cache_prefetch_batch (PixbufCache* self, PixbufCachePixbufCacheBatch* batch, gboolean force) { +#line 217 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 217 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (PIXBUF_CACHE_IS_PIXBUF_CACHE_BATCH (batch)); +#line 1135 "PixbufCache.c" + { + GeeIterator* _priority_it = NULL; + PixbufCachePixbufCacheBatch* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = batch; +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = gee_multi_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MULTI_MAP, GeeMultiMap)); +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = _tmp1_; +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = _tmp3_; +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp2_); +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _priority_it = _tmp4_; +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + while (TRUE) { +#line 1159 "PixbufCache.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + BackgroundJobJobPriority priority = 0; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = _priority_it; +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp6_) { +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1173 "PixbufCache.c" + } +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = _priority_it; +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + priority = (BackgroundJobJobPriority) ((gintptr) _tmp8_); +#line 1181 "PixbufCache.c" + { + GeeIterator* _photo_it = NULL; + PixbufCachePixbufCacheBatch* _tmp9_ = NULL; + BackgroundJobJobPriority _tmp10_ = 0; + GeeCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = batch; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = priority; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = gee_multi_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_MULTI_MAP, GeeMultiMap), (gpointer) ((gintptr) _tmp10_)); +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp12_ = _tmp11_; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp14_ = _tmp13_; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp12_); +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _photo_it = _tmp14_; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + while (TRUE) { +#line 1208 "PixbufCache.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + BackgroundJobJobPriority _tmp20_ = 0; + gboolean _tmp21_ = FALSE; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp15_ = _photo_it; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp16_) { +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1225 "PixbufCache.c" + } +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp17_ = _photo_it; +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + photo = (Photo*) _tmp18_; +#line 220 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp19_ = photo; +#line 220 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp20_ = priority; +#line 220 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp21_ = force; +#line 220 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_prefetch (self, _tmp19_, _tmp20_, _tmp21_); +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (photo); +#line 1243 "PixbufCache.c" + } +#line 219 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_photo_it); +#line 1247 "PixbufCache.c" + } + } +#line 218 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_priority_it); +#line 1252 "PixbufCache.c" + } +} + + +gboolean pixbuf_cache_cancel_prefetch (PixbufCache* self, Photo* photo) { + gboolean result = FALSE; + PixbufCacheFetchJob* job = NULL; + GeeHashMap* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + PixbufCacheFetchJob* _tmp3_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + PixbufCacheFetchJob* _tmp8_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PIXBUF_CACHE (self), FALSE); +#line 224 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PHOTO (photo), FALSE); +#line 225 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = self->priv->in_progress; +#line 225 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = photo; +#line 225 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 225 "/home/jens/Source/shotwell/src/PixbufCache.vala" + job = (PixbufCacheFetchJob*) _tmp2_; +#line 226 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = job; +#line 226 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp3_ == NULL) { +#line 227 "/home/jens/Source/shotwell/src/PixbufCache.vala" + result = FALSE; +#line 227 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 227 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 1292 "PixbufCache.c" + } +#line 230 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = self->priv->in_progress; +#line 230 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = photo; +#line 230 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_, NULL); +#line 230 "/home/jens/Source/shotwell/src/PixbufCache.vala" + removed = _tmp6_; +#line 231 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = removed; +#line 231 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp7_, "removed"); +#line 233 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = job; +#line 233 "/home/jens/Source/shotwell/src/PixbufCache.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 239 "/home/jens/Source/shotwell/src/PixbufCache.vala" + result = TRUE; +#line 239 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 239 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 1316 "PixbufCache.c" +} + + +void pixbuf_cache_cancel_all (PixbufCache* self) { + GeeHashMap* _tmp11_ = NULL; +#line 242 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 1324 "PixbufCache.c" + { + GeeIterator* _job_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = self->priv->in_progress; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = _tmp1_; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = _tmp2_; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = _tmp4_; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp3_); +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _job_it = _tmp5_; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + while (TRUE) { +#line 1351 "PixbufCache.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PixbufCacheFetchJob* job = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + PixbufCacheFetchJob* _tmp10_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = _job_it; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp7_) { +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1366 "PixbufCache.c" + } +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = _job_it; +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + job = (PixbufCacheFetchJob*) _tmp9_; +#line 247 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = job; +#line 247 "/home/jens/Source/shotwell/src/PixbufCache.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 1380 "PixbufCache.c" + } +#line 246 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_job_it); +#line 1384 "PixbufCache.c" + } +#line 249 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = self->priv->in_progress; +#line 249 "/home/jens/Source/shotwell/src/PixbufCache.vala" + gee_abstract_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); +#line 1390 "PixbufCache.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 253 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self ? background_job_ref (self) : NULL; +#line 1397 "PixbufCache.c" +} + + +static void pixbuf_cache_on_fetched (PixbufCache* self, BackgroundJob* j) { + PixbufCacheFetchJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + PixbufCacheFetchJob* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + PixbufCacheFetchJob* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + PixbufCacheFetchJob* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + PixbufCacheFetchJob* _tmp20_ = NULL; + Photo* _tmp21_ = NULL; + PixbufCacheFetchJob* _tmp22_ = NULL; + GdkPixbuf* _tmp23_ = NULL; + PixbufCacheFetchJob* _tmp24_ = NULL; + Photo* _tmp25_ = NULL; + PixbufCacheFetchJob* _tmp26_ = NULL; + GdkPixbuf* _tmp27_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 252 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 253 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = j; +#line 253 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)); +#line 253 "/home/jens/Source/shotwell/src/PixbufCache.vala" + job = _tmp1_; +#line 257 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = self->priv->in_progress; +#line 257 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = job; +#line 257 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = _tmp3_->photo; +#line 257 "/home/jens/Source/shotwell/src/PixbufCache.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, NULL); +#line 259 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = job; +#line 259 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = _tmp5_->err; +#line 259 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp6_ != NULL) { +#line 1442 "PixbufCache.c" + PixbufCacheFetchJob* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + PixbufCacheFetchJob* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PixbufCacheFetchJob* _tmp13_ = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + PixbufCacheFetchJob* _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + PixbufCacheFetchJob* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = job; +#line 260 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = _tmp7_->pixbuf; +#line 260 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp8_ == NULL, "job.pixbuf == null"); +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = job; +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = _tmp9_->photo; +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp12_ = _tmp11_; +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp13_ = job; +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp14_ = _tmp13_->err; +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp15_ = _tmp14_->message; +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_critical ("PixbufCache.vala:262: Unable to readahead %s: %s", _tmp12_, _tmp15_); +#line 262 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_free0 (_tmp12_); +#line 263 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp16_ = job; +#line 263 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp17_ = _tmp16_->photo; +#line 263 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp18_ = job; +#line 263 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp19_ = _tmp18_->err; +#line 263 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_emit_by_name (self, "fetched", _tmp17_, NULL, _tmp19_); +#line 265 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 265 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return; +#line 1494 "PixbufCache.c" + } +#line 272 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp20_ = job; +#line 272 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp21_ = _tmp20_->photo; +#line 272 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp22_ = job; +#line 272 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp23_ = _tmp22_->pixbuf; +#line 272 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_encache (self, _tmp21_, _tmp23_); +#line 275 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp24_ = job; +#line 275 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp25_ = _tmp24_->photo; +#line 275 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp26_ = job; +#line 275 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp27_ = _tmp26_->pixbuf; +#line 275 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_emit_by_name (self, "fetched", _tmp25_, _tmp27_, NULL); +#line 252 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 1518 "PixbufCache.c" +} + + +static void pixbuf_cache_on_sources_altered (PixbufCache* self, GeeMap* map) { +#line 278 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 278 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 1527 "PixbufCache.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = map; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = _tmp1_; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = _tmp2_; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = _tmp4_; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp3_); +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _object_it = _tmp5_; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + while (TRUE) { +#line 1554 "PixbufCache.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + Alteration* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + Photo* photo = NULL; + DataObject* _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + GeeHashMap* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + Photo* _tmp30_ = NULL; + Photo* _tmp31_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = _object_it; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp7_) { +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1582 "PixbufCache.c" + } +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = _object_it; +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + object = (DataObject*) _tmp9_; +#line 280 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = map; +#line 280 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = object; +#line 280 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 280 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp13_ = (Alteration*) _tmp12_; +#line 280 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp14_ = alteration_has_subject (_tmp13_, "image"); +#line 280 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp15_ = !_tmp14_; +#line 280 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _alteration_unref0 (_tmp13_); +#line 280 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp15_) { +#line 281 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (object); +#line 281 "/home/jens/Source/shotwell/src/PixbufCache.vala" + continue; +#line 1610 "PixbufCache.c" + } +#line 283 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp16_ = object; +#line 283 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PHOTO, Photo)); +#line 283 "/home/jens/Source/shotwell/src/PixbufCache.vala" + photo = _tmp17_; +#line 285 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp18_ = self->priv->in_progress; +#line 285 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp19_ = photo; +#line 285 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp20_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_); +#line 285 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp20_) { +#line 1626 "PixbufCache.c" + GeeHashMap* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; + PixbufCacheFetchJob* _tmp24_ = NULL; + GeeHashMap* _tmp25_ = NULL; + Photo* _tmp26_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp21_ = self->priv->in_progress; +#line 288 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp22_ = photo; +#line 288 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp23_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp22_); +#line 288 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp24_ = (PixbufCacheFetchJob*) _tmp23_; +#line 288 "/home/jens/Source/shotwell/src/PixbufCache.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 288 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (_tmp24_); +#line 289 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp25_ = self->priv->in_progress; +#line 289 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp26_ = photo; +#line 289 "/home/jens/Source/shotwell/src/PixbufCache.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp26_, NULL); +#line 1651 "PixbufCache.c" + } else { + GeeHashMap* _tmp27_ = NULL; + Photo* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 290 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp27_ = self->priv->cache; +#line 290 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp28_ = photo; +#line 290 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp29_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp28_); +#line 290 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp29_) { +#line 291 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (photo); +#line 291 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (object); +#line 291 "/home/jens/Source/shotwell/src/PixbufCache.vala" + continue; +#line 1670 "PixbufCache.c" + } + } +#line 294 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp30_ = photo; +#line 294 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_decache (self, _tmp30_); +#line 301 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp31_ = photo; +#line 301 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_prefetch (self, _tmp31_, BACKGROUND_JOB_JOB_PRIORITY_HIGH, FALSE); +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (photo); +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (object); +#line 1685 "PixbufCache.c" + } +#line 279 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_object_it); +#line 1689 "PixbufCache.c" + } +} + + +static void pixbuf_cache_on_sources_removed (PixbufCache* self, GeeIterable* removed) { +#line 305 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 305 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 1699 "PixbufCache.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = removed; +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _object_it = _tmp1_; +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + while (TRUE) { +#line 1712 "PixbufCache.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + Photo* photo = NULL; + DataObject* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = _object_it; +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp3_) { +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1731 "PixbufCache.c" + } +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = _object_it; +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + object = (DataObject*) _tmp5_; +#line 307 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = object; +#line 307 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_PHOTO) ? ((Photo*) _tmp6_) : NULL); +#line 307 "/home/jens/Source/shotwell/src/PixbufCache.vala" + photo = _tmp7_; +#line 308 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = photo; +#line 308 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp8_ != NULL, "photo != null"); +#line 310 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = photo; +#line 310 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_decache (self, _tmp9_); +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (photo); +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (object); +#line 1757 "PixbufCache.c" + } +#line 306 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_object_it); +#line 1761 "PixbufCache.c" + } +} + + +static GdkPixbuf* pixbuf_cache_get_cached (PixbufCache* self, Photo* photo) { + GdkPixbuf* result = NULL; + GdkPixbuf* pixbuf = NULL; + GeeHashMap* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 314 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PIXBUF_CACHE (self), NULL); +#line 314 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 315 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = self->priv->cache; +#line 315 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = photo; +#line 315 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 315 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf = (GdkPixbuf*) _tmp2_; +#line 316 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = pixbuf; +#line 316 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp3_ != NULL) { +#line 1789 "PixbufCache.c" + Photo* _tmp4_ = NULL; +#line 317 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = photo; +#line 317 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_prioritize (self, _tmp4_); +#line 1795 "PixbufCache.c" + } +#line 319 "/home/jens/Source/shotwell/src/PixbufCache.vala" + result = pixbuf; +#line 319 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 1801 "PixbufCache.c" +} + + +static void pixbuf_cache_prioritize (PixbufCache* self, Photo* photo) { + gint index = 0; + GeeArrayList* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 323 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 323 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 324 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = self->priv->lru; +#line 324 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = photo; +#line 324 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = gee_abstract_list_index_of (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp1_); +#line 324 "/home/jens/Source/shotwell/src/PixbufCache.vala" + index = _tmp2_; +#line 325 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = index; +#line 325 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp3_ >= 0, "index >= 0"); +#line 327 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = index; +#line 327 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp4_ > 0) { +#line 1832 "PixbufCache.c" + GeeArrayList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gpointer _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + GeeArrayList* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; +#line 328 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = self->priv->lru; +#line 328 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = index; +#line 328 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = gee_abstract_list_remove_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp6_); +#line 328 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = (Photo*) _tmp7_; +#line 328 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp8_); +#line 329 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = self->priv->lru; +#line 329 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = photo; +#line 329 "/home/jens/Source/shotwell/src/PixbufCache.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0, _tmp10_); +#line 1855 "PixbufCache.c" + } +} + + +static void pixbuf_cache_encache (PixbufCache* self, Photo* photo, GdkPixbuf* pixbuf) { + Photo* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + GeeArrayList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + GeeHashMap* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 333 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 333 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 333 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 335 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = photo; +#line 335 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_decache (self, _tmp0_); +#line 337 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = self->priv->cache; +#line 337 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = photo; +#line 337 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = pixbuf; +#line 337 "/home/jens/Source/shotwell/src/PixbufCache.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, _tmp3_); +#line 338 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = self->priv->lru; +#line 338 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = photo; +#line 338 "/home/jens/Source/shotwell/src/PixbufCache.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0, _tmp5_); +#line 340 "/home/jens/Source/shotwell/src/PixbufCache.vala" + while (TRUE) { +#line 1899 "PixbufCache.c" + GeeArrayList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + Photo* cached_photo = NULL; + GeeArrayList* _tmp10_ = NULL; + GeeArrayList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 340 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = self->priv->lru; +#line 340 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 340 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = _tmp7_; +#line 340 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = self->priv->max_count; +#line 340 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!(_tmp8_ > _tmp9_)) { +#line 340 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 1928 "PixbufCache.c" + } +#line 341 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = self->priv->lru; +#line 341 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = self->priv->lru; +#line 341 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp12_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 341 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp13_ = _tmp12_; +#line 341 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp14_ = gee_abstract_list_remove_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp13_ - 1); +#line 341 "/home/jens/Source/shotwell/src/PixbufCache.vala" + cached_photo = (Photo*) _tmp14_; +#line 342 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp15_ = cached_photo; +#line 342 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp15_ != NULL, "cached_photo != null"); +#line 344 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp16_ = self->priv->cache; +#line 344 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp17_ = cached_photo; +#line 344 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp18_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp17_, NULL); +#line 344 "/home/jens/Source/shotwell/src/PixbufCache.vala" + removed = _tmp18_; +#line 345 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp19_ = removed; +#line 345 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp19_, "removed"); +#line 340 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (cached_photo); +#line 1960 "PixbufCache.c" + } +#line 348 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp20_ = self->priv->lru; +#line 348 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp21_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 348 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp22_ = _tmp21_; +#line 348 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp23_ = self->priv->cache; +#line 348 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp24_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_MAP, GeeMap)); +#line 348 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp25_ = _tmp24_; +#line 348 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp22_ == _tmp25_, "lru.size == cache.size"); +#line 1976 "PixbufCache.c" +} + + +static void pixbuf_cache_decache (PixbufCache* self, Photo* photo) { + GeeHashMap* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean removed = FALSE; + GeeArrayList* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 351 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PIXBUF_CACHE (self)); +#line 351 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 352 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = self->priv->cache; +#line 352 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = photo; +#line 352 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, NULL); +#line 352 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp2_) { +#line 2001 "PixbufCache.c" + GeeArrayList* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 353 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = self->priv->lru; +#line 353 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = photo; +#line 353 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 353 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (!_tmp5_, "!lru.contains(photo)"); +#line 355 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return; +#line 2015 "PixbufCache.c" + } +#line 358 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = self->priv->lru; +#line 358 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = photo; +#line 358 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp7_); +#line 358 "/home/jens/Source/shotwell/src/PixbufCache.vala" + removed = _tmp8_; +#line 359 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = removed; +#line 359 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _vala_assert (_tmp9_, "removed"); +#line 2029 "PixbufCache.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_POINTER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_POINTER) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT_POINTER callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_if_fail (n_param_values == 4); +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + data1 = closure->data; +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + data2 = param_values->data[0].v_pointer; +#line 2048 "PixbufCache.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + data1 = param_values->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + data2 = closure->data; +#line 2054 "PixbufCache.c" + } +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT_POINTER) (marshal_data ? marshal_data : cc->callback); +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_pointer (param_values + 3), data2); +#line 2060 "PixbufCache.c" +} + + +static gint _background_job_job_priority_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = background_job_job_priority_compare_func (a, b); +#line 17 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 2069 "PixbufCache.c" +} + + +PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_construct (GType object_type) { + PixbufCachePixbufCacheBatch * self = NULL; +#line 17 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = (PixbufCachePixbufCacheBatch*) gee_tree_multi_map_construct (object_type, BACKGROUND_JOB_TYPE_JOB_PRIORITY, NULL, NULL, TYPE_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _background_job_job_priority_compare_func_gcompare_data_func, NULL, NULL, NULL, NULL, NULL); +#line 16 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self; +#line 2079 "PixbufCache.c" +} + + +PixbufCachePixbufCacheBatch* pixbuf_cache_pixbuf_cache_batch_new (void) { +#line 16 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return pixbuf_cache_pixbuf_cache_batch_construct (PIXBUF_CACHE_TYPE_PIXBUF_CACHE_BATCH); +#line 2086 "PixbufCache.c" +} + + +static void pixbuf_cache_pixbuf_cache_batch_class_init (PixbufCachePixbufCacheBatchClass * klass) { +#line 15 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_pixbuf_cache_batch_parent_class = g_type_class_peek_parent (klass); +#line 2093 "PixbufCache.c" +} + + +static void pixbuf_cache_pixbuf_cache_batch_instance_init (PixbufCachePixbufCacheBatch * self) { +} + + +GType pixbuf_cache_pixbuf_cache_batch_get_type (void) { + static volatile gsize pixbuf_cache_pixbuf_cache_batch_type_id__volatile = 0; + if (g_once_init_enter (&pixbuf_cache_pixbuf_cache_batch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PixbufCachePixbufCacheBatchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixbuf_cache_pixbuf_cache_batch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixbufCachePixbufCacheBatch), 0, (GInstanceInitFunc) pixbuf_cache_pixbuf_cache_batch_instance_init, NULL }; + GType pixbuf_cache_pixbuf_cache_batch_type_id; + pixbuf_cache_pixbuf_cache_batch_type_id = g_type_register_static (GEE_TYPE_TREE_MULTI_MAP, "PixbufCachePixbufCacheBatch", &g_define_type_info, 0); + g_once_init_leave (&pixbuf_cache_pixbuf_cache_batch_type_id__volatile, pixbuf_cache_pixbuf_cache_batch_type_id); + } + return pixbuf_cache_pixbuf_cache_batch_type_id__volatile; +} + + +static PixbufCacheFetchJob* pixbuf_cache_fetch_job_construct (GType object_type, PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target) { + PixbufCacheFetchJob* self = NULL; + PixbufCache* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GCancellable* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + Semaphore* _tmp4_ = NULL; + Semaphore* _tmp5_ = NULL; + BackgroundJobJobPriority _tmp6_ = 0; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Scaling _tmp9_ = {0}; +#line 28 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PIXBUF_CACHE (owner), NULL); +#line 28 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 28 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = owner; +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = callback; +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1__target = callback_target; +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = g_cancellable_new (); +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = _tmp2_; +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = semaphore_new (); +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = _tmp4_; +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = (PixbufCacheFetchJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, _tmp3_, NULL, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)); +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _abstract_semaphore_unref0 (_tmp5_); +#line 30 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp3_); +#line 32 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = priority; +#line 32 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priority = _tmp6_; +#line 33 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = photo; +#line 33 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 33 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (self->photo); +#line 33 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->photo = _tmp8_; +#line 34 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = *scaling; +#line 34 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->scaling = _tmp9_; +#line 28 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self; +#line 2170 "PixbufCache.c" +} + + +static BackgroundJobJobPriority pixbuf_cache_fetch_job_real_get_priority (BackgroundJob* base) { + PixbufCacheFetchJob * self; + BackgroundJobJobPriority result = 0; + BackgroundJobJobPriority _tmp0_ = 0; +#line 37 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob); +#line 38 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = self->priority; +#line 38 "/home/jens/Source/shotwell/src/PixbufCache.vala" + result = _tmp0_; +#line 38 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return result; +#line 2186 "PixbufCache.c" +} + + +static void pixbuf_cache_fetch_job_class_init (PixbufCacheFetchJobClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_fetch_job_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/PixbufCache.vala" + ((BackgroundJobClass *) klass)->finalize = pixbuf_cache_fetch_job_finalize; +#line 21 "/home/jens/Source/shotwell/src/PixbufCache.vala" + ((BackgroundJobClass *) klass)->get_priority = pixbuf_cache_fetch_job_real_get_priority; +#line 2197 "PixbufCache.c" +} + + +static void pixbuf_cache_fetch_job_instance_init (PixbufCacheFetchJob * self) { +#line 25 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->pixbuf = NULL; +#line 26 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->err = NULL; +#line 2206 "PixbufCache.c" +} + + +static void pixbuf_cache_fetch_job_finalize (BackgroundJob* obj) { + PixbufCacheFetchJob * self; +#line 21 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob); +#line 23 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (self->photo); +#line 25 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (self->pixbuf); +#line 26 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_error_free0 (self->err); +#line 21 "/home/jens/Source/shotwell/src/PixbufCache.vala" + BACKGROUND_JOB_CLASS (pixbuf_cache_fetch_job_parent_class)->finalize (obj); +#line 2222 "PixbufCache.c" +} + + +static GType pixbuf_cache_fetch_job_get_type (void) { + static volatile gsize pixbuf_cache_fetch_job_type_id__volatile = 0; + if (g_once_init_enter (&pixbuf_cache_fetch_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PixbufCacheFetchJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixbuf_cache_fetch_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixbufCacheFetchJob), 0, (GInstanceInitFunc) pixbuf_cache_fetch_job_instance_init, NULL }; + GType pixbuf_cache_fetch_job_type_id; + pixbuf_cache_fetch_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "PixbufCacheFetchJob", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&pixbuf_cache_fetch_job_type_id__volatile, pixbuf_cache_fetch_job_type_id); + } + return pixbuf_cache_fetch_job_type_id__volatile; +} + + +static PixbufCacheBaselineFetchJob* pixbuf_cache_baseline_fetch_job_construct (GType object_type, PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target) { + PixbufCacheBaselineFetchJob* self = NULL; + PixbufCache* _tmp0_ = NULL; + BackgroundJobJobPriority _tmp1_ = 0; + Photo* _tmp2_ = NULL; + Scaling _tmp3_ = {0}; + CompletionCallback _tmp4_ = NULL; + void* _tmp4__target = NULL; +#line 43 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PIXBUF_CACHE (owner), NULL); +#line 43 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 43 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 45 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = owner; +#line 45 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = priority; +#line 45 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = photo; +#line 45 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = *scaling; +#line 45 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = callback; +#line 45 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4__target = callback_target; +#line 45 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = (PixbufCacheBaselineFetchJob*) pixbuf_cache_fetch_job_construct (object_type, _tmp0_, _tmp1_, _tmp2_, &_tmp3_, _tmp4_, _tmp4__target); +#line 43 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self; +#line 2268 "PixbufCache.c" +} + + +static PixbufCacheBaselineFetchJob* pixbuf_cache_baseline_fetch_job_new (PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target) { +#line 43 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return pixbuf_cache_baseline_fetch_job_construct (PIXBUF_CACHE_TYPE_BASELINE_FETCH_JOB, owner, priority, photo, scaling, callback, callback_target); +#line 2275 "PixbufCache.c" +} + + +static void pixbuf_cache_baseline_fetch_job_real_execute (BackgroundJob* base) { + PixbufCacheBaselineFetchJob * self; + GError * _inner_error_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PIXBUF_CACHE_TYPE_BASELINE_FETCH_JOB, PixbufCacheBaselineFetchJob); +#line 2284 "PixbufCache.c" + { + GdkPixbuf* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Scaling _tmp2_ = {0}; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->photo; +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->scaling; +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp2_, &_inner_error_); +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = _tmp3_; +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2301 "PixbufCache.c" + goto __catch442_g_error; + } +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = _tmp0_; +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->pixbuf); +#line 50 "/home/jens/Source/shotwell/src/PixbufCache.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->pixbuf = _tmp4_; +#line 49 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp0_); +#line 2314 "PixbufCache.c" + } + goto __finally442; + __catch442_g_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/PixbufCache.vala" + err = _inner_error_; +#line 49 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _inner_error_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = err; +#line 52 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = _g_error_copy0 (_tmp5_); +#line 52 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_error_free0 (G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->err); +#line 52 "/home/jens/Source/shotwell/src/PixbufCache.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->err = _tmp6_; +#line 49 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_error_free0 (err); +#line 2336 "PixbufCache.c" + } + __finally442: +#line 49 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 49 "/home/jens/Source/shotwell/src/PixbufCache.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 49 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_clear_error (&_inner_error_); +#line 49 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return; +#line 2347 "PixbufCache.c" + } +} + + +static void pixbuf_cache_baseline_fetch_job_class_init (PixbufCacheBaselineFetchJobClass * klass) { +#line 42 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_baseline_fetch_job_parent_class = g_type_class_peek_parent (klass); +#line 42 "/home/jens/Source/shotwell/src/PixbufCache.vala" + ((BackgroundJobClass *) klass)->execute = pixbuf_cache_baseline_fetch_job_real_execute; +#line 2357 "PixbufCache.c" +} + + +static void pixbuf_cache_baseline_fetch_job_instance_init (PixbufCacheBaselineFetchJob * self) { +} + + +static GType pixbuf_cache_baseline_fetch_job_get_type (void) { + static volatile gsize pixbuf_cache_baseline_fetch_job_type_id__volatile = 0; + if (g_once_init_enter (&pixbuf_cache_baseline_fetch_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PixbufCacheBaselineFetchJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixbuf_cache_baseline_fetch_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixbufCacheBaselineFetchJob), 0, (GInstanceInitFunc) pixbuf_cache_baseline_fetch_job_instance_init, NULL }; + GType pixbuf_cache_baseline_fetch_job_type_id; + pixbuf_cache_baseline_fetch_job_type_id = g_type_register_static (PIXBUF_CACHE_TYPE_FETCH_JOB, "PixbufCacheBaselineFetchJob", &g_define_type_info, 0); + g_once_init_leave (&pixbuf_cache_baseline_fetch_job_type_id__volatile, pixbuf_cache_baseline_fetch_job_type_id); + } + return pixbuf_cache_baseline_fetch_job_type_id__volatile; +} + + +static PixbufCacheMasterFetchJob* pixbuf_cache_master_fetch_job_construct (GType object_type, PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target) { + PixbufCacheMasterFetchJob* self = NULL; + PixbufCache* _tmp0_ = NULL; + BackgroundJobJobPriority _tmp1_ = 0; + Photo* _tmp2_ = NULL; + Scaling _tmp3_ = {0}; + CompletionCallback _tmp4_ = NULL; + void* _tmp4__target = NULL; +#line 58 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PIXBUF_CACHE (owner), NULL); +#line 58 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 58 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 60 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = owner; +#line 60 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = priority; +#line 60 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = photo; +#line 60 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = *scaling; +#line 60 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = callback; +#line 60 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4__target = callback_target; +#line 60 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = (PixbufCacheMasterFetchJob*) pixbuf_cache_fetch_job_construct (object_type, _tmp0_, _tmp1_, _tmp2_, &_tmp3_, _tmp4_, _tmp4__target); +#line 58 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return self; +#line 2407 "PixbufCache.c" +} + + +static PixbufCacheMasterFetchJob* pixbuf_cache_master_fetch_job_new (PixbufCache* owner, BackgroundJobJobPriority priority, Photo* photo, Scaling* scaling, CompletionCallback callback, void* callback_target) { +#line 58 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return pixbuf_cache_master_fetch_job_construct (PIXBUF_CACHE_TYPE_MASTER_FETCH_JOB, owner, priority, photo, scaling, callback, callback_target); +#line 2414 "PixbufCache.c" +} + + +static void pixbuf_cache_master_fetch_job_real_execute (BackgroundJob* base) { + PixbufCacheMasterFetchJob * self; + GError * _inner_error_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PIXBUF_CACHE_TYPE_MASTER_FETCH_JOB, PixbufCacheMasterFetchJob); +#line 2423 "PixbufCache.c" + { + GdkPixbuf* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Scaling _tmp2_ = {0}; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->photo; +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->scaling; +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = photo_get_master_pixbuf (_tmp1_, &_tmp2_, TRUE, &_inner_error_); +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = _tmp3_; +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2440 "PixbufCache.c" + goto __catch443_g_error; + } +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp4_ = _tmp0_; +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->pixbuf); +#line 65 "/home/jens/Source/shotwell/src/PixbufCache.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->pixbuf = _tmp4_; +#line 64 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp0_); +#line 2453 "PixbufCache.c" + } + goto __finally443; + __catch443_g_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/PixbufCache.vala" + err = _inner_error_; +#line 64 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _inner_error_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = err; +#line 67 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = _g_error_copy0 (_tmp5_); +#line 67 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_error_free0 (G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->err); +#line 67 "/home/jens/Source/shotwell/src/PixbufCache.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PIXBUF_CACHE_TYPE_FETCH_JOB, PixbufCacheFetchJob)->err = _tmp6_; +#line 64 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_error_free0 (err); +#line 2475 "PixbufCache.c" + } + __finally443: +#line 64 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 64 "/home/jens/Source/shotwell/src/PixbufCache.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 64 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_clear_error (&_inner_error_); +#line 64 "/home/jens/Source/shotwell/src/PixbufCache.vala" + return; +#line 2486 "PixbufCache.c" + } +} + + +static void pixbuf_cache_master_fetch_job_class_init (PixbufCacheMasterFetchJobClass * klass) { +#line 57 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_master_fetch_job_parent_class = g_type_class_peek_parent (klass); +#line 57 "/home/jens/Source/shotwell/src/PixbufCache.vala" + ((BackgroundJobClass *) klass)->execute = pixbuf_cache_master_fetch_job_real_execute; +#line 2496 "PixbufCache.c" +} + + +static void pixbuf_cache_master_fetch_job_instance_init (PixbufCacheMasterFetchJob * self) { +} + + +static GType pixbuf_cache_master_fetch_job_get_type (void) { + static volatile gsize pixbuf_cache_master_fetch_job_type_id__volatile = 0; + if (g_once_init_enter (&pixbuf_cache_master_fetch_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PixbufCacheMasterFetchJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixbuf_cache_master_fetch_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixbufCacheMasterFetchJob), 0, (GInstanceInitFunc) pixbuf_cache_master_fetch_job_instance_init, NULL }; + GType pixbuf_cache_master_fetch_job_type_id; + pixbuf_cache_master_fetch_job_type_id = g_type_register_static (PIXBUF_CACHE_TYPE_FETCH_JOB, "PixbufCacheMasterFetchJob", &g_define_type_info, 0); + g_once_init_leave (&pixbuf_cache_master_fetch_job_type_id__volatile, pixbuf_cache_master_fetch_job_type_id); + } + return pixbuf_cache_master_fetch_job_type_id__volatile; +} + + +static void pixbuf_cache_class_init (PixbufCacheClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + pixbuf_cache_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_type_class_add_private (klass, sizeof (PixbufCachePrivate)); +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + G_OBJECT_CLASS (klass)->finalize = pixbuf_cache_finalize; +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_new ("fetched", TYPE_PIXBUF_CACHE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_POINTER, G_TYPE_NONE, 3, TYPE_PHOTO, GDK_TYPE_PIXBUF, G_TYPE_POINTER); +#line 2525 "PixbufCache.c" +} + + +static void pixbuf_cache_instance_init (PixbufCache * self) { + GeeHashMap* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv = PIXBUF_CACHE_GET_PRIVATE (self); +#line 79 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = gee_hash_map_new (TYPE_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, GDK_TYPE_PIXBUF, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 79 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->cache = _tmp0_; +#line 80 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = gee_array_list_new (TYPE_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 80 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->lru = _tmp1_; +#line 81 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp2_ = gee_hash_map_new (TYPE_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, PIXBUF_CACHE_TYPE_FETCH_JOB, (GBoxedCopyFunc) background_job_ref, background_job_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 81 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self->priv->in_progress = _tmp2_; +#line 2547 "PixbufCache.c" +} + + +static void pixbuf_cache_finalize (GObject* obj) { + PixbufCache * self; + PixbufCachePhotoType _tmp0_ = 0; + SourceCollection* _tmp3_ = NULL; + guint _tmp4_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PIXBUF_CACHE, PixbufCache); +#line 110 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp0_ = self->priv->type; +#line 110 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (_tmp0_ != PIXBUF_CACHE_PHOTO_TYPE_MASTER) { +#line 2562 "PixbufCache.c" + SourceCollection* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 111 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp1_ = self->priv->sources; +#line 111 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp2_, NULL, FALSE); +#line 111 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _pixbuf_cache_on_sources_altered_data_collection_items_altered, self); +#line 2571 "PixbufCache.c" + } +#line 112 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp3_ = self->priv->sources; +#line 112 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_parse_name ("items-removed", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE); +#line 112 "/home/jens/Source/shotwell/src/PixbufCache.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _pixbuf_cache_on_sources_removed_data_collection_items_removed, self); +#line 2579 "PixbufCache.c" + { + GeeIterator* _job_it = NULL; + GeeHashMap* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp5_ = self->priv->in_progress; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp6_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_MAP, GeeMap)); +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp7_ = _tmp6_; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp8_ = _tmp7_; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp10_ = _tmp9_; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_tmp8_); +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _job_it = _tmp10_; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + while (TRUE) { +#line 2606 "PixbufCache.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + PixbufCacheFetchJob* job = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + PixbufCacheFetchJob* _tmp15_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp11_ = _job_it; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + if (!_tmp12_) { +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + break; +#line 2621 "PixbufCache.c" + } +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp13_ = _job_it; +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + job = (PixbufCacheFetchJob*) _tmp14_; +#line 115 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _tmp15_ = job; +#line 115 "/home/jens/Source/shotwell/src/PixbufCache.vala" + background_job_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _background_job_unref0 (job); +#line 2635 "PixbufCache.c" + } +#line 114 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (_job_it); +#line 2639 "PixbufCache.c" + } +#line 74 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _data_collection_unref0 (self->priv->sources); +#line 79 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (self->priv->cache); +#line 80 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (self->priv->lru); +#line 81 "/home/jens/Source/shotwell/src/PixbufCache.vala" + _g_object_unref0 (self->priv->in_progress); +#line 7 "/home/jens/Source/shotwell/src/PixbufCache.vala" + G_OBJECT_CLASS (pixbuf_cache_parent_class)->finalize (obj); +#line 2651 "PixbufCache.c" +} + + +GType pixbuf_cache_get_type (void) { + static volatile gsize pixbuf_cache_type_id__volatile = 0; + if (g_once_init_enter (&pixbuf_cache_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PixbufCacheClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pixbuf_cache_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PixbufCache), 0, (GInstanceInitFunc) pixbuf_cache_instance_init, NULL }; + GType pixbuf_cache_type_id; + pixbuf_cache_type_id = g_type_register_static (G_TYPE_OBJECT, "PixbufCache", &g_define_type_info, 0); + g_once_init_leave (&pixbuf_cache_type_id__volatile, pixbuf_cache_type_id); + } + return pixbuf_cache_type_id__volatile; +} + + + diff --git a/src/Printing.c b/src/Printing.c new file mode 100644 index 0000000..4a61b49 --- /dev/null +++ b/src/Printing.c @@ -0,0 +1,8706 @@ +/* Printing.c generated by valac 0.32.1, the Vala compiler + * generated from Printing.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_CONTENT_LAYOUT (content_layout_get_type ()) + +#define TYPE_PRINT_SETTINGS (print_settings_get_type ()) +#define PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_SETTINGS, PrintSettings)) +#define PRINT_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_SETTINGS, PrintSettingsClass)) +#define IS_PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_SETTINGS)) +#define IS_PRINT_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_SETTINGS)) +#define PRINT_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_SETTINGS, PrintSettingsClass)) + +typedef struct _PrintSettings PrintSettings; +typedef struct _PrintSettingsClass PrintSettingsClass; +typedef struct _PrintSettingsPrivate PrintSettingsPrivate; + +#define TYPE_MEASUREMENT (measurement_get_type ()) + +#define TYPE_MEASUREMENT_UNIT (measurement_unit_get_type ()) +typedef struct _Measurement Measurement; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_PRINT_MANAGER (print_manager_get_type ()) +#define PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_MANAGER, PrintManager)) +#define PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_MANAGER, PrintManagerClass)) +#define IS_PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_MANAGER)) +#define IS_PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_MANAGER)) +#define PRINT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_MANAGER, PrintManagerClass)) + +typedef struct _PrintManager PrintManager; +typedef struct _PrintManagerClass PrintManagerClass; + +#define TYPE_STANDARD_PRINT_SIZE (standard_print_size_get_type ()) +#define STANDARD_PRINT_SIZE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_STANDARD_PRINT_SIZE, StandardPrintSize)) +#define STANDARD_PRINT_SIZE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_STANDARD_PRINT_SIZE, StandardPrintSizeClass)) +#define IS_STANDARD_PRINT_SIZE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_STANDARD_PRINT_SIZE)) +#define IS_STANDARD_PRINT_SIZE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_STANDARD_PRINT_SIZE)) +#define STANDARD_PRINT_SIZE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_STANDARD_PRINT_SIZE, StandardPrintSizeClass)) + +typedef struct _StandardPrintSize StandardPrintSize; +typedef struct _StandardPrintSizeClass StandardPrintSizeClass; +typedef struct _StandardPrintSizePrivate StandardPrintSizePrivate; +#define _print_manager_unref0(var) ((var == NULL) ? NULL : (var = (print_manager_unref (var), NULL))) +typedef struct _ParamSpecPrintSettings ParamSpecPrintSettings; + +#define TYPE_PRINT_LAYOUT (print_layout_get_type ()) + +#define TYPE_CUSTOM_PRINT_TAB (custom_print_tab_get_type ()) +#define CUSTOM_PRINT_TAB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CUSTOM_PRINT_TAB, CustomPrintTab)) +#define CUSTOM_PRINT_TAB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CUSTOM_PRINT_TAB, CustomPrintTabClass)) +#define IS_CUSTOM_PRINT_TAB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CUSTOM_PRINT_TAB)) +#define IS_CUSTOM_PRINT_TAB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CUSTOM_PRINT_TAB)) +#define CUSTOM_PRINT_TAB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CUSTOM_PRINT_TAB, CustomPrintTabClass)) + +typedef struct _CustomPrintTab CustomPrintTab; +typedef struct _CustomPrintTabClass CustomPrintTabClass; +typedef struct _CustomPrintTabPrivate CustomPrintTabPrivate; + +#define TYPE_PRINT_JOB (print_job_get_type ()) +#define PRINT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_JOB, PrintJob)) +#define PRINT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_JOB, PrintJobClass)) +#define IS_PRINT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_JOB)) +#define IS_PRINT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_JOB)) +#define PRINT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_JOB, PrintJobClass)) + +typedef struct _PrintJob PrintJob; +typedef struct _PrintJobClass PrintJobClass; +#define _standard_print_size_unref0(var) ((var == NULL) ? NULL : (var = (standard_print_size_unref (var), NULL))) +#define _print_settings_unref0(var) ((var == NULL) ? NULL : (var = (print_settings_unref (var), NULL))) +typedef struct _PrintJobPrivate PrintJobPrivate; + +#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 PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _ParamSpecStandardPrintSize ParamSpecStandardPrintSize; +typedef struct _PrintManagerPrivate PrintManagerPrivate; + +#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_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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; +#define __vala_PangoFontDescription_free0(var) ((var == NULL) ? NULL : (var = (_vala_PangoFontDescription_free (var), NULL))) +typedef struct _ParamSpecPrintManager ParamSpecPrintManager; +#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); + +typedef enum { + CONTENT_LAYOUT_STANDARD_SIZE, + CONTENT_LAYOUT_CUSTOM_SIZE, + CONTENT_LAYOUT_IMAGE_PER_PAGE +} ContentLayout; + +struct _PrintSettings { + GTypeInstance parent_instance; + volatile int ref_count; + PrintSettingsPrivate * priv; +}; + +struct _PrintSettingsClass { + GTypeClass parent_class; + void (*finalize) (PrintSettings *self); +}; + +typedef enum { + MEASUREMENT_UNIT_INCHES, + MEASUREMENT_UNIT_CENTIMETERS +} MeasurementUnit; + +struct _Measurement { + gdouble value; + MeasurementUnit unit; +}; + +struct _PrintSettingsPrivate { + ContentLayout content_layout; + Measurement content_width; + Measurement content_height; + gint content_ppi; + gint image_per_page_selection; + gint size_selection; + gboolean match_aspect_ratio; + gboolean print_titles; + gchar* print_titles_font; +}; + +struct _StandardPrintSize { + GTypeInstance parent_instance; + volatile int ref_count; + StandardPrintSizePrivate * priv; + gchar* name; + Measurement width; + Measurement height; +}; + +struct _StandardPrintSizeClass { + GTypeClass parent_class; + void (*finalize) (StandardPrintSize *self); +}; + +struct _ParamSpecPrintSettings { + GParamSpec parent_instance; +}; + +typedef enum { + PRINT_LAYOUT_ENTIRE_PAGE, + PRINT_LAYOUT_TWO_PER_PAGE, + PRINT_LAYOUT_FOUR_PER_PAGE, + PRINT_LAYOUT_SIX_PER_PAGE, + PRINT_LAYOUT_EIGHT_PER_PAGE, + PRINT_LAYOUT_SIXTEEN_PER_PAGE, + PRINT_LAYOUT_THIRTY_TWO_PER_PAGE +} PrintLayout; + +struct _CustomPrintTab { + GtkFixed parent_instance; + CustomPrintTabPrivate * priv; +}; + +struct _CustomPrintTabClass { + GtkFixedClass parent_class; +}; + +struct _CustomPrintTabPrivate { + GtkBox* custom_image_settings_pane; + GtkRadioButton* standard_size_radio; + GtkRadioButton* custom_size_radio; + GtkRadioButton* image_per_page_radio; + GtkComboBox* image_per_page_combo; + GtkComboBox* standard_sizes_combo; + GtkComboBoxText* units_combo; + GtkEntry* custom_width_entry; + GtkEntry* custom_height_entry; + GtkEntry* ppi_entry; + GtkCheckButton* aspect_ratio_check; + GtkCheckButton* title_print_check; + GtkFontButton* title_print_font; + Measurement local_content_width; + Measurement local_content_height; + gint local_content_ppi; + gboolean is_text_insertion_in_progress; + PrintJob* source_job; +}; + +struct _PrintJob { + GtkPrintOperation parent_instance; + PrintJobPrivate * priv; +}; + +struct _PrintJobClass { + GtkPrintOperationClass parent_class; +}; + +struct _PrintJobPrivate { + PrintSettings* settings; + GeeArrayList* photos; +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _ParamSpecStandardPrintSize { + GParamSpec parent_instance; +}; + +struct _PrintManager { + GTypeInstance parent_instance; + volatile int ref_count; + PrintManagerPrivate * priv; +}; + +struct _PrintManagerClass { + GTypeClass parent_class; + void (*finalize) (PrintManager *self); +}; + +struct _PrintManagerPrivate { + PrintSettings* settings; + GtkPageSetup* user_page_setup; + CustomPrintTab* custom_tab; + ProgressDialog* progress_dialog; + GCancellable* cancellable; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _ParamSpecPrintManager { + GParamSpec parent_instance; +}; + + +static gpointer print_settings_parent_class = NULL; +static gpointer custom_print_tab_parent_class = NULL; +static gpointer print_job_parent_class = NULL; +static gpointer standard_print_size_parent_class = NULL; +static gpointer print_manager_parent_class = NULL; +static PrintManager* print_manager_instance; +static PrintManager* print_manager_instance = NULL; + +GType content_layout_get_type (void) G_GNUC_CONST; +gpointer print_settings_ref (gpointer instance); +void print_settings_unref (gpointer instance); +GParamSpec* param_spec_print_settings (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_print_settings (GValue* value, gpointer v_object); +void value_take_print_settings (GValue* value, gpointer v_object); +gpointer value_get_print_settings (const GValue* value); +GType print_settings_get_type (void) G_GNUC_CONST; +GType measurement_get_type (void) G_GNUC_CONST; +GType measurement_unit_get_type (void) G_GNUC_CONST; +Measurement* measurement_dup (const Measurement* self); +void measurement_free (Measurement* self); +#define PRINT_SETTINGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PRINT_SETTINGS, PrintSettingsPrivate)) +enum { + PRINT_SETTINGS_DUMMY_PROPERTY +}; +#define PRINT_SETTINGS_MIN_CONTENT_PPI 72 +#define PRINT_SETTINGS_MAX_CONTENT_PPI 1200 +PrintSettings* print_settings_new (void); +PrintSettings* print_settings_construct (GType object_type); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gint configuration_facade_get_printing_content_units (ConfigurationFacade* self); +gdouble configuration_facade_get_printing_content_width (ConfigurationFacade* self); +void measurement_init (Measurement *self, gdouble value, MeasurementUnit unit); +gdouble configuration_facade_get_printing_content_height (ConfigurationFacade* self); +gint configuration_facade_get_printing_size_selection (ConfigurationFacade* self); +gint configuration_facade_get_printing_content_layout (ConfigurationFacade* self); +gboolean configuration_facade_get_printing_match_aspect_ratio (ConfigurationFacade* self); +gboolean configuration_facade_get_printing_print_titles (ConfigurationFacade* self); +gchar* configuration_facade_get_printing_titles_font (ConfigurationFacade* self); +gint configuration_facade_get_printing_images_per_page (ConfigurationFacade* self); +gint configuration_facade_get_printing_content_ppi (ConfigurationFacade* self); +void print_settings_save (PrintSettings* self); +void configuration_facade_set_printing_content_units (ConfigurationFacade* self, gint units_code); +void configuration_facade_set_printing_content_width (ConfigurationFacade* self, gdouble content_width); +void configuration_facade_set_printing_content_height (ConfigurationFacade* self, gdouble content_height); +void configuration_facade_set_printing_size_selection (ConfigurationFacade* self, gint size_code); +void configuration_facade_set_printing_content_layout (ConfigurationFacade* self, gint layout_code); +void configuration_facade_set_printing_match_aspect_ratio (ConfigurationFacade* self, gboolean match_aspect_ratio); +void configuration_facade_set_printing_print_titles (ConfigurationFacade* self, gboolean print_titles); +void configuration_facade_set_printing_titles_font (ConfigurationFacade* self, const gchar* font_name); +void configuration_facade_set_printing_images_per_page (ConfigurationFacade* self, gint images_per_page_code); +void configuration_facade_set_printing_content_ppi (ConfigurationFacade* self, gint content_ppi); +void print_settings_get_content_width (PrintSettings* self, Measurement* result); +ContentLayout print_settings_get_content_layout (PrintSettings* self); +gpointer print_manager_ref (gpointer instance); +void print_manager_unref (gpointer instance); +GParamSpec* param_spec_print_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_print_manager (GValue* value, gpointer v_object); +void value_take_print_manager (GValue* value, gpointer v_object); +gpointer value_get_print_manager (const GValue* value); +GType print_manager_get_type (void) G_GNUC_CONST; +PrintManager* print_manager_get_instance (void); +gpointer standard_print_size_ref (gpointer instance); +void standard_print_size_unref (gpointer instance); +GParamSpec* param_spec_standard_print_size (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_standard_print_size (GValue* value, gpointer v_object); +void value_take_standard_print_size (GValue* value, gpointer v_object); +gpointer value_get_standard_print_size (const GValue* value); +GType standard_print_size_get_type (void) G_GNUC_CONST; +StandardPrintSize** print_manager_get_standard_sizes (PrintManager* self, int* result_length1); +gint print_settings_get_size_selection (PrintSettings* self); +void print_settings_get_content_height (PrintSettings* self, Measurement* result); +void print_settings_get_minimum_content_dimension (PrintSettings* self, Measurement* result); +void print_settings_get_maximum_content_dimension (PrintSettings* self, Measurement* result); +gboolean print_settings_is_match_aspect_ratio_enabled (PrintSettings* self); +gboolean print_settings_is_print_titles_enabled (PrintSettings* self); +gint print_settings_get_content_ppi (PrintSettings* self); +gint print_settings_get_image_per_page_selection (PrintSettings* self); +void print_settings_set_content_layout (PrintSettings* self, ContentLayout content_layout); +void print_settings_set_content_width (PrintSettings* self, Measurement* content_width); +void print_settings_set_content_height (PrintSettings* self, Measurement* content_height); +void print_settings_set_content_ppi (PrintSettings* self, gint content_ppi); +void print_settings_set_image_per_page_selection (PrintSettings* self, gint image_per_page_selection); +void print_settings_set_size_selection (PrintSettings* self, gint size_selection); +void print_settings_set_match_aspect_ratio_enabled (PrintSettings* self, gboolean enable_state); +void print_settings_set_print_titles_enabled (PrintSettings* self, gboolean print_titles); +void print_settings_set_print_titles_font (PrintSettings* self, const gchar* fontname); +gchar* print_settings_get_print_titles_font (PrintSettings* self); +static void print_settings_finalize (PrintSettings* obj); +#define MEASUREMENT_CENTIMETERS_PER_INCH 2.54 +#define MEASUREMENT_INCHES_PER_CENTIMETER (1.0 / 2.54) +void measurement_convert_to (Measurement *self, MeasurementUnit to_unit, Measurement* result); +gboolean measurement_is_less_than (Measurement *self, Measurement* rhs); +gboolean measurement_is_greater_than (Measurement *self, Measurement* rhs); +GType print_layout_get_type (void) G_GNUC_CONST; +PrintLayout* print_layout_get_all (int* result_length1); +gint print_layout_get_per_page (PrintLayout self); +gint print_layout_get_x (PrintLayout self); +gint print_layout_get_y (PrintLayout self); +gchar* print_layout_to_string (PrintLayout self); +GType custom_print_tab_get_type (void) G_GNUC_CONST; +GType print_job_get_type (void) G_GNUC_CONST; +#define CUSTOM_PRINT_TAB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CUSTOM_PRINT_TAB, CustomPrintTabPrivate)) +enum { + CUSTOM_PRINT_TAB_DUMMY_PROPERTY +}; +#define CUSTOM_PRINT_TAB_INCHES_COMBO_CHOICE 0 +#define CUSTOM_PRINT_TAB_CENTIMETERS_COMBO_CHOICE 1 +CustomPrintTab* custom_print_tab_new (PrintJob* source_job); +CustomPrintTab* custom_print_tab_construct (GType object_type, PrintJob* source_job); +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user); +static void custom_print_tab_on_radio_group_click (CustomPrintTab* self, GtkButton* b); +static void _custom_print_tab_on_radio_group_click_gtk_button_clicked (GtkButton* _sender, gpointer self); +static gboolean custom_print_tab_standard_sizes_combo_separator_func (GtkTreeModel* model, GtkTreeIter* iter); +static gboolean _custom_print_tab_standard_sizes_combo_separator_func_gtk_tree_view_row_separator_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self); +static void custom_print_tab_on_entry_insert_text (CustomPrintTab* self, GtkEditable* editable, const gchar* text, gint length, gint* position); +static void _custom_print_tab_on_entry_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self); +static gboolean custom_print_tab_on_width_entry_focus_out (CustomPrintTab* self, GdkEventFocus* event); +static gboolean _custom_print_tab_on_width_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self); +static gboolean custom_print_tab_on_height_entry_focus_out (CustomPrintTab* self, GdkEventFocus* event); +static gboolean _custom_print_tab_on_height_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self); +static void custom_print_tab_on_units_combo_changed (CustomPrintTab* self); +static void _custom_print_tab_on_units_combo_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void custom_print_tab_on_ppi_entry_insert_text (CustomPrintTab* self, GtkEditable* editable, const gchar* text, gint length, gint* position); +static void _custom_print_tab_on_ppi_entry_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self); +static gboolean custom_print_tab_on_ppi_entry_focus_out (CustomPrintTab* self, GdkEventFocus* event); +static gboolean _custom_print_tab_on_ppi_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self); +static void custom_print_tab_sync_state_from_job (CustomPrintTab* self, PrintJob* job); +static void custom_print_tab_on_aspect_ratio_check_clicked (CustomPrintTab* self); +static void _custom_print_tab_on_aspect_ratio_check_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +gdouble print_job_get_source_aspect_ratio (PrintJob* self); +static gchar* custom_print_tab_format_measurement (CustomPrintTab* self, Measurement* measurement); +static gchar* custom_print_tab_format_measurement_as (CustomPrintTab* self, Measurement* measurement, MeasurementUnit to_unit); +static MeasurementUnit custom_print_tab_get_user_unit_choice (CustomPrintTab* self); +static void custom_print_tab_get_width_entry_value (CustomPrintTab* self, Measurement* result); +PrintSettings* print_job_get_local_settings (PrintJob* self); +static gboolean custom_print_tab_is_match_aspect_ratio_enabled (CustomPrintTab* self); +static void custom_print_tab_set_content_ppi (CustomPrintTab* self, gint content_ppi); +static void custom_print_tab_get_height_entry_value (CustomPrintTab* self, Measurement* result); +static void custom_print_tab_set_user_unit_choice (CustomPrintTab* self, MeasurementUnit unit); +static void custom_print_tab_set_content_width (CustomPrintTab* self, Measurement* content_width); +static void custom_print_tab_set_content_height (CustomPrintTab* self, Measurement* content_height); +static void custom_print_tab_set_content_layout (CustomPrintTab* self, ContentLayout content_layout); +static void custom_print_tab_set_image_per_page_selection (CustomPrintTab* self, gint image_per_page); +static void custom_print_tab_set_size_selection (CustomPrintTab* self, gint size_selection); +static void custom_print_tab_set_match_aspect_ratio_enabled (CustomPrintTab* self, gboolean enable_state); +static void custom_print_tab_set_print_titles_enabled (CustomPrintTab* self, gboolean print_titles); +static void custom_print_tab_set_print_titles_font (CustomPrintTab* self, const gchar* fontname); +static void custom_print_tab_set_content_layout_control_state (CustomPrintTab* self, ContentLayout layout); +static ContentLayout custom_print_tab_get_content_layout (CustomPrintTab* self); +static void custom_print_tab_get_content_width (CustomPrintTab* self, Measurement* result); +static void custom_print_tab_get_content_height (CustomPrintTab* self, Measurement* result); +static gint custom_print_tab_get_content_ppi (CustomPrintTab* self); +static gint custom_print_tab_get_image_per_page_selection (CustomPrintTab* self); +static gint custom_print_tab_get_size_selection (CustomPrintTab* self); +static gboolean custom_print_tab_is_print_titles_enabled (CustomPrintTab* self); +static gchar* custom_print_tab_get_print_titles_font (CustomPrintTab* self); +PrintJob* custom_print_tab_get_source_job (CustomPrintTab* self); +PrintSettings* custom_print_tab_get_local_settings (CustomPrintTab* self); +static void custom_print_tab_finalize (GObject* obj); +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; +#define PRINT_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PRINT_JOB, PrintJobPrivate)) +enum { + PRINT_JOB_DUMMY_PROPERTY +}; +PrintJob* print_job_new (GeeCollection* to_print); +PrintJob* print_job_construct (GType object_type, GeeCollection* to_print); +PrintSettings* print_manager_get_global_settings (PrintManager* self); +GType photo_exception_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +gdouble dimensions_get_aspect_ratio (Dimensions *self); +GeeList* print_job_get_photos (PrintJob* self); +Photo* print_job_get_source_photo (PrintJob* self); +void print_job_set_local_settings (PrintJob* self, PrintSettings* settings); +static void print_job_finalize (GObject* obj); +enum { + STANDARD_PRINT_SIZE_DUMMY_PROPERTY +}; +StandardPrintSize* standard_print_size_new (const gchar* name, Measurement* width, Measurement* height); +StandardPrintSize* standard_print_size_construct (GType object_type, const gchar* name, Measurement* width, Measurement* height); +static void standard_print_size_finalize (StandardPrintSize* obj); +GType progress_dialog_get_type (void) G_GNUC_CONST; +#define PRINT_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PRINT_MANAGER, PrintManagerPrivate)) +enum { + PRINT_MANAGER_DUMMY_PROPERTY +}; +#define PRINT_MANAGER_IMAGE_DISTANCE 0.24 +static PrintManager* print_manager_new (void); +static PrintManager* print_manager_construct (GType object_type); +static void _vala_array_add278 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add279 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add280 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add281 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add282 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add283 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add284 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add285 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add286 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add287 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add288 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add289 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add290 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add291 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +static void _vala_array_add292 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value); +void print_manager_spool_photo (PrintManager* self, GeeCollection* to_print); +gchar* data_object_get_name (DataObject* self); +static void print_manager_on_begin_print (PrintManager* self, GtkPrintOperation* emitting_object, GtkPrintContext* job_context); +static void _print_manager_on_begin_print_gtk_print_operation_begin_print (GtkPrintOperation* _sender, GtkPrintContext* context, gpointer self); +static void print_manager_on_draw_page (PrintManager* self, GtkPrintOperation* emitting_object, GtkPrintContext* job_context, gint page_num); +static void _print_manager_on_draw_page_gtk_print_operation_draw_page (GtkPrintOperation* _sender, GtkPrintContext* context, gint page_nr, gpointer self); +static GObject* print_manager_on_create_custom_widget (PrintManager* self, GtkPrintOperation* emitting_object); +static GObject* _print_manager_on_create_custom_widget_gtk_print_operation_create_custom_widget (GtkPrintOperation* _sender, gpointer self); +static void print_manager_on_status_changed (PrintManager* self, GtkPrintOperation* job); +static void _print_manager_on_status_changed_gtk_print_operation_status_changed (GtkPrintOperation* _sender, gpointer self); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +void page_window_set_busy_cursor (PageWindow* self); +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_close (ProgressDialog* self); +void page_window_set_normal_cursor (PageWindow* self); +void app_window_error_message (const gchar* message, GtkWindow* parent); +void spin_event_loop (void); +void progress_dialog_set_status (ProgressDialog* self, const gchar* text); +static void print_manager_fit_image_to_canvas (PrintManager* self, Photo* photo, gdouble x, gdouble y, gdouble canvas_width, gdouble canvas_height, gboolean crop, PrintJob* job, GtkPrintContext* job_context); +static void print_manager_add_title_to_canvas (PrintManager* self, gdouble x, gdouble y, const gchar* title, PrintJob* job, GtkPrintContext* job_context); +gboolean progress_dialog_monitor (ProgressDialog* self, guint64 count, guint64 total, gboolean do_event_loop); +static void print_manager_on_custom_widget_apply (PrintManager* self, GtkWidget* custom_widget); +static void _print_manager_on_custom_widget_apply_gtk_print_operation_custom_widget_apply (GtkPrintOperation* _sender, GtkWidget* widget, gpointer self); +void print_manager_set_global_settings (PrintManager* self, PrintSettings* settings); +void dimensions_init (Dimensions *self, gint width, gint height); +static gboolean print_manager_are_approximately_equal (PrintManager* self, gdouble val1, gdouble val2); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void scaling_to_fill_viewport (Dimensions* viewport, Scaling* result); +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up); +void scaling_for_viewport (Dimensions* viewport, gboolean scale_up, Scaling* result); +static void _vala_PangoFontDescription_free (PangoFontDescription* self); +static void print_manager_finalize (PrintManager* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +GType content_layout_get_type (void) { + static volatile gsize content_layout_type_id__volatile = 0; + if (g_once_init_enter (&content_layout_type_id__volatile)) { + static const GEnumValue values[] = {{CONTENT_LAYOUT_STANDARD_SIZE, "CONTENT_LAYOUT_STANDARD_SIZE", "standard-size"}, {CONTENT_LAYOUT_CUSTOM_SIZE, "CONTENT_LAYOUT_CUSTOM_SIZE", "custom-size"}, {CONTENT_LAYOUT_IMAGE_PER_PAGE, "CONTENT_LAYOUT_IMAGE_PER_PAGE", "image-per-page"}, {0, NULL, NULL}}; + GType content_layout_type_id; + content_layout_type_id = g_enum_register_static ("ContentLayout", values); + g_once_init_leave (&content_layout_type_id__volatile, content_layout_type_id); + } + return content_layout_type_id__volatile; +} + + +PrintSettings* print_settings_construct (GType object_type) { + PrintSettings* self = NULL; + ConfigFacade* config = NULL; + ConfigFacade* _tmp0_ = NULL; + MeasurementUnit units = 0; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 30 "/home/jens/Source/shotwell/src/Printing.vala" + self = (PrintSettings*) g_type_create_instance (object_type); +#line 31 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = config_facade_get_instance (); +#line 31 "/home/jens/Source/shotwell/src/Printing.vala" + config = _tmp0_; +#line 33 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = configuration_facade_get_printing_content_units (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 33 "/home/jens/Source/shotwell/src/Printing.vala" + units = (MeasurementUnit) _tmp1_; +#line 35 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = configuration_facade_get_printing_content_width (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 35 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&self->priv->content_width, _tmp2_, units); +#line 36 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = configuration_facade_get_printing_content_height (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 36 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&self->priv->content_height, _tmp3_, units); +#line 37 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = configuration_facade_get_printing_size_selection (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 37 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->size_selection = _tmp4_; +#line 38 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = configuration_facade_get_printing_content_layout (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 38 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->content_layout = (ContentLayout) _tmp5_; +#line 39 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = configuration_facade_get_printing_match_aspect_ratio (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 39 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->match_aspect_ratio = _tmp6_; +#line 40 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = configuration_facade_get_printing_print_titles (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 40 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->print_titles = _tmp7_; +#line 41 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = configuration_facade_get_printing_titles_font (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 41 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (self->priv->print_titles_font); +#line 41 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->print_titles_font = _tmp8_; +#line 42 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = configuration_facade_get_printing_images_per_page (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 42 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->image_per_page_selection = _tmp9_; +#line 43 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = configuration_facade_get_printing_content_ppi (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 43 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->content_ppi = _tmp10_; +#line 30 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (config); +#line 30 "/home/jens/Source/shotwell/src/Printing.vala" + return self; +#line 734 "Printing.c" +} + + +PrintSettings* print_settings_new (void) { +#line 30 "/home/jens/Source/shotwell/src/Printing.vala" + return print_settings_construct (TYPE_PRINT_SETTINGS); +#line 741 "Printing.c" +} + + +void print_settings_save (PrintSettings* self) { + ConfigFacade* config = NULL; + ConfigFacade* _tmp0_ = NULL; + Measurement _tmp1_ = {0}; + MeasurementUnit _tmp2_ = 0; + Measurement _tmp3_ = {0}; + gdouble _tmp4_ = 0.0; + Measurement _tmp5_ = {0}; + gdouble _tmp6_ = 0.0; + gint _tmp7_ = 0; + ContentLayout _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 46 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 47 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = config_facade_get_instance (); +#line 47 "/home/jens/Source/shotwell/src/Printing.vala" + config = _tmp0_; +#line 49 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = self->priv->content_width; +#line 49 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _tmp1_.unit; +#line 49 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_content_units (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), (gint) _tmp2_); +#line 50 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->content_width; +#line 50 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = _tmp3_.value; +#line 50 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_content_width (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp4_); +#line 51 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = self->priv->content_height; +#line 51 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = _tmp5_.value; +#line 51 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_content_height (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp6_); +#line 52 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = self->priv->size_selection; +#line 52 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_size_selection (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp7_); +#line 53 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = self->priv->content_layout; +#line 53 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_content_layout (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), (gint) _tmp8_); +#line 54 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = self->priv->match_aspect_ratio; +#line 54 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_match_aspect_ratio (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp9_); +#line 55 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = self->priv->print_titles; +#line 55 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_print_titles (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp10_); +#line 56 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = self->priv->print_titles_font; +#line 56 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_titles_font (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp11_); +#line 57 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = self->priv->image_per_page_selection; +#line 57 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_images_per_page (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp12_); +#line 58 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = self->priv->content_ppi; +#line 58 "/home/jens/Source/shotwell/src/Printing.vala" + configuration_facade_set_printing_content_ppi (G_TYPE_CHECK_INSTANCE_CAST (config, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp13_); +#line 46 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (config); +#line 815 "Printing.c" +} + + +void print_settings_get_content_width (PrintSettings* self, Measurement* result) { + ContentLayout _tmp0_ = 0; +#line 62 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 63 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = print_settings_get_content_layout (self); +#line 63 "/home/jens/Source/shotwell/src/Printing.vala" + switch (_tmp0_) { +#line 63 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_STANDARD_SIZE: +#line 63 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_IMAGE_PER_PAGE: +#line 831 "Printing.c" + { + PrintManager* _tmp1_ = NULL; + PrintManager* _tmp2_ = NULL; + gint _tmp3_ = 0; + StandardPrintSize** _tmp4_ = NULL; + StandardPrintSize** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + StandardPrintSize* _tmp7_ = NULL; + Measurement _tmp8_ = {0}; + Measurement _tmp9_ = {0}; +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = print_manager_get_instance (); +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _tmp1_; +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = print_manager_get_standard_sizes (_tmp2_, &_tmp3_); +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_; +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5__length1 = _tmp3_; +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = print_settings_get_size_selection (self); +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = _tmp7_->width; +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = _tmp8_; +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = (_vala_array_free (_tmp5_, _tmp5__length1, (GDestroyNotify) standard_print_size_unref), NULL); +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + _print_manager_unref0 (_tmp2_); +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp9_; +#line 66 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 869 "Printing.c" + } +#line 63 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_CUSTOM_SIZE: +#line 873 "Printing.c" + { + Measurement _tmp10_ = {0}; +#line 70 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = self->priv->content_width; +#line 70 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp10_; +#line 70 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 882 "Printing.c" + } + default: + { +#line 73 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:73: unknown ContentLayout enumeration value"); +#line 888 "Printing.c" + } + } +} + + +void print_settings_get_content_height (PrintSettings* self, Measurement* result) { + ContentLayout _tmp0_ = 0; +#line 77 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 78 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = print_settings_get_content_layout (self); +#line 78 "/home/jens/Source/shotwell/src/Printing.vala" + switch (_tmp0_) { +#line 78 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_STANDARD_SIZE: +#line 78 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_IMAGE_PER_PAGE: +#line 906 "Printing.c" + { + PrintManager* _tmp1_ = NULL; + PrintManager* _tmp2_ = NULL; + gint _tmp3_ = 0; + StandardPrintSize** _tmp4_ = NULL; + StandardPrintSize** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + StandardPrintSize* _tmp7_ = NULL; + Measurement _tmp8_ = {0}; + Measurement _tmp9_ = {0}; +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = print_manager_get_instance (); +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _tmp1_; +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = print_manager_get_standard_sizes (_tmp2_, &_tmp3_); +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_; +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5__length1 = _tmp3_; +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = print_settings_get_size_selection (self); +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = _tmp7_->height; +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = _tmp8_; +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = (_vala_array_free (_tmp5_, _tmp5__length1, (GDestroyNotify) standard_print_size_unref), NULL); +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + _print_manager_unref0 (_tmp2_); +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp9_; +#line 81 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 944 "Printing.c" + } +#line 78 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_CUSTOM_SIZE: +#line 948 "Printing.c" + { + Measurement _tmp10_ = {0}; +#line 85 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = self->priv->content_height; +#line 85 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp10_; +#line 85 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 957 "Printing.c" + } + default: + { +#line 88 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:88: unknown ContentLayout enumeration value"); +#line 963 "Printing.c" + } + } +} + + +void print_settings_get_minimum_content_dimension (PrintSettings* self, Measurement* result) { + Measurement _tmp0_ = {0}; +#line 92 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 93 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp0_, 0.5, MEASUREMENT_UNIT_INCHES); +#line 93 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp0_; +#line 93 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 979 "Printing.c" +} + + +void print_settings_get_maximum_content_dimension (PrintSettings* self, Measurement* result) { + Measurement _tmp0_ = {0}; +#line 96 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 97 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp0_, (gdouble) 30, MEASUREMENT_UNIT_INCHES); +#line 97 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp0_; +#line 97 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 993 "Printing.c" +} + + +gboolean print_settings_is_match_aspect_ratio_enabled (PrintSettings* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 100 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_SETTINGS (self), FALSE); +#line 101 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->match_aspect_ratio; +#line 101 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp0_; +#line 101 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1008 "Printing.c" +} + + +gboolean print_settings_is_print_titles_enabled (PrintSettings* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 104 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_SETTINGS (self), FALSE); +#line 105 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->print_titles; +#line 105 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp0_; +#line 105 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1023 "Printing.c" +} + + +gint print_settings_get_content_ppi (PrintSettings* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 108 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_SETTINGS (self), 0); +#line 109 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->content_ppi; +#line 109 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp0_; +#line 109 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1038 "Printing.c" +} + + +gint print_settings_get_image_per_page_selection (PrintSettings* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 112 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_SETTINGS (self), 0); +#line 113 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->image_per_page_selection; +#line 113 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp0_; +#line 113 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1053 "Printing.c" +} + + +gint print_settings_get_size_selection (PrintSettings* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 116 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_SETTINGS (self), 0); +#line 117 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->size_selection; +#line 117 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp0_; +#line 117 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1068 "Printing.c" +} + + +ContentLayout print_settings_get_content_layout (PrintSettings* self) { + ContentLayout result = 0; + ContentLayout _tmp0_ = 0; +#line 120 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_SETTINGS (self), 0); +#line 121 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->content_layout; +#line 121 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp0_; +#line 121 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1083 "Printing.c" +} + + +void print_settings_set_content_layout (PrintSettings* self, ContentLayout content_layout) { + ContentLayout _tmp0_ = 0; +#line 124 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 125 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = content_layout; +#line 125 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->content_layout = _tmp0_; +#line 1095 "Printing.c" +} + + +void print_settings_set_content_width (PrintSettings* self, Measurement* content_width) { + Measurement _tmp0_ = {0}; +#line 128 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 128 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (content_width != NULL); +#line 129 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = *content_width; +#line 129 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->content_width = _tmp0_; +#line 1109 "Printing.c" +} + + +void print_settings_set_content_height (PrintSettings* self, Measurement* content_height) { + Measurement _tmp0_ = {0}; +#line 132 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 132 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (content_height != NULL); +#line 133 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = *content_height; +#line 133 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->content_height = _tmp0_; +#line 1123 "Printing.c" +} + + +void print_settings_set_content_ppi (PrintSettings* self, gint content_ppi) { + gint _tmp0_ = 0; +#line 136 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 137 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = content_ppi; +#line 137 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->content_ppi = _tmp0_; +#line 1135 "Printing.c" +} + + +void print_settings_set_image_per_page_selection (PrintSettings* self, gint image_per_page_selection) { + gint _tmp0_ = 0; +#line 140 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 141 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = image_per_page_selection; +#line 141 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->image_per_page_selection = _tmp0_; +#line 1147 "Printing.c" +} + + +void print_settings_set_size_selection (PrintSettings* self, gint size_selection) { + gint _tmp0_ = 0; +#line 144 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 145 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = size_selection; +#line 145 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->size_selection = _tmp0_; +#line 1159 "Printing.c" +} + + +void print_settings_set_match_aspect_ratio_enabled (PrintSettings* self, gboolean enable_state) { + gboolean _tmp0_ = FALSE; +#line 148 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 149 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = enable_state; +#line 149 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->match_aspect_ratio = _tmp0_; +#line 1171 "Printing.c" +} + + +void print_settings_set_print_titles_enabled (PrintSettings* self, gboolean print_titles) { + gboolean _tmp0_ = FALSE; +#line 152 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 153 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = print_titles; +#line 153 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->print_titles = _tmp0_; +#line 1183 "Printing.c" +} + + +void print_settings_set_print_titles_font (PrintSettings* self, const gchar* fontname) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (self)); +#line 156 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (fontname != NULL); +#line 157 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = fontname; +#line 157 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 157 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (self->priv->print_titles_font); +#line 157 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->print_titles_font = _tmp1_; +#line 1202 "Printing.c" +} + + +gchar* print_settings_get_print_titles_font (PrintSettings* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_SETTINGS (self), NULL); +#line 161 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->print_titles_font; +#line 161 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 161 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 161 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1220 "Printing.c" +} + + +static void value_print_settings_init (GValue* value) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 1227 "Printing.c" +} + + +static void value_print_settings_free_value (GValue* value) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (value->data[0].v_pointer) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_unref (value->data[0].v_pointer); +#line 1236 "Printing.c" + } +} + + +static void value_print_settings_copy_value (const GValue* src_value, GValue* dest_value) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (src_value->data[0].v_pointer) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + dest_value->data[0].v_pointer = print_settings_ref (src_value->data[0].v_pointer); +#line 1246 "Printing.c" + } else { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + dest_value->data[0].v_pointer = NULL; +#line 1250 "Printing.c" + } +} + + +static gpointer value_print_settings_peek_pointer (const GValue* value) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return value->data[0].v_pointer; +#line 1258 "Printing.c" +} + + +static gchar* value_print_settings_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (collect_values[0].v_pointer) { +#line 1265 "Printing.c" + PrintSettings* object; + object = collect_values[0].v_pointer; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (object->parent_instance.g_class == NULL) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1272 "Printing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1276 "Printing.c" + } +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = print_settings_ref (object); +#line 1280 "Printing.c" + } else { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 1284 "Printing.c" + } +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return NULL; +#line 1288 "Printing.c" +} + + +static gchar* value_print_settings_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PrintSettings** object_p; + object_p = collect_values[0].v_pointer; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (!object_p) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1299 "Printing.c" + } +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (!value->data[0].v_pointer) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = NULL; +#line 1305 "Printing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = value->data[0].v_pointer; +#line 1309 "Printing.c" + } else { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = print_settings_ref (value->data[0].v_pointer); +#line 1313 "Printing.c" + } +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return NULL; +#line 1317 "Printing.c" +} + + +GParamSpec* param_spec_print_settings (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPrintSettings* spec; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PRINT_SETTINGS), NULL); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return G_PARAM_SPEC (spec); +#line 1331 "Printing.c" +} + + +gpointer value_get_print_settings (const GValue* value) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PRINT_SETTINGS), NULL); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return value->data[0].v_pointer; +#line 1340 "Printing.c" +} + + +void value_set_print_settings (GValue* value, gpointer v_object) { + PrintSettings* old; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PRINT_SETTINGS)); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + old = value->data[0].v_pointer; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (v_object) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PRINT_SETTINGS)); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = v_object; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_ref (value->data[0].v_pointer); +#line 1360 "Printing.c" + } else { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 1364 "Printing.c" + } +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (old) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_unref (old); +#line 1370 "Printing.c" + } +} + + +void value_take_print_settings (GValue* value, gpointer v_object) { + PrintSettings* old; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PRINT_SETTINGS)); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + old = value->data[0].v_pointer; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (v_object) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PRINT_SETTINGS)); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = v_object; +#line 1389 "Printing.c" + } else { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 1393 "Printing.c" + } +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (old) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_unref (old); +#line 1399 "Printing.c" + } +} + + +static void print_settings_class_init (PrintSettingsClass * klass) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_parent_class = g_type_class_peek_parent (klass); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + ((PrintSettingsClass *) klass)->finalize = print_settings_finalize; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_type_class_add_private (klass, sizeof (PrintSettingsPrivate)); +#line 1411 "Printing.c" +} + + +static void print_settings_instance_init (PrintSettings * self) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv = PRINT_SETTINGS_GET_PRIVATE (self); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + self->ref_count = 1; +#line 1420 "Printing.c" +} + + +static void print_settings_finalize (PrintSettings* obj) { + PrintSettings * self; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PRINT_SETTINGS, PrintSettings); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_handlers_destroy (self); +#line 28 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (self->priv->print_titles_font); +#line 1432 "Printing.c" +} + + +GType print_settings_get_type (void) { + static volatile gsize print_settings_type_id__volatile = 0; + if (g_once_init_enter (&print_settings_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_print_settings_init, value_print_settings_free_value, value_print_settings_copy_value, value_print_settings_peek_pointer, "p", value_print_settings_collect_value, "p", value_print_settings_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PrintSettingsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) print_settings_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PrintSettings), 0, (GInstanceInitFunc) print_settings_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType print_settings_type_id; + print_settings_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PrintSettings", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&print_settings_type_id__volatile, print_settings_type_id); + } + return print_settings_type_id__volatile; +} + + +gpointer print_settings_ref (gpointer instance) { + PrintSettings* self; + self = instance; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_atomic_int_inc (&self->ref_count); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + return instance; +#line 1457 "Printing.c" +} + + +void print_settings_unref (gpointer instance) { + PrintSettings* self; + self = instance; +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + PRINT_SETTINGS_GET_CLASS (self)->finalize (self); +#line 13 "/home/jens/Source/shotwell/src/Printing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1470 "Printing.c" + } +} + + +GType measurement_unit_get_type (void) { + static volatile gsize measurement_unit_type_id__volatile = 0; + if (g_once_init_enter (&measurement_unit_type_id__volatile)) { + static const GEnumValue values[] = {{MEASUREMENT_UNIT_INCHES, "MEASUREMENT_UNIT_INCHES", "inches"}, {MEASUREMENT_UNIT_CENTIMETERS, "MEASUREMENT_UNIT_CENTIMETERS", "centimeters"}, {0, NULL, NULL}}; + GType measurement_unit_type_id; + measurement_unit_type_id = g_enum_register_static ("MeasurementUnit", values); + g_once_init_leave (&measurement_unit_type_id__volatile, measurement_unit_type_id); + } + return measurement_unit_type_id__volatile; +} + + +void measurement_init (Measurement *self, gdouble value, MeasurementUnit unit) { + gdouble _tmp0_ = 0.0; + MeasurementUnit _tmp1_ = 0; +#line 185 "/home/jens/Source/shotwell/src/Printing.vala" + memset (self, 0, sizeof (Measurement)); +#line 186 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = value; +#line 186 "/home/jens/Source/shotwell/src/Printing.vala" + (*self).value = _tmp0_; +#line 187 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = unit; +#line 187 "/home/jens/Source/shotwell/src/Printing.vala" + (*self).unit = _tmp1_; +#line 1500 "Printing.c" +} + + +void measurement_convert_to (Measurement *self, MeasurementUnit to_unit, Measurement* result) { + MeasurementUnit _tmp0_ = 0; + MeasurementUnit _tmp1_ = 0; + MeasurementUnit _tmp2_ = 0; +#line 191 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = (*self).unit; +#line 191 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = to_unit; +#line 191 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp0_ == _tmp1_) { +#line 192 "/home/jens/Source/shotwell/src/Printing.vala" + *result = (*self); +#line 192 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 1518 "Printing.c" + } +#line 194 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = to_unit; +#line 194 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_ == MEASUREMENT_UNIT_INCHES) { +#line 1524 "Printing.c" + gdouble _tmp3_ = 0.0; + Measurement _tmp4_ = {0}; +#line 195 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = (*self).value; +#line 195 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp4_, _tmp3_ * MEASUREMENT_INCHES_PER_CENTIMETER, MEASUREMENT_UNIT_INCHES); +#line 195 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp4_; +#line 195 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 1535 "Printing.c" + } else { + MeasurementUnit _tmp5_ = 0; +#line 196 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = to_unit; +#line 196 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp5_ == MEASUREMENT_UNIT_CENTIMETERS) { +#line 1542 "Printing.c" + gdouble _tmp6_ = 0.0; + Measurement _tmp7_ = {0}; +#line 197 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = (*self).value; +#line 197 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp7_, _tmp6_ * MEASUREMENT_CENTIMETERS_PER_INCH, MEASUREMENT_UNIT_CENTIMETERS); +#line 197 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp7_; +#line 197 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 1553 "Printing.c" + } else { +#line 199 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:199: unrecognized unit"); +#line 1557 "Printing.c" + } + } +} + + +gboolean measurement_is_less_than (Measurement *self, Measurement* rhs) { + gboolean result = FALSE; + Measurement _tmp0_ = {0}; + MeasurementUnit _tmp1_ = 0; + Measurement _tmp2_ = {0}; + MeasurementUnit _tmp3_ = 0; + Measurement converted_rhs = {0}; + gdouble _tmp7_ = 0.0; + Measurement _tmp8_ = {0}; + gdouble _tmp9_ = 0.0; +#line 203 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (rhs != NULL, FALSE); +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = (*self).unit; +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = *rhs; +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = _tmp2_.unit; +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp1_ == _tmp3_) { +#line 1583 "Printing.c" + Measurement _tmp4_ = {0}; +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = *rhs; +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = _tmp4_; +#line 1589 "Printing.c" + } else { + MeasurementUnit _tmp5_ = 0; + Measurement _tmp6_ = {0}; +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = (*self).unit; +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (rhs, _tmp5_, &_tmp6_); +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = _tmp6_; +#line 1599 "Printing.c" + } +#line 204 "/home/jens/Source/shotwell/src/Printing.vala" + converted_rhs = _tmp0_; +#line 205 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = (*self).value; +#line 205 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = converted_rhs; +#line 205 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = _tmp8_.value; +#line 205 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp7_ < _tmp9_; +#line 205 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1613 "Printing.c" +} + + +gboolean measurement_is_greater_than (Measurement *self, Measurement* rhs) { + gboolean result = FALSE; + Measurement _tmp0_ = {0}; + MeasurementUnit _tmp1_ = 0; + Measurement _tmp2_ = {0}; + MeasurementUnit _tmp3_ = 0; + Measurement converted_rhs = {0}; + gdouble _tmp7_ = 0.0; + Measurement _tmp8_ = {0}; + gdouble _tmp9_ = 0.0; +#line 208 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (rhs != NULL, FALSE); +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = (*self).unit; +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = *rhs; +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = _tmp2_.unit; +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp1_ == _tmp3_) { +#line 1637 "Printing.c" + Measurement _tmp4_ = {0}; +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = *rhs; +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = _tmp4_; +#line 1643 "Printing.c" + } else { + MeasurementUnit _tmp5_ = 0; + Measurement _tmp6_ = {0}; +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = (*self).unit; +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (rhs, _tmp5_, &_tmp6_); +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = _tmp6_; +#line 1653 "Printing.c" + } +#line 209 "/home/jens/Source/shotwell/src/Printing.vala" + converted_rhs = _tmp0_; +#line 210 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = (*self).value; +#line 210 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = converted_rhs; +#line 210 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = _tmp8_.value; +#line 210 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp7_ > _tmp9_; +#line 210 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1667 "Printing.c" +} + + +Measurement* measurement_dup (const Measurement* self) { + Measurement* dup; +#line 178 "/home/jens/Source/shotwell/src/Printing.vala" + dup = g_new0 (Measurement, 1); +#line 178 "/home/jens/Source/shotwell/src/Printing.vala" + memcpy (dup, self, sizeof (Measurement)); +#line 178 "/home/jens/Source/shotwell/src/Printing.vala" + return dup; +#line 1679 "Printing.c" +} + + +void measurement_free (Measurement* self) { +#line 178 "/home/jens/Source/shotwell/src/Printing.vala" + g_free (self); +#line 1686 "Printing.c" +} + + +GType measurement_get_type (void) { + static volatile gsize measurement_type_id__volatile = 0; + if (g_once_init_enter (&measurement_type_id__volatile)) { + GType measurement_type_id; + measurement_type_id = g_boxed_type_register_static ("Measurement", (GBoxedCopyFunc) measurement_dup, (GBoxedFreeFunc) measurement_free); + g_once_init_leave (&measurement_type_id__volatile, measurement_type_id); + } + return measurement_type_id__volatile; +} + + +PrintLayout* print_layout_get_all (int* result_length1) { + PrintLayout* result = NULL; + PrintLayout* _tmp0_ = NULL; + PrintLayout* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = g_new0 (PrintLayout, 7); +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[0] = PRINT_LAYOUT_ENTIRE_PAGE; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[1] = PRINT_LAYOUT_TWO_PER_PAGE; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[2] = PRINT_LAYOUT_FOUR_PER_PAGE; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[3] = PRINT_LAYOUT_SIX_PER_PAGE; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[4] = PRINT_LAYOUT_EIGHT_PER_PAGE; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[5] = PRINT_LAYOUT_SIXTEEN_PER_PAGE; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[6] = PRINT_LAYOUT_THIRTY_TWO_PER_PAGE; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _tmp0_; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1__length1 = 7; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + if (result_length1) { +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + *result_length1 = _tmp1__length1; +#line 1730 "Printing.c" + } +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 224 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1736 "Printing.c" +} + + +gint print_layout_get_per_page (PrintLayout self) { + gint result = 0; + gint* per_page = NULL; + gint* _tmp0_ = NULL; + gint per_page_length1 = 0; + gint _per_page_size_ = 0; + gint _tmp1_ = 0; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = g_new0 (gint, 7); +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[0] = 1; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[1] = 2; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[2] = 4; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[3] = 6; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[4] = 8; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[5] = 16; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[6] = 32; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + per_page = _tmp0_; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + per_page_length1 = 7; +#line 236 "/home/jens/Source/shotwell/src/Printing.vala" + _per_page_size_ = per_page_length1; +#line 238 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = per_page[self]; +#line 238 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 238 "/home/jens/Source/shotwell/src/Printing.vala" + per_page = (g_free (per_page), NULL); +#line 238 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1777 "Printing.c" +} + + +gint print_layout_get_x (PrintLayout self) { + gint result = 0; + gint* x = NULL; + gint* _tmp0_ = NULL; + gint x_length1 = 0; + gint _x_size_ = 0; + gint _tmp1_ = 0; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = g_new0 (gint, 7); +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[0] = 1; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[1] = 1; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[2] = 2; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[3] = 2; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[4] = 2; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[5] = 4; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[6] = 4; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + x = _tmp0_; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + x_length1 = 7; +#line 242 "/home/jens/Source/shotwell/src/Printing.vala" + _x_size_ = x_length1; +#line 244 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = x[self]; +#line 244 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 244 "/home/jens/Source/shotwell/src/Printing.vala" + x = (g_free (x), NULL); +#line 244 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1818 "Printing.c" +} + + +gint print_layout_get_y (PrintLayout self) { + gint result = 0; + gint* y = NULL; + gint* _tmp0_ = NULL; + gint y_length1 = 0; + gint _y_size_ = 0; + gint _tmp1_ = 0; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = g_new0 (gint, 7); +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[0] = 1; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[1] = 2; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[2] = 2; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[3] = 3; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[4] = 4; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[5] = 4; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_[6] = 8; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + y = _tmp0_; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + y_length1 = 7; +#line 248 "/home/jens/Source/shotwell/src/Printing.vala" + _y_size_ = y_length1; +#line 250 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = y[self]; +#line 250 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 250 "/home/jens/Source/shotwell/src/Printing.vala" + y = (g_free (y), NULL); +#line 250 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1859 "Printing.c" +} + + +gchar* print_layout_to_string (PrintLayout self) { + gchar* result = NULL; + gchar** labels = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar** _tmp14_ = NULL; + gint labels_length1 = 0; + gint _labels_size_ = 0; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = _ ("Fill the entire page"); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _ ("2 images per page"); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = _ ("4 images per page"); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = _ ("6 images per page"); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = _ ("8 images per page"); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = _ ("16 images per page"); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _ ("32 images per page"); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = g_new0 (gchar*, 7 + 1); +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_[0] = _tmp1_; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_[1] = _tmp3_; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_[2] = _tmp5_; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_[3] = _tmp7_; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_[4] = _tmp9_; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_[5] = _tmp11_; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_[6] = _tmp13_; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + labels = _tmp14_; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + labels_length1 = 7; +#line 254 "/home/jens/Source/shotwell/src/Printing.vala" + _labels_size_ = labels_length1; +#line 264 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = labels[self]; +#line 264 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 264 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp16_; +#line 264 "/home/jens/Source/shotwell/src/Printing.vala" + labels = (_vala_array_free (labels, labels_length1, (GDestroyNotify) g_free), NULL); +#line 264 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1945 "Printing.c" +} + + +GType print_layout_get_type (void) { + static volatile gsize print_layout_type_id__volatile = 0; + if (g_once_init_enter (&print_layout_type_id__volatile)) { + static const GEnumValue values[] = {{PRINT_LAYOUT_ENTIRE_PAGE, "PRINT_LAYOUT_ENTIRE_PAGE", "entire-page"}, {PRINT_LAYOUT_TWO_PER_PAGE, "PRINT_LAYOUT_TWO_PER_PAGE", "two-per-page"}, {PRINT_LAYOUT_FOUR_PER_PAGE, "PRINT_LAYOUT_FOUR_PER_PAGE", "four-per-page"}, {PRINT_LAYOUT_SIX_PER_PAGE, "PRINT_LAYOUT_SIX_PER_PAGE", "six-per-page"}, {PRINT_LAYOUT_EIGHT_PER_PAGE, "PRINT_LAYOUT_EIGHT_PER_PAGE", "eight-per-page"}, {PRINT_LAYOUT_SIXTEEN_PER_PAGE, "PRINT_LAYOUT_SIXTEEN_PER_PAGE", "sixteen-per-page"}, {PRINT_LAYOUT_THIRTY_TWO_PER_PAGE, "PRINT_LAYOUT_THIRTY_TWO_PER_PAGE", "thirty-two-per-page"}, {0, NULL, NULL}}; + GType print_layout_type_id; + print_layout_type_id = g_enum_register_static ("PrintLayout", values); + g_once_init_leave (&print_layout_type_id__volatile, print_layout_type_id); + } + return print_layout_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 292 "/home/jens/Source/shotwell/src/Printing.vala" + return self ? g_object_ref (self) : NULL; +#line 1964 "Printing.c" +} + + +static void _custom_print_tab_on_radio_group_click_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 299 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_on_radio_group_click ((CustomPrintTab*) self, _sender); +#line 1971 "Printing.c" +} + + +static gboolean _custom_print_tab_standard_sizes_combo_separator_func_gtk_tree_view_row_separator_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self) { + gboolean result; + result = custom_print_tab_standard_sizes_combo_separator_func (model, iter); +#line 329 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 1980 "Printing.c" +} + + +static gpointer _standard_print_size_ref0 (gpointer self) { +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + return self ? standard_print_size_ref (self) : NULL; +#line 1987 "Printing.c" +} + + +static void _custom_print_tab_on_entry_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self) { +#line 340 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_on_entry_insert_text ((CustomPrintTab*) self, _sender, new_text, new_text_length, position); +#line 1994 "Printing.c" +} + + +static gboolean _custom_print_tab_on_width_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self) { + gboolean result; + result = custom_print_tab_on_width_entry_focus_out ((CustomPrintTab*) self, event); +#line 341 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2003 "Printing.c" +} + + +static gboolean _custom_print_tab_on_height_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self) { + gboolean result; + result = custom_print_tab_on_height_entry_focus_out ((CustomPrintTab*) self, event); +#line 345 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2012 "Printing.c" +} + + +static void _custom_print_tab_on_units_combo_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 351 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_on_units_combo_changed ((CustomPrintTab*) self); +#line 2019 "Printing.c" +} + + +static void _custom_print_tab_on_ppi_entry_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self) { +#line 358 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_on_ppi_entry_insert_text ((CustomPrintTab*) self, _sender, new_text, new_text_length, position); +#line 2026 "Printing.c" +} + + +static gboolean _custom_print_tab_on_ppi_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self) { + gboolean result; + result = custom_print_tab_on_ppi_entry_focus_out ((CustomPrintTab*) self, event); +#line 359 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2035 "Printing.c" +} + + +static void _custom_print_tab_on_aspect_ratio_check_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 368 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_on_aspect_ratio_check_clicked ((CustomPrintTab*) self); +#line 2042 "Printing.c" +} + + +CustomPrintTab* custom_print_tab_construct (GType object_type, PrintJob* source_job) { + CustomPrintTab * self = NULL; + PrintJob* _tmp0_ = NULL; + PrintJob* _tmp1_ = NULL; + GtkBuilder* builder = NULL; + GtkBuilder* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GObject* _tmp4_ = NULL; + GtkBox* _tmp5_ = NULL; + GtkBuilder* _tmp6_ = NULL; + GObject* _tmp7_ = NULL; + GtkRadioButton* _tmp8_ = NULL; + GtkRadioButton* _tmp9_ = NULL; + GtkBuilder* _tmp10_ = NULL; + GObject* _tmp11_ = NULL; + GtkRadioButton* _tmp12_ = NULL; + GtkRadioButton* _tmp13_ = NULL; + GtkBuilder* _tmp14_ = NULL; + GObject* _tmp15_ = NULL; + GtkRadioButton* _tmp16_ = NULL; + GtkRadioButton* _tmp17_ = NULL; + GtkBuilder* _tmp18_ = NULL; + GObject* _tmp19_ = NULL; + GtkComboBox* _tmp20_ = NULL; + GtkCellRendererText* image_per_page_combo_text_renderer = NULL; + GtkCellRendererText* _tmp21_ = NULL; + GtkComboBox* _tmp22_ = NULL; + GtkCellRendererText* _tmp23_ = NULL; + GtkComboBox* _tmp24_ = NULL; + GtkCellRendererText* _tmp25_ = NULL; + GtkListStore* image_per_page_combo_store = NULL; + GtkListStore* _tmp26_ = NULL; + gint _tmp27_ = 0; + PrintLayout* _tmp28_ = NULL; + GtkComboBox* _tmp36_ = NULL; + GtkListStore* _tmp37_ = NULL; + StandardPrintSize** standard_sizes = NULL; + PrintManager* _tmp38_ = NULL; + PrintManager* _tmp39_ = NULL; + gint _tmp40_ = 0; + StandardPrintSize** _tmp41_ = NULL; + StandardPrintSize** _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gint standard_sizes_length1 = 0; + gint _standard_sizes_size_ = 0; + GtkBuilder* _tmp43_ = NULL; + GObject* _tmp44_ = NULL; + GtkComboBox* _tmp45_ = NULL; + GtkCellRendererText* standard_sizes_combo_text_renderer = NULL; + GtkCellRendererText* _tmp46_ = NULL; + GtkComboBox* _tmp47_ = NULL; + GtkCellRendererText* _tmp48_ = NULL; + GtkComboBox* _tmp49_ = NULL; + GtkCellRendererText* _tmp50_ = NULL; + GtkComboBox* _tmp51_ = NULL; + GtkListStore* standard_sizes_combo_store = NULL; + GtkListStore* _tmp52_ = NULL; + StandardPrintSize** _tmp53_ = NULL; + gint _tmp53__length1 = 0; + GtkComboBox* _tmp62_ = NULL; + GtkListStore* _tmp63_ = NULL; + GtkBuilder* _tmp64_ = NULL; + GObject* _tmp65_ = NULL; + GtkEntry* _tmp66_ = NULL; + GtkEntry* _tmp67_ = NULL; + GtkEntry* _tmp68_ = NULL; + GtkBuilder* _tmp69_ = NULL; + GObject* _tmp70_ = NULL; + GtkEntry* _tmp71_ = NULL; + GtkEntry* _tmp72_ = NULL; + GtkEntry* _tmp73_ = NULL; + GtkBuilder* _tmp74_ = NULL; + GObject* _tmp75_ = NULL; + GtkComboBoxText* _tmp76_ = NULL; + GtkComboBoxText* _tmp77_ = NULL; + const gchar* _tmp78_ = NULL; + GtkComboBoxText* _tmp79_ = NULL; + const gchar* _tmp80_ = NULL; + GtkComboBoxText* _tmp81_ = NULL; + GtkComboBoxText* _tmp82_ = NULL; + GtkBuilder* _tmp83_ = NULL; + GObject* _tmp84_ = NULL; + GtkCheckButton* _tmp85_ = NULL; + GtkBuilder* _tmp86_ = NULL; + GObject* _tmp87_ = NULL; + GtkCheckButton* _tmp88_ = NULL; + GtkBuilder* _tmp89_ = NULL; + GObject* _tmp90_ = NULL; + GtkFontButton* _tmp91_ = NULL; + GtkBuilder* _tmp92_ = NULL; + GObject* _tmp93_ = NULL; + GtkEntry* _tmp94_ = NULL; + GtkEntry* _tmp95_ = NULL; + GtkEntry* _tmp96_ = NULL; + GtkBox* _tmp97_ = NULL; + PrintJob* _tmp98_ = NULL; + GtkCheckButton* _tmp99_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_JOB (source_job), NULL); +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + self = (CustomPrintTab*) g_object_new (object_type, NULL); +#line 292 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = source_job; +#line 292 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 292 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->source_job); +#line 292 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->source_job = _tmp1_; +#line 293 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = app_window_create_builder ("shotwell.ui", NULL); +#line 293 "/home/jens/Source/shotwell/src/Printing.vala" + builder = _tmp2_; +#line 296 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = builder; +#line 296 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = gtk_builder_get_object (_tmp3_, "box_ImgSettingsPane"); +#line 296 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, gtk_box_get_type ()) ? ((GtkBox*) _tmp4_) : NULL); +#line 296 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_image_settings_pane); +#line 296 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_image_settings_pane = _tmp5_; +#line 298 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = builder; +#line 298 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = gtk_builder_get_object (_tmp6_, "radio_UseStandardSize"); +#line 298 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, gtk_radio_button_get_type ()) ? ((GtkRadioButton*) _tmp7_) : NULL); +#line 298 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->standard_size_radio); +#line 298 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->standard_size_radio = _tmp8_; +#line 299 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = self->priv->standard_size_radio; +#line 299 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _custom_print_tab_on_radio_group_click_gtk_button_clicked, self, 0); +#line 301 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = builder; +#line 301 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = gtk_builder_get_object (_tmp10_, "radio_UseCustomSize"); +#line 301 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, gtk_radio_button_get_type ()) ? ((GtkRadioButton*) _tmp11_) : NULL); +#line 301 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_size_radio); +#line 301 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_size_radio = _tmp12_; +#line 302 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = self->priv->custom_size_radio; +#line 302 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _custom_print_tab_on_radio_group_click_gtk_button_clicked, self, 0); +#line 304 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = builder; +#line 304 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = gtk_builder_get_object (_tmp14_, "radio_Autosize"); +#line 304 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, gtk_radio_button_get_type ()) ? ((GtkRadioButton*) _tmp15_) : NULL); +#line 304 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->image_per_page_radio); +#line 304 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->image_per_page_radio = _tmp16_; +#line 305 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = self->priv->image_per_page_radio; +#line 305 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _custom_print_tab_on_radio_group_click_gtk_button_clicked, self, 0); +#line 307 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = builder; +#line 307 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = gtk_builder_get_object (_tmp18_, "combo_Autosize"); +#line 307 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_combo_box_get_type ()) ? ((GtkComboBox*) _tmp19_) : NULL); +#line 307 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->image_per_page_combo); +#line 307 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->image_per_page_combo = _tmp20_; +#line 308 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 308 "/home/jens/Source/shotwell/src/Printing.vala" + g_object_ref_sink (_tmp21_); +#line 308 "/home/jens/Source/shotwell/src/Printing.vala" + image_per_page_combo_text_renderer = _tmp21_; +#line 310 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = self->priv->image_per_page_combo; +#line 310 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = image_per_page_combo_text_renderer; +#line 310 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 311 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = self->priv->image_per_page_combo; +#line 311 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = image_per_page_combo_text_renderer; +#line 311 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_cell_renderer_get_type (), GtkCellRenderer), "text", 0); +#line 313 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING, -1); +#line 313 "/home/jens/Source/shotwell/src/Printing.vala" + image_per_page_combo_store = _tmp26_; +#line 315 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = print_layout_get_all (&_tmp27_); +#line 2245 "Printing.c" + { + PrintLayout* layout_collection = NULL; + gint layout_collection_length1 = 0; + gint _layout_collection_size_ = 0; + gint layout_it = 0; +#line 315 "/home/jens/Source/shotwell/src/Printing.vala" + layout_collection = _tmp28_; +#line 315 "/home/jens/Source/shotwell/src/Printing.vala" + layout_collection_length1 = _tmp27_; +#line 315 "/home/jens/Source/shotwell/src/Printing.vala" + for (layout_it = 0; layout_it < _tmp27_; layout_it = layout_it + 1) { +#line 2257 "Printing.c" + PrintLayout layout = 0; +#line 315 "/home/jens/Source/shotwell/src/Printing.vala" + layout = layout_collection[layout_it]; +#line 2261 "Printing.c" + { + GtkTreeIter iter = {0}; + GtkListStore* _tmp29_ = NULL; + GtkTreeIter _tmp30_ = {0}; + GtkListStore* _tmp31_ = NULL; + GtkTreeIter _tmp32_ = {0}; + PrintLayout _tmp33_ = 0; + gchar* _tmp34_ = NULL; + GValue _tmp35_ = {0}; +#line 317 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = image_per_page_combo_store; +#line 317 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_list_store_append (_tmp29_, &_tmp30_); +#line 317 "/home/jens/Source/shotwell/src/Printing.vala" + iter = _tmp30_; +#line 318 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = image_per_page_combo_store; +#line 318 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = iter; +#line 318 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp33_ = layout; +#line 318 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp34_ = print_layout_to_string (_tmp33_); +#line 318 "/home/jens/Source/shotwell/src/Printing.vala" + g_value_init (&_tmp35_, G_TYPE_STRING); +#line 318 "/home/jens/Source/shotwell/src/Printing.vala" + g_value_take_string (&_tmp35_, _tmp34_); +#line 318 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_list_store_set_value (_tmp31_, &_tmp32_, 0, &_tmp35_); +#line 318 "/home/jens/Source/shotwell/src/Printing.vala" + G_IS_VALUE (&_tmp35_) ? (g_value_unset (&_tmp35_), NULL) : NULL; +#line 2293 "Printing.c" + } + } +#line 315 "/home/jens/Source/shotwell/src/Printing.vala" + layout_collection = (g_free (layout_collection), NULL); +#line 2298 "Printing.c" + } +#line 320 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp36_ = self->priv->image_per_page_combo; +#line 320 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37_ = image_per_page_combo_store; +#line 320 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_set_model (_tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp38_ = print_manager_get_instance (); +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp39_ = _tmp38_; +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp41_ = print_manager_get_standard_sizes (_tmp39_, &_tmp40_); +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42_ = _tmp41_; +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42__length1 = _tmp40_; +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + _print_manager_unref0 (_tmp39_); +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + standard_sizes = _tmp42_; +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + standard_sizes_length1 = _tmp42__length1; +#line 322 "/home/jens/Source/shotwell/src/Printing.vala" + _standard_sizes_size_ = standard_sizes_length1; +#line 323 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp43_ = builder; +#line 323 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp44_ = gtk_builder_get_object (_tmp43_, "combo_StdSizes"); +#line 323 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp45_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp44_, gtk_combo_box_get_type ()) ? ((GtkComboBox*) _tmp44_) : NULL); +#line 323 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->standard_sizes_combo); +#line 323 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->standard_sizes_combo = _tmp45_; +#line 324 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp46_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 324 "/home/jens/Source/shotwell/src/Printing.vala" + g_object_ref_sink (_tmp46_); +#line 324 "/home/jens/Source/shotwell/src/Printing.vala" + standard_sizes_combo_text_renderer = _tmp46_; +#line 326 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp47_ = self->priv->standard_sizes_combo; +#line 326 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp48_ = standard_sizes_combo_text_renderer; +#line 326 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 327 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp49_ = self->priv->standard_sizes_combo; +#line 327 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp50_ = standard_sizes_combo_text_renderer; +#line 327 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_cell_renderer_get_type (), GtkCellRenderer), "text", 0); +#line 329 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp51_ = self->priv->standard_sizes_combo; +#line 329 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_set_row_separator_func (_tmp51_, _custom_print_tab_standard_sizes_combo_separator_func_gtk_tree_view_row_separator_func, NULL, NULL); +#line 330 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp52_ = gtk_list_store_new (1, G_TYPE_STRING, G_TYPE_STRING, -1); +#line 330 "/home/jens/Source/shotwell/src/Printing.vala" + standard_sizes_combo_store = _tmp52_; +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp53_ = standard_sizes; +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp53__length1 = standard_sizes_length1; +#line 2364 "Printing.c" + { + StandardPrintSize** size_collection = NULL; + gint size_collection_length1 = 0; + gint _size_collection_size_ = 0; + gint size_it = 0; +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + size_collection = _tmp53_; +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + size_collection_length1 = _tmp53__length1; +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + for (size_it = 0; size_it < _tmp53__length1; size_it = size_it + 1) { +#line 2376 "Printing.c" + StandardPrintSize* _tmp54_ = NULL; + StandardPrintSize* size = NULL; +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp54_ = _standard_print_size_ref0 (size_collection[size_it]); +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + size = _tmp54_; +#line 2383 "Printing.c" + { + GtkTreeIter iter = {0}; + GtkListStore* _tmp55_ = NULL; + GtkTreeIter _tmp56_ = {0}; + GtkListStore* _tmp57_ = NULL; + GtkTreeIter _tmp58_ = {0}; + StandardPrintSize* _tmp59_ = NULL; + const gchar* _tmp60_ = NULL; + GValue _tmp61_ = {0}; +#line 334 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp55_ = standard_sizes_combo_store; +#line 334 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_list_store_append (_tmp55_, &_tmp56_); +#line 334 "/home/jens/Source/shotwell/src/Printing.vala" + iter = _tmp56_; +#line 335 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp57_ = standard_sizes_combo_store; +#line 335 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp58_ = iter; +#line 335 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp59_ = size; +#line 335 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp60_ = _tmp59_->name; +#line 335 "/home/jens/Source/shotwell/src/Printing.vala" + g_value_init (&_tmp61_, G_TYPE_STRING); +#line 335 "/home/jens/Source/shotwell/src/Printing.vala" + g_value_set_string (&_tmp61_, _tmp60_); +#line 335 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_list_store_set_value (_tmp57_, &_tmp58_, 0, &_tmp61_); +#line 335 "/home/jens/Source/shotwell/src/Printing.vala" + G_IS_VALUE (&_tmp61_) ? (g_value_unset (&_tmp61_), NULL) : NULL; +#line 332 "/home/jens/Source/shotwell/src/Printing.vala" + _standard_print_size_unref0 (size); +#line 2417 "Printing.c" + } + } + } +#line 337 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp62_ = self->priv->standard_sizes_combo; +#line 337 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp63_ = standard_sizes_combo_store; +#line 337 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_set_model (_tmp62_, G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 339 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp64_ = builder; +#line 339 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp65_ = gtk_builder_get_object (_tmp64_, "entry_CustomWidth"); +#line 339 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp66_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp65_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp65_) : NULL); +#line 339 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_width_entry); +#line 339 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_width_entry = _tmp66_; +#line 340 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp67_ = self->priv->custom_width_entry; +#line 340 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GTK_TYPE_EDITABLE, GtkEditable), "insert-text", (GCallback) _custom_print_tab_on_entry_insert_text_gtk_editable_insert_text, self, 0); +#line 341 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp68_ = self->priv->custom_width_entry; +#line 341 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, gtk_widget_get_type (), GtkWidget), "focus-out-event", (GCallback) _custom_print_tab_on_width_entry_focus_out_gtk_widget_focus_out_event, self, 0); +#line 343 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp69_ = builder; +#line 343 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp70_ = gtk_builder_get_object (_tmp69_, "entry_CustomHeight"); +#line 343 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp71_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp70_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp70_) : NULL); +#line 343 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_height_entry); +#line 343 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_height_entry = _tmp71_; +#line 344 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp72_ = self->priv->custom_height_entry; +#line 344 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GTK_TYPE_EDITABLE, GtkEditable), "insert-text", (GCallback) _custom_print_tab_on_entry_insert_text_gtk_editable_insert_text, self, 0); +#line 345 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp73_ = self->priv->custom_height_entry; +#line 345 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, gtk_widget_get_type (), GtkWidget), "focus-out-event", (GCallback) _custom_print_tab_on_height_entry_focus_out_gtk_widget_focus_out_event, self, 0); +#line 347 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp74_ = builder; +#line 347 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp75_ = gtk_builder_get_object (_tmp74_, "combo_Units"); +#line 347 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp76_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp75_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp75_) : NULL); +#line 347 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->units_combo); +#line 347 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->units_combo = _tmp76_; +#line 348 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp77_ = self->priv->units_combo; +#line 348 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp78_ = _ ("in."); +#line 348 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_text_append_text (_tmp77_, _tmp78_); +#line 349 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp79_ = self->priv->units_combo; +#line 349 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp80_ = _ ("cm"); +#line 349 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_text_append_text (_tmp79_, _tmp80_); +#line 350 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp81_ = self->priv->units_combo; +#line 350 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 351 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp82_ = self->priv->units_combo; +#line 351 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _custom_print_tab_on_units_combo_changed_gtk_combo_box_changed, self, 0); +#line 353 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp83_ = builder; +#line 353 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp84_ = gtk_builder_get_object (_tmp83_, "check_MatchAspectRatio"); +#line 353 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp85_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp84_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp84_) : NULL); +#line 353 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->aspect_ratio_check); +#line 353 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->aspect_ratio_check = _tmp85_; +#line 354 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp86_ = builder; +#line 354 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp87_ = gtk_builder_get_object (_tmp86_, "check_PrintImageTitle"); +#line 354 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp88_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp87_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp87_) : NULL); +#line 354 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->title_print_check); +#line 354 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->title_print_check = _tmp88_; +#line 355 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp89_ = builder; +#line 355 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp90_ = gtk_builder_get_object (_tmp89_, "fntbn_TitleFont"); +#line 355 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp91_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp90_, gtk_font_button_get_type ()) ? ((GtkFontButton*) _tmp90_) : NULL); +#line 355 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->title_print_font); +#line 355 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->title_print_font = _tmp91_; +#line 357 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp92_ = builder; +#line 357 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp93_ = gtk_builder_get_object (_tmp92_, "entry_PixelsPerInch"); +#line 357 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp94_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp93_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp93_) : NULL); +#line 357 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->ppi_entry); +#line 357 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->ppi_entry = _tmp94_; +#line 358 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp95_ = self->priv->ppi_entry; +#line 358 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, GTK_TYPE_EDITABLE, GtkEditable), "insert-text", (GCallback) _custom_print_tab_on_ppi_entry_insert_text_gtk_editable_insert_text, self, 0); +#line 359 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp96_ = self->priv->ppi_entry; +#line 359 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp96_, gtk_widget_get_type (), GtkWidget), "focus-out-event", (GCallback) _custom_print_tab_on_ppi_entry_focus_out_gtk_widget_focus_out_event, self, 0); +#line 361 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp97_ = self->priv->custom_image_settings_pane; +#line 361 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp97_, gtk_widget_get_type (), GtkWidget)); +#line 363 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp98_ = source_job; +#line 363 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_sync_state_from_job (self, _tmp98_); +#line 365 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 368 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp99_ = self->priv->aspect_ratio_check; +#line 368 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp99_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _custom_print_tab_on_aspect_ratio_check_clicked_gtk_button_clicked, self, 0); +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (standard_sizes_combo_store); +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (standard_sizes_combo_text_renderer); +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + standard_sizes = (_vala_array_free (standard_sizes, standard_sizes_length1, (GDestroyNotify) standard_print_size_unref), NULL); +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (image_per_page_combo_store); +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (image_per_page_combo_text_renderer); +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (builder); +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + return self; +#line 2569 "Printing.c" +} + + +CustomPrintTab* custom_print_tab_new (PrintJob* source_job) { +#line 291 "/home/jens/Source/shotwell/src/Printing.vala" + return custom_print_tab_construct (TYPE_CUSTOM_PRINT_TAB, source_job); +#line 2576 "Printing.c" +} + + +static void custom_print_tab_on_aspect_ratio_check_clicked (CustomPrintTab* self) { + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 371 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 372 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->aspect_ratio_check; +#line 372 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 372 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp1_) { +#line 2591 "Printing.c" + Measurement _tmp2_ = {0}; + gdouble _tmp3_ = 0.0; + PrintJob* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + Measurement _tmp6_ = {0}; + MeasurementUnit _tmp7_ = 0; + GtkEntry* _tmp8_ = NULL; + Measurement _tmp9_ = {0}; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 373 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->local_content_height; +#line 373 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = _tmp2_.value; +#line 373 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = self->priv->source_job; +#line 373 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = print_job_get_source_aspect_ratio (_tmp4_); +#line 373 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = self->priv->local_content_height; +#line 373 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = _tmp6_.unit; +#line 373 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&self->priv->local_content_width, _tmp3_ * _tmp5_, _tmp7_); +#line 376 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = self->priv->custom_width_entry; +#line 376 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = self->priv->local_content_width; +#line 376 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = custom_print_tab_format_measurement (self, &_tmp9_); +#line 376 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = _tmp10_; +#line 376 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp8_, _tmp11_); +#line 376 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp11_); +#line 2628 "Printing.c" + } +} + + +static gboolean custom_print_tab_on_width_entry_focus_out (CustomPrintTab* self, GdkEventFocus* event) { + gboolean result = FALSE; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + Measurement _tmp2_ = {0}; + MeasurementUnit _tmp3_ = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + Measurement new_width = {0}; + Measurement _tmp7_ = {0}; + Measurement min_width = {0}; + PrintJob* _tmp8_ = NULL; + PrintSettings* _tmp9_ = NULL; + PrintSettings* _tmp10_ = NULL; + Measurement _tmp11_ = {0}; + Measurement _tmp12_ = {0}; + Measurement max_width = {0}; + PrintJob* _tmp13_ = NULL; + PrintSettings* _tmp14_ = NULL; + PrintSettings* _tmp15_ = NULL; + Measurement _tmp16_ = {0}; + Measurement _tmp17_ = {0}; + gboolean _tmp18_ = FALSE; + Measurement _tmp19_ = {0}; + gboolean _tmp20_ = FALSE; + gboolean _tmp27_ = FALSE; + Measurement _tmp39_ = {0}; + GtkEntry* _tmp40_ = NULL; + Measurement _tmp41_ = {0}; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 380 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), FALSE); +#line 380 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->custom_width_entry; +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->local_content_width; +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = custom_print_tab_get_user_unit_choice (self); +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = custom_print_tab_format_measurement_as (self, &_tmp2_, _tmp3_); +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_; +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = g_strcmp0 (_tmp1_, _tmp5_) == 0; +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp5_); +#line 381 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp6_) { +#line 383 "/home/jens/Source/shotwell/src/Printing.vala" + result = FALSE; +#line 383 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2691 "Printing.c" + } +#line 385 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_get_width_entry_value (self, &_tmp7_); +#line 385 "/home/jens/Source/shotwell/src/Printing.vala" + new_width = _tmp7_; +#line 386 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = self->priv->source_job; +#line 386 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = print_job_get_local_settings (_tmp8_); +#line 386 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = _tmp9_; +#line 386 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_minimum_content_dimension (_tmp10_, &_tmp11_); +#line 386 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _tmp11_; +#line 386 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp10_); +#line 386 "/home/jens/Source/shotwell/src/Printing.vala" + min_width = _tmp12_; +#line 387 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = self->priv->source_job; +#line 387 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = print_job_get_local_settings (_tmp13_); +#line 387 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = _tmp14_; +#line 387 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_maximum_content_dimension (_tmp15_, &_tmp16_); +#line 387 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = _tmp16_; +#line 387 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp15_); +#line 387 "/home/jens/Source/shotwell/src/Printing.vala" + max_width = _tmp17_; +#line 389 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = min_width; +#line 389 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = measurement_is_less_than (&new_width, &_tmp19_); +#line 389 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp20_) { +#line 389 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = TRUE; +#line 2733 "Printing.c" + } else { + Measurement _tmp21_ = {0}; + gboolean _tmp22_ = FALSE; +#line 389 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = max_width; +#line 389 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = measurement_is_greater_than (&new_width, &_tmp21_); +#line 389 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = _tmp22_; +#line 2743 "Printing.c" + } +#line 389 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp18_) { +#line 2747 "Printing.c" + GtkEntry* _tmp23_ = NULL; + Measurement _tmp24_ = {0}; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = self->priv->custom_width_entry; +#line 390 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = self->priv->local_content_width; +#line 390 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = custom_print_tab_format_measurement (self, &_tmp24_); +#line 390 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = _tmp25_; +#line 390 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp23_, _tmp26_); +#line 390 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp26_); +#line 391 "/home/jens/Source/shotwell/src/Printing.vala" + result = FALSE; +#line 391 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2768 "Printing.c" + } +#line 394 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = custom_print_tab_is_match_aspect_ratio_enabled (self); +#line 394 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp27_) { +#line 2774 "Printing.c" + Measurement new_height = {0}; + Measurement _tmp28_ = {0}; + gdouble _tmp29_ = 0.0; + PrintJob* _tmp30_ = NULL; + gdouble _tmp31_ = 0.0; + Measurement _tmp32_ = {0}; + MeasurementUnit _tmp33_ = 0; + Measurement _tmp34_ = {0}; + GtkEntry* _tmp35_ = NULL; + Measurement _tmp36_ = {0}; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = new_width; +#line 395 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = _tmp28_.value; +#line 395 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = self->priv->source_job; +#line 395 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = print_job_get_source_aspect_ratio (_tmp30_); +#line 395 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = new_width; +#line 395 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp33_ = _tmp32_.unit; +#line 395 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&new_height, _tmp29_ / _tmp31_, _tmp33_); +#line 398 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp34_ = new_height; +#line 398 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_height = _tmp34_; +#line 399 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp35_ = self->priv->custom_height_entry; +#line 399 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp36_ = new_height; +#line 399 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37_ = custom_print_tab_format_measurement (self, &_tmp36_); +#line 399 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp38_ = _tmp37_; +#line 399 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp35_, _tmp38_); +#line 399 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp38_); +#line 2817 "Printing.c" + } +#line 402 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp39_ = new_width; +#line 402 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_width = _tmp39_; +#line 403 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp40_ = self->priv->custom_width_entry; +#line 403 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp41_ = new_width; +#line 403 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42_ = custom_print_tab_format_measurement (self, &_tmp41_); +#line 403 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp43_ = _tmp42_; +#line 403 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp40_, _tmp43_); +#line 403 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp43_); +#line 404 "/home/jens/Source/shotwell/src/Printing.vala" + result = FALSE; +#line 404 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2839 "Printing.c" +} + + +static gchar* custom_print_tab_format_measurement (CustomPrintTab* self, Measurement* measurement) { + gchar* result = NULL; + Measurement _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gchar* _tmp2_ = NULL; +#line 407 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), NULL); +#line 407 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (measurement != NULL, NULL); +#line 408 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = *measurement; +#line 408 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _tmp0_.value; +#line 408 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = g_strdup_printf ("%.2f", _tmp1_); +#line 408 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp2_; +#line 408 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2862 "Printing.c" +} + + +static gchar* custom_print_tab_format_measurement_as (CustomPrintTab* self, Measurement* measurement, MeasurementUnit to_unit) { + gchar* result = NULL; + Measurement _tmp0_ = {0}; + Measurement _tmp1_ = {0}; + MeasurementUnit _tmp2_ = 0; + MeasurementUnit _tmp3_ = 0; + Measurement converted_measurement = {0}; + Measurement _tmp7_ = {0}; + gchar* _tmp8_ = NULL; +#line 411 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), NULL); +#line 411 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (measurement != NULL, NULL); +#line 412 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = *measurement; +#line 412 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _tmp1_.unit; +#line 412 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = to_unit; +#line 412 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_ == _tmp3_) { +#line 2887 "Printing.c" + Measurement _tmp4_ = {0}; +#line 412 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = *measurement; +#line 412 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = _tmp4_; +#line 2893 "Printing.c" + } else { + MeasurementUnit _tmp5_ = 0; + Measurement _tmp6_ = {0}; +#line 413 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = to_unit; +#line 413 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (measurement, _tmp5_, &_tmp6_); +#line 413 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = _tmp6_; +#line 2903 "Printing.c" + } +#line 412 "/home/jens/Source/shotwell/src/Printing.vala" + converted_measurement = _tmp0_; +#line 414 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = converted_measurement; +#line 414 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = custom_print_tab_format_measurement (self, &_tmp7_); +#line 414 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp8_; +#line 414 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2915 "Printing.c" +} + + +static gboolean custom_print_tab_on_ppi_entry_focus_out (CustomPrintTab* self, GdkEventFocus* event) { + gboolean result = FALSE; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 417 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), FALSE); +#line 417 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 418 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->ppi_entry; +#line 418 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 418 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = atoi (_tmp1_); +#line 418 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_ppi (self, _tmp2_); +#line 419 "/home/jens/Source/shotwell/src/Printing.vala" + result = FALSE; +#line 419 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 2940 "Printing.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2958 "Printing.c" +} + + +static void custom_print_tab_on_ppi_entry_insert_text (CustomPrintTab* self, GtkEditable* editable, const gchar* text, gint length, gint* position) { + GtkEntry* sender = NULL; + GtkEditable* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; + gchar* new_text = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + GtkEntry* _tmp31_ = NULL; +#line 422 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 422 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_EDITABLE (editable)); +#line 422 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (text != NULL); +#line 424 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = editable; +#line 424 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_entry_get_type (), GtkEntry)); +#line 424 "/home/jens/Source/shotwell/src/Printing.vala" + sender = _tmp1_; +#line 426 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->is_text_insertion_in_progress; +#line 426 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_) { +#line 427 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (sender); +#line 427 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 2994 "Printing.c" + } +#line 429 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->is_text_insertion_in_progress = TRUE; +#line 431 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = length; +#line 431 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp3_ == -1) { +#line 3002 "Printing.c" + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 432 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = text; +#line 432 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = strlen (_tmp4_); +#line 432 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = _tmp5_; +#line 432 "/home/jens/Source/shotwell/src/Printing.vala" + length = (gint) _tmp6_; +#line 3014 "Printing.c" + } +#line 434 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = g_strdup (""); +#line 434 "/home/jens/Source/shotwell/src/Printing.vala" + new_text = _tmp7_; +#line 3020 "Printing.c" + { + gint ctr = 0; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + ctr = 0; +#line 3025 "Printing.c" + { + gboolean _tmp8_ = FALSE; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = TRUE; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + while (TRUE) { +#line 3032 "Printing.c" + gint _tmp10_ = 0; + gint _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + gchar _tmp14_ = '\0'; + gboolean _tmp15_ = FALSE; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + if (!_tmp8_) { +#line 3041 "Printing.c" + gint _tmp9_ = 0; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = ctr; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + ctr = _tmp9_ + 1; +#line 3047 "Printing.c" + } +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = FALSE; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = ctr; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = length; +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 435 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 3059 "Printing.c" + } +#line 436 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = text; +#line 436 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = ctr; +#line 436 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = string_get (_tmp12_, (glong) _tmp13_); +#line 436 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = g_ascii_isdigit (_tmp14_); +#line 436 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp15_) { +#line 3071 "Printing.c" + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; + gchar _tmp19_ = '\0'; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = new_text; +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = text; +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = ctr; +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = string_get (_tmp17_, (glong) _tmp18_); +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = g_strdup_printf ("%c", (gchar) _tmp19_); +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = _tmp20_; +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = g_strconcat (_tmp16_, _tmp21_, NULL); +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (new_text); +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + new_text = _tmp22_; +#line 437 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp21_); +#line 3099 "Printing.c" + } + } + } + } +#line 440 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = new_text; +#line 440 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = strlen (_tmp23_); +#line 440 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = _tmp24_; +#line 440 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp25_ > 0) { +#line 3112 "Printing.c" + GtkEntry* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; +#line 441 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = sender; +#line 441 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = new_text; +#line 441 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = new_text; +#line 441 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = strlen (_tmp28_); +#line 441 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = _tmp29_; +#line 441 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_editable_insert_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GTK_TYPE_EDITABLE, GtkEditable), _tmp27_, (gint) _tmp30_, position); +#line 3130 "Printing.c" + } +#line 443 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = sender; +#line 443 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_stop_emission_by_name (_tmp31_, "insert-text"); +#line 445 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->is_text_insertion_in_progress = FALSE; +#line 422 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (new_text); +#line 422 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (sender); +#line 3142 "Printing.c" +} + + +static gboolean custom_print_tab_on_height_entry_focus_out (CustomPrintTab* self, GdkEventFocus* event) { + gboolean result = FALSE; + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + Measurement _tmp2_ = {0}; + MeasurementUnit _tmp3_ = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + Measurement new_height = {0}; + Measurement _tmp7_ = {0}; + Measurement min_height = {0}; + PrintJob* _tmp8_ = NULL; + PrintSettings* _tmp9_ = NULL; + PrintSettings* _tmp10_ = NULL; + Measurement _tmp11_ = {0}; + Measurement _tmp12_ = {0}; + Measurement max_height = {0}; + PrintJob* _tmp13_ = NULL; + PrintSettings* _tmp14_ = NULL; + PrintSettings* _tmp15_ = NULL; + Measurement _tmp16_ = {0}; + Measurement _tmp17_ = {0}; + gboolean _tmp18_ = FALSE; + Measurement _tmp19_ = {0}; + gboolean _tmp20_ = FALSE; + gboolean _tmp27_ = FALSE; + Measurement _tmp39_ = {0}; + GtkEntry* _tmp40_ = NULL; + Measurement _tmp41_ = {0}; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), FALSE); +#line 448 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->custom_height_entry; +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->local_content_height; +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = custom_print_tab_get_user_unit_choice (self); +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = custom_print_tab_format_measurement_as (self, &_tmp2_, _tmp3_); +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_; +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = g_strcmp0 (_tmp1_, _tmp5_) == 0; +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp5_); +#line 449 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp6_) { +#line 451 "/home/jens/Source/shotwell/src/Printing.vala" + result = FALSE; +#line 451 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 3204 "Printing.c" + } +#line 453 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_get_height_entry_value (self, &_tmp7_); +#line 453 "/home/jens/Source/shotwell/src/Printing.vala" + new_height = _tmp7_; +#line 454 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = self->priv->source_job; +#line 454 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = print_job_get_local_settings (_tmp8_); +#line 454 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = _tmp9_; +#line 454 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_minimum_content_dimension (_tmp10_, &_tmp11_); +#line 454 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _tmp11_; +#line 454 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp10_); +#line 454 "/home/jens/Source/shotwell/src/Printing.vala" + min_height = _tmp12_; +#line 455 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = self->priv->source_job; +#line 455 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = print_job_get_local_settings (_tmp13_); +#line 455 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = _tmp14_; +#line 455 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_maximum_content_dimension (_tmp15_, &_tmp16_); +#line 455 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = _tmp16_; +#line 455 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp15_); +#line 455 "/home/jens/Source/shotwell/src/Printing.vala" + max_height = _tmp17_; +#line 457 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = min_height; +#line 457 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = measurement_is_less_than (&new_height, &_tmp19_); +#line 457 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp20_) { +#line 457 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = TRUE; +#line 3246 "Printing.c" + } else { + Measurement _tmp21_ = {0}; + gboolean _tmp22_ = FALSE; +#line 457 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = max_height; +#line 457 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = measurement_is_greater_than (&new_height, &_tmp21_); +#line 457 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = _tmp22_; +#line 3256 "Printing.c" + } +#line 457 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp18_) { +#line 3260 "Printing.c" + GtkEntry* _tmp23_ = NULL; + Measurement _tmp24_ = {0}; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = self->priv->custom_height_entry; +#line 458 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = self->priv->local_content_height; +#line 458 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = custom_print_tab_format_measurement (self, &_tmp24_); +#line 458 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = _tmp25_; +#line 458 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp23_, _tmp26_); +#line 458 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp26_); +#line 459 "/home/jens/Source/shotwell/src/Printing.vala" + result = FALSE; +#line 459 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 3281 "Printing.c" + } +#line 462 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = custom_print_tab_is_match_aspect_ratio_enabled (self); +#line 462 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp27_) { +#line 3287 "Printing.c" + Measurement new_width = {0}; + Measurement _tmp28_ = {0}; + gdouble _tmp29_ = 0.0; + PrintJob* _tmp30_ = NULL; + gdouble _tmp31_ = 0.0; + Measurement _tmp32_ = {0}; + MeasurementUnit _tmp33_ = 0; + Measurement _tmp34_ = {0}; + GtkEntry* _tmp35_ = NULL; + Measurement _tmp36_ = {0}; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; +#line 463 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = new_height; +#line 463 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = _tmp28_.value; +#line 463 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = self->priv->source_job; +#line 463 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = print_job_get_source_aspect_ratio (_tmp30_); +#line 463 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = new_height; +#line 463 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp33_ = _tmp32_.unit; +#line 463 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&new_width, _tmp29_ * _tmp31_, _tmp33_); +#line 466 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp34_ = new_width; +#line 466 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_width = _tmp34_; +#line 467 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp35_ = self->priv->custom_width_entry; +#line 467 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp36_ = new_width; +#line 467 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37_ = custom_print_tab_format_measurement (self, &_tmp36_); +#line 467 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp38_ = _tmp37_; +#line 467 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp35_, _tmp38_); +#line 467 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp38_); +#line 3330 "Printing.c" + } +#line 470 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp39_ = new_height; +#line 470 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_height = _tmp39_; +#line 471 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp40_ = self->priv->custom_height_entry; +#line 471 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp41_ = new_height; +#line 471 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42_ = custom_print_tab_format_measurement (self, &_tmp41_); +#line 471 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp43_ = _tmp42_; +#line 471 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp40_, _tmp43_); +#line 471 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp43_); +#line 472 "/home/jens/Source/shotwell/src/Printing.vala" + result = FALSE; +#line 472 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 3352 "Printing.c" +} + + +static MeasurementUnit custom_print_tab_get_user_unit_choice (CustomPrintTab* self) { + MeasurementUnit result = 0; + GtkComboBoxText* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 475 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), 0); +#line 476 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->units_combo; +#line 476 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox)); +#line 476 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp1_ == CUSTOM_PRINT_TAB_INCHES_COMBO_CHOICE) { +#line 477 "/home/jens/Source/shotwell/src/Printing.vala" + result = MEASUREMENT_UNIT_INCHES; +#line 477 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 3372 "Printing.c" + } else { + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 478 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->units_combo; +#line 478 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 478 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp3_ == CUSTOM_PRINT_TAB_CENTIMETERS_COMBO_CHOICE) { +#line 479 "/home/jens/Source/shotwell/src/Printing.vala" + result = MEASUREMENT_UNIT_CENTIMETERS; +#line 479 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 3386 "Printing.c" + } else { +#line 481 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:481: unknown unit combo box choice"); +#line 3390 "Printing.c" + } + } +} + + +static void custom_print_tab_set_user_unit_choice (CustomPrintTab* self, MeasurementUnit unit) { + MeasurementUnit _tmp0_ = 0; +#line 485 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 486 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = unit; +#line 486 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp0_ == MEASUREMENT_UNIT_INCHES) { +#line 3404 "Printing.c" + GtkComboBoxText* _tmp1_ = NULL; +#line 487 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = self->priv->units_combo; +#line 487 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), CUSTOM_PRINT_TAB_INCHES_COMBO_CHOICE); +#line 3410 "Printing.c" + } else { + MeasurementUnit _tmp2_ = 0; +#line 488 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = unit; +#line 488 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_ == MEASUREMENT_UNIT_CENTIMETERS) { +#line 3417 "Printing.c" + GtkComboBoxText* _tmp3_ = NULL; +#line 489 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->units_combo; +#line 489 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_combo_box_get_type (), GtkComboBox), CUSTOM_PRINT_TAB_CENTIMETERS_COMBO_CHOICE); +#line 3423 "Printing.c" + } else { +#line 491 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:491: unknown MeasurementUnit enumeration"); +#line 3427 "Printing.c" + } + } +} + + +static gdouble double_parse (const gchar* str) { + gdouble result = 0.0; + const gchar* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; +#line 869 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (str != NULL, 0.0); +#line 870 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 870 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_ascii_strtod (_tmp0_, NULL); +#line 870 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 870 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3447 "Printing.c" +} + + +static void custom_print_tab_get_width_entry_value (CustomPrintTab* self, Measurement* result) { + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + MeasurementUnit _tmp3_ = 0; + Measurement _tmp4_ = {0}; +#line 495 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 496 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->custom_width_entry; +#line 496 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 496 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = double_parse (_tmp1_); +#line 496 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = custom_print_tab_get_user_unit_choice (self); +#line 496 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp4_, _tmp2_, _tmp3_); +#line 496 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp4_; +#line 496 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 3473 "Printing.c" +} + + +static void custom_print_tab_get_height_entry_value (CustomPrintTab* self, Measurement* result) { + GtkEntry* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + MeasurementUnit _tmp3_ = 0; + Measurement _tmp4_ = {0}; +#line 499 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 500 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->custom_height_entry; +#line 500 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_entry_get_text (_tmp0_); +#line 500 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = double_parse (_tmp1_); +#line 500 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = custom_print_tab_get_user_unit_choice (self); +#line 500 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp4_, _tmp2_, _tmp3_); +#line 500 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp4_; +#line 500 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 3499 "Printing.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3519 "Printing.c" +} + + +static void custom_print_tab_on_entry_insert_text (CustomPrintTab* self, GtkEditable* editable, const gchar* text, gint length, gint* position) { + GtkEntry* sender = NULL; + GtkEditable* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; + gchar* decimal_point = NULL; + struct lconv* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gboolean contains_decimal_point = FALSE; + GtkEntry* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gchar* new_text = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + GtkEntry* _tmp52_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 503 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_EDITABLE (editable)); +#line 503 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (text != NULL); +#line 506 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = editable; +#line 506 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_entry_get_type (), GtkEntry)); +#line 506 "/home/jens/Source/shotwell/src/Printing.vala" + sender = _tmp1_; +#line 508 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->is_text_insertion_in_progress; +#line 508 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_) { +#line 509 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (sender); +#line 509 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 3564 "Printing.c" + } +#line 511 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->is_text_insertion_in_progress = TRUE; +#line 513 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = length; +#line 513 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp3_ == -1) { +#line 3572 "Printing.c" + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 514 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = text; +#line 514 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = strlen (_tmp4_); +#line 514 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = _tmp5_; +#line 514 "/home/jens/Source/shotwell/src/Printing.vala" + length = (gint) _tmp6_; +#line 3584 "Printing.c" + } +#line 516 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = localeconv (); +#line 516 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = _tmp7_->decimal_point; +#line 516 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 516 "/home/jens/Source/shotwell/src/Printing.vala" + decimal_point = _tmp9_; +#line 517 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = sender; +#line 517 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = gtk_entry_get_text (_tmp10_); +#line 517 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = decimal_point; +#line 517 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = string_contains (_tmp11_, _tmp12_); +#line 517 "/home/jens/Source/shotwell/src/Printing.vala" + contains_decimal_point = _tmp13_; +#line 519 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = g_strdup (""); +#line 519 "/home/jens/Source/shotwell/src/Printing.vala" + new_text = _tmp14_; +#line 3608 "Printing.c" + { + gint ctr = 0; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + ctr = 0; +#line 3613 "Printing.c" + { + gboolean _tmp15_ = FALSE; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = TRUE; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + while (TRUE) { +#line 3620 "Printing.c" + gint _tmp17_ = 0; + gint _tmp18_ = 0; + const gchar* _tmp19_ = NULL; + gint _tmp20_ = 0; + gchar _tmp21_ = '\0'; + gboolean _tmp22_ = FALSE; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + if (!_tmp15_) { +#line 3629 "Printing.c" + gint _tmp16_ = 0; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = ctr; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + ctr = _tmp16_ + 1; +#line 3635 "Printing.c" + } +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = FALSE; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = ctr; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = length; +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + if (!(_tmp17_ < _tmp18_)) { +#line 520 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 3647 "Printing.c" + } +#line 521 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = text; +#line 521 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = ctr; +#line 521 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = string_get (_tmp19_, (glong) _tmp20_); +#line 521 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = g_ascii_isdigit (_tmp21_); +#line 521 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp22_) { +#line 3659 "Printing.c" + const gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gint _tmp25_ = 0; + gchar _tmp26_ = '\0'; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = new_text; +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = text; +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = ctr; +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = string_get (_tmp24_, (glong) _tmp25_); +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = g_strdup_printf ("%c", (gchar) _tmp26_); +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = _tmp27_; +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = g_strconcat (_tmp23_, _tmp28_, NULL); +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (new_text); +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + new_text = _tmp29_; +#line 522 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp28_); +#line 3687 "Printing.c" + } else { + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = contains_decimal_point; +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + if (!_tmp31_) { +#line 3695 "Printing.c" + const gchar* _tmp32_ = NULL; + gint _tmp33_ = 0; + gchar _tmp34_ = '\0'; + const gchar* _tmp35_ = NULL; + gchar _tmp36_ = '\0'; +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = text; +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp33_ = ctr; +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp34_ = string_get (_tmp32_, (glong) _tmp33_); +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp35_ = decimal_point; +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp36_ = string_get (_tmp35_, (glong) 0); +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = _tmp34_ == _tmp36_; +#line 3713 "Printing.c" + } else { +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = FALSE; +#line 3717 "Printing.c" + } +#line 523 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp30_) { +#line 3721 "Printing.c" + const gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + gint _tmp39_ = 0; + gchar _tmp40_ = '\0'; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37_ = new_text; +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp38_ = text; +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp39_ = ctr; +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp40_ = string_get (_tmp38_, (glong) _tmp39_); +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp41_ = g_strdup_printf ("%c", (gchar) _tmp40_); +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42_ = _tmp41_; +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp43_ = g_strconcat (_tmp37_, _tmp42_, NULL); +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (new_text); +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + new_text = _tmp43_; +#line 524 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp42_); +#line 3749 "Printing.c" + } + } + } + } + } +#line 528 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp44_ = new_text; +#line 528 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp45_ = strlen (_tmp44_); +#line 528 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp46_ = _tmp45_; +#line 528 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp46_ > 0) { +#line 3763 "Printing.c" + GtkEntry* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; +#line 529 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp47_ = sender; +#line 529 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp48_ = new_text; +#line 529 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp49_ = new_text; +#line 529 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp50_ = strlen (_tmp49_); +#line 529 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp51_ = _tmp50_; +#line 529 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_editable_insert_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GTK_TYPE_EDITABLE, GtkEditable), _tmp48_, (gint) _tmp51_, position); +#line 3781 "Printing.c" + } +#line 531 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp52_ = sender; +#line 531 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_stop_emission_by_name (_tmp52_, "insert-text"); +#line 533 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->is_text_insertion_in_progress = FALSE; +#line 503 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (new_text); +#line 503 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (decimal_point); +#line 503 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (sender); +#line 3795 "Printing.c" +} + + +static void custom_print_tab_sync_state_from_job (CustomPrintTab* self, PrintJob* job) { + PrintJob* _tmp0_ = NULL; + PrintSettings* _tmp1_ = NULL; + PrintSettings* _tmp2_ = NULL; + Measurement _tmp3_ = {0}; + MeasurementUnit _tmp4_ = 0; + PrintJob* _tmp5_ = NULL; + PrintSettings* _tmp6_ = NULL; + PrintSettings* _tmp7_ = NULL; + Measurement _tmp8_ = {0}; + MeasurementUnit _tmp9_ = 0; + Measurement constrained_width = {0}; + PrintJob* _tmp10_ = NULL; + PrintSettings* _tmp11_ = NULL; + PrintSettings* _tmp12_ = NULL; + Measurement _tmp13_ = {0}; + Measurement _tmp14_ = {0}; + PrintJob* _tmp15_ = NULL; + PrintSettings* _tmp16_ = NULL; + PrintSettings* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + Measurement _tmp32_ = {0}; + PrintJob* _tmp33_ = NULL; + PrintSettings* _tmp34_ = NULL; + PrintSettings* _tmp35_ = NULL; + Measurement _tmp36_ = {0}; + PrintJob* _tmp37_ = NULL; + PrintSettings* _tmp38_ = NULL; + PrintSettings* _tmp39_ = NULL; + ContentLayout _tmp40_ = 0; + PrintJob* _tmp41_ = NULL; + PrintSettings* _tmp42_ = NULL; + PrintSettings* _tmp43_ = NULL; + gint _tmp44_ = 0; + PrintJob* _tmp45_ = NULL; + PrintSettings* _tmp46_ = NULL; + PrintSettings* _tmp47_ = NULL; + gint _tmp48_ = 0; + PrintJob* _tmp49_ = NULL; + PrintSettings* _tmp50_ = NULL; + PrintSettings* _tmp51_ = NULL; + gint _tmp52_ = 0; + PrintJob* _tmp53_ = NULL; + PrintSettings* _tmp54_ = NULL; + PrintSettings* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + PrintJob* _tmp57_ = NULL; + PrintSettings* _tmp58_ = NULL; + PrintSettings* _tmp59_ = NULL; + gboolean _tmp60_ = FALSE; + PrintJob* _tmp61_ = NULL; + PrintSettings* _tmp62_ = NULL; + PrintSettings* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; +#line 536 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 536 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_JOB (job)); +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = job; +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = print_job_get_local_settings (_tmp0_); +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _tmp1_; +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_content_width (_tmp2_, &_tmp3_); +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = _tmp3_.unit; +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = job; +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = print_job_get_local_settings (_tmp5_); +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = _tmp6_; +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_content_height (_tmp7_, &_tmp8_); +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = _tmp8_.unit; +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_assert (_tmp4_ == _tmp9_, "job.get_local_settings().get_content_width().unit == job.get_local_settings().get_content_height().unit"); +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp7_); +#line 537 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp2_); +#line 540 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = job; +#line 540 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = print_job_get_local_settings (_tmp10_); +#line 540 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _tmp11_; +#line 540 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_content_width (_tmp12_, &_tmp13_); +#line 540 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = _tmp13_; +#line 540 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp12_); +#line 540 "/home/jens/Source/shotwell/src/Printing.vala" + constrained_width = _tmp14_; +#line 541 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = job; +#line 541 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = print_job_get_local_settings (_tmp15_); +#line 541 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = _tmp16_; +#line 541 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = print_settings_is_match_aspect_ratio_enabled (_tmp17_); +#line 541 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = _tmp18_; +#line 541 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp17_); +#line 541 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp19_) { +#line 3913 "Printing.c" + PrintJob* _tmp20_ = NULL; + PrintSettings* _tmp21_ = NULL; + PrintSettings* _tmp22_ = NULL; + Measurement _tmp23_ = {0}; + gdouble _tmp24_ = 0.0; + PrintJob* _tmp25_ = NULL; + gdouble _tmp26_ = 0.0; + PrintJob* _tmp27_ = NULL; + PrintSettings* _tmp28_ = NULL; + PrintSettings* _tmp29_ = NULL; + Measurement _tmp30_ = {0}; + MeasurementUnit _tmp31_ = 0; +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = job; +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = print_job_get_local_settings (_tmp20_); +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = _tmp21_; +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_content_height (_tmp22_, &_tmp23_); +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = _tmp23_.value; +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = job; +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = print_job_get_source_aspect_ratio (_tmp25_); +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = job; +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = print_job_get_local_settings (_tmp27_); +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = _tmp28_; +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_content_height (_tmp29_, &_tmp30_); +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = _tmp30_.unit; +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&constrained_width, _tmp24_ * _tmp26_, _tmp31_); +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp29_); +#line 542 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp22_); +#line 3956 "Printing.c" + } +#line 544 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = constrained_width; +#line 544 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_width (self, &_tmp32_); +#line 545 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp33_ = job; +#line 545 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp34_ = print_job_get_local_settings (_tmp33_); +#line 545 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp35_ = _tmp34_; +#line 545 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_content_height (_tmp35_, &_tmp36_); +#line 545 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_height (self, &_tmp36_); +#line 545 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp35_); +#line 546 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37_ = job; +#line 546 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp38_ = print_job_get_local_settings (_tmp37_); +#line 546 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp39_ = _tmp38_; +#line 546 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp40_ = print_settings_get_content_layout (_tmp39_); +#line 546 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_layout (self, _tmp40_); +#line 546 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp39_); +#line 547 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp41_ = job; +#line 547 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42_ = print_job_get_local_settings (_tmp41_); +#line 547 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp43_ = _tmp42_; +#line 547 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp44_ = print_settings_get_content_ppi (_tmp43_); +#line 547 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_ppi (self, _tmp44_); +#line 547 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp43_); +#line 548 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp45_ = job; +#line 548 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp46_ = print_job_get_local_settings (_tmp45_); +#line 548 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp47_ = _tmp46_; +#line 548 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp48_ = print_settings_get_image_per_page_selection (_tmp47_); +#line 548 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_image_per_page_selection (self, _tmp48_); +#line 548 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp47_); +#line 549 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp49_ = job; +#line 549 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp50_ = print_job_get_local_settings (_tmp49_); +#line 549 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp51_ = _tmp50_; +#line 549 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp52_ = print_settings_get_size_selection (_tmp51_); +#line 549 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_size_selection (self, _tmp52_); +#line 549 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp51_); +#line 550 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp53_ = job; +#line 550 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp54_ = print_job_get_local_settings (_tmp53_); +#line 550 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp55_ = _tmp54_; +#line 550 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp56_ = print_settings_is_match_aspect_ratio_enabled (_tmp55_); +#line 550 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_match_aspect_ratio_enabled (self, _tmp56_); +#line 550 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp55_); +#line 551 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp57_ = job; +#line 551 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp58_ = print_job_get_local_settings (_tmp57_); +#line 551 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp59_ = _tmp58_; +#line 551 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp60_ = print_settings_is_print_titles_enabled (_tmp59_); +#line 551 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_print_titles_enabled (self, _tmp60_); +#line 551 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp59_); +#line 552 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp61_ = job; +#line 552 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp62_ = print_job_get_local_settings (_tmp61_); +#line 552 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp63_ = _tmp62_; +#line 552 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp64_ = print_settings_get_print_titles_font (_tmp63_); +#line 552 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp65_ = _tmp64_; +#line 552 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_print_titles_font (self, _tmp65_); +#line 552 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp65_); +#line 552 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp63_); +#line 4062 "Printing.c" +} + + +static void custom_print_tab_on_radio_group_click (CustomPrintTab* self, GtkButton* b) { + GtkRadioButton* sender = NULL; + GtkButton* _tmp0_ = NULL; + GtkRadioButton* _tmp1_ = NULL; + GtkRadioButton* _tmp2_ = NULL; + GtkRadioButton* _tmp3_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 555 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_BUTTON (b)); +#line 556 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = b; +#line 556 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_button_get_type (), GtkRadioButton)); +#line 556 "/home/jens/Source/shotwell/src/Printing.vala" + sender = _tmp1_; +#line 558 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = sender; +#line 558 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->standard_size_radio; +#line 558 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_ == _tmp3_) { +#line 4088 "Printing.c" + GtkComboBox* _tmp4_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_layout_control_state (self, CONTENT_LAYOUT_STANDARD_SIZE); +#line 560 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = self->priv->standard_sizes_combo; +#line 560 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 4096 "Printing.c" + } else { + GtkRadioButton* _tmp5_ = NULL; + GtkRadioButton* _tmp6_ = NULL; +#line 561 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = sender; +#line 561 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = self->priv->custom_size_radio; +#line 561 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp5_ == _tmp6_) { +#line 4106 "Printing.c" + GtkEntry* _tmp7_ = NULL; +#line 562 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_layout_control_state (self, CONTENT_LAYOUT_CUSTOM_SIZE); +#line 563 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = self->priv->custom_height_entry; +#line 563 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 4114 "Printing.c" + } else { + GtkRadioButton* _tmp8_ = NULL; + GtkRadioButton* _tmp9_ = NULL; +#line 564 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = sender; +#line 564 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = self->priv->image_per_page_radio; +#line 564 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp8_ == _tmp9_) { +#line 565 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_layout_control_state (self, CONTENT_LAYOUT_IMAGE_PER_PAGE); +#line 4126 "Printing.c" + } + } + } +#line 555 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (sender); +#line 4132 "Printing.c" +} + + +static void custom_print_tab_on_units_combo_changed (CustomPrintTab* self) { + GtkEntry* _tmp0_ = NULL; + Measurement _tmp1_ = {0}; + MeasurementUnit _tmp2_ = 0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GtkEntry* _tmp5_ = NULL; + Measurement _tmp6_ = {0}; + MeasurementUnit _tmp7_ = 0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 569 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 570 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->custom_height_entry; +#line 570 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = self->priv->local_content_height; +#line 570 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = custom_print_tab_get_user_unit_choice (self); +#line 570 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = custom_print_tab_format_measurement_as (self, &_tmp1_, _tmp2_); +#line 570 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = _tmp3_; +#line 570 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp0_, _tmp4_); +#line 570 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp4_); +#line 572 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = self->priv->custom_width_entry; +#line 572 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = self->priv->local_content_width; +#line 572 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = custom_print_tab_get_user_unit_choice (self); +#line 572 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = custom_print_tab_format_measurement_as (self, &_tmp6_, _tmp7_); +#line 572 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = _tmp8_; +#line 572 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp5_, _tmp9_); +#line 572 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp9_); +#line 4177 "Printing.c" +} + + +static void custom_print_tab_set_content_layout_control_state (CustomPrintTab* self, ContentLayout layout) { + ContentLayout _tmp0_ = 0; +#line 576 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 577 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = layout; +#line 577 "/home/jens/Source/shotwell/src/Printing.vala" + switch (_tmp0_) { +#line 577 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_STANDARD_SIZE: +#line 4191 "Printing.c" + { + GtkComboBox* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkEntry* _tmp3_ = NULL; + GtkEntry* _tmp4_ = NULL; + GtkCheckButton* _tmp5_ = NULL; + GtkComboBox* _tmp6_ = NULL; +#line 579 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = self->priv->standard_sizes_combo; +#line 579 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 580 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->units_combo; +#line 580 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 581 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->custom_width_entry; +#line 581 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 582 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = self->priv->custom_height_entry; +#line 582 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 583 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = self->priv->aspect_ratio_check; +#line 583 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 584 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = self->priv->image_per_page_combo; +#line 584 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 585 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 4225 "Printing.c" + } +#line 577 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_CUSTOM_SIZE: +#line 4229 "Printing.c" + { + GtkComboBox* _tmp7_ = NULL; + GtkComboBoxText* _tmp8_ = NULL; + GtkEntry* _tmp9_ = NULL; + GtkEntry* _tmp10_ = NULL; + GtkCheckButton* _tmp11_ = NULL; + GtkComboBox* _tmp12_ = NULL; +#line 588 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = self->priv->standard_sizes_combo; +#line 588 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 589 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = self->priv->units_combo; +#line 589 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 590 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = self->priv->custom_width_entry; +#line 590 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 591 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = self->priv->custom_height_entry; +#line 591 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 592 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = self->priv->aspect_ratio_check; +#line 592 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 593 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = self->priv->image_per_page_combo; +#line 593 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 594 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 4263 "Printing.c" + } +#line 577 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_IMAGE_PER_PAGE: +#line 4267 "Printing.c" + { + GtkComboBox* _tmp13_ = NULL; + GtkComboBoxText* _tmp14_ = NULL; + GtkEntry* _tmp15_ = NULL; + GtkEntry* _tmp16_ = NULL; + GtkCheckButton* _tmp17_ = NULL; + GtkComboBox* _tmp18_ = NULL; +#line 597 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = self->priv->standard_sizes_combo; +#line 597 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 598 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = self->priv->units_combo; +#line 598 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 599 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = self->priv->custom_width_entry; +#line 599 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 600 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = self->priv->custom_height_entry; +#line 600 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 601 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = self->priv->aspect_ratio_check; +#line 601 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 602 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = self->priv->image_per_page_combo; +#line 602 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 603 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 4301 "Printing.c" + } + default: + { +#line 606 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:606: unknown ContentLayout enumeration value"); +#line 4307 "Printing.c" + } + } +} + + +static gboolean custom_print_tab_standard_sizes_combo_separator_func (GtkTreeModel* model, GtkTreeIter* iter) { + gboolean result = FALSE; + GValue val = {0}; + GtkTreeModel* _tmp0_ = NULL; + GtkTreeIter _tmp1_ = {0}; + GValue _tmp2_ = {0}; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 610 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE); +#line 610 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (iter != NULL, FALSE); +#line 613 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = model; +#line 613 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = *iter; +#line 613 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_tree_model_get_value (_tmp0_, &_tmp1_, 0, &_tmp2_); +#line 613 "/home/jens/Source/shotwell/src/Printing.vala" + G_IS_VALUE (&val) ? (g_value_unset (&val), NULL) : NULL; +#line 613 "/home/jens/Source/shotwell/src/Printing.vala" + val = _tmp2_; +#line 615 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = g_value_dup_string (&val); +#line 615 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = _tmp3_; +#line 615 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = g_strcmp0 (_tmp4_, "-") == 0; +#line 615 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp4_); +#line 615 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp5_; +#line 615 "/home/jens/Source/shotwell/src/Printing.vala" + G_IS_VALUE (&val) ? (g_value_unset (&val), NULL) : NULL; +#line 615 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4350 "Printing.c" +} + + +static void custom_print_tab_set_content_layout (CustomPrintTab* self, ContentLayout content_layout) { + ContentLayout _tmp0_ = 0; + ContentLayout _tmp1_ = 0; +#line 618 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 619 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = content_layout; +#line 619 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_content_layout_control_state (self, _tmp0_); +#line 620 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = content_layout; +#line 620 "/home/jens/Source/shotwell/src/Printing.vala" + switch (_tmp1_) { +#line 620 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_STANDARD_SIZE: +#line 4369 "Printing.c" + { + GtkRadioButton* _tmp2_ = NULL; +#line 622 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->standard_size_radio; +#line 622 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 623 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 4378 "Printing.c" + } +#line 620 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_CUSTOM_SIZE: +#line 4382 "Printing.c" + { + GtkRadioButton* _tmp3_ = NULL; +#line 626 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->custom_size_radio; +#line 626 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 627 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 4391 "Printing.c" + } +#line 620 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_IMAGE_PER_PAGE: +#line 4395 "Printing.c" + { + GtkRadioButton* _tmp4_ = NULL; +#line 630 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = self->priv->image_per_page_radio; +#line 630 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 631 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 4404 "Printing.c" + } + default: + { +#line 634 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:634: unknown ContentLayout enumeration value"); +#line 4410 "Printing.c" + } + } +} + + +static ContentLayout custom_print_tab_get_content_layout (CustomPrintTab* self) { + ContentLayout result = 0; + GtkRadioButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GtkRadioButton* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GtkRadioButton* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 638 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), 0); +#line 639 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->standard_size_radio; +#line 639 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 639 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp1_) { +#line 640 "/home/jens/Source/shotwell/src/Printing.vala" + result = CONTENT_LAYOUT_STANDARD_SIZE; +#line 640 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4436 "Printing.c" + } +#line 641 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->custom_size_radio; +#line 641 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 641 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp3_) { +#line 642 "/home/jens/Source/shotwell/src/Printing.vala" + result = CONTENT_LAYOUT_CUSTOM_SIZE; +#line 642 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4448 "Printing.c" + } +#line 643 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = self->priv->image_per_page_radio; +#line 643 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 643 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp5_) { +#line 644 "/home/jens/Source/shotwell/src/Printing.vala" + result = CONTENT_LAYOUT_IMAGE_PER_PAGE; +#line 644 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4460 "Printing.c" + } +#line 646 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:646: inconsistent content layout radio button group stat" \ +"e"); +#line 4464 "Printing.c" +} + + +static void custom_print_tab_set_content_width (CustomPrintTab* self, Measurement* content_width) { + Measurement _tmp0_ = {0}; + MeasurementUnit _tmp1_ = 0; + Measurement _tmp2_ = {0}; + MeasurementUnit _tmp3_ = 0; + Measurement _tmp13_ = {0}; + GtkEntry* _tmp14_ = NULL; + Measurement _tmp15_ = {0}; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 649 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 649 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (content_width != NULL); +#line 650 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = *content_width; +#line 650 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _tmp0_.unit; +#line 650 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->local_content_height; +#line 650 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = _tmp2_.unit; +#line 650 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp1_ != _tmp3_) { +#line 4492 "Printing.c" + Measurement _tmp4_ = {0}; + MeasurementUnit _tmp5_ = 0; + Measurement _tmp6_ = {0}; + MeasurementUnit _tmp7_ = 0; + Measurement _tmp8_ = {0}; + GtkEntry* _tmp9_ = NULL; + Measurement _tmp10_ = {0}; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 651 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = *content_width; +#line 651 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_.unit; +#line 651 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_user_unit_choice (self, _tmp5_); +#line 652 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = *content_width; +#line 652 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = _tmp6_.unit; +#line 652 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (&self->priv->local_content_height, _tmp7_, &_tmp8_); +#line 652 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_height = _tmp8_; +#line 653 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = self->priv->custom_height_entry; +#line 653 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = self->priv->local_content_height; +#line 653 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = custom_print_tab_format_measurement (self, &_tmp10_); +#line 653 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _tmp11_; +#line 653 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp9_, _tmp12_); +#line 653 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp12_); +#line 4528 "Printing.c" + } +#line 655 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = *content_width; +#line 655 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_width = _tmp13_; +#line 656 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = self->priv->custom_width_entry; +#line 656 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = *content_width; +#line 656 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = custom_print_tab_format_measurement (self, &_tmp15_); +#line 656 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = _tmp16_; +#line 656 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp14_, _tmp17_); +#line 656 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp17_); +#line 4546 "Printing.c" +} + + +static void custom_print_tab_get_content_width (CustomPrintTab* self, Measurement* result) { + Measurement _tmp0_ = {0}; +#line 659 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 660 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->local_content_width; +#line 660 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp0_; +#line 660 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 4560 "Printing.c" +} + + +static void custom_print_tab_set_content_height (CustomPrintTab* self, Measurement* content_height) { + Measurement _tmp0_ = {0}; + MeasurementUnit _tmp1_ = 0; + Measurement _tmp2_ = {0}; + MeasurementUnit _tmp3_ = 0; + Measurement _tmp13_ = {0}; + GtkEntry* _tmp14_ = NULL; + Measurement _tmp15_ = {0}; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 663 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 663 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (content_height != NULL); +#line 664 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = *content_height; +#line 664 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _tmp0_.unit; +#line 664 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->local_content_width; +#line 664 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = _tmp2_.unit; +#line 664 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp1_ != _tmp3_) { +#line 4588 "Printing.c" + Measurement _tmp4_ = {0}; + MeasurementUnit _tmp5_ = 0; + Measurement _tmp6_ = {0}; + MeasurementUnit _tmp7_ = 0; + Measurement _tmp8_ = {0}; + GtkEntry* _tmp9_ = NULL; + Measurement _tmp10_ = {0}; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 665 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = *content_height; +#line 665 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_.unit; +#line 665 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_set_user_unit_choice (self, _tmp5_); +#line 666 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = *content_height; +#line 666 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = _tmp6_.unit; +#line 666 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (&self->priv->local_content_width, _tmp7_, &_tmp8_); +#line 666 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_width = _tmp8_; +#line 667 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = self->priv->custom_width_entry; +#line 667 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = self->priv->local_content_width; +#line 667 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = custom_print_tab_format_measurement (self, &_tmp10_); +#line 667 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _tmp11_; +#line 667 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp9_, _tmp12_); +#line 667 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp12_); +#line 4624 "Printing.c" + } +#line 669 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = *content_height; +#line 669 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_height = _tmp13_; +#line 670 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = self->priv->custom_height_entry; +#line 670 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = *content_height; +#line 670 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = custom_print_tab_format_measurement (self, &_tmp15_); +#line 670 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = _tmp16_; +#line 670 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp14_, _tmp17_); +#line 670 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp17_); +#line 4642 "Printing.c" +} + + +static void custom_print_tab_get_content_height (CustomPrintTab* self, Measurement* result) { + Measurement _tmp0_ = {0}; +#line 673 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 674 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->local_content_height; +#line 674 "/home/jens/Source/shotwell/src/Printing.vala" + *result = _tmp0_; +#line 674 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 4656 "Printing.c" +} + + +static void custom_print_tab_set_content_ppi (CustomPrintTab* self, gint content_ppi) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + GtkEntry* _tmp2_ = NULL; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 677 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 678 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = content_ppi; +#line 678 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = CLAMP (_tmp0_, PRINT_SETTINGS_MIN_CONTENT_PPI, PRINT_SETTINGS_MAX_CONTENT_PPI); +#line 678 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->local_content_ppi = _tmp1_; +#line 681 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->ppi_entry; +#line 681 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->local_content_ppi; +#line 681 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = g_strdup_printf ("%d", _tmp3_); +#line 681 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_; +#line 681 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_entry_set_text (_tmp2_, _tmp5_); +#line 681 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp5_); +#line 4687 "Printing.c" +} + + +static gint custom_print_tab_get_content_ppi (CustomPrintTab* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 684 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), 0); +#line 685 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->local_content_ppi; +#line 685 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp0_; +#line 685 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4702 "Printing.c" +} + + +static void custom_print_tab_set_image_per_page_selection (CustomPrintTab* self, gint image_per_page) { + GtkComboBox* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 688 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 689 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->image_per_page_combo; +#line 689 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = image_per_page; +#line 689 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_set_active (_tmp0_, _tmp1_); +#line 4717 "Printing.c" +} + + +static gint custom_print_tab_get_image_per_page_selection (CustomPrintTab* self) { + gint result = 0; + GtkComboBox* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 692 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), 0); +#line 693 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->image_per_page_combo; +#line 693 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_combo_box_get_active (_tmp0_); +#line 693 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 693 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4735 "Printing.c" +} + + +static void custom_print_tab_set_size_selection (CustomPrintTab* self, gint size_selection) { + GtkComboBox* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 696 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 697 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->standard_sizes_combo; +#line 697 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = size_selection; +#line 697 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_combo_box_set_active (_tmp0_, _tmp1_); +#line 4750 "Printing.c" +} + + +static gint custom_print_tab_get_size_selection (CustomPrintTab* self) { + gint result = 0; + GtkComboBox* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 700 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), 0); +#line 701 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->standard_sizes_combo; +#line 701 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_combo_box_get_active (_tmp0_); +#line 701 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 701 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4768 "Printing.c" +} + + +static void custom_print_tab_set_match_aspect_ratio_enabled (CustomPrintTab* self, gboolean enable_state) { + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 704 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 705 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->aspect_ratio_check; +#line 705 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = enable_state; +#line 705 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp1_); +#line 4783 "Printing.c" +} + + +static void custom_print_tab_set_print_titles_enabled (CustomPrintTab* self, gboolean print_titles) { + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 708 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 709 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->title_print_check; +#line 709 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = print_titles; +#line 709 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp1_); +#line 4798 "Printing.c" +} + + +static void custom_print_tab_set_print_titles_font (CustomPrintTab* self, const gchar* fontname) { + GtkFontButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 712 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_CUSTOM_PRINT_TAB (self)); +#line 712 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (fontname != NULL); +#line 713 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->title_print_font; +#line 713 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = fontname; +#line 713 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_font_button_set_font_name (_tmp0_, _tmp1_); +#line 4815 "Printing.c" +} + + +static gboolean custom_print_tab_is_match_aspect_ratio_enabled (CustomPrintTab* self) { + gboolean result = FALSE; + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 717 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), FALSE); +#line 718 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->aspect_ratio_check; +#line 718 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 718 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 718 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4833 "Printing.c" +} + + +static gboolean custom_print_tab_is_print_titles_enabled (CustomPrintTab* self) { + gboolean result = FALSE; + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 721 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), FALSE); +#line 722 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->title_print_check; +#line 722 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 722 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 722 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4851 "Printing.c" +} + + +static gchar* custom_print_tab_get_print_titles_font (CustomPrintTab* self) { + gchar* result = NULL; + GtkFontButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 725 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), NULL); +#line 726 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->title_print_font; +#line 726 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_font_button_get_font_name (_tmp0_); +#line 726 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 726 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp2_; +#line 726 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4872 "Printing.c" +} + + +PrintJob* custom_print_tab_get_source_job (CustomPrintTab* self) { + PrintJob* result = NULL; + PrintJob* _tmp0_ = NULL; + PrintJob* _tmp1_ = NULL; +#line 729 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), NULL); +#line 730 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->source_job; +#line 730 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 730 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 730 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4890 "Printing.c" +} + + +PrintSettings* custom_print_tab_get_local_settings (CustomPrintTab* self) { + PrintSettings* result = NULL; + PrintSettings* _result_ = NULL; + PrintSettings* _tmp0_ = NULL; + Measurement _tmp1_ = {0}; + Measurement _tmp2_ = {0}; + ContentLayout _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 733 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_CUSTOM_PRINT_TAB (self), NULL); +#line 734 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = print_settings_new (); +#line 734 "/home/jens/Source/shotwell/src/Printing.vala" + _result_ = _tmp0_; +#line 736 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_get_content_width (self, &_tmp1_); +#line 736 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_content_width (_result_, &_tmp1_); +#line 737 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_get_content_height (self, &_tmp2_); +#line 737 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_content_height (_result_, &_tmp2_); +#line 738 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = custom_print_tab_get_content_layout (self); +#line 738 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_content_layout (_result_, _tmp3_); +#line 739 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = custom_print_tab_get_content_ppi (self); +#line 739 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_content_ppi (_result_, _tmp4_); +#line 740 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = custom_print_tab_get_image_per_page_selection (self); +#line 740 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_image_per_page_selection (_result_, _tmp5_); +#line 741 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = custom_print_tab_get_size_selection (self); +#line 741 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_size_selection (_result_, _tmp6_); +#line 742 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = custom_print_tab_is_match_aspect_ratio_enabled (self); +#line 742 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_match_aspect_ratio_enabled (_result_, _tmp7_); +#line 743 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = custom_print_tab_is_print_titles_enabled (self); +#line 743 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_print_titles_enabled (_result_, _tmp8_); +#line 744 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = custom_print_tab_get_print_titles_font (self); +#line 744 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = _tmp9_; +#line 744 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_set_print_titles_font (_result_, _tmp10_); +#line 744 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp10_); +#line 746 "/home/jens/Source/shotwell/src/Printing.vala" + result = _result_; +#line 746 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 4958 "Printing.c" +} + + +static void custom_print_tab_class_init (CustomPrintTabClass * klass) { +#line 268 "/home/jens/Source/shotwell/src/Printing.vala" + custom_print_tab_parent_class = g_type_class_peek_parent (klass); +#line 268 "/home/jens/Source/shotwell/src/Printing.vala" + g_type_class_add_private (klass, sizeof (CustomPrintTabPrivate)); +#line 268 "/home/jens/Source/shotwell/src/Printing.vala" + G_OBJECT_CLASS (klass)->finalize = custom_print_tab_finalize; +#line 4969 "Printing.c" +} + + +static void custom_print_tab_instance_init (CustomPrintTab * self) { +#line 268 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv = CUSTOM_PRINT_TAB_GET_PRIVATE (self); +#line 272 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_image_settings_pane = NULL; +#line 273 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->standard_size_radio = NULL; +#line 274 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_size_radio = NULL; +#line 275 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->image_per_page_radio = NULL; +#line 276 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->image_per_page_combo = NULL; +#line 277 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->standard_sizes_combo = NULL; +#line 278 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->units_combo = NULL; +#line 279 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_width_entry = NULL; +#line 280 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_height_entry = NULL; +#line 282 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->aspect_ratio_check = NULL; +#line 283 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->title_print_check = NULL; +#line 284 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->title_print_font = NULL; +#line 285 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&self->priv->local_content_width, 5.0, MEASUREMENT_UNIT_INCHES); +#line 286 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&self->priv->local_content_height, 5.0, MEASUREMENT_UNIT_INCHES); +#line 288 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->is_text_insertion_in_progress = FALSE; +#line 5006 "Printing.c" +} + + +static void custom_print_tab_finalize (GObject* obj) { + CustomPrintTab * self; +#line 268 "/home/jens/Source/shotwell/src/Printing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CUSTOM_PRINT_TAB, CustomPrintTab); +#line 272 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_image_settings_pane); +#line 273 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->standard_size_radio); +#line 274 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_size_radio); +#line 275 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->image_per_page_radio); +#line 276 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->image_per_page_combo); +#line 277 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->standard_sizes_combo); +#line 278 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->units_combo); +#line 279 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_width_entry); +#line 280 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_height_entry); +#line 281 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->ppi_entry); +#line 282 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->aspect_ratio_check); +#line 283 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->title_print_check); +#line 284 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->title_print_font); +#line 289 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->source_job); +#line 268 "/home/jens/Source/shotwell/src/Printing.vala" + G_OBJECT_CLASS (custom_print_tab_parent_class)->finalize (obj); +#line 5044 "Printing.c" +} + + +GType custom_print_tab_get_type (void) { + static volatile gsize custom_print_tab_type_id__volatile = 0; + if (g_once_init_enter (&custom_print_tab_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CustomPrintTabClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) custom_print_tab_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CustomPrintTab), 0, (GInstanceInitFunc) custom_print_tab_instance_init, NULL }; + GType custom_print_tab_type_id; + custom_print_tab_type_id = g_type_register_static (gtk_fixed_get_type (), "CustomPrintTab", &g_define_type_info, 0); + g_once_init_leave (&custom_print_tab_type_id__volatile, custom_print_tab_type_id); + } + return custom_print_tab_type_id__volatile; +} + + +PrintJob* print_job_construct (GType object_type, GeeCollection* to_print) { + PrintJob * self = NULL; + PrintManager* _tmp0_ = NULL; + PrintManager* _tmp1_ = NULL; + PrintSettings* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + gdouble photo_aspect_ratio = 0.0; + GeeArrayList* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Dimensions _tmp8_ = {0}; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; +#line 754 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (to_print), NULL); +#line 754 "/home/jens/Source/shotwell/src/Printing.vala" + self = (PrintJob*) g_object_new (object_type, NULL); +#line 755 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = print_manager_get_instance (); +#line 755 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _tmp0_; +#line 755 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = print_manager_get_global_settings (_tmp1_); +#line 755 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (self->priv->settings); +#line 755 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->settings = _tmp2_; +#line 755 "/home/jens/Source/shotwell/src/Printing.vala" + _print_manager_unref0 (_tmp1_); +#line 756 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->photos; +#line 756 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = to_print; +#line 756 "/home/jens/Source/shotwell/src/Printing.vala" + gee_array_list_add_all (_tmp3_, _tmp4_); +#line 758 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_set_embed_page_setup (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_print_operation_get_type (), GtkPrintOperation), TRUE); +#line 759 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = self->priv->photos; +#line 759 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 759 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = (Photo*) _tmp6_; +#line 759 "/home/jens/Source/shotwell/src/Printing.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp8_); +#line 759 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = dimensions_get_aspect_ratio (&_tmp8_); +#line 759 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = _tmp9_; +#line 759 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp7_); +#line 759 "/home/jens/Source/shotwell/src/Printing.vala" + photo_aspect_ratio = _tmp10_; +#line 760 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = photo_aspect_ratio; +#line 760 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp11_ < 1.0) { +#line 5119 "Printing.c" + gdouble _tmp12_ = 0.0; +#line 761 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = photo_aspect_ratio; +#line 761 "/home/jens/Source/shotwell/src/Printing.vala" + photo_aspect_ratio = 1.0 / _tmp12_; +#line 5125 "Printing.c" + } +#line 754 "/home/jens/Source/shotwell/src/Printing.vala" + return self; +#line 5129 "Printing.c" +} + + +PrintJob* print_job_new (GeeCollection* to_print) { +#line 754 "/home/jens/Source/shotwell/src/Printing.vala" + return print_job_construct (TYPE_PRINT_JOB, to_print); +#line 5136 "Printing.c" +} + + +GeeList* print_job_get_photos (PrintJob* self) { + GeeList* result = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 764 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_JOB (self), NULL); +#line 765 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->photos; +#line 765 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList)); +#line 765 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 765 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 5154 "Printing.c" +} + + +Photo* print_job_get_source_photo (PrintJob* self) { + Photo* result = NULL; + GeeArrayList* _tmp0_ = NULL; + gpointer _tmp1_ = NULL; +#line 768 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_JOB (self), NULL); +#line 769 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->photos; +#line 769 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 769 "/home/jens/Source/shotwell/src/Printing.vala" + result = (Photo*) _tmp1_; +#line 769 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 5172 "Printing.c" +} + + +gdouble print_job_get_source_aspect_ratio (PrintJob* self) { + gdouble result = 0.0; + gdouble aspect_ratio = 0.0; + GeeArrayList* _tmp0_ = NULL; + gpointer _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Dimensions _tmp3_ = {0}; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; +#line 772 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_JOB (self), 0.0); +#line 773 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->photos; +#line 773 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 773 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = (Photo*) _tmp1_; +#line 773 "/home/jens/Source/shotwell/src/Printing.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp3_); +#line 773 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = dimensions_get_aspect_ratio (&_tmp3_); +#line 773 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_; +#line 773 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp2_); +#line 773 "/home/jens/Source/shotwell/src/Printing.vala" + aspect_ratio = _tmp5_; +#line 774 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = aspect_ratio; +#line 774 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp7_ < 1.0) { +#line 5209 "Printing.c" + gdouble _tmp8_ = 0.0; +#line 774 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = aspect_ratio; +#line 774 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = 1.0 / _tmp8_; +#line 5215 "Printing.c" + } else { + gdouble _tmp9_ = 0.0; +#line 774 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = aspect_ratio; +#line 774 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = _tmp9_; +#line 5222 "Printing.c" + } +#line 774 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp6_; +#line 774 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 5228 "Printing.c" +} + + +static gpointer _print_settings_ref0 (gpointer self) { +#line 778 "/home/jens/Source/shotwell/src/Printing.vala" + return self ? print_settings_ref (self) : NULL; +#line 5235 "Printing.c" +} + + +PrintSettings* print_job_get_local_settings (PrintJob* self) { + PrintSettings* result = NULL; + PrintSettings* _tmp0_ = NULL; + PrintSettings* _tmp1_ = NULL; +#line 777 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_JOB (self), NULL); +#line 778 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->settings; +#line 778 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _print_settings_ref0 (_tmp0_); +#line 778 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 778 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 5253 "Printing.c" +} + + +void print_job_set_local_settings (PrintJob* self, PrintSettings* settings) { + PrintSettings* _tmp0_ = NULL; + PrintSettings* _tmp1_ = NULL; +#line 781 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_JOB (self)); +#line 781 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (settings)); +#line 782 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = settings; +#line 782 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _print_settings_ref0 (_tmp0_); +#line 782 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (self->priv->settings); +#line 782 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->settings = _tmp1_; +#line 5272 "Printing.c" +} + + +static void print_job_class_init (PrintJobClass * klass) { +#line 750 "/home/jens/Source/shotwell/src/Printing.vala" + print_job_parent_class = g_type_class_peek_parent (klass); +#line 750 "/home/jens/Source/shotwell/src/Printing.vala" + g_type_class_add_private (klass, sizeof (PrintJobPrivate)); +#line 750 "/home/jens/Source/shotwell/src/Printing.vala" + G_OBJECT_CLASS (klass)->finalize = print_job_finalize; +#line 5283 "Printing.c" +} + + +static void print_job_instance_init (PrintJob * self) { + GeeArrayList* _tmp0_ = NULL; +#line 750 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv = PRINT_JOB_GET_PRIVATE (self); +#line 752 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = gee_array_list_new (TYPE_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 752 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->photos = _tmp0_; +#line 5295 "Printing.c" +} + + +static void print_job_finalize (GObject* obj) { + PrintJob * self; +#line 750 "/home/jens/Source/shotwell/src/Printing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PRINT_JOB, PrintJob); +#line 751 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (self->priv->settings); +#line 752 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->photos); +#line 750 "/home/jens/Source/shotwell/src/Printing.vala" + G_OBJECT_CLASS (print_job_parent_class)->finalize (obj); +#line 5309 "Printing.c" +} + + +GType print_job_get_type (void) { + static volatile gsize print_job_type_id__volatile = 0; + if (g_once_init_enter (&print_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PrintJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) print_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PrintJob), 0, (GInstanceInitFunc) print_job_instance_init, NULL }; + GType print_job_type_id; + print_job_type_id = g_type_register_static (gtk_print_operation_get_type (), "PrintJob", &g_define_type_info, 0); + g_once_init_leave (&print_job_type_id__volatile, print_job_type_id); + } + return print_job_type_id__volatile; +} + + +StandardPrintSize* standard_print_size_construct (GType object_type, const gchar* name, Measurement* width, Measurement* height) { + StandardPrintSize* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + Measurement _tmp2_ = {0}; + Measurement _tmp3_ = {0}; +#line 787 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 787 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (width != NULL, NULL); +#line 787 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (height != NULL, NULL); +#line 787 "/home/jens/Source/shotwell/src/Printing.vala" + self = (StandardPrintSize*) g_type_create_instance (object_type); +#line 788 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = name; +#line 788 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 788 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (self->name); +#line 788 "/home/jens/Source/shotwell/src/Printing.vala" + self->name = _tmp1_; +#line 789 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = *width; +#line 789 "/home/jens/Source/shotwell/src/Printing.vala" + self->width = _tmp2_; +#line 790 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = *height; +#line 790 "/home/jens/Source/shotwell/src/Printing.vala" + self->height = _tmp3_; +#line 787 "/home/jens/Source/shotwell/src/Printing.vala" + return self; +#line 5357 "Printing.c" +} + + +StandardPrintSize* standard_print_size_new (const gchar* name, Measurement* width, Measurement* height) { +#line 787 "/home/jens/Source/shotwell/src/Printing.vala" + return standard_print_size_construct (TYPE_STANDARD_PRINT_SIZE, name, width, height); +#line 5364 "Printing.c" +} + + +static void value_standard_print_size_init (GValue* value) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 5371 "Printing.c" +} + + +static void value_standard_print_size_free_value (GValue* value) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (value->data[0].v_pointer) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + standard_print_size_unref (value->data[0].v_pointer); +#line 5380 "Printing.c" + } +} + + +static void value_standard_print_size_copy_value (const GValue* src_value, GValue* dest_value) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (src_value->data[0].v_pointer) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + dest_value->data[0].v_pointer = standard_print_size_ref (src_value->data[0].v_pointer); +#line 5390 "Printing.c" + } else { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + dest_value->data[0].v_pointer = NULL; +#line 5394 "Printing.c" + } +} + + +static gpointer value_standard_print_size_peek_pointer (const GValue* value) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return value->data[0].v_pointer; +#line 5402 "Printing.c" +} + + +static gchar* value_standard_print_size_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (collect_values[0].v_pointer) { +#line 5409 "Printing.c" + StandardPrintSize* object; + object = collect_values[0].v_pointer; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (object->parent_instance.g_class == NULL) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5416 "Printing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5420 "Printing.c" + } +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = standard_print_size_ref (object); +#line 5424 "Printing.c" + } else { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 5428 "Printing.c" + } +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return NULL; +#line 5432 "Printing.c" +} + + +static gchar* value_standard_print_size_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + StandardPrintSize** object_p; + object_p = collect_values[0].v_pointer; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (!object_p) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 5443 "Printing.c" + } +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (!value->data[0].v_pointer) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = NULL; +#line 5449 "Printing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = value->data[0].v_pointer; +#line 5453 "Printing.c" + } else { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = standard_print_size_ref (value->data[0].v_pointer); +#line 5457 "Printing.c" + } +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return NULL; +#line 5461 "Printing.c" +} + + +GParamSpec* param_spec_standard_print_size (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecStandardPrintSize* spec; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_STANDARD_PRINT_SIZE), NULL); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return G_PARAM_SPEC (spec); +#line 5475 "Printing.c" +} + + +gpointer value_get_standard_print_size (const GValue* value) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_STANDARD_PRINT_SIZE), NULL); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return value->data[0].v_pointer; +#line 5484 "Printing.c" +} + + +void value_set_standard_print_size (GValue* value, gpointer v_object) { + StandardPrintSize* old; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_STANDARD_PRINT_SIZE)); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + old = value->data[0].v_pointer; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (v_object) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_STANDARD_PRINT_SIZE)); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = v_object; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + standard_print_size_ref (value->data[0].v_pointer); +#line 5504 "Printing.c" + } else { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 5508 "Printing.c" + } +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (old) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + standard_print_size_unref (old); +#line 5514 "Printing.c" + } +} + + +void value_take_standard_print_size (GValue* value, gpointer v_object) { + StandardPrintSize* old; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_STANDARD_PRINT_SIZE)); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + old = value->data[0].v_pointer; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (v_object) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_STANDARD_PRINT_SIZE)); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = v_object; +#line 5533 "Printing.c" + } else { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 5537 "Printing.c" + } +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (old) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + standard_print_size_unref (old); +#line 5543 "Printing.c" + } +} + + +static void standard_print_size_class_init (StandardPrintSizeClass * klass) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + standard_print_size_parent_class = g_type_class_peek_parent (klass); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + ((StandardPrintSizeClass *) klass)->finalize = standard_print_size_finalize; +#line 5553 "Printing.c" +} + + +static void standard_print_size_instance_init (StandardPrintSize * self) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + self->ref_count = 1; +#line 5560 "Printing.c" +} + + +static void standard_print_size_finalize (StandardPrintSize* obj) { + StandardPrintSize * self; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_STANDARD_PRINT_SIZE, StandardPrintSize); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_handlers_destroy (self); +#line 793 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (self->name); +#line 5572 "Printing.c" +} + + +GType standard_print_size_get_type (void) { + static volatile gsize standard_print_size_type_id__volatile = 0; + if (g_once_init_enter (&standard_print_size_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_standard_print_size_init, value_standard_print_size_free_value, value_standard_print_size_copy_value, value_standard_print_size_peek_pointer, "p", value_standard_print_size_collect_value, "p", value_standard_print_size_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (StandardPrintSizeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) standard_print_size_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (StandardPrintSize), 0, (GInstanceInitFunc) standard_print_size_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType standard_print_size_type_id; + standard_print_size_type_id = g_type_register_fundamental (g_type_fundamental_next (), "StandardPrintSize", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&standard_print_size_type_id__volatile, standard_print_size_type_id); + } + return standard_print_size_type_id__volatile; +} + + +gpointer standard_print_size_ref (gpointer instance) { + StandardPrintSize* self; + self = instance; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_atomic_int_inc (&self->ref_count); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + return instance; +#line 5597 "Printing.c" +} + + +void standard_print_size_unref (gpointer instance) { + StandardPrintSize* self; + self = instance; +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + STANDARD_PRINT_SIZE_GET_CLASS (self)->finalize (self); +#line 786 "/home/jens/Source/shotwell/src/Printing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 5610 "Printing.c" + } +} + + +static PrintManager* print_manager_construct (GType object_type) { + PrintManager* self = NULL; + GtkPageSetup* _tmp0_ = NULL; + PrintSettings* _tmp1_ = NULL; +#line 809 "/home/jens/Source/shotwell/src/Printing.vala" + self = (PrintManager*) g_type_create_instance (object_type); +#line 810 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = gtk_page_setup_new (); +#line 810 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->user_page_setup); +#line 810 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->user_page_setup = _tmp0_; +#line 811 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = print_settings_new (); +#line 811 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (self->priv->settings); +#line 811 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->settings = _tmp1_; +#line 809 "/home/jens/Source/shotwell/src/Printing.vala" + return self; +#line 5635 "Printing.c" +} + + +static PrintManager* print_manager_new (void) { +#line 809 "/home/jens/Source/shotwell/src/Printing.vala" + return print_manager_construct (TYPE_PRINT_MANAGER); +#line 5642 "Printing.c" +} + + +static void _vala_array_add278 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5653 "Printing.c" + } +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5659 "Printing.c" +} + + +static void _vala_array_add279 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5670 "Printing.c" + } +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5676 "Printing.c" +} + + +static void _vala_array_add280 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5687 "Printing.c" + } +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5693 "Printing.c" +} + + +static void _vala_array_add281 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5704 "Printing.c" + } +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5710 "Printing.c" +} + + +static void _vala_array_add282 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5721 "Printing.c" + } +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5727 "Printing.c" +} + + +static void _vala_array_add283 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5738 "Printing.c" + } +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5744 "Printing.c" +} + + +static void _vala_array_add284 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5755 "Printing.c" + } +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5761 "Printing.c" +} + + +static void _vala_array_add285 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5772 "Printing.c" + } +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5778 "Printing.c" +} + + +static void _vala_array_add286 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5789 "Printing.c" + } +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5795 "Printing.c" +} + + +static void _vala_array_add287 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5806 "Printing.c" + } +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5812 "Printing.c" +} + + +static void _vala_array_add288 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5823 "Printing.c" + } +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5829 "Printing.c" +} + + +static void _vala_array_add289 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5840 "Printing.c" + } +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5846 "Printing.c" +} + + +static void _vala_array_add290 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5857 "Printing.c" + } +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5863 "Printing.c" +} + + +static void _vala_array_add291 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5874 "Printing.c" + } +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5880 "Printing.c" +} + + +static void _vala_array_add292 (StandardPrintSize*** array, int* length, int* size, StandardPrintSize* value) { +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + if ((*length) == (*size)) { +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + *array = g_renew (StandardPrintSize*, *array, (*size) + 1); +#line 5891 "Printing.c" + } +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[(*length)++] = value; +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + (*array)[*length] = NULL; +#line 5897 "Printing.c" +} + + +StandardPrintSize** print_manager_get_standard_sizes (PrintManager* self, int* result_length1) { + StandardPrintSize** result = NULL; + StandardPrintSize** _result_ = NULL; + StandardPrintSize** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + StandardPrintSize** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + Measurement _tmp3_ = {0}; + Measurement _tmp4_ = {0}; + StandardPrintSize* _tmp5_ = NULL; + StandardPrintSize** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + const gchar* _tmp7_ = NULL; + Measurement _tmp8_ = {0}; + Measurement _tmp9_ = {0}; + StandardPrintSize* _tmp10_ = NULL; + StandardPrintSize** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + const gchar* _tmp12_ = NULL; + Measurement _tmp13_ = {0}; + Measurement _tmp14_ = {0}; + StandardPrintSize* _tmp15_ = NULL; + StandardPrintSize** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + const gchar* _tmp17_ = NULL; + Measurement _tmp18_ = {0}; + Measurement _tmp19_ = {0}; + StandardPrintSize* _tmp20_ = NULL; + StandardPrintSize** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + const gchar* _tmp22_ = NULL; + Measurement _tmp23_ = {0}; + Measurement _tmp24_ = {0}; + StandardPrintSize* _tmp25_ = NULL; + StandardPrintSize** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + const gchar* _tmp27_ = NULL; + Measurement _tmp28_ = {0}; + Measurement _tmp29_ = {0}; + StandardPrintSize* _tmp30_ = NULL; + StandardPrintSize** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + const gchar* _tmp32_ = NULL; + Measurement _tmp33_ = {0}; + Measurement _tmp34_ = {0}; + StandardPrintSize* _tmp35_ = NULL; + StandardPrintSize** _tmp36_ = NULL; + gint _tmp36__length1 = 0; + Measurement _tmp37_ = {0}; + Measurement _tmp38_ = {0}; + StandardPrintSize* _tmp39_ = NULL; + StandardPrintSize** _tmp40_ = NULL; + gint _tmp40__length1 = 0; + const gchar* _tmp41_ = NULL; + Measurement _tmp42_ = {0}; + Measurement _tmp43_ = {0}; + StandardPrintSize* _tmp44_ = NULL; + StandardPrintSize** _tmp45_ = NULL; + gint _tmp45__length1 = 0; + const gchar* _tmp46_ = NULL; + Measurement _tmp47_ = {0}; + Measurement _tmp48_ = {0}; + StandardPrintSize* _tmp49_ = NULL; + StandardPrintSize** _tmp50_ = NULL; + gint _tmp50__length1 = 0; + const gchar* _tmp51_ = NULL; + Measurement _tmp52_ = {0}; + Measurement _tmp53_ = {0}; + StandardPrintSize* _tmp54_ = NULL; + StandardPrintSize** _tmp55_ = NULL; + gint _tmp55__length1 = 0; + const gchar* _tmp56_ = NULL; + Measurement _tmp57_ = {0}; + Measurement _tmp58_ = {0}; + StandardPrintSize* _tmp59_ = NULL; + StandardPrintSize** _tmp60_ = NULL; + gint _tmp60__length1 = 0; + const gchar* _tmp61_ = NULL; + Measurement _tmp62_ = {0}; + Measurement _tmp63_ = {0}; + StandardPrintSize* _tmp64_ = NULL; + StandardPrintSize** _tmp65_ = NULL; + gint _tmp65__length1 = 0; + const gchar* _tmp66_ = NULL; + Measurement _tmp67_ = {0}; + Measurement _tmp68_ = {0}; + StandardPrintSize* _tmp69_ = NULL; + StandardPrintSize** _tmp70_ = NULL; + gint _tmp70__length1 = 0; + const gchar* _tmp71_ = NULL; + Measurement _tmp72_ = {0}; + Measurement _tmp73_ = {0}; + StandardPrintSize* _tmp74_ = NULL; + StandardPrintSize** _tmp75_ = NULL; + gint _tmp75__length1 = 0; +#line 814 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_MANAGER (self), NULL); +#line 815 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = g_new0 (StandardPrintSize*, 0 + 1); +#line 815 "/home/jens/Source/shotwell/src/Printing.vala" + _result_ = _tmp0_; +#line 815 "/home/jens/Source/shotwell/src/Printing.vala" + _result__length1 = 0; +#line 815 "/home/jens/Source/shotwell/src/Printing.vala" + __result__size_ = _result__length1; +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _result_; +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1__length1 = _result__length1; +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _ ("Wallet (2 x 3 in.)"); +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp3_, (gdouble) 3, MEASUREMENT_UNIT_INCHES); +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp4_, (gdouble) 2, MEASUREMENT_UNIT_INCHES); +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = standard_print_size_new (_tmp2_, &_tmp3_, &_tmp4_); +#line 817 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add278 (&_result_, &_result__length1, &__result__size_, _tmp5_); +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = _result_; +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6__length1 = _result__length1; +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = _ ("Notecard (3 x 5 in.)"); +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp8_, (gdouble) 5, MEASUREMENT_UNIT_INCHES); +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp9_, (gdouble) 3, MEASUREMENT_UNIT_INCHES); +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = standard_print_size_new (_tmp7_, &_tmp8_, &_tmp9_); +#line 820 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add279 (&_result_, &_result__length1, &__result__size_, _tmp10_); +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = _result_; +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11__length1 = _result__length1; +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _ ("4 x 6 in."); +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp13_, (gdouble) 6, MEASUREMENT_UNIT_INCHES); +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp14_, (gdouble) 4, MEASUREMENT_UNIT_INCHES); +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = standard_print_size_new (_tmp12_, &_tmp13_, &_tmp14_); +#line 823 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add280 (&_result_, &_result__length1, &__result__size_, _tmp15_); +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = _result_; +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16__length1 = _result__length1; +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = _ ("5 x 7 in."); +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp18_, (gdouble) 7, MEASUREMENT_UNIT_INCHES); +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp19_, (gdouble) 5, MEASUREMENT_UNIT_INCHES); +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = standard_print_size_new (_tmp17_, &_tmp18_, &_tmp19_); +#line 826 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add281 (&_result_, &_result__length1, &__result__size_, _tmp20_); +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = _result_; +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21__length1 = _result__length1; +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = _ ("8 x 10 in."); +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp23_, (gdouble) 10, MEASUREMENT_UNIT_INCHES); +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp24_, (gdouble) 8, MEASUREMENT_UNIT_INCHES); +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = standard_print_size_new (_tmp22_, &_tmp23_, &_tmp24_); +#line 829 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add282 (&_result_, &_result__length1, &__result__size_, _tmp25_); +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = _result_; +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26__length1 = _result__length1; +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = _ ("11 x 14 in."); +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp28_, (gdouble) 14, MEASUREMENT_UNIT_INCHES); +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp29_, (gdouble) 11, MEASUREMENT_UNIT_INCHES); +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = standard_print_size_new (_tmp27_, &_tmp28_, &_tmp29_); +#line 832 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add283 (&_result_, &_result__length1, &__result__size_, _tmp30_); +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = _result_; +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31__length1 = _result__length1; +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = _ ("16 x 20 in."); +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp33_, (gdouble) 20, MEASUREMENT_UNIT_INCHES); +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp34_, (gdouble) 16, MEASUREMENT_UNIT_INCHES); +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp35_ = standard_print_size_new (_tmp32_, &_tmp33_, &_tmp34_); +#line 835 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add284 (&_result_, &_result__length1, &__result__size_, _tmp35_); +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp36_ = _result_; +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp36__length1 = _result__length1; +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp37_, (gdouble) 0, MEASUREMENT_UNIT_INCHES); +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp38_, (gdouble) 0, MEASUREMENT_UNIT_INCHES); +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp39_ = standard_print_size_new ("-", &_tmp37_, &_tmp38_); +#line 838 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add285 (&_result_, &_result__length1, &__result__size_, _tmp39_); +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp40_ = _result_; +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp40__length1 = _result__length1; +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp41_ = _ ("Metric Wallet (9 x 13 cm)"); +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp42_, (gdouble) 13, MEASUREMENT_UNIT_CENTIMETERS); +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp43_, (gdouble) 9, MEASUREMENT_UNIT_CENTIMETERS); +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp44_ = standard_print_size_new (_tmp41_, &_tmp42_, &_tmp43_); +#line 841 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add286 (&_result_, &_result__length1, &__result__size_, _tmp44_); +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp45_ = _result_; +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp45__length1 = _result__length1; +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp46_ = _ ("Postcard (10 x 15 cm)"); +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp47_, (gdouble) 15, MEASUREMENT_UNIT_CENTIMETERS); +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp48_, (gdouble) 10, MEASUREMENT_UNIT_CENTIMETERS); +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp49_ = standard_print_size_new (_tmp46_, &_tmp47_, &_tmp48_); +#line 844 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add287 (&_result_, &_result__length1, &__result__size_, _tmp49_); +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp50_ = _result_; +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp50__length1 = _result__length1; +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp51_ = _ ("13 x 18 cm"); +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp52_, (gdouble) 18, MEASUREMENT_UNIT_CENTIMETERS); +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp53_, (gdouble) 13, MEASUREMENT_UNIT_CENTIMETERS); +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp54_ = standard_print_size_new (_tmp51_, &_tmp52_, &_tmp53_); +#line 847 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add288 (&_result_, &_result__length1, &__result__size_, _tmp54_); +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp55_ = _result_; +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp55__length1 = _result__length1; +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp56_ = _ ("18 x 24 cm"); +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp57_, (gdouble) 24, MEASUREMENT_UNIT_CENTIMETERS); +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp58_, (gdouble) 18, MEASUREMENT_UNIT_CENTIMETERS); +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp59_ = standard_print_size_new (_tmp56_, &_tmp57_, &_tmp58_); +#line 850 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add289 (&_result_, &_result__length1, &__result__size_, _tmp59_); +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp60_ = _result_; +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp60__length1 = _result__length1; +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp61_ = _ ("20 x 30 cm"); +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp62_, (gdouble) 30, MEASUREMENT_UNIT_CENTIMETERS); +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp63_, (gdouble) 20, MEASUREMENT_UNIT_CENTIMETERS); +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp64_ = standard_print_size_new (_tmp61_, &_tmp62_, &_tmp63_); +#line 853 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add290 (&_result_, &_result__length1, &__result__size_, _tmp64_); +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp65_ = _result_; +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp65__length1 = _result__length1; +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp66_ = _ ("24 x 40 cm"); +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp67_, (gdouble) 40, MEASUREMENT_UNIT_CENTIMETERS); +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp68_, (gdouble) 24, MEASUREMENT_UNIT_CENTIMETERS); +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp69_ = standard_print_size_new (_tmp66_, &_tmp67_, &_tmp68_); +#line 856 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add291 (&_result_, &_result__length1, &__result__size_, _tmp69_); +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp70_ = _result_; +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp70__length1 = _result__length1; +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp71_ = _ ("30 x 40 cm"); +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp72_, (gdouble) 40, MEASUREMENT_UNIT_CENTIMETERS); +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_init (&_tmp73_, (gdouble) 30, MEASUREMENT_UNIT_CENTIMETERS); +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp74_ = standard_print_size_new (_tmp71_, &_tmp72_, &_tmp73_); +#line 859 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_array_add292 (&_result_, &_result__length1, &__result__size_, _tmp74_); +#line 863 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp75_ = _result_; +#line 863 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp75__length1 = _result__length1; +#line 863 "/home/jens/Source/shotwell/src/Printing.vala" + if (result_length1) { +#line 863 "/home/jens/Source/shotwell/src/Printing.vala" + *result_length1 = _tmp75__length1; +#line 6224 "Printing.c" + } +#line 863 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp75_; +#line 863 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 6230 "Printing.c" +} + + +static gpointer _print_manager_ref0 (gpointer self) { +#line 870 "/home/jens/Source/shotwell/src/Printing.vala" + return self ? print_manager_ref (self) : NULL; +#line 6237 "Printing.c" +} + + +PrintManager* print_manager_get_instance (void) { + PrintManager* result = NULL; + PrintManager* _tmp0_ = NULL; + PrintManager* _tmp2_ = NULL; + PrintManager* _tmp3_ = NULL; +#line 867 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = print_manager_instance; +#line 867 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp0_ == NULL) { +#line 6250 "Printing.c" + PrintManager* _tmp1_ = NULL; +#line 868 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = print_manager_new (); +#line 868 "/home/jens/Source/shotwell/src/Printing.vala" + _print_manager_unref0 (print_manager_instance); +#line 868 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_instance = _tmp1_; +#line 6258 "Printing.c" + } +#line 870 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = print_manager_instance; +#line 870 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = _print_manager_ref0 (_tmp2_); +#line 870 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp3_; +#line 870 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 6268 "Printing.c" +} + + +static void _print_manager_on_begin_print_gtk_print_operation_begin_print (GtkPrintOperation* _sender, GtkPrintContext* context, gpointer self) { +#line 880 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_on_begin_print ((PrintManager*) self, _sender, context); +#line 6275 "Printing.c" +} + + +static void _print_manager_on_draw_page_gtk_print_operation_draw_page (GtkPrintOperation* _sender, GtkPrintContext* context, gint page_nr, gpointer self) { +#line 881 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_on_draw_page ((PrintManager*) self, _sender, context, page_nr); +#line 6282 "Printing.c" +} + + +static GObject* _print_manager_on_create_custom_widget_gtk_print_operation_create_custom_widget (GtkPrintOperation* _sender, gpointer self) { + GObject* result; + result = print_manager_on_create_custom_widget ((PrintManager*) self, _sender); +#line 882 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 6291 "Printing.c" +} + + +static void _print_manager_on_status_changed_gtk_print_operation_status_changed (GtkPrintOperation* _sender, gpointer self) { +#line 883 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_on_status_changed ((PrintManager*) self, _sender); +#line 6298 "Printing.c" +} + + +void print_manager_spool_photo (PrintManager* self, GeeCollection* to_print) { + PrintJob* job = NULL; + GeeCollection* _tmp0_ = NULL; + PrintJob* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GtkPageSetup* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; + AppWindow* _tmp9_ = NULL; + GCancellable* _tmp10_ = NULL; + AppWindow* _tmp11_ = NULL; + AppWindow* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GCancellable* _tmp14_ = NULL; + ProgressDialog* _tmp15_ = NULL; + gchar* err_msg = NULL; + ProgressDialog* _tmp25_ = NULL; + AppWindow* _tmp26_ = NULL; + AppWindow* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GError * _inner_error_ = NULL; +#line 873 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_MANAGER (self)); +#line 873 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GEE_IS_COLLECTION (to_print)); +#line 874 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = to_print; +#line 874 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = print_job_new (_tmp0_); +#line 874 "/home/jens/Source/shotwell/src/Printing.vala" + job = _tmp1_; +#line 875 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _ ("Image Settings"); +#line 875 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_set_custom_tab_label (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), _tmp2_); +#line 876 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_set_unit (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), GTK_UNIT_INCH); +#line 877 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_set_n_pages (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), 1); +#line 878 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = print_job_get_source_photo (job); +#line 878 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = _tmp3_; +#line 878 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject)); +#line 878 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = _tmp5_; +#line 878 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_set_job_name (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), _tmp6_); +#line 878 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp6_); +#line 878 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp4_); +#line 879 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = self->priv->user_page_setup; +#line 879 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_set_default_page_setup (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), _tmp7_); +#line 880 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), "begin-print", (GCallback) _print_manager_on_begin_print_gtk_print_operation_begin_print, self); +#line 881 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), "draw-page", (GCallback) _print_manager_on_draw_page_gtk_print_operation_draw_page, self); +#line 882 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), "create-custom-widget", (GCallback) _print_manager_on_create_custom_widget_gtk_print_operation_create_custom_widget, self); +#line 883 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), "status-changed", (GCallback) _print_manager_on_status_changed_gtk_print_operation_status_changed, self); +#line 885 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = app_window_get_instance (); +#line 885 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = _tmp8_; +#line 885 "/home/jens/Source/shotwell/src/Printing.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PAGE_WINDOW, PageWindow)); +#line 885 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp9_); +#line 887 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = g_cancellable_new (); +#line 887 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->cancellable); +#line 887 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->cancellable = _tmp10_; +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = app_window_get_instance (); +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _tmp11_; +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = _ ("Printing..."); +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = self->priv->cancellable; +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_window_get_type (), GtkWindow), _tmp13_, _tmp14_); +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + g_object_ref_sink (_tmp15_); +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->progress_dialog); +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->progress_dialog = _tmp15_; +#line 888 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp12_); +#line 890 "/home/jens/Source/shotwell/src/Printing.vala" + err_msg = NULL; +#line 6404 "Printing.c" + { + GtkPrintOperationResult _result_ = 0; + AppWindow* _tmp16_ = NULL; + AppWindow* _tmp17_ = NULL; + GtkPrintOperationResult _tmp18_ = 0; + GtkPrintOperationResult _tmp19_ = 0; +#line 892 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = app_window_get_instance (); +#line 892 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = _tmp16_; +#line 892 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = gtk_print_operation_run (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation), GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_window_get_type (), GtkWindow), &_inner_error_); +#line 892 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = _tmp18_; +#line 892 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp17_); +#line 892 "/home/jens/Source/shotwell/src/Printing.vala" + _result_ = _tmp19_; +#line 892 "/home/jens/Source/shotwell/src/Printing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6425 "Printing.c" + goto __catch457_g_error; + } +#line 894 "/home/jens/Source/shotwell/src/Printing.vala" + if (_result_ == GTK_PRINT_OPERATION_RESULT_APPLY) { +#line 6430 "Printing.c" + GtkPageSetup* _tmp20_ = NULL; + GtkPageSetup* _tmp21_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = gtk_print_operation_get_default_page_setup (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation)); +#line 895 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = _g_object_ref0 (_tmp20_); +#line 895 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->user_page_setup); +#line 895 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->user_page_setup = _tmp21_; +#line 6441 "Printing.c" + } + } + goto __finally457; + __catch457_g_error: + { + GError* e = NULL; + GError* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 891 "/home/jens/Source/shotwell/src/Printing.vala" + e = _inner_error_; +#line 891 "/home/jens/Source/shotwell/src/Printing.vala" + _inner_error_ = NULL; +#line 897 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_cancel (G_TYPE_CHECK_INSTANCE_CAST (job, gtk_print_operation_get_type (), GtkPrintOperation)); +#line 898 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = e; +#line 898 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = _tmp22_->message; +#line 898 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = g_strdup (_tmp23_); +#line 898 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (err_msg); +#line 898 "/home/jens/Source/shotwell/src/Printing.vala" + err_msg = _tmp24_; +#line 891 "/home/jens/Source/shotwell/src/Printing.vala" + _g_error_free0 (e); +#line 6469 "Printing.c" + } + __finally457: +#line 891 "/home/jens/Source/shotwell/src/Printing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 891 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (err_msg); +#line 891 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (job); +#line 891 "/home/jens/Source/shotwell/src/Printing.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 891 "/home/jens/Source/shotwell/src/Printing.vala" + g_clear_error (&_inner_error_); +#line 891 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 6484 "Printing.c" + } +#line 901 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = self->priv->progress_dialog; +#line 901 "/home/jens/Source/shotwell/src/Printing.vala" + progress_dialog_close (_tmp25_); +#line 902 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->progress_dialog); +#line 902 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->progress_dialog = NULL; +#line 903 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->cancellable); +#line 903 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->cancellable = NULL; +#line 905 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = app_window_get_instance (); +#line 905 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = _tmp26_; +#line 905 "/home/jens/Source/shotwell/src/Printing.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_PAGE_WINDOW, PageWindow)); +#line 905 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp27_); +#line 907 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = err_msg; +#line 907 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp28_ != NULL) { +#line 6510 "Printing.c" + const gchar* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; +#line 908 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = _ ("Unable to print photo:\n\n%s"); +#line 908 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = err_msg; +#line 908 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = g_strdup_printf (_tmp29_, _tmp30_); +#line 908 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = _tmp31_; +#line 908 "/home/jens/Source/shotwell/src/Printing.vala" + app_window_error_message (_tmp32_, NULL); +#line 908 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp32_); +#line 6527 "Printing.c" + } +#line 873 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (err_msg); +#line 873 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (job); +#line 6533 "Printing.c" +} + + +static void print_manager_on_begin_print (PrintManager* self, GtkPrintOperation* emitting_object, GtkPrintContext* job_context) { + PrintJob* job = NULL; + GtkPrintOperation* _tmp0_ = NULL; + PrintJob* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GCancellable* _tmp3_ = NULL; + GeeList* photos = NULL; + PrintJob* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + PrintJob* _tmp9_ = NULL; + PrintSettings* _tmp10_ = NULL; + PrintSettings* _tmp11_ = NULL; + ContentLayout _tmp12_ = 0; + gboolean _tmp13_ = FALSE; +#line 911 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_MANAGER (self)); +#line 911 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_PRINT_OPERATION (emitting_object)); +#line 911 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_PRINT_CONTEXT (job_context)); +#line 912 "/home/jens/Source/shotwell/src/Printing.vala" + g_debug ("Printing.vala:912: on_begin_print"); +#line 914 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = emitting_object; +#line 914 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PRINT_JOB, PrintJob)); +#line 914 "/home/jens/Source/shotwell/src/Printing.vala" + job = _tmp1_; +#line 917 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->cancellable; +#line 917 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp3_ != NULL) { +#line 6569 "Printing.c" + GCancellable* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 917 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = self->priv->cancellable; +#line 917 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = g_cancellable_is_cancelled (_tmp4_); +#line 917 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _tmp5_; +#line 6578 "Printing.c" + } else { +#line 917 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = FALSE; +#line 6582 "Printing.c" + } +#line 917 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_) { +#line 6586 "Printing.c" + PrintJob* _tmp6_ = NULL; +#line 918 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = job; +#line 918 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_print_operation_get_type (), GtkPrintOperation)); +#line 920 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (job); +#line 920 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 6596 "Printing.c" + } +#line 923 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = job; +#line 923 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = print_job_get_photos (_tmp7_); +#line 923 "/home/jens/Source/shotwell/src/Printing.vala" + photos = _tmp8_; +#line 924 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = job; +#line 924 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = print_job_get_local_settings (_tmp9_); +#line 924 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = _tmp10_; +#line 924 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = print_settings_get_content_layout (_tmp11_); +#line 924 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = _tmp12_ == CONTENT_LAYOUT_IMAGE_PER_PAGE; +#line 924 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp11_); +#line 924 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp13_) { +#line 6618 "Printing.c" + PrintLayout layout = 0; + PrintJob* _tmp14_ = NULL; + PrintSettings* _tmp15_ = NULL; + PrintSettings* _tmp16_ = NULL; + gint _tmp17_ = 0; + PrintLayout _tmp18_ = 0; + PrintJob* _tmp19_ = NULL; + GeeList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + PrintLayout _tmp23_ = 0; + gint _tmp24_ = 0; + gdouble _tmp25_ = 0.0; +#line 925 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = job; +#line 925 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = print_job_get_local_settings (_tmp14_); +#line 925 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = _tmp15_; +#line 925 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = print_settings_get_image_per_page_selection (_tmp16_); +#line 925 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = (PrintLayout) _tmp17_; +#line 925 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp16_); +#line 925 "/home/jens/Source/shotwell/src/Printing.vala" + layout = _tmp18_; +#line 926 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = job; +#line 926 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = photos; +#line 926 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 926 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = _tmp21_; +#line 926 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = layout; +#line 926 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = print_layout_get_per_page (_tmp23_); +#line 926 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = ceil (((gdouble) _tmp22_) / ((gdouble) _tmp24_)); +#line 926 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_set_n_pages (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_print_operation_get_type (), GtkPrintOperation), (gint) _tmp25_); +#line 6662 "Printing.c" + } else { + PrintJob* _tmp26_ = NULL; + GeeList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 928 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = job; +#line 928 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = photos; +#line 928 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 928 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = _tmp28_; +#line 928 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_set_n_pages (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_print_operation_get_type (), GtkPrintOperation), _tmp29_); +#line 6678 "Printing.c" + } +#line 931 "/home/jens/Source/shotwell/src/Printing.vala" + spin_event_loop (); +#line 911 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (photos); +#line 911 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (job); +#line 6686 "Printing.c" +} + + +static void print_manager_on_status_changed (PrintManager* self, GtkPrintOperation* job) { + GtkPrintOperation* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + ProgressDialog* _tmp2_ = NULL; +#line 934 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_MANAGER (self)); +#line 934 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_PRINT_OPERATION (job)); +#line 935 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = job; +#line 935 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_print_operation_get_status_string (_tmp0_); +#line 935 "/home/jens/Source/shotwell/src/Printing.vala" + g_debug ("Printing.vala:935: on_status_changed: %s", _tmp1_); +#line 937 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = self->priv->progress_dialog; +#line 937 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_ != NULL) { +#line 6708 "Printing.c" + ProgressDialog* _tmp3_ = NULL; + GtkPrintOperation* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->progress_dialog; +#line 938 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = job; +#line 938 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = gtk_print_operation_get_status_string (_tmp4_); +#line 938 "/home/jens/Source/shotwell/src/Printing.vala" + progress_dialog_set_status (_tmp3_, _tmp5_); +#line 939 "/home/jens/Source/shotwell/src/Printing.vala" + spin_event_loop (); +#line 6722 "Printing.c" + } +} + + +static gpointer _cairo_reference0 (gpointer self) { +#line 964 "/home/jens/Source/shotwell/src/Printing.vala" + return self ? cairo_reference (self) : NULL; +#line 6730 "Printing.c" +} + + +static void print_manager_on_draw_page (PrintManager* self, GtkPrintOperation* emitting_object, GtkPrintContext* job_context, gint page_num) { + PrintJob* job = NULL; + GtkPrintOperation* _tmp0_ = NULL; + PrintJob* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GCancellable* _tmp3_ = NULL; + GtkPageSetup* page_setup = NULL; + GtkPrintContext* _tmp7_ = NULL; + GtkPageSetup* _tmp8_ = NULL; + GtkPageSetup* _tmp9_ = NULL; + gdouble page_width = 0.0; + GtkPageSetup* _tmp10_ = NULL; + gdouble _tmp11_ = 0.0; + gdouble page_height = 0.0; + GtkPageSetup* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; + gdouble dpi = 0.0; + PrintJob* _tmp14_ = NULL; + PrintSettings* _tmp15_ = NULL; + PrintSettings* _tmp16_ = NULL; + gint _tmp17_ = 0; + gdouble _tmp18_ = 0.0; + gdouble inv_dpi = 0.0; + gdouble _tmp19_ = 0.0; + cairo_t* dc = NULL; + GtkPrintContext* _tmp20_ = NULL; + cairo_t* _tmp21_ = NULL; + cairo_t* _tmp22_ = NULL; + cairo_t* _tmp23_ = NULL; + gdouble _tmp24_ = 0.0; + gdouble _tmp25_ = 0.0; + GeeList* photos = NULL; + PrintJob* _tmp26_ = NULL; + GeeList* _tmp27_ = NULL; + ContentLayout content_layout = 0; + PrintJob* _tmp28_ = NULL; + PrintSettings* _tmp29_ = NULL; + PrintSettings* _tmp30_ = NULL; + ContentLayout _tmp31_ = 0; + ContentLayout _tmp32_ = 0; + ContentLayout _tmp33_ = 0; +#line 943 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_MANAGER (self)); +#line 943 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_PRINT_OPERATION (emitting_object)); +#line 943 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_PRINT_CONTEXT (job_context)); +#line 945 "/home/jens/Source/shotwell/src/Printing.vala" + g_debug ("Printing.vala:945: on_draw_page"); +#line 947 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = emitting_object; +#line 947 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PRINT_JOB, PrintJob)); +#line 947 "/home/jens/Source/shotwell/src/Printing.vala" + job = _tmp1_; +#line 950 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->cancellable; +#line 950 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp3_ != NULL) { +#line 6793 "Printing.c" + GCancellable* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 950 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = self->priv->cancellable; +#line 950 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = g_cancellable_is_cancelled (_tmp4_); +#line 950 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _tmp5_; +#line 6802 "Printing.c" + } else { +#line 950 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = FALSE; +#line 6806 "Printing.c" + } +#line 950 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp2_) { +#line 6810 "Printing.c" + PrintJob* _tmp6_ = NULL; +#line 951 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = job; +#line 951 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_print_operation_get_type (), GtkPrintOperation)); +#line 953 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (job); +#line 953 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 6820 "Printing.c" + } +#line 956 "/home/jens/Source/shotwell/src/Printing.vala" + spin_event_loop (); +#line 958 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = job_context; +#line 958 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = gtk_print_context_get_page_setup (_tmp7_); +#line 958 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 958 "/home/jens/Source/shotwell/src/Printing.vala" + page_setup = _tmp9_; +#line 959 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = page_setup; +#line 959 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = gtk_page_setup_get_page_width (_tmp10_, GTK_UNIT_INCH); +#line 959 "/home/jens/Source/shotwell/src/Printing.vala" + page_width = _tmp11_; +#line 960 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = page_setup; +#line 960 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = gtk_page_setup_get_page_height (_tmp12_, GTK_UNIT_INCH); +#line 960 "/home/jens/Source/shotwell/src/Printing.vala" + page_height = _tmp13_; +#line 962 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = job; +#line 962 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = print_job_get_local_settings (_tmp14_); +#line 962 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = _tmp15_; +#line 962 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = print_settings_get_content_ppi (_tmp16_); +#line 962 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = (gdouble) _tmp17_; +#line 962 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp16_); +#line 962 "/home/jens/Source/shotwell/src/Printing.vala" + dpi = _tmp18_; +#line 963 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = dpi; +#line 963 "/home/jens/Source/shotwell/src/Printing.vala" + inv_dpi = 1.0 / _tmp19_; +#line 964 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = job_context; +#line 964 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = gtk_print_context_get_cairo_context (_tmp20_); +#line 964 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = _cairo_reference0 (_tmp21_); +#line 964 "/home/jens/Source/shotwell/src/Printing.vala" + dc = _tmp22_; +#line 965 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = dc; +#line 965 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = inv_dpi; +#line 965 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = inv_dpi; +#line 965 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_scale (_tmp23_, _tmp24_, _tmp25_); +#line 966 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = job; +#line 966 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = print_job_get_photos (_tmp26_); +#line 966 "/home/jens/Source/shotwell/src/Printing.vala" + photos = _tmp27_; +#line 968 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = job; +#line 968 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = print_job_get_local_settings (_tmp28_); +#line 968 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = _tmp29_; +#line 968 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = print_settings_get_content_layout (_tmp30_); +#line 968 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = _tmp31_; +#line 968 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp30_); +#line 968 "/home/jens/Source/shotwell/src/Printing.vala" + content_layout = _tmp32_; +#line 969 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp33_ = content_layout; +#line 969 "/home/jens/Source/shotwell/src/Printing.vala" + switch (_tmp33_) { +#line 969 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_STANDARD_SIZE: +#line 969 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_CUSTOM_SIZE: +#line 6906 "Printing.c" + { + gdouble canvas_width = 0.0; + gdouble canvas_height = 0.0; + ContentLayout _tmp34_ = 0; + gint _tmp68_ = 0; + GeeList* _tmp69_ = NULL; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + ProgressDialog* _tmp117_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp34_ = content_layout; +#line 973 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp34_ == CONTENT_LAYOUT_STANDARD_SIZE) { +#line 6920 "Printing.c" + gint _tmp35_ = 0; + StandardPrintSize** _tmp36_ = NULL; + StandardPrintSize** _tmp37_ = NULL; + gint _tmp37__length1 = 0; + PrintJob* _tmp38_ = NULL; + PrintSettings* _tmp39_ = NULL; + PrintSettings* _tmp40_ = NULL; + gint _tmp41_ = 0; + StandardPrintSize* _tmp42_ = NULL; + Measurement _tmp43_ = {0}; + gdouble _tmp44_ = 0.0; + gint _tmp45_ = 0; + StandardPrintSize** _tmp46_ = NULL; + StandardPrintSize** _tmp47_ = NULL; + gint _tmp47__length1 = 0; + PrintJob* _tmp48_ = NULL; + PrintSettings* _tmp49_ = NULL; + PrintSettings* _tmp50_ = NULL; + gint _tmp51_ = 0; + StandardPrintSize* _tmp52_ = NULL; + Measurement _tmp53_ = {0}; + gdouble _tmp54_ = 0.0; +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp36_ = print_manager_get_standard_sizes (self, &_tmp35_); +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37_ = _tmp36_; +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37__length1 = _tmp35_; +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp38_ = job; +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp39_ = print_job_get_local_settings (_tmp38_); +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp40_ = _tmp39_; +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp41_ = print_settings_get_size_selection (_tmp40_); +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42_ = _tmp37_[_tmp41_]; +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (&_tmp42_->width, MEASUREMENT_UNIT_INCHES, &_tmp43_); +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp44_ = _tmp43_.value; +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_width = _tmp44_; +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp40_); +#line 974 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37_ = (_vala_array_free (_tmp37_, _tmp37__length1, (GDestroyNotify) standard_print_size_unref), NULL); +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp46_ = print_manager_get_standard_sizes (self, &_tmp45_); +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp47_ = _tmp46_; +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp47__length1 = _tmp45_; +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp48_ = job; +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp49_ = print_job_get_local_settings (_tmp48_); +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp50_ = _tmp49_; +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp51_ = print_settings_get_size_selection (_tmp50_); +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp52_ = _tmp47_[_tmp51_]; +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (&_tmp52_->height, MEASUREMENT_UNIT_INCHES, &_tmp53_); +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp54_ = _tmp53_.value; +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_height = _tmp54_; +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp50_); +#line 976 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp47_ = (_vala_array_free (_tmp47_, _tmp47__length1, (GDestroyNotify) standard_print_size_unref), NULL); +#line 6995 "Printing.c" + } else { + ContentLayout _tmp55_ = 0; + PrintJob* _tmp56_ = NULL; + PrintSettings* _tmp57_ = NULL; + PrintSettings* _tmp58_ = NULL; + Measurement _tmp59_ = {0}; + Measurement _tmp60_ = {0}; + gdouble _tmp61_ = 0.0; + PrintJob* _tmp62_ = NULL; + PrintSettings* _tmp63_ = NULL; + PrintSettings* _tmp64_ = NULL; + Measurement _tmp65_ = {0}; + Measurement _tmp66_ = {0}; + gdouble _tmp67_ = 0.0; +#line 979 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp55_ = content_layout; +#line 979 "/home/jens/Source/shotwell/src/Printing.vala" + _vala_assert (_tmp55_ == CONTENT_LAYOUT_CUSTOM_SIZE, "content_layout == ContentLayout.CUSTOM_SIZE"); +#line 980 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp56_ = job; +#line 980 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp57_ = print_job_get_local_settings (_tmp56_); +#line 980 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp58_ = _tmp57_; +#line 980 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_content_width (_tmp58_, &_tmp59_); +#line 980 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (&_tmp59_, MEASUREMENT_UNIT_INCHES, &_tmp60_); +#line 980 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp61_ = _tmp60_.value; +#line 980 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_width = _tmp61_; +#line 980 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp58_); +#line 982 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp62_ = job; +#line 982 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp63_ = print_job_get_local_settings (_tmp62_); +#line 982 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp64_ = _tmp63_; +#line 982 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_get_content_height (_tmp64_, &_tmp65_); +#line 982 "/home/jens/Source/shotwell/src/Printing.vala" + measurement_convert_to (&_tmp65_, MEASUREMENT_UNIT_INCHES, &_tmp66_); +#line 982 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp67_ = _tmp66_.value; +#line 982 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_height = _tmp67_; +#line 982 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp64_); +#line 7046 "Printing.c" + } +#line 986 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp68_ = page_num; +#line 986 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp69_ = photos; +#line 986 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp70_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 986 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp71_ = _tmp70_; +#line 986 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp68_ < _tmp71_) { +#line 7058 "Printing.c" + Dimensions photo_dimensions = {0}; + GeeList* _tmp72_ = NULL; + gint _tmp73_ = 0; + gpointer _tmp74_ = NULL; + Photo* _tmp75_ = NULL; + Dimensions _tmp76_ = {0}; + Dimensions _tmp77_ = {0}; + gdouble photo_aspect_ratio = 0.0; + gdouble _tmp78_ = 0.0; + gdouble canvas_aspect_ratio = 0.0; + gdouble _tmp79_ = 0.0; + gdouble _tmp80_ = 0.0; + gdouble _tmp81_ = 0.0; + gdouble _tmp82_ = 0.0; + gdouble _tmp83_ = 0.0; + gdouble _tmp84_ = 0.0; + gdouble dx = 0.0; + gdouble _tmp88_ = 0.0; + gdouble _tmp89_ = 0.0; + gdouble dy = 0.0; + gdouble _tmp90_ = 0.0; + gdouble _tmp91_ = 0.0; + GeeList* _tmp92_ = NULL; + gint _tmp93_ = 0; + gpointer _tmp94_ = NULL; + Photo* _tmp95_ = NULL; + gdouble _tmp96_ = 0.0; + gdouble _tmp97_ = 0.0; + gdouble _tmp98_ = 0.0; + gdouble _tmp99_ = 0.0; + PrintJob* _tmp100_ = NULL; + GtkPrintContext* _tmp101_ = NULL; + PrintJob* _tmp102_ = NULL; + PrintSettings* _tmp103_ = NULL; + PrintSettings* _tmp104_ = NULL; + gboolean _tmp105_ = FALSE; + gboolean _tmp106_ = FALSE; +#line 987 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp72_ = photos; +#line 987 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp73_ = page_num; +#line 987 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp74_ = gee_list_get (_tmp72_, _tmp73_); +#line 987 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp75_ = (Photo*) _tmp74_; +#line 987 "/home/jens/Source/shotwell/src/Printing.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp76_); +#line 987 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp77_ = _tmp76_; +#line 987 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp75_); +#line 987 "/home/jens/Source/shotwell/src/Printing.vala" + photo_dimensions = _tmp77_; +#line 988 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp78_ = dimensions_get_aspect_ratio (&photo_dimensions); +#line 988 "/home/jens/Source/shotwell/src/Printing.vala" + photo_aspect_ratio = _tmp78_; +#line 989 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp79_ = canvas_width; +#line 989 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp80_ = canvas_height; +#line 989 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_aspect_ratio = ((gdouble) _tmp79_) / _tmp80_; +#line 990 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp81_ = canvas_aspect_ratio; +#line 990 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp82_ = floor (_tmp81_); +#line 990 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp83_ = photo_aspect_ratio; +#line 990 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp84_ = floor (_tmp83_); +#line 990 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp82_ != _tmp84_) { +#line 7132 "Printing.c" + gdouble canvas_tmp = 0.0; + gdouble _tmp85_ = 0.0; + gdouble _tmp86_ = 0.0; + gdouble _tmp87_ = 0.0; +#line 991 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp85_ = canvas_width; +#line 991 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_tmp = _tmp85_; +#line 992 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp86_ = canvas_height; +#line 992 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_width = _tmp86_; +#line 993 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp87_ = canvas_tmp; +#line 993 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_height = _tmp87_; +#line 7149 "Printing.c" + } +#line 996 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp88_ = page_width; +#line 996 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp89_ = canvas_width; +#line 996 "/home/jens/Source/shotwell/src/Printing.vala" + dx = (_tmp88_ - _tmp89_) / 2.0; +#line 997 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp90_ = page_height; +#line 997 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp91_ = canvas_height; +#line 997 "/home/jens/Source/shotwell/src/Printing.vala" + dy = (_tmp90_ - _tmp91_) / 2.0; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp92_ = photos; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp93_ = page_num; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp94_ = gee_list_get (_tmp92_, _tmp93_); +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp95_ = (Photo*) _tmp94_; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp96_ = dx; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp97_ = dy; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp98_ = canvas_width; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp99_ = canvas_height; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp100_ = job; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp101_ = job_context; +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_fit_image_to_canvas (self, _tmp95_, _tmp96_, _tmp97_, _tmp98_, _tmp99_, TRUE, _tmp100_, _tmp101_); +#line 998 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp95_); +#line 1000 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp102_ = job; +#line 1000 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp103_ = print_job_get_local_settings (_tmp102_); +#line 1000 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp104_ = _tmp103_; +#line 1000 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp105_ = print_settings_is_print_titles_enabled (_tmp104_); +#line 1000 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp106_ = _tmp105_; +#line 1000 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp104_); +#line 1000 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp106_) { +#line 7201 "Printing.c" + gdouble _tmp107_ = 0.0; + gdouble _tmp108_ = 0.0; + GeeList* _tmp109_ = NULL; + gint _tmp110_ = 0; + gpointer _tmp111_ = NULL; + Photo* _tmp112_ = NULL; + gchar* _tmp113_ = NULL; + gchar* _tmp114_ = NULL; + PrintJob* _tmp115_ = NULL; + GtkPrintContext* _tmp116_ = NULL; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp107_ = page_width; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp108_ = page_height; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp109_ = photos; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp110_ = page_num; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp111_ = gee_list_get (_tmp109_, _tmp110_); +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp112_ = (Photo*) _tmp111_; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp113_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp112_, TYPE_DATA_OBJECT, DataObject)); +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp114_ = _tmp113_; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp115_ = job; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp116_ = job_context; +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_add_title_to_canvas (self, _tmp107_ / 2, _tmp108_, _tmp114_, _tmp115_, _tmp116_); +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp114_); +#line 1001 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp112_); +#line 7238 "Printing.c" + } + } +#line 1006 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp117_ = self->priv->progress_dialog; +#line 1006 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp117_ != NULL) { +#line 7245 "Printing.c" + ProgressDialog* _tmp118_ = NULL; + gint _tmp119_ = 0; + GeeList* _tmp120_ = NULL; + gint _tmp121_ = 0; + gint _tmp122_ = 0; +#line 1007 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp118_ = self->priv->progress_dialog; +#line 1007 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp119_ = page_num; +#line 1007 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp120_ = photos; +#line 1007 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp121_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp120_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1007 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp122_ = _tmp121_; +#line 1007 "/home/jens/Source/shotwell/src/Printing.vala" + progress_dialog_monitor (_tmp118_, (guint64) _tmp119_, (guint64) _tmp122_, TRUE); +#line 7263 "Printing.c" + } +#line 1008 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 7267 "Printing.c" + } +#line 969 "/home/jens/Source/shotwell/src/Printing.vala" + case CONTENT_LAYOUT_IMAGE_PER_PAGE: +#line 7271 "Printing.c" + { + PrintLayout layout = 0; + PrintJob* _tmp123_ = NULL; + PrintSettings* _tmp124_ = NULL; + PrintSettings* _tmp125_ = NULL; + gint _tmp126_ = 0; + PrintLayout _tmp127_ = 0; + gint nx = 0; + PrintLayout _tmp128_ = 0; + gint _tmp129_ = 0; + gint ny = 0; + PrintLayout _tmp130_ = 0; + gint _tmp131_ = 0; + gint start = 0; + gint _tmp132_ = 0; + PrintLayout _tmp133_ = 0; + gint _tmp134_ = 0; + gdouble canvas_width = 0.0; + gdouble _tmp135_ = 0.0; + gint _tmp136_ = 0; + gint _tmp137_ = 0; + gdouble canvas_height = 0.0; + gdouble _tmp138_ = 0.0; + gint _tmp139_ = 0; + gint _tmp140_ = 0; +#line 1011 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp123_ = job; +#line 1011 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp124_ = print_job_get_local_settings (_tmp123_); +#line 1011 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp125_ = _tmp124_; +#line 1011 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp126_ = print_settings_get_image_per_page_selection (_tmp125_); +#line 1011 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp127_ = (PrintLayout) _tmp126_; +#line 1011 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp125_); +#line 1011 "/home/jens/Source/shotwell/src/Printing.vala" + layout = _tmp127_; +#line 1012 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp128_ = layout; +#line 1012 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp129_ = print_layout_get_x (_tmp128_); +#line 1012 "/home/jens/Source/shotwell/src/Printing.vala" + nx = _tmp129_; +#line 1013 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp130_ = layout; +#line 1013 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp131_ = print_layout_get_y (_tmp130_); +#line 1013 "/home/jens/Source/shotwell/src/Printing.vala" + ny = _tmp131_; +#line 1014 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp132_ = page_num; +#line 1014 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp133_ = layout; +#line 1014 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp134_ = print_layout_get_per_page (_tmp133_); +#line 1014 "/home/jens/Source/shotwell/src/Printing.vala" + start = _tmp132_ * _tmp134_; +#line 1015 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp135_ = page_width; +#line 1015 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp136_ = nx; +#line 1015 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp137_ = nx; +#line 1015 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_width = ((gdouble) (_tmp135_ - (PRINT_MANAGER_IMAGE_DISTANCE * (_tmp136_ - 1)))) / _tmp137_; +#line 1016 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp138_ = page_height; +#line 1016 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp139_ = ny; +#line 1016 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp140_ = ny; +#line 1016 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_height = ((gdouble) (_tmp138_ - (PRINT_MANAGER_IMAGE_DISTANCE * (_tmp139_ - 1)))) / _tmp140_; +#line 7347 "Printing.c" + { + gint y = 0; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + y = 0; +#line 7352 "Printing.c" + { + gboolean _tmp141_ = FALSE; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp141_ = TRUE; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + while (TRUE) { +#line 7359 "Printing.c" + gint _tmp143_ = 0; + gint _tmp144_ = 0; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + if (!_tmp141_) { +#line 7364 "Printing.c" + gint _tmp142_ = 0; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp142_ = y; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + y = _tmp142_ + 1; +#line 7370 "Printing.c" + } +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp141_ = FALSE; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp143_ = y; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp144_ = ny; +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + if (!(_tmp143_ < _tmp144_)) { +#line 1017 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 7382 "Printing.c" + } + { + gint x = 0; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + x = 0; +#line 7388 "Printing.c" + { + gboolean _tmp145_ = FALSE; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp145_ = TRUE; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + while (TRUE) { +#line 7395 "Printing.c" + gint _tmp147_ = 0; + gint _tmp148_ = 0; + gint i = 0; + gint _tmp149_ = 0; + gint _tmp150_ = 0; + gint _tmp151_ = 0; + gint _tmp152_ = 0; + gint _tmp153_ = 0; + GeeList* _tmp154_ = NULL; + gint _tmp155_ = 0; + gint _tmp156_ = 0; + ProgressDialog* _tmp190_ = NULL; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + if (!_tmp145_) { +#line 7410 "Printing.c" + gint _tmp146_ = 0; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp146_ = x; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + x = _tmp146_ + 1; +#line 7416 "Printing.c" + } +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp145_ = FALSE; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp147_ = x; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp148_ = nx; +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + if (!(_tmp147_ < _tmp148_)) { +#line 1018 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 7428 "Printing.c" + } +#line 1019 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp149_ = start; +#line 1019 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp150_ = y; +#line 1019 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp151_ = nx; +#line 1019 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp152_ = x; +#line 1019 "/home/jens/Source/shotwell/src/Printing.vala" + i = (_tmp149_ + (_tmp150_ * _tmp151_)) + _tmp152_; +#line 1020 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp153_ = i; +#line 1020 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp154_ = photos; +#line 1020 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp155_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp154_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1020 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp156_ = _tmp155_; +#line 1020 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp153_ < _tmp156_) { +#line 7450 "Printing.c" + gdouble dx = 0.0; + gint _tmp157_ = 0; + gdouble _tmp158_ = 0.0; + gint _tmp159_ = 0; + gdouble dy = 0.0; + gint _tmp160_ = 0; + gdouble _tmp161_ = 0.0; + gint _tmp162_ = 0; + GeeList* _tmp163_ = NULL; + gint _tmp164_ = 0; + gpointer _tmp165_ = NULL; + Photo* _tmp166_ = NULL; + gdouble _tmp167_ = 0.0; + gdouble _tmp168_ = 0.0; + gdouble _tmp169_ = 0.0; + gdouble _tmp170_ = 0.0; + PrintJob* _tmp171_ = NULL; + GtkPrintContext* _tmp172_ = NULL; + PrintJob* _tmp173_ = NULL; + PrintSettings* _tmp174_ = NULL; + PrintSettings* _tmp175_ = NULL; + gboolean _tmp176_ = FALSE; + gboolean _tmp177_ = FALSE; +#line 1021 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp157_ = x; +#line 1021 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp158_ = canvas_width; +#line 1021 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp159_ = x; +#line 1021 "/home/jens/Source/shotwell/src/Printing.vala" + dx = (_tmp157_ * _tmp158_) + (_tmp159_ * PRINT_MANAGER_IMAGE_DISTANCE); +#line 1022 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp160_ = y; +#line 1022 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp161_ = canvas_height; +#line 1022 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp162_ = y; +#line 1022 "/home/jens/Source/shotwell/src/Printing.vala" + dy = (_tmp160_ * _tmp161_) + (_tmp162_ * PRINT_MANAGER_IMAGE_DISTANCE); +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp163_ = photos; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp164_ = i; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp165_ = gee_list_get (_tmp163_, _tmp164_); +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp166_ = (Photo*) _tmp165_; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp167_ = dx; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp168_ = dy; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp169_ = canvas_width; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp170_ = canvas_height; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp171_ = job; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp172_ = job_context; +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_fit_image_to_canvas (self, _tmp166_, _tmp167_, _tmp168_, _tmp169_, _tmp170_, FALSE, _tmp171_, _tmp172_); +#line 1023 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp166_); +#line 1025 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp173_ = job; +#line 1025 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp174_ = print_job_get_local_settings (_tmp173_); +#line 1025 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp175_ = _tmp174_; +#line 1025 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp176_ = print_settings_is_print_titles_enabled (_tmp175_); +#line 1025 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp177_ = _tmp176_; +#line 1025 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp175_); +#line 1025 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp177_) { +#line 7528 "Printing.c" + gdouble _tmp178_ = 0.0; + gdouble _tmp179_ = 0.0; + gdouble _tmp180_ = 0.0; + gdouble _tmp181_ = 0.0; + GeeList* _tmp182_ = NULL; + gint _tmp183_ = 0; + gpointer _tmp184_ = NULL; + Photo* _tmp185_ = NULL; + gchar* _tmp186_ = NULL; + gchar* _tmp187_ = NULL; + PrintJob* _tmp188_ = NULL; + GtkPrintContext* _tmp189_ = NULL; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp178_ = dx; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp179_ = canvas_width; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp180_ = dy; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp181_ = canvas_height; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp182_ = photos; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp183_ = i; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp184_ = gee_list_get (_tmp182_, _tmp183_); +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp185_ = (Photo*) _tmp184_; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp186_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp185_, TYPE_DATA_OBJECT, DataObject)); +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp187_ = _tmp186_; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp188_ = job; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp189_ = job_context; +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_add_title_to_canvas (self, _tmp178_ + (_tmp179_ / 2), _tmp180_ + _tmp181_, _tmp187_, _tmp188_, _tmp189_); +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp187_); +#line 1026 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp185_); +#line 7571 "Printing.c" + } + } +#line 1031 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp190_ = self->priv->progress_dialog; +#line 1031 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp190_ != NULL) { +#line 7578 "Printing.c" + ProgressDialog* _tmp191_ = NULL; + gint _tmp192_ = 0; + GeeList* _tmp193_ = NULL; + gint _tmp194_ = 0; + gint _tmp195_ = 0; +#line 1032 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp191_ = self->priv->progress_dialog; +#line 1032 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp192_ = i; +#line 1032 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp193_ = photos; +#line 1032 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp194_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp193_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1032 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp195_ = _tmp194_; +#line 1032 "/home/jens/Source/shotwell/src/Printing.vala" + progress_dialog_monitor (_tmp191_, (guint64) _tmp192_, (guint64) _tmp195_, TRUE); +#line 7596 "Printing.c" + } + } + } + } + } + } + } +#line 1035 "/home/jens/Source/shotwell/src/Printing.vala" + break; +#line 7606 "Printing.c" + } + default: + { +#line 1038 "/home/jens/Source/shotwell/src/Printing.vala" + g_error ("Printing.vala:1038: unknown or unsupported layout mode"); +#line 7612 "Printing.c" + } + } +#line 943 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (photos); +#line 943 "/home/jens/Source/shotwell/src/Printing.vala" + _cairo_destroy0 (dc); +#line 943 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (page_setup); +#line 943 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (job); +#line 7623 "Printing.c" +} + + +static void _print_manager_on_custom_widget_apply_gtk_print_operation_custom_widget_apply (GtkPrintOperation* _sender, GtkWidget* widget, gpointer self) { +#line 1044 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_on_custom_widget_apply ((PrintManager*) self, widget); +#line 7630 "Printing.c" +} + + +static GObject* print_manager_on_create_custom_widget (PrintManager* self, GtkPrintOperation* emitting_object) { + GObject* result = NULL; + GtkPrintOperation* _tmp0_ = NULL; + CustomPrintTab* _tmp1_ = NULL; + GtkPrintOperation* _tmp2_ = NULL; + CustomPrintTab* _tmp3_ = NULL; +#line 1042 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_MANAGER (self), NULL); +#line 1042 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (GTK_IS_PRINT_OPERATION (emitting_object), NULL); +#line 1043 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = emitting_object; +#line 1043 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = custom_print_tab_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PRINT_JOB, PrintJob)); +#line 1043 "/home/jens/Source/shotwell/src/Printing.vala" + g_object_ref_sink (_tmp1_); +#line 1043 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_tab); +#line 1043 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->custom_tab = _tmp1_; +#line 1044 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = emitting_object; +#line 1044 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PRINT_JOB, PrintJob), gtk_print_operation_get_type (), GtkPrintOperation), "custom-widget-apply", (GCallback) _print_manager_on_custom_widget_apply_gtk_print_operation_custom_widget_apply, self); +#line 1045 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = self->priv->custom_tab; +#line 1045 "/home/jens/Source/shotwell/src/Printing.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, G_TYPE_OBJECT, GObject); +#line 1045 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 7664 "Printing.c" +} + + +static void print_manager_on_custom_widget_apply (PrintManager* self, GtkWidget* custom_widget) { + CustomPrintTab* tab = NULL; + GtkWidget* _tmp0_ = NULL; + CustomPrintTab* _tmp1_ = NULL; + PrintJob* _tmp2_ = NULL; + PrintJob* _tmp3_ = NULL; + PrintSettings* _tmp4_ = NULL; + PrintSettings* _tmp5_ = NULL; + PrintSettings* _tmp6_ = NULL; + PrintSettings* _tmp7_ = NULL; +#line 1048 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_MANAGER (self)); +#line 1048 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_WIDGET (custom_widget)); +#line 1049 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = custom_widget; +#line 1049 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_CUSTOM_PRINT_TAB, CustomPrintTab)); +#line 1049 "/home/jens/Source/shotwell/src/Printing.vala" + tab = _tmp1_; +#line 1050 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = custom_print_tab_get_source_job (tab); +#line 1050 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = _tmp2_; +#line 1050 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = custom_print_tab_get_local_settings (tab); +#line 1050 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_; +#line 1050 "/home/jens/Source/shotwell/src/Printing.vala" + print_job_set_local_settings (_tmp3_, _tmp5_); +#line 1050 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp5_); +#line 1050 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (_tmp3_); +#line 1051 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = custom_print_tab_get_local_settings (tab); +#line 1051 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = _tmp6_; +#line 1051 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_set_global_settings (self, _tmp7_); +#line 1051 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp7_); +#line 1048 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (tab); +#line 7712 "Printing.c" +} + + +static void print_manager_fit_image_to_canvas (PrintManager* self, Photo* photo, gdouble x, gdouble y, gdouble canvas_width, gdouble canvas_height, gboolean crop, PrintJob* job, GtkPrintContext* job_context) { + cairo_t* dc = NULL; + GtkPrintContext* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + Dimensions photo_dimensions = {0}; + Photo* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; + gdouble photo_aspect_ratio = 0.0; + gdouble _tmp5_ = 0.0; + gdouble canvas_aspect_ratio = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; + gdouble target_width = 0.0; + gdouble target_height = 0.0; + gdouble dpi = 0.0; + PrintJob* _tmp8_ = NULL; + PrintSettings* _tmp9_ = NULL; + PrintSettings* _tmp10_ = NULL; + gint _tmp11_ = 0; + gdouble _tmp12_ = 0.0; + gboolean _tmp13_ = FALSE; + gdouble x_offset = 0.0; + gdouble _tmp28_ = 0.0; + gdouble _tmp29_ = 0.0; + gdouble y_offset = 0.0; + gdouble _tmp30_ = 0.0; + gdouble _tmp31_ = 0.0; + cairo_t* _tmp32_ = NULL; + cairo_t* _tmp33_ = NULL; + gdouble _tmp34_ = 0.0; + gdouble _tmp35_ = 0.0; + gint w = 0; + gdouble _tmp36_ = 0.0; + gdouble _tmp37_ = 0.0; + gint h = 0; + gdouble _tmp38_ = 0.0; + gdouble _tmp39_ = 0.0; + Dimensions viewport = {0}; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + cairo_t* _tmp96_ = NULL; + GError * _inner_error_ = NULL; +#line 1054 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_MANAGER (self)); +#line 1054 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 1054 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_JOB (job)); +#line 1054 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_PRINT_CONTEXT (job_context)); +#line 1055 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = job_context; +#line 1055 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_print_context_get_cairo_context (_tmp0_); +#line 1055 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _cairo_reference0 (_tmp1_); +#line 1055 "/home/jens/Source/shotwell/src/Printing.vala" + dc = _tmp2_; +#line 1056 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = photo; +#line 1056 "/home/jens/Source/shotwell/src/Printing.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp4_); +#line 1056 "/home/jens/Source/shotwell/src/Printing.vala" + photo_dimensions = _tmp4_; +#line 1057 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = dimensions_get_aspect_ratio (&photo_dimensions); +#line 1057 "/home/jens/Source/shotwell/src/Printing.vala" + photo_aspect_ratio = _tmp5_; +#line 1058 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = canvas_width; +#line 1058 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = canvas_height; +#line 1058 "/home/jens/Source/shotwell/src/Printing.vala" + canvas_aspect_ratio = ((gdouble) _tmp6_) / _tmp7_; +#line 1060 "/home/jens/Source/shotwell/src/Printing.vala" + target_width = 0.0; +#line 1061 "/home/jens/Source/shotwell/src/Printing.vala" + target_height = 0.0; +#line 1062 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = job; +#line 1062 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = print_job_get_local_settings (_tmp8_); +#line 1062 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = _tmp9_; +#line 1062 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = print_settings_get_content_ppi (_tmp10_); +#line 1062 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = (gdouble) _tmp11_; +#line 1062 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp10_); +#line 1062 "/home/jens/Source/shotwell/src/Printing.vala" + dpi = _tmp12_; +#line 1064 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = crop; +#line 1064 "/home/jens/Source/shotwell/src/Printing.vala" + if (!_tmp13_) { +#line 7813 "Printing.c" + gdouble _tmp14_ = 0.0; + gdouble _tmp15_ = 0.0; + gdouble _tmp22_ = 0.0; + gdouble _tmp23_ = 0.0; + gdouble _tmp24_ = 0.0; + gdouble _tmp25_ = 0.0; + gdouble _tmp26_ = 0.0; + gdouble _tmp27_ = 0.0; +#line 1065 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = canvas_aspect_ratio; +#line 1065 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = photo_aspect_ratio; +#line 1065 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp14_ < _tmp15_) { +#line 7828 "Printing.c" + gdouble _tmp16_ = 0.0; + gdouble _tmp17_ = 0.0; + gdouble _tmp18_ = 0.0; +#line 1066 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = canvas_width; +#line 1066 "/home/jens/Source/shotwell/src/Printing.vala" + target_width = _tmp16_; +#line 1067 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = target_width; +#line 1067 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = photo_aspect_ratio; +#line 1067 "/home/jens/Source/shotwell/src/Printing.vala" + target_height = _tmp17_ * (1.0 / _tmp18_); +#line 7842 "Printing.c" + } else { + gdouble _tmp19_ = 0.0; + gdouble _tmp20_ = 0.0; + gdouble _tmp21_ = 0.0; +#line 1069 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp19_ = canvas_height; +#line 1069 "/home/jens/Source/shotwell/src/Printing.vala" + target_height = _tmp19_; +#line 1070 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp20_ = target_height; +#line 1070 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = photo_aspect_ratio; +#line 1070 "/home/jens/Source/shotwell/src/Printing.vala" + target_width = _tmp20_ * _tmp21_; +#line 7857 "Printing.c" + } +#line 1072 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = x; +#line 1072 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp23_ = canvas_width; +#line 1072 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp24_ = target_width; +#line 1072 "/home/jens/Source/shotwell/src/Printing.vala" + x = _tmp22_ + ((_tmp23_ - _tmp24_) / 2.0); +#line 1073 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp25_ = y; +#line 1073 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp26_ = canvas_height; +#line 1073 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp27_ = target_height; +#line 1073 "/home/jens/Source/shotwell/src/Printing.vala" + y = _tmp25_ + ((_tmp26_ - _tmp27_) / 2.0); +#line 7875 "Printing.c" + } +#line 1076 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp28_ = dpi; +#line 1076 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp29_ = x; +#line 1076 "/home/jens/Source/shotwell/src/Printing.vala" + x_offset = _tmp28_ * _tmp29_; +#line 1077 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp30_ = dpi; +#line 1077 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp31_ = y; +#line 1077 "/home/jens/Source/shotwell/src/Printing.vala" + y_offset = _tmp30_ * _tmp31_; +#line 1078 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp32_ = dc; +#line 1078 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_save (_tmp32_); +#line 1079 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp33_ = dc; +#line 1079 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp34_ = x_offset; +#line 1079 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp35_ = y_offset; +#line 1079 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_translate (_tmp33_, _tmp34_, _tmp35_); +#line 1081 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp36_ = dpi; +#line 1081 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp37_ = canvas_width; +#line 1081 "/home/jens/Source/shotwell/src/Printing.vala" + w = (gint) (_tmp36_ * _tmp37_); +#line 1082 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp38_ = dpi; +#line 1082 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp39_ = canvas_height; +#line 1082 "/home/jens/Source/shotwell/src/Printing.vala" + h = (gint) (_tmp38_ * _tmp39_); +#line 1083 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp40_ = w; +#line 1083 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp41_ = h; +#line 1083 "/home/jens/Source/shotwell/src/Printing.vala" + dimensions_init (&viewport, _tmp40_, _tmp41_); +#line 7919 "Printing.c" + { + gboolean _tmp42_ = FALSE; + gboolean _tmp43_ = FALSE; + cairo_t* _tmp89_ = NULL; +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp43_ = crop; +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp43_) { +#line 7928 "Printing.c" + gdouble _tmp44_ = 0.0; + gdouble _tmp45_ = 0.0; + gboolean _tmp46_ = FALSE; +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp44_ = canvas_aspect_ratio; +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp45_ = photo_aspect_ratio; +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp46_ = print_manager_are_approximately_equal (self, _tmp44_, _tmp45_); +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42_ = !_tmp46_; +#line 7940 "Printing.c" + } else { +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp42_ = FALSE; +#line 7944 "Printing.c" + } +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp42_) { +#line 7948 "Printing.c" + Scaling pixbuf_scaling = {0}; + Dimensions _tmp47_ = {0}; + Scaling _tmp48_ = {0}; + GdkPixbuf* photo_pixbuf = NULL; + Photo* _tmp49_ = NULL; + Scaling _tmp50_ = {0}; + GdkPixbuf* _tmp51_ = NULL; + Dimensions scaled_photo_dimensions = {0}; + GdkPixbuf* _tmp52_ = NULL; + Dimensions _tmp53_ = {0}; + gint shave_vertical = 0; + gint shave_horizontal = 0; + gdouble _tmp54_ = 0.0; + gdouble _tmp55_ = 0.0; + GdkPixbuf* shaved_pixbuf = NULL; + GdkPixbuf* _tmp66_ = NULL; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + Dimensions _tmp69_ = {0}; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + Dimensions _tmp72_ = {0}; + gint _tmp73_ = 0; + gint _tmp74_ = 0; + GdkPixbuf* _tmp75_ = NULL; + GdkPixbuf* _tmp76_ = NULL; + GdkPixbuf* _tmp77_ = NULL; + cairo_t* _tmp78_ = NULL; + GdkPixbuf* _tmp79_ = NULL; +#line 1087 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp47_ = viewport; +#line 1087 "/home/jens/Source/shotwell/src/Printing.vala" + scaling_to_fill_viewport (&_tmp47_, &_tmp48_); +#line 1087 "/home/jens/Source/shotwell/src/Printing.vala" + pixbuf_scaling = _tmp48_; +#line 1088 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp49_ = photo; +#line 1088 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp50_ = pixbuf_scaling; +#line 1088 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp51_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp50_, &_inner_error_); +#line 1088 "/home/jens/Source/shotwell/src/Printing.vala" + photo_pixbuf = _tmp51_; +#line 1088 "/home/jens/Source/shotwell/src/Printing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7994 "Printing.c" + goto __catch458_g_error; + } +#line 1089 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp52_ = photo_pixbuf; +#line 1089 "/home/jens/Source/shotwell/src/Printing.vala" + dimensions_for_pixbuf (_tmp52_, &_tmp53_); +#line 1089 "/home/jens/Source/shotwell/src/Printing.vala" + scaled_photo_dimensions = _tmp53_; +#line 1090 "/home/jens/Source/shotwell/src/Printing.vala" + shave_vertical = 0; +#line 1091 "/home/jens/Source/shotwell/src/Printing.vala" + shave_horizontal = 0; +#line 1092 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp54_ = canvas_aspect_ratio; +#line 1092 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp55_ = photo_aspect_ratio; +#line 1092 "/home/jens/Source/shotwell/src/Printing.vala" + if (_tmp54_ < _tmp55_) { +#line 8013 "Printing.c" + Dimensions _tmp56_ = {0}; + gint _tmp57_ = 0; + Dimensions _tmp58_ = {0}; + gint _tmp59_ = 0; + gdouble _tmp60_ = 0.0; +#line 1093 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp56_ = scaled_photo_dimensions; +#line 1093 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp57_ = _tmp56_.width; +#line 1093 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp58_ = scaled_photo_dimensions; +#line 1093 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp59_ = _tmp58_.height; +#line 1093 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp60_ = canvas_aspect_ratio; +#line 1093 "/home/jens/Source/shotwell/src/Printing.vala" + shave_vertical = (gint) ((_tmp57_ - (_tmp59_ * _tmp60_)) / 2.0); +#line 8031 "Printing.c" + } else { + Dimensions _tmp61_ = {0}; + gint _tmp62_ = 0; + Dimensions _tmp63_ = {0}; + gint _tmp64_ = 0; + gdouble _tmp65_ = 0.0; +#line 1095 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp61_ = scaled_photo_dimensions; +#line 1095 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp62_ = _tmp61_.height; +#line 1095 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp63_ = scaled_photo_dimensions; +#line 1095 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp64_ = _tmp63_.width; +#line 1095 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp65_ = canvas_aspect_ratio; +#line 1095 "/home/jens/Source/shotwell/src/Printing.vala" + shave_horizontal = (gint) ((_tmp62_ - (_tmp64_ * (1.0 / _tmp65_))) / 2.0); +#line 8050 "Printing.c" + } +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp66_ = photo_pixbuf; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp67_ = shave_vertical; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp68_ = shave_horizontal; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp69_ = scaled_photo_dimensions; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp70_ = _tmp69_.width; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp71_ = shave_vertical; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp72_ = scaled_photo_dimensions; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp73_ = _tmp72_.height; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp74_ = shave_horizontal; +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp75_ = gdk_pixbuf_new_subpixbuf (_tmp66_, _tmp67_, _tmp68_, _tmp70_ - (2 * _tmp71_), _tmp73_ - (2 * _tmp74_)); +#line 1097 "/home/jens/Source/shotwell/src/Printing.vala" + shaved_pixbuf = _tmp75_; +#line 1099 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp76_ = shaved_pixbuf; +#line 1099 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp77_ = scaling_perform_on_pixbuf (&pixbuf_scaling, _tmp76_, GDK_INTERP_HYPER, TRUE); +#line 1099 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (photo_pixbuf); +#line 1099 "/home/jens/Source/shotwell/src/Printing.vala" + photo_pixbuf = _tmp77_; +#line 1100 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp78_ = dc; +#line 1100 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp79_ = photo_pixbuf; +#line 1100 "/home/jens/Source/shotwell/src/Printing.vala" + gdk_cairo_set_source_pixbuf (_tmp78_, _tmp79_, 0.0, 0.0); +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (shaved_pixbuf); +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (photo_pixbuf); +#line 8092 "Printing.c" + } else { + Scaling pixbuf_scaling = {0}; + Dimensions _tmp80_ = {0}; + Scaling _tmp81_ = {0}; + GdkPixbuf* photo_pixbuf = NULL; + Photo* _tmp82_ = NULL; + Scaling _tmp83_ = {0}; + GdkPixbuf* _tmp84_ = NULL; + GdkPixbuf* _tmp85_ = NULL; + GdkPixbuf* _tmp86_ = NULL; + cairo_t* _tmp87_ = NULL; + GdkPixbuf* _tmp88_ = NULL; +#line 1102 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp80_ = viewport; +#line 1102 "/home/jens/Source/shotwell/src/Printing.vala" + scaling_for_viewport (&_tmp80_, TRUE, &_tmp81_); +#line 1102 "/home/jens/Source/shotwell/src/Printing.vala" + pixbuf_scaling = _tmp81_; +#line 1103 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp82_ = photo; +#line 1103 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp83_ = pixbuf_scaling; +#line 1103 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp84_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp83_, &_inner_error_); +#line 1103 "/home/jens/Source/shotwell/src/Printing.vala" + photo_pixbuf = _tmp84_; +#line 1103 "/home/jens/Source/shotwell/src/Printing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8121 "Printing.c" + goto __catch458_g_error; + } +#line 1104 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp85_ = photo_pixbuf; +#line 1104 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp86_ = scaling_perform_on_pixbuf (&pixbuf_scaling, _tmp85_, GDK_INTERP_HYPER, TRUE); +#line 1104 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (photo_pixbuf); +#line 1104 "/home/jens/Source/shotwell/src/Printing.vala" + photo_pixbuf = _tmp86_; +#line 1105 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp87_ = dc; +#line 1105 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp88_ = photo_pixbuf; +#line 1105 "/home/jens/Source/shotwell/src/Printing.vala" + gdk_cairo_set_source_pixbuf (_tmp87_, _tmp88_, 0.0, 0.0); +#line 1086 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (photo_pixbuf); +#line 8140 "Printing.c" + } +#line 1107 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp89_ = dc; +#line 1107 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_paint (_tmp89_); +#line 8146 "Printing.c" + } + goto __finally458; + __catch458_g_error: + { + GError* e = NULL; + PrintJob* _tmp90_ = NULL; + const gchar* _tmp91_ = NULL; + GError* _tmp92_ = NULL; + const gchar* _tmp93_ = NULL; + gchar* _tmp94_ = NULL; + gchar* _tmp95_ = NULL; +#line 1085 "/home/jens/Source/shotwell/src/Printing.vala" + e = _inner_error_; +#line 1085 "/home/jens/Source/shotwell/src/Printing.vala" + _inner_error_ = NULL; +#line 1110 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp90_ = job; +#line 1110 "/home/jens/Source/shotwell/src/Printing.vala" + gtk_print_operation_cancel (G_TYPE_CHECK_INSTANCE_CAST (_tmp90_, gtk_print_operation_get_type (), GtkPrintOperation)); +#line 1111 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp91_ = _ ("Unable to print photo:\n\n%s"); +#line 1111 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp92_ = e; +#line 1111 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp93_ = _tmp92_->message; +#line 1111 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp94_ = g_strdup_printf (_tmp91_, _tmp93_); +#line 1111 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp95_ = _tmp94_; +#line 1111 "/home/jens/Source/shotwell/src/Printing.vala" + app_window_error_message (_tmp95_, NULL); +#line 1111 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp95_); +#line 1085 "/home/jens/Source/shotwell/src/Printing.vala" + _g_error_free0 (e); +#line 8182 "Printing.c" + } + __finally458: +#line 1085 "/home/jens/Source/shotwell/src/Printing.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1085 "/home/jens/Source/shotwell/src/Printing.vala" + _cairo_destroy0 (dc); +#line 1085 "/home/jens/Source/shotwell/src/Printing.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 1085 "/home/jens/Source/shotwell/src/Printing.vala" + g_clear_error (&_inner_error_); +#line 1085 "/home/jens/Source/shotwell/src/Printing.vala" + return; +#line 8195 "Printing.c" + } +#line 1113 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp96_ = dc; +#line 1113 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_restore (_tmp96_); +#line 1054 "/home/jens/Source/shotwell/src/Printing.vala" + _cairo_destroy0 (dc); +#line 8203 "Printing.c" +} + + +static void _vala_PangoFontDescription_free (PangoFontDescription* self) { +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + g_boxed_free (pango_font_description_get_type (), self); +#line 8210 "Printing.c" +} + + +static void print_manager_add_title_to_canvas (PrintManager* self, gdouble x, gdouble y, const gchar* title, PrintJob* job, GtkPrintContext* job_context) { + cairo_t* dc = NULL; + GtkPrintContext* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + gdouble dpi = 0.0; + PrintJob* _tmp3_ = NULL; + PrintSettings* _tmp4_ = NULL; + PrintSettings* _tmp5_ = NULL; + gint _tmp6_ = 0; + gdouble _tmp7_ = 0.0; + PangoFontDescription* title_font_description = NULL; + PrintJob* _tmp8_ = NULL; + PrintSettings* _tmp9_ = NULL; + PrintSettings* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + PangoFontDescription* _tmp13_ = NULL; + PangoFontDescription* _tmp14_ = NULL; + PangoLayout* title_layout = NULL; + PangoLayout* _tmp15_ = NULL; + PangoContext* context = NULL; + PangoContext* _tmp16_ = NULL; + PangoContext* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gint title_width = 0; + gint title_height = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gdouble tx = 0.0; + gdouble _tmp21_ = 0.0; + gdouble ty = 0.0; + gdouble _tmp22_ = 0.0; +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_MANAGER (self)); +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (title != NULL); +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_JOB (job)); +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (GTK_IS_PRINT_CONTEXT (job_context)); +#line 1117 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = job_context; +#line 1117 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = gtk_print_context_get_cairo_context (_tmp0_); +#line 1117 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = _cairo_reference0 (_tmp1_); +#line 1117 "/home/jens/Source/shotwell/src/Printing.vala" + dc = _tmp2_; +#line 1118 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp3_ = job; +#line 1118 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp4_ = print_job_get_local_settings (_tmp3_); +#line 1118 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp5_ = _tmp4_; +#line 1118 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp6_ = print_settings_get_content_ppi (_tmp5_); +#line 1118 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp7_ = (gdouble) _tmp6_; +#line 1118 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp5_); +#line 1118 "/home/jens/Source/shotwell/src/Printing.vala" + dpi = _tmp7_; +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp8_ = job; +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp9_ = print_job_get_local_settings (_tmp8_); +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp10_ = _tmp9_; +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp11_ = print_settings_get_print_titles_font (_tmp10_); +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp12_ = _tmp11_; +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp13_ = pango_font_description_from_string (_tmp12_); +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp14_ = _tmp13_; +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _g_free0 (_tmp12_); +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (_tmp10_); +#line 1119 "/home/jens/Source/shotwell/src/Printing.vala" + title_font_description = _tmp14_; +#line 1120 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp15_ = pango_cairo_create_layout (dc); +#line 1120 "/home/jens/Source/shotwell/src/Printing.vala" + title_layout = _tmp15_; +#line 1121 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp16_ = pango_layout_get_context (title_layout); +#line 1121 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp17_ = _g_object_ref0 (_tmp16_); +#line 1121 "/home/jens/Source/shotwell/src/Printing.vala" + context = _tmp17_; +#line 1122 "/home/jens/Source/shotwell/src/Printing.vala" + pango_cairo_context_set_resolution (context, dpi); +#line 1123 "/home/jens/Source/shotwell/src/Printing.vala" + pango_layout_set_font_description (title_layout, title_font_description); +#line 1124 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp18_ = title; +#line 1124 "/home/jens/Source/shotwell/src/Printing.vala" + pango_layout_set_text (title_layout, _tmp18_, -1); +#line 1126 "/home/jens/Source/shotwell/src/Printing.vala" + pango_layout_get_pixel_size (title_layout, &_tmp19_, &_tmp20_); +#line 1126 "/home/jens/Source/shotwell/src/Printing.vala" + title_width = _tmp19_; +#line 1126 "/home/jens/Source/shotwell/src/Printing.vala" + title_height = _tmp20_; +#line 1127 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp21_ = x; +#line 1127 "/home/jens/Source/shotwell/src/Printing.vala" + tx = (dpi * _tmp21_) - (title_width / 2); +#line 1128 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp22_ = y; +#line 1128 "/home/jens/Source/shotwell/src/Printing.vala" + ty = (dpi * _tmp22_) - title_height; +#line 1131 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_rectangle (dc, tx - 10, ty + 2, (gdouble) (title_width + 20), (gdouble) title_height); +#line 1132 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_set_source_rgba (dc, (gdouble) 1, (gdouble) 1, (gdouble) 1, (gdouble) 1); +#line 1133 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_set_line_width (dc, (gdouble) 2); +#line 1134 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_stroke_preserve (dc); +#line 1135 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_set_source_rgba (dc, (gdouble) 1, (gdouble) 1, (gdouble) 1, 0.5); +#line 1136 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_fill (dc); +#line 1137 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_set_source_rgba (dc, (gdouble) 0, (gdouble) 0, (gdouble) 0, (gdouble) 1); +#line 1139 "/home/jens/Source/shotwell/src/Printing.vala" + cairo_move_to (dc, tx, ty + 2); +#line 1140 "/home/jens/Source/shotwell/src/Printing.vala" + pango_cairo_show_layout (dc, title_layout); +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (context); +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (title_layout); +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + __vala_PangoFontDescription_free0 (title_font_description); +#line 1116 "/home/jens/Source/shotwell/src/Printing.vala" + _cairo_destroy0 (dc); +#line 8355 "Printing.c" +} + + +static gboolean print_manager_are_approximately_equal (PrintManager* self, gdouble val1, gdouble val2) { + gboolean result = FALSE; + gdouble accept_err = 0.0; + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; +#line 1143 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_MANAGER (self), FALSE); +#line 1144 "/home/jens/Source/shotwell/src/Printing.vala" + accept_err = 0.005; +#line 1145 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = val1; +#line 1145 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = val2; +#line 1145 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = fabs (_tmp0_ - _tmp1_); +#line 1145 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp2_ <= accept_err; +#line 1145 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 8379 "Printing.c" +} + + +PrintSettings* print_manager_get_global_settings (PrintManager* self) { + PrintSettings* result = NULL; + PrintSettings* _tmp0_ = NULL; + PrintSettings* _tmp1_ = NULL; +#line 1148 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (IS_PRINT_MANAGER (self), NULL); +#line 1149 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = self->priv->settings; +#line 1149 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _print_settings_ref0 (_tmp0_); +#line 1149 "/home/jens/Source/shotwell/src/Printing.vala" + result = _tmp1_; +#line 1149 "/home/jens/Source/shotwell/src/Printing.vala" + return result; +#line 8397 "Printing.c" +} + + +void print_manager_set_global_settings (PrintManager* self, PrintSettings* settings) { + PrintSettings* _tmp0_ = NULL; + PrintSettings* _tmp1_ = NULL; + PrintSettings* _tmp2_ = NULL; +#line 1152 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_MANAGER (self)); +#line 1152 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (IS_PRINT_SETTINGS (settings)); +#line 1153 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp0_ = settings; +#line 1153 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp1_ = _print_settings_ref0 (_tmp0_); +#line 1153 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (self->priv->settings); +#line 1153 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->settings = _tmp1_; +#line 1154 "/home/jens/Source/shotwell/src/Printing.vala" + _tmp2_ = settings; +#line 1154 "/home/jens/Source/shotwell/src/Printing.vala" + print_settings_save (_tmp2_); +#line 8421 "Printing.c" +} + + +static void value_print_manager_init (GValue* value) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 8428 "Printing.c" +} + + +static void value_print_manager_free_value (GValue* value) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (value->data[0].v_pointer) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_unref (value->data[0].v_pointer); +#line 8437 "Printing.c" + } +} + + +static void value_print_manager_copy_value (const GValue* src_value, GValue* dest_value) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (src_value->data[0].v_pointer) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + dest_value->data[0].v_pointer = print_manager_ref (src_value->data[0].v_pointer); +#line 8447 "Printing.c" + } else { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + dest_value->data[0].v_pointer = NULL; +#line 8451 "Printing.c" + } +} + + +static gpointer value_print_manager_peek_pointer (const GValue* value) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return value->data[0].v_pointer; +#line 8459 "Printing.c" +} + + +static gchar* value_print_manager_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (collect_values[0].v_pointer) { +#line 8466 "Printing.c" + PrintManager* object; + object = collect_values[0].v_pointer; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (object->parent_instance.g_class == NULL) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8473 "Printing.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8477 "Printing.c" + } +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = print_manager_ref (object); +#line 8481 "Printing.c" + } else { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 8485 "Printing.c" + } +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return NULL; +#line 8489 "Printing.c" +} + + +static gchar* value_print_manager_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PrintManager** object_p; + object_p = collect_values[0].v_pointer; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (!object_p) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8500 "Printing.c" + } +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (!value->data[0].v_pointer) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = NULL; +#line 8506 "Printing.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = value->data[0].v_pointer; +#line 8510 "Printing.c" + } else { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + *object_p = print_manager_ref (value->data[0].v_pointer); +#line 8514 "Printing.c" + } +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return NULL; +#line 8518 "Printing.c" +} + + +GParamSpec* param_spec_print_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPrintManager* spec; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PRINT_MANAGER), NULL); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return G_PARAM_SPEC (spec); +#line 8532 "Printing.c" +} + + +gpointer value_get_print_manager (const GValue* value) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PRINT_MANAGER), NULL); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return value->data[0].v_pointer; +#line 8541 "Printing.c" +} + + +void value_set_print_manager (GValue* value, gpointer v_object) { + PrintManager* old; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PRINT_MANAGER)); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + old = value->data[0].v_pointer; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (v_object) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PRINT_MANAGER)); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = v_object; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_ref (value->data[0].v_pointer); +#line 8561 "Printing.c" + } else { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 8565 "Printing.c" + } +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (old) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_unref (old); +#line 8571 "Printing.c" + } +} + + +void value_take_print_manager (GValue* value, gpointer v_object) { + PrintManager* old; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PRINT_MANAGER)); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + old = value->data[0].v_pointer; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (v_object) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PRINT_MANAGER)); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = v_object; +#line 8590 "Printing.c" + } else { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + value->data[0].v_pointer = NULL; +#line 8594 "Printing.c" + } +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (old) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_unref (old); +#line 8600 "Printing.c" + } +} + + +static void print_manager_class_init (PrintManagerClass * klass) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + print_manager_parent_class = g_type_class_peek_parent (klass); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + ((PrintManagerClass *) klass)->finalize = print_manager_finalize; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_type_class_add_private (klass, sizeof (PrintManagerPrivate)); +#line 8612 "Printing.c" +} + + +static void print_manager_instance_init (PrintManager * self) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv = PRINT_MANAGER_GET_PRIVATE (self); +#line 806 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->progress_dialog = NULL; +#line 807 "/home/jens/Source/shotwell/src/Printing.vala" + self->priv->cancellable = NULL; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + self->ref_count = 1; +#line 8625 "Printing.c" +} + + +static void print_manager_finalize (PrintManager* obj) { + PrintManager * self; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PRINT_MANAGER, PrintManager); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_signal_handlers_destroy (self); +#line 803 "/home/jens/Source/shotwell/src/Printing.vala" + _print_settings_unref0 (self->priv->settings); +#line 804 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->user_page_setup); +#line 805 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->custom_tab); +#line 806 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->progress_dialog); +#line 807 "/home/jens/Source/shotwell/src/Printing.vala" + _g_object_unref0 (self->priv->cancellable); +#line 8645 "Printing.c" +} + + +GType print_manager_get_type (void) { + static volatile gsize print_manager_type_id__volatile = 0; + if (g_once_init_enter (&print_manager_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_print_manager_init, value_print_manager_free_value, value_print_manager_copy_value, value_print_manager_peek_pointer, "p", value_print_manager_collect_value, "p", value_print_manager_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PrintManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) print_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PrintManager), 0, (GInstanceInitFunc) print_manager_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType print_manager_type_id; + print_manager_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PrintManager", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&print_manager_type_id__volatile, print_manager_type_id); + } + return print_manager_type_id__volatile; +} + + +gpointer print_manager_ref (gpointer instance) { + PrintManager* self; + self = instance; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_atomic_int_inc (&self->ref_count); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + return instance; +#line 8670 "Printing.c" +} + + +void print_manager_unref (gpointer instance) { + PrintManager* self; + self = instance; +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + PRINT_MANAGER_GET_CLASS (self)->finalize (self); +#line 798 "/home/jens/Source/shotwell/src/Printing.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8683 "Printing.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/Properties.c b/src/Properties.c new file mode 100644 index 0000000..77f8271 --- /dev/null +++ b/src/Properties.c @@ -0,0 +1,5776 @@ +/* Properties.c generated by valac 0.32.1, the Vala compiler + * generated from Properties.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PROPERTIES (properties_get_type ()) +#define PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROPERTIES, Properties)) +#define PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROPERTIES, PropertiesClass)) +#define IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROPERTIES)) +#define IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROPERTIES)) +#define PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROPERTIES, PropertiesClass)) + +typedef struct _Properties Properties; +typedef struct _PropertiesClass PropertiesClass; +typedef struct _PropertiesPrivate PropertiesPrivate; + +#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_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_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 _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_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 _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL))) + +#define TYPE_BASIC_PROPERTIES (basic_properties_get_type ()) +#define BASIC_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BASIC_PROPERTIES, BasicProperties)) +#define BASIC_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BASIC_PROPERTIES, BasicPropertiesClass)) +#define IS_BASIC_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BASIC_PROPERTIES)) +#define IS_BASIC_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BASIC_PROPERTIES)) +#define BASIC_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BASIC_PROPERTIES, BasicPropertiesClass)) + +typedef struct _BasicProperties BasicProperties; +typedef struct _BasicPropertiesClass BasicPropertiesClass; +typedef struct _BasicPropertiesPrivate BasicPropertiesPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#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_IMPORT_SOURCE (import_source_get_type ()) +#define IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_SOURCE, ImportSource)) +#define IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_SOURCE, ImportSourceClass)) +#define IS_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_SOURCE)) +#define IS_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_SOURCE)) +#define IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_SOURCE, ImportSourceClass)) + +typedef struct _ImportSource ImportSource; +typedef struct _ImportSourceClass ImportSourceClass; + +#define TYPE_PHOTO_IMPORT_SOURCE (photo_import_source_get_type ()) +#define PHOTO_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource)) +#define PHOTO_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSourceClass)) +#define IS_PHOTO_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_IMPORT_SOURCE)) +#define IS_PHOTO_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_IMPORT_SOURCE)) +#define PHOTO_IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSourceClass)) + +typedef struct _PhotoImportSource PhotoImportSource; +typedef struct _PhotoImportSourceClass PhotoImportSourceClass; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _dimensions_free0(var) ((var == NULL) ? NULL : (var = (dimensions_free (var), NULL))) + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#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_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO_IMPORT_SOURCE (video_import_source_get_type ()) +#define VIDEO_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource)) +#define VIDEO_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_IMPORT_SOURCE, VideoImportSourceClass)) +#define IS_VIDEO_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_IMPORT_SOURCE)) +#define IS_VIDEO_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_IMPORT_SOURCE)) +#define VIDEO_IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_IMPORT_SOURCE, VideoImportSourceClass)) + +typedef struct _VideoImportSource VideoImportSource; +typedef struct _VideoImportSourceClass VideoImportSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_TAG_PAGE (tag_page_get_type ()) +#define TAG_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_PAGE, TagPage)) +#define TAG_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_PAGE, TagPageClass)) +#define IS_TAG_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_PAGE)) +#define IS_TAG_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_PAGE)) +#define TAG_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_PAGE, TagPageClass)) + +typedef struct _TagPage TagPage; +typedef struct _TagPageClass TagPageClass; + +#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_EXTENDED_PROPERTIES_WINDOW (extended_properties_window_get_type ()) +#define EXTENDED_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindow)) +#define EXTENDED_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowClass)) +#define IS_EXTENDED_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW)) +#define IS_EXTENDED_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXTENDED_PROPERTIES_WINDOW)) +#define EXTENDED_PROPERTIES_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowClass)) + +typedef struct _ExtendedPropertiesWindow ExtendedPropertiesWindow; +typedef struct _ExtendedPropertiesWindowClass ExtendedPropertiesWindowClass; +typedef struct _ExtendedPropertiesWindowPrivate ExtendedPropertiesWindowPrivate; + +#define EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES (extended_properties_window_extended_properties_get_type ()) +#define EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES, ExtendedPropertiesWindowExtendedProperties)) +#define EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES, ExtendedPropertiesWindowExtendedPropertiesClass)) +#define EXTENDED_PROPERTIES_WINDOW_IS_EXTENDED_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES)) +#define EXTENDED_PROPERTIES_WINDOW_IS_EXTENDED_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES)) +#define EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES, ExtendedPropertiesWindowExtendedPropertiesClass)) + +typedef struct _ExtendedPropertiesWindowExtendedProperties ExtendedPropertiesWindowExtendedProperties; +typedef struct _ExtendedPropertiesWindowExtendedPropertiesClass ExtendedPropertiesWindowExtendedPropertiesClass; + +#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; +typedef struct _ExtendedPropertiesWindowExtendedPropertiesPrivate ExtendedPropertiesWindowExtendedPropertiesPrivate; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) + +#define PHOTO_METADATA_TYPE_SET_OPTION (photo_metadata_set_option_get_type ()) + +#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_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ()) +#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)) +#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass)) +#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE)) +#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE)) +#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass)) + +typedef struct _EventsDirectoryPage EventsDirectoryPage; +typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass; +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) + +struct _Properties { + GtkGrid parent_instance; + PropertiesPrivate * priv; +}; + +struct _PropertiesClass { + GtkGridClass parent_class; + void (*get_single_properties) (Properties* self, DataView* view); + void (*get_multiple_properties) (Properties* self, GeeIterable* iter); + void (*get_properties) (Properties* self, Page* current_page); + void (*clear_properties) (Properties* self); + void (*internal_update_properties) (Properties* self, Page* page); +}; + +struct _PropertiesPrivate { + guint line_count; +}; + +struct _BasicProperties { + Properties parent_instance; + BasicPropertiesPrivate * priv; +}; + +struct _BasicPropertiesClass { + PropertiesClass parent_class; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _BasicPropertiesPrivate { + gchar* title; + time_t start_time; + time_t end_time; + Dimensions dimensions; + gint photo_count; + gint event_count; + gint video_count; + gchar* exposure; + gchar* aperture; + gchar* iso; + gdouble clip_duration; + gchar* raw_developer; + gchar* raw_assoc; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _ExtendedPropertiesWindow { + GtkDialog parent_instance; + ExtendedPropertiesWindowPrivate * priv; +}; + +struct _ExtendedPropertiesWindowClass { + GtkDialogClass parent_class; +}; + +struct _ExtendedPropertiesWindowPrivate { + ExtendedPropertiesWindowExtendedProperties* properties; +}; + +struct _ExtendedPropertiesWindowExtendedProperties { + Properties parent_instance; + ExtendedPropertiesWindowExtendedPropertiesPrivate * priv; +}; + +struct _ExtendedPropertiesWindowExtendedPropertiesClass { + PropertiesClass parent_class; +}; + +struct _ExtendedPropertiesWindowExtendedPropertiesPrivate { + gchar* file_path; + guint64 filesize; + Dimensions* original_dim; + gchar* camera_make; + gchar* camera_model; + gchar* flash; + gchar* focal_length; + gdouble gps_lat; + gchar* gps_lat_ref; + gdouble gps_long; + gchar* gps_long_ref; + gdouble gps_alt; + gchar* artist; + gchar* copyright; + gchar* software; + gchar* exposure_bias; + gchar* exposure_date; + gchar* exposure_time; + gboolean is_raw; + gchar* development_path; + gchar* comment; +}; + +typedef enum { + PHOTO_METADATA_SET_OPTION_ALL_DOMAINS, + PHOTO_METADATA_SET_OPTION_ONLY_IF_DOMAIN_PRESENT, + PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN +} PhotoMetadataSetOption; + + +static gpointer properties_parent_class = NULL; +static gpointer basic_properties_parent_class = NULL; +static gpointer extended_properties_window_parent_class = NULL; +static gpointer extended_properties_window_extended_properties_parent_class = NULL; + +GType properties_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +#define PROPERTIES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PROPERTIES, PropertiesPrivate)) +enum { + PROPERTIES_DUMMY_PROPERTY +}; +Properties* properties_construct (GType object_type); +void properties_add_line (Properties* self, const gchar* label_text, const gchar* info_text, gboolean multi_line); +gboolean is_string_empty (const gchar* s); +gchar* properties_get_prettyprint_time (Properties* self, struct tm* time); +gchar* resources_get_hh_mm_format_string (void); +gchar* properties_get_prettyprint_time_with_seconds (Properties* self, struct tm* time); +gchar* resources_get_hh_mm_ss_format_string (void); +gchar* properties_get_prettyprint_date (Properties* self, struct tm* date); +gchar* format_local_date (struct tm* date); +void properties_get_single_properties (Properties* self, DataView* view); +static void properties_real_get_single_properties (Properties* self, DataView* view); +void properties_get_multiple_properties (Properties* self, GeeIterable* iter); +static void properties_real_get_multiple_properties (Properties* self, GeeIterable* iter); +void properties_get_properties (Properties* self, Page* current_page); +static void properties_real_get_properties (Properties* self, Page* current_page); +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 view_collection_get_selected_count (ViewCollection* self); +GeeList* view_collection_get_selected (ViewCollection* self); +gint data_collection_get_count (DataCollection* self); +GeeCollection* data_collection_get_all (DataCollection* self); +void properties_clear_properties (Properties* self); +static void properties_real_clear_properties (Properties* self); +void properties_update_properties (Properties* self, Page* page); +void properties_internal_update_properties (Properties* self, Page* page); +static void properties_real_internal_update_properties (Properties* self, Page* page); +void properties_unselect_text (Properties* self); +static void properties_finalize (GObject* obj); +GType basic_properties_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +#define BASIC_PROPERTIES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_BASIC_PROPERTIES, BasicPropertiesPrivate)) +enum { + BASIC_PROPERTIES_DUMMY_PROPERTY +}; +BasicProperties* basic_properties_new (void); +BasicProperties* basic_properties_construct (GType object_type); +static void basic_properties_real_clear_properties (Properties* base); +void dimensions_init (Dimensions *self, gint width, gint height); +static void basic_properties_real_get_single_properties (Properties* base, DataView* view); +GType data_source_get_type (void) G_GNUC_CONST; +DataSource* data_view_get_source (DataView* self); +gchar* data_object_get_name (DataObject* self); +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 import_source_get_type (void) G_GNUC_CONST; +GType photo_import_source_get_type (void) G_GNUC_CONST; +time_t media_source_get_exposure_time (MediaSource* self); +time_t import_source_get_exposure_time (ImportSource* self); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +PhotoMetadata* photo_source_get_metadata (PhotoSource* self); +PhotoMetadata* photo_import_source_get_metadata (PhotoImportSource* self); +gchar* photo_metadata_get_exposure_string (PhotoMetadata* self); +gchar* photo_metadata_get_aperture_string (PhotoMetadata* self, gboolean pango_formatted); +gchar* photo_metadata_get_iso_string (PhotoMetadata* self); +Dimensions* photo_metadata_get_pixel_dimensions (PhotoMetadata* self); +GType orientation_get_type (void) G_GNUC_CONST; +Orientation photo_metadata_get_orientation (PhotoMetadata* self); +void orientation_rotate_dimensions (Orientation self, Dimensions* dim, Dimensions* result); +GType photo_exception_get_type (void) G_GNUC_CONST; +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +GType photo_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_master_file_format (Photo* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +RawDeveloper photo_get_raw_developer (Photo* self); +gchar* raw_developer_get_label (RawDeveloper self); +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +GType event_source_get_type (void) G_GNUC_CONST; +time_t event_source_get_start_time (EventSource* self); +time_t event_source_get_end_time (EventSource* self); +void media_source_collection_count_media (GeeCollection* media, gint* photo_count, gint* video_count); +GeeCollection* event_source_get_media (EventSource* self); +GType video_source_get_type (void) G_GNUC_CONST; +GType video_import_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +gdouble video_get_clip_duration (Video* self); +gboolean video_get_is_interpretable (Video* self); +void video_get_frame_dimensions (Video* self, Dimensions* result); +static void basic_properties_real_get_multiple_properties (Properties* base, GeeIterable* iter); +static void basic_properties_real_get_properties (Properties* base, Page* current_page); +static void basic_properties_real_internal_update_properties (Properties* base, Page* page); +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; +GType tag_page_get_type (void) G_GNUC_CONST; +GType tag_get_type (void) G_GNUC_CONST; +Tag* tag_page_get_tag (TagPage* self); +gchar* tag_get_user_visible_name (Tag* self); +gchar* guarded_markup_escape_text (const gchar* plain); +gboolean dimensions_has_area (Dimensions *self); +static void basic_properties_finalize (GObject* obj); +GType extended_properties_window_get_type (void) G_GNUC_CONST; +static GType extended_properties_window_extended_properties_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define EXTENDED_PROPERTIES_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowPrivate)) +enum { + EXTENDED_PROPERTIES_WINDOW_DUMMY_PROPERTY +}; +ExtendedPropertiesWindow* extended_properties_window_new (GtkWindow* owner); +ExtendedPropertiesWindow* extended_properties_window_construct (GType object_type, GtkWindow* owner); +static gboolean _gtk_widget_hide_on_delete_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self); +static ExtendedPropertiesWindowExtendedProperties* extended_properties_window_extended_properties_new (void); +static ExtendedPropertiesWindowExtendedProperties* extended_properties_window_extended_properties_construct (GType object_type); +static gboolean extended_properties_window_real_button_press_event (GtkWidget* base, GdkEventButton* event); +static gboolean extended_properties_window_real_key_press_event (GtkWidget* base, GdkEventKey* event); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +void extended_properties_window_update_properties (ExtendedPropertiesWindow* self, Page* page); +static void extended_properties_window_real_show_all (GtkWidget* base); +#define EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES, ExtendedPropertiesWindowExtendedPropertiesPrivate)) +enum { + EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_DUMMY_PROPERTY +}; +#define EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE "" +static void extended_properties_window_extended_properties_real_clear_properties (Properties* base); +static void extended_properties_window_extended_properties_real_get_single_properties (Properties* base, DataView* view); +GFile* media_source_get_master_file (MediaSource* self); +GFile* media_source_get_file (MediaSource* self); +guint64 media_source_get_master_filesize (MediaSource* self); +PhotoMetadata* photo_get_master_metadata (Photo* self, GError** error); +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self); +GType photo_metadata_set_option_get_type (void) G_GNUC_CONST; +void photo_metadata_set_exposure_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option); +time_t media_source_get_timestamp (MediaSource* self); +MetadataDateTime* metadata_date_time_new (time_t timestamp); +MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp); +gchar* photo_metadata_get_camera_make (PhotoMetadata* self); +gchar* photo_metadata_get_camera_model (PhotoMetadata* self); +gchar* photo_metadata_get_flash_string (PhotoMetadata* self); +gchar* photo_metadata_get_focal_length_string (PhotoMetadata* self); +gboolean photo_metadata_get_gps (PhotoMetadata* self, gdouble* longitude, gchar** long_ref, gdouble* latitude, gchar** lat_ref, gdouble* altitude); +gchar* photo_metadata_get_artist (PhotoMetadata* self); +gchar* photo_metadata_get_copyright (PhotoMetadata* self); +gchar* photo_metadata_get_software (PhotoMetadata* self); +gchar* photo_metadata_get_exposure_bias (PhotoMetadata* self); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +gchar* media_source_get_comment (MediaSource* self); +GType event_get_type (void) G_GNUC_CONST; +gchar* event_source_get_comment (EventSource* self); +static void extended_properties_window_extended_properties_real_internal_update_properties (Properties* base, Page* page); +GType events_directory_page_get_type (void) G_GNUC_CONST; +static void extended_properties_window_extended_properties_finalize (GObject* obj); +static void extended_properties_window_finalize (GObject* obj); + + +Properties* properties_construct (GType object_type) { + Properties * self = NULL; +#line 10 "/home/jens/Source/shotwell/src/Properties.vala" + self = (Properties*) g_object_new (object_type, NULL); +#line 11 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_grid_set_row_spacing (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_grid_get_type (), GtkGrid), 0); +#line 12 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_grid_set_column_spacing (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_grid_get_type (), GtkGrid), 6); +#line 10 "/home/jens/Source/shotwell/src/Properties.vala" + return self; +#line 703 "Properties.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 31 "/home/jens/Source/shotwell/src/Properties.vala" + return self ? g_object_ref (self) : NULL; +#line 710 "Properties.c" +} + + +void properties_add_line (Properties* self, const gchar* label_text, const gchar* info_text, gboolean multi_line) { + GtkLabel* label = NULL; + GtkLabel* _tmp0_ = NULL; + GtkWidget* info = NULL; + GtkLabel* _tmp1_ = NULL; + GtkLabel* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GtkLabel* _tmp43_ = NULL; + guint _tmp44_ = 0U; + gboolean _tmp45_ = FALSE; + guint _tmp50_ = 0U; +#line 15 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PROPERTIES (self)); +#line 15 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (label_text != NULL); +#line 15 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (info_text != NULL); +#line 16 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = (GtkLabel*) gtk_label_new (""); +#line 16 "/home/jens/Source/shotwell/src/Properties.vala" + g_object_ref_sink (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/Properties.vala" + label = _tmp0_; +#line 19 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = label; +#line 19 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_label_set_justify (_tmp1_, GTK_JUSTIFY_RIGHT); +#line 21 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = label; +#line 21 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = label_text; +#line 21 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = g_markup_printf_escaped ("%s", _tmp3_); +#line 21 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = _tmp4_; +#line 21 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_label_set_markup (_tmp2_, _tmp5_); +#line 21 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp5_); +#line 23 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = multi_line; +#line 23 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp6_) { +#line 760 "Properties.c" + GtkScrolledWindow* info_scroll = NULL; + GtkScrolledWindow* _tmp7_ = NULL; + GtkScrolledWindow* _tmp8_ = NULL; + GtkTextView* view = NULL; + GtkTextView* _tmp9_ = NULL; + GtkStyleContext* context = NULL; + GtkScrolledWindow* _tmp10_ = NULL; + GtkStyleContext* _tmp11_ = NULL; + GtkStyleContext* _tmp12_ = NULL; + GtkTextView* _tmp13_ = NULL; + GtkStyleContext* _tmp14_ = NULL; + GdkRGBA _tmp15_ = {0}; + GtkTextView* _tmp16_ = NULL; + GtkTextView* _tmp17_ = NULL; + GtkTextView* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + GtkTextView* _tmp23_ = NULL; + GtkTextBuffer* _tmp24_ = NULL; + GtkTextBuffer* _tmp25_ = NULL; + GtkScrolledWindow* _tmp26_ = NULL; + GtkTextView* _tmp27_ = NULL; + GtkLabel* _tmp28_ = NULL; + GtkScrolledWindow* _tmp29_ = NULL; + GtkWidget* _tmp30_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL); +#line 24 "/home/jens/Source/shotwell/src/Properties.vala" + g_object_ref_sink (_tmp7_); +#line 24 "/home/jens/Source/shotwell/src/Properties.vala" + info_scroll = _tmp7_; +#line 25 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = info_scroll; +#line 25 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_scrolled_window_set_shadow_type (_tmp8_, GTK_SHADOW_ETCHED_IN); +#line 26 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = (GtkTextView*) gtk_text_view_new (); +#line 26 "/home/jens/Source/shotwell/src/Properties.vala" + g_object_ref_sink (_tmp9_); +#line 26 "/home/jens/Source/shotwell/src/Properties.vala" + view = _tmp9_; +#line 31 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = info_scroll; +#line 31 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget)); +#line 31 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = _g_object_ref0 (_tmp11_); +#line 31 "/home/jens/Source/shotwell/src/Properties.vala" + context = _tmp12_; +#line 32 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = view; +#line 32 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = context; +#line 32 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_style_context_get_background_color (_tmp14_, GTK_STATE_FLAG_NORMAL, &_tmp15_); +#line 32 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_widget_override_background_color (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget), GTK_STATE_FLAG_NORMAL, &_tmp15_); +#line 34 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = view; +#line 34 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_text_view_set_wrap_mode (_tmp16_, GTK_WRAP_WORD); +#line 35 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp17_ = view; +#line 35 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_text_view_set_cursor_visible (_tmp17_, FALSE); +#line 36 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp18_ = view; +#line 36 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_text_view_set_editable (_tmp18_, FALSE); +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = info_text; +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp21_ = is_string_empty (_tmp20_); +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp21_) { +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = ""; +#line 839 "Properties.c" + } else { + const gchar* _tmp22_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp22_ = info_text; +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = _tmp22_; +#line 846 "Properties.c" + } +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp23_ = view; +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp24_ = gtk_text_view_get_buffer (_tmp23_); +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp25_ = _tmp24_; +#line 37 "/home/jens/Source/shotwell/src/Properties.vala" + g_object_set (_tmp25_, "text", _tmp19_, NULL); +#line 38 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp26_ = info_scroll; +#line 38 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp27_ = view; +#line 38 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget)); +#line 39 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp28_ = label; +#line 39 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_misc_get_type (), GtkMisc), (gfloat) 1, (gfloat) 0); +#line 40 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp29_ = info_scroll; +#line 40 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget)); +#line 40 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (info); +#line 40 "/home/jens/Source/shotwell/src/Properties.vala" + info = _tmp30_; +#line 23 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (context); +#line 23 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (view); +#line 23 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (info_scroll); +#line 880 "Properties.c" + } else { + GtkLabel* info_label = NULL; + GtkLabel* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; + GtkLabel* _tmp36_ = NULL; + GtkLabel* _tmp37_ = NULL; + GtkLabel* _tmp38_ = NULL; + GtkLabel* _tmp39_ = NULL; + GtkLabel* _tmp40_ = NULL; + GtkLabel* _tmp41_ = NULL; + GtkWidget* _tmp42_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp31_ = (GtkLabel*) gtk_label_new (""); +#line 42 "/home/jens/Source/shotwell/src/Properties.vala" + g_object_ref_sink (_tmp31_); +#line 42 "/home/jens/Source/shotwell/src/Properties.vala" + info_label = _tmp31_; +#line 43 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp33_ = info_text; +#line 43 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp34_ = is_string_empty (_tmp33_); +#line 43 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp34_) { +#line 43 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp32_ = ""; +#line 908 "Properties.c" + } else { + const gchar* _tmp35_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp35_ = info_text; +#line 43 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp32_ = _tmp35_; +#line 915 "Properties.c" + } +#line 43 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp36_ = info_label; +#line 43 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_label_set_markup (_tmp36_, _tmp32_); +#line 44 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp37_ = info_label; +#line 44 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_misc_get_type (), GtkMisc), (gfloat) 0, (gfloat) 5e-1); +#line 45 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp38_ = info_label; +#line 45 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_label_set_ellipsize (_tmp38_, PANGO_ELLIPSIZE_END); +#line 46 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp39_ = info_label; +#line 46 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_label_set_selectable (_tmp39_, TRUE); +#line 47 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp40_ = label; +#line 47 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_misc_get_type (), GtkMisc), (gfloat) 1, (gfloat) 5e-1); +#line 48 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp41_ = info_label; +#line 48 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp42_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_widget_get_type (), GtkWidget)); +#line 48 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (info); +#line 48 "/home/jens/Source/shotwell/src/Properties.vala" + info = _tmp42_; +#line 23 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (info_label); +#line 947 "Properties.c" + } +#line 51 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp43_ = label; +#line 51 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp44_ = self->priv->line_count; +#line 51 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_grid_attach (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_grid_get_type (), GtkGrid), G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget), 0, (gint) _tmp44_, 1, 1); +#line 53 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp45_ = multi_line; +#line 53 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp45_) { +#line 959 "Properties.c" + GtkWidget* _tmp46_ = NULL; + guint _tmp47_ = 0U; +#line 54 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp46_ = info; +#line 54 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp47_ = self->priv->line_count; +#line 54 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_grid_attach (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_grid_get_type (), GtkGrid), _tmp46_, 1, (gint) _tmp47_, 1, 2); +#line 968 "Properties.c" + } else { + GtkWidget* _tmp48_ = NULL; + guint _tmp49_ = 0U; +#line 56 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp48_ = info; +#line 56 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp49_ = self->priv->line_count; +#line 56 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_grid_attach (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_grid_get_type (), GtkGrid), _tmp48_, 1, (gint) _tmp49_, 1, 1); +#line 978 "Properties.c" + } +#line 59 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp50_ = self->priv->line_count; +#line 59 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->line_count = _tmp50_ + 1; +#line 15 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (info); +#line 15 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (label); +#line 988 "Properties.c" +} + + +static gchar* g_time_format (struct tm *self, const gchar* format) { + gchar* result = NULL; + gchar* buffer = NULL; + gchar* _tmp0_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + gchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; +#line 2709 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (format != NULL, NULL); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, 64); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = _tmp0_; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer_length1 = 64; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _buffer_size_ = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = buffer; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1__length1 = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = format; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self)); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = buffer; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = buffer_length1; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = g_strdup ((const gchar*) _tmp3_); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = (g_free (buffer), NULL); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1034 "Properties.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1052 "Properties.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 1075 "Properties.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1083 "Properties.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1095 "Properties.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 1119 "Properties.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 1125 "Properties.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 1129 "Properties.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 1133 "Properties.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 1145 "Properties.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 1155 "Properties.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 1161 "Properties.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 1175 "Properties.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 1185 "Properties.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 1191 "Properties.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 1200 "Properties.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1220 "Properties.c" +} + + +gchar* properties_get_prettyprint_time (Properties* self, struct tm* time) { + gchar* result = NULL; + gchar* timestring = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar _tmp5_ = '\0'; +#line 62 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (IS_PROPERTIES (self), NULL); +#line 62 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (time != NULL, NULL); +#line 63 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = resources_get_hh_mm_format_string (); +#line 63 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = _tmp0_; +#line 63 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = g_time_format (time, _tmp1_); +#line 63 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = _tmp2_; +#line 63 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp1_); +#line 63 "/home/jens/Source/shotwell/src/Properties.vala" + timestring = _tmp3_; +#line 65 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = timestring; +#line 65 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = string_get (_tmp4_, (glong) 0); +#line 65 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp5_ == '0') { +#line 1255 "Properties.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = timestring; +#line 66 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = string_substring (_tmp6_, (glong) 1, (glong) -1); +#line 66 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (timestring); +#line 66 "/home/jens/Source/shotwell/src/Properties.vala" + timestring = _tmp7_; +#line 1266 "Properties.c" + } +#line 68 "/home/jens/Source/shotwell/src/Properties.vala" + result = timestring; +#line 68 "/home/jens/Source/shotwell/src/Properties.vala" + return result; +#line 1272 "Properties.c" +} + + +gchar* properties_get_prettyprint_time_with_seconds (Properties* self, struct tm* time) { + gchar* result = NULL; + gchar* timestring = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar _tmp5_ = '\0'; +#line 71 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (IS_PROPERTIES (self), NULL); +#line 71 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (time != NULL, NULL); +#line 72 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = resources_get_hh_mm_ss_format_string (); +#line 72 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = _tmp0_; +#line 72 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = g_time_format (time, _tmp1_); +#line 72 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = _tmp2_; +#line 72 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp1_); +#line 72 "/home/jens/Source/shotwell/src/Properties.vala" + timestring = _tmp3_; +#line 74 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = timestring; +#line 74 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = string_get (_tmp4_, (glong) 0); +#line 74 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp5_ == '0') { +#line 1307 "Properties.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = timestring; +#line 75 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = string_substring (_tmp6_, (glong) 1, (glong) -1); +#line 75 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (timestring); +#line 75 "/home/jens/Source/shotwell/src/Properties.vala" + timestring = _tmp7_; +#line 1318 "Properties.c" + } +#line 77 "/home/jens/Source/shotwell/src/Properties.vala" + result = timestring; +#line 77 "/home/jens/Source/shotwell/src/Properties.vala" + return result; +#line 1324 "Properties.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 1339 "Properties.c" +} + + +gchar* properties_get_prettyprint_date (Properties* self, struct tm* date) { + gchar* result = NULL; + gchar* date_string = NULL; + struct tm today = {0}; + time_t _tmp0_ = 0; + struct tm _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + struct tm _tmp3_ = {0}; + gint _tmp4_ = 0; + struct tm _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 80 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (IS_PROPERTIES (self), NULL); +#line 80 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (date != NULL, NULL); +#line 81 "/home/jens/Source/shotwell/src/Properties.vala" + date_string = NULL; +#line 82 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = time (NULL); +#line 82 "/home/jens/Source/shotwell/src/Properties.vala" + g_time_local (_tmp0_, &_tmp1_); +#line 82 "/home/jens/Source/shotwell/src/Properties.vala" + today = _tmp1_; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = *date; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = _tmp3_.tm_yday; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = today; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = _tmp5_.tm_yday; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp4_ == _tmp6_) { +#line 1376 "Properties.c" + struct tm _tmp7_ = {0}; + gint _tmp8_ = 0; + struct tm _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = *date; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = _tmp7_.tm_year; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = today; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = _tmp9_.tm_year; +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = _tmp8_ == _tmp10_; +#line 1391 "Properties.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = FALSE; +#line 1395 "Properties.c" + } +#line 83 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp2_) { +#line 1399 "Properties.c" + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = _ ("Today"); +#line 84 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 84 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (date_string); +#line 84 "/home/jens/Source/shotwell/src/Properties.vala" + date_string = _tmp12_; +#line 1410 "Properties.c" + } else { + gboolean _tmp13_ = FALSE; + struct tm _tmp14_ = {0}; + gint _tmp15_ = 0; + struct tm _tmp16_ = {0}; + gint _tmp17_ = 0; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = *date; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = _tmp14_.tm_yday; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = today; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp17_ = _tmp16_.tm_yday; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp15_ == (_tmp17_ - 1)) { +#line 1427 "Properties.c" + struct tm _tmp18_ = {0}; + gint _tmp19_ = 0; + struct tm _tmp20_ = {0}; + gint _tmp21_ = 0; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp18_ = *date; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = _tmp18_.tm_year; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = today; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp21_ = _tmp20_.tm_year; +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = _tmp19_ == _tmp21_; +#line 1442 "Properties.c" + } else { +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = FALSE; +#line 1446 "Properties.c" + } +#line 85 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp13_) { +#line 1450 "Properties.c" + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp22_ = _ ("Yesterday"); +#line 86 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp23_ = g_strdup (_tmp22_); +#line 86 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (date_string); +#line 86 "/home/jens/Source/shotwell/src/Properties.vala" + date_string = _tmp23_; +#line 1461 "Properties.c" + } else { + struct tm _tmp24_ = {0}; + gchar* _tmp25_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp24_ = *date; +#line 88 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp25_ = format_local_date (&_tmp24_); +#line 88 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (date_string); +#line 88 "/home/jens/Source/shotwell/src/Properties.vala" + date_string = _tmp25_; +#line 1473 "Properties.c" + } + } +#line 91 "/home/jens/Source/shotwell/src/Properties.vala" + result = date_string; +#line 91 "/home/jens/Source/shotwell/src/Properties.vala" + return result; +#line 1480 "Properties.c" +} + + +static void properties_real_get_single_properties (Properties* self, DataView* view) { +#line 94 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 1487 "Properties.c" +} + + +void properties_get_single_properties (Properties* self, DataView* view) { +#line 94 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PROPERTIES (self)); +#line 94 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_GET_CLASS (self)->get_single_properties (self, view); +#line 1496 "Properties.c" +} + + +static void properties_real_get_multiple_properties (Properties* self, GeeIterable* iter) { +#line 97 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail ((iter == NULL) || GEE_IS_ITERABLE (iter)); +#line 1503 "Properties.c" +} + + +void properties_get_multiple_properties (Properties* self, GeeIterable* iter) { +#line 97 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PROPERTIES (self)); +#line 97 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_GET_CLASS (self)->get_multiple_properties (self, iter); +#line 1512 "Properties.c" +} + + +static void properties_real_get_properties (Properties* self, Page* current_page) { + ViewCollection* view = NULL; + Page* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + gint count = 0; + ViewCollection* _tmp3_ = NULL; + gint _tmp4_ = 0; + GeeIterable* iter = NULL; + gint _tmp5_ = 0; + gboolean _tmp12_ = FALSE; + GeeIterable* _tmp13_ = NULL; + gint _tmp15_ = 0; +#line 100 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PAGE (current_page)); +#line 101 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = current_page; +#line 101 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = page_get_view (_tmp0_); +#line 101 "/home/jens/Source/shotwell/src/Properties.vala" + view = _tmp1_; +#line 102 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = view; +#line 102 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp2_ == NULL) { +#line 103 "/home/jens/Source/shotwell/src/Properties.vala" + _data_collection_unref0 (view); +#line 103 "/home/jens/Source/shotwell/src/Properties.vala" + return; +#line 1545 "Properties.c" + } +#line 106 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = view; +#line 106 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = view_collection_get_selected_count (_tmp3_); +#line 106 "/home/jens/Source/shotwell/src/Properties.vala" + count = _tmp4_; +#line 107 "/home/jens/Source/shotwell/src/Properties.vala" + iter = NULL; +#line 108 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = count; +#line 108 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp5_ != 0) { +#line 1559 "Properties.c" + ViewCollection* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = view; +#line 109 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = view_collection_get_selected (_tmp6_); +#line 109 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (iter); +#line 109 "/home/jens/Source/shotwell/src/Properties.vala" + iter = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable); +#line 1570 "Properties.c" + } else { + ViewCollection* _tmp8_ = NULL; + gint _tmp9_ = 0; + ViewCollection* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = view; +#line 111 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection)); +#line 111 "/home/jens/Source/shotwell/src/Properties.vala" + count = _tmp9_; +#line 112 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = view; +#line 112 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection)); +#line 112 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (iter); +#line 112 "/home/jens/Source/shotwell/src/Properties.vala" + iter = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable); +#line 1590 "Properties.c" + } +#line 115 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = iter; +#line 115 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp13_ == NULL) { +#line 115 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = TRUE; +#line 1598 "Properties.c" + } else { + gint _tmp14_ = 0; +#line 115 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = count; +#line 115 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = _tmp14_ == 0; +#line 1605 "Properties.c" + } +#line 115 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp12_) { +#line 116 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (iter); +#line 116 "/home/jens/Source/shotwell/src/Properties.vala" + _data_collection_unref0 (view); +#line 116 "/home/jens/Source/shotwell/src/Properties.vala" + return; +#line 1615 "Properties.c" + } +#line 118 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = count; +#line 118 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp15_ == 1) { +#line 1621 "Properties.c" + { + GeeIterator* _item_it = NULL; + GeeIterable* _tmp16_ = NULL; + GeeIterator* _tmp17_ = NULL; +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = iter; +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp17_ = gee_iterable_iterator (_tmp16_); +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + _item_it = _tmp17_; +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + while (TRUE) { +#line 1634 "Properties.c" + GeeIterator* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + DataView* item = NULL; + GeeIterator* _tmp20_ = NULL; + gpointer _tmp21_ = NULL; + DataView* _tmp22_ = NULL; +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp18_ = _item_it; +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = gee_iterator_next (_tmp18_); +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + if (!_tmp19_) { +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + break; +#line 1649 "Properties.c" + } +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = _item_it; +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp21_ = gee_iterator_get (_tmp20_); +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + item = (DataView*) _tmp21_; +#line 120 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp22_ = item; +#line 120 "/home/jens/Source/shotwell/src/Properties.vala" + properties_get_single_properties (self, _tmp22_); +#line 121 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (item); +#line 121 "/home/jens/Source/shotwell/src/Properties.vala" + break; +#line 1665 "Properties.c" + } +#line 119 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (_item_it); +#line 1669 "Properties.c" + } + } else { + GeeIterable* _tmp23_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp23_ = iter; +#line 124 "/home/jens/Source/shotwell/src/Properties.vala" + properties_get_multiple_properties (self, _tmp23_); +#line 1677 "Properties.c" + } +#line 100 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (iter); +#line 100 "/home/jens/Source/shotwell/src/Properties.vala" + _data_collection_unref0 (view); +#line 1683 "Properties.c" +} + + +void properties_get_properties (Properties* self, Page* current_page) { +#line 100 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PROPERTIES (self)); +#line 100 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_GET_CLASS (self)->get_properties (self, current_page); +#line 1692 "Properties.c" +} + + +static void properties_real_clear_properties (Properties* self) { + GList* _tmp0_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = gtk_container_get_children (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer)); +#line 1700 "Properties.c" + { + GList* child_collection = NULL; + GList* child_it = NULL; +#line 129 "/home/jens/Source/shotwell/src/Properties.vala" + child_collection = _tmp0_; +#line 129 "/home/jens/Source/shotwell/src/Properties.vala" + for (child_it = child_collection; child_it != NULL; child_it = child_it->next) { +#line 1708 "Properties.c" + GtkWidget* _tmp1_ = NULL; + GtkWidget* child = NULL; +#line 129 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = _g_object_ref0 ((GtkWidget*) child_it->data); +#line 129 "/home/jens/Source/shotwell/src/Properties.vala" + child = _tmp1_; +#line 1715 "Properties.c" + { + GtkWidget* _tmp2_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = child; +#line 130 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), _tmp2_); +#line 129 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (child); +#line 1724 "Properties.c" + } + } +#line 129 "/home/jens/Source/shotwell/src/Properties.vala" + _g_list_free0 (child_collection); +#line 1729 "Properties.c" + } +#line 132 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->line_count = (guint) 0; +#line 1733 "Properties.c" +} + + +void properties_clear_properties (Properties* self) { +#line 128 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PROPERTIES (self)); +#line 128 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_GET_CLASS (self)->clear_properties (self); +#line 1742 "Properties.c" +} + + +void properties_update_properties (Properties* self, Page* page) { + Page* _tmp0_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PROPERTIES (self)); +#line 135 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PAGE (page)); +#line 136 "/home/jens/Source/shotwell/src/Properties.vala" + properties_clear_properties (self); +#line 137 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = page; +#line 137 "/home/jens/Source/shotwell/src/Properties.vala" + properties_internal_update_properties (self, _tmp0_); +#line 138 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 1760 "Properties.c" +} + + +static void properties_real_internal_update_properties (Properties* self, Page* page) { + Page* _tmp0_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PAGE (page)); +#line 142 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = page; +#line 142 "/home/jens/Source/shotwell/src/Properties.vala" + properties_get_properties (self, _tmp0_); +#line 1772 "Properties.c" +} + + +void properties_internal_update_properties (Properties* self, Page* page) { +#line 141 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PROPERTIES (self)); +#line 141 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_GET_CLASS (self)->internal_update_properties (self, page); +#line 1781 "Properties.c" +} + + +void properties_unselect_text (Properties* self) { + GList* _tmp0_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PROPERTIES (self)); +#line 146 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = gtk_container_get_children (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer)); +#line 1791 "Properties.c" + { + GList* child_collection = NULL; + GList* child_it = NULL; +#line 146 "/home/jens/Source/shotwell/src/Properties.vala" + child_collection = _tmp0_; +#line 146 "/home/jens/Source/shotwell/src/Properties.vala" + for (child_it = child_collection; child_it != NULL; child_it = child_it->next) { +#line 1799 "Properties.c" + GtkWidget* _tmp1_ = NULL; + GtkWidget* child = NULL; +#line 146 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = _g_object_ref0 ((GtkWidget*) child_it->data); +#line 146 "/home/jens/Source/shotwell/src/Properties.vala" + child = _tmp1_; +#line 1806 "Properties.c" + { + GtkWidget* _tmp2_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = child; +#line 147 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_label_get_type ())) { +#line 1813 "Properties.c" + GtkWidget* _tmp3_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = child; +#line 148 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_label_select_region (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_label_get_type (), GtkLabel), 0, 0); +#line 1819 "Properties.c" + } +#line 146 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (child); +#line 1823 "Properties.c" + } + } +#line 146 "/home/jens/Source/shotwell/src/Properties.vala" + _g_list_free0 (child_collection); +#line 1828 "Properties.c" + } +} + + +static void properties_class_init (PropertiesClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + properties_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + g_type_class_add_private (klass, sizeof (PropertiesPrivate)); +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->get_single_properties = properties_real_get_single_properties; +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->get_multiple_properties = properties_real_get_multiple_properties; +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->get_properties = properties_real_get_properties; +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->clear_properties = properties_real_clear_properties; +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->internal_update_properties = properties_real_internal_update_properties; +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + G_OBJECT_CLASS (klass)->finalize = properties_finalize; +#line 1850 "Properties.c" +} + + +static void properties_instance_init (Properties * self) { +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv = PROPERTIES_GET_PRIVATE (self); +#line 8 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->line_count = (guint) 0; +#line 1859 "Properties.c" +} + + +static void properties_finalize (GObject* obj) { + Properties * self; +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PROPERTIES, Properties); +#line 7 "/home/jens/Source/shotwell/src/Properties.vala" + G_OBJECT_CLASS (properties_parent_class)->finalize (obj); +#line 1869 "Properties.c" +} + + +GType properties_get_type (void) { + static volatile gsize properties_type_id__volatile = 0; + if (g_once_init_enter (&properties_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Properties), 0, (GInstanceInitFunc) properties_instance_init, NULL }; + GType properties_type_id; + properties_type_id = g_type_register_static (gtk_grid_get_type (), "Properties", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&properties_type_id__volatile, properties_type_id); + } + return properties_type_id__volatile; +} + + +BasicProperties* basic_properties_construct (GType object_type) { + BasicProperties * self = NULL; +#line 168 "/home/jens/Source/shotwell/src/Properties.vala" + self = (BasicProperties*) properties_construct (object_type); +#line 168 "/home/jens/Source/shotwell/src/Properties.vala" + return self; +#line 1891 "Properties.c" +} + + +BasicProperties* basic_properties_new (void) { +#line 168 "/home/jens/Source/shotwell/src/Properties.vala" + return basic_properties_construct (TYPE_BASIC_PROPERTIES); +#line 1898 "Properties.c" +} + + +static void basic_properties_real_clear_properties (Properties* base) { + BasicProperties * self; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BASIC_PROPERTIES, BasicProperties); +#line 172 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_CLASS (basic_properties_parent_class)->clear_properties (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties)); +#line 173 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = g_strdup (""); +#line 173 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->title); +#line 173 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->title = _tmp0_; +#line 174 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = (time_t) 0; +#line 175 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = (time_t) 0; +#line 176 "/home/jens/Source/shotwell/src/Properties.vala" + dimensions_init (&self->priv->dimensions, 0, 0); +#line 177 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->photo_count = -1; +#line 178 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->event_count = -1; +#line 179 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->video_count = -1; +#line 180 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = g_strdup (""); +#line 180 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure); +#line 180 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure = _tmp1_; +#line 181 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = g_strdup (""); +#line 181 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->aperture); +#line 181 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->aperture = _tmp2_; +#line 182 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = g_strdup (""); +#line 182 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->iso); +#line 182 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->iso = _tmp3_; +#line 183 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->clip_duration = 0.0; +#line 184 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = g_strdup (""); +#line 184 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->raw_developer); +#line 184 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->raw_developer = _tmp4_; +#line 185 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = g_strdup (""); +#line 185 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->raw_assoc); +#line 185 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->raw_assoc = _tmp5_; +#line 1964 "Properties.c" +} + + +static gpointer _media_metadata_ref0 (gpointer self) { +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + return self ? media_metadata_ref (self) : NULL; +#line 1971 "Properties.c" +} + + +static void basic_properties_real_get_single_properties (Properties* base, DataView* view) { + BasicProperties * self; + DataView* _tmp0_ = NULL; + DataSource* source = NULL; + DataView* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + DataSource* _tmp6_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BASIC_PROPERTIES, BasicProperties); +#line 188 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 189 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = view; +#line 189 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_CLASS (basic_properties_parent_class)->get_single_properties (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp0_); +#line 191 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = view; +#line 191 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = data_view_get_source (_tmp1_); +#line 191 "/home/jens/Source/shotwell/src/Properties.vala" + source = _tmp2_; +#line 193 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = source; +#line 193 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 193 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->title); +#line 193 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->title = _tmp4_; +#line 195 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = source; +#line 195 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, TYPE_PHOTO_SOURCE)) { +#line 195 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = TRUE; +#line 2013 "Properties.c" + } else { + DataSource* _tmp7_ = NULL; +#line 195 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = source; +#line 195 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_PHOTO_IMPORT_SOURCE); +#line 2020 "Properties.c" + } +#line 195 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp5_) { +#line 2024 "Properties.c" + time_t _tmp8_ = 0; + DataSource* _tmp9_ = NULL; + time_t _tmp14_ = 0; + PhotoMetadata* _tmp15_ = NULL; + DataSource* _tmp16_ = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp21_ = NULL; + PhotoMetadata* _tmp22_ = NULL; + DataSource* _tmp47_ = NULL; + gboolean _tmp50_ = FALSE; + DataSource* _tmp51_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = source; +#line 196 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_PHOTO_SOURCE)) { +#line 2040 "Properties.c" + DataSource* _tmp10_ = NULL; + time_t _tmp11_ = 0; +#line 196 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = source; +#line 196 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_PHOTO_SOURCE, PhotoSource), TYPE_MEDIA_SOURCE, MediaSource)); +#line 196 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = _tmp11_; +#line 2049 "Properties.c" + } else { + DataSource* _tmp12_ = NULL; + time_t _tmp13_ = 0; +#line 197 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = source; +#line 197 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = import_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource), TYPE_IMPORT_SOURCE, ImportSource)); +#line 197 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = _tmp13_; +#line 2059 "Properties.c" + } +#line 196 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp8_; +#line 198 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = self->priv->start_time; +#line 198 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp14_; +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = source; +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_PHOTO_SOURCE)) { +#line 2071 "Properties.c" + DataSource* _tmp17_ = NULL; + PhotoMetadata* _tmp18_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp17_ = source; +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp18_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (_tmp15_); +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = _tmp18_; +#line 2082 "Properties.c" + } else { + DataSource* _tmp19_ = NULL; + PhotoMetadata* _tmp20_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = source; +#line 201 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = photo_import_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource)); +#line 201 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (_tmp15_); +#line 201 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = _tmp20_; +#line 2094 "Properties.c" + } +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp21_ = _media_metadata_ref0 (_tmp15_); +#line 200 "/home/jens/Source/shotwell/src/Properties.vala" + metadata = _tmp21_; +#line 203 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp22_ = metadata; +#line 203 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp22_ != NULL) { +#line 2104 "Properties.c" + PhotoMetadata* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + PhotoMetadata* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + PhotoMetadata* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + Dimensions _tmp35_ = {0}; + PhotoMetadata* _tmp36_ = NULL; + Dimensions* _tmp37_ = NULL; + Dimensions* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; +#line 204 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp23_ = metadata; +#line 204 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp24_ = photo_metadata_get_exposure_string (_tmp23_); +#line 204 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure); +#line 204 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure = _tmp24_; +#line 205 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp25_ = self->priv->exposure; +#line 205 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp25_ == NULL) { +#line 2131 "Properties.c" + gchar* _tmp26_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp26_ = g_strdup (""); +#line 206 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure); +#line 206 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure = _tmp26_; +#line 2139 "Properties.c" + } +#line 208 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp27_ = metadata; +#line 208 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp28_ = photo_metadata_get_aperture_string (_tmp27_, TRUE); +#line 208 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->aperture); +#line 208 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->aperture = _tmp28_; +#line 209 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp29_ = self->priv->aperture; +#line 209 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp29_ == NULL) { +#line 2153 "Properties.c" + gchar* _tmp30_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp30_ = g_strdup (""); +#line 210 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->aperture); +#line 210 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->aperture = _tmp30_; +#line 2161 "Properties.c" + } +#line 212 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp31_ = metadata; +#line 212 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp32_ = photo_metadata_get_iso_string (_tmp31_); +#line 212 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->iso); +#line 212 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->iso = _tmp32_; +#line 213 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp33_ = self->priv->iso; +#line 213 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp33_ == NULL) { +#line 2175 "Properties.c" + gchar* _tmp34_ = NULL; +#line 214 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp34_ = g_strdup (""); +#line 214 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->iso); +#line 214 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->iso = _tmp34_; +#line 2183 "Properties.c" + } +#line 216 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp36_ = metadata; +#line 216 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp37_ = photo_metadata_get_pixel_dimensions (_tmp36_); +#line 216 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp38_ = _tmp37_; +#line 216 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp39_ = _tmp38_ != NULL; +#line 216 "/home/jens/Source/shotwell/src/Properties.vala" + _dimensions_free0 (_tmp38_); +#line 216 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp39_) { +#line 2197 "Properties.c" + PhotoMetadata* _tmp40_ = NULL; + Orientation _tmp41_ = 0; + PhotoMetadata* _tmp42_ = NULL; + Dimensions* _tmp43_ = NULL; + Dimensions* _tmp44_ = NULL; + Dimensions _tmp45_ = {0}; + Dimensions _tmp46_ = {0}; +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp40_ = metadata; +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp41_ = photo_metadata_get_orientation (_tmp40_); +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp42_ = metadata; +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp43_ = photo_metadata_get_pixel_dimensions (_tmp42_); +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp44_ = _tmp43_; +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp45_ = *_tmp44_; +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + orientation_rotate_dimensions (_tmp41_, &_tmp45_, &_tmp46_); +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp35_ = _tmp46_; +#line 217 "/home/jens/Source/shotwell/src/Properties.vala" + _dimensions_free0 (_tmp44_); +#line 2223 "Properties.c" + } else { +#line 218 "/home/jens/Source/shotwell/src/Properties.vala" + dimensions_init (&_tmp35_, 0, 0); +#line 2227 "Properties.c" + } +#line 216 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->dimensions = _tmp35_; +#line 2231 "Properties.c" + } +#line 221 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp47_ = source; +#line 221 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp47_, TYPE_PHOTO_SOURCE)) { +#line 2237 "Properties.c" + DataSource* _tmp48_ = NULL; + Dimensions _tmp49_ = {0}; +#line 222 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp48_ = source; +#line 222 "/home/jens/Source/shotwell/src/Properties.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_PHOTO_SOURCE, PhotoSource), TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp49_); +#line 222 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->dimensions = _tmp49_; +#line 2246 "Properties.c" + } +#line 224 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp51_ = source; +#line 224 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp51_, TYPE_PHOTO)) { +#line 2252 "Properties.c" + DataSource* _tmp52_ = NULL; + PhotoFileFormat _tmp53_ = 0; +#line 224 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp52_ = source; +#line 224 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp53_ = photo_get_master_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_PHOTO, Photo)); +#line 224 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp50_ = _tmp53_ == PHOTO_FILE_FORMAT_RAW; +#line 2261 "Properties.c" + } else { +#line 224 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp50_ = FALSE; +#line 2265 "Properties.c" + } +#line 224 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp50_) { +#line 2269 "Properties.c" + Photo* photo = NULL; + DataSource* _tmp54_ = NULL; + Photo* _tmp55_ = NULL; + Photo* _tmp56_ = NULL; + RawDeveloper _tmp57_ = 0; + gchar* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + Photo* _tmp60_ = NULL; + gboolean _tmp61_ = FALSE; + gchar* _tmp63_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp54_ = source; +#line 225 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp55_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp54_, TYPE_PHOTO) ? ((Photo*) _tmp54_) : NULL); +#line 225 "/home/jens/Source/shotwell/src/Properties.vala" + photo = _tmp55_; +#line 226 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp56_ = photo; +#line 226 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp57_ = photo_get_raw_developer (_tmp56_); +#line 226 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp58_ = raw_developer_get_label (_tmp57_); +#line 226 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->raw_developer); +#line 226 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->raw_developer = _tmp58_; +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp60_ = photo; +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp61_ = photo_is_raw_developer_available (_tmp60_, RAW_DEVELOPER_CAMERA); +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp61_) { +#line 2302 "Properties.c" + const gchar* _tmp62_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp62_ = _ ("RAW+JPEG"); +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp59_ = _tmp62_; +#line 2308 "Properties.c" + } else { +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp59_ = ""; +#line 2312 "Properties.c" + } +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp63_ = g_strdup (_tmp59_); +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->raw_assoc); +#line 227 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->raw_assoc = _tmp63_; +#line 224 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (photo); +#line 2322 "Properties.c" + } +#line 195 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (metadata); +#line 195 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (_tmp15_); +#line 2328 "Properties.c" + } else { + DataSource* _tmp64_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp64_ = source; +#line 229 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp64_, TYPE_EVENT_SOURCE)) { +#line 2335 "Properties.c" + EventSource* event_source = NULL; + DataSource* _tmp65_ = NULL; + EventSource* _tmp66_ = NULL; + EventSource* _tmp67_ = NULL; + time_t _tmp68_ = 0; + EventSource* _tmp69_ = NULL; + time_t _tmp70_ = 0; + gint event_photo_count = 0; + gint event_video_count = 0; + EventSource* _tmp71_ = NULL; + GeeCollection* _tmp72_ = NULL; + GeeCollection* _tmp73_ = NULL; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + gint _tmp76_ = 0; + gint _tmp77_ = 0; +#line 230 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp65_ = source; +#line 230 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp66_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, TYPE_EVENT_SOURCE, EventSource)); +#line 230 "/home/jens/Source/shotwell/src/Properties.vala" + event_source = _tmp66_; +#line 232 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp67_ = event_source; +#line 232 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp68_ = event_source_get_start_time (_tmp67_); +#line 232 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp68_; +#line 233 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp69_ = event_source; +#line 233 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp70_ = event_source_get_end_time (_tmp69_); +#line 233 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp70_; +#line 237 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp71_ = event_source; +#line 237 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp72_ = event_source_get_media (_tmp71_); +#line 237 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp73_ = _tmp72_; +#line 237 "/home/jens/Source/shotwell/src/Properties.vala" + media_source_collection_count_media (_tmp73_, &_tmp74_, &_tmp75_); +#line 237 "/home/jens/Source/shotwell/src/Properties.vala" + event_photo_count = _tmp74_; +#line 237 "/home/jens/Source/shotwell/src/Properties.vala" + event_video_count = _tmp75_; +#line 237 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (_tmp73_); +#line 240 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp76_ = event_photo_count; +#line 240 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->photo_count = _tmp76_; +#line 241 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp77_ = event_video_count; +#line 241 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->video_count = _tmp77_; +#line 229 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (event_source); +#line 2394 "Properties.c" + } else { + gboolean _tmp78_ = FALSE; + DataSource* _tmp79_ = NULL; +#line 242 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp79_ = source; +#line 242 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp79_, TYPE_VIDEO_SOURCE)) { +#line 242 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp78_ = TRUE; +#line 2404 "Properties.c" + } else { + DataSource* _tmp80_ = NULL; +#line 242 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp80_ = source; +#line 242 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp78_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp80_, TYPE_VIDEO_IMPORT_SOURCE); +#line 2411 "Properties.c" + } +#line 242 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp78_) { +#line 2415 "Properties.c" + DataSource* _tmp81_ = NULL; + time_t _tmp94_ = 0; +#line 243 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp81_ = source; +#line 243 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp81_, TYPE_VIDEO_SOURCE)) { +#line 2422 "Properties.c" + Video* video = NULL; + DataSource* _tmp82_ = NULL; + Video* _tmp83_ = NULL; + Video* _tmp84_ = NULL; + gdouble _tmp85_ = 0.0; + Video* _tmp86_ = NULL; + gboolean _tmp87_ = FALSE; + Video* _tmp90_ = NULL; + time_t _tmp91_ = 0; +#line 244 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp82_ = source; +#line 244 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp83_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, TYPE_VIDEO, Video)); +#line 244 "/home/jens/Source/shotwell/src/Properties.vala" + video = _tmp83_; +#line 245 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp84_ = video; +#line 245 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp85_ = video_get_clip_duration (_tmp84_); +#line 245 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->clip_duration = _tmp85_; +#line 247 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp86_ = video; +#line 247 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp87_ = video_get_is_interpretable (_tmp86_); +#line 247 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp87_) { +#line 2450 "Properties.c" + Video* _tmp88_ = NULL; + Dimensions _tmp89_ = {0}; +#line 248 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp88_ = video; +#line 248 "/home/jens/Source/shotwell/src/Properties.vala" + video_get_frame_dimensions (_tmp88_, &_tmp89_); +#line 248 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->dimensions = _tmp89_; +#line 2459 "Properties.c" + } +#line 250 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp90_ = video; +#line 250 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp91_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp90_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 250 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp91_; +#line 243 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (video); +#line 2469 "Properties.c" + } else { + DataSource* _tmp92_ = NULL; + time_t _tmp93_ = 0; +#line 252 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp92_ = source; +#line 252 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp93_ = import_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp92_, TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource), TYPE_IMPORT_SOURCE, ImportSource)); +#line 252 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp93_; +#line 2479 "Properties.c" + } +#line 254 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp94_ = self->priv->start_time; +#line 254 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp94_; +#line 2485 "Properties.c" + } + } + } +#line 188 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (source); +#line 2491 "Properties.c" +} + + +static void basic_properties_real_get_multiple_properties (Properties* base, GeeIterable* iter) { + BasicProperties * self; + GeeIterable* _tmp0_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BASIC_PROPERTIES, BasicProperties); +#line 258 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail ((iter == NULL) || GEE_IS_ITERABLE (iter)); +#line 259 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = iter; +#line 259 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_CLASS (basic_properties_parent_class)->get_multiple_properties (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp0_); +#line 261 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->photo_count = 0; +#line 262 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->video_count = 0; +#line 2510 "Properties.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = iter; +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _view_it = _tmp2_; +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + while (TRUE) { +#line 2523 "Properties.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataSource* source = NULL; + DataView* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + DataSource* _tmp10_ = NULL; +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = _view_it; +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + if (!_tmp4_) { +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + break; +#line 2542 "Properties.c" + } +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = _view_it; +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + view = (DataView*) _tmp6_; +#line 264 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = view; +#line 264 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = data_view_get_source (_tmp7_); +#line 264 "/home/jens/Source/shotwell/src/Properties.vala" + source = _tmp8_; +#line 266 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = source; +#line 266 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_PHOTO_SOURCE)) { +#line 266 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = TRUE; +#line 2562 "Properties.c" + } else { + DataSource* _tmp11_ = NULL; +#line 266 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = source; +#line 266 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_PHOTO_IMPORT_SOURCE); +#line 2569 "Properties.c" + } +#line 266 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp9_) { +#line 2573 "Properties.c" + time_t _tmp12_ = 0; + DataSource* _tmp13_ = NULL; + time_t exposure_time = 0; + time_t _tmp18_ = 0; + gint _tmp29_ = 0; +#line 267 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = source; +#line 267 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_PHOTO_SOURCE)) { +#line 2583 "Properties.c" + DataSource* _tmp14_ = NULL; + time_t _tmp15_ = 0; +#line 268 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = source; +#line 268 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO_SOURCE, PhotoSource), TYPE_MEDIA_SOURCE, MediaSource)); +#line 268 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = _tmp15_; +#line 2592 "Properties.c" + } else { + DataSource* _tmp16_ = NULL; + time_t _tmp17_ = 0; +#line 269 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = source; +#line 269 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp17_ = import_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource), TYPE_IMPORT_SOURCE, ImportSource)); +#line 269 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = _tmp17_; +#line 2602 "Properties.c" + } +#line 267 "/home/jens/Source/shotwell/src/Properties.vala" + exposure_time = _tmp12_; +#line 271 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp18_ = exposure_time; +#line 271 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp18_ != ((time_t) 0)) { +#line 2610 "Properties.c" + gboolean _tmp19_ = FALSE; + time_t _tmp20_ = 0; + gboolean _tmp24_ = FALSE; + time_t _tmp25_ = 0; +#line 272 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = self->priv->start_time; +#line 272 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp20_ == ((time_t) 0)) { +#line 272 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = TRUE; +#line 2621 "Properties.c" + } else { + time_t _tmp21_ = 0; + time_t _tmp22_ = 0; +#line 272 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp21_ = exposure_time; +#line 272 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp22_ = self->priv->start_time; +#line 272 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = _tmp21_ < _tmp22_; +#line 2631 "Properties.c" + } +#line 272 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp19_) { +#line 2635 "Properties.c" + time_t _tmp23_ = 0; +#line 273 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp23_ = exposure_time; +#line 273 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp23_; +#line 2641 "Properties.c" + } +#line 275 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp25_ = self->priv->end_time; +#line 275 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp25_ == ((time_t) 0)) { +#line 275 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp24_ = TRUE; +#line 2649 "Properties.c" + } else { + time_t _tmp26_ = 0; + time_t _tmp27_ = 0; +#line 275 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp26_ = exposure_time; +#line 275 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp27_ = self->priv->end_time; +#line 275 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp24_ = _tmp26_ > _tmp27_; +#line 2659 "Properties.c" + } +#line 275 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp24_) { +#line 2663 "Properties.c" + time_t _tmp28_ = 0; +#line 276 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp28_ = exposure_time; +#line 276 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp28_; +#line 2669 "Properties.c" + } + } +#line 279 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp29_ = self->priv->photo_count; +#line 279 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->photo_count = _tmp29_ + 1; +#line 2676 "Properties.c" + } else { + DataSource* _tmp30_ = NULL; +#line 280 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp30_ = source; +#line 280 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_EVENT_SOURCE)) { +#line 2683 "Properties.c" + EventSource* event_source = NULL; + DataSource* _tmp31_ = NULL; + EventSource* _tmp32_ = NULL; + gint _tmp33_ = 0; + gboolean _tmp34_ = FALSE; + gboolean _tmp35_ = FALSE; + time_t _tmp36_ = 0; + gboolean _tmp44_ = FALSE; + gboolean _tmp45_ = FALSE; + time_t _tmp46_ = 0; + gint event_photo_count = 0; + gint event_video_count = 0; + EventSource* _tmp61_ = NULL; + GeeCollection* _tmp62_ = NULL; + GeeCollection* _tmp63_ = NULL; + gint _tmp64_ = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + gint _tmp70_ = 0; +#line 281 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp31_ = source; +#line 281 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_EVENT_SOURCE, EventSource)); +#line 281 "/home/jens/Source/shotwell/src/Properties.vala" + event_source = _tmp32_; +#line 283 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp33_ = self->priv->event_count; +#line 283 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp33_ == -1) { +#line 284 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->event_count = 0; +#line 2718 "Properties.c" + } +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp36_ = self->priv->start_time; +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp36_ == ((time_t) 0)) { +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp35_ = TRUE; +#line 2726 "Properties.c" + } else { + EventSource* _tmp37_ = NULL; + time_t _tmp38_ = 0; + time_t _tmp39_ = 0; +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp37_ = event_source; +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp38_ = event_source_get_start_time (_tmp37_); +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp39_ = self->priv->start_time; +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp35_ = _tmp38_ < _tmp39_; +#line 2739 "Properties.c" + } +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp35_) { +#line 2743 "Properties.c" + EventSource* _tmp40_ = NULL; + time_t _tmp41_ = 0; +#line 287 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp40_ = event_source; +#line 287 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp41_ = event_source_get_start_time (_tmp40_); +#line 287 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp34_ = _tmp41_ != ((time_t) 0); +#line 2752 "Properties.c" + } else { +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp34_ = FALSE; +#line 2756 "Properties.c" + } +#line 286 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp34_) { +#line 2760 "Properties.c" + EventSource* _tmp42_ = NULL; + time_t _tmp43_ = 0; +#line 288 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp42_ = event_source; +#line 288 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp43_ = event_source_get_start_time (_tmp42_); +#line 288 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp43_; +#line 2769 "Properties.c" + } +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp46_ = self->priv->end_time; +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp46_ == ((time_t) 0)) { +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp45_ = TRUE; +#line 2777 "Properties.c" + } else { + EventSource* _tmp47_ = NULL; + time_t _tmp48_ = 0; + time_t _tmp49_ = 0; +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp47_ = event_source; +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp48_ = event_source_get_end_time (_tmp47_); +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp49_ = self->priv->end_time; +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp45_ = _tmp48_ > _tmp49_; +#line 2790 "Properties.c" + } +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp45_) { +#line 2794 "Properties.c" + EventSource* _tmp50_ = NULL; + time_t _tmp51_ = 0; +#line 291 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp50_ = event_source; +#line 291 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp51_ = event_source_get_end_time (_tmp50_); +#line 291 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp44_ = _tmp51_ != ((time_t) 0); +#line 2803 "Properties.c" + } else { +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp44_ = FALSE; +#line 2807 "Properties.c" + } +#line 290 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp44_) { +#line 2811 "Properties.c" + EventSource* _tmp52_ = NULL; + time_t _tmp53_ = 0; +#line 292 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp52_ = event_source; +#line 292 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp53_ = event_source_get_end_time (_tmp52_); +#line 292 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp53_; +#line 2820 "Properties.c" + } else { + gboolean _tmp54_ = FALSE; + time_t _tmp55_ = 0; +#line 293 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp55_ = self->priv->end_time; +#line 293 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp55_ == ((time_t) 0)) { +#line 293 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp54_ = TRUE; +#line 2830 "Properties.c" + } else { + EventSource* _tmp56_ = NULL; + time_t _tmp57_ = 0; + time_t _tmp58_ = 0; +#line 293 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp56_ = event_source; +#line 293 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp57_ = event_source_get_start_time (_tmp56_); +#line 293 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp58_ = self->priv->end_time; +#line 293 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp54_ = _tmp57_ > _tmp58_; +#line 2843 "Properties.c" + } +#line 293 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp54_) { +#line 2847 "Properties.c" + EventSource* _tmp59_ = NULL; + time_t _tmp60_ = 0; +#line 294 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp59_ = event_source; +#line 294 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp60_ = event_source_get_start_time (_tmp59_); +#line 294 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp60_; +#line 2856 "Properties.c" + } + } +#line 299 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp61_ = event_source; +#line 299 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp62_ = event_source_get_media (_tmp61_); +#line 299 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp63_ = _tmp62_; +#line 299 "/home/jens/Source/shotwell/src/Properties.vala" + media_source_collection_count_media (_tmp63_, &_tmp64_, &_tmp65_); +#line 299 "/home/jens/Source/shotwell/src/Properties.vala" + event_photo_count = _tmp64_; +#line 299 "/home/jens/Source/shotwell/src/Properties.vala" + event_video_count = _tmp65_; +#line 299 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (_tmp63_); +#line 302 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp66_ = self->priv->photo_count; +#line 302 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp67_ = event_photo_count; +#line 302 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->photo_count = _tmp66_ + _tmp67_; +#line 303 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp68_ = self->priv->video_count; +#line 303 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp69_ = event_video_count; +#line 303 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->video_count = _tmp68_ + _tmp69_; +#line 304 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp70_ = self->priv->event_count; +#line 304 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->event_count = _tmp70_ + 1; +#line 280 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (event_source); +#line 2891 "Properties.c" + } else { + gboolean _tmp71_ = FALSE; + DataSource* _tmp72_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp72_ = source; +#line 305 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp72_, TYPE_VIDEO_SOURCE)) { +#line 305 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp71_ = TRUE; +#line 2901 "Properties.c" + } else { + DataSource* _tmp73_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp73_ = source; +#line 305 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp71_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp73_, TYPE_VIDEO_IMPORT_SOURCE); +#line 2908 "Properties.c" + } +#line 305 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp71_) { +#line 2912 "Properties.c" + time_t _tmp74_ = 0; + DataSource* _tmp75_ = NULL; + time_t exposure_time = 0; + time_t _tmp80_ = 0; + gint _tmp91_ = 0; +#line 306 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp75_ = source; +#line 306 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp75_, TYPE_VIDEO_SOURCE)) { +#line 2922 "Properties.c" + DataSource* _tmp76_ = NULL; + time_t _tmp77_ = 0; +#line 307 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp76_ = source; +#line 307 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp77_ = media_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, TYPE_VIDEO_SOURCE, VideoSource), TYPE_MEDIA_SOURCE, MediaSource)); +#line 307 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp74_ = _tmp77_; +#line 2931 "Properties.c" + } else { + DataSource* _tmp78_ = NULL; + time_t _tmp79_ = 0; +#line 308 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp78_ = source; +#line 308 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp79_ = import_source_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource), TYPE_IMPORT_SOURCE, ImportSource)); +#line 308 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp74_ = _tmp79_; +#line 2941 "Properties.c" + } +#line 306 "/home/jens/Source/shotwell/src/Properties.vala" + exposure_time = _tmp74_; +#line 310 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp80_ = exposure_time; +#line 310 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp80_ != ((time_t) 0)) { +#line 2949 "Properties.c" + gboolean _tmp81_ = FALSE; + time_t _tmp82_ = 0; + gboolean _tmp86_ = FALSE; + time_t _tmp87_ = 0; +#line 311 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp82_ = self->priv->start_time; +#line 311 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp82_ == ((time_t) 0)) { +#line 311 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp81_ = TRUE; +#line 2960 "Properties.c" + } else { + time_t _tmp83_ = 0; + time_t _tmp84_ = 0; +#line 311 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp83_ = exposure_time; +#line 311 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp84_ = self->priv->start_time; +#line 311 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp81_ = _tmp83_ < _tmp84_; +#line 2970 "Properties.c" + } +#line 311 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp81_) { +#line 2974 "Properties.c" + time_t _tmp85_ = 0; +#line 312 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp85_ = exposure_time; +#line 312 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp85_; +#line 2980 "Properties.c" + } +#line 314 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp87_ = self->priv->end_time; +#line 314 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp87_ == ((time_t) 0)) { +#line 314 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp86_ = TRUE; +#line 2988 "Properties.c" + } else { + time_t _tmp88_ = 0; + time_t _tmp89_ = 0; +#line 314 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp88_ = exposure_time; +#line 314 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp89_ = self->priv->end_time; +#line 314 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp86_ = _tmp88_ > _tmp89_; +#line 2998 "Properties.c" + } +#line 314 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp86_) { +#line 3002 "Properties.c" + time_t _tmp90_ = 0; +#line 315 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp90_ = exposure_time; +#line 315 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp90_; +#line 3008 "Properties.c" + } + } +#line 318 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp91_ = self->priv->video_count; +#line 318 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->video_count = _tmp91_ + 1; +#line 3015 "Properties.c" + } + } + } +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (source); +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (view); +#line 3023 "Properties.c" + } +#line 263 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (_view_it); +#line 3027 "Properties.c" + } +} + + +static void basic_properties_real_get_properties (Properties* base, Page* current_page) { + BasicProperties * self; + Page* _tmp0_ = NULL; + time_t _tmp1_ = 0; + time_t _tmp3_ = 0; +#line 323 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BASIC_PROPERTIES, BasicProperties); +#line 323 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PAGE (current_page)); +#line 324 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = current_page; +#line 324 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_CLASS (basic_properties_parent_class)->get_properties (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp0_); +#line 326 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = self->priv->end_time; +#line 326 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp1_ == ((time_t) 0)) { +#line 3049 "Properties.c" + time_t _tmp2_ = 0; +#line 327 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = self->priv->start_time; +#line 327 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp2_; +#line 3055 "Properties.c" + } +#line 328 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = self->priv->start_time; +#line 328 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp3_ == ((time_t) 0)) { +#line 3061 "Properties.c" + time_t _tmp4_ = 0; +#line 329 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = self->priv->end_time; +#line 329 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp4_; +#line 3067 "Properties.c" + } +} + + +static void basic_properties_real_internal_update_properties (Properties* base, Page* page) { + BasicProperties * self; + Page* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp13_ = FALSE; + gint _tmp14_ = 0; + time_t _tmp43_ = 0; + gboolean _tmp72_ = FALSE; + gdouble _tmp84_ = 0.0; + const gchar* _tmp90_ = NULL; + const gchar* _tmp93_ = NULL; + gboolean _tmp95_ = FALSE; + gboolean _tmp96_ = FALSE; + const gchar* _tmp97_ = NULL; +#line 332 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_BASIC_PROPERTIES, BasicProperties); +#line 332 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PAGE (page)); +#line 333 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = page; +#line 333 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_CLASS (basic_properties_parent_class)->internal_update_properties (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp0_); +#line 336 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = self->priv->title; +#line 336 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp2_, "") == 0) { +#line 3100 "Properties.c" + Page* _tmp3_ = NULL; +#line 336 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = page; +#line 336 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_TAG_PAGE); +#line 3106 "Properties.c" + } else { +#line 336 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = FALSE; +#line 3110 "Properties.c" + } +#line 336 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp1_) { +#line 3114 "Properties.c" + Page* _tmp4_ = NULL; + Tag* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = page; +#line 337 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = tag_page_get_tag (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_TAG_PAGE, TagPage)); +#line 337 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = _tmp5_; +#line 337 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = tag_get_user_visible_name (_tmp6_); +#line 337 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->title); +#line 337 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->title = _tmp7_; +#line 337 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (_tmp6_); +#line 3133 "Properties.c" + } +#line 339 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = self->priv->title; +#line 339 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp8_, "") != 0) { +#line 3139 "Properties.c" + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = _ ("Title:"); +#line 340 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = self->priv->title; +#line 340 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = guarded_markup_escape_text (_tmp10_); +#line 340 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = _tmp11_; +#line 340 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp9_, _tmp12_, FALSE); +#line 340 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp12_); +#line 3156 "Properties.c" + } +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = self->priv->photo_count; +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp14_ >= 0) { +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = TRUE; +#line 3164 "Properties.c" + } else { + gint _tmp15_ = 0; +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = self->priv->video_count; +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = _tmp15_ >= 0; +#line 3171 "Properties.c" + } +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp13_) { +#line 3175 "Properties.c" + gchar* label = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; + gchar* photo_num_string = NULL; + gint _tmp26_ = 0; + const gchar* _tmp27_ = NULL; + gint _tmp28_ = 0; + gchar* _tmp29_ = NULL; + gchar* video_num_string = NULL; + gint _tmp30_ = 0; + const gchar* _tmp31_ = NULL; + gint _tmp32_ = 0; + gchar* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; + gint _tmp35_ = 0; + const gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gint _tmp41_ = 0; +#line 343 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = _ ("Items:"); +#line 343 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 343 "/home/jens/Source/shotwell/src/Properties.vala" + label = _tmp17_; +#line 345 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp18_ = self->priv->event_count; +#line 345 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp18_ >= 0) { +#line 3205 "Properties.c" + gchar* event_num_string = NULL; + gint _tmp19_ = 0; + const gchar* _tmp20_ = NULL; + gint _tmp21_ = 0; + gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 346 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = self->priv->event_count; +#line 346 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = ngettext ("%d Event", "%d Events", (gulong) _tmp19_); +#line 346 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp21_ = self->priv->event_count; +#line 346 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp22_ = g_strdup_printf (_tmp20_, _tmp21_); +#line 346 "/home/jens/Source/shotwell/src/Properties.vala" + event_num_string = _tmp22_; +#line 349 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp23_ = label; +#line 349 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp24_ = event_num_string; +#line 349 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp23_, _tmp24_, FALSE); +#line 350 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp25_ = g_strdup (""); +#line 350 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (label); +#line 350 "/home/jens/Source/shotwell/src/Properties.vala" + label = _tmp25_; +#line 345 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (event_num_string); +#line 3238 "Properties.c" + } +#line 353 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp26_ = self->priv->photo_count; +#line 353 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp27_ = ngettext ("%d Photo", "%d Photos", (gulong) _tmp26_); +#line 353 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp28_ = self->priv->photo_count; +#line 353 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp29_ = g_strdup_printf (_tmp27_, _tmp28_); +#line 353 "/home/jens/Source/shotwell/src/Properties.vala" + photo_num_string = _tmp29_; +#line 355 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp30_ = self->priv->video_count; +#line 355 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp31_ = ngettext ("%d Video", "%d Videos", (gulong) _tmp30_); +#line 355 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp32_ = self->priv->video_count; +#line 355 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp33_ = g_strdup_printf (_tmp31_, _tmp32_); +#line 355 "/home/jens/Source/shotwell/src/Properties.vala" + video_num_string = _tmp33_; +#line 358 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp35_ = self->priv->photo_count; +#line 358 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp35_ == 0) { +#line 3264 "Properties.c" + gint _tmp36_ = 0; +#line 358 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp36_ = self->priv->video_count; +#line 358 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp34_ = _tmp36_ > 0; +#line 3270 "Properties.c" + } else { +#line 358 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp34_ = FALSE; +#line 3274 "Properties.c" + } +#line 358 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp34_) { +#line 3278 "Properties.c" + const gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 359 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp37_ = label; +#line 359 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp38_ = video_num_string; +#line 359 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp37_, _tmp38_, FALSE); +#line 360 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (video_num_string); +#line 360 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (photo_num_string); +#line 360 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (label); +#line 360 "/home/jens/Source/shotwell/src/Properties.vala" + return; +#line 3295 "Properties.c" + } +#line 363 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp39_ = label; +#line 363 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp40_ = photo_num_string; +#line 363 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp39_, _tmp40_, FALSE); +#line 365 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp41_ = self->priv->video_count; +#line 365 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp41_ > 0) { +#line 3307 "Properties.c" + const gchar* _tmp42_ = NULL; +#line 366 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp42_ = video_num_string; +#line 366 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), "", _tmp42_, FALSE); +#line 3313 "Properties.c" + } +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (video_num_string); +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (photo_num_string); +#line 342 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (label); +#line 3321 "Properties.c" + } +#line 369 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp43_ = self->priv->start_time; +#line 369 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp43_ != ((time_t) 0)) { +#line 3327 "Properties.c" + gchar* start_date = NULL; + time_t _tmp44_ = 0; + struct tm _tmp45_ = {0}; + gchar* _tmp46_ = NULL; + gchar* start_time = NULL; + time_t _tmp47_ = 0; + struct tm _tmp48_ = {0}; + gchar* _tmp49_ = NULL; + gchar* end_date = NULL; + time_t _tmp50_ = 0; + struct tm _tmp51_ = {0}; + gchar* _tmp52_ = NULL; + gchar* end_time = NULL; + time_t _tmp53_ = 0; + struct tm _tmp54_ = {0}; + gchar* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; +#line 370 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp44_ = self->priv->start_time; +#line 370 "/home/jens/Source/shotwell/src/Properties.vala" + g_time_local (_tmp44_, &_tmp45_); +#line 370 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp46_ = properties_get_prettyprint_date (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), &_tmp45_); +#line 370 "/home/jens/Source/shotwell/src/Properties.vala" + start_date = _tmp46_; +#line 371 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp47_ = self->priv->start_time; +#line 371 "/home/jens/Source/shotwell/src/Properties.vala" + g_time_local (_tmp47_, &_tmp48_); +#line 371 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp49_ = properties_get_prettyprint_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), &_tmp48_); +#line 371 "/home/jens/Source/shotwell/src/Properties.vala" + start_time = _tmp49_; +#line 372 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp50_ = self->priv->end_time; +#line 372 "/home/jens/Source/shotwell/src/Properties.vala" + g_time_local (_tmp50_, &_tmp51_); +#line 372 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp52_ = properties_get_prettyprint_date (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), &_tmp51_); +#line 372 "/home/jens/Source/shotwell/src/Properties.vala" + end_date = _tmp52_; +#line 373 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp53_ = self->priv->end_time; +#line 373 "/home/jens/Source/shotwell/src/Properties.vala" + g_time_local (_tmp53_, &_tmp54_); +#line 373 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp55_ = properties_get_prettyprint_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), &_tmp54_); +#line 373 "/home/jens/Source/shotwell/src/Properties.vala" + end_time = _tmp55_; +#line 375 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp56_ = start_date; +#line 375 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp57_ = end_date; +#line 375 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp56_, _tmp57_) == 0) { +#line 3384 "Properties.c" + const gchar* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + const gchar* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp58_ = _ ("Date:"); +#line 377 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp59_ = start_date; +#line 377 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp58_, _tmp59_, FALSE); +#line 379 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp60_ = start_time; +#line 379 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp61_ = end_time; +#line 379 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp60_, _tmp61_) == 0) { +#line 3401 "Properties.c" + const gchar* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp62_ = _ ("Time:"); +#line 381 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp63_ = start_time; +#line 381 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp62_, _tmp63_, FALSE); +#line 3410 "Properties.c" + } else { + const gchar* _tmp64_ = NULL; + const gchar* _tmp65_ = NULL; + const gchar* _tmp66_ = NULL; + const gchar* _tmp67_ = NULL; +#line 384 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp64_ = _ ("From:"); +#line 384 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp65_ = start_time; +#line 384 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp64_, _tmp65_, FALSE); +#line 385 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp66_ = _ ("To:"); +#line 385 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp67_ = end_time; +#line 385 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp66_, _tmp67_, FALSE); +#line 3428 "Properties.c" + } + } else { + const gchar* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; +#line 389 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp68_ = _ ("From:"); +#line 389 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp69_ = start_date; +#line 389 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp68_, _tmp69_, FALSE); +#line 390 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp70_ = _ ("To:"); +#line 390 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp71_ = end_date; +#line 390 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp70_, _tmp71_, FALSE); +#line 3447 "Properties.c" + } +#line 369 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (end_time); +#line 369 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (end_date); +#line 369 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (start_time); +#line 369 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (start_date); +#line 3457 "Properties.c" + } +#line 394 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp72_ = dimensions_has_area (&self->priv->dimensions); +#line 394 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp72_) { +#line 3463 "Properties.c" + gchar* label = NULL; + const gchar* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; + gboolean _tmp75_ = FALSE; +#line 395 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp73_ = _ ("Size:"); +#line 395 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp74_ = g_strdup (_tmp73_); +#line 395 "/home/jens/Source/shotwell/src/Properties.vala" + label = _tmp74_; +#line 397 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp75_ = dimensions_has_area (&self->priv->dimensions); +#line 397 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp75_) { +#line 3478 "Properties.c" + const gchar* _tmp76_ = NULL; + Dimensions _tmp77_ = {0}; + gint _tmp78_ = 0; + Dimensions _tmp79_ = {0}; + gint _tmp80_ = 0; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp76_ = label; +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp77_ = self->priv->dimensions; +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp78_ = _tmp77_.width; +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp79_ = self->priv->dimensions; +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp80_ = _tmp79_.height; +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp81_ = g_strdup_printf ("%d × %d", _tmp78_, _tmp80_); +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp82_ = _tmp81_; +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp76_, _tmp82_, FALSE); +#line 398 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp82_); +#line 399 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp83_ = g_strdup (""); +#line 399 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (label); +#line 399 "/home/jens/Source/shotwell/src/Properties.vala" + label = _tmp83_; +#line 3511 "Properties.c" + } +#line 394 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (label); +#line 3515 "Properties.c" + } +#line 403 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp84_ = self->priv->clip_duration; +#line 403 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp84_ > 0.0) { +#line 3521 "Properties.c" + const gchar* _tmp85_ = NULL; + const gchar* _tmp86_ = NULL; + gdouble _tmp87_ = 0.0; + gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; +#line 404 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp85_ = _ ("Duration:"); +#line 404 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp86_ = _ ("%.1f seconds"); +#line 404 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp87_ = self->priv->clip_duration; +#line 404 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp88_ = g_strdup_printf (_tmp86_, _tmp87_); +#line 404 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp89_ = _tmp88_; +#line 404 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp85_, _tmp89_, FALSE); +#line 404 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp89_); +#line 3541 "Properties.c" + } +#line 407 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp90_ = self->priv->raw_developer; +#line 407 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp90_, "") != 0) { +#line 3547 "Properties.c" + const gchar* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; +#line 408 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp91_ = _ ("Developer:"); +#line 408 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp92_ = self->priv->raw_developer; +#line 408 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp91_, _tmp92_, FALSE); +#line 3556 "Properties.c" + } +#line 412 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp93_ = self->priv->raw_assoc; +#line 412 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp93_, "") != 0) { +#line 3562 "Properties.c" + const gchar* _tmp94_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp94_ = self->priv->raw_assoc; +#line 413 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), "", _tmp94_, FALSE); +#line 3568 "Properties.c" + } +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp97_ = self->priv->exposure; +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp97_, "") != 0) { +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp96_ = TRUE; +#line 3576 "Properties.c" + } else { + const gchar* _tmp98_ = NULL; +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp98_ = self->priv->aperture; +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp96_ = g_strcmp0 (_tmp98_, "") != 0; +#line 3583 "Properties.c" + } +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp96_) { +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp95_ = TRUE; +#line 3589 "Properties.c" + } else { + const gchar* _tmp99_ = NULL; +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp99_ = self->priv->iso; +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp95_ = g_strcmp0 (_tmp99_, "") != 0; +#line 3596 "Properties.c" + } +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp95_) { +#line 3600 "Properties.c" + gchar* line = NULL; + const gchar* _tmp100_ = NULL; + const gchar* _tmp103_ = NULL; + gboolean _tmp112_ = FALSE; + gboolean _tmp113_ = FALSE; + const gchar* _tmp114_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/Properties.vala" + line = NULL; +#line 419 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp100_ = self->priv->exposure; +#line 419 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp100_, "") != 0) { +#line 3613 "Properties.c" + const gchar* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp101_ = self->priv->exposure; +#line 420 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp102_ = g_strdup (_tmp101_); +#line 420 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (line); +#line 420 "/home/jens/Source/shotwell/src/Properties.vala" + line = _tmp102_; +#line 3624 "Properties.c" + } +#line 422 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp103_ = self->priv->aperture; +#line 422 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp103_, "") != 0) { +#line 3630 "Properties.c" + const gchar* _tmp104_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp104_ = line; +#line 423 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp104_ != NULL) { +#line 3636 "Properties.c" + const gchar* _tmp105_ = NULL; + const gchar* _tmp106_ = NULL; + gchar* _tmp107_ = NULL; + gchar* _tmp108_ = NULL; + gchar* _tmp109_ = NULL; +#line 424 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp105_ = line; +#line 424 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp106_ = self->priv->aperture; +#line 424 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp107_ = g_strconcat (", ", _tmp106_, NULL); +#line 424 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp108_ = _tmp107_; +#line 424 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp109_ = g_strconcat (_tmp105_, _tmp108_, NULL); +#line 424 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (line); +#line 424 "/home/jens/Source/shotwell/src/Properties.vala" + line = _tmp109_; +#line 424 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp108_); +#line 3658 "Properties.c" + } else { + const gchar* _tmp110_ = NULL; + gchar* _tmp111_ = NULL; +#line 426 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp110_ = self->priv->aperture; +#line 426 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp111_ = g_strdup (_tmp110_); +#line 426 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (line); +#line 426 "/home/jens/Source/shotwell/src/Properties.vala" + line = _tmp111_; +#line 3670 "Properties.c" + } + } +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp114_ = self->priv->exposure; +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp114_, "") == 0) { +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp113_ = TRUE; +#line 3679 "Properties.c" + } else { + const gchar* _tmp115_ = NULL; +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp115_ = self->priv->aperture; +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp113_ = g_strcmp0 (_tmp115_, "") == 0; +#line 3686 "Properties.c" + } +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp113_) { +#line 3690 "Properties.c" + const gchar* _tmp116_ = NULL; +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp116_ = self->priv->iso; +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp112_ = g_strcmp0 (_tmp116_, "") != 0; +#line 3696 "Properties.c" + } else { +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp112_ = FALSE; +#line 3700 "Properties.c" + } +#line 430 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp112_) { +#line 3704 "Properties.c" + const gchar* _tmp117_ = NULL; + const gchar* _tmp125_ = NULL; + const gchar* _tmp126_ = NULL; +#line 431 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp117_ = line; +#line 431 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp117_ != NULL) { +#line 3712 "Properties.c" + const gchar* _tmp118_ = NULL; + const gchar* _tmp119_ = NULL; + gchar* _tmp120_ = NULL; + gchar* _tmp121_ = NULL; + gchar* _tmp122_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp118_ = line; +#line 432 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp119_ = self->priv->iso; +#line 432 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp120_ = g_strconcat (", " "ISO ", _tmp119_, NULL); +#line 432 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp121_ = _tmp120_; +#line 432 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp122_ = g_strconcat (_tmp118_, _tmp121_, NULL); +#line 432 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (line); +#line 432 "/home/jens/Source/shotwell/src/Properties.vala" + line = _tmp122_; +#line 432 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp121_); +#line 3734 "Properties.c" + } else { + const gchar* _tmp123_ = NULL; + gchar* _tmp124_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp123_ = self->priv->iso; +#line 434 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp124_ = g_strconcat ("ISO ", _tmp123_, NULL); +#line 434 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (line); +#line 434 "/home/jens/Source/shotwell/src/Properties.vala" + line = _tmp124_; +#line 3746 "Properties.c" + } +#line 436 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp125_ = _ ("Exposure:"); +#line 436 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp126_ = line; +#line 436 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp125_, _tmp126_, FALSE); +#line 3754 "Properties.c" + } else { + const gchar* _tmp127_ = NULL; + const gchar* _tmp130_ = NULL; +#line 439 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp127_ = line; +#line 439 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp127_ != NULL) { +#line 3762 "Properties.c" + const gchar* _tmp128_ = NULL; + const gchar* _tmp129_ = NULL; +#line 440 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp128_ = _ ("Exposure:"); +#line 440 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp129_ = line; +#line 440 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp128_, _tmp129_, FALSE); +#line 3771 "Properties.c" + } +#line 443 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp130_ = self->priv->iso; +#line 443 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp130_, "") != 0) { +#line 3777 "Properties.c" + const gchar* _tmp131_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp131_ = line; +#line 444 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp131_ != NULL) { +#line 3783 "Properties.c" + const gchar* _tmp132_ = NULL; + gchar* _tmp133_ = NULL; + gchar* _tmp134_ = NULL; +#line 445 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp132_ = self->priv->iso; +#line 445 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp133_ = g_strconcat ("ISO ", _tmp132_, NULL); +#line 445 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp134_ = _tmp133_; +#line 445 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), "", _tmp134_, FALSE); +#line 445 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp134_); +#line 3797 "Properties.c" + } else { + const gchar* _tmp135_ = NULL; + const gchar* _tmp136_ = NULL; + gchar* _tmp137_ = NULL; + gchar* _tmp138_ = NULL; +#line 447 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp135_ = _ ("Exposure:"); +#line 447 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp136_ = self->priv->iso; +#line 447 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp137_ = g_strconcat ("ISO ", _tmp136_, NULL); +#line 447 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp138_ = _tmp137_; +#line 447 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp135_, _tmp138_, FALSE); +#line 447 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp138_); +#line 3815 "Properties.c" + } + } + } +#line 415 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (line); +#line 3821 "Properties.c" + } +} + + +static void basic_properties_class_init (BasicPropertiesClass * klass) { +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + basic_properties_parent_class = g_type_class_peek_parent (klass); +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + g_type_class_add_private (klass, sizeof (BasicPropertiesPrivate)); +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->clear_properties = basic_properties_real_clear_properties; +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->get_single_properties = basic_properties_real_get_single_properties; +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->get_multiple_properties = basic_properties_real_get_multiple_properties; +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->get_properties = basic_properties_real_get_properties; +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->internal_update_properties = basic_properties_real_internal_update_properties; +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + G_OBJECT_CLASS (klass)->finalize = basic_properties_finalize; +#line 3843 "Properties.c" +} + + +static void basic_properties_instance_init (BasicProperties * self) { + time_t _tmp0_ = 0; + time_t _tmp1_ = 0; +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv = BASIC_PROPERTIES_GET_PRIVATE (self); +#line 155 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = time (NULL); +#line 155 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->start_time = _tmp0_; +#line 156 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = time (NULL); +#line 156 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->end_time = _tmp1_; +#line 3860 "Properties.c" +} + + +static void basic_properties_finalize (GObject* obj) { + BasicProperties * self; +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BASIC_PROPERTIES, BasicProperties); +#line 154 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->title); +#line 161 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure); +#line 162 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->aperture); +#line 163 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->iso); +#line 165 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->raw_developer); +#line 166 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->raw_assoc); +#line 153 "/home/jens/Source/shotwell/src/Properties.vala" + G_OBJECT_CLASS (basic_properties_parent_class)->finalize (obj); +#line 3882 "Properties.c" +} + + +GType basic_properties_get_type (void) { + static volatile gsize basic_properties_type_id__volatile = 0; + if (g_once_init_enter (&basic_properties_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (BasicPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) basic_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BasicProperties), 0, (GInstanceInitFunc) basic_properties_instance_init, NULL }; + GType basic_properties_type_id; + basic_properties_type_id = g_type_register_static (TYPE_PROPERTIES, "BasicProperties", &g_define_type_info, 0); + g_once_init_leave (&basic_properties_type_id__volatile, basic_properties_type_id); + } + return basic_properties_type_id__volatile; +} + + +static gboolean _gtk_widget_hide_on_delete_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) { + gboolean result; + result = gtk_widget_hide_on_delete ((GtkWidget*) self); +#line 646 "/home/jens/Source/shotwell/src/Properties.vala" + return result; +#line 3903 "Properties.c" +} + + +ExtendedPropertiesWindow* extended_properties_window_construct (GType object_type, GtkWindow* owner) { + ExtendedPropertiesWindow * self = NULL; + gboolean use_header = FALSE; + GtkSettings* _tmp0_ = NULL; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + GtkWindow* _tmp4_ = NULL; + ExtendedPropertiesWindowExtendedProperties* _tmp5_ = NULL; + GtkAlignment* alignment = NULL; + GtkAlignment* _tmp6_ = NULL; + ExtendedPropertiesWindowExtendedProperties* _tmp7_ = NULL; + GtkBox* _tmp8_ = NULL; +#line 632 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (GTK_IS_WINDOW (owner), NULL); +#line 634 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = gtk_settings_get_default (); +#line 634 "/home/jens/Source/shotwell/src/Properties.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), "gtk-dialogs-use-header", &use_header, NULL); +#line 635 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = use_header; +#line 635 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp2_) { +#line 635 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = 1; +#line 3932 "Properties.c" + } else { +#line 635 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = 0; +#line 3936 "Properties.c" + } +#line 635 "/home/jens/Source/shotwell/src/Properties.vala" + self = (ExtendedPropertiesWindow*) g_object_new (object_type, "use-header-bar", _tmp1_, NULL); +#line 637 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_widget_add_events (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), (gint) (GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK)); +#line 638 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_window_set_focus_on_map (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 639 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_window_set_accept_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 640 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), TRUE); +#line 641 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = _ ("Extended Information"); +#line 641 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp3_); +#line 642 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_window_set_position (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), GTK_WIN_POS_CENTER); +#line 643 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = owner; +#line 643 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp4_); +#line 644 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_window_set_type_hint (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), GDK_WINDOW_TYPE_HINT_DIALOG); +#line 646 "/home/jens/Source/shotwell/src/Properties.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "delete-event", (GCallback) _gtk_widget_hide_on_delete_gtk_widget_delete_event, G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), 0); +#line 648 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = extended_properties_window_extended_properties_new (); +#line 648 "/home/jens/Source/shotwell/src/Properties.vala" + g_object_ref_sink (_tmp5_); +#line 648 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (self->priv->properties); +#line 648 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->properties = _tmp5_; +#line 649 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = (GtkAlignment*) gtk_alignment_new (0.5f, 0.5f, (gfloat) 1, (gfloat) 1); +#line 649 "/home/jens/Source/shotwell/src/Properties.vala" + g_object_ref_sink (_tmp6_); +#line 649 "/home/jens/Source/shotwell/src/Properties.vala" + alignment = _tmp6_; +#line 650 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = self->priv->properties; +#line 650 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (alignment, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 651 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (alignment, gtk_container_get_type (), GtkContainer), (guint) 3); +#line 652 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 652 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_box_get_type (), GtkBox), gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (alignment, gtk_widget_get_type (), GtkWidget)); +#line 632 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (alignment); +#line 632 "/home/jens/Source/shotwell/src/Properties.vala" + return self; +#line 3990 "Properties.c" +} + + +ExtendedPropertiesWindow* extended_properties_window_new (GtkWindow* owner) { +#line 632 "/home/jens/Source/shotwell/src/Properties.vala" + return extended_properties_window_construct (TYPE_EXTENDED_PROPERTIES_WINDOW, owner); +#line 3997 "Properties.c" +} + + +static gboolean extended_properties_window_real_button_press_event (GtkWidget* base, GdkEventButton* event) { + ExtendedPropertiesWindow * self; + gboolean result = FALSE; + GdkEventButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GdkEventButton* _tmp5_ = NULL; + guint _tmp6_ = 0U; + GdkEventButton* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + GdkEventButton* _tmp9_ = NULL; + gdouble _tmp10_ = 0.0; + GdkEventButton* _tmp11_ = NULL; + guint32 _tmp12_ = 0U; +#line 655 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindow); +#line 655 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 657 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = event; +#line 657 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = _tmp0_->button; +#line 657 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp1_ != ((guint) 1)) { +#line 4024 "Properties.c" + gboolean _tmp2_ = FALSE; +#line 658 "/home/jens/Source/shotwell/src/Properties.vala" + if (GTK_WIDGET_CLASS (extended_properties_window_parent_class)->button_press_event != NULL) { +#line 4028 "Properties.c" + GdkEventButton* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 658 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = event; +#line 658 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = GTK_WIDGET_CLASS (extended_properties_window_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), gtk_widget_get_type (), GtkWidget), _tmp3_); +#line 658 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = _tmp4_; +#line 4037 "Properties.c" + } else { +#line 658 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = TRUE; +#line 4041 "Properties.c" + } +#line 658 "/home/jens/Source/shotwell/src/Properties.vala" + result = _tmp2_; +#line 658 "/home/jens/Source/shotwell/src/Properties.vala" + return result; +#line 4047 "Properties.c" + } +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = event; +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = _tmp5_->button; +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = event; +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = _tmp7_->x_root; +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = event; +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = _tmp9_->y_root; +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = event; +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = _tmp11_->time; +#line 660 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_window_begin_move_drag (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), (gint) _tmp6_, (gint) _tmp8_, (gint) _tmp10_, _tmp12_); +#line 662 "/home/jens/Source/shotwell/src/Properties.vala" + result = TRUE; +#line 662 "/home/jens/Source/shotwell/src/Properties.vala" + return result; +#line 4071 "Properties.c" +} + + +static gboolean extended_properties_window_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + ExtendedPropertiesWindow * self; + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; + GdkEventKey* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 665 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindow); +#line 665 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 667 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = event; +#line 667 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = _tmp0_->keyval; +#line 667 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 667 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp2_, "Escape") == 0) { +#line 668 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 669 "/home/jens/Source/shotwell/src/Properties.vala" + result = TRUE; +#line 669 "/home/jens/Source/shotwell/src/Properties.vala" + return result; +#line 4104 "Properties.c" + } +#line 672 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = app_window_get_instance (); +#line 672 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = _tmp3_; +#line 672 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = event; +#line 672 "/home/jens/Source/shotwell/src/Properties.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), "key-press-event", _tmp5_, &_tmp6_); +#line 672 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = _tmp6_; +#line 672 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (_tmp4_); +#line 672 "/home/jens/Source/shotwell/src/Properties.vala" + result = _tmp7_; +#line 672 "/home/jens/Source/shotwell/src/Properties.vala" + return result; +#line 4122 "Properties.c" +} + + +void extended_properties_window_update_properties (ExtendedPropertiesWindow* self, Page* page) { + ExtendedPropertiesWindowExtendedProperties* _tmp0_ = NULL; + Page* _tmp1_ = NULL; +#line 675 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_EXTENDED_PROPERTIES_WINDOW (self)); +#line 675 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PAGE (page)); +#line 676 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = self->priv->properties; +#line 676 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = page; +#line 676 "/home/jens/Source/shotwell/src/Properties.vala" + properties_update_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PROPERTIES, Properties), _tmp1_); +#line 4139 "Properties.c" +} + + +static void extended_properties_window_real_show_all (GtkWidget* base) { + ExtendedPropertiesWindow * self; + ExtendedPropertiesWindowExtendedProperties* _tmp0_ = NULL; +#line 679 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindow); +#line 680 "/home/jens/Source/shotwell/src/Properties.vala" + GTK_WIDGET_CLASS (extended_properties_window_parent_class)->show_all (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), gtk_widget_get_type (), GtkWidget)); +#line 681 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = self->priv->properties; +#line 681 "/home/jens/Source/shotwell/src/Properties.vala" + properties_unselect_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PROPERTIES, Properties)); +#line 682 "/home/jens/Source/shotwell/src/Properties.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 4156 "Properties.c" +} + + +static gpointer _dimensions_dup0 (gpointer self) { +#line 495 "/home/jens/Source/shotwell/src/Properties.vala" + return self ? dimensions_dup (self) : NULL; +#line 4163 "Properties.c" +} + + +static void extended_properties_window_extended_properties_real_clear_properties (Properties* base) { + ExtendedPropertiesWindowExtendedProperties * self; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + Dimensions* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 488 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES, ExtendedPropertiesWindowExtendedProperties); +#line 489 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_CLASS (extended_properties_window_extended_properties_parent_class)->clear_properties (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties)); +#line 491 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = g_strdup (""); +#line 491 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->file_path); +#line 491 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->file_path = _tmp0_; +#line 492 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = g_strdup (""); +#line 492 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->development_path); +#line 492 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->development_path = _tmp1_; +#line 493 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->is_raw = FALSE; +#line 494 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->filesize = (guint64) 0; +#line 495 "/home/jens/Source/shotwell/src/Properties.vala" + dimensions_init (&_tmp2_, 0, 0); +#line 495 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = _dimensions_dup0 (&_tmp2_); +#line 495 "/home/jens/Source/shotwell/src/Properties.vala" + _dimensions_free0 (self->priv->original_dim); +#line 495 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->original_dim = _tmp3_; +#line 496 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = g_strdup (""); +#line 496 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->camera_make); +#line 496 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->camera_make = _tmp4_; +#line 497 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = g_strdup (""); +#line 497 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->camera_model); +#line 497 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->camera_model = _tmp5_; +#line 498 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = g_strdup (""); +#line 498 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->flash); +#line 498 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->flash = _tmp6_; +#line 499 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = g_strdup (""); +#line 499 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->focal_length); +#line 499 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->focal_length = _tmp7_; +#line 500 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_lat = (gdouble) -1; +#line 501 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = g_strdup (""); +#line 501 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->gps_lat_ref); +#line 501 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_lat_ref = _tmp8_; +#line 502 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_long = (gdouble) -1; +#line 503 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = g_strdup (""); +#line 503 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->gps_long_ref); +#line 503 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_long_ref = _tmp9_; +#line 504 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = g_strdup (""); +#line 504 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->artist); +#line 504 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->artist = _tmp10_; +#line 505 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = g_strdup (""); +#line 505 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->copyright); +#line 505 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->copyright = _tmp11_; +#line 506 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = g_strdup (""); +#line 506 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->software); +#line 506 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->software = _tmp12_; +#line 507 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = g_strdup (""); +#line 507 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_bias); +#line 507 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure_bias = _tmp13_; +#line 508 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = g_strdup (""); +#line 508 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_date); +#line 508 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure_date = _tmp14_; +#line 509 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = g_strdup (""); +#line 509 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_time); +#line 509 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure_time = _tmp15_; +#line 510 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = g_strdup (""); +#line 510 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->comment); +#line 510 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->comment = _tmp16_; +#line 4296 "Properties.c" +} + + +static void extended_properties_window_extended_properties_real_get_single_properties (Properties* base, DataView* view) { + ExtendedPropertiesWindowExtendedProperties * self; + DataView* _tmp0_ = NULL; + DataSource* source = NULL; + DataView* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES, ExtendedPropertiesWindowExtendedProperties); +#line 513 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 514 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = view; +#line 514 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_CLASS (extended_properties_window_extended_properties_parent_class)->get_single_properties (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp0_); +#line 516 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = view; +#line 516 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = data_view_get_source (_tmp1_); +#line 516 "/home/jens/Source/shotwell/src/Properties.vala" + source = _tmp2_; +#line 517 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = source; +#line 517 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp3_ == NULL) { +#line 518 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (source); +#line 518 "/home/jens/Source/shotwell/src/Properties.vala" + return; +#line 4331 "Properties.c" + } +#line 520 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = source; +#line 520 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, TYPE_MEDIA_SOURCE)) { +#line 4337 "Properties.c" + MediaSource* media = NULL; + DataSource* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; + MediaSource* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + guint64 _tmp16_ = 0ULL; + Photo* photo = NULL; + MediaSource* _tmp17_ = NULL; + Photo* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp26_ = NULL; + PhotoMetadata* _tmp27_ = NULL; + MetadataDateTime* _tmp28_ = NULL; + MetadataDateTime* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + Photo* _tmp36_ = NULL; + PhotoFileFormat _tmp37_ = 0; + PhotoMetadata* _tmp38_ = NULL; + Dimensions* _tmp39_ = NULL; + PhotoMetadata* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + PhotoMetadata* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + PhotoMetadata* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + PhotoMetadata* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + PhotoMetadata* _tmp48_ = NULL; + gdouble _tmp49_ = 0.0; + gchar* _tmp50_ = NULL; + gdouble _tmp51_ = 0.0; + gchar* _tmp52_ = NULL; + gdouble _tmp53_ = 0.0; + PhotoMetadata* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + PhotoMetadata* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + PhotoMetadata* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + PhotoMetadata* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + time_t exposure_time_obj = 0; + PhotoMetadata* _tmp62_ = NULL; + MetadataDateTime* _tmp63_ = NULL; + MetadataDateTime* _tmp64_ = NULL; + time_t _tmp65_ = 0; + time_t _tmp66_ = 0; + time_t _tmp67_ = 0; + struct tm _tmp68_ = {0}; + gchar* _tmp69_ = NULL; + time_t _tmp70_ = 0; + struct tm _tmp71_ = {0}; + gchar* _tmp72_ = NULL; + MediaSource* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = source; +#line 521 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 521 "/home/jens/Source/shotwell/src/Properties.vala" + media = _tmp6_; +#line 522 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = media; +#line 522 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = media_source_get_master_file (_tmp7_); +#line 522 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = _tmp8_; +#line 522 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = g_file_get_path (_tmp9_); +#line 522 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->file_path); +#line 522 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->file_path = _tmp10_; +#line 522 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (_tmp9_); +#line 523 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = media; +#line 523 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = media_source_get_file (_tmp11_); +#line 523 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = _tmp12_; +#line 523 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 523 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->development_path); +#line 523 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->development_path = _tmp14_; +#line 523 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (_tmp13_); +#line 524 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = media; +#line 524 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = media_source_get_master_filesize (_tmp15_); +#line 524 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->filesize = _tmp16_; +#line 529 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp17_ = media; +#line 529 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp18_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, TYPE_PHOTO) ? ((Photo*) _tmp17_) : NULL); +#line 529 "/home/jens/Source/shotwell/src/Properties.vala" + photo = _tmp18_; +#line 530 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = photo; +#line 530 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp19_ == NULL) { +#line 531 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (photo); +#line 531 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (media); +#line 531 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (source); +#line 531 "/home/jens/Source/shotwell/src/Properties.vala" + return; +#line 4459 "Properties.c" + } + { + PhotoMetadata* _tmp20_ = NULL; + Photo* _tmp21_ = NULL; + PhotoMetadata* _tmp22_ = NULL; + PhotoMetadata* _tmp23_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp21_ = photo; +#line 540 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp22_ = photo_get_master_metadata (_tmp21_, &_inner_error_); +#line 540 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = _tmp22_; +#line 540 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4474 "Properties.c" + goto __catch422_g_error; + } +#line 540 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp23_ = _tmp20_; +#line 540 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (metadata); +#line 540 "/home/jens/Source/shotwell/src/Properties.vala" + metadata = _tmp23_; +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (_tmp20_); +#line 4487 "Properties.c" + } + goto __finally422; + __catch422_g_error: + { + GError* e = NULL; + Photo* _tmp24_ = NULL; + PhotoMetadata* _tmp25_ = NULL; +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + e = _inner_error_; +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + _inner_error_ = NULL; +#line 542 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp24_ = photo; +#line 542 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp25_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 542 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (metadata); +#line 542 "/home/jens/Source/shotwell/src/Properties.vala" + metadata = _tmp25_; +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + _g_error_free0 (e); +#line 4509 "Properties.c" + } + __finally422: +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (metadata); +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (photo); +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (media); +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (source); +#line 535 "/home/jens/Source/shotwell/src/Properties.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 535 "/home/jens/Source/shotwell/src/Properties.vala" + g_clear_error (&_inner_error_); +#line 535 "/home/jens/Source/shotwell/src/Properties.vala" + return; +#line 4528 "Properties.c" + } +#line 545 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp26_ = metadata; +#line 545 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp26_ == NULL) { +#line 546 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (metadata); +#line 546 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (photo); +#line 546 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (media); +#line 546 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (source); +#line 546 "/home/jens/Source/shotwell/src/Properties.vala" + return; +#line 4544 "Properties.c" + } +#line 553 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp27_ = metadata; +#line 553 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp28_ = photo_metadata_get_exposure_date_time (_tmp27_); +#line 553 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp29_ = _tmp28_; +#line 553 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp30_ = _tmp29_ == NULL; +#line 553 "/home/jens/Source/shotwell/src/Properties.vala" + _metadata_date_time_unref0 (_tmp29_); +#line 553 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp30_) { +#line 4558 "Properties.c" + PhotoMetadata* _tmp31_ = NULL; + Photo* _tmp32_ = NULL; + time_t _tmp33_ = 0; + MetadataDateTime* _tmp34_ = NULL; + MetadataDateTime* _tmp35_ = NULL; +#line 554 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp31_ = metadata; +#line 554 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp32_ = photo; +#line 554 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp33_ = media_source_get_timestamp (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 554 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp34_ = metadata_date_time_new (_tmp33_); +#line 554 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp35_ = _tmp34_; +#line 554 "/home/jens/Source/shotwell/src/Properties.vala" + photo_metadata_set_exposure_date_time (_tmp31_, _tmp35_, PHOTO_METADATA_SET_OPTION_ALL_DOMAINS); +#line 554 "/home/jens/Source/shotwell/src/Properties.vala" + _metadata_date_time_unref0 (_tmp35_); +#line 4578 "Properties.c" + } +#line 556 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp36_ = photo; +#line 556 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp37_ = photo_get_master_file_format (_tmp36_); +#line 556 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->is_raw = _tmp37_ == PHOTO_FILE_FORMAT_RAW; +#line 557 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp38_ = metadata; +#line 557 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp39_ = photo_metadata_get_pixel_dimensions (_tmp38_); +#line 557 "/home/jens/Source/shotwell/src/Properties.vala" + _dimensions_free0 (self->priv->original_dim); +#line 557 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->original_dim = _tmp39_; +#line 558 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp40_ = metadata; +#line 558 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp41_ = photo_metadata_get_camera_make (_tmp40_); +#line 558 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->camera_make); +#line 558 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->camera_make = _tmp41_; +#line 559 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp42_ = metadata; +#line 559 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp43_ = photo_metadata_get_camera_model (_tmp42_); +#line 559 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->camera_model); +#line 559 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->camera_model = _tmp43_; +#line 560 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp44_ = metadata; +#line 560 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp45_ = photo_metadata_get_flash_string (_tmp44_); +#line 560 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->flash); +#line 560 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->flash = _tmp45_; +#line 561 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp46_ = metadata; +#line 561 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp47_ = photo_metadata_get_focal_length_string (_tmp46_); +#line 561 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->focal_length); +#line 561 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->focal_length = _tmp47_; +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp48_ = metadata; +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + photo_metadata_get_gps (_tmp48_, &_tmp49_, &_tmp50_, &_tmp51_, &_tmp52_, &_tmp53_); +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_long = _tmp49_; +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->gps_long_ref); +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_long_ref = _tmp50_; +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_lat = _tmp51_; +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->gps_lat_ref); +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_lat_ref = _tmp52_; +#line 562 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->gps_alt = _tmp53_; +#line 563 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp54_ = metadata; +#line 563 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp55_ = photo_metadata_get_artist (_tmp54_); +#line 563 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->artist); +#line 563 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->artist = _tmp55_; +#line 564 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp56_ = metadata; +#line 564 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp57_ = photo_metadata_get_copyright (_tmp56_); +#line 564 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->copyright); +#line 564 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->copyright = _tmp57_; +#line 565 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp58_ = metadata; +#line 565 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp59_ = photo_metadata_get_software (_tmp58_); +#line 565 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->software); +#line 565 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->software = _tmp59_; +#line 566 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp60_ = metadata; +#line 566 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp61_ = photo_metadata_get_exposure_bias (_tmp60_); +#line 566 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_bias); +#line 566 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure_bias = _tmp61_; +#line 567 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp62_ = metadata; +#line 567 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp63_ = photo_metadata_get_exposure_date_time (_tmp62_); +#line 567 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp64_ = _tmp63_; +#line 567 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp65_ = metadata_date_time_get_timestamp (_tmp64_); +#line 567 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp66_ = _tmp65_; +#line 567 "/home/jens/Source/shotwell/src/Properties.vala" + _metadata_date_time_unref0 (_tmp64_); +#line 567 "/home/jens/Source/shotwell/src/Properties.vala" + exposure_time_obj = _tmp66_; +#line 568 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp67_ = exposure_time_obj; +#line 568 "/home/jens/Source/shotwell/src/Properties.vala" + g_time_local (_tmp67_, &_tmp68_); +#line 568 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp69_ = properties_get_prettyprint_date (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), &_tmp68_); +#line 568 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_date); +#line 568 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure_date = _tmp69_; +#line 569 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp70_ = exposure_time_obj; +#line 569 "/home/jens/Source/shotwell/src/Properties.vala" + g_time_local (_tmp70_, &_tmp71_); +#line 569 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp72_ = properties_get_prettyprint_time_with_seconds (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), &_tmp71_); +#line 569 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_time); +#line 569 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->exposure_time = _tmp72_; +#line 570 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp73_ = media; +#line 570 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp74_ = media_source_get_comment (_tmp73_); +#line 570 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->comment); +#line 570 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->comment = _tmp74_; +#line 520 "/home/jens/Source/shotwell/src/Properties.vala" + _media_metadata_unref0 (metadata); +#line 520 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (photo); +#line 520 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (media); +#line 4724 "Properties.c" + } else { + DataSource* _tmp75_ = NULL; +#line 571 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp75_ = source; +#line 571 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp75_, TYPE_EVENT_SOURCE)) { +#line 4731 "Properties.c" + Event* event = NULL; + DataSource* _tmp76_ = NULL; + Event* _tmp77_ = NULL; + Event* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp76_ = source; +#line 572 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp77_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, TYPE_EVENT, Event)); +#line 572 "/home/jens/Source/shotwell/src/Properties.vala" + event = _tmp77_; +#line 573 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp78_ = event; +#line 573 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp79_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, TYPE_EVENT_SOURCE, EventSource)); +#line 573 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->comment); +#line 573 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->comment = _tmp79_; +#line 571 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (event); +#line 4753 "Properties.c" + } + } +#line 513 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (source); +#line 4758 "Properties.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 4771 "Properties.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 4802 "Properties.c" + goto __catch423_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 4811 "Properties.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 4827 "Properties.c" + goto __catch423_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 4838 "Properties.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 4852 "Properties.c" + } + goto __finally423; + __catch423_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 4866 "Properties.c" + } + __finally423: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 4877 "Properties.c" + } +} + + +static void extended_properties_window_extended_properties_real_internal_update_properties (Properties* base, Page* page) { + ExtendedPropertiesWindowExtendedProperties * self; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + gboolean _tmp113_ = FALSE; + const gchar* _tmp114_ = NULL; + gboolean has_comment = FALSE; + const gchar* _tmp116_ = NULL; + gboolean _tmp117_ = FALSE; + const gchar* _tmp119_ = NULL; + gboolean _tmp120_ = FALSE; +#line 577 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES, ExtendedPropertiesWindowExtendedProperties); +#line 577 "/home/jens/Source/shotwell/src/Properties.vala" + g_return_if_fail (IS_PAGE (page)); +#line 578 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp0_ = page; +#line 578 "/home/jens/Source/shotwell/src/Properties.vala" + PROPERTIES_CLASS (extended_properties_window_extended_properties_parent_class)->internal_update_properties (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp0_); +#line 580 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp1_ = page; +#line 580 "/home/jens/Source/shotwell/src/Properties.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_EVENTS_DIRECTORY_PAGE)) { +#line 4905 "Properties.c" + } else { + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + guint64 _tmp11_ = 0ULL; + const gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + Dimensions* _tmp21_ = NULL; + const gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + const gchar* _tmp33_ = NULL; + const gchar* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + const gchar* _tmp39_ = NULL; + const gchar* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + const gchar* _tmp45_ = NULL; + const gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; + const gchar* _tmp51_ = NULL; + const gchar* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; + const gchar* _tmp57_ = NULL; + const gchar* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; + const gchar* _tmp63_ = NULL; + const gchar* _tmp66_ = NULL; + const gchar* _tmp67_ = NULL; + gboolean _tmp68_ = FALSE; + const gchar* _tmp69_ = NULL; + const gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + gboolean _tmp74_ = FALSE; + gboolean _tmp75_ = FALSE; + gdouble _tmp76_ = 0.0; + const gchar* _tmp83_ = NULL; + gchar* _tmp84_ = NULL; + gboolean _tmp85_ = FALSE; + gboolean _tmp86_ = FALSE; + gdouble _tmp87_ = 0.0; + const gchar* _tmp94_ = NULL; + const gchar* _tmp95_ = NULL; + gboolean _tmp96_ = FALSE; + const gchar* _tmp97_ = NULL; + const gchar* _tmp100_ = NULL; + const gchar* _tmp101_ = NULL; + gboolean _tmp102_ = FALSE; + const gchar* _tmp103_ = NULL; + const gchar* _tmp106_ = NULL; + const gchar* _tmp107_ = NULL; + gboolean _tmp108_ = FALSE; + const gchar* _tmp109_ = NULL; + const gchar* _tmp112_ = NULL; +#line 583 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp4_ = self->priv->file_path; +#line 583 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp4_, "") != 0) { +#line 4973 "Properties.c" + const gchar* _tmp5_ = NULL; +#line 583 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp5_ = self->priv->file_path; +#line 583 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = _tmp5_ != NULL; +#line 4979 "Properties.c" + } else { +#line 583 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp3_ = FALSE; +#line 4983 "Properties.c" + } +#line 583 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp3_) { +#line 4987 "Properties.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 584 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp6_ = self->priv->file_path; +#line 584 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp7_ = string_replace (_tmp6_, "&", "&"); +#line 584 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp2_); +#line 584 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = _tmp7_; +#line 4998 "Properties.c" + } else { + gchar* _tmp8_ = NULL; +#line 584 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp8_ = g_strdup (EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE); +#line 584 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp2_); +#line 584 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp2_ = _tmp8_; +#line 5007 "Properties.c" + } +#line 583 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp9_ = _ ("Location:"); +#line 583 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp9_, _tmp2_, FALSE); +#line 586 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp11_ = self->priv->filesize; +#line 586 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp11_ > ((guint64) 0)) { +#line 5017 "Properties.c" + guint64 _tmp12_ = 0ULL; + gchar* _tmp13_ = NULL; +#line 587 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp12_ = self->priv->filesize; +#line 587 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp13_ = g_format_size_full ((guint64) ((gint64) _tmp12_), G_FORMAT_SIZE_DEFAULT); +#line 587 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp10_); +#line 587 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = _tmp13_; +#line 5028 "Properties.c" + } else { + gchar* _tmp14_ = NULL; +#line 587 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp14_ = g_strdup (EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE); +#line 587 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp10_); +#line 587 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp10_ = _tmp14_; +#line 5037 "Properties.c" + } +#line 586 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp15_ = _ ("File size:"); +#line 586 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp15_, _tmp10_, FALSE); +#line 589 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp16_ = self->priv->is_raw; +#line 589 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp16_) { +#line 5047 "Properties.c" + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 590 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp17_ = _ ("Current Development:"); +#line 590 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp18_ = self->priv->development_path; +#line 590 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp17_, _tmp18_, FALSE); +#line 5056 "Properties.c" + } +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp21_ = self->priv->original_dim; +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp21_ != NULL) { +#line 5062 "Properties.c" + Dimensions* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp22_ = self->priv->original_dim; +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp23_ = dimensions_has_area (_tmp22_); +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = _tmp23_; +#line 5071 "Properties.c" + } else { +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp20_ = FALSE; +#line 5075 "Properties.c" + } +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp20_) { +#line 5079 "Properties.c" + Dimensions* _tmp24_ = NULL; + gint _tmp25_ = 0; + Dimensions* _tmp26_ = NULL; + gint _tmp27_ = 0; + gchar* _tmp28_ = NULL; +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp24_ = self->priv->original_dim; +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp25_ = (*_tmp24_).width; +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp26_ = self->priv->original_dim; +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp27_ = (*_tmp26_).height; +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp28_ = g_strdup_printf ("%d × %d", _tmp25_, _tmp27_); +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp19_); +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = _tmp28_; +#line 5099 "Properties.c" + } else { + gchar* _tmp29_ = NULL; +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp29_ = g_strdup (EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE); +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp19_); +#line 593 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp19_ = _tmp29_; +#line 5108 "Properties.c" + } +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp30_ = _ ("Original dimensions:"); +#line 592 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp30_, _tmp19_, FALSE); +#line 595 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp33_ = self->priv->camera_make; +#line 595 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp33_, "") != 0) { +#line 5118 "Properties.c" + const gchar* _tmp34_ = NULL; +#line 595 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp34_ = self->priv->camera_make; +#line 595 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp32_ = _tmp34_ != NULL; +#line 5124 "Properties.c" + } else { +#line 595 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp32_ = FALSE; +#line 5128 "Properties.c" + } +#line 595 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp32_) { +#line 5132 "Properties.c" + const gchar* _tmp35_ = NULL; +#line 596 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp35_ = self->priv->camera_make; +#line 596 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp31_ = _tmp35_; +#line 5138 "Properties.c" + } else { +#line 596 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp31_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5142 "Properties.c" + } +#line 595 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp36_ = _ ("Camera make:"); +#line 595 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp36_, _tmp31_, FALSE); +#line 598 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp39_ = self->priv->camera_model; +#line 598 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp39_, "") != 0) { +#line 5152 "Properties.c" + const gchar* _tmp40_ = NULL; +#line 598 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp40_ = self->priv->camera_model; +#line 598 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp38_ = _tmp40_ != NULL; +#line 5158 "Properties.c" + } else { +#line 598 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp38_ = FALSE; +#line 5162 "Properties.c" + } +#line 598 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp38_) { +#line 5166 "Properties.c" + const gchar* _tmp41_ = NULL; +#line 599 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp41_ = self->priv->camera_model; +#line 599 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp37_ = _tmp41_; +#line 5172 "Properties.c" + } else { +#line 599 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp37_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5176 "Properties.c" + } +#line 598 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp42_ = _ ("Camera model:"); +#line 598 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp42_, _tmp37_, FALSE); +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp45_ = self->priv->flash; +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp45_, "") != 0) { +#line 5186 "Properties.c" + const gchar* _tmp46_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp46_ = self->priv->flash; +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp44_ = _tmp46_ != NULL; +#line 5192 "Properties.c" + } else { +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp44_ = FALSE; +#line 5196 "Properties.c" + } +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp44_) { +#line 5200 "Properties.c" + const gchar* _tmp47_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp47_ = self->priv->flash; +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp43_ = _tmp47_; +#line 5206 "Properties.c" + } else { +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp43_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5210 "Properties.c" + } +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp48_ = _ ("Flash:"); +#line 601 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp48_, _tmp43_, FALSE); +#line 603 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp51_ = self->priv->focal_length; +#line 603 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp51_, "") != 0) { +#line 5220 "Properties.c" + const gchar* _tmp52_ = NULL; +#line 603 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp52_ = self->priv->focal_length; +#line 603 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp50_ = _tmp52_ != NULL; +#line 5226 "Properties.c" + } else { +#line 603 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp50_ = FALSE; +#line 5230 "Properties.c" + } +#line 603 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp50_) { +#line 5234 "Properties.c" + const gchar* _tmp53_ = NULL; +#line 604 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp53_ = self->priv->focal_length; +#line 604 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp49_ = _tmp53_; +#line 5240 "Properties.c" + } else { +#line 604 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp49_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5244 "Properties.c" + } +#line 603 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp54_ = _ ("Focal length:"); +#line 603 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp54_, _tmp49_, FALSE); +#line 606 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp57_ = self->priv->exposure_date; +#line 606 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp57_, "") != 0) { +#line 5254 "Properties.c" + const gchar* _tmp58_ = NULL; +#line 606 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp58_ = self->priv->exposure_date; +#line 606 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp56_ = _tmp58_ != NULL; +#line 5260 "Properties.c" + } else { +#line 606 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp56_ = FALSE; +#line 5264 "Properties.c" + } +#line 606 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp56_) { +#line 5268 "Properties.c" + const gchar* _tmp59_ = NULL; +#line 607 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp59_ = self->priv->exposure_date; +#line 607 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp55_ = _tmp59_; +#line 5274 "Properties.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp55_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5278 "Properties.c" + } +#line 606 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp60_ = _ ("Exposure date:"); +#line 606 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp60_, _tmp55_, FALSE); +#line 609 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp63_ = self->priv->exposure_time; +#line 609 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp63_, "") != 0) { +#line 5288 "Properties.c" + const gchar* _tmp64_ = NULL; +#line 609 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp64_ = self->priv->exposure_time; +#line 609 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp62_ = _tmp64_ != NULL; +#line 5294 "Properties.c" + } else { +#line 609 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp62_ = FALSE; +#line 5298 "Properties.c" + } +#line 609 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp62_) { +#line 5302 "Properties.c" + const gchar* _tmp65_ = NULL; +#line 610 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp65_ = self->priv->exposure_time; +#line 610 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp61_ = _tmp65_; +#line 5308 "Properties.c" + } else { +#line 610 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp61_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5312 "Properties.c" + } +#line 609 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp66_ = _ ("Exposure time:"); +#line 609 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp66_, _tmp61_, FALSE); +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp69_ = self->priv->exposure_bias; +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp69_, "") != 0) { +#line 5322 "Properties.c" + const gchar* _tmp70_ = NULL; +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp70_ = self->priv->exposure_bias; +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp68_ = _tmp70_ != NULL; +#line 5328 "Properties.c" + } else { +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp68_ = FALSE; +#line 5332 "Properties.c" + } +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp68_) { +#line 5336 "Properties.c" + const gchar* _tmp71_ = NULL; +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp71_ = self->priv->exposure_bias; +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp67_ = _tmp71_; +#line 5342 "Properties.c" + } else { +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp67_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5346 "Properties.c" + } +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp72_ = _ ("Exposure bias:"); +#line 612 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp72_, _tmp67_, FALSE); +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp76_ = self->priv->gps_lat; +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp76_ != ((gdouble) -1)) { +#line 5356 "Properties.c" + const gchar* _tmp77_ = NULL; +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp77_ = self->priv->gps_lat_ref; +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp75_ = g_strcmp0 (_tmp77_, "") != 0; +#line 5362 "Properties.c" + } else { +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp75_ = FALSE; +#line 5366 "Properties.c" + } +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp75_) { +#line 5370 "Properties.c" + const gchar* _tmp78_ = NULL; +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp78_ = self->priv->gps_lat_ref; +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp74_ = _tmp78_ != NULL; +#line 5376 "Properties.c" + } else { +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp74_ = FALSE; +#line 5380 "Properties.c" + } +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp74_) { +#line 5384 "Properties.c" + gdouble _tmp79_ = 0.0; + const gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp79_ = self->priv->gps_lat; +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp80_ = self->priv->gps_lat_ref; +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp81_ = g_strdup_printf ("%f °%s", _tmp79_, _tmp80_); +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp73_); +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp73_ = _tmp81_; +#line 5398 "Properties.c" + } else { + gchar* _tmp82_ = NULL; +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp82_ = g_strdup (EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE); +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp73_); +#line 615 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp73_ = _tmp82_; +#line 5407 "Properties.c" + } +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp83_ = _ ("GPS latitude:"); +#line 614 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp83_, _tmp73_, FALSE); +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp87_ = self->priv->gps_long; +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp87_ != ((gdouble) -1)) { +#line 5417 "Properties.c" + const gchar* _tmp88_ = NULL; +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp88_ = self->priv->gps_long_ref; +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp86_ = g_strcmp0 (_tmp88_, "") != 0; +#line 5423 "Properties.c" + } else { +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp86_ = FALSE; +#line 5427 "Properties.c" + } +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp86_) { +#line 5431 "Properties.c" + const gchar* _tmp89_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp89_ = self->priv->gps_long_ref; +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp85_ = _tmp89_ != NULL; +#line 5437 "Properties.c" + } else { +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp85_ = FALSE; +#line 5441 "Properties.c" + } +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp85_) { +#line 5445 "Properties.c" + gdouble _tmp90_ = 0.0; + const gchar* _tmp91_ = NULL; + gchar* _tmp92_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp90_ = self->priv->gps_long; +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp91_ = self->priv->gps_long_ref; +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp92_ = g_strdup_printf ("%f °%s", _tmp90_, _tmp91_); +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp84_); +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp84_ = _tmp92_; +#line 5459 "Properties.c" + } else { + gchar* _tmp93_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp93_ = g_strdup (EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE); +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp84_); +#line 618 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp84_ = _tmp93_; +#line 5468 "Properties.c" + } +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp94_ = _ ("GPS longitude:"); +#line 617 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp94_, _tmp84_, FALSE); +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp97_ = self->priv->artist; +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp97_, "") != 0) { +#line 5478 "Properties.c" + const gchar* _tmp98_ = NULL; +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp98_ = self->priv->artist; +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp96_ = _tmp98_ != NULL; +#line 5484 "Properties.c" + } else { +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp96_ = FALSE; +#line 5488 "Properties.c" + } +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp96_) { +#line 5492 "Properties.c" + const gchar* _tmp99_ = NULL; +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp99_ = self->priv->artist; +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp95_ = _tmp99_; +#line 5498 "Properties.c" + } else { +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp95_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5502 "Properties.c" + } +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp100_ = _ ("Artist:"); +#line 620 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp100_, _tmp95_, FALSE); +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp103_ = self->priv->copyright; +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp103_, "") != 0) { +#line 5512 "Properties.c" + const gchar* _tmp104_ = NULL; +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp104_ = self->priv->copyright; +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp102_ = _tmp104_ != NULL; +#line 5518 "Properties.c" + } else { +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp102_ = FALSE; +#line 5522 "Properties.c" + } +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp102_) { +#line 5526 "Properties.c" + const gchar* _tmp105_ = NULL; +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp105_ = self->priv->copyright; +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp101_ = _tmp105_; +#line 5532 "Properties.c" + } else { +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp101_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5536 "Properties.c" + } +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp106_ = _ ("Copyright:"); +#line 622 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp106_, _tmp101_, FALSE); +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp109_ = self->priv->software; +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp109_, "") != 0) { +#line 5546 "Properties.c" + const gchar* _tmp110_ = NULL; +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp110_ = self->priv->software; +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp108_ = _tmp110_ != NULL; +#line 5552 "Properties.c" + } else { +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp108_ = FALSE; +#line 5556 "Properties.c" + } +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp108_) { +#line 5560 "Properties.c" + const gchar* _tmp111_ = NULL; +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp111_ = self->priv->software; +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp107_ = _tmp111_; +#line 5566 "Properties.c" + } else { +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp107_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5570 "Properties.c" + } +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp112_ = _ ("Software:"); +#line 624 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp112_, _tmp107_, FALSE); +#line 580 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp84_); +#line 580 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp73_); +#line 580 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp19_); +#line 580 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp10_); +#line 580 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (_tmp2_); +#line 5586 "Properties.c" + } +#line 627 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp114_ = self->priv->comment; +#line 627 "/home/jens/Source/shotwell/src/Properties.vala" + if (g_strcmp0 (_tmp114_, "") != 0) { +#line 5592 "Properties.c" + const gchar* _tmp115_ = NULL; +#line 627 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp115_ = self->priv->comment; +#line 627 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp113_ = _tmp115_ != NULL; +#line 5598 "Properties.c" + } else { +#line 627 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp113_ = FALSE; +#line 5602 "Properties.c" + } +#line 627 "/home/jens/Source/shotwell/src/Properties.vala" + has_comment = _tmp113_; +#line 628 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp117_ = has_comment; +#line 628 "/home/jens/Source/shotwell/src/Properties.vala" + if (_tmp117_) { +#line 5610 "Properties.c" + const gchar* _tmp118_ = NULL; +#line 628 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp118_ = self->priv->comment; +#line 628 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp116_ = _tmp118_; +#line 5616 "Properties.c" + } else { +#line 628 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp116_ = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_NO_VALUE; +#line 5620 "Properties.c" + } +#line 628 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp119_ = _ ("Comment:"); +#line 628 "/home/jens/Source/shotwell/src/Properties.vala" + _tmp120_ = has_comment; +#line 628 "/home/jens/Source/shotwell/src/Properties.vala" + properties_add_line (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PROPERTIES, Properties), _tmp119_, _tmp116_, _tmp120_); +#line 5628 "Properties.c" +} + + +static ExtendedPropertiesWindowExtendedProperties* extended_properties_window_extended_properties_construct (GType object_type) { + ExtendedPropertiesWindowExtendedProperties * self = NULL; +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + self = (ExtendedPropertiesWindowExtendedProperties*) properties_construct (object_type); +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + return self; +#line 5638 "Properties.c" +} + + +static ExtendedPropertiesWindowExtendedProperties* extended_properties_window_extended_properties_new (void) { +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + return extended_properties_window_extended_properties_construct (EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES); +#line 5645 "Properties.c" +} + + +static void extended_properties_window_extended_properties_class_init (ExtendedPropertiesWindowExtendedPropertiesClass * klass) { +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + extended_properties_window_extended_properties_parent_class = g_type_class_peek_parent (klass); +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + g_type_class_add_private (klass, sizeof (ExtendedPropertiesWindowExtendedPropertiesPrivate)); +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->clear_properties = extended_properties_window_extended_properties_real_clear_properties; +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->get_single_properties = extended_properties_window_extended_properties_real_get_single_properties; +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + ((PropertiesClass *) klass)->internal_update_properties = extended_properties_window_extended_properties_real_internal_update_properties; +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + G_OBJECT_CLASS (klass)->finalize = extended_properties_window_extended_properties_finalize; +#line 5662 "Properties.c" +} + + +static void extended_properties_window_extended_properties_instance_init (ExtendedPropertiesWindowExtendedProperties * self) { +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv = EXTENDED_PROPERTIES_WINDOW_EXTENDED_PROPERTIES_GET_PRIVATE (self); +#line 5669 "Properties.c" +} + + +static void extended_properties_window_extended_properties_finalize (GObject* obj) { + ExtendedPropertiesWindowExtendedProperties * self; +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EXTENDED_PROPERTIES_WINDOW_TYPE_EXTENDED_PROPERTIES, ExtendedPropertiesWindowExtendedProperties); +#line 460 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->file_path); +#line 462 "/home/jens/Source/shotwell/src/Properties.vala" + _dimensions_free0 (self->priv->original_dim); +#line 463 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->camera_make); +#line 464 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->camera_model); +#line 465 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->flash); +#line 466 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->focal_length); +#line 468 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->gps_lat_ref); +#line 470 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->gps_long_ref); +#line 472 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->artist); +#line 473 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->copyright); +#line 474 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->software); +#line 475 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_bias); +#line 476 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_date); +#line 477 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->exposure_time); +#line 479 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->development_path); +#line 486 "/home/jens/Source/shotwell/src/Properties.vala" + _g_free0 (self->priv->comment); +#line 457 "/home/jens/Source/shotwell/src/Properties.vala" + G_OBJECT_CLASS (extended_properties_window_extended_properties_parent_class)->finalize (obj); +#line 5711 "Properties.c" +} + + +static GType extended_properties_window_extended_properties_get_type (void) { + static volatile gsize extended_properties_window_extended_properties_type_id__volatile = 0; + if (g_once_init_enter (&extended_properties_window_extended_properties_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExtendedPropertiesWindowExtendedPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) extended_properties_window_extended_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExtendedPropertiesWindowExtendedProperties), 0, (GInstanceInitFunc) extended_properties_window_extended_properties_instance_init, NULL }; + GType extended_properties_window_extended_properties_type_id; + extended_properties_window_extended_properties_type_id = g_type_register_static (TYPE_PROPERTIES, "ExtendedPropertiesWindowExtendedProperties", &g_define_type_info, 0); + g_once_init_leave (&extended_properties_window_extended_properties_type_id__volatile, extended_properties_window_extended_properties_type_id); + } + return extended_properties_window_extended_properties_type_id__volatile; +} + + +static void extended_properties_window_class_init (ExtendedPropertiesWindowClass * klass) { +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + extended_properties_window_parent_class = g_type_class_peek_parent (klass); +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + g_type_class_add_private (klass, sizeof (ExtendedPropertiesWindowPrivate)); +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + ((GtkWidgetClass *) klass)->button_press_event = extended_properties_window_real_button_press_event; +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + ((GtkWidgetClass *) klass)->key_press_event = extended_properties_window_real_key_press_event; +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + ((GtkWidgetClass *) klass)->show_all = extended_properties_window_real_show_all; +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + G_OBJECT_CLASS (klass)->finalize = extended_properties_window_finalize; +#line 5740 "Properties.c" +} + + +static void extended_properties_window_instance_init (ExtendedPropertiesWindow * self) { +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv = EXTENDED_PROPERTIES_WINDOW_GET_PRIVATE (self); +#line 455 "/home/jens/Source/shotwell/src/Properties.vala" + self->priv->properties = NULL; +#line 5749 "Properties.c" +} + + +static void extended_properties_window_finalize (GObject* obj) { + ExtendedPropertiesWindow * self; +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindow); +#line 455 "/home/jens/Source/shotwell/src/Properties.vala" + _g_object_unref0 (self->priv->properties); +#line 454 "/home/jens/Source/shotwell/src/Properties.vala" + G_OBJECT_CLASS (extended_properties_window_parent_class)->finalize (obj); +#line 5761 "Properties.c" +} + + +GType extended_properties_window_get_type (void) { + static volatile gsize extended_properties_window_type_id__volatile = 0; + if (g_once_init_enter (&extended_properties_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ExtendedPropertiesWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) extended_properties_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ExtendedPropertiesWindow), 0, (GInstanceInitFunc) extended_properties_window_instance_init, NULL }; + GType extended_properties_window_type_id; + extended_properties_window_type_id = g_type_register_static (gtk_dialog_get_type (), "ExtendedPropertiesWindow", &g_define_type_info, 0); + g_once_init_leave (&extended_properties_window_type_id__volatile, extended_properties_window_type_id); + } + return extended_properties_window_type_id__volatile; +} + + + diff --git a/src/Resources.c b/src/Resources.c new file mode 100644 index 0000000..e97ed4c --- /dev/null +++ b/src/Resources.c @@ -0,0 +1,4359 @@ +/* Resources.c generated by valac 0.32.1, the Vala compiler + * generated from Resources.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. + */ +/* defined by ./configure or Makefile and included by gcc -D*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RATING_FILTER (rating_filter_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _gtk_icon_set_unref0(var) ((var == NULL) ? NULL : (var = (gtk_icon_set_unref (var), NULL))) +#define _gtk_icon_info_free0(var) ((var == NULL) ? NULL : (var = (gtk_icon_info_free (var), NULL))) + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RATING_FILTER_NO_FILTER = 0, + RATING_FILTER_REJECTED_OR_HIGHER = 1, + RATING_FILTER_UNRATED_OR_HIGHER = 2, + RATING_FILTER_ONE_OR_HIGHER = 3, + RATING_FILTER_TWO_OR_HIGHER = 4, + RATING_FILTER_THREE_OR_HIGHER = 5, + RATING_FILTER_FOUR_OR_HIGHER = 6, + RATING_FILTER_FIVE_OR_HIGHER = 7, + RATING_FILTER_REJECTED_ONLY = 8, + RATING_FILTER_UNRATED_ONLY = 9, + RATING_FILTER_ONE_ONLY = 10, + RATING_FILTER_TWO_ONLY = 11, + RATING_FILTER_THREE_ONLY = 12, + RATING_FILTER_FOUR_ONLY = 13, + RATING_FILTER_FIVE_ONLY = 14 +} RatingFilter; + +typedef void (*ResourcesAddStockIconModify) (GdkPixbuf* pixbuf, void* user_data); + +extern gchar* resources_RATE_ONE_MENU; +extern gchar* resources_RATE_TWO_MENU; +extern gchar* resources_RATE_THREE_MENU; +extern gchar* resources_RATE_FOUR_MENU; +extern gchar* resources_RATE_FIVE_MENU; +extern gchar* resources_RATE_ONE_LABEL; +extern gchar* resources_RATE_TWO_LABEL; +extern gchar* resources_RATE_THREE_LABEL; +extern gchar* resources_RATE_FOUR_LABEL; +extern gchar* resources_RATE_FIVE_LABEL; +extern gchar* resources_DISPLAY_ONE_OR_HIGHER_TOOLTIP; +extern gchar* resources_DISPLAY_TWO_OR_HIGHER_TOOLTIP; +extern gchar* resources_DISPLAY_THREE_OR_HIGHER_TOOLTIP; +extern gchar* resources_DISPLAY_FOUR_OR_HIGHER_TOOLTIP; +extern gchar* resources_DISPLAY_FIVE_OR_HIGHER_TOOLTIP; +extern gchar* resources_RATE_ONE_PROGRESS; +extern gchar* resources_RATE_TWO_PROGRESS; +extern gchar* resources_RATE_THREE_PROGRESS; +extern gchar* resources_RATE_FOUR_PROGRESS; +extern gchar* resources_RATE_FIVE_PROGRESS; +extern gchar* resources_RATE_ONE_TOOLTIP; +extern gchar* resources_RATE_TWO_TOOLTIP; +extern gchar* resources_RATE_THREE_TOOLTIP; +extern gchar* resources_RATE_FOUR_TOOLTIP; +extern gchar* resources_RATE_FIVE_TOOLTIP; +extern gchar* resources_DISPLAY_ONE_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_TWO_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_THREE_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_FOUR_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_FIVE_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_ONE_OR_HIGHER_LABEL; +extern gchar* resources_DISPLAY_TWO_OR_HIGHER_LABEL; +extern gchar* resources_DISPLAY_THREE_OR_HIGHER_LABEL; +extern gchar* resources_DISPLAY_FOUR_OR_HIGHER_LABEL; +extern gchar* resources_DISPLAY_FIVE_OR_HIGHER_LABEL; +gchar* resources_RATE_ONE_MENU = NULL; +gchar* resources_RATE_ONE_LABEL = NULL; +gchar* resources_RATE_ONE_TOOLTIP = NULL; +gchar* resources_RATE_ONE_PROGRESS = NULL; +gchar* resources_RATE_TWO_MENU = NULL; +gchar* resources_RATE_TWO_LABEL = NULL; +gchar* resources_RATE_TWO_TOOLTIP = NULL; +gchar* resources_RATE_TWO_PROGRESS = NULL; +gchar* resources_RATE_THREE_MENU = NULL; +gchar* resources_RATE_THREE_LABEL = NULL; +gchar* resources_RATE_THREE_TOOLTIP = NULL; +gchar* resources_RATE_THREE_PROGRESS = NULL; +gchar* resources_RATE_FOUR_MENU = NULL; +gchar* resources_RATE_FOUR_LABEL = NULL; +gchar* resources_RATE_FOUR_TOOLTIP = NULL; +gchar* resources_RATE_FOUR_PROGRESS = NULL; +gchar* resources_RATE_FIVE_MENU = NULL; +gchar* resources_RATE_FIVE_LABEL = NULL; +gchar* resources_RATE_FIVE_TOOLTIP = NULL; +gchar* resources_RATE_FIVE_PROGRESS = NULL; +gchar* resources_DISPLAY_ONE_OR_HIGHER_MENU = NULL; +gchar* resources_DISPLAY_ONE_OR_HIGHER_LABEL = NULL; +gchar* resources_DISPLAY_ONE_OR_HIGHER_TOOLTIP = NULL; +gchar* resources_DISPLAY_TWO_OR_HIGHER_MENU = NULL; +gchar* resources_DISPLAY_TWO_OR_HIGHER_LABEL = NULL; +gchar* resources_DISPLAY_TWO_OR_HIGHER_TOOLTIP = NULL; +gchar* resources_DISPLAY_THREE_OR_HIGHER_MENU = NULL; +gchar* resources_DISPLAY_THREE_OR_HIGHER_LABEL = NULL; +gchar* resources_DISPLAY_THREE_OR_HIGHER_TOOLTIP = NULL; +gchar* resources_DISPLAY_FOUR_OR_HIGHER_MENU = NULL; +gchar* resources_DISPLAY_FOUR_OR_HIGHER_LABEL = NULL; +gchar* resources_DISPLAY_FOUR_OR_HIGHER_TOOLTIP = NULL; +gchar* resources_DISPLAY_FIVE_OR_HIGHER_MENU = NULL; +gchar* resources_DISPLAY_FIVE_OR_HIGHER_LABEL = NULL; +gchar* resources_DISPLAY_FIVE_OR_HIGHER_TOOLTIP = NULL; +extern GtkIconFactory* resources_factory; +GtkIconFactory* resources_factory = NULL; +extern GeeHashMap* resources_icon_cache; +GeeHashMap* resources_icon_cache = NULL; +extern GeeHashMap* resources_scaled_icon_cache; +GeeHashMap* resources_scaled_icon_cache = NULL; +extern gchar* resources_HH_MM_FORMAT_STRING; +gchar* resources_HH_MM_FORMAT_STRING = NULL; +extern gchar* resources_HH_MM_SS_FORMAT_STRING; +gchar* resources_HH_MM_SS_FORMAT_STRING = NULL; +extern gchar* resources_LONG_DATE_FORMAT_STRING; +gchar* resources_LONG_DATE_FORMAT_STRING = NULL; +extern gchar* resources_START_MULTIDAY_DATE_FORMAT_STRING; +gchar* resources_START_MULTIDAY_DATE_FORMAT_STRING = NULL; +extern gchar* resources_END_MULTIDAY_DATE_FORMAT_STRING; +gchar* resources_END_MULTIDAY_DATE_FORMAT_STRING = NULL; +extern gchar* resources_START_MULTIMONTH_DATE_FORMAT_STRING; +gchar* resources_START_MULTIMONTH_DATE_FORMAT_STRING = NULL; +extern gchar* resources_END_MULTIMONTH_DATE_FORMAT_STRING; +gchar* resources_END_MULTIMONTH_DATE_FORMAT_STRING = NULL; +extern GdkPixbuf* resources_noninterpretable_badge_pixbuf; +GdkPixbuf* resources_noninterpretable_badge_pixbuf = NULL; +extern GeeMap* resources_providers; +GeeMap* resources_providers = NULL; + +#define RESOURCES_APP_TITLE "Shotwell" +#define RESOURCES_APP_LIBRARY_ROLE _ ("Photo Manager") +#define RESOURCES_APP_DIRECT_ROLE _ ("Photo Viewer") +#define RESOURCES_APP_VERSION _VERSION +#define RESOURCES_GIT_VERSION _GIT_VERSION +#define RESOURCES_COPYRIGHT _ ("Copyright 2016 Software Freedom Conservancy Inc.") +#define RESOURCES_APP_GETTEXT_PACKAGE GETTEXT_PACKAGE +#define RESOURCES_HOME_URL "https://wiki.gnome.org/Apps/Shotwell" +#define RESOURCES_FAQ_URL "https://wiki.gnome.org/Apps/Shotwell/FAQ" +#define RESOURCES_BUG_DB_URL "https://wiki.gnome.org/Apps/Shotwell/ReportingABug" +#define RESOURCES_DIR_PATTERN_URI_SYSWIDE "help:shotwell/other-files" +#define RESOURCES_LIB _LIB +#define RESOURCES_LIBEXECDIR _LIBEXECDIR +#define RESOURCES_PREFIX _PREFIX +#define RESOURCES_TRANSIENT_WINDOW_OPACITY 0.90 +#define RESOURCES_DEFAULT_ICON_SCALE 24 +#define RESOURCES_LICENSE "\n" \ +"Shotwell is free software; you can redistribute it and/or modify it un" \ +"der the \n" \ +"terms of the GNU Lesser General Public License as published by the Fre" \ +"e \n" \ +"Software Foundation; either version 2.1 of the License, or (at your op" \ +"tion) \n" \ +"any later version.\n" \ +"\n" \ +"Shotwell is distributed in the hope that it will be useful, but WITHOU" \ +"T \n" \ +"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " \ +"FITNESS\n" \ +"FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License f" \ +"or \n" \ +"more details.\n" \ +"\n" \ +"You should have received a copy of the GNU Lesser General Public Licen" \ +"se \n" \ +"along with Shotwell; if not, write to the Free Software Foundation, In" \ +"c., \n" \ +"51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n" +#define RESOURCES_CLOCKWISE "object-rotate-right" +#define RESOURCES_COUNTERCLOCKWISE "object-rotate-left" +#define RESOURCES_HFLIP "object-flip-horizontal" +#define RESOURCES_VFLIP "object-flip-vertical" +#define RESOURCES_CROP "shotwell-crop" +#define RESOURCES_STRAIGHTEN "shotwell-straighten" +#define RESOURCES_REDEYE "shotwell-redeye" +#define RESOURCES_ADJUST "image-adjust" +#define RESOURCES_PIN_TOOLBAR "shotwell-pin-toolbar" +#define RESOURCES_MAKE_PRIMARY "shotwell-make-primary" +#define RESOURCES_IMPORT "shotwell-import" +#define RESOURCES_IMPORT_ALL "shotwell-import-all" +#define RESOURCES_ENHANCE "shotwell-auto-enhance" +#define RESOURCES_CROP_PIVOT_RETICLE "shotwell-crop-pivot-reticle" +#define RESOURCES_PUBLISH "applications-internet" +#define RESOURCES_MERGE "shotwell-merge-events" +#define RESOURCES_GO_NEXT "go-next" +#define RESOURCES_GO_PREVIOUS "go-previous" +#define RESOURCES_ICON_ABOUT_LOGO "shotwell-street.jpg" +#define RESOURCES_ICON_GENERIC_PLUGIN "generic-plugin.png" +#define RESOURCES_ICON_SLIDESHOW_EXTENSION_POINT "slideshow-extension-point" +#define RESOURCES_ICON_RATING_REJECTED "rejected.svg" +#define RESOURCES_ICON_RATING_ONE "one-star.svg" +#define RESOURCES_ICON_RATING_TWO "two-stars.svg" +#define RESOURCES_ICON_RATING_THREE "three-stars.svg" +#define RESOURCES_ICON_RATING_FOUR "four-stars.svg" +#define RESOURCES_ICON_RATING_FIVE "five-stars.svg" +#define RESOURCES_ICON_FILTER_REJECTED_OR_BETTER "all-rejected.png" +#define RESOURCES_ICON_FILTER_REJECTED_OR_BETTER_FIXED_SIZE 32 +#define RESOURCES_ICON_FILTER_UNRATED_OR_BETTER "shotwell-16.png" +#define RESOURCES_ICON_FILTER_UNRATED_OR_BETTER_FIXED_SIZE 16 +#define RESOURCES_ICON_FILTER_ONE_OR_BETTER "one-star-filter-plus.svg" +#define RESOURCES_ICON_FILTER_TWO_OR_BETTER "two-star-filter-plus.svg" +#define RESOURCES_ICON_FILTER_THREE_OR_BETTER "three-star-filter-plus.svg" +#define RESOURCES_ICON_FILTER_FOUR_OR_BETTER "four-star-filter-plus.svg" +#define RESOURCES_ICON_FILTER_FIVE "five-star-filter.svg" +#define RESOURCES_ICON_ZOOM_IN "zoom-in.png" +#define RESOURCES_ICON_ZOOM_OUT "zoom-out.png" +#define RESOURCES_ICON_ZOOM_SCALE 16 +#define RESOURCES_ICON_CAMERAS "camera-photo" +#define RESOURCES_ICON_EVENTS "multiple-events" +#define RESOURCES_ICON_ONE_EVENT "one-event" +#define RESOURCES_ICON_NO_EVENT "no-event" +#define RESOURCES_ICON_ONE_TAG "one-tag" +#define RESOURCES_ICON_TAGS "multiple-tags" +#define RESOURCES_ICON_FOLDER "folder" +#define RESOURCES_ICON_FOLDER_DOCUMENTS "folder-documents" +#define RESOURCES_ICON_IMPORTING "go-down" +#define RESOURCES_ICON_LAST_IMPORT "document-open-recent" +#define RESOURCES_ICON_MISSING_FILES "process-stop" +#define RESOURCES_ICON_PHOTOS "shotwell" +#define RESOURCES_ICON_SINGLE_PHOTO "image-x-generic" +#define RESOURCES_ICON_FILTER_PHOTOS "filter-photos" +#define RESOURCES_ICON_FILTER_PHOTOS_DISABLED "filter-photos-disabled" +#define RESOURCES_ICON_FILTER_VIDEOS "filter-videos" +#define RESOURCES_ICON_FILTER_VIDEOS_DISABLED "filter-videos-disabled" +#define RESOURCES_ICON_FILTER_RAW "filter-raw" +#define RESOURCES_ICON_FILTER_RAW_DISABLED "filter-raw-disabled" +#define RESOURCES_ICON_FILTER_FLAGGED "filter-flagged" +#define RESOURCES_ICON_FILTER_FLAGGED_DISABLED "filter-flagged-disabled" +#define RESOURCES_ICON_TRASH_EMPTY "user-trash" +#define RESOURCES_ICON_TRASH_FULL "user-trash-full" +#define RESOURCES_ICON_VIDEOS_PAGE "videos-page" +#define RESOURCES_ICON_FLAGGED_PAGE "flag-page" +#define RESOURCES_ICON_FLAGGED_TRINKET "flag-trinket.png" +#define RESOURCES_ROTATE_CW_MENU _ ("Rotate _Right") +#define RESOURCES_ROTATE_CW_LABEL _ ("Rotate") +#define RESOURCES_ROTATE_CW_FULL_LABEL _ ("Rotate Right") +#define RESOURCES_ROTATE_CW_TOOLTIP _ ("Rotate the photos right (press Ctrl to rotate left)") +#define RESOURCES_ROTATE_CCW_MENU _ ("Rotate _Left") +#define RESOURCES_ROTATE_CCW_LABEL _ ("Rotate") +#define RESOURCES_ROTATE_CCW_FULL_LABEL _ ("Rotate Left") +#define RESOURCES_ROTATE_CCW_TOOLTIP _ ("Rotate the photos left") +#define RESOURCES_HFLIP_MENU _ ("Flip Hori_zontally") +#define RESOURCES_HFLIP_LABEL _ ("Flip Horizontally") +#define RESOURCES_VFLIP_MENU _ ("Flip Verti_cally") +#define RESOURCES_VFLIP_LABEL _ ("Flip Vertically") +#define RESOURCES_ABOUT_LABEL _ ("_About") +#define RESOURCES_APPLY_LABEL _ ("_Apply") +#define RESOURCES_CANCEL_LABEL _ ("_Cancel") +#define RESOURCES_DELETE_LABEL _ ("_Delete") +#define RESOURCES_EDIT_LABEL _ ("_Edit") +#define RESOURCES_FORWARD_LABEL _ ("_Forward") +#define RESOURCES_FULLSCREEN_LABEL _ ("Fulls_creen") +#define RESOURCES_HELP_LABEL _ ("_Help") +#define RESOURCES_LEAVE_FULLSCREEN_LABEL _ ("Leave _Fullscreen") +#define RESOURCES_NEW_LABEL _ ("_New") +#define RESOURCES_NEXT_LABEL _ ("_Next") +#define RESOURCES_OK_LABEL _ ("_OK") +#define RESOURCES_PLAY_LABEL _ ("_Play") +#define RESOURCES_PREFERENCES_LABEL _ ("_Preferences") +#define RESOURCES_PREVIOUS_LABEL _ ("_Previous") +#define RESOURCES_PRINT_LABEL _ ("_Print") +#define RESOURCES_QUIT_LABEL _ ("_Quit") +#define RESOURCES_REFRESH_LABEL _ ("_Refresh") +#define RESOURCES_REMOVE_LABEL _ ("_Remove") +#define RESOURCES_REVERT_TO_SAVED_LABEL _ ("_Revert") +#define RESOURCES_SAVE_LABEL _ ("_Save") +#define RESOURCES_SAVE_AS_LABEL _ ("Save _As") +#define RESOURCES_SORT_ASCENDING_LABEL _ ("Sort _Ascending") +#define RESOURCES_SORT_DESCENDING_LABEL _ ("Sort _Descending") +#define RESOURCES_STOP_LABEL _ ("_Stop") +#define RESOURCES_UNDELETE_LABEL _ ("_Undelete") +#define RESOURCES_ZOOM_100_LABEL _ ("_Normal Size") +#define RESOURCES_ZOOM_FIT_LABEL _ ("Best _Fit") +#define RESOURCES_ZOOM_IN_LABEL _ ("Zoom _In") +#define RESOURCES_ZOOM_OUT_LABEL _ ("Zoom _Out") +#define RESOURCES_ENHANCE_MENU _ ("_Enhance") +#define RESOURCES_ENHANCE_LABEL _ ("Enhance") +#define RESOURCES_ENHANCE_TOOLTIP _ ("Automatically improve the photo's appearance") +#define RESOURCES_COPY_ADJUSTMENTS_MENU _ ("_Copy Color Adjustments") +#define RESOURCES_COPY_ADJUSTMENTS_LABEL _ ("Copy Color Adjustments") +#define RESOURCES_COPY_ADJUSTMENTS_TOOLTIP _ ("Copy the color adjustments applied to the photo") +#define RESOURCES_PASTE_ADJUSTMENTS_MENU _ ("_Paste Color Adjustments") +#define RESOURCES_PASTE_ADJUSTMENTS_LABEL _ ("Paste Color Adjustments") +#define RESOURCES_PASTE_ADJUSTMENTS_TOOLTIP _ ("Apply copied color adjustments to the selected photos") +#define RESOURCES_CROP_MENU _ ("_Crop") +#define RESOURCES_CROP_LABEL _ ("Crop") +#define RESOURCES_CROP_TOOLTIP _ ("Crop the photo's size") +#define RESOURCES_STRAIGHTEN_MENU _ ("_Straighten") +#define RESOURCES_STRAIGHTEN_LABEL _ ("Straighten") +#define RESOURCES_STRAIGHTEN_TOOLTIP _ ("Straighten the photo") +#define RESOURCES_RED_EYE_MENU _ ("_Red-eye") +#define RESOURCES_RED_EYE_LABEL _ ("Red-eye") +#define RESOURCES_RED_EYE_TOOLTIP _ ("Reduce or eliminate any red-eye effects in the photo") +#define RESOURCES_ADJUST_MENU _ ("_Adjust") +#define RESOURCES_ADJUST_LABEL _ ("Adjust") +#define RESOURCES_ADJUST_TOOLTIP _ ("Adjust the photo's color and tone") +#define RESOURCES_REVERT_MENU _ ("Re_vert to Original") +#define RESOURCES_REVERT_LABEL _ ("Revert to Original") +#define RESOURCES_REVERT_EDITABLE_MENU _ ("Revert External E_dits") +#define RESOURCES_REVERT_EDITABLE_TOOLTIP _ ("Revert to the master photo") +#define RESOURCES_SET_BACKGROUND_MENU _ ("Set as _Desktop Background") +#define RESOURCES_SET_BACKGROUND_TOOLTIP _ ("Set selected image to be the new desktop background") +#define RESOURCES_SET_BACKGROUND_SLIDESHOW_MENU _ ("Set as _Desktop Slideshow...") +#define RESOURCES_UNDO_MENU _ ("_Undo") +#define RESOURCES_UNDO_LABEL _ ("Undo") +#define RESOURCES_REDO_MENU _ ("_Redo") +#define RESOURCES_REDO_LABEL _ ("Redo") +#define RESOURCES_RENAME_EVENT_MENU _ ("Re_name Event...") +#define RESOURCES_RENAME_EVENT_LABEL _ ("Rename Event") +#define RESOURCES_MAKE_KEY_PHOTO_MENU _ ("Make _Key Photo for Event") +#define RESOURCES_MAKE_KEY_PHOTO_LABEL _ ("Make Key Photo for Event") +#define RESOURCES_NEW_EVENT_MENU _ ("_New Event") +#define RESOURCES_NEW_EVENT_LABEL _ ("New Event") +#define RESOURCES_SET_PHOTO_EVENT_LABEL _ ("Move Photos") +#define RESOURCES_SET_PHOTO_EVENT_TOOLTIP _ ("Move photos to an event") +#define RESOURCES_MERGE_MENU _ ("_Merge Events") +#define RESOURCES_MERGE_LABEL _ ("Merge") +#define RESOURCES_MERGE_TOOLTIP _ ("Combine events into a single event") +#define RESOURCES_RATING_MENU _ ("_Set Rating") +#define RESOURCES_RATING_LABEL _ ("Set Rating") +#define RESOURCES_RATING_TOOLTIP _ ("Change the rating of your photo") +#define RESOURCES_INCREASE_RATING_MENU _ ("_Increase") +#define RESOURCES_INCREASE_RATING_LABEL _ ("Increase Rating") +#define RESOURCES_DECREASE_RATING_MENU _ ("_Decrease") +#define RESOURCES_DECREASE_RATING_LABEL _ ("Decrease Rating") +#define RESOURCES_RATE_UNRATED_MENU _ ("_Unrated") +#define RESOURCES_RATE_UNRATED_COMBO_BOX _ ("Unrated") +#define RESOURCES_RATE_UNRATED_LABEL _ ("Rate Unrated") +#define RESOURCES_RATE_UNRATED_PROGRESS _ ("Setting as unrated") +#define RESOURCES_RATE_UNRATED_TOOLTIP _ ("Remove any ratings") +#define RESOURCES_RATE_REJECTED_MENU _ ("_Rejected") +#define RESOURCES_RATE_REJECTED_COMBO_BOX _ ("Rejected") +#define RESOURCES_RATE_REJECTED_LABEL _ ("Rate Rejected") +#define RESOURCES_RATE_REJECTED_PROGRESS _ ("Setting as rejected") +#define RESOURCES_RATE_REJECTED_TOOLTIP _ ("Set rating to rejected") +#define RESOURCES_DISPLAY_REJECTED_ONLY_MENU _ ("Rejected _Only") +#define RESOURCES_DISPLAY_REJECTED_ONLY_LABEL _ ("Rejected Only") +#define RESOURCES_DISPLAY_REJECTED_ONLY_TOOLTIP _ ("Show only rejected photos") +#define RESOURCES_DISPLAY_REJECTED_OR_HIGHER_MENU _ ("All + _Rejected") +#define RESOURCES_DISPLAY_REJECTED_OR_HIGHER_TOOLTIP "Show all photos, including rejected" +#define RESOURCES_DISPLAY_UNRATED_OR_HIGHER_MENU _ ("_All Photos") +#define RESOURCES_DISPLAY_UNRATED_OR_HIGHER_TOOLTIP _ ("Show all photos") +#define RESOURCES_VIEW_RATINGS_MENU _ ("_Ratings") +#define RESOURCES_VIEW_RATINGS_TOOLTIP _ ("Display each photo's rating") +#define RESOURCES_FILTER_PHOTOS_MENU _ ("_Filter Photos") +#define RESOURCES_FILTER_PHOTOS_LABEL _ ("Filter Photos") +#define RESOURCES_FILTER_PHOTOS_TOOLTIP _ ("Limit the number of photos displayed based on a filter") +#define RESOURCES_DUPLICATE_PHOTO_MENU _ ("_Duplicate") +#define RESOURCES_DUPLICATE_PHOTO_LABEL _ ("Duplicate") +#define RESOURCES_DUPLICATE_PHOTO_TOOLTIP _ ("Make a duplicate of the photo") +#define RESOURCES_EXPORT_MENU _ ("_Export...") +#define RESOURCES_PRINT_MENU _ ("_Print...") +#define RESOURCES_PUBLISH_MENU _ ("Pu_blish...") +#define RESOURCES_PUBLISH_LABEL _ ("Publish") +#define RESOURCES_PUBLISH_TOOLTIP _ ("Publish to various websites") +#define RESOURCES_EDIT_TITLE_MENU _ ("Edit _Title...") +#define RESOURCES_EDIT_TITLE_LABEL "Edit Title" +#define RESOURCES_EDIT_COMMENT_MENU _ ("Edit _Comment...") +#define RESOURCES_EDIT_COMMENT_LABEL _ ("Edit Comment") +#define RESOURCES_EDIT_EVENT_COMMENT_MENU _ ("Edit Event _Comment...") +#define RESOURCES_EDIT_EVENT_COMMENT_LABEL _ ("Edit Event Comment") +#define RESOURCES_ADJUST_DATE_TIME_MENU _ ("_Adjust Date and Time...") +#define RESOURCES_ADJUST_DATE_TIME_LABEL _ ("Adjust Date and Time") +#define RESOURCES_ADD_TAGS_MENU _ ("Add _Tags...") +#define RESOURCES_ADD_TAGS_CONTEXT_MENU _ ("_Add Tags...") +#define RESOURCES_ADD_TAGS_TITLE "Add Tags" +#define RESOURCES_PREFERENCES_MENU _ ("_Preferences") +#define RESOURCES_EXTERNAL_EDIT_MENU _ ("Open With E_xternal Editor") +#define RESOURCES_EXTERNAL_EDIT_RAW_MENU _ ("Open With RA_W Editor") +#define RESOURCES_SEND_TO_MENU _ ("Send _To...") +#define RESOURCES_SEND_TO_CONTEXT_MENU _ ("Send T_o...") +#define RESOURCES_FIND_MENU _ ("_Find...") +#define RESOURCES_FIND_LABEL _ ("Find") +#define RESOURCES_FIND_TOOLTIP _ ("Find an image by typing text that appears in its name or tags") +#define RESOURCES_FLAG_MENU _ ("_Flag") +#define RESOURCES_UNFLAG_MENU _ ("Un_flag") +gchar* resources_launch_editor_failed (GError* err); +gchar* resources_add_tags_label (gchar** names, int names_length1); +gchar* hierarchical_tag_utilities_get_basename (const gchar* in_path); +gchar* resources_delete_tag_menu (const gchar* name); +gchar* resources_delete_tag_label (const gchar* name); +#define RESOURCES_DELETE_TAG_TITLE _ ("Delete Tag") +#define RESOURCES_DELETE_TAG_SIDEBAR_MENU _ ("_Delete") +#define RESOURCES_NEW_CHILD_TAG_SIDEBAR_MENU _ ("_New") +gchar* resources_rename_tag_menu (const gchar* name); +gchar* resources_rename_tag_label (const gchar* old_name, const gchar* new_name); +#define RESOURCES_RENAME_TAG_SIDEBAR_MENU _ ("_Rename...") +#define RESOURCES_MODIFY_TAGS_MENU _ ("Modif_y Tags...") +#define RESOURCES_MODIFY_TAGS_LABEL _ ("Modify Tags") +gchar* resources_tag_photos_label (const gchar* name, gint count); +gchar* resources_tag_photos_tooltip (const gchar* name, gint count); +gchar* resources_untag_photos_menu (const gchar* name, gint count); +gchar* resources_untag_photos_label (const gchar* name, gint count); +gchar* resources_rename_tag_exists_message (const gchar* name); +gchar* resources_rename_search_exists_message (const gchar* name); +#define RESOURCES_DEFAULT_SAVED_SEARCH_NAME _ ("Saved Search") +#define RESOURCES_DELETE_SAVED_SEARCH_DIALOG_TITLE _ ("Delete Search") +#define RESOURCES_DELETE_SEARCH_MENU _ ("_Delete") +#define RESOURCES_EDIT_SEARCH_MENU _ ("_Edit...") +#define RESOURCES_RENAME_SEARCH_MENU _ ("Re_name...") +gchar* resources_rename_search_label (const gchar* old_name, const gchar* new_name); +gchar* resources_delete_search_label (const gchar* name); +GType rating_get_type (void) G_GNUC_CONST; +const gchar* resources_rating_menu (Rating rating); +const gchar* resources_rating_label (Rating rating); +const gchar* resources_rating_combo_box (Rating rating); +GType rating_filter_get_type (void) G_GNUC_CONST; +gchar* resources_get_rating_filter_tooltip (RatingFilter filter); +gchar* resources_rating_progress (Rating rating); +gchar* resources_get_stars (Rating rating); +GdkPixbuf* resources_get_rating_trinket (Rating rating, gint scale); +GdkPixbuf* resources_get_icon (const gchar* name, gint scale); +void resources_generate_rating_strings (void); +#define RESOURCES_DELETE_PHOTOS_MENU _ ("_Delete") +#define RESOURCES_DELETE_FROM_TRASH_TOOLTIP _ ("Remove the selected photos from the trash") +#define RESOURCES_DELETE_FROM_LIBRARY_TOOLTIP _ ("Remove the selected photos from the library") +#define RESOURCES_RESTORE_PHOTOS_MENU _ ("_Restore") +#define RESOURCES_RESTORE_PHOTOS_TOOLTIP _ ("Move the selected photos back into the library") +#define RESOURCES_JUMP_TO_FILE_MENU _ ("Show in File Mana_ger") +#define RESOURCES_JUMP_TO_FILE_TOOLTIP _ ("Open the selected photo's directory in the file manager") +gchar* resources_jump_to_file_failed (GError* err); +#define RESOURCES_REMOVE_FROM_LIBRARY_MENU _ ("R_emove From Library") +#define RESOURCES_MOVE_TO_TRASH_MENU _ ("_Move to Trash") +#define RESOURCES_SELECT_ALL_MENU _ ("Select _All") +#define RESOURCES_SELECT_ALL_TOOLTIP _ ("Select all items") +void resources_init (void); +GFile* app_dirs_get_resources_dir (void); +void resources_add_stock_icon (GFile* file, const gchar* stock_id); +void resources_add_stock_icon_from_themed_icon (GThemedIcon* gicon, const gchar* stock_id, ResourcesAddStockIconModify modify, void* modify_target); +void dim_pixbuf (GdkPixbuf* pixbuf); +static void _dim_pixbuf_resources_add_stock_icon_modify (GdkPixbuf* pixbuf, gpointer self); +void resources_terminate (void); +void resources_fetch_lc_time_format (void); +gchar* resources_get_hh_mm_format_string (void); +gchar* resources_get_hh_mm_ss_format_string (void); +gchar* resources_get_long_date_format_string (void); +gchar* resources_get_start_multiday_span_format_string (void); +gchar* resources_get_end_multiday_span_format_string (void); +gchar* resources_get_start_multimonth_span_format_string (void); +gchar* resources_get_end_multimonth_span_format_string (void); +GFile* resources_get_ui (const gchar* filename); +#define RESOURCES_NONINTERPRETABLE_BADGE_FILE "noninterpretable-video.png" +GdkPixbuf* resources_get_noninterpretable_badge_pixbuf (void); +GtkIconTheme* resources_get_icon_theme_engine (void); +GdkPixbuf* resources_load_icon (const gchar* name, gint scale); +GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf, gint scale, GdkInterpType interp, gboolean scale_up); +gchar* resources_get_help_path (void); +GFile* app_dirs_get_exec_dir (void); +void resources_launch_help (GdkScreen* screen, const gchar* anchor, GError** error); +void sys_show_uri (GdkScreen* screen, const gchar* uri, GError** error); +gchar* resources_to_css_color (GdkRGBA* color); +#define RESOURCES_ALL_DATA -1 +void resources_style_widget (GtkWidget* widget, const gchar* stylesheet); +#define RESOURCES_CUSTOM_CSS "LibraryWindow * {\n" \ +" -GtkPaned-handle-size: 1;\n" \ +" }\n" \ +" LibraryWindow .pane-separator {\n" \ +" background-color: @borders;\n" \ +" }\n" \ +" SearchFilterToolbar {\n" \ +" border-width: 0 0 1px 0;\n" \ +" border-style: solid;\n" \ +" border-color: @borders;\n" \ +" }" +#define RESOURCES_ONIMAGE_FONT_COLOR "#000000" +#define RESOURCES_ONIMAGE_FONT_BACKGROUND "rgba(255,255,255,0.5)" +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +const gchar* RESOURCES_AUTHORS[6] = {"Jim Nelson ", "Lucas Beeler ", "Allison Barlow ", "Eric Gregory ", "Clinton Rogers ", NULL}; +const gint RESOURCES_rating_thresholds[6] = {0, 1, 25, 50, 75, 99}; + +gchar* resources_launch_editor_failed (GError* err) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + GError* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Unable to launch editor: %s"); +#line 335 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = err; +#line 335 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = _tmp1_->message; +#line 335 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = g_strdup_printf (_tmp0_, _tmp2_); +#line 335 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 335 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 490 "Resources.c" +} + + +gchar* resources_add_tags_label (gchar** names, int names_length1) { + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 339 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = names; +#line 339 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0__length1 = names_length1; +#line 339 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0__length1 == 1) { +#line 504 "Resources.c" + const gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _ ("Add Tag \"%s\""); +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = names; +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2__length1 = names_length1; +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _tmp2_[0]; +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = hierarchical_tag_utilities_get_basename (_tmp3_); +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = _tmp4_; +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_strdup_printf (_tmp1_, _tmp5_); +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = _tmp6_; +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp5_); +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp7_; +#line 340 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 535 "Resources.c" + } else { + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 341 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = names; +#line 341 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8__length1 = names_length1; +#line 341 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp8__length1 == 2) { +#line 545 "Resources.c" + const gchar* _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = _ ("Add Tags \"%s\" and \"%s\""); +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = names; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10__length1 = names_length1; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = _tmp10_[0]; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = hierarchical_tag_utilities_get_basename (_tmp11_); +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = _tmp12_; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = names; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14__length1 = names_length1; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = _tmp14_[1]; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = hierarchical_tag_utilities_get_basename (_tmp15_); +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = _tmp16_; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = g_strdup_printf (_tmp9_, _tmp13_, _tmp17_); +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = _tmp18_; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp17_); +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp13_); +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp19_; +#line 343 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 593 "Resources.c" + } else { + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 348 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = C_ ("UndoRedo menu entry", "Add Tags"); +#line 348 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = g_strdup (_tmp20_); +#line 348 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp21_; +#line 348 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 605 "Resources.c" + } + } +} + + +gchar* resources_delete_tag_menu (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 352 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 353 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("_Delete Tag \"%s\""); +#line 353 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = name; +#line 353 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup_printf (_tmp0_, _tmp1_); +#line 353 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 353 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 628 "Resources.c" +} + + +gchar* resources_delete_tag_label (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 356 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 357 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Delete Tag \"%s\""); +#line 357 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = name; +#line 357 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup_printf (_tmp0_, _tmp1_); +#line 357 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 357 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 649 "Resources.c" +} + + +gchar* resources_rename_tag_menu (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 366 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Re_name Tag \"%s\"..."); +#line 366 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = name; +#line 366 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup_printf (_tmp0_, _tmp1_); +#line 366 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 366 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 670 "Resources.c" +} + + +gchar* resources_rename_tag_label (const gchar* old_name, const gchar* new_name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 369 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (old_name != NULL, NULL); +#line 369 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (new_name != NULL, NULL); +#line 370 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Rename Tag \"%s\" to \"%s\""); +#line 370 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = old_name; +#line 370 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = new_name; +#line 370 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = g_strdup_printf (_tmp0_, _tmp1_, _tmp2_); +#line 370 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 370 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 696 "Resources.c" +} + + +gchar* resources_tag_photos_label (const gchar* name, gint count) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 378 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = count; +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp1_ == 1) { +#line 712 "Resources.c" + const gchar* _tmp2_ = NULL; +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = _ ("Tag Photo as \"%s\""); +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp2_; +#line 718 "Resources.c" + } else { + const gchar* _tmp3_ = NULL; +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _ ("Tag Photos as \"%s\""); +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp3_; +#line 725 "Resources.c" + } +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = name; +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_strdup_printf (_tmp0_, _tmp4_); +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 379 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 735 "Resources.c" +} + + +gchar* resources_tag_photos_tooltip (const gchar* name, gint count) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 382 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 383 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = count; +#line 383 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp1_ == 1) { +#line 751 "Resources.c" + const gchar* _tmp2_ = NULL; +#line 383 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = _ ("Tag the selected photo as \"%s\""); +#line 383 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp2_; +#line 757 "Resources.c" + } else { + const gchar* _tmp3_ = NULL; +#line 384 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _ ("Tag the selected photos as \"%s\""); +#line 384 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp3_; +#line 764 "Resources.c" + } +#line 383 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = name; +#line 383 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_strdup_printf (_tmp0_, _tmp4_); +#line 383 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 383 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 774 "Resources.c" +} + + +gchar* resources_untag_photos_menu (const gchar* name, gint count) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 387 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 388 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = count; +#line 388 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp1_ == 1) { +#line 790 "Resources.c" + const gchar* _tmp2_ = NULL; +#line 388 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = _ ("Remove Tag \"%s\" From _Photo"); +#line 388 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp2_; +#line 796 "Resources.c" + } else { + const gchar* _tmp3_ = NULL; +#line 389 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _ ("Remove Tag \"%s\" From _Photos"); +#line 389 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp3_; +#line 803 "Resources.c" + } +#line 388 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = name; +#line 388 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_strdup_printf (_tmp0_, _tmp4_); +#line 388 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 388 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 813 "Resources.c" +} + + +gchar* resources_untag_photos_label (const gchar* name, gint count) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 392 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 393 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = count; +#line 393 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp1_ == 1) { +#line 829 "Resources.c" + const gchar* _tmp2_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = _ ("Remove Tag \"%s\" From Photo"); +#line 393 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp2_; +#line 835 "Resources.c" + } else { + const gchar* _tmp3_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _ ("Remove Tag \"%s\" From Photos"); +#line 394 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp3_; +#line 842 "Resources.c" + } +#line 393 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = name; +#line 393 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_strdup_printf (_tmp0_, _tmp4_); +#line 393 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 393 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 852 "Resources.c" +} + + +gchar* resources_rename_tag_exists_message (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 398 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Unable to rename tag to \"%s\" because the tag already exists."); +#line 398 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = name; +#line 398 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup_printf (_tmp0_, _tmp1_); +#line 398 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 398 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 873 "Resources.c" +} + + +gchar* resources_rename_search_exists_message (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 401 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 402 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Unable to rename search to \"%s\" because the search already exists."); +#line 402 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = name; +#line 402 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup_printf (_tmp0_, _tmp1_); +#line 402 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 402 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 894 "Resources.c" +} + + +gchar* resources_rename_search_label (const gchar* old_name, const gchar* new_name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (old_name != NULL, NULL); +#line 413 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (new_name != NULL, NULL); +#line 414 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Rename Search \"%s\" to \"%s\""); +#line 414 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = old_name; +#line 414 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = new_name; +#line 414 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = g_strdup_printf (_tmp0_, _tmp1_, _tmp2_); +#line 414 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 414 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 920 "Resources.c" +} + + +gchar* resources_delete_search_label (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 417 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 418 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Delete Search \"%s\""); +#line 418 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = name; +#line 418 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup_printf (_tmp0_, _tmp1_); +#line 418 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 418 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 941 "Resources.c" +} + + +const gchar* resources_rating_menu (Rating rating) { + const gchar* result = NULL; + Rating _tmp0_ = 0; +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = rating; +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + switch (_tmp0_) { +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_REJECTED: +#line 954 "Resources.c" + { +#line 424 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_REJECTED_MENU; +#line 424 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 960 "Resources.c" + } +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_UNRATED: +#line 964 "Resources.c" + { +#line 426 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_UNRATED_MENU; +#line 426 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 970 "Resources.c" + } +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_ONE: +#line 974 "Resources.c" + { + const gchar* _tmp1_ = NULL; +#line 428 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_RATE_ONE_MENU; +#line 428 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp1_; +#line 428 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 983 "Resources.c" + } +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_TWO: +#line 987 "Resources.c" + { + const gchar* _tmp2_ = NULL; +#line 430 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = resources_RATE_TWO_MENU; +#line 430 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 430 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 996 "Resources.c" + } +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_THREE: +#line 1000 "Resources.c" + { + const gchar* _tmp3_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = resources_RATE_THREE_MENU; +#line 432 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 432 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1009 "Resources.c" + } +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FOUR: +#line 1013 "Resources.c" + { + const gchar* _tmp4_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = resources_RATE_FOUR_MENU; +#line 434 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp4_; +#line 434 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1022 "Resources.c" + } +#line 422 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FIVE: +#line 1026 "Resources.c" + { + const gchar* _tmp5_ = NULL; +#line 436 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = resources_RATE_FIVE_MENU; +#line 436 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 436 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1035 "Resources.c" + } + default: + { +#line 438 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_UNRATED_MENU; +#line 438 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1043 "Resources.c" + } + } +} + + +const gchar* resources_rating_label (Rating rating) { + const gchar* result = NULL; + Rating _tmp0_ = 0; +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = rating; +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + switch (_tmp0_) { +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_REJECTED: +#line 1058 "Resources.c" + { +#line 445 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_REJECTED_LABEL; +#line 445 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1064 "Resources.c" + } +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_UNRATED: +#line 1068 "Resources.c" + { +#line 447 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_UNRATED_LABEL; +#line 447 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1074 "Resources.c" + } +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_ONE: +#line 1078 "Resources.c" + { + const gchar* _tmp1_ = NULL; +#line 449 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_RATE_ONE_LABEL; +#line 449 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp1_; +#line 449 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1087 "Resources.c" + } +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_TWO: +#line 1091 "Resources.c" + { + const gchar* _tmp2_ = NULL; +#line 451 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = resources_RATE_TWO_LABEL; +#line 451 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 451 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1100 "Resources.c" + } +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_THREE: +#line 1104 "Resources.c" + { + const gchar* _tmp3_ = NULL; +#line 453 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = resources_RATE_THREE_LABEL; +#line 453 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 453 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1113 "Resources.c" + } +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FOUR: +#line 1117 "Resources.c" + { + const gchar* _tmp4_ = NULL; +#line 455 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = resources_RATE_FOUR_LABEL; +#line 455 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp4_; +#line 455 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1126 "Resources.c" + } +#line 443 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FIVE: +#line 1130 "Resources.c" + { + const gchar* _tmp5_ = NULL; +#line 457 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = resources_RATE_FIVE_LABEL; +#line 457 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 457 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1139 "Resources.c" + } + default: + { +#line 459 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_UNRATED_LABEL; +#line 459 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1147 "Resources.c" + } + } +} + + +const gchar* resources_rating_combo_box (Rating rating) { + const gchar* result = NULL; + Rating _tmp0_ = 0; +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = rating; +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + switch (_tmp0_) { +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_REJECTED: +#line 1162 "Resources.c" + { +#line 466 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_REJECTED_COMBO_BOX; +#line 466 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1168 "Resources.c" + } +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_UNRATED: +#line 1172 "Resources.c" + { +#line 468 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_UNRATED_COMBO_BOX; +#line 468 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1178 "Resources.c" + } +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_ONE: +#line 1182 "Resources.c" + { + const gchar* _tmp1_ = NULL; +#line 470 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_RATE_ONE_MENU; +#line 470 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp1_; +#line 470 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1191 "Resources.c" + } +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_TWO: +#line 1195 "Resources.c" + { + const gchar* _tmp2_ = NULL; +#line 472 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = resources_RATE_TWO_MENU; +#line 472 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 472 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1204 "Resources.c" + } +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_THREE: +#line 1208 "Resources.c" + { + const gchar* _tmp3_ = NULL; +#line 474 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = resources_RATE_THREE_MENU; +#line 474 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 474 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1217 "Resources.c" + } +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FOUR: +#line 1221 "Resources.c" + { + const gchar* _tmp4_ = NULL; +#line 476 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = resources_RATE_FOUR_MENU; +#line 476 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp4_; +#line 476 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1230 "Resources.c" + } +#line 464 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FIVE: +#line 1234 "Resources.c" + { + const gchar* _tmp5_ = NULL; +#line 478 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = resources_RATE_FIVE_MENU; +#line 478 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 478 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1243 "Resources.c" + } + default: + { +#line 480 "/home/jens/Source/shotwell/src/Resources.vala" + result = RESOURCES_RATE_UNRATED_MENU; +#line 480 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1251 "Resources.c" + } + } +} + + +gchar* resources_get_rating_filter_tooltip (RatingFilter filter) { + gchar* result = NULL; + RatingFilter _tmp0_ = 0; +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = filter; +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + switch (_tmp0_) { +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_REJECTED_OR_HIGHER: +#line 1266 "Resources.c" + { + gchar* _tmp1_ = NULL; +#line 487 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = g_strdup (RESOURCES_DISPLAY_REJECTED_OR_HIGHER_TOOLTIP); +#line 487 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp1_; +#line 487 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1275 "Resources.c" + } +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_ONE_OR_HIGHER: +#line 1279 "Resources.c" + { + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 490 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = resources_DISPLAY_ONE_OR_HIGHER_TOOLTIP; +#line 490 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 490 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 490 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1291 "Resources.c" + } +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_TWO_OR_HIGHER: +#line 1295 "Resources.c" + { + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 493 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = resources_DISPLAY_TWO_OR_HIGHER_TOOLTIP; +#line 493 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 493 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 493 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1307 "Resources.c" + } +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_THREE_OR_HIGHER: +#line 1311 "Resources.c" + { + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 496 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = resources_DISPLAY_THREE_OR_HIGHER_TOOLTIP; +#line 496 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 496 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp7_; +#line 496 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1323 "Resources.c" + } +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_FOUR_OR_HIGHER: +#line 1327 "Resources.c" + { + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = resources_DISPLAY_FOUR_OR_HIGHER_TOOLTIP; +#line 499 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 499 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp9_; +#line 499 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1339 "Resources.c" + } +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_FIVE_ONLY: +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_FIVE_OR_HIGHER: +#line 1345 "Resources.c" + { + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = resources_DISPLAY_FIVE_OR_HIGHER_TOOLTIP; +#line 503 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 503 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp11_; +#line 503 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1357 "Resources.c" + } +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_REJECTED_ONLY: +#line 1361 "Resources.c" + { + gchar* _tmp12_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = g_strdup (RESOURCES_DISPLAY_REJECTED_ONLY_TOOLTIP); +#line 506 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp12_; +#line 506 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1370 "Resources.c" + } + default: +#line 485 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FILTER_UNRATED_OR_HIGHER: +#line 1375 "Resources.c" + { + gchar* _tmp13_ = NULL; +#line 510 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = g_strdup (RESOURCES_DISPLAY_UNRATED_OR_HIGHER_TOOLTIP); +#line 510 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp13_; +#line 510 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1384 "Resources.c" + } + } +} + + +gchar* resources_rating_progress (Rating rating) { + gchar* result = NULL; + Rating _tmp0_ = 0; +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = rating; +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + switch (_tmp0_) { +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_REJECTED: +#line 1399 "Resources.c" + { + gchar* _tmp1_ = NULL; +#line 517 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = g_strdup (RESOURCES_RATE_REJECTED_PROGRESS); +#line 517 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp1_; +#line 517 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1408 "Resources.c" + } +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_UNRATED: +#line 1412 "Resources.c" + { + gchar* _tmp2_ = NULL; +#line 519 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (RESOURCES_RATE_UNRATED_PROGRESS); +#line 519 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 519 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1421 "Resources.c" + } +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_ONE: +#line 1425 "Resources.c" + { + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = resources_RATE_ONE_PROGRESS; +#line 521 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 521 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp4_; +#line 521 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1437 "Resources.c" + } +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_TWO: +#line 1441 "Resources.c" + { + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 523 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = resources_RATE_TWO_PROGRESS; +#line 523 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 523 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp6_; +#line 523 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1453 "Resources.c" + } +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_THREE: +#line 1457 "Resources.c" + { + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = resources_RATE_THREE_PROGRESS; +#line 525 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 525 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp8_; +#line 525 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1469 "Resources.c" + } +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FOUR: +#line 1473 "Resources.c" + { + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 527 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = resources_RATE_FOUR_PROGRESS; +#line 527 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 527 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp10_; +#line 527 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1485 "Resources.c" + } +#line 515 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FIVE: +#line 1489 "Resources.c" + { + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 529 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = resources_RATE_FIVE_PROGRESS; +#line 529 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 529 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp12_; +#line 529 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1501 "Resources.c" + } + default: + { + gchar* _tmp13_ = NULL; +#line 531 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = g_strdup (RESOURCES_RATE_UNRATED_PROGRESS); +#line 531 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp13_; +#line 531 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1512 "Resources.c" + } + } +} + + +gchar* resources_get_stars (Rating rating) { + gchar* result = NULL; + Rating _tmp0_ = 0; +#line 538 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = rating; +#line 538 "/home/jens/Source/shotwell/src/Resources.vala" + switch (_tmp0_) { +#line 538 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_ONE: +#line 1527 "Resources.c" + { + gchar* _tmp1_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = g_strdup ("\xE2\x98\x85"); +#line 540 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp1_; +#line 540 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1536 "Resources.c" + } +#line 538 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_TWO: +#line 1540 "Resources.c" + { + gchar* _tmp2_ = NULL; +#line 542 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup ("\xE2\x98\x85\xE2\x98\x85"); +#line 542 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 542 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1549 "Resources.c" + } +#line 538 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_THREE: +#line 1553 "Resources.c" + { + gchar* _tmp3_ = NULL; +#line 544 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = g_strdup ("\xE2\x98\x85\xE2\x98\x85\xE2\x98\x85"); +#line 544 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 544 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1562 "Resources.c" + } +#line 538 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FOUR: +#line 1566 "Resources.c" + { + gchar* _tmp4_ = NULL; +#line 546 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = g_strdup ("\xE2\x98\x85\xE2\x98\x85\xE2\x98\x85\xE2\x98\x85"); +#line 546 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp4_; +#line 546 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1575 "Resources.c" + } +#line 538 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FIVE: +#line 1579 "Resources.c" + { + gchar* _tmp5_ = NULL; +#line 548 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_strdup ("\xE2\x98\x85\xE2\x98\x85\xE2\x98\x85\xE2\x98\x85\xE2\x98\x85"); +#line 548 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp5_; +#line 548 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1588 "Resources.c" + } + default: + { + gchar* _tmp6_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_strdup (""); +#line 550 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp6_; +#line 550 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1599 "Resources.c" + } + } +} + + +GdkPixbuf* resources_get_rating_trinket (Rating rating, gint scale) { + GdkPixbuf* result = NULL; + Rating _tmp0_ = 0; +#line 555 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = rating; +#line 555 "/home/jens/Source/shotwell/src/Resources.vala" + switch (_tmp0_) { +#line 555 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_REJECTED: +#line 1614 "Resources.c" + { + gint _tmp1_ = 0; + GdkPixbuf* _tmp2_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = scale; +#line 557 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = resources_get_icon (RESOURCES_ICON_RATING_REJECTED, _tmp1_); +#line 557 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 557 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1626 "Resources.c" + } +#line 555 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_ONE: +#line 1630 "Resources.c" + { + gint _tmp3_ = 0; + GdkPixbuf* _tmp4_ = NULL; +#line 560 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = scale; +#line 560 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = resources_get_icon (RESOURCES_ICON_RATING_ONE, _tmp3_); +#line 560 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp4_; +#line 560 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1642 "Resources.c" + } +#line 555 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_TWO: +#line 1646 "Resources.c" + { + gint _tmp5_ = 0; + GdkPixbuf* _tmp6_ = NULL; +#line 562 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = scale; +#line 562 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = resources_get_icon (RESOURCES_ICON_RATING_TWO, _tmp5_ * 2); +#line 562 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp6_; +#line 562 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1658 "Resources.c" + } +#line 555 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_THREE: +#line 1662 "Resources.c" + { + gint _tmp7_ = 0; + GdkPixbuf* _tmp8_ = NULL; +#line 564 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = scale; +#line 564 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = resources_get_icon (RESOURCES_ICON_RATING_THREE, _tmp7_ * 3); +#line 564 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp8_; +#line 564 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1674 "Resources.c" + } +#line 555 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FOUR: +#line 1678 "Resources.c" + { + gint _tmp9_ = 0; + GdkPixbuf* _tmp10_ = NULL; +#line 566 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = scale; +#line 566 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = resources_get_icon (RESOURCES_ICON_RATING_FOUR, _tmp9_ * 4); +#line 566 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp10_; +#line 566 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1690 "Resources.c" + } +#line 555 "/home/jens/Source/shotwell/src/Resources.vala" + case RATING_FIVE: +#line 1694 "Resources.c" + { + gint _tmp11_ = 0; + GdkPixbuf* _tmp12_ = NULL; +#line 568 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = scale; +#line 568 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = resources_get_icon (RESOURCES_ICON_RATING_FIVE, _tmp11_ * 5); +#line 568 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp12_; +#line 568 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1706 "Resources.c" + } + default: + { +#line 570 "/home/jens/Source/shotwell/src/Resources.vala" + result = NULL; +#line 570 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 1714 "Resources.c" + } + } +} + + +void resources_generate_rating_strings (void) { + gchar* menu_base = NULL; + gchar* _tmp0_ = NULL; + gchar* label_base = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* tooltip_base = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* progress_base = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* display_rating_menu_base = NULL; + gchar* _tmp7_ = NULL; + gchar* display_rating_label_base = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* display_rating_tooltip_base = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* display_rating_or_higher_menu_base = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* display_rating_or_higher_label_base = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* display_rating_or_higher_tooltip_base = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + gchar* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + gchar* _tmp84_ = NULL; + gchar* _tmp85_ = NULL; + gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; + gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + gchar* _tmp90_ = NULL; + gchar* _tmp91_ = NULL; + gchar* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; + gchar* _tmp94_ = NULL; + gchar* _tmp95_ = NULL; + gchar* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + gchar* _tmp98_ = NULL; + gchar* _tmp99_ = NULL; + gchar* _tmp100_ = NULL; + gchar* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; + gchar* _tmp103_ = NULL; + gchar* _tmp104_ = NULL; + gchar* _tmp105_ = NULL; + gchar* _tmp106_ = NULL; + gchar* _tmp107_ = NULL; + gchar* _tmp108_ = NULL; + gchar* _tmp109_ = NULL; + gchar* _tmp110_ = NULL; + gchar* _tmp111_ = NULL; + gchar* _tmp112_ = NULL; + gchar* _tmp113_ = NULL; + gchar* _tmp114_ = NULL; + gchar* _tmp115_ = NULL; + gchar* _tmp116_ = NULL; + gchar* _tmp117_ = NULL; + gchar* _tmp118_ = NULL; + gchar* _tmp119_ = NULL; + gchar* _tmp120_ = NULL; + gchar* _tmp121_ = NULL; + gchar* _tmp122_ = NULL; +#line 575 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = g_strdup ("%s"); +#line 575 "/home/jens/Source/shotwell/src/Resources.vala" + menu_base = _tmp0_; +#line 576 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _ ("Rate %s"); +#line 576 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 576 "/home/jens/Source/shotwell/src/Resources.vala" + label_base = _tmp2_; +#line 577 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _ ("Set rating to %s"); +#line 577 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 577 "/home/jens/Source/shotwell/src/Resources.vala" + tooltip_base = _tmp4_; +#line 578 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = _ ("Setting rating to %s"); +#line 578 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 578 "/home/jens/Source/shotwell/src/Resources.vala" + progress_base = _tmp6_; +#line 579 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = g_strdup ("%s"); +#line 579 "/home/jens/Source/shotwell/src/Resources.vala" + display_rating_menu_base = _tmp7_; +#line 580 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = _ ("Display %s"); +#line 580 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 580 "/home/jens/Source/shotwell/src/Resources.vala" + display_rating_label_base = _tmp9_; +#line 581 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = _ ("Only show photos with a rating of %s"); +#line 581 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 581 "/home/jens/Source/shotwell/src/Resources.vala" + display_rating_tooltip_base = _tmp11_; +#line 582 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = _ ("%s or Better"); +#line 582 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 582 "/home/jens/Source/shotwell/src/Resources.vala" + display_rating_or_higher_menu_base = _tmp13_; +#line 583 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = _ ("Display %s or Better"); +#line 583 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 583 "/home/jens/Source/shotwell/src/Resources.vala" + display_rating_or_higher_label_base = _tmp15_; +#line 584 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = _ ("Only show photos with a rating of %s or better"); +#line 584 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 584 "/home/jens/Source/shotwell/src/Resources.vala" + display_rating_or_higher_tooltip_base = _tmp17_; +#line 586 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = resources_get_stars (RATING_ONE); +#line 586 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = _tmp18_; +#line 586 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = g_strdup_printf (menu_base, _tmp19_); +#line 586 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_ONE_MENU); +#line 586 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_ONE_MENU = _tmp20_; +#line 586 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp19_); +#line 587 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = resources_get_stars (RATING_TWO); +#line 587 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp22_ = _tmp21_; +#line 587 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp23_ = g_strdup_printf (menu_base, _tmp22_); +#line 587 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_TWO_MENU); +#line 587 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_TWO_MENU = _tmp23_; +#line 587 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp22_); +#line 588 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp24_ = resources_get_stars (RATING_THREE); +#line 588 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp25_ = _tmp24_; +#line 588 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp26_ = g_strdup_printf (menu_base, _tmp25_); +#line 588 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_THREE_MENU); +#line 588 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_THREE_MENU = _tmp26_; +#line 588 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp25_); +#line 589 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp27_ = resources_get_stars (RATING_FOUR); +#line 589 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp28_ = _tmp27_; +#line 589 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp29_ = g_strdup_printf (menu_base, _tmp28_); +#line 589 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_FOUR_MENU); +#line 589 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_FOUR_MENU = _tmp29_; +#line 589 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp28_); +#line 590 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp30_ = resources_get_stars (RATING_FIVE); +#line 590 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp31_ = _tmp30_; +#line 590 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp32_ = g_strdup_printf (menu_base, _tmp31_); +#line 590 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_FIVE_MENU); +#line 590 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_FIVE_MENU = _tmp32_; +#line 590 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp31_); +#line 592 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp33_ = resources_get_stars (RATING_ONE); +#line 592 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp34_ = _tmp33_; +#line 592 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp35_ = g_strdup_printf (label_base, _tmp34_); +#line 592 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_ONE_LABEL); +#line 592 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_ONE_LABEL = _tmp35_; +#line 592 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp34_); +#line 593 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp36_ = resources_get_stars (RATING_TWO); +#line 593 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp37_ = _tmp36_; +#line 593 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp38_ = g_strdup_printf (label_base, _tmp37_); +#line 593 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_TWO_LABEL); +#line 593 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_TWO_LABEL = _tmp38_; +#line 593 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp37_); +#line 594 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp39_ = resources_get_stars (RATING_THREE); +#line 594 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp40_ = _tmp39_; +#line 594 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp41_ = g_strdup_printf (label_base, _tmp40_); +#line 594 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_THREE_LABEL); +#line 594 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_THREE_LABEL = _tmp41_; +#line 594 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp40_); +#line 595 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp42_ = resources_get_stars (RATING_FOUR); +#line 595 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp43_ = _tmp42_; +#line 595 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp44_ = g_strdup_printf (label_base, _tmp43_); +#line 595 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_FOUR_LABEL); +#line 595 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_FOUR_LABEL = _tmp44_; +#line 595 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp43_); +#line 596 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp45_ = resources_get_stars (RATING_FIVE); +#line 596 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp46_ = _tmp45_; +#line 596 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp47_ = g_strdup_printf (label_base, _tmp46_); +#line 596 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_FIVE_LABEL); +#line 596 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_FIVE_LABEL = _tmp47_; +#line 596 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp46_); +#line 598 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp48_ = resources_get_stars (RATING_ONE); +#line 598 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp49_ = _tmp48_; +#line 598 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp50_ = g_strdup_printf (tooltip_base, _tmp49_); +#line 598 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_ONE_TOOLTIP); +#line 598 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_ONE_TOOLTIP = _tmp50_; +#line 598 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp49_); +#line 599 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp51_ = resources_get_stars (RATING_TWO); +#line 599 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp52_ = _tmp51_; +#line 599 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp53_ = g_strdup_printf (tooltip_base, _tmp52_); +#line 599 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_TWO_TOOLTIP); +#line 599 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_TWO_TOOLTIP = _tmp53_; +#line 599 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp52_); +#line 600 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp54_ = resources_get_stars (RATING_THREE); +#line 600 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp55_ = _tmp54_; +#line 600 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp56_ = g_strdup_printf (tooltip_base, _tmp55_); +#line 600 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_THREE_TOOLTIP); +#line 600 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_THREE_TOOLTIP = _tmp56_; +#line 600 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp55_); +#line 601 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp57_ = resources_get_stars (RATING_FOUR); +#line 601 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp58_ = _tmp57_; +#line 601 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp59_ = g_strdup_printf (tooltip_base, _tmp58_); +#line 601 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_FOUR_TOOLTIP); +#line 601 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_FOUR_TOOLTIP = _tmp59_; +#line 601 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp58_); +#line 602 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp60_ = resources_get_stars (RATING_FIVE); +#line 602 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp61_ = _tmp60_; +#line 602 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp62_ = g_strdup_printf (tooltip_base, _tmp61_); +#line 602 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_FIVE_TOOLTIP); +#line 602 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_FIVE_TOOLTIP = _tmp62_; +#line 602 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp61_); +#line 604 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp63_ = resources_get_stars (RATING_ONE); +#line 604 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp64_ = _tmp63_; +#line 604 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp65_ = g_strdup_printf (progress_base, _tmp64_); +#line 604 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_ONE_PROGRESS); +#line 604 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_ONE_PROGRESS = _tmp65_; +#line 604 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp64_); +#line 605 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp66_ = resources_get_stars (RATING_TWO); +#line 605 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp67_ = _tmp66_; +#line 605 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp68_ = g_strdup_printf (progress_base, _tmp67_); +#line 605 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_TWO_PROGRESS); +#line 605 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_TWO_PROGRESS = _tmp68_; +#line 605 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp67_); +#line 606 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp69_ = resources_get_stars (RATING_THREE); +#line 606 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp70_ = _tmp69_; +#line 606 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp71_ = g_strdup_printf (progress_base, _tmp70_); +#line 606 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_THREE_PROGRESS); +#line 606 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_THREE_PROGRESS = _tmp71_; +#line 606 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp70_); +#line 607 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp72_ = resources_get_stars (RATING_FOUR); +#line 607 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp73_ = _tmp72_; +#line 607 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp74_ = g_strdup_printf (progress_base, _tmp73_); +#line 607 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_FOUR_PROGRESS); +#line 607 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_FOUR_PROGRESS = _tmp74_; +#line 607 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp73_); +#line 608 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp75_ = resources_get_stars (RATING_FIVE); +#line 608 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp76_ = _tmp75_; +#line 608 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp77_ = g_strdup_printf (progress_base, _tmp76_); +#line 608 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_RATE_FIVE_PROGRESS); +#line 608 "/home/jens/Source/shotwell/src/Resources.vala" + resources_RATE_FIVE_PROGRESS = _tmp77_; +#line 608 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp76_); +#line 610 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp78_ = resources_get_stars (RATING_ONE); +#line 610 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp79_ = _tmp78_; +#line 610 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp80_ = g_strdup_printf (display_rating_or_higher_menu_base, _tmp79_); +#line 610 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_ONE_OR_HIGHER_MENU); +#line 610 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_ONE_OR_HIGHER_MENU = _tmp80_; +#line 610 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp79_); +#line 611 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp81_ = resources_get_stars (RATING_TWO); +#line 611 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp82_ = _tmp81_; +#line 611 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp83_ = g_strdup_printf (display_rating_or_higher_menu_base, _tmp82_); +#line 611 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_TWO_OR_HIGHER_MENU); +#line 611 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_TWO_OR_HIGHER_MENU = _tmp83_; +#line 611 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp82_); +#line 612 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp84_ = resources_get_stars (RATING_THREE); +#line 612 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp85_ = _tmp84_; +#line 612 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp86_ = g_strdup_printf (display_rating_or_higher_menu_base, _tmp85_); +#line 612 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_THREE_OR_HIGHER_MENU); +#line 612 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_THREE_OR_HIGHER_MENU = _tmp86_; +#line 612 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp85_); +#line 613 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp87_ = resources_get_stars (RATING_FOUR); +#line 613 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp88_ = _tmp87_; +#line 613 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp89_ = g_strdup_printf (display_rating_or_higher_menu_base, _tmp88_); +#line 613 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_FOUR_OR_HIGHER_MENU); +#line 613 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_FOUR_OR_HIGHER_MENU = _tmp89_; +#line 613 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp88_); +#line 614 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp90_ = resources_get_stars (RATING_FIVE); +#line 614 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp91_ = _tmp90_; +#line 614 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp92_ = g_strdup_printf (display_rating_menu_base, _tmp91_); +#line 614 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_FIVE_OR_HIGHER_MENU); +#line 614 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_FIVE_OR_HIGHER_MENU = _tmp92_; +#line 614 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp91_); +#line 616 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp93_ = resources_get_stars (RATING_ONE); +#line 616 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp94_ = _tmp93_; +#line 616 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp95_ = g_strdup_printf (display_rating_or_higher_label_base, _tmp94_); +#line 616 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_ONE_OR_HIGHER_LABEL); +#line 616 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_ONE_OR_HIGHER_LABEL = _tmp95_; +#line 616 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp94_); +#line 617 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp96_ = resources_get_stars (RATING_TWO); +#line 617 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp97_ = _tmp96_; +#line 617 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp98_ = g_strdup_printf (display_rating_or_higher_label_base, _tmp97_); +#line 617 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_TWO_OR_HIGHER_LABEL); +#line 617 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_TWO_OR_HIGHER_LABEL = _tmp98_; +#line 617 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp97_); +#line 618 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp99_ = resources_get_stars (RATING_THREE); +#line 618 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp100_ = _tmp99_; +#line 618 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp101_ = g_strdup_printf (display_rating_or_higher_label_base, _tmp100_); +#line 618 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_THREE_OR_HIGHER_LABEL); +#line 618 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_THREE_OR_HIGHER_LABEL = _tmp101_; +#line 618 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp100_); +#line 619 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp102_ = resources_get_stars (RATING_FOUR); +#line 619 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp103_ = _tmp102_; +#line 619 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp104_ = g_strdup_printf (display_rating_or_higher_label_base, _tmp103_); +#line 619 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_FOUR_OR_HIGHER_LABEL); +#line 619 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_FOUR_OR_HIGHER_LABEL = _tmp104_; +#line 619 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp103_); +#line 620 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp105_ = resources_get_stars (RATING_FIVE); +#line 620 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp106_ = _tmp105_; +#line 620 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp107_ = g_strdup_printf (display_rating_label_base, _tmp106_); +#line 620 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_FIVE_OR_HIGHER_LABEL); +#line 620 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_FIVE_OR_HIGHER_LABEL = _tmp107_; +#line 620 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp106_); +#line 622 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp108_ = resources_get_stars (RATING_ONE); +#line 622 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp109_ = _tmp108_; +#line 622 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp110_ = g_strdup_printf (display_rating_or_higher_tooltip_base, _tmp109_); +#line 622 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_ONE_OR_HIGHER_TOOLTIP); +#line 622 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_ONE_OR_HIGHER_TOOLTIP = _tmp110_; +#line 622 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp109_); +#line 623 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp111_ = resources_get_stars (RATING_TWO); +#line 623 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp112_ = _tmp111_; +#line 623 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp113_ = g_strdup_printf (display_rating_or_higher_tooltip_base, _tmp112_); +#line 623 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_TWO_OR_HIGHER_TOOLTIP); +#line 623 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_TWO_OR_HIGHER_TOOLTIP = _tmp113_; +#line 623 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp112_); +#line 624 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp114_ = resources_get_stars (RATING_THREE); +#line 624 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp115_ = _tmp114_; +#line 624 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp116_ = g_strdup_printf (display_rating_or_higher_tooltip_base, _tmp115_); +#line 624 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_THREE_OR_HIGHER_TOOLTIP); +#line 624 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_THREE_OR_HIGHER_TOOLTIP = _tmp116_; +#line 624 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp115_); +#line 625 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp117_ = resources_get_stars (RATING_FOUR); +#line 625 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp118_ = _tmp117_; +#line 625 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp119_ = g_strdup_printf (display_rating_or_higher_tooltip_base, _tmp118_); +#line 625 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_FOUR_OR_HIGHER_TOOLTIP); +#line 625 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_FOUR_OR_HIGHER_TOOLTIP = _tmp119_; +#line 625 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp118_); +#line 626 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp120_ = resources_get_stars (RATING_FIVE); +#line 626 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp121_ = _tmp120_; +#line 626 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp122_ = g_strdup_printf (display_rating_tooltip_base, _tmp121_); +#line 626 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_DISPLAY_FIVE_OR_HIGHER_TOOLTIP); +#line 626 "/home/jens/Source/shotwell/src/Resources.vala" + resources_DISPLAY_FIVE_OR_HIGHER_TOOLTIP = _tmp122_; +#line 626 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp121_); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (display_rating_or_higher_tooltip_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (display_rating_or_higher_label_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (display_rating_or_higher_menu_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (display_rating_tooltip_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (display_rating_label_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (display_rating_menu_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (progress_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (tooltip_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (label_base); +#line 574 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (menu_base); +#line 2350 "Resources.c" +} + + +gchar* resources_jump_to_file_failed (GError* err) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + GError* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 685 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _ ("Unable to open in file manager: %s"); +#line 685 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = err; +#line 685 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = _tmp1_->message; +#line 685 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = g_strdup_printf (_tmp0_, _tmp2_); +#line 685 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp3_; +#line 685 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2372 "Resources.c" +} + + +static void _dim_pixbuf_resources_add_stock_icon_modify (GdkPixbuf* pixbuf, gpointer self) { +#line 726 "/home/jens/Source/shotwell/src/Resources.vala" + dim_pixbuf (pixbuf); +#line 2379 "Resources.c" +} + + +void resources_init (void) { + GtkIconFactory* _tmp0_ = NULL; + GFile* icons_dir = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GThemedIcon* _tmp23_ = NULL; + GThemedIcon* _tmp24_ = NULL; + GThemedIcon* _tmp25_ = NULL; + GThemedIcon* _tmp26_ = NULL; + GThemedIcon* _tmp27_ = NULL; + GThemedIcon* _tmp28_ = NULL; + GThemedIcon* _tmp29_ = NULL; + GThemedIcon* _tmp30_ = NULL; + GThemedIcon* _tmp31_ = NULL; + GThemedIcon* _tmp32_ = NULL; + GThemedIcon* _tmp33_ = NULL; + GThemedIcon* _tmp34_ = NULL; + GThemedIcon* _tmp35_ = NULL; + GThemedIcon* _tmp36_ = NULL; + GThemedIcon* _tmp37_ = NULL; + GThemedIcon* _tmp38_ = NULL; + GtkIconFactory* _tmp39_ = NULL; +#line 709 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = gtk_icon_factory_new (); +#line 709 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (resources_factory); +#line 709 "/home/jens/Source/shotwell/src/Resources.vala" + resources_factory = _tmp0_; +#line 711 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = app_dirs_get_resources_dir (); +#line 711 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = _tmp1_; +#line 711 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = g_file_get_child (_tmp2_, "icons"); +#line 711 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = _tmp3_; +#line 711 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp2_); +#line 711 "/home/jens/Source/shotwell/src/Resources.vala" + icons_dir = _tmp4_; +#line 712 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_file_get_child (icons_dir, "crop.svg"); +#line 712 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = _tmp5_; +#line 712 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp6_, RESOURCES_CROP); +#line 712 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp6_); +#line 713 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = g_file_get_child (icons_dir, "redeye.png"); +#line 713 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = _tmp7_; +#line 713 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp8_, RESOURCES_REDEYE); +#line 713 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp8_); +#line 714 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = g_file_get_child (icons_dir, "make-primary.svg"); +#line 714 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = _tmp9_; +#line 714 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp10_, RESOURCES_MAKE_PRIMARY); +#line 714 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp10_); +#line 715 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = g_file_get_child (icons_dir, "import.svg"); +#line 715 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = _tmp11_; +#line 715 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp12_, RESOURCES_IMPORT); +#line 715 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp12_); +#line 716 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = g_file_get_child (icons_dir, "straighten.svg"); +#line 716 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = _tmp13_; +#line 716 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp14_, RESOURCES_STRAIGHTEN); +#line 716 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp14_); +#line 717 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = g_file_get_child (icons_dir, "import-all.png"); +#line 717 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = _tmp15_; +#line 717 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp16_, RESOURCES_IMPORT_ALL); +#line 717 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp16_); +#line 718 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = g_file_get_child (icons_dir, "shotwell-auto-enhance.png"); +#line 718 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = _tmp17_; +#line 718 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp18_, RESOURCES_ENHANCE); +#line 718 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp18_); +#line 719 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = g_file_get_child (icons_dir, "crop-pivot-reticle.png"); +#line 719 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = _tmp19_; +#line 719 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp20_, RESOURCES_CROP_PIVOT_RETICLE); +#line 719 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp20_); +#line 720 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = g_file_get_child (icons_dir, "merge.svg"); +#line 720 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp22_ = _tmp21_; +#line 720 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon (_tmp22_, RESOURCES_MERGE); +#line 720 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp22_); +#line 721 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp23_ = (GThemedIcon*) g_themed_icon_new (RESOURCES_ICON_FLAGGED_PAGE); +#line 721 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp24_ = _tmp23_; +#line 721 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon_from_themed_icon (_tmp24_, RESOURCES_ICON_FLAGGED_PAGE, NULL, NULL); +#line 721 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp24_); +#line 722 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp25_ = (GThemedIcon*) g_themed_icon_new (RESOURCES_ICON_VIDEOS_PAGE); +#line 722 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp26_ = _tmp25_; +#line 722 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon_from_themed_icon (_tmp26_, RESOURCES_ICON_VIDEOS_PAGE, NULL, NULL); +#line 722 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp26_); +#line 723 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp27_ = (GThemedIcon*) g_themed_icon_new (RESOURCES_ICON_SINGLE_PHOTO); +#line 723 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp28_ = _tmp27_; +#line 723 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon_from_themed_icon (_tmp28_, RESOURCES_ICON_SINGLE_PHOTO, NULL, NULL); +#line 723 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp28_); +#line 724 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp29_ = (GThemedIcon*) g_themed_icon_new (RESOURCES_ICON_CAMERAS); +#line 724 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp30_ = _tmp29_; +#line 724 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon_from_themed_icon (_tmp30_, RESOURCES_ICON_CAMERAS, NULL, NULL); +#line 724 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp30_); +#line 726 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp31_ = (GThemedIcon*) g_themed_icon_new (RESOURCES_ICON_FILTER_FLAGGED); +#line 726 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp32_ = _tmp31_; +#line 726 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon_from_themed_icon (_tmp32_, RESOURCES_ICON_FILTER_FLAGGED_DISABLED, _dim_pixbuf_resources_add_stock_icon_modify, NULL); +#line 726 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp32_); +#line 728 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp33_ = (GThemedIcon*) g_themed_icon_new (RESOURCES_ICON_FILTER_PHOTOS); +#line 728 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp34_ = _tmp33_; +#line 728 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon_from_themed_icon (_tmp34_, RESOURCES_ICON_FILTER_PHOTOS_DISABLED, _dim_pixbuf_resources_add_stock_icon_modify, NULL); +#line 728 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp34_); +#line 730 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp35_ = (GThemedIcon*) g_themed_icon_new (RESOURCES_ICON_FILTER_VIDEOS); +#line 730 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp36_ = _tmp35_; +#line 730 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon_from_themed_icon (_tmp36_, RESOURCES_ICON_FILTER_VIDEOS_DISABLED, _dim_pixbuf_resources_add_stock_icon_modify, NULL); +#line 730 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp36_); +#line 732 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp37_ = (GThemedIcon*) g_themed_icon_new (RESOURCES_ICON_FILTER_RAW); +#line 732 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp38_ = _tmp37_; +#line 732 "/home/jens/Source/shotwell/src/Resources.vala" + resources_add_stock_icon_from_themed_icon (_tmp38_, RESOURCES_ICON_FILTER_RAW_DISABLED, _dim_pixbuf_resources_add_stock_icon_modify, NULL); +#line 732 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp38_); +#line 735 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp39_ = resources_factory; +#line 735 "/home/jens/Source/shotwell/src/Resources.vala" + gtk_icon_factory_add_default (_tmp39_); +#line 737 "/home/jens/Source/shotwell/src/Resources.vala" + resources_generate_rating_strings (); +#line 707 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (icons_dir); +#line 2587 "Resources.c" +} + + +void resources_terminate (void) { +} + + +/** + * @brief Helper for getting a format string that matches the + * user's LC_TIME settings from the system. This is intended + * to help support the use case where a user wants the text + * from one locale, but the timestamp format of another. + * + * Stolen wholesale from code written for Geary by Jim Nelson + * and from Marcel Stimberg's original patch to Shotwell to + * try to fix this; both are graciously thanked for their help. + */ +void resources_fetch_lc_time_format (void) { + gchar* old_language = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* old_messages = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* lc_time = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + const gchar* _tmp25_ = NULL; +#line 756 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = g_getenv ("LANGUAGE"); +#line 756 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 756 "/home/jens/Source/shotwell/src/Resources.vala" + old_language = _tmp1_; +#line 757 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = old_language; +#line 757 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp2_ != NULL) { +#line 758 "/home/jens/Source/shotwell/src/Resources.vala" + g_unsetenv ("LANGUAGE"); +#line 2645 "Resources.c" + } +#line 762 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = setlocale (LC_MESSAGES, NULL); +#line 762 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 762 "/home/jens/Source/shotwell/src/Resources.vala" + old_messages = _tmp4_; +#line 763 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = setlocale (LC_TIME, NULL); +#line 763 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 763 "/home/jens/Source/shotwell/src/Resources.vala" + lc_time = _tmp6_; +#line 765 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = lc_time; +#line 765 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp7_ != NULL) { +#line 2663 "Resources.c" + const gchar* _tmp8_ = NULL; +#line 766 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = lc_time; +#line 766 "/home/jens/Source/shotwell/src/Resources.vala" + setlocale (LC_MESSAGES, _tmp8_); +#line 2669 "Resources.c" + } +#line 773 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = _ ("%-I:%M %p"); +#line 773 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 773 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_HH_MM_FORMAT_STRING); +#line 773 "/home/jens/Source/shotwell/src/Resources.vala" + resources_HH_MM_FORMAT_STRING = _tmp10_; +#line 778 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = _ ("%-I:%M:%S %p"); +#line 778 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 778 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_HH_MM_SS_FORMAT_STRING); +#line 778 "/home/jens/Source/shotwell/src/Resources.vala" + resources_HH_MM_SS_FORMAT_STRING = _tmp12_; +#line 782 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = _ ("%a %b %d, %Y"); +#line 782 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 782 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_LONG_DATE_FORMAT_STRING); +#line 782 "/home/jens/Source/shotwell/src/Resources.vala" + resources_LONG_DATE_FORMAT_STRING = _tmp14_; +#line 787 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = C_ ("MultidayFormat", "%a %b %d"); +#line 787 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 787 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_START_MULTIDAY_DATE_FORMAT_STRING); +#line 787 "/home/jens/Source/shotwell/src/Resources.vala" + resources_START_MULTIDAY_DATE_FORMAT_STRING = _tmp16_; +#line 792 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = C_ ("MultidayFormat", "%d, %Y"); +#line 792 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 792 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_END_MULTIDAY_DATE_FORMAT_STRING); +#line 792 "/home/jens/Source/shotwell/src/Resources.vala" + resources_END_MULTIDAY_DATE_FORMAT_STRING = _tmp18_; +#line 797 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = C_ ("MultimonthFormat", "%a %b %d"); +#line 797 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = g_strdup (_tmp19_); +#line 797 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_START_MULTIMONTH_DATE_FORMAT_STRING); +#line 797 "/home/jens/Source/shotwell/src/Resources.vala" + resources_START_MULTIMONTH_DATE_FORMAT_STRING = _tmp20_; +#line 802 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = C_ ("MultimonthFormat", "%a %b %d, %Y"); +#line 802 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 802 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (resources_END_MULTIMONTH_DATE_FORMAT_STRING); +#line 802 "/home/jens/Source/shotwell/src/Resources.vala" + resources_END_MULTIMONTH_DATE_FORMAT_STRING = _tmp22_; +#line 805 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp23_ = old_messages; +#line 805 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp23_ != NULL) { +#line 2731 "Resources.c" + const gchar* _tmp24_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp24_ = old_messages; +#line 806 "/home/jens/Source/shotwell/src/Resources.vala" + setlocale (LC_MESSAGES, _tmp24_); +#line 2737 "Resources.c" + } +#line 809 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp25_ = old_language; +#line 809 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp25_ != NULL) { +#line 2743 "Resources.c" + const gchar* _tmp26_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp26_ = old_language; +#line 810 "/home/jens/Source/shotwell/src/Resources.vala" + g_setenv ("LANGUAGE", _tmp26_, TRUE); +#line 2749 "Resources.c" + } +#line 753 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (lc_time); +#line 753 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (old_messages); +#line 753 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (old_language); +#line 2757 "Resources.c" +} + + +/** + * @brief Returns a precached format string that matches the + * user's LC_TIME settings. + */ +gchar* resources_get_hh_mm_format_string (void) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 819 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_HH_MM_FORMAT_STRING; +#line 819 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 820 "/home/jens/Source/shotwell/src/Resources.vala" + resources_fetch_lc_time_format (); +#line 2776 "Resources.c" + } +#line 823 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_HH_MM_FORMAT_STRING; +#line 823 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 823 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 823 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2786 "Resources.c" +} + + +gchar* resources_get_hh_mm_ss_format_string (void) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 827 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_HH_MM_SS_FORMAT_STRING; +#line 827 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 828 "/home/jens/Source/shotwell/src/Resources.vala" + resources_fetch_lc_time_format (); +#line 2801 "Resources.c" + } +#line 831 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_HH_MM_SS_FORMAT_STRING; +#line 831 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 831 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 831 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2811 "Resources.c" +} + + +gchar* resources_get_long_date_format_string (void) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 835 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_LONG_DATE_FORMAT_STRING; +#line 835 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 836 "/home/jens/Source/shotwell/src/Resources.vala" + resources_fetch_lc_time_format (); +#line 2826 "Resources.c" + } +#line 839 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_LONG_DATE_FORMAT_STRING; +#line 839 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 839 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 839 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2836 "Resources.c" +} + + +gchar* resources_get_start_multiday_span_format_string (void) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 843 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_START_MULTIDAY_DATE_FORMAT_STRING; +#line 843 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 844 "/home/jens/Source/shotwell/src/Resources.vala" + resources_fetch_lc_time_format (); +#line 2851 "Resources.c" + } +#line 847 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_START_MULTIDAY_DATE_FORMAT_STRING; +#line 847 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 847 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 847 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2861 "Resources.c" +} + + +gchar* resources_get_end_multiday_span_format_string (void) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 851 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_END_MULTIDAY_DATE_FORMAT_STRING; +#line 851 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 852 "/home/jens/Source/shotwell/src/Resources.vala" + resources_fetch_lc_time_format (); +#line 2876 "Resources.c" + } +#line 855 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_END_MULTIDAY_DATE_FORMAT_STRING; +#line 855 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 855 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 855 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2886 "Resources.c" +} + + +gchar* resources_get_start_multimonth_span_format_string (void) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 859 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_START_MULTIMONTH_DATE_FORMAT_STRING; +#line 859 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 860 "/home/jens/Source/shotwell/src/Resources.vala" + resources_fetch_lc_time_format (); +#line 2901 "Resources.c" + } +#line 863 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_START_MULTIMONTH_DATE_FORMAT_STRING; +#line 863 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 863 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 863 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2911 "Resources.c" +} + + +gchar* resources_get_end_multimonth_span_format_string (void) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 867 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_END_MULTIMONTH_DATE_FORMAT_STRING; +#line 867 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 868 "/home/jens/Source/shotwell/src/Resources.vala" + resources_fetch_lc_time_format (); +#line 2926 "Resources.c" + } +#line 871 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = resources_END_MULTIMONTH_DATE_FORMAT_STRING; +#line 871 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 871 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp2_; +#line 871 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2936 "Resources.c" +} + + +GFile* resources_get_ui (const gchar* filename) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 874 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = app_dirs_get_resources_dir (); +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _tmp0_; +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_file_get_child (_tmp1_, "ui"); +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _tmp2_; +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = filename; +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_file_get_child (_tmp3_, _tmp4_); +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = _tmp5_; +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp3_); +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp1_); +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp6_; +#line 875 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 2973 "Resources.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 891 "/home/jens/Source/shotwell/src/Resources.vala" + return self ? g_object_ref (self) : NULL; +#line 2980 "Resources.c" +} + + +GdkPixbuf* resources_get_noninterpretable_badge_pixbuf (void) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + GError * _inner_error_ = NULL; +#line 882 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_noninterpretable_badge_pixbuf; +#line 882 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 2994 "Resources.c" + { + GdkPixbuf* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = app_dirs_get_resources_dir (); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _tmp2_; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = g_file_get_child (_tmp3_, "icons"); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = _tmp4_; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_file_get_child (_tmp5_, RESOURCES_NONINTERPRETABLE_BADGE_FILE); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = _tmp6_; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = g_file_get_path (_tmp7_); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = _tmp8_; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = gdk_pixbuf_new_from_file (_tmp9_, &_inner_error_); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = _tmp10_; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp9_); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp7_); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp5_); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp3_); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _tmp11_; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3040 "Resources.c" + goto __catch416_g_error; + } +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = _tmp1_; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = NULL; +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (resources_noninterpretable_badge_pixbuf); +#line 884 "/home/jens/Source/shotwell/src/Resources.vala" + resources_noninterpretable_badge_pixbuf = _tmp12_; +#line 883 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp1_); +#line 3053 "Resources.c" + } + goto __finally416; + __catch416_g_error: + { + GError* err = NULL; + const gchar* _tmp13_ = NULL; +#line 883 "/home/jens/Source/shotwell/src/Resources.vala" + err = _inner_error_; +#line 883 "/home/jens/Source/shotwell/src/Resources.vala" + _inner_error_ = NULL; +#line 887 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = err->message; +#line 887 "/home/jens/Source/shotwell/src/Resources.vala" + g_error ("Resources.vala:887: VideoReader can't load noninterpretable badge imag" \ +"e: %s", _tmp13_); +#line 883 "/home/jens/Source/shotwell/src/Resources.vala" + _g_error_free0 (err); +#line 3070 "Resources.c" + } + __finally416: +#line 883 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 883 "/home/jens/Source/shotwell/src/Resources.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 883 "/home/jens/Source/shotwell/src/Resources.vala" + g_clear_error (&_inner_error_); +#line 883 "/home/jens/Source/shotwell/src/Resources.vala" + return NULL; +#line 3081 "Resources.c" + } + } +#line 891 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = resources_noninterpretable_badge_pixbuf; +#line 891 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 891 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp15_; +#line 891 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3092 "Resources.c" +} + + +GtkIconTheme* resources_get_icon_theme_engine (void) { + GtkIconTheme* result = NULL; + GtkIconTheme* icon_theme = NULL; + GtkIconTheme* _tmp0_ = NULL; + GtkIconTheme* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = gtk_icon_theme_get_default (); +#line 895 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 895 "/home/jens/Source/shotwell/src/Resources.vala" + icon_theme = _tmp1_; +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = app_dirs_get_resources_dir (); +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _tmp2_; +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = g_file_get_child (_tmp3_, "icons"); +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = _tmp4_; +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = _tmp6_; +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + gtk_icon_theme_append_search_path (icon_theme, _tmp7_); +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp7_); +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp5_); +#line 896 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp3_); +#line 898 "/home/jens/Source/shotwell/src/Resources.vala" + result = icon_theme; +#line 898 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3137 "Resources.c" +} + + +GdkPixbuf* resources_get_icon (const gchar* name, gint scale) { + GdkPixbuf* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp10_ = NULL; + GdkPixbuf* pixbuf = NULL; + GeeHashMap* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + gint _tmp22_ = 0; + GdkPixbuf* scaled_pixbuf = NULL; + GdkPixbuf* _tmp23_ = NULL; + gint _tmp24_ = 0; + GdkPixbuf* _tmp25_ = NULL; + GeeHashMap* _tmp26_ = NULL; + GeeHashMap* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gint _tmp30_ = 0; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + GdkPixbuf* _tmp33_ = NULL; +#line 903 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 904 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_scaled_icon_cache; +#line 904 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ != NULL) { +#line 3168 "Resources.c" + gchar* scaled_name = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gchar* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 905 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = name; +#line 905 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = scale; +#line 905 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = g_strdup_printf ("%s-%d", _tmp1_, _tmp2_); +#line 905 "/home/jens/Source/shotwell/src/Resources.vala" + scaled_name = _tmp3_; +#line 906 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = resources_scaled_icon_cache; +#line 906 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = scaled_name; +#line 906 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); +#line 906 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp6_) { +#line 3192 "Resources.c" + GeeHashMap* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; +#line 907 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = resources_scaled_icon_cache; +#line 907 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = scaled_name; +#line 907 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_); +#line 907 "/home/jens/Source/shotwell/src/Resources.vala" + result = (GdkPixbuf*) _tmp9_; +#line 907 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (scaled_name); +#line 907 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3208 "Resources.c" + } +#line 904 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (scaled_name); +#line 3212 "Resources.c" + } +#line 912 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = resources_icon_cache; +#line 912 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp10_ == NULL) { +#line 3218 "Resources.c" + GeeHashMap* _tmp11_ = NULL; +#line 913 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GDK_TYPE_PIXBUF, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 913 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (resources_icon_cache); +#line 913 "/home/jens/Source/shotwell/src/Resources.vala" + resources_icon_cache = _tmp11_; +#line 3226 "Resources.c" + } +#line 916 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = resources_icon_cache; +#line 916 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = name; +#line 916 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_); +#line 916 "/home/jens/Source/shotwell/src/Resources.vala" + pixbuf = (GdkPixbuf*) _tmp14_; +#line 917 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = pixbuf; +#line 917 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp15_ == NULL) { +#line 3240 "Resources.c" + const gchar* _tmp16_ = NULL; + GdkPixbuf* _tmp17_ = NULL; + GdkPixbuf* _tmp18_ = NULL; + GeeHashMap* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; +#line 918 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = name; +#line 918 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = resources_load_icon (_tmp16_, 0); +#line 918 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 918 "/home/jens/Source/shotwell/src/Resources.vala" + pixbuf = _tmp17_; +#line 919 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = pixbuf; +#line 919 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp18_ == NULL) { +#line 920 "/home/jens/Source/shotwell/src/Resources.vala" + result = NULL; +#line 920 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 920 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3265 "Resources.c" + } +#line 922 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = resources_icon_cache; +#line 922 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = name; +#line 922 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = pixbuf; +#line 922 "/home/jens/Source/shotwell/src/Resources.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp20_, _tmp21_); +#line 3275 "Resources.c" + } +#line 925 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp22_ = scale; +#line 925 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp22_ <= 0) { +#line 926 "/home/jens/Source/shotwell/src/Resources.vala" + result = pixbuf; +#line 926 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3285 "Resources.c" + } +#line 928 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp23_ = pixbuf; +#line 928 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp24_ = scale; +#line 928 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp25_ = scale_pixbuf (_tmp23_, _tmp24_, GDK_INTERP_BILINEAR, FALSE); +#line 928 "/home/jens/Source/shotwell/src/Resources.vala" + scaled_pixbuf = _tmp25_; +#line 930 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp26_ = resources_scaled_icon_cache; +#line 930 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp26_ == NULL) { +#line 3299 "Resources.c" + GeeHashMap* _tmp27_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp27_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GDK_TYPE_PIXBUF, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 931 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (resources_scaled_icon_cache); +#line 931 "/home/jens/Source/shotwell/src/Resources.vala" + resources_scaled_icon_cache = _tmp27_; +#line 3307 "Resources.c" + } +#line 933 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp28_ = resources_scaled_icon_cache; +#line 933 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp29_ = name; +#line 933 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp30_ = scale; +#line 933 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp31_ = g_strdup_printf ("%s-%d", _tmp29_, _tmp30_); +#line 933 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp32_ = _tmp31_; +#line 933 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp33_ = scaled_pixbuf; +#line 933 "/home/jens/Source/shotwell/src/Resources.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp32_, _tmp33_); +#line 933 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp32_); +#line 935 "/home/jens/Source/shotwell/src/Resources.vala" + result = scaled_pixbuf; +#line 935 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 935 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3331 "Resources.c" +} + + +GdkPixbuf* resources_load_icon (const gchar* name, gint scale) { + GdkPixbuf* result = NULL; + GFile* icons_dir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GdkPixbuf* pixbuf = NULL; + GdkPixbuf* _tmp16_ = NULL; + GdkPixbuf* _tmp17_ = NULL; + gint _tmp18_ = 0; + GError * _inner_error_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 939 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = app_dirs_get_resources_dir (); +#line 939 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _tmp0_; +#line 939 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_file_get_child (_tmp1_, "icons"); +#line 939 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _tmp2_; +#line 939 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp1_); +#line 939 "/home/jens/Source/shotwell/src/Resources.vala" + icons_dir = _tmp3_; +#line 941 "/home/jens/Source/shotwell/src/Resources.vala" + pixbuf = NULL; +#line 3363 "Resources.c" + { + GdkPixbuf* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = name; +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_file_get_child (icons_dir, _tmp5_); +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = _tmp6_; +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = g_file_get_path (_tmp7_); +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = _tmp8_; +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = gdk_pixbuf_new_from_file (_tmp9_, &_inner_error_); +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = _tmp10_; +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp9_); +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp7_); +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = _tmp11_; +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3396 "Resources.c" + goto __catch417_g_error; + } +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = _tmp4_; +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 943 "/home/jens/Source/shotwell/src/Resources.vala" + pixbuf = _tmp12_; +#line 942 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp4_); +#line 3409 "Resources.c" + } + goto __finally417; + __catch417_g_error: + { + GError* err = NULL; + const gchar* _tmp13_ = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 942 "/home/jens/Source/shotwell/src/Resources.vala" + err = _inner_error_; +#line 942 "/home/jens/Source/shotwell/src/Resources.vala" + _inner_error_ = NULL; +#line 945 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = name; +#line 945 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = err; +#line 945 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = _tmp14_->message; +#line 945 "/home/jens/Source/shotwell/src/Resources.vala" + g_critical ("Resources.vala:945: Unable to load icon %s: %s", _tmp13_, _tmp15_); +#line 942 "/home/jens/Source/shotwell/src/Resources.vala" + _g_error_free0 (err); +#line 3432 "Resources.c" + } + __finally417: +#line 942 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 942 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 942 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (icons_dir); +#line 942 "/home/jens/Source/shotwell/src/Resources.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 942 "/home/jens/Source/shotwell/src/Resources.vala" + g_clear_error (&_inner_error_); +#line 942 "/home/jens/Source/shotwell/src/Resources.vala" + return NULL; +#line 3447 "Resources.c" + } +#line 948 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = pixbuf; +#line 948 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp16_ == NULL) { +#line 949 "/home/jens/Source/shotwell/src/Resources.vala" + result = NULL; +#line 949 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 949 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (icons_dir); +#line 949 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3461 "Resources.c" + } +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = scale; +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp18_ > 0) { +#line 3467 "Resources.c" + GdkPixbuf* _tmp19_ = NULL; + gint _tmp20_ = 0; + GdkPixbuf* _tmp21_ = NULL; +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = pixbuf; +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = scale; +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = scale_pixbuf (_tmp19_, _tmp20_, GDK_INTERP_BILINEAR, FALSE); +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp17_); +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = _tmp21_; +#line 3481 "Resources.c" + } else { + GdkPixbuf* _tmp22_ = NULL; + GdkPixbuf* _tmp23_ = NULL; +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp22_ = pixbuf; +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp23_ = _g_object_ref0 (_tmp22_); +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp17_); +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = _tmp23_; +#line 3493 "Resources.c" + } +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp17_; +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (icons_dir); +#line 951 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3503 "Resources.c" +} + + +void resources_add_stock_icon (GFile* file, const gchar* stock_id) { + GdkPixbuf* pixbuf = NULL; + GtkIconSet* icon_set = NULL; + GdkPixbuf* _tmp10_ = NULL; + GtkIconSet* _tmp11_ = NULL; + GtkIconFactory* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 954 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 954 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_if_fail (stock_id != NULL); +#line 955 "/home/jens/Source/shotwell/src/Resources.vala" + pixbuf = NULL; +#line 3521 "Resources.c" + { + GdkPixbuf* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = file; +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _tmp2_; +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = gdk_pixbuf_new_from_file (_tmp3_, &_inner_error_); +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = _tmp4_; +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp3_); +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = _tmp5_; +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3546 "Resources.c" + goto __catch418_g_error; + } +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = _tmp0_; +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 957 "/home/jens/Source/shotwell/src/Resources.vala" + pixbuf = _tmp6_; +#line 956 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp0_); +#line 3559 "Resources.c" + } + goto __finally418; + __catch418_g_error: + { + GError* err = NULL; + const gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 956 "/home/jens/Source/shotwell/src/Resources.vala" + err = _inner_error_; +#line 956 "/home/jens/Source/shotwell/src/Resources.vala" + _inner_error_ = NULL; +#line 959 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = stock_id; +#line 959 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = err; +#line 959 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = _tmp8_->message; +#line 959 "/home/jens/Source/shotwell/src/Resources.vala" + g_critical ("Resources.vala:959: Unable to load stock icon %s: %s", _tmp7_, _tmp9_); +#line 956 "/home/jens/Source/shotwell/src/Resources.vala" + _g_error_free0 (err); +#line 3582 "Resources.c" + } + __finally418: +#line 956 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 956 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 956 "/home/jens/Source/shotwell/src/Resources.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 956 "/home/jens/Source/shotwell/src/Resources.vala" + g_clear_error (&_inner_error_); +#line 956 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 3595 "Resources.c" + } +#line 962 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = pixbuf; +#line 962 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = gtk_icon_set_new_from_pixbuf (_tmp10_); +#line 962 "/home/jens/Source/shotwell/src/Resources.vala" + icon_set = _tmp11_; +#line 963 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = resources_factory; +#line 963 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = stock_id; +#line 963 "/home/jens/Source/shotwell/src/Resources.vala" + gtk_icon_factory_add (_tmp12_, _tmp13_, icon_set); +#line 954 "/home/jens/Source/shotwell/src/Resources.vala" + _gtk_icon_set_unref0 (icon_set); +#line 954 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pixbuf); +#line 3613 "Resources.c" +} + + +void resources_add_stock_icon_from_themed_icon (GThemedIcon* gicon, const gchar* stock_id, ResourcesAddStockIconModify modify, void* modify_target) { + GtkIconTheme* icon_theme = NULL; + GtkIconTheme* _tmp0_ = NULL; + GtkIconTheme* _tmp1_ = NULL; + GtkIconTheme* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GtkIconInfo* info = NULL; + GtkIconTheme* _tmp9_ = NULL; + GThemedIcon* _tmp10_ = NULL; + GtkIconInfo* _tmp11_ = NULL; + GtkIconInfo* _tmp12_ = NULL; + GError * _inner_error_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_if_fail (G_IS_THEMED_ICON (gicon)); +#line 968 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_if_fail (stock_id != NULL); +#line 970 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = gtk_icon_theme_get_default (); +#line 970 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 970 "/home/jens/Source/shotwell/src/Resources.vala" + icon_theme = _tmp1_; +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = icon_theme; +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = app_dirs_get_resources_dir (); +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = _tmp3_; +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_file_get_child (_tmp4_, "icons"); +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = _tmp5_; +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = _tmp7_; +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + gtk_icon_theme_append_search_path (_tmp2_, _tmp8_); +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp8_); +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp6_); +#line 971 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp4_); +#line 973 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = icon_theme; +#line 973 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = gicon; +#line 973 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = gtk_icon_theme_lookup_by_gicon (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, G_TYPE_ICON, GIcon), RESOURCES_DEFAULT_ICON_SCALE, GTK_ICON_LOOKUP_FORCE_SIZE); +#line 973 "/home/jens/Source/shotwell/src/Resources.vala" + info = _tmp11_; +#line 975 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = info; +#line 975 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp12_ == NULL) { +#line 3678 "Resources.c" + const gchar* _tmp13_ = NULL; +#line 976 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = stock_id; +#line 976 "/home/jens/Source/shotwell/src/Resources.vala" + g_debug ("Resources.vala:976: unable to load icon for: %s", _tmp13_); +#line 977 "/home/jens/Source/shotwell/src/Resources.vala" + _gtk_icon_info_free0 (info); +#line 977 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (icon_theme); +#line 977 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 3690 "Resources.c" + } + { + GdkPixbuf* pix = NULL; + GtkIconInfo* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + ResourcesAddStockIconModify _tmp16_ = NULL; + void* _tmp16__target = NULL; + GtkIconSet* icon_set = NULL; + GdkPixbuf* _tmp19_ = NULL; + GtkIconSet* _tmp20_ = NULL; + GtkIconFactory* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + GtkIconSet* _tmp23_ = NULL; +#line 981 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = info; +#line 981 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = gtk_icon_info_load_icon (_tmp14_, &_inner_error_); +#line 981 "/home/jens/Source/shotwell/src/Resources.vala" + pix = _tmp15_; +#line 981 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3712 "Resources.c" + goto __catch419_g_error; + } +#line 982 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = modify; +#line 982 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16__target = modify_target; +#line 982 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp16_ != NULL) { +#line 3721 "Resources.c" + ResourcesAddStockIconModify _tmp17_ = NULL; + void* _tmp17__target = NULL; + GdkPixbuf* _tmp18_ = NULL; +#line 983 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = modify; +#line 983 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17__target = modify_target; +#line 983 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = pix; +#line 983 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ (_tmp18_, _tmp17__target); +#line 3733 "Resources.c" + } +#line 985 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = pix; +#line 985 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = gtk_icon_set_new_from_pixbuf (_tmp19_); +#line 985 "/home/jens/Source/shotwell/src/Resources.vala" + icon_set = _tmp20_; +#line 986 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = resources_factory; +#line 986 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp22_ = stock_id; +#line 986 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp23_ = icon_set; +#line 986 "/home/jens/Source/shotwell/src/Resources.vala" + gtk_icon_factory_add (_tmp21_, _tmp22_, _tmp23_); +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + _gtk_icon_set_unref0 (icon_set); +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (pix); +#line 3753 "Resources.c" + } + goto __finally419; + __catch419_g_error: + { + GError* err = NULL; + GError* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + err = _inner_error_; +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + _inner_error_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp24_ = err; +#line 988 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp25_ = _tmp24_->message; +#line 988 "/home/jens/Source/shotwell/src/Resources.vala" + g_debug ("Resources.vala:988: %s", _tmp25_); +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + _g_error_free0 (err); +#line 3773 "Resources.c" + } + __finally419: +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + _gtk_icon_info_free0 (info); +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (icon_theme); +#line 980 "/home/jens/Source/shotwell/src/Resources.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 980 "/home/jens/Source/shotwell/src/Resources.vala" + g_clear_error (&_inner_error_); +#line 980 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 3788 "Resources.c" + } +#line 968 "/home/jens/Source/shotwell/src/Resources.vala" + _gtk_icon_info_free0 (info); +#line 968 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (icon_theme); +#line 3794 "Resources.c" +} + + +gchar* resources_get_help_path (void) { + gchar* result = NULL; + GFile* help_dir = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* help_index = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = app_dirs_get_exec_dir (); +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _tmp0_; +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = g_file_get_child (_tmp1_, "help"); +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _tmp2_; +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = g_file_get_child (_tmp3_, "C"); +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = _tmp4_; +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp3_); +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp1_); +#line 1000 "/home/jens/Source/shotwell/src/Resources.vala" + help_dir = _tmp5_; +#line 1001 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = help_dir; +#line 1001 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = g_file_get_child (_tmp6_, "index.page"); +#line 1001 "/home/jens/Source/shotwell/src/Resources.vala" + help_index = _tmp7_; +#line 1003 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = help_index; +#line 1003 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = g_file_query_exists (_tmp8_, NULL); +#line 1003 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp9_) { +#line 3842 "Resources.c" + gchar* help_path = NULL; + GFile* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 1006 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = help_dir; +#line 1006 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = g_file_get_path (_tmp10_); +#line 1006 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (help_path); +#line 1006 "/home/jens/Source/shotwell/src/Resources.vala" + help_path = _tmp11_; +#line 1008 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = help_path; +#line 1008 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = g_str_has_suffix (_tmp12_, "/"); +#line 1008 "/home/jens/Source/shotwell/src/Resources.vala" + if (!_tmp13_) { +#line 3862 "Resources.c" + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 1009 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = help_path; +#line 1009 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = g_strconcat (_tmp14_, "/", NULL); +#line 1009 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (help_path); +#line 1009 "/home/jens/Source/shotwell/src/Resources.vala" + help_path = _tmp15_; +#line 3873 "Resources.c" + } +#line 1012 "/home/jens/Source/shotwell/src/Resources.vala" + result = help_path; +#line 1012 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (help_index); +#line 1012 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (help_dir); +#line 1012 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3883 "Resources.c" + } +#line 1018 "/home/jens/Source/shotwell/src/Resources.vala" + result = NULL; +#line 1018 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (help_index); +#line 1018 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (help_dir); +#line 1018 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 3893 "Resources.c" +} + + +void resources_launch_help (GdkScreen* screen, const gchar* anchor, GError** error) { + gchar* help_path = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp27_ = NULL; + GError * _inner_error_ = NULL; +#line 1021 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_if_fail (GDK_IS_SCREEN (screen)); +#line 1022 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_get_help_path (); +#line 1022 "/home/jens/Source/shotwell/src/Resources.vala" + help_path = _tmp0_; +#line 1024 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = help_path; +#line 1024 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp1_ != NULL) { +#line 3913 "Resources.c" + const gchar* _tmp2_ = NULL; + gchar** argv = NULL; + gchar** _tmp6_ = NULL; + gint argv_length1 = 0; + gint _argv_size_ = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gchar* _tmp15_ = NULL; + GPid pid = 0; + gboolean _tmp16_ = FALSE; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GPid _tmp22_ = 0; + gboolean _tmp23_ = FALSE; + gboolean _tmp24_ = FALSE; + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + const gchar* _tmp26_ = NULL; +#line 1028 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = anchor; +#line 1028 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp2_ != NULL) { +#line 3949 "Resources.c" + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1029 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = help_path; +#line 1029 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = anchor; +#line 1029 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = g_strconcat (_tmp3_, _tmp4_, NULL); +#line 1029 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (help_path); +#line 1029 "/home/jens/Source/shotwell/src/Resources.vala" + help_path = _tmp5_; +#line 3963 "Resources.c" + } +#line 1032 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_new0 (gchar*, 3 + 1); +#line 1032 "/home/jens/Source/shotwell/src/Resources.vala" + argv = _tmp6_; +#line 1032 "/home/jens/Source/shotwell/src/Resources.vala" + argv_length1 = 3; +#line 1032 "/home/jens/Source/shotwell/src/Resources.vala" + _argv_size_ = argv_length1; +#line 1033 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = argv; +#line 1033 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7__length1 = argv_length1; +#line 1033 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = g_strdup ("yelp"); +#line 1033 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp7_[0]); +#line 1033 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_[0] = _tmp8_; +#line 1033 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = _tmp7_[0]; +#line 1034 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = argv; +#line 1034 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10__length1 = argv_length1; +#line 1034 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = help_path; +#line 1034 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 1034 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp10_[1]); +#line 1034 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_[1] = _tmp12_; +#line 1034 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = _tmp10_[1]; +#line 1035 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = argv; +#line 1035 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14__length1 = argv_length1; +#line 1035 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp14_[2]); +#line 1035 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_[2] = NULL; +#line 1035 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = _tmp14_[2]; +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = app_dirs_get_exec_dir (); +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = _tmp17_; +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = g_file_get_path (_tmp18_); +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = _tmp19_; +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = argv; +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21__length1 = argv_length1; +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp23_ = g_spawn_async (_tmp20_, _tmp21_, NULL, G_SPAWN_SEARCH_PATH | G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, &_tmp22_, &_inner_error_); +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + pid = _tmp22_; +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp24_ = _tmp23_; +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp20_); +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp18_); +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = _tmp24_; +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + g_propagate_error (error, _inner_error_); +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (help_path); +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 4043 "Resources.c" + } +#line 1038 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp16_) { +#line 1040 "/home/jens/Source/shotwell/src/Resources.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 1040 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (help_path); +#line 1040 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 4053 "Resources.c" + } +#line 1043 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp25_ = argv; +#line 1043 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp25__length1 = argv_length1; +#line 1043 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp26_ = _tmp25_[0]; +#line 1043 "/home/jens/Source/shotwell/src/Resources.vala" + g_warning ("Resources.vala:1043: Unable to launch %s", _tmp26_); +#line 1024 "/home/jens/Source/shotwell/src/Resources.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 4065 "Resources.c" + } +#line 1047 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp27_ = anchor; +#line 1047 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp27_ != NULL) { +#line 4071 "Resources.c" + GdkScreen* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp28_ = screen; +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp29_ = anchor; +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp30_ = g_strconcat ("help:shotwell", _tmp29_, NULL); +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp31_ = _tmp30_; +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + sys_show_uri (_tmp28_, _tmp31_, &_inner_error_); +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (_tmp31_); +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + g_propagate_error (error, _inner_error_); +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (help_path); +#line 1048 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 4096 "Resources.c" + } + } else { + GdkScreen* _tmp32_ = NULL; +#line 1050 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp32_ = screen; +#line 1050 "/home/jens/Source/shotwell/src/Resources.vala" + sys_show_uri (_tmp32_, "help:shotwell", &_inner_error_); +#line 1050 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1050 "/home/jens/Source/shotwell/src/Resources.vala" + g_propagate_error (error, _inner_error_); +#line 1050 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (help_path); +#line 1050 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 4112 "Resources.c" + } + } +#line 1021 "/home/jens/Source/shotwell/src/Resources.vala" + _g_free0 (help_path); +#line 4117 "Resources.c" +} + + +gchar* resources_to_css_color (GdkRGBA* color) { + gchar* result = NULL; + gint r = 0; + GdkRGBA _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gint g = 0; + GdkRGBA _tmp2_ = {0}; + gdouble _tmp3_ = 0.0; + gint b = 0; + GdkRGBA _tmp4_ = {0}; + gdouble _tmp5_ = 0.0; + gchar* _tmp6_ = NULL; +#line 1054 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_val_if_fail (color != NULL, NULL); +#line 1055 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = *color; +#line 1055 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = _tmp0_.red; +#line 1055 "/home/jens/Source/shotwell/src/Resources.vala" + r = (gint) (_tmp1_ * 255); +#line 1056 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = *color; +#line 1056 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = _tmp2_.green; +#line 1056 "/home/jens/Source/shotwell/src/Resources.vala" + g = (gint) (_tmp3_ * 255); +#line 1057 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = *color; +#line 1057 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = _tmp4_.blue; +#line 1057 "/home/jens/Source/shotwell/src/Resources.vala" + b = (gint) (_tmp5_ * 255); +#line 1059 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = g_strdup_printf ("rgb(%d, %d, %d)", r, g, b); +#line 1059 "/home/jens/Source/shotwell/src/Resources.vala" + result = _tmp6_; +#line 1059 "/home/jens/Source/shotwell/src/Resources.vala" + return result; +#line 4159 "Resources.c" +} + + +void resources_style_widget (GtkWidget* widget, const gchar* stylesheet) { + GeeMap* _tmp0_ = NULL; + GeeMap* _tmp2_ = NULL; + GtkWidget* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GtkCssProvider* styler = NULL; + GtkCssProvider* _tmp11_ = NULL; + GtkWidget* _tmp17_ = NULL; + GtkStyleContext* _tmp18_ = NULL; + GtkCssProvider* _tmp19_ = NULL; + GeeMap* _tmp20_ = NULL; + GtkWidget* _tmp21_ = NULL; + GtkCssProvider* _tmp22_ = NULL; + GError * _inner_error_ = NULL; +#line 1066 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_if_fail (GTK_IS_WIDGET (widget)); +#line 1066 "/home/jens/Source/shotwell/src/Resources.vala" + g_return_if_fail (stylesheet != NULL); +#line 1067 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp0_ = resources_providers; +#line 1067 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp0_ == NULL) { +#line 4185 "Resources.c" + GeeHashMap* _tmp1_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp1_ = gee_hash_map_new (gtk_widget_get_type (), (GBoxedCopyFunc) g_object_ref, g_object_unref, GTK_TYPE_CSS_PROVIDER, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1068 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (resources_providers); +#line 1068 "/home/jens/Source/shotwell/src/Resources.vala" + resources_providers = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MAP, GeeMap); +#line 4193 "Resources.c" + } +#line 1070 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp2_ = resources_providers; +#line 1070 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp3_ = widget; +#line 1070 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp4_ = gee_map_has_key (_tmp2_, _tmp3_); +#line 1070 "/home/jens/Source/shotwell/src/Resources.vala" + if (_tmp4_) { +#line 4203 "Resources.c" + GtkWidget* _tmp5_ = NULL; + GtkStyleContext* _tmp6_ = NULL; + GeeMap* _tmp7_ = NULL; + GtkWidget* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GtkCssProvider* _tmp10_ = NULL; +#line 1071 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp5_ = widget; +#line 1071 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp6_ = gtk_widget_get_style_context (_tmp5_); +#line 1071 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp7_ = resources_providers; +#line 1071 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp8_ = widget; +#line 1071 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp9_ = gee_map_get (_tmp7_, _tmp8_); +#line 1071 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp10_ = (GtkCssProvider*) _tmp9_; +#line 1071 "/home/jens/Source/shotwell/src/Resources.vala" + gtk_style_context_remove_provider (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GTK_TYPE_STYLE_PROVIDER, GtkStyleProvider)); +#line 1071 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (_tmp10_); +#line 4226 "Resources.c" + } +#line 1073 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp11_ = gtk_css_provider_new (); +#line 1073 "/home/jens/Source/shotwell/src/Resources.vala" + styler = _tmp11_; +#line 4232 "Resources.c" + { + GtkCssProvider* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 1076 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp12_ = styler; +#line 1076 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp13_ = stylesheet; +#line 1076 "/home/jens/Source/shotwell/src/Resources.vala" + gtk_css_provider_load_from_data (_tmp12_, _tmp13_, (gssize) RESOURCES_ALL_DATA, &_inner_error_); +#line 1076 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4244 "Resources.c" + goto __catch420_g_error; + } + } + goto __finally420; + __catch420_g_error: + { + GError* e = NULL; + const gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 1075 "/home/jens/Source/shotwell/src/Resources.vala" + e = _inner_error_; +#line 1075 "/home/jens/Source/shotwell/src/Resources.vala" + _inner_error_ = NULL; +#line 1078 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp14_ = stylesheet; +#line 1078 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp15_ = e; +#line 1078 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp16_ = _tmp15_->message; +#line 1078 "/home/jens/Source/shotwell/src/Resources.vala" + g_warning ("Resources.vala:1078: couldn't parse widget stylesheet '%s': %s", _tmp14_, _tmp16_); +#line 1082 "/home/jens/Source/shotwell/src/Resources.vala" + _g_error_free0 (e); +#line 1082 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (styler); +#line 1082 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 4273 "Resources.c" + } + __finally420: +#line 1075 "/home/jens/Source/shotwell/src/Resources.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1075 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (styler); +#line 1075 "/home/jens/Source/shotwell/src/Resources.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 1075 "/home/jens/Source/shotwell/src/Resources.vala" + g_clear_error (&_inner_error_); +#line 1075 "/home/jens/Source/shotwell/src/Resources.vala" + return; +#line 4286 "Resources.c" + } +#line 1085 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp17_ = widget; +#line 1085 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp18_ = gtk_widget_get_style_context (_tmp17_); +#line 1085 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp19_ = styler; +#line 1085 "/home/jens/Source/shotwell/src/Resources.vala" + gtk_style_context_add_provider (_tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GTK_TYPE_STYLE_PROVIDER, GtkStyleProvider), (guint) GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); +#line 1088 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp20_ = resources_providers; +#line 1088 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp21_ = widget; +#line 1088 "/home/jens/Source/shotwell/src/Resources.vala" + _tmp22_ = styler; +#line 1088 "/home/jens/Source/shotwell/src/Resources.vala" + gee_map_set (_tmp20_, _tmp21_, _tmp22_); +#line 1066 "/home/jens/Source/shotwell/src/Resources.vala" + _g_object_unref0 (styler); +#line 4306 "Resources.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/Resources.vala b/src/Resources.vala index 101c49d..acc933c 100644 --- a/src/Resources.vala +++ b/src/Resources.vala @@ -30,7 +30,7 @@ namespace Resources { public const string HOME_URL = "https://wiki.gnome.org/Apps/Shotwell"; public const string FAQ_URL = "https://wiki.gnome.org/Apps/Shotwell/FAQ"; public const string BUG_DB_URL = "https://wiki.gnome.org/Apps/Shotwell/ReportingABug"; - public const string DIR_PATTERN_URI_SYSWIDE = "ghelp:shotwell?other-files"; + public const string DIR_PATTERN_URI_SYSWIDE = "help:shotwell/other-files"; private const string LIB = _LIB; private const string LIBEXECDIR = _LIBEXECDIR; @@ -270,12 +270,9 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., public const string DISPLAY_REJECTED_ONLY_TOOLTIP = _("Show only rejected photos"); public const string DISPLAY_REJECTED_OR_HIGHER_MENU = _("All + _Rejected"); - public const string DISPLAY_REJECTED_OR_HIGHER_LABEL = _("Show all photos, including rejected"); - public const string DISPLAY_REJECTED_OR_HIGHER_TOOLTIP = _("Show all photos, including rejected"); + public const string DISPLAY_REJECTED_OR_HIGHER_TOOLTIP = NC_("Tooltip", "Show all photos, including rejected"); public const string DISPLAY_UNRATED_OR_HIGHER_MENU = _("_All Photos"); - // Button label - public const string DISPLAY_UNRATED_OR_HIGHER_LABEL = _("Show all photos"); // Button tooltip public const string DISPLAY_UNRATED_OR_HIGHER_TOOLTIP = _("Show all photos"); @@ -300,7 +297,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., public const string EDIT_TITLE_MENU = _("Edit _Title..."); // Button label - public const string EDIT_TITLE_LABEL = _("Edit Title"); + public const string EDIT_TITLE_LABEL = NC_("Button Label", "Edit Title"); public const string EDIT_COMMENT_MENU = _("Edit _Comment..."); // Button label @@ -315,7 +312,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., public const string ADD_TAGS_MENU = _("Add _Tags..."); public const string ADD_TAGS_CONTEXT_MENU = _("_Add Tags..."); // Dialog title - public const string ADD_TAGS_TITLE = _("Add Tags"); + public const string ADD_TAGS_TITLE = NC_("Dialog Title", "Add Tags"); public const string PREFERENCES_MENU = _("_Preferences"); @@ -348,7 +345,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., HierarchicalTagUtilities.get_basename(names[1])); } else { // Undo/Redo command name (in Edit menu) - return _("Add Tags"); + return C_("UndoRedo menu entry", "Add Tags"); } } @@ -705,6 +702,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., private string START_MULTIDAY_DATE_FORMAT_STRING = null; private string END_MULTIDAY_DATE_FORMAT_STRING = null; private string START_MULTIMONTH_DATE_FORMAT_STRING = null; + private string END_MULTIMONTH_DATE_FORMAT_STRING = null; public void init () { // load application-wide stock icons as IconSets @@ -786,18 +784,23 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., /// Locale-specific starting date format for multi-date strings, /// i.e. the "Tue Mar 08" in "Tue Mar 08 - 10, 2006" /// See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format - START_MULTIDAY_DATE_FORMAT_STRING = _("%a %b %d"); + START_MULTIDAY_DATE_FORMAT_STRING = C_("MultidayFormat", "%a %b %d"); /// Locale-specific ending date format for multi-date strings, /// i.e. the "10, 2006" in "Tue Mar 08 - 10, 2006" /// See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format - END_MULTIDAY_DATE_FORMAT_STRING = _("%d, %Y"); + END_MULTIDAY_DATE_FORMAT_STRING = C_("MultidayFormat", "%d, %Y"); /// Locale-specific calendar date format for multi-month strings, /// i.e. the "Tue Mar 08" in "Tue Mar 08 to Mon Apr 06, 2006" /// See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format - START_MULTIMONTH_DATE_FORMAT_STRING = _("%a %b %d"); - + START_MULTIMONTH_DATE_FORMAT_STRING = C_("MultimonthFormat", "%a %b %d"); + + /// Locale-specific calendar date format for multi-month strings, + /// i.e. the "Mon Apr 06, 2006" in "Tue Mar 08 to Mon Apr 06, 2006" + /// See http://developer.gnome.org/glib/2.32/glib-GDateTime.html#g-date-time-format + END_MULTIMONTH_DATE_FORMAT_STRING = C_("MultimonthFormat", "%a %b %d, %Y"); + // ...put everything back like we found it. if (old_messages != null) { Intl.setlocale(LocaleCategory.MESSAGES, old_messages); @@ -861,7 +864,11 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., } public string get_end_multimonth_span_format_string() { - return get_long_date_format_string(); + if (END_MULTIMONTH_DATE_FORMAT_STRING == null) { + fetch_lc_time_format(); + } + + return END_MULTIMONTH_DATE_FORMAT_STRING; } public File get_ui(string filename) { @@ -1023,7 +1030,7 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., } string[] argv = new string[3]; - argv[0] = "gnome-help"; + argv[0] = "yelp"; argv[1] = help_path; argv[2] = null; @@ -1038,9 +1045,9 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc., // launch from system-installed help if (anchor != null) { - sys_show_uri(screen, "ghelp:shotwell" + anchor); + sys_show_uri(screen, "help:shotwell" + anchor); } else { - sys_show_uri(screen, "ghelp:shotwell"); + sys_show_uri(screen, "help:shotwell"); } } diff --git a/src/Screensaver.c b/src/Screensaver.c new file mode 100644 index 0000000..50ae28a --- /dev/null +++ b/src/Screensaver.c @@ -0,0 +1,425 @@ +/* Screensaver.c generated by valac 0.32.1, the Vala compiler + * generated from Screensaver.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SCREENSAVER (screensaver_get_type ()) +#define SCREENSAVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCREENSAVER, Screensaver)) +#define SCREENSAVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCREENSAVER, ScreensaverClass)) +#define IS_SCREENSAVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCREENSAVER)) +#define IS_SCREENSAVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCREENSAVER)) +#define SCREENSAVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCREENSAVER, ScreensaverClass)) + +typedef struct _Screensaver Screensaver; +typedef struct _ScreensaverClass ScreensaverClass; +typedef struct _ScreensaverPrivate ScreensaverPrivate; + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) +typedef struct _ParamSpecScreensaver ParamSpecScreensaver; + +struct _Screensaver { + GTypeInstance parent_instance; + volatile int ref_count; + ScreensaverPrivate * priv; +}; + +struct _ScreensaverClass { + GTypeClass parent_class; + void (*finalize) (Screensaver *self); +}; + +struct _ScreensaverPrivate { + guint32 cookie; +}; + +struct _ParamSpecScreensaver { + GParamSpec parent_instance; +}; + + +static gpointer screensaver_parent_class = NULL; + +gpointer screensaver_ref (gpointer instance); +void screensaver_unref (gpointer instance); +GParamSpec* param_spec_screensaver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_screensaver (GValue* value, gpointer v_object); +void value_take_screensaver (GValue* value, gpointer v_object); +gpointer value_get_screensaver (const GValue* value); +GType screensaver_get_type (void) G_GNUC_CONST; +#define SCREENSAVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SCREENSAVER, ScreensaverPrivate)) +enum { + SCREENSAVER_DUMMY_PROPERTY +}; +Screensaver* screensaver_new (void); +Screensaver* screensaver_construct (GType object_type); +void screensaver_inhibit (Screensaver* self, const gchar* reason); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +guint application_inhibit (Application* self, GtkApplicationInhibitFlags what, const gchar* reason); +void screensaver_uninhibit (Screensaver* self); +void application_uninhibit (Application* self, guint cookie); +static void screensaver_finalize (Screensaver* obj); + + +Screensaver* screensaver_construct (GType object_type) { + Screensaver* self = NULL; +#line 10 "/home/jens/Source/shotwell/src/Screensaver.vala" + self = (Screensaver*) g_type_create_instance (object_type); +#line 10 "/home/jens/Source/shotwell/src/Screensaver.vala" + return self; +#line 99 "Screensaver.c" +} + + +Screensaver* screensaver_new (void) { +#line 10 "/home/jens/Source/shotwell/src/Screensaver.vala" + return screensaver_construct (TYPE_SCREENSAVER); +#line 106 "Screensaver.c" +} + + +void screensaver_inhibit (Screensaver* self, const gchar* reason) { + guint32 _tmp0_ = 0U; + Application* _tmp1_ = NULL; + Application* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + guint _tmp4_ = 0U; +#line 13 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (IS_SCREENSAVER (self)); +#line 13 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (reason != NULL); +#line 14 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp0_ = self->priv->cookie; +#line 14 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (_tmp0_ != ((guint32) 0)) { +#line 15 "/home/jens/Source/shotwell/src/Screensaver.vala" + return; +#line 126 "Screensaver.c" + } +#line 17 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp1_ = application_get_instance (); +#line 17 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp2_ = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp3_ = _ ("Slideshow"); +#line 17 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp4_ = application_inhibit (_tmp2_, GTK_APPLICATION_INHIBIT_IDLE | GTK_APPLICATION_INHIBIT_SUSPEND, _tmp3_); +#line 17 "/home/jens/Source/shotwell/src/Screensaver.vala" + self->priv->cookie = (guint32) _tmp4_; +#line 17 "/home/jens/Source/shotwell/src/Screensaver.vala" + _application_unref0 (_tmp2_); +#line 140 "Screensaver.c" +} + + +void screensaver_uninhibit (Screensaver* self) { + guint32 _tmp0_ = 0U; + Application* _tmp1_ = NULL; + Application* _tmp2_ = NULL; + guint32 _tmp3_ = 0U; +#line 21 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (IS_SCREENSAVER (self)); +#line 22 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp0_ = self->priv->cookie; +#line 22 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (_tmp0_ == ((guint32) 0)) { +#line 23 "/home/jens/Source/shotwell/src/Screensaver.vala" + return; +#line 157 "Screensaver.c" + } +#line 25 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp1_ = application_get_instance (); +#line 25 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp2_ = _tmp1_; +#line 25 "/home/jens/Source/shotwell/src/Screensaver.vala" + _tmp3_ = self->priv->cookie; +#line 25 "/home/jens/Source/shotwell/src/Screensaver.vala" + application_uninhibit (_tmp2_, (guint) _tmp3_); +#line 25 "/home/jens/Source/shotwell/src/Screensaver.vala" + _application_unref0 (_tmp2_); +#line 26 "/home/jens/Source/shotwell/src/Screensaver.vala" + self->priv->cookie = (guint32) 0; +#line 171 "Screensaver.c" +} + + +static void value_screensaver_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + value->data[0].v_pointer = NULL; +#line 178 "Screensaver.c" +} + + +static void value_screensaver_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + screensaver_unref (value->data[0].v_pointer); +#line 187 "Screensaver.c" + } +} + + +static void value_screensaver_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + dest_value->data[0].v_pointer = screensaver_ref (src_value->data[0].v_pointer); +#line 197 "Screensaver.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + dest_value->data[0].v_pointer = NULL; +#line 201 "Screensaver.c" + } +} + + +static gpointer value_screensaver_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return value->data[0].v_pointer; +#line 209 "Screensaver.c" +} + + +static gchar* value_screensaver_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (collect_values[0].v_pointer) { +#line 216 "Screensaver.c" + Screensaver* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 223 "Screensaver.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 227 "Screensaver.c" + } +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + value->data[0].v_pointer = screensaver_ref (object); +#line 231 "Screensaver.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + value->data[0].v_pointer = NULL; +#line 235 "Screensaver.c" + } +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return NULL; +#line 239 "Screensaver.c" +} + + +static gchar* value_screensaver_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Screensaver** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 250 "Screensaver.c" + } +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + *object_p = NULL; +#line 256 "Screensaver.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + *object_p = value->data[0].v_pointer; +#line 260 "Screensaver.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + *object_p = screensaver_ref (value->data[0].v_pointer); +#line 264 "Screensaver.c" + } +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return NULL; +#line 268 "Screensaver.c" +} + + +GParamSpec* param_spec_screensaver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecScreensaver* spec; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SCREENSAVER), NULL); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return G_PARAM_SPEC (spec); +#line 282 "Screensaver.c" +} + + +gpointer value_get_screensaver (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCREENSAVER), NULL); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return value->data[0].v_pointer; +#line 291 "Screensaver.c" +} + + +void value_set_screensaver (GValue* value, gpointer v_object) { + Screensaver* old; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCREENSAVER)); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCREENSAVER)); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + screensaver_ref (value->data[0].v_pointer); +#line 311 "Screensaver.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + value->data[0].v_pointer = NULL; +#line 315 "Screensaver.c" + } +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + screensaver_unref (old); +#line 321 "Screensaver.c" + } +} + + +void value_take_screensaver (GValue* value, gpointer v_object) { + Screensaver* old; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SCREENSAVER)); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SCREENSAVER)); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + value->data[0].v_pointer = v_object; +#line 340 "Screensaver.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + value->data[0].v_pointer = NULL; +#line 344 "Screensaver.c" + } +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + screensaver_unref (old); +#line 350 "Screensaver.c" + } +} + + +static void screensaver_class_init (ScreensaverClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + screensaver_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + ((ScreensaverClass *) klass)->finalize = screensaver_finalize; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_type_class_add_private (klass, sizeof (ScreensaverPrivate)); +#line 362 "Screensaver.c" +} + + +static void screensaver_instance_init (Screensaver * self) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + self->priv = SCREENSAVER_GET_PRIVATE (self); +#line 8 "/home/jens/Source/shotwell/src/Screensaver.vala" + self->priv->cookie = (guint32) 0; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + self->ref_count = 1; +#line 373 "Screensaver.c" +} + + +static void screensaver_finalize (Screensaver* obj) { + Screensaver * self; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SCREENSAVER, Screensaver); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_signal_handlers_destroy (self); +#line 383 "Screensaver.c" +} + + +GType screensaver_get_type (void) { + static volatile gsize screensaver_type_id__volatile = 0; + if (g_once_init_enter (&screensaver_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_screensaver_init, value_screensaver_free_value, value_screensaver_copy_value, value_screensaver_peek_pointer, "p", value_screensaver_collect_value, "p", value_screensaver_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ScreensaverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) screensaver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Screensaver), 0, (GInstanceInitFunc) screensaver_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType screensaver_type_id; + screensaver_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Screensaver", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&screensaver_type_id__volatile, screensaver_type_id); + } + return screensaver_type_id__volatile; +} + + +gpointer screensaver_ref (gpointer instance) { + Screensaver* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + return instance; +#line 408 "Screensaver.c" +} + + +void screensaver_unref (gpointer instance) { + Screensaver* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + SCREENSAVER_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/Screensaver.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 421 "Screensaver.c" + } +} + + + diff --git a/src/SearchFilter.c b/src/SearchFilter.c new file mode 100644 index 0000000..4a48100 --- /dev/null +++ b/src/SearchFilter.c @@ -0,0 +1,10645 @@ +/* SearchFilter.c generated by valac 0.32.1, the Vala compiler + * generated from SearchFilter.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. + */ +/* Bitfield values used to specify which search bar features we want.*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ()) + +#define TYPE_RATING_FILTER (rating_filter_get_type ()) + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; +typedef struct _ViewFilterPrivate ViewFilterPrivate; + +#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_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_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; +typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate; + +#define TYPE_RATING (rating_get_type ()) + +#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_SAVED_SEARCH (saved_search_get_type ()) +#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch)) +#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass)) +#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH)) +#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH)) +#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass)) + +typedef struct _SavedSearch SavedSearch; +typedef struct _SavedSearchClass SavedSearchClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ()) +#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter)) +#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) + +typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter; +typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass; +typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate; + +#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_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_FLAGGABLE (flaggable_get_type ()) +#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable)) +#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE)) +#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface)) + +typedef struct _Flaggable Flaggable; +typedef struct _FlaggableIface FlaggableIface; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; + +#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_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_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_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_DISABLED_VIEW_FILTER (disabled_view_filter_get_type ()) +#define DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter)) +#define DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass)) +#define IS_DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISABLED_VIEW_FILTER)) +#define IS_DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISABLED_VIEW_FILTER)) +#define DISABLED_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass)) + +typedef struct _DisabledViewFilter DisabledViewFilter; +typedef struct _DisabledViewFilterClass DisabledViewFilterClass; +typedef struct _DisabledViewFilterPrivate DisabledViewFilterPrivate; + +#define TYPE_TEXT_ACTION (text_action_get_type ()) +#define TEXT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ACTION, TextAction)) +#define TEXT_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ACTION, TextActionClass)) +#define IS_TEXT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ACTION)) +#define IS_TEXT_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ACTION)) +#define TEXT_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ACTION, TextActionClass)) + +typedef struct _TextAction TextAction; +typedef struct _TextActionClass TextActionClass; +typedef struct _TextActionPrivate TextActionPrivate; +typedef struct _ParamSpecTextAction ParamSpecTextAction; + +#define TYPE_SEARCH_FILTER_ACTIONS (search_filter_actions_get_type ()) +#define SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActions)) +#define SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass)) +#define IS_SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_ACTIONS)) +#define IS_SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_ACTIONS)) +#define SEARCH_FILTER_ACTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass)) + +typedef struct _SearchFilterActions SearchFilterActions; +typedef struct _SearchFilterActionsClass SearchFilterActionsClass; +typedef struct _SearchFilterActionsPrivate SearchFilterActionsPrivate; +#define _text_action_unref0(var) ((var == NULL) ? NULL : (var = (text_action_unref (var), NULL))) + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#define TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ()) +#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker)) +#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) +#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER)) +#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER)) +#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) + +typedef struct _MediaViewTracker MediaViewTracker; +typedef struct _MediaViewTrackerClass MediaViewTrackerClass; + +#define TYPE_CAMERA_VIEW_TRACKER (camera_view_tracker_get_type ()) +#define CAMERA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_VIEW_TRACKER, CameraViewTracker)) +#define CAMERA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_VIEW_TRACKER, CameraViewTrackerClass)) +#define IS_CAMERA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_VIEW_TRACKER)) +#define IS_CAMERA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_VIEW_TRACKER)) +#define CAMERA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_VIEW_TRACKER, CameraViewTrackerClass)) + +typedef struct _CameraViewTracker CameraViewTracker; +typedef struct _CameraViewTrackerClass CameraViewTrackerClass; +#define _core_tracker_unref0(var) ((var == NULL) ? NULL : (var = (core_tracker_unref (var), NULL))) +typedef struct _CoreTrackerPrivate CoreTrackerPrivate; +typedef struct _CoreViewTrackerPrivate CoreViewTrackerPrivate; +typedef struct _MediaViewTrackerPrivate MediaViewTrackerPrivate; + +#define TYPE_MEDIA_ACCUMULATOR (media_accumulator_get_type ()) +#define MEDIA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_ACCUMULATOR, MediaAccumulator)) +#define MEDIA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_ACCUMULATOR, MediaAccumulatorClass)) +#define IS_MEDIA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_ACCUMULATOR)) +#define IS_MEDIA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_ACCUMULATOR)) +#define MEDIA_ACCUMULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_ACCUMULATOR, MediaAccumulatorClass)) + +typedef struct _MediaAccumulator MediaAccumulator; +typedef struct _MediaAccumulatorClass MediaAccumulatorClass; + +#define CORE_TYPE_TRACKER_ACCUMULATOR (core_tracker_accumulator_get_type ()) +#define CORE_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)) +#define CORE_IS_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR)) +#define CORE_TRACKER_ACCUMULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulatorIface)) + +typedef struct _CoreTrackerAccumulator CoreTrackerAccumulator; +typedef struct _CoreTrackerAccumulatorIface CoreTrackerAccumulatorIface; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +typedef struct _MediaAccumulatorPrivate MediaAccumulatorPrivate; +typedef struct _CameraViewTrackerPrivate CameraViewTrackerPrivate; + +#define TYPE_CAMERA_ACCUMULATOR (camera_accumulator_get_type ()) +#define CAMERA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_ACCUMULATOR, CameraAccumulator)) +#define CAMERA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorClass)) +#define IS_CAMERA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_ACCUMULATOR)) +#define IS_CAMERA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_ACCUMULATOR)) +#define CAMERA_ACCUMULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorClass)) + +typedef struct _CameraAccumulator CameraAccumulator; +typedef struct _CameraAccumulatorClass CameraAccumulatorClass; +typedef struct _ParamSpecSearchFilterActions ParamSpecSearchFilterActions; + +#define TYPE_SEARCH_FILTER_TOOLBAR (search_filter_toolbar_get_type ()) +#define SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbar)) +#define SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass)) +#define IS_SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_TOOLBAR)) +#define IS_SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_TOOLBAR)) +#define SEARCH_FILTER_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass)) + +typedef struct _SearchFilterToolbar SearchFilterToolbar; +typedef struct _SearchFilterToolbarClass SearchFilterToolbarClass; +typedef struct _SearchFilterToolbarPrivate SearchFilterToolbarPrivate; + +#define SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX (search_filter_toolbar_search_box_get_type ()) +#define SEARCH_FILTER_TOOLBAR_SEARCH_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBox)) +#define SEARCH_FILTER_TOOLBAR_SEARCH_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBoxClass)) +#define SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX)) +#define SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX)) +#define SEARCH_FILTER_TOOLBAR_SEARCH_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBoxClass)) + +typedef struct _SearchFilterToolbarSearchBox SearchFilterToolbarSearchBox; +typedef struct _SearchFilterToolbarSearchBoxClass SearchFilterToolbarSearchBoxClass; + +#define SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON (search_filter_toolbar_rating_filter_button_get_type ()) +#define SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, SearchFilterToolbarRatingFilterButton)) +#define SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, SearchFilterToolbarRatingFilterButtonClass)) +#define SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON)) +#define SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON)) +#define SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, SearchFilterToolbarRatingFilterButtonClass)) + +typedef struct _SearchFilterToolbarRatingFilterButton SearchFilterToolbarRatingFilterButton; +typedef struct _SearchFilterToolbarRatingFilterButtonClass SearchFilterToolbarRatingFilterButtonClass; + +#define SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON (search_filter_toolbar_saved_search_filter_button_get_type ()) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, SearchFilterToolbarSavedSearchFilterButton)) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, SearchFilterToolbarSavedSearchFilterButtonClass)) +#define SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON)) +#define SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON)) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, SearchFilterToolbarSavedSearchFilterButtonClass)) + +typedef struct _SearchFilterToolbarSavedSearchFilterButton SearchFilterToolbarSavedSearchFilterButton; +typedef struct _SearchFilterToolbarSavedSearchFilterButtonClass SearchFilterToolbarSavedSearchFilterButtonClass; + +#define SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM (search_filter_toolbar_label_tool_item_get_type ()) +#define SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItem)) +#define SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItemClass)) +#define SEARCH_FILTER_TOOLBAR_IS_LABEL_TOOL_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM)) +#define SEARCH_FILTER_TOOLBAR_IS_LABEL_TOOL_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM)) +#define SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItemClass)) + +typedef struct _SearchFilterToolbarLabelToolItem SearchFilterToolbarLabelToolItem; +typedef struct _SearchFilterToolbarLabelToolItemClass SearchFilterToolbarLabelToolItemClass; + +#define SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON (search_filter_toolbar_toggle_action_tool_button_get_type ()) +#define SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButton)) +#define SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButtonClass)) +#define SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON)) +#define SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON)) +#define SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButtonClass)) + +typedef struct _SearchFilterToolbarToggleActionToolButton SearchFilterToolbarToggleActionToolButton; +typedef struct _SearchFilterToolbarToggleActionToolButtonClass SearchFilterToolbarToggleActionToolButtonClass; +#define _search_filter_actions_unref0(var) ((var == NULL) ? NULL : (var = (search_filter_actions_unref (var), NULL))) +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _SearchFilterToolbarRatingFilterButtonPrivate SearchFilterToolbarRatingFilterButtonPrivate; + +#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_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_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +typedef struct _SearchFilterToolbarSavedSearchFilterButtonPrivate SearchFilterToolbarSavedSearchFilterButtonPrivate; + +#define SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER (search_filter_toolbar_saved_search_popover_get_type ()) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopover)) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopoverClass)) +#define SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER)) +#define SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER)) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopoverClass)) + +typedef struct _SearchFilterToolbarSavedSearchPopover SearchFilterToolbarSavedSearchPopover; +typedef struct _SearchFilterToolbarSavedSearchPopoverClass SearchFilterToolbarSavedSearchPopoverClass; + +#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ()) +#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog)) +#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) +#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG)) +#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG)) +#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) + +typedef struct _SavedSearchDialog SavedSearchDialog; +typedef struct _SavedSearchDialogClass SavedSearchDialogClass; +#define _saved_search_dialog_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_unref (var), NULL))) + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ()) +#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)) +#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) +#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) + +typedef struct _SingleDataSourceCommand SingleDataSourceCommand; +typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass; + +#define TYPE_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; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) +#define _search_filter_toolbar_saved_search_popover_unref0(var) ((var == NULL) ? NULL : (var = (search_filter_toolbar_saved_search_popover_unref (var), NULL))) +typedef struct _SearchFilterToolbarLabelToolItemPrivate SearchFilterToolbarLabelToolItemPrivate; +typedef struct _SearchFilterToolbarToggleActionToolButtonPrivate SearchFilterToolbarToggleActionToolButtonPrivate; +typedef struct _SearchFilterToolbarSearchBoxPrivate SearchFilterToolbarSearchBoxPrivate; +typedef struct _SearchFilterToolbarSavedSearchPopoverPrivate SearchFilterToolbarSavedSearchPopoverPrivate; + +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON (search_filter_toolbar_saved_search_popover_data_button_get_type ()) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButton)) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButtonClass)) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON)) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON)) +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButtonClass)) + +typedef struct _SearchFilterToolbarSavedSearchPopoverDataButton SearchFilterToolbarSavedSearchPopoverDataButton; +typedef struct _SearchFilterToolbarSavedSearchPopoverDataButtonClass SearchFilterToolbarSavedSearchPopoverDataButtonClass; + +#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 _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL))) +typedef struct _SearchFilterToolbarSavedSearchPopoverDataButtonPrivate SearchFilterToolbarSavedSearchPopoverDataButtonPrivate; +typedef struct _SearchFilterToolbarParamSpecSavedSearchPopover SearchFilterToolbarParamSpecSavedSearchPopover; +#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); + +typedef enum { + SEARCH_FILTER_CRITERIA_NONE = 0, + SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0, + SEARCH_FILTER_CRITERIA_TEXT = 1 << 1, + SEARCH_FILTER_CRITERIA_FLAG = 1 << 2, + SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3, + SEARCH_FILTER_CRITERIA_RATING = 1 << 4, + SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5, + SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL +} SearchFilterCriteria; + +typedef enum { + RATING_FILTER_NO_FILTER = 0, + RATING_FILTER_REJECTED_OR_HIGHER = 1, + RATING_FILTER_UNRATED_OR_HIGHER = 2, + RATING_FILTER_ONE_OR_HIGHER = 3, + RATING_FILTER_TWO_OR_HIGHER = 4, + RATING_FILTER_THREE_OR_HIGHER = 5, + RATING_FILTER_FOUR_OR_HIGHER = 6, + RATING_FILTER_FIVE_OR_HIGHER = 7, + RATING_FILTER_REJECTED_ONLY = 8, + RATING_FILTER_UNRATED_ONLY = 9, + RATING_FILTER_ONE_ONLY = 10, + RATING_FILTER_TWO_ONLY = 11, + RATING_FILTER_THREE_ONLY = 12, + RATING_FILTER_FOUR_ONLY = 13, + RATING_FILTER_FIVE_ONLY = 14 +} RatingFilter; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _SearchViewFilter { + ViewFilter parent_instance; + SearchViewFilterPrivate * priv; +}; + +struct _SearchViewFilterClass { + ViewFilterClass parent_class; + guint (*get_criteria) (SearchViewFilter* self); +}; + +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 _SearchViewFilterPrivate { + gboolean rating_allow_higher; + Rating rating; + RatingFilter rating_filter; + gboolean _flagged; + gboolean _show_media_video; + gboolean _show_media_photos; + gboolean _show_media_raw; + gchar* search_filter; + gchar** search_filter_words; + gint search_filter_words_length1; + gint _search_filter_words_size_; + SavedSearch* _saved_search; +}; + +struct _DefaultSearchViewFilter { + SearchViewFilter parent_instance; + DefaultSearchViewFilterPrivate * priv; +}; + +struct _DefaultSearchViewFilterClass { + SearchViewFilterClass parent_class; +}; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _DisabledViewFilter { + SearchViewFilter parent_instance; + DisabledViewFilterPrivate * priv; +}; + +struct _DisabledViewFilterClass { + SearchViewFilterClass parent_class; +}; + +struct _TextAction { + GTypeInstance parent_instance; + volatile int ref_count; + TextActionPrivate * priv; +}; + +struct _TextActionClass { + GTypeClass parent_class; + void (*finalize) (TextAction *self); +}; + +struct _TextActionPrivate { + gchar* text; + gboolean sensitive; + gboolean visible; +}; + +struct _ParamSpecTextAction { + GParamSpec parent_instance; +}; + +struct _SearchFilterActions { + GTypeInstance parent_instance; + volatile int ref_count; + SearchFilterActionsPrivate * priv; +}; + +struct _SearchFilterActionsClass { + GTypeClass parent_class; + void (*finalize) (SearchFilterActions *self); +}; + +struct _SearchFilterActionsPrivate { + GtkActionGroup* action_group; + SearchFilterCriteria criteria; + TextAction* _text; + gboolean has_flagged; + gboolean has_photos; + gboolean has_videos; + gboolean has_raw; + gboolean can_filter_by_stars; +}; + +struct _CoreTracker { + GTypeInstance parent_instance; + volatile int ref_count; + CoreTrackerPrivate * priv; +}; + +struct _CoreTrackerClass { + GTypeClass parent_class; + void (*finalize) (CoreTracker *self); + void (*updated) (CoreTracker* self); +}; + +struct _CoreViewTracker { + CoreTracker parent_instance; + CoreViewTrackerPrivate * priv; +}; + +struct _CoreViewTrackerClass { + CoreTrackerClass parent_class; +}; + +struct _MediaViewTracker { + CoreViewTracker parent_instance; + MediaViewTrackerPrivate * priv; + MediaAccumulator* all; + MediaAccumulator* visible; + MediaAccumulator* selected; +}; + +struct _MediaViewTrackerClass { + CoreViewTrackerClass parent_class; +}; + +struct _CoreTrackerAccumulatorIface { + GTypeInterface parent_iface; + gboolean (*include) (CoreTrackerAccumulator* self, DataObject* object); + gboolean (*uninclude) (CoreTrackerAccumulator* self, DataObject* object); + gboolean (*altered) (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration); +}; + +struct _MediaAccumulator { + GObject parent_instance; + MediaAccumulatorPrivate * priv; + gint total; + gint photos; + gint videos; + gint raw; + gint flagged; +}; + +struct _MediaAccumulatorClass { + GObjectClass parent_class; +}; + +struct _CameraViewTracker { + CoreViewTracker parent_instance; + CameraViewTrackerPrivate * priv; + CameraAccumulator* all; + CameraAccumulator* visible; + CameraAccumulator* selected; +}; + +struct _CameraViewTrackerClass { + CoreViewTrackerClass parent_class; +}; + +struct _ParamSpecSearchFilterActions { + GParamSpec parent_instance; +}; + +struct _SearchFilterToolbar { + GtkRevealer parent_instance; + SearchFilterToolbarPrivate * priv; + GtkUIManager* ui; +}; + +struct _SearchFilterToolbarClass { + GtkRevealerClass parent_class; +}; + +struct _SearchFilterToolbarPrivate { + GtkToolbar* toolbar; + GtkMenu* close_menu; + GtkMenuItem* close_item; + SearchFilterActions* actions; + SavedSearch* saved_search; + SearchFilterToolbarSearchBox* search_box; + SearchFilterToolbarRatingFilterButton* rating_button; + SearchFilterToolbarSavedSearchFilterButton* saved_search_button; + gboolean elide_showing_again; + SearchViewFilter* search_filter; + SearchFilterToolbarLabelToolItem* label_type; + SearchFilterToolbarToggleActionToolButton* toolbtn_photos; + SearchFilterToolbarToggleActionToolButton* toolbtn_videos; + SearchFilterToolbarToggleActionToolButton* toolbtn_raw; + SearchFilterToolbarToggleActionToolButton* toolbtn_flag; + GtkSeparatorToolItem* sepr_mediatype_flagged; + GtkSeparatorToolItem* sepr_flagged_rating; + GtkSeparatorToolItem* sepr_rating_saved; +}; + +struct _SearchFilterToolbarRatingFilterButton { + GtkToolItem parent_instance; + SearchFilterToolbarRatingFilterButtonPrivate * priv; + GtkMenu* filter_popup; + GtkButton* button; +}; + +struct _SearchFilterToolbarRatingFilterButtonClass { + GtkToolItemClass parent_class; +}; + +struct _SearchFilterToolbarSavedSearchFilterButton { + GtkToolItem parent_instance; + SearchFilterToolbarSavedSearchFilterButtonPrivate * priv; + SearchFilterToolbarSavedSearchPopover* filter_popup; + GtkToggleButton* button; +}; + +struct _SearchFilterToolbarSavedSearchFilterButtonClass { + GtkToolItemClass parent_class; +}; + +struct _SearchFilterToolbarLabelToolItem { + GtkToolItem parent_instance; + SearchFilterToolbarLabelToolItemPrivate * priv; +}; + +struct _SearchFilterToolbarLabelToolItemClass { + GtkToolItemClass parent_class; +}; + +struct _SearchFilterToolbarLabelToolItemPrivate { + GtkLabel* label; +}; + +struct _SearchFilterToolbarToggleActionToolButton { + GtkToolItem parent_instance; + SearchFilterToolbarToggleActionToolButtonPrivate * priv; +}; + +struct _SearchFilterToolbarToggleActionToolButtonClass { + GtkToolItemClass parent_class; +}; + +struct _SearchFilterToolbarToggleActionToolButtonPrivate { + GtkToggleButton* button; + GtkToggleAction* action; +}; + +struct _SearchFilterToolbarSearchBox { + GtkToolItem parent_instance; + SearchFilterToolbarSearchBoxPrivate * priv; +}; + +struct _SearchFilterToolbarSearchBoxClass { + GtkToolItemClass parent_class; +}; + +struct _SearchFilterToolbarSearchBoxPrivate { + GtkSearchEntry* search_entry; + TextAction* action; +}; + +struct _SearchFilterToolbarSavedSearchPopover { + GTypeInstance parent_instance; + volatile int ref_count; + SearchFilterToolbarSavedSearchPopoverPrivate * priv; +}; + +struct _SearchFilterToolbarSavedSearchPopoverClass { + GTypeClass parent_class; + void (*finalize) (SearchFilterToolbarSavedSearchPopover *self); +}; + +struct _SearchFilterToolbarSavedSearchPopoverPrivate { + GtkPopover* popover; + GtkListBox* list_box; + SearchFilterToolbarSavedSearchPopoverDataButton** edit_buttons; + gint edit_buttons_length1; + gint _edit_buttons_size_; + SearchFilterToolbarSavedSearchPopoverDataButton** delete_buttons; + gint delete_buttons_length1; + gint _delete_buttons_size_; + GtkButton* add; +}; + +struct _SearchFilterToolbarSavedSearchPopoverDataButton { + GtkBin parent_instance; + SearchFilterToolbarSavedSearchPopoverDataButtonPrivate * priv; +}; + +struct _SearchFilterToolbarSavedSearchPopoverDataButtonClass { + GtkBinClass parent_class; +}; + +struct _SearchFilterToolbarSavedSearchPopoverDataButtonPrivate { + GtkButton* button; + SavedSearch* _search; +}; + +struct _SearchFilterToolbarParamSpecSavedSearchPopover { + GParamSpec parent_instance; +}; + + +static gpointer search_view_filter_parent_class = NULL; +static gpointer default_search_view_filter_parent_class = NULL; +extern TagSourceCollection* tag_global; +static gpointer disabled_view_filter_parent_class = NULL; +static gpointer text_action_parent_class = NULL; +static gpointer search_filter_actions_parent_class = NULL; +extern gchar* resources_DISPLAY_ONE_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_ONE_OR_HIGHER_TOOLTIP; +extern gchar* resources_DISPLAY_TWO_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_TWO_OR_HIGHER_TOOLTIP; +extern gchar* resources_DISPLAY_THREE_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_THREE_OR_HIGHER_TOOLTIP; +extern gchar* resources_DISPLAY_FOUR_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_FOUR_OR_HIGHER_TOOLTIP; +extern gchar* resources_DISPLAY_FIVE_OR_HIGHER_MENU; +extern gchar* resources_DISPLAY_FIVE_OR_HIGHER_TOOLTIP; +static gpointer search_filter_toolbar_parent_class = NULL; +static gpointer search_filter_toolbar_label_tool_item_parent_class = NULL; +static gpointer search_filter_toolbar_toggle_action_tool_button_parent_class = NULL; +static gpointer search_filter_toolbar_search_box_parent_class = NULL; +static gpointer search_filter_toolbar_rating_filter_button_parent_class = NULL; +static gpointer search_filter_toolbar_saved_search_filter_button_parent_class = NULL; +static gpointer search_filter_toolbar_saved_search_popover_parent_class = NULL; +static gpointer search_filter_toolbar_saved_search_popover_data_button_parent_class = NULL; + +GType search_filter_criteria_get_type (void) G_GNUC_CONST; +GType rating_filter_get_type (void) G_GNUC_CONST; +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType saved_search_get_type (void) G_GNUC_CONST; +#define SEARCH_VIEW_FILTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterPrivate)) +enum { + SEARCH_VIEW_FILTER_DUMMY_PROPERTY +}; +guint search_view_filter_get_criteria (SearchViewFilter* self); +static guint search_view_filter_real_get_criteria (SearchViewFilter* self); +void search_view_filter_set_rating_filter (SearchViewFilter* self, RatingFilter rf); +gboolean search_view_filter_has_search_filter (SearchViewFilter* self); +gboolean is_string_empty (const gchar* s); +const gchar* search_view_filter_get_search_filter (SearchViewFilter* self); +gchar** search_view_filter_get_search_filter_words (SearchViewFilter* self, int* result_length1); +void search_view_filter_set_search_filter (SearchViewFilter* self, const gchar* text); +static gchar** _vala_array_dup33 (gchar** self, int length); +void search_view_filter_clear_search_filter (SearchViewFilter* self); +gboolean search_view_filter_has_saved_search (SearchViewFilter* self); +SavedSearch* search_view_filter_get_saved_search (SearchViewFilter* self); +gboolean search_view_filter_get_rating_allow_higher (SearchViewFilter* self); +Rating search_view_filter_get_rating (SearchViewFilter* self); +gboolean search_view_filter_filter_by_media_type (SearchViewFilter* self); +gboolean search_view_filter_get_show_media_video (SearchViewFilter* self); +gboolean search_view_filter_get_show_media_photos (SearchViewFilter* self); +gboolean search_view_filter_get_show_media_raw (SearchViewFilter* self); +SearchViewFilter* search_view_filter_construct (GType object_type); +ViewFilter* view_filter_construct (GType object_type); +gboolean search_view_filter_get_flagged (SearchViewFilter* self); +void search_view_filter_set_flagged (SearchViewFilter* self, gboolean value); +void search_view_filter_set_show_media_video (SearchViewFilter* self, gboolean value); +void search_view_filter_set_show_media_photos (SearchViewFilter* self, gboolean value); +void search_view_filter_set_show_media_raw (SearchViewFilter* self, gboolean value); +void search_view_filter_set_saved_search (SearchViewFilter* self, SavedSearch* value); +static void search_view_filter_finalize (ViewFilter* obj); +GType default_search_view_filter_get_type (void) G_GNUC_CONST; +enum { + DEFAULT_SEARCH_VIEW_FILTER_DUMMY_PROPERTY +}; +static gboolean default_search_view_filter_real_predicate (ViewFilter* base, DataView* view); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_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); +Rating media_source_get_rating (MediaSource* self); +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +GType video_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 photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_master_file_format (Photo* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +gboolean photo_is_raw_developer_available (Photo* self, RawDeveloper d); +GType indexable_get_type (void) G_GNUC_CONST; +const gchar* indexable_get_indexable_keywords (Indexable* self); +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +Event* media_source_get_event (MediaSource* self); +GType tag_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source); +gboolean saved_search_predicate (SavedSearch* self, MediaSource* source); +DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type); +GType disabled_view_filter_get_type (void) G_GNUC_CONST; +enum { + DISABLED_VIEW_FILTER_DUMMY_PROPERTY +}; +static gboolean disabled_view_filter_real_predicate (ViewFilter* base, DataView* view); +static guint disabled_view_filter_real_get_criteria (SearchViewFilter* base); +DisabledViewFilter* disabled_view_filter_new (void); +DisabledViewFilter* disabled_view_filter_construct (GType object_type); +gpointer text_action_ref (gpointer instance); +void text_action_unref (gpointer instance); +GParamSpec* param_spec_text_action (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_text_action (GValue* value, gpointer v_object); +void value_take_text_action (GValue* value, gpointer v_object); +gpointer value_get_text_action (const GValue* value); +GType text_action_get_type (void) G_GNUC_CONST; +#define TEXT_ACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TEXT_ACTION, TextActionPrivate)) +enum { + TEXT_ACTION_DUMMY_PROPERTY +}; +TextAction* text_action_new (const gchar* init); +TextAction* text_action_construct (GType object_type, const gchar* init); +void text_action_set_text (TextAction* self, const gchar* text); +void text_action_clear (TextAction* self); +gboolean text_action_is_sensitive (TextAction* self); +void text_action_set_sensitive (TextAction* self, gboolean sensitive); +gboolean text_action_is_visible (TextAction* self); +void text_action_set_visible (TextAction* self, gboolean visible); +const gchar* text_action_get_value (TextAction* self); +static void text_action_finalize (TextAction* obj); +gpointer search_filter_actions_ref (gpointer instance); +void search_filter_actions_unref (gpointer instance); +GParamSpec* param_spec_search_filter_actions (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_search_filter_actions (GValue* value, gpointer v_object); +void value_take_search_filter_actions (GValue* value, gpointer v_object); +gpointer value_get_search_filter_actions (const GValue* value); +GType search_filter_actions_get_type (void) G_GNUC_CONST; +#define SEARCH_FILTER_ACTIONS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsPrivate)) +enum { + SEARCH_FILTER_ACTIONS_DUMMY_PROPERTY +}; +SearchFilterActions* search_filter_actions_new (void); +SearchFilterActions* search_filter_actions_construct (GType object_type); +static void search_filter_actions_register (SearchFilterActions* self); +TextAction* search_filter_actions_get_text (SearchFilterActions* self); +static void search_filter_actions_on_text_changed (SearchFilterActions* self, TextAction* action, const gchar* text); +static void _search_filter_actions_on_text_changed_text_action_text_changed (TextAction* _sender, const gchar* text, gpointer self); +GtkActionGroup* search_filter_actions_get_action_group (SearchFilterActions* self); +SearchFilterCriteria search_filter_actions_get_criteria (SearchFilterActions* self); +GtkAction* search_filter_actions_get_action (SearchFilterActions* self, const gchar* name); +void search_filter_actions_set_action_sensitive (SearchFilterActions* self, const gchar* name, gboolean sensitive); +void search_filter_actions_reset (SearchFilterActions* self); +GtkToggleAction* search_filter_actions_get_flagged (SearchFilterActions* self); +GtkToggleAction* search_filter_actions_get_photos (SearchFilterActions* self); +GtkToggleAction* search_filter_actions_get_raw (SearchFilterActions* self); +GtkToggleAction* search_filter_actions_get_videos (SearchFilterActions* self); +GtkRadioAction* search_filter_actions_get_rating (SearchFilterActions* self); +void search_filter_actions_set_sensitive_for_search_criteria (SearchFilterActions* self, SearchFilterCriteria criteria); +static void search_filter_actions_update_sensitivities (SearchFilterActions* self); +GType page_get_type (void) G_GNUC_CONST; +void search_filter_actions_monitor_page_contents (SearchFilterActions* self, Page* old_page, Page* new_page); +GType checkerboard_page_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +CoreViewTracker* checkerboard_page_get_view_tracker (CheckerboardPage* self); +GType media_view_tracker_get_type (void) G_GNUC_CONST; +static void search_filter_actions_on_media_tracker_updated (SearchFilterActions* self, CoreTracker* t); +static void _search_filter_actions_on_media_tracker_updated_core_tracker_updated (CoreTracker* _sender, gpointer self); +GType camera_view_tracker_get_type (void) G_GNUC_CONST; +static void search_filter_actions_on_camera_tracker_updated (SearchFilterActions* self, CoreTracker* t); +static void _search_filter_actions_on_camera_tracker_updated_core_tracker_updated (CoreTracker* _sender, gpointer self); +GType media_accumulator_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType core_tracker_accumulator_get_type (void) G_GNUC_CONST; +GType camera_accumulator_get_type (void) G_GNUC_CONST; +gint camera_accumulator_get_photos (CameraAccumulator* self); +gint camera_accumulator_get_videos (CameraAccumulator* self); +gint camera_accumulator_get_raw (CameraAccumulator* self); +#define RESOURCES_ICON_FILTER_FLAGGED "filter-flagged" +#define RESOURCES_ICON_FILTER_FLAGGED_DISABLED "filter-flagged-disabled" +#define RESOURCES_ICON_FILTER_VIDEOS "filter-videos" +#define RESOURCES_ICON_FILTER_VIDEOS_DISABLED "filter-videos-disabled" +#define RESOURCES_ICON_FILTER_PHOTOS "filter-photos" +#define RESOURCES_ICON_FILTER_PHOTOS_DISABLED "filter-photos-disabled" +#define RESOURCES_ICON_FILTER_RAW "filter-raw" +#define RESOURCES_ICON_FILTER_RAW_DISABLED "filter-raw-disabled" +#define TRANSLATABLE "translatable" +#define RESOURCES_DISPLAY_REJECTED_ONLY_MENU _ ("Rejected _Only") +#define RESOURCES_DISPLAY_REJECTED_ONLY_TOOLTIP _ ("Show only rejected photos") +static void _vala_array_add339 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +#define RESOURCES_DISPLAY_REJECTED_OR_HIGHER_MENU _ ("All + _Rejected") +#define RESOURCES_DISPLAY_REJECTED_OR_HIGHER_TOOLTIP "Show all photos, including rejected" +static void _vala_array_add340 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +#define RESOURCES_DISPLAY_UNRATED_OR_HIGHER_MENU _ ("_All Photos") +#define RESOURCES_DISPLAY_UNRATED_OR_HIGHER_TOOLTIP _ ("Show all photos") +static void _vala_array_add341 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add342 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add343 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add344 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add345 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void _vala_array_add346 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void search_filter_actions_on_rating_changed (SearchFilterActions* self, GtkAction* action, GtkAction* current); +static void _search_filter_actions_on_rating_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self); +static void search_filter_actions_on_flagged_toggled (SearchFilterActions* self, GtkAction* action); +static void _search_filter_actions_on_flagged_toggled_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add347 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void search_filter_actions_on_photos_toggled (SearchFilterActions* self, GtkAction* action); +static void _search_filter_actions_on_photos_toggled_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add348 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void search_filter_actions_on_videos_toggled (SearchFilterActions* self, GtkAction* action); +static void _search_filter_actions_on_videos_toggled_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add349 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void search_filter_actions_on_raw_toggled (SearchFilterActions* self, GtkAction* action); +static void _search_filter_actions_on_raw_toggled_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add350 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +gboolean search_filter_actions_get_has_photos (SearchFilterActions* self); +gboolean search_filter_actions_get_has_videos (SearchFilterActions* self); +gboolean search_filter_actions_get_has_raw (SearchFilterActions* self); +gboolean search_filter_actions_get_has_flagged (SearchFilterActions* self); +static void g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void search_filter_actions_finalize (SearchFilterActions* obj); +GType search_filter_toolbar_get_type (void) G_GNUC_CONST; +GType search_filter_toolbar_search_box_get_type (void) G_GNUC_CONST; +GType search_filter_toolbar_rating_filter_button_get_type (void) G_GNUC_CONST; +GType search_filter_toolbar_saved_search_filter_button_get_type (void) G_GNUC_CONST; +static GType search_filter_toolbar_label_tool_item_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GType search_filter_toolbar_toggle_action_tool_button_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define SEARCH_FILTER_TOOLBAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarPrivate)) +enum { + SEARCH_FILTER_TOOLBAR_DUMMY_PROPERTY +}; +static void search_filter_toolbar_on_media_context_changed (SearchFilterToolbar* self, gboolean has_photos, gboolean has_videos, gboolean has_raw, gboolean has_flagged); +static void _search_filter_toolbar_on_media_context_changed_search_filter_actions_media_context_changed (SearchFilterActions* _sender, gboolean has_photos, gboolean has_videos, gboolean has_raw, gboolean has_flagged, gpointer self); +static void search_filter_toolbar_on_flagged_toggled (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_flagged_toggled_search_filter_actions_flagged_toggled (SearchFilterActions* _sender, gboolean on, gpointer self); +static void search_filter_toolbar_on_photos_toggled (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_photos_toggled_search_filter_actions_photos_toggled (SearchFilterActions* _sender, gboolean on, gpointer self); +static void search_filter_toolbar_on_videos_toggled (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_videos_toggled_search_filter_actions_videos_toggled (SearchFilterActions* _sender, gboolean on, gpointer self); +static void search_filter_toolbar_on_raw_toggled (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_raw_toggled_search_filter_actions_raw_toggled (SearchFilterActions* _sender, gboolean on, gpointer self); +static void search_filter_toolbar_on_rating_changed (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_rating_changed_search_filter_actions_rating_changed (SearchFilterActions* _sender, RatingFilter filter, gpointer self); +static void search_filter_toolbar_on_search_text_changed (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_search_text_changed_search_filter_actions_text_changed (SearchFilterActions* _sender, const gchar* text, gpointer self); +static void search_filter_toolbar_on_criteria_changed (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_criteria_changed_search_filter_actions_criteria_changed (SearchFilterActions* _sender, gpointer self); +static gboolean search_filter_toolbar_on_context_menu_requested (SearchFilterToolbar* self, gint x, gint y, gint button); +static gboolean _search_filter_toolbar_on_context_menu_requested_gtk_toolbar_popup_context_menu (GtkToolbar* _sender, gint x, gint y, gint button_number, gpointer self); +SearchFilterToolbarRatingFilterButton* search_filter_toolbar_rating_filter_button_new (void); +SearchFilterToolbarRatingFilterButton* search_filter_toolbar_rating_filter_button_construct (GType object_type); +SearchFilterToolbarSavedSearchFilterButton* search_filter_toolbar_saved_search_filter_button_new (void); +SearchFilterToolbarSavedSearchFilterButton* search_filter_toolbar_saved_search_filter_button_construct (GType object_type); +#define SEARCH_FILTER_TOOLBAR_FILTER_BUTTON_MARGIN 12 +#define SEARCH_FILTER_TOOLBAR_FILTER_ICON_STAR_SCALE 0.65f +#define SEARCH_FILTER_TOOLBAR_FILTER_ICON_SCALE 0.75f +#define SEARCH_FILTER_TOOLBAR_FILTER_ICON_BASE_WIDTH 30 +#define SEARCH_FILTER_TOOLBAR_FILTER_ICON_PLUS_WIDTH 20 +SearchFilterToolbar* search_filter_toolbar_new (SearchFilterActions* actions); +SearchFilterToolbar* search_filter_toolbar_construct (GType object_type, SearchFilterActions* actions); +SearchFilterToolbarSearchBox* search_filter_toolbar_search_box_new (TextAction* action); +SearchFilterToolbarSearchBox* search_filter_toolbar_search_box_construct (GType object_type, TextAction* action); +GFile* resources_get_ui (const gchar* filename); +void app_window_panic (const gchar* msg); +static void search_filter_toolbar_on_context_menu_close_chosen (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_context_menu_close_chosen_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static SearchFilterToolbarLabelToolItem* search_filter_toolbar_label_tool_item_new (const gchar* s, gint left_padding, gint right_padding); +static SearchFilterToolbarLabelToolItem* search_filter_toolbar_label_tool_item_construct (GType object_type, const gchar* s, gint left_padding, gint right_padding); +static SearchFilterToolbarToggleActionToolButton* search_filter_toolbar_toggle_action_tool_button_new (GtkToggleAction* action); +static SearchFilterToolbarToggleActionToolButton* search_filter_toolbar_toggle_action_tool_button_construct (GType object_type, GtkToggleAction* action); +static void search_filter_toolbar_toggle_action_tool_button_set_label (SearchFilterToolbarToggleActionToolButton* self, const gchar* label); +void search_filter_toolbar_rating_filter_button_set_label (SearchFilterToolbarRatingFilterButton* self, const gchar* label); +static void search_filter_toolbar_on_filter_button_clicked (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_filter_button_clicked_search_filter_toolbar_rating_filter_button_clicked (SearchFilterToolbarRatingFilterButton* _sender, gpointer self); +void search_filter_toolbar_saved_search_filter_button_set_label (SearchFilterToolbarSavedSearchFilterButton* self, const gchar* label); +static void search_filter_toolbar_on_saved_search_button_clicked (SearchFilterToolbar* self); +static void _search_filter_toolbar_on_saved_search_button_clicked_search_filter_toolbar_saved_search_filter_button_clicked (SearchFilterToolbarSavedSearchFilterButton* _sender, gpointer self); +static void search_filter_toolbar_toggle_action_tool_button_set_icon_name (SearchFilterToolbarToggleActionToolButton* self, const gchar* icon_name); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +GtkAction* app_window_get_common_action (AppWindow* self, const gchar* name); +void search_filter_toolbar_update (SearchFilterToolbar* self); +void search_filter_toolbar_set_view_filter (SearchFilterToolbar* self, SearchViewFilter* search_filter); +void search_filter_toolbar_unset_view_filter (SearchFilterToolbar* self); +void library_window_show_search_bar (LibraryWindow* self, gboolean display); +void search_filter_toolbar_rating_filter_button_set_filter_icon (SearchFilterToolbarRatingFilterButton* self, RatingFilter filter); +static void search_filter_toolbar_position_filter_popup (SearchFilterToolbar* self, GtkMenu* menu, gint* x, gint* y, gboolean* push_in); +AppWindow* app_window_get_instance (void); +Page* page_window_get_current_page (PageWindow* self); +GtkMenuBar* page_get_menubar (Page* self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gint configuration_facade_get_sidebar_position (ConfigurationFacade* self); +static void _search_filter_toolbar_position_filter_popup_gtk_menu_position_func (GtkMenu* menu, gint* x, gint* y, gboolean* push_in, gpointer self); +static void search_filter_toolbar_on_savedsearch_selected (SearchFilterToolbar* self, SavedSearch* saved_search); +static void search_filter_toolbar_disable_savedsearch (SearchFilterToolbar* self); +static void search_filter_toolbar_edit_dialog (SearchFilterToolbar* self, SavedSearch* search); +gpointer search_filter_toolbar_saved_search_popover_ref (gpointer instance); +void search_filter_toolbar_saved_search_popover_unref (gpointer instance); +GParamSpec* search_filter_toolbar_param_spec_saved_search_popover (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void search_filter_toolbar_value_set_saved_search_popover (GValue* value, gpointer v_object); +void search_filter_toolbar_value_take_saved_search_popover (GValue* value, gpointer v_object); +gpointer search_filter_toolbar_value_get_saved_search_popover (const GValue* value); +GType search_filter_toolbar_saved_search_popover_get_type (void) G_GNUC_CONST; +void search_filter_toolbar_saved_search_popover_hide (SearchFilterToolbarSavedSearchPopover* self); +gpointer saved_search_dialog_ref (gpointer instance); +void saved_search_dialog_unref (gpointer instance); +GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_saved_search_dialog (GValue* value, gpointer v_object); +void value_take_saved_search_dialog (GValue* value, gpointer v_object); +gpointer value_get_saved_search_dialog (const GValue* value); +GType saved_search_dialog_get_type (void) G_GNUC_CONST; +SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search); +SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type, SavedSearch* saved_search); +void saved_search_dialog_show (SavedSearchDialog* self); +static void search_filter_toolbar_delete_dialog (SearchFilterToolbar* self, SavedSearch* search); +gboolean dialogs_confirm_delete_saved_search (SavedSearch* search); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search); +DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type, SavedSearch* search); +GType page_command_get_type (void) G_GNUC_CONST; +GType single_data_source_command_get_type (void) G_GNUC_CONST; +GType delete_saved_search_command_get_type (void) G_GNUC_CONST; +static void search_filter_toolbar_add_dialog (SearchFilterToolbar* self); +SavedSearchDialog* saved_search_dialog_new (void); +SavedSearchDialog* saved_search_dialog_construct (GType object_type); +static void search_filter_toolbar_on_popover_closed (SearchFilterToolbar* self); +void search_filter_toolbar_saved_search_filter_button_set_active (SearchFilterToolbarSavedSearchFilterButton* self, gboolean active); +static void _search_filter_toolbar_edit_dialog_search_filter_toolbar_saved_search_popover_edit_clicked (SearchFilterToolbarSavedSearchPopover* _sender, SavedSearch* search, gpointer self); +static void _search_filter_toolbar_on_savedsearch_selected_search_filter_toolbar_saved_search_popover_search_activated (SearchFilterToolbarSavedSearchPopover* _sender, SavedSearch* search, gpointer self); +static void _search_filter_toolbar_delete_dialog_search_filter_toolbar_saved_search_popover_delete_clicked (SearchFilterToolbarSavedSearchPopover* _sender, SavedSearch* search, gpointer self); +static void _search_filter_toolbar_add_dialog_search_filter_toolbar_saved_search_popover_add_clicked (SearchFilterToolbarSavedSearchPopover* _sender, gpointer self); +static void _search_filter_toolbar_on_popover_closed_search_filter_toolbar_saved_search_popover_closed (SearchFilterToolbarSavedSearchPopover* _sender, gpointer self); +SearchFilterToolbarSavedSearchPopover* search_filter_toolbar_saved_search_popover_new (GtkWidget* relative_to); +SearchFilterToolbarSavedSearchPopover* search_filter_toolbar_saved_search_popover_construct (GType object_type, GtkWidget* relative_to); +void search_filter_toolbar_saved_search_popover_show_all (SearchFilterToolbarSavedSearchPopover* self); +void search_filter_toolbar_take_focus (SearchFilterToolbar* self); +void search_filter_toolbar_search_box_get_focus (SearchFilterToolbarSearchBox* self); +#define SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItemPrivate)) +enum { + SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_DUMMY_PROPERTY +}; +static void search_filter_toolbar_label_tool_item_finalize (GObject* obj); +#define SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButtonPrivate)) +enum { + SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_DUMMY_PROPERTY +}; +static void search_filter_toolbar_toggle_action_tool_button_on_button_activate (SearchFilterToolbarToggleActionToolButton* self); +static void _search_filter_toolbar_toggle_action_tool_button_on_button_activate_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void search_filter_toolbar_toggle_action_tool_button_finalize (GObject* obj); +#define SEARCH_FILTER_TOOLBAR_SEARCH_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBoxPrivate)) +enum { + SEARCH_FILTER_TOOLBAR_SEARCH_BOX_DUMMY_PROPERTY +}; +static void search_filter_toolbar_search_box_on_action_text_changed (SearchFilterToolbarSearchBox* self, const gchar* text); +static void _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed (TextAction* _sender, const gchar* text, gpointer self); +static void search_filter_toolbar_search_box_on_sensitivity_changed (SearchFilterToolbarSearchBox* self, gboolean sensitive); +static void _search_filter_toolbar_search_box_on_sensitivity_changed_text_action_sensitivity_changed (TextAction* _sender, gboolean sensitive, gpointer self); +static void search_filter_toolbar_search_box_on_visibility_changed (SearchFilterToolbarSearchBox* self, gboolean visible); +static void _search_filter_toolbar_search_box_on_visibility_changed_text_action_visibility_changed (TextAction* _sender, gboolean visible, gpointer self); +static void search_filter_toolbar_search_box_on_entry_changed (SearchFilterToolbarSearchBox* self); +static void _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text (GtkEntryBuffer* _sender, guint position, guint n_chars, gpointer self); +static void _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text (GtkEntryBuffer* _sender, guint position, const gchar* chars, guint n_chars, gpointer self); +static gboolean search_filter_toolbar_search_box_on_escape_key (SearchFilterToolbarSearchBox* self, GdkEventKey* e); +static gboolean _search_filter_toolbar_search_box_on_escape_key_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self); +static void search_filter_toolbar_search_box_set_nullable_text (SearchFilterToolbarSearchBox* self, const gchar* text); +static void search_filter_toolbar_search_box_finalize (GObject* obj); +enum { + SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON_DUMMY_PROPERTY +}; +static void search_filter_toolbar_rating_filter_button_on_clicked (SearchFilterToolbarRatingFilterButton* self); +static void _search_filter_toolbar_rating_filter_button_on_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static GtkWidget* search_filter_toolbar_rating_filter_button_get_filter_icon (SearchFilterToolbarRatingFilterButton* self, RatingFilter filter); +#define RESOURCES_ICON_FILTER_ONE_OR_BETTER "one-star-filter-plus.svg" +#define RESOURCES_ICON_FILTER_TWO_OR_BETTER "two-star-filter-plus.svg" +#define RESOURCES_ICON_FILTER_THREE_OR_BETTER "three-star-filter-plus.svg" +#define RESOURCES_ICON_FILTER_FOUR_OR_BETTER "four-star-filter-plus.svg" +#define RESOURCES_ICON_FILTER_FIVE "five-star-filter.svg" +#define RESOURCES_ICON_FILTER_REJECTED_OR_BETTER "all-rejected.png" +#define RESOURCES_ICON_RATING_REJECTED "rejected.svg" +#define RESOURCES_ICON_FILTER_UNRATED_OR_BETTER "shotwell-16.png" +GdkPixbuf* resources_load_icon (const gchar* name, gint scale); +static gint search_filter_toolbar_rating_filter_button_get_filter_icon_size (SearchFilterToolbarRatingFilterButton* self, RatingFilter filter); +#define RESOURCES_ICON_FILTER_REJECTED_OR_BETTER_FIXED_SIZE 32 +#define RESOURCES_ICON_FILTER_UNRATED_OR_BETTER_FIXED_SIZE 16 +static gint search_filter_toolbar_rating_filter_button_get_filter_button_size (SearchFilterToolbarRatingFilterButton* self, RatingFilter filter); +gchar* resources_get_rating_filter_tooltip (RatingFilter filter); +static void search_filter_toolbar_rating_filter_button_finalize (GObject* obj); +enum { + SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_DUMMY_PROPERTY +}; +static void search_filter_toolbar_saved_search_filter_button_on_clicked (SearchFilterToolbarSavedSearchFilterButton* self); +static void _search_filter_toolbar_saved_search_filter_button_on_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +void search_filter_toolbar_saved_search_filter_button_restyle (SearchFilterToolbarSavedSearchFilterButton* self); +static void search_filter_toolbar_saved_search_filter_button_finalize (GObject* obj); +static GType search_filter_toolbar_saved_search_popover_data_button_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopoverPrivate)) +enum { + SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DUMMY_PROPERTY +}; +static void search_filter_toolbar_saved_search_popover_on_edit_click (SearchFilterToolbarSavedSearchPopover* self, SavedSearch* search); +static void _search_filter_toolbar_saved_search_popover_on_edit_click_search_filter_toolbar_saved_search_popover_data_button_clicked (SearchFilterToolbarSavedSearchPopoverDataButton* _sender, SavedSearch* search, gpointer self); +static void search_filter_toolbar_saved_search_popover_on_delete_click (SearchFilterToolbarSavedSearchPopover* self, SavedSearch* search); +static void _search_filter_toolbar_saved_search_popover_on_delete_click_search_filter_toolbar_saved_search_popover_data_button_clicked (SearchFilterToolbarSavedSearchPopoverDataButton* _sender, SavedSearch* search, gpointer self); +static void search_filter_toolbar_saved_search_popover_on_add_click (SearchFilterToolbarSavedSearchPopover* self); +static void _search_filter_toolbar_saved_search_popover_on_add_click_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void search_filter_toolbar_saved_search_popover_on_activate_row (SearchFilterToolbarSavedSearchPopover* self, GtkListBoxRow* row); +static void _search_filter_toolbar_saved_search_popover_on_activate_row_gtk_list_box_row_activated (GtkListBox* _sender, GtkListBoxRow* row, gpointer self); +static void search_filter_toolbar_saved_search_popover_on_popover_closed (SearchFilterToolbarSavedSearchPopover* self); +static void _search_filter_toolbar_saved_search_popover_on_popover_closed_gtk_popover_closed (GtkPopover* _sender, gpointer self); +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); +GeeCollection* saved_search_table_get_all (SavedSearchTable* self); +gchar* data_object_get_name (DataObject* self); +static SearchFilterToolbarSavedSearchPopoverDataButton* search_filter_toolbar_saved_search_popover_data_button_new (SavedSearch* search, const gchar* name); +static SearchFilterToolbarSavedSearchPopoverDataButton* search_filter_toolbar_saved_search_popover_data_button_construct (GType object_type, SavedSearch* search, const gchar* name); +static void _vala_array_add351 (SearchFilterToolbarSavedSearchPopoverDataButton*** array, int* length, int* size, SearchFilterToolbarSavedSearchPopoverDataButton* value); +static void _vala_array_add352 (SearchFilterToolbarSavedSearchPopoverDataButton*** array, int* length, int* size, SearchFilterToolbarSavedSearchPopoverDataButton* value); +void search_filter_toolbar_saved_search_popover_restyle (SearchFilterToolbarSavedSearchPopover* self); +static void search_filter_toolbar_saved_search_popover_data_button_restyle (SearchFilterToolbarSavedSearchPopoverDataButton* self); +static gboolean search_filter_toolbar_saved_search_popover_is_search_row (SearchFilterToolbarSavedSearchPopover* self, GtkListBoxRow* row); +static SavedSearch* search_filter_toolbar_saved_search_popover_get_search (SearchFilterToolbarSavedSearchPopover* self, GtkListBoxRow* row); +static SavedSearch* search_filter_toolbar_saved_search_popover_data_button_get_search (SearchFilterToolbarSavedSearchPopoverDataButton* self); +#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButtonPrivate)) +enum { + SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_DUMMY_PROPERTY, + SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH +}; +static void search_filter_toolbar_saved_search_popover_data_button_on_click (SearchFilterToolbarSavedSearchPopoverDataButton* self); +static void _search_filter_toolbar_saved_search_popover_data_button_on_click_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void search_filter_toolbar_saved_search_popover_data_button_set_search (SearchFilterToolbarSavedSearchPopoverDataButton* self, SavedSearch* value); +static void search_filter_toolbar_saved_search_popover_data_button_finalize (GObject* obj); +static void _vala_search_filter_toolbar_saved_search_popover_data_button_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_search_filter_toolbar_saved_search_popover_data_button_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +static void search_filter_toolbar_saved_search_popover_finalize (SearchFilterToolbarSavedSearchPopover* obj); +static void search_filter_toolbar_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +GType search_filter_criteria_get_type (void) { + static volatile gsize search_filter_criteria_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_criteria_type_id__volatile)) { + static const GFlagsValue values[] = {{SEARCH_FILTER_CRITERIA_NONE, "SEARCH_FILTER_CRITERIA_NONE", "none"}, {SEARCH_FILTER_CRITERIA_RECURSIVE, "SEARCH_FILTER_CRITERIA_RECURSIVE", "recursive"}, {SEARCH_FILTER_CRITERIA_TEXT, "SEARCH_FILTER_CRITERIA_TEXT", "text"}, {SEARCH_FILTER_CRITERIA_FLAG, "SEARCH_FILTER_CRITERIA_FLAG", "flag"}, {SEARCH_FILTER_CRITERIA_MEDIA, "SEARCH_FILTER_CRITERIA_MEDIA", "media"}, {SEARCH_FILTER_CRITERIA_RATING, "SEARCH_FILTER_CRITERIA_RATING", "rating"}, {SEARCH_FILTER_CRITERIA_SAVEDSEARCH, "SEARCH_FILTER_CRITERIA_SAVEDSEARCH", "savedsearch"}, {SEARCH_FILTER_CRITERIA_ALL, "SEARCH_FILTER_CRITERIA_ALL", "all"}, {0, NULL, NULL}}; + GType search_filter_criteria_type_id; + search_filter_criteria_type_id = g_flags_register_static ("SearchFilterCriteria", values); + g_once_init_leave (&search_filter_criteria_type_id__volatile, search_filter_criteria_type_id); + } + return search_filter_criteria_type_id__volatile; +} + + +GType rating_filter_get_type (void) { + static volatile gsize rating_filter_type_id__volatile = 0; + if (g_once_init_enter (&rating_filter_type_id__volatile)) { + static const GEnumValue values[] = {{RATING_FILTER_NO_FILTER, "RATING_FILTER_NO_FILTER", "no-filter"}, {RATING_FILTER_REJECTED_OR_HIGHER, "RATING_FILTER_REJECTED_OR_HIGHER", "rejected-or-higher"}, {RATING_FILTER_UNRATED_OR_HIGHER, "RATING_FILTER_UNRATED_OR_HIGHER", "unrated-or-higher"}, {RATING_FILTER_ONE_OR_HIGHER, "RATING_FILTER_ONE_OR_HIGHER", "one-or-higher"}, {RATING_FILTER_TWO_OR_HIGHER, "RATING_FILTER_TWO_OR_HIGHER", "two-or-higher"}, {RATING_FILTER_THREE_OR_HIGHER, "RATING_FILTER_THREE_OR_HIGHER", "three-or-higher"}, {RATING_FILTER_FOUR_OR_HIGHER, "RATING_FILTER_FOUR_OR_HIGHER", "four-or-higher"}, {RATING_FILTER_FIVE_OR_HIGHER, "RATING_FILTER_FIVE_OR_HIGHER", "five-or-higher"}, {RATING_FILTER_REJECTED_ONLY, "RATING_FILTER_REJECTED_ONLY", "rejected-only"}, {RATING_FILTER_UNRATED_ONLY, "RATING_FILTER_UNRATED_ONLY", "unrated-only"}, {RATING_FILTER_ONE_ONLY, "RATING_FILTER_ONE_ONLY", "one-only"}, {RATING_FILTER_TWO_ONLY, "RATING_FILTER_TWO_ONLY", "two-only"}, {RATING_FILTER_THREE_ONLY, "RATING_FILTER_THREE_ONLY", "three-only"}, {RATING_FILTER_FOUR_ONLY, "RATING_FILTER_FOUR_ONLY", "four-only"}, {RATING_FILTER_FIVE_ONLY, "RATING_FILTER_FIVE_ONLY", "five-only"}, {0, NULL, NULL}}; + GType rating_filter_type_id; + rating_filter_type_id = g_enum_register_static ("RatingFilter", values); + g_once_init_leave (&rating_filter_type_id__volatile, rating_filter_type_id); + } + return rating_filter_type_id__volatile; +} + + +static guint search_view_filter_real_get_criteria (SearchViewFilter* self) { +#line 65 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_critical ("Type `%s' does not implement abstract method `search_view_filter_get_criteria'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 65 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return 0U; +#line 1543 "SearchFilter.c" +} + + +guint search_view_filter_get_criteria (SearchViewFilter* self) { +#line 65 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), 0U); +#line 65 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return SEARCH_VIEW_FILTER_GET_CLASS (self)->get_criteria (self); +#line 1552 "SearchFilter.c" +} + + +void search_view_filter_set_rating_filter (SearchViewFilter* self, RatingFilter rf) { + RatingFilter _tmp0_ = 0; + RatingFilter _tmp1_ = 0; +#line 67 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (self)); +#line 68 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = rf; +#line 68 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_filter = _tmp0_; +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->rating_filter; +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + switch (_tmp1_) { +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_REJECTED_ONLY: +#line 1571 "SearchFilter.c" + { +#line 71 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_REJECTED; +#line 72 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = FALSE; +#line 73 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1579 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_REJECTED_OR_HIGHER: +#line 1583 "SearchFilter.c" + { +#line 76 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_REJECTED; +#line 77 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = TRUE; +#line 78 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1591 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_ONE_OR_HIGHER: +#line 1595 "SearchFilter.c" + { +#line 81 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_ONE; +#line 82 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = TRUE; +#line 83 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1603 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_ONE_ONLY: +#line 1607 "SearchFilter.c" + { +#line 86 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_ONE; +#line 87 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = FALSE; +#line 88 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1615 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_TWO_OR_HIGHER: +#line 1619 "SearchFilter.c" + { +#line 91 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_TWO; +#line 92 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = TRUE; +#line 93 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1627 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_TWO_ONLY: +#line 1631 "SearchFilter.c" + { +#line 96 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_TWO; +#line 97 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = FALSE; +#line 98 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1639 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_THREE_OR_HIGHER: +#line 1643 "SearchFilter.c" + { +#line 101 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_THREE; +#line 102 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = TRUE; +#line 103 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1651 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_THREE_ONLY: +#line 1655 "SearchFilter.c" + { +#line 106 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_THREE; +#line 107 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = FALSE; +#line 108 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1663 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FOUR_OR_HIGHER: +#line 1667 "SearchFilter.c" + { +#line 111 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_FOUR; +#line 112 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = TRUE; +#line 113 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1675 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FOUR_ONLY: +#line 1679 "SearchFilter.c" + { +#line 116 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_FOUR; +#line 117 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = FALSE; +#line 118 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1687 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FIVE_OR_HIGHER: +#line 1691 "SearchFilter.c" + { +#line 121 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_FIVE; +#line 122 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = TRUE; +#line 123 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1699 "SearchFilter.c" + } +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FIVE_ONLY: +#line 1703 "SearchFilter.c" + { +#line 126 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_FIVE; +#line 127 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = FALSE; +#line 128 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1711 "SearchFilter.c" + } + default: +#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_UNRATED_OR_HIGHER: +#line 1716 "SearchFilter.c" + { +#line 132 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_UNRATED; +#line 133 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = TRUE; +#line 134 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 1724 "SearchFilter.c" + } + } +} + + +gboolean search_view_filter_has_search_filter (SearchViewFilter* self) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 138 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE); +#line 139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->search_filter; +#line 139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = !_tmp1_; +#line 139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 1744 "SearchFilter.c" +} + + +const gchar* search_view_filter_get_search_filter (SearchViewFilter* self) { + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), NULL); +#line 143 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->search_filter; +#line 143 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 143 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 1759 "SearchFilter.c" +} + + +gchar** search_view_filter_get_search_filter_words (SearchViewFilter* self, int* result_length1) { + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 146 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), NULL); +#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->search_filter_words; +#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0__length1 = self->priv->search_filter_words_length1; +#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_; +#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1__length1 = _tmp0__length1; +#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (result_length1) { +#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *result_length1 = _tmp1__length1; +#line 1783 "SearchFilter.c" + } +#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp1_; +#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 1789 "SearchFilter.c" +} + + +static gchar** _vala_array_dup33 (gchar** self, int length) { + gchar** result; + int i; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = g_new0 (gchar*, length + 1); +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + for (i = 0; i < length; i++) { +#line 1800 "SearchFilter.c" + gchar* _tmp0_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = g_strdup (self[i]); +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result[i] = _tmp0_; +#line 1806 "SearchFilter.c" + } +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 1810 "SearchFilter.c" +} + + +void search_view_filter_set_search_filter (SearchViewFilter* self, const gchar* text) { + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gchar* _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint __tmp6__size_ = 0; + const gchar* _tmp7_ = NULL; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 150 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (self)); +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = text; +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = is_string_empty (_tmp1_); +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!_tmp2_) { +#line 1833 "SearchFilter.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = text; +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = g_utf8_strdown (_tmp3_, (gssize) -1); +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (_tmp0_); +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = _tmp4_; +#line 1844 "SearchFilter.c" + } else { +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (_tmp0_); +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = NULL; +#line 1850 "SearchFilter.c" + } +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = g_strdup (_tmp0_); +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (self->priv->search_filter); +#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter = _tmp5_; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = self->priv->search_filter; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp7_ != NULL) { +#line 1862 "SearchFilter.c" + const gchar* _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gchar** _tmp10_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->priv->search_filter; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = _tmp9_ = g_strsplit (_tmp8_, " ", 0); +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL); +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = _tmp10_; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6__length1 = _vala_array_length (_tmp9_); +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + __tmp6__size_ = _tmp6__length1; +#line 1878 "SearchFilter.c" + } else { +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL); +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6__length1 = 0; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + __tmp6__size_ = _tmp6__length1; +#line 1888 "SearchFilter.c" + } +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = (_tmp6_ != NULL) ? _vala_array_dup33 (_tmp6_, _tmp6__length1) : ((gpointer) _tmp6_); +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11__length1 = _tmp6__length1; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words = (_vala_array_free (self->priv->search_filter_words, self->priv->search_filter_words_length1, (GDestroyNotify) g_free), NULL); +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words = _tmp11_; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words_length1 = _tmp11__length1; +#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_search_filter_words_size_ = self->priv->search_filter_words_length1; +#line 150 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL); +#line 150 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (_tmp0_); +#line 1906 "SearchFilter.c" +} + + +void search_view_filter_clear_search_filter (SearchViewFilter* self) { +#line 155 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (self)); +#line 156 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (self->priv->search_filter); +#line 156 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter = NULL; +#line 157 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words = (_vala_array_free (self->priv->search_filter_words, self->priv->search_filter_words_length1, (GDestroyNotify) g_free), NULL); +#line 157 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words = NULL; +#line 157 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words_length1 = 0; +#line 157 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_search_filter_words_size_ = self->priv->search_filter_words_length1; +#line 1925 "SearchFilter.c" +} + + +gboolean search_view_filter_has_saved_search (SearchViewFilter* self) { + gboolean result = FALSE; + SavedSearch* _tmp0_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE); +#line 161 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_saved_search; +#line 161 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_ != NULL; +#line 161 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 1940 "SearchFilter.c" +} + + +gboolean search_view_filter_get_rating_allow_higher (SearchViewFilter* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 164 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE); +#line 165 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->rating_allow_higher; +#line 165 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 165 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 1955 "SearchFilter.c" +} + + +Rating search_view_filter_get_rating (SearchViewFilter* self) { + Rating result = 0; + Rating _tmp0_ = 0; +#line 168 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), 0); +#line 169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->rating; +#line 169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 1970 "SearchFilter.c" +} + + +gboolean search_view_filter_filter_by_media_type (SearchViewFilter* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE); +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->_show_media_video; +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp3_) { +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = TRUE; +#line 1988 "SearchFilter.c" + } else { + gboolean _tmp4_ = FALSE; +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->_show_media_photos; +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp4_; +#line 1995 "SearchFilter.c" + } +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp2_) { +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = TRUE; +#line 2001 "SearchFilter.c" + } else { + gboolean _tmp5_ = FALSE; +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->priv->_show_media_raw; +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp5_; +#line 2008 "SearchFilter.c" + } +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp1_) { +#line 2012 "SearchFilter.c" + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->priv->_show_media_video; +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp8_) { +#line 2020 "SearchFilter.c" + gboolean _tmp9_ = FALSE; +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = self->priv->_show_media_photos; +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = _tmp9_; +#line 2026 "SearchFilter.c" + } else { +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = FALSE; +#line 2030 "SearchFilter.c" + } +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp7_) { +#line 2034 "SearchFilter.c" + gboolean _tmp10_ = FALSE; +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->_show_media_raw; +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = _tmp10_; +#line 2040 "SearchFilter.c" + } else { +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = FALSE; +#line 2044 "SearchFilter.c" + } +#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = !_tmp6_; +#line 2048 "SearchFilter.c" + } else { +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = FALSE; +#line 2052 "SearchFilter.c" + } +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2058 "SearchFilter.c" +} + + +SearchViewFilter* search_view_filter_construct (GType object_type) { + SearchViewFilter* self = NULL; +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchViewFilter*) view_filter_construct (object_type); +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 2068 "SearchFilter.c" +} + + +gboolean search_view_filter_get_flagged (SearchViewFilter* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE); +#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_flagged; +#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2083 "SearchFilter.c" +} + + +void search_view_filter_set_flagged (SearchViewFilter* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (self)); +#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = value; +#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_flagged = _tmp0_; +#line 2095 "SearchFilter.c" +} + + +gboolean search_view_filter_get_show_media_video (SearchViewFilter* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE); +#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_show_media_video; +#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2110 "SearchFilter.c" +} + + +void search_view_filter_set_show_media_video (SearchViewFilter* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (self)); +#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = value; +#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_show_media_video = _tmp0_; +#line 2122 "SearchFilter.c" +} + + +gboolean search_view_filter_get_show_media_photos (SearchViewFilter* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE); +#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_show_media_photos; +#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2137 "SearchFilter.c" +} + + +void search_view_filter_set_show_media_photos (SearchViewFilter* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (self)); +#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = value; +#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_show_media_photos = _tmp0_; +#line 2149 "SearchFilter.c" +} + + +gboolean search_view_filter_get_show_media_raw (SearchViewFilter* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE); +#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_show_media_raw; +#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2164 "SearchFilter.c" +} + + +void search_view_filter_set_show_media_raw (SearchViewFilter* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (self)); +#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = value; +#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_show_media_raw = _tmp0_; +#line 2176 "SearchFilter.c" +} + + +SavedSearch* search_view_filter_get_saved_search (SearchViewFilter* self) { + SavedSearch* result; + SavedSearch* _tmp0_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), NULL); +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_saved_search; +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2191 "SearchFilter.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self ? g_object_ref (self) : NULL; +#line 2198 "SearchFilter.c" +} + + +void search_view_filter_set_saved_search (SearchViewFilter* self, SavedSearch* value) { + SavedSearch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (self)); +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = value; +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->_saved_search); +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_saved_search = _tmp1_; +#line 2215 "SearchFilter.c" +} + + +static void search_view_filter_class_init (SearchViewFilterClass * klass) { +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ((ViewFilterClass *) klass)->finalize = search_view_filter_finalize; +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (SearchViewFilterPrivate)); +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ((SearchViewFilterClass *) klass)->get_criteria = search_view_filter_real_get_criteria; +#line 2228 "SearchFilter.c" +} + + +static void search_view_filter_instance_init (SearchViewFilter * self) { +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = SEARCH_VIEW_FILTER_GET_PRIVATE (self); +#line 41 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_allow_higher = TRUE; +#line 44 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating = RATING_UNRATED; +#line 45 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_filter = RATING_FILTER_UNRATED_OR_HIGHER; +#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_flagged = FALSE; +#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_show_media_video = TRUE; +#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_show_media_photos = TRUE; +#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_show_media_raw = TRUE; +#line 56 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter = NULL; +#line 57 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words = NULL; +#line 57 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words_length1 = 0; +#line 57 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_search_filter_words_size_ = self->priv->search_filter_words_length1; +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_saved_search = NULL; +#line 2259 "SearchFilter.c" +} + + +static void search_view_filter_finalize (ViewFilter* obj) { + SearchViewFilter * self; +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter); +#line 56 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (self->priv->search_filter); +#line 57 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter_words = (_vala_array_free (self->priv->search_filter_words, self->priv->search_filter_words_length1, (GDestroyNotify) g_free), NULL); +#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->_saved_search); +#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala" + VIEW_FILTER_CLASS (search_view_filter_parent_class)->finalize (obj); +#line 2275 "SearchFilter.c" +} + + +GType search_view_filter_get_type (void) { + static volatile gsize search_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&search_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchViewFilter), 0, (GInstanceInitFunc) search_view_filter_instance_init, NULL }; + GType search_view_filter_type_id; + search_view_filter_type_id = g_type_register_static (TYPE_VIEW_FILTER, "SearchViewFilter", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&search_view_filter_type_id__volatile, search_view_filter_type_id); + } + return search_view_filter_type_id__volatile; +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2307 "SearchFilter.c" +} + + +static gboolean default_search_view_filter_real_predicate (ViewFilter* base, DataView* view) { + DefaultSearchViewFilter * self; + gboolean result = FALSE; + MediaSource* source = NULL; + DataView* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + guint criteria = 0U; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; + guint _tmp14_ = 0U; + gboolean _tmp22_ = FALSE; + guint _tmp23_ = 0U; + gboolean _tmp44_ = FALSE; + guint _tmp45_ = 0U; + gboolean _tmp91_ = FALSE; + guint _tmp92_ = 0U; +#line 181 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter); +#line 181 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 182 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = view; +#line 182 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = thumbnail_get_media_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL, Thumbnail)); +#line 182 "/home/jens/Source/shotwell/src/SearchFilter.vala" + source = _tmp1_; +#line 183 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = search_view_filter_get_criteria (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 183 "/home/jens/Source/shotwell/src/SearchFilter.vala" + criteria = _tmp2_; +#line 186 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = criteria; +#line 186 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((SEARCH_FILTER_CRITERIA_RATING & _tmp3_) != 0) { +#line 2345 "SearchFilter.c" + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = search_view_filter_get_rating_allow_higher (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp5_) { +#line 2352 "SearchFilter.c" + MediaSource* _tmp6_ = NULL; + Rating _tmp7_ = 0; + Rating _tmp8_ = 0; +#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = source; +#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = media_source_get_rating (_tmp6_); +#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = search_view_filter_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = _tmp7_ < _tmp8_; +#line 2364 "SearchFilter.c" + } else { +#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = FALSE; +#line 2368 "SearchFilter.c" + } +#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp4_) { +#line 188 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 188 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 188 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2378 "SearchFilter.c" + } else { + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = search_view_filter_get_rating_allow_higher (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!_tmp10_) { +#line 2386 "SearchFilter.c" + MediaSource* _tmp11_ = NULL; + Rating _tmp12_ = 0; + Rating _tmp13_ = 0; +#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = source; +#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = media_source_get_rating (_tmp11_); +#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = search_view_filter_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = _tmp12_ != _tmp13_; +#line 2398 "SearchFilter.c" + } else { +#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = FALSE; +#line 2402 "SearchFilter.c" + } +#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp9_) { +#line 190 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 190 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 190 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2412 "SearchFilter.c" + } + } + } +#line 194 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = criteria; +#line 194 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((SEARCH_FILTER_CRITERIA_FLAG & _tmp14_) != 0) { +#line 2420 "SearchFilter.c" + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = search_view_filter_get_flagged (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp18_ = _tmp17_; +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp18_) { +#line 2431 "SearchFilter.c" + MediaSource* _tmp19_ = NULL; +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = source; +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_FLAGGABLE); +#line 2437 "SearchFilter.c" + } else { +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = FALSE; +#line 2441 "SearchFilter.c" + } +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp16_) { +#line 2445 "SearchFilter.c" + MediaSource* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = source; +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp21_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_FLAGGABLE, Flaggable)); +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = !_tmp21_; +#line 2454 "SearchFilter.c" + } else { +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = FALSE; +#line 2458 "SearchFilter.c" + } +#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp15_) { +#line 196 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 196 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 196 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2468 "SearchFilter.c" + } + } +#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp23_ = criteria; +#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((SEARCH_FILTER_CRITERIA_MEDIA & _tmp23_) != 0) { +#line 2475 "SearchFilter.c" + gboolean _tmp24_ = FALSE; +#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp24_ = search_view_filter_filter_by_media_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_ = _tmp24_; +#line 2481 "SearchFilter.c" + } else { +#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_ = FALSE; +#line 2485 "SearchFilter.c" + } +#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp22_) { +#line 2489 "SearchFilter.c" + MediaSource* _tmp25_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25_ = source; +#line 201 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp25_, TYPE_VIDEO_SOURCE)) { +#line 2495 "SearchFilter.c" + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; +#line 202 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp26_ = search_view_filter_get_show_media_video (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 202 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_ = _tmp26_; +#line 202 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!_tmp27_) { +#line 203 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 203 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 203 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2510 "SearchFilter.c" + } + } else { + MediaSource* _tmp28_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp28_ = source; +#line 204 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp28_, TYPE_PHOTO)) { +#line 2518 "SearchFilter.c" + Photo* photo = NULL; + MediaSource* _tmp29_ = NULL; + Photo* _tmp30_ = NULL; + Photo* _tmp31_ = NULL; + PhotoFileFormat _tmp32_ = 0; +#line 205 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp29_ = source; +#line 205 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, TYPE_PHOTO) ? ((Photo*) _tmp29_) : NULL); +#line 205 "/home/jens/Source/shotwell/src/SearchFilter.vala" + photo = _tmp30_; +#line 206 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp31_ = photo; +#line 206 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_ = photo_get_master_file_format (_tmp31_); +#line 206 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp32_ == PHOTO_FILE_FORMAT_RAW) { +#line 2536 "SearchFilter.c" + Photo* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; +#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp33_ = photo; +#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp34_ = photo_is_raw_developer_available (_tmp33_, RAW_DEVELOPER_CAMERA); +#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp34_) { +#line 2545 "SearchFilter.c" + gboolean _tmp35_ = FALSE; + gboolean _tmp36_ = FALSE; + gboolean _tmp37_ = FALSE; +#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp36_ = search_view_filter_get_show_media_photos (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp37_ = _tmp36_; +#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!_tmp37_) { +#line 2555 "SearchFilter.c" + gboolean _tmp38_ = FALSE; + gboolean _tmp39_ = FALSE; +#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp38_ = search_view_filter_get_show_media_raw (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp39_ = _tmp38_; +#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35_ = !_tmp39_; +#line 2564 "SearchFilter.c" + } else { +#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35_ = FALSE; +#line 2568 "SearchFilter.c" + } +#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp35_) { +#line 209 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 209 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (photo); +#line 209 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 209 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2580 "SearchFilter.c" + } + } else { + gboolean _tmp40_ = FALSE; + gboolean _tmp41_ = FALSE; +#line 210 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_ = search_view_filter_get_show_media_raw (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 210 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp41_ = _tmp40_; +#line 210 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!_tmp41_) { +#line 211 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 211 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (photo); +#line 211 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 211 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2599 "SearchFilter.c" + } + } + } else { + gboolean _tmp42_ = FALSE; + gboolean _tmp43_ = FALSE; +#line 213 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp42_ = search_view_filter_get_show_media_photos (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 213 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp43_ = _tmp42_; +#line 213 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!_tmp43_) { +#line 214 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 214 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (photo); +#line 214 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 214 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2619 "SearchFilter.c" + } + } +#line 204 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (photo); +#line 2624 "SearchFilter.c" + } + } + } +#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_ = criteria; +#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((SEARCH_FILTER_CRITERIA_TEXT & _tmp45_) != 0) { +#line 2632 "SearchFilter.c" + gboolean _tmp46_ = FALSE; +#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp46_ = search_view_filter_has_search_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp44_ = _tmp46_; +#line 2638 "SearchFilter.c" + } else { +#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp44_ = FALSE; +#line 2642 "SearchFilter.c" + } +#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp44_) { +#line 2646 "SearchFilter.c" + const gchar* media_keywords = NULL; + MediaSource* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + const gchar* event_keywords = NULL; + Event* event = NULL; + MediaSource* _tmp49_ = NULL; + Event* _tmp50_ = NULL; + Event* _tmp51_ = NULL; + GeeList* tags = NULL; + TagSourceCollection* _tmp54_ = NULL; + MediaSource* _tmp55_ = NULL; + GeeList* _tmp56_ = NULL; + gint _tmp57_ = 0; + GeeList* _tmp58_ = NULL; + gint tags_size = 0; + gint _tmp62_ = 0; + gchar** _tmp63_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp47_ = source; +#line 220 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp48_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_INDEXABLE, Indexable)); +#line 220 "/home/jens/Source/shotwell/src/SearchFilter.vala" + media_keywords = _tmp48_; +#line 222 "/home/jens/Source/shotwell/src/SearchFilter.vala" + event_keywords = NULL; +#line 223 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp49_ = source; +#line 223 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_ = media_source_get_event (_tmp49_); +#line 223 "/home/jens/Source/shotwell/src/SearchFilter.vala" + event = _tmp50_; +#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp51_ = event; +#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp51_ != NULL) { +#line 2682 "SearchFilter.c" + Event* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp52_ = event; +#line 225 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp53_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_INDEXABLE, Indexable)); +#line 225 "/home/jens/Source/shotwell/src/SearchFilter.vala" + event_keywords = _tmp53_; +#line 2691 "SearchFilter.c" + } +#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp54_ = tag_global; +#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_ = source; +#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp56_ = tag_source_collection_fetch_for_source (_tmp54_, _tmp55_); +#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala" + tags = _tmp56_; +#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp58_ = tags; +#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp58_ != NULL) { +#line 2705 "SearchFilter.c" + GeeList* _tmp59_ = NULL; + gint _tmp60_ = 0; + gint _tmp61_ = 0; +#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp59_ = tags; +#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp60_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp61_ = _tmp60_; +#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp57_ = _tmp61_; +#line 2717 "SearchFilter.c" + } else { +#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp57_ = 0; +#line 2721 "SearchFilter.c" + } +#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + tags_size = _tmp57_; +#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp63_ = search_view_filter_get_search_filter_words (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter), &_tmp62_); +#line 2727 "SearchFilter.c" + { + gchar** word_collection = NULL; + gint word_collection_length1 = 0; + gint _word_collection_size_ = 0; + gint word_it = 0; +#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala" + word_collection = _tmp63_; +#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala" + word_collection_length1 = _tmp62_; +#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala" + for (word_it = 0; word_it < _tmp62_; word_it = word_it + 1) { +#line 2739 "SearchFilter.c" + const gchar* word = NULL; +#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala" + word = word_collection[word_it]; +#line 2743 "SearchFilter.c" + { + gboolean _tmp64_ = FALSE; + const gchar* _tmp65_ = NULL; + gboolean _tmp69_ = FALSE; + const gchar* _tmp70_ = NULL; + gint _tmp74_ = 0; +#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp65_ = media_keywords; +#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp65_ != NULL) { +#line 2754 "SearchFilter.c" + const gchar* _tmp66_ = NULL; + const gchar* _tmp67_ = NULL; + gboolean _tmp68_ = FALSE; +#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp66_ = media_keywords; +#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp67_ = word; +#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp68_ = string_contains (_tmp66_, _tmp67_); +#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp64_ = _tmp68_; +#line 2766 "SearchFilter.c" + } else { +#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp64_ = FALSE; +#line 2770 "SearchFilter.c" + } +#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp64_) { +#line 232 "/home/jens/Source/shotwell/src/SearchFilter.vala" + continue; +#line 2776 "SearchFilter.c" + } +#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp70_ = event_keywords; +#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp70_ != NULL) { +#line 2782 "SearchFilter.c" + const gchar* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; +#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp71_ = event_keywords; +#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp72_ = word; +#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp73_ = string_contains (_tmp71_, _tmp72_); +#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp69_ = _tmp73_; +#line 2794 "SearchFilter.c" + } else { +#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp69_ = FALSE; +#line 2798 "SearchFilter.c" + } +#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp69_) { +#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala" + continue; +#line 2804 "SearchFilter.c" + } +#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp74_ = tags_size; +#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp74_ > 0) { +#line 2810 "SearchFilter.c" + gboolean found = FALSE; + gboolean _tmp90_ = FALSE; +#line 238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + found = FALSE; +#line 2815 "SearchFilter.c" + { + gint ctr = 0; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ctr = 0; +#line 2820 "SearchFilter.c" + { + gboolean _tmp75_ = FALSE; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp75_ = TRUE; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + while (TRUE) { +#line 2827 "SearchFilter.c" + gint _tmp77_ = 0; + gint _tmp78_ = 0; + const gchar* tag_keywords = NULL; + GeeList* _tmp79_ = NULL; + gint _tmp80_ = 0; + gpointer _tmp81_ = NULL; + Tag* _tmp82_ = NULL; + const gchar* _tmp83_ = NULL; + const gchar* _tmp84_ = NULL; + gboolean _tmp85_ = FALSE; + const gchar* _tmp86_ = NULL; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!_tmp75_) { +#line 2841 "SearchFilter.c" + gint _tmp76_ = 0; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp76_ = ctr; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ctr = _tmp76_ + 1; +#line 2847 "SearchFilter.c" + } +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp75_ = FALSE; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp77_ = ctr; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp78_ = tags_size; +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!(_tmp77_ < _tmp78_)) { +#line 239 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 2859 "SearchFilter.c" + } +#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp79_ = tags; +#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp80_ = ctr; +#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp81_ = gee_list_get (_tmp79_, _tmp80_); +#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp82_ = (Tag*) _tmp81_; +#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp83_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, TYPE_INDEXABLE, Indexable)); +#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp84_ = _tmp83_; +#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp82_); +#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala" + tag_keywords = _tmp84_; +#line 241 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp86_ = tag_keywords; +#line 241 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp86_ != NULL) { +#line 2881 "SearchFilter.c" + const gchar* _tmp87_ = NULL; + const gchar* _tmp88_ = NULL; + gboolean _tmp89_ = FALSE; +#line 241 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp87_ = tag_keywords; +#line 241 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp88_ = word; +#line 241 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp89_ = string_contains (_tmp87_, _tmp88_); +#line 241 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp85_ = _tmp89_; +#line 2893 "SearchFilter.c" + } else { +#line 241 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp85_ = FALSE; +#line 2897 "SearchFilter.c" + } +#line 241 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp85_) { +#line 242 "/home/jens/Source/shotwell/src/SearchFilter.vala" + found = TRUE; +#line 244 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 2905 "SearchFilter.c" + } + } + } + } +#line 248 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp90_ = found; +#line 248 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp90_) { +#line 249 "/home/jens/Source/shotwell/src/SearchFilter.vala" + continue; +#line 2916 "SearchFilter.c" + } + } +#line 254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (tags); +#line 254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (event); +#line 254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2929 "SearchFilter.c" + } + } + } +#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (tags); +#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (event); +#line 2937 "SearchFilter.c" + } +#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp92_ = criteria; +#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((SEARCH_FILTER_CRITERIA_SAVEDSEARCH & _tmp92_) != 0) { +#line 2943 "SearchFilter.c" + gboolean _tmp93_ = FALSE; +#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp93_ = search_view_filter_has_saved_search (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp91_ = _tmp93_; +#line 2949 "SearchFilter.c" + } else { +#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp91_ = FALSE; +#line 2953 "SearchFilter.c" + } +#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp91_) { +#line 2957 "SearchFilter.c" + SavedSearch* _tmp94_ = NULL; + SavedSearch* _tmp95_ = NULL; + MediaSource* _tmp96_ = NULL; + gboolean _tmp97_ = FALSE; +#line 260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp94_ = search_view_filter_get_saved_search (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp95_ = _tmp94_; +#line 260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp96_ = source; +#line 260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp97_ = saved_search_predicate (_tmp95_, _tmp96_); +#line 260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp97_; +#line 260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2976 "SearchFilter.c" + } +#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = TRUE; +#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (source); +#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 2984 "SearchFilter.c" +} + + +DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type) { + DefaultSearchViewFilter* self = NULL; +#line 180 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (DefaultSearchViewFilter*) search_view_filter_construct (object_type); +#line 180 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 2994 "SearchFilter.c" +} + + +static void default_search_view_filter_class_init (DefaultSearchViewFilterClass * klass) { +#line 180 "/home/jens/Source/shotwell/src/SearchFilter.vala" + default_search_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 180 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ((ViewFilterClass *) klass)->predicate = default_search_view_filter_real_predicate; +#line 3003 "SearchFilter.c" +} + + +static void default_search_view_filter_instance_init (DefaultSearchViewFilter * self) { +} + + +GType default_search_view_filter_get_type (void) { + static volatile gsize default_search_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&default_search_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DefaultSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) default_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DefaultSearchViewFilter), 0, (GInstanceInitFunc) default_search_view_filter_instance_init, NULL }; + GType default_search_view_filter_type_id; + default_search_view_filter_type_id = g_type_register_static (TYPE_SEARCH_VIEW_FILTER, "DefaultSearchViewFilter", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&default_search_view_filter_type_id__volatile, default_search_view_filter_type_id); + } + return default_search_view_filter_type_id__volatile; +} + + +static gboolean disabled_view_filter_real_predicate (ViewFilter* base, DataView* view) { + DisabledViewFilter * self; + gboolean result = FALSE; +#line 268 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter); +#line 268 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 269 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = TRUE; +#line 269 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 3034 "SearchFilter.c" +} + + +static guint disabled_view_filter_real_get_criteria (SearchViewFilter* base) { + DisabledViewFilter * self; + guint result = 0U; +#line 272 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter); +#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = (guint) SEARCH_FILTER_CRITERIA_RATING; +#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 3047 "SearchFilter.c" +} + + +DisabledViewFilter* disabled_view_filter_construct (GType object_type) { + DisabledViewFilter* self = NULL; +#line 267 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (DisabledViewFilter*) search_view_filter_construct (object_type); +#line 267 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 3057 "SearchFilter.c" +} + + +DisabledViewFilter* disabled_view_filter_new (void) { +#line 267 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return disabled_view_filter_construct (TYPE_DISABLED_VIEW_FILTER); +#line 3064 "SearchFilter.c" +} + + +static void disabled_view_filter_class_init (DisabledViewFilterClass * klass) { +#line 267 "/home/jens/Source/shotwell/src/SearchFilter.vala" + disabled_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 267 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ((ViewFilterClass *) klass)->predicate = disabled_view_filter_real_predicate; +#line 267 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ((SearchViewFilterClass *) klass)->get_criteria = disabled_view_filter_real_get_criteria; +#line 3075 "SearchFilter.c" +} + + +static void disabled_view_filter_instance_init (DisabledViewFilter * self) { +} + + +GType disabled_view_filter_get_type (void) { + static volatile gsize disabled_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&disabled_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DisabledViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) disabled_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DisabledViewFilter), 0, (GInstanceInitFunc) disabled_view_filter_instance_init, NULL }; + GType disabled_view_filter_type_id; + disabled_view_filter_type_id = g_type_register_static (TYPE_SEARCH_VIEW_FILTER, "DisabledViewFilter", &g_define_type_info, 0); + g_once_init_leave (&disabled_view_filter_type_id__volatile, disabled_view_filter_type_id); + } + return disabled_view_filter_type_id__volatile; +} + + +TextAction* text_action_construct (GType object_type, const gchar* init) { + TextAction* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (TextAction*) g_type_create_instance (object_type); +#line 295 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = init; +#line 295 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 295 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (self->priv->text); +#line 295 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->text = _tmp1_; +#line 294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 3111 "SearchFilter.c" +} + + +TextAction* text_action_new (const gchar* init) { +#line 294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return text_action_construct (TYPE_TEXT_ACTION, init); +#line 3118 "SearchFilter.c" +} + + +void text_action_set_text (TextAction* self, const gchar* text) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 298 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_TEXT_ACTION (self)); +#line 299 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->text; +#line 299 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = text; +#line 299 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (g_strcmp0 (_tmp0_, _tmp1_) != 0) { +#line 3133 "SearchFilter.c" + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = text; +#line 300 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 300 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (self->priv->text); +#line 300 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->text = _tmp3_; +#line 301 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = text; +#line 301 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "text-changed", _tmp4_); +#line 3149 "SearchFilter.c" + } +} + + +void text_action_clear (TextAction* self) { +#line 305 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_TEXT_ACTION (self)); +#line 306 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_set_text (self, NULL); +#line 3159 "SearchFilter.c" +} + + +gboolean text_action_is_sensitive (TextAction* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 309 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_TEXT_ACTION (self), FALSE); +#line 310 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->sensitive; +#line 310 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 310 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 3174 "SearchFilter.c" +} + + +void text_action_set_sensitive (TextAction* self, gboolean sensitive) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 313 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_TEXT_ACTION (self)); +#line 314 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->sensitive; +#line 314 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = sensitive; +#line 314 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp0_ != _tmp1_) { +#line 3189 "SearchFilter.c" + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 315 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = sensitive; +#line 315 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->sensitive = _tmp2_; +#line 316 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = sensitive; +#line 316 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "sensitivity-changed", _tmp3_); +#line 3200 "SearchFilter.c" + } +} + + +gboolean text_action_is_visible (TextAction* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 320 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_TEXT_ACTION (self), FALSE); +#line 321 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->visible; +#line 321 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 321 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 3216 "SearchFilter.c" +} + + +void text_action_set_visible (TextAction* self, gboolean visible) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 324 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_TEXT_ACTION (self)); +#line 325 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->visible; +#line 325 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = visible; +#line 325 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp0_ != _tmp1_) { +#line 3231 "SearchFilter.c" + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 326 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = visible; +#line 326 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->visible = _tmp2_; +#line 327 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = visible; +#line 327 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "visibility-changed", _tmp3_); +#line 3242 "SearchFilter.c" + } +} + + +const gchar* text_action_get_value (TextAction* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_TEXT_ACTION (self), NULL); +#line 280 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->text; +#line 280 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 280 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 3258 "SearchFilter.c" +} + + +static void value_text_action_init (GValue* value) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 3265 "SearchFilter.c" +} + + +static void value_text_action_free_value (GValue* value) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (value->data[0].v_pointer) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_unref (value->data[0].v_pointer); +#line 3274 "SearchFilter.c" + } +} + + +static void value_text_action_copy_value (const GValue* src_value, GValue* dest_value) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (src_value->data[0].v_pointer) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + dest_value->data[0].v_pointer = text_action_ref (src_value->data[0].v_pointer); +#line 3284 "SearchFilter.c" + } else { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + dest_value->data[0].v_pointer = NULL; +#line 3288 "SearchFilter.c" + } +} + + +static gpointer value_text_action_peek_pointer (const GValue* value) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return value->data[0].v_pointer; +#line 3296 "SearchFilter.c" +} + + +static gchar* value_text_action_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (collect_values[0].v_pointer) { +#line 3303 "SearchFilter.c" + TextAction* object; + object = collect_values[0].v_pointer; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (object->parent_instance.g_class == NULL) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3310 "SearchFilter.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3314 "SearchFilter.c" + } +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = text_action_ref (object); +#line 3318 "SearchFilter.c" + } else { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 3322 "SearchFilter.c" + } +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return NULL; +#line 3326 "SearchFilter.c" +} + + +static gchar* value_text_action_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TextAction** object_p; + object_p = collect_values[0].v_pointer; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!object_p) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3337 "SearchFilter.c" + } +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!value->data[0].v_pointer) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = NULL; +#line 3343 "SearchFilter.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = value->data[0].v_pointer; +#line 3347 "SearchFilter.c" + } else { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = text_action_ref (value->data[0].v_pointer); +#line 3351 "SearchFilter.c" + } +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return NULL; +#line 3355 "SearchFilter.c" +} + + +GParamSpec* param_spec_text_action (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTextAction* spec; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TEXT_ACTION), NULL); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return G_PARAM_SPEC (spec); +#line 3369 "SearchFilter.c" +} + + +gpointer value_get_text_action (const GValue* value) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ACTION), NULL); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return value->data[0].v_pointer; +#line 3378 "SearchFilter.c" +} + + +void value_set_text_action (GValue* value, gpointer v_object) { + TextAction* old; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ACTION)); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + old = value->data[0].v_pointer; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (v_object) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TEXT_ACTION)); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = v_object; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_ref (value->data[0].v_pointer); +#line 3398 "SearchFilter.c" + } else { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 3402 "SearchFilter.c" + } +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (old) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_unref (old); +#line 3408 "SearchFilter.c" + } +} + + +void value_take_text_action (GValue* value, gpointer v_object) { + TextAction* old; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ACTION)); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + old = value->data[0].v_pointer; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (v_object) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TEXT_ACTION)); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = v_object; +#line 3427 "SearchFilter.c" + } else { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 3431 "SearchFilter.c" + } +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (old) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_unref (old); +#line 3437 "SearchFilter.c" + } +} + + +static void text_action_class_init (TextActionClass * klass) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_parent_class = g_type_class_peek_parent (klass); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ((TextActionClass *) klass)->finalize = text_action_finalize; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (TextActionPrivate)); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("text_changed", TYPE_TEXT_ACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("sensitivity_changed", TYPE_TEXT_ACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("visibility_changed", TYPE_TEXT_ACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 3455 "SearchFilter.c" +} + + +static void text_action_instance_init (TextAction * self) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = TEXT_ACTION_GET_PRIVATE (self); +#line 284 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->text = NULL; +#line 285 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->sensitive = TRUE; +#line 286 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->visible = TRUE; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->ref_count = 1; +#line 3470 "SearchFilter.c" +} + + +static void text_action_finalize (TextAction* obj) { + TextAction * self; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TEXT_ACTION, TextAction); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_destroy (self); +#line 284 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (self->priv->text); +#line 3482 "SearchFilter.c" +} + + +GType text_action_get_type (void) { + static volatile gsize text_action_type_id__volatile = 0; + if (g_once_init_enter (&text_action_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_text_action_init, value_text_action_free_value, value_text_action_copy_value, value_text_action_peek_pointer, "p", value_text_action_collect_value, "p", value_text_action_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TextActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) text_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TextAction), 0, (GInstanceInitFunc) text_action_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType text_action_type_id; + text_action_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TextAction", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&text_action_type_id__volatile, text_action_type_id); + } + return text_action_type_id__volatile; +} + + +gpointer text_action_ref (gpointer instance) { + TextAction* self; + self = instance; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_atomic_int_inc (&self->ref_count); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return instance; +#line 3507 "SearchFilter.c" +} + + +void text_action_unref (gpointer instance) { + TextAction* self; + self = instance; +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + TEXT_ACTION_GET_CLASS (self)->finalize (self); +#line 277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3520 "SearchFilter.c" + } +} + + +static void _search_filter_actions_on_text_changed_text_action_text_changed (TextAction* _sender, const gchar* text, gpointer self) { +#line 410 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_text_changed ((SearchFilterActions*) self, _sender, text); +#line 3528 "SearchFilter.c" +} + + +SearchFilterActions* search_filter_actions_construct (GType object_type) { + SearchFilterActions* self = NULL; + TextAction* _tmp0_ = NULL; + TextAction* _tmp1_ = NULL; +#line 406 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterActions*) g_type_create_instance (object_type); +#line 408 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_register (self); +#line 410 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search_filter_actions_get_text (self); +#line 410 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_; +#line 410 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect (_tmp1_, "text-changed", (GCallback) _search_filter_actions_on_text_changed_text_action_text_changed, self); +#line 406 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 3548 "SearchFilter.c" +} + + +SearchFilterActions* search_filter_actions_new (void) { +#line 406 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_actions_construct (TYPE_SEARCH_FILTER_ACTIONS); +#line 3555 "SearchFilter.c" +} + + +GtkActionGroup* search_filter_actions_get_action_group (SearchFilterActions* self) { + GtkActionGroup* result = NULL; + GtkActionGroup* _tmp0_ = NULL; + GtkActionGroup* _tmp1_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL); +#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->action_group; +#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp1_; +#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 3573 "SearchFilter.c" +} + + +SearchFilterCriteria search_filter_actions_get_criteria (SearchFilterActions* self) { + SearchFilterCriteria result = 0; + SearchFilterCriteria _tmp0_ = 0; +#line 417 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), 0); +#line 418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->criteria; +#line 418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 3588 "SearchFilter.c" +} + + +GtkAction* search_filter_actions_get_action (SearchFilterActions* self, const gchar* name) { + GtkAction* result = NULL; + GtkActionGroup* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL); +#line 421 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 422 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->action_group; +#line 422 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = name; +#line 422 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = gtk_action_group_get_action (_tmp0_, _tmp1_); +#line 422 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp2_; +#line 422 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 3611 "SearchFilter.c" +} + + +void search_filter_actions_set_action_sensitive (SearchFilterActions* self, const gchar* name, gboolean sensitive) { + GtkAction* action = NULL; + const gchar* _tmp0_ = NULL; + GtkAction* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + GtkAction* _tmp3_ = NULL; +#line 425 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 425 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (name != NULL); +#line 426 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = name; +#line 426 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = search_filter_actions_get_action (self, _tmp0_); +#line 426 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 426 "/home/jens/Source/shotwell/src/SearchFilter.vala" + action = _tmp2_; +#line 427 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = action; +#line 427 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp3_ != NULL) { +#line 3637 "SearchFilter.c" + GtkAction* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 428 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = action; +#line 428 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = sensitive; +#line 428 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_action_set_sensitive (_tmp4_, _tmp5_); +#line 3646 "SearchFilter.c" + } +#line 425 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (action); +#line 3650 "SearchFilter.c" +} + + +void search_filter_actions_reset (SearchFilterActions* self) { + GtkToggleAction* _tmp0_ = NULL; + GtkToggleAction* _tmp1_ = NULL; + GtkToggleAction* _tmp2_ = NULL; + GtkToggleAction* _tmp3_ = NULL; + GtkToggleAction* _tmp4_ = NULL; + GtkToggleAction* _tmp5_ = NULL; + GtkToggleAction* _tmp6_ = NULL; + GtkToggleAction* _tmp7_ = NULL; + GtkRadioAction* _tmp8_ = NULL; + GtkRadioAction* _tmp9_ = NULL; + TextAction* _tmp10_ = NULL; + TextAction* _tmp11_ = NULL; +#line 431 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 432 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search_filter_actions_get_flagged (self); +#line 432 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_; +#line 432 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toggle_action_set_active (_tmp1_, FALSE); +#line 433 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = search_filter_actions_get_photos (self); +#line 433 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = _tmp2_; +#line 433 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toggle_action_set_active (_tmp3_, FALSE); +#line 434 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = search_filter_actions_get_raw (self); +#line 434 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = _tmp4_; +#line 434 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toggle_action_set_active (_tmp5_, FALSE); +#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = search_filter_actions_get_videos (self); +#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = _tmp6_; +#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toggle_action_set_active (_tmp7_, FALSE); +#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = search_filter_actions_get_rating (self); +#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = _tmp8_; +#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_radio_action_set_current_value (_tmp9_, (gint) RATING_FILTER_UNRATED_OR_HIGHER); +#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = search_filter_actions_get_text (self); +#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = _tmp10_; +#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_set_text (_tmp11_, NULL); +#line 3705 "SearchFilter.c" +} + + +void search_filter_actions_set_sensitive_for_search_criteria (SearchFilterActions* self, SearchFilterCriteria criteria) { + SearchFilterCriteria _tmp0_ = 0; +#line 440 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 441 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = criteria; +#line 441 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->criteria = _tmp0_; +#line 442 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_update_sensitivities (self); +#line 445 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "criteria-changed"); +#line 3721 "SearchFilter.c" +} + + +static void _search_filter_actions_on_media_tracker_updated_core_tracker_updated (CoreTracker* _sender, gpointer self) { +#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_media_tracker_updated ((SearchFilterActions*) self, _sender); +#line 3728 "SearchFilter.c" +} + + +static void _search_filter_actions_on_camera_tracker_updated_core_tracker_updated (CoreTracker* _sender, gpointer self) { +#line 455 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_camera_tracker_updated ((SearchFilterActions*) self, _sender); +#line 3735 "SearchFilter.c" +} + + +void search_filter_actions_monitor_page_contents (SearchFilterActions* self, Page* old_page, Page* new_page) { + CheckerboardPage* old_tracked_page = NULL; + Page* _tmp0_ = NULL; + CheckerboardPage* _tmp1_ = NULL; + CheckerboardPage* _tmp2_ = NULL; + CheckerboardPage* new_tracked_page = NULL; + Page* _tmp11_ = NULL; + CheckerboardPage* _tmp12_ = NULL; + CheckerboardPage* _tmp13_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 448 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page)); +#line 448 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page)); +#line 449 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = old_page; +#line 449 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp0_) : NULL); +#line 449 "/home/jens/Source/shotwell/src/SearchFilter.vala" + old_tracked_page = _tmp1_; +#line 450 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = old_tracked_page; +#line 450 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp2_ != NULL) { +#line 3764 "SearchFilter.c" + CoreViewTracker* tracker = NULL; + CheckerboardPage* _tmp3_ = NULL; + CoreViewTracker* _tmp4_ = NULL; + CoreViewTracker* _tmp5_ = NULL; +#line 451 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = old_tracked_page; +#line 451 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = checkerboard_page_get_view_tracker (_tmp3_); +#line 451 "/home/jens/Source/shotwell/src/SearchFilter.vala" + tracker = _tmp4_; +#line 452 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = tracker; +#line 452 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_MEDIA_VIEW_TRACKER)) { +#line 3779 "SearchFilter.c" + CoreViewTracker* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = tracker; +#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("updated", CORE_TYPE_TRACKER, &_tmp7_, NULL, FALSE); +#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, CORE_TYPE_TRACKER, CoreTracker), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _search_filter_actions_on_media_tracker_updated_core_tracker_updated, self); +#line 3788 "SearchFilter.c" + } else { + CoreViewTracker* _tmp8_ = NULL; +#line 454 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = tracker; +#line 454 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_CAMERA_VIEW_TRACKER)) { +#line 3795 "SearchFilter.c" + CoreViewTracker* _tmp9_ = NULL; + guint _tmp10_ = 0U; +#line 455 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = tracker; +#line 455 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("updated", CORE_TYPE_TRACKER, &_tmp10_, NULL, FALSE); +#line 455 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, CORE_TYPE_TRACKER, CoreTracker), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _search_filter_actions_on_camera_tracker_updated_core_tracker_updated, self); +#line 3804 "SearchFilter.c" + } + } +#line 450 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _core_tracker_unref0 (tracker); +#line 3809 "SearchFilter.c" + } +#line 458 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = new_page; +#line 458 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp11_) : NULL); +#line 458 "/home/jens/Source/shotwell/src/SearchFilter.vala" + new_tracked_page = _tmp12_; +#line 459 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = new_tracked_page; +#line 459 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp13_ != NULL) { +#line 3821 "SearchFilter.c" + CoreViewTracker* tracker = NULL; + CheckerboardPage* _tmp14_ = NULL; + CoreViewTracker* _tmp15_ = NULL; + CoreViewTracker* _tmp16_ = NULL; +#line 460 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->can_filter_by_stars = TRUE; +#line 462 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = new_tracked_page; +#line 462 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = checkerboard_page_get_view_tracker (_tmp14_); +#line 462 "/home/jens/Source/shotwell/src/SearchFilter.vala" + tracker = _tmp15_; +#line 463 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = tracker; +#line 463 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_MEDIA_VIEW_TRACKER)) { +#line 3838 "SearchFilter.c" + CoreViewTracker* _tmp17_ = NULL; + CoreViewTracker* _tmp18_ = NULL; +#line 464 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = tracker; +#line 464 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, CORE_TYPE_TRACKER, CoreTracker), "updated", (GCallback) _search_filter_actions_on_media_tracker_updated_core_tracker_updated, self); +#line 465 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp18_ = tracker; +#line 465 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_media_tracker_updated (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, CORE_TYPE_TRACKER, CoreTracker)); +#line 467 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _core_tracker_unref0 (tracker); +#line 467 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (new_tracked_page); +#line 467 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (old_tracked_page); +#line 467 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return; +#line 3857 "SearchFilter.c" + } else { + CoreViewTracker* _tmp19_ = NULL; +#line 468 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = tracker; +#line 468 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_CAMERA_VIEW_TRACKER)) { +#line 3864 "SearchFilter.c" + CoreViewTracker* _tmp20_ = NULL; + CoreViewTracker* _tmp21_ = NULL; +#line 469 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = tracker; +#line 469 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, CORE_TYPE_TRACKER, CoreTracker), "updated", (GCallback) _search_filter_actions_on_camera_tracker_updated_core_tracker_updated, self); +#line 470 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp21_ = tracker; +#line 470 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_camera_tracker_updated (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, CORE_TYPE_TRACKER, CoreTracker)); +#line 472 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _core_tracker_unref0 (tracker); +#line 472 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (new_tracked_page); +#line 472 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (old_tracked_page); +#line 472 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return; +#line 3883 "SearchFilter.c" + } + } +#line 459 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _core_tracker_unref0 (tracker); +#line 3888 "SearchFilter.c" + } +#line 477 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_flagged = FALSE; +#line 478 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_photos = FALSE; +#line 479 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_videos = FALSE; +#line 480 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_raw = FALSE; +#line 481 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->can_filter_by_stars = FALSE; +#line 483 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_update_sensitivities (self); +#line 448 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (new_tracked_page); +#line 448 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (old_tracked_page); +#line 3906 "SearchFilter.c" +} + + +static gpointer _core_tracker_ref0 (gpointer self) { +#line 487 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self ? core_tracker_ref (self) : NULL; +#line 3913 "SearchFilter.c" +} + + +static void search_filter_actions_on_media_tracker_updated (SearchFilterActions* self, CoreTracker* t) { + MediaViewTracker* tracker = NULL; + CoreTracker* _tmp0_ = NULL; + MediaViewTracker* _tmp1_ = NULL; + MediaAccumulator* _tmp2_ = NULL; + gint _tmp3_ = 0; + MediaAccumulator* _tmp4_ = NULL; + gint _tmp5_ = 0; + MediaAccumulator* _tmp6_ = NULL; + gint _tmp7_ = 0; + MediaAccumulator* _tmp8_ = NULL; + gint _tmp9_ = 0; +#line 486 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 486 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (CORE_IS_TRACKER (t)); +#line 487 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = t; +#line 487 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker)); +#line 487 "/home/jens/Source/shotwell/src/SearchFilter.vala" + tracker = _tmp1_; +#line 489 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = tracker->all; +#line 489 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = _tmp2_->flagged; +#line 489 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_flagged = _tmp3_ > 0; +#line 490 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = tracker->all; +#line 490 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = _tmp4_->photos; +#line 490 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_photos = _tmp5_ > 0; +#line 491 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = tracker->all; +#line 491 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = _tmp6_->videos; +#line 491 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_videos = _tmp7_ > 0; +#line 492 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = tracker->all; +#line 492 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = _tmp8_->raw; +#line 492 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_raw = _tmp9_ > 0; +#line 494 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_update_sensitivities (self); +#line 486 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _core_tracker_unref0 (tracker); +#line 3967 "SearchFilter.c" +} + + +static void search_filter_actions_on_camera_tracker_updated (SearchFilterActions* self, CoreTracker* t) { + CameraViewTracker* tracker = NULL; + CoreTracker* _tmp0_ = NULL; + CameraViewTracker* _tmp1_ = NULL; + CameraAccumulator* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + CameraAccumulator* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + CameraAccumulator* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 497 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 497 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (CORE_IS_TRACKER (t)); +#line 498 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = t; +#line 498 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_CAMERA_VIEW_TRACKER, CameraViewTracker)); +#line 498 "/home/jens/Source/shotwell/src/SearchFilter.vala" + tracker = _tmp1_; +#line 500 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_flagged = FALSE; +#line 501 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = tracker->all; +#line 501 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = camera_accumulator_get_photos (_tmp2_); +#line 501 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = _tmp3_; +#line 501 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_photos = _tmp4_ > 0; +#line 502 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = tracker->all; +#line 502 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = camera_accumulator_get_videos (_tmp5_); +#line 502 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = _tmp6_; +#line 502 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_videos = _tmp7_ > 0; +#line 503 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = tracker->all; +#line 503 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = camera_accumulator_get_raw (_tmp8_); +#line 503 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = _tmp9_; +#line 503 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_raw = _tmp10_ > 0; +#line 505 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_update_sensitivities (self); +#line 497 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _core_tracker_unref0 (tracker); +#line 4024 "SearchFilter.c" +} + + +static void search_filter_actions_update_sensitivities (SearchFilterActions* self) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + SearchFilterCriteria _tmp2_ = 0; + GtkToggleAction* _tmp4_ = NULL; + GtkToggleAction* _tmp5_ = NULL; + gboolean allow_media = FALSE; + SearchFilterCriteria _tmp6_ = 0; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + GtkToggleAction* _tmp11_ = NULL; + GtkToggleAction* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + GtkToggleAction* _tmp17_ = NULL; + GtkToggleAction* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + GtkToggleAction* _tmp23_ = NULL; + GtkToggleAction* _tmp24_ = NULL; + gboolean allow_ratings = FALSE; + SearchFilterCriteria _tmp25_ = 0; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; + gboolean _tmp32_ = FALSE; + gboolean _tmp33_ = FALSE; + TextAction* _tmp34_ = NULL; + TextAction* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + gboolean _tmp37_ = FALSE; + gboolean _tmp38_ = FALSE; + gboolean _tmp39_ = FALSE; +#line 508 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = self->priv->criteria; +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((SEARCH_FILTER_CRITERIA_FLAG & _tmp2_) != 0) { +#line 4073 "SearchFilter.c" + gboolean _tmp3_ = FALSE; +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->has_flagged; +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp3_; +#line 4079 "SearchFilter.c" + } else { +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = FALSE; +#line 4083 "SearchFilter.c" + } +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp1_) { +#line 510 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = RESOURCES_ICON_FILTER_FLAGGED; +#line 4089 "SearchFilter.c" + } else { +#line 510 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = RESOURCES_ICON_FILTER_FLAGGED_DISABLED; +#line 4093 "SearchFilter.c" + } +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = search_filter_actions_get_flagged (self); +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = _tmp4_; +#line 509 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_action_set_stock_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_action_get_type (), GtkAction), _tmp0_); +#line 512 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = self->priv->criteria; +#line 512 "/home/jens/Source/shotwell/src/SearchFilter.vala" + allow_media = (SEARCH_FILTER_CRITERIA_MEDIA & _tmp6_) != 0; +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = allow_media; +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp9_) { +#line 4109 "SearchFilter.c" + gboolean _tmp10_ = FALSE; +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->has_videos; +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = _tmp10_; +#line 4115 "SearchFilter.c" + } else { +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = FALSE; +#line 4119 "SearchFilter.c" + } +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp8_) { +#line 514 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = RESOURCES_ICON_FILTER_VIDEOS; +#line 4125 "SearchFilter.c" + } else { +#line 514 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = RESOURCES_ICON_FILTER_VIDEOS_DISABLED; +#line 4129 "SearchFilter.c" + } +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = search_filter_actions_get_videos (self); +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = _tmp11_; +#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_action_set_stock_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_action_get_type (), GtkAction), _tmp7_); +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = allow_media; +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp15_) { +#line 4141 "SearchFilter.c" + gboolean _tmp16_ = FALSE; +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = self->priv->has_photos; +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = _tmp16_; +#line 4147 "SearchFilter.c" + } else { +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = FALSE; +#line 4151 "SearchFilter.c" + } +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp14_) { +#line 516 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = RESOURCES_ICON_FILTER_PHOTOS; +#line 4157 "SearchFilter.c" + } else { +#line 516 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = RESOURCES_ICON_FILTER_PHOTOS_DISABLED; +#line 4161 "SearchFilter.c" + } +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = search_filter_actions_get_photos (self); +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp18_ = _tmp17_; +#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_action_set_stock_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_action_get_type (), GtkAction), _tmp13_); +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp21_ = allow_media; +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp21_) { +#line 4173 "SearchFilter.c" + gboolean _tmp22_ = FALSE; +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_ = self->priv->has_raw; +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = _tmp22_; +#line 4179 "SearchFilter.c" + } else { +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = FALSE; +#line 4183 "SearchFilter.c" + } +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp20_) { +#line 518 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = RESOURCES_ICON_FILTER_RAW; +#line 4189 "SearchFilter.c" + } else { +#line 518 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = RESOURCES_ICON_FILTER_RAW_DISABLED; +#line 4193 "SearchFilter.c" + } +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp23_ = search_filter_actions_get_raw (self); +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp24_ = _tmp23_; +#line 517 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_action_set_stock_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_action_get_type (), GtkAction), _tmp19_); +#line 520 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25_ = self->priv->criteria; +#line 520 "/home/jens/Source/shotwell/src/SearchFilter.vala" + allow_ratings = (SEARCH_FILTER_CRITERIA_RATING & _tmp25_) != 0; +#line 521 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp26_ = self->priv->can_filter_by_stars; +#line 521 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_action_sensitive (self, "CommonDisplayRejectedOnly", allow_ratings & _tmp26_); +#line 522 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_ = self->priv->can_filter_by_stars; +#line 522 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_action_sensitive (self, "CommonDisplayRejectedOrHigher", allow_ratings & _tmp27_); +#line 523 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp28_ = self->priv->can_filter_by_stars; +#line 523 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_action_sensitive (self, "CommonDisplayUnratedOrHigher", allow_ratings & _tmp28_); +#line 524 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp29_ = self->priv->can_filter_by_stars; +#line 524 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_action_sensitive (self, "CommonDisplayOneOrHigher", allow_ratings & _tmp29_); +#line 525 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp30_ = self->priv->can_filter_by_stars; +#line 525 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_action_sensitive (self, "CommonDisplayTwoOrHigher", allow_ratings & _tmp30_); +#line 526 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp31_ = self->priv->can_filter_by_stars; +#line 526 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_action_sensitive (self, "CommonDisplayThreeOrHigher", allow_ratings & _tmp31_); +#line 527 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_ = self->priv->can_filter_by_stars; +#line 527 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_action_sensitive (self, "CommonDisplayFourOrHigher", allow_ratings & _tmp32_); +#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp33_ = self->priv->can_filter_by_stars; +#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_action_sensitive (self, "CommonDisplayFiveOrHigher", allow_ratings & _tmp33_); +#line 532 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp34_ = search_filter_actions_get_text (self); +#line 532 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35_ = _tmp34_; +#line 532 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_set_sensitive (_tmp35_, TRUE); +#line 534 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp36_ = self->priv->has_photos; +#line 534 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp37_ = self->priv->has_videos; +#line 534 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp38_ = self->priv->has_raw; +#line 534 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp39_ = self->priv->has_flagged; +#line 534 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "media-context-changed", _tmp36_, _tmp37_, _tmp38_, _tmp39_); +#line 4253 "SearchFilter.c" +} + + +static void search_filter_actions_on_text_changed (SearchFilterActions* self, TextAction* action, const gchar* text) { + const gchar* _tmp0_ = NULL; +#line 537 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 537 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_TEXT_ACTION (action)); +#line 538 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = text; +#line 538 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "text-changed", _tmp0_); +#line 4267 "SearchFilter.c" +} + + +static void _vala_array_add339 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 550 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 550 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 550 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4278 "SearchFilter.c" + } +#line 550 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4282 "SearchFilter.c" +} + + +static void _vala_array_add340 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4293 "SearchFilter.c" + } +#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4297 "SearchFilter.c" +} + + +static void _vala_array_add341 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4308 "SearchFilter.c" + } +#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4312 "SearchFilter.c" +} + + +static void _vala_array_add342 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4323 "SearchFilter.c" + } +#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4327 "SearchFilter.c" +} + + +static void _vala_array_add343 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4338 "SearchFilter.c" + } +#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4342 "SearchFilter.c" +} + + +static void _vala_array_add344 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4353 "SearchFilter.c" + } +#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4357 "SearchFilter.c" +} + + +static void _vala_array_add345 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 587 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 587 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 587 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4368 "SearchFilter.c" + } +#line 587 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4372 "SearchFilter.c" +} + + +static void _vala_array_add346 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 4383 "SearchFilter.c" + } +#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4387 "SearchFilter.c" +} + + +static void _search_filter_actions_on_rating_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self) { +#line 595 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_rating_changed ((SearchFilterActions*) self, action, current); +#line 4394 "SearchFilter.c" +} + + +static void _search_filter_actions_on_flagged_toggled_gtk_action_callback (GtkAction* action, gpointer self) { +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_flagged_toggled ((SearchFilterActions*) self, action); +#line 4401 "SearchFilter.c" +} + + +static void _vala_array_add347 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 604 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 604 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 604 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 4412 "SearchFilter.c" + } +#line 604 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4416 "SearchFilter.c" +} + + +static void _search_filter_actions_on_photos_toggled_gtk_action_callback (GtkAction* action, gpointer self) { +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_photos_toggled ((SearchFilterActions*) self, action); +#line 4423 "SearchFilter.c" +} + + +static void _vala_array_add348 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 610 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 610 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 610 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 4434 "SearchFilter.c" + } +#line 610 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4438 "SearchFilter.c" +} + + +static void _search_filter_actions_on_videos_toggled_gtk_action_callback (GtkAction* action, gpointer self) { +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_videos_toggled ((SearchFilterActions*) self, action); +#line 4445 "SearchFilter.c" +} + + +static void _vala_array_add349 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 4456 "SearchFilter.c" + } +#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4460 "SearchFilter.c" +} + + +static void _search_filter_actions_on_raw_toggled_gtk_action_callback (GtkAction* action, gpointer self) { +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_on_raw_toggled ((SearchFilterActions*) self, action); +#line 4467 "SearchFilter.c" +} + + +static void _vala_array_add350 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 4478 "SearchFilter.c" + } +#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = *value; +#line 4482 "SearchFilter.c" +} + + +static void search_filter_actions_register (SearchFilterActions* self) { + TextAction* _tmp0_ = NULL; + GtkRadioActionEntry* view_filter_actions = NULL; + GtkRadioActionEntry* _tmp1_ = NULL; + gint view_filter_actions_length1 = 0; + gint _view_filter_actions_size_ = 0; + GtkRadioActionEntry rejected_only = {0}; + GtkRadioActionEntry _tmp2_ = {0}; + GtkRadioActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkRadioActionEntry _tmp4_ = {0}; + GtkRadioActionEntry rejected_or_higher = {0}; + GtkRadioActionEntry _tmp5_ = {0}; + const gchar* _tmp6_ = NULL; + GtkRadioActionEntry* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GtkRadioActionEntry _tmp8_ = {0}; + GtkRadioActionEntry unrated_or_higher = {0}; + GtkRadioActionEntry _tmp9_ = {0}; + GtkRadioActionEntry* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + GtkRadioActionEntry _tmp11_ = {0}; + GtkRadioActionEntry one_or_higher = {0}; + GtkRadioActionEntry _tmp12_ = {0}; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GtkRadioActionEntry* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GtkRadioActionEntry _tmp16_ = {0}; + GtkRadioActionEntry two_or_higher = {0}; + GtkRadioActionEntry _tmp17_ = {0}; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + GtkRadioActionEntry* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + GtkRadioActionEntry _tmp21_ = {0}; + GtkRadioActionEntry three_or_higher = {0}; + GtkRadioActionEntry _tmp22_ = {0}; + const gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + GtkRadioActionEntry* _tmp25_ = NULL; + gint _tmp25__length1 = 0; + GtkRadioActionEntry _tmp26_ = {0}; + GtkRadioActionEntry four_or_higher = {0}; + GtkRadioActionEntry _tmp27_ = {0}; + const gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + GtkRadioActionEntry* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + GtkRadioActionEntry _tmp31_ = {0}; + GtkRadioActionEntry five_or_higher = {0}; + GtkRadioActionEntry _tmp32_ = {0}; + const gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + GtkRadioActionEntry* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + GtkRadioActionEntry _tmp36_ = {0}; + GtkActionGroup* _tmp37_ = NULL; + GtkRadioActionEntry* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + GtkToggleActionEntry* toggle_actions = NULL; + GtkToggleActionEntry* _tmp39_ = NULL; + gint toggle_actions_length1 = 0; + gint _toggle_actions_size_ = 0; + GtkToggleActionEntry flagged_action = {0}; + GtkToggleActionEntry _tmp40_ = {0}; + const gchar* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + GtkToggleActionEntry* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + GtkToggleActionEntry _tmp44_ = {0}; + GtkToggleActionEntry photos_action = {0}; + GtkToggleActionEntry _tmp45_ = {0}; + const gchar* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + GtkToggleActionEntry* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + GtkToggleActionEntry _tmp49_ = {0}; + GtkToggleActionEntry videos_action = {0}; + GtkToggleActionEntry _tmp50_ = {0}; + const gchar* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + GtkToggleActionEntry* _tmp53_ = NULL; + gint _tmp53__length1 = 0; + GtkToggleActionEntry _tmp54_ = {0}; + GtkToggleActionEntry raw_action = {0}; + GtkToggleActionEntry _tmp55_ = {0}; + const gchar* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + GtkToggleActionEntry* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + GtkToggleActionEntry _tmp59_ = {0}; + GtkActionGroup* _tmp60_ = NULL; + GtkToggleActionEntry* _tmp61_ = NULL; + gint _tmp61__length1 = 0; +#line 541 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 542 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = text_action_new (NULL); +#line 542 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _text_action_unref0 (self->priv->_text); +#line 542 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_text = _tmp0_; +#line 544 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = g_new0 (GtkRadioActionEntry, 0); +#line 544 "/home/jens/Source/shotwell/src/SearchFilter.vala" + view_filter_actions = _tmp1_; +#line 544 "/home/jens/Source/shotwell/src/SearchFilter.vala" + view_filter_actions_length1 = 0; +#line 544 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _view_filter_actions_size_ = view_filter_actions_length1; +#line 546 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_.name = "CommonDisplayRejectedOnly"; +#line 546 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_.stock_id = NULL; +#line 546 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_.label = TRANSLATABLE; +#line 546 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_.accelerator = "8"; +#line 546 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 546 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_.value = (gint) RATING_FILTER_REJECTED_ONLY; +#line 546 "/home/jens/Source/shotwell/src/SearchFilter.vala" + rejected_only = _tmp2_; +#line 548 "/home/jens/Source/shotwell/src/SearchFilter.vala" + rejected_only.label = RESOURCES_DISPLAY_REJECTED_ONLY_MENU; +#line 549 "/home/jens/Source/shotwell/src/SearchFilter.vala" + rejected_only.tooltip = RESOURCES_DISPLAY_REJECTED_ONLY_TOOLTIP; +#line 550 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = view_filter_actions; +#line 550 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3__length1 = view_filter_actions_length1; +#line 550 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = rejected_only; +#line 550 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add339 (&view_filter_actions, &view_filter_actions_length1, &_view_filter_actions_size_, &_tmp4_); +#line 552 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_.name = "CommonDisplayRejectedOrHigher"; +#line 552 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_.stock_id = NULL; +#line 552 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_.label = TRANSLATABLE; +#line 552 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_.accelerator = "9"; +#line 552 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 552 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_.value = (gint) RATING_FILTER_REJECTED_OR_HIGHER; +#line 552 "/home/jens/Source/shotwell/src/SearchFilter.vala" + rejected_or_higher = _tmp5_; +#line 554 "/home/jens/Source/shotwell/src/SearchFilter.vala" + rejected_or_higher.label = RESOURCES_DISPLAY_REJECTED_OR_HIGHER_MENU; +#line 555 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = g_dpgettext2 (NULL, "Tooltip", RESOURCES_DISPLAY_REJECTED_OR_HIGHER_TOOLTIP); +#line 555 "/home/jens/Source/shotwell/src/SearchFilter.vala" + rejected_or_higher.tooltip = _tmp6_; +#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = view_filter_actions; +#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7__length1 = view_filter_actions_length1; +#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = rejected_or_higher; +#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add340 (&view_filter_actions, &view_filter_actions_length1, &_view_filter_actions_size_, &_tmp8_); +#line 559 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_.name = "CommonDisplayUnratedOrHigher"; +#line 559 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_.stock_id = NULL; +#line 559 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_.label = TRANSLATABLE; +#line 559 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_.accelerator = "0"; +#line 559 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_.tooltip = TRANSLATABLE; +#line 559 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_.value = (gint) RATING_FILTER_UNRATED_OR_HIGHER; +#line 559 "/home/jens/Source/shotwell/src/SearchFilter.vala" + unrated_or_higher = _tmp9_; +#line 561 "/home/jens/Source/shotwell/src/SearchFilter.vala" + unrated_or_higher.label = RESOURCES_DISPLAY_UNRATED_OR_HIGHER_MENU; +#line 562 "/home/jens/Source/shotwell/src/SearchFilter.vala" + unrated_or_higher.tooltip = RESOURCES_DISPLAY_UNRATED_OR_HIGHER_TOOLTIP; +#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = view_filter_actions; +#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10__length1 = view_filter_actions_length1; +#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = unrated_or_higher; +#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add341 (&view_filter_actions, &view_filter_actions_length1, &_view_filter_actions_size_, &_tmp11_); +#line 565 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_.name = "CommonDisplayOneOrHigher"; +#line 565 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_.stock_id = NULL; +#line 565 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_.label = TRANSLATABLE; +#line 565 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_.accelerator = "1"; +#line 565 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_.tooltip = TRANSLATABLE; +#line 565 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_.value = (gint) RATING_FILTER_ONE_OR_HIGHER; +#line 565 "/home/jens/Source/shotwell/src/SearchFilter.vala" + one_or_higher = _tmp12_; +#line 567 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = resources_DISPLAY_ONE_OR_HIGHER_MENU; +#line 567 "/home/jens/Source/shotwell/src/SearchFilter.vala" + one_or_higher.label = _tmp13_; +#line 568 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = resources_DISPLAY_ONE_OR_HIGHER_TOOLTIP; +#line 568 "/home/jens/Source/shotwell/src/SearchFilter.vala" + one_or_higher.tooltip = _tmp14_; +#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = view_filter_actions; +#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15__length1 = view_filter_actions_length1; +#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = one_or_higher; +#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add342 (&view_filter_actions, &view_filter_actions_length1, &_view_filter_actions_size_, &_tmp16_); +#line 571 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_.name = "CommonDisplayTwoOrHigher"; +#line 571 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_.stock_id = NULL; +#line 571 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_.label = TRANSLATABLE; +#line 571 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_.accelerator = "2"; +#line 571 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_.tooltip = TRANSLATABLE; +#line 571 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_.value = (gint) RATING_FILTER_TWO_OR_HIGHER; +#line 571 "/home/jens/Source/shotwell/src/SearchFilter.vala" + two_or_higher = _tmp17_; +#line 573 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp18_ = resources_DISPLAY_TWO_OR_HIGHER_MENU; +#line 573 "/home/jens/Source/shotwell/src/SearchFilter.vala" + two_or_higher.label = _tmp18_; +#line 574 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = resources_DISPLAY_TWO_OR_HIGHER_TOOLTIP; +#line 574 "/home/jens/Source/shotwell/src/SearchFilter.vala" + two_or_higher.tooltip = _tmp19_; +#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = view_filter_actions; +#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20__length1 = view_filter_actions_length1; +#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp21_ = two_or_higher; +#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add343 (&view_filter_actions, &view_filter_actions_length1, &_view_filter_actions_size_, &_tmp21_); +#line 577 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_.name = "CommonDisplayThreeOrHigher"; +#line 577 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_.stock_id = NULL; +#line 577 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_.label = TRANSLATABLE; +#line 577 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_.accelerator = "3"; +#line 577 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_.tooltip = TRANSLATABLE; +#line 577 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_.value = (gint) RATING_FILTER_THREE_OR_HIGHER; +#line 577 "/home/jens/Source/shotwell/src/SearchFilter.vala" + three_or_higher = _tmp22_; +#line 579 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp23_ = resources_DISPLAY_THREE_OR_HIGHER_MENU; +#line 579 "/home/jens/Source/shotwell/src/SearchFilter.vala" + three_or_higher.label = _tmp23_; +#line 580 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp24_ = resources_DISPLAY_THREE_OR_HIGHER_TOOLTIP; +#line 580 "/home/jens/Source/shotwell/src/SearchFilter.vala" + three_or_higher.tooltip = _tmp24_; +#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25_ = view_filter_actions; +#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25__length1 = view_filter_actions_length1; +#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp26_ = three_or_higher; +#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add344 (&view_filter_actions, &view_filter_actions_length1, &_view_filter_actions_size_, &_tmp26_); +#line 583 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_.name = "CommonDisplayFourOrHigher"; +#line 583 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_.stock_id = NULL; +#line 583 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_.label = TRANSLATABLE; +#line 583 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_.accelerator = "4"; +#line 583 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_.tooltip = TRANSLATABLE; +#line 583 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_.value = (gint) RATING_FILTER_FOUR_OR_HIGHER; +#line 583 "/home/jens/Source/shotwell/src/SearchFilter.vala" + four_or_higher = _tmp27_; +#line 585 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp28_ = resources_DISPLAY_FOUR_OR_HIGHER_MENU; +#line 585 "/home/jens/Source/shotwell/src/SearchFilter.vala" + four_or_higher.label = _tmp28_; +#line 586 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp29_ = resources_DISPLAY_FOUR_OR_HIGHER_TOOLTIP; +#line 586 "/home/jens/Source/shotwell/src/SearchFilter.vala" + four_or_higher.tooltip = _tmp29_; +#line 587 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp30_ = view_filter_actions; +#line 587 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp30__length1 = view_filter_actions_length1; +#line 587 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp31_ = four_or_higher; +#line 587 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add345 (&view_filter_actions, &view_filter_actions_length1, &_view_filter_actions_size_, &_tmp31_); +#line 589 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_.name = "CommonDisplayFiveOrHigher"; +#line 589 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_.stock_id = NULL; +#line 589 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_.label = TRANSLATABLE; +#line 589 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_.accelerator = "5"; +#line 589 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_.tooltip = TRANSLATABLE; +#line 589 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_.value = (gint) RATING_FILTER_FIVE_OR_HIGHER; +#line 589 "/home/jens/Source/shotwell/src/SearchFilter.vala" + five_or_higher = _tmp32_; +#line 591 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp33_ = resources_DISPLAY_FIVE_OR_HIGHER_MENU; +#line 591 "/home/jens/Source/shotwell/src/SearchFilter.vala" + five_or_higher.label = _tmp33_; +#line 592 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp34_ = resources_DISPLAY_FIVE_OR_HIGHER_TOOLTIP; +#line 592 "/home/jens/Source/shotwell/src/SearchFilter.vala" + five_or_higher.tooltip = _tmp34_; +#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35_ = view_filter_actions; +#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35__length1 = view_filter_actions_length1; +#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp36_ = five_or_higher; +#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add346 (&view_filter_actions, &view_filter_actions_length1, &_view_filter_actions_size_, &_tmp36_); +#line 595 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp37_ = self->priv->action_group; +#line 595 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp38_ = view_filter_actions; +#line 595 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp38__length1 = view_filter_actions_length1; +#line 595 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_action_group_add_radio_actions (_tmp37_, _tmp38_, _tmp38__length1, (gint) RATING_FILTER_UNRATED_OR_HIGHER, (GCallback) _search_filter_actions_on_rating_changed_gtk_radio_action_callback, self); +#line 598 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp39_ = g_new0 (GtkToggleActionEntry, 0); +#line 598 "/home/jens/Source/shotwell/src/SearchFilter.vala" + toggle_actions = _tmp39_; +#line 598 "/home/jens/Source/shotwell/src/SearchFilter.vala" + toggle_actions_length1 = 0; +#line 598 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _toggle_actions_size_ = toggle_actions_length1; +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_.name = "CommonDisplayFlagged"; +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_.stock_id = RESOURCES_ICON_FILTER_FLAGGED; +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_.label = TRANSLATABLE; +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_.accelerator = NULL; +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_.tooltip = TRANSLATABLE; +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_.callback = (GCallback) _search_filter_actions_on_flagged_toggled_gtk_action_callback; +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_.is_active = FALSE; +#line 600 "/home/jens/Source/shotwell/src/SearchFilter.vala" + flagged_action = _tmp40_; +#line 602 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp41_ = _ ("Flagged"); +#line 602 "/home/jens/Source/shotwell/src/SearchFilter.vala" + flagged_action.label = _tmp41_; +#line 603 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp42_ = _ ("Flagged"); +#line 603 "/home/jens/Source/shotwell/src/SearchFilter.vala" + flagged_action.tooltip = _tmp42_; +#line 604 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp43_ = toggle_actions; +#line 604 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp43__length1 = toggle_actions_length1; +#line 604 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp44_ = flagged_action; +#line 604 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add347 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp44_); +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_.name = "CommonDisplayPhotos"; +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_.stock_id = RESOURCES_ICON_FILTER_PHOTOS; +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_.label = TRANSLATABLE; +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_.accelerator = NULL; +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_.tooltip = TRANSLATABLE; +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_.callback = (GCallback) _search_filter_actions_on_photos_toggled_gtk_action_callback; +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_.is_active = FALSE; +#line 606 "/home/jens/Source/shotwell/src/SearchFilter.vala" + photos_action = _tmp45_; +#line 608 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp46_ = _ ("Photos"); +#line 608 "/home/jens/Source/shotwell/src/SearchFilter.vala" + photos_action.label = _tmp46_; +#line 609 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp47_ = _ ("Photos"); +#line 609 "/home/jens/Source/shotwell/src/SearchFilter.vala" + photos_action.tooltip = _tmp47_; +#line 610 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp48_ = toggle_actions; +#line 610 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp48__length1 = toggle_actions_length1; +#line 610 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp49_ = photos_action; +#line 610 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add348 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp49_); +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_.name = "CommonDisplayVideos"; +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_.stock_id = RESOURCES_ICON_FILTER_VIDEOS; +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_.label = TRANSLATABLE; +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_.accelerator = NULL; +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_.tooltip = TRANSLATABLE; +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_.callback = (GCallback) _search_filter_actions_on_videos_toggled_gtk_action_callback; +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_.is_active = FALSE; +#line 612 "/home/jens/Source/shotwell/src/SearchFilter.vala" + videos_action = _tmp50_; +#line 614 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp51_ = _ ("Videos"); +#line 614 "/home/jens/Source/shotwell/src/SearchFilter.vala" + videos_action.label = _tmp51_; +#line 615 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp52_ = _ ("Videos"); +#line 615 "/home/jens/Source/shotwell/src/SearchFilter.vala" + videos_action.tooltip = _tmp52_; +#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp53_ = toggle_actions; +#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp53__length1 = toggle_actions_length1; +#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp54_ = videos_action; +#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add349 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp54_); +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_.name = "CommonDisplayRaw"; +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_.stock_id = RESOURCES_ICON_FILTER_RAW; +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_.label = TRANSLATABLE; +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_.accelerator = NULL; +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_.tooltip = TRANSLATABLE; +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_.callback = (GCallback) _search_filter_actions_on_raw_toggled_gtk_action_callback; +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_.is_active = FALSE; +#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala" + raw_action = _tmp55_; +#line 620 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp56_ = _ ("RAW Photos"); +#line 620 "/home/jens/Source/shotwell/src/SearchFilter.vala" + raw_action.label = _tmp56_; +#line 621 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp57_ = _ ("RAW photos"); +#line 621 "/home/jens/Source/shotwell/src/SearchFilter.vala" + raw_action.tooltip = _tmp57_; +#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp58_ = toggle_actions; +#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp58__length1 = toggle_actions_length1; +#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp59_ = raw_action; +#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add350 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp59_); +#line 624 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp60_ = self->priv->action_group; +#line 624 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp61_ = toggle_actions; +#line 624 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp61__length1 = toggle_actions_length1; +#line 624 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_action_group_add_toggle_actions (_tmp60_, _tmp61_, _tmp61__length1, self); +#line 541 "/home/jens/Source/shotwell/src/SearchFilter.vala" + toggle_actions = (g_free (toggle_actions), NULL); +#line 541 "/home/jens/Source/shotwell/src/SearchFilter.vala" + view_filter_actions = (g_free (view_filter_actions), NULL); +#line 4983 "SearchFilter.c" +} + + +static void search_filter_actions_on_rating_changed (SearchFilterActions* self, GtkAction* action, GtkAction* current) { + GtkAction* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 627 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 627 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 627 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (GTK_IS_ACTION (current)); +#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = current; +#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = gtk_radio_action_get_current_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction)); +#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "rating-changed", (RatingFilter) _tmp1_); +#line 5002 "SearchFilter.c" +} + + +static void search_filter_actions_on_flagged_toggled (SearchFilterActions* self, GtkAction* action) { + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 631 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 631 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 632 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = action; +#line 632 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 632 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp1_; +#line 632 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "flagged-toggled", _tmp2_); +#line 5022 "SearchFilter.c" +} + + +static void search_filter_actions_on_photos_toggled (SearchFilterActions* self, GtkAction* action) { + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 635 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 635 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 636 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = action; +#line 636 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 636 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp1_; +#line 636 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "photos-toggled", _tmp2_); +#line 5042 "SearchFilter.c" +} + + +static void search_filter_actions_on_videos_toggled (SearchFilterActions* self, GtkAction* action) { + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 639 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 639 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 640 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = action; +#line 640 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 640 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp1_; +#line 640 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "videos-toggled", _tmp2_); +#line 5062 "SearchFilter.c" +} + + +static void search_filter_actions_on_raw_toggled (SearchFilterActions* self, GtkAction* action) { + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 643 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self)); +#line 643 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 644 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = action; +#line 644 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 644 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp1_; +#line 644 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "raw-toggled", _tmp2_); +#line 5082 "SearchFilter.c" +} + + +gboolean search_filter_actions_get_has_photos (SearchFilterActions* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), FALSE); +#line 648 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->has_photos; +#line 648 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 648 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5097 "SearchFilter.c" +} + + +gboolean search_filter_actions_get_has_videos (SearchFilterActions* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 651 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), FALSE); +#line 652 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->has_videos; +#line 652 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 652 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5112 "SearchFilter.c" +} + + +gboolean search_filter_actions_get_has_raw (SearchFilterActions* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 655 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), FALSE); +#line 656 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->has_raw; +#line 656 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 656 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5127 "SearchFilter.c" +} + + +gboolean search_filter_actions_get_has_flagged (SearchFilterActions* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 659 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), FALSE); +#line 660 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->has_flagged; +#line 660 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 660 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5142 "SearchFilter.c" +} + + +GtkToggleAction* search_filter_actions_get_flagged (SearchFilterActions* self) { + GtkToggleAction* result; + GtkAction* _tmp0_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL); +#line 336 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search_filter_actions_get_action (self, "CommonDisplayFlagged"); +#line 336 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL; +#line 336 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5157 "SearchFilter.c" +} + + +GtkToggleAction* search_filter_actions_get_photos (SearchFilterActions* self) { + GtkToggleAction* result; + GtkAction* _tmp0_ = NULL; +#line 341 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL); +#line 342 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search_filter_actions_get_action (self, "CommonDisplayPhotos"); +#line 342 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL; +#line 342 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5172 "SearchFilter.c" +} + + +GtkToggleAction* search_filter_actions_get_videos (SearchFilterActions* self) { + GtkToggleAction* result; + GtkAction* _tmp0_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL); +#line 348 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search_filter_actions_get_action (self, "CommonDisplayVideos"); +#line 348 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL; +#line 348 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5187 "SearchFilter.c" +} + + +GtkToggleAction* search_filter_actions_get_raw (SearchFilterActions* self) { + GtkToggleAction* result; + GtkAction* _tmp0_ = NULL; +#line 353 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL); +#line 354 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search_filter_actions_get_action (self, "CommonDisplayRaw"); +#line 354 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL; +#line 354 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5202 "SearchFilter.c" +} + + +GtkRadioAction* search_filter_actions_get_rating (SearchFilterActions* self) { + GtkRadioAction* result; + GtkAction* _tmp0_ = NULL; +#line 359 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL); +#line 360 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search_filter_actions_get_action (self, "CommonDisplayUnratedOrHigher"); +#line 360 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp0_) : NULL; +#line 360 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5217 "SearchFilter.c" +} + + +TextAction* search_filter_actions_get_text (SearchFilterActions* self) { + TextAction* result; + TextAction* _tmp0_ = NULL; + TextAction* _tmp1_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL); +#line 366 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_text; +#line 366 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_assert (_tmp0_ != NULL, "_text != null"); +#line 367 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->_text; +#line 367 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp1_; +#line 367 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5237 "SearchFilter.c" +} + + +static void g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN) (gpointer data1, gboolean arg_1, gboolean arg_2, gboolean arg_3, gboolean arg_4, gpointer data2); + register GMarshalFunc_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (n_param_values == 5); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + data1 = closure->data; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + data2 = param_values->data[0].v_pointer; +#line 5256 "SearchFilter.c" + } else { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + data1 = param_values->data[0].v_pointer; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + data2 = closure->data; +#line 5262 "SearchFilter.c" + } +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + callback = (GMarshalFunc_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + callback (data1, g_value_get_boolean (param_values + 1), g_value_get_boolean (param_values + 2), g_value_get_boolean (param_values + 3), g_value_get_boolean (param_values + 4), data2); +#line 5268 "SearchFilter.c" +} + + +static void value_search_filter_actions_init (GValue* value) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 5275 "SearchFilter.c" +} + + +static void value_search_filter_actions_free_value (GValue* value) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (value->data[0].v_pointer) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_unref (value->data[0].v_pointer); +#line 5284 "SearchFilter.c" + } +} + + +static void value_search_filter_actions_copy_value (const GValue* src_value, GValue* dest_value) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (src_value->data[0].v_pointer) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + dest_value->data[0].v_pointer = search_filter_actions_ref (src_value->data[0].v_pointer); +#line 5294 "SearchFilter.c" + } else { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + dest_value->data[0].v_pointer = NULL; +#line 5298 "SearchFilter.c" + } +} + + +static gpointer value_search_filter_actions_peek_pointer (const GValue* value) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return value->data[0].v_pointer; +#line 5306 "SearchFilter.c" +} + + +static gchar* value_search_filter_actions_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (collect_values[0].v_pointer) { +#line 5313 "SearchFilter.c" + SearchFilterActions* object; + object = collect_values[0].v_pointer; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (object->parent_instance.g_class == NULL) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5320 "SearchFilter.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5324 "SearchFilter.c" + } +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = search_filter_actions_ref (object); +#line 5328 "SearchFilter.c" + } else { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 5332 "SearchFilter.c" + } +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return NULL; +#line 5336 "SearchFilter.c" +} + + +static gchar* value_search_filter_actions_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SearchFilterActions** object_p; + object_p = collect_values[0].v_pointer; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!object_p) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 5347 "SearchFilter.c" + } +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!value->data[0].v_pointer) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = NULL; +#line 5353 "SearchFilter.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = value->data[0].v_pointer; +#line 5357 "SearchFilter.c" + } else { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = search_filter_actions_ref (value->data[0].v_pointer); +#line 5361 "SearchFilter.c" + } +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return NULL; +#line 5365 "SearchFilter.c" +} + + +GParamSpec* param_spec_search_filter_actions (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSearchFilterActions* spec; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SEARCH_FILTER_ACTIONS), NULL); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return G_PARAM_SPEC (spec); +#line 5379 "SearchFilter.c" +} + + +gpointer value_get_search_filter_actions (const GValue* value) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_FILTER_ACTIONS), NULL); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return value->data[0].v_pointer; +#line 5388 "SearchFilter.c" +} + + +void value_set_search_filter_actions (GValue* value, gpointer v_object) { + SearchFilterActions* old; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_FILTER_ACTIONS)); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + old = value->data[0].v_pointer; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (v_object) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SEARCH_FILTER_ACTIONS)); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = v_object; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_ref (value->data[0].v_pointer); +#line 5408 "SearchFilter.c" + } else { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 5412 "SearchFilter.c" + } +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (old) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_unref (old); +#line 5418 "SearchFilter.c" + } +} + + +void value_take_search_filter_actions (GValue* value, gpointer v_object) { + SearchFilterActions* old; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_FILTER_ACTIONS)); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + old = value->data[0].v_pointer; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (v_object) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SEARCH_FILTER_ACTIONS)); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = v_object; +#line 5437 "SearchFilter.c" + } else { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 5441 "SearchFilter.c" + } +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (old) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_unref (old); +#line 5447 "SearchFilter.c" + } +} + + +static void search_filter_actions_class_init (SearchFilterActionsClass * klass) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_parent_class = g_type_class_peek_parent (klass); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ((SearchFilterActionsClass *) klass)->finalize = search_filter_actions_finalize; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (SearchFilterActionsPrivate)); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("flagged_toggled", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("photos_toggled", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("videos_toggled", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("raw_toggled", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("rating_changed", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__ENUM, G_TYPE_NONE, 1, TYPE_RATING_FILTER); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("text_changed", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 5471 "SearchFilter.c" + /** + * fired when the kinds of media present in the current view change (e.g., a video becomes + * available in the view through a new import operation or no raw photos are available in + * the view anymore because the last one was moved to the trash) + */ +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("media_context_changed", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN, G_TYPE_NONE, 4, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("criteria_changed", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 5481 "SearchFilter.c" +} + + +static void search_filter_actions_instance_init (SearchFilterActions * self) { + GtkActionGroup* _tmp0_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = SEARCH_FILTER_ACTIONS_GET_PRIVATE (self); +#line 371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = gtk_action_group_new ("SearchFilterActionGroup"); +#line 371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->action_group = _tmp0_; +#line 372 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->criteria = SEARCH_FILTER_CRITERIA_ALL; +#line 373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_text = NULL; +#line 374 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_flagged = TRUE; +#line 375 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_photos = TRUE; +#line 376 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_videos = TRUE; +#line 377 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->has_raw = TRUE; +#line 378 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->can_filter_by_stars = TRUE; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->ref_count = 1; +#line 5509 "SearchFilter.c" +} + + +static void search_filter_actions_finalize (SearchFilterActions* obj) { + SearchFilterActions * self; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActions); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_destroy (self); +#line 371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->action_group); +#line 373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _text_action_unref0 (self->priv->_text); +#line 5523 "SearchFilter.c" +} + + +GType search_filter_actions_get_type (void) { + static volatile gsize search_filter_actions_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_actions_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_search_filter_actions_init, value_search_filter_actions_free_value, value_search_filter_actions_copy_value, value_search_filter_actions_peek_pointer, "p", value_search_filter_actions_collect_value, "p", value_search_filter_actions_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterActionsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_actions_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterActions), 0, (GInstanceInitFunc) search_filter_actions_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType search_filter_actions_type_id; + search_filter_actions_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SearchFilterActions", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&search_filter_actions_type_id__volatile, search_filter_actions_type_id); + } + return search_filter_actions_type_id__volatile; +} + + +gpointer search_filter_actions_ref (gpointer instance) { + SearchFilterActions* self; + self = instance; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_atomic_int_inc (&self->ref_count); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return instance; +#line 5548 "SearchFilter.c" +} + + +void search_filter_actions_unref (gpointer instance) { + SearchFilterActions* self; + self = instance; +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + SEARCH_FILTER_ACTIONS_GET_CLASS (self)->finalize (self); +#line 333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 5561 "SearchFilter.c" + } +} + + +static void _search_filter_toolbar_on_media_context_changed_search_filter_actions_media_context_changed (SearchFilterActions* _sender, gboolean has_photos, gboolean has_videos, gboolean has_raw, gboolean has_flagged, gpointer self) { +#line 1244 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_media_context_changed ((SearchFilterToolbar*) self, has_photos, has_videos, has_raw, has_flagged); +#line 5569 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_flagged_toggled_search_filter_actions_flagged_toggled (SearchFilterActions* _sender, gboolean on, gpointer self) { +#line 1246 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_flagged_toggled ((SearchFilterToolbar*) self); +#line 5576 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_photos_toggled_search_filter_actions_photos_toggled (SearchFilterActions* _sender, gboolean on, gpointer self) { +#line 1247 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_photos_toggled ((SearchFilterToolbar*) self); +#line 5583 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_videos_toggled_search_filter_actions_videos_toggled (SearchFilterActions* _sender, gboolean on, gpointer self) { +#line 1248 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_videos_toggled ((SearchFilterToolbar*) self); +#line 5590 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_raw_toggled_search_filter_actions_raw_toggled (SearchFilterActions* _sender, gboolean on, gpointer self) { +#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_raw_toggled ((SearchFilterToolbar*) self); +#line 5597 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_rating_changed_search_filter_actions_rating_changed (SearchFilterActions* _sender, RatingFilter filter, gpointer self) { +#line 1250 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_rating_changed ((SearchFilterToolbar*) self); +#line 5604 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_search_text_changed_search_filter_actions_text_changed (SearchFilterActions* _sender, const gchar* text, gpointer self) { +#line 1251 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_search_text_changed ((SearchFilterToolbar*) self); +#line 5611 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_criteria_changed_search_filter_actions_criteria_changed (SearchFilterActions* _sender, gpointer self) { +#line 1252 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_criteria_changed ((SearchFilterToolbar*) self); +#line 5618 "SearchFilter.c" +} + + +static gboolean _search_filter_toolbar_on_context_menu_requested_gtk_toolbar_popup_context_menu (GtkToolbar* _sender, gint x, gint y, gint button_number, gpointer self) { + gboolean result; + result = search_filter_toolbar_on_context_menu_requested ((SearchFilterToolbar*) self, x, y, button_number); +#line 1254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 5627 "SearchFilter.c" +} + + +static gpointer _search_filter_actions_ref0 (gpointer self) { +#line 1136 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self ? search_filter_actions_ref (self) : NULL; +#line 5634 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_context_menu_close_chosen_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { +#line 1161 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_context_menu_close_chosen ((SearchFilterToolbar*) self); +#line 5641 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_filter_button_clicked_search_filter_toolbar_rating_filter_button_clicked (SearchFilterToolbarRatingFilterButton* _sender, gpointer self) { +#line 1201 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_filter_button_clicked ((SearchFilterToolbar*) self); +#line 5648 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_saved_search_button_clicked_search_filter_toolbar_saved_search_filter_button_clicked (SearchFilterToolbarSavedSearchFilterButton* _sender, gpointer self) { +#line 1212 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_saved_search_button_clicked ((SearchFilterToolbar*) self); +#line 5655 "SearchFilter.c" +} + + +SearchFilterToolbar* search_filter_toolbar_construct (GType object_type, SearchFilterActions* actions) { + SearchFilterToolbar * self = NULL; + SearchFilterActions* _tmp0_ = NULL; + SearchFilterActions* _tmp1_ = NULL; + GtkToolbar* _tmp2_ = NULL; + SearchFilterActions* _tmp3_ = NULL; + SearchFilterActions* _tmp4_ = NULL; + TextAction* _tmp5_ = NULL; + TextAction* _tmp6_ = NULL; + SearchFilterToolbarSearchBox* _tmp7_ = NULL; + GtkToolbar* _tmp8_ = NULL; + GtkToolbar* _tmp9_ = NULL; + GFile* ui_file = NULL; + GFile* _tmp10_ = NULL; + GtkUIManager* _tmp21_ = NULL; + SearchFilterActions* _tmp22_ = NULL; + GtkActionGroup* _tmp23_ = NULL; + GtkActionGroup* _tmp24_ = NULL; + GtkMenuItem* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + GtkMenuItem* _tmp27_ = NULL; + GtkMenuItem* _tmp28_ = NULL; + GtkMenu* _tmp29_ = NULL; + GtkMenuItem* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + SearchFilterToolbarLabelToolItem* _tmp32_ = NULL; + GtkToolbar* _tmp33_ = NULL; + SearchFilterToolbarLabelToolItem* _tmp34_ = NULL; + SearchFilterActions* _tmp35_ = NULL; + GtkToggleAction* _tmp36_ = NULL; + GtkToggleAction* _tmp37_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp38_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp39_ = NULL; + SearchFilterActions* _tmp40_ = NULL; + GtkActionGroup* _tmp41_ = NULL; + GtkActionGroup* _tmp42_ = NULL; + GtkAction* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + SearchFilterActions* _tmp46_ = NULL; + GtkToggleAction* _tmp47_ = NULL; + GtkToggleAction* _tmp48_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp49_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp50_ = NULL; + SearchFilterActions* _tmp51_ = NULL; + GtkActionGroup* _tmp52_ = NULL; + GtkActionGroup* _tmp53_ = NULL; + GtkAction* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + SearchFilterActions* _tmp57_ = NULL; + GtkToggleAction* _tmp58_ = NULL; + GtkToggleAction* _tmp59_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp60_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp61_ = NULL; + SearchFilterActions* _tmp62_ = NULL; + GtkActionGroup* _tmp63_ = NULL; + GtkActionGroup* _tmp64_ = NULL; + GtkAction* _tmp65_ = NULL; + const gchar* _tmp66_ = NULL; + const gchar* _tmp67_ = NULL; + GtkToolbar* _tmp68_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp69_ = NULL; + GtkToolbar* _tmp70_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp71_ = NULL; + GtkToolbar* _tmp72_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp73_ = NULL; + GtkSeparatorToolItem* _tmp74_ = NULL; + GtkToolbar* _tmp75_ = NULL; + GtkSeparatorToolItem* _tmp76_ = NULL; + SearchFilterActions* _tmp77_ = NULL; + GtkToggleAction* _tmp78_ = NULL; + GtkToggleAction* _tmp79_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp80_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp83_ = NULL; + SearchFilterActions* _tmp84_ = NULL; + GtkActionGroup* _tmp85_ = NULL; + GtkActionGroup* _tmp86_ = NULL; + GtkAction* _tmp87_ = NULL; + const gchar* _tmp88_ = NULL; + const gchar* _tmp89_ = NULL; + GtkToolbar* _tmp90_ = NULL; + SearchFilterToolbarToggleActionToolButton* _tmp91_ = NULL; + GtkSeparatorToolItem* _tmp92_ = NULL; + GtkToolbar* _tmp93_ = NULL; + GtkSeparatorToolItem* _tmp94_ = NULL; + SearchFilterToolbarRatingFilterButton* _tmp95_ = NULL; + GtkUIManager* _tmp96_ = NULL; + GtkWidget* _tmp97_ = NULL; + GtkMenu* _tmp98_ = NULL; + SearchFilterToolbarRatingFilterButton* _tmp99_ = NULL; + const gchar* _tmp100_ = NULL; + SearchFilterToolbarRatingFilterButton* _tmp101_ = NULL; + SearchFilterToolbarRatingFilterButton* _tmp102_ = NULL; + GtkToolbar* _tmp103_ = NULL; + SearchFilterToolbarRatingFilterButton* _tmp104_ = NULL; + GtkSeparatorToolItem* _tmp105_ = NULL; + GtkToolbar* _tmp106_ = NULL; + GtkSeparatorToolItem* _tmp107_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp108_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp109_ = NULL; + const gchar* _tmp110_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp111_ = NULL; + const gchar* _tmp112_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp113_ = NULL; + GtkToolbar* _tmp114_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp115_ = NULL; + GtkSeparatorToolItem* separator_align = NULL; + GtkSeparatorToolItem* _tmp116_ = NULL; + GtkToolbar* _tmp117_ = NULL; + GtkToolbar* _tmp118_ = NULL; + SearchFilterToolbarSearchBox* _tmp119_ = NULL; + GtkToolbar* _tmp120_ = NULL; + SearchFilterActions* _tmp121_ = NULL; + SearchFilterActions* _tmp122_ = NULL; + SearchFilterActions* _tmp123_ = NULL; + SearchFilterActions* _tmp124_ = NULL; + SearchFilterActions* _tmp125_ = NULL; + SearchFilterActions* _tmp126_ = NULL; + SearchFilterActions* _tmp127_ = NULL; + GtkToolbar* _tmp128_ = NULL; + SearchFilterActions* _tmp129_ = NULL; + gboolean _tmp130_ = FALSE; + SearchFilterActions* _tmp131_ = NULL; + gboolean _tmp132_ = FALSE; + SearchFilterActions* _tmp133_ = NULL; + gboolean _tmp134_ = FALSE; + SearchFilterActions* _tmp135_ = NULL; + gboolean _tmp136_ = FALSE; + GError * _inner_error_ = NULL; +#line 1135 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (actions), NULL); +#line 1135 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterToolbar*) g_object_new (object_type, NULL); +#line 1136 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = actions; +#line 1136 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _search_filter_actions_ref0 (_tmp0_); +#line 1136 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _search_filter_actions_unref0 (self->priv->actions); +#line 1136 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->actions = _tmp1_; +#line 1137 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = (GtkToolbar*) gtk_toolbar_new (); +#line 1137 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp2_); +#line 1137 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbar); +#line 1137 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->toolbar = _tmp2_; +#line 1138 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = actions; +#line 1138 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp3_, "media-context-changed", (GCallback) _search_filter_toolbar_on_media_context_changed_search_filter_actions_media_context_changed, self, 0); +#line 1139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = actions; +#line 1139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = search_filter_actions_get_text (_tmp4_); +#line 1139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = _tmp5_; +#line 1139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = search_filter_toolbar_search_box_new (_tmp6_); +#line 1139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp7_); +#line 1139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->search_box); +#line 1139 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_box = _tmp7_; +#line 1141 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->priv->toolbar; +#line 1141 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_buildable_set_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GTK_TYPE_BUILDABLE, GtkBuildable), "search-filter-toolbar"); +#line 1142 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = self->priv->toolbar; +#line 1142 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_set_icon_size (_tmp9_, GTK_ICON_SIZE_SMALL_TOOLBAR); +#line 1144 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = resources_get_ui ("search_bar.ui"); +#line 1144 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ui_file = _tmp10_; +#line 5841 "SearchFilter.c" + { + GtkUIManager* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 1146 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = self->ui; +#line 1146 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = g_file_get_path (ui_file); +#line 1146 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = _tmp12_; +#line 1146 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_ui_manager_add_ui_from_file (_tmp11_, _tmp13_, &_inner_error_); +#line 1146 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (_tmp13_); +#line 1146 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5858 "SearchFilter.c" + goto __catch580_g_error; + } + } + goto __finally580; + __catch580_g_error: + { + GError* err = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 1145 "/home/jens/Source/shotwell/src/SearchFilter.vala" + err = _inner_error_; +#line 1145 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _inner_error_ = NULL; +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = _ ("Error loading UI file %s: %s"); +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = g_file_get_path (ui_file); +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = _tmp15_; +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = err; +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp18_ = _tmp17_->message; +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = g_strdup_printf (_tmp14_, _tmp16_, _tmp18_); +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = _tmp19_; +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + app_window_panic (_tmp20_); +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (_tmp20_); +#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (_tmp16_); +#line 1145 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_error_free0 (err); +#line 5899 "SearchFilter.c" + } + __finally580: +#line 1145 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1145 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (ui_file); +#line 1145 "/home/jens/Source/shotwell/src/SearchFilter.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 1145 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_clear_error (&_inner_error_); +#line 1145 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return NULL; +#line 5912 "SearchFilter.c" + } +#line 1152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp21_ = self->ui; +#line 1152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_ = actions; +#line 1152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp23_ = search_filter_actions_get_action_group (_tmp22_); +#line 1152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp24_ = _tmp23_; +#line 1152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_ui_manager_insert_action_group (_tmp21_, _tmp24_, 0); +#line 1152 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp24_); +#line 1159 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25_ = self->priv->close_item; +#line 1159 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp26_ = _ ("Close"); +#line 1159 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_menu_item_set_label (_tmp25_, _tmp26_); +#line 1160 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_ = self->priv->close_item; +#line 1160 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget)); +#line 1161 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp28_ = self->priv->close_item; +#line 1161 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp28_, "activate", (GCallback) _search_filter_toolbar_on_context_menu_close_chosen_gtk_menu_item_activate, self, 0); +#line 1162 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp29_ = self->priv->close_menu; +#line 1162 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp30_ = self->priv->close_item; +#line 1162 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_menu_shell_append (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_menu_shell_get_type (), GtkMenuShell), (GtkWidget*) _tmp30_); +#line 1165 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp31_ = _ ("Type"); +#line 1165 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_ = search_filter_toolbar_label_tool_item_new (_tmp31_, 10, 5); +#line 1165 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp32_); +#line 1165 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->label_type); +#line 1165 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->label_type = _tmp32_; +#line 1166 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp33_ = self->priv->toolbar; +#line 1166 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp34_ = self->priv->label_type; +#line 1166 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp33_, G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1168 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35_ = actions; +#line 1168 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp36_ = search_filter_actions_get_photos (_tmp35_); +#line 1168 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp37_ = _tmp36_; +#line 1168 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp38_ = search_filter_toolbar_toggle_action_tool_button_new (_tmp37_); +#line 1168 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp38_); +#line 1168 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbtn_photos); +#line 1168 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->toolbtn_photos = _tmp38_; +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp39_ = self->priv->toolbtn_photos; +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_ = actions; +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp41_ = search_filter_actions_get_action_group (_tmp40_); +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp42_ = _tmp41_; +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp43_ = gtk_action_group_get_action (_tmp42_, "CommonDisplayPhotos"); +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp44_ = gtk_action_get_tooltip (_tmp43_); +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_ = _tmp44_; +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_tool_item_get_type (), GtkToolItem), _tmp45_); +#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp42_); +#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp46_ = actions; +#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp47_ = search_filter_actions_get_videos (_tmp46_); +#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp48_ = _tmp47_; +#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp49_ = search_filter_toolbar_toggle_action_tool_button_new (_tmp48_); +#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp49_); +#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbtn_videos); +#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->toolbtn_videos = _tmp49_; +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_ = self->priv->toolbtn_videos; +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp51_ = actions; +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp52_ = search_filter_actions_get_action_group (_tmp51_); +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp53_ = _tmp52_; +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp54_ = gtk_action_group_get_action (_tmp53_, "CommonDisplayVideos"); +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_ = gtk_action_get_tooltip (_tmp54_); +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp56_ = _tmp55_; +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_tool_item_get_type (), GtkToolItem), _tmp56_); +#line 1172 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp53_); +#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp57_ = actions; +#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp58_ = search_filter_actions_get_raw (_tmp57_); +#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp59_ = _tmp58_; +#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp60_ = search_filter_toolbar_toggle_action_tool_button_new (_tmp59_); +#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp60_); +#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbtn_raw); +#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->toolbtn_raw = _tmp60_; +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp61_ = self->priv->toolbtn_raw; +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp62_ = actions; +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp63_ = search_filter_actions_get_action_group (_tmp62_); +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp64_ = _tmp63_; +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp65_ = gtk_action_group_get_action (_tmp64_, "CommonDisplayRaw"); +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp66_ = gtk_action_get_tooltip (_tmp65_); +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp67_ = _tmp66_; +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_tool_item_get_type (), GtkToolItem), _tmp67_); +#line 1175 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp64_); +#line 1177 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp68_ = self->priv->toolbar; +#line 1177 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp69_ = self->priv->toolbtn_photos; +#line 1177 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp68_, G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1178 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp70_ = self->priv->toolbar; +#line 1178 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp71_ = self->priv->toolbtn_videos; +#line 1178 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp70_, G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1179 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp72_ = self->priv->toolbar; +#line 1179 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp73_ = self->priv->toolbtn_raw; +#line 1179 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp72_, G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1182 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp74_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 1182 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp74_); +#line 1182 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->sepr_mediatype_flagged); +#line 1182 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->sepr_mediatype_flagged = _tmp74_; +#line 1183 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp75_ = self->priv->toolbar; +#line 1183 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp76_ = self->priv->sepr_mediatype_flagged; +#line 1183 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp75_, G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp77_ = actions; +#line 1187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp78_ = search_filter_actions_get_flagged (_tmp77_); +#line 1187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp79_ = _tmp78_; +#line 1187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp80_ = search_filter_toolbar_toggle_action_tool_button_new (_tmp79_); +#line 1187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp80_); +#line 1187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbtn_flag); +#line 1187 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->toolbtn_flag = _tmp80_; +#line 1188 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp81_ = self->priv->toolbtn_flag; +#line 1188 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp82_ = _ ("Flagged"); +#line 1188 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_label (_tmp81_, _tmp82_); +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp83_ = self->priv->toolbtn_flag; +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp84_ = actions; +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp85_ = search_filter_actions_get_action_group (_tmp84_); +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp86_ = _tmp85_; +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp87_ = gtk_action_group_get_action (_tmp86_, "CommonDisplayFlagged"); +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp88_ = gtk_action_get_tooltip (_tmp87_); +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp89_ = _tmp88_; +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, gtk_tool_item_get_type (), GtkToolItem), _tmp89_); +#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp86_); +#line 1191 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp90_ = self->priv->toolbar; +#line 1191 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp91_ = self->priv->toolbtn_flag; +#line 1191 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp90_, G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1194 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp92_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 1194 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp92_); +#line 1194 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->sepr_flagged_rating); +#line 1194 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->sepr_flagged_rating = _tmp92_; +#line 1195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp93_ = self->priv->toolbar; +#line 1195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp94_ = self->priv->sepr_flagged_rating; +#line 1195 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp93_, G_TYPE_CHECK_INSTANCE_CAST (_tmp94_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1198 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp95_ = self->priv->rating_button; +#line 1198 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp96_ = self->ui; +#line 1198 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp97_ = gtk_ui_manager_get_widget (_tmp96_, "/FilterPopupMenu"); +#line 1198 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp98_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp97_, gtk_menu_get_type (), GtkMenu)); +#line 1198 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp95_->filter_popup); +#line 1198 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp95_->filter_popup = _tmp98_; +#line 1199 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp99_ = self->priv->rating_button; +#line 1199 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp100_ = _ ("Rating"); +#line 1199 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_rating_filter_button_set_label (_tmp99_, _tmp100_); +#line 1200 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp101_ = self->priv->rating_button; +#line 1200 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (_tmp101_, gtk_tool_item_get_type (), GtkToolItem), FALSE); +#line 1201 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp102_ = self->priv->rating_button; +#line 1201 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp102_, "clicked", (GCallback) _search_filter_toolbar_on_filter_button_clicked_search_filter_toolbar_rating_filter_button_clicked, self, 0); +#line 1202 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp103_ = self->priv->toolbar; +#line 1202 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp104_ = self->priv->rating_button; +#line 1202 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp103_, G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1205 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp105_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 1205 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp105_); +#line 1205 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->sepr_rating_saved); +#line 1205 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->sepr_rating_saved = _tmp105_; +#line 1206 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp106_ = self->priv->toolbar; +#line 1206 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp107_ = self->priv->sepr_rating_saved; +#line 1206 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp106_, G_TYPE_CHECK_INSTANCE_CAST (_tmp107_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1209 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp108_ = self->priv->saved_search_button; +#line 1209 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (_tmp108_, gtk_tool_item_get_type (), GtkToolItem), FALSE); +#line 1210 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp109_ = self->priv->saved_search_button; +#line 1210 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp110_ = _ ("Saved Search"); +#line 1210 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_filter_button_set_label (_tmp109_, _tmp110_); +#line 1211 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp111_ = self->priv->saved_search_button; +#line 1211 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp112_ = _ ("Use a saved search to filter items in the current view"); +#line 1211 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp111_, gtk_tool_item_get_type (), GtkToolItem), _tmp112_); +#line 1212 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp113_ = self->priv->saved_search_button; +#line 1212 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp113_, "clicked", (GCallback) _search_filter_toolbar_on_saved_search_button_clicked_search_filter_toolbar_saved_search_filter_button_clicked, self, 0); +#line 1213 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp114_ = self->priv->toolbar; +#line 1213 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp115_ = self->priv->saved_search_button; +#line 1213 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp114_, G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1216 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp116_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 1216 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp116_); +#line 1216 "/home/jens/Source/shotwell/src/SearchFilter.vala" + separator_align = _tmp116_; +#line 1217 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (separator_align, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 1218 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_separator_tool_item_set_draw (separator_align, FALSE); +#line 1219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp117_ = self->priv->toolbar; +#line 1219 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp117_, G_TYPE_CHECK_INSTANCE_CAST (separator_align, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1222 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp118_ = self->priv->toolbar; +#line 1222 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp119_ = self->priv->search_box; +#line 1222 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toolbar_insert (_tmp118_, G_TYPE_CHECK_INSTANCE_CAST (_tmp119_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 1224 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp120_ = self->priv->toolbar; +#line 1224 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp120_, gtk_widget_get_type (), GtkWidget)); +#line 1227 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp121_ = actions; +#line 1227 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp121_, "flagged-toggled", (GCallback) _search_filter_toolbar_on_flagged_toggled_search_filter_actions_flagged_toggled, self, 0); +#line 1228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp122_ = actions; +#line 1228 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp122_, "photos-toggled", (GCallback) _search_filter_toolbar_on_photos_toggled_search_filter_actions_photos_toggled, self, 0); +#line 1229 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp123_ = actions; +#line 1229 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp123_, "videos-toggled", (GCallback) _search_filter_toolbar_on_videos_toggled_search_filter_actions_videos_toggled, self, 0); +#line 1230 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp124_ = actions; +#line 1230 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp124_, "raw-toggled", (GCallback) _search_filter_toolbar_on_raw_toggled_search_filter_actions_raw_toggled, self, 0); +#line 1231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp125_ = actions; +#line 1231 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp125_, "rating-changed", (GCallback) _search_filter_toolbar_on_rating_changed_search_filter_actions_rating_changed, self, 0); +#line 1232 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp126_ = actions; +#line 1232 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp126_, "text-changed", (GCallback) _search_filter_toolbar_on_search_text_changed_search_filter_actions_text_changed, self, 0); +#line 1233 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp127_ = actions; +#line 1233 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp127_, "criteria-changed", (GCallback) _search_filter_toolbar_on_criteria_changed_search_filter_actions_criteria_changed, self, 0); +#line 1236 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp128_ = self->priv->toolbar; +#line 1236 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp128_, "popup-context-menu", (GCallback) _search_filter_toolbar_on_context_menu_requested_gtk_toolbar_popup_context_menu, self, 0); +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp129_ = actions; +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp130_ = search_filter_actions_get_has_photos (_tmp129_); +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp131_ = actions; +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp132_ = search_filter_actions_get_has_videos (_tmp131_); +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp133_ = actions; +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp134_ = search_filter_actions_get_has_raw (_tmp133_); +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp135_ = actions; +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp136_ = search_filter_actions_get_has_flagged (_tmp135_); +#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_media_context_changed (self, _tmp130_, _tmp132_, _tmp134_, _tmp136_); +#line 1135 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (separator_align); +#line 1135 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (ui_file); +#line 1135 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 6300 "SearchFilter.c" +} + + +SearchFilterToolbar* search_filter_toolbar_new (SearchFilterActions* actions) { +#line 1135 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_toolbar_construct (TYPE_SEARCH_FILTER_TOOLBAR, actions); +#line 6307 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_media_context_changed (SearchFilterToolbar* self, gboolean has_photos, gboolean has_videos, gboolean has_raw, gboolean has_flagged) { + gboolean _tmp0_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 1257 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1259 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = has_photos; +#line 1259 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp0_) { +#line 6322 "SearchFilter.c" + SearchFilterToolbarToggleActionToolButton* _tmp1_ = NULL; +#line 1260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->toolbtn_photos; +#line 1260 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp1_, RESOURCES_ICON_FILTER_PHOTOS); +#line 6328 "SearchFilter.c" + } else { + SearchFilterToolbarToggleActionToolButton* _tmp2_ = NULL; +#line 1262 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = self->priv->toolbtn_photos; +#line 1262 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp2_, RESOURCES_ICON_FILTER_PHOTOS_DISABLED); +#line 6335 "SearchFilter.c" + } +#line 1264 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = has_videos; +#line 1264 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp3_) { +#line 6341 "SearchFilter.c" + SearchFilterToolbarToggleActionToolButton* _tmp4_ = NULL; +#line 1265 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->toolbtn_videos; +#line 1265 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp4_, RESOURCES_ICON_FILTER_VIDEOS); +#line 6347 "SearchFilter.c" + } else { + SearchFilterToolbarToggleActionToolButton* _tmp5_ = NULL; +#line 1267 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->priv->toolbtn_videos; +#line 1267 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp5_, RESOURCES_ICON_FILTER_VIDEOS_DISABLED); +#line 6354 "SearchFilter.c" + } +#line 1269 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = has_raw; +#line 1269 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp6_) { +#line 6360 "SearchFilter.c" + SearchFilterToolbarToggleActionToolButton* _tmp7_ = NULL; +#line 1270 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = self->priv->toolbtn_raw; +#line 1270 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp7_, RESOURCES_ICON_FILTER_RAW); +#line 6366 "SearchFilter.c" + } else { + SearchFilterToolbarToggleActionToolButton* _tmp8_ = NULL; +#line 1272 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->priv->toolbtn_raw; +#line 1272 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp8_, RESOURCES_ICON_FILTER_RAW_DISABLED); +#line 6373 "SearchFilter.c" + } +#line 1274 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = has_flagged; +#line 1274 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp9_) { +#line 6379 "SearchFilter.c" + SearchFilterToolbarToggleActionToolButton* _tmp10_ = NULL; +#line 1275 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->toolbtn_flag; +#line 1275 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp10_, RESOURCES_ICON_FILTER_FLAGGED); +#line 6385 "SearchFilter.c" + } else { + SearchFilterToolbarToggleActionToolButton* _tmp11_ = NULL; +#line 1277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = self->priv->toolbtn_flag; +#line 1277 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp11_, RESOURCES_ICON_FILTER_FLAGGED_DISABLED); +#line 6392 "SearchFilter.c" + } +} + + +static gboolean search_filter_toolbar_on_context_menu_requested (SearchFilterToolbar* self, gint x, gint y, gint button) { + gboolean result = FALSE; + GtkMenu* _tmp0_ = NULL; + gint _tmp1_ = 0; + guint32 _tmp2_ = 0U; +#line 1281 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SEARCH_FILTER_TOOLBAR (self), FALSE); +#line 1282 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->close_menu; +#line 1282 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = button; +#line 1282 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = gtk_get_current_event_time (); +#line 1282 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_menu_popup (_tmp0_, NULL, NULL, NULL, NULL, (guint) _tmp1_, _tmp2_); +#line 1283 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 1283 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 6416 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_context_menu_close_chosen (SearchFilterToolbar* self) { + AppWindow* aw = NULL; + LibraryWindow* _tmp0_ = NULL; + GtkToggleAction* searchbar_toggle = NULL; + AppWindow* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + GtkToggleAction* _tmp3_ = NULL; + GtkToggleAction* _tmp4_ = NULL; +#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = library_window_get_app (); +#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala" + aw = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_APP_WINDOW, AppWindow); +#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = aw; +#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = app_window_get_common_action (_tmp1_, "CommonDisplaySearchbar"); +#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp2_) : NULL; +#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp3_ == NULL) { +#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp2_); +#line 6444 "SearchFilter.c" + } +#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala" + searchbar_toggle = _tmp3_; +#line 1297 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = searchbar_toggle; +#line 1297 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp4_ != NULL) { +#line 6452 "SearchFilter.c" + GtkToggleAction* _tmp5_ = NULL; +#line 1299 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = searchbar_toggle; +#line 1299 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toggle_action_set_active (_tmp5_, FALSE); +#line 6458 "SearchFilter.c" + } +#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (searchbar_toggle); +#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (aw); +#line 6464 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_flagged_toggled (SearchFilterToolbar* self) { +#line 1303 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1304 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 6473 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_videos_toggled (SearchFilterToolbar* self) { +#line 1307 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1308 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 6482 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_photos_toggled (SearchFilterToolbar* self) { +#line 1311 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1312 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 6491 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_raw_toggled (SearchFilterToolbar* self) { +#line 1315 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1316 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 6500 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_search_text_changed (SearchFilterToolbar* self) { +#line 1319 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1320 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 6509 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_rating_changed (SearchFilterToolbar* self) { + AppWindow* aw = NULL; + LibraryWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + GtkToggleAction* searchbar_toggle = NULL; + AppWindow* _tmp2_ = NULL; + GtkAction* _tmp3_ = NULL; + GtkToggleAction* _tmp4_ = NULL; + GtkToggleAction* _tmp5_ = NULL; +#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = library_window_get_app (); +#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala" + aw = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_APP_WINDOW, AppWindow); +#line 1326 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = aw; +#line 1326 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp1_ == NULL) { +#line 1327 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (aw); +#line 1327 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return; +#line 6536 "SearchFilter.c" + } +#line 1329 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = aw; +#line 1329 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = app_window_get_common_action (_tmp2_, "CommonDisplaySearchbar"); +#line 1329 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp3_) : NULL; +#line 1329 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp4_ == NULL) { +#line 1329 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp3_); +#line 6548 "SearchFilter.c" + } +#line 1329 "/home/jens/Source/shotwell/src/SearchFilter.vala" + searchbar_toggle = _tmp4_; +#line 1330 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = searchbar_toggle; +#line 1330 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp5_ != NULL) { +#line 6556 "SearchFilter.c" + GtkToggleAction* _tmp6_ = NULL; +#line 1331 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = searchbar_toggle; +#line 1331 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toggle_action_set_active (_tmp6_, TRUE); +#line 6562 "SearchFilter.c" + } +#line 1333 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (searchbar_toggle); +#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (aw); +#line 6570 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_criteria_changed (SearchFilterToolbar* self) { +#line 1339 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1340 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 6579 "SearchFilter.c" +} + + +static gpointer _view_filter_ref0 (gpointer self) { +#line 1347 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self ? view_filter_ref (self) : NULL; +#line 6586 "SearchFilter.c" +} + + +void search_filter_toolbar_set_view_filter (SearchFilterToolbar* self, SearchViewFilter* search_filter) { + SearchViewFilter* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; + SearchViewFilter* _tmp2_ = NULL; + SearchViewFilter* _tmp3_ = NULL; + SearchFilterActions* _tmp4_ = NULL; + SearchViewFilter* _tmp5_ = NULL; + guint _tmp6_ = 0U; + SearchFilterToolbarRatingFilterButton* _tmp7_ = NULL; + SearchViewFilter* _tmp8_ = NULL; + guint _tmp9_ = 0U; +#line 1343 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1343 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_VIEW_FILTER (search_filter)); +#line 1344 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search_filter; +#line 1344 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->search_filter; +#line 1344 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp0_ == _tmp1_) { +#line 1345 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return; +#line 6613 "SearchFilter.c" + } +#line 1347 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = search_filter; +#line 1347 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = _view_filter_ref0 (_tmp2_); +#line 1347 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _view_filter_unref0 (self->priv->search_filter); +#line 1347 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter = _tmp3_; +#line 1350 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->actions; +#line 1350 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = search_filter; +#line 1350 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = search_view_filter_get_criteria (_tmp5_); +#line 1350 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_actions_set_sensitive_for_search_criteria (_tmp4_, (SearchFilterCriteria) _tmp6_); +#line 1351 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = self->priv->rating_button; +#line 1351 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = search_filter; +#line 1351 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = search_view_filter_get_criteria (_tmp8_); +#line 1351 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), (SEARCH_FILTER_CRITERIA_RATING & _tmp9_) != 0); +#line 1353 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 6641 "SearchFilter.c" +} + + +void search_filter_toolbar_unset_view_filter (SearchFilterToolbar* self) { + DisabledViewFilter* _tmp0_ = NULL; + DisabledViewFilter* _tmp1_ = NULL; +#line 1356 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1357 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = disabled_view_filter_new (); +#line 1357 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_; +#line 1357 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_set_view_filter (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 1357 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _view_filter_unref0 (_tmp1_); +#line 6658 "SearchFilter.c" +} + + +void search_filter_toolbar_update (SearchFilterToolbar* self) { + SearchViewFilter* _tmp0_ = NULL; + SearchViewFilter* _tmp3_ = NULL; + SearchViewFilter* _tmp4_ = NULL; + SearchFilterActions* _tmp5_ = NULL; + TextAction* _tmp6_ = NULL; + TextAction* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + SearchViewFilter* _tmp10_ = NULL; + SearchFilterActions* _tmp11_ = NULL; + GtkToggleAction* _tmp12_ = NULL; + GtkToggleAction* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + SearchViewFilter* _tmp16_ = NULL; + SearchFilterActions* _tmp17_ = NULL; + GtkToggleAction* _tmp18_ = NULL; + GtkToggleAction* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + SearchViewFilter* _tmp22_ = NULL; + SearchFilterActions* _tmp23_ = NULL; + GtkToggleAction* _tmp24_ = NULL; + GtkToggleAction* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + SearchViewFilter* _tmp28_ = NULL; + SearchFilterActions* _tmp29_ = NULL; + GtkToggleAction* _tmp30_ = NULL; + GtkToggleAction* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + gboolean _tmp33_ = FALSE; + RatingFilter filter = 0; + SearchFilterActions* _tmp34_ = NULL; + GtkRadioAction* _tmp35_ = NULL; + GtkRadioAction* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + SearchViewFilter* _tmp39_ = NULL; + RatingFilter _tmp40_ = 0; + SearchFilterToolbarRatingFilterButton* _tmp41_ = NULL; + RatingFilter _tmp42_ = 0; + SearchViewFilter* _tmp43_ = NULL; + SavedSearch* _tmp44_ = NULL; + SearchFilterCriteria criteria = 0; + SearchFilterActions* _tmp45_ = NULL; + SearchFilterCriteria _tmp46_ = 0; + SearchFilterToolbarSearchBox* _tmp47_ = NULL; + SearchFilterCriteria _tmp48_ = 0; + SearchFilterToolbarRatingFilterButton* _tmp49_ = NULL; + SearchFilterCriteria _tmp50_ = 0; + SearchFilterToolbarToggleActionToolButton* _tmp51_ = NULL; + SearchFilterCriteria _tmp52_ = 0; + SearchFilterToolbarLabelToolItem* _tmp53_ = NULL; + SearchFilterCriteria _tmp54_ = 0; + SearchFilterToolbarToggleActionToolButton* _tmp55_ = NULL; + SearchFilterCriteria _tmp56_ = 0; + SearchFilterToolbarToggleActionToolButton* _tmp57_ = NULL; + SearchFilterCriteria _tmp58_ = 0; + SearchFilterToolbarToggleActionToolButton* _tmp59_ = NULL; + SearchFilterCriteria _tmp60_ = 0; + SearchFilterToolbarSavedSearchFilterButton* _tmp61_ = NULL; + SearchFilterCriteria _tmp62_ = 0; + gboolean _tmp63_ = FALSE; + SearchFilterToolbarLabelToolItem* _tmp64_ = NULL; + gboolean _tmp65_ = FALSE; + gboolean _tmp66_ = FALSE; + GtkSeparatorToolItem* _tmp70_ = NULL; + gboolean _tmp71_ = FALSE; + gboolean _tmp72_ = FALSE; + SearchFilterToolbarLabelToolItem* _tmp73_ = NULL; + gboolean _tmp74_ = FALSE; + gboolean _tmp75_ = FALSE; + GtkSeparatorToolItem* _tmp86_ = NULL; + SearchViewFilter* _tmp87_ = NULL; +#line 1361 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1362 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->search_filter; +#line 1362 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (NULL == _tmp0_) { +#line 6744 "SearchFilter.c" + LibraryWindow* _tmp1_ = NULL; + LibraryWindow* _tmp2_ = NULL; +#line 1364 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = library_window_get_app (); +#line 1364 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp1_; +#line 1364 "/home/jens/Source/shotwell/src/SearchFilter.vala" + library_window_show_search_bar (_tmp2_, TRUE); +#line 1364 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp2_); +#line 6755 "SearchFilter.c" + } +#line 1367 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->search_filter; +#line 1367 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_assert (NULL != _tmp3_, "null != search_filter"); +#line 1369 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->search_filter; +#line 1369 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->priv->actions; +#line 1369 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = search_filter_actions_get_text (_tmp5_); +#line 1369 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = _tmp6_; +#line 1369 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = text_action_get_value (_tmp7_); +#line 1369 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = _tmp8_; +#line 1369 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_view_filter_set_search_filter (_tmp4_, _tmp9_); +#line 1370 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->search_filter; +#line 1370 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = self->priv->actions; +#line 1370 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = search_filter_actions_get_flagged (_tmp11_); +#line 1370 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = _tmp12_; +#line 1370 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = gtk_toggle_action_get_active (_tmp13_); +#line 1370 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = _tmp14_; +#line 1370 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_view_filter_set_flagged (_tmp10_, _tmp15_); +#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = self->priv->search_filter; +#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = self->priv->actions; +#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp18_ = search_filter_actions_get_videos (_tmp17_); +#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = _tmp18_; +#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = gtk_toggle_action_get_active (_tmp19_); +#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp21_ = _tmp20_; +#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_view_filter_set_show_media_video (_tmp16_, _tmp21_); +#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_ = self->priv->search_filter; +#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp23_ = self->priv->actions; +#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp24_ = search_filter_actions_get_photos (_tmp23_); +#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25_ = _tmp24_; +#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp26_ = gtk_toggle_action_get_active (_tmp25_); +#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_ = _tmp26_; +#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_view_filter_set_show_media_photos (_tmp22_, _tmp27_); +#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp28_ = self->priv->search_filter; +#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp29_ = self->priv->actions; +#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp30_ = search_filter_actions_get_raw (_tmp29_); +#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp31_ = _tmp30_; +#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_ = gtk_toggle_action_get_active (_tmp31_); +#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp33_ = _tmp32_; +#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_view_filter_set_show_media_raw (_tmp28_, _tmp33_); +#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp34_ = self->priv->actions; +#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35_ = search_filter_actions_get_rating (_tmp34_); +#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp36_ = _tmp35_; +#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp37_ = gtk_radio_action_get_current_value (_tmp36_); +#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp38_ = _tmp37_; +#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filter = (RatingFilter) _tmp38_; +#line 1376 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp39_ = self->priv->search_filter; +#line 1376 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_ = filter; +#line 1376 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_view_filter_set_rating_filter (_tmp39_, _tmp40_); +#line 1377 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp41_ = self->priv->rating_button; +#line 1377 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp42_ = filter; +#line 1377 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_rating_filter_button_set_filter_icon (_tmp41_, _tmp42_); +#line 1379 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp43_ = self->priv->search_filter; +#line 1379 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp44_ = self->priv->saved_search; +#line 1379 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_view_filter_set_saved_search (_tmp43_, _tmp44_); +#line 1383 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_ = self->priv->actions; +#line 1383 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp46_ = search_filter_actions_get_criteria (_tmp45_); +#line 1383 "/home/jens/Source/shotwell/src/SearchFilter.vala" + criteria = _tmp46_; +#line 1385 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp47_ = self->priv->search_box; +#line 1385 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp48_ = criteria; +#line 1385 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_widget_get_type (), GtkWidget), (_tmp48_ & SEARCH_FILTER_CRITERIA_TEXT) != 0); +#line 1387 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp49_ = self->priv->rating_button; +#line 1387 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_ = criteria; +#line 1387 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_widget_get_type (), GtkWidget), (_tmp50_ & SEARCH_FILTER_CRITERIA_RATING) != 0); +#line 1389 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp51_ = self->priv->toolbtn_flag; +#line 1389 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp52_ = criteria; +#line 1389 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, gtk_widget_get_type (), GtkWidget), (_tmp52_ & SEARCH_FILTER_CRITERIA_FLAG) != 0); +#line 1391 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp53_ = self->priv->label_type; +#line 1391 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp54_ = criteria; +#line 1391 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_widget_get_type (), GtkWidget), (_tmp54_ & SEARCH_FILTER_CRITERIA_MEDIA) != 0); +#line 1392 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp55_ = self->priv->toolbtn_photos; +#line 1392 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp56_ = criteria; +#line 1392 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, gtk_widget_get_type (), GtkWidget), (_tmp56_ & SEARCH_FILTER_CRITERIA_MEDIA) != 0); +#line 1393 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp57_ = self->priv->toolbtn_videos; +#line 1393 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp58_ = criteria; +#line 1393 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, gtk_widget_get_type (), GtkWidget), (_tmp58_ & SEARCH_FILTER_CRITERIA_MEDIA) != 0); +#line 1394 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp59_ = self->priv->toolbtn_raw; +#line 1394 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp60_ = criteria; +#line 1394 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, gtk_widget_get_type (), GtkWidget), (_tmp60_ & SEARCH_FILTER_CRITERIA_MEDIA) != 0); +#line 1396 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp61_ = self->priv->saved_search_button; +#line 1396 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp62_ = criteria; +#line 1396 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_widget_get_type (), GtkWidget), (_tmp62_ & SEARCH_FILTER_CRITERIA_SAVEDSEARCH) != 0); +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp64_ = self->priv->label_type; +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp65_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_widget_get_type (), GtkWidget)); +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp66_ = _tmp65_; +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp66_) { +#line 6923 "SearchFilter.c" + SearchFilterToolbarToggleActionToolButton* _tmp67_ = NULL; + gboolean _tmp68_ = FALSE; + gboolean _tmp69_ = FALSE; +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp67_ = self->priv->toolbtn_flag; +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp68_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, gtk_widget_get_type (), GtkWidget)); +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp69_ = _tmp68_; +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp63_ = _tmp69_; +#line 6935 "SearchFilter.c" + } else { +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp63_ = FALSE; +#line 6939 "SearchFilter.c" + } +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp70_ = self->priv->sepr_mediatype_flagged; +#line 1400 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, gtk_widget_get_type (), GtkWidget), _tmp63_); +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp73_ = self->priv->label_type; +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp74_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, gtk_widget_get_type (), GtkWidget)); +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp75_ = _tmp74_; +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp75_) { +#line 6953 "SearchFilter.c" + SearchFilterToolbarRatingFilterButton* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; + gboolean _tmp78_ = FALSE; +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp76_ = self->priv->rating_button; +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp77_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_widget_get_type (), GtkWidget)); +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp78_ = _tmp77_; +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp72_ = _tmp78_; +#line 6965 "SearchFilter.c" + } else { +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp72_ = FALSE; +#line 6969 "SearchFilter.c" + } +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp72_) { +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp71_ = TRUE; +#line 6975 "SearchFilter.c" + } else { + gboolean _tmp79_ = FALSE; + SearchFilterToolbarToggleActionToolButton* _tmp80_ = NULL; + gboolean _tmp81_ = FALSE; + gboolean _tmp82_ = FALSE; +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp80_ = self->priv->toolbtn_flag; +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp81_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, gtk_widget_get_type (), GtkWidget)); +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp82_ = _tmp81_; +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp82_) { +#line 6989 "SearchFilter.c" + SearchFilterToolbarRatingFilterButton* _tmp83_ = NULL; + gboolean _tmp84_ = FALSE; + gboolean _tmp85_ = FALSE; +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp83_ = self->priv->rating_button; +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp84_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, gtk_widget_get_type (), GtkWidget)); +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp85_ = _tmp84_; +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp79_ = _tmp85_; +#line 7001 "SearchFilter.c" + } else { +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp79_ = FALSE; +#line 7005 "SearchFilter.c" + } +#line 1403 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp71_ = _tmp79_; +#line 7009 "SearchFilter.c" + } +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp86_ = self->priv->sepr_flagged_rating; +#line 1402 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp86_, gtk_widget_get_type (), GtkWidget), _tmp71_); +#line 1406 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp87_ = self->priv->search_filter; +#line 1406 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, TYPE_VIEW_FILTER, ViewFilter), "refresh"); +#line 7019 "SearchFilter.c" +} + + +static void search_filter_toolbar_position_filter_popup (SearchFilterToolbar* self, GtkMenu* menu, gint* x, gint* y, gboolean* push_in) { + gint _vala_x = 0; + gint _vala_y = 0; + gboolean _vala_push_in = FALSE; + GtkMenu* _tmp0_ = NULL; + gint rx = 0; + gint ry = 0; + SearchFilterToolbarRatingFilterButton* _tmp1_ = NULL; + GdkWindow* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GtkAllocation rating_button_allocation = {0}; + SearchFilterToolbarRatingFilterButton* _tmp5_ = NULL; + GtkAllocation _tmp6_ = {0}; + GtkAllocation menubar_allocation = {0}; + AppWindow* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; + Page* _tmp9_ = NULL; + Page* _tmp10_ = NULL; + GtkMenuBar* _tmp11_ = NULL; + GtkMenuBar* _tmp12_ = NULL; + GtkAllocation _tmp13_ = {0}; + gint sidebar_w = 0; + ConfigFacade* _tmp14_ = NULL; + ConfigFacade* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + GtkAllocation _tmp18_ = {0}; + gint _tmp19_ = 0; + GtkAllocation _tmp20_ = {0}; + gint _tmp21_ = 0; + GtkAllocation _tmp22_ = {0}; + gint _tmp23_ = 0; + GtkAllocation _tmp24_ = {0}; + gint _tmp25_ = 0; +#line 1409 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1409 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (GTK_IS_MENU (menu)); +#line 1410 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = menu; +#line 1410 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_realize (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1412 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->rating_button; +#line 1412 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 1412 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gdk_window_get_root_origin (_tmp2_, &_tmp3_, &_tmp4_); +#line 1412 "/home/jens/Source/shotwell/src/SearchFilter.vala" + rx = _tmp3_; +#line 1412 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ry = _tmp4_; +#line 1415 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->priv->rating_button; +#line 1415 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), &_tmp6_); +#line 1415 "/home/jens/Source/shotwell/src/SearchFilter.vala" + rating_button_allocation = _tmp6_; +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = app_window_get_instance (); +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = _tmp7_; +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE_WINDOW, PageWindow)); +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = _tmp9_; +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = page_get_menubar (_tmp10_); +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = _tmp11_; +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_get_allocation (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), &_tmp13_); +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + menubar_allocation = _tmp13_; +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp12_); +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp10_); +#line 1418 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp8_); +#line 1420 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = config_facade_get_instance (); +#line 1420 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = _tmp14_; +#line 1420 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = configuration_facade_get_sidebar_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1420 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = _tmp16_; +#line 1420 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp15_); +#line 1420 "/home/jens/Source/shotwell/src/SearchFilter.vala" + sidebar_w = _tmp17_; +#line 1422 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp18_ = rating_button_allocation; +#line 1422 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = _tmp18_.x; +#line 1422 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_x = (rx + _tmp19_) + sidebar_w; +#line 1423 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = rating_button_allocation; +#line 1423 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp21_ = _tmp20_.y; +#line 1423 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_ = rating_button_allocation; +#line 1423 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp23_ = _tmp22_.height; +#line 1423 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp24_ = menubar_allocation; +#line 1423 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25_ = _tmp24_.height; +#line 1423 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_y = ((ry + _tmp21_) + _tmp23_) + _tmp25_; +#line 1426 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_push_in = FALSE; +#line 1409 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (x) { +#line 1409 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *x = _vala_x; +#line 7142 "SearchFilter.c" + } +#line 1409 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (y) { +#line 1409 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *y = _vala_y; +#line 7148 "SearchFilter.c" + } +#line 1409 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (push_in) { +#line 1409 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *push_in = _vala_push_in; +#line 7154 "SearchFilter.c" + } +} + + +static void _search_filter_toolbar_position_filter_popup_gtk_menu_position_func (GtkMenu* menu, gint* x, gint* y, gboolean* push_in, gpointer self) { +#line 1430 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_position_filter_popup ((SearchFilterToolbar*) self, menu, x, y, push_in); +#line 1430 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_unref (self); +#line 7164 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_filter_button_clicked (SearchFilterToolbar* self) { + SearchFilterToolbarRatingFilterButton* _tmp0_ = NULL; + GtkMenu* _tmp1_ = NULL; + guint32 _tmp2_ = 0U; +#line 1429 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1430 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->rating_button; +#line 1430 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_->filter_popup; +#line 1430 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = gtk_get_current_event_time (); +#line 1430 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_menu_popup (_tmp1_, NULL, NULL, _search_filter_toolbar_position_filter_popup_gtk_menu_position_func, g_object_ref (self), (guint) 0, _tmp2_); +#line 7182 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_savedsearch_selected (SearchFilterToolbar* self, SavedSearch* saved_search) { + SavedSearch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; +#line 1434 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1434 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SAVED_SEARCH (saved_search)); +#line 1435 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = saved_search; +#line 1435 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1435 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->saved_search); +#line 1435 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->saved_search = _tmp1_; +#line 1436 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 7203 "SearchFilter.c" +} + + +static void search_filter_toolbar_disable_savedsearch (SearchFilterToolbar* self) { +#line 1439 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1440 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->saved_search); +#line 1440 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->saved_search = NULL; +#line 1441 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_update (self); +#line 7216 "SearchFilter.c" +} + + +static void search_filter_toolbar_edit_dialog (SearchFilterToolbar* self, SavedSearch* search) { + SearchFilterToolbarSavedSearchFilterButton* _tmp0_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp1_ = NULL; + SavedSearchDialog* ssd = NULL; + SavedSearch* _tmp2_ = NULL; + SavedSearchDialog* _tmp3_ = NULL; +#line 1444 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1444 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 1445 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->saved_search_button; +#line 1445 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_->filter_popup; +#line 1445 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_hide (_tmp1_); +#line 1446 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = search; +#line 1446 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = saved_search_dialog_new_edit_existing (_tmp2_); +#line 1446 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ssd = _tmp3_; +#line 1447 "/home/jens/Source/shotwell/src/SearchFilter.vala" + saved_search_dialog_show (ssd); +#line 1444 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _saved_search_dialog_unref0 (ssd); +#line 7246 "SearchFilter.c" +} + + +static void search_filter_toolbar_delete_dialog (SearchFilterToolbar* self, SavedSearch* search) { + SearchFilterToolbarSavedSearchFilterButton* _tmp0_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp1_ = NULL; + SavedSearch* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1450 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1450 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 1451 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->saved_search_button; +#line 1451 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_->filter_popup; +#line 1451 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_hide (_tmp1_); +#line 1452 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = search; +#line 1452 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = dialogs_confirm_delete_saved_search (_tmp2_); +#line 1452 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp3_) { +#line 7271 "SearchFilter.c" + CommandManager* _tmp4_ = NULL; + CommandManager* _tmp5_ = NULL; + SavedSearch* _tmp6_ = NULL; + DeleteSavedSearchCommand* _tmp7_ = NULL; + DeleteSavedSearchCommand* _tmp8_ = NULL; +#line 1453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = app_window_get_command_manager (); +#line 1453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = _tmp4_; +#line 1453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = search; +#line 1453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = delete_saved_search_command_new (_tmp6_); +#line 1453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = _tmp7_; +#line 1453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + command_manager_execute (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_COMMAND, Command)); +#line 1453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp8_); +#line 1453 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _command_manager_unref0 (_tmp5_); +#line 7293 "SearchFilter.c" + } +} + + +static void search_filter_toolbar_add_dialog (SearchFilterToolbar* self) { + SearchFilterToolbarSavedSearchFilterButton* _tmp0_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp1_ = NULL; + SavedSearchDialog* _tmp2_ = NULL; + SavedSearchDialog* _tmp3_ = NULL; +#line 1456 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1457 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->saved_search_button; +#line 1457 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_->filter_popup; +#line 1457 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_hide (_tmp1_); +#line 1458 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = saved_search_dialog_new (); +#line 1458 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = _tmp2_; +#line 1458 "/home/jens/Source/shotwell/src/SearchFilter.vala" + saved_search_dialog_show (_tmp3_); +#line 1458 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _saved_search_dialog_unref0 (_tmp3_); +#line 7319 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_popover_closed (SearchFilterToolbar* self) { + SearchFilterToolbarSavedSearchFilterButton* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp2_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp3_ = NULL; +#line 1461 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1463 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->elide_showing_again = TRUE; +#line 1464 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->saved_search_button; +#line 1464 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->saved_search; +#line 1464 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_filter_button_set_active (_tmp0_, _tmp1_ != NULL); +#line 1465 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = self->priv->saved_search_button; +#line 1465 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = _tmp2_->filter_popup; +#line 1465 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_hide (_tmp3_); +#line 7344 "SearchFilter.c" +} + + +static void _search_filter_toolbar_edit_dialog_search_filter_toolbar_saved_search_popover_edit_clicked (SearchFilterToolbarSavedSearchPopover* _sender, SavedSearch* search, gpointer self) { +#line 1476 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_edit_dialog ((SearchFilterToolbar*) self, search); +#line 7351 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_savedsearch_selected_search_filter_toolbar_saved_search_popover_search_activated (SearchFilterToolbarSavedSearchPopover* _sender, SavedSearch* search, gpointer self) { +#line 1477 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_savedsearch_selected ((SearchFilterToolbar*) self, search); +#line 7358 "SearchFilter.c" +} + + +static void _search_filter_toolbar_delete_dialog_search_filter_toolbar_saved_search_popover_delete_clicked (SearchFilterToolbarSavedSearchPopover* _sender, SavedSearch* search, gpointer self) { +#line 1478 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_delete_dialog ((SearchFilterToolbar*) self, search); +#line 7365 "SearchFilter.c" +} + + +static void _search_filter_toolbar_add_dialog_search_filter_toolbar_saved_search_popover_add_clicked (SearchFilterToolbarSavedSearchPopover* _sender, gpointer self) { +#line 1479 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_add_dialog ((SearchFilterToolbar*) self); +#line 7372 "SearchFilter.c" +} + + +static void _search_filter_toolbar_on_popover_closed_search_filter_toolbar_saved_search_popover_closed (SearchFilterToolbarSavedSearchPopover* _sender, gpointer self) { +#line 1480 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_on_popover_closed ((SearchFilterToolbar*) self); +#line 7379 "SearchFilter.c" +} + + +static void search_filter_toolbar_on_saved_search_button_clicked (SearchFilterToolbar* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 1468 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1469 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->elide_showing_again; +#line 1469 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp1_) { +#line 7392 "SearchFilter.c" + SavedSearch* _tmp2_ = NULL; +#line 1469 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = self->priv->saved_search; +#line 1469 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = _tmp2_ == NULL; +#line 7398 "SearchFilter.c" + } else { +#line 1469 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = FALSE; +#line 7402 "SearchFilter.c" + } +#line 1469 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp0_) { +#line 7406 "SearchFilter.c" + } else { + SavedSearch* _tmp3_ = NULL; +#line 1470 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->saved_search; +#line 1470 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp3_ != NULL) { +#line 7413 "SearchFilter.c" + SearchFilterToolbarSavedSearchFilterButton* _tmp4_ = NULL; +#line 1471 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->saved_search); +#line 1471 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->saved_search = NULL; +#line 1472 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->saved_search_button; +#line 1472 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_filter_button_set_active (_tmp4_, FALSE); +#line 1473 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_disable_savedsearch (self); +#line 7425 "SearchFilter.c" + } else { + SearchFilterToolbarSavedSearchFilterButton* _tmp5_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp6_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp22_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp23_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp24_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp25_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp26_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp27_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp28_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp29_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp30_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp31_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp32_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp33_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp34_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp35_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp36_ = NULL; +#line 1475 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->priv->saved_search_button; +#line 1475 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = _tmp5_->filter_popup; +#line 1475 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp6_ != NULL) { +#line 7450 "SearchFilter.c" + SearchFilterToolbarSavedSearchFilterButton* _tmp7_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp8_ = NULL; + guint _tmp9_ = 0U; + SearchFilterToolbarSavedSearchFilterButton* _tmp10_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp11_ = NULL; + guint _tmp12_ = 0U; + SearchFilterToolbarSavedSearchFilterButton* _tmp13_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp14_ = NULL; + guint _tmp15_ = 0U; + SearchFilterToolbarSavedSearchFilterButton* _tmp16_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp17_ = NULL; + guint _tmp18_ = 0U; + SearchFilterToolbarSavedSearchFilterButton* _tmp19_ = NULL; + SearchFilterToolbarSavedSearchPopover* _tmp20_ = NULL; + guint _tmp21_ = 0U; +#line 1476 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = self->priv->saved_search_button; +#line 1476 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = _tmp7_->filter_popup; +#line 1476 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("edit-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp9_, NULL, FALSE); +#line 1476 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_toolbar_edit_dialog_search_filter_toolbar_saved_search_popover_edit_clicked, self); +#line 1477 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->saved_search_button; +#line 1477 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = _tmp10_->filter_popup; +#line 1477 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("search-activated", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp12_, NULL, FALSE); +#line 1477 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _search_filter_toolbar_on_savedsearch_selected_search_filter_toolbar_saved_search_popover_search_activated, self); +#line 1478 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = self->priv->saved_search_button; +#line 1478 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = _tmp13_->filter_popup; +#line 1478 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("delete-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp15_, NULL, FALSE); +#line 1478 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp14_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 0, NULL, (GCallback) _search_filter_toolbar_delete_dialog_search_filter_toolbar_saved_search_popover_delete_clicked, self); +#line 1479 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = self->priv->saved_search_button; +#line 1479 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = _tmp16_->filter_popup; +#line 1479 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("add-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp18_, NULL, FALSE); +#line 1479 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp17_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _search_filter_toolbar_add_dialog_search_filter_toolbar_saved_search_popover_add_clicked, self); +#line 1480 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = self->priv->saved_search_button; +#line 1480 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = _tmp19_->filter_popup; +#line 1480 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("closed", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp21_, NULL, FALSE); +#line 1480 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp20_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp21_, 0, NULL, (GCallback) _search_filter_toolbar_on_popover_closed_search_filter_toolbar_saved_search_popover_closed, self); +#line 7506 "SearchFilter.c" + } +#line 1482 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_ = self->priv->saved_search_button; +#line 1482 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp23_ = self->priv->saved_search_button; +#line 1482 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp24_ = search_filter_toolbar_saved_search_popover_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget)); +#line 1482 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _search_filter_toolbar_saved_search_popover_unref0 (_tmp22_->filter_popup); +#line 1482 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_->filter_popup = _tmp24_; +#line 1483 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25_ = self->priv->saved_search_button; +#line 1483 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp26_ = _tmp25_->filter_popup; +#line 1483 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp26_, "edit-clicked", (GCallback) _search_filter_toolbar_edit_dialog_search_filter_toolbar_saved_search_popover_edit_clicked, self, 0); +#line 1484 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_ = self->priv->saved_search_button; +#line 1484 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp28_ = _tmp27_->filter_popup; +#line 1484 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp28_, "search-activated", (GCallback) _search_filter_toolbar_on_savedsearch_selected_search_filter_toolbar_saved_search_popover_search_activated, self, 0); +#line 1485 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp29_ = self->priv->saved_search_button; +#line 1485 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp30_ = _tmp29_->filter_popup; +#line 1485 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp30_, "delete-clicked", (GCallback) _search_filter_toolbar_delete_dialog_search_filter_toolbar_saved_search_popover_delete_clicked, self, 0); +#line 1486 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp31_ = self->priv->saved_search_button; +#line 1486 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_ = _tmp31_->filter_popup; +#line 1486 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp32_, "add-clicked", (GCallback) _search_filter_toolbar_add_dialog_search_filter_toolbar_saved_search_popover_add_clicked, self, 0); +#line 1487 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp33_ = self->priv->saved_search_button; +#line 1487 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp34_ = _tmp33_->filter_popup; +#line 1487 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp34_, "closed", (GCallback) _search_filter_toolbar_on_popover_closed_search_filter_toolbar_saved_search_popover_closed, self, 0); +#line 1489 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35_ = self->priv->saved_search_button; +#line 1489 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp36_ = _tmp35_->filter_popup; +#line 1489 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_show_all (_tmp36_); +#line 7554 "SearchFilter.c" + } + } +#line 1491 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->elide_showing_again = FALSE; +#line 7559 "SearchFilter.c" +} + + +void search_filter_toolbar_take_focus (SearchFilterToolbar* self) { + SearchFilterToolbarSearchBox* _tmp0_ = NULL; +#line 1494 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self)); +#line 1495 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->search_box; +#line 1495 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_get_focus (_tmp0_); +#line 7571 "SearchFilter.c" +} + + +static SearchFilterToolbarLabelToolItem* search_filter_toolbar_label_tool_item_construct (GType object_type, const gchar* s, gint left_padding, gint right_padding) { + SearchFilterToolbarLabelToolItem * self = NULL; + const gchar* _tmp0_ = NULL; + GtkLabel* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 678 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (s != NULL, NULL); +#line 678 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterToolbarLabelToolItem*) g_object_new (object_type, NULL); +#line 679 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = s; +#line 679 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = (GtkLabel*) gtk_label_new (_tmp0_); +#line 679 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp1_); +#line 679 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->label); +#line 679 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->label = _tmp1_; +#line 680 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = left_padding; +#line 680 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp3_ != 0) { +#line 680 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = TRUE; +#line 7601 "SearchFilter.c" + } else { + gint _tmp4_ = 0; +#line 680 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = right_padding; +#line 680 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp4_ != 0; +#line 7608 "SearchFilter.c" + } +#line 680 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp2_) { +#line 7612 "SearchFilter.c" + GtkAlignment* alignment = NULL; + GtkAlignment* _tmp5_ = NULL; + GtkAlignment* _tmp6_ = NULL; + GtkLabel* _tmp7_ = NULL; + GtkAlignment* _tmp8_ = NULL; + gint _tmp9_ = 0; + GtkAlignment* _tmp10_ = NULL; + gint _tmp11_ = 0; + GtkAlignment* _tmp12_ = NULL; +#line 681 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, 0.5f, (gfloat) 0, (gfloat) 0); +#line 681 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp5_); +#line 681 "/home/jens/Source/shotwell/src/SearchFilter.vala" + alignment = _tmp5_; +#line 682 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = alignment; +#line 682 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = self->priv->label; +#line 682 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 683 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = alignment; +#line 683 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = left_padding; +#line 683 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_set (_tmp8_, "left-padding", (guint) _tmp9_, NULL); +#line 684 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = alignment; +#line 684 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = right_padding; +#line 684 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_set (_tmp10_, "right-padding", (guint) _tmp11_, NULL); +#line 685 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = alignment; +#line 685 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); +#line 680 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (alignment); +#line 7652 "SearchFilter.c" + } else { + GtkLabel* _tmp13_ = NULL; +#line 687 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = self->priv->label; +#line 687 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget)); +#line 7659 "SearchFilter.c" + } +#line 678 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 7663 "SearchFilter.c" +} + + +static SearchFilterToolbarLabelToolItem* search_filter_toolbar_label_tool_item_new (const gchar* s, gint left_padding, gint right_padding) { +#line 678 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_toolbar_label_tool_item_construct (SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, s, left_padding, right_padding); +#line 7670 "SearchFilter.c" +} + + +static void search_filter_toolbar_label_tool_item_class_init (SearchFilterToolbarLabelToolItemClass * klass) { +#line 675 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_label_tool_item_parent_class = g_type_class_peek_parent (klass); +#line 675 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (SearchFilterToolbarLabelToolItemPrivate)); +#line 675 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_label_tool_item_finalize; +#line 7681 "SearchFilter.c" +} + + +static void search_filter_toolbar_label_tool_item_instance_init (SearchFilterToolbarLabelToolItem * self) { +#line 675 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_GET_PRIVATE (self); +#line 7688 "SearchFilter.c" +} + + +static void search_filter_toolbar_label_tool_item_finalize (GObject* obj) { + SearchFilterToolbarLabelToolItem * self; +#line 675 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItem); +#line 676 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->label); +#line 675 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (search_filter_toolbar_label_tool_item_parent_class)->finalize (obj); +#line 7700 "SearchFilter.c" +} + + +static GType search_filter_toolbar_label_tool_item_get_type (void) { + static volatile gsize search_filter_toolbar_label_tool_item_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_toolbar_label_tool_item_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarLabelToolItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_label_tool_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarLabelToolItem), 0, (GInstanceInitFunc) search_filter_toolbar_label_tool_item_instance_init, NULL }; + GType search_filter_toolbar_label_tool_item_type_id; + search_filter_toolbar_label_tool_item_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarLabelToolItem", &g_define_type_info, 0); + g_once_init_leave (&search_filter_toolbar_label_tool_item_type_id__volatile, search_filter_toolbar_label_tool_item_type_id); + } + return search_filter_toolbar_label_tool_item_type_id__volatile; +} + + +static void _search_filter_toolbar_toggle_action_tool_button_on_button_activate_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 710 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_on_button_activate ((SearchFilterToolbarToggleActionToolButton*) self); +#line 7719 "SearchFilter.c" +} + + +static SearchFilterToolbarToggleActionToolButton* search_filter_toolbar_toggle_action_tool_button_construct (GType object_type, GtkToggleAction* action) { + SearchFilterToolbarToggleActionToolButton * self = NULL; + GtkToggleAction* _tmp0_ = NULL; + GtkToggleAction* _tmp1_ = NULL; + GtkToggleButton* _tmp2_ = NULL; + GtkToggleButton* _tmp3_ = NULL; + GtkToggleButton* _tmp4_ = NULL; + GtkToggleAction* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + GtkToggleButton* _tmp8_ = NULL; + GtkToggleButton* _tmp9_ = NULL; + GtkToggleButton* _tmp10_ = NULL; + GtkToggleButton* _tmp11_ = NULL; + GtkToggleButton* _tmp12_ = NULL; +#line 696 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (GTK_IS_TOGGLE_ACTION (action), NULL); +#line 696 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterToolbarToggleActionToolButton*) g_object_new (object_type, NULL); +#line 697 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = action; +#line 697 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 697 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->action); +#line 697 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->action = _tmp1_; +#line 698 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = (GtkToggleButton*) gtk_toggle_button_new (); +#line 698 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp2_); +#line 698 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->button); +#line 698 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->button = _tmp2_; +#line 699 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->button; +#line 699 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 700 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->button; +#line 700 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = action; +#line 700 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = gtk_toggle_action_get_active (_tmp5_); +#line 700 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = _tmp6_; +#line 700 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toggle_button_set_active (_tmp4_, _tmp7_); +#line 701 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->priv->button; +#line 701 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _search_filter_toolbar_toggle_action_tool_button_on_button_activate_gtk_button_clicked, self, 0); +#line 702 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = self->priv->button; +#line 702 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_has_tooltip (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 703 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->button; +#line 703 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_relief (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_button_get_type (), GtkButton), GTK_RELIEF_NONE); +#line 704 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = self->priv->button; +#line 704 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_margin_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), 2); +#line 706 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = self->priv->button; +#line 706 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); +#line 696 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 7794 "SearchFilter.c" +} + + +static SearchFilterToolbarToggleActionToolButton* search_filter_toolbar_toggle_action_tool_button_new (GtkToggleAction* action) { +#line 696 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_toolbar_toggle_action_tool_button_construct (SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, action); +#line 7801 "SearchFilter.c" +} + + +static void search_filter_toolbar_toggle_action_tool_button_on_button_activate (SearchFilterToolbarToggleActionToolButton* self) { + GtkToggleAction* _tmp0_ = NULL; +#line 713 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON (self)); +#line 714 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->action; +#line 714 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_action_activate (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_action_get_type (), GtkAction)); +#line 7813 "SearchFilter.c" +} + + +static void search_filter_toolbar_toggle_action_tool_button_set_icon_name (SearchFilterToolbarToggleActionToolButton* self, const gchar* icon_name) { + GtkImage* image = NULL; + GtkToggleButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GtkImage* _tmp7_ = NULL; + GtkToggleButton* _tmp8_ = NULL; + GtkImage* _tmp9_ = NULL; +#line 717 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON (self)); +#line 717 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (icon_name != NULL); +#line 718 "/home/jens/Source/shotwell/src/SearchFilter.vala" + image = NULL; +#line 719 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->button; +#line 719 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_always_show_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), TRUE); +#line 720 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = icon_name; +#line 720 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = string_contains (_tmp1_, "disabled"); +#line 720 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp2_) { +#line 7841 "SearchFilter.c" + const gchar* _tmp3_ = NULL; + GtkImage* _tmp4_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = icon_name; +#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = (GtkImage*) gtk_image_new_from_stock (_tmp3_, GTK_ICON_SIZE_SMALL_TOOLBAR); +#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp4_); +#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (image); +#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala" + image = _tmp4_; +#line 7854 "SearchFilter.c" + } else { + const gchar* _tmp5_ = NULL; + GtkImage* _tmp6_ = NULL; +#line 723 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = icon_name; +#line 723 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = (GtkImage*) gtk_image_new_from_icon_name (_tmp5_, GTK_ICON_SIZE_SMALL_TOOLBAR); +#line 723 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp6_); +#line 723 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (image); +#line 723 "/home/jens/Source/shotwell/src/SearchFilter.vala" + image = _tmp6_; +#line 7868 "SearchFilter.c" + } +#line 724 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = image; +#line 724 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), 6); +#line 725 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->priv->button; +#line 725 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = image; +#line 725 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_button_get_type (), GtkButton), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 717 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (image); +#line 7882 "SearchFilter.c" +} + + +static void search_filter_toolbar_toggle_action_tool_button_set_label (SearchFilterToolbarToggleActionToolButton* self, const gchar* label) { + GtkToggleButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 728 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON (self)); +#line 728 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (label != NULL); +#line 729 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->button; +#line 729 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = label; +#line 729 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), _tmp1_); +#line 7899 "SearchFilter.c" +} + + +static void search_filter_toolbar_toggle_action_tool_button_class_init (SearchFilterToolbarToggleActionToolButtonClass * klass) { +#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_toggle_action_tool_button_parent_class = g_type_class_peek_parent (klass); +#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (SearchFilterToolbarToggleActionToolButtonPrivate)); +#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_toggle_action_tool_button_finalize; +#line 7910 "SearchFilter.c" +} + + +static void search_filter_toolbar_toggle_action_tool_button_instance_init (SearchFilterToolbarToggleActionToolButton * self) { +#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_GET_PRIVATE (self); +#line 7917 "SearchFilter.c" +} + + +static void search_filter_toolbar_toggle_action_tool_button_finalize (GObject* obj) { + SearchFilterToolbarToggleActionToolButton * self; + GtkToggleButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButton); +#line 710 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->button; +#line 710 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp1_, NULL, FALSE); +#line 710 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_toggle_action_tool_button_on_button_activate_gtk_button_clicked, self); +#line 693 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->button); +#line 694 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->action); +#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (search_filter_toolbar_toggle_action_tool_button_parent_class)->finalize (obj); +#line 7939 "SearchFilter.c" +} + + +static GType search_filter_toolbar_toggle_action_tool_button_get_type (void) { + static volatile gsize search_filter_toolbar_toggle_action_tool_button_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_toolbar_toggle_action_tool_button_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarToggleActionToolButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_toggle_action_tool_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarToggleActionToolButton), 0, (GInstanceInitFunc) search_filter_toolbar_toggle_action_tool_button_instance_init, NULL }; + GType search_filter_toolbar_toggle_action_tool_button_type_id; + search_filter_toolbar_toggle_action_tool_button_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarToggleActionToolButton", &g_define_type_info, 0); + g_once_init_leave (&search_filter_toolbar_toggle_action_tool_button_type_id__volatile, search_filter_toolbar_toggle_action_tool_button_type_id); + } + return search_filter_toolbar_toggle_action_tool_button_type_id__volatile; +} + + +static void _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed (TextAction* _sender, const gchar* text, gpointer self) { +#line 764 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_on_action_text_changed ((SearchFilterToolbarSearchBox*) self, text); +#line 7958 "SearchFilter.c" +} + + +static void _search_filter_toolbar_search_box_on_sensitivity_changed_text_action_sensitivity_changed (TextAction* _sender, gboolean sensitive, gpointer self) { +#line 765 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_on_sensitivity_changed ((SearchFilterToolbarSearchBox*) self, sensitive); +#line 7965 "SearchFilter.c" +} + + +static void _search_filter_toolbar_search_box_on_visibility_changed_text_action_visibility_changed (TextAction* _sender, gboolean visible, gpointer self) { +#line 766 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_on_visibility_changed ((SearchFilterToolbarSearchBox*) self, visible); +#line 7972 "SearchFilter.c" +} + + +static void _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text (GtkEntryBuffer* _sender, guint position, guint n_chars, gpointer self) { +#line 768 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_on_entry_changed ((SearchFilterToolbarSearchBox*) self); +#line 7979 "SearchFilter.c" +} + + +static void _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text (GtkEntryBuffer* _sender, guint position, const gchar* chars, guint n_chars, gpointer self) { +#line 769 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_on_entry_changed ((SearchFilterToolbarSearchBox*) self); +#line 7986 "SearchFilter.c" +} + + +static gpointer _text_action_ref0 (gpointer self) { +#line 746 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self ? text_action_ref (self) : NULL; +#line 7993 "SearchFilter.c" +} + + +static gboolean _search_filter_toolbar_search_box_on_escape_key_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) { + gboolean result; + result = search_filter_toolbar_search_box_on_escape_key ((SearchFilterToolbarSearchBox*) self, event); +#line 750 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8002 "SearchFilter.c" +} + + +SearchFilterToolbarSearchBox* search_filter_toolbar_search_box_construct (GType object_type, TextAction* action) { + SearchFilterToolbarSearchBox * self = NULL; + TextAction* _tmp0_ = NULL; + TextAction* _tmp1_ = NULL; + GtkSearchEntry* _tmp2_ = NULL; + GtkSearchEntry* _tmp3_ = NULL; + GtkSearchEntry* _tmp4_ = NULL; + GtkSearchEntry* _tmp5_ = NULL; + TextAction* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + TextAction* _tmp9_ = NULL; + TextAction* _tmp10_ = NULL; + TextAction* _tmp11_ = NULL; + GtkSearchEntry* _tmp12_ = NULL; + GtkEntryBuffer* _tmp13_ = NULL; + GtkEntryBuffer* _tmp14_ = NULL; + GtkSearchEntry* _tmp15_ = NULL; + GtkEntryBuffer* _tmp16_ = NULL; + GtkEntryBuffer* _tmp17_ = NULL; +#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_TEXT_ACTION (action), NULL); +#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterToolbarSearchBox*) g_object_new (object_type, NULL); +#line 746 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = action; +#line 746 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _text_action_ref0 (_tmp0_); +#line 746 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _text_action_unref0 (self->priv->action); +#line 746 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->action = _tmp1_; +#line 747 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = (GtkSearchEntry*) gtk_search_entry_new (); +#line 747 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp2_); +#line 747 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->search_entry); +#line 747 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_entry = _tmp2_; +#line 749 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->search_entry; +#line 749 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_entry_set_width_chars (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_entry_get_type (), GtkEntry), 23); +#line 750 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->search_entry; +#line 750 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), "key-press-event", (GCallback) _search_filter_toolbar_search_box_on_escape_key_gtk_widget_key_press_event, self, 0); +#line 751 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->priv->search_entry; +#line 751 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 753 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = action; +#line 753 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = text_action_get_value (_tmp6_); +#line 753 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = _tmp7_; +#line 753 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_set_nullable_text (self, _tmp8_); +#line 755 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = action; +#line 755 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp9_, "text-changed", (GCallback) _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed, self, 0); +#line 756 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = action; +#line 756 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp10_, "sensitivity-changed", (GCallback) _search_filter_toolbar_search_box_on_sensitivity_changed_text_action_sensitivity_changed, self, 0); +#line 757 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = action; +#line 757 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp11_, "visibility-changed", (GCallback) _search_filter_toolbar_search_box_on_visibility_changed_text_action_visibility_changed, self, 0); +#line 759 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = self->priv->search_entry; +#line 759 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_entry_get_type (), GtkEntry)); +#line 759 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = _tmp13_; +#line 759 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp14_, "deleted-text", (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text, self, 0); +#line 760 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = self->priv->search_entry; +#line 760 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_entry_get_type (), GtkEntry)); +#line 760 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = _tmp16_; +#line 760 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp17_, "inserted-text", (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text, self, 0); +#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 8096 "SearchFilter.c" +} + + +SearchFilterToolbarSearchBox* search_filter_toolbar_search_box_new (TextAction* action) { +#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_toolbar_search_box_construct (SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, action); +#line 8103 "SearchFilter.c" +} + + +void search_filter_toolbar_search_box_get_focus (SearchFilterToolbarSearchBox* self) { + GtkSearchEntry* _tmp0_ = NULL; +#line 772 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self)); +#line 773 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->search_entry; +#line 773 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), "has-focus", TRUE, NULL); +#line 8115 "SearchFilter.c" +} + + +static gboolean search_filter_toolbar_search_box_on_escape_key (SearchFilterToolbarSearchBox* self, GdkEventKey* e) { + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; +#line 778 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self), FALSE); +#line 778 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (e != NULL, FALSE); +#line 779 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = e; +#line 779 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _tmp0_->keyval; +#line 779 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 779 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (g_strcmp0 (_tmp2_, "Escape") == 0) { +#line 8136 "SearchFilter.c" + TextAction* _tmp3_ = NULL; +#line 780 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->action; +#line 780 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_clear (_tmp3_); +#line 8142 "SearchFilter.c" + } +#line 784 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 784 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8148 "SearchFilter.c" +} + + +static void search_filter_toolbar_search_box_on_action_text_changed (SearchFilterToolbarSearchBox* self, const gchar* text) { + GtkSearchEntry* _tmp0_ = NULL; + GtkEntryBuffer* _tmp1_ = NULL; + GtkEntryBuffer* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GtkSearchEntry* _tmp4_ = NULL; + GtkEntryBuffer* _tmp5_ = NULL; + GtkEntryBuffer* _tmp6_ = NULL; + guint _tmp7_ = 0U; + const gchar* _tmp8_ = NULL; + GtkSearchEntry* _tmp9_ = NULL; + GtkEntryBuffer* _tmp10_ = NULL; + GtkEntryBuffer* _tmp11_ = NULL; + GtkSearchEntry* _tmp12_ = NULL; + GtkEntryBuffer* _tmp13_ = NULL; + GtkEntryBuffer* _tmp14_ = NULL; +#line 787 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self)); +#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->search_entry; +#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_entry_get_type (), GtkEntry)); +#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp1_; +#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("deleted-text", gtk_entry_buffer_get_type (), &_tmp3_, NULL, FALSE); +#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text, self); +#line 789 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->search_entry; +#line 789 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_entry_get_type (), GtkEntry)); +#line 789 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = _tmp5_; +#line 789 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("inserted-text", gtk_entry_buffer_get_type (), &_tmp7_, NULL, FALSE); +#line 789 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text, self); +#line 790 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = text; +#line 790 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_set_nullable_text (self, _tmp8_); +#line 791 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = self->priv->search_entry; +#line 791 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_entry_get_type (), GtkEntry)); +#line 791 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = _tmp10_; +#line 791 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp11_, "deleted-text", (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text, self, 0); +#line 792 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = self->priv->search_entry; +#line 792 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_entry_get_type (), GtkEntry)); +#line 792 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = _tmp13_; +#line 792 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp14_, "inserted-text", (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text, self, 0); +#line 8210 "SearchFilter.c" +} + + +static void search_filter_toolbar_search_box_on_entry_changed (SearchFilterToolbarSearchBox* self) { + TextAction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + TextAction* _tmp2_ = NULL; + GtkSearchEntry* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + TextAction* _tmp5_ = NULL; +#line 795 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self)); +#line 796 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->action; +#line 796 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("text-changed", TYPE_TEXT_ACTION, &_tmp1_, NULL, FALSE); +#line 796 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed, self); +#line 797 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = self->priv->action; +#line 797 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->search_entry; +#line 797 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = gtk_entry_get_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_entry_get_type (), GtkEntry)); +#line 797 "/home/jens/Source/shotwell/src/SearchFilter.vala" + text_action_set_text (_tmp2_, _tmp4_); +#line 798 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->priv->action; +#line 798 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp5_, "text-changed", (GCallback) _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed, self, 0); +#line 8241 "SearchFilter.c" +} + + +static void search_filter_toolbar_search_box_on_sensitivity_changed (SearchFilterToolbarSearchBox* self, gboolean sensitive) { + gboolean _tmp0_ = FALSE; +#line 801 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self)); +#line 802 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = sensitive; +#line 802 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 8253 "SearchFilter.c" +} + + +static void search_filter_toolbar_search_box_on_visibility_changed (SearchFilterToolbarSearchBox* self, gboolean visible) { + gboolean _tmp0_ = FALSE; +#line 805 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self)); +#line 806 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = visible; +#line 806 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 8265 "SearchFilter.c" +} + + +static void search_filter_toolbar_search_box_set_nullable_text (SearchFilterToolbarSearchBox* self, const gchar* text) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkSearchEntry* _tmp3_ = NULL; +#line 809 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self)); +#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = text; +#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp1_ != NULL) { +#line 8279 "SearchFilter.c" + const gchar* _tmp2_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = text; +#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = _tmp2_; +#line 8285 "SearchFilter.c" + } else { +#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = ""; +#line 8289 "SearchFilter.c" + } +#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->search_entry; +#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_entry_set_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_entry_get_type (), GtkEntry), _tmp0_); +#line 8295 "SearchFilter.c" +} + + +static void search_filter_toolbar_search_box_class_init (SearchFilterToolbarSearchBoxClass * klass) { +#line 741 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_search_box_parent_class = g_type_class_peek_parent (klass); +#line 741 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (SearchFilterToolbarSearchBoxPrivate)); +#line 741 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_search_box_finalize; +#line 8306 "SearchFilter.c" +} + + +static void search_filter_toolbar_search_box_instance_init (SearchFilterToolbarSearchBox * self) { +#line 741 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = SEARCH_FILTER_TOOLBAR_SEARCH_BOX_GET_PRIVATE (self); +#line 8313 "SearchFilter.c" +} + + +static void search_filter_toolbar_search_box_finalize (GObject* obj) { + SearchFilterToolbarSearchBox * self; + TextAction* _tmp0_ = NULL; + guint _tmp1_ = 0U; + TextAction* _tmp2_ = NULL; + guint _tmp3_ = 0U; + TextAction* _tmp4_ = NULL; + guint _tmp5_ = 0U; + GtkSearchEntry* _tmp6_ = NULL; + GtkEntryBuffer* _tmp7_ = NULL; + GtkEntryBuffer* _tmp8_ = NULL; + guint _tmp9_ = 0U; + GtkSearchEntry* _tmp10_ = NULL; + GtkEntryBuffer* _tmp11_ = NULL; + GtkEntryBuffer* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 741 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBox); +#line 764 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->action; +#line 764 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("text-changed", TYPE_TEXT_ACTION, &_tmp1_, NULL, FALSE); +#line 764 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed, self); +#line 765 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = self->priv->action; +#line 765 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("sensitivity-changed", TYPE_TEXT_ACTION, &_tmp3_, NULL, FALSE); +#line 765 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_sensitivity_changed_text_action_sensitivity_changed, self); +#line 766 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->action; +#line 766 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("visibility-changed", TYPE_TEXT_ACTION, &_tmp5_, NULL, FALSE); +#line 766 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_visibility_changed_text_action_visibility_changed, self); +#line 768 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = self->priv->search_entry; +#line 768 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_entry_get_type (), GtkEntry)); +#line 768 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = _tmp7_; +#line 768 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("deleted-text", gtk_entry_buffer_get_type (), &_tmp9_, NULL, FALSE); +#line 768 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text, self); +#line 769 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->search_entry; +#line 769 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_entry_get_type (), GtkEntry)); +#line 769 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = _tmp11_; +#line 769 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("inserted-text", gtk_entry_buffer_get_type (), &_tmp13_, NULL, FALSE); +#line 769 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text, self); +#line 742 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->search_entry); +#line 743 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _text_action_unref0 (self->priv->action); +#line 741 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (search_filter_toolbar_search_box_parent_class)->finalize (obj); +#line 8379 "SearchFilter.c" +} + + +GType search_filter_toolbar_search_box_get_type (void) { + static volatile gsize search_filter_toolbar_search_box_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_toolbar_search_box_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarSearchBoxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_search_box_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarSearchBox), 0, (GInstanceInitFunc) search_filter_toolbar_search_box_instance_init, NULL }; + GType search_filter_toolbar_search_box_type_id; + search_filter_toolbar_search_box_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarSearchBox", &g_define_type_info, 0); + g_once_init_leave (&search_filter_toolbar_search_box_type_id__volatile, search_filter_toolbar_search_box_type_id); + } + return search_filter_toolbar_search_box_type_id__volatile; +} + + +static void _search_filter_toolbar_rating_filter_button_on_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 836 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_rating_filter_button_on_clicked ((SearchFilterToolbarRatingFilterButton*) self); +#line 8398 "SearchFilter.c" +} + + +SearchFilterToolbarRatingFilterButton* search_filter_toolbar_rating_filter_button_construct (GType object_type) { + SearchFilterToolbarRatingFilterButton * self = NULL; + GtkButton* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + GtkWidget* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; + GtkButton* _tmp5_ = NULL; + GtkButton* _tmp6_ = NULL; + GtkButton* _tmp7_ = NULL; + GtkButton* _tmp8_ = NULL; +#line 821 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterToolbarRatingFilterButton*) g_object_new (object_type, NULL); +#line 822 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = (GtkButton*) gtk_button_new (); +#line 822 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp0_); +#line 822 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->button); +#line 822 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->button = _tmp0_; +#line 823 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->button; +#line 823 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = search_filter_toolbar_rating_filter_button_get_filter_icon (self, RATING_FILTER_UNRATED_OR_HIGHER); +#line 823 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = _tmp2_; +#line 823 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_image (_tmp1_, _tmp3_); +#line 823 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp3_); +#line 824 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->button; +#line 824 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 825 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->button; +#line 825 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_relief (_tmp5_, GTK_RELIEF_NONE); +#line 826 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = self->button; +#line 826 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_margin_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), 2); +#line 828 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = self->button; +#line 828 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp7_, "clicked", (GCallback) _search_filter_toolbar_rating_filter_button_on_clicked_gtk_button_clicked, self, 0); +#line 830 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_homogeneous (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tool_item_get_type (), GtkToolItem), FALSE); +#line 832 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->button; +#line 832 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget)); +#line 821 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 8457 "SearchFilter.c" +} + + +SearchFilterToolbarRatingFilterButton* search_filter_toolbar_rating_filter_button_new (void) { +#line 821 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_toolbar_rating_filter_button_construct (SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON); +#line 8464 "SearchFilter.c" +} + + +static void search_filter_toolbar_rating_filter_button_on_clicked (SearchFilterToolbarRatingFilterButton* self) { +#line 839 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self)); +#line 840 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "clicked"); +#line 8473 "SearchFilter.c" +} + + +static GtkWidget* search_filter_toolbar_rating_filter_button_get_filter_icon (SearchFilterToolbarRatingFilterButton* self, RatingFilter filter) { + GtkWidget* result = NULL; + gchar* filename = NULL; + RatingFilter _tmp0_ = 0; + GtkImage* image = NULL; + const gchar* _tmp9_ = NULL; + RatingFilter _tmp10_ = 0; + gint _tmp11_ = 0; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + GtkImage* _tmp14_ = NULL; + GtkImage* _tmp15_ = NULL; +#line 843 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self), NULL); +#line 844 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = NULL; +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = filter; +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + switch (_tmp0_) { +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_ONE_OR_HIGHER: +#line 8499 "SearchFilter.c" + { + gchar* _tmp1_ = NULL; +#line 848 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = g_strdup (RESOURCES_ICON_FILTER_ONE_OR_BETTER); +#line 848 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 848 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = _tmp1_; +#line 849 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 8510 "SearchFilter.c" + } +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_TWO_OR_HIGHER: +#line 8514 "SearchFilter.c" + { + gchar* _tmp2_ = NULL; +#line 852 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = g_strdup (RESOURCES_ICON_FILTER_TWO_OR_BETTER); +#line 852 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 852 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = _tmp2_; +#line 853 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 8525 "SearchFilter.c" + } +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_THREE_OR_HIGHER: +#line 8529 "SearchFilter.c" + { + gchar* _tmp3_ = NULL; +#line 856 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = g_strdup (RESOURCES_ICON_FILTER_THREE_OR_BETTER); +#line 856 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 856 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = _tmp3_; +#line 857 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 8540 "SearchFilter.c" + } +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FOUR_OR_HIGHER: +#line 8544 "SearchFilter.c" + { + gchar* _tmp4_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = g_strdup (RESOURCES_ICON_FILTER_FOUR_OR_BETTER); +#line 860 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 860 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = _tmp4_; +#line 861 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 8555 "SearchFilter.c" + } +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FIVE_OR_HIGHER: +#line 8559 "SearchFilter.c" + { + gchar* _tmp5_ = NULL; +#line 864 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = g_strdup (RESOURCES_ICON_FILTER_FIVE); +#line 864 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 864 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = _tmp5_; +#line 865 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 8570 "SearchFilter.c" + } +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_REJECTED_OR_HIGHER: +#line 8574 "SearchFilter.c" + { + gchar* _tmp6_ = NULL; +#line 868 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = g_strdup (RESOURCES_ICON_FILTER_REJECTED_OR_BETTER); +#line 868 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 868 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = _tmp6_; +#line 869 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 8585 "SearchFilter.c" + } +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_REJECTED_ONLY: +#line 8589 "SearchFilter.c" + { + gchar* _tmp7_ = NULL; +#line 872 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = g_strdup (RESOURCES_ICON_RATING_REJECTED); +#line 872 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 872 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = _tmp7_; +#line 873 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 8600 "SearchFilter.c" + } + default: +#line 846 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_UNRATED_OR_HIGHER: +#line 8605 "SearchFilter.c" + { + gchar* _tmp8_ = NULL; +#line 877 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = g_strdup (RESOURCES_ICON_FILTER_UNRATED_OR_BETTER); +#line 877 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 877 "/home/jens/Source/shotwell/src/SearchFilter.vala" + filename = _tmp8_; +#line 878 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 8616 "SearchFilter.c" + } + } +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = filename; +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = filter; +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = search_filter_toolbar_rating_filter_button_get_filter_icon_size (self, _tmp10_); +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = resources_load_icon (_tmp9_, _tmp11_); +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = _tmp12_; +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp13_); +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp14_); +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = _tmp14_; +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp13_); +#line 881 "/home/jens/Source/shotwell/src/SearchFilter.vala" + image = _tmp15_; +#line 883 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (image, gtk_widget_get_type (), GtkWidget), 6); +#line 885 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (image, gtk_widget_get_type (), GtkWidget); +#line 885 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (filename); +#line 885 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8647 "SearchFilter.c" +} + + +static gint search_filter_toolbar_rating_filter_button_get_filter_icon_size (SearchFilterToolbarRatingFilterButton* self, RatingFilter filter) { + gint result = 0; + gint icon_base = 0; + gint icon_star_base = 0; + gint icon_plus = 0; + RatingFilter _tmp0_ = 0; +#line 888 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self), 0); +#line 889 "/home/jens/Source/shotwell/src/SearchFilter.vala" + icon_base = (gint) (SEARCH_FILTER_TOOLBAR_FILTER_ICON_BASE_WIDTH * SEARCH_FILTER_TOOLBAR_FILTER_ICON_SCALE); +#line 890 "/home/jens/Source/shotwell/src/SearchFilter.vala" + icon_star_base = (gint) (SEARCH_FILTER_TOOLBAR_FILTER_ICON_BASE_WIDTH * SEARCH_FILTER_TOOLBAR_FILTER_ICON_STAR_SCALE); +#line 891 "/home/jens/Source/shotwell/src/SearchFilter.vala" + icon_plus = (gint) (SEARCH_FILTER_TOOLBAR_FILTER_ICON_PLUS_WIDTH * SEARCH_FILTER_TOOLBAR_FILTER_ICON_STAR_SCALE); +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = filter; +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + switch (_tmp0_) { +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_ONE_OR_HIGHER: +#line 8671 "SearchFilter.c" + { + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 895 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = icon_star_base; +#line 895 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = icon_plus; +#line 895 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp1_ + _tmp2_; +#line 895 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8683 "SearchFilter.c" + } +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_TWO_OR_HIGHER: +#line 8687 "SearchFilter.c" + { + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 897 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = icon_star_base; +#line 897 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = icon_plus; +#line 897 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = (_tmp3_ * 2) + _tmp4_; +#line 897 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8699 "SearchFilter.c" + } +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_THREE_OR_HIGHER: +#line 8703 "SearchFilter.c" + { + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 899 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = icon_star_base; +#line 899 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = icon_plus; +#line 899 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = (_tmp5_ * 3) + _tmp6_; +#line 899 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8715 "SearchFilter.c" + } +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FOUR_OR_HIGHER: +#line 8719 "SearchFilter.c" + { + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 901 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = icon_star_base; +#line 901 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = icon_plus; +#line 901 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = (_tmp7_ * 4) + _tmp8_; +#line 901 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8731 "SearchFilter.c" + } +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FIVE_OR_HIGHER: +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_FIVE_ONLY: +#line 8737 "SearchFilter.c" + { + gint _tmp9_ = 0; +#line 904 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = icon_star_base; +#line 904 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp9_ * 5; +#line 904 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8746 "SearchFilter.c" + } +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_REJECTED_OR_HIGHER: +#line 8750 "SearchFilter.c" + { +#line 906 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = RESOURCES_ICON_FILTER_REJECTED_OR_BETTER_FIXED_SIZE; +#line 906 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8756 "SearchFilter.c" + } +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_UNRATED_OR_HIGHER: +#line 8760 "SearchFilter.c" + { +#line 908 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = RESOURCES_ICON_FILTER_UNRATED_OR_BETTER_FIXED_SIZE; +#line 908 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8766 "SearchFilter.c" + } +#line 893 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case RATING_FILTER_REJECTED_ONLY: +#line 8770 "SearchFilter.c" + { +#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = icon_plus; +#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8776 "SearchFilter.c" + } + default: + { +#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = icon_base; +#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8784 "SearchFilter.c" + } + } +} + + +void search_filter_toolbar_rating_filter_button_set_filter_icon (SearchFilterToolbarRatingFilterButton* self, RatingFilter filter) { + GtkButton* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + RatingFilter _tmp2_ = 0; + GtkWidget* _tmp3_ = NULL; + GtkWidget* _tmp4_ = NULL; + RatingFilter _tmp5_ = 0; + gint _tmp6_ = 0; + RatingFilter _tmp7_ = 0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 916 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self)); +#line 917 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->button; +#line 917 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_always_show_image (_tmp0_, TRUE); +#line 918 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->button; +#line 918 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = filter; +#line 918 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = search_filter_toolbar_rating_filter_button_get_filter_icon (self, _tmp2_); +#line 918 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = _tmp3_; +#line 918 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_image (_tmp1_, _tmp4_); +#line 918 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp4_); +#line 919 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = filter; +#line 919 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = search_filter_toolbar_rating_filter_button_get_filter_button_size (self, _tmp5_); +#line 919 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp6_, -1); +#line 920 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = filter; +#line 920 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = resources_get_rating_filter_tooltip (_tmp7_); +#line 920 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = _tmp8_; +#line 920 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tool_item_get_type (), GtkToolItem), _tmp9_); +#line 920 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (_tmp9_); +#line 921 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_has_tooltip (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), TRUE); +#line 922 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 8839 "SearchFilter.c" +} + + +static gint search_filter_toolbar_rating_filter_button_get_filter_button_size (SearchFilterToolbarRatingFilterButton* self, RatingFilter filter) { + gint result = 0; + RatingFilter _tmp0_ = 0; + gint _tmp1_ = 0; +#line 925 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self), 0); +#line 926 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = filter; +#line 926 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = search_filter_toolbar_rating_filter_button_get_filter_icon_size (self, _tmp0_); +#line 926 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp1_ + (2 * SEARCH_FILTER_TOOLBAR_FILTER_BUTTON_MARGIN); +#line 926 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 8857 "SearchFilter.c" +} + + +void search_filter_toolbar_rating_filter_button_set_label (SearchFilterToolbarRatingFilterButton* self, const gchar* label) { + GtkButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 929 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self)); +#line 929 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (label != NULL); +#line 930 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->button; +#line 930 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = label; +#line 930 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_label (_tmp0_, _tmp1_); +#line 8874 "SearchFilter.c" +} + + +static void search_filter_toolbar_rating_filter_button_class_init (SearchFilterToolbarRatingFilterButtonClass * klass) { +#line 815 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_rating_filter_button_parent_class = g_type_class_peek_parent (klass); +#line 815 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_rating_filter_button_finalize; +#line 815 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("clicked", SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 8885 "SearchFilter.c" +} + + +static void search_filter_toolbar_rating_filter_button_instance_init (SearchFilterToolbarRatingFilterButton * self) { +#line 816 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->filter_popup = NULL; +#line 8892 "SearchFilter.c" +} + + +static void search_filter_toolbar_rating_filter_button_finalize (GObject* obj) { + SearchFilterToolbarRatingFilterButton * self; + GtkButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 815 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, SearchFilterToolbarRatingFilterButton); +#line 836 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->button; +#line 836 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp1_, NULL, FALSE); +#line 836 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_rating_filter_button_on_clicked_gtk_button_clicked, self); +#line 816 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->filter_popup); +#line 817 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->button); +#line 815 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (search_filter_toolbar_rating_filter_button_parent_class)->finalize (obj); +#line 8914 "SearchFilter.c" +} + + +GType search_filter_toolbar_rating_filter_button_get_type (void) { + static volatile gsize search_filter_toolbar_rating_filter_button_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_toolbar_rating_filter_button_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarRatingFilterButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_rating_filter_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarRatingFilterButton), 0, (GInstanceInitFunc) search_filter_toolbar_rating_filter_button_instance_init, NULL }; + GType search_filter_toolbar_rating_filter_button_type_id; + search_filter_toolbar_rating_filter_button_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarRatingFilterButton", &g_define_type_info, 0); + g_once_init_leave (&search_filter_toolbar_rating_filter_button_type_id__volatile, search_filter_toolbar_rating_filter_button_type_id); + } + return search_filter_toolbar_rating_filter_button_type_id__volatile; +} + + +static void _search_filter_toolbar_saved_search_filter_button_on_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 960 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_filter_button_on_clicked ((SearchFilterToolbarSavedSearchFilterButton*) self); +#line 8933 "SearchFilter.c" +} + + +SearchFilterToolbarSavedSearchFilterButton* search_filter_toolbar_saved_search_filter_button_construct (GType object_type) { + SearchFilterToolbarSavedSearchFilterButton * self = NULL; + GtkToggleButton* _tmp0_ = NULL; + GtkToggleButton* _tmp1_ = NULL; + GtkImage* image = NULL; + GtkImage* _tmp2_ = NULL; + GtkToggleButton* _tmp3_ = NULL; + GtkToggleButton* _tmp4_ = NULL; + GtkToggleButton* _tmp5_ = NULL; + GtkToggleButton* _tmp6_ = NULL; +#line 941 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterToolbarSavedSearchFilterButton*) g_object_new (object_type, NULL); +#line 942 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = (GtkToggleButton*) gtk_toggle_button_new (); +#line 942 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp0_); +#line 942 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->button); +#line 942 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->button = _tmp0_; +#line 943 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->button; +#line 943 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_always_show_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_button_get_type (), GtkButton), TRUE); +#line 945 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = (GtkImage*) gtk_image_new_from_icon_name ("find", GTK_ICON_SIZE_SMALL_TOOLBAR); +#line 945 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp2_); +#line 945 "/home/jens/Source/shotwell/src/SearchFilter.vala" + image = _tmp2_; +#line 946 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (image, gtk_widget_get_type (), GtkWidget), 6); +#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->button; +#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_button_get_type (), GtkButton), G_TYPE_CHECK_INSTANCE_CAST (image, gtk_widget_get_type (), GtkWidget)); +#line 948 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->button; +#line 948 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->button; +#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _search_filter_toolbar_saved_search_filter_button_on_clicked_gtk_button_clicked, self, 0); +#line 952 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_filter_button_restyle (self); +#line 954 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_tool_item_set_homogeneous (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tool_item_get_type (), GtkToolItem), FALSE); +#line 956 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = self->button; +#line 956 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); +#line 941 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (image); +#line 941 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 8993 "SearchFilter.c" +} + + +SearchFilterToolbarSavedSearchFilterButton* search_filter_toolbar_saved_search_filter_button_new (void) { +#line 941 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_toolbar_saved_search_filter_button_construct (SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON); +#line 9000 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_filter_button_on_clicked (SearchFilterToolbarSavedSearchFilterButton* self) { +#line 963 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON (self)); +#line 964 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "clicked"); +#line 9009 "SearchFilter.c" +} + + +void search_filter_toolbar_saved_search_filter_button_set_active (SearchFilterToolbarSavedSearchFilterButton* self, gboolean active) { + GtkToggleButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 967 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON (self)); +#line 968 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->button; +#line 968 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = active; +#line 968 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_toggle_button_set_active (_tmp0_, _tmp1_); +#line 9024 "SearchFilter.c" +} + + +void search_filter_toolbar_saved_search_filter_button_set_label (SearchFilterToolbarSavedSearchFilterButton* self, const gchar* label) { + GtkToggleButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON (self)); +#line 971 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (label != NULL); +#line 972 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->button; +#line 972 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = label; +#line 972 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), _tmp1_); +#line 9041 "SearchFilter.c" +} + + +void search_filter_toolbar_saved_search_filter_button_restyle (SearchFilterToolbarSavedSearchFilterButton* self) { + GtkToggleButton* _tmp0_ = NULL; + GtkToggleButton* _tmp1_ = NULL; +#line 975 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON (self)); +#line 976 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->button; +#line 976 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), 24, 24); +#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->button; +#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_relief (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_button_get_type (), GtkButton), GTK_RELIEF_NONE); +#line 9058 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_filter_button_class_init (SearchFilterToolbarSavedSearchFilterButtonClass * klass) { +#line 935 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_filter_button_parent_class = g_type_class_peek_parent (klass); +#line 935 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_saved_search_filter_button_finalize; +#line 935 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 9069 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_filter_button_instance_init (SearchFilterToolbarSavedSearchFilterButton * self) { +#line 936 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->filter_popup = NULL; +#line 9076 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_filter_button_finalize (GObject* obj) { + SearchFilterToolbarSavedSearchFilterButton * self; + GtkToggleButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 935 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, SearchFilterToolbarSavedSearchFilterButton); +#line 960 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->button; +#line 960 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp1_, NULL, FALSE); +#line 960 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_filter_button_on_clicked_gtk_button_clicked, self); +#line 936 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _search_filter_toolbar_saved_search_popover_unref0 (self->filter_popup); +#line 937 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->button); +#line 935 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (search_filter_toolbar_saved_search_filter_button_parent_class)->finalize (obj); +#line 9098 "SearchFilter.c" +} + + +GType search_filter_toolbar_saved_search_filter_button_get_type (void) { + static volatile gsize search_filter_toolbar_saved_search_filter_button_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_toolbar_saved_search_filter_button_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarSavedSearchFilterButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_saved_search_filter_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarSavedSearchFilterButton), 0, (GInstanceInitFunc) search_filter_toolbar_saved_search_filter_button_instance_init, NULL }; + GType search_filter_toolbar_saved_search_filter_button_type_id; + search_filter_toolbar_saved_search_filter_button_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarSavedSearchFilterButton", &g_define_type_info, 0); + g_once_init_leave (&search_filter_toolbar_saved_search_filter_button_type_id__volatile, search_filter_toolbar_saved_search_filter_button_type_id); + } + return search_filter_toolbar_saved_search_filter_button_type_id__volatile; +} + + +static void _search_filter_toolbar_saved_search_popover_on_edit_click_search_filter_toolbar_saved_search_popover_data_button_clicked (SearchFilterToolbarSavedSearchPopoverDataButton* _sender, SavedSearch* search, gpointer self) { +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_on_edit_click ((SearchFilterToolbarSavedSearchPopover*) self, search); +#line 9117 "SearchFilter.c" +} + + +static void _search_filter_toolbar_saved_search_popover_on_delete_click_search_filter_toolbar_saved_search_popover_data_button_clicked (SearchFilterToolbarSavedSearchPopoverDataButton* _sender, SavedSearch* search, gpointer self) { +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_on_delete_click ((SearchFilterToolbarSavedSearchPopover*) self, search); +#line 9124 "SearchFilter.c" +} + + +static void _search_filter_toolbar_saved_search_popover_on_add_click_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1064 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_on_add_click ((SearchFilterToolbarSavedSearchPopover*) self); +#line 9131 "SearchFilter.c" +} + + +static void _search_filter_toolbar_saved_search_popover_on_activate_row_gtk_list_box_row_activated (GtkListBox* _sender, GtkListBoxRow* row, gpointer self) { +#line 1065 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_on_activate_row ((SearchFilterToolbarSavedSearchPopover*) self, row); +#line 9138 "SearchFilter.c" +} + + +static void _search_filter_toolbar_saved_search_popover_on_popover_closed_gtk_popover_closed (GtkPopover* _sender, gpointer self) { +#line 1066 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_on_popover_closed ((SearchFilterToolbarSavedSearchPopover*) self); +#line 9145 "SearchFilter.c" +} + + +static void _vala_array_add351 (SearchFilterToolbarSavedSearchPopoverDataButton*** array, int* length, int* size, SearchFilterToolbarSavedSearchPopoverDataButton* value) { +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (SearchFilterToolbarSavedSearchPopoverDataButton*, *array, (*size) + 1); +#line 9156 "SearchFilter.c" + } +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = value; +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[*length] = NULL; +#line 9162 "SearchFilter.c" +} + + +static void _vala_array_add352 (SearchFilterToolbarSavedSearchPopoverDataButton*** array, int* length, int* size, SearchFilterToolbarSavedSearchPopoverDataButton* value) { +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if ((*length) == (*size)) { +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *array = g_renew (SearchFilterToolbarSavedSearchPopoverDataButton*, *array, (*size) + 1); +#line 9173 "SearchFilter.c" + } +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[(*length)++] = value; +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + (*array)[*length] = NULL; +#line 9179 "SearchFilter.c" +} + + +SearchFilterToolbarSavedSearchPopover* search_filter_toolbar_saved_search_popover_construct (GType object_type, GtkWidget* relative_to) { + SearchFilterToolbarSavedSearchPopover* self = NULL; + GtkWidget* _tmp0_ = NULL; + GtkPopover* _tmp1_ = NULL; + GtkPopover* _tmp2_ = NULL; + GtkListBox* _tmp3_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton** _tmp4_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton** _tmp5_ = NULL; + GtkButton* _tmp44_ = NULL; + GtkButton* _tmp45_ = NULL; + GtkListBox* _tmp46_ = NULL; + GtkButton* _tmp47_ = NULL; + GtkListBox* _tmp48_ = NULL; + GtkListBox* _tmp49_ = NULL; + GtkPopover* _tmp50_ = NULL; + GtkListBox* _tmp51_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (GTK_IS_WIDGET (relative_to), NULL); +#line 1025 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterToolbarSavedSearchPopover*) g_type_create_instance (object_type); +#line 1026 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = relative_to; +#line 1026 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = (GtkPopover*) gtk_popover_new (_tmp0_); +#line 1026 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp1_); +#line 1026 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->popover); +#line 1026 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->popover = _tmp1_; +#line 1027 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = self->priv->popover; +#line 1027 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect (_tmp2_, "closed", (GCallback) _search_filter_toolbar_saved_search_popover_on_popover_closed_gtk_popover_closed, self); +#line 1028 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = (GtkListBox*) gtk_list_box_new (); +#line 1028 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp3_); +#line 1028 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->list_box); +#line 1028 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->list_box = _tmp3_; +#line 1029 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = g_new0 (SearchFilterToolbarSavedSearchPopoverDataButton*, 0 + 1); +#line 1029 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->edit_buttons = (_vala_array_free (self->priv->edit_buttons, self->priv->edit_buttons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 1029 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->edit_buttons = _tmp4_; +#line 1029 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->edit_buttons_length1 = 0; +#line 1029 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_edit_buttons_size_ = self->priv->edit_buttons_length1; +#line 1030 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = g_new0 (SearchFilterToolbarSavedSearchPopoverDataButton*, 0 + 1); +#line 1030 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->delete_buttons = (_vala_array_free (self->priv->delete_buttons, self->priv->delete_buttons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 1030 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->delete_buttons = _tmp5_; +#line 1030 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->delete_buttons_length1 = 0; +#line 1030 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_delete_buttons_size_ = self->priv->delete_buttons_length1; +#line 9245 "SearchFilter.c" + { + GeeIterator* _search_it = NULL; + SavedSearchTable* _tmp6_ = NULL; + SavedSearchTable* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = saved_search_table_get_instance (); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = _tmp6_; +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = saved_search_table_get_all (_tmp7_); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = _tmp8_; +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = _tmp10_; +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp9_); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _saved_search_table_unref0 (_tmp7_); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _search_it = _tmp11_; +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + while (TRUE) { +#line 9274 "SearchFilter.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + SavedSearch* search = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GtkBox* row = NULL; + GtkBox* _tmp16_ = NULL; + GtkBox* _tmp17_ = NULL; + GtkLabel* label = NULL; + SavedSearch* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + GtkLabel* _tmp21_ = NULL; + GtkLabel* _tmp22_ = NULL; + GtkLabel* _tmp23_ = NULL; + GtkBox* _tmp24_ = NULL; + GtkLabel* _tmp25_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* delete_button = NULL; + SavedSearch* _tmp26_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp29_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp30_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp32_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp33_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* edit_button = NULL; + SavedSearch* _tmp34_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp35_ = NULL; + GtkBox* _tmp36_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp37_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp38_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton** _tmp39_ = NULL; + gint _tmp39__length1 = 0; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp40_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp41_ = NULL; + GtkListBox* _tmp42_ = NULL; + GtkBox* _tmp43_ = NULL; +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = _search_it; +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!_tmp13_) { +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 9322 "SearchFilter.c" + } +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = _search_it; +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search = (SavedSearch*) _tmp15_; +#line 1033 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1); +#line 1033 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp16_); +#line 1033 "/home/jens/Source/shotwell/src/SearchFilter.vala" + row = _tmp16_; +#line 1034 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp17_ = row; +#line 1034 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_box_set_homogeneous (_tmp17_, FALSE); +#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp18_ = search; +#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp19_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_OBJECT, DataObject)); +#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp20_ = _tmp19_; +#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp21_ = (GtkLabel*) gtk_label_new (_tmp20_); +#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp21_); +#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp22_ = _tmp21_; +#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_free0 (_tmp20_); +#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala" + label = _tmp22_; +#line 1036 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp23_ = label; +#line 1036 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_halign (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_START); +#line 1037 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp24_ = row; +#line 1037 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp25_ = label; +#line 1037 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_box_pack_start (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 3); +#line 1039 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp26_ = search; +#line 1039 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp27_ = search_filter_toolbar_saved_search_popover_data_button_new (_tmp26_, "edit-delete-symbolic"); +#line 1039 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp27_); +#line 1039 "/home/jens/Source/shotwell/src/SearchFilter.vala" + delete_button = _tmp27_; +#line 1040 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp28_ = row; +#line 1040 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp29_ = delete_button; +#line 1040 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_box_pack_end (_tmp28_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1041 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp30_ = delete_button; +#line 1041 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect (_tmp30_, "clicked", (GCallback) _search_filter_toolbar_saved_search_popover_on_delete_click_search_filter_toolbar_saved_search_popover_data_button_clicked, self); +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp31_ = self->priv->delete_buttons; +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp31__length1 = self->priv->delete_buttons_length1; +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp32_ = delete_button; +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp33_ = _g_object_ref0 (_tmp32_); +#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add351 (&self->priv->delete_buttons, &self->priv->delete_buttons_length1, &self->priv->_delete_buttons_size_, _tmp33_); +#line 1044 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp34_ = search; +#line 1044 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp35_ = search_filter_toolbar_saved_search_popover_data_button_new (_tmp34_, "text-editor-symbolic"); +#line 1044 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp35_); +#line 1044 "/home/jens/Source/shotwell/src/SearchFilter.vala" + edit_button = _tmp35_; +#line 1045 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp36_ = row; +#line 1045 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp37_ = edit_button; +#line 1045 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_box_pack_end (_tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1046 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp38_ = edit_button; +#line 1046 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect (_tmp38_, "clicked", (GCallback) _search_filter_toolbar_saved_search_popover_on_edit_click_search_filter_toolbar_saved_search_popover_data_button_clicked, self); +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp39_ = self->priv->edit_buttons; +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp39__length1 = self->priv->edit_buttons_length1; +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp40_ = edit_button; +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp41_ = _g_object_ref0 (_tmp40_); +#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _vala_array_add352 (&self->priv->edit_buttons, &self->priv->edit_buttons_length1, &self->priv->_edit_buttons_size_, _tmp41_); +#line 1049 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp42_ = self->priv->list_box; +#line 1049 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp43_ = row; +#line 1049 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_list_box_insert (_tmp42_, G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget), -1); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (edit_button); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (delete_button); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (label); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (row); +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (search); +#line 9438 "SearchFilter.c" + } +#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_search_it); +#line 9442 "SearchFilter.c" + } +#line 1051 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp44_ = (GtkButton*) gtk_button_new_from_icon_name ("list-add-symbolic", GTK_ICON_SIZE_BUTTON); +#line 1051 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp44_); +#line 1051 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->add); +#line 1051 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->add = _tmp44_; +#line 1052 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp45_ = self->priv->add; +#line 1052 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect (_tmp45_, "clicked", (GCallback) _search_filter_toolbar_saved_search_popover_on_add_click_gtk_button_clicked, self); +#line 1053 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp46_ = self->priv->list_box; +#line 1053 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp47_ = self->priv->add; +#line 1053 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_list_box_insert (_tmp46_, G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_widget_get_type (), GtkWidget), -1); +#line 1054 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp48_ = self->priv->list_box; +#line 1054 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect (_tmp48_, "row-activated", (GCallback) _search_filter_toolbar_saved_search_popover_on_activate_row_gtk_list_box_row_activated, self); +#line 1055 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp49_ = self->priv->list_box; +#line 1055 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_list_box_set_selection_mode (_tmp49_, GTK_SELECTION_NONE); +#line 1056 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp50_ = self->priv->popover; +#line 1056 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp51_ = self->priv->list_box; +#line 1056 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, gtk_widget_get_type (), GtkWidget)); +#line 1058 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_restyle (self); +#line 1025 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 9480 "SearchFilter.c" +} + + +SearchFilterToolbarSavedSearchPopover* search_filter_toolbar_saved_search_popover_new (GtkWidget* relative_to) { +#line 1025 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_toolbar_saved_search_popover_construct (SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, relative_to); +#line 9487 "SearchFilter.c" +} + + +void search_filter_toolbar_saved_search_popover_restyle (SearchFilterToolbarSavedSearchPopover* self) { + GtkButton* _tmp0_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + SearchFilterToolbarSavedSearchPopoverDataButton** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 1069 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self)); +#line 1070 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->add; +#line 1070 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_relief (_tmp0_, GTK_RELIEF_NONE); +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->edit_buttons; +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1__length1 = self->priv->edit_buttons_length1; +#line 9507 "SearchFilter.c" + { + SearchFilterToolbarSavedSearchPopoverDataButton** button_collection = NULL; + gint button_collection_length1 = 0; + gint _button_collection_size_ = 0; + gint button_it = 0; +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button_collection = _tmp1_; +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button_collection_length1 = _tmp1__length1; +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + for (button_it = 0; button_it < _tmp1__length1; button_it = button_it + 1) { +#line 9519 "SearchFilter.c" + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp2_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL; +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _g_object_ref0 (button_collection[button_it]); +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button = _tmp2_; +#line 9526 "SearchFilter.c" + { + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp3_ = NULL; +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = button; +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_data_button_restyle (_tmp3_); +#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (button); +#line 9535 "SearchFilter.c" + } + } + } +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->delete_buttons; +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4__length1 = self->priv->delete_buttons_length1; +#line 9543 "SearchFilter.c" + { + SearchFilterToolbarSavedSearchPopoverDataButton** button_collection = NULL; + gint button_collection_length1 = 0; + gint _button_collection_size_ = 0; + gint button_it = 0; +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button_collection = _tmp4_; +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button_collection_length1 = _tmp4__length1; +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + for (button_it = 0; button_it < _tmp4__length1; button_it = button_it + 1) { +#line 9555 "SearchFilter.c" + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp5_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL; +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = _g_object_ref0 (button_collection[button_it]); +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button = _tmp5_; +#line 9562 "SearchFilter.c" + { + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp6_ = NULL; +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = button; +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_data_button_restyle (_tmp6_); +#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (button); +#line 9571 "SearchFilter.c" + } + } + } +} + + +static gboolean search_filter_toolbar_saved_search_popover_is_search_row (SearchFilterToolbarSavedSearchPopover* self, GtkListBoxRow* row) { + gboolean result = FALSE; + GtkListBoxRow* _tmp0_ = NULL; + GtkListBoxRow* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + GList* _tmp3_ = NULL; + GList* _tmp4_ = NULL; + gconstpointer _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1075 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self), FALSE); +#line 1075 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail ((row == NULL) || GTK_IS_LIST_BOX_ROW (row), FALSE); +#line 1076 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = row; +#line 1076 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp0_ == NULL) { +#line 1076 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 1076 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 9599 "SearchFilter.c" + } +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = row; +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = gtk_container_get_children (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer)); +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = _tmp2_; +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = g_list_last (_tmp3_); +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = _tmp4_->data; +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_TYPE ((GtkWidget*) _tmp5_, gtk_button_get_type ()); +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_list_free0 (_tmp3_); +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp6_) { +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = FALSE; +#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 9621 "SearchFilter.c" + } +#line 1078 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = TRUE; +#line 1078 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 9627 "SearchFilter.c" +} + + +static SavedSearch* search_filter_toolbar_saved_search_popover_get_search (SearchFilterToolbarSavedSearchPopover* self, GtkListBoxRow* row) { + SavedSearch* result = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL; + GtkListBoxRow* _tmp0_ = NULL; + GList* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + GList* _tmp3_ = NULL; + gconstpointer _tmp4_ = NULL; + GtkWidget* _tmp5_ = NULL; + GList* _tmp6_ = NULL; + GList* _tmp7_ = NULL; + GList* _tmp8_ = NULL; + gconstpointer _tmp9_ = NULL; + GtkWidget* _tmp10_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp11_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp12_ = NULL; + SavedSearch* _tmp13_ = NULL; + SavedSearch* _tmp14_ = NULL; + SavedSearch* _tmp15_ = NULL; +#line 1081 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self), NULL); +#line 1081 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (GTK_IS_LIST_BOX_ROW (row), NULL); +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = row; +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = gtk_container_get_children (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_container_get_type (), GtkContainer)); +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = _tmp1_; +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = g_list_first (_tmp2_); +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = _tmp3_->data; +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = (GtkWidget*) _tmp4_; +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = gtk_container_get_children (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, gtk_box_get_type ()) ? ((GtkBox*) _tmp5_) : NULL, gtk_container_get_type (), GtkContainer)); +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp7_ = _tmp6_; +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = g_list_last (_tmp7_); +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp9_ = _tmp8_->data; +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = (GtkWidget*) _tmp9_; +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON) ? ((SearchFilterToolbarSavedSearchPopoverDataButton*) _tmp10_) : NULL); +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = _tmp11_; +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_list_free0 (_tmp7_); +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_list_free0 (_tmp2_); +#line 1082 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button = _tmp12_; +#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp13_ = search_filter_toolbar_saved_search_popover_data_button_get_search (button); +#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = _tmp13_; +#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp15_; +#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (button); +#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 9698 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_on_activate_row (SearchFilterToolbarSavedSearchPopover* self, GtkListBoxRow* row) { + GtkListBoxRow* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GtkPopover* _tmp5_ = NULL; +#line 1086 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self)); +#line 1086 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail ((row == NULL) || GTK_IS_LIST_BOX_ROW (row)); +#line 1087 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = row; +#line 1087 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = search_filter_toolbar_saved_search_popover_is_search_row (self, _tmp0_); +#line 1087 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (_tmp1_) { +#line 9716 "SearchFilter.c" + GtkListBoxRow* _tmp2_ = NULL; + SavedSearch* _tmp3_ = NULL; + SavedSearch* _tmp4_ = NULL; +#line 1088 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = row; +#line 1088 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = search_filter_toolbar_saved_search_popover_get_search (self, _tmp2_); +#line 1088 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = _tmp3_; +#line 1088 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "search-activated", _tmp4_); +#line 1088 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (_tmp4_); +#line 9730 "SearchFilter.c" + } +#line 1089 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = self->priv->popover; +#line 1089 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 9736 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_on_edit_click (SearchFilterToolbarSavedSearchPopover* self, SavedSearch* search) { + SavedSearch* _tmp0_ = NULL; +#line 1092 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self)); +#line 1092 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 1093 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search; +#line 1093 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "edit-clicked", _tmp0_); +#line 9750 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_on_delete_click (SearchFilterToolbarSavedSearchPopover* self, SavedSearch* search) { + SavedSearch* _tmp0_ = NULL; +#line 1096 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self)); +#line 1096 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 1097 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = search; +#line 1097 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "delete-clicked", _tmp0_); +#line 9764 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_on_add_click (SearchFilterToolbarSavedSearchPopover* self) { +#line 1100 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self)); +#line 1101 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "add-clicked"); +#line 9773 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_on_popover_closed (SearchFilterToolbarSavedSearchPopover* self) { +#line 1104 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self)); +#line 1105 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "closed"); +#line 9782 "SearchFilter.c" +} + + +void search_filter_toolbar_saved_search_popover_show_all (SearchFilterToolbarSavedSearchPopover* self) { + GtkPopover* _tmp0_ = NULL; +#line 1108 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self)); +#line 1109 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->popover; +#line 1109 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 9794 "SearchFilter.c" +} + + +void search_filter_toolbar_saved_search_popover_hide (SearchFilterToolbarSavedSearchPopover* self) { + GtkPopover* _tmp0_ = NULL; +#line 1112 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self)); +#line 1113 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->popover; +#line 1113 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 9806 "SearchFilter.c" +} + + +static void _search_filter_toolbar_saved_search_popover_data_button_on_click_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1012 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_data_button_on_click ((SearchFilterToolbarSavedSearchPopoverDataButton*) self); +#line 9813 "SearchFilter.c" +} + + +static SearchFilterToolbarSavedSearchPopoverDataButton* search_filter_toolbar_saved_search_popover_data_button_construct (GType object_type, SavedSearch* search, const gchar* name) { + SearchFilterToolbarSavedSearchPopoverDataButton * self = NULL; + const gchar* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + SavedSearch* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; +#line 1001 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL); +#line 1001 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 1001 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = (SearchFilterToolbarSavedSearchPopoverDataButton*) g_object_new (object_type, NULL); +#line 1002 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = name; +#line 1002 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = (GtkButton*) gtk_button_new_from_icon_name (_tmp0_, GTK_ICON_SIZE_SMALL_TOOLBAR); +#line 1002 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp1_); +#line 1002 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->button); +#line 1002 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->button = _tmp1_; +#line 1003 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = search; +#line 1003 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_data_button_set_search (self, _tmp2_); +#line 1004 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = self->priv->button; +#line 1004 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 1006 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_data_button_restyle (self); +#line 1008 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->button; +#line 1008 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_connect_object (_tmp4_, "clicked", (GCallback) _search_filter_toolbar_saved_search_popover_data_button_on_click_gtk_button_clicked, self, 0); +#line 1001 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return self; +#line 9856 "SearchFilter.c" +} + + +static SearchFilterToolbarSavedSearchPopoverDataButton* search_filter_toolbar_saved_search_popover_data_button_new (SavedSearch* search, const gchar* name) { +#line 1001 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return search_filter_toolbar_saved_search_popover_data_button_construct (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, search, name); +#line 9863 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_data_button_restyle (SearchFilterToolbarSavedSearchPopoverDataButton* self) { + GtkButton* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; +#line 1015 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON (self)); +#line 1016 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->button; +#line 1016 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), 24, 24); +#line 1017 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = self->priv->button; +#line 1017 "/home/jens/Source/shotwell/src/SearchFilter.vala" + gtk_button_set_relief (_tmp1_, GTK_RELIEF_NONE); +#line 9880 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_data_button_on_click (SearchFilterToolbarSavedSearchPopoverDataButton* self) { + SavedSearch* _tmp0_ = NULL; +#line 1020 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON (self)); +#line 1021 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_search; +#line 1021 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_emit_by_name (self, "clicked", _tmp0_); +#line 9892 "SearchFilter.c" +} + + +static SavedSearch* search_filter_toolbar_saved_search_popover_data_button_get_search (SearchFilterToolbarSavedSearchPopoverDataButton* self) { + SavedSearch* result; + SavedSearch* _tmp0_ = NULL; +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON (self), NULL); +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->_search; +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + result = _tmp0_; +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return result; +#line 9907 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_data_button_set_search (SearchFilterToolbarSavedSearchPopoverDataButton* self, SavedSearch* value) { + SavedSearch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON (self)); +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = value; +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->_search); +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_search = _tmp1_; +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_notify ((GObject *) self, "search"); +#line 9926 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_data_button_class_init (SearchFilterToolbarSavedSearchPopoverDataButtonClass * klass) { +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_data_button_parent_class = g_type_class_peek_parent (klass); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (SearchFilterToolbarSavedSearchPopoverDataButtonPrivate)); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_search_filter_toolbar_saved_search_popover_data_button_get_property; +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_search_filter_toolbar_saved_search_popover_data_button_set_property; +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_saved_search_popover_data_button_finalize; +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH, g_param_spec_object ("search", "search", "search", TYPE_SAVED_SEARCH, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("clicked", SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH); +#line 9945 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_data_button_instance_init (SearchFilterToolbarSavedSearchPopoverDataButton * self) { +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_GET_PRIVATE (self); +#line 996 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->button = NULL; +#line 9954 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_data_button_finalize (GObject* obj) { + SearchFilterToolbarSavedSearchPopoverDataButton * self; + GtkButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButton); +#line 1012 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->button; +#line 1012 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp1_, NULL, FALSE); +#line 1012 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_data_button_on_click_gtk_button_clicked, self); +#line 996 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->button); +#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->_search); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (search_filter_toolbar_saved_search_popover_data_button_parent_class)->finalize (obj); +#line 9976 "SearchFilter.c" +} + + +static GType search_filter_toolbar_saved_search_popover_data_button_get_type (void) { + static volatile gsize search_filter_toolbar_saved_search_popover_data_button_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_toolbar_saved_search_popover_data_button_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarSavedSearchPopoverDataButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_saved_search_popover_data_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarSavedSearchPopoverDataButton), 0, (GInstanceInitFunc) search_filter_toolbar_saved_search_popover_data_button_instance_init, NULL }; + GType search_filter_toolbar_saved_search_popover_data_button_type_id; + search_filter_toolbar_saved_search_popover_data_button_type_id = g_type_register_static (gtk_bin_get_type (), "SearchFilterToolbarSavedSearchPopoverDataButton", &g_define_type_info, 0); + g_once_init_leave (&search_filter_toolbar_saved_search_popover_data_button_type_id__volatile, search_filter_toolbar_saved_search_popover_data_button_type_id); + } + return search_filter_toolbar_saved_search_popover_data_button_type_id__volatile; +} + + +static void _vala_search_filter_toolbar_saved_search_popover_data_button_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + SearchFilterToolbarSavedSearchPopoverDataButton * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButton); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + switch (property_id) { +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH: +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_value_set_object (value, search_filter_toolbar_saved_search_popover_data_button_get_search (self)); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 10003 "SearchFilter.c" + default: +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 10009 "SearchFilter.c" + } +} + + +static void _vala_search_filter_toolbar_saved_search_popover_data_button_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + SearchFilterToolbarSavedSearchPopoverDataButton * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButton); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + switch (property_id) { +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + case SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH: +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_data_button_set_search (self, g_value_get_object (value)); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 10025 "SearchFilter.c" + default: +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 995 "/home/jens/Source/shotwell/src/SearchFilter.vala" + break; +#line 10031 "SearchFilter.c" + } +} + + +static void search_filter_toolbar_value_saved_search_popover_init (GValue* value) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 10039 "SearchFilter.c" +} + + +static void search_filter_toolbar_value_saved_search_popover_free_value (GValue* value) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (value->data[0].v_pointer) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_unref (value->data[0].v_pointer); +#line 10048 "SearchFilter.c" + } +} + + +static void search_filter_toolbar_value_saved_search_popover_copy_value (const GValue* src_value, GValue* dest_value) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (src_value->data[0].v_pointer) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + dest_value->data[0].v_pointer = search_filter_toolbar_saved_search_popover_ref (src_value->data[0].v_pointer); +#line 10058 "SearchFilter.c" + } else { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + dest_value->data[0].v_pointer = NULL; +#line 10062 "SearchFilter.c" + } +} + + +static gpointer search_filter_toolbar_value_saved_search_popover_peek_pointer (const GValue* value) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return value->data[0].v_pointer; +#line 10070 "SearchFilter.c" +} + + +static gchar* search_filter_toolbar_value_saved_search_popover_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (collect_values[0].v_pointer) { +#line 10077 "SearchFilter.c" + SearchFilterToolbarSavedSearchPopover* object; + object = collect_values[0].v_pointer; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (object->parent_instance.g_class == NULL) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10084 "SearchFilter.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 10088 "SearchFilter.c" + } +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = search_filter_toolbar_saved_search_popover_ref (object); +#line 10092 "SearchFilter.c" + } else { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 10096 "SearchFilter.c" + } +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return NULL; +#line 10100 "SearchFilter.c" +} + + +static gchar* search_filter_toolbar_value_saved_search_popover_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SearchFilterToolbarSavedSearchPopover** object_p; + object_p = collect_values[0].v_pointer; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!object_p) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 10111 "SearchFilter.c" + } +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (!value->data[0].v_pointer) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = NULL; +#line 10117 "SearchFilter.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = value->data[0].v_pointer; +#line 10121 "SearchFilter.c" + } else { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + *object_p = search_filter_toolbar_saved_search_popover_ref (value->data[0].v_pointer); +#line 10125 "SearchFilter.c" + } +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return NULL; +#line 10129 "SearchFilter.c" +} + + +GParamSpec* search_filter_toolbar_param_spec_saved_search_popover (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + SearchFilterToolbarParamSpecSavedSearchPopover* spec; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (g_type_is_a (object_type, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER), NULL); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return G_PARAM_SPEC (spec); +#line 10143 "SearchFilter.c" +} + + +gpointer search_filter_toolbar_value_get_saved_search_popover (const GValue* value) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER), NULL); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return value->data[0].v_pointer; +#line 10152 "SearchFilter.c" +} + + +void search_filter_toolbar_value_set_saved_search_popover (GValue* value, gpointer v_object) { + SearchFilterToolbarSavedSearchPopover* old; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER)); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + old = value->data[0].v_pointer; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (v_object) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER)); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = v_object; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_ref (value->data[0].v_pointer); +#line 10172 "SearchFilter.c" + } else { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 10176 "SearchFilter.c" + } +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (old) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_unref (old); +#line 10182 "SearchFilter.c" + } +} + + +void search_filter_toolbar_value_take_saved_search_popover (GValue* value, gpointer v_object) { + SearchFilterToolbarSavedSearchPopover* old; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER)); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + old = value->data[0].v_pointer; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (v_object) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER)); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = v_object; +#line 10201 "SearchFilter.c" + } else { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + value->data[0].v_pointer = NULL; +#line 10205 "SearchFilter.c" + } +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (old) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_unref (old); +#line 10211 "SearchFilter.c" + } +} + + +static void search_filter_toolbar_saved_search_popover_class_init (SearchFilterToolbarSavedSearchPopoverClass * klass) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_saved_search_popover_parent_class = g_type_class_peek_parent (klass); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + ((SearchFilterToolbarSavedSearchPopoverClass *) klass)->finalize = search_filter_toolbar_saved_search_popover_finalize; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (SearchFilterToolbarSavedSearchPopoverPrivate)); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("search_activated", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("edit_clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("delete_clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("add_clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_new ("closed", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 10233 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_instance_init (SearchFilterToolbarSavedSearchPopover * self) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_GET_PRIVATE (self); +#line 982 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->popover = NULL; +#line 983 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->list_box = NULL; +#line 984 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->edit_buttons = NULL; +#line 984 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->edit_buttons_length1 = 0; +#line 984 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_edit_buttons_size_ = self->priv->edit_buttons_length1; +#line 985 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->delete_buttons = NULL; +#line 985 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->delete_buttons_length1 = 0; +#line 985 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->_delete_buttons_size_ = self->priv->delete_buttons_length1; +#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->add = NULL; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->ref_count = 1; +#line 10260 "SearchFilter.c" +} + + +static void search_filter_toolbar_saved_search_popover_finalize (SearchFilterToolbarSavedSearchPopover* obj) { + SearchFilterToolbarSavedSearchPopover * self; + SearchFilterToolbarSavedSearchPopoverDataButton** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SearchFilterToolbarSavedSearchPopoverDataButton** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkButton* _tmp8_ = NULL; + guint _tmp9_ = 0U; + GtkListBox* _tmp10_ = NULL; + guint _tmp11_ = 0U; + GtkPopover* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopover); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_destroy (self); +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->edit_buttons; +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0__length1 = self->priv->edit_buttons_length1; +#line 10284 "SearchFilter.c" + { + SearchFilterToolbarSavedSearchPopoverDataButton** button_collection = NULL; + gint button_collection_length1 = 0; + gint _button_collection_size_ = 0; + gint button_it = 0; +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button_collection = _tmp0_; +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button_collection_length1 = _tmp0__length1; +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + for (button_it = 0; button_it < _tmp0__length1; button_it = button_it + 1) { +#line 10296 "SearchFilter.c" + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp1_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL; +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = _g_object_ref0 (button_collection[button_it]); +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button = _tmp1_; +#line 10303 "SearchFilter.c" + { + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = button; +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("clicked", SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, &_tmp3_, NULL, FALSE); +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_edit_click_search_filter_toolbar_saved_search_popover_data_button_clicked, self); +#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (button); +#line 10315 "SearchFilter.c" + } + } + } +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->delete_buttons; +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4__length1 = self->priv->delete_buttons_length1; +#line 10323 "SearchFilter.c" + { + SearchFilterToolbarSavedSearchPopoverDataButton** button_collection = NULL; + gint button_collection_length1 = 0; + gint _button_collection_size_ = 0; + gint button_it = 0; +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button_collection = _tmp4_; +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button_collection_length1 = _tmp4__length1; +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + for (button_it = 0; button_it < _tmp4__length1; button_it = button_it + 1) { +#line 10335 "SearchFilter.c" + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp5_ = NULL; + SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL; +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp5_ = _g_object_ref0 (button_collection[button_it]); +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + button = _tmp5_; +#line 10342 "SearchFilter.c" + { + SearchFilterToolbarSavedSearchPopoverDataButton* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = button; +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("clicked", SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, &_tmp7_, NULL, FALSE); +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_delete_click_search_filter_toolbar_saved_search_popover_data_button_clicked, self); +#line 1063 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (button); +#line 10354 "SearchFilter.c" + } + } + } +#line 1064 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->priv->add; +#line 1064 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp9_, NULL, FALSE); +#line 1064 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_add_click_gtk_button_clicked, self); +#line 1065 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->list_box; +#line 1065 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("row-activated", gtk_list_box_get_type (), &_tmp11_, NULL, FALSE); +#line 1065 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_activate_row_gtk_list_box_row_activated, self); +#line 1066 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = self->priv->popover; +#line 1066 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("closed", gtk_popover_get_type (), &_tmp13_, NULL, FALSE); +#line 1066 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_popover_closed_gtk_popover_closed, self); +#line 982 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->popover); +#line 983 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->list_box); +#line 984 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->edit_buttons = (_vala_array_free (self->priv->edit_buttons, self->priv->edit_buttons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 985 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->delete_buttons = (_vala_array_free (self->priv->delete_buttons, self->priv->delete_buttons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->add); +#line 10386 "SearchFilter.c" +} + + +GType search_filter_toolbar_saved_search_popover_get_type (void) { + static volatile gsize search_filter_toolbar_saved_search_popover_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_toolbar_saved_search_popover_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { search_filter_toolbar_value_saved_search_popover_init, search_filter_toolbar_value_saved_search_popover_free_value, search_filter_toolbar_value_saved_search_popover_copy_value, search_filter_toolbar_value_saved_search_popover_peek_pointer, "p", search_filter_toolbar_value_saved_search_popover_collect_value, "p", search_filter_toolbar_value_saved_search_popover_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarSavedSearchPopoverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_saved_search_popover_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarSavedSearchPopover), 0, (GInstanceInitFunc) search_filter_toolbar_saved_search_popover_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType search_filter_toolbar_saved_search_popover_type_id; + search_filter_toolbar_saved_search_popover_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SearchFilterToolbarSavedSearchPopover", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&search_filter_toolbar_saved_search_popover_type_id__volatile, search_filter_toolbar_saved_search_popover_type_id); + } + return search_filter_toolbar_saved_search_popover_type_id__volatile; +} + + +gpointer search_filter_toolbar_saved_search_popover_ref (gpointer instance) { + SearchFilterToolbarSavedSearchPopover* self; + self = instance; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_atomic_int_inc (&self->ref_count); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + return instance; +#line 10411 "SearchFilter.c" +} + + +void search_filter_toolbar_saved_search_popover_unref (gpointer instance) { + SearchFilterToolbarSavedSearchPopover* self; + self = instance; +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_GET_CLASS (self)->finalize (self); +#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 10424 "SearchFilter.c" + } +} + + +static void search_filter_toolbar_class_init (SearchFilterToolbarClass * klass) { +#line 664 "/home/jens/Source/shotwell/src/SearchFilter.vala" + search_filter_toolbar_parent_class = g_type_class_peek_parent (klass); +#line 664 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_type_class_add_private (klass, sizeof (SearchFilterToolbarPrivate)); +#line 664 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_finalize; +#line 10436 "SearchFilter.c" +} + + +static void search_filter_toolbar_instance_init (SearchFilterToolbar * self) { + GtkMenu* _tmp0_ = NULL; + GtkMenuItem* _tmp1_ = NULL; + GtkUIManager* _tmp2_ = NULL; + SearchFilterToolbarRatingFilterButton* _tmp3_ = NULL; + SearchFilterToolbarSavedSearchFilterButton* _tmp4_ = NULL; +#line 664 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv = SEARCH_FILTER_TOOLBAR_GET_PRIVATE (self); +#line 737 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = (GtkMenu*) gtk_menu_new (); +#line 737 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp0_); +#line 737 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->close_menu = _tmp0_; +#line 738 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp1_ = (GtkMenuItem*) gtk_menu_item_new (); +#line 738 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp1_); +#line 738 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->close_item = _tmp1_; +#line 1117 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = gtk_ui_manager_new (); +#line 1117 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->ui = _tmp2_; +#line 1120 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->saved_search = NULL; +#line 1122 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp3_ = search_filter_toolbar_rating_filter_button_new (); +#line 1122 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp3_); +#line 1122 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->rating_button = _tmp3_; +#line 1123 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = search_filter_toolbar_saved_search_filter_button_new (); +#line 1123 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_object_ref_sink (_tmp4_); +#line 1123 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->saved_search_button = _tmp4_; +#line 1124 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->elide_showing_again = FALSE; +#line 1125 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self->priv->search_filter = NULL; +#line 10482 "SearchFilter.c" +} + + +static void search_filter_toolbar_finalize (GObject* obj) { + SearchFilterToolbar * self; + SearchFilterActions* _tmp0_ = NULL; + guint _tmp1_ = 0U; + SearchFilterActions* _tmp2_ = NULL; + guint _tmp3_ = 0U; + SearchFilterActions* _tmp4_ = NULL; + guint _tmp5_ = 0U; + SearchFilterActions* _tmp6_ = NULL; + guint _tmp7_ = 0U; + SearchFilterActions* _tmp8_ = NULL; + guint _tmp9_ = 0U; + SearchFilterActions* _tmp10_ = NULL; + guint _tmp11_ = 0U; + SearchFilterActions* _tmp12_ = NULL; + guint _tmp13_ = 0U; + SearchFilterActions* _tmp14_ = NULL; + guint _tmp15_ = 0U; + GtkToolbar* _tmp16_ = NULL; + guint _tmp17_ = 0U; +#line 664 "/home/jens/Source/shotwell/src/SearchFilter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbar); +#line 1244 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp0_ = self->priv->actions; +#line 1244 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("media-context-changed", TYPE_SEARCH_FILTER_ACTIONS, &_tmp1_, NULL, FALSE); +#line 1244 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_on_media_context_changed_search_filter_actions_media_context_changed, self); +#line 1246 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp2_ = self->priv->actions; +#line 1246 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("flagged-toggled", TYPE_SEARCH_FILTER_ACTIONS, &_tmp3_, NULL, FALSE); +#line 1246 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _search_filter_toolbar_on_flagged_toggled_search_filter_actions_flagged_toggled, self); +#line 1247 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp4_ = self->priv->actions; +#line 1247 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("photos-toggled", TYPE_SEARCH_FILTER_ACTIONS, &_tmp5_, NULL, FALSE); +#line 1247 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _search_filter_toolbar_on_photos_toggled_search_filter_actions_photos_toggled, self); +#line 1248 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp6_ = self->priv->actions; +#line 1248 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("videos-toggled", TYPE_SEARCH_FILTER_ACTIONS, &_tmp7_, NULL, FALSE); +#line 1248 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _search_filter_toolbar_on_videos_toggled_search_filter_actions_videos_toggled, self); +#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp8_ = self->priv->actions; +#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("raw-toggled", TYPE_SEARCH_FILTER_ACTIONS, &_tmp9_, NULL, FALSE); +#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_toolbar_on_raw_toggled_search_filter_actions_raw_toggled, self); +#line 1250 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp10_ = self->priv->actions; +#line 1250 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("rating-changed", TYPE_SEARCH_FILTER_ACTIONS, &_tmp11_, NULL, FALSE); +#line 1250 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _search_filter_toolbar_on_rating_changed_search_filter_actions_rating_changed, self); +#line 1251 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp12_ = self->priv->actions; +#line 1251 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("text-changed", TYPE_SEARCH_FILTER_ACTIONS, &_tmp13_, NULL, FALSE); +#line 1251 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _search_filter_toolbar_on_search_text_changed_search_filter_actions_text_changed, self); +#line 1252 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp14_ = self->priv->actions; +#line 1252 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("criteria-changed", TYPE_SEARCH_FILTER_ACTIONS, &_tmp15_, NULL, FALSE); +#line 1252 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp14_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 0, NULL, (GCallback) _search_filter_toolbar_on_criteria_changed_search_filter_actions_criteria_changed, self); +#line 1254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _tmp16_ = self->priv->toolbar; +#line 1254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_parse_name ("popup-context-menu", gtk_toolbar_get_type (), &_tmp17_, NULL, FALSE); +#line 1254 "/home/jens/Source/shotwell/src/SearchFilter.vala" + g_signal_handlers_disconnect_matched (_tmp16_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp17_, 0, NULL, (GCallback) _search_filter_toolbar_on_context_menu_requested_gtk_toolbar_popup_context_menu, self); +#line 665 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbar); +#line 737 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->close_menu); +#line 738 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->close_item); +#line 1117 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->ui); +#line 1119 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _search_filter_actions_unref0 (self->priv->actions); +#line 1120 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->saved_search); +#line 1121 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->search_box); +#line 1122 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->rating_button); +#line 1123 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->saved_search_button); +#line 1125 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _view_filter_unref0 (self->priv->search_filter); +#line 1126 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->label_type); +#line 1127 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbtn_photos); +#line 1128 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbtn_videos); +#line 1129 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbtn_raw); +#line 1130 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->toolbtn_flag); +#line 1131 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->sepr_mediatype_flagged); +#line 1132 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->sepr_flagged_rating); +#line 1133 "/home/jens/Source/shotwell/src/SearchFilter.vala" + _g_object_unref0 (self->priv->sepr_rating_saved); +#line 664 "/home/jens/Source/shotwell/src/SearchFilter.vala" + G_OBJECT_CLASS (search_filter_toolbar_parent_class)->finalize (obj); +#line 10600 "SearchFilter.c" +} + + +GType search_filter_toolbar_get_type (void) { + static volatile gsize search_filter_toolbar_type_id__volatile = 0; + if (g_once_init_enter (&search_filter_toolbar_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbar), 0, (GInstanceInitFunc) search_filter_toolbar_instance_init, NULL }; + GType search_filter_toolbar_type_id; + search_filter_toolbar_type_id = g_type_register_static (gtk_revealer_get_type (), "SearchFilterToolbar", &g_define_type_info, 0); + g_once_init_leave (&search_filter_toolbar_type_id__volatile, search_filter_toolbar_type_id); + } + return search_filter_toolbar_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/SearchFilter.vala b/src/SearchFilter.vala index 23f7aed..d9fe0fe 100644 --- a/src/SearchFilter.vala +++ b/src/SearchFilter.vala @@ -13,6 +13,7 @@ public enum SearchFilterCriteria { FLAG, MEDIA, RATING, + SAVEDSEARCH, ALL = 0xFFFFFFFF } @@ -54,6 +55,9 @@ public abstract class SearchViewFilter : ViewFilter { // Search text filter. Should only be set to lower-case. private string? search_filter = null; private string[]? search_filter_words = null; + + // Saved search filter + public SavedSearch saved_search { get; set; default = null; } // Returns a bitmask of SearchFilterCriteria. // IMPORTANT: There is no signal on this, changing this value after the @@ -153,6 +157,10 @@ public abstract class SearchViewFilter : ViewFilter { search_filter_words = null; } + public bool has_saved_search() { + return saved_search != null; + } + public bool get_rating_allow_higher() { return rating_allow_higher; } @@ -207,6 +215,7 @@ public abstract class DefaultSearchViewFilter : SearchViewFilter { } } + // Text if (((SearchFilterCriteria.TEXT & criteria) != 0) && has_search_filter()) { unowned string? media_keywords = source.get_indexable_keywords(); @@ -246,6 +255,11 @@ public abstract class DefaultSearchViewFilter : SearchViewFilter { } } + // Saved search + if (((SearchFilterCriteria.SAVEDSEARCH & criteria) != 0) && has_saved_search()) { + return saved_search.predicate(source); + } + return true; } } @@ -538,7 +552,8 @@ public class SearchFilterActions { Gtk.RadioActionEntry rejected_or_higher = { "CommonDisplayRejectedOrHigher", null, TRANSLATABLE, "9", TRANSLATABLE, RatingFilter.REJECTED_OR_HIGHER }; rejected_or_higher.label = Resources.DISPLAY_REJECTED_OR_HIGHER_MENU; - rejected_or_higher.tooltip = Resources.DISPLAY_REJECTED_OR_HIGHER_TOOLTIP; + rejected_or_higher.tooltip = GLib.dpgettext2 (null, "Tooltip", + Resources.DISPLAY_REJECTED_OR_HIGHER_TOOLTIP); view_filter_actions += rejected_or_higher; Gtk.RadioActionEntry unrated_or_higher = { "CommonDisplayUnratedOrHigher", null, TRANSLATABLE, @@ -916,12 +931,197 @@ public class SearchFilterToolbar : Gtk.Revealer { } } + + protected class SavedSearchFilterButton : Gtk.ToolItem { + public SavedSearchPopover filter_popup = null; + public Gtk.ToggleButton button; + + public signal void clicked(); + + public SavedSearchFilterButton() { + button = new Gtk.ToggleButton(); + button.set_always_show_image(true); + + Gtk.Image? image = new Gtk.Image.from_icon_name("find", Gtk.IconSize.SMALL_TOOLBAR); + image.set_margin_end(6); + button.set_image(image); + button.set_can_focus(false); + + button.clicked.connect(on_clicked); + + restyle(); + + set_homogeneous(false); + + this.add(button); + } + + ~SavedSearchFilterButton() { + button.clicked.disconnect(on_clicked); + } + + private void on_clicked() { + clicked(); + } + + public void set_active(bool active) { + button.set_active(active); + } + + public void set_label(string label) { + button.set_label(label); + } + + public void restyle() { + button.set_size_request(24, 24); + button.relief = Gtk.ReliefStyle.NONE; + } + } + + protected class SavedSearchPopover { + private Gtk.Popover popover = null; + private Gtk.ListBox list_box = null; + private DataButton[] edit_buttons = null; + private DataButton[] delete_buttons = null; + Gtk.Button add = null; + + public signal void search_activated(SavedSearch search); + public signal void edit_clicked(SavedSearch search); + public signal void delete_clicked(SavedSearch search); + public signal void add_clicked(); + + public signal void closed(); + + private class DataButton : Gtk.Bin { + private Gtk.Button button = null; + public SavedSearch search { get; private set; } + + public signal void clicked(SavedSearch search); + + public DataButton(SavedSearch search, string name) { + button = new Gtk.Button.from_icon_name(name, Gtk.IconSize.SMALL_TOOLBAR); + this.search = search; + this.add(button); + + restyle(); + + button.clicked.connect(on_click); + } + + ~DataButton() { + button.clicked.disconnect(on_click); + } + + public void restyle() { + button.set_size_request(24, 24); + button.relief = Gtk.ReliefStyle.NONE; + } + + private void on_click() { + clicked(this.search); + } + } + + public SavedSearchPopover(Gtk.Widget relative_to) { + popover = new Gtk.Popover(relative_to); + popover.closed.connect(on_popover_closed); + list_box = new Gtk.ListBox(); + edit_buttons = new DataButton[0]; + delete_buttons = new DataButton[0]; + + foreach (SavedSearch search in SavedSearchTable.get_instance().get_all()) { + Gtk.Box row = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 1); + row.set_homogeneous(false); + Gtk.Label label = new Gtk.Label(search.get_name()); + label.halign = Gtk.Align.START; + row.pack_start(label, true, true, 3); + + DataButton delete_button = new DataButton(search, "edit-delete-symbolic"); + row.pack_end(delete_button, false, false); + delete_button.clicked.connect(on_delete_click); + delete_buttons += delete_button; + + DataButton edit_button = new DataButton(search, "text-editor-symbolic"); + row.pack_end(edit_button, false, false); + edit_button.clicked.connect(on_edit_click); + edit_buttons += edit_button; + + list_box.insert(row, -1); + } + add = new Gtk.Button.from_icon_name("list-add-symbolic", Gtk.IconSize.BUTTON); + add.clicked.connect(on_add_click); + list_box.insert(add, -1); + list_box.row_activated.connect(on_activate_row); + list_box.selection_mode = Gtk.SelectionMode.NONE; + popover.add(list_box); + + restyle(); + } + + ~SavedSearchPopover() { + foreach (DataButton button in edit_buttons) button.clicked.disconnect(on_edit_click); + foreach (DataButton button in delete_buttons) button.clicked.disconnect(on_delete_click); + add.clicked.disconnect(on_add_click); + list_box.row_activated.disconnect(on_activate_row); + popover.closed.disconnect(on_popover_closed); + } + + public void restyle() { + add.relief = Gtk.ReliefStyle.NONE; + foreach (DataButton button in edit_buttons) button.restyle(); + foreach (DataButton button in delete_buttons) button.restyle(); + } + + private bool is_search_row(Gtk.ListBoxRow? row) { + if (row == null) return false; + if (row.get_children().last().data is Gtk.Button) return false; + return true; + } + + private SavedSearch get_search(Gtk.ListBoxRow row) { + DataButton button = (row.get_children().first().data as Gtk.Box).get_children().last().data as DataButton; + return button.search; + } + + private void on_activate_row(Gtk.ListBoxRow? row) { + if (is_search_row(row)) + search_activated(get_search(row)); + popover.hide(); + } + + private void on_edit_click(SavedSearch search) { + edit_clicked(search); + } + + private void on_delete_click(SavedSearch search) { + delete_clicked(search); + } + + private void on_add_click() { + add_clicked(); + } + + private void on_popover_closed() { + closed(); + } + + public void show_all() { + popover.show_all(); + } + + public void hide() { + popover.hide(); + } + } public Gtk.UIManager ui = new Gtk.UIManager(); private SearchFilterActions actions; + private SavedSearch saved_search = null; private SearchBox search_box; private RatingFilterButton rating_button = new RatingFilterButton(); + private SavedSearchFilterButton saved_search_button = new SavedSearchFilterButton(); + private bool elide_showing_again = false; private SearchViewFilter? search_filter = null; private LabelToolItem label_type; private ToggleActionToolButton toolbtn_photos; @@ -930,6 +1130,7 @@ public class SearchFilterToolbar : Gtk.Revealer { private ToggleActionToolButton toolbtn_flag; private Gtk.SeparatorToolItem sepr_mediatype_flagged; private Gtk.SeparatorToolItem sepr_flagged_rating; + private Gtk.SeparatorToolItem sepr_rating_saved; public SearchFilterToolbar(SearchFilterActions actions) { this.actions = actions; @@ -1000,6 +1201,17 @@ public class SearchFilterToolbar : Gtk.Revealer { rating_button.clicked.connect(on_filter_button_clicked); toolbar.insert(rating_button, -1); + // separator + sepr_rating_saved = new Gtk.SeparatorToolItem(); + toolbar.insert(sepr_rating_saved, -1); + + // Saved search button + saved_search_button.set_expand(false); + saved_search_button.set_label(_("Saved Search")); + saved_search_button.set_tooltip_text(_("Use a saved search to filter items in the current view")); + saved_search_button.clicked.connect(on_saved_search_button_clicked); + toolbar.insert(saved_search_button, -1); + // Separator to right-align the text box Gtk.SeparatorToolItem separator_align = new Gtk.SeparatorToolItem(); separator_align.set_expand(true); @@ -1163,6 +1375,8 @@ public class SearchFilterToolbar : Gtk.Revealer { RatingFilter filter = (RatingFilter) actions.rating.current_value; search_filter.set_rating_filter(filter); rating_button.set_filter_icon(filter); + + search_filter.saved_search = saved_search; // Ticket #3290, part III - check the current criteria // and show or hide widgets as needed. @@ -1179,6 +1393,8 @@ public class SearchFilterToolbar : Gtk.Revealer { toolbtn_videos.visible = ((criteria & SearchFilterCriteria.MEDIA) != 0); toolbtn_raw.visible = ((criteria & SearchFilterCriteria.MEDIA) != 0); + saved_search_button.visible = ((criteria & SearchFilterCriteria.SAVEDSEARCH) != 0); + // Ticket #3290, part IV - ensure that the separators // are shown and/or hidden as needed. sepr_mediatype_flagged.visible = (label_type.visible && toolbtn_flag.visible); @@ -1214,7 +1430,67 @@ public class SearchFilterToolbar : Gtk.Revealer { rating_button.filter_popup.popup(null, null, position_filter_popup, 0, Gtk.get_current_event_time()); } + + private void on_savedsearch_selected(SavedSearch saved_search) { + this.saved_search = saved_search; + update(); + } + + private void disable_savedsearch() { + this.saved_search = null; + update(); + } + private void edit_dialog(SavedSearch search) { + saved_search_button.filter_popup.hide(); + SavedSearchDialog ssd = new SavedSearchDialog.edit_existing(search); + ssd.show(); + } + + private void delete_dialog(SavedSearch search) { + saved_search_button.filter_popup.hide(); + if (Dialogs.confirm_delete_saved_search(search)) + AppWindow.get_command_manager().execute(new DeleteSavedSearchCommand(search)); + } + + private void add_dialog() { + saved_search_button.filter_popup.hide(); + (new SavedSearchDialog()).show(); + } + + private void on_popover_closed() { + // set_active emits clicked, so have a flag to not actually do anything + elide_showing_again = true; + saved_search_button.set_active(saved_search != null); + saved_search_button.filter_popup.hide(); + } + + private void on_saved_search_button_clicked() { + if (elide_showing_again && saved_search == null) { + } else if (saved_search != null) { + saved_search = null; + saved_search_button.set_active(false); + disable_savedsearch(); + } else { + if (saved_search_button.filter_popup != null) { + saved_search_button.filter_popup.edit_clicked.disconnect(edit_dialog); + saved_search_button.filter_popup.search_activated.disconnect(on_savedsearch_selected); + saved_search_button.filter_popup.delete_clicked.disconnect(delete_dialog); + saved_search_button.filter_popup.add_clicked.disconnect(add_dialog); + saved_search_button.filter_popup.closed.disconnect(on_popover_closed); + } + saved_search_button.filter_popup = new SavedSearchPopover(saved_search_button); + saved_search_button.filter_popup.edit_clicked.connect(edit_dialog); + saved_search_button.filter_popup.search_activated.connect(on_savedsearch_selected); + saved_search_button.filter_popup.delete_clicked.connect(delete_dialog); + saved_search_button.filter_popup.add_clicked.connect(add_dialog); + saved_search_button.filter_popup.closed.connect(on_popover_closed); + + saved_search_button.filter_popup.show_all(); + } + elide_showing_again = false; + } + public void take_focus() { search_box.get_focus(); } diff --git a/src/SlideshowPage.c b/src/SlideshowPage.c new file mode 100644 index 0000000..ea313b0 --- /dev/null +++ b/src/SlideshowPage.c @@ -0,0 +1,3439 @@ +/* SlideshowPage.c generated by valac 0.32.1, the Vala compiler + * generated from SlideshowPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate; + +#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ()) +#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer)) +#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass)) +#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER)) +#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER)) +#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass)) + +typedef struct _ZoomBuffer ZoomBuffer; +typedef struct _ZoomBufferClass ZoomBufferClass; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ()) + +#define TYPE_SLIDESHOW_PAGE (slideshow_page_get_type ()) +#define SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPage)) +#define SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SLIDESHOW_PAGE, SlideshowPageClass)) +#define IS_SLIDESHOW_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SLIDESHOW_PAGE)) +#define IS_SLIDESHOW_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SLIDESHOW_PAGE)) +#define SLIDESHOW_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SLIDESHOW_PAGE, SlideshowPageClass)) + +typedef struct _SlideshowPage SlideshowPage; +typedef struct _SlideshowPageClass SlideshowPageClass; +typedef struct _SlideshowPagePrivate SlideshowPagePrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define 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_PIXBUF_CACHE (pixbuf_cache_get_type ()) +#define PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXBUF_CACHE, PixbufCache)) +#define PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXBUF_CACHE, PixbufCacheClass)) +#define IS_PIXBUF_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXBUF_CACHE)) +#define IS_PIXBUF_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXBUF_CACHE)) +#define PIXBUF_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXBUF_CACHE, PixbufCacheClass)) + +typedef struct _PixbufCache PixbufCache; +typedef struct _PixbufCacheClass PixbufCacheClass; + +#define TYPE_SCREENSAVER (screensaver_get_type ()) +#define SCREENSAVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SCREENSAVER, Screensaver)) +#define SCREENSAVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SCREENSAVER, ScreensaverClass)) +#define IS_SCREENSAVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SCREENSAVER)) +#define IS_SCREENSAVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SCREENSAVER)) +#define SCREENSAVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SCREENSAVER, ScreensaverClass)) + +typedef struct _Screensaver Screensaver; +typedef struct _ScreensaverClass ScreensaverClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) +#define _screensaver_unref0(var) ((var == NULL) ? NULL : (var = (screensaver_unref (var), NULL))) + +#define TYPE_TRANSITION_EFFECTS_MANAGER (transition_effects_manager_get_type ()) +#define TRANSITION_EFFECTS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManager)) +#define TRANSITION_EFFECTS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerClass)) +#define IS_TRANSITION_EFFECTS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSITION_EFFECTS_MANAGER)) +#define IS_TRANSITION_EFFECTS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSITION_EFFECTS_MANAGER)) +#define TRANSITION_EFFECTS_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerClass)) + +typedef struct _TransitionEffectsManager TransitionEffectsManager; +typedef struct _TransitionEffectsManagerClass TransitionEffectsManagerClass; +#define _transition_effects_manager_unref0(var) ((var == NULL) ? NULL : (var = (transition_effects_manager_unref (var), NULL))) + +#define PIXBUF_CACHE_TYPE_PHOTO_TYPE (pixbuf_cache_photo_type_get_type ()) + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define TYPE_DIRECTION (direction_get_type ()) + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) +#define _g_free0(var) (var = (g_free (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_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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG (slideshow_page_settings_dialog_get_type ()) +#define SLIDESHOW_PAGE_SETTINGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG, SlideshowPageSettingsDialog)) +#define SLIDESHOW_PAGE_SETTINGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG, SlideshowPageSettingsDialogClass)) +#define SLIDESHOW_PAGE_IS_SETTINGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG)) +#define SLIDESHOW_PAGE_IS_SETTINGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG)) +#define SLIDESHOW_PAGE_SETTINGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG, SlideshowPageSettingsDialogClass)) + +typedef struct _SlideshowPageSettingsDialog SlideshowPageSettingsDialog; +typedef struct _SlideshowPageSettingsDialogClass SlideshowPageSettingsDialogClass; +#define _pango_attribute_destroy0(var) ((var == NULL) ? NULL : (var = (pango_attribute_destroy (var), NULL))) +#define _pango_attr_list_unref0(var) ((var == NULL) ? NULL : (var = (pango_attr_list_unref (var), NULL))) +typedef struct _SlideshowPageSettingsDialogPrivate SlideshowPageSettingsDialogPrivate; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF, + SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT, + SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS +} SinglePhotoPageUpdateReason; + +struct _SinglePhotoPage { + Page parent_instance; + SinglePhotoPagePrivate * priv; + GtkDrawingArea* canvas; + GtkViewport* viewport; +}; + +struct _SinglePhotoPageClass { + PageClass parent_class; + gboolean (*is_zoom_supported) (SinglePhotoPage* self); + void (*cancel_zoom) (SinglePhotoPage* self); + void (*save_zoom_state) (SinglePhotoPage* self); + void (*restore_zoom_state) (SinglePhotoPage* self); + ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self); + void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); + void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*on_previous_photo) (SinglePhotoPage* self); + void (*on_next_photo) (SinglePhotoPage* self); +}; + +struct _SlideshowPage { + SinglePhotoPage parent_instance; + SlideshowPagePrivate * priv; +}; + +struct _SlideshowPageClass { + SinglePhotoPageClass parent_class; +}; + +struct _SlideshowPagePrivate { + SourceCollection* sources; + ViewCollection* controller; + Photo* current; + GtkToolButton* play_pause_button; + GtkToolButton* settings_button; + PixbufCache* cache; + GTimer* timer; + gboolean playing; + gboolean exiting; + gchar** transitions; + gint transitions_length1; + gint _transitions_size_; + Screensaver* screensaver; +}; + +typedef enum { + PIXBUF_CACHE_PHOTO_TYPE_BASELINE, + PIXBUF_CACHE_PHOTO_TYPE_MASTER +} PixbufCachePhotoType; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef gboolean (*PixbufCacheCacheFilter) (Photo* photo, void* user_data); +typedef enum { + DIRECTION_FORWARD, + DIRECTION_BACKWARD +} Direction; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _SlideshowPageSettingsDialog { + GtkDialog parent_instance; + SlideshowPageSettingsDialogPrivate * priv; +}; + +struct _SlideshowPageSettingsDialogClass { + GtkDialogClass parent_class; +}; + +struct _SlideshowPageSettingsDialogPrivate { + GtkBuilder* builder; + GtkSpinButton* delay_entry; + GtkScale* delay_hscale; + GtkComboBoxText* transition_effect_selector; + GtkScale* transition_effect_hscale; + GtkSpinButton* transition_effect_entry; + GtkAdjustment* transition_effect_adjustment; + GtkCheckButton* show_title_button; + GtkBox* pane; +}; + + +static gpointer slideshow_page_parent_class = NULL; +static gpointer slideshow_page_settings_dialog_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType zoom_buffer_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST; +GType slideshow_page_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +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 pixbuf_cache_get_type (void) G_GNUC_CONST; +gpointer screensaver_ref (gpointer instance); +void screensaver_unref (gpointer instance); +GParamSpec* param_spec_screensaver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_screensaver (GValue* value, gpointer v_object); +void value_take_screensaver (GValue* value, gpointer v_object); +gpointer value_get_screensaver (const GValue* value); +GType screensaver_get_type (void) G_GNUC_CONST; +#define SLIDESHOW_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SLIDESHOW_PAGE, SlideshowPagePrivate)) +enum { + SLIDESHOW_PAGE_DUMMY_PROPERTY +}; +#define SLIDESHOW_PAGE_READAHEAD_COUNT 5 +#define SLIDESHOW_PAGE_CHECK_ADVANCE_MSEC 250 +SlideshowPage* slideshow_page_new (SourceCollection* sources, ViewCollection* controller, Photo* start); +SlideshowPage* slideshow_page_construct (GType object_type, SourceCollection* sources, ViewCollection* controller, Photo* start); +SinglePhotoPage* single_photo_page_construct (GType object_type, const gchar* page_name, gboolean scale_up_to_viewport); +gpointer transition_effects_manager_ref (gpointer instance); +void transition_effects_manager_unref (gpointer instance); +GParamSpec* param_spec_transition_effects_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_transition_effects_manager (GValue* value, gpointer v_object); +void value_take_transition_effects_manager (GValue* value, gpointer v_object); +gpointer value_get_transition_effects_manager (const GValue* value); +GType transition_effects_manager_get_type (void) G_GNUC_CONST; +TransitionEffectsManager* transition_effects_manager_get_instance (void); +GeeCollection* transition_effects_manager_get_effect_ids (TransitionEffectsManager* self); +#define NULL_TRANSITION_DESCRIPTOR_EFFECT_ID "org.yorba.shotwell.transitions.null" +#define RANDOM_EFFECT_DESCRIPTOR_EFFECT_ID "org.yorba.shotwell.transitions.random" +static void slideshow_page_update_transition_effect (SlideshowPage* self); +GtkToolbar* page_get_toolbar (Page* self); +void single_photo_page_on_previous_photo (SinglePhotoPage* self); +static void _single_photo_page_on_previous_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +static void slideshow_page_on_play_pause (SlideshowPage* self); +static void _slideshow_page_on_play_pause_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +void single_photo_page_on_next_photo (SinglePhotoPage* self); +static void _single_photo_page_on_next_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +static void slideshow_page_on_change_settings (SlideshowPage* self); +static void _slideshow_page_on_change_settings_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self); +Screensaver* screensaver_new (void); +Screensaver* screensaver_construct (GType object_type); +static void slideshow_page_real_switched_to (Page* base); +void page_switched_to (Page* self); +GType pixbuf_cache_photo_type_get_type (void) G_GNUC_CONST; +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void single_photo_page_get_canvas_scaling (SinglePhotoPage* self, Scaling* result); +PixbufCache* pixbuf_cache_new (SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target); +PixbufCache* pixbuf_cache_construct (GType object_type, SourceCollection* sources, PixbufCachePhotoType type, Scaling* scaling, gint max_count, PixbufCacheCacheFilter filter, void* filter_target); +GType direction_get_type (void) G_GNUC_CONST; +static gboolean slideshow_page_get_next_photo (SlideshowPage* self, Photo* start, Direction direction, Photo** next, GdkPixbuf** next_pixbuf); +void single_photo_page_set_pixbuf (SinglePhotoPage* self, GdkPixbuf* unscaled, Dimensions* max_dim, Direction* direction); +GType photo_exception_get_type (void) G_GNUC_CONST; +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +static gboolean slideshow_page_auto_advance (SlideshowPage* self); +static gboolean _slideshow_page_auto_advance_gsource_func (gpointer self); +void screensaver_inhibit (Screensaver* self, const gchar* reason); +static void slideshow_page_real_switching_from (Page* base); +void page_switching_from (Page* self); +void screensaver_uninhibit (Screensaver* self); +GdkPixbuf* pixbuf_cache_fetch (PixbufCache* self, Photo* photo, GError** error); +gchar* data_object_to_string (DataObject* self); +GType data_view_get_type (void) G_GNUC_CONST; +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +DataView* view_collection_get_next (ViewCollection* self, DataView* view); +DataView* view_collection_get_previous (ViewCollection* self, DataView* view); +DataSource* data_view_get_source (DataView* self); +void app_window_error_message (const gchar* message, GtkWindow* parent); +GtkWindow* page_get_container (Page* self); +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +void app_window_end_fullscreen (AppWindow* self); +gboolean view_collection_get_immediate_neighbors (ViewCollection* self, DataSource* home, DataSource** next, DataSource** prev, const gchar* type_selector); +#define PHOTO_TYPENAME "thumb" +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +void pixbuf_cache_prefetch (PixbufCache* self, Photo* photo, BackgroundJobJobPriority priority, gboolean force); +GeeSet* view_collection_get_extended_neighbors (ViewCollection* self, DataSource* home, const gchar* typename); +void pixbuf_cache_prefetch_many (PixbufCache* self, GeeCollection* photos, BackgroundJobJobPriority priority, gboolean force); +static void slideshow_page_real_on_previous_photo (SinglePhotoPage* base); +static void slideshow_page_advance (SlideshowPage* self, Photo* photo, Direction direction); +static void slideshow_page_real_on_next_photo (SinglePhotoPage* base); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gchar* configuration_facade_get_slideshow_transition_effect_id (ConfigurationFacade* self); +static void slideshow_page_random_transition_effect (SlideshowPage* self); +gdouble configuration_facade_get_slideshow_delay (ConfigurationFacade* self); +static gboolean slideshow_page_real_key_press_event (GtkWidget* base, GdkEventKey* event); +static GType slideshow_page_settings_dialog_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SlideshowPageSettingsDialog* slideshow_page_settings_dialog_new (void); +static SlideshowPageSettingsDialog* slideshow_page_settings_dialog_construct (GType object_type); +void configuration_facade_set_slideshow_delay (ConfigurationFacade* self, gdouble delay); +static gdouble slideshow_page_settings_dialog_get_delay (SlideshowPageSettingsDialog* self); +void configuration_facade_set_slideshow_transition_delay (ConfigurationFacade* self, gdouble delay); +static gdouble slideshow_page_settings_dialog_get_transition_delay (SlideshowPageSettingsDialog* self); +void configuration_facade_set_slideshow_transition_effect_id (ConfigurationFacade* self, const gchar* id); +static gchar* slideshow_page_settings_dialog_get_transition_effect_id (SlideshowPageSettingsDialog* self); +void configuration_facade_set_slideshow_show_title (ConfigurationFacade* self, gboolean show_title); +static gboolean slideshow_page_settings_dialog_get_show_title (SlideshowPageSettingsDialog* self); +gdouble configuration_facade_get_slideshow_transition_delay (ConfigurationFacade* self); +void single_photo_page_set_transition (SinglePhotoPage* self, const gchar* effect_id, gint duration_msec); +#define TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID NULL_TRANSITION_DESCRIPTOR_EFFECT_ID +static void slideshow_page_paint_title (SlideshowPage* self, cairo_t* ctx, Dimensions* ctx_dim); +gchar* media_source_get_title (MediaSource* self); +void set_source_color_from_string (cairo_t* ctx, const gchar* spec); +static void slideshow_page_real_paint (SinglePhotoPage* base, cairo_t* ctx, Dimensions* ctx_dim); +void single_photo_page_paint (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); +gboolean configuration_facade_get_slideshow_show_title (ConfigurationFacade* self); +gboolean single_photo_page_is_transition_in_progress (SinglePhotoPage* self); +#define SLIDESHOW_PAGE_SETTINGS_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG, SlideshowPageSettingsDialogPrivate)) +enum { + SLIDESHOW_PAGE_SETTINGS_DIALOG_DUMMY_PROPERTY +}; +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user); +FullscreenWindow* app_window_get_fullscreen (void); +#define RESOURCES_CANCEL_LABEL _ ("_Cancel") +#define RESOURCES_OK_LABEL _ ("_OK") +#define CONFIG_FACADE_SLIDESHOW_DELAY_MIN 1.0 +#define CONFIG_FACADE_SLIDESHOW_DELAY_MAX 30.0 +gchar* transition_effects_manager_get_effect_name (TransitionEffectsManager* self, const gchar* effect_id); +GeeCollection* transition_effects_manager_get_effect_names (TransitionEffectsManager* self, GCompareDataFunc comparator, void* comparator_target, GDestroyNotify comparator_target_destroy_notify); +gint utf8_ci_compare (void* a, void* b); +static gint _utf8_ci_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +gchar* transition_effects_manager_get_id_for_effect_name (TransitionEffectsManager* self, const gchar* effect_name); +static void slideshow_page_settings_dialog_on_transition_changed (SlideshowPageSettingsDialog* self); +static void _slideshow_page_settings_dialog_on_transition_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +#define CONFIG_FACADE_SLIDESHOW_TRANSITION_DELAY_MIN 0.1 +#define CONFIG_FACADE_SLIDESHOW_TRANSITION_DELAY_MAX 1.0 +static void slideshow_page_settings_dialog_finalize (GObject* obj); +static void slideshow_page_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 143 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return self ? data_collection_ref (self) : NULL; +#line 659 "SlideshowPage.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 152 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return self ? g_object_ref (self) : NULL; +#line 666 "SlideshowPage.c" +} + + +static void _single_photo_page_on_previous_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 163 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + single_photo_page_on_previous_photo ((SinglePhotoPage*) self); +#line 673 "SlideshowPage.c" +} + + +static void _slideshow_page_on_play_pause_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 170 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_on_play_pause ((SlideshowPage*) self); +#line 680 "SlideshowPage.c" +} + + +static void _single_photo_page_on_next_photo_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 177 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + single_photo_page_on_next_photo ((SinglePhotoPage*) self); +#line 687 "SlideshowPage.c" +} + + +static void _slideshow_page_on_change_settings_gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) { +#line 185 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_on_change_settings ((SlideshowPage*) self); +#line 694 "SlideshowPage.c" +} + + +SlideshowPage* slideshow_page_construct (GType object_type, SourceCollection* sources, ViewCollection* controller, Photo* start) { + SlideshowPage * self = NULL; + const gchar* _tmp0_ = NULL; + SourceCollection* _tmp1_ = NULL; + SourceCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + GeeCollection* pluggables = NULL; + TransitionEffectsManager* _tmp5_ = NULL; + TransitionEffectsManager* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeArrayList* a = NULL; + GeeArrayList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + Photo* _tmp13_ = NULL; + GtkToolbar* toolbar = NULL; + GtkToolbar* _tmp14_ = NULL; + GtkToolButton* previous_button = NULL; + const gchar* _tmp15_ = NULL; + GtkToolButton* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + GtkToolButton* _tmp19_ = NULL; + GtkToolButton* _tmp20_ = NULL; + GtkToolButton* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + GtkToolButton* _tmp23_ = NULL; + GtkToolButton* _tmp24_ = NULL; + GtkToolButton* next_button = NULL; + const gchar* _tmp25_ = NULL; + GtkToolButton* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + GtkToolButton* _tmp28_ = NULL; + GtkToolButton* _tmp29_ = NULL; + GtkToolButton* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + GtkToolButton* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + GtkToolButton* _tmp34_ = NULL; + GtkToolButton* _tmp35_ = NULL; + GtkToolButton* _tmp36_ = NULL; + Screensaver* _tmp37_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (sources), NULL); +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (controller), NULL); +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (IS_PHOTO (start), NULL); +#line 141 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = _ ("Slideshow"); +#line 141 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = (SlideshowPage*) single_photo_page_construct (object_type, _tmp0_, TRUE); +#line 143 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = sources; +#line 143 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = _data_collection_ref0 (_tmp1_); +#line 143 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _data_collection_unref0 (self->priv->sources); +#line 143 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->sources = _tmp2_; +#line 144 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = controller; +#line 144 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = _data_collection_ref0 (_tmp3_); +#line 144 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _data_collection_unref0 (self->priv->controller); +#line 144 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->controller = _tmp4_; +#line 146 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = transition_effects_manager_get_instance (); +#line 146 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = _tmp5_; +#line 146 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = transition_effects_manager_get_effect_ids (_tmp6_); +#line 146 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = _tmp7_; +#line 146 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _transition_effects_manager_unref0 (_tmp6_); +#line 146 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pluggables = _tmp8_; +#line 147 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 147 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + a = _tmp9_; +#line 148 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gee_array_list_add_all (a, pluggables); +#line 149 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (a, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), NULL_TRANSITION_DESCRIPTOR_EFFECT_ID); +#line 150 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (a, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), RANDOM_EFFECT_DESCRIPTOR_EFFECT_ID); +#line 151 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (a, GEE_TYPE_COLLECTION, GeeCollection), &_tmp10_); +#line 151 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->transitions = (_vala_array_free (self->priv->transitions, self->priv->transitions_length1, (GDestroyNotify) g_free), NULL); +#line 151 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->transitions = _tmp11_; +#line 151 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->transitions_length1 = _tmp10_; +#line 151 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->_transitions_size_ = self->priv->transitions_length1; +#line 152 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = start; +#line 152 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 152 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->current); +#line 152 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->current = _tmp13_; +#line 154 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_update_transition_effect (self); +#line 157 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp14_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 157 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + toolbar = _tmp14_; +#line 160 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp15_ = _ ("Back"); +#line 160 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp16_ = (GtkToolButton*) gtk_tool_button_new (NULL, _tmp15_); +#line 160 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_object_ref_sink (_tmp16_); +#line 160 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + previous_button = _tmp16_; +#line 161 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_icon_name (previous_button, "go-previous"); +#line 162 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp17_ = _ ("Go to the previous photo"); +#line 162 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (previous_button, gtk_tool_item_get_type (), GtkToolItem), _tmp17_); +#line 163 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_signal_connect_object (previous_button, "clicked", (GCallback) _single_photo_page_on_previous_photo_gtk_tool_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), 0); +#line 165 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (previous_button, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 167 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp18_ = _ ("Pause"); +#line 167 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp19_ = (GtkToolButton*) gtk_tool_button_new (NULL, _tmp18_); +#line 167 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_object_ref_sink (_tmp19_); +#line 167 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->play_pause_button); +#line 167 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->play_pause_button = _tmp19_; +#line 168 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp20_ = self->priv->play_pause_button; +#line 168 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_icon_name (_tmp20_, "media-playback-pause"); +#line 169 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp21_ = self->priv->play_pause_button; +#line 169 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp22_ = _ ("Pause the slideshow"); +#line 169 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_tool_item_get_type (), GtkToolItem), _tmp22_); +#line 170 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp23_ = self->priv->play_pause_button; +#line 170 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_signal_connect_object (_tmp23_, "clicked", (GCallback) _slideshow_page_on_play_pause_gtk_tool_button_clicked, self, 0); +#line 172 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp24_ = self->priv->play_pause_button; +#line 172 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 174 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp25_ = _ ("Next"); +#line 174 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp26_ = (GtkToolButton*) gtk_tool_button_new (NULL, _tmp25_); +#line 174 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_object_ref_sink (_tmp26_); +#line 174 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + next_button = _tmp26_; +#line 175 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_icon_name (next_button, "go-next"); +#line 176 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp27_ = _ ("Go to the next photo"); +#line 176 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (next_button, gtk_tool_item_get_type (), GtkToolItem), _tmp27_); +#line 177 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_signal_connect_object (next_button, "clicked", (GCallback) _single_photo_page_on_next_photo_gtk_tool_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), 0); +#line 179 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (next_button, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 181 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp28_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL); +#line 181 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_object_ref_sink (_tmp28_); +#line 181 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->settings_button); +#line 181 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->settings_button = _tmp28_; +#line 182 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp29_ = self->priv->settings_button; +#line 182 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_icon_name (_tmp29_, "preferences-system"); +#line 183 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp30_ = self->priv->settings_button; +#line 183 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp31_ = _ ("Settings"); +#line 183 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_label (_tmp30_, _tmp31_); +#line 184 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp32_ = self->priv->settings_button; +#line 184 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp33_ = _ ("Change slideshow settings"); +#line 184 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_tool_item_get_type (), GtkToolItem), _tmp33_); +#line 185 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp34_ = self->priv->settings_button; +#line 185 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_signal_connect_object (_tmp34_, "clicked", (GCallback) _slideshow_page_on_change_settings_gtk_tool_button_clicked, self, 0); +#line 186 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp35_ = self->priv->settings_button; +#line 186 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_item_set_is_important (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_tool_item_get_type (), GtkToolItem), TRUE); +#line 188 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp36_ = self->priv->settings_button; +#line 188 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 190 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp37_ = screensaver_new (); +#line 190 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _screensaver_unref0 (self->priv->screensaver); +#line 190 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->screensaver = _tmp37_; +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_button); +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (previous_button); +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (toolbar); +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (a); +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (pluggables); +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return self; +#line 933 "SlideshowPage.c" +} + + +SlideshowPage* slideshow_page_new (SourceCollection* sources, ViewCollection* controller, Photo* start) { +#line 140 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return slideshow_page_construct (TYPE_SLIDESHOW_PAGE, sources, controller, start); +#line 940 "SlideshowPage.c" +} + + +static gboolean _slideshow_page_auto_advance_gsource_func (gpointer self) { + gboolean result; + result = slideshow_page_auto_advance ((SlideshowPage*) self); +#line 205 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 949 "SlideshowPage.c" +} + + +static void slideshow_page_real_switched_to (Page* base) { + SlideshowPage * self; + SourceCollection* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + PixbufCache* _tmp2_ = NULL; + GdkPixbuf* pixbuf = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GTimer* _tmp11_ = NULL; + Screensaver* _tmp12_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDESHOW_PAGE, SlideshowPage); +#line 194 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + PAGE_CLASS (slideshow_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page)); +#line 197 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->sources; +#line 197 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + single_photo_page_get_canvas_scaling (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_); +#line 197 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = pixbuf_cache_new (_tmp0_, PIXBUF_CACHE_PHOTO_TYPE_BASELINE, &_tmp1_, SLIDESHOW_PAGE_READAHEAD_COUNT, NULL, NULL); +#line 197 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->cache); +#line 197 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->cache = _tmp2_; +#line 201 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = self->priv->current; +#line 201 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = slideshow_page_get_next_photo (self, _tmp3_, DIRECTION_FORWARD, &_tmp4_, &_tmp5_); +#line 201 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->current); +#line 201 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->current = _tmp4_; +#line 201 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (pixbuf); +#line 201 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pixbuf = _tmp5_; +#line 201 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp6_) { +#line 993 "SlideshowPage.c" + GdkPixbuf* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Dimensions _tmp9_ = {0}; + Direction _tmp10_ = 0; +#line 202 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = pixbuf; +#line 202 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = self->priv->current; +#line 202 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp9_); +#line 202 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = DIRECTION_FORWARD; +#line 202 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp7_, &_tmp9_, &_tmp10_); +#line 1008 "SlideshowPage.c" + } +#line 205 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) SLIDESHOW_PAGE_CHECK_ADVANCE_MSEC, _slideshow_page_auto_advance_gsource_func, g_object_ref (self), g_object_unref); +#line 206 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = self->priv->timer; +#line 206 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_timer_start (_tmp11_); +#line 208 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = self->priv->screensaver; +#line 208 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + screensaver_inhibit (_tmp12_, "Playing slideshow"); +#line 193 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (pixbuf); +#line 1022 "SlideshowPage.c" +} + + +static void slideshow_page_real_switching_from (Page* base) { + SlideshowPage * self; + Screensaver* _tmp0_ = NULL; +#line 211 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDESHOW_PAGE, SlideshowPage); +#line 212 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + PAGE_CLASS (slideshow_page_parent_class)->switching_from (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page)); +#line 214 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->screensaver; +#line 214 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + screensaver_uninhibit (_tmp0_); +#line 215 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->exiting = TRUE; +#line 1039 "SlideshowPage.c" +} + + +static gboolean slideshow_page_get_next_photo (SlideshowPage* self, Photo* start, Direction direction, Photo** next, GdkPixbuf** next_pixbuf) { + Photo* _vala_next = NULL; + GdkPixbuf* _vala_next_pixbuf = NULL; + gboolean result = FALSE; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (IS_SLIDESHOW_PAGE (self), FALSE); +#line 218 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (IS_PHOTO (start), FALSE); +#line 220 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = start; +#line 220 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 220 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next); +#line 220 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _vala_next = _tmp1_; +#line 1062 "SlideshowPage.c" + { + gboolean _tmp2_ = FALSE; +#line 222 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = TRUE; +#line 222 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + while (TRUE) { +#line 1069 "SlideshowPage.c" + DataSource* forward = NULL; + DataSource* back = NULL; + ViewCollection* _tmp40_ = NULL; + Photo* _tmp41_ = NULL; + DataSource* _tmp42_ = NULL; + DataSource* _tmp43_ = NULL; + PixbufCache* _tmp44_ = NULL; + DataSource* _tmp45_ = NULL; + PixbufCache* _tmp46_ = NULL; + DataSource* _tmp47_ = NULL; + GeeSet* neighbors = NULL; + ViewCollection* _tmp48_ = NULL; + Photo* _tmp49_ = NULL; + GeeSet* _tmp50_ = NULL; + GeeSet* _tmp51_ = NULL; + DataSource* _tmp52_ = NULL; + GeeSet* _tmp53_ = NULL; + DataSource* _tmp54_ = NULL; + PixbufCache* _tmp55_ = NULL; + GeeSet* _tmp56_ = NULL; +#line 222 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (!_tmp2_) { +#line 1092 "SlideshowPage.c" + } +#line 222 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = FALSE; +#line 1096 "SlideshowPage.c" + { + GdkPixbuf* _tmp3_ = NULL; + PixbufCache* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = self->priv->cache; +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = _vala_next; +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = pixbuf_cache_fetch (_tmp4_, _tmp5_, &_inner_error_); +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = _tmp6_; +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1113 "SlideshowPage.c" + goto __catch450_g_error; + } +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = _tmp3_; +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next_pixbuf); +#line 225 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _vala_next_pixbuf = _tmp7_; +#line 223 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp3_); +#line 1126 "SlideshowPage.c" + } + goto __finally450; + __catch450_g_error: + { + GError* err = NULL; + Photo* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + DataView* view = NULL; + ViewCollection* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; + DataView* _tmp16_ = NULL; + Direction _tmp17_ = 0; + DataView* _tmp24_ = NULL; + DataView* _tmp25_ = NULL; + DataSource* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + Photo* _tmp29_ = NULL; + Photo* _tmp30_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + err = _inner_error_; +#line 223 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _inner_error_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = _vala_next; +#line 227 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject)); +#line 227 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = _tmp9_; +#line 227 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = err; +#line 227 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = _tmp11_->message; +#line 227 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_warning ("SlideshowPage.vala:227: Unable to fetch pixbuf for %s: %s", _tmp10_, _tmp12_); +#line 227 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (_tmp10_); +#line 230 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp13_ = self->priv->controller; +#line 230 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp14_ = _vala_next; +#line 230 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp15_ = view_collection_get_view_for_source (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_SOURCE, DataSource)); +#line 230 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + view = _tmp15_; +#line 231 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp17_ = direction; +#line 231 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp17_ == DIRECTION_FORWARD) { +#line 1180 "SlideshowPage.c" + ViewCollection* _tmp18_ = NULL; + DataView* _tmp19_ = NULL; + DataView* _tmp20_ = NULL; +#line 232 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp18_ = self->priv->controller; +#line 232 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp19_ = view; +#line 232 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp20_ = view_collection_get_next (_tmp18_, _tmp19_); +#line 232 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp16_); +#line 232 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp16_ = _tmp20_; +#line 1194 "SlideshowPage.c" + } else { + ViewCollection* _tmp21_ = NULL; + DataView* _tmp22_ = NULL; + DataView* _tmp23_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp21_ = self->priv->controller; +#line 233 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp22_ = view; +#line 233 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp23_ = view_collection_get_previous (_tmp21_, _tmp22_); +#line 233 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp16_); +#line 233 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp16_ = _tmp23_; +#line 1209 "SlideshowPage.c" + } +#line 231 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp24_ = _g_object_ref0 (_tmp16_); +#line 231 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (view); +#line 231 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + view = _tmp24_; +#line 234 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp25_ = view; +#line 234 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp26_ = data_view_get_source (_tmp25_); +#line 234 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next); +#line 234 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _vala_next = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_PHOTO, Photo); +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp29_ = _vala_next; +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp30_ = start; +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp29_ == _tmp30_) { +#line 1231 "SlideshowPage.c" + Photo* _tmp31_ = NULL; + Photo* _tmp32_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp31_ = _vala_next; +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp32_ = self->priv->current; +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp28_ = _tmp31_ != _tmp32_; +#line 1240 "SlideshowPage.c" + } else { +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp28_ = FALSE; +#line 1244 "SlideshowPage.c" + } +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp28_) { +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp27_ = TRUE; +#line 1250 "SlideshowPage.c" + } else { + Photo* _tmp33_ = NULL; + Photo* _tmp34_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp33_ = _vala_next; +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp34_ = self->priv->current; +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp27_ = _tmp33_ == _tmp34_; +#line 1260 "SlideshowPage.c" + } +#line 237 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp27_) { +#line 1264 "SlideshowPage.c" + const gchar* _tmp35_ = NULL; + GtkWindow* _tmp36_ = NULL; + GtkWindow* _tmp37_ = NULL; + AppWindow* _tmp38_ = NULL; + AppWindow* _tmp39_ = NULL; +#line 238 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp35_ = _ ("All photo source files are missing."); +#line 238 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp36_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 238 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp37_ = _tmp36_; +#line 238 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + app_window_error_message (_tmp35_, _tmp37_); +#line 238 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp37_); +#line 239 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp38_ = app_window_get_instance (); +#line 239 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp39_ = _tmp38_; +#line 239 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + app_window_end_fullscreen (_tmp39_); +#line 239 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp39_); +#line 241 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next); +#line 241 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _vala_next = NULL; +#line 242 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next_pixbuf); +#line 242 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _vala_next_pixbuf = NULL; +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = FALSE; +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp16_); +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (view); +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_error_free0 (err); +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (next) { +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + *next = _vala_next; +#line 1308 "SlideshowPage.c" + } else { +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next); +#line 1312 "SlideshowPage.c" + } +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (next_pixbuf) { +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + *next_pixbuf = _vala_next_pixbuf; +#line 1318 "SlideshowPage.c" + } else { +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next_pixbuf); +#line 1322 "SlideshowPage.c" + } +#line 244 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 1326 "SlideshowPage.c" + } +#line 247 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp16_); +#line 247 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (view); +#line 247 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_error_free0 (err); +#line 247 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + continue; +#line 1336 "SlideshowPage.c" + } + __finally450: +#line 223 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 223 "/home/jens/Source/shotwell/src/SlideshowPage.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 223 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_clear_error (&_inner_error_); +#line 223 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return FALSE; +#line 1347 "SlideshowPage.c" + } +#line 253 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp40_ = self->priv->controller; +#line 253 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp41_ = _vala_next; +#line 253 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + view_collection_get_immediate_neighbors (_tmp40_, G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_DATA_SOURCE, DataSource), &_tmp42_, &_tmp43_, PHOTO_TYPENAME); +#line 253 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (forward); +#line 253 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + forward = _tmp42_; +#line 253 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (back); +#line 253 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + back = _tmp43_; +#line 254 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp44_ = self->priv->cache; +#line 254 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp45_ = forward; +#line 254 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pixbuf_cache_prefetch (_tmp44_, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_PHOTO, Photo), BACKGROUND_JOB_JOB_PRIORITY_HIGHEST, FALSE); +#line 255 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp46_ = self->priv->cache; +#line 255 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp47_ = back; +#line 255 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pixbuf_cache_prefetch (_tmp46_, G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_PHOTO, Photo), BACKGROUND_JOB_JOB_PRIORITY_NORMAL, FALSE); +#line 257 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp48_ = self->priv->controller; +#line 257 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp49_ = _vala_next; +#line 257 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp50_ = view_collection_get_extended_neighbors (_tmp48_, G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, TYPE_DATA_SOURCE, DataSource), PHOTO_TYPENAME); +#line 257 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + neighbors = _tmp50_; +#line 258 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp51_ = neighbors; +#line 258 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp52_ = forward; +#line 258 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection), _tmp52_); +#line 259 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp53_ = neighbors; +#line 259 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp54_ = back; +#line 259 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection), _tmp54_); +#line 261 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp55_ = self->priv->cache; +#line 261 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp56_ = neighbors; +#line 261 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pixbuf_cache_prefetch_many (_tmp55_, G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GEE_TYPE_COLLECTION, GeeCollection), BACKGROUND_JOB_JOB_PRIORITY_LOWEST, FALSE); +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = TRUE; +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (neighbors); +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (back); +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (forward); +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (next) { +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + *next = _vala_next; +#line 1413 "SlideshowPage.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next); +#line 1417 "SlideshowPage.c" + } +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (next_pixbuf) { +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + *next_pixbuf = _vala_next_pixbuf; +#line 1423 "SlideshowPage.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next_pixbuf); +#line 1427 "SlideshowPage.c" + } +#line 263 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 1431 "SlideshowPage.c" + } + } +#line 218 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (next) { +#line 218 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + *next = _vala_next; +#line 1438 "SlideshowPage.c" + } else { +#line 218 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next); +#line 1442 "SlideshowPage.c" + } +#line 218 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (next_pixbuf) { +#line 218 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + *next_pixbuf = _vala_next_pixbuf; +#line 1448 "SlideshowPage.c" + } else { +#line 218 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_vala_next_pixbuf); +#line 1452 "SlideshowPage.c" + } +} + + +static void slideshow_page_on_play_pause (SlideshowPage* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp11_ = FALSE; + GTimer* _tmp12_ = NULL; +#line 267 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (IS_SLIDESHOW_PAGE (self)); +#line 268 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->playing; +#line 268 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp0_) { +#line 1467 "SlideshowPage.c" + GtkToolButton* _tmp1_ = NULL; + GtkToolButton* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkToolButton* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 269 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = self->priv->play_pause_button; +#line 269 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_icon_name (_tmp1_, "media-playback-start"); +#line 270 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = self->priv->play_pause_button; +#line 270 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = _ ("Play"); +#line 270 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_label (_tmp2_, _tmp3_); +#line 271 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = self->priv->play_pause_button; +#line 271 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = _ ("Continue the slideshow"); +#line 271 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_tool_item_get_type (), GtkToolItem), _tmp5_); +#line 1489 "SlideshowPage.c" + } else { + GtkToolButton* _tmp6_ = NULL; + GtkToolButton* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkToolButton* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = self->priv->play_pause_button; +#line 273 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_icon_name (_tmp6_, "media-playback-pause"); +#line 274 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = self->priv->play_pause_button; +#line 274 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = _ ("Pause"); +#line 274 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_button_set_label (_tmp7_, _tmp8_); +#line 275 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = self->priv->play_pause_button; +#line 275 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = _ ("Pause the slideshow"); +#line 275 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_tool_item_get_type (), GtkToolItem), _tmp10_); +#line 1512 "SlideshowPage.c" + } +#line 278 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = self->priv->playing; +#line 278 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->playing = !_tmp11_; +#line 281 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = self->priv->timer; +#line 281 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_timer_start (_tmp12_); +#line 1522 "SlideshowPage.c" +} + + +static void slideshow_page_real_on_previous_photo (SinglePhotoPage* base) { + SlideshowPage * self; + DataView* view = NULL; + ViewCollection* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + Photo* prev_photo = NULL; + DataView* start_view = NULL; + ViewCollection* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + DataView* _tmp5_ = NULL; + DataView* prev_view = NULL; + DataView* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + Photo* _tmp20_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDESHOW_PAGE, SlideshowPage); +#line 285 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->controller; +#line 285 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = self->priv->current; +#line 285 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = view_collection_get_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource)); +#line 285 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + view = _tmp2_; +#line 287 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + prev_photo = NULL; +#line 288 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = self->priv->controller; +#line 288 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = view; +#line 288 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = view_collection_get_previous (_tmp3_, _tmp4_); +#line 288 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + start_view = _tmp5_; +#line 289 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = start_view; +#line 289 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 289 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + prev_view = _tmp7_; +#line 291 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + while (TRUE) { +#line 1569 "SlideshowPage.c" + DataView* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + ViewCollection* _tmp15_ = NULL; + DataView* _tmp16_ = NULL; + DataView* _tmp17_ = NULL; + DataView* _tmp18_ = NULL; + DataView* _tmp19_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = prev_view; +#line 291 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (!(_tmp8_ != NULL)) { +#line 291 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + break; +#line 1586 "SlideshowPage.c" + } +#line 292 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = prev_view; +#line 292 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = data_view_get_source (_tmp9_); +#line 292 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = _tmp10_; +#line 292 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_PHOTO); +#line 292 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp11_); +#line 292 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp12_) { +#line 1600 "SlideshowPage.c" + DataView* _tmp13_ = NULL; + DataSource* _tmp14_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp13_ = prev_view; +#line 293 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp14_ = data_view_get_source (_tmp13_); +#line 293 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (prev_photo); +#line 293 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + prev_photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO, Photo); +#line 294 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + break; +#line 1613 "SlideshowPage.c" + } +#line 297 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp15_ = self->priv->controller; +#line 297 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp16_ = prev_view; +#line 297 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp17_ = view_collection_get_previous (_tmp15_, _tmp16_); +#line 297 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (prev_view); +#line 297 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + prev_view = _tmp17_; +#line 299 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp18_ = prev_view; +#line 299 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp19_ = start_view; +#line 299 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp18_ == _tmp19_) { +#line 300 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_warning ("SlideshowPage.vala:300: on_previous( ): can't advance to previous phot" \ +"o: collection has only videos"); +#line 301 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (prev_view); +#line 301 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (start_view); +#line 301 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (prev_photo); +#line 301 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (view); +#line 301 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return; +#line 1643 "SlideshowPage.c" + } + } +#line 305 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp20_ = prev_photo; +#line 305 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_advance (self, _tmp20_, DIRECTION_BACKWARD); +#line 284 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (prev_view); +#line 284 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (start_view); +#line 284 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (prev_photo); +#line 284 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (view); +#line 1658 "SlideshowPage.c" +} + + +static void slideshow_page_real_on_next_photo (SinglePhotoPage* base) { + SlideshowPage * self; + DataView* view = NULL; + ViewCollection* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + Photo* next_photo = NULL; + DataView* start_view = NULL; + ViewCollection* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + DataView* _tmp5_ = NULL; + DataView* next_view = NULL; + DataView* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + ConfigFacade* _tmp20_ = NULL; + ConfigFacade* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + Photo* _tmp25_ = NULL; +#line 308 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDESHOW_PAGE, SlideshowPage); +#line 309 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->controller; +#line 309 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = self->priv->current; +#line 309 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = view_collection_get_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource)); +#line 309 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + view = _tmp2_; +#line 311 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + next_photo = NULL; +#line 312 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = self->priv->controller; +#line 312 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = view; +#line 312 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = view_collection_get_next (_tmp3_, _tmp4_); +#line 312 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + start_view = _tmp5_; +#line 313 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = start_view; +#line 313 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 313 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + next_view = _tmp7_; +#line 315 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + while (TRUE) { +#line 1710 "SlideshowPage.c" + DataView* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + ViewCollection* _tmp15_ = NULL; + DataView* _tmp16_ = NULL; + DataView* _tmp17_ = NULL; + DataView* _tmp18_ = NULL; + DataView* _tmp19_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = next_view; +#line 315 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (!(_tmp8_ != NULL)) { +#line 315 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + break; +#line 1727 "SlideshowPage.c" + } +#line 316 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = next_view; +#line 316 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = data_view_get_source (_tmp9_); +#line 316 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = _tmp10_; +#line 316 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_PHOTO); +#line 316 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp11_); +#line 316 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp12_) { +#line 1741 "SlideshowPage.c" + DataView* _tmp13_ = NULL; + DataSource* _tmp14_ = NULL; +#line 317 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp13_ = next_view; +#line 317 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp14_ = data_view_get_source (_tmp13_); +#line 317 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_photo); +#line 317 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + next_photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_PHOTO, Photo); +#line 318 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + break; +#line 1754 "SlideshowPage.c" + } +#line 321 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp15_ = self->priv->controller; +#line 321 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp16_ = next_view; +#line 321 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp17_ = view_collection_get_next (_tmp15_, _tmp16_); +#line 321 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_view); +#line 321 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + next_view = _tmp17_; +#line 323 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp18_ = next_view; +#line 323 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp19_ = start_view; +#line 323 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp18_ == _tmp19_) { +#line 324 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_warning ("SlideshowPage.vala:324: on_next( ): can't advance to next photo: colle" \ +"ction has only videos"); +#line 325 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_view); +#line 325 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (start_view); +#line 325 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_photo); +#line 325 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (view); +#line 325 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return; +#line 1784 "SlideshowPage.c" + } + } +#line 329 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp20_ = config_facade_get_instance (); +#line 329 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp21_ = _tmp20_; +#line 329 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp22_ = configuration_facade_get_slideshow_transition_effect_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 329 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp23_ = _tmp22_; +#line 329 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp24_ = g_strcmp0 (_tmp23_, RANDOM_EFFECT_DESCRIPTOR_EFFECT_ID) == 0; +#line 329 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (_tmp23_); +#line 329 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp21_); +#line 329 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp24_) { +#line 331 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_random_transition_effect (self); +#line 1805 "SlideshowPage.c" + } +#line 334 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp25_ = next_photo; +#line 334 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_advance (self, _tmp25_, DIRECTION_FORWARD); +#line 308 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_view); +#line 308 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (start_view); +#line 308 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_photo); +#line 308 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (view); +#line 1819 "SlideshowPage.c" +} + + +static void slideshow_page_advance (SlideshowPage* self, Photo* photo, Direction direction) { + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + GdkPixbuf* next_pixbuf = NULL; + Photo* _tmp2_ = NULL; + Direction _tmp3_ = 0; + Photo* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GTimer* _tmp11_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (IS_SLIDESHOW_PAGE (self)); +#line 337 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (IS_PHOTO (photo)); +#line 338 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = photo; +#line 338 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 338 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->current); +#line 338 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->current = _tmp1_; +#line 342 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = self->priv->current; +#line 342 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = direction; +#line 342 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = slideshow_page_get_next_photo (self, _tmp2_, _tmp3_, &_tmp4_, &_tmp5_); +#line 342 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->current); +#line 342 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->current = _tmp4_; +#line 342 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_pixbuf); +#line 342 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + next_pixbuf = _tmp5_; +#line 342 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp6_) { +#line 1861 "SlideshowPage.c" + GdkPixbuf* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Dimensions _tmp9_ = {0}; + Direction _tmp10_ = 0; +#line 343 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = next_pixbuf; +#line 343 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = self->priv->current; +#line 343 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp9_); +#line 343 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = direction; +#line 343 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp7_, &_tmp9_, &_tmp10_); +#line 1876 "SlideshowPage.c" + } +#line 346 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = self->priv->timer; +#line 346 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_timer_start (_tmp11_); +#line 337 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (next_pixbuf); +#line 1884 "SlideshowPage.c" +} + + +static gboolean slideshow_page_auto_advance (SlideshowPage* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GTimer* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + ConfigFacade* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; + gboolean _tmp7_ = FALSE; +#line 349 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (IS_SLIDESHOW_PAGE (self), FALSE); +#line 350 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->exiting; +#line 350 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp0_) { +#line 351 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = FALSE; +#line 351 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 1908 "SlideshowPage.c" + } +#line 353 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = self->priv->playing; +#line 353 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (!_tmp1_) { +#line 354 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = TRUE; +#line 354 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 1918 "SlideshowPage.c" + } +#line 356 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = self->priv->timer; +#line 356 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = g_timer_elapsed (_tmp2_, NULL); +#line 356 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = config_facade_get_instance (); +#line 356 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = _tmp4_; +#line 356 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = configuration_facade_get_slideshow_delay (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 356 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = _tmp3_ < _tmp6_; +#line 356 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp5_); +#line 356 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp7_) { +#line 357 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = TRUE; +#line 357 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 1940 "SlideshowPage.c" + } +#line 359 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + single_photo_page_on_next_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 361 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = TRUE; +#line 361 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 1948 "SlideshowPage.c" +} + + +static gboolean slideshow_page_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + SlideshowPage * self; + gboolean result = FALSE; + gboolean handled = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GQuark _tmp5_ = 0U; +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + static GQuark _tmp4_label0 = 0; +#line 1963 "SlideshowPage.c" + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 364 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDESHOW_PAGE, SlideshowPage); +#line 364 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 365 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + handled = TRUE; +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = event; +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = _tmp0_->keyval; +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = _tmp2_; +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_); +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("space")))) { +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + switch (0) { +#line 1986 "SlideshowPage.c" + default: + { +#line 368 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_on_play_pause (self); +#line 369 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + break; +#line 1993 "SlideshowPage.c" + } + } + } else { +#line 366 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + switch (0) { +#line 1999 "SlideshowPage.c" + default: + { +#line 372 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + handled = FALSE; +#line 373 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + break; +#line 2006 "SlideshowPage.c" + } + } + } +#line 376 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = handled; +#line 376 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp6_) { +#line 377 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = TRUE; +#line 377 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 2018 "SlideshowPage.c" + } +#line 379 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (GTK_WIDGET_CLASS (slideshow_page_parent_class)->key_press_event != NULL) { +#line 2022 "SlideshowPage.c" + GdkEventKey* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 379 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = event; +#line 379 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = GTK_WIDGET_CLASS (slideshow_page_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), gtk_widget_get_type (), GtkWidget), _tmp8_); +#line 379 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = _tmp9_; +#line 2031 "SlideshowPage.c" + } else { +#line 379 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = TRUE; +#line 2035 "SlideshowPage.c" + } +#line 379 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = _tmp7_; +#line 379 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 2041 "SlideshowPage.c" +} + + +static void slideshow_page_on_change_settings (SlideshowPage* self) { + SlideshowPageSettingsDialog* settings_dialog = NULL; + SlideshowPageSettingsDialog* _tmp0_ = NULL; + SlideshowPageSettingsDialog* _tmp1_ = NULL; + gboolean slideshow_playing = FALSE; + gboolean _tmp2_ = FALSE; + SlideshowPageSettingsDialog* _tmp3_ = NULL; + gint _tmp4_ = 0; + SlideshowPageSettingsDialog* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + GTimer* _tmp24_ = NULL; +#line 382 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (IS_SLIDESHOW_PAGE (self)); +#line 383 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = slideshow_page_settings_dialog_new (); +#line 383 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_object_ref_sink (_tmp0_); +#line 383 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + settings_dialog = _tmp0_; +#line 384 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = settings_dialog; +#line 384 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 386 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = self->priv->playing; +#line 386 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_playing = _tmp2_; +#line 387 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->playing = FALSE; +#line 388 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_signal_emit_by_name (self, "hide-toolbar"); +#line 390 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = settings_dialog; +#line 390 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_dialog_get_type (), GtkDialog)); +#line 390 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp4_ == ((gint) GTK_RESPONSE_OK)) { +#line 2082 "SlideshowPage.c" + ConfigFacade* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + SlideshowPageSettingsDialog* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + ConfigFacade* _tmp9_ = NULL; + ConfigFacade* _tmp10_ = NULL; + SlideshowPageSettingsDialog* _tmp11_ = NULL; + gdouble _tmp12_ = 0.0; + ConfigFacade* _tmp13_ = NULL; + ConfigFacade* _tmp14_ = NULL; + SlideshowPageSettingsDialog* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + ConfigFacade* _tmp18_ = NULL; + ConfigFacade* _tmp19_ = NULL; + SlideshowPageSettingsDialog* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 392 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = config_facade_get_instance (); +#line 392 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = _tmp5_; +#line 392 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = settings_dialog; +#line 392 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = slideshow_page_settings_dialog_get_delay (_tmp7_); +#line 392 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + configuration_facade_set_slideshow_delay (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp8_); +#line 392 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp6_); +#line 394 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = config_facade_get_instance (); +#line 394 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = _tmp9_; +#line 394 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = settings_dialog; +#line 394 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = slideshow_page_settings_dialog_get_transition_delay (_tmp11_); +#line 394 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + configuration_facade_set_slideshow_transition_delay (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp12_); +#line 394 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp10_); +#line 395 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp13_ = config_facade_get_instance (); +#line 395 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp14_ = _tmp13_; +#line 395 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp15_ = settings_dialog; +#line 395 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp16_ = slideshow_page_settings_dialog_get_transition_effect_id (_tmp15_); +#line 395 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp17_ = _tmp16_; +#line 395 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + configuration_facade_set_slideshow_transition_effect_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp17_); +#line 395 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (_tmp17_); +#line 395 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp14_); +#line 396 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp18_ = config_facade_get_instance (); +#line 396 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp19_ = _tmp18_; +#line 396 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp20_ = settings_dialog; +#line 396 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp21_ = slideshow_page_settings_dialog_get_show_title (_tmp20_); +#line 396 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + configuration_facade_set_slideshow_show_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp21_); +#line 396 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp19_); +#line 398 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_update_transition_effect (self); +#line 2154 "SlideshowPage.c" + } +#line 401 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp22_ = settings_dialog; +#line 401 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget)); +#line 402 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp23_ = slideshow_playing; +#line 402 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->playing = _tmp23_; +#line 403 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp24_ = self->priv->timer; +#line 403 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_timer_start (_tmp24_); +#line 382 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (settings_dialog); +#line 2170 "SlideshowPage.c" +} + + +static void slideshow_page_update_transition_effect (SlideshowPage* self) { + gchar* effect_id = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gdouble effect_delay = 0.0; + ConfigFacade* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; +#line 406 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (IS_SLIDESHOW_PAGE (self)); +#line 407 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 407 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = _tmp0_; +#line 407 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = configuration_facade_get_slideshow_transition_effect_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 407 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = _tmp2_; +#line 407 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp1_); +#line 407 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + effect_id = _tmp3_; +#line 408 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = config_facade_get_instance (); +#line 408 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = _tmp4_; +#line 408 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = configuration_facade_get_slideshow_transition_delay (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 408 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = _tmp6_; +#line 408 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp5_); +#line 408 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + effect_delay = _tmp7_; +#line 410 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + single_photo_page_set_transition (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), effect_id, (gint) (effect_delay * 1000.0)); +#line 406 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (effect_id); +#line 2215 "SlideshowPage.c" +} + + +static void slideshow_page_random_transition_effect (SlideshowPage* self) { + gdouble effect_delay = 0.0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gchar* effect_id = NULL; + gchar* _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + const gchar* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; +#line 413 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (IS_SLIDESHOW_PAGE (self)); +#line 414 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 414 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = _tmp0_; +#line 414 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = configuration_facade_get_slideshow_transition_delay (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 414 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = _tmp2_; +#line 414 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp1_); +#line 414 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + effect_delay = _tmp3_; +#line 415 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = g_strdup (TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID); +#line 415 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + effect_id = _tmp4_; +#line 416 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = self->priv->transitions; +#line 416 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5__length1 = self->priv->transitions_length1; +#line 416 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (0 < _tmp5__length1) { +#line 2255 "SlideshowPage.c" + gint random = 0; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint32 _tmp7_ = 0; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 417 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = self->priv->transitions; +#line 417 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6__length1 = self->priv->transitions_length1; +#line 417 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = g_random_int_range ((gint32) 0, (gint32) _tmp6__length1); +#line 417 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + random = (gint) _tmp7_; +#line 418 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = self->priv->transitions; +#line 418 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8__length1 = self->priv->transitions_length1; +#line 418 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = random; +#line 418 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 418 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 418 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (effect_id); +#line 418 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + effect_id = _tmp11_; +#line 2287 "SlideshowPage.c" + } +#line 420 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = effect_id; +#line 420 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp13_ = effect_delay; +#line 420 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + single_photo_page_set_transition (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp12_, (gint) (_tmp13_ * 1000.0)); +#line 413 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (effect_id); +#line 2297 "SlideshowPage.c" +} + + +static void slideshow_page_paint_title (SlideshowPage* self, cairo_t* ctx, Dimensions* ctx_dim) { + gchar* title = NULL; + Photo* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + PangoLayout* layout = NULL; + const gchar* _tmp5_ = NULL; + PangoLayout* _tmp6_ = NULL; + PangoAttrList* list = NULL; + PangoAttrList* _tmp7_ = NULL; + PangoAttribute* size = NULL; + PangoAttribute* _tmp8_ = NULL; + PangoAttrList* _tmp9_ = NULL; + PangoAttribute* _tmp10_ = NULL; + PangoAttribute* _tmp11_ = NULL; + PangoLayout* _tmp12_ = NULL; + PangoAttrList* _tmp13_ = NULL; + PangoLayout* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + gint title_width = 0; + gint title_height = 0; + PangoLayout* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gdouble x = 0.0; + Dimensions _tmp20_ = {0}; + gint _tmp21_ = 0; + gdouble y = 0.0; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; + gdouble _tmp24_ = 0.0; + gint _tmp25_ = 0; + Dimensions _tmp26_ = {0}; + gint _tmp27_ = 0; + gdouble _tmp31_ = 0.0; + gint _tmp32_ = 0; + Dimensions _tmp33_ = {0}; + gint _tmp34_ = 0; + cairo_t* _tmp38_ = NULL; + cairo_t* _tmp39_ = NULL; + gdouble _tmp40_ = 0.0; + gdouble _tmp41_ = 0.0; + cairo_t* _tmp42_ = NULL; + PangoLayout* _tmp43_ = NULL; + cairo_t* _tmp44_ = NULL; + PangoLayout* _tmp45_ = NULL; + cairo_t* _tmp46_ = NULL; + cairo_t* _tmp47_ = NULL; + cairo_t* _tmp48_ = NULL; +#line 424 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (IS_SLIDESHOW_PAGE (self)); +#line 424 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (ctx != NULL); +#line 424 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (ctx_dim != NULL); +#line 425 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->current; +#line 425 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = media_source_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 425 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + title = _tmp1_; +#line 428 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = title; +#line 428 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp3_ == NULL) { +#line 428 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = TRUE; +#line 2370 "SlideshowPage.c" + } else { + const gchar* _tmp4_ = NULL; +#line 428 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = title; +#line 428 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = g_strcmp0 (_tmp4_, "") == 0; +#line 2377 "SlideshowPage.c" + } +#line 428 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp2_) { +#line 429 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (title); +#line 429 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return; +#line 2385 "SlideshowPage.c" + } +#line 431 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = title; +#line 431 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = gtk_widget_create_pango_layout (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp5_); +#line 431 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + layout = _tmp6_; +#line 432 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = pango_attr_list_new (); +#line 432 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + list = _tmp7_; +#line 433 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = pango_attr_scale_new ((gdouble) 3); +#line 433 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + size = _tmp8_; +#line 434 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = list; +#line 434 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = size; +#line 434 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = pango_attribute_copy (_tmp10_); +#line 434 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pango_attr_list_insert (_tmp9_, _tmp11_); +#line 435 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = layout; +#line 435 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp13_ = list; +#line 435 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pango_layout_set_attributes (_tmp12_, _tmp13_); +#line 436 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp14_ = layout; +#line 436 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp15_ = *ctx_dim; +#line 436 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp16_ = _tmp15_.width; +#line 436 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pango_layout_set_width (_tmp14_, (gint) ((_tmp16_ * 0.9) * PANGO_SCALE)); +#line 440 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp17_ = layout; +#line 440 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pango_layout_get_pixel_size (_tmp17_, &_tmp18_, &_tmp19_); +#line 440 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + title_width = _tmp18_; +#line 440 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + title_height = _tmp19_; +#line 441 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp20_ = *ctx_dim; +#line 441 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp21_ = _tmp20_.width; +#line 441 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + x = _tmp21_ * 0.2; +#line 442 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp22_ = *ctx_dim; +#line 442 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp23_ = _tmp22_.height; +#line 442 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + y = _tmp23_ * 0.90; +#line 445 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp24_ = y; +#line 445 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp25_ = title_height; +#line 445 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp26_ = *ctx_dim; +#line 445 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp27_ = _tmp26_.height; +#line 445 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if ((_tmp24_ + _tmp25_) >= (_tmp27_ * 0.95)) { +#line 2453 "SlideshowPage.c" + Dimensions _tmp28_ = {0}; + gint _tmp29_ = 0; + gint _tmp30_ = 0; +#line 446 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp28_ = *ctx_dim; +#line 446 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp29_ = _tmp28_.height; +#line 446 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp30_ = title_height; +#line 446 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + y = (_tmp29_ * 0.95) - _tmp30_; +#line 2465 "SlideshowPage.c" + } +#line 448 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp31_ = x; +#line 448 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp32_ = title_width; +#line 448 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp33_ = *ctx_dim; +#line 448 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp34_ = _tmp33_.width; +#line 448 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if ((_tmp31_ + _tmp32_) >= (_tmp34_ * 0.95)) { +#line 2477 "SlideshowPage.c" + Dimensions _tmp35_ = {0}; + gint _tmp36_ = 0; + gint _tmp37_ = 0; +#line 449 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp35_ = *ctx_dim; +#line 449 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp36_ = _tmp35_.width; +#line 449 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp37_ = title_width; +#line 449 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + x = (gdouble) ((_tmp36_ / 2) - (_tmp37_ / 2)); +#line 2489 "SlideshowPage.c" + } +#line 451 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp38_ = ctx; +#line 451 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + set_source_color_from_string (_tmp38_, "#fff"); +#line 452 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp39_ = ctx; +#line 452 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp40_ = x; +#line 452 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp41_ = y; +#line 452 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + cairo_move_to (_tmp39_, _tmp40_, _tmp41_); +#line 453 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp42_ = ctx; +#line 453 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp43_ = layout; +#line 453 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pango_cairo_show_layout (_tmp42_, _tmp43_); +#line 454 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp44_ = ctx; +#line 454 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp45_ = layout; +#line 454 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + pango_cairo_layout_path (_tmp44_, _tmp45_); +#line 455 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp46_ = ctx; +#line 455 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + cairo_set_line_width (_tmp46_, 1.5); +#line 456 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp47_ = ctx; +#line 456 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + set_source_color_from_string (_tmp47_, "#000"); +#line 457 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp48_ = ctx; +#line 457 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + cairo_stroke (_tmp48_); +#line 424 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _pango_attribute_destroy0 (size); +#line 424 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _pango_attr_list_unref0 (list); +#line 424 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (layout); +#line 424 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (title); +#line 2535 "SlideshowPage.c" +} + + +static void slideshow_page_real_paint (SinglePhotoPage* base, cairo_t* ctx, Dimensions* ctx_dim) { + SlideshowPage * self; + cairo_t* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + ConfigFacade* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 460 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SLIDESHOW_PAGE, SlideshowPage); +#line 460 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (ctx != NULL); +#line 460 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (ctx_dim != NULL); +#line 461 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = ctx; +#line 461 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = *ctx_dim; +#line 461 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + SINGLE_PHOTO_PAGE_CLASS (slideshow_page_parent_class)->paint (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp0_, &_tmp1_); +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = config_facade_get_instance (); +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = _tmp3_; +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = configuration_facade_get_slideshow_show_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = _tmp5_; +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp4_); +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp6_) { +#line 2572 "SlideshowPage.c" + gboolean _tmp7_ = FALSE; +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = single_photo_page_is_transition_in_progress (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = !_tmp7_; +#line 2578 "SlideshowPage.c" + } else { +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = FALSE; +#line 2582 "SlideshowPage.c" + } +#line 463 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp2_) { +#line 2586 "SlideshowPage.c" + cairo_t* _tmp8_ = NULL; + Dimensions _tmp9_ = {0}; +#line 464 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = ctx; +#line 464 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = *ctx_dim; +#line 464 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_paint_title (self, _tmp8_, &_tmp9_); +#line 2595 "SlideshowPage.c" + } +} + + +static gint _utf8_ci_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = utf8_ci_compare (a, b); +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 2605 "SlideshowPage.c" +} + + +static void _slideshow_page_settings_dialog_on_transition_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 84 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_settings_dialog_on_transition_changed ((SlideshowPageSettingsDialog*) self); +#line 2612 "SlideshowPage.c" +} + + +static SlideshowPageSettingsDialog* slideshow_page_settings_dialog_construct (GType object_type) { + SlideshowPageSettingsDialog * self = NULL; + GtkBuilder* _tmp0_ = NULL; + GtkBuilder* _tmp1_ = NULL; + GObject* _tmp2_ = NULL; + GtkBox* _tmp3_ = NULL; + GtkBox* _tmp4_ = NULL; + GtkBox* _tmp5_ = NULL; + gdouble delay = 0.0; + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + gdouble _tmp9_ = 0.0; + FullscreenWindow* _tmp10_ = NULL; + FullscreenWindow* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GtkAdjustment* adjustment = NULL; + gdouble _tmp13_ = 0.0; + GtkAdjustment* _tmp14_ = NULL; + GtkBuilder* _tmp15_ = NULL; + GObject* _tmp16_ = NULL; + GtkScale* _tmp17_ = NULL; + GtkScale* _tmp18_ = NULL; + GtkAdjustment* _tmp19_ = NULL; + GtkBuilder* _tmp20_ = NULL; + GObject* _tmp21_ = NULL; + GtkSpinButton* _tmp22_ = NULL; + GtkSpinButton* _tmp23_ = NULL; + GtkAdjustment* _tmp24_ = NULL; + GtkSpinButton* _tmp25_ = NULL; + gdouble _tmp26_ = 0.0; + GtkSpinButton* _tmp27_ = NULL; + GtkSpinButton* _tmp28_ = NULL; + GtkBuilder* _tmp29_ = NULL; + GObject* _tmp30_ = NULL; + GtkComboBoxText* _tmp31_ = NULL; + gchar* effect_id = NULL; + ConfigFacade* _tmp32_ = NULL; + ConfigFacade* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* null_display_name = NULL; + TransitionEffectsManager* _tmp36_ = NULL; + TransitionEffectsManager* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + GtkComboBoxText* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + GtkComboBoxText* _tmp42_ = NULL; + gint i = 0; + GtkComboBoxText* _tmp67_ = NULL; + gdouble transition_delay = 0.0; + ConfigFacade* _tmp68_ = NULL; + ConfigFacade* _tmp69_ = NULL; + gdouble _tmp70_ = 0.0; + gdouble _tmp71_ = 0.0; + GtkAdjustment* _tmp72_ = NULL; + GtkBuilder* _tmp73_ = NULL; + GObject* _tmp74_ = NULL; + GtkScale* _tmp75_ = NULL; + GtkScale* _tmp76_ = NULL; + GtkAdjustment* _tmp77_ = NULL; + GtkBuilder* _tmp78_ = NULL; + GObject* _tmp79_ = NULL; + GtkSpinButton* _tmp80_ = NULL; + GtkSpinButton* _tmp81_ = NULL; + GtkAdjustment* _tmp82_ = NULL; + GtkSpinButton* _tmp83_ = NULL; + GtkSpinButton* _tmp84_ = NULL; + GtkSpinButton* _tmp85_ = NULL; + gboolean show_title = FALSE; + ConfigFacade* _tmp86_ = NULL; + ConfigFacade* _tmp87_ = NULL; + gboolean _tmp88_ = FALSE; + gboolean _tmp89_ = FALSE; + GtkBuilder* _tmp90_ = NULL; + GObject* _tmp91_ = NULL; + GtkCheckButton* _tmp92_ = NULL; + GtkCheckButton* _tmp93_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = (SlideshowPageSettingsDialog*) g_object_new (object_type, NULL); +#line 38 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = app_window_create_builder ("shotwell.ui", NULL); +#line 38 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->builder); +#line 38 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->builder = _tmp0_; +#line 39 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = self->priv->builder; +#line 39 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = gtk_builder_get_object (_tmp1_, "slideshow_settings_pane"); +#line 39 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_box_get_type ()) ? ((GtkBox*) _tmp2_) : NULL); +#line 39 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->pane); +#line 39 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->pane = _tmp3_; +#line 40 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 40 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = self->priv->pane; +#line 40 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 42 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = config_facade_get_instance (); +#line 42 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = _tmp6_; +#line 42 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = configuration_facade_get_slideshow_delay (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 42 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = _tmp8_; +#line 42 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp7_); +#line 42 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + delay = _tmp9_; +#line 44 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_window_set_modal (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 45 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = app_window_get_fullscreen (); +#line 45 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = _tmp10_; +#line 45 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_window_get_type (), GtkWindow)); +#line 45 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp11_); +#line 47 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_dialog_add_buttons (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_OK_LABEL, GTK_RESPONSE_OK, NULL); +#line 49 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = _ ("Settings"); +#line 49 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp12_); +#line 51 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp13_ = delay; +#line 51 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp14_ = gtk_adjustment_new (_tmp13_, CONFIG_FACADE_SLIDESHOW_DELAY_MIN, CONFIG_FACADE_SLIDESHOW_DELAY_MAX, 0.1, (gdouble) 1, (gdouble) 0); +#line 51 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_object_ref_sink (_tmp14_); +#line 51 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + adjustment = _tmp14_; +#line 52 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp15_ = self->priv->builder; +#line 52 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp16_ = gtk_builder_get_object (_tmp15_, "delay_hscale"); +#line 52 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, gtk_scale_get_type ()) ? ((GtkScale*) _tmp16_) : NULL); +#line 52 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->delay_hscale); +#line 52 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->delay_hscale = _tmp17_; +#line 53 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp18_ = self->priv->delay_hscale; +#line 53 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp19_ = adjustment; +#line 53 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_range_set_adjustment (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_range_get_type (), GtkRange), _tmp19_); +#line 55 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp20_ = self->priv->builder; +#line 55 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp21_ = gtk_builder_get_object (_tmp20_, "delay_entry"); +#line 55 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, gtk_spin_button_get_type ()) ? ((GtkSpinButton*) _tmp21_) : NULL); +#line 55 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->delay_entry); +#line 55 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->delay_entry = _tmp22_; +#line 56 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp23_ = self->priv->delay_entry; +#line 56 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp24_ = adjustment; +#line 56 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_spin_button_set_adjustment (_tmp23_, _tmp24_); +#line 57 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp25_ = self->priv->delay_entry; +#line 57 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp26_ = delay; +#line 57 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_spin_button_set_value (_tmp25_, _tmp26_); +#line 58 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp27_ = self->priv->delay_entry; +#line 58 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_spin_button_set_numeric (_tmp27_, TRUE); +#line 59 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp28_ = self->priv->delay_entry; +#line 59 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_entry_set_activates_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_entry_get_type (), GtkEntry), TRUE); +#line 61 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp29_ = self->priv->builder; +#line 61 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp30_ = gtk_builder_get_object (_tmp29_, "transition_effect_selector"); +#line 61 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp30_) : NULL); +#line 61 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->transition_effect_selector); +#line 61 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->transition_effect_selector = _tmp31_; +#line 64 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp32_ = config_facade_get_instance (); +#line 64 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp33_ = _tmp32_; +#line 64 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp34_ = configuration_facade_get_slideshow_transition_effect_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 64 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp35_ = _tmp34_; +#line 64 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp33_); +#line 64 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + effect_id = _tmp35_; +#line 67 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp36_ = transition_effects_manager_get_instance (); +#line 67 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp37_ = _tmp36_; +#line 67 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp38_ = transition_effects_manager_get_effect_name (_tmp37_, TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID); +#line 67 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp39_ = _tmp38_; +#line 67 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _transition_effects_manager_unref0 (_tmp37_); +#line 67 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + null_display_name = _tmp39_; +#line 69 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp40_ = self->priv->transition_effect_selector; +#line 69 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp41_ = null_display_name; +#line 69 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_combo_box_text_append_text (_tmp40_, _tmp41_); +#line 70 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp42_ = self->priv->transition_effect_selector; +#line 70 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 72 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + i = 1; +#line 2847 "SlideshowPage.c" + { + GeeIterator* _display_name_it = NULL; + TransitionEffectsManager* _tmp43_ = NULL; + TransitionEffectsManager* _tmp44_ = NULL; + GeeCollection* _tmp45_ = NULL; + GeeCollection* _tmp46_ = NULL; + GeeIterator* _tmp47_ = NULL; + GeeIterator* _tmp48_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp43_ = transition_effects_manager_get_instance (); +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp44_ = _tmp43_; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp45_ = transition_effects_manager_get_effect_names (_tmp44_, _utf8_ci_compare_gcompare_data_func, NULL, NULL); +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp46_ = _tmp45_; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp47_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp48_ = _tmp47_; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp46_); +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _transition_effects_manager_unref0 (_tmp44_); +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _display_name_it = _tmp48_; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + while (TRUE) { +#line 2876 "SlideshowPage.c" + GeeIterator* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; + gchar* display_name = NULL; + GeeIterator* _tmp51_ = NULL; + gpointer _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + GtkComboBoxText* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + TransitionEffectsManager* _tmp58_ = NULL; + TransitionEffectsManager* _tmp59_ = NULL; + const gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gboolean _tmp63_ = FALSE; + gint _tmp66_ = 0; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp49_ = _display_name_it; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp50_ = gee_iterator_next (_tmp49_); +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (!_tmp50_) { +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + break; +#line 2902 "SlideshowPage.c" + } +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp51_ = _display_name_it; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp52_ = gee_iterator_get (_tmp51_); +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + display_name = (gchar*) _tmp52_; +#line 75 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp53_ = display_name; +#line 75 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp54_ = null_display_name; +#line 75 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (g_strcmp0 (_tmp53_, _tmp54_) == 0) { +#line 76 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (display_name); +#line 76 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + continue; +#line 2920 "SlideshowPage.c" + } +#line 78 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp55_ = self->priv->transition_effect_selector; +#line 78 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp56_ = display_name; +#line 78 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_combo_box_text_append_text (_tmp55_, _tmp56_); +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp57_ = effect_id; +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp58_ = transition_effects_manager_get_instance (); +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp59_ = _tmp58_; +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp60_ = display_name; +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp61_ = transition_effects_manager_get_id_for_effect_name (_tmp59_, _tmp60_); +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp62_ = _tmp61_; +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp63_ = g_strcmp0 (_tmp57_, _tmp62_) == 0; +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (_tmp62_); +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _transition_effects_manager_unref0 (_tmp59_); +#line 79 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp63_) { +#line 2948 "SlideshowPage.c" + GtkComboBoxText* _tmp64_ = NULL; + gint _tmp65_ = 0; +#line 80 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp64_ = self->priv->transition_effect_selector; +#line 80 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp65_ = i; +#line 80 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, gtk_combo_box_get_type (), GtkComboBox), _tmp65_); +#line 2957 "SlideshowPage.c" + } +#line 82 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp66_ = i; +#line 82 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + i = _tmp66_ + 1; +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (display_name); +#line 2965 "SlideshowPage.c" + } +#line 73 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_display_name_it); +#line 2969 "SlideshowPage.c" + } +#line 84 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp67_ = self->priv->transition_effect_selector; +#line 84 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _slideshow_page_settings_dialog_on_transition_changed_gtk_combo_box_changed, self, 0); +#line 86 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp68_ = config_facade_get_instance (); +#line 86 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp69_ = _tmp68_; +#line 86 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp70_ = configuration_facade_get_slideshow_transition_delay (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 86 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp71_ = _tmp70_; +#line 86 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp69_); +#line 86 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + transition_delay = _tmp71_; +#line 87 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp72_ = gtk_adjustment_new (transition_delay, CONFIG_FACADE_SLIDESHOW_TRANSITION_DELAY_MIN, CONFIG_FACADE_SLIDESHOW_TRANSITION_DELAY_MAX, 0.1, (gdouble) 1, (gdouble) 0); +#line 87 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_object_ref_sink (_tmp72_); +#line 87 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->transition_effect_adjustment); +#line 87 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->transition_effect_adjustment = _tmp72_; +#line 90 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp73_ = self->priv->builder; +#line 90 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp74_ = gtk_builder_get_object (_tmp73_, "transition_effect_hscale"); +#line 90 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp75_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp74_, gtk_scale_get_type ()) ? ((GtkScale*) _tmp74_) : NULL); +#line 90 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->transition_effect_hscale); +#line 90 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->transition_effect_hscale = _tmp75_; +#line 91 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp76_ = self->priv->transition_effect_hscale; +#line 91 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp77_ = self->priv->transition_effect_adjustment; +#line 91 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_range_set_adjustment (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_range_get_type (), GtkRange), _tmp77_); +#line 93 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp78_ = self->priv->builder; +#line 93 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp79_ = gtk_builder_get_object (_tmp78_, "transition_effect_entry"); +#line 93 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp80_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp79_, gtk_spin_button_get_type ()) ? ((GtkSpinButton*) _tmp79_) : NULL); +#line 93 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->transition_effect_entry); +#line 93 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->transition_effect_entry = _tmp80_; +#line 94 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp81_ = self->priv->transition_effect_entry; +#line 94 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp82_ = self->priv->transition_effect_adjustment; +#line 94 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_spin_button_set_adjustment (_tmp81_, _tmp82_); +#line 95 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp83_ = self->priv->transition_effect_entry; +#line 95 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_spin_button_set_value (_tmp83_, transition_delay); +#line 96 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp84_ = self->priv->transition_effect_entry; +#line 96 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_spin_button_set_numeric (_tmp84_, TRUE); +#line 97 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp85_ = self->priv->transition_effect_entry; +#line 97 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_entry_set_activates_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp85_, gtk_entry_get_type (), GtkEntry), TRUE); +#line 99 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp86_ = config_facade_get_instance (); +#line 99 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp87_ = _tmp86_; +#line 99 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp88_ = configuration_facade_get_slideshow_show_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 99 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp89_ = _tmp88_; +#line 99 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (_tmp87_); +#line 99 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + show_title = _tmp89_; +#line 100 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp90_ = self->priv->builder; +#line 100 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp91_ = gtk_builder_get_object (_tmp90_, "show_title_button"); +#line 100 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp92_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp91_, gtk_check_button_get_type ()) ? ((GtkCheckButton*) _tmp91_) : NULL); +#line 100 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->show_title_button); +#line 100 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->show_title_button = _tmp92_; +#line 101 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp93_ = self->priv->show_title_button; +#line 101 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, gtk_toggle_button_get_type (), GtkToggleButton), show_title); +#line 103 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_dialog_set_default_response (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK); +#line 105 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_settings_dialog_on_transition_changed (self); +#line 37 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (null_display_name); +#line 37 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (effect_id); +#line 37 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (adjustment); +#line 37 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return self; +#line 3077 "SlideshowPage.c" +} + + +static SlideshowPageSettingsDialog* slideshow_page_settings_dialog_new (void) { +#line 37 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return slideshow_page_settings_dialog_construct (SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG); +#line 3084 "SlideshowPage.c" +} + + +static void slideshow_page_settings_dialog_on_transition_changed (SlideshowPageSettingsDialog* self) { + gchar* selected = NULL; + GtkComboBoxText* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + gboolean sensitive = FALSE; + GtkScale* _tmp5_ = NULL; + GtkSpinButton* _tmp6_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_if_fail (SLIDESHOW_PAGE_IS_SETTINGS_DIALOG (self)); +#line 109 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->transition_effect_selector; +#line 109 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = gtk_combo_box_text_get_active_text (_tmp0_); +#line 109 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + selected = _tmp1_; +#line 110 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = selected; +#line 110 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp3_ != NULL) { +#line 3109 "SlideshowPage.c" + const gchar* _tmp4_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = selected; +#line 111 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = g_strcmp0 (_tmp4_, TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID) != 0; +#line 3115 "SlideshowPage.c" + } else { +#line 110 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = FALSE; +#line 3119 "SlideshowPage.c" + } +#line 110 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + sensitive = _tmp2_; +#line 113 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = self->priv->transition_effect_hscale; +#line 113 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), sensitive); +#line 114 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = self->priv->transition_effect_entry; +#line 114 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), sensitive); +#line 108 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (selected); +#line 3133 "SlideshowPage.c" +} + + +static gdouble slideshow_page_settings_dialog_get_delay (SlideshowPageSettingsDialog* self) { + gdouble result = 0.0; + GtkSpinButton* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; +#line 117 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (SLIDESHOW_PAGE_IS_SETTINGS_DIALOG (self), 0.0); +#line 118 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->delay_entry; +#line 118 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = gtk_spin_button_get_value (_tmp0_); +#line 118 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = _tmp1_; +#line 118 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 3151 "SlideshowPage.c" +} + + +static gdouble slideshow_page_settings_dialog_get_transition_delay (SlideshowPageSettingsDialog* self) { + gdouble result = 0.0; + GtkSpinButton* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; +#line 121 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (SLIDESHOW_PAGE_IS_SETTINGS_DIALOG (self), 0.0); +#line 122 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->transition_effect_entry; +#line 122 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = gtk_spin_button_get_value (_tmp0_); +#line 122 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = _tmp1_; +#line 122 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 3169 "SlideshowPage.c" +} + + +static gchar* slideshow_page_settings_dialog_get_transition_effect_id (SlideshowPageSettingsDialog* self) { + gchar* result = NULL; + gchar* active = NULL; + GtkComboBoxText* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* id = NULL; + TransitionEffectsManager* _tmp4_ = NULL; + TransitionEffectsManager* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp12_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (SLIDESHOW_PAGE_IS_SETTINGS_DIALOG (self), NULL); +#line 126 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->transition_effect_selector; +#line 126 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = gtk_combo_box_text_get_active_text (_tmp0_); +#line 126 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + active = _tmp1_; +#line 127 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = active; +#line 127 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp2_ == NULL) { +#line 3200 "SlideshowPage.c" + gchar* _tmp3_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp3_ = g_strdup (TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID); +#line 128 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = _tmp3_; +#line 128 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (active); +#line 128 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 3210 "SlideshowPage.c" + } +#line 130 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp4_ = transition_effects_manager_get_instance (); +#line 130 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp5_ = _tmp4_; +#line 130 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp6_ = active; +#line 130 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp7_ = transition_effects_manager_get_id_for_effect_name (_tmp5_, _tmp6_); +#line 130 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp8_ = _tmp7_; +#line 130 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _transition_effects_manager_unref0 (_tmp5_); +#line 130 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + id = _tmp8_; +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp10_ = id; +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + if (_tmp10_ != NULL) { +#line 3230 "SlideshowPage.c" + const gchar* _tmp11_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp11_ = id; +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = _tmp11_; +#line 3236 "SlideshowPage.c" + } else { +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp9_ = TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID; +#line 3240 "SlideshowPage.c" + } +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp12_ = g_strdup (_tmp9_); +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = _tmp12_; +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (id); +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_free0 (active); +#line 132 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 3252 "SlideshowPage.c" +} + + +static gboolean slideshow_page_settings_dialog_get_show_title (SlideshowPageSettingsDialog* self) { + gboolean result = FALSE; + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 135 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_return_val_if_fail (SLIDESHOW_PAGE_IS_SETTINGS_DIALOG (self), FALSE); +#line 136 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = self->priv->show_title_button; +#line 136 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 136 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp2_ = _tmp1_; +#line 136 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + result = _tmp2_; +#line 136 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + return result; +#line 3273 "SlideshowPage.c" +} + + +static void slideshow_page_settings_dialog_class_init (SlideshowPageSettingsDialogClass * klass) { +#line 26 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_settings_dialog_parent_class = g_type_class_peek_parent (klass); +#line 26 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_type_class_add_private (klass, sizeof (SlideshowPageSettingsDialogPrivate)); +#line 26 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + G_OBJECT_CLASS (klass)->finalize = slideshow_page_settings_dialog_finalize; +#line 3284 "SlideshowPage.c" +} + + +static void slideshow_page_settings_dialog_instance_init (SlideshowPageSettingsDialog * self) { +#line 26 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv = SLIDESHOW_PAGE_SETTINGS_DIALOG_GET_PRIVATE (self); +#line 27 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->builder = NULL; +#line 3293 "SlideshowPage.c" +} + + +static void slideshow_page_settings_dialog_finalize (GObject* obj) { + SlideshowPageSettingsDialog * self; +#line 26 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SLIDESHOW_PAGE_TYPE_SETTINGS_DIALOG, SlideshowPageSettingsDialog); +#line 27 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->builder); +#line 28 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->delay_entry); +#line 29 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->delay_hscale); +#line 30 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->transition_effect_selector); +#line 31 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->transition_effect_hscale); +#line 32 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->transition_effect_entry); +#line 33 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->transition_effect_adjustment); +#line 34 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->show_title_button); +#line 35 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->pane); +#line 26 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + G_OBJECT_CLASS (slideshow_page_settings_dialog_parent_class)->finalize (obj); +#line 3321 "SlideshowPage.c" +} + + +static GType slideshow_page_settings_dialog_get_type (void) { + static volatile gsize slideshow_page_settings_dialog_type_id__volatile = 0; + if (g_once_init_enter (&slideshow_page_settings_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SlideshowPageSettingsDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) slideshow_page_settings_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SlideshowPageSettingsDialog), 0, (GInstanceInitFunc) slideshow_page_settings_dialog_instance_init, NULL }; + GType slideshow_page_settings_dialog_type_id; + slideshow_page_settings_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "SlideshowPageSettingsDialog", &g_define_type_info, 0); + g_once_init_leave (&slideshow_page_settings_dialog_type_id__volatile, slideshow_page_settings_dialog_type_id); + } + return slideshow_page_settings_dialog_type_id__volatile; +} + + +static void slideshow_page_class_init (SlideshowPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + slideshow_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_type_class_add_private (klass, sizeof (SlideshowPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + ((PageClass *) klass)->switched_to = slideshow_page_real_switched_to; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + ((PageClass *) klass)->switching_from = slideshow_page_real_switching_from; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + ((SinglePhotoPageClass *) klass)->on_previous_photo = slideshow_page_real_on_previous_photo; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + ((SinglePhotoPageClass *) klass)->on_next_photo = slideshow_page_real_on_next_photo; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + ((GtkWidgetClass *) klass)->key_press_event = slideshow_page_real_key_press_event; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + ((SinglePhotoPageClass *) klass)->paint = slideshow_page_real_paint; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + G_OBJECT_CLASS (klass)->finalize = slideshow_page_finalize; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + g_signal_new ("hide_toolbar", TYPE_SLIDESHOW_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 3358 "SlideshowPage.c" +} + + +static void slideshow_page_instance_init (SlideshowPage * self) { + GTimer* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv = SLIDESHOW_PAGE_GET_PRIVATE (self); +#line 16 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->cache = NULL; +#line 17 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _tmp0_ = g_timer_new (); +#line 17 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->timer = _tmp0_; +#line 18 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->playing = TRUE; +#line 19 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->exiting = FALSE; +#line 3376 "SlideshowPage.c" +} + + +static void slideshow_page_finalize (GObject* obj) { + SlideshowPage * self; +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SLIDESHOW_PAGE, SlideshowPage); +#line 11 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _data_collection_unref0 (self->priv->sources); +#line 12 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _data_collection_unref0 (self->priv->controller); +#line 13 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->current); +#line 14 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->play_pause_button); +#line 15 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->settings_button); +#line 16 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_object_unref0 (self->priv->cache); +#line 17 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _g_timer_destroy0 (self->priv->timer); +#line 20 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + self->priv->transitions = (_vala_array_free (self->priv->transitions, self->priv->transitions_length1, (GDestroyNotify) g_free), NULL); +#line 22 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + _screensaver_unref0 (self->priv->screensaver); +#line 7 "/home/jens/Source/shotwell/src/SlideshowPage.vala" + G_OBJECT_CLASS (slideshow_page_parent_class)->finalize (obj); +#line 3404 "SlideshowPage.c" +} + + +GType slideshow_page_get_type (void) { + static volatile gsize slideshow_page_type_id__volatile = 0; + if (g_once_init_enter (&slideshow_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SlideshowPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) slideshow_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SlideshowPage), 0, (GInstanceInitFunc) slideshow_page_instance_init, NULL }; + GType slideshow_page_type_id; + slideshow_page_type_id = g_type_register_static (TYPE_SINGLE_PHOTO_PAGE, "SlideshowPage", &g_define_type_info, 0); + g_once_init_leave (&slideshow_page_type_id__volatile, slideshow_page_type_id); + } + return slideshow_page_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/SortedList.c b/src/SortedList.c new file mode 100644 index 0000000..85f22a9 --- /dev/null +++ b/src/SortedList.c @@ -0,0 +1,2904 @@ +/* SortedList.c generated by valac 0.32.1, the Vala compiler + * generated from SortedList.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_SORTED_LIST (sorted_list_get_type ()) +#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList)) +#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass)) +#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST)) +#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST)) +#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass)) + +typedef struct _SortedList SortedList; +typedef struct _SortedListClass SortedListClass; +typedef struct _SortedListPrivate SortedListPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +struct _SortedList { + GObject parent_instance; + SortedListPrivate * priv; +}; + +struct _SortedListClass { + GObjectClass parent_class; +}; + +struct _SortedListPrivate { + GType g_type; + GBoxedCopyFunc g_dup_func; + GDestroyNotify g_destroy_func; + GeeArrayList* list; + Comparator cmp; + gpointer cmp_target; +}; + + +static gpointer sorted_list_parent_class = NULL; +static GeeTraversableIface* sorted_list_gee_traversable_parent_iface = NULL; +static GeeIterableIface* sorted_list_gee_iterable_parent_iface = NULL; +static GeeCollectionIface* sorted_list_gee_collection_parent_iface = NULL; + +gchar* g_utf8_collate_key_for_filename (const gchar* str, gssize len); +gint64 file_comparator (void* a, void* b); +GType sorted_list_get_type (void) G_GNUC_CONST; +#define SORTED_LIST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SORTED_LIST, SortedListPrivate)) +enum { + SORTED_LIST_DUMMY_PROPERTY, + SORTED_LIST_G_TYPE, + SORTED_LIST_G_DUP_FUNC, + SORTED_LIST_G_DESTROY_FUNC, + SORTED_LIST_ELEMENT_TYPE, + SORTED_LIST_READ_ONLY, + SORTED_LIST_IS_EMPTY, + SORTED_LIST_SIZE, + SORTED_LIST_READ_ONLY_VIEW, + SORTED_LIST_READ_ONLY_VIEW_AS_LIST +}; +SortedList* sorted_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +SortedList* sorted_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +static GeeIterator* sorted_list_real_iterator (GeeIterable* base); +static gboolean sorted_list_real_foreach (GeeTraversable* base, GeeForallFunc f, void* f_target); +static gboolean sorted_list_real_add (GeeCollection* base, gconstpointer item); +static gint sorted_list_get_sorted_insert_pos (SortedList* self, gconstpointer item); +static gboolean sorted_list_real_add_all (GeeCollection* base, GeeCollection* collection); +gboolean sorted_list_add_list (SortedList* self, GeeList* items); +static gboolean sorted_list_merge_sort (SortedList* self, GeeList* add); +static void sorted_list_real_clear (GeeCollection* base); +static gboolean sorted_list_real_contains (GeeCollection* base, gconstpointer item); +static gboolean sorted_list_real_contains_all (GeeCollection* base, GeeCollection* collection); +static gboolean sorted_list_real_remove (GeeCollection* base, gconstpointer item); +static gboolean sorted_list_real_remove_all (GeeCollection* base, GeeCollection* collection); +static gboolean sorted_list_real_retain_all (GeeCollection* base, GeeCollection* collection); +gint sorted_list_get_count (SortedList* self); +gpointer sorted_list_get_at (SortedList* self, gint index); +static gint sorted_list_binary_search (SortedList* self, gconstpointer search, GEqualFunc equal_func); +gint sorted_list_index_of (SortedList* self, gconstpointer search); +gint sorted_list_locate (SortedList* self, gconstpointer search, gboolean altered, GEqualFunc equal_func); +gpointer sorted_list_remove_at (SortedList* self, gint index); +static gpointer* sorted_list_real_to_array (GeeCollection* base, int* result_length1); +void sorted_list_resort (SortedList* self, Comparator new_cmp, void* new_cmp_target); +gboolean sorted_list_resort_item (SortedList* self, gconstpointer item); +SortedList* sorted_list_copy (SortedList* self); +static void _sorted_list_merge_sort (SortedList* self, gpointer* array, int array_length1, gpointer* scratch, int scratch_length1, gint start_index, gint end_index); +static void sorted_list_merge (SortedList* self, gpointer* array, int array_length1, gpointer* scratch, int scratch_length1, gint start_index, gint middle_index, gint end_index); +GeeList* sorted_list_get_read_only_view_as_list (SortedList* self); +static void sorted_list_finalize (GObject* obj); +static void _vala_sorted_list_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_sorted_list_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +gint64 file_comparator (void* a, void* b) { + gint64 result = 0LL; + gchar* path_a = NULL; + void* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* path_b = NULL; + void* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp7_ = NULL; + GCompareFunc _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint64 _tmp16_ = 0LL; +#line 12 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = a; +#line 12 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = g_file_get_path (G_TYPE_CHECK_INSTANCE_CAST ((GFile*) _tmp0_, G_TYPE_FILE, GFile)); +#line 12 "/home/jens/Source/shotwell/src/SortedList.vala" + path_a = _tmp1_; +#line 13 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = b; +#line 13 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = g_file_get_path (G_TYPE_CHECK_INSTANCE_CAST ((GFile*) _tmp2_, G_TYPE_FILE, GFile)); +#line 13 "/home/jens/Source/shotwell/src/SortedList.vala" + path_b = _tmp3_; +#line 16 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = path_a; +#line 16 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp4_ == NULL) { +#line 147 "SortedList.c" + gint _tmp5_ = 0; + const gchar* _tmp6_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = path_b; +#line 17 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp6_ == NULL) { +#line 17 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = 0; +#line 156 "SortedList.c" + } else { +#line 17 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = 1; +#line 160 "SortedList.c" + } +#line 17 "/home/jens/Source/shotwell/src/SortedList.vala" + result = (gint64) _tmp5_; +#line 17 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_free0 (path_b); +#line 17 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_free0 (path_a); +#line 17 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 170 "SortedList.c" + } +#line 19 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = path_b; +#line 19 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp7_ == NULL) { +#line 20 "/home/jens/Source/shotwell/src/SortedList.vala" + result = (gint64) -1; +#line 20 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_free0 (path_b); +#line 20 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_free0 (path_a); +#line 20 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 184 "SortedList.c" + } +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = g_strcmp0; +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = path_a; +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = g_utf8_collate_key_for_filename (_tmp9_, (gssize) -1); +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = _tmp10_; +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = path_b; +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = g_utf8_collate_key_for_filename (_tmp12_, (gssize) -1); +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = _tmp13_; +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = _tmp8_ (_tmp11_, _tmp14_); +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = (gint64) _tmp15_; +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_free0 (_tmp14_); +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_free0 (_tmp11_); +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp16_; +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_free0 (path_b); +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_free0 (path_a); +#line 22 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 216 "SortedList.c" +} + + +SortedList* sorted_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target) { + SortedList * self = NULL; + GeeArrayList* _tmp0_ = NULL; + Comparator _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 29 "/home/jens/Source/shotwell/src/SortedList.vala" + self = (SortedList*) g_object_new (object_type, NULL); +#line 29 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->g_type = g_type; +#line 29 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->g_dup_func = g_dup_func; +#line 29 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->g_destroy_func = g_destroy_func; +#line 30 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = gee_array_list_new (g_type, (GBoxedCopyFunc) g_dup_func, g_destroy_func, NULL, NULL, NULL); +#line 30 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_object_unref0 (self->priv->list); +#line 30 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->list = _tmp0_; +#line 31 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = cmp; +#line 31 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1__target = cmp_target; +#line 31 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->cmp = _tmp1_; +#line 31 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->cmp_target = _tmp1__target; +#line 29 "/home/jens/Source/shotwell/src/SortedList.vala" + return self; +#line 249 "SortedList.c" +} + + +SortedList* sorted_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target) { +#line 29 "/home/jens/Source/shotwell/src/SortedList.vala" + return sorted_list_construct (TYPE_SORTED_LIST, g_type, g_dup_func, g_destroy_func, cmp, cmp_target); +#line 256 "SortedList.c" +} + + +static GeeIterator* sorted_list_real_iterator (GeeIterable* base) { + SortedList * self; + GeeIterator* result = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 43 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 43 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 43 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp1_; +#line 43 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 275 "SortedList.c" +} + + +static gboolean sorted_list_real_foreach (GeeTraversable* base, GeeForallFunc f, void* f_target) { + SortedList * self; + gboolean result = FALSE; + GeeArrayList* _tmp0_ = NULL; + GeeForallFunc _tmp1_ = NULL; + void* _tmp1__target = NULL; + gboolean _tmp2_ = FALSE; +#line 46 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 47 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 47 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = f; +#line 47 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1__target = f_target; +#line 47 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_abstract_collection_foreach (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_, _tmp1__target); +#line 47 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 47 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 300 "SortedList.c" +} + + +static gboolean sorted_list_real_add (GeeCollection* base, gconstpointer item) { + SortedList * self; + gboolean result = FALSE; + Comparator _tmp0_ = NULL; + void* _tmp0__target = NULL; +#line 50 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 51 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->cmp; +#line 51 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0__target = self->priv->cmp_target; +#line 51 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp0_ == NULL) { +#line 317 "SortedList.c" + GeeArrayList* _tmp1_ = NULL; + gconstpointer _tmp2_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = self->priv->list; +#line 52 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = item; +#line 52 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_); +#line 326 "SortedList.c" + } else { + GeeArrayList* _tmp3_ = NULL; + gconstpointer _tmp4_ = NULL; + gint _tmp5_ = 0; + gconstpointer _tmp6_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = self->priv->list; +#line 54 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = item; +#line 54 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = sorted_list_get_sorted_insert_pos (self, _tmp4_); +#line 54 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = item; +#line 54 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp5_, _tmp6_); +#line 342 "SortedList.c" + } +#line 60 "/home/jens/Source/shotwell/src/SortedList.vala" + result = TRUE; +#line 60 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 348 "SortedList.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 67 "/home/jens/Source/shotwell/src/SortedList.vala" + return self ? g_object_ref (self) : NULL; +#line 355 "SortedList.c" +} + + +static gboolean sorted_list_real_add_all (GeeCollection* base, GeeCollection* collection) { + SortedList * self; + gboolean result = FALSE; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GeeList* as_list = NULL; + GeeCollection* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + Comparator _tmp8_ = NULL; + void* _tmp8__target = NULL; + gboolean changed = FALSE; + GeeCollection* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 63 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 63 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (collection), FALSE); +#line 64 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = collection; +#line 64 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 64 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 64 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp2_ == 0) { +#line 65 "/home/jens/Source/shotwell/src/SortedList.vala" + result = FALSE; +#line 65 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 391 "SortedList.c" + } +#line 67 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = collection; +#line 67 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, GEE_TYPE_LIST) ? ((GeeList*) _tmp3_) : NULL); +#line 67 "/home/jens/Source/shotwell/src/SortedList.vala" + as_list = _tmp4_; +#line 68 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = as_list; +#line 68 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp5_ != NULL) { +#line 403 "SortedList.c" + GeeList* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 69 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = as_list; +#line 69 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = sorted_list_add_list (self, _tmp6_); +#line 69 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp7_; +#line 69 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_object_unref0 (as_list); +#line 69 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 416 "SortedList.c" + } +#line 71 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = self->priv->cmp; +#line 71 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8__target = self->priv->cmp_target; +#line 71 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp8_ == NULL) { +#line 424 "SortedList.c" + GeeArrayList* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 72 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = self->priv->list; +#line 72 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = collection; +#line 72 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = gee_array_list_add_all (_tmp9_, _tmp10_); +#line 72 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp11_; +#line 72 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_object_unref0 (as_list); +#line 72 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 440 "SortedList.c" + } +#line 74 "/home/jens/Source/shotwell/src/SortedList.vala" + changed = FALSE; +#line 75 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = collection; +#line 75 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = gee_collection_get_size (_tmp12_); +#line 75 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = _tmp13_; +#line 75 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp14_ == 1) { +#line 452 "SortedList.c" + GeeIterator* iter = NULL; + GeeCollection* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer item = NULL; + GeeIterator* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + GeeArrayList* _tmp20_ = NULL; + gconstpointer _tmp21_ = NULL; + gint _tmp22_ = 0; + gconstpointer _tmp23_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = collection; +#line 76 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 76 "/home/jens/Source/shotwell/src/SortedList.vala" + iter = _tmp16_; +#line 77 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = iter; +#line 77 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_iterator_next (_tmp17_); +#line 78 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = iter; +#line 78 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = gee_iterator_get (_tmp18_); +#line 78 "/home/jens/Source/shotwell/src/SortedList.vala" + item = _tmp19_; +#line 80 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp20_ = self->priv->list; +#line 80 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp21_ = item; +#line 80 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp22_ = sorted_list_get_sorted_insert_pos (self, _tmp21_); +#line 80 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23_ = item; +#line 80 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp22_, _tmp23_); +#line 81 "/home/jens/Source/shotwell/src/SortedList.vala" + changed = TRUE; +#line 75 "/home/jens/Source/shotwell/src/SortedList.vala" + ((item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (item = (self->priv->g_destroy_func (item), NULL)); +#line 75 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_object_unref0 (iter); +#line 496 "SortedList.c" + } else { + GeeList* items = NULL; + GeeArrayList* _tmp24_ = NULL; + GeeList* _tmp25_ = NULL; + GeeCollection* _tmp26_ = NULL; + GeeList* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; +#line 83 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24_ = gee_array_list_new (self->priv->g_type, (GBoxedCopyFunc) self->priv->g_dup_func, self->priv->g_destroy_func, NULL, NULL, NULL); +#line 83 "/home/jens/Source/shotwell/src/SortedList.vala" + items = G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_LIST, GeeList); +#line 84 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp25_ = items; +#line 84 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp26_ = collection; +#line 84 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection), _tmp26_); +#line 86 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp27_ = items; +#line 86 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp28_ = sorted_list_merge_sort (self, _tmp27_); +#line 86 "/home/jens/Source/shotwell/src/SortedList.vala" + changed = _tmp28_; +#line 75 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_object_unref0 (items); +#line 522 "SortedList.c" + } +#line 92 "/home/jens/Source/shotwell/src/SortedList.vala" + result = changed; +#line 92 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_object_unref0 (as_list); +#line 92 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 530 "SortedList.c" +} + + +gboolean sorted_list_add_list (SortedList* self, GeeList* items) { + gboolean result = FALSE; + gboolean added = FALSE; + GeeList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 95 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), FALSE); +#line 95 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (GEE_IS_LIST (items), FALSE); +#line 96 "/home/jens/Source/shotwell/src/SortedList.vala" + added = FALSE; +#line 97 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = items; +#line 97 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 97 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 97 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp2_ == 0) { +#line 554 "SortedList.c" + } else { + Comparator _tmp3_ = NULL; + void* _tmp3__target = NULL; +#line 99 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = self->priv->cmp; +#line 99 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3__target = self->priv->cmp_target; +#line 99 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp3_ != NULL) { +#line 564 "SortedList.c" + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 102 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = items; +#line 102 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 102 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = _tmp5_; +#line 102 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp6_ == 1) { +#line 576 "SortedList.c" + GeeArrayList* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gint _tmp11_ = 0; + GeeList* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + gpointer _tmp14_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = self->priv->list; +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = items; +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = gee_list_get (_tmp8_, 0); +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = _tmp9_; +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = sorted_list_get_sorted_insert_pos (self, _tmp10_); +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = items; +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = gee_list_get (_tmp12_, 0); +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = _tmp13_; +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp11_, _tmp14_); +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp14_ == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp14_ = (self->priv->g_destroy_func (_tmp14_), NULL)); +#line 103 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp10_ == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp10_ = (self->priv->g_destroy_func (_tmp10_), NULL)); +#line 104 "/home/jens/Source/shotwell/src/SortedList.vala" + added = TRUE; +#line 609 "SortedList.c" + } else { + GeeList* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 106 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = items; +#line 106 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = sorted_list_merge_sort (self, _tmp15_); +#line 106 "/home/jens/Source/shotwell/src/SortedList.vala" + added = _tmp16_; +#line 619 "SortedList.c" + } + } else { + GeeArrayList* _tmp17_ = NULL; + GeeList* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 109 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = self->priv->list; +#line 109 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = items; +#line 109 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = gee_array_list_add_all (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 109 "/home/jens/Source/shotwell/src/SortedList.vala" + added = _tmp19_; +#line 633 "SortedList.c" + } + } +#line 116 "/home/jens/Source/shotwell/src/SortedList.vala" + result = added; +#line 116 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 640 "SortedList.c" +} + + +static void sorted_list_real_clear (GeeCollection* base) { + SortedList * self; + GeeArrayList* _tmp0_ = NULL; +#line 119 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 120 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 120 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 653 "SortedList.c" +} + + +static gboolean sorted_list_real_contains (GeeCollection* base, gconstpointer item) { + SortedList * self; + gboolean result = FALSE; + GeeArrayList* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 123 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 124 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 124 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = item; +#line 124 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 124 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 124 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 675 "SortedList.c" +} + + +static gboolean sorted_list_real_contains_all (GeeCollection* base, GeeCollection* collection) { + SortedList * self; + gboolean result = FALSE; + GeeArrayList* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 127 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 127 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (collection), FALSE); +#line 128 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 128 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = collection; +#line 128 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_collection_contains_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 128 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 128 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 699 "SortedList.c" +} + + +static gboolean sorted_list_real_remove (GeeCollection* base, gconstpointer item) { + SortedList * self; + gboolean result = FALSE; + GeeArrayList* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 137 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 138 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 138 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = item; +#line 138 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 138 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 138 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 721 "SortedList.c" +} + + +static gboolean sorted_list_real_remove_all (GeeCollection* base, GeeCollection* collection) { + SortedList * self; + gboolean result = FALSE; + GeeArrayList* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 141 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 141 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (collection), FALSE); +#line 142 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 142 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = collection; +#line 142 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 142 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 142 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 745 "SortedList.c" +} + + +static gboolean sorted_list_real_retain_all (GeeCollection* base, GeeCollection* collection) { + SortedList * self; + gboolean result = FALSE; + GeeArrayList* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 145 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 145 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (collection), FALSE); +#line 146 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 146 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = collection; +#line 146 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_collection_retain_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 146 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 146 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 769 "SortedList.c" +} + + +inline gint sorted_list_get_count (SortedList* self) { + gint result = 0; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 153 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), 0); +#line 154 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 154 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 154 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 154 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 154 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 790 "SortedList.c" +} + + +gpointer sorted_list_get_at (SortedList* self, gint index) { + gpointer result = NULL; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gpointer _tmp2_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), NULL); +#line 158 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 158 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = index; +#line 158 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp1_); +#line 158 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 158 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 811 "SortedList.c" +} + + +static gint sorted_list_binary_search (SortedList* self, gconstpointer search, GEqualFunc equal_func) { + gint result = 0; + Comparator _tmp0_ = NULL; + void* _tmp0__target = NULL; + gint min = 0; + gint max = 0; + GeeArrayList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 161 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), 0); +#line 162 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->cmp; +#line 162 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0__target = self->priv->cmp_target; +#line 162 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp0_ != NULL, "cmp != null"); +#line 164 "/home/jens/Source/shotwell/src/SortedList.vala" + min = 0; +#line 165 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = self->priv->list; +#line 165 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 165 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = _tmp2_; +#line 165 "/home/jens/Source/shotwell/src/SortedList.vala" + max = _tmp3_; +#line 842 "SortedList.c" + { + gboolean _tmp4_ = FALSE; +#line 166 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = TRUE; +#line 166 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 849 "SortedList.c" + gint mid = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gpointer item = NULL; + GeeArrayList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GEqualFunc _tmp12_ = NULL; + gint64 compare = 0LL; + Comparator _tmp17_ = NULL; + void* _tmp17__target = NULL; + gconstpointer _tmp18_ = NULL; + gconstpointer _tmp19_ = NULL; + gint64 _tmp20_ = 0LL; + gint64 _tmp21_ = 0LL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 166 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!_tmp4_) { +#line 871 "SortedList.c" + } +#line 166 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = FALSE; +#line 167 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = min; +#line 167 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = max; +#line 167 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = min; +#line 167 "/home/jens/Source/shotwell/src/SortedList.vala" + mid = _tmp5_ + ((_tmp6_ - _tmp7_) / 2); +#line 168 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = self->priv->list; +#line 168 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = mid; +#line 168 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp9_); +#line 168 "/home/jens/Source/shotwell/src/SortedList.vala" + item = _tmp10_; +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = equal_func; +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp12_ != NULL) { +#line 895 "SortedList.c" + GEqualFunc _tmp13_ = NULL; + gconstpointer _tmp14_ = NULL; + gconstpointer _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = equal_func; +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = item; +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = search; +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = _tmp13_ (_tmp14_, _tmp15_); +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = _tmp16_; +#line 910 "SortedList.c" + } else { +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = FALSE; +#line 914 "SortedList.c" + } +#line 170 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp11_) { +#line 171 "/home/jens/Source/shotwell/src/SortedList.vala" + result = mid; +#line 171 "/home/jens/Source/shotwell/src/SortedList.vala" + ((item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (item = (self->priv->g_destroy_func (item), NULL)); +#line 171 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 924 "SortedList.c" + } +#line 173 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = self->priv->cmp; +#line 173 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17__target = self->priv->cmp_target; +#line 173 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = item; +#line 173 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = search; +#line 173 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp20_ = _tmp17_ (_tmp18_, _tmp19_, _tmp17__target); +#line 173 "/home/jens/Source/shotwell/src/SortedList.vala" + compare = _tmp20_; +#line 174 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp21_ = compare; +#line 174 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp21_ == ((gint64) 0)) { +#line 175 "/home/jens/Source/shotwell/src/SortedList.vala" + result = mid; +#line 175 "/home/jens/Source/shotwell/src/SortedList.vala" + ((item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (item = (self->priv->g_destroy_func (item), NULL)); +#line 175 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 948 "SortedList.c" + } else { + gint64 _tmp22_ = 0LL; +#line 176 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp22_ = compare; +#line 176 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp22_ > ((gint64) 0)) { +#line 955 "SortedList.c" + gint _tmp23_ = 0; +#line 177 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23_ = mid; +#line 177 "/home/jens/Source/shotwell/src/SortedList.vala" + max = _tmp23_ - 1; +#line 961 "SortedList.c" + } else { + gint _tmp24_ = 0; +#line 179 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24_ = mid; +#line 179 "/home/jens/Source/shotwell/src/SortedList.vala" + min = _tmp24_ + 1; +#line 968 "SortedList.c" + } + } +#line 181 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp25_ = min; +#line 181 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp26_ = max; +#line 181 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp25_ > _tmp26_) { +#line 182 "/home/jens/Source/shotwell/src/SortedList.vala" + ((item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (item = (self->priv->g_destroy_func (item), NULL)); +#line 182 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 981 "SortedList.c" + } +#line 166 "/home/jens/Source/shotwell/src/SortedList.vala" + ((item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (item = (self->priv->g_destroy_func (item), NULL)); +#line 985 "SortedList.c" + } + } +#line 185 "/home/jens/Source/shotwell/src/SortedList.vala" + result = -1; +#line 185 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 992 "SortedList.c" +} + + +gint sorted_list_index_of (SortedList* self, gconstpointer search) { + gint result = 0; + gint _tmp0_ = 0; + Comparator _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 195 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), 0); +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = self->priv->cmp; +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1__target = self->priv->cmp_target; +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp1_ != NULL) { +#line 1009 "SortedList.c" + gconstpointer _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = search; +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = sorted_list_binary_search (self, _tmp2_, NULL); +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = _tmp3_; +#line 1018 "SortedList.c" + } else { + gconstpointer _tmp4_ = NULL; + GEqualFunc _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = search; +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = g_direct_equal; +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = sorted_list_locate (self, _tmp4_, FALSE, _tmp5_); +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = _tmp6_; +#line 1031 "SortedList.c" + } +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp0_; +#line 196 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1037 "SortedList.c" +} + + +gint sorted_list_locate (SortedList* self, gconstpointer search, gboolean altered, GEqualFunc equal_func) { + gint result = 0; + gboolean _tmp0_ = FALSE; + Comparator _tmp1_ = NULL; + void* _tmp1__target = NULL; + gconstpointer _tmp18_ = NULL; + GEqualFunc _tmp19_ = NULL; + gint _tmp20_ = 0; +#line 200 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), 0); +#line 201 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = self->priv->cmp; +#line 201 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1__target = self->priv->cmp_target; +#line 201 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp1_ == NULL) { +#line 201 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = TRUE; +#line 1059 "SortedList.c" + } else { + gboolean _tmp2_ = FALSE; +#line 201 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = altered; +#line 201 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = _tmp2_; +#line 1066 "SortedList.c" + } +#line 201 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp0_) { +#line 1070 "SortedList.c" + gint count = 0; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 202 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = self->priv->list; +#line 202 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 202 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = _tmp4_; +#line 202 "/home/jens/Source/shotwell/src/SortedList.vala" + count = _tmp5_; +#line 1083 "SortedList.c" + { + gint ctr = 0; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + ctr = 0; +#line 1088 "SortedList.c" + { + gboolean _tmp6_ = FALSE; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = TRUE; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 1095 "SortedList.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + GEqualFunc _tmp10_ = NULL; + GeeArrayList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gpointer _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + gconstpointer _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!_tmp6_) { +#line 1108 "SortedList.c" + gint _tmp7_ = 0; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = ctr; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + ctr = _tmp7_ + 1; +#line 1114 "SortedList.c" + } +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = FALSE; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = ctr; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = count; +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 203 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 1126 "SortedList.c" + } +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = equal_func; +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = self->priv->list; +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = ctr; +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp12_); +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = _tmp13_; +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = search; +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = _tmp10_ (_tmp14_, _tmp15_); +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = _tmp16_; +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp14_ == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp14_ = (self->priv->g_destroy_func (_tmp14_), NULL)); +#line 204 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp17_) { +#line 205 "/home/jens/Source/shotwell/src/SortedList.vala" + result = ctr; +#line 205 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1152 "SortedList.c" + } + } + } + } +#line 208 "/home/jens/Source/shotwell/src/SortedList.vala" + result = -1; +#line 208 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1161 "SortedList.c" + } +#line 211 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = search; +#line 211 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = equal_func; +#line 211 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp20_ = sorted_list_binary_search (self, _tmp18_, _tmp19_); +#line 211 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp20_; +#line 211 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1173 "SortedList.c" +} + + +gpointer sorted_list_remove_at (SortedList* self, gint index) { + gpointer result = NULL; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gpointer _tmp2_ = NULL; +#line 226 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), NULL); +#line 227 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 227 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = index; +#line 227 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_abstract_list_remove_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp1_); +#line 227 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 227 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1194 "SortedList.c" +} + + +static gpointer* sorted_list_real_to_array (GeeCollection* base, int* result_length1) { + SortedList * self; + gpointer* result = NULL; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gpointer* _tmp2_ = NULL; + gpointer* _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 230 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 231 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 231 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp1_); +#line 231 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = _tmp2_; +#line 231 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3__length1 = _tmp1_; +#line 231 "/home/jens/Source/shotwell/src/SortedList.vala" + if (result_length1) { +#line 231 "/home/jens/Source/shotwell/src/SortedList.vala" + *result_length1 = _tmp3__length1; +#line 1220 "SortedList.c" + } +#line 231 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp3_; +#line 231 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1226 "SortedList.c" +} + + +void sorted_list_resort (SortedList* self, Comparator new_cmp, void* new_cmp_target) { + Comparator _tmp0_ = NULL; + void* _tmp0__target = NULL; +#line 234 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_if_fail (IS_SORTED_LIST (self)); +#line 235 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = new_cmp; +#line 235 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0__target = new_cmp_target; +#line 235 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->cmp = _tmp0_; +#line 235 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->cmp_target = _tmp0__target; +#line 237 "/home/jens/Source/shotwell/src/SortedList.vala" + sorted_list_merge_sort (self, NULL); +#line 1245 "SortedList.c" +} + + +gboolean sorted_list_resort_item (SortedList* self, gconstpointer item) { + gboolean result = FALSE; + gint index = 0; + gconstpointer _tmp0_ = NULL; + GEqualFunc _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint new_index = 0; + gconstpointer _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 245 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), FALSE); +#line 246 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = item; +#line 246 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = g_direct_equal; +#line 246 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = sorted_list_locate (self, _tmp0_, TRUE, _tmp1_); +#line 246 "/home/jens/Source/shotwell/src/SortedList.vala" + index = _tmp2_; +#line 247 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = index; +#line 247 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp3_ >= 0, "index >= 0"); +#line 249 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = item; +#line 249 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = sorted_list_get_sorted_insert_pos (self, _tmp4_); +#line 249 "/home/jens/Source/shotwell/src/SortedList.vala" + new_index = _tmp5_; +#line 251 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = index; +#line 251 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = new_index; +#line 251 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp6_ == _tmp7_) { +#line 252 "/home/jens/Source/shotwell/src/SortedList.vala" + result = FALSE; +#line 252 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1293 "SortedList.c" + } +#line 256 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = new_index; +#line 256 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = index; +#line 256 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp8_ > _tmp9_) { +#line 1301 "SortedList.c" + GeeArrayList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gconstpointer _tmp12_ = NULL; + gpointer removed_item = NULL; + GeeArrayList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gpointer _tmp15_ = NULL; + gconstpointer _tmp16_ = NULL; + gconstpointer _tmp17_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = self->priv->list; +#line 257 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = new_index; +#line 257 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = item; +#line 257 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp11_, _tmp12_); +#line 258 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = self->priv->list; +#line 258 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = index; +#line 258 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = gee_abstract_list_remove_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp14_); +#line 258 "/home/jens/Source/shotwell/src/SortedList.vala" + removed_item = _tmp15_; +#line 259 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = item; +#line 259 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = removed_item; +#line 259 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp16_ == _tmp17_, "item == removed_item"); +#line 256 "/home/jens/Source/shotwell/src/SortedList.vala" + ((removed_item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (removed_item = (self->priv->g_destroy_func (removed_item), NULL)); +#line 1335 "SortedList.c" + } else { + gpointer removed_item = NULL; + GeeArrayList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gpointer _tmp20_ = NULL; + gconstpointer _tmp21_ = NULL; + gconstpointer _tmp22_ = NULL; + GeeArrayList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gconstpointer _tmp25_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = self->priv->list; +#line 261 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = index; +#line 261 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp20_ = gee_abstract_list_remove_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp19_); +#line 261 "/home/jens/Source/shotwell/src/SortedList.vala" + removed_item = _tmp20_; +#line 262 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp21_ = item; +#line 262 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp22_ = removed_item; +#line 262 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp21_ == _tmp22_, "item == removed_item"); +#line 263 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23_ = self->priv->list; +#line 263 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24_ = new_index; +#line 263 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp25_ = item; +#line 263 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp24_, _tmp25_); +#line 256 "/home/jens/Source/shotwell/src/SortedList.vala" + ((removed_item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (removed_item = (self->priv->g_destroy_func (removed_item), NULL)); +#line 1370 "SortedList.c" + } +#line 270 "/home/jens/Source/shotwell/src/SortedList.vala" + result = TRUE; +#line 270 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1376 "SortedList.c" +} + + +static gint sorted_list_get_sorted_insert_pos (SortedList* self, gconstpointer item) { + gint result = 0; + gint low = 0; + gint high = 0; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 273 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), 0); +#line 274 "/home/jens/Source/shotwell/src/SortedList.vala" + low = 0; +#line 275 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 275 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 275 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 275 "/home/jens/Source/shotwell/src/SortedList.vala" + high = _tmp2_; +#line 1399 "SortedList.c" + { + gboolean _tmp3_ = FALSE; +#line 276 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = TRUE; +#line 276 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 1406 "SortedList.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint mid = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gpointer cmp_item = NULL; + GeeArrayList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + gconstpointer _tmp12_ = NULL; + gconstpointer _tmp13_ = NULL; + gint64 _result_ = 0LL; + Comparator _tmp24_ = NULL; + void* _tmp24__target = NULL; + gconstpointer _tmp25_ = NULL; + gconstpointer _tmp26_ = NULL; + gint64 _tmp27_ = 0LL; + gint64 _tmp28_ = 0LL; +#line 276 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!_tmp3_) { +#line 1428 "SortedList.c" + } +#line 276 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = FALSE; +#line 277 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = low; +#line 277 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = high; +#line 277 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp4_ == _tmp5_) { +#line 278 "/home/jens/Source/shotwell/src/SortedList.vala" + result = low; +#line 278 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1442 "SortedList.c" + } +#line 280 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = low; +#line 280 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = high; +#line 280 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = low; +#line 280 "/home/jens/Source/shotwell/src/SortedList.vala" + mid = _tmp6_ + ((_tmp7_ - _tmp8_) / 2); +#line 284 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = self->priv->list; +#line 284 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = mid; +#line 284 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp10_); +#line 284 "/home/jens/Source/shotwell/src/SortedList.vala" + cmp_item = _tmp11_; +#line 285 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = item; +#line 285 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = cmp_item; +#line 285 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp12_ == _tmp13_) { +#line 1466 "SortedList.c" + gint _tmp14_ = 0; + GeeArrayList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + GeeArrayList* _tmp21_ = NULL; + gint _tmp22_ = 0; + gpointer _tmp23_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = mid; +#line 287 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = self->priv->list; +#line 287 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 287 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = _tmp16_; +#line 287 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp14_ >= (_tmp17_ - 1)) { +#line 1484 "SortedList.c" + GeeArrayList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 288 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = self->priv->list; +#line 288 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 288 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp20_ = _tmp19_; +#line 288 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp20_; +#line 288 "/home/jens/Source/shotwell/src/SortedList.vala" + ((cmp_item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (cmp_item = (self->priv->g_destroy_func (cmp_item), NULL)); +#line 288 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1500 "SortedList.c" + } +#line 290 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp21_ = self->priv->list; +#line 290 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp22_ = mid; +#line 290 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp22_ + 1); +#line 290 "/home/jens/Source/shotwell/src/SortedList.vala" + ((cmp_item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (cmp_item = (self->priv->g_destroy_func (cmp_item), NULL)); +#line 290 "/home/jens/Source/shotwell/src/SortedList.vala" + cmp_item = _tmp23_; +#line 1512 "SortedList.c" + } +#line 293 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24_ = self->priv->cmp; +#line 293 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24__target = self->priv->cmp_target; +#line 293 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp25_ = item; +#line 293 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp26_ = cmp_item; +#line 293 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp27_ = _tmp24_ (_tmp25_, _tmp26_, _tmp24__target); +#line 293 "/home/jens/Source/shotwell/src/SortedList.vala" + _result_ = _tmp27_; +#line 294 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp28_ = _result_; +#line 294 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp28_ < ((gint64) 0)) { +#line 1530 "SortedList.c" + gint _tmp29_ = 0; +#line 295 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp29_ = mid; +#line 295 "/home/jens/Source/shotwell/src/SortedList.vala" + high = _tmp29_; +#line 1536 "SortedList.c" + } else { + gint64 _tmp30_ = 0LL; +#line 296 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp30_ = _result_; +#line 296 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp30_ > ((gint64) 0)) { +#line 1543 "SortedList.c" + gint _tmp31_ = 0; +#line 297 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp31_ = mid; +#line 297 "/home/jens/Source/shotwell/src/SortedList.vala" + low = _tmp31_ + 1; +#line 1549 "SortedList.c" + } else { +#line 299 "/home/jens/Source/shotwell/src/SortedList.vala" + result = mid; +#line 299 "/home/jens/Source/shotwell/src/SortedList.vala" + ((cmp_item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (cmp_item = (self->priv->g_destroy_func (cmp_item), NULL)); +#line 299 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1557 "SortedList.c" + } + } +#line 276 "/home/jens/Source/shotwell/src/SortedList.vala" + ((cmp_item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (cmp_item = (self->priv->g_destroy_func (cmp_item), NULL)); +#line 1562 "SortedList.c" + } + } +} + + +SortedList* sorted_list_copy (SortedList* self) { + SortedList* result = NULL; + SortedList* copy = NULL; + Comparator _tmp0_ = NULL; + void* _tmp0__target = NULL; + SortedList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), NULL); +#line 304 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->cmp; +#line 304 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0__target = self->priv->cmp_target; +#line 304 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = sorted_list_new (self->priv->g_type, (GBoxedCopyFunc) self->priv->g_dup_func, self->priv->g_destroy_func, _tmp0_, _tmp0__target); +#line 304 "/home/jens/Source/shotwell/src/SortedList.vala" + copy = _tmp1_; +#line 306 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = copy->priv->list; +#line 306 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = self->priv->list; +#line 306 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_array_list_add_all (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 308 "/home/jens/Source/shotwell/src/SortedList.vala" + result = copy; +#line 308 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1596 "SortedList.c" +} + + +static gboolean sorted_list_merge_sort (SortedList* self, GeeList* add) { + gboolean result = FALSE; + Comparator _tmp0_ = NULL; + void* _tmp0__target = NULL; + gint list_count = 0; + GeeArrayList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GeeList* _tmp5_ = NULL; + gint add_count = 0; + gint count = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gpointer* array = NULL; + gint _tmp12_ = 0; + gpointer* _tmp13_ = NULL; + gint array_length1 = 0; + gint _array_size_ = 0; + gint offset = 0; + GeeList* _tmp23_ = NULL; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + gpointer* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + gint _tmp36_ = 0; + gpointer* _tmp37_ = NULL; + gpointer* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint _tmp39_ = 0; +#line 329 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), FALSE); +#line 329 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail ((add == NULL) || GEE_IS_LIST (add), FALSE); +#line 330 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->cmp; +#line 330 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0__target = self->priv->cmp_target; +#line 330 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp0_ != NULL, "cmp != null"); +#line 332 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = self->priv->list; +#line 332 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 332 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = _tmp2_; +#line 332 "/home/jens/Source/shotwell/src/SortedList.vala" + list_count = _tmp3_; +#line 333 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = add; +#line 333 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp5_ != NULL) { +#line 1653 "SortedList.c" + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 333 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = add; +#line 333 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 333 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = _tmp7_; +#line 333 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = _tmp8_; +#line 1665 "SortedList.c" + } else { +#line 333 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = 0; +#line 1669 "SortedList.c" + } +#line 333 "/home/jens/Source/shotwell/src/SortedList.vala" + add_count = _tmp4_; +#line 335 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = list_count; +#line 335 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = add_count; +#line 335 "/home/jens/Source/shotwell/src/SortedList.vala" + count = _tmp9_ + _tmp10_; +#line 336 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = count; +#line 336 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp11_ == 0) { +#line 337 "/home/jens/Source/shotwell/src/SortedList.vala" + result = FALSE; +#line 337 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1687 "SortedList.c" + } +#line 341 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = count; +#line 341 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = g_new0 (gpointer, _tmp12_); +#line 341 "/home/jens/Source/shotwell/src/SortedList.vala" + array = _tmp13_; +#line 341 "/home/jens/Source/shotwell/src/SortedList.vala" + array_length1 = _tmp12_; +#line 341 "/home/jens/Source/shotwell/src/SortedList.vala" + _array_size_ = array_length1; +#line 342 "/home/jens/Source/shotwell/src/SortedList.vala" + offset = 0; +#line 344 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 1703 "SortedList.c" + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gpointer* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + GeeArrayList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gpointer _tmp20_ = NULL; + gpointer _tmp21_ = NULL; + gint _tmp22_ = 0; +#line 344 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = offset; +#line 344 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = list_count; +#line 344 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!(_tmp14_ < _tmp15_)) { +#line 344 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 1722 "SortedList.c" + } +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = array; +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16__length1 = array_length1; +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = offset; +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = self->priv->list; +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = offset; +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp20_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp19_); +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp16_[_tmp17_] == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp16_[_tmp17_] = (self->priv->g_destroy_func (_tmp16_[_tmp17_]), NULL)); +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_[_tmp17_] = _tmp20_; +#line 345 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp21_ = _tmp16_[_tmp17_]; +#line 346 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp22_ = offset; +#line 346 "/home/jens/Source/shotwell/src/SortedList.vala" + offset = _tmp22_ + 1; +#line 1746 "SortedList.c" + } +#line 349 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23_ = add; +#line 349 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp23_ != NULL) { +#line 1752 "SortedList.c" + gint add_ctr = 0; +#line 350 "/home/jens/Source/shotwell/src/SortedList.vala" + add_ctr = 0; +#line 351 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 1758 "SortedList.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gpointer* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gint _tmp27_ = 0; + GeeList* _tmp28_ = NULL; + gint _tmp29_ = 0; + gpointer _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + gint _tmp32_ = 0; +#line 351 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24_ = offset; +#line 351 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp25_ = count; +#line 351 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!(_tmp24_ < _tmp25_)) { +#line 351 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 1777 "SortedList.c" + } +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp26_ = array; +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp26__length1 = array_length1; +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp27_ = offset; +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp28_ = add; +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp29_ = add_ctr; +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + add_ctr = _tmp29_ + 1; +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp30_ = gee_list_get (_tmp28_, _tmp29_); +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp26_[_tmp27_] == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp26_[_tmp27_] = (self->priv->g_destroy_func (_tmp26_[_tmp27_]), NULL)); +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp26_[_tmp27_] = _tmp30_; +#line 352 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp31_ = _tmp26_[_tmp27_]; +#line 353 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp32_ = offset; +#line 353 "/home/jens/Source/shotwell/src/SortedList.vala" + offset = _tmp32_ + 1; +#line 1803 "SortedList.c" + } + } +#line 357 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp33_ = offset; +#line 357 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp34_ = count; +#line 357 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp33_ == _tmp34_, "offset == count"); +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp35_ = array; +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp35__length1 = array_length1; +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp36_ = count; +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp37_ = g_new0 (gpointer, _tmp36_); +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp38_ = _tmp37_; +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp38__length1 = _tmp36_; +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp39_ = count; +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _sorted_list_merge_sort (self, _tmp35_, _tmp35__length1, _tmp38_, _tmp36_, 0, _tmp39_ - 1); +#line 359 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp38_ = (_vala_array_free (_tmp38_, _tmp38__length1, (GDestroyNotify) self->priv->g_destroy_func), NULL); +#line 361 "/home/jens/Source/shotwell/src/SortedList.vala" + offset = 0; +#line 362 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 1834 "SortedList.c" + gint _tmp40_ = 0; + gint _tmp41_ = 0; + GeeArrayList* _tmp42_ = NULL; + gint _tmp43_ = 0; + gpointer* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gint _tmp45_ = 0; + gconstpointer _tmp46_ = NULL; + gint _tmp47_ = 0; +#line 362 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp40_ = offset; +#line 362 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp41_ = list_count; +#line 362 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!(_tmp40_ < _tmp41_)) { +#line 362 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 1852 "SortedList.c" + } +#line 363 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp42_ = self->priv->list; +#line 363 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp43_ = offset; +#line 363 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp44_ = array; +#line 363 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp44__length1 = array_length1; +#line 363 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp45_ = offset; +#line 363 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp46_ = _tmp44_[_tmp45_]; +#line 363 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_list_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp43_, _tmp46_); +#line 364 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp47_ = offset; +#line 364 "/home/jens/Source/shotwell/src/SortedList.vala" + offset = _tmp47_ + 1; +#line 1872 "SortedList.c" + } +#line 367 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 1876 "SortedList.c" + gint _tmp48_ = 0; + gint _tmp49_ = 0; + GeeArrayList* _tmp50_ = NULL; + gint _tmp51_ = 0; + gpointer* _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gint _tmp53_ = 0; + gconstpointer _tmp54_ = NULL; + gint _tmp55_ = 0; +#line 367 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp48_ = offset; +#line 367 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp49_ = count; +#line 367 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!(_tmp48_ < _tmp49_)) { +#line 367 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 1894 "SortedList.c" + } +#line 368 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp50_ = self->priv->list; +#line 368 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp51_ = offset; +#line 368 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp52_ = array; +#line 368 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp52__length1 = array_length1; +#line 368 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp53_ = offset; +#line 368 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp54_ = _tmp52_[_tmp53_]; +#line 368 "/home/jens/Source/shotwell/src/SortedList.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp51_, _tmp54_); +#line 369 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp55_ = offset; +#line 369 "/home/jens/Source/shotwell/src/SortedList.vala" + offset = _tmp55_ + 1; +#line 1914 "SortedList.c" + } +#line 372 "/home/jens/Source/shotwell/src/SortedList.vala" + result = TRUE; +#line 372 "/home/jens/Source/shotwell/src/SortedList.vala" + array = (_vala_array_free (array, array_length1, (GDestroyNotify) self->priv->g_destroy_func), NULL); +#line 372 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 1922 "SortedList.c" +} + + +static void _sorted_list_merge_sort (SortedList* self, gpointer* array, int array_length1, gpointer* scratch, int scratch_length1, gint start_index, gint end_index) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint count = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint middle_index = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gpointer* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gpointer* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gpointer* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gpointer* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + Comparator _tmp15_ = NULL; + void* _tmp15__target = NULL; + gpointer* _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gint _tmp17_ = 0; + gconstpointer _tmp18_ = NULL; + gpointer* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gint _tmp20_ = 0; + gconstpointer _tmp21_ = NULL; + gint64 _tmp22_ = 0LL; +#line 375 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_if_fail (IS_SORTED_LIST (self)); +#line 376 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = start_index; +#line 376 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = end_index; +#line 376 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp0_ <= _tmp1_, "start_index <= end_index"); +#line 378 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = end_index; +#line 378 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = start_index; +#line 378 "/home/jens/Source/shotwell/src/SortedList.vala" + count = (_tmp2_ - _tmp3_) + 1; +#line 379 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = count; +#line 379 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp4_ <= 1) { +#line 380 "/home/jens/Source/shotwell/src/SortedList.vala" + return; +#line 1979 "SortedList.c" + } +#line 382 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = start_index; +#line 382 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = count; +#line 382 "/home/jens/Source/shotwell/src/SortedList.vala" + middle_index = _tmp5_ + (_tmp6_ / 2); +#line 384 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = array; +#line 384 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7__length1 = array_length1; +#line 384 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = scratch; +#line 384 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8__length1 = scratch_length1; +#line 384 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = start_index; +#line 384 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = middle_index; +#line 384 "/home/jens/Source/shotwell/src/SortedList.vala" + _sorted_list_merge_sort (self, _tmp7_, _tmp7__length1, _tmp8_, _tmp8__length1, _tmp9_, _tmp10_ - 1); +#line 385 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = array; +#line 385 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11__length1 = array_length1; +#line 385 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = scratch; +#line 385 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12__length1 = scratch_length1; +#line 385 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = middle_index; +#line 385 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = end_index; +#line 385 "/home/jens/Source/shotwell/src/SortedList.vala" + _sorted_list_merge_sort (self, _tmp11_, _tmp11__length1, _tmp12_, _tmp12__length1, _tmp13_, _tmp14_); +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = self->priv->cmp; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15__target = self->priv->cmp_target; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = array; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16__length1 = array_length1; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = middle_index; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = _tmp16_[_tmp17_ - 1]; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = array; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19__length1 = array_length1; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp20_ = middle_index; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp21_ = _tmp19_[_tmp20_]; +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp22_ = _tmp15_ (_tmp18_, _tmp21_, _tmp15__target); +#line 387 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp22_ > ((gint64) 0)) { +#line 2039 "SortedList.c" + gpointer* _tmp23_ = NULL; + gint _tmp23__length1 = 0; + gpointer* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 388 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23_ = array; +#line 388 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23__length1 = array_length1; +#line 388 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24_ = scratch; +#line 388 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24__length1 = scratch_length1; +#line 388 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp25_ = start_index; +#line 388 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp26_ = middle_index; +#line 388 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp27_ = end_index; +#line 388 "/home/jens/Source/shotwell/src/SortedList.vala" + sorted_list_merge (self, _tmp23_, _tmp23__length1, _tmp24_, _tmp24__length1, _tmp25_, _tmp26_, _tmp27_); +#line 2063 "SortedList.c" + } +} + + +static void sorted_list_merge (SortedList* self, gpointer* array, int array_length1, gpointer* scratch, int scratch_length1, gint start_index, gint middle_index, gint end_index) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint count = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint left_start = 0; + gint _tmp4_ = 0; + gint left_end = 0; + gint _tmp5_ = 0; + gint right_start = 0; + gint _tmp6_ = 0; + gint right_end = 0; + gint _tmp7_ = 0; + gpointer* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + gint scratch_index = 0; + gint _tmp57_ = 0; + gint _tmp58_ = 0; +#line 391 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_if_fail (IS_SORTED_LIST (self)); +#line 392 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = start_index; +#line 392 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = end_index; +#line 392 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp0_ < _tmp1_, "start_index < end_index"); +#line 394 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = end_index; +#line 394 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp3_ = start_index; +#line 394 "/home/jens/Source/shotwell/src/SortedList.vala" + count = (_tmp2_ - _tmp3_) + 1; +#line 395 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp4_ = start_index; +#line 395 "/home/jens/Source/shotwell/src/SortedList.vala" + left_start = _tmp4_; +#line 396 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp5_ = middle_index; +#line 396 "/home/jens/Source/shotwell/src/SortedList.vala" + left_end = _tmp5_ - 1; +#line 397 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp6_ = middle_index; +#line 397 "/home/jens/Source/shotwell/src/SortedList.vala" + right_start = _tmp6_; +#line 398 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp7_ = end_index; +#line 398 "/home/jens/Source/shotwell/src/SortedList.vala" + right_end = _tmp7_; +#line 400 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8_ = scratch; +#line 400 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp8__length1 = scratch_length1; +#line 400 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp9_ = count; +#line 400 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp8__length1 >= _tmp9_, "scratch.length >= count"); +#line 401 "/home/jens/Source/shotwell/src/SortedList.vala" + scratch_index = 0; +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 2130 "SortedList.c" + gboolean _tmp10_ = FALSE; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gpointer left = NULL; + gpointer* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gint _tmp16_ = 0; + gconstpointer _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + gpointer right = NULL; + gpointer* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gint _tmp20_ = 0; + gconstpointer _tmp21_ = NULL; + gpointer _tmp22_ = NULL; + Comparator _tmp23_ = NULL; + void* _tmp23__target = NULL; + gconstpointer _tmp24_ = NULL; + gconstpointer _tmp25_ = NULL; + gint64 _tmp26_ = 0LL; +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp11_ = left_start; +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp12_ = left_end; +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp11_ <= _tmp12_) { +#line 2157 "SortedList.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp13_ = right_start; +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp14_ = right_end; +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = _tmp13_ <= _tmp14_; +#line 2166 "SortedList.c" + } else { +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp10_ = FALSE; +#line 2170 "SortedList.c" + } +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!_tmp10_) { +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 2176 "SortedList.c" + } +#line 404 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15_ = array; +#line 404 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp15__length1 = array_length1; +#line 404 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp16_ = left_start; +#line 404 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp17_ = _tmp15_[_tmp16_]; +#line 404 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp18_ = ((_tmp17_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp17_) : ((gpointer) _tmp17_); +#line 404 "/home/jens/Source/shotwell/src/SortedList.vala" + left = _tmp18_; +#line 405 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19_ = array; +#line 405 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp19__length1 = array_length1; +#line 405 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp20_ = right_start; +#line 405 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp21_ = _tmp19_[_tmp20_]; +#line 405 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp22_ = ((_tmp21_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp21_) : ((gpointer) _tmp21_); +#line 405 "/home/jens/Source/shotwell/src/SortedList.vala" + right = _tmp22_; +#line 407 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23_ = self->priv->cmp; +#line 407 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp23__target = self->priv->cmp_target; +#line 407 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp24_ = left; +#line 407 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp25_ = right; +#line 407 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp26_ = _tmp23_ (_tmp24_, _tmp25_, _tmp23__target); +#line 407 "/home/jens/Source/shotwell/src/SortedList.vala" + if (_tmp26_ <= ((gint64) 0)) { +#line 2214 "SortedList.c" + gpointer* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gint _tmp28_ = 0; + gconstpointer _tmp29_ = NULL; + gpointer _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + gint _tmp32_ = 0; +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp27_ = scratch; +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp27__length1 = scratch_length1; +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp28_ = scratch_index; +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + scratch_index = _tmp28_ + 1; +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp29_ = left; +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp30_ = ((_tmp29_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp29_) : ((gpointer) _tmp29_); +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp27_[_tmp28_] == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp27_[_tmp28_] = (self->priv->g_destroy_func (_tmp27_[_tmp28_]), NULL)); +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp27_[_tmp28_] = _tmp30_; +#line 408 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp31_ = _tmp27_[_tmp28_]; +#line 409 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp32_ = left_start; +#line 409 "/home/jens/Source/shotwell/src/SortedList.vala" + left_start = _tmp32_ + 1; +#line 2244 "SortedList.c" + } else { + gpointer* _tmp33_ = NULL; + gint _tmp33__length1 = 0; + gint _tmp34_ = 0; + gconstpointer _tmp35_ = NULL; + gpointer _tmp36_ = NULL; + gpointer _tmp37_ = NULL; + gint _tmp38_ = 0; +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp33_ = scratch; +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp33__length1 = scratch_length1; +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp34_ = scratch_index; +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + scratch_index = _tmp34_ + 1; +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp35_ = right; +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp36_ = ((_tmp35_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp35_) : ((gpointer) _tmp35_); +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp33_[_tmp34_] == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp33_[_tmp34_] = (self->priv->g_destroy_func (_tmp33_[_tmp34_]), NULL)); +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp33_[_tmp34_] = _tmp36_; +#line 411 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp37_ = _tmp33_[_tmp34_]; +#line 412 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp38_ = right_start; +#line 412 "/home/jens/Source/shotwell/src/SortedList.vala" + right_start = _tmp38_ + 1; +#line 2275 "SortedList.c" + } +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + ((right == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (right = (self->priv->g_destroy_func (right), NULL)); +#line 403 "/home/jens/Source/shotwell/src/SortedList.vala" + ((left == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (left = (self->priv->g_destroy_func (left), NULL)); +#line 2281 "SortedList.c" + } +#line 416 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 2285 "SortedList.c" + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gpointer* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + gint _tmp42_ = 0; + gpointer* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gint _tmp44_ = 0; + gconstpointer _tmp45_ = NULL; + gpointer _tmp46_ = NULL; + gpointer _tmp47_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp39_ = left_start; +#line 416 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp40_ = left_end; +#line 416 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!(_tmp39_ <= _tmp40_)) { +#line 416 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 2305 "SortedList.c" + } +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp41_ = scratch; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp41__length1 = scratch_length1; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp42_ = scratch_index; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + scratch_index = _tmp42_ + 1; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp43_ = array; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp43__length1 = array_length1; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp44_ = left_start; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + left_start = _tmp44_ + 1; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp45_ = _tmp43_[_tmp44_]; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp46_ = ((_tmp45_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp45_) : ((gpointer) _tmp45_); +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp41_[_tmp42_] == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp41_[_tmp42_] = (self->priv->g_destroy_func (_tmp41_[_tmp42_]), NULL)); +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp41_[_tmp42_] = _tmp46_; +#line 417 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp47_ = _tmp41_[_tmp42_]; +#line 2333 "SortedList.c" + } +#line 419 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 2337 "SortedList.c" + gint _tmp48_ = 0; + gint _tmp49_ = 0; + gpointer* _tmp50_ = NULL; + gint _tmp50__length1 = 0; + gint _tmp51_ = 0; + gpointer* _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gint _tmp53_ = 0; + gconstpointer _tmp54_ = NULL; + gpointer _tmp55_ = NULL; + gpointer _tmp56_ = NULL; +#line 419 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp48_ = right_start; +#line 419 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp49_ = right_end; +#line 419 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!(_tmp48_ <= _tmp49_)) { +#line 419 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 2357 "SortedList.c" + } +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp50_ = scratch; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp50__length1 = scratch_length1; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp51_ = scratch_index; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + scratch_index = _tmp51_ + 1; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp52_ = array; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp52__length1 = array_length1; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp53_ = right_start; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + right_start = _tmp53_ + 1; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp54_ = _tmp52_[_tmp53_]; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp55_ = ((_tmp54_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp54_) : ((gpointer) _tmp54_); +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp50_[_tmp51_] == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp50_[_tmp51_] = (self->priv->g_destroy_func (_tmp50_[_tmp51_]), NULL)); +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp50_[_tmp51_] = _tmp55_; +#line 420 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp56_ = _tmp50_[_tmp51_]; +#line 2385 "SortedList.c" + } +#line 422 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp57_ = scratch_index; +#line 422 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp58_ = count; +#line 422 "/home/jens/Source/shotwell/src/SortedList.vala" + _vala_assert (_tmp57_ == _tmp58_, "scratch_index == count"); +#line 424 "/home/jens/Source/shotwell/src/SortedList.vala" + scratch_index = 0; +#line 2395 "SortedList.c" + { + gint list_index = 0; + gint _tmp59_ = 0; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp59_ = start_index; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + list_index = _tmp59_; +#line 2403 "SortedList.c" + { + gboolean _tmp60_ = FALSE; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp60_ = TRUE; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + while (TRUE) { +#line 2410 "SortedList.c" + gint _tmp62_ = 0; + gint _tmp63_ = 0; + gpointer* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gint _tmp65_ = 0; + gpointer* _tmp66_ = NULL; + gint _tmp66__length1 = 0; + gint _tmp67_ = 0; + gconstpointer _tmp68_ = NULL; + gpointer _tmp69_ = NULL; + gpointer _tmp70_ = NULL; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!_tmp60_) { +#line 2424 "SortedList.c" + gint _tmp61_ = 0; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp61_ = list_index; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + list_index = _tmp61_ + 1; +#line 2430 "SortedList.c" + } +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp60_ = FALSE; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp62_ = list_index; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp63_ = end_index; +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + if (!(_tmp62_ <= _tmp63_)) { +#line 425 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 2442 "SortedList.c" + } +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp64_ = array; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp64__length1 = array_length1; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp65_ = list_index; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp66_ = scratch; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp66__length1 = scratch_length1; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp67_ = scratch_index; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + scratch_index = _tmp67_ + 1; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp68_ = _tmp66_[_tmp67_]; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp69_ = ((_tmp68_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp68_) : ((gpointer) _tmp68_); +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + ((_tmp64_[_tmp65_] == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp64_[_tmp65_] = (self->priv->g_destroy_func (_tmp64_[_tmp65_]), NULL)); +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp64_[_tmp65_] = _tmp69_; +#line 426 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp70_ = _tmp64_[_tmp65_]; +#line 2468 "SortedList.c" + } + } + } +} + + +static GType sorted_list_real_get_element_type (GeeTraversable* base) { + GType result; + SortedList* self; +#line 35 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 35 "/home/jens/Source/shotwell/src/SortedList.vala" + result = self->priv->g_type; +#line 35 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 2484 "SortedList.c" +} + + +static gboolean sorted_list_real_get_read_only (GeeCollection* base) { + gboolean result; + SortedList* self; + GeeArrayList* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 39 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 39 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 39 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_abstract_collection_get_read_only (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 39 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 39 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 39 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 2506 "SortedList.c" +} + + +static gboolean sorted_list_real_get_is_empty (GeeCollection* base) { + gboolean result; + SortedList* self; + GeeArrayList* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 132 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 133 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 133 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_collection_get_is_empty (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 133 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 133 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 133 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 2528 "SortedList.c" +} + + +static gint sorted_list_real_get_size (GeeCollection* base) { + gint result; + SortedList* self; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 150 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 150 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 150 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 150 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 150 "/home/jens/Source/shotwell/src/SortedList.vala" + result = _tmp2_; +#line 150 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 2550 "SortedList.c" +} + + +static GeeCollection* sorted_list_real_get_read_only_view (GeeCollection* base) { + GeeCollection* result; + SortedList* self; + GeeArrayList* _tmp0_ = NULL; + GeeBidirList* _tmp1_ = NULL; + GeeBidirList* _tmp2_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SORTED_LIST, SortedList); +#line 216 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 216 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_abstract_bidir_list_get_read_only_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_BIDIR_LIST, GeeAbstractBidirList)); +#line 216 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 216 "/home/jens/Source/shotwell/src/SortedList.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 216 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 2572 "SortedList.c" +} + + +GeeList* sorted_list_get_read_only_view_as_list (SortedList* self) { + GeeList* result; + GeeArrayList* _tmp0_ = NULL; + GeeBidirList* _tmp1_ = NULL; + GeeBidirList* _tmp2_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/SortedList.vala" + g_return_val_if_fail (IS_SORTED_LIST (self), NULL); +#line 222 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp0_ = self->priv->list; +#line 222 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp1_ = gee_abstract_bidir_list_get_read_only_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_BIDIR_LIST, GeeAbstractBidirList)); +#line 222 "/home/jens/Source/shotwell/src/SortedList.vala" + _tmp2_ = _tmp1_; +#line 222 "/home/jens/Source/shotwell/src/SortedList.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList); +#line 222 "/home/jens/Source/shotwell/src/SortedList.vala" + return result; +#line 2593 "SortedList.c" +} + + +static void sorted_list_class_init (SortedListClass * klass) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + sorted_list_parent_class = g_type_class_peek_parent (klass); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_type_class_add_private (klass, sizeof (SortedListPrivate)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_sorted_list_get_property; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_sorted_list_set_property; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + G_OBJECT_CLASS (klass)->finalize = sorted_list_finalize; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_G_TYPE, g_param_spec_gtype ("g-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_G_DUP_FUNC, g_param_spec_pointer ("g-dup-func", "dup func", "dup func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_G_DESTROY_FUNC, g_param_spec_pointer ("g-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_ELEMENT_TYPE, g_param_spec_gtype ("element-type", "element-type", "element-type", G_TYPE_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_READ_ONLY, g_param_spec_boolean ("read-only", "read-only", "read-only", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_IS_EMPTY, g_param_spec_boolean ("is-empty", "is-empty", "is-empty", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_SIZE, g_param_spec_int ("size", "size", "size", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_READ_ONLY_VIEW, g_param_spec_object ("read-only-view", "read-only-view", "read-only-view", GEE_TYPE_COLLECTION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SORTED_LIST_READ_ONLY_VIEW_AS_LIST, g_param_spec_object ("read-only-view-as-list", "read-only-view-as-list", "read-only-view-as-list", GEE_TYPE_LIST, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 2626 "SortedList.c" +} + + +static GType sorted_list_gee_traversable_get_g_type (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_type; +#line 2633 "SortedList.c" +} + + +static GBoxedCopyFunc sorted_list_gee_traversable_get_g_dup_func (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_dup_func; +#line 2640 "SortedList.c" +} + + +static GDestroyNotify sorted_list_gee_traversable_get_g_destroy_func (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_destroy_func; +#line 2647 "SortedList.c" +} + + +static void sorted_list_gee_traversable_interface_init (GeeTraversableIface * iface) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + sorted_list_gee_traversable_parent_iface = g_type_interface_peek_parent (iface); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->foreach = (gboolean (*)(GeeTraversable*, GeeForallFunc, void*)) sorted_list_real_foreach; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_type = (GType(*)(GeeTraversable*)) sorted_list_gee_traversable_get_g_type; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_dup_func = (GBoxedCopyFunc(*)(GeeTraversable*)) sorted_list_gee_traversable_get_g_dup_func; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_destroy_func = (GDestroyNotify(*)(GeeTraversable*)) sorted_list_gee_traversable_get_g_destroy_func; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_element_type = sorted_list_real_get_element_type; +#line 2664 "SortedList.c" +} + + +static GType sorted_list_gee_iterable_get_g_type (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_type; +#line 2671 "SortedList.c" +} + + +static GBoxedCopyFunc sorted_list_gee_iterable_get_g_dup_func (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_dup_func; +#line 2678 "SortedList.c" +} + + +static GDestroyNotify sorted_list_gee_iterable_get_g_destroy_func (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_destroy_func; +#line 2685 "SortedList.c" +} + + +static void sorted_list_gee_iterable_interface_init (GeeIterableIface * iface) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + sorted_list_gee_iterable_parent_iface = g_type_interface_peek_parent (iface); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->iterator = (GeeIterator* (*)(GeeIterable*)) sorted_list_real_iterator; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_type = (GType(*)(GeeIterable*)) sorted_list_gee_iterable_get_g_type; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_dup_func = (GBoxedCopyFunc(*)(GeeIterable*)) sorted_list_gee_iterable_get_g_dup_func; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_destroy_func = (GDestroyNotify(*)(GeeIterable*)) sorted_list_gee_iterable_get_g_destroy_func; +#line 2700 "SortedList.c" +} + + +static GType sorted_list_gee_collection_get_g_type (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_type; +#line 2707 "SortedList.c" +} + + +static GBoxedCopyFunc sorted_list_gee_collection_get_g_dup_func (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_dup_func; +#line 2714 "SortedList.c" +} + + +static GDestroyNotify sorted_list_gee_collection_get_g_destroy_func (SortedList* self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + return self->priv->g_destroy_func; +#line 2721 "SortedList.c" +} + + +static void sorted_list_gee_collection_interface_init (GeeCollectionIface * iface) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + sorted_list_gee_collection_parent_iface = g_type_interface_peek_parent (iface); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->add = (gboolean (*)(GeeCollection*, gconstpointer)) sorted_list_real_add; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->add_all = (gboolean (*)(GeeCollection*, GeeCollection*)) sorted_list_real_add_all; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->clear = (void (*)(GeeCollection*)) sorted_list_real_clear; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->contains = (gboolean (*)(GeeCollection*, gconstpointer)) sorted_list_real_contains; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->contains_all = (gboolean (*)(GeeCollection*, GeeCollection*)) sorted_list_real_contains_all; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->remove = (gboolean (*)(GeeCollection*, gconstpointer)) sorted_list_real_remove; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->remove_all = (gboolean (*)(GeeCollection*, GeeCollection*)) sorted_list_real_remove_all; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->retain_all = (gboolean (*)(GeeCollection*, GeeCollection*)) sorted_list_real_retain_all; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->to_array = (gpointer* (*)(GeeCollection*, int*)) sorted_list_real_to_array; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_type = (GType(*)(GeeCollection*)) sorted_list_gee_collection_get_g_type; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_dup_func = (GBoxedCopyFunc(*)(GeeCollection*)) sorted_list_gee_collection_get_g_dup_func; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_g_destroy_func = (GDestroyNotify(*)(GeeCollection*)) sorted_list_gee_collection_get_g_destroy_func; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_read_only = sorted_list_real_get_read_only; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_is_empty = sorted_list_real_get_is_empty; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_size = sorted_list_real_get_size; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + iface->get_read_only_view = sorted_list_real_get_read_only_view; +#line 2760 "SortedList.c" +} + + +static void sorted_list_instance_init (SortedList * self) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv = SORTED_LIST_GET_PRIVATE (self); +#line 2767 "SortedList.c" +} + + +static void sorted_list_finalize (GObject* obj) { + SortedList * self; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SORTED_LIST, SortedList); +#line 26 "/home/jens/Source/shotwell/src/SortedList.vala" + _g_object_unref0 (self->priv->list); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + G_OBJECT_CLASS (sorted_list_parent_class)->finalize (obj); +#line 2779 "SortedList.c" +} + + +GType sorted_list_get_type (void) { + static volatile gsize sorted_list_type_id__volatile = 0; + if (g_once_init_enter (&sorted_list_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SortedListClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sorted_list_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SortedList), 0, (GInstanceInitFunc) sorted_list_instance_init, NULL }; + static const GInterfaceInfo gee_traversable_info = { (GInterfaceInitFunc) sorted_list_gee_traversable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo gee_iterable_info = { (GInterfaceInitFunc) sorted_list_gee_iterable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo gee_collection_info = { (GInterfaceInitFunc) sorted_list_gee_collection_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType sorted_list_type_id; + sorted_list_type_id = g_type_register_static (G_TYPE_OBJECT, "SortedList", &g_define_type_info, 0); + g_type_add_interface_static (sorted_list_type_id, GEE_TYPE_TRAVERSABLE, &gee_traversable_info); + g_type_add_interface_static (sorted_list_type_id, GEE_TYPE_ITERABLE, &gee_iterable_info); + g_type_add_interface_static (sorted_list_type_id, GEE_TYPE_COLLECTION, &gee_collection_info); + g_once_init_leave (&sorted_list_type_id__volatile, sorted_list_type_id); + } + return sorted_list_type_id__volatile; +} + + +static void _vala_sorted_list_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + SortedList * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_SORTED_LIST, SortedList); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + switch (property_id) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_ELEMENT_TYPE: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_value_set_gtype (value, gee_traversable_get_element_type (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_TRAVERSABLE, GeeTraversable))); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_READ_ONLY: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_value_set_boolean (value, gee_collection_get_read_only (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection))); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_IS_EMPTY: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_value_set_boolean (value, gee_collection_get_is_empty (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection))); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_SIZE: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_value_set_int (value, gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection))); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_READ_ONLY_VIEW: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_value_take_object (value, gee_collection_get_read_only_view (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_COLLECTION, GeeCollection))); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_READ_ONLY_VIEW_AS_LIST: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + g_value_take_object (value, sorted_list_get_read_only_view_as_list (self)); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 2842 "SortedList.c" + default: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 2848 "SortedList.c" + } +} + + +static void _vala_sorted_list_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + SortedList * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_SORTED_LIST, SortedList); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + switch (property_id) { +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_G_TYPE: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->g_type = g_value_get_gtype (value); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_G_DUP_FUNC: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->g_dup_func = g_value_get_pointer (value); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + case SORTED_LIST_G_DESTROY_FUNC: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + self->priv->g_destroy_func = g_value_get_pointer (value); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 2876 "SortedList.c" + default: +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 25 "/home/jens/Source/shotwell/src/SortedList.vala" + break; +#line 2882 "SortedList.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/Tag.c b/src/Tag.c new file mode 100644 index 0000000..3682fd8 --- /dev/null +++ b/src/Tag.c @@ -0,0 +1,9786 @@ +/* Tag.c generated by valac 0.32.1, the Vala compiler + * generated from Tag.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#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_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#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; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; + +#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; +typedef struct _ContainerSourceCollectionPrivate ContainerSourceCollectionPrivate; + +#define TYPE_CONTAINER_SOURCE (container_source_get_type ()) +#define CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE, ContainerSource)) +#define IS_CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE)) +#define CONTAINER_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONTAINER_SOURCE, ContainerSourceIface)) + +typedef struct _ContainerSource ContainerSource; +typedef struct _ContainerSourceIface ContainerSourceIface; + +#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; +typedef struct _TagSourceCollectionPrivate TagSourceCollectionPrivate; + +#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_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_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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_ID (tag_id_get_type ()) +typedef struct _TagID TagID; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _DataObjectPrivate DataObjectPrivate; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#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_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; + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; +typedef struct _TagPrivate TagPrivate; + +#define TYPE_TAG_ROW (tag_row_get_type ()) +#define TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_ROW, TagRow)) +#define TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_ROW, TagRowClass)) +#define IS_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_ROW)) +#define IS_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_ROW)) +#define TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_ROW, TagRowClass)) + +typedef struct _TagRow TagRow; +typedef struct _TagRowClass TagRowClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_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 _tag_row_unref0(var) ((var == NULL) ? NULL : (var = (tag_row_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +typedef struct _TagRowPrivate TagRowPrivate; + +#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_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_TAG_TABLE (tag_table_get_type ()) +#define TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_TABLE, TagTable)) +#define TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_TABLE, TagTableClass)) +#define IS_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_TABLE)) +#define IS_TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_TABLE)) +#define TAG_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_TABLE, TagTableClass)) + +typedef struct _TagTable TagTable; +typedef struct _TagTableClass TagTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) + +#define TYPE_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ()) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define TAG_TYPE_TAG_SNAPSHOT (tag_tag_snapshot_get_type ()) +#define TAG_TAG_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAG_TYPE_TAG_SNAPSHOT, TagTagSnapshot)) +#define TAG_TAG_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAG_TYPE_TAG_SNAPSHOT, TagTagSnapshotClass)) +#define TAG_IS_TAG_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAG_TYPE_TAG_SNAPSHOT)) +#define TAG_IS_TAG_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAG_TYPE_TAG_SNAPSHOT)) +#define TAG_TAG_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAG_TYPE_TAG_SNAPSHOT, TagTagSnapshotClass)) + +typedef struct _TagTagSnapshot TagTagSnapshot; +typedef struct _TagTagSnapshotClass TagTagSnapshotClass; + +#define TAG_TYPE_TAG_PROXY (tag_tag_proxy_get_type ()) +#define TAG_TAG_PROXY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAG_TYPE_TAG_PROXY, TagTagProxy)) +#define TAG_TAG_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAG_TYPE_TAG_PROXY, TagTagProxyClass)) +#define TAG_IS_TAG_PROXY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAG_TYPE_TAG_PROXY)) +#define TAG_IS_TAG_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAG_TYPE_TAG_PROXY)) +#define TAG_TAG_PROXY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAG_TYPE_TAG_PROXY, TagTagProxyClass)) + +typedef struct _TagTagProxy TagTagProxy; +typedef struct _TagTagProxyClass TagTagProxyClass; +#define _source_backlink_unref0(var) ((var == NULL) ? NULL : (var = (source_backlink_unref (var), NULL))) +typedef struct _SourceSnapshotPrivate SourceSnapshotPrivate; +typedef struct _TagTagSnapshotPrivate TagTagSnapshotPrivate; +typedef struct _SourceProxyPrivate SourceProxyPrivate; +typedef struct _TagTagProxyPrivate TagTagProxyPrivate; +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _ContainerSourceIface { + GTypeInterface parent_iface; + gboolean (*has_links) (ContainerSource* self); + SourceBacklink* (*get_backlink) (ContainerSource* self); + void (*break_link) (ContainerSource* self, DataSource* source); + void (*break_link_many) (ContainerSource* self, GeeCollection* sources); + void (*establish_link) (ContainerSource* self, DataSource* source); + void (*establish_link_many) (ContainerSource* self, GeeCollection* sources); +}; + +struct _ContainerSourceCollection { + DatabaseSourceCollection parent_instance; + ContainerSourceCollectionPrivate * priv; +}; + +struct _ContainerSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; + void (*notify_container_contents_added) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); + void (*notify_container_contents_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); + void (*notify_container_contents_altered) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); + void (*notify_backlink_to_container_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); + GeeCollection* (*get_containers_holding_source) (ContainerSourceCollection* self, DataSource* source); + ContainerSource* (*convert_backlink_to_container) (ContainerSourceCollection* self, SourceBacklink* backlink); + void (*container_contents_added) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); + void (*container_contents_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); + void (*container_contents_altered) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); + void (*backlink_to_container_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); +}; + +struct _TagSourceCollection { + ContainerSourceCollection parent_instance; + TagSourceCollectionPrivate * priv; +}; + +struct _TagSourceCollectionClass { + ContainerSourceCollectionClass parent_class; +}; + +struct _TagSourceCollectionPrivate { + GeeHashMap* name_map; + GeeHashMap* source_map; + GeeHashMap* sorted_source_map; +}; + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); +struct _TagID { + gint64 id; +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +struct _ProxyableIface { + GTypeInterface parent_iface; + SourceProxy* (*get_proxy) (Proxyable* self); +}; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _Tag { + DataSource parent_instance; + TagPrivate * priv; +}; + +struct _TagClass { + DataSourceClass parent_class; +}; + +struct _TagPrivate { + TagRow* row; + ViewCollection* media_views; + gchar* name_collation_key; + gboolean unlinking; + gboolean relinking; + gchar* indexable_keywords; +}; + +struct _TagRow { + GTypeInstance parent_instance; + volatile int ref_count; + TagRowPrivate * priv; + TagID tag_id; + gchar* name; + GeeSet* source_id_list; + time_t time_created; +}; + +struct _TagRowClass { + GTypeClass parent_class; + void (*finalize) (TagRow *self); +}; + +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 () +typedef enum { + PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL = 1 << 0, + PREPARE_INPUT_TEXT_OPTIONS_VALIDATE = 1 << 1, + PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL = 1 << 2, + PREPARE_INPUT_TEXT_OPTIONS_STRIP = 1 << 3, + PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF = 1 << 4, + PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE = 1 << 5, + PREPARE_INPUT_TEXT_OPTIONS_DEFAULT = ((((PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE +} PrepareInputTextOptions; + +typedef DataView* (*CreateView) (DataSource* source, void* user_data); +typedef gboolean (*CreateViewPredicate) (DataSource* source, void* user_data); +struct _SourceSnapshot { + GTypeInstance parent_instance; + volatile int ref_count; + SourceSnapshotPrivate * priv; +}; + +struct _SourceSnapshotClass { + GTypeClass parent_class; + void (*finalize) (SourceSnapshot *self); + void (*notify_broken) (SourceSnapshot* self); + void (*broken) (SourceSnapshot* self); +}; + +struct _TagTagSnapshot { + SourceSnapshot parent_instance; + TagTagSnapshotPrivate * priv; +}; + +struct _TagTagSnapshotClass { + SourceSnapshotClass parent_class; +}; + +struct _TagTagSnapshotPrivate { + TagRow* row; + GeeHashSet* sources; +}; + +struct _SourceProxy { + GTypeInstance parent_instance; + volatile int ref_count; + SourceProxyPrivate * priv; +}; + +struct _SourceProxyClass { + GTypeClass parent_class; + void (*finalize) (SourceProxy *self); + DataSource* (*reconstitute) (SourceProxy* self, gint64 object_id, SourceSnapshot* snapshot); + void (*notify_reconstituted) (SourceProxy* self, DataSource* source); + void (*notify_dehydrated) (SourceProxy* self); + void (*notify_broken) (SourceProxy* self); + void (*reconstituted) (SourceProxy* self, DataSource* source); + void (*dehydrated) (SourceProxy* self); + void (*broken) (SourceProxy* self); +}; + +struct _TagTagProxy { + SourceProxy parent_instance; + TagTagProxyPrivate * priv; +}; + +struct _TagTagProxyClass { + SourceProxyClass parent_class; +}; + + +static gpointer tag_source_collection_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +static gpointer tag_parent_class = NULL; +extern TagSourceCollection* tag_global; +TagSourceCollection* tag_global = NULL; +static gpointer tag_tag_snapshot_parent_class = NULL; +static gpointer tag_tag_proxy_parent_class = NULL; +static ContainerSourceIface* tag_container_source_parent_iface = NULL; +static ProxyableIface* tag_proxyable_parent_iface = NULL; +static IndexableIface* tag_indexable_parent_iface = NULL; + +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 data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GType tag_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +#define TAG_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionPrivate)) +enum { + TAG_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +static void tag_source_collection_on_photo_source_reimported (TagSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata); +static void _tag_source_collection_on_photo_source_reimported_library_photo_source_collection_source_reimported (LibraryPhotoSourceCollection* _sender, LibraryPhoto* photo, PhotoMetadata* metadata, gpointer self); +guint tag_hash_name_string (const gchar* a); +static guint _tag_hash_name_string_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean tag_equal_name_strings (const gchar* a, const gchar* b); +static gboolean _tag_equal_name_strings_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +TagSourceCollection* tag_source_collection_new (void); +TagSourceCollection* tag_source_collection_construct (GType object_type); +#define TAG_TYPENAME "tag" +static gint64 tag_source_collection_get_tag_key (DataSource* source); +static gint64 _tag_source_collection_get_tag_key_get_source_database_key (DataSource* source, gpointer self); +ContainerSourceCollection* container_source_collection_construct (GType object_type, const gchar* backlink_name, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +void container_source_collection_attach_collection (ContainerSourceCollection* self, SourceCollection* collection); +GType video_source_collection_get_type (void) G_GNUC_CONST; +static gboolean tag_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source); +gint64 data_source_get_instance_id (DataSource* self); +static GeeCollection* tag_source_collection_real_get_containers_holding_source (ContainerSourceCollection* base, DataSource* source); +GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source); +static ContainerSource* tag_source_collection_real_convert_backlink_to_container (ContainerSourceCollection* base, SourceBacklink* backlink); +GType tag_id_get_type (void) G_GNUC_CONST; +TagID* tag_id_dup (const TagID* self); +void tag_id_free (TagID* self); +gint64 source_backlink_get_instance_id (SourceBacklink* self); +void tag_id_init (TagID *self, gint64 id); +Tag* tag_source_collection_fetch (TagSourceCollection* self, TagID* tag_id); +GeeCollection* container_source_collection_get_holding_tank (ContainerSourceCollection* self); +void tag_get_tag_id (Tag* self, TagID* result); +gchar* tag_get_path (Tag* self); +#define TAG_PATH_SEPARATOR_STRING "/" +GeeList* hierarchical_tag_utilities_enumerate_parent_paths (const gchar* in_path); +gchar* hierarchical_tag_utilities_hierarchical_to_flat (const gchar* path); +void tag_promote (Tag* self); +DataSource* database_source_collection_fetch_by_key (DatabaseSourceCollection* self, gint64 key); +gboolean tag_source_collection_exists (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root); +Tag* tag_source_collection_fetch_by_name (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root); +GeeCollection* tag_source_collection_get_all_names (TagSourceCollection* self); +GeeSortedSet* tag_source_collection_fetch_sorted_for_source (TagSourceCollection* self, MediaSource* photo); +GeeList* hierarchical_tag_utilities_enumerate_path_components (const gchar* in_path); +gchar* hierarchical_tag_utilities_flat_to_hierarchical (const gchar* name); +Tag* tag_source_collection_restore_tag_from_holding_tank (TagSourceCollection* self, const gchar* name); +gchar* data_object_get_name (DataObject* self); +gboolean container_source_collection_relink_from_holding_tank (ContainerSourceCollection* self, ContainerSource* source); +static void tag_source_collection_real_notify_items_added (DataCollection* base, GeeIterable* added); +void data_collection_notify_items_added (DataCollection* self, GeeIterable* added); +static void tag_source_collection_real_notify_items_removed (DataCollection* base, GeeIterable* removed); +Tag* tag_get_hierarchical_parent (Tag* self); +GeeList* tag_get_hierarchical_children (Tag* self); +void tag_flatten (Tag* self); +void data_collection_notify_items_removed (DataCollection* self, GeeIterable* removed); +static void tag_source_collection_real_notify_items_altered (DataCollection* base, GeeMap* map); +gboolean data_source_equals (DataSource* self, DataSource* source); +void data_collection_notify_items_altered (DataCollection* self, GeeMap* items); +static void tag_source_collection_real_notify_container_contents_added (ContainerSourceCollection* base, ContainerSource* container, GeeCollection* added, gboolean relinking); +gint tag_compare_names (Tag* a, Tag* b); +static gint _tag_compare_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +void container_source_collection_notify_container_contents_added (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); +static void tag_source_collection_real_notify_container_contents_removed (ContainerSourceCollection* base, ContainerSource* container, GeeCollection* removed, gboolean unlinking); +void container_source_collection_notify_container_contents_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); +static void tag_source_collection_finalize (DataCollection* obj); +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_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; +GType proxyable_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +gpointer tag_row_ref (gpointer instance); +void tag_row_unref (gpointer instance); +GParamSpec* param_spec_tag_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_tag_row (GValue* value, gpointer v_object); +void value_take_tag_row (GValue* value, gpointer v_object); +gpointer value_get_tag_row (const GValue* value); +GType tag_row_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +#define TAG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TAG, TagPrivate)) +enum { + TAG_DUMMY_PROPERTY +}; +GType data_view_get_type (void) G_GNUC_CONST; +static void tag_on_media_views_contents_altered (Tag* self, GeeIterable* added, GeeIterable* removed); +static void _tag_on_media_views_contents_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static void tag_on_sources_destroyed (Tag* self, GeeCollection* sources); +static void _tag_on_sources_destroyed_source_collection_items_destroyed (SourceCollection* _sender, GeeCollection* destroyed, gpointer self); +#define TAG_TAG_LIST_SEPARATOR_STRING ", " +static Tag* tag_new (TagRow* row, gint64 object_id); +static Tag* tag_construct (GType object_type, TagRow* row, gint64 object_id); +DataSource* data_source_construct (GType object_type, gint64 object_id); +gchar* tag_prep_tag_name (const gchar* name); +GType thumbnail_view_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +MediaSource* media_collection_registry_fetch_media (MediaCollectionRegistry* self, const gchar* source_id); +ThumbnailView* thumbnail_view_new (ThumbnailSource* source); +ThumbnailView* thumbnail_view_construct (GType object_type, ThumbnailSource* source); +ViewCollection* view_collection_new (const gchar* name); +ViewCollection* view_collection_construct (GType object_type, const gchar* name); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +void container_source_collection_notify_container_contents_altered (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); +static void tag_update_indexable_keywords (Tag* self); +void tag_init (ProgressMonitor monitor, void* monitor_target); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType tag_table_get_type (void) G_GNUC_CONST; +TagTable* tag_table_get_instance (void); +GQuark database_error_quark (void); +GeeList* tag_table_get_all_rows (TagTable* self, GError** error); +void app_window_database_error (GError* err); +void tag_table_remove (TagTable* self, TagID* tag_id, GError** error); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +gboolean container_source_has_links (ContainerSource* self); +void data_source_rehydrate_backlinks (DataSource* self, SourceCollection* unlinked_from, const gchar* dehydrated); +GeeCollection* tag_get_sources (Tag* self); +gchar* tag_get_user_visible_name (Tag* self); +void tag_attach_many (Tag* self, GeeCollection* sources); +GeeMultiMap* tag_detach_many (Tag* self, GeeCollection* sources); +gboolean data_source_destroy_orphan (DataSource* self, gboolean delete_backing); +gint tag_get_sources_count (Tag* self); +void container_source_collection_init_add_many_unlinked (ContainerSourceCollection* self, GeeCollection* unlinked); +void tag_terminate (void); +gint string_precollated_compare (const gchar* astr, const gchar* akey, const gchar* bstr, const gchar* bkey); +gchar* tag_get_name_collation_key (Tag* self); +gint tag_compare_user_visible_names (Tag* a, Tag* b); +guint string_collated_hash (void* ptr); +gboolean string_collated_equals (void* a, void* b); +Tag* tag_for_path (const gchar* name); +TagRow* tag_table_add (TagTable* self, const gchar* name, GError** error); +gboolean data_collection_add (DataCollection* self, DataObject* object); +GeeCollection* tag_get_terminal_tags (GeeCollection* tags); +GeeList* tag_make_user_visible_tag_list (GeeCollection* tags); +static gint _tag_compare_user_visible_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +gchar* tag_make_tag_markup_string (GeeList* tags, gint highlight_index); +gchar* guarded_markup_escape_text (const gchar* plain); +GType prepare_input_text_options_get_type (void) G_GNUC_CONST; +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length); +#define DEFAULT_USER_TEXT_INPUT_LENGTH 1024 +gchar** tag_prep_tag_names (gchar** names, int names_length1, int* result_length1); +static void _vala_array_add293 (gchar*** array, int* length, int* size, gchar* value); +static void tag_set_raw_flat_name (Tag* self, const gchar* name); +void tag_table_rename (TagTable* self, TagID* tag_id, const gchar* new_name, GError** error); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +Alteration* alteration_new_from_list (const gchar* list); +Alteration* alteration_construct_from_list (GType object_type, const gchar* list); +static void tag_set_raw_path (Tag* self, const gchar* path, gboolean suppress_notify); +static gchar* tag_real_get_typename (DataSource* base); +static gint64 tag_real_get_instance_id (DataSource* base); +static gchar* tag_real_get_name (DataObject* base); +gchar* hierarchical_tag_utilities_get_basename (const gchar* in_path); +gchar* tag_get_searchable_name (Tag* self); +gchar* string_remove_diacritics (const gchar* istring); +gint tag_get_attachment_count (Tag* self, MediaSource* source); +gboolean tag_contains (Tag* self, MediaSource* source); +static gchar* tag_get_next_untitled_tag_name (const gchar* _prefix); +Tag* tag_create_new_child (Tag* self); +Tag* tag_create_new_root (void); +static gchar* tag_real_to_string (DataObject* base); +gint data_collection_get_count (DataCollection* self); +static gboolean tag_real_equals (DataSource* base, DataSource* source); +static SourceSnapshot* tag_real_save_snapshot (DataSource* base); +static TagTagSnapshot* tag_tag_snapshot_new (Tag* tag); +static TagTagSnapshot* tag_tag_snapshot_construct (GType object_type, Tag* tag); +static GType tag_tag_snapshot_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SourceProxy* tag_real_get_proxy (Proxyable* base); +static TagTagProxy* tag_tag_proxy_new (Tag* tag); +static TagTagProxy* tag_tag_proxy_construct (GType object_type, Tag* tag); +static GType tag_tag_proxy_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +Tag* tag_reconstitute (gint64 object_id, TagRow* row); +void tag_table_create_from_row (TagTable* self, TagRow* row, TagID* result, GError** error); +gchar* data_object_to_string (DataObject* self); +static gboolean tag_real_has_links (ContainerSource* base); +gboolean source_collection_has_backlink (SourceCollection* self, SourceBacklink* backlink); +SourceBacklink* container_source_get_backlink (ContainerSource* self); +static SourceBacklink* tag_real_get_backlink (ContainerSource* base); +SourceBacklink* source_backlink_new_from_source (DataSource* source); +SourceBacklink* source_backlink_construct_from_source (GType object_type, DataSource* source); +static void tag_real_break_link (ContainerSource* base, DataSource* source); +GeeList* tag_detach (Tag* self, MediaSource* source); +static void tag_real_break_link_many (ContainerSource* base, GeeCollection* sources); +static void tag_real_establish_link (ContainerSource* base, DataSource* source); +void tag_attach (Tag* self, MediaSource* source); +static void tag_real_establish_link_many (ContainerSource* base, GeeCollection* sources); +gchar* indexable_prepare_indexable_string (const gchar* str); +static const gchar* tag_real_get_indexable_keywords (Indexable* base); +gboolean view_collection_has_view_for_source (ViewCollection* self, DataSource* source); +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +void data_collection_remove_marked (DataCollection* self, Marker* m); +Marker* data_collection_mark (DataCollection* self, DataObject* object); +Marker* data_collection_start_marking (DataCollection* self); +void marker_mark (Marker* self, DataObject* object); +gboolean tag_rename (Tag* self, const gchar* name); +GeeCollection* view_collection_get_sources (ViewCollection* self); +void tag_mirror_sources (Tag* self, ViewCollection* view, CreateView mirroring_ctor, void* mirroring_ctor_target); +void view_collection_mirror (ViewCollection* self, ViewCollection* to_mirror, CreateView mirroring_ctor, void* mirroring_ctor_target, CreateViewPredicate should_mirror, void* should_mirror_target); +DataSource* data_view_get_source (DataView* self); +gchar* data_source_get_source_id (DataSource* self); +void tag_table_set_tagged_sources (TagTable* self, TagID* tag_id, GeeCollection* source_ids, GError** error); +static void tag_real_destroy (DataSource* base); +void data_collection_clear (DataCollection* self); +void data_source_destroy (DataSource* self); +#define TAG_TAG_SNAPSHOT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TAG_TYPE_TAG_SNAPSHOT, TagTagSnapshotPrivate)) +enum { + TAG_TAG_SNAPSHOT_DUMMY_PROPERTY +}; +static void tag_tag_snapshot_on_source_destroyed (TagTagSnapshot* self, DataSource* source); +static void _tag_tag_snapshot_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +SourceSnapshot* source_snapshot_construct (GType object_type); +static TagRow* tag_tag_snapshot_get_row (TagTagSnapshot* self); +static void tag_tag_snapshot_real_notify_broken (SourceSnapshot* base); +TagRow* tag_row_new (void); +TagRow* tag_row_construct (GType object_type); +void source_snapshot_notify_broken (SourceSnapshot* self); +static void tag_tag_snapshot_finalize (SourceSnapshot* obj); +enum { + TAG_TAG_PROXY_DUMMY_PROPERTY +}; +SourceProxy* source_proxy_construct (GType object_type, DataSource* source); +static DataSource* tag_tag_proxy_real_reconstitute (SourceProxy* base, gint64 object_id, SourceSnapshot* snapshot); +static void tag_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static void _tag_source_collection_on_photo_source_reimported_library_photo_source_collection_source_reimported (LibraryPhotoSourceCollection* _sender, LibraryPhoto* photo, PhotoMetadata* metadata, gpointer self) { +#line 26 "/home/jens/Source/shotwell/src/Tag.vala" + tag_source_collection_on_photo_source_reimported ((TagSourceCollection*) self, photo, metadata); +#line 1015 "Tag.c" +} + + +static guint _tag_hash_name_string_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = tag_hash_name_string ((const gchar*) v); +#line 8 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1024 "Tag.c" +} + + +static gboolean _tag_equal_name_strings_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = tag_equal_name_strings ((const gchar*) a, (const gchar*) b); +#line 8 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1033 "Tag.c" +} + + +static gint64 _tag_source_collection_get_tag_key_get_source_database_key (DataSource* source, gpointer self) { + gint64 result; + result = tag_source_collection_get_tag_key (source); +#line 16 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1042 "Tag.c" +} + + +TagSourceCollection* tag_source_collection_construct (GType object_type) { + TagSourceCollection* self = NULL; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + VideoSourceCollection* _tmp1_ = NULL; + LibraryPhotoSourceCollection* _tmp2_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/Tag.vala" + self = (TagSourceCollection*) container_source_collection_construct (object_type, TAG_TYPENAME, "TagSourceCollection", _tag_source_collection_get_tag_key_get_source_database_key, NULL); +#line 18 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = library_photo_global; +#line 18 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_attach_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection)); +#line 19 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = video_global; +#line 19 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_attach_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_COLLECTION, SourceCollection)); +#line 22 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = library_photo_global; +#line 22 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_connect (_tmp2_, "source-reimported", (GCallback) _tag_source_collection_on_photo_source_reimported_library_photo_source_collection_source_reimported, self); +#line 15 "/home/jens/Source/shotwell/src/Tag.vala" + return self; +#line 1067 "Tag.c" +} + + +TagSourceCollection* tag_source_collection_new (void) { +#line 15 "/home/jens/Source/shotwell/src/Tag.vala" + return tag_source_collection_construct (TYPE_TAG_SOURCE_COLLECTION); +#line 1074 "Tag.c" +} + + +static gboolean tag_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source) { + TagSourceCollection * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 29 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 30 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = source; +#line 30 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_TAG); +#line 30 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1092 "Tag.c" +} + + +static gint64 tag_source_collection_get_tag_key (DataSource* source) { + gint64 result = 0LL; + DataSource* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; +#line 33 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), 0LL); +#line 34 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = source; +#line 34 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TAG, Tag), TYPE_DATA_SOURCE, DataSource)); +#line 34 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1110 "Tag.c" +} + + +static GeeCollection* tag_source_collection_real_get_containers_holding_source (ContainerSourceCollection* base, DataSource* source) { + TagSourceCollection * self; + GeeCollection* result = NULL; + DataSource* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 37 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 38 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = source; +#line 38 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_source_collection_fetch_for_source (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 38 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 38 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1131 "Tag.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/Tag.vala" + return self ? g_object_ref (self) : NULL; +#line 1138 "Tag.c" +} + + +static ContainerSource* tag_source_collection_real_convert_backlink_to_container (ContainerSourceCollection* base, SourceBacklink* backlink) { + TagSourceCollection * self; + ContainerSource* result = NULL; + TagID tag_id = {0}; + SourceBacklink* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + gint64 _tmp2_ = 0LL; + Tag* _result_ = NULL; + Tag* tag = NULL; + TagID _tmp3_ = {0}; + Tag* _tmp4_ = NULL; + Tag* _tmp5_ = NULL; + Tag* _tmp25_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 41 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (backlink), NULL); +#line 42 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = backlink; +#line 42 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = source_backlink_get_instance_id (_tmp0_); +#line 42 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 42 "/home/jens/Source/shotwell/src/Tag.vala" + tag_id_init (&tag_id, _tmp2_); +#line 43 "/home/jens/Source/shotwell/src/Tag.vala" + _result_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = tag_id; +#line 46 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_source_collection_fetch (self, &_tmp3_); +#line 46 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp4_; +#line 47 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = tag; +#line 47 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp5_ != NULL) { +#line 1179 "Tag.c" + Tag* _tmp6_ = NULL; + Tag* _tmp7_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = tag; +#line 48 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 48 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_result_); +#line 48 "/home/jens/Source/shotwell/src/Tag.vala" + _result_ = _tmp7_; +#line 1190 "Tag.c" + } else { + { + GeeIterator* _container_it = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = container_source_collection_get_holding_tank (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)); +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = _tmp8_; +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _tmp10_; +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp9_); +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _container_it = _tmp11_; +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 1212 "Tag.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + ContainerSource* container = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + ContainerSource* _tmp16_ = NULL; + Tag* _tmp17_ = NULL; + Tag* _tmp18_ = NULL; + TagID _tmp19_ = {0}; + gint64 _tmp20_ = 0LL; + TagID _tmp21_ = {0}; + gint64 _tmp22_ = 0LL; +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = _container_it; +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp13_) { +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 1233 "Tag.c" + } +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = _container_it; +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + container = (ContainerSource*) _tmp15_; +#line 52 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = container; +#line 52 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_TAG, Tag)); +#line 52 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 52 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp17_; +#line 53 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = tag; +#line 53 "/home/jens/Source/shotwell/src/Tag.vala" + tag_get_tag_id (_tmp18_, &_tmp19_); +#line 53 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = _tmp19_.id; +#line 53 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = tag_id; +#line 53 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = _tmp21_.id; +#line 53 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp20_ == _tmp22_) { +#line 1261 "Tag.c" + Tag* _tmp23_ = NULL; + Tag* _tmp24_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = tag; +#line 54 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 54 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_result_); +#line 54 "/home/jens/Source/shotwell/src/Tag.vala" + _result_ = _tmp24_; +#line 55 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (container); +#line 55 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 1276 "Tag.c" + } +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (container); +#line 1280 "Tag.c" + } +#line 51 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_container_it); +#line 1284 "Tag.c" + } + } +#line 63 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = _result_; +#line 63 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp25_ != NULL) { +#line 1291 "Tag.c" + gboolean _tmp26_ = FALSE; + Tag* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = _result_; +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = tag_get_path (_tmp27_); +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = _tmp28_; +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = g_str_has_prefix (_tmp29_, TAG_PATH_SEPARATOR_STRING); +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = _tmp30_; +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp29_); +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp31_) { +#line 1312 "Tag.c" + Tag* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + GeeList* _tmp35_ = NULL; + GeeList* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = _result_; +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = tag_get_path (_tmp32_); +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = _tmp33_; +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp34_); +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = _tmp35_; +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = _tmp37_; +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = _tmp38_ > 0; +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp36_); +#line 65 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp34_); +#line 1340 "Tag.c" + } else { +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = FALSE; +#line 1344 "Tag.c" + } +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp26_) { +#line 1348 "Tag.c" + gchar* top_level_with_prefix_path = NULL; + Tag* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + GeeList* _tmp42_ = NULL; + GeeList* _tmp43_ = NULL; + gpointer _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* top_level_no_prefix_path = NULL; + const gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39_ = _result_; +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ = tag_get_path (_tmp39_); +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp41_ = _tmp40_; +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp42_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp41_); +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp43_ = _tmp42_; +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = gee_list_get (_tmp43_, 0); +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp45_ = (gchar*) _tmp44_; +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp43_); +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp41_); +#line 66 "/home/jens/Source/shotwell/src/Tag.vala" + top_level_with_prefix_path = _tmp45_; +#line 68 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp46_ = top_level_with_prefix_path; +#line 68 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp47_ = hierarchical_tag_utilities_hierarchical_to_flat (_tmp46_); +#line 68 "/home/jens/Source/shotwell/src/Tag.vala" + top_level_no_prefix_path = _tmp47_; +#line 1386 "Tag.c" + { + GeeIterator* _container_it = NULL; + GeeCollection* _tmp48_ = NULL; + GeeCollection* _tmp49_ = NULL; + GeeIterator* _tmp50_ = NULL; + GeeIterator* _tmp51_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp48_ = container_source_collection_get_holding_tank (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)); +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp49_ = _tmp48_; +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp50_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp51_ = _tmp50_; +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp49_); +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _container_it = _tmp51_; +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 1407 "Tag.c" + GeeIterator* _tmp52_ = NULL; + gboolean _tmp53_ = FALSE; + ContainerSource* container = NULL; + GeeIterator* _tmp54_ = NULL; + gpointer _tmp55_ = NULL; + Tag* parent_candidate = NULL; + ContainerSource* _tmp56_ = NULL; + Tag* _tmp57_ = NULL; + Tag* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp52_ = _container_it; +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp53_ = gee_iterator_next (_tmp52_); +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp53_) { +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 1429 "Tag.c" + } +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp54_ = _container_it; +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp55_ = gee_iterator_get (_tmp54_); +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + container = (ContainerSource*) _tmp55_; +#line 72 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp56_ = container; +#line 72 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp57_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_TAG, Tag)); +#line 72 "/home/jens/Source/shotwell/src/Tag.vala" + parent_candidate = _tmp57_; +#line 73 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp58_ = parent_candidate; +#line 73 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp59_ = tag_get_path (_tmp58_); +#line 73 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp60_ = _tmp59_; +#line 73 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp61_ = top_level_no_prefix_path; +#line 73 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp62_ = g_strcmp0 (_tmp60_, _tmp61_) == 0; +#line 73 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp60_); +#line 73 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp62_) { +#line 1457 "Tag.c" + Tag* _tmp63_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp63_ = parent_candidate; +#line 74 "/home/jens/Source/shotwell/src/Tag.vala" + tag_promote (_tmp63_); +#line 1463 "Tag.c" + } +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (parent_candidate); +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (container); +#line 1469 "Tag.c" + } +#line 71 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_container_it); +#line 1473 "Tag.c" + } +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (top_level_no_prefix_path); +#line 64 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (top_level_with_prefix_path); +#line 1479 "Tag.c" + } + } +#line 79 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_result_, TYPE_CONTAINER_SOURCE, ContainerSource); +#line 79 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 79 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1488 "Tag.c" +} + + +Tag* tag_source_collection_fetch (TagSourceCollection* self, TagID* tag_id) { + Tag* result = NULL; + TagID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + DataSource* _tmp2_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_SOURCE_COLLECTION (self), NULL); +#line 82 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (tag_id != NULL, NULL); +#line 83 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = *tag_id; +#line 83 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_.id; +#line 83 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = database_source_collection_fetch_by_key (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), _tmp1_); +#line 83 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_TAG, Tag); +#line 83 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1511 "Tag.c" +} + + +gboolean tag_source_collection_exists (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + Tag* _tmp2_ = NULL; + Tag* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 86 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_SOURCE_COLLECTION (self), FALSE); +#line 86 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (name != NULL, FALSE); +#line 87 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = name; +#line 87 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = treat_htags_as_root; +#line 87 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_source_collection_fetch_by_name (self, _tmp0_, _tmp1_); +#line 87 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 87 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = _tmp3_ != NULL; +#line 87 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp3_); +#line 87 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp4_; +#line 87 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1542 "Tag.c" +} + + +GeeCollection* tag_source_collection_get_all_names (TagSourceCollection* self) { + GeeCollection* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; +#line 90 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_SOURCE_COLLECTION (self), NULL); +#line 91 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->name_map; +#line 91 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 91 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 91 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 91 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1563 "Tag.c" +} + + +GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source) { + GeeList* result = NULL; + GeeHashMap* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_SOURCE_COLLECTION (self), NULL); +#line 98 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); +#line 99 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->source_map; +#line 99 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = source; +#line 99 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 99 "/home/jens/Source/shotwell/src/Tag.vala" + result = (GeeList*) _tmp2_; +#line 99 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1586 "Tag.c" +} + + +GeeSortedSet* tag_source_collection_fetch_sorted_for_source (TagSourceCollection* self, MediaSource* photo) { + GeeSortedSet* result = NULL; + GeeHashMap* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_SOURCE_COLLECTION (self), NULL); +#line 106 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (photo), NULL); +#line 107 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->sorted_source_map; +#line 107 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = photo; +#line 107 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 107 "/home/jens/Source/shotwell/src/Tag.vala" + result = (GeeSortedSet*) _tmp2_; +#line 107 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1609 "Tag.c" +} + + +Tag* tag_source_collection_fetch_by_name (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root) { + Tag* result = NULL; + gboolean _tmp0_ = FALSE; + GeeHashMap* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_SOURCE_COLLECTION (self), NULL); +#line 112 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 113 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = treat_htags_as_root; +#line 113 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp0_) { +#line 1627 "Tag.c" + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 114 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = name; +#line 114 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = g_str_has_prefix (_tmp1_, TAG_PATH_SEPARATOR_STRING); +#line 114 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp2_) { +#line 1636 "Tag.c" + const gchar* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gboolean _tmp8_ = FALSE; +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = name; +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = hierarchical_tag_utilities_enumerate_path_components (_tmp3_); +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _tmp6_; +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp7_ == 1; +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp5_); +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp8_) { +#line 1659 "Tag.c" + Tag* tag = NULL; + GeeHashMap* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + Tag* _tmp14_ = NULL; + Tag* _tmp15_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = self->priv->name_map; +#line 116 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = name; +#line 116 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = hierarchical_tag_utilities_hierarchical_to_flat (_tmp10_); +#line 116 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = _tmp11_; +#line 116 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_); +#line 116 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = (Tag*) _tmp13_; +#line 116 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp12_); +#line 116 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp14_; +#line 117 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = tag; +#line 117 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp15_ != NULL) { +#line 118 "/home/jens/Source/shotwell/src/Tag.vala" + result = tag; +#line 118 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1692 "Tag.c" + } +#line 115 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 1696 "Tag.c" + } + } else { + Tag* tag = NULL; + GeeHashMap* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + Tag* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = self->priv->name_map; +#line 121 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = name; +#line 121 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp17_); +#line 121 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = _tmp18_; +#line 121 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_); +#line 121 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = (Tag*) _tmp20_; +#line 121 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp19_); +#line 121 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp21_; +#line 122 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = tag; +#line 122 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp22_ != NULL) { +#line 123 "/home/jens/Source/shotwell/src/Tag.vala" + result = tag; +#line 123 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1731 "Tag.c" + } +#line 114 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 1735 "Tag.c" + } + } +#line 127 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = self->priv->name_map; +#line 127 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = name; +#line 127 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_); +#line 127 "/home/jens/Source/shotwell/src/Tag.vala" + result = (Tag*) _tmp25_; +#line 127 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1748 "Tag.c" +} + + +Tag* tag_source_collection_restore_tag_from_holding_tank (TagSourceCollection* self, const gchar* name) { + Tag* result = NULL; + Tag* found = NULL; + Tag* _tmp17_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_SOURCE_COLLECTION (self), NULL); +#line 130 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 131 "/home/jens/Source/shotwell/src/Tag.vala" + found = NULL; +#line 1762 "Tag.c" + { + GeeIterator* _container_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = container_source_collection_get_holding_tank (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)); +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_; +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp1_); +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _container_it = _tmp3_; +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 1783 "Tag.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + ContainerSource* container = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Tag* tag = NULL; + ContainerSource* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + Tag* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = _container_it; +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp5_) { +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 1805 "Tag.c" + } +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _container_it; +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + container = (ContainerSource*) _tmp7_; +#line 133 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = container; +#line 133 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_TAG, Tag)); +#line 133 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp9_; +#line 134 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = tag; +#line 134 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 134 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = _tmp11_; +#line 134 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = name; +#line 134 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = g_strcmp0 (_tmp12_, _tmp13_) == 0; +#line 134 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp12_); +#line 134 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp14_) { +#line 1833 "Tag.c" + Tag* _tmp15_ = NULL; + Tag* _tmp16_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = tag; +#line 135 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = _g_object_ref0 (_tmp15_); +#line 135 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (found); +#line 135 "/home/jens/Source/shotwell/src/Tag.vala" + found = _tmp16_; +#line 137 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 137 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (container); +#line 137 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 1850 "Tag.c" + } +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (container); +#line 1856 "Tag.c" + } +#line 132 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_container_it); +#line 1860 "Tag.c" + } +#line 141 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = found; +#line 141 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp17_ != NULL) { +#line 1866 "Tag.c" + gboolean relinked = FALSE; + Tag* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; +#line 142 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = found; +#line 142 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = container_source_collection_relink_from_holding_tank (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_CONTAINER_SOURCE, ContainerSource)); +#line 142 "/home/jens/Source/shotwell/src/Tag.vala" + relinked = _tmp19_; +#line 143 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = relinked; +#line 143 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp20_, "relinked"); +#line 1881 "Tag.c" + } +#line 146 "/home/jens/Source/shotwell/src/Tag.vala" + result = found; +#line 146 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 1887 "Tag.c" +} + + +static void tag_source_collection_real_notify_items_added (DataCollection* base, GeeIterable* added) { + TagSourceCollection * self; + GeeIterable* _tmp18_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 149 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 1898 "Tag.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = added; +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _object_it = _tmp1_; +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 1911 "Tag.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + Tag* tag = NULL; + DataObject* _tmp6_ = NULL; + Tag* _tmp7_ = NULL; + GeeHashMap* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GeeHashMap* _tmp13_ = NULL; + Tag* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + Tag* _tmp17_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _object_it; +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp3_) { +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 1938 "Tag.c" + } +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = _object_it; +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + object = (DataObject*) _tmp5_; +#line 151 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = object; +#line 151 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_TAG, Tag)); +#line 151 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp7_; +#line 153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = self->priv->name_map; +#line 153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = tag; +#line 153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject)); +#line 153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _tmp10_; +#line 153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_); +#line 153 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (!_tmp12_, "!name_map.has_key(tag.get_name())"); +#line 153 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp11_); +#line 154 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = self->priv->name_map; +#line 154 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = tag; +#line 154 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 154 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = _tmp15_; +#line 154 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = tag; +#line 154 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_, _tmp17_); +#line 154 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp16_); +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (object); +#line 1984 "Tag.c" + } +#line 150 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_object_it); +#line 1988 "Tag.c" + } +#line 157 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = added; +#line 157 "/home/jens/Source/shotwell/src/Tag.vala" + DATA_COLLECTION_CLASS (tag_source_collection_parent_class)->notify_items_added (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp18_); +#line 1994 "Tag.c" +} + + +static void tag_source_collection_real_notify_items_removed (DataCollection* base, GeeIterable* removed) { + TagSourceCollection * self; + GeeIterable* _tmp29_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 160 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 2005 "Tag.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = removed; +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _object_it = _tmp1_; +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 2018 "Tag.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + Tag* tag = NULL; + DataObject* _tmp6_ = NULL; + Tag* _tmp7_ = NULL; + gboolean unset = FALSE; + GeeHashMap* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + Tag* parent = NULL; + Tag* _tmp15_ = NULL; + Tag* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + Tag* _tmp18_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _object_it; +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp3_) { +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 2048 "Tag.c" + } +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = _object_it; +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + object = (DataObject*) _tmp5_; +#line 162 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = object; +#line 162 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_TAG, Tag)); +#line 162 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp7_; +#line 164 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = self->priv->name_map; +#line 164 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = tag; +#line 164 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject)); +#line 164 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _tmp10_; +#line 164 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, NULL); +#line 164 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _tmp12_; +#line 164 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp11_); +#line 164 "/home/jens/Source/shotwell/src/Tag.vala" + unset = _tmp13_; +#line 165 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = unset; +#line 165 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp14_, "unset"); +#line 169 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = tag; +#line 169 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = tag_get_hierarchical_parent (_tmp15_); +#line 169 "/home/jens/Source/shotwell/src/Tag.vala" + parent = _tmp16_; +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = parent; +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp18_ != NULL) { +#line 2092 "Tag.c" + Tag* _tmp19_ = NULL; + Tag* _tmp20_ = NULL; + Tag* _tmp21_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = parent; +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = tag_get_hierarchical_parent (_tmp19_); +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = _tmp20_; +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = _tmp21_ == NULL; +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp21_); +#line 2106 "Tag.c" + } else { +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = FALSE; +#line 2110 "Tag.c" + } +#line 170 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp17_) { +#line 2114 "Tag.c" + Tag* _tmp22_ = NULL; + GeeList* _tmp23_ = NULL; + GeeList* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gboolean _tmp27_ = FALSE; +#line 171 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = parent; +#line 171 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = tag_get_hierarchical_children (_tmp22_); +#line 171 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = _tmp23_; +#line 171 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 171 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = _tmp25_; +#line 171 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = _tmp26_ == 0; +#line 171 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp24_); +#line 171 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp27_) { +#line 2137 "Tag.c" + Tag* _tmp28_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = parent; +#line 172 "/home/jens/Source/shotwell/src/Tag.vala" + tag_flatten (_tmp28_); +#line 2143 "Tag.c" + } + } +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (parent); +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (object); +#line 2152 "Tag.c" + } +#line 161 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_object_it); +#line 2156 "Tag.c" + } +#line 176 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = removed; +#line 176 "/home/jens/Source/shotwell/src/Tag.vala" + DATA_COLLECTION_CLASS (tag_source_collection_parent_class)->notify_items_removed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp29_); +#line 2162 "Tag.c" +} + + +static void tag_source_collection_real_notify_items_altered (DataCollection* base, GeeMap* map) { + TagSourceCollection * self; + GeeMap* _tmp37_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 179 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 2173 "Tag.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = map; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp3_); +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _object_it = _tmp5_; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 2200 "Tag.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Tag* tag = NULL; + DataObject* _tmp10_ = NULL; + Tag* _tmp11_ = NULL; + gchar* old_name = NULL; + GeeMapIterator* iter = NULL; + GeeHashMap* _tmp12_ = NULL; + GeeMapIterator* _tmp13_ = NULL; + const gchar* _tmp24_ = NULL; + Tag* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _object_it; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp7_) { +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 2227 "Tag.c" + } +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _object_it; +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + object = (DataObject*) _tmp9_; +#line 181 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = object; +#line 181 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_TAG, Tag)); +#line 181 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp11_; +#line 183 "/home/jens/Source/shotwell/src/Tag.vala" + old_name = NULL; +#line 186 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = self->priv->name_map; +#line 186 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = gee_abstract_map_map_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); +#line 186 "/home/jens/Source/shotwell/src/Tag.vala" + iter = _tmp13_; +#line 187 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 2251 "Tag.c" + GeeMapIterator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + GeeMapIterator* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + Tag* _tmp18_ = NULL; + Tag* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + GeeMapIterator* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = iter; +#line 187 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = gee_map_iterator_next (_tmp14_); +#line 187 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp15_) { +#line 187 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 2270 "Tag.c" + } +#line 188 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = iter; +#line 188 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = gee_map_iterator_get_value (_tmp16_); +#line 188 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = (Tag*) _tmp17_; +#line 188 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = tag; +#line 188 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_SOURCE, DataSource)); +#line 188 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = !_tmp20_; +#line 188 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp18_); +#line 188 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp21_) { +#line 189 "/home/jens/Source/shotwell/src/Tag.vala" + continue; +#line 2290 "Tag.c" + } +#line 191 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = iter; +#line 191 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = gee_map_iterator_get_key (_tmp22_); +#line 191 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (old_name); +#line 191 "/home/jens/Source/shotwell/src/Tag.vala" + old_name = (gchar*) _tmp23_; +#line 193 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 2302 "Tag.c" + } +#line 196 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = old_name; +#line 196 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp24_ != NULL, "old_name != null"); +#line 198 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = tag; +#line 198 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject)); +#line 198 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = _tmp26_; +#line 198 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = old_name; +#line 198 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = g_strcmp0 (_tmp27_, _tmp28_) != 0; +#line 198 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp27_); +#line 198 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp29_) { +#line 2322 "Tag.c" + GeeHashMap* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + GeeHashMap* _tmp32_ = NULL; + Tag* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + Tag* _tmp36_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = self->priv->name_map; +#line 199 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = old_name; +#line 199 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp31_, NULL); +#line 200 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = self->priv->name_map; +#line 200 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = tag; +#line 200 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_DATA_OBJECT, DataObject)); +#line 200 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = _tmp34_; +#line 200 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = tag; +#line 200 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp35_, _tmp36_); +#line 200 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp35_); +#line 2350 "Tag.c" + } +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (iter); +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (old_name); +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (object); +#line 2360 "Tag.c" + } +#line 180 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_object_it); +#line 2364 "Tag.c" + } +#line 204 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = map; +#line 204 "/home/jens/Source/shotwell/src/Tag.vala" + DATA_COLLECTION_CLASS (tag_source_collection_parent_class)->notify_items_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp37_); +#line 2370 "Tag.c" +} + + +static gint _tag_compare_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = tag_compare_names ((Tag*) a, (Tag*) b); +#line 224 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 2379 "Tag.c" +} + + +static void tag_source_collection_real_notify_container_contents_added (ContainerSourceCollection* base, ContainerSource* container, GeeCollection* added, gboolean relinking) { + TagSourceCollection * self; + Tag* tag = NULL; + ContainerSource* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + GeeCollection* sources = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + ContainerSource* _tmp34_ = NULL; + GeeCollection* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; +#line 207 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 207 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 207 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_COLLECTION (added)); +#line 209 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = container; +#line 209 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TAG, Tag)); +#line 209 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp1_; +#line 210 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = added; +#line 210 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 210 "/home/jens/Source/shotwell/src/Tag.vala" + sources = _tmp3_; +#line 2412 "Tag.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = sources; +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _source_it = _tmp5_; +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 2425 "Tag.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeList* tags = NULL; + GeeHashMap* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + GeeList* _tmp13_ = NULL; + gboolean is_added = FALSE; + GeeList* _tmp18_ = NULL; + Tag* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + GeeSortedSet* sorted_tags = NULL; + GeeHashMap* _tmp22_ = NULL; + MediaSource* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + GeeSortedSet* _tmp25_ = NULL; + GeeSortedSet* _tmp30_ = NULL; + Tag* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + gboolean _tmp33_ = FALSE; +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _source_it; +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp7_) { +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 2458 "Tag.c" + } +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _source_it; +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + source = (MediaSource*) _tmp9_; +#line 213 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = self->priv->source_map; +#line 213 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = source; +#line 213 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_); +#line 213 "/home/jens/Source/shotwell/src/Tag.vala" + tags = (GeeList*) _tmp12_; +#line 214 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = tags; +#line 214 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp13_ == NULL) { +#line 2478 "Tag.c" + GeeArrayList* _tmp14_ = NULL; + GeeHashMap* _tmp15_ = NULL; + MediaSource* _tmp16_ = NULL; + GeeList* _tmp17_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 215 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tags); +#line 215 "/home/jens/Source/shotwell/src/Tag.vala" + tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_LIST, GeeList); +#line 216 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = self->priv->source_map; +#line 216 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = source; +#line 216 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = tags; +#line 216 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_, _tmp17_); +#line 2497 "Tag.c" + } +#line 219 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = tags; +#line 219 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = tag; +#line 219 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp19_); +#line 219 "/home/jens/Source/shotwell/src/Tag.vala" + is_added = _tmp20_; +#line 220 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = is_added; +#line 220 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp21_, "is_added"); +#line 222 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = self->priv->sorted_source_map; +#line 222 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = source; +#line 222 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp23_); +#line 222 "/home/jens/Source/shotwell/src/Tag.vala" + sorted_tags = (GeeSortedSet*) _tmp24_; +#line 223 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = sorted_tags; +#line 223 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp25_ == NULL) { +#line 2523 "Tag.c" + GeeTreeSet* _tmp26_ = NULL; + GeeHashMap* _tmp27_ = NULL; + MediaSource* _tmp28_ = NULL; + GeeSortedSet* _tmp29_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = gee_tree_set_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tag_compare_names_gcompare_data_func, NULL, NULL); +#line 224 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (sorted_tags); +#line 224 "/home/jens/Source/shotwell/src/Tag.vala" + sorted_tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 225 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = self->priv->sorted_source_map; +#line 225 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = source; +#line 225 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = sorted_tags; +#line 225 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp28_, _tmp29_); +#line 2542 "Tag.c" + } +#line 228 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = sorted_tags; +#line 228 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = tag; +#line 228 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection), _tmp31_); +#line 228 "/home/jens/Source/shotwell/src/Tag.vala" + is_added = _tmp32_; +#line 229 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = is_added; +#line 229 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp33_, "is_added"); +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (sorted_tags); +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tags); +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source); +#line 2562 "Tag.c" + } +#line 212 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_source_it); +#line 2566 "Tag.c" + } +#line 232 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = container; +#line 232 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = added; +#line 232 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = relinking; +#line 232 "/home/jens/Source/shotwell/src/Tag.vala" + CONTAINER_SOURCE_COLLECTION_CLASS (tag_source_collection_parent_class)->notify_container_contents_added (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), _tmp34_, _tmp35_, _tmp36_); +#line 207 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (sources); +#line 207 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 2580 "Tag.c" +} + + +static void tag_source_collection_real_notify_container_contents_removed (ContainerSourceCollection* base, ContainerSource* container, GeeCollection* removed, gboolean unlinking) { + TagSourceCollection * self; + Tag* tag = NULL; + ContainerSource* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + GeeCollection* sources = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + ContainerSource* _tmp36_ = NULL; + GeeCollection* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; +#line 235 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 235 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 235 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_COLLECTION (removed)); +#line 237 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = container; +#line 237 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TAG, Tag)); +#line 237 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp1_; +#line 238 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = removed; +#line 238 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 238 "/home/jens/Source/shotwell/src/Tag.vala" + sources = _tmp3_; +#line 2613 "Tag.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = sources; +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _source_it = _tmp5_; +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 2626 "Tag.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeList* tags = NULL; + GeeHashMap* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + GeeList* _tmp13_ = NULL; + gboolean is_removed = FALSE; + GeeList* _tmp14_ = NULL; + Tag* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + GeeSortedSet* sorted_tags = NULL; + GeeHashMap* _tmp23_ = NULL; + MediaSource* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + GeeSortedSet* _tmp26_ = NULL; + GeeSortedSet* _tmp27_ = NULL; + Tag* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; + GeeSortedSet* _tmp31_ = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _source_it; +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp7_) { +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 2665 "Tag.c" + } +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _source_it; +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + source = (MediaSource*) _tmp9_; +#line 241 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = self->priv->source_map; +#line 241 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = source; +#line 241 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_); +#line 241 "/home/jens/Source/shotwell/src/Tag.vala" + tags = (GeeList*) _tmp12_; +#line 242 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = tags; +#line 242 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp13_ != NULL, "tags != null"); +#line 244 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = tags; +#line 244 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = tag; +#line 244 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_); +#line 244 "/home/jens/Source/shotwell/src/Tag.vala" + is_removed = _tmp16_; +#line 245 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = is_removed; +#line 245 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp17_, "is_removed"); +#line 247 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = tags; +#line 247 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 247 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = _tmp19_; +#line 247 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp20_ == 0) { +#line 2705 "Tag.c" + GeeHashMap* _tmp21_ = NULL; + MediaSource* _tmp22_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = self->priv->source_map; +#line 248 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = source; +#line 248 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp22_, NULL); +#line 2714 "Tag.c" + } +#line 250 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = self->priv->sorted_source_map; +#line 250 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = source; +#line 250 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_); +#line 250 "/home/jens/Source/shotwell/src/Tag.vala" + sorted_tags = (GeeSortedSet*) _tmp25_; +#line 251 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = sorted_tags; +#line 251 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp26_ != NULL, "sorted_tags != null"); +#line 253 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = sorted_tags; +#line 253 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = tag; +#line 253 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection), _tmp28_); +#line 253 "/home/jens/Source/shotwell/src/Tag.vala" + is_removed = _tmp29_; +#line 254 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = is_removed; +#line 254 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp30_, "is_removed"); +#line 256 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = sorted_tags; +#line 256 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 256 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = _tmp32_; +#line 256 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp33_ == 0) { +#line 2748 "Tag.c" + GeeHashMap* _tmp34_ = NULL; + MediaSource* _tmp35_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = self->priv->sorted_source_map; +#line 257 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = source; +#line 257 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp35_, NULL); +#line 2757 "Tag.c" + } +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (sorted_tags); +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tags); +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source); +#line 2765 "Tag.c" + } +#line 240 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_source_it); +#line 2769 "Tag.c" + } +#line 260 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = container; +#line 260 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = removed; +#line 260 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = unlinking; +#line 260 "/home/jens/Source/shotwell/src/Tag.vala" + CONTAINER_SOURCE_COLLECTION_CLASS (tag_source_collection_parent_class)->notify_container_contents_removed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), _tmp36_, _tmp37_, _tmp38_); +#line 235 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (sources); +#line 235 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 2783 "Tag.c" +} + + +static void tag_source_collection_on_photo_source_reimported (TagSourceCollection* self, LibraryPhoto* photo, PhotoMetadata* metadata) { +#line 263 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG_SOURCE_COLLECTION (self)); +#line 263 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_LIBRARY_PHOTO (photo)); +#line 263 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 2794 "Tag.c" +} + + +static void tag_source_collection_class_init (TagSourceCollectionClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + tag_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataCollectionClass *) klass)->finalize = tag_source_collection_finalize; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + g_type_class_add_private (klass, sizeof (TagSourceCollectionPrivate)); +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = tag_source_collection_real_holds_type_of_source; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((ContainerSourceCollectionClass *) klass)->get_containers_holding_source = tag_source_collection_real_get_containers_holding_source; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((ContainerSourceCollectionClass *) klass)->convert_backlink_to_container = tag_source_collection_real_convert_backlink_to_container; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataCollectionClass *) klass)->notify_items_added = tag_source_collection_real_notify_items_added; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataCollectionClass *) klass)->notify_items_removed = tag_source_collection_real_notify_items_removed; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataCollectionClass *) klass)->notify_items_altered = tag_source_collection_real_notify_items_altered; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((ContainerSourceCollectionClass *) klass)->notify_container_contents_added = tag_source_collection_real_notify_container_contents_added; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + ((ContainerSourceCollectionClass *) klass)->notify_container_contents_removed = tag_source_collection_real_notify_container_contents_removed; +#line 2821 "Tag.c" +} + + +static void tag_source_collection_instance_init (TagSourceCollection * self) { + GeeHashMap* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv = TAG_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 8 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tag_hash_name_string_gee_hash_data_func, NULL, NULL, _tag_equal_name_strings_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 8 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->name_map = _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, GEE_TYPE_LIST, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 10 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->source_map = _tmp1_; +#line 12 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = gee_hash_map_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, GEE_TYPE_SORTED_SET, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 12 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->sorted_source_map = _tmp2_; +#line 2843 "Tag.c" +} + + +static void tag_source_collection_finalize (DataCollection* obj) { + TagSourceCollection * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection); +#line 26 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = library_photo_global; +#line 26 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_parse_name ("source-reimported", TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); +#line 26 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _tag_source_collection_on_photo_source_reimported_library_photo_source_collection_source_reimported, self); +#line 8 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (self->priv->name_map); +#line 10 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (self->priv->source_map); +#line 12 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (self->priv->sorted_source_map); +#line 7 "/home/jens/Source/shotwell/src/Tag.vala" + DATA_COLLECTION_CLASS (tag_source_collection_parent_class)->finalize (obj); +#line 2867 "Tag.c" +} + + +GType tag_source_collection_get_type (void) { + static volatile gsize tag_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&tag_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tag_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagSourceCollection), 0, (GInstanceInitFunc) tag_source_collection_instance_init, NULL }; + GType tag_source_collection_type_id; + tag_source_collection_type_id = g_type_register_static (TYPE_CONTAINER_SOURCE_COLLECTION, "TagSourceCollection", &g_define_type_info, 0); + g_once_init_leave (&tag_source_collection_type_id__volatile, tag_source_collection_type_id); + } + return tag_source_collection_type_id__volatile; +} + + +static void _tag_on_media_views_contents_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 382 "/home/jens/Source/shotwell/src/Tag.vala" + tag_on_media_views_contents_altered ((Tag*) self, added, removed); +#line 2886 "Tag.c" +} + + +static void _tag_on_sources_destroyed_source_collection_items_destroyed (SourceCollection* _sender, GeeCollection* destroyed, gpointer self) { +#line 383 "/home/jens/Source/shotwell/src/Tag.vala" + tag_on_sources_destroyed ((Tag*) self, destroyed); +#line 2893 "Tag.c" +} + + +static gpointer _tag_row_ref0 (gpointer self) { +#line 335 "/home/jens/Source/shotwell/src/Tag.vala" + return self ? tag_row_ref (self) : NULL; +#line 2900 "Tag.c" +} + + +static Tag* tag_construct (GType object_type, TagRow* row, gint64 object_id) { + Tag * self = NULL; + gint64 _tmp0_ = 0LL; + TagRow* _tmp1_ = NULL; + TagRow* _tmp2_ = NULL; + TagRow* _tmp3_ = NULL; + TagRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GeeArrayList* source_list = NULL; + GeeArrayList* _tmp7_ = NULL; + GeeArrayList* thumbnail_views = NULL; + GeeArrayList* _tmp8_ = NULL; + TagRow* _tmp9_ = NULL; + GeeSet* _tmp10_ = NULL; + TagRow* _tmp32_ = NULL; + TagID _tmp33_ = {0}; + gint64 _tmp34_ = 0LL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + ViewCollection* _tmp39_ = NULL; + ViewCollection* _tmp40_ = NULL; + GeeArrayList* _tmp41_ = NULL; + GeeCollection* _tmp42_ = NULL; + GeeCollection* _tmp43_ = NULL; + GeeArrayList* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + ViewCollection* _tmp51_ = NULL; + LibraryPhotoSourceCollection* _tmp52_ = NULL; + VideoSourceCollection* _tmp53_ = NULL; +#line 332 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_ROW (row), NULL); +#line 333 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = object_id; +#line 333 "/home/jens/Source/shotwell/src/Tag.vala" + self = (Tag*) data_source_construct (object_type, _tmp0_); +#line 335 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = row; +#line 335 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tag_row_ref0 (_tmp1_); +#line 335 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (self->priv->row); +#line 335 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->row = _tmp2_; +#line 338 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = self->priv->row; +#line 338 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = self->priv->row; +#line 338 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_->name; +#line 338 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = tag_prep_tag_name (_tmp5_); +#line 338 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp3_->name); +#line 338 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_->name = _tmp6_; +#line 341 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 341 "/home/jens/Source/shotwell/src/Tag.vala" + source_list = _tmp7_; +#line 342 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = gee_array_list_new (TYPE_THUMBNAIL_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 342 "/home/jens/Source/shotwell/src/Tag.vala" + thumbnail_views = _tmp8_; +#line 343 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = self->priv->row; +#line 343 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_->source_id_list; +#line 343 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp10_ != NULL) { +#line 2977 "Tag.c" + { + GeeIterator* _source_id_it = NULL; + TagRow* _tmp11_ = NULL; + GeeSet* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = self->priv->row; +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = _tmp11_->source_id_list; +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _source_id_it = _tmp13_; +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 2993 "Tag.c" + GeeIterator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gchar* source_id = NULL; + GeeIterator* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + MediaSource* current_source = NULL; + MediaCollectionRegistry* _tmp18_ = NULL; + MediaCollectionRegistry* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + MediaSource* _tmp21_ = NULL; + MediaSource* _tmp22_ = NULL; + MediaSource* _tmp23_ = NULL; + GeeArrayList* _tmp24_ = NULL; + MediaSource* _tmp25_ = NULL; + GeeArrayList* _tmp26_ = NULL; + MediaSource* _tmp27_ = NULL; + ThumbnailView* _tmp28_ = NULL; + ThumbnailView* _tmp29_ = NULL; +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = _source_id_it; +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = gee_iterator_next (_tmp14_); +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp15_) { +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 3020 "Tag.c" + } +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = _source_id_it; +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = gee_iterator_get (_tmp16_); +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + source_id = (gchar*) _tmp17_; +#line 345 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = media_collection_registry_get_instance (); +#line 345 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = _tmp18_; +#line 345 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = source_id; +#line 345 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = media_collection_registry_fetch_media (_tmp19_, _tmp20_); +#line 345 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MEDIA_SOURCE, MediaSource); +#line 345 "/home/jens/Source/shotwell/src/Tag.vala" + _media_collection_registry_unref0 (_tmp19_); +#line 345 "/home/jens/Source/shotwell/src/Tag.vala" + current_source = _tmp22_; +#line 347 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = current_source; +#line 347 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp23_ == NULL) { +#line 348 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (current_source); +#line 348 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (source_id); +#line 348 "/home/jens/Source/shotwell/src/Tag.vala" + continue; +#line 3052 "Tag.c" + } +#line 350 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = source_list; +#line 350 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = current_source; +#line 350 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp25_); +#line 351 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = thumbnail_views; +#line 351 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = current_source; +#line 351 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 351 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = _tmp28_; +#line 351 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp29_); +#line 351 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp29_); +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (current_source); +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (source_id); +#line 3076 "Tag.c" + } +#line 344 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_source_id_it); +#line 3080 "Tag.c" + } + } else { + TagRow* _tmp30_ = NULL; + GeeHashSet* _tmp31_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = self->priv->row; +#line 355 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 355 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp30_->source_id_list); +#line 355 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_->source_id_list = G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_SET, GeeSet); +#line 3093 "Tag.c" + } +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = row; +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = _tmp32_->tag_id; +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = _tmp33_.id; +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp34_); +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = _tmp35_; +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = g_strdup_printf ("ViewCollection for tag %s", _tmp36_); +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = _tmp37_; +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39_ = view_collection_new (_tmp38_); +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _data_collection_unref0 (self->priv->media_views); +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->media_views = _tmp39_; +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp38_); +#line 359 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp36_); +#line 360 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ = self->priv->media_views; +#line 360 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp41_ = thumbnail_views; +#line 360 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp42_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 360 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp43_ = _tmp42_; +#line 360 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp43_); +#line 364 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = source_list; +#line 364 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp45_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 364 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp46_ = _tmp45_; +#line 364 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp46_ > 0) { +#line 3137 "Tag.c" + TagSourceCollection* _tmp47_ = NULL; + GeeArrayList* _tmp48_ = NULL; + TagSourceCollection* _tmp49_ = NULL; + GeeArrayList* _tmp50_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp47_ = tag_global; +#line 365 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp48_ = source_list; +#line 365 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_notify_container_contents_added (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_COLLECTION, GeeCollection), FALSE); +#line 366 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp49_ = tag_global; +#line 366 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp50_ = source_list; +#line 366 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, NULL, FALSE); +#line 3154 "Tag.c" + } +#line 371 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp51_ = self->priv->media_views; +#line 371 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _tag_on_media_views_contents_altered_data_collection_contents_altered, self, 0); +#line 375 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp52_ = library_photo_global; +#line 375 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-destroyed", (GCallback) _tag_on_sources_destroyed_source_collection_items_destroyed, self, 0); +#line 376 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp53_ = video_global; +#line 376 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, TYPE_SOURCE_COLLECTION, SourceCollection), "items-destroyed", (GCallback) _tag_on_sources_destroyed_source_collection_items_destroyed, self, 0); +#line 378 "/home/jens/Source/shotwell/src/Tag.vala" + tag_update_indexable_keywords (self); +#line 332 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (thumbnail_views); +#line 332 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source_list); +#line 332 "/home/jens/Source/shotwell/src/Tag.vala" + return self; +#line 3176 "Tag.c" +} + + +static Tag* tag_new (TagRow* row, gint64 object_id) { +#line 332 "/home/jens/Source/shotwell/src/Tag.vala" + return tag_construct (TYPE_TAG, row, object_id); +#line 3183 "Tag.c" +} + + +void tag_init (ProgressMonitor monitor, void* monitor_target) { + TagSourceCollection* _tmp0_ = NULL; + GeeList* rows = NULL; + GeeTreeMap* ancestry_dictionary = NULL; + GeeTreeMap* _tmp8_ = NULL; + GeeArrayList* unlinked = NULL; + GeeArrayList* _tmp9_ = NULL; + gint count = 0; + GeeList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + GeeSet* victim_set = NULL; + GeeHashSet* _tmp54_ = NULL; + GeeSet* _tmp110_ = NULL; + TagSourceCollection* _tmp171_ = NULL; + GeeTreeMap* _tmp172_ = NULL; + GeeCollection* _tmp173_ = NULL; + GeeCollection* _tmp174_ = NULL; + GeeCollection* _tmp175_ = NULL; + GeeCollection* _tmp176_ = NULL; + GeeCollection* _tmp177_ = NULL; + TagSourceCollection* _tmp178_ = NULL; + GeeArrayList* _tmp179_ = NULL; + GError * _inner_error_ = NULL; +#line 388 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_source_collection_new (); +#line 388 "/home/jens/Source/shotwell/src/Tag.vala" + _data_collection_unref0 (tag_global); +#line 388 "/home/jens/Source/shotwell/src/Tag.vala" + tag_global = _tmp0_; +#line 391 "/home/jens/Source/shotwell/src/Tag.vala" + rows = NULL; +#line 3219 "Tag.c" + { + GeeList* _tmp1_ = NULL; + TagTable* _tmp2_ = NULL; + TagTable* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_table_get_instance (); +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_table_get_all_rows (_tmp3_, &_inner_error_); +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _database_table_unref0 (_tmp3_); +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp5_; +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3243 "Tag.c" + goto __catch459_database_error; + } +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (rows); +#line 393 "/home/jens/Source/shotwell/src/Tag.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 393 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 3254 "Tag.c" + } +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _tmp1_; +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (rows); +#line 393 "/home/jens/Source/shotwell/src/Tag.vala" + rows = _tmp6_; +#line 392 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp1_); +#line 3266 "Tag.c" + } + goto __finally459; + __catch459_database_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; +#line 392 "/home/jens/Source/shotwell/src/Tag.vala" + err = _inner_error_; +#line 392 "/home/jens/Source/shotwell/src/Tag.vala" + _inner_error_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = err; +#line 395 "/home/jens/Source/shotwell/src/Tag.vala" + app_window_database_error (_tmp7_); +#line 392 "/home/jens/Source/shotwell/src/Tag.vala" + _g_error_free0 (err); +#line 3283 "Tag.c" + } + __finally459: +#line 392 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 392 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (rows); +#line 392 "/home/jens/Source/shotwell/src/Tag.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 392 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 392 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 3296 "Tag.c" + } +#line 404 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = gee_tree_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 404 "/home/jens/Source/shotwell/src/Tag.vala" + ancestry_dictionary = _tmp8_; +#line 406 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 406 "/home/jens/Source/shotwell/src/Tag.vala" + unlinked = _tmp9_; +#line 407 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = rows; +#line 407 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 407 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = _tmp11_; +#line 407 "/home/jens/Source/shotwell/src/Tag.vala" + count = _tmp12_; +#line 3314 "Tag.c" + { + gint ctr = 0; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + ctr = 0; +#line 3319 "Tag.c" + { + gboolean _tmp13_ = FALSE; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = TRUE; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 3326 "Tag.c" + gint _tmp15_ = 0; + gint _tmp16_ = 0; + TagRow* row = NULL; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gpointer _tmp19_ = NULL; + gchar* name = NULL; + TagRow* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + TagRow* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + Tag* tag = NULL; + TagRow* _tmp37_ = NULL; + Tag* _tmp38_ = NULL; + ProgressMonitor _tmp39_ = NULL; + void* _tmp39__target = NULL; + GeeTreeMap* _tmp43_ = NULL; + Tag* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + Tag* _tmp47_ = NULL; + Tag* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp13_) { +#line 3355 "Tag.c" + gint _tmp14_ = 0; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = ctr; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + ctr = _tmp14_ + 1; +#line 3361 "Tag.c" + } +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = FALSE; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = ctr; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = count; +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp15_ < _tmp16_)) { +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 3373 "Tag.c" + } +#line 409 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = rows; +#line 409 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = ctr; +#line 409 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = gee_list_get (_tmp17_, _tmp18_); +#line 409 "/home/jens/Source/shotwell/src/Tag.vala" + row = (TagRow*) _tmp19_; +#line 412 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = row; +#line 412 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = _tmp20_->name; +#line 412 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = tag_prep_tag_name (_tmp21_); +#line 412 "/home/jens/Source/shotwell/src/Tag.vala" + name = _tmp22_; +#line 413 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = name; +#line 413 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp23_ == NULL) { +#line 3395 "Tag.c" + TagRow* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = row; +#line 416 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = _tmp24_->name; +#line 416 "/home/jens/Source/shotwell/src/Tag.vala" + g_warning ("Tag.vala:416: Invalid tag name \"%s\": removing from database", _tmp25_); +#line 3404 "Tag.c" + { + TagTable* _tmp26_ = NULL; + TagTable* _tmp27_ = NULL; + TagRow* _tmp28_ = NULL; + TagID _tmp29_ = {0}; +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = tag_table_get_instance (); +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = _tmp26_; +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = row; +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = _tmp28_->tag_id; +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + tag_table_remove (_tmp27_, &_tmp29_, &_inner_error_); +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _database_table_unref0 (_tmp27_); +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3426 "Tag.c" + goto __catch460_database_error; + } +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (name); +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (row); +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (unlinked); +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (ancestry_dictionary); +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (rows); +#line 418 "/home/jens/Source/shotwell/src/Tag.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 418 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 418 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 3445 "Tag.c" + } + } + goto __finally460; + __catch460_database_error: + { + GError* err = NULL; + TagRow* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + GError* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + err = _inner_error_; +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + _inner_error_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = row; +#line 420 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = _tmp30_->name; +#line 420 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = err; +#line 420 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = _tmp32_->message; +#line 420 "/home/jens/Source/shotwell/src/Tag.vala" + g_warning ("Tag.vala:420: Unable to delete tag \"%s\": %s", _tmp31_, _tmp33_); +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + _g_error_free0 (err); +#line 3472 "Tag.c" + } + __finally460: +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (name); +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (row); +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (unlinked); +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (ancestry_dictionary); +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (rows); +#line 417 "/home/jens/Source/shotwell/src/Tag.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 417 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 417 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 3493 "Tag.c" + } +#line 423 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (name); +#line 423 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (row); +#line 423 "/home/jens/Source/shotwell/src/Tag.vala" + continue; +#line 3501 "Tag.c" + } +#line 426 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = row; +#line 426 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = name; +#line 426 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = g_strdup (_tmp35_); +#line 426 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp34_->name); +#line 426 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_->name = _tmp36_; +#line 428 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = row; +#line 428 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = tag_new (_tmp37_, DATA_OBJECT_INVALID_OBJECT_ID); +#line 428 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp38_; +#line 429 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39_ = monitor; +#line 429 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39__target = monitor_target; +#line 429 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp39_ != NULL) { +#line 3525 "Tag.c" + ProgressMonitor _tmp40_ = NULL; + void* _tmp40__target = NULL; + gint _tmp41_ = 0; + gint _tmp42_ = 0; +#line 430 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ = monitor; +#line 430 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40__target = monitor_target; +#line 430 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp41_ = ctr; +#line 430 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp42_ = count; +#line 430 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ ((guint64) _tmp41_, (guint64) _tmp42_, TRUE, _tmp40__target); +#line 3540 "Tag.c" + } +#line 432 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp43_ = ancestry_dictionary; +#line 432 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = tag; +#line 432 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp45_ = tag_get_path (_tmp44_); +#line 432 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp46_ = _tmp45_; +#line 432 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp47_ = tag; +#line 432 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp46_, _tmp47_); +#line 432 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp46_); +#line 434 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp48_ = tag; +#line 434 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp49_ = container_source_has_links (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_CONTAINER_SOURCE, ContainerSource)); +#line 434 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp49_) { +#line 3562 "Tag.c" + Tag* _tmp50_ = NULL; + TagSourceCollection* _tmp51_ = NULL; + GeeArrayList* _tmp52_ = NULL; + Tag* _tmp53_ = NULL; +#line 435 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp50_ = tag; +#line 435 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp51_ = tag_global; +#line 435 "/home/jens/Source/shotwell/src/Tag.vala" + data_source_rehydrate_backlinks (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_SOURCE_COLLECTION, SourceCollection), NULL); +#line 436 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp52_ = unlinked; +#line 436 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp53_ = tag; +#line 436 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp53_); +#line 3579 "Tag.c" + } +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (name); +#line 408 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (row); +#line 3587 "Tag.c" + } + } + } +#line 440 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp54_ = gee_hash_set_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 440 "/home/jens/Source/shotwell/src/Tag.vala" + victim_set = G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, GEE_TYPE_SET, GeeSet); +#line 3595 "Tag.c" + { + GeeIterator* _fq_tag_path_it = NULL; + GeeTreeMap* _tmp55_ = NULL; + GeeSet* _tmp56_ = NULL; + GeeSet* _tmp57_ = NULL; + GeeSet* _tmp58_ = NULL; + GeeIterator* _tmp59_ = NULL; + GeeIterator* _tmp60_ = NULL; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp55_ = ancestry_dictionary; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp56_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, GEE_TYPE_MAP, GeeMap)); +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp57_ = _tmp56_; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp58_ = _tmp57_; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp59_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp60_ = _tmp59_; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp58_); +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _fq_tag_path_it = _tmp60_; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 3622 "Tag.c" + GeeIterator* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; + gchar* fq_tag_path = NULL; + GeeIterator* _tmp63_ = NULL; + gpointer _tmp64_ = NULL; + const gchar* _tmp65_ = NULL; + GeeList* _tmp66_ = NULL; + GeeList* _tmp67_ = NULL; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + gboolean _tmp70_ = FALSE; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp61_ = _fq_tag_path_it; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp62_ = gee_iterator_next (_tmp61_); +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp62_) { +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 3642 "Tag.c" + } +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp63_ = _fq_tag_path_it; +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp64_ = gee_iterator_get (_tmp63_); +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + fq_tag_path = (gchar*) _tmp64_; +#line 446 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp65_ = fq_tag_path; +#line 446 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp66_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp65_); +#line 446 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp67_ = _tmp66_; +#line 446 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp68_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 446 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp69_ = _tmp68_; +#line 446 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp70_ = _tmp69_ < 1; +#line 446 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp67_); +#line 446 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp70_) { +#line 3666 "Tag.c" + gboolean _tmp71_ = FALSE; + const gchar* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; +#line 447 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp72_ = fq_tag_path; +#line 447 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp73_ = g_str_has_prefix (_tmp72_, TAG_PATH_SEPARATOR_STRING); +#line 447 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp73_) { +#line 3676 "Tag.c" + GeeTreeMap* _tmp74_ = NULL; + const gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + gchar* _tmp77_ = NULL; + gboolean _tmp78_ = FALSE; +#line 448 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp74_ = ancestry_dictionary; +#line 448 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp75_ = fq_tag_path; +#line 448 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp76_ = hierarchical_tag_utilities_hierarchical_to_flat (_tmp75_); +#line 448 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp77_ = _tmp76_; +#line 448 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp78_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp77_); +#line 448 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp71_ = _tmp78_; +#line 448 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp77_); +#line 3696 "Tag.c" + } else { +#line 447 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp71_ = FALSE; +#line 3700 "Tag.c" + } +#line 447 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp71_) { +#line 3704 "Tag.c" + GeeSet* _tmp79_ = NULL; + GeeTreeMap* _tmp80_ = NULL; + const gchar* _tmp81_ = NULL; + gpointer _tmp82_ = NULL; + Tag* _tmp83_ = NULL; +#line 449 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp79_ = victim_set; +#line 449 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp80_ = ancestry_dictionary; +#line 449 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp81_ = fq_tag_path; +#line 449 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp82_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp81_); +#line 449 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp83_ = (Tag*) _tmp82_; +#line 449 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, GEE_TYPE_COLLECTION, GeeCollection), _tmp83_); +#line 449 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp83_); +#line 3724 "Tag.c" + } + } +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (fq_tag_path); +#line 3729 "Tag.c" + } +#line 445 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_fq_tag_path_it); +#line 3733 "Tag.c" + } + { + GeeIterator* _tag_it = NULL; + GeeSet* _tmp84_ = NULL; + GeeIterator* _tmp85_ = NULL; +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp84_ = victim_set; +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp85_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_it = _tmp85_; +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 3747 "Tag.c" + GeeIterator* _tmp86_ = NULL; + gboolean _tmp87_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp88_ = NULL; + gpointer _tmp89_ = NULL; + GeeCollection* source_collection = NULL; + Tag* _tmp90_ = NULL; + GeeCollection* _tmp91_ = NULL; + gchar* flat_version = NULL; + Tag* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; + TagSourceCollection* _tmp94_ = NULL; + const gchar* _tmp95_ = NULL; + Tag* _tmp96_ = NULL; + Tag* _tmp97_ = NULL; + GeeCollection* _tmp98_ = NULL; + GeeTreeMap* _tmp99_ = NULL; + Tag* _tmp100_ = NULL; + gchar* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; + Tag* _tmp103_ = NULL; + Tag* _tmp104_ = NULL; + GeeCollection* _tmp105_ = NULL; + GeeCollection* _tmp106_ = NULL; + GeeMultiMap* _tmp107_ = NULL; + GeeMultiMap* _tmp108_ = NULL; + Tag* _tmp109_ = NULL; +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp86_ = _tag_it; +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp87_ = gee_iterator_next (_tmp86_); +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp87_) { +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 3783 "Tag.c" + } +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp88_ = _tag_it; +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp89_ = gee_iterator_get (_tmp88_); +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + tag = (Tag*) _tmp89_; +#line 455 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp90_ = tag; +#line 455 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp91_ = tag_get_sources (_tmp90_); +#line 455 "/home/jens/Source/shotwell/src/Tag.vala" + source_collection = _tmp91_; +#line 456 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp92_ = tag; +#line 456 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp93_ = tag_get_user_visible_name (_tmp92_); +#line 456 "/home/jens/Source/shotwell/src/Tag.vala" + flat_version = _tmp93_; +#line 457 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp94_ = tag_global; +#line 457 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp95_ = flat_version; +#line 457 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp96_ = tag_source_collection_fetch_by_name (_tmp94_, _tmp95_, FALSE); +#line 457 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp97_ = _tmp96_; +#line 457 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp98_ = source_collection; +#line 457 "/home/jens/Source/shotwell/src/Tag.vala" + tag_attach_many (_tmp97_, _tmp98_); +#line 457 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp97_); +#line 459 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp99_ = ancestry_dictionary; +#line 459 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp100_ = tag; +#line 459 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp101_ = tag_get_path (_tmp100_); +#line 459 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp102_ = _tmp101_; +#line 459 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp99_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp102_, NULL); +#line 459 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp102_); +#line 461 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp103_ = tag; +#line 461 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp104_ = tag; +#line 461 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp105_ = tag_get_sources (_tmp104_); +#line 461 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp106_ = _tmp105_; +#line 461 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp107_ = tag_detach_many (_tmp103_, _tmp106_); +#line 461 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp108_ = _tmp107_; +#line 461 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp108_); +#line 461 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp106_); +#line 462 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp109_ = tag; +#line 462 "/home/jens/Source/shotwell/src/Tag.vala" + data_source_destroy_orphan (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, TYPE_DATA_SOURCE, DataSource), TRUE); +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (flat_version); +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source_collection); +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 3855 "Tag.c" + } +#line 454 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tag_it); +#line 3859 "Tag.c" + } +#line 468 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp110_ = victim_set; +#line 468 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 3865 "Tag.c" + { + GeeIterator* _fq_tag_path_it = NULL; + GeeTreeMap* _tmp111_ = NULL; + GeeSet* _tmp112_ = NULL; + GeeSet* _tmp113_ = NULL; + GeeSet* _tmp114_ = NULL; + GeeIterator* _tmp115_ = NULL; + GeeIterator* _tmp116_ = NULL; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp111_ = ancestry_dictionary; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp112_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp111_, GEE_TYPE_MAP, GeeMap)); +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp113_ = _tmp112_; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp114_ = _tmp113_; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp115_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp114_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp116_ = _tmp115_; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp114_); +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _fq_tag_path_it = _tmp116_; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 3892 "Tag.c" + GeeIterator* _tmp117_ = NULL; + gboolean _tmp118_ = FALSE; + gchar* fq_tag_path = NULL; + GeeIterator* _tmp119_ = NULL; + gpointer _tmp120_ = NULL; + GeeList* parents_to_search = NULL; + const gchar* _tmp121_ = NULL; + GeeList* _tmp122_ = NULL; + Tag* curr_child = NULL; + GeeTreeMap* _tmp123_ = NULL; + const gchar* _tmp124_ = NULL; + gpointer _tmp125_ = NULL; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp117_ = _fq_tag_path_it; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp118_ = gee_iterator_next (_tmp117_); +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp118_) { +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 3913 "Tag.c" + } +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp119_ = _fq_tag_path_it; +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp120_ = gee_iterator_get (_tmp119_); +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + fq_tag_path = (gchar*) _tmp120_; +#line 471 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp121_ = fq_tag_path; +#line 471 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp122_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp121_); +#line 471 "/home/jens/Source/shotwell/src/Tag.vala" + parents_to_search = _tmp122_; +#line 474 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp123_ = ancestry_dictionary; +#line 474 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp124_ = fq_tag_path; +#line 474 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp125_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp123_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp124_); +#line 474 "/home/jens/Source/shotwell/src/Tag.vala" + curr_child = (Tag*) _tmp125_; +#line 3935 "Tag.c" + { + GeeList* _parent_path_list = NULL; + GeeList* _tmp126_ = NULL; + GeeList* _tmp127_ = NULL; + gint _parent_path_size = 0; + GeeList* _tmp128_ = NULL; + gint _tmp129_ = 0; + gint _tmp130_ = 0; + gint _parent_path_index = 0; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp126_ = parents_to_search; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp127_ = _g_object_ref0 (_tmp126_); +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _parent_path_list = _tmp127_; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp128_ = _parent_path_list; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp129_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp128_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp130_ = _tmp129_; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _parent_path_size = _tmp130_; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _parent_path_index = -1; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 3963 "Tag.c" + gint _tmp131_ = 0; + gint _tmp132_ = 0; + gint _tmp133_ = 0; + gchar* parent_path = NULL; + GeeList* _tmp134_ = NULL; + gint _tmp135_ = 0; + gpointer _tmp136_ = NULL; + gint child_ref_count = 0; + Tag* _tmp137_ = NULL; + gint _tmp138_ = 0; + gint parent_ref_count = 0; + GeeTreeMap* _tmp139_ = NULL; + const gchar* _tmp140_ = NULL; + gboolean _tmp141_ = FALSE; + gint _tmp147_ = 0; + gint _tmp148_ = 0; + GeeSet* _tmp151_ = NULL; + GeeTreeMap* _tmp152_ = NULL; + const gchar* _tmp153_ = NULL; + gpointer _tmp154_ = NULL; + Tag* _tmp155_ = NULL; + gboolean _tmp156_ = FALSE; + gboolean _tmp157_ = FALSE; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp131_ = _parent_path_index; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _parent_path_index = _tmp131_ + 1; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp132_ = _parent_path_index; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp133_ = _parent_path_size; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp132_ < _tmp133_)) { +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 3999 "Tag.c" + } +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp134_ = _parent_path_list; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp135_ = _parent_path_index; +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp136_ = gee_list_get (_tmp134_, _tmp135_); +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + parent_path = (gchar*) _tmp136_; +#line 479 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp137_ = curr_child; +#line 479 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp138_ = tag_get_sources_count (_tmp137_); +#line 479 "/home/jens/Source/shotwell/src/Tag.vala" + child_ref_count = _tmp138_; +#line 480 "/home/jens/Source/shotwell/src/Tag.vala" + parent_ref_count = -1; +#line 483 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp139_ = ancestry_dictionary; +#line 483 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp140_ = parent_path; +#line 483 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp141_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp139_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp140_); +#line 483 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp141_) { +#line 4025 "Tag.c" + GeeTreeMap* _tmp142_ = NULL; + const gchar* _tmp143_ = NULL; + gpointer _tmp144_ = NULL; + Tag* _tmp145_ = NULL; + gint _tmp146_ = 0; +#line 485 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp142_ = ancestry_dictionary; +#line 485 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp143_ = parent_path; +#line 485 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp144_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp142_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp143_); +#line 485 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp145_ = (Tag*) _tmp144_; +#line 485 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp146_ = tag_get_sources_count (_tmp145_); +#line 485 "/home/jens/Source/shotwell/src/Tag.vala" + parent_ref_count = _tmp146_; +#line 485 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp145_); +#line 4045 "Tag.c" + } +#line 489 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp147_ = child_ref_count; +#line 489 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp148_ = parent_ref_count; +#line 489 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp147_ > _tmp148_) { +#line 4053 "Tag.c" + GeeSet* _tmp149_ = NULL; + Tag* _tmp150_ = NULL; +#line 493 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp149_ = victim_set; +#line 493 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp150_ = curr_child; +#line 493 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp149_, GEE_TYPE_COLLECTION, GeeCollection), _tmp150_); +#line 497 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (parent_path); +#line 497 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 4066 "Tag.c" + } +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp151_ = victim_set; +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp152_ = ancestry_dictionary; +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp153_ = parent_path; +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp154_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp152_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp153_); +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp155_ = (Tag*) _tmp154_; +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp156_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp151_, GEE_TYPE_COLLECTION, GeeCollection), _tmp155_); +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp157_ = _tmp156_; +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp155_); +#line 501 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp157_) { +#line 4086 "Tag.c" + GeeSet* _tmp158_ = NULL; + Tag* _tmp159_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp158_ = victim_set; +#line 503 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp159_ = curr_child; +#line 503 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp158_, GEE_TYPE_COLLECTION, GeeCollection), _tmp159_); +#line 504 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (parent_path); +#line 504 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 4099 "Tag.c" + } +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (parent_path); +#line 4103 "Tag.c" + } +#line 476 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_parent_path_list); +#line 4107 "Tag.c" + } +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (curr_child); +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (parents_to_search); +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (fq_tag_path); +#line 4115 "Tag.c" + } +#line 470 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_fq_tag_path_it); +#line 4119 "Tag.c" + } + { + GeeIterator* _t_it = NULL; + GeeSet* _tmp160_ = NULL; + GeeIterator* _tmp161_ = NULL; +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp160_ = victim_set; +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp161_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp160_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _t_it = _tmp161_; +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 4133 "Tag.c" + GeeIterator* _tmp162_ = NULL; + gboolean _tmp163_ = FALSE; + Tag* t = NULL; + GeeIterator* _tmp164_ = NULL; + gpointer _tmp165_ = NULL; + GeeTreeMap* _tmp166_ = NULL; + Tag* _tmp167_ = NULL; + gchar* _tmp168_ = NULL; + gchar* _tmp169_ = NULL; + Tag* _tmp170_ = NULL; +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp162_ = _t_it; +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp163_ = gee_iterator_next (_tmp162_); +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp163_) { +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 4152 "Tag.c" + } +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp164_ = _t_it; +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp165_ = gee_iterator_get (_tmp164_); +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + t = (Tag*) _tmp165_; +#line 511 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp166_ = ancestry_dictionary; +#line 511 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp167_ = t; +#line 511 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp168_ = tag_get_path (_tmp167_); +#line 511 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp169_ = _tmp168_; +#line 511 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp166_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp169_, NULL); +#line 511 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp169_); +#line 512 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp170_ = t; +#line 512 "/home/jens/Source/shotwell/src/Tag.vala" + data_source_destroy_orphan (G_TYPE_CHECK_INSTANCE_CAST (_tmp170_, TYPE_DATA_SOURCE, DataSource), TRUE); +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (t); +#line 4178 "Tag.c" + } +#line 510 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_t_it); +#line 4182 "Tag.c" + } +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp171_ = tag_global; +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp172_ = ancestry_dictionary; +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp173_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp172_, GEE_TYPE_MAP, GeeMap)); +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp174_ = _tmp173_; +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp175_ = _tmp174_; +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp176_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp171_, TYPE_DATA_COLLECTION, DataCollection), _tmp175_, NULL, NULL); +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp177_ = _tmp176_; +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp177_); +#line 516 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp175_); +#line 517 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp178_ = tag_global; +#line 517 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp179_ = unlinked; +#line 517 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_init_add_many_unlinked (G_TYPE_CHECK_INSTANCE_CAST (_tmp178_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp179_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 4208 "Tag.c" + { + GeeIterator* _t_it = NULL; + GeeTreeMap* _tmp180_ = NULL; + GeeCollection* _tmp181_ = NULL; + GeeCollection* _tmp182_ = NULL; + GeeCollection* _tmp183_ = NULL; + GeeIterator* _tmp184_ = NULL; + GeeIterator* _tmp185_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp180_ = ancestry_dictionary; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp181_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp180_, GEE_TYPE_MAP, GeeMap)); +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp182_ = _tmp181_; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp183_ = _tmp182_; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp184_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp183_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp185_ = _tmp184_; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp183_); +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _t_it = _tmp185_; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 4235 "Tag.c" + GeeIterator* _tmp186_ = NULL; + gboolean _tmp187_ = FALSE; + Tag* t = NULL; + GeeIterator* _tmp188_ = NULL; + gpointer _tmp189_ = NULL; + gboolean _tmp190_ = FALSE; + Tag* _tmp191_ = NULL; + GeeList* _tmp192_ = NULL; + GeeList* _tmp193_ = NULL; + gint _tmp194_ = 0; + gint _tmp195_ = 0; + gboolean _tmp196_ = FALSE; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp186_ = _t_it; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp187_ = gee_iterator_next (_tmp186_); +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp187_) { +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 4256 "Tag.c" + } +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp188_ = _t_it; +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp189_ = gee_iterator_get (_tmp188_); +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + t = (Tag*) _tmp189_; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp191_ = t; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp192_ = tag_get_hierarchical_children (_tmp191_); +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp193_ = _tmp192_; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp194_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp193_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp195_ = _tmp194_; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp196_ = _tmp195_ < 1; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp193_); +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp196_) { +#line 4280 "Tag.c" + Tag* _tmp197_ = NULL; + Tag* _tmp198_ = NULL; + Tag* _tmp199_ = NULL; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp197_ = t; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp198_ = tag_get_hierarchical_parent (_tmp197_); +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp199_ = _tmp198_; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp190_ = _tmp199_ == NULL; +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp199_); +#line 4294 "Tag.c" + } else { +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp190_ = FALSE; +#line 4298 "Tag.c" + } +#line 523 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp190_) { +#line 4302 "Tag.c" + Tag* _tmp200_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp200_ = t; +#line 525 "/home/jens/Source/shotwell/src/Tag.vala" + tag_flatten (_tmp200_); +#line 4308 "Tag.c" + } +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (t); +#line 4312 "Tag.c" + } +#line 521 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_t_it); +#line 4316 "Tag.c" + } +#line 387 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (victim_set); +#line 387 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (unlinked); +#line 387 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (ancestry_dictionary); +#line 387 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (rows); +#line 4326 "Tag.c" +} + + +void tag_terminate (void) { +} + + +gint tag_compare_names (Tag* a, Tag* b) { + gint result = 0; + Tag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + Tag* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 533 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (a), 0); +#line 533 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (b), 0); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = a; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = a; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_get_name_collation_key (_tmp3_); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = b; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_OBJECT, DataObject)); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp7_; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = b; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = tag_get_name_collation_key (_tmp9_); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _tmp10_; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = string_precollated_compare (_tmp2_, _tmp5_, _tmp8_, _tmp11_); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _tmp12_; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp11_); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp8_); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp5_); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp2_); +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp13_; +#line 534 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 4394 "Tag.c" +} + + +gint tag_compare_user_visible_names (Tag* a, Tag* b) { + gint result = 0; + Tag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + Tag* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 538 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (a), 0); +#line 538 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (b), 0); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = a; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_get_user_visible_name (_tmp0_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = a; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_get_name_collation_key (_tmp3_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = b; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = tag_get_user_visible_name (_tmp6_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp7_; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = b; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = tag_get_name_collation_key (_tmp9_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _tmp10_; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = string_precollated_compare (_tmp2_, _tmp5_, _tmp8_, _tmp11_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _tmp12_; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp11_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp8_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp5_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp2_); +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp13_; +#line 539 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 4458 "Tag.c" +} + + +guint tag_hash_name_string (const gchar* a) { + guint result = 0U; + const gchar* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 543 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (a != NULL, 0U); +#line 544 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = a; +#line 544 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = string_collated_hash (_tmp0_); +#line 544 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp1_; +#line 544 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 4476 "Tag.c" +} + + +gboolean tag_equal_name_strings (const gchar* a, const gchar* b) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 547 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (a != NULL, FALSE); +#line 547 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (b != NULL, FALSE); +#line 548 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = a; +#line 548 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = b; +#line 548 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = string_collated_equals (_tmp0_, _tmp1_); +#line 548 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp2_; +#line 548 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 4499 "Tag.c" +} + + +Tag* tag_for_path (const gchar* name) { + Tag* result = NULL; + Tag* tag = NULL; + TagSourceCollection* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; + Tag* _tmp3_ = NULL; + Tag* _tmp7_ = NULL; + TagSourceCollection* _tmp16_ = NULL; + Tag* _tmp17_ = NULL; + GError * _inner_error_ = NULL; +#line 553 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 554 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_global; +#line 554 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = name; +#line 554 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_source_collection_fetch_by_name (_tmp0_, _tmp1_, TRUE); +#line 554 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp2_; +#line 555 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = tag; +#line 555 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp3_ == NULL) { +#line 4528 "Tag.c" + TagSourceCollection* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; +#line 556 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_global; +#line 556 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = name; +#line 556 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = tag_source_collection_restore_tag_from_holding_tank (_tmp4_, _tmp5_); +#line 556 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 556 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp6_; +#line 4542 "Tag.c" + } +#line 558 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = tag; +#line 558 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp7_ != NULL) { +#line 559 "/home/jens/Source/shotwell/src/Tag.vala" + result = tag; +#line 559 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 4552 "Tag.c" + } + { + TagRow* _tmp8_ = NULL; + TagTable* _tmp9_ = NULL; + TagTable* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + TagRow* _tmp12_ = NULL; + TagRow* _tmp13_ = NULL; + Tag* _tmp14_ = NULL; +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = tag_table_get_instance (); +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_; +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = name; +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = tag_table_add (_tmp10_, _tmp11_, &_inner_error_); +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _tmp12_; +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _database_table_unref0 (_tmp10_); +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp13_; +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 4580 "Tag.c" + goto __catch461_database_error; + } +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 563 "/home/jens/Source/shotwell/src/Tag.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 563 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + return NULL; +#line 4591 "Tag.c" + } +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = tag_new (_tmp8_, DATA_OBJECT_INVALID_OBJECT_ID); +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 563 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp14_; +#line 562 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (_tmp8_); +#line 4601 "Tag.c" + } + goto __finally461; + __catch461_database_error: + { + GError* err = NULL; + GError* _tmp15_ = NULL; +#line 562 "/home/jens/Source/shotwell/src/Tag.vala" + err = _inner_error_; +#line 562 "/home/jens/Source/shotwell/src/Tag.vala" + _inner_error_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = err; +#line 565 "/home/jens/Source/shotwell/src/Tag.vala" + app_window_database_error (_tmp15_); +#line 562 "/home/jens/Source/shotwell/src/Tag.vala" + _g_error_free0 (err); +#line 4618 "Tag.c" + } + __finally461: +#line 562 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 562 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 562 "/home/jens/Source/shotwell/src/Tag.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 562 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 562 "/home/jens/Source/shotwell/src/Tag.vala" + return NULL; +#line 4631 "Tag.c" + } +#line 568 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = tag_global; +#line 568 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = tag; +#line 568 "/home/jens/Source/shotwell/src/Tag.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_OBJECT, DataObject)); +#line 570 "/home/jens/Source/shotwell/src/Tag.vala" + result = tag; +#line 570 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 4643 "Tag.c" +} + + +GeeCollection* tag_get_terminal_tags (GeeCollection* tags) { + GeeCollection* result = NULL; + GeeSet* result_paths = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeArrayList* _result_ = NULL; + GeeArrayList* _tmp38_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (tags), NULL); +#line 574 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 574 "/home/jens/Source/shotwell/src/Tag.vala" + result_paths = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_SET, GeeSet); +#line 4659 "Tag.c" + { + GeeIterator* _tag_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tags; +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_it = _tmp2_; +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 4672 "Tag.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Tag* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + Tag* _tmp16_ = NULL; + Tag* _tmp17_ = NULL; + Tag* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + GeeSet* _tmp34_ = NULL; + Tag* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tag_it; +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp4_) { +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 4699 "Tag.c" + } +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tag_it; +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + tag = (Tag*) _tmp6_; +#line 578 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = tag; +#line 578 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = tag_get_path (_tmp7_); +#line 578 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = _tmp8_; +#line 578 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = g_str_has_prefix (_tmp9_, TAG_PATH_SEPARATOR_STRING); +#line 578 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = !_tmp10_; +#line 578 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp9_); +#line 578 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp11_) { +#line 4721 "Tag.c" + GeeSet* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 579 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = result_paths; +#line 579 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = tag; +#line 579 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = tag_get_path (_tmp13_); +#line 579 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = _tmp14_; +#line 579 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_); +#line 579 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp15_); +#line 580 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 580 "/home/jens/Source/shotwell/src/Tag.vala" + continue; +#line 4742 "Tag.c" + } +#line 586 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = tag; +#line 586 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = tag_get_hierarchical_parent (_tmp16_); +#line 586 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = _tmp17_; +#line 586 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = _tmp18_ != NULL; +#line 586 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp18_); +#line 586 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp19_) { +#line 4756 "Tag.c" + GeeSet* _tmp20_ = NULL; + Tag* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; + Tag* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = result_paths; +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = tag; +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = tag_get_hierarchical_parent (_tmp21_); +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = _tmp22_; +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = tag_get_path (_tmp23_); +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = _tmp24_; +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = _tmp26_; +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp25_); +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp23_); +#line 589 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp27_) { +#line 4787 "Tag.c" + GeeSet* _tmp28_ = NULL; + Tag* _tmp29_ = NULL; + Tag* _tmp30_ = NULL; + Tag* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = result_paths; +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = tag; +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = tag_get_hierarchical_parent (_tmp29_); +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = _tmp30_; +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = tag_get_path (_tmp31_); +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = _tmp32_; +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection), _tmp33_); +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp33_); +#line 590 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp31_); +#line 4812 "Tag.c" + } + } +#line 593 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = result_paths; +#line 593 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = tag; +#line 593 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = tag_get_path (_tmp35_); +#line 593 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = _tmp36_; +#line 593 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_); +#line 593 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp37_); +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 4829 "Tag.c" + } +#line 576 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tag_it); +#line 4833 "Tag.c" + } +#line 596 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 596 "/home/jens/Source/shotwell/src/Tag.vala" + _result_ = _tmp38_; +#line 4839 "Tag.c" + { + GeeIterator* _path_it = NULL; + GeeSet* _tmp39_ = NULL; + GeeIterator* _tmp40_ = NULL; +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39_ = result_paths; +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _path_it = _tmp40_; +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 4852 "Tag.c" + GeeIterator* _tmp41_ = NULL; + gboolean _tmp42_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp43_ = NULL; + gpointer _tmp44_ = NULL; + TagSourceCollection* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + gboolean _tmp47_ = FALSE; +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp41_ = _path_it; +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp42_ = gee_iterator_next (_tmp41_); +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp42_) { +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 4869 "Tag.c" + } +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp43_ = _path_it; +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = gee_iterator_get (_tmp43_); +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + path = (gchar*) _tmp44_; +#line 598 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp45_ = tag_global; +#line 598 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp46_ = path; +#line 598 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp47_ = tag_source_collection_exists (_tmp45_, _tmp46_, FALSE); +#line 598 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp47_) { +#line 4885 "Tag.c" + GeeArrayList* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + Tag* _tmp50_ = NULL; + Tag* _tmp51_ = NULL; +#line 599 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp48_ = _result_; +#line 599 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp49_ = path; +#line 599 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp50_ = tag_for_path (_tmp49_); +#line 599 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp51_ = _tmp50_; +#line 599 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp51_); +#line 599 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp51_); +#line 4902 "Tag.c" + } else { + { + GeeIterator* _probed_tag_it = NULL; + GeeCollection* _tmp52_ = NULL; + GeeIterator* _tmp53_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp52_ = tags; +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp53_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _probed_tag_it = _tmp53_; +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 4916 "Tag.c" + GeeIterator* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; + Tag* probed_tag = NULL; + GeeIterator* _tmp56_ = NULL; + gpointer _tmp57_ = NULL; + Tag* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + gboolean _tmp62_ = FALSE; +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp54_ = _probed_tag_it; +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp55_ = gee_iterator_next (_tmp54_); +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp55_) { +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 4935 "Tag.c" + } +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp56_ = _probed_tag_it; +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp57_ = gee_iterator_get (_tmp56_); +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + probed_tag = (Tag*) _tmp57_; +#line 602 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp58_ = probed_tag; +#line 602 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp59_ = tag_get_path (_tmp58_); +#line 602 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp60_ = _tmp59_; +#line 602 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp61_ = path; +#line 602 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp62_ = g_strcmp0 (_tmp60_, _tmp61_) == 0; +#line 602 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp60_); +#line 602 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp62_) { +#line 4957 "Tag.c" + GeeArrayList* _tmp63_ = NULL; + Tag* _tmp64_ = NULL; +#line 603 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp63_ = _result_; +#line 603 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp64_ = probed_tag; +#line 603 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp64_); +#line 4966 "Tag.c" + } +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (probed_tag); +#line 4970 "Tag.c" + } +#line 601 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_probed_tag_it); +#line 4974 "Tag.c" + } + } +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (path); +#line 4979 "Tag.c" + } +#line 597 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_path_it); +#line 4983 "Tag.c" + } +#line 608 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_result_, GEE_TYPE_COLLECTION, GeeCollection); +#line 608 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (result_paths); +#line 608 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 4991 "Tag.c" +} + + +static gint _tag_compare_user_visible_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = tag_compare_user_visible_names ((Tag*) a, (Tag*) b); +#line 623 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5000 "Tag.c" +} + + +GeeList* tag_make_user_visible_tag_list (GeeCollection* tags) { + GeeList* result = NULL; + GeeHashSet* seen_tags = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeCollection* terminal_tags = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeArrayList* sorted_tags = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp19_ = NULL; +#line 612 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (tags), NULL); +#line 613 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 613 "/home/jens/Source/shotwell/src/Tag.vala" + seen_tags = _tmp0_; +#line 614 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tags; +#line 614 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_get_terminal_tags (_tmp1_); +#line 614 "/home/jens/Source/shotwell/src/Tag.vala" + terminal_tags = _tmp2_; +#line 615 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 615 "/home/jens/Source/shotwell/src/Tag.vala" + sorted_tags = _tmp3_; +#line 5030 "Tag.c" + { + GeeIterator* _tag_it = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = terminal_tags; +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_it = _tmp5_; +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 5043 "Tag.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + gchar* user_visible_name = NULL; + Tag* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GeeHashSet* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _tag_it; +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp7_) { +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 5063 "Tag.c" + } +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tag_it; +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + tag = (Tag*) _tmp9_; +#line 617 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = tag; +#line 617 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = tag_get_user_visible_name (_tmp10_); +#line 617 "/home/jens/Source/shotwell/src/Tag.vala" + user_visible_name = _tmp11_; +#line 618 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = seen_tags; +#line 618 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = user_visible_name; +#line 618 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_); +#line 618 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp14_) { +#line 5085 "Tag.c" + GeeArrayList* _tmp15_ = NULL; + Tag* _tmp16_ = NULL; + GeeHashSet* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 619 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = sorted_tags; +#line 619 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = tag; +#line 619 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp16_); +#line 620 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = seen_tags; +#line 620 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = user_visible_name; +#line 620 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp18_); +#line 5102 "Tag.c" + } +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (user_visible_name); +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 5108 "Tag.c" + } +#line 616 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tag_it); +#line 5112 "Tag.c" + } +#line 623 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = sorted_tags; +#line 623 "/home/jens/Source/shotwell/src/Tag.vala" + gee_list_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_LIST, GeeList), _tag_compare_user_visible_names_gcompare_data_func, NULL, NULL); +#line 624 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (sorted_tags, GEE_TYPE_LIST, GeeList); +#line 624 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (terminal_tags); +#line 624 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (seen_tags); +#line 624 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5126 "Tag.c" +} + + +gchar* tag_make_tag_markup_string (GeeList* tags, gint highlight_index) { + gchar* result = NULL; + GString* builder = NULL; + GString* _tmp0_ = NULL; + gint i = 0; + gboolean first = FALSE; + GString* _tmp27_ = NULL; + gchar* built = NULL; + GString* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 627 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (GEE_IS_LIST (tags), NULL); +#line 628 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = g_string_new (""); +#line 628 "/home/jens/Source/shotwell/src/Tag.vala" + builder = _tmp0_; +#line 629 "/home/jens/Source/shotwell/src/Tag.vala" + i = 0; +#line 630 "/home/jens/Source/shotwell/src/Tag.vala" + first = TRUE; +#line 5151 "Tag.c" + { + GeeList* _tag_list = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + gint _tag_size = 0; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tag_index = 0; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tags; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_list = _tmp2_; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tag_list; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_size = _tmp5_; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_index = -1; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 5179 "Tag.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + Tag* tag = NULL; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + gchar* tag_name = NULL; + Tag* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* esc_tag_name = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GString* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp26_ = 0; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _tag_index; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_index = _tmp6_ + 1; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _tag_index; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tag_size; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 5213 "Tag.c" + } +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = _tag_list; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tag_index; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = gee_list_get (_tmp9_, _tmp10_); +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + tag = (Tag*) _tmp11_; +#line 632 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = tag; +#line 632 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = tag_get_user_visible_name (_tmp12_); +#line 632 "/home/jens/Source/shotwell/src/Tag.vala" + tag_name = _tmp13_; +#line 633 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = tag_name; +#line 633 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = guarded_markup_escape_text (_tmp14_); +#line 633 "/home/jens/Source/shotwell/src/Tag.vala" + esc_tag_name = _tmp15_; +#line 634 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = first; +#line 634 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp16_) { +#line 635 "/home/jens/Source/shotwell/src/Tag.vala" + first = FALSE; +#line 5241 "Tag.c" + } else { + GString* _tmp17_ = NULL; +#line 637 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = builder; +#line 637 "/home/jens/Source/shotwell/src/Tag.vala" + g_string_append (_tmp17_, TAG_TAG_LIST_SEPARATOR_STRING); +#line 5248 "Tag.c" + } +#line 638 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = highlight_index; +#line 638 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = i; +#line 638 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp18_ == _tmp19_) { +#line 5256 "Tag.c" + GString* _tmp20_ = NULL; +#line 639 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = builder; +#line 639 "/home/jens/Source/shotwell/src/Tag.vala" + g_string_append (_tmp20_, ""); +#line 5262 "Tag.c" + } +#line 640 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = builder; +#line 640 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = esc_tag_name; +#line 640 "/home/jens/Source/shotwell/src/Tag.vala" + g_string_append (_tmp21_, _tmp22_); +#line 641 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = highlight_index; +#line 641 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = i; +#line 641 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp23_ == _tmp24_) { +#line 5276 "Tag.c" + GString* _tmp25_ = NULL; +#line 642 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = builder; +#line 642 "/home/jens/Source/shotwell/src/Tag.vala" + g_string_append (_tmp25_, ""); +#line 5282 "Tag.c" + } +#line 643 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = i; +#line 643 "/home/jens/Source/shotwell/src/Tag.vala" + i = _tmp26_ + 1; +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (esc_tag_name); +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (tag_name); +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 5294 "Tag.c" + } +#line 631 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tag_list); +#line 5298 "Tag.c" + } +#line 646 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = builder; +#line 646 "/home/jens/Source/shotwell/src/Tag.vala" + g_string_append (_tmp27_, ""); +#line 647 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = builder; +#line 647 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = _tmp28_->str; +#line 647 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 647 "/home/jens/Source/shotwell/src/Tag.vala" + built = _tmp30_; +#line 648 "/home/jens/Source/shotwell/src/Tag.vala" + result = built; +#line 648 "/home/jens/Source/shotwell/src/Tag.vala" + _g_string_free0 (builder); +#line 648 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5318 "Tag.c" +} + + +gchar* tag_prep_tag_name (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 653 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 654 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = name; +#line 654 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = prepare_input_text (_tmp0_, PREPARE_INPUT_TEXT_OPTIONS_DEFAULT, DEFAULT_USER_TEXT_INPUT_LENGTH); +#line 654 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp1_; +#line 654 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5336 "Tag.c" +} + + +static void _vala_array_add293 (gchar*** array, int* length, int* size, gchar* value) { +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + if ((*length) == (*size)) { +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 5347 "Tag.c" + } +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + (*array)[(*length)++] = value; +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + (*array)[*length] = NULL; +#line 5353 "Tag.c" +} + + +gchar** tag_prep_tag_names (gchar** names, int names_length1, int* result_length1) { + gchar** result = NULL; + gchar** _result_ = NULL; + gchar** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; +#line 660 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 660 "/home/jens/Source/shotwell/src/Tag.vala" + _result_ = _tmp0_; +#line 660 "/home/jens/Source/shotwell/src/Tag.vala" + _result__length1 = 0; +#line 660 "/home/jens/Source/shotwell/src/Tag.vala" + __result__size_ = _result__length1; +#line 5373 "Tag.c" + { + gint ctr = 0; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + ctr = 0; +#line 5378 "Tag.c" + { + gboolean _tmp1_ = FALSE; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = TRUE; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 5385 "Tag.c" + gint _tmp3_ = 0; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + gchar* new_name = NULL; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp1_) { +#line 5398 "Tag.c" + gint _tmp2_ = 0; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = ctr; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + ctr = _tmp2_ + 1; +#line 5404 "Tag.c" + } +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = FALSE; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = ctr; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = names; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4__length1 = names_length1; +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 5418 "Tag.c" + } +#line 663 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = names; +#line 663 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5__length1 = names_length1; +#line 663 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = ctr; +#line 663 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 663 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = tag_prep_tag_name (_tmp7_); +#line 663 "/home/jens/Source/shotwell/src/Tag.vala" + new_name = _tmp8_; +#line 664 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = new_name; +#line 664 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp9_ != NULL) { +#line 5436 "Tag.c" + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _result_; +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10__length1 = _result__length1; +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = new_name; +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 665 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_array_add293 (&_result_, &_result__length1, &__result__size_, _tmp12_); +#line 5451 "Tag.c" + } +#line 662 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_name); +#line 5455 "Tag.c" + } + } + } +#line 668 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _result_; +#line 668 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13__length1 = _result__length1; +#line 668 "/home/jens/Source/shotwell/src/Tag.vala" + if (result_length1) { +#line 668 "/home/jens/Source/shotwell/src/Tag.vala" + *result_length1 = _tmp13__length1; +#line 5467 "Tag.c" + } +#line 668 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp13_; +#line 668 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5473 "Tag.c" +} + + +static void tag_set_raw_flat_name (Tag* self, const gchar* name) { + gchar* prepped_name = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + TagRow* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + Alteration* _tmp14_ = NULL; + Alteration* _tmp15_ = NULL; + GError * _inner_error_ = NULL; +#line 671 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 671 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (name != NULL); +#line 672 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = name; +#line 672 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_prep_tag_name (_tmp0_); +#line 672 "/home/jens/Source/shotwell/src/Tag.vala" + prepped_name = _tmp1_; +#line 674 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = prepped_name; +#line 674 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp2_ != NULL, "prepped_name != null"); +#line 675 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = prepped_name; +#line 675 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = g_str_has_prefix (_tmp3_, TAG_PATH_SEPARATOR_STRING); +#line 675 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (!_tmp4_, "!prepped_name.has_prefix(Tag.PATH_SEPARATOR_STRING)"); +#line 5510 "Tag.c" + { + TagTable* _tmp5_ = NULL; + TagTable* _tmp6_ = NULL; + TagRow* _tmp7_ = NULL; + TagID _tmp8_ = {0}; + const gchar* _tmp9_ = NULL; +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = tag_table_get_instance (); +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _tmp5_; +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = self->priv->row; +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp7_->tag_id; +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = prepped_name; +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + tag_table_rename (_tmp6_, &_tmp8_, _tmp9_, &_inner_error_); +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + _database_table_unref0 (_tmp6_); +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5535 "Tag.c" + goto __catch462_database_error; + } +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prepped_name); +#line 678 "/home/jens/Source/shotwell/src/Tag.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 678 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 678 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 5546 "Tag.c" + } + } + goto __finally462; + __catch462_database_error: + { + GError* err = NULL; + GError* _tmp10_ = NULL; +#line 677 "/home/jens/Source/shotwell/src/Tag.vala" + err = _inner_error_; +#line 677 "/home/jens/Source/shotwell/src/Tag.vala" + _inner_error_ = NULL; +#line 680 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = err; +#line 680 "/home/jens/Source/shotwell/src/Tag.vala" + app_window_database_error (_tmp10_); +#line 681 "/home/jens/Source/shotwell/src/Tag.vala" + _g_error_free0 (err); +#line 681 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prepped_name); +#line 681 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 5568 "Tag.c" + } + __finally462: +#line 677 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 677 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prepped_name); +#line 677 "/home/jens/Source/shotwell/src/Tag.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 677 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 677 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 5581 "Tag.c" + } +#line 684 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = self->priv->row; +#line 684 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = prepped_name; +#line 684 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 684 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp11_->name); +#line 684 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_->name = _tmp13_; +#line 685 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (self->priv->name_collation_key); +#line 685 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->name_collation_key = NULL; +#line 687 "/home/jens/Source/shotwell/src/Tag.vala" + tag_update_indexable_keywords (self); +#line 689 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = alteration_new_from_list ("metadata:name, indexable:keywords"); +#line 689 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = _tmp14_; +#line 689 "/home/jens/Source/shotwell/src/Tag.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp15_); +#line 689 "/home/jens/Source/shotwell/src/Tag.vala" + _alteration_unref0 (_tmp15_); +#line 671 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prepped_name); +#line 5609 "Tag.c" +} + + +static void tag_set_raw_path (Tag* self, const gchar* path, gboolean suppress_notify) { + gchar* prepped_path = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + TagSourceCollection* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + TagRow* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + GError * _inner_error_ = NULL; +#line 692 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 692 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (path != NULL); +#line 693 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = path; +#line 693 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_prep_tag_name (_tmp0_); +#line 693 "/home/jens/Source/shotwell/src/Tag.vala" + prepped_path = _tmp1_; +#line 695 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = prepped_path; +#line 695 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp2_ != NULL, "prepped_path != null"); +#line 696 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = prepped_path; +#line 696 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = g_str_has_prefix (_tmp3_, TAG_PATH_SEPARATOR_STRING); +#line 696 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp4_, "prepped_path.has_prefix(Tag.PATH_SEPARATOR_STRING)"); +#line 697 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = tag_global; +#line 697 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = prepped_path; +#line 697 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = tag_source_collection_exists (_tmp5_, _tmp6_, FALSE); +#line 697 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (!_tmp7_, "!Tag.global.exists(prepped_path)"); +#line 5656 "Tag.c" + { + TagTable* _tmp8_ = NULL; + TagTable* _tmp9_ = NULL; + TagRow* _tmp10_ = NULL; + TagID _tmp11_ = {0}; + const gchar* _tmp12_ = NULL; +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = tag_table_get_instance (); +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = _tmp8_; +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = self->priv->row; +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _tmp10_->tag_id; +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = prepped_path; +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + tag_table_rename (_tmp9_, &_tmp11_, _tmp12_, &_inner_error_); +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + _database_table_unref0 (_tmp9_); +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5681 "Tag.c" + goto __catch463_database_error; + } +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prepped_path); +#line 700 "/home/jens/Source/shotwell/src/Tag.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 700 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 700 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 5692 "Tag.c" + } + } + goto __finally463; + __catch463_database_error: + { + GError* err = NULL; + GError* _tmp13_ = NULL; +#line 699 "/home/jens/Source/shotwell/src/Tag.vala" + err = _inner_error_; +#line 699 "/home/jens/Source/shotwell/src/Tag.vala" + _inner_error_ = NULL; +#line 702 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = err; +#line 702 "/home/jens/Source/shotwell/src/Tag.vala" + app_window_database_error (_tmp13_); +#line 703 "/home/jens/Source/shotwell/src/Tag.vala" + _g_error_free0 (err); +#line 703 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prepped_path); +#line 703 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 5714 "Tag.c" + } + __finally463: +#line 699 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 699 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prepped_path); +#line 699 "/home/jens/Source/shotwell/src/Tag.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 699 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 699 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 5727 "Tag.c" + } +#line 706 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = self->priv->row; +#line 706 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = prepped_path; +#line 706 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 706 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp14_->name); +#line 706 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_->name = _tmp16_; +#line 707 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (self->priv->name_collation_key); +#line 707 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->name_collation_key = NULL; +#line 709 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = suppress_notify; +#line 709 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp17_) { +#line 5747 "Tag.c" + Alteration* _tmp18_ = NULL; + Alteration* _tmp19_ = NULL; +#line 710 "/home/jens/Source/shotwell/src/Tag.vala" + tag_update_indexable_keywords (self); +#line 711 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = alteration_new_from_list ("metadata:name, indexable:keywords"); +#line 711 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = _tmp18_; +#line 711 "/home/jens/Source/shotwell/src/Tag.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp19_); +#line 711 "/home/jens/Source/shotwell/src/Tag.vala" + _alteration_unref0 (_tmp19_); +#line 5760 "Tag.c" + } +#line 692 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prepped_path); +#line 5764 "Tag.c" +} + + +static gchar* tag_real_get_typename (DataSource* base) { + Tag * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 715 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 716 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = g_strdup (TAG_TYPENAME); +#line 716 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp0_; +#line 716 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5780 "Tag.c" +} + + +static gint64 tag_real_get_instance_id (DataSource* base) { + Tag * self; + gint64 result = 0LL; + TagID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; +#line 719 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 720 "/home/jens/Source/shotwell/src/Tag.vala" + tag_get_tag_id (self, &_tmp0_); +#line 720 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_.id; +#line 720 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp1_; +#line 720 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5799 "Tag.c" +} + + +static gchar* tag_real_get_name (DataObject* base) { + Tag * self; + gchar* result = NULL; + TagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 723 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 724 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->row; +#line 724 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_->name; +#line 724 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 724 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp2_; +#line 724 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5821 "Tag.c" +} + + +gchar* tag_get_path (Tag* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 727 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 728 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 728 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp0_; +#line 728 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5836 "Tag.c" +} + + +gchar* tag_get_user_visible_name (Tag* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 731 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 732 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_get_path (self); +#line 732 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_; +#line 732 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = hierarchical_tag_utilities_get_basename (_tmp1_); +#line 732 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 732 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp1_); +#line 732 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp3_; +#line 732 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5862 "Tag.c" +} + + +gchar* tag_get_searchable_name (Tag* self) { + gchar* result = NULL; + gchar* istring = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 735 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_get_path (self); +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_; +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = hierarchical_tag_utilities_get_basename (_tmp1_); +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = g_utf8_strdown (_tmp3_, (gssize) -1); +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp3_); +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp1_); +#line 736 "/home/jens/Source/shotwell/src/Tag.vala" + istring = _tmp5_; +#line 737 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = string_remove_diacritics (istring); +#line 737 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp6_; +#line 737 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (istring); +#line 737 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 5904 "Tag.c" +} + + +void tag_flatten (Tag* self) { + Tag* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 740 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 741 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_get_hierarchical_parent (self); +#line 741 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_; +#line 741 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp1_ == NULL, "get_hierarchical_parent() == null"); +#line 741 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp1_); +#line 743 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_get_user_visible_name (self); +#line 743 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 743 "/home/jens/Source/shotwell/src/Tag.vala" + tag_set_raw_flat_name (self, _tmp3_); +#line 743 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp3_); +#line 5931 "Tag.c" +} + + +void tag_promote (Tag* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 746 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 747 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_get_path (self); +#line 747 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_; +#line 747 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = g_str_has_prefix (_tmp1_, TAG_PATH_SEPARATOR_STRING); +#line 747 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 747 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp1_); +#line 747 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp3_) { +#line 748 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 5960 "Tag.c" + } +#line 750 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_get_path (self); +#line 750 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 750 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp5_, NULL); +#line 750 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _tmp6_; +#line 750 "/home/jens/Source/shotwell/src/Tag.vala" + tag_set_raw_path (self, _tmp7_, FALSE); +#line 750 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp7_); +#line 750 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp5_); +#line 5976 "Tag.c" +} + + +Tag* tag_get_hierarchical_parent (Tag* self) { + Tag* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + GeeList* components = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gchar* parent_path = NULL; + gchar* _tmp14_ = NULL; + TagSourceCollection* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 753 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 755 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_get_path (self); +#line 755 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_; +#line 755 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = g_str_has_prefix (_tmp1_, TAG_PATH_SEPARATOR_STRING); +#line 755 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = !_tmp2_; +#line 755 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp1_); +#line 755 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp3_) { +#line 756 "/home/jens/Source/shotwell/src/Tag.vala" + result = NULL; +#line 756 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6020 "Tag.c" + } +#line 758 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_get_path (self); +#line 758 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 758 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = hierarchical_tag_utilities_enumerate_path_components (_tmp5_); +#line 758 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _tmp6_; +#line 758 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp5_); +#line 758 "/home/jens/Source/shotwell/src/Tag.vala" + components = _tmp7_; +#line 761 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = components; +#line 761 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 761 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_; +#line 761 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp10_ > 0, "components.size > 0"); +#line 763 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = components; +#line 763 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 763 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _tmp12_; +#line 763 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp13_ == 1) { +#line 764 "/home/jens/Source/shotwell/src/Tag.vala" + result = NULL; +#line 764 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (components); +#line 764 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6056 "Tag.c" + } +#line 767 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = g_strdup (""); +#line 767 "/home/jens/Source/shotwell/src/Tag.vala" + parent_path = _tmp14_; +#line 6062 "Tag.c" + { + gint i = 0; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + i = 0; +#line 6067 "Tag.c" + { + gboolean _tmp15_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = TRUE; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 6074 "Tag.c" + gint _tmp17_ = 0; + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + const gchar* _tmp21_ = NULL; + GeeList* _tmp22_ = NULL; + gint _tmp23_ = 0; + gpointer _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp15_) { +#line 6089 "Tag.c" + gint _tmp16_ = 0; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = i; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + i = _tmp16_ + 1; +#line 6095 "Tag.c" + } +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = FALSE; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = i; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = components; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = _tmp19_; +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp17_ < (_tmp20_ - 1))) { +#line 768 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 6111 "Tag.c" + } +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = parent_path; +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = components; +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = i; +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = gee_list_get (_tmp22_, _tmp23_); +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = (gchar*) _tmp24_; +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp25_, NULL); +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = _tmp26_; +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = g_strconcat (_tmp21_, _tmp27_, NULL); +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (parent_path); +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + parent_path = _tmp28_; +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp27_); +#line 769 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp25_); +#line 6137 "Tag.c" + } + } + } +#line 771 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = tag_global; +#line 771 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = parent_path; +#line 771 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = tag_source_collection_exists (_tmp29_, _tmp30_, FALSE); +#line 771 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp31_) { +#line 6149 "Tag.c" + const gchar* _tmp32_ = NULL; + Tag* _tmp33_ = NULL; +#line 772 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = parent_path; +#line 772 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = tag_for_path (_tmp32_); +#line 772 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp33_; +#line 772 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (parent_path); +#line 772 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (components); +#line 772 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6164 "Tag.c" + } else { +#line 774 "/home/jens/Source/shotwell/src/Tag.vala" + result = NULL; +#line 774 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (parent_path); +#line 774 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (components); +#line 774 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6174 "Tag.c" + } +#line 753 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (parent_path); +#line 753 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (components); +#line 6180 "Tag.c" +} + + +gint tag_get_attachment_count (Tag* self, MediaSource* source) { + gint result = 0; + MediaSource* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gint _result_ = 0; +#line 777 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), 0); +#line 777 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), 0); +#line 779 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = source; +#line 779 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_contains (self, _tmp0_); +#line 779 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp1_) { +#line 780 "/home/jens/Source/shotwell/src/Tag.vala" + result = 0; +#line 780 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6203 "Tag.c" + } +#line 783 "/home/jens/Source/shotwell/src/Tag.vala" + _result_ = 1; +#line 6207 "Tag.c" + { + GeeList* _child_list = NULL; + GeeList* _tmp2_ = NULL; + gint _child_size = 0; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _child_index = 0; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_get_hierarchical_children (self); +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _child_list = _tmp2_; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _child_list; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _child_size = _tmp5_; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _child_index = -1; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 6232 "Tag.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + Tag* child = NULL; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + Tag* _tmp12_ = NULL; + MediaSource* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _child_index; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _child_index = _tmp6_ + 1; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _child_index; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _child_size; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 6255 "Tag.c" + } +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = _child_list; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _child_index; +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = gee_list_get (_tmp9_, _tmp10_); +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + child = (Tag*) _tmp11_; +#line 787 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = child; +#line 787 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = source; +#line 787 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = tag_contains (_tmp12_, _tmp13_); +#line 787 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp14_) { +#line 6273 "Tag.c" + gint _tmp15_ = 0; +#line 788 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = _result_; +#line 788 "/home/jens/Source/shotwell/src/Tag.vala" + _result_ = _tmp15_ + 1; +#line 6279 "Tag.c" + } +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (child); +#line 6283 "Tag.c" + } +#line 786 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_child_list); +#line 6287 "Tag.c" + } +#line 790 "/home/jens/Source/shotwell/src/Tag.vala" + result = _result_; +#line 790 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6293 "Tag.c" +} + + +/** + * gets all hierarchical children of a tag recursively; tags are enumerated from most-derived + * to least-derived + */ +GeeList* tag_get_hierarchical_children (Tag* self) { + GeeList* result = NULL; + GeeArrayList* _result_ = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* result_reversed = NULL; + GeeArrayList* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + GeeTreeSet* forward_sorted_paths = NULL; + GeeTreeSet* _tmp6_ = NULL; + gchar* target_path = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 797 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 798 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 798 "/home/jens/Source/shotwell/src/Tag.vala" + _result_ = _tmp0_; +#line 799 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 799 "/home/jens/Source/shotwell/src/Tag.vala" + result_reversed = _tmp1_; +#line 802 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_get_path (self); +#line 802 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 802 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = g_str_has_prefix (_tmp3_, TAG_PATH_SEPARATOR_STRING); +#line 802 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = !_tmp4_; +#line 802 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp3_); +#line 802 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp5_) { +#line 803 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_result_, GEE_TYPE_LIST, GeeList); +#line 803 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (result_reversed); +#line 803 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6346 "Tag.c" + } +#line 807 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 807 "/home/jens/Source/shotwell/src/Tag.vala" + forward_sorted_paths = _tmp6_; +#line 809 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = tag_get_path (self); +#line 809 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp7_; +#line 809 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = g_strconcat (_tmp8_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 809 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_; +#line 809 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp8_); +#line 809 "/home/jens/Source/shotwell/src/Tag.vala" + target_path = _tmp10_; +#line 6364 "Tag.c" + { + GeeIterator* _path_it = NULL; + TagSourceCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = tag_global; +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = tag_source_collection_get_all_names (_tmp11_); +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _tmp12_; +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = _tmp14_; +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp13_); +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _path_it = _tmp15_; +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 6388 "Tag.c" + GeeIterator* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = _path_it; +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = gee_iterator_next (_tmp16_); +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp17_) { +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 6405 "Tag.c" + } +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = _path_it; +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = gee_iterator_get (_tmp18_); +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + path = (gchar*) _tmp19_; +#line 811 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = path; +#line 811 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = target_path; +#line 811 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = g_str_has_prefix (_tmp20_, _tmp21_); +#line 811 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp22_) { +#line 6421 "Tag.c" + GeeTreeSet* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 812 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = forward_sorted_paths; +#line 812 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = path; +#line 812 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp24_); +#line 6430 "Tag.c" + } +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (path); +#line 6434 "Tag.c" + } +#line 810 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_path_it); +#line 6438 "Tag.c" + } + { + GeeIterator* _tmp_it = NULL; + GeeTreeSet* _tmp25_ = NULL; + GeeIterator* _tmp26_ = NULL; +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = forward_sorted_paths; +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp_it = _tmp26_; +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 6452 "Tag.c" + GeeIterator* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gchar* tmp = NULL; + GeeIterator* _tmp29_ = NULL; + gpointer _tmp30_ = NULL; + GeeArrayList* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + Tag* _tmp33_ = NULL; + Tag* _tmp34_ = NULL; +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = _tmp_it; +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = gee_iterator_next (_tmp27_); +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp28_) { +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 6470 "Tag.c" + } +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = _tmp_it; +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = gee_iterator_get (_tmp29_); +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + tmp = (gchar*) _tmp30_; +#line 816 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = result_reversed; +#line 816 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = tmp; +#line 816 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = tag_for_path (_tmp32_); +#line 816 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = _tmp33_; +#line 816 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp34_); +#line 816 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp34_); +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (tmp); +#line 6492 "Tag.c" + } +#line 815 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp_it); +#line 6496 "Tag.c" + } + { + gint index = 0; + GeeArrayList* _tmp35_ = NULL; + gint _tmp36_ = 0; + gint _tmp37_ = 0; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = result_reversed; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = _tmp36_; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + index = _tmp37_ - 1; +#line 6511 "Tag.c" + { + gboolean _tmp38_ = FALSE; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = TRUE; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 6518 "Tag.c" + gint _tmp40_ = 0; + GeeArrayList* _tmp41_ = NULL; + GeeArrayList* _tmp42_ = NULL; + gint _tmp43_ = 0; + gpointer _tmp44_ = NULL; + Tag* _tmp45_ = NULL; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp38_) { +#line 6527 "Tag.c" + gint _tmp39_ = 0; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39_ = index; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + index = _tmp39_ - 1; +#line 6533 "Tag.c" + } +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = FALSE; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ = index; +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp40_ >= 0)) { +#line 819 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 6543 "Tag.c" + } +#line 820 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp41_ = _result_; +#line 820 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp42_ = result_reversed; +#line 820 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp43_ = index; +#line 820 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp43_); +#line 820 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp45_ = (Tag*) _tmp44_; +#line 820 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp45_); +#line 820 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp45_); +#line 6559 "Tag.c" + } + } + } +#line 823 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_result_, GEE_TYPE_LIST, GeeList); +#line 823 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (target_path); +#line 823 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (forward_sorted_paths); +#line 823 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (result_reversed); +#line 823 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6573 "Tag.c" +} + + +static gchar* tag_get_next_untitled_tag_name (const gchar* _prefix) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* prefix = NULL; + gchar* _tmp3_ = NULL; + gchar* candidate_name = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + guint64 counter = 0ULL; +#line 829 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _prefix; +#line 829 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp1_ != NULL) { +#line 6591 "Tag.c" + const gchar* _tmp2_ = NULL; +#line 829 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _prefix; +#line 829 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = _tmp2_; +#line 6597 "Tag.c" + } else { +#line 829 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = ""; +#line 6601 "Tag.c" + } +#line 829 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = g_strdup (_tmp0_); +#line 829 "/home/jens/Source/shotwell/src/Tag.vala" + prefix = _tmp3_; +#line 830 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = _ ("untitled"); +#line 830 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 830 "/home/jens/Source/shotwell/src/Tag.vala" + candidate_name = _tmp5_; +#line 831 "/home/jens/Source/shotwell/src/Tag.vala" + counter = (guint64) 0; +#line 6615 "Tag.c" + { + gboolean _tmp6_ = FALSE; +#line 832 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = TRUE; +#line 832 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 6622 "Tag.c" + gchar* _tmp8_ = NULL; + guint64 _tmp9_ = 0ULL; + gchar* path_candidate = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + TagSourceCollection* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + guint64 _tmp24_ = 0ULL; +#line 832 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp6_) { +#line 6638 "Tag.c" + guint64 _tmp7_ = 0ULL; +#line 840 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = counter; +#line 840 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp7_ < G_MAXUINT64)) { +#line 840 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 6646 "Tag.c" + } + } +#line 832 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = FALSE; +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = counter; +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp9_ == ((guint64) 0)) { +#line 6655 "Tag.c" + gchar* _tmp10_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = g_strdup (""); +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp8_); +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp10_; +#line 6663 "Tag.c" + } else { + guint64 _tmp11_ = 0ULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = counter; +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = g_strdup_printf ("%" G_GUINT64_FORMAT, _tmp11_); +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _tmp12_; +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = g_strconcat (" ", _tmp13_, NULL); +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp8_); +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp14_; +#line 834 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp13_); +#line 6683 "Tag.c" + } +#line 833 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = prefix; +#line 833 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = candidate_name; +#line 833 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = g_strconcat (_tmp15_, _tmp16_, NULL); +#line 833 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = _tmp17_; +#line 833 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = g_strconcat (_tmp18_, _tmp8_, NULL); +#line 833 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = _tmp19_; +#line 833 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp18_); +#line 833 "/home/jens/Source/shotwell/src/Tag.vala" + path_candidate = _tmp20_; +#line 836 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = tag_global; +#line 836 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = path_candidate; +#line 836 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = tag_source_collection_exists (_tmp21_, _tmp22_, FALSE); +#line 836 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp23_) { +#line 837 "/home/jens/Source/shotwell/src/Tag.vala" + result = path_candidate; +#line 837 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp8_); +#line 837 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (candidate_name); +#line 837 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prefix); +#line 837 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6719 "Tag.c" + } +#line 839 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = counter; +#line 839 "/home/jens/Source/shotwell/src/Tag.vala" + counter = _tmp24_ + 1; +#line 832 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (path_candidate); +#line 832 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp8_); +#line 6729 "Tag.c" + } + } +#line 843 "/home/jens/Source/shotwell/src/Tag.vala" + g_assert_not_reached (); +#line 828 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (candidate_name); +#line 828 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (prefix); +#line 6738 "Tag.c" +} + + +Tag* tag_create_new_child (Tag* self) { + Tag* result = NULL; + gchar* path_prefix = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + Tag* _tmp14_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 847 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_get_path (self); +#line 847 "/home/jens/Source/shotwell/src/Tag.vala" + path_prefix = _tmp0_; +#line 849 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = path_prefix; +#line 849 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = g_str_has_prefix (_tmp1_, TAG_PATH_SEPARATOR_STRING); +#line 849 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp2_) { +#line 6767 "Tag.c" + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 850 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = tag_get_path (self); +#line 850 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = _tmp3_; +#line 850 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp4_); +#line 850 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _tmp5_; +#line 850 "/home/jens/Source/shotwell/src/Tag.vala" + tag_set_raw_path (self, _tmp6_, FALSE); +#line 850 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp6_); +#line 850 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp4_); +#line 852 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = tag_get_path (self); +#line 852 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (path_prefix); +#line 852 "/home/jens/Source/shotwell/src/Tag.vala" + path_prefix = _tmp7_; +#line 6793 "Tag.c" + } +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = path_prefix; +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = g_strconcat (_tmp8_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_; +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = tag_get_next_untitled_tag_name (_tmp10_); +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = _tmp11_; +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = tag_for_path (_tmp12_); +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = _tmp13_; +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp12_); +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp10_); +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp14_; +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (path_prefix); +#line 855 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6819 "Tag.c" +} + + +Tag* tag_create_new_root (void) { + Tag* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; + Tag* _tmp3_ = NULL; +#line 859 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_get_next_untitled_tag_name (NULL); +#line 859 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_; +#line 859 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_for_path (_tmp1_); +#line 859 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 859 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp1_); +#line 859 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp3_; +#line 859 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6843 "Tag.c" +} + + +gchar* tag_get_name_collation_key (Tag* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 862 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 863 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->name_collation_key; +#line 863 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp0_ == NULL) { +#line 6858 "Tag.c" + TagRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 864 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = self->priv->row; +#line 864 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_->name; +#line 864 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = g_utf8_collate_key (_tmp2_, (gssize) -1); +#line 864 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (self->priv->name_collation_key); +#line 864 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->name_collation_key = _tmp3_; +#line 6872 "Tag.c" + } +#line 866 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = self->priv->name_collation_key; +#line 866 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 866 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp5_; +#line 866 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6882 "Tag.c" +} + + +static gchar* tag_real_to_string (DataObject* base) { + Tag * self; + gchar* result = NULL; + TagRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; +#line 869 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 870 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->row; +#line 870 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_->name; +#line 870 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = self->priv->media_views; +#line 870 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection)); +#line 870 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = g_strdup_printf ("Tag %s (%d sources)", _tmp1_, _tmp3_); +#line 870 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp4_; +#line 870 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6910 "Tag.c" +} + + +static gboolean tag_real_equals (DataSource* base, DataSource* source) { + Tag * self; + gboolean result = FALSE; + Tag* tag = NULL; + DataSource* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; + DataSource* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 873 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 873 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail ((source == NULL) || IS_DATA_SOURCE (source), FALSE); +#line 875 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = source; +#line 875 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_TAG) ? ((Tag*) _tmp0_) : NULL); +#line 875 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp1_; +#line 876 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag; +#line 876 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp2_ != NULL) { +#line 6937 "Tag.c" + Tag* _tmp3_ = NULL; +#line 877 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = tag; +#line 877 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp3_ != self) { +#line 6943 "Tag.c" + Tag* _tmp4_ = NULL; + TagRow* _tmp5_ = NULL; + TagID _tmp6_ = {0}; + gint64 _tmp7_ = 0LL; + TagRow* _tmp8_ = NULL; + TagID _tmp9_ = {0}; + gint64 _tmp10_ = 0LL; +#line 878 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag; +#line 878 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_->priv->row; +#line 878 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _tmp5_->tag_id; +#line 878 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _tmp6_.id; +#line 878 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = self->priv->row; +#line 878 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = _tmp8_->tag_id; +#line 878 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_.id; +#line 878 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp7_ != _tmp10_, "tag.row.tag_id.id != row.tag_id.id"); +#line 6967 "Tag.c" + } + } +#line 882 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = source; +#line 882 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = DATA_SOURCE_CLASS (tag_parent_class)->equals (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), _tmp11_); +#line 882 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp12_; +#line 882 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (tag); +#line 882 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 6980 "Tag.c" +} + + +void tag_get_tag_id (Tag* self, TagID* result) { + TagRow* _tmp0_ = NULL; + TagID _tmp1_ = {0}; +#line 885 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 886 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->row; +#line 886 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_->tag_id; +#line 886 "/home/jens/Source/shotwell/src/Tag.vala" + *result = _tmp1_; +#line 886 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 6997 "Tag.c" +} + + +static SourceSnapshot* tag_real_save_snapshot (DataSource* base) { + Tag * self; + SourceSnapshot* result = NULL; + TagTagSnapshot* _tmp0_ = NULL; +#line 889 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 890 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_tag_snapshot_new (self); +#line 890 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_SNAPSHOT, SourceSnapshot); +#line 890 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 7013 "Tag.c" +} + + +static SourceProxy* tag_real_get_proxy (Proxyable* base) { + Tag * self; + SourceProxy* result = NULL; + TagTagProxy* _tmp0_ = NULL; +#line 893 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 894 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_tag_proxy_new (self); +#line 894 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_PROXY, SourceProxy); +#line 894 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 7029 "Tag.c" +} + + +Tag* tag_reconstitute (gint64 object_id, TagRow* row) { + Tag* result = NULL; + Tag* tag = NULL; + TagRow* _tmp8_ = NULL; + gint64 _tmp9_ = 0LL; + Tag* _tmp10_ = NULL; + TagSourceCollection* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 897 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG_ROW (row), NULL); +#line 7045 "Tag.c" + { + TagID _tmp0_ = {0}; + TagTable* _tmp1_ = NULL; + TagTable* _tmp2_ = NULL; + TagRow* _tmp3_ = NULL; + TagID _tmp4_ = {0}; + TagID _tmp5_ = {0}; + TagRow* _tmp6_ = NULL; +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_table_get_instance (); +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = row; +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + tag_table_create_from_row (_tmp2_, _tmp3_, &_tmp4_, &_inner_error_); +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + _database_table_unref0 (_tmp2_); +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = _tmp5_; +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 7072 "Tag.c" + goto __catch464_database_error; + } +#line 900 "/home/jens/Source/shotwell/src/Tag.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 900 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + return NULL; +#line 7081 "Tag.c" + } +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = row; +#line 900 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_->tag_id = _tmp0_; +#line 7087 "Tag.c" + } + goto __finally464; + __catch464_database_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; +#line 899 "/home/jens/Source/shotwell/src/Tag.vala" + err = _inner_error_; +#line 899 "/home/jens/Source/shotwell/src/Tag.vala" + _inner_error_ = NULL; +#line 902 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = err; +#line 902 "/home/jens/Source/shotwell/src/Tag.vala" + app_window_database_error (_tmp7_); +#line 899 "/home/jens/Source/shotwell/src/Tag.vala" + _g_error_free0 (err); +#line 7104 "Tag.c" + } + __finally464: +#line 899 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 899 "/home/jens/Source/shotwell/src/Tag.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 899 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 899 "/home/jens/Source/shotwell/src/Tag.vala" + return NULL; +#line 7115 "Tag.c" + } +#line 905 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = row; +#line 905 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = object_id; +#line 905 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = tag_new (_tmp8_, _tmp9_); +#line 905 "/home/jens/Source/shotwell/src/Tag.vala" + tag = _tmp10_; +#line 906 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = tag_global; +#line 906 "/home/jens/Source/shotwell/src/Tag.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_DATA_OBJECT, DataObject)); +#line 908 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_DATA_OBJECT, DataObject)); +#line 908 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _tmp12_; +#line 908 "/home/jens/Source/shotwell/src/Tag.vala" + g_debug ("Tag.vala:908: Reconstituted %s", _tmp13_); +#line 908 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp13_); +#line 910 "/home/jens/Source/shotwell/src/Tag.vala" + result = tag; +#line 910 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 7141 "Tag.c" +} + + +static gboolean tag_real_has_links (ContainerSource* base) { + Tag * self; + gboolean result = FALSE; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + SourceBacklink* _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 913 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 914 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = library_photo_global; +#line 914 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = container_source_get_backlink (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource)); +#line 914 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 914 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = source_collection_has_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp2_); +#line 914 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = _tmp3_; +#line 914 "/home/jens/Source/shotwell/src/Tag.vala" + _source_backlink_unref0 (_tmp2_); +#line 914 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp4_; +#line 914 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 7171 "Tag.c" +} + + +static SourceBacklink* tag_real_get_backlink (ContainerSource* base) { + Tag * self; + SourceBacklink* result = NULL; + SourceBacklink* _tmp0_ = NULL; +#line 917 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 918 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = source_backlink_new_from_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 918 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp0_; +#line 918 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 7187 "Tag.c" +} + + +static void tag_real_break_link (ContainerSource* base, DataSource* source) { + Tag * self; + DataSource* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 921 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 922 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->unlinking = TRUE; +#line 924 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = source; +#line 924 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_detach (self, G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 924 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 924 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp2_); +#line 926 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->unlinking = FALSE; +#line 7212 "Tag.c" +} + + +static void tag_real_break_link_many (ContainerSource* base, GeeCollection* sources) { + Tag * self; + GeeCollection* _tmp0_ = NULL; + GeeMultiMap* _tmp1_ = NULL; + GeeMultiMap* _tmp2_ = NULL; +#line 929 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 929 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 930 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->unlinking = TRUE; +#line 932 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = sources; +#line 932 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_detach_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 932 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 932 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp2_); +#line 934 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->unlinking = FALSE; +#line 7237 "Tag.c" +} + + +static void tag_real_establish_link (ContainerSource* base, DataSource* source) { + Tag * self; + DataSource* _tmp0_ = NULL; +#line 937 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 937 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 938 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->relinking = TRUE; +#line 940 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = source; +#line 940 "/home/jens/Source/shotwell/src/Tag.vala" + tag_attach (self, G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource)); +#line 942 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->relinking = FALSE; +#line 7256 "Tag.c" +} + + +static void tag_real_establish_link_many (ContainerSource* base, GeeCollection* sources) { + Tag * self; + GeeCollection* _tmp0_ = NULL; +#line 945 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 945 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 946 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->relinking = TRUE; +#line 948 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = sources; +#line 948 "/home/jens/Source/shotwell/src/Tag.vala" + tag_attach_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 950 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->relinking = FALSE; +#line 7275 "Tag.c" +} + + +static void tag_update_indexable_keywords (Tag* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 953 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 954 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_get_searchable_name (self); +#line 954 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_; +#line 954 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = indexable_prepare_indexable_string (_tmp1_); +#line 954 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (self->priv->indexable_keywords); +#line 954 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->indexable_keywords = _tmp2_; +#line 954 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp1_); +#line 7297 "Tag.c" +} + + +static const gchar* tag_real_get_indexable_keywords (Indexable* base) { + Tag * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 958 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->indexable_keywords; +#line 958 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp0_; +#line 958 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 7313 "Tag.c" +} + + +void tag_attach (Tag* self, MediaSource* source) { + Tag* attach_to = NULL; + Tag* _tmp0_ = NULL; +#line 961 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 961 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_MEDIA_SOURCE (source)); +#line 962 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = _g_object_ref0 (self); +#line 962 "/home/jens/Source/shotwell/src/Tag.vala" + attach_to = _tmp0_; +#line 963 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 7330 "Tag.c" + Tag* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + Tag* _tmp11_ = NULL; + Tag* _tmp12_ = NULL; +#line 963 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = attach_to; +#line 963 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp1_ != NULL)) { +#line 963 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 7344 "Tag.c" + } +#line 964 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = attach_to; +#line 964 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_->priv->media_views; +#line 964 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = source; +#line 964 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = view_collection_has_view_for_source (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource)); +#line 964 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp5_) { +#line 7356 "Tag.c" + Tag* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + ThumbnailView* _tmp9_ = NULL; + ThumbnailView* _tmp10_ = NULL; +#line 965 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = attach_to; +#line 965 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _tmp6_->priv->media_views; +#line 965 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = source; +#line 965 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 965 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_; +#line 965 "/home/jens/Source/shotwell/src/Tag.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 965 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp10_); +#line 7376 "Tag.c" + } +#line 968 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = attach_to; +#line 968 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = tag_get_hierarchical_parent (_tmp11_); +#line 968 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (attach_to); +#line 968 "/home/jens/Source/shotwell/src/Tag.vala" + attach_to = _tmp12_; +#line 7386 "Tag.c" + } +#line 961 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (attach_to); +#line 7390 "Tag.c" +} + + +void tag_attach_many (Tag* self, GeeCollection* sources) { + Tag* attach_to = NULL; + Tag* _tmp0_ = NULL; +#line 972 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 972 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 973 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = _g_object_ref0 (self); +#line 973 "/home/jens/Source/shotwell/src/Tag.vala" + attach_to = _tmp0_; +#line 974 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 7407 "Tag.c" + Tag* _tmp1_ = NULL; + GeeArrayList* view_list = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + Tag* _tmp25_ = NULL; + Tag* _tmp26_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = attach_to; +#line 974 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp1_ != NULL)) { +#line 974 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 7422 "Tag.c" + } +#line 975 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = gee_array_list_new (TYPE_THUMBNAIL_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 975 "/home/jens/Source/shotwell/src/Tag.vala" + view_list = _tmp2_; +#line 7428 "Tag.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = sources; +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _source_it = _tmp4_; +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 7441 "Tag.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _source_it; +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp6_) { +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 7459 "Tag.c" + } +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _source_it; +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + source = (MediaSource*) _tmp8_; +#line 977 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = attach_to; +#line 977 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_->priv->media_views; +#line 977 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = source; +#line 977 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = view_collection_has_view_for_source (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_SOURCE, DataSource)); +#line 977 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp12_) { +#line 7477 "Tag.c" + GeeArrayList* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + ThumbnailView* _tmp15_ = NULL; + ThumbnailView* _tmp16_ = NULL; +#line 978 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = view_list; +#line 978 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = source; +#line 978 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 978 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = _tmp15_; +#line 978 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp16_); +#line 978 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp16_); +#line 7494 "Tag.c" + } +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source); +#line 7498 "Tag.c" + } +#line 976 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_source_it); +#line 7502 "Tag.c" + } +#line 981 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = view_list; +#line 981 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 981 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = _tmp18_; +#line 981 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp19_ > 0) { +#line 7512 "Tag.c" + Tag* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + GeeArrayList* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; +#line 982 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = attach_to; +#line 982 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = _tmp20_->priv->media_views; +#line 982 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = view_list; +#line 982 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 982 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = _tmp23_; +#line 982 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp24_); +#line 7530 "Tag.c" + } +#line 984 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = attach_to; +#line 984 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = tag_get_hierarchical_parent (_tmp25_); +#line 984 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (attach_to); +#line 984 "/home/jens/Source/shotwell/src/Tag.vala" + attach_to = _tmp26_; +#line 974 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (view_list); +#line 7542 "Tag.c" + } +#line 972 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (attach_to); +#line 7546 "Tag.c" +} + + +GeeList* tag_detach (Tag* self, MediaSource* source) { + GeeList* result = NULL; + DataView* this_view = NULL; + ViewCollection* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + DataView* _tmp3_ = NULL; + GeeList* detached_from = NULL; + GeeArrayList* _tmp4_ = NULL; + ViewCollection* _tmp29_ = NULL; + ViewCollection* _tmp30_ = NULL; + DataView* _tmp31_ = NULL; + Marker* _tmp32_ = NULL; + Marker* _tmp33_ = NULL; + GeeList* _tmp34_ = NULL; +#line 991 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 991 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); +#line 992 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->media_views; +#line 992 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = source; +#line 992 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = view_collection_get_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource)); +#line 992 "/home/jens/Source/shotwell/src/Tag.vala" + this_view = _tmp2_; +#line 993 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = this_view; +#line 993 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp3_ == NULL) { +#line 994 "/home/jens/Source/shotwell/src/Tag.vala" + result = NULL; +#line 994 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (this_view); +#line 994 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 7587 "Tag.c" + } +#line 996 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 996 "/home/jens/Source/shotwell/src/Tag.vala" + detached_from = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList); +#line 7593 "Tag.c" + { + GeeList* _child_tag_list = NULL; + GeeList* _tmp5_ = NULL; + gint _child_tag_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _child_tag_index = 0; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = tag_get_hierarchical_children (self); +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _child_tag_list = _tmp5_; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _child_tag_list; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp7_; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _child_tag_size = _tmp8_; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _child_tag_index = -1; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 7618 "Tag.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + Tag* child_tag = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + DataView* child_view = NULL; + Tag* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + MediaSource* _tmp17_ = NULL; + DataView* _tmp18_ = NULL; + DataView* _tmp19_ = NULL; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = _child_tag_index; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _child_tag_index = _tmp9_ + 1; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _child_tag_index; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _child_tag_size; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 7644 "Tag.c" + } +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = _child_tag_list; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = _child_tag_index; +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + child_tag = (Tag*) _tmp14_; +#line 999 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = child_tag; +#line 999 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = _tmp15_->priv->media_views; +#line 999 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = source; +#line 999 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = view_collection_get_view_for_source (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_SOURCE, DataSource)); +#line 999 "/home/jens/Source/shotwell/src/Tag.vala" + child_view = _tmp18_; +#line 1000 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = child_view; +#line 1000 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp19_ != NULL) { +#line 7668 "Tag.c" + Tag* _tmp20_ = NULL; + ViewCollection* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; + ViewCollection* _tmp23_ = NULL; + DataView* _tmp24_ = NULL; + Marker* _tmp25_ = NULL; + Marker* _tmp26_ = NULL; + GeeList* _tmp27_ = NULL; + Tag* _tmp28_ = NULL; +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = child_tag; +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = _tmp20_->priv->media_views; +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = child_tag; +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = _tmp22_->priv->media_views; +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = child_view; +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_OBJECT, DataObject)); +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = _tmp25_; +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection), _tmp26_); +#line 1001 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp26_); +#line 1002 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = detached_from; +#line 1002 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = child_tag; +#line 1002 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection), _tmp28_); +#line 7702 "Tag.c" + } +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (child_view); +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (child_tag); +#line 7708 "Tag.c" + } +#line 998 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_child_tag_list); +#line 7712 "Tag.c" + } +#line 1006 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = self->priv->media_views; +#line 1006 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = self->priv->media_views; +#line 1006 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = this_view; +#line 1006 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_OBJECT, DataObject)); +#line 1006 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = _tmp32_; +#line 1006 "/home/jens/Source/shotwell/src/Tag.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_COLLECTION, DataCollection), _tmp33_); +#line 1006 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp33_); +#line 1007 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = detached_from; +#line 1007 "/home/jens/Source/shotwell/src/Tag.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection), self); +#line 1009 "/home/jens/Source/shotwell/src/Tag.vala" + result = detached_from; +#line 1009 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (this_view); +#line 1009 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 7738 "Tag.c" +} + + +GeeMultiMap* tag_detach_many (Tag* self, GeeCollection* sources) { + GeeMultiMap* result = NULL; + GeeMultiMap* detached_from = NULL; + GeeHashMultiMap* _tmp0_ = NULL; + Marker* marker = NULL; + ViewCollection* _tmp1_ = NULL; + Marker* _tmp2_ = NULL; + ViewCollection* _tmp42_ = NULL; + Marker* _tmp43_ = NULL; + GeeMultiMap* _tmp44_ = NULL; + GeeMultiMap* _tmp45_ = NULL; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + GeeMultiMap* _tmp49_ = NULL; +#line 1015 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 1015 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (sources), NULL); +#line 1016 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = gee_hash_multi_map_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1016 "/home/jens/Source/shotwell/src/Tag.vala" + detached_from = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 1018 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = self->priv->media_views; +#line 1018 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1018 "/home/jens/Source/shotwell/src/Tag.vala" + marker = _tmp2_; +#line 7770 "Tag.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = sources; +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _source_it = _tmp4_; +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 7783 "Tag.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DataView* view = NULL; + ViewCollection* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + DataView* _tmp12_ = NULL; + Marker* _tmp38_ = NULL; + DataView* _tmp39_ = NULL; + GeeMultiMap* _tmp40_ = NULL; + MediaSource* _tmp41_ = NULL; +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _source_it; +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp6_) { +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 7806 "Tag.c" + } +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _source_it; +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + source = (MediaSource*) _tmp8_; +#line 1020 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = self->priv->media_views; +#line 1020 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = source; +#line 1020 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = view_collection_get_view_for_source (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_SOURCE, DataSource)); +#line 1020 "/home/jens/Source/shotwell/src/Tag.vala" + view = _tmp11_; +#line 1021 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = view; +#line 1021 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp12_ == NULL) { +#line 1022 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (view); +#line 1022 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source); +#line 1022 "/home/jens/Source/shotwell/src/Tag.vala" + continue; +#line 7832 "Tag.c" + } + { + GeeList* _child_tag_list = NULL; + GeeList* _tmp13_ = NULL; + gint _child_tag_size = 0; + GeeList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _child_tag_index = 0; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = tag_get_hierarchical_children (self); +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _child_tag_list = _tmp13_; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = _child_tag_list; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = _tmp15_; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _child_tag_size = _tmp16_; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _child_tag_index = -1; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 7858 "Tag.c" + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + Tag* child_tag = NULL; + GeeList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gpointer _tmp22_ = NULL; + DataView* child_view = NULL; + Tag* _tmp23_ = NULL; + ViewCollection* _tmp24_ = NULL; + MediaSource* _tmp25_ = NULL; + DataView* _tmp26_ = NULL; + DataView* _tmp27_ = NULL; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = _child_tag_index; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _child_tag_index = _tmp17_ + 1; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = _child_tag_index; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = _child_tag_size; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + if (!(_tmp18_ < _tmp19_)) { +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 7884 "Tag.c" + } +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = _child_tag_list; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = _child_tag_index; +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = gee_list_get (_tmp20_, _tmp21_); +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + child_tag = (Tag*) _tmp22_; +#line 1025 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = child_tag; +#line 1025 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = _tmp23_->priv->media_views; +#line 1025 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = source; +#line 1025 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = view_collection_get_view_for_source (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_SOURCE, DataSource)); +#line 1025 "/home/jens/Source/shotwell/src/Tag.vala" + child_view = _tmp26_; +#line 1026 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = child_view; +#line 1026 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp27_ != NULL) { +#line 7908 "Tag.c" + Tag* _tmp28_ = NULL; + ViewCollection* _tmp29_ = NULL; + Tag* _tmp30_ = NULL; + ViewCollection* _tmp31_ = NULL; + DataView* _tmp32_ = NULL; + Marker* _tmp33_ = NULL; + Marker* _tmp34_ = NULL; + GeeMultiMap* _tmp35_ = NULL; + Tag* _tmp36_ = NULL; + MediaSource* _tmp37_ = NULL; +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = child_tag; +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = _tmp28_->priv->media_views; +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = child_tag; +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = _tmp30_->priv->media_views; +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = child_view; +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_OBJECT, DataObject)); +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = _tmp33_; +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_COLLECTION, DataCollection), _tmp34_); +#line 1027 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp34_); +#line 1028 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = detached_from; +#line 1028 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = child_tag; +#line 1028 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = source; +#line 1028 "/home/jens/Source/shotwell/src/Tag.vala" + gee_multi_map_set (_tmp35_, _tmp36_, _tmp37_); +#line 7945 "Tag.c" + } +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (child_view); +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (child_tag); +#line 7951 "Tag.c" + } +#line 1024 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_child_tag_list); +#line 7955 "Tag.c" + } +#line 1032 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = marker; +#line 1032 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39_ = view; +#line 1032 "/home/jens/Source/shotwell/src/Tag.vala" + marker_mark (_tmp38_, G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_DATA_OBJECT, DataObject)); +#line 1033 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ = detached_from; +#line 1033 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp41_ = source; +#line 1033 "/home/jens/Source/shotwell/src/Tag.vala" + gee_multi_map_set (_tmp40_, self, _tmp41_); +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (view); +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source); +#line 7973 "Tag.c" + } +#line 1019 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_source_it); +#line 7977 "Tag.c" + } +#line 1036 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp42_ = self->priv->media_views; +#line 1036 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp43_ = marker; +#line 1036 "/home/jens/Source/shotwell/src/Tag.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_DATA_COLLECTION, DataCollection), _tmp43_); +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp45_ = detached_from; +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp46_ = gee_multi_map_get_size (_tmp45_); +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp47_ = _tmp46_; +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp47_ > 0) { +#line 7993 "Tag.c" + GeeMultiMap* _tmp48_ = NULL; +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp48_ = detached_from; +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = _tmp48_; +#line 7999 "Tag.c" + } else { +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = NULL; +#line 8003 "Tag.c" + } +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp49_ = _g_object_ref0 (_tmp44_); +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp49_; +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (marker); +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (detached_from); +#line 1038 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8015 "Tag.c" +} + + +static gint string_index_of (const gchar* self, const gchar* needle, gint start_index) { + gint result = 0; + gchar* _result_ = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 987 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 987 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, 0); +#line 988 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = start_index; +#line 988 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = needle; +#line 988 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = strstr (((gchar*) self) + _tmp0_, (gchar*) _tmp1_); +#line 988 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp2_; +#line 990 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = _result_; +#line 990 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 8042 "Tag.c" + gchar* _tmp4_ = NULL; +#line 991 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _result_; +#line 991 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gint) (_tmp4_ - ((gchar*) self)); +#line 991 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 8050 "Tag.c" + } else { +#line 993 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = -1; +#line 993 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 8056 "Tag.c" + } +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 8080 "Tag.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 8088 "Tag.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 8100 "Tag.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 8124 "Tag.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 8130 "Tag.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 8134 "Tag.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 8138 "Tag.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 8150 "Tag.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 8160 "Tag.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 8166 "Tag.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 8180 "Tag.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 8190 "Tag.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 8196 "Tag.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 8205 "Tag.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 8225 "Tag.c" +} + + +gboolean tag_rename (Tag* self, const gchar* name) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gchar* new_name = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 1042 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), FALSE); +#line 1042 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (name != NULL, FALSE); +#line 1043 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = name; +#line 1043 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_get_user_visible_name (self); +#line 1043 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 1043 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = g_strcmp0 (_tmp0_, _tmp2_) == 0; +#line 1043 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp2_); +#line 1043 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp3_) { +#line 1044 "/home/jens/Source/shotwell/src/Tag.vala" + result = TRUE; +#line 1044 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8263 "Tag.c" + } +#line 1046 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = name; +#line 1046 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = tag_prep_tag_name (_tmp4_); +#line 1046 "/home/jens/Source/shotwell/src/Tag.vala" + new_name = _tmp5_; +#line 1047 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = new_name; +#line 1047 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp6_ == NULL) { +#line 1048 "/home/jens/Source/shotwell/src/Tag.vala" + result = FALSE; +#line 1048 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_name); +#line 1048 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8281 "Tag.c" + } +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = tag_get_path (self); +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _tmp7_; +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = g_str_has_prefix (_tmp8_, TAG_PATH_SEPARATOR_STRING); +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _tmp9_; +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp8_); +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp10_) { +#line 8295 "Tag.c" + gchar* new_path = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* old_path = NULL; + gchar* _tmp13_ = NULL; + Tag* parent = NULL; + Tag* _tmp14_ = NULL; + Tag* _tmp15_ = NULL; + TagSourceCollection* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + GeeCollection* children = NULL; + GeeList* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + Alteration* _tmp53_ = NULL; + Alteration* _tmp54_ = NULL; +#line 1052 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = new_name; +#line 1052 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 1052 "/home/jens/Source/shotwell/src/Tag.vala" + new_path = _tmp12_; +#line 1053 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = tag_get_path (self); +#line 1053 "/home/jens/Source/shotwell/src/Tag.vala" + old_path = _tmp13_; +#line 1055 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = tag_get_hierarchical_parent (self); +#line 1055 "/home/jens/Source/shotwell/src/Tag.vala" + parent = _tmp14_; +#line 1056 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = parent; +#line 1056 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp15_ != NULL) { +#line 8330 "Tag.c" + Tag* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = parent; +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = tag_get_path (_tmp16_); +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = _tmp17_; +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = g_strconcat (_tmp18_, TAG_PATH_SEPARATOR_STRING, NULL); +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = _tmp19_; +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = new_path; +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = g_strconcat (_tmp20_, _tmp21_, NULL); +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_path); +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + new_path = _tmp22_; +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp20_); +#line 1057 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp18_); +#line 8360 "Tag.c" + } else { + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 1059 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = new_path; +#line 1059 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp23_, NULL); +#line 1059 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_path); +#line 1059 "/home/jens/Source/shotwell/src/Tag.vala" + new_path = _tmp24_; +#line 8372 "Tag.c" + } +#line 1062 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = tag_global; +#line 1062 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = new_path; +#line 1062 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = tag_source_collection_exists (_tmp25_, _tmp26_, TRUE); +#line 1062 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp27_) { +#line 1063 "/home/jens/Source/shotwell/src/Tag.vala" + result = FALSE; +#line 1063 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (parent); +#line 1063 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (old_path); +#line 1063 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_path); +#line 1063 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_name); +#line 1063 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8394 "Tag.c" + } +#line 1065 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = tag_get_hierarchical_children (self); +#line 1065 "/home/jens/Source/shotwell/src/Tag.vala" + children = G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1067 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = new_path; +#line 1067 "/home/jens/Source/shotwell/src/Tag.vala" + tag_set_raw_path (self, _tmp29_, TRUE); +#line 8404 "Tag.c" + { + GeeIterator* _child_it = NULL; + GeeCollection* _tmp30_ = NULL; + GeeIterator* _tmp31_ = NULL; +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = children; +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _child_it = _tmp31_; +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 8417 "Tag.c" + GeeIterator* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + Tag* child = NULL; + GeeIterator* _tmp34_ = NULL; + gpointer _tmp35_ = NULL; + gchar* old_child_path = NULL; + Tag* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gint old_path_index = 0; + const gchar* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + gchar* child_subpath = NULL; + const gchar* _tmp42_ = NULL; + gint _tmp43_ = 0; + const gchar* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gchar* _tmp47_ = NULL; + gchar* new_child_path = NULL; + const gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + Tag* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = _child_it; +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = gee_iterator_next (_tmp32_); +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp33_) { +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 8452 "Tag.c" + } +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = _child_it; +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = gee_iterator_get (_tmp34_); +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + child = (Tag*) _tmp35_; +#line 1072 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = child; +#line 1072 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = tag_get_path (_tmp36_); +#line 1072 "/home/jens/Source/shotwell/src/Tag.vala" + old_child_path = _tmp37_; +#line 1076 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = old_child_path; +#line 1076 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39_ = old_path; +#line 1076 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ = string_index_of (_tmp38_, _tmp39_, 0); +#line 1076 "/home/jens/Source/shotwell/src/Tag.vala" + old_path_index = _tmp40_; +#line 1077 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp41_ = old_path_index; +#line 1077 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp41_ != -1, "old_path_index != -1"); +#line 1079 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp42_ = old_child_path; +#line 1079 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp43_ = old_path_index; +#line 1079 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = old_path; +#line 1079 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp45_ = strlen (_tmp44_); +#line 1079 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp46_ = _tmp45_; +#line 1079 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp47_ = string_substring (_tmp42_, (glong) (_tmp43_ + _tmp46_), (glong) -1); +#line 1079 "/home/jens/Source/shotwell/src/Tag.vala" + child_subpath = _tmp47_; +#line 1081 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp48_ = new_path; +#line 1081 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp49_ = child_subpath; +#line 1081 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp50_ = g_strconcat (_tmp48_, _tmp49_, NULL); +#line 1081 "/home/jens/Source/shotwell/src/Tag.vala" + new_child_path = _tmp50_; +#line 1083 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp51_ = child; +#line 1083 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp52_ = new_child_path; +#line 1083 "/home/jens/Source/shotwell/src/Tag.vala" + tag_set_raw_path (_tmp51_, _tmp52_, TRUE); +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_child_path); +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (child_subpath); +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (old_child_path); +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (child); +#line 8514 "Tag.c" + } +#line 1069 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_child_it); +#line 8518 "Tag.c" + } +#line 1086 "/home/jens/Source/shotwell/src/Tag.vala" + tag_update_indexable_keywords (self); +#line 1087 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp53_ = alteration_new_from_list ("metadata:name, indexable:keywords"); +#line 1087 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp54_ = _tmp53_; +#line 1087 "/home/jens/Source/shotwell/src/Tag.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp54_); +#line 1087 "/home/jens/Source/shotwell/src/Tag.vala" + _alteration_unref0 (_tmp54_); +#line 8530 "Tag.c" + { + GeeIterator* _child_it = NULL; + GeeCollection* _tmp55_ = NULL; + GeeIterator* _tmp56_ = NULL; +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp55_ = children; +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp56_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _child_it = _tmp56_; +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 8543 "Tag.c" + GeeIterator* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; + Tag* child = NULL; + GeeIterator* _tmp59_ = NULL; + gpointer _tmp60_ = NULL; + Tag* _tmp61_ = NULL; + Alteration* _tmp62_ = NULL; + Alteration* _tmp63_ = NULL; +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp57_ = _child_it; +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp58_ = gee_iterator_next (_tmp57_); +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp58_) { +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 8560 "Tag.c" + } +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp59_ = _child_it; +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp60_ = gee_iterator_get (_tmp59_); +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + child = (Tag*) _tmp60_; +#line 1089 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp61_ = child; +#line 1089 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp62_ = alteration_new_from_list ("metadata:name, indexable:keywords"); +#line 1089 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp63_ = _tmp62_; +#line 1089 "/home/jens/Source/shotwell/src/Tag.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, TYPE_DATA_OBJECT, DataObject), _tmp63_); +#line 1089 "/home/jens/Source/shotwell/src/Tag.vala" + _alteration_unref0 (_tmp63_); +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (child); +#line 8580 "Tag.c" + } +#line 1088 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_child_it); +#line 8584 "Tag.c" + } +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (children); +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (parent); +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (old_path); +#line 1051 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_path); +#line 8594 "Tag.c" + } else { + TagSourceCollection* _tmp64_ = NULL; + const gchar* _tmp65_ = NULL; + gboolean _tmp66_ = FALSE; + const gchar* _tmp67_ = NULL; +#line 1093 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp64_ = tag_global; +#line 1093 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp65_ = new_name; +#line 1093 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp66_ = tag_source_collection_exists (_tmp64_, _tmp65_, TRUE); +#line 1093 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp66_) { +#line 1094 "/home/jens/Source/shotwell/src/Tag.vala" + result = FALSE; +#line 1094 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_name); +#line 1094 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8614 "Tag.c" + } +#line 1096 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp67_ = new_name; +#line 1096 "/home/jens/Source/shotwell/src/Tag.vala" + tag_set_raw_flat_name (self, _tmp67_); +#line 8620 "Tag.c" + } +#line 1099 "/home/jens/Source/shotwell/src/Tag.vala" + result = TRUE; +#line 1099 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (new_name); +#line 1099 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8628 "Tag.c" +} + + +gboolean tag_contains (Tag* self, MediaSource* source) { + gboolean result = FALSE; + ViewCollection* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1102 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), FALSE); +#line 1102 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 1103 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->media_views; +#line 1103 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = source; +#line 1103 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = view_collection_has_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource)); +#line 1103 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp2_; +#line 1103 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8651 "Tag.c" +} + + +gint tag_get_sources_count (Tag* self) { + gint result = 0; + ViewCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 1106 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), 0); +#line 1107 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->media_views; +#line 1107 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1107 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp1_; +#line 1107 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8669 "Tag.c" +} + + +GeeCollection* tag_get_sources (Tag* self) { + GeeCollection* result = NULL; + ViewCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 1110 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (self), NULL); +#line 1111 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->media_views; +#line 1111 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = view_collection_get_sources (_tmp0_); +#line 1111 "/home/jens/Source/shotwell/src/Tag.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1111 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 8687 "Tag.c" +} + + +void tag_mirror_sources (Tag* self, ViewCollection* view, CreateView mirroring_ctor, void* mirroring_ctor_target) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + CreateView _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 1114 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 1114 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_VIEW_COLLECTION (view)); +#line 1115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = view; +#line 1115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = self->priv->media_views; +#line 1115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = mirroring_ctor; +#line 1115 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2__target = mirroring_ctor_target; +#line 1115 "/home/jens/Source/shotwell/src/Tag.vala" + view_collection_mirror (_tmp0_, _tmp1_, _tmp2_, _tmp2__target, NULL, NULL); +#line 8710 "Tag.c" +} + + +static void tag_on_media_views_contents_altered (Tag* self, GeeIterable* added, GeeIterable* removed) { + GeeCollection* added_sources = NULL; + GeeIterable* _tmp0_ = NULL; + GeeCollection* removed_sources = NULL; + GeeIterable* _tmp29_ = NULL; + GeeCollection* _tmp58_ = NULL; + GeeCollection* _tmp62_ = NULL; + gboolean _tmp66_ = FALSE; + GeeCollection* _tmp67_ = NULL; + GError * _inner_error_ = NULL; +#line 1118 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 1118 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 1118 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 1120 "/home/jens/Source/shotwell/src/Tag.vala" + added_sources = NULL; +#line 1121 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = added; +#line 1121 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp0_ != NULL) { +#line 8736 "Tag.c" + GeeArrayList* _tmp1_ = NULL; +#line 1122 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1122 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (added_sources); +#line 1122 "/home/jens/Source/shotwell/src/Tag.vala" + added_sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 8744 "Tag.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = added; +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _view_it = _tmp3_; +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 8757 "Tag.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + MediaSource* source = NULL; + DataView* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + TagRow* _tmp10_ = NULL; + GeeSet* _tmp11_ = NULL; + MediaSource* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + gboolean is_added = FALSE; + GeeCollection* _tmp25_ = NULL; + MediaSource* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = _view_it; +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp5_) { +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 8786 "Tag.c" + } +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = _view_it; +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + view = (DataView*) _tmp7_; +#line 1124 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = view; +#line 1124 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = data_view_get_source (_tmp8_); +#line 1124 "/home/jens/Source/shotwell/src/Tag.vala" + source = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MEDIA_SOURCE, MediaSource); +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = self->priv->row; +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = _tmp10_->source_id_list; +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = source; +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_SOURCE, DataSource)); +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = _tmp13_; +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection), _tmp14_); +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = !_tmp15_; +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp14_); +#line 1128 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp16_) { +#line 8818 "Tag.c" + gboolean is_added = FALSE; + TagRow* _tmp17_ = NULL; + GeeSet* _tmp18_ = NULL; + MediaSource* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + gboolean _tmp24_ = FALSE; +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = self->priv->row; +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = _tmp17_->source_id_list; +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = source; +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp20_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_SOURCE, DataSource)); +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp21_ = _tmp20_; +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp22_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp21_); +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp23_ = _tmp22_; +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp21_); +#line 1129 "/home/jens/Source/shotwell/src/Tag.vala" + is_added = _tmp23_; +#line 1130 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp24_ = is_added; +#line 1130 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp24_, "is_added"); +#line 8850 "Tag.c" + } +#line 1133 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp25_ = added_sources; +#line 1133 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp26_ = source; +#line 1133 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp27_ = gee_collection_add (_tmp25_, _tmp26_); +#line 1133 "/home/jens/Source/shotwell/src/Tag.vala" + is_added = _tmp27_; +#line 1134 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp28_ = is_added; +#line 1134 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp28_, "is_added"); +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source); +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (view); +#line 8868 "Tag.c" + } +#line 1123 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_view_it); +#line 8872 "Tag.c" + } + } +#line 1138 "/home/jens/Source/shotwell/src/Tag.vala" + removed_sources = NULL; +#line 1139 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp29_ = removed; +#line 1139 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp29_ != NULL) { +#line 8881 "Tag.c" + GeeArrayList* _tmp30_ = NULL; +#line 1140 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp30_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1140 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (removed_sources); +#line 1140 "/home/jens/Source/shotwell/src/Tag.vala" + removed_sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection); +#line 8889 "Tag.c" + { + GeeIterator* _view_it = NULL; + GeeIterable* _tmp31_ = NULL; + GeeIterator* _tmp32_ = NULL; +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp31_ = removed; +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp32_ = gee_iterable_iterator (_tmp31_); +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _view_it = _tmp32_; +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 8902 "Tag.c" + GeeIterator* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp35_ = NULL; + gpointer _tmp36_ = NULL; + MediaSource* source = NULL; + DataView* _tmp37_ = NULL; + DataSource* _tmp38_ = NULL; + gboolean is_removed = FALSE; + TagRow* _tmp39_ = NULL; + GeeSet* _tmp40_ = NULL; + MediaSource* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + gboolean _tmp45_ = FALSE; + gboolean _tmp46_ = FALSE; + gboolean is_added = FALSE; + GeeCollection* _tmp47_ = NULL; + MediaSource* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; + gboolean _tmp50_ = FALSE; +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp33_ = _view_it; +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp34_ = gee_iterator_next (_tmp33_); +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp34_) { +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 8933 "Tag.c" + } +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp35_ = _view_it; +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp36_ = gee_iterator_get (_tmp35_); +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + view = (DataView*) _tmp36_; +#line 1142 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp37_ = view; +#line 1142 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp38_ = data_view_get_source (_tmp37_); +#line 1142 "/home/jens/Source/shotwell/src/Tag.vala" + source = G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_MEDIA_SOURCE, MediaSource); +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp39_ = self->priv->row; +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp40_ = _tmp39_->source_id_list; +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp41_ = source; +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp42_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_DATA_SOURCE, DataSource)); +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp43_ = _tmp42_; +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp44_ = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_COLLECTION, GeeCollection), _tmp43_); +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp45_ = _tmp44_; +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (_tmp43_); +#line 1144 "/home/jens/Source/shotwell/src/Tag.vala" + is_removed = _tmp45_; +#line 1145 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp46_ = is_removed; +#line 1145 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp46_, "is_removed"); +#line 1147 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp47_ = removed_sources; +#line 1147 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp48_ = source; +#line 1147 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp49_ = gee_collection_add (_tmp47_, _tmp48_); +#line 1147 "/home/jens/Source/shotwell/src/Tag.vala" + is_added = _tmp49_; +#line 1148 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp50_ = is_added; +#line 1148 "/home/jens/Source/shotwell/src/Tag.vala" + _vala_assert (_tmp50_, "is_added"); +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source); +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (view); +#line 8985 "Tag.c" + } +#line 1141 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_view_it); +#line 8989 "Tag.c" + } + } + { + TagTable* _tmp51_ = NULL; + TagTable* _tmp52_ = NULL; + TagRow* _tmp53_ = NULL; + TagID _tmp54_ = {0}; + TagRow* _tmp55_ = NULL; + GeeSet* _tmp56_ = NULL; +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp51_ = tag_table_get_instance (); +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp52_ = _tmp51_; +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp53_ = self->priv->row; +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp54_ = _tmp53_->tag_id; +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp55_ = self->priv->row; +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp56_ = _tmp55_->source_id_list; +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + tag_table_set_tagged_sources (_tmp52_, &_tmp54_, G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GEE_TYPE_COLLECTION, GeeCollection), &_inner_error_); +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _database_table_unref0 (_tmp52_); +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 9019 "Tag.c" + goto __catch465_database_error; + } +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (removed_sources); +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (added_sources); +#line 1153 "/home/jens/Source/shotwell/src/Tag.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 1153 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 1153 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 9032 "Tag.c" + } + } + goto __finally465; + __catch465_database_error: + { + GError* err = NULL; + GError* _tmp57_ = NULL; +#line 1152 "/home/jens/Source/shotwell/src/Tag.vala" + err = _inner_error_; +#line 1152 "/home/jens/Source/shotwell/src/Tag.vala" + _inner_error_ = NULL; +#line 1155 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp57_ = err; +#line 1155 "/home/jens/Source/shotwell/src/Tag.vala" + app_window_database_error (_tmp57_); +#line 1152 "/home/jens/Source/shotwell/src/Tag.vala" + _g_error_free0 (err); +#line 9050 "Tag.c" + } + __finally465: +#line 1152 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1152 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (removed_sources); +#line 1152 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (added_sources); +#line 1152 "/home/jens/Source/shotwell/src/Tag.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 1152 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 1152 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 9065 "Tag.c" + } +#line 1159 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp58_ = added_sources; +#line 1159 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp58_ != NULL) { +#line 9071 "Tag.c" + TagSourceCollection* _tmp59_ = NULL; + GeeCollection* _tmp60_ = NULL; + gboolean _tmp61_ = FALSE; +#line 1160 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp59_ = tag_global; +#line 1160 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp60_ = added_sources; +#line 1160 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp61_ = self->priv->relinking; +#line 1160 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_notify_container_contents_added (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), _tmp60_, _tmp61_); +#line 9083 "Tag.c" + } +#line 1162 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp62_ = removed_sources; +#line 1162 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp62_ != NULL) { +#line 9089 "Tag.c" + TagSourceCollection* _tmp63_ = NULL; + GeeCollection* _tmp64_ = NULL; + gboolean _tmp65_ = FALSE; +#line 1163 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp63_ = tag_global; +#line 1163 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp64_ = removed_sources; +#line 1163 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp65_ = self->priv->unlinking; +#line 1163 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_notify_container_contents_removed (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), _tmp64_, _tmp65_); +#line 9101 "Tag.c" + } +#line 1165 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp67_ = added_sources; +#line 1165 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp67_ != NULL) { +#line 1165 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp66_ = TRUE; +#line 9109 "Tag.c" + } else { + GeeCollection* _tmp68_ = NULL; +#line 1165 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp68_ = removed_sources; +#line 1165 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp66_ = _tmp68_ != NULL; +#line 9116 "Tag.c" + } +#line 1165 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp66_) { +#line 9120 "Tag.c" + TagSourceCollection* _tmp69_ = NULL; + GeeCollection* _tmp70_ = NULL; + gboolean _tmp71_ = FALSE; + GeeCollection* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; +#line 1166 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp69_ = tag_global; +#line 1166 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp70_ = added_sources; +#line 1166 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp71_ = self->priv->relinking; +#line 1166 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp72_ = removed_sources; +#line 1166 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp73_ = self->priv->unlinking; +#line 1166 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), _tmp70_, _tmp71_, _tmp72_, _tmp73_); +#line 9138 "Tag.c" + } +#line 1118 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (removed_sources); +#line 1118 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (added_sources); +#line 9144 "Tag.c" +} + + +static void tag_on_sources_destroyed (Tag* self, GeeCollection* sources) { + GeeCollection* _tmp0_ = NULL; + GeeMultiMap* _tmp1_ = NULL; + GeeMultiMap* _tmp2_ = NULL; +#line 1171 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_TAG (self)); +#line 1171 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 1172 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = sources; +#line 1172 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = tag_detach_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1172 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tmp1_; +#line 1172 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp2_); +#line 9164 "Tag.c" +} + + +static void tag_real_destroy (DataSource* base) { + Tag * self; + ViewCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + GError * _inner_error_ = NULL; +#line 1175 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG, Tag); +#line 1179 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->media_views; +#line 1179 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1179 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp1_ > 0) { +#line 9181 "Tag.c" + ViewCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GeeArrayList* removed = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + TagSourceCollection* _tmp10_ = NULL; + GeeArrayList* _tmp11_ = NULL; + TagSourceCollection* _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; +#line 1180 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = self->priv->media_views; +#line 1180 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 1180 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _tag_on_media_views_contents_altered_data_collection_contents_altered, self); +#line 1182 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1182 "/home/jens/Source/shotwell/src/Tag.vala" + removed = _tmp4_; +#line 1183 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = removed; +#line 1183 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = self->priv->media_views; +#line 1183 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = view_collection_get_sources (_tmp6_); +#line 1183 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1183 "/home/jens/Source/shotwell/src/Tag.vala" + gee_array_list_add_all (_tmp5_, _tmp8_); +#line 1183 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp8_); +#line 1185 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = self->priv->media_views; +#line 1185 "/home/jens/Source/shotwell/src/Tag.vala" + data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1187 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = tag_global; +#line 1187 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = removed; +#line 1187 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_notify_container_contents_removed (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection), FALSE); +#line 1188 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = tag_global; +#line 1188 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = removed; +#line 1188 "/home/jens/Source/shotwell/src/Tag.vala" + container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), NULL, FALSE, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection), FALSE); +#line 1190 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = self->priv->media_views; +#line 1190 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _tag_on_media_views_contents_altered_data_collection_contents_altered, self, 0); +#line 1179 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (removed); +#line 9240 "Tag.c" + } + { + TagTable* _tmp15_ = NULL; + TagTable* _tmp16_ = NULL; + TagRow* _tmp17_ = NULL; + TagID _tmp18_ = {0}; +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = tag_table_get_instance (); +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp16_ = _tmp15_; +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp17_ = self->priv->row; +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp18_ = _tmp17_->tag_id; +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + tag_table_remove (_tmp16_, &_tmp18_, &_inner_error_); +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + _database_table_unref0 (_tmp16_); +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 9263 "Tag.c" + goto __catch466_database_error; + } +#line 1194 "/home/jens/Source/shotwell/src/Tag.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 1194 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 1194 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 9272 "Tag.c" + } + } + goto __finally466; + __catch466_database_error: + { + GError* err = NULL; + GError* _tmp19_ = NULL; +#line 1193 "/home/jens/Source/shotwell/src/Tag.vala" + err = _inner_error_; +#line 1193 "/home/jens/Source/shotwell/src/Tag.vala" + _inner_error_ = NULL; +#line 1196 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp19_ = err; +#line 1196 "/home/jens/Source/shotwell/src/Tag.vala" + app_window_database_error (_tmp19_); +#line 1193 "/home/jens/Source/shotwell/src/Tag.vala" + _g_error_free0 (err); +#line 9290 "Tag.c" + } + __finally466: +#line 1193 "/home/jens/Source/shotwell/src/Tag.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1193 "/home/jens/Source/shotwell/src/Tag.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 1193 "/home/jens/Source/shotwell/src/Tag.vala" + g_clear_error (&_inner_error_); +#line 1193 "/home/jens/Source/shotwell/src/Tag.vala" + return; +#line 9301 "Tag.c" + } +#line 1199 "/home/jens/Source/shotwell/src/Tag.vala" + DATA_SOURCE_CLASS (tag_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 9305 "Tag.c" +} + + +static void _tag_tag_snapshot_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 292 "/home/jens/Source/shotwell/src/Tag.vala" + tag_tag_snapshot_on_source_destroyed ((TagTagSnapshot*) self, source); +#line 9312 "Tag.c" +} + + +static TagTagSnapshot* tag_tag_snapshot_construct (GType object_type, Tag* tag) { + TagTagSnapshot* self = NULL; + Tag* _tmp0_ = NULL; + TagRow* _tmp1_ = NULL; + TagRow* _tmp2_ = NULL; + LibraryPhotoSourceCollection* _tmp14_ = NULL; + VideoSourceCollection* _tmp15_ = NULL; +#line 278 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (tag), NULL); +#line 278 "/home/jens/Source/shotwell/src/Tag.vala" + self = (TagTagSnapshot*) source_snapshot_construct (object_type); +#line 280 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag; +#line 280 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tmp0_->priv->row; +#line 280 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = _tag_row_ref0 (_tmp1_); +#line 280 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (self->priv->row); +#line 280 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->row = _tmp2_; +#line 9337 "Tag.c" + { + GeeIterator* _source_it = NULL; + Tag* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = tag; +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_get_sources (_tmp3_); +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = _tmp4_; +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp7_ = _tmp6_; +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_tmp5_); +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _source_it = _tmp7_; +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + while (TRUE) { +#line 9361 "Tag.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + GeeHashSet* _tmp12_ = NULL; + MediaSource* _tmp13_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp8_ = _source_it; +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + if (!_tmp9_) { +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + break; +#line 9377 "Tag.c" + } +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp10_ = _source_it; +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + source = (MediaSource*) _tmp11_; +#line 285 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp12_ = self->priv->sources; +#line 285 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp13_ = source; +#line 285 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_); +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (source); +#line 9393 "Tag.c" + } +#line 284 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (_source_it); +#line 9397 "Tag.c" + } +#line 287 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp14_ = library_photo_global; +#line 287 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _tag_tag_snapshot_on_source_destroyed_source_collection_item_destroyed, self); +#line 288 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp15_ = video_global; +#line 288 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_SOURCE_COLLECTION, SourceCollection), "item-destroyed", (GCallback) _tag_tag_snapshot_on_source_destroyed_source_collection_item_destroyed, self); +#line 278 "/home/jens/Source/shotwell/src/Tag.vala" + return self; +#line 9409 "Tag.c" +} + + +static TagTagSnapshot* tag_tag_snapshot_new (Tag* tag) { +#line 278 "/home/jens/Source/shotwell/src/Tag.vala" + return tag_tag_snapshot_construct (TAG_TYPE_TAG_SNAPSHOT, tag); +#line 9416 "Tag.c" +} + + +static TagRow* tag_tag_snapshot_get_row (TagTagSnapshot* self) { + TagRow* result = NULL; + TagRow* _tmp0_ = NULL; + TagRow* _tmp1_ = NULL; +#line 296 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (TAG_IS_TAG_SNAPSHOT (self), NULL); +#line 297 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->row; +#line 297 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = _tag_row_ref0 (_tmp0_); +#line 297 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp1_; +#line 297 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 9434 "Tag.c" +} + + +static void tag_tag_snapshot_real_notify_broken (SourceSnapshot* base) { + TagTagSnapshot * self; + TagRow* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAG_TYPE_TAG_SNAPSHOT, TagTagSnapshot); +#line 301 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag_row_new (); +#line 301 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (self->priv->row); +#line 301 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->row = _tmp0_; +#line 302 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = self->priv->sources; +#line 302 "/home/jens/Source/shotwell/src/Tag.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 304 "/home/jens/Source/shotwell/src/Tag.vala" + SOURCE_SNAPSHOT_CLASS (tag_tag_snapshot_parent_class)->notify_broken (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_SNAPSHOT, SourceSnapshot)); +#line 9456 "Tag.c" +} + + +static void tag_tag_snapshot_on_source_destroyed (TagTagSnapshot* self, DataSource* source) { + GeeHashSet* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 307 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (TAG_IS_TAG_SNAPSHOT (self)); +#line 307 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 308 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->sources; +#line 308 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = source; +#line 308 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 308 "/home/jens/Source/shotwell/src/Tag.vala" + if (_tmp2_) { +#line 309 "/home/jens/Source/shotwell/src/Tag.vala" + source_snapshot_notify_broken (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_SNAPSHOT, SourceSnapshot)); +#line 9478 "Tag.c" + } +} + + +static void tag_tag_snapshot_class_init (TagTagSnapshotClass * klass) { +#line 274 "/home/jens/Source/shotwell/src/Tag.vala" + tag_tag_snapshot_parent_class = g_type_class_peek_parent (klass); +#line 274 "/home/jens/Source/shotwell/src/Tag.vala" + ((SourceSnapshotClass *) klass)->finalize = tag_tag_snapshot_finalize; +#line 274 "/home/jens/Source/shotwell/src/Tag.vala" + g_type_class_add_private (klass, sizeof (TagTagSnapshotPrivate)); +#line 274 "/home/jens/Source/shotwell/src/Tag.vala" + ((SourceSnapshotClass *) klass)->notify_broken = tag_tag_snapshot_real_notify_broken; +#line 9492 "Tag.c" +} + + +static void tag_tag_snapshot_instance_init (TagTagSnapshot * self) { + GeeHashSet* _tmp0_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv = TAG_TAG_SNAPSHOT_GET_PRIVATE (self); +#line 276 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = gee_hash_set_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 276 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->sources = _tmp0_; +#line 9504 "Tag.c" +} + + +static void tag_tag_snapshot_finalize (SourceSnapshot* obj) { + TagTagSnapshot * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + VideoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 274 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TAG_TYPE_TAG_SNAPSHOT, TagTagSnapshot); +#line 292 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = library_photo_global; +#line 292 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); +#line 292 "/home/jens/Source/shotwell/src/Tag.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_tag_snapshot_on_source_destroyed_source_collection_item_destroyed, self); +#line 293 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = video_global; +#line 293 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); +#line 293 "/home/jens/Source/shotwell/src/Tag.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_tag_snapshot_on_source_destroyed_source_collection_item_destroyed, self); +#line 275 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (self->priv->row); +#line 276 "/home/jens/Source/shotwell/src/Tag.vala" + _g_object_unref0 (self->priv->sources); +#line 274 "/home/jens/Source/shotwell/src/Tag.vala" + SOURCE_SNAPSHOT_CLASS (tag_tag_snapshot_parent_class)->finalize (obj); +#line 9534 "Tag.c" +} + + +static GType tag_tag_snapshot_get_type (void) { + static volatile gsize tag_tag_snapshot_type_id__volatile = 0; + if (g_once_init_enter (&tag_tag_snapshot_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagTagSnapshotClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tag_tag_snapshot_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagTagSnapshot), 0, (GInstanceInitFunc) tag_tag_snapshot_instance_init, NULL }; + GType tag_tag_snapshot_type_id; + tag_tag_snapshot_type_id = g_type_register_static (TYPE_SOURCE_SNAPSHOT, "TagTagSnapshot", &g_define_type_info, 0); + g_once_init_leave (&tag_tag_snapshot_type_id__volatile, tag_tag_snapshot_type_id); + } + return tag_tag_snapshot_type_id__volatile; +} + + +static TagTagProxy* tag_tag_proxy_construct (GType object_type, Tag* tag) { + TagTagProxy* self = NULL; + Tag* _tmp0_ = NULL; +#line 314 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_TAG (tag), NULL); +#line 315 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = tag; +#line 315 "/home/jens/Source/shotwell/src/Tag.vala" + self = (TagTagProxy*) source_proxy_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource)); +#line 314 "/home/jens/Source/shotwell/src/Tag.vala" + return self; +#line 9561 "Tag.c" +} + + +static TagTagProxy* tag_tag_proxy_new (Tag* tag) { +#line 314 "/home/jens/Source/shotwell/src/Tag.vala" + return tag_tag_proxy_construct (TAG_TYPE_TAG_PROXY, tag); +#line 9568 "Tag.c" +} + + +static DataSource* tag_tag_proxy_real_reconstitute (SourceProxy* base, gint64 object_id, SourceSnapshot* snapshot) { + TagTagProxy * self; + DataSource* result = NULL; + gint64 _tmp0_ = 0LL; + SourceSnapshot* _tmp1_ = NULL; + TagRow* _tmp2_ = NULL; + TagRow* _tmp3_ = NULL; + Tag* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; +#line 318 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAG_TYPE_TAG_PROXY, TagTagProxy); +#line 318 "/home/jens/Source/shotwell/src/Tag.vala" + g_return_val_if_fail (IS_SOURCE_SNAPSHOT (snapshot), NULL); +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = object_id; +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp1_ = snapshot; +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = tag_tag_snapshot_get_row (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TAG_TYPE_TAG_SNAPSHOT, TagTagSnapshot)); +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp3_ = _tmp2_; +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = tag_reconstitute (_tmp0_, _tmp3_); +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource); +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (_tmp3_); +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + result = _tmp5_; +#line 319 "/home/jens/Source/shotwell/src/Tag.vala" + return result; +#line 9603 "Tag.c" +} + + +static void tag_tag_proxy_class_init (TagTagProxyClass * klass) { +#line 313 "/home/jens/Source/shotwell/src/Tag.vala" + tag_tag_proxy_parent_class = g_type_class_peek_parent (klass); +#line 313 "/home/jens/Source/shotwell/src/Tag.vala" + ((SourceProxyClass *) klass)->reconstitute = tag_tag_proxy_real_reconstitute; +#line 9612 "Tag.c" +} + + +static void tag_tag_proxy_instance_init (TagTagProxy * self) { +} + + +static GType tag_tag_proxy_get_type (void) { + static volatile gsize tag_tag_proxy_type_id__volatile = 0; + if (g_once_init_enter (&tag_tag_proxy_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagTagProxyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tag_tag_proxy_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagTagProxy), 0, (GInstanceInitFunc) tag_tag_proxy_instance_init, NULL }; + GType tag_tag_proxy_type_id; + tag_tag_proxy_type_id = g_type_register_static (TYPE_SOURCE_PROXY, "TagTagProxy", &g_define_type_info, 0); + g_once_init_leave (&tag_tag_proxy_type_id__volatile, tag_tag_proxy_type_id); + } + return tag_tag_proxy_type_id__volatile; +} + + +static void tag_class_init (TagClass * klass) { +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + tag_parent_class = g_type_class_peek_parent (klass); +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + g_type_class_add_private (klass, sizeof (TagPrivate)); +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataSourceClass *) klass)->get_typename = tag_real_get_typename; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataSourceClass *) klass)->get_instance_id = tag_real_get_instance_id; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataObjectClass *) klass)->get_name = tag_real_get_name; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataObjectClass *) klass)->to_string = tag_real_to_string; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataSourceClass *) klass)->equals = tag_real_equals; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataSourceClass *) klass)->save_snapshot = tag_real_save_snapshot; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + ((DataSourceClass *) klass)->destroy = tag_real_destroy; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + G_OBJECT_CLASS (klass)->finalize = tag_finalize; +#line 9653 "Tag.c" +} + + +static void tag_container_source_interface_init (ContainerSourceIface * iface) { +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + tag_container_source_parent_iface = g_type_interface_peek_parent (iface); +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + iface->has_links = (gboolean (*)(ContainerSource*)) tag_real_has_links; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + iface->get_backlink = (SourceBacklink* (*)(ContainerSource*)) tag_real_get_backlink; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + iface->break_link = (void (*)(ContainerSource*, DataSource*)) tag_real_break_link; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + iface->break_link_many = (void (*)(ContainerSource*, GeeCollection*)) tag_real_break_link_many; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + iface->establish_link = (void (*)(ContainerSource*, DataSource*)) tag_real_establish_link; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + iface->establish_link_many = (void (*)(ContainerSource*, GeeCollection*)) tag_real_establish_link_many; +#line 9672 "Tag.c" +} + + +static void tag_proxyable_interface_init (ProxyableIface * iface) { +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + tag_proxyable_parent_iface = g_type_interface_peek_parent (iface); +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + iface->get_proxy = (SourceProxy* (*)(Proxyable*)) tag_real_get_proxy; +#line 9681 "Tag.c" +} + + +static void tag_indexable_interface_init (IndexableIface * iface) { +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + tag_indexable_parent_iface = g_type_interface_peek_parent (iface); +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + iface->get_indexable_keywords = (const gchar* (*)(Indexable*)) tag_real_get_indexable_keywords; +#line 9690 "Tag.c" +} + + +static void tag_instance_init (Tag * self) { +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv = TAG_GET_PRIVATE (self); +#line 327 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->name_collation_key = NULL; +#line 328 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->unlinking = FALSE; +#line 329 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->relinking = FALSE; +#line 330 "/home/jens/Source/shotwell/src/Tag.vala" + self->priv->indexable_keywords = NULL; +#line 9705 "Tag.c" +} + + +static void tag_finalize (GObject* obj) { + Tag * self; + ViewCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + LibraryPhotoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; + VideoSourceCollection* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TAG, Tag); +#line 382 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp0_ = self->priv->media_views; +#line 382 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 382 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _tag_on_media_views_contents_altered_data_collection_contents_altered, self); +#line 383 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp2_ = library_photo_global; +#line 383 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_parse_name ("items-destroyed", TYPE_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); +#line 383 "/home/jens/Source/shotwell/src/Tag.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_on_sources_destroyed_source_collection_items_destroyed, self); +#line 384 "/home/jens/Source/shotwell/src/Tag.vala" + _tmp4_ = video_global; +#line 384 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_parse_name ("items-destroyed", TYPE_SOURCE_COLLECTION, &_tmp5_, NULL, FALSE); +#line 384 "/home/jens/Source/shotwell/src/Tag.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_SOURCE_COLLECTION, SourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _tag_on_sources_destroyed_source_collection_items_destroyed, self); +#line 325 "/home/jens/Source/shotwell/src/Tag.vala" + _tag_row_unref0 (self->priv->row); +#line 326 "/home/jens/Source/shotwell/src/Tag.vala" + _data_collection_unref0 (self->priv->media_views); +#line 327 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (self->priv->name_collation_key); +#line 330 "/home/jens/Source/shotwell/src/Tag.vala" + _g_free0 (self->priv->indexable_keywords); +#line 269 "/home/jens/Source/shotwell/src/Tag.vala" + G_OBJECT_CLASS (tag_parent_class)->finalize (obj); +#line 9747 "Tag.c" +} + + +GType tag_get_type (void) { + static volatile gsize tag_type_id__volatile = 0; + if (g_once_init_enter (&tag_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tag_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Tag), 0, (GInstanceInitFunc) tag_instance_init, NULL }; + static const GInterfaceInfo container_source_info = { (GInterfaceInitFunc) tag_container_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo proxyable_info = { (GInterfaceInitFunc) tag_proxyable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo indexable_info = { (GInterfaceInitFunc) tag_indexable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType tag_type_id; + tag_type_id = g_type_register_static (TYPE_DATA_SOURCE, "Tag", &g_define_type_info, 0); + g_type_add_interface_static (tag_type_id, TYPE_CONTAINER_SOURCE, &container_source_info); + g_type_add_interface_static (tag_type_id, TYPE_PROXYABLE, &proxyable_info); + g_type_add_interface_static (tag_type_id, TYPE_INDEXABLE, &indexable_info); + g_once_init_leave (&tag_type_id__volatile, tag_type_id); + } + return tag_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/Tag.vala b/src/Tag.vala index cf41c0e..31b1e40 100644 --- a/src/Tag.vala +++ b/src/Tag.vala @@ -269,6 +269,7 @@ public class TagSourceCollection : ContainerSourceCollection { public class Tag : DataSource, ContainerSource, Proxyable, Indexable { public const string TYPENAME = "tag"; public const string PATH_SEPARATOR_STRING = "/"; + public const string TAG_LIST_SEPARATOR_STRING = ", "; private class TagSnapshot : SourceSnapshot { private TagRow row; @@ -533,7 +534,12 @@ public class Tag : DataSource, ContainerSource, Proxyable, Indexable { return String.precollated_compare(a.get_name(), a.get_name_collation_key(), b.get_name(), b.get_name_collation_key()); } - + + public static int compare_user_visible_names(Tag a, Tag b) { + return String.precollated_compare(a.get_user_visible_name(), a.get_name_collation_key(), + b.get_user_visible_name(), b.get_name_collation_key()); + } + public static uint hash_name_string(string a) { return String.collated_hash(a); } @@ -601,40 +607,47 @@ public class Tag : DataSource, ContainerSource, Proxyable, Indexable { return result; } - - public static string make_tag_string(Gee.Collection tags, string? start = null, - string separator = ", ", string? end = null, bool escape = false) { - StringBuilder builder = new StringBuilder(start ?? ""); + + // Creates a sorted list of terminal tags, unique by user-visible-name + public static Gee.List make_user_visible_tag_list(Gee.Collection tags) { Gee.HashSet seen_tags = new Gee.HashSet(); Gee.Collection terminal_tags = get_terminal_tags(tags); - Gee.ArrayList sorted_tags = new Gee.ArrayList(); + Gee.ArrayList sorted_tags = new Gee.ArrayList(); foreach (Tag tag in terminal_tags) { - string user_visible_name = escape ? guarded_markup_escape_text( - tag.get_user_visible_name()) : tag.get_user_visible_name(); - - if (!seen_tags.contains(user_visible_name)) - sorted_tags.add(user_visible_name); + string user_visible_name = tag.get_user_visible_name(); + if (!seen_tags.contains(user_visible_name)) { + sorted_tags.add(tag); + seen_tags.add(user_visible_name); + } } - - sorted_tags.sort(); - Gee.Iterator iter = sorted_tags.iterator(); - while(iter.next()) { - builder.append(iter.get()); - builder.append(separator); + sorted_tags.sort(Tag.compare_user_visible_names); + return sorted_tags; + } + + public static string make_tag_markup_string(Gee.List tags, int highlight_index = -1) { + StringBuilder builder = new StringBuilder(""); + int i = 0; + bool first = true; + foreach(Tag tag in tags) { + string tag_name = tag.get_user_visible_name(); + string esc_tag_name = guarded_markup_escape_text(tag_name); + if (first) + first = false; + else + builder.append(TAG_LIST_SEPARATOR_STRING); + if (highlight_index == i) + builder.append(""); + builder.append(esc_tag_name); + if (highlight_index == i) + builder.append(""); + ++i; } - + + builder.append(""); string built = builder.str; - - if (built.length >= separator.length) - if (built.substring(built.length - separator.length, separator.length) == separator) - built = built.substring(0, built.length - separator.length); - - if (end != null) - built += end; - return built; } - + // Utility function to cleanup a tag name that comes from user input and prepare it for use // in the system and storage in the database. Returns null if the name is unacceptable. public static string? prep_tag_name(string name) { diff --git a/src/Thumbnail.c b/src/Thumbnail.c new file mode 100644 index 0000000..3bc86fb --- /dev/null +++ b/src/Thumbnail.c @@ -0,0 +1,2731 @@ +/* Thumbnail.c generated by valac 0.32.1, the Vala compiler + * generated from Thumbnail.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataViewPrivate DataViewPrivate; + +#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_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; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; + +#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; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#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; +typedef struct _MediaSourceItemPrivate MediaSourceItemPrivate; + +#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; +typedef struct _ThumbnailPrivate ThumbnailPrivate; + +#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_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_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_CONTAINER_SOURCE (container_source_get_type ()) +#define CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE, ContainerSource)) +#define IS_CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE)) +#define CONTAINER_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONTAINER_SOURCE, ContainerSourceIface)) + +typedef struct _ContainerSource ContainerSource; +typedef struct _ContainerSourceIface ContainerSourceIface; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define 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_RATING (rating_get_type ()) + +#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ()) + +#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_GValue_free0(var) ((var == NULL) ? NULL : (var = (_vala_GValue_free (var), NULL))) +#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 _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +struct _MediaSourceItem { + CheckerboardItem parent_instance; + MediaSourceItemPrivate * priv; +}; + +struct _MediaSourceItemClass { + CheckerboardItemClass parent_class; +}; + +struct _Thumbnail { + MediaSourceItem parent_instance; + ThumbnailPrivate * priv; +}; + +struct _ThumbnailClass { + MediaSourceItemClass parent_class; +}; + +struct _ThumbnailPrivate { + MediaSource* media; + gint scale; + Dimensions original_dim; + Dimensions dim; + GdkPixbuf* unscaled_pixbuf; + GCancellable* cancellable; + gboolean hq_scheduled; + gboolean hq_reschedule; + gboolean exposure; +}; + +struct _ContainerSourceIface { + GTypeInterface parent_iface; + gboolean (*has_links) (ContainerSource* self); + SourceBacklink* (*get_backlink) (ContainerSource* self); + void (*break_link) (ContainerSource* self, DataSource* source); + void (*break_link_many) (ContainerSource* self, GeeCollection* sources); + void (*establish_link) (ContainerSource* self, DataSource* source); + void (*establish_link_many) (ContainerSource* self, GeeCollection* sources); +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef void (*ThumbnailCacheAsyncFetchCallback) (GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err, void* user_data); +typedef enum { + THUMBNAIL_CACHE_SIZE_LARGEST = 360, + THUMBNAIL_CACHE_SIZE_BIG = 360, + THUMBNAIL_CACHE_SIZE_MEDIUM = 128, + THUMBNAIL_CACHE_SIZE_SMALLEST = 128 +} ThumbnailCacheSize; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + + +static gpointer thumbnail_parent_class = NULL; +extern TagSourceCollection* tag_global; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_view_get_type (void) G_GNUC_CONST; +GType data_source_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 dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType media_source_item_get_type (void) G_GNUC_CONST; +GType thumbnail_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +#define THUMBNAIL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_THUMBNAIL, ThumbnailPrivate)) +enum { + THUMBNAIL_DUMMY_PROPERTY +}; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType container_source_get_type (void) G_GNUC_CONST; +static void thumbnail_on_tag_contents_altered (Thumbnail* self, ContainerSource* container, GeeCollection* added, gboolean relinking, GeeCollection* removed, gboolean unlinking); +static void _thumbnail_on_tag_contents_altered_container_source_collection_container_contents_altered (ContainerSourceCollection* _sender, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked, gpointer self); +static void thumbnail_on_tags_altered (Thumbnail* self, GeeMap* altered); +static void _thumbnail_on_tags_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +#define CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES "show-subtitles" +#define THUMBNAIL_PROP_SHOW_TAGS CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES +#define THUMBNAIL_PROP_SIZE "thumbnail-size" +#define THUMBNAIL_PROP_SHOW_RATINGS "show-ratings" +#define THUMBNAIL_LOW_QUALITY_INTERP GDK_INTERP_NEAREST +#define THUMBNAIL_HIGH_QUALITY_INTERP GDK_INTERP_BILINEAR +#define THUMBNAIL_HQ_IMPROVEMENT_MSEC 100 +Thumbnail* thumbnail_new (MediaSource* media, gint scale); +Thumbnail* thumbnail_construct (GType object_type, MediaSource* media, gint scale); +GType photo_exception_get_type (void) G_GNUC_CONST; +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +void dimensions_get_scaled (Dimensions *self, gint scale, gboolean scale_up, Dimensions* result); +gchar* data_object_get_name (DataObject* self); +gchar* media_source_get_comment (MediaSource* self); +MediaSourceItem* media_source_item_new (ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +MediaSourceItem* media_source_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void media_source_item_set_enable_sprockets (MediaSourceItem* self, gboolean enable_sprockets); +static void thumbnail_update_title (Thumbnail* self, gboolean init); +static void thumbnail_update_comment (Thumbnail* self, gboolean init); +static void thumbnail_update_tags (Thumbnail* self, gboolean init); +GType tag_get_type (void) G_GNUC_CONST; +GeeSortedSet* tag_source_collection_fetch_sorted_for_source (TagSourceCollection* self, MediaSource* photo); +void checkerboard_item_clear_tags (CheckerboardItem* self); +void checkerboard_item_set_tags (CheckerboardItem* self, GeeCollection* tags, PangoAlignment alignment); +gboolean tag_contains (Tag* self, MediaSource* source); +gboolean is_string_empty (const gchar* s); +void checkerboard_item_clear_title (CheckerboardItem* self); +void media_source_item_set_title (MediaSourceItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +void checkerboard_item_clear_comment (CheckerboardItem* self); +void checkerboard_item_set_comment (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +static void thumbnail_real_notify_altered (DataObject* base, Alteration* alteration); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +MediaSource* thumbnail_get_media_source (Thumbnail* self); +gint64 thumbnail_photo_id_ascending_comparator (void* a, void* b); +gint64 data_source_get_instance_id (DataSource* self); +gint64 thumbnail_photo_id_descending_comparator (void* a, void* b); +gint64 thumbnail_title_ascending_comparator (void* a, void* b); +gchar* media_source_item_get_natural_collation_key (MediaSourceItem* self); +gint64 thumbnail_title_descending_comparator (void* a, void* b); +gboolean thumbnail_title_comparator_predicate (DataObject* object, Alteration* alteration); +gint64 thumbnail_exposure_time_ascending_comparator (void* a, void* b); +time_t media_source_get_exposure_time (MediaSource* self); +gint64 thumbnail_filename_ascending_comparator (void* a, void* b); +gint64 thumbnail_exposure_time_desending_comparator (void* a, void* b); +gint64 thumbnail_filename_descending_comparator (void* a, void* b); +gboolean thumbnail_exposure_time_comparator_predicate (DataObject* object, Alteration* alteration); +gboolean thumbnail_filename_comparator_predicate (DataObject* object, Alteration* alteration); +GFile* media_source_get_file (MediaSource* self); +gchar* g_utf8_collate_key_for_filename (const gchar* str, gssize len); +gint64 thumbnail_rating_ascending_comparator (void* a, void* b); +GType rating_get_type (void) G_GNUC_CONST; +Rating media_source_get_rating (MediaSource* self); +gint64 thumbnail_rating_descending_comparator (void* a, void* b); +gboolean thumbnail_rating_comparator_predicate (DataObject* object, Alteration* alteration); +static void thumbnail_real_thumbnail_altered (ThumbnailView* base); +static void thumbnail_delayed_high_quality_fetch (Thumbnail* self); +static void thumbnail_paint_empty (Thumbnail* self); +static void thumbnail_real_notify_collection_property_set (DataObject* base, const gchar* name, GValue* old, GValue* val); +static void thumbnail_resize (Thumbnail* self, gint new_scale); +void data_view_notify_view_altered (DataView* self); +void data_object_notify_collection_property_set (DataObject* self, const gchar* name, GValue* old, GValue* val); +gint thumbnail_get_MIN_SCALE (void); +gint thumbnail_get_MAX_SCALE (void); +static void thumbnail_cancel_async_fetch (Thumbnail* self); +gboolean checkerboard_item_has_image (CheckerboardItem* self); +GdkPixbuf* checkerboard_item_get_image (CheckerboardItem* self); +void checkerboard_item_set_image (CheckerboardItem* self, GdkPixbuf* pixbuf); +GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp); +void checkerboard_item_clear_image (CheckerboardItem* self, Dimensions* dim); +static void thumbnail_schedule_low_quality_fetch (Thumbnail* self); +void thumbnail_cache_fetch_async_scaled (ThumbnailSource* source, gint scale, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable); +GType thumbnail_cache_size_get_type (void) G_GNUC_CONST; +static void thumbnail_on_low_quality_fetched (Thumbnail* self, GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err); +static void _thumbnail_on_low_quality_fetched_thumbnail_cache_async_fetch_callback (GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err, gpointer self); +static gboolean thumbnail_on_schedule_high_quality (Thumbnail* self); +static gboolean _thumbnail_on_schedule_high_quality_gsource_func (gpointer self); +static void thumbnail_on_high_quality_fetched (Thumbnail* self, GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err); +static void _thumbnail_on_high_quality_fetched_thumbnail_cache_async_fetch_callback (GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err, gpointer self); +gchar* data_object_to_string (DataObject* self); +static void thumbnail_real_exposed (CheckerboardItem* base); +void checkerboard_item_exposed (CheckerboardItem* self); +static void thumbnail_real_unexposed (CheckerboardItem* base); +void checkerboard_item_unexposed (CheckerboardItem* self); +static GdkPixbuf* thumbnail_real_get_top_right_trinket (CheckerboardItem* base, gint scale); +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +GdkPixbuf* resources_get_icon (const gchar* name, gint scale); +#define RESOURCES_ICON_FLAGGED_TRINKET "flag-trinket.png" +#define RESOURCES_DEFAULT_ICON_SCALE 24 +static GdkPixbuf* thumbnail_real_get_bottom_left_trinket (CheckerboardItem* base, gint scale); +GValue* data_object_get_collection_property (DataObject* self, const gchar* name, GValue* def); +static void _vala_GValue_free (GValue* self); +GdkPixbuf* resources_get_rating_trinket (Rating rating, gint scale); +gint thumbnail_cache_size_get_scale (ThumbnailCacheSize self); +gint thumbnail_get_DEFAULT_SCALE (void); +static void thumbnail_finalize (GObject* obj); +static void _vala_thumbnail_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); + + +static void _thumbnail_on_tag_contents_altered_container_source_collection_container_contents_altered (ContainerSourceCollection* _sender, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked, gpointer self) { +#line 76 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_on_tag_contents_altered ((Thumbnail*) self, container, added, relinked, removed, unlinked); +#line 586 "Thumbnail.c" +} + + +static void _thumbnail_on_tags_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 77 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_on_tags_altered ((Thumbnail*) self, items); +#line 593 "Thumbnail.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 53 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return self ? g_object_ref (self) : NULL; +#line 600 "Thumbnail.c" +} + + +Thumbnail* thumbnail_construct (GType object_type, MediaSource* media, gint scale) { + Thumbnail * self = NULL; + MediaSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + Dimensions _tmp4_ = {0}; + MediaSource* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; + MediaSource* _tmp12_ = NULL; + gint _tmp13_ = 0; + TagSourceCollection* _tmp14_ = NULL; + TagSourceCollection* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + MediaSource* _tmp17_ = NULL; + MediaSource* _tmp19_ = NULL; + MediaSource* _tmp20_ = NULL; + Dimensions _tmp21_ = {0}; + gint _tmp22_ = 0; + Dimensions _tmp23_ = {0}; +#line 49 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (media), NULL); +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = media; +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = media; +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + media_source_get_dimensions (_tmp1_, PHOTO_EXCEPTION_NONE, &_tmp2_); +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = scale; +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + dimensions_get_scaled (&_tmp2_, _tmp3_, TRUE, &_tmp4_); +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = media; +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = _tmp6_; +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = media; +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = media_source_get_comment (_tmp8_); +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = _tmp9_; +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = (Thumbnail*) media_source_item_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), &_tmp4_, _tmp7_, _tmp10_, FALSE, PANGO_ALIGN_LEFT); +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp10_); +#line 50 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp7_); +#line 53 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = media; +#line 53 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp12_ = _g_object_ref0 (_tmp11_); +#line 53 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->media); +#line 53 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->media = _tmp12_; +#line 54 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp13_ = scale; +#line 54 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->scale = _tmp13_; +#line 56 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp14_ = tag_global; +#line 56 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), "container-contents-altered", (GCallback) _thumbnail_on_tag_contents_altered_container_source_collection_container_contents_altered, self, 0); +#line 57 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp15_ = tag_global; +#line 57 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _thumbnail_on_tags_altered_data_collection_items_altered, self, 0); +#line 59 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp17_ = media; +#line 59 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, TYPE_LIBRARY_PHOTO)) { +#line 59 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp16_ = TRUE; +#line 685 "Thumbnail.c" + } else { + MediaSource* _tmp18_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp18_ = media; +#line 59 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, TYPE_VIDEO); +#line 692 "Thumbnail.c" + } +#line 59 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _vala_assert (_tmp16_, "(media is LibraryPhoto) || (media is Video)"); +#line 60 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp19_ = media; +#line 60 "/home/jens/Source/shotwell/src/Thumbnail.vala" + media_source_item_set_enable_sprockets (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_VIDEO)); +#line 62 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp20_ = media; +#line 62 "/home/jens/Source/shotwell/src/Thumbnail.vala" + media_source_get_dimensions (_tmp20_, PHOTO_EXCEPTION_NONE, &_tmp21_); +#line 62 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->original_dim = _tmp21_; +#line 63 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp22_ = scale; +#line 63 "/home/jens/Source/shotwell/src/Thumbnail.vala" + dimensions_get_scaled (&self->priv->original_dim, _tmp22_, TRUE, &_tmp23_); +#line 63 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->dim = _tmp23_; +#line 67 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_title (self, TRUE); +#line 68 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_comment (self, TRUE); +#line 69 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_tags (self, TRUE); +#line 49 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return self; +#line 720 "Thumbnail.c" +} + + +Thumbnail* thumbnail_new (MediaSource* media, gint scale) { +#line 49 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return thumbnail_construct (TYPE_THUMBNAIL, media, scale); +#line 727 "Thumbnail.c" +} + + +static void thumbnail_update_tags (Thumbnail* self, gboolean init) { + GeeCollection* tags = NULL; + TagSourceCollection* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + GeeSortedSet* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GeeCollection* _tmp4_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 81 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = tag_global; +#line 81 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = self->priv->media; +#line 81 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = tag_source_collection_fetch_sorted_for_source (_tmp0_, _tmp1_); +#line 81 "/home/jens/Source/shotwell/src/Thumbnail.vala" + tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 82 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = tags; +#line 82 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp4_ == NULL) { +#line 82 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = TRUE; +#line 754 "Thumbnail.c" + } else { + GeeCollection* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 82 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = tags; +#line 82 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = gee_collection_get_size (_tmp5_); +#line 82 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = _tmp6_; +#line 82 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp7_ == 0; +#line 767 "Thumbnail.c" + } +#line 82 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp3_) { +#line 83 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_clear_tags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 773 "Thumbnail.c" + } else { + GeeCollection* _tmp8_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = tags; +#line 85 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_set_tags (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp8_, PANGO_ALIGN_LEFT); +#line 780 "Thumbnail.c" + } +#line 80 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (tags); +#line 784 "Thumbnail.c" +} + + +static void thumbnail_on_tag_contents_altered (Thumbnail* self, ContainerSource* container, GeeCollection* added, gboolean relinking, GeeCollection* removed, gboolean unlinking) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GeeCollection* _tmp2_ = NULL; + gboolean tag_added = FALSE; + gboolean _tmp6_ = FALSE; + GeeCollection* _tmp7_ = NULL; + gboolean tag_removed = FALSE; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 88 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 88 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 88 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 88 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 90 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->exposure; +#line 90 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (!_tmp0_) { +#line 91 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return; +#line 812 "Thumbnail.c" + } +#line 93 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = added; +#line 93 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp2_ != NULL) { +#line 818 "Thumbnail.c" + GeeCollection* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 93 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = added; +#line 93 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = self->priv->media; +#line 93 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = gee_collection_contains (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource)); +#line 93 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = _tmp5_; +#line 830 "Thumbnail.c" + } else { +#line 93 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = FALSE; +#line 834 "Thumbnail.c" + } +#line 93 "/home/jens/Source/shotwell/src/Thumbnail.vala" + tag_added = _tmp1_; +#line 94 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = removed; +#line 94 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp7_ != NULL) { +#line 842 "Thumbnail.c" + GeeCollection* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 94 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = removed; +#line 94 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = self->priv->media; +#line 94 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = gee_collection_contains (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_SOURCE, DataSource)); +#line 94 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = _tmp10_; +#line 854 "Thumbnail.c" + } else { +#line 94 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = FALSE; +#line 858 "Thumbnail.c" + } +#line 94 "/home/jens/Source/shotwell/src/Thumbnail.vala" + tag_removed = _tmp6_; +#line 97 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp12_ = tag_added; +#line 97 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp12_) { +#line 97 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = TRUE; +#line 868 "Thumbnail.c" + } else { + gboolean _tmp13_ = FALSE; +#line 97 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp13_ = tag_removed; +#line 97 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = _tmp13_; +#line 875 "Thumbnail.c" + } +#line 97 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp11_) { +#line 98 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_tags (self, FALSE); +#line 881 "Thumbnail.c" + } +} + + +static void thumbnail_on_tags_altered (Thumbnail* self, GeeMap* altered) { + gboolean _tmp0_ = FALSE; +#line 101 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 101 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (GEE_IS_MAP (altered)); +#line 102 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->exposure; +#line 102 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (!_tmp0_) { +#line 103 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return; +#line 898 "Thumbnail.c" + } + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = altered; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = gee_map_get_keys (_tmp1_); +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp2_; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = _tmp3_; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = _tmp5_; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_tmp4_); +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _object_it = _tmp6_; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + while (TRUE) { +#line 926 "Thumbnail.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + Tag* tag = NULL; + DataObject* _tmp11_ = NULL; + Tag* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + MediaSource* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = _object_it; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (!_tmp8_) { +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + break; +#line 946 "Thumbnail.c" + } +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = _object_it; +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + object = (DataObject*) _tmp10_; +#line 106 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = object; +#line 106 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_TAG, Tag)); +#line 106 "/home/jens/Source/shotwell/src/Thumbnail.vala" + tag = _tmp12_; +#line 108 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp13_ = tag; +#line 108 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp14_ = self->priv->media; +#line 108 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp15_ = tag_contains (_tmp13_, _tmp14_); +#line 108 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp15_) { +#line 109 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_tags (self, FALSE); +#line 111 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (tag); +#line 111 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (object); +#line 111 "/home/jens/Source/shotwell/src/Thumbnail.vala" + break; +#line 976 "Thumbnail.c" + } +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (tag); +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (object); +#line 982 "Thumbnail.c" + } +#line 105 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_object_it); +#line 986 "Thumbnail.c" + } +} + + +static void thumbnail_update_title (Thumbnail* self, gboolean init) { + gchar* title = NULL; + MediaSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 116 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 117 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->media; +#line 117 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 117 "/home/jens/Source/shotwell/src/Thumbnail.vala" + title = _tmp1_; +#line 118 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = title; +#line 118 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 118 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp3_) { +#line 119 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_clear_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1013 "Thumbnail.c" + } else { + gboolean _tmp4_ = FALSE; +#line 120 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = init; +#line 120 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (!_tmp4_) { +#line 1020 "Thumbnail.c" + const gchar* _tmp5_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = title; +#line 121 "/home/jens/Source/shotwell/src/Thumbnail.vala" + media_source_item_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), _tmp5_, FALSE, PANGO_ALIGN_LEFT); +#line 1026 "Thumbnail.c" + } else { +#line 123 "/home/jens/Source/shotwell/src/Thumbnail.vala" + media_source_item_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), "", FALSE, PANGO_ALIGN_LEFT); +#line 1030 "Thumbnail.c" + } + } +#line 116 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (title); +#line 1035 "Thumbnail.c" +} + + +static void thumbnail_update_comment (Thumbnail* self, gboolean init) { + gchar* comment = NULL; + MediaSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 126 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 127 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->media; +#line 127 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = media_source_get_comment (_tmp0_); +#line 127 "/home/jens/Source/shotwell/src/Thumbnail.vala" + comment = _tmp1_; +#line 128 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = comment; +#line 128 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 128 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp3_) { +#line 129 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_clear_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1061 "Thumbnail.c" + } else { + gboolean _tmp4_ = FALSE; +#line 130 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = init; +#line 130 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (!_tmp4_) { +#line 1068 "Thumbnail.c" + const gchar* _tmp5_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = comment; +#line 131 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp5_, FALSE, PANGO_ALIGN_LEFT); +#line 1074 "Thumbnail.c" + } else { +#line 133 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), "", FALSE, PANGO_ALIGN_LEFT); +#line 1078 "Thumbnail.c" + } + } +#line 126 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (comment); +#line 1083 "Thumbnail.c" +} + + +static void thumbnail_real_notify_altered (DataObject* base, Alteration* alteration) { + Thumbnail * self; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + Alteration* _tmp8_ = NULL; +#line 136 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL, Thumbnail); +#line 136 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 137 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = self->priv->exposure; +#line 137 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp1_) { +#line 1102 "Thumbnail.c" + Alteration* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 137 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = alteration; +#line 137 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = alteration_has_detail (_tmp2_, "metadata", "name"); +#line 137 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = _tmp3_; +#line 1111 "Thumbnail.c" + } else { +#line 137 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = FALSE; +#line 1115 "Thumbnail.c" + } +#line 137 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp0_) { +#line 138 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_title (self, FALSE); +#line 1121 "Thumbnail.c" + } +#line 139 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = self->priv->exposure; +#line 139 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp5_) { +#line 1127 "Thumbnail.c" + Alteration* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 139 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = alteration; +#line 139 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = alteration_has_detail (_tmp6_, "metadata", "comment"); +#line 139 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = _tmp7_; +#line 1136 "Thumbnail.c" + } else { +#line 139 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = FALSE; +#line 1140 "Thumbnail.c" + } +#line 139 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp4_) { +#line 140 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_comment (self, FALSE); +#line 1146 "Thumbnail.c" + } +#line 142 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = alteration; +#line 142 "/home/jens/Source/shotwell/src/Thumbnail.vala" + DATA_OBJECT_CLASS (thumbnail_parent_class)->notify_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), TYPE_DATA_OBJECT, DataObject), _tmp8_); +#line 1152 "Thumbnail.c" +} + + +MediaSource* thumbnail_get_media_source (Thumbnail* self) { + MediaSource* result = NULL; + MediaSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_THUMBNAIL (self), NULL); +#line 146 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->media; +#line 146 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 146 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp1_; +#line 146 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1170 "Thumbnail.c" +} + + +gint64 thumbnail_photo_id_ascending_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + void* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + gint64 _tmp5_ = 0LL; +#line 154 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = a; +#line 154 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp0_, TYPE_THUMBNAIL, Thumbnail)->priv->media; +#line 154 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource)); +#line 154 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = b; +#line 154 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp3_, TYPE_THUMBNAIL, Thumbnail)->priv->media; +#line 154 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_SOURCE, DataSource)); +#line 154 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp2_ - _tmp5_; +#line 154 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1198 "Thumbnail.c" +} + + +gint64 thumbnail_photo_id_descending_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; +#line 158 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = b; +#line 158 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = a; +#line 158 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = thumbnail_photo_id_ascending_comparator (_tmp0_, _tmp1_); +#line 158 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp2_; +#line 158 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1217 "Thumbnail.c" +} + + +gint64 thumbnail_title_ascending_comparator (void* a, void* b) { + gint64 result = 0LL; + gint64 _result_ = 0LL; + GCompareFunc _tmp0_ = NULL; + void* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + void* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; + gint64 _tmp9_ = 0LL; + gint64 _tmp10_ = 0LL; +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = g_strcmp0; +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = a; +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = media_source_item_get_natural_collation_key (G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp1_, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem)); +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp2_; +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = b; +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = media_source_item_get_natural_collation_key (G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp4_, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem)); +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = _tmp5_; +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = _tmp0_ (_tmp3_, _tmp6_); +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = (gint64) _tmp7_; +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp6_); +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp3_); +#line 162 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _result_ = _tmp8_; +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = _result_; +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp10_ != ((gint64) 0)) { +#line 1263 "Thumbnail.c" + gint64 _tmp11_ = 0LL; +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = _result_; +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = _tmp11_; +#line 1269 "Thumbnail.c" + } else { + void* _tmp12_ = NULL; + void* _tmp13_ = NULL; + gint64 _tmp14_ = 0LL; +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp12_ = a; +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp13_ = b; +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp14_ = thumbnail_photo_id_ascending_comparator (_tmp12_, _tmp13_); +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = _tmp14_; +#line 1282 "Thumbnail.c" + } +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp9_; +#line 163 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1288 "Thumbnail.c" +} + + +gint64 thumbnail_title_descending_comparator (void* a, void* b) { + gint64 result = 0LL; + gint64 _result_ = 0LL; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gint64 _tmp3_ = 0LL; + gint64 _tmp4_ = 0LL; +#line 167 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = b; +#line 167 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = a; +#line 167 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = thumbnail_title_ascending_comparator (_tmp0_, _tmp1_); +#line 167 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _result_ = _tmp2_; +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = _result_; +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp4_ != ((gint64) 0)) { +#line 1312 "Thumbnail.c" + gint64 _tmp5_ = 0LL; +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _result_; +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp5_; +#line 1318 "Thumbnail.c" + } else { + void* _tmp6_ = NULL; + void* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = a; +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = b; +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = thumbnail_photo_id_descending_comparator (_tmp6_, _tmp7_); +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp8_; +#line 1331 "Thumbnail.c" + } +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp3_; +#line 169 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1337 "Thumbnail.c" +} + + +gboolean thumbnail_title_comparator_predicate (DataObject* object, Alteration* alteration) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 172 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 172 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 173 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = alteration; +#line 173 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "title"); +#line 173 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp1_; +#line 173 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1357 "Thumbnail.c" +} + + +gint64 thumbnail_exposure_time_ascending_comparator (void* a, void* b) { + gint64 result = 0LL; + gint64 time_a = 0LL; + void* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + time_t _tmp2_ = 0; + gint64 time_b = 0LL; + void* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + time_t _tmp5_ = 0; + gint64 _result_ = 0LL; + gint64 _tmp6_ = 0LL; + gint64 _tmp7_ = 0LL; + gint64 _tmp8_ = 0LL; + gint64 _tmp9_ = 0LL; +#line 177 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = a; +#line 177 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp0_, TYPE_THUMBNAIL, Thumbnail)->priv->media; +#line 177 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = media_source_get_exposure_time (_tmp1_); +#line 177 "/home/jens/Source/shotwell/src/Thumbnail.vala" + time_a = (gint64) _tmp2_; +#line 178 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = b; +#line 178 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp3_, TYPE_THUMBNAIL, Thumbnail)->priv->media; +#line 178 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = media_source_get_exposure_time (_tmp4_); +#line 178 "/home/jens/Source/shotwell/src/Thumbnail.vala" + time_b = (gint64) _tmp5_; +#line 179 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = time_a; +#line 179 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = time_b; +#line 179 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _result_ = _tmp6_ - _tmp7_; +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = _result_; +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp9_ != ((gint64) 0)) { +#line 1402 "Thumbnail.c" + gint64 _tmp10_ = 0LL; +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = _result_; +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = _tmp10_; +#line 1408 "Thumbnail.c" + } else { + void* _tmp11_ = NULL; + void* _tmp12_ = NULL; + gint64 _tmp13_ = 0LL; +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = a; +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp12_ = b; +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp13_ = thumbnail_filename_ascending_comparator (_tmp11_, _tmp12_); +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = _tmp13_; +#line 1421 "Thumbnail.c" + } +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp8_; +#line 181 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1427 "Thumbnail.c" +} + + +gint64 thumbnail_exposure_time_desending_comparator (void* a, void* b) { + gint64 result = 0LL; + gint64 _result_ = 0LL; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gint64 _tmp3_ = 0LL; + gint64 _tmp4_ = 0LL; +#line 185 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = b; +#line 185 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = a; +#line 185 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = thumbnail_exposure_time_ascending_comparator (_tmp0_, _tmp1_); +#line 185 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _result_ = _tmp2_; +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = _result_; +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp4_ != ((gint64) 0)) { +#line 1451 "Thumbnail.c" + gint64 _tmp5_ = 0LL; +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _result_; +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp5_; +#line 1457 "Thumbnail.c" + } else { + void* _tmp6_ = NULL; + void* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = a; +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = b; +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = thumbnail_filename_descending_comparator (_tmp6_, _tmp7_); +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp8_; +#line 1470 "Thumbnail.c" + } +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp3_; +#line 187 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1476 "Thumbnail.c" +} + + +gboolean thumbnail_exposure_time_comparator_predicate (DataObject* object, Alteration* alteration) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 190 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 190 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 191 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = alteration; +#line 191 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "exposure-time"); +#line 191 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp1_; +#line 191 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1496 "Thumbnail.c" +} + + +gboolean thumbnail_filename_comparator_predicate (DataObject* object, Alteration* alteration) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 194 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 194 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 195 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = alteration; +#line 195 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "filename"); +#line 195 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp1_; +#line 195 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1516 "Thumbnail.c" +} + + +gint64 thumbnail_filename_ascending_comparator (void* a, void* b) { + gint64 result = 0LL; + gchar* path_a = NULL; + void* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* path_b = NULL; + void* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gint64 _result_ = 0LL; + GCompareFunc _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint64 _tmp24_ = 0LL; + gint64 _tmp25_ = 0LL; + gint64 _tmp26_ = 0LL; +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = a; +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp0_, TYPE_THUMBNAIL, Thumbnail)->priv->media; +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = media_source_get_file (_tmp1_); +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp2_; +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = g_file_get_basename (_tmp3_); +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _tmp4_; +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = g_utf8_strdown (_tmp5_, (gssize) -1); +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = _tmp6_; +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp5_); +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_tmp3_); +#line 199 "/home/jens/Source/shotwell/src/Thumbnail.vala" + path_a = _tmp7_; +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = b; +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp8_, TYPE_THUMBNAIL, Thumbnail)->priv->media; +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = media_source_get_file (_tmp9_); +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = _tmp10_; +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp12_ = g_file_get_basename (_tmp11_); +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp13_ = _tmp12_; +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp14_ = g_utf8_strdown (_tmp13_, (gssize) -1); +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp15_ = _tmp14_; +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp13_); +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_tmp11_); +#line 200 "/home/jens/Source/shotwell/src/Thumbnail.vala" + path_b = _tmp15_; +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp16_ = g_strcmp0; +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp17_ = path_a; +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp18_ = g_utf8_collate_key_for_filename (_tmp17_, (gssize) -1); +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp19_ = _tmp18_; +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp20_ = path_b; +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp21_ = g_utf8_collate_key_for_filename (_tmp20_, (gssize) -1); +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp22_ = _tmp21_; +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp23_ = _tmp16_ (_tmp19_, _tmp22_); +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp24_ = (gint64) _tmp23_; +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp22_); +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp19_); +#line 202 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _result_ = _tmp24_; +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp26_ = _result_; +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp26_ != ((gint64) 0)) { +#line 1624 "Thumbnail.c" + gint64 _tmp27_ = 0LL; +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp27_ = _result_; +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp25_ = _tmp27_; +#line 1630 "Thumbnail.c" + } else { + void* _tmp28_ = NULL; + void* _tmp29_ = NULL; + gint64 _tmp30_ = 0LL; +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp28_ = a; +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp29_ = b; +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp30_ = thumbnail_photo_id_ascending_comparator (_tmp28_, _tmp29_); +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp25_ = _tmp30_; +#line 1643 "Thumbnail.c" + } +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp25_; +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (path_b); +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (path_a); +#line 204 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1653 "Thumbnail.c" +} + + +gint64 thumbnail_filename_descending_comparator (void* a, void* b) { + gint64 result = 0LL; + gint64 _result_ = 0LL; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gint64 _tmp3_ = 0LL; + gint64 _tmp4_ = 0LL; +#line 208 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = b; +#line 208 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = a; +#line 208 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = thumbnail_filename_ascending_comparator (_tmp0_, _tmp1_); +#line 208 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _result_ = _tmp2_; +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = _result_; +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp4_ != ((gint64) 0)) { +#line 1677 "Thumbnail.c" + gint64 _tmp5_ = 0LL; +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _result_; +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp5_; +#line 1683 "Thumbnail.c" + } else { + void* _tmp6_ = NULL; + void* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = a; +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = b; +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = thumbnail_photo_id_descending_comparator (_tmp6_, _tmp7_); +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp8_; +#line 1696 "Thumbnail.c" + } +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp3_; +#line 210 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1702 "Thumbnail.c" +} + + +gint64 thumbnail_rating_ascending_comparator (void* a, void* b) { + gint64 result = 0LL; + gint64 _result_ = 0LL; + void* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + Rating _tmp2_ = 0; + void* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + Rating _tmp5_ = 0; + gint64 _tmp6_ = 0LL; + gint64 _tmp7_ = 0LL; +#line 214 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = a; +#line 214 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp0_, TYPE_THUMBNAIL, Thumbnail)->priv->media; +#line 214 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = media_source_get_rating (_tmp1_); +#line 214 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = b; +#line 214 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST ((Thumbnail*) _tmp3_, TYPE_THUMBNAIL, Thumbnail)->priv->media; +#line 214 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = media_source_get_rating (_tmp4_); +#line 214 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _result_ = (gint64) (_tmp2_ - _tmp5_); +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = _result_; +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp7_ != ((gint64) 0)) { +#line 1735 "Thumbnail.c" + gint64 _tmp8_ = 0LL; +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = _result_; +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = _tmp8_; +#line 1741 "Thumbnail.c" + } else { + void* _tmp9_ = NULL; + void* _tmp10_ = NULL; + gint64 _tmp11_ = 0LL; +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = a; +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = b; +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = thumbnail_photo_id_ascending_comparator (_tmp9_, _tmp10_); +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = _tmp11_; +#line 1754 "Thumbnail.c" + } +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp6_; +#line 216 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1760 "Thumbnail.c" +} + + +gint64 thumbnail_rating_descending_comparator (void* a, void* b) { + gint64 result = 0LL; + gint64 _result_ = 0LL; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gint64 _tmp3_ = 0LL; + gint64 _tmp4_ = 0LL; +#line 220 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = b; +#line 220 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = a; +#line 220 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = thumbnail_rating_ascending_comparator (_tmp0_, _tmp1_); +#line 220 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _result_ = _tmp2_; +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = _result_; +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp4_ != ((gint64) 0)) { +#line 1784 "Thumbnail.c" + gint64 _tmp5_ = 0LL; +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _result_; +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp5_; +#line 1790 "Thumbnail.c" + } else { + void* _tmp6_ = NULL; + void* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = a; +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = b; +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = thumbnail_photo_id_descending_comparator (_tmp6_, _tmp7_); +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp8_; +#line 1803 "Thumbnail.c" + } +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp3_; +#line 222 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1809 "Thumbnail.c" +} + + +gboolean thumbnail_rating_comparator_predicate (DataObject* object, Alteration* alteration) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 225 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 225 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 226 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = alteration; +#line 226 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "rating"); +#line 226 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp1_; +#line 226 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 1829 "Thumbnail.c" +} + + +static void thumbnail_real_thumbnail_altered (ThumbnailView* base) { + Thumbnail * self; + MediaSource* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + gint _tmp2_ = 0; + Dimensions _tmp3_ = {0}; + gboolean _tmp4_ = FALSE; +#line 229 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL, Thumbnail); +#line 230 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->media; +#line 230 "/home/jens/Source/shotwell/src/Thumbnail.vala" + media_source_get_dimensions (_tmp0_, PHOTO_EXCEPTION_NONE, &_tmp1_); +#line 230 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->original_dim = _tmp1_; +#line 231 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = self->priv->scale; +#line 231 "/home/jens/Source/shotwell/src/Thumbnail.vala" + dimensions_get_scaled (&self->priv->original_dim, _tmp2_, TRUE, &_tmp3_); +#line 231 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->dim = _tmp3_; +#line 233 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = self->priv->exposure; +#line 233 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp4_) { +#line 234 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_delayed_high_quality_fetch (self); +#line 1860 "Thumbnail.c" + } else { +#line 236 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_paint_empty (self); +#line 1864 "Thumbnail.c" + } +#line 238 "/home/jens/Source/shotwell/src/Thumbnail.vala" + THUMBNAIL_VIEW_CLASS (thumbnail_parent_class)->thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), TYPE_THUMBNAIL_VIEW, ThumbnailView)); +#line 1868 "Thumbnail.c" +} + + +static void thumbnail_real_notify_collection_property_set (DataObject* base, const gchar* name, GValue* old, GValue* val) { + Thumbnail * self; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; + const gchar* _tmp5_ = NULL; + GValue* _tmp6_ = NULL; + GValue _tmp7_ = {0}; +#line 241 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL, Thumbnail); +#line 241 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (name != NULL); +#line 241 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (val != NULL); +#line 242 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = name; +#line 242 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = _tmp0_; +#line 242 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 242 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp3_ == g_quark_from_string (THUMBNAIL_PROP_SIZE)) { +#line 242 "/home/jens/Source/shotwell/src/Thumbnail.vala" + switch (0) { +#line 1896 "Thumbnail.c" + default: + { + GValue _tmp4_ = {0}; +#line 244 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = *val; +#line 244 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_resize (self, g_value_get_int (&_tmp4_)); +#line 245 "/home/jens/Source/shotwell/src/Thumbnail.vala" + break; +#line 1906 "Thumbnail.c" + } + } + } else if (_tmp3_ == g_quark_from_string (THUMBNAIL_PROP_SHOW_RATINGS)) { +#line 242 "/home/jens/Source/shotwell/src/Thumbnail.vala" + switch (0) { +#line 1912 "Thumbnail.c" + default: + { +#line 248 "/home/jens/Source/shotwell/src/Thumbnail.vala" + data_view_notify_view_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 249 "/home/jens/Source/shotwell/src/Thumbnail.vala" + break; +#line 1919 "Thumbnail.c" + } + } + } +#line 252 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = name; +#line 252 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = old; +#line 252 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = *val; +#line 252 "/home/jens/Source/shotwell/src/Thumbnail.vala" + DATA_OBJECT_CLASS (thumbnail_parent_class)->notify_collection_property_set (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), TYPE_DATA_OBJECT, DataObject), _tmp5_, _tmp6_, &_tmp7_); +#line 1931 "Thumbnail.c" +} + + +static void thumbnail_resize (Thumbnail* self, gint new_scale) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + Dimensions _tmp10_ = {0}; + gboolean _tmp11_ = FALSE; +#line 255 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 256 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = new_scale; +#line 256 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = thumbnail_get_MIN_SCALE (); +#line 256 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = _tmp1_; +#line 256 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _vala_assert (_tmp0_ >= _tmp2_, "new_scale >= MIN_SCALE"); +#line 257 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = new_scale; +#line 257 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = thumbnail_get_MAX_SCALE (); +#line 257 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _tmp4_; +#line 257 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _vala_assert (_tmp3_ <= _tmp5_, "new_scale <= MAX_SCALE"); +#line 259 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = self->priv->scale; +#line 259 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = new_scale; +#line 259 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp6_ == _tmp7_) { +#line 260 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return; +#line 1974 "Thumbnail.c" + } +#line 262 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = new_scale; +#line 262 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->scale = _tmp8_; +#line 263 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = self->priv->scale; +#line 263 "/home/jens/Source/shotwell/src/Thumbnail.vala" + dimensions_get_scaled (&self->priv->original_dim, _tmp9_, TRUE, &_tmp10_); +#line 263 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->dim = _tmp10_; +#line 265 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_cancel_async_fetch (self); +#line 267 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = self->priv->exposure; +#line 267 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp11_) { +#line 1992 "Thumbnail.c" + GdkPixbuf* resizable = NULL; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp17_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/Thumbnail.vala" + resizable = NULL; +#line 273 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp12_ = self->priv->unscaled_pixbuf; +#line 273 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp12_ != NULL) { +#line 2002 "Thumbnail.c" + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp13_ = self->priv->unscaled_pixbuf; +#line 274 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp14_ = _g_object_ref0 (_tmp13_); +#line 274 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (resizable); +#line 274 "/home/jens/Source/shotwell/src/Thumbnail.vala" + resizable = _tmp14_; +#line 2013 "Thumbnail.c" + } else { + gboolean _tmp15_ = FALSE; +#line 275 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp15_ = checkerboard_item_has_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 275 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp15_) { +#line 2020 "Thumbnail.c" + GdkPixbuf* _tmp16_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp16_ = checkerboard_item_get_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 276 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (resizable); +#line 276 "/home/jens/Source/shotwell/src/Thumbnail.vala" + resizable = _tmp16_; +#line 2028 "Thumbnail.c" + } + } +#line 278 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp17_ = resizable; +#line 278 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp17_ != NULL) { +#line 2035 "Thumbnail.c" + GdkPixbuf* _tmp18_ = NULL; + Dimensions _tmp19_ = {0}; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp18_ = resizable; +#line 279 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp19_ = self->priv->dim; +#line 279 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp20_ = resize_pixbuf (_tmp18_, &_tmp19_, THUMBNAIL_LOW_QUALITY_INTERP); +#line 279 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp21_ = _tmp20_; +#line 279 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_set_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp21_); +#line 279 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_tmp21_); +#line 2052 "Thumbnail.c" + } +#line 281 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_delayed_high_quality_fetch (self); +#line 267 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (resizable); +#line 2058 "Thumbnail.c" + } else { + Dimensions _tmp22_ = {0}; +#line 283 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp22_ = self->priv->dim; +#line 283 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_clear_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), &_tmp22_); +#line 2065 "Thumbnail.c" + } +} + + +static void thumbnail_paint_empty (Thumbnail* self) { + Dimensions _tmp0_ = {0}; +#line 287 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 288 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_cancel_async_fetch (self); +#line 289 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->dim; +#line 289 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_clear_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), &_tmp0_); +#line 290 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->unscaled_pixbuf); +#line 290 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->unscaled_pixbuf = NULL; +#line 2084 "Thumbnail.c" +} + + +static void _thumbnail_on_low_quality_fetched_thumbnail_cache_async_fetch_callback (GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err, gpointer self) { +#line 297 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_on_low_quality_fetched ((Thumbnail*) self, pixbuf, unscaled, dim, interp, err); +#line 2091 "Thumbnail.c" +} + + +static void thumbnail_schedule_low_quality_fetch (Thumbnail* self) { + GCancellable* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + GCancellable* _tmp3_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 294 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_cancel_async_fetch (self); +#line 295 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = g_cancellable_new (); +#line 295 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->cancellable); +#line 295 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->cancellable = _tmp0_; +#line 297 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = self->priv->media; +#line 297 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = self->priv->dim; +#line 297 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = self->priv->cancellable; +#line 297 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_cache_fetch_async_scaled (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), (gint) THUMBNAIL_CACHE_SIZE_SMALLEST, &_tmp2_, THUMBNAIL_LOW_QUALITY_INTERP, _thumbnail_on_low_quality_fetched_thumbnail_cache_async_fetch_callback, self, _tmp3_); +#line 2118 "Thumbnail.c" +} + + +static gboolean _thumbnail_on_schedule_high_quality_gsource_func (gpointer self) { + gboolean result; + result = thumbnail_on_schedule_high_quality ((Thumbnail*) self); +#line 308 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 2127 "Thumbnail.c" +} + + +static void thumbnail_delayed_high_quality_fetch (Thumbnail* self) { + gboolean _tmp0_ = FALSE; +#line 301 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 302 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->hq_scheduled; +#line 302 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp0_) { +#line 303 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->hq_reschedule = TRUE; +#line 305 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return; +#line 2143 "Thumbnail.c" + } +#line 308 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) THUMBNAIL_HQ_IMPROVEMENT_MSEC, _thumbnail_on_schedule_high_quality_gsource_func, g_object_ref (self), g_object_unref); +#line 309 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->hq_scheduled = TRUE; +#line 2149 "Thumbnail.c" +} + + +static void _thumbnail_on_high_quality_fetched_thumbnail_cache_async_fetch_callback (GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err, gpointer self) { +#line 323 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_on_high_quality_fetched ((Thumbnail*) self, pixbuf, unscaled, dim, interp, err); +#line 2156 "Thumbnail.c" +} + + +static gboolean thumbnail_on_schedule_high_quality (Thumbnail* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GCancellable* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 312 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_val_if_fail (IS_THUMBNAIL (self), FALSE); +#line 313 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->hq_reschedule; +#line 313 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp0_) { +#line 314 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->hq_reschedule = FALSE; +#line 316 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = TRUE; +#line 316 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 2177 "Thumbnail.c" + } +#line 319 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_cancel_async_fetch (self); +#line 320 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = g_cancellable_new (); +#line 320 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->cancellable); +#line 320 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->cancellable = _tmp1_; +#line 322 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = self->priv->exposure; +#line 322 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp2_) { +#line 2191 "Thumbnail.c" + MediaSource* _tmp3_ = NULL; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; + GCancellable* _tmp6_ = NULL; +#line 323 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = self->priv->media; +#line 323 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = self->priv->scale; +#line 323 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = self->priv->dim; +#line 323 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = self->priv->cancellable; +#line 323 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_cache_fetch_async_scaled (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp4_, &_tmp5_, THUMBNAIL_HIGH_QUALITY_INTERP, _thumbnail_on_high_quality_fetched_thumbnail_cache_async_fetch_callback, self, _tmp6_); +#line 2206 "Thumbnail.c" + } +#line 327 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->hq_scheduled = FALSE; +#line 329 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = FALSE; +#line 329 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 2214 "Thumbnail.c" +} + + +static void thumbnail_cancel_async_fetch (Thumbnail* self) { + GCancellable* _tmp0_ = NULL; +#line 332 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 334 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->cancellable; +#line 334 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp0_ != NULL) { +#line 2226 "Thumbnail.c" + GCancellable* _tmp1_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = self->priv->cancellable; +#line 335 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_cancellable_cancel (_tmp1_); +#line 2232 "Thumbnail.c" + } +} + + +static void thumbnail_on_low_quality_fetched (Thumbnail* self, GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err) { + GError* _tmp0_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp8_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 338 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail ((pixbuf == NULL) || GDK_IS_PIXBUF (pixbuf)); +#line 338 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail ((unscaled == NULL) || GDK_IS_PIXBUF (unscaled)); +#line 338 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (dim != NULL); +#line 340 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = err; +#line 340 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp0_ != NULL) { +#line 2253 "Thumbnail.c" + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 341 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 341 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = _tmp1_; +#line 341 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = self->priv->scale; +#line 341 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = err; +#line 341 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _tmp4_->message; +#line 341 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_critical ("Thumbnail.vala:341: Unable to fetch low-quality thumbnail for %s (scal" \ +"e: %d): %s", _tmp2_, _tmp3_, _tmp5_); +#line 341 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp2_); +#line 2273 "Thumbnail.c" + } +#line 344 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = pixbuf; +#line 344 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp6_ != NULL) { +#line 2279 "Thumbnail.c" + GdkPixbuf* _tmp7_ = NULL; +#line 345 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = pixbuf; +#line 345 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_set_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp7_); +#line 2285 "Thumbnail.c" + } +#line 347 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = unscaled; +#line 347 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp8_ != NULL) { +#line 2291 "Thumbnail.c" + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; +#line 348 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = unscaled; +#line 348 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 348 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->unscaled_pixbuf); +#line 348 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->unscaled_pixbuf = _tmp10_; +#line 2302 "Thumbnail.c" + } +#line 350 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_delayed_high_quality_fetch (self); +#line 2306 "Thumbnail.c" +} + + +static void thumbnail_on_high_quality_fetched (Thumbnail* self, GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err) { + GError* _tmp0_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp8_ = NULL; +#line 353 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (IS_THUMBNAIL (self)); +#line 353 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail ((pixbuf == NULL) || GDK_IS_PIXBUF (pixbuf)); +#line 353 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail ((unscaled == NULL) || GDK_IS_PIXBUF (unscaled)); +#line 353 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_return_if_fail (dim != NULL); +#line 355 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = err; +#line 355 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp0_ != NULL) { +#line 2326 "Thumbnail.c" + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 356 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 356 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = _tmp1_; +#line 356 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = self->priv->scale; +#line 356 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = err; +#line 356 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _tmp4_->message; +#line 356 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_critical ("Thumbnail.vala:356: Unable to fetch high-quality thumbnail for %s (sca" \ +"le: %d): %s", _tmp2_, _tmp3_, _tmp5_); +#line 356 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_free0 (_tmp2_); +#line 2346 "Thumbnail.c" + } +#line 359 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = pixbuf; +#line 359 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp6_ != NULL) { +#line 2352 "Thumbnail.c" + GdkPixbuf* _tmp7_ = NULL; +#line 360 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = pixbuf; +#line 360 "/home/jens/Source/shotwell/src/Thumbnail.vala" + checkerboard_item_set_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp7_); +#line 2358 "Thumbnail.c" + } +#line 362 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = unscaled; +#line 362 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp8_ != NULL) { +#line 2364 "Thumbnail.c" + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; +#line 363 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = unscaled; +#line 363 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 363 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->unscaled_pixbuf); +#line 363 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->unscaled_pixbuf = _tmp10_; +#line 2375 "Thumbnail.c" + } +} + + +static void thumbnail_real_exposed (CheckerboardItem* base) { + Thumbnail * self; + gboolean _tmp0_ = FALSE; +#line 366 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL, Thumbnail); +#line 367 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->exposure = TRUE; +#line 369 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = checkerboard_item_has_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 369 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (!_tmp0_) { +#line 370 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_schedule_low_quality_fetch (self); +#line 2393 "Thumbnail.c" + } +#line 372 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_title (self, FALSE); +#line 373 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_comment (self, FALSE); +#line 374 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_update_tags (self, FALSE); +#line 376 "/home/jens/Source/shotwell/src/Thumbnail.vala" + CHECKERBOARD_ITEM_CLASS (thumbnail_parent_class)->exposed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 2403 "Thumbnail.c" +} + + +static void thumbnail_real_unexposed (CheckerboardItem* base) { + Thumbnail * self; +#line 379 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL, Thumbnail); +#line 380 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->exposure = FALSE; +#line 382 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_paint_empty (self); +#line 384 "/home/jens/Source/shotwell/src/Thumbnail.vala" + CHECKERBOARD_ITEM_CLASS (thumbnail_parent_class)->unexposed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 2417 "Thumbnail.c" +} + + +static GdkPixbuf* thumbnail_real_get_top_right_trinket (CheckerboardItem* base, gint scale) { + Thumbnail * self; + GdkPixbuf* result = NULL; + Flaggable* flaggable = NULL; + MediaSource* _tmp0_ = NULL; + Flaggable* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + Flaggable* _tmp4_ = NULL; +#line 387 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL, Thumbnail); +#line 388 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->media; +#line 388 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp0_) : NULL); +#line 388 "/home/jens/Source/shotwell/src/Thumbnail.vala" + flaggable = _tmp1_; +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = flaggable; +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp4_ != NULL) { +#line 2442 "Thumbnail.c" + Flaggable* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = flaggable; +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = flaggable_is_flagged (_tmp5_); +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = _tmp6_; +#line 2451 "Thumbnail.c" + } else { +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = FALSE; +#line 2455 "Thumbnail.c" + } +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp3_) { +#line 2459 "Thumbnail.c" + GdkPixbuf* _tmp7_ = NULL; +#line 391 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = resources_get_icon (RESOURCES_ICON_FLAGGED_TRINKET, RESOURCES_DEFAULT_ICON_SCALE); +#line 391 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_tmp2_); +#line 391 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = _tmp7_; +#line 2467 "Thumbnail.c" + } else { +#line 391 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_tmp2_); +#line 391 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = NULL; +#line 2473 "Thumbnail.c" + } +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp2_; +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (flaggable); +#line 390 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 2481 "Thumbnail.c" +} + + +static void _vala_GValue_free (GValue* self) { +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_value_unset (self); +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_free (self); +#line 2490 "Thumbnail.c" +} + + +static GdkPixbuf* thumbnail_real_get_bottom_left_trinket (CheckerboardItem* base, gint scale) { + Thumbnail * self; + GdkPixbuf* result = NULL; + Rating rating = 0; + MediaSource* _tmp0_ = NULL; + Rating _tmp1_ = 0; + gboolean show_ratings = FALSE; + GValue* _tmp2_ = NULL; + GValue* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GdkPixbuf* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + Rating _tmp7_ = 0; +#line 394 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_THUMBNAIL, Thumbnail); +#line 395 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->media; +#line 395 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = media_source_get_rating (_tmp0_); +#line 395 "/home/jens/Source/shotwell/src/Thumbnail.vala" + rating = _tmp1_; +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = g_new0 (GValue, 1); +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_value_init (_tmp2_, G_TYPE_BOOLEAN); +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_value_set_boolean (_tmp2_, FALSE); +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp3_ = data_object_get_collection_property (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), THUMBNAIL_PROP_SHOW_RATINGS, _tmp2_); +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = g_value_get_boolean (_tmp3_); +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + __vala_GValue_free0 (_tmp2_); +#line 396 "/home/jens/Source/shotwell/src/Thumbnail.vala" + show_ratings = _tmp4_; +#line 398 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp7_ = rating; +#line 398 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp7_ != RATING_UNRATED) { +#line 2533 "Thumbnail.c" + gboolean _tmp8_ = FALSE; +#line 398 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp8_ = show_ratings; +#line 398 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = _tmp8_; +#line 2539 "Thumbnail.c" + } else { +#line 398 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp6_ = FALSE; +#line 2543 "Thumbnail.c" + } +#line 398 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp6_) { +#line 2547 "Thumbnail.c" + Rating _tmp9_ = 0; + gint _tmp10_ = 0; + GdkPixbuf* _tmp11_ = NULL; +#line 399 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp9_ = rating; +#line 399 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp10_ = scale; +#line 399 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp11_ = resources_get_rating_trinket (_tmp9_, _tmp10_); +#line 399 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_tmp5_); +#line 399 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = _tmp11_; +#line 2561 "Thumbnail.c" + } else { +#line 399 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (_tmp5_); +#line 399 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp5_ = NULL; +#line 2567 "Thumbnail.c" + } +#line 398 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp5_; +#line 398 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 2573 "Thumbnail.c" +} + + +gint thumbnail_get_MIN_SCALE (void) { + gint result; +#line 18 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = 72; +#line 18 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 2583 "Thumbnail.c" +} + + +gint thumbnail_get_MAX_SCALE (void) { + gint result; + gint _tmp0_ = 0; +#line 23 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_LARGEST); +#line 23 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp0_; +#line 23 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 2596 "Thumbnail.c" +} + + +gint thumbnail_get_DEFAULT_SCALE (void) { + gint result; + gint _tmp0_ = 0; +#line 28 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_MEDIUM); +#line 28 "/home/jens/Source/shotwell/src/Thumbnail.vala" + result = _tmp0_; +#line 28 "/home/jens/Source/shotwell/src/Thumbnail.vala" + return result; +#line 2609 "Thumbnail.c" +} + + +static void thumbnail_class_init (ThumbnailClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + thumbnail_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_type_class_add_private (klass, sizeof (ThumbnailPrivate)); +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + ((DataObjectClass *) klass)->notify_altered = thumbnail_real_notify_altered; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + ((ThumbnailViewClass *) klass)->thumbnail_altered = thumbnail_real_thumbnail_altered; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + ((DataObjectClass *) klass)->notify_collection_property_set = thumbnail_real_notify_collection_property_set; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + ((CheckerboardItemClass *) klass)->exposed = thumbnail_real_exposed; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + ((CheckerboardItemClass *) klass)->unexposed = thumbnail_real_unexposed; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + ((CheckerboardItemClass *) klass)->get_top_right_trinket = thumbnail_real_get_top_right_trinket; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + ((CheckerboardItemClass *) klass)->get_bottom_left_trinket = thumbnail_real_get_bottom_left_trinket; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_thumbnail_get_property; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + G_OBJECT_CLASS (klass)->finalize = thumbnail_finalize; +#line 2636 "Thumbnail.c" +} + + +static void thumbnail_instance_init (Thumbnail * self) { +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv = THUMBNAIL_GET_PRIVATE (self); +#line 41 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->unscaled_pixbuf = NULL; +#line 42 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->cancellable = NULL; +#line 43 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->hq_scheduled = FALSE; +#line 44 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->hq_reschedule = FALSE; +#line 47 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self->priv->exposure = FALSE; +#line 2653 "Thumbnail.c" +} + + +static void thumbnail_finalize (GObject* obj) { + Thumbnail * self; + GCancellable* _tmp0_ = NULL; + TagSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; + TagSourceCollection* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_THUMBNAIL, Thumbnail); +#line 73 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp0_ = self->priv->cancellable; +#line 73 "/home/jens/Source/shotwell/src/Thumbnail.vala" + if (_tmp0_ != NULL) { +#line 2670 "Thumbnail.c" + GCancellable* _tmp1_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp1_ = self->priv->cancellable; +#line 74 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_cancellable_cancel (_tmp1_); +#line 2676 "Thumbnail.c" + } +#line 76 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp2_ = tag_global; +#line 76 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_signal_parse_name ("container-contents-altered", TYPE_CONTAINER_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); +#line 76 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _thumbnail_on_tag_contents_altered_container_source_collection_container_contents_altered, self); +#line 77 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _tmp4_ = tag_global; +#line 77 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp5_, NULL, FALSE); +#line 77 "/home/jens/Source/shotwell/src/Thumbnail.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _thumbnail_on_tags_altered_data_collection_items_altered, self); +#line 37 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->media); +#line 41 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->unscaled_pixbuf); +#line 42 "/home/jens/Source/shotwell/src/Thumbnail.vala" + _g_object_unref0 (self->priv->cancellable); +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + G_OBJECT_CLASS (thumbnail_parent_class)->finalize (obj); +#line 2698 "Thumbnail.c" +} + + +GType thumbnail_get_type (void) { + static volatile gsize thumbnail_type_id__volatile = 0; + if (g_once_init_enter (&thumbnail_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ThumbnailClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Thumbnail), 0, (GInstanceInitFunc) thumbnail_instance_init, NULL }; + GType thumbnail_type_id; + thumbnail_type_id = g_type_register_static (TYPE_MEDIA_SOURCE_ITEM, "Thumbnail", &g_define_type_info, 0); + g_once_init_leave (&thumbnail_type_id__volatile, thumbnail_type_id); + } + return thumbnail_type_id__volatile; +} + + +static void _vala_thumbnail_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + Thumbnail * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_THUMBNAIL, Thumbnail); +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + switch (property_id) { +#line 2719 "Thumbnail.c" + default: +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 7 "/home/jens/Source/shotwell/src/Thumbnail.vala" + break; +#line 2725 "Thumbnail.c" + } +} + + + diff --git a/src/Thumbnail.vala b/src/Thumbnail.vala index 983ab75..2fe28e8 100644 --- a/src/Thumbnail.vala +++ b/src/Thumbnail.vala @@ -80,11 +80,9 @@ public class Thumbnail : MediaSourceItem { private void update_tags(bool init = false) { Gee.Collection? tags = Tag.global.fetch_sorted_for_source(media); if (tags == null || tags.size == 0) - clear_subtitle(); - else if (!init) - set_subtitle(Tag.make_tag_string(tags, "", ", ", "", true), true); + clear_tags(); else - set_subtitle(".", true); + set_tags(tags); } private void on_tag_contents_altered(ContainerSource container, Gee.Collection? added, diff --git a/src/ThumbnailCache.c b/src/ThumbnailCache.c new file mode 100644 index 0000000..225b52d --- /dev/null +++ b/src/ThumbnailCache.c @@ -0,0 +1,4522 @@ +/* ThumbnailCache.c generated by valac 0.32.1, the Vala compiler + * generated from ThumbnailCache.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_THUMBNAILS (thumbnails_get_type ()) +#define THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAILS, Thumbnails)) +#define THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAILS, ThumbnailsClass)) +#define IS_THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAILS)) +#define IS_THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAILS)) +#define THUMBNAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAILS, ThumbnailsClass)) + +typedef struct _Thumbnails Thumbnails; +typedef struct _ThumbnailsClass ThumbnailsClass; +typedef struct _ThumbnailsPrivate ThumbnailsPrivate; + +#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecThumbnails ParamSpecThumbnails; + +#define TYPE_THUMBNAIL_CACHE (thumbnail_cache_get_type ()) +#define THUMBNAIL_CACHE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_CACHE, ThumbnailCache)) +#define THUMBNAIL_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_CACHE, ThumbnailCacheClass)) +#define IS_THUMBNAIL_CACHE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_CACHE)) +#define IS_THUMBNAIL_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_CACHE)) +#define THUMBNAIL_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_CACHE, ThumbnailCacheClass)) + +typedef struct _ThumbnailCache ThumbnailCache; +typedef struct _ThumbnailCacheClass ThumbnailCacheClass; +typedef struct _ThumbnailCachePrivate ThumbnailCachePrivate; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) + +#define THUMBNAIL_CACHE_TYPE_IMAGE_DATA (thumbnail_cache_image_data_get_type ()) +#define THUMBNAIL_CACHE_IMAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUMBNAIL_CACHE_TYPE_IMAGE_DATA, ThumbnailCacheImageData)) +#define THUMBNAIL_CACHE_IMAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUMBNAIL_CACHE_TYPE_IMAGE_DATA, ThumbnailCacheImageDataClass)) +#define THUMBNAIL_CACHE_IS_IMAGE_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUMBNAIL_CACHE_TYPE_IMAGE_DATA)) +#define THUMBNAIL_CACHE_IS_IMAGE_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUMBNAIL_CACHE_TYPE_IMAGE_DATA)) +#define THUMBNAIL_CACHE_IMAGE_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUMBNAIL_CACHE_TYPE_IMAGE_DATA, ThumbnailCacheImageDataClass)) + +typedef struct _ThumbnailCacheImageData ThumbnailCacheImageData; +typedef struct _ThumbnailCacheImageDataClass ThumbnailCacheImageDataClass; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) +#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_ROTATION (rotation_get_type ()) + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; + +#define TYPE_ORIENTATION (orientation_get_type ()) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB (thumbnail_cache_async_fetch_job_get_type ()) +#define THUMBNAIL_CACHE_ASYNC_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB, ThumbnailCacheAsyncFetchJob)) +#define THUMBNAIL_CACHE_ASYNC_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB, ThumbnailCacheAsyncFetchJobClass)) +#define THUMBNAIL_CACHE_IS_ASYNC_FETCH_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB)) +#define THUMBNAIL_CACHE_IS_ASYNC_FETCH_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB)) +#define THUMBNAIL_CACHE_ASYNC_FETCH_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB, ThumbnailCacheAsyncFetchJobClass)) + +typedef struct _ThumbnailCacheAsyncFetchJob ThumbnailCacheAsyncFetchJob; +typedef struct _ThumbnailCacheAsyncFetchJobClass ThumbnailCacheAsyncFetchJobClass; +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _ThumbnailCacheAsyncFetchJobPrivate ThumbnailCacheAsyncFetchJobPrivate; + +#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_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; +#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) +typedef struct _ThumbnailCacheImageDataPrivate ThumbnailCacheImageDataPrivate; +#define _thumbnail_cache_image_data_unref0(var) ((var == NULL) ? NULL : (var = (thumbnail_cache_image_data_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; +typedef struct _ThumbnailCacheParamSpecImageData ThumbnailCacheParamSpecImageData; + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _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 _Thumbnails { + GTypeInstance parent_instance; + volatile int ref_count; + ThumbnailsPrivate * priv; +}; + +struct _ThumbnailsClass { + GTypeClass parent_class; + void (*finalize) (Thumbnails *self); +}; + +typedef enum { + THUMBNAIL_CACHE_SIZE_LARGEST = 360, + THUMBNAIL_CACHE_SIZE_BIG = 360, + THUMBNAIL_CACHE_SIZE_MEDIUM = 128, + THUMBNAIL_CACHE_SIZE_SMALLEST = 128 +} ThumbnailCacheSize; + +struct _ThumbnailsPrivate { + GeeHashMap* map; +}; + +struct _ParamSpecThumbnails { + GParamSpec parent_instance; +}; + +struct _ThumbnailCache { + GObject parent_instance; + ThumbnailCachePrivate * priv; +}; + +struct _ThumbnailCacheClass { + GObjectClass parent_class; +}; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _ThumbnailCachePrivate { + GFile* cache_dir; + ThumbnailCacheSize size; + gulong max_cached_bytes; + GdkInterpType interp; + JpegQuality quality; + GeeHashMap* cache_map; + GeeArrayList* cache_lru; + gulong cached_bytes; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef void (*OneShotCallback) (void* user_data); +typedef void (*ThumbnailCacheAsyncFetchCallback) (GdkPixbuf* pixbuf, GdkPixbuf* unscaled, Dimensions* dim, GdkInterpType interp, GError* err, void* user_data); +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + ROTATION_CLOCKWISE, + ROTATION_COUNTERCLOCKWISE, + ROTATION_MIRROR, + ROTATION_UPSIDE_DOWN +} Rotation; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _ThumbnailCacheAsyncFetchJob { + BackgroundJob parent_instance; + ThumbnailCacheAsyncFetchJobPrivate * priv; + ThumbnailCache* cache; + gchar* thumbnail_name; + ThumbnailSource* source; + PhotoFileFormat source_format; + Dimensions dim; + GdkInterpType interp; + ThumbnailCacheAsyncFetchCallback callback; + gpointer callback_target; + GdkPixbuf* unscaled; + GdkPixbuf* scaled; + GError* err; + gboolean fetched; + gboolean replace; +}; + +struct _ThumbnailCacheAsyncFetchJobClass { + BackgroundJobClass parent_class; +}; + +struct _ThumbnailCacheImageData { + GTypeInstance parent_instance; + volatile int ref_count; + ThumbnailCacheImageDataPrivate * priv; + GdkPixbuf* pixbuf; + gulong bytes; +}; + +struct _ThumbnailCacheImageDataClass { + GTypeClass parent_class; + void (*finalize) (ThumbnailCacheImageData *self); +}; + +typedef enum { + PHOTO_FORMAT_ERROR_READ_ONLY +} PhotoFormatError; +#define PHOTO_FORMAT_ERROR photo_format_error_quark () +struct _ThumbnailCacheParamSpecImageData { + GParamSpec parent_instance; +}; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); + +static gpointer thumbnails_parent_class = NULL; +static gpointer thumbnail_cache_parent_class = NULL; +static ThumbnailCacheSize* thumbnail_cache_ALL_SIZES; +static gint thumbnail_cache_ALL_SIZES_length1; +static ThumbnailCacheSize* thumbnail_cache_ALL_SIZES = NULL; +static gint thumbnail_cache_ALL_SIZES_length1 = 0; +static gint _thumbnail_cache_ALL_SIZES_size_ = 0; +static Workers* thumbnail_cache_fetch_workers; +static Workers* thumbnail_cache_fetch_workers = NULL; +static ThumbnailCache* thumbnail_cache_big; +static ThumbnailCache* thumbnail_cache_big = NULL; +static ThumbnailCache* thumbnail_cache_medium; +static ThumbnailCache* thumbnail_cache_medium = NULL; +static OneShotScheduler* thumbnail_cache_debug_scheduler; +static OneShotScheduler* thumbnail_cache_debug_scheduler = NULL; +static gint thumbnail_cache_cycle_fetched_thumbnails; +static gint thumbnail_cache_cycle_fetched_thumbnails = 0; +static gint thumbnail_cache_cycle_async_fetched_thumbnails; +static gint thumbnail_cache_cycle_async_fetched_thumbnails = 0; +static gint thumbnail_cache_cycle_async_resized_thumbnails; +static gint thumbnail_cache_cycle_async_resized_thumbnails = 0; +static gint thumbnail_cache_cycle_overflow_thumbnails; +static gint thumbnail_cache_cycle_overflow_thumbnails = 0; +static gulong thumbnail_cache_cycle_dropped_bytes; +static gulong thumbnail_cache_cycle_dropped_bytes = (gulong) 0; +static gpointer thumbnail_cache_image_data_parent_class = NULL; +static gpointer thumbnail_cache_async_fetch_job_parent_class = NULL; + +gpointer thumbnails_ref (gpointer instance); +void thumbnails_unref (gpointer instance); +GParamSpec* param_spec_thumbnails (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_thumbnails (GValue* value, gpointer v_object); +void value_take_thumbnails (GValue* value, gpointer v_object); +gpointer value_get_thumbnails (const GValue* value); +GType thumbnails_get_type (void) G_GNUC_CONST; +GType thumbnail_cache_size_get_type (void) G_GNUC_CONST; +#define THUMBNAILS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_THUMBNAILS, ThumbnailsPrivate)) +enum { + THUMBNAILS_DUMMY_PROPERTY +}; +Thumbnails* thumbnails_new (void); +Thumbnails* thumbnails_construct (GType object_type); +void thumbnails_set (Thumbnails* self, ThumbnailCacheSize size, GdkPixbuf* pixbuf); +void thumbnails_remove (Thumbnails* self, ThumbnailCacheSize size); +GdkPixbuf* thumbnails_get (Thumbnails* self, ThumbnailCacheSize size); +static void thumbnails_finalize (Thumbnails* obj); +GType thumbnail_cache_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +static gpointer thumbnail_cache_image_data_ref (gpointer instance); +static void thumbnail_cache_image_data_unref (gpointer instance); +static GParamSpec* thumbnail_cache_param_spec_image_data (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void thumbnail_cache_value_set_image_data (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void thumbnail_cache_value_take_image_data (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer thumbnail_cache_value_get_image_data (const GValue* value) G_GNUC_UNUSED; +static GType thumbnail_cache_image_data_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define THUMBNAIL_CACHE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_THUMBNAIL_CACHE, ThumbnailCachePrivate)) +enum { + THUMBNAIL_CACHE_DUMMY_PROPERTY +}; +gint thumbnail_cache_size_get_scale (ThumbnailCacheSize self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void thumbnail_cache_size_get_scaling (ThumbnailCacheSize self, Scaling* result); +void scaling_for_best_fit (gint pixels, gboolean scale_up, Scaling* result); +ThumbnailCacheSize thumbnail_cache_size_get_best_size (gint scale); +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +#define THUMBNAIL_CACHE_DEFAULT_INTERP GDK_INTERP_HYPER +#define THUMBNAIL_CACHE_DEFAULT_QUALITY JPEG_QUALITY_HIGH +#define THUMBNAIL_CACHE_MAX_INMEMORY_DATA_SIZE (512 * 1024) +#define THUMBNAIL_CACHE_MAX_BIG_CACHED_BYTES ((gulong) ((40 * 1024) * 1024)) +#define THUMBNAIL_CACHE_MAX_MEDIUM_CACHED_BYTES ((gulong) ((30 * 1024) * 1024)) +static ThumbnailCache* thumbnail_cache_new (ThumbnailCacheSize size, gulong max_cached_bytes, GdkInterpType interp, JpegQuality quality); +static ThumbnailCache* thumbnail_cache_construct (GType object_type, ThumbnailCacheSize size, gulong max_cached_bytes, GdkInterpType interp, JpegQuality quality); +GFile* app_dirs_get_cache_subdir (const gchar* name, const gchar* subname); +void thumbnail_cache_init (void); +static void thumbnail_cache_report_cycle (void); +static void _thumbnail_cache_report_cycle_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +guint workers_threads_per_cpu (gint per, gint max); +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +void thumbnail_cache_terminate (void); +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; +void thumbnail_cache_import_from_source (ThumbnailSource* source, gboolean force, GError** error); +gchar* data_object_to_string (DataObject* self); +static void _thumbnail_cache_import_from_source (ThumbnailCache* self, ThumbnailSource* source, gboolean force, GError** error); +void thumbnail_cache_import_thumbnails (ThumbnailSource* source, Thumbnails* thumbnails, gboolean force, GError** error); +static void _thumbnail_cache_import_thumbnail (ThumbnailCache* self, ThumbnailSource* source, GdkPixbuf* scaled, gboolean force, GError** error); +void thumbnail_cache_duplicate (ThumbnailSource* src_source, ThumbnailSource* dest_source); +static void _thumbnail_cache_duplicate (ThumbnailCache* self, ThumbnailSource* src_source, ThumbnailSource* dest_source); +void thumbnail_cache_remove (ThumbnailSource* source); +static void _thumbnail_cache_remove (ThumbnailCache* self, ThumbnailSource* source); +static ThumbnailCache* thumbnail_cache_get_best_cache (gint scale); +static ThumbnailCache* thumbnail_cache_get_cache_for (ThumbnailCacheSize size); +GdkPixbuf* thumbnail_cache_fetch (ThumbnailSource* source, gint scale, GError** error); +static GdkPixbuf* _thumbnail_cache_fetch (ThumbnailCache* self, ThumbnailSource* source, GError** error); +void thumbnail_cache_fetch_async (ThumbnailSource* source, gint scale, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable); +GType photo_file_format_get_type (void) G_GNUC_CONST; +static void _thumbnail_cache_fetch_async (ThumbnailCache* self, ThumbnailSource* source, PhotoFileFormat format, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable); +PhotoFileFormat thumbnail_source_get_preferred_thumbnail_format (ThumbnailSource* self); +void dimensions_init (Dimensions *self, gint width, gint height); +void thumbnail_cache_fetch_async_scaled (ThumbnailSource* source, gint scale, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable); +void thumbnail_cache_replace (ThumbnailSource* source, ThumbnailCacheSize size, GdkPixbuf* replacement, GError** error); +static void _thumbnail_cache_replace (ThumbnailCache* self, ThumbnailSource* source, GdkPixbuf* original, GError** error); +gboolean thumbnail_cache_exists (ThumbnailSource* source); +static gboolean _thumbnail_cache_exists (ThumbnailCache* self, ThumbnailSource* source); +GType rotation_get_type (void) G_GNUC_CONST; +void thumbnail_cache_rotate (ThumbnailSource* source, Rotation rotation, GError** error); +GdkPixbuf* rotation_perform (Rotation self, GdkPixbuf* pixbuf); +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +GType orientation_get_type (void) G_GNUC_CONST; +void thumbnail_cache_generate_for_photo (Thumbnails* thumbnails, PhotoFileReader* reader, Orientation orientation, Dimensions* original_dim, GError** error); +void scaling_get_scaled_dimensions (Scaling *self, Dimensions* original, Dimensions* result); +GdkPixbuf* photo_file_reader_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +GdkPixbuf* photo_file_reader_unscaled_read (PhotoFileReader* self, GError** error); +GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +void thumbnail_cache_generate_for_video_frame (Thumbnails* thumbnails, GdkPixbuf* preview_frame); +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up); +static void thumbnail_cache_schedule_debug (void); +static GdkPixbuf* thumbnail_cache_fetch_from_memory (ThumbnailCache* self, const gchar* thumbnail_name); +gchar* data_source_get_source_id (DataSource* self); +static GdkPixbuf* thumbnail_cache_read_pixbuf (ThumbnailCache* self, const gchar* thumbnail_name, PhotoFileFormat format, GError** error); +static void thumbnail_cache_store_in_memory (ThumbnailCache* self, const gchar* thumbnail_name, GdkPixbuf* thumbnail); +gboolean dimensions_has_area (Dimensions *self); +gboolean dimensions_equals (Dimensions *self, Dimensions* dim); +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +void workers_enqueue (Workers* self, BackgroundJob* job); +static ThumbnailCacheAsyncFetchJob* thumbnail_cache_async_fetch_job_new (ThumbnailCache* cache, const gchar* thumbnail_name, ThumbnailSource* source, GdkPixbuf* prefetched, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable); +static ThumbnailCacheAsyncFetchJob* thumbnail_cache_async_fetch_job_construct (GType object_type, ThumbnailCache* cache, const gchar* thumbnail_name, ThumbnailSource* source, GdkPixbuf* prefetched, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable); +static GType thumbnail_cache_async_fetch_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static void thumbnail_cache_async_fetch_completion_callback (BackgroundJob* background_job); +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +static GFile* thumbnail_cache_get_source_cached_file (ThumbnailCache* self, ThumbnailSource* source); +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 library_photo_get_type (void) G_GNUC_CONST; +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +static void thumbnail_cache_save_thumbnail (ThumbnailCache* self, GFile* file, GdkPixbuf* pixbuf, ThumbnailSource* source, GError** error); +gboolean dimensions_approx_scaled (Dimensions *self, gint scale, gint fudge); +static GFile* thumbnail_cache_get_cached_file (ThumbnailCache* self, const gchar* thumbnail_name, PhotoFileFormat thumbnail_format); +gchar* thumbnail_source_get_representative_id (ThumbnailSource* self); +void app_window_panic (const gchar* msg); +static gboolean thumbnail_cache_remove_from_memory (ThumbnailCache* self, const gchar* thumbnail_name); +GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf, gint scale, GdkInterpType interp, gboolean scale_up); +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath); +gchar* photo_file_format_get_default_basename (PhotoFileFormat self, const gchar* name); +static ThumbnailCacheImageData* thumbnail_cache_image_data_new (GdkPixbuf* pixbuf); +static ThumbnailCacheImageData* thumbnail_cache_image_data_construct (GType object_type, GdkPixbuf* pixbuf); +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GQuark photo_format_error_quark (void); +PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +void photo_file_writer_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +enum { + THUMBNAIL_CACHE_IMAGE_DATA_DUMMY_PROPERTY +}; +static void thumbnail_cache_image_data_finalize (ThumbnailCacheImageData* obj); +enum { + THUMBNAIL_CACHE_ASYNC_FETCH_JOB_DUMMY_PROPERTY +}; +static void _thumbnail_cache_async_fetch_completion_callback_completion_callback (BackgroundJob* job, gpointer self); +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +static BackgroundJobJobPriority thumbnail_cache_async_fetch_job_real_get_priority (BackgroundJob* base); +static void thumbnail_cache_async_fetch_job_real_execute (BackgroundJob* base); +gboolean background_job_is_cancelled (BackgroundJob* self); +GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp); +static void thumbnail_cache_async_fetch_job_generate_thumbnail (ThumbnailCacheAsyncFetchJob* self, GError** error); +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +GdkPixbuf* thumbnail_source_create_thumbnail (ThumbnailSource* self, gint scale, GError** error); +static void thumbnail_cache_async_fetch_job_finalize (BackgroundJob* obj); +static void thumbnail_cache_finalize (GObject* obj); + + +Thumbnails* thumbnails_construct (GType object_type) { + Thumbnails* self = NULL; +#line 11 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = (Thumbnails*) g_type_create_instance (object_type); +#line 11 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return self; +#line 653 "ThumbnailCache.c" +} + + +Thumbnails* thumbnails_new (void) { +#line 11 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return thumbnails_construct (TYPE_THUMBNAILS); +#line 660 "ThumbnailCache.c" +} + + +void thumbnails_set (Thumbnails* self, ThumbnailCacheSize size, GdkPixbuf* pixbuf) { + GeeHashMap* _tmp0_ = NULL; + ThumbnailCacheSize _tmp1_ = 0; + GdkPixbuf* _tmp2_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAILS (self)); +#line 14 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 15 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->priv->map; +#line 15 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = size; +#line 15 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = pixbuf; +#line 15 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp1_), _tmp2_); +#line 680 "ThumbnailCache.c" +} + + +void thumbnails_remove (Thumbnails* self, ThumbnailCacheSize size) { + GeeHashMap* _tmp0_ = NULL; + ThumbnailCacheSize _tmp1_ = 0; +#line 18 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAILS (self)); +#line 19 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->priv->map; +#line 19 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = size; +#line 19 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp1_), NULL); +#line 695 "ThumbnailCache.c" +} + + +GdkPixbuf* thumbnails_get (Thumbnails* self, ThumbnailCacheSize size) { + GdkPixbuf* result = NULL; + GeeHashMap* _tmp0_ = NULL; + ThumbnailCacheSize _tmp1_ = 0; + gpointer _tmp2_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAILS (self), NULL); +#line 23 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->priv->map; +#line 23 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = size; +#line 23 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp1_)); +#line 23 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = (GdkPixbuf*) _tmp2_; +#line 23 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 716 "ThumbnailCache.c" +} + + +static void value_thumbnails_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = NULL; +#line 723 "ThumbnailCache.c" +} + + +static void value_thumbnails_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnails_unref (value->data[0].v_pointer); +#line 732 "ThumbnailCache.c" + } +} + + +static void value_thumbnails_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dest_value->data[0].v_pointer = thumbnails_ref (src_value->data[0].v_pointer); +#line 742 "ThumbnailCache.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dest_value->data[0].v_pointer = NULL; +#line 746 "ThumbnailCache.c" + } +} + + +static gpointer value_thumbnails_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return value->data[0].v_pointer; +#line 754 "ThumbnailCache.c" +} + + +static gchar* value_thumbnails_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (collect_values[0].v_pointer) { +#line 761 "ThumbnailCache.c" + Thumbnails* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 768 "ThumbnailCache.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 772 "ThumbnailCache.c" + } +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = thumbnails_ref (object); +#line 776 "ThumbnailCache.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = NULL; +#line 780 "ThumbnailCache.c" + } +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return NULL; +#line 784 "ThumbnailCache.c" +} + + +static gchar* value_thumbnails_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Thumbnails** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 795 "ThumbnailCache.c" + } +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + *object_p = NULL; +#line 801 "ThumbnailCache.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + *object_p = value->data[0].v_pointer; +#line 805 "ThumbnailCache.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + *object_p = thumbnails_ref (value->data[0].v_pointer); +#line 809 "ThumbnailCache.c" + } +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return NULL; +#line 813 "ThumbnailCache.c" +} + + +GParamSpec* param_spec_thumbnails (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecThumbnails* spec; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_THUMBNAILS), NULL); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return G_PARAM_SPEC (spec); +#line 827 "ThumbnailCache.c" +} + + +gpointer value_get_thumbnails (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_THUMBNAILS), NULL); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return value->data[0].v_pointer; +#line 836 "ThumbnailCache.c" +} + + +void value_set_thumbnails (GValue* value, gpointer v_object) { + Thumbnails* old; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_THUMBNAILS)); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_THUMBNAILS)); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnails_ref (value->data[0].v_pointer); +#line 856 "ThumbnailCache.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = NULL; +#line 860 "ThumbnailCache.c" + } +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnails_unref (old); +#line 866 "ThumbnailCache.c" + } +} + + +void value_take_thumbnails (GValue* value, gpointer v_object) { + Thumbnails* old; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_THUMBNAILS)); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_THUMBNAILS)); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = v_object; +#line 885 "ThumbnailCache.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = NULL; +#line 889 "ThumbnailCache.c" + } +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnails_unref (old); +#line 895 "ThumbnailCache.c" + } +} + + +static void thumbnails_class_init (ThumbnailsClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnails_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + ((ThumbnailsClass *) klass)->finalize = thumbnails_finalize; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_type_class_add_private (klass, sizeof (ThumbnailsPrivate)); +#line 907 "ThumbnailCache.c" +} + + +static void thumbnails_instance_init (Thumbnails * self) { + GeeHashMap* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv = THUMBNAILS_GET_PRIVATE (self); +#line 8 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = gee_hash_map_new (THUMBNAIL_CACHE_TYPE_SIZE, NULL, NULL, GDK_TYPE_PIXBUF, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 8 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->map = _tmp0_; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->ref_count = 1; +#line 921 "ThumbnailCache.c" +} + + +static void thumbnails_finalize (Thumbnails* obj) { + Thumbnails * self; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_THUMBNAILS, Thumbnails); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_signal_handlers_destroy (self); +#line 8 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->priv->map); +#line 933 "ThumbnailCache.c" +} + + +GType thumbnails_get_type (void) { + static volatile gsize thumbnails_type_id__volatile = 0; + if (g_once_init_enter (&thumbnails_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_thumbnails_init, value_thumbnails_free_value, value_thumbnails_copy_value, value_thumbnails_peek_pointer, "p", value_thumbnails_collect_value, "p", value_thumbnails_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ThumbnailsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnails_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Thumbnails), 0, (GInstanceInitFunc) thumbnails_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType thumbnails_type_id; + thumbnails_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Thumbnails", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&thumbnails_type_id__volatile, thumbnails_type_id); + } + return thumbnails_type_id__volatile; +} + + +gpointer thumbnails_ref (gpointer instance) { + Thumbnails* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return instance; +#line 958 "ThumbnailCache.c" +} + + +void thumbnails_unref (gpointer instance) { + Thumbnails* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + THUMBNAILS_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 971 "ThumbnailCache.c" + } +} + + +gint thumbnail_cache_size_get_scale (ThumbnailCacheSize self) { + gint result = 0; +#line 42 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = (gint) self; +#line 42 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 982 "ThumbnailCache.c" +} + + +void thumbnail_cache_size_get_scaling (ThumbnailCacheSize self, Scaling* result) { + gint _tmp0_ = 0; + Scaling _tmp1_ = {0}; +#line 46 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = thumbnail_cache_size_get_scale (self); +#line 46 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + scaling_for_best_fit (_tmp0_, TRUE, &_tmp1_); +#line 46 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + *result = _tmp1_; +#line 46 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 997 "ThumbnailCache.c" +} + + +ThumbnailCacheSize thumbnail_cache_size_get_best_size (gint scale) { + ThumbnailCacheSize result = 0; + ThumbnailCacheSize _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 50 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = scale; +#line 50 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_MEDIUM); +#line 50 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp1_ <= _tmp2_) { +#line 50 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = THUMBNAIL_CACHE_SIZE_MEDIUM; +#line 1014 "ThumbnailCache.c" + } else { +#line 50 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = THUMBNAIL_CACHE_SIZE_BIG; +#line 1018 "ThumbnailCache.c" + } +#line 50 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp0_; +#line 50 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 1024 "ThumbnailCache.c" +} + + +GType thumbnail_cache_size_get_type (void) { + static volatile gsize thumbnail_cache_size_type_id__volatile = 0; + if (g_once_init_enter (&thumbnail_cache_size_type_id__volatile)) { + static const GEnumValue values[] = {{THUMBNAIL_CACHE_SIZE_LARGEST, "THUMBNAIL_CACHE_SIZE_LARGEST", "largest"}, {THUMBNAIL_CACHE_SIZE_BIG, "THUMBNAIL_CACHE_SIZE_BIG", "big"}, {THUMBNAIL_CACHE_SIZE_MEDIUM, "THUMBNAIL_CACHE_SIZE_MEDIUM", "medium"}, {THUMBNAIL_CACHE_SIZE_SMALLEST, "THUMBNAIL_CACHE_SIZE_SMALLEST", "smallest"}, {0, NULL, NULL}}; + GType thumbnail_cache_size_type_id; + thumbnail_cache_size_type_id = g_enum_register_static ("ThumbnailCacheSize", values); + g_once_init_leave (&thumbnail_cache_size_type_id__volatile, thumbnail_cache_size_type_id); + } + return thumbnail_cache_size_type_id__volatile; +} + + +static ThumbnailCache* thumbnail_cache_construct (GType object_type, ThumbnailCacheSize size, gulong max_cached_bytes, GdkInterpType interp, JpegQuality quality) { + ThumbnailCache * self = NULL; + ThumbnailCacheSize _tmp0_ = 0; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + ThumbnailCacheSize _tmp5_ = 0; + gulong _tmp6_ = 0UL; + GdkInterpType _tmp7_ = 0; + JpegQuality _tmp8_ = 0; +#line 190 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = (ThumbnailCache*) g_object_new (object_type, NULL); +#line 192 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = size; +#line 192 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_size_get_scale (_tmp0_); +#line 192 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = g_strdup_printf ("thumbs%d", _tmp1_); +#line 192 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = _tmp2_; +#line 192 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = app_dirs_get_cache_subdir ("thumbs", _tmp3_); +#line 192 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->priv->cache_dir); +#line 192 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->cache_dir = _tmp4_; +#line 192 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp3_); +#line 193 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = size; +#line 193 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->size = _tmp5_; +#line 194 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = max_cached_bytes; +#line 194 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->max_cached_bytes = _tmp6_; +#line 195 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = interp; +#line 195 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->interp = _tmp7_; +#line 196 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = quality; +#line 196 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->quality = _tmp8_; +#line 190 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return self; +#line 1087 "ThumbnailCache.c" +} + + +static ThumbnailCache* thumbnail_cache_new (ThumbnailCacheSize size, gulong max_cached_bytes, GdkInterpType interp, JpegQuality quality) { +#line 190 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return thumbnail_cache_construct (TYPE_THUMBNAIL_CACHE, size, max_cached_bytes, interp, quality); +#line 1094 "ThumbnailCache.c" +} + + +static void _thumbnail_cache_report_cycle_one_shot_callback (gpointer self) { +#line 201 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_report_cycle (); +#line 1101 "ThumbnailCache.c" +} + + +void thumbnail_cache_init (void) { + OneShotScheduler* _tmp0_ = NULL; + guint _tmp1_ = 0U; + Workers* _tmp2_ = NULL; + ThumbnailCache* _tmp3_ = NULL; + ThumbnailCache* _tmp4_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = one_shot_scheduler_new ("ThumbnailCache cycle reporter", _thumbnail_cache_report_cycle_one_shot_callback, NULL); +#line 201 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _one_shot_scheduler_unref0 (thumbnail_cache_debug_scheduler); +#line 201 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_debug_scheduler = _tmp0_; +#line 202 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = workers_threads_per_cpu (1, -1); +#line 202 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = workers_new (_tmp1_, TRUE); +#line 202 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _workers_unref0 (thumbnail_cache_fetch_workers); +#line 202 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_fetch_workers = _tmp2_; +#line 204 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_new (THUMBNAIL_CACHE_SIZE_BIG, THUMBNAIL_CACHE_MAX_BIG_CACHED_BYTES, THUMBNAIL_CACHE_DEFAULT_INTERP, THUMBNAIL_CACHE_DEFAULT_QUALITY); +#line 204 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (thumbnail_cache_big); +#line 204 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_big = _tmp3_; +#line 205 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = thumbnail_cache_new (THUMBNAIL_CACHE_SIZE_MEDIUM, THUMBNAIL_CACHE_MAX_MEDIUM_CACHED_BYTES, THUMBNAIL_CACHE_DEFAULT_INTERP, THUMBNAIL_CACHE_DEFAULT_QUALITY); +#line 205 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (thumbnail_cache_medium); +#line 205 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_medium = _tmp4_; +#line 1137 "ThumbnailCache.c" +} + + +void thumbnail_cache_terminate (void) { +} + + +void thumbnail_cache_import_from_source (ThumbnailSource* source, gboolean force, GError** error) { + ThumbnailSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + ThumbnailCache* _tmp3_ = NULL; + ThumbnailSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + ThumbnailCache* _tmp6_ = NULL; + ThumbnailSource* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GError * _inner_error_ = NULL; +#line 211 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 213 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = source; +#line 213 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 213 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _tmp1_; +#line 213 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_debug ("ThumbnailCache.vala:213: import from source: %s", _tmp2_); +#line 213 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp2_); +#line 214 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_big; +#line 214 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = source; +#line 214 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = force; +#line 214 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_import_from_source (_tmp3_, _tmp4_, _tmp5_, &_inner_error_); +#line 214 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 214 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 214 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 1182 "ThumbnailCache.c" + } +#line 215 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = thumbnail_cache_medium; +#line 215 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = source; +#line 215 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = force; +#line 215 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_import_from_source (_tmp6_, _tmp7_, _tmp8_, &_inner_error_); +#line 215 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 215 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 215 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 1198 "ThumbnailCache.c" + } +} + + +void thumbnail_cache_import_thumbnails (ThumbnailSource* source, Thumbnails* thumbnails, gboolean force, GError** error) { + ThumbnailCache* _tmp0_ = NULL; + ThumbnailSource* _tmp1_ = NULL; + Thumbnails* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + ThumbnailCache* _tmp6_ = NULL; + ThumbnailSource* _tmp7_ = NULL; + Thumbnails* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GError * _inner_error_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 218 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAILS (thumbnails)); +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = thumbnail_cache_big; +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = source; +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnails; +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnails_get (_tmp2_, THUMBNAIL_CACHE_SIZE_BIG); +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp3_; +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = force; +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_import_thumbnail (_tmp0_, _tmp1_, _tmp4_, _tmp5_, &_inner_error_); +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp4_); +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 220 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 1243 "ThumbnailCache.c" + } +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = thumbnail_cache_medium; +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = source; +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = thumbnails; +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = thumbnails_get (_tmp8_, THUMBNAIL_CACHE_SIZE_MEDIUM); +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = _tmp9_; +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = force; +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_import_thumbnail (_tmp6_, _tmp7_, _tmp10_, _tmp11_, &_inner_error_); +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp10_); +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 221 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 1267 "ThumbnailCache.c" + } +} + + +void thumbnail_cache_duplicate (ThumbnailSource* src_source, ThumbnailSource* dest_source) { + ThumbnailCache* _tmp0_ = NULL; + ThumbnailSource* _tmp1_ = NULL; + ThumbnailSource* _tmp2_ = NULL; + ThumbnailCache* _tmp3_ = NULL; + ThumbnailSource* _tmp4_ = NULL; + ThumbnailSource* _tmp5_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (src_source)); +#line 224 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (dest_source)); +#line 225 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = thumbnail_cache_big; +#line 225 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = src_source; +#line 225 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = dest_source; +#line 225 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_duplicate (_tmp0_, _tmp1_, _tmp2_); +#line 226 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_medium; +#line 226 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = src_source; +#line 226 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = dest_source; +#line 226 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_duplicate (_tmp3_, _tmp4_, _tmp5_); +#line 1299 "ThumbnailCache.c" +} + + +void thumbnail_cache_remove (ThumbnailSource* source) { + ThumbnailCache* _tmp0_ = NULL; + ThumbnailSource* _tmp1_ = NULL; + ThumbnailCache* _tmp2_ = NULL; + ThumbnailSource* _tmp3_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 230 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = thumbnail_cache_big; +#line 230 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = source; +#line 230 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_remove (_tmp0_, _tmp1_); +#line 231 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnail_cache_medium; +#line 231 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = source; +#line 231 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_remove (_tmp2_, _tmp3_); +#line 1322 "ThumbnailCache.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 237 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return self ? g_object_ref (self) : NULL; +#line 1329 "ThumbnailCache.c" +} + + +static ThumbnailCache* thumbnail_cache_get_best_cache (gint scale) { + ThumbnailCache* result = NULL; + ThumbnailCacheSize size = 0; + gint _tmp0_ = 0; + ThumbnailCacheSize _tmp1_ = 0; + ThumbnailCacheSize _tmp2_ = 0; +#line 235 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = scale; +#line 235 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_size_get_best_size (_tmp0_); +#line 235 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size = _tmp1_; +#line 236 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = size; +#line 236 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp2_ == THUMBNAIL_CACHE_SIZE_BIG) { +#line 1349 "ThumbnailCache.c" + ThumbnailCache* _tmp3_ = NULL; + ThumbnailCache* _tmp4_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_big; +#line 237 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 237 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp4_; +#line 237 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 1360 "ThumbnailCache.c" + } else { + ThumbnailCacheSize _tmp5_ = 0; + ThumbnailCache* _tmp6_ = NULL; + ThumbnailCache* _tmp7_ = NULL; +#line 239 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = size; +#line 239 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp5_ == THUMBNAIL_CACHE_SIZE_MEDIUM, "size == Size.MEDIUM"); +#line 241 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = thumbnail_cache_medium; +#line 241 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 241 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp7_; +#line 241 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 1377 "ThumbnailCache.c" + } +} + + +static ThumbnailCache* thumbnail_cache_get_cache_for (ThumbnailCacheSize size) { + ThumbnailCache* result = NULL; + ThumbnailCacheSize _tmp0_ = 0; +#line 246 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = size; +#line 246 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + switch (_tmp0_) { +#line 246 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + case THUMBNAIL_CACHE_SIZE_BIG: +#line 1391 "ThumbnailCache.c" + { + ThumbnailCache* _tmp1_ = NULL; + ThumbnailCache* _tmp2_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_big; +#line 248 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 248 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp2_; +#line 248 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 1403 "ThumbnailCache.c" + } +#line 246 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + case THUMBNAIL_CACHE_SIZE_MEDIUM: +#line 1407 "ThumbnailCache.c" + { + ThumbnailCache* _tmp3_ = NULL; + ThumbnailCache* _tmp4_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_medium; +#line 251 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 251 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp4_; +#line 251 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 1419 "ThumbnailCache.c" + } + default: + { + ThumbnailCacheSize _tmp5_ = 0; + gint _tmp6_ = 0; +#line 254 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = size; +#line 254 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = thumbnail_cache_size_get_scale (_tmp5_); +#line 254 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_error ("ThumbnailCache.vala:254: Unknown thumbnail size %d", _tmp6_); +#line 1431 "ThumbnailCache.c" + } + } +} + + +GdkPixbuf* thumbnail_cache_fetch (ThumbnailSource* source, gint scale, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + ThumbnailCache* _tmp2_ = NULL; + ThumbnailCache* _tmp3_ = NULL; + ThumbnailSource* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; + GError * _inner_error_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), NULL); +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = scale; +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnail_cache_get_best_cache (_tmp1_); +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = _tmp2_; +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = source; +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = _thumbnail_cache_fetch (_tmp3_, _tmp4_, &_inner_error_); +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp5_; +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp3_); +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = _tmp6_; +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return NULL; +#line 1472 "ThumbnailCache.c" + } +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = _tmp0_; +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = NULL; +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp7_; +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp0_); +#line 259 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 1484 "ThumbnailCache.c" +} + + +void thumbnail_cache_fetch_async (ThumbnailSource* source, gint scale, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable) { + gint _tmp0_ = 0; + ThumbnailCache* _tmp1_ = NULL; + ThumbnailCache* _tmp2_ = NULL; + ThumbnailSource* _tmp3_ = NULL; + ThumbnailSource* _tmp4_ = NULL; + PhotoFileFormat _tmp5_ = 0; + Dimensions _tmp6_ = {0}; + ThumbnailCacheAsyncFetchCallback _tmp7_ = NULL; + void* _tmp7__target = NULL; + GCancellable* _tmp8_ = NULL; +#line 262 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 262 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = scale; +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_get_best_cache (_tmp0_); +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _tmp1_; +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = source; +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = source; +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = thumbnail_source_get_preferred_thumbnail_format (_tmp4_); +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dimensions_init (&_tmp6_, 0, 0); +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = callback; +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7__target = callback_target; +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = cancellable; +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_fetch_async (_tmp2_, _tmp3_, _tmp5_, &_tmp6_, THUMBNAIL_CACHE_DEFAULT_INTERP, _tmp7_, _tmp7__target, _tmp8_); +#line 264 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp2_); +#line 1527 "ThumbnailCache.c" +} + + +void thumbnail_cache_fetch_async_scaled (ThumbnailSource* source, gint scale, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable) { + gint _tmp0_ = 0; + ThumbnailCache* _tmp1_ = NULL; + ThumbnailCache* _tmp2_ = NULL; + ThumbnailSource* _tmp3_ = NULL; + ThumbnailSource* _tmp4_ = NULL; + PhotoFileFormat _tmp5_ = 0; + Dimensions _tmp6_ = {0}; + GdkInterpType _tmp7_ = 0; + ThumbnailCacheAsyncFetchCallback _tmp8_ = NULL; + void* _tmp8__target = NULL; + GCancellable* _tmp9_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 268 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (dim != NULL); +#line 268 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = scale; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_get_best_cache (_tmp0_); +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _tmp1_; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = source; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = source; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = thumbnail_source_get_preferred_thumbnail_format (_tmp4_); +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = *dim; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = interp; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = callback; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8__target = callback_target; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = cancellable; +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_fetch_async (_tmp2_, _tmp3_, _tmp5_, &_tmp6_, _tmp7_, _tmp8_, _tmp8__target, _tmp9_); +#line 270 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp2_); +#line 1575 "ThumbnailCache.c" +} + + +void thumbnail_cache_replace (ThumbnailSource* source, ThumbnailCacheSize size, GdkPixbuf* replacement, GError** error) { + ThumbnailCacheSize _tmp0_ = 0; + ThumbnailCache* _tmp1_ = NULL; + ThumbnailCache* _tmp2_ = NULL; + ThumbnailSource* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 274 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (GDK_IS_PIXBUF (replacement)); +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = size; +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_get_cache_for (_tmp0_); +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _tmp1_; +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = source; +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = replacement; +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_replace (_tmp2_, _tmp3_, _tmp4_, &_inner_error_); +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp2_); +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 276 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 1610 "ThumbnailCache.c" + } +} + + +gboolean thumbnail_cache_exists (ThumbnailSource* source) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + ThumbnailCache* _tmp1_ = NULL; + ThumbnailSource* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 279 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), FALSE); +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_big; +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = source; +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = _thumbnail_cache_exists (_tmp1_, _tmp2_); +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp3_) { +#line 1631 "ThumbnailCache.c" + ThumbnailCache* _tmp4_ = NULL; + ThumbnailSource* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = thumbnail_cache_medium; +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = source; +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _thumbnail_cache_exists (_tmp4_, _tmp5_); +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = _tmp6_; +#line 1643 "ThumbnailCache.c" + } else { +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = FALSE; +#line 1647 "ThumbnailCache.c" + } +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp0_; +#line 280 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 1653 "ThumbnailCache.c" +} + + +void thumbnail_cache_rotate (ThumbnailSource* source, Rotation rotation, GError** error) { + ThumbnailCacheSize* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + GError * _inner_error_ = NULL; +#line 283 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 284 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = thumbnail_cache_ALL_SIZES; +#line 284 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0__length1 = thumbnail_cache_ALL_SIZES_length1; +#line 1667 "ThumbnailCache.c" + { + ThumbnailCacheSize* size_collection = NULL; + gint size_collection_length1 = 0; + gint _size_collection_size_ = 0; + gint size_it = 0; +#line 284 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size_collection = _tmp0_; +#line 284 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size_collection_length1 = _tmp0__length1; +#line 284 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + for (size_it = 0; size_it < _tmp0__length1; size_it = size_it + 1) { +#line 1679 "ThumbnailCache.c" + ThumbnailCacheSize size = 0; +#line 284 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size = size_collection[size_it]; +#line 1683 "ThumbnailCache.c" + { + GdkPixbuf* thumbnail = NULL; + ThumbnailSource* _tmp1_ = NULL; + ThumbnailCacheSize _tmp2_ = 0; + GdkPixbuf* _tmp3_ = NULL; + Rotation _tmp4_ = 0; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + ThumbnailSource* _tmp7_ = NULL; + ThumbnailCacheSize _tmp8_ = 0; + GdkPixbuf* _tmp9_ = NULL; +#line 285 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = source; +#line 285 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = size; +#line 285 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_fetch (_tmp1_, (gint) _tmp2_, &_inner_error_); +#line 285 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail = _tmp3_; +#line 285 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 285 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 285 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 1709 "ThumbnailCache.c" + } +#line 286 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = rotation; +#line 286 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = thumbnail; +#line 286 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = rotation_perform (_tmp4_, _tmp5_); +#line 286 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (thumbnail); +#line 286 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail = _tmp6_; +#line 287 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = source; +#line 287 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = size; +#line 287 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = thumbnail; +#line 287 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_replace (_tmp7_, _tmp8_, _tmp9_, &_inner_error_); +#line 287 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 287 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 287 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (thumbnail); +#line 287 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 1737 "ThumbnailCache.c" + } +#line 284 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (thumbnail); +#line 1741 "ThumbnailCache.c" + } + } + } +} + + +void thumbnail_cache_generate_for_photo (Thumbnails* thumbnails, PhotoFileReader* reader, Orientation orientation, Dimensions* original_dim, GError** error) { + ThumbnailCacheSize max_size = 0; + Dimensions dim = {0}; + ThumbnailCacheSize _tmp0_ = 0; + Scaling _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + GdkPixbuf* largest_thumbnail = NULL; + Orientation _tmp14_ = 0; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; + Dimensions largest_thumb_dimensions = {0}; + GdkPixbuf* _tmp17_ = NULL; + Dimensions _tmp18_ = {0}; + ThumbnailCacheSize* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + GError * _inner_error_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAILS (thumbnails)); +#line 293 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_PHOTO_FILE_READER (reader)); +#line 293 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (original_dim != NULL); +#line 296 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + max_size = THUMBNAIL_CACHE_SIZE_BIG * 2; +#line 297 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = max_size; +#line 297 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_size_get_scaling (_tmp0_, &_tmp1_); +#line 297 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = *original_dim; +#line 297 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + scaling_get_scaled_dimensions (&_tmp1_, &_tmp2_, &_tmp3_); +#line 297 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dim = _tmp3_; +#line 298 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + largest_thumbnail = NULL; +#line 1785 "ThumbnailCache.c" + { + GdkPixbuf* _tmp4_ = NULL; + PhotoFileReader* _tmp5_ = NULL; + Dimensions _tmp6_ = {0}; + Dimensions _tmp7_ = {0}; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = reader; +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = *original_dim; +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = dim; +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = photo_file_reader_scaled_read (_tmp5_, &_tmp6_, &_tmp7_, &_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp8_; +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1805 "ThumbnailCache.c" + goto __catch223_g_error; + } +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = _tmp4_; +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (largest_thumbnail); +#line 300 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + largest_thumbnail = _tmp9_; +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp4_); +#line 1818 "ThumbnailCache.c" + } + goto __finally223; + __catch223_g_error: + { + GError* err = NULL; + GdkPixbuf* _tmp10_ = NULL; + PhotoFileReader* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + err = _inner_error_; +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _inner_error_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = reader; +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = photo_file_reader_unscaled_read (_tmp11_, &_inner_error_); +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = _tmp12_; +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 1842 "ThumbnailCache.c" + goto __finally223; + } +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = _tmp10_; +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (largest_thumbnail); +#line 305 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + largest_thumbnail = _tmp13_; +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp10_); +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 1857 "ThumbnailCache.c" + } + __finally223: +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (largest_thumbnail); +#line 299 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 1868 "ThumbnailCache.c" + } +#line 307 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = orientation; +#line 307 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = largest_thumbnail; +#line 307 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp16_ = orientation_rotate_pixbuf (_tmp14_, _tmp15_); +#line 307 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (largest_thumbnail); +#line 307 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + largest_thumbnail = _tmp16_; +#line 308 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp17_ = largest_thumbnail; +#line 308 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dimensions_for_pixbuf (_tmp17_, &_tmp18_); +#line 308 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + largest_thumb_dimensions = _tmp18_; +#line 310 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp19_ = thumbnail_cache_ALL_SIZES; +#line 310 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp19__length1 = thumbnail_cache_ALL_SIZES_length1; +#line 1890 "ThumbnailCache.c" + { + ThumbnailCacheSize* size_collection = NULL; + gint size_collection_length1 = 0; + gint _size_collection_size_ = 0; + gint size_it = 0; +#line 310 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size_collection = _tmp19_; +#line 310 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size_collection_length1 = _tmp19__length1; +#line 310 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + for (size_it = 0; size_it < _tmp19__length1; size_it = size_it + 1) { +#line 1902 "ThumbnailCache.c" + ThumbnailCacheSize size = 0; +#line 310 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size = size_collection[size_it]; +#line 1906 "ThumbnailCache.c" + { + ThumbnailCacheSize _tmp20_ = 0; + Scaling _tmp21_ = {0}; + Dimensions _tmp22_ = {0}; + Dimensions _tmp23_ = {0}; + Thumbnails* _tmp24_ = NULL; + ThumbnailCacheSize _tmp25_ = 0; + GdkPixbuf* _tmp26_ = NULL; + Dimensions _tmp27_ = {0}; + gint _tmp28_ = 0; + Dimensions _tmp29_ = {0}; + gint _tmp30_ = 0; + GdkPixbuf* _tmp31_ = NULL; + GdkPixbuf* _tmp32_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp20_ = size; +#line 311 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_size_get_scaling (_tmp20_, &_tmp21_); +#line 311 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp22_ = largest_thumb_dimensions; +#line 311 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + scaling_get_scaled_dimensions (&_tmp21_, &_tmp22_, &_tmp23_); +#line 311 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dim = _tmp23_; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp24_ = thumbnails; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp25_ = size; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp26_ = largest_thumbnail; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp27_ = dim; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp28_ = _tmp27_.width; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp29_ = dim; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp30_ = _tmp29_.height; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp31_ = gdk_pixbuf_scale_simple (_tmp26_, _tmp28_, _tmp30_, GDK_INTERP_HYPER); +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp32_ = _tmp31_; +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnails_set (_tmp24_, _tmp25_, _tmp32_); +#line 312 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp32_); +#line 1953 "ThumbnailCache.c" + } + } + } +#line 293 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (largest_thumbnail); +#line 1959 "ThumbnailCache.c" +} + + +void thumbnail_cache_generate_for_video_frame (Thumbnails* thumbnails, GdkPixbuf* preview_frame) { + ThumbnailCacheSize* _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 316 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAILS (thumbnails)); +#line 316 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (GDK_IS_PIXBUF (preview_frame)); +#line 317 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = thumbnail_cache_ALL_SIZES; +#line 317 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0__length1 = thumbnail_cache_ALL_SIZES_length1; +#line 1974 "ThumbnailCache.c" + { + ThumbnailCacheSize* size_collection = NULL; + gint size_collection_length1 = 0; + gint _size_collection_size_ = 0; + gint size_it = 0; +#line 317 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size_collection = _tmp0_; +#line 317 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size_collection_length1 = _tmp0__length1; +#line 317 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + for (size_it = 0; size_it < _tmp0__length1; size_it = size_it + 1) { +#line 1986 "ThumbnailCache.c" + ThumbnailCacheSize size = 0; +#line 317 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + size = size_collection[size_it]; +#line 1990 "ThumbnailCache.c" + { + Scaling current_scaling = {0}; + ThumbnailCacheSize _tmp1_ = 0; + Scaling _tmp2_ = {0}; + GdkPixbuf* current_thumbnail = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + Thumbnails* _tmp5_ = NULL; + ThumbnailCacheSize _tmp6_ = 0; + GdkPixbuf* _tmp7_ = NULL; +#line 318 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = size; +#line 318 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_size_get_scaling (_tmp1_, &_tmp2_); +#line 318 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + current_scaling = _tmp2_; +#line 319 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = preview_frame; +#line 319 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = scaling_perform_on_pixbuf (¤t_scaling, _tmp3_, GDK_INTERP_HYPER, TRUE); +#line 319 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + current_thumbnail = _tmp4_; +#line 321 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = thumbnails; +#line 321 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = size; +#line 321 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = current_thumbnail; +#line 321 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnails_set (_tmp5_, _tmp6_, _tmp7_); +#line 317 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (current_thumbnail); +#line 2023 "ThumbnailCache.c" + } + } + } +} + + +static void thumbnail_cache_schedule_debug (void) { +} + + +static void thumbnail_cache_report_cycle (void) { +} + + +static GdkPixbuf* _thumbnail_cache_fetch (ThumbnailCache* self, ThumbnailSource* source, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* pixbuf = NULL; + ThumbnailSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + ThumbnailSource* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + ThumbnailSource* _tmp10_ = NULL; + PhotoFileFormat _tmp11_ = 0; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + gint _tmp15_ = 0; + ThumbnailSource* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GdkPixbuf* _tmp19_ = NULL; + GError * _inner_error_ = NULL; +#line 371 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_CACHE (self), NULL); +#line 371 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), NULL); +#line 373 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = source; +#line 373 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource)); +#line 373 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _tmp1_; +#line 373 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_fetch_from_memory (self, _tmp2_); +#line 373 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp3_; +#line 373 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp2_); +#line 373 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + pixbuf = _tmp4_; +#line 374 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = pixbuf; +#line 374 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp5_ != NULL) { +#line 375 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = pixbuf; +#line 375 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 2088 "ThumbnailCache.c" + } +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = source; +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource)); +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = _tmp8_; +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = source; +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = thumbnail_source_get_preferred_thumbnail_format (_tmp10_); +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = thumbnail_cache_read_pixbuf (self, _tmp9_, _tmp11_, &_inner_error_); +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = _tmp12_; +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp9_); +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp13_; +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (pixbuf); +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return NULL; +#line 2116 "ThumbnailCache.c" + } +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = _tmp6_; +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (pixbuf); +#line 377 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + pixbuf = _tmp14_; +#line 379 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = thumbnail_cache_cycle_fetched_thumbnails; +#line 379 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_cycle_fetched_thumbnails = _tmp15_ + 1; +#line 380 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_schedule_debug (); +#line 383 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp16_ = source; +#line 383 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp17_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_SOURCE, DataSource)); +#line 383 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp18_ = _tmp17_; +#line 383 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp19_ = pixbuf; +#line 383 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_store_in_memory (self, _tmp18_, _tmp19_); +#line 383 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp18_); +#line 385 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = pixbuf; +#line 385 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp6_); +#line 385 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 2150 "ThumbnailCache.c" +} + + +static void _thumbnail_cache_fetch_async (ThumbnailCache* self, ThumbnailSource* source, PhotoFileFormat format, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable) { + gchar* thumbnail_name = NULL; + ThumbnailSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GdkPixbuf* pixbuf = NULL; + const gchar* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GdkPixbuf* _tmp5_ = NULL; + Workers* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + ThumbnailSource* _tmp19_ = NULL; + GdkPixbuf* _tmp20_ = NULL; + Dimensions _tmp21_ = {0}; + GdkInterpType _tmp22_ = 0; + ThumbnailCacheAsyncFetchCallback _tmp23_ = NULL; + void* _tmp23__target = NULL; + GCancellable* _tmp24_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp25_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp26_ = NULL; +#line 388 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_CACHE (self)); +#line 388 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 388 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (dim != NULL); +#line 388 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 391 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = source; +#line 391 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource)); +#line 391 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_name = _tmp1_; +#line 392 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnail_name; +#line 392 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_fetch_from_memory (self, _tmp2_); +#line 392 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + pixbuf = _tmp3_; +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = pixbuf; +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp5_ != NULL) { +#line 2198 "ThumbnailCache.c" + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = dimensions_has_area (dim); +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (!_tmp7_) { +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = TRUE; +#line 2207 "ThumbnailCache.c" + } else { + GdkPixbuf* _tmp8_ = NULL; + Dimensions _tmp9_ = {0}; + Dimensions _tmp10_ = {0}; + gboolean _tmp11_ = FALSE; +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = pixbuf; +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dimensions_for_pixbuf (_tmp8_, &_tmp9_); +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = *dim; +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = dimensions_equals (&_tmp9_, &_tmp10_); +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp11_; +#line 2223 "ThumbnailCache.c" + } +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp6_; +#line 2227 "ThumbnailCache.c" + } else { +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = FALSE; +#line 2231 "ThumbnailCache.c" + } +#line 393 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp4_) { +#line 2235 "ThumbnailCache.c" + ThumbnailCacheAsyncFetchCallback _tmp12_ = NULL; + void* _tmp12__target = NULL; + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + GdkInterpType _tmp16_ = 0; +#line 396 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = callback; +#line 396 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12__target = callback_target; +#line 396 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = pixbuf; +#line 396 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = pixbuf; +#line 396 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = *dim; +#line 396 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp16_ = interp; +#line 396 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ (_tmp13_, _tmp14_, &_tmp15_, _tmp16_, NULL, _tmp12__target); +#line 398 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (pixbuf); +#line 398 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (thumbnail_name); +#line 398 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2262 "ThumbnailCache.c" + } +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp17_ = thumbnail_cache_fetch_workers; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp18_ = thumbnail_name; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp19_ = source; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp20_ = pixbuf; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp21_ = *dim; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp22_ = interp; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp23_ = callback; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp23__target = callback_target; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp24_ = cancellable; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp25_ = thumbnail_cache_async_fetch_job_new (self, _tmp18_, _tmp19_, _tmp20_, &_tmp21_, _tmp22_, _tmp23_, _tmp23__target, _tmp24_); +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp26_ = _tmp25_; +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + workers_enqueue (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 411 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _background_job_unref0 (_tmp26_); +#line 388 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (pixbuf); +#line 388 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (thumbnail_name); +#line 2294 "ThumbnailCache.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 417 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return self ? background_job_ref (self) : NULL; +#line 2301 "ThumbnailCache.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 425 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return self ? g_error_copy (self) : NULL; +#line 2308 "ThumbnailCache.c" +} + + +static void thumbnail_cache_async_fetch_completion_callback (BackgroundJob* background_job) { + ThumbnailCacheAsyncFetchJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ThumbnailCacheAsyncFetchJob* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + ThumbnailCacheAsyncFetchJob* _tmp17_ = NULL; + GdkPixbuf* _tmp18_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp29_ = NULL; + ThumbnailCacheAsyncFetchCallback _tmp30_ = NULL; + void* _tmp30__target = NULL; + ThumbnailCacheAsyncFetchJob* _tmp31_ = NULL; + GdkPixbuf* _tmp32_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp33_ = NULL; + GdkPixbuf* _tmp34_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp35_ = NULL; + Dimensions _tmp36_ = {0}; + ThumbnailCacheAsyncFetchJob* _tmp37_ = NULL; + GdkInterpType _tmp38_ = 0; + ThumbnailCacheAsyncFetchJob* _tmp39_ = NULL; + GError* _tmp40_ = NULL; + GError * _inner_error_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_BACKGROUND_JOB (background_job)); +#line 417 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = background_job; +#line 417 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB, ThumbnailCacheAsyncFetchJob)); +#line 417 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + job = _tmp1_; +#line 421 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = job; +#line 421 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp3_->replace; +#line 421 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp4_) { +#line 2349 "ThumbnailCache.c" + ThumbnailCacheAsyncFetchJob* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = job; +#line 421 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp5_->unscaled; +#line 421 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _tmp6_ != NULL; +#line 2358 "ThumbnailCache.c" + } else { +#line 421 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = FALSE; +#line 2362 "ThumbnailCache.c" + } +#line 421 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp2_) { +#line 2366 "ThumbnailCache.c" + { + ThumbnailCacheAsyncFetchJob* _tmp7_ = NULL; + ThumbnailSource* _tmp8_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp9_ = NULL; + ThumbnailCache* _tmp10_ = NULL; + ThumbnailCacheSize _tmp11_ = 0; + ThumbnailCacheAsyncFetchJob* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = job; +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = _tmp7_->source; +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = job; +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = _tmp9_->cache; +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = _tmp10_->priv->size; +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = job; +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = _tmp12_->unscaled; +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_replace (_tmp8_, _tmp11_, _tmp13_, &_inner_error_); +#line 423 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2393 "ThumbnailCache.c" + goto __catch224_g_error; + } + } + goto __finally224; + __catch224_g_error: + { + GError* err = NULL; + ThumbnailCacheAsyncFetchJob* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + GError* _tmp16_ = NULL; +#line 422 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + err = _inner_error_; +#line 422 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _inner_error_ = NULL; +#line 425 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = job; +#line 425 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = err; +#line 425 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp16_ = _g_error_copy0 (_tmp15_); +#line 425 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (_tmp14_->err); +#line 425 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_->err = _tmp16_; +#line 422 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 2420 "ThumbnailCache.c" + } + __finally224: +#line 422 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 422 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _background_job_unref0 (job); +#line 422 "/home/jens/Source/shotwell/src/ThumbnailCache.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 422 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_clear_error (&_inner_error_); +#line 422 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2433 "ThumbnailCache.c" + } + } +#line 429 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp17_ = job; +#line 429 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp18_ = _tmp17_->unscaled; +#line 429 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp18_ != NULL) { +#line 2442 "ThumbnailCache.c" + ThumbnailCacheAsyncFetchJob* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 430 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp19_ = job; +#line 430 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp20_ = _tmp19_->fetched; +#line 430 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp20_) { +#line 2451 "ThumbnailCache.c" + ThumbnailCacheAsyncFetchJob* _tmp21_ = NULL; + ThumbnailCache* _tmp22_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + ThumbnailCacheAsyncFetchJob* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + gint _tmp27_ = 0; +#line 432 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp21_ = job; +#line 432 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp22_ = _tmp21_->cache; +#line 432 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp23_ = job; +#line 432 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp24_ = _tmp23_->thumbnail_name; +#line 432 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp25_ = job; +#line 432 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp26_ = _tmp25_->unscaled; +#line 432 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_store_in_memory (_tmp22_, _tmp24_, _tmp26_); +#line 434 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp27_ = thumbnail_cache_cycle_async_fetched_thumbnails; +#line 434 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_cycle_async_fetched_thumbnails = _tmp27_ + 1; +#line 435 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_schedule_debug (); +#line 2479 "ThumbnailCache.c" + } else { + gint _tmp28_ = 0; +#line 437 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp28_ = thumbnail_cache_cycle_async_resized_thumbnails; +#line 437 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_cycle_async_resized_thumbnails = _tmp28_ + 1; +#line 438 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_schedule_debug (); +#line 2488 "ThumbnailCache.c" + } + } +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp29_ = job; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp30_ = _tmp29_->callback; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp30__target = _tmp29_->callback_target; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp31_ = job; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp32_ = _tmp31_->scaled; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp33_ = job; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp34_ = _tmp33_->unscaled; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp35_ = job; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp36_ = _tmp35_->dim; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp37_ = job; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp38_ = _tmp37_->interp; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp39_ = job; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp40_ = _tmp39_->err; +#line 442 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp30_ (_tmp32_, _tmp34_, &_tmp36_, _tmp38_, _tmp40_, _tmp30__target); +#line 416 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _background_job_unref0 (job); +#line 2521 "ThumbnailCache.c" +} + + +static void _thumbnail_cache_import_from_source (ThumbnailCache* self, ThumbnailSource* source, gboolean force, GError** error) { + GFile* file = NULL; + ThumbnailSource* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + LibraryPhoto* photo = NULL; + ThumbnailSource* _tmp6_ = NULL; + LibraryPhoto* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + LibraryPhoto* _tmp9_ = NULL; + ThumbnailCacheSize _tmp10_ = 0; + gint _tmp11_ = 0; + Scaling _tmp12_ = {0}; + GdkPixbuf* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + ThumbnailSource* _tmp15_ = NULL; + GError * _inner_error_ = NULL; +#line 445 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_CACHE (self)); +#line 445 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 447 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = source; +#line 447 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_get_source_cached_file (self, _tmp0_); +#line 447 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + file = _tmp1_; +#line 451 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = force; +#line 451 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (!_tmp2_) { +#line 2556 "ThumbnailCache.c" + ThumbnailSource* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 452 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = source; +#line 452 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _thumbnail_cache_exists (self, _tmp3_); +#line 452 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp4_) { +#line 453 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (file); +#line 453 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2569 "ThumbnailCache.c" + } + } else { + ThumbnailSource* _tmp5_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = source; +#line 456 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_remove (self, _tmp5_); +#line 2577 "ThumbnailCache.c" + } +#line 459 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = source; +#line 459 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 459 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + photo = _tmp7_; +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = photo; +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = self->priv->size; +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = thumbnail_cache_size_get_scale (_tmp10_); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + scaling_for_best_fit (_tmp11_, TRUE, &_tmp12_); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp12_, &_inner_error_); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = _tmp13_; +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (photo); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (file); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2607 "ThumbnailCache.c" + } +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = file; +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = source; +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_save_thumbnail (self, _tmp14_, _tmp8_, _tmp15_, &_inner_error_); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp8_); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (photo); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (file); +#line 460 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2627 "ThumbnailCache.c" + } +#line 445 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp8_); +#line 445 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (photo); +#line 445 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (file); +#line 2635 "ThumbnailCache.c" +} + + +static void _thumbnail_cache_import_thumbnail (ThumbnailCache* self, ThumbnailSource* source, GdkPixbuf* scaled, gboolean force, GError** error) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + ThumbnailCacheSize _tmp3_ = 0; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + ThumbnailSource* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + ThumbnailSource* _tmp14_ = NULL; + GError * _inner_error_ = NULL; +#line 466 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_CACHE (self)); +#line 466 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 466 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail ((scaled == NULL) || GDK_IS_PIXBUF (scaled)); +#line 468 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = scaled; +#line 468 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp0_ != NULL, "scaled != null"); +#line 469 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = scaled; +#line 469 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dimensions_for_pixbuf (_tmp1_, &_tmp2_); +#line 469 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = self->priv->size; +#line 469 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = thumbnail_cache_size_get_scale (_tmp3_); +#line 469 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = dimensions_approx_scaled (&_tmp2_, _tmp4_, 1); +#line 469 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp5_, "Dimensions.for_pixbuf(scaled).approx_scaled(size.get_scale())"); +#line 473 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = force; +#line 473 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (!_tmp6_) { +#line 2679 "ThumbnailCache.c" + ThumbnailSource* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 474 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = source; +#line 474 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = _thumbnail_cache_exists (self, _tmp7_); +#line 474 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp8_) { +#line 475 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2690 "ThumbnailCache.c" + } + } else { + ThumbnailSource* _tmp9_ = NULL; +#line 478 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = source; +#line 478 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_remove (self, _tmp9_); +#line 2698 "ThumbnailCache.c" + } +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = source; +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = thumbnail_cache_get_source_cached_file (self, _tmp10_); +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = _tmp11_; +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = scaled; +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = source; +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_save_thumbnail (self, _tmp12_, _tmp13_, _tmp14_, &_inner_error_); +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp12_); +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 481 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2720 "ThumbnailCache.c" + } +} + + +static void _thumbnail_cache_duplicate (ThumbnailCache* self, ThumbnailSource* src_source, ThumbnailSource* dest_source) { + GFile* src_file = NULL; + ThumbnailSource* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* dest_file = NULL; + ThumbnailSource* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + ThumbnailSource* _tmp5_ = NULL; + PhotoFileFormat _tmp6_ = 0; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 488 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_CACHE (self)); +#line 488 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (src_source)); +#line 488 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (dest_source)); +#line 489 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = src_source; +#line 489 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_get_source_cached_file (self, _tmp0_); +#line 489 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + src_file = _tmp1_; +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = dest_source; +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_source_get_representative_id (_tmp2_); +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp3_; +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = src_source; +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = thumbnail_source_get_preferred_thumbnail_format (_tmp5_); +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = thumbnail_cache_get_cached_file (self, _tmp4_, _tmp6_); +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = _tmp7_; +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp4_); +#line 490 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dest_file = _tmp8_; +#line 2768 "ThumbnailCache.c" + { +#line 494 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_file_copy (src_file, dest_file, G_FILE_COPY_ALL_METADATA | G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &_inner_error_); +#line 494 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2774 "ThumbnailCache.c" + goto __catch225_g_error; + } + } + goto __finally225; + __catch225_g_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 493 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + err = _inner_error_; +#line 493 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _inner_error_ = NULL; +#line 496 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = err; +#line 496 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = _tmp9_->message; +#line 496 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = g_strdup_printf ("%s", _tmp10_); +#line 496 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = _tmp11_; +#line 496 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + app_window_panic (_tmp12_); +#line 496 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp12_); +#line 493 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 2804 "ThumbnailCache.c" + } + __finally225: +#line 493 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 493 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (dest_file); +#line 493 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (src_file); +#line 493 "/home/jens/Source/shotwell/src/ThumbnailCache.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 493 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_clear_error (&_inner_error_); +#line 493 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2819 "ThumbnailCache.c" + } +#line 488 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (dest_file); +#line 488 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (src_file); +#line 2825 "ThumbnailCache.c" +} + + +static void _thumbnail_cache_replace (ThumbnailCache* self, ThumbnailSource* source, GdkPixbuf* original, GError** error) { + GFile* file = NULL; + ThumbnailSource* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + ThumbnailSource* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GdkPixbuf* scaled = NULL; + GdkPixbuf* _tmp5_ = NULL; + ThumbnailCacheSize _tmp6_ = 0; + gint _tmp7_ = 0; + GdkInterpType _tmp8_ = 0; + GdkPixbuf* _tmp9_ = NULL; + ThumbnailSource* _tmp10_ = NULL; + ThumbnailSource* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 502 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_CACHE (self)); +#line 502 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 502 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (GDK_IS_PIXBUF (original)); +#line 503 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = source; +#line 503 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_get_source_cached_file (self, _tmp0_); +#line 503 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + file = _tmp1_; +#line 506 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = source; +#line 506 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource)); +#line 506 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp3_; +#line 506 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_remove_from_memory (self, _tmp4_); +#line 506 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp4_); +#line 509 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = original; +#line 509 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = self->priv->size; +#line 509 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = thumbnail_cache_size_get_scale (_tmp6_); +#line 509 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = self->priv->interp; +#line 509 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = scale_pixbuf (_tmp5_, _tmp7_, _tmp8_, TRUE); +#line 509 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + scaled = _tmp9_; +#line 512 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = source; +#line 512 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_save_thumbnail (self, file, scaled, _tmp10_, &_inner_error_); +#line 512 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 512 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 512 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (scaled); +#line 512 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (file); +#line 512 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2895 "ThumbnailCache.c" + } +#line 518 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = source; +#line 518 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_SOURCE, DataSource)); +#line 518 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = _tmp12_; +#line 518 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_store_in_memory (self, _tmp13_, scaled); +#line 518 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp13_); +#line 502 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (scaled); +#line 502 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (file); +#line 2911 "ThumbnailCache.c" +} + + +static void _thumbnail_cache_remove (ThumbnailCache* self, ThumbnailSource* source) { + GFile* file = NULL; + ThumbnailSource* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + ThumbnailSource* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_CACHE (self)); +#line 521 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 522 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = source; +#line 522 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_get_source_cached_file (self, _tmp0_); +#line 522 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + file = _tmp1_; +#line 525 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = source; +#line 525 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource)); +#line 525 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp3_; +#line 525 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_remove_from_memory (self, _tmp4_); +#line 525 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp4_); +#line 2943 "ThumbnailCache.c" + { +#line 529 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_file_delete (file, NULL, &_inner_error_); +#line 529 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2949 "ThumbnailCache.c" + goto __catch226_g_error; + } + } + goto __finally226; + __catch226_g_error: + { + GError* err = NULL; +#line 528 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + err = _inner_error_; +#line 528 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _inner_error_ = NULL; +#line 528 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 2963 "ThumbnailCache.c" + } + __finally226: +#line 528 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 528 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (file); +#line 528 "/home/jens/Source/shotwell/src/ThumbnailCache.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 528 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_clear_error (&_inner_error_); +#line 528 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 2976 "ThumbnailCache.c" + } +#line 521 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (file); +#line 2980 "ThumbnailCache.c" +} + + +static gboolean _thumbnail_cache_exists (ThumbnailCache* self, ThumbnailSource* source) { + gboolean result = FALSE; + ThumbnailSource* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 535 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_CACHE (self), FALSE); +#line 535 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), FALSE); +#line 536 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = source; +#line 536 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_cache_get_source_cached_file (self, _tmp0_); +#line 536 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _tmp1_; +#line 536 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = g_file_query_exists (_tmp2_, NULL); +#line 536 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp3_; +#line 536 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp2_); +#line 536 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp4_; +#line 536 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 3011 "ThumbnailCache.c" +} + + +static GdkPixbuf* thumbnail_cache_read_pixbuf (ThumbnailCache* self, const gchar* thumbnail_name, PhotoFileFormat format, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + PhotoFileReader* _tmp8_ = NULL; + PhotoFileReader* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; + GError * _inner_error_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_CACHE (self), NULL); +#line 540 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (thumbnail_name != NULL, NULL); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = format; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnail_name; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = format; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = thumbnail_cache_get_cached_file (self, _tmp2_, _tmp3_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = _tmp4_; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = _tmp6_; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = photo_file_format_create_reader (_tmp1_, _tmp7_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = _tmp8_; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = photo_file_reader_unscaled_read (_tmp9_, &_inner_error_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = _tmp10_; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _photo_file_adapter_unref0 (_tmp9_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp7_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp5_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = _tmp11_; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return NULL; +#line 3071 "ThumbnailCache.c" + } +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = _tmp0_; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = NULL; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp12_; +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp0_); +#line 541 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 3083 "ThumbnailCache.c" +} + + +static GFile* thumbnail_cache_get_source_cached_file (ThumbnailCache* self, ThumbnailSource* source) { + GFile* result = NULL; + ThumbnailSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + ThumbnailSource* _tmp3_ = NULL; + PhotoFileFormat _tmp4_ = 0; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 545 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_CACHE (self), NULL); +#line 545 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), NULL); +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = source; +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_source_get_representative_id (_tmp0_); +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = _tmp1_; +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = source; +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = thumbnail_source_get_preferred_thumbnail_format (_tmp3_); +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = thumbnail_cache_get_cached_file (self, _tmp2_, _tmp4_); +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp5_; +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp2_); +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp6_; +#line 546 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 3120 "ThumbnailCache.c" +} + + +static GFile* thumbnail_cache_get_cached_file (ThumbnailCache* self, const gchar* thumbnail_name, PhotoFileFormat thumbnail_format) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_CACHE (self), NULL); +#line 550 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (thumbnail_name != NULL, NULL); +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->priv->cache_dir; +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_format; +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnail_name; +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = photo_file_format_get_default_basename (_tmp1_, _tmp2_); +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = _tmp3_; +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = g_file_get_child (_tmp0_, _tmp4_); +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp5_; +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp4_); +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp6_; +#line 551 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 3157 "ThumbnailCache.c" +} + + +static GdkPixbuf* thumbnail_cache_fetch_from_memory (ThumbnailCache* self, const gchar* thumbnail_name) { + GdkPixbuf* result = NULL; + ThumbnailCacheImageData* data = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + ThumbnailCacheImageData* _tmp4_ = NULL; + GdkPixbuf* _tmp7_ = NULL; +#line 554 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_CACHE (self), NULL); +#line 554 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (thumbnail_name != NULL, NULL); +#line 555 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->priv->cache_map; +#line 555 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_name; +#line 555 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 555 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + data = (ThumbnailCacheImageData*) _tmp2_; +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = data; +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp4_ != NULL) { +#line 3186 "ThumbnailCache.c" + ThumbnailCacheImageData* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = data; +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp5_->pixbuf; +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = _tmp6_; +#line 3195 "ThumbnailCache.c" + } else { +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = NULL; +#line 3199 "ThumbnailCache.c" + } +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = _g_object_ref0 (_tmp3_); +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = _tmp7_; +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_image_data_unref0 (data); +#line 557 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 3209 "ThumbnailCache.c" +} + + +static void thumbnail_cache_store_in_memory (ThumbnailCache* self, const gchar* thumbnail_name, GdkPixbuf* thumbnail) { + gulong _tmp0_ = 0UL; + const gchar* _tmp1_ = NULL; + ThumbnailCacheImageData* data = NULL; + GdkPixbuf* _tmp2_ = NULL; + ThumbnailCacheImageData* _tmp3_ = NULL; + ThumbnailCacheImageData* _tmp4_ = NULL; + gulong _tmp5_ = 0UL; + GeeHashMap* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + ThumbnailCacheImageData* _tmp9_ = NULL; + GeeArrayList* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gulong _tmp12_ = 0UL; + ThumbnailCacheImageData* _tmp13_ = NULL; + gulong _tmp14_ = 0UL; +#line 560 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_CACHE (self)); +#line 560 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (thumbnail_name != NULL); +#line 560 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (GDK_IS_PIXBUF (thumbnail)); +#line 561 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->priv->max_cached_bytes; +#line 561 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp0_ <= ((gulong) 0)) { +#line 562 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 3241 "ThumbnailCache.c" + } +#line 564 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_name; +#line 564 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_remove_from_memory (self, _tmp1_); +#line 566 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnail; +#line 566 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = thumbnail_cache_image_data_new (_tmp2_); +#line 566 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + data = _tmp3_; +#line 569 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = data; +#line 569 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = _tmp4_->bytes; +#line 569 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp5_ > ((gulong) THUMBNAIL_CACHE_MAX_INMEMORY_DATA_SIZE)) { +#line 3259 "ThumbnailCache.c" + const gchar* _tmp6_ = NULL; +#line 570 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = thumbnail_name; +#line 570 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_debug ("ThumbnailCache.vala:570: Persistent thumbnail [%s] too large to cache " \ +"in memory", _tmp6_); +#line 572 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_image_data_unref0 (data); +#line 572 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 3269 "ThumbnailCache.c" + } +#line 575 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = self->priv->cache_map; +#line 575 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = thumbnail_name; +#line 575 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = data; +#line 575 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_, _tmp9_); +#line 576 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = self->priv->cache_lru; +#line 576 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = thumbnail_name; +#line 576 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + gee_abstract_list_insert (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0, _tmp11_); +#line 578 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = self->priv->cached_bytes; +#line 578 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = data; +#line 578 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = _tmp13_->bytes; +#line 578 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->cached_bytes = _tmp12_ + _tmp14_; +#line 581 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + while (TRUE) { +#line 3295 "ThumbnailCache.c" + gulong _tmp15_ = 0UL; + gulong _tmp16_ = 0UL; + GeeArrayList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint index = 0; + GeeArrayList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gchar* victim_name = NULL; + GeeArrayList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gpointer _tmp25_ = NULL; + GeeArrayList* _tmp26_ = NULL; + gint _tmp27_ = 0; + gpointer _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + GeeHashMap* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gpointer _tmp32_ = NULL; + gint _tmp33_ = 0; + gboolean removed = FALSE; + GeeHashMap* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + gboolean _tmp37_ = FALSE; + ThumbnailCacheImageData* _tmp38_ = NULL; + gulong _tmp39_ = 0UL; + gulong _tmp40_ = 0UL; + gulong _tmp41_ = 0UL; + ThumbnailCacheImageData* _tmp42_ = NULL; + gulong _tmp43_ = 0UL; +#line 581 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = self->priv->cached_bytes; +#line 581 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp16_ = self->priv->max_cached_bytes; +#line 581 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (!(_tmp15_ > _tmp16_)) { +#line 581 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + break; +#line 3336 "ThumbnailCache.c" + } +#line 582 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp17_ = self->priv->cache_lru; +#line 582 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp18_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 582 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp19_ = _tmp18_; +#line 582 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp19_ > 0, "cache_lru.size > 0"); +#line 583 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp20_ = self->priv->cache_lru; +#line 583 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp21_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 583 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp22_ = _tmp21_; +#line 583 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + index = _tmp22_ - 1; +#line 585 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp23_ = self->priv->cache_lru; +#line 585 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp24_ = index; +#line 585 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp25_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp24_); +#line 585 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + victim_name = (gchar*) _tmp25_; +#line 586 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp26_ = self->priv->cache_lru; +#line 586 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp27_ = index; +#line 586 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp28_ = gee_abstract_list_remove_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp27_); +#line 586 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp29_ = (gchar*) _tmp28_; +#line 586 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp29_); +#line 588 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp30_ = self->priv->cache_map; +#line 588 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp31_ = victim_name; +#line 588 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp32_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp31_); +#line 588 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_image_data_unref0 (data); +#line 588 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + data = (ThumbnailCacheImageData*) _tmp32_; +#line 590 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp33_ = thumbnail_cache_cycle_overflow_thumbnails; +#line 590 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_cycle_overflow_thumbnails = _tmp33_ + 1; +#line 591 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_schedule_debug (); +#line 593 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp34_ = self->priv->cache_map; +#line 593 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp35_ = victim_name; +#line 593 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp36_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp35_, NULL); +#line 593 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + removed = _tmp36_; +#line 594 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp37_ = removed; +#line 594 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp37_, "removed"); +#line 596 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp38_ = data; +#line 596 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp39_ = _tmp38_->bytes; +#line 596 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp40_ = self->priv->cached_bytes; +#line 596 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp39_ <= _tmp40_, "data.bytes <= cached_bytes"); +#line 597 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp41_ = self->priv->cached_bytes; +#line 597 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp42_ = data; +#line 597 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp43_ = _tmp42_->bytes; +#line 597 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->cached_bytes = _tmp41_ - _tmp43_; +#line 581 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (victim_name); +#line 3418 "ThumbnailCache.c" + } +#line 560 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_image_data_unref0 (data); +#line 3422 "ThumbnailCache.c" +} + + +static gboolean thumbnail_cache_remove_from_memory (ThumbnailCache* self, const gchar* thumbnail_name) { + gboolean result = FALSE; + ThumbnailCacheImageData* data = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + ThumbnailCacheImageData* _tmp3_ = NULL; + gulong _tmp4_ = 0UL; + ThumbnailCacheImageData* _tmp5_ = NULL; + gulong _tmp6_ = 0UL; + gulong _tmp7_ = 0UL; + ThumbnailCacheImageData* _tmp8_ = NULL; + gulong _tmp9_ = 0UL; + gboolean removed = FALSE; + GeeHashMap* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + GeeArrayList* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 601 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_CACHE (self), FALSE); +#line 601 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (thumbnail_name != NULL, FALSE); +#line 602 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->priv->cache_map; +#line 602 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = thumbnail_name; +#line 602 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 602 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + data = (ThumbnailCacheImageData*) _tmp2_; +#line 603 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = data; +#line 603 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp3_ == NULL) { +#line 604 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = FALSE; +#line 604 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_image_data_unref0 (data); +#line 604 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 3470 "ThumbnailCache.c" + } +#line 606 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = self->priv->cached_bytes; +#line 606 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = data; +#line 606 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp5_->bytes; +#line 606 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp4_ >= _tmp6_, "cached_bytes >= data.bytes"); +#line 607 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = self->priv->cached_bytes; +#line 607 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = data; +#line 607 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = _tmp8_->bytes; +#line 607 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->cached_bytes = _tmp7_ - _tmp9_; +#line 610 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = self->priv->cache_map; +#line 610 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = thumbnail_name; +#line 610 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, NULL); +#line 610 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + removed = _tmp12_; +#line 611 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = removed; +#line 611 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp13_, "removed"); +#line 614 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = self->priv->cache_lru; +#line 614 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = thumbnail_name; +#line 614 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp16_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_); +#line 614 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + removed = _tmp16_; +#line 615 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp17_ = removed; +#line 615 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _vala_assert (_tmp17_, "removed"); +#line 617 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = TRUE; +#line 617 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _thumbnail_cache_image_data_unref0 (data); +#line 617 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 3518 "ThumbnailCache.c" +} + + +static void thumbnail_cache_save_thumbnail (ThumbnailCache* self, GFile* file, GdkPixbuf* pixbuf, ThumbnailSource* source, GError** error) { + PhotoFileWriter* _tmp0_ = NULL; + ThumbnailSource* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + PhotoFileWriter* _tmp6_ = NULL; + PhotoFileWriter* _tmp7_ = NULL; + PhotoFileWriter* _tmp8_ = NULL; + PhotoFileWriter* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 620 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_CACHE (self)); +#line 620 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 620 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 620 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = source; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = thumbnail_source_get_preferred_thumbnail_format (_tmp1_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = file; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = _tmp4_; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = photo_file_format_create_writer (_tmp2_, _tmp5_, &_inner_error_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = _tmp6_; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (_tmp5_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = _tmp7_; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 3567 "ThumbnailCache.c" + } +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = _tmp0_; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = NULL; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = _tmp8_; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = pixbuf; +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + photo_file_writer_write (_tmp9_, _tmp10_, THUMBNAIL_CACHE_DEFAULT_QUALITY, &_inner_error_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _photo_file_adapter_unref0 (_tmp9_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _photo_file_adapter_unref0 (_tmp0_); +#line 621 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 3589 "ThumbnailCache.c" + } +#line 620 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _photo_file_adapter_unref0 (_tmp0_); +#line 3593 "ThumbnailCache.c" +} + + +static ThumbnailCacheImageData* thumbnail_cache_image_data_construct (GType object_type, GdkPixbuf* pixbuf) { + ThumbnailCacheImageData* self = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + gint _tmp3_ = 0; + GdkPixbuf* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 63 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 63 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = (ThumbnailCacheImageData*) g_type_create_instance (object_type); +#line 64 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = pixbuf; +#line 64 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 64 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->pixbuf); +#line 64 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->pixbuf = _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = pixbuf; +#line 68 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = gdk_pixbuf_get_rowstride (_tmp2_); +#line 68 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = pixbuf; +#line 68 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = gdk_pixbuf_get_height (_tmp4_); +#line 68 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->bytes = ((gulong) _tmp3_) * ((gulong) _tmp5_); +#line 63 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return self; +#line 3629 "ThumbnailCache.c" +} + + +static ThumbnailCacheImageData* thumbnail_cache_image_data_new (GdkPixbuf* pixbuf) { +#line 63 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return thumbnail_cache_image_data_construct (THUMBNAIL_CACHE_TYPE_IMAGE_DATA, pixbuf); +#line 3636 "ThumbnailCache.c" +} + + +static void thumbnail_cache_value_image_data_init (GValue* value) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = NULL; +#line 3643 "ThumbnailCache.c" +} + + +static void thumbnail_cache_value_image_data_free_value (GValue* value) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (value->data[0].v_pointer) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_image_data_unref (value->data[0].v_pointer); +#line 3652 "ThumbnailCache.c" + } +} + + +static void thumbnail_cache_value_image_data_copy_value (const GValue* src_value, GValue* dest_value) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (src_value->data[0].v_pointer) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dest_value->data[0].v_pointer = thumbnail_cache_image_data_ref (src_value->data[0].v_pointer); +#line 3662 "ThumbnailCache.c" + } else { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + dest_value->data[0].v_pointer = NULL; +#line 3666 "ThumbnailCache.c" + } +} + + +static gpointer thumbnail_cache_value_image_data_peek_pointer (const GValue* value) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return value->data[0].v_pointer; +#line 3674 "ThumbnailCache.c" +} + + +static gchar* thumbnail_cache_value_image_data_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (collect_values[0].v_pointer) { +#line 3681 "ThumbnailCache.c" + ThumbnailCacheImageData* object; + object = collect_values[0].v_pointer; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (object->parent_instance.g_class == NULL) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3688 "ThumbnailCache.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3692 "ThumbnailCache.c" + } +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = thumbnail_cache_image_data_ref (object); +#line 3696 "ThumbnailCache.c" + } else { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = NULL; +#line 3700 "ThumbnailCache.c" + } +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return NULL; +#line 3704 "ThumbnailCache.c" +} + + +static gchar* thumbnail_cache_value_image_data_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ThumbnailCacheImageData** object_p; + object_p = collect_values[0].v_pointer; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (!object_p) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3715 "ThumbnailCache.c" + } +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (!value->data[0].v_pointer) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + *object_p = NULL; +#line 3721 "ThumbnailCache.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + *object_p = value->data[0].v_pointer; +#line 3725 "ThumbnailCache.c" + } else { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + *object_p = thumbnail_cache_image_data_ref (value->data[0].v_pointer); +#line 3729 "ThumbnailCache.c" + } +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return NULL; +#line 3733 "ThumbnailCache.c" +} + + +static GParamSpec* thumbnail_cache_param_spec_image_data (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ThumbnailCacheParamSpecImageData* spec; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (g_type_is_a (object_type, THUMBNAIL_CACHE_TYPE_IMAGE_DATA), NULL); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return G_PARAM_SPEC (spec); +#line 3747 "ThumbnailCache.c" +} + + +static gpointer thumbnail_cache_value_get_image_data (const GValue* value) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, THUMBNAIL_CACHE_TYPE_IMAGE_DATA), NULL); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return value->data[0].v_pointer; +#line 3756 "ThumbnailCache.c" +} + + +static void thumbnail_cache_value_set_image_data (GValue* value, gpointer v_object) { + ThumbnailCacheImageData* old; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, THUMBNAIL_CACHE_TYPE_IMAGE_DATA)); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + old = value->data[0].v_pointer; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (v_object) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, THUMBNAIL_CACHE_TYPE_IMAGE_DATA)); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = v_object; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_image_data_ref (value->data[0].v_pointer); +#line 3776 "ThumbnailCache.c" + } else { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = NULL; +#line 3780 "ThumbnailCache.c" + } +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (old) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_image_data_unref (old); +#line 3786 "ThumbnailCache.c" + } +} + + +static void thumbnail_cache_value_take_image_data (GValue* value, gpointer v_object) { + ThumbnailCacheImageData* old; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, THUMBNAIL_CACHE_TYPE_IMAGE_DATA)); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + old = value->data[0].v_pointer; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (v_object) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, THUMBNAIL_CACHE_TYPE_IMAGE_DATA)); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = v_object; +#line 3805 "ThumbnailCache.c" + } else { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + value->data[0].v_pointer = NULL; +#line 3809 "ThumbnailCache.c" + } +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (old) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_image_data_unref (old); +#line 3815 "ThumbnailCache.c" + } +} + + +static void thumbnail_cache_image_data_class_init (ThumbnailCacheImageDataClass * klass) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_image_data_parent_class = g_type_class_peek_parent (klass); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + ((ThumbnailCacheImageDataClass *) klass)->finalize = thumbnail_cache_image_data_finalize; +#line 3825 "ThumbnailCache.c" +} + + +static void thumbnail_cache_image_data_instance_init (ThumbnailCacheImageData * self) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->ref_count = 1; +#line 3832 "ThumbnailCache.c" +} + + +static void thumbnail_cache_image_data_finalize (ThumbnailCacheImageData* obj) { + ThumbnailCacheImageData * self; + gulong _tmp0_ = 0UL; + gulong _tmp1_ = 0UL; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, THUMBNAIL_CACHE_TYPE_IMAGE_DATA, ThumbnailCacheImageData); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_signal_handlers_destroy (self); +#line 72 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = thumbnail_cache_cycle_dropped_bytes; +#line 72 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = self->bytes; +#line 72 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_cycle_dropped_bytes = _tmp0_ + _tmp1_; +#line 73 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_schedule_debug (); +#line 60 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->pixbuf); +#line 3854 "ThumbnailCache.c" +} + + +static GType thumbnail_cache_image_data_get_type (void) { + static volatile gsize thumbnail_cache_image_data_type_id__volatile = 0; + if (g_once_init_enter (&thumbnail_cache_image_data_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { thumbnail_cache_value_image_data_init, thumbnail_cache_value_image_data_free_value, thumbnail_cache_value_image_data_copy_value, thumbnail_cache_value_image_data_peek_pointer, "p", thumbnail_cache_value_image_data_collect_value, "p", thumbnail_cache_value_image_data_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ThumbnailCacheImageDataClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_cache_image_data_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThumbnailCacheImageData), 0, (GInstanceInitFunc) thumbnail_cache_image_data_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType thumbnail_cache_image_data_type_id; + thumbnail_cache_image_data_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ThumbnailCacheImageData", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&thumbnail_cache_image_data_type_id__volatile, thumbnail_cache_image_data_type_id); + } + return thumbnail_cache_image_data_type_id__volatile; +} + + +static gpointer thumbnail_cache_image_data_ref (gpointer instance) { + ThumbnailCacheImageData* self; + self = instance; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_atomic_int_inc (&self->ref_count); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return instance; +#line 3879 "ThumbnailCache.c" +} + + +static void thumbnail_cache_image_data_unref (gpointer instance) { + ThumbnailCacheImageData* self; + self = instance; +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + THUMBNAIL_CACHE_IMAGE_DATA_GET_CLASS (self)->finalize (self); +#line 59 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3892 "ThumbnailCache.c" + } +} + + +static void _thumbnail_cache_async_fetch_completion_callback_completion_callback (BackgroundJob* job, gpointer self) { +#line 94 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_async_fetch_completion_callback (job); +#line 3900 "ThumbnailCache.c" +} + + +static ThumbnailCacheAsyncFetchJob* thumbnail_cache_async_fetch_job_construct (GType object_type, ThumbnailCache* cache, const gchar* thumbnail_name, ThumbnailSource* source, GdkPixbuf* prefetched, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable) { + ThumbnailCacheAsyncFetchJob* self = NULL; + ThumbnailCache* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; + ThumbnailCache* _tmp2_ = NULL; + ThumbnailCache* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + ThumbnailSource* _tmp6_ = NULL; + ThumbnailSource* _tmp7_ = NULL; + ThumbnailSource* _tmp8_ = NULL; + PhotoFileFormat _tmp9_ = 0; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + Dimensions _tmp12_ = {0}; + GdkInterpType _tmp13_ = 0; + ThumbnailCacheAsyncFetchCallback _tmp14_ = NULL; + void* _tmp14__target = NULL; +#line 91 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_CACHE (cache), NULL); +#line 91 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (thumbnail_name != NULL, NULL); +#line 91 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), NULL); +#line 91 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail ((prefetched == NULL) || GDK_IS_PIXBUF (prefetched), NULL); +#line 91 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail (dim != NULL, NULL); +#line 91 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), NULL); +#line 94 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = cache; +#line 94 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = cancellable; +#line 94 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = (ThumbnailCacheAsyncFetchJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _thumbnail_cache_async_fetch_completion_callback_completion_callback, NULL, _tmp1_, NULL, NULL, NULL); +#line 96 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = cache; +#line 96 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 96 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->cache); +#line 96 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->cache = _tmp3_; +#line 97 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = thumbnail_name; +#line 97 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 97 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (self->thumbnail_name); +#line 97 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->thumbnail_name = _tmp5_; +#line 98 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = source; +#line 98 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 98 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->source); +#line 98 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->source = _tmp7_; +#line 99 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = source; +#line 99 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = thumbnail_source_get_preferred_thumbnail_format (_tmp8_); +#line 99 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->source_format = _tmp9_; +#line 100 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = prefetched; +#line 100 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 100 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->unscaled); +#line 100 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->unscaled = _tmp11_; +#line 101 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = *dim; +#line 101 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->dim = _tmp12_; +#line 102 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = interp; +#line 102 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->interp = _tmp13_; +#line 103 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = callback; +#line 103 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14__target = callback_target; +#line 103 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->callback = _tmp14_; +#line 103 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->callback_target = _tmp14__target; +#line 91 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return self; +#line 3996 "ThumbnailCache.c" +} + + +static ThumbnailCacheAsyncFetchJob* thumbnail_cache_async_fetch_job_new (ThumbnailCache* cache, const gchar* thumbnail_name, ThumbnailSource* source, GdkPixbuf* prefetched, Dimensions* dim, GdkInterpType interp, ThumbnailCacheAsyncFetchCallback callback, void* callback_target, GCancellable* cancellable) { +#line 91 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return thumbnail_cache_async_fetch_job_construct (THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB, cache, thumbnail_name, source, prefetched, dim, interp, callback, callback_target, cancellable); +#line 4003 "ThumbnailCache.c" +} + + +static BackgroundJobJobPriority thumbnail_cache_async_fetch_job_real_get_priority (BackgroundJob* base) { + ThumbnailCacheAsyncFetchJob * self; + BackgroundJobJobPriority result = 0; + GdkInterpType _tmp0_ = 0; +#line 106 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB, ThumbnailCacheAsyncFetchJob); +#line 109 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->interp; +#line 109 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + switch (_tmp0_) { +#line 109 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + case GDK_INTERP_NEAREST: +#line 109 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + case GDK_INTERP_TILES: +#line 4021 "ThumbnailCache.c" + { +#line 112 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = BACKGROUND_JOB_JOB_PRIORITY_HIGH; +#line 112 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 4027 "ThumbnailCache.c" + } + default: +#line 109 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + case GDK_INTERP_BILINEAR: +#line 109 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + case GDK_INTERP_HYPER: +#line 4034 "ThumbnailCache.c" + { +#line 117 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + result = BACKGROUND_JOB_JOB_PRIORITY_NORMAL; +#line 117 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return result; +#line 4040 "ThumbnailCache.c" + } + } +} + + +static void thumbnail_cache_async_fetch_job_real_execute (BackgroundJob* base) { + ThumbnailCacheAsyncFetchJob * self; + GError * _inner_error_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB, ThumbnailCacheAsyncFetchJob); +#line 4051 "ThumbnailCache.c" + { + GdkPixbuf* _tmp0_ = NULL; + gboolean _tmp7_ = FALSE; + GdkPixbuf* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GdkPixbuf* _tmp16_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->unscaled; +#line 124 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp0_ == NULL) { +#line 4062 "ThumbnailCache.c" + GdkPixbuf* _tmp1_ = NULL; + ThumbnailCache* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + PhotoFileFormat _tmp4_ = 0; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = self->cache; +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = self->thumbnail_name; +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = self->source_format; +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = thumbnail_cache_read_pixbuf (_tmp2_, _tmp3_, _tmp4_, &_inner_error_); +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = _tmp5_; +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4081 "ThumbnailCache.c" + goto __catch227_g_error; + } +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp1_; +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->unscaled); +#line 125 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->unscaled = _tmp6_; +#line 126 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->fetched = TRUE; +#line 124 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp1_); +#line 4096 "ThumbnailCache.c" + } +#line 129 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp7_ = background_job_is_cancelled (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 129 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp7_) { +#line 130 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 4104 "ThumbnailCache.c" + } +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = dimensions_has_area (&self->dim); +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp9_) { +#line 4110 "ThumbnailCache.c" + GdkPixbuf* _tmp10_ = NULL; + Dimensions _tmp11_ = {0}; + GdkInterpType _tmp12_ = 0; + GdkPixbuf* _tmp13_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = self->unscaled; +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = self->dim; +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = self->interp; +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = resize_pixbuf (_tmp10_, &_tmp11_, _tmp12_); +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp8_); +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = _tmp13_; +#line 4127 "ThumbnailCache.c" + } else { + GdkPixbuf* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = self->unscaled; +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp8_); +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = _tmp15_; +#line 4139 "ThumbnailCache.c" + } +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp16_ = _g_object_ref0 (_tmp8_); +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->scaled); +#line 133 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->scaled = _tmp16_; +#line 122 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp8_); +#line 4149 "ThumbnailCache.c" + } + goto __finally227; + __catch227_g_error: + { + GError* err = NULL; + GError* _tmp17_ = NULL; +#line 122 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + err = _inner_error_; +#line 122 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _inner_error_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp17_ = err; +#line 135 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp17_->domain == G_FILE_ERROR) { +#line 4164 "ThumbnailCache.c" + { +#line 137 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_async_fetch_job_generate_thumbnail (self, &_inner_error_); +#line 137 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4170 "ThumbnailCache.c" + goto __catch228_g_error; + } + } + goto __finally228; + __catch228_g_error: + { + GError* generr = NULL; + GError* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 136 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + generr = _inner_error_; +#line 136 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _inner_error_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp18_ = generr; +#line 140 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp19_ = _g_error_copy0 (_tmp18_); +#line 140 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 140 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + err = _tmp19_; +#line 136 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (generr); +#line 4194 "ThumbnailCache.c" + } + __finally228: +#line 136 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 136 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 136 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 136 "/home/jens/Source/shotwell/src/ThumbnailCache.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 136 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_clear_error (&_inner_error_); +#line 136 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 4209 "ThumbnailCache.c" + } + } else { + GError* _tmp20_ = NULL; + GError* _tmp21_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp20_ = err; +#line 144 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp21_ = _g_error_copy0 (_tmp20_); +#line 144 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (self->err); +#line 144 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->err = _tmp21_; +#line 4222 "ThumbnailCache.c" + } +#line 122 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (err); +#line 4226 "ThumbnailCache.c" + } + __finally227: +#line 122 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 122 "/home/jens/Source/shotwell/src/ThumbnailCache.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 122 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_clear_error (&_inner_error_); +#line 122 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 4237 "ThumbnailCache.c" + } +} + + +static void thumbnail_cache_async_fetch_job_generate_thumbnail (ThumbnailCacheAsyncFetchJob* self, GError** error) { + Photo* photo = NULL; + ThumbnailSource* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + GdkPixbuf* _tmp19_ = NULL; + GError * _inner_error_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_return_if_fail (THUMBNAIL_CACHE_IS_ASYNC_FETCH_JOB (self)); +#line 150 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = self->source; +#line 150 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO) ? ((Photo*) _tmp0_) : NULL); +#line 150 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + photo = _tmp1_; +#line 151 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp2_ = photo; +#line 151 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp2_ != NULL) { +#line 4261 "ThumbnailCache.c" + GdkPixbuf* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + Scaling _tmp7_ = {0}; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp4_ = photo; +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp5_ = self->dim; +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp6_ = _tmp5_.width; +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + scaling_for_best_fit (_tmp6_, TRUE, &_tmp7_); +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp8_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp7_, &_inner_error_); +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = _tmp8_; +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (photo); +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 4289 "ThumbnailCache.c" + } +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp9_ = _tmp3_; +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp3_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->unscaled); +#line 152 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->unscaled = _tmp9_; +#line 151 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp3_); +#line 4301 "ThumbnailCache.c" + } else { + Video* video = NULL; + ThumbnailSource* _tmp10_ = NULL; + Video* _tmp11_ = NULL; + Video* _tmp12_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp10_ = self->source; +#line 154 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_VIDEO) ? ((Video*) _tmp10_) : NULL); +#line 154 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + video = _tmp11_; +#line 155 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp12_ = video; +#line 155 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp12_ != NULL) { +#line 4317 "ThumbnailCache.c" + GdkPixbuf* _tmp13_ = NULL; + Video* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkPixbuf* _tmp17_ = NULL; + GdkPixbuf* _tmp18_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp14_ = video; +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp15_ = self->dim; +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp16_ = _tmp15_.width; +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp17_ = thumbnail_source_create_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp16_, &_inner_error_); +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = _tmp17_; +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_propagate_error (error, _inner_error_); +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (video); +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (photo); +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + return; +#line 4344 "ThumbnailCache.c" + } +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp18_ = _tmp13_; +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp13_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->unscaled); +#line 156 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->unscaled = _tmp18_; +#line 155 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (_tmp13_); +#line 4356 "ThumbnailCache.c" + } +#line 151 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (video); +#line 4360 "ThumbnailCache.c" + } +#line 159 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp19_ = self->unscaled; +#line 159 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + if (_tmp19_ != NULL) { +#line 4366 "ThumbnailCache.c" + GdkPixbuf* _tmp20_ = NULL; + Dimensions _tmp21_ = {0}; + GdkInterpType _tmp22_ = 0; + GdkPixbuf* _tmp23_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp20_ = self->unscaled; +#line 160 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp21_ = self->dim; +#line 160 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp22_ = self->interp; +#line 160 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp23_ = resize_pixbuf (_tmp20_, &_tmp21_, _tmp22_); +#line 160 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->scaled); +#line 160 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->scaled = _tmp23_; +#line 161 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->replace = TRUE; +#line 4385 "ThumbnailCache.c" + } +#line 149 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (photo); +#line 4389 "ThumbnailCache.c" +} + + +static void thumbnail_cache_async_fetch_job_class_init (ThumbnailCacheAsyncFetchJobClass * klass) { +#line 77 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_async_fetch_job_parent_class = g_type_class_peek_parent (klass); +#line 77 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + ((BackgroundJobClass *) klass)->finalize = thumbnail_cache_async_fetch_job_finalize; +#line 77 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + ((BackgroundJobClass *) klass)->get_priority = thumbnail_cache_async_fetch_job_real_get_priority; +#line 77 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + ((BackgroundJobClass *) klass)->execute = thumbnail_cache_async_fetch_job_real_execute; +#line 4402 "ThumbnailCache.c" +} + + +static void thumbnail_cache_async_fetch_job_instance_init (ThumbnailCacheAsyncFetchJob * self) { +#line 86 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->scaled = NULL; +#line 87 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->err = NULL; +#line 88 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->fetched = FALSE; +#line 89 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->replace = FALSE; +#line 4415 "ThumbnailCache.c" +} + + +static void thumbnail_cache_async_fetch_job_finalize (BackgroundJob* obj) { + ThumbnailCacheAsyncFetchJob * self; +#line 77 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, THUMBNAIL_CACHE_TYPE_ASYNC_FETCH_JOB, ThumbnailCacheAsyncFetchJob); +#line 78 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->cache); +#line 79 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_free0 (self->thumbnail_name); +#line 80 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->source); +#line 85 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->unscaled); +#line 86 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->scaled); +#line 87 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_error_free0 (self->err); +#line 77 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + BACKGROUND_JOB_CLASS (thumbnail_cache_async_fetch_job_parent_class)->finalize (obj); +#line 4437 "ThumbnailCache.c" +} + + +static GType thumbnail_cache_async_fetch_job_get_type (void) { + static volatile gsize thumbnail_cache_async_fetch_job_type_id__volatile = 0; + if (g_once_init_enter (&thumbnail_cache_async_fetch_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ThumbnailCacheAsyncFetchJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_cache_async_fetch_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThumbnailCacheAsyncFetchJob), 0, (GInstanceInitFunc) thumbnail_cache_async_fetch_job_instance_init, NULL }; + GType thumbnail_cache_async_fetch_job_type_id; + thumbnail_cache_async_fetch_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "ThumbnailCacheAsyncFetchJob", &g_define_type_info, 0); + g_once_init_leave (&thumbnail_cache_async_fetch_job_type_id__volatile, thumbnail_cache_async_fetch_job_type_id); + } + return thumbnail_cache_async_fetch_job_type_id__volatile; +} + + +static void thumbnail_cache_class_init (ThumbnailCacheClass * klass) { + ThumbnailCacheSize* _tmp0_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_parent_class = g_type_class_peek_parent (klass); +#line 27 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + g_type_class_add_private (klass, sizeof (ThumbnailCachePrivate)); +#line 27 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + G_OBJECT_CLASS (klass)->finalize = thumbnail_cache_finalize; +#line 54 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = g_new0 (ThumbnailCacheSize, 2); +#line 54 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_[0] = THUMBNAIL_CACHE_SIZE_BIG; +#line 54 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_[1] = THUMBNAIL_CACHE_SIZE_MEDIUM; +#line 54 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_ALL_SIZES = _tmp0_; +#line 54 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + thumbnail_cache_ALL_SIZES_length1 = 2; +#line 4471 "ThumbnailCache.c" +} + + +static void thumbnail_cache_instance_init (ThumbnailCache * self) { + GeeHashMap* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv = THUMBNAIL_CACHE_GET_PRIVATE (self); +#line 186 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, THUMBNAIL_CACHE_TYPE_IMAGE_DATA, (GBoxedCopyFunc) thumbnail_cache_image_data_ref, thumbnail_cache_image_data_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 186 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->cache_map = _tmp0_; +#line 187 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _tmp1_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 187 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->cache_lru = _tmp1_; +#line 188 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self->priv->cached_bytes = (gulong) 0; +#line 4490 "ThumbnailCache.c" +} + + +static void thumbnail_cache_finalize (GObject* obj) { + ThumbnailCache * self; +#line 27 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_THUMBNAIL_CACHE, ThumbnailCache); +#line 181 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->priv->cache_dir); +#line 186 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->priv->cache_map); +#line 187 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + _g_object_unref0 (self->priv->cache_lru); +#line 27 "/home/jens/Source/shotwell/src/ThumbnailCache.vala" + G_OBJECT_CLASS (thumbnail_cache_parent_class)->finalize (obj); +#line 4506 "ThumbnailCache.c" +} + + +GType thumbnail_cache_get_type (void) { + static volatile gsize thumbnail_cache_type_id__volatile = 0; + if (g_once_init_enter (&thumbnail_cache_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ThumbnailCacheClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_cache_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThumbnailCache), 0, (GInstanceInitFunc) thumbnail_cache_instance_init, NULL }; + GType thumbnail_cache_type_id; + thumbnail_cache_type_id = g_type_register_static (G_TYPE_OBJECT, "ThumbnailCache", &g_define_type_info, 0); + g_once_init_leave (&thumbnail_cache_type_id__volatile, thumbnail_cache_type_id); + } + return thumbnail_cache_type_id__volatile; +} + + + diff --git a/src/TimedQueue.c b/src/TimedQueue.c new file mode 100644 index 0000000..9d872a5 --- /dev/null +++ b/src/TimedQueue.c @@ -0,0 +1,2239 @@ +/* TimedQueue.c generated by valac 0.32.1, the Vala compiler + * generated from TimedQueue.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* TimedQueue is a specialized collection class. It holds items in order, but rather than being*/ +/* manually dequeued, they are dequeued automatically after a specified amount of time has elapsed*/ +/* for that item. As of today, it's possible the item will be dequeued a bit later than asked*/ +/* for, but it will never be early. Future implementations might tighten up the lateness.*/ +/**/ +/* The original design was to use a signal to notify when an item has been dequeued, but Vala has*/ +/* a bug with passing an unnamed type as a signal parameter:*/ +/* https://bugzilla.gnome.org/show_bug.cgi?id=628639*/ +/**/ +/* The rate the items come off the queue can be spaced out. Note that this can cause items to back*/ +/* up. As of today, TimedQueue makes no effort to combat this.*/ + +#include +#include +#include +#include + + +#define TYPE_TIMED_QUEUE (timed_queue_get_type ()) +#define TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TIMED_QUEUE, TimedQueue)) +#define TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TIMED_QUEUE, TimedQueueClass)) +#define IS_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TIMED_QUEUE)) +#define IS_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TIMED_QUEUE)) +#define TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TIMED_QUEUE, TimedQueueClass)) + +typedef struct _TimedQueue TimedQueue; +typedef struct _TimedQueueClass TimedQueueClass; +typedef struct _TimedQueuePrivate TimedQueuePrivate; + +#define TYPE_SORTED_LIST (sorted_list_get_type ()) +#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList)) +#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass)) +#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST)) +#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST)) +#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass)) + +typedef struct _SortedList SortedList; +typedef struct _SortedListClass SortedListClass; + +#define TIMED_QUEUE_TYPE_ELEMENT (timed_queue_element_get_type ()) +#define TIMED_QUEUE_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TIMED_QUEUE_TYPE_ELEMENT, TimedQueueElement)) +#define TIMED_QUEUE_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TIMED_QUEUE_TYPE_ELEMENT, TimedQueueElementClass)) +#define TIMED_QUEUE_IS_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TIMED_QUEUE_TYPE_ELEMENT)) +#define TIMED_QUEUE_IS_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TIMED_QUEUE_TYPE_ELEMENT)) +#define TIMED_QUEUE_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TIMED_QUEUE_TYPE_ELEMENT, TimedQueueElementClass)) + +typedef struct _TimedQueueElement TimedQueueElement; +typedef struct _TimedQueueElementClass TimedQueueElementClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _TimedQueueElementPrivate TimedQueueElementPrivate; +#define _timed_queue_element_unref0(var) ((var == NULL) ? NULL : (var = (timed_queue_element_unref (var), NULL))) +#define _g_destroy_func0(var) (((var == NULL) || (g_destroy_func == NULL)) ? NULL : (var = (g_destroy_func (var), NULL))) +typedef struct _TimedQueueParamSpecElement TimedQueueParamSpecElement; +typedef struct _ParamSpecTimedQueue ParamSpecTimedQueue; + +#define TYPE_HASH_TIMED_QUEUE (hash_timed_queue_get_type ()) +#define HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueue)) +#define HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass)) +#define IS_HASH_TIMED_QUEUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HASH_TIMED_QUEUE)) +#define IS_HASH_TIMED_QUEUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HASH_TIMED_QUEUE)) +#define HASH_TIMED_QUEUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HASH_TIMED_QUEUE, HashTimedQueueClass)) + +typedef struct _HashTimedQueue HashTimedQueue; +typedef struct _HashTimedQueueClass HashTimedQueueClass; +typedef struct _HashTimedQueuePrivate HashTimedQueuePrivate; +#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); + +typedef void (*DequeuedCallback) (gconstpointer item, void* user_data); +struct _TimedQueue { + GTypeInstance parent_instance; + volatile int ref_count; + TimedQueuePrivate * priv; +}; + +struct _TimedQueueClass { + GTypeClass parent_class; + void (*finalize) (TimedQueue *self); + void (*notify_dequeued) (TimedQueue* self, gconstpointer item); + void (*clear) (TimedQueue* self); + gboolean (*contains) (TimedQueue* self, gconstpointer item); + gboolean (*enqueue) (TimedQueue* self, gconstpointer item); + gboolean (*enqueue_many) (TimedQueue* self, GeeCollection* items); + gboolean (*remove_first) (TimedQueue* self, gconstpointer item); + void (*paused) (TimedQueue* self, gboolean is_paused); + gint (*get_size) (TimedQueue* self); +}; + +struct _TimedQueuePrivate { + GType g_type; + GBoxedCopyFunc g_dup_func; + GDestroyNotify g_destroy_func; + guint hold_msec; + DequeuedCallback callback; + gpointer callback_target; + GeeEqualDataFunc equal_func; + gpointer equal_func_target; + GDestroyNotify equal_func_target_destroy_notify; + gint priority; + guint timer_id; + SortedList* queue; + guint dequeue_spacing_msec; + gulong last_dequeue; + gboolean paused_state; +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +struct _TimedQueueElement { + GTypeInstance parent_instance; + volatile int ref_count; + TimedQueueElementPrivate * priv; + gpointer item; + gulong ready; +}; + +struct _TimedQueueElementClass { + GTypeClass parent_class; + void (*finalize) (TimedQueueElement *self); +}; + +struct _TimedQueueElementPrivate { + GType g_type; + GBoxedCopyFunc g_dup_func; + GDestroyNotify g_destroy_func; +}; + +struct _TimedQueueParamSpecElement { + GParamSpec parent_instance; +}; + +struct _ParamSpecTimedQueue { + GParamSpec parent_instance; +}; + +struct _HashTimedQueue { + TimedQueue parent_instance; + HashTimedQueuePrivate * priv; +}; + +struct _HashTimedQueueClass { + TimedQueueClass parent_class; +}; + +struct _HashTimedQueuePrivate { + GType g_type; + GBoxedCopyFunc g_dup_func; + GDestroyNotify g_destroy_func; + GeeHashMap* item_count; +}; + + +static gpointer timed_queue_parent_class = NULL; +static gpointer timed_queue_element_parent_class = NULL; +static gpointer hash_timed_queue_parent_class = NULL; + +gpointer timed_queue_ref (gpointer instance); +void timed_queue_unref (gpointer instance); +GParamSpec* param_spec_timed_queue (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_timed_queue (GValue* value, gpointer v_object); +void value_take_timed_queue (GValue* value, gpointer v_object); +gpointer value_get_timed_queue (const GValue* value); +GType timed_queue_get_type (void) G_GNUC_CONST; +GType sorted_list_get_type (void) G_GNUC_CONST; +static gpointer timed_queue_element_ref (gpointer instance); +static void timed_queue_element_unref (gpointer instance); +static GParamSpec* timed_queue_param_spec_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void timed_queue_value_set_element (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void timed_queue_value_take_element (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer timed_queue_value_get_element (const GValue* value) G_GNUC_UNUSED; +static GType timed_queue_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define TIMED_QUEUE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TIMED_QUEUE, TimedQueuePrivate)) +enum { + TIMED_QUEUE_DUMMY_PROPERTY +}; +TimedQueue* timed_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority); +TimedQueue* timed_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority); +static gint64 timed_queue_element_comparator (void* a, void* b); +static gint64 _timed_queue_element_comparator_comparator (void* a, void* b, gpointer self); +SortedList* sorted_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +SortedList* sorted_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +static guint timed_queue_get_heartbeat_timeout (TimedQueue* self); +static gboolean timed_queue_on_heartbeat (TimedQueue* self); +static gboolean _timed_queue_on_heartbeat_gsource_func (gpointer self); +guint timed_queue_get_dequeue_spacing_msec (TimedQueue* self); +void timed_queue_set_dequeue_spacing_msec (TimedQueue* self, guint msec); +void timed_queue_notify_dequeued (TimedQueue* self, gconstpointer item); +static void timed_queue_real_notify_dequeued (TimedQueue* self, gconstpointer item); +gboolean timed_queue_is_paused (TimedQueue* self); +void timed_queue_pause (TimedQueue* self); +void timed_queue_unpause (TimedQueue* self); +void timed_queue_clear (TimedQueue* self); +static void timed_queue_real_clear (TimedQueue* self); +gboolean timed_queue_contains (TimedQueue* self, gconstpointer item); +static gboolean timed_queue_real_contains (TimedQueue* self, gconstpointer item); +gboolean timed_queue_enqueue (TimedQueue* self, gconstpointer item); +static gboolean timed_queue_real_enqueue (TimedQueue* self, gconstpointer item); +static gulong timed_queue_calc_ready_time (TimedQueue* self); +static TimedQueueElement* timed_queue_element_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer item, gulong ready); +static TimedQueueElement* timed_queue_element_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer item, gulong ready); +gboolean timed_queue_enqueue_many (TimedQueue* self, GeeCollection* items); +static gboolean timed_queue_real_enqueue_many (TimedQueue* self, GeeCollection* items); +gboolean sorted_list_add_list (SortedList* self, GeeList* items); +gboolean timed_queue_remove_first (TimedQueue* self, gconstpointer item); +static gboolean timed_queue_real_remove_first (TimedQueue* self, gconstpointer item); +gulong now_ms (void); +gpointer sorted_list_get_at (SortedList* self, gint index); +gpointer sorted_list_remove_at (SortedList* self, gint index); +gint timed_queue_get_size (TimedQueue* self); +static void timed_queue_real_paused (TimedQueue* self, gboolean is_paused); +#define TIMED_QUEUE_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TIMED_QUEUE_TYPE_ELEMENT, TimedQueueElementPrivate)) +enum { + TIMED_QUEUE_ELEMENT_DUMMY_PROPERTY +}; +static void timed_queue_element_finalize (TimedQueueElement* obj); +static void timed_queue_finalize (TimedQueue* obj); +GType hash_timed_queue_get_type (void) G_GNUC_CONST; +#define HASH_TIMED_QUEUE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_HASH_TIMED_QUEUE, HashTimedQueuePrivate)) +enum { + HASH_TIMED_QUEUE_DUMMY_PROPERTY +}; +HashTimedQueue* hash_timed_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority); +HashTimedQueue* hash_timed_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority); +static void hash_timed_queue_real_notify_dequeued (TimedQueue* base, gconstpointer item); +static void hash_timed_queue_removed (HashTimedQueue* self, gconstpointer item); +static void hash_timed_queue_real_clear (TimedQueue* base); +static gboolean hash_timed_queue_real_contains (TimedQueue* base, gconstpointer item); +static gboolean hash_timed_queue_real_enqueue (TimedQueue* base, gconstpointer item); +static gboolean hash_timed_queue_real_enqueue_many (TimedQueue* base, GeeCollection* items); +static gboolean hash_timed_queue_real_remove_first (TimedQueue* base, gconstpointer item); +static void hash_timed_queue_finalize (TimedQueue* obj); + + +static gint64 _timed_queue_element_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = timed_queue_element_comparator (a, b); +#line 64 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 249 "TimedQueue.c" +} + + +static gboolean _timed_queue_on_heartbeat_gsource_func (gpointer self) { + gboolean result; + result = timed_queue_on_heartbeat ((TimedQueue*) self); +#line 66 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 258 "TimedQueue.c" +} + + +TimedQueue* timed_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority) { + TimedQueue* self = NULL; + guint _tmp0_ = 0U; + DequeuedCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GeeEqualDataFunc _tmp2_ = NULL; + void* _tmp2__target = NULL; + gint _tmp7_ = 0; + SortedList* _tmp8_ = NULL; + guint _tmp9_ = 0U; + gint _tmp10_ = 0; + guint _tmp11_ = 0U; +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = (TimedQueue*) g_type_create_instance (object_type); +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_type = g_type; +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_dup_func = g_dup_func; +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_destroy_func = g_destroy_func; +#line 54 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = hold_msec; +#line 54 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->hold_msec = _tmp0_; +#line 55 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = callback; +#line 55 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1__target = callback_target; +#line 55 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->callback = _tmp1_; +#line 55 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->callback_target = _tmp1__target; +#line 57 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = equal_func; +#line 57 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2__target = equal_func_target; +#line 57 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp2_ != NULL) { +#line 300 "TimedQueue.c" + GeeEqualDataFunc _tmp3_ = NULL; + void* _tmp3__target = NULL; + GDestroyNotify _tmp3__target_destroy_notify = NULL; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = equal_func; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3__target = equal_func_target; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3__target_destroy_notify = equal_func_target_destroy_notify; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func_target_destroy_notify = NULL; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + (self->priv->equal_func_target_destroy_notify == NULL) ? NULL : (self->priv->equal_func_target_destroy_notify (self->priv->equal_func_target), NULL); +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func = NULL; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target = NULL; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target_destroy_notify = NULL; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func = _tmp3_; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target = _tmp3__target; +#line 58 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target_destroy_notify = _tmp3__target_destroy_notify; +#line 326 "TimedQueue.c" + } else { + void* _tmp4_ = NULL; + GDestroyNotify _tmp5_ = NULL; + GeeEqualDataFunc _tmp6_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = gee_functions_get_equal_func_for (g_type, &_tmp4_, &_tmp5_); +#line 60 "/home/jens/Source/shotwell/src/TimedQueue.vala" + (self->priv->equal_func_target_destroy_notify == NULL) ? NULL : (self->priv->equal_func_target_destroy_notify (self->priv->equal_func_target), NULL); +#line 60 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func = NULL; +#line 60 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target = NULL; +#line 60 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target_destroy_notify = NULL; +#line 60 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func = (GeeEqualDataFunc) _tmp6_; +#line 60 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target = _tmp4_; +#line 60 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target_destroy_notify = _tmp5_; +#line 347 "TimedQueue.c" + } +#line 62 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = priority; +#line 62 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->priority = _tmp7_; +#line 64 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = sorted_list_new (TIMED_QUEUE_TYPE_ELEMENT, (GBoxedCopyFunc) timed_queue_element_ref, timed_queue_element_unref, _timed_queue_element_comparator_comparator, NULL); +#line 64 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (self->priv->queue); +#line 64 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->queue = _tmp8_; +#line 66 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp9_ = timed_queue_get_heartbeat_timeout (self); +#line 66 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp10_ = priority; +#line 66 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp11_ = g_timeout_add_full (_tmp10_, _tmp9_, _timed_queue_on_heartbeat_gsource_func, timed_queue_ref (self), timed_queue_unref); +#line 66 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->timer_id = _tmp11_; +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + (equal_func_target_destroy_notify == NULL) ? NULL : (equal_func_target_destroy_notify (equal_func_target), NULL); +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func = NULL; +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func_target = NULL; +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func_target_destroy_notify = NULL; +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return self; +#line 377 "TimedQueue.c" +} + + +TimedQueue* timed_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority) { +#line 52 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return timed_queue_construct (TYPE_TIMED_QUEUE, g_type, g_dup_func, g_destroy_func, hold_msec, callback, callback_target, equal_func, equal_func_target, equal_func_target_destroy_notify, priority); +#line 384 "TimedQueue.c" +} + + +guint timed_queue_get_dequeue_spacing_msec (TimedQueue* self) { + guint result = 0U; + guint _tmp0_ = 0U; +#line 74 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), 0U); +#line 75 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->dequeue_spacing_msec; +#line 75 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = _tmp0_; +#line 75 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 399 "TimedQueue.c" +} + + +void timed_queue_set_dequeue_spacing_msec (TimedQueue* self, guint msec) { + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; + guint _tmp2_ = 0U; + guint _tmp4_ = 0U; + guint _tmp5_ = 0U; + gint _tmp6_ = 0; + guint _tmp7_ = 0U; +#line 78 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (IS_TIMED_QUEUE (self)); +#line 79 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = msec; +#line 79 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = self->priv->dequeue_spacing_msec; +#line 79 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp0_ == _tmp1_) { +#line 80 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return; +#line 421 "TimedQueue.c" + } +#line 82 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = self->priv->timer_id; +#line 82 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp2_ != ((guint) 0)) { +#line 427 "TimedQueue.c" + guint _tmp3_ = 0U; +#line 83 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = self->priv->timer_id; +#line 83 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_source_remove (_tmp3_); +#line 433 "TimedQueue.c" + } +#line 85 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = msec; +#line 85 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->dequeue_spacing_msec = _tmp4_; +#line 87 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = timed_queue_get_heartbeat_timeout (self); +#line 87 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = self->priv->priority; +#line 87 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = g_timeout_add_full (_tmp6_, _tmp5_, _timed_queue_on_heartbeat_gsource_func, timed_queue_ref (self), timed_queue_unref); +#line 87 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->timer_id = _tmp7_; +#line 447 "TimedQueue.c" +} + + +static guint timed_queue_get_heartbeat_timeout (TimedQueue* self) { + guint result = 0U; + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; + guint _tmp4_ = 0U; +#line 90 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), 0U); +#line 91 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = self->priv->dequeue_spacing_msec; +#line 91 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp1_ == ((guint) 0)) { +#line 462 "TimedQueue.c" + guint _tmp2_ = 0U; +#line 92 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = self->priv->hold_msec; +#line 92 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = _tmp2_ / 10; +#line 468 "TimedQueue.c" + } else { + guint _tmp3_ = 0U; +#line 93 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = self->priv->dequeue_spacing_msec; +#line 93 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = _tmp3_ / 2; +#line 475 "TimedQueue.c" + } +#line 91 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = CLAMP (_tmp0_, (guint) 10, G_MAXUINT); +#line 91 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = _tmp4_; +#line 91 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 483 "TimedQueue.c" +} + + +static void timed_queue_real_notify_dequeued (TimedQueue* self, gconstpointer item) { + DequeuedCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; + gconstpointer _tmp1_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->callback; +#line 97 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0__target = self->priv->callback_target; +#line 97 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = item; +#line 97 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ (_tmp1_, _tmp0__target); +#line 499 "TimedQueue.c" +} + + +void timed_queue_notify_dequeued (TimedQueue* self, gconstpointer item) { +#line 96 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (IS_TIMED_QUEUE (self)); +#line 96 "/home/jens/Source/shotwell/src/TimedQueue.vala" + TIMED_QUEUE_GET_CLASS (self)->notify_dequeued (self, item); +#line 508 "TimedQueue.c" +} + + +gboolean timed_queue_is_paused (TimedQueue* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 100 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), FALSE); +#line 101 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->paused_state; +#line 101 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = _tmp0_; +#line 101 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 523 "TimedQueue.c" +} + + +void timed_queue_pause (TimedQueue* self) { + gboolean _tmp0_ = FALSE; +#line 104 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (IS_TIMED_QUEUE (self)); +#line 105 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->paused_state; +#line 105 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp0_) { +#line 106 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return; +#line 537 "TimedQueue.c" + } +#line 108 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->paused_state = TRUE; +#line 110 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_signal_emit_by_name (self, "paused", TRUE); +#line 543 "TimedQueue.c" +} + + +void timed_queue_unpause (TimedQueue* self) { + gboolean _tmp0_ = FALSE; +#line 113 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (IS_TIMED_QUEUE (self)); +#line 114 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->paused_state; +#line 114 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp0_) { +#line 115 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return; +#line 557 "TimedQueue.c" + } +#line 117 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->paused_state = FALSE; +#line 119 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_signal_emit_by_name (self, "paused", FALSE); +#line 563 "TimedQueue.c" +} + + +static void timed_queue_real_clear (TimedQueue* self) { + SortedList* _tmp0_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->queue; +#line 123 "/home/jens/Source/shotwell/src/TimedQueue.vala" + gee_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 573 "TimedQueue.c" +} + + +void timed_queue_clear (TimedQueue* self) { +#line 122 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (IS_TIMED_QUEUE (self)); +#line 122 "/home/jens/Source/shotwell/src/TimedQueue.vala" + TIMED_QUEUE_GET_CLASS (self)->clear (self); +#line 582 "TimedQueue.c" +} + + +static gboolean timed_queue_real_contains (TimedQueue* self, gconstpointer item) { + gboolean result = FALSE; + { + GeeIterator* _e_it = NULL; + SortedList* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->queue; +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _e_it = _tmp1_; +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + while (TRUE) { +#line 600 "TimedQueue.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + TimedQueueElement* e = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GeeEqualDataFunc _tmp6_ = NULL; + void* _tmp6__target = NULL; + gconstpointer _tmp7_ = NULL; + TimedQueueElement* _tmp8_ = NULL; + gconstpointer _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = _e_it; +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp3_) { +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + break; +#line 620 "TimedQueue.c" + } +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = _e_it; +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + e = (TimedQueueElement*) _tmp5_; +#line 128 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = self->priv->equal_func; +#line 128 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6__target = self->priv->equal_func_target; +#line 128 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = item; +#line 128 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = e; +#line 128 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp9_ = _tmp8_->item; +#line 128 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp10_ = _tmp6_ (_tmp7_, _tmp9_, _tmp6__target); +#line 128 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp10_) { +#line 129 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = TRUE; +#line 129 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (e); +#line 129 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (_e_it); +#line 129 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 650 "TimedQueue.c" + } +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (e); +#line 654 "TimedQueue.c" + } +#line 127 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (_e_it); +#line 658 "TimedQueue.c" + } +#line 132 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = FALSE; +#line 132 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 664 "TimedQueue.c" +} + + +gboolean timed_queue_contains (TimedQueue* self, gconstpointer item) { +#line 126 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), FALSE); +#line 126 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return TIMED_QUEUE_GET_CLASS (self)->contains (self, item); +#line 673 "TimedQueue.c" +} + + +static gboolean timed_queue_real_enqueue (TimedQueue* self, gconstpointer item) { + gboolean result = FALSE; + SortedList* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + gulong _tmp2_ = 0UL; + TimedQueueElement* _tmp3_ = NULL; + TimedQueueElement* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->queue; +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = item; +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = timed_queue_calc_ready_time (self); +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = timed_queue_element_new (self->priv->g_type, (GBoxedCopyFunc) self->priv->g_dup_func, self->priv->g_destroy_func, _tmp1_, _tmp2_); +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = _tmp3_; +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp4_); +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = _tmp5_; +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (_tmp4_); +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = _tmp6_; +#line 136 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 706 "TimedQueue.c" +} + + +gboolean timed_queue_enqueue (TimedQueue* self, gconstpointer item) { +#line 135 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), FALSE); +#line 135 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return TIMED_QUEUE_GET_CLASS (self)->enqueue (self, item); +#line 715 "TimedQueue.c" +} + + +static gboolean timed_queue_real_enqueue_many (TimedQueue* self, GeeCollection* items) { + gboolean result = FALSE; + gulong ready_time = 0UL; + gulong _tmp0_ = 0UL; + GeeArrayList* elements = NULL; + GeeArrayList* _tmp1_ = NULL; + SortedList* _tmp13_ = NULL; + GeeArrayList* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 139 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (items), FALSE); +#line 140 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = timed_queue_calc_ready_time (self); +#line 140 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ready_time = _tmp0_; +#line 142 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = gee_array_list_new (TIMED_QUEUE_TYPE_ELEMENT, (GBoxedCopyFunc) timed_queue_element_ref, timed_queue_element_unref, NULL, NULL, NULL); +#line 142 "/home/jens/Source/shotwell/src/TimedQueue.vala" + elements = _tmp1_; +#line 738 "TimedQueue.c" + { + GeeIterator* _item_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = items; +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _item_it = _tmp3_; +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + while (TRUE) { +#line 751 "TimedQueue.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gpointer item = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + GeeArrayList* _tmp8_ = NULL; + gconstpointer _tmp9_ = NULL; + gulong _tmp10_ = 0UL; + TimedQueueElement* _tmp11_ = NULL; + TimedQueueElement* _tmp12_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = _item_it; +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp5_) { +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + break; +#line 770 "TimedQueue.c" + } +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = _item_it; +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + item = _tmp7_; +#line 144 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = elements; +#line 144 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp9_ = item; +#line 144 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp10_ = ready_time; +#line 144 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp11_ = timed_queue_element_new (self->priv->g_type, (GBoxedCopyFunc) self->priv->g_dup_func, self->priv->g_destroy_func, _tmp9_, _tmp10_); +#line 144 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp12_ = _tmp11_; +#line 144 "/home/jens/Source/shotwell/src/TimedQueue.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp12_); +#line 144 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (_tmp12_); +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (item = (self->priv->g_destroy_func (item), NULL)); +#line 794 "TimedQueue.c" + } +#line 143 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (_item_it); +#line 798 "TimedQueue.c" + } +#line 146 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp13_ = self->priv->queue; +#line 146 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp14_ = elements; +#line 146 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp15_ = sorted_list_add_list (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_LIST, GeeList)); +#line 146 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = _tmp15_; +#line 146 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (elements); +#line 146 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 812 "TimedQueue.c" +} + + +gboolean timed_queue_enqueue_many (TimedQueue* self, GeeCollection* items) { +#line 139 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), FALSE); +#line 139 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return TIMED_QUEUE_GET_CLASS (self)->enqueue_many (self, items); +#line 821 "TimedQueue.c" +} + + +static gboolean timed_queue_real_remove_first (TimedQueue* self, gconstpointer item) { + gboolean result = FALSE; + GeeIterator* iter = NULL; + SortedList* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->queue; +#line 150 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 150 "/home/jens/Source/shotwell/src/TimedQueue.vala" + iter = _tmp1_; +#line 151 "/home/jens/Source/shotwell/src/TimedQueue.vala" + while (TRUE) { +#line 838 "TimedQueue.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + TimedQueueElement* e = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GeeEqualDataFunc _tmp6_ = NULL; + void* _tmp6__target = NULL; + gconstpointer _tmp7_ = NULL; + TimedQueueElement* _tmp8_ = NULL; + gconstpointer _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 151 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = iter; +#line 151 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 151 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp3_) { +#line 151 "/home/jens/Source/shotwell/src/TimedQueue.vala" + break; +#line 858 "TimedQueue.c" + } +#line 152 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = iter; +#line 152 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 152 "/home/jens/Source/shotwell/src/TimedQueue.vala" + e = (TimedQueueElement*) _tmp5_; +#line 153 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = self->priv->equal_func; +#line 153 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6__target = self->priv->equal_func_target; +#line 153 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = item; +#line 153 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = e; +#line 153 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp9_ = _tmp8_->item; +#line 153 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp10_ = _tmp6_ (_tmp7_, _tmp9_, _tmp6__target); +#line 153 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp10_) { +#line 880 "TimedQueue.c" + GeeIterator* _tmp11_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp11_ = iter; +#line 154 "/home/jens/Source/shotwell/src/TimedQueue.vala" + gee_iterator_remove (_tmp11_); +#line 156 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = TRUE; +#line 156 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (e); +#line 156 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (iter); +#line 156 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 894 "TimedQueue.c" + } +#line 151 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (e); +#line 898 "TimedQueue.c" + } +#line 160 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = FALSE; +#line 160 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (iter); +#line 160 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 906 "TimedQueue.c" +} + + +gboolean timed_queue_remove_first (TimedQueue* self, gconstpointer item) { +#line 149 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), FALSE); +#line 149 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return TIMED_QUEUE_GET_CLASS (self)->remove_first (self, item); +#line 915 "TimedQueue.c" +} + + +static gulong timed_queue_calc_ready_time (TimedQueue* self) { + gulong result = 0UL; + gulong _tmp0_ = 0UL; + guint _tmp1_ = 0U; +#line 169 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), 0UL); +#line 170 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = now_ms (); +#line 170 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = self->priv->hold_msec; +#line 170 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = _tmp0_ + ((gulong) _tmp1_); +#line 170 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 933 "TimedQueue.c" +} + + +static gboolean timed_queue_on_heartbeat (TimedQueue* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gulong now = 0UL; +#line 173 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), FALSE); +#line 174 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->paused_state; +#line 174 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp0_) { +#line 175 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = TRUE; +#line 175 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 951 "TimedQueue.c" + } +#line 177 "/home/jens/Source/shotwell/src/TimedQueue.vala" + now = (gulong) 0; +#line 955 "TimedQueue.c" + { + gboolean _tmp1_ = FALSE; +#line 179 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = TRUE; +#line 179 "/home/jens/Source/shotwell/src/TimedQueue.vala" + while (TRUE) { +#line 962 "TimedQueue.c" + SortedList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + TimedQueueElement* head = NULL; + SortedList* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + TimedQueueElement* _tmp7_ = NULL; + gulong _tmp8_ = 0UL; + TimedQueueElement* _tmp10_ = NULL; + gulong _tmp11_ = 0UL; + gulong _tmp12_ = 0UL; + gboolean _tmp13_ = FALSE; + guint _tmp14_ = 0U; + TimedQueueElement* h = NULL; + SortedList* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + TimedQueueElement* _tmp20_ = NULL; + TimedQueueElement* _tmp21_ = NULL; + TimedQueueElement* _tmp22_ = NULL; + gconstpointer _tmp23_ = NULL; + gulong _tmp24_ = 0UL; + guint _tmp25_ = 0U; +#line 179 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp1_) { +#line 987 "TimedQueue.c" + } +#line 179 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = FALSE; +#line 180 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = self->priv->queue; +#line 180 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 180 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = _tmp3_; +#line 180 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp4_ == 0) { +#line 181 "/home/jens/Source/shotwell/src/TimedQueue.vala" + break; +#line 1001 "TimedQueue.c" + } +#line 183 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = self->priv->queue; +#line 183 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = sorted_list_get_at (_tmp5_, 0); +#line 183 "/home/jens/Source/shotwell/src/TimedQueue.vala" + head = (TimedQueueElement*) _tmp6_; +#line 184 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = head; +#line 184 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _vala_assert (_tmp7_ != NULL, "head != null"); +#line 186 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = now; +#line 186 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp8_ == ((gulong) 0)) { +#line 1017 "TimedQueue.c" + gulong _tmp9_ = 0UL; +#line 187 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp9_ = now_ms (); +#line 187 "/home/jens/Source/shotwell/src/TimedQueue.vala" + now = _tmp9_; +#line 1023 "TimedQueue.c" + } +#line 189 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp10_ = head; +#line 189 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp11_ = _tmp10_->ready; +#line 189 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp12_ = now; +#line 189 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp11_ > _tmp12_) { +#line 190 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (head); +#line 190 "/home/jens/Source/shotwell/src/TimedQueue.vala" + break; +#line 1037 "TimedQueue.c" + } +#line 193 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp14_ = self->priv->dequeue_spacing_msec; +#line 193 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp14_ != ((guint) 0)) { +#line 1043 "TimedQueue.c" + gulong _tmp15_ = 0UL; + gulong _tmp16_ = 0UL; + guint _tmp17_ = 0U; +#line 193 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp15_ = now; +#line 193 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp16_ = self->priv->last_dequeue; +#line 193 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp17_ = self->priv->dequeue_spacing_msec; +#line 193 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp13_ = (_tmp15_ - _tmp16_) < ((gulong) _tmp17_); +#line 1055 "TimedQueue.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp13_ = FALSE; +#line 1059 "TimedQueue.c" + } +#line 193 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp13_) { +#line 194 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (head); +#line 194 "/home/jens/Source/shotwell/src/TimedQueue.vala" + break; +#line 1067 "TimedQueue.c" + } +#line 196 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp18_ = self->priv->queue; +#line 196 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp19_ = sorted_list_remove_at (_tmp18_, 0); +#line 196 "/home/jens/Source/shotwell/src/TimedQueue.vala" + h = (TimedQueueElement*) _tmp19_; +#line 197 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp20_ = head; +#line 197 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp21_ = h; +#line 197 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _vala_assert (_tmp20_ == _tmp21_, "head == h"); +#line 199 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp22_ = head; +#line 199 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp23_ = _tmp22_->item; +#line 199 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_notify_dequeued (self, _tmp23_); +#line 200 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp24_ = now; +#line 200 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->last_dequeue = _tmp24_; +#line 204 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp25_ = self->priv->dequeue_spacing_msec; +#line 204 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp25_ != ((guint) 0)) { +#line 205 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (h); +#line 205 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (head); +#line 205 "/home/jens/Source/shotwell/src/TimedQueue.vala" + break; +#line 1101 "TimedQueue.c" + } +#line 179 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (h); +#line 179 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _timed_queue_element_unref0 (head); +#line 1107 "TimedQueue.c" + } + } +#line 208 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = TRUE; +#line 208 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 1114 "TimedQueue.c" +} + + +gint timed_queue_get_size (TimedQueue* self) { +#line 164 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (IS_TIMED_QUEUE (self), 0); +#line 164 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return TIMED_QUEUE_GET_CLASS (self)->get_size (self); +#line 1123 "TimedQueue.c" +} + + +static gint timed_queue_real_get_size (TimedQueue* base) { + gint result; + TimedQueue* self; + SortedList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 164 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = base; +#line 165 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->queue; +#line 165 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 165 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = _tmp1_; +#line 165 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = _tmp2_; +#line 165 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 1145 "TimedQueue.c" +} + + +static void timed_queue_real_paused (TimedQueue* self, gboolean is_paused) { +} + + +static TimedQueueElement* timed_queue_element_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer item, gulong ready) { + TimedQueueElement* self = NULL; + gconstpointer _tmp0_ = NULL; + gpointer _tmp1_ = NULL; + gulong _tmp2_ = 0UL; +#line 26 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = (TimedQueueElement*) g_type_create_instance (object_type); +#line 26 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_type = g_type; +#line 26 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_dup_func = g_dup_func; +#line 26 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_destroy_func = g_destroy_func; +#line 27 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = item; +#line 27 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = ((_tmp0_ != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) _tmp0_) : ((gpointer) _tmp0_); +#line 27 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_destroy_func0 (self->item); +#line 27 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->item = _tmp1_; +#line 28 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = ready; +#line 28 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->ready = _tmp2_; +#line 26 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return self; +#line 1180 "TimedQueue.c" +} + + +static TimedQueueElement* timed_queue_element_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer item, gulong ready) { +#line 26 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return timed_queue_element_construct (TIMED_QUEUE_TYPE_ELEMENT, g_type, g_dup_func, g_destroy_func, item, ready); +#line 1187 "TimedQueue.c" +} + + +static gint64 timed_queue_element_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + gulong _tmp1_ = 0UL; + void* _tmp2_ = NULL; + gulong _tmp3_ = 0UL; +#line 32 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = a; +#line 32 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST ((TimedQueueElement*) _tmp0_, TIMED_QUEUE_TYPE_ELEMENT, TimedQueueElement)->ready; +#line 32 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = b; +#line 32 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST ((TimedQueueElement*) _tmp2_, TIMED_QUEUE_TYPE_ELEMENT, TimedQueueElement)->ready; +#line 32 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = ((gint64) _tmp1_) - ((gint64) _tmp3_); +#line 32 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 1209 "TimedQueue.c" +} + + +static void timed_queue_value_element_init (GValue* value) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = NULL; +#line 1216 "TimedQueue.c" +} + + +static void timed_queue_value_element_free_value (GValue* value) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (value->data[0].v_pointer) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_element_unref (value->data[0].v_pointer); +#line 1225 "TimedQueue.c" + } +} + + +static void timed_queue_value_element_copy_value (const GValue* src_value, GValue* dest_value) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (src_value->data[0].v_pointer) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + dest_value->data[0].v_pointer = timed_queue_element_ref (src_value->data[0].v_pointer); +#line 1235 "TimedQueue.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + dest_value->data[0].v_pointer = NULL; +#line 1239 "TimedQueue.c" + } +} + + +static gpointer timed_queue_value_element_peek_pointer (const GValue* value) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return value->data[0].v_pointer; +#line 1247 "TimedQueue.c" +} + + +static gchar* timed_queue_value_element_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (collect_values[0].v_pointer) { +#line 1254 "TimedQueue.c" + TimedQueueElement* object; + object = collect_values[0].v_pointer; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (object->parent_instance.g_class == NULL) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1261 "TimedQueue.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1265 "TimedQueue.c" + } +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = timed_queue_element_ref (object); +#line 1269 "TimedQueue.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = NULL; +#line 1273 "TimedQueue.c" + } +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return NULL; +#line 1277 "TimedQueue.c" +} + + +static gchar* timed_queue_value_element_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TimedQueueElement** object_p; + object_p = collect_values[0].v_pointer; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!object_p) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1288 "TimedQueue.c" + } +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!value->data[0].v_pointer) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + *object_p = NULL; +#line 1294 "TimedQueue.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + *object_p = value->data[0].v_pointer; +#line 1298 "TimedQueue.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + *object_p = timed_queue_element_ref (value->data[0].v_pointer); +#line 1302 "TimedQueue.c" + } +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return NULL; +#line 1306 "TimedQueue.c" +} + + +static GParamSpec* timed_queue_param_spec_element (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + TimedQueueParamSpecElement* spec; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (g_type_is_a (object_type, TIMED_QUEUE_TYPE_ELEMENT), NULL); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return G_PARAM_SPEC (spec); +#line 1320 "TimedQueue.c" +} + + +static gpointer timed_queue_value_get_element (const GValue* value) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TIMED_QUEUE_TYPE_ELEMENT), NULL); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return value->data[0].v_pointer; +#line 1329 "TimedQueue.c" +} + + +static void timed_queue_value_set_element (GValue* value, gpointer v_object) { + TimedQueueElement* old; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TIMED_QUEUE_TYPE_ELEMENT)); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + old = value->data[0].v_pointer; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (v_object) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TIMED_QUEUE_TYPE_ELEMENT)); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = v_object; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_element_ref (value->data[0].v_pointer); +#line 1349 "TimedQueue.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = NULL; +#line 1353 "TimedQueue.c" + } +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (old) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_element_unref (old); +#line 1359 "TimedQueue.c" + } +} + + +static void timed_queue_value_take_element (GValue* value, gpointer v_object) { + TimedQueueElement* old; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TIMED_QUEUE_TYPE_ELEMENT)); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + old = value->data[0].v_pointer; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (v_object) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TIMED_QUEUE_TYPE_ELEMENT)); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = v_object; +#line 1378 "TimedQueue.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = NULL; +#line 1382 "TimedQueue.c" + } +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (old) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_element_unref (old); +#line 1388 "TimedQueue.c" + } +} + + +static void timed_queue_element_class_init (TimedQueueElementClass * klass) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_element_parent_class = g_type_class_peek_parent (klass); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueElementClass *) klass)->finalize = timed_queue_element_finalize; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_type_class_add_private (klass, sizeof (TimedQueueElementPrivate)); +#line 1400 "TimedQueue.c" +} + + +static void timed_queue_element_instance_init (TimedQueueElement * self) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv = TIMED_QUEUE_ELEMENT_GET_PRIVATE (self); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->ref_count = 1; +#line 1409 "TimedQueue.c" +} + + +static void timed_queue_element_finalize (TimedQueueElement* obj) { + TimedQueueElement * self; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TIMED_QUEUE_TYPE_ELEMENT, TimedQueueElement); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_signal_handlers_destroy (self); +#line 23 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((self->item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (self->item = (self->priv->g_destroy_func (self->item), NULL)); +#line 1421 "TimedQueue.c" +} + + +static GType timed_queue_element_get_type (void) { + static volatile gsize timed_queue_element_type_id__volatile = 0; + if (g_once_init_enter (&timed_queue_element_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { timed_queue_value_element_init, timed_queue_value_element_free_value, timed_queue_value_element_copy_value, timed_queue_value_element_peek_pointer, "p", timed_queue_value_element_collect_value, "p", timed_queue_value_element_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TimedQueueElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) timed_queue_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TimedQueueElement), 0, (GInstanceInitFunc) timed_queue_element_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType timed_queue_element_type_id; + timed_queue_element_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TimedQueueElement", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&timed_queue_element_type_id__volatile, timed_queue_element_type_id); + } + return timed_queue_element_type_id__volatile; +} + + +static gpointer timed_queue_element_ref (gpointer instance) { + TimedQueueElement* self; + self = instance; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_atomic_int_inc (&self->ref_count); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return instance; +#line 1446 "TimedQueue.c" +} + + +static void timed_queue_element_unref (gpointer instance) { + TimedQueueElement* self; + self = instance; +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + TIMED_QUEUE_ELEMENT_GET_CLASS (self)->finalize (self); +#line 22 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1459 "TimedQueue.c" + } +} + + +static void value_timed_queue_init (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = NULL; +#line 1467 "TimedQueue.c" +} + + +static void value_timed_queue_free_value (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_unref (value->data[0].v_pointer); +#line 1476 "TimedQueue.c" + } +} + + +static void value_timed_queue_copy_value (const GValue* src_value, GValue* dest_value) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (src_value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + dest_value->data[0].v_pointer = timed_queue_ref (src_value->data[0].v_pointer); +#line 1486 "TimedQueue.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + dest_value->data[0].v_pointer = NULL; +#line 1490 "TimedQueue.c" + } +} + + +static gpointer value_timed_queue_peek_pointer (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return value->data[0].v_pointer; +#line 1498 "TimedQueue.c" +} + + +static gchar* value_timed_queue_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (collect_values[0].v_pointer) { +#line 1505 "TimedQueue.c" + TimedQueue* object; + object = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (object->parent_instance.g_class == NULL) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1512 "TimedQueue.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1516 "TimedQueue.c" + } +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = timed_queue_ref (object); +#line 1520 "TimedQueue.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = NULL; +#line 1524 "TimedQueue.c" + } +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return NULL; +#line 1528 "TimedQueue.c" +} + + +static gchar* value_timed_queue_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TimedQueue** object_p; + object_p = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!object_p) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1539 "TimedQueue.c" + } +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + *object_p = NULL; +#line 1545 "TimedQueue.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + *object_p = value->data[0].v_pointer; +#line 1549 "TimedQueue.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + *object_p = timed_queue_ref (value->data[0].v_pointer); +#line 1553 "TimedQueue.c" + } +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return NULL; +#line 1557 "TimedQueue.c" +} + + +GParamSpec* param_spec_timed_queue (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTimedQueue* spec; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TIMED_QUEUE), NULL); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return G_PARAM_SPEC (spec); +#line 1571 "TimedQueue.c" +} + + +gpointer value_get_timed_queue (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TIMED_QUEUE), NULL); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return value->data[0].v_pointer; +#line 1580 "TimedQueue.c" +} + + +void value_set_timed_queue (GValue* value, gpointer v_object) { + TimedQueue* old; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TIMED_QUEUE)); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TIMED_QUEUE)); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = v_object; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_ref (value->data[0].v_pointer); +#line 1600 "TimedQueue.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = NULL; +#line 1604 "TimedQueue.c" + } +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_unref (old); +#line 1610 "TimedQueue.c" + } +} + + +void value_take_timed_queue (GValue* value, gpointer v_object) { + TimedQueue* old; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TIMED_QUEUE)); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TIMED_QUEUE)); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = v_object; +#line 1629 "TimedQueue.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + value->data[0].v_pointer = NULL; +#line 1633 "TimedQueue.c" + } +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_unref (old); +#line 1639 "TimedQueue.c" + } +} + + +static void timed_queue_class_init (TimedQueueClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + timed_queue_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->finalize = timed_queue_finalize; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_type_class_add_private (klass, sizeof (TimedQueuePrivate)); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->notify_dequeued = timed_queue_real_notify_dequeued; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->clear = timed_queue_real_clear; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->contains = timed_queue_real_contains; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->enqueue = timed_queue_real_enqueue; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->enqueue_many = timed_queue_real_enqueue_many; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->remove_first = timed_queue_real_remove_first; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->paused = timed_queue_real_paused; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + TIMED_QUEUE_CLASS (klass)->get_size = timed_queue_real_get_size; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_signal_new ("paused", TYPE_TIMED_QUEUE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (TimedQueueClass, paused), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 1669 "TimedQueue.c" +} + + +static void timed_queue_instance_init (TimedQueue * self) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv = TIMED_QUEUE_GET_PRIVATE (self); +#line 40 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->timer_id = (guint) 0; +#line 42 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->dequeue_spacing_msec = (guint) 0; +#line 43 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->last_dequeue = (gulong) 0; +#line 44 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->paused_state = FALSE; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->ref_count = 1; +#line 1686 "TimedQueue.c" +} + + +static void timed_queue_finalize (TimedQueue* obj) { + TimedQueue * self; + guint _tmp0_ = 0U; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TIMED_QUEUE, TimedQueue); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_signal_handlers_destroy (self); +#line 70 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->timer_id; +#line 70 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp0_ != ((guint) 0)) { +#line 1701 "TimedQueue.c" + guint _tmp1_ = 0U; +#line 71 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = self->priv->timer_id; +#line 71 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_source_remove (_tmp1_); +#line 1707 "TimedQueue.c" + } +#line 38 "/home/jens/Source/shotwell/src/TimedQueue.vala" + (self->priv->equal_func_target_destroy_notify == NULL) ? NULL : (self->priv->equal_func_target_destroy_notify (self->priv->equal_func_target), NULL); +#line 38 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func = NULL; +#line 38 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target = NULL; +#line 38 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->equal_func_target_destroy_notify = NULL; +#line 41 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (self->priv->queue); +#line 1719 "TimedQueue.c" +} + + +GType timed_queue_get_type (void) { + static volatile gsize timed_queue_type_id__volatile = 0; + if (g_once_init_enter (&timed_queue_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_timed_queue_init, value_timed_queue_free_value, value_timed_queue_copy_value, value_timed_queue_peek_pointer, "p", value_timed_queue_collect_value, "p", value_timed_queue_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TimedQueueClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) timed_queue_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TimedQueue), 0, (GInstanceInitFunc) timed_queue_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType timed_queue_type_id; + timed_queue_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TimedQueue", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&timed_queue_type_id__volatile, timed_queue_type_id); + } + return timed_queue_type_id__volatile; +} + + +gpointer timed_queue_ref (gpointer instance) { + TimedQueue* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_atomic_int_inc (&self->ref_count); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return instance; +#line 1744 "TimedQueue.c" +} + + +void timed_queue_unref (gpointer instance) { + TimedQueue* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + TIMED_QUEUE_GET_CLASS (self)->finalize (self); +#line 21 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1757 "TimedQueue.c" + } +} + + +HashTimedQueue* hash_timed_queue_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority) { + HashTimedQueue* self = NULL; + guint _tmp0_ = 0U; + DequeuedCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + GeeEqualDataFunc _tmp2_ = NULL; + void* _tmp2__target = NULL; + GDestroyNotify _tmp2__target_destroy_notify = NULL; + gint _tmp3_ = 0; + GeeHashDataFunc _tmp4_ = NULL; + void* _tmp4__target = NULL; + GDestroyNotify _tmp4__target_destroy_notify = NULL; + GeeEqualDataFunc _tmp5_ = NULL; + void* _tmp5__target = NULL; + GDestroyNotify _tmp5__target_destroy_notify = NULL; + GeeHashMap* _tmp6_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = hold_msec; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = callback; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1__target = callback_target; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = equal_func; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2__target = equal_func_target; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2__target_destroy_notify = equal_func_target_destroy_notify; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func_target_destroy_notify = NULL; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = priority; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = (HashTimedQueue*) timed_queue_construct (object_type, g_type, (GBoxedCopyFunc) g_dup_func, g_destroy_func, _tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp2__target, _tmp2__target_destroy_notify, _tmp3_); +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_type = g_type; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_dup_func = g_dup_func; +#line 220 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->g_destroy_func = g_destroy_func; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = hash_func; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4__target = hash_func_target; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4__target_destroy_notify = hash_func_target_destroy_notify; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + hash_func_target_destroy_notify = NULL; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = equal_func; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5__target = equal_func_target; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5__target_destroy_notify = equal_func_target_destroy_notify; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func_target_destroy_notify = NULL; +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = gee_hash_map_new (g_type, (GBoxedCopyFunc) g_dup_func, g_destroy_func, G_TYPE_INT, NULL, NULL, _tmp4_, _tmp4__target, _tmp4__target_destroy_notify, _tmp5_, _tmp5__target, _tmp5__target_destroy_notify, NULL, NULL, NULL); +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (self->priv->item_count); +#line 222 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv->item_count = _tmp6_; +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + (hash_func_target_destroy_notify == NULL) ? NULL : (hash_func_target_destroy_notify (hash_func_target), NULL); +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + hash_func = NULL; +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + hash_func_target = NULL; +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + hash_func_target_destroy_notify = NULL; +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + (equal_func_target_destroy_notify == NULL) ? NULL : (equal_func_target_destroy_notify (equal_func_target), NULL); +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func = NULL; +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func_target = NULL; +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + equal_func_target_destroy_notify = NULL; +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return self; +#line 1842 "TimedQueue.c" +} + + +HashTimedQueue* hash_timed_queue_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, guint hold_msec, DequeuedCallback callback, void* callback_target, GeeHashDataFunc hash_func, void* hash_func_target, GDestroyNotify hash_func_target_destroy_notify, GeeEqualDataFunc equal_func, void* equal_func_target, GDestroyNotify equal_func_target_destroy_notify, gint priority) { +#line 217 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return hash_timed_queue_construct (TYPE_HASH_TIMED_QUEUE, g_type, g_dup_func, g_destroy_func, hold_msec, callback, callback_target, hash_func, hash_func_target, hash_func_target_destroy_notify, equal_func, equal_func_target, equal_func_target_destroy_notify, priority); +#line 1849 "TimedQueue.c" +} + + +static void hash_timed_queue_real_notify_dequeued (TimedQueue* base, gconstpointer item) { + HashTimedQueue * self; + gconstpointer _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HASH_TIMED_QUEUE, HashTimedQueue); +#line 226 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = item; +#line 226 "/home/jens/Source/shotwell/src/TimedQueue.vala" + hash_timed_queue_removed (self, _tmp0_); +#line 228 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = item; +#line 228 "/home/jens/Source/shotwell/src/TimedQueue.vala" + TIMED_QUEUE_CLASS (hash_timed_queue_parent_class)->notify_dequeued (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TIMED_QUEUE, TimedQueue), _tmp1_); +#line 1867 "TimedQueue.c" +} + + +static void hash_timed_queue_real_clear (TimedQueue* base) { + HashTimedQueue * self; + GeeHashMap* _tmp0_ = NULL; +#line 231 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HASH_TIMED_QUEUE, HashTimedQueue); +#line 232 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->item_count; +#line 232 "/home/jens/Source/shotwell/src/TimedQueue.vala" + gee_abstract_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap)); +#line 234 "/home/jens/Source/shotwell/src/TimedQueue.vala" + TIMED_QUEUE_CLASS (hash_timed_queue_parent_class)->clear (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TIMED_QUEUE, TimedQueue)); +#line 1882 "TimedQueue.c" +} + + +static gboolean hash_timed_queue_real_contains (TimedQueue* base, gconstpointer item) { + HashTimedQueue * self; + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 237 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HASH_TIMED_QUEUE, HashTimedQueue); +#line 238 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->item_count; +#line 238 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = item; +#line 238 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 238 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = _tmp2_; +#line 238 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 1904 "TimedQueue.c" +} + + +static gboolean hash_timed_queue_real_enqueue (TimedQueue* base, gconstpointer item) { + HashTimedQueue * self; + gboolean result = FALSE; + gconstpointer _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + GeeHashMap* _tmp3_ = NULL; + gconstpointer _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeHashMap* _tmp9_ = NULL; + gconstpointer _tmp10_ = NULL; +#line 241 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HASH_TIMED_QUEUE, HashTimedQueue); +#line 242 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = item; +#line 242 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = TIMED_QUEUE_CLASS (hash_timed_queue_parent_class)->enqueue (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TIMED_QUEUE, TimedQueue), _tmp0_); +#line 242 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp1_) { +#line 243 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = FALSE; +#line 243 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 1931 "TimedQueue.c" + } +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = self->priv->item_count; +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = item; +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp5_) { +#line 1941 "TimedQueue.c" + GeeHashMap* _tmp6_ = NULL; + gconstpointer _tmp7_ = NULL; + gpointer _tmp8_ = NULL; +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = self->priv->item_count; +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = item; +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = ((gint) ((gintptr) _tmp8_)) + 1; +#line 1953 "TimedQueue.c" + } else { +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = 1; +#line 1957 "TimedQueue.c" + } +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp9_ = self->priv->item_count; +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp10_ = item; +#line 245 "/home/jens/Source/shotwell/src/TimedQueue.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_, (gpointer) ((gintptr) _tmp2_)); +#line 247 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = TRUE; +#line 247 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 1969 "TimedQueue.c" +} + + +static gboolean hash_timed_queue_real_enqueue_many (TimedQueue* base, GeeCollection* items) { + HashTimedQueue * self; + gboolean result = FALSE; + GeeCollection* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 250 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HASH_TIMED_QUEUE, HashTimedQueue); +#line 250 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (items), FALSE); +#line 251 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = items; +#line 251 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = TIMED_QUEUE_CLASS (hash_timed_queue_parent_class)->enqueue_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TIMED_QUEUE, TimedQueue), _tmp0_); +#line 251 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp1_) { +#line 252 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = FALSE; +#line 252 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 1992 "TimedQueue.c" + } + { + GeeIterator* _item_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = items; +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _item_it = _tmp3_; +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + while (TRUE) { +#line 2006 "TimedQueue.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gpointer item = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + gint _tmp8_ = 0; + GeeHashMap* _tmp9_ = NULL; + gconstpointer _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GeeHashMap* _tmp15_ = NULL; + gconstpointer _tmp16_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = _item_it; +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp5_) { +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + break; +#line 2026 "TimedQueue.c" + } +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = _item_it; +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + item = _tmp7_; +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp9_ = self->priv->item_count; +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp10_ = item; +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp11_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_); +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp11_) { +#line 2042 "TimedQueue.c" + GeeHashMap* _tmp12_ = NULL; + gconstpointer _tmp13_ = NULL; + gpointer _tmp14_ = NULL; +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp12_ = self->priv->item_count; +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp13_ = item; +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp14_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_); +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = ((gint) ((gintptr) _tmp14_)) + 1; +#line 2054 "TimedQueue.c" + } else { +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = 1; +#line 2058 "TimedQueue.c" + } +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp15_ = self->priv->item_count; +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp16_ = item; +#line 255 "/home/jens/Source/shotwell/src/TimedQueue.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_, (gpointer) ((gintptr) _tmp8_)); +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((item == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (item = (self->priv->g_destroy_func (item), NULL)); +#line 2068 "TimedQueue.c" + } +#line 254 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (_item_it); +#line 2072 "TimedQueue.c" + } +#line 257 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = TRUE; +#line 257 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 2078 "TimedQueue.c" +} + + +static gboolean hash_timed_queue_real_remove_first (TimedQueue* base, gconstpointer item) { + HashTimedQueue * self; + gboolean result = FALSE; + gconstpointer _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gconstpointer _tmp2_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_HASH_TIMED_QUEUE, HashTimedQueue); +#line 261 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = item; +#line 261 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = TIMED_QUEUE_CLASS (hash_timed_queue_parent_class)->remove_first (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_TIMED_QUEUE, TimedQueue), _tmp0_); +#line 261 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp1_) { +#line 262 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = FALSE; +#line 262 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 2100 "TimedQueue.c" + } +#line 264 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = item; +#line 264 "/home/jens/Source/shotwell/src/TimedQueue.vala" + hash_timed_queue_removed (self, _tmp2_); +#line 266 "/home/jens/Source/shotwell/src/TimedQueue.vala" + result = TRUE; +#line 266 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return result; +#line 2110 "TimedQueue.c" +} + + +static void hash_timed_queue_removed (HashTimedQueue* self, gconstpointer item) { + GeeHashMap* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint count = 0; + GeeHashMap* _tmp3_ = NULL; + gconstpointer _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 269 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_return_if_fail (IS_HASH_TIMED_QUEUE (self)); +#line 272 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp0_ = self->priv->item_count; +#line 272 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp1_ = item; +#line 272 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 272 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (!_tmp2_) { +#line 273 "/home/jens/Source/shotwell/src/TimedQueue.vala" + return; +#line 2137 "TimedQueue.c" + } +#line 275 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp3_ = self->priv->item_count; +#line 275 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp4_ = item; +#line 275 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 275 "/home/jens/Source/shotwell/src/TimedQueue.vala" + count = (gint) ((gintptr) _tmp5_); +#line 276 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp6_ = count; +#line 276 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _vala_assert (_tmp6_ > 0, "count > 0"); +#line 278 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp7_ = count; +#line 278 "/home/jens/Source/shotwell/src/TimedQueue.vala" + count = _tmp7_ - 1; +#line 278 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp8_ = count; +#line 278 "/home/jens/Source/shotwell/src/TimedQueue.vala" + if (_tmp8_ == 0) { +#line 2159 "TimedQueue.c" + GeeHashMap* _tmp9_ = NULL; + gconstpointer _tmp10_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp9_ = self->priv->item_count; +#line 279 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp10_ = item; +#line 279 "/home/jens/Source/shotwell/src/TimedQueue.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_, NULL); +#line 2168 "TimedQueue.c" + } else { + GeeHashMap* _tmp11_ = NULL; + gconstpointer _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 281 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp11_ = self->priv->item_count; +#line 281 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp12_ = item; +#line 281 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _tmp13_ = count; +#line 281 "/home/jens/Source/shotwell/src/TimedQueue.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_, (gpointer) ((gintptr) _tmp13_)); +#line 2181 "TimedQueue.c" + } +} + + +static void hash_timed_queue_class_init (HashTimedQueueClass * klass) { +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + hash_timed_queue_parent_class = g_type_class_peek_parent (klass); +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->finalize = hash_timed_queue_finalize; +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + g_type_class_add_private (klass, sizeof (HashTimedQueuePrivate)); +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->notify_dequeued = hash_timed_queue_real_notify_dequeued; +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->clear = hash_timed_queue_real_clear; +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->contains = hash_timed_queue_real_contains; +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->enqueue = hash_timed_queue_real_enqueue; +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->enqueue_many = hash_timed_queue_real_enqueue_many; +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + ((TimedQueueClass *) klass)->remove_first = hash_timed_queue_real_remove_first; +#line 2205 "TimedQueue.c" +} + + +static void hash_timed_queue_instance_init (HashTimedQueue * self) { +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self->priv = HASH_TIMED_QUEUE_GET_PRIVATE (self); +#line 2212 "TimedQueue.c" +} + + +static void hash_timed_queue_finalize (TimedQueue* obj) { + HashTimedQueue * self; +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HASH_TIMED_QUEUE, HashTimedQueue); +#line 215 "/home/jens/Source/shotwell/src/TimedQueue.vala" + _g_object_unref0 (self->priv->item_count); +#line 214 "/home/jens/Source/shotwell/src/TimedQueue.vala" + TIMED_QUEUE_CLASS (hash_timed_queue_parent_class)->finalize (obj); +#line 2224 "TimedQueue.c" +} + + +GType hash_timed_queue_get_type (void) { + static volatile gsize hash_timed_queue_type_id__volatile = 0; + if (g_once_init_enter (&hash_timed_queue_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (HashTimedQueueClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hash_timed_queue_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HashTimedQueue), 0, (GInstanceInitFunc) hash_timed_queue_instance_init, NULL }; + GType hash_timed_queue_type_id; + hash_timed_queue_type_id = g_type_register_static (TYPE_TIMED_QUEUE, "HashTimedQueue", &g_define_type_info, 0); + g_once_init_leave (&hash_timed_queue_type_id__volatile, hash_timed_queue_type_id); + } + return hash_timed_queue_type_id__volatile; +} + + + diff --git a/src/Tombstone.c b/src/Tombstone.c new file mode 100644 index 0000000..7edac33 --- /dev/null +++ b/src/Tombstone.c @@ -0,0 +1,3579 @@ +/* Tombstone.c generated by valac 0.32.1, the Vala compiler + * generated from Tombstone.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#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_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#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; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; + +#define TYPE_TOMBSTONE_SOURCE_COLLECTION (tombstone_source_collection_get_type ()) +#define TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection)) +#define TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass)) +#define IS_TOMBSTONE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION)) +#define IS_TOMBSTONE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_SOURCE_COLLECTION)) +#define TOMBSTONE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionClass)) + +typedef struct _TombstoneSourceCollection TombstoneSourceCollection; +typedef struct _TombstoneSourceCollectionClass TombstoneSourceCollectionClass; +typedef struct _TombstoneSourceCollectionPrivate TombstoneSourceCollectionPrivate; + +#define TYPE_TOMBSTONE (tombstone_get_type ()) +#define TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE, Tombstone)) +#define TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE, TombstoneClass)) +#define IS_TOMBSTONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE)) +#define IS_TOMBSTONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE)) +#define TOMBSTONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE, TombstoneClass)) + +typedef struct _Tombstone Tombstone; +typedef struct _TombstoneClass TombstoneClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_TOMBSTONE_ID (tombstone_id_get_type ()) +typedef struct _TombstoneID TombstoneID; +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ()) +#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor)) +#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) +#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR)) +#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR)) +#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) + +typedef struct _DirectoryMonitor DirectoryMonitor; +typedef struct _DirectoryMonitorClass DirectoryMonitorClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +typedef struct _TombstoneSourceCollectionAsyncScanData TombstoneSourceCollectionAsyncScanData; + +#define TYPE_TOMBSTONED_FILE (tombstoned_file_get_type ()) +#define TOMBSTONED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONED_FILE, TombstonedFile)) +#define TOMBSTONED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONED_FILE, TombstonedFileClass)) +#define IS_TOMBSTONED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONED_FILE)) +#define IS_TOMBSTONED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONED_FILE)) +#define TOMBSTONED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONED_FILE, TombstonedFileClass)) + +typedef struct _TombstonedFile TombstonedFile; +typedef struct _TombstonedFileClass TombstonedFileClass; +typedef struct _TombstonedFilePrivate TombstonedFilePrivate; +typedef struct _ParamSpecTombstonedFile ParamSpecTombstonedFile; +typedef struct _DataObjectPrivate DataObjectPrivate; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; +typedef struct _TombstonePrivate TombstonePrivate; + +#define TYPE_TOMBSTONE_ROW (tombstone_row_get_type ()) +#define TOMBSTONE_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_ROW, TombstoneRow)) +#define TOMBSTONE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_ROW, TombstoneRowClass)) +#define IS_TOMBSTONE_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_ROW)) +#define IS_TOMBSTONE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_ROW)) +#define TOMBSTONE_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_ROW, TombstoneRowClass)) + +typedef struct _TombstoneRow TombstoneRow; +typedef struct _TombstoneRowClass TombstoneRowClass; + +#define TOMBSTONE_TYPE_REASON (tombstone_reason_get_type ()) +#define _tombstone_row_unref0(var) ((var == NULL) ? NULL : (var = (tombstone_row_unref (var), NULL))) + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_TOMBSTONE_TABLE (tombstone_table_get_type ()) +#define TOMBSTONE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_TABLE, TombstoneTable)) +#define TOMBSTONE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_TABLE, TombstoneTableClass)) +#define IS_TOMBSTONE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_TABLE)) +#define IS_TOMBSTONE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_TABLE)) +#define TOMBSTONE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_TABLE, TombstoneTableClass)) + +typedef struct _TombstoneTable TombstoneTable; +typedef struct _TombstoneTableClass TombstoneTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) + +#define TYPE_BACKING_FILE_STATE (backing_file_state_get_type ()) +#define BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_FILE_STATE, BackingFileState)) +#define BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) +#define IS_BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_FILE_STATE)) +#define IS_BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_FILE_STATE)) +#define BACKING_FILE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) + +typedef struct _BackingFileState BackingFileState; +typedef struct _BackingFileStateClass BackingFileStateClass; +typedef struct _BackingFileStatePrivate BackingFileStatePrivate; +#define _tombstoned_file_unref0(var) ((var == NULL) ? NULL : (var = (tombstoned_file_unref (var), NULL))) +#define _backing_file_state_unref0(var) ((var == NULL) ? NULL : (var = (backing_file_state_unref (var), NULL))) +typedef struct _TombstoneRowPrivate TombstoneRowPrivate; +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _TombstoneSourceCollection { + DatabaseSourceCollection parent_instance; + TombstoneSourceCollectionPrivate * priv; +}; + +struct _TombstoneSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; +}; + +struct _TombstoneSourceCollectionPrivate { + GeeHashMap* file_map; +}; + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); +struct _TombstoneID { + gint64 id; +}; + +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 _TombstoneSourceCollectionAsyncScanData { + int _state_; + GObject* _source_object_; + GAsyncResult* _res_; + GSimpleAsyncResult* _async_result; + TombstoneSourceCollection* self; + DirectoryMonitor* monitor; + GCancellable* cancellable; + Marker* marker; + Marker* _tmp0_; + GeeIterator* _object_it; + GeeCollection* _tmp1_; + GeeCollection* _tmp2_; + GeeIterator* _tmp3_; + GeeIterator* _tmp4_; + GeeIterator* _tmp5_; + gboolean _tmp6_; + DataObject* object; + GeeIterator* _tmp7_; + gpointer _tmp8_; + Tombstone* tombstone; + DataObject* _tmp9_; + Tombstone* _tmp10_; + GFile* file; + Tombstone* _tmp11_; + GFile* _tmp12_; + GFileInfo* info; + DirectoryMonitor* _tmp13_; + DirectoryMonitor* _tmp14_; + GFile* _tmp15_; + GFileInfo* _tmp16_; + GFileInfo* _tmp17_; + GFileInfo* _tmp18_; + GFile* _tmp19_; + GCancellable* _tmp20_; + GFileInfo* _tmp21_; + GFileInfo* _tmp22_; + GError* err; + GError* _tmp23_; + GError* _tmp24_; + GFile* _tmp25_; + gchar* _tmp26_; + gchar* _tmp27_; + GError* _tmp28_; + const gchar* _tmp29_; + GFileInfo* _tmp30_; + Marker* _tmp31_; + Tombstone* _tmp32_; + Marker* _tmp33_; + gint _tmp34_; + Marker* _tmp35_; + gint _tmp36_; + Marker* _tmp37_; + GError* err2; + GError* _tmp38_; + GError * _inner_error_; +}; + +struct _TombstonedFile { + GTypeInstance parent_instance; + volatile int ref_count; + TombstonedFilePrivate * priv; + GFile* file; + gint64 filesize; + gchar* md5; +}; + +struct _TombstonedFileClass { + GTypeClass parent_class; + void (*finalize) (TombstonedFile *self); +}; + +struct _ParamSpecTombstonedFile { + GParamSpec parent_instance; +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +struct _Tombstone { + DataSource parent_instance; + TombstonePrivate * priv; +}; + +struct _TombstoneClass { + DataSourceClass parent_class; +}; + +struct _TombstonePrivate { + TombstoneRow* row; + GFile* file; +}; + +typedef enum { + TOMBSTONE_REASON_REMOVED_BY_USER = 0, + TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE = 1 +} TombstoneReason; + +struct _BackingFileState { + GTypeInstance parent_instance; + volatile int ref_count; + BackingFileStatePrivate * priv; + gchar* filepath; + gint64 filesize; + time_t modification_time; + gchar* md5; +}; + +struct _BackingFileStateClass { + GTypeClass parent_class; + void (*finalize) (BackingFileState *self); +}; + +struct _TombstoneRow { + GTypeInstance parent_instance; + volatile int ref_count; + TombstoneRowPrivate * priv; + TombstoneID id; + gchar* filepath; + gint64 filesize; + gchar* md5; + time_t time_created; + TombstoneReason reason; +}; + +struct _TombstoneRowClass { + GTypeClass parent_class; + void (*finalize) (TombstoneRow *self); +}; + + +static gpointer tombstone_source_collection_parent_class = NULL; +static gpointer tombstoned_file_parent_class = NULL; +static gpointer tombstone_parent_class = NULL; +extern TombstoneSourceCollection* tombstone_global; +TombstoneSourceCollection* tombstone_global = NULL; + +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 data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType tombstone_source_collection_get_type (void) G_GNUC_CONST; +GType tombstone_get_type (void) G_GNUC_CONST; +#define TOMBSTONE_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollectionPrivate)) +enum { + TOMBSTONE_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +TombstoneSourceCollection* tombstone_source_collection_new (void); +TombstoneSourceCollection* tombstone_source_collection_construct (GType object_type); +static gint64 tombstone_source_collection_get_tombstone_id (DataSource* source); +static gint64 _tombstone_source_collection_get_tombstone_id_get_source_database_key (DataSource* source, gpointer self); +DatabaseSourceCollection* database_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +static gboolean tombstone_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source); +GType tombstone_id_get_type (void) G_GNUC_CONST; +TombstoneID* tombstone_id_dup (const TombstoneID* self); +void tombstone_id_free (TombstoneID* self); +void tombstone_get_tombstone_id (Tombstone* self, TombstoneID* result); +static void tombstone_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed); +GFile* tombstone_get_file (Tombstone* self); +void data_collection_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed); +static void tombstone_source_collection_real_notify_items_altered (DataCollection* base, GeeMap* items); +gboolean alteration_has_subject (Alteration* self, const gchar* subject); +GeeCollection* alteration_get_details (Alteration* self, const gchar* subject); +Tombstone* tombstone_source_collection_locate (TombstoneSourceCollection* self, GFile* file); +gboolean tombstone_source_collection_matches (TombstoneSourceCollection* self, GFile* file); +void tombstone_source_collection_resurrect (TombstoneSourceCollection* self, Tombstone* tombstone); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +gint source_collection_destroy_marked (SourceCollection* self, Marker* marker, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +Marker* data_collection_mark (DataCollection* self, DataObject* object); +void tombstone_source_collection_resurrect_many (TombstoneSourceCollection* self, GeeCollection* tombstones); +Marker* data_collection_mark_many (DataCollection* self, GeeCollection* objects); +void data_collection_freeze_notifications (DataCollection* self); +void database_table_begin_transaction (void); +GQuark database_error_quark (void); +void database_table_commit_transaction (GError** error); +void app_window_database_error (GError* err); +void data_collection_thaw_notifications (DataCollection* self); +GType directory_monitor_get_type (void) G_GNUC_CONST; +void tombstone_source_collection_launch_scan (TombstoneSourceCollection* self, DirectoryMonitor* monitor, GCancellable* cancellable); +static void tombstone_source_collection_async_scan (TombstoneSourceCollection* self, DirectoryMonitor* monitor, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void tombstone_source_collection_async_scan_finish (TombstoneSourceCollection* self, GAsyncResult* _res_); +static void tombstone_source_collection_async_scan_data_free (gpointer _data); +static gboolean tombstone_source_collection_async_scan_co (TombstoneSourceCollectionAsyncScanData* _data_); +Marker* data_collection_start_marking (DataCollection* self); +GeeCollection* data_collection_get_all (DataCollection* self); +GFileInfo* directory_monitor_get_file_info (DirectoryMonitor* self, GFile* file); +static void tombstone_source_collection_async_scan_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); +void marker_mark (Marker* self, DataObject* object); +static gboolean _tombstone_source_collection_async_scan_co_gsource_func (gpointer self); +gint marker_get_count (Marker* self); +static void tombstone_source_collection_finalize (DataCollection* obj); +gpointer tombstoned_file_ref (gpointer instance); +void tombstoned_file_unref (gpointer instance); +GParamSpec* param_spec_tombstoned_file (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_tombstoned_file (GValue* value, gpointer v_object); +void value_take_tombstoned_file (GValue* value, gpointer v_object); +gpointer value_get_tombstoned_file (const GValue* value); +GType tombstoned_file_get_type (void) G_GNUC_CONST; +enum { + TOMBSTONED_FILE_DUMMY_PROPERTY +}; +TombstonedFile* tombstoned_file_new (GFile* file, gint64 filesize, const gchar* md5); +TombstonedFile* tombstoned_file_construct (GType object_type, GFile* file, gint64 filesize, const gchar* md5); +static void tombstoned_file_finalize (TombstonedFile* obj); +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +gpointer tombstone_row_ref (gpointer instance); +void tombstone_row_unref (gpointer instance); +GParamSpec* param_spec_tombstone_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_tombstone_row (GValue* value, gpointer v_object); +void value_take_tombstone_row (GValue* value, gpointer v_object); +gpointer value_get_tombstone_row (const GValue* value); +GType tombstone_row_get_type (void) G_GNUC_CONST; +#define TOMBSTONE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TOMBSTONE, TombstonePrivate)) +enum { + TOMBSTONE_DUMMY_PROPERTY +}; +GType tombstone_reason_get_type (void) G_GNUC_CONST; +gint tombstone_reason_serialize (TombstoneReason self); +TombstoneReason tombstone_reason_unserialize (gint value); +static Tombstone* tombstone_new (TombstoneRow* row); +static Tombstone* tombstone_construct (GType object_type, TombstoneRow* row); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +DataSource* data_source_construct (GType object_type, gint64 object_id); +void tombstone_init (void); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType tombstone_table_get_type (void) G_GNUC_CONST; +TombstoneTable* tombstone_table_get_instance (void); +TombstoneRow** tombstone_table_fetch_all (TombstoneTable* self, int* result_length1, GError** error); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +void tombstone_terminate (void); +void tombstone_entomb_many_sources (GeeCollection* sources, TombstoneReason reason, GError** error); +gpointer backing_file_state_ref (gpointer instance); +void backing_file_state_unref (gpointer instance); +GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_file_state (GValue* value, gpointer v_object); +void value_take_backing_file_state (GValue* value, gpointer v_object); +gpointer value_get_backing_file_state (const GValue* value); +GType backing_file_state_get_type (void) G_GNUC_CONST; +BackingFileState** media_source_get_backing_files_state (MediaSource* self, int* result_length1); +GFile* backing_file_state_get_file (BackingFileState* self); +void tombstone_entomb_many_files (GeeCollection* files, TombstoneReason reason, GError** error); +TombstoneRow* tombstone_table_add (TombstoneTable* self, const gchar* filepath, gint64 filesize, const gchar* md5, TombstoneReason reason, GError** error); +static gchar* tombstone_real_get_typename (DataSource* base); +static gint64 tombstone_real_get_instance_id (DataSource* base); +static gchar* tombstone_real_get_name (DataObject* base); +static gchar* tombstone_real_to_string (DataObject* base); +gchar* data_object_get_name (DataObject* self); +gchar* tombstone_get_md5 (Tombstone* self); +gboolean is_string_empty (const gchar* s); +TombstoneReason tombstone_get_reason (Tombstone* self); +void tombstone_move (Tombstone* self, GFile* file); +void tombstone_table_update_file (TombstoneTable* self, TombstoneID* tombstone_id, const gchar* filepath, GError** error); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +gboolean tombstone_matches (Tombstone* self, GFile* file, gint64 filesize, const gchar* md5); +static void tombstone_real_destroy (DataSource* base); +void tombstone_table_remove (TombstoneTable* self, TombstoneID* tombstone_id, GError** error); +void data_source_destroy (DataSource* self); +static void tombstone_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 8 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 719 "Tombstone.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 8 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 728 "Tombstone.c" +} + + +static gint64 _tombstone_source_collection_get_tombstone_id_get_source_database_key (DataSource* source, gpointer self) { + gint64 result; + result = tombstone_source_collection_get_tombstone_id (source); +#line 12 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 737 "Tombstone.c" +} + + +TombstoneSourceCollection* tombstone_source_collection_construct (GType object_type) { + TombstoneSourceCollection* self = NULL; +#line 12 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = (TombstoneSourceCollection*) database_source_collection_construct (object_type, "Tombstones", _tombstone_source_collection_get_tombstone_id_get_source_database_key, NULL); +#line 11 "/home/jens/Source/shotwell/src/Tombstone.vala" + return self; +#line 747 "Tombstone.c" +} + + +TombstoneSourceCollection* tombstone_source_collection_new (void) { +#line 11 "/home/jens/Source/shotwell/src/Tombstone.vala" + return tombstone_source_collection_construct (TYPE_TOMBSTONE_SOURCE_COLLECTION); +#line 754 "Tombstone.c" +} + + +static gboolean tombstone_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source) { + TombstoneSourceCollection * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection); +#line 15 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 16 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = source; +#line 16 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_TOMBSTONE); +#line 16 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 772 "Tombstone.c" +} + + +static gint64 tombstone_source_collection_get_tombstone_id (DataSource* source) { + gint64 result = 0LL; + DataSource* _tmp0_ = NULL; + TombstoneID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; +#line 19 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), 0LL); +#line 20 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = source; +#line 20 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_get_tombstone_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_TOMBSTONE, Tombstone), &_tmp1_); +#line 20 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = _tmp1_.id; +#line 20 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp2_; +#line 20 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 793 "Tombstone.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 27 "/home/jens/Source/shotwell/src/Tombstone.vala" + return self ? g_object_ref (self) : NULL; +#line 800 "Tombstone.c" +} + + +static void tombstone_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed) { + TombstoneSourceCollection * self; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp14_ = NULL; + GeeIterable* _tmp36_ = NULL; + GeeIterable* _tmp37_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection); +#line 23 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 23 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 25 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = added; +#line 25 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp0_ != NULL) { +#line 820 "Tombstone.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = added; +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _object_it = _tmp2_; +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + while (TRUE) { +#line 833 "Tombstone.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Tombstone* tombstone = NULL; + DataObject* _tmp7_ = NULL; + Tombstone* _tmp8_ = NULL; + GeeHashMap* _tmp9_ = NULL; + Tombstone* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + Tombstone* _tmp13_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = _object_it; +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_tmp4_) { +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 855 "Tombstone.c" + } +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = _object_it; +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + object = (DataObject*) _tmp6_; +#line 27 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp7_ = object; +#line 27 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_TOMBSTONE, Tombstone)); +#line 27 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone = _tmp8_; +#line 29 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp9_ = self->priv->file_map; +#line 29 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp10_ = tombstone; +#line 29 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11_ = tombstone_get_file (_tmp10_); +#line 29 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp12_ = _tmp11_; +#line 29 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp13_ = tombstone; +#line 29 "/home/jens/Source/shotwell/src/Tombstone.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp12_, _tmp13_); +#line 29 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp12_); +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (tombstone); +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (object); +#line 887 "Tombstone.c" + } +#line 26 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_object_it); +#line 891 "Tombstone.c" + } + } +#line 33 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp14_ = removed; +#line 33 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp14_ != NULL) { +#line 898 "Tombstone.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp15_ = removed; +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp16_ = gee_iterable_iterator (_tmp15_); +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _object_it = _tmp16_; +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + while (TRUE) { +#line 911 "Tombstone.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + Tombstone* tombstone = NULL; + DataObject* _tmp21_ = NULL; + Tombstone* _tmp22_ = NULL; + GeeHashMap* _tmp23_ = NULL; + Tombstone* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp17_ = _object_it; +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_tmp18_) { +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 934 "Tombstone.c" + } +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp19_ = _object_it; +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + object = (DataObject*) _tmp20_; +#line 35 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp21_ = object; +#line 35 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_TOMBSTONE, Tombstone)); +#line 35 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone = _tmp22_; +#line 38 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp23_ = self->priv->file_map; +#line 38 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp24_ = tombstone; +#line 38 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp25_ = tombstone_get_file (_tmp24_); +#line 38 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp26_ = _tmp25_; +#line 38 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp27_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp26_); +#line 38 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp28_ = _tmp27_; +#line 38 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp26_); +#line 38 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp28_) { +#line 964 "Tombstone.c" + gboolean is_removed = FALSE; + GeeHashMap* _tmp29_ = NULL; + Tombstone* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; + GFile* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + gboolean _tmp34_ = FALSE; + gboolean _tmp35_ = FALSE; +#line 40 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp29_ = self->priv->file_map; +#line 40 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp30_ = tombstone; +#line 40 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp31_ = tombstone_get_file (_tmp30_); +#line 40 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp32_ = _tmp31_; +#line 40 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp33_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp32_, NULL); +#line 40 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp34_ = _tmp33_; +#line 40 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp32_); +#line 40 "/home/jens/Source/shotwell/src/Tombstone.vala" + is_removed = _tmp34_; +#line 41 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp35_ = is_removed; +#line 41 "/home/jens/Source/shotwell/src/Tombstone.vala" + _vala_assert (_tmp35_, "is_removed"); +#line 993 "Tombstone.c" + } +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (tombstone); +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (object); +#line 999 "Tombstone.c" + } +#line 34 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_object_it); +#line 1003 "Tombstone.c" + } + } +#line 49 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp36_ = added; +#line 49 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp37_ = removed; +#line 49 "/home/jens/Source/shotwell/src/Tombstone.vala" + DATA_COLLECTION_CLASS (tombstone_source_collection_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp36_, _tmp37_); +#line 1012 "Tombstone.c" +} + + +static void tombstone_source_collection_real_notify_items_altered (DataCollection* base, GeeMap* items) { + TombstoneSourceCollection * self; +#line 52 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection); +#line 52 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 1022 "Tombstone.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = items; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = _tmp1_; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = _tmp2_; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = _tmp4_; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp3_); +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _object_it = _tmp5_; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + while (TRUE) { +#line 1049 "Tombstone.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Alteration* alteration = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + Alteration* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + Tombstone* tombstone = NULL; + DataObject* _tmp15_ = NULL; + Tombstone* _tmp16_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6_ = _object_it; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_tmp7_) { +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 1072 "Tombstone.c" + } +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp8_ = _object_it; +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + object = (DataObject*) _tmp9_; +#line 54 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp10_ = items; +#line 54 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11_ = object; +#line 54 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 54 "/home/jens/Source/shotwell/src/Tombstone.vala" + alteration = (Alteration*) _tmp12_; +#line 55 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp13_ = alteration; +#line 55 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp14_ = alteration_has_subject (_tmp13_, "file"); +#line 55 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_tmp14_) { +#line 56 "/home/jens/Source/shotwell/src/Tombstone.vala" + _alteration_unref0 (alteration); +#line 56 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (object); +#line 56 "/home/jens/Source/shotwell/src/Tombstone.vala" + continue; +#line 1100 "Tombstone.c" + } +#line 58 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp15_ = object; +#line 58 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp16_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_TOMBSTONE, Tombstone)); +#line 58 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone = _tmp16_; +#line 1108 "Tombstone.c" + { + GeeIterator* _detail_it = NULL; + Alteration* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp17_ = alteration; +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp18_ = alteration_get_details (_tmp17_, "file"); +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp19_ = _tmp18_; +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp21_ = _tmp20_; +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp19_); +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _detail_it = _tmp21_; +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + while (TRUE) { +#line 1132 "Tombstone.c" + GeeIterator* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + gchar* detail = NULL; + GeeIterator* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + GFile* old_file = NULL; + const gchar* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; + GeeHashMap* _tmp32_ = NULL; + Tombstone* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + Tombstone* _tmp36_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp22_ = _detail_it; +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp23_ = gee_iterator_next (_tmp22_); +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_tmp23_) { +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 1159 "Tombstone.c" + } +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp24_ = _detail_it; +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp25_ = gee_iterator_get (_tmp24_); +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + detail = (gchar*) _tmp25_; +#line 61 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp26_ = detail; +#line 61 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp27_ = g_file_new_for_path (_tmp26_); +#line 61 "/home/jens/Source/shotwell/src/Tombstone.vala" + old_file = _tmp27_; +#line 63 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp28_ = self->priv->file_map; +#line 63 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp29_ = old_file; +#line 63 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp30_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp29_, NULL); +#line 63 "/home/jens/Source/shotwell/src/Tombstone.vala" + removed = _tmp30_; +#line 64 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp31_ = removed; +#line 64 "/home/jens/Source/shotwell/src/Tombstone.vala" + _vala_assert (_tmp31_, "removed"); +#line 66 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp32_ = self->priv->file_map; +#line 66 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp33_ = tombstone; +#line 66 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp34_ = tombstone_get_file (_tmp33_); +#line 66 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp35_ = _tmp34_; +#line 66 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp36_ = tombstone; +#line 66 "/home/jens/Source/shotwell/src/Tombstone.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp35_, _tmp36_); +#line 66 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp35_); +#line 68 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (old_file); +#line 68 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (detail); +#line 68 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 1205 "Tombstone.c" + } +#line 60 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_detail_it); +#line 1209 "Tombstone.c" + } +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (tombstone); +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _alteration_unref0 (alteration); +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (object); +#line 1217 "Tombstone.c" + } +#line 53 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_object_it); +#line 1221 "Tombstone.c" + } +} + + +Tombstone* tombstone_source_collection_locate (TombstoneSourceCollection* self, GFile* file) { + Tombstone* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_TOMBSTONE_SOURCE_COLLECTION (self), NULL); +#line 73 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 74 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = self->priv->file_map; +#line 74 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = file; +#line 74 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 74 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = (Tombstone*) _tmp2_; +#line 74 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 1245 "Tombstone.c" +} + + +gboolean tombstone_source_collection_matches (TombstoneSourceCollection* self, GFile* file) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 77 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_TOMBSTONE_SOURCE_COLLECTION (self), FALSE); +#line 77 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 78 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = self->priv->file_map; +#line 78 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = file; +#line 78 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 78 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp2_; +#line 78 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 1268 "Tombstone.c" +} + + +void tombstone_source_collection_resurrect (TombstoneSourceCollection* self, Tombstone* tombstone) { + Tombstone* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + Marker* _tmp2_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (IS_TOMBSTONE_SOURCE_COLLECTION (self)); +#line 81 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (IS_TOMBSTONE (tombstone)); +#line 82 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = tombstone; +#line 82 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 82 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = _tmp1_; +#line 82 "/home/jens/Source/shotwell/src/Tombstone.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp2_, FALSE, NULL, NULL, NULL); +#line 82 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp2_); +#line 1290 "Tombstone.c" +} + + +void tombstone_source_collection_resurrect_many (TombstoneSourceCollection* self, GeeCollection* tombstones) { + Marker* marker = NULL; + GeeCollection* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (IS_TOMBSTONE_SOURCE_COLLECTION (self)); +#line 85 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (GEE_IS_COLLECTION (tombstones)); +#line 86 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = tombstones; +#line 86 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = data_collection_mark_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp0_); +#line 86 "/home/jens/Source/shotwell/src/Tombstone.vala" + marker = _tmp1_; +#line 88 "/home/jens/Source/shotwell/src/Tombstone.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 89 "/home/jens/Source/shotwell/src/Tombstone.vala" + database_table_begin_transaction (); +#line 91 "/home/jens/Source/shotwell/src/Tombstone.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), marker, FALSE, NULL, NULL, NULL); +#line 1315 "Tombstone.c" + { +#line 94 "/home/jens/Source/shotwell/src/Tombstone.vala" + database_table_commit_transaction (&_inner_error_); +#line 94 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 94 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1323 "Tombstone.c" + goto __catch535_database_error; + } +#line 94 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (marker); +#line 94 "/home/jens/Source/shotwell/src/Tombstone.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 94 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 94 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 1334 "Tombstone.c" + } + } + goto __finally535; + __catch535_database_error: + { + GError* err = NULL; + GError* _tmp2_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/Tombstone.vala" + err = _inner_error_; +#line 93 "/home/jens/Source/shotwell/src/Tombstone.vala" + _inner_error_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = err; +#line 96 "/home/jens/Source/shotwell/src/Tombstone.vala" + app_window_database_error (_tmp2_); +#line 93 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_error_free0 (err); +#line 1352 "Tombstone.c" + } + __finally535: +#line 93 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 93 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (marker); +#line 93 "/home/jens/Source/shotwell/src/Tombstone.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 93 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 93 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 1365 "Tombstone.c" + } +#line 99 "/home/jens/Source/shotwell/src/Tombstone.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 85 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (marker); +#line 1371 "Tombstone.c" +} + + +void tombstone_source_collection_launch_scan (TombstoneSourceCollection* self, DirectoryMonitor* monitor, GCancellable* cancellable) { + DirectoryMonitor* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (IS_TOMBSTONE_SOURCE_COLLECTION (self)); +#line 108 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail ((monitor == NULL) || IS_DIRECTORY_MONITOR (monitor)); +#line 108 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 109 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = monitor; +#line 109 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = cancellable; +#line 109 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_source_collection_async_scan (self, _tmp0_, _tmp1_, NULL, NULL); +#line 1390 "Tombstone.c" +} + + +static void tombstone_source_collection_async_scan_data_free (gpointer _data) { + TombstoneSourceCollectionAsyncScanData* _data_; + _data_ = _data; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->monitor); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->cancellable); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_collection_unref0 (_data_->self); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_slice_free (TombstoneSourceCollectionAsyncScanData, _data_); +#line 1405 "Tombstone.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + return self ? data_collection_ref (self) : NULL; +#line 1412 "Tombstone.c" +} + + +static void tombstone_source_collection_async_scan (TombstoneSourceCollection* self, DirectoryMonitor* monitor, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) { + TombstoneSourceCollectionAsyncScanData* _data_; + TombstoneSourceCollection* _tmp0_ = NULL; + DirectoryMonitor* _tmp1_ = NULL; + DirectoryMonitor* _tmp2_ = NULL; + GCancellable* _tmp3_ = NULL; + GCancellable* _tmp4_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_ = g_slice_new0 (TombstoneSourceCollectionAsyncScanData); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_async_result = g_simple_async_result_new (NULL, _callback_, _user_data_, tombstone_source_collection_async_scan); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, tombstone_source_collection_async_scan_data_free); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = _data_collection_ref0 (self); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->self = _tmp0_; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = monitor; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->monitor); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->monitor = _tmp2_; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = cancellable; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->cancellable); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->cancellable = _tmp4_; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_source_collection_async_scan_co (_data_); +#line 1451 "Tombstone.c" +} + + +static void tombstone_source_collection_async_scan_finish (TombstoneSourceCollection* self, GAsyncResult* _res_) { + TombstoneSourceCollectionAsyncScanData* _data_; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_)); +#line 1459 "Tombstone.c" +} + + +static void tombstone_source_collection_async_scan_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) { + TombstoneSourceCollectionAsyncScanData* _data_; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_ = _user_data_; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_source_object_ = source_object; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_res_ = _res_; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_source_collection_async_scan_co (_data_); +#line 1473 "Tombstone.c" +} + + +static gboolean _tombstone_source_collection_async_scan_co_gsource_func (gpointer self) { + gboolean result; + result = tombstone_source_collection_async_scan_co (self); +#line 145 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 1482 "Tombstone.c" +} + + +static gboolean tombstone_source_collection_async_scan_co (TombstoneSourceCollectionAsyncScanData* _data_) { +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + switch (_data_->_state_) { +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + case 0: +#line 1491 "Tombstone.c" + goto _state_0; +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + case 1: +#line 1495 "Tombstone.c" + goto _state_1; +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + case 2: +#line 1499 "Tombstone.c" + goto _state_2; + default: +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_assert_not_reached (); +#line 1504 "Tombstone.c" + } + _state_0: +#line 114 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp0_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp0_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_DATA_COLLECTION, DataCollection)); +#line 114 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->marker = _data_->_tmp0_; +#line 1513 "Tombstone.c" + { +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp1_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp1_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_DATA_COLLECTION, DataCollection)); +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp2_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp2_ = _data_->_tmp1_; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp3_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp4_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp4_ = _data_->_tmp3_; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->_tmp2_); +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_object_it = _data_->_tmp4_; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + while (TRUE) { +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp5_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp5_ = _data_->_object_it; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp6_ = FALSE; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp6_ = gee_iterator_next (_data_->_tmp5_); +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_data_->_tmp6_) { +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 1549 "Tombstone.c" + } +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp7_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp7_ = _data_->_object_it; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp8_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp8_ = gee_iterator_get (_data_->_tmp7_); +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->object = (DataObject*) _data_->_tmp8_; +#line 116 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp9_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp9_ = _data_->object; +#line 116 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp10_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp9_, TYPE_TOMBSTONE, Tombstone)); +#line 116 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->tombstone = _data_->_tmp10_; +#line 117 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp11_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp11_ = _data_->tombstone; +#line 117 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp12_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp12_ = tombstone_get_file (_data_->_tmp11_); +#line 117 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->file = _data_->_tmp12_; +#line 119 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->info = NULL; +#line 120 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp13_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp13_ = _data_->monitor; +#line 120 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_data_->_tmp13_ != NULL) { +#line 121 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp14_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp14_ = _data_->monitor; +#line 121 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp15_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp15_ = _data_->file; +#line 121 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp16_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp16_ = directory_monitor_get_file_info (_data_->_tmp14_, _data_->_tmp15_); +#line 121 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->info); +#line 121 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->info = _data_->_tmp16_; +#line 1605 "Tombstone.c" + } +#line 125 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp17_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp17_ = _data_->info; +#line 125 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_data_->_tmp17_ == NULL) { +#line 1613 "Tombstone.c" + { +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp19_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp19_ = _data_->file; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp20_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp20_ = _data_->cancellable; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_state_ = 1; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_file_query_info_async (_data_->_tmp19_, G_FILE_ATTRIBUTE_STANDARD_NAME, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, G_PRIORITY_LOW, _data_->_tmp20_, tombstone_source_collection_async_scan_ready, _data_); +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + return FALSE; +#line 1629 "Tombstone.c" + _state_1: +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp21_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp21_ = g_file_query_info_finish (_data_->_tmp19_, _data_->_res_, &_data_->_inner_error_); +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp18_ = _data_->_tmp21_; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 1639 "Tombstone.c" + goto __catch536_g_error; + } +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp22_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp22_ = _data_->_tmp18_; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp18_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->info); +#line 127 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->info = _data_->_tmp22_; +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->_tmp18_); +#line 1654 "Tombstone.c" + } + goto __finally536; + __catch536_g_error: + { +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->err = _data_->_inner_error_; +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_inner_error_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp23_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp23_ = _data_->err; +#line 131 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (g_error_matches (_data_->_tmp23_, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { +#line 132 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_error_free0 (_data_->err); +#line 132 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->info); +#line 132 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->file); +#line 132 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->tombstone); +#line 132 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->object); +#line 132 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 1681 "Tombstone.c" + } +#line 134 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp24_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp24_ = _data_->err; +#line 134 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!g_error_matches (_data_->_tmp24_, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) { +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp25_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp25_ = _data_->file; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp26_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp26_ = g_file_get_path (_data_->_tmp25_); +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp27_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp27_ = _data_->_tmp26_; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp28_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp28_ = _data_->err; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp29_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp29_ = _data_->_tmp28_->message; +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_warning ("Tombstone.vala:135: Unable to check for existence of tombstoned file %" \ +"s: %s", _data_->_tmp27_, _data_->_tmp29_); +#line 135 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (_data_->_tmp27_); +#line 1713 "Tombstone.c" + } +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_error_free0 (_data_->err); +#line 1717 "Tombstone.c" + } + __finally536: +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->info); +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->file); +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->tombstone); +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->object); +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->_object_it); +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->marker); +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_data_->_inner_error_); +#line 126 "/home/jens/Source/shotwell/src/Tombstone.vala" + return FALSE; +#line 1740 "Tombstone.c" + } + } +#line 142 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp30_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp30_ = _data_->info; +#line 142 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_data_->_tmp30_ == NULL) { +#line 143 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp31_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp31_ = _data_->marker; +#line 143 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp32_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp32_ = _data_->tombstone; +#line 143 "/home/jens/Source/shotwell/src/Tombstone.vala" + marker_mark (_data_->_tmp31_, G_TYPE_CHECK_INSTANCE_CAST (_data_->_tmp32_, TYPE_DATA_OBJECT, DataObject)); +#line 1759 "Tombstone.c" + } +#line 145 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _tombstone_source_collection_async_scan_co_gsource_func, _data_, NULL); +#line 146 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_state_ = 2; +#line 146 "/home/jens/Source/shotwell/src/Tombstone.vala" + return FALSE; +#line 1767 "Tombstone.c" + _state_2: + ; +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->info); +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->file); +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->tombstone); +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->object); +#line 1778 "Tombstone.c" + } +#line 115 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->_object_it); +#line 1782 "Tombstone.c" + } +#line 149 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp33_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp33_ = _data_->marker; +#line 149 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp34_ = 0; +#line 149 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp34_ = marker_get_count (_data_->_tmp33_); +#line 149 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_data_->_tmp34_ > 0) { +#line 150 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp35_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp35_ = _data_->marker; +#line 150 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp36_ = 0; +#line 150 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp36_ = marker_get_count (_data_->_tmp35_); +#line 150 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_debug ("Tombstone.vala:150: Resurrecting %d tombstones with no backing file", _data_->_tmp36_); +#line 151 "/home/jens/Source/shotwell/src/Tombstone.vala" + database_table_begin_transaction (); +#line 152 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp37_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp37_ = _data_->marker; +#line 152 "/home/jens/Source/shotwell/src/Tombstone.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, TYPE_SOURCE_COLLECTION, SourceCollection), _data_->_tmp37_, FALSE, NULL, NULL, NULL); +#line 1812 "Tombstone.c" + { +#line 154 "/home/jens/Source/shotwell/src/Tombstone.vala" + database_table_commit_transaction (&_data_->_inner_error_); +#line 154 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 154 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_data_->_inner_error_->domain == DATABASE_ERROR) { +#line 1820 "Tombstone.c" + goto __catch537_database_error; + } +#line 154 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->marker); +#line 154 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); +#line 154 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_data_->_inner_error_); +#line 154 "/home/jens/Source/shotwell/src/Tombstone.vala" + return FALSE; +#line 1831 "Tombstone.c" + } + } + goto __finally537; + __catch537_database_error: + { +#line 153 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->err2 = _data_->_inner_error_; +#line 153 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_inner_error_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp38_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_->_tmp38_ = _data_->err2; +#line 156 "/home/jens/Source/shotwell/src/Tombstone.vala" + app_window_database_error (_data_->_tmp38_); +#line 153 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_error_free0 (_data_->err2); +#line 1849 "Tombstone.c" + } + __finally537: +#line 153 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_data_->_inner_error_ != NULL)) { +#line 153 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->marker); +#line 153 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code); +#line 153 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_data_->_inner_error_); +#line 153 "/home/jens/Source/shotwell/src/Tombstone.vala" + return FALSE; +#line 1862 "Tombstone.c" + } + } +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_data_->marker); +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_data_->_state_ == 0) { +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_simple_async_result_complete_in_idle (_data_->_async_result); +#line 1871 "Tombstone.c" + } else { +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_simple_async_result_complete (_data_->_async_result); +#line 1875 "Tombstone.c" + } +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_object_unref (_data_->_async_result); +#line 112 "/home/jens/Source/shotwell/src/Tombstone.vala" + return FALSE; +#line 1881 "Tombstone.c" +} + + +static void tombstone_source_collection_class_init (TombstoneSourceCollectionClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((DataCollectionClass *) klass)->finalize = tombstone_source_collection_finalize; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_type_class_add_private (klass, sizeof (TombstoneSourceCollectionPrivate)); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = tombstone_source_collection_real_holds_type_of_source; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((DataCollectionClass *) klass)->notify_contents_altered = tombstone_source_collection_real_notify_contents_altered; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((DataCollectionClass *) klass)->notify_items_altered = tombstone_source_collection_real_notify_items_altered; +#line 1898 "Tombstone.c" +} + + +static void tombstone_source_collection_instance_init (TombstoneSourceCollection * self) { + GeeHashMap* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->priv = TOMBSTONE_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 8 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_TOMBSTONE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 8 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->priv->file_map = _tmp0_; +#line 1910 "Tombstone.c" +} + + +static void tombstone_source_collection_finalize (DataCollection* obj) { + TombstoneSourceCollection * self; +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TOMBSTONE_SOURCE_COLLECTION, TombstoneSourceCollection); +#line 8 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (self->priv->file_map); +#line 7 "/home/jens/Source/shotwell/src/Tombstone.vala" + DATA_COLLECTION_CLASS (tombstone_source_collection_parent_class)->finalize (obj); +#line 1922 "Tombstone.c" +} + + +GType tombstone_source_collection_get_type (void) { + static volatile gsize tombstone_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&tombstone_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TombstoneSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tombstone_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TombstoneSourceCollection), 0, (GInstanceInitFunc) tombstone_source_collection_instance_init, NULL }; + GType tombstone_source_collection_type_id; + tombstone_source_collection_type_id = g_type_register_static (TYPE_DATABASE_SOURCE_COLLECTION, "TombstoneSourceCollection", &g_define_type_info, 0); + g_once_init_leave (&tombstone_source_collection_type_id__volatile, tombstone_source_collection_type_id); + } + return tombstone_source_collection_type_id__volatile; +} + + +TombstonedFile* tombstoned_file_construct (GType object_type, GFile* file, gint64 filesize, const gchar* md5) { + TombstonedFile* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 167 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = (TombstonedFile*) g_type_create_instance (object_type); +#line 168 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = file; +#line 168 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 168 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (self->file); +#line 168 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->file = _tmp1_; +#line 169 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = filesize; +#line 169 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->filesize = _tmp2_; +#line 170 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = md5; +#line 170 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 170 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (self->md5); +#line 170 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->md5 = _tmp4_; +#line 167 "/home/jens/Source/shotwell/src/Tombstone.vala" + return self; +#line 1971 "Tombstone.c" +} + + +TombstonedFile* tombstoned_file_new (GFile* file, gint64 filesize, const gchar* md5) { +#line 167 "/home/jens/Source/shotwell/src/Tombstone.vala" + return tombstoned_file_construct (TYPE_TOMBSTONED_FILE, file, filesize, md5); +#line 1978 "Tombstone.c" +} + + +static void value_tombstoned_file_init (GValue* value) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + value->data[0].v_pointer = NULL; +#line 1985 "Tombstone.c" +} + + +static void value_tombstoned_file_free_value (GValue* value) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (value->data[0].v_pointer) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstoned_file_unref (value->data[0].v_pointer); +#line 1994 "Tombstone.c" + } +} + + +static void value_tombstoned_file_copy_value (const GValue* src_value, GValue* dest_value) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (src_value->data[0].v_pointer) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + dest_value->data[0].v_pointer = tombstoned_file_ref (src_value->data[0].v_pointer); +#line 2004 "Tombstone.c" + } else { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + dest_value->data[0].v_pointer = NULL; +#line 2008 "Tombstone.c" + } +} + + +static gpointer value_tombstoned_file_peek_pointer (const GValue* value) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return value->data[0].v_pointer; +#line 2016 "Tombstone.c" +} + + +static gchar* value_tombstoned_file_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (collect_values[0].v_pointer) { +#line 2023 "Tombstone.c" + TombstonedFile* object; + object = collect_values[0].v_pointer; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (object->parent_instance.g_class == NULL) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2030 "Tombstone.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2034 "Tombstone.c" + } +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + value->data[0].v_pointer = tombstoned_file_ref (object); +#line 2038 "Tombstone.c" + } else { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + value->data[0].v_pointer = NULL; +#line 2042 "Tombstone.c" + } +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return NULL; +#line 2046 "Tombstone.c" +} + + +static gchar* value_tombstoned_file_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TombstonedFile** object_p; + object_p = collect_values[0].v_pointer; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!object_p) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2057 "Tombstone.c" + } +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!value->data[0].v_pointer) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + *object_p = NULL; +#line 2063 "Tombstone.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + *object_p = value->data[0].v_pointer; +#line 2067 "Tombstone.c" + } else { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + *object_p = tombstoned_file_ref (value->data[0].v_pointer); +#line 2071 "Tombstone.c" + } +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return NULL; +#line 2075 "Tombstone.c" +} + + +GParamSpec* param_spec_tombstoned_file (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTombstonedFile* spec; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TOMBSTONED_FILE), NULL); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return G_PARAM_SPEC (spec); +#line 2089 "Tombstone.c" +} + + +gpointer value_get_tombstoned_file (const GValue* value) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TOMBSTONED_FILE), NULL); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return value->data[0].v_pointer; +#line 2098 "Tombstone.c" +} + + +void value_set_tombstoned_file (GValue* value, gpointer v_object) { + TombstonedFile* old; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TOMBSTONED_FILE)); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + old = value->data[0].v_pointer; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (v_object) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TOMBSTONED_FILE)); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + value->data[0].v_pointer = v_object; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstoned_file_ref (value->data[0].v_pointer); +#line 2118 "Tombstone.c" + } else { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + value->data[0].v_pointer = NULL; +#line 2122 "Tombstone.c" + } +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (old) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstoned_file_unref (old); +#line 2128 "Tombstone.c" + } +} + + +void value_take_tombstoned_file (GValue* value, gpointer v_object) { + TombstonedFile* old; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TOMBSTONED_FILE)); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + old = value->data[0].v_pointer; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (v_object) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TOMBSTONED_FILE)); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + value->data[0].v_pointer = v_object; +#line 2147 "Tombstone.c" + } else { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + value->data[0].v_pointer = NULL; +#line 2151 "Tombstone.c" + } +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (old) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstoned_file_unref (old); +#line 2157 "Tombstone.c" + } +} + + +static void tombstoned_file_class_init (TombstonedFileClass * klass) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstoned_file_parent_class = g_type_class_peek_parent (klass); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((TombstonedFileClass *) klass)->finalize = tombstoned_file_finalize; +#line 2167 "Tombstone.c" +} + + +static void tombstoned_file_instance_init (TombstonedFile * self) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->ref_count = 1; +#line 2174 "Tombstone.c" +} + + +static void tombstoned_file_finalize (TombstonedFile* obj) { + TombstonedFile * self; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TOMBSTONED_FILE, TombstonedFile); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_signal_handlers_destroy (self); +#line 163 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (self->file); +#line 165 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (self->md5); +#line 2188 "Tombstone.c" +} + + +GType tombstoned_file_get_type (void) { + static volatile gsize tombstoned_file_type_id__volatile = 0; + if (g_once_init_enter (&tombstoned_file_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_tombstoned_file_init, value_tombstoned_file_free_value, value_tombstoned_file_copy_value, value_tombstoned_file_peek_pointer, "p", value_tombstoned_file_collect_value, "p", value_tombstoned_file_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TombstonedFileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tombstoned_file_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TombstonedFile), 0, (GInstanceInitFunc) tombstoned_file_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType tombstoned_file_type_id; + tombstoned_file_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TombstonedFile", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&tombstoned_file_type_id__volatile, tombstoned_file_type_id); + } + return tombstoned_file_type_id__volatile; +} + + +gpointer tombstoned_file_ref (gpointer instance) { + TombstonedFile* self; + self = instance; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_atomic_int_inc (&self->ref_count); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + return instance; +#line 2213 "Tombstone.c" +} + + +void tombstoned_file_unref (gpointer instance) { + TombstonedFile* self; + self = instance; +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + TOMBSTONED_FILE_GET_CLASS (self)->finalize (self); +#line 162 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2226 "Tombstone.c" + } +} + + +gint tombstone_reason_serialize (TombstoneReason self) { + gint result = 0; +#line 181 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = (gint) self; +#line 181 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 2237 "Tombstone.c" +} + + +TombstoneReason tombstone_reason_unserialize (gint value) { + TombstoneReason result = 0; + gint _tmp0_ = 0; +#line 185 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = value; +#line 185 "/home/jens/Source/shotwell/src/Tombstone.vala" + switch ((TombstoneReason) _tmp0_) { +#line 185 "/home/jens/Source/shotwell/src/Tombstone.vala" + case TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE: +#line 2250 "Tombstone.c" + { +#line 187 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE; +#line 187 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 2256 "Tombstone.c" + } + default: +#line 185 "/home/jens/Source/shotwell/src/Tombstone.vala" + case TOMBSTONE_REASON_REMOVED_BY_USER: +#line 2261 "Tombstone.c" + { +#line 192 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = TOMBSTONE_REASON_REMOVED_BY_USER; +#line 192 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 2267 "Tombstone.c" + } + } +} + + +GType tombstone_reason_get_type (void) { + static volatile gsize tombstone_reason_type_id__volatile = 0; + if (g_once_init_enter (&tombstone_reason_type_id__volatile)) { + static const GEnumValue values[] = {{TOMBSTONE_REASON_REMOVED_BY_USER, "TOMBSTONE_REASON_REMOVED_BY_USER", "removed-by-user"}, {TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE, "TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE", "auto-detected-duplicate"}, {0, NULL, NULL}}; + GType tombstone_reason_type_id; + tombstone_reason_type_id = g_enum_register_static ("TombstoneReason", values); + g_once_init_leave (&tombstone_reason_type_id__volatile, tombstone_reason_type_id); + } + return tombstone_reason_type_id__volatile; +} + + +static gpointer _tombstone_row_ref0 (gpointer self) { +#line 203 "/home/jens/Source/shotwell/src/Tombstone.vala" + return self ? tombstone_row_ref (self) : NULL; +#line 2288 "Tombstone.c" +} + + +static Tombstone* tombstone_construct (GType object_type, TombstoneRow* row) { + Tombstone * self = NULL; + TombstoneRow* _tmp0_ = NULL; + TombstoneRow* _tmp1_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_TOMBSTONE_ROW (row), NULL); +#line 202 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = (Tombstone*) data_source_construct (object_type, DATA_OBJECT_INVALID_OBJECT_ID); +#line 203 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = row; +#line 203 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tombstone_row_ref0 (_tmp0_); +#line 203 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstone_row_unref0 (self->priv->row); +#line 203 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->priv->row = _tmp1_; +#line 202 "/home/jens/Source/shotwell/src/Tombstone.vala" + return self; +#line 2310 "Tombstone.c" +} + + +static Tombstone* tombstone_new (TombstoneRow* row) { +#line 202 "/home/jens/Source/shotwell/src/Tombstone.vala" + return tombstone_construct (TYPE_TOMBSTONE, row); +#line 2317 "Tombstone.c" +} + + +void tombstone_init (void) { + TombstoneSourceCollection* _tmp0_ = NULL; + TombstoneRow** rows = NULL; + gint rows_length1 = 0; + gint _rows_size_ = 0; + TombstoneRow** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GError * _inner_error_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = tombstone_source_collection_new (); +#line 207 "/home/jens/Source/shotwell/src/Tombstone.vala" + _data_collection_unref0 (tombstone_global); +#line 207 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_global = _tmp0_; +#line 209 "/home/jens/Source/shotwell/src/Tombstone.vala" + rows = NULL; +#line 209 "/home/jens/Source/shotwell/src/Tombstone.vala" + rows_length1 = 0; +#line 209 "/home/jens/Source/shotwell/src/Tombstone.vala" + _rows_size_ = rows_length1; +#line 2341 "Tombstone.c" + { + TombstoneRow** _tmp1_ = NULL; + TombstoneTable* _tmp2_ = NULL; + TombstoneTable* _tmp3_ = NULL; + gint _tmp4_ = 0; + TombstoneRow** _tmp5_ = NULL; + TombstoneRow** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp1__length1 = 0; + gint __tmp1__size_ = 0; + TombstoneRow** _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = tombstone_table_get_instance (); +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = _tmp2_; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = tombstone_table_fetch_all (_tmp3_, &_tmp4_, &_inner_error_); +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6_ = _tmp5_; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6__length1 = _tmp4_; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _database_table_unref0 (_tmp3_); +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp6_; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1__length1 = _tmp6__length1; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + __tmp1__size_ = _tmp1__length1; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 2376 "Tombstone.c" + goto __catch538_database_error; + } +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + rows = (_vala_array_free (rows, rows_length1, (GDestroyNotify) tombstone_row_unref), NULL); +#line 211 "/home/jens/Source/shotwell/src/Tombstone.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 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 2387 "Tombstone.c" + } +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp7_ = _tmp1_; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp7__length1 = _tmp1__length1; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = NULL; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1__length1 = 0; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + rows = (_vala_array_free (rows, rows_length1, (GDestroyNotify) tombstone_row_unref), NULL); +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + rows = _tmp7_; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + rows_length1 = _tmp7__length1; +#line 211 "/home/jens/Source/shotwell/src/Tombstone.vala" + _rows_size_ = rows_length1; +#line 210 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = (_vala_array_free (_tmp1_, _tmp1__length1, (GDestroyNotify) tombstone_row_unref), NULL); +#line 2407 "Tombstone.c" + } + goto __finally538; + __catch538_database_error: + { + GError* err = NULL; + GError* _tmp8_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/Tombstone.vala" + err = _inner_error_; +#line 210 "/home/jens/Source/shotwell/src/Tombstone.vala" + _inner_error_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp8_ = err; +#line 213 "/home/jens/Source/shotwell/src/Tombstone.vala" + app_window_database_error (_tmp8_); +#line 210 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_error_free0 (err); +#line 2424 "Tombstone.c" + } + __finally538: +#line 210 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 210 "/home/jens/Source/shotwell/src/Tombstone.vala" + rows = (_vala_array_free (rows, rows_length1, (GDestroyNotify) tombstone_row_unref), NULL); +#line 210 "/home/jens/Source/shotwell/src/Tombstone.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 210 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 210 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 2437 "Tombstone.c" + } +#line 216 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp9_ = rows; +#line 216 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp9__length1 = rows_length1; +#line 216 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp9_ != NULL) { +#line 2445 "Tombstone.c" + GeeArrayList* tombstones = NULL; + GeeArrayList* _tmp10_ = NULL; + TombstoneRow** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + TombstoneSourceCollection* _tmp17_ = NULL; + GeeArrayList* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeCollection* _tmp20_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp10_ = gee_array_list_new (TYPE_TOMBSTONE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 217 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstones = _tmp10_; +#line 218 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11_ = rows; +#line 218 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11__length1 = rows_length1; +#line 2462 "Tombstone.c" + { + TombstoneRow** row_collection = NULL; + gint row_collection_length1 = 0; + gint _row_collection_size_ = 0; + gint row_it = 0; +#line 218 "/home/jens/Source/shotwell/src/Tombstone.vala" + row_collection = _tmp11_; +#line 218 "/home/jens/Source/shotwell/src/Tombstone.vala" + row_collection_length1 = _tmp11__length1; +#line 218 "/home/jens/Source/shotwell/src/Tombstone.vala" + for (row_it = 0; row_it < _tmp11__length1; row_it = row_it + 1) { +#line 2474 "Tombstone.c" + TombstoneRow* _tmp12_ = NULL; + TombstoneRow* row = NULL; +#line 218 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp12_ = _tombstone_row_ref0 (row_collection[row_it]); +#line 218 "/home/jens/Source/shotwell/src/Tombstone.vala" + row = _tmp12_; +#line 2481 "Tombstone.c" + { + GeeArrayList* _tmp13_ = NULL; + TombstoneRow* _tmp14_ = NULL; + Tombstone* _tmp15_ = NULL; + Tombstone* _tmp16_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp13_ = tombstones; +#line 219 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp14_ = row; +#line 219 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp15_ = tombstone_new (_tmp14_); +#line 219 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp16_ = _tmp15_; +#line 219 "/home/jens/Source/shotwell/src/Tombstone.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp16_); +#line 219 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp16_); +#line 218 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstone_row_unref0 (row); +#line 2501 "Tombstone.c" + } + } + } +#line 221 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp17_ = tombstone_global; +#line 221 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp18_ = tombstones; +#line 221 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp19_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 221 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp20_ = _tmp19_; +#line 221 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp20_); +#line 216 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (tombstones); +#line 2517 "Tombstone.c" + } +#line 206 "/home/jens/Source/shotwell/src/Tombstone.vala" + rows = (_vala_array_free (rows, rows_length1, (GDestroyNotify) tombstone_row_unref), NULL); +#line 2521 "Tombstone.c" +} + + +void tombstone_terminate (void) { +} + + +static gpointer _backing_file_state_ref0 (gpointer self) { +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + return self ? backing_file_state_ref (self) : NULL; +#line 2532 "Tombstone.c" +} + + +void tombstone_entomb_many_sources (GeeCollection* sources, TombstoneReason reason, GError** error) { + GeeCollection* files = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeCollection* _tmp21_ = NULL; + TombstoneReason _tmp22_ = 0; + GError * _inner_error_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 230 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = gee_array_list_new (TYPE_TOMBSTONED_FILE, (GBoxedCopyFunc) tombstoned_file_ref, tombstoned_file_unref, NULL, NULL, NULL); +#line 230 "/home/jens/Source/shotwell/src/Tombstone.vala" + files = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 2548 "Tombstone.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = sources; +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _source_it = _tmp2_; +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + while (TRUE) { +#line 2561 "Tombstone.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + MediaSource* _tmp7_ = NULL; + gint _tmp8_ = 0; + BackingFileState** _tmp9_ = NULL; +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = _source_it; +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_tmp4_) { +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 2578 "Tombstone.c" + } +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = _source_it; +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + source = (MediaSource*) _tmp6_; +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp7_ = source; +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp9_ = media_source_get_backing_files_state (_tmp7_, &_tmp8_); +#line 2590 "Tombstone.c" + { + BackingFileState** state_collection = NULL; + gint state_collection_length1 = 0; + gint _state_collection_size_ = 0; + gint state_it = 0; +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + state_collection = _tmp9_; +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + state_collection_length1 = _tmp8_; +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + for (state_it = 0; state_it < _tmp8_; state_it = state_it + 1) { +#line 2602 "Tombstone.c" + BackingFileState* _tmp10_ = NULL; + BackingFileState* state = NULL; +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp10_ = _backing_file_state_ref0 (state_collection[state_it]); +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + state = _tmp10_; +#line 2609 "Tombstone.c" + { + GeeCollection* _tmp11_ = NULL; + BackingFileState* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + BackingFileState* _tmp15_ = NULL; + gint64 _tmp16_ = 0LL; + BackingFileState* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + TombstonedFile* _tmp19_ = NULL; + TombstonedFile* _tmp20_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11_ = files; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp12_ = state; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp13_ = backing_file_state_get_file (_tmp12_); +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp14_ = _tmp13_; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp15_ = state; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp16_ = _tmp15_->filesize; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp17_ = state; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp18_ = _tmp17_->md5; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp19_ = tombstoned_file_new (_tmp14_, _tmp16_, _tmp18_); +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp20_ = _tmp19_; +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + gee_collection_add (_tmp11_, _tmp20_); +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstoned_file_unref0 (_tmp20_); +#line 233 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp14_); +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + _backing_file_state_unref0 (state); +#line 2649 "Tombstone.c" + } + } +#line 232 "/home/jens/Source/shotwell/src/Tombstone.vala" + state_collection = (_vala_array_free (state_collection, state_collection_length1, (GDestroyNotify) backing_file_state_unref), NULL); +#line 2654 "Tombstone.c" + } +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (source); +#line 2658 "Tombstone.c" + } +#line 231 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_source_it); +#line 2662 "Tombstone.c" + } +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp21_ = files; +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp22_ = reason; +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_entomb_many_files (_tmp21_, _tmp22_, &_inner_error_); +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_propagate_error (error, _inner_error_); +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (files); +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 2680 "Tombstone.c" + } else { +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (files); +#line 236 "/home/jens/Source/shotwell/src/Tombstone.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 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 236 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 2690 "Tombstone.c" + } + } +#line 228 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (files); +#line 2695 "Tombstone.c" +} + + +void tombstone_entomb_many_files (GeeCollection* files, TombstoneReason reason, GError** error) { + Marker* to_destroy = NULL; + TombstoneSourceCollection* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + TombstoneSourceCollection* _tmp15_ = NULL; + Marker* _tmp16_ = NULL; + GeeArrayList* tombstones = NULL; + GeeArrayList* _tmp17_ = NULL; + TombstoneSourceCollection* _tmp41_ = NULL; + GeeArrayList* _tmp42_ = NULL; + GeeCollection* _tmp43_ = NULL; + GeeCollection* _tmp44_ = NULL; + GError * _inner_error_ = NULL; +#line 239 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (GEE_IS_COLLECTION (files)); +#line 242 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = tombstone_global; +#line 242 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 242 "/home/jens/Source/shotwell/src/Tombstone.vala" + to_destroy = _tmp1_; +#line 2720 "Tombstone.c" + { + GeeIterator* _file_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = files; +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _file_it = _tmp3_; +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + while (TRUE) { +#line 2733 "Tombstone.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + TombstonedFile* file = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Tombstone* tombstone = NULL; + TombstoneSourceCollection* _tmp8_ = NULL; + TombstonedFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + Tombstone* _tmp11_ = NULL; + Tombstone* _tmp12_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = _file_it; +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_tmp5_) { +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 2753 "Tombstone.c" + } +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6_ = _file_it; +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + file = (TombstonedFile*) _tmp7_; +#line 244 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp8_ = tombstone_global; +#line 244 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp9_ = file; +#line 244 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp10_ = _tmp9_->file; +#line 244 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11_ = tombstone_source_collection_locate (_tmp8_, _tmp10_); +#line 244 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone = _tmp11_; +#line 245 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp12_ = tombstone; +#line 245 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp12_ != NULL) { +#line 2775 "Tombstone.c" + Marker* _tmp13_ = NULL; + Tombstone* _tmp14_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp13_ = to_destroy; +#line 246 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp14_ = tombstone; +#line 246 "/home/jens/Source/shotwell/src/Tombstone.vala" + marker_mark (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 2784 "Tombstone.c" + } +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (tombstone); +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstoned_file_unref0 (file); +#line 2790 "Tombstone.c" + } +#line 243 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_file_it); +#line 2794 "Tombstone.c" + } +#line 249 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp15_ = tombstone_global; +#line 249 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp16_ = to_destroy; +#line 249 "/home/jens/Source/shotwell/src/Tombstone.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp16_, FALSE, NULL, NULL, NULL); +#line 251 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp17_ = gee_array_list_new (TYPE_TOMBSTONE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 251 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstones = _tmp17_; +#line 2806 "Tombstone.c" + { + GeeIterator* _file_it = NULL; + GeeCollection* _tmp18_ = NULL; + GeeIterator* _tmp19_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp18_ = files; +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp19_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _file_it = _tmp19_; +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + while (TRUE) { +#line 2819 "Tombstone.c" + GeeIterator* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + TombstonedFile* file = NULL; + GeeIterator* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; + TombstoneRow* _tmp24_ = NULL; + TombstoneTable* _tmp25_ = NULL; + TombstoneTable* _tmp26_ = NULL; + TombstonedFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + TombstonedFile* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + TombstonedFile* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + TombstoneReason _tmp35_ = 0; + TombstoneRow* _tmp36_ = NULL; + TombstoneRow* _tmp37_ = NULL; + GeeArrayList* _tmp38_ = NULL; + Tombstone* _tmp39_ = NULL; + Tombstone* _tmp40_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp20_ = _file_it; +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp21_ = gee_iterator_next (_tmp20_); +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (!_tmp21_) { +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + break; +#line 2850 "Tombstone.c" + } +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp22_ = _file_it; +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp23_ = gee_iterator_get (_tmp22_); +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + file = (TombstonedFile*) _tmp23_; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp25_ = tombstone_table_get_instance (); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp26_ = _tmp25_; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp27_ = file; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp28_ = _tmp27_->file; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp29_ = g_file_get_path (_tmp28_); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp30_ = _tmp29_; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp31_ = file; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp32_ = _tmp31_->filesize; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp33_ = file; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp34_ = _tmp33_->md5; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp35_ = reason; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp36_ = tombstone_table_add (_tmp26_, _tmp30_, _tmp32_, _tmp34_, _tmp35_, &_inner_error_); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp37_ = _tmp36_; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (_tmp30_); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _database_table_unref0 (_tmp26_); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp24_ = _tmp37_; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_propagate_error (error, _inner_error_); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstoned_file_unref0 (file); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_file_it); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (tombstones); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (to_destroy); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 2906 "Tombstone.c" + } else { +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstoned_file_unref0 (file); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_file_it); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (tombstones); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (to_destroy); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.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 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 2922 "Tombstone.c" + } + } +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp38_ = tombstones; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp39_ = tombstone_new (_tmp24_); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp40_ = _tmp39_; +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp40_); +#line 253 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp40_); +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstone_row_unref0 (_tmp24_); +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstoned_file_unref0 (file); +#line 2939 "Tombstone.c" + } +#line 252 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_file_it); +#line 2943 "Tombstone.c" + } +#line 257 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp41_ = tombstone_global; +#line 257 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp42_ = tombstones; +#line 257 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp43_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 257 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp44_ = _tmp43_; +#line 257 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp44_); +#line 239 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (tombstones); +#line 239 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (to_destroy); +#line 2959 "Tombstone.c" +} + + +static gchar* tombstone_real_get_typename (DataSource* base) { + Tombstone * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TOMBSTONE, Tombstone); +#line 261 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = g_strdup ("tombstone"); +#line 261 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp0_; +#line 261 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 2975 "Tombstone.c" +} + + +static gint64 tombstone_real_get_instance_id (DataSource* base) { + Tombstone * self; + gint64 result = 0LL; + TombstoneID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; +#line 264 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TOMBSTONE, Tombstone); +#line 265 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_get_tombstone_id (self, &_tmp0_); +#line 265 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp0_.id; +#line 265 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp1_; +#line 265 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 2994 "Tombstone.c" +} + + +static gchar* tombstone_real_get_name (DataObject* base) { + Tombstone * self; + gchar* result = NULL; + TombstoneRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TOMBSTONE, Tombstone); +#line 269 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = self->priv->row; +#line 269 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp0_->filepath; +#line 269 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 269 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp2_; +#line 269 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3016 "Tombstone.c" +} + + +static gchar* tombstone_real_to_string (DataObject* base) { + Tombstone * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TOMBSTONE, Tombstone); +#line 273 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 273 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp0_; +#line 273 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = g_strdup_printf ("Tombstone %s", _tmp1_); +#line 273 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = _tmp2_; +#line 273 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (_tmp1_); +#line 273 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp3_; +#line 273 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3043 "Tombstone.c" +} + + +void tombstone_get_tombstone_id (Tombstone* self, TombstoneID* result) { + TombstoneRow* _tmp0_ = NULL; + TombstoneID _tmp1_ = {0}; +#line 276 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (IS_TOMBSTONE (self)); +#line 277 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = self->priv->row; +#line 277 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp0_->id; +#line 277 "/home/jens/Source/shotwell/src/Tombstone.vala" + *result = _tmp1_; +#line 277 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 3060 "Tombstone.c" +} + + +GFile* tombstone_get_file (Tombstone* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 280 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_TOMBSTONE (self), NULL); +#line 281 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = self->priv->file; +#line 281 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp0_ == NULL) { +#line 3075 "Tombstone.c" + TombstoneRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = self->priv->row; +#line 282 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = _tmp1_->filepath; +#line 282 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 282 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (self->priv->file); +#line 282 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->priv->file = _tmp3_; +#line 3089 "Tombstone.c" + } +#line 284 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = self->priv->file; +#line 284 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 284 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp5_; +#line 284 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3099 "Tombstone.c" +} + + +gchar* tombstone_get_md5 (Tombstone* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + TombstoneRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gchar* _tmp6_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_TOMBSTONE (self), NULL); +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = self->priv->row; +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = _tmp1_->md5; +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp3_) { +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = NULL; +#line 3122 "Tombstone.c" + } else { + TombstoneRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = self->priv->row; +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = _tmp4_->md5; +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = _tmp5_; +#line 3132 "Tombstone.c" + } +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6_ = g_strdup (_tmp0_); +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp6_; +#line 288 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3140 "Tombstone.c" +} + + +TombstoneReason tombstone_get_reason (Tombstone* self) { + TombstoneReason result = 0; + TombstoneRow* _tmp0_ = NULL; + TombstoneReason _tmp1_ = 0; +#line 291 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_TOMBSTONE (self), 0); +#line 292 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = self->priv->row; +#line 292 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp0_->reason; +#line 292 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = _tmp1_; +#line 292 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3158 "Tombstone.c" +} + + +void tombstone_move (Tombstone* self, GFile* file) { + gchar* old_filepath = NULL; + TombstoneRow* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + TombstoneRow* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; + Alteration* _tmp17_ = NULL; + GError * _inner_error_ = NULL; +#line 295 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (IS_TOMBSTONE (self)); +#line 295 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 3179 "Tombstone.c" + { + TombstoneTable* _tmp0_ = NULL; + TombstoneTable* _tmp1_ = NULL; + TombstoneRow* _tmp2_ = NULL; + TombstoneID _tmp3_ = {0}; + GFile* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = tombstone_table_get_instance (); +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp0_; +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = self->priv->row; +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = _tmp2_->id; +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = file; +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = g_file_get_path (_tmp4_); +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6_ = _tmp5_; +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_table_update_file (_tmp1_, &_tmp3_, _tmp6_, &_inner_error_); +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (_tmp6_); +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + _database_table_unref0 (_tmp1_); +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3212 "Tombstone.c" + goto __catch539_database_error; + } +#line 297 "/home/jens/Source/shotwell/src/Tombstone.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 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 297 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 3221 "Tombstone.c" + } + } + goto __finally539; + __catch539_database_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; +#line 296 "/home/jens/Source/shotwell/src/Tombstone.vala" + err = _inner_error_; +#line 296 "/home/jens/Source/shotwell/src/Tombstone.vala" + _inner_error_ = NULL; +#line 299 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp7_ = err; +#line 299 "/home/jens/Source/shotwell/src/Tombstone.vala" + app_window_database_error (_tmp7_); +#line 296 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_error_free0 (err); +#line 3239 "Tombstone.c" + } + __finally539: +#line 296 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 296 "/home/jens/Source/shotwell/src/Tombstone.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 296 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 296 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 3250 "Tombstone.c" + } +#line 302 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp8_ = self->priv->row; +#line 302 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp9_ = _tmp8_->filepath; +#line 302 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 302 "/home/jens/Source/shotwell/src/Tombstone.vala" + old_filepath = _tmp10_; +#line 303 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11_ = self->priv->row; +#line 303 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp12_ = file; +#line 303 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp13_ = g_file_get_path (_tmp12_); +#line 303 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (_tmp11_->filepath); +#line 303 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11_->filepath = _tmp13_; +#line 304 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp14_ = file; +#line 304 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 304 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (self->priv->file); +#line 304 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->priv->file = _tmp15_; +#line 306 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp16_ = alteration_new ("file", old_filepath); +#line 306 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp17_ = _tmp16_; +#line 306 "/home/jens/Source/shotwell/src/Tombstone.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp17_); +#line 306 "/home/jens/Source/shotwell/src/Tombstone.vala" + _alteration_unref0 (_tmp17_); +#line 295 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (old_filepath); +#line 3288 "Tombstone.c" +} + + +gboolean tombstone_matches (Tombstone* self, GFile* file, gint64 filesize, const gchar* md5) { + gboolean result = FALSE; + TombstoneRow* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + gint64 _tmp2_ = 0LL; + const gchar* _tmp3_ = NULL; + TombstoneRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gchar* this_md5 = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gchar* other_md5 = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; +#line 309 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (IS_TOMBSTONE (self), FALSE); +#line 309 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 310 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = self->priv->row; +#line 310 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp0_->filesize; +#line 310 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = filesize; +#line 310 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp1_ != _tmp2_) { +#line 311 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = FALSE; +#line 311 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3331 "Tombstone.c" + } +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = self->priv->row; +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp5_ = _tmp4_->md5; +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp6_ = is_string_empty (_tmp5_); +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp6_) { +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = NULL; +#line 3343 "Tombstone.c" + } else { + TombstoneRow* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp7_ = self->priv->row; +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp8_ = _tmp7_->md5; +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = _tmp8_; +#line 3353 "Tombstone.c" + } +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp9_ = g_strdup (_tmp3_); +#line 314 "/home/jens/Source/shotwell/src/Tombstone.vala" + this_md5 = _tmp9_; +#line 315 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp11_ = md5; +#line 315 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp12_ = is_string_empty (_tmp11_); +#line 315 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp12_) { +#line 315 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp10_ = NULL; +#line 3367 "Tombstone.c" + } else { + const gchar* _tmp13_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp13_ = md5; +#line 315 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp10_ = _tmp13_; +#line 3374 "Tombstone.c" + } +#line 315 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp14_ = g_strdup (_tmp10_); +#line 315 "/home/jens/Source/shotwell/src/Tombstone.vala" + other_md5 = _tmp14_; +#line 317 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp15_ = this_md5; +#line 317 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp16_ = other_md5; +#line 317 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (g_strcmp0 (_tmp15_, _tmp16_) != 0) { +#line 318 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = FALSE; +#line 318 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (other_md5); +#line 318 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (this_md5); +#line 318 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3394 "Tombstone.c" + } +#line 320 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp17_ = tombstone_get_file (self); +#line 320 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp18_ = _tmp17_; +#line 320 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp19_ = file; +#line 320 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp20_ = g_file_equal (_tmp18_, _tmp19_); +#line 320 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp21_ = !_tmp20_; +#line 320 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (_tmp18_); +#line 320 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_tmp21_) { +#line 321 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = FALSE; +#line 321 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (other_md5); +#line 321 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (this_md5); +#line 321 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3418 "Tombstone.c" + } +#line 323 "/home/jens/Source/shotwell/src/Tombstone.vala" + result = TRUE; +#line 323 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (other_md5); +#line 323 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_free0 (this_md5); +#line 323 "/home/jens/Source/shotwell/src/Tombstone.vala" + return result; +#line 3428 "Tombstone.c" +} + + +static void tombstone_real_destroy (DataSource* base) { + Tombstone * self; + GError * _inner_error_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TOMBSTONE, Tombstone); +#line 3437 "Tombstone.c" + { + TombstoneTable* _tmp0_ = NULL; + TombstoneTable* _tmp1_ = NULL; + TombstoneRow* _tmp2_ = NULL; + TombstoneID _tmp3_ = {0}; +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp0_ = tombstone_table_get_instance (); +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp1_ = _tmp0_; +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp2_ = self->priv->row; +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp3_ = _tmp2_->id; +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_table_remove (_tmp1_, &_tmp3_, &_inner_error_); +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + _database_table_unref0 (_tmp1_); +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 3459 "Tombstone.c" + goto __catch540_database_error; + } +#line 328 "/home/jens/Source/shotwell/src/Tombstone.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 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 328 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 3468 "Tombstone.c" + } + } + goto __finally540; + __catch540_database_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 327 "/home/jens/Source/shotwell/src/Tombstone.vala" + err = _inner_error_; +#line 327 "/home/jens/Source/shotwell/src/Tombstone.vala" + _inner_error_ = NULL; +#line 330 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tmp4_ = err; +#line 330 "/home/jens/Source/shotwell/src/Tombstone.vala" + app_window_database_error (_tmp4_); +#line 327 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_error_free0 (err); +#line 3486 "Tombstone.c" + } + __finally540: +#line 327 "/home/jens/Source/shotwell/src/Tombstone.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 327 "/home/jens/Source/shotwell/src/Tombstone.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 327 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_clear_error (&_inner_error_); +#line 327 "/home/jens/Source/shotwell/src/Tombstone.vala" + return; +#line 3497 "Tombstone.c" + } +#line 333 "/home/jens/Source/shotwell/src/Tombstone.vala" + DATA_SOURCE_CLASS (tombstone_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 3501 "Tombstone.c" +} + + +static void tombstone_class_init (TombstoneClass * klass) { +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + tombstone_parent_class = g_type_class_peek_parent (klass); +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + g_type_class_add_private (klass, sizeof (TombstonePrivate)); +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((DataSourceClass *) klass)->get_typename = tombstone_real_get_typename; +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((DataSourceClass *) klass)->get_instance_id = tombstone_real_get_instance_id; +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((DataObjectClass *) klass)->get_name = tombstone_real_get_name; +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((DataObjectClass *) klass)->to_string = tombstone_real_to_string; +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + ((DataSourceClass *) klass)->destroy = tombstone_real_destroy; +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + G_OBJECT_CLASS (klass)->finalize = tombstone_finalize; +#line 3522 "Tombstone.c" +} + + +static void tombstone_instance_init (Tombstone * self) { +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->priv = TOMBSTONE_GET_PRIVATE (self); +#line 200 "/home/jens/Source/shotwell/src/Tombstone.vala" + self->priv->file = NULL; +#line 3531 "Tombstone.c" +} + + +static void tombstone_finalize (GObject* obj) { + Tombstone * self; +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TOMBSTONE, Tombstone); +#line 199 "/home/jens/Source/shotwell/src/Tombstone.vala" + _tombstone_row_unref0 (self->priv->row); +#line 200 "/home/jens/Source/shotwell/src/Tombstone.vala" + _g_object_unref0 (self->priv->file); +#line 174 "/home/jens/Source/shotwell/src/Tombstone.vala" + G_OBJECT_CLASS (tombstone_parent_class)->finalize (obj); +#line 3545 "Tombstone.c" +} + + +GType tombstone_get_type (void) { + static volatile gsize tombstone_type_id__volatile = 0; + if (g_once_init_enter (&tombstone_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TombstoneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tombstone_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Tombstone), 0, (GInstanceInitFunc) tombstone_instance_init, NULL }; + GType tombstone_type_id; + tombstone_type_id = g_type_register_static (TYPE_DATA_SOURCE, "Tombstone", &g_define_type_info, 0); + g_once_init_leave (&tombstone_type_id__volatile, tombstone_type_id); + } + return tombstone_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/UnityProgressBar.c b/src/UnityProgressBar.c new file mode 100644 index 0000000..c32a00a --- /dev/null +++ b/src/UnityProgressBar.c @@ -0,0 +1,18 @@ +/* UnityProgressBar.c generated by valac 0.32.1, the Vala compiler + * generated from UnityProgressBar.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include + + + + + + + diff --git a/src/Upgrades.c b/src/Upgrades.c new file mode 100644 index 0000000..4571390 --- /dev/null +++ b/src/Upgrades.c @@ -0,0 +1,1627 @@ +/* Upgrades.c generated by valac 0.32.1, the Vala compiler + * generated from Upgrades.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. + */ +/* Class for aggregating one-off "upgrade" tasks that occur at startup, such as*/ +/* moving or deleting files. This occurs after the UI is shown, so it's not appropriate*/ +/* for database updates and such.*/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_UPGRADES (upgrades_get_type ()) +#define UPGRADES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UPGRADES, Upgrades)) +#define UPGRADES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UPGRADES, UpgradesClass)) +#define IS_UPGRADES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UPGRADES)) +#define IS_UPGRADES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UPGRADES)) +#define UPGRADES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UPGRADES, UpgradesClass)) + +typedef struct _Upgrades Upgrades; +typedef struct _UpgradesClass UpgradesClass; +typedef struct _UpgradesPrivate UpgradesPrivate; + +#define TYPE_UPGRADE_TASK (upgrade_task_get_type ()) +#define UPGRADE_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UPGRADE_TASK, UpgradeTask)) +#define IS_UPGRADE_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UPGRADE_TASK)) +#define UPGRADE_TASK_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_UPGRADE_TASK, UpgradeTaskIface)) + +typedef struct _UpgradeTask UpgradeTask; +typedef struct _UpgradeTaskIface UpgradeTaskIface; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_MIMICS_REMOVAL_TASK (mimics_removal_task_get_type ()) +#define MIMICS_REMOVAL_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MIMICS_REMOVAL_TASK, MimicsRemovalTask)) +#define MIMICS_REMOVAL_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MIMICS_REMOVAL_TASK, MimicsRemovalTaskClass)) +#define IS_MIMICS_REMOVAL_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MIMICS_REMOVAL_TASK)) +#define IS_MIMICS_REMOVAL_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MIMICS_REMOVAL_TASK)) +#define MIMICS_REMOVAL_TASK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MIMICS_REMOVAL_TASK, MimicsRemovalTaskClass)) + +typedef struct _MimicsRemovalTask MimicsRemovalTask; +typedef struct _MimicsRemovalTaskClass MimicsRemovalTaskClass; + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) + +#define TYPE_FIXUP_RAW_THUMBNAILS_TASK (fixup_raw_thumbnails_task_get_type ()) +#define FIXUP_RAW_THUMBNAILS_TASK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FIXUP_RAW_THUMBNAILS_TASK, FixupRawThumbnailsTask)) +#define FIXUP_RAW_THUMBNAILS_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FIXUP_RAW_THUMBNAILS_TASK, FixupRawThumbnailsTaskClass)) +#define IS_FIXUP_RAW_THUMBNAILS_TASK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FIXUP_RAW_THUMBNAILS_TASK)) +#define IS_FIXUP_RAW_THUMBNAILS_TASK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FIXUP_RAW_THUMBNAILS_TASK)) +#define FIXUP_RAW_THUMBNAILS_TASK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FIXUP_RAW_THUMBNAILS_TASK, FixupRawThumbnailsTaskClass)) + +typedef struct _FixupRawThumbnailsTask FixupRawThumbnailsTask; +typedef struct _FixupRawThumbnailsTaskClass FixupRawThumbnailsTaskClass; +#define _upgrades_unref0(var) ((var == NULL) ? NULL : (var = (upgrades_unref (var), NULL))) +typedef struct _ParamSpecUpgrades ParamSpecUpgrades; +typedef struct _MimicsRemovalTaskPrivate MimicsRemovalTaskPrivate; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _FixupRawThumbnailsTaskPrivate FixupRawThumbnailsTaskPrivate; + +#define TYPE_PHOTO_ROW (photo_row_get_type ()) +#define PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_ROW, PhotoRow)) +#define PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_ROW, PhotoRowClass)) +#define IS_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_ROW)) +#define IS_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_ROW)) +#define PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_ROW, PhotoRowClass)) + +typedef struct _PhotoRow PhotoRow; +typedef struct _PhotoRowClass PhotoRowClass; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_PHOTO_TABLE (photo_table_get_type ()) +#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable)) +#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass)) +#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE)) +#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE)) +#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass)) + +typedef struct _PhotoTable PhotoTable; +typedef struct _PhotoTableClass PhotoTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +typedef struct _PhotoRowPrivate PhotoRowPrivate; + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ()) +#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap)) +#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) +#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP)) +#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP)) +#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) + +typedef struct _KeyValueMap KeyValueMap; +typedef struct _KeyValueMapClass KeyValueMapClass; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +#define _photo_row_unref0(var) ((var == NULL) ? NULL : (var = (photo_row_unref (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_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_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_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; +#define _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 _Upgrades { + GTypeInstance parent_instance; + volatile int ref_count; + UpgradesPrivate * priv; +}; + +struct _UpgradesClass { + GTypeClass parent_class; + void (*finalize) (Upgrades *self); +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _UpgradeTaskIface { + GTypeInterface parent_iface; + guint64 (*get_step_count) (UpgradeTask* self); + void (*execute) (UpgradeTask* self, ProgressMonitor monitor, void* monitor_target); +}; + +struct _UpgradesPrivate { + guint64 total_steps; + GeeLinkedList* task_list; +}; + +struct _ParamSpecUpgrades { + GParamSpec parent_instance; +}; + +struct _MimicsRemovalTask { + GObject parent_instance; + MimicsRemovalTaskPrivate * priv; +}; + +struct _MimicsRemovalTaskClass { + GObjectClass parent_class; +}; + +struct _MimicsRemovalTaskPrivate { + GFile* mimic_dir; + guint64 num_mimics; +}; + +struct _FixupRawThumbnailsTask { + GObject parent_instance; + FixupRawThumbnailsTaskPrivate * priv; +}; + +struct _FixupRawThumbnailsTaskClass { + GObjectClass parent_class; +}; + +struct _PhotoID { + gint64 id; +}; + +struct _ImportID { + gint64 id; +}; + +struct _EventID { + gint64 id; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +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 _BackingPhotoID { + gint64 id; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _PhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoRowPrivate * priv; + PhotoID photo_id; + BackingPhotoRow* master; + time_t exposure_time; + ImportID import_id; + EventID event_id; + Orientation orientation; + GeeHashMap* transformations; + gchar* md5; + gchar* thumbnail_md5; + gchar* exif_md5; + time_t time_created; + guint64 flags; + Rating rating; + gchar* title; + gchar* comment; + gchar* backlinks; + time_t time_reimported; + BackingPhotoID editable_id; + gboolean metadata_dirty; + RawDeveloper developer; + BackingPhotoID* development_ids; + gint development_ids_length1; +}; + +struct _PhotoRowClass { + GTypeClass parent_class; + void (*finalize) (PhotoRow *self); +}; + +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 _Dimensions { + gint width; + gint height; +}; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + + +static gpointer upgrades_parent_class = NULL; +static Upgrades* upgrades_instance; +static Upgrades* upgrades_instance = NULL; +static gpointer mimics_removal_task_parent_class = NULL; +static UpgradeTaskIface* mimics_removal_task_upgrade_task_parent_iface = NULL; +static gpointer fixup_raw_thumbnails_task_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +static UpgradeTaskIface* fixup_raw_thumbnails_task_upgrade_task_parent_iface = NULL; + +gpointer upgrades_ref (gpointer instance); +void upgrades_unref (gpointer instance); +GParamSpec* param_spec_upgrades (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_upgrades (GValue* value, gpointer v_object); +void value_take_upgrades (GValue* value, gpointer v_object); +gpointer value_get_upgrades (const GValue* value); +GType upgrades_get_type (void) G_GNUC_CONST; +GType upgrade_task_get_type (void) G_GNUC_CONST; +#define UPGRADES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_UPGRADES, UpgradesPrivate)) +enum { + UPGRADES_DUMMY_PROPERTY +}; +static Upgrades* upgrades_new (void); +static Upgrades* upgrades_construct (GType object_type); +static void upgrades_add (Upgrades* self, UpgradeTask* task); +MimicsRemovalTask* mimics_removal_task_new (void); +MimicsRemovalTask* mimics_removal_task_construct (GType object_type); +GType mimics_removal_task_get_type (void) G_GNUC_CONST; +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +gboolean application_get_raw_thumbs_fix_required (Application* self); +FixupRawThumbnailsTask* fixup_raw_thumbnails_task_new (void); +FixupRawThumbnailsTask* fixup_raw_thumbnails_task_construct (GType object_type); +GType fixup_raw_thumbnails_task_get_type (void) G_GNUC_CONST; +void upgrades_init (void); +Upgrades* upgrades_get_instance (void); +guint64 upgrades_get_step_count (Upgrades* self); +void upgrades_execute (Upgrades* self, ProgressMonitor monitor, void* monitor_target); +void upgrade_task_execute (UpgradeTask* self, ProgressMonitor monitor, void* monitor_target); +guint64 upgrade_task_get_step_count (UpgradeTask* self); +static void upgrades_finalize (Upgrades* obj); +#define MIMICS_REMOVAL_TASK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_MIMICS_REMOVAL_TASK, MimicsRemovalTaskPrivate)) +enum { + MIMICS_REMOVAL_TASK_DUMMY_PROPERTY +}; +GFile* app_dirs_get_data_dir (void); +static guint64 mimics_removal_task_real_get_step_count (UpgradeTask* base); +guint64 count_files_in_directory (GFile* dir, GError** error); +static void mimics_removal_task_real_execute (UpgradeTask* base, ProgressMonitor monitor, void* monitor_target); +void delete_all_files (GFile* dir, GeeSet* exceptions, ProgressMonitor monitor, void* monitor_target, guint64 file_count, GCancellable* cancellable, GError** error); +static void mimics_removal_task_finalize (GObject* obj); +enum { + FIXUP_RAW_THUMBNAILS_TASK_DUMMY_PROPERTY +}; +static guint64 fixup_raw_thumbnails_task_real_get_step_count (UpgradeTask* base); +gpointer photo_row_ref (gpointer instance); +void photo_row_unref (gpointer instance); +GParamSpec* param_spec_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_row (GValue* value, gpointer v_object); +void value_take_photo_row (GValue* value, gpointer v_object); +gpointer value_get_photo_row (const GValue* value); +GType photo_row_get_type (void) G_GNUC_CONST; +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType photo_table_get_type (void) G_GNUC_CONST; +PhotoTable* photo_table_get_instance (void); +GeeArrayList* photo_table_get_all (PhotoTable* self); +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +GType orientation_get_type (void) G_GNUC_CONST; +gpointer key_value_map_ref (gpointer instance); +void key_value_map_unref (gpointer instance); +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_key_value_map (GValue* value, gpointer v_object); +void value_take_key_value_map (GValue* value, gpointer v_object); +gpointer value_get_key_value_map (const GValue* value); +GType key_value_map_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +static void fixup_raw_thumbnails_task_real_execute (UpgradeTask* base, ProgressMonitor monitor, void* monitor_target); +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; +void thumbnail_cache_remove (ThumbnailSource* source); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_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 library_photo_get_type (void) G_GNUC_CONST; +LibraryPhoto* library_photo_source_collection_fetch (LibraryPhotoSourceCollection* self, PhotoID* photo_id); + + +static Upgrades* upgrades_construct (GType object_type) { + Upgrades* self = NULL; + MimicsRemovalTask* _tmp0_ = NULL; + MimicsRemovalTask* _tmp1_ = NULL; + Application* _tmp2_ = NULL; + Application* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 15 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = (Upgrades*) g_type_create_instance (object_type); +#line 17 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = mimics_removal_task_new (); +#line 17 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = _tmp0_; +#line 17 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrades_add (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_UPGRADE_TASK, UpgradeTask)); +#line 17 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (_tmp1_); +#line 19 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp2_ = application_get_instance (); +#line 19 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp3_ = _tmp2_; +#line 19 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp4_ = application_get_raw_thumbs_fix_required (_tmp3_); +#line 19 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp5_ = _tmp4_; +#line 19 "/home/jens/Source/shotwell/src/Upgrades.vala" + _application_unref0 (_tmp3_); +#line 19 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (_tmp5_) { +#line 606 "Upgrades.c" + FixupRawThumbnailsTask* _tmp6_ = NULL; + FixupRawThumbnailsTask* _tmp7_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp6_ = fixup_raw_thumbnails_task_new (); +#line 20 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp7_ = _tmp6_; +#line 20 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrades_add (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_UPGRADE_TASK, UpgradeTask)); +#line 20 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (_tmp7_); +#line 617 "Upgrades.c" + } +#line 15 "/home/jens/Source/shotwell/src/Upgrades.vala" + return self; +#line 621 "Upgrades.c" +} + + +static Upgrades* upgrades_new (void) { +#line 15 "/home/jens/Source/shotwell/src/Upgrades.vala" + return upgrades_construct (TYPE_UPGRADES); +#line 628 "Upgrades.c" +} + + +void upgrades_init (void) { + Upgrades* _tmp0_ = NULL; + Upgrades* _tmp1_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = upgrades_instance; +#line 25 "/home/jens/Source/shotwell/src/Upgrades.vala" + _vala_assert (_tmp0_ == NULL, "instance == null"); +#line 26 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = upgrades_new (); +#line 26 "/home/jens/Source/shotwell/src/Upgrades.vala" + _upgrades_unref0 (upgrades_instance); +#line 26 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrades_instance = _tmp1_; +#line 645 "Upgrades.c" +} + + +static gpointer _upgrades_ref0 (gpointer self) { +#line 30 "/home/jens/Source/shotwell/src/Upgrades.vala" + return self ? upgrades_ref (self) : NULL; +#line 652 "Upgrades.c" +} + + +Upgrades* upgrades_get_instance (void) { + Upgrades* result = NULL; + Upgrades* _tmp0_ = NULL; + Upgrades* _tmp1_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = upgrades_instance; +#line 30 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = _upgrades_ref0 (_tmp0_); +#line 30 "/home/jens/Source/shotwell/src/Upgrades.vala" + result = _tmp1_; +#line 30 "/home/jens/Source/shotwell/src/Upgrades.vala" + return result; +#line 668 "Upgrades.c" +} + + +guint64 upgrades_get_step_count (Upgrades* self) { + guint64 result = 0ULL; + guint64 _tmp0_ = 0ULL; +#line 34 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_val_if_fail (IS_UPGRADES (self), 0ULL); +#line 35 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = self->priv->total_steps; +#line 35 "/home/jens/Source/shotwell/src/Upgrades.vala" + result = _tmp0_; +#line 35 "/home/jens/Source/shotwell/src/Upgrades.vala" + return result; +#line 683 "Upgrades.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + return self ? g_object_ref (self) : NULL; +#line 690 "Upgrades.c" +} + + +void upgrades_execute (Upgrades* self, ProgressMonitor monitor, void* monitor_target) { +#line 39 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (IS_UPGRADES (self)); +#line 697 "Upgrades.c" + { + GeeLinkedList* _task_list = NULL; + GeeLinkedList* _tmp0_ = NULL; + GeeLinkedList* _tmp1_ = NULL; + gint _task_size = 0; + GeeLinkedList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _task_index = 0; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = self->priv->task_list; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _task_list = _tmp1_; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp2_ = _task_list; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp4_ = _tmp3_; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _task_size = _tmp4_; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _task_index = -1; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + while (TRUE) { +#line 725 "Upgrades.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + UpgradeTask* task = NULL; + GeeLinkedList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + UpgradeTask* _tmp11_ = NULL; + ProgressMonitor _tmp12_ = NULL; + void* _tmp12__target = NULL; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp5_ = _task_index; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _task_index = _tmp5_ + 1; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp6_ = _task_index; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp7_ = _task_size; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (!(_tmp6_ < _tmp7_)) { +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + break; +#line 748 "Upgrades.c" + } +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp8_ = _task_list; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp9_ = _task_index; +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp10_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp9_); +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + task = (UpgradeTask*) _tmp10_; +#line 41 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp11_ = task; +#line 41 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp12_ = monitor; +#line 41 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp12__target = monitor_target; +#line 41 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrade_task_execute (_tmp11_, _tmp12_, _tmp12__target); +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (task); +#line 768 "Upgrades.c" + } +#line 40 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (_task_list); +#line 772 "Upgrades.c" + } +} + + +static void upgrades_add (Upgrades* self, UpgradeTask* task) { + guint64 _tmp0_ = 0ULL; + UpgradeTask* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + GeeLinkedList* _tmp3_ = NULL; + UpgradeTask* _tmp4_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (IS_UPGRADES (self)); +#line 44 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (IS_UPGRADE_TASK (task)); +#line 45 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = self->priv->total_steps; +#line 45 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = task; +#line 45 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp2_ = upgrade_task_get_step_count (_tmp1_); +#line 45 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->priv->total_steps = _tmp0_ + _tmp2_; +#line 46 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp3_ = self->priv->task_list; +#line 46 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp4_ = task; +#line 46 "/home/jens/Source/shotwell/src/Upgrades.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 801 "Upgrades.c" +} + + +static void value_upgrades_init (GValue* value) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + value->data[0].v_pointer = NULL; +#line 808 "Upgrades.c" +} + + +static void value_upgrades_free_value (GValue* value) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (value->data[0].v_pointer) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrades_unref (value->data[0].v_pointer); +#line 817 "Upgrades.c" + } +} + + +static void value_upgrades_copy_value (const GValue* src_value, GValue* dest_value) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (src_value->data[0].v_pointer) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + dest_value->data[0].v_pointer = upgrades_ref (src_value->data[0].v_pointer); +#line 827 "Upgrades.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + dest_value->data[0].v_pointer = NULL; +#line 831 "Upgrades.c" + } +} + + +static gpointer value_upgrades_peek_pointer (const GValue* value) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return value->data[0].v_pointer; +#line 839 "Upgrades.c" +} + + +static gchar* value_upgrades_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (collect_values[0].v_pointer) { +#line 846 "Upgrades.c" + Upgrades* object; + object = collect_values[0].v_pointer; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (object->parent_instance.g_class == NULL) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 853 "Upgrades.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 857 "Upgrades.c" + } +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + value->data[0].v_pointer = upgrades_ref (object); +#line 861 "Upgrades.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + value->data[0].v_pointer = NULL; +#line 865 "Upgrades.c" + } +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return NULL; +#line 869 "Upgrades.c" +} + + +static gchar* value_upgrades_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Upgrades** object_p; + object_p = collect_values[0].v_pointer; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (!object_p) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 880 "Upgrades.c" + } +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (!value->data[0].v_pointer) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + *object_p = NULL; +#line 886 "Upgrades.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + *object_p = value->data[0].v_pointer; +#line 890 "Upgrades.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + *object_p = upgrades_ref (value->data[0].v_pointer); +#line 894 "Upgrades.c" + } +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return NULL; +#line 898 "Upgrades.c" +} + + +GParamSpec* param_spec_upgrades (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecUpgrades* spec; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_UPGRADES), NULL); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return G_PARAM_SPEC (spec); +#line 912 "Upgrades.c" +} + + +gpointer value_get_upgrades (const GValue* value) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_UPGRADES), NULL); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return value->data[0].v_pointer; +#line 921 "Upgrades.c" +} + + +void value_set_upgrades (GValue* value, gpointer v_object) { + Upgrades* old; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_UPGRADES)); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + old = value->data[0].v_pointer; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (v_object) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_UPGRADES)); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + value->data[0].v_pointer = v_object; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrades_ref (value->data[0].v_pointer); +#line 941 "Upgrades.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + value->data[0].v_pointer = NULL; +#line 945 "Upgrades.c" + } +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (old) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrades_unref (old); +#line 951 "Upgrades.c" + } +} + + +void value_take_upgrades (GValue* value, gpointer v_object) { + Upgrades* old; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_UPGRADES)); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + old = value->data[0].v_pointer; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (v_object) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_UPGRADES)); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + value->data[0].v_pointer = v_object; +#line 970 "Upgrades.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + value->data[0].v_pointer = NULL; +#line 974 "Upgrades.c" + } +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (old) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrades_unref (old); +#line 980 "Upgrades.c" + } +} + + +static void upgrades_class_init (UpgradesClass * klass) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + upgrades_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + ((UpgradesClass *) klass)->finalize = upgrades_finalize; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_type_class_add_private (klass, sizeof (UpgradesPrivate)); +#line 992 "Upgrades.c" +} + + +static void upgrades_instance_init (Upgrades * self) { + GeeLinkedList* _tmp0_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->priv = UPGRADES_GET_PRIVATE (self); +#line 12 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->priv->total_steps = (guint64) 0; +#line 13 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = gee_linked_list_new (TYPE_UPGRADE_TASK, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->priv->task_list = _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->ref_count = 1; +#line 1008 "Upgrades.c" +} + + +static void upgrades_finalize (Upgrades* obj) { + Upgrades * self; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_UPGRADES, Upgrades); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_signal_handlers_destroy (self); +#line 13 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (self->priv->task_list); +#line 1020 "Upgrades.c" +} + + +GType upgrades_get_type (void) { + static volatile gsize upgrades_type_id__volatile = 0; + if (g_once_init_enter (&upgrades_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_upgrades_init, value_upgrades_free_value, value_upgrades_copy_value, value_upgrades_peek_pointer, "p", value_upgrades_collect_value, "p", value_upgrades_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (UpgradesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) upgrades_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Upgrades), 0, (GInstanceInitFunc) upgrades_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType upgrades_type_id; + upgrades_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Upgrades", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&upgrades_type_id__volatile, upgrades_type_id); + } + return upgrades_type_id__volatile; +} + + +gpointer upgrades_ref (gpointer instance) { + Upgrades* self; + self = instance; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_atomic_int_inc (&self->ref_count); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + return instance; +#line 1045 "Upgrades.c" +} + + +void upgrades_unref (gpointer instance) { + Upgrades* self; + self = instance; +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + UPGRADES_GET_CLASS (self)->finalize (self); +#line 10 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1058 "Upgrades.c" + } +} + + +guint64 upgrade_task_get_step_count (UpgradeTask* self) { +#line 55 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_val_if_fail (IS_UPGRADE_TASK (self), 0ULL); +#line 55 "/home/jens/Source/shotwell/src/Upgrades.vala" + return UPGRADE_TASK_GET_INTERFACE (self)->get_step_count (self); +#line 1068 "Upgrades.c" +} + + +void upgrade_task_execute (UpgradeTask* self, ProgressMonitor monitor, void* monitor_target) { +#line 60 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_return_if_fail (IS_UPGRADE_TASK (self)); +#line 60 "/home/jens/Source/shotwell/src/Upgrades.vala" + UPGRADE_TASK_GET_INTERFACE (self)->execute (self, monitor, monitor_target); +#line 1077 "Upgrades.c" +} + + +static void upgrade_task_base_init (UpgradeTaskIface * iface) { +#line 53 "/home/jens/Source/shotwell/src/Upgrades.vala" + static gboolean initialized = FALSE; +#line 53 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (!initialized) { +#line 53 "/home/jens/Source/shotwell/src/Upgrades.vala" + initialized = TRUE; +#line 1088 "Upgrades.c" + } +} + + +GType upgrade_task_get_type (void) { + static volatile gsize upgrade_task_type_id__volatile = 0; + if (g_once_init_enter (&upgrade_task_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (UpgradeTaskIface), (GBaseInitFunc) upgrade_task_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType upgrade_task_type_id; + upgrade_task_type_id = g_type_register_static (G_TYPE_INTERFACE, "UpgradeTask", &g_define_type_info, 0); + g_type_interface_add_prerequisite (upgrade_task_type_id, G_TYPE_OBJECT); + g_once_init_leave (&upgrade_task_type_id__volatile, upgrade_task_type_id); + } + return upgrade_task_type_id__volatile; +} + + +static guint64 mimics_removal_task_real_get_step_count (UpgradeTask* base) { + MimicsRemovalTask * self; + guint64 result = 0ULL; + guint64 _tmp5_ = 0ULL; + GError * _inner_error_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MIMICS_REMOVAL_TASK, MimicsRemovalTask); +#line 1113 "Upgrades.c" + { + guint64 _tmp0_ = 0ULL; + GFile* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; +#line 73 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = self->priv->mimic_dir; +#line 73 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp2_ = count_files_in_directory (_tmp1_, &_inner_error_); +#line 73 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = _tmp2_; +#line 73 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1126 "Upgrades.c" + goto __catch581_g_error; + } +#line 73 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->priv->num_mimics = _tmp0_; +#line 1131 "Upgrades.c" + } + goto __finally581; + __catch581_g_error: + { + GError* e = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/Upgrades.vala" + e = _inner_error_; +#line 72 "/home/jens/Source/shotwell/src/Upgrades.vala" + _inner_error_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp3_ = e; +#line 75 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp4_ = _tmp3_->message; +#line 75 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_debug ("Upgrades.vala:75: Error on deleting mimics: %s", _tmp4_); +#line 72 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_error_free0 (e); +#line 1151 "Upgrades.c" + } + __finally581: +#line 72 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 72 "/home/jens/Source/shotwell/src/Upgrades.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 72 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_clear_error (&_inner_error_); +#line 72 "/home/jens/Source/shotwell/src/Upgrades.vala" + return 0ULL; +#line 1162 "Upgrades.c" + } +#line 77 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp5_ = self->priv->num_mimics; +#line 77 "/home/jens/Source/shotwell/src/Upgrades.vala" + result = _tmp5_; +#line 77 "/home/jens/Source/shotwell/src/Upgrades.vala" + return result; +#line 1170 "Upgrades.c" +} + + +static void mimics_removal_task_real_execute (UpgradeTask* base, ProgressMonitor monitor, void* monitor_target) { + MimicsRemovalTask * self; + GError * _inner_error_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_MIMICS_REMOVAL_TASK, MimicsRemovalTask); +#line 1179 "Upgrades.c" + { + GFile* _tmp0_ = NULL; + ProgressMonitor _tmp1_ = NULL; + void* _tmp1__target = NULL; + guint64 _tmp2_ = 0ULL; + GFile* _tmp3_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = self->priv->mimic_dir; +#line 82 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = monitor; +#line 82 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1__target = monitor_target; +#line 82 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp2_ = self->priv->num_mimics; +#line 82 "/home/jens/Source/shotwell/src/Upgrades.vala" + delete_all_files (_tmp0_, NULL, _tmp1_, _tmp1__target, _tmp2_, NULL, &_inner_error_); +#line 82 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1198 "Upgrades.c" + goto __catch582_g_error; + } +#line 83 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp3_ = self->priv->mimic_dir; +#line 83 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_file_delete (_tmp3_, NULL, &_inner_error_); +#line 83 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1207 "Upgrades.c" + goto __catch582_g_error; + } + } + goto __finally582; + __catch582_g_error: + { + GError* e = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/Upgrades.vala" + e = _inner_error_; +#line 81 "/home/jens/Source/shotwell/src/Upgrades.vala" + _inner_error_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp4_ = e; +#line 85 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp5_ = _tmp4_->message; +#line 85 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_debug ("Upgrades.vala:85: Could not delete mimics: %s", _tmp5_); +#line 81 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_error_free0 (e); +#line 1229 "Upgrades.c" + } + __finally582: +#line 81 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 81 "/home/jens/Source/shotwell/src/Upgrades.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 81 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_clear_error (&_inner_error_); +#line 81 "/home/jens/Source/shotwell/src/Upgrades.vala" + return; +#line 1240 "Upgrades.c" + } +} + + +MimicsRemovalTask* mimics_removal_task_construct (GType object_type) { + MimicsRemovalTask * self = NULL; +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = (MimicsRemovalTask*) g_object_new (object_type, NULL); +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + return self; +#line 1251 "Upgrades.c" +} + + +MimicsRemovalTask* mimics_removal_task_new (void) { +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + return mimics_removal_task_construct (TYPE_MIMICS_REMOVAL_TASK); +#line 1258 "Upgrades.c" +} + + +static void mimics_removal_task_class_init (MimicsRemovalTaskClass * klass) { +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + mimics_removal_task_parent_class = g_type_class_peek_parent (klass); +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_type_class_add_private (klass, sizeof (MimicsRemovalTaskPrivate)); +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + G_OBJECT_CLASS (klass)->finalize = mimics_removal_task_finalize; +#line 1269 "Upgrades.c" +} + + +static void mimics_removal_task_upgrade_task_interface_init (UpgradeTaskIface * iface) { +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + mimics_removal_task_upgrade_task_parent_iface = g_type_interface_peek_parent (iface); +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + iface->get_step_count = (guint64 (*)(UpgradeTask*)) mimics_removal_task_real_get_step_count; +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + iface->execute = (void (*)(UpgradeTask*, ProgressMonitor, void*)) mimics_removal_task_real_execute; +#line 1280 "Upgrades.c" +} + + +static void mimics_removal_task_instance_init (MimicsRemovalTask * self) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->priv = MIMICS_REMOVAL_TASK_GET_PRIVATE (self); +#line 68 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = app_dirs_get_data_dir (); +#line 68 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = _tmp0_; +#line 68 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp2_ = g_file_get_child (_tmp1_, "mimics"); +#line 68 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->priv->mimic_dir = _tmp2_; +#line 68 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (_tmp1_); +#line 69 "/home/jens/Source/shotwell/src/Upgrades.vala" + self->priv->num_mimics = (guint64) 0; +#line 1302 "Upgrades.c" +} + + +static void mimics_removal_task_finalize (GObject* obj) { + MimicsRemovalTask * self; +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_MIMICS_REMOVAL_TASK, MimicsRemovalTask); +#line 68 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (self->priv->mimic_dir); +#line 66 "/home/jens/Source/shotwell/src/Upgrades.vala" + G_OBJECT_CLASS (mimics_removal_task_parent_class)->finalize (obj); +#line 1314 "Upgrades.c" +} + + +GType mimics_removal_task_get_type (void) { + static volatile gsize mimics_removal_task_type_id__volatile = 0; + if (g_once_init_enter (&mimics_removal_task_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MimicsRemovalTaskClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) mimics_removal_task_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MimicsRemovalTask), 0, (GInstanceInitFunc) mimics_removal_task_instance_init, NULL }; + static const GInterfaceInfo upgrade_task_info = { (GInterfaceInitFunc) mimics_removal_task_upgrade_task_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType mimics_removal_task_type_id; + mimics_removal_task_type_id = g_type_register_static (G_TYPE_OBJECT, "MimicsRemovalTask", &g_define_type_info, 0); + g_type_add_interface_static (mimics_removal_task_type_id, TYPE_UPGRADE_TASK, &upgrade_task_info); + g_once_init_leave (&mimics_removal_task_type_id__volatile, mimics_removal_task_type_id); + } + return mimics_removal_task_type_id__volatile; +} + + +static guint64 fixup_raw_thumbnails_task_real_get_step_count (UpgradeTask* base) { + FixupRawThumbnailsTask * self; + guint64 result = 0ULL; + gint num_raw_files = 0; +#line 94 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FIXUP_RAW_THUMBNAILS_TASK, FixupRawThumbnailsTask); +#line 95 "/home/jens/Source/shotwell/src/Upgrades.vala" + num_raw_files = 0; +#line 1340 "Upgrades.c" + { + GeeArrayList* _phr_list = NULL; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + gint _phr_size = 0; + GeeArrayList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _phr_index = 0; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = photo_table_get_instance (); +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = _tmp0_; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp2_ = photo_table_get_all (_tmp1_); +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp3_ = _tmp2_; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _database_table_unref0 (_tmp1_); +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _phr_list = _tmp3_; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp4_ = _phr_list; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp5_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp6_ = _tmp5_; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _phr_size = _tmp6_; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _phr_index = -1; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + while (TRUE) { +#line 1376 "Upgrades.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + PhotoRow* phr = NULL; + GeeArrayList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; + PhotoFileFormat _tmp15_ = 0; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp7_ = _phr_index; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _phr_index = _tmp7_ + 1; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp8_ = _phr_index; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp9_ = _phr_size; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + break; +#line 1399 "Upgrades.c" + } +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp10_ = _phr_list; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp11_ = _phr_index; +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp12_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp11_); +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + phr = (PhotoRow*) _tmp12_; +#line 98 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp13_ = phr; +#line 98 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp14_ = _tmp13_->master; +#line 98 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp15_ = _tmp14_->file_format; +#line 98 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (_tmp15_ == PHOTO_FILE_FORMAT_RAW) { +#line 1417 "Upgrades.c" + gint _tmp16_ = 0; +#line 99 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp16_ = num_raw_files; +#line 99 "/home/jens/Source/shotwell/src/Upgrades.vala" + num_raw_files = _tmp16_ + 1; +#line 1423 "Upgrades.c" + } +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _photo_row_unref0 (phr); +#line 1427 "Upgrades.c" + } +#line 97 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (_phr_list); +#line 1431 "Upgrades.c" + } +#line 101 "/home/jens/Source/shotwell/src/Upgrades.vala" + result = (guint64) num_raw_files; +#line 101 "/home/jens/Source/shotwell/src/Upgrades.vala" + return result; +#line 1437 "Upgrades.c" +} + + +static void fixup_raw_thumbnails_task_real_execute (UpgradeTask* base, ProgressMonitor monitor, void* monitor_target) { + FixupRawThumbnailsTask * self; +#line 104 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FIXUP_RAW_THUMBNAILS_TASK, FixupRawThumbnailsTask); +#line 105 "/home/jens/Source/shotwell/src/Upgrades.vala" + g_debug ("Upgrades.vala:105: Executing thumbnail deletion and fixup"); +#line 1447 "Upgrades.c" + { + GeeArrayList* _phr_list = NULL; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + gint _phr_size = 0; + GeeArrayList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _phr_index = 0; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp0_ = photo_table_get_instance (); +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp1_ = _tmp0_; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp2_ = photo_table_get_all (_tmp1_); +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp3_ = _tmp2_; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _database_table_unref0 (_tmp1_); +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _phr_list = _tmp3_; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp4_ = _phr_list; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp5_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp6_ = _tmp5_; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _phr_size = _tmp6_; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _phr_index = -1; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + while (TRUE) { +#line 1483 "Upgrades.c" + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + PhotoRow* phr = NULL; + GeeArrayList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gpointer _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + PhotoFileFormat _tmp16_ = 0; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp7_ = _phr_index; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _phr_index = _tmp7_ + 1; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp8_ = _phr_index; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp9_ = _phr_size; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + break; +#line 1507 "Upgrades.c" + } +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp10_ = _phr_list; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp11_ = _phr_index; +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp12_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp11_); +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + phr = (PhotoRow*) _tmp12_; +#line 108 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp14_ = phr; +#line 108 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp15_ = _tmp14_->master; +#line 108 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp16_ = _tmp15_->file_format; +#line 108 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (_tmp16_ == PHOTO_FILE_FORMAT_RAW) { +#line 1525 "Upgrades.c" + PhotoRow* _tmp17_ = NULL; + RawDeveloper _tmp18_ = 0; +#line 109 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp17_ = phr; +#line 109 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp18_ = _tmp17_->developer; +#line 109 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp13_ = _tmp18_ == RAW_DEVELOPER_CAMERA; +#line 1534 "Upgrades.c" + } else { +#line 108 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp13_ = FALSE; +#line 1538 "Upgrades.c" + } +#line 108 "/home/jens/Source/shotwell/src/Upgrades.vala" + if (_tmp13_) { +#line 1542 "Upgrades.c" + LibraryPhotoSourceCollection* _tmp19_ = NULL; + PhotoRow* _tmp20_ = NULL; + PhotoID _tmp21_ = {0}; + LibraryPhoto* _tmp22_ = NULL; + LibraryPhoto* _tmp23_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp19_ = library_photo_global; +#line 110 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp20_ = phr; +#line 110 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp21_ = _tmp20_->photo_id; +#line 110 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp22_ = library_photo_source_collection_fetch (_tmp19_, &_tmp21_); +#line 110 "/home/jens/Source/shotwell/src/Upgrades.vala" + _tmp23_ = _tmp22_; +#line 110 "/home/jens/Source/shotwell/src/Upgrades.vala" + thumbnail_cache_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 110 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (_tmp23_); +#line 1562 "Upgrades.c" + } +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _photo_row_unref0 (phr); +#line 1566 "Upgrades.c" + } +#line 107 "/home/jens/Source/shotwell/src/Upgrades.vala" + _g_object_unref0 (_phr_list); +#line 1570 "Upgrades.c" + } +} + + +FixupRawThumbnailsTask* fixup_raw_thumbnails_task_construct (GType object_type) { + FixupRawThumbnailsTask * self = NULL; +#line 93 "/home/jens/Source/shotwell/src/Upgrades.vala" + self = (FixupRawThumbnailsTask*) g_object_new (object_type, NULL); +#line 93 "/home/jens/Source/shotwell/src/Upgrades.vala" + return self; +#line 1581 "Upgrades.c" +} + + +FixupRawThumbnailsTask* fixup_raw_thumbnails_task_new (void) { +#line 93 "/home/jens/Source/shotwell/src/Upgrades.vala" + return fixup_raw_thumbnails_task_construct (TYPE_FIXUP_RAW_THUMBNAILS_TASK); +#line 1588 "Upgrades.c" +} + + +static void fixup_raw_thumbnails_task_class_init (FixupRawThumbnailsTaskClass * klass) { +#line 93 "/home/jens/Source/shotwell/src/Upgrades.vala" + fixup_raw_thumbnails_task_parent_class = g_type_class_peek_parent (klass); +#line 1595 "Upgrades.c" +} + + +static void fixup_raw_thumbnails_task_upgrade_task_interface_init (UpgradeTaskIface * iface) { +#line 93 "/home/jens/Source/shotwell/src/Upgrades.vala" + fixup_raw_thumbnails_task_upgrade_task_parent_iface = g_type_interface_peek_parent (iface); +#line 93 "/home/jens/Source/shotwell/src/Upgrades.vala" + iface->get_step_count = (guint64 (*)(UpgradeTask*)) fixup_raw_thumbnails_task_real_get_step_count; +#line 93 "/home/jens/Source/shotwell/src/Upgrades.vala" + iface->execute = (void (*)(UpgradeTask*, ProgressMonitor, void*)) fixup_raw_thumbnails_task_real_execute; +#line 1606 "Upgrades.c" +} + + +static void fixup_raw_thumbnails_task_instance_init (FixupRawThumbnailsTask * self) { +} + + +GType fixup_raw_thumbnails_task_get_type (void) { + static volatile gsize fixup_raw_thumbnails_task_type_id__volatile = 0; + if (g_once_init_enter (&fixup_raw_thumbnails_task_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FixupRawThumbnailsTaskClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) fixup_raw_thumbnails_task_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FixupRawThumbnailsTask), 0, (GInstanceInitFunc) fixup_raw_thumbnails_task_instance_init, NULL }; + static const GInterfaceInfo upgrade_task_info = { (GInterfaceInitFunc) fixup_raw_thumbnails_task_upgrade_task_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType fixup_raw_thumbnails_task_type_id; + fixup_raw_thumbnails_task_type_id = g_type_register_static (G_TYPE_OBJECT, "FixupRawThumbnailsTask", &g_define_type_info, 0); + g_type_add_interface_static (fixup_raw_thumbnails_task_type_id, TYPE_UPGRADE_TASK, &upgrade_task_info); + g_once_init_leave (&fixup_raw_thumbnails_task_type_id__volatile, fixup_raw_thumbnails_task_type_id); + } + return fixup_raw_thumbnails_task_type_id__volatile; +} + + + diff --git a/src/VideoMetadata.c b/src/VideoMetadata.c new file mode 100644 index 0000000..11c3258 --- /dev/null +++ b/src/VideoMetadata.c @@ -0,0 +1,5531 @@ +/* VideoMetadata.c generated by valac 0.32.1, the Vala compiler + * generated from VideoMetadata.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; +typedef struct _MediaMetadataPrivate MediaMetadataPrivate; + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; + +#define TYPE_VIDEO_METADATA (video_metadata_get_type ()) +#define VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_METADATA, VideoMetadata)) +#define VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_METADATA, VideoMetadataClass)) +#define IS_VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_METADATA)) +#define IS_VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_METADATA)) +#define VIDEO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_METADATA, VideoMetadataClass)) + +typedef struct _VideoMetadata VideoMetadata; +typedef struct _VideoMetadataClass VideoMetadataClass; +typedef struct _VideoMetadataPrivate VideoMetadataPrivate; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_QUICK_TIME_METADATA_LOADER (quick_time_metadata_loader_get_type ()) +#define QUICK_TIME_METADATA_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_QUICK_TIME_METADATA_LOADER, QuickTimeMetadataLoader)) +#define QUICK_TIME_METADATA_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_QUICK_TIME_METADATA_LOADER, QuickTimeMetadataLoaderClass)) +#define IS_QUICK_TIME_METADATA_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_QUICK_TIME_METADATA_LOADER)) +#define IS_QUICK_TIME_METADATA_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_QUICK_TIME_METADATA_LOADER)) +#define QUICK_TIME_METADATA_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_QUICK_TIME_METADATA_LOADER, QuickTimeMetadataLoaderClass)) + +typedef struct _QuickTimeMetadataLoader QuickTimeMetadataLoader; +typedef struct _QuickTimeMetadataLoaderClass QuickTimeMetadataLoaderClass; +#define _quick_time_metadata_loader_unref0(var) ((var == NULL) ? NULL : (var = (quick_time_metadata_loader_unref (var), NULL))) + +#define TYPE_AVI_METADATA_LOADER (avi_metadata_loader_get_type ()) +#define AVI_METADATA_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AVI_METADATA_LOADER, AVIMetadataLoader)) +#define AVI_METADATA_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AVI_METADATA_LOADER, AVIMetadataLoaderClass)) +#define IS_AVI_METADATA_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AVI_METADATA_LOADER)) +#define IS_AVI_METADATA_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AVI_METADATA_LOADER)) +#define AVI_METADATA_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AVI_METADATA_LOADER, AVIMetadataLoaderClass)) + +typedef struct _AVIMetadataLoader AVIMetadataLoader; +typedef struct _AVIMetadataLoaderClass AVIMetadataLoaderClass; +#define _avi_metadata_loader_unref0(var) ((var == NULL) ? NULL : (var = (avi_metadata_loader_unref (var), NULL))) +typedef struct _QuickTimeMetadataLoaderPrivate QuickTimeMetadataLoaderPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_QUICK_TIME_ATOM (quick_time_atom_get_type ()) +#define QUICK_TIME_ATOM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_QUICK_TIME_ATOM, QuickTimeAtom)) +#define QUICK_TIME_ATOM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_QUICK_TIME_ATOM, QuickTimeAtomClass)) +#define IS_QUICK_TIME_ATOM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_QUICK_TIME_ATOM)) +#define IS_QUICK_TIME_ATOM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_QUICK_TIME_ATOM)) +#define QUICK_TIME_ATOM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_QUICK_TIME_ATOM, QuickTimeAtomClass)) + +typedef struct _QuickTimeAtom QuickTimeAtom; +typedef struct _QuickTimeAtomClass QuickTimeAtomClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _quick_time_atom_unref0(var) ((var == NULL) ? NULL : (var = (quick_time_atom_unref (var), NULL))) +typedef struct _ParamSpecQuickTimeMetadataLoader ParamSpecQuickTimeMetadataLoader; +typedef struct _QuickTimeAtomPrivate QuickTimeAtomPrivate; +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) +typedef struct _ParamSpecQuickTimeAtom ParamSpecQuickTimeAtom; +typedef struct _AVIMetadataLoaderPrivate AVIMetadataLoaderPrivate; + +#define TYPE_AVI_CHUNK (avi_chunk_get_type ()) +#define AVI_CHUNK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AVI_CHUNK, AVIChunk)) +#define AVI_CHUNK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AVI_CHUNK, AVIChunkClass)) +#define IS_AVI_CHUNK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AVI_CHUNK)) +#define IS_AVI_CHUNK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AVI_CHUNK)) +#define AVI_CHUNK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AVI_CHUNK, AVIChunkClass)) + +typedef struct _AVIChunk AVIChunk; +typedef struct _AVIChunkClass AVIChunkClass; +#define _avi_chunk_unref0(var) ((var == NULL) ? NULL : (var = (avi_chunk_unref (var), NULL))) +typedef struct _ParamSpecAVIMetadataLoader ParamSpecAVIMetadataLoader; +typedef struct _AVIChunkPrivate AVIChunkPrivate; +typedef struct _ParamSpecAVIChunk ParamSpecAVIChunk; +#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 _MediaMetadata { + GTypeInstance parent_instance; + volatile int ref_count; + MediaMetadataPrivate * priv; +}; + +struct _MediaMetadataClass { + GTypeClass parent_class; + void (*finalize) (MediaMetadata *self); + void (*read_from_file) (MediaMetadata* self, GFile* file, GError** error); + MetadataDateTime* (*get_creation_date_time) (MediaMetadata* self); + gchar* (*get_title) (MediaMetadata* self); + gchar* (*get_comment) (MediaMetadata* self); +}; + +struct _VideoMetadata { + MediaMetadata parent_instance; + VideoMetadataPrivate * priv; +}; + +struct _VideoMetadataClass { + MediaMetadataClass parent_class; +}; + +struct _VideoMetadataPrivate { + MetadataDateTime* timestamp; + gchar* title; + gchar* comment; +}; + +struct _QuickTimeMetadataLoader { + GTypeInstance parent_instance; + volatile int ref_count; + QuickTimeMetadataLoaderPrivate * priv; +}; + +struct _QuickTimeMetadataLoaderClass { + GTypeClass parent_class; + void (*finalize) (QuickTimeMetadataLoader *self); +}; + +struct _QuickTimeMetadataLoaderPrivate { + GFile* file; +}; + +struct _ParamSpecQuickTimeMetadataLoader { + GParamSpec parent_instance; +}; + +struct _QuickTimeAtom { + GTypeInstance parent_instance; + volatile int ref_count; + QuickTimeAtomPrivate * priv; +}; + +struct _QuickTimeAtomClass { + GTypeClass parent_class; + void (*finalize) (QuickTimeAtom *self); +}; + +struct _QuickTimeAtomPrivate { + GFile* file; + gchar* section_name; + guint64 section_size; + guint64 section_offset; + GDataInputStream* input; + QuickTimeAtom* parent; +}; + +struct _ParamSpecQuickTimeAtom { + GParamSpec parent_instance; +}; + +struct _AVIMetadataLoader { + GTypeInstance parent_instance; + volatile int ref_count; + AVIMetadataLoaderPrivate * priv; +}; + +struct _AVIMetadataLoaderClass { + GTypeClass parent_class; + void (*finalize) (AVIMetadataLoader *self); +}; + +struct _AVIMetadataLoaderPrivate { + GFile* file; +}; + +struct _ParamSpecAVIMetadataLoader { + GParamSpec parent_instance; +}; + +struct _AVIChunk { + GTypeInstance parent_instance; + volatile int ref_count; + AVIChunkPrivate * priv; +}; + +struct _AVIChunkClass { + GTypeClass parent_class; + void (*finalize) (AVIChunk *self); +}; + +struct _AVIChunkPrivate { + GFile* file; + gchar* section_name; + guint64 section_size; + guint64 section_offset; + GDataInputStream* input; + AVIChunk* parent; +}; + +struct _ParamSpecAVIChunk { + GParamSpec parent_instance; +}; + + +static gpointer video_metadata_parent_class = NULL; +static gpointer quick_time_metadata_loader_parent_class = NULL; +static gpointer quick_time_atom_parent_class = NULL; +static gpointer avi_metadata_loader_parent_class = NULL; +static gpointer avi_chunk_parent_class = NULL; + +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +GType video_metadata_get_type (void) G_GNUC_CONST; +#define VIDEO_METADATA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIDEO_METADATA, VideoMetadataPrivate)) +enum { + VIDEO_METADATA_DUMMY_PROPERTY +}; +VideoMetadata* video_metadata_new (void); +VideoMetadata* video_metadata_construct (GType object_type); +MediaMetadata* media_metadata_construct (GType object_type); +static void video_metadata_real_read_from_file (MediaMetadata* base, GFile* file, GError** error); +gpointer quick_time_metadata_loader_ref (gpointer instance); +void quick_time_metadata_loader_unref (gpointer instance); +GParamSpec* param_spec_quick_time_metadata_loader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_quick_time_metadata_loader (GValue* value, gpointer v_object); +void value_take_quick_time_metadata_loader (GValue* value, gpointer v_object); +gpointer value_get_quick_time_metadata_loader (const GValue* value); +GType quick_time_metadata_loader_get_type (void) G_GNUC_CONST; +QuickTimeMetadataLoader* quick_time_metadata_loader_new (GFile* file); +QuickTimeMetadataLoader* quick_time_metadata_loader_construct (GType object_type, GFile* file); +gboolean quick_time_metadata_loader_is_supported (QuickTimeMetadataLoader* self); +MetadataDateTime* quick_time_metadata_loader_get_creation_date_time (QuickTimeMetadataLoader* self); +gchar* quick_time_metadata_loader_get_title (QuickTimeMetadataLoader* self); +gpointer avi_metadata_loader_ref (gpointer instance); +void avi_metadata_loader_unref (gpointer instance); +GParamSpec* param_spec_avi_metadata_loader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_avi_metadata_loader (GValue* value, gpointer v_object); +void value_take_avi_metadata_loader (GValue* value, gpointer v_object); +gpointer value_get_avi_metadata_loader (const GValue* value); +GType avi_metadata_loader_get_type (void) G_GNUC_CONST; +AVIMetadataLoader* avi_metadata_loader_new (GFile* file); +AVIMetadataLoader* avi_metadata_loader_construct (GType object_type, GFile* file); +gboolean avi_metadata_loader_is_supported (AVIMetadataLoader* self); +MetadataDateTime* avi_metadata_loader_get_creation_date_time (AVIMetadataLoader* self); +gchar* avi_metadata_loader_get_title (AVIMetadataLoader* self); +static MetadataDateTime* video_metadata_real_get_creation_date_time (MediaMetadata* base); +static gchar* video_metadata_real_get_title (MediaMetadata* base); +static gchar* video_metadata_real_get_comment (MediaMetadata* base); +static void video_metadata_finalize (MediaMetadata* obj); +#define QUICK_TIME_METADATA_LOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_QUICK_TIME_METADATA_LOADER, QuickTimeMetadataLoaderPrivate)) +enum { + QUICK_TIME_METADATA_LOADER_DUMMY_PROPERTY +}; +#define QUICK_TIME_METADATA_LOADER_QUICKTIME_EPOCH_ADJUSTMENT ((time_t) 2082844800) +static gulong quick_time_metadata_loader_get_creation_date_time_for_quicktime (QuickTimeMetadataLoader* self); +MetadataDateTime* metadata_date_time_new (time_t timestamp); +MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp); +gpointer quick_time_atom_ref (gpointer instance); +void quick_time_atom_unref (gpointer instance); +GParamSpec* param_spec_quick_time_atom (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_quick_time_atom (GValue* value, gpointer v_object); +void value_take_quick_time_atom (GValue* value, gpointer v_object); +gpointer value_get_quick_time_atom (const GValue* value); +GType quick_time_atom_get_type (void) G_GNUC_CONST; +QuickTimeAtom* quick_time_atom_new (GFile* file); +QuickTimeAtom* quick_time_atom_construct (GType object_type, GFile* file); +void quick_time_atom_open_file (QuickTimeAtom* self, GError** error); +void quick_time_atom_read_atom (QuickTimeAtom* self, GError** error); +gchar* quick_time_atom_get_current_atom_name (QuickTimeAtom* self); +void quick_time_atom_next_atom (QuickTimeAtom* self, GError** error); +gboolean quick_time_atom_is_last_atom (QuickTimeAtom* self); +void quick_time_atom_close_file (QuickTimeAtom* self, GError** error); +QuickTimeAtom* quick_time_atom_get_first_child_atom (QuickTimeAtom* self); +guint64 quick_time_atom_section_size_remaining (QuickTimeAtom* self); +guint32 quick_time_atom_read_uint32 (QuickTimeAtom* self, GError** error); +static void quick_time_metadata_loader_finalize (QuickTimeMetadataLoader* obj); +#define QUICK_TIME_ATOM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_QUICK_TIME_ATOM, QuickTimeAtomPrivate)) +enum { + QUICK_TIME_ATOM_DUMMY_PROPERTY +}; +static QuickTimeAtom* quick_time_atom_new_with_input_stream (GDataInputStream* input, QuickTimeAtom* parent); +static QuickTimeAtom* quick_time_atom_construct_with_input_stream (GType object_type, GDataInputStream* input, QuickTimeAtom* parent); +static void quick_time_atom_advance_section_offset (QuickTimeAtom* self, guint64 amount); +guchar quick_time_atom_read_byte (QuickTimeAtom* self, GError** error); +guint64 quick_time_atom_read_uint64 (QuickTimeAtom* self, GError** error); +static void quick_time_atom_skip (QuickTimeAtom* self, guint64 skip_amount, GError** error); +void skip_uint64 (GInputStream* input, guint64 skip_amount, GError** error); +static void quick_time_atom_finalize (QuickTimeAtom* obj); +#define AVI_METADATA_LOADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_AVI_METADATA_LOADER, AVIMetadataLoaderPrivate)) +enum { + AVI_METADATA_LOADER_DUMMY_PROPERTY +}; +#define AVI_METADATA_LOADER_NUMERICAL_DATE_LENGTH 19 +#define AVI_METADATA_LOADER_NIKON_NCTG_TIMESTAMP_MARKER ((guint16) 0x13) +#define AVI_METADATA_LOADER_MAX_STRD_LENGTH 100 +static gulong avi_metadata_loader_get_creation_date_time_for_avi (AVIMetadataLoader* self); +gpointer avi_chunk_ref (gpointer instance); +void avi_chunk_unref (gpointer instance); +GParamSpec* param_spec_avi_chunk (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_avi_chunk (GValue* value, gpointer v_object); +void value_take_avi_chunk (GValue* value, gpointer v_object); +gpointer value_get_avi_chunk (const GValue* value); +GType avi_chunk_get_type (void) G_GNUC_CONST; +AVIChunk* avi_chunk_new (GFile* file); +AVIChunk* avi_chunk_construct (GType object_type, GFile* file); +void avi_chunk_open_file (AVIChunk* self, GError** error); +void avi_chunk_read_chunk (AVIChunk* self, GError** error); +gchar* avi_chunk_get_current_chunk_name (AVIChunk* self); +gchar* avi_chunk_read_name (AVIChunk* self, GError** error); +void avi_chunk_close_file (AVIChunk* self, GError** error); +static gchar* avi_metadata_loader_read_nikon_nctg_tag (AVIMetadataLoader* self, AVIChunk* chunk, GError** error); +guint64 avi_chunk_section_size_remaining (AVIChunk* self); +guint16 avi_chunk_read_uint16 (AVIChunk* self, GError** error); +void avi_chunk_skip (AVIChunk* self, guint64 skip_amount, GError** error); +guchar avi_chunk_read_byte (AVIChunk* self, GError** error); +static gchar* avi_metadata_loader_read_fuji_strd_tag (AVIMetadataLoader* self, AVIChunk* chunk, GError** error); +static gchar* avi_metadata_loader_read_section (AVIMetadataLoader* self, AVIChunk* chunk, GError** error); +gchar* avi_chunk_section_to_string (AVIChunk* self, GError** error); +AVIChunk* avi_chunk_get_first_child_chunk (AVIChunk* self); +gboolean avi_chunk_is_last_chunk (AVIChunk* self); +void avi_chunk_next_chunk (AVIChunk* self, GError** error); +static gulong avi_metadata_loader_parse_date (AVIMetadataLoader* self, const gchar* sdate); +static GDateMonth avi_metadata_loader_month_from_string (AVIMetadataLoader* self, const gchar* s); +void avi_chunk_nonsection_skip (AVIChunk* self, guint64 skip_amount, GError** error); +static void avi_metadata_loader_finalize (AVIMetadataLoader* obj); +#define AVI_CHUNK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_AVI_CHUNK, AVIChunkPrivate)) +enum { + AVI_CHUNK_DUMMY_PROPERTY +}; +#define AVI_CHUNK_MAX_STRING_TO_SECTION_LENGTH 1024 +static AVIChunk* avi_chunk_new_with_input_stream (GDataInputStream* input, AVIChunk* parent); +static AVIChunk* avi_chunk_construct_with_input_stream (GType object_type, GDataInputStream* input, AVIChunk* parent); +static void avi_chunk_advance_section_offset (AVIChunk* self, guint64 amount); +static void avi_chunk_finalize (AVIChunk* obj); + + +VideoMetadata* video_metadata_construct (GType object_type) { + VideoMetadata* self = NULL; +#line 13 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = (VideoMetadata*) media_metadata_construct (object_type); +#line 13 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self; +#line 381 "VideoMetadata.c" +} + + +VideoMetadata* video_metadata_new (void) { +#line 13 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return video_metadata_construct (TYPE_VIDEO_METADATA); +#line 388 "VideoMetadata.c" +} + + +static void video_metadata_real_read_from_file (MediaMetadata* base, GFile* file, GError** error) { + VideoMetadata * self; + QuickTimeMetadataLoader* quicktime = NULL; + GFile* _tmp0_ = NULL; + QuickTimeMetadataLoader* _tmp1_ = NULL; + QuickTimeMetadataLoader* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + AVIMetadataLoader* avi = NULL; + GFile* _tmp8_ = NULL; + AVIMetadataLoader* _tmp9_ = NULL; + AVIMetadataLoader* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; + GError* _tmp20_ = NULL; + GError * _inner_error_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_METADATA, VideoMetadata); +#line 19 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 20 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = file; +#line 20 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = quick_time_metadata_loader_new (_tmp0_); +#line 20 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quicktime = _tmp1_; +#line 21 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = quicktime; +#line 21 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = quick_time_metadata_loader_is_supported (_tmp2_); +#line 21 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp3_) { +#line 426 "VideoMetadata.c" + QuickTimeMetadataLoader* _tmp4_ = NULL; + MetadataDateTime* _tmp5_ = NULL; + QuickTimeMetadataLoader* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = quicktime; +#line 22 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = quick_time_metadata_loader_get_creation_date_time (_tmp4_); +#line 22 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _metadata_date_time_unref0 (self->priv->timestamp); +#line 22 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->timestamp = _tmp5_; +#line 23 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = quicktime; +#line 23 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = quick_time_metadata_loader_get_title (_tmp6_); +#line 23 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->title); +#line 23 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->title = _tmp7_; +#line 25 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->comment); +#line 25 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->comment = NULL; +#line 26 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_metadata_loader_unref0 (quicktime); +#line 26 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 455 "VideoMetadata.c" + } +#line 28 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = file; +#line 28 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = avi_metadata_loader_new (_tmp8_); +#line 28 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi = _tmp9_; +#line 29 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = avi; +#line 29 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = avi_metadata_loader_is_supported (_tmp10_); +#line 29 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp11_) { +#line 469 "VideoMetadata.c" + AVIMetadataLoader* _tmp12_ = NULL; + MetadataDateTime* _tmp13_ = NULL; + AVIMetadataLoader* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = avi; +#line 30 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = avi_metadata_loader_get_creation_date_time (_tmp12_); +#line 30 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _metadata_date_time_unref0 (self->priv->timestamp); +#line 30 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->timestamp = _tmp13_; +#line 31 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = avi; +#line 31 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = avi_metadata_loader_get_title (_tmp14_); +#line 31 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->title); +#line 31 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->title = _tmp15_; +#line 32 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->comment); +#line 32 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->comment = NULL; +#line 33 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_metadata_loader_unref0 (avi); +#line 33 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_metadata_loader_unref0 (quicktime); +#line 33 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 500 "VideoMetadata.c" + } +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = file; +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = _tmp17_; +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = g_error_new (G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, "File %s is not a supported video format", _tmp18_); +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = _tmp19_; +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp18_); +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = _tmp20_; +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_metadata_loader_unref0 (avi); +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_metadata_loader_unref0 (quicktime); +#line 36 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 524 "VideoMetadata.c" +} + + +static gpointer _metadata_date_time_ref0 (gpointer self) { +#line 40 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self ? metadata_date_time_ref (self) : NULL; +#line 531 "VideoMetadata.c" +} + + +static MetadataDateTime* video_metadata_real_get_creation_date_time (MediaMetadata* base) { + VideoMetadata * self; + MetadataDateTime* result = NULL; + MetadataDateTime* _tmp0_ = NULL; + MetadataDateTime* _tmp1_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_METADATA, VideoMetadata); +#line 40 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->timestamp; +#line 40 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _metadata_date_time_ref0 (_tmp0_); +#line 40 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 40 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 550 "VideoMetadata.c" +} + + +static gchar* video_metadata_real_get_title (MediaMetadata* base) { + VideoMetadata * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_METADATA, VideoMetadata); +#line 44 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->title; +#line 44 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 44 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 44 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 569 "VideoMetadata.c" +} + + +static gchar* video_metadata_real_get_comment (MediaMetadata* base) { + VideoMetadata * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_METADATA, VideoMetadata); +#line 48 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->comment; +#line 48 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 48 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 588 "VideoMetadata.c" +} + + +static void video_metadata_class_init (VideoMetadataClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + video_metadata_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((MediaMetadataClass *) klass)->finalize = video_metadata_finalize; +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_class_add_private (klass, sizeof (VideoMetadataPrivate)); +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((MediaMetadataClass *) klass)->read_from_file = video_metadata_real_read_from_file; +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((MediaMetadataClass *) klass)->get_creation_date_time = video_metadata_real_get_creation_date_time; +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((MediaMetadataClass *) klass)->get_title = video_metadata_real_get_title; +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((MediaMetadataClass *) klass)->get_comment = video_metadata_real_get_comment; +#line 607 "VideoMetadata.c" +} + + +static void video_metadata_instance_init (VideoMetadata * self) { +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv = VIDEO_METADATA_GET_PRIVATE (self); +#line 9 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->timestamp = NULL; +#line 10 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->title = NULL; +#line 11 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->comment = NULL; +#line 620 "VideoMetadata.c" +} + + +static void video_metadata_finalize (MediaMetadata* obj) { + VideoMetadata * self; +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_METADATA, VideoMetadata); +#line 9 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _metadata_date_time_unref0 (self->priv->timestamp); +#line 10 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->title); +#line 11 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->comment); +#line 7 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + MEDIA_METADATA_CLASS (video_metadata_parent_class)->finalize (obj); +#line 636 "VideoMetadata.c" +} + + +GType video_metadata_get_type (void) { + static volatile gsize video_metadata_type_id__volatile = 0; + if (g_once_init_enter (&video_metadata_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoMetadataClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_metadata_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoMetadata), 0, (GInstanceInitFunc) video_metadata_instance_init, NULL }; + GType video_metadata_type_id; + video_metadata_type_id = g_type_register_static (TYPE_MEDIA_METADATA, "VideoMetadata", &g_define_type_info, 0); + g_once_init_leave (&video_metadata_type_id__volatile, video_metadata_type_id); + } + return video_metadata_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 62 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self ? g_object_ref (self) : NULL; +#line 655 "VideoMetadata.c" +} + + +QuickTimeMetadataLoader* quick_time_metadata_loader_construct (GType object_type, GFile* file) { + QuickTimeMetadataLoader* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 61 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = (QuickTimeMetadataLoader*) g_type_create_instance (object_type); +#line 62 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = file; +#line 62 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 62 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->file); +#line 62 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->file = _tmp1_; +#line 61 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self; +#line 677 "VideoMetadata.c" +} + + +QuickTimeMetadataLoader* quick_time_metadata_loader_new (GFile* file) { +#line 61 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return quick_time_metadata_loader_construct (TYPE_QUICK_TIME_METADATA_LOADER, file); +#line 684 "VideoMetadata.c" +} + + +MetadataDateTime* quick_time_metadata_loader_get_creation_date_time (QuickTimeMetadataLoader* self) { + MetadataDateTime* result = NULL; + gulong _tmp0_ = 0UL; + MetadataDateTime* _tmp1_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_METADATA_LOADER (self), NULL); +#line 66 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = quick_time_metadata_loader_get_creation_date_time_for_quicktime (self); +#line 66 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = metadata_date_time_new ((time_t) _tmp0_); +#line 66 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 66 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 702 "VideoMetadata.c" +} + + +gchar* quick_time_metadata_loader_get_title (QuickTimeMetadataLoader* self) { + gchar* result = NULL; +#line 69 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_METADATA_LOADER (self), NULL); +#line 71 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = NULL; +#line 71 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 714 "VideoMetadata.c" +} + + +gboolean quick_time_metadata_loader_is_supported (QuickTimeMetadataLoader* self) { + gboolean result = FALSE; + QuickTimeAtom* test = NULL; + GFile* _tmp0_ = NULL; + QuickTimeAtom* _tmp1_ = NULL; + gboolean ret = FALSE; + GError * _inner_error_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_METADATA_LOADER (self), FALSE); +#line 76 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->file; +#line 76 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = quick_time_atom_new (_tmp0_); +#line 76 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + test = _tmp1_; +#line 78 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ret = FALSE; +#line 735 "VideoMetadata.c" + { + QuickTimeAtom* _tmp2_ = NULL; + QuickTimeAtom* _tmp3_ = NULL; + QuickTimeAtom* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 80 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = test; +#line 80 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_open_file (_tmp2_, &_inner_error_); +#line 80 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 749 "VideoMetadata.c" + goto __catch563_g_error; + } +#line 81 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = test; +#line 81 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_read_atom (_tmp3_, &_inner_error_); +#line 81 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 758 "VideoMetadata.c" + goto __catch563_g_error; + } +#line 84 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = test; +#line 84 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = quick_time_atom_get_current_atom_name (_tmp4_); +#line 84 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = _tmp5_; +#line 84 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = g_strcmp0 ("ftyp", _tmp6_) == 0; +#line 84 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp6_); +#line 84 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp7_) { +#line 85 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ret = TRUE; +#line 775 "VideoMetadata.c" + } else { +#line 90 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 779 "VideoMetadata.c" + QuickTimeAtom* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + QuickTimeAtom* _tmp12_ = NULL; + QuickTimeAtom* _tmp13_ = NULL; + QuickTimeAtom* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 91 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = test; +#line 91 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = quick_time_atom_get_current_atom_name (_tmp8_); +#line 91 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = _tmp9_; +#line 91 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = g_strcmp0 ("moov", _tmp10_) == 0; +#line 91 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp10_); +#line 91 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp11_) { +#line 92 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ret = TRUE; +#line 93 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 804 "VideoMetadata.c" + } +#line 95 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = test; +#line 95 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_next_atom (_tmp12_, &_inner_error_); +#line 95 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 812 "VideoMetadata.c" + goto __catch563_g_error; + } +#line 96 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = test; +#line 96 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_read_atom (_tmp13_, &_inner_error_); +#line 96 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 821 "VideoMetadata.c" + goto __catch563_g_error; + } +#line 97 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = test; +#line 97 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = quick_time_atom_is_last_atom (_tmp14_); +#line 97 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp15_) { +#line 98 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 832 "VideoMetadata.c" + } + } + } + } + goto __finally563; + __catch563_g_error: + { + GError* e = NULL; + GFile* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + e = _inner_error_; +#line 79 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = self->priv->file; +#line 103 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = g_file_get_path (_tmp16_); +#line 103 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = _tmp17_; +#line 103 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = e; +#line 103 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = _tmp19_->message; +#line 103 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:103: Error while testing for QuickTime file for %s:" \ +" %s", _tmp18_, _tmp20_); +#line 103 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp18_); +#line 79 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_error_free0 (e); +#line 866 "VideoMetadata.c" + } + __finally563: +#line 79 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 79 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (test); +#line 79 "/home/jens/Source/shotwell/src/VideoMetadata.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 79 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_clear_error (&_inner_error_); +#line 79 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return FALSE; +#line 879 "VideoMetadata.c" + } + { + QuickTimeAtom* _tmp21_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp21_ = test; +#line 107 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_close_file (_tmp21_, &_inner_error_); +#line 107 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 889 "VideoMetadata.c" + goto __catch564_g_error; + } + } + goto __finally564; + __catch564_g_error: + { + GError* e = NULL; + GError* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + e = _inner_error_; +#line 106 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp22_ = e; +#line 109 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp23_ = _tmp22_->message; +#line 109 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:109: Error while closing Quicktime file: %s", _tmp23_); +#line 106 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_error_free0 (e); +#line 911 "VideoMetadata.c" + } + __finally564: +#line 106 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 106 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (test); +#line 106 "/home/jens/Source/shotwell/src/VideoMetadata.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 106 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_clear_error (&_inner_error_); +#line 106 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return FALSE; +#line 924 "VideoMetadata.c" + } +#line 111 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = ret; +#line 111 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (test); +#line 111 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 932 "VideoMetadata.c" +} + + +static gulong quick_time_metadata_loader_get_creation_date_time_for_quicktime (QuickTimeMetadataLoader* self) { + gulong result = 0UL; + QuickTimeAtom* test = NULL; + GFile* _tmp0_ = NULL; + QuickTimeAtom* _tmp1_ = NULL; + time_t timestamp = 0; + time_t _tmp35_ = 0; + time_t _tmp37_ = 0; + GError * _inner_error_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_METADATA_LOADER (self), 0UL); +#line 115 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->file; +#line 115 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = quick_time_atom_new (_tmp0_); +#line 115 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + test = _tmp1_; +#line 116 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + timestamp = (time_t) 0; +#line 955 "VideoMetadata.c" + { + QuickTimeAtom* _tmp2_ = NULL; + gboolean done = FALSE; +#line 119 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = test; +#line 119 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_open_file (_tmp2_, &_inner_error_); +#line 119 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 965 "VideoMetadata.c" + goto __catch565_g_error; + } +#line 120 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + done = FALSE; +#line 121 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 972 "VideoMetadata.c" + gboolean _tmp3_ = FALSE; + QuickTimeAtom* _tmp4_ = NULL; + QuickTimeAtom* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + QuickTimeAtom* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + QuickTimeAtom* _tmp29_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = done; +#line 121 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!(!_tmp3_)) { +#line 121 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 988 "VideoMetadata.c" + } +#line 123 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = test; +#line 123 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_read_atom (_tmp4_, &_inner_error_); +#line 123 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 996 "VideoMetadata.c" + goto __catch565_g_error; + } +#line 124 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = test; +#line 124 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = quick_time_atom_is_last_atom (_tmp5_); +#line 124 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp6_) { +#line 124 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 1007 "VideoMetadata.c" + } +#line 125 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = test; +#line 125 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = quick_time_atom_get_current_atom_name (_tmp7_); +#line 125 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = _tmp8_; +#line 125 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = g_strcmp0 ("moov", _tmp9_) == 0; +#line 125 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp9_); +#line 125 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp10_) { +#line 1021 "VideoMetadata.c" + QuickTimeAtom* child = NULL; + QuickTimeAtom* _tmp11_ = NULL; + QuickTimeAtom* _tmp12_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = test; +#line 126 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = quick_time_atom_get_first_child_atom (_tmp11_); +#line 126 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + child = _tmp12_; +#line 127 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 1033 "VideoMetadata.c" + gboolean _tmp13_ = FALSE; + QuickTimeAtom* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + QuickTimeAtom* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + QuickTimeAtom* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + QuickTimeAtom* _tmp28_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = done; +#line 127 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!(!_tmp13_)) { +#line 127 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 1050 "VideoMetadata.c" + } +#line 129 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = child; +#line 129 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_read_atom (_tmp14_, &_inner_error_); +#line 129 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 129 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (child); +#line 1060 "VideoMetadata.c" + goto __catch565_g_error; + } +#line 130 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = child; +#line 130 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = quick_time_atom_is_last_atom (_tmp16_); +#line 130 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp17_) { +#line 130 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = TRUE; +#line 1071 "VideoMetadata.c" + } else { + QuickTimeAtom* _tmp18_ = NULL; + guint64 _tmp19_ = 0ULL; +#line 130 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = child; +#line 130 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = quick_time_atom_section_size_remaining (_tmp18_); +#line 130 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = ((guint64) 0) == _tmp19_; +#line 1081 "VideoMetadata.c" + } +#line 130 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp15_) { +#line 131 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + done = TRUE; +#line 132 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 1089 "VideoMetadata.c" + } +#line 135 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = child; +#line 135 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp21_ = quick_time_atom_get_current_atom_name (_tmp20_); +#line 135 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp22_ = _tmp21_; +#line 135 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp23_ = g_strcmp0 ("mvhd", _tmp22_) == 0; +#line 135 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp22_); +#line 135 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp23_) { +#line 1103 "VideoMetadata.c" + QuickTimeAtom* _tmp24_ = NULL; + guint32 _tmp25_ = 0U; + QuickTimeAtom* _tmp26_ = NULL; + guint32 _tmp27_ = 0U; +#line 137 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp24_ = child; +#line 137 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_read_uint32 (_tmp24_, &_inner_error_); +#line 137 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 137 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (child); +#line 1116 "VideoMetadata.c" + goto __catch565_g_error; + } +#line 139 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp26_ = child; +#line 139 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp27_ = quick_time_atom_read_uint32 (_tmp26_, &_inner_error_); +#line 139 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp25_ = _tmp27_; +#line 139 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 139 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (child); +#line 1129 "VideoMetadata.c" + goto __catch565_g_error; + } +#line 139 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + timestamp = _tmp25_ - QUICK_TIME_METADATA_LOADER_QUICKTIME_EPOCH_ADJUSTMENT; +#line 140 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + done = TRUE; +#line 141 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 1138 "VideoMetadata.c" + } +#line 143 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp28_ = child; +#line 143 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_next_atom (_tmp28_, &_inner_error_); +#line 143 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 143 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (child); +#line 1148 "VideoMetadata.c" + goto __catch565_g_error; + } + } +#line 125 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (child); +#line 1154 "VideoMetadata.c" + } +#line 146 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp29_ = test; +#line 146 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_next_atom (_tmp29_, &_inner_error_); +#line 146 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1162 "VideoMetadata.c" + goto __catch565_g_error; + } + } + } + goto __finally565; + __catch565_g_error: + { + GError* e = NULL; + GError* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + e = _inner_error_; +#line 118 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp30_ = e; +#line 149 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp31_ = _tmp30_->message; +#line 149 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:149: Error while testing for QuickTime file: %s", _tmp31_); +#line 118 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_error_free0 (e); +#line 1185 "VideoMetadata.c" + } + __finally565: +#line 118 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 118 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (test); +#line 118 "/home/jens/Source/shotwell/src/VideoMetadata.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 118 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_clear_error (&_inner_error_); +#line 118 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return 0UL; +#line 1198 "VideoMetadata.c" + } + { + QuickTimeAtom* _tmp32_ = NULL; +#line 153 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp32_ = test; +#line 153 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_close_file (_tmp32_, &_inner_error_); +#line 153 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1208 "VideoMetadata.c" + goto __catch566_g_error; + } + } + goto __finally566; + __catch566_g_error: + { + GError* e = NULL; + GError* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + e = _inner_error_; +#line 152 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = NULL; +#line 155 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp33_ = e; +#line 155 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp34_ = _tmp33_->message; +#line 155 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:155: Error while closing Quicktime file: %s", _tmp34_); +#line 152 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_error_free0 (e); +#line 1230 "VideoMetadata.c" + } + __finally566: +#line 152 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 152 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (test); +#line 152 "/home/jens/Source/shotwell/src/VideoMetadata.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 152 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_clear_error (&_inner_error_); +#line 152 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return 0UL; +#line 1243 "VideoMetadata.c" + } +#line 166 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp35_ = timestamp; +#line 166 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp35_ < ((time_t) 0)) { +#line 1249 "VideoMetadata.c" + time_t _tmp36_ = 0; +#line 167 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp36_ = timestamp; +#line 167 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + timestamp = _tmp36_ + QUICK_TIME_METADATA_LOADER_QUICKTIME_EPOCH_ADJUSTMENT; +#line 1255 "VideoMetadata.c" + } +#line 169 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp37_ = timestamp; +#line 169 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = (gulong) _tmp37_; +#line 169 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (test); +#line 169 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 1265 "VideoMetadata.c" +} + + +static void value_quick_time_metadata_loader_init (GValue* value) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1272 "VideoMetadata.c" +} + + +static void value_quick_time_metadata_loader_free_value (GValue* value) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (value->data[0].v_pointer) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_metadata_loader_unref (value->data[0].v_pointer); +#line 1281 "VideoMetadata.c" + } +} + + +static void value_quick_time_metadata_loader_copy_value (const GValue* src_value, GValue* dest_value) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (src_value->data[0].v_pointer) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + dest_value->data[0].v_pointer = quick_time_metadata_loader_ref (src_value->data[0].v_pointer); +#line 1291 "VideoMetadata.c" + } else { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + dest_value->data[0].v_pointer = NULL; +#line 1295 "VideoMetadata.c" + } +} + + +static gpointer value_quick_time_metadata_loader_peek_pointer (const GValue* value) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return value->data[0].v_pointer; +#line 1303 "VideoMetadata.c" +} + + +static gchar* value_quick_time_metadata_loader_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (collect_values[0].v_pointer) { +#line 1310 "VideoMetadata.c" + QuickTimeMetadataLoader* object; + object = collect_values[0].v_pointer; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (object->parent_instance.g_class == NULL) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1317 "VideoMetadata.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1321 "VideoMetadata.c" + } +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = quick_time_metadata_loader_ref (object); +#line 1325 "VideoMetadata.c" + } else { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1329 "VideoMetadata.c" + } +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 1333 "VideoMetadata.c" +} + + +static gchar* value_quick_time_metadata_loader_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + QuickTimeMetadataLoader** object_p; + object_p = collect_values[0].v_pointer; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!object_p) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1344 "VideoMetadata.c" + } +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!value->data[0].v_pointer) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = NULL; +#line 1350 "VideoMetadata.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = value->data[0].v_pointer; +#line 1354 "VideoMetadata.c" + } else { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = quick_time_metadata_loader_ref (value->data[0].v_pointer); +#line 1358 "VideoMetadata.c" + } +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 1362 "VideoMetadata.c" +} + + +GParamSpec* param_spec_quick_time_metadata_loader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecQuickTimeMetadataLoader* spec; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_QUICK_TIME_METADATA_LOADER), NULL); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return G_PARAM_SPEC (spec); +#line 1376 "VideoMetadata.c" +} + + +gpointer value_get_quick_time_metadata_loader (const GValue* value) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_QUICK_TIME_METADATA_LOADER), NULL); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return value->data[0].v_pointer; +#line 1385 "VideoMetadata.c" +} + + +void value_set_quick_time_metadata_loader (GValue* value, gpointer v_object) { + QuickTimeMetadataLoader* old; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_QUICK_TIME_METADATA_LOADER)); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + old = value->data[0].v_pointer; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (v_object) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_QUICK_TIME_METADATA_LOADER)); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_metadata_loader_ref (value->data[0].v_pointer); +#line 1405 "VideoMetadata.c" + } else { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1409 "VideoMetadata.c" + } +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (old) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_metadata_loader_unref (old); +#line 1415 "VideoMetadata.c" + } +} + + +void value_take_quick_time_metadata_loader (GValue* value, gpointer v_object) { + QuickTimeMetadataLoader* old; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_QUICK_TIME_METADATA_LOADER)); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + old = value->data[0].v_pointer; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (v_object) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_QUICK_TIME_METADATA_LOADER)); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 1434 "VideoMetadata.c" + } else { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1438 "VideoMetadata.c" + } +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (old) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_metadata_loader_unref (old); +#line 1444 "VideoMetadata.c" + } +} + + +static void quick_time_metadata_loader_class_init (QuickTimeMetadataLoaderClass * klass) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_metadata_loader_parent_class = g_type_class_peek_parent (klass); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((QuickTimeMetadataLoaderClass *) klass)->finalize = quick_time_metadata_loader_finalize; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_class_add_private (klass, sizeof (QuickTimeMetadataLoaderPrivate)); +#line 1456 "VideoMetadata.c" +} + + +static void quick_time_metadata_loader_instance_init (QuickTimeMetadataLoader * self) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv = QUICK_TIME_METADATA_LOADER_GET_PRIVATE (self); +#line 59 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->file = NULL; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->ref_count = 1; +#line 1467 "VideoMetadata.c" +} + + +static void quick_time_metadata_loader_finalize (QuickTimeMetadataLoader* obj) { + QuickTimeMetadataLoader * self; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_QUICK_TIME_METADATA_LOADER, QuickTimeMetadataLoader); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_signal_handlers_destroy (self); +#line 59 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->file); +#line 1479 "VideoMetadata.c" +} + + +GType quick_time_metadata_loader_get_type (void) { + static volatile gsize quick_time_metadata_loader_type_id__volatile = 0; + if (g_once_init_enter (&quick_time_metadata_loader_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_quick_time_metadata_loader_init, value_quick_time_metadata_loader_free_value, value_quick_time_metadata_loader_copy_value, value_quick_time_metadata_loader_peek_pointer, "p", value_quick_time_metadata_loader_collect_value, "p", value_quick_time_metadata_loader_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (QuickTimeMetadataLoaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) quick_time_metadata_loader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (QuickTimeMetadataLoader), 0, (GInstanceInitFunc) quick_time_metadata_loader_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType quick_time_metadata_loader_type_id; + quick_time_metadata_loader_type_id = g_type_register_fundamental (g_type_fundamental_next (), "QuickTimeMetadataLoader", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&quick_time_metadata_loader_type_id__volatile, quick_time_metadata_loader_type_id); + } + return quick_time_metadata_loader_type_id__volatile; +} + + +gpointer quick_time_metadata_loader_ref (gpointer instance) { + QuickTimeMetadataLoader* self; + self = instance; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_atomic_int_inc (&self->ref_count); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return instance; +#line 1504 "VideoMetadata.c" +} + + +void quick_time_metadata_loader_unref (gpointer instance) { + QuickTimeMetadataLoader* self; + self = instance; +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + QUICK_TIME_METADATA_LOADER_GET_CLASS (self)->finalize (self); +#line 53 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1517 "VideoMetadata.c" + } +} + + +QuickTimeAtom* quick_time_atom_construct (GType object_type, GFile* file) { + QuickTimeAtom* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 181 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 181 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = (QuickTimeAtom*) g_type_create_instance (object_type); +#line 182 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = file; +#line 182 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 182 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->file); +#line 182 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->file = _tmp1_; +#line 181 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self; +#line 1540 "VideoMetadata.c" +} + + +QuickTimeAtom* quick_time_atom_new (GFile* file) { +#line 181 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return quick_time_atom_construct (TYPE_QUICK_TIME_ATOM, file); +#line 1547 "VideoMetadata.c" +} + + +static gpointer _quick_time_atom_ref0 (gpointer self) { +#line 187 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self ? quick_time_atom_ref (self) : NULL; +#line 1554 "VideoMetadata.c" +} + + +static QuickTimeAtom* quick_time_atom_construct_with_input_stream (GType object_type, GDataInputStream* input, QuickTimeAtom* parent) { + QuickTimeAtom* self = NULL; + GDataInputStream* _tmp0_ = NULL; + GDataInputStream* _tmp1_ = NULL; + QuickTimeAtom* _tmp2_ = NULL; + QuickTimeAtom* _tmp3_ = NULL; +#line 185 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_IS_DATA_INPUT_STREAM (input), NULL); +#line 185 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_ATOM (parent), NULL); +#line 185 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = (QuickTimeAtom*) g_type_create_instance (object_type); +#line 186 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = input; +#line 186 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 186 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->input); +#line 186 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->input = _tmp1_; +#line 187 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = parent; +#line 187 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = _quick_time_atom_ref0 (_tmp2_); +#line 187 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (self->priv->parent); +#line 187 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->parent = _tmp3_; +#line 185 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self; +#line 1588 "VideoMetadata.c" +} + + +static QuickTimeAtom* quick_time_atom_new_with_input_stream (GDataInputStream* input, QuickTimeAtom* parent) { +#line 185 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return quick_time_atom_construct_with_input_stream (TYPE_QUICK_TIME_ATOM, input, parent); +#line 1595 "VideoMetadata.c" +} + + +void quick_time_atom_open_file (QuickTimeAtom* self, GError** error) { + GFileInputStream* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInputStream* _tmp2_ = NULL; + GDataInputStream* _tmp3_ = NULL; + GDataInputStream* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_QUICK_TIME_ATOM (self)); +#line 191 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_close_file (self, &_inner_error_); +#line 191 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 191 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 191 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 1617 "VideoMetadata.c" + } +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->file; +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_file_read (_tmp1_, NULL, &_inner_error_); +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = _tmp2_; +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 1631 "VideoMetadata.c" + } +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = g_data_input_stream_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_INPUT_STREAM, GInputStream)); +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->input); +#line 192 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->input = _tmp3_; +#line 193 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = self->priv->input; +#line 193 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_data_input_stream_set_byte_order (_tmp4_, G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN); +#line 194 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = (guint64) 0; +#line 195 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = (guint64) 0; +#line 196 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = g_strdup (""); +#line 196 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->section_name); +#line 196 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_name = _tmp5_; +#line 190 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (_tmp0_); +#line 1655 "VideoMetadata.c" +} + + +void quick_time_atom_close_file (QuickTimeAtom* self, GError** error) { + GDataInputStream* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_QUICK_TIME_ATOM (self)); +#line 200 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->input; +#line 200 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (NULL != _tmp0_) { +#line 1668 "VideoMetadata.c" + GDataInputStream* _tmp1_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->input; +#line 201 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_input_stream_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, G_TYPE_INPUT_STREAM, GInputStream), NULL, &_inner_error_); +#line 201 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 201 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 201 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 1680 "VideoMetadata.c" + } +#line 202 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->input); +#line 202 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->input = NULL; +#line 1686 "VideoMetadata.c" + } +} + + +static void quick_time_atom_advance_section_offset (QuickTimeAtom* self, guint64 amount) { + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; + QuickTimeAtom* _tmp2_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_QUICK_TIME_ATOM (self)); +#line 207 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->section_offset; +#line 207 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = amount; +#line 207 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = _tmp0_ + _tmp1_; +#line 208 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = self->priv->parent; +#line 208 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (NULL != _tmp2_) { +#line 1707 "VideoMetadata.c" + QuickTimeAtom* _tmp3_ = NULL; + guint64 _tmp4_ = 0ULL; +#line 209 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = self->priv->parent; +#line 209 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = amount; +#line 209 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_advance_section_offset (_tmp3_, _tmp4_); +#line 1716 "VideoMetadata.c" + } +} + + +QuickTimeAtom* quick_time_atom_get_first_child_atom (QuickTimeAtom* self) { + QuickTimeAtom* result = NULL; + GDataInputStream* _tmp0_ = NULL; + QuickTimeAtom* _tmp1_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_ATOM (self), NULL); +#line 219 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->input; +#line 219 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = quick_time_atom_new_with_input_stream (_tmp0_, self); +#line 219 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 219 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 1735 "VideoMetadata.c" +} + + +guchar quick_time_atom_read_byte (QuickTimeAtom* self, GError** error) { + guchar result = '\0'; + guint8 _tmp0_ = 0U; + GDataInputStream* _tmp1_ = NULL; + guint8 _tmp2_ = 0U; + GError * _inner_error_ = NULL; +#line 222 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_ATOM (self), '\0'); +#line 223 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_advance_section_offset (self, (guint64) 1); +#line 224 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->input; +#line 224 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_data_input_stream_read_byte (_tmp1_, NULL, &_inner_error_); +#line 224 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = _tmp2_; +#line 224 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 224 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 224 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return '\0'; +#line 1761 "VideoMetadata.c" + } +#line 224 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = (guchar) _tmp0_; +#line 224 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 1767 "VideoMetadata.c" +} + + +guint32 quick_time_atom_read_uint32 (QuickTimeAtom* self, GError** error) { + guint32 result = 0U; + guint32 _tmp0_ = 0U; + GDataInputStream* _tmp1_ = NULL; + guint32 _tmp2_ = 0U; + GError * _inner_error_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_ATOM (self), 0U); +#line 228 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_advance_section_offset (self, (guint64) 4); +#line 229 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->input; +#line 229 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_data_input_stream_read_uint32 (_tmp1_, NULL, &_inner_error_); +#line 229 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = _tmp2_; +#line 229 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 229 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 229 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return 0U; +#line 1793 "VideoMetadata.c" + } +#line 229 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp0_; +#line 229 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 1799 "VideoMetadata.c" +} + + +guint64 quick_time_atom_read_uint64 (QuickTimeAtom* self, GError** error) { + guint64 result = 0ULL; + guint64 _tmp0_ = 0ULL; + GDataInputStream* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + GError * _inner_error_ = NULL; +#line 232 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_ATOM (self), 0ULL); +#line 233 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_advance_section_offset (self, (guint64) 8); +#line 234 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->input; +#line 234 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_data_input_stream_read_uint64 (_tmp1_, NULL, &_inner_error_); +#line 234 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = _tmp2_; +#line 234 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 234 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 234 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return 0ULL; +#line 1825 "VideoMetadata.c" + } +#line 234 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp0_; +#line 234 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 1831 "VideoMetadata.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1849 "VideoMetadata.c" +} + + +void quick_time_atom_read_atom (QuickTimeAtom* self, GError** error) { + guint32 _tmp0_ = 0U; + guint32 _tmp1_ = 0U; + GString* sb = NULL; + GString* _tmp2_ = NULL; + guchar _tmp3_ = '\0'; + guchar _tmp4_ = '\0'; + GString* _tmp5_ = NULL; + guchar _tmp6_ = '\0'; + guchar _tmp7_ = '\0'; + GString* _tmp8_ = NULL; + guchar _tmp9_ = '\0'; + guchar _tmp10_ = '\0'; + GString* _tmp11_ = NULL; + guchar _tmp12_ = '\0'; + guchar _tmp13_ = '\0'; + GString* _tmp14_ = NULL; + GString* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + guint64 _tmp41_ = 0ULL; + GError * _inner_error_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_QUICK_TIME_ATOM (self)); +#line 239 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = quick_time_atom_read_uint32 (self, &_inner_error_); +#line 239 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = _tmp1_; +#line 239 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 239 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 239 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 1890 "VideoMetadata.c" + } +#line 239 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = (guint64) _tmp0_; +#line 242 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_string_new (""); +#line 242 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + sb = _tmp2_; +#line 243 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = quick_time_atom_read_byte (self, &_inner_error_); +#line 243 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = _tmp4_; +#line 243 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 243 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 243 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 243 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 1910 "VideoMetadata.c" + } +#line 243 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = sb; +#line 243 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp5_, (gchar) _tmp3_); +#line 244 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = quick_time_atom_read_byte (self, &_inner_error_); +#line 244 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = _tmp7_; +#line 244 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 244 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 244 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 244 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 1928 "VideoMetadata.c" + } +#line 244 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = sb; +#line 244 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp8_, (gchar) _tmp6_); +#line 245 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = quick_time_atom_read_byte (self, &_inner_error_); +#line 245 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = _tmp10_; +#line 245 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 245 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 245 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 245 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 1946 "VideoMetadata.c" + } +#line 245 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = sb; +#line 245 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp11_, (gchar) _tmp9_); +#line 246 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = quick_time_atom_read_byte (self, &_inner_error_); +#line 246 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = _tmp13_; +#line 246 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 246 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 246 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 246 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 1964 "VideoMetadata.c" + } +#line 246 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = sb; +#line 246 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp14_, (gchar) _tmp12_); +#line 247 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = sb; +#line 247 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = _tmp15_->str; +#line 247 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 247 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->section_name); +#line 247 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_name = _tmp17_; +#line 250 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = self->priv->section_name; +#line 250 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = strlen (_tmp18_); +#line 250 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = _tmp19_; +#line 250 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp20_ != 4) { +#line 1988 "VideoMetadata.c" + GFile* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + GError* _tmp24_ = NULL; + GError* _tmp25_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp21_ = self->priv->file; +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp22_ = g_file_get_path (_tmp21_); +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp23_ = _tmp22_; +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp24_ = g_error_new (G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, "QuickTime atom name length is invalid for %s", _tmp23_); +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp25_ = _tmp24_; +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp23_); +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = _tmp25_; +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 251 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 2014 "VideoMetadata.c" + } + { + gint i = 0; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + i = 0; +#line 2020 "VideoMetadata.c" + { + gboolean _tmp26_ = FALSE; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp26_ = TRUE; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 2027 "VideoMetadata.c" + gint _tmp28_ = 0; + const gchar* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + const gchar* _tmp32_ = NULL; + gint _tmp33_ = 0; + gchar _tmp34_ = '\0'; + gboolean _tmp35_ = FALSE; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!_tmp26_) { +#line 2038 "VideoMetadata.c" + gint _tmp27_ = 0; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp27_ = i; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + i = _tmp27_ + 1; +#line 2044 "VideoMetadata.c" + } +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp26_ = FALSE; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp28_ = i; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp29_ = self->priv->section_name; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp30_ = strlen (_tmp29_); +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp31_ = _tmp30_; +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!(_tmp28_ < _tmp31_)) { +#line 254 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 2060 "VideoMetadata.c" + } +#line 255 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp32_ = self->priv->section_name; +#line 255 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp33_ = i; +#line 255 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp34_ = string_get (_tmp32_, (glong) _tmp33_); +#line 255 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp35_ = g_ascii_isprint (_tmp34_); +#line 255 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!_tmp35_) { +#line 2072 "VideoMetadata.c" + GFile* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + GError* _tmp39_ = NULL; + GError* _tmp40_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp36_ = self->priv->file; +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp37_ = g_file_get_path (_tmp36_); +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp38_ = _tmp37_; +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp39_ = g_error_new (G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, "Bad QuickTime atom in file %s", _tmp38_); +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp40_ = _tmp39_; +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp38_); +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = _tmp40_; +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 256 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 2098 "VideoMetadata.c" + } + } + } + } +#line 260 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp41_ = self->priv->section_size; +#line 260 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (((guint64) 1) == _tmp41_) { +#line 2107 "VideoMetadata.c" + guint64 _tmp42_ = 0ULL; + guint64 _tmp43_ = 0ULL; +#line 263 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp43_ = quick_time_atom_read_uint64 (self, &_inner_error_); +#line 263 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp42_ = _tmp43_; +#line 263 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 263 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 263 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 263 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 2122 "VideoMetadata.c" + } +#line 263 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = _tmp42_; +#line 2126 "VideoMetadata.c" + } +#line 237 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 2130 "VideoMetadata.c" +} + + +static void quick_time_atom_skip (QuickTimeAtom* self, guint64 skip_amount, GError** error) { + GDataInputStream* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + GError * _inner_error_ = NULL; +#line 267 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_QUICK_TIME_ATOM (self)); +#line 268 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->input; +#line 268 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = skip_amount; +#line 268 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + skip_uint64 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_INPUT_STREAM, GInputStream), _tmp1_, &_inner_error_); +#line 268 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 268 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 268 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 2152 "VideoMetadata.c" + } +} + + +guint64 quick_time_atom_section_size_remaining (QuickTimeAtom* self) { + guint64 result = 0ULL; + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; +#line 271 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_ATOM (self), 0ULL); +#line 272 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->section_size; +#line 272 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->section_offset; +#line 272 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _vala_assert (_tmp0_ >= _tmp1_, "section_size >= section_offset"); +#line 273 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = self->priv->section_size; +#line 273 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = self->priv->section_offset; +#line 273 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp2_ - _tmp3_; +#line 273 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 2179 "VideoMetadata.c" +} + + +void quick_time_atom_next_atom (QuickTimeAtom* self, GError** error) { + guint64 _tmp0_ = 0ULL; + GError * _inner_error_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_QUICK_TIME_ATOM (self)); +#line 277 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = quick_time_atom_section_size_remaining (self); +#line 277 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_skip (self, _tmp0_, &_inner_error_); +#line 277 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 277 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 277 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 2198 "VideoMetadata.c" + } +#line 278 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = (guint64) 0; +#line 279 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = (guint64) 0; +#line 2204 "VideoMetadata.c" +} + + +gchar* quick_time_atom_get_current_atom_name (QuickTimeAtom* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_ATOM (self), NULL); +#line 283 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->section_name; +#line 283 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 283 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 283 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 2222 "VideoMetadata.c" +} + + +gboolean quick_time_atom_is_last_atom (QuickTimeAtom* self) { + gboolean result = FALSE; + guint64 _tmp0_ = 0ULL; +#line 286 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_QUICK_TIME_ATOM (self), FALSE); +#line 287 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->section_size; +#line 287 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = ((guint64) 0) == _tmp0_; +#line 287 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 2237 "VideoMetadata.c" +} + + +static void value_quick_time_atom_init (GValue* value) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 2244 "VideoMetadata.c" +} + + +static void value_quick_time_atom_free_value (GValue* value) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (value->data[0].v_pointer) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_unref (value->data[0].v_pointer); +#line 2253 "VideoMetadata.c" + } +} + + +static void value_quick_time_atom_copy_value (const GValue* src_value, GValue* dest_value) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (src_value->data[0].v_pointer) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + dest_value->data[0].v_pointer = quick_time_atom_ref (src_value->data[0].v_pointer); +#line 2263 "VideoMetadata.c" + } else { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + dest_value->data[0].v_pointer = NULL; +#line 2267 "VideoMetadata.c" + } +} + + +static gpointer value_quick_time_atom_peek_pointer (const GValue* value) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return value->data[0].v_pointer; +#line 2275 "VideoMetadata.c" +} + + +static gchar* value_quick_time_atom_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (collect_values[0].v_pointer) { +#line 2282 "VideoMetadata.c" + QuickTimeAtom* object; + object = collect_values[0].v_pointer; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (object->parent_instance.g_class == NULL) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2289 "VideoMetadata.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2293 "VideoMetadata.c" + } +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = quick_time_atom_ref (object); +#line 2297 "VideoMetadata.c" + } else { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 2301 "VideoMetadata.c" + } +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 2305 "VideoMetadata.c" +} + + +static gchar* value_quick_time_atom_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + QuickTimeAtom** object_p; + object_p = collect_values[0].v_pointer; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!object_p) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2316 "VideoMetadata.c" + } +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!value->data[0].v_pointer) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = NULL; +#line 2322 "VideoMetadata.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = value->data[0].v_pointer; +#line 2326 "VideoMetadata.c" + } else { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = quick_time_atom_ref (value->data[0].v_pointer); +#line 2330 "VideoMetadata.c" + } +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 2334 "VideoMetadata.c" +} + + +GParamSpec* param_spec_quick_time_atom (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecQuickTimeAtom* spec; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_QUICK_TIME_ATOM), NULL); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return G_PARAM_SPEC (spec); +#line 2348 "VideoMetadata.c" +} + + +gpointer value_get_quick_time_atom (const GValue* value) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_QUICK_TIME_ATOM), NULL); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return value->data[0].v_pointer; +#line 2357 "VideoMetadata.c" +} + + +void value_set_quick_time_atom (GValue* value, gpointer v_object) { + QuickTimeAtom* old; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_QUICK_TIME_ATOM)); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + old = value->data[0].v_pointer; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (v_object) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_QUICK_TIME_ATOM)); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_ref (value->data[0].v_pointer); +#line 2377 "VideoMetadata.c" + } else { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 2381 "VideoMetadata.c" + } +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (old) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_unref (old); +#line 2387 "VideoMetadata.c" + } +} + + +void value_take_quick_time_atom (GValue* value, gpointer v_object) { + QuickTimeAtom* old; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_QUICK_TIME_ATOM)); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + old = value->data[0].v_pointer; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (v_object) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_QUICK_TIME_ATOM)); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 2406 "VideoMetadata.c" + } else { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 2410 "VideoMetadata.c" + } +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (old) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_unref (old); +#line 2416 "VideoMetadata.c" + } +} + + +static void quick_time_atom_class_init (QuickTimeAtomClass * klass) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + quick_time_atom_parent_class = g_type_class_peek_parent (klass); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((QuickTimeAtomClass *) klass)->finalize = quick_time_atom_finalize; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_class_add_private (klass, sizeof (QuickTimeAtomPrivate)); +#line 2428 "VideoMetadata.c" +} + + +static void quick_time_atom_instance_init (QuickTimeAtom * self) { + gchar* _tmp0_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv = QUICK_TIME_ATOM_GET_PRIVATE (self); +#line 174 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->file = NULL; +#line 175 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = g_strdup (""); +#line 175 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_name = _tmp0_; +#line 176 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = (guint64) 0; +#line 177 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = (guint64) 0; +#line 178 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->input = NULL; +#line 179 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->parent = NULL; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->ref_count = 1; +#line 2452 "VideoMetadata.c" +} + + +static void quick_time_atom_finalize (QuickTimeAtom* obj) { + QuickTimeAtom * self; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_QUICK_TIME_ATOM, QuickTimeAtom); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_signal_handlers_destroy (self); +#line 174 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->file); +#line 175 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->section_name); +#line 178 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->input); +#line 179 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _quick_time_atom_unref0 (self->priv->parent); +#line 2470 "VideoMetadata.c" +} + + +GType quick_time_atom_get_type (void) { + static volatile gsize quick_time_atom_type_id__volatile = 0; + if (g_once_init_enter (&quick_time_atom_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_quick_time_atom_init, value_quick_time_atom_free_value, value_quick_time_atom_copy_value, value_quick_time_atom_peek_pointer, "p", value_quick_time_atom_collect_value, "p", value_quick_time_atom_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (QuickTimeAtomClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) quick_time_atom_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (QuickTimeAtom), 0, (GInstanceInitFunc) quick_time_atom_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType quick_time_atom_type_id; + quick_time_atom_type_id = g_type_register_fundamental (g_type_fundamental_next (), "QuickTimeAtom", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&quick_time_atom_type_id__volatile, quick_time_atom_type_id); + } + return quick_time_atom_type_id__volatile; +} + + +gpointer quick_time_atom_ref (gpointer instance) { + QuickTimeAtom* self; + self = instance; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_atomic_int_inc (&self->ref_count); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return instance; +#line 2495 "VideoMetadata.c" +} + + +void quick_time_atom_unref (gpointer instance) { + QuickTimeAtom* self; + self = instance; +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + QUICK_TIME_ATOM_GET_CLASS (self)->finalize (self); +#line 173 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2508 "VideoMetadata.c" + } +} + + +AVIMetadataLoader* avi_metadata_loader_construct (GType object_type, GFile* file) { + AVIMetadataLoader* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 305 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = (AVIMetadataLoader*) g_type_create_instance (object_type); +#line 306 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = file; +#line 306 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 306 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->file); +#line 306 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->file = _tmp1_; +#line 305 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self; +#line 2531 "VideoMetadata.c" +} + + +AVIMetadataLoader* avi_metadata_loader_new (GFile* file) { +#line 305 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return avi_metadata_loader_construct (TYPE_AVI_METADATA_LOADER, file); +#line 2538 "VideoMetadata.c" +} + + +MetadataDateTime* avi_metadata_loader_get_creation_date_time (AVIMetadataLoader* self) { + MetadataDateTime* result = NULL; + gulong _tmp0_ = 0UL; + MetadataDateTime* _tmp1_ = NULL; +#line 309 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), NULL); +#line 310 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = avi_metadata_loader_get_creation_date_time_for_avi (self); +#line 310 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = metadata_date_time_new ((time_t) _tmp0_); +#line 310 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 310 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 2556 "VideoMetadata.c" +} + + +gchar* avi_metadata_loader_get_title (AVIMetadataLoader* self) { + gchar* result = NULL; +#line 313 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), NULL); +#line 315 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = NULL; +#line 315 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 2568 "VideoMetadata.c" +} + + +gboolean avi_metadata_loader_is_supported (AVIMetadataLoader* self) { + gboolean result = FALSE; + AVIChunk* chunk = NULL; + GFile* _tmp0_ = NULL; + AVIChunk* _tmp1_ = NULL; + gboolean ret = FALSE; + GError * _inner_error_ = NULL; +#line 319 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), FALSE); +#line 320 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->file; +#line 320 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = avi_chunk_new (_tmp0_); +#line 320 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + chunk = _tmp1_; +#line 321 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ret = FALSE; +#line 2589 "VideoMetadata.c" + { + AVIChunk* _tmp2_ = NULL; + AVIChunk* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + AVIChunk* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 323 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = chunk; +#line 323 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_open_file (_tmp2_, &_inner_error_); +#line 323 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2604 "VideoMetadata.c" + goto __catch567_g_error; + } +#line 324 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = chunk; +#line 324 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_read_chunk (_tmp3_, &_inner_error_); +#line 324 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2613 "VideoMetadata.c" + goto __catch567_g_error; + } +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = chunk; +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = avi_chunk_get_current_chunk_name (_tmp5_); +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = _tmp6_; +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = g_strcmp0 ("RIFF", _tmp7_) == 0; +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp7_); +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp8_) { +#line 2628 "VideoMetadata.c" + gchar* _tmp9_ = NULL; + AVIChunk* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = chunk; +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = avi_chunk_read_name (_tmp10_, &_inner_error_); +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = _tmp11_; +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2642 "VideoMetadata.c" + goto __catch567_g_error; + } +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = _tmp9_; +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = NULL; +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = _tmp12_; +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = g_strcmp0 ("AVI ", _tmp13_) == 0; +#line 327 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp13_); +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp9_); +#line 2657 "VideoMetadata.c" + } else { +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = FALSE; +#line 2661 "VideoMetadata.c" + } +#line 326 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp4_) { +#line 328 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ret = TRUE; +#line 2667 "VideoMetadata.c" + } + } + goto __finally567; + __catch567_g_error: + { + GError* e = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 322 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + e = _inner_error_; +#line 322 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = e; +#line 331 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = _tmp14_->message; +#line 331 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:331: Error while testing for AVI file: %s", _tmp15_); +#line 322 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_error_free0 (e); +#line 2688 "VideoMetadata.c" + } + __finally567: +#line 322 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 322 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (chunk); +#line 322 "/home/jens/Source/shotwell/src/VideoMetadata.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 322 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_clear_error (&_inner_error_); +#line 322 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return FALSE; +#line 2701 "VideoMetadata.c" + } + { + AVIChunk* _tmp16_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = chunk; +#line 335 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_close_file (_tmp16_, &_inner_error_); +#line 335 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2711 "VideoMetadata.c" + goto __catch568_g_error; + } + } + goto __finally568; + __catch568_g_error: + { + GError* e = NULL; + GError* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + e = _inner_error_; +#line 334 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = e; +#line 337 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = _tmp17_->message; +#line 337 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:337: Error while closing AVI file: %s", _tmp18_); +#line 334 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_error_free0 (e); +#line 2733 "VideoMetadata.c" + } + __finally568: +#line 334 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 334 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (chunk); +#line 334 "/home/jens/Source/shotwell/src/VideoMetadata.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 334 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_clear_error (&_inner_error_); +#line 334 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return FALSE; +#line 2746 "VideoMetadata.c" + } +#line 339 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = ret; +#line 339 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (chunk); +#line 339 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 2754 "VideoMetadata.c" +} + + +static gchar* avi_metadata_loader_read_nikon_nctg_tag (AVIMetadataLoader* self, AVIChunk* chunk, GError** error) { + gchar* result = NULL; + gboolean found_date = FALSE; + gboolean _tmp9_ = FALSE; + gchar* _tmp21_ = NULL; + GError * _inner_error_ = NULL; +#line 343 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), NULL); +#line 343 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (chunk), NULL); +#line 344 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + found_date = FALSE; +#line 345 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 2772 "VideoMetadata.c" + AVIChunk* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + guint16 tag = 0U; + AVIChunk* _tmp2_ = NULL; + guint16 _tmp3_ = 0U; + guint16 size = 0U; + AVIChunk* _tmp4_ = NULL; + guint16 _tmp5_ = 0U; + guint16 _tmp6_ = 0U; + AVIChunk* _tmp7_ = NULL; + guint16 _tmp8_ = 0U; +#line 345 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = chunk; +#line 345 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = avi_chunk_section_size_remaining (_tmp0_); +#line 345 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!(_tmp1_ > ((guint64) (sizeof (guint16) * 2)))) { +#line 345 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 2792 "VideoMetadata.c" + } +#line 346 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = chunk; +#line 346 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = avi_chunk_read_uint16 (_tmp2_, &_inner_error_); +#line 346 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + tag = _tmp3_; +#line 346 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 346 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 346 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 2806 "VideoMetadata.c" + } +#line 347 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = chunk; +#line 347 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = avi_chunk_read_uint16 (_tmp4_, &_inner_error_); +#line 347 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + size = _tmp5_; +#line 347 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 347 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 347 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 2820 "VideoMetadata.c" + } +#line 348 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = tag; +#line 348 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (AVI_METADATA_LOADER_NIKON_NCTG_TIMESTAMP_MARKER == _tmp6_) { +#line 349 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + found_date = TRUE; +#line 350 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 2830 "VideoMetadata.c" + } +#line 352 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = chunk; +#line 352 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = size; +#line 352 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_skip (_tmp7_, (guint64) _tmp8_, &_inner_error_); +#line 352 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 352 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 352 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 2844 "VideoMetadata.c" + } + } +#line 355 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = found_date; +#line 355 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp9_) { +#line 2851 "VideoMetadata.c" + GString* sb = NULL; + GString* _tmp10_ = NULL; + GString* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 357 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = g_string_new (""); +#line 357 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + sb = _tmp10_; +#line 2861 "VideoMetadata.c" + { + gint i = 0; +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + i = 0; +#line 2866 "VideoMetadata.c" + { + gboolean _tmp11_ = FALSE; +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = TRUE; +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 2873 "VideoMetadata.c" + gint _tmp13_ = 0; + guchar _tmp14_ = '\0'; + AVIChunk* _tmp15_ = NULL; + guchar _tmp16_ = '\0'; + GString* _tmp17_ = NULL; +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!_tmp11_) { +#line 2881 "VideoMetadata.c" + gint _tmp12_ = 0; +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = i; +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + i = _tmp12_ + 1; +#line 2887 "VideoMetadata.c" + } +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = FALSE; +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = i; +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!(_tmp13_ < AVI_METADATA_LOADER_NUMERICAL_DATE_LENGTH)) { +#line 358 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 2897 "VideoMetadata.c" + } +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = chunk; +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = avi_chunk_read_byte (_tmp15_, &_inner_error_); +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = _tmp16_; +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 2913 "VideoMetadata.c" + } +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = sb; +#line 359 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp17_, (gchar) _tmp14_); +#line 2919 "VideoMetadata.c" + } + } + } +#line 361 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = sb; +#line 361 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = _tmp18_->str; +#line 361 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = g_strdup (_tmp19_); +#line 361 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp20_; +#line 361 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 361 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 2935 "VideoMetadata.c" + } +#line 363 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp21_ = g_strdup (""); +#line 363 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp21_; +#line 363 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 2943 "VideoMetadata.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 2966 "VideoMetadata.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2974 "VideoMetadata.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2986 "VideoMetadata.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 3010 "VideoMetadata.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 3016 "VideoMetadata.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 3020 "VideoMetadata.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 3024 "VideoMetadata.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 3036 "VideoMetadata.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 3046 "VideoMetadata.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 3052 "VideoMetadata.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 3066 "VideoMetadata.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 3076 "VideoMetadata.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 3082 "VideoMetadata.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 3091 "VideoMetadata.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3111 "VideoMetadata.c" +} + + +static gchar* avi_metadata_loader_read_fuji_strd_tag (AVIMetadataLoader* self, AVIChunk* chunk, GError** error) { + gchar* result = NULL; + AVIChunk* _tmp0_ = NULL; + AVIChunk* _tmp1_ = NULL; + gint colons = 0; + gint post_colons = 0; + GString* sb = NULL; + GString* _tmp2_ = NULL; + GString* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + GString* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + GString* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gchar* _tmp31_ = NULL; + GError * _inner_error_ = NULL; +#line 368 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), NULL); +#line 368 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (chunk), NULL); +#line 369 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = chunk; +#line 369 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_skip (_tmp0_, (guint64) 98, &_inner_error_); +#line 369 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 369 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 369 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3149 "VideoMetadata.c" + } +#line 370 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = chunk; +#line 370 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_skip (_tmp1_, (guint64) 8, &_inner_error_); +#line 370 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 370 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 370 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3161 "VideoMetadata.c" + } +#line 372 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + colons = 0; +#line 373 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + post_colons = 0; +#line 374 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_string_new (""); +#line 374 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + sb = _tmp2_; +#line 376 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 3173 "VideoMetadata.c" + gboolean _tmp3_ = FALSE; + gint _tmp4_ = 0; + guchar _tmp6_ = '\0'; + AVIChunk* _tmp7_ = NULL; + guchar _tmp8_ = '\0'; + gchar c = '\0'; + gint _tmp9_ = 0; + gchar _tmp11_ = '\0'; + gchar _tmp13_ = '\0'; + gboolean _tmp14_ = FALSE; + GString* _tmp17_ = NULL; + gssize _tmp18_ = 0L; +#line 376 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = colons; +#line 376 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp4_ <= 4) { +#line 3190 "VideoMetadata.c" + gint _tmp5_ = 0; +#line 376 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = post_colons; +#line 376 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = _tmp5_ < 2; +#line 3196 "VideoMetadata.c" + } else { +#line 376 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = FALSE; +#line 3200 "VideoMetadata.c" + } +#line 376 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!_tmp3_) { +#line 376 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 3206 "VideoMetadata.c" + } +#line 377 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = chunk; +#line 377 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = avi_chunk_read_byte (_tmp7_, &_inner_error_); +#line 377 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = _tmp8_; +#line 377 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 377 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 377 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 377 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3222 "VideoMetadata.c" + } +#line 377 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + c = (gchar) _tmp6_; +#line 378 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = colons; +#line 378 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (4 == _tmp9_) { +#line 3230 "VideoMetadata.c" + gint _tmp10_ = 0; +#line 379 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = post_colons; +#line 379 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + post_colons = _tmp10_ + 1; +#line 3236 "VideoMetadata.c" + } +#line 381 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = c; +#line 381 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (':' == _tmp11_) { +#line 3242 "VideoMetadata.c" + gint _tmp12_ = 0; +#line 382 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = colons; +#line 382 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + colons = _tmp12_ + 1; +#line 3248 "VideoMetadata.c" + } +#line 384 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = c; +#line 384 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = g_ascii_isprint (_tmp13_); +#line 384 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp14_) { +#line 3256 "VideoMetadata.c" + GString* _tmp15_ = NULL; + gchar _tmp16_ = '\0'; +#line 385 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = sb; +#line 385 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = c; +#line 385 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp15_, _tmp16_); +#line 3265 "VideoMetadata.c" + } +#line 387 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = sb; +#line 387 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = _tmp17_->len; +#line 387 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp18_ > ((gssize) AVI_METADATA_LOADER_MAX_STRD_LENGTH)) { +#line 3273 "VideoMetadata.c" + gchar* _tmp19_ = NULL; +#line 388 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = g_strdup (""); +#line 388 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp19_; +#line 388 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 388 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3283 "VideoMetadata.c" + } + } +#line 392 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = sb; +#line 392 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp21_ = _tmp20_->str; +#line 392 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp22_ = strlen (_tmp21_); +#line 392 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp23_ = _tmp22_; +#line 392 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp23_ < AVI_METADATA_LOADER_NUMERICAL_DATE_LENGTH) { +#line 3296 "VideoMetadata.c" + gchar* _tmp24_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp24_ = g_strdup (""); +#line 393 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp24_; +#line 393 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 393 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3306 "VideoMetadata.c" + } +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp25_ = sb; +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp26_ = _tmp25_->str; +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp27_ = sb; +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp28_ = _tmp27_->str; +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp29_ = strlen (_tmp28_); +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp30_ = _tmp29_; +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp31_ = string_substring (_tmp26_, (glong) (_tmp30_ - AVI_METADATA_LOADER_NUMERICAL_DATE_LENGTH), (glong) -1); +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp31_; +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 396 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3328 "VideoMetadata.c" +} + + +static gchar* avi_metadata_loader_read_section (AVIMetadataLoader* self, AVIChunk* chunk, GError** error) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 400 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), NULL); +#line 400 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (chunk), NULL); +#line 401 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 3341 "VideoMetadata.c" + AVIChunk* _tmp0_ = NULL; + gchar* name = NULL; + AVIChunk* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp18_ = NULL; + AVIChunk* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + AVIChunk* _tmp30_ = NULL; +#line 402 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = chunk; +#line 402 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_read_chunk (_tmp0_, &_inner_error_); +#line 402 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 402 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 402 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3361 "VideoMetadata.c" + } +#line 403 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = chunk; +#line 403 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = avi_chunk_get_current_chunk_name (_tmp1_); +#line 403 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + name = _tmp2_; +#line 404 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = name; +#line 404 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (g_strcmp0 ("IDIT", _tmp3_) == 0) { +#line 3373 "VideoMetadata.c" + gchar* _tmp4_ = NULL; + AVIChunk* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = chunk; +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = avi_chunk_section_to_string (_tmp5_, &_inner_error_); +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = _tmp6_; +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3392 "VideoMetadata.c" + } +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = _tmp4_; +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp7_; +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp4_); +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 405 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3406 "VideoMetadata.c" + } else { + const gchar* _tmp8_ = NULL; +#line 406 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = name; +#line 406 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (g_strcmp0 ("nctg", _tmp8_) == 0) { +#line 3413 "VideoMetadata.c" + gchar* _tmp9_ = NULL; + AVIChunk* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = chunk; +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = avi_metadata_loader_read_nikon_nctg_tag (self, _tmp10_, &_inner_error_); +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = _tmp11_; +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3432 "VideoMetadata.c" + } +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = _tmp9_; +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = NULL; +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp12_; +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp9_); +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 407 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3446 "VideoMetadata.c" + } else { + const gchar* _tmp13_ = NULL; +#line 408 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = name; +#line 408 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (g_strcmp0 ("strd", _tmp13_) == 0) { +#line 3453 "VideoMetadata.c" + gchar* _tmp14_ = NULL; + AVIChunk* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = chunk; +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = avi_metadata_loader_read_fuji_strd_tag (self, _tmp15_, &_inner_error_); +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = _tmp16_; +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3472 "VideoMetadata.c" + } +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = _tmp14_; +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = NULL; +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp17_; +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp14_); +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 409 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3486 "VideoMetadata.c" + } + } + } +#line 412 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = name; +#line 412 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (g_strcmp0 ("LIST", _tmp18_) == 0) { +#line 3494 "VideoMetadata.c" + AVIChunk* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _result_ = NULL; + AVIChunk* _tmp22_ = NULL; + AVIChunk* _tmp23_ = NULL; + AVIChunk* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = chunk; +#line 413 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = avi_chunk_read_name (_tmp19_, &_inner_error_); +#line 413 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp21_ = _tmp20_; +#line 413 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp21_); +#line 413 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 413 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 413 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 413 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3521 "VideoMetadata.c" + } +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp22_ = chunk; +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp23_ = avi_chunk_get_first_child_chunk (_tmp22_); +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp24_ = _tmp23_; +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp25_ = avi_metadata_loader_read_section (self, _tmp24_, &_inner_error_); +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp26_ = _tmp25_; +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (_tmp24_); +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _result_ = _tmp26_; +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 414 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3545 "VideoMetadata.c" + } +#line 415 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp27_ = _result_; +#line 415 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (NULL != _tmp27_) { +#line 416 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _result_; +#line 416 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 416 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3557 "VideoMetadata.c" + } +#line 412 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_result_); +#line 3561 "VideoMetadata.c" + } +#line 420 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp28_ = chunk; +#line 420 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp29_ = avi_chunk_is_last_chunk (_tmp28_); +#line 420 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp29_) { +#line 421 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 421 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 3573 "VideoMetadata.c" + } +#line 423 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp30_ = chunk; +#line 423 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_next_chunk (_tmp30_, &_inner_error_); +#line 423 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 423 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 423 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 423 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 3587 "VideoMetadata.c" + } +#line 401 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (name); +#line 3591 "VideoMetadata.c" + } +#line 425 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = NULL; +#line 425 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3597 "VideoMetadata.c" +} + + +static gulong avi_metadata_loader_parse_date (AVIMetadataLoader* self, const gchar* sdate) { + gulong result = 0UL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GDate date = {0}; + guint seconds = 0U; + gint year = 0; + gint month = 0; + gint day = 0; + gint hour = 0; + gint min = 0; + gint sec = 0; + gchar weekday[4] = {0}; + gchar monthstr[4] = {0}; + const gchar* _tmp3_ = NULL; + gchar _tmp4_ = '\0'; + gboolean _tmp5_ = FALSE; + struct tm time = {0}; + struct tm _tmp26_ = {0}; + time_t tm = 0; + time_t _tmp27_ = 0; + gulong _result_ = 0UL; + time_t _tmp28_ = 0; + guint _tmp29_ = 0U; + gulong _tmp30_ = 0UL; + time_t _tmp31_ = 0; +#line 432 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), 0UL); +#line 432 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (sdate != NULL, 0UL); +#line 433 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = sdate; +#line 433 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = strlen (_tmp0_); +#line 433 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = _tmp1_; +#line 433 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp2_ == 0) { +#line 434 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = (gulong) 0; +#line 434 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3644 "VideoMetadata.c" + } +#line 437 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + memset (&date, 0, sizeof (GDate)); +#line 438 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + seconds = (guint) 0; +#line 443 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = sdate; +#line 443 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = string_get (_tmp3_, (glong) 0); +#line 443 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = g_ascii_isdigit (_tmp4_); +#line 443 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp5_) { +#line 3658 "VideoMetadata.c" + gchar* tmp = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gint _result_ = 0; + const gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 447 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = sdate; +#line 447 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 447 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + tmp = _tmp7_; +#line 448 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = tmp; +#line 448 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_strcanon (_tmp8_, "0123456789 ", ' '); +#line 449 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + sec = 0; +#line 450 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = tmp; +#line 450 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = sscanf (_tmp9_, "%d %d %d %d %d %d", &year, &month, &day, &hour, &min, &sec); +#line 450 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _result_ = _tmp10_; +#line 451 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = _result_; +#line 451 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp11_ < 5) { +#line 452 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = (gulong) 0; +#line 452 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (tmp); +#line 452 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3701 "VideoMetadata.c" + } +#line 454 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = day; +#line 454 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = month; +#line 454 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = year; +#line 454 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_date_set_dmy (&date, (GDateDay) _tmp12_, (gint) ((GDateMonth) _tmp13_), (GDateYear) _tmp14_); +#line 455 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = sec; +#line 455 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = min; +#line 455 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = hour; +#line 455 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + seconds = (guint) ((_tmp15_ + (_tmp16_ * 60)) + (_tmp17_ * 3600)); +#line 443 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (tmp); +#line 3721 "VideoMetadata.c" + } else { + const gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + GDateMonth _tmp21_ = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 458 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = sdate; +#line 458 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = sscanf (_tmp18_, "%3s %3s %d %d:%d:%d %d", weekday, monthstr, &day, &hour, &min, &sec, &year); +#line 458 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (7 != _tmp19_) { +#line 460 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = (gulong) 0; +#line 460 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3741 "VideoMetadata.c" + } +#line 462 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = day; +#line 462 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp21_ = avi_metadata_loader_month_from_string (self, (const gchar*) monthstr); +#line 462 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp22_ = year; +#line 462 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_date_set_dmy (&date, (GDateDay) _tmp20_, (gint) _tmp21_, (GDateYear) _tmp22_); +#line 463 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp23_ = sec; +#line 463 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp24_ = min; +#line 463 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp25_ = hour; +#line 463 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + seconds = (guint) ((_tmp23_ + (_tmp24_ * 60)) + (_tmp25_ * 3600)); +#line 3759 "VideoMetadata.c" + } +#line 466 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + memset (&time, 0, sizeof (struct tm)); +#line 467 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_date_to_struct_tm (&date, &_tmp26_); +#line 467 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + time = _tmp26_; +#line 470 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp27_ = mktime (&time); +#line 470 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + tm = _tmp27_; +#line 471 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp28_ = tm; +#line 471 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp29_ = seconds; +#line 471 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _result_ = (gulong) (_tmp28_ + _tmp29_); +#line 472 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp30_ = _result_; +#line 472 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp31_ = tm; +#line 472 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp30_ < ((gulong) _tmp31_)) { +#line 3783 "VideoMetadata.c" + GFile* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp32_ = self->priv->file; +#line 473 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp33_ = g_file_get_path (_tmp32_); +#line 473 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp34_ = _tmp33_; +#line 473 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:473: Overflow for timestamp in video file %s", _tmp34_); +#line 473 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp34_); +#line 475 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = (gulong) 0; +#line 475 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3801 "VideoMetadata.c" + } +#line 478 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _result_; +#line 478 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3807 "VideoMetadata.c" +} + + +static GDateMonth avi_metadata_loader_month_from_string (AVIMetadataLoader* self, const gchar* s) { + GDateMonth result = 0; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GQuark _tmp4_ = 0U; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label0 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label1 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label2 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label3 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label4 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label5 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label6 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label7 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label8 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label9 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label10 = 0; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + static GQuark _tmp3_label11 = 0; +#line 481 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), 0); +#line 481 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (s != NULL, 0); +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = s; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = g_utf8_strdown (_tmp0_, (gssize) -1); +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = _tmp1_; +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = (NULL == _tmp2_) ? 0 : g_quark_from_string (_tmp2_); +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_free (_tmp2_); +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp4_ == ((0 != _tmp3_label0) ? _tmp3_label0 : (_tmp3_label0 = g_quark_from_static_string ("jan")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3859 "VideoMetadata.c" + default: + { +#line 484 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_JANUARY; +#line 484 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3866 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label1) ? _tmp3_label1 : (_tmp3_label1 = g_quark_from_static_string ("feb")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3872 "VideoMetadata.c" + default: + { +#line 486 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_FEBRUARY; +#line 486 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3879 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label2) ? _tmp3_label2 : (_tmp3_label2 = g_quark_from_static_string ("mar")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3885 "VideoMetadata.c" + default: + { +#line 488 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_MARCH; +#line 488 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3892 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label3) ? _tmp3_label3 : (_tmp3_label3 = g_quark_from_static_string ("apr")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3898 "VideoMetadata.c" + default: + { +#line 490 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_APRIL; +#line 490 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3905 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label4) ? _tmp3_label4 : (_tmp3_label4 = g_quark_from_static_string ("may")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3911 "VideoMetadata.c" + default: + { +#line 492 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_MAY; +#line 492 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3918 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label5) ? _tmp3_label5 : (_tmp3_label5 = g_quark_from_static_string ("jun")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3924 "VideoMetadata.c" + default: + { +#line 494 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_JUNE; +#line 494 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3931 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label6) ? _tmp3_label6 : (_tmp3_label6 = g_quark_from_static_string ("jul")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3937 "VideoMetadata.c" + default: + { +#line 496 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_JULY; +#line 496 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3944 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label7) ? _tmp3_label7 : (_tmp3_label7 = g_quark_from_static_string ("aug")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3950 "VideoMetadata.c" + default: + { +#line 498 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_AUGUST; +#line 498 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3957 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label8) ? _tmp3_label8 : (_tmp3_label8 = g_quark_from_static_string ("sep")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3963 "VideoMetadata.c" + default: + { +#line 500 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_SEPTEMBER; +#line 500 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3970 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label9) ? _tmp3_label9 : (_tmp3_label9 = g_quark_from_static_string ("oct")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3976 "VideoMetadata.c" + default: + { +#line 502 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_OCTOBER; +#line 502 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3983 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label10) ? _tmp3_label10 : (_tmp3_label10 = g_quark_from_static_string ("nov")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 3989 "VideoMetadata.c" + default: + { +#line 504 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_NOVEMBER; +#line 504 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 3996 "VideoMetadata.c" + } + } + } else if (_tmp4_ == ((0 != _tmp3_label11) ? _tmp3_label11 : (_tmp3_label11 = g_quark_from_static_string ("dec")))) { +#line 482 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + switch (0) { +#line 4002 "VideoMetadata.c" + default: + { +#line 506 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_DECEMBER; +#line 506 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 4009 "VideoMetadata.c" + } + } + } +#line 508 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = G_DATE_BAD_MONTH; +#line 508 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 4017 "VideoMetadata.c" +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 4040 "VideoMetadata.c" +} + + +static gulong avi_metadata_loader_get_creation_date_time_for_avi (AVIMetadataLoader* self) { + gulong result = 0UL; + AVIChunk* chunk = NULL; + GFile* _tmp0_ = NULL; + AVIChunk* _tmp1_ = NULL; + gulong timestamp = 0UL; + GError * _inner_error_ = NULL; +#line 511 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_METADATA_LOADER (self), 0UL); +#line 512 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->file; +#line 512 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = avi_chunk_new (_tmp0_); +#line 512 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + chunk = _tmp1_; +#line 513 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + timestamp = (gulong) 0; +#line 4061 "VideoMetadata.c" + { + AVIChunk* _tmp2_ = NULL; + AVIChunk* _tmp3_ = NULL; + gchar* sdate = NULL; + AVIChunk* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = chunk; +#line 515 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_open_file (_tmp2_, &_inner_error_); +#line 515 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4075 "VideoMetadata.c" + goto __catch569_g_error; + } +#line 516 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = chunk; +#line 516 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_nonsection_skip (_tmp3_, (guint64) 12, &_inner_error_); +#line 516 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4084 "VideoMetadata.c" + goto __catch569_g_error; + } +#line 517 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = chunk; +#line 517 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = avi_metadata_loader_read_section (self, _tmp4_, &_inner_error_); +#line 517 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + sdate = _tmp5_; +#line 517 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4095 "VideoMetadata.c" + goto __catch569_g_error; + } +#line 518 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = sdate; +#line 518 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (NULL != _tmp6_) { +#line 4102 "VideoMetadata.c" + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gulong _tmp10_ = 0UL; +#line 519 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = sdate; +#line 519 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = string_strip (_tmp7_); +#line 519 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = _tmp8_; +#line 519 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = avi_metadata_loader_parse_date (self, _tmp9_); +#line 519 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + timestamp = _tmp10_; +#line 519 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (_tmp9_); +#line 4119 "VideoMetadata.c" + } +#line 514 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (sdate); +#line 4123 "VideoMetadata.c" + } + goto __finally569; + __catch569_g_error: + { + GError* e = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 514 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + e = _inner_error_; +#line 514 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = NULL; +#line 522 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = e; +#line 522 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = _tmp11_->message; +#line 522 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:522: Error while reading AVI file: %s", _tmp12_); +#line 514 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_error_free0 (e); +#line 4143 "VideoMetadata.c" + } + __finally569: +#line 514 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 514 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (chunk); +#line 514 "/home/jens/Source/shotwell/src/VideoMetadata.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 514 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_clear_error (&_inner_error_); +#line 514 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return 0UL; +#line 4156 "VideoMetadata.c" + } + { + AVIChunk* _tmp13_ = NULL; +#line 526 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = chunk; +#line 526 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_close_file (_tmp13_, &_inner_error_); +#line 526 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4166 "VideoMetadata.c" + goto __catch570_g_error; + } + } + goto __finally570; + __catch570_g_error: + { + GError* e = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + e = _inner_error_; +#line 525 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _inner_error_ = NULL; +#line 528 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = e; +#line 528 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = _tmp14_->message; +#line 528 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_debug ("VideoMetadata.vala:528: Error while closing AVI file: %s", _tmp15_); +#line 525 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_error_free0 (e); +#line 4188 "VideoMetadata.c" + } + __finally570: +#line 525 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 525 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (chunk); +#line 525 "/home/jens/Source/shotwell/src/VideoMetadata.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 525 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_clear_error (&_inner_error_); +#line 525 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return 0UL; +#line 4201 "VideoMetadata.c" + } +#line 530 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = timestamp; +#line 530 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (chunk); +#line 530 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 4209 "VideoMetadata.c" +} + + +static void value_avi_metadata_loader_init (GValue* value) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 4216 "VideoMetadata.c" +} + + +static void value_avi_metadata_loader_free_value (GValue* value) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (value->data[0].v_pointer) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_metadata_loader_unref (value->data[0].v_pointer); +#line 4225 "VideoMetadata.c" + } +} + + +static void value_avi_metadata_loader_copy_value (const GValue* src_value, GValue* dest_value) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (src_value->data[0].v_pointer) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + dest_value->data[0].v_pointer = avi_metadata_loader_ref (src_value->data[0].v_pointer); +#line 4235 "VideoMetadata.c" + } else { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + dest_value->data[0].v_pointer = NULL; +#line 4239 "VideoMetadata.c" + } +} + + +static gpointer value_avi_metadata_loader_peek_pointer (const GValue* value) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return value->data[0].v_pointer; +#line 4247 "VideoMetadata.c" +} + + +static gchar* value_avi_metadata_loader_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (collect_values[0].v_pointer) { +#line 4254 "VideoMetadata.c" + AVIMetadataLoader* object; + object = collect_values[0].v_pointer; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (object->parent_instance.g_class == NULL) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4261 "VideoMetadata.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4265 "VideoMetadata.c" + } +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = avi_metadata_loader_ref (object); +#line 4269 "VideoMetadata.c" + } else { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 4273 "VideoMetadata.c" + } +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 4277 "VideoMetadata.c" +} + + +static gchar* value_avi_metadata_loader_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + AVIMetadataLoader** object_p; + object_p = collect_values[0].v_pointer; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!object_p) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 4288 "VideoMetadata.c" + } +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!value->data[0].v_pointer) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = NULL; +#line 4294 "VideoMetadata.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = value->data[0].v_pointer; +#line 4298 "VideoMetadata.c" + } else { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = avi_metadata_loader_ref (value->data[0].v_pointer); +#line 4302 "VideoMetadata.c" + } +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 4306 "VideoMetadata.c" +} + + +GParamSpec* param_spec_avi_metadata_loader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecAVIMetadataLoader* spec; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_AVI_METADATA_LOADER), NULL); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return G_PARAM_SPEC (spec); +#line 4320 "VideoMetadata.c" +} + + +gpointer value_get_avi_metadata_loader (const GValue* value) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AVI_METADATA_LOADER), NULL); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return value->data[0].v_pointer; +#line 4329 "VideoMetadata.c" +} + + +void value_set_avi_metadata_loader (GValue* value, gpointer v_object) { + AVIMetadataLoader* old; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AVI_METADATA_LOADER)); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + old = value->data[0].v_pointer; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (v_object) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_AVI_METADATA_LOADER)); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_metadata_loader_ref (value->data[0].v_pointer); +#line 4349 "VideoMetadata.c" + } else { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 4353 "VideoMetadata.c" + } +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (old) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_metadata_loader_unref (old); +#line 4359 "VideoMetadata.c" + } +} + + +void value_take_avi_metadata_loader (GValue* value, gpointer v_object) { + AVIMetadataLoader* old; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AVI_METADATA_LOADER)); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + old = value->data[0].v_pointer; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (v_object) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_AVI_METADATA_LOADER)); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 4378 "VideoMetadata.c" + } else { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 4382 "VideoMetadata.c" + } +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (old) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_metadata_loader_unref (old); +#line 4388 "VideoMetadata.c" + } +} + + +static void avi_metadata_loader_class_init (AVIMetadataLoaderClass * klass) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_metadata_loader_parent_class = g_type_class_peek_parent (klass); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((AVIMetadataLoaderClass *) klass)->finalize = avi_metadata_loader_finalize; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_class_add_private (klass, sizeof (AVIMetadataLoaderPrivate)); +#line 4400 "VideoMetadata.c" +} + + +static void avi_metadata_loader_instance_init (AVIMetadataLoader * self) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv = AVI_METADATA_LOADER_GET_PRIVATE (self); +#line 294 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->file = NULL; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->ref_count = 1; +#line 4411 "VideoMetadata.c" +} + + +static void avi_metadata_loader_finalize (AVIMetadataLoader* obj) { + AVIMetadataLoader * self; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_AVI_METADATA_LOADER, AVIMetadataLoader); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_signal_handlers_destroy (self); +#line 294 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->file); +#line 4423 "VideoMetadata.c" +} + + +GType avi_metadata_loader_get_type (void) { + static volatile gsize avi_metadata_loader_type_id__volatile = 0; + if (g_once_init_enter (&avi_metadata_loader_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_avi_metadata_loader_init, value_avi_metadata_loader_free_value, value_avi_metadata_loader_copy_value, value_avi_metadata_loader_peek_pointer, "p", value_avi_metadata_loader_collect_value, "p", value_avi_metadata_loader_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (AVIMetadataLoaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) avi_metadata_loader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AVIMetadataLoader), 0, (GInstanceInitFunc) avi_metadata_loader_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType avi_metadata_loader_type_id; + avi_metadata_loader_type_id = g_type_register_fundamental (g_type_fundamental_next (), "AVIMetadataLoader", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&avi_metadata_loader_type_id__volatile, avi_metadata_loader_type_id); + } + return avi_metadata_loader_type_id__volatile; +} + + +gpointer avi_metadata_loader_ref (gpointer instance) { + AVIMetadataLoader* self; + self = instance; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_atomic_int_inc (&self->ref_count); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return instance; +#line 4448 "VideoMetadata.c" +} + + +void avi_metadata_loader_unref (gpointer instance) { + AVIMetadataLoader* self; + self = instance; +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + AVI_METADATA_LOADER_GET_CLASS (self)->finalize (self); +#line 292 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4461 "VideoMetadata.c" + } +} + + +AVIChunk* avi_chunk_construct (GType object_type, GFile* file) { + AVIChunk* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 543 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 543 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = (AVIChunk*) g_type_create_instance (object_type); +#line 544 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = file; +#line 544 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 544 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->file); +#line 544 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->file = _tmp1_; +#line 543 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self; +#line 4484 "VideoMetadata.c" +} + + +AVIChunk* avi_chunk_new (GFile* file) { +#line 543 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return avi_chunk_construct (TYPE_AVI_CHUNK, file); +#line 4491 "VideoMetadata.c" +} + + +static gpointer _avi_chunk_ref0 (gpointer self) { +#line 549 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self ? avi_chunk_ref (self) : NULL; +#line 4498 "VideoMetadata.c" +} + + +static AVIChunk* avi_chunk_construct_with_input_stream (GType object_type, GDataInputStream* input, AVIChunk* parent) { + AVIChunk* self = NULL; + GDataInputStream* _tmp0_ = NULL; + GDataInputStream* _tmp1_ = NULL; + AVIChunk* _tmp2_ = NULL; + AVIChunk* _tmp3_ = NULL; +#line 547 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_IS_DATA_INPUT_STREAM (input), NULL); +#line 547 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (parent), NULL); +#line 547 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = (AVIChunk*) g_type_create_instance (object_type); +#line 548 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = input; +#line 548 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 548 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->input); +#line 548 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->input = _tmp1_; +#line 549 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = parent; +#line 549 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = _avi_chunk_ref0 (_tmp2_); +#line 549 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (self->priv->parent); +#line 549 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->parent = _tmp3_; +#line 547 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return self; +#line 4532 "VideoMetadata.c" +} + + +static AVIChunk* avi_chunk_new_with_input_stream (GDataInputStream* input, AVIChunk* parent) { +#line 547 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return avi_chunk_construct_with_input_stream (TYPE_AVI_CHUNK, input, parent); +#line 4539 "VideoMetadata.c" +} + + +void avi_chunk_open_file (AVIChunk* self, GError** error) { + GFileInputStream* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInputStream* _tmp2_ = NULL; + GDataInputStream* _tmp3_ = NULL; + GDataInputStream* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 552 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_AVI_CHUNK (self)); +#line 553 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_close_file (self, &_inner_error_); +#line 553 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 553 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 553 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4561 "VideoMetadata.c" + } +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->file; +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_file_read (_tmp1_, NULL, &_inner_error_); +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = _tmp2_; +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4575 "VideoMetadata.c" + } +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = g_data_input_stream_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_INPUT_STREAM, GInputStream)); +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->input); +#line 554 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->input = _tmp3_; +#line 555 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = self->priv->input; +#line 555 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_data_input_stream_set_byte_order (_tmp4_, G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN); +#line 556 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = (guint64) 0; +#line 557 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = (guint64) 0; +#line 558 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = g_strdup (""); +#line 558 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->section_name); +#line 558 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_name = _tmp5_; +#line 552 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (_tmp0_); +#line 4599 "VideoMetadata.c" +} + + +void avi_chunk_close_file (AVIChunk* self, GError** error) { + GDataInputStream* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 561 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_AVI_CHUNK (self)); +#line 562 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->input; +#line 562 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (NULL != _tmp0_) { +#line 4612 "VideoMetadata.c" + GDataInputStream* _tmp1_ = NULL; +#line 563 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->input; +#line 563 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_input_stream_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, G_TYPE_INPUT_STREAM, GInputStream), NULL, &_inner_error_); +#line 563 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 563 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 563 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4624 "VideoMetadata.c" + } +#line 564 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->input); +#line 564 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->input = NULL; +#line 4630 "VideoMetadata.c" + } +} + + +void avi_chunk_nonsection_skip (AVIChunk* self, guint64 skip_amount, GError** error) { + GDataInputStream* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + GError * _inner_error_ = NULL; +#line 568 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_AVI_CHUNK (self)); +#line 569 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->input; +#line 569 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = skip_amount; +#line 569 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + skip_uint64 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_INPUT_STREAM, GInputStream), _tmp1_, &_inner_error_); +#line 569 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 569 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 569 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4653 "VideoMetadata.c" + } +} + + +void avi_chunk_skip (AVIChunk* self, guint64 skip_amount, GError** error) { + guint64 _tmp0_ = 0ULL; + GDataInputStream* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + GError * _inner_error_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_AVI_CHUNK (self)); +#line 573 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = skip_amount; +#line 573 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_advance_section_offset (self, _tmp0_); +#line 574 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->input; +#line 574 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = skip_amount; +#line 574 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + skip_uint64 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, G_TYPE_INPUT_STREAM, GInputStream), _tmp2_, &_inner_error_); +#line 574 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 574 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 574 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4681 "VideoMetadata.c" + } +} + + +AVIChunk* avi_chunk_get_first_child_chunk (AVIChunk* self) { + AVIChunk* result = NULL; + GDataInputStream* _tmp0_ = NULL; + AVIChunk* _tmp1_ = NULL; +#line 577 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (self), NULL); +#line 578 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->input; +#line 578 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = avi_chunk_new_with_input_stream (_tmp0_, self); +#line 578 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 578 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 4700 "VideoMetadata.c" +} + + +static void avi_chunk_advance_section_offset (AVIChunk* self, guint64 amount) { + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp5_ = 0ULL; + guint64 _tmp6_ = 0ULL; + AVIChunk* _tmp7_ = NULL; +#line 581 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_AVI_CHUNK (self)); +#line 582 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->section_offset; +#line 582 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = amount; +#line 582 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = self->priv->section_size; +#line 582 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if ((_tmp0_ + _tmp1_) > _tmp2_) { +#line 4721 "VideoMetadata.c" + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; +#line 583 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = self->priv->section_size; +#line 583 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = self->priv->section_offset; +#line 583 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + amount = _tmp3_ - _tmp4_; +#line 4730 "VideoMetadata.c" + } +#line 585 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = self->priv->section_offset; +#line 585 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = amount; +#line 585 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = _tmp5_ + _tmp6_; +#line 586 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = self->priv->parent; +#line 586 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (NULL != _tmp7_) { +#line 4742 "VideoMetadata.c" + AVIChunk* _tmp8_ = NULL; + guint64 _tmp9_ = 0ULL; +#line 587 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = self->priv->parent; +#line 587 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = amount; +#line 587 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_advance_section_offset (_tmp8_, _tmp9_); +#line 4751 "VideoMetadata.c" + } +} + + +guchar avi_chunk_read_byte (AVIChunk* self, GError** error) { + guchar result = '\0'; + guint8 _tmp0_ = 0U; + GDataInputStream* _tmp1_ = NULL; + guint8 _tmp2_ = 0U; + GError * _inner_error_ = NULL; +#line 591 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (self), '\0'); +#line 592 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_advance_section_offset (self, (guint64) 1); +#line 593 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->input; +#line 593 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_data_input_stream_read_byte (_tmp1_, NULL, &_inner_error_); +#line 593 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = _tmp2_; +#line 593 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 593 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 593 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return '\0'; +#line 4778 "VideoMetadata.c" + } +#line 593 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = (guchar) _tmp0_; +#line 593 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 4784 "VideoMetadata.c" +} + + +guint16 avi_chunk_read_uint16 (AVIChunk* self, GError** error) { + guint16 result = 0U; + guint16 _tmp0_ = 0U; + GDataInputStream* _tmp1_ = NULL; + guint16 _tmp2_ = 0U; + GError * _inner_error_ = NULL; +#line 596 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (self), 0U); +#line 597 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_advance_section_offset (self, (guint64) 2); +#line 598 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->input; +#line 598 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = g_data_input_stream_read_uint16 (_tmp1_, NULL, &_inner_error_); +#line 598 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = _tmp2_; +#line 598 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 598 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 598 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return 0U; +#line 4810 "VideoMetadata.c" + } +#line 598 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp0_; +#line 598 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 4816 "VideoMetadata.c" +} + + +void avi_chunk_read_chunk (AVIChunk* self, GError** error) { + GString* sb = NULL; + GString* _tmp0_ = NULL; + guint8 _tmp1_ = 0U; + GDataInputStream* _tmp2_ = NULL; + guint8 _tmp3_ = 0U; + GString* _tmp4_ = NULL; + guint8 _tmp5_ = 0U; + GDataInputStream* _tmp6_ = NULL; + guint8 _tmp7_ = 0U; + GString* _tmp8_ = NULL; + guint8 _tmp9_ = 0U; + GDataInputStream* _tmp10_ = NULL; + guint8 _tmp11_ = 0U; + GString* _tmp12_ = NULL; + guint8 _tmp13_ = 0U; + GDataInputStream* _tmp14_ = NULL; + guint8 _tmp15_ = 0U; + GString* _tmp16_ = NULL; + GString* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + guint32 _tmp20_ = 0U; + GDataInputStream* _tmp21_ = NULL; + guint32 _tmp22_ = 0U; + GError * _inner_error_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_AVI_CHUNK (self)); +#line 604 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = g_string_new (""); +#line 604 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + sb = _tmp0_; +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = self->priv->input; +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = g_data_input_stream_read_byte (_tmp2_, NULL, &_inner_error_); +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _tmp3_; +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4866 "VideoMetadata.c" + } +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = sb; +#line 605 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp4_, (gchar) _tmp1_); +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = self->priv->input; +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = g_data_input_stream_read_byte (_tmp6_, NULL, &_inner_error_); +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = _tmp7_; +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4886 "VideoMetadata.c" + } +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = sb; +#line 606 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp8_, (gchar) _tmp5_); +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = self->priv->input; +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = g_data_input_stream_read_byte (_tmp10_, NULL, &_inner_error_); +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = _tmp11_; +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4906 "VideoMetadata.c" + } +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = sb; +#line 607 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp12_, (gchar) _tmp9_); +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = self->priv->input; +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = g_data_input_stream_read_byte (_tmp14_, NULL, &_inner_error_); +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = _tmp15_; +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4926 "VideoMetadata.c" + } +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp16_ = sb; +#line 608 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp16_, (gchar) _tmp13_); +#line 609 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp17_ = sb; +#line 609 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp18_ = _tmp17_->str; +#line 609 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp19_ = g_strdup (_tmp18_); +#line 609 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->section_name); +#line 609 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_name = _tmp19_; +#line 610 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp21_ = self->priv->input; +#line 610 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp22_ = g_data_input_stream_read_uint32 (_tmp21_, NULL, &_inner_error_); +#line 610 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp20_ = _tmp22_; +#line 610 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 610 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 610 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 610 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 4956 "VideoMetadata.c" + } +#line 610 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = (guint64) _tmp20_; +#line 611 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = (guint64) 0; +#line 601 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 4964 "VideoMetadata.c" +} + + +gchar* avi_chunk_read_name (AVIChunk* self, GError** error) { + gchar* result = NULL; + GString* sb = NULL; + GString* _tmp0_ = NULL; + guchar _tmp1_ = '\0'; + guchar _tmp2_ = '\0'; + GString* _tmp3_ = NULL; + guchar _tmp4_ = '\0'; + guchar _tmp5_ = '\0'; + GString* _tmp6_ = NULL; + guchar _tmp7_ = '\0'; + guchar _tmp8_ = '\0'; + GString* _tmp9_ = NULL; + guchar _tmp10_ = '\0'; + guchar _tmp11_ = '\0'; + GString* _tmp12_ = NULL; + GString* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GError * _inner_error_ = NULL; +#line 614 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (self), NULL); +#line 615 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = g_string_new (""); +#line 615 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + sb = _tmp0_; +#line 616 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = avi_chunk_read_byte (self, &_inner_error_); +#line 616 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = _tmp2_; +#line 616 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 616 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 616 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 616 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 5006 "VideoMetadata.c" + } +#line 616 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = sb; +#line 616 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp3_, (gchar) _tmp1_); +#line 617 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = avi_chunk_read_byte (self, &_inner_error_); +#line 617 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = _tmp5_; +#line 617 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 617 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 617 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 617 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 5024 "VideoMetadata.c" + } +#line 617 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = sb; +#line 617 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp6_, (gchar) _tmp4_); +#line 618 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = avi_chunk_read_byte (self, &_inner_error_); +#line 618 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = _tmp8_; +#line 618 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 618 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 618 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 618 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 5042 "VideoMetadata.c" + } +#line 618 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = sb; +#line 618 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp9_, (gchar) _tmp7_); +#line 619 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = avi_chunk_read_byte (self, &_inner_error_); +#line 619 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = _tmp11_; +#line 619 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 619 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 619 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 619 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 5060 "VideoMetadata.c" + } +#line 619 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = sb; +#line 619 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp12_, (gchar) _tmp10_); +#line 620 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = sb; +#line 620 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp14_ = _tmp13_->str; +#line 620 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 620 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp15_; +#line 620 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 620 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 5078 "VideoMetadata.c" +} + + +void avi_chunk_next_chunk (AVIChunk* self, GError** error) { + guint64 _tmp0_ = 0ULL; + GError * _inner_error_ = NULL; +#line 623 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (IS_AVI_CHUNK (self)); +#line 624 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = avi_chunk_section_size_remaining (self); +#line 624 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_skip (self, _tmp0_, &_inner_error_); +#line 624 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 624 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 624 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return; +#line 5097 "VideoMetadata.c" + } +#line 625 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = (guint64) 0; +#line 626 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = (guint64) 0; +#line 5103 "VideoMetadata.c" +} + + +gchar* avi_chunk_get_current_chunk_name (AVIChunk* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 629 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (self), NULL); +#line 630 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->section_name; +#line 630 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 630 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp1_; +#line 630 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 5121 "VideoMetadata.c" +} + + +gboolean avi_chunk_is_last_chunk (AVIChunk* self) { + gboolean result = FALSE; + guint64 _tmp0_ = 0ULL; +#line 633 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (self), FALSE); +#line 634 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->section_size; +#line 634 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp0_ == ((guint64) 0); +#line 634 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 5136 "VideoMetadata.c" +} + + +guint64 avi_chunk_section_size_remaining (AVIChunk* self) { + guint64 result = 0ULL; + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; +#line 637 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (self), 0ULL); +#line 638 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = self->priv->section_size; +#line 638 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->section_offset; +#line 638 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _vala_assert (_tmp0_ >= _tmp1_, "section_size >= section_offset"); +#line 639 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = self->priv->section_size; +#line 639 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = self->priv->section_offset; +#line 639 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp2_ - _tmp3_; +#line 639 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 5162 "VideoMetadata.c" +} + + +gchar* avi_chunk_section_to_string (AVIChunk* self, GError** error) { + gchar* result = NULL; + GString* sb = NULL; + GString* _tmp0_ = NULL; + GString* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 643 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (IS_AVI_CHUNK (self), NULL); +#line 644 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = g_string_new (""); +#line 644 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + sb = _tmp0_; +#line 645 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + while (TRUE) { +#line 5182 "VideoMetadata.c" + guint64 _tmp1_ = 0ULL; + guint64 _tmp2_ = 0ULL; + guchar _tmp3_ = '\0'; + guchar _tmp4_ = '\0'; + GString* _tmp5_ = NULL; + GString* _tmp6_ = NULL; + gssize _tmp7_ = 0L; +#line 645 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp1_ = self->priv->section_offset; +#line 645 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp2_ = self->priv->section_size; +#line 645 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!(_tmp1_ < _tmp2_)) { +#line 645 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + break; +#line 5198 "VideoMetadata.c" + } +#line 646 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp4_ = avi_chunk_read_byte (self, &_inner_error_); +#line 646 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp3_ = _tmp4_; +#line 646 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 646 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 646 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 646 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 5212 "VideoMetadata.c" + } +#line 646 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp5_ = sb; +#line 646 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_string_append_c (_tmp5_, (gchar) _tmp3_); +#line 647 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp6_ = sb; +#line 647 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp7_ = _tmp6_->len; +#line 647 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (_tmp7_ > ((gssize) AVI_CHUNK_MAX_STRING_TO_SECTION_LENGTH)) { +#line 5224 "VideoMetadata.c" + GString* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 648 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp8_ = sb; +#line 648 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp9_ = _tmp8_->str; +#line 648 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 648 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp10_; +#line 648 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 648 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 5240 "VideoMetadata.c" + } + } +#line 651 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp11_ = sb; +#line 651 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp12_ = _tmp11_->str; +#line 651 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 651 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + result = _tmp13_; +#line 651 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_string_free0 (sb); +#line 651 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return result; +#line 5255 "VideoMetadata.c" +} + + +static void value_avi_chunk_init (GValue* value) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 5262 "VideoMetadata.c" +} + + +static void value_avi_chunk_free_value (GValue* value) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (value->data[0].v_pointer) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_unref (value->data[0].v_pointer); +#line 5271 "VideoMetadata.c" + } +} + + +static void value_avi_chunk_copy_value (const GValue* src_value, GValue* dest_value) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (src_value->data[0].v_pointer) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + dest_value->data[0].v_pointer = avi_chunk_ref (src_value->data[0].v_pointer); +#line 5281 "VideoMetadata.c" + } else { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + dest_value->data[0].v_pointer = NULL; +#line 5285 "VideoMetadata.c" + } +} + + +static gpointer value_avi_chunk_peek_pointer (const GValue* value) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return value->data[0].v_pointer; +#line 5293 "VideoMetadata.c" +} + + +static gchar* value_avi_chunk_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (collect_values[0].v_pointer) { +#line 5300 "VideoMetadata.c" + AVIChunk* object; + object = collect_values[0].v_pointer; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (object->parent_instance.g_class == NULL) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5307 "VideoMetadata.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 5311 "VideoMetadata.c" + } +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = avi_chunk_ref (object); +#line 5315 "VideoMetadata.c" + } else { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 5319 "VideoMetadata.c" + } +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 5323 "VideoMetadata.c" +} + + +static gchar* value_avi_chunk_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + AVIChunk** object_p; + object_p = collect_values[0].v_pointer; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!object_p) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 5334 "VideoMetadata.c" + } +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (!value->data[0].v_pointer) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = NULL; +#line 5340 "VideoMetadata.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = value->data[0].v_pointer; +#line 5344 "VideoMetadata.c" + } else { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + *object_p = avi_chunk_ref (value->data[0].v_pointer); +#line 5348 "VideoMetadata.c" + } +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return NULL; +#line 5352 "VideoMetadata.c" +} + + +GParamSpec* param_spec_avi_chunk (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecAVIChunk* spec; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_AVI_CHUNK), NULL); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return G_PARAM_SPEC (spec); +#line 5366 "VideoMetadata.c" +} + + +gpointer value_get_avi_chunk (const GValue* value) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AVI_CHUNK), NULL); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return value->data[0].v_pointer; +#line 5375 "VideoMetadata.c" +} + + +void value_set_avi_chunk (GValue* value, gpointer v_object) { + AVIChunk* old; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AVI_CHUNK)); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + old = value->data[0].v_pointer; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (v_object) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_AVI_CHUNK)); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_ref (value->data[0].v_pointer); +#line 5395 "VideoMetadata.c" + } else { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 5399 "VideoMetadata.c" + } +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (old) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_unref (old); +#line 5405 "VideoMetadata.c" + } +} + + +void value_take_avi_chunk (GValue* value, gpointer v_object) { + AVIChunk* old; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AVI_CHUNK)); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + old = value->data[0].v_pointer; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (v_object) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_AVI_CHUNK)); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 5424 "VideoMetadata.c" + } else { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 5428 "VideoMetadata.c" + } +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (old) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_unref (old); +#line 5434 "VideoMetadata.c" + } +} + + +static void avi_chunk_class_init (AVIChunkClass * klass) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + avi_chunk_parent_class = g_type_class_peek_parent (klass); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + ((AVIChunkClass *) klass)->finalize = avi_chunk_finalize; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_class_add_private (klass, sizeof (AVIChunkPrivate)); +#line 5446 "VideoMetadata.c" +} + + +static void avi_chunk_instance_init (AVIChunk * self) { + gchar* _tmp0_ = NULL; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv = AVI_CHUNK_GET_PRIVATE (self); +#line 535 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->file = NULL; +#line 536 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _tmp0_ = g_strdup (""); +#line 536 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_name = _tmp0_; +#line 537 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_size = (guint64) 0; +#line 538 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->section_offset = (guint64) 0; +#line 539 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->input = NULL; +#line 540 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->priv->parent = NULL; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self->ref_count = 1; +#line 5470 "VideoMetadata.c" +} + + +static void avi_chunk_finalize (AVIChunk* obj) { + AVIChunk * self; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_AVI_CHUNK, AVIChunk); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_signal_handlers_destroy (self); +#line 535 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->file); +#line 536 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_free0 (self->priv->section_name); +#line 539 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _g_object_unref0 (self->priv->input); +#line 540 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + _avi_chunk_unref0 (self->priv->parent); +#line 5488 "VideoMetadata.c" +} + + +GType avi_chunk_get_type (void) { + static volatile gsize avi_chunk_type_id__volatile = 0; + if (g_once_init_enter (&avi_chunk_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_avi_chunk_init, value_avi_chunk_free_value, value_avi_chunk_copy_value, value_avi_chunk_peek_pointer, "p", value_avi_chunk_collect_value, "p", value_avi_chunk_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (AVIChunkClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) avi_chunk_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AVIChunk), 0, (GInstanceInitFunc) avi_chunk_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType avi_chunk_type_id; + avi_chunk_type_id = g_type_register_fundamental (g_type_fundamental_next (), "AVIChunk", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&avi_chunk_type_id__volatile, avi_chunk_type_id); + } + return avi_chunk_type_id__volatile; +} + + +gpointer avi_chunk_ref (gpointer instance) { + AVIChunk* self; + self = instance; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_atomic_int_inc (&self->ref_count); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + return instance; +#line 5513 "VideoMetadata.c" +} + + +void avi_chunk_unref (gpointer instance) { + AVIChunk* self; + self = instance; +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + AVI_CHUNK_GET_CLASS (self)->finalize (self); +#line 534 "/home/jens/Source/shotwell/src/VideoMetadata.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 5526 "VideoMetadata.c" + } +} + + + diff --git a/src/VideoMonitor.c b/src/VideoMonitor.c new file mode 100644 index 0000000..b3e9adb --- /dev/null +++ b/src/VideoMonitor.c @@ -0,0 +1,2336 @@ +/* VideoMonitor.c generated by valac 0.32.1, the Vala compiler + * generated from VideoMonitor.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#define TYPE_MONITORABLE_UPDATES (monitorable_updates_get_type ()) +#define MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdates)) +#define MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass)) +#define IS_MONITORABLE_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE_UPDATES)) +#define IS_MONITORABLE_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MONITORABLE_UPDATES)) +#define MONITORABLE_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MONITORABLE_UPDATES, MonitorableUpdatesClass)) + +typedef struct _MonitorableUpdates MonitorableUpdates; +typedef struct _MonitorableUpdatesClass MonitorableUpdatesClass; +typedef struct _MonitorableUpdatesPrivate MonitorableUpdatesPrivate; + +#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_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; + +#define TYPE_VIDEO_UPDATES (video_updates_get_type ()) +#define VIDEO_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_UPDATES, VideoUpdates)) +#define VIDEO_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_UPDATES, VideoUpdatesClass)) +#define IS_VIDEO_UPDATES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_UPDATES)) +#define IS_VIDEO_UPDATES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_UPDATES)) +#define VIDEO_UPDATES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_UPDATES, VideoUpdatesClass)) + +typedef struct _VideoUpdates VideoUpdates; +typedef struct _VideoUpdatesClass VideoUpdatesClass; +typedef struct _VideoUpdatesPrivate VideoUpdatesPrivate; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_MEDIA_MONITOR (media_monitor_get_type ()) +#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor)) +#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass)) +#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR)) +#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR)) +#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass)) + +typedef struct _MediaMonitor MediaMonitor; +typedef struct _MediaMonitorClass MediaMonitorClass; +typedef struct _MediaMonitorPrivate MediaMonitorPrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define MEDIA_MONITOR_TYPE_DISCOVERED_FILE (media_monitor_discovered_file_get_type ()) + +#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_VIDEO_MONITOR (video_monitor_get_type ()) +#define VIDEO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_MONITOR, VideoMonitor)) +#define VIDEO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_MONITOR, VideoMonitorClass)) +#define IS_VIDEO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_MONITOR)) +#define IS_VIDEO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_MONITOR)) +#define VIDEO_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_MONITOR, VideoMonitorClass)) + +typedef struct _VideoMonitor VideoMonitor; +typedef struct _VideoMonitorClass VideoMonitorClass; +typedef struct _VideoMonitorPrivate VideoMonitorPrivate; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; +#define _workers_unref0(var) ((var == NULL) ? NULL : (var = (workers_unref (var), NULL))) + +#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 VIDEO_SOURCE_COLLECTION_TYPE_STATE (video_source_collection_state_get_type ()) +#define _monitorable_updates_unref0(var) ((var == NULL) ? NULL : (var = (monitorable_updates_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB (video_monitor_video_interpretable_check_job_get_type ()) +#define VIDEO_MONITOR_VIDEO_INTERPRETABLE_CHECK_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJob)) +#define VIDEO_MONITOR_VIDEO_INTERPRETABLE_CHECK_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJobClass)) +#define VIDEO_MONITOR_IS_VIDEO_INTERPRETABLE_CHECK_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB)) +#define VIDEO_MONITOR_IS_VIDEO_INTERPRETABLE_CHECK_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB)) +#define VIDEO_MONITOR_VIDEO_INTERPRETABLE_CHECK_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJobClass)) + +typedef struct _VideoMonitorVideoInterpretableCheckJob VideoMonitorVideoInterpretableCheckJob; +typedef struct _VideoMonitorVideoInterpretableCheckJobClass VideoMonitorVideoInterpretableCheckJobClass; +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) +typedef struct _VideoMonitorVideoInterpretableCheckJobPrivate VideoMonitorVideoInterpretableCheckJobPrivate; + +#define VIDEO_TYPE_INTERPRETABLE_RESULTS (video_interpretable_results_get_type ()) +#define VIDEO_INTERPRETABLE_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResults)) +#define VIDEO_INTERPRETABLE_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResultsClass)) +#define VIDEO_IS_INTERPRETABLE_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS)) +#define VIDEO_IS_INTERPRETABLE_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIDEO_TYPE_INTERPRETABLE_RESULTS)) +#define VIDEO_INTERPRETABLE_RESULTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResultsClass)) + +typedef struct _VideoInterpretableResults VideoInterpretableResults; +typedef struct _VideoInterpretableResultsClass VideoInterpretableResultsClass; +#define _video_interpretable_results_unref0(var) ((var == NULL) ? NULL : (var = (video_interpretable_results_unref (var), NULL))) + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; +#define _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 _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _MonitorableUpdates { + GTypeInstance parent_instance; + volatile int ref_count; + MonitorableUpdatesPrivate * priv; + Monitorable* monitorable; +}; + +struct _MonitorableUpdatesClass { + GTypeClass parent_class; + void (*finalize) (MonitorableUpdates *self); + gboolean (*is_in_alteration) (MonitorableUpdates* self); + void (*set_master_file) (MonitorableUpdates* self, GFile* file); + void (*set_master_file_info_altered) (MonitorableUpdates* self, gboolean altered); + void (*set_master_file_info) (MonitorableUpdates* self, GFileInfo* info); + void (*set_master_in_alteration) (MonitorableUpdates* self, gboolean in_alteration); + void (*set_master_alterations_complete) (MonitorableUpdates* self, GFileInfo* info); + void (*mark_offline) (MonitorableUpdates* self); + void (*mark_online) (MonitorableUpdates* self); + void (*reset_online_offline) (MonitorableUpdates* self); + gboolean (*is_all_updated) (MonitorableUpdates* self); +}; + +struct _VideoUpdates { + MonitorableUpdates parent_instance; + VideoUpdatesPrivate * priv; + Video* video; +}; + +struct _VideoUpdatesClass { + MonitorableUpdatesClass parent_class; + void (*set_check_interpretable) (VideoUpdates* self, gboolean check); +}; + +struct _VideoUpdatesPrivate { + gboolean check_interpretable; +}; + +typedef enum { + MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED, + MEDIA_MONITOR_DISCOVERED_FILE_IGNORE, + MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN +} MediaMonitorDiscoveredFile; + +struct _MediaMonitor { + GObject parent_instance; + MediaMonitorPrivate * priv; +}; + +struct _MediaMonitorClass { + GObjectClass parent_class; + MediaSourceCollection* (*get_media_source_collection) (MediaMonitor* self); + void (*close) (MediaMonitor* self); + gchar* (*to_string) (MediaMonitor* self); + MonitorableUpdates* (*create_updates) (MediaMonitor* self, Monitorable* monitorable); + void (*on_media_source_destroyed) (MediaMonitor* self, DataSource* source); + void (*notify_discovery_started) (MediaMonitor* self); + MediaMonitorDiscoveredFile (*notify_file_discovered) (MediaMonitor* self, GFile* file, GFileInfo* info, Monitorable** monitorable); + GeeCollection* (*candidates_for_unknown_file) (MediaMonitor* self, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); + GFile** (*get_auxilliary_backing_files) (MediaMonitor* self, Monitorable* monitorable, int* result_length1); + void (*update_backing_file_info) (MediaMonitor* self, Monitorable* monitorable, GFile* file, GFileInfo* info); + void (*notify_discovery_completing) (MediaMonitor* self); + gboolean (*is_file_represented) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_created) (MediaMonitor* self, GFile* file, GFileInfo* info); + gboolean (*notify_file_moved) (MediaMonitor* self, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); + gboolean (*notify_file_altered) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_attributes_altered) (MediaMonitor* self, GFile* file); + gboolean (*notify_file_alteration_completed) (MediaMonitor* self, GFile* file, GFileInfo* info); + gboolean (*notify_file_deleted) (MediaMonitor* self, GFile* file); + void (*process_updates) (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +}; + +struct _VideoMonitor { + MediaMonitor parent_instance; + VideoMonitorPrivate * priv; +}; + +struct _VideoMonitorClass { + MediaMonitorClass parent_class; +}; + +struct _VideoMonitorPrivate { + Workers* workers; + guint64 background_jobs; +}; + +typedef enum { + VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN, + VIDEO_SOURCE_COLLECTION_STATE_ONLINE, + VIDEO_SOURCE_COLLECTION_STATE_OFFLINE, + VIDEO_SOURCE_COLLECTION_STATE_TRASH +} VideoSourceCollectionState; + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _VideoMonitorVideoInterpretableCheckJob { + BackgroundJob parent_instance; + VideoMonitorVideoInterpretableCheckJobPrivate * priv; + Video* video; + VideoInterpretableResults* results; +}; + +struct _VideoMonitorVideoInterpretableCheckJobClass { + BackgroundJobClass parent_class; +}; + +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); + +static gpointer video_updates_parent_class = NULL; +static gpointer video_monitor_parent_class = NULL; +extern VideoSourceCollection* video_global; +static gpointer video_monitor_video_interpretable_check_job_parent_class = NULL; + +gpointer monitorable_updates_ref (gpointer instance); +void monitorable_updates_unref (gpointer instance); +GParamSpec* param_spec_monitorable_updates (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_monitorable_updates (GValue* value, gpointer v_object); +void value_take_monitorable_updates (GValue* value, gpointer v_object); +gpointer value_get_monitorable_updates (const GValue* value); +GType monitorable_updates_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 monitorable_get_type (void) G_GNUC_CONST; +GType video_updates_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +#define VIDEO_UPDATES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIDEO_UPDATES, VideoUpdatesPrivate)) +enum { + VIDEO_UPDATES_DUMMY_PROPERTY +}; +VideoUpdates* video_updates_new (Video* video); +VideoUpdates* video_updates_construct (GType object_type, Video* video); +MonitorableUpdates* monitorable_updates_new (Monitorable* monitorable); +MonitorableUpdates* monitorable_updates_construct (GType object_type, Monitorable* monitorable); +void video_updates_set_check_interpretable (VideoUpdates* self, gboolean check); +static void video_updates_real_set_check_interpretable (VideoUpdates* self, gboolean check); +static void video_updates_real_mark_online (MonitorableUpdates* base); +void monitorable_updates_mark_online (MonitorableUpdates* self); +gboolean video_updates_is_check_interpretable (VideoUpdates* self); +static gboolean video_updates_real_is_all_updated (MonitorableUpdates* base); +gboolean monitorable_updates_is_all_updated (MonitorableUpdates* self); +static void video_updates_finalize (MonitorableUpdates* obj); +GType media_monitor_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType media_monitor_discovered_file_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; +GType video_monitor_get_type (void) G_GNUC_CONST; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +#define VIDEO_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIDEO_MONITOR, VideoMonitorPrivate)) +enum { + VIDEO_MONITOR_DUMMY_PROPERTY +}; +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +#define VIDEO_MONITOR_MAX_INTERPRETABLE_CHECKS_PER_CYCLE 5 +VideoMonitor* video_monitor_new (GCancellable* cancellable); +VideoMonitor* video_monitor_construct (GType object_type, GCancellable* cancellable); +GType video_source_collection_get_type (void) G_GNUC_CONST; +MediaMonitor* media_monitor_construct (GType object_type, MediaSourceCollection* sources, GCancellable* cancellable); +GeeCollection* data_collection_get_all (DataCollection* self); +gboolean video_get_is_interpretable (Video* self); +void video_monitor_set_check_interpretable (VideoMonitor* self, Video* video, gboolean check); +static MonitorableUpdates* video_monitor_real_create_updates (MediaMonitor* base, Monitorable* monitorable); +static MediaSourceCollection* video_monitor_real_get_media_source_collection (MediaMonitor* base); +static gboolean video_monitor_real_is_file_represented (MediaMonitor* base, GFile* file); +GType video_source_collection_state_get_type (void) G_GNUC_CONST; +static Video* video_monitor_get_state (VideoMonitor* self, GFile* file, VideoSourceCollectionState* state); +static MediaMonitorDiscoveredFile video_monitor_real_notify_file_discovered (MediaMonitor* base, GFile* file, GFileInfo* info, Monitorable** monitorable); +static GeeCollection* video_monitor_real_candidates_for_unknown_file (MediaMonitor* base, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_); +void video_source_collection_fetch_by_matching_backing (VideoSourceCollection* self, GFileInfo* info, GeeCollection* matching_master); +static gboolean video_monitor_real_notify_file_created (MediaMonitor* base, GFile* file, GFileInfo* info); +void media_monitor_update_online (MediaMonitor* self, Monitorable* monitorable); +static gboolean video_monitor_real_notify_file_moved (MediaMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* new_file_info); +void media_monitor_update_master_file (MediaMonitor* self, Monitorable* monitorable, GFile* file); +void media_monitor_update_offline (MediaMonitor* self, Monitorable* monitorable); +static gboolean video_monitor_real_notify_file_altered (MediaMonitor* base, GFile* file); +static gboolean video_monitor_real_notify_file_attributes_altered (MediaMonitor* base, GFile* file); +void media_monitor_update_master_file_info_altered (MediaMonitor* self, Monitorable* monitorable); +void media_monitor_update_master_file_in_alteration (MediaMonitor* self, Monitorable* monitorable, gboolean in_alteration); +static gboolean video_monitor_real_notify_file_alteration_completed (MediaMonitor* base, GFile* file, GFileInfo* info); +void media_monitor_update_master_file_alterations_completed (MediaMonitor* self, Monitorable* monitorable, GFileInfo* info); +static gboolean video_monitor_real_notify_file_deleted (MediaMonitor* base, GFile* file); +GeeCollection* media_monitor_get_monitorables (MediaMonitor* self); +VideoUpdates* video_monitor_get_existing_video_updates (VideoMonitor* self, Video* video); +GFile* monitorable_updates_get_master_file (MonitorableUpdates* self); +GFile* media_source_get_master_file (MediaSource* self); +Video* video_source_collection_get_state_by_file (VideoSourceCollection* self, GFile* file, VideoSourceCollectionState* state); +VideoUpdates* video_monitor_fetch_video_updates (VideoMonitor* self, Video* video); +MonitorableUpdates* media_monitor_fetch_updates (MediaMonitor* self, Monitorable* monitorable); +MonitorableUpdates* media_monitor_get_existing_updates (MediaMonitor* self, Monitorable* monitorable); +static void video_monitor_real_process_updates (MediaMonitor* base, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +void media_monitor_process_updates (MediaMonitor* self, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error); +#define MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE 100 +void media_monitor_mdbg (const gchar* msg); +void video_notify_offline_thumbs_regenerated (void); +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +void workers_enqueue (Workers* self, BackgroundJob* job); +static void video_monitor_on_interpretable_check_complete (VideoMonitor* self, BackgroundJob* j); +static void _video_monitor_on_interpretable_check_complete_completion_callback (BackgroundJob* job, gpointer self); +static VideoMonitorVideoInterpretableCheckJob* video_monitor_video_interpretable_check_job_new (Video* video, CompletionCallback callback, void* callback_target); +static VideoMonitorVideoInterpretableCheckJob* video_monitor_video_interpretable_check_job_construct (GType object_type, Video* video, CompletionCallback callback, void* callback_target); +static GType video_monitor_video_interpretable_check_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +gpointer video_interpretable_results_ref (gpointer instance); +void video_interpretable_results_unref (gpointer instance); +GParamSpec* video_param_spec_interpretable_results (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void video_value_set_interpretable_results (GValue* value, gpointer v_object); +void video_value_take_interpretable_results (GValue* value, gpointer v_object); +gpointer video_value_get_interpretable_results (const GValue* value); +GType video_interpretable_results_get_type (void) G_GNUC_CONST; +void video_interpretable_results_foreground_finish (VideoInterpretableResults* self); +void video_notify_normal_thumbs_regenerated (void); +enum { + VIDEO_MONITOR_VIDEO_INTERPRETABLE_CHECK_JOB_DUMMY_PROPERTY +}; +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +static void video_monitor_video_interpretable_check_job_real_execute (BackgroundJob* base); +VideoInterpretableResults* video_check_is_interpretable (Video* self); +static void video_monitor_video_interpretable_check_job_finalize (BackgroundJob* obj); +static void video_monitor_finalize (GObject* obj); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self ? g_object_ref (self) : NULL; +#line 548 "VideoMonitor.c" +} + + +VideoUpdates* video_updates_construct (GType object_type, Video* video) { + VideoUpdates* self = NULL; + Video* _tmp0_ = NULL; + Video* _tmp1_ = NULL; + Video* _tmp2_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 13 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 13 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = (VideoUpdates*) monitorable_updates_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = video; +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (self->video); +#line 15 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->video = _tmp2_; +#line 12 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self; +#line 573 "VideoMonitor.c" +} + + +VideoUpdates* video_updates_new (Video* video) { +#line 12 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return video_updates_construct (TYPE_VIDEO_UPDATES, video); +#line 580 "VideoMonitor.c" +} + + +static void video_updates_real_set_check_interpretable (VideoUpdates* self, gboolean check) { + gboolean _tmp0_ = FALSE; +#line 19 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = check; +#line 19 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->check_interpretable = _tmp0_; +#line 590 "VideoMonitor.c" +} + + +void video_updates_set_check_interpretable (VideoUpdates* self, gboolean check) { +#line 18 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_VIDEO_UPDATES (self)); +#line 18 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + VIDEO_UPDATES_GET_CLASS (self)->set_check_interpretable (self, check); +#line 599 "VideoMonitor.c" +} + + +static void video_updates_real_mark_online (MonitorableUpdates* base) { + VideoUpdates * self; +#line 22 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_UPDATES, VideoUpdates); +#line 23 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + MONITORABLE_UPDATES_CLASS (video_updates_parent_class)->mark_online (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 25 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_updates_set_check_interpretable (self, TRUE); +#line 611 "VideoMonitor.c" +} + + +gboolean video_updates_is_check_interpretable (VideoUpdates* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 28 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO_UPDATES (self), FALSE); +#line 29 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = self->priv->check_interpretable; +#line 29 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp0_; +#line 29 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 626 "VideoMonitor.c" +} + + +static gboolean video_updates_real_is_all_updated (MonitorableUpdates* base) { + VideoUpdates * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 32 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_UPDATES, VideoUpdates); +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = self->priv->check_interpretable; +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp1_ == FALSE) { +#line 641 "VideoMonitor.c" + gboolean _tmp2_ = FALSE; +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = MONITORABLE_UPDATES_CLASS (video_updates_parent_class)->is_all_updated (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = _tmp2_; +#line 647 "VideoMonitor.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = FALSE; +#line 651 "VideoMonitor.c" + } +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp0_; +#line 33 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 657 "VideoMonitor.c" +} + + +static void video_updates_class_init (VideoUpdatesClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_updates_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->finalize = video_updates_finalize; +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_type_class_add_private (klass, sizeof (VideoUpdatesPrivate)); +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((VideoUpdatesClass *) klass)->set_check_interpretable = video_updates_real_set_check_interpretable; +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->mark_online = video_updates_real_mark_online; +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MonitorableUpdatesClass *) klass)->is_all_updated = video_updates_real_is_all_updated; +#line 674 "VideoMonitor.c" +} + + +static void video_updates_instance_init (VideoUpdates * self) { +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv = VIDEO_UPDATES_GET_PRIVATE (self); +#line 10 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->check_interpretable = FALSE; +#line 683 "VideoMonitor.c" +} + + +static void video_updates_finalize (MonitorableUpdates* obj) { + VideoUpdates * self; +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_UPDATES, VideoUpdates); +#line 8 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (self->video); +#line 7 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + MONITORABLE_UPDATES_CLASS (video_updates_parent_class)->finalize (obj); +#line 695 "VideoMonitor.c" +} + + +GType video_updates_get_type (void) { + static volatile gsize video_updates_type_id__volatile = 0; + if (g_once_init_enter (&video_updates_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoUpdatesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_updates_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoUpdates), 0, (GInstanceInitFunc) video_updates_instance_init, NULL }; + GType video_updates_type_id; + video_updates_type_id = g_type_register_static (TYPE_MONITORABLE_UPDATES, "VideoUpdates", &g_define_type_info, 0); + g_once_init_leave (&video_updates_type_id__volatile, video_updates_type_id); + } + return video_updates_type_id__volatile; +} + + +VideoMonitor* video_monitor_construct (GType object_type, GCancellable* cancellable) { + VideoMonitor * self = NULL; + VideoSourceCollection* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 66 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video_global; +#line 66 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = cancellable; +#line 66 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = (VideoMonitor*) media_monitor_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp1_); +#line 723 "VideoMonitor.c" + { + GeeIterator* _obj_it = NULL; + VideoSourceCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_global; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection)); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _tmp3_; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _tmp5_; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp4_); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _obj_it = _tmp6_; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + while (TRUE) { +#line 747 "VideoMonitor.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + DataObject* obj = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + Video* video = NULL; + DataObject* _tmp11_ = NULL; + Video* _tmp12_ = NULL; + Video* _tmp13_ = NULL; + Video* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp7_ = _obj_it; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!_tmp8_) { +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 767 "VideoMonitor.c" + } +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = _obj_it; +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + obj = (DataObject*) _tmp10_; +#line 69 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = obj; +#line 69 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_VIDEO) ? ((Video*) _tmp11_) : NULL); +#line 69 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp12_; +#line 70 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = video; +#line 70 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_assert (_tmp13_ != NULL, "video != null"); +#line 71 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp14_ = video; +#line 71 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = video_get_is_interpretable (_tmp14_); +#line 71 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!_tmp15_) { +#line 791 "VideoMonitor.c" + Video* _tmp16_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp16_ = video; +#line 72 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_set_check_interpretable (self, _tmp16_, TRUE); +#line 797 "VideoMonitor.c" + } +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (obj); +#line 803 "VideoMonitor.c" + } +#line 68 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_obj_it); +#line 807 "VideoMonitor.c" + } +#line 65 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self; +#line 811 "VideoMonitor.c" +} + + +VideoMonitor* video_monitor_new (GCancellable* cancellable) { +#line 65 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return video_monitor_construct (TYPE_VIDEO_MONITOR, cancellable); +#line 818 "VideoMonitor.c" +} + + +static MonitorableUpdates* video_monitor_real_create_updates (MediaMonitor* base, Monitorable* monitorable) { + VideoMonitor * self; + MonitorableUpdates* result = NULL; + Monitorable* _tmp0_ = NULL; + Monitorable* _tmp1_ = NULL; + VideoUpdates* _tmp2_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 76 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_MONITORABLE (monitorable), NULL); +#line 77 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = monitorable; +#line 77 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_VIDEO), "monitorable is Video"); +#line 79 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = monitorable; +#line 79 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_updates_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_VIDEO, Video)); +#line 79 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates); +#line 79 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 844 "VideoMonitor.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self ? data_collection_ref (self) : NULL; +#line 851 "VideoMonitor.c" +} + + +static MediaSourceCollection* video_monitor_real_get_media_source_collection (MediaMonitor* base) { + VideoMonitor * self; + MediaSourceCollection* result = NULL; + VideoSourceCollection* _tmp0_ = NULL; + MediaSourceCollection* _tmp1_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video_global; +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = _data_collection_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp1_; +#line 83 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 870 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_is_file_represented (MediaMonitor* base, GFile* file) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 86 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 86 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _tmp2_; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _tmp3_ != NULL; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp4_; +#line 88 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 903 "VideoMonitor.c" +} + + +static MediaMonitorDiscoveredFile video_monitor_real_notify_file_discovered (MediaMonitor* base, GFile* file, GFileInfo* info, Monitorable** monitorable) { + VideoMonitor * self; + Monitorable* _vala_monitorable = NULL; + MediaMonitorDiscoveredFile result = 0; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + VideoSourceCollectionState _tmp4_ = 0; +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), 0); +#line 94 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 94 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 94 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 94 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 95 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 95 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 96 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 96 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_monitorable = NULL; +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN; +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (monitorable) { +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *monitorable = _vala_monitorable; +#line 948 "VideoMonitor.c" + } else { +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 952 "VideoMonitor.c" + } +#line 98 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 956 "VideoMonitor.c" + } +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = state; +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + switch (_tmp4_) { +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + case VIDEO_SOURCE_COLLECTION_STATE_ONLINE: +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + case VIDEO_SOURCE_COLLECTION_STATE_OFFLINE: +#line 966 "VideoMonitor.c" + { + Video* _tmp5_ = NULL; + Monitorable* _tmp6_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = video; +#line 104 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MONITORABLE, Monitorable)); +#line 104 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 104 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_monitorable = _tmp6_; +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_REPRESENTED; +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (monitorable) { +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *monitorable = _vala_monitorable; +#line 986 "VideoMonitor.c" + } else { +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 990 "VideoMonitor.c" + } +#line 106 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 994 "VideoMonitor.c" + } + default: +#line 101 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + case VIDEO_SOURCE_COLLECTION_STATE_TRASH: +#line 999 "VideoMonitor.c" + { +#line 111 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 111 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_monitorable = NULL; +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = MEDIA_MONITOR_DISCOVERED_FILE_IGNORE; +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (monitorable) { +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *monitorable = _vala_monitorable; +#line 1013 "VideoMonitor.c" + } else { +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 1017 "VideoMonitor.c" + } +#line 113 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1021 "VideoMonitor.c" + } + } +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (monitorable) { +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *monitorable = _vala_monitorable; +#line 1030 "VideoMonitor.c" + } else { +#line 91 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_vala_monitorable); +#line 1034 "VideoMonitor.c" + } +} + + +static GeeCollection* video_monitor_real_candidates_for_unknown_file (MediaMonitor* base, GFile* file, GFileInfo* info, MediaMonitorDiscoveredFile* _result_) { + VideoMonitor * self; + MediaMonitorDiscoveredFile _vala_result = 0; + GeeCollection* result = NULL; + GeeCollection* matched = NULL; + GeeArrayList* _tmp0_ = NULL; + VideoSourceCollection* _tmp1_ = NULL; + GFileInfo* _tmp2_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 117 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 117 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), NULL); +#line 119 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 119 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + matched = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 120 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = video_global; +#line 120 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = info; +#line 120 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_source_collection_fetch_by_matching_backing (_tmp1_, _tmp2_, matched); +#line 122 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_result = MEDIA_MONITOR_DISCOVERED_FILE_UNKNOWN; +#line 124 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = matched; +#line 124 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_result_) { +#line 124 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *_result_ = _vala_result; +#line 1071 "VideoMonitor.c" + } +#line 124 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1075 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_created (MediaMonitor* base, GFile* file, GFileInfo* info) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + Video* _tmp4_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 127 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 127 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 129 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 129 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 129 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 129 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 130 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 130 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 131 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 131 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 131 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1113 "VideoMonitor.c" + } +#line 133 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = video; +#line 133 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_online (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MONITORABLE, Monitorable)); +#line 135 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 135 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 135 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1125 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_moved (MediaMonitor* base, GFile* old_file, GFile* new_file, GFileInfo* new_file_info) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState old_state = 0; + Video* old_video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + VideoSourceCollectionState new_state = 0; + Video* new_video = NULL; + GFile* _tmp3_ = NULL; + VideoSourceCollectionState _tmp4_ = 0; + Video* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + Video* _tmp7_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 138 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (old_file), FALSE); +#line 138 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (new_file), FALSE); +#line 138 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (new_file_info), FALSE); +#line 140 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = old_file; +#line 140 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 140 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + old_state = _tmp1_; +#line 140 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + old_video = _tmp2_; +#line 143 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = new_file; +#line 143 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = video_monitor_get_state (self, _tmp3_, &_tmp4_); +#line 143 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + new_state = _tmp4_; +#line 143 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + new_video = _tmp5_; +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp7_ = old_video; +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp7_ != NULL) { +#line 1172 "VideoMonitor.c" + Video* _tmp8_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp8_ = new_video; +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _tmp8_ == NULL; +#line 1178 "VideoMonitor.c" + } else { +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = FALSE; +#line 1182 "VideoMonitor.c" + } +#line 157 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp6_) { +#line 1186 "VideoMonitor.c" + Video* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = old_video; +#line 159 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp10_ = new_file; +#line 159 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MONITORABLE, Monitorable), _tmp10_); +#line 1195 "VideoMonitor.c" + } else { + gboolean _tmp11_ = FALSE; + Video* _tmp12_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp12_ = old_video; +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp12_ == NULL) { +#line 1203 "VideoMonitor.c" + Video* _tmp13_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = new_video; +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = _tmp13_ != NULL; +#line 1209 "VideoMonitor.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = FALSE; +#line 1213 "VideoMonitor.c" + } +#line 160 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp11_) { +#line 1217 "VideoMonitor.c" + Video* _tmp14_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp14_ = new_video; +#line 162 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_set_check_interpretable (self, _tmp14_, TRUE); +#line 1223 "VideoMonitor.c" + } else { + gboolean _tmp15_ = FALSE; + Video* _tmp16_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp16_ = old_video; +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp16_ == NULL) { +#line 1231 "VideoMonitor.c" + Video* _tmp17_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp17_ = new_video; +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = _tmp17_ == NULL; +#line 1237 "VideoMonitor.c" + } else { +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = FALSE; +#line 1241 "VideoMonitor.c" + } +#line 163 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp15_) { +#line 165 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 165 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (new_video); +#line 165 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (old_video); +#line 165 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1253 "VideoMonitor.c" + } else { + gboolean _tmp18_ = FALSE; + Video* _tmp19_ = NULL; + Video* _tmp21_ = NULL; + Video* _tmp22_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp19_ = old_video; +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp19_ != NULL) { +#line 1263 "VideoMonitor.c" + Video* _tmp20_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp20_ = new_video; +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp18_ = _tmp20_ != NULL; +#line 1269 "VideoMonitor.c" + } else { +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp18_ = FALSE; +#line 1273 "VideoMonitor.c" + } +#line 167 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_assert (_tmp18_, "old_video != null && new_video != null"); +#line 170 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp21_ = old_video; +#line 170 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_MONITORABLE, Monitorable)); +#line 171 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp22_ = new_video; +#line 171 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_set_check_interpretable (self, _tmp22_, TRUE); +#line 1285 "VideoMonitor.c" + } + } + } +#line 174 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 174 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (new_video); +#line 174 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (old_video); +#line 174 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1297 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_altered (MediaMonitor* base, GFile* file) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 177 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _tmp2_; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _tmp3_ != NULL; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp3_); +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp4_; +#line 179 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1330 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_attributes_altered (MediaMonitor* base, GFile* file) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + Video* _tmp4_ = NULL; + Video* _tmp5_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 182 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 184 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 184 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 184 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 184 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 185 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 185 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 186 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 186 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 186 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1367 "VideoMonitor.c" + } +#line 188 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = video; +#line 188 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file_info_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MONITORABLE, Monitorable)); +#line 189 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = video; +#line 189 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MONITORABLE, Monitorable), TRUE); +#line 191 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 191 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 191 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1383 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_alteration_completed (MediaMonitor* base, GFile* file, GFileInfo* info) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + Video* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 194 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 194 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 196 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 196 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 196 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 196 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 197 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 197 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 198 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 198 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 198 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1422 "VideoMonitor.c" + } +#line 200 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = video; +#line 200 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = info; +#line 200 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file_alterations_completed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MONITORABLE, Monitorable), _tmp5_); +#line 202 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 202 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 202 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1436 "VideoMonitor.c" +} + + +static gboolean video_monitor_real_notify_file_deleted (MediaMonitor* base, GFile* file) { + VideoMonitor * self; + gboolean result = FALSE; + VideoSourceCollectionState state = 0; + Video* video = NULL; + GFile* _tmp0_ = NULL; + VideoSourceCollectionState _tmp1_ = 0; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; + Video* _tmp4_ = NULL; + Video* _tmp5_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 205 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 207 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = file; +#line 207 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video_monitor_get_state (self, _tmp0_, &_tmp1_); +#line 207 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + state = _tmp1_; +#line 207 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp2_; +#line 208 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = video; +#line 208 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp3_ == NULL) { +#line 209 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = FALSE; +#line 209 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 209 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1473 "VideoMonitor.c" + } +#line 211 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = video; +#line 211 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_master_file_in_alteration (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MONITORABLE, Monitorable), FALSE); +#line 212 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = video; +#line 212 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_update_offline (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MONITORABLE, Monitorable)); +#line 214 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = TRUE; +#line 214 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 214 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1489 "VideoMonitor.c" +} + + +static Video* video_monitor_get_state (VideoMonitor* self, GFile* file, VideoSourceCollectionState* state) { + VideoSourceCollectionState _vala_state = 0; + Video* result = NULL; + GFile* real_file = NULL; + GFile* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + VideoSourceCollection* _tmp28_ = NULL; + VideoSourceCollectionState _tmp29_ = 0; + Video* _tmp30_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO_MONITOR (self), NULL); +#line 217 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 218 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + real_file = NULL; +#line 1508 "VideoMonitor.c" + { + GeeIterator* _monitorable_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = media_monitor_get_monitorables (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor)); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = _tmp0_; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _tmp2_; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp1_); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_it = _tmp3_; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + while (TRUE) { +#line 1529 "VideoMonitor.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + Monitorable* monitorable = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Video* video = NULL; + Monitorable* _tmp8_ = NULL; + Video* _tmp9_ = NULL; + VideoUpdates* updates = NULL; + Video* _tmp10_ = NULL; + VideoUpdates* _tmp11_ = NULL; + VideoUpdates* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + VideoUpdates* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; + GFile* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _monitorable_it; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!_tmp5_) { +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1555 "VideoMonitor.c" + } +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _monitorable_it; +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + monitorable = (Monitorable*) _tmp7_; +#line 220 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp8_ = monitorable; +#line 220 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_VIDEO, Video)); +#line 220 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = _tmp9_; +#line 222 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp10_ = video; +#line 222 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = video_monitor_get_existing_video_updates (self, _tmp10_); +#line 222 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + updates = _tmp11_; +#line 223 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp12_ = updates; +#line 223 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp12_ == NULL) { +#line 224 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 224 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 224 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (monitorable); +#line 224 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + continue; +#line 1587 "VideoMonitor.c" + } +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp14_ = updates; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = monitorable_updates_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp16_ = _tmp15_; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp17_ = _tmp16_ != NULL; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp16_); +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp17_) { +#line 1601 "VideoMonitor.c" + VideoUpdates* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp18_ = updates; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp19_ = monitorable_updates_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_MONITORABLE_UPDATES, MonitorableUpdates)); +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp20_ = _tmp19_; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp21_ = file; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp22_ = g_file_equal (_tmp20_, _tmp21_); +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = _tmp22_; +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_tmp20_); +#line 1621 "VideoMonitor.c" + } else { +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = FALSE; +#line 1625 "VideoMonitor.c" + } +#line 226 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp13_) { +#line 1629 "VideoMonitor.c" + Video* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp23_ = video; +#line 227 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp24_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 227 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (real_file); +#line 227 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + real_file = _tmp24_; +#line 229 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 229 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 229 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (monitorable); +#line 229 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1648 "VideoMonitor.c" + } +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (monitorable); +#line 1656 "VideoMonitor.c" + } +#line 219 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_monitorable_it); +#line 1660 "VideoMonitor.c" + } +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp26_ = real_file; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp25_ = _tmp26_; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp25_ == NULL) { +#line 1668 "VideoMonitor.c" + GFile* _tmp27_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp27_ = file; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp25_ = _tmp27_; +#line 1674 "VideoMonitor.c" + } +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp28_ = video_global; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp30_ = video_source_collection_get_state_by_file (_tmp28_, _tmp25_, &_tmp29_); +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_state = _tmp29_; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp30_; +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (real_file); +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (state) { +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *state = _vala_state; +#line 1690 "VideoMonitor.c" + } +#line 233 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1694 "VideoMonitor.c" +} + + +VideoUpdates* video_monitor_fetch_video_updates (VideoMonitor* self, Video* video) { + VideoUpdates* result = NULL; + VideoUpdates* updates = NULL; + Video* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + VideoUpdates* _tmp2_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO_MONITOR (self), NULL); +#line 236 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = media_monitor_fetch_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIDEO_UPDATES) ? ((VideoUpdates*) _tmp1_) : NULL; +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp2_ == NULL) { +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (_tmp1_); +#line 1718 "VideoMonitor.c" + } +#line 237 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + updates = _tmp2_; +#line 238 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _vala_assert (updates != NULL, "updates != null"); +#line 240 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = updates; +#line 240 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1728 "VideoMonitor.c" +} + + +VideoUpdates* video_monitor_get_existing_video_updates (VideoMonitor* self, Video* video) { + VideoUpdates* result = NULL; + Video* _tmp0_ = NULL; + MonitorableUpdates* _tmp1_ = NULL; + VideoUpdates* _tmp2_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO_MONITOR (self), NULL); +#line 243 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = media_monitor_get_existing_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MONITORABLE, Monitorable)); +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIDEO_UPDATES) ? ((VideoUpdates*) _tmp1_) : NULL; +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp2_ == NULL) { +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (_tmp1_); +#line 1751 "VideoMonitor.c" + } +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + result = _tmp2_; +#line 244 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return result; +#line 1757 "VideoMonitor.c" +} + + +void video_monitor_set_check_interpretable (VideoMonitor* self, Video* video, gboolean check) { + Video* _tmp0_ = NULL; + VideoUpdates* _tmp1_ = NULL; + VideoUpdates* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 247 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_VIDEO_MONITOR (self)); +#line 247 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_VIDEO (video)); +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = video_monitor_fetch_video_updates (self, _tmp0_); +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = _tmp1_; +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = check; +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_updates_set_check_interpretable (_tmp2_, _tmp3_); +#line 248 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (_tmp2_); +#line 1782 "VideoMonitor.c" +} + + +static gpointer _monitorable_updates_ref0 (gpointer self) { +#line 266 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self ? monitorable_updates_ref (self) : NULL; +#line 1789 "VideoMonitor.c" +} + + +static void _video_monitor_on_interpretable_check_complete_completion_callback (BackgroundJob* job, gpointer self) { +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_on_interpretable_check_complete ((VideoMonitor*) self, job); +#line 1796 "VideoMonitor.c" +} + + +static void video_monitor_real_process_updates (MediaMonitor* base, GeeCollection* all_updates, TransactionController* controller, gint* op_count, GError** error) { + VideoMonitor * self; + GeeCollection* _tmp0_ = NULL; + TransactionController* _tmp1_ = NULL; + GeeArrayList* check = NULL; + GeeArrayList* _tmp26_ = NULL; + GError * _inner_error_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 251 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (GEE_IS_COLLECTION (all_updates)); +#line 251 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_TRANSACTION_CONTROLLER (controller)); +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = all_updates; +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = controller; +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + MEDIA_MONITOR_CLASS (video_monitor_parent_class)->process_updates (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_MONITOR, MediaMonitor), _tmp0_, _tmp1_, op_count, &_inner_error_); +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_propagate_error (error, _inner_error_); +#line 253 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return; +#line 1825 "VideoMonitor.c" + } +#line 255 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + check = NULL; +#line 1829 "VideoMonitor.c" + { + GeeIterator* _monitorable_updates_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = all_updates; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_it = _tmp3_; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + while (TRUE) { +#line 1842 "VideoMonitor.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + MonitorableUpdates* monitorable_updates = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + gint _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + GeeArrayList* _tmp10_ = NULL; + VideoUpdates* updates = NULL; + MonitorableUpdates* _tmp14_ = NULL; + VideoUpdates* _tmp15_ = NULL; + VideoUpdates* _tmp16_ = NULL; + VideoUpdates* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = _monitorable_updates_it; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!_tmp5_) { +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1865 "VideoMonitor.c" + } +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp6_ = _monitorable_updates_it; +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + monitorable_updates = (MonitorableUpdates*) _tmp7_; +#line 258 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp8_ = *op_count; +#line 258 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp8_ >= MEDIA_MONITOR_MAX_OPERATIONS_PER_CYCLE) { +#line 259 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 259 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1881 "VideoMonitor.c" + } +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp10_ = check; +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp10_ != NULL) { +#line 1887 "VideoMonitor.c" + GeeArrayList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp11_ = check; +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp12_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp13_ = _tmp12_; +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = _tmp13_ >= VIDEO_MONITOR_MAX_INTERPRETABLE_CHECKS_PER_CYCLE; +#line 1899 "VideoMonitor.c" + } else { +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp9_ = FALSE; +#line 1903 "VideoMonitor.c" + } +#line 263 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp9_) { +#line 264 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 264 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 1911 "VideoMonitor.c" + } +#line 266 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp14_ = monitorable_updates; +#line 266 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp15_ = _monitorable_updates_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, TYPE_VIDEO_UPDATES) ? ((VideoUpdates*) _tmp14_) : NULL); +#line 266 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + updates = _tmp15_; +#line 267 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp16_ = updates; +#line 267 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp16_ == NULL) { +#line 268 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 268 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 268 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + continue; +#line 1929 "VideoMonitor.c" + } +#line 270 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp17_ = updates; +#line 270 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp18_ = video_updates_is_check_interpretable (_tmp17_); +#line 270 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp18_) { +#line 1937 "VideoMonitor.c" + GeeArrayList* _tmp19_ = NULL; + GeeArrayList* _tmp21_ = NULL; + VideoUpdates* _tmp22_ = NULL; + Video* _tmp23_ = NULL; + VideoUpdates* _tmp24_ = NULL; + gint _tmp25_ = 0; +#line 271 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp19_ = check; +#line 271 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp19_ == NULL) { +#line 1948 "VideoMonitor.c" + GeeArrayList* _tmp20_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp20_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 272 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (check); +#line 272 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + check = _tmp20_; +#line 1956 "VideoMonitor.c" + } +#line 274 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp21_ = check; +#line 274 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp22_ = updates; +#line 274 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp23_ = _tmp22_->video; +#line 274 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp23_); +#line 275 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp24_ = updates; +#line 275 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_updates_set_check_interpretable (_tmp24_, FALSE); +#line 276 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp25_ = *op_count; +#line 276 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + *op_count = _tmp25_ + 1; +#line 1974 "VideoMonitor.c" + } +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (updates); +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _monitorable_updates_unref0 (monitorable_updates); +#line 1980 "VideoMonitor.c" + } +#line 257 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_monitorable_updates_it); +#line 1984 "VideoMonitor.c" + } +#line 280 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp26_ = check; +#line 280 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp26_ != NULL) { +#line 1990 "VideoMonitor.c" + GeeArrayList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + guint64 _tmp32_ = 0ULL; + GeeArrayList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp27_ = check; +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp28_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp29_ = _tmp28_; +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp30_ = g_strdup_printf ("Checking interpretable for %d videos", _tmp29_); +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp31_ = _tmp30_; +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + media_monitor_mdbg (_tmp31_); +#line 281 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_free0 (_tmp31_); +#line 283 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_notify_offline_thumbs_regenerated (); +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp32_ = self->priv->background_jobs; +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp33_ = check; +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp34_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp35_ = _tmp34_; +#line 285 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->background_jobs = _tmp32_ + _tmp35_; +#line 2026 "VideoMonitor.c" + { + GeeArrayList* _video_list = NULL; + GeeArrayList* _tmp36_ = NULL; + GeeArrayList* _tmp37_ = NULL; + gint _video_size = 0; + GeeArrayList* _tmp38_ = NULL; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint _video_index = 0; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp36_ = check; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp37_ = _g_object_ref0 (_tmp36_); +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_list = _tmp37_; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp38_ = _video_list; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp39_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp40_ = _tmp39_; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_size = _tmp40_; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_index = -1; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + while (TRUE) { +#line 2054 "VideoMonitor.c" + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + Video* video = NULL; + GeeArrayList* _tmp44_ = NULL; + gint _tmp45_ = 0; + gpointer _tmp46_ = NULL; + Workers* _tmp47_ = NULL; + Video* _tmp48_ = NULL; + VideoMonitorVideoInterpretableCheckJob* _tmp49_ = NULL; + VideoMonitorVideoInterpretableCheckJob* _tmp50_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp41_ = _video_index; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_index = _tmp41_ + 1; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp42_ = _video_index; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp43_ = _video_size; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (!(_tmp42_ < _tmp43_)) { +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + break; +#line 2078 "VideoMonitor.c" + } +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp44_ = _video_list; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp45_ = _video_index; +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp46_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp45_); +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video = (Video*) _tmp46_; +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp47_ = self->priv->workers; +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp48_ = video; +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp49_ = video_monitor_video_interpretable_check_job_new (_tmp48_, _video_monitor_on_interpretable_check_complete_completion_callback, self); +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp50_ = _tmp49_; +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + workers_enqueue (_tmp47_, G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 287 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _background_job_unref0 (_tmp50_); +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (video); +#line 2102 "VideoMonitor.c" + } +#line 286 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (_video_list); +#line 2106 "VideoMonitor.c" + } + } +#line 251 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (check); +#line 2111 "VideoMonitor.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 292 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self ? background_job_ref (self) : NULL; +#line 2118 "VideoMonitor.c" +} + + +static void video_monitor_on_interpretable_check_complete (VideoMonitor* self, BackgroundJob* j) { + VideoMonitorVideoInterpretableCheckJob* job = NULL; + BackgroundJob* _tmp0_ = NULL; + VideoMonitorVideoInterpretableCheckJob* _tmp1_ = NULL; + VideoMonitorVideoInterpretableCheckJob* _tmp2_ = NULL; + VideoInterpretableResults* _tmp3_ = NULL; + guint64 _tmp4_ = 0ULL; + guint64 _tmp5_ = 0ULL; +#line 291 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_VIDEO_MONITOR (self)); +#line 291 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_if_fail (IS_BACKGROUND_JOB (j)); +#line 292 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = j; +#line 292 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = _background_job_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJob)); +#line 292 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + job = _tmp1_; +#line 294 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = job; +#line 294 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _tmp2_->results; +#line 294 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_interpretable_results_foreground_finish (_tmp3_); +#line 296 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp4_ = self->priv->background_jobs; +#line 296 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->background_jobs = _tmp4_ - 1; +#line 297 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp5_ = self->priv->background_jobs; +#line 297 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + if (_tmp5_ <= ((guint64) 0)) { +#line 298 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_notify_normal_thumbs_regenerated (); +#line 2156 "VideoMonitor.c" + } +#line 291 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _background_job_unref0 (job); +#line 2160 "VideoMonitor.c" +} + + +static VideoMonitorVideoInterpretableCheckJob* video_monitor_video_interpretable_check_job_construct (GType object_type, Video* video, CompletionCallback callback, void* callback_target) { + VideoMonitorVideoInterpretableCheckJob* self = NULL; + Video* _tmp0_ = NULL; + CompletionCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + Video* _tmp2_ = NULL; + Video* _tmp3_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 50 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = video; +#line 50 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = callback; +#line 50 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1__target = callback_target; +#line 50 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = (VideoMonitorVideoInterpretableCheckJob*) background_job_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), _tmp1_, _tmp1__target, NULL, NULL, NULL, NULL); +#line 51 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp2_ = video; +#line 51 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 51 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (self->video); +#line 51 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->video = _tmp3_; +#line 49 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return self; +#line 2191 "VideoMonitor.c" +} + + +static VideoMonitorVideoInterpretableCheckJob* video_monitor_video_interpretable_check_job_new (Video* video, CompletionCallback callback, void* callback_target) { +#line 49 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + return video_monitor_video_interpretable_check_job_construct (VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, video, callback, callback_target); +#line 2198 "VideoMonitor.c" +} + + +static void video_monitor_video_interpretable_check_job_real_execute (BackgroundJob* base) { + VideoMonitorVideoInterpretableCheckJob * self; + Video* _tmp0_ = NULL; + VideoInterpretableResults* _tmp1_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJob); +#line 55 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = self->video; +#line 55 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp1_ = video_check_is_interpretable (_tmp0_); +#line 55 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_interpretable_results_unref0 (self->results); +#line 55 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->results = _tmp1_; +#line 2216 "VideoMonitor.c" +} + + +static void video_monitor_video_interpretable_check_job_class_init (VideoMonitorVideoInterpretableCheckJobClass * klass) { +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_video_interpretable_check_job_parent_class = g_type_class_peek_parent (klass); +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((BackgroundJobClass *) klass)->finalize = video_monitor_video_interpretable_check_job_finalize; +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((BackgroundJobClass *) klass)->execute = video_monitor_video_interpretable_check_job_real_execute; +#line 2227 "VideoMonitor.c" +} + + +static void video_monitor_video_interpretable_check_job_instance_init (VideoMonitorVideoInterpretableCheckJob * self) { +#line 47 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->results = NULL; +#line 2234 "VideoMonitor.c" +} + + +static void video_monitor_video_interpretable_check_job_finalize (BackgroundJob* obj) { + VideoMonitorVideoInterpretableCheckJob * self; +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIDEO_MONITOR_TYPE_VIDEO_INTERPRETABLE_CHECK_JOB, VideoMonitorVideoInterpretableCheckJob); +#line 44 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _g_object_unref0 (self->video); +#line 47 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _video_interpretable_results_unref0 (self->results); +#line 42 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + BACKGROUND_JOB_CLASS (video_monitor_video_interpretable_check_job_parent_class)->finalize (obj); +#line 2248 "VideoMonitor.c" +} + + +static GType video_monitor_video_interpretable_check_job_get_type (void) { + static volatile gsize video_monitor_video_interpretable_check_job_type_id__volatile = 0; + if (g_once_init_enter (&video_monitor_video_interpretable_check_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoMonitorVideoInterpretableCheckJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_monitor_video_interpretable_check_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoMonitorVideoInterpretableCheckJob), 0, (GInstanceInitFunc) video_monitor_video_interpretable_check_job_instance_init, NULL }; + GType video_monitor_video_interpretable_check_job_type_id; + video_monitor_video_interpretable_check_job_type_id = g_type_register_static (TYPE_BACKGROUND_JOB, "VideoMonitorVideoInterpretableCheckJob", &g_define_type_info, 0); + g_once_init_leave (&video_monitor_video_interpretable_check_job_type_id__volatile, video_monitor_video_interpretable_check_job_type_id); + } + return video_monitor_video_interpretable_check_job_type_id__volatile; +} + + +static void video_monitor_class_init (VideoMonitorClass * klass) { +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + video_monitor_parent_class = g_type_class_peek_parent (klass); +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + g_type_class_add_private (klass, sizeof (VideoMonitorPrivate)); +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->create_updates = video_monitor_real_create_updates; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->get_media_source_collection = video_monitor_real_get_media_source_collection; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->is_file_represented = video_monitor_real_is_file_represented; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_discovered = video_monitor_real_notify_file_discovered; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->candidates_for_unknown_file = video_monitor_real_candidates_for_unknown_file; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_created = video_monitor_real_notify_file_created; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_moved = video_monitor_real_notify_file_moved; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_altered = video_monitor_real_notify_file_altered; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_attributes_altered = video_monitor_real_notify_file_attributes_altered; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_alteration_completed = video_monitor_real_notify_file_alteration_completed; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->notify_file_deleted = video_monitor_real_notify_file_deleted; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + ((MediaMonitorClass *) klass)->process_updates = video_monitor_real_process_updates; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + G_OBJECT_CLASS (klass)->finalize = video_monitor_finalize; +#line 2295 "VideoMonitor.c" +} + + +static void video_monitor_instance_init (VideoMonitor * self) { + Workers* _tmp0_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv = VIDEO_MONITOR_GET_PRIVATE (self); +#line 62 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _tmp0_ = workers_new ((guint) 1, FALSE); +#line 62 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->workers = _tmp0_; +#line 63 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self->priv->background_jobs = (guint64) 0; +#line 2309 "VideoMonitor.c" +} + + +static void video_monitor_finalize (GObject* obj) { + VideoMonitor * self; +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_MONITOR, VideoMonitor); +#line 62 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + _workers_unref0 (self->priv->workers); +#line 37 "/home/jens/Source/shotwell/src/VideoMonitor.vala" + G_OBJECT_CLASS (video_monitor_parent_class)->finalize (obj); +#line 2321 "VideoMonitor.c" +} + + +GType video_monitor_get_type (void) { + static volatile gsize video_monitor_type_id__volatile = 0; + if (g_once_init_enter (&video_monitor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoMonitor), 0, (GInstanceInitFunc) video_monitor_instance_init, NULL }; + GType video_monitor_type_id; + video_monitor_type_id = g_type_register_static (TYPE_MEDIA_MONITOR, "VideoMonitor", &g_define_type_info, 0); + g_once_init_leave (&video_monitor_type_id__volatile, video_monitor_type_id); + } + return video_monitor_type_id__volatile; +} + + + diff --git a/src/VideoSupport.c b/src/VideoSupport.c new file mode 100644 index 0000000..989976f --- /dev/null +++ b/src/VideoSupport.c @@ -0,0 +1,10961 @@ +/* VideoSupport.c generated by valac 0.32.1, the Vala compiler + * generated from VideoSupport.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_VIDEO_IMPORT_PARAMS (video_import_params_get_type ()) +#define VIDEO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParams)) +#define VIDEO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParamsClass)) +#define IS_VIDEO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_IMPORT_PARAMS)) +#define IS_VIDEO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_IMPORT_PARAMS)) +#define VIDEO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_IMPORT_PARAMS, VideoImportParamsClass)) + +typedef struct _VideoImportParams VideoImportParams; +typedef struct _VideoImportParamsClass VideoImportParamsClass; +typedef struct _VideoImportParamsPrivate VideoImportParamsPrivate; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#define TYPE_THUMBNAILS (thumbnails_get_type ()) +#define THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAILS, Thumbnails)) +#define THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAILS, ThumbnailsClass)) +#define IS_THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAILS)) +#define IS_THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAILS)) +#define THUMBNAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAILS, ThumbnailsClass)) + +typedef struct _Thumbnails Thumbnails; +typedef struct _ThumbnailsClass ThumbnailsClass; + +#define TYPE_VIDEO_ROW (video_row_get_type ()) +#define VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_ROW, VideoRow)) +#define VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_ROW, VideoRowClass)) +#define IS_VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_ROW)) +#define IS_VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_ROW)) +#define VIDEO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_ROW, VideoRowClass)) + +typedef struct _VideoRow VideoRow; +typedef struct _VideoRowClass VideoRowClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _thumbnails_unref0(var) ((var == NULL) ? NULL : (var = (thumbnails_unref (var), NULL))) +#define _video_row_unref0(var) ((var == NULL) ? NULL : (var = (video_row_unref (var), NULL))) +typedef struct _ParamSpecVideoImportParams ParamSpecVideoImportParams; + +#define TYPE_VIDEO_READER (video_reader_get_type ()) +#define VIDEO_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_READER, VideoReader)) +#define VIDEO_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_READER, VideoReaderClass)) +#define IS_VIDEO_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_READER)) +#define IS_VIDEO_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_READER)) +#define VIDEO_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_READER, VideoReaderClass)) + +typedef struct _VideoReader VideoReader; +typedef struct _VideoReaderClass VideoReaderClass; +typedef struct _VideoReaderPrivate VideoReaderPrivate; +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _video_reader_unref0(var) ((var == NULL) ? NULL : (var = (video_reader_unref (var), NULL))) + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_VIDEO_METADATA (video_metadata_get_type ()) +#define VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_METADATA, VideoMetadata)) +#define VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_METADATA, VideoMetadataClass)) +#define IS_VIDEO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_METADATA)) +#define IS_VIDEO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_METADATA)) +#define VIDEO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_METADATA, VideoMetadataClass)) + +typedef struct _VideoMetadata VideoMetadata; +typedef struct _VideoMetadataClass VideoMetadataClass; + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +typedef struct _VideoRowPrivate VideoRowPrivate; + +#define TYPE_VIDEO_ID (video_id_get_type ()) +typedef struct _VideoID VideoID; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_RATING (rating_get_type ()) +typedef struct _ParamSpecVideoReader ParamSpecVideoReader; + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#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; +typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +typedef struct _MediaSourcePrivate MediaSourcePrivate; + +#define TYPE_BACKING_FILE_STATE (backing_file_state_get_type ()) +#define BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_FILE_STATE, BackingFileState)) +#define BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) +#define IS_BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_FILE_STATE)) +#define IS_BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_FILE_STATE)) +#define BACKING_FILE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) + +typedef struct _BackingFileState BackingFileState; +typedef struct _BackingFileStateClass BackingFileStateClass; + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; +typedef struct _VideoSourcePrivate VideoSourcePrivate; + +#define TYPE_FLAGGABLE (flaggable_get_type ()) +#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable)) +#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE)) +#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface)) + +typedef struct _Flaggable Flaggable; +typedef struct _FlaggableIface FlaggableIface; + +#define TYPE_MONITORABLE (monitorable_get_type ()) +#define MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MONITORABLE, Monitorable)) +#define IS_MONITORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MONITORABLE)) +#define MONITORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MONITORABLE, MonitorableIface)) + +typedef struct _Monitorable Monitorable; +typedef struct _MonitorableIface MonitorableIface; + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +typedef struct _VideoPrivate VideoPrivate; + +#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_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_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_VIDEO_TABLE (video_table_get_type ()) +#define VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_TABLE, VideoTable)) +#define VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_TABLE, VideoTableClass)) +#define IS_VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_TABLE)) +#define IS_VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_TABLE)) +#define VIDEO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_TABLE, VideoTableClass)) + +typedef struct _VideoTable VideoTable; +typedef struct _VideoTableClass VideoTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) + +#define TYPE_EXPORTER (exporter_get_type ()) +#define EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER, Exporter)) +#define EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER, ExporterClass)) +#define IS_EXPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER)) +#define IS_EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER)) +#define EXPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER, ExporterClass)) + +typedef struct _Exporter Exporter; +typedef struct _ExporterClass ExporterClass; + +#define TYPE_EXPORTER_UI (exporter_ui_get_type ()) +#define EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORTER_UI, ExporterUI)) +#define EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORTER_UI, ExporterUIClass)) +#define IS_EXPORTER_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORTER_UI)) +#define IS_EXPORTER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORTER_UI)) +#define EXPORTER_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORTER_UI, ExporterUIClass)) + +typedef struct _ExporterUI ExporterUI; +typedef struct _ExporterUIClass ExporterUIClass; + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; +#define _exporter_ui_unref0(var) ((var == NULL) ? NULL : (var = (exporter_ui_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 _backing_file_state_unref0(var) ((var == NULL) ? NULL : (var = (backing_file_state_unref (var), NULL))) + +#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ()) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define VIDEO_TYPE_INTERPRETABLE_RESULTS (video_interpretable_results_get_type ()) +#define VIDEO_INTERPRETABLE_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResults)) +#define VIDEO_INTERPRETABLE_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResultsClass)) +#define VIDEO_IS_INTERPRETABLE_RESULTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS)) +#define VIDEO_IS_INTERPRETABLE_RESULTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIDEO_TYPE_INTERPRETABLE_RESULTS)) +#define VIDEO_INTERPRETABLE_RESULTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResultsClass)) + +typedef struct _VideoInterpretableResults VideoInterpretableResults; +typedef struct _VideoInterpretableResultsClass VideoInterpretableResultsClass; +#define _video_interpretable_results_unref0(var) ((var == NULL) ? NULL : (var = (video_interpretable_results_unref (var), NULL))) +typedef struct _VideoInterpretableResultsPrivate VideoInterpretableResultsPrivate; +typedef struct _VideoParamSpecInterpretableResults VideoParamSpecInterpretableResults; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; +typedef struct _MediaSourceCollectionPrivate MediaSourceCollectionPrivate; + +#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ()) +#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank)) +#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) +#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) + +typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank; +typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass; + +#define TYPE_MEDIA_SOURCE_HOLDING_TANK (media_source_holding_tank_get_type ()) +#define MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTank)) +#define MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) +#define IS_MEDIA_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define IS_MEDIA_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_HOLDING_TANK)) +#define MEDIA_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_HOLDING_TANK, MediaSourceHoldingTankClass)) + +typedef struct _MediaSourceHoldingTank MediaSourceHoldingTank; +typedef struct _MediaSourceHoldingTankClass MediaSourceHoldingTankClass; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; + +#define TYPE_MEDIA_MONITOR (media_monitor_get_type ()) +#define MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_MONITOR, MediaMonitor)) +#define MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_MONITOR, MediaMonitorClass)) +#define IS_MEDIA_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_MONITOR)) +#define IS_MEDIA_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_MONITOR)) +#define MEDIA_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_MONITOR, MediaMonitorClass)) + +typedef struct _MediaMonitor MediaMonitor; +typedef struct _MediaMonitorClass MediaMonitorClass; + +#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; +typedef struct _VideoSourceCollectionPrivate VideoSourceCollectionPrivate; + +#define VIDEO_SOURCE_COLLECTION_TYPE_STATE (video_source_collection_state_get_type ()) +#define _transaction_controller_unref0(var) ((var == NULL) ? NULL : (var = (transaction_controller_unref (var), NULL))) +#define _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL))) + +#define TYPE_VIDEO_MONITOR (video_monitor_get_type ()) +#define VIDEO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_MONITOR, VideoMonitor)) +#define VIDEO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_MONITOR, VideoMonitorClass)) +#define IS_VIDEO_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_MONITOR)) +#define IS_VIDEO_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_MONITOR)) +#define VIDEO_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_MONITOR, VideoMonitorClass)) + +typedef struct _VideoMonitor VideoMonitor; +typedef struct _VideoMonitorClass VideoMonitorClass; + +#define TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER (media_source_transaction_controller_get_type ()) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionController)) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass)) +#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER)) +#define IS_MEDIA_SOURCE_TRANSACTION_CONTROLLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER)) +#define MEDIA_SOURCE_TRANSACTION_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_TRANSACTION_CONTROLLER, MediaSourceTransactionControllerClass)) + +typedef struct _MediaSourceTransactionController MediaSourceTransactionController; +typedef struct _MediaSourceTransactionControllerClass MediaSourceTransactionControllerClass; +#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); + +typedef enum { + VIDEO_ERROR_FILE, + VIDEO_ERROR_CONTENTS +} VideoError; +#define VIDEO_ERROR video_error_quark () +struct _ImportID { + gint64 id; +}; + +struct _VideoImportParams { + GTypeInstance parent_instance; + volatile int ref_count; + VideoImportParamsPrivate * priv; + GFile* file; + ImportID import_id; + gchar* md5; + time_t exposure_time_override; + Thumbnails* thumbnails; + VideoRow* row; +}; + +struct _VideoImportParamsClass { + GTypeClass parent_class; + void (*finalize) (VideoImportParams *self); +}; + +struct _ParamSpecVideoImportParams { + GParamSpec parent_instance; +}; + +struct _VideoReader { + GTypeInstance parent_instance; + volatile int ref_count; + VideoReaderPrivate * priv; +}; + +struct _VideoReaderClass { + GTypeClass parent_class; + void (*finalize) (VideoReader *self); +}; + +struct _VideoReaderPrivate { + gdouble clip_duration; + GdkPixbuf* preview_frame; + GFile* file; + GPid thumbnailer_pid; + GDateTime* _timestamp; +}; + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +struct _VideoID { + gint64 id; +}; + +struct _EventID { + gint64 id; +}; + +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 _VideoRow { + GTypeInstance parent_instance; + volatile int ref_count; + VideoRowPrivate * priv; + VideoID video_id; + gchar* filepath; + gint64 filesize; + time_t timestamp; + gint width; + gint height; + gdouble clip_duration; + gboolean is_interpretable; + time_t exposure_time; + ImportID import_id; + EventID event_id; + gchar* md5; + time_t time_created; + Rating rating; + gchar* title; + gchar* backlinks; + time_t time_reimported; + guint64 flags; + gchar* comment; +}; + +struct _VideoRowClass { + GTypeClass parent_class; + void (*finalize) (VideoRow *self); +}; + +struct _ParamSpecVideoReader { + GParamSpec parent_instance; +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +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 _ThumbnailSource { + DataSource parent_instance; + ThumbnailSourcePrivate * priv; +}; + +struct _ThumbnailSourceClass { + DataSourceClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailSource* self); + GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + gchar* (*get_representative_id) (ThumbnailSource* self); + PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self); + void (*thumbnail_altered) (ThumbnailSource* self); +}; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _MediaSource { + ThumbnailSource parent_instance; + MediaSourcePrivate * priv; +}; + +struct _MediaSourceClass { + ThumbnailSourceClass parent_class; + void (*notify_master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); + gboolean (*set_event_id) (MediaSource* self, EventID* id); + gchar* (*get_basename) (MediaSource* self); + GFile* (*get_file) (MediaSource* self); + GFile* (*get_master_file) (MediaSource* self); + guint64 (*get_master_filesize) (MediaSource* self); + guint64 (*get_filesize) (MediaSource* self); + time_t (*get_timestamp) (MediaSource* self); + BackingFileState** (*get_backing_files_state) (MediaSource* self, int* result_length1); + gchar* (*get_title) (MediaSource* self); + gchar* (*get_comment) (MediaSource* self); + void (*set_title) (MediaSource* self, const gchar* title); + gboolean (*set_comment) (MediaSource* self, const gchar* comment); + Rating (*get_rating) (MediaSource* self); + void (*set_rating) (MediaSource* self, Rating rating); + void (*increase_rating) (MediaSource* self); + void (*decrease_rating) (MediaSource* self); + void (*get_dimensions) (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); + GdkPixbuf* (*get_preview_pixbuf) (MediaSource* self, Scaling* scaling, GError** error); + gboolean (*is_trashed) (MediaSource* self); + void (*trash) (MediaSource* self); + void (*untrash) (MediaSource* self); + gboolean (*is_offline) (MediaSource* self); + void (*mark_offline) (MediaSource* self); + void (*mark_online) (MediaSource* self); + gchar* (*get_master_md5) (MediaSource* self); + void (*get_event_id) (MediaSource* self, EventID* result); + time_t (*get_exposure_time) (MediaSource* self); + void (*get_import_id) (MediaSource* self, ImportID* result); + void (*master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); +}; + +struct _VideoSource { + MediaSource parent_instance; + VideoSourcePrivate * priv; +}; + +struct _VideoSourceClass { + MediaSourceClass parent_class; +}; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +struct _MonitorableIface { + GTypeInterface parent_iface; + gboolean (*is_offline) (Monitorable* self); + void (*mark_online) (Monitorable* self); + void (*mark_offline) (Monitorable* self); + void (*set_master_file) (Monitorable* self, GFile* file); + void (*set_master_timestamp) (Monitorable* self, GFileInfo* info); +}; + +struct _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + +struct _Video { + VideoSource parent_instance; + VideoPrivate * priv; +}; + +struct _VideoClass { + VideoSourceClass parent_class; +}; + +struct _VideoPrivate { + VideoRow* backing_row; + GRecMutex __lock_backing_row; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +typedef void (*ExporterCompletionCallback) (Exporter* exporter, gboolean is_cancelled, void* user_data); +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +typedef enum { + 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 () +typedef enum { + THUMBNAIL_CACHE_SIZE_LARGEST = 360, + THUMBNAIL_CACHE_SIZE_BIG = 360, + THUMBNAIL_CACHE_SIZE_MEDIUM = 128, + THUMBNAIL_CACHE_SIZE_SMALLEST = 128 +} ThumbnailCacheSize; + +struct _VideoInterpretableResults { + GTypeInstance parent_instance; + volatile int ref_count; + VideoInterpretableResultsPrivate * priv; + Video* video; + gboolean update_interpretable; + gboolean is_interpretable; + GdkPixbuf* new_thumbnail; +}; + +struct _VideoInterpretableResultsClass { + GTypeClass parent_class; + void (*finalize) (VideoInterpretableResults *self); +}; + +struct _VideoParamSpecInterpretableResults { + GParamSpec parent_instance; +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _MediaSourceCollection { + DatabaseSourceCollection parent_instance; + MediaSourceCollectionPrivate * priv; +}; + +struct _MediaSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; + MediaSourceHoldingTank* (*create_trashcan) (MediaSourceCollection* self); + MediaSourceHoldingTank* (*create_offline_bin) (MediaSourceCollection* self); + MediaMonitor* (*create_media_monitor) (MediaSourceCollection* self, Workers* workers, GCancellable* cancellable); + gchar* (*get_typename) (MediaSourceCollection* self); + gboolean (*is_file_recognized) (MediaSourceCollection* self, GFile* file); + MediaSource* (*fetch_by_numeric_id) (MediaSourceCollection* self, gint64 numeric_id); + void (*notify_import_roll_altered) (MediaSourceCollection* self); + void (*notify_flagged_contents_altered) (MediaSourceCollection* self); + void (*notify_media_import_starting) (MediaSourceCollection* self, GeeCollection* media); + void (*notify_media_import_completed) (MediaSourceCollection* self, GeeCollection* media); + MediaSource* (*fetch_by_source_id) (MediaSourceCollection* self, const gchar* source_id); + GeeCollection* (*get_event_source_ids) (MediaSourceCollection* self, EventID* event_id); + void (*import_many) (MediaSourceCollection* self, GeeCollection* media); + void (*postprocess_imported_media) (MediaSourceCollection* self, GeeCollection* media); + void (*media_import_starting) (MediaSourceCollection* self, GeeCollection* media); + void (*media_import_completed) (MediaSourceCollection* self, GeeCollection* media); + void (*master_file_replaced) (MediaSourceCollection* self, MediaSource* media, GFile* old_file, GFile* new_file); + void (*trashcan_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); + void (*import_roll_altered) (MediaSourceCollection* self); + void (*offline_contents_altered) (MediaSourceCollection* self, GeeCollection* added, GeeCollection* removed); + void (*flagged_contents_altered) (MediaSourceCollection* self); + TransactionController* (*get_transaction_controller) (MediaSourceCollection* self); +}; + +struct _VideoSourceCollection { + MediaSourceCollection parent_instance; + VideoSourceCollectionPrivate * priv; +}; + +struct _VideoSourceCollectionClass { + MediaSourceCollectionClass parent_class; +}; + +struct _VideoSourceCollectionPrivate { + TransactionController* _transaction_controller; + GeeMultiMap* filesize_to_video; +}; + +typedef enum { + VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN, + VIDEO_SOURCE_COLLECTION_STATE_ONLINE, + VIDEO_SOURCE_COLLECTION_STATE_OFFLINE, + VIDEO_SOURCE_COLLECTION_STATE_TRASH +} VideoSourceCollectionState; + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); +typedef gboolean (*SourceHoldingTankCheckToKeep) (DataSource* source, Alteration* alteration, void* user_data); + +static gpointer video_import_params_parent_class = NULL; +static gpointer video_reader_parent_class = NULL; +static gpointer video_parent_class = NULL; +static gboolean video_interpreter_state_changed; +static gboolean video_interpreter_state_changed = FALSE; +static gint video_current_state; +static gint video_current_state = 0; +static gboolean video_normal_regen_complete; +static gboolean video_normal_regen_complete = FALSE; +static gboolean video_offline_regen_complete; +static gboolean video_offline_regen_complete = FALSE; +extern VideoSourceCollection* video_global; +VideoSourceCollection* video_global = NULL; +static gpointer video_interpretable_results_parent_class = NULL; +static FlaggableIface* video_flaggable_parent_iface = NULL; +static MonitorableIface* video_monitorable_parent_iface = NULL; +static DateableIface* video_dateable_parent_iface = NULL; +static gpointer video_source_collection_parent_class = NULL; + +GQuark video_error_quark (void); +gpointer video_import_params_ref (gpointer instance); +void video_import_params_unref (gpointer instance); +GParamSpec* param_spec_video_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_video_import_params (GValue* value, gpointer v_object); +void value_take_video_import_params (GValue* value, gpointer v_object); +gpointer value_get_video_import_params (const GValue* value); +GType video_import_params_get_type (void) G_GNUC_CONST; +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +gpointer thumbnails_ref (gpointer instance); +void thumbnails_unref (gpointer instance); +GParamSpec* param_spec_thumbnails (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_thumbnails (GValue* value, gpointer v_object); +void value_take_thumbnails (GValue* value, gpointer v_object); +gpointer value_get_thumbnails (const GValue* value); +GType thumbnails_get_type (void) G_GNUC_CONST; +gpointer video_row_ref (gpointer instance); +void video_row_unref (gpointer instance); +GParamSpec* param_spec_video_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_video_row (GValue* value, gpointer v_object); +void value_take_video_row (GValue* value, gpointer v_object); +gpointer value_get_video_row (const GValue* value); +GType video_row_get_type (void) G_GNUC_CONST; +enum { + VIDEO_IMPORT_PARAMS_DUMMY_PROPERTY +}; +#define IMPORT_ID_INVALID ((gint64) 0) +void import_id_init (ImportID *self, gint64 id); +VideoRow* video_row_new (void); +VideoRow* video_row_construct (GType object_type); +VideoImportParams* video_import_params_new (GFile* file, ImportID* import_id, const gchar* md5, Thumbnails* thumbnails, time_t exposure_time_override); +VideoImportParams* video_import_params_construct (GType object_type, GFile* file, ImportID* import_id, const gchar* md5, Thumbnails* thumbnails, time_t exposure_time_override); +static void video_import_params_finalize (VideoImportParams* obj); +gpointer video_reader_ref (gpointer instance); +void video_reader_unref (gpointer instance); +GParamSpec* param_spec_video_reader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_video_reader (GValue* value, gpointer v_object); +void value_take_video_reader (GValue* value, gpointer v_object); +gpointer value_get_video_reader (const GValue* value); +GType video_reader_get_type (void) G_GNUC_CONST; +#define VIDEO_READER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIDEO_READER, VideoReaderPrivate)) +enum { + VIDEO_READER_DUMMY_PROPERTY +}; +#define VIDEO_READER_UNKNOWN_CLIP_DURATION (-1.0) +#define VIDEO_READER_THUMBNAILER_TIMEOUT ((guint) 10000) +VideoReader* video_reader_new (GFile* file); +VideoReader* video_reader_construct (GType object_type, GFile* file); +gboolean video_reader_is_supported_video_file (GFile* file); +gboolean video_reader_is_supported_video_filename (const gchar* filename); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +gint utf8_ci_compare (void* a, void* b); +GType import_result_get_type (void) G_GNUC_CONST; +ImportResult video_reader_prepare_for_import (VideoImportParams* params); +#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" +#define DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES UTIL_FILE_ATTRIBUTES +GdkPixbuf* video_reader_read_preview_frame (VideoReader* self); +gdouble video_reader_read_clip_duration (VideoReader* self, GError** error); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType video_metadata_get_type (void) G_GNUC_CONST; +VideoMetadata* video_reader_read_metadata (VideoReader* self, GError** error); +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +MetadataDateTime* media_metadata_get_creation_date_time (MediaMetadata* self); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +gchar* media_metadata_get_title (MediaMetadata* self); +gchar* media_metadata_get_comment (MediaMetadata* self); +GDateTime* video_reader_get_timestamp (VideoReader* self); +GType video_id_get_type (void) G_GNUC_CONST; +VideoID* video_id_dup (const VideoID* self); +void video_id_free (VideoID* self); +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +GType rating_get_type (void) G_GNUC_CONST; +#define VIDEO_ID_INVALID ((gint64) -1) +void video_id_init (VideoID *self, gint64 id); +#define EVENT_ID_INVALID ((gint64) -1) +void event_id_init (EventID *self, gint64 id); +Thumbnails* thumbnails_new (void); +Thumbnails* thumbnails_construct (GType object_type); +void thumbnail_cache_generate_for_video_frame (Thumbnails* thumbnails, GdkPixbuf* preview_frame); +static void video_reader_read_internal (VideoReader* self, GError** error); +static gboolean video_reader_does_file_exist (VideoReader* self); +static GDate* _g_date_dup (GDate* self); +static void video_reader_set_timestamp (VideoReader* self, GDateTime* value); +static gboolean video_reader_on_thumbnailer_timer (VideoReader* self); +static GdkPixbuf* video_reader_thumbnailer (VideoReader* self, const gchar* video_file); +GFile* app_dirs_get_thumbnailer_bin (void); +static gboolean _video_reader_on_thumbnailer_timer_gsource_func (gpointer self); +GdkPixbuf* resources_get_noninterpretable_badge_pixbuf (void); +VideoMetadata* video_metadata_new (void); +VideoMetadata* video_metadata_construct (GType object_type); +void media_metadata_read_from_file (MediaMetadata* self, GFile* file, GError** error); +static void video_reader_finalize (VideoReader* obj); +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_source_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +gpointer backing_file_state_ref (gpointer instance); +void backing_file_state_unref (gpointer instance); +GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_file_state (GValue* value, gpointer v_object); +void value_take_backing_file_state (GValue* value, gpointer v_object); +gpointer value_get_backing_file_state (const GValue* value); +GType backing_file_state_get_type (void) G_GNUC_CONST; +GType photo_exception_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +GType video_source_get_type (void) G_GNUC_CONST; +GType flaggable_get_type (void) G_GNUC_CONST; +GType monitorable_get_type (void) G_GNUC_CONST; +GType dateable_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +#define VIDEO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIDEO, VideoPrivate)) +enum { + VIDEO_DUMMY_PROPERTY +}; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType video_source_collection_get_type (void) G_GNUC_CONST; +#define VIDEO_TYPENAME "video" +#define VIDEO_FLAG_TRASH ((guint64) 0x0000000000000001) +#define VIDEO_FLAG_OFFLINE ((guint64) 0x0000000000000002) +#define VIDEO_FLAG_FLAGGED ((guint64) 0x0000000000000004) +Video* video_new (VideoRow* row); +Video* video_construct (GType object_type, VideoRow* row); +VideoSource* video_source_construct (GType object_type); +gchar* media_source_prep_title (const gchar* title); +void data_source_rehydrate_backlinks (DataSource* self, SourceCollection* unlinked_from, const gchar* dehydrated); +void video_init (ProgressMonitor monitor, void* monitor_target); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gint configuration_facade_get_video_interpreter_state_cookie (ConfigurationFacade* self); +#define CONFIG_FACADE_NO_VIDEO_INTERPRETER_STATE -1 +VideoSourceCollection* video_source_collection_new (void); +VideoSourceCollection* video_source_collection_construct (GType object_type); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType video_table_get_type (void) G_GNUC_CONST; +VideoTable* video_table_get_instance (void); +GeeArrayList* video_table_get_all (VideoTable* self); +static void video_set_is_interpretable (Video* self, gboolean is_interpretable); +gboolean media_source_is_trashed (MediaSource* self); +gboolean media_source_is_offline (MediaSource* self); +void media_source_collection_add_many_to_trash (MediaSourceCollection* self, GeeCollection* sources); +void media_source_collection_add_many_to_offline (MediaSourceCollection* self, GeeCollection* sources); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +gboolean video_has_interpreter_state_changed (void); +void video_notify_normal_thumbs_regenerated (void); +static void video_save_interpreter_state (void); +void video_notify_offline_thumbs_regenerated (void); +void configuration_facade_set_video_interpreter_state_cookie (ConfigurationFacade* self, gint state_cookie); +void video_terminate (void); +GType exporter_get_type (void) G_GNUC_CONST; +gpointer exporter_ui_ref (gpointer instance); +void exporter_ui_unref (gpointer instance); +GParamSpec* param_spec_exporter_ui (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_exporter_ui (GValue* value, gpointer v_object); +void value_take_exporter_ui (GValue* value, gpointer v_object); +gpointer value_get_exporter_ui (const GValue* value); +GType exporter_ui_get_type (void) G_GNUC_CONST; +ExporterUI* video_export_many (GeeCollection* videos, ExporterCompletionCallback done, void* done_target, gboolean export_in_place); +void scaling_for_original (Scaling* result); +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +void export_format_parameters_unmodified (ExportFormatParameters* result); +Exporter* exporter_new_for_temp_file (GeeCollection* to_export, Scaling* scaling, ExportFormatParameters* export_params); +Exporter* exporter_construct_for_temp_file (GType object_type, GeeCollection* to_export, Scaling* scaling, ExportFormatParameters* export_params); +ExporterUI* exporter_ui_new (Exporter* exporter); +ExporterUI* exporter_ui_construct (GType object_type, Exporter* exporter); +void exporter_ui_export (ExporterUI* self, ExporterCompletionCallback completion_callback, void* completion_callback_target); +GFile* export_ui_choose_file (const gchar* current_file_basename); +gchar* media_source_get_basename (MediaSource* self); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +void page_window_set_busy_cursor (PageWindow* self); +void video_export (Video* self, GFile* dest_file, GError** error); +void page_window_set_normal_cursor (PageWindow* self); +GtkResponseType export_error_dialog (GFile* dest, gboolean photos_remaining); +GFile* export_ui_choose_dir (const gchar* user_title); +Exporter* exporter_new (GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +Exporter* exporter_construct (GType object_type, GeeCollection* to_export, GFile* dir, Scaling* scaling, ExportFormatParameters* export_params, gboolean auto_replace_all); +static void video_real_commit_backlinks (DataSource* base, SourceCollection* sources, const gchar* backlinks); +GQuark database_error_quark (void); +void video_table_update_backlinks (VideoTable* self, VideoID* video_id, const gchar* backlinks, GError** error); +void video_get_video_id (Video* self, VideoID* result); +gchar* data_object_to_string (DataObject* self); +static gboolean video_real_set_event_id (MediaSource* base, EventID* event_id); +gboolean video_table_set_event (VideoTable* self, VideoID* video_id, EventID* event_id); +gboolean video_is_duplicate (GFile* file, const gchar* full_md5); +gboolean video_table_has_duplicate (VideoTable* self, GFile* file, const gchar* md5); +ImportResult video_import_create (VideoImportParams* params, Video** video); +void video_table_add (VideoTable* self, VideoRow* video_row, VideoID* result, GError** error); +gboolean video_id_is_invalid (VideoID *self); +void video_import_failed (Video* video); +void video_table_remove (VideoTable* self, VideoID* videoID, GError** error); +void app_window_database_error (GError* err); +static BackingFileState** video_real_get_backing_files_state (MediaSource* base, int* result_length1); +BackingFileState* backing_file_state_new (const gchar* filepath, gint64 filesize, time_t modification_time, const gchar* md5); +BackingFileState* backing_file_state_construct (GType object_type, const gchar* filepath, gint64 filesize, time_t modification_time, const gchar* md5); +static GdkPixbuf* video_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* thumbnail_cache_fetch (ThumbnailSource* source, gint scale, GError** error); +static gchar* video_real_get_master_md5 (MediaSource* base); +static GdkPixbuf* video_real_get_preview_pixbuf (MediaSource* base, Scaling* scaling, GError** error); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +GType thumbnail_cache_size_get_type (void) G_GNUC_CONST; +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up); +static GdkPixbuf* video_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GFile* media_source_get_file (MediaSource* self); +static gchar* video_real_get_typename (DataSource* base); +static gint64 video_real_get_instance_id (DataSource* base); +static void video_real_get_import_id (MediaSource* base, ImportID* result); +static PhotoFileFormat video_real_get_preferred_thumbnail_format (ThumbnailSource* base); +PhotoFileFormat photo_file_format_get_system_default_format (void); +static gchar* video_real_get_title (MediaSource* base); +static void video_real_set_title (MediaSource* base, const gchar* title); +void video_table_set_title (VideoTable* self, VideoID* video_id, const gchar* new_title, GError** error); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +static gchar* video_real_get_comment (MediaSource* base); +static gboolean video_real_set_comment (MediaSource* base, const gchar* comment); +void video_table_set_comment (VideoTable* self, VideoID* video_id, const gchar* new_comment, GError** error); +static Rating video_real_get_rating (MediaSource* base); +static void video_real_set_rating (MediaSource* base, Rating rating); +gboolean rating_is_valid (Rating self); +void video_table_set_rating (VideoTable* self, VideoID* video_id, Rating rating, GError** error); +static void video_real_increase_rating (MediaSource* base); +void media_source_set_rating (MediaSource* self, Rating rating); +Rating rating_increase (Rating self); +static void video_real_decrease_rating (MediaSource* base); +Rating rating_decrease (Rating self); +static gboolean video_real_is_trashed (MediaSource* base); +gboolean video_is_flag_set (Video* self, guint64 flag); +static gboolean video_real_is_offline (Monitorable* base); +static void video_real_mark_offline (Monitorable* base); +guint64 video_add_flags (Video* self, guint64 flags_to_add, Alteration* additional_alteration); +static void video_real_mark_online (Monitorable* base); +guint64 video_remove_flags (Video* self, guint64 flags_to_remove, Alteration* additional_alteration); +gboolean video_get_is_interpretable (Video* self); +gpointer video_interpretable_results_ref (gpointer instance); +void video_interpretable_results_unref (gpointer instance); +GParamSpec* video_param_spec_interpretable_results (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void video_value_set_interpretable_results (GValue* value, gpointer v_object); +void video_value_take_interpretable_results (GValue* value, gpointer v_object); +gpointer video_value_get_interpretable_results (const GValue* value); +GType video_interpretable_results_get_type (void) G_GNUC_CONST; +VideoInterpretableResults* video_check_is_interpretable (Video* self); +void video_interpretable_results_foreground_finish (VideoInterpretableResults* self); +static void video_real_trash (MediaSource* base); +static void video_real_untrash (MediaSource* base); +static gboolean video_real_is_flagged (Flaggable* base); +static void video_real_mark_flagged (Flaggable* base); +static void video_real_mark_unflagged (Flaggable* base); +static void video_real_get_event_id (MediaSource* base, EventID* result); +static gchar* video_real_to_string (DataObject* base); +static time_t video_real_get_exposure_time (Dateable* base); +static void video_real_set_exposure_time (Dateable* base, time_t time); +void video_table_set_exposure_time (VideoTable* self, VideoID* video_id, time_t time, GError** error); +void video_get_frame_dimensions (Video* self, Dimensions* result); +void dimensions_init (Dimensions *self, gint width, gint height); +static void video_real_get_dimensions (MediaSource* base, PhotoException disallowed_steps, Dimensions* result); +static guint64 video_real_get_filesize (MediaSource* base); +guint64 media_source_get_master_filesize (MediaSource* self); +static guint64 video_real_get_master_filesize (MediaSource* base); +static time_t video_real_get_timestamp (MediaSource* base); +static void video_real_set_master_timestamp (Monitorable* base, GFileInfo* info); +void video_table_set_timestamp (VideoTable* self, VideoID* video_id, time_t timestamp, GError** error); +gchar* video_get_filename (Video* self); +static GFile* video_real_get_file (MediaSource* base); +static GFile* video_real_get_master_file (MediaSource* base); +gdouble video_get_clip_duration (Video* self); +void video_table_update_is_interpretable (VideoTable* self, VideoID* video_id, gboolean is_interpretable, GError** error); +VideoInterpretableResults* video_interpretable_results_new (Video* video); +VideoInterpretableResults* video_interpretable_results_construct (GType object_type, Video* video); +static void video_real_destroy (DataSource* base); +void thumbnail_cache_remove (ThumbnailSource* source); +void data_source_destroy (DataSource* self); +static gboolean video_real_internal_delete_backing (DataSource* base, GError** error); +gboolean media_source_delete_original_file (MediaSource* self); +gboolean data_source_internal_delete_backing (DataSource* self, GError** error); +static void video_notify_flags_altered (Video* self, Alteration* additional_alteration); +Alteration* alteration_compress (Alteration* self, Alteration* other); +guint64 media_source_internal_add_flags (guint64 flags, guint64 selector); +void video_table_set_flags (VideoTable* self, VideoID* video_id, guint64 flags, GError** error); +guint64 media_source_internal_remove_flags (guint64 flags, guint64 selector); +gboolean media_source_internal_is_flag_set (guint64 flags, guint64 selector); +static void video_real_set_master_file (Monitorable* base, GFile* file); +void video_table_set_filepath (VideoTable* self, VideoID* video_id, const gchar* filepath, GError** error); +void media_source_notify_master_replaced (MediaSource* self, GFile* old_file, GFile* new_file); +Alteration* alteration_new_from_list (const gchar* list); +Alteration* alteration_construct_from_list (GType object_type, const gchar* list); +VideoMetadata* video_read_metadata (Video* self, GError** error); +enum { + VIDEO_INTERPRETABLE_RESULTS_DUMMY_PROPERTY +}; +void thumbnail_cache_replace (ThumbnailSource* source, ThumbnailCacheSize size, GdkPixbuf* replacement, GError** error); +void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self); +static void video_interpretable_results_finalize (VideoInterpretableResults* obj); +static void video_finalize (GObject* obj); +GType marker_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType database_source_holding_tank_get_type (void) G_GNUC_CONST; +GType media_source_holding_tank_get_type (void) G_GNUC_CONST; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +GType media_monitor_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; +#define VIDEO_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionPrivate)) +enum { + VIDEO_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +GType video_source_collection_state_get_type (void) G_GNUC_CONST; +gint uint64_compare (guint64* a, guint64* b); +static gint _uint64_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +static guint64* _uint64_dup (guint64* self); +gint64 video_source_collection_get_video_key (DataSource* source); +static gint64 _video_source_collection_get_video_key_get_source_database_key (DataSource* source, gpointer self); +MediaSourceCollection* media_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +MediaSourceHoldingTank* media_source_collection_get_trashcan (MediaSourceCollection* self); +static void video_source_collection_on_trashcan_contents_altered (VideoSourceCollection* self, GeeCollection* added, GeeCollection* removed); +static void _video_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +MediaSourceHoldingTank* media_source_collection_get_offline_bin (MediaSourceCollection* self); +static void video_source_collection_on_offline_contents_altered (VideoSourceCollection* self, GeeCollection* added, GeeCollection* removed); +static void _video_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +static MediaSourceHoldingTank* video_source_collection_real_create_trashcan (MediaSourceCollection* base); +gboolean video_source_collection_is_video_trashed (DataSource* source); +static gboolean _video_source_collection_is_video_trashed_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self); +MediaSourceHoldingTank* media_source_holding_tank_new (MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +MediaSourceHoldingTank* media_source_holding_tank_construct (GType object_type, MediaSourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +static MediaSourceHoldingTank* video_source_collection_real_create_offline_bin (MediaSourceCollection* base); +gboolean video_source_collection_is_video_offline (DataSource* source); +static gboolean _video_source_collection_is_video_offline_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self); +static MediaMonitor* video_source_collection_real_create_media_monitor (MediaSourceCollection* base, Workers* workers, GCancellable* cancellable); +VideoMonitor* video_monitor_new (GCancellable* cancellable); +VideoMonitor* video_monitor_construct (GType object_type, GCancellable* cancellable); +GType video_monitor_get_type (void) G_GNUC_CONST; +static gboolean video_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source); +static gchar* video_source_collection_real_get_typename (MediaSourceCollection* base); +static gboolean video_source_collection_real_is_file_recognized (MediaSourceCollection* base, GFile* file); +static MediaSource* video_source_collection_real_fetch_by_numeric_id (MediaSourceCollection* base, gint64 numeric_id); +Video* video_source_collection_fetch (VideoSourceCollection* self, VideoID* video_id); +DataSource* database_source_collection_fetch_by_key (DatabaseSourceCollection* self, gint64 key); +static GeeCollection* video_source_collection_real_get_event_source_ids (MediaSourceCollection* base, EventID* event_id); +GeeArrayList* video_table_get_event_source_ids (VideoTable* self, EventID* event_id); +Video* video_source_collection_get_state_by_file (VideoSourceCollection* self, GFile* file, VideoSourceCollectionState* state); +MediaSource* media_source_collection_fetch_by_master_file (MediaSourceCollection* self, GFile* file); +MediaSource* media_source_holding_tank_fetch_by_master_file (MediaSourceHoldingTank* self, GFile* file); +static void video_source_collection_compare_backing (VideoSourceCollection* self, Video* video, GFileInfo* info, GeeCollection* matching_master); +guint64 media_source_get_filesize (MediaSource* self); +time_t media_source_get_timestamp (MediaSource* self); +void video_source_collection_fetch_by_matching_backing (VideoSourceCollection* self, GFileInfo* info, GeeCollection* matching_master); +GeeCollection* data_collection_get_all (DataCollection* self); +GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self); +static void video_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed); +void data_collection_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed); +void video_source_collection_get_basename_filesize_duplicate (VideoSourceCollection* self, const gchar* basename, guint64 filesize, VideoID* result); +GFile* media_source_get_master_file (MediaSource* self); +gboolean video_source_collection_has_basename_filesize_duplicate (VideoSourceCollection* self, const gchar* basename, guint64 filesize); +gboolean video_id_is_valid (VideoID *self); +MediaSourceTransactionController* media_source_transaction_controller_new (MediaSourceCollection* sources); +MediaSourceTransactionController* media_source_transaction_controller_construct (GType object_type, MediaSourceCollection* sources); +GType media_source_transaction_controller_get_type (void) G_GNUC_CONST; +static void video_source_collection_finalize (DataCollection* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +static const gchar* VIDEO_READER_METADATA_ONLY_FILE_EXTENSIONS[4] = {"bdm", "bdmv", "cpi", "mpl"}; + +GQuark video_error_quark (void) { + return g_quark_from_static_string ("video_error-quark"); +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 30 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self ? g_object_ref (self) : NULL; +#line 1516 "VideoSupport.c" +} + + +static gpointer _thumbnails_ref0 (gpointer self) { +#line 33 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self ? thumbnails_ref (self) : NULL; +#line 1523 "VideoSupport.c" +} + + +VideoImportParams* video_import_params_construct (GType object_type, GFile* file, ImportID* import_id, const gchar* md5, Thumbnails* thumbnails, time_t exposure_time_override) { + VideoImportParams* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + ImportID _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + Thumbnails* _tmp5_ = NULL; + Thumbnails* _tmp6_ = NULL; + time_t _tmp7_ = 0; +#line 28 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 28 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (import_id != NULL, NULL); +#line 28 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail ((thumbnails == NULL) || IS_THUMBNAILS (thumbnails), NULL); +#line 28 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = (VideoImportParams*) g_type_create_instance (object_type); +#line 30 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = file; +#line 30 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 30 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->file); +#line 30 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->file = _tmp1_; +#line 31 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = *import_id; +#line 31 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->import_id = _tmp2_; +#line 32 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = md5; +#line 32 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 32 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (self->md5); +#line 32 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->md5 = _tmp4_; +#line 33 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = thumbnails; +#line 33 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _thumbnails_ref0 (_tmp5_); +#line 33 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _thumbnails_unref0 (self->thumbnails); +#line 33 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->thumbnails = _tmp6_; +#line 34 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = exposure_time_override; +#line 34 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->exposure_time_override = _tmp7_; +#line 28 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self; +#line 1579 "VideoSupport.c" +} + + +VideoImportParams* video_import_params_new (GFile* file, ImportID* import_id, const gchar* md5, Thumbnails* thumbnails, time_t exposure_time_override) { +#line 28 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return video_import_params_construct (TYPE_VIDEO_IMPORT_PARAMS, file, import_id, md5, thumbnails, exposure_time_override); +#line 1586 "VideoSupport.c" +} + + +static void value_video_import_params_init (GValue* value) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 1593 "VideoSupport.c" +} + + +static void value_video_import_params_free_value (GValue* value) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (value->data[0].v_pointer) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_import_params_unref (value->data[0].v_pointer); +#line 1602 "VideoSupport.c" + } +} + + +static void value_video_import_params_copy_value (const GValue* src_value, GValue* dest_value) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (src_value->data[0].v_pointer) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dest_value->data[0].v_pointer = video_import_params_ref (src_value->data[0].v_pointer); +#line 1612 "VideoSupport.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 1616 "VideoSupport.c" + } +} + + +static gpointer value_video_import_params_peek_pointer (const GValue* value) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return value->data[0].v_pointer; +#line 1624 "VideoSupport.c" +} + + +static gchar* value_video_import_params_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (collect_values[0].v_pointer) { +#line 1631 "VideoSupport.c" + VideoImportParams* object; + object = collect_values[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1638 "VideoSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1642 "VideoSupport.c" + } +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = video_import_params_ref (object); +#line 1646 "VideoSupport.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 1650 "VideoSupport.c" + } +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 1654 "VideoSupport.c" +} + + +static gchar* value_video_import_params_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + VideoImportParams** object_p; + object_p = collect_values[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!object_p) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1665 "VideoSupport.c" + } +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!value->data[0].v_pointer) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = NULL; +#line 1671 "VideoSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = value->data[0].v_pointer; +#line 1675 "VideoSupport.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = video_import_params_ref (value->data[0].v_pointer); +#line 1679 "VideoSupport.c" + } +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 1683 "VideoSupport.c" +} + + +GParamSpec* param_spec_video_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecVideoImportParams* spec; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_VIDEO_IMPORT_PARAMS), NULL); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return G_PARAM_SPEC (spec); +#line 1697 "VideoSupport.c" +} + + +gpointer value_get_video_import_params (const GValue* value) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_IMPORT_PARAMS), NULL); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return value->data[0].v_pointer; +#line 1706 "VideoSupport.c" +} + + +void value_set_video_import_params (GValue* value, gpointer v_object) { + VideoImportParams* old; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_IMPORT_PARAMS)); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + old = value->data[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (v_object) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIDEO_IMPORT_PARAMS)); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = v_object; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_import_params_ref (value->data[0].v_pointer); +#line 1726 "VideoSupport.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 1730 "VideoSupport.c" + } +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (old) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_import_params_unref (old); +#line 1736 "VideoSupport.c" + } +} + + +void value_take_video_import_params (GValue* value, gpointer v_object) { + VideoImportParams* old; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_IMPORT_PARAMS)); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + old = value->data[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (v_object) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIDEO_IMPORT_PARAMS)); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = v_object; +#line 1755 "VideoSupport.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 1759 "VideoSupport.c" + } +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (old) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_import_params_unref (old); +#line 1765 "VideoSupport.c" + } +} + + +static void video_import_params_class_init (VideoImportParamsClass * klass) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_import_params_parent_class = g_type_class_peek_parent (klass); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((VideoImportParamsClass *) klass)->finalize = video_import_params_finalize; +#line 1775 "VideoSupport.c" +} + + +static void video_import_params_instance_init (VideoImportParams * self) { + VideoRow* _tmp0_ = NULL; +#line 18 "/home/jens/Source/shotwell/src/VideoSupport.vala" + import_id_init (&self->import_id, IMPORT_ID_INVALID); +#line 26 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_row_new (); +#line 26 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->row = _tmp0_; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->ref_count = 1; +#line 1789 "VideoSupport.c" +} + + +static void video_import_params_finalize (VideoImportParams* obj) { + VideoImportParams * self; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_IMPORT_PARAMS, VideoImportParams); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_signal_handlers_destroy (self); +#line 17 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->file); +#line 19 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (self->md5); +#line 23 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _thumbnails_unref0 (self->thumbnails); +#line 26 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_row_unref0 (self->row); +#line 1807 "VideoSupport.c" +} + + +GType video_import_params_get_type (void) { + static volatile gsize video_import_params_type_id__volatile = 0; + if (g_once_init_enter (&video_import_params_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_video_import_params_init, value_video_import_params_free_value, value_video_import_params_copy_value, value_video_import_params_peek_pointer, "p", value_video_import_params_collect_value, "p", value_video_import_params_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (VideoImportParamsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_import_params_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoImportParams), 0, (GInstanceInitFunc) video_import_params_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType video_import_params_type_id; + video_import_params_type_id = g_type_register_fundamental (g_type_fundamental_next (), "VideoImportParams", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&video_import_params_type_id__volatile, video_import_params_type_id); + } + return video_import_params_type_id__volatile; +} + + +gpointer video_import_params_ref (gpointer instance) { + VideoImportParams* self; + self = instance; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return instance; +#line 1832 "VideoSupport.c" +} + + +void video_import_params_unref (gpointer instance) { + VideoImportParams* self; + self = instance; +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + VIDEO_IMPORT_PARAMS_GET_CLASS (self)->finalize (self); +#line 15 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1845 "VideoSupport.c" + } +} + + +VideoReader* video_reader_construct (GType object_type, GFile* file) { + VideoReader* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 51 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = (VideoReader*) g_type_create_instance (object_type); +#line 52 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = file; +#line 52 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 52 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->priv->file); +#line 52 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->file = _tmp1_; +#line 51 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self; +#line 1868 "VideoSupport.c" +} + + +VideoReader* video_reader_new (GFile* file) { +#line 51 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return video_reader_construct (TYPE_VIDEO_READER, file); +#line 1875 "VideoSupport.c" +} + + +gboolean video_reader_is_supported_video_file (GFile* file) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 55 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 56 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = file; +#line 56 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 56 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 56 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_reader_is_supported_video_filename (_tmp2_); +#line 56 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_; +#line 56 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp2_); +#line 56 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp4_; +#line 56 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 1904 "VideoSupport.c" +} + + +static gchar* string_slice (const gchar* self, glong start, glong end) { + gchar* result = NULL; + glong string_length = 0L; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + glong _tmp2_ = 0L; + glong _tmp5_ = 0L; + gboolean _tmp8_ = FALSE; + glong _tmp9_ = 0L; + gboolean _tmp12_ = FALSE; + glong _tmp13_ = 0L; + glong _tmp16_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + gchar* _tmp21_ = NULL; +#line 1328 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = strlen (self); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp0_; +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp1_; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = start; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp2_ < ((glong) 0)) { +#line 1937 "VideoSupport.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = string_length; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = start; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + start = _tmp3_ + _tmp4_; +#line 1946 "VideoSupport.c" + } +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp5_ < ((glong) 0)) { +#line 1952 "VideoSupport.c" + glong _tmp6_ = 0L; + glong _tmp7_ = 0L; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = string_length; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = end; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp6_ + _tmp7_; +#line 1961 "VideoSupport.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp9_ >= ((glong) 0)) { +#line 1967 "VideoSupport.c" + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = string_length; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = _tmp10_ <= _tmp11_; +#line 1976 "VideoSupport.c" + } else { +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = FALSE; +#line 1980 "VideoSupport.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp8_, NULL); +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp13_ >= ((glong) 0)) { +#line 1988 "VideoSupport.c" + glong _tmp14_ = 0L; + glong _tmp15_ = 0L; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = _tmp14_ <= _tmp15_; +#line 1997 "VideoSupport.c" + } else { +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 2001 "VideoSupport.c" + } +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_, NULL); +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = start; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = end; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = end; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_)); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp21_; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2023 "VideoSupport.c" +} + + +gboolean video_reader_is_supported_video_filename (const gchar* filename) { + gboolean result = FALSE; + gchar* mime_type = NULL; + const gchar* _tmp0_ = NULL; + guchar* _tmp1_ = NULL; + guchar* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 59 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (filename != NULL, FALSE); +#line 61 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = filename; +#line 61 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = g_new0 (guchar, 0); +#line 61 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 61 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2__length1 = 0; +#line 61 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = g_content_type_guess (_tmp0_, _tmp2_, (gsize) 0, NULL); +#line 61 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (mime_type); +#line 61 "/home/jens/Source/shotwell/src/VideoSupport.vala" + mime_type = _tmp3_; +#line 61 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = (g_free (_tmp2_), NULL); +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = mime_type; +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = strlen (_tmp5_); +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = _tmp6_; +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp7_ >= 6) { +#line 2065 "VideoSupport.c" + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = mime_type; +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = string_slice (_tmp8_, (glong) 0, (glong) 6); +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = _tmp9_; +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = g_strcmp0 (_tmp10_, "video/") == 0; +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp10_); +#line 2079 "VideoSupport.c" + } else { +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = FALSE; +#line 2083 "VideoSupport.c" + } +#line 62 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp4_) { +#line 2087 "VideoSupport.c" + gchar* extension = NULL; + gchar* name = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/VideoSupport.vala" + extension = NULL; +#line 64 "/home/jens/Source/shotwell/src/VideoSupport.vala" + name = NULL; +#line 65 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = filename; +#line 65 "/home/jens/Source/shotwell/src/VideoSupport.vala" + disassemble_filename (_tmp11_, &_tmp12_, &_tmp13_); +#line 65 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (name); +#line 65 "/home/jens/Source/shotwell/src/VideoSupport.vala" + name = _tmp12_; +#line 65 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (extension); +#line 65 "/home/jens/Source/shotwell/src/VideoSupport.vala" + extension = _tmp13_; +#line 67 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = extension; +#line 67 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp14_ == NULL) { +#line 68 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = TRUE; +#line 68 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (name); +#line 68 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (extension); +#line 68 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (mime_type); +#line 68 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2124 "VideoSupport.c" + } + { + const gchar** s_collection = NULL; + gint s_collection_length1 = 0; + gint _s_collection_size_ = 0; + gint s_it = 0; +#line 70 "/home/jens/Source/shotwell/src/VideoSupport.vala" + s_collection = VIDEO_READER_METADATA_ONLY_FILE_EXTENSIONS; +#line 70 "/home/jens/Source/shotwell/src/VideoSupport.vala" + s_collection_length1 = G_N_ELEMENTS (VIDEO_READER_METADATA_ONLY_FILE_EXTENSIONS); +#line 70 "/home/jens/Source/shotwell/src/VideoSupport.vala" + for (s_it = 0; s_it < G_N_ELEMENTS (VIDEO_READER_METADATA_ONLY_FILE_EXTENSIONS); s_it = s_it + 1) { +#line 2137 "VideoSupport.c" + gchar* _tmp15_ = NULL; + gchar* s = NULL; +#line 70 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = g_strdup (s_collection[s_it]); +#line 70 "/home/jens/Source/shotwell/src/VideoSupport.vala" + s = _tmp15_; +#line 2144 "VideoSupport.c" + { + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 71 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = s; +#line 71 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = extension; +#line 71 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = utf8_ci_compare (_tmp16_, _tmp17_); +#line 71 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp18_ == 0) { +#line 72 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = FALSE; +#line 72 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (s); +#line 72 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (name); +#line 72 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (extension); +#line 72 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (mime_type); +#line 72 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2169 "VideoSupport.c" + } +#line 70 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (s); +#line 2173 "VideoSupport.c" + } + } + } +#line 75 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = TRUE; +#line 75 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (name); +#line 75 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (extension); +#line 75 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (mime_type); +#line 75 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2187 "VideoSupport.c" + } else { +#line 77 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = FALSE; +#line 77 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (mime_type); +#line 77 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2195 "VideoSupport.c" + } +#line 59 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (mime_type); +#line 2199 "VideoSupport.c" +} + + +ImportResult video_reader_prepare_for_import (VideoImportParams* params) { + ImportResult result = 0; + GFile* file = NULL; + VideoImportParams* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFileInfo* info = NULL; + GFileInfo* _tmp7_ = NULL; + GFileType _tmp8_ = 0; + GFile* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GTimeVal timestamp = {0}; + GFileInfo* _tmp14_ = NULL; + GTimeVal _tmp15_ = {0}; + VideoImportParams* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + time_t exposure_time = 0; + VideoImportParams* _tmp18_ = NULL; + time_t _tmp19_ = 0; + gchar* title = NULL; + gchar* _tmp20_ = NULL; + gchar* comment = NULL; + gchar* _tmp21_ = NULL; + VideoReader* reader = NULL; + GFile* _tmp22_ = NULL; + VideoReader* _tmp23_ = NULL; + gboolean is_interpretable = FALSE; + gdouble clip_duration = 0.0; + GdkPixbuf* preview_frame = NULL; + VideoReader* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + time_t _tmp53_ = 0; + VideoImportParams* _tmp60_ = NULL; + VideoRow* _tmp61_ = NULL; + VideoImportParams* _tmp62_ = NULL; + VideoRow* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + VideoImportParams* _tmp66_ = NULL; + VideoRow* _tmp67_ = NULL; + GFileInfo* _tmp68_ = NULL; + gint64 _tmp69_ = 0LL; + VideoImportParams* _tmp70_ = NULL; + VideoRow* _tmp71_ = NULL; + GTimeVal _tmp72_ = {0}; + glong _tmp73_ = 0L; + VideoImportParams* _tmp74_ = NULL; + VideoRow* _tmp75_ = NULL; + GdkPixbuf* _tmp76_ = NULL; + gint _tmp77_ = 0; + gint _tmp78_ = 0; + VideoImportParams* _tmp79_ = NULL; + VideoRow* _tmp80_ = NULL; + GdkPixbuf* _tmp81_ = NULL; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + VideoImportParams* _tmp84_ = NULL; + VideoRow* _tmp85_ = NULL; + gdouble _tmp86_ = 0.0; + VideoImportParams* _tmp87_ = NULL; + VideoRow* _tmp88_ = NULL; + gboolean _tmp89_ = FALSE; + VideoImportParams* _tmp90_ = NULL; + VideoRow* _tmp91_ = NULL; + time_t _tmp92_ = 0; + VideoImportParams* _tmp93_ = NULL; + VideoRow* _tmp94_ = NULL; + VideoImportParams* _tmp95_ = NULL; + ImportID _tmp96_ = {0}; + VideoImportParams* _tmp97_ = NULL; + VideoRow* _tmp98_ = NULL; + VideoImportParams* _tmp99_ = NULL; + VideoRow* _tmp100_ = NULL; + VideoImportParams* _tmp101_ = NULL; + const gchar* _tmp102_ = NULL; + gchar* _tmp103_ = NULL; + VideoImportParams* _tmp104_ = NULL; + VideoRow* _tmp105_ = NULL; + VideoImportParams* _tmp106_ = NULL; + VideoRow* _tmp107_ = NULL; + const gchar* _tmp108_ = NULL; + gchar* _tmp109_ = NULL; + VideoImportParams* _tmp110_ = NULL; + VideoRow* _tmp111_ = NULL; + const gchar* _tmp112_ = NULL; + gchar* _tmp113_ = NULL; + VideoImportParams* _tmp114_ = NULL; + VideoRow* _tmp115_ = NULL; + gchar* _tmp116_ = NULL; + VideoImportParams* _tmp117_ = NULL; + VideoRow* _tmp118_ = NULL; + VideoImportParams* _tmp119_ = NULL; + VideoRow* _tmp120_ = NULL; + VideoImportParams* _tmp121_ = NULL; + Thumbnails* _tmp122_ = NULL; + GError * _inner_error_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_IMPORT_PARAMS (params), 0); +#line 85 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = params; +#line 85 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_->file; +#line 85 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 85 "/home/jens/Source/shotwell/src/VideoSupport.vala" + file = _tmp2_; +#line 87 "/home/jens/Source/shotwell/src/VideoSupport.vala" + info = NULL; +#line 2311 "VideoSupport.c" + { + GFileInfo* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = file; +#line 89 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = g_file_query_info (_tmp4_, DIRECTORY_MONITOR_SUPPLIED_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 89 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp5_; +#line 89 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2325 "VideoSupport.c" + goto __catch482_g_error; + } +#line 89 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp3_; +#line 89 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 89 "/home/jens/Source/shotwell/src/VideoSupport.vala" + info = _tmp6_; +#line 88 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp3_); +#line 2338 "VideoSupport.c" + } + goto __finally482; + __catch482_g_error: + { + GError* err = NULL; +#line 88 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 88 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = IMPORT_RESULT_FILE_ERROR; +#line 92 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 92 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 92 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 92 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2358 "VideoSupport.c" + } + __finally482: +#line 88 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 88 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 88 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 88 "/home/jens/Source/shotwell/src/VideoSupport.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 88 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 88 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 2373 "VideoSupport.c" + } +#line 95 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = info; +#line 95 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = g_file_info_get_file_type (_tmp7_); +#line 95 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp8_ != G_FILE_TYPE_REGULAR) { +#line 96 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = IMPORT_RESULT_NOT_A_FILE; +#line 96 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 96 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 96 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2389 "VideoSupport.c" + } +#line 98 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = file; +#line 98 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = video_reader_is_supported_video_file (_tmp9_); +#line 98 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp10_) { +#line 2397 "VideoSupport.c" + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = file; +#line 99 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 99 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = _tmp12_; +#line 99 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_message ("Not importing %s: file is marked as a video file but doesn't have a" "supported extension", _tmp13_); +#line 99 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp13_); +#line 102 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = IMPORT_RESULT_UNSUPPORTED_FORMAT; +#line 102 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 102 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 102 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2419 "VideoSupport.c" + } +#line 105 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = info; +#line 105 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_file_info_get_modification_time (_tmp14_, &_tmp15_); +#line 105 "/home/jens/Source/shotwell/src/VideoSupport.vala" + timestamp = _tmp15_; +#line 108 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = params; +#line 108 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = _tmp16_->md5; +#line 108 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_assert (_tmp17_ != NULL, "params.md5 != null"); +#line 110 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = params; +#line 110 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = _tmp18_->exposure_time_override; +#line 110 "/home/jens/Source/shotwell/src/VideoSupport.vala" + exposure_time = _tmp19_; +#line 111 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = g_strdup (""); +#line 111 "/home/jens/Source/shotwell/src/VideoSupport.vala" + title = _tmp20_; +#line 112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = g_strdup (""); +#line 112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + comment = _tmp21_; +#line 114 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = file; +#line 114 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = video_reader_new (_tmp22_); +#line 114 "/home/jens/Source/shotwell/src/VideoSupport.vala" + reader = _tmp23_; +#line 115 "/home/jens/Source/shotwell/src/VideoSupport.vala" + is_interpretable = TRUE; +#line 116 "/home/jens/Source/shotwell/src/VideoSupport.vala" + clip_duration = 0.0; +#line 117 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = reader; +#line 117 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_ = video_reader_read_preview_frame (_tmp24_); +#line 117 "/home/jens/Source/shotwell/src/VideoSupport.vala" + preview_frame = _tmp25_; +#line 2463 "VideoSupport.c" + { + gdouble _tmp26_ = 0.0; + VideoReader* _tmp27_ = NULL; + gdouble _tmp28_ = 0.0; +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp27_ = reader; +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp28_ = video_reader_read_clip_duration (_tmp27_, &_inner_error_); +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_ = _tmp28_; +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == VIDEO_ERROR) { +#line 2478 "VideoSupport.c" + goto __catch483_video_error; + } +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (reader); +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (comment); +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (title); +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.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 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 2499 "VideoSupport.c" + } +#line 119 "/home/jens/Source/shotwell/src/VideoSupport.vala" + clip_duration = _tmp26_; +#line 2503 "VideoSupport.c" + } + goto __finally483; + __catch483_video_error: + { + GError* err = NULL; + GError* _tmp29_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp29_ = err; +#line 121 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (g_error_matches (_tmp29_, VIDEO_ERROR, VIDEO_ERROR_FILE)) { +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = IMPORT_RESULT_FILE_ERROR; +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (reader); +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (comment); +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (title); +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 122 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2536 "VideoSupport.c" + } else { + GError* _tmp30_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp30_ = err; +#line 123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (g_error_matches (_tmp30_, VIDEO_ERROR, VIDEO_ERROR_CONTENTS)) { +#line 124 "/home/jens/Source/shotwell/src/VideoSupport.vala" + is_interpretable = FALSE; +#line 125 "/home/jens/Source/shotwell/src/VideoSupport.vala" + clip_duration = 0.0; +#line 2547 "VideoSupport.c" + } else { +#line 127 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_error ("VideoSupport.vala:127: can't prepare video for import: an unknown kind" \ +" of video error occurred"); +#line 2551 "VideoSupport.c" + } + } +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 2556 "VideoSupport.c" + } + __finally483: +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (reader); +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (comment); +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (title); +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.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 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 2579 "VideoSupport.c" + } + { + VideoMetadata* metadata = NULL; + VideoReader* _tmp31_ = NULL; + VideoMetadata* _tmp32_ = NULL; + MetadataDateTime* creation_date_time = NULL; + VideoMetadata* _tmp33_ = NULL; + MetadataDateTime* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; + MetadataDateTime* _tmp36_ = NULL; + gchar* video_title = NULL; + VideoMetadata* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* video_comment = NULL; + VideoMetadata* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + const gchar* _tmp48_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp31_ = reader; +#line 132 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp32_ = video_reader_read_metadata (_tmp31_, &_inner_error_); +#line 132 "/home/jens/Source/shotwell/src/VideoSupport.vala" + metadata = _tmp32_; +#line 132 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2606 "VideoSupport.c" + goto __catch484_g_error; + } +#line 133 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp33_ = metadata; +#line 133 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp34_ = media_metadata_get_creation_date_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 133 "/home/jens/Source/shotwell/src/VideoSupport.vala" + creation_date_time = _tmp34_; +#line 135 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp36_ = creation_date_time; +#line 135 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp36_ != NULL) { +#line 2619 "VideoSupport.c" + MetadataDateTime* _tmp37_ = NULL; + time_t _tmp38_ = 0; +#line 135 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp37_ = creation_date_time; +#line 135 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp38_ = metadata_date_time_get_timestamp (_tmp37_); +#line 135 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp35_ = _tmp38_ != ((time_t) 0); +#line 2628 "VideoSupport.c" + } else { +#line 135 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp35_ = FALSE; +#line 2632 "VideoSupport.c" + } +#line 135 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp35_) { +#line 2636 "VideoSupport.c" + MetadataDateTime* _tmp39_ = NULL; + time_t _tmp40_ = 0; +#line 136 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp39_ = creation_date_time; +#line 136 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp40_ = metadata_date_time_get_timestamp (_tmp39_); +#line 136 "/home/jens/Source/shotwell/src/VideoSupport.vala" + exposure_time = _tmp40_; +#line 2645 "VideoSupport.c" + } +#line 138 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp41_ = metadata; +#line 138 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp42_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 138 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_title = _tmp42_; +#line 139 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp43_ = metadata; +#line 139 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp44_ = media_metadata_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 139 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_comment = _tmp44_; +#line 140 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp45_ = video_title; +#line 140 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp45_ != NULL) { +#line 2663 "VideoSupport.c" + const gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp46_ = video_title; +#line 141 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp47_ = g_strdup (_tmp46_); +#line 141 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (title); +#line 141 "/home/jens/Source/shotwell/src/VideoSupport.vala" + title = _tmp47_; +#line 2674 "VideoSupport.c" + } +#line 142 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp48_ = video_comment; +#line 142 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp48_ != NULL) { +#line 2680 "VideoSupport.c" + const gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp49_ = video_comment; +#line 143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp50_ = g_strdup (_tmp49_); +#line 143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (comment); +#line 143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + comment = _tmp50_; +#line 2691 "VideoSupport.c" + } +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (video_comment); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (video_title); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _metadata_date_time_unref0 (creation_date_time); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _media_metadata_unref0 (metadata); +#line 2701 "VideoSupport.c" + } + goto __finally484; + __catch484_g_error: + { + GError* err = NULL; + GError* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp51_ = err; +#line 145 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp52_ = _tmp51_->message; +#line 145 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_warning ("VideoSupport.vala:145: Unable to read video metadata: %s", _tmp52_); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 2721 "VideoSupport.c" + } + __finally484: +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (reader); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (comment); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (title); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.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 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 2744 "VideoSupport.c" + } +#line 148 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp53_ = exposure_time; +#line 148 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp53_ == ((time_t) 0)) { +#line 2750 "VideoSupport.c" + gint64 _tmp54_ = 0LL; + VideoReader* _tmp55_ = NULL; + GDateTime* _tmp56_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp55_ = reader; +#line 150 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp56_ = _tmp55_->priv->_timestamp; +#line 150 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp56_ != NULL) { +#line 2760 "VideoSupport.c" + VideoReader* _tmp57_ = NULL; + GDateTime* _tmp58_ = NULL; + gint64 _tmp59_ = 0LL; +#line 151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp57_ = reader; +#line 151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp58_ = _tmp57_->priv->_timestamp; +#line 151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp59_ = g_date_time_to_unix (_tmp58_); +#line 151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp54_ = _tmp59_; +#line 2772 "VideoSupport.c" + } else { +#line 151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp54_ = (gint64) 0; +#line 2776 "VideoSupport.c" + } +#line 150 "/home/jens/Source/shotwell/src/VideoSupport.vala" + exposure_time = (time_t) _tmp54_; +#line 2780 "VideoSupport.c" + } +#line 154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp60_ = params; +#line 154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp61_ = _tmp60_->row; +#line 154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_id_init (&_tmp61_->video_id, VIDEO_ID_INVALID); +#line 155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp62_ = params; +#line 155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp63_ = _tmp62_->row; +#line 155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp64_ = file; +#line 155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp65_ = g_file_get_path (_tmp64_); +#line 155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp63_->filepath); +#line 155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp63_->filepath = _tmp65_; +#line 156 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp66_ = params; +#line 156 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp67_ = _tmp66_->row; +#line 156 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp68_ = info; +#line 156 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp69_ = g_file_info_get_size (_tmp68_); +#line 156 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp67_->filesize = _tmp69_; +#line 157 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp70_ = params; +#line 157 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp71_ = _tmp70_->row; +#line 157 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp72_ = timestamp; +#line 157 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp73_ = _tmp72_.tv_sec; +#line 157 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp71_->timestamp = (time_t) _tmp73_; +#line 158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp74_ = params; +#line 158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp75_ = _tmp74_->row; +#line 158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp76_ = preview_frame; +#line 158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp77_ = gdk_pixbuf_get_width (_tmp76_); +#line 158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp78_ = _tmp77_; +#line 158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp75_->width = _tmp78_; +#line 159 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp79_ = params; +#line 159 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp80_ = _tmp79_->row; +#line 159 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp81_ = preview_frame; +#line 159 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp82_ = gdk_pixbuf_get_height (_tmp81_); +#line 159 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp83_ = _tmp82_; +#line 159 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp80_->height = _tmp83_; +#line 160 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp84_ = params; +#line 160 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp85_ = _tmp84_->row; +#line 160 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp86_ = clip_duration; +#line 160 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp85_->clip_duration = _tmp86_; +#line 161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp87_ = params; +#line 161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp88_ = _tmp87_->row; +#line 161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp89_ = is_interpretable; +#line 161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp88_->is_interpretable = _tmp89_; +#line 162 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp90_ = params; +#line 162 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp91_ = _tmp90_->row; +#line 162 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp92_ = exposure_time; +#line 162 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp91_->exposure_time = _tmp92_; +#line 163 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp93_ = params; +#line 163 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp94_ = _tmp93_->row; +#line 163 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp95_ = params; +#line 163 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp96_ = _tmp95_->import_id; +#line 163 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp94_->import_id = _tmp96_; +#line 164 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp97_ = params; +#line 164 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp98_ = _tmp97_->row; +#line 164 "/home/jens/Source/shotwell/src/VideoSupport.vala" + event_id_init (&_tmp98_->event_id, EVENT_ID_INVALID); +#line 165 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp99_ = params; +#line 165 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp100_ = _tmp99_->row; +#line 165 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp101_ = params; +#line 165 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp102_ = _tmp101_->md5; +#line 165 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp103_ = g_strdup (_tmp102_); +#line 165 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp100_->md5); +#line 165 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp100_->md5 = _tmp103_; +#line 166 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp104_ = params; +#line 166 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp105_ = _tmp104_->row; +#line 166 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp105_->time_created = (time_t) 0; +#line 167 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp106_ = params; +#line 167 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp107_ = _tmp106_->row; +#line 167 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp108_ = title; +#line 167 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp109_ = g_strdup (_tmp108_); +#line 167 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp107_->title); +#line 167 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp107_->title = _tmp109_; +#line 168 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp110_ = params; +#line 168 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp111_ = _tmp110_->row; +#line 168 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp112_ = comment; +#line 168 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp113_ = g_strdup (_tmp112_); +#line 168 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp111_->comment); +#line 168 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp111_->comment = _tmp113_; +#line 169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp114_ = params; +#line 169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp115_ = _tmp114_->row; +#line 169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp116_ = g_strdup (""); +#line 169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp115_->backlinks); +#line 169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp115_->backlinks = _tmp116_; +#line 170 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp117_ = params; +#line 170 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp118_ = _tmp117_->row; +#line 170 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp118_->time_reimported = (time_t) 0; +#line 171 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp119_ = params; +#line 171 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp120_ = _tmp119_->row; +#line 171 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp120_->flags = (guint64) 0; +#line 173 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp121_ = params; +#line 173 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp122_ = _tmp121_->thumbnails; +#line 173 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp122_ != NULL) { +#line 2956 "VideoSupport.c" + VideoImportParams* _tmp123_ = NULL; + Thumbnails* _tmp124_ = NULL; + VideoImportParams* _tmp125_ = NULL; + Thumbnails* _tmp126_ = NULL; + GdkPixbuf* _tmp127_ = NULL; +#line 174 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp123_ = params; +#line 174 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp124_ = thumbnails_new (); +#line 174 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _thumbnails_unref0 (_tmp123_->thumbnails); +#line 174 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp123_->thumbnails = _tmp124_; +#line 175 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp125_ = params; +#line 175 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp126_ = _tmp125_->thumbnails; +#line 175 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp127_ = preview_frame; +#line 175 "/home/jens/Source/shotwell/src/VideoSupport.vala" + thumbnail_cache_generate_for_video_frame (_tmp126_, _tmp127_); +#line 2978 "VideoSupport.c" + } +#line 181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = IMPORT_RESULT_SUCCESS; +#line 181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (reader); +#line 181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (comment); +#line 181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (title); +#line 181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (file); +#line 181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 2996 "VideoSupport.c" +} + + +static GDate* _g_date_dup (GDate* self) { + GDate* dup; +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dup = g_new0 (GDate, 1); +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + memcpy (dup, self, sizeof (GDate)); +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return dup; +#line 3008 "VideoSupport.c" +} + + +static gpointer __g_date_dup0 (gpointer self) { +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self ? _g_date_dup (self) : NULL; +#line 3015 "VideoSupport.c" +} + + +static void video_reader_read_internal (VideoReader* self, GError** error) { + gboolean _tmp0_ = FALSE; + GError * _inner_error_ = NULL; +#line 184 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO_READER (self)); +#line 185 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_reader_does_file_exist (self); +#line 185 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp0_) { +#line 3028 "VideoSupport.c" + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->file; +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = g_strdup_printf ("video file '%s' does not exist or is inaccessible", _tmp3_); +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp4_; +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = g_error_new_literal (VIDEO_ERROR, VIDEO_ERROR_FILE, _tmp5_); +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = _tmp6_; +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp5_); +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp3_); +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = _tmp7_; +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == VIDEO_ERROR) { +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 3062 "VideoSupport.c" + } else { +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.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 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 186 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 3070 "VideoSupport.c" + } + } + { + GstDiscoverer* d = NULL; + GstDiscoverer* _tmp8_ = NULL; + GstDiscovererInfo* info = NULL; + GstDiscoverer* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GstDiscovererInfo* _tmp13_ = NULL; + GstDiscovererInfo* _tmp14_ = NULL; + GstDiscovererInfo* _tmp15_ = NULL; + GstClockTime _tmp16_ = 0ULL; + GDate* video_date = NULL; + gboolean _tmp17_ = FALSE; + GstDiscovererInfo* _tmp18_ = NULL; + GstTagList* _tmp19_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = gst_discoverer_new ((GstClockTime) (GST_SECOND * 5), &_inner_error_); +#line 190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + d = _tmp8_; +#line 190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3095 "VideoSupport.c" + goto __catch485_g_error; + } +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = d; +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = self->priv->file; +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = g_file_get_uri (_tmp10_); +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = _tmp11_; +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = gst_discoverer_discover_uri (_tmp9_, _tmp12_, &_inner_error_); +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = _tmp13_; +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp12_); +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + info = _tmp14_; +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 191 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (d); +#line 3118 "VideoSupport.c" + goto __catch485_g_error; + } +#line 193 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = info; +#line 193 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = gst_discoverer_info_get_duration (_tmp15_); +#line 193 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->clip_duration = ((gdouble) _tmp16_) / 1000000000.0; +#line 198 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_date = NULL; +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = info; +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = gst_discoverer_info_get_tags (_tmp18_); +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp19_ != NULL) { +#line 3135 "VideoSupport.c" + GstDiscovererInfo* _tmp20_ = NULL; + GstTagList* _tmp21_ = NULL; + GDate _tmp22_ = {0}; + gboolean _tmp23_ = FALSE; + GDate _tmp24_ = {0}; + GDate* _tmp25_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = info; +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = gst_discoverer_info_get_tags (_tmp20_); +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = gst_tag_list_get_date (_tmp21_, GST_TAG_DATE, &_tmp22_); +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (video_date); +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = _tmp22_; +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_ = __g_date_dup0 (&_tmp24_); +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_date = _tmp25_; +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = _tmp23_; +#line 3158 "VideoSupport.c" + } else { +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = FALSE; +#line 3162 "VideoSupport.c" + } +#line 199 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp17_) { +#line 3166 "VideoSupport.c" + GDate* _tmp26_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_ = video_date; +#line 201 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp26_ != NULL) { +#line 3172 "VideoSupport.c" + GDate* _tmp27_ = NULL; + GDateYear _tmp28_ = 0U; + GDate* _tmp29_ = NULL; + GDateMonth _tmp30_ = 0; + GDate* _tmp31_ = NULL; + GDateDay _tmp32_ = '\0'; + GDateTime* _tmp33_ = NULL; + GDateTime* _tmp34_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp27_ = video_date; +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp28_ = g_date_get_year (_tmp27_); +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp29_ = video_date; +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp30_ = g_date_get_month (_tmp29_); +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp31_ = video_date; +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp32_ = g_date_get_day (_tmp31_); +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp33_ = g_date_time_new_local ((gint) _tmp28_, (gint) _tmp30_, (gint) _tmp32_, 0, 0, (gdouble) 0); +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp34_ = _tmp33_; +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_reader_set_timestamp (self, _tmp34_); +#line 202 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_date_time_unref0 (_tmp34_); +#line 3201 "VideoSupport.c" + } + } +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (video_date); +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (info); +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (d); +#line 3210 "VideoSupport.c" + } + goto __finally485; + __catch485_g_error: + { + GError* e = NULL; + GError* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + GError* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + GError* _tmp41_ = NULL; + GError* _tmp42_ = NULL; +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp35_ = e; +#line 207 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp36_ = _tmp35_->message; +#line 207 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:207: Video read error: %s", _tmp36_); +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp37_ = e; +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp38_ = _tmp37_->message; +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp39_ = g_strdup_printf ("GStreamer couldn't extract clip information: %s", _tmp38_); +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp40_ = _tmp39_; +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp41_ = g_error_new_literal (VIDEO_ERROR, VIDEO_ERROR_CONTENTS, _tmp40_); +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp42_ = _tmp41_; +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp40_); +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = _tmp42_; +#line 208 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 3252 "VideoSupport.c" + goto __finally485; + } + __finally485: +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == VIDEO_ERROR) { +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 3264 "VideoSupport.c" + } else { +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.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 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 3272 "VideoSupport.c" + } + } +} + + +static gboolean video_reader_on_thumbnailer_timer (VideoReader* self) { + gboolean result = FALSE; + GPid _tmp0_ = 0; +#line 214 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_READER (self), FALSE); +#line 215 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:215: Thumbnailer timer called"); +#line 216 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->thumbnailer_pid; +#line 216 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_ != ((GPid) 0)) { +#line 3289 "VideoSupport.c" + GPid _tmp1_ = 0; + GPid _tmp2_ = 0; +#line 217 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->thumbnailer_pid; +#line 217 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:217: Killing thumbnailer process: %d", (gint) _tmp1_); +#line 218 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->priv->thumbnailer_pid; +#line 218 "/home/jens/Source/shotwell/src/VideoSupport.vala" + kill ((pid_t) _tmp2_, SIGKILL); +#line 3300 "VideoSupport.c" + } +#line 220 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = FALSE; +#line 220 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3306 "VideoSupport.c" +} + + +static gboolean _video_reader_on_thumbnailer_timer_gsource_func (gpointer self) { + gboolean result; + result = video_reader_on_thumbnailer_timer ((VideoReader*) self); +#line 243 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3315 "VideoSupport.c" +} + + +static GdkPixbuf* video_reader_thumbnailer (VideoReader* self, const gchar* video_file) { + GdkPixbuf* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar** argv = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint argv_length1 = 0; + gint _argv_size_ = 0; + gint child_stdout = 0; + GdkPixbuf* buf = NULL; + gint child_status = 0; + gint ret_waitpid = 0; + GPid _tmp27_ = 0; + gint _tmp28_ = 0; + pid_t _tmp29_ = 0; + gint _tmp30_ = 0; + gint _tmp36_ = 0; + GPid _tmp37_ = 0; + GError * _inner_error_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_READER (self), NULL); +#line 225 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (video_file != NULL, NULL); +#line 227 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = app_dirs_get_thumbnailer_bin (); +#line 227 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 227 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 227 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 227 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:227: Launching thumbnailer process: %s", _tmp3_); +#line 227 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp3_); +#line 227 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp1_); +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = app_dirs_get_thumbnailer_bin (); +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp4_; +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = video_file; +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = g_new0 (gchar*, 2 + 1); +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_[0] = _tmp6_; +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_[1] = _tmp8_; +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = _tmp9_; +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10__length1 = 2; +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp5_); +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + argv = _tmp10_; +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + argv_length1 = _tmp10__length1; +#line 228 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _argv_size_ = argv_length1; +#line 3393 "VideoSupport.c" + { + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + GPid _tmp12_ = 0; + gint _tmp13_ = 0; + GPid _tmp14_ = 0; +#line 231 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = argv; +#line 231 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11__length1 = argv_length1; +#line 231 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_spawn_async_with_pipes (NULL, _tmp11_, NULL, G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &_tmp12_, NULL, &_tmp13_, NULL, &_inner_error_); +#line 231 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->thumbnailer_pid = _tmp12_; +#line 231 "/home/jens/Source/shotwell/src/VideoSupport.vala" + child_stdout = _tmp13_; +#line 231 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3412 "VideoSupport.c" + goto __catch486_g_error; + } +#line 234 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = self->priv->thumbnailer_pid; +#line 234 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:234: Spawned thumbnailer, child pid: %d", (gint) _tmp14_); +#line 3419 "VideoSupport.c" + } + goto __finally486; + __catch486_g_error: + { + GError* e = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + GPid _tmp17_ = 0; +#line 230 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 230 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = e; +#line 236 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = _tmp15_->message; +#line 236 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:236: Error spawning process: %s", _tmp16_); +#line 237 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = self->priv->thumbnailer_pid; +#line 237 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp17_ != ((GPid) 0)) { +#line 3442 "VideoSupport.c" + GPid _tmp18_ = 0; +#line 238 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = self->priv->thumbnailer_pid; +#line 238 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_spawn_close_pid (_tmp18_); +#line 3448 "VideoSupport.c" + } +#line 239 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = NULL; +#line 239 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 239 "/home/jens/Source/shotwell/src/VideoSupport.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 239 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3458 "VideoSupport.c" + } + __finally486: +#line 230 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 230 "/home/jens/Source/shotwell/src/VideoSupport.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 230 "/home/jens/Source/shotwell/src/VideoSupport.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 230 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 230 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 3471 "VideoSupport.c" + } +#line 243 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, VIDEO_READER_THUMBNAILER_TIMEOUT, _video_reader_on_thumbnailer_timer_gsource_func, video_reader_ref (self), video_reader_unref); +#line 246 "/home/jens/Source/shotwell/src/VideoSupport.vala" + buf = NULL; +#line 3477 "VideoSupport.c" + { + GUnixInputStream* unix_input = NULL; + gint _tmp19_ = 0; + GUnixInputStream* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + GUnixInputStream* _tmp22_ = NULL; + GdkPixbuf* _tmp23_ = NULL; + GdkPixbuf* _tmp24_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = child_stdout; +#line 248 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = (GUnixInputStream*) g_unix_input_stream_new (_tmp19_, TRUE); +#line 248 "/home/jens/Source/shotwell/src/VideoSupport.vala" + unix_input = _tmp20_; +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = unix_input; +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = gdk_pixbuf_new_from_stream (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, G_TYPE_INPUT_STREAM, GInputStream), NULL, &_inner_error_); +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = _tmp23_; +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (unix_input); +#line 3502 "VideoSupport.c" + goto __catch487_g_error; + } +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = _tmp21_; +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = NULL; +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (buf); +#line 249 "/home/jens/Source/shotwell/src/VideoSupport.vala" + buf = _tmp24_; +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp21_); +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (unix_input); +#line 3517 "VideoSupport.c" + } + goto __finally487; + __catch487_g_error: + { + GError* e = NULL; + GError* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_ = e; +#line 251 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_ = _tmp25_->message; +#line 251 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:251: Error creating pixbuf: %s", _tmp26_); +#line 252 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (buf); +#line 252 "/home/jens/Source/shotwell/src/VideoSupport.vala" + buf = NULL; +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 3541 "VideoSupport.c" + } + __finally487: +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (buf); +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.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 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 247 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 3556 "VideoSupport.c" + } +#line 256 "/home/jens/Source/shotwell/src/VideoSupport.vala" + child_status = 0; +#line 257 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp27_ = self->priv->thumbnailer_pid; +#line 257 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp29_ = waitpid ((pid_t) _tmp27_, &_tmp28_, 0); +#line 257 "/home/jens/Source/shotwell/src/VideoSupport.vala" + child_status = _tmp28_; +#line 257 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ret_waitpid = (gint) _tmp29_; +#line 258 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp30_ = ret_waitpid; +#line 258 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp30_ < 0) { +#line 3572 "VideoSupport.c" + gint _tmp31_ = 0; +#line 259 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp31_ = ret_waitpid; +#line 259 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:259: waitpid returned error code: %d", _tmp31_); +#line 260 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (buf); +#line 260 "/home/jens/Source/shotwell/src/VideoSupport.vala" + buf = NULL; +#line 3582 "VideoSupport.c" + } else { + gint _tmp32_ = 0; + gint _tmp33_ = 0; +#line 261 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp32_ = child_status; +#line 261 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp33_ = WEXITSTATUS (_tmp32_); +#line 261 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (0 != _tmp33_) { +#line 3592 "VideoSupport.c" + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 262 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp34_ = child_status; +#line 262 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp35_ = WEXITSTATUS (_tmp34_); +#line 262 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:262: Thumbnailer exited with error code: %d", _tmp35_); +#line 264 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (buf); +#line 264 "/home/jens/Source/shotwell/src/VideoSupport.vala" + buf = NULL; +#line 3605 "VideoSupport.c" + } + } +#line 267 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp36_ = child_stdout; +#line 267 "/home/jens/Source/shotwell/src/VideoSupport.vala" + close (_tmp36_); +#line 268 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp37_ = self->priv->thumbnailer_pid; +#line 268 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_spawn_close_pid (_tmp37_); +#line 269 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->thumbnailer_pid = (GPid) 0; +#line 270 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = buf; +#line 270 "/home/jens/Source/shotwell/src/VideoSupport.vala" + argv = (_vala_array_free (argv, argv_length1, (GDestroyNotify) g_free), NULL); +#line 270 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3624 "VideoSupport.c" +} + + +static gboolean video_reader_does_file_exist (VideoReader* self) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 273 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_READER (self), FALSE); +#line 274 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->file; +#line 274 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 274 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 274 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = g_file_test (_tmp2_, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR); +#line 274 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_; +#line 274 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp2_); +#line 274 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp4_; +#line 274 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3653 "VideoSupport.c" +} + + +GdkPixbuf* video_reader_read_preview_frame (VideoReader* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gboolean _tmp3_ = FALSE; + GFile* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; +#line 277 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_READER (self), NULL); +#line 278 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->preview_frame; +#line 278 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_ != NULL) { +#line 3674 "VideoSupport.c" + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->preview_frame; +#line 279 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 279 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp2_; +#line 279 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3685 "VideoSupport.c" + } +#line 281 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_reader_does_file_exist (self); +#line 281 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp3_) { +#line 282 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = NULL; +#line 282 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3695 "VideoSupport.c" + } +#line 285 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->file; +#line 285 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = g_file_get_path (_tmp4_); +#line 285 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp5_; +#line 285 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = video_reader_thumbnailer (self, _tmp6_); +#line 285 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->priv->preview_frame); +#line 285 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->preview_frame = _tmp7_; +#line 285 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp6_); +#line 286 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = self->priv->preview_frame; +#line 286 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (NULL == _tmp8_) { +#line 3715 "VideoSupport.c" + GdkPixbuf* _tmp9_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = resources_get_noninterpretable_badge_pixbuf (); +#line 287 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->priv->preview_frame); +#line 287 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->preview_frame = _tmp9_; +#line 3723 "VideoSupport.c" + } +#line 289 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = self->priv->preview_frame; +#line 289 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 289 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp11_; +#line 289 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3733 "VideoSupport.c" +} + + +gdouble video_reader_read_clip_duration (VideoReader* self, GError** error) { + gdouble result = 0.0; + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + GError * _inner_error_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_READER (self), 0.0); +#line 293 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->clip_duration; +#line 293 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_ == VIDEO_READER_UNKNOWN_CLIP_DURATION) { +#line 294 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_reader_read_internal (self, &_inner_error_); +#line 294 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 294 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == VIDEO_ERROR) { +#line 294 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 294 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0.0; +#line 3758 "VideoSupport.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/VideoSupport.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 294 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 294 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0.0; +#line 3766 "VideoSupport.c" + } + } + } +#line 296 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->clip_duration; +#line 296 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp1_; +#line 296 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3776 "VideoSupport.c" +} + + +VideoMetadata* video_reader_read_metadata (VideoReader* self, GError** error) { + VideoMetadata* result = NULL; + VideoMetadata* metadata = NULL; + VideoMetadata* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 299 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_READER (self), NULL); +#line 300 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_metadata_new (); +#line 300 "/home/jens/Source/shotwell/src/VideoSupport.vala" + metadata = _tmp0_; +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->file; +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = g_file_new_for_path (_tmp3_); +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp4_; +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + media_metadata_read_from_file (G_TYPE_CHECK_INSTANCE_CAST (metadata, TYPE_MEDIA_METADATA, MediaMetadata), _tmp5_, &_inner_error_); +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp5_); +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp3_); +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _media_metadata_unref0 (metadata); +#line 301 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 3820 "VideoSupport.c" + } +#line 303 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = metadata; +#line 303 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3826 "VideoSupport.c" +} + + +GDateTime* video_reader_get_timestamp (VideoReader* self) { + GDateTime* result; + GDateTime* _tmp0_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_READER (self), NULL); +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->_timestamp; +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 3841 "VideoSupport.c" +} + + +static gpointer _g_date_time_ref0 (gpointer self) { +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self ? g_date_time_ref (self) : NULL; +#line 3848 "VideoSupport.c" +} + + +static void video_reader_set_timestamp (VideoReader* self, GDateTime* value) { + GDateTime* _tmp0_ = NULL; + GDateTime* _tmp1_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO_READER (self)); +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = value; +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _g_date_time_ref0 (_tmp0_); +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_date_time_unref0 (self->priv->_timestamp); +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->_timestamp = _tmp1_; +#line 3865 "VideoSupport.c" +} + + +static void value_video_reader_init (GValue* value) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 3872 "VideoSupport.c" +} + + +static void value_video_reader_free_value (GValue* value) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (value->data[0].v_pointer) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_reader_unref (value->data[0].v_pointer); +#line 3881 "VideoSupport.c" + } +} + + +static void value_video_reader_copy_value (const GValue* src_value, GValue* dest_value) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (src_value->data[0].v_pointer) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dest_value->data[0].v_pointer = video_reader_ref (src_value->data[0].v_pointer); +#line 3891 "VideoSupport.c" + } else { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 3895 "VideoSupport.c" + } +} + + +static gpointer value_video_reader_peek_pointer (const GValue* value) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return value->data[0].v_pointer; +#line 3903 "VideoSupport.c" +} + + +static gchar* value_video_reader_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (collect_values[0].v_pointer) { +#line 3910 "VideoSupport.c" + VideoReader* object; + object = collect_values[0].v_pointer; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3917 "VideoSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3921 "VideoSupport.c" + } +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = video_reader_ref (object); +#line 3925 "VideoSupport.c" + } else { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 3929 "VideoSupport.c" + } +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 3933 "VideoSupport.c" +} + + +static gchar* value_video_reader_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + VideoReader** object_p; + object_p = collect_values[0].v_pointer; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!object_p) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3944 "VideoSupport.c" + } +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!value->data[0].v_pointer) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = NULL; +#line 3950 "VideoSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = value->data[0].v_pointer; +#line 3954 "VideoSupport.c" + } else { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = video_reader_ref (value->data[0].v_pointer); +#line 3958 "VideoSupport.c" + } +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 3962 "VideoSupport.c" +} + + +GParamSpec* param_spec_video_reader (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecVideoReader* spec; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_VIDEO_READER), NULL); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return G_PARAM_SPEC (spec); +#line 3976 "VideoSupport.c" +} + + +gpointer value_get_video_reader (const GValue* value) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_READER), NULL); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return value->data[0].v_pointer; +#line 3985 "VideoSupport.c" +} + + +void value_set_video_reader (GValue* value, gpointer v_object) { + VideoReader* old; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_READER)); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + old = value->data[0].v_pointer; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (v_object) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIDEO_READER)); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = v_object; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_reader_ref (value->data[0].v_pointer); +#line 4005 "VideoSupport.c" + } else { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 4009 "VideoSupport.c" + } +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (old) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_reader_unref (old); +#line 4015 "VideoSupport.c" + } +} + + +void value_take_video_reader (GValue* value, gpointer v_object) { + VideoReader* old; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_READER)); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + old = value->data[0].v_pointer; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (v_object) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIDEO_READER)); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = v_object; +#line 4034 "VideoSupport.c" + } else { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 4038 "VideoSupport.c" + } +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (old) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_reader_unref (old); +#line 4044 "VideoSupport.c" + } +} + + +static void video_reader_class_init (VideoReaderClass * klass) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_reader_parent_class = g_type_class_peek_parent (klass); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((VideoReaderClass *) klass)->finalize = video_reader_finalize; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_type_class_add_private (klass, sizeof (VideoReaderPrivate)); +#line 4056 "VideoSupport.c" +} + + +static void video_reader_instance_init (VideoReader * self) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv = VIDEO_READER_GET_PRIVATE (self); +#line 45 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->clip_duration = VIDEO_READER_UNKNOWN_CLIP_DURATION; +#line 46 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->preview_frame = NULL; +#line 47 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->file = NULL; +#line 48 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->thumbnailer_pid = (GPid) 0; +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->_timestamp = NULL; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->ref_count = 1; +#line 4075 "VideoSupport.c" +} + + +static void video_reader_finalize (VideoReader* obj) { + VideoReader * self; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_READER, VideoReader); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_signal_handlers_destroy (self); +#line 46 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->priv->preview_frame); +#line 47 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->priv->file); +#line 49 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_date_time_unref0 (self->priv->_timestamp); +#line 4091 "VideoSupport.c" +} + + +GType video_reader_get_type (void) { + static volatile gsize video_reader_type_id__volatile = 0; + if (g_once_init_enter (&video_reader_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_video_reader_init, value_video_reader_free_value, value_video_reader_copy_value, value_video_reader_peek_pointer, "p", value_video_reader_collect_value, "p", value_video_reader_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (VideoReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoReader), 0, (GInstanceInitFunc) video_reader_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType video_reader_type_id; + video_reader_type_id = g_type_register_fundamental (g_type_fundamental_next (), "VideoReader", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&video_reader_type_id__volatile, video_reader_type_id); + } + return video_reader_type_id__volatile; +} + + +gpointer video_reader_ref (gpointer instance) { + VideoReader* self; + self = instance; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return instance; +#line 4116 "VideoSupport.c" +} + + +void video_reader_unref (gpointer instance) { + VideoReader* self; + self = instance; +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + VIDEO_READER_GET_CLASS (self)->finalize (self); +#line 38 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4129 "VideoSupport.c" + } +} + + +static gpointer _video_row_ref0 (gpointer self) { +#line 351 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self ? video_row_ref (self) : NULL; +#line 4137 "VideoSupport.c" +} + + +Video* video_construct (GType object_type, VideoRow* row) { + Video * self = NULL; + VideoRow* _tmp0_ = NULL; + VideoRow* _tmp1_ = NULL; + VideoRow* _tmp2_ = NULL; + VideoRow* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + VideoRow* _tmp7_ = NULL; + guint64 _tmp8_ = 0ULL; +#line 350 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_ROW (row), NULL); +#line 350 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = (Video*) video_source_construct (object_type); +#line 351 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = row; +#line 351 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _video_row_ref0 (_tmp0_); +#line 351 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_row_unref0 (self->priv->backing_row); +#line 351 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->backing_row = _tmp1_; +#line 354 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->priv->backing_row; +#line 354 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 354 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->title; +#line 354 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = media_source_prep_title (_tmp4_); +#line 354 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp2_->title); +#line 354 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_->title = _tmp5_; +#line 356 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = row; +#line 356 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _tmp7_->flags; +#line 356 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if ((_tmp8_ & VIDEO_FLAG_TRASH) != ((guint64) 0)) { +#line 356 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = TRUE; +#line 4184 "VideoSupport.c" + } else { + VideoRow* _tmp9_ = NULL; + guint64 _tmp10_ = 0ULL; +#line 356 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = row; +#line 356 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = _tmp9_->flags; +#line 356 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = (_tmp10_ & VIDEO_FLAG_OFFLINE) != ((guint64) 0); +#line 4194 "VideoSupport.c" + } +#line 356 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp6_) { +#line 4198 "VideoSupport.c" + VideoSourceCollection* _tmp11_ = NULL; + VideoRow* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 357 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = video_global; +#line 357 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = row; +#line 357 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = _tmp12_->backlinks; +#line 357 "/home/jens/Source/shotwell/src/VideoSupport.vala" + data_source_rehydrate_backlinks (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp13_); +#line 4210 "VideoSupport.c" + } +#line 350 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self; +#line 4214 "VideoSupport.c" +} + + +Video* video_new (VideoRow* row) { +#line 350 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return video_construct (TYPE_VIDEO, row); +#line 4221 "VideoSupport.c" +} + + +void video_init (ProgressMonitor monitor, void* monitor_target) { + gchar** fake_args = NULL; + gchar** _tmp0_ = NULL; + gint fake_args_length1 = 0; + gint _fake_args_size_ = 0; + gchar** fake_unowned_args = NULL; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gint fake_unowned_args_length1 = 0; + gint _fake_unowned_args_size_ = 0; + gint saved_state = 0; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GstRegistry* _tmp6_ = NULL; + guint32 _tmp7_ = 0U; + gint _tmp8_ = 0; + VideoSourceCollection* _tmp11_ = NULL; + GeeArrayList* all = NULL; + VideoTable* _tmp12_ = NULL; + VideoTable* _tmp13_ = NULL; + GeeArrayList* _tmp14_ = NULL; + GeeArrayList* _tmp15_ = NULL; + GeeArrayList* all_videos = NULL; + GeeArrayList* _tmp16_ = NULL; + GeeArrayList* trashed_videos = NULL; + GeeArrayList* _tmp17_ = NULL; + GeeArrayList* offline_videos = NULL; + GeeArrayList* _tmp18_ = NULL; + gint count = 0; + GeeArrayList* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + VideoSourceCollection* _tmp48_ = NULL; + GeeArrayList* _tmp49_ = NULL; + VideoSourceCollection* _tmp50_ = NULL; + GeeArrayList* _tmp51_ = NULL; + VideoSourceCollection* _tmp52_ = NULL; + GeeArrayList* _tmp53_ = NULL; + GeeCollection* _tmp54_ = NULL; + GeeCollection* _tmp55_ = NULL; +#line 364 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpreter_state_changed = FALSE; +#line 365 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_current_state = -1; +#line 366 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_normal_regen_complete = FALSE; +#line 367 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_offline_regen_complete = FALSE; +#line 371 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 371 "/home/jens/Source/shotwell/src/VideoSupport.vala" + fake_args = _tmp0_; +#line 371 "/home/jens/Source/shotwell/src/VideoSupport.vala" + fake_args_length1 = 0; +#line 371 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _fake_args_size_ = fake_args_length1; +#line 372 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = fake_args; +#line 372 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1__length1 = fake_args_length1; +#line 372 "/home/jens/Source/shotwell/src/VideoSupport.vala" + fake_unowned_args = _tmp1_; +#line 372 "/home/jens/Source/shotwell/src/VideoSupport.vala" + fake_unowned_args_length1 = _tmp1__length1; +#line 372 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _fake_unowned_args_size_ = fake_unowned_args_length1; +#line 373 "/home/jens/Source/shotwell/src/VideoSupport.vala" + gst_init (&fake_unowned_args_length1, &fake_unowned_args); +#line 375 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = config_facade_get_instance (); +#line 375 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 375 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = configuration_facade_get_video_interpreter_state_cookie (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 375 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp4_; +#line 375 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp3_); +#line 375 "/home/jens/Source/shotwell/src/VideoSupport.vala" + saved_state = _tmp5_; +#line 376 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = gst_registry_get (); +#line 376 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = gst_registry_get_feature_list_cookie (_tmp6_); +#line 376 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_current_state = (gint) _tmp7_; +#line 377 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = saved_state; +#line 377 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp8_ == CONFIG_FACADE_NO_VIDEO_INTERPRETER_STATE) { +#line 378 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_message ("VideoSupport.vala:378: interpreter state cookie not found; assuming al" \ +"l video thumbnails are out of date"); +#line 379 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpreter_state_changed = TRUE; +#line 4321 "VideoSupport.c" + } else { + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 380 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = saved_state; +#line 380 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = video_current_state; +#line 380 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp9_ != _tmp10_) { +#line 381 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_message ("VideoSupport.vala:381: interpreter state has changed; video thumbnails" \ +" may be out of date"); +#line 382 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpreter_state_changed = TRUE; +#line 4335 "VideoSupport.c" + } + } +#line 385 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = video_source_collection_new (); +#line 385 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _data_collection_unref0 (video_global); +#line 385 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_global = _tmp11_; +#line 387 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = video_table_get_instance (); +#line 387 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = _tmp12_; +#line 387 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = video_table_get_all (_tmp13_); +#line 387 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = _tmp14_; +#line 387 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp13_); +#line 387 "/home/jens/Source/shotwell/src/VideoSupport.vala" + all = _tmp15_; +#line 388 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 388 "/home/jens/Source/shotwell/src/VideoSupport.vala" + all_videos = _tmp16_; +#line 389 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 389 "/home/jens/Source/shotwell/src/VideoSupport.vala" + trashed_videos = _tmp17_; +#line 390 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 390 "/home/jens/Source/shotwell/src/VideoSupport.vala" + offline_videos = _tmp18_; +#line 391 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = all; +#line 391 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 391 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = _tmp20_; +#line 391 "/home/jens/Source/shotwell/src/VideoSupport.vala" + count = _tmp21_; +#line 4376 "VideoSupport.c" + { + gint ctr = 0; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ctr = 0; +#line 4381 "VideoSupport.c" + { + gboolean _tmp22_ = FALSE; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = TRUE; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + while (TRUE) { +#line 4388 "VideoSupport.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; + Video* video = NULL; + GeeArrayList* _tmp26_ = NULL; + gint _tmp27_ = 0; + gpointer _tmp28_ = NULL; + VideoRow* _tmp29_ = NULL; + Video* _tmp30_ = NULL; + Video* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + Video* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; + ProgressMonitor _tmp44_ = NULL; + void* _tmp44__target = NULL; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp22_) { +#line 4405 "VideoSupport.c" + gint _tmp23_ = 0; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = ctr; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ctr = _tmp23_ + 1; +#line 4411 "VideoSupport.c" + } +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = FALSE; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = ctr; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_ = count; +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!(_tmp24_ < _tmp25_)) { +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + break; +#line 4423 "VideoSupport.c" + } +#line 393 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_ = all; +#line 393 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp27_ = ctr; +#line 393 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp28_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp27_); +#line 393 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp29_ = (VideoRow*) _tmp28_; +#line 393 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp30_ = video_new (_tmp29_); +#line 393 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp31_ = _tmp30_; +#line 393 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_row_unref0 (_tmp29_); +#line 393 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = _tmp31_; +#line 395 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp32_ = video_interpreter_state_changed; +#line 395 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp32_) { +#line 4445 "VideoSupport.c" + Video* _tmp33_ = NULL; +#line 396 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp33_ = video; +#line 396 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_set_is_interpretable (_tmp33_, FALSE); +#line 4451 "VideoSupport.c" + } +#line 398 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp34_ = video; +#line 398 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp35_ = media_source_is_trashed (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 398 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp35_) { +#line 4459 "VideoSupport.c" + GeeArrayList* _tmp36_ = NULL; + Video* _tmp37_ = NULL; +#line 399 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp36_ = trashed_videos; +#line 399 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp37_ = video; +#line 399 "/home/jens/Source/shotwell/src/VideoSupport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp37_); +#line 4468 "VideoSupport.c" + } else { + Video* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; +#line 400 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp38_ = video; +#line 400 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp39_ = media_source_is_offline (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 400 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp39_) { +#line 4478 "VideoSupport.c" + GeeArrayList* _tmp40_ = NULL; + Video* _tmp41_ = NULL; +#line 401 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp40_ = offline_videos; +#line 401 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp41_ = video; +#line 401 "/home/jens/Source/shotwell/src/VideoSupport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp41_); +#line 4487 "VideoSupport.c" + } else { + GeeArrayList* _tmp42_ = NULL; + Video* _tmp43_ = NULL; +#line 403 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp42_ = all_videos; +#line 403 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp43_ = video; +#line 403 "/home/jens/Source/shotwell/src/VideoSupport.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp43_); +#line 4497 "VideoSupport.c" + } + } +#line 405 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp44_ = monitor; +#line 405 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp44__target = monitor_target; +#line 405 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp44_ != NULL) { +#line 4506 "VideoSupport.c" + ProgressMonitor _tmp45_ = NULL; + void* _tmp45__target = NULL; + gint _tmp46_ = 0; + gint _tmp47_ = 0; +#line 406 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp45_ = monitor; +#line 406 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp45__target = monitor_target; +#line 406 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp46_ = ctr; +#line 406 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp47_ = count; +#line 406 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp45_ ((guint64) _tmp46_, (guint64) _tmp47_, TRUE, _tmp45__target); +#line 4521 "VideoSupport.c" + } +#line 392 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 4525 "VideoSupport.c" + } + } + } +#line 409 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp48_ = video_global; +#line 409 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp49_ = trashed_videos; +#line 409 "/home/jens/Source/shotwell/src/VideoSupport.vala" + media_source_collection_add_many_to_trash (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 410 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp50_ = video_global; +#line 410 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp51_ = offline_videos; +#line 410 "/home/jens/Source/shotwell/src/VideoSupport.vala" + media_source_collection_add_many_to_offline (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 411 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp52_ = video_global; +#line 411 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp53_ = all_videos; +#line 411 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp54_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 411 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp55_ = _tmp54_; +#line 411 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp55_); +#line 360 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (offline_videos); +#line 360 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (trashed_videos); +#line 360 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (all_videos); +#line 360 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (all); +#line 360 "/home/jens/Source/shotwell/src/VideoSupport.vala" + fake_args = (_vala_array_free (fake_args, fake_args_length1, (GDestroyNotify) g_free), NULL); +#line 4561 "VideoSupport.c" +} + + +gboolean video_has_interpreter_state_changed (void) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 415 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_interpreter_state_changed; +#line 415 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 415 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 4574 "VideoSupport.c" +} + + +void video_notify_normal_thumbs_regenerated (void) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 419 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_normal_regen_complete; +#line 419 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_) { +#line 420 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 4588 "VideoSupport.c" + } +#line 422 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_message ("VideoSupport.vala:422: normal video thumbnail regeneration completed"); +#line 424 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_normal_regen_complete = TRUE; +#line 425 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = video_normal_regen_complete; +#line 425 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp2_) { +#line 4598 "VideoSupport.c" + gboolean _tmp3_ = FALSE; +#line 425 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_offline_regen_complete; +#line 425 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp3_; +#line 4604 "VideoSupport.c" + } else { +#line 425 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = FALSE; +#line 4608 "VideoSupport.c" + } +#line 425 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp1_) { +#line 426 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_save_interpreter_state (); +#line 4614 "VideoSupport.c" + } +} + + +void video_notify_offline_thumbs_regenerated (void) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 430 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_offline_regen_complete; +#line 430 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_) { +#line 431 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 4629 "VideoSupport.c" + } +#line 433 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_message ("VideoSupport.vala:433: offline video thumbnail regeneration completed"); +#line 435 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_offline_regen_complete = TRUE; +#line 436 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = video_normal_regen_complete; +#line 436 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp2_) { +#line 4639 "VideoSupport.c" + gboolean _tmp3_ = FALSE; +#line 436 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_offline_regen_complete; +#line 436 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp3_; +#line 4645 "VideoSupport.c" + } else { +#line 436 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = FALSE; +#line 4649 "VideoSupport.c" + } +#line 436 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp1_) { +#line 437 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_save_interpreter_state (); +#line 4655 "VideoSupport.c" + } +} + + +static void video_save_interpreter_state (void) { + gboolean _tmp0_ = FALSE; +#line 441 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_interpreter_state_changed; +#line 441 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_) { +#line 4666 "VideoSupport.c" + ConfigFacade* _tmp1_ = NULL; + ConfigFacade* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 442 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_message ("VideoSupport.vala:442: saving video interpreter state to configuration" \ +" system"); +#line 444 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = config_facade_get_instance (); +#line 444 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 444 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_current_state; +#line 444 "/home/jens/Source/shotwell/src/VideoSupport.vala" + configuration_facade_set_video_interpreter_state_cookie (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp3_); +#line 444 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp2_); +#line 445 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpreter_state_changed = FALSE; +#line 4684 "VideoSupport.c" + } +} + + +void video_terminate (void) { +} + + +ExporterUI* video_export_many (GeeCollection* videos, ExporterCompletionCallback done, void* done_target, gboolean export_in_place) { + ExporterUI* result = NULL; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + GeeCollection* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + GFile* export_dir = NULL; + const gchar* _tmp39_ = NULL; + GFile* _tmp40_ = NULL; + GFile* _tmp41_ = NULL; + ExporterUI* exporter = NULL; + GeeCollection* _tmp42_ = NULL; + GFile* _tmp43_ = NULL; + Scaling _tmp44_ = {0}; + ExportFormatParameters _tmp45_ = {0}; + Exporter* _tmp46_ = NULL; + Exporter* _tmp47_ = NULL; + ExporterUI* _tmp48_ = NULL; + ExporterUI* _tmp49_ = NULL; + ExporterUI* _tmp50_ = NULL; + ExporterCompletionCallback _tmp51_ = NULL; + void* _tmp51__target = NULL; + GError * _inner_error_ = NULL; +#line 452 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (videos), NULL); +#line 454 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = videos; +#line 454 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 454 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 454 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp2_ == 0) { +#line 455 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = NULL; +#line 455 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 4733 "VideoSupport.c" + } +#line 458 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = export_in_place; +#line 458 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp3_) { +#line 4739 "VideoSupport.c" + ExporterUI* temp_exporter = NULL; + GeeCollection* _tmp4_ = NULL; + Scaling _tmp5_ = {0}; + ExportFormatParameters _tmp6_ = {0}; + Exporter* _tmp7_ = NULL; + Exporter* _tmp8_ = NULL; + ExporterUI* _tmp9_ = NULL; + ExporterUI* _tmp10_ = NULL; + ExporterUI* _tmp11_ = NULL; + ExporterCompletionCallback _tmp12_ = NULL; + void* _tmp12__target = NULL; +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = videos; +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + scaling_for_original (&_tmp5_); +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + export_format_parameters_unmodified (&_tmp6_); +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = exporter_new_for_temp_file (_tmp4_, &_tmp5_, &_tmp6_); +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _tmp7_; +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = exporter_ui_new (_tmp8_); +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = _tmp9_; +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp8_); +#line 459 "/home/jens/Source/shotwell/src/VideoSupport.vala" + temp_exporter = _tmp10_; +#line 461 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = temp_exporter; +#line 461 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = done; +#line 461 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12__target = done_target; +#line 461 "/home/jens/Source/shotwell/src/VideoSupport.vala" + exporter_ui_export (_tmp11_, _tmp12_, _tmp12__target); +#line 462 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = temp_exporter; +#line 462 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 4781 "VideoSupport.c" + } +#line 466 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = videos; +#line 466 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = gee_collection_get_size (_tmp13_); +#line 466 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = _tmp14_; +#line 466 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp15_ == 1) { +#line 4791 "VideoSupport.c" + Video* video = NULL; + GFile* save_as = NULL; + Video* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + GFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; +#line 467 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = NULL; +#line 4802 "VideoSupport.c" + { + GeeIterator* _v_it = NULL; + GeeCollection* _tmp16_ = NULL; + GeeIterator* _tmp17_ = NULL; +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = videos; +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _v_it = _tmp17_; +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + while (TRUE) { +#line 4815 "VideoSupport.c" + GeeIterator* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + Video* v = NULL; + GeeIterator* _tmp20_ = NULL; + gpointer _tmp21_ = NULL; + Video* _tmp22_ = NULL; + Video* _tmp23_ = NULL; +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = _v_it; +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = gee_iterator_next (_tmp18_); +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp19_) { +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + break; +#line 4831 "VideoSupport.c" + } +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = _v_it; +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = gee_iterator_get (_tmp20_); +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + v = (Video*) _tmp21_; +#line 469 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = v; +#line 469 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = _g_object_ref0 (_tmp22_); +#line 469 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 469 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = _tmp23_; +#line 470 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (v); +#line 470 "/home/jens/Source/shotwell/src/VideoSupport.vala" + break; +#line 4851 "VideoSupport.c" + } +#line 468 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_v_it); +#line 4855 "VideoSupport.c" + } +#line 473 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = video; +#line 473 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_ = media_source_get_basename (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 473 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_ = _tmp25_; +#line 473 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp27_ = export_ui_choose_file (_tmp26_); +#line 473 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp28_ = _tmp27_; +#line 473 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp26_); +#line 473 "/home/jens/Source/shotwell/src/VideoSupport.vala" + save_as = _tmp28_; +#line 474 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp29_ = save_as; +#line 474 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp29_ == NULL) { +#line 475 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = NULL; +#line 475 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (save_as); +#line 475 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 475 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 4883 "VideoSupport.c" + } + { + AppWindow* _tmp30_ = NULL; + AppWindow* _tmp31_ = NULL; + Video* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + AppWindow* _tmp34_ = NULL; + AppWindow* _tmp35_ = NULL; +#line 478 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp30_ = app_window_get_instance (); +#line 478 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp31_ = _tmp30_; +#line 478 "/home/jens/Source/shotwell/src/VideoSupport.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_PAGE_WINDOW, PageWindow)); +#line 478 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp31_); +#line 479 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp32_ = video; +#line 479 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp33_ = save_as; +#line 479 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_export (_tmp32_, _tmp33_, &_inner_error_); +#line 479 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4908 "VideoSupport.c" + goto __catch488_g_error; + } +#line 480 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp34_ = app_window_get_instance (); +#line 480 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp35_ = _tmp34_; +#line 480 "/home/jens/Source/shotwell/src/VideoSupport.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_PAGE_WINDOW, PageWindow)); +#line 480 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp35_); +#line 4919 "VideoSupport.c" + } + goto __finally488; + __catch488_g_error: + { + GError* err = NULL; + AppWindow* _tmp36_ = NULL; + AppWindow* _tmp37_ = NULL; + GFile* _tmp38_ = NULL; +#line 477 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 477 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 482 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp36_ = app_window_get_instance (); +#line 482 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp37_ = _tmp36_; +#line 482 "/home/jens/Source/shotwell/src/VideoSupport.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, TYPE_PAGE_WINDOW, PageWindow)); +#line 482 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp37_); +#line 483 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp38_ = save_as; +#line 483 "/home/jens/Source/shotwell/src/VideoSupport.vala" + export_error_dialog (_tmp38_, FALSE); +#line 477 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 4946 "VideoSupport.c" + } + __finally488: +#line 477 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 477 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (save_as); +#line 477 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 477 "/home/jens/Source/shotwell/src/VideoSupport.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 477 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 477 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 4961 "VideoSupport.c" + } +#line 486 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = NULL; +#line 486 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (save_as); +#line 486 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 486 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 4971 "VideoSupport.c" + } +#line 490 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp39_ = _ ("Export Videos"); +#line 490 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp40_ = export_ui_choose_dir (_tmp39_); +#line 490 "/home/jens/Source/shotwell/src/VideoSupport.vala" + export_dir = _tmp40_; +#line 491 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp41_ = export_dir; +#line 491 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp41_ == NULL) { +#line 492 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = NULL; +#line 492 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (export_dir); +#line 492 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 4989 "VideoSupport.c" + } +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp42_ = videos; +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp43_ = export_dir; +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + scaling_for_original (&_tmp44_); +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + export_format_parameters_unmodified (&_tmp45_); +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp46_ = exporter_new (_tmp42_, _tmp43_, &_tmp44_, &_tmp45_, FALSE); +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp47_ = _tmp46_; +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp48_ = exporter_ui_new (_tmp47_); +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp49_ = _tmp48_; +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp47_); +#line 494 "/home/jens/Source/shotwell/src/VideoSupport.vala" + exporter = _tmp49_; +#line 496 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp50_ = exporter; +#line 496 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp51_ = done; +#line 496 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp51__target = done_target; +#line 496 "/home/jens/Source/shotwell/src/VideoSupport.vala" + exporter_ui_export (_tmp50_, _tmp51_, _tmp51__target); +#line 498 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = exporter; +#line 498 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (export_dir); +#line 498 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5025 "VideoSupport.c" +} + + +static void video_real_commit_backlinks (DataSource* base, SourceCollection* sources, const gchar* backlinks) { + Video * self; + GError * _inner_error_ = NULL; +#line 501 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 501 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail ((sources == NULL) || IS_SOURCE_COLLECTION (sources)); +#line 5036 "VideoSupport.c" + { + VideoTable* _tmp0_ = NULL; + VideoTable* _tmp1_ = NULL; + VideoID _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_table_get_instance (); +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (self, &_tmp2_); +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = backlinks; +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_update_backlinks (_tmp1_, &_tmp2_, _tmp3_, &_inner_error_); +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp1_); +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5058 "VideoSupport.c" + goto __catch489_database_error; + } +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.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 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 503 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 5067 "VideoSupport.c" + } + { + VideoRow* _tmp4_ = NULL; +#line 504 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 504 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 5075 "VideoSupport.c" + { + VideoRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 505 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 505 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = backlinks; +#line 505 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 505 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp5_->backlinks); +#line 505 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_->backlinks = _tmp7_; +#line 5090 "VideoSupport.c" + } + __finally490: + { + VideoRow* _tmp8_ = NULL; +#line 504 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = self->priv->backing_row; +#line 504 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5099 "VideoSupport.c" + } +#line 504 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 504 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5105 "VideoSupport.c" + goto __catch489_database_error; + } +#line 504 "/home/jens/Source/shotwell/src/VideoSupport.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 504 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 504 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 5114 "VideoSupport.c" + } + } + } + goto __finally489; + __catch489_database_error: + { + GError* err = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 502 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 502 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 508 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 508 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = _tmp9_; +#line 508 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = err; +#line 508 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = _tmp11_->message; +#line 508 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_warning ("VideoSupport.vala:508: Unable to update link state for %s: %s", _tmp10_, _tmp12_); +#line 508 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp10_); +#line 502 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 5144 "VideoSupport.c" + } + __finally489: +#line 502 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 502 "/home/jens/Source/shotwell/src/VideoSupport.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 502 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 502 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 5155 "VideoSupport.c" + } +} + + +static gboolean video_real_set_event_id (MediaSource* base, EventID* event_id) { + Video * self; + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 512 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 512 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 5168 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 513 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 5175 "VideoSupport.c" + { + gboolean committed = FALSE; + VideoTable* _tmp1_ = NULL; + VideoTable* _tmp2_ = NULL; + VideoRow* _tmp3_ = NULL; + VideoID _tmp4_ = {0}; + EventID _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = video_table_get_instance (); +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->video_id; +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = *event_id; +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = video_table_set_event (_tmp2_, &_tmp4_, &_tmp5_); +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = _tmp6_; +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp2_); +#line 514 "/home/jens/Source/shotwell/src/VideoSupport.vala" + committed = _tmp7_; +#line 516 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = committed; +#line 516 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp8_) { +#line 5208 "VideoSupport.c" + VideoRow* _tmp9_ = NULL; + EventID _tmp10_ = {0}; +#line 517 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = self->priv->backing_row; +#line 517 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = *event_id; +#line 517 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_->event_id = _tmp10_; +#line 5217 "VideoSupport.c" + } +#line 519 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = committed; +#line 5221 "VideoSupport.c" + { + VideoRow* _tmp11_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = self->priv->backing_row; +#line 513 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5228 "VideoSupport.c" + } +#line 519 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5232 "VideoSupport.c" + } + __finally491: + { + VideoRow* _tmp12_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = self->priv->backing_row; +#line 513 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5241 "VideoSupport.c" + } +#line 513 "/home/jens/Source/shotwell/src/VideoSupport.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 513 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 513 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return FALSE; +#line 5249 "VideoSupport.c" + } +} + + +gboolean video_is_duplicate (GFile* file, const gchar* full_md5) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + VideoTable* _tmp3_ = NULL; + VideoTable* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 523 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), FALSE); +#line 524 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = file; +#line 524 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp1_ != NULL) { +#line 524 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = TRUE; +#line 5272 "VideoSupport.c" + } else { + const gchar* _tmp2_ = NULL; +#line 524 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = full_md5; +#line 524 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = _tmp2_ != NULL; +#line 5279 "VideoSupport.c" + } +#line 524 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_assert (_tmp0_, "file != null || full_md5 != null"); +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_table_get_instance (); +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_; +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = file; +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = full_md5; +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = video_table_has_duplicate (_tmp4_, _tmp5_, _tmp6_); +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _tmp7_; +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp4_); +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp8_; +#line 526 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5301 "VideoSupport.c" +} + + +ImportResult video_import_create (VideoImportParams* params, Video** video) { + Video* _vala_video = NULL; + ImportResult result = 0; + VideoImportParams* _tmp8_ = NULL; + VideoRow* _tmp9_ = NULL; + Video* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_IMPORT_PARAMS (params), 0); +#line 533 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_vala_video); +#line 533 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_video = NULL; +#line 5318 "VideoSupport.c" + { + VideoID _tmp0_ = {0}; + VideoTable* _tmp1_ = NULL; + VideoTable* _tmp2_ = NULL; + VideoImportParams* _tmp3_ = NULL; + VideoRow* _tmp4_ = NULL; + VideoID _tmp5_ = {0}; + VideoID _tmp6_ = {0}; + gboolean _tmp7_ = FALSE; +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = video_table_get_instance (); +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = params; +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->row; +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_add (_tmp2_, _tmp4_, &_tmp5_, &_inner_error_); +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp5_; +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp2_); +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = _tmp6_; +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5348 "VideoSupport.c" + goto __catch492_database_error; + } +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.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 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 5357 "VideoSupport.c" + } +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = video_id_is_invalid (&_tmp0_); +#line 537 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp7_) { +#line 538 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = IMPORT_RESULT_DATABASE_ERROR; +#line 538 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (video) { +#line 538 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *video = _vala_video; +#line 5369 "VideoSupport.c" + } else { +#line 538 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_vala_video); +#line 5373 "VideoSupport.c" + } +#line 538 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5377 "VideoSupport.c" + } + } + goto __finally492; + __catch492_database_error: + { + GError* err = NULL; +#line 536 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 536 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = IMPORT_RESULT_DATABASE_ERROR; +#line 540 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 540 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (video) { +#line 540 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *video = _vala_video; +#line 5396 "VideoSupport.c" + } else { +#line 540 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_vala_video); +#line 5400 "VideoSupport.c" + } +#line 540 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5404 "VideoSupport.c" + } + __finally492: +#line 536 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 536 "/home/jens/Source/shotwell/src/VideoSupport.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 536 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 536 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 5415 "VideoSupport.c" + } +#line 544 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = params; +#line 544 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_->row; +#line 544 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = video_new (_tmp9_); +#line 544 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_vala_video); +#line 544 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_video = _tmp10_; +#line 546 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = IMPORT_RESULT_SUCCESS; +#line 546 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (video) { +#line 546 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *video = _vala_video; +#line 5433 "VideoSupport.c" + } else { +#line 546 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_vala_video); +#line 5437 "VideoSupport.c" + } +#line 546 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5441 "VideoSupport.c" +} + + +void video_import_failed (Video* video) { + GError * _inner_error_ = NULL; +#line 549 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO (video)); +#line 5449 "VideoSupport.c" + { + VideoTable* _tmp0_ = NULL; + VideoTable* _tmp1_ = NULL; + Video* _tmp2_ = NULL; + VideoID _tmp3_ = {0}; +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_table_get_instance (); +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = video; +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (_tmp2_, &_tmp3_); +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_remove (_tmp1_, &_tmp3_, &_inner_error_); +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp1_); +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5471 "VideoSupport.c" + goto __catch493_database_error; + } +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.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 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 551 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 5480 "VideoSupport.c" + } + } + goto __finally493; + __catch493_database_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 550 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 553 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = err; +#line 553 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp4_); +#line 550 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 5498 "VideoSupport.c" + } + __finally493: +#line 550 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 550 "/home/jens/Source/shotwell/src/VideoSupport.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 550 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 550 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 5509 "VideoSupport.c" + } +} + + +static BackingFileState** video_real_get_backing_files_state (MediaSource* base, int* result_length1) { + Video * self; + BackingFileState** result = NULL; + BackingFileState** backing = NULL; + BackingFileState** _tmp0_ = NULL; + gint backing_length1 = 0; + gint _backing_size_ = 0; + BackingFileState** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + GError * _inner_error_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 558 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = g_new0 (BackingFileState*, 1 + 1); +#line 558 "/home/jens/Source/shotwell/src/VideoSupport.vala" + backing = _tmp0_; +#line 558 "/home/jens/Source/shotwell/src/VideoSupport.vala" + backing_length1 = 1; +#line 558 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _backing_size_ = backing_length1; +#line 5534 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 559 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 5541 "VideoSupport.c" + { + VideoRow* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + VideoRow* _tmp4_ = NULL; + gint64 _tmp5_ = 0LL; + VideoRow* _tmp6_ = NULL; + time_t _tmp7_ = 0; + VideoRow* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + BackingFileState* _tmp10_ = NULL; + BackingFileState* _tmp11_ = NULL; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->priv->backing_row; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_->filepath; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp4_->filesize; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = self->priv->backing_row; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = _tmp6_->timestamp; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = self->priv->backing_row; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_->md5; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = backing_file_state_new (_tmp3_, _tmp5_, _tmp7_, _tmp9_); +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _backing_file_state_unref0 (backing[0]); +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + backing[0] = _tmp10_; +#line 560 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = backing[0]; +#line 5577 "VideoSupport.c" + } + __finally494: + { + VideoRow* _tmp12_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = self->priv->backing_row; +#line 559 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5586 "VideoSupport.c" + } +#line 559 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 559 "/home/jens/Source/shotwell/src/VideoSupport.vala" + backing = (_vala_array_free (backing, backing_length1, (GDestroyNotify) backing_file_state_unref), NULL); +#line 559 "/home/jens/Source/shotwell/src/VideoSupport.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 559 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 559 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 5598 "VideoSupport.c" + } + } +#line 564 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = backing; +#line 564 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13__length1 = backing_length1; +#line 564 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (result_length1) { +#line 564 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *result_length1 = _tmp13__length1; +#line 5609 "VideoSupport.c" + } +#line 564 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp13_; +#line 564 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5615 "VideoSupport.c" +} + + +static GdkPixbuf* video_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + Video * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 567 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = scale; +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = thumbnail_cache_fetch (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp1_, &_inner_error_); +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = _tmp2_; +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 5641 "VideoSupport.c" + } +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp0_; +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = NULL; +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp3_; +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp0_); +#line 568 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5653 "VideoSupport.c" +} + + +static gchar* video_real_get_master_md5 (MediaSource* base) { + Video * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 571 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 5663 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 572 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 5670 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 573 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->md5; +#line 573 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 573 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp3_; +#line 5683 "VideoSupport.c" + { + VideoRow* _tmp4_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 572 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5690 "VideoSupport.c" + } +#line 573 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5694 "VideoSupport.c" + } + __finally495: + { + VideoRow* _tmp5_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 572 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5703 "VideoSupport.c" + } +#line 572 "/home/jens/Source/shotwell/src/VideoSupport.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 572 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 572 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 5711 "VideoSupport.c" + } +} + + +static GdkPixbuf* video_real_get_preview_pixbuf (MediaSource* base, Scaling* scaling, GError** error) { + Video * self; + GdkPixbuf* result = NULL; + GdkPixbuf* pixbuf = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 577 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 577 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 578 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = thumbnail_source_get_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), (gint) THUMBNAIL_CACHE_SIZE_BIG, &_inner_error_); +#line 578 "/home/jens/Source/shotwell/src/VideoSupport.vala" + pixbuf = _tmp0_; +#line 578 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 578 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 578 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 5737 "VideoSupport.c" + } +#line 580 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = scaling_perform_on_pixbuf (scaling, pixbuf, GDK_INTERP_NEAREST, TRUE); +#line 580 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp1_; +#line 580 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (pixbuf); +#line 580 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5747 "VideoSupport.c" +} + + +static GdkPixbuf* video_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + Video * self; + GdkPixbuf* result = NULL; + VideoReader* reader = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + VideoReader* _tmp2_ = NULL; + VideoReader* _tmp3_ = NULL; + GdkPixbuf* frame = NULL; + VideoReader* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; +#line 583 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 584 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 584 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 584 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = video_reader_new (_tmp1_); +#line 584 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 584 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp1_); +#line 584 "/home/jens/Source/shotwell/src/VideoSupport.vala" + reader = _tmp3_; +#line 585 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = reader; +#line 585 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = video_reader_read_preview_frame (_tmp4_); +#line 585 "/home/jens/Source/shotwell/src/VideoSupport.vala" + frame = _tmp5_; +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = frame; +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp7_ != NULL) { +#line 5788 "VideoSupport.c" + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = frame; +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp6_); +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp9_; +#line 5799 "VideoSupport.c" + } else { + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = resources_get_noninterpretable_badge_pixbuf (); +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = _tmp10_; +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = gdk_pixbuf_copy (_tmp11_); +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp6_); +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp12_; +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp11_); +#line 5816 "VideoSupport.c" + } +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp6_; +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (frame); +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (reader); +#line 587 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5826 "VideoSupport.c" +} + + +static gchar* video_real_get_typename (DataSource* base) { + Video * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 590 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 591 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = g_strdup (VIDEO_TYPENAME); +#line 591 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 591 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5842 "VideoSupport.c" +} + + +static gint64 video_real_get_instance_id (DataSource* base) { + Video * self; + gint64 result = 0LL; + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; +#line 594 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 595 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (self, &_tmp0_); +#line 595 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_.id; +#line 595 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp1_; +#line 595 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5861 "VideoSupport.c" +} + + +static void video_real_get_import_id (MediaSource* base, ImportID* result) { + Video * self; + GError * _inner_error_ = NULL; +#line 598 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 5870 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 599 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 599 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 5877 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + ImportID _tmp2_ = {0}; +#line 600 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 600 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->import_id; +#line 600 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *result = _tmp2_; +#line 5887 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 599 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 599 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5894 "VideoSupport.c" + } +#line 600 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 5898 "VideoSupport.c" + } + __finally496: + { + VideoRow* _tmp4_ = NULL; +#line 599 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 599 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5907 "VideoSupport.c" + } +#line 599 "/home/jens/Source/shotwell/src/VideoSupport.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 599 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 599 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 5915 "VideoSupport.c" + } +} + + +static PhotoFileFormat video_real_get_preferred_thumbnail_format (ThumbnailSource* base) { + Video * self; + PhotoFileFormat result = 0; + PhotoFileFormat _tmp0_ = 0; +#line 604 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 605 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = photo_file_format_get_system_default_format (); +#line 605 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 605 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5932 "VideoSupport.c" +} + + +static gchar* video_real_get_title (MediaSource* base) { + Video * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 608 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 5942 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 609 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 609 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 5949 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 610 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 610 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->title; +#line 610 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 610 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp3_; +#line 5962 "VideoSupport.c" + { + VideoRow* _tmp4_ = NULL; +#line 609 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 609 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5969 "VideoSupport.c" + } +#line 610 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 5973 "VideoSupport.c" + } + __finally497: + { + VideoRow* _tmp5_ = NULL; +#line 609 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 609 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 5982 "VideoSupport.c" + } +#line 609 "/home/jens/Source/shotwell/src/VideoSupport.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 609 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 609 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 5990 "VideoSupport.c" + } +} + + +static void video_real_set_title (MediaSource* base, const gchar* title) { + Video * self; + gchar* new_title = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + Alteration* _tmp20_ = NULL; + Alteration* _tmp21_ = NULL; + GError * _inner_error_ = NULL; +#line 614 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 615 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = title; +#line 615 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_prep_title (_tmp0_); +#line 615 "/home/jens/Source/shotwell/src/VideoSupport.vala" + new_title = _tmp1_; +#line 6011 "VideoSupport.c" + { + VideoRow* _tmp2_ = NULL; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->priv->backing_row; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 6018 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + VideoRow* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 618 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->title; +#line 618 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = new_title; +#line 618 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (g_strcmp0 (_tmp4_, _tmp5_) == 0) { +#line 6034 "VideoSupport.c" + { + VideoRow* _tmp6_ = NULL; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = self->priv->backing_row; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6041 "VideoSupport.c" + } +#line 619 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_title); +#line 619 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6047 "VideoSupport.c" + } + { + VideoTable* _tmp7_ = NULL; + VideoTable* _tmp8_ = NULL; + VideoRow* _tmp9_ = NULL; + VideoID _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = video_table_get_instance (); +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _tmp7_; +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = self->priv->backing_row; +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = _tmp9_->video_id; +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = new_title; +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_set_title (_tmp8_, &_tmp10_, _tmp11_, &_inner_error_); +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp8_); +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6073 "VideoSupport.c" + goto __catch499_database_error; + } + { + VideoRow* _tmp12_ = NULL; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = self->priv->backing_row; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6082 "VideoSupport.c" + } +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_title); +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.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 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 622 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6092 "VideoSupport.c" + } + } + goto __finally499; + __catch499_database_error: + { + GError* e = NULL; + GError* _tmp13_ = NULL; +#line 621 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 621 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 624 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = e; +#line 624 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp13_); +#line 625 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 6110 "VideoSupport.c" + { + VideoRow* _tmp14_ = NULL; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = self->priv->backing_row; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6117 "VideoSupport.c" + } +#line 625 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_title); +#line 625 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6123 "VideoSupport.c" + } + __finally499: +#line 621 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6128 "VideoSupport.c" + { + VideoRow* _tmp15_ = NULL; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = self->priv->backing_row; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6135 "VideoSupport.c" + } +#line 621 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_title); +#line 621 "/home/jens/Source/shotwell/src/VideoSupport.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 621 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 621 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6145 "VideoSupport.c" + } +#line 629 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = self->priv->backing_row; +#line 629 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = new_title; +#line 629 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 629 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp16_->title); +#line 629 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_->title = _tmp18_; +#line 6157 "VideoSupport.c" + } + __finally498: + { + VideoRow* _tmp19_ = NULL; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = self->priv->backing_row; +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6166 "VideoSupport.c" + } +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_title); +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.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 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 617 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6178 "VideoSupport.c" + } + } +#line 632 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = alteration_new ("metadata", "name"); +#line 632 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = _tmp20_; +#line 632 "/home/jens/Source/shotwell/src/VideoSupport.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp21_); +#line 632 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (_tmp21_); +#line 614 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_title); +#line 6191 "VideoSupport.c" +} + + +static gchar* video_real_get_comment (MediaSource* base) { + Video * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 635 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 6201 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 636 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 636 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 6208 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 637 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 637 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->comment; +#line 637 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 637 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp3_; +#line 6221 "VideoSupport.c" + { + VideoRow* _tmp4_ = NULL; +#line 636 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 636 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6228 "VideoSupport.c" + } +#line 637 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 6232 "VideoSupport.c" + } + __finally500: + { + VideoRow* _tmp5_ = NULL; +#line 636 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 636 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6241 "VideoSupport.c" + } +#line 636 "/home/jens/Source/shotwell/src/VideoSupport.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 636 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 636 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 6249 "VideoSupport.c" + } +} + + +static gboolean video_real_set_comment (MediaSource* base, const gchar* comment) { + Video * self; + gboolean result = FALSE; + gchar* new_comment = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + Alteration* _tmp20_ = NULL; + Alteration* _tmp21_ = NULL; + GError * _inner_error_ = NULL; +#line 641 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 642 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = comment; +#line 642 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_prep_title (_tmp0_); +#line 642 "/home/jens/Source/shotwell/src/VideoSupport.vala" + new_comment = _tmp1_; +#line 6271 "VideoSupport.c" + { + VideoRow* _tmp2_ = NULL; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->priv->backing_row; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 6278 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + VideoRow* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 645 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 645 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->comment; +#line 645 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = new_comment; +#line 645 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (g_strcmp0 (_tmp4_, _tmp5_) == 0) { +#line 646 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = TRUE; +#line 6296 "VideoSupport.c" + { + VideoRow* _tmp6_ = NULL; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = self->priv->backing_row; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6303 "VideoSupport.c" + } +#line 646 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_comment); +#line 646 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 6309 "VideoSupport.c" + } + { + VideoTable* _tmp7_ = NULL; + VideoTable* _tmp8_ = NULL; + VideoRow* _tmp9_ = NULL; + VideoID _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = video_table_get_instance (); +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _tmp7_; +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = self->priv->backing_row; +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = _tmp9_->video_id; +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = new_comment; +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_set_comment (_tmp8_, &_tmp10_, _tmp11_, &_inner_error_); +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp8_); +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6335 "VideoSupport.c" + goto __catch502_database_error; + } + { + VideoRow* _tmp12_ = NULL; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = self->priv->backing_row; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6344 "VideoSupport.c" + } +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_comment); +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.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 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 649 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return FALSE; +#line 6354 "VideoSupport.c" + } + } + goto __finally502; + __catch502_database_error: + { + GError* e = NULL; + GError* _tmp13_ = NULL; +#line 648 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 648 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 651 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = e; +#line 651 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp13_); +#line 652 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = FALSE; +#line 652 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 6374 "VideoSupport.c" + { + VideoRow* _tmp14_ = NULL; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = self->priv->backing_row; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6381 "VideoSupport.c" + } +#line 652 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_comment); +#line 652 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 6387 "VideoSupport.c" + } + __finally502: +#line 648 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6392 "VideoSupport.c" + { + VideoRow* _tmp15_ = NULL; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = self->priv->backing_row; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6399 "VideoSupport.c" + } +#line 648 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_comment); +#line 648 "/home/jens/Source/shotwell/src/VideoSupport.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 648 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 648 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return FALSE; +#line 6409 "VideoSupport.c" + } +#line 656 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = self->priv->backing_row; +#line 656 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = new_comment; +#line 656 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 656 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp16_->comment); +#line 656 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_->comment = _tmp18_; +#line 6421 "VideoSupport.c" + } + __finally501: + { + VideoRow* _tmp19_ = NULL; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = self->priv->backing_row; +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6430 "VideoSupport.c" + } +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_comment); +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.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 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 644 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return FALSE; +#line 6442 "VideoSupport.c" + } + } +#line 659 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = alteration_new ("metadata", "comment"); +#line 659 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = _tmp20_; +#line 659 "/home/jens/Source/shotwell/src/VideoSupport.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp21_); +#line 659 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (_tmp21_); +#line 661 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = TRUE; +#line 661 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_comment); +#line 661 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 6459 "VideoSupport.c" +} + + +static Rating video_real_get_rating (MediaSource* base) { + Video * self; + Rating result = 0; + GError * _inner_error_ = NULL; +#line 665 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 6469 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 666 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 6476 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; +#line 667 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 667 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->rating; +#line 667 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp2_; +#line 6486 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 666 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6493 "VideoSupport.c" + } +#line 667 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 6497 "VideoSupport.c" + } + __finally503: + { + VideoRow* _tmp4_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 666 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6506 "VideoSupport.c" + } +#line 666 "/home/jens/Source/shotwell/src/VideoSupport.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 666 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 666 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 6514 "VideoSupport.c" + } +} + + +static void video_real_set_rating (MediaSource* base, Rating rating) { + Video * self; + Alteration* _tmp19_ = NULL; + Alteration* _tmp20_ = NULL; + GError * _inner_error_ = NULL; +#line 671 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 6526 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 6533 "VideoSupport.c" + { + gboolean _tmp1_ = FALSE; + Rating _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + VideoRow* _tmp16_ = NULL; + Rating _tmp17_ = 0; +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = rating; +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = rating_is_valid (_tmp2_); +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp3_) { +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = TRUE; +#line 6548 "VideoSupport.c" + } else { + Rating _tmp4_ = 0; + VideoRow* _tmp5_ = NULL; + Rating _tmp6_ = 0; +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = rating; +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp5_->rating; +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp4_ == _tmp6_; +#line 6561 "VideoSupport.c" + } +#line 673 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp1_) { +#line 6565 "VideoSupport.c" + { + VideoRow* _tmp7_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = self->priv->backing_row; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6572 "VideoSupport.c" + } +#line 674 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6576 "VideoSupport.c" + } + { + VideoTable* _tmp8_ = NULL; + VideoTable* _tmp9_ = NULL; + VideoID _tmp10_ = {0}; + Rating _tmp11_ = 0; +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = video_table_get_instance (); +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_; +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (self, &_tmp10_); +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = rating; +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_set_rating (_tmp9_, &_tmp10_, _tmp11_, &_inner_error_); +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp9_); +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6599 "VideoSupport.c" + goto __catch505_database_error; + } + { + VideoRow* _tmp12_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = self->priv->backing_row; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6608 "VideoSupport.c" + } +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.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 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 677 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6616 "VideoSupport.c" + } + } + goto __finally505; + __catch505_database_error: + { + GError* e = NULL; + GError* _tmp13_ = NULL; +#line 676 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 676 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 679 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = e; +#line 679 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp13_); +#line 680 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 6634 "VideoSupport.c" + { + VideoRow* _tmp14_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = self->priv->backing_row; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6641 "VideoSupport.c" + } +#line 680 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6645 "VideoSupport.c" + } + __finally505: +#line 676 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6650 "VideoSupport.c" + { + VideoRow* _tmp15_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = self->priv->backing_row; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6657 "VideoSupport.c" + } +#line 676 "/home/jens/Source/shotwell/src/VideoSupport.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 676 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 676 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6665 "VideoSupport.c" + } +#line 684 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = self->priv->backing_row; +#line 684 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = rating; +#line 684 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_->rating = _tmp17_; +#line 6673 "VideoSupport.c" + } + __finally504: + { + VideoRow* _tmp18_ = NULL; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = self->priv->backing_row; +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6682 "VideoSupport.c" + } +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.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 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 672 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6692 "VideoSupport.c" + } + } +#line 687 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = alteration_new ("metadata", "rating"); +#line 687 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = _tmp19_; +#line 687 "/home/jens/Source/shotwell/src/VideoSupport.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp20_); +#line 687 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (_tmp20_); +#line 6703 "VideoSupport.c" +} + + +static void video_real_increase_rating (MediaSource* base) { + Video * self; + GError * _inner_error_ = NULL; +#line 690 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 6712 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 691 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 691 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 6719 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; + Rating _tmp3_ = 0; +#line 692 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 692 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->rating; +#line 692 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = rating_increase (_tmp2_); +#line 692 "/home/jens/Source/shotwell/src/VideoSupport.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp3_); +#line 6732 "VideoSupport.c" + } + __finally506: + { + VideoRow* _tmp4_ = NULL; +#line 691 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 691 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6741 "VideoSupport.c" + } +#line 691 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 691 "/home/jens/Source/shotwell/src/VideoSupport.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 691 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 691 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6751 "VideoSupport.c" + } + } +} + + +static void video_real_decrease_rating (MediaSource* base) { + Video * self; + GError * _inner_error_ = NULL; +#line 696 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 6762 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 697 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 697 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 6769 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + Rating _tmp2_ = 0; + Rating _tmp3_ = 0; +#line 698 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 698 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->rating; +#line 698 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = rating_decrease (_tmp2_); +#line 698 "/home/jens/Source/shotwell/src/VideoSupport.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp3_); +#line 6782 "VideoSupport.c" + } + __finally507: + { + VideoRow* _tmp4_ = NULL; +#line 697 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 697 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6791 "VideoSupport.c" + } +#line 697 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 697 "/home/jens/Source/shotwell/src/VideoSupport.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 697 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 697 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6801 "VideoSupport.c" + } + } +} + + +static gboolean video_real_is_trashed (MediaSource* base) { + Video * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 702 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 703 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_is_flag_set (self, VIDEO_FLAG_TRASH); +#line 703 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 703 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 6819 "VideoSupport.c" +} + + +static gboolean video_real_is_offline (Monitorable* base) { + Video * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 706 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 707 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_is_flag_set (self, VIDEO_FLAG_OFFLINE); +#line 707 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 707 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 6835 "VideoSupport.c" +} + + +static void video_real_mark_offline (Monitorable* base) { + Video * self; +#line 710 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 711 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_add_flags (self, VIDEO_FLAG_OFFLINE, NULL); +#line 6845 "VideoSupport.c" +} + + +static void video_real_mark_online (Monitorable* base) { + Video * self; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 714 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 715 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_remove_flags (self, VIDEO_FLAG_OFFLINE, NULL); +#line 717 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = video_get_is_interpretable (self); +#line 717 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp1_) { +#line 6861 "VideoSupport.c" + gboolean _tmp2_ = FALSE; +#line 717 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = video_has_interpreter_state_changed (); +#line 717 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = _tmp2_; +#line 6867 "VideoSupport.c" + } else { +#line 717 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = FALSE; +#line 6871 "VideoSupport.c" + } +#line 717 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_) { +#line 6875 "VideoSupport.c" + VideoInterpretableResults* _tmp3_ = NULL; + VideoInterpretableResults* _tmp4_ = NULL; +#line 718 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_check_is_interpretable (self); +#line 718 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_; +#line 718 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpretable_results_foreground_finish (_tmp4_); +#line 718 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_interpretable_results_unref0 (_tmp4_); +#line 6886 "VideoSupport.c" + } +} + + +static void video_real_trash (MediaSource* base) { + Video * self; +#line 721 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 722 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_add_flags (self, VIDEO_FLAG_TRASH, NULL); +#line 6897 "VideoSupport.c" +} + + +static void video_real_untrash (MediaSource* base) { + Video * self; +#line 725 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 726 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_remove_flags (self, VIDEO_FLAG_TRASH, NULL); +#line 6907 "VideoSupport.c" +} + + +static gboolean video_real_is_flagged (Flaggable* base) { + Video * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 729 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 730 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_is_flag_set (self, VIDEO_FLAG_FLAGGED); +#line 730 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 730 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 6923 "VideoSupport.c" +} + + +static void video_real_mark_flagged (Flaggable* base) { + Video * self; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; +#line 733 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 734 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = alteration_new ("metadata", "flagged"); +#line 734 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 734 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_add_flags (self, VIDEO_FLAG_FLAGGED, _tmp1_); +#line 734 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (_tmp1_); +#line 6941 "VideoSupport.c" +} + + +static void video_real_mark_unflagged (Flaggable* base) { + Video * self; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; +#line 737 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 738 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = alteration_new ("metadata", "flagged"); +#line 738 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 738 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_remove_flags (self, VIDEO_FLAG_FLAGGED, _tmp1_); +#line 738 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (_tmp1_); +#line 6959 "VideoSupport.c" +} + + +static void video_real_get_event_id (MediaSource* base, EventID* result) { + Video * self; + GError * _inner_error_ = NULL; +#line 741 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 6968 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 742 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 742 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 6975 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + EventID _tmp2_ = {0}; +#line 743 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 743 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->event_id; +#line 743 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *result = _tmp2_; +#line 6985 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 742 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 742 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 6992 "VideoSupport.c" + } +#line 743 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 6996 "VideoSupport.c" + } + __finally508: + { + VideoRow* _tmp4_ = NULL; +#line 742 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 742 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7005 "VideoSupport.c" + } +#line 742 "/home/jens/Source/shotwell/src/VideoSupport.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 742 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 742 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7013 "VideoSupport.c" + } +} + + +static gchar* video_real_to_string (DataObject* base) { + Video * self; + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 747 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 7024 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 748 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 748 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7031 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + VideoID _tmp2_ = {0}; + gint64 _tmp3_ = 0LL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + VideoRow* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->video_id; +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_.id; +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp3_); +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp4_; +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = self->priv->backing_row; +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = _tmp6_->filepath; +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = g_strdup_printf ("[%s] %s", _tmp5_, _tmp7_); +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_; +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp5_); +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp9_; +#line 7064 "VideoSupport.c" + { + VideoRow* _tmp10_ = NULL; +#line 748 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = self->priv->backing_row; +#line 748 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7071 "VideoSupport.c" + } +#line 749 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7075 "VideoSupport.c" + } + __finally509: + { + VideoRow* _tmp11_ = NULL; +#line 748 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = self->priv->backing_row; +#line 748 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7084 "VideoSupport.c" + } +#line 748 "/home/jens/Source/shotwell/src/VideoSupport.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 748 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 748 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 7092 "VideoSupport.c" + } +} + + +void video_get_video_id (Video* self, VideoID* result) { + GError * _inner_error_ = NULL; +#line 753 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO (self)); +#line 7101 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 754 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7108 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + VideoID _tmp2_ = {0}; +#line 755 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 755 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->video_id; +#line 755 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *result = _tmp2_; +#line 7118 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 754 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7125 "VideoSupport.c" + } +#line 755 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7129 "VideoSupport.c" + } + __finally510: + { + VideoRow* _tmp4_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 754 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7138 "VideoSupport.c" + } +#line 754 "/home/jens/Source/shotwell/src/VideoSupport.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 754 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 754 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7146 "VideoSupport.c" + } +} + + +static time_t video_real_get_exposure_time (Dateable* base) { + Video * self; + time_t result = 0; + GError * _inner_error_ = NULL; +#line 759 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 7157 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 760 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7164 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + time_t _tmp2_ = 0; +#line 761 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 761 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->exposure_time; +#line 761 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp2_; +#line 7174 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 760 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7181 "VideoSupport.c" + } +#line 761 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7185 "VideoSupport.c" + } + __finally511: + { + VideoRow* _tmp4_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 760 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7194 "VideoSupport.c" + } +#line 760 "/home/jens/Source/shotwell/src/VideoSupport.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 760 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 760 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 7202 "VideoSupport.c" + } +} + + +static void video_real_set_exposure_time (Dateable* base, time_t time) { + Video * self; + Alteration* _tmp12_ = NULL; + Alteration* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 765 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 7214 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7221 "VideoSupport.c" + { + VideoRow* _tmp9_ = NULL; + time_t _tmp10_ = 0; + { + VideoTable* _tmp1_ = NULL; + VideoTable* _tmp2_ = NULL; + VideoRow* _tmp3_ = NULL; + VideoID _tmp4_ = {0}; + time_t _tmp5_ = 0; +#line 768 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = video_table_get_instance (); +#line 768 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 768 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 768 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->video_id; +#line 768 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = time; +#line 768 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_set_exposure_time (_tmp2_, &_tmp4_, _tmp5_, &_inner_error_); +#line 768 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp2_); +#line 768 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7247 "VideoSupport.c" + goto __catch513_g_error; + } + } + goto __finally513; + __catch513_g_error: + { + GError* e = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 767 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 767 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = e; +#line 770 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = _tmp6_->message; +#line 770 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:770: Warning - %s", _tmp7_); +#line 767 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 7269 "VideoSupport.c" + } + __finally513: +#line 767 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7274 "VideoSupport.c" + { + VideoRow* _tmp8_ = NULL; +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = self->priv->backing_row; +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7281 "VideoSupport.c" + } +#line 767 "/home/jens/Source/shotwell/src/VideoSupport.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 767 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 767 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7289 "VideoSupport.c" + } +#line 772 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = self->priv->backing_row; +#line 772 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = time; +#line 772 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_->exposure_time = _tmp10_; +#line 7297 "VideoSupport.c" + } + __finally512: + { + VideoRow* _tmp11_ = NULL; +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = self->priv->backing_row; +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7306 "VideoSupport.c" + } +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.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 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 766 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7316 "VideoSupport.c" + } + } +#line 775 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = alteration_new ("metadata", "exposure-time"); +#line 775 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = _tmp12_; +#line 775 "/home/jens/Source/shotwell/src/VideoSupport.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp13_); +#line 775 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (_tmp13_); +#line 7327 "VideoSupport.c" +} + + +void video_get_frame_dimensions (Video* self, Dimensions* result) { + GError * _inner_error_ = NULL; +#line 778 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO (self)); +#line 7335 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 779 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 779 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7342 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + gint _tmp2_ = 0; + VideoRow* _tmp3_ = NULL; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; +#line 780 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 780 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->width; +#line 780 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 780 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->height; +#line 780 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dimensions_init (&_tmp5_, _tmp2_, _tmp4_); +#line 780 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *result = _tmp5_; +#line 7361 "VideoSupport.c" + { + VideoRow* _tmp6_ = NULL; +#line 779 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = self->priv->backing_row; +#line 779 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7368 "VideoSupport.c" + } +#line 780 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7372 "VideoSupport.c" + } + __finally514: + { + VideoRow* _tmp7_ = NULL; +#line 779 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = self->priv->backing_row; +#line 779 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7381 "VideoSupport.c" + } +#line 779 "/home/jens/Source/shotwell/src/VideoSupport.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 779 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 779 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7389 "VideoSupport.c" + } +} + + +static void video_real_get_dimensions (MediaSource* base, PhotoException disallowed_steps, Dimensions* result) { + Video * self; + Dimensions _tmp0_ = {0}; +#line 784 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 785 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_frame_dimensions (self, &_tmp0_); +#line 785 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *result = _tmp0_; +#line 785 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7405 "VideoSupport.c" +} + + +static guint64 video_real_get_filesize (MediaSource* base) { + Video * self; + guint64 result = 0ULL; + guint64 _tmp0_ = 0ULL; +#line 788 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 789 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = media_source_get_master_filesize (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 789 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 789 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7421 "VideoSupport.c" +} + + +static guint64 video_real_get_master_filesize (MediaSource* base) { + Video * self; + guint64 result = 0ULL; + GError * _inner_error_ = NULL; +#line 792 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 7431 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 793 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 793 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7438 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; +#line 794 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 794 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->filesize; +#line 794 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = (guint64) _tmp2_; +#line 7448 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 793 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 793 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7455 "VideoSupport.c" + } +#line 794 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7459 "VideoSupport.c" + } + __finally515: + { + VideoRow* _tmp4_ = NULL; +#line 793 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 793 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7468 "VideoSupport.c" + } +#line 793 "/home/jens/Source/shotwell/src/VideoSupport.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 793 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 793 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0ULL; +#line 7476 "VideoSupport.c" + } +} + + +static time_t video_real_get_timestamp (MediaSource* base) { + Video * self; + time_t result = 0; + GError * _inner_error_ = NULL; +#line 798 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 7487 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 799 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 799 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7494 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + time_t _tmp2_ = 0; +#line 800 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 800 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->timestamp; +#line 800 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp2_; +#line 7504 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 799 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 799 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7511 "VideoSupport.c" + } +#line 800 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7515 "VideoSupport.c" + } + __finally516: + { + VideoRow* _tmp4_ = NULL; +#line 799 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 799 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7524 "VideoSupport.c" + } +#line 799 "/home/jens/Source/shotwell/src/VideoSupport.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 799 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 799 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0; +#line 7532 "VideoSupport.c" + } +} + + +static void video_real_set_master_timestamp (Monitorable* base, GFileInfo* info) { + Video * self; + GTimeVal time_val = {0}; + GFileInfo* _tmp0_ = NULL; + GTimeVal _tmp1_ = {0}; + Alteration* _tmp19_ = NULL; + Alteration* _tmp20_ = NULL; + GError * _inner_error_ = NULL; +#line 804 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 804 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 805 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = info; +#line 805 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_file_info_get_modification_time (_tmp0_, &_tmp1_); +#line 805 "/home/jens/Source/shotwell/src/VideoSupport.vala" + time_val = _tmp1_; +#line 7555 "VideoSupport.c" + { + { + VideoRow* _tmp2_ = NULL; +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->priv->backing_row; +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7563 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; + time_t _tmp4_ = 0; + GTimeVal _tmp5_ = {0}; + glong _tmp6_ = 0L; + VideoTable* _tmp8_ = NULL; + VideoTable* _tmp9_ = NULL; + VideoRow* _tmp10_ = NULL; + VideoID _tmp11_ = {0}; + GTimeVal _tmp12_ = {0}; + glong _tmp13_ = 0L; + VideoRow* _tmp14_ = NULL; + GTimeVal _tmp15_ = {0}; + glong _tmp16_ = 0L; +#line 809 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 809 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->timestamp; +#line 809 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = time_val; +#line 809 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp5_.tv_sec; +#line 809 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp4_ == ((time_t) _tmp6_)) { +#line 7588 "VideoSupport.c" + { + VideoRow* _tmp7_ = NULL; +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = self->priv->backing_row; +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7595 "VideoSupport.c" + } +#line 810 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7599 "VideoSupport.c" + } +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = video_table_get_instance (); +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_; +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = self->priv->backing_row; +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = _tmp10_->video_id; +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = time_val; +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = _tmp12_.tv_sec; +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_set_timestamp (_tmp9_, &_tmp11_, (time_t) _tmp13_, &_inner_error_); +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp9_); +#line 812 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7619 "VideoSupport.c" + goto __finally518; + } +#line 813 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = self->priv->backing_row; +#line 813 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = time_val; +#line 813 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = _tmp15_.tv_sec; +#line 813 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_->timestamp = (time_t) _tmp16_; +#line 7630 "VideoSupport.c" + } + __finally518: + { + VideoRow* _tmp17_ = NULL; +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = self->priv->backing_row; +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7639 "VideoSupport.c" + } +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 7645 "VideoSupport.c" + goto __catch517_database_error; + } +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.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 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 808 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7654 "VideoSupport.c" + } + } + } + goto __finally517; + __catch517_database_error: + { + GError* err = NULL; + GError* _tmp18_ = NULL; +#line 807 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 807 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 816 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = err; +#line 816 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp18_); +#line 818 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 818 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7675 "VideoSupport.c" + } + __finally517: +#line 807 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 807 "/home/jens/Source/shotwell/src/VideoSupport.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 807 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 807 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7686 "VideoSupport.c" + } +#line 821 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = alteration_new ("metadata", "master-timestamp"); +#line 821 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = _tmp19_; +#line 821 "/home/jens/Source/shotwell/src/VideoSupport.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp20_); +#line 821 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (_tmp20_); +#line 7696 "VideoSupport.c" +} + + +gchar* video_get_filename (Video* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 824 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (self), NULL); +#line 7705 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 825 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 825 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7712 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 826 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 826 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->filepath; +#line 826 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 826 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp3_; +#line 7725 "VideoSupport.c" + { + VideoRow* _tmp4_ = NULL; +#line 825 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 825 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7732 "VideoSupport.c" + } +#line 826 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7736 "VideoSupport.c" + } + __finally519: + { + VideoRow* _tmp5_ = NULL; +#line 825 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 825 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7745 "VideoSupport.c" + } +#line 825 "/home/jens/Source/shotwell/src/VideoSupport.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 825 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 825 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 7753 "VideoSupport.c" + } +} + + +static GFile* video_real_get_file (MediaSource* base) { + Video * self; + GFile* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 830 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 831 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_get_filename (self); +#line 831 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 831 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 831 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 831 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp1_); +#line 831 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp3_; +#line 831 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7781 "VideoSupport.c" +} + + +static GFile* video_real_get_master_file (MediaSource* base) { + Video * self; + GFile* result = NULL; + GFile* _tmp0_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 835 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 835 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 835 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7797 "VideoSupport.c" +} + + +void video_export (Video* self, GFile* dest_file, GError** error) { + GFile* source_file = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 838 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO (self)); +#line 838 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_IS_FILE (dest_file)); +#line 839 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_get_filename (self); +#line 839 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 839 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 839 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 839 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp1_); +#line 839 "/home/jens/Source/shotwell/src/VideoSupport.vala" + source_file = _tmp3_; +#line 840 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = dest_file; +#line 840 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_file_copy (source_file, _tmp4_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_TARGET_DEFAULT_PERMS, NULL, NULL, NULL, &_inner_error_); +#line 840 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 840 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 840 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (source_file); +#line 840 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7837 "VideoSupport.c" + } +#line 838 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (source_file); +#line 7841 "VideoSupport.c" +} + + +gdouble video_get_clip_duration (Video* self) { + gdouble result = 0.0; + GError * _inner_error_ = NULL; +#line 844 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (self), 0.0); +#line 7850 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 845 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7857 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; +#line 846 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 846 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->clip_duration; +#line 846 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp2_; +#line 7867 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 845 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7874 "VideoSupport.c" + } +#line 846 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7878 "VideoSupport.c" + } + __finally520: + { + VideoRow* _tmp4_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 845 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7887 "VideoSupport.c" + } +#line 845 "/home/jens/Source/shotwell/src/VideoSupport.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 845 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 845 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0.0; +#line 7895 "VideoSupport.c" + } +} + + +gboolean video_get_is_interpretable (Video* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 850 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (self), FALSE); +#line 7905 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 851 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 851 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7912 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 852 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 852 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->is_interpretable; +#line 852 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp2_; +#line 7922 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; +#line 851 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 851 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7929 "VideoSupport.c" + } +#line 852 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 7933 "VideoSupport.c" + } + __finally521: + { + VideoRow* _tmp4_ = NULL; +#line 851 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 851 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7942 "VideoSupport.c" + } +#line 851 "/home/jens/Source/shotwell/src/VideoSupport.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 851 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 851 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return FALSE; +#line 7950 "VideoSupport.c" + } +} + + +static void video_set_is_interpretable (Video* self, gboolean is_interpretable) { + GError * _inner_error_ = NULL; +#line 856 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO (self)); +#line 7959 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 7966 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + VideoRow* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 858 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 858 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->is_interpretable; +#line 858 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = is_interpretable; +#line 858 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp2_ == _tmp3_) { +#line 7981 "VideoSupport.c" + { + VideoRow* _tmp4_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->priv->backing_row; +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 7988 "VideoSupport.c" + } +#line 859 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 7992 "VideoSupport.c" + } +#line 861 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 861 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = is_interpretable; +#line 861 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_->is_interpretable = _tmp6_; +#line 8000 "VideoSupport.c" + } + __finally522: + { + VideoRow* _tmp7_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = self->priv->backing_row; +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8009 "VideoSupport.c" + } +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.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 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 857 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 8019 "VideoSupport.c" + } + } + { + VideoTable* _tmp8_ = NULL; + VideoTable* _tmp9_ = NULL; + VideoID _tmp10_ = {0}; + gboolean _tmp11_ = FALSE; +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = video_table_get_instance (); +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_; +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (self, &_tmp10_); +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = is_interpretable; +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_update_is_interpretable (_tmp9_, &_tmp10_, _tmp11_, &_inner_error_); +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp9_); +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 8043 "VideoSupport.c" + goto __catch523_database_error; + } +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.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 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 865 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 8052 "VideoSupport.c" + } + } + goto __finally523; + __catch523_database_error: + { + GError* e = NULL; + GError* _tmp12_ = NULL; +#line 864 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 864 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 867 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = e; +#line 867 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp12_); +#line 864 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 8070 "VideoSupport.c" + } + __finally523: +#line 864 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 864 "/home/jens/Source/shotwell/src/VideoSupport.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 864 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 864 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 8081 "VideoSupport.c" + } +} + + +VideoInterpretableResults* video_check_is_interpretable (Video* self) { + VideoInterpretableResults* result = NULL; + VideoInterpretableResults* results = NULL; + VideoInterpretableResults* _tmp0_ = NULL; + gdouble clip_duration = 0.0; + GdkPixbuf* preview_frame = NULL; + VideoReader* backing_file_reader = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + VideoReader* _tmp3_ = NULL; + VideoReader* _tmp4_ = NULL; + gboolean _tmp13_ = FALSE; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + VideoInterpretableResults* _tmp24_ = NULL; + VideoInterpretableResults* _tmp25_ = NULL; + VideoInterpretableResults* _tmp26_ = NULL; + GdkPixbuf* _tmp27_ = NULL; + GdkPixbuf* _tmp28_ = NULL; + GError * _inner_error_ = NULL; +#line 874 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (self), NULL); +#line 875 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_interpretable_results_new (self); +#line 875 "/home/jens/Source/shotwell/src/VideoSupport.vala" + results = _tmp0_; +#line 877 "/home/jens/Source/shotwell/src/VideoSupport.vala" + clip_duration = -1.0; +#line 878 "/home/jens/Source/shotwell/src/VideoSupport.vala" + preview_frame = NULL; +#line 880 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 880 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 880 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_reader_new (_tmp2_); +#line 880 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_; +#line 880 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp2_); +#line 880 "/home/jens/Source/shotwell/src/VideoSupport.vala" + backing_file_reader = _tmp4_; +#line 8130 "VideoSupport.c" + { + gdouble _tmp5_ = 0.0; + VideoReader* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + VideoReader* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = backing_file_reader; +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = video_reader_read_clip_duration (_tmp6_, &_inner_error_); +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp7_; +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == VIDEO_ERROR) { +#line 8147 "VideoSupport.c" + goto __catch524_video_error; + } +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (backing_file_reader); +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_interpretable_results_unref0 (results); +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.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 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 8162 "VideoSupport.c" + } +#line 882 "/home/jens/Source/shotwell/src/VideoSupport.vala" + clip_duration = _tmp5_; +#line 883 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = backing_file_reader; +#line 883 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = video_reader_read_preview_frame (_tmp8_); +#line 883 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 883 "/home/jens/Source/shotwell/src/VideoSupport.vala" + preview_frame = _tmp9_; +#line 8174 "VideoSupport.c" + } + goto __finally524; + __catch524_video_error: + { + GError* e = NULL; + VideoInterpretableResults* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + VideoInterpretableResults* _tmp12_ = NULL; +#line 881 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 881 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 887 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = results; +#line 887 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = video_get_is_interpretable (self); +#line 887 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_->update_interpretable = _tmp11_; +#line 888 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = results; +#line 888 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_->is_interpretable = FALSE; +#line 890 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = results; +#line 890 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 890 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (backing_file_reader); +#line 890 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 890 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8207 "VideoSupport.c" + } + __finally524: +#line 881 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 881 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (backing_file_reader); +#line 881 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 881 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_interpretable_results_unref0 (results); +#line 881 "/home/jens/Source/shotwell/src/VideoSupport.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 881 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 881 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 8224 "VideoSupport.c" + } +#line 894 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = video_get_is_interpretable (self); +#line 894 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp13_) { +#line 8230 "VideoSupport.c" + VideoInterpretableResults* _tmp14_ = NULL; + VideoInterpretableResults* _tmp15_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = results; +#line 895 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_->update_interpretable = FALSE; +#line 896 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = results; +#line 896 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_->is_interpretable = TRUE; +#line 898 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = results; +#line 898 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (backing_file_reader); +#line 898 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 898 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8249 "VideoSupport.c" + } +#line 901 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 901 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = _tmp16_; +#line 901 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = g_file_get_basename (_tmp17_); +#line 901 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = _tmp18_; +#line 901 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_debug ("VideoSupport.vala:901: video %s has become interpretable", _tmp19_); +#line 901 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp19_); +#line 901 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp17_); +#line 8265 "VideoSupport.c" + { + VideoRow* _tmp20_ = NULL; +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = self->priv->backing_row; +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 8272 "VideoSupport.c" + { + VideoRow* _tmp21_ = NULL; + gdouble _tmp22_ = 0.0; +#line 905 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = self->priv->backing_row; +#line 905 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = clip_duration; +#line 905 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_->clip_duration = _tmp22_; +#line 8282 "VideoSupport.c" + } + __finally525: + { + VideoRow* _tmp23_ = NULL; +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = self->priv->backing_row; +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8291 "VideoSupport.c" + } +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (backing_file_reader); +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_interpretable_results_unref0 (results); +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.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 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 904 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 8307 "VideoSupport.c" + } + } +#line 908 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = results; +#line 908 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_->update_interpretable = TRUE; +#line 909 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_ = results; +#line 909 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_->is_interpretable = TRUE; +#line 910 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_ = results; +#line 910 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp27_ = preview_frame; +#line 910 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp28_ = _g_object_ref0 (_tmp27_); +#line 910 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp26_->new_thumbnail); +#line 910 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_->new_thumbnail = _tmp28_; +#line 912 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = results; +#line 912 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (backing_file_reader); +#line 912 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (preview_frame); +#line 912 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8336 "VideoSupport.c" +} + + +static void video_real_destroy (DataSource* base) { + Video * self; + VideoID video_id = {0}; + VideoID _tmp0_ = {0}; + GError * _inner_error_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 916 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (self, &_tmp0_); +#line 916 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_id = _tmp0_; +#line 918 "/home/jens/Source/shotwell/src/VideoSupport.vala" + thumbnail_cache_remove (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 8353 "VideoSupport.c" + { + VideoTable* _tmp1_ = NULL; + VideoTable* _tmp2_ = NULL; + VideoID _tmp3_ = {0}; +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = video_table_get_instance (); +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_id; +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_remove (_tmp2_, &_tmp3_, &_inner_error_); +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp2_); +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 8372 "VideoSupport.c" + goto __catch526_database_error; + } +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.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 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 921 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 8381 "VideoSupport.c" + } + } + goto __finally526; + __catch526_database_error: + { + GError* err = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 920 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 920 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 923 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 923 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp4_; +#line 923 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_error ("VideoSupport.vala:923: failed to remove video %s from video table", _tmp5_); +#line 923 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp5_); +#line 920 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 8404 "VideoSupport.c" + } + __finally526: +#line 920 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 920 "/home/jens/Source/shotwell/src/VideoSupport.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 920 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 920 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 8415 "VideoSupport.c" + } +#line 926 "/home/jens/Source/shotwell/src/VideoSupport.vala" + DATA_SOURCE_CLASS (video_parent_class)->destroy (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_VIDEO_SOURCE, VideoSource), TYPE_DATA_SOURCE, DataSource)); +#line 8419 "VideoSupport.c" +} + + +static gboolean video_real_internal_delete_backing (DataSource* base, GError** error) { + Video * self; + gboolean result = FALSE; + gboolean ret = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + GError * _inner_error_ = NULL; +#line 929 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 930 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = media_source_delete_original_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 930 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ret = _tmp0_; +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = DATA_SOURCE_CLASS (video_parent_class)->internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_VIDEO_SOURCE, VideoSource), TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp3_; +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return FALSE; +#line 8448 "VideoSupport.c" + } +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp2_) { +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = ret; +#line 8454 "VideoSupport.c" + } else { +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = FALSE; +#line 8458 "VideoSupport.c" + } +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp1_; +#line 933 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8464 "VideoSupport.c" +} + + +static void video_notify_flags_altered (Video* self, Alteration* additional_alteration) { + Alteration* alteration = NULL; + Alteration* _tmp0_ = NULL; + Alteration* _tmp1_ = NULL; + Alteration* _tmp5_ = NULL; +#line 936 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO (self)); +#line 936 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration)); +#line 937 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = alteration_new ("metadata", "flags"); +#line 937 "/home/jens/Source/shotwell/src/VideoSupport.vala" + alteration = _tmp0_; +#line 938 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = additional_alteration; +#line 938 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp1_ != NULL) { +#line 8485 "VideoSupport.c" + Alteration* _tmp2_ = NULL; + Alteration* _tmp3_ = NULL; + Alteration* _tmp4_ = NULL; +#line 939 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = alteration; +#line 939 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = additional_alteration; +#line 939 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = alteration_compress (_tmp2_, _tmp3_); +#line 939 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (alteration); +#line 939 "/home/jens/Source/shotwell/src/VideoSupport.vala" + alteration = _tmp4_; +#line 8499 "VideoSupport.c" + } +#line 941 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = alteration; +#line 941 "/home/jens/Source/shotwell/src/VideoSupport.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp5_); +#line 936 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (alteration); +#line 8507 "VideoSupport.c" +} + + +guint64 video_add_flags (Video* self, guint64 flags_to_add, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 new_flags = 0ULL; + Alteration* _tmp24_ = NULL; + GError * _inner_error_ = NULL; +#line 944 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (self), 0ULL); +#line 944 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 8520 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 8527 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; + VideoRow* _tmp5_ = NULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; + VideoRow* _tmp21_ = NULL; + guint64 _tmp22_ = 0ULL; +#line 947 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 947 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->flags; +#line 947 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = flags_to_add; +#line 947 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = media_source_internal_add_flags (_tmp2_, _tmp3_); +#line 947 "/home/jens/Source/shotwell/src/VideoSupport.vala" + new_flags = _tmp4_; +#line 948 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 948 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp5_->flags; +#line 948 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = new_flags; +#line 948 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp6_ == _tmp7_) { +#line 8556 "VideoSupport.c" + VideoRow* _tmp8_ = NULL; + guint64 _tmp9_ = 0ULL; +#line 949 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = self->priv->backing_row; +#line 949 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_->flags; +#line 949 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp9_; +#line 8565 "VideoSupport.c" + { + VideoRow* _tmp10_ = NULL; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = self->priv->backing_row; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8572 "VideoSupport.c" + } +#line 949 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8576 "VideoSupport.c" + } + { + VideoTable* _tmp11_ = NULL; + VideoTable* _tmp12_ = NULL; + VideoID _tmp13_ = {0}; + guint64 _tmp14_ = 0ULL; +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = video_table_get_instance (); +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = _tmp11_; +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (self, &_tmp13_); +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = new_flags; +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_set_flags (_tmp12_, &_tmp13_, _tmp14_, &_inner_error_); +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp12_); +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 8599 "VideoSupport.c" + goto __catch528_database_error; + } + { + VideoRow* _tmp15_ = NULL; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = self->priv->backing_row; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8608 "VideoSupport.c" + } +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.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 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 952 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0ULL; +#line 8616 "VideoSupport.c" + } + } + goto __finally528; + __catch528_database_error: + { + GError* e = NULL; + GError* _tmp16_ = NULL; + VideoRow* _tmp17_ = NULL; + guint64 _tmp18_ = 0ULL; +#line 951 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 951 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 954 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = e; +#line 954 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp16_); +#line 955 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = self->priv->backing_row; +#line 955 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = _tmp17_->flags; +#line 955 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp18_; +#line 955 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 8642 "VideoSupport.c" + { + VideoRow* _tmp19_ = NULL; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = self->priv->backing_row; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8649 "VideoSupport.c" + } +#line 955 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8653 "VideoSupport.c" + } + __finally528: +#line 951 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8658 "VideoSupport.c" + { + VideoRow* _tmp20_ = NULL; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = self->priv->backing_row; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8665 "VideoSupport.c" + } +#line 951 "/home/jens/Source/shotwell/src/VideoSupport.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 951 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 951 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0ULL; +#line 8673 "VideoSupport.c" + } +#line 958 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = self->priv->backing_row; +#line 958 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = new_flags; +#line 958 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_->flags = _tmp22_; +#line 8681 "VideoSupport.c" + } + __finally527: + { + VideoRow* _tmp23_ = NULL; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = self->priv->backing_row; +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8690 "VideoSupport.c" + } +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.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 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 946 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0ULL; +#line 8700 "VideoSupport.c" + } + } +#line 961 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = additional_alteration; +#line 961 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_notify_flags_altered (self, _tmp24_); +#line 963 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = new_flags; +#line 963 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8711 "VideoSupport.c" +} + + +guint64 video_remove_flags (Video* self, guint64 flags_to_remove, Alteration* additional_alteration) { + guint64 result = 0ULL; + guint64 new_flags = 0ULL; + Alteration* _tmp24_ = NULL; + GError * _inner_error_ = NULL; +#line 966 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (self), 0ULL); +#line 966 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail ((additional_alteration == NULL) || IS_ALTERATION (additional_alteration), 0ULL); +#line 8724 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 8731 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; + VideoRow* _tmp5_ = NULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; + VideoRow* _tmp21_ = NULL; + guint64 _tmp22_ = 0ULL; +#line 969 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 969 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->flags; +#line 969 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = flags_to_remove; +#line 969 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = media_source_internal_remove_flags (_tmp2_, _tmp3_); +#line 969 "/home/jens/Source/shotwell/src/VideoSupport.vala" + new_flags = _tmp4_; +#line 970 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 970 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp5_->flags; +#line 970 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = new_flags; +#line 970 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp6_ == _tmp7_) { +#line 8760 "VideoSupport.c" + VideoRow* _tmp8_ = NULL; + guint64 _tmp9_ = 0ULL; +#line 971 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = self->priv->backing_row; +#line 971 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_->flags; +#line 971 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp9_; +#line 8769 "VideoSupport.c" + { + VideoRow* _tmp10_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = self->priv->backing_row; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8776 "VideoSupport.c" + } +#line 971 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8780 "VideoSupport.c" + } + { + VideoTable* _tmp11_ = NULL; + VideoTable* _tmp12_ = NULL; + VideoID _tmp13_ = {0}; + guint64 _tmp14_ = 0ULL; +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = video_table_get_instance (); +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = _tmp11_; +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (self, &_tmp13_); +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = new_flags; +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_set_flags (_tmp12_, &_tmp13_, _tmp14_, &_inner_error_); +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp12_); +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 8803 "VideoSupport.c" + goto __catch530_database_error; + } + { + VideoRow* _tmp15_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = self->priv->backing_row; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8812 "VideoSupport.c" + } +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.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 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 974 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0ULL; +#line 8820 "VideoSupport.c" + } + } + goto __finally530; + __catch530_database_error: + { + GError* e = NULL; + GError* _tmp16_ = NULL; + VideoRow* _tmp17_ = NULL; + guint64 _tmp18_ = 0ULL; +#line 973 "/home/jens/Source/shotwell/src/VideoSupport.vala" + e = _inner_error_; +#line 973 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 976 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = e; +#line 976 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp16_); +#line 977 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = self->priv->backing_row; +#line 977 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = _tmp17_->flags; +#line 977 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp18_; +#line 977 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (e); +#line 8846 "VideoSupport.c" + { + VideoRow* _tmp19_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = self->priv->backing_row; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8853 "VideoSupport.c" + } +#line 977 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8857 "VideoSupport.c" + } + __finally530: +#line 973 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 8862 "VideoSupport.c" + { + VideoRow* _tmp20_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = self->priv->backing_row; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8869 "VideoSupport.c" + } +#line 973 "/home/jens/Source/shotwell/src/VideoSupport.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 973 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 973 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0ULL; +#line 8877 "VideoSupport.c" + } +#line 980 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = self->priv->backing_row; +#line 980 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = new_flags; +#line 980 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_->flags = _tmp22_; +#line 8885 "VideoSupport.c" + } + __finally529: + { + VideoRow* _tmp23_ = NULL; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = self->priv->backing_row; +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8894 "VideoSupport.c" + } +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.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 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 968 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return 0ULL; +#line 8904 "VideoSupport.c" + } + } +#line 983 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = additional_alteration; +#line 983 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_notify_flags_altered (self, _tmp24_); +#line 985 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = new_flags; +#line 985 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8915 "VideoSupport.c" +} + + +gboolean video_is_flag_set (Video* self, guint64 flag) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (self), FALSE); +#line 8924 "VideoSupport.c" + { + VideoRow* _tmp0_ = NULL; +#line 989 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->backing_row; +#line 989 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 8931 "VideoSupport.c" + { + VideoRow* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; + gboolean _tmp4_ = FALSE; +#line 990 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->priv->backing_row; +#line 990 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_->flags; +#line 990 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = flag; +#line 990 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = media_source_internal_is_flag_set (_tmp2_, _tmp3_); +#line 990 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp4_; +#line 8947 "VideoSupport.c" + { + VideoRow* _tmp5_ = NULL; +#line 989 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->priv->backing_row; +#line 989 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8954 "VideoSupport.c" + } +#line 990 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 8958 "VideoSupport.c" + } + __finally531: + { + VideoRow* _tmp6_ = NULL; +#line 989 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = self->priv->backing_row; +#line 989 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 8967 "VideoSupport.c" + } +#line 989 "/home/jens/Source/shotwell/src/VideoSupport.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 989 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 989 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return FALSE; +#line 8975 "VideoSupport.c" + } +} + + +static void video_real_set_master_file (Monitorable* base, GFile* file) { + Video * self; + gchar* new_filepath = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* old_filepath = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + Alteration* _tmp25_ = NULL; + Alteration* _tmp26_ = NULL; + GError * _inner_error_ = NULL; +#line 994 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO, Video); +#line 994 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 995 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = file; +#line 995 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 995 "/home/jens/Source/shotwell/src/VideoSupport.vala" + new_filepath = _tmp1_; +#line 996 "/home/jens/Source/shotwell/src/VideoSupport.vala" + old_filepath = NULL; +#line 9006 "VideoSupport.c" + { + { + VideoRow* _tmp2_ = NULL; +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->priv->backing_row; +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_lock (&self->priv->__lock_backing_row); +#line 9014 "VideoSupport.c" + { + VideoRow* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + VideoRow* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + VideoTable* _tmp10_ = NULL; + VideoTable* _tmp11_ = NULL; + VideoRow* _tmp12_ = NULL; + VideoID _tmp13_ = {0}; + const gchar* _tmp14_ = NULL; + VideoRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 999 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->priv->backing_row; +#line 999 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_->filepath; +#line 999 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = new_filepath; +#line 999 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (g_strcmp0 (_tmp4_, _tmp5_) == 0) { +#line 9038 "VideoSupport.c" + { + VideoRow* _tmp6_ = NULL; +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = self->priv->backing_row; +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 9045 "VideoSupport.c" + } +#line 1000 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (old_filepath); +#line 1000 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_filepath); +#line 1000 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 9053 "VideoSupport.c" + } +#line 1002 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = self->priv->backing_row; +#line 1002 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _tmp7_->filepath; +#line 1002 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 1002 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (old_filepath); +#line 1002 "/home/jens/Source/shotwell/src/VideoSupport.vala" + old_filepath = _tmp9_; +#line 1004 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = video_table_get_instance (); +#line 1004 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = _tmp10_; +#line 1004 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = self->priv->backing_row; +#line 1004 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = _tmp12_->video_id; +#line 1004 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = new_filepath; +#line 1004 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_table_set_filepath (_tmp11_, &_tmp13_, _tmp14_, &_inner_error_); +#line 1004 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp11_); +#line 1004 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9081 "VideoSupport.c" + goto __finally533; + } +#line 1005 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = self->priv->backing_row; +#line 1005 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = new_filepath; +#line 1005 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 1005 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp15_->filepath); +#line 1005 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_->filepath = _tmp17_; +#line 9094 "VideoSupport.c" + } + __finally533: + { + VideoRow* _tmp18_ = NULL; +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = self->priv->backing_row; +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_unlock (&self->priv->__lock_backing_row); +#line 9103 "VideoSupport.c" + } +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 9109 "VideoSupport.c" + goto __catch532_database_error; + } +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (old_filepath); +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_filepath); +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.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 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 998 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 9122 "VideoSupport.c" + } + } + } + goto __finally532; + __catch532_database_error: + { + GError* err = NULL; + GError* _tmp19_ = NULL; +#line 997 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 997 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 1008 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = err; +#line 1008 "/home/jens/Source/shotwell/src/VideoSupport.vala" + app_window_database_error (_tmp19_); +#line 1010 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 1010 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (old_filepath); +#line 1010 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_filepath); +#line 1010 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 9147 "VideoSupport.c" + } + __finally532: +#line 997 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 997 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (old_filepath); +#line 997 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_filepath); +#line 997 "/home/jens/Source/shotwell/src/VideoSupport.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 997 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 997 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 9162 "VideoSupport.c" + } +#line 1013 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = old_filepath; +#line 1013 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_assert (_tmp20_ != NULL, "old_filepath != null"); +#line 1014 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = old_filepath; +#line 1014 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = g_file_new_for_path (_tmp21_); +#line 1014 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = _tmp22_; +#line 1014 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = file; +#line 1014 "/home/jens/Source/shotwell/src/VideoSupport.vala" + media_source_notify_master_replaced (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource), _tmp23_, _tmp24_); +#line 1014 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp23_); +#line 1016 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_ = alteration_new_from_list ("backing:master,metadata:name"); +#line 1016 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_ = _tmp25_; +#line 1016 "/home/jens/Source/shotwell/src/VideoSupport.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp26_); +#line 1016 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _alteration_unref0 (_tmp26_); +#line 994 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (old_filepath); +#line 994 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (new_filepath); +#line 9192 "VideoSupport.c" +} + + +VideoMetadata* video_read_metadata (Video* self, GError** error) { + VideoMetadata* result = NULL; + VideoMetadata* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + VideoReader* _tmp3_ = NULL; + VideoReader* _tmp4_ = NULL; + VideoMetadata* _tmp5_ = NULL; + VideoMetadata* _tmp6_ = NULL; + VideoMetadata* _tmp7_ = NULL; + GError * _inner_error_ = NULL; +#line 1019 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (self), NULL); +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = _tmp1_; +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_reader_new (_tmp2_); +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_; +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = video_reader_read_metadata (_tmp4_, &_inner_error_); +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _tmp5_; +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_reader_unref0 (_tmp4_); +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp2_); +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = _tmp6_; +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_propagate_error (error, _inner_error_); +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 9233 "VideoSupport.c" + } +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = _tmp0_; +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = NULL; +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp7_; +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _media_metadata_unref0 (_tmp0_); +#line 1020 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9245 "VideoSupport.c" +} + + +VideoInterpretableResults* video_interpretable_results_construct (GType object_type, Video* video) { + VideoInterpretableResults* self = NULL; + Video* _tmp0_ = NULL; + Video* _tmp1_ = NULL; +#line 320 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO (video), NULL); +#line 320 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = (VideoInterpretableResults*) g_type_create_instance (object_type); +#line 321 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video; +#line 321 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 321 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->video); +#line 321 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->video = _tmp1_; +#line 320 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self; +#line 9267 "VideoSupport.c" +} + + +VideoInterpretableResults* video_interpretable_results_new (Video* video) { +#line 320 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return video_interpretable_results_construct (VIDEO_TYPE_INTERPRETABLE_RESULTS, video); +#line 9274 "VideoSupport.c" +} + + +void video_interpretable_results_foreground_finish (VideoInterpretableResults* self) { + gboolean _tmp0_ = FALSE; + GdkPixbuf* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (VIDEO_IS_INTERPRETABLE_RESULTS (self)); +#line 325 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->update_interpretable; +#line 325 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_) { +#line 9288 "VideoSupport.c" + Video* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 326 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = self->video; +#line 326 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->is_interpretable; +#line 326 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_set_is_interpretable (_tmp1_, _tmp2_); +#line 9297 "VideoSupport.c" + } +#line 328 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = self->new_thumbnail; +#line 328 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp3_ != NULL) { +#line 9303 "VideoSupport.c" + { + Video* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + Video* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; + Video* _tmp8_ = NULL; +#line 330 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = self->video; +#line 330 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = self->new_thumbnail; +#line 330 "/home/jens/Source/shotwell/src/VideoSupport.vala" + thumbnail_cache_replace (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), THUMBNAIL_CACHE_SIZE_BIG, _tmp5_, &_inner_error_); +#line 330 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9318 "VideoSupport.c" + goto __catch534_g_error; + } +#line 331 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = self->video; +#line 331 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = self->new_thumbnail; +#line 331 "/home/jens/Source/shotwell/src/VideoSupport.vala" + thumbnail_cache_replace (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), THUMBNAIL_CACHE_SIZE_MEDIUM, _tmp7_, &_inner_error_); +#line 331 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 9329 "VideoSupport.c" + goto __catch534_g_error; + } +#line 333 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = self->video; +#line 333 "/home/jens/Source/shotwell/src/VideoSupport.vala" + thumbnail_source_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 9336 "VideoSupport.c" + } + goto __finally534; + __catch534_g_error: + { + GError* err = NULL; + Video* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 329 "/home/jens/Source/shotwell/src/VideoSupport.vala" + err = _inner_error_; +#line 329 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _inner_error_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = self->video; +#line 335 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject)); +#line 335 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = _tmp10_; +#line 335 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = err; +#line 335 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = _tmp12_->message; +#line 335 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_message ("VideoSupport.vala:335: Unable to update video thumbnails for %s: %s", _tmp11_, _tmp13_); +#line 335 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_free0 (_tmp11_); +#line 329 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_error_free0 (err); +#line 9367 "VideoSupport.c" + } + __finally534: +#line 329 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 329 "/home/jens/Source/shotwell/src/VideoSupport.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 329 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_clear_error (&_inner_error_); +#line 329 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 9378 "VideoSupport.c" + } + } +} + + +static void video_value_interpretable_results_init (GValue* value) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 9387 "VideoSupport.c" +} + + +static void video_value_interpretable_results_free_value (GValue* value) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (value->data[0].v_pointer) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpretable_results_unref (value->data[0].v_pointer); +#line 9396 "VideoSupport.c" + } +} + + +static void video_value_interpretable_results_copy_value (const GValue* src_value, GValue* dest_value) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (src_value->data[0].v_pointer) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dest_value->data[0].v_pointer = video_interpretable_results_ref (src_value->data[0].v_pointer); +#line 9406 "VideoSupport.c" + } else { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dest_value->data[0].v_pointer = NULL; +#line 9410 "VideoSupport.c" + } +} + + +static gpointer video_value_interpretable_results_peek_pointer (const GValue* value) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return value->data[0].v_pointer; +#line 9418 "VideoSupport.c" +} + + +static gchar* video_value_interpretable_results_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (collect_values[0].v_pointer) { +#line 9425 "VideoSupport.c" + VideoInterpretableResults* object; + object = collect_values[0].v_pointer; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (object->parent_instance.g_class == NULL) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9432 "VideoSupport.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 9436 "VideoSupport.c" + } +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = video_interpretable_results_ref (object); +#line 9440 "VideoSupport.c" + } else { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 9444 "VideoSupport.c" + } +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 9448 "VideoSupport.c" +} + + +static gchar* video_value_interpretable_results_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + VideoInterpretableResults** object_p; + object_p = collect_values[0].v_pointer; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!object_p) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 9459 "VideoSupport.c" + } +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!value->data[0].v_pointer) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = NULL; +#line 9465 "VideoSupport.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = value->data[0].v_pointer; +#line 9469 "VideoSupport.c" + } else { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *object_p = video_interpretable_results_ref (value->data[0].v_pointer); +#line 9473 "VideoSupport.c" + } +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return NULL; +#line 9477 "VideoSupport.c" +} + + +GParamSpec* video_param_spec_interpretable_results (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + VideoParamSpecInterpretableResults* spec; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (g_type_is_a (object_type, VIDEO_TYPE_INTERPRETABLE_RESULTS), NULL); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return G_PARAM_SPEC (spec); +#line 9491 "VideoSupport.c" +} + + +gpointer video_value_get_interpretable_results (const GValue* value) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VIDEO_TYPE_INTERPRETABLE_RESULTS), NULL); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return value->data[0].v_pointer; +#line 9500 "VideoSupport.c" +} + + +void video_value_set_interpretable_results (GValue* value, gpointer v_object) { + VideoInterpretableResults* old; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VIDEO_TYPE_INTERPRETABLE_RESULTS)); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + old = value->data[0].v_pointer; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (v_object) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, VIDEO_TYPE_INTERPRETABLE_RESULTS)); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = v_object; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpretable_results_ref (value->data[0].v_pointer); +#line 9520 "VideoSupport.c" + } else { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 9524 "VideoSupport.c" + } +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (old) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpretable_results_unref (old); +#line 9530 "VideoSupport.c" + } +} + + +void video_value_take_interpretable_results (GValue* value, gpointer v_object) { + VideoInterpretableResults* old; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VIDEO_TYPE_INTERPRETABLE_RESULTS)); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + old = value->data[0].v_pointer; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (v_object) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, VIDEO_TYPE_INTERPRETABLE_RESULTS)); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = v_object; +#line 9549 "VideoSupport.c" + } else { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + value->data[0].v_pointer = NULL; +#line 9553 "VideoSupport.c" + } +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (old) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpretable_results_unref (old); +#line 9559 "VideoSupport.c" + } +} + + +static void video_interpretable_results_class_init (VideoInterpretableResultsClass * klass) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_interpretable_results_parent_class = g_type_class_peek_parent (klass); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((VideoInterpretableResultsClass *) klass)->finalize = video_interpretable_results_finalize; +#line 9569 "VideoSupport.c" +} + + +static void video_interpretable_results_instance_init (VideoInterpretableResults * self) { +#line 316 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->update_interpretable = FALSE; +#line 317 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->is_interpretable = FALSE; +#line 318 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->new_thumbnail = NULL; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->ref_count = 1; +#line 9582 "VideoSupport.c" +} + + +static void video_interpretable_results_finalize (VideoInterpretableResults* obj) { + VideoInterpretableResults * self; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIDEO_TYPE_INTERPRETABLE_RESULTS, VideoInterpretableResults); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_signal_handlers_destroy (self); +#line 315 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->video); +#line 318 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->new_thumbnail); +#line 9596 "VideoSupport.c" +} + + +GType video_interpretable_results_get_type (void) { + static volatile gsize video_interpretable_results_type_id__volatile = 0; + if (g_once_init_enter (&video_interpretable_results_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { video_value_interpretable_results_init, video_value_interpretable_results_free_value, video_value_interpretable_results_copy_value, video_value_interpretable_results_peek_pointer, "p", video_value_interpretable_results_collect_value, "p", video_value_interpretable_results_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (VideoInterpretableResultsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_interpretable_results_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoInterpretableResults), 0, (GInstanceInitFunc) video_interpretable_results_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType video_interpretable_results_type_id; + video_interpretable_results_type_id = g_type_register_fundamental (g_type_fundamental_next (), "VideoInterpretableResults", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&video_interpretable_results_type_id__volatile, video_interpretable_results_type_id); + } + return video_interpretable_results_type_id__volatile; +} + + +gpointer video_interpretable_results_ref (gpointer instance) { + VideoInterpretableResults* self; + self = instance; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_atomic_int_inc (&self->ref_count); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return instance; +#line 9621 "VideoSupport.c" +} + + +void video_interpretable_results_unref (gpointer instance) { + VideoInterpretableResults* self; + self = instance; +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + VIDEO_INTERPRETABLE_RESULTS_GET_CLASS (self)->finalize (self); +#line 314 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 9634 "VideoSupport.c" + } +} + + +static void video_class_init (VideoClass * klass) { +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_parent_class = g_type_class_peek_parent (klass); +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_type_class_add_private (klass, sizeof (VideoPrivate)); +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((DataSourceClass *) klass)->commit_backlinks = video_real_commit_backlinks; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->set_event_id = video_real_set_event_id; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_backing_files_state = video_real_get_backing_files_state; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((ThumbnailSourceClass *) klass)->get_thumbnail = video_real_get_thumbnail; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_master_md5 = video_real_get_master_md5; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_preview_pixbuf = video_real_get_preview_pixbuf; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((ThumbnailSourceClass *) klass)->create_thumbnail = video_real_create_thumbnail; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((DataSourceClass *) klass)->get_typename = video_real_get_typename; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((DataSourceClass *) klass)->get_instance_id = video_real_get_instance_id; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_import_id = video_real_get_import_id; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((ThumbnailSourceClass *) klass)->get_preferred_thumbnail_format = video_real_get_preferred_thumbnail_format; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_title = video_real_get_title; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->set_title = video_real_set_title; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_comment = video_real_get_comment; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->set_comment = video_real_set_comment; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_rating = video_real_get_rating; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->set_rating = video_real_set_rating; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->increase_rating = video_real_increase_rating; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->decrease_rating = video_real_decrease_rating; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->is_trashed = video_real_is_trashed; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->is_offline = video_real_is_offline; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->mark_offline = video_real_mark_offline; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->mark_online = video_real_mark_online; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->trash = video_real_trash; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->untrash = video_real_untrash; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_event_id = video_real_get_event_id; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((DataObjectClass *) klass)->to_string = video_real_to_string; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_exposure_time = video_real_get_exposure_time; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_dimensions = video_real_get_dimensions; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_filesize = video_real_get_filesize; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_master_filesize = video_real_get_master_filesize; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_timestamp = video_real_get_timestamp; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_file = video_real_get_file; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceClass *) klass)->get_master_file = video_real_get_master_file; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((DataSourceClass *) klass)->destroy = video_real_destroy; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((DataSourceClass *) klass)->internal_delete_backing = video_real_internal_delete_backing; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + G_OBJECT_CLASS (klass)->finalize = video_finalize; +#line 9718 "VideoSupport.c" +} + + +static void video_flaggable_interface_init (FlaggableIface * iface) { +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_flaggable_parent_iface = g_type_interface_peek_parent (iface); +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->is_flagged = (gboolean (*)(Flaggable*)) video_real_is_flagged; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->mark_flagged = (void (*)(Flaggable*)) video_real_mark_flagged; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->mark_unflagged = (void (*)(Flaggable*)) video_real_mark_unflagged; +#line 9731 "VideoSupport.c" +} + + +static void video_monitorable_interface_init (MonitorableIface * iface) { +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_monitorable_parent_iface = g_type_interface_peek_parent (iface); +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->is_offline = (gboolean (*)(Monitorable*)) video_real_is_offline; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->mark_offline = (void (*)(Monitorable*)) video_real_mark_offline; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->mark_online = (void (*)(Monitorable*)) video_real_mark_online; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->set_master_timestamp = (void (*)(Monitorable*, GFileInfo*)) video_real_set_master_timestamp; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->set_master_file = (void (*)(Monitorable*, GFile*)) video_real_set_master_file; +#line 9748 "VideoSupport.c" +} + + +static void video_dateable_interface_init (DateableIface * iface) { +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_dateable_parent_iface = g_type_interface_peek_parent (iface); +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->get_exposure_time = (time_t (*)(Dateable*)) video_real_get_exposure_time; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + iface->set_exposure_time = (void (*)(Dateable*, time_t)) video_real_set_exposure_time; +#line 9759 "VideoSupport.c" +} + + +static void video_instance_init (Video * self) { +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv = VIDEO_GET_PRIVATE (self); +#line 348 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_init (&self->priv->__lock_backing_row); +#line 9768 "VideoSupport.c" +} + + +static void video_finalize (GObject* obj) { + Video * self; +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO, Video); +#line 348 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_rec_mutex_clear (&self->priv->__lock_backing_row); +#line 348 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_row_unref0 (self->priv->backing_row); +#line 307 "/home/jens/Source/shotwell/src/VideoSupport.vala" + G_OBJECT_CLASS (video_parent_class)->finalize (obj); +#line 9782 "VideoSupport.c" +} + + +GType video_get_type (void) { + static volatile gsize video_type_id__volatile = 0; + if (g_once_init_enter (&video_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Video), 0, (GInstanceInitFunc) video_instance_init, NULL }; + static const GInterfaceInfo flaggable_info = { (GInterfaceInitFunc) video_flaggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo monitorable_info = { (GInterfaceInitFunc) video_monitorable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo dateable_info = { (GInterfaceInitFunc) video_dateable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType video_type_id; + video_type_id = g_type_register_static (TYPE_VIDEO_SOURCE, "Video", &g_define_type_info, 0); + g_type_add_interface_static (video_type_id, TYPE_FLAGGABLE, &flaggable_info); + g_type_add_interface_static (video_type_id, TYPE_MONITORABLE, &monitorable_info); + g_type_add_interface_static (video_type_id, TYPE_DATEABLE, &dateable_info); + g_once_init_leave (&video_type_id__volatile, video_type_id); + } + return video_type_id__volatile; +} + + +GType video_source_collection_state_get_type (void) { + static volatile gsize video_source_collection_state_type_id__volatile = 0; + if (g_once_init_enter (&video_source_collection_state_type_id__volatile)) { + static const GEnumValue values[] = {{VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN, "VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN", "unknown"}, {VIDEO_SOURCE_COLLECTION_STATE_ONLINE, "VIDEO_SOURCE_COLLECTION_STATE_ONLINE", "online"}, {VIDEO_SOURCE_COLLECTION_STATE_OFFLINE, "VIDEO_SOURCE_COLLECTION_STATE_OFFLINE", "offline"}, {VIDEO_SOURCE_COLLECTION_STATE_TRASH, "VIDEO_SOURCE_COLLECTION_STATE_TRASH", "trash"}, {0, NULL, NULL}}; + GType video_source_collection_state_type_id; + video_source_collection_state_type_id = g_enum_register_static ("VideoSourceCollectionState", values); + g_once_init_leave (&video_source_collection_state_type_id__volatile, video_source_collection_state_type_id); + } + return video_source_collection_state_type_id__volatile; +} + + +static gint _uint64_compare_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = uint64_compare ((guint64*) a, (guint64*) b); +#line 1042 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9821 "VideoSupport.c" +} + + +static guint64* _uint64_dup (guint64* self) { + guint64* dup; +#line 1042 "/home/jens/Source/shotwell/src/VideoSupport.vala" + dup = g_new0 (guint64, 1); +#line 1042 "/home/jens/Source/shotwell/src/VideoSupport.vala" + memcpy (dup, self, sizeof (guint64)); +#line 1042 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return dup; +#line 9833 "VideoSupport.c" +} + + +static gint64 _video_source_collection_get_video_key_get_source_database_key (DataSource* source, gpointer self) { + gint64 result; + result = video_source_collection_get_video_key (source); +#line 1046 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9842 "VideoSupport.c" +} + + +static void _video_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 1048 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_source_collection_on_trashcan_contents_altered ((VideoSourceCollection*) self, added, removed); +#line 9849 "VideoSupport.c" +} + + +static void _video_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered (SourceHoldingTank* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 1049 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_source_collection_on_offline_contents_altered ((VideoSourceCollection*) self, added, removed); +#line 9856 "VideoSupport.c" +} + + +VideoSourceCollection* video_source_collection_construct (GType object_type) { + VideoSourceCollection* self = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; + MediaSourceHoldingTank* _tmp1_ = NULL; + MediaSourceHoldingTank* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; +#line 1046 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = (VideoSourceCollection*) media_source_collection_construct (object_type, "VideoSourceCollection", _video_source_collection_get_video_key_get_source_database_key, NULL); +#line 1048 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 1048 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 1048 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), "contents-altered", (GCallback) _video_source_collection_on_trashcan_contents_altered_source_holding_tank_contents_altered, self); +#line 1048 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _source_holding_tank_unref0 (_tmp1_); +#line 1049 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 1049 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 1049 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), "contents-altered", (GCallback) _video_source_collection_on_offline_contents_altered_source_holding_tank_contents_altered, self); +#line 1049 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _source_holding_tank_unref0 (_tmp3_); +#line 1045 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return self; +#line 9886 "VideoSupport.c" +} + + +VideoSourceCollection* video_source_collection_new (void) { +#line 1045 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return video_source_collection_construct (TYPE_VIDEO_SOURCE_COLLECTION); +#line 9893 "VideoSupport.c" +} + + +static gboolean _video_source_collection_is_video_trashed_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self) { + gboolean result; + result = video_source_collection_is_video_trashed (source); +#line 1053 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9902 "VideoSupport.c" +} + + +static MediaSourceHoldingTank* video_source_collection_real_create_trashcan (MediaSourceCollection* base) { + VideoSourceCollection * self; + MediaSourceHoldingTank* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; +#line 1052 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1053 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = media_source_holding_tank_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _video_source_collection_is_video_trashed_source_holding_tank_check_to_keep, NULL, _video_source_collection_get_video_key_get_source_database_key, NULL); +#line 1053 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 1053 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9918 "VideoSupport.c" +} + + +static gboolean _video_source_collection_is_video_offline_source_holding_tank_check_to_keep (DataSource* source, Alteration* alteration, gpointer self) { + gboolean result; + result = video_source_collection_is_video_offline (source); +#line 1057 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9927 "VideoSupport.c" +} + + +static MediaSourceHoldingTank* video_source_collection_real_create_offline_bin (MediaSourceCollection* base) { + VideoSourceCollection * self; + MediaSourceHoldingTank* result = NULL; + MediaSourceHoldingTank* _tmp0_ = NULL; +#line 1056 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1057 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = media_source_holding_tank_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _video_source_collection_is_video_offline_source_holding_tank_check_to_keep, NULL, _video_source_collection_get_video_key_get_source_database_key, NULL); +#line 1057 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 1057 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9943 "VideoSupport.c" +} + + +static MediaMonitor* video_source_collection_real_create_media_monitor (MediaSourceCollection* base, Workers* workers, GCancellable* cancellable) { + VideoSourceCollection * self; + MediaMonitor* result = NULL; + GCancellable* _tmp0_ = NULL; + VideoMonitor* _tmp1_ = NULL; +#line 1060 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1060 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_WORKERS (workers), NULL); +#line 1060 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), NULL); +#line 1061 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = cancellable; +#line 1061 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = video_monitor_new (_tmp0_); +#line 1061 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_MONITOR, MediaMonitor); +#line 1061 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9966 "VideoSupport.c" +} + + +static gboolean video_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source) { + VideoSourceCollection * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 1064 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1064 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 1065 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = source; +#line 1065 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_VIDEO); +#line 1065 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 9984 "VideoSupport.c" +} + + +static gchar* video_source_collection_real_get_typename (MediaSourceCollection* base) { + VideoSourceCollection * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1069 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = g_strdup (VIDEO_TYPENAME); +#line 1069 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp0_; +#line 1069 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10000 "VideoSupport.c" +} + + +static gboolean video_source_collection_real_is_file_recognized (MediaSourceCollection* base, GFile* file) { + VideoSourceCollection * self; + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 1072 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1072 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 1073 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = file; +#line 1073 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = video_reader_is_supported_video_file (_tmp0_); +#line 1073 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp1_; +#line 1073 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10021 "VideoSupport.c" +} + + +static void video_source_collection_on_trashcan_contents_altered (VideoSourceCollection* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 1076 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO_SOURCE_COLLECTION (self)); +#line 1076 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 1076 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 1078 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = added; +#line 1078 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = removed; +#line 1078 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "trashcan-contents-altered", G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 10040 "VideoSupport.c" +} + + +static void video_source_collection_on_offline_contents_altered (VideoSourceCollection* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 1082 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO_SOURCE_COLLECTION (self)); +#line 1082 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 1082 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 1084 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = added; +#line 1084 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = removed; +#line 1084 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "offline-contents-altered", G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 10059 "VideoSupport.c" +} + + +static MediaSource* video_source_collection_real_fetch_by_numeric_id (MediaSourceCollection* base, gint64 numeric_id) { + VideoSourceCollection * self; + MediaSource* result = NULL; + gint64 _tmp0_ = 0LL; + VideoID _tmp1_ = {0}; + Video* _tmp2_ = NULL; +#line 1088 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1089 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = numeric_id; +#line 1089 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_id_init (&_tmp1_, _tmp0_); +#line 1089 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = video_source_collection_fetch (self, &_tmp1_); +#line 1089 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource); +#line 1089 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10081 "VideoSupport.c" +} + + +gint64 video_source_collection_get_video_key (DataSource* source) { + gint64 result = 0LL; + Video* video = NULL; + DataSource* _tmp0_ = NULL; + Video* _tmp1_ = NULL; + VideoID video_id = {0}; + VideoID _tmp2_ = {0}; + VideoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; +#line 1092 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), 0LL); +#line 1093 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = source; +#line 1093 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIDEO, Video)); +#line 1093 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = _tmp1_; +#line 1094 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (video, &_tmp2_); +#line 1094 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_id = _tmp2_; +#line 1096 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_id; +#line 1096 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_.id; +#line 1096 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp4_; +#line 1096 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 1096 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10116 "VideoSupport.c" +} + + +gboolean video_source_collection_is_video_trashed (DataSource* source) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 1099 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 1100 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = source; +#line 1100 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_is_trashed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIDEO, Video), TYPE_MEDIA_SOURCE, MediaSource)); +#line 1100 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp1_; +#line 1100 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10134 "VideoSupport.c" +} + + +gboolean video_source_collection_is_video_offline (DataSource* source) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 1103 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 1104 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = source; +#line 1104 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_is_offline (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIDEO, Video), TYPE_MEDIA_SOURCE, MediaSource)); +#line 1104 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp1_; +#line 1104 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10152 "VideoSupport.c" +} + + +Video* video_source_collection_fetch (VideoSourceCollection* self, VideoID* video_id) { + Video* result = NULL; + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + DataSource* _tmp2_ = NULL; +#line 1107 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_SOURCE_COLLECTION (self), NULL); +#line 1107 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (video_id != NULL, NULL); +#line 1108 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = *video_id; +#line 1108 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_.id; +#line 1108 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = database_source_collection_fetch_by_key (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), _tmp1_); +#line 1108 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_VIDEO, Video); +#line 1108 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10175 "VideoSupport.c" +} + + +static GeeCollection* video_source_collection_real_get_event_source_ids (MediaSourceCollection* base, EventID* event_id) { + VideoSourceCollection * self; + GeeCollection* result = NULL; + VideoTable* _tmp0_ = NULL; + VideoTable* _tmp1_ = NULL; + EventID _tmp2_ = {0}; + GeeArrayList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 1111 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1111 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 1112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video_table_get_instance (); +#line 1112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 1112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = *event_id; +#line 1112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_table_get_event_source_ids (_tmp1_, &_tmp2_); +#line 1112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _database_table_unref0 (_tmp1_); +#line 1112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp4_; +#line 1112 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10207 "VideoSupport.c" +} + + +Video* video_source_collection_get_state_by_file (VideoSourceCollection* self, GFile* file, VideoSourceCollectionState* state) { + VideoSourceCollectionState _vala_state = 0; + Video* result = NULL; + Video* video = NULL; + GFile* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + Video* _tmp2_ = NULL; + MediaSourceHoldingTank* _tmp3_ = NULL; + MediaSourceHoldingTank* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; + Video* _tmp7_ = NULL; + MediaSourceHoldingTank* _tmp8_ = NULL; + MediaSourceHoldingTank* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + MediaSource* _tmp11_ = NULL; + Video* _tmp12_ = NULL; +#line 1115 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_SOURCE_COLLECTION (self), NULL); +#line 1115 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 1116 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = file; +#line 1116 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_collection_fetch_by_master_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), _tmp0_); +#line 1116 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_VIDEO, Video); +#line 1117 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = video; +#line 1117 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp2_ != NULL) { +#line 1118 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_state = VIDEO_SOURCE_COLLECTION_STATE_ONLINE; +#line 1120 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = video; +#line 1120 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (state) { +#line 1120 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *state = _vala_state; +#line 10250 "VideoSupport.c" + } +#line 1120 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10254 "VideoSupport.c" + } +#line 1123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = media_source_collection_get_trashcan (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 1123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _tmp3_; +#line 1123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = file; +#line 1123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = media_source_holding_tank_fetch_by_master_file (_tmp4_, _tmp5_); +#line 1123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 1123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_VIDEO, Video); +#line 1123 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _source_holding_tank_unref0 (_tmp4_); +#line 1124 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = video; +#line 1124 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp7_ != NULL) { +#line 1125 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_state = VIDEO_SOURCE_COLLECTION_STATE_TRASH; +#line 1127 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = video; +#line 1127 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (state) { +#line 1127 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *state = _vala_state; +#line 10282 "VideoSupport.c" + } +#line 1127 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10286 "VideoSupport.c" + } +#line 1130 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = media_source_collection_get_offline_bin (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 1130 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = _tmp8_; +#line 1130 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = file; +#line 1130 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = media_source_holding_tank_fetch_by_master_file (_tmp9_, _tmp10_); +#line 1130 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 1130 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_VIDEO, Video); +#line 1130 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _source_holding_tank_unref0 (_tmp9_); +#line 1131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = video; +#line 1131 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp12_ != NULL) { +#line 1132 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_state = VIDEO_SOURCE_COLLECTION_STATE_OFFLINE; +#line 1134 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = video; +#line 1134 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (state) { +#line 1134 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *state = _vala_state; +#line 10314 "VideoSupport.c" + } +#line 1134 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10318 "VideoSupport.c" + } +#line 1137 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _vala_state = VIDEO_SOURCE_COLLECTION_STATE_UNKNOWN; +#line 1139 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = NULL; +#line 1139 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 1139 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (state) { +#line 1139 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *state = _vala_state; +#line 10330 "VideoSupport.c" + } +#line 1139 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10334 "VideoSupport.c" +} + + +static void video_source_collection_compare_backing (VideoSourceCollection* self, Video* video, GFileInfo* info, GeeCollection* matching_master) { + Video* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + GFileInfo* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; + Video* _tmp4_ = NULL; + time_t _tmp5_ = 0; + GFileInfo* _tmp6_ = NULL; + GTimeVal _tmp7_ = {0}; + glong _tmp8_ = 0L; +#line 1142 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO_SOURCE_COLLECTION (self)); +#line 1142 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO (video)); +#line 1142 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 1142 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (GEE_IS_COLLECTION (matching_master)); +#line 1143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = video; +#line 1143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = info; +#line 1143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = g_file_info_get_size (_tmp2_); +#line 1143 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp1_ != ((guint64) _tmp3_)) { +#line 1144 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 10368 "VideoSupport.c" + } +#line 1146 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = video; +#line 1146 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = media_source_get_timestamp (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1146 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = info; +#line 1146 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_file_info_get_modification_time (_tmp6_, &_tmp7_); +#line 1146 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _tmp7_.tv_sec; +#line 1146 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp5_ == ((time_t) _tmp8_)) { +#line 10382 "VideoSupport.c" + GeeCollection* _tmp9_ = NULL; + Video* _tmp10_ = NULL; +#line 1147 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = matching_master; +#line 1147 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = video; +#line 1147 "/home/jens/Source/shotwell/src/VideoSupport.vala" + gee_collection_add (_tmp9_, _tmp10_); +#line 10391 "VideoSupport.c" + } +} + + +void video_source_collection_fetch_by_matching_backing (VideoSourceCollection* self, GFileInfo* info, GeeCollection* matching_master) { +#line 1150 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO_SOURCE_COLLECTION (self)); +#line 1150 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 1150 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (GEE_IS_COLLECTION (matching_master)); +#line 10403 "VideoSupport.c" + { + GeeIterator* _object_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = _tmp0_; +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp1_); +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _object_it = _tmp3_; +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + while (TRUE) { +#line 10424 "VideoSupport.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + DataObject* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = _object_it; +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp5_) { +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + break; +#line 10441 "VideoSupport.c" + } +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _object_it; +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + object = (DataObject*) _tmp7_; +#line 1152 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = object; +#line 1152 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = info; +#line 1152 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = matching_master; +#line 1152 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_source_collection_compare_backing (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_VIDEO, Video), _tmp9_, _tmp10_); +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (object); +#line 10459 "VideoSupport.c" + } +#line 1151 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_object_it); +#line 10463 "VideoSupport.c" + } + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = media_source_collection_get_offline_bin_contents (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = _tmp11_; +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = _tmp13_; +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp12_); +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _media_it = _tmp14_; +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + while (TRUE) { +#line 10485 "VideoSupport.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + MediaSource* _tmp19_ = NULL; + GFileInfo* _tmp20_ = NULL; + GeeCollection* _tmp21_ = NULL; +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = _media_it; +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp16_) { +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + break; +#line 10502 "VideoSupport.c" + } +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = _media_it; +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + media = (MediaSource*) _tmp18_; +#line 1155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = media; +#line 1155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = info; +#line 1155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = matching_master; +#line 1155 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_source_collection_compare_backing (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_VIDEO, Video), _tmp20_, _tmp21_); +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (media); +#line 10520 "VideoSupport.c" + } +#line 1154 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_media_it); +#line 10524 "VideoSupport.c" + } +} + + +static void video_source_collection_real_notify_contents_altered (DataCollection* base, GeeIterable* added, GeeIterable* removed) { + VideoSourceCollection * self; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp13_ = NULL; + GeeIterable* _tmp26_ = NULL; + GeeIterable* _tmp27_ = NULL; +#line 1158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 1158 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 1160 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = added; +#line 1160 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_ != NULL) { +#line 10545 "VideoSupport.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = added; +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _object_it = _tmp2_; +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + while (TRUE) { +#line 10558 "VideoSupport.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + Video* video = NULL; + DataObject* _tmp7_ = NULL; + Video* _tmp8_ = NULL; + GeeMultiMap* _tmp9_ = NULL; + Video* _tmp10_ = NULL; + guint64 _tmp11_ = 0ULL; + Video* _tmp12_ = NULL; +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _object_it; +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp4_) { +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + break; +#line 10579 "VideoSupport.c" + } +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _object_it; +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + object = (DataObject*) _tmp6_; +#line 1162 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = object; +#line 1162 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_VIDEO, Video)); +#line 1162 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = _tmp8_; +#line 1164 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = self->priv->filesize_to_video; +#line 1164 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = video; +#line 1164 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = media_source_get_master_filesize (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1164 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = video; +#line 1164 "/home/jens/Source/shotwell/src/VideoSupport.vala" + gee_multi_map_set (_tmp9_, &_tmp11_, _tmp12_); +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (object); +#line 10607 "VideoSupport.c" + } +#line 1161 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_object_it); +#line 10611 "VideoSupport.c" + } + } +#line 1168 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = removed; +#line 1168 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp13_ != NULL) { +#line 10618 "VideoSupport.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = removed; +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = gee_iterable_iterator (_tmp14_); +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _object_it = _tmp15_; +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + while (TRUE) { +#line 10631 "VideoSupport.c" + GeeIterator* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + Video* video = NULL; + DataObject* _tmp20_ = NULL; + Video* _tmp21_ = NULL; + GeeMultiMap* _tmp22_ = NULL; + Video* _tmp23_ = NULL; + guint64 _tmp24_ = 0ULL; + Video* _tmp25_ = NULL; +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = _object_it; +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = gee_iterator_next (_tmp16_); +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp17_) { +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + break; +#line 10652 "VideoSupport.c" + } +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp18_ = _object_it; +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp19_ = gee_iterator_get (_tmp18_); +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + object = (DataObject*) _tmp19_; +#line 1170 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp20_ = object; +#line 1170 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_VIDEO, Video)); +#line 1170 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = _tmp21_; +#line 1172 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp22_ = self->priv->filesize_to_video; +#line 1172 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp23_ = video; +#line 1172 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp24_ = media_source_get_master_filesize (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1172 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp25_ = video; +#line 1172 "/home/jens/Source/shotwell/src/VideoSupport.vala" + gee_multi_map_remove (_tmp22_, &_tmp24_, _tmp25_); +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (object); +#line 10680 "VideoSupport.c" + } +#line 1169 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_object_it); +#line 10684 "VideoSupport.c" + } + } +#line 1176 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp26_ = added; +#line 1176 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp27_ = removed; +#line 1176 "/home/jens/Source/shotwell/src/VideoSupport.vala" + DATA_COLLECTION_CLASS (video_source_collection_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp26_, _tmp27_); +#line 10693 "VideoSupport.c" +} + + +void video_source_collection_get_basename_filesize_duplicate (VideoSourceCollection* self, const gchar* basename, guint64 filesize, VideoID* result) { + VideoID _tmp19_ = {0}; +#line 1179 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (IS_VIDEO_SOURCE_COLLECTION (self)); +#line 1179 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_if_fail (basename != NULL); +#line 10703 "VideoSupport.c" + { + GeeIterator* _video_it = NULL; + GeeMultiMap* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->filesize_to_video; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = filesize; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = gee_multi_map_get (_tmp0_, &_tmp1_); +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = _tmp2_; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp5_ = _tmp4_; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp3_); +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _video_it = _tmp5_; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + while (TRUE) { +#line 10730 "VideoSupport.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Video* video = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Video* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + gboolean _tmp16_ = FALSE; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp6_ = _video_it; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (!_tmp7_) { +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + break; +#line 10751 "VideoSupport.c" + } +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp8_ = _video_it; +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video = (Video*) _tmp9_; +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp10_ = video; +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp11_ = media_source_get_master_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp12_ = _tmp11_; +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp13_ = g_file_get_basename (_tmp12_); +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp14_ = basename; +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp15_ = utf8_ci_compare (_tmp13_, _tmp14_); +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp16_ = _tmp15_ == 0; +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_tmp12_); +#line 1181 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp16_) { +#line 10777 "VideoSupport.c" + Video* _tmp17_ = NULL; + VideoID _tmp18_ = {0}; +#line 1182 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp17_ = video; +#line 1182 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_get_video_id (_tmp17_, &_tmp18_); +#line 1182 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *result = _tmp18_; +#line 1182 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 1182 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_video_it); +#line 1182 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 10792 "VideoSupport.c" + } +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (video); +#line 10796 "VideoSupport.c" + } +#line 1180 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (_video_it); +#line 10800 "VideoSupport.c" + } +#line 1185 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_id_init (&_tmp19_, VIDEO_ID_INVALID); +#line 1185 "/home/jens/Source/shotwell/src/VideoSupport.vala" + *result = _tmp19_; +#line 1185 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return; +#line 10808 "VideoSupport.c" +} + + +gboolean video_source_collection_has_basename_filesize_duplicate (VideoSourceCollection* self, const gchar* basename, guint64 filesize) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + VideoID _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; +#line 1189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (IS_VIDEO_SOURCE_COLLECTION (self), FALSE); +#line 1189 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_return_val_if_fail (basename != NULL, FALSE); +#line 1190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = basename; +#line 1190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = filesize; +#line 1190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_source_collection_get_basename_filesize_duplicate (self, _tmp0_, _tmp1_, &_tmp2_); +#line 1190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp3_ = video_id_is_valid (&_tmp2_); +#line 1190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp3_; +#line 1190 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10834 "VideoSupport.c" +} + + +static TransactionController* video_source_collection_real_get_transaction_controller (MediaSourceCollection* base) { + TransactionController* result; + VideoSourceCollection* self; + TransactionController* _tmp0_ = NULL; + TransactionController* _tmp2_ = NULL; +#line 1033 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1034 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = self->priv->_transaction_controller; +#line 1034 "/home/jens/Source/shotwell/src/VideoSupport.vala" + if (_tmp0_ == NULL) { +#line 10849 "VideoSupport.c" + MediaSourceTransactionController* _tmp1_ = NULL; +#line 1035 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp1_ = media_source_transaction_controller_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 1035 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _transaction_controller_unref0 (self->priv->_transaction_controller); +#line 1035 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->_transaction_controller = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_TRANSACTION_CONTROLLER, TransactionController); +#line 10857 "VideoSupport.c" + } +#line 1037 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp2_ = self->priv->_transaction_controller; +#line 1037 "/home/jens/Source/shotwell/src/VideoSupport.vala" + result = _tmp2_; +#line 1037 "/home/jens/Source/shotwell/src/VideoSupport.vala" + return result; +#line 10865 "VideoSupport.c" +} + + +static void video_source_collection_class_init (VideoSourceCollectionClass * klass) { +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + video_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((DataCollectionClass *) klass)->finalize = video_source_collection_finalize; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + g_type_class_add_private (klass, sizeof (VideoSourceCollectionPrivate)); +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceCollectionClass *) klass)->create_trashcan = video_source_collection_real_create_trashcan; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceCollectionClass *) klass)->create_offline_bin = video_source_collection_real_create_offline_bin; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceCollectionClass *) klass)->create_media_monitor = video_source_collection_real_create_media_monitor; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = video_source_collection_real_holds_type_of_source; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceCollectionClass *) klass)->get_typename = video_source_collection_real_get_typename; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceCollectionClass *) klass)->is_file_recognized = video_source_collection_real_is_file_recognized; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceCollectionClass *) klass)->fetch_by_numeric_id = video_source_collection_real_fetch_by_numeric_id; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((MediaSourceCollectionClass *) klass)->get_event_source_ids = video_source_collection_real_get_event_source_ids; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + ((DataCollectionClass *) klass)->notify_contents_altered = video_source_collection_real_notify_contents_altered; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + MEDIA_SOURCE_COLLECTION_CLASS (klass)->get_transaction_controller = video_source_collection_real_get_transaction_controller; +#line 10896 "VideoSupport.c" +} + + +static void video_source_collection_instance_init (VideoSourceCollection * self) { + GeeTreeMultiMap* _tmp0_ = NULL; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv = VIDEO_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 1041 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->_transaction_controller = NULL; +#line 1042 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _tmp0_ = gee_tree_multi_map_new (G_TYPE_UINT64, (GBoxedCopyFunc) _uint64_dup, g_free, TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _uint64_compare_gcompare_data_func, NULL, NULL, NULL, NULL, NULL); +#line 1042 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self->priv->filesize_to_video = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 10910 "VideoSupport.c" +} + + +static void video_source_collection_finalize (DataCollection* obj) { + VideoSourceCollection * self; +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection); +#line 1041 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _transaction_controller_unref0 (self->priv->_transaction_controller); +#line 1042 "/home/jens/Source/shotwell/src/VideoSupport.vala" + _g_object_unref0 (self->priv->filesize_to_video); +#line 1024 "/home/jens/Source/shotwell/src/VideoSupport.vala" + DATA_COLLECTION_CLASS (video_source_collection_parent_class)->finalize (obj); +#line 10924 "VideoSupport.c" +} + + +GType video_source_collection_get_type (void) { + static volatile gsize video_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&video_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoSourceCollection), 0, (GInstanceInitFunc) video_source_collection_instance_init, NULL }; + GType video_source_collection_type_id; + video_source_collection_type_id = g_type_register_static (TYPE_MEDIA_SOURCE_COLLECTION, "VideoSourceCollection", &g_define_type_info, 0); + g_once_init_leave (&video_source_collection_type_id__volatile, video_source_collection_type_id); + } + return video_source_collection_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/camera/Branch.c b/src/camera/Branch.c new file mode 100644 index 0000000..7f2836e --- /dev/null +++ b/src/camera/Branch.c @@ -0,0 +1,1222 @@ +/* Branch.c generated by valac 0.32.1, the Vala compiler + * generated from Branch.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; +typedef struct _SidebarBranchPrivate SidebarBranchPrivate; + +#define CAMERA_TYPE_BRANCH (camera_branch_get_type ()) +#define CAMERA_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_BRANCH, CameraBranch)) +#define CAMERA_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_BRANCH, CameraBranchClass)) +#define CAMERA_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_BRANCH)) +#define CAMERA_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_BRANCH)) +#define CAMERA_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_BRANCH, CameraBranchClass)) + +typedef struct _CameraBranch CameraBranch; +typedef struct _CameraBranchClass CameraBranchClass; +typedef struct _CameraBranchPrivate CameraBranchPrivate; + +#define TYPE_DISCOVERED_CAMERA (discovered_camera_get_type ()) +#define DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCamera)) +#define DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass)) +#define IS_DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISCOVERED_CAMERA)) +#define IS_DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISCOVERED_CAMERA)) +#define DISCOVERED_CAMERA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass)) + +typedef struct _DiscoveredCamera DiscoveredCamera; +typedef struct _DiscoveredCameraClass DiscoveredCameraClass; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; + +#define CAMERA_TYPE_SIDEBAR_ENTRY (camera_sidebar_entry_get_type ()) +#define CAMERA_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry)) +#define CAMERA_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass)) +#define CAMERA_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_SIDEBAR_ENTRY)) +#define CAMERA_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_SIDEBAR_ENTRY)) +#define CAMERA_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass)) + +typedef struct _CameraSidebarEntry CameraSidebarEntry; +typedef struct _CameraSidebarEntryClass CameraSidebarEntryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ()) +#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping)) +#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) +#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) + +typedef struct _SidebarGrouping SidebarGrouping; +typedef struct _SidebarGroupingClass SidebarGroupingClass; + +#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ()) +#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader)) +#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) +#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) + +typedef struct _SidebarHeader SidebarHeader; +typedef struct _SidebarHeaderClass SidebarHeaderClass; + +#define CAMERA_TYPE_HEADER (camera_header_get_type ()) +#define CAMERA_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_HEADER, CameraHeader)) +#define CAMERA_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_HEADER, CameraHeaderClass)) +#define CAMERA_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_HEADER)) +#define CAMERA_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_HEADER)) +#define CAMERA_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_HEADER, CameraHeaderClass)) + +typedef struct _CameraHeader CameraHeader; +typedef struct _CameraHeaderClass CameraHeaderClass; + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ()) + +#define TYPE_CAMERA_TABLE (camera_table_get_type ()) +#define CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_TABLE, CameraTable)) +#define CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_TABLE, CameraTableClass)) +#define IS_CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_TABLE)) +#define IS_CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_TABLE)) +#define CAMERA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_TABLE, CameraTableClass)) + +typedef struct _CameraTable CameraTable; +typedef struct _CameraTableClass CameraTableClass; +#define _camera_table_unref0(var) ((var == NULL) ? NULL : (var = (camera_table_unref (var), NULL))) +#define _discovered_camera_unref0(var) ((var == NULL) ? NULL : (var = (discovered_camera_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; + +#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ()) +#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)) +#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY)) +#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface)) + +typedef struct _SidebarRenameableEntry SidebarRenameableEntry; +typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface; +typedef struct _SidebarGroupingPrivate SidebarGroupingPrivate; + +#define SIDEBAR_TYPE_EMPHASIZABLE_ENTRY (sidebar_emphasizable_entry_get_type ()) +#define SIDEBAR_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntry)) +#define SIDEBAR_IS_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY)) +#define SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntryIface)) + +typedef struct _SidebarEmphasizableEntry SidebarEmphasizableEntry; +typedef struct _SidebarEmphasizableEntryIface SidebarEmphasizableEntryIface; +typedef struct _SidebarHeaderPrivate SidebarHeaderPrivate; +typedef struct _CameraHeaderPrivate CameraHeaderPrivate; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; +typedef struct _CameraSidebarEntryPrivate CameraSidebarEntryPrivate; +typedef struct _DiscoveredCameraPrivate DiscoveredCameraPrivate; + +#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_IMPORT_PAGE (import_page_get_type ()) +#define IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_PAGE, ImportPage)) +#define IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_PAGE, ImportPageClass)) +#define IS_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_PAGE)) +#define IS_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_PAGE)) +#define IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_PAGE, ImportPageClass)) + +typedef struct _ImportPage ImportPage; +typedef struct _ImportPageClass ImportPageClass; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _SidebarBranch { + GObject parent_instance; + SidebarBranchPrivate * priv; +}; + +struct _SidebarBranchClass { + GObjectClass parent_class; +}; + +struct _CameraBranch { + SidebarBranch parent_instance; + CameraBranchPrivate * priv; +}; + +struct _CameraBranchClass { + SidebarBranchClass parent_class; +}; + +struct _CameraBranchPrivate { + GeeHashMap* camera_map; +}; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +typedef enum { + SIDEBAR_BRANCH_OPTIONS_NONE = 0, + SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0, + SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1, + SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2, + SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3 +} SidebarBranchOptions; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _SidebarRenameableEntryIface { + GTypeInterface parent_iface; + void (*rename) (SidebarRenameableEntry* self, const gchar* new_name); + gboolean (*is_user_renameable) (SidebarRenameableEntry* self); +}; + +struct _SidebarGrouping { + GObject parent_instance; + SidebarGroupingPrivate * priv; +}; + +struct _SidebarGroupingClass { + GObjectClass parent_class; +}; + +struct _SidebarEmphasizableEntryIface { + GTypeInterface parent_iface; + gboolean (*is_emphasized) (SidebarEmphasizableEntry* self); +}; + +struct _SidebarHeader { + SidebarGrouping parent_instance; + SidebarHeaderPrivate * priv; +}; + +struct _SidebarHeaderClass { + SidebarGroupingClass parent_class; +}; + +struct _CameraHeader { + SidebarHeader parent_instance; + CameraHeaderPrivate * priv; +}; + +struct _CameraHeaderClass { + SidebarHeaderClass parent_class; +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _CameraSidebarEntry { + SidebarSimplePageEntry parent_instance; + CameraSidebarEntryPrivate * priv; +}; + +struct _CameraSidebarEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _CameraSidebarEntryPrivate { + DiscoveredCamera* camera; + gchar* uri; +}; + +struct _DiscoveredCamera { + GTypeInstance parent_instance; + volatile int ref_count; + DiscoveredCameraPrivate * priv; + Camera* gcamera; + gchar* uri; + gchar* display_name; + gchar* icon; +}; + +struct _DiscoveredCameraClass { + GTypeClass parent_class; + void (*finalize) (DiscoveredCamera *self); +}; + + +static gpointer camera_branch_parent_class = NULL; +extern gchar* camera_branch_cameras_icon; +gchar* camera_branch_cameras_icon = NULL; +static gpointer camera_header_parent_class = NULL; +static gpointer camera_sidebar_entry_parent_class = NULL; + +GType sidebar_branch_get_type (void) G_GNUC_CONST; +GType camera_branch_get_type (void) G_GNUC_CONST; +gpointer discovered_camera_ref (gpointer instance); +void discovered_camera_unref (gpointer instance); +GParamSpec* param_spec_discovered_camera (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_discovered_camera (GValue* value, gpointer v_object); +void value_take_discovered_camera (GValue* value, gpointer v_object); +gpointer value_get_discovered_camera (const GValue* value); +GType discovered_camera_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType camera_sidebar_entry_get_type (void) G_GNUC_CONST; +#define CAMERA_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CAMERA_TYPE_BRANCH, CameraBranchPrivate)) +enum { + CAMERA_BRANCH_DUMMY_PROPERTY +}; +#define RESOURCES_ICON_CAMERAS "camera-photo" +CameraBranch* camera_branch_new (void); +CameraBranch* camera_branch_construct (GType object_type); +CameraHeader* camera_header_new (void); +CameraHeader* camera_header_construct (GType object_type); +GType sidebar_grouping_get_type (void) G_GNUC_CONST; +GType sidebar_header_get_type (void) G_GNUC_CONST; +GType camera_header_get_type (void) G_GNUC_CONST; +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_branch_options_get_type (void) G_GNUC_CONST; +static gint camera_branch_camera_comparator (SidebarEntry* a, SidebarEntry* b); +static gint _camera_branch_camera_comparator_gcompare_func (gconstpointer a, gconstpointer b); +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +gpointer camera_table_ref (gpointer instance); +void camera_table_unref (gpointer instance); +GParamSpec* param_spec_camera_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_camera_table (GValue* value, gpointer v_object); +void value_take_camera_table (GValue* value, gpointer v_object); +gpointer value_get_camera_table (const GValue* value); +GType camera_table_get_type (void) G_GNUC_CONST; +CameraTable* camera_table_get_instance (void); +GeeIterable* camera_table_get_cameras (CameraTable* self); +static void camera_branch_add_camera (CameraBranch* self, DiscoveredCamera* camera); +static void camera_branch_on_camera_added (CameraBranch* self, DiscoveredCamera* camera); +static void _camera_branch_on_camera_added_camera_table_camera_added (CameraTable* _sender, DiscoveredCamera* camera, gpointer self); +static void camera_branch_on_camera_removed (CameraBranch* self, DiscoveredCamera* camera); +static void _camera_branch_on_camera_removed_camera_table_camera_removed (CameraTable* _sender, DiscoveredCamera* camera, gpointer self); +void camera_branch_init (void); +void camera_branch_terminate (void); +gchar* sidebar_entry_get_sidebar_name (SidebarEntry* self); +gchar* camera_sidebar_entry_get_uri (CameraSidebarEntry* self); +CameraSidebarEntry* camera_branch_get_entry_for_camera (CameraBranch* self, DiscoveredCamera* camera); +static void camera_branch_remove_camera (CameraBranch* self, DiscoveredCamera* camera); +CameraSidebarEntry* camera_sidebar_entry_new (DiscoveredCamera* camera); +CameraSidebarEntry* camera_sidebar_entry_construct (GType object_type, DiscoveredCamera* camera); +void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator); +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self); +void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry); +static void camera_branch_finalize (GObject* obj); +GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_emphasizable_entry_get_type (void) G_GNUC_CONST; +enum { + CAMERA_HEADER_DUMMY_PROPERTY +}; +SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized); +SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +#define CAMERA_SIDEBAR_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryPrivate)) +enum { + CAMERA_SIDEBAR_ENTRY_DUMMY_PROPERTY +}; +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type); +static gchar* camera_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +static gchar* camera_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static Page* camera_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +gchar* sidebar_simple_page_entry_get_sidebar_name (SidebarSimplePageEntry* self); +gchar* sidebar_simple_page_entry_get_sidebar_icon (SidebarSimplePageEntry* self); +ImportPage* import_page_new (Camera* camera, const gchar* uri, const gchar* display_name, const gchar* icon); +ImportPage* import_page_construct (GType object_type, Camera* camera, const gchar* uri, const gchar* display_name, const gchar* icon); +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType import_page_get_type (void) G_GNUC_CONST; +static void camera_sidebar_entry_finalize (GObject* obj); + + +static gint _camera_branch_camera_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = camera_branch_camera_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 14 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return result; +#line 465 "Branch.c" +} + + +static void _camera_branch_on_camera_added_camera_table_camera_added (CameraTable* _sender, DiscoveredCamera* camera, gpointer self) { +#line 21 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_branch_on_camera_added ((CameraBranch*) self, camera); +#line 472 "Branch.c" +} + + +static void _camera_branch_on_camera_removed_camera_table_camera_removed (CameraTable* _sender, DiscoveredCamera* camera, gpointer self) { +#line 22 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_branch_on_camera_removed ((CameraBranch*) self, camera); +#line 479 "Branch.c" +} + + +CameraBranch* camera_branch_construct (GType object_type) { + CameraBranch * self = NULL; + CameraHeader* _tmp0_ = NULL; + CameraHeader* _tmp1_ = NULL; + CameraTable* _tmp13_ = NULL; + CameraTable* _tmp14_ = NULL; + CameraTable* _tmp15_ = NULL; + CameraTable* _tmp16_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = camera_header_new (); +#line 14 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = _tmp0_; +#line 14 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self = (CameraBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SIDEBAR_TYPE_ENTRY, SidebarEntry), SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY | SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD, _camera_branch_camera_comparator_gcompare_func, NULL); +#line 14 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (_tmp1_); +#line 499 "Branch.c" + { + GeeIterator* _camera_it = NULL; + CameraTable* _tmp2_ = NULL; + CameraTable* _tmp3_ = NULL; + GeeIterable* _tmp4_ = NULL; + GeeIterable* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = camera_table_get_instance (); +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp3_ = _tmp2_; +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp4_ = camera_table_get_cameras (_tmp3_); +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp5_ = _tmp4_; +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp6_ = gee_iterable_iterator (_tmp5_); +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp7_ = _tmp6_; +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (_tmp5_); +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _camera_table_unref0 (_tmp3_); +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _camera_it = _tmp7_; +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + while (TRUE) { +#line 528 "Branch.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + DiscoveredCamera* camera = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + DiscoveredCamera* _tmp12_ = NULL; +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp8_ = _camera_it; +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + if (!_tmp9_) { +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + break; +#line 543 "Branch.c" + } +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp10_ = _camera_it; +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera = (DiscoveredCamera*) _tmp11_; +#line 19 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp12_ = camera; +#line 19 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_branch_add_camera (self, _tmp12_); +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _discovered_camera_unref0 (camera); +#line 557 "Branch.c" + } +#line 18 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (_camera_it); +#line 561 "Branch.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp13_ = camera_table_get_instance (); +#line 21 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp14_ = _tmp13_; +#line 21 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_signal_connect_object (_tmp14_, "camera-added", (GCallback) _camera_branch_on_camera_added_camera_table_camera_added, self, 0); +#line 21 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _camera_table_unref0 (_tmp14_); +#line 22 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp15_ = camera_table_get_instance (); +#line 22 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp16_ = _tmp15_; +#line 22 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_signal_connect_object (_tmp16_, "camera-removed", (GCallback) _camera_branch_on_camera_removed_camera_table_camera_removed, self, 0); +#line 22 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _camera_table_unref0 (_tmp16_); +#line 13 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return self; +#line 581 "Branch.c" +} + + +CameraBranch* camera_branch_new (void) { +#line 13 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return camera_branch_construct (CAMERA_TYPE_BRANCH); +#line 588 "Branch.c" +} + + +void camera_branch_init (void) { +} + + +void camera_branch_terminate (void) { +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 39 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return self ? g_object_ref (self) : NULL; +#line 603 "Branch.c" +} + + +static gint camera_branch_camera_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gint ret = 0; + SidebarEntry* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 31 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 31 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 32 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = a; +#line 32 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = b; +#line 32 "/home/jens/Source/shotwell/src/camera/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 33 "/home/jens/Source/shotwell/src/camera/Branch.vala" + result = 0; +#line 33 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return result; +#line 635 "Branch.c" + } +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = a; +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp3_ = sidebar_entry_get_sidebar_name (_tmp2_); +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp4_ = _tmp3_; +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp5_ = b; +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp6_ = sidebar_entry_get_sidebar_name (_tmp5_); +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp7_ = _tmp6_; +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp8_ = g_utf8_collate (_tmp4_, _tmp7_); +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp9_ = _tmp8_; +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_free0 (_tmp7_); +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_free0 (_tmp4_); +#line 36 "/home/jens/Source/shotwell/src/camera/Branch.vala" + ret = _tmp9_; +#line 37 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp10_ = ret; +#line 37 "/home/jens/Source/shotwell/src/camera/Branch.vala" + if (_tmp10_ == 0) { +#line 663 "Branch.c" + CameraSidebarEntry* cam_a = NULL; + SidebarEntry* _tmp11_ = NULL; + CameraSidebarEntry* _tmp12_ = NULL; + CameraSidebarEntry* cam_b = NULL; + SidebarEntry* _tmp13_ = NULL; + CameraSidebarEntry* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + CameraSidebarEntry* _tmp16_ = NULL; + CameraSidebarEntry* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + CameraSidebarEntry* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gint _tmp24_ = 0; +#line 39 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp11_ = a; +#line 39 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, CAMERA_TYPE_SIDEBAR_ENTRY) ? ((CameraSidebarEntry*) _tmp11_) : NULL); +#line 39 "/home/jens/Source/shotwell/src/camera/Branch.vala" + cam_a = _tmp12_; +#line 40 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp13_ = b; +#line 40 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, CAMERA_TYPE_SIDEBAR_ENTRY) ? ((CameraSidebarEntry*) _tmp13_) : NULL); +#line 40 "/home/jens/Source/shotwell/src/camera/Branch.vala" + cam_b = _tmp14_; +#line 41 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp16_ = cam_a; +#line 41 "/home/jens/Source/shotwell/src/camera/Branch.vala" + if (_tmp16_ != NULL) { +#line 695 "Branch.c" + CameraSidebarEntry* _tmp17_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp17_ = cam_b; +#line 41 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp15_ = _tmp17_ != NULL; +#line 701 "Branch.c" + } else { +#line 41 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp15_ = FALSE; +#line 705 "Branch.c" + } +#line 41 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _vala_assert (_tmp15_, "cam_a != null && cam_b != null"); +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp18_ = cam_a; +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp19_ = camera_sidebar_entry_get_uri (_tmp18_); +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp20_ = _tmp19_; +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp21_ = cam_b; +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp22_ = camera_sidebar_entry_get_uri (_tmp21_); +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp23_ = _tmp22_; +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp24_ = g_utf8_collate (_tmp20_, _tmp23_); +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + ret = _tmp24_; +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_free0 (_tmp23_); +#line 42 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_free0 (_tmp20_); +#line 37 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (cam_b); +#line 37 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (cam_a); +#line 733 "Branch.c" + } +#line 45 "/home/jens/Source/shotwell/src/camera/Branch.vala" + result = ret; +#line 45 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return result; +#line 739 "Branch.c" +} + + +CameraSidebarEntry* camera_branch_get_entry_for_camera (CameraBranch* self, DiscoveredCamera* camera) { + CameraSidebarEntry* result = NULL; + GeeHashMap* _tmp0_ = NULL; + DiscoveredCamera* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_val_if_fail (CAMERA_IS_BRANCH (self), NULL); +#line 48 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_val_if_fail (IS_DISCOVERED_CAMERA (camera), NULL); +#line 49 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = self->priv->camera_map; +#line 49 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = camera; +#line 49 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 49 "/home/jens/Source/shotwell/src/camera/Branch.vala" + result = (CameraSidebarEntry*) _tmp2_; +#line 49 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return result; +#line 762 "Branch.c" +} + + +static void camera_branch_on_camera_added (CameraBranch* self, DiscoveredCamera* camera) { + DiscoveredCamera* _tmp0_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_if_fail (CAMERA_IS_BRANCH (self)); +#line 52 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_if_fail (IS_DISCOVERED_CAMERA (camera)); +#line 53 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = camera; +#line 53 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_branch_add_camera (self, _tmp0_); +#line 776 "Branch.c" +} + + +static void camera_branch_on_camera_removed (CameraBranch* self, DiscoveredCamera* camera) { + DiscoveredCamera* _tmp0_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_if_fail (CAMERA_IS_BRANCH (self)); +#line 56 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_if_fail (IS_DISCOVERED_CAMERA (camera)); +#line 57 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = camera; +#line 57 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_branch_remove_camera (self, _tmp0_); +#line 790 "Branch.c" +} + + +static void camera_branch_add_camera (CameraBranch* self, DiscoveredCamera* camera) { + GeeHashMap* _tmp0_ = NULL; + DiscoveredCamera* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + CameraSidebarEntry* entry = NULL; + DiscoveredCamera* _tmp3_ = NULL; + CameraSidebarEntry* _tmp4_ = NULL; + GeeHashMap* _tmp5_ = NULL; + DiscoveredCamera* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + SidebarEntry* _tmp8_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_if_fail (CAMERA_IS_BRANCH (self)); +#line 60 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_if_fail (IS_DISCOVERED_CAMERA (camera)); +#line 61 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = self->priv->camera_map; +#line 61 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = camera; +#line 61 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 61 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _vala_assert (!_tmp2_, "!camera_map.has_key(camera)"); +#line 63 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp3_ = camera; +#line 63 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp4_ = camera_sidebar_entry_new (_tmp3_); +#line 63 "/home/jens/Source/shotwell/src/camera/Branch.vala" + entry = _tmp4_; +#line 64 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp5_ = self->priv->camera_map; +#line 64 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp6_ = camera; +#line 64 "/home/jens/Source/shotwell/src/camera/Branch.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp6_, entry); +#line 67 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp7_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 67 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp8_ = _tmp7_; +#line 67 "/home/jens/Source/shotwell/src/camera/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp8_, G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL); +#line 67 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (_tmp8_); +#line 60 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (entry); +#line 839 "Branch.c" +} + + +static void camera_branch_remove_camera (CameraBranch* self, DiscoveredCamera* camera) { + GeeHashMap* _tmp0_ = NULL; + DiscoveredCamera* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + CameraSidebarEntry* entry = NULL; + GeeHashMap* _tmp3_ = NULL; + DiscoveredCamera* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp6_ = NULL; + DiscoveredCamera* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 70 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_if_fail (CAMERA_IS_BRANCH (self)); +#line 70 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_if_fail (IS_DISCOVERED_CAMERA (camera)); +#line 71 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = self->priv->camera_map; +#line 71 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = camera; +#line 71 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 71 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _vala_assert (_tmp2_, "camera_map.has_key(camera)"); +#line 73 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp3_ = self->priv->camera_map; +#line 73 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp4_ = camera; +#line 73 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 73 "/home/jens/Source/shotwell/src/camera/Branch.vala" + entry = (CameraSidebarEntry*) _tmp5_; +#line 74 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _vala_assert (entry != NULL, "entry != null"); +#line 76 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp6_ = self->priv->camera_map; +#line 76 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp7_ = camera; +#line 76 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp8_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_, NULL); +#line 76 "/home/jens/Source/shotwell/src/camera/Branch.vala" + removed = _tmp8_; +#line 77 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _vala_assert (removed, "removed"); +#line 79 "/home/jens/Source/shotwell/src/camera/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 70 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (entry); +#line 891 "Branch.c" +} + + +static void camera_branch_class_init (CameraBranchClass * klass) { + gchar* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_branch_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_type_class_add_private (klass, sizeof (CameraBranchPrivate)); +#line 7 "/home/jens/Source/shotwell/src/camera/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = camera_branch_finalize; +#line 8 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_CAMERAS); +#line 8 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_branch_cameras_icon = _tmp0_; +#line 907 "Branch.c" +} + + +static void camera_branch_instance_init (CameraBranch * self) { + GeeHashMap* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self->priv = CAMERA_BRANCH_GET_PRIVATE (self); +#line 10 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = gee_hash_map_new (TYPE_DISCOVERED_CAMERA, (GBoxedCopyFunc) discovered_camera_ref, discovered_camera_unref, CAMERA_TYPE_SIDEBAR_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 10 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self->priv->camera_map = _tmp0_; +#line 919 "Branch.c" +} + + +static void camera_branch_finalize (GObject* obj) { + CameraBranch * self; +#line 7 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, CAMERA_TYPE_BRANCH, CameraBranch); +#line 10 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_object_unref0 (self->priv->camera_map); +#line 7 "/home/jens/Source/shotwell/src/camera/Branch.vala" + G_OBJECT_CLASS (camera_branch_parent_class)->finalize (obj); +#line 931 "Branch.c" +} + + +GType camera_branch_get_type (void) { + static volatile gsize camera_branch_type_id__volatile = 0; + if (g_once_init_enter (&camera_branch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CameraBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) camera_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CameraBranch), 0, (GInstanceInitFunc) camera_branch_instance_init, NULL }; + GType camera_branch_type_id; + camera_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "CameraBranch", &g_define_type_info, 0); + g_once_init_leave (&camera_branch_type_id__volatile, camera_branch_type_id); + } + return camera_branch_type_id__volatile; +} + + +CameraHeader* camera_header_construct (GType object_type) { + CameraHeader * self = NULL; + const gchar* _tmp0_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = _ ("Cameras"); +#line 85 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self = (CameraHeader*) sidebar_header_construct (object_type, _tmp0_, TRUE); +#line 84 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return self; +#line 956 "Branch.c" +} + + +CameraHeader* camera_header_new (void) { +#line 84 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return camera_header_construct (CAMERA_TYPE_HEADER); +#line 963 "Branch.c" +} + + +static void camera_header_class_init (CameraHeaderClass * klass) { +#line 83 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_header_parent_class = g_type_class_peek_parent (klass); +#line 970 "Branch.c" +} + + +static void camera_header_instance_init (CameraHeader * self) { +} + + +GType camera_header_get_type (void) { + static volatile gsize camera_header_type_id__volatile = 0; + if (g_once_init_enter (&camera_header_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CameraHeaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) camera_header_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CameraHeader), 0, (GInstanceInitFunc) camera_header_instance_init, NULL }; + GType camera_header_type_id; + camera_header_type_id = g_type_register_static (SIDEBAR_TYPE_HEADER, "CameraHeader", &g_define_type_info, 0); + g_once_init_leave (&camera_header_type_id__volatile, camera_header_type_id); + } + return camera_header_type_id__volatile; +} + + +static gpointer _discovered_camera_ref0 (gpointer self) { +#line 94 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return self ? discovered_camera_ref (self) : NULL; +#line 993 "Branch.c" +} + + +CameraSidebarEntry* camera_sidebar_entry_construct (GType object_type, DiscoveredCamera* camera) { + CameraSidebarEntry * self = NULL; + DiscoveredCamera* _tmp0_ = NULL; + DiscoveredCamera* _tmp1_ = NULL; + DiscoveredCamera* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_val_if_fail (IS_DISCOVERED_CAMERA (camera), NULL); +#line 93 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self = (CameraSidebarEntry*) sidebar_simple_page_entry_construct (object_type); +#line 94 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = camera; +#line 94 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = _discovered_camera_ref0 (_tmp0_); +#line 94 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _discovered_camera_unref0 (self->priv->camera); +#line 94 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self->priv->camera = _tmp1_; +#line 95 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = camera; +#line 95 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp3_ = _tmp2_->uri; +#line 95 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 95 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_free0 (self->priv->uri); +#line 95 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self->priv->uri = _tmp4_; +#line 93 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return self; +#line 1028 "Branch.c" +} + + +CameraSidebarEntry* camera_sidebar_entry_new (DiscoveredCamera* camera) { +#line 93 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return camera_sidebar_entry_construct (CAMERA_TYPE_SIDEBAR_ENTRY, camera); +#line 1035 "Branch.c" +} + + +static gchar* camera_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + CameraSidebarEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + DiscoveredCamera* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp4_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry); +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = self->priv->camera; +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = _tmp1_->display_name; +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = _tmp2_; +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + if (_tmp0_ == NULL) { +#line 1056 "Branch.c" + const gchar* _tmp3_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp3_ = _ ("Camera"); +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = _tmp3_; +#line 1062 "Branch.c" + } +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp4_ = g_strdup (_tmp0_); +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + result = _tmp4_; +#line 99 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return result; +#line 1070 "Branch.c" +} + + +static gchar* camera_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + CameraSidebarEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + DiscoveredCamera* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp4_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry); +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = self->priv->camera; +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = _tmp1_->icon; +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + if (_tmp0_ == NULL) { +#line 1091 "Branch.c" + const gchar* _tmp3_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp3_ = camera_branch_cameras_icon; +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = _tmp3_; +#line 1097 "Branch.c" + } +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp4_ = g_strdup (_tmp0_); +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + result = _tmp4_; +#line 103 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return result; +#line 1105 "Branch.c" +} + + +static Page* camera_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + CameraSidebarEntry * self; + Page* result = NULL; + DiscoveredCamera* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + ImportPage* _tmp7_ = NULL; + Page* _tmp8_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry); +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = self->priv->camera; +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = _tmp0_->gcamera; +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp2_ = self->priv->uri; +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp3_ = sidebar_simple_page_entry_get_sidebar_name (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)); +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp4_ = _tmp3_; +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp5_ = sidebar_simple_page_entry_get_sidebar_icon (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)); +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp6_ = _tmp5_; +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp7_ = import_page_new (_tmp1_, _tmp2_, _tmp4_, _tmp6_); +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_object_ref_sink (_tmp7_); +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_PAGE, Page); +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_free0 (_tmp6_); +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_free0 (_tmp4_); +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + result = _tmp8_; +#line 107 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return result; +#line 1151 "Branch.c" +} + + +gchar* camera_sidebar_entry_get_uri (CameraSidebarEntry* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_return_val_if_fail (CAMERA_IS_SIDEBAR_ENTRY (self), NULL); +#line 111 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp0_ = self->priv->uri; +#line 111 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 111 "/home/jens/Source/shotwell/src/camera/Branch.vala" + result = _tmp1_; +#line 111 "/home/jens/Source/shotwell/src/camera/Branch.vala" + return result; +#line 1169 "Branch.c" +} + + +static void camera_sidebar_entry_class_init (CameraSidebarEntryClass * klass) { +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + camera_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + g_type_class_add_private (klass, sizeof (CameraSidebarEntryPrivate)); +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = camera_sidebar_entry_real_get_sidebar_name; +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = camera_sidebar_entry_real_get_sidebar_icon; +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = camera_sidebar_entry_real_create_page; +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = camera_sidebar_entry_finalize; +#line 1186 "Branch.c" +} + + +static void camera_sidebar_entry_instance_init (CameraSidebarEntry * self) { +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self->priv = CAMERA_SIDEBAR_ENTRY_GET_PRIVATE (self); +#line 1193 "Branch.c" +} + + +static void camera_sidebar_entry_finalize (GObject* obj) { + CameraSidebarEntry * self; +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry); +#line 90 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _discovered_camera_unref0 (self->priv->camera); +#line 91 "/home/jens/Source/shotwell/src/camera/Branch.vala" + _g_free0 (self->priv->uri); +#line 89 "/home/jens/Source/shotwell/src/camera/Branch.vala" + G_OBJECT_CLASS (camera_sidebar_entry_parent_class)->finalize (obj); +#line 1207 "Branch.c" +} + + +GType camera_sidebar_entry_get_type (void) { + static volatile gsize camera_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&camera_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CameraSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) camera_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CameraSidebarEntry), 0, (GInstanceInitFunc) camera_sidebar_entry_instance_init, NULL }; + GType camera_sidebar_entry_type_id; + camera_sidebar_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "CameraSidebarEntry", &g_define_type_info, 0); + g_once_init_leave (&camera_sidebar_entry_type_id__volatile, camera_sidebar_entry_type_id); + } + return camera_sidebar_entry_type_id__volatile; +} + + + diff --git a/src/camera/Camera.c b/src/camera/Camera.c new file mode 100644 index 0000000..71768fa --- /dev/null +++ b/src/camera/Camera.c @@ -0,0 +1,36 @@ +/* Camera.c generated by valac 0.32.1, the Vala compiler + * generated from Camera.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include + + + + +void camera_init (GError** error); +void camera_branch_init (void); +void camera_terminate (void); +void camera_branch_terminate (void); + + +void camera_init (GError** error) { +#line 10 "/home/jens/Source/shotwell/src/camera/Camera.vala" + camera_branch_init (); +#line 26 "Camera.c" +} + + +void camera_terminate (void) { +#line 14 "/home/jens/Source/shotwell/src/camera/Camera.vala" + camera_branch_terminate (); +#line 33 "Camera.c" +} + + + diff --git a/src/camera/CameraTable.c b/src/camera/CameraTable.c new file mode 100644 index 0000000..f758943 --- /dev/null +++ b/src/camera/CameraTable.c @@ -0,0 +1,4549 @@ +/* CameraTable.c generated by valac 0.32.1, the Vala compiler + * generated from CameraTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_DISCOVERED_CAMERA (discovered_camera_get_type ()) +#define DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCamera)) +#define DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass)) +#define IS_DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISCOVERED_CAMERA)) +#define IS_DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISCOVERED_CAMERA)) +#define DISCOVERED_CAMERA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass)) + +typedef struct _DiscoveredCamera DiscoveredCamera; +typedef struct _DiscoveredCameraClass DiscoveredCameraClass; +typedef struct _DiscoveredCameraPrivate DiscoveredCameraPrivate; +#define _gp_camera_unref0(var) ((var == NULL) ? NULL : (var = (gp_camera_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecDiscoveredCamera ParamSpecDiscoveredCamera; + +#define TYPE_CAMERA_TABLE (camera_table_get_type ()) +#define CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_TABLE, CameraTable)) +#define CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_TABLE, CameraTableClass)) +#define IS_CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_TABLE)) +#define IS_CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_TABLE)) +#define CAMERA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_TABLE, CameraTableClass)) + +typedef struct _CameraTable CameraTable; +typedef struct _CameraTableClass CameraTableClass; +typedef struct _CameraTablePrivate CameraTablePrivate; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) +#define _gp_context_unref0(var) ((var == NULL) ? NULL : (var = (gp_context_unref (var), NULL))) +#define _gp_abilities_list_free0(var) ((var == NULL) ? NULL : (var = (gp_abilities_list_free (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_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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _camera_table_unref0(var) ((var == NULL) ? NULL : (var = (camera_table_unref (var), NULL))) +#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL))) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _gp_port_info_list_free0(var) ((var == NULL) ? NULL : (var = (gp_port_info_list_free (var), NULL))) +#define _gp_list_unref0(var) ((var == NULL) ? NULL : (var = (gp_list_unref (var), NULL))) +#define _discovered_camera_unref0(var) ((var == NULL) ? NULL : (var = (discovered_camera_unref (var), NULL))) +typedef struct _ParamSpecCameraTable ParamSpecCameraTable; +#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 _DiscoveredCamera { + GTypeInstance parent_instance; + volatile int ref_count; + DiscoveredCameraPrivate * priv; + Camera* gcamera; + gchar* uri; + gchar* display_name; + gchar* icon; +}; + +struct _DiscoveredCameraClass { + GTypeClass parent_class; + void (*finalize) (DiscoveredCamera *self); +}; + +struct _ParamSpecDiscoveredCamera { + GParamSpec parent_instance; +}; + +struct _CameraTable { + GTypeInstance parent_instance; + volatile int ref_count; + CameraTablePrivate * priv; +}; + +struct _CameraTableClass { + GTypeClass parent_class; + void (*finalize) (CameraTable *self); +}; + +struct _CameraTablePrivate { + GUdevClient* client; + OneShotScheduler* camera_update_scheduler; + GPContext* null_context; + CameraAbilitiesList* abilities_list; + GVolumeMonitor* volume_monitor; + GeeHashMap* camera_map; +}; + +typedef void (*OneShotCallback) (void* user_data); +typedef enum { + GPHOTO_ERROR_LIBRARY +} GPhotoError; +#define GPHOTO_ERROR gphoto_error_quark () +struct _ParamSpecCameraTable { + GParamSpec parent_instance; +}; + + +static gpointer discovered_camera_parent_class = NULL; +static gpointer camera_table_parent_class = NULL; +static CameraTable* camera_table_instance; +static CameraTable* camera_table_instance = NULL; + +gpointer discovered_camera_ref (gpointer instance); +void discovered_camera_unref (gpointer instance); +GParamSpec* param_spec_discovered_camera (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_discovered_camera (GValue* value, gpointer v_object); +void value_take_discovered_camera (GValue* value, gpointer v_object); +gpointer value_get_discovered_camera (const GValue* value); +GType discovered_camera_get_type (void) G_GNUC_CONST; +enum { + DISCOVERED_CAMERA_DUMMY_PROPERTY +}; +DiscoveredCamera* discovered_camera_new (Camera* gcamera, const gchar* uri, const gchar* display_name, const gchar* icon); +DiscoveredCamera* discovered_camera_construct (GType object_type, Camera* gcamera, const gchar* uri, const gchar* display_name, const gchar* icon); +static void discovered_camera_finalize (DiscoveredCamera* obj); +gpointer camera_table_ref (gpointer instance); +void camera_table_unref (gpointer instance); +GParamSpec* param_spec_camera_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_camera_table (GValue* value, gpointer v_object); +void value_take_camera_table (GValue* value, gpointer v_object); +gpointer value_get_camera_table (const GValue* value); +GType camera_table_get_type (void) G_GNUC_CONST; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +#define CAMERA_TABLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CAMERA_TABLE, CameraTablePrivate)) +enum { + CAMERA_TABLE_DUMMY_PROPERTY +}; +#define CAMERA_TABLE_UPDATE_DELAY_MSEC 1000 +static CameraTable* camera_table_new (void); +static CameraTable* camera_table_construct (GType object_type); +static void camera_table_on_update_cameras (CameraTable* self); +static void _camera_table_on_update_cameras_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +static void camera_table_on_udev_event (CameraTable* self, const gchar* action, GUdevDevice* device); +static void _camera_table_on_udev_event_g_udev_client_uevent (GUdevClient* _sender, const gchar* action, GUdevDevice* device, gpointer self); +void camera_table_on_volume_changed (CameraTable* self, GVolume* volume); +static void _camera_table_on_volume_changed_g_volume_monitor_volume_changed (GVolumeMonitor* _sender, GVolume* volume, gpointer self); +static void _camera_table_on_volume_changed_g_volume_monitor_volume_added (GVolumeMonitor* _sender, GVolume* volume, gpointer self); +static gboolean camera_table_delayed_init (CameraTable* self); +static gboolean _camera_table_delayed_init_gsource_func (gpointer self); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +GType library_window_get_type (void) G_GNUC_CONST; +void library_window_set_page_switching_enabled (LibraryWindow* self, gboolean should_enable); +GQuark gphoto_error_quark (void); +static void camera_table_init_camera_table (CameraTable* self, GError** error); +static void camera_table_update_camera_table (CameraTable* self, GError** error); +CameraTable* camera_table_get_instance (void); +GeeIterable* camera_table_get_cameras (CameraTable* self); +gint camera_table_get_count (CameraTable* self); +DiscoveredCamera* camera_table_get_for_uri (CameraTable* self, const gchar* uri); +static void camera_table_do_op (CameraTable* self, int res, const gchar* op, GError** error); +static gchar** camera_table_get_all_usb_cameras (CameraTable* self, int* result_length1); +static void _vala_array_add141 (gchar*** array, int* length, int* size, gchar* value); +static void _g_object_unref0_ (gpointer var); +static void _g_list_free__g_object_unref0_ (GList* self); +static gboolean camera_table_usb_esp (CameraTable* self, gint current_camera_count, gchar** usb_cameras, int usb_cameras_length1, const gchar* port, gchar** full_port); +gchar* camera_table_get_port_uri (const gchar* port); +gchar* camera_table_get_port_path (const gchar* port); +static gchar* camera_table_get_name_for_uuid (CameraTable* self, const gchar* uuid); +static gchar* camera_table_get_icon_for_uuid (CameraTable* self, const gchar* uuid); +static void _vala_array_add142 (DiscoveredCamera*** array, int* length, int* size, DiscoveredCamera* value); +void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule); +static void g_cclosure_user_marshal_VOID__DISCOVERED_CAMERA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void camera_table_finalize (CameraTable* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +static const gchar* CAMERA_TABLE_SUBSYSTEMS[3] = {"usb", "block", NULL}; + +static gpointer _GPHOTO_REF_CAMERA0 (gpointer self) { +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self ? GPHOTO_REF_CAMERA (self) : NULL; +#line 245 "CameraTable.c" +} + + +DiscoveredCamera* discovered_camera_construct (GType object_type, Camera* gcamera, const gchar* uri, const gchar* display_name, const gchar* icon) { + DiscoveredCamera* self = NULL; + Camera* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (gcamera != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (uri != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (display_name != NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self = (DiscoveredCamera*) g_type_create_instance (object_type); +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = gcamera; +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = _GPHOTO_REF_CAMERA0 (_tmp0_); +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (self->gcamera); +#line 14 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->gcamera = _tmp1_; +#line 15 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = uri; +#line 15 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 15 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->uri); +#line 15 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->uri = _tmp3_; +#line 16 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = display_name; +#line 16 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 16 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->display_name); +#line 16 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->display_name = _tmp5_; +#line 17 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = icon; +#line 17 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 17 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->icon); +#line 17 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->icon = _tmp7_; +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self; +#line 301 "CameraTable.c" +} + + +DiscoveredCamera* discovered_camera_new (Camera* gcamera, const gchar* uri, const gchar* display_name, const gchar* icon) { +#line 13 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return discovered_camera_construct (TYPE_DISCOVERED_CAMERA, gcamera, uri, display_name, icon); +#line 308 "CameraTable.c" +} + + +static void value_discovered_camera_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 315 "CameraTable.c" +} + + +static void value_discovered_camera_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_unref (value->data[0].v_pointer); +#line 324 "CameraTable.c" + } +} + + +static void value_discovered_camera_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + dest_value->data[0].v_pointer = discovered_camera_ref (src_value->data[0].v_pointer); +#line 334 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 338 "CameraTable.c" + } +} + + +static gpointer value_discovered_camera_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return value->data[0].v_pointer; +#line 346 "CameraTable.c" +} + + +static gchar* value_discovered_camera_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (collect_values[0].v_pointer) { +#line 353 "CameraTable.c" + DiscoveredCamera* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 360 "CameraTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 364 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = discovered_camera_ref (object); +#line 368 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 372 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return NULL; +#line 376 "CameraTable.c" +} + + +static gchar* value_discovered_camera_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DiscoveredCamera** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 387 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = NULL; +#line 393 "CameraTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = value->data[0].v_pointer; +#line 397 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = discovered_camera_ref (value->data[0].v_pointer); +#line 401 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return NULL; +#line 405 "CameraTable.c" +} + + +GParamSpec* param_spec_discovered_camera (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecDiscoveredCamera* spec; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_DISCOVERED_CAMERA), NULL); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return G_PARAM_SPEC (spec); +#line 419 "CameraTable.c" +} + + +gpointer value_get_discovered_camera (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DISCOVERED_CAMERA), NULL); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return value->data[0].v_pointer; +#line 428 "CameraTable.c" +} + + +void value_set_discovered_camera (GValue* value, gpointer v_object) { + DiscoveredCamera* old; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DISCOVERED_CAMERA)); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DISCOVERED_CAMERA)); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_ref (value->data[0].v_pointer); +#line 448 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 452 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_unref (old); +#line 458 "CameraTable.c" + } +} + + +void value_take_discovered_camera (GValue* value, gpointer v_object) { + DiscoveredCamera* old; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DISCOVERED_CAMERA)); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DISCOVERED_CAMERA)); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = v_object; +#line 477 "CameraTable.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 481 "CameraTable.c" + } +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_unref (old); +#line 487 "CameraTable.c" + } +} + + +static void discovered_camera_class_init (DiscoveredCameraClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + discovered_camera_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + ((DiscoveredCameraClass *) klass)->finalize = discovered_camera_finalize; +#line 497 "CameraTable.c" +} + + +static void discovered_camera_instance_init (DiscoveredCamera * self) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->ref_count = 1; +#line 504 "CameraTable.c" +} + + +static void discovered_camera_finalize (DiscoveredCamera* obj) { + DiscoveredCamera * self; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DISCOVERED_CAMERA, DiscoveredCamera); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_handlers_destroy (self); +#line 8 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (self->gcamera); +#line 9 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->uri); +#line 10 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->display_name); +#line 11 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (self->icon); +#line 522 "CameraTable.c" +} + + +GType discovered_camera_get_type (void) { + static volatile gsize discovered_camera_type_id__volatile = 0; + if (g_once_init_enter (&discovered_camera_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_discovered_camera_init, value_discovered_camera_free_value, value_discovered_camera_copy_value, value_discovered_camera_peek_pointer, "p", value_discovered_camera_collect_value, "p", value_discovered_camera_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DiscoveredCameraClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) discovered_camera_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DiscoveredCamera), 0, (GInstanceInitFunc) discovered_camera_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType discovered_camera_type_id; + discovered_camera_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DiscoveredCamera", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&discovered_camera_type_id__volatile, discovered_camera_type_id); + } + return discovered_camera_type_id__volatile; +} + + +gpointer discovered_camera_ref (gpointer instance) { + DiscoveredCamera* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return instance; +#line 547 "CameraTable.c" +} + + +void discovered_camera_unref (gpointer instance) { + DiscoveredCamera* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + DISCOVERED_CAMERA_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 560 "CameraTable.c" + } +} + + +static void _camera_table_on_update_cameras_one_shot_callback (gpointer self) { +#line 42 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_on_update_cameras ((CameraTable*) self); +#line 568 "CameraTable.c" +} + + +static void _camera_table_on_udev_event_g_udev_client_uevent (GUdevClient* _sender, const gchar* action, GUdevDevice* device, gpointer self) { +#line 46 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_on_udev_event ((CameraTable*) self, action, device); +#line 575 "CameraTable.c" +} + + +static void _camera_table_on_volume_changed_g_volume_monitor_volume_changed (GVolumeMonitor* _sender, GVolume* volume, gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_on_volume_changed ((CameraTable*) self, volume); +#line 582 "CameraTable.c" +} + + +static void _camera_table_on_volume_changed_g_volume_monitor_volume_added (GVolumeMonitor* _sender, GVolume* volume, gpointer self) { +#line 49 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_on_volume_changed ((CameraTable*) self, volume); +#line 589 "CameraTable.c" +} + + +static gboolean _camera_table_delayed_init_gsource_func (gpointer self) { + gboolean result; + result = camera_table_delayed_init ((CameraTable*) self); +#line 54 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 598 "CameraTable.c" +} + + +static CameraTable* camera_table_construct (GType object_type) { + CameraTable* self = NULL; + OneShotScheduler* _tmp0_ = NULL; + GUdevClient* _tmp1_ = NULL; + GVolumeMonitor* _tmp2_ = NULL; + GVolumeMonitor* _tmp3_ = NULL; + GVolumeMonitor* _tmp4_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self = (CameraTable*) g_type_create_instance (object_type); +#line 42 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = one_shot_scheduler_new ("CameraTable update scheduler", _camera_table_on_update_cameras_one_shot_callback, self); +#line 42 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _one_shot_scheduler_unref0 (self->priv->camera_update_scheduler); +#line 42 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->camera_update_scheduler = _tmp0_; +#line 46 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = self->priv->client; +#line 46 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_connect (_tmp1_, "uevent", (GCallback) _camera_table_on_udev_event_g_udev_client_uevent, self); +#line 47 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = g_volume_monitor_get (); +#line 47 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (self->priv->volume_monitor); +#line 47 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->volume_monitor = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = self->priv->volume_monitor; +#line 48 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_connect (_tmp3_, "volume-changed", (GCallback) _camera_table_on_volume_changed_g_volume_monitor_volume_changed, self); +#line 49 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = self->priv->volume_monitor; +#line 49 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_connect (_tmp4_, "volume-added", (GCallback) _camera_table_on_volume_changed_g_volume_monitor_volume_added, self); +#line 54 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 500, _camera_table_delayed_init_gsource_func, camera_table_ref (self), camera_table_unref); +#line 41 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self; +#line 639 "CameraTable.c" +} + + +static CameraTable* camera_table_new (void) { +#line 41 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return camera_table_construct (TYPE_CAMERA_TABLE); +#line 646 "CameraTable.c" +} + + +static gboolean camera_table_delayed_init (CameraTable* self) { + gboolean result = FALSE; + AppWindow* _tmp0_ = NULL; + LibraryWindow* _tmp1_ = NULL; + AppWindow* _tmp6_ = NULL; + LibraryWindow* _tmp7_ = NULL; + GError * _inner_error_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), FALSE); +#line 60 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = app_window_get_instance (); +#line 60 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 60 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + library_window_set_page_switching_enabled (_tmp1_, FALSE); +#line 60 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp1_); +#line 667 "CameraTable.c" + { +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_init_camera_table (self, &_inner_error_); +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 675 "CameraTable.c" + goto __catch54_gphoto_error; + } +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.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 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 63 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return FALSE; +#line 684 "CameraTable.c" + } + } + goto __finally54; + __catch54_gphoto_error: + { + GError* err = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + err = _inner_error_; +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _inner_error_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = err; +#line 65 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = _tmp2_->message; +#line 65 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_warning ("CameraTable.vala:65: Unable to initialize camera table: %s", _tmp3_); +#line 67 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 67 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_error_free0 (err); +#line 67 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 709 "CameraTable.c" + } + __finally54: +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.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 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 62 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return FALSE; +#line 720 "CameraTable.c" + } + { +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_update_camera_table (self, &_inner_error_); +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 729 "CameraTable.c" + goto __catch55_gphoto_error; + } +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.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 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 71 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return FALSE; +#line 738 "CameraTable.c" + } + } + goto __finally55; + __catch55_gphoto_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + err = _inner_error_; +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _inner_error_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = err; +#line 73 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = _tmp4_->message; +#line 73 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_warning ("CameraTable.vala:73: Unable to update camera table: %s", _tmp5_); +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_error_free0 (err); +#line 759 "CameraTable.c" + } + __finally55: +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.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 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 70 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return FALSE; +#line 770 "CameraTable.c" + } +#line 78 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = app_window_get_instance (); +#line 78 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 78 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + library_window_set_page_switching_enabled (_tmp7_, TRUE); +#line 78 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp7_); +#line 79 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 79 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 784 "CameraTable.c" +} + + +static gpointer _camera_table_ref0 (gpointer self) { +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self ? camera_table_ref (self) : NULL; +#line 791 "CameraTable.c" +} + + +CameraTable* camera_table_get_instance (void) { + CameraTable* result = NULL; + CameraTable* _tmp0_ = NULL; + CameraTable* _tmp2_ = NULL; + CameraTable* _tmp3_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = camera_table_instance; +#line 83 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp0_ == NULL) { +#line 804 "CameraTable.c" + CameraTable* _tmp1_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = camera_table_new (); +#line 84 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _camera_table_unref0 (camera_table_instance); +#line 84 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_instance = _tmp1_; +#line 812 "CameraTable.c" + } +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = camera_table_instance; +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = _camera_table_ref0 (_tmp2_); +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp3_; +#line 86 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 822 "CameraTable.c" +} + + +GeeIterable* camera_table_get_cameras (CameraTable* self) { + GeeIterable* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->camera_map; +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = _tmp1_; +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable); +#line 90 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 843 "CameraTable.c" +} + + +gint camera_table_get_count (CameraTable* self) { + gint result = 0; + GeeHashMap* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 93 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), 0); +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->camera_map; +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = _tmp1_; +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp2_; +#line 94 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 864 "CameraTable.c" +} + + +DiscoveredCamera* camera_table_get_for_uri (CameraTable* self, const gchar* uri) { + DiscoveredCamera* result = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 97 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (uri != NULL, NULL); +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->camera_map; +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = uri; +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = (DiscoveredCamera*) _tmp2_; +#line 98 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 887 "CameraTable.c" +} + + +static void camera_table_do_op (CameraTable* self, int res, const gchar* op, GError** error) { + int _tmp0_ = 0; + GError * _inner_error_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 101 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (op != NULL); +#line 102 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = res; +#line 102 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp0_ != GP_OK) { +#line 902 "CameraTable.c" + int _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + int _tmp3_ = 0; + const gchar* _tmp4_ = NULL; + GError* _tmp5_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = res; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = op; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = res; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = gp_port_result_as_string (_tmp3_); +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Unable to %s: %s", (gint) _tmp1_, _tmp2_, _tmp4_); +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _inner_error_ = _tmp5_; +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 926 "CameraTable.c" + } else { +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.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 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 103 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 934 "CameraTable.c" + } + } +} + + +static void camera_table_init_camera_table (CameraTable* self, GError** error) { + CameraAbilitiesList* _tmp0_ = NULL; + int _tmp1_ = 0; + CameraAbilitiesList* _tmp2_ = NULL; + GPContext* _tmp3_ = NULL; + int _tmp4_ = 0; + GError * _inner_error_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gp_abilities_list_new (&_tmp0_); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_abilities_list_free0 (self->priv->abilities_list); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->abilities_list = _tmp0_; +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp1_, "create camera abilities list", &_inner_error_); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 965 "CameraTable.c" + } else { +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.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 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 107 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 973 "CameraTable.c" + } + } +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = self->priv->abilities_list; +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = self->priv->null_context; +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = gp_abilities_list_load (_tmp2_, _tmp3_); +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp4_, "load camera abilities list", &_inner_error_); +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 992 "CameraTable.c" + } else { +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.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 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 108 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 1000 "CameraTable.c" + } + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self ? g_object_ref (self) : NULL; +#line 1009 "CameraTable.c" +} + + +static void _vala_array_add141 (gchar*** array, int* length, int* size, gchar* value) { +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if ((*length) == (*size)) { +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 1020 "CameraTable.c" + } +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (*array)[(*length)++] = value; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (*array)[*length] = NULL; +#line 1026 "CameraTable.c" +} + + +static void _g_object_unref0_ (gpointer var) { +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); +#line 1033 "CameraTable.c" +} + + +static void _g_list_free__g_object_unref0_ (GList* self) { +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_list_foreach (self, (GFunc) _g_object_unref0_, NULL); +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_list_free (self); +#line 1042 "CameraTable.c" +} + + +static gchar** camera_table_get_all_usb_cameras (CameraTable* self, int* result_length1) { + gchar** result = NULL; + gchar** cameras = NULL; + gchar** _tmp0_ = NULL; + gint cameras_length1 = 0; + gint _cameras_size_ = 0; + GList* device_list = NULL; + GUdevClient* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + GList* _tmp3_ = NULL; + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; +#line 111 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 112 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 112 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + cameras = _tmp0_; +#line 112 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + cameras_length1 = 0; +#line 112 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _cameras_size_ = cameras_length1; +#line 114 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = self->priv->client; +#line 114 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = g_udev_client_query_by_subsystem (_tmp1_, NULL); +#line 114 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device_list = _tmp2_; +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = device_list; +#line 1076 "CameraTable.c" + { + GList* device_collection = NULL; + GList* device_it = NULL; +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device_collection = _tmp3_; +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (device_it = device_collection; device_it != NULL; device_it = device_it->next) { +#line 1084 "CameraTable.c" + GUdevDevice* _tmp4_ = NULL; + GUdevDevice* device = NULL; +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = _g_object_ref0 ((GUdevDevice*) device_it->data); +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device = _tmp4_; +#line 1091 "CameraTable.c" + { + gchar* device_file = NULL; + GUdevDevice* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + const gchar* _tmp10_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = device; +#line 116 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = g_udev_device_get_device_file (_tmp5_); +#line 116 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 116 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device_file = _tmp7_; +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp10_ = device_file; +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp10_ != NULL) { +#line 1112 "CameraTable.c" + GUdevDevice* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 121 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp11_ = device; +#line 121 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp12_ = g_udev_device_has_property (_tmp11_, "ID_GPHOTO2"); +#line 121 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = _tmp12_; +#line 1121 "CameraTable.c" + } else { +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = FALSE; +#line 1125 "CameraTable.c" + } +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp9_) { +#line 1129 "CameraTable.c" + GUdevDevice* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 122 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp13_ = device; +#line 122 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp14_ = g_udev_device_has_property (_tmp13_, "GPHOTO2_DRIVER"); +#line 122 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = _tmp14_; +#line 1138 "CameraTable.c" + } else { +#line 120 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = FALSE; +#line 1142 "CameraTable.c" + } +#line 117 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp8_) { +#line 1146 "CameraTable.c" + gint camera_bus = 0; + gint camera_device = 0; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + gchar* camera = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp15_ = device_file; +#line 128 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp16_ = sscanf (_tmp15_, "/dev/bus/usb/%d/%d", &camera_bus, &camera_device); +#line 128 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp16_ < 2) { +#line 1166 "CameraTable.c" + const gchar* _tmp17_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp17_ = device_file; +#line 129 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("CameraTable.vala:129: get_all_usb_cameras: Failed to scanf device file" \ +" %s", _tmp17_); +#line 131 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (device_file); +#line 131 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (device); +#line 131 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 1178 "CameraTable.c" + } +#line 133 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp18_ = camera_bus; +#line 133 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp19_ = camera_device; +#line 133 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp20_ = g_strdup_printf ("usb:%.3d,%.3d", _tmp18_, _tmp19_); +#line 133 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera = _tmp20_; +#line 134 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp21_ = camera; +#line 134 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:134: USB camera detected at %s", _tmp21_); +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp22_ = cameras; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp22__length1 = cameras_length1; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp23_ = camera; +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp24_ = g_strdup (_tmp23_); +#line 135 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_array_add141 (&cameras, &cameras_length1, &_cameras_size_, _tmp24_); +#line 117 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (camera); +#line 1204 "CameraTable.c" + } +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (device_file); +#line 115 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (device); +#line 1210 "CameraTable.c" + } + } + } +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp25_ = cameras; +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp25__length1 = cameras_length1; +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (result_length1) { +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *result_length1 = _tmp25__length1; +#line 1222 "CameraTable.c" + } +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp25_; +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (device_list); +#line 139 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1230 "CameraTable.c" +} + + +static gboolean camera_table_usb_esp (CameraTable* self, gint current_camera_count, gchar** usb_cameras, int usb_cameras_length1, const gchar* port, gchar** full_port) { + gchar* _vala_full_port = NULL; + gboolean result = FALSE; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gint _tmp4_ = 0; + const gchar* _tmp11_ = NULL; + gint bus = 0; + gint device = 0; + const gchar* _tmp13_ = NULL; + gint _tmp14_ = 0; + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + const gchar* _tmp30_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), FALSE); +#line 150 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (port != NULL, FALSE); +#line 153 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = current_camera_count; +#line 153 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_assert (_tmp0_ > 0, "current_camera_count > 0"); +#line 155 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = current_camera_count; +#line 155 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = port; +#line 155 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:155: USB ESP: current_camera_count=%d port=%s", _tmp1_, _tmp2_); +#line 157 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 157 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_full_port = NULL; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = current_camera_count; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp4_ == 1) { +#line 1272 "CameraTable.c" + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = usb_cameras; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5__length1 = usb_cameras_length1; +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = _tmp5__length1 == 1; +#line 1281 "CameraTable.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = FALSE; +#line 1285 "CameraTable.c" + } +#line 160 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp3_) { +#line 1289 "CameraTable.c" + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = usb_cameras; +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6__length1 = usb_cameras_length1; +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = _tmp6_[0]; +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 161 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_full_port = _tmp8_; +#line 163 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = port; +#line 163 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp10_ = _vala_full_port; +#line 163 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:163: USB ESP: port=%s full_port=%s", _tmp9_, _tmp10_); +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = TRUE; +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1320 "CameraTable.c" + } else { +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1324 "CameraTable.c" + } +#line 165 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1328 "CameraTable.c" + } +#line 169 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp11_ = port; +#line 169 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (g_strcmp0 (_tmp11_, "usb:") == 0) { +#line 1334 "CameraTable.c" + const gchar* _tmp12_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp12_ = port; +#line 170 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:170: USB ESP: Skipping %s", _tmp12_); +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1346 "CameraTable.c" + } else { +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1350 "CameraTable.c" + } +#line 172 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1354 "CameraTable.c" + } +#line 177 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp13_ = port; +#line 177 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp14_ = sscanf (_tmp13_, "usb:%d,%d", &bus, &device); +#line 177 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp14_ < 2) { +#line 1362 "CameraTable.c" + const gchar* _tmp15_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp15_ = port; +#line 178 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("CameraTable.vala:178: USB ESP: Failed to scanf %s", _tmp15_); +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1374 "CameraTable.c" + } else { +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1378 "CameraTable.c" + } +#line 180 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1382 "CameraTable.c" + } +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp16_ = usb_cameras; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp16__length1 = usb_cameras_length1; +#line 1388 "CameraTable.c" + { + gchar** usb_camera_collection = NULL; + gint usb_camera_collection_length1 = 0; + gint _usb_camera_collection_size_ = 0; + gint usb_camera_it = 0; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_camera_collection = _tmp16_; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_camera_collection_length1 = _tmp16__length1; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (usb_camera_it = 0; usb_camera_it < _tmp16__length1; usb_camera_it = usb_camera_it + 1) { +#line 1400 "CameraTable.c" + gchar* _tmp17_ = NULL; + gchar* usb_camera = NULL; +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp17_ = g_strdup (usb_camera_collection[usb_camera_it]); +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_camera = _tmp17_; +#line 1407 "CameraTable.c" + { + gint camera_bus = 0; + gint camera_device = 0; + const gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; + gboolean _tmp21_ = FALSE; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 185 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp18_ = usb_camera; +#line 185 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp19_ = sscanf (_tmp18_, "usb:%d,%d", &camera_bus, &camera_device); +#line 185 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp19_ < 2) { +#line 1422 "CameraTable.c" + const gchar* _tmp20_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp20_ = usb_camera; +#line 186 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_critical ("CameraTable.vala:186: USB ESP: Failed to scanf %s", _tmp20_); +#line 188 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (usb_camera); +#line 188 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 1432 "CameraTable.c" + } +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp22_ = bus; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp23_ = camera_bus; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp22_ == _tmp23_) { +#line 1440 "CameraTable.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp24_ = device; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp25_ = camera_device; +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp21_ = _tmp24_ == _tmp25_; +#line 1449 "CameraTable.c" + } else { +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp21_ = FALSE; +#line 1453 "CameraTable.c" + } +#line 191 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp21_) { +#line 1457 "CameraTable.c" + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp26_ = port; +#line 192 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp27_ = g_strdup (_tmp26_); +#line 192 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 192 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_full_port = _tmp27_; +#line 194 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp28_ = port; +#line 194 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp29_ = _vala_full_port; +#line 194 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:194: USB ESP: port=%s full_port=%s", _tmp28_, _tmp29_); +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = TRUE; +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (usb_camera); +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1484 "CameraTable.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1488 "CameraTable.c" + } +#line 196 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1492 "CameraTable.c" + } +#line 183 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (usb_camera); +#line 1496 "CameraTable.c" + } + } + } +#line 200 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp30_ = port; +#line 200 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:200: USB ESP: No matching bus/device found for port=%" \ +"s", _tmp30_); +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = FALSE; +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (full_port) { +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *full_port = _vala_full_port; +#line 1510 "CameraTable.c" + } else { +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_vala_full_port); +#line 1514 "CameraTable.c" + } +#line 202 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1518 "CameraTable.c" +} + + +gchar* camera_table_get_port_uri (const gchar* port) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (port != NULL, NULL); +#line 206 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = port; +#line 206 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = g_strdup_printf ("gphoto2://[%s]/", _tmp0_); +#line 206 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp1_; +#line 206 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1536 "CameraTable.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 1559 "CameraTable.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1567 "CameraTable.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1579 "CameraTable.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 1603 "CameraTable.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 1609 "CameraTable.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 1613 "CameraTable.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 1617 "CameraTable.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 1629 "CameraTable.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 1639 "CameraTable.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 1645 "CameraTable.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 1659 "CameraTable.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 1669 "CameraTable.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 1675 "CameraTable.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 1684 "CameraTable.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1704 "CameraTable.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 1717 "CameraTable.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1748 "CameraTable.c" + goto __catch56_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1757 "CameraTable.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1773 "CameraTable.c" + goto __catch56_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1784 "CameraTable.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1798 "CameraTable.c" + } + goto __finally56; + __catch56_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 1812 "CameraTable.c" + } + __finally56: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1823 "CameraTable.c" + } +} + + +gchar* camera_table_get_port_path (const gchar* port) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 209 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (port != NULL, NULL); +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = port; +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = g_str_has_prefix (_tmp1_, "usb:"); +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp2_) { +#line 1841 "CameraTable.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = port; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = string_substring (_tmp3_, (glong) 4, (glong) -1); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = _tmp4_; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = string_replace (_tmp5_, ",", "/"); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = _tmp6_; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = g_strdup_printf ("/dev/bus/usb/%s", _tmp7_); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp0_); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = _tmp8_; +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp7_); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp5_); +#line 1868 "CameraTable.c" + } else { +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp0_); +#line 212 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = NULL; +#line 1874 "CameraTable.c" + } +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp0_; +#line 211 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1880 "CameraTable.c" +} + + +static gchar* camera_table_get_name_for_uuid (CameraTable* self, const gchar* uuid) { + gchar* result = NULL; + GVolumeMonitor* _tmp0_ = NULL; + GList* _tmp1_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 215 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (uuid != NULL, NULL); +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->volume_monitor; +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = g_volume_monitor_get_volumes (_tmp0_); +#line 1896 "CameraTable.c" + { + GList* volume_collection = NULL; + GList* volume_it = NULL; +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + volume_collection = _tmp1_; +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (volume_it = volume_collection; volume_it != NULL; volume_it = volume_it->next) { +#line 1904 "CameraTable.c" + GVolume* _tmp2_ = NULL; + GVolume* volume = NULL; +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = _g_object_ref0 ((GVolume*) volume_it->data); +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + volume = _tmp2_; +#line 1911 "CameraTable.c" + { + GVolume* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = volume; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = g_volume_get_identifier (_tmp3_, G_VOLUME_IDENTIFIER_KIND_UUID); +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = _tmp4_; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = uuid; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = g_strcmp0 (_tmp5_, _tmp6_) == 0; +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp5_); +#line 217 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp7_) { +#line 1932 "CameraTable.c" + GVolume* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = volume; +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = g_volume_get_name (_tmp8_); +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp9_; +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (volume); +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (volume_collection); +#line 218 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1947 "CameraTable.c" + } +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (volume); +#line 1951 "CameraTable.c" + } + } +#line 216 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (volume_collection); +#line 1956 "CameraTable.c" + } +#line 221 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = NULL; +#line 221 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 1962 "CameraTable.c" +} + + +static gchar* camera_table_get_icon_for_uuid (CameraTable* self, const gchar* uuid) { + gchar* result = NULL; + GVolumeMonitor* _tmp0_ = NULL; + GList* _tmp1_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (IS_CAMERA_TABLE (self), NULL); +#line 224 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (uuid != NULL, NULL); +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->volume_monitor; +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = g_volume_monitor_get_volumes (_tmp0_); +#line 1978 "CameraTable.c" + { + GList* volume_collection = NULL; + GList* volume_it = NULL; +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + volume_collection = _tmp1_; +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (volume_it = volume_collection; volume_it != NULL; volume_it = volume_it->next) { +#line 1986 "CameraTable.c" + GVolume* _tmp2_ = NULL; + GVolume* volume = NULL; +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = _g_object_ref0 ((GVolume*) volume_it->data); +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + volume = _tmp2_; +#line 1993 "CameraTable.c" + { + GVolume* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = volume; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp4_ = g_volume_get_identifier (_tmp3_, G_VOLUME_IDENTIFIER_KIND_UUID); +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = _tmp4_; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = uuid; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = g_strcmp0 (_tmp5_, _tmp6_) == 0; +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp5_); +#line 226 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp7_) { +#line 2014 "CameraTable.c" + GVolume* _tmp8_ = NULL; + GIcon* _tmp9_ = NULL; + GIcon* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = volume; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = g_volume_get_icon (_tmp8_); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp10_ = _tmp9_; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp11_ = g_icon_to_string (_tmp10_); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp12_ = _tmp11_; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp10_); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = _tmp12_; +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (volume); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (volume_collection); +#line 227 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 2040 "CameraTable.c" + } +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (volume); +#line 2044 "CameraTable.c" + } + } +#line 225 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + __g_list_free__g_object_unref0_0 (volume_collection); +#line 2049 "CameraTable.c" + } +#line 230 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + result = NULL; +#line 230 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return result; +#line 2055 "CameraTable.c" +} + + +static gpointer _discovered_camera_ref0 (gpointer self) { +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return self ? discovered_camera_ref (self) : NULL; +#line 2062 "CameraTable.c" +} + + +static void _vala_array_add142 (DiscoveredCamera*** array, int* length, int* size, DiscoveredCamera* value) { +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if ((*length) == (*size)) { +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *array = g_renew (DiscoveredCamera*, *array, (*size) + 1); +#line 2073 "CameraTable.c" + } +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (*array)[(*length)++] = value; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (*array)[*length] = NULL; +#line 2079 "CameraTable.c" +} + + +static void camera_table_update_camera_table (CameraTable* self, GError** error) { + GPPortInfoList* port_info_list = NULL; + GPPortInfoList* _tmp0_ = NULL; + int _tmp1_ = 0; + GPPortInfoList* _tmp2_ = NULL; + int _tmp3_ = 0; + CameraList* camera_list = NULL; + CameraList* _tmp4_ = NULL; + int _tmp5_ = 0; + CameraAbilitiesList* _tmp6_ = NULL; + GPPortInfoList* _tmp7_ = NULL; + CameraList* _tmp8_ = NULL; + GPContext* _tmp9_ = NULL; + int _tmp10_ = 0; + GeeHashMap* detected_map = NULL; + GeeHashMap* _tmp11_ = NULL; + gchar** usb_cameras = NULL; + gint _tmp12_ = 0; + gchar** _tmp13_ = NULL; + gint usb_cameras_length1 = 0; + gint _usb_cameras_size_ = 0; + DiscoveredCamera** missing = NULL; + DiscoveredCamera** _tmp47_ = NULL; + gint missing_length1 = 0; + gint _missing_size_ = 0; + DiscoveredCamera** _tmp80_ = NULL; + gint _tmp80__length1 = 0; + GError * _inner_error_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gp_port_info_list_new (&_tmp0_); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port_info_list = _tmp0_; +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp1_, "create port list", &_inner_error_); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2131 "CameraTable.c" + } else { +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.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 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 236 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2141 "CameraTable.c" + } + } +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = port_info_list; +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = gp_port_info_list_load (_tmp2_); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp3_, "load port list", &_inner_error_); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2160 "CameraTable.c" + } else { +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.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 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 237 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2170 "CameraTable.c" + } + } +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp5_ = gp_list_new (&_tmp4_); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_list = _tmp4_; +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp5_, "create camera list", &_inner_error_); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2193 "CameraTable.c" + } else { +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.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 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 240 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2205 "CameraTable.c" + } + } +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp6_ = self->priv->abilities_list; +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp7_ = port_info_list; +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp8_ = camera_list; +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp9_ = self->priv->null_context; +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp10_ = gp_abilities_list_detect (_tmp6_, _tmp7_, _tmp8_, _tmp9_); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp10_, "detect cameras", &_inner_error_); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2232 "CameraTable.c" + } else { +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.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 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 241 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2244 "CameraTable.c" + } + } +#line 243 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp11_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 243 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + detected_map = _tmp11_; +#line 246 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp13_ = camera_table_get_all_usb_cameras (self, &_tmp12_); +#line 246 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = _tmp13_; +#line 246 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras_length1 = _tmp12_; +#line 246 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _usb_cameras_size_ = usb_cameras_length1; +#line 2259 "CameraTable.c" + { + gint ctr = 0; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + ctr = 0; +#line 2264 "CameraTable.c" + { + gboolean _tmp14_ = FALSE; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp14_ = TRUE; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + while (TRUE) { +#line 2271 "CameraTable.c" + gint _tmp16_ = 0; + CameraList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gchar* name = NULL; + CameraList* _tmp19_ = NULL; + gint _tmp20_ = 0; + const gchar* _tmp21_ = NULL; + int _tmp22_ = 0; + gchar* _tmp23_ = NULL; + gchar* port = NULL; + CameraList* _tmp24_ = NULL; + gint _tmp25_ = 0; + const gchar* _tmp26_ = NULL; + int _tmp27_ = 0; + gchar* _tmp28_ = NULL; + gint _tmp29_ = 0; + CameraList* _tmp30_ = NULL; + gint _tmp31_ = 0; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; + GeeHashMap* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!_tmp14_) { +#line 2299 "CameraTable.c" + gint _tmp15_ = 0; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp15_ = ctr; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + ctr = _tmp15_ + 1; +#line 2305 "CameraTable.c" + } +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp14_ = FALSE; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp16_ = ctr; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp17_ = camera_list; +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp18_ = gp_list_count (_tmp17_); +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!(_tmp16_ < _tmp18_)) { +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + break; +#line 2319 "CameraTable.c" + } +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp19_ = camera_list; +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp20_ = ctr; +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp22_ = gp_list_get_name (_tmp19_, _tmp20_, &_tmp21_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp23_ = g_strdup (_tmp21_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + name = _tmp23_; +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp22_, "get detected camera name", &_inner_error_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2353 "CameraTable.c" + } else { +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.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 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 251 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2371 "CameraTable.c" + } + } +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp24_ = camera_list; +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp25_ = ctr; +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp27_ = gp_list_get_value (_tmp24_, _tmp25_, &_tmp26_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp28_ = g_strdup (_tmp26_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port = _tmp28_; +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp27_, "get detected camera port", &_inner_error_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2408 "CameraTable.c" + } else { +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.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 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 254 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2428 "CameraTable.c" + } + } +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp29_ = ctr; +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp30_ = camera_list; +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp31_ = gp_list_count (_tmp30_); +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp32_ = name; +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp33_ = port; +#line 256 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:256: Detected %d/%d %s @ %s", _tmp29_ + 1, _tmp31_, _tmp32_, _tmp33_); +#line 259 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp34_ = port; +#line 259 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp35_ = g_str_has_prefix (_tmp34_, "usb:"); +#line 259 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp35_) { +#line 2449 "CameraTable.c" + gchar* full_port = NULL; + CameraList* _tmp36_ = NULL; + gint _tmp37_ = 0; + gchar** _tmp38_ = NULL; + gint _tmp38__length1 = 0; + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + const gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp36_ = camera_list; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp37_ = gp_list_count (_tmp36_); +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp38_ = usb_cameras; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp38__length1 = usb_cameras_length1; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp39_ = port; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp41_ = camera_table_usb_esp (self, _tmp37_, _tmp38_, _tmp38__length1, _tmp39_, &_tmp40_); +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (full_port); +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + full_port = _tmp40_; +#line 261 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!_tmp41_) { +#line 262 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (full_port); +#line 262 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 262 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 262 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 2486 "CameraTable.c" + } +#line 264 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp42_ = full_port; +#line 264 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp43_ = g_strdup (_tmp42_); +#line 264 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 264 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port = _tmp43_; +#line 259 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (full_port); +#line 2498 "CameraTable.c" + } +#line 267 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp44_ = detected_map; +#line 267 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp45_ = port; +#line 267 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp46_ = name; +#line 267 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp45_, _tmp46_); +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 249 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 2512 "CameraTable.c" + } + } + } +#line 271 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp47_ = g_new0 (DiscoveredCamera*, 0 + 1); +#line 271 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = _tmp47_; +#line 271 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing_length1 = 0; +#line 271 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _missing_size_ = missing_length1; +#line 2524 "CameraTable.c" + { + GeeIterator* _camera_it = NULL; + GeeHashMap* _tmp48_ = NULL; + GeeCollection* _tmp49_ = NULL; + GeeCollection* _tmp50_ = NULL; + GeeCollection* _tmp51_ = NULL; + GeeIterator* _tmp52_ = NULL; + GeeIterator* _tmp53_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp48_ = self->priv->camera_map; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp49_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_MAP, GeeMap)); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp50_ = _tmp49_; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp51_ = _tmp50_; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp52_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp53_ = _tmp52_; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp51_); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _camera_it = _tmp53_; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + while (TRUE) { +#line 2551 "CameraTable.c" + GeeIterator* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; + DiscoveredCamera* camera = NULL; + GeeIterator* _tmp56_ = NULL; + gpointer _tmp57_ = NULL; + GPPortInfo port_info = {0}; + gchar* tmp_path = NULL; + DiscoveredCamera* _tmp58_ = NULL; + Camera* _tmp59_ = NULL; + GPPortInfo _tmp60_ = {0}; + int _tmp61_ = 0; + const gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + CameraAbilities abilities = {0}; + DiscoveredCamera* _tmp64_ = NULL; + Camera* _tmp65_ = NULL; + CameraAbilities _tmp66_ = {0}; + int _tmp67_ = 0; + GeeHashMap* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; + gboolean _tmp70_ = FALSE; + CameraAbilities _tmp74_ = {0}; + const gchar* _tmp75_ = NULL; + const gchar* _tmp76_ = NULL; + DiscoveredCamera** _tmp77_ = NULL; + gint _tmp77__length1 = 0; + DiscoveredCamera* _tmp78_ = NULL; + DiscoveredCamera* _tmp79_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp54_ = _camera_it; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp55_ = gee_iterator_next (_tmp54_); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!_tmp55_) { +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + break; +#line 2588 "CameraTable.c" + } +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp56_ = _camera_it; +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp57_ = gee_iterator_get (_tmp56_); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera = (DiscoveredCamera*) _tmp57_; +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp58_ = camera; +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp59_ = _tmp58_->gcamera; +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp61_ = gp_camera_get_port_info (_tmp59_, &_tmp60_); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port_info = _tmp60_; +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp61_, "retrieve missing camera port information", &_inner_error_); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2634 "CameraTable.c" + } else { +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.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 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 276 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2660 "CameraTable.c" + } + } +#line 279 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gp_port_info_get_path (port_info, &_tmp62_); +#line 279 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 279 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp63_ = g_strdup (_tmp62_); +#line 279 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + tmp_path = _tmp63_; +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp64_ = camera; +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp65_ = _tmp64_->gcamera; +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp67_ = gp_camera_get_abilities (_tmp65_, &_tmp66_); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + abilities = _tmp66_; +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp67_, "retrieve camera abilities", &_inner_error_); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2711 "CameraTable.c" + } else { +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.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 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 282 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2739 "CameraTable.c" + } + } +#line 284 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp68_ = detected_map; +#line 284 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp69_ = tmp_path; +#line 284 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp70_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp69_); +#line 284 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp70_) { +#line 2750 "CameraTable.c" + CameraAbilities _tmp71_ = {0}; + const gchar* _tmp72_ = NULL; + const gchar* _tmp73_ = NULL; +#line 285 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp71_ = abilities; +#line 285 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp72_ = _tmp71_.model; +#line 285 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp73_ = tmp_path; +#line 285 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:285: Found camera for %s @ %s in detected map", _tmp72_, _tmp73_); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 287 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 2772 "CameraTable.c" + } +#line 290 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp74_ = abilities; +#line 290 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp75_ = _tmp74_.model; +#line 290 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp76_ = tmp_path; +#line 290 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:290: %s @ %s missing", _tmp75_, _tmp76_); +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp77_ = missing; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp77__length1 = missing_length1; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp78_ = camera; +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp79_ = _discovered_camera_ref0 (_tmp78_); +#line 292 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_array_add142 (&missing, &missing_length1, &_missing_size_, _tmp79_); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 2800 "CameraTable.c" + } +#line 272 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_camera_it); +#line 2804 "CameraTable.c" + } +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp80_ = missing; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp80__length1 = missing_length1; +#line 2810 "CameraTable.c" + { + DiscoveredCamera** camera_collection = NULL; + gint camera_collection_length1 = 0; + gint _camera_collection_size_ = 0; + gint camera_it = 0; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_collection = _tmp80_; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_collection_length1 = _tmp80__length1; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + for (camera_it = 0; camera_it < _tmp80__length1; camera_it = camera_it + 1) { +#line 2822 "CameraTable.c" + DiscoveredCamera* _tmp81_ = NULL; + DiscoveredCamera* camera = NULL; +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp81_ = _discovered_camera_ref0 (camera_collection[camera_it]); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera = _tmp81_; +#line 2829 "CameraTable.c" + { + GPPortInfo port_info = {0}; + gchar* tmp_path = NULL; + DiscoveredCamera* _tmp82_ = NULL; + Camera* _tmp83_ = NULL; + GPPortInfo _tmp84_ = {0}; + int _tmp85_ = 0; + const gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; + CameraAbilities abilities = {0}; + DiscoveredCamera* _tmp88_ = NULL; + Camera* _tmp89_ = NULL; + CameraAbilities _tmp90_ = {0}; + int _tmp91_ = 0; + CameraAbilities _tmp92_ = {0}; + const gchar* _tmp93_ = NULL; + const gchar* _tmp94_ = NULL; + GeeHashMap* _tmp95_ = NULL; + const gchar* _tmp96_ = NULL; + gchar* _tmp97_ = NULL; + gchar* _tmp98_ = NULL; + DiscoveredCamera* _tmp99_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp82_ = camera; +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp83_ = _tmp82_->gcamera; +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp85_ = gp_camera_get_port_info (_tmp83_, &_tmp84_); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port_info = _tmp84_; +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp85_, "retrieve missing camera port information", &_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2888 "CameraTable.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.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 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2912 "CameraTable.c" + } + } +#line 302 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gp_port_info_get_path (port_info, &_tmp86_); +#line 302 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 302 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp87_ = g_strdup (_tmp86_); +#line 302 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + tmp_path = _tmp87_; +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp88_ = camera; +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp89_ = _tmp88_->gcamera; +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp91_ = gp_camera_get_abilities (_tmp89_, &_tmp90_); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + abilities = _tmp90_; +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp91_, "retrieve missing camera abilities", &_inner_error_); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2961 "CameraTable.c" + } else { +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.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 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 305 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 2987 "CameraTable.c" + } + } +#line 307 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp92_ = abilities; +#line 307 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp93_ = _tmp92_.model; +#line 307 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp94_ = tmp_path; +#line 307 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:307: Removing from camera table: %s @ %s", _tmp93_, _tmp94_); +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp95_ = self->priv->camera_map; +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp96_ = tmp_path; +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp97_ = camera_table_get_port_uri (_tmp96_); +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp98_ = _tmp97_; +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp98_, NULL); +#line 309 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp98_); +#line 311 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp99_ = camera; +#line 311 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_emit_by_name (self, "camera-removed", _tmp99_); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (abilities); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 296 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 3022 "CameraTable.c" + } + } + } + { + GeeIterator* _port_it = NULL; + GeeHashMap* _tmp100_ = NULL; + GeeSet* _tmp101_ = NULL; + GeeSet* _tmp102_ = NULL; + GeeSet* _tmp103_ = NULL; + GeeIterator* _tmp104_ = NULL; + GeeIterator* _tmp105_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp100_ = detected_map; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp101_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, GEE_TYPE_MAP, GeeMap)); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp102_ = _tmp101_; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp103_ = _tmp102_; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp104_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp103_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp105_ = _tmp104_; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_tmp103_); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _port_it = _tmp105_; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + while (TRUE) { +#line 3052 "CameraTable.c" + GeeIterator* _tmp106_ = NULL; + gboolean _tmp107_ = FALSE; + gchar* port = NULL; + GeeIterator* _tmp108_ = NULL; + gpointer _tmp109_ = NULL; + gchar* name = NULL; + GeeHashMap* _tmp110_ = NULL; + const gchar* _tmp111_ = NULL; + gpointer _tmp112_ = NULL; + gchar* display_name = NULL; + gchar* icon = NULL; + gchar* uri = NULL; + const gchar* _tmp113_ = NULL; + gchar* _tmp114_ = NULL; + GeeHashMap* _tmp115_ = NULL; + const gchar* _tmp116_ = NULL; + gboolean _tmp117_ = FALSE; + gchar* path = NULL; + const gchar* _tmp120_ = NULL; + gchar* _tmp121_ = NULL; + const gchar* _tmp122_ = NULL; + const gchar* _tmp142_ = NULL; + gint index = 0; + GPPortInfoList* _tmp145_ = NULL; + const gchar* _tmp146_ = NULL; + gint _tmp147_ = 0; + gint _tmp148_ = 0; + GPPortInfo port_info = {0}; + gchar* tmp_path = NULL; + GPPortInfoList* _tmp153_ = NULL; + gint _tmp154_ = 0; + GPPortInfo _tmp155_ = {0}; + int _tmp156_ = 0; + const gchar* _tmp157_ = NULL; + gchar* _tmp158_ = NULL; + gchar* _tmp159_ = NULL; + const gchar* _tmp160_ = NULL; + gchar* _tmp161_ = NULL; + const gchar* _tmp162_ = NULL; + const gchar* _tmp163_ = NULL; + CameraAbilitiesList* _tmp164_ = NULL; + const gchar* _tmp165_ = NULL; + gint _tmp166_ = 0; + gint _tmp167_ = 0; + CameraAbilities camera_abilities = {0}; + CameraAbilitiesList* _tmp172_ = NULL; + gint _tmp173_ = 0; + CameraAbilities _tmp174_ = {0}; + int _tmp175_ = 0; + const gchar* _tmp176_ = NULL; + gchar* _tmp177_ = NULL; + gchar* _tmp178_ = NULL; + Camera* gcamera = NULL; + Camera* _tmp179_ = NULL; + int _tmp180_ = 0; + const gchar* _tmp181_ = NULL; + gchar* _tmp182_ = NULL; + gchar* _tmp183_ = NULL; + Camera* _tmp184_ = NULL; + CameraAbilities _tmp185_ = {0}; + int _tmp186_ = 0; + const gchar* _tmp187_ = NULL; + gchar* _tmp188_ = NULL; + gchar* _tmp189_ = NULL; + Camera* _tmp190_ = NULL; + GPPortInfo _tmp191_ = {0}; + int _tmp192_ = 0; + const gchar* _tmp193_ = NULL; + const gchar* _tmp194_ = NULL; + gchar* _tmp195_ = NULL; + gchar* _tmp196_ = NULL; + const gchar* _tmp197_ = NULL; + const gchar* _tmp198_ = NULL; + DiscoveredCamera* camera = NULL; + Camera* _tmp199_ = NULL; + const gchar* _tmp200_ = NULL; + const gchar* _tmp201_ = NULL; + const gchar* _tmp202_ = NULL; + DiscoveredCamera* _tmp203_ = NULL; + GeeHashMap* _tmp204_ = NULL; + const gchar* _tmp205_ = NULL; + DiscoveredCamera* _tmp206_ = NULL; + DiscoveredCamera* _tmp207_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp106_ = _port_it; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp107_ = gee_iterator_next (_tmp106_); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!_tmp107_) { +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + break; +#line 3144 "CameraTable.c" + } +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp108_ = _port_it; +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp109_ = gee_iterator_get (_tmp108_); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port = (gchar*) _tmp109_; +#line 316 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp110_ = detected_map; +#line 316 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp111_ = port; +#line 316 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp112_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp110_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp111_); +#line 316 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + name = (gchar*) _tmp112_; +#line 317 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = NULL; +#line 318 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + icon = NULL; +#line 319 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp113_ = port; +#line 319 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp114_ = camera_table_get_port_uri (_tmp113_); +#line 319 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + uri = _tmp114_; +#line 321 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp115_ = self->priv->camera_map; +#line 321 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp116_ = uri; +#line 321 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp117_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp116_); +#line 321 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp117_) { +#line 3178 "CameraTable.c" + const gchar* _tmp118_ = NULL; + const gchar* _tmp119_ = NULL; +#line 323 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp118_ = name; +#line 323 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp119_ = port; +#line 323 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:323: %s @ %s already registered, skipping", _tmp118_, _tmp119_); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 325 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + continue; +#line 3199 "CameraTable.c" + } +#line 329 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp120_ = port; +#line 329 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp121_ = camera_table_get_port_path (_tmp120_); +#line 329 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + path = _tmp121_; +#line 330 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp122_ = path; +#line 330 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL != _tmp122_) { +#line 3211 "CameraTable.c" + GUdevDevice* device = NULL; + GUdevClient* _tmp123_ = NULL; + const gchar* _tmp124_ = NULL; + GUdevDevice* _tmp125_ = NULL; + gchar* serial = NULL; + GUdevDevice* _tmp126_ = NULL; + const gchar* _tmp127_ = NULL; + gchar* _tmp128_ = NULL; + const gchar* _tmp129_ = NULL; + const gchar* _tmp134_ = NULL; + const gchar* _tmp138_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp123_ = self->priv->client; +#line 331 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp124_ = path; +#line 331 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp125_ = g_udev_client_query_by_device_file (_tmp123_, _tmp124_); +#line 331 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + device = _tmp125_; +#line 332 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp126_ = device; +#line 332 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp127_ = g_udev_device_get_property (_tmp126_, "ID_SERIAL_SHORT"); +#line 332 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp128_ = g_strdup (_tmp127_); +#line 332 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + serial = _tmp128_; +#line 333 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp129_ = serial; +#line 333 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL != _tmp129_) { +#line 3243 "CameraTable.c" + const gchar* _tmp130_ = NULL; + gchar* _tmp131_ = NULL; + const gchar* _tmp132_ = NULL; + gchar* _tmp133_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp130_ = serial; +#line 335 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp131_ = camera_table_get_name_for_uuid (self, _tmp130_); +#line 335 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 335 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = _tmp131_; +#line 336 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp132_ = serial; +#line 336 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp133_ = camera_table_get_icon_for_uuid (self, _tmp132_); +#line 336 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 336 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + icon = _tmp133_; +#line 3264 "CameraTable.c" + } +#line 338 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp134_ = display_name; +#line 338 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL == _tmp134_) { +#line 3270 "CameraTable.c" + GUdevDevice* _tmp135_ = NULL; + const gchar* _tmp136_ = NULL; + gchar* _tmp137_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp135_ = device; +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp136_ = g_udev_device_get_sysfs_attr (_tmp135_, "product"); +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp137_ = g_strdup (_tmp136_); +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 339 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = _tmp137_; +#line 3284 "CameraTable.c" + } +#line 341 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp138_ = display_name; +#line 341 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL == _tmp138_) { +#line 3290 "CameraTable.c" + GUdevDevice* _tmp139_ = NULL; + const gchar* _tmp140_ = NULL; + gchar* _tmp141_ = NULL; +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp139_ = device; +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp140_ = g_udev_device_get_property (_tmp139_, "ID_MODEL"); +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp141_ = g_strdup (_tmp140_); +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 342 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = _tmp141_; +#line 3304 "CameraTable.c" + } +#line 330 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (serial); +#line 330 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (device); +#line 3310 "CameraTable.c" + } +#line 345 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp142_ = display_name; +#line 345 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (NULL == _tmp142_) { +#line 3316 "CameraTable.c" + const gchar* _tmp143_ = NULL; + gchar* _tmp144_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp143_ = name; +#line 347 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp144_ = g_strdup (_tmp143_); +#line 347 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 347 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + display_name = _tmp144_; +#line 3327 "CameraTable.c" + } +#line 350 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp145_ = port_info_list; +#line 350 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp146_ = port; +#line 350 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp147_ = gp_port_info_list_lookup_path (_tmp145_, _tmp146_); +#line 350 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + index = _tmp147_; +#line 351 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp148_ = index; +#line 351 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp148_ < 0) { +#line 3341 "CameraTable.c" + gint _tmp149_ = 0; + const gchar* _tmp150_ = NULL; + gchar* _tmp151_ = NULL; + gchar* _tmp152_ = NULL; +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp149_ = index; +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp150_ = port; +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp151_ = g_strdup_printf ("lookup port %s", _tmp150_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp152_ = _tmp151_; +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, (int) _tmp149_, _tmp152_, &_inner_error_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp152_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3390 "CameraTable.c" + } else { +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.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 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 352 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3422 "CameraTable.c" + } + } + } +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp153_ = port_info_list; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp154_ = index; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp156_ = gp_port_info_list_get_info (_tmp153_, _tmp154_, &_tmp155_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + port_info = _tmp155_; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp157_ = port; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp158_ = g_strdup_printf ("get port info for %s", _tmp157_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp159_ = _tmp158_; +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp156_, _tmp159_, &_inner_error_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp159_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3482 "CameraTable.c" + } else { +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.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 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 357 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3518 "CameraTable.c" + } + } +#line 358 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gp_port_info_get_path (port_info, &_tmp160_); +#line 358 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 358 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp161_ = g_strdup (_tmp160_); +#line 358 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + tmp_path = _tmp161_; +#line 361 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp162_ = port; +#line 361 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp163_ = tmp_path; +#line 361 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _vala_assert (g_strcmp0 (_tmp162_, _tmp163_) == 0, "port == tmp_path"); +#line 363 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp164_ = self->priv->abilities_list; +#line 363 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp165_ = name; +#line 363 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp166_ = gp_abilities_list_lookup_model (_tmp164_, _tmp165_); +#line 363 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + index = _tmp166_; +#line 364 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp167_ = index; +#line 364 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_tmp167_ < 0) { +#line 3547 "CameraTable.c" + gint _tmp168_ = 0; + const gchar* _tmp169_ = NULL; + gchar* _tmp170_ = NULL; + gchar* _tmp171_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp168_ = index; +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp169_ = name; +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp170_ = g_strdup_printf ("lookup camera model %s", _tmp169_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp171_ = _tmp170_; +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, (int) _tmp168_, _tmp171_, &_inner_error_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp171_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3600 "CameraTable.c" + } else { +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.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 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 365 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3636 "CameraTable.c" + } + } + } +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp172_ = self->priv->abilities_list; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp173_ = index; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp175_ = gp_abilities_list_get_abilities (_tmp172_, _tmp173_, &_tmp174_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_abilities = _tmp174_; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp176_ = name; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp177_ = g_strdup_printf ("lookup camera abilities for %s", _tmp176_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp178_ = _tmp177_; +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp175_, _tmp178_, &_inner_error_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp178_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3698 "CameraTable.c" + } else { +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.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 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 368 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3736 "CameraTable.c" + } + } +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp180_ = gp_camera_new (&_tmp179_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gcamera = _tmp179_; +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp181_ = name; +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp182_ = g_strdup_printf ("create camera object for %s", _tmp181_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp183_ = _tmp182_; +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp180_, _tmp183_, &_inner_error_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp183_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3795 "CameraTable.c" + } else { +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.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 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 372 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3835 "CameraTable.c" + } + } +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp184_ = gcamera; +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp185_ = camera_abilities; +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp186_ = gp_camera_set_abilities (_tmp184_, _tmp185_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp187_ = name; +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp188_ = g_strdup_printf ("set camera abilities for %s", _tmp187_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp189_ = _tmp188_; +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp186_, _tmp189_, &_inner_error_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp189_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3894 "CameraTable.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.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 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 373 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3934 "CameraTable.c" + } + } +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp190_ = gcamera; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp191_ = port_info; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp192_ = gp_camera_set_port_info (_tmp190_, _tmp191_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp193_ = name; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp194_ = port; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp195_ = g_strdup_printf ("set port info for %s on %s", _tmp193_, _tmp194_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp196_ = _tmp195_; +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_do_op (self, _tmp192_, _tmp196_, &_inner_error_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (_tmp196_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_propagate_error (error, _inner_error_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 3995 "CameraTable.c" + } else { +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.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 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 374 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 4035 "CameraTable.c" + } + } +#line 376 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp197_ = name; +#line 376 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp198_ = port; +#line 376 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:376: Adding to camera table: %s @ %s", _tmp197_, _tmp198_); +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp199_ = gcamera; +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp200_ = uri; +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp201_ = display_name; +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp202_ = icon; +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp203_ = discovered_camera_new (_tmp199_, _tmp200_, _tmp201_, _tmp202_); +#line 378 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera = _tmp203_; +#line 379 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp204_ = self->priv->camera_map; +#line 379 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp205_ = uri; +#line 379 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp206_ = camera; +#line 379 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp204_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp205_, _tmp206_); +#line 381 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp207_ = camera; +#line 381 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_emit_by_name (self, "camera-added", _tmp207_); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _discovered_camera_unref0 (camera); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_camera_unref0 (gcamera); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (camera_abilities); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (tmp_path); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + (port_info); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (path); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (uri); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (icon); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (display_name); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (name); +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_free0 (port); +#line 4090 "CameraTable.c" + } +#line 315 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (_port_it); +#line 4094 "CameraTable.c" + } +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + missing = (_vala_array_free (missing, missing_length1, (GDestroyNotify) discovered_camera_unref), NULL); +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + usb_cameras = (_vala_array_free (usb_cameras, usb_cameras_length1, (GDestroyNotify) g_free), NULL); +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (detected_map); +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_list_unref0 (camera_list); +#line 233 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_port_info_list_free0 (port_info_list); +#line 4106 "CameraTable.c" +} + + +static void camera_table_on_udev_event (CameraTable* self, const gchar* action, GUdevDevice* device) { + const gchar* _tmp0_ = NULL; + GUdevDevice* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + OneShotScheduler* _tmp3_ = NULL; +#line 385 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 385 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (action != NULL); +#line 385 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_UDEV_IS_DEVICE (device)); +#line 386 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = action; +#line 386 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = device; +#line 386 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = g_udev_device_get_name (_tmp1_); +#line 386 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_debug ("CameraTable.vala:386: udev event: %s on %s", _tmp0_, _tmp2_); +#line 390 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = self->priv->camera_update_scheduler; +#line 390 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + one_shot_scheduler_after_timeout (_tmp3_, (guint) CAMERA_TABLE_UPDATE_DELAY_MSEC, TRUE); +#line 4133 "CameraTable.c" +} + + +void camera_table_on_volume_changed (CameraTable* self, GVolume* volume) { + OneShotScheduler* _tmp0_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 393 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_IS_VOLUME (volume)); +#line 394 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = self->priv->camera_update_scheduler; +#line 394 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + one_shot_scheduler_after_timeout (_tmp0_, (guint) CAMERA_TABLE_UPDATE_DELAY_MSEC, TRUE); +#line 4147 "CameraTable.c" +} + + +static void camera_table_on_update_cameras (CameraTable* self) { + GError * _inner_error_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (IS_CAMERA_TABLE (self)); +#line 4155 "CameraTable.c" + { + CameraTable* _tmp0_ = NULL; + CameraTable* _tmp1_ = NULL; +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = camera_table_get_instance (); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = _tmp0_; +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_update_camera_table (_tmp1_, &_inner_error_); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _camera_table_unref0 (_tmp1_); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (_inner_error_->domain == GPHOTO_ERROR) { +#line 4171 "CameraTable.c" + goto __catch57_gphoto_error; + } +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.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 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 399 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 4180 "CameraTable.c" + } + } + goto __finally57; + __catch57_gphoto_error: + { + GError* err = NULL; + GError* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + err = _inner_error_; +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _inner_error_ = NULL; +#line 401 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = err; +#line 401 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp3_ = _tmp2_->message; +#line 401 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_warning ("CameraTable.vala:401: Error updating camera table: %s", _tmp3_); +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_error_free0 (err); +#line 4201 "CameraTable.c" + } + __finally57: +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.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 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_clear_error (&_inner_error_); +#line 398 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return; +#line 4212 "CameraTable.c" + } +} + + +static void g_cclosure_user_marshal_VOID__DISCOVERED_CAMERA (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__DISCOVERED_CAMERA) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__DISCOVERED_CAMERA callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (n_param_values == 2); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + data1 = closure->data; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + data2 = param_values->data[0].v_pointer; +#line 4232 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + data1 = param_values->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + data2 = closure->data; +#line 4238 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + callback = (GMarshalFunc_VOID__DISCOVERED_CAMERA) (marshal_data ? marshal_data : cc->callback); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + callback (data1, value_get_discovered_camera (param_values + 1), data2); +#line 4244 "CameraTable.c" +} + + +static void value_camera_table_init (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 4251 "CameraTable.c" +} + + +static void value_camera_table_free_value (GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_unref (value->data[0].v_pointer); +#line 4260 "CameraTable.c" + } +} + + +static void value_camera_table_copy_value (const GValue* src_value, GValue* dest_value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (src_value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + dest_value->data[0].v_pointer = camera_table_ref (src_value->data[0].v_pointer); +#line 4270 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 4274 "CameraTable.c" + } +} + + +static gpointer value_camera_table_peek_pointer (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return value->data[0].v_pointer; +#line 4282 "CameraTable.c" +} + + +static gchar* value_camera_table_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (collect_values[0].v_pointer) { +#line 4289 "CameraTable.c" + CameraTable* object; + object = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4296 "CameraTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4300 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = camera_table_ref (object); +#line 4304 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 4308 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return NULL; +#line 4312 "CameraTable.c" +} + + +static gchar* value_camera_table_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + CameraTable** object_p; + object_p = collect_values[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!object_p) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 4323 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (!value->data[0].v_pointer) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = NULL; +#line 4329 "CameraTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = value->data[0].v_pointer; +#line 4333 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + *object_p = camera_table_ref (value->data[0].v_pointer); +#line 4337 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return NULL; +#line 4341 "CameraTable.c" +} + + +GParamSpec* param_spec_camera_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecCameraTable* spec; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_CAMERA_TABLE), NULL); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return G_PARAM_SPEC (spec); +#line 4355 "CameraTable.c" +} + + +gpointer value_get_camera_table (const GValue* value) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CAMERA_TABLE), NULL); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return value->data[0].v_pointer; +#line 4364 "CameraTable.c" +} + + +void value_set_camera_table (GValue* value, gpointer v_object) { + CameraTable* old; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CAMERA_TABLE)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_CAMERA_TABLE)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = v_object; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_ref (value->data[0].v_pointer); +#line 4384 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 4388 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_unref (old); +#line 4394 "CameraTable.c" + } +} + + +void value_take_camera_table (GValue* value, gpointer v_object) { + CameraTable* old; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_CAMERA_TABLE)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + old = value->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (v_object) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_CAMERA_TABLE)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = v_object; +#line 4413 "CameraTable.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + value->data[0].v_pointer = NULL; +#line 4417 "CameraTable.c" + } +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (old) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_unref (old); +#line 4423 "CameraTable.c" + } +} + + +static void camera_table_class_init (CameraTableClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + camera_table_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + ((CameraTableClass *) klass)->finalize = camera_table_finalize; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_type_class_add_private (klass, sizeof (CameraTablePrivate)); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_new ("camera_added", TYPE_CAMERA_TABLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__DISCOVERED_CAMERA, G_TYPE_NONE, 1, TYPE_DISCOVERED_CAMERA); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_new ("camera_removed", TYPE_CAMERA_TABLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__DISCOVERED_CAMERA, G_TYPE_NONE, 1, TYPE_DISCOVERED_CAMERA); +#line 4439 "CameraTable.c" +} + + +static void camera_table_instance_init (CameraTable * self) { + GUdevClient* _tmp0_ = NULL; + GPContext* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv = CAMERA_TABLE_GET_PRIVATE (self); +#line 29 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp0_ = g_udev_client_new (CAMERA_TABLE_SUBSYSTEMS); +#line 29 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->client = _tmp0_; +#line 30 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->camera_update_scheduler = NULL; +#line 31 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp1_ = gp_context_new (); +#line 31 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->null_context = _tmp1_; +#line 35 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _tmp2_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_DISCOVERED_CAMERA, (GBoxedCopyFunc) discovered_camera_ref, discovered_camera_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 35 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->priv->camera_map = _tmp2_; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self->ref_count = 1; +#line 4465 "CameraTable.c" +} + + +static void camera_table_finalize (CameraTable* obj) { + CameraTable * self; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CAMERA_TABLE, CameraTable); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_signal_handlers_destroy (self); +#line 29 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (self->priv->client); +#line 30 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _one_shot_scheduler_unref0 (self->priv->camera_update_scheduler); +#line 31 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_context_unref0 (self->priv->null_context); +#line 32 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _gp_abilities_list_free0 (self->priv->abilities_list); +#line 33 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (self->priv->volume_monitor); +#line 35 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + _g_object_unref0 (self->priv->camera_map); +#line 4487 "CameraTable.c" +} + + +GType camera_table_get_type (void) { + static volatile gsize camera_table_type_id__volatile = 0; + if (g_once_init_enter (&camera_table_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_camera_table_init, value_camera_table_free_value, value_camera_table_copy_value, value_camera_table_peek_pointer, "p", value_camera_table_collect_value, "p", value_camera_table_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (CameraTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) camera_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CameraTable), 0, (GInstanceInitFunc) camera_table_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType camera_table_type_id; + camera_table_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CameraTable", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&camera_table_type_id__volatile, camera_table_type_id); + } + return camera_table_type_id__volatile; +} + + +gpointer camera_table_ref (gpointer instance) { + CameraTable* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + return instance; +#line 4512 "CameraTable.c" +} + + +void camera_table_unref (gpointer instance) { + CameraTable* self; + self = instance; +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + CAMERA_TABLE_GET_CLASS (self)->finalize (self); +#line 21 "/home/jens/Source/shotwell/src/camera/CameraTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4525 "CameraTable.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/camera/GPhoto.c b/src/camera/GPhoto.c new file mode 100644 index 0000000..a703945 --- /dev/null +++ b/src/camera/GPhoto.c @@ -0,0 +1,2807 @@ +/* GPhoto.c generated by valac 0.32.1, the Vala compiler + * generated from GPhoto.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GP_TYPE_CONTEXT_WRAPPER (gp_context_wrapper_get_type ()) +#define GP_CONTEXT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)) +#define GP_CONTEXT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapperClass)) +#define GP_IS_CONTEXT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GP_TYPE_CONTEXT_WRAPPER)) +#define GP_IS_CONTEXT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GP_TYPE_CONTEXT_WRAPPER)) +#define GP_CONTEXT_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapperClass)) + +typedef struct _GPContextWrapper GPContextWrapper; +typedef struct _GPContextWrapperClass GPContextWrapperClass; +typedef struct _GPContextWrapperPrivate GPContextWrapperPrivate; +#define _gp_context_unref0(var) ((var == NULL) ? NULL : (var = (gp_context_unref (var), NULL))) +typedef struct _GPParamSpecContextWrapper GPParamSpecContextWrapper; + +#define GP_TYPE_SPIN_IDLE_WRAPPER (gp_spin_idle_wrapper_get_type ()) +#define GP_SPIN_IDLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapper)) +#define GP_SPIN_IDLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapperClass)) +#define GP_IS_SPIN_IDLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GP_TYPE_SPIN_IDLE_WRAPPER)) +#define GP_IS_SPIN_IDLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GP_TYPE_SPIN_IDLE_WRAPPER)) +#define GP_SPIN_IDLE_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapperClass)) + +typedef struct _GPSpinIdleWrapper GPSpinIdleWrapper; +typedef struct _GPSpinIdleWrapperClass GPSpinIdleWrapperClass; +typedef struct _GPSpinIdleWrapperPrivate GPSpinIdleWrapperPrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) + +#define TYPE_PHOTO_PREVIEW (photo_preview_get_type ()) +#define PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_PREVIEW, PhotoPreview)) +#define PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) +#define IS_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_PREVIEW)) +#define IS_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_PREVIEW)) +#define PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) + +typedef struct _PhotoPreview PhotoPreview; +typedef struct _PhotoPreviewClass PhotoPreviewClass; +#define _photo_preview_unref0(var) ((var == NULL) ? NULL : (var = (photo_preview_unref (var), NULL))) + +#define JPEG_TYPE_MARKER (jpeg_marker_get_type ()) +#define _gp_file_unref0(var) ((var == NULL) ? NULL : (var = (gp_file_unref (var), NULL))) + +typedef enum { + GPHOTO_ERROR_LIBRARY +} GPhotoError; +#define GPHOTO_ERROR gphoto_error_quark () +struct _GPContextWrapper { + GTypeInstance parent_instance; + volatile int ref_count; + GPContextWrapperPrivate * priv; + GPContext* context; +}; + +struct _GPContextWrapperClass { + GTypeClass parent_class; + void (*finalize) (GPContextWrapper *self); + void (*idle) (GPContextWrapper* self); + void (*error) (GPContextWrapper* self, const gchar* text, void* data); + void (*status) (GPContextWrapper* self, const gchar* text, void* data); + void (*message) (GPContextWrapper* self, const gchar* text, void* data); + void (*progress_start) (GPContextWrapper* self, gfloat current, const gchar* text, void* data); + void (*progress_update) (GPContextWrapper* self, gfloat current, void* data); + void (*progress_stop) (GPContextWrapper* self); +}; + +struct _GPParamSpecContextWrapper { + GParamSpec parent_instance; +}; + +struct _GPSpinIdleWrapper { + GPContextWrapper parent_instance; + GPSpinIdleWrapperPrivate * priv; +}; + +struct _GPSpinIdleWrapperClass { + GPContextWrapperClass parent_class; +}; + +typedef enum { + JPEG_MARKER_INVALID = 0x00, + JPEG_MARKER_SOI = 0xD8, + JPEG_MARKER_EOI = 0xD9, + JPEG_MARKER_APP0 = 0xE0, + JPEG_MARKER_APP1 = 0xE1 +} JpegMarker; + + +static gpointer gp_context_wrapper_parent_class = NULL; +static gpointer gp_spin_idle_wrapper_parent_class = NULL; + +GQuark gphoto_error_quark (void); +gpointer gp_context_wrapper_ref (gpointer instance); +void gp_context_wrapper_unref (gpointer instance); +GParamSpec* gp_param_spec_context_wrapper (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void gp_value_set_context_wrapper (GValue* value, gpointer v_object); +void gp_value_take_context_wrapper (GValue* value, gpointer v_object); +gpointer gp_value_get_context_wrapper (const GValue* value); +GType gp_context_wrapper_get_type (void) G_GNUC_CONST; +enum { + GP_CONTEXT_WRAPPER_DUMMY_PROPERTY +}; +GPContextWrapper* gp_context_wrapper_new (void); +GPContextWrapper* gp_context_wrapper_construct (GType object_type); +static void gp_context_wrapper_on_idle (GPContextWrapper* self, GPContext* context); +static void _gp_context_wrapper_on_idle_gp_context_idle_func (GPContext* context, gpointer self); +static void gp_context_wrapper_on_error (GPContextWrapper* self, GPContext* context, const gchar* text); +static void _gp_context_wrapper_on_error_gp_context_error_func (GPContext* context, const gchar* text, gpointer self); +static void gp_context_wrapper_on_status (GPContextWrapper* self, GPContext* context, const gchar* text); +static void _gp_context_wrapper_on_status_gp_context_status_func (GPContext* context, const gchar* text, gpointer self); +static void gp_context_wrapper_on_message (GPContextWrapper* self, GPContext* context, const gchar* text); +static void _gp_context_wrapper_on_message_gp_context_message_func (GPContext* context, const gchar* text, gpointer self); +static guint gp_context_wrapper_on_progress_start (GPContextWrapper* self, GPContext* context, gfloat target, const gchar* text); +static guint _gp_context_wrapper_on_progress_start_gp_context_progress_start_func (GPContext* context, gfloat target, const gchar* text, gpointer self); +static void gp_context_wrapper_on_progress_update (GPContextWrapper* self, GPContext* context, guint id, gfloat current); +static void _gp_context_wrapper_on_progress_update_gp_context_progress_update_func (GPContext* context, guint id, gfloat current, gpointer self); +static void gp_context_wrapper_on_progress_stop (GPContextWrapper* self, GPContext* context, guint id); +static void _gp_context_wrapper_on_progress_stop_gp_context_progress_stop_func (GPContext* context, guint id, gpointer self); +void gp_context_wrapper_idle (GPContextWrapper* self); +static void gp_context_wrapper_real_idle (GPContextWrapper* self); +void gp_context_wrapper_error (GPContextWrapper* self, const gchar* text, void* data); +static void gp_context_wrapper_real_error (GPContextWrapper* self, const gchar* text, void* data); +void gp_context_wrapper_status (GPContextWrapper* self, const gchar* text, void* data); +static void gp_context_wrapper_real_status (GPContextWrapper* self, const gchar* text, void* data); +void gp_context_wrapper_message (GPContextWrapper* self, const gchar* text, void* data); +static void gp_context_wrapper_real_message (GPContextWrapper* self, const gchar* text, void* data); +void gp_context_wrapper_progress_start (GPContextWrapper* self, gfloat current, const gchar* text, void* data); +static void gp_context_wrapper_real_progress_start (GPContextWrapper* self, gfloat current, const gchar* text, void* data); +void gp_context_wrapper_progress_update (GPContextWrapper* self, gfloat current, void* data); +static void gp_context_wrapper_real_progress_update (GPContextWrapper* self, gfloat current, void* data); +void gp_context_wrapper_progress_stop (GPContextWrapper* self); +static void gp_context_wrapper_real_progress_stop (GPContextWrapper* self); +static void gp_context_wrapper_finalize (GPContextWrapper* obj); +GType gp_spin_idle_wrapper_get_type (void) G_GNUC_CONST; +enum { + GP_SPIN_IDLE_WRAPPER_DUMMY_PROPERTY +}; +GPSpinIdleWrapper* gp_spin_idle_wrapper_new (void); +GPSpinIdleWrapper* gp_spin_idle_wrapper_construct (GType object_type); +static void gp_spin_idle_wrapper_real_idle (GPContextWrapper* base); +void spin_event_loop (void); +static void gp_spin_idle_wrapper_real_progress_update (GPContextWrapper* base, gfloat current, void* data); +#define GP_MAX_FILENAME_LENGTH 63 +#define GP_MAX_BASEDIR_LENGTH 255 +gboolean gp_get_info (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, CameraFileInfo* info, GError** error); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +PhotoMetadata* gp_get_fallback_metadata (Camera* camera, GPContext* context, const gchar* folder, const gchar* filename); +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +void media_metadata_read_from_file (MediaMetadata* self, GFile* file, GError** error); +GdkPixbuf* gp_load_preview (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, guint8** raw, int* raw_length1, gsize* raw_length, GError** error); +guint8* gp_load_file_into_buffer (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, CameraFileType filetype, int* result_length1, GError** error); +guint photo_metadata_get_preview_count (PhotoMetadata* self); +gpointer photo_preview_ref (gpointer instance); +void photo_preview_unref (gpointer instance); +GParamSpec* param_spec_photo_preview (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_preview (GValue* value, gpointer v_object); +void value_take_photo_preview (GValue* value, gpointer v_object); +gpointer value_get_photo_preview (const GValue* value); +GType photo_preview_get_type (void) G_GNUC_CONST; +PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self, guint number); +guint8* photo_preview_flatten (PhotoPreview* self, int* result_length1, GError** error); +#define JPEG_MARKER_PREFIX ((guint8) 0xFF) +GType jpeg_marker_get_type (void) G_GNUC_CONST; +static guint8* _vala_array_dup23 (guint8* self, int length); +#define IMPORT_PREVIEW_MAX_SCALE 128 +GdkPixbuf* gp_load_image (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, GError** error); +GInputStream* gp_load_file_into_stream (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, CameraFileType filetype, GError** error); +void gp_save_image (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, GFile* dest_file, GError** error); +PhotoMetadata* gp_load_metadata (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, GError** error); +void photo_metadata_read_from_app1_segment (PhotoMetadata* self, guint8* buffer, int buffer_length1, gint length, GError** error); +static guint8* _vala_array_dup24 (guint8* self, int length); +void gp_on_mins_destroyed (void* data); +static void _gp_on_mins_destroyed_gdestroy_notify (void* data); +GFile* app_dirs_get_temp_dir (void); + + +GQuark gphoto_error_quark (void) { + return g_quark_from_static_string ("gphoto_error-quark"); +} + + +static void _gp_context_wrapper_on_idle_gp_context_idle_func (GPContext* context, gpointer self) { +#line 18 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_on_idle ((GPContextWrapper*) self, context); +#line 240 "GPhoto.c" +} + + +static void _gp_context_wrapper_on_error_gp_context_error_func (GPContext* context, const gchar* text, gpointer self) { +#line 19 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_on_error ((GPContextWrapper*) self, context, text); +#line 247 "GPhoto.c" +} + + +static void _gp_context_wrapper_on_status_gp_context_status_func (GPContext* context, const gchar* text, gpointer self) { +#line 20 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_on_status ((GPContextWrapper*) self, context, text); +#line 254 "GPhoto.c" +} + + +static void _gp_context_wrapper_on_message_gp_context_message_func (GPContext* context, const gchar* text, gpointer self) { +#line 21 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_on_message ((GPContextWrapper*) self, context, text); +#line 261 "GPhoto.c" +} + + +static guint _gp_context_wrapper_on_progress_start_gp_context_progress_start_func (GPContext* context, gfloat target, const gchar* text, gpointer self) { + guint result; + result = gp_context_wrapper_on_progress_start ((GPContextWrapper*) self, context, target, text); +#line 22 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 270 "GPhoto.c" +} + + +static void _gp_context_wrapper_on_progress_update_gp_context_progress_update_func (GPContext* context, guint id, gfloat current, gpointer self) { +#line 22 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_on_progress_update ((GPContextWrapper*) self, context, id, current); +#line 277 "GPhoto.c" +} + + +static void _gp_context_wrapper_on_progress_stop_gp_context_progress_stop_func (GPContext* context, guint id, gpointer self) { +#line 22 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_on_progress_stop ((GPContextWrapper*) self, context, id); +#line 284 "GPhoto.c" +} + + +GPContextWrapper* gp_context_wrapper_construct (GType object_type) { + GPContextWrapper* self = NULL; + GPContext* _tmp0_ = NULL; + GPContext* _tmp1_ = NULL; + GPContext* _tmp2_ = NULL; + GPContext* _tmp3_ = NULL; + GPContext* _tmp4_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + self = (GPContextWrapper*) g_type_create_instance (object_type); +#line 18 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = self->context; +#line 18 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_set_idle_func (_tmp0_, _gp_context_wrapper_on_idle_gp_context_idle_func, self); +#line 19 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = self->context; +#line 19 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_set_error_func (_tmp1_, _gp_context_wrapper_on_error_gp_context_error_func, self); +#line 20 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp2_ = self->context; +#line 20 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_set_status_func (_tmp2_, _gp_context_wrapper_on_status_gp_context_status_func, self); +#line 21 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = self->context; +#line 21 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_set_message_func (_tmp3_, _gp_context_wrapper_on_message_gp_context_message_func, self); +#line 22 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp4_ = self->context; +#line 22 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_set_progress_funcs (_tmp4_, _gp_context_wrapper_on_progress_start_gp_context_progress_start_func, _gp_context_wrapper_on_progress_update_gp_context_progress_update_func, _gp_context_wrapper_on_progress_stop_gp_context_progress_stop_func, self); +#line 17 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return self; +#line 319 "GPhoto.c" +} + + +GPContextWrapper* gp_context_wrapper_new (void) { +#line 17 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return gp_context_wrapper_construct (GP_TYPE_CONTEXT_WRAPPER); +#line 326 "GPhoto.c" +} + + +static void gp_context_wrapper_real_idle (GPContextWrapper* self) { +} + + +void gp_context_wrapper_idle (GPContextWrapper* self) { +#line 25 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 25 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_GET_CLASS (self)->idle (self); +#line 339 "GPhoto.c" +} + + +static void gp_context_wrapper_real_error (GPContextWrapper* self, const gchar* text, void* data) { +#line 28 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (text != NULL); +#line 346 "GPhoto.c" +} + + +void gp_context_wrapper_error (GPContextWrapper* self, const gchar* text, void* data) { +#line 28 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 28 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_GET_CLASS (self)->error (self, text, data); +#line 355 "GPhoto.c" +} + + +static void gp_context_wrapper_real_status (GPContextWrapper* self, const gchar* text, void* data) { +#line 31 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (text != NULL); +#line 362 "GPhoto.c" +} + + +void gp_context_wrapper_status (GPContextWrapper* self, const gchar* text, void* data) { +#line 31 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 31 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_GET_CLASS (self)->status (self, text, data); +#line 371 "GPhoto.c" +} + + +static void gp_context_wrapper_real_message (GPContextWrapper* self, const gchar* text, void* data) { +#line 34 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (text != NULL); +#line 378 "GPhoto.c" +} + + +void gp_context_wrapper_message (GPContextWrapper* self, const gchar* text, void* data) { +#line 34 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 34 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_GET_CLASS (self)->message (self, text, data); +#line 387 "GPhoto.c" +} + + +static void gp_context_wrapper_real_progress_start (GPContextWrapper* self, gfloat current, const gchar* text, void* data) { +#line 37 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (text != NULL); +#line 394 "GPhoto.c" +} + + +void gp_context_wrapper_progress_start (GPContextWrapper* self, gfloat current, const gchar* text, void* data) { +#line 37 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 37 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_GET_CLASS (self)->progress_start (self, current, text, data); +#line 403 "GPhoto.c" +} + + +static void gp_context_wrapper_real_progress_update (GPContextWrapper* self, gfloat current, void* data) { +} + + +void gp_context_wrapper_progress_update (GPContextWrapper* self, gfloat current, void* data) { +#line 40 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 40 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_GET_CLASS (self)->progress_update (self, current, data); +#line 416 "GPhoto.c" +} + + +static void gp_context_wrapper_real_progress_stop (GPContextWrapper* self) { +} + + +void gp_context_wrapper_progress_stop (GPContextWrapper* self) { +#line 43 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 43 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_GET_CLASS (self)->progress_stop (self); +#line 429 "GPhoto.c" +} + + +static void gp_context_wrapper_on_idle (GPContextWrapper* self, GPContext* context) { +#line 46 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 46 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (context != NULL); +#line 47 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_idle (self); +#line 440 "GPhoto.c" +} + + +static void gp_context_wrapper_on_error (GPContextWrapper* self, GPContext* context, const gchar* text) { + const gchar* _tmp0_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 50 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (context != NULL); +#line 50 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (text != NULL); +#line 51 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = text; +#line 51 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_error (self, _tmp0_, NULL); +#line 456 "GPhoto.c" +} + + +static void gp_context_wrapper_on_status (GPContextWrapper* self, GPContext* context, const gchar* text) { + const gchar* _tmp0_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 54 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (context != NULL); +#line 54 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (text != NULL); +#line 55 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = text; +#line 55 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_status (self, _tmp0_, NULL); +#line 472 "GPhoto.c" +} + + +static void gp_context_wrapper_on_message (GPContextWrapper* self, GPContext* context, const gchar* text) { + const gchar* _tmp0_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 58 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (context != NULL); +#line 58 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (text != NULL); +#line 59 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = text; +#line 59 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_message (self, _tmp0_, NULL); +#line 488 "GPhoto.c" +} + + +static guint gp_context_wrapper_on_progress_start (GPContextWrapper* self, GPContext* context, gfloat target, const gchar* text) { + guint result = 0U; + gfloat _tmp0_ = 0.0F; + const gchar* _tmp1_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (GP_IS_CONTEXT_WRAPPER (self), 0U); +#line 62 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (context != NULL, 0U); +#line 62 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (text != NULL, 0U); +#line 63 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = target; +#line 63 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = text; +#line 63 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_progress_start (self, _tmp0_, _tmp1_, NULL); +#line 65 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = (guint) 0; +#line 65 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 512 "GPhoto.c" +} + + +static void gp_context_wrapper_on_progress_update (GPContextWrapper* self, GPContext* context, guint id, gfloat current) { + gfloat _tmp0_ = 0.0F; +#line 68 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 68 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (context != NULL); +#line 69 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = current; +#line 69 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_progress_update (self, _tmp0_, NULL); +#line 526 "GPhoto.c" +} + + +static void gp_context_wrapper_on_progress_stop (GPContextWrapper* self, GPContext* context, guint id) { +#line 72 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (GP_IS_CONTEXT_WRAPPER (self)); +#line 72 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (context != NULL); +#line 73 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_progress_stop (self); +#line 537 "GPhoto.c" +} + + +static void gp_value_context_wrapper_init (GValue* value) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + value->data[0].v_pointer = NULL; +#line 544 "GPhoto.c" +} + + +static void gp_value_context_wrapper_free_value (GValue* value) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (value->data[0].v_pointer) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_unref (value->data[0].v_pointer); +#line 553 "GPhoto.c" + } +} + + +static void gp_value_context_wrapper_copy_value (const GValue* src_value, GValue* dest_value) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (src_value->data[0].v_pointer) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + dest_value->data[0].v_pointer = gp_context_wrapper_ref (src_value->data[0].v_pointer); +#line 563 "GPhoto.c" + } else { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + dest_value->data[0].v_pointer = NULL; +#line 567 "GPhoto.c" + } +} + + +static gpointer gp_value_context_wrapper_peek_pointer (const GValue* value) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return value->data[0].v_pointer; +#line 575 "GPhoto.c" +} + + +static gchar* gp_value_context_wrapper_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (collect_values[0].v_pointer) { +#line 582 "GPhoto.c" + GPContextWrapper* object; + object = collect_values[0].v_pointer; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (object->parent_instance.g_class == NULL) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 589 "GPhoto.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 593 "GPhoto.c" + } +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + value->data[0].v_pointer = gp_context_wrapper_ref (object); +#line 597 "GPhoto.c" + } else { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + value->data[0].v_pointer = NULL; +#line 601 "GPhoto.c" + } +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 605 "GPhoto.c" +} + + +static gchar* gp_value_context_wrapper_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + GPContextWrapper** object_p; + object_p = collect_values[0].v_pointer; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (!object_p) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 616 "GPhoto.c" + } +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (!value->data[0].v_pointer) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *object_p = NULL; +#line 622 "GPhoto.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *object_p = value->data[0].v_pointer; +#line 626 "GPhoto.c" + } else { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *object_p = gp_context_wrapper_ref (value->data[0].v_pointer); +#line 630 "GPhoto.c" + } +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 634 "GPhoto.c" +} + + +GParamSpec* gp_param_spec_context_wrapper (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + GPParamSpecContextWrapper* spec; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (g_type_is_a (object_type, GP_TYPE_CONTEXT_WRAPPER), NULL); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return G_PARAM_SPEC (spec); +#line 648 "GPhoto.c" +} + + +gpointer gp_value_get_context_wrapper (const GValue* value) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GP_TYPE_CONTEXT_WRAPPER), NULL); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return value->data[0].v_pointer; +#line 657 "GPhoto.c" +} + + +void gp_value_set_context_wrapper (GValue* value, gpointer v_object) { + GPContextWrapper* old; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GP_TYPE_CONTEXT_WRAPPER)); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + old = value->data[0].v_pointer; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (v_object) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, GP_TYPE_CONTEXT_WRAPPER)); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + value->data[0].v_pointer = v_object; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_ref (value->data[0].v_pointer); +#line 677 "GPhoto.c" + } else { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + value->data[0].v_pointer = NULL; +#line 681 "GPhoto.c" + } +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (old) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_unref (old); +#line 687 "GPhoto.c" + } +} + + +void gp_value_take_context_wrapper (GValue* value, gpointer v_object) { + GPContextWrapper* old; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GP_TYPE_CONTEXT_WRAPPER)); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + old = value->data[0].v_pointer; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (v_object) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, GP_TYPE_CONTEXT_WRAPPER)); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + value->data[0].v_pointer = v_object; +#line 706 "GPhoto.c" + } else { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + value->data[0].v_pointer = NULL; +#line 710 "GPhoto.c" + } +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (old) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_unref (old); +#line 716 "GPhoto.c" + } +} + + +static void gp_context_wrapper_class_init (GPContextWrapperClass * klass) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_context_wrapper_parent_class = g_type_class_peek_parent (klass); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->finalize = gp_context_wrapper_finalize; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->idle = gp_context_wrapper_real_idle; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->error = gp_context_wrapper_real_error; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->status = gp_context_wrapper_real_status; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->message = gp_context_wrapper_real_message; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->progress_start = gp_context_wrapper_real_progress_start; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->progress_update = gp_context_wrapper_real_progress_update; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->progress_stop = gp_context_wrapper_real_progress_stop; +#line 740 "GPhoto.c" +} + + +static void gp_context_wrapper_instance_init (GPContextWrapper * self) { + GPContext* _tmp0_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = gp_context_new (); +#line 15 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + self->context = _tmp0_; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + self->ref_count = 1; +#line 752 "GPhoto.c" +} + + +static void gp_context_wrapper_finalize (GPContextWrapper* obj) { + GPContextWrapper * self; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_signal_handlers_destroy (self); +#line 15 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_context_unref0 (self->context); +#line 764 "GPhoto.c" +} + + +GType gp_context_wrapper_get_type (void) { + static volatile gsize gp_context_wrapper_type_id__volatile = 0; + if (g_once_init_enter (&gp_context_wrapper_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { gp_value_context_wrapper_init, gp_value_context_wrapper_free_value, gp_value_context_wrapper_copy_value, gp_value_context_wrapper_peek_pointer, "p", gp_value_context_wrapper_collect_value, "p", gp_value_context_wrapper_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (GPContextWrapperClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gp_context_wrapper_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GPContextWrapper), 0, (GInstanceInitFunc) gp_context_wrapper_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType gp_context_wrapper_type_id; + gp_context_wrapper_type_id = g_type_register_fundamental (g_type_fundamental_next (), "GPContextWrapper", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&gp_context_wrapper_type_id__volatile, gp_context_wrapper_type_id); + } + return gp_context_wrapper_type_id__volatile; +} + + +gpointer gp_context_wrapper_ref (gpointer instance) { + GPContextWrapper* self; + self = instance; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_atomic_int_inc (&self->ref_count); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return instance; +#line 789 "GPhoto.c" +} + + +void gp_context_wrapper_unref (gpointer instance) { + GPContextWrapper* self; + self = instance; +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_GET_CLASS (self)->finalize (self); +#line 14 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 802 "GPhoto.c" + } +} + + +GPSpinIdleWrapper* gp_spin_idle_wrapper_construct (GType object_type) { + GPSpinIdleWrapper* self = NULL; +#line 79 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + self = (GPSpinIdleWrapper*) gp_context_wrapper_construct (object_type); +#line 79 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return self; +#line 813 "GPhoto.c" +} + + +GPSpinIdleWrapper* gp_spin_idle_wrapper_new (void) { +#line 79 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return gp_spin_idle_wrapper_construct (GP_TYPE_SPIN_IDLE_WRAPPER); +#line 820 "GPhoto.c" +} + + +static void gp_spin_idle_wrapper_real_idle (GPContextWrapper* base) { + GPSpinIdleWrapper * self; +#line 82 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapper); +#line 83 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_CLASS (gp_spin_idle_wrapper_parent_class)->idle (G_TYPE_CHECK_INSTANCE_CAST (self, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)); +#line 85 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + spin_event_loop (); +#line 832 "GPhoto.c" +} + + +static void gp_spin_idle_wrapper_real_progress_update (GPContextWrapper* base, gfloat current, void* data) { + GPSpinIdleWrapper * self; + gfloat _tmp0_ = 0.0F; + void* _tmp1_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapper); +#line 89 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = current; +#line 89 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = data; +#line 89 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + GP_CONTEXT_WRAPPER_CLASS (gp_spin_idle_wrapper_parent_class)->progress_update (G_TYPE_CHECK_INSTANCE_CAST (self, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper), _tmp0_, _tmp1_); +#line 91 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + spin_event_loop (); +#line 850 "GPhoto.c" +} + + +static void gp_spin_idle_wrapper_class_init (GPSpinIdleWrapperClass * klass) { +#line 78 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_spin_idle_wrapper_parent_class = g_type_class_peek_parent (klass); +#line 78 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->idle = gp_spin_idle_wrapper_real_idle; +#line 78 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ((GPContextWrapperClass *) klass)->progress_update = gp_spin_idle_wrapper_real_progress_update; +#line 861 "GPhoto.c" +} + + +static void gp_spin_idle_wrapper_instance_init (GPSpinIdleWrapper * self) { +} + + +GType gp_spin_idle_wrapper_get_type (void) { + static volatile gsize gp_spin_idle_wrapper_type_id__volatile = 0; + if (g_once_init_enter (&gp_spin_idle_wrapper_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (GPSpinIdleWrapperClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gp_spin_idle_wrapper_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GPSpinIdleWrapper), 0, (GInstanceInitFunc) gp_spin_idle_wrapper_instance_init, NULL }; + GType gp_spin_idle_wrapper_type_id; + gp_spin_idle_wrapper_type_id = g_type_register_static (GP_TYPE_CONTEXT_WRAPPER, "GPSpinIdleWrapper", &g_define_type_info, 0); + g_once_init_leave (&gp_spin_idle_wrapper_type_id__volatile, gp_spin_idle_wrapper_type_id); + } + return gp_spin_idle_wrapper_type_id__volatile; +} + + +gboolean gp_get_info (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, CameraFileInfo* info, GError** error) { + CameraFileInfo _vala_info = {0}; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + int res = 0; + Camera* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + GPContext* _tmp11_ = NULL; + CameraFileInfo _tmp12_ = {0}; + int _tmp13_ = 0; + int _tmp14_ = 0; + GError * _inner_error_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (context != NULL, FALSE); +#line 102 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (camera != NULL, FALSE); +#line 102 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (folder != NULL, FALSE); +#line 102 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (filename != NULL, FALSE); +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = folder; +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp2_ = strlen (_tmp1_); +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = _tmp2_; +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp3_ > GP_MAX_BASEDIR_LENGTH) { +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = TRUE; +#line 915 "GPhoto.c" + } else { + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp4_ = filename; +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp5_ = strlen (_tmp4_); +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = _tmp5_; +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = _tmp6_ > GP_MAX_FILENAME_LENGTH; +#line 928 "GPhoto.c" + } +#line 104 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp0_) { +#line 932 "GPhoto.c" + CameraFileInfo _tmp7_ = {0}; +#line 105 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + (_vala_info); +#line 105 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_info = _tmp7_; +#line 107 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = FALSE; +#line 107 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (info) { +#line 107 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *info = _vala_info; +#line 944 "GPhoto.c" + } else { +#line 107 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + (_vala_info); +#line 948 "GPhoto.c" + } +#line 107 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 952 "GPhoto.c" + } +#line 110 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp8_ = camera; +#line 110 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp9_ = folder; +#line 110 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp10_ = filename; +#line 110 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp11_ = context; +#line 110 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp13_ = gp_camera_file_get_info (_tmp8_, _tmp9_, _tmp10_, &_tmp12_, _tmp11_); +#line 110 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + (_vala_info); +#line 110 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_info = _tmp12_; +#line 110 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp13_; +#line 111 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp14_ = res; +#line 111 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp14_ != GP_OK) { +#line 974 "GPhoto.c" + int _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + int _tmp18_ = 0; + const gchar* _tmp19_ = NULL; + GError* _tmp20_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp15_ = res; +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp16_ = folder; +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp17_ = filename; +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp18_ = res; +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp19_ = gp_port_result_as_string (_tmp18_); +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error retrieving file information for %s/%s: %s", (gint) _tmp15_, _tmp16_, _tmp17_, _tmp19_); +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp20_; +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 112 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return FALSE; +#line 999 "GPhoto.c" + } +#line 115 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = TRUE; +#line 115 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (info) { +#line 115 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *info = _vala_info; +#line 1007 "GPhoto.c" + } else { +#line 115 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + (_vala_info); +#line 1011 "GPhoto.c" + } +#line 115 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1015 "GPhoto.c" +} + + +static gchar* string_slice (const gchar* self, glong start, glong end) { + gchar* result = NULL; + glong string_length = 0L; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + glong _tmp2_ = 0L; + glong _tmp5_ = 0L; + gboolean _tmp8_ = FALSE; + glong _tmp9_ = 0L; + gboolean _tmp12_ = FALSE; + glong _tmp13_ = 0L; + glong _tmp16_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + gchar* _tmp21_ = NULL; +#line 1328 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = strlen (self); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp0_; +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp1_; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = start; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp2_ < ((glong) 0)) { +#line 1048 "GPhoto.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = string_length; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = start; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + start = _tmp3_ + _tmp4_; +#line 1057 "GPhoto.c" + } +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp5_ < ((glong) 0)) { +#line 1063 "GPhoto.c" + glong _tmp6_ = 0L; + glong _tmp7_ = 0L; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = string_length; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = end; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp6_ + _tmp7_; +#line 1072 "GPhoto.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp9_ >= ((glong) 0)) { +#line 1078 "GPhoto.c" + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = string_length; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = _tmp10_ <= _tmp11_; +#line 1087 "GPhoto.c" + } else { +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = FALSE; +#line 1091 "GPhoto.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp8_, NULL); +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp13_ >= ((glong) 0)) { +#line 1099 "GPhoto.c" + glong _tmp14_ = 0L; + glong _tmp15_ = 0L; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = _tmp14_ <= _tmp15_; +#line 1108 "GPhoto.c" + } else { +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 1112 "GPhoto.c" + } +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_, NULL); +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = start; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = end; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = end; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_)); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp21_; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1134 "GPhoto.c" +} + + +PhotoMetadata* gp_get_fallback_metadata (Camera* camera, GPContext* context, const gchar* folder, const gchar* filename) { + PhotoMetadata* result = NULL; + CameraStorageInformation* sifs = NULL; + gint count = 0; + Camera* _tmp0_ = NULL; + GPContext* _tmp1_ = NULL; + gint _tmp2_ = 0; + GPPortInfo port_info = {0}; + Camera* _tmp3_ = NULL; + GPPortInfo _tmp4_ = {0}; + gchar* path = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* prefix = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp17_ = NULL; + GError * _inner_error_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 121 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (context != NULL, NULL); +#line 121 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 121 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 122 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + sifs = NULL; +#line 123 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + count = 0; +#line 124 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = camera; +#line 124 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = context; +#line 124 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_camera_get_storageinfo (_tmp0_, &sifs, &_tmp2_, _tmp1_); +#line 124 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + count = _tmp2_; +#line 127 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = camera; +#line 127 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_camera_get_port_info (_tmp3_, &_tmp4_); +#line 127 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + (port_info); +#line 127 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + port_info = _tmp4_; +#line 130 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_port_info_get_path (port_info, &_tmp5_); +#line 130 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (path); +#line 130 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 130 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + path = _tmp6_; +#line 132 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7_ = g_strdup ("disk:"); +#line 132 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + prefix = _tmp7_; +#line 133 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp8_ = path; +#line 133 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp9_ = g_str_has_prefix (_tmp8_, prefix); +#line 133 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp9_) { +#line 1204 "GPhoto.c" + const gchar* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + const gchar* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gchar* _tmp16_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp10_ = path; +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp11_ = strlen (prefix); +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp12_ = _tmp11_; +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp13_ = path; +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp14_ = strlen (_tmp13_); +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp15_ = _tmp14_; +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp16_ = string_slice (_tmp10_, (glong) _tmp12_, (glong) _tmp15_); +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (path); +#line 134 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + path = _tmp16_; +#line 1230 "GPhoto.c" + } else { +#line 136 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = NULL; +#line 136 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (prefix); +#line 136 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (path); +#line 136 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + (port_info); +#line 136 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1242 "GPhoto.c" + } +#line 138 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp17_ = photo_metadata_new (); +#line 138 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + metadata = _tmp17_; +#line 1248 "GPhoto.c" + { + PhotoMetadata* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp18_ = metadata; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp19_ = path; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20_ = folder; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp21_ = g_strconcat (_tmp19_, _tmp20_, NULL); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp22_ = _tmp21_; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp23_ = g_strconcat (_tmp22_, "/", NULL); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp24_ = _tmp23_; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp25_ = filename; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp26_ = g_strconcat (_tmp24_, _tmp25_, NULL); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp27_ = _tmp26_; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp28_ = g_file_new_for_path (_tmp27_); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp29_ = _tmp28_; +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + media_metadata_read_from_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_MEDIA_METADATA, MediaMetadata), _tmp29_, &_inner_error_); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (_tmp29_); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (_tmp27_); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (_tmp24_); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (_tmp22_); +#line 140 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1298 "GPhoto.c" + goto __catch58_g_error; + } + } + goto __finally58; + __catch58_g_error: + { +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_clear_error (&_inner_error_); +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _media_metadata_unref0 (metadata); +#line 142 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + metadata = NULL; +#line 1313 "GPhoto.c" + } + __finally58: +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _media_metadata_unref0 (metadata); +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (prefix); +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (path); +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + (port_info); +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.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 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_clear_error (&_inner_error_); +#line 139 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 1332 "GPhoto.c" + } +#line 145 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = metadata; +#line 145 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (prefix); +#line 145 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (path); +#line 145 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + (port_info); +#line 145 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1344 "GPhoto.c" +} + + +static guint8* _vala_array_dup23 (guint8* self, int length) { +#line 186 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return g_memdup (self, length * sizeof (guint8)); +#line 1351 "GPhoto.c" +} + + +GdkPixbuf* gp_load_preview (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, guint8** raw, int* raw_length1, gsize* raw_length, GError** error) { + guint8* _vala_raw = NULL; + int _vala_raw_length1 = 0; + gsize _vala_raw_length = 0UL; + GdkPixbuf* result = NULL; + guint8* _tmp25_ = NULL; + gint _tmp25__length1 = 0; + guint8* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gsize _tmp27_ = 0UL; + GMemoryInputStream* mins = NULL; + guint8* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + guint8* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + GMemoryInputStream* _tmp44_ = NULL; + GdkPixbuf* _tmp45_ = NULL; + GMemoryInputStream* _tmp46_ = NULL; + GdkPixbuf* _tmp47_ = NULL; + GdkPixbuf* _tmp48_ = NULL; + GError * _inner_error_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (context != NULL, NULL); +#line 148 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 148 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 148 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 150 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = (g_free (_vala_raw), NULL); +#line 150 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = NULL; +#line 150 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw_length1 = 0; +#line 151 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw_length = (gsize) 0; +#line 1392 "GPhoto.c" + { + guint8* _tmp0_ = NULL; + GPContext* _tmp1_ = NULL; + Camera* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + guint8* _tmp6_ = NULL; + gint _tmp0__length1 = 0; + gint __tmp0__size_ = 0; + guint8* _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = context; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp2_ = camera; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = folder; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp4_ = filename; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = gp_load_file_into_buffer (_tmp1_, _tmp2_, _tmp3_, _tmp4_, GP_FILE_TYPE_PREVIEW, &_tmp5_, &_inner_error_); +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = _tmp6_; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0__length1 = _tmp5_; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + __tmp0__size_ = _tmp0__length1; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1423 "GPhoto.c" + goto __catch59_g_error; + } +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7_ = _tmp0_; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7__length1 = _tmp0__length1; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0__length1 = 0; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = (g_free (_vala_raw), NULL); +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = _tmp7_; +#line 154 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw_length1 = _tmp7__length1; +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = (g_free (_tmp0_), NULL); +#line 1442 "GPhoto.c" + } + goto __finally59; + __catch59_g_error: + { + PhotoMetadata* metadata = NULL; + Camera* _tmp8_ = NULL; + GPContext* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PhotoMetadata* _tmp12_ = NULL; + PhotoMetadata* _tmp13_ = NULL; + PhotoMetadata* _tmp14_ = NULL; + guint _tmp15_ = 0U; + PhotoPreview* preview = NULL; + PhotoMetadata* _tmp16_ = NULL; + PhotoMetadata* _tmp17_ = NULL; + guint _tmp18_ = 0U; + PhotoPreview* _tmp19_ = NULL; + guint8* _tmp20_ = NULL; + PhotoPreview* _tmp21_ = NULL; + gint _tmp22_ = 0; + guint8* _tmp23_ = NULL; + gint _tmp20__length1 = 0; + gint __tmp20__size_ = 0; + guint8* _tmp24_ = NULL; + gint _tmp24__length1 = 0; +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_clear_error (&_inner_error_); +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp8_ = camera; +#line 156 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp9_ = context; +#line 156 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp10_ = folder; +#line 156 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp11_ = filename; +#line 156 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp12_ = gp_get_fallback_metadata (_tmp8_, _tmp9_, _tmp10_, _tmp11_); +#line 156 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + metadata = _tmp12_; +#line 157 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp13_ = metadata; +#line 157 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (NULL == _tmp13_) { +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = NULL; +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _media_metadata_unref0 (metadata); +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw) { +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw = _vala_raw; +#line 1497 "GPhoto.c" + } else { +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = (g_free (_vala_raw), NULL); +#line 1501 "GPhoto.c" + } +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw_length1) { +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw_length1 = _vala_raw_length1; +#line 1507 "GPhoto.c" + } +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw_length) { +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw_length = _vala_raw_length; +#line 1513 "GPhoto.c" + } +#line 158 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1517 "GPhoto.c" + } +#line 159 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp14_ = metadata; +#line 159 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp15_ = photo_metadata_get_preview_count (_tmp14_); +#line 159 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (((guint) 0) == _tmp15_) { +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = NULL; +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _media_metadata_unref0 (metadata); +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw) { +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw = _vala_raw; +#line 1533 "GPhoto.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = (g_free (_vala_raw), NULL); +#line 1537 "GPhoto.c" + } +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw_length1) { +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw_length1 = _vala_raw_length1; +#line 1543 "GPhoto.c" + } +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw_length) { +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw_length = _vala_raw_length; +#line 1549 "GPhoto.c" + } +#line 160 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1553 "GPhoto.c" + } +#line 161 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp16_ = metadata; +#line 161 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp17_ = metadata; +#line 161 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp18_ = photo_metadata_get_preview_count (_tmp17_); +#line 161 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp19_ = photo_metadata_get_preview (_tmp16_, _tmp18_ - 1); +#line 161 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + preview = _tmp19_; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp21_ = preview; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp23_ = photo_preview_flatten (_tmp21_, &_tmp22_, &_inner_error_); +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20_ = _tmp23_; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20__length1 = _tmp22_; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + __tmp20__size_ = _tmp20__length1; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _photo_preview_unref0 (preview); +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _media_metadata_unref0 (metadata); +#line 1581 "GPhoto.c" + goto __finally59; + } +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp24_ = _tmp20_; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp24__length1 = _tmp20__length1; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20__length1 = 0; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = (g_free (_vala_raw), NULL); +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = _tmp24_; +#line 162 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw_length1 = _tmp24__length1; +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20_ = (g_free (_tmp20_), NULL); +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _photo_preview_unref0 (preview); +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _media_metadata_unref0 (metadata); +#line 1604 "GPhoto.c" + } + __finally59: +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 153 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 1613 "GPhoto.c" + } +#line 165 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp25_ = _vala_raw; +#line 165 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp25__length1 = _vala_raw_length1; +#line 165 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp25_ == NULL) { +#line 166 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw_length = (gsize) 0; +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = NULL; +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw) { +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw = _vala_raw; +#line 1629 "GPhoto.c" + } else { +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = (g_free (_vala_raw), NULL); +#line 1633 "GPhoto.c" + } +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw_length1) { +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw_length1 = _vala_raw_length1; +#line 1639 "GPhoto.c" + } +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw_length) { +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw_length = _vala_raw_length; +#line 1645 "GPhoto.c" + } +#line 167 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1649 "GPhoto.c" + } +#line 170 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp26_ = _vala_raw; +#line 170 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp26__length1 = _vala_raw_length1; +#line 170 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw_length = (gsize) _tmp26__length1; +#line 176 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp27_ = _vala_raw_length; +#line 176 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp27_ > ((gsize) 32)) { +#line 1661 "GPhoto.c" + { + gsize i = 0UL; + gsize _tmp28_ = 0UL; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp28_ = _vala_raw_length; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + i = _tmp28_ - 2; +#line 1669 "GPhoto.c" + { + gboolean _tmp29_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp29_ = TRUE; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + while (TRUE) { +#line 1676 "GPhoto.c" + gsize _tmp31_ = 0UL; + gsize _tmp32_ = 0UL; + gboolean _tmp33_ = FALSE; + guint8* _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gsize _tmp35_ = 0UL; + guint8 _tmp36_ = 0U; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (!_tmp29_) { +#line 1686 "GPhoto.c" + gsize _tmp30_ = 0UL; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp30_ = i; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + i = _tmp30_ - 1; +#line 1692 "GPhoto.c" + } +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp29_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp31_ = i; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp32_ = _vala_raw_length; +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (!(_tmp31_ > (_tmp32_ - 32))) { +#line 177 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + break; +#line 1704 "GPhoto.c" + } +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp34_ = _vala_raw; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp34__length1 = _vala_raw_length1; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp35_ = i; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp36_ = _tmp34_[_tmp35_]; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp36_ == JPEG_MARKER_PREFIX) { +#line 1716 "GPhoto.c" + guint8* _tmp37_ = NULL; + gint _tmp37__length1 = 0; + gsize _tmp38_ = 0UL; + guint8 _tmp39_ = 0U; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp37_ = _vala_raw; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp37__length1 = _vala_raw_length1; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp38_ = i; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp39_ = _tmp37_[_tmp38_ + 1]; +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp33_ = _tmp39_ == JPEG_MARKER_EOI; +#line 1731 "GPhoto.c" + } else { +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp33_ = FALSE; +#line 1735 "GPhoto.c" + } +#line 178 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp33_) { +#line 1739 "GPhoto.c" + const gchar* _tmp40_ = NULL; + gsize _tmp41_ = 0UL; +#line 179 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp40_ = filename; +#line 179 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_debug ("GPhoto.vala:179: Adjusted length of thumbnail for: %s", _tmp40_); +#line 180 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp41_ = i; +#line 180 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw_length = _tmp41_ + 2; +#line 181 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + break; +#line 1752 "GPhoto.c" + } + } + } + } + } +#line 186 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp42_ = _vala_raw; +#line 186 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp42__length1 = _vala_raw_length1; +#line 186 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp43_ = (_tmp42_ != NULL) ? _vala_array_dup23 (_tmp42_, _tmp42__length1) : ((gpointer) _tmp42_); +#line 186 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp43__length1 = _tmp42__length1; +#line 186 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp44_ = (GMemoryInputStream*) g_memory_input_stream_new_from_data (_tmp43_, _tmp43__length1, NULL); +#line 186 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + mins = _tmp44_; +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp46_ = mins; +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp47_ = gdk_pixbuf_new_from_stream_at_scale (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, G_TYPE_INPUT_STREAM, GInputStream), IMPORT_PREVIEW_MAX_SCALE, IMPORT_PREVIEW_MAX_SCALE, TRUE, NULL, &_inner_error_); +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp45_ = _tmp47_; +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (mins); +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 1784 "GPhoto.c" + } +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp48_ = _tmp45_; +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp45_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = _tmp48_; +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (_tmp45_); +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (mins); +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw) { +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw = _vala_raw; +#line 1800 "GPhoto.c" + } else { +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _vala_raw = (g_free (_vala_raw), NULL); +#line 1804 "GPhoto.c" + } +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw_length1) { +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw_length1 = _vala_raw_length1; +#line 1810 "GPhoto.c" + } +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (raw_length) { +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *raw_length = _vala_raw_length; +#line 1816 "GPhoto.c" + } +#line 187 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1820 "GPhoto.c" +} + + +GdkPixbuf* gp_load_image (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, GError** error) { + GdkPixbuf* result = NULL; + GInputStream* ins = NULL; + GPContext* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GInputStream* _tmp4_ = NULL; + GInputStream* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GInputStream* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GError * _inner_error_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (context != NULL, NULL); +#line 190 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 190 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 190 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = context; +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = camera; +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp2_ = folder; +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = filename; +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp4_ = gp_load_file_into_stream (_tmp0_, _tmp1_, _tmp2_, _tmp3_, GP_FILE_TYPE_NORMAL, &_inner_error_); +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + ins = _tmp4_; +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 192 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 1864 "GPhoto.c" + } +#line 193 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp5_ = ins; +#line 193 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp5_ == NULL) { +#line 194 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = NULL; +#line 194 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (ins); +#line 194 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1876 "GPhoto.c" + } +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7_ = ins; +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp8_ = gdk_pixbuf_new_from_stream (_tmp7_, NULL, &_inner_error_); +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = _tmp8_; +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (ins); +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 1892 "GPhoto.c" + } +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp9_ = _tmp6_; +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = _tmp9_; +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (_tmp6_); +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (ins); +#line 196 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 1906 "GPhoto.c" +} + + +void gp_save_image (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, GFile* dest_file, GError** error) { + CameraFile* camera_file = NULL; + int res = 0; + CameraFile* _tmp0_ = NULL; + int _tmp1_ = 0; + int _tmp2_ = 0; + Camera* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + CameraFile* _tmp10_ = NULL; + GPContext* _tmp11_ = NULL; + int _tmp12_ = 0; + int _tmp13_ = 0; + CameraFile* _tmp20_ = NULL; + GFile* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + int _tmp24_ = 0; + int _tmp25_ = 0; + GError * _inner_error_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (context != NULL); +#line 199 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (camera != NULL); +#line 199 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (folder != NULL); +#line 199 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (filename != NULL); +#line 199 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_if_fail (G_IS_FILE (dest_file)); +#line 202 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = gp_file_new (&_tmp0_); +#line 202 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 202 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_file = _tmp0_; +#line 202 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp1_; +#line 203 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp2_ = res; +#line 203 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp2_ != GP_OK) { +#line 1952 "GPhoto.c" + int _tmp3_ = 0; + int _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = res; +#line 204 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp4_ = res; +#line 204 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp5_ = gp_port_result_as_string (_tmp4_); +#line 204 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error allocating camera file: %s", (gint) _tmp3_, _tmp5_); +#line 204 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp6_; +#line 204 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 204 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 204 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return; +#line 1973 "GPhoto.c" + } +#line 206 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7_ = camera; +#line 206 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp8_ = folder; +#line 206 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp9_ = filename; +#line 206 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp10_ = camera_file; +#line 206 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp11_ = context; +#line 206 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp12_ = gp_camera_file_get (_tmp7_, _tmp8_, _tmp9_, GP_FILE_TYPE_NORMAL, _tmp10_, _tmp11_); +#line 206 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp12_; +#line 207 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp13_ = res; +#line 207 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp13_ != GP_OK) { +#line 1993 "GPhoto.c" + int _tmp14_ = 0; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + int _tmp17_ = 0; + const gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp14_ = res; +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp15_ = folder; +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp16_ = filename; +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp17_ = res; +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp18_ = gp_port_result_as_string (_tmp17_); +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp19_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error retrieving file object for %s/%s: %s", (gint) _tmp14_, _tmp15_, _tmp16_, _tmp18_); +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp19_; +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 208 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return; +#line 2020 "GPhoto.c" + } +#line 211 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20_ = camera_file; +#line 211 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp21_ = dest_file; +#line 211 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp22_ = g_file_get_path (_tmp21_); +#line 211 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp23_ = _tmp22_; +#line 211 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp24_ = gp_file_save (_tmp20_, _tmp23_); +#line 211 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp24_; +#line 211 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (_tmp23_); +#line 212 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp25_ = res; +#line 212 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp25_ != GP_OK) { +#line 2040 "GPhoto.c" + int _tmp26_ = 0; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + int _tmp32_ = 0; + const gchar* _tmp33_ = NULL; + GError* _tmp34_ = NULL; + GError* _tmp35_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp26_ = res; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp27_ = folder; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp28_ = filename; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp29_ = dest_file; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp30_ = g_file_get_path (_tmp29_); +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp31_ = _tmp30_; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp32_ = res; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp33_ = gp_port_result_as_string (_tmp32_); +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp34_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error copying file %s/%s to %s: %s", (gint) _tmp26_, _tmp27_, _tmp28_, _tmp31_, _tmp33_); +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp35_ = _tmp34_; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (_tmp31_); +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp35_; +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 213 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return; +#line 2081 "GPhoto.c" + } +#line 199 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 2085 "GPhoto.c" +} + + +PhotoMetadata* gp_load_metadata (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, GError** error) { + PhotoMetadata* result = NULL; + guint8* camera_raw = NULL; + gint camera_raw_length1 = 0; + gint _camera_raw_size_ = 0; + gboolean _tmp13_ = FALSE; + guint8* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp16_ = NULL; + PhotoMetadata* _tmp17_ = NULL; + guint8* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + GError * _inner_error_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (context != NULL, NULL); +#line 217 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 217 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 217 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 219 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw = NULL; +#line 219 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw_length1 = 0; +#line 219 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _camera_raw_size_ = camera_raw_length1; +#line 2117 "GPhoto.c" + { + guint8* _tmp0_ = NULL; + GPContext* _tmp1_ = NULL; + Camera* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + guint8* _tmp6_ = NULL; + gint _tmp0__length1 = 0; + gint __tmp0__size_ = 0; + guint8* _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = context; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp2_ = camera; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = folder; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp4_ = filename; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = gp_load_file_into_buffer (_tmp1_, _tmp2_, _tmp3_, _tmp4_, GP_FILE_TYPE_EXIF, &_tmp5_, &_inner_error_); +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = _tmp6_; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0__length1 = _tmp5_; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + __tmp0__size_ = _tmp0__length1; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2148 "GPhoto.c" + goto __catch60_g_error; + } +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7_ = _tmp0_; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7__length1 = _tmp0__length1; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0__length1 = 0; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw = (g_free (camera_raw), NULL); +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw = _tmp7_; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw_length1 = _tmp7__length1; +#line 221 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _camera_raw_size_ = camera_raw_length1; +#line 220 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = (g_free (_tmp0_), NULL); +#line 2169 "GPhoto.c" + } + goto __finally60; + __catch60_g_error: + { + Camera* _tmp8_ = NULL; + GPContext* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PhotoMetadata* _tmp12_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_clear_error (&_inner_error_); +#line 220 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp8_ = camera; +#line 223 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp9_ = context; +#line 223 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp10_ = folder; +#line 223 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp11_ = filename; +#line 223 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp12_ = gp_get_fallback_metadata (_tmp8_, _tmp9_, _tmp10_, _tmp11_); +#line 223 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = _tmp12_; +#line 223 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw = (g_free (camera_raw), NULL); +#line 223 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 2199 "GPhoto.c" + } + __finally60: +#line 220 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 220 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 220 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw = (g_free (camera_raw), NULL); +#line 220 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 2210 "GPhoto.c" + } +#line 226 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp14_ = camera_raw; +#line 226 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp14__length1 = camera_raw_length1; +#line 226 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp14_ == NULL) { +#line 226 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp13_ = TRUE; +#line 2220 "GPhoto.c" + } else { + guint8* _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 226 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp15_ = camera_raw; +#line 226 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp15__length1 = camera_raw_length1; +#line 226 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp13_ = _tmp15__length1 == 0; +#line 2230 "GPhoto.c" + } +#line 226 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp13_) { +#line 227 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = NULL; +#line 227 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw = (g_free (camera_raw), NULL); +#line 227 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 2240 "GPhoto.c" + } +#line 229 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp16_ = photo_metadata_new (); +#line 229 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + metadata = _tmp16_; +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp17_ = metadata; +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp18_ = camera_raw; +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp18__length1 = camera_raw_length1; +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + photo_metadata_read_from_app1_segment (_tmp17_, _tmp18_, _tmp18__length1, 0, &_inner_error_); +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _media_metadata_unref0 (metadata); +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw = (g_free (camera_raw), NULL); +#line 230 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 2264 "GPhoto.c" + } +#line 232 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = metadata; +#line 232 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_raw = (g_free (camera_raw), NULL); +#line 232 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 2272 "GPhoto.c" +} + + +static guint8* _vala_array_dup24 (guint8* self, int length) { +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return g_memdup (self, length * sizeof (guint8)); +#line 2279 "GPhoto.c" +} + + +static void _gp_on_mins_destroyed_gdestroy_notify (void* data) { +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + gp_on_mins_destroyed (data); +#line 2286 "GPhoto.c" +} + + +GInputStream* gp_load_file_into_stream (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, CameraFileType filetype, GError** error) { + GInputStream* result = NULL; + CameraFile* camera_file = NULL; + int res = 0; + CameraFile* _tmp0_ = NULL; + int _tmp1_ = 0; + int _tmp2_ = 0; + Camera* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + CameraFileType _tmp10_ = 0; + GPContext* _tmp11_ = NULL; + int _tmp12_ = 0; + int _tmp13_ = 0; + guint8* data = NULL; + gulong data_len = 0UL; + guint8* _tmp20_ = NULL; + gulong _tmp21_ = 0UL; + int _tmp22_ = 0; + int _tmp23_ = 0; + GFile* temp = NULL; + GFile* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + GFile* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + int _tmp39_ = 0; + int _tmp40_ = 0; + GFileInputStream* _tmp51_ = NULL; + GFile* _tmp52_ = NULL; + GFileInputStream* _tmp53_ = NULL; + GFileInputStream* _tmp54_ = NULL; + GError * _inner_error_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (context != NULL, NULL); +#line 237 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 237 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 237 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 240 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = gp_file_new (&_tmp0_); +#line 240 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 240 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_file = _tmp0_; +#line 240 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp1_; +#line 241 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp2_ = res; +#line 241 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp2_ != GP_OK) { +#line 2345 "GPhoto.c" + int _tmp3_ = 0; + int _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 242 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = res; +#line 242 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp4_ = res; +#line 242 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp5_ = gp_port_result_as_string (_tmp4_); +#line 242 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error allocating camera file: %s", (gint) _tmp3_, _tmp5_); +#line 242 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp6_; +#line 242 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 242 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 242 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 2366 "GPhoto.c" + } +#line 244 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7_ = camera; +#line 244 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp8_ = folder; +#line 244 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp9_ = filename; +#line 244 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp10_ = filetype; +#line 244 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp11_ = context; +#line 244 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp12_ = gp_camera_file_get (_tmp7_, _tmp8_, _tmp9_, _tmp10_, camera_file, _tmp11_); +#line 244 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp12_; +#line 245 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp13_ = res; +#line 245 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp13_ != GP_OK) { +#line 2386 "GPhoto.c" + int _tmp14_ = 0; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + int _tmp17_ = 0; + const gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp14_ = res; +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp15_ = folder; +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp16_ = filename; +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp17_ = res; +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp18_ = gp_port_result_as_string (_tmp17_); +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp19_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error retrieving file object for %s/%s: %s", (gint) _tmp14_, _tmp15_, _tmp16_, _tmp18_); +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp19_; +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 246 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 2413 "GPhoto.c" + } +#line 254 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp22_ = gp_file_get_data_and_size (camera_file, &_tmp20_, &_tmp21_); +#line 254 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + data = _tmp20_; +#line 254 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + data_len = _tmp21_; +#line 254 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp22_; +#line 255 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp23_ = res; +#line 255 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp23_ == GP_OK) { +#line 2427 "GPhoto.c" + guint8* buffer = NULL; + gulong _tmp24_ = 0UL; + guint8* _tmp25_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + guint8* _tmp26_ = NULL; + gint _tmp26__length1 = 0; + guint8* _tmp27_ = NULL; + guint8* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + guint8* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + guint8* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + GMemoryInputStream* _tmp31_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp24_ = data_len; +#line 256 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp25_ = g_new0 (guint8, _tmp24_); +#line 256 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + buffer = _tmp25_; +#line 256 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + buffer_length1 = _tmp24_; +#line 256 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _buffer_size_ = buffer_length1; +#line 257 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp26_ = buffer; +#line 257 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp26__length1 = buffer_length1; +#line 257 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp27_ = data; +#line 257 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp28_ = buffer; +#line 257 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp28__length1 = buffer_length1; +#line 257 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + memcpy (_tmp26_, _tmp27_, (gsize) _tmp28__length1); +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp29_ = buffer; +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp29__length1 = buffer_length1; +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp30_ = (_tmp29_ != NULL) ? _vala_array_dup24 (_tmp29_, _tmp29__length1) : ((gpointer) _tmp29_); +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp30__length1 = _tmp29__length1; +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp31_ = (GMemoryInputStream*) g_memory_input_stream_new_from_data (_tmp30_, _tmp30__length1, _gp_on_mins_destroyed_gdestroy_notify); +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, G_TYPE_INPUT_STREAM, GInputStream); +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + buffer = (g_free (buffer), NULL); +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 259 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 2483 "GPhoto.c" + } +#line 263 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp32_ = app_dirs_get_temp_dir (); +#line 263 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp33_ = _tmp32_; +#line 263 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp34_ = g_file_get_child (_tmp33_, "import.tmp"); +#line 263 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp35_ = _tmp34_; +#line 263 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (_tmp33_); +#line 263 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + temp = _tmp35_; +#line 264 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp36_ = temp; +#line 264 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp37_ = g_file_get_path (_tmp36_); +#line 264 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp38_ = _tmp37_; +#line 264 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp39_ = gp_file_save (camera_file, _tmp38_); +#line 264 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp39_; +#line 264 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (_tmp38_); +#line 265 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp40_ = res; +#line 265 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp40_ != GP_OK) { +#line 2513 "GPhoto.c" + int _tmp41_ = 0; + const gchar* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + GFile* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + int _tmp47_ = 0; + const gchar* _tmp48_ = NULL; + GError* _tmp49_ = NULL; + GError* _tmp50_ = NULL; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp41_ = res; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp42_ = folder; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp43_ = filename; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp44_ = temp; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp45_ = g_file_get_path (_tmp44_); +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp46_ = _tmp45_; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp47_ = res; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp48_ = gp_port_result_as_string (_tmp47_); +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp49_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error copying file %s/%s to %s: %s", (gint) _tmp41_, _tmp42_, _tmp43_, _tmp46_, _tmp48_); +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp50_ = _tmp49_; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_free0 (_tmp46_); +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp50_; +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (temp); +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 266 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 2556 "GPhoto.c" + } +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp52_ = temp; +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp53_ = g_file_read (_tmp52_, NULL, &_inner_error_); +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp51_ = _tmp53_; +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (temp); +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 2574 "GPhoto.c" + } +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp54_ = _tmp51_; +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp51_ = NULL; +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, G_TYPE_INPUT_STREAM, GInputStream); +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (_tmp51_); +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _g_object_unref0 (temp); +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 269 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 2590 "GPhoto.c" +} + + +void gp_on_mins_destroyed (void* data) { + void* _tmp0_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp0_ = data; +#line 273 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_free (_tmp0_); +#line 2600 "GPhoto.c" +} + + +guint8* gp_load_file_into_buffer (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, CameraFileType filetype, int* result_length1, GError** error) { + guint8* result = NULL; + CameraFile* camera_file = NULL; + int res = 0; + CameraFile* _tmp0_ = NULL; + int _tmp1_ = 0; + int _tmp2_ = 0; + Camera* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + CameraFileType _tmp10_ = 0; + CameraFile* _tmp11_ = NULL; + GPContext* _tmp12_ = NULL; + int _tmp13_ = 0; + int _tmp14_ = 0; + guint8* data = NULL; + gulong data_len = 0UL; + CameraFile* _tmp21_ = NULL; + guint8* _tmp22_ = NULL; + gulong _tmp23_ = 0UL; + int _tmp24_ = 0; + int _tmp25_ = 0; + guint8* buffer = NULL; + gulong _tmp27_ = 0UL; + guint8* _tmp28_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + guint8* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + guint8* _tmp30_ = NULL; + guint8* _tmp31_ = NULL; + gint _tmp31__length1 = 0; + guint8* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + GError * _inner_error_ = NULL; +#line 277 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (context != NULL, NULL); +#line 277 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 277 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 277 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 280 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp1_ = gp_file_new (&_tmp0_); +#line 280 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 280 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + camera_file = _tmp0_; +#line 280 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp1_; +#line 281 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp2_ = res; +#line 281 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp2_ != GP_OK) { +#line 2659 "GPhoto.c" + int _tmp3_ = 0; + int _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp3_ = res; +#line 282 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp4_ = res; +#line 282 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp5_ = gp_port_result_as_string (_tmp4_); +#line 282 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp6_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error allocating camera file: %s", (gint) _tmp3_, _tmp5_); +#line 282 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp6_; +#line 282 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 282 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 282 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 2680 "GPhoto.c" + } +#line 284 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp7_ = camera; +#line 284 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp8_ = folder; +#line 284 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp9_ = filename; +#line 284 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp10_ = filetype; +#line 284 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp11_ = camera_file; +#line 284 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp12_ = context; +#line 284 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp13_ = gp_camera_file_get (_tmp7_, _tmp8_, _tmp9_, _tmp10_, _tmp11_, _tmp12_); +#line 284 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp13_; +#line 285 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp14_ = res; +#line 285 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp14_ != GP_OK) { +#line 2702 "GPhoto.c" + int _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + int _tmp18_ = 0; + const gchar* _tmp19_ = NULL; + GError* _tmp20_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp15_ = res; +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp16_ = folder; +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp17_ = filename; +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp18_ = res; +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp19_ = gp_port_result_as_string (_tmp18_); +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp20_ = g_error_new (GPHOTO_ERROR, GPHOTO_ERROR_LIBRARY, "[%d] Error retrieving file object for %s/%s: %s", (gint) _tmp15_, _tmp16_, _tmp17_, _tmp19_); +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _inner_error_ = _tmp20_; +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 286 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return NULL; +#line 2729 "GPhoto.c" + } +#line 293 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp21_ = camera_file; +#line 293 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp24_ = gp_file_get_data_and_size (_tmp21_, &_tmp22_, &_tmp23_); +#line 293 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + data = _tmp22_; +#line 293 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + data_len = _tmp23_; +#line 293 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + res = _tmp24_; +#line 294 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp25_ = res; +#line 294 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (_tmp25_ != GP_OK) { +#line 2745 "GPhoto.c" + guint8* _tmp26_ = NULL; + gint _tmp26__length1 = 0; +#line 295 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp26_ = NULL; +#line 295 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp26__length1 = 0; +#line 295 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (result_length1) { +#line 295 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *result_length1 = _tmp26__length1; +#line 2756 "GPhoto.c" + } +#line 295 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = _tmp26_; +#line 295 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 295 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 2764 "GPhoto.c" + } +#line 297 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp27_ = data_len; +#line 297 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp28_ = g_new0 (guint8, _tmp27_); +#line 297 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + buffer = _tmp28_; +#line 297 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + buffer_length1 = _tmp27_; +#line 297 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _buffer_size_ = buffer_length1; +#line 298 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp29_ = buffer; +#line 298 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp29__length1 = buffer_length1; +#line 298 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp30_ = data; +#line 298 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp31_ = buffer; +#line 298 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp31__length1 = buffer_length1; +#line 298 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + memcpy (_tmp29_, _tmp30_, (gsize) _tmp31__length1); +#line 300 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp32_ = buffer; +#line 300 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _tmp32__length1 = buffer_length1; +#line 300 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + if (result_length1) { +#line 300 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + *result_length1 = _tmp32__length1; +#line 2796 "GPhoto.c" + } +#line 300 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + result = _tmp32_; +#line 300 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + _gp_file_unref0 (camera_file); +#line 300 "/home/jens/Source/shotwell/src/camera/GPhoto.vala" + return result; +#line 2804 "GPhoto.c" +} + + + diff --git a/src/camera/ImportPage.c b/src/camera/ImportPage.c new file mode 100644 index 0000000..810c2b6 --- /dev/null +++ b/src/camera/ImportPage.c @@ -0,0 +1,13681 @@ +/* ImportPage.c generated by valac 0.32.1, the Vala compiler + * generated from ImportPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#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_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#define TYPE_IMPORT_SOURCE_COLLECTION (import_source_collection_get_type ()) +#define IMPORT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_SOURCE_COLLECTION, ImportSourceCollection)) +#define IMPORT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_SOURCE_COLLECTION, ImportSourceCollectionClass)) +#define IS_IMPORT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_SOURCE_COLLECTION)) +#define IS_IMPORT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_SOURCE_COLLECTION)) +#define IMPORT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_SOURCE_COLLECTION, ImportSourceCollectionClass)) + +typedef struct _ImportSourceCollection ImportSourceCollection; +typedef struct _ImportSourceCollectionClass ImportSourceCollectionClass; +typedef struct _ImportSourceCollectionPrivate ImportSourceCollectionPrivate; + +#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_IMPORT_SOURCE (import_source_get_type ()) +#define IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_SOURCE, ImportSource)) +#define IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_SOURCE, ImportSourceClass)) +#define IS_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_SOURCE)) +#define IS_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_SOURCE)) +#define IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_SOURCE, ImportSourceClass)) + +typedef struct _ImportSource ImportSource; +typedef struct _ImportSourceClass ImportSourceClass; +typedef struct _DataObjectPrivate DataObjectPrivate; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; +typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; +typedef struct _ImportSourcePrivate ImportSourcePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _gp_camera_unref0(var) ((var == NULL) ? NULL : (var = (gp_camera_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define GP_TYPE_CONTEXT_WRAPPER (gp_context_wrapper_get_type ()) +#define GP_CONTEXT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)) +#define GP_CONTEXT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapperClass)) +#define GP_IS_CONTEXT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GP_TYPE_CONTEXT_WRAPPER)) +#define GP_IS_CONTEXT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GP_TYPE_CONTEXT_WRAPPER)) +#define GP_CONTEXT_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GP_TYPE_CONTEXT_WRAPPER, GPContextWrapperClass)) + +typedef struct _GPContextWrapper GPContextWrapper; +typedef struct _GPContextWrapperClass GPContextWrapperClass; + +#define GP_TYPE_SPIN_IDLE_WRAPPER (gp_spin_idle_wrapper_get_type ()) +#define GP_SPIN_IDLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapper)) +#define GP_SPIN_IDLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapperClass)) +#define GP_IS_SPIN_IDLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GP_TYPE_SPIN_IDLE_WRAPPER)) +#define GP_IS_SPIN_IDLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GP_TYPE_SPIN_IDLE_WRAPPER)) +#define GP_SPIN_IDLE_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GP_TYPE_SPIN_IDLE_WRAPPER, GPSpinIdleWrapperClass)) + +typedef struct _GPSpinIdleWrapper GPSpinIdleWrapper; +typedef struct _GPSpinIdleWrapperClass GPSpinIdleWrapperClass; +typedef struct _GPContextWrapperPrivate GPContextWrapperPrivate; + +#define TYPE_VIDEO_IMPORT_SOURCE (video_import_source_get_type ()) +#define VIDEO_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource)) +#define VIDEO_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_IMPORT_SOURCE, VideoImportSourceClass)) +#define IS_VIDEO_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_IMPORT_SOURCE)) +#define IS_VIDEO_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_IMPORT_SOURCE)) +#define VIDEO_IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_IMPORT_SOURCE, VideoImportSourceClass)) + +typedef struct _VideoImportSource VideoImportSource; +typedef struct _VideoImportSourceClass VideoImportSourceClass; +typedef struct _VideoImportSourcePrivate VideoImportSourcePrivate; + +#define TYPE_PHOTO_IMPORT_SOURCE (photo_import_source_get_type ()) +#define PHOTO_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource)) +#define PHOTO_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSourceClass)) +#define IS_PHOTO_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_IMPORT_SOURCE)) +#define IS_PHOTO_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_IMPORT_SOURCE)) +#define PHOTO_IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSourceClass)) + +typedef struct _PhotoImportSource PhotoImportSource; +typedef struct _PhotoImportSourceClass PhotoImportSourceClass; +typedef struct _PhotoImportSourcePrivate PhotoImportSourcePrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_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; +typedef struct _DataViewPrivate DataViewPrivate; + +#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; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; + +#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; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#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; +typedef struct _MediaSourceItemPrivate MediaSourceItemPrivate; + +#define TYPE_IMPORT_PREVIEW (import_preview_get_type ()) +#define IMPORT_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_PREVIEW, ImportPreview)) +#define IMPORT_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_PREVIEW, ImportPreviewClass)) +#define IS_IMPORT_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_PREVIEW)) +#define IS_IMPORT_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_PREVIEW)) +#define IMPORT_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_PREVIEW, ImportPreviewClass)) + +typedef struct _ImportPreview ImportPreview; +typedef struct _ImportPreviewClass ImportPreviewClass; +typedef struct _ImportPreviewPrivate ImportPreviewPrivate; + +#define TYPE_DUPLICATED_FILE (duplicated_file_get_type ()) +#define DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATED_FILE, DuplicatedFile)) +#define DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) +#define IS_DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATED_FILE)) +#define IS_DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATED_FILE)) +#define DUPLICATED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) + +typedef struct _DuplicatedFile DuplicatedFile; +typedef struct _DuplicatedFileClass DuplicatedFileClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_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_VIDEO_ID (video_id_get_type ()) +typedef struct _VideoID VideoID; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; +typedef struct _CoreTrackerPrivate CoreTrackerPrivate; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; +typedef struct _CoreViewTrackerPrivate CoreViewTrackerPrivate; + +#define TYPE_CAMERA_VIEW_TRACKER (camera_view_tracker_get_type ()) +#define CAMERA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_VIEW_TRACKER, CameraViewTracker)) +#define CAMERA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_VIEW_TRACKER, CameraViewTrackerClass)) +#define IS_CAMERA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_VIEW_TRACKER)) +#define IS_CAMERA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_VIEW_TRACKER)) +#define CAMERA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_VIEW_TRACKER, CameraViewTrackerClass)) + +typedef struct _CameraViewTracker CameraViewTracker; +typedef struct _CameraViewTrackerClass CameraViewTrackerClass; +typedef struct _CameraViewTrackerPrivate CameraViewTrackerPrivate; + +#define TYPE_CAMERA_ACCUMULATOR (camera_accumulator_get_type ()) +#define CAMERA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_ACCUMULATOR, CameraAccumulator)) +#define CAMERA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorClass)) +#define IS_CAMERA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_ACCUMULATOR)) +#define IS_CAMERA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_ACCUMULATOR)) +#define CAMERA_ACCUMULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorClass)) + +typedef struct _CameraAccumulator CameraAccumulator; +typedef struct _CameraAccumulatorClass CameraAccumulatorClass; + +#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 CORE_TYPE_TRACKER_ACCUMULATOR (core_tracker_accumulator_get_type ()) +#define CORE_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)) +#define CORE_IS_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR)) +#define CORE_TRACKER_ACCUMULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulatorIface)) + +typedef struct _CoreTrackerAccumulator CoreTrackerAccumulator; +typedef struct _CoreTrackerAccumulatorIface CoreTrackerAccumulatorIface; +typedef struct _CameraAccumulatorPrivate CameraAccumulatorPrivate; + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define TYPE_IMPORT_PAGE (import_page_get_type ()) +#define IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_PAGE, ImportPage)) +#define IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_PAGE, ImportPageClass)) +#define IS_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_PAGE)) +#define IS_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_PAGE)) +#define IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_PAGE, ImportPageClass)) + +typedef struct _ImportPage ImportPage; +typedef struct _ImportPageClass ImportPageClass; +typedef struct _ImportPagePrivate ImportPagePrivate; + +#define IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER (import_page_import_page_search_view_filter_get_type ()) +#define IMPORT_PAGE_IMPORT_PAGE_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER, ImportPageImportPageSearchViewFilter)) +#define IMPORT_PAGE_IMPORT_PAGE_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER, ImportPageImportPageSearchViewFilterClass)) +#define IMPORT_PAGE_IS_IMPORT_PAGE_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER)) +#define IMPORT_PAGE_IS_IMPORT_PAGE_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER)) +#define IMPORT_PAGE_IMPORT_PAGE_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER, ImportPageImportPageSearchViewFilterClass)) + +typedef struct _ImportPageImportPageSearchViewFilter ImportPageImportPageSearchViewFilter; +typedef struct _ImportPageImportPageSearchViewFilterClass ImportPageImportPageSearchViewFilterClass; + +#define IMPORT_PAGE_TYPE_HIDE_IMPORTED_VIEW_FILTER (import_page_hide_imported_view_filter_get_type ()) +#define IMPORT_PAGE_HIDE_IMPORTED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_PAGE_TYPE_HIDE_IMPORTED_VIEW_FILTER, ImportPageHideImportedViewFilter)) +#define IMPORT_PAGE_HIDE_IMPORTED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_PAGE_TYPE_HIDE_IMPORTED_VIEW_FILTER, ImportPageHideImportedViewFilterClass)) +#define IMPORT_PAGE_IS_HIDE_IMPORTED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_PAGE_TYPE_HIDE_IMPORTED_VIEW_FILTER)) +#define IMPORT_PAGE_IS_HIDE_IMPORTED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_PAGE_TYPE_HIDE_IMPORTED_VIEW_FILTER)) +#define IMPORT_PAGE_HIDE_IMPORTED_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_PAGE_TYPE_HIDE_IMPORTED_VIEW_FILTER, ImportPageHideImportedViewFilterClass)) + +typedef struct _ImportPageHideImportedViewFilter ImportPageHideImportedViewFilter; +typedef struct _ImportPageHideImportedViewFilterClass ImportPageHideImportedViewFilterClass; + +#define IMPORT_PAGE_TYPE_REFRESH_RESULT (import_page_refresh_result_get_type ()) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) +#define _core_tracker_unref0(var) ((var == NULL) ? NULL : (var = (core_tracker_unref (var), NULL))) +#define _gp_context_wrapper_unref0(var) ((var == NULL) ? NULL : (var = (gp_context_wrapper_unref (var), NULL))) + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; + +#define IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER (import_page_import_view_manager_get_type ()) +#define IMPORT_PAGE_IMPORT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER, ImportPageImportViewManager)) +#define IMPORT_PAGE_IMPORT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER, ImportPageImportViewManagerClass)) +#define IMPORT_PAGE_IS_IMPORT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER)) +#define IMPORT_PAGE_IS_IMPORT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER)) +#define IMPORT_PAGE_IMPORT_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER, ImportPageImportViewManagerClass)) + +typedef struct _ImportPageImportViewManager ImportPageImportViewManager; +typedef struct _ImportPageImportViewManagerClass ImportPageImportViewManagerClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ()) +#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob)) +#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) +#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB)) +#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB)) +#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) + +typedef struct _BatchImportJob BatchImportJob; +typedef struct _BatchImportJobClass BatchImportJobClass; + +#define IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB (import_page_camera_import_job_get_type ()) +#define IMPORT_PAGE_CAMERA_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob)) +#define IMPORT_PAGE_CAMERA_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJobClass)) +#define IMPORT_PAGE_IS_CAMERA_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB)) +#define IMPORT_PAGE_IS_CAMERA_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB)) +#define IMPORT_PAGE_CAMERA_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJobClass)) + +typedef struct _ImportPageCameraImportJob ImportPageCameraImportJob; +typedef struct _ImportPageCameraImportJobClass ImportPageCameraImportJobClass; + +#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_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 _gp_list_unref0(var) ((var == NULL) ? NULL : (var = (gp_list_unref (var), NULL))) + +#define TYPE_SORTED_LIST (sorted_list_get_type ()) +#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList)) +#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass)) +#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST)) +#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST)) +#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass)) + +typedef struct _SortedList SortedList; +typedef struct _SortedListClass SortedListClass; +#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL))) + +#define TYPE_BATCH_IMPORT (batch_import_get_type ()) +#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport)) +#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass)) +#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT)) +#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT)) +#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass)) + +typedef struct _BatchImport BatchImport; +typedef struct _BatchImportClass BatchImportClass; + +#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ()) +#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest)) +#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass)) +#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST)) +#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST)) +#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass)) + +typedef struct _ImportManifest ImportManifest; +typedef struct _ImportManifestClass ImportManifestClass; + +#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ()) +#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll)) +#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) +#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL)) +#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL)) +#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) + +typedef struct _BatchImportRoll BatchImportRoll; +typedef struct _BatchImportRollClass BatchImportRollClass; + +#define TYPE_BATCH_IMPORT_RESULT (batch_import_result_get_type ()) +#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult)) +#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) +#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT)) +#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT)) +#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) + +typedef struct _BatchImportResult BatchImportResult; +typedef struct _BatchImportResultClass BatchImportResultClass; + +#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 _import_manifest_unref0(var) ((var == NULL) ? NULL : (var = (import_manifest_unref (var), NULL))) +typedef struct _BatchImportResultPrivate BatchImportResultPrivate; + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) +typedef struct _ImportManifestPrivate ImportManifestPrivate; + +#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ()) +#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams)) +#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) +#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) + +typedef struct _ImportUIQuestionParams ImportUIQuestionParams; +typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass; +#define _import_ui_question_params_unref0(var) ((var == NULL) ? NULL : (var = (import_ui_question_params_unref (var), NULL))) +#define _batch_import_result_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_result_unref (var), NULL))) + +#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; +typedef struct _ViewManagerPrivate ViewManagerPrivate; +typedef struct _ImportPageImportViewManagerPrivate ImportPageImportViewManagerPrivate; +typedef struct _BatchImportJobPrivate BatchImportJobPrivate; +typedef struct _ImportPageCameraImportJobPrivate ImportPageCameraImportJobPrivate; + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; +#define _backing_photo_row_unref0(var) ((var == NULL) ? NULL : (var = (backing_photo_row_unref (var), NULL))) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; + +#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; +typedef struct _ViewFilterPrivate ViewFilterPrivate; +typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate; +typedef struct _ImportPageImportPageSearchViewFilterPrivate ImportPageImportPageSearchViewFilterPrivate; + +#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ()) +typedef struct _ImportPageHideImportedViewFilterPrivate ImportPageHideImportedViewFilterPrivate; +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _ImportSourceCollection { + SourceCollection parent_instance; + ImportSourceCollectionPrivate * priv; +}; + +struct _ImportSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +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 _ThumbnailSource { + DataSource parent_instance; + ThumbnailSourcePrivate * priv; +}; + +struct _ThumbnailSourceClass { + DataSourceClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailSource* self); + GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + gchar* (*get_representative_id) (ThumbnailSource* self); + PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self); + void (*thumbnail_altered) (ThumbnailSource* self); +}; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _ImportSource { + ThumbnailSource parent_instance; + ImportSourcePrivate * priv; +}; + +struct _ImportSourceClass { + ThumbnailSourceClass parent_class; + GdkPixbuf* (*get_preview) (ImportSource* self); + time_t (*get_exposure_time) (ImportSource* self); +}; + +struct _ImportSourcePrivate { + gchar* camera_name; + Camera* camera; + gint fsid; + gchar* folder; + gchar* filename; + gulong file_size; + time_t modification_time; + GdkPixbuf* preview; + gchar* indexable_keywords; +}; + +struct _GPContextWrapper { + GTypeInstance parent_instance; + volatile int ref_count; + GPContextWrapperPrivate * priv; + GPContext* context; +}; + +struct _GPContextWrapperClass { + GTypeClass parent_class; + void (*finalize) (GPContextWrapper *self); + void (*idle) (GPContextWrapper* self); + void (*error) (GPContextWrapper* self, const gchar* text, void* data); + void (*status) (GPContextWrapper* self, const gchar* text, void* data); + void (*message) (GPContextWrapper* self, const gchar* text, void* data); + void (*progress_start) (GPContextWrapper* self, gfloat current, const gchar* text, void* data); + void (*progress_update) (GPContextWrapper* self, gfloat current, void* data); + void (*progress_stop) (GPContextWrapper* self); +}; + +struct _VideoImportSource { + ImportSource parent_instance; + VideoImportSourcePrivate * priv; +}; + +struct _VideoImportSourceClass { + ImportSourceClass parent_class; +}; + +struct _PhotoImportSource { + ImportSource parent_instance; + PhotoImportSourcePrivate * priv; +}; + +struct _PhotoImportSourceClass { + ImportSourceClass parent_class; +}; + +struct _PhotoImportSourcePrivate { + PhotoFileFormat file_format; + gchar* preview_md5; + PhotoMetadata* metadata; + gchar* exif_md5; + PhotoImportSource* associated; +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +struct _MediaSourceItem { + CheckerboardItem parent_instance; + MediaSourceItemPrivate * priv; +}; + +struct _MediaSourceItemClass { + CheckerboardItemClass parent_class; +}; + +struct _ImportPreview { + MediaSourceItem parent_instance; + ImportPreviewPrivate * priv; +}; + +struct _ImportPreviewClass { + MediaSourceItemClass parent_class; +}; + +struct _ImportPreviewPrivate { + DuplicatedFile* duplicated_file; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _PhotoID { + gint64 id; +}; + +struct _VideoID { + gint64 id; +}; + +struct _CoreTracker { + GTypeInstance parent_instance; + volatile int ref_count; + CoreTrackerPrivate * priv; +}; + +struct _CoreTrackerClass { + GTypeClass parent_class; + void (*finalize) (CoreTracker *self); + void (*updated) (CoreTracker* self); +}; + +struct _CoreViewTracker { + CoreTracker parent_instance; + CoreViewTrackerPrivate * priv; +}; + +struct _CoreViewTrackerClass { + CoreTrackerClass parent_class; +}; + +struct _CameraViewTracker { + CoreViewTracker parent_instance; + CameraViewTrackerPrivate * priv; + CameraAccumulator* all; + CameraAccumulator* visible; + CameraAccumulator* selected; +}; + +struct _CameraViewTrackerClass { + CoreViewTrackerClass parent_class; +}; + +struct _CoreTrackerAccumulatorIface { + GTypeInterface parent_iface; + gboolean (*include) (CoreTrackerAccumulator* self, DataObject* object); + gboolean (*uninclude) (CoreTrackerAccumulator* self, DataObject* object); + gboolean (*altered) (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration); +}; + +struct _CameraAccumulator { + GObject parent_instance; + CameraAccumulatorPrivate * priv; +}; + +struct _CameraAccumulatorClass { + GObjectClass parent_class; +}; + +struct _CameraAccumulatorPrivate { + gint _total; + gint _photos; + gint _videos; + gint _raw; +}; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +struct _ImportPage { + CheckerboardPage parent_instance; + ImportPagePrivate * priv; +}; + +struct _ImportPageClass { + CheckerboardPageClass parent_class; +}; + +struct _ImportPagePrivate { + SourceCollection* import_sources; + GtkLabel* camera_label; + GtkCheckButton* hide_imported; + GtkProgressBar* progress_bar; + Camera* camera; + gchar* uri; + gboolean busy; + gboolean refreshed; + int refresh_result; + gchar* refresh_error; + gchar* camera_name; + GVolumeMonitor* volume_monitor; + ImportPage* local_ref; + gchar* icon; + ImportPageImportPageSearchViewFilter* search_filter; + ImportPageHideImportedViewFilter* hide_imported_filter; + CameraViewTracker* tracker; +}; + +typedef enum { + IMPORT_PAGE_REFRESH_RESULT_OK, + IMPORT_PAGE_REFRESH_RESULT_BUSY, + IMPORT_PAGE_REFRESH_RESULT_LOCKED, + IMPORT_PAGE_REFRESH_RESULT_LIBRARY_ERROR +} ImportPageRefreshResult; + +typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, void* user_data); +typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data); +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +struct _BatchImportResult { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportResultPrivate * priv; + BatchImportJob* job; + GFile* file; + gchar* src_identifier; + gchar* dest_identifier; + ImportResult result; + gchar* errmsg; + DuplicatedFile* duplicate_of; +}; + +struct _BatchImportResultClass { + GTypeClass parent_class; + void (*finalize) (BatchImportResult *self); +}; + +struct _ImportManifest { + GTypeInstance parent_instance; + volatile int ref_count; + ImportManifestPrivate * priv; + GeeList* imported; + GeeList* success; + GeeList* camera_failed; + GeeList* failed; + GeeList* write_failed; + GeeList* skipped_photos; + GeeList* skipped_files; + GeeList* aborted; + GeeList* already_imported; + GeeList* corrupt_files; + GeeList* all; +}; + +struct _ImportManifestClass { + GTypeClass parent_class; + void (*finalize) (ImportManifest *self); +}; + +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _ImportPageImportViewManager { + ViewManager parent_instance; + ImportPageImportViewManagerPrivate * priv; +}; + +struct _ImportPageImportViewManagerClass { + ViewManagerClass parent_class; +}; + +struct _ImportPageImportViewManagerPrivate { + ImportPage* owner; +}; + +struct _BatchImportJob { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportJobPrivate * priv; +}; + +struct _BatchImportJobClass { + GTypeClass parent_class; + void (*finalize) (BatchImportJob *self); + gchar* (*get_dest_identifier) (BatchImportJob* self); + gchar* (*get_source_identifier) (BatchImportJob* self); + gboolean (*is_directory) (BatchImportJob* self); + gchar* (*get_basename) (BatchImportJob* self); + gchar* (*get_path) (BatchImportJob* self); + DuplicatedFile* (*get_duplicated_file) (BatchImportJob* self); + void (*set_associated) (BatchImportJob* self, BatchImportJob* associated); + gboolean (*determine_file_size) (BatchImportJob* self, guint64* filesize, GFile** file_or_dir); + gboolean (*prepare) (BatchImportJob* self, GFile** file_to_import, gboolean* copy_to_library, GError** error); + gboolean (*complete) (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error); + time_t (*get_exposure_time_override) (BatchImportJob* self); +}; + +struct _ImportPageCameraImportJob { + BatchImportJob parent_instance; + ImportPageCameraImportJobPrivate * priv; +}; + +struct _ImportPageCameraImportJobClass { + BatchImportJobClass parent_class; +}; + +struct _ImportPageCameraImportJobPrivate { + GPContextWrapper* context; + ImportSource* import_file; + Camera* camera; + gchar* fulldir; + gchar* filename; + guint64 filesize; + PhotoMetadata* metadata; + time_t exposure_time; + ImportPageCameraImportJob* associated; + BackingPhotoRow* associated_file; + DuplicatedFile* duplicated_file; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _BackingPhotoID { + gint64 id; +}; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _SearchViewFilter { + ViewFilter parent_instance; + SearchViewFilterPrivate * priv; +}; + +struct _SearchViewFilterClass { + ViewFilterClass parent_class; + guint (*get_criteria) (SearchViewFilter* self); +}; + +struct _ImportPageImportPageSearchViewFilter { + SearchViewFilter parent_instance; + ImportPageImportPageSearchViewFilterPrivate * priv; +}; + +struct _ImportPageImportPageSearchViewFilterClass { + SearchViewFilterClass parent_class; +}; + +typedef enum { + SEARCH_FILTER_CRITERIA_NONE = 0, + SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0, + SEARCH_FILTER_CRITERIA_TEXT = 1 << 1, + SEARCH_FILTER_CRITERIA_FLAG = 1 << 2, + SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3, + SEARCH_FILTER_CRITERIA_RATING = 1 << 4, + SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5, + SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL +} SearchFilterCriteria; + +struct _ImportPageHideImportedViewFilter { + ViewFilter parent_instance; + ImportPageHideImportedViewFilterPrivate * priv; +}; + +struct _ImportPageHideImportedViewFilterClass { + ViewFilterClass parent_class; +}; + + +static gpointer import_source_collection_parent_class = NULL; +static gpointer import_source_parent_class = NULL; +extern GPSpinIdleWrapper* import_page_spin_idle_context; +static IndexableIface* import_source_indexable_parent_iface = NULL; +static gpointer video_import_source_parent_class = NULL; +static gpointer photo_import_source_parent_class = NULL; +static gpointer import_preview_parent_class = NULL; +static GdkPixbuf* import_preview_placeholder_preview; +static GdkPixbuf* import_preview_placeholder_preview = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +static gpointer camera_view_tracker_parent_class = NULL; +static gpointer camera_accumulator_parent_class = NULL; +static CoreTrackerAccumulatorIface* camera_accumulator_core_tracker_accumulator_parent_iface = NULL; +static gpointer import_page_parent_class = NULL; +extern GPContextWrapper* import_page_null_context; +GPContextWrapper* import_page_null_context = NULL; +GPSpinIdleWrapper* import_page_spin_idle_context = NULL; +static gpointer import_page_import_view_manager_parent_class = NULL; +static gpointer import_page_camera_import_job_parent_class = NULL; +static gpointer import_page_import_page_search_view_filter_parent_class = NULL; +static gpointer import_page_hide_imported_view_filter_parent_class = NULL; + +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 data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType import_source_collection_get_type (void) G_GNUC_CONST; +enum { + IMPORT_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +ImportSourceCollection* import_source_collection_new (const gchar* name); +ImportSourceCollection* import_source_collection_construct (GType object_type, const gchar* name); +SourceCollection* source_collection_construct (GType object_type, const gchar* name); +static gboolean import_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType import_source_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +#define IMPORT_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_IMPORT_SOURCE, ImportSourcePrivate)) +enum { + IMPORT_SOURCE_DUMMY_PROPERTY +}; +ImportSource* import_source_construct (GType object_type, const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +ThumbnailSource* thumbnail_source_construct (GType object_type, gint64 object_id); +gchar* indexable_prepare_indexable_string (const gchar* str); +void import_source_set_preview (ImportSource* self, GdkPixbuf* preview); +gchar* import_source_get_camera_name (ImportSource* self); +Camera* import_source_get_camera (ImportSource* self); +gint import_source_get_fsid (ImportSource* self); +gchar* import_source_get_folder (ImportSource* self); +gchar* import_source_get_filename (ImportSource* self); +gulong import_source_get_filesize (ImportSource* self); +time_t import_source_get_modification_time (ImportSource* self); +GdkPixbuf* import_source_get_preview (ImportSource* self); +static GdkPixbuf* import_source_real_get_preview (ImportSource* self); +time_t import_source_get_exposure_time (ImportSource* self); +static time_t import_source_real_get_exposure_time (ImportSource* self); +gchar* import_source_get_fulldir (ImportSource* self); +gchar* import_page_get_fulldir (Camera* camera, const gchar* camera_name, gint fsid, const gchar* folder); +static gchar* import_source_real_to_string (DataObject* base); +static gboolean import_source_real_internal_delete_backing (DataSource* base, GError** error); +gchar* data_object_to_string (DataObject* self); +gboolean data_source_internal_delete_backing (DataSource* self, GError** error); +gpointer gp_context_wrapper_ref (gpointer instance); +void gp_context_wrapper_unref (gpointer instance); +GParamSpec* gp_param_spec_context_wrapper (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void gp_value_set_context_wrapper (GValue* value, gpointer v_object); +void gp_value_take_context_wrapper (GValue* value, gpointer v_object); +gpointer gp_value_get_context_wrapper (const GValue* value); +GType gp_context_wrapper_get_type (void) G_GNUC_CONST; +GType gp_spin_idle_wrapper_get_type (void) G_GNUC_CONST; +static const gchar* import_source_real_get_indexable_keywords (Indexable* base); +static void import_source_finalize (GObject* obj); +GType video_import_source_get_type (void) G_GNUC_CONST; +enum { + VIDEO_IMPORT_SOURCE_DUMMY_PROPERTY +}; +VideoImportSource* video_import_source_new (const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time); +VideoImportSource* video_import_source_construct (GType object_type, const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time); +static GdkPixbuf* video_import_source_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* thumbnail_source_create_thumbnail (ThumbnailSource* self, gint scale, GError** error); +static GdkPixbuf* video_import_source_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error); +GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf, gint scale, GdkInterpType interp, gboolean scale_up); +static gchar* video_import_source_real_get_typename (DataSource* base); +static gint64 video_import_source_real_get_instance_id (DataSource* base); +gint64 data_object_get_object_id (DataObject* self); +static PhotoFileFormat video_import_source_real_get_preferred_thumbnail_format (ThumbnailSource* base); +PhotoFileFormat photo_file_format_get_system_default_format (void); +static gchar* video_import_source_real_get_name (DataObject* base); +void video_import_source_update (VideoImportSource* self, GdkPixbuf* preview); +GdkPixbuf* resources_get_noninterpretable_badge_pixbuf (void); +GType photo_import_source_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +#define PHOTO_IMPORT_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSourcePrivate)) +enum { + PHOTO_IMPORT_SOURCE_DUMMY_PROPERTY +}; +#define PHOTO_IMPORT_SOURCE_INTERP GDK_INTERP_BILINEAR +PhotoImportSource* photo_import_source_new (const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time, PhotoFileFormat file_format); +PhotoImportSource* photo_import_source_construct (GType object_type, const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time, PhotoFileFormat file_format); +static gchar* photo_import_source_real_get_name (DataObject* base); +gchar* photo_import_source_get_title (PhotoImportSource* self); +gboolean is_string_empty (const gchar* s); +static gchar* photo_import_source_real_get_typename (DataSource* base); +static gint64 photo_import_source_real_get_instance_id (DataSource* base); +static PhotoFileFormat photo_import_source_real_get_preferred_thumbnail_format (ThumbnailSource* base); +gboolean photo_file_format_can_write (PhotoFileFormat self); +static GdkPixbuf* photo_import_source_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error); +void photo_import_source_update (PhotoImportSource* self, GdkPixbuf* preview, const gchar* preview_md5, PhotoMetadata* metadata, const gchar* exif_md5); +static time_t photo_import_source_real_get_exposure_time (ImportSource* base); +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +gchar* media_metadata_get_title (MediaMetadata* self); +PhotoMetadata* photo_import_source_get_metadata (PhotoImportSource* self); +static GdkPixbuf* photo_import_source_real_get_preview (ImportSource* base); +static GdkPixbuf* photo_import_source_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error); +PhotoFileFormat photo_import_source_get_file_format (PhotoImportSource* self); +gchar* photo_import_source_get_preview_md5 (PhotoImportSource* self); +void photo_import_source_set_associated (PhotoImportSource* self, PhotoImportSource* associated); +PhotoImportSource* photo_import_source_get_associated (PhotoImportSource* self); +static gboolean photo_import_source_real_internal_delete_backing (DataSource* base, GError** error); +static void photo_import_source_finalize (GObject* obj); +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 dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType media_source_item_get_type (void) G_GNUC_CONST; +GType import_preview_get_type (void) G_GNUC_CONST; +GType duplicated_file_get_type (void) G_GNUC_CONST; +#define IMPORT_PREVIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_IMPORT_PREVIEW, ImportPreviewPrivate)) +enum { + IMPORT_PREVIEW_DUMMY_PROPERTY +}; +#define IMPORT_PREVIEW_MAX_SCALE 128 +ImportPreview* import_preview_new (ImportSource* source); +ImportPreview* import_preview_construct (GType object_type, ImportSource* source); +void dimensions_init (Dimensions *self, gint width, gint height); +gchar* data_object_get_name (DataObject* self); +MediaSourceItem* media_source_item_new (ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +MediaSourceItem* media_source_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +void media_source_item_set_enable_sprockets (MediaSourceItem* self, gboolean enable_sprockets); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +GdkPixbuf* get_placeholder_pixbuf (void); +GType orientation_get_type (void) G_GNUC_CONST; +Orientation photo_metadata_get_orientation (PhotoMetadata* self); +GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf); +void checkerboard_item_set_subtitle (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +void checkerboard_item_set_image (CheckerboardItem* self, GdkPixbuf* pixbuf); +gboolean import_preview_is_already_imported (ImportPreview* self); +ImportSource* import_preview_get_import_source (ImportPreview* self); +gboolean library_photo_has_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format); +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +DuplicatedFile* duplicated_file_create_from_photo_id (PhotoID* photo_id); +void library_photo_get_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format, PhotoID* result); +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +gboolean library_photo_source_collection_has_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize); +void library_photo_source_collection_get_basename_filesize_duplicate (LibraryPhotoSourceCollection* self, const gchar* basename, gint64 filesize, PhotoID* result); +GType video_source_collection_get_type (void) G_GNUC_CONST; +gboolean video_source_collection_has_basename_filesize_duplicate (VideoSourceCollection* self, const gchar* basename, guint64 filesize); +GType video_id_get_type (void) G_GNUC_CONST; +VideoID* video_id_dup (const VideoID* self); +void video_id_free (VideoID* self); +DuplicatedFile* duplicated_file_create_from_video_id (VideoID* video_id); +void video_source_collection_get_basename_filesize_duplicate (VideoSourceCollection* self, const gchar* basename, guint64 filesize, VideoID* result); +DuplicatedFile* import_preview_get_duplicated_file (ImportPreview* self); +DataSource* data_view_get_source (DataView* self); +static void import_preview_finalize (GObject* obj); +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType camera_view_tracker_get_type (void) G_GNUC_CONST; +GType camera_accumulator_get_type (void) G_GNUC_CONST; +enum { + CAMERA_VIEW_TRACKER_DUMMY_PROPERTY +}; +CameraAccumulator* camera_accumulator_new (void); +CameraAccumulator* camera_accumulator_construct (GType object_type); +GType view_collection_get_type (void) G_GNUC_CONST; +CameraViewTracker* camera_view_tracker_new (ViewCollection* collection); +CameraViewTracker* camera_view_tracker_construct (GType object_type, ViewCollection* collection); +CoreViewTracker* core_view_tracker_new (ViewCollection* collection); +CoreViewTracker* core_view_tracker_construct (GType object_type, ViewCollection* collection); +GType core_tracker_accumulator_get_type (void) G_GNUC_CONST; +void core_view_tracker_start (CoreViewTracker* self, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); +static void camera_view_tracker_finalize (CoreTracker* obj); +#define CAMERA_ACCUMULATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorPrivate)) +enum { + CAMERA_ACCUMULATOR_DUMMY_PROPERTY, + CAMERA_ACCUMULATOR_TOTAL, + CAMERA_ACCUMULATOR_PHOTOS, + CAMERA_ACCUMULATOR_VIDEOS, + CAMERA_ACCUMULATOR_RAW +}; +static gboolean camera_accumulator_real_include (CoreTrackerAccumulator* base, DataObject* object); +gint camera_accumulator_get_total (CameraAccumulator* self); +static void camera_accumulator_set_total (CameraAccumulator* self, gint value); +gint camera_accumulator_get_photos (CameraAccumulator* self); +static void camera_accumulator_set_photos (CameraAccumulator* self, gint value); +gint camera_accumulator_get_raw (CameraAccumulator* self); +static void camera_accumulator_set_raw (CameraAccumulator* self, gint value); +gint camera_accumulator_get_videos (CameraAccumulator* self); +static void camera_accumulator_set_videos (CameraAccumulator* self, gint value); +static gboolean camera_accumulator_real_uninclude (CoreTrackerAccumulator* base, DataObject* object); +static gboolean camera_accumulator_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration); +gchar* camera_accumulator_to_string (CameraAccumulator* self); +static void camera_accumulator_finalize (GObject* obj); +static void _vala_camera_accumulator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_camera_accumulator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +GType import_page_get_type (void) G_GNUC_CONST; +static GType import_page_import_page_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GType import_page_hide_imported_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define IMPORT_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_IMPORT_PAGE, ImportPagePrivate)) +enum { + IMPORT_PAGE_DUMMY_PROPERTY +}; +static void import_page_on_media_added_removed (ImportPage* self); +static void _import_page_on_media_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +GType import_page_refresh_result_get_type (void) G_GNUC_CONST; +static ImportPageImportPageSearchViewFilter* import_page_import_page_search_view_filter_new (void); +static ImportPageImportPageSearchViewFilter* import_page_import_page_search_view_filter_construct (GType object_type); +static ImportPageHideImportedViewFilter* import_page_hide_imported_view_filter_new (void); +static ImportPageHideImportedViewFilter* import_page_hide_imported_view_filter_construct (GType object_type); +#define IMPORT_PAGE_UNMOUNT_FAILED_MSG _ ("Unable to unmount camera. Try unmounting the camera from the file man" \ +"ager.") +ImportPage* import_page_new (Camera* camera, const gchar* uri, const gchar* display_name, const gchar* icon); +ImportPage* import_page_construct (GType object_type, Camera* camera, const gchar* uri, const gchar* display_name, const gchar* icon); +CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name); +ViewCollection* page_get_view (Page* self); +void page_set_page_name (Page* self, const gchar* page_name); +GPContextWrapper* gp_context_wrapper_new (void); +GPContextWrapper* gp_context_wrapper_construct (GType object_type); +GPSpinIdleWrapper* gp_spin_idle_wrapper_new (void); +GPSpinIdleWrapper* gp_spin_idle_wrapper_construct (GType object_type); +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +static ImportPageImportViewManager* import_page_import_view_manager_new (ImportPage* owner); +static ImportPageImportViewManager* import_page_import_view_manager_construct (GType object_type, ImportPage* owner); +static GType import_page_import_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +static gint64 import_page_preview_comparator (void* a, void* b); +static gint64 _import_page_preview_comparator_comparator (void* a, void* b, gpointer self); +static gboolean import_page_preview_comparator_predicate (DataObject* object, Alteration* alteration); +static gboolean _import_page_preview_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self); +static void import_page_on_view_changed (ImportPage* self); +static void _import_page_on_view_changed_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self); +static void _import_page_on_view_changed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static void _import_page_on_view_changed_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self); +void data_collection_set_property (DataCollection* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target); +#define CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES "show-subtitles" +void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path); +void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path); +static GtkToolbar* import_page_real_get_toolbar (Page* base); +GtkToolbar* page_get_toolbar (Page* self); +static void import_page_on_hide_imported (ImportPage* self); +static void _import_page_on_hide_imported_gtk_button_clicked (GtkButton* _sender, gpointer self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_hide_photos_already_imported (ConfigurationFacade* self); +GtkAction* page_get_action (Page* self, const gchar* name); +#define RESOURCES_IMPORT "shotwell-import" +#define RESOURCES_IMPORT_ALL "shotwell-import-all" +static void import_page_update_toolbar_state (ImportPage* self); +static CoreViewTracker* import_page_real_get_view_tracker (CheckerboardPage* base); +static gchar* import_page_real_get_view_empty_message (CheckerboardPage* base); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +static gint64 import_page_import_job_comparator (ImportPage* self, void* a, void* b); +gpointer batch_import_job_ref (gpointer instance); +void batch_import_job_unref (gpointer instance); +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_job (GValue* value, gpointer v_object); +void value_take_batch_import_job (GValue* value, gpointer v_object); +gpointer value_get_batch_import_job (const GValue* value); +GType batch_import_job_get_type (void) G_GNUC_CONST; +static GType import_page_camera_import_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static time_t import_page_camera_import_job_get_exposure_time (ImportPageCameraImportJob* self); +static void import_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkToggleActionEntry* import_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1); +GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self, int* result_length1); +#define TRANSLATABLE "translatable" +static void import_page_on_display_titles (ImportPage* self, GtkAction* action); +static void _import_page_on_display_titles_gtk_action_callback (GtkAction* action, gpointer self); +gboolean configuration_facade_get_display_photo_titles (ConfigurationFacade* self); +static void _vala_array_add143 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static GtkActionEntry* import_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +static void import_page_on_import_selected (ImportPage* self); +static void _import_page_on_import_selected_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add144 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void import_page_on_import_all (ImportPage* self); +static void _import_page_on_import_all_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add145 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +Camera* import_page_get_camera (ImportPage* self); +gchar* import_page_get_uri (ImportPage* self); +gboolean import_page_is_busy (ImportPage* self); +static void import_page_real_init_actions (Page* base, gint selected_count, gint count); +void page_set_action_important (Page* self, const gchar* name, gboolean important); +void page_init_actions (Page* self, gint selected_count, gint count); +gboolean import_page_is_refreshed (ImportPage* self); +gchar* import_page_get_refresh_message (ImportPage* self); +static void import_page_update_status (ImportPage* self, gboolean busy, gboolean refreshed); +gint view_collection_get_unfiltered_count (ViewCollection* self); +gint view_collection_get_selected_count (ViewCollection* self); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +gint data_collection_get_count (DataCollection* self); +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +void app_window_set_common_action_sensitive (AppWindow* self, const gchar* name, gboolean sensitive); +void checkerboard_page_set_display_titles (CheckerboardPage* self, gboolean display); +void configuration_facade_set_display_photo_titles (ConfigurationFacade* self, gboolean display); +static void import_page_real_switched_to (Page* base); +void page_switched_to (Page* self); +static void import_page_real_ready (Page* base); +static void import_page_try_refreshing_camera (ImportPage* self, gboolean fail_on_locked); +static ImportPageRefreshResult import_page_refresh_camera (ImportPage* self); +void app_window_error_message (const gchar* message, GtkWindow* parent); +#define RESOURCES_APP_TITLE "Shotwell" +void checkerboard_page_set_page_message (CheckerboardPage* self, const gchar* message); +gboolean import_page_unmount_camera (ImportPage* self, GMount* mount); +static void import_page_on_unmounted (ImportPage* self, GMount* mount); +static void _import_page_on_unmounted_g_mount_unmounted (GMount* _sender, gpointer self); +static void import_page_on_unmount_finished (ImportPage* self, GObject* source, GAsyncResult* aresult); +static void _import_page_on_unmount_finished_gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self); +static void import_page_clear_all_import_sources (ImportPage* self); +Marker* data_collection_start_marking (DataCollection* self); +void marker_mark_all (Marker* self); +GType media_source_get_type (void) G_GNUC_CONST; +gint source_collection_destroy_marked (SourceCollection* self, Marker* marker, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +static gboolean import_page_check_directory_exists (ImportPage* self, gint fsid, const gchar* dir, const gchar* search_target); +static gboolean import_page_enumerate_files (ImportPage* self, gint fsid, const gchar* dir, GeeArrayList* import_list); +static void import_page_auto_match_raw_jpeg (ImportPage* self, GeeArrayList* import_list); +static void import_page_load_previews_and_metadata (ImportPage* self, GeeList* import_list); +static gchar* import_page_chomp_ch (const gchar* str, gchar ch); +gchar* import_page_append_path (const gchar* basepath, const gchar* addition); +gchar* import_page_get_fs_basedir (Camera* camera, gint fsid); +#define GP_MAX_BASEDIR_LENGTH 255 +gboolean gp_get_info (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, CameraFileInfo* info, GError** error); +gboolean video_reader_is_supported_video_filename (const gchar* filename); +PhotoFileFormat photo_file_format_from_gphoto_type (const gchar* type); +PhotoFileFormat photo_file_format_get_by_basename_extension (const gchar* basename); +void spin_event_loop (void); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +PhotoMetadata* gp_load_metadata (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, GError** error); +guint8* photo_metadata_flatten_exif (PhotoMetadata* self, gboolean include_preview, int* result_length1); +gchar* md5_binary (guint8* buffer, gsize length); +GdkPixbuf* gp_load_preview (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, guint8** raw, int* raw_length1, gsize* raw_length, GError** error); +gboolean data_collection_add (DataCollection* self, DataObject* object); +void view_collection_install_view_filter (ViewCollection* self, ViewFilter* f); +void view_collection_remove_view_filter (ViewCollection* self, ViewFilter* f); +void configuration_facade_set_hide_photos_already_imported (ConfigurationFacade* self, gboolean hide_imported); +static void import_page_import (ImportPage* self, GeeIterable* items); +GeeList* view_collection_get_selected (ViewCollection* self); +GeeCollection* data_collection_get_all (DataCollection* self); +GType sorted_list_get_type (void) G_GNUC_CONST; +static gint64 _import_page_import_job_comparator_comparator (void* a, void* b, gpointer self); +SortedList* sorted_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +SortedList* sorted_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +static ImportPageCameraImportJob* import_page_camera_import_job_new (GPContextWrapper* context, ImportSource* import_file, DuplicatedFile* duplicated_file); +static ImportPageCameraImportJob* import_page_camera_import_job_construct (GType object_type, GPContextWrapper* context, ImportSource* import_file, DuplicatedFile* duplicated_file); +void batch_import_job_set_associated (BatchImportJob* self, BatchImportJob* associated); +GType batch_import_get_type (void) G_GNUC_CONST; +gpointer import_manifest_ref (gpointer instance); +void import_manifest_unref (gpointer instance); +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_import_manifest (GValue* value, gpointer v_object); +void value_take_import_manifest (GValue* value, gpointer v_object); +gpointer value_get_import_manifest (const GValue* value); +GType import_manifest_get_type (void) G_GNUC_CONST; +static void import_page_import_reporter (ImportPage* self, ImportManifest* manifest); +gpointer batch_import_roll_ref (gpointer instance); +void batch_import_roll_unref (gpointer instance); +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_roll (GValue* value, gpointer v_object); +void value_take_batch_import_roll (GValue* value, gpointer v_object); +gpointer value_get_batch_import_roll (const GValue* value); +GType batch_import_roll_get_type (void) G_GNUC_CONST; +static void _import_page_import_reporter_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self); +BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +gpointer batch_import_result_ref (gpointer instance); +void batch_import_result_unref (gpointer instance); +GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_result (GValue* value, gpointer v_object); +void value_take_batch_import_result (GValue* value, gpointer v_object); +gpointer value_get_batch_import_result (const GValue* value); +GType batch_import_result_get_type (void) G_GNUC_CONST; +static void import_page_on_import_job_failed (ImportPage* self, BatchImportResult* _result_); +static void _import_page_on_import_job_failed_batch_import_import_job_failed (BatchImport* _sender, BatchImportResult* _result_, gpointer self); +static void import_page_close_import (ImportPage* self); +static void _import_page_close_import_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self); +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_enqueue_batch_import (LibraryWindow* self, BatchImport* batch_import, gboolean allow_user_cancel); +void library_window_switch_to_import_queue_page (LibraryWindow* self); +ImportManifest* import_manifest_new (GeeList* prefailed, GeeList* pre_already_imported); +ImportManifest* import_manifest_construct (GType object_type, GeeList* prefailed, GeeList* pre_already_imported); +GType import_result_get_type (void) G_GNUC_CONST; +gchar* import_ui_get_media_specific_string (GeeCollection* import_collection, const gchar* photos_msg, const gchar* videos_msg, const gchar* both_msg, const gchar* neither_msg); +gpointer import_ui_question_params_ref (gpointer instance); +void import_ui_question_params_unref (gpointer instance); +GParamSpec* import_ui_param_spec_question_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void import_ui_value_set_question_params (GValue* value, gpointer v_object); +void import_ui_value_take_question_params (GValue* value, gpointer v_object); +gpointer import_ui_value_get_question_params (const GValue* value); +GType import_ui_question_params_get_type (void) G_GNUC_CONST; +#define RESOURCES_DELETE_LABEL _ ("_Delete") +ImportUIQuestionParams* import_ui_question_params_new (const gchar* question, const gchar* yes_button, const gchar* no_button); +ImportUIQuestionParams* import_ui_question_params_construct (GType object_type, const gchar* question, const gchar* yes_button, const gchar* no_button); +gboolean import_ui_report_manifest (ImportManifest* manifest, gboolean show_dest_id, ImportUIQuestionParams* question); +void marker_mark (Marker* self, DataObject* object); +static ImportSource* import_page_camera_import_job_get_source (ImportPageCameraImportJob* 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); +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); +void progress_dialog_close (ProgressDialog* self); +static void import_page_real_set_display_titles (CheckerboardPage* base, gboolean display); +static SearchViewFilter* import_page_real_get_search_view_filter (CheckerboardPage* base); +#define IMPORT_PAGE_IMPORT_VIEW_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER, ImportPageImportViewManagerPrivate)) +enum { + IMPORT_PAGE_IMPORT_VIEW_MANAGER_DUMMY_PROPERTY +}; +ViewManager* view_manager_construct (GType object_type); +static DataView* import_page_import_view_manager_real_create_view (ViewManager* base, DataSource* source); +static void import_page_import_view_manager_finalize (ViewManager* obj); +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +#define IMPORT_PAGE_CAMERA_IMPORT_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJobPrivate)) +enum { + IMPORT_PAGE_CAMERA_IMPORT_JOB_DUMMY_PROPERTY +}; +BatchImportJob* batch_import_job_construct (GType object_type); +static DuplicatedFile* import_page_camera_import_job_real_get_duplicated_file (BatchImportJob* base); +static time_t import_page_camera_import_job_real_get_exposure_time_override (BatchImportJob* base); +static gchar* import_page_camera_import_job_real_get_dest_identifier (BatchImportJob* base); +static gchar* import_page_camera_import_job_real_get_source_identifier (BatchImportJob* base); +static gchar* import_page_camera_import_job_real_get_basename (BatchImportJob* base); +static gchar* import_page_camera_import_job_real_get_path (BatchImportJob* base); +static void import_page_camera_import_job_real_set_associated (BatchImportJob* base, BatchImportJob* associated); +static gboolean import_page_camera_import_job_real_is_directory (BatchImportJob* base); +static gboolean import_page_camera_import_job_real_determine_file_size (BatchImportJob* base, guint64* filesize, GFile** file); +static gboolean import_page_camera_import_job_real_prepare (BatchImportJob* base, GFile** file_to_import, gboolean* copy_to_library, GError** error); +GFile* library_files_generate_unique_file (const gchar* basename, MediaMetadata* metadata, time_t ts, gboolean* collision, GError** error); +void library_monitor_blacklist_file (GFile* file, const gchar* reason); +void gp_save_image (GPContext* context, Camera* camera, const gchar* folder, const gchar* filename, GFile* dest_file, GError** error); +void library_monitor_unblacklist_file (GFile* file); +GType raw_developer_get_type (void) G_GNUC_CONST; +BackingPhotoRow* raw_developer_create_backing_row_for_development (RawDeveloper self, const gchar* raw_filepath, const gchar* camera_development_filename, GError** error); +gchar* batch_import_job_get_basename (BatchImportJob* self); +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +static gboolean import_page_camera_import_job_real_complete (BatchImportJob* base, MediaSource* source, BatchImportRoll* import_roll, GError** error); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +void photo_add_backing_photo_for_development (Photo* self, RawDeveloper d, BackingPhotoRow* bpr, GError** error); +void photo_set_raw_developer (Photo* self, RawDeveloper d); +RawDeveloper configuration_facade_get_default_raw_developer (ConfigurationFacade* self); +static void import_page_camera_import_job_finalize (BatchImportJob* obj); +enum { + IMPORT_PAGE_IMPORT_PAGE_SEARCH_VIEW_FILTER_DUMMY_PROPERTY +}; +static guint import_page_import_page_search_view_filter_real_get_criteria (SearchViewFilter* base); +GType search_filter_criteria_get_type (void) G_GNUC_CONST; +static gboolean import_page_import_page_search_view_filter_real_predicate (ViewFilter* base, DataView* view); +guint search_view_filter_get_criteria (SearchViewFilter* self); +gboolean search_view_filter_filter_by_media_type (SearchViewFilter* self); +gboolean search_view_filter_get_show_media_video (SearchViewFilter* self); +gboolean search_view_filter_get_show_media_photos (SearchViewFilter* self); +gboolean search_view_filter_get_show_media_raw (SearchViewFilter* self); +const gchar* indexable_get_indexable_keywords (Indexable* self); +gchar** search_view_filter_get_search_filter_words (SearchViewFilter* self, int* result_length1); +SearchViewFilter* search_view_filter_construct (GType object_type); +enum { + IMPORT_PAGE_HIDE_IMPORTED_VIEW_FILTER_DUMMY_PROPERTY +}; +static gboolean import_page_hide_imported_view_filter_real_predicate (ViewFilter* base, DataView* view); +ViewFilter* view_filter_construct (GType object_type); +static void import_page_finalize (GObject* obj); + + +ImportSourceCollection* import_source_collection_construct (GType object_type, const gchar* name) { + ImportSourceCollection* self = NULL; + const gchar* _tmp0_ = NULL; +#line 8 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 9 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = name; +#line 9 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (ImportSourceCollection*) source_collection_construct (object_type, _tmp0_); +#line 8 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 2096 "ImportPage.c" +} + + +ImportSourceCollection* import_source_collection_new (const gchar* name) { +#line 8 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return import_source_collection_construct (TYPE_IMPORT_SOURCE_COLLECTION, name); +#line 2103 "ImportPage.c" +} + + +static gboolean import_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source) { + ImportSourceCollection * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_SOURCE_COLLECTION, ImportSourceCollection); +#line 12 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 13 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = source; +#line 13 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_IMPORT_SOURCE); +#line 13 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2121 "ImportPage.c" +} + + +static void import_source_collection_class_init (ImportSourceCollectionClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = import_source_collection_real_holds_type_of_source; +#line 2130 "ImportPage.c" +} + + +static void import_source_collection_instance_init (ImportSourceCollection * self) { +} + + +GType import_source_collection_get_type (void) { + static volatile gsize import_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&import_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportSourceCollection), 0, (GInstanceInitFunc) import_source_collection_instance_init, NULL }; + GType import_source_collection_type_id; + import_source_collection_type_id = g_type_register_static (TYPE_SOURCE_COLLECTION, "ImportSourceCollection", &g_define_type_info, 0); + g_once_init_leave (&import_source_collection_type_id__volatile, import_source_collection_type_id); + } + return import_source_collection_type_id__volatile; +} + + +static gpointer _GPHOTO_REF_CAMERA0 (gpointer self) { +#line 31 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self ? GPHOTO_REF_CAMERA (self) : NULL; +#line 2153 "ImportPage.c" +} + + +ImportSource* import_source_construct (GType object_type, const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time) { + ImportSource * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + Camera* _tmp2_ = NULL; + Camera* _tmp3_ = NULL; + gint _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gulong _tmp9_ = 0UL; + time_t _tmp10_ = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera_name != NULL, NULL); +#line 28 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 28 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 28 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 28 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (ImportSource*) thumbnail_source_construct (object_type, DATA_OBJECT_INVALID_OBJECT_ID); +#line 30 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = camera_name; +#line 30 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 30 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->camera_name); +#line 30 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->camera_name = _tmp1_; +#line 31 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = camera; +#line 31 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _GPHOTO_REF_CAMERA0 (_tmp2_); +#line 31 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_camera_unref0 (self->priv->camera); +#line 31 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->camera = _tmp3_; +#line 32 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = fsid; +#line 32 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->fsid = _tmp4_; +#line 33 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = folder; +#line 33 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 33 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->folder); +#line 33 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->folder = _tmp6_; +#line 34 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = filename; +#line 34 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 34 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->filename); +#line 34 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->filename = _tmp8_; +#line 35 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = file_size; +#line 35 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->file_size = _tmp9_; +#line 36 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = modification_time; +#line 36 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->modification_time = _tmp10_; +#line 37 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = filename; +#line 37 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = indexable_prepare_indexable_string (_tmp11_); +#line 37 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->indexable_keywords); +#line 37 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->indexable_keywords = _tmp12_; +#line 28 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 2236 "ImportPage.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self ? g_object_ref (self) : NULL; +#line 2243 "ImportPage.c" +} + + +void import_source_set_preview (ImportSource* self, GdkPixbuf* preview) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_SOURCE (self)); +#line 40 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail ((preview == NULL) || GDK_IS_PIXBUF (preview)); +#line 41 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = preview; +#line 41 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->preview); +#line 41 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->preview = _tmp1_; +#line 2262 "ImportPage.c" +} + + +gchar* import_source_get_camera_name (ImportSource* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), NULL); +#line 45 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->camera_name; +#line 45 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 45 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 45 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2280 "ImportPage.c" +} + + +Camera* import_source_get_camera (ImportSource* self) { + Camera* result = NULL; + Camera* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), NULL); +#line 49 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->camera; +#line 49 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _GPHOTO_REF_CAMERA0 (_tmp0_); +#line 49 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 49 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2298 "ImportPage.c" +} + + +gint import_source_get_fsid (ImportSource* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 52 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), 0); +#line 53 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->fsid; +#line 53 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 53 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2313 "ImportPage.c" +} + + +gchar* import_source_get_folder (ImportSource* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), NULL); +#line 57 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->folder; +#line 57 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 57 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 57 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2331 "ImportPage.c" +} + + +gchar* import_source_get_filename (ImportSource* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), NULL); +#line 61 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->filename; +#line 61 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 61 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 61 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2349 "ImportPage.c" +} + + +gulong import_source_get_filesize (ImportSource* self) { + gulong result = 0UL; + gulong _tmp0_ = 0UL; +#line 64 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), 0UL); +#line 65 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->file_size; +#line 65 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 65 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2364 "ImportPage.c" +} + + +time_t import_source_get_modification_time (ImportSource* self) { + time_t result = 0; + time_t _tmp0_ = 0; +#line 68 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), 0); +#line 69 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->modification_time; +#line 69 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 69 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2379 "ImportPage.c" +} + + +static GdkPixbuf* import_source_real_get_preview (ImportSource* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->preview; +#line 73 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 73 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 73 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2395 "ImportPage.c" +} + + +GdkPixbuf* import_source_get_preview (ImportSource* self) { +#line 72 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), NULL); +#line 72 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return IMPORT_SOURCE_GET_CLASS (self)->get_preview (self); +#line 2404 "ImportPage.c" +} + + +static time_t import_source_real_get_exposure_time (ImportSource* self) { + time_t result = 0; + time_t _tmp0_ = 0; +#line 77 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_source_get_modification_time (self); +#line 77 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 77 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2417 "ImportPage.c" +} + + +time_t import_source_get_exposure_time (ImportSource* self) { +#line 76 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), 0); +#line 76 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return IMPORT_SOURCE_GET_CLASS (self)->get_exposure_time (self); +#line 2426 "ImportPage.c" +} + + +gchar* import_source_get_fulldir (ImportSource* self) { + gchar* result = NULL; + Camera* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (self), NULL); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_source_get_camera (self); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = import_source_get_camera_name (self); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp2_; +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = import_source_get_fsid (self); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = import_source_get_folder (self); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = import_page_get_fulldir (_tmp1_, _tmp3_, _tmp4_, _tmp6_); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _tmp7_; +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp6_); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp3_); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_camera_unref0 (_tmp1_); +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp8_; +#line 81 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2471 "ImportPage.c" +} + + +static gchar* import_source_real_to_string (DataObject* base) { + ImportSource * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_SOURCE, ImportSource); +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_source_get_camera_name (self); +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = import_source_get_folder (self); +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp2_; +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = import_source_get_filename (self); +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _tmp4_; +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = g_strdup_printf ("%s %s/%s", _tmp1_, _tmp3_, _tmp5_); +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _tmp6_; +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp5_); +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp3_); +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp1_); +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp7_; +#line 85 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2514 "ImportPage.c" +} + + +static gchar* gp_result_to_full_string (int self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 480 "/home/jens/Source/shotwell/vapi/libgphoto2.vapi" + _tmp0_ = gp_port_result_as_string (self); +#line 480 "/home/jens/Source/shotwell/vapi/libgphoto2.vapi" + _tmp1_ = g_strdup_printf ("%s (%d)", _tmp0_, (gint) self); +#line 480 "/home/jens/Source/shotwell/vapi/libgphoto2.vapi" + result = _tmp1_; +#line 480 "/home/jens/Source/shotwell/vapi/libgphoto2.vapi" + return result; +#line 2530 "ImportPage.c" +} + + +static gboolean import_source_real_internal_delete_backing (DataSource* base, GError** error) { + ImportSource * self; + gboolean result = FALSE; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* fulldir = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + int _result_ = 0; + Camera* _tmp10_ = NULL; + Camera* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GPSpinIdleWrapper* _tmp15_ = NULL; + GPContext* _tmp16_ = NULL; + int _tmp17_ = 0; + int _tmp18_ = 0; + int _tmp19_ = 0; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + GError * _inner_error_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_SOURCE, ImportSource); +#line 89 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 89 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 89 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->camera_name; +#line 89 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:89: Deleting %s from %s", _tmp1_, _tmp2_); +#line 89 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp1_); +#line 91 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = import_source_get_fulldir (self); +#line 91 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + fulldir = _tmp3_; +#line 92 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = fulldir; +#line 92 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp4_ == NULL) { +#line 2578 "ImportPage.c" + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 93 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 93 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 93 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = self->priv->camera_name; +#line 93 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:93: Skipping deleting %s from %s: invalid folder name", _tmp6_, _tmp7_); +#line 93 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp6_); +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = DATA_SOURCE_CLASS (import_source_parent_class)->internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _tmp9_; +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 2606 "ImportPage.c" + } +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp8_; +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 95 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2614 "ImportPage.c" + } +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = import_source_get_camera (self); +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = _tmp10_; +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = fulldir; +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = import_source_get_filename (self); +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = _tmp13_; +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = import_page_spin_idle_context; +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = gp_camera_file_delete (_tmp11_, _tmp12_, _tmp14_, _tmp16_); +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = _tmp17_; +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp14_); +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_camera_unref0 (_tmp11_); +#line 98 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _result_ = _tmp18_; +#line 100 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = _result_; +#line 100 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp19_ != GP_OK) { +#line 2644 "ImportPage.c" + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + int _tmp23_ = 0; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = _tmp20_; +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = self->priv->camera_name; +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = _result_; +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = gp_result_to_full_string (_tmp23_); +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = _tmp24_; +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:101: Error deleting %s from %s: %s", _tmp21_, _tmp22_, _tmp25_); +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp25_); +#line 101 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp21_); +#line 2669 "ImportPage.c" + } +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = DATA_SOURCE_CLASS (import_source_parent_class)->internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = _tmp28_; +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 2683 "ImportPage.c" + } +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp27_) { +#line 2687 "ImportPage.c" + int _tmp29_ = 0; +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = _result_; +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = _tmp29_ == GP_OK; +#line 2693 "ImportPage.c" + } else { +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = FALSE; +#line 2697 "ImportPage.c" + } +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp26_; +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 103 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2705 "ImportPage.c" +} + + +static const gchar* import_source_real_get_indexable_keywords (Indexable* base) { + ImportSource * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_SOURCE, ImportSource); +#line 107 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->indexable_keywords; +#line 107 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 107 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2721 "ImportPage.c" +} + + +static void import_source_class_init (ImportSourceClass * klass) { +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_source_parent_class = g_type_class_peek_parent (klass); +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_type_class_add_private (klass, sizeof (ImportSourcePrivate)); +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ImportSourceClass *) klass)->get_preview = import_source_real_get_preview; +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ImportSourceClass *) klass)->get_exposure_time = import_source_real_get_exposure_time; +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataObjectClass *) klass)->to_string = import_source_real_to_string; +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataSourceClass *) klass)->internal_delete_backing = import_source_real_internal_delete_backing; +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (klass)->finalize = import_source_finalize; +#line 2740 "ImportPage.c" +} + + +static void import_source_indexable_interface_init (IndexableIface * iface) { +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_source_indexable_parent_iface = g_type_interface_peek_parent (iface); +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + iface->get_indexable_keywords = (const gchar* (*)(Indexable*)) import_source_real_get_indexable_keywords; +#line 2749 "ImportPage.c" +} + + +static void import_source_instance_init (ImportSource * self) { +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv = IMPORT_SOURCE_GET_PRIVATE (self); +#line 25 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->preview = NULL; +#line 26 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->indexable_keywords = NULL; +#line 2760 "ImportPage.c" +} + + +static void import_source_finalize (GObject* obj) { + ImportSource * self; +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORT_SOURCE, ImportSource); +#line 18 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->camera_name); +#line 19 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_camera_unref0 (self->priv->camera); +#line 21 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->folder); +#line 22 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->filename); +#line 25 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->preview); +#line 26 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->indexable_keywords); +#line 17 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (import_source_parent_class)->finalize (obj); +#line 2782 "ImportPage.c" +} + + +GType import_source_get_type (void) { + static volatile gsize import_source_type_id__volatile = 0; + if (g_once_init_enter (&import_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportSource), 0, (GInstanceInitFunc) import_source_instance_init, NULL }; + static const GInterfaceInfo indexable_info = { (GInterfaceInitFunc) import_source_indexable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType import_source_type_id; + import_source_type_id = g_type_register_static (TYPE_THUMBNAIL_SOURCE, "ImportSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (import_source_type_id, TYPE_INDEXABLE, &indexable_info); + g_once_init_leave (&import_source_type_id__volatile, import_source_type_id); + } + return import_source_type_id__volatile; +} + + +VideoImportSource* video_import_source_construct (GType object_type, const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time) { + VideoImportSource * self = NULL; + const gchar* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gulong _tmp5_ = 0UL; + time_t _tmp6_ = 0; +#line 112 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera_name != NULL, NULL); +#line 112 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 112 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 112 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 114 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = camera_name; +#line 114 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = camera; +#line 114 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = fsid; +#line 114 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = folder; +#line 114 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = filename; +#line 114 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = file_size; +#line 114 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = modification_time; +#line 114 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (VideoImportSource*) import_source_construct (object_type, _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_, _tmp6_); +#line 112 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 2835 "ImportPage.c" +} + + +VideoImportSource* video_import_source_new (const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time) { +#line 112 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return video_import_source_construct (TYPE_VIDEO_IMPORT_SOURCE, camera_name, camera, fsid, folder, filename, file_size, modification_time); +#line 2842 "ImportPage.c" +} + + +static GdkPixbuf* video_import_source_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + VideoImportSource * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource); +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = scale; +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = thumbnail_source_create_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), _tmp1_, &_inner_error_); +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp2_; +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return NULL; +#line 2868 "ImportPage.c" + } +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp0_; +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp3_; +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp0_); +#line 118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2880 "ImportPage.c" +} + + +static GdkPixbuf* video_import_source_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + VideoImportSource * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 121 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource); +#line 122 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 122 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 122 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_ == NULL; +#line 122 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp1_); +#line 122 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_) { +#line 123 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = NULL; +#line 123 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2908 "ImportPage.c" + } +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = scale; +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp4_ > 0) { +#line 2914 "ImportPage.c" + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + GdkPixbuf* _tmp8_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = scale; +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = scale_pixbuf (_tmp6_, _tmp7_, GDK_INTERP_BILINEAR, TRUE); +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp8_; +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp6_); +#line 2933 "ImportPage.c" + } else { + GdkPixbuf* _tmp9_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 128 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 128 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp9_; +#line 2942 "ImportPage.c" + } +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp3_; +#line 127 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2948 "ImportPage.c" +} + + +static gchar* video_import_source_real_get_typename (DataSource* base) { + VideoImportSource * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource); +#line 132 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = g_strdup ("videoimport"); +#line 132 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 132 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2964 "ImportPage.c" +} + + +static gint64 video_import_source_real_get_instance_id (DataSource* base) { + VideoImportSource * self; + gint64 result = 0LL; + gint64 _tmp0_ = 0LL; +#line 135 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource); +#line 136 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = data_object_get_object_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 136 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 136 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2980 "ImportPage.c" +} + + +static PhotoFileFormat video_import_source_real_get_preferred_thumbnail_format (ThumbnailSource* base) { + VideoImportSource * self; + PhotoFileFormat result = 0; + PhotoFileFormat _tmp0_ = 0; +#line 139 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource); +#line 140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = photo_file_format_get_system_default_format (); +#line 140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 2996 "ImportPage.c" +} + + +static gchar* video_import_source_real_get_name (DataObject* base) { + VideoImportSource * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIDEO_IMPORT_SOURCE, VideoImportSource); +#line 144 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 144 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 144 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3012 "ImportPage.c" +} + + +void video_import_source_update (VideoImportSource* self, GdkPixbuf* preview) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_VIDEO_IMPORT_SOURCE (self)); +#line 147 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail ((preview == NULL) || GDK_IS_PIXBUF (preview)); +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = preview; +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp1_ != NULL) { +#line 3027 "ImportPage.c" + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = preview; +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp0_); +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp3_; +#line 3038 "ImportPage.c" + } else { + GdkPixbuf* _tmp4_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = resources_get_noninterpretable_badge_pixbuf (); +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp0_); +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp4_; +#line 3047 "ImportPage.c" + } +#line 148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_source_set_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource), _tmp0_); +#line 147 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp0_); +#line 3053 "ImportPage.c" +} + + +static void video_import_source_class_init (VideoImportSourceClass * klass) { +#line 111 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + video_import_source_parent_class = g_type_class_peek_parent (klass); +#line 111 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ThumbnailSourceClass *) klass)->get_thumbnail = video_import_source_real_get_thumbnail; +#line 111 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ThumbnailSourceClass *) klass)->create_thumbnail = video_import_source_real_create_thumbnail; +#line 111 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataSourceClass *) klass)->get_typename = video_import_source_real_get_typename; +#line 111 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataSourceClass *) klass)->get_instance_id = video_import_source_real_get_instance_id; +#line 111 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ThumbnailSourceClass *) klass)->get_preferred_thumbnail_format = video_import_source_real_get_preferred_thumbnail_format; +#line 111 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataObjectClass *) klass)->get_name = video_import_source_real_get_name; +#line 3072 "ImportPage.c" +} + + +static void video_import_source_instance_init (VideoImportSource * self) { +} + + +GType video_import_source_get_type (void) { + static volatile gsize video_import_source_type_id__volatile = 0; + if (g_once_init_enter (&video_import_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoImportSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_import_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoImportSource), 0, (GInstanceInitFunc) video_import_source_instance_init, NULL }; + GType video_import_source_type_id; + video_import_source_type_id = g_type_register_static (TYPE_IMPORT_SOURCE, "VideoImportSource", &g_define_type_info, 0); + g_once_init_leave (&video_import_source_type_id__volatile, video_import_source_type_id); + } + return video_import_source_type_id__volatile; +} + + +PhotoImportSource* photo_import_source_construct (GType object_type, const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time, PhotoFileFormat file_format) { + PhotoImportSource * self = NULL; + const gchar* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gulong _tmp5_ = 0UL; + time_t _tmp6_ = 0; + PhotoFileFormat _tmp7_ = 0; +#line 161 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera_name != NULL, NULL); +#line 161 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 161 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 161 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (filename != NULL, NULL); +#line 163 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = camera_name; +#line 163 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = camera; +#line 163 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = fsid; +#line 163 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = folder; +#line 163 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = filename; +#line 163 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = file_size; +#line 163 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = modification_time; +#line 163 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (PhotoImportSource*) import_source_construct (object_type, _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_, _tmp6_); +#line 164 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = file_format; +#line 164 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->file_format = _tmp7_; +#line 161 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 3132 "ImportPage.c" +} + + +PhotoImportSource* photo_import_source_new (const gchar* camera_name, Camera* camera, gint fsid, const gchar* folder, const gchar* filename, gulong file_size, time_t modification_time, PhotoFileFormat file_format) { +#line 161 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return photo_import_source_construct (TYPE_PHOTO_IMPORT_SOURCE, camera_name, camera, fsid, folder, filename, file_size, modification_time, file_format); +#line 3139 "ImportPage.c" +} + + +static gchar* photo_import_source_real_get_name (DataObject* base) { + PhotoImportSource * self; + gchar* result = NULL; + gchar* title = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 167 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 168 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = photo_import_source_get_title (self); +#line 168 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + title = _tmp0_; +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = title; +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp3_) { +#line 3163 "ImportPage.c" + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = title; +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp1_); +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp5_; +#line 3174 "ImportPage.c" + } else { + gchar* _tmp6_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp1_); +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp6_; +#line 3183 "ImportPage.c" + } +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (title); +#line 170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3191 "ImportPage.c" +} + + +static gchar* photo_import_source_real_get_typename (DataSource* base) { + PhotoImportSource * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 174 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = g_strdup ("photoimport"); +#line 174 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 174 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3207 "ImportPage.c" +} + + +static gint64 photo_import_source_real_get_instance_id (DataSource* base) { + PhotoImportSource * self; + gint64 result = 0LL; + gint64 _tmp0_ = 0LL; +#line 177 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = data_object_get_object_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3223 "ImportPage.c" +} + + +static PhotoFileFormat photo_import_source_real_get_preferred_thumbnail_format (ThumbnailSource* base) { + PhotoImportSource * self; + PhotoFileFormat result = 0; + PhotoFileFormat _tmp0_ = 0; + PhotoFileFormat _tmp1_ = 0; + gboolean _tmp2_ = FALSE; +#line 181 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 182 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->file_format; +#line 182 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = photo_file_format_can_write (_tmp1_); +#line 182 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_) { +#line 3241 "ImportPage.c" + PhotoFileFormat _tmp3_ = 0; +#line 182 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->file_format; +#line 182 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp3_; +#line 3247 "ImportPage.c" + } else { + PhotoFileFormat _tmp4_ = 0; +#line 183 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = photo_file_format_get_system_default_format (); +#line 183 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp4_; +#line 3254 "ImportPage.c" + } +#line 182 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 182 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3260 "ImportPage.c" +} + + +static GdkPixbuf* photo_import_source_real_create_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + PhotoImportSource * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 186 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 187 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 187 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 187 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_ == NULL; +#line 187 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp1_); +#line 187 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_) { +#line 188 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = NULL; +#line 188 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3288 "ImportPage.c" + } +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = scale; +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp4_ > 0) { +#line 3294 "ImportPage.c" + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + GdkPixbuf* _tmp8_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = scale; +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = scale_pixbuf (_tmp6_, _tmp7_, PHOTO_IMPORT_SOURCE_INTERP, TRUE); +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp8_; +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp6_); +#line 3313 "ImportPage.c" + } else { + GdkPixbuf* _tmp9_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp9_; +#line 3322 "ImportPage.c" + } +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp3_; +#line 192 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3328 "ImportPage.c" +} + + +static gpointer _media_metadata_ref0 (gpointer self) { +#line 199 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self ? media_metadata_ref (self) : NULL; +#line 3335 "ImportPage.c" +} + + +void photo_import_source_update (PhotoImportSource* self, GdkPixbuf* preview, const gchar* preview_md5, PhotoMetadata* metadata, const gchar* exif_md5) { + GdkPixbuf* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_PHOTO_IMPORT_SOURCE (self)); +#line 196 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail ((preview == NULL) || GDK_IS_PIXBUF (preview)); +#line 196 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail ((metadata == NULL) || IS_PHOTO_METADATA (metadata)); +#line 197 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = preview; +#line 197 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_source_set_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource), _tmp0_); +#line 198 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = preview_md5; +#line 198 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 198 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->preview_md5); +#line 198 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->preview_md5 = _tmp2_; +#line 199 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = metadata; +#line 199 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _media_metadata_ref0 (_tmp3_); +#line 199 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (self->priv->metadata); +#line 199 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->metadata = _tmp4_; +#line 200 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = exif_md5; +#line 200 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 200 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->exif_md5); +#line 200 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->exif_md5 = _tmp6_; +#line 3381 "ImportPage.c" +} + + +static time_t photo_import_source_real_get_exposure_time (ImportSource* base) { + PhotoImportSource * self; + time_t result = 0; + PhotoMetadata* _tmp0_ = NULL; + MetadataDateTime* date_time = NULL; + PhotoMetadata* _tmp2_ = NULL; + MetadataDateTime* _tmp3_ = NULL; + time_t _tmp4_ = 0; + MetadataDateTime* _tmp5_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 204 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->metadata; +#line 204 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_ == NULL) { +#line 3400 "ImportPage.c" + time_t _tmp1_ = 0; +#line 205 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_source_get_modification_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 205 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 205 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3408 "ImportPage.c" + } +#line 207 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->metadata; +#line 207 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = photo_metadata_get_exposure_date_time (_tmp2_); +#line 207 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + date_time = _tmp3_; +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = date_time; +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp5_ != NULL) { +#line 3420 "ImportPage.c" + MetadataDateTime* _tmp6_ = NULL; + time_t _tmp7_ = 0; +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = date_time; +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = metadata_date_time_get_timestamp (_tmp6_); +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _tmp7_; +#line 3429 "ImportPage.c" + } else { + time_t _tmp8_ = 0; +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = import_source_get_modification_time (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _tmp8_; +#line 3436 "ImportPage.c" + } +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp4_; +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _metadata_date_time_unref0 (date_time); +#line 209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3444 "ImportPage.c" +} + + +gchar* photo_import_source_get_title (PhotoImportSource* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + PhotoMetadata* _tmp1_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_SOURCE (self), NULL); +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->metadata; +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp1_ != NULL) { +#line 3458 "ImportPage.c" + PhotoMetadata* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->metadata; +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp0_); +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp3_; +#line 3469 "ImportPage.c" + } else { +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp0_); +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = NULL; +#line 3475 "ImportPage.c" + } +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 213 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3481 "ImportPage.c" +} + + +PhotoMetadata* photo_import_source_get_metadata (PhotoImportSource* self) { + PhotoMetadata* result = NULL; + PhotoImportSource* _tmp0_ = NULL; + PhotoMetadata* _tmp3_ = NULL; + PhotoMetadata* _tmp4_ = NULL; +#line 216 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_SOURCE (self), NULL); +#line 217 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->associated; +#line 217 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_ != NULL) { +#line 3496 "ImportPage.c" + PhotoImportSource* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->associated; +#line 218 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = photo_import_source_get_metadata (_tmp1_); +#line 218 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp2_; +#line 218 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3507 "ImportPage.c" + } +#line 220 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->metadata; +#line 220 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _media_metadata_ref0 (_tmp3_); +#line 220 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp4_; +#line 220 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3517 "ImportPage.c" +} + + +static GdkPixbuf* photo_import_source_real_get_preview (ImportSource* base) { + PhotoImportSource * self; + GdkPixbuf* result = NULL; + PhotoImportSource* _tmp0_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 223 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 224 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->associated; +#line 224 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_ != NULL) { +#line 3534 "ImportPage.c" + PhotoImportSource* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->associated; +#line 225 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 225 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp2_; +#line 225 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3545 "ImportPage.c" + } +#line 227 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = IMPORT_SOURCE_CLASS (photo_import_source_parent_class)->get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 227 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _tmp3_; +#line 227 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _tmp4_ != NULL; +#line 227 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp4_); +#line 227 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp5_) { +#line 3557 "ImportPage.c" + GdkPixbuf* _tmp6_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = IMPORT_SOURCE_CLASS (photo_import_source_parent_class)->get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 228 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp6_; +#line 228 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3565 "ImportPage.c" + } +#line 230 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = NULL; +#line 230 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3571 "ImportPage.c" +} + + +static GdkPixbuf* photo_import_source_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + PhotoImportSource * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 233 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 234 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 234 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 234 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_ == NULL; +#line 234 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp1_); +#line 234 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_) { +#line 235 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = NULL; +#line 235 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3599 "ImportPage.c" + } +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = scale; +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp4_ > 0) { +#line 3605 "ImportPage.c" + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + GdkPixbuf* _tmp8_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = scale; +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = scale_pixbuf (_tmp6_, _tmp7_, PHOTO_IMPORT_SOURCE_INTERP, TRUE); +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp8_; +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp6_); +#line 3624 "ImportPage.c" + } else { + GdkPixbuf* _tmp9_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = import_source_get_preview (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource)); +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp9_; +#line 3633 "ImportPage.c" + } +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp3_; +#line 237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3639 "ImportPage.c" +} + + +PhotoFileFormat photo_import_source_get_file_format (PhotoImportSource* self) { + PhotoFileFormat result = 0; + PhotoFileFormat _tmp0_ = 0; +#line 240 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_SOURCE (self), 0); +#line 241 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->file_format; +#line 241 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 241 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3654 "ImportPage.c" +} + + +gchar* photo_import_source_get_preview_md5 (PhotoImportSource* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_SOURCE (self), NULL); +#line 245 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->preview_md5; +#line 245 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 245 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 245 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3672 "ImportPage.c" +} + + +void photo_import_source_set_associated (PhotoImportSource* self, PhotoImportSource* associated) { + PhotoImportSource* _tmp0_ = NULL; + PhotoImportSource* _tmp1_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_PHOTO_IMPORT_SOURCE (self)); +#line 248 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail ((associated == NULL) || IS_PHOTO_IMPORT_SOURCE (associated)); +#line 249 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = associated; +#line 249 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 249 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->associated); +#line 249 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->associated = _tmp1_; +#line 3691 "ImportPage.c" +} + + +PhotoImportSource* photo_import_source_get_associated (PhotoImportSource* self) { + PhotoImportSource* result = NULL; + PhotoImportSource* _tmp0_ = NULL; + PhotoImportSource* _tmp1_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_PHOTO_IMPORT_SOURCE (self), NULL); +#line 253 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->associated; +#line 253 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 253 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 253 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3709 "ImportPage.c" +} + + +static gboolean photo_import_source_real_internal_delete_backing (DataSource* base, GError** error) { + PhotoImportSource * self; + gboolean result = FALSE; + gboolean ret = FALSE; + gboolean _tmp0_ = FALSE; + PhotoImportSource* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 257 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = DATA_SOURCE_CLASS (photo_import_source_parent_class)->internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_IMPORT_SOURCE, ImportSource), TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 257 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ret = _tmp0_; +#line 257 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 257 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 257 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 3732 "ImportPage.c" + } +#line 258 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->associated; +#line 258 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp1_ != NULL) { +#line 3738 "ImportPage.c" + gboolean _tmp2_ = FALSE; + PhotoImportSource* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 259 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->associated; +#line 259 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = data_source_internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 259 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp4_; +#line 259 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 259 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 259 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 3755 "ImportPage.c" + } +#line 259 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = ret; +#line 259 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ret = _tmp5_ & _tmp2_; +#line 3761 "ImportPage.c" + } +#line 260 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = ret; +#line 260 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 3767 "ImportPage.c" +} + + +static void photo_import_source_class_init (PhotoImportSourceClass * klass) { +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_import_source_parent_class = g_type_class_peek_parent (klass); +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_type_class_add_private (klass, sizeof (PhotoImportSourcePrivate)); +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataObjectClass *) klass)->get_name = photo_import_source_real_get_name; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataSourceClass *) klass)->get_typename = photo_import_source_real_get_typename; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataSourceClass *) klass)->get_instance_id = photo_import_source_real_get_instance_id; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ThumbnailSourceClass *) klass)->get_preferred_thumbnail_format = photo_import_source_real_get_preferred_thumbnail_format; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ThumbnailSourceClass *) klass)->create_thumbnail = photo_import_source_real_create_thumbnail; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ImportSourceClass *) klass)->get_exposure_time = photo_import_source_real_get_exposure_time; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ImportSourceClass *) klass)->get_preview = photo_import_source_real_get_preview; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ThumbnailSourceClass *) klass)->get_thumbnail = photo_import_source_real_get_thumbnail; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((DataSourceClass *) klass)->internal_delete_backing = photo_import_source_real_internal_delete_backing; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (klass)->finalize = photo_import_source_finalize; +#line 3796 "ImportPage.c" +} + + +static void photo_import_source_instance_init (PhotoImportSource * self) { +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv = PHOTO_IMPORT_SOURCE_GET_PRIVATE (self); +#line 156 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->preview_md5 = NULL; +#line 157 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->metadata = NULL; +#line 158 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->exif_md5 = NULL; +#line 159 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->associated = NULL; +#line 3811 "ImportPage.c" +} + + +static void photo_import_source_finalize (GObject* obj) { + PhotoImportSource * self; +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource); +#line 156 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->preview_md5); +#line 157 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (self->priv->metadata); +#line 158 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->exif_md5); +#line 159 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->associated); +#line 152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (photo_import_source_parent_class)->finalize (obj); +#line 3829 "ImportPage.c" +} + + +GType photo_import_source_get_type (void) { + static volatile gsize photo_import_source_type_id__volatile = 0; + if (g_once_init_enter (&photo_import_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoImportSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_import_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoImportSource), 0, (GInstanceInitFunc) photo_import_source_instance_init, NULL }; + GType photo_import_source_type_id; + photo_import_source_type_id = g_type_register_static (TYPE_IMPORT_SOURCE, "PhotoImportSource", &g_define_type_info, 0); + g_once_init_leave (&photo_import_source_type_id__volatile, photo_import_source_type_id); + } + return photo_import_source_type_id__volatile; +} + + +ImportPreview* import_preview_construct (GType object_type, ImportSource* source) { + ImportPreview * self = NULL; + ImportSource* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + ImportSource* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + ImportSource* _tmp5_ = NULL; + GdkPixbuf* pixbuf = NULL; + gboolean using_placeholder = FALSE; + GdkPixbuf* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + gboolean _tmp22_ = FALSE; + GdkPixbuf* _tmp23_ = NULL; + gint _tmp24_ = 0; + ImportSource* _tmp29_ = NULL; + GdkPixbuf* _tmp50_ = NULL; + GError * _inner_error_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (source), NULL); +#line 272 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = source; +#line 272 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + dimensions_init (&_tmp1_, 0, 0); +#line 272 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = source; +#line 272 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 272 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _tmp3_; +#line 272 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (ImportPreview*) media_source_item_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), &_tmp1_, _tmp4_, NULL, FALSE, PANGO_ALIGN_LEFT); +#line 272 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp4_); +#line 274 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->duplicated_file); +#line 274 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->duplicated_file = NULL; +#line 277 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = source; +#line 277 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_VIDEO_IMPORT_SOURCE)) { +#line 278 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + media_source_item_set_enable_sprockets (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem), TRUE); +#line 3889 "ImportPage.c" + } +#line 281 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + pixbuf = NULL; +#line 3893 "ImportPage.c" + { + GdkPixbuf* _tmp6_ = NULL; + ImportSource* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; +#line 283 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = source; +#line 283 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = thumbnail_source_get_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), 0, &_inner_error_); +#line 283 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp8_; +#line 283 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3907 "ImportPage.c" + goto __catch61_g_error; + } +#line 283 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _tmp6_; +#line 283 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = NULL; +#line 283 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (pixbuf); +#line 283 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + pixbuf = _tmp9_; +#line 282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp6_); +#line 3920 "ImportPage.c" + } + goto __finally61; + __catch61_g_error: + { + GError* err = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 285 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 285 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = _tmp10_; +#line 285 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = err; +#line 285 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = _tmp12_->message; +#line 285 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:285: Unable to fetch loaded import preview for %s: %s", _tmp11_, _tmp13_); +#line 285 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp11_); +#line 282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 3948 "ImportPage.c" + } + __finally61: +#line 282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (pixbuf); +#line 282 "/home/jens/Source/shotwell/src/camera/ImportPage.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 282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_clear_error (&_inner_error_); +#line 282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return NULL; +#line 3961 "ImportPage.c" + } +#line 289 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = pixbuf; +#line 289 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + using_placeholder = _tmp14_ == NULL; +#line 290 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = pixbuf; +#line 290 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp15_ == NULL) { +#line 3971 "ImportPage.c" + GdkPixbuf* _tmp16_ = NULL; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = import_preview_placeholder_preview; +#line 291 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp16_ == NULL) { +#line 3979 "ImportPage.c" + GdkPixbuf* _tmp17_ = NULL; + GdkPixbuf* _tmp18_ = NULL; + GdkPixbuf* _tmp19_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = get_placeholder_pixbuf (); +#line 292 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_preview_placeholder_preview); +#line 292 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_preview_placeholder_preview = _tmp17_; +#line 293 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = import_preview_placeholder_preview; +#line 293 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = scale_pixbuf (_tmp18_, IMPORT_PREVIEW_MAX_SCALE, GDK_INTERP_BILINEAR, TRUE); +#line 293 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_preview_placeholder_preview); +#line 293 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_preview_placeholder_preview = _tmp19_; +#line 3997 "ImportPage.c" + } +#line 297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = import_preview_placeholder_preview; +#line 297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = _g_object_ref0 (_tmp20_); +#line 297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (pixbuf); +#line 297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + pixbuf = _tmp21_; +#line 4007 "ImportPage.c" + } +#line 301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = pixbuf; +#line 301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = gdk_pixbuf_get_width (_tmp23_); +#line 301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp24_ > IMPORT_PREVIEW_MAX_SCALE) { +#line 301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = TRUE; +#line 4017 "ImportPage.c" + } else { + GdkPixbuf* _tmp25_ = NULL; + gint _tmp26_ = 0; +#line 301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = pixbuf; +#line 301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = gdk_pixbuf_get_height (_tmp25_); +#line 301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = _tmp26_ > IMPORT_PREVIEW_MAX_SCALE; +#line 4027 "ImportPage.c" + } +#line 301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp22_) { +#line 4031 "ImportPage.c" + GdkPixbuf* _tmp27_ = NULL; + GdkPixbuf* _tmp28_ = NULL; +#line 302 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = pixbuf; +#line 302 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = scale_pixbuf (_tmp27_, IMPORT_PREVIEW_MAX_SCALE, PHOTO_IMPORT_SOURCE_INTERP, FALSE); +#line 302 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (pixbuf); +#line 302 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + pixbuf = _tmp28_; +#line 4042 "ImportPage.c" + } +#line 304 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = source; +#line 304 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, TYPE_PHOTO_IMPORT_SOURCE)) { +#line 4048 "ImportPage.c" + PhotoImportSource* photo_import_source = NULL; + ImportSource* _tmp30_ = NULL; + PhotoImportSource* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + gboolean _tmp33_ = FALSE; + PhotoImportSource* _tmp43_ = NULL; + PhotoImportSource* _tmp44_ = NULL; + PhotoImportSource* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; +#line 306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = source; +#line 306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp30_) : NULL); +#line 306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_import_source = _tmp31_; +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = using_placeholder; +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp33_) { +#line 4068 "ImportPage.c" + PhotoImportSource* _tmp34_ = NULL; + PhotoMetadata* _tmp35_ = NULL; + PhotoMetadata* _tmp36_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = photo_import_source; +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = photo_import_source_get_metadata (_tmp34_); +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = _tmp35_; +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = _tmp36_ != NULL; +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (_tmp36_); +#line 4082 "ImportPage.c" + } else { +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = FALSE; +#line 4086 "ImportPage.c" + } +#line 307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp32_) { +#line 4090 "ImportPage.c" + PhotoImportSource* _tmp37_ = NULL; + PhotoMetadata* _tmp38_ = NULL; + PhotoMetadata* _tmp39_ = NULL; + Orientation _tmp40_ = 0; + GdkPixbuf* _tmp41_ = NULL; + GdkPixbuf* _tmp42_ = NULL; +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = photo_import_source; +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = photo_import_source_get_metadata (_tmp37_); +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = _tmp38_; +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = photo_metadata_get_orientation (_tmp39_); +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = pixbuf; +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = orientation_rotate_pixbuf (_tmp40_, _tmp41_); +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (pixbuf); +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + pixbuf = _tmp42_; +#line 308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (_tmp39_); +#line 4115 "ImportPage.c" + } +#line 310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = photo_import_source; +#line 310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = photo_import_source_get_associated (_tmp43_); +#line 310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = _tmp44_; +#line 310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = _tmp45_ != NULL; +#line 310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp45_); +#line 310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp46_) { +#line 4129 "ImportPage.c" + const gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = _ ("RAW+JPEG"); +#line 311 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = g_strdup_printf ("%s", _tmp47_); +#line 311 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = _tmp48_; +#line 311 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + checkerboard_item_set_subtitle (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp49_, TRUE, PANGO_ALIGN_LEFT); +#line 311 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp49_); +#line 4143 "ImportPage.c" + } +#line 304 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo_import_source); +#line 4147 "ImportPage.c" + } +#line 315 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = pixbuf; +#line 315 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + checkerboard_item_set_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp50_); +#line 271 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (pixbuf); +#line 271 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 4157 "ImportPage.c" +} + + +ImportPreview* import_preview_new (ImportSource* source) { +#line 271 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return import_preview_construct (TYPE_IMPORT_PREVIEW, source); +#line 4164 "ImportPage.c" +} + + +gboolean import_preview_is_already_imported (ImportPreview* self) { + gboolean result = FALSE; + PhotoImportSource* photo_import_source = NULL; + ImportSource* _tmp0_ = NULL; + PhotoImportSource* _tmp1_ = NULL; + PhotoImportSource* _tmp2_ = NULL; + VideoImportSource* video_import_source = NULL; + ImportSource* _tmp39_ = NULL; + VideoImportSource* _tmp40_ = NULL; + VideoImportSource* _tmp41_ = NULL; +#line 318 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PREVIEW (self), FALSE); +#line 319 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_preview_get_import_source (self); +#line 319 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp0_) : NULL; +#line 319 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp1_ == NULL) { +#line 319 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp0_); +#line 4188 "ImportPage.c" + } +#line 319 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_import_source = _tmp1_; +#line 320 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = photo_import_source; +#line 320 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_ != NULL) { +#line 4196 "ImportPage.c" + gchar* preview_md5 = NULL; + PhotoImportSource* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + PhotoFileFormat file_format = 0; + PhotoImportSource* _tmp5_ = NULL; + PhotoFileFormat _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + PhotoFileFormat _tmp17_ = 0; +#line 321 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = photo_import_source; +#line 321 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = photo_import_source_get_preview_md5 (_tmp3_); +#line 321 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_md5 = _tmp4_; +#line 322 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = photo_import_source; +#line 322 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = photo_import_source_get_file_format (_tmp5_); +#line 322 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + file_format = _tmp6_; +#line 325 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = preview_md5; +#line 325 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = is_string_empty (_tmp8_); +#line 325 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp9_) { +#line 4225 "ImportPage.c" + const gchar* _tmp10_ = NULL; + PhotoFileFormat _tmp11_ = 0; + gboolean _tmp12_ = FALSE; +#line 326 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = preview_md5; +#line 326 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = file_format; +#line 326 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = library_photo_has_nontrash_duplicate (NULL, _tmp10_, NULL, _tmp11_); +#line 326 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _tmp12_; +#line 4237 "ImportPage.c" + } else { +#line 325 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = FALSE; +#line 4241 "ImportPage.c" + } +#line 325 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp7_) { +#line 4245 "ImportPage.c" + const gchar* _tmp13_ = NULL; + PhotoFileFormat _tmp14_ = 0; + PhotoID _tmp15_ = {0}; + DuplicatedFile* _tmp16_ = NULL; +#line 328 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = preview_md5; +#line 328 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = file_format; +#line 328 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + library_photo_get_nontrash_duplicate (NULL, _tmp13_, NULL, _tmp14_, &_tmp15_); +#line 328 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = duplicated_file_create_from_photo_id (&_tmp15_); +#line 328 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->duplicated_file); +#line 328 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->duplicated_file = _tmp16_; +#line 331 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 331 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_md5); +#line 331 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo_import_source); +#line 331 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4270 "ImportPage.c" + } +#line 337 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = file_format; +#line 337 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp17_ == PHOTO_FILE_FORMAT_RAW) { +#line 4276 "ImportPage.c" + guint64 filesize = 0ULL; + ImportSource* _tmp18_ = NULL; + ImportSource* _tmp19_ = NULL; + gulong _tmp20_ = 0UL; + guint64 _tmp21_ = 0ULL; + guint64 _tmp22_ = 0ULL; +#line 338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = import_preview_get_import_source (self); +#line 338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = _tmp18_; +#line 338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = import_source_get_filesize (_tmp19_); +#line 338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = (guint64) _tmp20_; +#line 338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp19_); +#line 338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + filesize = _tmp21_; +#line 340 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = filesize; +#line 340 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp22_ <= ((guint64) G_MAXINT64)) { +#line 4299 "ImportPage.c" + LibraryPhotoSourceCollection* _tmp23_ = NULL; + ImportSource* _tmp24_ = NULL; + ImportSource* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + guint64 _tmp28_ = 0ULL; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = library_photo_global; +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = import_preview_get_import_source (self); +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = _tmp24_; +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = import_source_get_filename (_tmp25_); +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = _tmp26_; +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = filesize; +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = library_photo_source_collection_has_basename_filesize_duplicate (_tmp23_, _tmp27_, (gint64) _tmp28_); +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = _tmp29_; +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp27_); +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp25_); +#line 341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp30_) { +#line 4330 "ImportPage.c" + LibraryPhotoSourceCollection* _tmp31_ = NULL; + ImportSource* _tmp32_ = NULL; + ImportSource* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + guint64 _tmp36_ = 0ULL; + PhotoID _tmp37_ = {0}; + DuplicatedFile* _tmp38_ = NULL; +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = library_photo_global; +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = import_preview_get_import_source (self); +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = _tmp32_; +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = import_source_get_filename (_tmp33_); +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = _tmp34_; +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = filesize; +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + library_photo_source_collection_get_basename_filesize_duplicate (_tmp31_, _tmp35_, (gint64) _tmp36_, &_tmp37_); +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = duplicated_file_create_from_photo_id (&_tmp37_); +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->duplicated_file); +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->duplicated_file = _tmp38_; +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp35_); +#line 344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp33_); +#line 348 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 348 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_md5); +#line 348 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo_import_source); +#line 348 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4371 "ImportPage.c" + } + } + } +#line 353 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 353 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_md5); +#line 353 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo_import_source); +#line 353 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4383 "ImportPage.c" + } +#line 356 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = import_preview_get_import_source (self); +#line 356 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp39_, TYPE_VIDEO_IMPORT_SOURCE) ? ((VideoImportSource*) _tmp39_) : NULL; +#line 356 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp40_ == NULL) { +#line 356 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp39_); +#line 4393 "ImportPage.c" + } +#line 356 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + video_import_source = _tmp40_; +#line 357 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = video_import_source; +#line 357 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp41_ != NULL) { +#line 4401 "ImportPage.c" + VideoSourceCollection* _tmp42_ = NULL; + VideoImportSource* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + VideoImportSource* _tmp46_ = NULL; + gulong _tmp47_ = 0UL; + gboolean _tmp48_ = FALSE; + gboolean _tmp49_ = FALSE; +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = video_global; +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = video_import_source; +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = _tmp44_; +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = video_import_source; +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = import_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = video_source_collection_has_basename_filesize_duplicate (_tmp42_, _tmp45_, (guint64) _tmp47_); +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = _tmp48_; +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp45_); +#line 362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp49_) { +#line 4430 "ImportPage.c" + VideoSourceCollection* _tmp50_ = NULL; + VideoImportSource* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + VideoImportSource* _tmp54_ = NULL; + gulong _tmp55_ = 0UL; + VideoID _tmp56_ = {0}; + DuplicatedFile* _tmp57_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = video_global; +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = video_import_source; +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = _tmp52_; +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = video_import_source; +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = import_source_get_filesize (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + video_source_collection_get_basename_filesize_duplicate (_tmp50_, _tmp53_, (guint64) _tmp55_, &_tmp56_); +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp57_ = duplicated_file_create_from_video_id (&_tmp56_); +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->duplicated_file); +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->duplicated_file = _tmp57_; +#line 365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp53_); +#line 370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (video_import_source); +#line 370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo_import_source); +#line 370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4469 "ImportPage.c" + } +#line 373 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 373 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (video_import_source); +#line 373 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo_import_source); +#line 373 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4479 "ImportPage.c" + } +#line 376 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 376 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (video_import_source); +#line 376 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo_import_source); +#line 376 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4489 "ImportPage.c" +} + + +DuplicatedFile* import_preview_get_duplicated_file (ImportPreview* self) { + DuplicatedFile* result = NULL; + gboolean _tmp0_ = FALSE; + DuplicatedFile* _tmp1_ = NULL; + DuplicatedFile* _tmp2_ = NULL; +#line 379 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PREVIEW (self), NULL); +#line 380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_preview_is_already_imported (self); +#line 380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp0_) { +#line 381 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = NULL; +#line 381 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4508 "ImportPage.c" + } +#line 383 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->duplicated_file; +#line 383 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 383 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp2_; +#line 383 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4518 "ImportPage.c" +} + + +ImportSource* import_preview_get_import_source (ImportPreview* self) { + ImportSource* result = NULL; + DataSource* _tmp0_ = NULL; +#line 386 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PREVIEW (self), NULL); +#line 387 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 387 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_IMPORT_SOURCE, ImportSource); +#line 387 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4533 "ImportPage.c" +} + + +static void import_preview_class_init (ImportPreviewClass * klass) { +#line 264 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_preview_parent_class = g_type_class_peek_parent (klass); +#line 264 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_type_class_add_private (klass, sizeof (ImportPreviewPrivate)); +#line 264 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (klass)->finalize = import_preview_finalize; +#line 4544 "ImportPage.c" +} + + +static void import_preview_instance_init (ImportPreview * self) { +#line 264 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv = IMPORT_PREVIEW_GET_PRIVATE (self); +#line 4551 "ImportPage.c" +} + + +static void import_preview_finalize (GObject* obj) { + ImportPreview * self; +#line 264 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORT_PREVIEW, ImportPreview); +#line 269 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->duplicated_file); +#line 264 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (import_preview_parent_class)->finalize (obj); +#line 4563 "ImportPage.c" +} + + +GType import_preview_get_type (void) { + static volatile gsize import_preview_type_id__volatile = 0; + if (g_once_init_enter (&import_preview_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportPreviewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_preview_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportPreview), 0, (GInstanceInitFunc) import_preview_instance_init, NULL }; + GType import_preview_type_id; + import_preview_type_id = g_type_register_static (TYPE_MEDIA_SOURCE_ITEM, "ImportPreview", &g_define_type_info, 0); + g_once_init_leave (&import_preview_type_id__volatile, import_preview_type_id); + } + return import_preview_type_id__volatile; +} + + +CameraViewTracker* camera_view_tracker_construct (GType object_type, ViewCollection* collection) { + CameraViewTracker* self = NULL; + ViewCollection* _tmp0_ = NULL; + CameraAccumulator* _tmp1_ = NULL; + CameraAccumulator* _tmp2_ = NULL; + CameraAccumulator* _tmp3_ = NULL; +#line 396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (collection), NULL); +#line 397 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = collection; +#line 397 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (CameraViewTracker*) core_view_tracker_construct (object_type, _tmp0_); +#line 399 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->all; +#line 399 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->visible; +#line 399 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->selected; +#line 399 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + core_view_tracker_start (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_VIEW_TRACKER, CoreViewTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)); +#line 396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 4601 "ImportPage.c" +} + + +CameraViewTracker* camera_view_tracker_new (ViewCollection* collection) { +#line 396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return camera_view_tracker_construct (TYPE_CAMERA_VIEW_TRACKER, collection); +#line 4608 "ImportPage.c" +} + + +static void camera_view_tracker_class_init (CameraViewTrackerClass * klass) { +#line 391 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_view_tracker_parent_class = g_type_class_peek_parent (klass); +#line 391 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((CoreTrackerClass *) klass)->finalize = camera_view_tracker_finalize; +#line 4617 "ImportPage.c" +} + + +static void camera_view_tracker_instance_init (CameraViewTracker * self) { + CameraAccumulator* _tmp0_ = NULL; + CameraAccumulator* _tmp1_ = NULL; + CameraAccumulator* _tmp2_ = NULL; +#line 392 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = camera_accumulator_new (); +#line 392 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->all = _tmp0_; +#line 393 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = camera_accumulator_new (); +#line 393 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->visible = _tmp1_; +#line 394 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = camera_accumulator_new (); +#line 394 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->selected = _tmp2_; +#line 4637 "ImportPage.c" +} + + +static void camera_view_tracker_finalize (CoreTracker* obj) { + CameraViewTracker * self; +#line 391 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CAMERA_VIEW_TRACKER, CameraViewTracker); +#line 392 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->all); +#line 393 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->visible); +#line 394 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->selected); +#line 391 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + CORE_TRACKER_CLASS (camera_view_tracker_parent_class)->finalize (obj); +#line 4653 "ImportPage.c" +} + + +GType camera_view_tracker_get_type (void) { + static volatile gsize camera_view_tracker_type_id__volatile = 0; + if (g_once_init_enter (&camera_view_tracker_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CameraViewTrackerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) camera_view_tracker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CameraViewTracker), 0, (GInstanceInitFunc) camera_view_tracker_instance_init, NULL }; + GType camera_view_tracker_type_id; + camera_view_tracker_type_id = g_type_register_static (CORE_TYPE_VIEW_TRACKER, "CameraViewTracker", &g_define_type_info, 0); + g_once_init_leave (&camera_view_tracker_type_id__volatile, camera_view_tracker_type_id); + } + return camera_view_tracker_type_id__volatile; +} + + +static gboolean camera_accumulator_real_include (CoreTrackerAccumulator* base, DataObject* object) { + CameraAccumulator * self; + gboolean result = FALSE; + ImportSource* source = NULL; + DataObject* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gint _tmp2_ = 0; + PhotoImportSource* photo = NULL; + ImportSource* _tmp3_ = NULL; + PhotoImportSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PhotoImportSource* _tmp6_ = NULL; +#line 409 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CAMERA_ACCUMULATOR, CameraAccumulator); +#line 409 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 410 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = object; +#line 410 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 410 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + source = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_IMPORT_SOURCE, ImportSource); +#line 412 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->_total; +#line 412 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_total (self, _tmp2_ + 1); +#line 414 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = source; +#line 414 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp3_) : NULL); +#line 414 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo = _tmp4_; +#line 415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = photo; +#line 415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp6_ != NULL) { +#line 4705 "ImportPage.c" + PhotoImportSource* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; +#line 415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = photo; +#line 415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = photo_import_source_get_file_format (_tmp7_); +#line 415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _tmp8_ != PHOTO_FILE_FORMAT_RAW; +#line 4714 "ImportPage.c" + } else { +#line 415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = FALSE; +#line 4718 "ImportPage.c" + } +#line 415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp5_) { +#line 4722 "ImportPage.c" + gint _tmp9_ = 0; +#line 416 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = self->priv->_photos; +#line 416 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_photos (self, _tmp9_ + 1); +#line 4728 "ImportPage.c" + } else { + gboolean _tmp10_ = FALSE; + PhotoImportSource* _tmp11_ = NULL; +#line 417 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = photo; +#line 417 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp11_ != NULL) { +#line 4736 "ImportPage.c" + PhotoImportSource* _tmp12_ = NULL; + PhotoFileFormat _tmp13_ = 0; +#line 417 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = photo; +#line 417 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = photo_import_source_get_file_format (_tmp12_); +#line 417 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = _tmp13_ == PHOTO_FILE_FORMAT_RAW; +#line 4745 "ImportPage.c" + } else { +#line 417 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = FALSE; +#line 4749 "ImportPage.c" + } +#line 417 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp10_) { +#line 4753 "ImportPage.c" + gint _tmp14_ = 0; +#line 418 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = self->priv->_raw; +#line 418 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_raw (self, _tmp14_ + 1); +#line 4759 "ImportPage.c" + } else { + ImportSource* _tmp15_ = NULL; +#line 419 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = source; +#line 419 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_VIDEO_IMPORT_SOURCE)) { +#line 4766 "ImportPage.c" + gint _tmp16_ = 0; +#line 420 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = self->priv->_videos; +#line 420 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_videos (self, _tmp16_ + 1); +#line 4772 "ImportPage.c" + } + } + } +#line 423 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 423 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo); +#line 423 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 423 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4784 "ImportPage.c" +} + + +static gboolean camera_accumulator_real_uninclude (CoreTrackerAccumulator* base, DataObject* object) { + CameraAccumulator * self; + gboolean result = FALSE; + ImportSource* source = NULL; + DataObject* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gint _tmp2_ = 0; + PhotoImportSource* photo = NULL; + ImportSource* _tmp3_ = NULL; + PhotoImportSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + PhotoImportSource* _tmp6_ = NULL; +#line 426 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CAMERA_ACCUMULATOR, CameraAccumulator); +#line 426 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 427 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = object; +#line 427 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 427 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + source = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_IMPORT_SOURCE, ImportSource); +#line 429 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->_total; +#line 429 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_total (self, _tmp2_ + 1); +#line 431 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = source; +#line 431 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp3_) : NULL); +#line 431 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo = _tmp4_; +#line 432 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = photo; +#line 432 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp6_ != NULL) { +#line 4824 "ImportPage.c" + PhotoImportSource* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; +#line 432 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = photo; +#line 432 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = photo_import_source_get_file_format (_tmp7_); +#line 432 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _tmp8_ != PHOTO_FILE_FORMAT_RAW; +#line 4833 "ImportPage.c" + } else { +#line 432 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = FALSE; +#line 4837 "ImportPage.c" + } +#line 432 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp5_) { +#line 4841 "ImportPage.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 433 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = self->priv->_photos; +#line 433 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_assert (_tmp9_ > 0, "photos > 0"); +#line 434 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = self->priv->_photos; +#line 434 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_photos (self, _tmp10_ - 1); +#line 4852 "ImportPage.c" + } else { + gboolean _tmp11_ = FALSE; + PhotoImportSource* _tmp12_ = NULL; +#line 435 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = photo; +#line 435 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp12_ != NULL) { +#line 4860 "ImportPage.c" + PhotoImportSource* _tmp13_ = NULL; + PhotoFileFormat _tmp14_ = 0; +#line 435 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = photo; +#line 435 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = photo_import_source_get_file_format (_tmp13_); +#line 435 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = _tmp14_ == PHOTO_FILE_FORMAT_RAW; +#line 4869 "ImportPage.c" + } else { +#line 435 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = FALSE; +#line 4873 "ImportPage.c" + } +#line 435 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp11_) { +#line 4877 "ImportPage.c" + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = self->priv->_raw; +#line 436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_assert (_tmp15_ > 0, "raw > 0"); +#line 437 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = self->priv->_raw; +#line 437 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_raw (self, _tmp16_ - 1); +#line 4888 "ImportPage.c" + } else { + ImportSource* _tmp17_ = NULL; +#line 438 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = source; +#line 438 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, TYPE_VIDEO_IMPORT_SOURCE)) { +#line 4895 "ImportPage.c" + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 439 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = self->priv->_videos; +#line 439 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_assert (_tmp18_ > 0, "videos > 0"); +#line 440 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = self->priv->_videos; +#line 440 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_videos (self, _tmp19_ - 1); +#line 4906 "ImportPage.c" + } + } + } +#line 444 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 444 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo); +#line 444 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 444 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4918 "ImportPage.c" +} + + +static gboolean camera_accumulator_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration) { + CameraAccumulator * self; + gboolean result = FALSE; +#line 447 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CAMERA_ACCUMULATOR, CameraAccumulator); +#line 447 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 447 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 449 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 449 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4935 "ImportPage.c" +} + + +gchar* camera_accumulator_to_string (CameraAccumulator* self) { + gchar* result = NULL; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; +#line 452 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_CAMERA_ACCUMULATOR (self), NULL); +#line 453 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->_total; +#line 453 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->_photos; +#line 453 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->_videos; +#line 453 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->_raw; +#line 453 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = g_strdup_printf ("%d total/%d photos/%d videos/%d raw", _tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 453 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp4_; +#line 453 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4962 "ImportPage.c" +} + + +CameraAccumulator* camera_accumulator_construct (GType object_type) { + CameraAccumulator * self = NULL; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (CameraAccumulator*) g_object_new (object_type, NULL); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 4972 "ImportPage.c" +} + + +CameraAccumulator* camera_accumulator_new (void) { +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return camera_accumulator_construct (TYPE_CAMERA_ACCUMULATOR); +#line 4979 "ImportPage.c" +} + + +gint camera_accumulator_get_total (CameraAccumulator* self) { + gint result; + gint _tmp0_ = 0; +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_CAMERA_ACCUMULATOR (self), 0); +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->_total; +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 4994 "ImportPage.c" +} + + +static void camera_accumulator_set_total (CameraAccumulator* self, gint value) { + gint _tmp0_ = 0; +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_CAMERA_ACCUMULATOR (self)); +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = value; +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->_total = _tmp0_; +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_notify ((GObject *) self, "total"); +#line 5008 "ImportPage.c" +} + + +gint camera_accumulator_get_photos (CameraAccumulator* self) { + gint result; + gint _tmp0_ = 0; +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_CAMERA_ACCUMULATOR (self), 0); +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->_photos; +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 5023 "ImportPage.c" +} + + +static void camera_accumulator_set_photos (CameraAccumulator* self, gint value) { + gint _tmp0_ = 0; +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_CAMERA_ACCUMULATOR (self)); +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = value; +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->_photos = _tmp0_; +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_notify ((GObject *) self, "photos"); +#line 5037 "ImportPage.c" +} + + +gint camera_accumulator_get_videos (CameraAccumulator* self) { + gint result; + gint _tmp0_ = 0; +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_CAMERA_ACCUMULATOR (self), 0); +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->_videos; +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 5052 "ImportPage.c" +} + + +static void camera_accumulator_set_videos (CameraAccumulator* self, gint value) { + gint _tmp0_ = 0; +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_CAMERA_ACCUMULATOR (self)); +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = value; +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->_videos = _tmp0_; +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_notify ((GObject *) self, "videos"); +#line 5066 "ImportPage.c" +} + + +gint camera_accumulator_get_raw (CameraAccumulator* self) { + gint result; + gint _tmp0_ = 0; +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_CAMERA_ACCUMULATOR (self), 0); +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->_raw; +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 5081 "ImportPage.c" +} + + +static void camera_accumulator_set_raw (CameraAccumulator* self, gint value) { + gint _tmp0_ = 0; +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_CAMERA_ACCUMULATOR (self)); +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = value; +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->_raw = _tmp0_; +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_notify ((GObject *) self, "raw"); +#line 5095 "ImportPage.c" +} + + +static void camera_accumulator_class_init (CameraAccumulatorClass * klass) { +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_parent_class = g_type_class_peek_parent (klass); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_type_class_add_private (klass, sizeof (CameraAccumulatorPrivate)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_camera_accumulator_get_property; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_camera_accumulator_set_property; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (klass)->finalize = camera_accumulator_finalize; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), CAMERA_ACCUMULATOR_TOTAL, g_param_spec_int ("total", "total", "total", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), CAMERA_ACCUMULATOR_PHOTOS, g_param_spec_int ("photos", "photos", "photos", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), CAMERA_ACCUMULATOR_VIDEOS, g_param_spec_int ("videos", "videos", "videos", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), CAMERA_ACCUMULATOR_RAW, g_param_spec_int ("raw", "raw", "raw", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 5118 "ImportPage.c" +} + + +static void camera_accumulator_core_tracker_accumulator_interface_init (CoreTrackerAccumulatorIface * iface) { +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_core_tracker_accumulator_parent_iface = g_type_interface_peek_parent (iface); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + iface->include = (gboolean (*)(CoreTrackerAccumulator*, DataObject*)) camera_accumulator_real_include; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + iface->uninclude = (gboolean (*)(CoreTrackerAccumulator*, DataObject*)) camera_accumulator_real_uninclude; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + iface->altered = (gboolean (*)(CoreTrackerAccumulator*, DataObject*, Alteration*)) camera_accumulator_real_altered; +#line 5131 "ImportPage.c" +} + + +static void camera_accumulator_instance_init (CameraAccumulator * self) { +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv = CAMERA_ACCUMULATOR_GET_PRIVATE (self); +#line 404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->_total = 0; +#line 405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->_photos = 0; +#line 406 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->_videos = 0; +#line 407 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->_raw = 0; +#line 5146 "ImportPage.c" +} + + +static void camera_accumulator_finalize (GObject* obj) { + CameraAccumulator * self; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CAMERA_ACCUMULATOR, CameraAccumulator); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (camera_accumulator_parent_class)->finalize (obj); +#line 5156 "ImportPage.c" +} + + +GType camera_accumulator_get_type (void) { + static volatile gsize camera_accumulator_type_id__volatile = 0; + if (g_once_init_enter (&camera_accumulator_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CameraAccumulatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) camera_accumulator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CameraAccumulator), 0, (GInstanceInitFunc) camera_accumulator_instance_init, NULL }; + static const GInterfaceInfo core_tracker_accumulator_info = { (GInterfaceInitFunc) camera_accumulator_core_tracker_accumulator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType camera_accumulator_type_id; + camera_accumulator_type_id = g_type_register_static (G_TYPE_OBJECT, "CameraAccumulator", &g_define_type_info, 0); + g_type_add_interface_static (camera_accumulator_type_id, CORE_TYPE_TRACKER_ACCUMULATOR, &core_tracker_accumulator_info); + g_once_init_leave (&camera_accumulator_type_id__volatile, camera_accumulator_type_id); + } + return camera_accumulator_type_id__volatile; +} + + +static void _vala_camera_accumulator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + CameraAccumulator * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CAMERA_ACCUMULATOR, CameraAccumulator); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + switch (property_id) { +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case CAMERA_ACCUMULATOR_TOTAL: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_value_set_int (value, camera_accumulator_get_total (self)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case CAMERA_ACCUMULATOR_PHOTOS: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_value_set_int (value, camera_accumulator_get_photos (self)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case CAMERA_ACCUMULATOR_VIDEOS: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_value_set_int (value, camera_accumulator_get_videos (self)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case CAMERA_ACCUMULATOR_RAW: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_value_set_int (value, camera_accumulator_get_raw (self)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 5203 "ImportPage.c" + default: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 5209 "ImportPage.c" + } +} + + +static void _vala_camera_accumulator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + CameraAccumulator * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CAMERA_ACCUMULATOR, CameraAccumulator); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + switch (property_id) { +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case CAMERA_ACCUMULATOR_TOTAL: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_total (self, g_value_get_int (value)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case CAMERA_ACCUMULATOR_PHOTOS: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_photos (self, g_value_get_int (value)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case CAMERA_ACCUMULATOR_VIDEOS: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_videos (self, g_value_get_int (value)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case CAMERA_ACCUMULATOR_RAW: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + camera_accumulator_set_raw (self, g_value_get_int (value)); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 5243 "ImportPage.c" + default: +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 5249 "ImportPage.c" + } +} + + +static void _import_page_on_media_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 766 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_media_added_removed ((ImportPage*) self); +#line 5257 "ImportPage.c" +} + + +GType import_page_refresh_result_get_type (void) { + static volatile gsize import_page_refresh_result_type_id__volatile = 0; + if (g_once_init_enter (&import_page_refresh_result_type_id__volatile)) { + static const GEnumValue values[] = {{IMPORT_PAGE_REFRESH_RESULT_OK, "IMPORT_PAGE_REFRESH_RESULT_OK", "ok"}, {IMPORT_PAGE_REFRESH_RESULT_BUSY, "IMPORT_PAGE_REFRESH_RESULT_BUSY", "busy"}, {IMPORT_PAGE_REFRESH_RESULT_LOCKED, "IMPORT_PAGE_REFRESH_RESULT_LOCKED", "locked"}, {IMPORT_PAGE_REFRESH_RESULT_LIBRARY_ERROR, "IMPORT_PAGE_REFRESH_RESULT_LIBRARY_ERROR", "library-error"}, {0, NULL, NULL}}; + GType import_page_refresh_result_type_id; + import_page_refresh_result_type_id = g_enum_register_static ("ImportPageRefreshResult", values); + g_once_init_leave (&import_page_refresh_result_type_id__volatile, import_page_refresh_result_type_id); + } + return import_page_refresh_result_type_id__volatile; +} + + +static gint64 _import_page_preview_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = import_page_preview_comparator (a, b); +#line 747 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 5278 "ImportPage.c" +} + + +static gboolean _import_page_preview_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) { + gboolean result; + result = import_page_preview_comparator_predicate (object, alteration); +#line 747 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 5287 "ImportPage.c" +} + + +static void _import_page_on_view_changed_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self) { +#line 750 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed ((ImportPage*) self); +#line 5294 "ImportPage.c" +} + + +static void _import_page_on_view_changed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 751 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed ((ImportPage*) self); +#line 5301 "ImportPage.c" +} + + +static void _import_page_on_view_changed_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self) { +#line 752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed ((ImportPage*) self); +#line 5308 "ImportPage.c" +} + + +ImportPage* import_page_construct (GType object_type, Camera* camera, const gchar* uri, const gchar* display_name, const gchar* icon) { + ImportPage * self = NULL; + const gchar* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; + Camera* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + ImportSourceCollection* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + CameraViewTracker* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GtkLabel* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GVolumeMonitor* _tmp29_ = NULL; + GPContextWrapper* _tmp30_ = NULL; + GPSpinIdleWrapper* _tmp32_ = NULL; + ViewCollection* _tmp34_ = NULL; + ViewCollection* _tmp35_ = NULL; + SourceCollection* _tmp36_ = NULL; + ImportPageImportViewManager* _tmp37_ = NULL; + ImportPageImportViewManager* _tmp38_ = NULL; + ViewCollectionMonitor* _tmp39_ = NULL; + ViewCollectionMonitor* _tmp40_ = NULL; + ViewCollection* _tmp41_ = NULL; + ViewCollection* _tmp42_ = NULL; + ViewCollection* _tmp43_ = NULL; + ViewCollection* _tmp44_ = NULL; + ViewCollection* _tmp45_ = NULL; + ViewCollection* _tmp46_ = NULL; + ViewCollection* _tmp47_ = NULL; + ViewCollection* _tmp48_ = NULL; + ViewCollection* _tmp49_ = NULL; + ViewCollection* _tmp50_ = NULL; + GValue _tmp51_ = {0}; + LibraryPhotoSourceCollection* _tmp52_ = NULL; + VideoSourceCollection* _tmp53_ = NULL; +#line 709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (uri != NULL, NULL); +#line 710 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _ ("Camera"); +#line 710 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (ImportPage*) checkerboard_page_construct (object_type, _tmp0_); +#line 711 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = camera; +#line 711 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _GPHOTO_REF_CAMERA0 (_tmp1_); +#line 711 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_camera_unref0 (self->priv->camera); +#line 711 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->camera = _tmp2_; +#line 712 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = uri; +#line 712 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 712 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->uri); +#line 712 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->uri = _tmp4_; +#line 713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = uri; +#line 713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = g_strdup_printf ("ImportSources for %s", _tmp5_); +#line 713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _tmp6_; +#line 713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = import_source_collection_new (_tmp7_); +#line 713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (self->priv->import_sources); +#line 713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->import_sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_SOURCE_COLLECTION, SourceCollection); +#line 713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp7_); +#line 714 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = icon; +#line 714 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 714 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->icon); +#line 714 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->icon = _tmp10_; +#line 716 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 716 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = _tmp11_; +#line 716 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = camera_view_tracker_new (_tmp12_); +#line 716 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _core_tracker_unref0 (self->priv->tracker); +#line 716 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->tracker = _tmp13_; +#line 716 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp12_); +#line 719 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = display_name; +#line 719 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (NULL != _tmp14_) { +#line 5417 "ImportPage.c" + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 720 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = display_name; +#line 720 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 720 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->camera_name); +#line 720 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->camera_name = _tmp16_; +#line 5428 "ImportPage.c" + } else { + CameraAbilities abilities = {0}; + int res = 0; + Camera* _tmp17_ = NULL; + CameraAbilities _tmp18_ = {0}; + int _tmp19_ = 0; + int _tmp20_ = 0; +#line 723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = camera; +#line 723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = gp_camera_get_abilities (_tmp17_, &_tmp18_); +#line 723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (abilities); +#line 723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + abilities = _tmp18_; +#line 723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + res = _tmp19_; +#line 724 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = res; +#line 724 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp20_ != GP_OK) { +#line 5450 "ImportPage.c" + int _tmp21_ = 0; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 725 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = res; +#line 725 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = gp_result_to_full_string (_tmp21_); +#line 725 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = _tmp22_; +#line 725 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:725: Unable to get camera abilities: %s", _tmp23_); +#line 725 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp23_); +#line 726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = _ ("Camera"); +#line 726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->camera_name); +#line 726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->camera_name = _tmp25_; +#line 5474 "ImportPage.c" + } +#line 719 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (abilities); +#line 5478 "ImportPage.c" + } +#line 729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = self->priv->camera_label; +#line 729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = self->priv->camera_name; +#line 729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_label_set_text (_tmp26_, _tmp27_); +#line 730 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = self->priv->camera_name; +#line 730 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + page_set_page_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp28_); +#line 733 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = g_volume_monitor_get (); +#line 733 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->volume_monitor); +#line 733 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->volume_monitor = _tmp29_; +#line 736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = import_page_null_context; +#line 736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp30_ == NULL) { +#line 5500 "ImportPage.c" + GPContextWrapper* _tmp31_ = NULL; +#line 737 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = gp_context_wrapper_new (); +#line 737 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_context_wrapper_unref0 (import_page_null_context); +#line 737 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_null_context = _tmp31_; +#line 5508 "ImportPage.c" + } +#line 740 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = import_page_spin_idle_context; +#line 740 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp32_ == NULL) { +#line 5514 "ImportPage.c" + GPSpinIdleWrapper* _tmp33_ = NULL; +#line 741 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = gp_spin_idle_wrapper_new (); +#line 741 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_context_wrapper_unref0 (import_page_spin_idle_context); +#line 741 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_spin_idle_context = _tmp33_; +#line 5522 "ImportPage.c" + } +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = _tmp34_; +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = self->priv->import_sources; +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = import_page_import_view_manager_new (self); +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = _tmp37_; +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = view_collection_monitor_source_collection (_tmp35_, _tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_VIEW_MANAGER, ViewManager), NULL, NULL, NULL, NULL); +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = _tmp39_; +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _view_collection_monitor_unref0 (_tmp40_); +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _view_manager_unref0 (_tmp38_); +#line 744 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp35_); +#line 747 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 747 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = _tmp41_; +#line 747 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_DATA_COLLECTION, DataCollection), _import_page_preview_comparator_comparator, NULL, _import_page_preview_comparator_predicate_comparator_predicate, NULL); +#line 747 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp42_); +#line 750 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 750 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = _tmp43_; +#line 750 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (_tmp44_, "items-state-changed", (GCallback) _import_page_on_view_changed_view_collection_items_state_changed, self, 0); +#line 750 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp44_); +#line 751 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 751 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = _tmp45_; +#line 751 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _import_page_on_view_changed_data_collection_contents_altered, self, 0); +#line 751 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp46_); +#line 752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = _tmp47_; +#line 752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (_tmp48_, "items-visibility-changed", (GCallback) _import_page_on_view_changed_view_collection_items_visibility_changed, self, 0); +#line 752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp48_); +#line 755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = _tmp49_; +#line 755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_value_init (&_tmp51_, G_TYPE_BOOLEAN); +#line 755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_value_set_boolean (&_tmp51_, TRUE); +#line 755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_DATA_COLLECTION, DataCollection), CHECKERBOARD_ITEM_PROP_SHOW_SUBTITLES, &_tmp51_, NULL, NULL); +#line 755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_IS_VALUE (&_tmp51_) ? (g_value_unset (&_tmp51_), NULL) : NULL; +#line 755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp50_); +#line 758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = library_photo_global; +#line 758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _import_page_on_media_added_removed_data_collection_contents_altered, self, 0); +#line 759 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = video_global; +#line 759 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _import_page_on_media_added_removed_data_collection_contents_altered, self, 0); +#line 761 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/ImportContextMenu"); +#line 762 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + checkerboard_page_init_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/ImportContextMenu"); +#line 709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 5604 "ImportPage.c" +} + + +ImportPage* import_page_new (Camera* camera, const gchar* uri, const gchar* display_name, const gchar* icon) { +#line 709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return import_page_construct (TYPE_IMPORT_PAGE, camera, uri, display_name, icon); +#line 5611 "ImportPage.c" +} + + +static void _import_page_on_hide_imported_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 777 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_hide_imported ((ImportPage*) self); +#line 5618 "ImportPage.c" +} + + +static GtkToolbar* import_page_real_get_toolbar (Page* base) { + ImportPage * self; + GtkToolbar* result = NULL; + GtkToolbar* _tmp0_ = NULL; + GtkToolbar* _tmp56_ = NULL; + GtkToolbar* _tmp57_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 771 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 771 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_ == NULL) { +#line 5634 "ImportPage.c" + GtkToolbar* _tmp1_ = NULL; + GtkToolbar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkCheckButton* _tmp4_ = NULL; + GtkCheckButton* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkCheckButton* _tmp7_ = NULL; + GtkCheckButton* _tmp8_ = NULL; + GtkCheckButton* _tmp9_ = NULL; + ConfigFacade* _tmp10_ = NULL; + ConfigFacade* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GtkToolItem* hide_item = NULL; + GtkToolItem* _tmp13_ = NULL; + GtkToolItem* _tmp14_ = NULL; + GtkToolItem* _tmp15_ = NULL; + GtkCheckButton* _tmp16_ = NULL; + GtkToolbar* _tmp17_ = NULL; + GtkToolItem* _tmp18_ = NULL; + GtkSeparatorToolItem* separator = NULL; + GtkSeparatorToolItem* _tmp19_ = NULL; + GtkSeparatorToolItem* _tmp20_ = NULL; + GtkToolbar* _tmp21_ = NULL; + GtkSeparatorToolItem* _tmp22_ = NULL; + GtkProgressBar* _tmp23_ = NULL; + GtkProgressBar* _tmp24_ = NULL; + GtkToolItem* progress_item = NULL; + GtkToolItem* _tmp25_ = NULL; + GtkToolItem* _tmp26_ = NULL; + GtkToolItem* _tmp27_ = NULL; + GtkProgressBar* _tmp28_ = NULL; + GtkProgressBar* _tmp29_ = NULL; + GtkToolbar* _tmp30_ = NULL; + GtkToolItem* _tmp31_ = NULL; + GtkToggleToolButton* find_button = NULL; + GtkToggleToolButton* _tmp32_ = NULL; + GtkToggleToolButton* _tmp33_ = NULL; + GtkAction* _tmp34_ = NULL; + GtkAction* _tmp35_ = NULL; + GtkToolbar* _tmp36_ = NULL; + GtkToggleToolButton* _tmp37_ = NULL; + GtkToolbar* _tmp38_ = NULL; + GtkSeparatorToolItem* _tmp39_ = NULL; + GtkSeparatorToolItem* _tmp40_ = NULL; + GtkToolButton* import_selected_button = NULL; + GtkToolButton* _tmp41_ = NULL; + GtkToolButton* _tmp42_ = NULL; + GtkToolButton* _tmp43_ = NULL; + GtkAction* _tmp44_ = NULL; + GtkAction* _tmp45_ = NULL; + GtkToolbar* _tmp46_ = NULL; + GtkToolButton* _tmp47_ = NULL; + GtkToolButton* import_all_button = NULL; + GtkToolButton* _tmp48_ = NULL; + GtkToolButton* _tmp49_ = NULL; + GtkToolButton* _tmp50_ = NULL; + GtkAction* _tmp51_ = NULL; + GtkAction* _tmp52_ = NULL; + GtkToolbar* _tmp53_ = NULL; + GtkToolButton* _tmp54_ = NULL; + GtkProgressBar* _tmp55_ = NULL; +#line 772 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = PAGE_CLASS (import_page_parent_class)->get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page)); +#line 772 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_; +#line 772 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp2_); +#line 775 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _ ("Hide photos already imported"); +#line 775 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = (GtkCheckButton*) gtk_check_button_new_with_label (_tmp3_); +#line 775 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp4_); +#line 775 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->hide_imported); +#line 775 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->hide_imported = _tmp4_; +#line 776 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = self->priv->hide_imported; +#line 776 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _ ("Only display photos that have not been imported"); +#line 776 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), _tmp6_); +#line 777 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = self->priv->hide_imported; +#line 777 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _import_page_on_hide_imported_gtk_button_clicked, self, 0); +#line 778 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = self->priv->hide_imported; +#line 778 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = self->priv->hide_imported; +#line 779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = config_facade_get_instance (); +#line 779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = _tmp10_; +#line 779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = configuration_facade_get_hide_photos_already_imported (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_toggle_button_get_type (), GtkToggleButton), _tmp12_); +#line 779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp11_); +#line 780 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = gtk_tool_item_new (); +#line 780 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp13_); +#line 780 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + hide_item = _tmp13_; +#line 781 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = hide_item; +#line 781 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_tool_item_set_is_important (_tmp14_, TRUE); +#line 782 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = hide_item; +#line 782 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = self->priv->hide_imported; +#line 782 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget)); +#line 784 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 784 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = hide_item; +#line 784 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toolbar_insert (_tmp17_, _tmp18_, -1); +#line 787 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 787 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp19_); +#line 787 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + separator = _tmp19_; +#line 788 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = separator; +#line 788 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_separator_tool_item_set_draw (_tmp20_, FALSE); +#line 790 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 790 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = separator; +#line 790 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toolbar_insert (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 793 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = self->priv->progress_bar; +#line 793 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_orientable_set_orientation (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GTK_TYPE_ORIENTABLE, GtkOrientable), GTK_ORIENTATION_HORIZONTAL); +#line 794 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = self->priv->progress_bar; +#line 794 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 795 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = gtk_tool_item_new (); +#line 795 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp25_); +#line 795 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + progress_item = _tmp25_; +#line 796 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = progress_item; +#line 796 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_tool_item_set_expand (_tmp26_, TRUE); +#line 797 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = progress_item; +#line 797 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = self->priv->progress_bar; +#line 797 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget)); +#line 798 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = self->priv->progress_bar; +#line 798 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_show_text (_tmp29_, TRUE); +#line 800 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 800 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = progress_item; +#line 800 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toolbar_insert (_tmp30_, _tmp31_, -1); +#line 803 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = (GtkToggleToolButton*) gtk_toggle_tool_button_new (); +#line 803 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp32_); +#line 803 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + find_button = _tmp32_; +#line 804 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = find_button; +#line 804 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonDisplaySearchbar"); +#line 804 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = _tmp34_; +#line 804 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp35_); +#line 804 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp35_); +#line 806 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 806 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = find_button; +#line 806 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toolbar_insert (_tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 809 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 809 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 809 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp39_); +#line 809 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = _tmp39_; +#line 809 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toolbar_insert (_tmp38_, G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 809 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp40_); +#line 812 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL); +#line 812 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp41_); +#line 812 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_selected_button = _tmp41_; +#line 813 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = import_selected_button; +#line 813 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_tool_button_set_icon_name (_tmp42_, RESOURCES_IMPORT); +#line 814 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = import_selected_button; +#line 814 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ImportSelected"); +#line 814 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = _tmp44_; +#line 814 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp45_); +#line 814 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp45_); +#line 816 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 816 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = import_selected_button; +#line 816 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toolbar_insert (_tmp46_, G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 819 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL); +#line 819 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp48_); +#line 819 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_all_button = _tmp48_; +#line 820 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = import_all_button; +#line 820 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_tool_button_set_icon_name (_tmp49_, RESOURCES_IMPORT_ALL); +#line 821 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = import_all_button; +#line 821 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ImportAll"); +#line 821 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = _tmp51_; +#line 821 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp52_); +#line 821 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp52_); +#line 823 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 823 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = import_all_button; +#line 823 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toolbar_insert (_tmp53_, G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 827 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = self->priv->progress_bar; +#line 827 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_no_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 829 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_toolbar_state (self); +#line 831 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 771 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_all_button); +#line 771 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_selected_button); +#line 771 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (find_button); +#line 771 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (progress_item); +#line 771 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (separator); +#line 771 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (hide_item); +#line 5916 "ImportPage.c" + } +#line 834 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->toolbar; +#line 834 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp57_ = _g_object_ref0 (_tmp56_); +#line 834 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp57_; +#line 834 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 5926 "ImportPage.c" +} + + +static gpointer _core_tracker_ref0 (gpointer self) { +#line 838 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self ? core_tracker_ref (self) : NULL; +#line 5933 "ImportPage.c" +} + + +static CoreViewTracker* import_page_real_get_view_tracker (CheckerboardPage* base) { + ImportPage * self; + CoreViewTracker* result = NULL; + CameraViewTracker* _tmp0_ = NULL; + CoreViewTracker* _tmp1_ = NULL; +#line 837 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 838 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->tracker; +#line 838 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, CORE_TYPE_VIEW_TRACKER, CoreViewTracker)); +#line 838 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 838 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 5952 "ImportPage.c" +} + + +static gchar* import_page_real_get_view_empty_message (CheckerboardPage* base) { + ImportPage * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 846 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _ ("Starting import, please wait..."); +#line 846 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 846 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 846 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 5971 "ImportPage.c" +} + + +static gint64 import_page_preview_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + ImportSource* _tmp1_ = NULL; + ImportSource* _tmp2_ = NULL; + time_t _tmp3_ = 0; + void* _tmp4_ = NULL; + ImportSource* _tmp5_ = NULL; + ImportSource* _tmp6_ = NULL; + time_t _tmp7_ = 0; + gint64 _tmp8_ = 0LL; +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = a; +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_preview_get_import_source (G_TYPE_CHECK_INSTANCE_CAST ((ImportPreview*) _tmp0_, TYPE_IMPORT_PREVIEW, ImportPreview)); +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_; +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = import_source_get_exposure_time (_tmp2_); +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = b; +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = import_preview_get_import_source (G_TYPE_CHECK_INSTANCE_CAST ((ImportPreview*) _tmp4_, TYPE_IMPORT_PREVIEW, ImportPreview)); +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = import_source_get_exposure_time (_tmp6_); +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = (gint64) (_tmp3_ - _tmp7_); +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp6_); +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp2_); +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp8_; +#line 850 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6012 "ImportPage.c" +} + + +static gboolean import_page_preview_comparator_predicate (DataObject* object, Alteration* alteration) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 854 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 854 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 855 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = alteration; +#line 855 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "exposure-time"); +#line 855 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 855 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6032 "ImportPage.c" +} + + +static gint64 import_page_import_job_comparator (ImportPage* self, void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + time_t _tmp1_ = 0; + void* _tmp2_ = NULL; + time_t _tmp3_ = 0; +#line 858 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), 0LL); +#line 859 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = a; +#line 859 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_page_camera_import_job_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST ((ImportPageCameraImportJob*) _tmp0_, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob)); +#line 859 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = b; +#line 859 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = import_page_camera_import_job_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST ((ImportPageCameraImportJob*) _tmp2_, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob)); +#line 859 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = (gint64) (_tmp1_ - _tmp3_); +#line 859 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6056 "ImportPage.c" +} + + +static void import_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + ImportPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 862 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 862 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 863 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = ui_filenames; +#line 863 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + PAGE_CLASS (import_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_); +#line 865 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = ui_filenames; +#line 865 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "import.ui"); +#line 6076 "ImportPage.c" +} + + +static void _import_page_on_display_titles_gtk_action_callback (GtkAction* action, gpointer self) { +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_display_titles ((ImportPage*) self, action); +#line 6083 "ImportPage.c" +} + + +static void _vala_array_add143 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 875 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if ((*length) == (*size)) { +#line 875 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 875 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 6094 "ImportPage.c" + } +#line 875 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (*array)[(*length)++] = *value; +#line 6098 "ImportPage.c" +} + + +static GtkToggleActionEntry* import_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1) { + ImportPage * self; + GtkToggleActionEntry* result = NULL; + GtkToggleActionEntry* toggle_actions = NULL; + gint _tmp0_ = 0; + GtkToggleActionEntry* _tmp1_ = NULL; + gint toggle_actions_length1 = 0; + gint _toggle_actions_size_ = 0; + GtkToggleActionEntry titles = {0}; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GtkToggleActionEntry _tmp5_ = {0}; + GtkToggleActionEntry _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkToggleActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkToggleActionEntry _tmp10_ = {0}; + GtkToggleActionEntry* _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 868 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 869 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = PAGE_CLASS (import_page_parent_class)->init_collect_toggle_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_); +#line 869 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + toggle_actions = _tmp1_; +#line 869 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + toggle_actions_length1 = _tmp0_; +#line 869 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _toggle_actions_size_ = toggle_actions_length1; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp2_; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = configuration_facade_get_display_photo_titles (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_.name = "ViewTitle"; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_.stock_id = NULL; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_.accelerator = "T"; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_.callback = (GCallback) _import_page_on_display_titles_gtk_action_callback; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_.is_active = _tmp4_; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 871 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + titles = _tmp6_; +#line 873 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _ ("_Titles"); +#line 873 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + titles.label = _tmp7_; +#line 874 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _ ("Display the title of each photo"); +#line 874 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + titles.tooltip = _tmp8_; +#line 875 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = toggle_actions; +#line 875 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9__length1 = toggle_actions_length1; +#line 875 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = titles; +#line 875 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_array_add143 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp10_); +#line 877 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = toggle_actions; +#line 877 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11__length1 = toggle_actions_length1; +#line 877 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (result_length1) { +#line 877 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *result_length1 = _tmp11__length1; +#line 6183 "ImportPage.c" + } +#line 877 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp11_; +#line 877 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6189 "ImportPage.c" +} + + +static void _import_page_on_import_selected_gtk_action_callback (GtkAction* action, gpointer self) { +#line 883 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_import_selected ((ImportPage*) self); +#line 6196 "ImportPage.c" +} + + +static void _vala_array_add144 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 887 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if ((*length) == (*size)) { +#line 887 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 887 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 6207 "ImportPage.c" + } +#line 887 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (*array)[(*length)++] = *value; +#line 6211 "ImportPage.c" +} + + +static void _import_page_on_import_all_gtk_action_callback (GtkAction* action, gpointer self) { +#line 889 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_import_all ((ImportPage*) self); +#line 6218 "ImportPage.c" +} + + +static void _vala_array_add145 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 893 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if ((*length) == (*size)) { +#line 893 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 893 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 6229 "ImportPage.c" + } +#line 893 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (*array)[(*length)++] = *value; +#line 6233 "ImportPage.c" +} + + +static GtkActionEntry* import_page_real_init_collect_action_entries (Page* base, int* result_length1) { + ImportPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry import_selected = {0}; + GtkActionEntry _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkActionEntry* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GtkActionEntry _tmp6_ = {0}; + GtkActionEntry import_all = {0}; + GtkActionEntry _tmp7_ = {0}; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GtkActionEntry* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + GtkActionEntry _tmp11_ = {0}; + GtkActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; +#line 880 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 881 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = PAGE_CLASS (import_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_); +#line 881 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + actions = _tmp1_; +#line 881 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + actions_length1 = _tmp0_; +#line 881 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _actions_size_ = actions_length1; +#line 883 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_.name = "ImportSelected"; +#line 883 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_.stock_id = RESOURCES_IMPORT; +#line 883 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 883 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_.accelerator = NULL; +#line 883 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_.tooltip = NULL; +#line 883 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_.callback = (GCallback) _import_page_on_import_selected_gtk_action_callback; +#line 883 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_selected = _tmp2_; +#line 885 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _ ("Import _Selected"); +#line 885 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_selected.label = _tmp3_; +#line 886 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _ ("Import the selected photos into your library"); +#line 886 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_selected.tooltip = _tmp4_; +#line 887 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = actions; +#line 887 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5__length1 = actions_length1; +#line 887 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = import_selected; +#line 887 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_array_add144 (&actions, &actions_length1, &_actions_size_, &_tmp6_); +#line 889 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_.name = "ImportAll"; +#line 889 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_.stock_id = RESOURCES_IMPORT_ALL; +#line 889 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_.label = TRANSLATABLE; +#line 889 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_.accelerator = NULL; +#line 889 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_.tooltip = NULL; +#line 889 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_.callback = (GCallback) _import_page_on_import_all_gtk_action_callback; +#line 889 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_all = _tmp7_; +#line 891 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _ ("Import _All"); +#line 891 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_all.label = _tmp8_; +#line 892 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _ ("Import all the photos into your library"); +#line 892 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_all.tooltip = _tmp9_; +#line 893 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = actions; +#line 893 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10__length1 = actions_length1; +#line 893 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = import_all; +#line 893 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_array_add145 (&actions, &actions_length1, &_actions_size_, &_tmp11_); +#line 895 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = actions; +#line 895 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12__length1 = actions_length1; +#line 895 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (result_length1) { +#line 895 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *result_length1 = _tmp12__length1; +#line 6339 "ImportPage.c" + } +#line 895 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp12_; +#line 895 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6345 "ImportPage.c" +} + + +Camera* import_page_get_camera (ImportPage* self) { + Camera* result = NULL; + Camera* _tmp0_ = NULL; + Camera* _tmp1_ = NULL; +#line 898 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), NULL); +#line 899 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->camera; +#line 899 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _GPHOTO_REF_CAMERA0 (_tmp0_); +#line 899 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 899 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6363 "ImportPage.c" +} + + +gchar* import_page_get_uri (ImportPage* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 902 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), NULL); +#line 903 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->uri; +#line 903 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 903 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 903 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6381 "ImportPage.c" +} + + +gboolean import_page_is_busy (ImportPage* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 906 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), FALSE); +#line 907 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->busy; +#line 907 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 907 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6396 "ImportPage.c" +} + + +static void import_page_real_init_actions (Page* base, gint selected_count, gint count) { + ImportPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 910 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 911 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed (self); +#line 913 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ImportSelected", TRUE); +#line 914 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ImportAll", TRUE); +#line 916 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = selected_count; +#line 916 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = count; +#line 916 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + PAGE_CLASS (import_page_parent_class)->init_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_, _tmp1_); +#line 6418 "ImportPage.c" +} + + +gboolean import_page_is_refreshed (ImportPage* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 919 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), FALSE); +#line 920 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->refreshed; +#line 920 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp1_) { +#line 6432 "ImportPage.c" + gboolean _tmp2_ = FALSE; +#line 920 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->busy; +#line 920 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = !_tmp2_; +#line 6438 "ImportPage.c" + } else { +#line 920 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = FALSE; +#line 6442 "ImportPage.c" + } +#line 920 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 920 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6448 "ImportPage.c" +} + + +gchar* import_page_get_refresh_message (ImportPage* self) { + gchar* result = NULL; + gchar* msg = NULL; + const gchar* _tmp0_ = NULL; +#line 923 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), NULL); +#line 924 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + msg = NULL; +#line 925 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->refresh_error; +#line 925 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_ != NULL) { +#line 6464 "ImportPage.c" + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 926 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->refresh_error; +#line 926 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 926 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (msg); +#line 926 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + msg = _tmp2_; +#line 6475 "ImportPage.c" + } else { + int _tmp3_ = 0; +#line 927 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->refresh_result; +#line 927 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp3_ == GP_OK) { +#line 6482 "ImportPage.c" + } else { + int _tmp4_ = 0; + gchar* _tmp5_ = NULL; +#line 930 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = self->priv->refresh_result; +#line 930 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = gp_result_to_full_string (_tmp4_); +#line 930 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (msg); +#line 930 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + msg = _tmp5_; +#line 6494 "ImportPage.c" + } + } +#line 933 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = msg; +#line 933 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 6501 "ImportPage.c" +} + + +static void import_page_update_status (ImportPage* self, gboolean busy, gboolean refreshed) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 936 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 937 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = busy; +#line 937 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->busy = _tmp0_; +#line 938 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = refreshed; +#line 938 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refreshed = _tmp1_; +#line 940 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed (self); +#line 6520 "ImportPage.c" +} + + +static void import_page_update_toolbar_state (ImportPage* self) { + GtkCheckButton* _tmp0_ = NULL; +#line 943 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 944 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->hide_imported; +#line 944 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_ != NULL) { +#line 6532 "ImportPage.c" + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + GtkCheckButton* _tmp8_ = NULL; +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->busy; +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp3_) { +#line 6541 "ImportPage.c" + gboolean _tmp4_ = FALSE; +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = self->priv->refreshed; +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp4_; +#line 6547 "ImportPage.c" + } else { +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = FALSE; +#line 6551 "ImportPage.c" + } +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_) { +#line 6555 "ImportPage.c" + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = view_collection_get_unfiltered_count (_tmp6_); +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp7_ > 0; +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp6_); +#line 6569 "ImportPage.c" + } else { +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = FALSE; +#line 6573 "ImportPage.c" + } +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = self->priv->hide_imported; +#line 945 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), _tmp1_); +#line 6579 "ImportPage.c" + } +} + + +static void import_page_on_view_changed (ImportPage* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + AppWindow* _tmp19_ = NULL; + AppWindow* _tmp20_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->busy; +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp2_) { +#line 6601 "ImportPage.c" + gboolean _tmp3_ = FALSE; +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->refreshed; +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp3_; +#line 6607 "ImportPage.c" + } else { +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = FALSE; +#line 6611 "ImportPage.c" + } +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp1_) { +#line 6615 "ImportPage.c" + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _tmp4_; +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = view_collection_get_selected_count (_tmp5_); +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp6_ > 0; +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp5_); +#line 6629 "ImportPage.c" + } else { +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = FALSE; +#line 6633 "ImportPage.c" + } +#line 949 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ImportSelected", _tmp0_); +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = self->priv->busy; +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp9_) { +#line 6641 "ImportPage.c" + gboolean _tmp10_ = FALSE; +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = self->priv->refreshed; +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _tmp10_; +#line 6647 "ImportPage.c" + } else { +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = FALSE; +#line 6651 "ImportPage.c" + } +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp8_) { +#line 6655 "ImportPage.c" + ViewCollection* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = _tmp11_; +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection)); +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _tmp13_ > 0; +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp12_); +#line 6669 "ImportPage.c" + } else { +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = FALSE; +#line 6673 "ImportPage.c" + } +#line 950 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ImportAll", _tmp7_); +#line 952 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = self->priv->busy; +#line 952 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp15_) { +#line 6681 "ImportPage.c" + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 952 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 952 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = _tmp16_; +#line 952 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection)); +#line 952 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = _tmp18_ > 0; +#line 952 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp17_); +#line 6695 "ImportPage.c" + } else { +#line 952 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = FALSE; +#line 6699 "ImportPage.c" + } +#line 951 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = app_window_get_instance (); +#line 951 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = _tmp19_; +#line 951 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + app_window_set_common_action_sensitive (_tmp20_, "CommonSelectAll", _tmp14_); +#line 951 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp20_); +#line 954 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_toolbar_state (self); +#line 6711 "ImportPage.c" +} + + +static void import_page_on_media_added_removed (ImportPage* self) { + ImportPageImportPageSearchViewFilter* _tmp0_ = NULL; +#line 957 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 958 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->search_filter; +#line 958 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_FILTER, ViewFilter), "refresh"); +#line 6723 "ImportPage.c" +} + + +static void import_page_on_display_titles (ImportPage* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 961 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 961 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 962 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = action; +#line 962 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 962 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + display = _tmp1_; +#line 964 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + checkerboard_page_set_display_titles (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), display); +#line 965 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 965 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp2_; +#line 965 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + configuration_facade_set_display_photo_titles (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display); +#line 965 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 6753 "ImportPage.c" +} + + +static void import_page_real_switched_to (Page* base) { + ImportPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 968 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 969 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 969 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 969 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = configuration_facade_get_display_photo_titles (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 969 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + checkerboard_page_set_display_titles (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp2_); +#line 969 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp1_); +#line 971 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + PAGE_CLASS (import_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page)); +#line 6776 "ImportPage.c" +} + + +static void import_page_real_ready (Page* base) { + ImportPage * self; + ImportPageHideImportedViewFilter* _tmp0_ = NULL; +#line 974 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 975 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_try_refreshing_camera (self, FALSE); +#line 976 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->hide_imported_filter; +#line 976 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_FILTER, ViewFilter), "refresh"); +#line 6791 "ImportPage.c" +} + + +static void import_page_try_refreshing_camera (ImportPage* self, gboolean fail_on_locked) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + ImportPageRefreshResult res = 0; + ImportPageRefreshResult _tmp3_ = 0; + ImportPageRefreshResult _tmp4_ = 0; + GError * _inner_error_ = NULL; +#line 979 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 981 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->refreshed; +#line 981 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp1_) { +#line 981 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = TRUE; +#line 6810 "ImportPage.c" + } else { + gboolean _tmp2_ = FALSE; +#line 981 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->busy; +#line 981 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp2_; +#line 6817 "ImportPage.c" + } +#line 981 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_) { +#line 982 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 6823 "ImportPage.c" + } +#line 984 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = import_page_refresh_camera (self); +#line 984 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + res = _tmp3_; +#line 985 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = res; +#line 985 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + switch (_tmp4_) { +#line 985 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case IMPORT_PAGE_REFRESH_RESULT_OK: +#line 985 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case IMPORT_PAGE_REFRESH_RESULT_BUSY: +#line 6837 "ImportPage.c" + { +#line 990 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 6841 "ImportPage.c" + } +#line 985 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case IMPORT_PAGE_REFRESH_RESULT_LOCKED: +#line 6845 "ImportPage.c" + { + gboolean _tmp5_ = FALSE; + const gchar* _tmp6_ = NULL; + GFile* uri = NULL; + const gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GMount* mount = NULL; + GMount* _tmp13_ = NULL; +#line 993 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = fail_on_locked; +#line 993 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp5_) { +#line 994 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + app_window_error_message (IMPORT_PAGE_UNMOUNT_FAILED_MSG, NULL); +#line 996 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 6862 "ImportPage.c" + } +#line 1000 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = self->priv->uri; +#line 1000 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:1000: Checking if %s is mounted ...", _tmp6_); +#line 1002 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = self->priv->uri; +#line 1002 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = g_file_new_for_uri (_tmp7_); +#line 1002 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + uri = _tmp8_; +#line 1004 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + mount = NULL; +#line 6876 "ImportPage.c" + { + GMount* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GMount* _tmp11_ = NULL; + GMount* _tmp12_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = uri; +#line 1006 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = g_file_find_enclosing_mount (_tmp10_, NULL, &_inner_error_); +#line 1006 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _tmp11_; +#line 1006 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 6890 "ImportPage.c" + goto __catch62_g_error; + } +#line 1006 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = _tmp9_; +#line 1006 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = NULL; +#line 1006 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (mount); +#line 1006 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + mount = _tmp12_; +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp9_); +#line 6903 "ImportPage.c" + } + goto __finally62; + __catch62_g_error: + { + GError* err = NULL; +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 6915 "ImportPage.c" + } + __finally62: +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (mount); +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (uri); +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.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 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_clear_error (&_inner_error_); +#line 1005 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 6930 "ImportPage.c" + } +#line 1011 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = mount; +#line 1011 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp13_ != NULL) { +#line 6936 "ImportPage.c" + gchar* mounted_message = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GtkMessageDialog* dialog = NULL; + AppWindow* _tmp16_ = NULL; + AppWindow* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + GtkMessageDialog* _tmp19_ = NULL; + GtkMessageDialog* _tmp20_ = NULL; + GtkMessageDialog* _tmp21_ = NULL; + GtkMessageDialog* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gint dialog_res = 0; + GtkMessageDialog* _tmp24_ = NULL; + gint _tmp25_ = 0; + GtkMessageDialog* _tmp26_ = NULL; + gint _tmp27_ = 0; +#line 1013 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = _ ("Shotwell needs to unmount the camera from the filesystem in order to a" \ +"ccess it. Continue?"); +#line 1013 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 1013 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + mounted_message = _tmp15_; +#line 1015 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = app_window_get_instance (); +#line 1015 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = _tmp16_; +#line 1015 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = mounted_message; +#line 1015 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = (GtkMessageDialog*) gtk_message_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_window_get_type (), GtkWindow), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_CANCEL, "%s", _tmp18_); +#line 1015 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp19_); +#line 1015 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = _tmp19_; +#line 1015 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp17_); +#line 1015 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + dialog = _tmp20_; +#line 1018 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = dialog; +#line 1018 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_window_get_type (), GtkWindow), RESOURCES_APP_TITLE); +#line 1019 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = dialog; +#line 1019 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = _ ("_Unmount"); +#line 1019 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_dialog_add_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_dialog_get_type (), GtkDialog), _tmp23_, (gint) GTK_RESPONSE_YES); +#line 1020 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = dialog; +#line 1020 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_dialog_get_type (), GtkDialog)); +#line 1020 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + dialog_res = _tmp25_; +#line 1021 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = dialog; +#line 1021 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget)); +#line 1023 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = dialog_res; +#line 1023 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp27_ != ((gint) GTK_RESPONSE_YES)) { +#line 7000 "ImportPage.c" + const gchar* _tmp28_ = NULL; +#line 1024 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = _ ("Please unmount the camera."); +#line 1024 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + checkerboard_page_set_page_message (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp28_); +#line 7006 "ImportPage.c" + } else { + GMount* _tmp29_ = NULL; +#line 1026 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = mount; +#line 1026 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_unmount_camera (self, _tmp29_); +#line 7013 "ImportPage.c" + } +#line 1011 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dialog); +#line 1011 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (mounted_message); +#line 7019 "ImportPage.c" + } else { + gchar* locked_message = NULL; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + GtkMessageDialog* dialog = NULL; + AppWindow* _tmp32_ = NULL; + AppWindow* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + GtkMessageDialog* _tmp35_ = NULL; + GtkMessageDialog* _tmp36_ = NULL; + GtkMessageDialog* _tmp37_ = NULL; + GtkMessageDialog* _tmp38_ = NULL; + GtkMessageDialog* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; +#line 1029 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = _ ("The camera is locked by another application. Shotwell can only access" \ +" the camera when it's unlocked. Please close any other application us" \ +"ing the camera and try again."); +#line 1029 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = g_strdup (_tmp30_); +#line 1029 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + locked_message = _tmp31_; +#line 1032 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = app_window_get_instance (); +#line 1032 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = _tmp32_; +#line 1032 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = locked_message; +#line 1032 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = (GtkMessageDialog*) gtk_message_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_window_get_type (), GtkWindow), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, "%s", _tmp34_); +#line 1032 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp35_); +#line 1032 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = _tmp35_; +#line 1032 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp33_); +#line 1032 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + dialog = _tmp36_; +#line 1035 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = dialog; +#line 1035 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_window_get_type (), GtkWindow), RESOURCES_APP_TITLE); +#line 1036 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = dialog; +#line 1036 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_dialog_get_type (), GtkDialog)); +#line 1037 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = dialog; +#line 1037 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_widget_get_type (), GtkWidget)); +#line 1039 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = _ ("Please close any other application using the camera."); +#line 1039 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + checkerboard_page_set_page_message (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp40_); +#line 1011 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dialog); +#line 1011 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (locked_message); +#line 7076 "ImportPage.c" + } +#line 1041 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (mount); +#line 1041 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (uri); +#line 1041 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 7084 "ImportPage.c" + } +#line 985 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case IMPORT_PAGE_REFRESH_RESULT_LIBRARY_ERROR: +#line 7088 "ImportPage.c" + { + const gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; +#line 1044 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = _ ("Unable to fetch previews from the camera:\n%s"); +#line 1044 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = import_page_get_refresh_message (self); +#line 1044 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = _tmp42_; +#line 1044 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = g_strdup_printf (_tmp41_, _tmp43_); +#line 1044 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = _tmp44_; +#line 1044 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + app_window_error_message (_tmp45_, NULL); +#line 1044 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp45_); +#line 1044 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp43_); +#line 1046 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 7113 "ImportPage.c" + } + default: + { + ImportPageRefreshResult _tmp46_ = 0; +#line 1049 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = res; +#line 1049 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_error ("ImportPage.vala:1049: Unknown result type %d", (gint) _tmp46_); +#line 7122 "ImportPage.c" + } + } +} + + +static void _import_page_on_unmounted_g_mount_unmounted (GMount* _sender, gpointer self) { +#line 1066 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_unmounted ((ImportPage*) self, _sender); +#line 7131 "ImportPage.c" +} + + +static void _import_page_on_unmount_finished_gasync_ready_callback (GObject* source_object, GAsyncResult* res, gpointer self) { +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_unmount_finished ((ImportPage*) self, source_object, res); +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_unref (self); +#line 7140 "ImportPage.c" +} + + +gboolean import_page_unmount_camera (ImportPage* self, GMount* mount) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GtkProgressBar* _tmp1_ = NULL; + GtkProgressBar* _tmp2_ = NULL; + GtkProgressBar* _tmp3_ = NULL; + GtkProgressBar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GMount* _tmp6_ = NULL; + GMount* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; + AppWindow* _tmp9_ = NULL; + GtkMountOperation* _tmp10_ = NULL; + GtkMountOperation* _tmp11_ = NULL; +#line 1053 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), FALSE); +#line 1053 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (G_IS_MOUNT (mount), FALSE); +#line 1054 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->busy; +#line 1054 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_) { +#line 1055 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1055 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 7170 "ImportPage.c" + } +#line 1057 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, TRUE, FALSE); +#line 1058 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->progress_bar; +#line 1058 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1059 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->progress_bar; +#line 1059 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_fraction (_tmp2_, 0.0); +#line 1060 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->progress_bar; +#line 1060 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_ellipsize (_tmp3_, PANGO_ELLIPSIZE_NONE); +#line 1061 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = self->priv->progress_bar; +#line 1061 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _ ("Unmounting..."); +#line 1061 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_text (_tmp4_, _tmp5_); +#line 1066 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = mount; +#line 1066 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (_tmp6_, "unmounted", (GCallback) _import_page_on_unmounted_g_mount_unmounted, self, 0); +#line 1068 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:1068: Unmounting camera ..."); +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = mount; +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = app_window_get_instance (); +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _tmp8_; +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = (GtkMountOperation*) gtk_mount_operation_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_window_get_type (), GtkWindow)); +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = _tmp10_; +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_mount_unmount_with_operation (_tmp7_, G_MOUNT_UNMOUNT_NONE, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, g_mount_operation_get_type (), GMountOperation), NULL, _import_page_on_unmount_finished_gasync_ready_callback, g_object_ref (self)); +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp11_); +#line 1069 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp9_); +#line 1072 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 1072 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 7218 "ImportPage.c" +} + + +static void import_page_on_unmount_finished (ImportPage* self, GObject* source, GAsyncResult* aresult) { + GMount* mount = NULL; + GObject* _tmp0_ = NULL; + GMount* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 1075 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1075 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail ((source == NULL) || G_IS_OBJECT (source)); +#line 1075 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (G_IS_ASYNC_RESULT (aresult)); +#line 1076 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:1076: Async unmount finished"); +#line 1078 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = source; +#line 1078 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, g_mount_get_type (), GMount)); +#line 1078 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + mount = _tmp1_; +#line 7241 "ImportPage.c" + { + GAsyncResult* _tmp2_ = NULL; +#line 1080 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = aresult; +#line 1080 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_mount_unmount_with_operation_finish (mount, _tmp2_, &_inner_error_); +#line 1080 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7250 "ImportPage.c" + goto __catch63_g_error; + } + } + goto __finally63; + __catch63_g_error: + { + GError* err = NULL; + guint _tmp3_ = 0U; + gboolean _tmp4_ = FALSE; + GtkProgressBar* _tmp5_ = NULL; + GtkProgressBar* _tmp6_ = NULL; + GtkProgressBar* _tmp7_ = NULL; +#line 1079 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 1079 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 1082 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + app_window_error_message (IMPORT_PAGE_UNMOUNT_FAILED_MSG, NULL); +#line 1085 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_parse_name ("unmounted", g_mount_get_type (), &_tmp3_, NULL, FALSE); +#line 1085 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_handlers_disconnect_matched (mount, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _import_page_on_unmounted_g_mount_unmounted, self); +#line 1087 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = self->priv->refreshed; +#line 1087 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, FALSE, _tmp4_); +#line 1088 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = self->priv->progress_bar; +#line 1088 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_ellipsize (_tmp5_, PANGO_ELLIPSIZE_NONE); +#line 1089 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = self->priv->progress_bar; +#line 1089 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_text (_tmp6_, ""); +#line 1090 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = self->priv->progress_bar; +#line 1090 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1079 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 7291 "ImportPage.c" + } + __finally63: +#line 1079 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1079 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (mount); +#line 1079 "/home/jens/Source/shotwell/src/camera/ImportPage.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 1079 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_clear_error (&_inner_error_); +#line 1079 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 7304 "ImportPage.c" + } +#line 1075 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (mount); +#line 7308 "ImportPage.c" +} + + +static void import_page_on_unmounted (ImportPage* self, GMount* mount) { + gboolean _tmp0_ = FALSE; + GtkProgressBar* _tmp1_ = NULL; + GtkProgressBar* _tmp2_ = NULL; + GtkProgressBar* _tmp3_ = NULL; +#line 1094 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1094 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (G_IS_MOUNT (mount)); +#line 1095 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:1095: on_unmounted"); +#line 1097 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->refreshed; +#line 1097 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, FALSE, _tmp0_); +#line 1098 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->progress_bar; +#line 1098 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_ellipsize (_tmp1_, PANGO_ELLIPSIZE_NONE); +#line 1099 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->progress_bar; +#line 1099 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_text (_tmp2_, ""); +#line 1100 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->progress_bar; +#line 1100 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1102 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_try_refreshing_camera (self, TRUE); +#line 7341 "ImportPage.c" +} + + +static void import_page_clear_all_import_sources (ImportPage* self) { + Marker* marker = NULL; + SourceCollection* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + SourceCollection* _tmp2_ = NULL; +#line 1105 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1106 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->import_sources; +#line 1106 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1106 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + marker = _tmp1_; +#line 1107 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + marker_mark_all (marker); +#line 1108 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->import_sources; +#line 1108 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + source_collection_destroy_marked (_tmp2_, marker, FALSE, NULL, NULL, NULL); +#line 1105 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (marker); +#line 7366 "ImportPage.c" +} + + +/** + * @brief Returns whether the current device has a given directory or not. + * + * @param fsid The file system id of the camera or other device to search. + * @param dir The path to start searching from. + * @param search_target The name of the directory to look for. + */ +static gboolean import_page_check_directory_exists (ImportPage* self, gint fsid, const gchar* dir, const gchar* search_target) { + gboolean result = FALSE; + gchar* fulldir = NULL; + Camera* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + int _result_ = 0; + CameraList* folders = NULL; + CameraList* _tmp5_ = NULL; + int _tmp6_ = 0; + int _tmp7_ = 0; + Camera* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + CameraList* _tmp10_ = NULL; + GPSpinIdleWrapper* _tmp11_ = NULL; + GPContext* _tmp12_ = NULL; + int _tmp13_ = 0; + int _tmp14_ = 0; + gint list_len = 0; + CameraList* _tmp15_ = NULL; + gint _tmp16_ = 0; +#line 1118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), FALSE); +#line 1118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (dir != NULL, FALSE); +#line 1118 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (search_target != NULL, FALSE); +#line 1119 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->camera; +#line 1119 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->camera_name; +#line 1119 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = fsid; +#line 1119 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = dir; +#line 1119 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = import_page_get_fulldir (_tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 1119 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + fulldir = _tmp4_; +#line 1123 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = gp_list_new (&_tmp5_); +#line 1123 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1123 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + folders = _tmp5_; +#line 1123 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _result_ = _tmp6_; +#line 1124 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _result_; +#line 1124 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp7_ != GP_OK) { +#line 1126 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1126 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1126 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1126 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 7438 "ImportPage.c" + } +#line 1129 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = self->priv->camera; +#line 1129 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = fulldir; +#line 1129 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = folders; +#line 1129 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = import_page_spin_idle_context; +#line 1129 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1129 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = gp_camera_folder_list_folders (_tmp8_, _tmp9_, _tmp10_, _tmp12_); +#line 1129 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _result_ = _tmp13_; +#line 1130 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = _result_; +#line 1130 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp14_ != GP_OK) { +#line 1132 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1132 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1132 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1132 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 7466 "ImportPage.c" + } +#line 1135 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = folders; +#line 1135 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = gp_list_count (_tmp15_); +#line 1135 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + list_len = _tmp16_; +#line 7474 "ImportPage.c" + { + gint list_index = 0; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + list_index = 0; +#line 7479 "ImportPage.c" + { + gboolean _tmp17_ = FALSE; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = TRUE; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 7486 "ImportPage.c" + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gchar* tmp = NULL; + CameraList* _tmp21_ = NULL; + gint _tmp22_ = 0; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp17_) { +#line 7498 "ImportPage.c" + gint _tmp18_ = 0; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = list_index; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + list_index = _tmp18_ + 1; +#line 7504 "ImportPage.c" + } +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = FALSE; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = list_index; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = list_len; +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!(_tmp19_ < _tmp20_)) { +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 7516 "ImportPage.c" + } +#line 1140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = folders; +#line 1140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = list_index; +#line 1140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gp_list_get_name (_tmp21_, _tmp22_, &_tmp23_); +#line 1140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (tmp); +#line 1140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = g_strdup (_tmp23_); +#line 1140 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + tmp = _tmp24_; +#line 1141 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = tmp; +#line 1141 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = search_target; +#line 1141 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (g_strcmp0 (_tmp25_, _tmp26_) == 0) { +#line 1142 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 1142 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (tmp); +#line 1142 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1142 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1142 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 7546 "ImportPage.c" + } +#line 1137 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (tmp); +#line 7550 "ImportPage.c" + } + } + } +#line 1145 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1145 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1145 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1145 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 7562 "ImportPage.c" +} + + +static ImportPageRefreshResult import_page_refresh_camera (ImportPage* self) { + ImportPageRefreshResult result = 0; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + Camera* _tmp2_ = NULL; + GPSpinIdleWrapper* _tmp3_ = NULL; + GPContext* _tmp4_ = NULL; + int _tmp5_ = 0; + int _tmp6_ = 0; + gboolean _tmp12_ = FALSE; + GtkProgressBar* _tmp13_ = NULL; + GtkProgressBar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GtkProgressBar* _tmp16_ = NULL; + GtkProgressBar* _tmp17_ = NULL; + GtkProgressBar* _tmp18_ = NULL; + GeeArrayList* import_list = NULL; + GeeArrayList* _tmp19_ = NULL; + CameraStorageInformation* sifs = NULL; + gint count = 0; + Camera* _tmp20_ = NULL; + GPSpinIdleWrapper* _tmp21_ = NULL; + GPContext* _tmp22_ = NULL; + gint _tmp23_ = 0; + int _tmp24_ = 0; + int _tmp25_ = 0; + GeeArrayList* _tmp74_ = NULL; + GeeArrayList* _tmp75_ = NULL; + GtkProgressBar* _tmp76_ = NULL; + GtkProgressBar* _tmp77_ = NULL; + GtkProgressBar* _tmp78_ = NULL; + GtkProgressBar* _tmp79_ = NULL; + int res = 0; + Camera* _tmp80_ = NULL; + GPSpinIdleWrapper* _tmp81_ = NULL; + GPContext* _tmp82_ = NULL; + int _tmp83_ = 0; + int _tmp84_ = 0; + int _tmp88_ = 0; + int _tmp89_ = 0; +#line 1148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), 0); +#line 1149 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->busy; +#line 1149 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_) { +#line 1150 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = IMPORT_PAGE_REFRESH_RESULT_BUSY; +#line 1150 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 7616 "ImportPage.c" + } +#line 1152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->busy; +#line 1152 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, _tmp1_, FALSE); +#line 1154 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->refresh_error); +#line 1154 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_error = NULL; +#line 1155 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->camera; +#line 1155 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = import_page_spin_idle_context; +#line 1155 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1155 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = gp_camera_init (_tmp2_, _tmp4_); +#line 1155 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = _tmp5_; +#line 1156 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = self->priv->refresh_result; +#line 1156 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp6_ != GP_OK) { +#line 7640 "ImportPage.c" + int _tmp7_ = 0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + ImportPageRefreshResult _tmp10_ = 0; + int _tmp11_ = 0; +#line 1157 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = self->priv->refresh_result; +#line 1157 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = gp_result_to_full_string (_tmp7_); +#line 1157 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _tmp8_; +#line 1157 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1157: Unable to initialize camera: %s", _tmp9_); +#line 1157 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp9_); +#line 1159 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = self->priv->refresh_result; +#line 1159 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp11_ == GP_ERROR_IO_LOCK) { +#line 1159 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = IMPORT_PAGE_REFRESH_RESULT_LOCKED; +#line 7662 "ImportPage.c" + } else { +#line 1159 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = IMPORT_PAGE_REFRESH_RESULT_LIBRARY_ERROR; +#line 7666 "ImportPage.c" + } +#line 1159 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp10_; +#line 1159 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 7672 "ImportPage.c" + } +#line 1162 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = self->priv->refreshed; +#line 1162 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, TRUE, _tmp12_); +#line 1164 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed (self); +#line 1166 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = self->priv->progress_bar; +#line 1166 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_ellipsize (_tmp13_, PANGO_ELLIPSIZE_NONE); +#line 1167 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = self->priv->progress_bar; +#line 1167 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = _ ("Fetching photo information"); +#line 1167 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_text (_tmp14_, _tmp15_); +#line 1168 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = self->priv->progress_bar; +#line 1168 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_fraction (_tmp16_, 0.0); +#line 1169 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = self->priv->progress_bar; +#line 1169 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_pulse_step (_tmp17_, 0.01); +#line 1170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = self->priv->progress_bar; +#line 1170 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 1172 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = gee_array_list_new (TYPE_IMPORT_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1172 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_list = _tmp19_; +#line 1174 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + sifs = NULL; +#line 1175 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + count = 0; +#line 1176 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = self->priv->camera; +#line 1176 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = import_page_spin_idle_context; +#line 1176 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1176 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = gp_camera_get_storageinfo (_tmp20_, &sifs, &_tmp23_, _tmp22_); +#line 1176 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + count = _tmp23_; +#line 1176 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = _tmp24_; +#line 1177 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = self->priv->refresh_result; +#line 1177 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp25_ == GP_OK) { +#line 7726 "ImportPage.c" + { + gint fsid = 0; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + fsid = 0; +#line 7731 "ImportPage.c" + { + gboolean _tmp26_ = FALSE; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = TRUE; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 7738 "ImportPage.c" + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gboolean got_well_known_dir = FALSE; + gint _tmp30_ = 0; + gboolean _tmp31_ = FALSE; + gint _tmp34_ = 0; + gboolean _tmp35_ = FALSE; + gint _tmp38_ = 0; + gboolean _tmp39_ = FALSE; + gint _tmp42_ = 0; + gboolean _tmp43_ = FALSE; + gint _tmp46_ = 0; + gboolean _tmp47_ = FALSE; + gint _tmp50_ = 0; + gboolean _tmp51_ = FALSE; + gint _tmp54_ = 0; + gboolean _tmp55_ = FALSE; + gint _tmp58_ = 0; + gboolean _tmp59_ = FALSE; + gint _tmp62_ = 0; + gboolean _tmp63_ = FALSE; + gint _tmp66_ = 0; + gboolean _tmp67_ = FALSE; + gboolean _tmp70_ = FALSE; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp26_) { +#line 7765 "ImportPage.c" + gint _tmp27_ = 0; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = fsid; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + fsid = _tmp27_ + 1; +#line 7771 "ImportPage.c" + } +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = FALSE; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = fsid; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = count; +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!(_tmp28_ < _tmp29_)) { +#line 1178 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 7783 "ImportPage.c" + } +#line 1182 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = FALSE; +#line 1185 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = fsid; +#line 1185 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = import_page_check_directory_exists (self, _tmp30_, "/", "DCIM"); +#line 1185 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp31_) { +#line 7793 "ImportPage.c" + gint _tmp32_ = 0; + GeeArrayList* _tmp33_ = NULL; +#line 1186 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = fsid; +#line 1186 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = import_list; +#line 1186 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp32_, "/DCIM", _tmp33_); +#line 1187 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7804 "ImportPage.c" + } +#line 1189 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = fsid; +#line 1189 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = import_page_check_directory_exists (self, _tmp34_, "/", "dcim"); +#line 1189 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp35_) { +#line 7812 "ImportPage.c" + gint _tmp36_ = 0; + GeeArrayList* _tmp37_ = NULL; +#line 1190 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = fsid; +#line 1190 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = import_list; +#line 1190 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp36_, "/dcim", _tmp37_); +#line 1191 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7823 "ImportPage.c" + } +#line 1196 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = fsid; +#line 1196 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = import_page_check_directory_exists (self, _tmp38_, "/PRIVATE/", "AVCHD"); +#line 1196 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp39_) { +#line 7831 "ImportPage.c" + gint _tmp40_ = 0; + GeeArrayList* _tmp41_ = NULL; +#line 1197 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = fsid; +#line 1197 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = import_list; +#line 1197 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp40_, "/PRIVATE/AVCHD", _tmp41_); +#line 1198 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7842 "ImportPage.c" + } +#line 1200 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = fsid; +#line 1200 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = import_page_check_directory_exists (self, _tmp42_, "/private/", "avchd"); +#line 1200 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp43_) { +#line 7850 "ImportPage.c" + gint _tmp44_ = 0; + GeeArrayList* _tmp45_ = NULL; +#line 1201 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = fsid; +#line 1201 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = import_list; +#line 1201 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp44_, "/private/avchd", _tmp45_); +#line 1202 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7861 "ImportPage.c" + } +#line 1204 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = fsid; +#line 1204 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = import_page_check_directory_exists (self, _tmp46_, "/", "AVCHD"); +#line 1204 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp47_) { +#line 7869 "ImportPage.c" + gint _tmp48_ = 0; + GeeArrayList* _tmp49_ = NULL; +#line 1205 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = fsid; +#line 1205 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = import_list; +#line 1205 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp48_, "/AVCHD", _tmp49_); +#line 1206 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7880 "ImportPage.c" + } +#line 1208 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = fsid; +#line 1208 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = import_page_check_directory_exists (self, _tmp50_, "/", "avchd"); +#line 1208 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp51_) { +#line 7888 "ImportPage.c" + gint _tmp52_ = 0; + GeeArrayList* _tmp53_ = NULL; +#line 1209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = fsid; +#line 1209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = import_list; +#line 1209 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp52_, "/avchd", _tmp53_); +#line 1210 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7899 "ImportPage.c" + } +#line 1215 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = fsid; +#line 1215 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = import_page_check_directory_exists (self, _tmp54_, "/PRIVATE/", "SONY"); +#line 1215 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp55_) { +#line 7907 "ImportPage.c" + gint _tmp56_ = 0; + GeeArrayList* _tmp57_ = NULL; +#line 1216 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56_ = fsid; +#line 1216 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp57_ = import_list; +#line 1216 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp56_, "/PRIVATE/SONY", _tmp57_); +#line 1217 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7918 "ImportPage.c" + } +#line 1219 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp58_ = fsid; +#line 1219 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp59_ = import_page_check_directory_exists (self, _tmp58_, "/private/", "sony"); +#line 1219 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp59_) { +#line 7926 "ImportPage.c" + gint _tmp60_ = 0; + GeeArrayList* _tmp61_ = NULL; +#line 1220 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp60_ = fsid; +#line 1220 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp61_ = import_list; +#line 1220 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp60_, "/private/sony", _tmp61_); +#line 1221 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7937 "ImportPage.c" + } +#line 1225 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp62_ = fsid; +#line 1225 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp63_ = import_page_check_directory_exists (self, _tmp62_, "/", "MP_ROOT"); +#line 1225 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp63_) { +#line 7945 "ImportPage.c" + gint _tmp64_ = 0; + GeeArrayList* _tmp65_ = NULL; +#line 1226 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp64_ = fsid; +#line 1226 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp65_ = import_list; +#line 1226 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp64_, "/MP_ROOT", _tmp65_); +#line 1227 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7956 "ImportPage.c" + } +#line 1229 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp66_ = fsid; +#line 1229 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp67_ = import_page_check_directory_exists (self, _tmp66_, "/", "mp_root"); +#line 1229 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp67_) { +#line 7964 "ImportPage.c" + gint _tmp68_ = 0; + GeeArrayList* _tmp69_ = NULL; +#line 1230 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp68_ = fsid; +#line 1230 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp69_ = import_list; +#line 1230 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_enumerate_files (self, _tmp68_, "/mp_root", _tmp69_); +#line 1231 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + got_well_known_dir = TRUE; +#line 7975 "ImportPage.c" + } +#line 1236 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp70_ = got_well_known_dir; +#line 1236 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp70_) { +#line 7981 "ImportPage.c" + gint _tmp71_ = 0; + GeeArrayList* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; +#line 1237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp71_ = fsid; +#line 1237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp72_ = import_list; +#line 1237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp73_ = import_page_enumerate_files (self, _tmp71_, "/", _tmp72_); +#line 1237 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp73_) { +#line 1238 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 7995 "ImportPage.c" + } + } + } + } + } + } +#line 1243 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_clear_all_import_sources (self); +#line 1246 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp74_ = import_list; +#line 1246 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_auto_match_raw_jpeg (self, _tmp74_); +#line 1253 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp75_ = import_list; +#line 1253 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_load_previews_and_metadata (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, GEE_TYPE_LIST, GeeList)); +#line 1260 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp76_ = self->priv->progress_bar; +#line 1260 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1261 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp77_ = self->priv->progress_bar; +#line 1261 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_ellipsize (_tmp77_, PANGO_ELLIPSIZE_NONE); +#line 1262 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp78_ = self->priv->progress_bar; +#line 1262 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_text (_tmp78_, ""); +#line 1263 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp79_ = self->priv->progress_bar; +#line 1263 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_fraction (_tmp79_, 0.0); +#line 1265 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp80_ = self->priv->camera; +#line 1265 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp81_ = import_page_spin_idle_context; +#line 1265 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp82_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1265 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp83_ = gp_camera_exit (_tmp80_, _tmp82_); +#line 1265 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + res = _tmp83_; +#line 1266 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp84_ = res; +#line 1266 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp84_ != GP_OK) { +#line 8042 "ImportPage.c" + int _tmp85_ = 0; + gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; +#line 1268 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp85_ = res; +#line 1268 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp86_ = gp_result_to_full_string (_tmp85_); +#line 1268 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp87_ = _tmp86_; +#line 1268 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1268: Unable to unlock camera: %s", _tmp87_); +#line 1268 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp87_); +#line 8056 "ImportPage.c" + } +#line 1271 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp88_ = self->priv->refresh_result; +#line 1271 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp88_ == GP_OK) { +#line 1272 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, FALSE, TRUE); +#line 8064 "ImportPage.c" + } else { +#line 1274 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, FALSE, FALSE); +#line 1277 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_clear_all_import_sources (self); +#line 8070 "ImportPage.c" + } +#line 1280 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed (self); +#line 1282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp89_ = self->priv->refresh_result; +#line 1282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + switch (_tmp89_) { +#line 1282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case GP_OK: +#line 8080 "ImportPage.c" + { +#line 1284 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = IMPORT_PAGE_REFRESH_RESULT_OK; +#line 1284 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_list); +#line 1284 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8088 "ImportPage.c" + } +#line 1282 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + case GP_ERROR_IO_LOCK: +#line 8092 "ImportPage.c" + { +#line 1287 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = IMPORT_PAGE_REFRESH_RESULT_LOCKED; +#line 1287 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_list); +#line 1287 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8100 "ImportPage.c" + } + default: + { +#line 1290 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = IMPORT_PAGE_REFRESH_RESULT_LIBRARY_ERROR; +#line 1290 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_list); +#line 1290 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8110 "ImportPage.c" + } + } +#line 1148 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_list); +#line 8115 "ImportPage.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 8133 "ImportPage.c" +} + + +static gchar* string_slice (const gchar* self, glong start, glong end) { + gchar* result = NULL; + glong string_length = 0L; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + glong _tmp2_ = 0L; + glong _tmp5_ = 0L; + gboolean _tmp8_ = FALSE; + glong _tmp9_ = 0L; + gboolean _tmp12_ = FALSE; + glong _tmp13_ = 0L; + glong _tmp16_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + gchar* _tmp21_ = NULL; +#line 1328 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = strlen (self); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp0_; +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp1_; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = start; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp2_ < ((glong) 0)) { +#line 8166 "ImportPage.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = string_length; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = start; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + start = _tmp3_ + _tmp4_; +#line 8175 "ImportPage.c" + } +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp5_ < ((glong) 0)) { +#line 8181 "ImportPage.c" + glong _tmp6_ = 0L; + glong _tmp7_ = 0L; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = string_length; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = end; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp6_ + _tmp7_; +#line 8190 "ImportPage.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp9_ >= ((glong) 0)) { +#line 8196 "ImportPage.c" + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = string_length; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = _tmp10_ <= _tmp11_; +#line 8205 "ImportPage.c" + } else { +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = FALSE; +#line 8209 "ImportPage.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp8_, NULL); +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp13_ >= ((glong) 0)) { +#line 8217 "ImportPage.c" + glong _tmp14_ = 0L; + glong _tmp15_ = 0L; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = _tmp14_ <= _tmp15_; +#line 8226 "ImportPage.c" + } else { +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 8230 "ImportPage.c" + } +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_, NULL); +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = start; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = end; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = end; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_)); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp21_; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 8252 "ImportPage.c" +} + + +static gchar* import_page_chomp_ch (const gchar* str, gchar ch) { + gchar* result = NULL; + glong offset = 0L; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gchar* _tmp12_ = NULL; +#line 1294 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (str != NULL, NULL); +#line 1295 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = str; +#line 1295 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = strlen (_tmp0_); +#line 1295 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_; +#line 1295 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + offset = (glong) _tmp2_; +#line 1296 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 8275 "ImportPage.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + const gchar* _tmp5_ = NULL; + glong _tmp6_ = 0L; + gchar _tmp7_ = '\0'; + gchar _tmp8_ = '\0'; +#line 1296 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = offset; +#line 1296 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + offset = _tmp3_ - 1; +#line 1296 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = offset; +#line 1296 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!(_tmp4_ >= ((glong) 0))) { +#line 1296 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 8292 "ImportPage.c" + } +#line 1297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = str; +#line 1297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = offset; +#line 1297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = string_get (_tmp5_, _tmp6_); +#line 1297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = ch; +#line 1297 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp7_ != _tmp8_) { +#line 8304 "ImportPage.c" + const gchar* _tmp9_ = NULL; + glong _tmp10_ = 0L; + gchar* _tmp11_ = NULL; +#line 1298 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = str; +#line 1298 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = offset; +#line 1298 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = string_slice (_tmp9_, (glong) 0, _tmp10_); +#line 1298 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp11_; +#line 1298 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8318 "ImportPage.c" + } + } +#line 1301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = g_strdup (""); +#line 1301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp12_; +#line 1301 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8327 "ImportPage.c" +} + + +gchar* import_page_append_path (const gchar* basepath, const gchar* addition) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1304 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (basepath != NULL, NULL); +#line 1304 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (addition != NULL, NULL); +#line 1305 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = basepath; +#line 1305 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = g_str_has_suffix (_tmp1_, "/"); +#line 1305 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp2_) { +#line 8346 "ImportPage.c" + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 1305 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = addition; +#line 1305 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = g_str_has_prefix (_tmp3_, "/"); +#line 1305 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = !_tmp4_; +#line 8355 "ImportPage.c" + } else { +#line 1305 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = FALSE; +#line 8359 "ImportPage.c" + } +#line 1305 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_) { +#line 8363 "ImportPage.c" + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = basepath; +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = g_strconcat (_tmp5_, "/", NULL); +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _tmp6_; +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = addition; +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = g_strconcat (_tmp7_, _tmp8_, NULL); +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = _tmp9_; +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp7_); +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp10_; +#line 1306 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8388 "ImportPage.c" + } else { + gboolean _tmp11_ = FALSE; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 1307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = basepath; +#line 1307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = g_str_has_suffix (_tmp12_, "/"); +#line 1307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp13_) { +#line 8399 "ImportPage.c" + const gchar* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = addition; +#line 1307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = g_str_has_prefix (_tmp14_, "/"); +#line 1307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = _tmp15_; +#line 8408 "ImportPage.c" + } else { +#line 1307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = FALSE; +#line 8412 "ImportPage.c" + } +#line 1307 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp11_) { +#line 8416 "ImportPage.c" + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = basepath; +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = import_page_chomp_ch (_tmp16_, '/'); +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = _tmp17_; +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = addition; +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = g_strconcat (_tmp18_, _tmp19_, NULL); +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = _tmp20_; +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp18_); +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp21_; +#line 1308 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8441 "ImportPage.c" + } else { + const gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 1310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = basepath; +#line 1310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = addition; +#line 1310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = g_strconcat (_tmp22_, _tmp23_, NULL); +#line 1310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp24_; +#line 1310 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8456 "ImportPage.c" + } + } +} + + +gchar* import_page_get_fs_basedir (Camera* camera, gint fsid) { + gchar* result = NULL; + CameraStorageInformation* sifs = NULL; + gint count = 0; + int res = 0; + Camera* _tmp0_ = NULL; + GPContextWrapper* _tmp1_ = NULL; + GPContext* _tmp2_ = NULL; + gint _tmp3_ = 0; + int _tmp4_ = 0; + int _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + CameraStorageInformation* ifs = NULL; + CameraStorageInformation* _tmp8_ = NULL; + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + CameraStorageInformation* _tmp11_ = NULL; + CameraStorageInfoFields _tmp12_ = 0; + gchar* _tmp15_ = NULL; +#line 1315 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 1316 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + sifs = NULL; +#line 1317 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + count = 0; +#line 1318 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = camera; +#line 1318 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_page_null_context; +#line 1318 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_->context; +#line 1318 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = gp_camera_get_storageinfo (_tmp0_, &sifs, &_tmp3_, _tmp2_); +#line 1318 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + count = _tmp3_; +#line 1318 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + res = _tmp4_; +#line 1319 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = res; +#line 1319 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp5_ != GP_OK) { +#line 1320 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = NULL; +#line 1320 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8508 "ImportPage.c" + } +#line 1322 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = fsid; +#line 1322 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = count; +#line 1322 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp6_ >= _tmp7_) { +#line 1323 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = NULL; +#line 1323 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8520 "ImportPage.c" + } +#line 1325 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = sifs; +#line 1325 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = fsid; +#line 1325 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ifs = _tmp8_ + _tmp9_; +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = ifs; +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = (*_tmp11_).fields; +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if ((_tmp12_ & GP_STORAGEINFO_BASE) != 0) { +#line 8534 "ImportPage.c" + CameraStorageInformation* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = ifs; +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = (*_tmp13_).basedir; +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = _tmp14_; +#line 8543 "ImportPage.c" + } else { +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = "/"; +#line 8547 "ImportPage.c" + } +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = g_strdup (_tmp10_); +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp15_; +#line 1327 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8555 "ImportPage.c" +} + + +gchar* import_page_get_fulldir (Camera* camera, const gchar* camera_name, gint fsid, const gchar* folder) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gchar* basedir = NULL; + Camera* _tmp3_ = NULL; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 1330 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera != NULL, NULL); +#line 1330 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (camera_name != NULL, NULL); +#line 1330 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (folder != NULL, NULL); +#line 1331 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = folder; +#line 1331 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = strlen (_tmp0_); +#line 1331 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_; +#line 1331 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_ > GP_MAX_BASEDIR_LENGTH) { +#line 1332 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = NULL; +#line 1332 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8590 "ImportPage.c" + } +#line 1334 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = camera; +#line 1334 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = fsid; +#line 1334 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = import_page_get_fs_basedir (_tmp3_, _tmp4_); +#line 1334 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + basedir = _tmp5_; +#line 1335 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = basedir; +#line 1335 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp6_ == NULL) { +#line 8604 "ImportPage.c" + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 1336 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = camera_name; +#line 1336 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = fsid; +#line 1336 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:1336: Unable to find base directory for %s fsid %d", _tmp7_, _tmp8_); +#line 1338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = folder; +#line 1338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 1338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp10_; +#line 1338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (basedir); +#line 1338 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8625 "ImportPage.c" + } +#line 1341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = basedir; +#line 1341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = folder; +#line 1341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = import_page_append_path (_tmp11_, _tmp12_); +#line 1341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp13_; +#line 1341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (basedir); +#line 1341 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8639 "ImportPage.c" +} + + +static gboolean import_page_enumerate_files (ImportPage* self, gint fsid, const gchar* dir, GeeArrayList* import_list) { + gboolean result = FALSE; + gchar* fulldir = NULL; + Camera* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + CameraList* files = NULL; + CameraList* _tmp7_ = NULL; + int _tmp8_ = 0; + int _tmp9_ = 0; + Camera* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + CameraList* _tmp15_ = NULL; + GPSpinIdleWrapper* _tmp16_ = NULL; + GPContext* _tmp17_ = NULL; + int _tmp18_ = 0; + int _tmp19_ = 0; + CameraList* folders = NULL; + CameraList* _tmp109_ = NULL; + int _tmp110_ = 0; + int _tmp111_ = 0; + Camera* _tmp115_ = NULL; + const gchar* _tmp116_ = NULL; + CameraList* _tmp117_ = NULL; + GPSpinIdleWrapper* _tmp118_ = NULL; + GPContext* _tmp119_ = NULL; + int _tmp120_ = 0; + int _tmp121_ = 0; + GError * _inner_error_ = NULL; +#line 1344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (self), FALSE); +#line 1344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (dir != NULL, FALSE); +#line 1344 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (GEE_IS_ARRAY_LIST (import_list), FALSE); +#line 1345 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->camera; +#line 1345 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->camera_name; +#line 1345 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = fsid; +#line 1345 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = dir; +#line 1345 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = import_page_get_fulldir (_tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 1345 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + fulldir = _tmp4_; +#line 1346 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = fulldir; +#line 1346 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp5_ == NULL) { +#line 8697 "ImportPage.c" + const gchar* _tmp6_ = NULL; +#line 1347 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = dir; +#line 1347 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1347: Skipping enumerating %s: invalid folder name", _tmp6_); +#line 1349 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 1349 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1349 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8709 "ImportPage.c" + } +#line 1353 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = gp_list_new (&_tmp7_); +#line 1353 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1353 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + files = _tmp7_; +#line 1353 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = _tmp8_; +#line 1354 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = self->priv->refresh_result; +#line 1354 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp9_ != GP_OK) { +#line 8723 "ImportPage.c" + int _tmp10_ = 0; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 1355 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = self->priv->refresh_result; +#line 1355 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = gp_result_to_full_string (_tmp10_); +#line 1355 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = _tmp11_; +#line 1355 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1355: Unable to create file list: %s", _tmp12_); +#line 1355 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp12_); +#line 1357 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1357 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1357 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1357 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8745 "ImportPage.c" + } +#line 1360 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = self->priv->camera; +#line 1360 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = fulldir; +#line 1360 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = files; +#line 1360 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = import_page_spin_idle_context; +#line 1360 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1360 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = gp_camera_folder_list_files (_tmp13_, _tmp14_, _tmp15_, _tmp17_); +#line 1360 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = _tmp18_; +#line 1361 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = self->priv->refresh_result; +#line 1361 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp19_ != GP_OK) { +#line 8765 "ImportPage.c" + const gchar* _tmp20_ = NULL; + int _tmp21_ = 0; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 1362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = fulldir; +#line 1362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = self->priv->refresh_result; +#line 1362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = gp_result_to_full_string (_tmp21_); +#line 1362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = _tmp22_; +#line 1362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1362: Unable to list files in %s: %s", _tmp20_, _tmp23_); +#line 1362 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp23_); +#line 1365 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = GP_OK; +#line 1367 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 1367 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1367 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1367 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8792 "ImportPage.c" + } + { + gint ctr = 0; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ctr = 0; +#line 8798 "ImportPage.c" + { + gboolean _tmp24_ = FALSE; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = TRUE; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 8805 "ImportPage.c" + gint _tmp26_ = 0; + CameraList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gchar* filename = NULL; + CameraList* _tmp29_ = NULL; + gint _tmp30_ = 0; + const gchar* _tmp31_ = NULL; + int _tmp32_ = 0; + gchar* _tmp33_ = NULL; + int _tmp34_ = 0; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp24_) { +#line 8818 "ImportPage.c" + gint _tmp25_ = 0; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = ctr; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ctr = _tmp25_ + 1; +#line 8824 "ImportPage.c" + } +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = FALSE; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = ctr; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = files; +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = gp_list_count (_tmp27_); +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!(_tmp26_ < _tmp28_)) { +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 8838 "ImportPage.c" + } +#line 1372 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = files; +#line 1372 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = ctr; +#line 1372 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = gp_list_get_name (_tmp29_, _tmp30_, &_tmp31_); +#line 1372 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1372 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = g_strdup (_tmp31_); +#line 1372 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + filename = _tmp33_; +#line 1372 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = _tmp32_; +#line 1373 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = self->priv->refresh_result; +#line 1373 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp34_ != GP_OK) { +#line 8858 "ImportPage.c" + gint _tmp35_ = 0; + const gchar* _tmp36_ = NULL; + int _tmp37_ = 0; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; +#line 1374 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = ctr; +#line 1374 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = fulldir; +#line 1374 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = self->priv->refresh_result; +#line 1374 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = gp_result_to_full_string (_tmp37_); +#line 1374 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = _tmp38_; +#line 1374 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1374: Unable to get the name of file %d in %s: %s", _tmp35_, _tmp36_, _tmp39_); +#line 1374 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp39_); +#line 1377 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1377 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1377 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1377 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1377 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 8888 "ImportPage.c" + } + { + CameraFileInfo info = {0}; + gboolean _tmp40_ = FALSE; + GPSpinIdleWrapper* _tmp41_ = NULL; + GPContext* _tmp42_ = NULL; + Camera* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + CameraFileInfo _tmp46_ = {0}; + gboolean _tmp47_ = FALSE; + CameraFileInfo _tmp50_ = {0}; + CameraFileInfoFile _tmp51_ = {0}; + CameraFileInfoFields _tmp52_ = 0; + const gchar* _tmp58_ = NULL; + gboolean _tmp59_ = FALSE; + GtkProgressBar* _tmp102_ = NULL; +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = import_page_spin_idle_context; +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = self->priv->camera; +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = fulldir; +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = filename; +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = gp_get_info (_tmp42_, _tmp43_, _tmp44_, _tmp45_, &_tmp46_, &_inner_error_); +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (info); +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + info = _tmp46_; +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = _tmp47_; +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (info); +#line 8928 "ImportPage.c" + goto __catch64_g_error; + } +#line 1382 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp40_) { +#line 8933 "ImportPage.c" + const gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; +#line 1383 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = fulldir; +#line 1383 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = filename; +#line 1383 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1383: Skipping import of %s/%s: name too long", _tmp48_, _tmp49_); +#line 1385 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (info); +#line 1385 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1385 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + continue; +#line 8948 "ImportPage.c" + } +#line 1388 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = info; +#line 1388 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = _tmp50_.file; +#line 1388 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = _tmp51_.fields; +#line 1388 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if ((_tmp52_ & GP_FILE_INFO_TYPE) == 0) { +#line 8958 "ImportPage.c" + const gchar* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + CameraFileInfo _tmp55_ = {0}; + CameraFileInfoFile _tmp56_ = {0}; + CameraFileInfoFields _tmp57_ = 0; +#line 1389 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = fulldir; +#line 1389 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = filename; +#line 1389 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = info; +#line 1389 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56_ = _tmp55_.file; +#line 1389 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp57_ = _tmp56_.fields; +#line 1389 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_message ("ImportPage.vala:1389: Skipping %s/%s: No file (file=%02Xh)", _tmp53_, _tmp54_, (guint) _tmp57_); +#line 1392 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (info); +#line 1392 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1392 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + continue; +#line 8982 "ImportPage.c" + } +#line 1395 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp58_ = filename; +#line 1395 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp59_ = video_reader_is_supported_video_filename (_tmp58_); +#line 1395 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp59_) { +#line 8990 "ImportPage.c" + VideoImportSource* video_source = NULL; + const gchar* _tmp60_ = NULL; + Camera* _tmp61_ = NULL; + gint _tmp62_ = 0; + const gchar* _tmp63_ = NULL; + const gchar* _tmp64_ = NULL; + CameraFileInfo _tmp65_ = {0}; + CameraFileInfoFile _tmp66_ = {0}; + gulong _tmp67_ = 0UL; + CameraFileInfo _tmp68_ = {0}; + CameraFileInfoFile _tmp69_ = {0}; + time_t _tmp70_ = 0; + VideoImportSource* _tmp71_ = NULL; + GeeArrayList* _tmp72_ = NULL; + VideoImportSource* _tmp73_ = NULL; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp60_ = self->priv->camera_name; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp61_ = self->priv->camera; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp62_ = fsid; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp63_ = dir; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp64_ = filename; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp65_ = info; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp66_ = _tmp65_.file; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp67_ = _tmp66_.size; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp68_ = info; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp69_ = _tmp68_.file; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp70_ = _tmp69_.mtime; +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp71_ = video_import_source_new (_tmp60_, _tmp61_, _tmp62_, _tmp63_, _tmp64_, _tmp67_, _tmp70_); +#line 1396 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + video_source = _tmp71_; +#line 1398 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp72_ = import_list; +#line 1398 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp73_ = video_source; +#line 1398 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1395 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (video_source); +#line 9040 "ImportPage.c" + } else { + PhotoFileFormat file_format = 0; + CameraFileInfo _tmp74_ = {0}; + CameraFileInfoFile _tmp75_ = {0}; + const gchar* _tmp76_ = NULL; + PhotoFileFormat _tmp77_ = 0; + PhotoFileFormat _tmp78_ = 0; + GeeArrayList* _tmp87_ = NULL; + const gchar* _tmp88_ = NULL; + Camera* _tmp89_ = NULL; + gint _tmp90_ = 0; + const gchar* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; + CameraFileInfo _tmp93_ = {0}; + CameraFileInfoFile _tmp94_ = {0}; + gulong _tmp95_ = 0UL; + CameraFileInfo _tmp96_ = {0}; + CameraFileInfoFile _tmp97_ = {0}; + time_t _tmp98_ = 0; + PhotoFileFormat _tmp99_ = 0; + PhotoImportSource* _tmp100_ = NULL; + PhotoImportSource* _tmp101_ = NULL; +#line 1401 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp74_ = info; +#line 1401 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp75_ = _tmp74_.file; +#line 1401 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp76_ = _tmp75_.type; +#line 1401 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp77_ = photo_file_format_from_gphoto_type (_tmp76_); +#line 1401 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + file_format = _tmp77_; +#line 1402 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp78_ = file_format; +#line 1402 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp78_ == PHOTO_FILE_FORMAT_UNKNOWN) { +#line 9077 "ImportPage.c" + const gchar* _tmp79_ = NULL; + PhotoFileFormat _tmp80_ = 0; + PhotoFileFormat _tmp81_ = 0; +#line 1403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp79_ = filename; +#line 1403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp80_ = photo_file_format_get_by_basename_extension (_tmp79_); +#line 1403 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + file_format = _tmp80_; +#line 1404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp81_ = file_format; +#line 1404 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp81_ == PHOTO_FILE_FORMAT_UNKNOWN) { +#line 9091 "ImportPage.c" + const gchar* _tmp82_ = NULL; + const gchar* _tmp83_ = NULL; + CameraFileInfo _tmp84_ = {0}; + CameraFileInfoFile _tmp85_ = {0}; + const gchar* _tmp86_ = NULL; +#line 1405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp82_ = fulldir; +#line 1405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp83_ = filename; +#line 1405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp84_ = info; +#line 1405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp85_ = _tmp84_.file; +#line 1405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp86_ = _tmp85_.type; +#line 1405 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_message ("ImportPage.vala:1405: Skipping %s/%s: Not a supported file extension (" \ +"%s)", _tmp82_, _tmp83_, _tmp86_); +#line 1408 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (info); +#line 1408 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1408 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + continue; +#line 9115 "ImportPage.c" + } + } +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp87_ = import_list; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp88_ = self->priv->camera_name; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp89_ = self->priv->camera; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp90_ = fsid; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp91_ = dir; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp92_ = filename; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp93_ = info; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp94_ = _tmp93_.file; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp95_ = _tmp94_.size; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp96_ = info; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp97_ = _tmp96_.file; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp98_ = _tmp97_.mtime; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp99_ = file_format; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp100_ = photo_import_source_new (_tmp88_, _tmp89_, _tmp90_, _tmp91_, _tmp92_, _tmp95_, _tmp98_, _tmp99_); +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp101_ = _tmp100_; +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp101_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1411 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp101_); +#line 9152 "ImportPage.c" + } +#line 1415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp102_ = self->priv->progress_bar; +#line 1415 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_pulse (_tmp102_); +#line 1418 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + spin_event_loop (); +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + (info); +#line 9162 "ImportPage.c" + } + goto __finally64; + __catch64_g_error: + { + GError* err = NULL; + const gchar* _tmp103_ = NULL; + GError* _tmp104_ = NULL; + const gchar* _tmp105_ = NULL; + GError* _tmp106_ = NULL; + const gchar* _tmp107_ = NULL; + gchar* _tmp108_ = NULL; +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 1420 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp103_ = fulldir; +#line 1420 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp104_ = err; +#line 1420 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp105_ = _tmp104_->message; +#line 1420 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1420: Error while enumerating files in %s: %s", _tmp103_, _tmp105_); +#line 1422 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp106_ = err; +#line 1422 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp107_ = _tmp106_->message; +#line 1422 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp108_ = g_strdup (_tmp107_); +#line 1422 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->refresh_error); +#line 1422 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_error = _tmp108_; +#line 1424 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1424 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 1424 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1424 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1424 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1424 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 9208 "ImportPage.c" + } + __finally64: +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.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 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_clear_error (&_inner_error_); +#line 1380 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 9225 "ImportPage.c" + } +#line 1370 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 9229 "ImportPage.c" + } + } + } +#line 1429 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp110_ = gp_list_new (&_tmp109_); +#line 1429 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1429 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + folders = _tmp109_; +#line 1429 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = _tmp110_; +#line 1430 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp111_ = self->priv->refresh_result; +#line 1430 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp111_ != GP_OK) { +#line 9245 "ImportPage.c" + int _tmp112_ = 0; + gchar* _tmp113_ = NULL; + gchar* _tmp114_ = NULL; +#line 1431 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp112_ = self->priv->refresh_result; +#line 1431 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp113_ = gp_result_to_full_string (_tmp112_); +#line 1431 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp114_ = _tmp113_; +#line 1431 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1431: Unable to create folder list: %s", _tmp114_); +#line 1431 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp114_); +#line 1433 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1433 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1433 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1433 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1433 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 9269 "ImportPage.c" + } +#line 1436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp115_ = self->priv->camera; +#line 1436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp116_ = fulldir; +#line 1436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp117_ = folders; +#line 1436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp118_ = import_page_spin_idle_context; +#line 1436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp119_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp118_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp120_ = gp_camera_folder_list_folders (_tmp115_, _tmp116_, _tmp117_, _tmp119_); +#line 1436 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = _tmp120_; +#line 1437 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp121_ = self->priv->refresh_result; +#line 1437 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp121_ != GP_OK) { +#line 9289 "ImportPage.c" + const gchar* _tmp122_ = NULL; + int _tmp123_ = 0; + gchar* _tmp124_ = NULL; + gchar* _tmp125_ = NULL; +#line 1438 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp122_ = fulldir; +#line 1438 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp123_ = self->priv->refresh_result; +#line 1438 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp124_ = gp_result_to_full_string (_tmp123_); +#line 1438 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp125_ = _tmp124_; +#line 1438 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1438: Unable to list folders in %s: %s", _tmp122_, _tmp125_); +#line 1438 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp125_); +#line 1441 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = GP_OK; +#line 1443 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 1443 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1443 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1443 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1443 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 9318 "ImportPage.c" + } + { + gint ctr = 0; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ctr = 0; +#line 9324 "ImportPage.c" + { + gboolean _tmp126_ = FALSE; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp126_ = TRUE; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 9331 "ImportPage.c" + gint _tmp128_ = 0; + CameraList* _tmp129_ = NULL; + gint _tmp130_ = 0; + gchar* subdir = NULL; + CameraList* _tmp131_ = NULL; + gint _tmp132_ = 0; + const gchar* _tmp133_ = NULL; + int _tmp134_ = 0; + gchar* _tmp135_ = NULL; + int _tmp136_ = 0; + gint _tmp141_ = 0; + const gchar* _tmp142_ = NULL; + const gchar* _tmp143_ = NULL; + gchar* _tmp144_ = NULL; + gchar* _tmp145_ = NULL; + GeeArrayList* _tmp146_ = NULL; + gboolean _tmp147_ = FALSE; + gboolean _tmp148_ = FALSE; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp126_) { +#line 9352 "ImportPage.c" + gint _tmp127_ = 0; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp127_ = ctr; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ctr = _tmp127_ + 1; +#line 9358 "ImportPage.c" + } +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp126_ = FALSE; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp128_ = ctr; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp129_ = folders; +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp130_ = gp_list_count (_tmp129_); +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!(_tmp128_ < _tmp130_)) { +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 9372 "ImportPage.c" + } +#line 1448 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp131_ = folders; +#line 1448 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp132_ = ctr; +#line 1448 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp134_ = gp_list_get_name (_tmp131_, _tmp132_, &_tmp133_); +#line 1448 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (subdir); +#line 1448 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp135_ = g_strdup (_tmp133_); +#line 1448 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + subdir = _tmp135_; +#line 1448 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = _tmp134_; +#line 1449 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp136_ = self->priv->refresh_result; +#line 1449 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp136_ != GP_OK) { +#line 9392 "ImportPage.c" + gint _tmp137_ = 0; + int _tmp138_ = 0; + gchar* _tmp139_ = NULL; + gchar* _tmp140_ = NULL; +#line 1450 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp137_ = ctr; +#line 1450 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp138_ = self->priv->refresh_result; +#line 1450 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp139_ = gp_result_to_full_string (_tmp138_); +#line 1450 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp140_ = _tmp139_; +#line 1450 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1450: Unable to get name of folder %d: %s", _tmp137_, _tmp140_); +#line 1450 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp140_); +#line 1452 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1452 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (subdir); +#line 1452 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1452 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1452 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1452 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 9421 "ImportPage.c" + } +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp141_ = fsid; +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp142_ = dir; +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp143_ = subdir; +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp144_ = import_page_append_path (_tmp142_, _tmp143_); +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp145_ = _tmp144_; +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp146_ = import_list; +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp147_ = import_page_enumerate_files (self, _tmp141_, _tmp145_, _tmp146_); +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp148_ = !_tmp147_; +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp145_); +#line 1455 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp148_) { +#line 1456 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 1456 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (subdir); +#line 1456 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1456 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1456 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1456 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 9455 "ImportPage.c" + } +#line 1446 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (subdir); +#line 9459 "ImportPage.c" + } + } + } +#line 1459 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 1459 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (folders); +#line 1459 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_list_unref0 (files); +#line 1459 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1459 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 9473 "ImportPage.c" +} + + +static void import_page_auto_match_raw_jpeg (ImportPage* self, GeeArrayList* import_list) { +#line 1463 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1463 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (GEE_IS_ARRAY_LIST (import_list)); +#line 9482 "ImportPage.c" + { + gint i = 0; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + i = 0; +#line 9487 "ImportPage.c" + { + gboolean _tmp0_ = FALSE; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = TRUE; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 9494 "ImportPage.c" + gint _tmp2_ = 0; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + PhotoImportSource* current = NULL; + GeeArrayList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gpointer _tmp8_ = NULL; + ImportSource* _tmp9_ = NULL; + PhotoImportSource* _tmp10_ = NULL; + PhotoImportSource* _tmp11_ = NULL; + gint _tmp12_ = 0; + GeeArrayList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + PhotoImportSource* next = NULL; + PhotoImportSource* _tmp21_ = NULL; + PhotoImportSource* _tmp22_ = NULL; + gint _tmp23_ = 0; + PhotoImportSource* prev = NULL; + PhotoImportSource* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + PhotoImportSource* _tmp31_ = NULL; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp0_) { +#line 9520 "ImportPage.c" + gint _tmp1_ = 0; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = i; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + i = _tmp1_ + 1; +#line 9526 "ImportPage.c" + } +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = FALSE; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = i; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = import_list; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _tmp4_; +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!(_tmp2_ < _tmp5_)) { +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 9542 "ImportPage.c" + } +#line 1465 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = import_list; +#line 1465 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = i; +#line 1465 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp7_); +#line 1465 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = (ImportSource*) _tmp8_; +#line 1465 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp9_) : NULL; +#line 1465 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp10_ == NULL) { +#line 1465 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp9_); +#line 9558 "ImportPage.c" + } +#line 1465 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + current = _tmp10_; +#line 1466 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = i; +#line 1466 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = import_list; +#line 1466 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1466 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = _tmp14_; +#line 1466 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if ((_tmp12_ + 1) < _tmp15_) { +#line 9572 "ImportPage.c" + GeeArrayList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gpointer _tmp18_ = NULL; + ImportSource* _tmp19_ = NULL; + PhotoImportSource* _tmp20_ = NULL; +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = import_list; +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = i; +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp17_ + 1); +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = (ImportSource*) _tmp18_; +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp19_) : NULL; +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp20_ == NULL) { +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp19_); +#line 9592 "ImportPage.c" + } +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp11_); +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = _tmp20_; +#line 9598 "ImportPage.c" + } else { +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp11_); +#line 1467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = NULL; +#line 9604 "ImportPage.c" + } +#line 1466 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = _g_object_ref0 (_tmp11_); +#line 1466 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + next = _tmp21_; +#line 1468 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = i; +#line 1468 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp23_ > 0) { +#line 9614 "ImportPage.c" + GeeArrayList* _tmp24_ = NULL; + gint _tmp25_ = 0; + gpointer _tmp26_ = NULL; + ImportSource* _tmp27_ = NULL; + PhotoImportSource* _tmp28_ = NULL; +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = import_list; +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = i; +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp25_ - 1); +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = (ImportSource*) _tmp26_; +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp27_) : NULL; +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp28_ == NULL) { +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp27_); +#line 9634 "ImportPage.c" + } +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp22_); +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = _tmp28_; +#line 9640 "ImportPage.c" + } else { +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp22_); +#line 1469 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = NULL; +#line 9646 "ImportPage.c" + } +#line 1468 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = _g_object_ref0 (_tmp22_); +#line 1468 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + prev = _tmp29_; +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = current; +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp31_ != NULL) { +#line 9656 "ImportPage.c" + PhotoImportSource* _tmp32_ = NULL; + PhotoFileFormat _tmp33_ = 0; +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = current; +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = photo_import_source_get_file_format (_tmp32_); +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = _tmp33_ == PHOTO_FILE_FORMAT_RAW; +#line 9665 "ImportPage.c" + } else { +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = FALSE; +#line 9669 "ImportPage.c" + } +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp30_) { +#line 9673 "ImportPage.c" + gchar* current_name = NULL; + gchar* ext = NULL; + PhotoImportSource* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + PhotoImportSource* associated = NULL; + gboolean _tmp39_ = FALSE; + PhotoImportSource* _tmp40_ = NULL; + gboolean _tmp52_ = FALSE; + PhotoImportSource* _tmp53_ = NULL; + PhotoImportSource* _tmp65_ = NULL; +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = current; +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = _tmp35_; +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + disassemble_filename (_tmp36_, &_tmp37_, &_tmp38_); +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (current_name); +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + current_name = _tmp37_; +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (ext); +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ext = _tmp38_; +#line 1473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp36_); +#line 1476 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + associated = NULL; +#line 1477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = next; +#line 1477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp40_ != NULL) { +#line 9711 "ImportPage.c" + PhotoImportSource* _tmp41_ = NULL; + PhotoFileFormat _tmp42_ = 0; +#line 1477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = next; +#line 1477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = photo_import_source_get_file_format (_tmp41_); +#line 1477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = _tmp42_ == PHOTO_FILE_FORMAT_JFIF; +#line 9720 "ImportPage.c" + } else { +#line 1477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = FALSE; +#line 9724 "ImportPage.c" + } +#line 1477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp39_) { +#line 9728 "ImportPage.c" + gchar* next_name = NULL; + PhotoImportSource* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = next; +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = _tmp44_; +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + disassemble_filename (_tmp45_, &_tmp46_, &_tmp47_); +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (next_name); +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + next_name = _tmp46_; +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (ext); +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ext = _tmp47_; +#line 1479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp45_); +#line 1480 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = next_name; +#line 1480 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = current_name; +#line 1480 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (g_strcmp0 (_tmp48_, _tmp49_) == 0) { +#line 9761 "ImportPage.c" + PhotoImportSource* _tmp50_ = NULL; + PhotoImportSource* _tmp51_ = NULL; +#line 1481 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = next; +#line 1481 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = _g_object_ref0 (_tmp50_); +#line 1481 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (associated); +#line 1481 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + associated = _tmp51_; +#line 9772 "ImportPage.c" + } +#line 1477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (next_name); +#line 9776 "ImportPage.c" + } +#line 1483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = prev; +#line 1483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp53_ != NULL) { +#line 9782 "ImportPage.c" + PhotoImportSource* _tmp54_ = NULL; + PhotoFileFormat _tmp55_ = 0; +#line 1483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = prev; +#line 1483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = photo_import_source_get_file_format (_tmp54_); +#line 1483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = _tmp55_ == PHOTO_FILE_FORMAT_JFIF; +#line 9791 "ImportPage.c" + } else { +#line 1483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = FALSE; +#line 9795 "ImportPage.c" + } +#line 1483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp52_) { +#line 9799 "ImportPage.c" + gchar* prev_name = NULL; + PhotoImportSource* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56_ = prev; +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp57_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp58_ = _tmp57_; +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + disassemble_filename (_tmp58_, &_tmp59_, &_tmp60_); +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (prev_name); +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + prev_name = _tmp59_; +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (ext); +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ext = _tmp60_; +#line 1485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp58_); +#line 1486 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp61_ = prev_name; +#line 1486 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp62_ = current_name; +#line 1486 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (g_strcmp0 (_tmp61_, _tmp62_) == 0) { +#line 9832 "ImportPage.c" + PhotoImportSource* _tmp63_ = NULL; + PhotoImportSource* _tmp64_ = NULL; +#line 1487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp63_ = prev; +#line 1487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp64_ = _g_object_ref0 (_tmp63_); +#line 1487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (associated); +#line 1487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + associated = _tmp64_; +#line 9843 "ImportPage.c" + } +#line 1483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (prev_name); +#line 9847 "ImportPage.c" + } +#line 1491 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp65_ = associated; +#line 1491 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp65_ != NULL) { +#line 9853 "ImportPage.c" + PhotoImportSource* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + PhotoImportSource* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + PhotoImportSource* _tmp72_ = NULL; + PhotoImportSource* _tmp73_ = NULL; + GeeArrayList* _tmp74_ = NULL; + PhotoImportSource* _tmp75_ = NULL; + gboolean _tmp76_ = FALSE; +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp66_ = current; +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp67_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp68_ = _tmp67_; +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp69_ = associated; +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp70_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp71_ = _tmp70_; +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:1492: Found RAW+JPEG pair: %s and %s", _tmp68_, _tmp71_); +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp71_); +#line 1492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp68_); +#line 1493 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp72_ = current; +#line 1493 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp73_ = associated; +#line 1493 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_import_source_set_associated (_tmp72_, _tmp73_); +#line 1494 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp74_ = import_list; +#line 1494 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp75_ = associated; +#line 1494 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp76_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1494 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp76_) { +#line 9897 "ImportPage.c" + PhotoImportSource* _tmp77_ = NULL; +#line 1495 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:1495: Unable to associate files"); +#line 1496 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp77_ = current; +#line 1496 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_import_source_set_associated (_tmp77_, NULL); +#line 9905 "ImportPage.c" + } + } +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (associated); +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (ext); +#line 1470 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (current_name); +#line 9914 "ImportPage.c" + } +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (prev); +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp22_); +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (next); +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp11_); +#line 1464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (current); +#line 9926 "ImportPage.c" + } + } + } +} + + +static void import_page_load_previews_and_metadata (ImportPage* self, GeeList* import_list) { + gint loaded_photos = 0; + GError * _inner_error_ = NULL; +#line 1503 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1503 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (GEE_IS_LIST (import_list)); +#line 1504 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + loaded_photos = 0; +#line 9942 "ImportPage.c" + { + GeeList* _import_source_list = NULL; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + gint _import_source_size = 0; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _import_source_index = 0; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = import_list; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _import_source_list = _tmp1_; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _import_source_list; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _tmp3_; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _import_source_size = _tmp4_; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _import_source_index = -1; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 9970 "ImportPage.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + ImportSource* import_source = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + gchar* filename = NULL; + ImportSource* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* fulldir = NULL; + ImportSource* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + PhotoImportSource* associated = NULL; + gboolean _tmp19_ = FALSE; + ImportSource* _tmp20_ = NULL; + GtkProgressBar* _tmp26_ = NULL; + GtkProgressBar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + ImportSource* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + PhotoMetadata* metadata = NULL; + const gchar* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; + gchar* exif_only_md5 = NULL; + PhotoMetadata* _tmp48_ = NULL; + guint8* preview_raw = NULL; + gint preview_raw_length1 = 0; + gint _preview_raw_size_ = 0; + gsize preview_raw_length = 0UL; + GdkPixbuf* preview = NULL; + gchar* preview_md5 = NULL; + gboolean _tmp84_ = FALSE; + gboolean _tmp85_ = FALSE; + GdkPixbuf* _tmp86_ = NULL; + ImportSource* _tmp92_ = NULL; + ImportSource* _tmp95_ = NULL; + PhotoImportSource* _tmp101_ = NULL; + SourceCollection* _tmp125_ = NULL; + ImportSource* _tmp126_ = NULL; + GtkProgressBar* _tmp127_ = NULL; + gint _tmp128_ = 0; + gint _tmp129_ = 0; + GeeList* _tmp130_ = NULL; + gint _tmp131_ = 0; + gint _tmp132_ = 0; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _import_source_index; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _import_source_index = _tmp5_ + 1; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _import_source_index; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _import_source_size; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!(_tmp6_ < _tmp7_)) { +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 10033 "ImportPage.c" + } +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _import_source_list; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _import_source_index; +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = gee_list_get (_tmp8_, _tmp9_); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_source = (ImportSource*) _tmp10_; +#line 1506 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = import_source; +#line 1506 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = import_source_get_filename (_tmp11_); +#line 1506 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + filename = _tmp12_; +#line 1507 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = import_source; +#line 1507 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = import_source_get_fulldir (_tmp13_); +#line 1507 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + fulldir = _tmp14_; +#line 1508 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = fulldir; +#line 1508 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp15_ == NULL) { +#line 10059 "ImportPage.c" + ImportSource* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 1509 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = import_source; +#line 1509 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_OBJECT, DataObject)); +#line 1509 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = _tmp17_; +#line 1509 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1509: Skipping loading preview of %s: invalid folder n" \ +"ame", _tmp18_); +#line 1509 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp18_); +#line 1511 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1511 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1511 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_source); +#line 1511 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + continue; +#line 10081 "ImportPage.c" + } +#line 1515 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + associated = NULL; +#line 1516 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = import_source; +#line 1516 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp20_, TYPE_PHOTO_IMPORT_SOURCE)) { +#line 10089 "ImportPage.c" + ImportSource* _tmp21_ = NULL; + PhotoImportSource* _tmp22_ = NULL; + PhotoImportSource* _tmp23_ = NULL; +#line 1517 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = import_source; +#line 1517 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = photo_import_source_get_associated (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource)); +#line 1517 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = _tmp22_; +#line 1517 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = _tmp23_ != NULL; +#line 1517 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp23_); +#line 10103 "ImportPage.c" + } else { +#line 1516 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = FALSE; +#line 10107 "ImportPage.c" + } +#line 1516 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp19_) { +#line 10111 "ImportPage.c" + ImportSource* _tmp24_ = NULL; + PhotoImportSource* _tmp25_ = NULL; +#line 1518 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = import_source; +#line 1518 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = photo_import_source_get_associated (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource)); +#line 1518 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (associated); +#line 1518 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + associated = _tmp25_; +#line 10122 "ImportPage.c" + } +#line 1521 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = self->priv->progress_bar; +#line 1521 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_ellipsize (_tmp26_, PANGO_ELLIPSIZE_MIDDLE); +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = self->priv->progress_bar; +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = _ ("Fetching preview for %s"); +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = import_source; +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_OBJECT, DataObject)); +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = _tmp30_; +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = g_strdup_printf (_tmp28_, _tmp31_); +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = _tmp32_; +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_text (_tmp27_, _tmp33_); +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp33_); +#line 1522 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp31_); +#line 1529 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + metadata = NULL; +#line 1530 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = filename; +#line 1530 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = video_reader_is_supported_video_filename (_tmp34_); +#line 1530 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp35_) { +#line 10156 "ImportPage.c" + { + PhotoMetadata* _tmp36_ = NULL; + GPSpinIdleWrapper* _tmp37_ = NULL; + GPContext* _tmp38_ = NULL; + Camera* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; + PhotoMetadata* _tmp42_ = NULL; + PhotoMetadata* _tmp43_ = NULL; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = import_page_spin_idle_context; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = self->priv->camera; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = fulldir; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = filename; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = gp_load_metadata (_tmp38_, _tmp39_, _tmp40_, _tmp41_, &_inner_error_); +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = _tmp42_; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10182 "ImportPage.c" + goto __catch65_g_error; + } +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = _tmp36_; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = NULL; +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (metadata); +#line 1532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + metadata = _tmp43_; +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (_tmp36_); +#line 10195 "ImportPage.c" + } + goto __finally65; + __catch65_g_error: + { + GError* err = NULL; + const gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + GError* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 1535 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = fulldir; +#line 1535 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = filename; +#line 1535 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = err; +#line 1535 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = _tmp46_->message; +#line 1535 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1535: Unable to fetch metadata for %s/%s: %s", _tmp44_, _tmp45_, _tmp47_); +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 10221 "ImportPage.c" + } + __finally65: +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (metadata); +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (associated); +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_source); +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_import_source_list); +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.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 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_clear_error (&_inner_error_); +#line 1531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 10244 "ImportPage.c" + } + } +#line 1541 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + exif_only_md5 = NULL; +#line 1542 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = metadata; +#line 1542 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp48_ != NULL) { +#line 10253 "ImportPage.c" + guint8* flattened_sans_thumbnail = NULL; + PhotoMetadata* _tmp49_ = NULL; + gint _tmp50_ = 0; + guint8* _tmp51_ = NULL; + gint flattened_sans_thumbnail_length1 = 0; + gint _flattened_sans_thumbnail_size_ = 0; + gboolean _tmp52_ = FALSE; + guint8* _tmp53_ = NULL; + gint _tmp53__length1 = 0; +#line 1543 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = metadata; +#line 1543 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = photo_metadata_flatten_exif (_tmp49_, FALSE, &_tmp50_); +#line 1543 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + flattened_sans_thumbnail = _tmp51_; +#line 1543 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + flattened_sans_thumbnail_length1 = _tmp50_; +#line 1543 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _flattened_sans_thumbnail_size_ = flattened_sans_thumbnail_length1; +#line 1544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = flattened_sans_thumbnail; +#line 1544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53__length1 = flattened_sans_thumbnail_length1; +#line 1544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp53_ != NULL) { +#line 10279 "ImportPage.c" + guint8* _tmp54_ = NULL; + gint _tmp54__length1 = 0; +#line 1544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = flattened_sans_thumbnail; +#line 1544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54__length1 = flattened_sans_thumbnail_length1; +#line 1544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = _tmp54__length1 > 0; +#line 10288 "ImportPage.c" + } else { +#line 1544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = FALSE; +#line 10292 "ImportPage.c" + } +#line 1544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp52_) { +#line 10296 "ImportPage.c" + guint8* _tmp55_ = NULL; + gint _tmp55__length1 = 0; + guint8* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gchar* _tmp57_ = NULL; +#line 1545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = flattened_sans_thumbnail; +#line 1545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55__length1 = flattened_sans_thumbnail_length1; +#line 1545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56_ = flattened_sans_thumbnail; +#line 1545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56__length1 = flattened_sans_thumbnail_length1; +#line 1545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp57_ = md5_binary (_tmp55_, (gsize) _tmp56__length1); +#line 1545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (exif_only_md5); +#line 1545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + exif_only_md5 = _tmp57_; +#line 10316 "ImportPage.c" + } +#line 1542 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + flattened_sans_thumbnail = (g_free (flattened_sans_thumbnail), NULL); +#line 10320 "ImportPage.c" + } +#line 1554 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw = NULL; +#line 1554 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw_length1 = 0; +#line 1554 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _preview_raw_size_ = preview_raw_length1; +#line 1555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw_length = (gsize) 0; +#line 1556 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview = NULL; +#line 10332 "ImportPage.c" + { + gchar* preview_fulldir = NULL; + const gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* preview_filename = NULL; + const gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + PhotoImportSource* _tmp62_ = NULL; + GdkPixbuf* _tmp67_ = NULL; + GPSpinIdleWrapper* _tmp68_ = NULL; + GPContext* _tmp69_ = NULL; + Camera* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; + guint8* _tmp73_ = NULL; + gint _tmp74_ = 0; + gsize _tmp75_ = 0UL; + GdkPixbuf* _tmp76_ = NULL; + GdkPixbuf* _tmp77_ = NULL; +#line 1558 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp58_ = fulldir; +#line 1558 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp59_ = g_strdup (_tmp58_); +#line 1558 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_fulldir = _tmp59_; +#line 1559 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp60_ = filename; +#line 1559 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp61_ = g_strdup (_tmp60_); +#line 1559 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_filename = _tmp61_; +#line 1560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp62_ = associated; +#line 1560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp62_ != NULL) { +#line 10368 "ImportPage.c" + PhotoImportSource* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + PhotoImportSource* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; +#line 1561 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp63_ = associated; +#line 1561 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp64_ = import_source_get_fulldir (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1561 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_fulldir); +#line 1561 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_fulldir = _tmp64_; +#line 1562 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp65_ = associated; +#line 1562 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp66_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1562 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_filename); +#line 1562 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_filename = _tmp66_; +#line 10389 "ImportPage.c" + } +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp68_ = import_page_spin_idle_context; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp69_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp70_ = self->priv->camera; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp71_ = preview_fulldir; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp72_ = preview_filename; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp76_ = gp_load_preview (_tmp69_, _tmp70_, _tmp71_, _tmp72_, &_tmp73_, &_tmp74_, &_tmp75_, &_inner_error_); +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw = (g_free (preview_raw), NULL); +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw = _tmp73_; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw_length1 = _tmp74_; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _preview_raw_size_ = preview_raw_length1; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw_length = _tmp75_; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp67_ = _tmp76_; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_filename); +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_fulldir); +#line 10421 "ImportPage.c" + goto __catch66_g_error; + } +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp77_ = _tmp67_; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp67_ = NULL; +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (preview); +#line 1564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview = _tmp77_; +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp67_); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_filename); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_fulldir); +#line 10438 "ImportPage.c" + } + goto __finally66; + __catch66_g_error: + { + GError* err = NULL; + const gchar* _tmp78_ = NULL; + gboolean _tmp79_ = FALSE; +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 1572 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp78_ = filename; +#line 1572 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp79_ = video_reader_is_supported_video_filename (_tmp78_); +#line 1572 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp79_) { +#line 10456 "ImportPage.c" + const gchar* _tmp80_ = NULL; + const gchar* _tmp81_ = NULL; + GError* _tmp82_ = NULL; + const gchar* _tmp83_ = NULL; +#line 1573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp80_ = fulldir; +#line 1573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp81_ = filename; +#line 1573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp82_ = err; +#line 1573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp83_ = _tmp82_->message; +#line 1573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1573: Unable to fetch preview for %s/%s: %s", _tmp80_, _tmp81_, _tmp83_); +#line 10471 "ImportPage.c" + } +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 10475 "ImportPage.c" + } + __finally66: +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (preview); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw = (g_free (preview_raw), NULL); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (exif_only_md5); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (metadata); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (associated); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_source); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_import_source_list); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.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 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_clear_error (&_inner_error_); +#line 1557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 10504 "ImportPage.c" + } +#line 1578 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_md5 = NULL; +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp86_ = preview; +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp86_ != NULL) { +#line 10512 "ImportPage.c" + guint8* _tmp87_ = NULL; + gint _tmp87__length1 = 0; +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp87_ = preview_raw; +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp87__length1 = preview_raw_length1; +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp85_ = _tmp87_ != NULL; +#line 10521 "ImportPage.c" + } else { +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp85_ = FALSE; +#line 10525 "ImportPage.c" + } +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp85_) { +#line 10529 "ImportPage.c" + gsize _tmp88_ = 0UL; +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp88_ = preview_raw_length; +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp84_ = _tmp88_ > ((gsize) 0); +#line 10535 "ImportPage.c" + } else { +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp84_ = FALSE; +#line 10539 "ImportPage.c" + } +#line 1579 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp84_) { +#line 10543 "ImportPage.c" + guint8* _tmp89_ = NULL; + gint _tmp89__length1 = 0; + gsize _tmp90_ = 0UL; + gchar* _tmp91_ = NULL; +#line 1580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp89_ = preview_raw; +#line 1580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp89__length1 = preview_raw_length1; +#line 1580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp90_ = preview_raw_length; +#line 1580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp91_ = md5_binary (_tmp89_, _tmp90_); +#line 1580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_md5); +#line 1580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_md5 = _tmp91_; +#line 10560 "ImportPage.c" + } +#line 1586 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp92_ = import_source; +#line 1586 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp92_, TYPE_VIDEO_IMPORT_SOURCE)) { +#line 10566 "ImportPage.c" + ImportSource* _tmp93_ = NULL; + GdkPixbuf* _tmp94_ = NULL; +#line 1587 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp93_ = import_source; +#line 1587 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp94_ = preview; +#line 1587 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + video_import_source_update (G_TYPE_CHECK_INSTANCE_TYPE (_tmp93_, TYPE_VIDEO_IMPORT_SOURCE) ? ((VideoImportSource*) _tmp93_) : NULL, _tmp94_); +#line 10575 "ImportPage.c" + } +#line 1589 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp95_ = import_source; +#line 1589 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp95_, TYPE_PHOTO_IMPORT_SOURCE)) { +#line 10581 "ImportPage.c" + ImportSource* _tmp96_ = NULL; + GdkPixbuf* _tmp97_ = NULL; + const gchar* _tmp98_ = NULL; + PhotoMetadata* _tmp99_ = NULL; + const gchar* _tmp100_ = NULL; +#line 1590 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp96_ = import_source; +#line 1590 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp97_ = preview; +#line 1590 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp98_ = preview_md5; +#line 1590 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp99_ = metadata; +#line 1590 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp100_ = exif_only_md5; +#line 1590 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_import_source_update (G_TYPE_CHECK_INSTANCE_TYPE (_tmp96_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp96_) : NULL, _tmp97_, _tmp98_, _tmp99_, _tmp100_); +#line 10599 "ImportPage.c" + } +#line 1593 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp101_ = associated; +#line 1593 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp101_ != NULL) { +#line 10605 "ImportPage.c" + { + PhotoMetadata* associated_metadata = NULL; + GPSpinIdleWrapper* _tmp102_ = NULL; + GPContext* _tmp103_ = NULL; + Camera* _tmp104_ = NULL; + PhotoImportSource* _tmp105_ = NULL; + gchar* _tmp106_ = NULL; + gchar* _tmp107_ = NULL; + PhotoImportSource* _tmp108_ = NULL; + gchar* _tmp109_ = NULL; + gchar* _tmp110_ = NULL; + PhotoMetadata* _tmp111_ = NULL; + PhotoMetadata* _tmp112_ = NULL; + PhotoImportSource* _tmp113_ = NULL; + GdkPixbuf* _tmp114_ = NULL; + const gchar* _tmp115_ = NULL; + PhotoMetadata* _tmp116_ = NULL; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp102_ = import_page_spin_idle_context; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp103_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp102_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp104_ = self->priv->camera; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp105_ = associated; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp106_ = import_source_get_fulldir (G_TYPE_CHECK_INSTANCE_CAST (_tmp105_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp107_ = _tmp106_; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp108_ = associated; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp109_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp108_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp110_ = _tmp109_; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp111_ = gp_load_metadata (_tmp103_, _tmp104_, _tmp107_, _tmp110_, &_inner_error_); +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp112_ = _tmp111_; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp110_); +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp107_); +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + associated_metadata = _tmp112_; +#line 1595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10653 "ImportPage.c" + goto __catch67_g_error; + } +#line 1597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp113_ = associated; +#line 1597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp114_ = preview; +#line 1597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp115_ = preview_md5; +#line 1597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp116_ = associated_metadata; +#line 1597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_import_source_update (_tmp113_, _tmp114_, _tmp115_, _tmp116_, NULL); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (associated_metadata); +#line 10668 "ImportPage.c" + } + goto __finally67; + __catch67_g_error: + { + GError* err = NULL; + PhotoImportSource* _tmp117_ = NULL; + gchar* _tmp118_ = NULL; + gchar* _tmp119_ = NULL; + PhotoImportSource* _tmp120_ = NULL; + gchar* _tmp121_ = NULL; + gchar* _tmp122_ = NULL; + GError* _tmp123_ = NULL; + const gchar* _tmp124_ = NULL; +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp117_ = associated; +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp118_ = import_source_get_fulldir (G_TYPE_CHECK_INSTANCE_CAST (_tmp117_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp119_ = _tmp118_; +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp120_ = associated; +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp121_ = import_source_get_filename (G_TYPE_CHECK_INSTANCE_CAST (_tmp120_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp122_ = _tmp121_; +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp123_ = err; +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp124_ = _tmp123_->message; +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:1599: Unable to fetch metadata for %s/%s: %s", _tmp119_, _tmp122_, _tmp124_); +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp122_); +#line 1599 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp119_); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 10710 "ImportPage.c" + } + __finally67: +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_md5); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (preview); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw = (g_free (preview_raw), NULL); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (exif_only_md5); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (metadata); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (associated); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_source); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_import_source_list); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.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 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_clear_error (&_inner_error_); +#line 1594 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 10741 "ImportPage.c" + } + } +#line 1605 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp125_ = self->priv->import_sources; +#line 1605 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp126_ = import_source; +#line 1605 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp125_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp126_, TYPE_DATA_OBJECT, DataObject)); +#line 1607 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp127_ = self->priv->progress_bar; +#line 1607 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp128_ = loaded_photos; +#line 1607 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + loaded_photos = _tmp128_ + 1; +#line 1607 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp129_ = loaded_photos; +#line 1607 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp130_ = import_list; +#line 1607 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp131_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp130_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1607 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp132_ = _tmp131_; +#line 1607 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_progress_bar_set_fraction (_tmp127_, ((gdouble) _tmp129_) / ((gdouble) _tmp132_)); +#line 1614 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + spin_event_loop (); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (preview_md5); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (preview); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview_raw = (g_free (preview_raw), NULL); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (exif_only_md5); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (metadata); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (associated); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (fulldir); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (filename); +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_source); +#line 10786 "ImportPage.c" + } +#line 1505 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_import_source_list); +#line 10790 "ImportPage.c" + } +} + + +static void import_page_on_hide_imported (ImportPage* self) { + GtkCheckButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp8_ = NULL; + ConfigFacade* _tmp9_ = NULL; + GtkCheckButton* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 1618 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1619 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->hide_imported; +#line 1619 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1619 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp1_) { +#line 10810 "ImportPage.c" + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ImportPageHideImportedViewFilter* _tmp4_ = NULL; +#line 1620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp2_; +#line 1620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = self->priv->hide_imported_filter; +#line 1620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + view_collection_install_view_filter (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_VIEW_FILTER, ViewFilter)); +#line 1620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp3_); +#line 10824 "ImportPage.c" + } else { + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ImportPageHideImportedViewFilter* _tmp7_ = NULL; +#line 1622 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1622 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_; +#line 1622 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = self->priv->hide_imported_filter; +#line 1622 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + view_collection_remove_view_filter (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_VIEW_FILTER, ViewFilter)); +#line 1622 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp6_); +#line 10839 "ImportPage.c" + } +#line 1624 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = config_facade_get_instance (); +#line 1624 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _tmp8_; +#line 1624 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = self->priv->hide_imported; +#line 1624 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 1624 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + configuration_facade_set_hide_photos_already_imported (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp11_); +#line 1624 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp9_); +#line 10853 "ImportPage.c" +} + + +static void import_page_on_import_selected (ImportPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; +#line 1627 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1628 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1628 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 1628 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = view_collection_get_selected (_tmp1_); +#line 1628 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp2_; +#line 1628 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_import (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1628 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 1628 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp1_); +#line 10878 "ImportPage.c" +} + + +static void import_page_on_import_all (ImportPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#line 1631 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 1632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _tmp0_; +#line 1632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp2_; +#line 1632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_import (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 1632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (_tmp1_); +#line 10903 "ImportPage.c" +} + + +static gint64 _import_page_import_job_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = import_page_import_job_comparator ((ImportPage*) self, a, b); +#line 1648 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 10912 "ImportPage.c" +} + + +static void _import_page_import_reporter_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) { +#line 1684 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_import_reporter ((ImportPage*) self, manifest); +#line 10919 "ImportPage.c" +} + + +static void _import_page_on_import_job_failed_batch_import_import_job_failed (BatchImport* _sender, BatchImportResult* _result_, gpointer self) { +#line 1686 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_import_job_failed ((ImportPage*) self, _result_); +#line 10926 "ImportPage.c" +} + + +static void _import_page_close_import_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) { +#line 1687 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_close_import ((ImportPage*) self); +#line 10933 "ImportPage.c" +} + + +static void import_page_import (ImportPage* self, GeeIterable* items) { + int res = 0; + Camera* _tmp0_ = NULL; + GPSpinIdleWrapper* _tmp1_ = NULL; + GPContext* _tmp2_ = NULL; + int _tmp3_ = 0; + int _tmp4_ = 0; + gboolean _tmp11_ = FALSE; + GtkProgressBar* _tmp12_ = NULL; + SortedList* jobs = NULL; + SortedList* _tmp13_ = NULL; + GeeArrayList* already_imported = NULL; + GeeArrayList* _tmp14_ = NULL; + SortedList* _tmp55_ = NULL; + gint _tmp56_ = 0; + gint _tmp57_ = 0; + const gchar* _tmp58_ = NULL; + SortedList* _tmp59_ = NULL; + gint _tmp60_ = 0; + gint _tmp61_ = 0; +#line 1635 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1635 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (GEE_IS_ITERABLE (items)); +#line 1636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->camera; +#line 1636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_page_spin_idle_context; +#line 1636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = gp_camera_init (_tmp0_, _tmp2_); +#line 1636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + res = _tmp3_; +#line 1637 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = res; +#line 1637 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp4_ != GP_OK) { +#line 10975 "ImportPage.c" + const gchar* _tmp5_ = NULL; + int _tmp6_ = 0; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _ ("Unable to lock camera: %s"); +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = res; +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = gp_result_to_full_string (_tmp6_); +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _tmp7_; +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = g_strdup_printf (_tmp5_, _tmp8_); +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = _tmp9_; +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + app_window_error_message (_tmp10_, NULL); +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp10_); +#line 1638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp8_); +#line 1640 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 11002 "ImportPage.c" + } +#line 1643 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = self->priv->refreshed; +#line 1643 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, TRUE, _tmp11_); +#line 1645 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed (self); +#line 1646 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = self->priv->progress_bar; +#line 1646 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 1648 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = sorted_list_new (IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, _import_page_import_job_comparator_comparator, self); +#line 1648 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + jobs = _tmp13_; +#line 1649 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = gee_array_list_new (IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL); +#line 1649 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + already_imported = _tmp14_; +#line 11022 "ImportPage.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = items; +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = gee_iterable_iterator (_tmp15_); +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _object_it = _tmp16_; +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 11035 "ImportPage.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + ImportPreview* preview = NULL; + DataObject* _tmp21_ = NULL; + ImportPreview* _tmp22_ = NULL; + ImportSource* import_file = NULL; + ImportPreview* _tmp23_ = NULL; + DataSource* _tmp24_ = NULL; + ImportPreview* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + ImportPageCameraImportJob* import_job = NULL; + GPContextWrapper* _tmp38_ = NULL; + ImportSource* _tmp39_ = NULL; + ImportPageCameraImportJob* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; + ImportSource* _tmp42_ = NULL; + SortedList* _tmp53_ = NULL; + ImportPageCameraImportJob* _tmp54_ = NULL; +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = _object_it; +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp18_) { +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 11065 "ImportPage.c" + } +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = _object_it; +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + object = (DataObject*) _tmp20_; +#line 1652 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = object; +#line 1652 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_IMPORT_PREVIEW, ImportPreview)); +#line 1652 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + preview = _tmp22_; +#line 1653 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = preview; +#line 1653 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_VIEW, DataView)); +#line 1653 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_file = G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_IMPORT_SOURCE, ImportSource); +#line 1655 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = preview; +#line 1655 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = import_preview_is_already_imported (_tmp25_); +#line 1655 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp26_) { +#line 11091 "ImportPage.c" + ImportSource* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + GeeArrayList* _tmp30_ = NULL; + GPContextWrapper* _tmp31_ = NULL; + ImportSource* _tmp32_ = NULL; + ImportPreview* _tmp33_ = NULL; + DuplicatedFile* _tmp34_ = NULL; + DuplicatedFile* _tmp35_ = NULL; + ImportPageCameraImportJob* _tmp36_ = NULL; + ImportPageCameraImportJob* _tmp37_ = NULL; +#line 1656 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = import_file; +#line 1656 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = import_source_get_filename (_tmp27_); +#line 1656 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = _tmp28_; +#line 1656 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_message ("ImportPage.vala:1656: Skipping import of %s: checksum detected in libr" \ +"ary", _tmp29_); +#line 1656 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp29_); +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = already_imported; +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = import_page_null_context; +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = import_file; +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = preview; +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = import_preview_get_duplicated_file (_tmp33_); +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = _tmp34_; +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = import_page_camera_import_job_new (_tmp31_, _tmp32_, _tmp35_); +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = _tmp36_; +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp37_); +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_import_job_unref0 (_tmp37_); +#line 1659 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp35_); +#line 1662 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_file); +#line 1662 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (preview); +#line 1662 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (object); +#line 1662 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + continue; +#line 11143 "ImportPage.c" + } +#line 1665 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = import_page_null_context; +#line 1665 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = import_file; +#line 1665 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = import_page_camera_import_job_new (_tmp38_, _tmp39_, NULL); +#line 1665 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_job = _tmp40_; +#line 1668 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = import_file; +#line 1668 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp42_, TYPE_PHOTO_IMPORT_SOURCE)) { +#line 11157 "ImportPage.c" + ImportSource* _tmp43_ = NULL; + PhotoImportSource* _tmp44_ = NULL; + PhotoImportSource* _tmp45_ = NULL; +#line 1669 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = import_file; +#line 1669 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = photo_import_source_get_associated (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource)); +#line 1669 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = _tmp44_; +#line 1669 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = _tmp45_ != NULL; +#line 1669 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp45_); +#line 11171 "ImportPage.c" + } else { +#line 1668 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = FALSE; +#line 11175 "ImportPage.c" + } +#line 1668 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp41_) { +#line 11179 "ImportPage.c" + ImportPageCameraImportJob* _tmp46_ = NULL; + GPContextWrapper* _tmp47_ = NULL; + ImportSource* _tmp48_ = NULL; + PhotoImportSource* _tmp49_ = NULL; + PhotoImportSource* _tmp50_ = NULL; + ImportPageCameraImportJob* _tmp51_ = NULL; + ImportPageCameraImportJob* _tmp52_ = NULL; +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = import_job; +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = import_page_null_context; +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = import_file; +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = photo_import_source_get_associated (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_PHOTO_IMPORT_SOURCE, PhotoImportSource)); +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = _tmp49_; +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = import_page_camera_import_job_new (_tmp47_, G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_IMPORT_SOURCE, ImportSource), NULL); +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = _tmp51_; +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + batch_import_job_set_associated (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_BATCH_IMPORT_JOB, BatchImportJob), G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_BATCH_IMPORT_JOB, BatchImportJob)); +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_import_job_unref0 (_tmp52_); +#line 1670 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp50_); +#line 11207 "ImportPage.c" + } +#line 1674 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = jobs; +#line 1674 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = import_job; +#line 1674 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_COLLECTION, GeeCollection), _tmp54_); +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_import_job_unref0 (import_job); +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (import_file); +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (preview); +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (object); +#line 11223 "ImportPage.c" + } +#line 1651 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_object_it); +#line 11227 "ImportPage.c" + } +#line 1677 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = jobs; +#line 1677 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1677 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp57_ = _tmp56_; +#line 1677 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp58_ = self->priv->camera_name; +#line 1677 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_debug ("ImportPage.vala:1677: Importing %d files from %s", _tmp57_, _tmp58_); +#line 1679 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp59_ = jobs; +#line 1679 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp60_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp59_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1679 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp61_ = _tmp60_; +#line 1679 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp61_ > 0) { +#line 11247 "ImportPage.c" + ImportPage* _tmp62_ = NULL; + ImportPage* _tmp63_ = NULL; + BatchImport* batch_import = NULL; + SortedList* _tmp64_ = NULL; + const gchar* _tmp65_ = NULL; + GeeArrayList* _tmp66_ = NULL; + BatchImport* _tmp67_ = NULL; + BatchImport* _tmp68_ = NULL; + BatchImport* _tmp69_ = NULL; + LibraryWindow* _tmp70_ = NULL; + LibraryWindow* _tmp71_ = NULL; + BatchImport* _tmp72_ = NULL; + LibraryWindow* _tmp73_ = NULL; + LibraryWindow* _tmp74_ = NULL; +#line 1681 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp62_ = self->priv->local_ref; +#line 1681 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_assert (_tmp62_ == NULL, "local_ref == null"); +#line 1682 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp63_ = _g_object_ref0 (self); +#line 1682 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->local_ref); +#line 1682 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->local_ref = _tmp63_; +#line 1684 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp64_ = jobs; +#line 1684 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp65_ = self->priv->camera_name; +#line 1684 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp66_ = already_imported; +#line 1684 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp67_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, GEE_TYPE_ITERABLE, GeeIterable), _tmp65_, _import_page_import_reporter_batch_import_import_reporter, self, NULL, _tmp66_, NULL, NULL, NULL); +#line 1684 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + batch_import = _tmp67_; +#line 1686 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp68_ = batch_import; +#line 1686 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (_tmp68_, "import-job-failed", (GCallback) _import_page_on_import_job_failed_batch_import_import_job_failed, self, 0); +#line 1687 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp69_ = batch_import; +#line 1687 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_connect_object (_tmp69_, "import-complete", (GCallback) _import_page_close_import_batch_import_import_complete, self, 0); +#line 1689 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp70_ = library_window_get_app (); +#line 1689 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp71_ = _tmp70_; +#line 1689 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp72_ = batch_import; +#line 1689 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + library_window_enqueue_batch_import (_tmp71_, _tmp72_, TRUE); +#line 1689 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp71_); +#line 1690 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp73_ = library_window_get_app (); +#line 1690 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp74_ = _tmp73_; +#line 1690 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + library_window_switch_to_import_queue_page (_tmp74_); +#line 1690 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp74_); +#line 1679 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (batch_import); +#line 11310 "ImportPage.c" + } else { + GeeArrayList* _tmp75_ = NULL; + gint _tmp76_ = 0; + gint _tmp77_ = 0; +#line 1694 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp75_ = already_imported; +#line 1694 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp76_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1694 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp77_ = _tmp76_; +#line 1694 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp77_ > 0) { +#line 11323 "ImportPage.c" + GeeArrayList* _tmp78_ = NULL; + ImportManifest* _tmp79_ = NULL; + ImportManifest* _tmp80_ = NULL; +#line 1695 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp78_ = already_imported; +#line 1695 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp79_ = import_manifest_new (NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, GEE_TYPE_LIST, GeeList)); +#line 1695 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp80_ = _tmp79_; +#line 1695 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_import_reporter (self, _tmp80_); +#line 1695 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _import_manifest_unref0 (_tmp80_); +#line 11337 "ImportPage.c" + } +#line 1697 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_close_import (self); +#line 11341 "ImportPage.c" + } +#line 1635 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (already_imported); +#line 1635 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (jobs); +#line 11347 "ImportPage.c" +} + + +static void import_page_on_import_job_failed (ImportPage* self, BatchImportResult* _result_) { + gboolean _tmp0_ = FALSE; + BatchImportResult* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 1701 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1701 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_BATCH_IMPORT_RESULT (_result_)); +#line 1702 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _result_; +#line 1702 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp1_->file; +#line 1702 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_ == NULL) { +#line 1702 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = TRUE; +#line 11368 "ImportPage.c" + } else { + BatchImportResult* _tmp3_ = NULL; + ImportResult _tmp4_ = 0; +#line 1702 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _result_; +#line 1702 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = _tmp3_->result; +#line 1702 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp4_ == IMPORT_RESULT_SUCCESS; +#line 11378 "ImportPage.c" + } +#line 1702 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp0_) { +#line 1703 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 11384 "ImportPage.c" + } + { + BatchImportResult* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 1707 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _result_; +#line 1707 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp5_->file; +#line 1707 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_file_delete (_tmp6_, NULL, &_inner_error_); +#line 1707 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 11397 "ImportPage.c" + goto __catch68_g_error; + } + } + goto __finally68; + __catch68_g_error: + { + GError* err = NULL; + BatchImportResult* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 1706 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 1706 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 1709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _result_; +#line 1709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _tmp7_->file; +#line 1709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = g_file_get_path (_tmp8_); +#line 1709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = _tmp9_; +#line 1709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = err; +#line 1709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = _tmp11_->message; +#line 1709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_message ("ImportPage.vala:1709: Unable to delete downloaded file %s: %s", _tmp10_, _tmp12_); +#line 1709 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp10_); +#line 1706 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 11433 "ImportPage.c" + } + __finally68: +#line 1706 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1706 "/home/jens/Source/shotwell/src/camera/ImportPage.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 1706 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_clear_error (&_inner_error_); +#line 1706 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 11444 "ImportPage.c" + } +} + + +static gpointer _batch_import_job_ref0 (gpointer self) { +#line 1753 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self ? batch_import_job_ref (self) : NULL; +#line 11452 "ImportPage.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 1760 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 11461 "ImportPage.c" +} + + +static void import_page_import_reporter (ImportPage* self, ImportManifest* manifest) { + ImportPage* local_ref = NULL; + ImportPage* _tmp0_ = NULL; + ImportPage* _tmp1_ = NULL; + ImportManifest* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + Marker* marker = NULL; + SourceCollection* _tmp60_ = NULL; + Marker* _tmp61_ = NULL; + ProgressDialog* progress = NULL; + AppWindow* _tmp81_ = NULL; + AppWindow* _tmp82_ = NULL; + const gchar* _tmp83_ = NULL; + GCancellable* _tmp84_ = NULL; + GCancellable* _tmp85_ = NULL; + ProgressDialog* _tmp86_ = NULL; + ProgressDialog* _tmp87_ = NULL; + gint error_count = 0; + SourceCollection* _tmp88_ = NULL; + Marker* _tmp89_ = NULL; + ProgressDialog* _tmp90_ = NULL; + gint _tmp91_ = 0; + gint _tmp92_ = 0; + ProgressDialog* _tmp98_ = NULL; +#line 1713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_MANIFEST (manifest)); +#line 1719 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->local_ref; +#line 1719 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 1719 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + local_ref = _tmp1_; +#line 1720 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->local_ref); +#line 1720 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->local_ref = NULL; +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = manifest; +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _tmp2_->success; +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _tmp4_; +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp5_ > 0) { +#line 11515 "ImportPage.c" + gchar* photos_string = NULL; + ImportManifest* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + ImportManifest* _tmp11_ = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gchar* _tmp15_ = NULL; + gchar* videos_string = NULL; + ImportManifest* _tmp16_ = NULL; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + const gchar* _tmp20_ = NULL; + ImportManifest* _tmp21_ = NULL; + GeeList* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gchar* _tmp25_ = NULL; + gchar* both_string = NULL; + ImportManifest* _tmp26_ = NULL; + GeeList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + const gchar* _tmp30_ = NULL; + ImportManifest* _tmp31_ = NULL; + GeeList* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + gchar* _tmp35_ = NULL; + gchar* neither_string = NULL; + ImportManifest* _tmp36_ = NULL; + GeeList* _tmp37_ = NULL; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + const gchar* _tmp40_ = NULL; + ImportManifest* _tmp41_ = NULL; + GeeList* _tmp42_ = NULL; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + gchar* _tmp45_ = NULL; + gchar* question_string = NULL; + ImportManifest* _tmp46_ = NULL; + GeeList* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + ImportUIQuestionParams* question = NULL; + const gchar* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + ImportUIQuestionParams* _tmp55_ = NULL; + ImportManifest* _tmp56_ = NULL; + ImportUIQuestionParams* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = manifest; +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _tmp6_->success; +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _tmp8_; +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = ngettext ("Delete this photo from camera?", "Delete these %d photos from camera?", (gulong) _tmp9_); +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = manifest; +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = _tmp11_->success; +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = _tmp13_; +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = g_strdup_printf (_tmp10_, _tmp14_); +#line 1723 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photos_string = _tmp15_; +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = manifest; +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = _tmp16_->success; +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = _tmp18_; +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = ngettext ("Delete this video from camera?", "Delete these %d videos from camera?", (gulong) _tmp19_); +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = manifest; +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = _tmp21_->success; +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = _tmp23_; +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = g_strdup_printf (_tmp20_, _tmp24_); +#line 1726 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + videos_string = _tmp25_; +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = manifest; +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = _tmp26_->success; +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = _tmp28_; +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = ngettext ("Delete this photo/video from camera?", "Delete these %d photos/videos from camera?", (gulong) _tmp29_); +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = manifest; +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = _tmp31_->success; +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = _tmp33_; +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = g_strdup_printf (_tmp30_, _tmp34_); +#line 1729 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + both_string = _tmp35_; +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = manifest; +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = _tmp36_->success; +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = _tmp38_; +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = ngettext ("Delete these files from camera?", "Delete these %d files from camera?", (gulong) _tmp39_); +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = manifest; +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = _tmp41_->success; +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = _tmp43_; +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = g_strdup_printf (_tmp40_, _tmp44_); +#line 1732 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + neither_string = _tmp45_; +#line 1736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = manifest; +#line 1736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = _tmp46_->success; +#line 1736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = photos_string; +#line 1736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = videos_string; +#line 1736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = both_string; +#line 1736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = neither_string; +#line 1736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = import_ui_get_media_specific_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GEE_TYPE_COLLECTION, GeeCollection), _tmp48_, _tmp49_, _tmp50_, _tmp51_); +#line 1736 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + question_string = _tmp52_; +#line 1739 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = question_string; +#line 1739 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = _ ("_Keep"); +#line 1739 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = import_ui_question_params_new (_tmp53_, RESOURCES_DELETE_LABEL, _tmp54_); +#line 1739 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + question = _tmp55_; +#line 1742 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56_ = manifest; +#line 1742 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp57_ = question; +#line 1742 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp58_ = import_ui_report_manifest (_tmp56_, FALSE, _tmp57_); +#line 1742 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp58_) { +#line 1743 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _import_ui_question_params_unref0 (question); +#line 1743 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (question_string); +#line 1743 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (neither_string); +#line 1743 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (both_string); +#line 1743 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (videos_string); +#line 1743 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (photos_string); +#line 1743 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (local_ref); +#line 1743 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 11711 "ImportPage.c" + } +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _import_ui_question_params_unref0 (question); +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (question_string); +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (neither_string); +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (both_string); +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (videos_string); +#line 1722 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (photos_string); +#line 11725 "ImportPage.c" + } else { + ImportManifest* _tmp59_ = NULL; +#line 1745 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp59_ = manifest; +#line 1745 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_ui_report_manifest (_tmp59_, FALSE, NULL); +#line 1746 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (local_ref); +#line 1746 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return; +#line 11736 "ImportPage.c" + } +#line 1751 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp60_ = self->priv->import_sources; +#line 1751 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp61_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_DATA_COLLECTION, DataCollection)); +#line 1751 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + marker = _tmp61_; +#line 11744 "ImportPage.c" + { + GeeList* _batch_result_list = NULL; + ImportManifest* _tmp62_ = NULL; + GeeList* _tmp63_ = NULL; + GeeList* _tmp64_ = NULL; + gint _batch_result_size = 0; + GeeList* _tmp65_ = NULL; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint _batch_result_index = 0; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp62_ = manifest; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp63_ = _tmp62_->success; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp64_ = _g_object_ref0 (_tmp63_); +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_result_list = _tmp64_; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp65_ = _batch_result_list; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp66_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp67_ = _tmp66_; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_result_size = _tmp67_; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_result_index = -1; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + while (TRUE) { +#line 11775 "ImportPage.c" + gint _tmp68_ = 0; + gint _tmp69_ = 0; + gint _tmp70_ = 0; + BatchImportResult* batch_result = NULL; + GeeList* _tmp71_ = NULL; + gint _tmp72_ = 0; + gpointer _tmp73_ = NULL; + ImportPageCameraImportJob* job = NULL; + BatchImportResult* _tmp74_ = NULL; + BatchImportJob* _tmp75_ = NULL; + ImportPageCameraImportJob* _tmp76_ = NULL; + Marker* _tmp77_ = NULL; + ImportPageCameraImportJob* _tmp78_ = NULL; + ImportSource* _tmp79_ = NULL; + ImportSource* _tmp80_ = NULL; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp68_ = _batch_result_index; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_result_index = _tmp68_ + 1; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp69_ = _batch_result_index; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp70_ = _batch_result_size; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!(_tmp69_ < _tmp70_)) { +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + break; +#line 11803 "ImportPage.c" + } +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp71_ = _batch_result_list; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp72_ = _batch_result_index; +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp73_ = gee_list_get (_tmp71_, _tmp72_); +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + batch_result = (BatchImportResult*) _tmp73_; +#line 1753 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp74_ = batch_result; +#line 1753 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp75_ = _tmp74_->job; +#line 1753 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp76_ = _batch_import_job_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp75_, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB) ? ((ImportPageCameraImportJob*) _tmp75_) : NULL); +#line 1753 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + job = _tmp76_; +#line 1755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp77_ = marker; +#line 1755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp78_ = job; +#line 1755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp79_ = import_page_camera_import_job_get_source (_tmp78_); +#line 1755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp80_ = _tmp79_; +#line 1755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + marker_mark (_tmp77_, G_TYPE_CHECK_INSTANCE_CAST (_tmp80_, TYPE_DATA_OBJECT, DataObject)); +#line 1755 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp80_); +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_import_job_unref0 (job); +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_import_result_unref0 (batch_result); +#line 11837 "ImportPage.c" + } +#line 1752 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_batch_result_list); +#line 11841 "ImportPage.c" + } +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp81_ = app_window_get_instance (); +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp82_ = _tmp81_; +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp83_ = _ ("Removing photos/videos from camera"); +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp84_ = g_cancellable_new (); +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp85_ = _tmp84_; +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp86_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp82_, gtk_window_get_type (), GtkWindow), _tmp83_, _tmp85_); +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp86_); +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp87_ = _tmp86_; +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp85_); +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp82_); +#line 1758 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + progress = _tmp87_; +#line 1760 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp88_ = self->priv->import_sources; +#line 1760 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp89_ = marker; +#line 1760 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp90_ = progress; +#line 1760 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp91_ = source_collection_destroy_marked (_tmp88_, _tmp89_, TRUE, _progress_dialog_monitor_progress_monitor, _tmp90_, NULL); +#line 1760 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + error_count = _tmp91_; +#line 1761 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp92_ = error_count; +#line 1761 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp92_ > 0) { +#line 11879 "ImportPage.c" + gchar* error_string = NULL; + gint _tmp93_ = 0; + const gchar* _tmp94_ = NULL; + gint _tmp95_ = 0; + gchar* _tmp96_ = NULL; + const gchar* _tmp97_ = NULL; +#line 1762 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp93_ = error_count; +#line 1762 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp94_ = ngettext ("Unable to delete %d photo/video from the camera due to errors.", "Unable to delete %d photos/videos from the camera due to errors.", (gulong) _tmp93_); +#line 1762 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp95_ = error_count; +#line 1762 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp96_ = g_strdup_printf (_tmp94_, _tmp95_); +#line 1762 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + error_string = _tmp96_; +#line 1766 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp97_ = error_string; +#line 1766 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + app_window_error_message (_tmp97_, NULL); +#line 1761 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (error_string); +#line 11902 "ImportPage.c" + } +#line 1769 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp98_ = progress; +#line 1769 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + progress_dialog_close (_tmp98_); +#line 1772 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (local_ref); +#line 1772 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + local_ref = NULL; +#line 1713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (progress); +#line 1713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (marker); +#line 1713 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (local_ref); +#line 11918 "ImportPage.c" +} + + +static void import_page_close_import (ImportPage* self) { + int res = 0; + Camera* _tmp0_ = NULL; + GPSpinIdleWrapper* _tmp1_ = NULL; + GPContext* _tmp2_ = NULL; + int _tmp3_ = 0; + int _tmp4_ = 0; + gboolean _tmp8_ = FALSE; +#line 1775 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_IMPORT_PAGE (self)); +#line 1776 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->camera; +#line 1776 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_page_spin_idle_context; +#line 1776 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GP_TYPE_CONTEXT_WRAPPER, GPContextWrapper)->context; +#line 1776 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = gp_camera_exit (_tmp0_, _tmp2_); +#line 1776 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + res = _tmp3_; +#line 1777 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = res; +#line 1777 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp4_ != GP_OK) { +#line 11946 "ImportPage.c" + int _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = res; +#line 1779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = gp_result_to_full_string (_tmp5_); +#line 1779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _tmp6_; +#line 1779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_message ("ImportPage.vala:1779: Unable to unlock camera: %s", _tmp7_); +#line 1779 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp7_); +#line 11960 "ImportPage.c" + } +#line 1782 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = self->priv->refreshed; +#line 1782 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_update_status (self, FALSE, _tmp8_); +#line 1784 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_on_view_changed (self); +#line 11968 "ImportPage.c" +} + + +static void import_page_real_set_display_titles (CheckerboardPage* base, gboolean display) { + ImportPage * self; + gboolean _tmp0_ = FALSE; + GtkToggleAction* action = NULL; + GtkAction* _tmp1_ = NULL; + GtkToggleAction* _tmp2_ = NULL; + GtkToggleAction* _tmp3_ = NULL; +#line 1787 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 1788 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = display; +#line 1788 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + CHECKERBOARD_PAGE_CLASS (import_page_parent_class)->set_display_titles (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), _tmp0_); +#line 1790 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ViewTitle"); +#line 1790 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp1_) : NULL; +#line 1790 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_ == NULL) { +#line 1790 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp1_); +#line 11993 "ImportPage.c" + } +#line 1790 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + action = _tmp2_; +#line 1791 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = action; +#line 1791 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp3_ != NULL) { +#line 12001 "ImportPage.c" + GtkToggleAction* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1792 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = action; +#line 1792 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = display; +#line 1792 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gtk_toggle_action_set_active (_tmp4_, _tmp5_); +#line 12010 "ImportPage.c" + } +#line 1787 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (action); +#line 12014 "ImportPage.c" +} + + +static gpointer _view_filter_ref0 (gpointer self) { +#line 1797 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self ? view_filter_ref (self) : NULL; +#line 12021 "ImportPage.c" +} + + +static SearchViewFilter* import_page_real_get_search_view_filter (CheckerboardPage* base) { + ImportPage * self; + SearchViewFilter* result = NULL; + ImportPageImportPageSearchViewFilter* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; +#line 1796 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_PAGE, ImportPage); +#line 1797 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->search_filter; +#line 1797 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 1797 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 1797 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12040 "ImportPage.c" +} + + +static ImportPageImportViewManager* import_page_import_view_manager_construct (GType object_type, ImportPage* owner) { + ImportPageImportViewManager* self = NULL; + ImportPage* _tmp0_ = NULL; + ImportPage* _tmp1_ = NULL; +#line 463 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_PAGE (owner), NULL); +#line 463 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (ImportPageImportViewManager*) view_manager_construct (object_type); +#line 464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = owner; +#line 464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->owner); +#line 464 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->owner = _tmp1_; +#line 463 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 12062 "ImportPage.c" +} + + +static ImportPageImportViewManager* import_page_import_view_manager_new (ImportPage* owner) { +#line 463 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return import_page_import_view_manager_construct (IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER, owner); +#line 12069 "ImportPage.c" +} + + +static DataView* import_page_import_view_manager_real_create_view (ViewManager* base, DataSource* source) { + ImportPageImportViewManager * self; + DataView* result = NULL; + DataSource* _tmp0_ = NULL; + ImportPreview* _tmp1_ = NULL; +#line 467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER, ImportPageImportViewManager); +#line 467 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 468 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = source; +#line 468 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_preview_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_IMPORT_SOURCE, ImportSource)); +#line 468 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_VIEW, DataView); +#line 468 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12090 "ImportPage.c" +} + + +static void import_page_import_view_manager_class_init (ImportPageImportViewManagerClass * klass) { +#line 460 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_import_view_manager_parent_class = g_type_class_peek_parent (klass); +#line 460 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ViewManagerClass *) klass)->finalize = import_page_import_view_manager_finalize; +#line 460 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_type_class_add_private (klass, sizeof (ImportPageImportViewManagerPrivate)); +#line 460 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ViewManagerClass *) klass)->create_view = import_page_import_view_manager_real_create_view; +#line 12103 "ImportPage.c" +} + + +static void import_page_import_view_manager_instance_init (ImportPageImportViewManager * self) { +#line 460 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv = IMPORT_PAGE_IMPORT_VIEW_MANAGER_GET_PRIVATE (self); +#line 12110 "ImportPage.c" +} + + +static void import_page_import_view_manager_finalize (ViewManager* obj) { + ImportPageImportViewManager * self; +#line 460 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, IMPORT_PAGE_TYPE_IMPORT_VIEW_MANAGER, ImportPageImportViewManager); +#line 461 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->owner); +#line 460 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + VIEW_MANAGER_CLASS (import_page_import_view_manager_parent_class)->finalize (obj); +#line 12122 "ImportPage.c" +} + + +static GType import_page_import_view_manager_get_type (void) { + static volatile gsize import_page_import_view_manager_type_id__volatile = 0; + if (g_once_init_enter (&import_page_import_view_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportPageImportViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_page_import_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportPageImportViewManager), 0, (GInstanceInitFunc) import_page_import_view_manager_instance_init, NULL }; + GType import_page_import_view_manager_type_id; + import_page_import_view_manager_type_id = g_type_register_static (TYPE_VIEW_MANAGER, "ImportPageImportViewManager", &g_define_type_info, 0); + g_once_init_leave (&import_page_import_view_manager_type_id__volatile, import_page_import_view_manager_type_id); + } + return import_page_import_view_manager_type_id__volatile; +} + + +static gpointer _gp_context_wrapper_ref0 (gpointer self) { +#line 487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self ? gp_context_wrapper_ref (self) : NULL; +#line 12141 "ImportPage.c" +} + + +static ImportPageCameraImportJob* import_page_camera_import_job_construct (GType object_type, GPContextWrapper* context, ImportSource* import_file, DuplicatedFile* duplicated_file) { + ImportPageCameraImportJob* self = NULL; + GPContextWrapper* _tmp0_ = NULL; + GPContextWrapper* _tmp1_ = NULL; + ImportSource* _tmp2_ = NULL; + ImportSource* _tmp3_ = NULL; + DuplicatedFile* _tmp4_ = NULL; + DuplicatedFile* _tmp5_ = NULL; + ImportSource* _tmp6_ = NULL; + Camera* _tmp7_ = NULL; + ImportSource* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + ImportSource* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + ImportSource* _tmp13_ = NULL; + gulong _tmp14_ = 0UL; + PhotoMetadata* _tmp15_ = NULL; + ImportSource* _tmp16_ = NULL; + PhotoMetadata* _tmp19_ = NULL; + ImportSource* _tmp20_ = NULL; + time_t _tmp21_ = 0; +#line 485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (GP_IS_CONTEXT_WRAPPER (context), NULL); +#line 485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_IMPORT_SOURCE (import_file), NULL); +#line 485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail ((duplicated_file == NULL) || IS_DUPLICATED_FILE (duplicated_file), NULL); +#line 485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (ImportPageCameraImportJob*) batch_import_job_construct (object_type); +#line 487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = context; +#line 487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _gp_context_wrapper_ref0 (_tmp0_); +#line 487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_context_wrapper_unref0 (self->priv->context); +#line 487 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->context = _tmp1_; +#line 488 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = import_file; +#line 488 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 488 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->import_file); +#line 488 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->import_file = _tmp3_; +#line 489 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = duplicated_file; +#line 489 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 489 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->duplicated_file); +#line 489 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->duplicated_file = _tmp5_; +#line 492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = import_file; +#line 492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = import_source_get_camera (_tmp6_); +#line 492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_camera_unref0 (self->priv->camera); +#line 492 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->camera = _tmp7_; +#line 493 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = import_file; +#line 493 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = import_source_get_fulldir (_tmp8_); +#line 493 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->fulldir); +#line 493 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->fulldir = _tmp9_; +#line 495 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = self->priv->fulldir; +#line 495 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_assert (_tmp10_ != NULL, "fulldir != null"); +#line 496 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = import_file; +#line 496 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = import_source_get_filename (_tmp11_); +#line 496 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->filename); +#line 496 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->filename = _tmp12_; +#line 497 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = import_file; +#line 497 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = import_source_get_filesize (_tmp13_); +#line 497 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->filesize = (guint64) _tmp14_; +#line 498 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = import_file; +#line 498 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp16_, TYPE_PHOTO_IMPORT_SOURCE)) { +#line 12237 "ImportPage.c" + ImportSource* _tmp17_ = NULL; + PhotoMetadata* _tmp18_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = import_file; +#line 499 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = photo_import_source_get_metadata (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp17_) : NULL); +#line 499 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (_tmp15_); +#line 499 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = _tmp18_; +#line 12248 "ImportPage.c" + } else { +#line 499 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (_tmp15_); +#line 499 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = NULL; +#line 12254 "ImportPage.c" + } +#line 498 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = _media_metadata_ref0 (_tmp15_); +#line 498 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (self->priv->metadata); +#line 498 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->metadata = _tmp19_; +#line 500 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = import_file; +#line 500 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = import_source_get_exposure_time (_tmp20_); +#line 500 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->exposure_time = _tmp21_; +#line 485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (_tmp15_); +#line 485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 12272 "ImportPage.c" +} + + +static ImportPageCameraImportJob* import_page_camera_import_job_new (GPContextWrapper* context, ImportSource* import_file, DuplicatedFile* duplicated_file) { +#line 485 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return import_page_camera_import_job_construct (IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, context, import_file, duplicated_file); +#line 12279 "ImportPage.c" +} + + +static time_t import_page_camera_import_job_get_exposure_time (ImportPageCameraImportJob* self) { + time_t result = 0; + time_t _tmp0_ = 0; +#line 503 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IMPORT_PAGE_IS_CAMERA_IMPORT_JOB (self), 0); +#line 504 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->exposure_time; +#line 504 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 504 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12294 "ImportPage.c" +} + + +static DuplicatedFile* import_page_camera_import_job_real_get_duplicated_file (BatchImportJob* base) { + ImportPageCameraImportJob * self; + DuplicatedFile* result = NULL; + DuplicatedFile* _tmp0_ = NULL; + DuplicatedFile* _tmp1_ = NULL; +#line 507 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 508 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->duplicated_file; +#line 508 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 508 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 508 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12313 "ImportPage.c" +} + + +static time_t import_page_camera_import_job_real_get_exposure_time_override (BatchImportJob* base) { + ImportPageCameraImportJob * self; + time_t result = 0; + time_t _tmp0_ = 0; + ImportSource* _tmp1_ = NULL; +#line 511 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 512 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->import_file; +#line 512 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIDEO_IMPORT_SOURCE)) { +#line 12328 "ImportPage.c" + time_t _tmp2_ = 0; +#line 512 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = import_page_camera_import_job_get_exposure_time (self); +#line 512 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp2_; +#line 12334 "ImportPage.c" + } else { +#line 512 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = (time_t) 0; +#line 12338 "ImportPage.c" + } +#line 512 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp0_; +#line 512 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12344 "ImportPage.c" +} + + +static gchar* import_page_camera_import_job_real_get_dest_identifier (BatchImportJob* base) { + ImportPageCameraImportJob * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 516 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->filename; +#line 516 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 516 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 516 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12363 "ImportPage.c" +} + + +static gchar* import_page_camera_import_job_real_get_source_identifier (BatchImportJob* base) { + ImportPageCameraImportJob * self; + gchar* result = NULL; + ImportSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 519 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 520 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->import_file; +#line 520 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_source_get_filename (_tmp0_); +#line 520 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 520 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12382 "ImportPage.c" +} + + +static gchar* import_page_camera_import_job_real_get_basename (BatchImportJob* base) { + ImportPageCameraImportJob * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 523 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 524 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->filename; +#line 524 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 524 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 524 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12401 "ImportPage.c" +} + + +static gchar* import_page_camera_import_job_real_get_path (BatchImportJob* base) { + ImportPageCameraImportJob * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 527 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 528 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->fulldir; +#line 528 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 528 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 528 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12420 "ImportPage.c" +} + + +static void import_page_camera_import_job_real_set_associated (BatchImportJob* base, BatchImportJob* associated) { + ImportPageCameraImportJob * self; + BatchImportJob* _tmp0_ = NULL; + ImportPageCameraImportJob* _tmp1_ = NULL; +#line 531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 531 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_if_fail (IS_BATCH_IMPORT_JOB (associated)); +#line 532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = associated; +#line 532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _batch_import_job_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB) ? ((ImportPageCameraImportJob*) _tmp0_) : NULL); +#line 532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_import_job_unref0 (self->priv->associated); +#line 532 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->associated = _tmp1_; +#line 12440 "ImportPage.c" +} + + +static ImportSource* import_page_camera_import_job_get_source (ImportPageCameraImportJob* self) { + ImportSource* result = NULL; + ImportSource* _tmp0_ = NULL; + ImportSource* _tmp1_ = NULL; +#line 535 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IMPORT_PAGE_IS_CAMERA_IMPORT_JOB (self), NULL); +#line 536 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->import_file; +#line 536 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 536 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = _tmp1_; +#line 536 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12458 "ImportPage.c" +} + + +static gboolean import_page_camera_import_job_real_is_directory (BatchImportJob* base) { + ImportPageCameraImportJob * self; + gboolean result = FALSE; +#line 539 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 540 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 540 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12471 "ImportPage.c" +} + + +static gboolean import_page_camera_import_job_real_determine_file_size (BatchImportJob* base, guint64* filesize, GFile** file) { + ImportPageCameraImportJob * self; + guint64 _vala_filesize = 0ULL; + GFile* _vala_file = NULL; + gboolean result = FALSE; + guint64 _tmp0_ = 0ULL; +#line 543 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_vala_file); +#line 544 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_file = NULL; +#line 545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = self->priv->filesize; +#line 545 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_filesize = _tmp0_; +#line 547 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 547 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (filesize) { +#line 547 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *filesize = _vala_filesize; +#line 12497 "ImportPage.c" + } +#line 547 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (file) { +#line 547 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *file = _vala_file; +#line 12503 "ImportPage.c" + } else { +#line 547 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_vala_file); +#line 12507 "ImportPage.c" + } +#line 547 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12511 "ImportPage.c" +} + + +static gboolean import_page_camera_import_job_real_prepare (BatchImportJob* base, GFile** file_to_import, gboolean* copy_to_library, GError** error) { + ImportPageCameraImportJob * self; + GFile* _vala_file_to_import = NULL; + gboolean _vala_copy_to_library = FALSE; + gboolean result = FALSE; + GFile* dest_file = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp16_ = NULL; + ImportPageCameraImportJob* _tmp24_ = NULL; + GFile* _tmp55_ = NULL; + GFile* _tmp56_ = NULL; + GError * _inner_error_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 551 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_vala_file_to_import); +#line 551 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_file_to_import = NULL; +#line 552 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_copy_to_library = FALSE; +#line 554 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + dest_file = NULL; +#line 12537 "ImportPage.c" + { + gboolean collision = FALSE; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + time_t _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = self->priv->filename; +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = self->priv->metadata; +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->exposure_time; +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = library_files_generate_unique_file (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_METADATA, MediaMetadata), _tmp3_, &_tmp4_, &_inner_error_); +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + collision = _tmp4_; +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = _tmp5_; +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 12561 "ImportPage.c" + goto __catch69_g_error; + } +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = _tmp0_; +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dest_file); +#line 557 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + dest_file = _tmp6_; +#line 555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp0_); +#line 12574 "ImportPage.c" + } + goto __finally69; + __catch69_g_error: + { + GError* err = NULL; + ImportSource* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + GError* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = self->priv->import_file; +#line 560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = import_source_get_filename (_tmp7_); +#line 560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = _tmp8_; +#line 560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = err; +#line 560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = _tmp10_->message; +#line 560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:560: Unable to generate local file for %s: %s", _tmp9_, _tmp11_); +#line 560 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp9_); +#line 555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 12605 "ImportPage.c" + } + __finally69: +#line 555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dest_file); +#line 555 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 12616 "ImportPage.c" + } +#line 564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = dest_file; +#line 564 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp12_ == NULL) { +#line 12622 "ImportPage.c" + ImportSource* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = self->priv->import_file; +#line 565 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = import_source_get_filename (_tmp13_); +#line 565 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = _tmp14_; +#line 565 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_message ("ImportPage.vala:565: Unable to generate local file for %s", _tmp15_); +#line 565 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp15_); +#line 567 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 567 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dest_file); +#line 567 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (file_to_import) { +#line 567 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *file_to_import = _vala_file_to_import; +#line 12644 "ImportPage.c" + } else { +#line 567 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_vala_file_to_import); +#line 12648 "ImportPage.c" + } +#line 567 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (copy_to_library) { +#line 567 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *copy_to_library = _vala_copy_to_library; +#line 12654 "ImportPage.c" + } +#line 567 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12658 "ImportPage.c" + } +#line 572 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = dest_file; +#line 572 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + library_monitor_blacklist_file (_tmp16_, "CameraImportJob.prepare"); +#line 12664 "ImportPage.c" + { + GPContextWrapper* _tmp17_ = NULL; + GPContext* _tmp18_ = NULL; + Camera* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; +#line 574 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = self->priv->context; +#line 574 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = _tmp17_->context; +#line 574 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = self->priv->camera; +#line 574 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = self->priv->fulldir; +#line 574 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = self->priv->filename; +#line 574 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = dest_file; +#line 574 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gp_save_image (_tmp18_, _tmp19_, _tmp20_, _tmp21_, _tmp22_, &_inner_error_); +#line 574 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 12688 "ImportPage.c" + goto __finally70; + } + } + __finally70: + { + GFile* _tmp23_ = NULL; +#line 576 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = dest_file; +#line 576 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + library_monitor_unblacklist_file (_tmp23_); +#line 12699 "ImportPage.c" + } +#line 573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dest_file); +#line 573 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 12709 "ImportPage.c" + } +#line 580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = self->priv->associated; +#line 580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp24_ != NULL) { +#line 12715 "ImportPage.c" + BackingPhotoRow* _tmp39_ = NULL; + GFile* assoc_dest = NULL; + BackingPhotoRow* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + GFile* _tmp44_ = NULL; + GFile* _tmp45_ = NULL; + { + BackingPhotoRow* _tmp25_ = NULL; + GFile* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + ImportPageCameraImportJob* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + BackingPhotoRow* _tmp32_ = NULL; + BackingPhotoRow* _tmp33_ = NULL; + BackingPhotoRow* _tmp34_ = NULL; +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = dest_file; +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = g_file_get_path (_tmp26_); +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = _tmp27_; +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = self->priv->associated; +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = batch_import_job_get_basename (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_BATCH_IMPORT_JOB, BatchImportJob)); +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp31_ = _tmp30_; +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = raw_developer_create_backing_row_for_development (RAW_DEVELOPER_CAMERA, _tmp28_, _tmp31_, &_inner_error_); +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = _tmp32_; +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp31_); +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (_tmp28_); +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = _tmp33_; +#line 583 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 12757 "ImportPage.c" + goto __catch71_g_error; + } +#line 582 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = _tmp25_; +#line 582 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = NULL; +#line 582 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _backing_photo_row_unref0 (self->priv->associated_file); +#line 582 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->associated_file = _tmp34_; +#line 581 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _backing_photo_row_unref0 (_tmp25_); +#line 12770 "ImportPage.c" + } + goto __finally71; + __catch71_g_error: + { + GError* err = NULL; + ImportPageCameraImportJob* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + GError* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 581 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + err = _inner_error_; +#line 581 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _inner_error_ = NULL; +#line 586 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = self->priv->associated; +#line 586 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp36_ = _tmp35_->priv->filename; +#line 586 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp37_ = err; +#line 586 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp38_ = _tmp37_->message; +#line 586 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_warning ("ImportPage.vala:586: Unable to generate backing associated file for %s" \ +": %s", _tmp36_, _tmp38_); +#line 581 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_error_free0 (err); +#line 12796 "ImportPage.c" + } + __finally71: +#line 581 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 581 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 581 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dest_file); +#line 581 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 12807 "ImportPage.c" + } +#line 590 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp39_ = self->priv->associated_file; +#line 590 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp39_ == NULL) { +#line 12813 "ImportPage.c" + ImportPageCameraImportJob* _tmp40_ = NULL; + const gchar* _tmp41_ = NULL; +#line 591 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp40_ = self->priv->associated; +#line 591 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp41_ = _tmp40_->priv->filename; +#line 591 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_message ("ImportPage.vala:591: Unable to generate backing associated file for %s", _tmp41_); +#line 592 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 592 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dest_file); +#line 592 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (file_to_import) { +#line 592 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *file_to_import = _vala_file_to_import; +#line 12830 "ImportPage.c" + } else { +#line 592 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_vala_file_to_import); +#line 12834 "ImportPage.c" + } +#line 592 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (copy_to_library) { +#line 592 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *copy_to_library = _vala_copy_to_library; +#line 12840 "ImportPage.c" + } +#line 592 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12844 "ImportPage.c" + } +#line 595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp42_ = self->priv->associated_file; +#line 595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp43_ = _tmp42_->filepath; +#line 595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp44_ = g_file_new_for_path (_tmp43_); +#line 595 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + assoc_dest = _tmp44_; +#line 596 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp45_ = assoc_dest; +#line 596 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + library_monitor_blacklist_file (_tmp45_, "CameraImportJob.prepare"); +#line 12858 "ImportPage.c" + { + GPContextWrapper* _tmp46_ = NULL; + GPContext* _tmp47_ = NULL; + Camera* _tmp48_ = NULL; + ImportPageCameraImportJob* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + ImportPageCameraImportJob* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + GFile* _tmp53_ = NULL; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp46_ = self->priv->context; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp47_ = _tmp46_->context; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp48_ = self->priv->camera; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp49_ = self->priv->associated; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp50_ = _tmp49_->priv->fulldir; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp51_ = self->priv->associated; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp52_ = _tmp51_->priv->filename; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp53_ = assoc_dest; +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + gp_save_image (_tmp47_, _tmp48_, _tmp50_, _tmp52_, _tmp53_, &_inner_error_); +#line 598 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 12888 "ImportPage.c" + goto __finally72; + } + } + __finally72: + { + GFile* _tmp54_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp54_ = assoc_dest; +#line 601 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + library_monitor_unblacklist_file (_tmp54_); +#line 12899 "ImportPage.c" + } +#line 597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (assoc_dest); +#line 597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dest_file); +#line 597 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 12911 "ImportPage.c" + } +#line 580 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (assoc_dest); +#line 12915 "ImportPage.c" + } +#line 605 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp55_ = dest_file; +#line 605 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp56_ = _g_object_ref0 (_tmp55_); +#line 605 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_vala_file_to_import); +#line 605 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_file_to_import = _tmp56_; +#line 606 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _vala_copy_to_library = FALSE; +#line 608 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 608 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (dest_file); +#line 608 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (file_to_import) { +#line 608 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *file_to_import = _vala_file_to_import; +#line 12935 "ImportPage.c" + } else { +#line 608 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_vala_file_to_import); +#line 12939 "ImportPage.c" + } +#line 608 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (copy_to_library) { +#line 608 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + *copy_to_library = _vala_copy_to_library; +#line 12945 "ImportPage.c" + } +#line 608 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 12949 "ImportPage.c" +} + + +static gboolean import_page_camera_import_job_real_complete (BatchImportJob* base, MediaSource* source, BatchImportRoll* import_roll, GError** error) { + ImportPageCameraImportJob * self; + gboolean result = FALSE; + gboolean ret = FALSE; + MediaSource* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 611 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 611 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 611 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_ROLL (import_roll), FALSE); +#line 612 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ret = FALSE; +#line 613 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = source; +#line 613 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO)) { +#line 12971 "ImportPage.c" + Photo* photo = NULL; + MediaSource* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; +#line 614 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = source; +#line 614 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_PHOTO) ? ((Photo*) _tmp1_) : NULL); +#line 614 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo = _tmp2_; +#line 617 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = self->priv->associated_file; +#line 617 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp3_ != NULL) { +#line 12986 "ImportPage.c" + Photo* _tmp4_ = NULL; + BackingPhotoRow* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + ConfigFacade* _tmp8_ = NULL; + RawDeveloper _tmp9_ = 0; +#line 618 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = photo; +#line 618 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = self->priv->associated_file; +#line 618 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_add_backing_photo_for_development (_tmp4_, RAW_DEVELOPER_CAMERA, _tmp5_, &_inner_error_); +#line 618 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 618 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_propagate_error (error, _inner_error_); +#line 618 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo); +#line 618 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return FALSE; +#line 13007 "ImportPage.c" + } +#line 619 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ret = TRUE; +#line 620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = photo; +#line 620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = config_facade_get_instance (); +#line 620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = _tmp7_; +#line 620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = configuration_facade_get_default_raw_developer (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo_set_raw_developer (_tmp6_, _tmp9_); +#line 620 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp8_); +#line 13023 "ImportPage.c" + } +#line 613 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo); +#line 13027 "ImportPage.c" + } +#line 623 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = ret; +#line 623 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13033 "ImportPage.c" +} + + +static void import_page_camera_import_job_class_init (ImportPageCameraImportJobClass * klass) { +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_camera_import_job_parent_class = g_type_class_peek_parent (klass); +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->finalize = import_page_camera_import_job_finalize; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_type_class_add_private (klass, sizeof (ImportPageCameraImportJobPrivate)); +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->get_duplicated_file = import_page_camera_import_job_real_get_duplicated_file; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->get_exposure_time_override = import_page_camera_import_job_real_get_exposure_time_override; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->get_dest_identifier = import_page_camera_import_job_real_get_dest_identifier; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->get_source_identifier = import_page_camera_import_job_real_get_source_identifier; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->get_basename = import_page_camera_import_job_real_get_basename; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->get_path = import_page_camera_import_job_real_get_path; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->set_associated = import_page_camera_import_job_real_set_associated; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->is_directory = import_page_camera_import_job_real_is_directory; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->determine_file_size = import_page_camera_import_job_real_determine_file_size; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->prepare = import_page_camera_import_job_real_prepare; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((BatchImportJobClass *) klass)->complete = import_page_camera_import_job_real_complete; +#line 13066 "ImportPage.c" +} + + +static void import_page_camera_import_job_instance_init (ImportPageCameraImportJob * self) { +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv = IMPORT_PAGE_CAMERA_IMPORT_JOB_GET_PRIVATE (self); +#line 481 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->associated = NULL; +#line 482 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->associated_file = NULL; +#line 13077 "ImportPage.c" +} + + +static void import_page_camera_import_job_finalize (BatchImportJob* obj) { + ImportPageCameraImportJob * self; +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, IMPORT_PAGE_TYPE_CAMERA_IMPORT_JOB, ImportPageCameraImportJob); +#line 473 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_context_wrapper_unref0 (self->priv->context); +#line 474 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->import_file); +#line 475 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_camera_unref0 (self->priv->camera); +#line 476 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->fulldir); +#line 477 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->filename); +#line 479 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _media_metadata_unref0 (self->priv->metadata); +#line 481 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _batch_import_job_unref0 (self->priv->associated); +#line 482 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _backing_photo_row_unref0 (self->priv->associated_file); +#line 483 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->duplicated_file); +#line 472 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + BATCH_IMPORT_JOB_CLASS (import_page_camera_import_job_parent_class)->finalize (obj); +#line 13105 "ImportPage.c" +} + + +static GType import_page_camera_import_job_get_type (void) { + static volatile gsize import_page_camera_import_job_type_id__volatile = 0; + if (g_once_init_enter (&import_page_camera_import_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportPageCameraImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_page_camera_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportPageCameraImportJob), 0, (GInstanceInitFunc) import_page_camera_import_job_instance_init, NULL }; + GType import_page_camera_import_job_type_id; + import_page_camera_import_job_type_id = g_type_register_static (TYPE_BATCH_IMPORT_JOB, "ImportPageCameraImportJob", &g_define_type_info, 0); + g_once_init_leave (&import_page_camera_import_job_type_id__volatile, import_page_camera_import_job_type_id); + } + return import_page_camera_import_job_type_id__volatile; +} + + +static guint import_page_import_page_search_view_filter_real_get_criteria (SearchViewFilter* base) { + ImportPageImportPageSearchViewFilter * self; + guint result = 0U; +#line 628 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER, ImportPageImportPageSearchViewFilter); +#line 629 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = (guint) (SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_MEDIA); +#line 629 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13130 "ImportPage.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 13150 "ImportPage.c" +} + + +static gboolean import_page_import_page_search_view_filter_real_predicate (ViewFilter* base, DataView* view) { + ImportPageImportPageSearchViewFilter * self; + gboolean result = FALSE; + ImportSource* source = NULL; + DataView* _tmp0_ = NULL; + ImportSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + guint _tmp3_ = 0U; + guint _tmp26_ = 0U; +#line 632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER, ImportPageImportPageSearchViewFilter); +#line 632 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 633 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = view; +#line 633 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_preview_get_import_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_IMPORT_PREVIEW, ImportPreview)); +#line 633 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + source = _tmp1_; +#line 636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = search_view_filter_get_criteria (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if ((gboolean) (SEARCH_FILTER_CRITERIA_MEDIA & _tmp3_)) { +#line 13177 "ImportPage.c" + gboolean _tmp4_ = FALSE; +#line 636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp4_ = search_view_filter_filter_by_media_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = _tmp4_; +#line 13183 "ImportPage.c" + } else { +#line 636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = FALSE; +#line 13187 "ImportPage.c" + } +#line 636 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp2_) { +#line 13191 "ImportPage.c" + ImportSource* _tmp5_ = NULL; +#line 637 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp5_ = source; +#line 637 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_VIDEO_IMPORT_SOURCE)) { +#line 13197 "ImportPage.c" + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp6_ = search_view_filter_get_show_media_video (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp7_ = _tmp6_; +#line 638 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp7_) { +#line 639 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 639 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 639 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13212 "ImportPage.c" + } + } else { + ImportSource* _tmp8_ = NULL; +#line 640 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp8_ = source; +#line 640 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_PHOTO_IMPORT_SOURCE)) { +#line 13220 "ImportPage.c" + PhotoImportSource* photo = NULL; + ImportSource* _tmp9_ = NULL; + PhotoImportSource* _tmp10_ = NULL; + PhotoImportSource* _tmp11_ = NULL; + PhotoFileFormat _tmp12_ = 0; +#line 641 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp9_ = source; +#line 641 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_PHOTO_IMPORT_SOURCE) ? ((PhotoImportSource*) _tmp9_) : NULL); +#line 641 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + photo = _tmp10_; +#line 642 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp11_ = photo; +#line 642 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp12_ = photo_import_source_get_file_format (_tmp11_); +#line 642 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp12_ == PHOTO_FILE_FORMAT_RAW) { +#line 13238 "ImportPage.c" + PhotoImportSource* _tmp13_ = NULL; + PhotoImportSource* _tmp14_ = NULL; + PhotoImportSource* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 643 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp13_ = photo; +#line 643 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp14_ = photo_import_source_get_associated (_tmp13_); +#line 643 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp15_ = _tmp14_; +#line 643 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp16_ = _tmp15_ != NULL; +#line 643 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (_tmp15_); +#line 643 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp16_) { +#line 13255 "ImportPage.c" + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 644 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp18_ = search_view_filter_get_show_media_photos (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 644 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp19_ = _tmp18_; +#line 644 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp19_) { +#line 13265 "ImportPage.c" + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; +#line 644 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp20_ = search_view_filter_get_show_media_raw (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 644 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp21_ = _tmp20_; +#line 644 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = !_tmp21_; +#line 13274 "ImportPage.c" + } else { +#line 644 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp17_ = FALSE; +#line 13278 "ImportPage.c" + } +#line 644 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp17_) { +#line 645 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 645 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo); +#line 645 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 645 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13290 "ImportPage.c" + } + } else { + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; +#line 646 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp22_ = search_view_filter_get_show_media_raw (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 646 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp23_ = _tmp22_; +#line 646 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp23_) { +#line 647 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 647 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo); +#line 647 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 647 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13309 "ImportPage.c" + } + } + } else { + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; +#line 649 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp24_ = search_view_filter_get_show_media_photos (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 649 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp25_ = _tmp24_; +#line 649 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp25_) { +#line 650 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 650 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo); +#line 650 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 650 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13329 "ImportPage.c" + } + } +#line 640 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (photo); +#line 13334 "ImportPage.c" + } + } + } +#line 654 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp26_ = search_view_filter_get_criteria (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 654 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if ((gboolean) (SEARCH_FILTER_CRITERIA_TEXT & _tmp26_)) { +#line 13342 "ImportPage.c" + const gchar* keywords = NULL; + ImportSource* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + gint _tmp31_ = 0; + gchar** _tmp32_ = NULL; +#line 655 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp27_ = source; +#line 655 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp28_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_INDEXABLE, Indexable)); +#line 655 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + keywords = _tmp28_; +#line 656 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp29_ = keywords; +#line 656 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp30_ = is_string_empty (_tmp29_); +#line 656 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (_tmp30_) { +#line 657 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 657 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 657 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13368 "ImportPage.c" + } +#line 660 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp32_ = search_view_filter_get_search_filter_words (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter), &_tmp31_); +#line 13372 "ImportPage.c" + { + gchar** word_collection = NULL; + gint word_collection_length1 = 0; + gint _word_collection_size_ = 0; + gint word_it = 0; +#line 660 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + word_collection = _tmp32_; +#line 660 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + word_collection_length1 = _tmp31_; +#line 660 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + for (word_it = 0; word_it < _tmp31_; word_it = word_it + 1) { +#line 13384 "ImportPage.c" + const gchar* word = NULL; +#line 660 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + word = word_collection[word_it]; +#line 13388 "ImportPage.c" + { + const gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 661 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp33_ = keywords; +#line 661 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp34_ = word; +#line 661 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp35_ = string_contains (_tmp33_, _tmp34_); +#line 661 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + if (!_tmp35_) { +#line 662 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = FALSE; +#line 662 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 662 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13407 "ImportPage.c" + } + } + } + } + } +#line 666 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = TRUE; +#line 666 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (source); +#line 666 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13419 "ImportPage.c" +} + + +static ImportPageImportPageSearchViewFilter* import_page_import_page_search_view_filter_construct (GType object_type) { + ImportPageImportPageSearchViewFilter* self = NULL; +#line 627 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (ImportPageImportPageSearchViewFilter*) search_view_filter_construct (object_type); +#line 627 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 13429 "ImportPage.c" +} + + +static ImportPageImportPageSearchViewFilter* import_page_import_page_search_view_filter_new (void) { +#line 627 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return import_page_import_page_search_view_filter_construct (IMPORT_PAGE_TYPE_IMPORT_PAGE_SEARCH_VIEW_FILTER); +#line 13436 "ImportPage.c" +} + + +static void import_page_import_page_search_view_filter_class_init (ImportPageImportPageSearchViewFilterClass * klass) { +#line 627 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_import_page_search_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 627 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((SearchViewFilterClass *) klass)->get_criteria = import_page_import_page_search_view_filter_real_get_criteria; +#line 627 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ViewFilterClass *) klass)->predicate = import_page_import_page_search_view_filter_real_predicate; +#line 13447 "ImportPage.c" +} + + +static void import_page_import_page_search_view_filter_instance_init (ImportPageImportPageSearchViewFilter * self) { +} + + +static GType import_page_import_page_search_view_filter_get_type (void) { + static volatile gsize import_page_import_page_search_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&import_page_import_page_search_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportPageImportPageSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_page_import_page_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportPageImportPageSearchViewFilter), 0, (GInstanceInitFunc) import_page_import_page_search_view_filter_instance_init, NULL }; + GType import_page_import_page_search_view_filter_type_id; + import_page_import_page_search_view_filter_type_id = g_type_register_static (TYPE_SEARCH_VIEW_FILTER, "ImportPageImportPageSearchViewFilter", &g_define_type_info, 0); + g_once_init_leave (&import_page_import_page_search_view_filter_type_id__volatile, import_page_import_page_search_view_filter_type_id); + } + return import_page_import_page_search_view_filter_type_id__volatile; +} + + +static gboolean import_page_hide_imported_view_filter_real_predicate (ViewFilter* base, DataView* view) { + ImportPageHideImportedViewFilter * self; + gboolean result = FALSE; + DataView* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 672 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, IMPORT_PAGE_TYPE_HIDE_IMPORTED_VIEW_FILTER, ImportPageHideImportedViewFilter); +#line 672 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 673 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = view; +#line 673 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = import_preview_is_already_imported (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_IMPORT_PREVIEW, ImportPreview)); +#line 673 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + result = !_tmp1_; +#line 673 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return result; +#line 13484 "ImportPage.c" +} + + +static ImportPageHideImportedViewFilter* import_page_hide_imported_view_filter_construct (GType object_type) { + ImportPageHideImportedViewFilter* self = NULL; +#line 671 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = (ImportPageHideImportedViewFilter*) view_filter_construct (object_type); +#line 671 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return self; +#line 13494 "ImportPage.c" +} + + +static ImportPageHideImportedViewFilter* import_page_hide_imported_view_filter_new (void) { +#line 671 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + return import_page_hide_imported_view_filter_construct (IMPORT_PAGE_TYPE_HIDE_IMPORTED_VIEW_FILTER); +#line 13501 "ImportPage.c" +} + + +static void import_page_hide_imported_view_filter_class_init (ImportPageHideImportedViewFilterClass * klass) { +#line 671 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_hide_imported_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 671 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((ViewFilterClass *) klass)->predicate = import_page_hide_imported_view_filter_real_predicate; +#line 13510 "ImportPage.c" +} + + +static void import_page_hide_imported_view_filter_instance_init (ImportPageHideImportedViewFilter * self) { +} + + +static GType import_page_hide_imported_view_filter_get_type (void) { + static volatile gsize import_page_hide_imported_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&import_page_hide_imported_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportPageHideImportedViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_page_hide_imported_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportPageHideImportedViewFilter), 0, (GInstanceInitFunc) import_page_hide_imported_view_filter_instance_init, NULL }; + GType import_page_hide_imported_view_filter_type_id; + import_page_hide_imported_view_filter_type_id = g_type_register_static (TYPE_VIEW_FILTER, "ImportPageHideImportedViewFilter", &g_define_type_info, 0); + g_once_init_leave (&import_page_hide_imported_view_filter_type_id__volatile, import_page_hide_imported_view_filter_type_id); + } + return import_page_hide_imported_view_filter_type_id__volatile; +} + + +static void import_page_class_init (ImportPageClass * klass) { +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + import_page_parent_class = g_type_class_peek_parent (klass); +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_type_class_add_private (klass, sizeof (ImportPagePrivate)); +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((PageClass *) klass)->get_toolbar = import_page_real_get_toolbar; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((CheckerboardPageClass *) klass)->get_view_tracker = import_page_real_get_view_tracker; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((CheckerboardPageClass *) klass)->get_view_empty_message = import_page_real_get_view_empty_message; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = import_page_real_init_collect_ui_filenames; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((PageClass *) klass)->init_collect_toggle_action_entries = import_page_real_init_collect_toggle_action_entries; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((PageClass *) klass)->init_collect_action_entries = import_page_real_init_collect_action_entries; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((PageClass *) klass)->init_actions = import_page_real_init_actions; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((PageClass *) klass)->switched_to = import_page_real_switched_to; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((PageClass *) klass)->ready = import_page_real_ready; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((CheckerboardPageClass *) klass)->set_display_titles = import_page_real_set_display_titles; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + ((CheckerboardPageClass *) klass)->get_search_view_filter = import_page_real_get_search_view_filter; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (klass)->finalize = import_page_finalize; +#line 13559 "ImportPage.c" +} + + +static void import_page_instance_init (ImportPage * self) { + GtkLabel* _tmp0_ = NULL; + GtkProgressBar* _tmp1_ = NULL; + ImportPageImportPageSearchViewFilter* _tmp2_ = NULL; + ImportPageHideImportedViewFilter* _tmp3_ = NULL; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv = IMPORT_PAGE_GET_PRIVATE (self); +#line 680 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->import_sources = NULL; +#line 681 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = (GtkLabel*) gtk_label_new (NULL); +#line 681 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp0_); +#line 681 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->camera_label = _tmp0_; +#line 683 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp1_ = (GtkProgressBar*) gtk_progress_bar_new (); +#line 683 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_object_ref_sink (_tmp1_); +#line 683 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->progress_bar = _tmp1_; +#line 686 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->busy = FALSE; +#line 687 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refreshed = FALSE; +#line 688 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_result = GP_OK; +#line 689 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->refresh_error = NULL; +#line 691 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->volume_monitor = NULL; +#line 692 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->local_ref = NULL; +#line 694 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = import_page_import_page_search_view_filter_new (); +#line 694 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->search_filter = _tmp2_; +#line 695 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp3_ = import_page_hide_imported_view_filter_new (); +#line 695 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self->priv->hide_imported_filter = _tmp3_; +#line 13604 "ImportPage.c" +} + + +static void import_page_finalize (GObject* obj) { + ImportPage * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + VideoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORT_PAGE, ImportPage); +#line 766 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp0_ = library_photo_global; +#line 766 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 766 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _import_page_on_media_added_removed_data_collection_contents_altered, self); +#line 767 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _tmp2_ = video_global; +#line 767 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 767 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _import_page_on_media_added_removed_data_collection_contents_altered, self); +#line 680 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _data_collection_unref0 (self->priv->import_sources); +#line 681 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->camera_label); +#line 682 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->hide_imported); +#line 683 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->progress_bar); +#line 684 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _gp_camera_unref0 (self->priv->camera); +#line 685 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->uri); +#line 689 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->refresh_error); +#line 690 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->camera_name); +#line 691 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->volume_monitor); +#line 692 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_object_unref0 (self->priv->local_ref); +#line 693 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _g_free0 (self->priv->icon); +#line 694 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _view_filter_unref0 (self->priv->search_filter); +#line 695 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _view_filter_unref0 (self->priv->hide_imported_filter); +#line 696 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + _core_tracker_unref0 (self->priv->tracker); +#line 457 "/home/jens/Source/shotwell/src/camera/ImportPage.vala" + G_OBJECT_CLASS (import_page_parent_class)->finalize (obj); +#line 13658 "ImportPage.c" +} + + +GType import_page_get_type (void) { + static volatile gsize import_page_type_id__volatile = 0; + if (g_once_init_enter (&import_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportPage), 0, (GInstanceInitFunc) import_page_instance_init, NULL }; + GType import_page_type_id; + import_page_type_id = g_type_register_static (TYPE_CHECKERBOARD_PAGE, "ImportPage", &g_define_type_info, 0); + g_once_init_leave (&import_page_type_id__volatile, import_page_type_id); + } + return import_page_type_id__volatile; +} + + + diff --git a/src/camera/mk/camera.mk b/src/camera/mk/camera.mk deleted file mode 100644 index 1812a42..0000000 --- a/src/camera/mk/camera.mk +++ /dev/null @@ -1,32 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Camera - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := camera - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - Branch.vala \ - CameraTable.vala \ - GPhoto.vala \ - ImportPage.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Sidebar - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/config/Config.c b/src/config/Config.c new file mode 100644 index 0000000..0bcb4d4 --- /dev/null +++ b/src/config/Config.c @@ -0,0 +1,872 @@ +/* Config.c generated by valac 0.32.1, the Vala compiler + * generated from Config.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* This file is the master unit file for the Config unit. It should be edited to include + * whatever code is deemed necessary. + * + * The init() and terminate() methods are mandatory. + * + * If the unit needs to be configured prior to initialization, add the proper parameters to + * the preconfigure() method, implement it, and ensure in init() that it's been called. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; +typedef struct _ConfigurationFacadePrivate ConfigurationFacadePrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define TYPE_FUZZY_PROPERTY_STATE (fuzzy_property_state_get_type ()) + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +typedef struct _ConfigFacadePrivate ConfigFacadePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_GSETTINGS_CONFIGURATION_ENGINE (gsettings_configuration_engine_get_type ()) +#define GSETTINGS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine)) +#define GSETTINGS_CONFIGURATION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngineClass)) +#define IS_GSETTINGS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE)) +#define IS_GSETTINGS_CONFIGURATION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GSETTINGS_CONFIGURATION_ENGINE)) +#define GSETTINGS_CONFIGURATION_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngineClass)) + +typedef struct _GSettingsConfigurationEngine GSettingsConfigurationEngine; +typedef struct _GSettingsConfigurationEngineClass GSettingsConfigurationEngineClass; + +#define TYPE_CONFIGURATION_ENGINE (configuration_engine_get_type ()) +#define CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngine)) +#define IS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_ENGINE)) +#define CONFIGURATION_ENGINE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngineIface)) + +typedef struct _ConfigurationEngine ConfigurationEngine; +typedef struct _ConfigurationEngineIface ConfigurationEngineIface; + +#define TYPE_CONFIGURABLE_PROPERTY (configurable_property_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +typedef enum { + FUZZY_PROPERTY_STATE_ENABLED, + FUZZY_PROPERTY_STATE_DISABLED, + FUZZY_PROPERTY_STATE_UNKNOWN +} FuzzyPropertyState; + +struct _ConfigurationFacade { + GObject parent_instance; + ConfigurationFacadePrivate * priv; +}; + +struct _ConfigurationFacadeClass { + GObjectClass parent_class; + gboolean (*get_auto_import_from_library) (ConfigurationFacade* self); + void (*set_auto_import_from_library) (ConfigurationFacade* self, gboolean auto_import); + gchar* (*get_bg_color_name) (ConfigurationFacade* self); + void (*set_bg_color_name) (ConfigurationFacade* self, const gchar* color_name); + gboolean (*get_commit_metadata_to_masters) (ConfigurationFacade* self); + void (*set_commit_metadata_to_masters) (ConfigurationFacade* self, gboolean commit_metadata); + gchar* (*get_desktop_background) (ConfigurationFacade* self); + void (*set_desktop_background) (ConfigurationFacade* self, const gchar* filename); + gchar* (*get_screensaver) (ConfigurationFacade* self); + void (*set_screensaver) (ConfigurationFacade* self, const gchar* filename); + gchar* (*get_directory_pattern) (ConfigurationFacade* self); + void (*set_directory_pattern) (ConfigurationFacade* self, const gchar* s); + gchar* (*get_directory_pattern_custom) (ConfigurationFacade* self); + void (*set_directory_pattern_custom) (ConfigurationFacade* self, const gchar* s); + void (*get_direct_window_state) (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); + void (*set_direct_window_state) (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); + gboolean (*get_display_basic_properties) (ConfigurationFacade* self); + void (*set_display_basic_properties) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_extended_properties) (ConfigurationFacade* self); + void (*set_display_extended_properties) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_sidebar) (ConfigurationFacade* self); + void (*set_display_sidebar) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_toolbar) (ConfigurationFacade* self); + void (*set_display_toolbar) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_search_bar) (ConfigurationFacade* self); + void (*set_display_search_bar) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_photo_ratings) (ConfigurationFacade* self); + void (*set_display_photo_ratings) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_photo_tags) (ConfigurationFacade* self); + void (*set_display_photo_tags) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_photo_titles) (ConfigurationFacade* self); + void (*set_display_photo_titles) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_photo_comments) (ConfigurationFacade* self); + void (*set_display_photo_comments) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_event_comments) (ConfigurationFacade* self); + void (*set_display_event_comments) (ConfigurationFacade* self, gboolean display); + void (*get_event_photos_sort) (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); + void (*set_event_photos_sort) (ConfigurationFacade* self, gboolean sort_order, gint sort_by); + gboolean (*get_events_sort_ascending) (ConfigurationFacade* self); + void (*set_events_sort_ascending) (ConfigurationFacade* self, gboolean sort); + gchar* (*get_external_photo_app) (ConfigurationFacade* self); + void (*set_external_photo_app) (ConfigurationFacade* self, const gchar* external_photo_app); + gchar* (*get_external_raw_app) (ConfigurationFacade* self); + void (*set_external_raw_app) (ConfigurationFacade* self, const gchar* external_raw_app); + RawDeveloper (*get_default_raw_developer) (ConfigurationFacade* self); + void (*set_default_raw_developer) (ConfigurationFacade* self, RawDeveloper d); + gboolean (*get_hide_photos_already_imported) (ConfigurationFacade* self); + void (*set_hide_photos_already_imported) (ConfigurationFacade* self, gboolean hide_imported); + gchar* (*get_import_dir) (ConfigurationFacade* self); + void (*set_import_dir) (ConfigurationFacade* self, const gchar* import_dir); + gboolean (*get_keep_relativity) (ConfigurationFacade* self); + void (*set_keep_relativity) (ConfigurationFacade* self, gboolean keep_relativity); + gboolean (*get_pin_toolbar_state) (ConfigurationFacade* self); + void (*set_pin_toolbar_state) (ConfigurationFacade* self, gboolean state); + gint (*get_last_crop_height) (ConfigurationFacade* self); + void (*set_last_crop_height) (ConfigurationFacade* self, gint choice); + gint (*get_last_crop_menu_choice) (ConfigurationFacade* self); + void (*set_last_crop_menu_choice) (ConfigurationFacade* self, gint choice); + gint (*get_last_crop_width) (ConfigurationFacade* self); + void (*set_last_crop_width) (ConfigurationFacade* self, gint choice); + gchar* (*get_last_used_service) (ConfigurationFacade* self); + void (*set_last_used_service) (ConfigurationFacade* self, const gchar* service_name); + gchar* (*get_last_used_dataimports_service) (ConfigurationFacade* self); + void (*set_last_used_dataimports_service) (ConfigurationFacade* self, const gchar* service_name); + void (*get_library_photos_sort) (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); + void (*set_library_photos_sort) (ConfigurationFacade* self, gboolean sort_order, gint sort_by); + void (*get_library_window_state) (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); + void (*set_library_window_state) (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); + gboolean (*get_modify_originals) (ConfigurationFacade* self); + void (*set_modify_originals) (ConfigurationFacade* self, gboolean modify_originals); + gint (*get_photo_thumbnail_scale) (ConfigurationFacade* self); + void (*set_photo_thumbnail_scale) (ConfigurationFacade* self, gint scale); + gdouble (*get_printing_content_height) (ConfigurationFacade* self); + void (*set_printing_content_height) (ConfigurationFacade* self, gdouble content_height); + gint (*get_printing_content_layout) (ConfigurationFacade* self); + void (*set_printing_content_layout) (ConfigurationFacade* self, gint layout_code); + gint (*get_printing_content_ppi) (ConfigurationFacade* self); + void (*set_printing_content_ppi) (ConfigurationFacade* self, gint content_ppi); + gint (*get_printing_content_units) (ConfigurationFacade* self); + void (*set_printing_content_units) (ConfigurationFacade* self, gint units_code); + gdouble (*get_printing_content_width) (ConfigurationFacade* self); + void (*set_printing_content_width) (ConfigurationFacade* self, gdouble content_width); + gint (*get_printing_images_per_page) (ConfigurationFacade* self); + void (*set_printing_images_per_page) (ConfigurationFacade* self, gint images_per_page_code); + gboolean (*get_printing_match_aspect_ratio) (ConfigurationFacade* self); + void (*set_printing_match_aspect_ratio) (ConfigurationFacade* self, gboolean match_aspect_ratio); + gboolean (*get_printing_print_titles) (ConfigurationFacade* self); + void (*set_printing_print_titles) (ConfigurationFacade* self, gboolean print_titles); + gint (*get_printing_size_selection) (ConfigurationFacade* self); + void (*set_printing_size_selection) (ConfigurationFacade* self, gint size_code); + gchar* (*get_printing_titles_font) (ConfigurationFacade* self); + void (*set_printing_titles_font) (ConfigurationFacade* self, const gchar* font_name); + gboolean (*get_show_welcome_dialog) (ConfigurationFacade* self); + void (*set_show_welcome_dialog) (ConfigurationFacade* self, gboolean show); + gint (*get_sidebar_position) (ConfigurationFacade* self); + void (*set_sidebar_position) (ConfigurationFacade* self, gint position); + gdouble (*get_slideshow_delay) (ConfigurationFacade* self); + void (*set_slideshow_delay) (ConfigurationFacade* self, gdouble delay); + gdouble (*get_slideshow_transition_delay) (ConfigurationFacade* self); + void (*set_slideshow_transition_delay) (ConfigurationFacade* self, gdouble delay); + gchar* (*get_slideshow_transition_effect_id) (ConfigurationFacade* self); + void (*set_slideshow_transition_effect_id) (ConfigurationFacade* self, const gchar* id); + gboolean (*get_slideshow_show_title) (ConfigurationFacade* self); + void (*set_slideshow_show_title) (ConfigurationFacade* self, gboolean show_title); + gboolean (*get_use_24_hour_time) (ConfigurationFacade* self); + void (*set_use_24_hour_time) (ConfigurationFacade* self, gboolean use_24_hour_time); + gboolean (*get_use_lowercase_filenames) (ConfigurationFacade* self); + void (*set_use_lowercase_filenames) (ConfigurationFacade* self, gboolean b); + gint (*get_video_interpreter_state_cookie) (ConfigurationFacade* self); + void (*set_video_interpreter_state_cookie) (ConfigurationFacade* self, gint state_cookie); + gboolean (*get_plugin_bool) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); + void (*set_plugin_bool) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); + gdouble (*get_plugin_double) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); + void (*set_plugin_double) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); + gint (*get_plugin_int) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def); + void (*set_plugin_int) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val); + gchar* (*get_plugin_string) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); + void (*set_plugin_string) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); + void (*unset_plugin_key) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key); + FuzzyPropertyState (*is_plugin_enabled) (ConfigurationFacade* self, const gchar* id); + void (*set_plugin_enabled) (ConfigurationFacade* self, const gchar* id, gboolean enabled); +}; + +struct _ConfigFacade { + ConfigurationFacade parent_instance; + ConfigFacadePrivate * priv; +}; + +struct _ConfigFacadeClass { + ConfigurationFacadeClass parent_class; +}; + +struct _ConfigFacadePrivate { + gchar* bg_color; + gchar* selected_color; + gchar* unselected_color; + gchar* unfocused_selected_color; + gchar* border_color; +}; + +typedef enum { + CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY = 0, + CONFIGURABLE_PROPERTY_BG_COLOR_NAME, + CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS, + CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE, + CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE, + CONFIGURABLE_PROPERTY_SCREENSAVER_FILE, + CONFIGURABLE_PROPERTY_SCREENSAVER_MODE, + CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN, + CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH, + CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES, + CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS, + CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES, + CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR, + CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR, + CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS, + CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY, + CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP, + CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP, + CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED, + CONFIGURABLE_PROPERTY_IMPORT_DIR, + CONFIGURABLE_PROPERTY_KEEP_RELATIVITY, + CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT, + CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE, + CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH, + CONFIGURABLE_PROPERTY_LAST_USED_SERVICE, + CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE, + CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH, + CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS, + CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE, + CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH, + CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE, + CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO, + CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES, + CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION, + CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT, + CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT, + CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG, + CONFIGURABLE_PROPERTY_SIDEBAR_POSITION, + CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY, + CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY, + CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID, + CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE, + CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME, + CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES, + CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE, + CONFIGURABLE_PROPERTY_NUM_PROPERTIES +} ConfigurableProperty; + +typedef enum { + CONFIGURATION_ERROR_PROPERTY_HAS_NO_VALUE, + CONFIGURATION_ERROR_ENGINE_ERROR +} ConfigurationError; +#define CONFIGURATION_ERROR configuration_error_quark () +struct _ConfigurationEngineIface { + GTypeInterface parent_iface; + gchar* (*get_name) (ConfigurationEngine* self); + gint (*get_int_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_int_property) (ConfigurationEngine* self, ConfigurableProperty p, gint val, GError** error); + gchar* (*get_string_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_string_property) (ConfigurationEngine* self, ConfigurableProperty p, const gchar* val, GError** error); + gboolean (*get_bool_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_bool_property) (ConfigurationEngine* self, ConfigurableProperty p, gboolean val, GError** error); + gdouble (*get_double_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_double_property) (ConfigurationEngine* self, ConfigurableProperty p, gdouble val, GError** error); + gboolean (*get_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); + void (*set_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); + gdouble (*get_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); + void (*set_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); + gint (*get_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint def); + void (*set_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint val); + gchar* (*get_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); + void (*set_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); + void (*unset_plugin_key) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key); + FuzzyPropertyState (*is_plugin_enabled) (ConfigurationEngine* self, const gchar* id); + void (*set_plugin_enabled) (ConfigurationEngine* self, const gchar* id, gboolean enabled); +}; + + +static gpointer config_facade_parent_class = NULL; +static ConfigFacade* config_facade_instance; +static ConfigFacade* config_facade_instance = NULL; + +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +GType fuzzy_property_state_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +#define CONFIG_FACADE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CONFIG_TYPE_FACADE, ConfigFacadePrivate)) +enum { + CONFIG_FACADE_DUMMY_PROPERTY +}; +#define CONFIG_FACADE_SLIDESHOW_DELAY_MAX 30.0 +#define CONFIG_FACADE_SLIDESHOW_DELAY_MIN 1.0 +#define CONFIG_FACADE_SLIDESHOW_DELAY_DEFAULT 3.0 +#define CONFIG_FACADE_SLIDESHOW_TRANSITION_DELAY_MAX 1.0 +#define CONFIG_FACADE_SLIDESHOW_TRANSITION_DELAY_MIN 0.1 +#define CONFIG_FACADE_SLIDESHOW_TRANSITION_DELAY_DEFAULT 0.3 +#define CONFIG_FACADE_WIDTH_DEFAULT 1024 +#define CONFIG_FACADE_HEIGHT_DEFAULT 768 +#define CONFIG_FACADE_SIDEBAR_MIN_POSITION 180 +#define CONFIG_FACADE_SIDEBAR_MAX_POSITION 1000 +#define CONFIG_FACADE_DEFAULT_BG_COLOR "#444" +#define CONFIG_FACADE_NO_VIDEO_INTERPRETER_STATE -1 +#define CONFIG_FACADE_BLACK_THRESHOLD 0.61 +#define CONFIG_FACADE_DARK_SELECTED_COLOR "#0AD" +#define CONFIG_FACADE_LIGHT_SELECTED_COLOR "#2DF" +#define CONFIG_FACADE_DARK_UNSELECTED_COLOR "#000" +#define CONFIG_FACADE_LIGHT_UNSELECTED_COLOR "#FFF" +#define CONFIG_FACADE_DARK_BORDER_COLOR "#999" +#define CONFIG_FACADE_LIGHT_BORDER_COLOR "#AAA" +#define CONFIG_FACADE_DARK_UNFOCUSED_SELECTED_COLOR "#6fc4dd" +#define CONFIG_FACADE_LIGHT_UNFOCUSED_SELECTED_COLOR "#99efff" +static ConfigFacade* config_facade_new (void); +static ConfigFacade* config_facade_construct (GType object_type); +GSettingsConfigurationEngine* gsettings_configuration_engine_new (void); +GSettingsConfigurationEngine* gsettings_configuration_engine_construct (GType object_type); +GType gsettings_configuration_engine_get_type (void) G_GNUC_CONST; +GType configurable_property_get_type (void) G_GNUC_CONST; +GQuark configuration_error_quark (void); +GType configuration_engine_get_type (void) G_GNUC_CONST; +ConfigurationFacade* configuration_facade_construct (GType object_type, ConfigurationEngine* engine); +static void config_facade_on_color_name_changed (ConfigFacade* self); +static void _config_facade_on_color_name_changed_configuration_facade_bg_color_name_changed (ConfigurationFacade* _sender, gpointer self); +ConfigFacade* config_facade_get_instance (void); +static void config_facade_set_text_colors (ConfigFacade* self, GdkRGBA* bg_color); +static void config_facade_get_colors (ConfigFacade* self); +gchar* configuration_facade_get_bg_color_name (ConfigurationFacade* self); +gboolean is_color_parsable (const gchar* spec); +void parse_color (const gchar* spec, GdkRGBA* result); +void config_facade_get_bg_color (ConfigFacade* self, GdkRGBA* result); +gboolean is_string_empty (const gchar* s); +void config_facade_get_selected_color (ConfigFacade* self, gboolean in_focus, GdkRGBA* result); +void config_facade_get_unselected_color (ConfigFacade* self, GdkRGBA* result); +void config_facade_get_border_color (ConfigFacade* self, GdkRGBA* result); +void config_facade_set_bg_color (ConfigFacade* self, GdkRGBA* color); +void configuration_facade_set_bg_color_name (ConfigurationFacade* self, const gchar* color_name); +void config_facade_commit_bg_color (ConfigFacade* self); +static void config_facade_finalize (GObject* obj); +void config_preconfigure (void); +void config_init (GError** error); +void config_terminate (void); + + +static void _config_facade_on_color_name_changed_configuration_facade_bg_color_name_changed (ConfigurationFacade* _sender, gpointer self) { +#line 55 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_on_color_name_changed ((ConfigFacade*) self); +#line 410 "Config.c" +} + + +static ConfigFacade* config_facade_construct (GType object_type) { + ConfigFacade * self = NULL; + GSettingsConfigurationEngine* _tmp0_ = NULL; + GSettingsConfigurationEngine* _tmp1_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = gsettings_configuration_engine_new (); +#line 53 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = _tmp0_; +#line 53 "/home/jens/Source/shotwell/src/config/Config.vala" + self = (ConfigFacade*) configuration_facade_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine)); +#line 53 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_object_unref0 (_tmp1_); +#line 55 "/home/jens/Source/shotwell/src/config/Config.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "bg-color-name-changed", (GCallback) _config_facade_on_color_name_changed_configuration_facade_bg_color_name_changed, self, 0); +#line 52 "/home/jens/Source/shotwell/src/config/Config.vala" + return self; +#line 430 "Config.c" +} + + +static ConfigFacade* config_facade_new (void) { +#line 52 "/home/jens/Source/shotwell/src/config/Config.vala" + return config_facade_construct (CONFIG_TYPE_FACADE); +#line 437 "Config.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 62 "/home/jens/Source/shotwell/src/config/Config.vala" + return self ? g_object_ref (self) : NULL; +#line 444 "Config.c" +} + + +ConfigFacade* config_facade_get_instance (void) { + ConfigFacade* result = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = config_facade_instance; +#line 59 "/home/jens/Source/shotwell/src/config/Config.vala" + if (_tmp0_ == NULL) { +#line 457 "Config.c" + ConfigFacade* _tmp1_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = config_facade_new (); +#line 60 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_object_unref0 (config_facade_instance); +#line 60 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_instance = _tmp1_; +#line 465 "Config.c" + } +#line 62 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp2_ = config_facade_instance; +#line 62 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 62 "/home/jens/Source/shotwell/src/config/Config.vala" + result = _tmp3_; +#line 62 "/home/jens/Source/shotwell/src/config/Config.vala" + return result; +#line 475 "Config.c" +} + + +static void config_facade_on_color_name_changed (ConfigFacade* self) { +#line 65 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 66 "/home/jens/Source/shotwell/src/config/Config.vala" + g_signal_emit_by_name (self, "colors-changed"); +#line 484 "Config.c" +} + + +static void config_facade_set_text_colors (ConfigFacade* self, GdkRGBA* bg_color) { + GdkRGBA _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; +#line 69 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 69 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (bg_color != NULL); +#line 73 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = *bg_color; +#line 73 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = _tmp0_.red; +#line 73 "/home/jens/Source/shotwell/src/config/Config.vala" + if (_tmp1_ > CONFIG_FACADE_BLACK_THRESHOLD) { +#line 501 "Config.c" + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp2_ = g_strdup (CONFIG_FACADE_DARK_SELECTED_COLOR); +#line 74 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->selected_color); +#line 74 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->selected_color = _tmp2_; +#line 75 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp3_ = g_strdup (CONFIG_FACADE_DARK_UNSELECTED_COLOR); +#line 75 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->unselected_color); +#line 75 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->unselected_color = _tmp3_; +#line 76 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp4_ = g_strdup (CONFIG_FACADE_DARK_UNFOCUSED_SELECTED_COLOR); +#line 76 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->unfocused_selected_color); +#line 76 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->unfocused_selected_color = _tmp4_; +#line 77 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp5_ = g_strdup (CONFIG_FACADE_DARK_BORDER_COLOR); +#line 77 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->border_color); +#line 77 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->border_color = _tmp5_; +#line 530 "Config.c" + } else { + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp6_ = g_strdup (CONFIG_FACADE_LIGHT_SELECTED_COLOR); +#line 79 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->selected_color); +#line 79 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->selected_color = _tmp6_; +#line 80 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp7_ = g_strdup (CONFIG_FACADE_LIGHT_UNSELECTED_COLOR); +#line 80 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->unselected_color); +#line 80 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->unselected_color = _tmp7_; +#line 81 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp8_ = g_strdup (CONFIG_FACADE_LIGHT_UNFOCUSED_SELECTED_COLOR); +#line 81 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->unfocused_selected_color); +#line 81 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->unfocused_selected_color = _tmp8_; +#line 82 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp9_ = g_strdup (CONFIG_FACADE_LIGHT_BORDER_COLOR); +#line 82 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->border_color); +#line 82 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->border_color = _tmp9_; +#line 560 "Config.c" + } +} + + +static void config_facade_get_colors (ConfigFacade* self) { + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp4_ = NULL; + GdkRGBA _tmp5_ = {0}; +#line 86 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 87 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = CONFIGURATION_FACADE_CLASS (config_facade_parent_class)->get_bg_color_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 87 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->bg_color); +#line 87 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->bg_color = _tmp0_; +#line 89 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = self->priv->bg_color; +#line 89 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp2_ = is_color_parsable (_tmp1_); +#line 89 "/home/jens/Source/shotwell/src/config/Config.vala" + if (!_tmp2_) { +#line 585 "Config.c" + gchar* _tmp3_ = NULL; +#line 90 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp3_ = g_strdup (CONFIG_FACADE_DEFAULT_BG_COLOR); +#line 90 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->bg_color); +#line 90 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->bg_color = _tmp3_; +#line 593 "Config.c" + } +#line 92 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp4_ = self->priv->bg_color; +#line 92 "/home/jens/Source/shotwell/src/config/Config.vala" + parse_color (_tmp4_, &_tmp5_); +#line 92 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_set_text_colors (self, &_tmp5_); +#line 601 "Config.c" +} + + +void config_facade_get_bg_color (ConfigFacade* self, GdkRGBA* result) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + GdkRGBA _tmp3_ = {0}; +#line 95 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 96 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = self->priv->bg_color; +#line 96 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 96 "/home/jens/Source/shotwell/src/config/Config.vala" + if (_tmp1_) { +#line 97 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_get_colors (self); +#line 620 "Config.c" + } +#line 99 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp2_ = self->priv->bg_color; +#line 99 "/home/jens/Source/shotwell/src/config/Config.vala" + parse_color (_tmp2_, &_tmp3_); +#line 99 "/home/jens/Source/shotwell/src/config/Config.vala" + *result = _tmp3_; +#line 99 "/home/jens/Source/shotwell/src/config/Config.vala" + return; +#line 630 "Config.c" +} + + +void config_facade_get_selected_color (ConfigFacade* self, gboolean in_focus, GdkRGBA* result) { + gboolean _tmp0_ = FALSE; +#line 102 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 103 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = in_focus; +#line 103 "/home/jens/Source/shotwell/src/config/Config.vala" + if (_tmp0_) { +#line 642 "Config.c" + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + GdkRGBA _tmp4_ = {0}; +#line 104 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = self->priv->selected_color; +#line 104 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp2_ = is_string_empty (_tmp1_); +#line 104 "/home/jens/Source/shotwell/src/config/Config.vala" + if (_tmp2_) { +#line 105 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_get_colors (self); +#line 655 "Config.c" + } +#line 107 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp3_ = self->priv->selected_color; +#line 107 "/home/jens/Source/shotwell/src/config/Config.vala" + parse_color (_tmp3_, &_tmp4_); +#line 107 "/home/jens/Source/shotwell/src/config/Config.vala" + *result = _tmp4_; +#line 107 "/home/jens/Source/shotwell/src/config/Config.vala" + return; +#line 665 "Config.c" + } else { + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + const gchar* _tmp7_ = NULL; + GdkRGBA _tmp8_ = {0}; +#line 109 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp5_ = self->priv->unfocused_selected_color; +#line 109 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp6_ = is_string_empty (_tmp5_); +#line 109 "/home/jens/Source/shotwell/src/config/Config.vala" + if (_tmp6_) { +#line 110 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_get_colors (self); +#line 679 "Config.c" + } +#line 112 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp7_ = self->priv->unfocused_selected_color; +#line 112 "/home/jens/Source/shotwell/src/config/Config.vala" + parse_color (_tmp7_, &_tmp8_); +#line 112 "/home/jens/Source/shotwell/src/config/Config.vala" + *result = _tmp8_; +#line 112 "/home/jens/Source/shotwell/src/config/Config.vala" + return; +#line 689 "Config.c" + } +} + + +void config_facade_get_unselected_color (ConfigFacade* self, GdkRGBA* result) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + GdkRGBA _tmp3_ = {0}; +#line 116 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 117 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = self->priv->unselected_color; +#line 117 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 117 "/home/jens/Source/shotwell/src/config/Config.vala" + if (_tmp1_) { +#line 118 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_get_colors (self); +#line 709 "Config.c" + } +#line 120 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp2_ = self->priv->unselected_color; +#line 120 "/home/jens/Source/shotwell/src/config/Config.vala" + parse_color (_tmp2_, &_tmp3_); +#line 120 "/home/jens/Source/shotwell/src/config/Config.vala" + *result = _tmp3_; +#line 120 "/home/jens/Source/shotwell/src/config/Config.vala" + return; +#line 719 "Config.c" +} + + +void config_facade_get_border_color (ConfigFacade* self, GdkRGBA* result) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + GdkRGBA _tmp3_ = {0}; +#line 123 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 124 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = self->priv->border_color; +#line 124 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 124 "/home/jens/Source/shotwell/src/config/Config.vala" + if (_tmp1_) { +#line 125 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_get_colors (self); +#line 738 "Config.c" + } +#line 127 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp2_ = self->priv->border_color; +#line 127 "/home/jens/Source/shotwell/src/config/Config.vala" + parse_color (_tmp2_, &_tmp3_); +#line 127 "/home/jens/Source/shotwell/src/config/Config.vala" + *result = _tmp3_; +#line 127 "/home/jens/Source/shotwell/src/config/Config.vala" + return; +#line 748 "Config.c" +} + + +void config_facade_set_bg_color (ConfigFacade* self, GdkRGBA* color) { + guint8 col_tmp = 0U; + GdkRGBA _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GdkRGBA _tmp4_ = {0}; +#line 130 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 130 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (color != NULL); +#line 131 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = *color; +#line 131 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp1_ = _tmp0_.red; +#line 131 "/home/jens/Source/shotwell/src/config/Config.vala" + col_tmp = (guint8) (_tmp1_ * 255.0); +#line 133 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp2_ = g_strdup_printf ("#%02X%02X%02X", (guint) col_tmp, (guint) col_tmp, (guint) col_tmp); +#line 133 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->bg_color); +#line 133 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->bg_color = _tmp2_; +#line 134 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp3_ = self->priv->bg_color; +#line 134 "/home/jens/Source/shotwell/src/config/Config.vala" + configuration_facade_set_bg_color_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp3_); +#line 136 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp4_ = *color; +#line 136 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_set_text_colors (self, &_tmp4_); +#line 783 "Config.c" +} + + +void config_facade_commit_bg_color (ConfigFacade* self) { + const gchar* _tmp0_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/config/Config.vala" + g_return_if_fail (CONFIG_IS_FACADE (self)); +#line 140 "/home/jens/Source/shotwell/src/config/Config.vala" + _tmp0_ = self->priv->bg_color; +#line 140 "/home/jens/Source/shotwell/src/config/Config.vala" + CONFIGURATION_FACADE_CLASS (config_facade_parent_class)->set_bg_color_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp0_); +#line 795 "Config.c" +} + + +static void config_facade_class_init (ConfigFacadeClass * klass) { +#line 18 "/home/jens/Source/shotwell/src/config/Config.vala" + config_facade_parent_class = g_type_class_peek_parent (klass); +#line 18 "/home/jens/Source/shotwell/src/config/Config.vala" + g_type_class_add_private (klass, sizeof (ConfigFacadePrivate)); +#line 18 "/home/jens/Source/shotwell/src/config/Config.vala" + G_OBJECT_CLASS (klass)->finalize = config_facade_finalize; +#line 18 "/home/jens/Source/shotwell/src/config/Config.vala" + g_signal_new ("colors_changed", CONFIG_TYPE_FACADE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 808 "Config.c" +} + + +static void config_facade_instance_init (ConfigFacade * self) { +#line 18 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv = CONFIG_FACADE_GET_PRIVATE (self); +#line 42 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->bg_color = NULL; +#line 43 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->selected_color = NULL; +#line 44 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->unselected_color = NULL; +#line 45 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->unfocused_selected_color = NULL; +#line 46 "/home/jens/Source/shotwell/src/config/Config.vala" + self->priv->border_color = NULL; +#line 825 "Config.c" +} + + +static void config_facade_finalize (GObject* obj) { + ConfigFacade * self; +#line 18 "/home/jens/Source/shotwell/src/config/Config.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, CONFIG_TYPE_FACADE, ConfigFacade); +#line 42 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->bg_color); +#line 43 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->selected_color); +#line 44 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->unselected_color); +#line 45 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->unfocused_selected_color); +#line 46 "/home/jens/Source/shotwell/src/config/Config.vala" + _g_free0 (self->priv->border_color); +#line 18 "/home/jens/Source/shotwell/src/config/Config.vala" + G_OBJECT_CLASS (config_facade_parent_class)->finalize (obj); +#line 845 "Config.c" +} + + +GType config_facade_get_type (void) { + static volatile gsize config_facade_type_id__volatile = 0; + if (g_once_init_enter (&config_facade_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ConfigFacadeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) config_facade_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ConfigFacade), 0, (GInstanceInitFunc) config_facade_instance_init, NULL }; + GType config_facade_type_id; + config_facade_type_id = g_type_register_static (TYPE_CONFIGURATION_FACADE, "ConfigFacade", &g_define_type_info, 0); + g_once_init_leave (&config_facade_type_id__volatile, config_facade_type_id); + } + return config_facade_type_id__volatile; +} + + +void config_preconfigure (void) { +} + + +void config_init (GError** error) { +} + + +void config_terminate (void) { +} + + + diff --git a/src/config/ConfigurationInterfaces.c b/src/config/ConfigurationInterfaces.c new file mode 100644 index 0000000..0e35565 --- /dev/null +++ b/src/config/ConfigurationInterfaces.c @@ -0,0 +1,12023 @@ +/* ConfigurationInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from ConfigurationInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_FUZZY_PROPERTY_STATE (fuzzy_property_state_get_type ()) + +#define TYPE_CONFIGURABLE_PROPERTY (configurable_property_get_type ()) + +#define TYPE_CONFIGURATION_ENGINE (configuration_engine_get_type ()) +#define CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngine)) +#define IS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_ENGINE)) +#define CONFIGURATION_ENGINE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngineIface)) + +typedef struct _ConfigurationEngine ConfigurationEngine; +typedef struct _ConfigurationEngineIface ConfigurationEngineIface; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; +typedef struct _ConfigurationFacadePrivate ConfigurationFacadePrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +typedef enum { + CONFIGURATION_ERROR_PROPERTY_HAS_NO_VALUE, + CONFIGURATION_ERROR_ENGINE_ERROR +} ConfigurationError; +#define CONFIGURATION_ERROR configuration_error_quark () +typedef enum { + FUZZY_PROPERTY_STATE_ENABLED, + FUZZY_PROPERTY_STATE_DISABLED, + FUZZY_PROPERTY_STATE_UNKNOWN +} FuzzyPropertyState; + +typedef enum { + CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY = 0, + CONFIGURABLE_PROPERTY_BG_COLOR_NAME, + CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS, + CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE, + CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE, + CONFIGURABLE_PROPERTY_SCREENSAVER_FILE, + CONFIGURABLE_PROPERTY_SCREENSAVER_MODE, + CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN, + CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH, + CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES, + CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS, + CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES, + CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR, + CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR, + CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS, + CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY, + CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP, + CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP, + CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED, + CONFIGURABLE_PROPERTY_IMPORT_DIR, + CONFIGURABLE_PROPERTY_KEEP_RELATIVITY, + CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT, + CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE, + CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH, + CONFIGURABLE_PROPERTY_LAST_USED_SERVICE, + CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE, + CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH, + CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS, + CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE, + CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH, + CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE, + CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO, + CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES, + CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION, + CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT, + CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT, + CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG, + CONFIGURABLE_PROPERTY_SIDEBAR_POSITION, + CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY, + CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY, + CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID, + CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE, + CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME, + CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES, + CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE, + CONFIGURABLE_PROPERTY_NUM_PROPERTIES +} ConfigurableProperty; + +struct _ConfigurationEngineIface { + GTypeInterface parent_iface; + gchar* (*get_name) (ConfigurationEngine* self); + gint (*get_int_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_int_property) (ConfigurationEngine* self, ConfigurableProperty p, gint val, GError** error); + gchar* (*get_string_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_string_property) (ConfigurationEngine* self, ConfigurableProperty p, const gchar* val, GError** error); + gboolean (*get_bool_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_bool_property) (ConfigurationEngine* self, ConfigurableProperty p, gboolean val, GError** error); + gdouble (*get_double_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_double_property) (ConfigurationEngine* self, ConfigurableProperty p, gdouble val, GError** error); + gboolean (*get_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); + void (*set_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); + gdouble (*get_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); + void (*set_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); + gint (*get_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint def); + void (*set_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint val); + gchar* (*get_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); + void (*set_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); + void (*unset_plugin_key) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key); + FuzzyPropertyState (*is_plugin_enabled) (ConfigurationEngine* self, const gchar* id); + void (*set_plugin_enabled) (ConfigurationEngine* self, const gchar* id, gboolean enabled); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _ConfigurationFacade { + GObject parent_instance; + ConfigurationFacadePrivate * priv; +}; + +struct _ConfigurationFacadeClass { + GObjectClass parent_class; + gboolean (*get_auto_import_from_library) (ConfigurationFacade* self); + void (*set_auto_import_from_library) (ConfigurationFacade* self, gboolean auto_import); + gchar* (*get_bg_color_name) (ConfigurationFacade* self); + void (*set_bg_color_name) (ConfigurationFacade* self, const gchar* color_name); + gboolean (*get_commit_metadata_to_masters) (ConfigurationFacade* self); + void (*set_commit_metadata_to_masters) (ConfigurationFacade* self, gboolean commit_metadata); + gchar* (*get_desktop_background) (ConfigurationFacade* self); + void (*set_desktop_background) (ConfigurationFacade* self, const gchar* filename); + gchar* (*get_screensaver) (ConfigurationFacade* self); + void (*set_screensaver) (ConfigurationFacade* self, const gchar* filename); + gchar* (*get_directory_pattern) (ConfigurationFacade* self); + void (*set_directory_pattern) (ConfigurationFacade* self, const gchar* s); + gchar* (*get_directory_pattern_custom) (ConfigurationFacade* self); + void (*set_directory_pattern_custom) (ConfigurationFacade* self, const gchar* s); + void (*get_direct_window_state) (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); + void (*set_direct_window_state) (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); + gboolean (*get_display_basic_properties) (ConfigurationFacade* self); + void (*set_display_basic_properties) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_extended_properties) (ConfigurationFacade* self); + void (*set_display_extended_properties) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_sidebar) (ConfigurationFacade* self); + void (*set_display_sidebar) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_toolbar) (ConfigurationFacade* self); + void (*set_display_toolbar) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_search_bar) (ConfigurationFacade* self); + void (*set_display_search_bar) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_photo_ratings) (ConfigurationFacade* self); + void (*set_display_photo_ratings) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_photo_tags) (ConfigurationFacade* self); + void (*set_display_photo_tags) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_photo_titles) (ConfigurationFacade* self); + void (*set_display_photo_titles) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_photo_comments) (ConfigurationFacade* self); + void (*set_display_photo_comments) (ConfigurationFacade* self, gboolean display); + gboolean (*get_display_event_comments) (ConfigurationFacade* self); + void (*set_display_event_comments) (ConfigurationFacade* self, gboolean display); + void (*get_event_photos_sort) (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); + void (*set_event_photos_sort) (ConfigurationFacade* self, gboolean sort_order, gint sort_by); + gboolean (*get_events_sort_ascending) (ConfigurationFacade* self); + void (*set_events_sort_ascending) (ConfigurationFacade* self, gboolean sort); + gchar* (*get_external_photo_app) (ConfigurationFacade* self); + void (*set_external_photo_app) (ConfigurationFacade* self, const gchar* external_photo_app); + gchar* (*get_external_raw_app) (ConfigurationFacade* self); + void (*set_external_raw_app) (ConfigurationFacade* self, const gchar* external_raw_app); + RawDeveloper (*get_default_raw_developer) (ConfigurationFacade* self); + void (*set_default_raw_developer) (ConfigurationFacade* self, RawDeveloper d); + gboolean (*get_hide_photos_already_imported) (ConfigurationFacade* self); + void (*set_hide_photos_already_imported) (ConfigurationFacade* self, gboolean hide_imported); + gchar* (*get_import_dir) (ConfigurationFacade* self); + void (*set_import_dir) (ConfigurationFacade* self, const gchar* import_dir); + gboolean (*get_keep_relativity) (ConfigurationFacade* self); + void (*set_keep_relativity) (ConfigurationFacade* self, gboolean keep_relativity); + gboolean (*get_pin_toolbar_state) (ConfigurationFacade* self); + void (*set_pin_toolbar_state) (ConfigurationFacade* self, gboolean state); + gint (*get_last_crop_height) (ConfigurationFacade* self); + void (*set_last_crop_height) (ConfigurationFacade* self, gint choice); + gint (*get_last_crop_menu_choice) (ConfigurationFacade* self); + void (*set_last_crop_menu_choice) (ConfigurationFacade* self, gint choice); + gint (*get_last_crop_width) (ConfigurationFacade* self); + void (*set_last_crop_width) (ConfigurationFacade* self, gint choice); + gchar* (*get_last_used_service) (ConfigurationFacade* self); + void (*set_last_used_service) (ConfigurationFacade* self, const gchar* service_name); + gchar* (*get_last_used_dataimports_service) (ConfigurationFacade* self); + void (*set_last_used_dataimports_service) (ConfigurationFacade* self, const gchar* service_name); + void (*get_library_photos_sort) (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); + void (*set_library_photos_sort) (ConfigurationFacade* self, gboolean sort_order, gint sort_by); + void (*get_library_window_state) (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); + void (*set_library_window_state) (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); + gboolean (*get_modify_originals) (ConfigurationFacade* self); + void (*set_modify_originals) (ConfigurationFacade* self, gboolean modify_originals); + gint (*get_photo_thumbnail_scale) (ConfigurationFacade* self); + void (*set_photo_thumbnail_scale) (ConfigurationFacade* self, gint scale); + gdouble (*get_printing_content_height) (ConfigurationFacade* self); + void (*set_printing_content_height) (ConfigurationFacade* self, gdouble content_height); + gint (*get_printing_content_layout) (ConfigurationFacade* self); + void (*set_printing_content_layout) (ConfigurationFacade* self, gint layout_code); + gint (*get_printing_content_ppi) (ConfigurationFacade* self); + void (*set_printing_content_ppi) (ConfigurationFacade* self, gint content_ppi); + gint (*get_printing_content_units) (ConfigurationFacade* self); + void (*set_printing_content_units) (ConfigurationFacade* self, gint units_code); + gdouble (*get_printing_content_width) (ConfigurationFacade* self); + void (*set_printing_content_width) (ConfigurationFacade* self, gdouble content_width); + gint (*get_printing_images_per_page) (ConfigurationFacade* self); + void (*set_printing_images_per_page) (ConfigurationFacade* self, gint images_per_page_code); + gboolean (*get_printing_match_aspect_ratio) (ConfigurationFacade* self); + void (*set_printing_match_aspect_ratio) (ConfigurationFacade* self, gboolean match_aspect_ratio); + gboolean (*get_printing_print_titles) (ConfigurationFacade* self); + void (*set_printing_print_titles) (ConfigurationFacade* self, gboolean print_titles); + gint (*get_printing_size_selection) (ConfigurationFacade* self); + void (*set_printing_size_selection) (ConfigurationFacade* self, gint size_code); + gchar* (*get_printing_titles_font) (ConfigurationFacade* self); + void (*set_printing_titles_font) (ConfigurationFacade* self, const gchar* font_name); + gboolean (*get_show_welcome_dialog) (ConfigurationFacade* self); + void (*set_show_welcome_dialog) (ConfigurationFacade* self, gboolean show); + gint (*get_sidebar_position) (ConfigurationFacade* self); + void (*set_sidebar_position) (ConfigurationFacade* self, gint position); + gdouble (*get_slideshow_delay) (ConfigurationFacade* self); + void (*set_slideshow_delay) (ConfigurationFacade* self, gdouble delay); + gdouble (*get_slideshow_transition_delay) (ConfigurationFacade* self); + void (*set_slideshow_transition_delay) (ConfigurationFacade* self, gdouble delay); + gchar* (*get_slideshow_transition_effect_id) (ConfigurationFacade* self); + void (*set_slideshow_transition_effect_id) (ConfigurationFacade* self, const gchar* id); + gboolean (*get_slideshow_show_title) (ConfigurationFacade* self); + void (*set_slideshow_show_title) (ConfigurationFacade* self, gboolean show_title); + gboolean (*get_use_24_hour_time) (ConfigurationFacade* self); + void (*set_use_24_hour_time) (ConfigurationFacade* self, gboolean use_24_hour_time); + gboolean (*get_use_lowercase_filenames) (ConfigurationFacade* self); + void (*set_use_lowercase_filenames) (ConfigurationFacade* self, gboolean b); + gint (*get_video_interpreter_state_cookie) (ConfigurationFacade* self); + void (*set_video_interpreter_state_cookie) (ConfigurationFacade* self, gint state_cookie); + gboolean (*get_plugin_bool) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); + void (*set_plugin_bool) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); + gdouble (*get_plugin_double) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); + void (*set_plugin_double) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); + gint (*get_plugin_int) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def); + void (*set_plugin_int) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val); + gchar* (*get_plugin_string) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); + void (*set_plugin_string) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); + void (*unset_plugin_key) (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key); + FuzzyPropertyState (*is_plugin_enabled) (ConfigurationFacade* self, const gchar* id); + void (*set_plugin_enabled) (ConfigurationFacade* self, const gchar* id, gboolean enabled); +}; + +struct _ConfigurationFacadePrivate { + ConfigurationEngine* engine; +}; + + +static gpointer configuration_facade_parent_class = NULL; + +GQuark configuration_error_quark (void); +GType fuzzy_property_state_get_type (void) G_GNUC_CONST; +GType configurable_property_get_type (void) G_GNUC_CONST; +gchar* configurable_property_to_string (ConfigurableProperty self); +GType configuration_engine_get_type (void) G_GNUC_CONST; +gchar* configuration_engine_get_name (ConfigurationEngine* self); +gint configuration_engine_get_int_property (ConfigurationEngine* self, ConfigurableProperty p, GError** error); +void configuration_engine_set_int_property (ConfigurationEngine* self, ConfigurableProperty p, gint val, GError** error); +gchar* configuration_engine_get_string_property (ConfigurationEngine* self, ConfigurableProperty p, GError** error); +void configuration_engine_set_string_property (ConfigurationEngine* self, ConfigurableProperty p, const gchar* val, GError** error); +gboolean configuration_engine_get_bool_property (ConfigurationEngine* self, ConfigurableProperty p, GError** error); +void configuration_engine_set_bool_property (ConfigurationEngine* self, ConfigurableProperty p, gboolean val, GError** error); +gdouble configuration_engine_get_double_property (ConfigurationEngine* self, ConfigurableProperty p, GError** error); +void configuration_engine_set_double_property (ConfigurationEngine* self, ConfigurableProperty p, gdouble val, GError** error); +gboolean configuration_engine_get_plugin_bool (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); +void configuration_engine_set_plugin_bool (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); +gdouble configuration_engine_get_plugin_double (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); +void configuration_engine_set_plugin_double (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); +gint configuration_engine_get_plugin_int (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint def); +void configuration_engine_set_plugin_int (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint val); +gchar* configuration_engine_get_plugin_string (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); +void configuration_engine_set_plugin_string (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); +void configuration_engine_unset_plugin_key (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key); +FuzzyPropertyState configuration_engine_is_plugin_enabled (ConfigurationEngine* self, const gchar* id); +void configuration_engine_set_plugin_enabled (ConfigurationEngine* self, const gchar* id, gboolean enabled); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +#define CONFIGURATION_FACADE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CONFIGURATION_FACADE, ConfigurationFacadePrivate)) +enum { + CONFIGURATION_FACADE_DUMMY_PROPERTY +}; +ConfigurationFacade* configuration_facade_construct (GType object_type, ConfigurationEngine* engine); +static void configuration_facade_on_property_changed (ConfigurationFacade* self, ConfigurableProperty p); +static void _configuration_facade_on_property_changed_configuration_engine_property_changed (ConfigurationEngine* _sender, ConfigurableProperty p, gpointer self); +ConfigurationEngine* configuration_facade_get_engine (ConfigurationFacade* self); +void configuration_facade_on_configuration_error (ConfigurationFacade* self, GError* err); +gboolean configuration_facade_get_auto_import_from_library (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_auto_import_from_library (ConfigurationFacade* self); +void configuration_facade_set_auto_import_from_library (ConfigurationFacade* self, gboolean auto_import); +static void configuration_facade_real_set_auto_import_from_library (ConfigurationFacade* self, gboolean auto_import); +gchar* configuration_facade_get_bg_color_name (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_bg_color_name (ConfigurationFacade* self); +void configuration_facade_set_bg_color_name (ConfigurationFacade* self, const gchar* color_name); +static void configuration_facade_real_set_bg_color_name (ConfigurationFacade* self, const gchar* color_name); +gboolean configuration_facade_get_commit_metadata_to_masters (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_commit_metadata_to_masters (ConfigurationFacade* self); +void configuration_facade_set_commit_metadata_to_masters (ConfigurationFacade* self, gboolean commit_metadata); +static void configuration_facade_real_set_commit_metadata_to_masters (ConfigurationFacade* self, gboolean commit_metadata); +gchar* configuration_facade_get_desktop_background (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_desktop_background (ConfigurationFacade* self); +void configuration_facade_set_desktop_background (ConfigurationFacade* self, const gchar* filename); +static void configuration_facade_real_set_desktop_background (ConfigurationFacade* self, const gchar* filename); +gchar* configuration_facade_get_screensaver (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_screensaver (ConfigurationFacade* self); +void configuration_facade_set_screensaver (ConfigurationFacade* self, const gchar* filename); +static void configuration_facade_real_set_screensaver (ConfigurationFacade* self, const gchar* filename); +gchar* configuration_facade_get_directory_pattern (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_directory_pattern (ConfigurationFacade* self); +void configuration_facade_set_directory_pattern (ConfigurationFacade* self, const gchar* s); +static void configuration_facade_real_set_directory_pattern (ConfigurationFacade* self, const gchar* s); +gchar* configuration_facade_get_directory_pattern_custom (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_directory_pattern_custom (ConfigurationFacade* self); +void configuration_facade_set_directory_pattern_custom (ConfigurationFacade* self, const gchar* s); +static void configuration_facade_real_set_directory_pattern_custom (ConfigurationFacade* self, const gchar* s); +void configuration_facade_get_direct_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); +static void configuration_facade_real_get_direct_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); +void dimensions_init (Dimensions *self, gint width, gint height); +void configuration_facade_set_direct_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); +static void configuration_facade_real_set_direct_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); +gboolean configuration_facade_get_display_basic_properties (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_basic_properties (ConfigurationFacade* self); +void configuration_facade_set_display_basic_properties (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_basic_properties (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_extended_properties (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_extended_properties (ConfigurationFacade* self); +void configuration_facade_set_display_extended_properties (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_extended_properties (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_sidebar (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_sidebar (ConfigurationFacade* self); +void configuration_facade_set_display_sidebar (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_sidebar (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_toolbar (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_toolbar (ConfigurationFacade* self); +void configuration_facade_set_display_toolbar (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_toolbar (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_search_bar (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_search_bar (ConfigurationFacade* self); +void configuration_facade_set_display_search_bar (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_search_bar (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_photo_ratings (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_photo_ratings (ConfigurationFacade* self); +void configuration_facade_set_display_photo_ratings (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_photo_ratings (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_photo_tags (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_photo_tags (ConfigurationFacade* self); +void configuration_facade_set_display_photo_tags (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_photo_tags (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_photo_titles (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_photo_titles (ConfigurationFacade* self); +void configuration_facade_set_display_photo_titles (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_photo_titles (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_photo_comments (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_photo_comments (ConfigurationFacade* self); +void configuration_facade_set_display_photo_comments (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_photo_comments (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_event_comments (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_display_event_comments (ConfigurationFacade* self); +void configuration_facade_set_display_event_comments (ConfigurationFacade* self, gboolean display); +static void configuration_facade_real_set_display_event_comments (ConfigurationFacade* self, gboolean display); +void configuration_facade_get_event_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void configuration_facade_real_get_event_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +void configuration_facade_set_event_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +static void configuration_facade_real_set_event_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_events_sort_ascending (ConfigurationFacade* self); +void configuration_facade_set_events_sort_ascending (ConfigurationFacade* self, gboolean sort); +static void configuration_facade_real_set_events_sort_ascending (ConfigurationFacade* self, gboolean sort); +gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_external_photo_app (ConfigurationFacade* self); +void configuration_facade_set_external_photo_app (ConfigurationFacade* self, const gchar* external_photo_app); +static void configuration_facade_real_set_external_photo_app (ConfigurationFacade* self, const gchar* external_photo_app); +gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_external_raw_app (ConfigurationFacade* self); +void configuration_facade_set_external_raw_app (ConfigurationFacade* self, const gchar* external_raw_app); +static void configuration_facade_real_set_external_raw_app (ConfigurationFacade* self, const gchar* external_raw_app); +RawDeveloper configuration_facade_get_default_raw_developer (ConfigurationFacade* self); +static RawDeveloper configuration_facade_real_get_default_raw_developer (ConfigurationFacade* self); +RawDeveloper raw_developer_from_string (const gchar* value); +void configuration_facade_set_default_raw_developer (ConfigurationFacade* self, RawDeveloper d); +static void configuration_facade_real_set_default_raw_developer (ConfigurationFacade* self, RawDeveloper d); +gchar* raw_developer_to_string (RawDeveloper self); +gboolean configuration_facade_get_hide_photos_already_imported (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_hide_photos_already_imported (ConfigurationFacade* self); +void configuration_facade_set_hide_photos_already_imported (ConfigurationFacade* self, gboolean hide_imported); +static void configuration_facade_real_set_hide_photos_already_imported (ConfigurationFacade* self, gboolean hide_imported); +gchar* configuration_facade_get_import_dir (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_import_dir (ConfigurationFacade* self); +void configuration_facade_set_import_dir (ConfigurationFacade* self, const gchar* import_dir); +static void configuration_facade_real_set_import_dir (ConfigurationFacade* self, const gchar* import_dir); +gboolean configuration_facade_get_keep_relativity (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_keep_relativity (ConfigurationFacade* self); +void configuration_facade_set_keep_relativity (ConfigurationFacade* self, gboolean keep_relativity); +static void configuration_facade_real_set_keep_relativity (ConfigurationFacade* self, gboolean keep_relativity); +gboolean configuration_facade_get_pin_toolbar_state (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_pin_toolbar_state (ConfigurationFacade* self); +void configuration_facade_set_pin_toolbar_state (ConfigurationFacade* self, gboolean state); +static void configuration_facade_real_set_pin_toolbar_state (ConfigurationFacade* self, gboolean state); +gint configuration_facade_get_last_crop_height (ConfigurationFacade* self); +static gint configuration_facade_real_get_last_crop_height (ConfigurationFacade* self); +void configuration_facade_set_last_crop_height (ConfigurationFacade* self, gint choice); +static void configuration_facade_real_set_last_crop_height (ConfigurationFacade* self, gint choice); +gint configuration_facade_get_last_crop_menu_choice (ConfigurationFacade* self); +static gint configuration_facade_real_get_last_crop_menu_choice (ConfigurationFacade* self); +void configuration_facade_set_last_crop_menu_choice (ConfigurationFacade* self, gint choice); +static void configuration_facade_real_set_last_crop_menu_choice (ConfigurationFacade* self, gint choice); +gint configuration_facade_get_last_crop_width (ConfigurationFacade* self); +static gint configuration_facade_real_get_last_crop_width (ConfigurationFacade* self); +void configuration_facade_set_last_crop_width (ConfigurationFacade* self, gint choice); +static void configuration_facade_real_set_last_crop_width (ConfigurationFacade* self, gint choice); +gchar* configuration_facade_get_last_used_service (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_last_used_service (ConfigurationFacade* self); +void configuration_facade_set_last_used_service (ConfigurationFacade* self, const gchar* service_name); +static void configuration_facade_real_set_last_used_service (ConfigurationFacade* self, const gchar* service_name); +gchar* configuration_facade_get_last_used_dataimports_service (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_last_used_dataimports_service (ConfigurationFacade* self); +void configuration_facade_set_last_used_dataimports_service (ConfigurationFacade* self, const gchar* service_name); +static void configuration_facade_real_set_last_used_dataimports_service (ConfigurationFacade* self, const gchar* service_name); +void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void configuration_facade_real_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +static void configuration_facade_real_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +void configuration_facade_get_library_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); +static void configuration_facade_real_get_library_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions); +void configuration_facade_set_library_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); +static void configuration_facade_real_set_library_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); +gboolean configuration_facade_get_modify_originals (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_modify_originals (ConfigurationFacade* self); +void configuration_facade_set_modify_originals (ConfigurationFacade* self, gboolean modify_originals); +static void configuration_facade_real_set_modify_originals (ConfigurationFacade* self, gboolean modify_originals); +gint configuration_facade_get_photo_thumbnail_scale (ConfigurationFacade* self); +static gint configuration_facade_real_get_photo_thumbnail_scale (ConfigurationFacade* self); +gint thumbnail_get_DEFAULT_SCALE (void); +void configuration_facade_set_photo_thumbnail_scale (ConfigurationFacade* self, gint scale); +static void configuration_facade_real_set_photo_thumbnail_scale (ConfigurationFacade* self, gint scale); +gdouble configuration_facade_get_printing_content_height (ConfigurationFacade* self); +static gdouble configuration_facade_real_get_printing_content_height (ConfigurationFacade* self); +void configuration_facade_set_printing_content_height (ConfigurationFacade* self, gdouble content_height); +static void configuration_facade_real_set_printing_content_height (ConfigurationFacade* self, gdouble content_height); +gint configuration_facade_get_printing_content_layout (ConfigurationFacade* self); +static gint configuration_facade_real_get_printing_content_layout (ConfigurationFacade* self); +void configuration_facade_set_printing_content_layout (ConfigurationFacade* self, gint layout_code); +static void configuration_facade_real_set_printing_content_layout (ConfigurationFacade* self, gint layout_code); +gint configuration_facade_get_printing_content_ppi (ConfigurationFacade* self); +static gint configuration_facade_real_get_printing_content_ppi (ConfigurationFacade* self); +void configuration_facade_set_printing_content_ppi (ConfigurationFacade* self, gint content_ppi); +static void configuration_facade_real_set_printing_content_ppi (ConfigurationFacade* self, gint content_ppi); +gint configuration_facade_get_printing_content_units (ConfigurationFacade* self); +static gint configuration_facade_real_get_printing_content_units (ConfigurationFacade* self); +void configuration_facade_set_printing_content_units (ConfigurationFacade* self, gint units_code); +static void configuration_facade_real_set_printing_content_units (ConfigurationFacade* self, gint units_code); +gdouble configuration_facade_get_printing_content_width (ConfigurationFacade* self); +static gdouble configuration_facade_real_get_printing_content_width (ConfigurationFacade* self); +void configuration_facade_set_printing_content_width (ConfigurationFacade* self, gdouble content_width); +static void configuration_facade_real_set_printing_content_width (ConfigurationFacade* self, gdouble content_width); +gint configuration_facade_get_printing_images_per_page (ConfigurationFacade* self); +static gint configuration_facade_real_get_printing_images_per_page (ConfigurationFacade* self); +void configuration_facade_set_printing_images_per_page (ConfigurationFacade* self, gint images_per_page_code); +static void configuration_facade_real_set_printing_images_per_page (ConfigurationFacade* self, gint images_per_page_code); +gboolean configuration_facade_get_printing_match_aspect_ratio (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_printing_match_aspect_ratio (ConfigurationFacade* self); +void configuration_facade_set_printing_match_aspect_ratio (ConfigurationFacade* self, gboolean match_aspect_ratio); +static void configuration_facade_real_set_printing_match_aspect_ratio (ConfigurationFacade* self, gboolean match_aspect_ratio); +gboolean configuration_facade_get_printing_print_titles (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_printing_print_titles (ConfigurationFacade* self); +void configuration_facade_set_printing_print_titles (ConfigurationFacade* self, gboolean print_titles); +static void configuration_facade_real_set_printing_print_titles (ConfigurationFacade* self, gboolean print_titles); +gint configuration_facade_get_printing_size_selection (ConfigurationFacade* self); +static gint configuration_facade_real_get_printing_size_selection (ConfigurationFacade* self); +void configuration_facade_set_printing_size_selection (ConfigurationFacade* self, gint size_code); +static void configuration_facade_real_set_printing_size_selection (ConfigurationFacade* self, gint size_code); +gchar* configuration_facade_get_printing_titles_font (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_printing_titles_font (ConfigurationFacade* self); +void configuration_facade_set_printing_titles_font (ConfigurationFacade* self, const gchar* font_name); +static void configuration_facade_real_set_printing_titles_font (ConfigurationFacade* self, const gchar* font_name); +gboolean configuration_facade_get_show_welcome_dialog (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_show_welcome_dialog (ConfigurationFacade* self); +void configuration_facade_set_show_welcome_dialog (ConfigurationFacade* self, gboolean show); +static void configuration_facade_real_set_show_welcome_dialog (ConfigurationFacade* self, gboolean show); +gint configuration_facade_get_sidebar_position (ConfigurationFacade* self); +static gint configuration_facade_real_get_sidebar_position (ConfigurationFacade* self); +void configuration_facade_set_sidebar_position (ConfigurationFacade* self, gint position); +static void configuration_facade_real_set_sidebar_position (ConfigurationFacade* self, gint position); +gdouble configuration_facade_get_slideshow_delay (ConfigurationFacade* self); +static gdouble configuration_facade_real_get_slideshow_delay (ConfigurationFacade* self); +void configuration_facade_set_slideshow_delay (ConfigurationFacade* self, gdouble delay); +static void configuration_facade_real_set_slideshow_delay (ConfigurationFacade* self, gdouble delay); +gdouble configuration_facade_get_slideshow_transition_delay (ConfigurationFacade* self); +static gdouble configuration_facade_real_get_slideshow_transition_delay (ConfigurationFacade* self); +void configuration_facade_set_slideshow_transition_delay (ConfigurationFacade* self, gdouble delay); +static void configuration_facade_real_set_slideshow_transition_delay (ConfigurationFacade* self, gdouble delay); +gchar* configuration_facade_get_slideshow_transition_effect_id (ConfigurationFacade* self); +static gchar* configuration_facade_real_get_slideshow_transition_effect_id (ConfigurationFacade* self); +#define NULL_TRANSITION_DESCRIPTOR_EFFECT_ID "org.yorba.shotwell.transitions.null" +#define TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID NULL_TRANSITION_DESCRIPTOR_EFFECT_ID +void configuration_facade_set_slideshow_transition_effect_id (ConfigurationFacade* self, const gchar* id); +static void configuration_facade_real_set_slideshow_transition_effect_id (ConfigurationFacade* self, const gchar* id); +gboolean configuration_facade_get_slideshow_show_title (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_slideshow_show_title (ConfigurationFacade* self); +void configuration_facade_set_slideshow_show_title (ConfigurationFacade* self, gboolean show_title); +static void configuration_facade_real_set_slideshow_show_title (ConfigurationFacade* self, gboolean show_title); +gboolean configuration_facade_get_use_24_hour_time (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_use_24_hour_time (ConfigurationFacade* self); +gboolean is_string_empty (const gchar* s); +void configuration_facade_set_use_24_hour_time (ConfigurationFacade* self, gboolean use_24_hour_time); +static void configuration_facade_real_set_use_24_hour_time (ConfigurationFacade* self, gboolean use_24_hour_time); +gboolean configuration_facade_get_use_lowercase_filenames (ConfigurationFacade* self); +static gboolean configuration_facade_real_get_use_lowercase_filenames (ConfigurationFacade* self); +void configuration_facade_set_use_lowercase_filenames (ConfigurationFacade* self, gboolean b); +static void configuration_facade_real_set_use_lowercase_filenames (ConfigurationFacade* self, gboolean b); +gint configuration_facade_get_video_interpreter_state_cookie (ConfigurationFacade* self); +static gint configuration_facade_real_get_video_interpreter_state_cookie (ConfigurationFacade* self); +void configuration_facade_set_video_interpreter_state_cookie (ConfigurationFacade* self, gint state_cookie); +static void configuration_facade_real_set_video_interpreter_state_cookie (ConfigurationFacade* self, gint state_cookie); +gboolean configuration_facade_get_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); +static gboolean configuration_facade_real_get_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); +void configuration_facade_set_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); +static void configuration_facade_real_set_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); +gdouble configuration_facade_get_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); +static gdouble configuration_facade_real_get_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); +void configuration_facade_set_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); +static void configuration_facade_real_set_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); +gint configuration_facade_get_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def); +static gint configuration_facade_real_get_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def); +void configuration_facade_set_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val); +static void configuration_facade_real_set_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val); +gchar* configuration_facade_get_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); +static gchar* configuration_facade_real_get_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); +void configuration_facade_set_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); +static void configuration_facade_real_set_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); +void configuration_facade_unset_plugin_key (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key); +static void configuration_facade_real_unset_plugin_key (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key); +FuzzyPropertyState configuration_facade_is_plugin_enabled (ConfigurationFacade* self, const gchar* id); +static FuzzyPropertyState configuration_facade_real_is_plugin_enabled (ConfigurationFacade* self, const gchar* id); +void configuration_facade_set_plugin_enabled (ConfigurationFacade* self, const gchar* id, gboolean enabled); +static void configuration_facade_real_set_plugin_enabled (ConfigurationFacade* self, const gchar* id, gboolean enabled); +static void configuration_facade_finalize (GObject* obj); + + +GQuark configuration_error_quark (void) { + return g_quark_from_static_string ("configuration_error-quark"); +} + + +GType fuzzy_property_state_get_type (void) { + static volatile gsize fuzzy_property_state_type_id__volatile = 0; + if (g_once_init_enter (&fuzzy_property_state_type_id__volatile)) { + static const GEnumValue values[] = {{FUZZY_PROPERTY_STATE_ENABLED, "FUZZY_PROPERTY_STATE_ENABLED", "enabled"}, {FUZZY_PROPERTY_STATE_DISABLED, "FUZZY_PROPERTY_STATE_DISABLED", "disabled"}, {FUZZY_PROPERTY_STATE_UNKNOWN, "FUZZY_PROPERTY_STATE_UNKNOWN", "unknown"}, {0, NULL, NULL}}; + GType fuzzy_property_state_type_id; + fuzzy_property_state_type_id = g_enum_register_static ("FuzzyPropertyState", values); + g_once_init_leave (&fuzzy_property_state_type_id__volatile, fuzzy_property_state_type_id); + } + return fuzzy_property_state_type_id__volatile; +} + + +gchar* configurable_property_to_string (ConfigurableProperty self) { + gchar* result = NULL; +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + switch (self) { +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY: +#line 615 "ConfigurationInterfaces.c" + { + gchar* _tmp0_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = g_strdup ("AUTO_IMPORT_FROM_LIBRARY"); +#line 93 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 93 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 624 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_BG_COLOR_NAME: +#line 628 "ConfigurationInterfaces.c" + { + gchar* _tmp1_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = g_strdup ("BG_COLOR_NAME"); +#line 96 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp1_; +#line 96 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 637 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS: +#line 641 "ConfigurationInterfaces.c" + { + gchar* _tmp2_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = g_strdup ("COMMIT_METADATA_TO_MASTERS"); +#line 99 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp2_; +#line 99 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 650 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE: +#line 654 "ConfigurationInterfaces.c" + { + gchar* _tmp3_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = g_strdup ("DESKTOP_BACKGROUND_FILE"); +#line 102 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp3_; +#line 102 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 663 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE: +#line 667 "ConfigurationInterfaces.c" + { + gchar* _tmp4_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = g_strdup ("DESKTOP_BACKGROUND_MODE"); +#line 105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp4_; +#line 105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 676 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_SCREENSAVER_FILE: +#line 680 "ConfigurationInterfaces.c" + { + gchar* _tmp5_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = g_strdup ("SCREENSAVER_FILE"); +#line 108 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 108 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 689 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_SCREENSAVER_MODE: +#line 693 "ConfigurationInterfaces.c" + { + gchar* _tmp6_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = g_strdup ("SCREENSAVER_MODE"); +#line 111 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp6_; +#line 111 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 702 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN: +#line 706 "ConfigurationInterfaces.c" + { + gchar* _tmp7_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup ("DIRECTORY_PATTERN"); +#line 114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 715 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM: +#line 719 "ConfigurationInterfaces.c" + { + gchar* _tmp8_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = g_strdup ("DIRECTORY_PATTERN_CUSTOM"); +#line 117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp8_; +#line 117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 728 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT: +#line 732 "ConfigurationInterfaces.c" + { + gchar* _tmp9_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = g_strdup ("DIRECT_WINDOW_HEIGHT"); +#line 120 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp9_; +#line 120 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 741 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE: +#line 745 "ConfigurationInterfaces.c" + { + gchar* _tmp10_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = g_strdup ("DIRECT_WINDOW_MAXIMIZE"); +#line 123 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp10_; +#line 123 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 754 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH: +#line 758 "ConfigurationInterfaces.c" + { + gchar* _tmp11_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp11_ = g_strdup ("DIRECT_WINDOW_WIDTH"); +#line 126 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp11_; +#line 126 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 767 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES: +#line 771 "ConfigurationInterfaces.c" + { + gchar* _tmp12_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp12_ = g_strdup ("DISPLAY_BASIC_PROPERTIES"); +#line 129 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp12_; +#line 129 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 780 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES: +#line 784 "ConfigurationInterfaces.c" + { + gchar* _tmp13_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp13_ = g_strdup ("DISPLAY_EXTENDED_PROPERTIES"); +#line 132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp13_; +#line 132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 793 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR: +#line 797 "ConfigurationInterfaces.c" + { + gchar* _tmp14_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp14_ = g_strdup ("DISPLAY_SIDEBAR"); +#line 135 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp14_; +#line 135 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 806 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR: +#line 810 "ConfigurationInterfaces.c" + { + gchar* _tmp15_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp15_ = g_strdup ("DISPLAY_TOOLBAR"); +#line 138 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp15_; +#line 138 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 819 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR: +#line 823 "ConfigurationInterfaces.c" + { + gchar* _tmp16_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp16_ = g_strdup ("DISPLAY_SEARCH_BAR"); +#line 141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp16_; +#line 141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 832 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS: +#line 836 "ConfigurationInterfaces.c" + { + gchar* _tmp17_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp17_ = g_strdup ("DISPLAY_PHOTO_RATINGS"); +#line 144 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp17_; +#line 144 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 845 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS: +#line 849 "ConfigurationInterfaces.c" + { + gchar* _tmp18_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp18_ = g_strdup ("DISPLAY_PHOTO_TAGS"); +#line 147 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp18_; +#line 147 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 858 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES: +#line 862 "ConfigurationInterfaces.c" + { + gchar* _tmp19_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp19_ = g_strdup ("DISPLAY_PHOTO_TITLES"); +#line 150 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp19_; +#line 150 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 871 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS: +#line 875 "ConfigurationInterfaces.c" + { + gchar* _tmp20_ = NULL; +#line 153 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp20_ = g_strdup ("DISPLAY_PHOTO_COMMENTS"); +#line 153 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp20_; +#line 153 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 884 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS: +#line 888 "ConfigurationInterfaces.c" + { + gchar* _tmp21_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp21_ = g_strdup ("DISPLAY_EVENT_COMMENTS"); +#line 156 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp21_; +#line 156 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 897 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING: +#line 901 "ConfigurationInterfaces.c" + { + gchar* _tmp22_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp22_ = g_strdup ("EVENT_PHOTOS_SORT_ASCENDING"); +#line 159 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp22_; +#line 159 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 910 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY: +#line 914 "ConfigurationInterfaces.c" + { + gchar* _tmp23_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp23_ = g_strdup ("EVENT_PHOTOS_SORT_BY"); +#line 162 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp23_; +#line 162 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 923 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING: +#line 927 "ConfigurationInterfaces.c" + { + gchar* _tmp24_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp24_ = g_strdup ("EVENTS_SORT_ASCENDING"); +#line 165 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp24_; +#line 165 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 936 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP: +#line 940 "ConfigurationInterfaces.c" + { + gchar* _tmp25_ = NULL; +#line 168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp25_ = g_strdup ("EXTERNAL_PHOTO_APP"); +#line 168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp25_; +#line 168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 949 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP: +#line 953 "ConfigurationInterfaces.c" + { + gchar* _tmp26_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp26_ = g_strdup ("EXTERNAL_RAW_APP"); +#line 171 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp26_; +#line 171 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 962 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED: +#line 966 "ConfigurationInterfaces.c" + { + gchar* _tmp27_ = NULL; +#line 174 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp27_ = g_strdup ("HIDE_PHOTOS_ALREADY_IMPORTED"); +#line 174 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp27_; +#line 174 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 975 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_IMPORT_DIR: +#line 979 "ConfigurationInterfaces.c" + { + gchar* _tmp28_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp28_ = g_strdup ("IMPORT_DIR"); +#line 177 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp28_; +#line 177 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 988 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_KEEP_RELATIVITY: +#line 992 "ConfigurationInterfaces.c" + { + gchar* _tmp29_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp29_ = g_strdup ("KEEP_RELATIVITY"); +#line 180 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp29_; +#line 180 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1001 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT: +#line 1005 "ConfigurationInterfaces.c" + { + gchar* _tmp30_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp30_ = g_strdup ("LAST_CROP_HEIGHT"); +#line 183 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp30_; +#line 183 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1014 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE: +#line 1018 "ConfigurationInterfaces.c" + { + gchar* _tmp31_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp31_ = g_strdup ("LAST_CROP_MENU_CHOICE"); +#line 186 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp31_; +#line 186 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1027 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH: +#line 1031 "ConfigurationInterfaces.c" + { + gchar* _tmp32_ = NULL; +#line 189 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp32_ = g_strdup ("LAST_CROP_WIDTH"); +#line 189 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp32_; +#line 189 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1040 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LAST_USED_SERVICE: +#line 1044 "ConfigurationInterfaces.c" + { + gchar* _tmp33_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp33_ = g_strdup ("LAST_USED_SERVICE"); +#line 192 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp33_; +#line 192 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1053 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE: +#line 1057 "ConfigurationInterfaces.c" + { + gchar* _tmp34_ = NULL; +#line 195 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp34_ = g_strdup ("LAST_USED_DATAIMPORTS_SERVICE"); +#line 195 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp34_; +#line 195 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1066 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING: +#line 1070 "ConfigurationInterfaces.c" + { + gchar* _tmp35_ = NULL; +#line 198 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp35_ = g_strdup ("LIBRARY_PHOTOS_SORT_ASCENDING"); +#line 198 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp35_; +#line 198 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1079 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY: +#line 1083 "ConfigurationInterfaces.c" + { + gchar* _tmp36_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp36_ = g_strdup ("LIBRARY_PHOTOS_SORT_BY"); +#line 201 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp36_; +#line 201 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1092 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT: +#line 1096 "ConfigurationInterfaces.c" + { + gchar* _tmp37_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp37_ = g_strdup ("LIBRARY_WINDOW_HEIGHT"); +#line 204 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp37_; +#line 204 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1105 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE: +#line 1109 "ConfigurationInterfaces.c" + { + gchar* _tmp38_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp38_ = g_strdup ("LIBRARY_WINDOW_MAXIMIZE"); +#line 207 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp38_; +#line 207 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1118 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH: +#line 1122 "ConfigurationInterfaces.c" + { + gchar* _tmp39_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp39_ = g_strdup ("LIBRARY_WINDOW_WIDTH"); +#line 210 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp39_; +#line 210 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1131 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS: +#line 1135 "ConfigurationInterfaces.c" + { + gchar* _tmp40_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp40_ = g_strdup ("MODIFY_ORIGINALS"); +#line 213 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp40_; +#line 213 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1144 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE: +#line 1148 "ConfigurationInterfaces.c" + { + gchar* _tmp41_ = NULL; +#line 216 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp41_ = g_strdup ("PHOTO_THUMBNAIL_SCALE"); +#line 216 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp41_; +#line 216 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1157 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE: +#line 1161 "ConfigurationInterfaces.c" + { + gchar* _tmp42_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp42_ = g_strdup ("PIN_TOOLBAR_STATE"); +#line 219 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp42_; +#line 219 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1170 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT: +#line 1174 "ConfigurationInterfaces.c" + { + gchar* _tmp43_ = NULL; +#line 222 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp43_ = g_strdup ("PRINTING_CONTENT_HEIGHT"); +#line 222 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp43_; +#line 222 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1183 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT: +#line 1187 "ConfigurationInterfaces.c" + { + gchar* _tmp44_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp44_ = g_strdup ("PRINTING_CONTENT_LAYOUT"); +#line 225 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp44_; +#line 225 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1196 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI: +#line 1200 "ConfigurationInterfaces.c" + { + gchar* _tmp45_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp45_ = g_strdup ("PRINTING_CONTENT_PPI"); +#line 228 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp45_; +#line 228 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1209 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS: +#line 1213 "ConfigurationInterfaces.c" + { + gchar* _tmp46_ = NULL; +#line 231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp46_ = g_strdup ("PRINTING_CONTENT_UNITS"); +#line 231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp46_; +#line 231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1222 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH: +#line 1226 "ConfigurationInterfaces.c" + { + gchar* _tmp47_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp47_ = g_strdup ("PRINTING_CONTENT_WIDTH"); +#line 234 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp47_; +#line 234 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1235 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE: +#line 1239 "ConfigurationInterfaces.c" + { + gchar* _tmp48_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp48_ = g_strdup ("PRINTING_IMAGES_PER_PAGE"); +#line 237 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp48_; +#line 237 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1248 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO: +#line 1252 "ConfigurationInterfaces.c" + { + gchar* _tmp49_ = NULL; +#line 240 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp49_ = g_strdup ("PRINTING_MATCH_ASPECT_RATIO"); +#line 240 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp49_; +#line 240 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1261 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES: +#line 1265 "ConfigurationInterfaces.c" + { + gchar* _tmp50_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp50_ = g_strdup ("PRINTING_PRINT_TITLES"); +#line 243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp50_; +#line 243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1274 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION: +#line 1278 "ConfigurationInterfaces.c" + { + gchar* _tmp51_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp51_ = g_strdup ("PRINTING_SIZE_SELECTION"); +#line 246 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp51_; +#line 246 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1287 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT: +#line 1291 "ConfigurationInterfaces.c" + { + gchar* _tmp52_ = NULL; +#line 249 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp52_ = g_strdup ("PRINTING_TITLES_FONT"); +#line 249 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp52_; +#line 249 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1300 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT: +#line 1304 "ConfigurationInterfaces.c" + { + gchar* _tmp53_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp53_ = g_strdup ("RAW_DEVELOPER_DEFAULT"); +#line 252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp53_; +#line 252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1313 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG: +#line 1317 "ConfigurationInterfaces.c" + { + gchar* _tmp54_ = NULL; +#line 255 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp54_ = g_strdup ("SHOW_WELCOME_DIALOG"); +#line 255 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp54_; +#line 255 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1326 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_SIDEBAR_POSITION: +#line 1330 "ConfigurationInterfaces.c" + { + gchar* _tmp55_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp55_ = g_strdup ("SIDEBAR_POSITION"); +#line 258 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp55_; +#line 258 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1339 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY: +#line 1343 "ConfigurationInterfaces.c" + { + gchar* _tmp56_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp56_ = g_strdup ("SLIDESHOW_DELAY"); +#line 261 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp56_; +#line 261 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1352 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY: +#line 1356 "ConfigurationInterfaces.c" + { + gchar* _tmp57_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp57_ = g_strdup ("SLIDESHOW_TRANSITION_DELAY"); +#line 264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp57_; +#line 264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1365 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID: +#line 1369 "ConfigurationInterfaces.c" + { + gchar* _tmp58_ = NULL; +#line 267 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp58_ = g_strdup ("SLIDESHOW_TRANSITION_EFFECT_ID"); +#line 267 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp58_; +#line 267 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1378 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE: +#line 1382 "ConfigurationInterfaces.c" + { + gchar* _tmp59_ = NULL; +#line 270 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp59_ = g_strdup ("SLIDESHOW_SHOW_TITLE"); +#line 270 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp59_; +#line 270 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1391 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME: +#line 1395 "ConfigurationInterfaces.c" + { + gchar* _tmp60_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp60_ = g_strdup ("USE_24_HOUR_TIME"); +#line 273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp60_; +#line 273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1404 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES: +#line 1408 "ConfigurationInterfaces.c" + { + gchar* _tmp61_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp61_ = g_strdup ("USE_LOWERCASE_FILENAMES"); +#line 276 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp61_; +#line 276 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1417 "ConfigurationInterfaces.c" + } +#line 91 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE: +#line 1421 "ConfigurationInterfaces.c" + { + gchar* _tmp62_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp62_ = g_strdup ("VIDEO_INTERPRETER_STATE_COOKIE"); +#line 279 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp62_; +#line 279 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1430 "ConfigurationInterfaces.c" + } + default: + { +#line 282 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_error ("ConfigurationInterfaces.vala:282: unknown ConfigurableProperty enumera" \ +"tion value"); +#line 1436 "ConfigurationInterfaces.c" + } + } +} + + +GType configurable_property_get_type (void) { + static volatile gsize configurable_property_type_id__volatile = 0; + if (g_once_init_enter (&configurable_property_type_id__volatile)) { + static const GEnumValue values[] = {{CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY, "CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY", "auto-import-from-library"}, {CONFIGURABLE_PROPERTY_BG_COLOR_NAME, "CONFIGURABLE_PROPERTY_BG_COLOR_NAME", "bg-color-name"}, {CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS, "CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS", "commit-metadata-to-masters"}, {CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE, "CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE", "desktop-background-file"}, {CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE, "CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE", "desktop-background-mode"}, {CONFIGURABLE_PROPERTY_SCREENSAVER_FILE, "CONFIGURABLE_PROPERTY_SCREENSAVER_FILE", "screensaver-file"}, {CONFIGURABLE_PROPERTY_SCREENSAVER_MODE, "CONFIGURABLE_PROPERTY_SCREENSAVER_MODE", "screensaver-mode"}, {CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN, "CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN", "directory-pattern"}, {CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM, "CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM", "directory-pattern-custom"}, {CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT, "CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT", "direct-window-height"}, {CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE, "CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE", "direct-window-maximize"}, {CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH, "CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH", "direct-window-width"}, {CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES, "CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES", "display-basic-properties"}, {CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS, "CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS", "display-event-comments"}, {CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES, "CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES", "display-extended-properties"}, {CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR, "CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR", "display-sidebar"}, {CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR, "CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR", "display-toolbar"}, {CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR, "CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR", "display-search-bar"}, {CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS, "CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS", "display-photo-ratings"}, {CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS, "CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS", "display-photo-tags"}, {CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES, "CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES", "display-photo-titles"}, {CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS, "CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS", "display-photo-comments"}, {CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING, "CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING", "event-photos-sort-ascending"}, {CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY, "CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY", "event-photos-sort-by"}, {CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING, "CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING", "events-sort-ascending"}, {CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP, "CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP", "external-photo-app"}, {CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP, "CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP", "external-raw-app"}, {CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED, "CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED", "hide-photos-already-imported"}, {CONFIGURABLE_PROPERTY_IMPORT_DIR, "CONFIGURABLE_PROPERTY_IMPORT_DIR", "import-dir"}, {CONFIGURABLE_PROPERTY_KEEP_RELATIVITY, "CONFIGURABLE_PROPERTY_KEEP_RELATIVITY", "keep-relativity"}, {CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT, "CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT", "last-crop-height"}, {CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE, "CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE", "last-crop-menu-choice"}, {CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH, "CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH", "last-crop-width"}, {CONFIGURABLE_PROPERTY_LAST_USED_SERVICE, "CONFIGURABLE_PROPERTY_LAST_USED_SERVICE", "last-used-service"}, {CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE, "CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE", "last-used-dataimports-service"}, {CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING, "CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING", "library-photos-sort-ascending"}, {CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY, "CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY", "library-photos-sort-by"}, {CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT, "CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT", "library-window-height"}, {CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE, "CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE", "library-window-maximize"}, {CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH, "CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH", "library-window-width"}, {CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS, "CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS", "modify-originals"}, {CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE, "CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE", "photo-thumbnail-scale"}, {CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE, "CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE", "pin-toolbar-state"}, {CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT, "CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT", "printing-content-height"}, {CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT, "CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT", "printing-content-layout"}, {CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI, "CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI", "printing-content-ppi"}, {CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS, "CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS", "printing-content-units"}, {CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH, "CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH", "printing-content-width"}, {CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE, "CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE", "printing-images-per-page"}, {CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO, "CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO", "printing-match-aspect-ratio"}, {CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES, "CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES", "printing-print-titles"}, {CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION, "CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION", "printing-size-selection"}, {CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT, "CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT", "printing-titles-font"}, {CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT, "CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT", "raw-developer-default"}, {CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG, "CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG", "show-welcome-dialog"}, {CONFIGURABLE_PROPERTY_SIDEBAR_POSITION, "CONFIGURABLE_PROPERTY_SIDEBAR_POSITION", "sidebar-position"}, {CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY, "CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY", "slideshow-delay"}, {CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY, "CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY", "slideshow-transition-delay"}, {CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID, "CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID", "slideshow-transition-effect-id"}, {CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE, "CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE", "slideshow-show-title"}, {CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME, "CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME", "use-24-hour-time"}, {CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES, "CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES", "use-lowercase-filenames"}, {CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE, "CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE", "video-interpreter-state-cookie"}, {CONFIGURABLE_PROPERTY_NUM_PROPERTIES, "CONFIGURABLE_PROPERTY_NUM_PROPERTIES", "num-properties"}, {0, NULL, NULL}}; + GType configurable_property_type_id; + configurable_property_type_id = g_enum_register_static ("ConfigurableProperty", values); + g_once_init_leave (&configurable_property_type_id__volatile, configurable_property_type_id); + } + return configurable_property_type_id__volatile; +} + + +gchar* configuration_engine_get_name (ConfigurationEngine* self) { +#line 290 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), NULL); +#line 290 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_name (self); +#line 1459 "ConfigurationInterfaces.c" +} + + +gint configuration_engine_get_int_property (ConfigurationEngine* self, ConfigurableProperty p, GError** error) { +#line 292 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), 0); +#line 292 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_int_property (self, p, error); +#line 1468 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_int_property (ConfigurationEngine* self, ConfigurableProperty p, gint val, GError** error) { +#line 293 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 293 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_int_property (self, p, val, error); +#line 1477 "ConfigurationInterfaces.c" +} + + +gchar* configuration_engine_get_string_property (ConfigurationEngine* self, ConfigurableProperty p, GError** error) { +#line 295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), NULL); +#line 295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_string_property (self, p, error); +#line 1486 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_string_property (ConfigurationEngine* self, ConfigurableProperty p, const gchar* val, GError** error) { +#line 296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_string_property (self, p, val, error); +#line 1495 "ConfigurationInterfaces.c" +} + + +gboolean configuration_engine_get_bool_property (ConfigurationEngine* self, ConfigurableProperty p, GError** error) { +#line 298 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), FALSE); +#line 298 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_bool_property (self, p, error); +#line 1504 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_bool_property (ConfigurationEngine* self, ConfigurableProperty p, gboolean val, GError** error) { +#line 299 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 299 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_bool_property (self, p, val, error); +#line 1513 "ConfigurationInterfaces.c" +} + + +gdouble configuration_engine_get_double_property (ConfigurationEngine* self, ConfigurableProperty p, GError** error) { +#line 301 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), 0.0); +#line 301 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_double_property (self, p, error); +#line 1522 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_double_property (ConfigurationEngine* self, ConfigurableProperty p, gdouble val, GError** error) { +#line 302 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 302 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_double_property (self, p, val, error); +#line 1531 "ConfigurationInterfaces.c" +} + + +gboolean configuration_engine_get_plugin_bool (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def) { +#line 304 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), FALSE); +#line 304 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_plugin_bool (self, domain, id, key, def); +#line 1540 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_plugin_bool (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val) { +#line 305 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 305 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_plugin_bool (self, domain, id, key, val); +#line 1549 "ConfigurationInterfaces.c" +} + + +gdouble configuration_engine_get_plugin_double (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def) { +#line 306 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), 0.0); +#line 306 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_plugin_double (self, domain, id, key, def); +#line 1558 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_plugin_double (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val) { +#line 307 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 307 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_plugin_double (self, domain, id, key, val); +#line 1567 "ConfigurationInterfaces.c" +} + + +gint configuration_engine_get_plugin_int (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint def) { +#line 308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), 0); +#line 308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_plugin_int (self, domain, id, key, def); +#line 1576 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_plugin_int (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint val) { +#line 309 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 309 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_plugin_int (self, domain, id, key, val); +#line 1585 "ConfigurationInterfaces.c" +} + + +gchar* configuration_engine_get_plugin_string (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def) { +#line 310 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), NULL); +#line 310 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->get_plugin_string (self, domain, id, key, def); +#line 1594 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_plugin_string (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val) { +#line 311 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 311 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_plugin_string (self, domain, id, key, val); +#line 1603 "ConfigurationInterfaces.c" +} + + +void configuration_engine_unset_plugin_key (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key) { +#line 312 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 312 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->unset_plugin_key (self, domain, id, key); +#line 1612 "ConfigurationInterfaces.c" +} + + +FuzzyPropertyState configuration_engine_is_plugin_enabled (ConfigurationEngine* self, const gchar* id) { +#line 314 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (self), 0); +#line 314 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_ENGINE_GET_INTERFACE (self)->is_plugin_enabled (self, id); +#line 1621 "ConfigurationInterfaces.c" +} + + +void configuration_engine_set_plugin_enabled (ConfigurationEngine* self, const gchar* id, gboolean enabled) { +#line 315 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_ENGINE (self)); +#line 315 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_ENGINE_GET_INTERFACE (self)->set_plugin_enabled (self, id, enabled); +#line 1630 "ConfigurationInterfaces.c" +} + + +static void configuration_engine_base_init (ConfigurationEngineIface * iface) { +#line 287 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + static gboolean initialized = FALSE; +#line 287 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (!initialized) { +#line 287 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + initialized = TRUE; +#line 287 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_new ("property_changed", TYPE_CONFIGURATION_ENGINE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__ENUM, G_TYPE_NONE, 1, TYPE_CONFIGURABLE_PROPERTY); +#line 1643 "ConfigurationInterfaces.c" + } +} + + +GType configuration_engine_get_type (void) { + static volatile gsize configuration_engine_type_id__volatile = 0; + if (g_once_init_enter (&configuration_engine_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ConfigurationEngineIface), (GBaseInitFunc) configuration_engine_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType configuration_engine_type_id; + configuration_engine_type_id = g_type_register_static (G_TYPE_INTERFACE, "ConfigurationEngine", &g_define_type_info, 0); + g_type_interface_add_prerequisite (configuration_engine_type_id, G_TYPE_OBJECT); + g_once_init_leave (&configuration_engine_type_id__volatile, configuration_engine_type_id); + } + return configuration_engine_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return self ? g_object_ref (self) : NULL; +#line 1664 "ConfigurationInterfaces.c" +} + + +static void _configuration_facade_on_property_changed_configuration_engine_property_changed (ConfigurationEngine* _sender, ConfigurableProperty p, gpointer self) { +#line 331 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_property_changed ((ConfigurationFacade*) self, p); +#line 1671 "ConfigurationInterfaces.c" +} + + +ConfigurationFacade* configuration_facade_construct (GType object_type, ConfigurationEngine* engine) { + ConfigurationFacade * self = NULL; + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; +#line 328 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_ENGINE (engine), NULL); +#line 328 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + self = (ConfigurationFacade*) g_object_new (object_type, NULL); +#line 329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = engine; +#line 329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (self->priv->engine); +#line 329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + self->priv->engine = _tmp1_; +#line 331 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = engine; +#line 331 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_connect_object (_tmp2_, "property-changed", (GCallback) _configuration_facade_on_property_changed_configuration_engine_property_changed, self, 0); +#line 328 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return self; +#line 1698 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_on_property_changed (ConfigurationFacade* self, ConfigurableProperty p) { + ConfigurableProperty _tmp0_ = 0; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + ConfigurableProperty _tmp3_ = 0; +#line 334 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 335 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = p; +#line 335 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configurable_property_to_string (_tmp0_); +#line 335 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 335 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_debug ("ConfigurationInterfaces.vala:335: ConfigurationFacade: engine reports " \ +"property '%s' changed.", _tmp2_); +#line 335 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp2_); +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = p; +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + switch (_tmp3_) { +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY: +#line 1725 "ConfigurationInterfaces.c" + { +#line 339 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_emit_by_name (self, "auto-import-from-library-changed"); +#line 340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + break; +#line 1731 "ConfigurationInterfaces.c" + } +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_BG_COLOR_NAME: +#line 1735 "ConfigurationInterfaces.c" + { +#line 343 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_emit_by_name (self, "bg-color-name-changed"); +#line 344 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + break; +#line 1741 "ConfigurationInterfaces.c" + } +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS: +#line 1745 "ConfigurationInterfaces.c" + { +#line 347 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_emit_by_name (self, "commit-metadata-to-masters-changed"); +#line 348 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + break; +#line 1751 "ConfigurationInterfaces.c" + } +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING: +#line 1755 "ConfigurationInterfaces.c" + { +#line 351 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_emit_by_name (self, "events-sort-ascending-changed"); +#line 352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + break; +#line 1761 "ConfigurationInterfaces.c" + } +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP: +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP: +#line 1767 "ConfigurationInterfaces.c" + { +#line 356 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_emit_by_name (self, "external-app-changed"); +#line 357 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + break; +#line 1773 "ConfigurationInterfaces.c" + } +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + case CONFIGURABLE_PROPERTY_IMPORT_DIR: +#line 1777 "ConfigurationInterfaces.c" + { +#line 360 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_emit_by_name (self, "import-directory-changed"); +#line 361 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + break; +#line 1783 "ConfigurationInterfaces.c" + } + default: +#line 337 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + break; +#line 1788 "ConfigurationInterfaces.c" + } +} + + +ConfigurationEngine* configuration_facade_get_engine (ConfigurationFacade* self) { + ConfigurationEngine* result = NULL; + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 366 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = self->priv->engine; +#line 366 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 366 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp1_; +#line 366 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1807 "ConfigurationInterfaces.c" +} + + +void configuration_facade_on_configuration_error (ConfigurationFacade* self, GError* err) { + GError* _tmp0_ = NULL; +#line 369 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 370 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = err; +#line 370 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (g_error_matches (_tmp0_, CONFIGURATION_ERROR, CONFIGURATION_ERROR_PROPERTY_HAS_NO_VALUE)) { +#line 1819 "ConfigurationInterfaces.c" + ConfigurationEngine* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GError* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 371 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = self->priv->engine; +#line 371 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = configuration_engine_get_name (_tmp1_); +#line 371 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = _tmp2_; +#line 371 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = err; +#line 371 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp4_->message; +#line 371 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_message ("ConfigurationInterfaces.vala:371: configuration engine '%s' reports PR" \ +"OPERTY_HAS_NO_VALUE error: %s", _tmp3_, _tmp5_); +#line 371 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp3_); +#line 1839 "ConfigurationInterfaces.c" + } else { + GError* _tmp6_ = NULL; +#line 374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (g_error_matches (_tmp6_, CONFIGURATION_ERROR, CONFIGURATION_ERROR_ENGINE_ERROR)) { +#line 1846 "ConfigurationInterfaces.c" + ConfigurationEngine* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + GError* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 375 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = self->priv->engine; +#line 375 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = configuration_engine_get_name (_tmp7_); +#line 375 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = _tmp8_; +#line 375 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = err; +#line 375 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp11_ = _tmp10_->message; +#line 375 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_critical ("ConfigurationInterfaces.vala:375: configuration engine '%s' reports EN" \ +"GINE_ERROR: %s", _tmp9_, _tmp11_); +#line 375 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp9_); +#line 1866 "ConfigurationInterfaces.c" + } else { + ConfigurationEngine* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp12_ = self->priv->engine; +#line 378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp13_ = configuration_engine_get_name (_tmp12_); +#line 378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp14_ = _tmp13_; +#line 378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp15_ = err; +#line 378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp16_ = _tmp15_->message; +#line 378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_critical ("ConfigurationInterfaces.vala:378: configuration engine '%s' reports un" \ +"known error: %s", _tmp14_, _tmp16_); +#line 378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp14_); +#line 1887 "ConfigurationInterfaces.c" + } + } +} + + +static gboolean configuration_facade_real_get_auto_import_from_library (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY, &_inner_error_); +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 1918 "ConfigurationInterfaces.c" + goto __catch79_configuration_error; + } +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 1927 "ConfigurationInterfaces.c" + } +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 388 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1933 "ConfigurationInterfaces.c" + } + goto __finally79; + __catch79_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 387 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 387 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 390 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 392 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 392 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 392 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 1954 "ConfigurationInterfaces.c" + } + __finally79: +#line 387 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 387 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 387 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 1963 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_auto_import_from_library (ConfigurationFacade* self) { +#line 386 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 386 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_auto_import_from_library (self); +#line 1972 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_auto_import_from_library (ConfigurationFacade* self, gboolean auto_import) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = auto_import; +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY, _tmp2_, &_inner_error_); +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 1996 "ConfigurationInterfaces.c" + goto __catch80_configuration_error; + } +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2005 "ConfigurationInterfaces.c" + } + } + goto __finally80; + __catch80_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 397 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 401 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 401 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 402 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 402 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2025 "ConfigurationInterfaces.c" + } + __finally80: +#line 397 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 397 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 397 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 397 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2036 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_auto_import_from_library (ConfigurationFacade* self, gboolean auto_import) { +#line 396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_auto_import_from_library (self, auto_import); +#line 2046 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_bg_color_name (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_BG_COLOR_NAME, &_inner_error_); +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2076 "ConfigurationInterfaces.c" + goto __catch81_configuration_error; + } +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2085 "ConfigurationInterfaces.c" + } +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 411 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2097 "ConfigurationInterfaces.c" + } + goto __finally81; + __catch81_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 410 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 410 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 413 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 415 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 415 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 415 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 415 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2121 "ConfigurationInterfaces.c" + } + __finally81: +#line 410 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 410 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 410 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2130 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_bg_color_name (ConfigurationFacade* self) { +#line 409 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 409 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_bg_color_name (self); +#line 2139 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_bg_color_name (ConfigurationFacade* self, const gchar* color_name) { + GError * _inner_error_ = NULL; +#line 419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (color_name != NULL); +#line 2147 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = color_name; +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_BG_COLOR_NAME, _tmp2_, &_inner_error_); +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2166 "ConfigurationInterfaces.c" + goto __catch82_configuration_error; + } +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2175 "ConfigurationInterfaces.c" + } + } + goto __finally82; + __catch82_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 420 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 423 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 424 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 424 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2195 "ConfigurationInterfaces.c" + } + __finally82: +#line 420 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 420 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 420 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 420 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2206 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_bg_color_name (ConfigurationFacade* self, const gchar* color_name) { +#line 419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_bg_color_name (self, color_name); +#line 2216 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_commit_metadata_to_masters (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS, &_inner_error_); +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2245 "ConfigurationInterfaces.c" + goto __catch83_configuration_error; + } +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 2254 "ConfigurationInterfaces.c" + } +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 433 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2260 "ConfigurationInterfaces.c" + } + goto __finally83; + __catch83_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 432 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 435 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 435 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 437 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 437 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 437 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2281 "ConfigurationInterfaces.c" + } + __finally83: +#line 432 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 432 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 432 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 2290 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_commit_metadata_to_masters (ConfigurationFacade* self) { +#line 431 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 431 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_commit_metadata_to_masters (self); +#line 2299 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_commit_metadata_to_masters (ConfigurationFacade* self, gboolean commit_metadata) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = commit_metadata; +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS, _tmp2_, &_inner_error_); +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2323 "ConfigurationInterfaces.c" + goto __catch84_configuration_error; + } +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2332 "ConfigurationInterfaces.c" + } + } + goto __finally84; + __catch84_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 442 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 442 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 446 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 446 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 447 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 447 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2352 "ConfigurationInterfaces.c" + } + __finally84: +#line 442 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 442 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 442 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 442 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2363 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_commit_metadata_to_masters (ConfigurationFacade* self, gboolean commit_metadata) { +#line 441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_commit_metadata_to_masters (self, commit_metadata); +#line 2373 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_desktop_background (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE, &_inner_error_); +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2403 "ConfigurationInterfaces.c" + goto __catch85_configuration_error; + } +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2412 "ConfigurationInterfaces.c" + } +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 456 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2424 "ConfigurationInterfaces.c" + } + goto __finally85; + __catch85_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 455 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 455 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 458 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 460 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 460 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 460 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 460 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2448 "ConfigurationInterfaces.c" + } + __finally85: +#line 455 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 455 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 455 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2457 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_desktop_background (ConfigurationFacade* self) { +#line 454 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 454 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_desktop_background (self); +#line 2466 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_desktop_background (ConfigurationFacade* self, const gchar* filename) { + GError * _inner_error_ = NULL; +#line 464 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (filename != NULL); +#line 2474 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + ConfigurationEngine* _tmp3_ = NULL; + ConfigurationEngine* _tmp4_ = NULL; +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = filename; +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE, _tmp2_, &_inner_error_); +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2495 "ConfigurationInterfaces.c" + goto __catch86_configuration_error; + } +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2504 "ConfigurationInterfaces.c" + } +#line 468 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_facade_get_engine (self); +#line 468 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 468 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp4_, CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE, "zoom", &_inner_error_); +#line 468 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp4_); +#line 468 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 468 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2518 "ConfigurationInterfaces.c" + goto __catch86_configuration_error; + } +#line 468 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 468 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2527 "ConfigurationInterfaces.c" + } + } + goto __finally86; + __catch86_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 465 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 465 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 465 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 2545 "ConfigurationInterfaces.c" + } + __finally86: +#line 465 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 465 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 465 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 465 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2556 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_desktop_background (ConfigurationFacade* self, const gchar* filename) { +#line 464 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 464 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_desktop_background (self, filename); +#line 2566 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_screensaver (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_SCREENSAVER_FILE, &_inner_error_); +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2596 "ConfigurationInterfaces.c" + goto __catch87_configuration_error; + } +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2605 "ConfigurationInterfaces.c" + } +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 480 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2617 "ConfigurationInterfaces.c" + } + goto __finally87; + __catch87_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 479 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 479 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 482 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 482 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 484 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 484 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 484 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 484 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2641 "ConfigurationInterfaces.c" + } + __finally87: +#line 479 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 479 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 479 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2650 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_screensaver (ConfigurationFacade* self) { +#line 478 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 478 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_screensaver (self); +#line 2659 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_screensaver (ConfigurationFacade* self, const gchar* filename) { + GError * _inner_error_ = NULL; +#line 488 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (filename != NULL); +#line 2667 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + ConfigurationEngine* _tmp3_ = NULL; + ConfigurationEngine* _tmp4_ = NULL; +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = filename; +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_SCREENSAVER_FILE, _tmp2_, &_inner_error_); +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2688 "ConfigurationInterfaces.c" + goto __catch88_configuration_error; + } +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 490 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2697 "ConfigurationInterfaces.c" + } +#line 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_facade_get_engine (self); +#line 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp4_, CONFIGURABLE_PROPERTY_SCREENSAVER_MODE, "zoom", &_inner_error_); +#line 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp4_); +#line 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2711 "ConfigurationInterfaces.c" + goto __catch88_configuration_error; + } +#line 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2720 "ConfigurationInterfaces.c" + } + } + goto __finally88; + __catch88_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 489 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 489 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 495 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 495 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 489 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 2738 "ConfigurationInterfaces.c" + } + __finally88: +#line 489 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 489 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 489 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 489 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2749 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_screensaver (ConfigurationFacade* self, const gchar* filename) { +#line 488 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 488 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_screensaver (self, filename); +#line 2759 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_directory_pattern (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* s = NULL; + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = configuration_engine_get_string_property (_tmp1_, CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN, &_inner_error_); +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = _tmp2_; +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + s = _tmp3_; +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2790 "ConfigurationInterfaces.c" + goto __catch89_configuration_error; + } +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2799 "ConfigurationInterfaces.c" + } +#line 505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (g_strcmp0 (s, "") == 0) { +#line 505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = NULL; +#line 2805 "ConfigurationInterfaces.c" + } else { +#line 505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = s; +#line 2809 "ConfigurationInterfaces.c" + } +#line 505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (s); +#line 505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2819 "ConfigurationInterfaces.c" + } + goto __finally89; + __catch89_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 503 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 507 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 507 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 509 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 509 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 509 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 509 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2843 "ConfigurationInterfaces.c" + } + __finally89: +#line 503 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 503 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 503 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2852 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_directory_pattern (ConfigurationFacade* self) { +#line 502 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 502 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_directory_pattern (self); +#line 2861 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_directory_pattern (ConfigurationFacade* self, const gchar* s) { + GError * _inner_error_ = NULL; + { + const gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = s; +#line 515 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_tmp0_ == NULL) { +#line 516 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + s = ""; +#line 2878 "ConfigurationInterfaces.c" + } +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = s; +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp2_, CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN, _tmp3_, &_inner_error_); +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2894 "ConfigurationInterfaces.c" + goto __catch90_configuration_error; + } +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2903 "ConfigurationInterfaces.c" + } + } + goto __finally90; + __catch90_configuration_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 514 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 514 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 520 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = err; +#line 520 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp4_); +#line 514 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 2921 "ConfigurationInterfaces.c" + } + __finally90: +#line 514 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 514 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 514 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 514 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 2932 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_directory_pattern (ConfigurationFacade* self, const gchar* s) { +#line 513 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 513 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_directory_pattern (self, s); +#line 2942 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_directory_pattern_custom (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM, &_inner_error_); +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 2972 "ConfigurationInterfaces.c" + goto __catch91_configuration_error; + } +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 2981 "ConfigurationInterfaces.c" + } +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 2993 "ConfigurationInterfaces.c" + } + goto __finally91; + __catch91_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 528 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 528 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 533 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 533 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 533 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 533 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3017 "ConfigurationInterfaces.c" + } + __finally91: +#line 528 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 528 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 528 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 3026 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_directory_pattern_custom (ConfigurationFacade* self) { +#line 527 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 527 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_directory_pattern_custom (self); +#line 3035 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_directory_pattern_custom (ConfigurationFacade* self, const gchar* s) { + GError * _inner_error_ = NULL; +#line 537 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (s != NULL); +#line 3043 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = s; +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM, _tmp2_, &_inner_error_); +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3062 "ConfigurationInterfaces.c" + goto __catch92_configuration_error; + } +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3071 "ConfigurationInterfaces.c" + } + } + goto __finally92; + __catch92_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 538 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 538 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 538 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 3089 "ConfigurationInterfaces.c" + } + __finally92: +#line 538 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 538 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 538 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 538 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3100 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_directory_pattern_custom (ConfigurationFacade* self, const gchar* s) { +#line 537 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 537 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_directory_pattern_custom (self, s); +#line 3110 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_get_direct_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions) { + gboolean _vala_maximize = FALSE; + Dimensions _vala_dimensions = {0}; + GError * _inner_error_ = NULL; +#line 549 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_maximize = FALSE; +#line 550 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + dimensions_init (&_vala_dimensions, 1024, 768); +#line 3122 "ConfigurationInterfaces.c" + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gint w = 0; + ConfigurationEngine* _tmp5_ = NULL; + ConfigurationEngine* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint h = 0; + ConfigurationEngine* _tmp9_ = NULL; + ConfigurationEngine* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE, &_inner_error_); +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3157 "ConfigurationInterfaces.c" + goto __catch93_configuration_error; + } +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3166 "ConfigurationInterfaces.c" + } +#line 552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_maximize = _tmp0_; +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = configuration_facade_get_engine (self); +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = _tmp5_; +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = configuration_engine_get_int_property (_tmp6_, CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH, &_inner_error_); +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = _tmp7_; +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp6_); +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + w = _tmp8_; +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3186 "ConfigurationInterfaces.c" + goto __catch93_configuration_error; + } +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 553 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3195 "ConfigurationInterfaces.c" + } +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = configuration_facade_get_engine (self); +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = _tmp9_; +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp11_ = configuration_engine_get_int_property (_tmp10_, CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT, &_inner_error_); +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp12_ = _tmp11_; +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp10_); +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + h = _tmp12_; +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3213 "ConfigurationInterfaces.c" + goto __catch93_configuration_error; + } +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3222 "ConfigurationInterfaces.c" + } +#line 555 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp13_ = w; +#line 555 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp14_ = h; +#line 555 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + dimensions_init (&_vala_dimensions, _tmp13_, _tmp14_); +#line 3230 "ConfigurationInterfaces.c" + } + goto __finally93; + __catch93_configuration_error: + { + GError* err = NULL; + GError* _tmp15_ = NULL; +#line 551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 557 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp15_ = err; +#line 557 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp15_); +#line 551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 3247 "ConfigurationInterfaces.c" + } + __finally93: +#line 551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3258 "ConfigurationInterfaces.c" + } +#line 548 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (maximize) { +#line 548 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + *maximize = _vala_maximize; +#line 3264 "ConfigurationInterfaces.c" + } +#line 548 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (dimensions) { +#line 548 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + *dimensions = _vala_dimensions; +#line 3270 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_get_direct_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions) { +#line 548 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 548 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->get_direct_window_state (self, maximize, dimensions); +#line 3280 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_direct_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions) { + GError * _inner_error_ = NULL; +#line 561 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (dimensions != NULL); +#line 3288 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ConfigurationEngine* _tmp3_ = NULL; + ConfigurationEngine* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + ConfigurationEngine* _tmp7_ = NULL; + ConfigurationEngine* _tmp8_ = NULL; + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = maximize; +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE, _tmp2_, &_inner_error_); +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3315 "ConfigurationInterfaces.c" + goto __catch94_configuration_error; + } +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3324 "ConfigurationInterfaces.c" + } +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_facade_get_engine (self); +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = *dimensions; +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = _tmp5_.width; +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp4_, CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH, _tmp6_, &_inner_error_); +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp4_); +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3342 "ConfigurationInterfaces.c" + goto __catch94_configuration_error; + } +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3351 "ConfigurationInterfaces.c" + } +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = configuration_facade_get_engine (self); +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = _tmp7_; +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = *dimensions; +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = _tmp9_.height; +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp8_, CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT, _tmp10_, &_inner_error_); +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp8_); +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3369 "ConfigurationInterfaces.c" + goto __catch94_configuration_error; + } +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3378 "ConfigurationInterfaces.c" + } + } + goto __finally94; + __catch94_configuration_error: + { + GError* err = NULL; + GError* _tmp11_ = NULL; +#line 562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 569 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp11_ = err; +#line 569 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp11_); +#line 562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 3396 "ConfigurationInterfaces.c" + } + __finally94: +#line 562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3407 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_direct_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions) { +#line 561 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 561 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_direct_window_state (self, maximize, dimensions); +#line 3417 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_basic_properties (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES, &_inner_error_); +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3446 "ConfigurationInterfaces.c" + goto __catch95_configuration_error; + } +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 3455 "ConfigurationInterfaces.c" + } +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 578 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3461 "ConfigurationInterfaces.c" + } + goto __finally95; + __catch95_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 577 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 577 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 580 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 580 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 582 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = TRUE; +#line 582 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 582 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3482 "ConfigurationInterfaces.c" + } + __finally95: +#line 577 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 577 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 577 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 3491 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_basic_properties (ConfigurationFacade* self) { +#line 576 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 576 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_basic_properties (self); +#line 3500 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_basic_properties (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES, _tmp2_, &_inner_error_); +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3524 "ConfigurationInterfaces.c" + goto __catch96_configuration_error; + } +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 588 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3533 "ConfigurationInterfaces.c" + } + } + goto __finally96; + __catch96_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 590 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 590 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 3551 "ConfigurationInterfaces.c" + } + __finally96: +#line 587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3562 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_basic_properties (ConfigurationFacade* self, gboolean display) { +#line 586 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 586 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_basic_properties (self, display); +#line 3572 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_extended_properties (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES, &_inner_error_); +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3601 "ConfigurationInterfaces.c" + goto __catch97_configuration_error; + } +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 3610 "ConfigurationInterfaces.c" + } +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3616 "ConfigurationInterfaces.c" + } + goto __finally97; + __catch97_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 598 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 598 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 601 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 603 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 603 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 603 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3637 "ConfigurationInterfaces.c" + } + __finally97: +#line 598 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 598 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 598 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 3646 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_extended_properties (ConfigurationFacade* self) { +#line 597 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 597 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_extended_properties (self); +#line 3655 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_extended_properties (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES, _tmp2_, &_inner_error_); +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3679 "ConfigurationInterfaces.c" + goto __catch98_configuration_error; + } +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 609 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3688 "ConfigurationInterfaces.c" + } + } + goto __finally98; + __catch98_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 608 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 608 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 612 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 612 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 608 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 3706 "ConfigurationInterfaces.c" + } + __finally98: +#line 608 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 608 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 608 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 608 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3717 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_extended_properties (ConfigurationFacade* self, gboolean display) { +#line 607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_extended_properties (self, display); +#line 3727 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_sidebar (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR, &_inner_error_); +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3756 "ConfigurationInterfaces.c" + goto __catch99_configuration_error; + } +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 3765 "ConfigurationInterfaces.c" + } +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3771 "ConfigurationInterfaces.c" + } + goto __finally99; + __catch99_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 620 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 620 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 623 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 623 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 625 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 625 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 625 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3792 "ConfigurationInterfaces.c" + } + __finally99: +#line 620 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 620 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 620 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 3801 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_sidebar (ConfigurationFacade* self) { +#line 619 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 619 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_sidebar (self); +#line 3810 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_sidebar (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR, _tmp2_, &_inner_error_); +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3834 "ConfigurationInterfaces.c" + goto __catch100_configuration_error; + } +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 631 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3843 "ConfigurationInterfaces.c" + } + } + goto __finally100; + __catch100_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 633 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 633 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 3861 "ConfigurationInterfaces.c" + } + __finally100: +#line 630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3872 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_sidebar (ConfigurationFacade* self, gboolean display) { +#line 629 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 629 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_sidebar (self, display); +#line 3882 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_toolbar (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR, &_inner_error_); +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3911 "ConfigurationInterfaces.c" + goto __catch101_configuration_error; + } +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 3920 "ConfigurationInterfaces.c" + } +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3926 "ConfigurationInterfaces.c" + } + goto __finally101; + __catch101_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 645 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 645 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 647 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 647 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 647 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 3947 "ConfigurationInterfaces.c" + } + __finally101: +#line 642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 3956 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_toolbar (ConfigurationFacade* self) { +#line 641 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 641 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_toolbar (self); +#line 3965 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_toolbar (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR, _tmp2_, &_inner_error_); +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 3989 "ConfigurationInterfaces.c" + goto __catch102_configuration_error; + } +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 3998 "ConfigurationInterfaces.c" + } + } + goto __finally102; + __catch102_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 652 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 652 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 655 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 655 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 652 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 4016 "ConfigurationInterfaces.c" + } + __finally102: +#line 652 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 652 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 652 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 652 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4027 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_toolbar (ConfigurationFacade* self, gboolean display) { +#line 651 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 651 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_toolbar (self, display); +#line 4037 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_search_bar (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR, &_inner_error_); +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4066 "ConfigurationInterfaces.c" + goto __catch103_configuration_error; + } +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4075 "ConfigurationInterfaces.c" + } +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4081 "ConfigurationInterfaces.c" + } + goto __finally103; + __catch103_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 663 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 663 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 666 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 668 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 668 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 668 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4102 "ConfigurationInterfaces.c" + } + __finally103: +#line 663 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 663 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 663 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4111 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_search_bar (ConfigurationFacade* self) { +#line 662 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 662 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_search_bar (self); +#line 4120 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_search_bar (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR, _tmp2_, &_inner_error_); +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4144 "ConfigurationInterfaces.c" + goto __catch104_configuration_error; + } +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 674 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4153 "ConfigurationInterfaces.c" + } + } + goto __finally104; + __catch104_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 673 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 673 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 676 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 676 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 673 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 4171 "ConfigurationInterfaces.c" + } + __finally104: +#line 673 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 673 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 673 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 673 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4182 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_search_bar (ConfigurationFacade* self, gboolean display) { +#line 672 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 672 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_search_bar (self, display); +#line 4192 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_photo_ratings (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS, &_inner_error_); +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4221 "ConfigurationInterfaces.c" + goto __catch105_configuration_error; + } +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4230 "ConfigurationInterfaces.c" + } +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 685 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4236 "ConfigurationInterfaces.c" + } + goto __finally105; + __catch105_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 684 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 684 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 687 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 687 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 689 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = TRUE; +#line 689 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 689 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4257 "ConfigurationInterfaces.c" + } + __finally105: +#line 684 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 684 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 684 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4266 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_photo_ratings (ConfigurationFacade* self) { +#line 683 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 683 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_photo_ratings (self); +#line 4275 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_photo_ratings (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS, _tmp2_, &_inner_error_); +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4299 "ConfigurationInterfaces.c" + goto __catch106_configuration_error; + } +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 695 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4308 "ConfigurationInterfaces.c" + } + } + goto __finally106; + __catch106_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 694 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 694 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 697 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 697 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 694 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 4326 "ConfigurationInterfaces.c" + } + __finally106: +#line 694 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 694 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 694 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 694 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4337 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_photo_ratings (ConfigurationFacade* self, gboolean display) { +#line 693 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 693 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_photo_ratings (self, display); +#line 4347 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_photo_tags (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS, &_inner_error_); +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4376 "ConfigurationInterfaces.c" + goto __catch107_configuration_error; + } +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4385 "ConfigurationInterfaces.c" + } +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 706 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4391 "ConfigurationInterfaces.c" + } + goto __finally107; + __catch107_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 705 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 705 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 708 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 708 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 710 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = TRUE; +#line 710 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 710 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4412 "ConfigurationInterfaces.c" + } + __finally107: +#line 705 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 705 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 705 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4421 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_photo_tags (ConfigurationFacade* self) { +#line 704 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 704 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_photo_tags (self); +#line 4430 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_photo_tags (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS, _tmp2_, &_inner_error_); +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4454 "ConfigurationInterfaces.c" + goto __catch108_configuration_error; + } +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 716 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4463 "ConfigurationInterfaces.c" + } + } + goto __finally108; + __catch108_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 715 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 715 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 718 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 718 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 715 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 4481 "ConfigurationInterfaces.c" + } + __finally108: +#line 715 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 715 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 715 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 715 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4492 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_photo_tags (ConfigurationFacade* self, gboolean display) { +#line 714 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 714 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_photo_tags (self, display); +#line 4502 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_photo_titles (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES, &_inner_error_); +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4531 "ConfigurationInterfaces.c" + goto __catch109_configuration_error; + } +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4540 "ConfigurationInterfaces.c" + } +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 727 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4546 "ConfigurationInterfaces.c" + } + goto __finally109; + __catch109_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 726 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 726 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 729 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 729 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 731 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 731 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 731 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4567 "ConfigurationInterfaces.c" + } + __finally109: +#line 726 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 726 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 726 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4576 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_photo_titles (ConfigurationFacade* self) { +#line 725 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 725 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_photo_titles (self); +#line 4585 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_photo_titles (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES, _tmp2_, &_inner_error_); +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4609 "ConfigurationInterfaces.c" + goto __catch110_configuration_error; + } +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 737 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4618 "ConfigurationInterfaces.c" + } + } + goto __finally110; + __catch110_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 736 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 736 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 739 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 739 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 736 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 4636 "ConfigurationInterfaces.c" + } + __finally110: +#line 736 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 736 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 736 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 736 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4647 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_photo_titles (ConfigurationFacade* self, gboolean display) { +#line 735 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 735 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_photo_titles (self, display); +#line 4657 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_photo_comments (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS, &_inner_error_); +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4686 "ConfigurationInterfaces.c" + goto __catch111_configuration_error; + } +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4695 "ConfigurationInterfaces.c" + } +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 748 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4701 "ConfigurationInterfaces.c" + } + goto __finally111; + __catch111_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 747 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 747 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 750 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 750 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 752 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 752 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 752 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4722 "ConfigurationInterfaces.c" + } + __finally111: +#line 747 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 747 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 747 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4731 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_photo_comments (ConfigurationFacade* self) { +#line 746 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 746 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_photo_comments (self); +#line 4740 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_photo_comments (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS, _tmp2_, &_inner_error_); +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4764 "ConfigurationInterfaces.c" + goto __catch112_configuration_error; + } +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 758 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4773 "ConfigurationInterfaces.c" + } + } + goto __finally112; + __catch112_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 757 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 757 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 760 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 760 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 757 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 4791 "ConfigurationInterfaces.c" + } + __finally112: +#line 757 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 757 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 757 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 757 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4802 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_photo_comments (ConfigurationFacade* self, gboolean display) { +#line 756 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 756 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_photo_comments (self, display); +#line 4812 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_display_event_comments (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS, &_inner_error_); +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4841 "ConfigurationInterfaces.c" + goto __catch113_configuration_error; + } +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4850 "ConfigurationInterfaces.c" + } +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 769 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4856 "ConfigurationInterfaces.c" + } + goto __finally113; + __catch113_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 768 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 768 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 771 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 771 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 773 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 773 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 773 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 4877 "ConfigurationInterfaces.c" + } + __finally113: +#line 768 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 768 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 768 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 4886 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_display_event_comments (ConfigurationFacade* self) { +#line 767 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 767 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_display_event_comments (self); +#line 4895 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_display_event_comments (ConfigurationFacade* self, gboolean display) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = display; +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS, _tmp2_, &_inner_error_); +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4919 "ConfigurationInterfaces.c" + goto __catch114_configuration_error; + } +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 779 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4928 "ConfigurationInterfaces.c" + } + } + goto __finally114; + __catch114_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 778 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 778 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 781 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 781 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 778 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 4946 "ConfigurationInterfaces.c" + } + __finally114: +#line 778 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 778 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 778 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 778 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 4957 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_display_event_comments (ConfigurationFacade* self, gboolean display) { +#line 777 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 777 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_display_event_comments (self, display); +#line 4967 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_get_event_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by) { + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + GError * _inner_error_ = NULL; +#line 789 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_sort_order = FALSE; +#line 790 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_sort_by = 2; +#line 4979 "ConfigurationInterfaces.c" + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; + ConfigurationEngine* _tmp6_ = NULL; + ConfigurationEngine* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING, &_inner_error_); +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5007 "ConfigurationInterfaces.c" + goto __catch115_configuration_error; + } +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5016 "ConfigurationInterfaces.c" + } +#line 792 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_sort_order = _tmp0_; +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = configuration_facade_get_engine (self); +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = _tmp6_; +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = configuration_engine_get_int_property (_tmp7_, CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY, &_inner_error_); +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = _tmp8_; +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp7_); +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp9_; +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5036 "ConfigurationInterfaces.c" + goto __catch115_configuration_error; + } +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5045 "ConfigurationInterfaces.c" + } +#line 794 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_sort_by = _tmp5_; +#line 5049 "ConfigurationInterfaces.c" + } + goto __finally115; + __catch115_configuration_error: + { + GError* err = NULL; + GError* _tmp10_ = NULL; +#line 791 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 791 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 796 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = err; +#line 796 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp10_); +#line 791 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 5066 "ConfigurationInterfaces.c" + } + __finally115: +#line 791 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 791 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 791 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 791 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5077 "ConfigurationInterfaces.c" + } +#line 788 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (sort_order) { +#line 788 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + *sort_order = _vala_sort_order; +#line 5083 "ConfigurationInterfaces.c" + } +#line 788 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (sort_by) { +#line 788 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + *sort_by = _vala_sort_by; +#line 5089 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_get_event_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by) { +#line 788 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 788 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->get_event_photos_sort (self, sort_order, sort_by); +#line 5099 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_event_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ConfigurationEngine* _tmp3_ = NULL; + ConfigurationEngine* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = sort_order; +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING, _tmp2_, &_inner_error_); +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5126 "ConfigurationInterfaces.c" + goto __catch116_configuration_error; + } +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 802 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5135 "ConfigurationInterfaces.c" + } +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_facade_get_engine (self); +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = sort_by; +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp4_, CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY, _tmp5_, &_inner_error_); +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp4_); +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5151 "ConfigurationInterfaces.c" + goto __catch116_configuration_error; + } +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 804 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5160 "ConfigurationInterfaces.c" + } + } + goto __finally116; + __catch116_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 801 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 807 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 807 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 801 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 5178 "ConfigurationInterfaces.c" + } + __finally116: +#line 801 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 801 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 801 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 801 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5189 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_event_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by) { +#line 800 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 800 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_event_photos_sort (self, sort_order, sort_by); +#line 5199 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_events_sort_ascending (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING, &_inner_error_); +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5228 "ConfigurationInterfaces.c" + goto __catch117_configuration_error; + } +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 5237 "ConfigurationInterfaces.c" + } +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 816 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5243 "ConfigurationInterfaces.c" + } + goto __finally117; + __catch117_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 815 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 815 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 818 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 818 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 820 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 820 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 820 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5264 "ConfigurationInterfaces.c" + } + __finally117: +#line 815 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 815 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 815 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 5273 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self) { +#line 814 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 814 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_events_sort_ascending (self); +#line 5282 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_events_sort_ascending (ConfigurationFacade* self, gboolean sort) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = sort; +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING, _tmp2_, &_inner_error_); +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5306 "ConfigurationInterfaces.c" + goto __catch118_configuration_error; + } +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 826 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5315 "ConfigurationInterfaces.c" + } + } + goto __finally118; + __catch118_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 825 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 825 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 828 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 828 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 829 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 829 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5335 "ConfigurationInterfaces.c" + } + __finally118: +#line 825 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 825 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 825 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 825 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5346 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_events_sort_ascending (ConfigurationFacade* self, gboolean sort) { +#line 824 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 824 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_events_sort_ascending (self, sort); +#line 5356 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_external_photo_app (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP, &_inner_error_); +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5386 "ConfigurationInterfaces.c" + goto __catch119_configuration_error; + } +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 5395 "ConfigurationInterfaces.c" + } +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 838 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5407 "ConfigurationInterfaces.c" + } + goto __finally119; + __catch119_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 837 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 837 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 840 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 840 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 842 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 842 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 842 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 842 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5431 "ConfigurationInterfaces.c" + } + __finally119: +#line 837 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 837 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 837 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 5440 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_external_photo_app (ConfigurationFacade* self) { +#line 836 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 836 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_external_photo_app (self); +#line 5449 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_external_photo_app (ConfigurationFacade* self, const gchar* external_photo_app) { + GError * _inner_error_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (external_photo_app != NULL); +#line 5457 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = external_photo_app; +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP, _tmp2_, &_inner_error_); +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5476 "ConfigurationInterfaces.c" + goto __catch120_configuration_error; + } +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 848 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5485 "ConfigurationInterfaces.c" + } + } + goto __finally120; + __catch120_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 847 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 851 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 851 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 852 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 852 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5505 "ConfigurationInterfaces.c" + } + __finally120: +#line 847 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 847 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 847 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 847 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5516 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_external_photo_app (ConfigurationFacade* self, const gchar* external_photo_app) { +#line 846 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 846 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_external_photo_app (self, external_photo_app); +#line 5526 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_external_raw_app (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP, &_inner_error_); +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5556 "ConfigurationInterfaces.c" + goto __catch121_configuration_error; + } +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 5565 "ConfigurationInterfaces.c" + } +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 861 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5577 "ConfigurationInterfaces.c" + } + goto __finally121; + __catch121_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 860 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 863 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 863 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 865 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 865 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 865 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 865 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5601 "ConfigurationInterfaces.c" + } + __finally121: +#line 860 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 860 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 860 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 5610 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_external_raw_app (ConfigurationFacade* self) { +#line 859 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 859 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_external_raw_app (self); +#line 5619 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_external_raw_app (ConfigurationFacade* self, const gchar* external_raw_app) { + GError * _inner_error_ = NULL; +#line 869 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (external_raw_app != NULL); +#line 5627 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = external_raw_app; +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP, _tmp2_, &_inner_error_); +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5646 "ConfigurationInterfaces.c" + goto __catch122_configuration_error; + } +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 871 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5655 "ConfigurationInterfaces.c" + } + } + goto __finally122; + __catch122_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 870 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 870 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 874 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 874 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 875 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 875 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5675 "ConfigurationInterfaces.c" + } + __finally122: +#line 870 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 870 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 870 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 870 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5686 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_external_raw_app (ConfigurationFacade* self, const gchar* external_raw_app) { +#line 869 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 869 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_external_raw_app (self, external_raw_app); +#line 5696 "ConfigurationInterfaces.c" +} + + +static RawDeveloper configuration_facade_real_get_default_raw_developer (ConfigurationFacade* self) { + RawDeveloper result = 0; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + RawDeveloper _tmp5_ = 0; +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT, &_inner_error_); +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5726 "ConfigurationInterfaces.c" + goto __catch123_configuration_error; + } +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 5735 "ConfigurationInterfaces.c" + } +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = raw_developer_from_string (_tmp0_); +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 884 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5745 "ConfigurationInterfaces.c" + } + goto __finally123; + __catch123_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; +#line 883 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 883 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 887 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 887 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 889 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = RAW_DEVELOPER_CAMERA; +#line 889 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 889 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5766 "ConfigurationInterfaces.c" + } + __finally123: +#line 883 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 883 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 883 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 5775 "ConfigurationInterfaces.c" +} + + +RawDeveloper configuration_facade_get_default_raw_developer (ConfigurationFacade* self) { +#line 882 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 882 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_default_raw_developer (self); +#line 5784 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_default_raw_developer (ConfigurationFacade* self, RawDeveloper d) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + RawDeveloper _tmp2_ = 0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = d; +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = raw_developer_to_string (_tmp2_); +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT, _tmp4_, &_inner_error_); +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp4_); +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5816 "ConfigurationInterfaces.c" + goto __catch124_configuration_error; + } +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 895 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5825 "ConfigurationInterfaces.c" + } + } + goto __finally124; + __catch124_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 894 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 894 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 898 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 898 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 899 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 899 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5845 "ConfigurationInterfaces.c" + } + __finally124: +#line 894 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 894 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 894 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 894 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5856 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_default_raw_developer (ConfigurationFacade* self, RawDeveloper d) { +#line 893 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 893 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_default_raw_developer (self, d); +#line 5866 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_hide_photos_already_imported (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED, &_inner_error_); +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5895 "ConfigurationInterfaces.c" + goto __catch125_configuration_error; + } +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 5904 "ConfigurationInterfaces.c" + } +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 908 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5910 "ConfigurationInterfaces.c" + } + goto __finally125; + __catch125_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 907 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 907 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 910 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 910 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 912 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = TRUE; +#line 912 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 912 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 5931 "ConfigurationInterfaces.c" + } + __finally125: +#line 907 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 907 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 907 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 5940 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_hide_photos_already_imported (ConfigurationFacade* self) { +#line 906 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 906 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_hide_photos_already_imported (self); +#line 5949 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_hide_photos_already_imported (ConfigurationFacade* self, gboolean hide_imported) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = hide_imported; +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED, _tmp2_, &_inner_error_); +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5973 "ConfigurationInterfaces.c" + goto __catch126_configuration_error; + } +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 918 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 5982 "ConfigurationInterfaces.c" + } + } + goto __finally126; + __catch126_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 917 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 917 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 920 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 920 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 917 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 6000 "ConfigurationInterfaces.c" + } + __finally126: +#line 917 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 917 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 917 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 917 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6011 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_hide_photos_already_imported (ConfigurationFacade* self, gboolean hide_imported) { +#line 916 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 916 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_hide_photos_already_imported (self, hide_imported); +#line 6021 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_import_dir (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_IMPORT_DIR, &_inner_error_); +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6051 "ConfigurationInterfaces.c" + goto __catch127_configuration_error; + } +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 6060 "ConfigurationInterfaces.c" + } +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 929 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6072 "ConfigurationInterfaces.c" + } + goto __finally127; + __catch127_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 928 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 928 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 931 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 931 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 933 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 933 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 933 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 933 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6096 "ConfigurationInterfaces.c" + } + __finally127: +#line 928 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 928 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 928 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 6105 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_import_dir (ConfigurationFacade* self) { +#line 927 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 927 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_import_dir (self); +#line 6114 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_import_dir (ConfigurationFacade* self, const gchar* import_dir) { + GError * _inner_error_ = NULL; +#line 937 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (import_dir != NULL); +#line 6122 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = import_dir; +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_IMPORT_DIR, _tmp2_, &_inner_error_); +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6141 "ConfigurationInterfaces.c" + goto __catch128_configuration_error; + } +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 939 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6150 "ConfigurationInterfaces.c" + } + } + goto __finally128; + __catch128_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 938 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 941 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 941 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 938 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 6168 "ConfigurationInterfaces.c" + } + __finally128: +#line 938 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 938 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 938 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 938 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6179 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_import_dir (ConfigurationFacade* self, const gchar* import_dir) { +#line 937 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 937 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_import_dir (self, import_dir); +#line 6189 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_keep_relativity (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_KEEP_RELATIVITY, &_inner_error_); +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6218 "ConfigurationInterfaces.c" + goto __catch129_configuration_error; + } +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 6227 "ConfigurationInterfaces.c" + } +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 950 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6233 "ConfigurationInterfaces.c" + } + goto __finally129; + __catch129_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 949 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 949 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 952 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 952 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 954 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = TRUE; +#line 954 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 954 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6254 "ConfigurationInterfaces.c" + } + __finally129: +#line 949 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 949 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 949 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 6263 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_keep_relativity (ConfigurationFacade* self) { +#line 948 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 948 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_keep_relativity (self); +#line 6272 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_keep_relativity (ConfigurationFacade* self, gboolean keep_relativity) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = keep_relativity; +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_KEEP_RELATIVITY, _tmp2_, &_inner_error_); +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6296 "ConfigurationInterfaces.c" + goto __catch130_configuration_error; + } +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 960 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6305 "ConfigurationInterfaces.c" + } + } + goto __finally130; + __catch130_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 959 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 959 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 962 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 962 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 959 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 6323 "ConfigurationInterfaces.c" + } + __finally130: +#line 959 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 959 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 959 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 959 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6334 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_keep_relativity (ConfigurationFacade* self, gboolean keep_relativity) { +#line 958 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 958 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_keep_relativity (self, keep_relativity); +#line 6344 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_pin_toolbar_state (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE, &_inner_error_); +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6373 "ConfigurationInterfaces.c" + goto __catch131_configuration_error; + } +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 6382 "ConfigurationInterfaces.c" + } +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 971 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6388 "ConfigurationInterfaces.c" + } + goto __finally131; + __catch131_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 970 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 970 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 973 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 973 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 974 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 974 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 974 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6409 "ConfigurationInterfaces.c" + } + __finally131: +#line 970 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 970 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 970 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 6418 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_pin_toolbar_state (ConfigurationFacade* self) { +#line 969 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 969 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_pin_toolbar_state (self); +#line 6427 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_pin_toolbar_state (ConfigurationFacade* self, gboolean state) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = state; +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE, _tmp2_, &_inner_error_); +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6451 "ConfigurationInterfaces.c" + goto __catch132_configuration_error; + } +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 980 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6460 "ConfigurationInterfaces.c" + } + } + goto __finally132; + __catch132_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 979 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 979 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 982 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 982 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 979 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 6478 "ConfigurationInterfaces.c" + } + __finally132: +#line 979 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 979 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 979 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 979 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6489 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_pin_toolbar_state (ConfigurationFacade* self, gboolean state) { +#line 978 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 978 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_pin_toolbar_state (self, state); +#line 6499 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_last_crop_height (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT, &_inner_error_); +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6528 "ConfigurationInterfaces.c" + goto __catch133_configuration_error; + } +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 6537 "ConfigurationInterfaces.c" + } +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 991 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6543 "ConfigurationInterfaces.c" + } + goto __finally133; + __catch133_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 990 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 990 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 993 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 993 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 994 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 1; +#line 994 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 994 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6564 "ConfigurationInterfaces.c" + } + __finally133: +#line 990 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 990 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 990 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 6573 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_last_crop_height (ConfigurationFacade* self) { +#line 989 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 989 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_last_crop_height (self); +#line 6582 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_last_crop_height (ConfigurationFacade* self, gint choice) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = choice; +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT, _tmp2_, &_inner_error_); +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6606 "ConfigurationInterfaces.c" + goto __catch134_configuration_error; + } +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1000 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6615 "ConfigurationInterfaces.c" + } + } + goto __finally134; + __catch134_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 999 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 999 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1002 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1002 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 999 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 6633 "ConfigurationInterfaces.c" + } + __finally134: +#line 999 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 999 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 999 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 999 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6644 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_last_crop_height (ConfigurationFacade* self, gint choice) { +#line 998 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 998 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_last_crop_height (self, choice); +#line 6654 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_last_crop_menu_choice (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE, &_inner_error_); +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6683 "ConfigurationInterfaces.c" + goto __catch135_configuration_error; + } +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 6692 "ConfigurationInterfaces.c" + } +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1011 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6698 "ConfigurationInterfaces.c" + } + goto __finally135; + __catch135_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1010 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1010 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1013 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1013 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1018 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 0; +#line 1018 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1018 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6719 "ConfigurationInterfaces.c" + } + __finally135: +#line 1010 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1010 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1010 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 6728 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_last_crop_menu_choice (ConfigurationFacade* self) { +#line 1009 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1009 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_last_crop_menu_choice (self); +#line 6737 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_last_crop_menu_choice (ConfigurationFacade* self, gint choice) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = choice; +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE, _tmp2_, &_inner_error_); +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6761 "ConfigurationInterfaces.c" + goto __catch136_configuration_error; + } +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1024 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6770 "ConfigurationInterfaces.c" + } + } + goto __finally136; + __catch136_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1023 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1023 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1026 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1026 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1023 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 6788 "ConfigurationInterfaces.c" + } + __finally136: +#line 1023 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1023 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1023 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1023 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6799 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_last_crop_menu_choice (ConfigurationFacade* self, gint choice) { +#line 1022 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1022 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_last_crop_menu_choice (self, choice); +#line 6809 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_last_crop_width (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH, &_inner_error_); +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6838 "ConfigurationInterfaces.c" + goto __catch137_configuration_error; + } +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 6847 "ConfigurationInterfaces.c" + } +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1035 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6853 "ConfigurationInterfaces.c" + } + goto __finally137; + __catch137_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1034 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1034 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1037 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1037 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1038 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 1; +#line 1038 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1038 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 6874 "ConfigurationInterfaces.c" + } + __finally137: +#line 1034 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1034 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1034 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 6883 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_last_crop_width (ConfigurationFacade* self) { +#line 1033 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1033 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_last_crop_width (self); +#line 6892 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_last_crop_width (ConfigurationFacade* self, gint choice) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = choice; +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH, _tmp2_, &_inner_error_); +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6916 "ConfigurationInterfaces.c" + goto __catch138_configuration_error; + } +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1044 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6925 "ConfigurationInterfaces.c" + } + } + goto __finally138; + __catch138_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1043 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1043 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1046 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1046 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1043 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 6943 "ConfigurationInterfaces.c" + } + __finally138: +#line 1043 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1043 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1043 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1043 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 6954 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_last_crop_width (ConfigurationFacade* self, gint choice) { +#line 1042 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1042 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_last_crop_width (self, choice); +#line 6964 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_last_used_service (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_LAST_USED_SERVICE, &_inner_error_); +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 6994 "ConfigurationInterfaces.c" + goto __catch139_configuration_error; + } +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 7003 "ConfigurationInterfaces.c" + } +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 1055 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 7015 "ConfigurationInterfaces.c" + } + goto __finally139; + __catch139_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1054 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1054 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1057 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 1057 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 1062 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 1062 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 1062 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1062 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 7039 "ConfigurationInterfaces.c" + } + __finally139: +#line 1054 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1054 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1054 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 7048 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_last_used_service (ConfigurationFacade* self) { +#line 1053 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 1053 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_last_used_service (self); +#line 7057 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_last_used_service (ConfigurationFacade* self, const gchar* service_name) { + GError * _inner_error_ = NULL; +#line 1066 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (service_name != NULL); +#line 7065 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = service_name; +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_LAST_USED_SERVICE, _tmp2_, &_inner_error_); +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7084 "ConfigurationInterfaces.c" + goto __catch140_configuration_error; + } +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1068 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7093 "ConfigurationInterfaces.c" + } + } + goto __finally140; + __catch140_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1067 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1067 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1070 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1070 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1067 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 7111 "ConfigurationInterfaces.c" + } + __finally140: +#line 1067 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1067 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1067 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1067 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7122 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_last_used_service (ConfigurationFacade* self, const gchar* service_name) { +#line 1066 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1066 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_last_used_service (self, service_name); +#line 7132 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_last_used_dataimports_service (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE, &_inner_error_); +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7162 "ConfigurationInterfaces.c" + goto __catch141_configuration_error; + } +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 7171 "ConfigurationInterfaces.c" + } +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 1079 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 7183 "ConfigurationInterfaces.c" + } + goto __finally141; + __catch141_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1078 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1078 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1081 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 1081 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 1086 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (""); +#line 1086 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 1086 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1086 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 7207 "ConfigurationInterfaces.c" + } + __finally141: +#line 1078 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1078 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1078 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 7216 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_last_used_dataimports_service (ConfigurationFacade* self) { +#line 1077 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 1077 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_last_used_dataimports_service (self); +#line 7225 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_last_used_dataimports_service (ConfigurationFacade* self, const gchar* service_name) { + GError * _inner_error_ = NULL; +#line 1090 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (service_name != NULL); +#line 7233 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = service_name; +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE, _tmp2_, &_inner_error_); +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7252 "ConfigurationInterfaces.c" + goto __catch142_configuration_error; + } +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1092 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7261 "ConfigurationInterfaces.c" + } + } + goto __finally142; + __catch142_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1091 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1091 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1094 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1094 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1091 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 7279 "ConfigurationInterfaces.c" + } + __finally142: +#line 1091 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1091 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1091 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1091 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7290 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_last_used_dataimports_service (ConfigurationFacade* self, const gchar* service_name) { +#line 1090 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1090 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_last_used_dataimports_service (self, service_name); +#line 7300 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by) { + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + GError * _inner_error_ = NULL; +#line 1102 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_sort_order = FALSE; +#line 1103 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_sort_by = 2; +#line 7312 "ConfigurationInterfaces.c" + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; + ConfigurationEngine* _tmp6_ = NULL; + ConfigurationEngine* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING, &_inner_error_); +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7340 "ConfigurationInterfaces.c" + goto __catch143_configuration_error; + } +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7349 "ConfigurationInterfaces.c" + } +#line 1105 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_sort_order = _tmp0_; +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = configuration_facade_get_engine (self); +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = _tmp6_; +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = configuration_engine_get_int_property (_tmp7_, CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY, &_inner_error_); +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = _tmp8_; +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp7_); +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp9_; +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7369 "ConfigurationInterfaces.c" + goto __catch143_configuration_error; + } +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7378 "ConfigurationInterfaces.c" + } +#line 1107 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_sort_by = _tmp5_; +#line 7382 "ConfigurationInterfaces.c" + } + goto __finally143; + __catch143_configuration_error: + { + GError* err = NULL; + GError* _tmp10_ = NULL; +#line 1104 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1104 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1109 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = err; +#line 1109 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp10_); +#line 1104 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 7399 "ConfigurationInterfaces.c" + } + __finally143: +#line 1104 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1104 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1104 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1104 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7410 "ConfigurationInterfaces.c" + } +#line 1101 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (sort_order) { +#line 1101 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + *sort_order = _vala_sort_order; +#line 7416 "ConfigurationInterfaces.c" + } +#line 1101 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (sort_by) { +#line 1101 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + *sort_by = _vala_sort_by; +#line 7422 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by) { +#line 1101 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1101 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->get_library_photos_sort (self, sort_order, sort_by); +#line 7432 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ConfigurationEngine* _tmp3_ = NULL; + ConfigurationEngine* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = sort_order; +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING, _tmp2_, &_inner_error_); +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7459 "ConfigurationInterfaces.c" + goto __catch144_configuration_error; + } +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1115 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7468 "ConfigurationInterfaces.c" + } +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_facade_get_engine (self); +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = sort_by; +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp4_, CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY, _tmp5_, &_inner_error_); +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp4_); +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7484 "ConfigurationInterfaces.c" + goto __catch144_configuration_error; + } +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1117 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7493 "ConfigurationInterfaces.c" + } + } + goto __finally144; + __catch144_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; +#line 1114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1120 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 1120 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 1114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 7511 "ConfigurationInterfaces.c" + } + __finally144: +#line 1114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1114 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7522 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by) { +#line 1113 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1113 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_library_photos_sort (self, sort_order, sort_by); +#line 7532 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_get_library_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions) { + gboolean _vala_maximize = FALSE; + Dimensions _vala_dimensions = {0}; + GError * _inner_error_ = NULL; +#line 1128 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_maximize = FALSE; +#line 1129 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + dimensions_init (&_vala_dimensions, 1024, 768); +#line 7544 "ConfigurationInterfaces.c" + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gint w = 0; + ConfigurationEngine* _tmp5_ = NULL; + ConfigurationEngine* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint h = 0; + ConfigurationEngine* _tmp9_ = NULL; + ConfigurationEngine* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE, &_inner_error_); +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7579 "ConfigurationInterfaces.c" + goto __catch145_configuration_error; + } +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7588 "ConfigurationInterfaces.c" + } +#line 1131 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _vala_maximize = _tmp0_; +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = configuration_facade_get_engine (self); +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = _tmp5_; +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = configuration_engine_get_int_property (_tmp6_, CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH, &_inner_error_); +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = _tmp7_; +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp6_); +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + w = _tmp8_; +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7608 "ConfigurationInterfaces.c" + goto __catch145_configuration_error; + } +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1132 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7617 "ConfigurationInterfaces.c" + } +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = configuration_facade_get_engine (self); +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = _tmp9_; +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp11_ = configuration_engine_get_int_property (_tmp10_, CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT, &_inner_error_); +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp12_ = _tmp11_; +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp10_); +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + h = _tmp12_; +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7635 "ConfigurationInterfaces.c" + goto __catch145_configuration_error; + } +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1133 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7644 "ConfigurationInterfaces.c" + } +#line 1134 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp13_ = w; +#line 1134 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp14_ = h; +#line 1134 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + dimensions_init (&_vala_dimensions, _tmp13_, _tmp14_); +#line 7652 "ConfigurationInterfaces.c" + } + goto __finally145; + __catch145_configuration_error: + { + GError* err = NULL; + GError* _tmp15_ = NULL; +#line 1130 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1130 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1136 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp15_ = err; +#line 1136 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp15_); +#line 1130 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 7669 "ConfigurationInterfaces.c" + } + __finally145: +#line 1130 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1130 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1130 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1130 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7680 "ConfigurationInterfaces.c" + } +#line 1127 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (maximize) { +#line 1127 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + *maximize = _vala_maximize; +#line 7686 "ConfigurationInterfaces.c" + } +#line 1127 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (dimensions) { +#line 1127 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + *dimensions = _vala_dimensions; +#line 7692 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_get_library_window_state (ConfigurationFacade* self, gboolean* maximize, Dimensions* dimensions) { +#line 1127 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1127 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->get_library_window_state (self, maximize, dimensions); +#line 7702 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_library_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions) { + GError * _inner_error_ = NULL; +#line 1140 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (dimensions != NULL); +#line 7710 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ConfigurationEngine* _tmp3_ = NULL; + ConfigurationEngine* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + ConfigurationEngine* _tmp7_ = NULL; + ConfigurationEngine* _tmp8_ = NULL; + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = maximize; +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE, _tmp2_, &_inner_error_); +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7737 "ConfigurationInterfaces.c" + goto __catch146_configuration_error; + } +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1142 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7746 "ConfigurationInterfaces.c" + } +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_facade_get_engine (self); +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = *dimensions; +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = _tmp5_.width; +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp4_, CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH, _tmp6_, &_inner_error_); +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp4_); +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7764 "ConfigurationInterfaces.c" + goto __catch146_configuration_error; + } +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1143 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7773 "ConfigurationInterfaces.c" + } +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = configuration_facade_get_engine (self); +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = _tmp7_; +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = *dimensions; +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = _tmp9_.height; +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp8_, CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT, _tmp10_, &_inner_error_); +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp8_); +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7791 "ConfigurationInterfaces.c" + goto __catch146_configuration_error; + } +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1145 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7800 "ConfigurationInterfaces.c" + } + } + goto __finally146; + __catch146_configuration_error: + { + GError* err = NULL; + GError* _tmp11_ = NULL; +#line 1141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1148 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp11_ = err; +#line 1148 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp11_); +#line 1141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 7818 "ConfigurationInterfaces.c" + } + __finally146: +#line 1141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1141 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7829 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_library_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions) { +#line 1140 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1140 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_library_window_state (self, maximize, dimensions); +#line 7839 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_modify_originals (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS, &_inner_error_); +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7868 "ConfigurationInterfaces.c" + goto __catch147_configuration_error; + } +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 7877 "ConfigurationInterfaces.c" + } +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1157 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 7883 "ConfigurationInterfaces.c" + } + goto __finally147; + __catch147_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1156 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1156 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1159 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1159 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1162 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 1162 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1162 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 7904 "ConfigurationInterfaces.c" + } + __finally147: +#line 1156 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1156 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1156 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 7913 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_modify_originals (ConfigurationFacade* self) { +#line 1155 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 1155 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_modify_originals (self); +#line 7922 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_modify_originals (ConfigurationFacade* self, gboolean modify_originals) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = modify_originals; +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS, _tmp2_, &_inner_error_); +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 7946 "ConfigurationInterfaces.c" + goto __catch148_configuration_error; + } +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1168 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7955 "ConfigurationInterfaces.c" + } + } + goto __finally148; + __catch148_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1167 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1167 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1170 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1170 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1167 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 7973 "ConfigurationInterfaces.c" + } + __finally148: +#line 1167 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1167 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1167 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1167 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 7984 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_modify_originals (ConfigurationFacade* self, gboolean modify_originals) { +#line 1166 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1166 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_modify_originals (self, modify_originals); +#line 7994 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_photo_thumbnail_scale (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE, &_inner_error_); +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8023 "ConfigurationInterfaces.c" + goto __catch149_configuration_error; + } +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8032 "ConfigurationInterfaces.c" + } +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1179 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8038 "ConfigurationInterfaces.c" + } + goto __finally149; + __catch149_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1178 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1178 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1181 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1181 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1182 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = thumbnail_get_DEFAULT_SCALE (); +#line 1182 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = _tmp6_; +#line 1182 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 1182 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1182 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8065 "ConfigurationInterfaces.c" + } + __finally149: +#line 1178 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1178 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1178 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8074 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_photo_thumbnail_scale (ConfigurationFacade* self) { +#line 1177 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1177 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_photo_thumbnail_scale (self); +#line 8083 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_photo_thumbnail_scale (ConfigurationFacade* self, gint scale) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = scale; +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE, _tmp2_, &_inner_error_); +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8107 "ConfigurationInterfaces.c" + goto __catch150_configuration_error; + } +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1188 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8116 "ConfigurationInterfaces.c" + } + } + goto __finally150; + __catch150_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1187 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1187 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1190 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1190 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1187 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 8134 "ConfigurationInterfaces.c" + } + __finally150: +#line 1187 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1187 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1187 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1187 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8145 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_photo_thumbnail_scale (ConfigurationFacade* self, gint scale) { +#line 1186 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1186 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_photo_thumbnail_scale (self, scale); +#line 8155 "ConfigurationInterfaces.c" +} + + +static gdouble configuration_facade_real_get_printing_content_height (ConfigurationFacade* self) { + gdouble result = 0.0; + GError * _inner_error_ = NULL; + { + gdouble _tmp0_ = 0.0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_double_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT, &_inner_error_); +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8184 "ConfigurationInterfaces.c" + goto __catch151_configuration_error; + } +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0.0; +#line 8193 "ConfigurationInterfaces.c" + } +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1199 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8199 "ConfigurationInterfaces.c" + } + goto __finally151; + __catch151_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1198 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1198 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1201 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1201 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1203 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 5.0; +#line 1203 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1203 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8220 "ConfigurationInterfaces.c" + } + __finally151: +#line 1198 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1198 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1198 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0.0; +#line 8229 "ConfigurationInterfaces.c" +} + + +gdouble configuration_facade_get_printing_content_height (ConfigurationFacade* self) { +#line 1197 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0.0); +#line 1197 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_content_height (self); +#line 8238 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_content_height (ConfigurationFacade* self, gdouble content_height) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = content_height; +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_double_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT, _tmp2_, &_inner_error_); +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8262 "ConfigurationInterfaces.c" + goto __catch152_configuration_error; + } +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1209 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8271 "ConfigurationInterfaces.c" + } + } + goto __finally152; + __catch152_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1208 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1208 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1212 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1212 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1208 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 8289 "ConfigurationInterfaces.c" + } + __finally152: +#line 1208 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1208 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1208 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1208 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8300 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_content_height (ConfigurationFacade* self, gdouble content_height) { +#line 1207 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1207 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_content_height (self, content_height); +#line 8310 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_printing_content_layout (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT, &_inner_error_); +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8339 "ConfigurationInterfaces.c" + goto __catch153_configuration_error; + } +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8348 "ConfigurationInterfaces.c" + } +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_ - 1; +#line 1221 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8354 "ConfigurationInterfaces.c" + } + goto __finally153; + __catch153_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1220 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1220 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1223 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1223 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1225 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 0; +#line 1225 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1225 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8375 "ConfigurationInterfaces.c" + } + __finally153: +#line 1220 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1220 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1220 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8384 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_printing_content_layout (ConfigurationFacade* self) { +#line 1219 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1219 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_content_layout (self); +#line 8393 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_content_layout (ConfigurationFacade* self, gint layout_code) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = layout_code; +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT, _tmp2_ + 1, &_inner_error_); +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8417 "ConfigurationInterfaces.c" + goto __catch154_configuration_error; + } +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1231 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8426 "ConfigurationInterfaces.c" + } + } + goto __finally154; + __catch154_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1230 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1230 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1234 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1234 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1230 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 8444 "ConfigurationInterfaces.c" + } + __finally154: +#line 1230 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1230 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1230 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1230 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8455 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_content_layout (ConfigurationFacade* self, gint layout_code) { +#line 1229 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1229 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_content_layout (self, layout_code); +#line 8465 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_printing_content_ppi (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI, &_inner_error_); +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8494 "ConfigurationInterfaces.c" + goto __catch155_configuration_error; + } +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8503 "ConfigurationInterfaces.c" + } +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1243 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8509 "ConfigurationInterfaces.c" + } + goto __finally155; + __catch155_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1242 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1242 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1245 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1245 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1247 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 600; +#line 1247 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1247 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8530 "ConfigurationInterfaces.c" + } + __finally155: +#line 1242 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1242 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1242 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8539 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_printing_content_ppi (ConfigurationFacade* self) { +#line 1241 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1241 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_content_ppi (self); +#line 8548 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_content_ppi (ConfigurationFacade* self, gint content_ppi) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = content_ppi; +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI, _tmp2_, &_inner_error_); +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8572 "ConfigurationInterfaces.c" + goto __catch156_configuration_error; + } +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1253 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8581 "ConfigurationInterfaces.c" + } + } + goto __finally156; + __catch156_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1255 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1255 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 8599 "ConfigurationInterfaces.c" + } + __finally156: +#line 1252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1252 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8610 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_content_ppi (ConfigurationFacade* self, gint content_ppi) { +#line 1251 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1251 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_content_ppi (self, content_ppi); +#line 8620 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_printing_content_units (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS, &_inner_error_); +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8649 "ConfigurationInterfaces.c" + goto __catch157_configuration_error; + } +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8658 "ConfigurationInterfaces.c" + } +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_ - 1; +#line 1264 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8664 "ConfigurationInterfaces.c" + } + goto __finally157; + __catch157_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1263 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1263 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1266 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1266 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1268 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 0; +#line 1268 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1268 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8685 "ConfigurationInterfaces.c" + } + __finally157: +#line 1263 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1263 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1263 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8694 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_printing_content_units (ConfigurationFacade* self) { +#line 1262 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1262 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_content_units (self); +#line 8703 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_content_units (ConfigurationFacade* self, gint units_code) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = units_code; +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS, _tmp2_ + 1, &_inner_error_); +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8727 "ConfigurationInterfaces.c" + goto __catch158_configuration_error; + } +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1274 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8736 "ConfigurationInterfaces.c" + } + } + goto __finally158; + __catch158_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1277 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1277 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 8754 "ConfigurationInterfaces.c" + } + __finally158: +#line 1273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1273 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8765 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_content_units (ConfigurationFacade* self, gint units_code) { +#line 1272 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1272 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_content_units (self, units_code); +#line 8775 "ConfigurationInterfaces.c" +} + + +static gdouble configuration_facade_real_get_printing_content_width (ConfigurationFacade* self) { + gdouble result = 0.0; + GError * _inner_error_ = NULL; + { + gdouble _tmp0_ = 0.0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_double_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH, &_inner_error_); +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8804 "ConfigurationInterfaces.c" + goto __catch159_configuration_error; + } +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0.0; +#line 8813 "ConfigurationInterfaces.c" + } +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1286 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8819 "ConfigurationInterfaces.c" + } + goto __finally159; + __catch159_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1285 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1285 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1288 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1288 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1290 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 7.0; +#line 1290 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1290 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8840 "ConfigurationInterfaces.c" + } + __finally159: +#line 1285 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1285 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1285 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0.0; +#line 8849 "ConfigurationInterfaces.c" +} + + +gdouble configuration_facade_get_printing_content_width (ConfigurationFacade* self) { +#line 1284 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0.0); +#line 1284 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_content_width (self); +#line 8858 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_content_width (ConfigurationFacade* self, gdouble content_width) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = content_width; +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_double_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH, _tmp2_, &_inner_error_); +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8882 "ConfigurationInterfaces.c" + goto __catch160_configuration_error; + } +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1296 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8891 "ConfigurationInterfaces.c" + } + } + goto __finally160; + __catch160_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1299 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1299 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 8909 "ConfigurationInterfaces.c" + } + __finally160: +#line 1295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1295 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 8920 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_content_width (ConfigurationFacade* self, gdouble content_width) { +#line 1294 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1294 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_content_width (self, content_width); +#line 8930 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_printing_images_per_page (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE, &_inner_error_); +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 8959 "ConfigurationInterfaces.c" + goto __catch161_configuration_error; + } +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 8968 "ConfigurationInterfaces.c" + } +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_ - 1; +#line 1308 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8974 "ConfigurationInterfaces.c" + } + goto __finally161; + __catch161_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1307 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1307 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1310 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1310 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1312 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 0; +#line 1312 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1312 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 8995 "ConfigurationInterfaces.c" + } + __finally161: +#line 1307 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1307 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1307 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 9004 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_printing_images_per_page (ConfigurationFacade* self) { +#line 1306 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1306 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_images_per_page (self); +#line 9013 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_images_per_page (ConfigurationFacade* self, gint images_per_page_code) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = images_per_page_code; +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE, _tmp2_ + 1, &_inner_error_); +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9037 "ConfigurationInterfaces.c" + goto __catch162_configuration_error; + } +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9046 "ConfigurationInterfaces.c" + } + } + goto __finally162; + __catch162_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1317 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1317 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1321 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1321 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1317 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 9064 "ConfigurationInterfaces.c" + } + __finally162: +#line 1317 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1317 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1317 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1317 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9075 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_images_per_page (ConfigurationFacade* self, gint images_per_page_code) { +#line 1316 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1316 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_images_per_page (self, images_per_page_code); +#line 9085 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_printing_match_aspect_ratio (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO, &_inner_error_); +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9114 "ConfigurationInterfaces.c" + goto __catch163_configuration_error; + } +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 9123 "ConfigurationInterfaces.c" + } +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1330 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9129 "ConfigurationInterfaces.c" + } + goto __finally163; + __catch163_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1332 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1332 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1334 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = TRUE; +#line 1334 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1334 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9150 "ConfigurationInterfaces.c" + } + __finally163: +#line 1329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1329 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 9159 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_printing_match_aspect_ratio (ConfigurationFacade* self) { +#line 1328 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 1328 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_match_aspect_ratio (self); +#line 9168 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_match_aspect_ratio (ConfigurationFacade* self, gboolean match_aspect_ratio) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = match_aspect_ratio; +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO, _tmp2_, &_inner_error_); +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9192 "ConfigurationInterfaces.c" + goto __catch164_configuration_error; + } +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1340 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9201 "ConfigurationInterfaces.c" + } + } + goto __finally164; + __catch164_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1339 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1339 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1343 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1343 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1339 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 9219 "ConfigurationInterfaces.c" + } + __finally164: +#line 1339 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1339 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1339 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1339 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9230 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_match_aspect_ratio (ConfigurationFacade* self, gboolean match_aspect_ratio) { +#line 1338 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1338 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_match_aspect_ratio (self, match_aspect_ratio); +#line 9240 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_printing_print_titles (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES, &_inner_error_); +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9269 "ConfigurationInterfaces.c" + goto __catch165_configuration_error; + } +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 9278 "ConfigurationInterfaces.c" + } +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1352 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9284 "ConfigurationInterfaces.c" + } + goto __finally165; + __catch165_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1351 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1351 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1354 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1354 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1356 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 1356 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1356 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9305 "ConfigurationInterfaces.c" + } + __finally165: +#line 1351 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1351 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1351 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 9314 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_printing_print_titles (ConfigurationFacade* self) { +#line 1350 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 1350 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_print_titles (self); +#line 9323 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_print_titles (ConfigurationFacade* self, gboolean print_titles) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = print_titles; +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES, _tmp2_, &_inner_error_); +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9347 "ConfigurationInterfaces.c" + goto __catch166_configuration_error; + } +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1362 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9356 "ConfigurationInterfaces.c" + } + } + goto __finally166; + __catch166_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1361 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1361 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1365 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1365 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1361 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 9374 "ConfigurationInterfaces.c" + } + __finally166: +#line 1361 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1361 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1361 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1361 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9385 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_print_titles (ConfigurationFacade* self, gboolean print_titles) { +#line 1360 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1360 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_print_titles (self, print_titles); +#line 9395 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_printing_size_selection (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION, &_inner_error_); +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9424 "ConfigurationInterfaces.c" + goto __catch167_configuration_error; + } +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 9433 "ConfigurationInterfaces.c" + } +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_ - 1; +#line 1374 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9439 "ConfigurationInterfaces.c" + } + goto __finally167; + __catch167_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1373 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1373 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1376 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1376 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 0; +#line 1378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1378 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9460 "ConfigurationInterfaces.c" + } + __finally167: +#line 1373 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1373 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1373 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 9469 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_printing_size_selection (ConfigurationFacade* self) { +#line 1372 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1372 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_size_selection (self); +#line 9478 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_size_selection (ConfigurationFacade* self, gint size_code) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = size_code; +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION, _tmp2_ + 1, &_inner_error_); +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9502 "ConfigurationInterfaces.c" + goto __catch168_configuration_error; + } +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1384 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9511 "ConfigurationInterfaces.c" + } + } + goto __finally168; + __catch168_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1383 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1383 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1387 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1387 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1383 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 9529 "ConfigurationInterfaces.c" + } + __finally168: +#line 1383 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1383 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1383 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9540 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_size_selection (ConfigurationFacade* self, gint size_code) { +#line 1382 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1382 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_size_selection (self, size_code); +#line 9550 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_printing_titles_font (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT, &_inner_error_); +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9580 "ConfigurationInterfaces.c" + goto __catch169_configuration_error; + } +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 9589 "ConfigurationInterfaces.c" + } +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 1396 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9601 "ConfigurationInterfaces.c" + } + goto __finally169; + __catch169_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1395 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1395 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 1398 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 1402 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup ("Sans Bold 12"); +#line 1402 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 1402 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1402 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9625 "ConfigurationInterfaces.c" + } + __finally169: +#line 1395 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1395 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1395 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 9634 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_printing_titles_font (ConfigurationFacade* self) { +#line 1394 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 1394 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_printing_titles_font (self); +#line 9643 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_printing_titles_font (ConfigurationFacade* self, const gchar* font_name) { + GError * _inner_error_ = NULL; +#line 1406 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (font_name != NULL); +#line 9651 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = font_name; +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT, _tmp2_, &_inner_error_); +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9670 "ConfigurationInterfaces.c" + goto __catch170_configuration_error; + } +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1408 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9679 "ConfigurationInterfaces.c" + } + } + goto __finally170; + __catch170_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1407 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1407 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1410 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1410 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1407 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 9697 "ConfigurationInterfaces.c" + } + __finally170: +#line 1407 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1407 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1407 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1407 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9708 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_printing_titles_font (ConfigurationFacade* self, const gchar* font_name) { +#line 1406 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1406 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_printing_titles_font (self, font_name); +#line 9718 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_show_welcome_dialog (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG, &_inner_error_); +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9747 "ConfigurationInterfaces.c" + goto __catch171_configuration_error; + } +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 9756 "ConfigurationInterfaces.c" + } +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1419 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9762 "ConfigurationInterfaces.c" + } + goto __finally171; + __catch171_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1418 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1418 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1421 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1423 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = TRUE; +#line 1423 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1423 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9783 "ConfigurationInterfaces.c" + } + __finally171: +#line 1418 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1418 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1418 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 9792 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_show_welcome_dialog (ConfigurationFacade* self) { +#line 1417 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 1417 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_show_welcome_dialog (self); +#line 9801 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_show_welcome_dialog (ConfigurationFacade* self, gboolean show) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = show; +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG, _tmp2_, &_inner_error_); +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9825 "ConfigurationInterfaces.c" + goto __catch172_configuration_error; + } +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1429 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9834 "ConfigurationInterfaces.c" + } + } + goto __finally172; + __catch172_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1428 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1428 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1432 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1432 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1428 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 9852 "ConfigurationInterfaces.c" + } + __finally172: +#line 1428 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1428 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1428 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1428 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9863 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_show_welcome_dialog (ConfigurationFacade* self, gboolean show) { +#line 1427 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1427 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_show_welcome_dialog (self, show); +#line 9873 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_sidebar_position (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_SIDEBAR_POSITION, &_inner_error_); +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9902 "ConfigurationInterfaces.c" + goto __catch173_configuration_error; + } +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 9911 "ConfigurationInterfaces.c" + } +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1441 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9917 "ConfigurationInterfaces.c" + } + goto __finally173; + __catch173_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1440 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1440 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1443 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1445 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 180; +#line 1445 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1445 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 9938 "ConfigurationInterfaces.c" + } + __finally173: +#line 1440 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1440 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1440 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 9947 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_sidebar_position (ConfigurationFacade* self) { +#line 1439 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1439 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_sidebar_position (self); +#line 9956 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_sidebar_position (ConfigurationFacade* self, gint position) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = position; +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_SIDEBAR_POSITION, _tmp2_, &_inner_error_); +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 9980 "ConfigurationInterfaces.c" + goto __catch174_configuration_error; + } +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1451 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 9989 "ConfigurationInterfaces.c" + } + } + goto __finally174; + __catch174_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1450 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1450 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1453 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1453 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1450 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 10007 "ConfigurationInterfaces.c" + } + __finally174: +#line 1450 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1450 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1450 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1450 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10018 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_sidebar_position (ConfigurationFacade* self, gint position) { +#line 1449 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1449 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_sidebar_position (self, position); +#line 10028 "ConfigurationInterfaces.c" +} + + +static gdouble configuration_facade_real_get_slideshow_delay (ConfigurationFacade* self) { + gdouble result = 0.0; + GError * _inner_error_ = NULL; + { + gdouble _tmp0_ = 0.0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_double_property (_tmp2_, CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY, &_inner_error_); +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10057 "ConfigurationInterfaces.c" + goto __catch175_configuration_error; + } +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0.0; +#line 10066 "ConfigurationInterfaces.c" + } +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1462 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10072 "ConfigurationInterfaces.c" + } + goto __finally175; + __catch175_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1461 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1461 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1464 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1464 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 3.0; +#line 1466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1466 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10093 "ConfigurationInterfaces.c" + } + __finally175: +#line 1461 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1461 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1461 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0.0; +#line 10102 "ConfigurationInterfaces.c" +} + + +gdouble configuration_facade_get_slideshow_delay (ConfigurationFacade* self) { +#line 1460 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0.0); +#line 1460 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_slideshow_delay (self); +#line 10111 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_slideshow_delay (ConfigurationFacade* self, gdouble delay) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = delay; +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_double_property (_tmp1_, CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY, _tmp2_, &_inner_error_); +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10135 "ConfigurationInterfaces.c" + goto __catch176_configuration_error; + } +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1472 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10144 "ConfigurationInterfaces.c" + } + } + goto __finally176; + __catch176_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1474 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1474 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 10162 "ConfigurationInterfaces.c" + } + __finally176: +#line 1471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1471 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10173 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_slideshow_delay (ConfigurationFacade* self, gdouble delay) { +#line 1470 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1470 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_slideshow_delay (self, delay); +#line 10183 "ConfigurationInterfaces.c" +} + + +static gdouble configuration_facade_real_get_slideshow_transition_delay (ConfigurationFacade* self) { + gdouble result = 0.0; + GError * _inner_error_ = NULL; + { + gdouble _tmp0_ = 0.0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_double_property (_tmp2_, CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY, &_inner_error_); +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10212 "ConfigurationInterfaces.c" + goto __catch177_configuration_error; + } +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0.0; +#line 10221 "ConfigurationInterfaces.c" + } +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1483 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10227 "ConfigurationInterfaces.c" + } + goto __finally177; + __catch177_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1482 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1482 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1486 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1486 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1488 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = 0.3; +#line 1488 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1488 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10248 "ConfigurationInterfaces.c" + } + __finally177: +#line 1482 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1482 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1482 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0.0; +#line 10257 "ConfigurationInterfaces.c" +} + + +gdouble configuration_facade_get_slideshow_transition_delay (ConfigurationFacade* self) { +#line 1481 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0.0); +#line 1481 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_slideshow_transition_delay (self); +#line 10266 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_slideshow_transition_delay (ConfigurationFacade* self, gdouble delay) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = delay; +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_double_property (_tmp1_, CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY, _tmp2_, &_inner_error_); +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10290 "ConfigurationInterfaces.c" + goto __catch178_configuration_error; + } +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1494 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10299 "ConfigurationInterfaces.c" + } + } + goto __finally178; + __catch178_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1493 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1493 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1497 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1497 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1493 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 10317 "ConfigurationInterfaces.c" + } + __finally178: +#line 1493 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1493 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1493 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1493 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10328 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_slideshow_transition_delay (ConfigurationFacade* self, gdouble delay) { +#line 1492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1492 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_slideshow_transition_delay (self, delay); +#line 10338 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_slideshow_transition_effect_id (ConfigurationFacade* self) { + gchar* result = NULL; + GError * _inner_error_ = NULL; + { + gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_string_property (_tmp2_, CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID, &_inner_error_); +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10368 "ConfigurationInterfaces.c" + goto __catch179_configuration_error; + } +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 10377 "ConfigurationInterfaces.c" + } +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = _tmp0_; +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = NULL; +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp5_; +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp0_); +#line 1506 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10389 "ConfigurationInterfaces.c" + } + goto __finally179; + __catch179_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 1505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1509 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = err; +#line 1509 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp6_); +#line 1513 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_strdup (TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID); +#line 1513 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 1513 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1513 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10413 "ConfigurationInterfaces.c" + } + __finally179: +#line 1505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1505 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return NULL; +#line 10422 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_slideshow_transition_effect_id (ConfigurationFacade* self) { +#line 1504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 1504 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_slideshow_transition_effect_id (self); +#line 10431 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_slideshow_transition_effect_id (ConfigurationFacade* self, const gchar* id) { + GError * _inner_error_ = NULL; +#line 1517 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (id != NULL); +#line 10439 "ConfigurationInterfaces.c" + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = id; +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_string_property (_tmp1_, CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID, _tmp2_, &_inner_error_); +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10458 "ConfigurationInterfaces.c" + goto __catch180_configuration_error; + } +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1519 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10467 "ConfigurationInterfaces.c" + } + } + goto __finally180; + __catch180_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1522 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1522 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 10485 "ConfigurationInterfaces.c" + } + __finally180: +#line 1518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1518 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10496 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_slideshow_transition_effect_id (ConfigurationFacade* self, const gchar* id) { +#line 1517 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1517 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_slideshow_transition_effect_id (self, id); +#line 10506 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_slideshow_show_title (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE, &_inner_error_); +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10535 "ConfigurationInterfaces.c" + goto __catch181_configuration_error; + } +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 10544 "ConfigurationInterfaces.c" + } +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1531 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10550 "ConfigurationInterfaces.c" + } + goto __finally181; + __catch181_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1530 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1530 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1533 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1533 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1535 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 1535 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1535 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10571 "ConfigurationInterfaces.c" + } + __finally181: +#line 1530 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1530 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1530 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 10580 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_slideshow_show_title (ConfigurationFacade* self) { +#line 1529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 1529 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_slideshow_show_title (self); +#line 10589 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_slideshow_show_title (ConfigurationFacade* self, gboolean show_title) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = show_title; +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE, _tmp2_, &_inner_error_); +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10613 "ConfigurationInterfaces.c" + goto __catch182_configuration_error; + } +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1541 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10622 "ConfigurationInterfaces.c" + } + } + goto __finally182; + __catch182_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1540 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1540 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1543 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1543 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1540 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 10640 "ConfigurationInterfaces.c" + } + __finally182: +#line 1540 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1540 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1540 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1540 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10651 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_slideshow_show_title (ConfigurationFacade* self, gboolean show_title) { +#line 1539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1539 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_slideshow_show_title (self, show_title); +#line 10661 "ConfigurationInterfaces.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 10676 "ConfigurationInterfaces.c" +} + + +static gchar* g_time_format (struct tm *self, const gchar* format) { + gchar* result = NULL; + gchar* buffer = NULL; + gchar* _tmp0_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + gchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; +#line 2709 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (format != NULL, NULL); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, 64); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = _tmp0_; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer_length1 = 64; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _buffer_size_ = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = buffer; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1__length1 = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = format; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self)); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = buffer; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = buffer_length1; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = g_strdup ((const gchar*) _tmp3_); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = (g_free (buffer), NULL); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 10722 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_use_24_hour_time (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME, &_inner_error_); +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10751 "ConfigurationInterfaces.c" + goto __catch183_configuration_error; + } +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 10760 "ConfigurationInterfaces.c" + } +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1552 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10766 "ConfigurationInterfaces.c" + } + goto __finally183; + __catch183_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; + struct tm _tmp6_ = {0}; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 1551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1554 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_time_local ((time_t) 0, &_tmp6_); +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = g_time_format (&_tmp6_, "%p"); +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = _tmp7_; +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = is_string_empty (_tmp8_); +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = _tmp9_; +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_tmp8_); +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp10_; +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1558 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10804 "ConfigurationInterfaces.c" + } + __finally183: +#line 1551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1551 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 10813 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_use_24_hour_time (ConfigurationFacade* self) { +#line 1550 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 1550 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_use_24_hour_time (self); +#line 10822 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_use_24_hour_time (ConfigurationFacade* self, gboolean use_24_hour_time) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = use_24_hour_time; +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME, _tmp2_, &_inner_error_); +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10846 "ConfigurationInterfaces.c" + goto __catch184_configuration_error; + } +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1564 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10855 "ConfigurationInterfaces.c" + } + } + goto __finally184; + __catch184_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1566 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 10873 "ConfigurationInterfaces.c" + } + __finally184: +#line 1563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1563 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 10884 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_use_24_hour_time (ConfigurationFacade* self, gboolean use_24_hour_time) { +#line 1562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1562 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_use_24_hour_time (self, use_24_hour_time); +#line 10894 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_use_lowercase_filenames (ConfigurationFacade* self) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; + { + gboolean _tmp0_ = FALSE; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_bool_property (_tmp2_, CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES, &_inner_error_); +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 10923 "ConfigurationInterfaces.c" + goto __catch185_configuration_error; + } +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 10932 "ConfigurationInterfaces.c" + } +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1575 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10938 "ConfigurationInterfaces.c" + } + goto __finally185; + __catch185_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1574 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1574 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1577 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1577 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1579 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = FALSE; +#line 1579 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1579 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 10959 "ConfigurationInterfaces.c" + } + __finally185: +#line 1574 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1574 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1574 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return FALSE; +#line 10968 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_use_lowercase_filenames (ConfigurationFacade* self) { +#line 1573 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 1573 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_use_lowercase_filenames (self); +#line 10977 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_use_lowercase_filenames (ConfigurationFacade* self, gboolean b) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = b; +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_bool_property (_tmp1_, CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES, _tmp2_, &_inner_error_); +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 11001 "ConfigurationInterfaces.c" + goto __catch186_configuration_error; + } +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1585 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 11010 "ConfigurationInterfaces.c" + } + } + goto __finally186; + __catch186_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1584 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1584 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1587 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1584 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 11028 "ConfigurationInterfaces.c" + } + __finally186: +#line 1584 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1584 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1584 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1584 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 11039 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_use_lowercase_filenames (ConfigurationFacade* self, gboolean b) { +#line 1583 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1583 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_use_lowercase_filenames (self, b); +#line 11049 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_video_interpreter_state_cookie (ConfigurationFacade* self) { + gint result = 0; + GError * _inner_error_ = NULL; + { + gint _tmp0_ = 0; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_get_int_property (_tmp2_, CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE, &_inner_error_); +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = _tmp4_; +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 11078 "ConfigurationInterfaces.c" + goto __catch187_configuration_error; + } +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 11087 "ConfigurationInterfaces.c" + } +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp0_; +#line 1596 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 11093 "ConfigurationInterfaces.c" + } + goto __finally187; + __catch187_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; +#line 1595 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1595 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = err; +#line 1599 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp5_); +#line 1601 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = -1; +#line 1601 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 1601 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 11114 "ConfigurationInterfaces.c" + } + __finally187: +#line 1595 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1595 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1595 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return 0; +#line 11123 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_video_interpreter_state_cookie (ConfigurationFacade* self) { +#line 1594 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1594 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_video_interpreter_state_cookie (self); +#line 11132 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_video_interpreter_state_cookie (ConfigurationFacade* self, gint state_cookie) { + GError * _inner_error_ = NULL; + { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = state_cookie; +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_int_property (_tmp1_, CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE, _tmp2_, &_inner_error_); +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 11156 "ConfigurationInterfaces.c" + goto __catch188_configuration_error; + } +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1607 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 11165 "ConfigurationInterfaces.c" + } + } + goto __finally188; + __catch188_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 1606 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + err = _inner_error_; +#line 1606 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _inner_error_ = NULL; +#line 1610 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = err; +#line 1610 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_on_configuration_error (self, _tmp3_); +#line 1606 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_error_free0 (err); +#line 11183 "ConfigurationInterfaces.c" + } + __finally188: +#line 1606 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1606 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.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 1606 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_clear_error (&_inner_error_); +#line 1606 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return; +#line 11194 "ConfigurationInterfaces.c" + } +} + + +void configuration_facade_set_video_interpreter_state_cookie (ConfigurationFacade* self, gint state_cookie) { +#line 1605 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1605 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_video_interpreter_state_cookie (self, state_cookie); +#line 11204 "ConfigurationInterfaces.c" +} + + +static gboolean configuration_facade_real_get_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def) { + gboolean result = FALSE; + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 1617 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (domain != NULL, FALSE); +#line 1617 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (id != NULL, FALSE); +#line 1617 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = domain; +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = id; +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = key; +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = def; +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = configuration_engine_get_plugin_bool (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = _tmp6_; +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 1618 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 11246 "ConfigurationInterfaces.c" +} + + +gboolean configuration_facade_get_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def) { +#line 1617 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), FALSE); +#line 1617 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_plugin_bool (self, domain, id, key, def); +#line 11255 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val) { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 1621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (domain != NULL); +#line 1621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (id != NULL); +#line 1621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (key != NULL); +#line 1622 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1622 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1622 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = domain; +#line 1622 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = id; +#line 1622 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = key; +#line 1622 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = val; +#line 1622 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_plugin_bool (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1622 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 11288 "ConfigurationInterfaces.c" +} + + +void configuration_facade_set_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val) { +#line 1621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1621 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_plugin_bool (self, domain, id, key, val); +#line 11297 "ConfigurationInterfaces.c" +} + + +static gdouble configuration_facade_real_get_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def) { + gdouble result = 0.0; + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; +#line 1625 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (domain != NULL, 0.0); +#line 1625 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (id != NULL, 0.0); +#line 1625 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (key != NULL, 0.0); +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = domain; +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = id; +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = key; +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = def; +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = configuration_engine_get_plugin_double (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = _tmp6_; +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 1626 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 11339 "ConfigurationInterfaces.c" +} + + +gdouble configuration_facade_get_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def) { +#line 1625 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0.0); +#line 1625 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_plugin_double (self, domain, id, key, def); +#line 11348 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val) { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; +#line 1629 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (domain != NULL); +#line 1629 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (id != NULL); +#line 1629 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (key != NULL); +#line 1630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = domain; +#line 1630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = id; +#line 1630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = key; +#line 1630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = val; +#line 1630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_plugin_double (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1630 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 11381 "ConfigurationInterfaces.c" +} + + +void configuration_facade_set_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val) { +#line 1629 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1629 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_plugin_double (self, domain, id, key, val); +#line 11390 "ConfigurationInterfaces.c" +} + + +static gint configuration_facade_real_get_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def) { + gint result = 0; + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1633 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (domain != NULL, 0); +#line 1633 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (id != NULL, 0); +#line 1633 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (key != NULL, 0); +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = domain; +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = id; +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = key; +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = def; +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = configuration_engine_get_plugin_int (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = _tmp6_; +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp7_; +#line 1634 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 11432 "ConfigurationInterfaces.c" +} + + +gint configuration_facade_get_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def) { +#line 1633 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1633 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_plugin_int (self, domain, id, key, def); +#line 11441 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val) { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 1637 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (domain != NULL); +#line 1637 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (id != NULL); +#line 1637 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (key != NULL); +#line 1638 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1638 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1638 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = domain; +#line 1638 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = id; +#line 1638 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = key; +#line 1638 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = val; +#line 1638 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_plugin_int (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1638 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 11474 "ConfigurationInterfaces.c" +} + + +void configuration_facade_set_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val) { +#line 1637 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1637 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_plugin_int (self, domain, id, key, val); +#line 11483 "ConfigurationInterfaces.c" +} + + +static gchar* configuration_facade_real_get_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def) { + gchar* result = NULL; + gchar* _result_ = NULL; + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp11_ = NULL; +#line 1641 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (domain != NULL, NULL); +#line 1641 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 1641 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (key != NULL, NULL); +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = domain; +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = id; +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = key; +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = def; +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = configuration_engine_get_plugin_string (_tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp7_ = _tmp6_; +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1642 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _result_ = _tmp7_; +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp9_ = _result_; +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (g_strcmp0 (_tmp9_, "") == 0) { +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = NULL; +#line 11533 "ConfigurationInterfaces.c" + } else { + const gchar* _tmp10_ = NULL; +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp10_ = _result_; +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp8_ = _tmp10_; +#line 11540 "ConfigurationInterfaces.c" + } +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp11_ = g_strdup (_tmp8_); +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp11_; +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_free0 (_result_); +#line 1643 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 11550 "ConfigurationInterfaces.c" +} + + +gchar* configuration_facade_get_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def) { +#line 1641 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), NULL); +#line 1641 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->get_plugin_string (self, domain, id, key, def); +#line 11559 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val) { + const gchar* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + ConfigurationEngine* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 1646 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (domain != NULL); +#line 1646 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (id != NULL); +#line 1646 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (key != NULL); +#line 1647 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = val; +#line 1647 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + if (_tmp0_ == NULL) { +#line 1648 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + val = ""; +#line 11583 "ConfigurationInterfaces.c" + } +#line 1650 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = configuration_facade_get_engine (self); +#line 1650 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = _tmp1_; +#line 1650 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = domain; +#line 1650 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = id; +#line 1650 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp5_ = key; +#line 1650 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp6_ = val; +#line 1650 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_plugin_string (_tmp2_, _tmp3_, _tmp4_, _tmp5_, _tmp6_); +#line 1650 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp2_); +#line 11601 "ConfigurationInterfaces.c" +} + + +void configuration_facade_set_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val) { +#line 1646 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1646 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_plugin_string (self, domain, id, key, val); +#line 11610 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_unset_plugin_key (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key) { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 1653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (domain != NULL); +#line 1653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (id != NULL); +#line 1653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (key != NULL); +#line 1654 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1654 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1654 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = domain; +#line 1654 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = id; +#line 1654 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = key; +#line 1654 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_unset_plugin_key (_tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 1654 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 11640 "ConfigurationInterfaces.c" +} + + +void configuration_facade_unset_plugin_key (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key) { +#line 1653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1653 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->unset_plugin_key (self, domain, id, key); +#line 11649 "ConfigurationInterfaces.c" +} + + +static FuzzyPropertyState configuration_facade_real_is_plugin_enabled (ConfigurationFacade* self, const gchar* id) { + FuzzyPropertyState result = 0; + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + FuzzyPropertyState _tmp3_ = 0; + FuzzyPropertyState _tmp4_ = 0; +#line 1660 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (id != NULL, 0); +#line 1661 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1661 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1661 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = id; +#line 1661 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = configuration_engine_is_plugin_enabled (_tmp1_, _tmp2_); +#line 1661 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp4_ = _tmp3_; +#line 1661 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 1661 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + result = _tmp4_; +#line 1661 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return result; +#line 11678 "ConfigurationInterfaces.c" +} + + +FuzzyPropertyState configuration_facade_is_plugin_enabled (ConfigurationFacade* self, const gchar* id) { +#line 1660 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_val_if_fail (IS_CONFIGURATION_FACADE (self), 0); +#line 1660 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + return CONFIGURATION_FACADE_GET_CLASS (self)->is_plugin_enabled (self, id); +#line 11687 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_real_set_plugin_enabled (ConfigurationFacade* self, const gchar* id, gboolean enabled) { + ConfigurationEngine* _tmp0_ = NULL; + ConfigurationEngine* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (id != NULL); +#line 1665 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp0_ = configuration_facade_get_engine (self); +#line 1665 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp1_ = _tmp0_; +#line 1665 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp2_ = id; +#line 1665 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _tmp3_ = enabled; +#line 1665 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_engine_set_plugin_enabled (_tmp1_, _tmp2_, _tmp3_); +#line 1665 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (_tmp1_); +#line 11710 "ConfigurationInterfaces.c" +} + + +void configuration_facade_set_plugin_enabled (ConfigurationFacade* self, const gchar* id, gboolean enabled) { +#line 1664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_return_if_fail (IS_CONFIGURATION_FACADE (self)); +#line 1664 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + CONFIGURATION_FACADE_GET_CLASS (self)->set_plugin_enabled (self, id, enabled); +#line 11719 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_class_init (ConfigurationFacadeClass * klass) { +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + configuration_facade_parent_class = g_type_class_peek_parent (klass); +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_type_class_add_private (klass, sizeof (ConfigurationFacadePrivate)); +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_auto_import_from_library = configuration_facade_real_get_auto_import_from_library; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_auto_import_from_library = configuration_facade_real_set_auto_import_from_library; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_bg_color_name = configuration_facade_real_get_bg_color_name; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_bg_color_name = configuration_facade_real_set_bg_color_name; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_commit_metadata_to_masters = configuration_facade_real_get_commit_metadata_to_masters; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_commit_metadata_to_masters = configuration_facade_real_set_commit_metadata_to_masters; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_desktop_background = configuration_facade_real_get_desktop_background; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_desktop_background = configuration_facade_real_set_desktop_background; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_screensaver = configuration_facade_real_get_screensaver; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_screensaver = configuration_facade_real_set_screensaver; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_directory_pattern = configuration_facade_real_get_directory_pattern; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_directory_pattern = configuration_facade_real_set_directory_pattern; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_directory_pattern_custom = configuration_facade_real_get_directory_pattern_custom; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_directory_pattern_custom = configuration_facade_real_set_directory_pattern_custom; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_direct_window_state = configuration_facade_real_get_direct_window_state; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_direct_window_state = configuration_facade_real_set_direct_window_state; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_basic_properties = configuration_facade_real_get_display_basic_properties; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_basic_properties = configuration_facade_real_set_display_basic_properties; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_extended_properties = configuration_facade_real_get_display_extended_properties; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_extended_properties = configuration_facade_real_set_display_extended_properties; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_sidebar = configuration_facade_real_get_display_sidebar; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_sidebar = configuration_facade_real_set_display_sidebar; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_toolbar = configuration_facade_real_get_display_toolbar; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_toolbar = configuration_facade_real_set_display_toolbar; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_search_bar = configuration_facade_real_get_display_search_bar; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_search_bar = configuration_facade_real_set_display_search_bar; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_photo_ratings = configuration_facade_real_get_display_photo_ratings; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_photo_ratings = configuration_facade_real_set_display_photo_ratings; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_photo_tags = configuration_facade_real_get_display_photo_tags; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_photo_tags = configuration_facade_real_set_display_photo_tags; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_photo_titles = configuration_facade_real_get_display_photo_titles; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_photo_titles = configuration_facade_real_set_display_photo_titles; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_photo_comments = configuration_facade_real_get_display_photo_comments; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_photo_comments = configuration_facade_real_set_display_photo_comments; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_display_event_comments = configuration_facade_real_get_display_event_comments; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_display_event_comments = configuration_facade_real_set_display_event_comments; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_event_photos_sort = configuration_facade_real_get_event_photos_sort; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_event_photos_sort = configuration_facade_real_set_event_photos_sort; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_events_sort_ascending = configuration_facade_real_get_events_sort_ascending; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_events_sort_ascending = configuration_facade_real_set_events_sort_ascending; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_external_photo_app = configuration_facade_real_get_external_photo_app; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_external_photo_app = configuration_facade_real_set_external_photo_app; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_external_raw_app = configuration_facade_real_get_external_raw_app; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_external_raw_app = configuration_facade_real_set_external_raw_app; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_default_raw_developer = configuration_facade_real_get_default_raw_developer; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_default_raw_developer = configuration_facade_real_set_default_raw_developer; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_hide_photos_already_imported = configuration_facade_real_get_hide_photos_already_imported; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_hide_photos_already_imported = configuration_facade_real_set_hide_photos_already_imported; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_import_dir = configuration_facade_real_get_import_dir; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_import_dir = configuration_facade_real_set_import_dir; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_keep_relativity = configuration_facade_real_get_keep_relativity; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_keep_relativity = configuration_facade_real_set_keep_relativity; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_pin_toolbar_state = configuration_facade_real_get_pin_toolbar_state; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_pin_toolbar_state = configuration_facade_real_set_pin_toolbar_state; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_last_crop_height = configuration_facade_real_get_last_crop_height; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_last_crop_height = configuration_facade_real_set_last_crop_height; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_last_crop_menu_choice = configuration_facade_real_get_last_crop_menu_choice; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_last_crop_menu_choice = configuration_facade_real_set_last_crop_menu_choice; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_last_crop_width = configuration_facade_real_get_last_crop_width; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_last_crop_width = configuration_facade_real_set_last_crop_width; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_last_used_service = configuration_facade_real_get_last_used_service; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_last_used_service = configuration_facade_real_set_last_used_service; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_last_used_dataimports_service = configuration_facade_real_get_last_used_dataimports_service; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_last_used_dataimports_service = configuration_facade_real_set_last_used_dataimports_service; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_library_photos_sort = configuration_facade_real_get_library_photos_sort; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_library_photos_sort = configuration_facade_real_set_library_photos_sort; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_library_window_state = configuration_facade_real_get_library_window_state; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_library_window_state = configuration_facade_real_set_library_window_state; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_modify_originals = configuration_facade_real_get_modify_originals; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_modify_originals = configuration_facade_real_set_modify_originals; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_photo_thumbnail_scale = configuration_facade_real_get_photo_thumbnail_scale; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_photo_thumbnail_scale = configuration_facade_real_set_photo_thumbnail_scale; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_content_height = configuration_facade_real_get_printing_content_height; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_content_height = configuration_facade_real_set_printing_content_height; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_content_layout = configuration_facade_real_get_printing_content_layout; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_content_layout = configuration_facade_real_set_printing_content_layout; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_content_ppi = configuration_facade_real_get_printing_content_ppi; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_content_ppi = configuration_facade_real_set_printing_content_ppi; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_content_units = configuration_facade_real_get_printing_content_units; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_content_units = configuration_facade_real_set_printing_content_units; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_content_width = configuration_facade_real_get_printing_content_width; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_content_width = configuration_facade_real_set_printing_content_width; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_images_per_page = configuration_facade_real_get_printing_images_per_page; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_images_per_page = configuration_facade_real_set_printing_images_per_page; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_match_aspect_ratio = configuration_facade_real_get_printing_match_aspect_ratio; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_match_aspect_ratio = configuration_facade_real_set_printing_match_aspect_ratio; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_print_titles = configuration_facade_real_get_printing_print_titles; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_print_titles = configuration_facade_real_set_printing_print_titles; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_size_selection = configuration_facade_real_get_printing_size_selection; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_size_selection = configuration_facade_real_set_printing_size_selection; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_printing_titles_font = configuration_facade_real_get_printing_titles_font; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_printing_titles_font = configuration_facade_real_set_printing_titles_font; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_show_welcome_dialog = configuration_facade_real_get_show_welcome_dialog; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_show_welcome_dialog = configuration_facade_real_set_show_welcome_dialog; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_sidebar_position = configuration_facade_real_get_sidebar_position; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_sidebar_position = configuration_facade_real_set_sidebar_position; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_slideshow_delay = configuration_facade_real_get_slideshow_delay; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_slideshow_delay = configuration_facade_real_set_slideshow_delay; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_slideshow_transition_delay = configuration_facade_real_get_slideshow_transition_delay; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_slideshow_transition_delay = configuration_facade_real_set_slideshow_transition_delay; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_slideshow_transition_effect_id = configuration_facade_real_get_slideshow_transition_effect_id; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_slideshow_transition_effect_id = configuration_facade_real_set_slideshow_transition_effect_id; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_slideshow_show_title = configuration_facade_real_get_slideshow_show_title; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_slideshow_show_title = configuration_facade_real_set_slideshow_show_title; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_use_24_hour_time = configuration_facade_real_get_use_24_hour_time; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_use_24_hour_time = configuration_facade_real_set_use_24_hour_time; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_use_lowercase_filenames = configuration_facade_real_get_use_lowercase_filenames; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_use_lowercase_filenames = configuration_facade_real_set_use_lowercase_filenames; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_video_interpreter_state_cookie = configuration_facade_real_get_video_interpreter_state_cookie; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_video_interpreter_state_cookie = configuration_facade_real_set_video_interpreter_state_cookie; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_plugin_bool = configuration_facade_real_get_plugin_bool; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_plugin_bool = configuration_facade_real_set_plugin_bool; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_plugin_double = configuration_facade_real_get_plugin_double; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_plugin_double = configuration_facade_real_set_plugin_double; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_plugin_int = configuration_facade_real_get_plugin_int; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_plugin_int = configuration_facade_real_set_plugin_int; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->get_plugin_string = configuration_facade_real_get_plugin_string; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_plugin_string = configuration_facade_real_set_plugin_string; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->unset_plugin_key = configuration_facade_real_unset_plugin_key; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->is_plugin_enabled = configuration_facade_real_is_plugin_enabled; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + ((ConfigurationFacadeClass *) klass)->set_plugin_enabled = configuration_facade_real_set_plugin_enabled; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + G_OBJECT_CLASS (klass)->finalize = configuration_facade_finalize; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_new ("auto_import_from_library_changed", TYPE_CONFIGURATION_FACADE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_new ("bg_color_name_changed", TYPE_CONFIGURATION_FACADE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_new ("commit_metadata_to_masters_changed", TYPE_CONFIGURATION_FACADE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_new ("events_sort_ascending_changed", TYPE_CONFIGURATION_FACADE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_new ("external_app_changed", TYPE_CONFIGURATION_FACADE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + g_signal_new ("import_directory_changed", TYPE_CONFIGURATION_FACADE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 11984 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_instance_init (ConfigurationFacade * self) { +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + self->priv = CONFIGURATION_FACADE_GET_PRIVATE (self); +#line 11991 "ConfigurationInterfaces.c" +} + + +static void configuration_facade_finalize (GObject* obj) { + ConfigurationFacade * self; +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CONFIGURATION_FACADE, ConfigurationFacade); +#line 319 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + _g_object_unref0 (self->priv->engine); +#line 318 "/home/jens/Source/shotwell/src/config/ConfigurationInterfaces.vala" + G_OBJECT_CLASS (configuration_facade_parent_class)->finalize (obj); +#line 12003 "ConfigurationInterfaces.c" +} + + +GType configuration_facade_get_type (void) { + static volatile gsize configuration_facade_type_id__volatile = 0; + if (g_once_init_enter (&configuration_facade_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ConfigurationFacadeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) configuration_facade_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ConfigurationFacade), 0, (GInstanceInitFunc) configuration_facade_instance_init, NULL }; + GType configuration_facade_type_id; + configuration_facade_type_id = g_type_register_static (G_TYPE_OBJECT, "ConfigurationFacade", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&configuration_facade_type_id__volatile, configuration_facade_type_id); + } + return configuration_facade_type_id__volatile; +} + + + diff --git a/src/config/ConfigurationInterfaces.vala b/src/config/ConfigurationInterfaces.vala index 03e7f59..9414f49 100644 --- a/src/config/ConfigurationInterfaces.vala +++ b/src/config/ConfigurationInterfaces.vala @@ -36,6 +36,7 @@ public enum ConfigurableProperty { DISPLAY_EVENT_COMMENTS, DISPLAY_EXTENDED_PROPERTIES, DISPLAY_SIDEBAR, + DISPLAY_TOOLBAR, DISPLAY_SEARCH_BAR, DISPLAY_PHOTO_RATINGS, DISPLAY_PHOTO_TAGS, @@ -132,6 +133,9 @@ public enum ConfigurableProperty { case DISPLAY_SIDEBAR: return "DISPLAY_SIDEBAR"; + + case DISPLAY_TOOLBAR: + return "DISPLAY_TOOLBAR"; case DISPLAY_SEARCH_BAR: return "DISPLAY_SEARCH_BAR"; @@ -630,6 +634,28 @@ public abstract class ConfigurationFacade : Object { } } + + // + // display toolbar + // + public virtual bool get_display_toolbar() { + try { + return get_engine().get_bool_property(ConfigurableProperty.DISPLAY_TOOLBAR); + } catch (ConfigurationError err) { + on_configuration_error(err); + + return false; + } + } + + public virtual void set_display_toolbar(bool display) { + try { + get_engine().set_bool_property(ConfigurableProperty.DISPLAY_TOOLBAR, display); + } catch (ConfigurationError err) { + on_configuration_error(err); + } + } + // // display search & filter toolbar // diff --git a/src/config/GSettingsEngine.c b/src/config/GSettingsEngine.c new file mode 100644 index 0000000..c27e400 --- /dev/null +++ b/src/config/GSettingsEngine.c @@ -0,0 +1,5519 @@ +/* GSettingsEngine.c generated by valac 0.32.1, the Vala compiler + * generated from GSettingsEngine.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_CONFIGURATION_ENGINE (configuration_engine_get_type ()) +#define CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngine)) +#define IS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_ENGINE)) +#define CONFIGURATION_ENGINE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONFIGURATION_ENGINE, ConfigurationEngineIface)) + +typedef struct _ConfigurationEngine ConfigurationEngine; +typedef struct _ConfigurationEngineIface ConfigurationEngineIface; + +#define TYPE_CONFIGURABLE_PROPERTY (configurable_property_get_type ()) + +#define TYPE_FUZZY_PROPERTY_STATE (fuzzy_property_state_get_type ()) + +#define TYPE_GSETTINGS_CONFIGURATION_ENGINE (gsettings_configuration_engine_get_type ()) +#define GSETTINGS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine)) +#define GSETTINGS_CONFIGURATION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngineClass)) +#define IS_GSETTINGS_CONFIGURATION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE)) +#define IS_GSETTINGS_CONFIGURATION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GSETTINGS_CONFIGURATION_ENGINE)) +#define GSETTINGS_CONFIGURATION_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngineClass)) + +typedef struct _GSettingsConfigurationEngine GSettingsConfigurationEngine; +typedef struct _GSettingsConfigurationEngineClass GSettingsConfigurationEngineClass; +typedef struct _GSettingsConfigurationEnginePrivate GSettingsConfigurationEnginePrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +typedef enum { + CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY = 0, + CONFIGURABLE_PROPERTY_BG_COLOR_NAME, + CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS, + CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE, + CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE, + CONFIGURABLE_PROPERTY_SCREENSAVER_FILE, + CONFIGURABLE_PROPERTY_SCREENSAVER_MODE, + CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN, + CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE, + CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH, + CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES, + CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS, + CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES, + CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR, + CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR, + CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES, + CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS, + CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY, + CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP, + CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP, + CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED, + CONFIGURABLE_PROPERTY_IMPORT_DIR, + CONFIGURABLE_PROPERTY_KEEP_RELATIVITY, + CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT, + CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE, + CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH, + CONFIGURABLE_PROPERTY_LAST_USED_SERVICE, + CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE, + CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING, + CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE, + CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH, + CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS, + CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE, + CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS, + CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH, + CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE, + CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO, + CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES, + CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION, + CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT, + CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT, + CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG, + CONFIGURABLE_PROPERTY_SIDEBAR_POSITION, + CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY, + CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY, + CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID, + CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE, + CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME, + CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES, + CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE, + CONFIGURABLE_PROPERTY_NUM_PROPERTIES +} ConfigurableProperty; + +typedef enum { + CONFIGURATION_ERROR_PROPERTY_HAS_NO_VALUE, + CONFIGURATION_ERROR_ENGINE_ERROR +} ConfigurationError; +#define CONFIGURATION_ERROR configuration_error_quark () +typedef enum { + FUZZY_PROPERTY_STATE_ENABLED, + FUZZY_PROPERTY_STATE_DISABLED, + FUZZY_PROPERTY_STATE_UNKNOWN +} FuzzyPropertyState; + +struct _ConfigurationEngineIface { + GTypeInterface parent_iface; + gchar* (*get_name) (ConfigurationEngine* self); + gint (*get_int_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_int_property) (ConfigurationEngine* self, ConfigurableProperty p, gint val, GError** error); + gchar* (*get_string_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_string_property) (ConfigurationEngine* self, ConfigurableProperty p, const gchar* val, GError** error); + gboolean (*get_bool_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_bool_property) (ConfigurationEngine* self, ConfigurableProperty p, gboolean val, GError** error); + gdouble (*get_double_property) (ConfigurationEngine* self, ConfigurableProperty p, GError** error); + void (*set_double_property) (ConfigurationEngine* self, ConfigurableProperty p, gdouble val, GError** error); + gboolean (*get_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); + void (*set_plugin_bool) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); + gdouble (*get_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); + void (*set_plugin_double) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); + gint (*get_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint def); + void (*set_plugin_int) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, gint val); + gchar* (*get_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); + void (*set_plugin_string) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); + void (*unset_plugin_key) (ConfigurationEngine* self, const gchar* domain, const gchar* id, const gchar* key); + FuzzyPropertyState (*is_plugin_enabled) (ConfigurationEngine* self, const gchar* id); + void (*set_plugin_enabled) (ConfigurationEngine* self, const gchar* id, gboolean enabled); +}; + +struct _GSettingsConfigurationEngine { + GObject parent_instance; + GSettingsConfigurationEnginePrivate * priv; +}; + +struct _GSettingsConfigurationEngineClass { + GObjectClass parent_class; +}; + +struct _GSettingsConfigurationEnginePrivate { + GeeSet* known_schemas; + gchar** schema_names; + gint schema_names_length1; + gint _schema_names_size_; + gchar** key_names; + gint key_names_length1; + gint _key_names_size_; +}; + + +static gpointer gsettings_configuration_engine_parent_class = NULL; +static ConfigurationEngineIface* gsettings_configuration_engine_configuration_engine_parent_iface = NULL; + +GType configurable_property_get_type (void) G_GNUC_CONST; +GQuark configuration_error_quark (void); +GType fuzzy_property_state_get_type (void) G_GNUC_CONST; +GType configuration_engine_get_type (void) G_GNUC_CONST; +GType gsettings_configuration_engine_get_type (void) G_GNUC_CONST; +#define GSETTINGS_CONFIGURATION_ENGINE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEnginePrivate)) +enum { + GSETTINGS_CONFIGURATION_ENGINE_DUMMY_PROPERTY +}; +#define GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME "org.yorba.shotwell" +#define GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".preferences" +#define GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".ui" +#define GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".slideshow" +#define GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".window" +#define GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".files" +#define GSETTINGS_CONFIGURATION_ENGINE_EDITING_PREFS_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_PREFS_SCHEMA_NAME ".editing" +#define GSETTINGS_CONFIGURATION_ENGINE_VIDEO_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".video" +#define GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".printing" +#define GSETTINGS_CONFIGURATION_ENGINE_SHARING_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".sharing" +#define GSETTINGS_CONFIGURATION_ENGINE_IMPORTING_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".dataimports" +#define GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".crop-settings" +#define GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_DESKTOP_SCHEMA_NAME "org.gnome.desktop.background" +#define GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_SCREENSAVER_SCHEMA_NAME "org.gnome.desktop.screensaver" +#define GSETTINGS_CONFIGURATION_ENGINE_PLUGINS_ENABLE_DISABLE_SCHEMA_NAME GSETTINGS_CONFIGURATION_ENGINE_ROOT_SCHEMA_NAME ".plugins.enable-state" +GSettingsConfigurationEngine* gsettings_configuration_engine_new (void); +GSettingsConfigurationEngine* gsettings_configuration_engine_construct (GType object_type); +static gboolean gsettings_configuration_engine_schema_has_key (GSettingsConfigurationEngine* self, GSettings* schema_object, const gchar* key); +static void gsettings_configuration_engine_check_key_valid (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error); +static gboolean gsettings_configuration_engine_get_gs_bool (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error); +static void gsettings_configuration_engine_set_gs_bool (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, gboolean value, GError** error); +static gint gsettings_configuration_engine_get_gs_int (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error); +static void gsettings_configuration_engine_set_gs_int (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, gint value, GError** error); +static gdouble gsettings_configuration_engine_get_gs_double (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error); +static void gsettings_configuration_engine_set_gs_double (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, gdouble value, GError** error); +static gchar* gsettings_configuration_engine_get_gs_string (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error); +static void gsettings_configuration_engine_set_gs_string (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, const gchar* value, GError** error); +static void gsettings_configuration_engine_reset_gs_to_default (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error); +static gchar* gsettings_configuration_engine_clean_plugin_id (const gchar* id); +gboolean is_string_empty (const gchar* s); +static gchar* gsettings_configuration_engine_get_plugin_enable_disable_name (const gchar* id); +static gchar* gsettings_configuration_engine_make_plugin_schema_name (const gchar* domain, const gchar* id); +static gchar* gsettings_configuration_engine_make_gsettings_key (const gchar* gconf_key); +static gchar* gsettings_configuration_engine_real_get_name (ConfigurationEngine* base); +static gint gsettings_configuration_engine_real_get_int_property (ConfigurationEngine* base, ConfigurableProperty p, GError** error); +static void gsettings_configuration_engine_real_set_int_property (ConfigurationEngine* base, ConfigurableProperty p, gint val, GError** error); +static gchar* gsettings_configuration_engine_real_get_string_property (ConfigurationEngine* base, ConfigurableProperty p, GError** error); +static void gsettings_configuration_engine_real_set_string_property (ConfigurationEngine* base, ConfigurableProperty p, const gchar* val, GError** error); +static gboolean gsettings_configuration_engine_real_get_bool_property (ConfigurationEngine* base, ConfigurableProperty p, GError** error); +static void gsettings_configuration_engine_real_set_bool_property (ConfigurationEngine* base, ConfigurableProperty p, gboolean val, GError** error); +static gdouble gsettings_configuration_engine_real_get_double_property (ConfigurationEngine* base, ConfigurableProperty p, GError** error); +static void gsettings_configuration_engine_real_set_double_property (ConfigurationEngine* base, ConfigurableProperty p, gdouble val, GError** error); +static gboolean gsettings_configuration_engine_real_get_plugin_bool (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gboolean def); +static void gsettings_configuration_engine_real_set_plugin_bool (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gboolean val); +static gdouble gsettings_configuration_engine_real_get_plugin_double (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gdouble def); +static void gsettings_configuration_engine_real_set_plugin_double (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gdouble val); +static gint gsettings_configuration_engine_real_get_plugin_int (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gint def); +static void gsettings_configuration_engine_real_set_plugin_int (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gint val); +static gchar* gsettings_configuration_engine_real_get_plugin_string (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); +static void gsettings_configuration_engine_real_set_plugin_string (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); +static void gsettings_configuration_engine_real_unset_plugin_key (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key); +static FuzzyPropertyState gsettings_configuration_engine_real_is_plugin_enabled (ConfigurationEngine* base, const gchar* id); +static void gsettings_configuration_engine_real_set_plugin_enabled (ConfigurationEngine* base, const gchar* id, gboolean enabled); +void gsettings_configuration_engine_run_gsettings_migrator (void); +GFile* app_dirs_get_settings_migrator_bin (void); +static void gsettings_configuration_engine_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +GSettingsConfigurationEngine* gsettings_configuration_engine_construct (GType object_type) { + GSettingsConfigurationEngine * self = NULL; + GeeHashSet* _tmp0_ = NULL; + gchar** _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar** _tmp34_ = NULL; + gint _tmp34__length1 = 0; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar** _tmp37_ = NULL; + gint _tmp37__length1 = 0; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar** _tmp40_ = NULL; + gint _tmp40__length1 = 0; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar** _tmp43_ = NULL; + gint _tmp43__length1 = 0; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar** _tmp46_ = NULL; + gint _tmp46__length1 = 0; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar** _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar** _tmp55_ = NULL; + gint _tmp55__length1 = 0; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar** _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar** _tmp61_ = NULL; + gint _tmp61__length1 = 0; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gchar** _tmp64_ = NULL; + gint _tmp64__length1 = 0; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar** _tmp67_ = NULL; + gint _tmp67__length1 = 0; + gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + gchar** _tmp70_ = NULL; + gint _tmp70__length1 = 0; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar** _tmp73_ = NULL; + gint _tmp73__length1 = 0; + gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar** _tmp76_ = NULL; + gint _tmp76__length1 = 0; + gchar* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + gchar** _tmp79_ = NULL; + gint _tmp79__length1 = 0; + gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar** _tmp82_ = NULL; + gint _tmp82__length1 = 0; + gchar* _tmp83_ = NULL; + gchar* _tmp84_ = NULL; + gchar** _tmp85_ = NULL; + gint _tmp85__length1 = 0; + gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; + gchar** _tmp88_ = NULL; + gint _tmp88__length1 = 0; + gchar* _tmp89_ = NULL; + gchar* _tmp90_ = NULL; + gchar** _tmp91_ = NULL; + gint _tmp91__length1 = 0; + gchar* _tmp92_ = NULL; + gchar* _tmp93_ = NULL; + gchar** _tmp94_ = NULL; + gint _tmp94__length1 = 0; + gchar* _tmp95_ = NULL; + gchar* _tmp96_ = NULL; + gchar** _tmp97_ = NULL; + gint _tmp97__length1 = 0; + gchar* _tmp98_ = NULL; + gchar* _tmp99_ = NULL; + gchar** _tmp100_ = NULL; + gint _tmp100__length1 = 0; + gchar* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; + gchar** _tmp103_ = NULL; + gint _tmp103__length1 = 0; + gchar* _tmp104_ = NULL; + gchar* _tmp105_ = NULL; + gchar** _tmp106_ = NULL; + gint _tmp106__length1 = 0; + gchar* _tmp107_ = NULL; + gchar* _tmp108_ = NULL; + gchar** _tmp109_ = NULL; + gint _tmp109__length1 = 0; + gchar* _tmp110_ = NULL; + gchar* _tmp111_ = NULL; + gchar** _tmp112_ = NULL; + gint _tmp112__length1 = 0; + gchar* _tmp113_ = NULL; + gchar* _tmp114_ = NULL; + gchar** _tmp115_ = NULL; + gint _tmp115__length1 = 0; + gchar* _tmp116_ = NULL; + gchar* _tmp117_ = NULL; + gchar** _tmp118_ = NULL; + gint _tmp118__length1 = 0; + gchar* _tmp119_ = NULL; + gchar* _tmp120_ = NULL; + gchar** _tmp121_ = NULL; + gint _tmp121__length1 = 0; + gchar* _tmp122_ = NULL; + gchar* _tmp123_ = NULL; + gchar** _tmp124_ = NULL; + gint _tmp124__length1 = 0; + gchar* _tmp125_ = NULL; + gchar* _tmp126_ = NULL; + gchar** _tmp127_ = NULL; + gint _tmp127__length1 = 0; + gchar* _tmp128_ = NULL; + gchar* _tmp129_ = NULL; + gchar** _tmp130_ = NULL; + gint _tmp130__length1 = 0; + gchar* _tmp131_ = NULL; + gchar* _tmp132_ = NULL; + gchar** _tmp133_ = NULL; + gint _tmp133__length1 = 0; + gchar* _tmp134_ = NULL; + gchar* _tmp135_ = NULL; + gchar** _tmp136_ = NULL; + gint _tmp136__length1 = 0; + gchar* _tmp137_ = NULL; + gchar* _tmp138_ = NULL; + gchar** _tmp139_ = NULL; + gint _tmp139__length1 = 0; + gchar* _tmp140_ = NULL; + gchar* _tmp141_ = NULL; + gchar** _tmp142_ = NULL; + gint _tmp142__length1 = 0; + gchar* _tmp143_ = NULL; + gchar* _tmp144_ = NULL; + gchar** _tmp145_ = NULL; + gint _tmp145__length1 = 0; + gchar* _tmp146_ = NULL; + gchar* _tmp147_ = NULL; + gchar** _tmp148_ = NULL; + gint _tmp148__length1 = 0; + gchar* _tmp149_ = NULL; + gchar* _tmp150_ = NULL; + gchar** _tmp151_ = NULL; + gint _tmp151__length1 = 0; + gchar* _tmp152_ = NULL; + gchar* _tmp153_ = NULL; + gchar** _tmp154_ = NULL; + gint _tmp154__length1 = 0; + gchar* _tmp155_ = NULL; + gchar* _tmp156_ = NULL; + gchar** _tmp157_ = NULL; + gint _tmp157__length1 = 0; + gchar* _tmp158_ = NULL; + gchar* _tmp159_ = NULL; + gchar** _tmp160_ = NULL; + gint _tmp160__length1 = 0; + gchar* _tmp161_ = NULL; + gchar* _tmp162_ = NULL; + gchar** _tmp163_ = NULL; + gint _tmp163__length1 = 0; + gchar* _tmp164_ = NULL; + gchar* _tmp165_ = NULL; + gchar** _tmp166_ = NULL; + gint _tmp166__length1 = 0; + gchar* _tmp167_ = NULL; + gchar* _tmp168_ = NULL; + gchar** _tmp169_ = NULL; + gint _tmp169__length1 = 0; + gchar* _tmp170_ = NULL; + gchar* _tmp171_ = NULL; + gchar** _tmp172_ = NULL; + gint _tmp172__length1 = 0; + gchar* _tmp173_ = NULL; + gchar* _tmp174_ = NULL; + gchar** _tmp175_ = NULL; + gint _tmp175__length1 = 0; + gchar* _tmp176_ = NULL; + gchar* _tmp177_ = NULL; + gchar** _tmp178_ = NULL; + gint _tmp178__length1 = 0; + gchar* _tmp179_ = NULL; + gchar* _tmp180_ = NULL; + gchar** _tmp181_ = NULL; + gint _tmp181__length1 = 0; + gchar* _tmp182_ = NULL; + gchar* _tmp183_ = NULL; + gchar** _tmp184_ = NULL; + gint _tmp184__length1 = 0; + gchar* _tmp185_ = NULL; + gchar* _tmp186_ = NULL; + gchar** _tmp187_ = NULL; + gint _tmp187__length1 = 0; + gchar* _tmp188_ = NULL; + gchar* _tmp189_ = NULL; + gchar** _tmp190_ = NULL; + gint _tmp190__length1 = 0; + gchar* _tmp191_ = NULL; + gchar* _tmp192_ = NULL; + gchar** _tmp193_ = NULL; + gint _tmp193__length1 = 0; + gchar* _tmp194_ = NULL; + gchar* _tmp195_ = NULL; + gchar** _tmp196_ = NULL; + gchar** _tmp197_ = NULL; + gint _tmp197__length1 = 0; + gchar* _tmp198_ = NULL; + gchar* _tmp199_ = NULL; + gchar** _tmp200_ = NULL; + gint _tmp200__length1 = 0; + gchar* _tmp201_ = NULL; + gchar* _tmp202_ = NULL; + gchar** _tmp203_ = NULL; + gint _tmp203__length1 = 0; + gchar* _tmp204_ = NULL; + gchar* _tmp205_ = NULL; + gchar** _tmp206_ = NULL; + gint _tmp206__length1 = 0; + gchar* _tmp207_ = NULL; + gchar* _tmp208_ = NULL; + gchar** _tmp209_ = NULL; + gint _tmp209__length1 = 0; + gchar* _tmp210_ = NULL; + gchar* _tmp211_ = NULL; + gchar** _tmp212_ = NULL; + gint _tmp212__length1 = 0; + gchar* _tmp213_ = NULL; + gchar* _tmp214_ = NULL; + gchar** _tmp215_ = NULL; + gint _tmp215__length1 = 0; + gchar* _tmp216_ = NULL; + gchar* _tmp217_ = NULL; + gchar** _tmp218_ = NULL; + gint _tmp218__length1 = 0; + gchar* _tmp219_ = NULL; + gchar* _tmp220_ = NULL; + gchar** _tmp221_ = NULL; + gint _tmp221__length1 = 0; + gchar* _tmp222_ = NULL; + gchar* _tmp223_ = NULL; + gchar** _tmp224_ = NULL; + gint _tmp224__length1 = 0; + gchar* _tmp225_ = NULL; + gchar* _tmp226_ = NULL; + gchar** _tmp227_ = NULL; + gint _tmp227__length1 = 0; + gchar* _tmp228_ = NULL; + gchar* _tmp229_ = NULL; + gchar** _tmp230_ = NULL; + gint _tmp230__length1 = 0; + gchar* _tmp231_ = NULL; + gchar* _tmp232_ = NULL; + gchar** _tmp233_ = NULL; + gint _tmp233__length1 = 0; + gchar* _tmp234_ = NULL; + gchar* _tmp235_ = NULL; + gchar** _tmp236_ = NULL; + gint _tmp236__length1 = 0; + gchar* _tmp237_ = NULL; + gchar* _tmp238_ = NULL; + gchar** _tmp239_ = NULL; + gint _tmp239__length1 = 0; + gchar* _tmp240_ = NULL; + gchar* _tmp241_ = NULL; + gchar** _tmp242_ = NULL; + gint _tmp242__length1 = 0; + gchar* _tmp243_ = NULL; + gchar* _tmp244_ = NULL; + gchar** _tmp245_ = NULL; + gint _tmp245__length1 = 0; + gchar* _tmp246_ = NULL; + gchar* _tmp247_ = NULL; + gchar** _tmp248_ = NULL; + gint _tmp248__length1 = 0; + gchar* _tmp249_ = NULL; + gchar* _tmp250_ = NULL; + gchar** _tmp251_ = NULL; + gint _tmp251__length1 = 0; + gchar* _tmp252_ = NULL; + gchar* _tmp253_ = NULL; + gchar** _tmp254_ = NULL; + gint _tmp254__length1 = 0; + gchar* _tmp255_ = NULL; + gchar* _tmp256_ = NULL; + gchar** _tmp257_ = NULL; + gint _tmp257__length1 = 0; + gchar* _tmp258_ = NULL; + gchar* _tmp259_ = NULL; + gchar** _tmp260_ = NULL; + gint _tmp260__length1 = 0; + gchar* _tmp261_ = NULL; + gchar* _tmp262_ = NULL; + gchar** _tmp263_ = NULL; + gint _tmp263__length1 = 0; + gchar* _tmp264_ = NULL; + gchar* _tmp265_ = NULL; + gchar** _tmp266_ = NULL; + gint _tmp266__length1 = 0; + gchar* _tmp267_ = NULL; + gchar* _tmp268_ = NULL; + gchar** _tmp269_ = NULL; + gint _tmp269__length1 = 0; + gchar* _tmp270_ = NULL; + gchar* _tmp271_ = NULL; + gchar** _tmp272_ = NULL; + gint _tmp272__length1 = 0; + gchar* _tmp273_ = NULL; + gchar* _tmp274_ = NULL; + gchar** _tmp275_ = NULL; + gint _tmp275__length1 = 0; + gchar* _tmp276_ = NULL; + gchar* _tmp277_ = NULL; + gchar** _tmp278_ = NULL; + gint _tmp278__length1 = 0; + gchar* _tmp279_ = NULL; + gchar* _tmp280_ = NULL; + gchar** _tmp281_ = NULL; + gint _tmp281__length1 = 0; + gchar* _tmp282_ = NULL; + gchar* _tmp283_ = NULL; + gchar** _tmp284_ = NULL; + gint _tmp284__length1 = 0; + gchar* _tmp285_ = NULL; + gchar* _tmp286_ = NULL; + gchar** _tmp287_ = NULL; + gint _tmp287__length1 = 0; + gchar* _tmp288_ = NULL; + gchar* _tmp289_ = NULL; + gchar** _tmp290_ = NULL; + gint _tmp290__length1 = 0; + gchar* _tmp291_ = NULL; + gchar* _tmp292_ = NULL; + gchar** _tmp293_ = NULL; + gint _tmp293__length1 = 0; + gchar* _tmp294_ = NULL; + gchar* _tmp295_ = NULL; + gchar** _tmp296_ = NULL; + gint _tmp296__length1 = 0; + gchar* _tmp297_ = NULL; + gchar* _tmp298_ = NULL; + gchar** _tmp299_ = NULL; + gint _tmp299__length1 = 0; + gchar* _tmp300_ = NULL; + gchar* _tmp301_ = NULL; + gchar** _tmp302_ = NULL; + gint _tmp302__length1 = 0; + gchar* _tmp303_ = NULL; + gchar* _tmp304_ = NULL; + gchar** _tmp305_ = NULL; + gint _tmp305__length1 = 0; + gchar* _tmp306_ = NULL; + gchar* _tmp307_ = NULL; + gchar** _tmp308_ = NULL; + gint _tmp308__length1 = 0; + gchar* _tmp309_ = NULL; + gchar* _tmp310_ = NULL; + gchar** _tmp311_ = NULL; + gint _tmp311__length1 = 0; + gchar* _tmp312_ = NULL; + gchar* _tmp313_ = NULL; + gchar** _tmp314_ = NULL; + gint _tmp314__length1 = 0; + gchar* _tmp315_ = NULL; + gchar* _tmp316_ = NULL; + gchar** _tmp317_ = NULL; + gint _tmp317__length1 = 0; + gchar* _tmp318_ = NULL; + gchar* _tmp319_ = NULL; + gchar** _tmp320_ = NULL; + gint _tmp320__length1 = 0; + gchar* _tmp321_ = NULL; + gchar* _tmp322_ = NULL; + gchar** _tmp323_ = NULL; + gint _tmp323__length1 = 0; + gchar* _tmp324_ = NULL; + gchar* _tmp325_ = NULL; + gchar** _tmp326_ = NULL; + gint _tmp326__length1 = 0; + gchar* _tmp327_ = NULL; + gchar* _tmp328_ = NULL; + gchar** _tmp329_ = NULL; + gint _tmp329__length1 = 0; + gchar* _tmp330_ = NULL; + gchar* _tmp331_ = NULL; + gchar** _tmp332_ = NULL; + gint _tmp332__length1 = 0; + gchar* _tmp333_ = NULL; + gchar* _tmp334_ = NULL; + gchar** _tmp335_ = NULL; + gint _tmp335__length1 = 0; + gchar* _tmp336_ = NULL; + gchar* _tmp337_ = NULL; + gchar** _tmp338_ = NULL; + gint _tmp338__length1 = 0; + gchar* _tmp339_ = NULL; + gchar* _tmp340_ = NULL; + gchar** _tmp341_ = NULL; + gint _tmp341__length1 = 0; + gchar* _tmp342_ = NULL; + gchar* _tmp343_ = NULL; + gchar** _tmp344_ = NULL; + gint _tmp344__length1 = 0; + gchar* _tmp345_ = NULL; + gchar* _tmp346_ = NULL; + gchar** _tmp347_ = NULL; + gint _tmp347__length1 = 0; + gchar* _tmp348_ = NULL; + gchar* _tmp349_ = NULL; + gchar** _tmp350_ = NULL; + gint _tmp350__length1 = 0; + gchar* _tmp351_ = NULL; + gchar* _tmp352_ = NULL; + gchar** _tmp353_ = NULL; + gint _tmp353__length1 = 0; + gchar* _tmp354_ = NULL; + gchar* _tmp355_ = NULL; + gchar** _tmp356_ = NULL; + gint _tmp356__length1 = 0; + gchar* _tmp357_ = NULL; + gchar* _tmp358_ = NULL; + gchar** _tmp359_ = NULL; + gint _tmp359__length1 = 0; + gchar* _tmp360_ = NULL; + gchar* _tmp361_ = NULL; + gchar** _tmp362_ = NULL; + gint _tmp362__length1 = 0; + gchar* _tmp363_ = NULL; + gchar* _tmp364_ = NULL; + gchar** _tmp365_ = NULL; + gint _tmp365__length1 = 0; + gchar* _tmp366_ = NULL; + gchar* _tmp367_ = NULL; + gchar** _tmp368_ = NULL; + gint _tmp368__length1 = 0; + gchar* _tmp369_ = NULL; + gchar* _tmp370_ = NULL; + gchar** _tmp371_ = NULL; + gint _tmp371__length1 = 0; + gchar* _tmp372_ = NULL; + gchar* _tmp373_ = NULL; + gchar** _tmp374_ = NULL; + gint _tmp374__length1 = 0; + gchar* _tmp375_ = NULL; + gchar* _tmp376_ = NULL; + gchar** _tmp377_ = NULL; + gint _tmp377__length1 = 0; + gchar* _tmp378_ = NULL; + gchar* _tmp379_ = NULL; + gchar** _tmp380_ = NULL; + gint _tmp380__length1 = 0; + gchar* _tmp381_ = NULL; + gchar* _tmp382_ = NULL; + gchar** _tmp383_ = NULL; + gint _tmp383__length1 = 0; + gchar* _tmp384_ = NULL; + gchar* _tmp385_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = (GSettingsConfigurationEngine*) g_object_new (object_type, NULL); +#line 30 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 30 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (self->priv->known_schemas); +#line 30 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->known_schemas = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_SET, GeeSet); +#line 32 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = _tmp1_ = g_settings_list_schemas (); +#line 764 "GSettingsEngine.c" + { + gchar** current_schema_collection = NULL; + gint current_schema_collection_length1 = 0; + gint _current_schema_collection_size_ = 0; + gint current_schema_it = 0; +#line 32 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + current_schema_collection = _tmp2_; +#line 32 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + current_schema_collection_length1 = _vala_array_length (_tmp1_); +#line 32 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + for (current_schema_it = 0; current_schema_it < _vala_array_length (_tmp1_); current_schema_it = current_schema_it + 1) { +#line 776 "GSettingsEngine.c" + gchar* _tmp3_ = NULL; + gchar* current_schema = NULL; +#line 32 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_strdup (current_schema_collection[current_schema_it]); +#line 32 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + current_schema = _tmp3_; +#line 783 "GSettingsEngine.c" + { + GeeSet* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = self->priv->known_schemas; +#line 33 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = current_schema; +#line 33 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection), _tmp5_); +#line 32 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (current_schema); +#line 795 "GSettingsEngine.c" + } + } + } +#line 35 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = g_new0 (gchar*, CONFIGURABLE_PROPERTY_NUM_PROPERTIES + 1); +#line 35 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->schema_names = (_vala_array_free (self->priv->schema_names, self->priv->schema_names_length1, (GDestroyNotify) g_free), NULL); +#line 35 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->schema_names = _tmp6_; +#line 35 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->schema_names_length1 = CONFIGURABLE_PROPERTY_NUM_PROPERTIES; +#line 35 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->_schema_names_size_ = self->priv->schema_names_length1; +#line 37 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = self->priv->schema_names; +#line 37 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7__length1 = self->priv->schema_names_length1; +#line 37 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME); +#line 37 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp7_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY]); +#line 37 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY] = _tmp8_; +#line 37 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp9_ = _tmp7_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY]; +#line 38 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10_ = self->priv->schema_names; +#line 38 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10__length1 = self->priv->schema_names_length1; +#line 38 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp11_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 38 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp10_[CONFIGURABLE_PROPERTY_BG_COLOR_NAME]); +#line 38 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10_[CONFIGURABLE_PROPERTY_BG_COLOR_NAME] = _tmp11_; +#line 38 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp12_ = _tmp10_[CONFIGURABLE_PROPERTY_BG_COLOR_NAME]; +#line 39 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp13_ = self->priv->schema_names; +#line 39 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp13__length1 = self->priv->schema_names_length1; +#line 39 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp14_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME); +#line 39 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp13_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS]); +#line 39 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp13_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS] = _tmp14_; +#line 39 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp15_ = _tmp13_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS]; +#line 40 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp16_ = self->priv->schema_names; +#line 40 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp16__length1 = self->priv->schema_names_length1; +#line 40 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp17_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_DESKTOP_SCHEMA_NAME); +#line 40 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp16_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE]); +#line 40 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp16_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE] = _tmp17_; +#line 40 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp18_ = _tmp16_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE]; +#line 41 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp19_ = self->priv->schema_names; +#line 41 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp19__length1 = self->priv->schema_names_length1; +#line 41 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp20_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_DESKTOP_SCHEMA_NAME); +#line 41 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp19_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE]); +#line 41 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp19_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE] = _tmp20_; +#line 41 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp21_ = _tmp19_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE]; +#line 42 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp22_ = self->priv->schema_names; +#line 42 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp22__length1 = self->priv->schema_names_length1; +#line 42 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp23_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_SCREENSAVER_SCHEMA_NAME); +#line 42 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp22_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE]); +#line 42 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp22_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE] = _tmp23_; +#line 42 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp24_ = _tmp22_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE]; +#line 43 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp25_ = self->priv->schema_names; +#line 43 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp25__length1 = self->priv->schema_names_length1; +#line 43 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp26_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SYSTEM_SCREENSAVER_SCHEMA_NAME); +#line 43 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp25_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE]); +#line 43 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp25_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE] = _tmp26_; +#line 43 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp27_ = _tmp25_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE]; +#line 44 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp28_ = self->priv->schema_names; +#line 44 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp28__length1 = self->priv->schema_names_length1; +#line 44 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp29_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME); +#line 44 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp28_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN]); +#line 44 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp28_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN] = _tmp29_; +#line 44 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp30_ = _tmp28_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN]; +#line 45 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp31_ = self->priv->schema_names; +#line 45 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp31__length1 = self->priv->schema_names_length1; +#line 45 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp32_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME); +#line 45 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp31_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM]); +#line 45 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp31_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM] = _tmp32_; +#line 45 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp33_ = _tmp31_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM]; +#line 46 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp34_ = self->priv->schema_names; +#line 46 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp34__length1 = self->priv->schema_names_length1; +#line 46 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp35_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME); +#line 46 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp34_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT]); +#line 46 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp34_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT] = _tmp35_; +#line 46 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp36_ = _tmp34_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT]; +#line 47 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp37_ = self->priv->schema_names; +#line 47 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp37__length1 = self->priv->schema_names_length1; +#line 47 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp38_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME); +#line 47 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp37_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE]); +#line 47 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp37_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE] = _tmp38_; +#line 47 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp39_ = _tmp37_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE]; +#line 48 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp40_ = self->priv->schema_names; +#line 48 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp40__length1 = self->priv->schema_names_length1; +#line 48 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp41_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME); +#line 48 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp40_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH]); +#line 48 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp40_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH] = _tmp41_; +#line 48 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp42_ = _tmp40_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH]; +#line 49 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp43_ = self->priv->schema_names; +#line 49 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp43__length1 = self->priv->schema_names_length1; +#line 49 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp44_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 49 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp43_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES]); +#line 49 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp43_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES] = _tmp44_; +#line 49 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp45_ = _tmp43_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES]; +#line 50 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp46_ = self->priv->schema_names; +#line 50 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp46__length1 = self->priv->schema_names_length1; +#line 50 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp47_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 50 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp46_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES]); +#line 50 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp46_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES] = _tmp47_; +#line 50 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp48_ = _tmp46_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES]; +#line 51 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp49_ = self->priv->schema_names; +#line 51 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp49__length1 = self->priv->schema_names_length1; +#line 51 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp50_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 51 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp49_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR]); +#line 51 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp49_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR] = _tmp50_; +#line 51 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp51_ = _tmp49_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR]; +#line 52 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp52_ = self->priv->schema_names; +#line 52 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp52__length1 = self->priv->schema_names_length1; +#line 52 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp53_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 52 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp52_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR]); +#line 52 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp52_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR] = _tmp53_; +#line 52 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp54_ = _tmp52_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR]; +#line 53 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp55_ = self->priv->schema_names; +#line 53 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp55__length1 = self->priv->schema_names_length1; +#line 53 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp56_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 53 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp55_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR]); +#line 53 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp55_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR] = _tmp56_; +#line 53 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp57_ = _tmp55_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR]; +#line 54 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp58_ = self->priv->schema_names; +#line 54 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp58__length1 = self->priv->schema_names_length1; +#line 54 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp59_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 54 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp58_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS]); +#line 54 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp58_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS] = _tmp59_; +#line 54 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp60_ = _tmp58_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS]; +#line 55 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp61_ = self->priv->schema_names; +#line 55 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp61__length1 = self->priv->schema_names_length1; +#line 55 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp62_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 55 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp61_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS]); +#line 55 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp61_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS] = _tmp62_; +#line 55 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp63_ = _tmp61_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS]; +#line 56 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp64_ = self->priv->schema_names; +#line 56 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp64__length1 = self->priv->schema_names_length1; +#line 56 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp65_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 56 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp64_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES]); +#line 56 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp64_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES] = _tmp65_; +#line 56 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp66_ = _tmp64_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES]; +#line 57 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp67_ = self->priv->schema_names; +#line 57 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp67__length1 = self->priv->schema_names_length1; +#line 57 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp68_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 57 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp67_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS]); +#line 57 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp67_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS] = _tmp68_; +#line 57 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp69_ = _tmp67_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS]; +#line 58 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp70_ = self->priv->schema_names; +#line 58 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp70__length1 = self->priv->schema_names_length1; +#line 58 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp71_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 58 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp70_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS]); +#line 58 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp70_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS] = _tmp71_; +#line 58 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp72_ = _tmp70_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS]; +#line 59 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp73_ = self->priv->schema_names; +#line 59 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp73__length1 = self->priv->schema_names_length1; +#line 59 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp74_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 59 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp73_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING]); +#line 59 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp73_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING] = _tmp74_; +#line 59 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp75_ = _tmp73_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING]; +#line 60 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp76_ = self->priv->schema_names; +#line 60 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp76__length1 = self->priv->schema_names_length1; +#line 60 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp77_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 60 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp76_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY]); +#line 60 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp76_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY] = _tmp77_; +#line 60 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp78_ = _tmp76_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY]; +#line 61 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp79_ = self->priv->schema_names; +#line 61 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp79__length1 = self->priv->schema_names_length1; +#line 61 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp80_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 61 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp79_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING]); +#line 61 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp79_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING] = _tmp80_; +#line 61 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp81_ = _tmp79_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING]; +#line 62 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp82_ = self->priv->schema_names; +#line 62 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp82__length1 = self->priv->schema_names_length1; +#line 62 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp83_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EDITING_PREFS_SCHEMA_NAME); +#line 62 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp82_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP]); +#line 62 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp82_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP] = _tmp83_; +#line 62 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp84_ = _tmp82_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP]; +#line 63 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp85_ = self->priv->schema_names; +#line 63 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp85__length1 = self->priv->schema_names_length1; +#line 63 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp86_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_EDITING_PREFS_SCHEMA_NAME); +#line 63 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp85_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP]); +#line 63 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp85_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP] = _tmp86_; +#line 63 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp87_ = _tmp85_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP]; +#line 64 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp88_ = self->priv->schema_names; +#line 64 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp88__length1 = self->priv->schema_names_length1; +#line 64 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp89_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 64 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp88_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED]); +#line 64 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp88_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED] = _tmp89_; +#line 64 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp90_ = _tmp88_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED]; +#line 65 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp91_ = self->priv->schema_names; +#line 65 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp91__length1 = self->priv->schema_names_length1; +#line 65 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp92_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME); +#line 65 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp91_[CONFIGURABLE_PROPERTY_IMPORT_DIR]); +#line 65 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp91_[CONFIGURABLE_PROPERTY_IMPORT_DIR] = _tmp92_; +#line 65 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp93_ = _tmp91_[CONFIGURABLE_PROPERTY_IMPORT_DIR]; +#line 66 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp94_ = self->priv->schema_names; +#line 66 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp94__length1 = self->priv->schema_names_length1; +#line 66 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp95_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 66 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp94_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY]); +#line 66 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp94_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY] = _tmp95_; +#line 66 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp96_ = _tmp94_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY]; +#line 67 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp97_ = self->priv->schema_names; +#line 67 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp97__length1 = self->priv->schema_names_length1; +#line 67 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp98_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME); +#line 67 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp97_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT]); +#line 67 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp97_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT] = _tmp98_; +#line 67 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp99_ = _tmp97_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT]; +#line 68 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp100_ = self->priv->schema_names; +#line 68 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp100__length1 = self->priv->schema_names_length1; +#line 68 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp101_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME); +#line 68 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp100_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE]); +#line 68 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp100_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE] = _tmp101_; +#line 68 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp102_ = _tmp100_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE]; +#line 69 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp103_ = self->priv->schema_names; +#line 69 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp103__length1 = self->priv->schema_names_length1; +#line 69 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp104_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_CROP_SCHEMA_NAME); +#line 69 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp103_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH]); +#line 69 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp103_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH] = _tmp104_; +#line 69 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp105_ = _tmp103_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH]; +#line 70 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp106_ = self->priv->schema_names; +#line 70 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp106__length1 = self->priv->schema_names_length1; +#line 70 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp107_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SHARING_SCHEMA_NAME); +#line 70 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp106_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE]); +#line 70 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp106_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE] = _tmp107_; +#line 70 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp108_ = _tmp106_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE]; +#line 71 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp109_ = self->priv->schema_names; +#line 71 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp109__length1 = self->priv->schema_names_length1; +#line 71 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp110_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_IMPORTING_SCHEMA_NAME); +#line 71 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp109_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE]); +#line 71 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp109_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE] = _tmp110_; +#line 71 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp111_ = _tmp109_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE]; +#line 72 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp112_ = self->priv->schema_names; +#line 72 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp112__length1 = self->priv->schema_names_length1; +#line 72 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp113_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 72 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp112_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING]); +#line 72 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp112_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING] = _tmp113_; +#line 72 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp114_ = _tmp112_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING]; +#line 73 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp115_ = self->priv->schema_names; +#line 73 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp115__length1 = self->priv->schema_names_length1; +#line 73 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp116_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 73 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp115_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY]); +#line 73 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp115_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY] = _tmp116_; +#line 73 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp117_ = _tmp115_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY]; +#line 74 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp118_ = self->priv->schema_names; +#line 74 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp118__length1 = self->priv->schema_names_length1; +#line 74 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp119_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME); +#line 74 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp118_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT]); +#line 74 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp118_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT] = _tmp119_; +#line 74 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp120_ = _tmp118_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT]; +#line 75 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp121_ = self->priv->schema_names; +#line 75 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp121__length1 = self->priv->schema_names_length1; +#line 75 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp122_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME); +#line 75 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp121_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE]); +#line 75 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp121_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE] = _tmp122_; +#line 75 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp123_ = _tmp121_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE]; +#line 76 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp124_ = self->priv->schema_names; +#line 76 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp124__length1 = self->priv->schema_names_length1; +#line 76 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp125_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_WINDOW_PREFS_SCHEMA_NAME); +#line 76 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp124_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH]); +#line 76 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp124_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH] = _tmp125_; +#line 76 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp126_ = _tmp124_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH]; +#line 77 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp127_ = self->priv->schema_names; +#line 77 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp127__length1 = self->priv->schema_names_length1; +#line 77 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp128_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 77 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp127_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS]); +#line 77 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp127_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS] = _tmp128_; +#line 77 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp129_ = _tmp127_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS]; +#line 78 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp130_ = self->priv->schema_names; +#line 78 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp130__length1 = self->priv->schema_names_length1; +#line 78 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp131_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 78 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp130_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE]); +#line 78 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp130_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE] = _tmp131_; +#line 78 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp132_ = _tmp130_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE]; +#line 79 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp133_ = self->priv->schema_names; +#line 79 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp133__length1 = self->priv->schema_names_length1; +#line 79 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp134_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 79 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp133_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE]); +#line 79 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp133_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE] = _tmp134_; +#line 79 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp135_ = _tmp133_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE]; +#line 80 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp136_ = self->priv->schema_names; +#line 80 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp136__length1 = self->priv->schema_names_length1; +#line 80 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp137_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 80 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp136_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT]); +#line 80 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp136_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT] = _tmp137_; +#line 80 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp138_ = _tmp136_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT]; +#line 81 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp139_ = self->priv->schema_names; +#line 81 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp139__length1 = self->priv->schema_names_length1; +#line 81 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp140_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 81 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp139_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT]); +#line 81 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp139_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT] = _tmp140_; +#line 81 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp141_ = _tmp139_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT]; +#line 82 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp142_ = self->priv->schema_names; +#line 82 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp142__length1 = self->priv->schema_names_length1; +#line 82 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp143_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 82 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp142_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI]); +#line 82 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp142_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI] = _tmp143_; +#line 82 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp144_ = _tmp142_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI]; +#line 83 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp145_ = self->priv->schema_names; +#line 83 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp145__length1 = self->priv->schema_names_length1; +#line 83 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp146_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 83 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp145_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS]); +#line 83 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp145_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS] = _tmp146_; +#line 83 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp147_ = _tmp145_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS]; +#line 84 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp148_ = self->priv->schema_names; +#line 84 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp148__length1 = self->priv->schema_names_length1; +#line 84 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp149_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 84 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp148_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH]); +#line 84 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp148_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH] = _tmp149_; +#line 84 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp150_ = _tmp148_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH]; +#line 85 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp151_ = self->priv->schema_names; +#line 85 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp151__length1 = self->priv->schema_names_length1; +#line 85 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp152_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 85 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp151_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE]); +#line 85 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp151_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE] = _tmp152_; +#line 85 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp153_ = _tmp151_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE]; +#line 86 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp154_ = self->priv->schema_names; +#line 86 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp154__length1 = self->priv->schema_names_length1; +#line 86 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp155_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 86 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp154_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO]); +#line 86 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp154_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO] = _tmp155_; +#line 86 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp156_ = _tmp154_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO]; +#line 87 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp157_ = self->priv->schema_names; +#line 87 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp157__length1 = self->priv->schema_names_length1; +#line 87 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp158_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 87 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp157_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES]); +#line 87 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp157_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES] = _tmp158_; +#line 87 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp159_ = _tmp157_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES]; +#line 88 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp160_ = self->priv->schema_names; +#line 88 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp160__length1 = self->priv->schema_names_length1; +#line 88 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp161_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 88 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp160_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION]); +#line 88 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp160_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION] = _tmp161_; +#line 88 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp162_ = _tmp160_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION]; +#line 89 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp163_ = self->priv->schema_names; +#line 89 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp163__length1 = self->priv->schema_names_length1; +#line 89 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp164_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_PRINTING_SCHEMA_NAME); +#line 89 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp163_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT]); +#line 89 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp163_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT] = _tmp164_; +#line 89 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp165_ = _tmp163_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT]; +#line 90 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp166_ = self->priv->schema_names; +#line 90 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp166__length1 = self->priv->schema_names_length1; +#line 90 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp167_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME); +#line 90 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp166_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT]); +#line 90 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp166_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT] = _tmp167_; +#line 90 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp168_ = _tmp166_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT]; +#line 91 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp169_ = self->priv->schema_names; +#line 91 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp169__length1 = self->priv->schema_names_length1; +#line 91 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp170_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 91 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp169_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG]); +#line 91 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp169_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG] = _tmp170_; +#line 91 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp171_ = _tmp169_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG]; +#line 92 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp172_ = self->priv->schema_names; +#line 92 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp172__length1 = self->priv->schema_names_length1; +#line 92 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp173_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 92 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp172_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION]); +#line 92 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp172_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION] = _tmp173_; +#line 92 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp174_ = _tmp172_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION]; +#line 93 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp175_ = self->priv->schema_names; +#line 93 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp175__length1 = self->priv->schema_names_length1; +#line 93 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp176_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME); +#line 93 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp175_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY]); +#line 93 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp175_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY] = _tmp176_; +#line 93 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp177_ = _tmp175_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY]; +#line 94 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp178_ = self->priv->schema_names; +#line 94 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp178__length1 = self->priv->schema_names_length1; +#line 94 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp179_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME); +#line 94 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp178_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY]); +#line 94 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp178_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY] = _tmp179_; +#line 94 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp180_ = _tmp178_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY]; +#line 95 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp181_ = self->priv->schema_names; +#line 95 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp181__length1 = self->priv->schema_names_length1; +#line 95 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp182_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME); +#line 95 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp181_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID]); +#line 95 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp181_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID] = _tmp182_; +#line 95 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp183_ = _tmp181_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID]; +#line 96 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp184_ = self->priv->schema_names; +#line 96 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp184__length1 = self->priv->schema_names_length1; +#line 96 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp185_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_SLIDESHOW_PREFS_SCHEMA_NAME); +#line 96 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp184_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE]); +#line 96 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp184_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE] = _tmp185_; +#line 96 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp186_ = _tmp184_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE]; +#line 97 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp187_ = self->priv->schema_names; +#line 97 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp187__length1 = self->priv->schema_names_length1; +#line 97 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp188_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_UI_PREFS_SCHEMA_NAME); +#line 97 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp187_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME]); +#line 97 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp187_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME] = _tmp188_; +#line 97 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp189_ = _tmp187_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME]; +#line 98 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp190_ = self->priv->schema_names; +#line 98 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp190__length1 = self->priv->schema_names_length1; +#line 98 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp191_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_FILES_PREFS_SCHEMA_NAME); +#line 98 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp190_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES]); +#line 98 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp190_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES] = _tmp191_; +#line 98 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp192_ = _tmp190_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES]; +#line 99 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp193_ = self->priv->schema_names; +#line 99 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp193__length1 = self->priv->schema_names_length1; +#line 99 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp194_ = g_strdup (GSETTINGS_CONFIGURATION_ENGINE_VIDEO_SCHEMA_NAME); +#line 99 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp193_[CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE]); +#line 99 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp193_[CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE] = _tmp194_; +#line 99 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp195_ = _tmp193_[CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE]; +#line 101 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp196_ = g_new0 (gchar*, CONFIGURABLE_PROPERTY_NUM_PROPERTIES + 1); +#line 101 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->key_names = (_vala_array_free (self->priv->key_names, self->priv->key_names_length1, (GDestroyNotify) g_free), NULL); +#line 101 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->key_names = _tmp196_; +#line 101 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->key_names_length1 = CONFIGURABLE_PROPERTY_NUM_PROPERTIES; +#line 101 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->_key_names_size_ = self->priv->key_names_length1; +#line 103 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp197_ = self->priv->key_names; +#line 103 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp197__length1 = self->priv->key_names_length1; +#line 103 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp198_ = g_strdup ("auto-import"); +#line 103 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp197_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY]); +#line 103 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp197_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY] = _tmp198_; +#line 103 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp199_ = _tmp197_[CONFIGURABLE_PROPERTY_AUTO_IMPORT_FROM_LIBRARY]; +#line 104 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp200_ = self->priv->key_names; +#line 104 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp200__length1 = self->priv->key_names_length1; +#line 104 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp201_ = g_strdup ("background-color"); +#line 104 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp200_[CONFIGURABLE_PROPERTY_BG_COLOR_NAME]); +#line 104 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp200_[CONFIGURABLE_PROPERTY_BG_COLOR_NAME] = _tmp201_; +#line 104 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp202_ = _tmp200_[CONFIGURABLE_PROPERTY_BG_COLOR_NAME]; +#line 105 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp203_ = self->priv->key_names; +#line 105 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp203__length1 = self->priv->key_names_length1; +#line 105 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp204_ = g_strdup ("commit-metadata"); +#line 105 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp203_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS]); +#line 105 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp203_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS] = _tmp204_; +#line 105 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp205_ = _tmp203_[CONFIGURABLE_PROPERTY_COMMIT_METADATA_TO_MASTERS]; +#line 106 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp206_ = self->priv->key_names; +#line 106 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp206__length1 = self->priv->key_names_length1; +#line 106 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp207_ = g_strdup ("picture-uri"); +#line 106 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp206_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE]); +#line 106 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp206_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE] = _tmp207_; +#line 106 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp208_ = _tmp206_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE]; +#line 107 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp209_ = self->priv->key_names; +#line 107 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp209__length1 = self->priv->key_names_length1; +#line 107 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp210_ = g_strdup ("picture-options"); +#line 107 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp209_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE]); +#line 107 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp209_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE] = _tmp210_; +#line 107 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp211_ = _tmp209_[CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_MODE]; +#line 108 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp212_ = self->priv->key_names; +#line 108 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp212__length1 = self->priv->key_names_length1; +#line 108 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp213_ = g_strdup ("picture-uri"); +#line 108 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp212_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE]); +#line 108 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp212_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE] = _tmp213_; +#line 108 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp214_ = _tmp212_[CONFIGURABLE_PROPERTY_SCREENSAVER_FILE]; +#line 109 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp215_ = self->priv->key_names; +#line 109 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp215__length1 = self->priv->key_names_length1; +#line 109 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp216_ = g_strdup ("picture-options"); +#line 109 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp215_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE]); +#line 109 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp215_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE] = _tmp216_; +#line 109 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp217_ = _tmp215_[CONFIGURABLE_PROPERTY_SCREENSAVER_MODE]; +#line 110 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp218_ = self->priv->key_names; +#line 110 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp218__length1 = self->priv->key_names_length1; +#line 110 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp219_ = g_strdup ("directory-pattern"); +#line 110 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp218_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN]); +#line 110 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp218_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN] = _tmp219_; +#line 110 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp220_ = _tmp218_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN]; +#line 111 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp221_ = self->priv->key_names; +#line 111 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp221__length1 = self->priv->key_names_length1; +#line 111 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp222_ = g_strdup ("directory-pattern-custom"); +#line 111 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp221_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM]); +#line 111 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp221_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM] = _tmp222_; +#line 111 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp223_ = _tmp221_[CONFIGURABLE_PROPERTY_DIRECTORY_PATTERN_CUSTOM]; +#line 112 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp224_ = self->priv->key_names; +#line 112 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp224__length1 = self->priv->key_names_length1; +#line 112 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp225_ = g_strdup ("direct-height"); +#line 112 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp224_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT]); +#line 112 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp224_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT] = _tmp225_; +#line 112 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp226_ = _tmp224_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_HEIGHT]; +#line 113 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp227_ = self->priv->key_names; +#line 113 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp227__length1 = self->priv->key_names_length1; +#line 113 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp228_ = g_strdup ("direct-maximize"); +#line 113 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp227_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE]); +#line 113 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp227_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE] = _tmp228_; +#line 113 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp229_ = _tmp227_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_MAXIMIZE]; +#line 114 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp230_ = self->priv->key_names; +#line 114 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp230__length1 = self->priv->key_names_length1; +#line 114 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp231_ = g_strdup ("direct-width"); +#line 114 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp230_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH]); +#line 114 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp230_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH] = _tmp231_; +#line 114 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp232_ = _tmp230_[CONFIGURABLE_PROPERTY_DIRECT_WINDOW_WIDTH]; +#line 115 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp233_ = self->priv->key_names; +#line 115 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp233__length1 = self->priv->key_names_length1; +#line 115 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp234_ = g_strdup ("display-basic-properties"); +#line 115 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp233_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES]); +#line 115 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp233_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES] = _tmp234_; +#line 115 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp235_ = _tmp233_[CONFIGURABLE_PROPERTY_DISPLAY_BASIC_PROPERTIES]; +#line 116 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp236_ = self->priv->key_names; +#line 116 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp236__length1 = self->priv->key_names_length1; +#line 116 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp237_ = g_strdup ("display-extended-properties"); +#line 116 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp236_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES]); +#line 116 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp236_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES] = _tmp237_; +#line 116 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp238_ = _tmp236_[CONFIGURABLE_PROPERTY_DISPLAY_EXTENDED_PROPERTIES]; +#line 117 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp239_ = self->priv->key_names; +#line 117 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp239__length1 = self->priv->key_names_length1; +#line 117 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp240_ = g_strdup ("display-sidebar"); +#line 117 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp239_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR]); +#line 117 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp239_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR] = _tmp240_; +#line 117 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp241_ = _tmp239_[CONFIGURABLE_PROPERTY_DISPLAY_SIDEBAR]; +#line 118 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp242_ = self->priv->key_names; +#line 118 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp242__length1 = self->priv->key_names_length1; +#line 118 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp243_ = g_strdup ("display-toolbar"); +#line 118 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp242_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR]); +#line 118 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp242_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR] = _tmp243_; +#line 118 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp244_ = _tmp242_[CONFIGURABLE_PROPERTY_DISPLAY_TOOLBAR]; +#line 119 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp245_ = self->priv->key_names; +#line 119 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp245__length1 = self->priv->key_names_length1; +#line 119 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp246_ = g_strdup ("display-search-bar"); +#line 119 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp245_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR]); +#line 119 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp245_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR] = _tmp246_; +#line 119 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp247_ = _tmp245_[CONFIGURABLE_PROPERTY_DISPLAY_SEARCH_BAR]; +#line 120 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp248_ = self->priv->key_names; +#line 120 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp248__length1 = self->priv->key_names_length1; +#line 120 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp249_ = g_strdup ("display-photo-ratings"); +#line 120 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp248_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS]); +#line 120 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp248_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS] = _tmp249_; +#line 120 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp250_ = _tmp248_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_RATINGS]; +#line 121 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp251_ = self->priv->key_names; +#line 121 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp251__length1 = self->priv->key_names_length1; +#line 121 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp252_ = g_strdup ("display-photo-tags"); +#line 121 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp251_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS]); +#line 121 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp251_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS] = _tmp252_; +#line 121 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp253_ = _tmp251_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TAGS]; +#line 122 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp254_ = self->priv->key_names; +#line 122 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp254__length1 = self->priv->key_names_length1; +#line 122 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp255_ = g_strdup ("display-photo-titles"); +#line 122 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp254_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES]); +#line 122 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp254_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES] = _tmp255_; +#line 122 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp256_ = _tmp254_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_TITLES]; +#line 123 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp257_ = self->priv->key_names; +#line 123 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp257__length1 = self->priv->key_names_length1; +#line 123 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp258_ = g_strdup ("display-photo-comments"); +#line 123 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp257_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS]); +#line 123 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp257_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS] = _tmp258_; +#line 123 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp259_ = _tmp257_[CONFIGURABLE_PROPERTY_DISPLAY_PHOTO_COMMENTS]; +#line 124 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp260_ = self->priv->key_names; +#line 124 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp260__length1 = self->priv->key_names_length1; +#line 124 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp261_ = g_strdup ("display-event-comments"); +#line 124 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp260_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS]); +#line 124 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp260_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS] = _tmp261_; +#line 124 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp262_ = _tmp260_[CONFIGURABLE_PROPERTY_DISPLAY_EVENT_COMMENTS]; +#line 125 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp263_ = self->priv->key_names; +#line 125 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp263__length1 = self->priv->key_names_length1; +#line 125 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp264_ = g_strdup ("event-photos-sort-ascending"); +#line 125 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp263_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING]); +#line 125 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp263_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING] = _tmp264_; +#line 125 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp265_ = _tmp263_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_ASCENDING]; +#line 126 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp266_ = self->priv->key_names; +#line 126 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp266__length1 = self->priv->key_names_length1; +#line 126 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp267_ = g_strdup ("event-photos-sort-by"); +#line 126 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp266_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY]); +#line 126 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp266_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY] = _tmp267_; +#line 126 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp268_ = _tmp266_[CONFIGURABLE_PROPERTY_EVENT_PHOTOS_SORT_BY]; +#line 127 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp269_ = self->priv->key_names; +#line 127 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp269__length1 = self->priv->key_names_length1; +#line 127 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp270_ = g_strdup ("events-sort-ascending"); +#line 127 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp269_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING]); +#line 127 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp269_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING] = _tmp270_; +#line 127 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp271_ = _tmp269_[CONFIGURABLE_PROPERTY_EVENTS_SORT_ASCENDING]; +#line 128 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp272_ = self->priv->key_names; +#line 128 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp272__length1 = self->priv->key_names_length1; +#line 128 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp273_ = g_strdup ("external-photo-editor"); +#line 128 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp272_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP]); +#line 128 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp272_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP] = _tmp273_; +#line 128 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp274_ = _tmp272_[CONFIGURABLE_PROPERTY_EXTERNAL_PHOTO_APP]; +#line 129 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp275_ = self->priv->key_names; +#line 129 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp275__length1 = self->priv->key_names_length1; +#line 129 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp276_ = g_strdup ("external-raw-editor"); +#line 129 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp275_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP]); +#line 129 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp275_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP] = _tmp276_; +#line 129 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp277_ = _tmp275_[CONFIGURABLE_PROPERTY_EXTERNAL_RAW_APP]; +#line 130 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp278_ = self->priv->key_names; +#line 130 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp278__length1 = self->priv->key_names_length1; +#line 130 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp279_ = g_strdup ("hide-photos-already-imported"); +#line 130 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp278_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED]); +#line 130 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp278_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED] = _tmp279_; +#line 130 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp280_ = _tmp278_[CONFIGURABLE_PROPERTY_HIDE_PHOTOS_ALREADY_IMPORTED]; +#line 131 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp281_ = self->priv->key_names; +#line 131 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp281__length1 = self->priv->key_names_length1; +#line 131 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp282_ = g_strdup ("import-dir"); +#line 131 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp281_[CONFIGURABLE_PROPERTY_IMPORT_DIR]); +#line 131 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp281_[CONFIGURABLE_PROPERTY_IMPORT_DIR] = _tmp282_; +#line 131 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp283_ = _tmp281_[CONFIGURABLE_PROPERTY_IMPORT_DIR]; +#line 132 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp284_ = self->priv->key_names; +#line 132 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp284__length1 = self->priv->key_names_length1; +#line 132 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp285_ = g_strdup ("keep-relativity"); +#line 132 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp284_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY]); +#line 132 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp284_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY] = _tmp285_; +#line 132 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp286_ = _tmp284_[CONFIGURABLE_PROPERTY_KEEP_RELATIVITY]; +#line 133 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp287_ = self->priv->key_names; +#line 133 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp287__length1 = self->priv->key_names_length1; +#line 133 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp288_ = g_strdup ("last-crop-height"); +#line 133 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp287_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT]); +#line 133 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp287_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT] = _tmp288_; +#line 133 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp289_ = _tmp287_[CONFIGURABLE_PROPERTY_LAST_CROP_HEIGHT]; +#line 134 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp290_ = self->priv->key_names; +#line 134 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp290__length1 = self->priv->key_names_length1; +#line 134 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp291_ = g_strdup ("last-crop-menu-choice"); +#line 134 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp290_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE]); +#line 134 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp290_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE] = _tmp291_; +#line 134 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp292_ = _tmp290_[CONFIGURABLE_PROPERTY_LAST_CROP_MENU_CHOICE]; +#line 135 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp293_ = self->priv->key_names; +#line 135 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp293__length1 = self->priv->key_names_length1; +#line 135 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp294_ = g_strdup ("last-crop-width"); +#line 135 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp293_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH]); +#line 135 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp293_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH] = _tmp294_; +#line 135 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp295_ = _tmp293_[CONFIGURABLE_PROPERTY_LAST_CROP_WIDTH]; +#line 136 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp296_ = self->priv->key_names; +#line 136 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp296__length1 = self->priv->key_names_length1; +#line 136 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp297_ = g_strdup ("last-used-service"); +#line 136 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp296_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE]); +#line 136 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp296_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE] = _tmp297_; +#line 136 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp298_ = _tmp296_[CONFIGURABLE_PROPERTY_LAST_USED_SERVICE]; +#line 137 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp299_ = self->priv->key_names; +#line 137 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp299__length1 = self->priv->key_names_length1; +#line 137 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp300_ = g_strdup ("last-used-dataimports-service"); +#line 137 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp299_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE]); +#line 137 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp299_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE] = _tmp300_; +#line 137 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp301_ = _tmp299_[CONFIGURABLE_PROPERTY_LAST_USED_DATAIMPORTS_SERVICE]; +#line 138 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp302_ = self->priv->key_names; +#line 138 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp302__length1 = self->priv->key_names_length1; +#line 138 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp303_ = g_strdup ("library-photos-sort-ascending"); +#line 138 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp302_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING]); +#line 138 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp302_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING] = _tmp303_; +#line 138 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp304_ = _tmp302_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_ASCENDING]; +#line 139 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp305_ = self->priv->key_names; +#line 139 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp305__length1 = self->priv->key_names_length1; +#line 139 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp306_ = g_strdup ("library-photos-sort-by"); +#line 139 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp305_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY]); +#line 139 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp305_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY] = _tmp306_; +#line 139 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp307_ = _tmp305_[CONFIGURABLE_PROPERTY_LIBRARY_PHOTOS_SORT_BY]; +#line 140 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp308_ = self->priv->key_names; +#line 140 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp308__length1 = self->priv->key_names_length1; +#line 140 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp309_ = g_strdup ("library-height"); +#line 140 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp308_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT]); +#line 140 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp308_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT] = _tmp309_; +#line 140 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp310_ = _tmp308_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_HEIGHT]; +#line 141 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp311_ = self->priv->key_names; +#line 141 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp311__length1 = self->priv->key_names_length1; +#line 141 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp312_ = g_strdup ("library-maximize"); +#line 141 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp311_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE]); +#line 141 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp311_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE] = _tmp312_; +#line 141 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp313_ = _tmp311_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_MAXIMIZE]; +#line 142 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp314_ = self->priv->key_names; +#line 142 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp314__length1 = self->priv->key_names_length1; +#line 142 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp315_ = g_strdup ("library-width"); +#line 142 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp314_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH]); +#line 142 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp314_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH] = _tmp315_; +#line 142 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp316_ = _tmp314_[CONFIGURABLE_PROPERTY_LIBRARY_WINDOW_WIDTH]; +#line 143 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp317_ = self->priv->key_names; +#line 143 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp317__length1 = self->priv->key_names_length1; +#line 143 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp318_ = g_strdup ("modify-originals"); +#line 143 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp317_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS]); +#line 143 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp317_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS] = _tmp318_; +#line 143 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp319_ = _tmp317_[CONFIGURABLE_PROPERTY_MODIFY_ORIGINALS]; +#line 144 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp320_ = self->priv->key_names; +#line 144 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp320__length1 = self->priv->key_names_length1; +#line 144 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp321_ = g_strdup ("photo-thumbnail-scale"); +#line 144 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp320_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE]); +#line 144 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp320_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE] = _tmp321_; +#line 144 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp322_ = _tmp320_[CONFIGURABLE_PROPERTY_PHOTO_THUMBNAIL_SCALE]; +#line 145 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp323_ = self->priv->key_names; +#line 145 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp323__length1 = self->priv->key_names_length1; +#line 145 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp324_ = g_strdup ("pin-toolbar-state"); +#line 145 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp323_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE]); +#line 145 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp323_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE] = _tmp324_; +#line 145 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp325_ = _tmp323_[CONFIGURABLE_PROPERTY_PIN_TOOLBAR_STATE]; +#line 146 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp326_ = self->priv->key_names; +#line 146 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp326__length1 = self->priv->key_names_length1; +#line 146 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp327_ = g_strdup ("content-height"); +#line 146 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp326_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT]); +#line 146 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp326_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT] = _tmp327_; +#line 146 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp328_ = _tmp326_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_HEIGHT]; +#line 147 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp329_ = self->priv->key_names; +#line 147 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp329__length1 = self->priv->key_names_length1; +#line 147 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp330_ = g_strdup ("content-layout"); +#line 147 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp329_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT]); +#line 147 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp329_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT] = _tmp330_; +#line 147 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp331_ = _tmp329_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_LAYOUT]; +#line 148 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp332_ = self->priv->key_names; +#line 148 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp332__length1 = self->priv->key_names_length1; +#line 148 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp333_ = g_strdup ("content-ppi"); +#line 148 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp332_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI]); +#line 148 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp332_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI] = _tmp333_; +#line 148 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp334_ = _tmp332_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_PPI]; +#line 149 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp335_ = self->priv->key_names; +#line 149 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp335__length1 = self->priv->key_names_length1; +#line 149 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp336_ = g_strdup ("content-units"); +#line 149 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp335_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS]); +#line 149 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp335_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS] = _tmp336_; +#line 149 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp337_ = _tmp335_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_UNITS]; +#line 150 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp338_ = self->priv->key_names; +#line 150 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp338__length1 = self->priv->key_names_length1; +#line 150 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp339_ = g_strdup ("content-width"); +#line 150 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp338_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH]); +#line 150 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp338_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH] = _tmp339_; +#line 150 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp340_ = _tmp338_[CONFIGURABLE_PROPERTY_PRINTING_CONTENT_WIDTH]; +#line 151 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp341_ = self->priv->key_names; +#line 151 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp341__length1 = self->priv->key_names_length1; +#line 151 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp342_ = g_strdup ("images-per-page"); +#line 151 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp341_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE]); +#line 151 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp341_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE] = _tmp342_; +#line 151 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp343_ = _tmp341_[CONFIGURABLE_PROPERTY_PRINTING_IMAGES_PER_PAGE]; +#line 152 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp344_ = self->priv->key_names; +#line 152 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp344__length1 = self->priv->key_names_length1; +#line 152 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp345_ = g_strdup ("match-aspect-ratio"); +#line 152 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp344_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO]); +#line 152 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp344_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO] = _tmp345_; +#line 152 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp346_ = _tmp344_[CONFIGURABLE_PROPERTY_PRINTING_MATCH_ASPECT_RATIO]; +#line 153 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp347_ = self->priv->key_names; +#line 153 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp347__length1 = self->priv->key_names_length1; +#line 153 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp348_ = g_strdup ("print-titles"); +#line 153 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp347_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES]); +#line 153 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp347_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES] = _tmp348_; +#line 153 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp349_ = _tmp347_[CONFIGURABLE_PROPERTY_PRINTING_PRINT_TITLES]; +#line 154 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp350_ = self->priv->key_names; +#line 154 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp350__length1 = self->priv->key_names_length1; +#line 154 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp351_ = g_strdup ("size-selection"); +#line 154 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp350_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION]); +#line 154 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp350_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION] = _tmp351_; +#line 154 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp352_ = _tmp350_[CONFIGURABLE_PROPERTY_PRINTING_SIZE_SELECTION]; +#line 155 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp353_ = self->priv->key_names; +#line 155 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp353__length1 = self->priv->key_names_length1; +#line 155 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp354_ = g_strdup ("titles-font"); +#line 155 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp353_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT]); +#line 155 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp353_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT] = _tmp354_; +#line 155 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp355_ = _tmp353_[CONFIGURABLE_PROPERTY_PRINTING_TITLES_FONT]; +#line 156 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp356_ = self->priv->key_names; +#line 156 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp356__length1 = self->priv->key_names_length1; +#line 156 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp357_ = g_strdup ("raw-developer-default"); +#line 156 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp356_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT]); +#line 156 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp356_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT] = _tmp357_; +#line 156 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp358_ = _tmp356_[CONFIGURABLE_PROPERTY_RAW_DEVELOPER_DEFAULT]; +#line 157 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp359_ = self->priv->key_names; +#line 157 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp359__length1 = self->priv->key_names_length1; +#line 157 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp360_ = g_strdup ("show-welcome-dialog"); +#line 157 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp359_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG]); +#line 157 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp359_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG] = _tmp360_; +#line 157 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp361_ = _tmp359_[CONFIGURABLE_PROPERTY_SHOW_WELCOME_DIALOG]; +#line 158 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp362_ = self->priv->key_names; +#line 158 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp362__length1 = self->priv->key_names_length1; +#line 158 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp363_ = g_strdup ("sidebar-position"); +#line 158 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp362_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION]); +#line 158 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp362_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION] = _tmp363_; +#line 158 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp364_ = _tmp362_[CONFIGURABLE_PROPERTY_SIDEBAR_POSITION]; +#line 159 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp365_ = self->priv->key_names; +#line 159 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp365__length1 = self->priv->key_names_length1; +#line 159 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp366_ = g_strdup ("delay"); +#line 159 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp365_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY]); +#line 159 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp365_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY] = _tmp366_; +#line 159 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp367_ = _tmp365_[CONFIGURABLE_PROPERTY_SLIDESHOW_DELAY]; +#line 160 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp368_ = self->priv->key_names; +#line 160 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp368__length1 = self->priv->key_names_length1; +#line 160 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp369_ = g_strdup ("transition-delay"); +#line 160 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp368_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY]); +#line 160 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp368_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY] = _tmp369_; +#line 160 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp370_ = _tmp368_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_DELAY]; +#line 161 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp371_ = self->priv->key_names; +#line 161 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp371__length1 = self->priv->key_names_length1; +#line 161 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp372_ = g_strdup ("transition-effect-id"); +#line 161 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp371_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID]); +#line 161 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp371_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID] = _tmp372_; +#line 161 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp373_ = _tmp371_[CONFIGURABLE_PROPERTY_SLIDESHOW_TRANSITION_EFFECT_ID]; +#line 162 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp374_ = self->priv->key_names; +#line 162 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp374__length1 = self->priv->key_names_length1; +#line 162 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp375_ = g_strdup ("show-title"); +#line 162 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp374_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE]); +#line 162 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp374_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE] = _tmp375_; +#line 162 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp376_ = _tmp374_[CONFIGURABLE_PROPERTY_SLIDESHOW_SHOW_TITLE]; +#line 163 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp377_ = self->priv->key_names; +#line 163 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp377__length1 = self->priv->key_names_length1; +#line 163 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp378_ = g_strdup ("use-24-hour-time"); +#line 163 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp377_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME]); +#line 163 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp377_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME] = _tmp378_; +#line 163 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp379_ = _tmp377_[CONFIGURABLE_PROPERTY_USE_24_HOUR_TIME]; +#line 164 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp380_ = self->priv->key_names; +#line 164 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp380__length1 = self->priv->key_names_length1; +#line 164 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp381_ = g_strdup ("use-lowercase-filenames"); +#line 164 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp380_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES]); +#line 164 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp380_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES] = _tmp381_; +#line 164 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp382_ = _tmp380_[CONFIGURABLE_PROPERTY_USE_LOWERCASE_FILENAMES]; +#line 165 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp383_ = self->priv->key_names; +#line 165 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp383__length1 = self->priv->key_names_length1; +#line 165 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp384_ = g_strdup ("interpreter-state-cookie"); +#line 165 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp383_[CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE]); +#line 165 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp383_[CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE] = _tmp384_; +#line 165 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp385_ = _tmp383_[CONFIGURABLE_PROPERTY_VIDEO_INTERPRETER_STATE_COOKIE]; +#line 29 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return self; +#line 2333 "GSettingsEngine.c" +} + + +GSettingsConfigurationEngine* gsettings_configuration_engine_new (void) { +#line 29 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return gsettings_configuration_engine_construct (TYPE_GSETTINGS_CONFIGURATION_ENGINE); +#line 2340 "GSettingsEngine.c" +} + + +static gboolean gsettings_configuration_engine_schema_has_key (GSettingsConfigurationEngine* self, GSettings* schema_object, const gchar* key) { + gboolean result = FALSE; + GSettings* _tmp0_ = NULL; + gchar** _tmp1_ = NULL; + gchar** _tmp2_ = NULL; +#line 168 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), FALSE); +#line 168 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (G_IS_SETTINGS (schema_object), FALSE); +#line 168 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema_object; +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = _tmp1_ = g_settings_list_keys (_tmp0_); +#line 2359 "GSettingsEngine.c" + { + gchar** current_key_collection = NULL; + gint current_key_collection_length1 = 0; + gint _current_key_collection_size_ = 0; + gint current_key_it = 0; +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + current_key_collection = _tmp2_; +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + current_key_collection_length1 = _vala_array_length (_tmp1_); +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + for (current_key_it = 0; current_key_it < _vala_array_length (_tmp1_); current_key_it = current_key_it + 1) { +#line 2371 "GSettingsEngine.c" + gchar* _tmp3_ = NULL; + gchar* current_key = NULL; +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_strdup (current_key_collection[current_key_it]); +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + current_key = _tmp3_; +#line 2378 "GSettingsEngine.c" + { + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = current_key; +#line 170 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 170 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (g_strcmp0 (_tmp4_, _tmp5_) == 0) { +#line 171 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = TRUE; +#line 171 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (current_key); +#line 171 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + current_key_collection = (_vala_array_free (current_key_collection, current_key_collection_length1, (GDestroyNotify) g_free), NULL); +#line 171 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 2396 "GSettingsEngine.c" + } +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (current_key); +#line 2400 "GSettingsEngine.c" + } + } +#line 169 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + current_key_collection = (_vala_array_free (current_key_collection, current_key_collection_length1, (GDestroyNotify) g_free), NULL); +#line 2405 "GSettingsEngine.c" + } +#line 174 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = FALSE; +#line 174 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 2411 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_check_key_valid (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error) { + GeeSet* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GSettings* schema_object = NULL; + const gchar* _tmp8_ = NULL; + GSettings* _tmp9_ = NULL; + GSettings* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GError * _inner_error_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self)); +#line 177 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (schema != NULL); +#line 177 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 178 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = self->priv->known_schemas; +#line 178 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = schema; +#line 178 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 178 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (!_tmp2_) { +#line 2440 "GSettingsEngine.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = schema; +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = g_strdup_printf ("schema '%s' is not installed", _tmp3_); +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp4_; +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = g_error_new_literal (CONFIGURATION_ERROR, CONFIGURATION_ERROR_ENGINE_ERROR, _tmp5_); +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = _tmp6_; +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp5_); +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = _tmp7_; +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2466 "GSettingsEngine.c" + } else { +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 179 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2474 "GSettingsEngine.c" + } + } +#line 181 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = schema; +#line 181 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp9_ = g_settings_new (_tmp8_); +#line 181 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp9_; +#line 183 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10_ = schema_object; +#line 183 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp11_ = key; +#line 183 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp12_ = gsettings_configuration_engine_schema_has_key (self, _tmp10_, _tmp11_); +#line 183 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (!_tmp12_) { +#line 2491 "GSettingsEngine.c" + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; + GError* _tmp18_ = NULL; +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp13_ = schema; +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp14_ = key; +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp15_ = g_strdup_printf ("schema '%s' does not define key '%s'", _tmp13_, _tmp14_); +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp16_ = _tmp15_; +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp17_ = g_error_new_literal (CONFIGURATION_ERROR, CONFIGURATION_ERROR_ENGINE_ERROR, _tmp16_); +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp18_ = _tmp17_; +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp16_); +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = _tmp18_; +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2522 "GSettingsEngine.c" + } else { +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 184 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2532 "GSettingsEngine.c" + } + } +#line 177 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 2537 "GSettingsEngine.c" +} + + +static gboolean gsettings_configuration_engine_get_gs_bool (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GError * _inner_error_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), FALSE); +#line 188 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (schema != NULL, FALSE); +#line 188 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return FALSE; +#line 2572 "GSettingsEngine.c" + } else { +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 189 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return FALSE; +#line 2580 "GSettingsEngine.c" + } + } +#line 191 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 191 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 191 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 193 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 193 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 193 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = g_settings_get_boolean (_tmp4_, _tmp5_); +#line 193 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp6_; +#line 193 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 193 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 2601 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_set_gs_bool (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, gboolean value, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GError * _inner_error_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self)); +#line 196 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (schema != NULL); +#line 196 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2635 "GSettingsEngine.c" + } else { +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 197 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2643 "GSettingsEngine.c" + } + } +#line 199 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 199 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 199 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 201 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 201 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 201 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = value; +#line 201 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_settings_set_boolean (_tmp4_, _tmp5_, _tmp6_); +#line 196 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 2662 "GSettingsEngine.c" +} + + +static gint gsettings_configuration_engine_get_gs_int (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error) { + gint result = 0; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + GError * _inner_error_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), 0); +#line 204 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (schema != NULL, 0); +#line 204 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, 0); +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0; +#line 2697 "GSettingsEngine.c" + } else { +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 205 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0; +#line 2705 "GSettingsEngine.c" + } + } +#line 207 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 207 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 207 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 209 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 209 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 209 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = g_settings_get_int (_tmp4_, _tmp5_); +#line 209 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp6_; +#line 209 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 209 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 2726 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_set_gs_int (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, gint value, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + GError * _inner_error_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self)); +#line 212 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (schema != NULL); +#line 212 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2760 "GSettingsEngine.c" + } else { +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 213 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2768 "GSettingsEngine.c" + } + } +#line 215 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 215 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 215 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 217 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 217 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 217 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = value; +#line 217 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_settings_set_int (_tmp4_, _tmp5_, _tmp6_); +#line 212 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 2787 "GSettingsEngine.c" +} + + +static gdouble gsettings_configuration_engine_get_gs_double (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error) { + gdouble result = 0.0; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; + GError * _inner_error_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), 0.0); +#line 220 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (schema != NULL, 0.0); +#line 220 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, 0.0); +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0.0; +#line 2822 "GSettingsEngine.c" + } else { +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 221 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0.0; +#line 2830 "GSettingsEngine.c" + } + } +#line 223 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 223 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 223 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 225 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 225 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 225 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = g_settings_get_double (_tmp4_, _tmp5_); +#line 225 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp6_; +#line 225 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 225 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 2851 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_set_gs_double (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, gdouble value, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; + GError * _inner_error_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self)); +#line 228 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (schema != NULL); +#line 228 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2885 "GSettingsEngine.c" + } else { +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 229 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 2893 "GSettingsEngine.c" + } + } +#line 231 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 231 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 231 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 233 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 233 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 233 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = value; +#line 233 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_settings_set_double (_tmp4_, _tmp5_, _tmp6_); +#line 228 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 2912 "GSettingsEngine.c" +} + + +static gchar* gsettings_configuration_engine_get_gs_string (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self), NULL); +#line 236 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (schema != NULL, NULL); +#line 236 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, NULL); +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return NULL; +#line 2947 "GSettingsEngine.c" + } else { +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 237 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return NULL; +#line 2955 "GSettingsEngine.c" + } + } +#line 239 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 239 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 239 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 241 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 241 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 241 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = g_settings_get_string (_tmp4_, _tmp5_); +#line 241 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp6_; +#line 241 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 241 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 2976 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_set_gs_string (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, const gchar* value, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self)); +#line 244 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (schema != NULL); +#line 244 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 244 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (value != NULL); +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 3012 "GSettingsEngine.c" + } else { +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 245 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 3020 "GSettingsEngine.c" + } + } +#line 247 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 247 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 247 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 249 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 249 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 249 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = value; +#line 249 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_settings_set_string (_tmp4_, _tmp5_, _tmp6_); +#line 244 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 3039 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_reset_gs_to_default (GSettingsConfigurationEngine* self, const gchar* schema, const gchar* key, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GSettings* schema_object = NULL; + const gchar* _tmp2_ = NULL; + GSettings* _tmp3_ = NULL; + GSettings* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (IS_GSETTINGS_CONFIGURATION_ENGINE (self)); +#line 252 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (schema != NULL); +#line 252 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = schema; +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = key; +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_check_key_valid (self, _tmp0_, _tmp1_, &_inner_error_); +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 3072 "GSettingsEngine.c" + } else { +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 253 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 3080 "GSettingsEngine.c" + } + } +#line 255 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = schema; +#line 255 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_settings_new (_tmp2_); +#line 255 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_object = _tmp3_; +#line 257 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = schema_object; +#line 257 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = key; +#line 257 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_settings_reset (_tmp4_, _tmp5_); +#line 252 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (schema_object); +#line 3097 "GSettingsEngine.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 3110 "GSettingsEngine.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 3141 "GSettingsEngine.c" + goto __catch189_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 3150 "GSettingsEngine.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 3166 "GSettingsEngine.c" + goto __catch189_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 3177 "GSettingsEngine.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3191 "GSettingsEngine.c" + } + goto __finally189; + __catch189_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 3205 "GSettingsEngine.c" + } + __finally189: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 3216 "GSettingsEngine.c" + } +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3240 "GSettingsEngine.c" +} + + +static gchar* gsettings_configuration_engine_clean_plugin_id (const gchar* id) { + gchar* result = NULL; + gchar* cleaned = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gchar* _tmp8_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 261 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = id; +#line 261 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = string_replace (_tmp0_, "/", "-"); +#line 261 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned = _tmp1_; +#line 262 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = cleaned; +#line 262 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = string_strip (_tmp2_); +#line 262 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cleaned); +#line 262 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned = _tmp3_; +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = cleaned; +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = is_string_empty (_tmp5_); +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (!_tmp6_) { +#line 3277 "GSettingsEngine.c" + const gchar* _tmp7_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = cleaned; +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = _tmp7_; +#line 3283 "GSettingsEngine.c" + } else { +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = NULL; +#line 3287 "GSettingsEngine.c" + } +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = g_strdup (_tmp4_); +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp8_; +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cleaned); +#line 264 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 3297 "GSettingsEngine.c" +} + + +static gchar* gsettings_configuration_engine_get_plugin_enable_disable_name (const gchar* id) { + gchar* result = NULL; + gchar* cleaned_id = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 267 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 268 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = id; +#line 268 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = gsettings_configuration_engine_clean_plugin_id (_tmp0_); +#line 268 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned_id = _tmp1_; +#line 269 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = cleaned_id; +#line 269 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_tmp2_ == NULL) { +#line 3323 "GSettingsEngine.c" + gchar* _tmp3_ = NULL; +#line 270 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_strdup ("default"); +#line 270 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cleaned_id); +#line 270 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned_id = _tmp3_; +#line 3331 "GSettingsEngine.c" + } +#line 272 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = cleaned_id; +#line 272 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = string_replace (_tmp4_, "org.yorba.shotwell.", ""); +#line 272 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cleaned_id); +#line 272 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned_id = _tmp5_; +#line 273 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = cleaned_id; +#line 273 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = string_replace (_tmp6_, ".", "-"); +#line 273 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cleaned_id); +#line 273 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned_id = _tmp7_; +#line 275 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = cleaned_id; +#line 275 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 3353 "GSettingsEngine.c" +} + + +static gchar* gsettings_configuration_engine_make_plugin_schema_name (const gchar* domain, const gchar* id) { + gchar* result = NULL; + gchar* cleaned_id = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 278 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (domain != NULL, NULL); +#line 278 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 279 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = id; +#line 279 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = gsettings_configuration_engine_clean_plugin_id (_tmp0_); +#line 279 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned_id = _tmp1_; +#line 280 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = cleaned_id; +#line 280 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_tmp2_ == NULL) { +#line 3382 "GSettingsEngine.c" + gchar* _tmp3_ = NULL; +#line 281 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = g_strdup ("default"); +#line 281 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cleaned_id); +#line 281 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned_id = _tmp3_; +#line 3390 "GSettingsEngine.c" + } +#line 282 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = cleaned_id; +#line 282 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = string_replace (_tmp4_, ".", "-"); +#line 282 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cleaned_id); +#line 282 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cleaned_id = _tmp5_; +#line 284 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = domain; +#line 284 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = cleaned_id; +#line 284 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = g_strdup_printf ("org.yorba.shotwell.%s.%s", _tmp6_, _tmp7_); +#line 284 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp8_; +#line 284 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cleaned_id); +#line 284 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 3412 "GSettingsEngine.c" +} + + +static gchar* gsettings_configuration_engine_make_gsettings_key (const gchar* gconf_key) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (gconf_key != NULL, NULL); +#line 288 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = gconf_key; +#line 288 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = string_replace (_tmp0_, "_", "-"); +#line 288 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp1_; +#line 288 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 3430 "GSettingsEngine.c" +} + + +static gchar* gsettings_configuration_engine_real_get_name (ConfigurationEngine* base) { + GSettingsConfigurationEngine * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 292 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = g_strdup ("GSettings"); +#line 292 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp0_; +#line 292 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 3446 "GSettingsEngine.c" +} + + +static gint gsettings_configuration_engine_real_get_int_property (ConfigurationEngine* base, ConfigurableProperty p, GError** error) { + GSettingsConfigurationEngine * self; + gint result = 0; + gint _tmp0_ = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + ConfigurableProperty _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + ConfigurableProperty _tmp5_ = 0; + const gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; + GError * _inner_error_ = NULL; +#line 295 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = self->priv->schema_names; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1__length1 = self->priv->schema_names_length1; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = p; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp1_[_tmp2_]; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = self->priv->key_names; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4__length1 = self->priv->key_names_length1; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = p; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = _tmp4_[_tmp5_]; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = gsettings_configuration_engine_get_gs_int (self, _tmp3_, _tmp6_, &_inner_error_); +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = _tmp7_; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0; +#line 3494 "GSettingsEngine.c" + } else { +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0; +#line 3502 "GSettingsEngine.c" + } + } +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp0_; +#line 296 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 3509 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_int_property (ConfigurationEngine* base, ConfigurableProperty p, gint val, GError** error) { + GSettingsConfigurationEngine * self; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + ConfigurableProperty _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + ConfigurableProperty _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + ConfigurableProperty _tmp7_ = 0; + GError * _inner_error_ = NULL; +#line 299 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = self->priv->schema_names; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0__length1 = self->priv->schema_names_length1; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = p; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = _tmp0_[_tmp1_]; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = self->priv->key_names; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3__length1 = self->priv->key_names_length1; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = p; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp3_[_tmp4_]; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = val; +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_int (self, _tmp2_, _tmp5_, _tmp6_, &_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 3556 "GSettingsEngine.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 3564 "GSettingsEngine.c" + } + } +#line 301 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = p; +#line 301 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", _tmp7_); +#line 3571 "GSettingsEngine.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 3594 "GSettingsEngine.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3602 "GSettingsEngine.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3614 "GSettingsEngine.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 3638 "GSettingsEngine.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 3644 "GSettingsEngine.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 3648 "GSettingsEngine.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 3652 "GSettingsEngine.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 3664 "GSettingsEngine.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 3674 "GSettingsEngine.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 3680 "GSettingsEngine.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 3694 "GSettingsEngine.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 3704 "GSettingsEngine.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 3710 "GSettingsEngine.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 3719 "GSettingsEngine.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3739 "GSettingsEngine.c" +} + + +static gchar* gsettings_configuration_engine_real_get_string_property (ConfigurationEngine* base, ConfigurableProperty p, GError** error) { + GSettingsConfigurationEngine * self; + gchar* result = NULL; + gchar* gs_result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + ConfigurableProperty _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + ConfigurableProperty _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _result_ = NULL; + gchar* _tmp7_ = NULL; + ConfigurableProperty _tmp8_ = 0; + GError * _inner_error_ = NULL; +#line 304 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = self->priv->schema_names; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0__length1 = self->priv->schema_names_length1; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = p; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = _tmp0_[_tmp1_]; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = self->priv->key_names; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3__length1 = self->priv->key_names_length1; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = p; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp3_[_tmp4_]; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = gsettings_configuration_engine_get_gs_string (self, _tmp2_, _tmp5_, &_inner_error_); +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gs_result = _tmp6_; +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return NULL; +#line 3790 "GSettingsEngine.c" + } else { +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 305 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return NULL; +#line 3798 "GSettingsEngine.c" + } + } +#line 309 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = g_strdup (gs_result); +#line 309 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _result_ = _tmp7_; +#line 310 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = p; +#line 310 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_tmp8_ == CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE) { +#line 3809 "GSettingsEngine.c" + gchar* _tmp9_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp9_ = string_substring (gs_result, (glong) 7, (glong) -1); +#line 311 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_result_); +#line 311 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _result_ = _tmp9_; +#line 3817 "GSettingsEngine.c" + } +#line 314 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _result_; +#line 314 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (gs_result); +#line 314 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 3825 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_string_property (ConfigurationEngine* base, ConfigurableProperty p, const gchar* val, GError** error) { + GSettingsConfigurationEngine * self; + gchar* converted_val = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ConfigurableProperty _tmp3_ = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + ConfigurableProperty _tmp8_ = 0; + const gchar* _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + ConfigurableProperty _tmp11_ = 0; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + ConfigurableProperty _tmp14_ = 0; + GError * _inner_error_ = NULL; +#line 317 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 317 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (val != NULL); +#line 319 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = val; +#line 319 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 319 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + converted_val = _tmp1_; +#line 320 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = p; +#line 320 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_tmp3_ == CONFIGURABLE_PROPERTY_DESKTOP_BACKGROUND_FILE) { +#line 320 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = TRUE; +#line 3863 "GSettingsEngine.c" + } else { + ConfigurableProperty _tmp4_ = 0; +#line 321 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = p; +#line 321 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = _tmp4_ == CONFIGURABLE_PROPERTY_SCREENSAVER_FILE; +#line 3870 "GSettingsEngine.c" + } +#line 320 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_tmp2_) { +#line 3874 "GSettingsEngine.c" + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 322 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = val; +#line 322 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = g_strconcat ("file://", _tmp5_, NULL); +#line 322 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (converted_val); +#line 322 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + converted_val = _tmp6_; +#line 3885 "GSettingsEngine.c" + } +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = self->priv->schema_names; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7__length1 = self->priv->schema_names_length1; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = p; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp9_ = _tmp7_[_tmp8_]; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10_ = self->priv->key_names; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10__length1 = self->priv->key_names_length1; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp11_ = p; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp12_ = _tmp10_[_tmp11_]; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp13_ = converted_val; +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_string (self, _tmp9_, _tmp12_, _tmp13_, &_inner_error_); +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (converted_val); +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 3917 "GSettingsEngine.c" + } else { +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (converted_val); +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 325 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 3927 "GSettingsEngine.c" + } + } +#line 326 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp14_ = p; +#line 326 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", _tmp14_); +#line 317 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (converted_val); +#line 3936 "GSettingsEngine.c" +} + + +static gboolean gsettings_configuration_engine_real_get_bool_property (ConfigurationEngine* base, ConfigurableProperty p, GError** error) { + GSettingsConfigurationEngine * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + ConfigurableProperty _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + ConfigurableProperty _tmp5_ = 0; + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GError * _inner_error_ = NULL; +#line 329 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = self->priv->schema_names; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1__length1 = self->priv->schema_names_length1; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = p; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp1_[_tmp2_]; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = self->priv->key_names; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4__length1 = self->priv->key_names_length1; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = p; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = _tmp4_[_tmp5_]; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = gsettings_configuration_engine_get_gs_bool (self, _tmp3_, _tmp6_, &_inner_error_); +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = _tmp7_; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return FALSE; +#line 3984 "GSettingsEngine.c" + } else { +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return FALSE; +#line 3992 "GSettingsEngine.c" + } + } +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp0_; +#line 330 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 3999 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_bool_property (ConfigurationEngine* base, ConfigurableProperty p, gboolean val, GError** error) { + GSettingsConfigurationEngine * self; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + ConfigurableProperty _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + ConfigurableProperty _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + ConfigurableProperty _tmp7_ = 0; + GError * _inner_error_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = self->priv->schema_names; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0__length1 = self->priv->schema_names_length1; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = p; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = _tmp0_[_tmp1_]; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = self->priv->key_names; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3__length1 = self->priv->key_names_length1; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = p; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp3_[_tmp4_]; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = val; +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_bool (self, _tmp2_, _tmp5_, _tmp6_, &_inner_error_); +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4046 "GSettingsEngine.c" + } else { +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 334 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4054 "GSettingsEngine.c" + } + } +#line 335 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = p; +#line 335 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", _tmp7_); +#line 4061 "GSettingsEngine.c" +} + + +static gdouble gsettings_configuration_engine_real_get_double_property (ConfigurationEngine* base, ConfigurableProperty p, GError** error) { + GSettingsConfigurationEngine * self; + gdouble result = 0.0; + gdouble _tmp0_ = 0.0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + ConfigurableProperty _tmp2_ = 0; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + ConfigurableProperty _tmp5_ = 0; + const gchar* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + GError * _inner_error_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = self->priv->schema_names; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1__length1 = self->priv->schema_names_length1; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = p; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp1_[_tmp2_]; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = self->priv->key_names; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4__length1 = self->priv->key_names_length1; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = p; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = _tmp4_[_tmp5_]; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = gsettings_configuration_engine_get_gs_double (self, _tmp3_, _tmp6_, &_inner_error_); +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = _tmp7_; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0.0; +#line 4109 "GSettingsEngine.c" + } else { +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0.0; +#line 4117 "GSettingsEngine.c" + } + } +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp0_; +#line 339 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4124 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_double_property (ConfigurationEngine* base, ConfigurableProperty p, gdouble val, GError** error) { + GSettingsConfigurationEngine * self; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + ConfigurableProperty _tmp1_ = 0; + const gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + ConfigurableProperty _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; + ConfigurableProperty _tmp7_ = 0; + GError * _inner_error_ = NULL; +#line 342 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = self->priv->schema_names; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0__length1 = self->priv->schema_names_length1; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = p; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = _tmp0_[_tmp1_]; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = self->priv->key_names; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3__length1 = self->priv->key_names_length1; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = p; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp3_[_tmp4_]; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = val; +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_double (self, _tmp2_, _tmp5_, _tmp6_, &_inner_error_); +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_propagate_error (error, _inner_error_); +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4171 "GSettingsEngine.c" + } else { +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 343 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4179 "GSettingsEngine.c" + } + } +#line 344 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = p; +#line 344 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONFIGURATION_ENGINE, ConfigurationEngine), "property-changed", _tmp7_); +#line 4186 "GSettingsEngine.c" +} + + +static gboolean gsettings_configuration_engine_real_get_plugin_bool (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gboolean def) { + GSettingsConfigurationEngine * self; + gboolean result = FALSE; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 347 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (domain != NULL, FALSE); +#line 347 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (id != NULL, FALSE); +#line 347 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 348 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 348 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 348 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 348 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 4214 "GSettingsEngine.c" + { + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = key; +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = gsettings_configuration_engine_make_gsettings_key (_tmp4_); +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = _tmp5_; +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = gsettings_configuration_engine_get_gs_bool (self, schema_name, _tmp6_, &_inner_error_); +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = _tmp7_; +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp6_); +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp8_; +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4240 "GSettingsEngine.c" + goto __catch190_configuration_error; + } +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return FALSE; +#line 4251 "GSettingsEngine.c" + } +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp3_; +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 351 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4259 "GSettingsEngine.c" + } + goto __finally190; + __catch190_configuration_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 350 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 350 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 353 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp9_ = err; +#line 353 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10_ = _tmp9_->message; +#line 353 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:353: GSettingsConfigurationEngine: error: %s", _tmp10_); +#line 354 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp11_ = def; +#line 354 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp11_; +#line 354 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 354 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 354 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4288 "GSettingsEngine.c" + } + __finally190: +#line 350 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 350 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 350 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 350 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return FALSE; +#line 4299 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_plugin_bool (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gboolean val) { + GSettingsConfigurationEngine * self; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 358 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 358 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (domain != NULL); +#line 358 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (id != NULL); +#line 358 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 359 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 359 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 359 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 359 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 4326 "GSettingsEngine.c" + { + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = key; +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = gsettings_configuration_engine_make_gsettings_key (_tmp3_); +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp4_; +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = val; +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_bool (self, schema_name, _tmp5_, _tmp6_, &_inner_error_); +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp5_); +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4348 "GSettingsEngine.c" + goto __catch191_configuration_error; + } +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 362 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4359 "GSettingsEngine.c" + } + } + goto __finally191; + __catch191_configuration_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 361 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 361 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 364 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = err; +#line 364 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = _tmp7_->message; +#line 364 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:364: GSettingsConfigurationEngine: error: %s", _tmp8_); +#line 361 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 4380 "GSettingsEngine.c" + } + __finally191: +#line 361 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 361 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 361 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 361 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 361 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4393 "GSettingsEngine.c" + } +#line 358 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 4397 "GSettingsEngine.c" +} + + +static gdouble gsettings_configuration_engine_real_get_plugin_double (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gdouble def) { + GSettingsConfigurationEngine * self; + gdouble result = 0.0; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 368 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 368 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (domain != NULL, 0.0); +#line 368 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (id != NULL, 0.0); +#line 368 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, 0.0); +#line 369 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 369 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 369 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 369 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 4425 "GSettingsEngine.c" + { + gdouble _tmp3_ = 0.0; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = key; +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = gsettings_configuration_engine_make_gsettings_key (_tmp4_); +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = _tmp5_; +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = gsettings_configuration_engine_get_gs_double (self, schema_name, _tmp6_, &_inner_error_); +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = _tmp7_; +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp6_); +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp8_; +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4451 "GSettingsEngine.c" + goto __catch192_configuration_error; + } +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0.0; +#line 4462 "GSettingsEngine.c" + } +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp3_; +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 372 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4470 "GSettingsEngine.c" + } + goto __finally192; + __catch192_configuration_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gdouble _tmp11_ = 0.0; +#line 371 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 371 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 374 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp9_ = err; +#line 374 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10_ = _tmp9_->message; +#line 374 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:374: GSettingsConfigurationEngine: error: %s", _tmp10_); +#line 375 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp11_ = def; +#line 375 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp11_; +#line 375 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 375 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 375 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4499 "GSettingsEngine.c" + } + __finally192: +#line 371 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 371 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 371 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 371 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0.0; +#line 4510 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_plugin_double (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gdouble val) { + GSettingsConfigurationEngine * self; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 379 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 379 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (domain != NULL); +#line 379 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (id != NULL); +#line 379 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 380 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 380 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 380 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 380 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 4537 "GSettingsEngine.c" + { + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = key; +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = gsettings_configuration_engine_make_gsettings_key (_tmp3_); +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp4_; +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = val; +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_double (self, schema_name, _tmp5_, _tmp6_, &_inner_error_); +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp5_); +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4559 "GSettingsEngine.c" + goto __catch193_configuration_error; + } +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 383 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4570 "GSettingsEngine.c" + } + } + goto __finally193; + __catch193_configuration_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 382 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 382 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 385 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = err; +#line 385 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = _tmp7_->message; +#line 385 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:385: GSettingsConfigurationEngine: error: %s", _tmp8_); +#line 382 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 4591 "GSettingsEngine.c" + } + __finally193: +#line 382 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 382 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 382 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 382 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 382 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4604 "GSettingsEngine.c" + } +#line 379 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 4608 "GSettingsEngine.c" +} + + +static gint gsettings_configuration_engine_real_get_plugin_int (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gint def) { + GSettingsConfigurationEngine * self; + gint result = 0; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 389 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 389 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (domain != NULL, 0); +#line 389 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (id != NULL, 0); +#line 389 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, 0); +#line 390 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 390 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 390 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 390 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 4636 "GSettingsEngine.c" + { + gint _tmp3_ = 0; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = key; +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = gsettings_configuration_engine_make_gsettings_key (_tmp4_); +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = _tmp5_; +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = gsettings_configuration_engine_get_gs_int (self, schema_name, _tmp6_, &_inner_error_); +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = _tmp7_; +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp6_); +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp8_; +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4662 "GSettingsEngine.c" + goto __catch194_configuration_error; + } +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0; +#line 4673 "GSettingsEngine.c" + } +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp3_; +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 393 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4681 "GSettingsEngine.c" + } + goto __finally194; + __catch194_configuration_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gint _tmp11_ = 0; +#line 392 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 392 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp9_ = err; +#line 395 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10_ = _tmp9_->message; +#line 395 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:395: GSettingsConfigurationEngine: error: %s", _tmp10_); +#line 396 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp11_ = def; +#line 396 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp11_; +#line 396 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 396 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 396 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4710 "GSettingsEngine.c" + } + __finally194: +#line 392 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 392 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 392 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 392 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0; +#line 4721 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_plugin_int (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, gint val) { + GSettingsConfigurationEngine * self; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 400 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 400 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (domain != NULL); +#line 400 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (id != NULL); +#line 400 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 401 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 401 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 401 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 401 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 4748 "GSettingsEngine.c" + { + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = key; +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = gsettings_configuration_engine_make_gsettings_key (_tmp3_); +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp4_; +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = val; +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_int (self, schema_name, _tmp5_, _tmp6_, &_inner_error_); +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp5_); +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4770 "GSettingsEngine.c" + goto __catch195_configuration_error; + } +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 404 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4781 "GSettingsEngine.c" + } + } + goto __finally195; + __catch195_configuration_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 403 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 403 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 406 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = err; +#line 406 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = _tmp7_->message; +#line 406 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:406: GSettingsConfigurationEngine: error: %s", _tmp8_); +#line 403 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 4802 "GSettingsEngine.c" + } + __finally195: +#line 403 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 403 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 403 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 403 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 403 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 4815 "GSettingsEngine.c" + } +#line 400 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 4819 "GSettingsEngine.c" +} + + +static gchar* gsettings_configuration_engine_real_get_plugin_string (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, const gchar* def) { + GSettingsConfigurationEngine * self; + gchar* result = NULL; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 410 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 410 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (domain != NULL, NULL); +#line 410 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 410 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (key != NULL, NULL); +#line 411 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 411 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 411 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 411 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 4847 "GSettingsEngine.c" + { + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = key; +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = gsettings_configuration_engine_make_gsettings_key (_tmp4_); +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = _tmp5_; +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = gsettings_configuration_engine_get_gs_string (self, schema_name, _tmp6_, &_inner_error_); +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = _tmp7_; +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp6_); +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp8_; +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4874 "GSettingsEngine.c" + goto __catch196_configuration_error; + } +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return NULL; +#line 4885 "GSettingsEngine.c" + } +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp9_ = _tmp3_; +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = NULL; +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp9_; +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp3_); +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 414 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4899 "GSettingsEngine.c" + } + goto __finally196; + __catch196_configuration_error: + { + GError* err = NULL; + GError* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 413 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 413 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp10_ = err; +#line 416 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp11_ = _tmp10_->message; +#line 416 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:416: GSettingsConfigurationEngine: error: %s", _tmp11_); +#line 417 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp12_ = def; +#line 417 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 417 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp13_; +#line 417 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 417 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 417 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 4931 "GSettingsEngine.c" + } + __finally196: +#line 413 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 413 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 413 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 413 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return NULL; +#line 4942 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_plugin_string (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key, const gchar* val) { + GSettingsConfigurationEngine * self; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 421 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (domain != NULL); +#line 421 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (id != NULL); +#line 421 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 422 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 422 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 422 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 422 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 4969 "GSettingsEngine.c" + { + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = key; +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = gsettings_configuration_engine_make_gsettings_key (_tmp3_); +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp4_; +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = val; +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_string (self, schema_name, _tmp5_, _tmp6_, &_inner_error_); +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp5_); +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 4991 "GSettingsEngine.c" + goto __catch197_configuration_error; + } +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 425 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 5002 "GSettingsEngine.c" + } + } + goto __finally197; + __catch197_configuration_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 424 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 424 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 427 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = err; +#line 427 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp8_ = _tmp7_->message; +#line 427 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:427: GSettingsConfigurationEngine: error: %s", _tmp8_); +#line 424 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 5023 "GSettingsEngine.c" + } + __finally197: +#line 424 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 424 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 424 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 424 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 424 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 5036 "GSettingsEngine.c" + } +#line 421 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 5040 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_unset_plugin_key (ConfigurationEngine* base, const gchar* domain, const gchar* id, const gchar* key) { + GSettingsConfigurationEngine * self; + gchar* schema_name = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 431 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 431 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (domain != NULL); +#line 431 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (id != NULL); +#line 431 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (key != NULL); +#line 432 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = domain; +#line 432 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = id; +#line 432 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = gsettings_configuration_engine_make_plugin_schema_name (_tmp0_, _tmp1_); +#line 432 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + schema_name = _tmp2_; +#line 5067 "GSettingsEngine.c" + { + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = key; +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = gsettings_configuration_engine_make_gsettings_key (_tmp3_); +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp4_; +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_reset_gs_to_default (self, schema_name, _tmp5_, &_inner_error_); +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp5_); +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5086 "GSettingsEngine.c" + goto __catch198_configuration_error; + } +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 435 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 5097 "GSettingsEngine.c" + } + } + goto __finally198; + __catch198_configuration_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 434 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 437 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = err; +#line 437 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = _tmp6_->message; +#line 437 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:437: GSettingsConfigurationEngine: error: %s", _tmp7_); +#line 434 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 5118 "GSettingsEngine.c" + } + __finally198: +#line 434 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 434 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 434 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 434 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 434 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 5131 "GSettingsEngine.c" + } +#line 431 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (schema_name); +#line 5135 "GSettingsEngine.c" +} + + +static FuzzyPropertyState gsettings_configuration_engine_real_is_plugin_enabled (ConfigurationEngine* base, const gchar* id) { + GSettingsConfigurationEngine * self; + FuzzyPropertyState result = 0; + gchar* enable_disable_name = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 441 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 441 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_val_if_fail (id != NULL, 0); +#line 442 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = id; +#line 442 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = gsettings_configuration_engine_get_plugin_enable_disable_name (_tmp0_); +#line 442 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + enable_disable_name = _tmp1_; +#line 5156 "GSettingsEngine.c" + { + FuzzyPropertyState _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = gsettings_configuration_engine_get_gs_bool (self, GSETTINGS_CONFIGURATION_ENGINE_PLUGINS_ENABLE_DISABLE_SCHEMA_NAME, enable_disable_name, &_inner_error_); +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp4_; +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5169 "GSettingsEngine.c" + goto __catch199_configuration_error; + } +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (enable_disable_name); +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0; +#line 5180 "GSettingsEngine.c" + } +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_tmp3_) { +#line 446 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = FUZZY_PROPERTY_STATE_ENABLED; +#line 5186 "GSettingsEngine.c" + } else { +#line 446 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = FUZZY_PROPERTY_STATE_DISABLED; +#line 5190 "GSettingsEngine.c" + } +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = _tmp2_; +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (enable_disable_name); +#line 445 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 5198 "GSettingsEngine.c" + } + goto __finally199; + __catch199_configuration_error: + { + GError* err = NULL; + GError* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 444 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = err; +#line 448 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = _tmp5_->message; +#line 448 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:448: GSettingsConfigurationEngine: error: %s", _tmp6_); +#line 449 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + result = FUZZY_PROPERTY_STATE_UNKNOWN; +#line 449 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 449 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (enable_disable_name); +#line 449 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return result; +#line 5224 "GSettingsEngine.c" + } + __finally199: +#line 444 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (enable_disable_name); +#line 444 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 444 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 444 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return 0; +#line 5235 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_real_set_plugin_enabled (ConfigurationEngine* base, const gchar* id, gboolean enabled) { + GSettingsConfigurationEngine * self; + gchar* enable_disable_name = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 453 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 453 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_return_if_fail (id != NULL); +#line 454 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = id; +#line 454 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = gsettings_configuration_engine_get_plugin_enable_disable_name (_tmp0_); +#line 454 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + enable_disable_name = _tmp1_; +#line 5255 "GSettingsEngine.c" + { + gboolean _tmp2_ = FALSE; +#line 457 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = enabled; +#line 457 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_set_gs_bool (self, GSETTINGS_CONFIGURATION_ENGINE_PLUGINS_ENABLE_DISABLE_SCHEMA_NAME, enable_disable_name, _tmp2_, &_inner_error_); +#line 457 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 457 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (_inner_error_->domain == CONFIGURATION_ERROR) { +#line 5266 "GSettingsEngine.c" + goto __catch200_configuration_error; + } +#line 457 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (enable_disable_name); +#line 457 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 457 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 457 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 5277 "GSettingsEngine.c" + } + } + goto __finally200; + __catch200_configuration_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 456 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 459 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = err; +#line 459 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = _tmp3_->message; +#line 459 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_critical ("GSettingsEngine.vala:459: GSettingsConfigurationEngine: error: %s", _tmp4_); +#line 456 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 5298 "GSettingsEngine.c" + } + __finally200: +#line 456 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 456 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (enable_disable_name); +#line 456 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 456 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 456 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 5311 "GSettingsEngine.c" + } +#line 453 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (enable_disable_name); +#line 5315 "GSettingsEngine.c" +} + + +void gsettings_configuration_engine_run_gsettings_migrator (void) { + gchar* cmd_line = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp0_ = app_dirs_get_settings_migrator_bin (); +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp1_ = _tmp0_; +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp3_ = _tmp2_; +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp4_ = g_strconcat ("sh ", _tmp3_, NULL); +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp5_ = _tmp4_; +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (_tmp3_); +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (_tmp1_); +#line 468 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + cmd_line = _tmp5_; +#line 5346 "GSettingsEngine.c" + { +#line 471 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_spawn_command_line_sync (cmd_line, NULL, NULL, NULL, &_inner_error_); +#line 471 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 5352 "GSettingsEngine.c" + goto __catch201_g_error; + } + } + goto __finally201; + __catch201_g_error: + { + GError* err = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 470 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + err = _inner_error_; +#line 470 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _inner_error_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp6_ = err; +#line 473 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _tmp7_ = _tmp6_->message; +#line 473 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_message ("GSettingsEngine.vala:473: Error running shotwell-settings-migrator: %s", _tmp7_); +#line 470 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_error_free0 (err); +#line 5374 "GSettingsEngine.c" + } + __finally201: +#line 470 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 470 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cmd_line); +#line 470 "/home/jens/Source/shotwell/src/config/GSettingsEngine.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 470 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_clear_error (&_inner_error_); +#line 470 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + return; +#line 5387 "GSettingsEngine.c" + } +#line 467 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_free0 (cmd_line); +#line 5391 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_class_init (GSettingsConfigurationEngineClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + g_type_class_add_private (klass, sizeof (GSettingsConfigurationEnginePrivate)); +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + G_OBJECT_CLASS (klass)->finalize = gsettings_configuration_engine_finalize; +#line 5402 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_configuration_engine_interface_init (ConfigurationEngineIface * iface) { +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + gsettings_configuration_engine_configuration_engine_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_name = (gchar* (*)(ConfigurationEngine*)) gsettings_configuration_engine_real_get_name; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_int_property = (gint (*)(ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_int_property; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_int_property = (void (*)(ConfigurationEngine*, ConfigurableProperty, gint, GError**)) gsettings_configuration_engine_real_set_int_property; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_string_property = (gchar* (*)(ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_string_property; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_string_property = (void (*)(ConfigurationEngine*, ConfigurableProperty, const gchar*, GError**)) gsettings_configuration_engine_real_set_string_property; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_bool_property = (gboolean (*)(ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_bool_property; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_bool_property = (void (*)(ConfigurationEngine*, ConfigurableProperty, gboolean, GError**)) gsettings_configuration_engine_real_set_bool_property; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_double_property = (gdouble (*)(ConfigurationEngine*, ConfigurableProperty, GError**)) gsettings_configuration_engine_real_get_double_property; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_double_property = (void (*)(ConfigurationEngine*, ConfigurableProperty, gdouble, GError**)) gsettings_configuration_engine_real_set_double_property; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_plugin_bool = (gboolean (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gboolean)) gsettings_configuration_engine_real_get_plugin_bool; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_plugin_bool = (void (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gboolean)) gsettings_configuration_engine_real_set_plugin_bool; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_plugin_double = (gdouble (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gdouble)) gsettings_configuration_engine_real_get_plugin_double; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_plugin_double = (void (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gdouble)) gsettings_configuration_engine_real_set_plugin_double; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_plugin_int = (gint (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gint)) gsettings_configuration_engine_real_get_plugin_int; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_plugin_int = (void (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*, gint)) gsettings_configuration_engine_real_set_plugin_int; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->get_plugin_string = (gchar* (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*, const gchar*)) gsettings_configuration_engine_real_get_plugin_string; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_plugin_string = (void (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*, const gchar*)) gsettings_configuration_engine_real_set_plugin_string; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->unset_plugin_key = (void (*)(ConfigurationEngine*, const gchar*, const gchar*, const gchar*)) gsettings_configuration_engine_real_unset_plugin_key; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->is_plugin_enabled = (FuzzyPropertyState (*)(ConfigurationEngine*, const gchar*)) gsettings_configuration_engine_real_is_plugin_enabled; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + iface->set_plugin_enabled = (void (*)(ConfigurationEngine*, const gchar*, gboolean)) gsettings_configuration_engine_real_set_plugin_enabled; +#line 5449 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_instance_init (GSettingsConfigurationEngine * self) { +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv = GSETTINGS_CONFIGURATION_ENGINE_GET_PRIVATE (self); +#line 5456 "GSettingsEngine.c" +} + + +static void gsettings_configuration_engine_finalize (GObject* obj) { + GSettingsConfigurationEngine * self; +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_GSETTINGS_CONFIGURATION_ENGINE, GSettingsConfigurationEngine); +#line 25 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + _g_object_unref0 (self->priv->known_schemas); +#line 26 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->schema_names = (_vala_array_free (self->priv->schema_names, self->priv->schema_names_length1, (GDestroyNotify) g_free), NULL); +#line 27 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + self->priv->key_names = (_vala_array_free (self->priv->key_names, self->priv->key_names_length1, (GDestroyNotify) g_free), NULL); +#line 7 "/home/jens/Source/shotwell/src/config/GSettingsEngine.vala" + G_OBJECT_CLASS (gsettings_configuration_engine_parent_class)->finalize (obj); +#line 5472 "GSettingsEngine.c" +} + + +GType gsettings_configuration_engine_get_type (void) { + static volatile gsize gsettings_configuration_engine_type_id__volatile = 0; + if (g_once_init_enter (&gsettings_configuration_engine_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (GSettingsConfigurationEngineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gsettings_configuration_engine_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GSettingsConfigurationEngine), 0, (GInstanceInitFunc) gsettings_configuration_engine_instance_init, NULL }; + static const GInterfaceInfo configuration_engine_info = { (GInterfaceInitFunc) gsettings_configuration_engine_configuration_engine_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType gsettings_configuration_engine_type_id; + gsettings_configuration_engine_type_id = g_type_register_static (G_TYPE_OBJECT, "GSettingsConfigurationEngine", &g_define_type_info, 0); + g_type_add_interface_static (gsettings_configuration_engine_type_id, TYPE_CONFIGURATION_ENGINE, &configuration_engine_info); + g_once_init_leave (&gsettings_configuration_engine_type_id__volatile, gsettings_configuration_engine_type_id); + } + return gsettings_configuration_engine_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/config/GSettingsEngine.vala b/src/config/GSettingsEngine.vala index d7ad69f..6329b78 100644 --- a/src/config/GSettingsEngine.vala +++ b/src/config/GSettingsEngine.vala @@ -49,6 +49,7 @@ public class GSettingsConfigurationEngine : ConfigurationEngine, GLib.Object { schema_names[ConfigurableProperty.DISPLAY_BASIC_PROPERTIES] = UI_PREFS_SCHEMA_NAME; schema_names[ConfigurableProperty.DISPLAY_EXTENDED_PROPERTIES] = UI_PREFS_SCHEMA_NAME; schema_names[ConfigurableProperty.DISPLAY_SIDEBAR] = UI_PREFS_SCHEMA_NAME; + schema_names[ConfigurableProperty.DISPLAY_TOOLBAR] = UI_PREFS_SCHEMA_NAME; schema_names[ConfigurableProperty.DISPLAY_SEARCH_BAR] = UI_PREFS_SCHEMA_NAME; schema_names[ConfigurableProperty.DISPLAY_PHOTO_RATINGS] = UI_PREFS_SCHEMA_NAME; schema_names[ConfigurableProperty.DISPLAY_PHOTO_TAGS] = UI_PREFS_SCHEMA_NAME; @@ -114,6 +115,7 @@ public class GSettingsConfigurationEngine : ConfigurationEngine, GLib.Object { key_names[ConfigurableProperty.DISPLAY_BASIC_PROPERTIES] = "display-basic-properties"; key_names[ConfigurableProperty.DISPLAY_EXTENDED_PROPERTIES] = "display-extended-properties"; key_names[ConfigurableProperty.DISPLAY_SIDEBAR] = "display-sidebar"; + key_names[ConfigurableProperty.DISPLAY_TOOLBAR] = "display-toolbar"; key_names[ConfigurableProperty.DISPLAY_SEARCH_BAR] = "display-search-bar"; key_names[ConfigurableProperty.DISPLAY_PHOTO_RATINGS] = "display-photo-ratings"; key_names[ConfigurableProperty.DISPLAY_PHOTO_TAGS] = "display-photo-tags"; diff --git a/src/config/mk/config.mk b/src/config/mk/config.mk deleted file mode 100644 index e06dedf..0000000 --- a/src/config/mk/config.mk +++ /dev/null @@ -1,29 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Config - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := config - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - ConfigurationInterfaces.vala \ - GSettingsEngine.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/core/Alteration.c b/src/core/Alteration.c new file mode 100644 index 0000000..2bb624a --- /dev/null +++ b/src/core/Alteration.c @@ -0,0 +1,2918 @@ +/* Alteration.c generated by valac 0.32.1, the Vala compiler + * generated from Alteration.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/**/ +/* Alteration represents a description of what has changed in the DataObject (reported via the*/ +/* "altered" signal). Since the descriptions can vary wildly depending on the semantics of each*/ +/* DataObject, no assumptions or requirements are placed on Alteration other than it must have*/ +/* one or more "subjects", each with a "detail". Subscribers to the "altered" signal can query*/ +/* the Alteration object to determine if the change is important to them.*/ +/**/ +/* Alteration is an immutable type. This means it's possible to store const Alterations of oft-used*/ +/* values for reuse.*/ +/**/ +/* Alterations may be compressed, merging their subjects and details into a new aggregated*/ +/* Alteration. Generally this is handled automatically by DataObject and DataCollection, when*/ +/* necessary.*/ +/**/ +/* NOTE: subjects and details should be ASCII labels (as in, plain-old ASCII, no code pages).*/ +/* They are treated as case-sensitive strings.*/ +/**/ +/* Recommended subjects include: image, thumbnail, metadata.*/ +/**/ + +#include +#include +#include +#include +#include +#include + + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +typedef struct _AlterationPrivate AlterationPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecAlteration ParamSpecAlteration; +#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 _Alteration { + GTypeInstance parent_instance; + volatile int ref_count; + AlterationPrivate * priv; +}; + +struct _AlterationClass { + GTypeClass parent_class; + void (*finalize) (Alteration *self); +}; + +struct _AlterationPrivate { + gchar* subject; + gchar* detail; + GeeMultiMap* map; +}; + +struct _ParamSpecAlteration { + GParamSpec parent_instance; +}; + + +static gpointer alteration_parent_class = NULL; + +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +#define ALTERATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ALTERATION, AlterationPrivate)) +enum { + ALTERATION_DUMMY_PROPERTY +}; +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +static void alteration_add_detail (Alteration* self, const gchar* sub, const gchar* det); +Alteration* alteration_new_from_list (const gchar* list); +Alteration* alteration_construct_from_list (GType object_type, const gchar* list); +Alteration* alteration_new_from_array (gchar** array, int array_length1); +Alteration* alteration_construct_from_array (GType object_type, gchar** array, int array_length1); +static Alteration* alteration_new_from_map (GeeMultiMap* map); +static Alteration* alteration_construct_from_map (GType object_type, GeeMultiMap* map); +static GeeMultiMap* alteration_create_map (Alteration* self); +static guint alteration_case_hash (const gchar* a); +static guint _alteration_case_hash_gee_hash_data_func (gconstpointer v, gpointer self); +static gboolean alteration_case_equal (const gchar* a, const gchar* b); +static gboolean _alteration_case_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +static inline gboolean alteration_equal_values (const gchar* str1, const gchar* str2); +static inline guint alteration_hash_value (const gchar* str); +gboolean alteration_has_subject (Alteration* self, const gchar* subject); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +GeeCollection* alteration_get_details (Alteration* self, const gchar* subject); +gchar* alteration_to_string (Alteration* self); +gboolean alteration_contains_any (Alteration* self, Alteration* other); +gboolean alteration_equals (Alteration* self, Alteration* other); +static void alteration_multimap_add_all (GeeMultiMap* dest, GeeMultiMap* src); +Alteration* alteration_compress (Alteration* self, Alteration* other); +static void alteration_finalize (Alteration* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail) { + Alteration* self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (subject != NULL, NULL); +#line 32 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (detail != NULL, NULL); +#line 32 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self = (Alteration*) g_type_create_instance (object_type); +#line 33 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = subject; +#line 33 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = detail; +#line 33 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_add_detail (self, _tmp0_, _tmp1_); +#line 32 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return self; +#line 139 "Alteration.c" +} + + +Alteration* alteration_new (const gchar* subject, const gchar* detail) { +#line 32 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return alteration_construct (TYPE_ALTERATION, subject, detail); +#line 146 "Alteration.c" +} + + +Alteration* alteration_construct_from_list (GType object_type, const gchar* list) { + Alteration* self = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gchar** pairs = NULL; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint pairs_length1 = 0; + gint _pairs_size_ = 0; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (list != NULL, NULL); +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self = (Alteration*) g_type_create_instance (object_type); +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = list; +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = strlen (_tmp0_); +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = _tmp1_; +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_return_val_if_fail (_tmp2_ > 0, "list.length > 0", NULL); +#line 39 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = list; +#line 39 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = _tmp4_ = g_strsplit (_tmp3_, ",", 0); +#line 39 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pairs = _tmp5_; +#line 39 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pairs_length1 = _vala_array_length (_tmp4_); +#line 39 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _pairs_size_ = pairs_length1; +#line 40 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = pairs; +#line 40 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6__length1 = pairs_length1; +#line 40 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp6__length1 >= 1, "pairs.length >= 1"); +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = pairs; +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7__length1 = pairs_length1; +#line 197 "Alteration.c" + { + gchar** pair_collection = NULL; + gint pair_collection_length1 = 0; + gint _pair_collection_size_ = 0; + gint pair_it = 0; +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pair_collection = _tmp7_; +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pair_collection_length1 = _tmp7__length1; +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + for (pair_it = 0; pair_it < _tmp7__length1; pair_it = pair_it + 1) { +#line 209 "Alteration.c" + gchar* _tmp8_ = NULL; + gchar* pair = NULL; +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = g_strdup (pair_collection[pair_it]); +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pair = _tmp8_; +#line 216 "Alteration.c" + { + gchar** subject_detail = NULL; + const gchar* _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gchar** _tmp11_ = NULL; + gint subject_detail_length1 = 0; + gint _subject_detail_size_ = 0; + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + const gchar* _tmp14_ = NULL; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + const gchar* _tmp16_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = pair; +#line 43 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = _tmp10_ = g_strsplit (_tmp9_, ":", 2); +#line 43 "/home/jens/Source/shotwell/src/core/Alteration.vala" + subject_detail = _tmp11_; +#line 43 "/home/jens/Source/shotwell/src/core/Alteration.vala" + subject_detail_length1 = _vala_array_length (_tmp10_); +#line 43 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _subject_detail_size_ = subject_detail_length1; +#line 44 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = subject_detail; +#line 44 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12__length1 = subject_detail_length1; +#line 44 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp12__length1 == 2, "subject_detail.length == 2"); +#line 46 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = subject_detail; +#line 46 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13__length1 = subject_detail_length1; +#line 46 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = _tmp13_[0]; +#line 46 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = subject_detail; +#line 46 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15__length1 = subject_detail_length1; +#line 46 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = _tmp15_[1]; +#line 46 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_add_detail (self, _tmp14_, _tmp16_); +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + subject_detail = (_vala_array_free (subject_detail, subject_detail_length1, (GDestroyNotify) g_free), NULL); +#line 42 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (pair); +#line 266 "Alteration.c" + } + } + } +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pairs = (_vala_array_free (pairs, pairs_length1, (GDestroyNotify) g_free), NULL); +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return self; +#line 274 "Alteration.c" +} + + +Alteration* alteration_new_from_list (const gchar* list) { +#line 38 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return alteration_construct_from_list (TYPE_ALTERATION, list); +#line 281 "Alteration.c" +} + + +Alteration* alteration_construct_from_array (GType object_type, gchar** array, int array_length1) { + Alteration* self = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 52 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self = (Alteration*) g_type_create_instance (object_type); +#line 52 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = array; +#line 52 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0__length1 = array_length1; +#line 52 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_return_val_if_fail (_tmp0__length1 > 0, "array.length > 0", NULL); +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = array; +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1__length1 = array_length1; +#line 303 "Alteration.c" + { + gchar** pair_collection = NULL; + gint pair_collection_length1 = 0; + gint _pair_collection_size_ = 0; + gint pair_it = 0; +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pair_collection = _tmp1_; +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pair_collection_length1 = _tmp1__length1; +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + for (pair_it = 0; pair_it < _tmp1__length1; pair_it = pair_it + 1) { +#line 315 "Alteration.c" + gchar* _tmp2_ = NULL; + gchar* pair = NULL; +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = g_strdup (pair_collection[pair_it]); +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + pair = _tmp2_; +#line 322 "Alteration.c" + { + gchar** subject_detail = NULL; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint subject_detail_length1 = 0; + gint _subject_detail_size_ = 0; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + const gchar* _tmp10_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = pair; +#line 54 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = _tmp4_ = g_strsplit (_tmp3_, ":", 2); +#line 54 "/home/jens/Source/shotwell/src/core/Alteration.vala" + subject_detail = _tmp5_; +#line 54 "/home/jens/Source/shotwell/src/core/Alteration.vala" + subject_detail_length1 = _vala_array_length (_tmp4_); +#line 54 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _subject_detail_size_ = subject_detail_length1; +#line 55 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = subject_detail; +#line 55 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6__length1 = subject_detail_length1; +#line 55 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp6__length1 == 2, "subject_detail.length == 2"); +#line 57 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = subject_detail; +#line 57 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7__length1 = subject_detail_length1; +#line 57 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = _tmp7_[0]; +#line 57 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = subject_detail; +#line 57 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9__length1 = subject_detail_length1; +#line 57 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = _tmp9_[1]; +#line 57 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_add_detail (self, _tmp8_, _tmp10_); +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + subject_detail = (_vala_array_free (subject_detail, subject_detail_length1, (GDestroyNotify) g_free), NULL); +#line 53 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (pair); +#line 372 "Alteration.c" + } + } + } +#line 52 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return self; +#line 378 "Alteration.c" +} + + +Alteration* alteration_new_from_array (gchar** array, int array_length1) { +#line 52 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return alteration_construct_from_array (TYPE_ALTERATION, array, array_length1); +#line 385 "Alteration.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 63 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return self ? g_object_ref (self) : NULL; +#line 392 "Alteration.c" +} + + +static Alteration* alteration_construct_from_map (GType object_type, GeeMultiMap* map) { + Alteration* self = NULL; + GeeMultiMap* _tmp0_ = NULL; + GeeMultiMap* _tmp1_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (GEE_IS_MULTI_MAP (map), NULL); +#line 62 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self = (Alteration*) g_type_create_instance (object_type); +#line 63 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = map; +#line 63 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 63 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (self->priv->map); +#line 63 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->map = _tmp1_; +#line 62 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return self; +#line 414 "Alteration.c" +} + + +static Alteration* alteration_new_from_map (GeeMultiMap* map) { +#line 62 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return alteration_construct_from_map (TYPE_ALTERATION, map); +#line 421 "Alteration.c" +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 444 "Alteration.c" +} + + +static void alteration_add_detail (Alteration* self, const gchar* sub, const gchar* det) { + gchar* subject = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gchar* detail = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + GeeMultiMap* _tmp18_ = NULL; + const gchar* _tmp20_ = NULL; + GeeMultiMap* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (IS_ALTERATION (self)); +#line 66 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (sub != NULL); +#line 66 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (det != NULL); +#line 68 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = sub; +#line 68 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = string_strip (_tmp0_); +#line 68 "/home/jens/Source/shotwell/src/core/Alteration.vala" + subject = _tmp1_; +#line 69 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = subject; +#line 69 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = strlen (_tmp2_); +#line 69 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = _tmp3_; +#line 69 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp4_ > 0, "subject.length > 0"); +#line 71 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = det; +#line 71 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = string_strip (_tmp5_); +#line 71 "/home/jens/Source/shotwell/src/core/Alteration.vala" + detail = _tmp6_; +#line 72 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = detail; +#line 72 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = strlen (_tmp7_); +#line 72 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = _tmp8_; +#line 72 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp9_ > 0, "detail.length > 0"); +#line 75 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = self->priv->subject; +#line 75 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp11_ == NULL) { +#line 506 "Alteration.c" + GeeMultiMap* _tmp12_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = self->priv->map; +#line 75 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = _tmp12_ == NULL; +#line 512 "Alteration.c" + } else { +#line 75 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = FALSE; +#line 516 "Alteration.c" + } +#line 75 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp10_) { +#line 520 "Alteration.c" + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = self->priv->detail; +#line 76 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp13_ == NULL, "this.detail == null"); +#line 78 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = subject; +#line 78 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 78 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (self->priv->subject); +#line 78 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->subject = _tmp15_; +#line 79 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = detail; +#line 79 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 79 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (self->priv->detail); +#line 79 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->detail = _tmp17_; +#line 81 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (detail); +#line 81 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (subject); +#line 81 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return; +#line 552 "Alteration.c" + } +#line 85 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp18_ = self->priv->map; +#line 85 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp18_ == NULL) { +#line 558 "Alteration.c" + GeeMultiMap* _tmp19_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = alteration_create_map (self); +#line 86 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (self->priv->map); +#line 86 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->map = _tmp19_; +#line 566 "Alteration.c" + } +#line 89 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp20_ = self->priv->subject; +#line 89 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp20_ != NULL) { +#line 572 "Alteration.c" + const gchar* _tmp21_ = NULL; + GeeMultiMap* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 90 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp21_ = self->priv->detail; +#line 90 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp21_ != NULL, "this.detail != null"); +#line 92 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp22_ = self->priv->map; +#line 92 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp23_ = self->priv->subject; +#line 92 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp24_ = self->priv->detail; +#line 92 "/home/jens/Source/shotwell/src/core/Alteration.vala" + gee_multi_map_set (_tmp22_, _tmp23_, _tmp24_); +#line 93 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (self->priv->subject); +#line 93 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->subject = NULL; +#line 94 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (self->priv->detail); +#line 94 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->detail = NULL; +#line 597 "Alteration.c" + } +#line 98 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp25_ = self->priv->map; +#line 98 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp26_ = subject; +#line 98 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp27_ = detail; +#line 98 "/home/jens/Source/shotwell/src/core/Alteration.vala" + gee_multi_map_set (_tmp25_, _tmp26_, _tmp27_); +#line 66 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (detail); +#line 66 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (subject); +#line 611 "Alteration.c" +} + + +static guint _alteration_case_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = alteration_case_hash ((const gchar*) v); +#line 102 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 620 "Alteration.c" +} + + +static gboolean _alteration_case_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = alteration_case_equal ((const gchar*) a, (const gchar*) b); +#line 102 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 629 "Alteration.c" +} + + +static GeeMultiMap* alteration_create_map (Alteration* self) { + GeeMultiMap* result = NULL; + GeeHashMultiMap* _tmp0_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (self), NULL); +#line 102 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = gee_hash_multi_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _alteration_case_hash_gee_hash_data_func, NULL, NULL, _alteration_case_equal_gee_equal_data_func, NULL, NULL, _alteration_case_hash_gee_hash_data_func, NULL, NULL, _alteration_case_equal_gee_equal_data_func, NULL, NULL); +#line 102 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 102 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 644 "Alteration.c" +} + + +static gboolean alteration_case_equal (const gchar* a, const gchar* b) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 106 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = a; +#line 106 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = b; +#line 106 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = alteration_equal_values (_tmp0_, _tmp1_); +#line 106 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp2_; +#line 106 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 663 "Alteration.c" +} + + +static guint alteration_case_hash (const gchar* a) { + guint result = 0U; + const gchar* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 110 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = a; +#line 110 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = alteration_hash_value (_tmp0_); +#line 110 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp1_; +#line 110 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 679 "Alteration.c" +} + + +static inline gboolean alteration_equal_values (const gchar* str1, const gchar* str2) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 113 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (str1 != NULL, FALSE); +#line 113 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (str2 != NULL, FALSE); +#line 114 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = str1; +#line 114 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = str2; +#line 114 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = g_ascii_strcasecmp (_tmp0_, _tmp1_); +#line 114 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp2_ == 0; +#line 114 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 702 "Alteration.c" +} + + +static inline guint alteration_hash_value (const gchar* str) { + guint result = 0U; + GHashFunc _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 117 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (str != NULL, 0U); +#line 118 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = g_str_hash; +#line 118 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = str; +#line 118 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = _tmp0_ (_tmp1_); +#line 118 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp2_; +#line 118 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 723 "Alteration.c" +} + + +gboolean alteration_has_subject (Alteration* self, const gchar* subject) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + GeeMultiMap* _tmp4_ = NULL; + GeeSet* keys = NULL; + GeeMultiMap* _tmp5_ = NULL; + GeeSet* _tmp6_ = NULL; + GeeSet* _tmp7_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (self), FALSE); +#line 121 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (subject != NULL, FALSE); +#line 122 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = self->priv->subject; +#line 122 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp0_ != NULL) { +#line 743 "Alteration.c" + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 123 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = self->priv->subject; +#line 123 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = subject; +#line 123 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = alteration_equal_values (_tmp1_, _tmp2_); +#line 123 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp3_; +#line 123 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 757 "Alteration.c" + } +#line 125 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = self->priv->map; +#line 125 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp4_ != NULL, "map != null"); +#line 126 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = self->priv->map; +#line 126 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = gee_multi_map_get_keys (_tmp5_); +#line 126 "/home/jens/Source/shotwell/src/core/Alteration.vala" + keys = _tmp6_; +#line 127 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = keys; +#line 127 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp7_ != NULL) { +#line 773 "Alteration.c" + { + GeeIterator* _key_it = NULL; + GeeSet* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = keys; +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _key_it = _tmp9_; +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 786 "Alteration.c" + GeeIterator* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gchar* key = NULL; + GeeIterator* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = _key_it; +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = gee_iterator_next (_tmp10_); +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp11_) { +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 803 "Alteration.c" + } +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = _key_it; +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = gee_iterator_get (_tmp12_); +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + key = (gchar*) _tmp13_; +#line 129 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = key; +#line 129 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = subject; +#line 129 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = alteration_equal_values (_tmp14_, _tmp15_); +#line 129 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp16_) { +#line 130 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = TRUE; +#line 130 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (key); +#line 130 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_key_it); +#line 130 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 130 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 829 "Alteration.c" + } +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (key); +#line 833 "Alteration.c" + } +#line 128 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_key_it); +#line 837 "Alteration.c" + } + } +#line 134 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 134 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 134 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 846 "Alteration.c" +} + + +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + GeeMultiMap* _tmp10_ = NULL; + GeeCollection* values = NULL; + GeeMultiMap* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; +#line 137 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (self), FALSE); +#line 137 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (subject != NULL, FALSE); +#line 137 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (detail != NULL, FALSE); +#line 138 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = self->priv->subject; +#line 138 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp1_ != NULL) { +#line 870 "Alteration.c" + const gchar* _tmp2_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = self->priv->detail; +#line 138 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = _tmp2_ != NULL; +#line 876 "Alteration.c" + } else { +#line 138 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = FALSE; +#line 880 "Alteration.c" + } +#line 138 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp0_) { +#line 884 "Alteration.c" + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = self->priv->subject; +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = subject; +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = alteration_equal_values (_tmp4_, _tmp5_); +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp6_) { +#line 897 "Alteration.c" + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = self->priv->detail; +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = detail; +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = alteration_equal_values (_tmp7_, _tmp8_); +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = _tmp9_; +#line 909 "Alteration.c" + } else { +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = FALSE; +#line 913 "Alteration.c" + } +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp3_; +#line 139 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 919 "Alteration.c" + } +#line 141 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = self->priv->map; +#line 141 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp10_ != NULL, "map != null"); +#line 142 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = self->priv->map; +#line 142 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = subject; +#line 142 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = gee_multi_map_get (_tmp11_, _tmp12_); +#line 142 "/home/jens/Source/shotwell/src/core/Alteration.vala" + values = _tmp13_; +#line 143 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = values; +#line 143 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp14_ != NULL) { +#line 937 "Alteration.c" + { + GeeIterator* _value_it = NULL; + GeeCollection* _tmp15_ = NULL; + GeeIterator* _tmp16_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = values; +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _value_it = _tmp16_; +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 950 "Alteration.c" + GeeIterator* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gchar* value = NULL; + GeeIterator* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp17_ = _value_it; +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp18_ = gee_iterator_next (_tmp17_); +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp18_) { +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 967 "Alteration.c" + } +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = _value_it; +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp20_ = gee_iterator_get (_tmp19_); +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value = (gchar*) _tmp20_; +#line 145 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp21_ = value; +#line 145 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp22_ = detail; +#line 145 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp23_ = alteration_equal_values (_tmp21_, _tmp22_); +#line 145 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp23_) { +#line 146 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = TRUE; +#line 146 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (value); +#line 146 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_value_it); +#line 146 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (values); +#line 146 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 993 "Alteration.c" + } +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (value); +#line 997 "Alteration.c" + } +#line 144 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_value_it); +#line 1001 "Alteration.c" + } + } +#line 150 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 150 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (values); +#line 150 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1010 "Alteration.c" +} + + +GeeCollection* alteration_get_details (Alteration* self, const gchar* subject) { + GeeCollection* result = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + GeeCollection* _tmp10_ = NULL; + GeeMultiMap* _tmp11_ = NULL; +#line 153 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (self), NULL); +#line 153 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (subject != NULL, NULL); +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = self->priv->subject; +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp2_ != NULL) { +#line 1029 "Alteration.c" + const gchar* _tmp3_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = self->priv->detail; +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = _tmp3_ != NULL; +#line 1035 "Alteration.c" + } else { +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = FALSE; +#line 1039 "Alteration.c" + } +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp1_) { +#line 1043 "Alteration.c" + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = self->priv->subject; +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = subject; +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = alteration_equal_values (_tmp4_, _tmp5_); +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = _tmp6_; +#line 1055 "Alteration.c" + } else { +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = FALSE; +#line 1059 "Alteration.c" + } +#line 154 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp0_) { +#line 1063 "Alteration.c" + GeeArrayList* details = NULL; + GeeArrayList* _tmp7_ = NULL; + GeeArrayList* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 155 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 155 "/home/jens/Source/shotwell/src/core/Alteration.vala" + details = _tmp7_; +#line 156 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = details; +#line 156 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = self->priv->detail; +#line 156 "/home/jens/Source/shotwell/src/core/Alteration.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp9_); +#line 158 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (details, GEE_TYPE_COLLECTION, GeeCollection); +#line 158 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1082 "Alteration.c" + } +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = self->priv->map; +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp11_ != NULL) { +#line 1088 "Alteration.c" + GeeMultiMap* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = self->priv->map; +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = subject; +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = gee_multi_map_get (_tmp12_, _tmp13_); +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_tmp10_); +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = _tmp14_; +#line 1102 "Alteration.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_tmp10_); +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = NULL; +#line 1108 "Alteration.c" + } +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp10_; +#line 161 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1114 "Alteration.c" +} + + +gchar* alteration_to_string (Alteration* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + GeeMultiMap* _tmp5_ = NULL; + gchar* str = NULL; + gchar* _tmp6_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (self), NULL); +#line 165 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = self->priv->subject; +#line 165 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp0_ != NULL) { +#line 1130 "Alteration.c" + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 166 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = self->priv->detail; +#line 166 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp1_ != NULL, "detail != null"); +#line 168 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = self->priv->subject; +#line 168 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = self->priv->detail; +#line 168 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = g_strdup_printf ("%s:%s", _tmp2_, _tmp3_); +#line 168 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp4_; +#line 168 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1149 "Alteration.c" + } +#line 171 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = self->priv->map; +#line 171 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp5_ != NULL, "map != null"); +#line 173 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = g_strdup (""); +#line 173 "/home/jens/Source/shotwell/src/core/Alteration.vala" + str = _tmp6_; +#line 1159 "Alteration.c" + { + GeeIterator* _key_it = NULL; + GeeMultiMap* _tmp7_ = NULL; + GeeSet* _tmp8_ = NULL; + GeeSet* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = self->priv->map; +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = gee_multi_map_get_keys (_tmp7_); +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = _tmp8_; +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = _tmp10_; +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_tmp9_); +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _key_it = _tmp11_; +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 1183 "Alteration.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gchar* key = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = _key_it; +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp13_) { +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 1197 "Alteration.c" + } +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = _key_it; +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + key = (gchar*) _tmp15_; +#line 1205 "Alteration.c" + { + GeeIterator* _value_it = NULL; + GeeMultiMap* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = self->priv->map; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp17_ = key; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp18_ = gee_multi_map_get (_tmp16_, _tmp17_); +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = _tmp18_; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp21_ = _tmp20_; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_tmp19_); +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _value_it = _tmp21_; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 1232 "Alteration.c" + GeeIterator* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + gchar* value = NULL; + GeeIterator* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + const gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp22_ = _value_it; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp23_ = gee_iterator_next (_tmp22_); +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp23_) { +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 1255 "Alteration.c" + } +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp24_ = _value_it; +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp25_ = gee_iterator_get (_tmp24_); +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value = (gchar*) _tmp25_; +#line 176 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp26_ = str; +#line 176 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp27_ = strlen (_tmp26_); +#line 176 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp28_ = _tmp27_; +#line 176 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp28_ != 0) { +#line 1271 "Alteration.c" + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp29_ = str; +#line 177 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp30_ = g_strconcat (_tmp29_, ", ", NULL); +#line 177 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (str); +#line 177 "/home/jens/Source/shotwell/src/core/Alteration.vala" + str = _tmp30_; +#line 1282 "Alteration.c" + } +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp31_ = str; +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp32_ = key; +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp33_ = value; +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp34_ = g_strdup_printf ("%s:%s", _tmp32_, _tmp33_); +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp35_ = _tmp34_; +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp36_ = g_strconcat (_tmp31_, _tmp35_, NULL); +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (str); +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + str = _tmp36_; +#line 179 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (_tmp35_); +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (value); +#line 1304 "Alteration.c" + } +#line 175 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_value_it); +#line 1308 "Alteration.c" + } +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (key); +#line 1312 "Alteration.c" + } +#line 174 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_key_it); +#line 1316 "Alteration.c" + } +#line 183 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = str; +#line 183 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1322 "Alteration.c" +} + + +gboolean alteration_contains_any (Alteration* self, Alteration* other) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + GeeMultiMap* _tmp21_ = NULL; + gboolean _tmp56_ = FALSE; + GeeMultiMap* _tmp57_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (self), FALSE); +#line 187 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (other), FALSE); +#line 189 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = other; +#line 189 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (self == _tmp0_) { +#line 190 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = TRUE; +#line 190 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1350 "Alteration.c" + } +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = self->priv->subject; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp4_ != NULL) { +#line 1356 "Alteration.c" + Alteration* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = other; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = _tmp5_->priv->subject; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = _tmp6_ != NULL; +#line 1365 "Alteration.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = FALSE; +#line 1369 "Alteration.c" + } +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp3_) { +#line 1373 "Alteration.c" + const gchar* _tmp7_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = self->priv->detail; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = _tmp7_ != NULL; +#line 1379 "Alteration.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = FALSE; +#line 1383 "Alteration.c" + } +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp2_) { +#line 1387 "Alteration.c" + Alteration* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = other; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = _tmp8_->priv->detail; +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = _tmp9_ != NULL; +#line 1396 "Alteration.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = FALSE; +#line 1400 "Alteration.c" + } +#line 193 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp1_) { +#line 1404 "Alteration.c" + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + Alteration* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = self->priv->subject; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = other; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = _tmp12_->priv->subject; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = alteration_equal_values (_tmp11_, _tmp13_); +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp14_) { +#line 1420 "Alteration.c" + const gchar* _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = self->priv->detail; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = other; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp17_ = _tmp16_->priv->detail; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp18_ = alteration_equal_values (_tmp15_, _tmp17_); +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = _tmp18_; +#line 1435 "Alteration.c" + } else { +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = FALSE; +#line 1439 "Alteration.c" + } +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp10_; +#line 194 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1445 "Alteration.c" + } +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp21_ = self->priv->map; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp21_ != NULL) { +#line 1451 "Alteration.c" + Alteration* _tmp22_ = NULL; + GeeMultiMap* _tmp23_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp22_ = other; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp23_ = _tmp22_->priv->map; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp20_ = _tmp23_ == NULL; +#line 1460 "Alteration.c" + } else { +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp20_ = FALSE; +#line 1464 "Alteration.c" + } +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp20_) { +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = TRUE; +#line 1470 "Alteration.c" + } else { + gboolean _tmp24_ = FALSE; + GeeMultiMap* _tmp25_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp25_ = self->priv->map; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp25_ == NULL) { +#line 1478 "Alteration.c" + Alteration* _tmp26_ = NULL; + GeeMultiMap* _tmp27_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp26_ = other; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp27_ = _tmp26_->priv->map; +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp24_ = _tmp27_ != NULL; +#line 1487 "Alteration.c" + } else { +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp24_ = FALSE; +#line 1491 "Alteration.c" + } +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = _tmp24_; +#line 1495 "Alteration.c" + } +#line 197 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp19_) { +#line 1499 "Alteration.c" + const gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* single_subject = NULL; + gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + const gchar* _tmp35_ = NULL; + gchar* single_detail = NULL; + gchar* _tmp39_ = NULL; + GeeMultiMap* _tmp40_ = NULL; + GeeMultiMap* _tmp41_ = NULL; + GeeMultiMap* multimap = NULL; + GeeMultiMap* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + GeeMultiMap* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp29_ = self->priv->subject; +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp29_ != NULL) { +#line 1520 "Alteration.c" + const gchar* _tmp30_ = NULL; +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp30_ = self->priv->subject; +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp28_ = _tmp30_; +#line 1526 "Alteration.c" + } else { + Alteration* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp31_ = other; +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp32_ = _tmp31_->priv->subject; +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp28_ = _tmp32_; +#line 1536 "Alteration.c" + } +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp33_ = g_strdup (_tmp28_); +#line 198 "/home/jens/Source/shotwell/src/core/Alteration.vala" + single_subject = _tmp33_; +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp35_ = self->priv->detail; +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp35_ != NULL) { +#line 1546 "Alteration.c" + const gchar* _tmp36_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp36_ = self->priv->detail; +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp34_ = _tmp36_; +#line 1552 "Alteration.c" + } else { + Alteration* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp37_ = other; +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp38_ = _tmp37_->priv->detail; +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp34_ = _tmp38_; +#line 1562 "Alteration.c" + } +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp39_ = g_strdup (_tmp34_); +#line 199 "/home/jens/Source/shotwell/src/core/Alteration.vala" + single_detail = _tmp39_; +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp41_ = self->priv->map; +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp41_ != NULL) { +#line 1572 "Alteration.c" + GeeMultiMap* _tmp42_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp42_ = self->priv->map; +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp40_ = _tmp42_; +#line 1578 "Alteration.c" + } else { + Alteration* _tmp43_ = NULL; + GeeMultiMap* _tmp44_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp43_ = other; +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp44_ = _tmp43_->priv->map; +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp40_ = _tmp44_; +#line 1588 "Alteration.c" + } +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp45_ = _g_object_ref0 (_tmp40_); +#line 200 "/home/jens/Source/shotwell/src/core/Alteration.vala" + multimap = _tmp45_; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp47_ = multimap; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp48_ = single_subject; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp49_ = gee_multi_map_contains (_tmp47_, _tmp48_); +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp49_) { +#line 1602 "Alteration.c" + GeeMultiMap* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + GeeCollection* _tmp52_ = NULL; + GeeCollection* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp50_ = self->priv->map; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp51_ = single_subject; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp52_ = gee_multi_map_get (_tmp50_, _tmp51_); +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp53_ = _tmp52_; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp54_ = single_detail; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp55_ = gee_collection_contains (_tmp53_, _tmp54_); +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp46_ = _tmp55_; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_tmp53_); +#line 1625 "Alteration.c" + } else { +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp46_ = FALSE; +#line 1629 "Alteration.c" + } +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp46_; +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (multimap); +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (single_detail); +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (single_subject); +#line 202 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1641 "Alteration.c" + } +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp57_ = self->priv->map; +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp57_ != NULL) { +#line 1647 "Alteration.c" + Alteration* _tmp58_ = NULL; + GeeMultiMap* _tmp59_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp58_ = other; +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp59_ = _tmp58_->priv->map; +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp56_ = _tmp59_ != NULL; +#line 1656 "Alteration.c" + } else { +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp56_ = FALSE; +#line 1660 "Alteration.c" + } +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp56_) { +#line 1664 "Alteration.c" + GeeSet* keys = NULL; + GeeMultiMap* _tmp60_ = NULL; + GeeSet* _tmp61_ = NULL; + GeeSet* _tmp62_ = NULL; + GeeSet* other_keys = NULL; + Alteration* _tmp63_ = NULL; + GeeMultiMap* _tmp64_ = NULL; + GeeSet* _tmp65_ = NULL; + GeeSet* _tmp66_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp60_ = self->priv->map; +#line 207 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp61_ = gee_multi_map_get_keys (_tmp60_); +#line 207 "/home/jens/Source/shotwell/src/core/Alteration.vala" + keys = _tmp61_; +#line 208 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp62_ = keys; +#line 208 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp62_ != NULL, "keys != null"); +#line 209 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp63_ = other; +#line 209 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp64_ = _tmp63_->priv->map; +#line 209 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp65_ = gee_multi_map_get_keys (_tmp64_); +#line 209 "/home/jens/Source/shotwell/src/core/Alteration.vala" + other_keys = _tmp65_; +#line 210 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp66_ = other_keys; +#line 210 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp66_ != NULL, "other_keys != null"); +#line 1696 "Alteration.c" + { + GeeIterator* _subject_it = NULL; + GeeSet* _tmp67_ = NULL; + GeeIterator* _tmp68_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp67_ = other_keys; +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp68_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp67_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _subject_it = _tmp68_; +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 1709 "Alteration.c" + GeeIterator* _tmp69_ = NULL; + gboolean _tmp70_ = FALSE; + gchar* subject = NULL; + GeeIterator* _tmp71_ = NULL; + gpointer _tmp72_ = NULL; + GeeSet* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + gboolean _tmp75_ = FALSE; + GeeCollection* details = NULL; + GeeMultiMap* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + GeeCollection* _tmp78_ = NULL; + GeeCollection* other_details = NULL; + Alteration* _tmp79_ = NULL; + GeeMultiMap* _tmp80_ = NULL; + const gchar* _tmp81_ = NULL; + GeeCollection* _tmp82_ = NULL; + gboolean _tmp83_ = FALSE; + GeeCollection* _tmp84_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp69_ = _subject_it; +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp70_ = gee_iterator_next (_tmp69_); +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp70_) { +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 1737 "Alteration.c" + } +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp71_ = _subject_it; +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp72_ = gee_iterator_get (_tmp71_); +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + subject = (gchar*) _tmp72_; +#line 213 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp73_ = keys; +#line 213 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp74_ = subject; +#line 213 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp75_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, GEE_TYPE_COLLECTION, GeeCollection), _tmp74_); +#line 213 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp75_) { +#line 214 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (subject); +#line 214 "/home/jens/Source/shotwell/src/core/Alteration.vala" + continue; +#line 1757 "Alteration.c" + } +#line 216 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp76_ = self->priv->map; +#line 216 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp77_ = subject; +#line 216 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp78_ = gee_multi_map_get (_tmp76_, _tmp77_); +#line 216 "/home/jens/Source/shotwell/src/core/Alteration.vala" + details = _tmp78_; +#line 217 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp79_ = other; +#line 217 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp80_ = _tmp79_->priv->map; +#line 217 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp81_ = subject; +#line 217 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp82_ = gee_multi_map_get (_tmp80_, _tmp81_); +#line 217 "/home/jens/Source/shotwell/src/core/Alteration.vala" + other_details = _tmp82_; +#line 219 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp84_ = details; +#line 219 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp84_ != NULL) { +#line 1781 "Alteration.c" + GeeCollection* _tmp85_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp85_ = other_details; +#line 219 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp83_ = _tmp85_ != NULL; +#line 1787 "Alteration.c" + } else { +#line 219 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp83_ = FALSE; +#line 1791 "Alteration.c" + } +#line 219 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp83_) { +#line 1795 "Alteration.c" + { + GeeIterator* _detail_it = NULL; + GeeCollection* _tmp86_ = NULL; + GeeIterator* _tmp87_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp86_ = other_details; +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp87_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp86_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _detail_it = _tmp87_; +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 1808 "Alteration.c" + GeeIterator* _tmp88_ = NULL; + gboolean _tmp89_ = FALSE; + gchar* detail = NULL; + GeeIterator* _tmp90_ = NULL; + gpointer _tmp91_ = NULL; + GeeCollection* _tmp92_ = NULL; + const gchar* _tmp93_ = NULL; + gboolean _tmp94_ = FALSE; +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp88_ = _detail_it; +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp89_ = gee_iterator_next (_tmp88_); +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp89_) { +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 1825 "Alteration.c" + } +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp90_ = _detail_it; +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp91_ = gee_iterator_get (_tmp90_); +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + detail = (gchar*) _tmp91_; +#line 221 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp92_ = details; +#line 221 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp93_ = detail; +#line 221 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp94_ = gee_collection_contains (_tmp92_, _tmp93_); +#line 221 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp94_) { +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = TRUE; +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (detail); +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_detail_it); +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_details); +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (details); +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (subject); +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_subject_it); +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 222 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1861 "Alteration.c" + } +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (detail); +#line 1865 "Alteration.c" + } +#line 220 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_detail_it); +#line 1869 "Alteration.c" + } + } +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_details); +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (details); +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (subject); +#line 1878 "Alteration.c" + } +#line 212 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_subject_it); +#line 1882 "Alteration.c" + } +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 206 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 1888 "Alteration.c" + } +#line 228 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 228 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1894 "Alteration.c" +} + + +gboolean alteration_equals (Alteration* self, Alteration* other) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + gboolean _tmp19_ = FALSE; + GeeMultiMap* _tmp20_ = NULL; +#line 231 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (self), FALSE); +#line 231 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (other), FALSE); +#line 233 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = other; +#line 233 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (self == _tmp0_) { +#line 234 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = TRUE; +#line 234 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 1919 "Alteration.c" + } +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = self->priv->subject; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp4_ != NULL) { +#line 1925 "Alteration.c" + Alteration* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = other; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = _tmp5_->priv->subject; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = _tmp6_ != NULL; +#line 1934 "Alteration.c" + } else { +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = FALSE; +#line 1938 "Alteration.c" + } +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp3_) { +#line 1942 "Alteration.c" + const gchar* _tmp7_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = self->priv->detail; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = _tmp7_ != NULL; +#line 1948 "Alteration.c" + } else { +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = FALSE; +#line 1952 "Alteration.c" + } +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp2_) { +#line 1956 "Alteration.c" + Alteration* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = other; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = _tmp8_->priv->detail; +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = _tmp9_ != NULL; +#line 1965 "Alteration.c" + } else { +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = FALSE; +#line 1969 "Alteration.c" + } +#line 237 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp1_) { +#line 1973 "Alteration.c" + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + Alteration* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = self->priv->subject; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = other; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = _tmp12_->priv->subject; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = alteration_equal_values (_tmp11_, _tmp13_); +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp14_) { +#line 1989 "Alteration.c" + const gchar* _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = self->priv->detail; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = other; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp17_ = _tmp16_->priv->detail; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp18_ = alteration_equal_values (_tmp15_, _tmp17_); +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = _tmp18_; +#line 2004 "Alteration.c" + } else { +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = FALSE; +#line 2008 "Alteration.c" + } +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp10_; +#line 238 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2014 "Alteration.c" + } +#line 241 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp20_ = self->priv->map; +#line 241 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp20_ != NULL) { +#line 2020 "Alteration.c" + Alteration* _tmp21_ = NULL; + GeeMultiMap* _tmp22_ = NULL; +#line 241 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp21_ = other; +#line 241 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp22_ = _tmp21_->priv->map; +#line 241 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = _tmp22_ != NULL; +#line 2029 "Alteration.c" + } else { +#line 241 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = FALSE; +#line 2033 "Alteration.c" + } +#line 241 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp19_) { +#line 2037 "Alteration.c" + GeeSet* keys = NULL; + GeeMultiMap* _tmp23_ = NULL; + GeeSet* _tmp24_ = NULL; + GeeSet* _tmp25_ = NULL; + GeeSet* other_keys = NULL; + Alteration* _tmp26_ = NULL; + GeeMultiMap* _tmp27_ = NULL; + GeeSet* _tmp28_ = NULL; + GeeSet* _tmp29_ = NULL; + GeeSet* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + GeeSet* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + GeeSet* _tmp36_ = NULL; + GeeSet* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + GeeSet* _tmp39_ = NULL; + GeeSet* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; +#line 243 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp23_ = self->priv->map; +#line 243 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp24_ = gee_multi_map_get_keys (_tmp23_); +#line 243 "/home/jens/Source/shotwell/src/core/Alteration.vala" + keys = _tmp24_; +#line 244 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp25_ = keys; +#line 244 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp25_ != NULL, "keys != null"); +#line 245 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp26_ = other; +#line 245 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp27_ = _tmp26_->priv->map; +#line 245 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp28_ = gee_multi_map_get_keys (_tmp27_); +#line 245 "/home/jens/Source/shotwell/src/core/Alteration.vala" + other_keys = _tmp28_; +#line 246 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp29_ = other_keys; +#line 246 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp29_ != NULL, "other_keys != null"); +#line 248 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp30_ = keys; +#line 248 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp31_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 248 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp32_ = _tmp31_; +#line 248 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp33_ = other_keys; +#line 248 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp34_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 248 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp35_ = _tmp34_; +#line 248 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp32_ != _tmp35_) { +#line 249 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 249 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 249 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 249 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2103 "Alteration.c" + } +#line 251 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp36_ = keys; +#line 251 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp37_ = other_keys; +#line 251 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp38_ = gee_collection_contains_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 251 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp38_) { +#line 252 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 252 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 252 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 252 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2121 "Alteration.c" + } +#line 254 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp39_ = other_keys; +#line 254 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp40_ = keys; +#line 254 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp41_ = gee_collection_contains_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 254 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp41_) { +#line 255 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 255 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 255 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 255 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2139 "Alteration.c" + } + { + GeeIterator* _key_it = NULL; + GeeSet* _tmp42_ = NULL; + GeeIterator* _tmp43_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp42_ = keys; +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp43_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _key_it = _tmp43_; +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 2153 "Alteration.c" + GeeIterator* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; + gchar* key = NULL; + GeeIterator* _tmp46_ = NULL; + gpointer _tmp47_ = NULL; + GeeCollection* values = NULL; + GeeMultiMap* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + GeeCollection* _tmp50_ = NULL; + GeeCollection* other_values = NULL; + Alteration* _tmp51_ = NULL; + GeeMultiMap* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + GeeCollection* _tmp54_ = NULL; + GeeCollection* _tmp55_ = NULL; + gint _tmp56_ = 0; + gint _tmp57_ = 0; + GeeCollection* _tmp58_ = NULL; + gint _tmp59_ = 0; + gint _tmp60_ = 0; + GeeCollection* _tmp61_ = NULL; + GeeCollection* _tmp62_ = NULL; + gboolean _tmp63_ = FALSE; + GeeCollection* _tmp64_ = NULL; + GeeCollection* _tmp65_ = NULL; + gboolean _tmp66_ = FALSE; +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp44_ = _key_it; +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp45_ = gee_iterator_next (_tmp44_); +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp45_) { +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 2188 "Alteration.c" + } +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp46_ = _key_it; +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp47_ = gee_iterator_get (_tmp46_); +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + key = (gchar*) _tmp47_; +#line 258 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp48_ = self->priv->map; +#line 258 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp49_ = key; +#line 258 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp50_ = gee_multi_map_get (_tmp48_, _tmp49_); +#line 258 "/home/jens/Source/shotwell/src/core/Alteration.vala" + values = _tmp50_; +#line 259 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp51_ = other; +#line 259 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp52_ = _tmp51_->priv->map; +#line 259 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp53_ = key; +#line 259 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp54_ = gee_multi_map_get (_tmp52_, _tmp53_); +#line 259 "/home/jens/Source/shotwell/src/core/Alteration.vala" + other_values = _tmp54_; +#line 261 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp55_ = values; +#line 261 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp56_ = gee_collection_get_size (_tmp55_); +#line 261 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp57_ = _tmp56_; +#line 261 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp58_ = other_values; +#line 261 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp59_ = gee_collection_get_size (_tmp58_); +#line 261 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp60_ = _tmp59_; +#line 261 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp57_ != _tmp60_) { +#line 262 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 262 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_values); +#line 262 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (values); +#line 262 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (key); +#line 262 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_key_it); +#line 262 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 262 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 262 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2244 "Alteration.c" + } +#line 264 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp61_ = values; +#line 264 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp62_ = other_values; +#line 264 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp63_ = gee_collection_contains_all (_tmp61_, _tmp62_); +#line 264 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp63_) { +#line 265 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 265 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_values); +#line 265 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (values); +#line 265 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (key); +#line 265 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_key_it); +#line 265 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 265 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 265 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2270 "Alteration.c" + } +#line 267 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp64_ = other_values; +#line 267 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp65_ = values; +#line 267 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp66_ = gee_collection_contains_all (_tmp64_, _tmp65_); +#line 267 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp66_) { +#line 268 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 268 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_values); +#line 268 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (values); +#line 268 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (key); +#line 268 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_key_it); +#line 268 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 268 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 268 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2296 "Alteration.c" + } +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_values); +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (values); +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (key); +#line 2304 "Alteration.c" + } +#line 257 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_key_it); +#line 2308 "Alteration.c" + } +#line 272 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = TRUE; +#line 272 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (other_keys); +#line 272 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 272 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2318 "Alteration.c" + } +#line 276 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = FALSE; +#line 276 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2324 "Alteration.c" +} + + +static void alteration_multimap_add_all (GeeMultiMap* dest, GeeMultiMap* src) { + GeeSet* keys = NULL; + GeeMultiMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (GEE_IS_MULTI_MAP (dest)); +#line 279 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (GEE_IS_MULTI_MAP (src)); +#line 281 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = src; +#line 281 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = gee_multi_map_get_keys (_tmp0_); +#line 281 "/home/jens/Source/shotwell/src/core/Alteration.vala" + keys = _tmp1_; +#line 2342 "Alteration.c" + { + GeeIterator* _key_it = NULL; + GeeSet* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = keys; +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _key_it = _tmp3_; +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 2355 "Alteration.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gchar* key = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + GeeCollection* values = NULL; + GeeMultiMap* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = _key_it; +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp5_) { +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 2373 "Alteration.c" + } +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = _key_it; +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + key = (gchar*) _tmp7_; +#line 283 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = src; +#line 283 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = key; +#line 283 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = gee_multi_map_get (_tmp8_, _tmp9_); +#line 283 "/home/jens/Source/shotwell/src/core/Alteration.vala" + values = _tmp10_; +#line 2389 "Alteration.c" + { + GeeIterator* _value_it = NULL; + GeeCollection* _tmp11_ = NULL; + GeeIterator* _tmp12_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = values; +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _value_it = _tmp12_; +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + while (TRUE) { +#line 2402 "Alteration.c" + GeeIterator* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gchar* value = NULL; + GeeIterator* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + GeeMultiMap* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = _value_it; +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = gee_iterator_next (_tmp13_); +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!_tmp14_) { +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + break; +#line 2419 "Alteration.c" + } +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = _value_it; +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = gee_iterator_get (_tmp15_); +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value = (gchar*) _tmp16_; +#line 285 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp17_ = dest; +#line 285 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp18_ = key; +#line 285 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = value; +#line 285 "/home/jens/Source/shotwell/src/core/Alteration.vala" + gee_multi_map_set (_tmp17_, _tmp18_, _tmp19_); +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (value); +#line 2437 "Alteration.c" + } +#line 284 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_value_it); +#line 2441 "Alteration.c" + } +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (values); +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (key); +#line 2447 "Alteration.c" + } +#line 282 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (_key_it); +#line 2451 "Alteration.c" + } +#line 279 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (keys); +#line 2455 "Alteration.c" +} + + +static gpointer _alteration_ref0 (gpointer self) { +#line 293 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return self ? alteration_ref (self) : NULL; +#line 2462 "Alteration.c" +} + + +Alteration* alteration_compress (Alteration* self, Alteration* other) { + Alteration* result = NULL; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeMultiMap* compressed = NULL; + GeeMultiMap* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + const gchar* _tmp5_ = NULL; + gboolean _tmp13_ = FALSE; + Alteration* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GeeMultiMap* _tmp28_ = NULL; + Alteration* _tmp29_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (self), NULL); +#line 291 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (IS_ALTERATION (other), NULL); +#line 292 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp0_ = other; +#line 292 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp1_ = alteration_equals (self, _tmp0_); +#line 292 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp1_) { +#line 2489 "Alteration.c" + Alteration* _tmp2_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp2_ = _alteration_ref0 (self); +#line 293 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp2_; +#line 293 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2497 "Alteration.c" + } +#line 297 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp3_ = alteration_create_map (self); +#line 297 "/home/jens/Source/shotwell/src/core/Alteration.vala" + compressed = _tmp3_; +#line 299 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp5_ = self->priv->subject; +#line 299 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp5_ != NULL) { +#line 2507 "Alteration.c" + const gchar* _tmp6_ = NULL; +#line 299 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp6_ = self->priv->detail; +#line 299 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = _tmp6_ != NULL; +#line 2513 "Alteration.c" + } else { +#line 299 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp4_ = FALSE; +#line 2517 "Alteration.c" + } +#line 299 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp4_) { +#line 2521 "Alteration.c" + GeeMultiMap* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp7_ = compressed; +#line 300 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp8_ = self->priv->subject; +#line 300 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp9_ = self->priv->detail; +#line 300 "/home/jens/Source/shotwell/src/core/Alteration.vala" + gee_multi_map_set (_tmp7_, _tmp8_, _tmp9_); +#line 2533 "Alteration.c" + } else { + GeeMultiMap* _tmp10_ = NULL; + GeeMultiMap* _tmp11_ = NULL; + GeeMultiMap* _tmp12_ = NULL; +#line 302 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp10_ = self->priv->map; +#line 302 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp10_ != NULL, "map != null"); +#line 303 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp11_ = compressed; +#line 303 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp12_ = self->priv->map; +#line 303 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_multimap_add_all (_tmp11_, _tmp12_); +#line 2548 "Alteration.c" + } +#line 306 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp14_ = other; +#line 306 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp15_ = _tmp14_->priv->subject; +#line 306 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp15_ != NULL) { +#line 2556 "Alteration.c" + Alteration* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 306 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp16_ = other; +#line 306 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp17_ = _tmp16_->priv->detail; +#line 306 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = _tmp17_ != NULL; +#line 2565 "Alteration.c" + } else { +#line 306 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp13_ = FALSE; +#line 2569 "Alteration.c" + } +#line 306 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (_tmp13_) { +#line 2573 "Alteration.c" + GeeMultiMap* _tmp18_ = NULL; + Alteration* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + Alteration* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp18_ = compressed; +#line 307 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp19_ = other; +#line 307 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp20_ = _tmp19_->priv->subject; +#line 307 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp21_ = other; +#line 307 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp22_ = _tmp21_->priv->detail; +#line 307 "/home/jens/Source/shotwell/src/core/Alteration.vala" + gee_multi_map_set (_tmp18_, _tmp20_, _tmp22_); +#line 2591 "Alteration.c" + } else { + Alteration* _tmp23_ = NULL; + GeeMultiMap* _tmp24_ = NULL; + GeeMultiMap* _tmp25_ = NULL; + Alteration* _tmp26_ = NULL; + GeeMultiMap* _tmp27_ = NULL; +#line 309 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp23_ = other; +#line 309 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp24_ = _tmp23_->priv->map; +#line 309 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _vala_assert (_tmp24_ != NULL, "other.map != null"); +#line 310 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp25_ = compressed; +#line 310 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp26_ = other; +#line 310 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp27_ = _tmp26_->priv->map; +#line 310 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_multimap_add_all (_tmp25_, _tmp27_); +#line 2612 "Alteration.c" + } +#line 313 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp28_ = compressed; +#line 313 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _tmp29_ = alteration_new_from_map (_tmp28_); +#line 313 "/home/jens/Source/shotwell/src/core/Alteration.vala" + result = _tmp29_; +#line 313 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (compressed); +#line 313 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return result; +#line 2624 "Alteration.c" +} + + +static void value_alteration_init (GValue* value) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value->data[0].v_pointer = NULL; +#line 2631 "Alteration.c" +} + + +static void value_alteration_free_value (GValue* value) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (value->data[0].v_pointer) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_unref (value->data[0].v_pointer); +#line 2640 "Alteration.c" + } +} + + +static void value_alteration_copy_value (const GValue* src_value, GValue* dest_value) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (src_value->data[0].v_pointer) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + dest_value->data[0].v_pointer = alteration_ref (src_value->data[0].v_pointer); +#line 2650 "Alteration.c" + } else { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + dest_value->data[0].v_pointer = NULL; +#line 2654 "Alteration.c" + } +} + + +static gpointer value_alteration_peek_pointer (const GValue* value) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return value->data[0].v_pointer; +#line 2662 "Alteration.c" +} + + +static gchar* value_alteration_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (collect_values[0].v_pointer) { +#line 2669 "Alteration.c" + Alteration* object; + object = collect_values[0].v_pointer; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (object->parent_instance.g_class == NULL) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2676 "Alteration.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2680 "Alteration.c" + } +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value->data[0].v_pointer = alteration_ref (object); +#line 2684 "Alteration.c" + } else { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value->data[0].v_pointer = NULL; +#line 2688 "Alteration.c" + } +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return NULL; +#line 2692 "Alteration.c" +} + + +static gchar* value_alteration_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Alteration** object_p; + object_p = collect_values[0].v_pointer; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!object_p) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2703 "Alteration.c" + } +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (!value->data[0].v_pointer) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + *object_p = NULL; +#line 2709 "Alteration.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + *object_p = value->data[0].v_pointer; +#line 2713 "Alteration.c" + } else { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + *object_p = alteration_ref (value->data[0].v_pointer); +#line 2717 "Alteration.c" + } +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return NULL; +#line 2721 "Alteration.c" +} + + +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecAlteration* spec; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_ALTERATION), NULL); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return G_PARAM_SPEC (spec); +#line 2735 "Alteration.c" +} + + +gpointer value_get_alteration (const GValue* value) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ALTERATION), NULL); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return value->data[0].v_pointer; +#line 2744 "Alteration.c" +} + + +void value_set_alteration (GValue* value, gpointer v_object) { + Alteration* old; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ALTERATION)); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + old = value->data[0].v_pointer; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (v_object) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_ALTERATION)); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value->data[0].v_pointer = v_object; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_ref (value->data[0].v_pointer); +#line 2764 "Alteration.c" + } else { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value->data[0].v_pointer = NULL; +#line 2768 "Alteration.c" + } +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (old) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_unref (old); +#line 2774 "Alteration.c" + } +} + + +void value_take_alteration (GValue* value, gpointer v_object) { + Alteration* old; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ALTERATION)); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + old = value->data[0].v_pointer; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (v_object) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_ALTERATION)); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value->data[0].v_pointer = v_object; +#line 2793 "Alteration.c" + } else { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + value->data[0].v_pointer = NULL; +#line 2797 "Alteration.c" + } +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (old) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_unref (old); +#line 2803 "Alteration.c" + } +} + + +static void alteration_class_init (AlterationClass * klass) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + alteration_parent_class = g_type_class_peek_parent (klass); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + ((AlterationClass *) klass)->finalize = alteration_finalize; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_type_class_add_private (klass, sizeof (AlterationPrivate)); +#line 2815 "Alteration.c" +} + + +static void alteration_instance_init (Alteration * self) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv = ALTERATION_GET_PRIVATE (self); +#line 28 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->subject = NULL; +#line 29 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->detail = NULL; +#line 30 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->priv->map = NULL; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self->ref_count = 1; +#line 2830 "Alteration.c" +} + + +static void alteration_finalize (Alteration* obj) { + Alteration * self; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ALTERATION, Alteration); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_signal_handlers_destroy (self); +#line 28 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (self->priv->subject); +#line 29 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_free0 (self->priv->detail); +#line 30 "/home/jens/Source/shotwell/src/core/Alteration.vala" + _g_object_unref0 (self->priv->map); +#line 2846 "Alteration.c" +} + + +GType alteration_get_type (void) { + static volatile gsize alteration_type_id__volatile = 0; + if (g_once_init_enter (&alteration_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_alteration_init, value_alteration_free_value, value_alteration_copy_value, value_alteration_peek_pointer, "p", value_alteration_collect_value, "p", value_alteration_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (AlterationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) alteration_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Alteration), 0, (GInstanceInitFunc) alteration_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType alteration_type_id; + alteration_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Alteration", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&alteration_type_id__volatile, alteration_type_id); + } + return alteration_type_id__volatile; +} + + +gpointer alteration_ref (gpointer instance) { + Alteration* self; + self = instance; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_atomic_int_inc (&self->ref_count); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + return instance; +#line 2871 "Alteration.c" +} + + +void alteration_unref (gpointer instance) { + Alteration* self; + self = instance; +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + ALTERATION_GET_CLASS (self)->finalize (self); +#line 27 "/home/jens/Source/shotwell/src/core/Alteration.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2884 "Alteration.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/core/ContainerSourceCollection.c b/src/core/ContainerSourceCollection.c new file mode 100644 index 0000000..2e98ee8 --- /dev/null +++ b/src/core/ContainerSourceCollection.c @@ -0,0 +1,2124 @@ +/* ContainerSourceCollection.c generated by valac 0.32.1, the Vala compiler + * generated from ContainerSourceCollection.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* A ContainerSourceCollection is for DataSources which maintain links to one or more other*/ +/* DataSources, assumed to be of a different type. ContainerSourceCollection automates the task*/ +/* of handling unlinking and relinking and maintaining backlinks. Unlinked DataSources are*/ +/* held in a holding tank, until they are either relinked or destroyed.*/ +/**/ +/* If the ContainerSourceCollection's DataSources are types that "evaporate" (i.e. they disappear*/ +/* when they hold no items), they should use the evaporate() method, which will either destroy*/ +/* the DataSource or hold it in the tank (if backlinks are outstanding).*/ + +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#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_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#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; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; + +#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; +typedef struct _ContainerSourceCollectionPrivate ContainerSourceCollectionPrivate; + +#define TYPE_CONTAINER_SOURCE (container_source_get_type ()) +#define CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE, ContainerSource)) +#define IS_CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE)) +#define CONTAINER_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONTAINER_SOURCE, ContainerSourceIface)) + +typedef struct _ContainerSource ContainerSource; +typedef struct _ContainerSourceIface ContainerSourceIface; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _source_backlink_unref0(var) ((var == NULL) ? NULL : (var = (source_backlink_unref (var), NULL))) + +#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_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 _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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _ContainerSourceIface { + GTypeInterface parent_iface; + gboolean (*has_links) (ContainerSource* self); + SourceBacklink* (*get_backlink) (ContainerSource* self); + void (*break_link) (ContainerSource* self, DataSource* source); + void (*break_link_many) (ContainerSource* self, GeeCollection* sources); + void (*establish_link) (ContainerSource* self, DataSource* source); + void (*establish_link_many) (ContainerSource* self, GeeCollection* sources); +}; + +struct _ContainerSourceCollection { + DatabaseSourceCollection parent_instance; + ContainerSourceCollectionPrivate * priv; +}; + +struct _ContainerSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; + void (*notify_container_contents_added) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); + void (*notify_container_contents_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); + void (*notify_container_contents_altered) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); + void (*notify_backlink_to_container_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); + GeeCollection* (*get_containers_holding_source) (ContainerSourceCollection* self, DataSource* source); + ContainerSource* (*convert_backlink_to_container) (ContainerSourceCollection* self, SourceBacklink* backlink); + void (*container_contents_added) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); + void (*container_contents_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); + void (*container_contents_altered) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); + void (*backlink_to_container_removed) (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); +}; + +struct _ContainerSourceCollectionPrivate { + GeeHashSet* attached_collections; + gchar* backlink_name; + GeeHashSet* holding_tank; +}; + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); + +static gpointer container_source_collection_parent_class = NULL; + +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 data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_get_type (void) G_GNUC_CONST; +#define CONTAINER_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionPrivate)) +enum { + CONTAINER_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +void container_source_collection_detach_all_collections (ContainerSourceCollection* self); +ContainerSourceCollection* container_source_collection_construct (GType object_type, const gchar* backlink_name, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +DatabaseSourceCollection* database_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +static void container_source_collection_real_notify_backlink_removed (SourceCollection* base, SourceBacklink* backlink, GeeCollection* sources); +void source_collection_notify_backlink_removed (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +ContainerSource* container_source_collection_convert_backlink_to_container (ContainerSourceCollection* self, SourceBacklink* backlink); +void container_source_collection_notify_backlink_to_container_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); +void container_source_collection_notify_container_contents_added (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); +static void container_source_collection_real_notify_container_contents_added (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); +void source_collection_relink (SourceCollection* self, DataSource* source); +void container_source_collection_notify_container_contents_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); +static void container_source_collection_real_notify_container_contents_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); +void container_source_collection_notify_container_contents_altered (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); +static void container_source_collection_real_notify_container_contents_altered (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); +static void container_source_collection_real_notify_backlink_to_container_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); +GeeCollection* container_source_collection_get_containers_holding_source (ContainerSourceCollection* self, DataSource* source); +static GeeCollection* container_source_collection_real_get_containers_holding_source (ContainerSourceCollection* self, DataSource* source); +static ContainerSource* container_source_collection_real_convert_backlink_to_container (ContainerSourceCollection* self, SourceBacklink* backlink); +void container_source_collection_freeze_attached_notifications (ContainerSourceCollection* self); +void data_collection_freeze_notifications (DataCollection* self); +void container_source_collection_thaw_attached_notifications (ContainerSourceCollection* self); +void data_collection_thaw_notifications (DataCollection* self); +GeeCollection* container_source_collection_get_holding_tank (ContainerSourceCollection* self); +void container_source_collection_init_add_unlinked (ContainerSourceCollection* self, ContainerSource* unlinked); +void container_source_collection_init_add_many_unlinked (ContainerSourceCollection* self, GeeCollection* unlinked); +gboolean container_source_collection_relink_from_holding_tank (ContainerSourceCollection* self, ContainerSource* source); +static void container_source_collection_on_contained_sources_unlinking (ContainerSourceCollection* self, GeeCollection* unlinking); +void data_source_set_backlink (DataSource* self, SourceBacklink* backlink); +SourceBacklink* container_source_get_backlink (ContainerSource* self); +void container_source_break_link_many (ContainerSource* self, GeeCollection* sources); +static void container_source_collection_on_contained_sources_relinked (ContainerSourceCollection* self, GeeCollection* relinked); +GeeList* data_source_get_backlinks (DataSource* self, const gchar* name); +gchar* data_object_to_string (DataObject* self); +gchar* source_backlink_to_string (SourceBacklink* self); +void container_source_establish_link_many (ContainerSource* self, GeeCollection* sources); +static void container_source_collection_on_contained_source_destroyed (ContainerSourceCollection* self, DataSource* source); +gboolean container_source_has_links (ContainerSource* self); +GType tag_get_type (void) G_GNUC_CONST; +gboolean data_source_destroy_orphan (DataSource* self, gboolean delete_backing); +static void container_source_collection_real_notify_item_destroyed (SourceCollection* base, DataSource* source); +void source_collection_remove_backlink (SourceCollection* self, SourceBacklink* backlink); +void source_collection_notify_item_destroyed (SourceCollection* self, DataSource* source); +void container_source_collection_evaporate (ContainerSourceCollection* self, ContainerSource* container); +gboolean source_collection_has_backlink (SourceCollection* self, SourceBacklink* backlink); +GeeCollection* source_collection_unlink_marked (SourceCollection* self, Marker* marker, ProgressMonitor monitor, void* monitor_target); +Marker* data_collection_mark (DataCollection* self, DataObject* object); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +gint source_collection_destroy_marked (SourceCollection* self, Marker* marker, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +void container_source_collection_attach_collection (ContainerSourceCollection* self, SourceCollection* collection); +gchar* data_collection_to_string (DataCollection* self); +static void _container_source_collection_on_contained_sources_unlinking_source_collection_items_unlinking (SourceCollection* _sender, GeeCollection* unlinking, gpointer self); +static void _container_source_collection_on_contained_sources_relinked_source_collection_items_relinked (SourceCollection* _sender, GeeCollection* relinked, gpointer self); +static void _container_source_collection_on_contained_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +static void _container_source_collection_on_contained_source_destroyed_source_collection_unlinked_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +static void container_source_collection_real_container_contents_added (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void container_source_collection_real_container_contents_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked); +static void container_source_collection_real_container_contents_altered (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOOLEAN_OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void container_source_collection_real_backlink_to_container_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void container_source_collection_finalize (DataCollection* obj); + + +ContainerSourceCollection* container_source_collection_construct (GType object_type, const gchar* backlink_name, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target) { + ContainerSourceCollection* self = NULL; + const gchar* _tmp0_ = NULL; + GetSourceDatabaseKey _tmp1_ = NULL; + void* _tmp1__target = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_val_if_fail (backlink_name != NULL, NULL); +#line 37 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 39 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = name; +#line 39 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = source_key_func; +#line 39 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1__target = source_key_func_target; +#line 39 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + self = (ContainerSourceCollection*) database_source_collection_construct (object_type, _tmp0_, _tmp1_, _tmp1__target); +#line 41 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = backlink_name; +#line 41 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 41 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_free0 (self->priv->backlink_name); +#line 41 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + self->priv->backlink_name = _tmp3_; +#line 37 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return self; +#line 420 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_notify_backlink_removed (SourceCollection* base, SourceBacklink* backlink, GeeCollection* sources) { + ContainerSourceCollection * self; + SourceBacklink* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + ContainerSource* container = NULL; + SourceBacklink* _tmp2_ = NULL; + ContainerSource* _tmp3_ = NULL; + ContainerSource* _tmp4_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection); +#line 48 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 48 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 50 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = backlink; +#line 50 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = sources; +#line 50 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + SOURCE_COLLECTION_CLASS (container_source_collection_parent_class)->notify_backlink_removed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), TYPE_SOURCE_COLLECTION, SourceCollection), _tmp0_, _tmp1_); +#line 52 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = backlink; +#line 52 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = container_source_collection_convert_backlink_to_container (self, _tmp2_); +#line 52 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container = _tmp3_; +#line 53 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = container; +#line 53 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp4_ != NULL) { +#line 454 "ContainerSourceCollection.c" + ContainerSource* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = container; +#line 54 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = sources; +#line 54 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_notify_backlink_to_container_removed (self, _tmp5_, _tmp6_); +#line 463 "ContainerSourceCollection.c" + } +#line 48 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (container); +#line 467 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_notify_container_contents_added (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked) { + GeeHashSet* _tmp0_ = NULL; + ContainerSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ContainerSource* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 57 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 57 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (added)); +#line 60 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->holding_tank; +#line 60 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = container; +#line 60 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 60 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp2_) { +#line 490 "ContainerSourceCollection.c" + gboolean removed = FALSE; + GeeHashSet* _tmp3_ = NULL; + ContainerSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + ContainerSource* _tmp7_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = self->priv->holding_tank; +#line 61 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = container; +#line 61 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 61 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + removed = _tmp5_; +#line 62 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = removed; +#line 62 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _vala_assert (_tmp6_, "removed"); +#line 64 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp7_ = container; +#line 64 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + source_collection_relink (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource)); +#line 513 "ContainerSourceCollection.c" + } +#line 67 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp8_ = container; +#line 67 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp9_ = added; +#line 67 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = relinked; +#line 67 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_emit_by_name (self, "container-contents-added", _tmp8_, _tmp9_, _tmp10_); +#line 523 "ContainerSourceCollection.c" +} + + +void container_source_collection_notify_container_contents_added (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked) { +#line 57 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 57 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + CONTAINER_SOURCE_COLLECTION_GET_CLASS (self)->notify_container_contents_added (self, container, added, relinked); +#line 532 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_notify_container_contents_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked) { + ContainerSource* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 70 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 70 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (removed)); +#line 72 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = container; +#line 72 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = removed; +#line 72 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = unlinked; +#line 72 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_emit_by_name (self, "container-contents-removed", _tmp0_, _tmp1_, _tmp2_); +#line 552 "ContainerSourceCollection.c" +} + + +void container_source_collection_notify_container_contents_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked) { +#line 70 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 70 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + CONTAINER_SOURCE_COLLECTION_GET_CLASS (self)->notify_container_contents_removed (self, container, removed, unlinked); +#line 561 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_notify_container_contents_altered (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked) { + ContainerSource* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 75 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 75 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 75 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 78 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = container; +#line 78 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = added; +#line 78 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = relinked; +#line 78 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = removed; +#line 78 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = unlinked; +#line 78 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_emit_by_name (self, "container-contents-altered", _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 589 "ContainerSourceCollection.c" +} + + +void container_source_collection_notify_container_contents_altered (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked) { +#line 75 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 75 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + CONTAINER_SOURCE_COLLECTION_GET_CLASS (self)->notify_container_contents_altered (self, container, added, relinked, removed, unlinked); +#line 598 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_notify_backlink_to_container_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources) { + ContainerSource* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 81 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 83 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = container; +#line 83 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = sources; +#line 83 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_emit_by_name (self, "backlink-to-container-removed", _tmp0_, _tmp1_); +#line 615 "ContainerSourceCollection.c" +} + + +void container_source_collection_notify_backlink_to_container_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources) { +#line 81 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 81 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + CONTAINER_SOURCE_COLLECTION_GET_CLASS (self)->notify_backlink_to_container_removed (self, container, sources); +#line 624 "ContainerSourceCollection.c" +} + + +static GeeCollection* container_source_collection_real_get_containers_holding_source (ContainerSourceCollection* self, DataSource* source) { +#line 86 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_critical ("Type `%s' does not implement abstract method `container_source_collection_get_containers_holding_source'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 86 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return NULL; +#line 633 "ContainerSourceCollection.c" +} + + +GeeCollection* container_source_collection_get_containers_holding_source (ContainerSourceCollection* self, DataSource* source) { +#line 86 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_val_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self), NULL); +#line 86 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return CONTAINER_SOURCE_COLLECTION_GET_CLASS (self)->get_containers_holding_source (self, source); +#line 642 "ContainerSourceCollection.c" +} + + +static ContainerSource* container_source_collection_real_convert_backlink_to_container (ContainerSourceCollection* self, SourceBacklink* backlink) { +#line 89 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_critical ("Type `%s' does not implement abstract method `container_source_collection_convert_backlink_to_container'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 89 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return NULL; +#line 651 "ContainerSourceCollection.c" +} + + +ContainerSource* container_source_collection_convert_backlink_to_container (ContainerSourceCollection* self, SourceBacklink* backlink) { +#line 89 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_val_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self), NULL); +#line 89 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return CONTAINER_SOURCE_COLLECTION_GET_CLASS (self)->convert_backlink_to_container (self, backlink); +#line 660 "ContainerSourceCollection.c" +} + + +void container_source_collection_freeze_attached_notifications (ContainerSourceCollection* self) { +#line 91 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 667 "ContainerSourceCollection.c" + { + GeeIterator* _collection_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->attached_collections; +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _collection_it = _tmp1_; +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 680 "ContainerSourceCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* collection = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceCollection* _tmp6_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = _collection_it; +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp3_) { +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 695 "ContainerSourceCollection.c" + } +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = _collection_it; +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + collection = (SourceCollection*) _tmp5_; +#line 93 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = collection; +#line 93 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection)); +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _data_collection_unref0 (collection); +#line 709 "ContainerSourceCollection.c" + } +#line 92 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_collection_it); +#line 713 "ContainerSourceCollection.c" + } +} + + +void container_source_collection_thaw_attached_notifications (ContainerSourceCollection* self) { +#line 96 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 721 "ContainerSourceCollection.c" + { + GeeIterator* _collection_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->attached_collections; +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _collection_it = _tmp1_; +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 734 "ContainerSourceCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* collection = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceCollection* _tmp6_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = _collection_it; +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp3_) { +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 749 "ContainerSourceCollection.c" + } +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = _collection_it; +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + collection = (SourceCollection*) _tmp5_; +#line 98 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = collection; +#line 98 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection)); +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _data_collection_unref0 (collection); +#line 763 "ContainerSourceCollection.c" + } +#line 97 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_collection_it); +#line 767 "ContainerSourceCollection.c" + } +} + + +GeeCollection* container_source_collection_get_holding_tank (ContainerSourceCollection* self) { + GeeCollection* result = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_val_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self), NULL); +#line 102 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->holding_tank; +#line 102 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = gee_abstract_set_get_read_only_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_SET, GeeAbstractSet)); +#line 102 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = _tmp1_; +#line 102 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 102 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return result; +#line 789 "ContainerSourceCollection.c" +} + + +void container_source_collection_init_add_unlinked (ContainerSourceCollection* self, ContainerSource* unlinked) { + GeeHashSet* _tmp0_ = NULL; + ContainerSource* _tmp1_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 105 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (unlinked)); +#line 106 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->holding_tank; +#line 106 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = unlinked; +#line 106 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 806 "ContainerSourceCollection.c" +} + + +void container_source_collection_init_add_many_unlinked (ContainerSourceCollection* self, GeeCollection* unlinked) { + GeeHashSet* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 109 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (unlinked)); +#line 110 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->holding_tank; +#line 110 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = unlinked; +#line 110 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 823 "ContainerSourceCollection.c" +} + + +gboolean container_source_collection_relink_from_holding_tank (ContainerSourceCollection* self, ContainerSource* source) { + gboolean result = FALSE; + GeeHashSet* _tmp0_ = NULL; + ContainerSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ContainerSource* _tmp3_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_val_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self), FALSE); +#line 113 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_val_if_fail (IS_CONTAINER_SOURCE (source), FALSE); +#line 114 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->holding_tank; +#line 114 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = source; +#line 114 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 114 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp2_) { +#line 115 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + result = FALSE; +#line 115 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return result; +#line 849 "ContainerSourceCollection.c" + } +#line 117 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = source; +#line 117 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + source_collection_relink (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_SOURCE, DataSource)); +#line 119 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + result = TRUE; +#line 119 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return result; +#line 859 "ContainerSourceCollection.c" +} + + +static void container_source_collection_on_contained_sources_unlinking (ContainerSourceCollection* self, GeeCollection* unlinking) { + GeeHashMultiMap* map = NULL; + GeeHashMultiMap* _tmp0_ = NULL; +#line 122 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 122 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (unlinking)); +#line 123 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_freeze_attached_notifications (self); +#line 125 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = gee_hash_multi_map_new (TYPE_CONTAINER_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 125 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + map = _tmp0_; +#line 876 "ContainerSourceCollection.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = unlinking; +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _source_it = _tmp2_; +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 889 "ContainerSourceCollection.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + GeeCollection* containers = NULL; + DataSource* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GeeCollection* _tmp10_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = _source_it; +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp4_) { +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 908 "ContainerSourceCollection.c" + } +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = _source_it; +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + source = (DataSource*) _tmp6_; +#line 129 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp7_ = source; +#line 129 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp8_ = container_source_collection_get_containers_holding_source (self, _tmp7_); +#line 129 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + containers = _tmp8_; +#line 130 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = containers; +#line 130 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp10_ == NULL) { +#line 130 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp9_ = TRUE; +#line 928 "ContainerSourceCollection.c" + } else { + GeeCollection* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 130 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp11_ = containers; +#line 130 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp12_ = gee_collection_get_size (_tmp11_); +#line 130 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp13_ = _tmp12_; +#line 130 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp9_ = _tmp13_ == 0; +#line 941 "ContainerSourceCollection.c" + } +#line 130 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp9_) { +#line 131 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (containers); +#line 131 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (source); +#line 131 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + continue; +#line 951 "ContainerSourceCollection.c" + } + { + GeeIterator* _container_it = NULL; + GeeCollection* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp14_ = containers; +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _container_it = _tmp15_; +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 965 "ContainerSourceCollection.c" + GeeIterator* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + ContainerSource* container = NULL; + GeeIterator* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + GeeHashMultiMap* _tmp20_ = NULL; + ContainerSource* _tmp21_ = NULL; + DataSource* _tmp22_ = NULL; + DataSource* _tmp23_ = NULL; + ContainerSource* _tmp24_ = NULL; + SourceBacklink* _tmp25_ = NULL; + SourceBacklink* _tmp26_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp16_ = _container_it; +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp17_ = gee_iterator_next (_tmp16_); +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp17_) { +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 986 "ContainerSourceCollection.c" + } +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp18_ = _container_it; +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp19_ = gee_iterator_get (_tmp18_); +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container = (ContainerSource*) _tmp19_; +#line 134 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp20_ = map; +#line 134 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp21_ = container; +#line 134 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp22_ = source; +#line 134 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp21_, _tmp22_); +#line 135 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp23_ = source; +#line 135 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp24_ = container; +#line 135 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp25_ = container_source_get_backlink (_tmp24_); +#line 135 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp26_ = _tmp25_; +#line 135 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data_source_set_backlink (_tmp23_, _tmp26_); +#line 135 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _source_backlink_unref0 (_tmp26_); +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (container); +#line 1016 "ContainerSourceCollection.c" + } +#line 133 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_container_it); +#line 1020 "ContainerSourceCollection.c" + } +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (containers); +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (source); +#line 1026 "ContainerSourceCollection.c" + } +#line 128 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_source_it); +#line 1030 "ContainerSourceCollection.c" + } + { + GeeIterator* _container_it = NULL; + GeeHashMultiMap* _tmp27_ = NULL; + GeeSet* _tmp28_ = NULL; + GeeSet* _tmp29_ = NULL; + GeeIterator* _tmp30_ = NULL; + GeeIterator* _tmp31_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp27_ = map; +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp28_ = gee_multi_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_MULTI_MAP, GeeMultiMap)); +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp29_ = _tmp28_; +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp30_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp31_ = _tmp30_; +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_tmp29_); +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _container_it = _tmp31_; +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 1055 "ContainerSourceCollection.c" + GeeIterator* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + ContainerSource* container = NULL; + GeeIterator* _tmp34_ = NULL; + gpointer _tmp35_ = NULL; + ContainerSource* _tmp36_ = NULL; + GeeHashMultiMap* _tmp37_ = NULL; + ContainerSource* _tmp38_ = NULL; + GeeCollection* _tmp39_ = NULL; + GeeCollection* _tmp40_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp32_ = _container_it; +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp33_ = gee_iterator_next (_tmp32_); +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp33_) { +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 1074 "ContainerSourceCollection.c" + } +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp34_ = _container_it; +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp35_ = gee_iterator_get (_tmp34_); +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container = (ContainerSource*) _tmp35_; +#line 140 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp36_ = container; +#line 140 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp37_ = map; +#line 140 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp38_ = container; +#line 140 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp39_ = gee_multi_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp38_); +#line 140 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp40_ = _tmp39_; +#line 140 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_break_link_many (_tmp36_, _tmp40_); +#line 140 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_tmp40_); +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (container); +#line 1098 "ContainerSourceCollection.c" + } +#line 139 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_container_it); +#line 1102 "ContainerSourceCollection.c" + } +#line 142 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_thaw_attached_notifications (self); +#line 122 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (map); +#line 1108 "ContainerSourceCollection.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return self ? g_object_ref (self) : NULL; +#line 1115 "ContainerSourceCollection.c" +} + + +static void container_source_collection_on_contained_sources_relinked (ContainerSourceCollection* self, GeeCollection* relinked) { + GeeHashMultiMap* map = NULL; + GeeHashMultiMap* _tmp0_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 145 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (relinked)); +#line 146 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_freeze_attached_notifications (self); +#line 148 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = gee_hash_multi_map_new (TYPE_CONTAINER_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 148 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + map = _tmp0_; +#line 1132 "ContainerSourceCollection.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = relinked; +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _source_it = _tmp2_; +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 1145 "ContainerSourceCollection.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + GeeList* backlinks = NULL; + DataSource* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GeeList* _tmp11_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = _source_it; +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp4_) { +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 1165 "ContainerSourceCollection.c" + } +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = _source_it; +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + source = (DataSource*) _tmp6_; +#line 152 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp7_ = source; +#line 152 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp8_ = self->priv->backlink_name; +#line 152 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp9_ = data_source_get_backlinks (_tmp7_, _tmp8_); +#line 152 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + backlinks = _tmp9_; +#line 153 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp11_ = backlinks; +#line 153 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp11_ == NULL) { +#line 153 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = TRUE; +#line 1187 "ContainerSourceCollection.c" + } else { + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 153 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp12_ = backlinks; +#line 153 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 153 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp14_ = _tmp13_; +#line 153 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = _tmp14_ == 0; +#line 1200 "ContainerSourceCollection.c" + } +#line 153 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp10_) { +#line 154 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (backlinks); +#line 154 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (source); +#line 154 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + continue; +#line 1210 "ContainerSourceCollection.c" + } + { + GeeList* _backlink_list = NULL; + GeeList* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; + gint _backlink_size = 0; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _backlink_index = 0; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp15_ = backlinks; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp16_ = _g_object_ref0 (_tmp15_); +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _backlink_list = _tmp16_; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp17_ = _backlink_list; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp19_ = _tmp18_; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _backlink_size = _tmp19_; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _backlink_index = -1; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 1239 "ContainerSourceCollection.c" + gint _tmp20_ = 0; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + SourceBacklink* backlink = NULL; + GeeList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gpointer _tmp25_ = NULL; + ContainerSource* container = NULL; + SourceBacklink* _tmp26_ = NULL; + ContainerSource* _tmp27_ = NULL; + ContainerSource* _tmp28_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp20_ = _backlink_index; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _backlink_index = _tmp20_ + 1; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp21_ = _backlink_index; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp22_ = _backlink_size; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!(_tmp21_ < _tmp22_)) { +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 1263 "ContainerSourceCollection.c" + } +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp23_ = _backlink_list; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp24_ = _backlink_index; +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp25_ = gee_list_get (_tmp23_, _tmp24_); +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + backlink = (SourceBacklink*) _tmp25_; +#line 157 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp26_ = backlink; +#line 157 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp27_ = container_source_collection_convert_backlink_to_container (self, _tmp26_); +#line 157 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container = _tmp27_; +#line 158 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp28_ = container; +#line 158 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp28_ != NULL) { +#line 1283 "ContainerSourceCollection.c" + GeeHashMultiMap* _tmp29_ = NULL; + ContainerSource* _tmp30_ = NULL; + DataSource* _tmp31_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp29_ = map; +#line 159 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp30_ = container; +#line 159 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp31_ = source; +#line 159 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp30_, _tmp31_); +#line 1295 "ContainerSourceCollection.c" + } else { + DataSource* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + SourceBacklink* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp32_ = source; +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp33_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_OBJECT, DataObject)); +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp34_ = _tmp33_; +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp35_ = backlink; +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp36_ = source_backlink_to_string (_tmp35_); +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp37_ = _tmp36_; +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_warning ("ContainerSourceCollection.vala:161: Unable to relink %s to container b" \ +"acklink %s", _tmp34_, _tmp37_); +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_free0 (_tmp37_); +#line 161 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_free0 (_tmp34_); +#line 1321 "ContainerSourceCollection.c" + } +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (container); +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _source_backlink_unref0 (backlink); +#line 1327 "ContainerSourceCollection.c" + } +#line 156 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_backlink_list); +#line 1331 "ContainerSourceCollection.c" + } +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (backlinks); +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (source); +#line 1337 "ContainerSourceCollection.c" + } +#line 151 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_source_it); +#line 1341 "ContainerSourceCollection.c" + } + { + GeeIterator* _container_it = NULL; + GeeHashMultiMap* _tmp38_ = NULL; + GeeSet* _tmp39_ = NULL; + GeeSet* _tmp40_ = NULL; + GeeIterator* _tmp41_ = NULL; + GeeIterator* _tmp42_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp38_ = map; +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp39_ = gee_multi_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_MULTI_MAP, GeeMultiMap)); +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp40_ = _tmp39_; +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp41_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp42_ = _tmp41_; +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_tmp40_); +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _container_it = _tmp42_; +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 1366 "ContainerSourceCollection.c" + GeeIterator* _tmp43_ = NULL; + gboolean _tmp44_ = FALSE; + ContainerSource* container = NULL; + GeeIterator* _tmp45_ = NULL; + gpointer _tmp46_ = NULL; + ContainerSource* _tmp47_ = NULL; + GeeHashMultiMap* _tmp48_ = NULL; + ContainerSource* _tmp49_ = NULL; + GeeCollection* _tmp50_ = NULL; + GeeCollection* _tmp51_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp43_ = _container_it; +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp44_ = gee_iterator_next (_tmp43_); +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp44_) { +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 1385 "ContainerSourceCollection.c" + } +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp45_ = _container_it; +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp46_ = gee_iterator_get (_tmp45_); +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container = (ContainerSource*) _tmp46_; +#line 168 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp47_ = container; +#line 168 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp48_ = map; +#line 168 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp49_ = container; +#line 168 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp50_ = gee_multi_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp49_); +#line 168 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp51_ = _tmp50_; +#line 168 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_establish_link_many (_tmp47_, _tmp51_); +#line 168 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_tmp51_); +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (container); +#line 1409 "ContainerSourceCollection.c" + } +#line 167 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_container_it); +#line 1413 "ContainerSourceCollection.c" + } +#line 170 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_thaw_attached_notifications (self); +#line 145 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (map); +#line 1419 "ContainerSourceCollection.c" +} + + +static void container_source_collection_on_contained_source_destroyed (ContainerSourceCollection* self, DataSource* source) { + GeeIterator* iter = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 173 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 174 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->holding_tank; +#line 174 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 174 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + iter = _tmp1_; +#line 175 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 1439 "ContainerSourceCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + ContainerSource* container = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + ContainerSource* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 175 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = iter; +#line 175 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 175 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp3_) { +#line 175 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 1456 "ContainerSourceCollection.c" + } +#line 176 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = iter; +#line 176 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 176 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container = (ContainerSource*) _tmp5_; +#line 180 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp7_ = container; +#line 180 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp8_ = container_source_has_links (_tmp7_); +#line 180 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp8_) { +#line 1470 "ContainerSourceCollection.c" + ContainerSource* _tmp9_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp9_ = container; +#line 180 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_TAG); +#line 1476 "ContainerSourceCollection.c" + } else { +#line 180 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = FALSE; +#line 1480 "ContainerSourceCollection.c" + } +#line 180 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp6_) { +#line 1484 "ContainerSourceCollection.c" + GeeIterator* _tmp10_ = NULL; + ContainerSource* _tmp11_ = NULL; +#line 181 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = iter; +#line 181 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + gee_iterator_remove (_tmp10_); +#line 182 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp11_ = container; +#line 182 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data_source_destroy_orphan (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_SOURCE, DataSource), TRUE); +#line 1495 "ContainerSourceCollection.c" + } +#line 175 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (container); +#line 1499 "ContainerSourceCollection.c" + } +#line 173 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (iter); +#line 1503 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_notify_item_destroyed (SourceCollection* base, DataSource* source) { + ContainerSourceCollection * self; + DataSource* _tmp10_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection); +#line 187 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 1514 "ContainerSourceCollection.c" + { + GeeIterator* _collection_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->attached_collections; +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _collection_it = _tmp1_; +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 1527 "ContainerSourceCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* collection = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceCollection* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + SourceBacklink* _tmp8_ = NULL; + SourceBacklink* _tmp9_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = _collection_it; +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp3_) { +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 1545 "ContainerSourceCollection.c" + } +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = _collection_it; +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + collection = (SourceCollection*) _tmp5_; +#line 189 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = collection; +#line 189 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp7_ = source; +#line 189 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp8_ = container_source_get_backlink (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONTAINER_SOURCE, ContainerSource)); +#line 189 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp9_ = _tmp8_; +#line 189 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + source_collection_remove_backlink (_tmp6_, _tmp9_); +#line 189 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _source_backlink_unref0 (_tmp9_); +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _data_collection_unref0 (collection); +#line 1567 "ContainerSourceCollection.c" + } +#line 188 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_collection_it); +#line 1571 "ContainerSourceCollection.c" + } +#line 192 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = source; +#line 192 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + SOURCE_COLLECTION_CLASS (container_source_collection_parent_class)->notify_item_destroyed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), TYPE_SOURCE_COLLECTION, SourceCollection), _tmp10_); +#line 1577 "ContainerSourceCollection.c" +} + + +void container_source_collection_evaporate (ContainerSourceCollection* self, ContainerSource* container) { + ContainerSource* _tmp21_ = NULL; + Marker* _tmp22_ = NULL; + Marker* _tmp23_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 199 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 1589 "ContainerSourceCollection.c" + { + GeeIterator* _collection_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->attached_collections; +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _collection_it = _tmp1_; +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 1602 "ContainerSourceCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* collection = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceCollection* _tmp6_ = NULL; + ContainerSource* _tmp7_ = NULL; + SourceBacklink* _tmp8_ = NULL; + SourceBacklink* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = _collection_it; +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp3_) { +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 1622 "ContainerSourceCollection.c" + } +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = _collection_it; +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + collection = (SourceCollection*) _tmp5_; +#line 201 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = collection; +#line 201 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp7_ = container; +#line 201 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp8_ = container_source_get_backlink (_tmp7_); +#line 201 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp9_ = _tmp8_; +#line 201 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = source_collection_has_backlink (_tmp6_, _tmp9_); +#line 201 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp11_ = _tmp10_; +#line 201 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _source_backlink_unref0 (_tmp9_); +#line 201 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp11_) { +#line 1646 "ContainerSourceCollection.c" + ContainerSource* _tmp12_ = NULL; + Marker* _tmp13_ = NULL; + Marker* _tmp14_ = NULL; + GeeCollection* _tmp15_ = NULL; + GeeCollection* _tmp16_ = NULL; + gboolean added = FALSE; + GeeHashSet* _tmp17_ = NULL; + ContainerSource* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; +#line 202 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp12_ = container; +#line 202 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp13_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject)); +#line 202 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp14_ = _tmp13_; +#line 202 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp15_ = source_collection_unlink_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp14_, NULL, NULL); +#line 202 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp16_ = _tmp15_; +#line 202 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_tmp16_); +#line 202 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_tmp14_); +#line 203 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp17_ = self->priv->holding_tank; +#line 203 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp18_ = container; +#line 203 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp19_ = gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp18_); +#line 203 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + added = _tmp19_; +#line 204 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp20_ = added; +#line 204 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _vala_assert (_tmp20_, "added"); +#line 205 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _data_collection_unref0 (collection); +#line 205 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_collection_it); +#line 205 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return; +#line 1689 "ContainerSourceCollection.c" + } +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _data_collection_unref0 (collection); +#line 1693 "ContainerSourceCollection.c" + } +#line 200 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_collection_it); +#line 1697 "ContainerSourceCollection.c" + } +#line 209 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp21_ = container; +#line 209 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp22_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_OBJECT, DataObject)); +#line 209 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp23_ = _tmp22_; +#line 209 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + source_collection_destroy_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp23_, TRUE, NULL, NULL, NULL); +#line 209 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_tmp23_); +#line 1709 "ContainerSourceCollection.c" +} + + +static void _container_source_collection_on_contained_sources_unlinking_source_collection_items_unlinking (SourceCollection* _sender, GeeCollection* unlinking, gpointer self) { +#line 220 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_on_contained_sources_unlinking ((ContainerSourceCollection*) self, unlinking); +#line 1716 "ContainerSourceCollection.c" +} + + +static void _container_source_collection_on_contained_sources_relinked_source_collection_items_relinked (SourceCollection* _sender, GeeCollection* relinked, gpointer self) { +#line 221 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_on_contained_sources_relinked ((ContainerSourceCollection*) self, relinked); +#line 1723 "ContainerSourceCollection.c" +} + + +static void _container_source_collection_on_contained_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 222 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_on_contained_source_destroyed ((ContainerSourceCollection*) self, source); +#line 1730 "ContainerSourceCollection.c" +} + + +static void _container_source_collection_on_contained_source_destroyed_source_collection_unlinked_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 223 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_on_contained_source_destroyed ((ContainerSourceCollection*) self, source); +#line 1737 "ContainerSourceCollection.c" +} + + +void container_source_collection_attach_collection (ContainerSourceCollection* self, SourceCollection* collection) { + GeeHashSet* _tmp0_ = NULL; + SourceCollection* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashSet* _tmp8_ = NULL; + SourceCollection* _tmp9_ = NULL; + SourceCollection* _tmp10_ = NULL; + SourceCollection* _tmp11_ = NULL; + SourceCollection* _tmp12_ = NULL; + SourceCollection* _tmp13_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 212 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (collection)); +#line 213 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->attached_collections; +#line 213 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = collection; +#line 213 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 213 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (_tmp2_) { +#line 1763 "ContainerSourceCollection.c" + SourceCollection* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 214 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = collection; +#line 214 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = data_collection_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection)); +#line 214 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = _tmp4_; +#line 214 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = data_collection_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 214 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp7_ = _tmp6_; +#line 214 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_warning ("ContainerSourceCollection.vala:214: attempted to multiple-attach '%s' " \ +"to '%s'", _tmp5_, _tmp7_); +#line 214 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_free0 (_tmp7_); +#line 214 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_free0 (_tmp5_); +#line 215 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + return; +#line 1787 "ContainerSourceCollection.c" + } +#line 218 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp8_ = self->priv->attached_collections; +#line 218 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp9_ = collection; +#line 218 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp9_); +#line 220 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = collection; +#line 220 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_connect (_tmp10_, "items-unlinking", (GCallback) _container_source_collection_on_contained_sources_unlinking_source_collection_items_unlinking, self); +#line 221 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp11_ = collection; +#line 221 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_connect (_tmp11_, "items-relinked", (GCallback) _container_source_collection_on_contained_sources_relinked_source_collection_items_relinked, self); +#line 222 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp12_ = collection; +#line 222 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_connect (_tmp12_, "item-destroyed", (GCallback) _container_source_collection_on_contained_source_destroyed_source_collection_item_destroyed, self); +#line 223 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp13_ = collection; +#line 223 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_connect (_tmp13_, "unlinked-destroyed", (GCallback) _container_source_collection_on_contained_source_destroyed_source_collection_unlinked_destroyed, self); +#line 1811 "ContainerSourceCollection.c" +} + + +void container_source_collection_detach_all_collections (ContainerSourceCollection* self) { + GeeHashSet* _tmp14_ = NULL; +#line 226 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE_COLLECTION (self)); +#line 1819 "ContainerSourceCollection.c" + { + GeeIterator* _collection_it = NULL; + GeeHashSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = self->priv->attached_collections; +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _collection_it = _tmp1_; +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + while (TRUE) { +#line 1832 "ContainerSourceCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + SourceCollection* collection = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SourceCollection* _tmp6_ = NULL; + guint _tmp7_ = 0U; + SourceCollection* _tmp8_ = NULL; + guint _tmp9_ = 0U; + SourceCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; + SourceCollection* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp2_ = _collection_it; +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (!_tmp3_) { +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + break; +#line 1854 "ContainerSourceCollection.c" + } +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp4_ = _collection_it; +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + collection = (SourceCollection*) _tmp5_; +#line 228 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp6_ = collection; +#line 228 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_parse_name ("items-unlinking", TYPE_SOURCE_COLLECTION, &_tmp7_, NULL, FALSE); +#line 228 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _container_source_collection_on_contained_sources_unlinking_source_collection_items_unlinking, self); +#line 229 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp8_ = collection; +#line 229 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_parse_name ("items-relinked", TYPE_SOURCE_COLLECTION, &_tmp9_, NULL, FALSE); +#line 229 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _container_source_collection_on_contained_sources_relinked_source_collection_items_relinked, self); +#line 230 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp10_ = collection; +#line 230 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE); +#line 230 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _container_source_collection_on_contained_source_destroyed_source_collection_item_destroyed, self); +#line 231 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp12_ = collection; +#line 231 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_parse_name ("unlinked-destroyed", TYPE_SOURCE_COLLECTION, &_tmp13_, NULL, FALSE); +#line 231 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _container_source_collection_on_contained_source_destroyed_source_collection_unlinked_destroyed, self); +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _data_collection_unref0 (collection); +#line 1888 "ContainerSourceCollection.c" + } +#line 227 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (_collection_it); +#line 1892 "ContainerSourceCollection.c" + } +#line 234 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp14_ = self->priv->attached_collections; +#line 234 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + gee_abstract_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 1898 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_container_contents_added (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked) { +#line 20 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 20 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (added)); +#line 1907 "ContainerSourceCollection.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_BOOLEAN) (gpointer data1, gpointer arg_1, gpointer arg_2, gboolean arg_3, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (n_param_values == 4); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data1 = closure->data; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data2 = param_values->data[0].v_pointer; +#line 1926 "ContainerSourceCollection.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data1 = param_values->data[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data2 = closure->data; +#line 1932 "ContainerSourceCollection.c" + } +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_boolean (param_values + 3), data2); +#line 1938 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_container_contents_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* removed, gboolean unlinked) { +#line 24 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 24 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (removed)); +#line 1947 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_container_contents_altered (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* added, gboolean relinked, GeeCollection* removed, gboolean unlinked) { +#line 28 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 28 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 28 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 1958 "ContainerSourceCollection.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOOLEAN_OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_BOOLEAN_OBJECT_BOOLEAN) (gpointer data1, gpointer arg_1, gpointer arg_2, gboolean arg_3, gpointer arg_4, gboolean arg_5, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT_BOOLEAN_OBJECT_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (n_param_values == 6); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data1 = closure->data; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data2 = param_values->data[0].v_pointer; +#line 1977 "ContainerSourceCollection.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data1 = param_values->data[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data2 = closure->data; +#line 1983 "ContainerSourceCollection.c" + } +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT_BOOLEAN_OBJECT_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_boolean (param_values + 3), g_value_get_object (param_values + 4), g_value_get_boolean (param_values + 5), data2); +#line 1989 "ContainerSourceCollection.c" +} + + +static void container_source_collection_real_backlink_to_container_removed (ContainerSourceCollection* self, ContainerSource* container, GeeCollection* sources) { +#line 33 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (container)); +#line 33 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 1998 "ContainerSourceCollection.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_return_if_fail (n_param_values == 3); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data1 = closure->data; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data2 = param_values->data[0].v_pointer; +#line 2017 "ContainerSourceCollection.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data1 = param_values->data[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + data2 = closure->data; +#line 2023 "ContainerSourceCollection.c" + } +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 2029 "ContainerSourceCollection.c" +} + + +static void container_source_collection_class_init (ContainerSourceCollectionClass * klass) { +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((DataCollectionClass *) klass)->finalize = container_source_collection_finalize; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_type_class_add_private (klass, sizeof (ContainerSourceCollectionPrivate)); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((SourceCollectionClass *) klass)->notify_backlink_removed = container_source_collection_real_notify_backlink_removed; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->notify_container_contents_added = container_source_collection_real_notify_container_contents_added; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->notify_container_contents_removed = container_source_collection_real_notify_container_contents_removed; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->notify_container_contents_altered = container_source_collection_real_notify_container_contents_altered; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->notify_backlink_to_container_removed = container_source_collection_real_notify_backlink_to_container_removed; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->get_containers_holding_source = container_source_collection_real_get_containers_holding_source; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->convert_backlink_to_container = container_source_collection_real_convert_backlink_to_container; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((SourceCollectionClass *) klass)->notify_item_destroyed = container_source_collection_real_notify_item_destroyed; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->container_contents_added = container_source_collection_real_container_contents_added; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->container_contents_removed = container_source_collection_real_container_contents_removed; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->container_contents_altered = container_source_collection_real_container_contents_altered; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + ((ContainerSourceCollectionClass *) klass)->backlink_to_container_removed = container_source_collection_real_backlink_to_container_removed; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_new ("container_contents_added", TYPE_CONTAINER_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ContainerSourceCollectionClass, container_contents_added), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOOLEAN, G_TYPE_NONE, 3, TYPE_CONTAINER_SOURCE, GEE_TYPE_COLLECTION, G_TYPE_BOOLEAN); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_new ("container_contents_removed", TYPE_CONTAINER_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ContainerSourceCollectionClass, container_contents_removed), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOOLEAN, G_TYPE_NONE, 3, TYPE_CONTAINER_SOURCE, GEE_TYPE_COLLECTION, G_TYPE_BOOLEAN); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_new ("container_contents_altered", TYPE_CONTAINER_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ContainerSourceCollectionClass, container_contents_altered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOOLEAN_OBJECT_BOOLEAN, G_TYPE_NONE, 5, TYPE_CONTAINER_SOURCE, GEE_TYPE_COLLECTION, G_TYPE_BOOLEAN, GEE_TYPE_COLLECTION, G_TYPE_BOOLEAN); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + g_signal_new ("backlink_to_container_removed", TYPE_CONTAINER_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ContainerSourceCollectionClass, backlink_to_container_removed), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, TYPE_CONTAINER_SOURCE, GEE_TYPE_COLLECTION); +#line 2072 "ContainerSourceCollection.c" +} + + +static void container_source_collection_instance_init (ContainerSourceCollection * self) { + GeeHashSet* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + self->priv = CONTAINER_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 16 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp0_ = gee_hash_set_new (TYPE_SOURCE_COLLECTION, (GBoxedCopyFunc) data_collection_ref, data_collection_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 16 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + self->priv->attached_collections = _tmp0_; +#line 18 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _tmp1_ = gee_hash_set_new (TYPE_CONTAINER_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 18 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + self->priv->holding_tank = _tmp1_; +#line 2089 "ContainerSourceCollection.c" +} + + +static void container_source_collection_finalize (DataCollection* obj) { + ContainerSourceCollection * self; +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection); +#line 45 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + container_source_collection_detach_all_collections (self); +#line 16 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (self->priv->attached_collections); +#line 17 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_free0 (self->priv->backlink_name); +#line 18 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + _g_object_unref0 (self->priv->holding_tank); +#line 15 "/home/jens/Source/shotwell/src/core/ContainerSourceCollection.vala" + DATA_COLLECTION_CLASS (container_source_collection_parent_class)->finalize (obj); +#line 2107 "ContainerSourceCollection.c" +} + + +GType container_source_collection_get_type (void) { + static volatile gsize container_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&container_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ContainerSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) container_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ContainerSourceCollection), 0, (GInstanceInitFunc) container_source_collection_instance_init, NULL }; + GType container_source_collection_type_id; + container_source_collection_type_id = g_type_register_static (TYPE_DATABASE_SOURCE_COLLECTION, "ContainerSourceCollection", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&container_source_collection_type_id__volatile, container_source_collection_type_id); + } + return container_source_collection_type_id__volatile; +} + + + diff --git a/src/core/Core.c b/src/core/Core.c new file mode 100644 index 0000000..7fd60d2 --- /dev/null +++ b/src/core/Core.c @@ -0,0 +1,41 @@ +/* Core.c generated by valac 0.32.1, the Vala compiler + * generated from Core.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* This file is the master unit file for the Core unit. It should be edited to include + * whatever code is deemed necessary. + * + * The init() and terminate() methods are mandatory. + * + * If the unit needs to be configured prior to initialization, add the proper parameters to + * the preconfigure() method, implement it, and ensure in init() that it's been called. + */ + +#include +#include + + + + +void core_preconfigure (void); +void core_init (GError** error); +void core_terminate (void); + + +void core_preconfigure (void) { +} + + +void core_init (GError** error) { +} + + +void core_terminate (void) { +} + + + diff --git a/src/core/DataCollection.c b/src/core/DataCollection.c new file mode 100644 index 0000000..7040412 --- /dev/null +++ b/src/core/DataCollection.c @@ -0,0 +1,3944 @@ +/* DataCollection.c generated by valac 0.32.1, the Vala compiler + * generated from DataCollection.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_DATA_SET (data_set_get_type ()) +#define DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SET, DataSet)) +#define DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SET, DataSetClass)) +#define IS_DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SET)) +#define IS_DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SET)) +#define DATA_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SET, DataSetClass)) + +typedef struct _DataSet DataSet; +typedef struct _DataSetClass DataSetClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _data_set_unref0(var) ((var == NULL) ? NULL : (var = (data_set_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_SINGLETON_COLLECTION (singleton_collection_get_type ()) +#define SINGLETON_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLETON_COLLECTION, SingletonCollection)) +#define SINGLETON_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLETON_COLLECTION, SingletonCollectionClass)) +#define IS_SINGLETON_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLETON_COLLECTION)) +#define IS_SINGLETON_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLETON_COLLECTION)) +#define SINGLETON_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLETON_COLLECTION, SingletonCollectionClass)) + +typedef struct _SingletonCollection SingletonCollection; +typedef struct _SingletonCollectionClass SingletonCollectionClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define DATA_COLLECTION_TYPE_MARKER_IMPL (data_collection_marker_impl_get_type ()) +#define DATA_COLLECTION_MARKER_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl)) +#define DATA_COLLECTION_MARKER_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImplClass)) +#define DATA_COLLECTION_IS_MARKER_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_COLLECTION_TYPE_MARKER_IMPL)) +#define DATA_COLLECTION_IS_MARKER_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_COLLECTION_TYPE_MARKER_IMPL)) +#define DATA_COLLECTION_MARKER_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImplClass)) + +typedef struct _DataCollectionMarkerImpl DataCollectionMarkerImpl; +typedef struct _DataCollectionMarkerImplClass DataCollectionMarkerImplClass; +typedef struct _DataCollectionMarkerImplPrivate DataCollectionMarkerImplPrivate; +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) +#define __vala_GValue_free0(var) ((var == NULL) ? NULL : (var = (_vala_GValue_free (var), NULL))) +typedef struct _ParamSpecDataCollection ParamSpecDataCollection; +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _DataCollectionPrivate { + gchar* name; + DataSet* dataset; + GeeHashMap* properties; + gint64 object_ordinal_generator; + gint notifies_frozen; + GeeHashMap* frozen_items_altered; + gboolean fire_ordering_changed; +}; + +typedef gboolean (*MarkedAction) (DataObject* object, GObject* user, void* user_data); +struct _DataCollectionMarkerImpl { + GObject parent_instance; + DataCollectionMarkerImplPrivate * priv; + DataCollection* owner; + GeeHashSet* marked; + gint freeze_count; +}; + +struct _DataCollectionMarkerImplClass { + GObjectClass parent_class; +}; + +typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, void* user_data); +struct _ParamSpecDataCollection { + GParamSpec parent_instance; +}; + + +static gpointer data_collection_parent_class = NULL; +static gpointer data_collection_marker_impl_parent_class = NULL; +static MarkerIface* data_collection_marker_impl_marker_parent_iface = NULL; + +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 data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +gpointer data_set_ref (gpointer instance); +void data_set_unref (gpointer instance); +GParamSpec* param_spec_data_set (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_set (GValue* value, gpointer v_object); +void value_take_data_set (GValue* value, gpointer v_object); +gpointer value_get_data_set (const GValue* value); +GType data_set_get_type (void) G_GNUC_CONST; +#define DATA_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DATA_COLLECTION, DataCollectionPrivate)) +enum { + DATA_COLLECTION_DUMMY_PROPERTY +}; +DataSet* data_set_new (void); +DataSet* data_set_construct (GType object_type); +static GValue* _g_value_dup (GValue* self); +static void _vala_GValue_free (GValue* self); +#define DATA_COLLECTION_INVALID_OBJECT_ORDINAL ((gint64) -1) +DataCollection* data_collection_new (const gchar* name); +DataCollection* data_collection_construct (GType object_type, const gchar* name); +gchar* data_collection_to_string (DataCollection* self); +static gchar* data_collection_real_to_string (DataCollection* self); +gint data_collection_get_count (DataCollection* self); +void data_collection_notify_items_added (DataCollection* self, GeeIterable* added); +static void data_collection_real_notify_items_added (DataCollection* self, GeeIterable* added); +void data_collection_notify_items_removed (DataCollection* self, GeeIterable* removed); +static void data_collection_real_notify_items_removed (DataCollection* self, GeeIterable* removed); +void data_collection_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed); +static void data_collection_real_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed); +void data_collection_notify_items_altered (DataCollection* self, GeeMap* items); +static void data_collection_real_notify_items_altered (DataCollection* self, GeeMap* items); +void data_collection_notify_ordering_changed (DataCollection* self); +static void data_collection_real_notify_ordering_changed (DataCollection* self); +void data_collection_notify_property_set (DataCollection* self, const gchar* name, GValue* old, GValue* val); +static void data_collection_real_notify_property_set (DataCollection* self, const gchar* name, GValue* old, GValue* val); +void data_collection_notify_property_cleared (DataCollection* self, const gchar* name); +static void data_collection_real_notify_property_cleared (DataCollection* self, const gchar* name); +GeeCollection* data_collection_get_singleton (DataObject* object); +SingletonCollection* singleton_collection_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer object); +SingletonCollection* singleton_collection_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer object); +GType singleton_collection_get_type (void) G_GNUC_CONST; +GeeMap* data_collection_get_alteration_singleton (DataObject* object, Alteration* alteration); +gboolean data_collection_valid_type (DataCollection* self, DataObject* object); +static gboolean data_collection_real_valid_type (DataCollection* self, DataObject* object); +Comparator data_collection_get_comparator (DataCollection* self, void** result_target); +Comparator data_set_get_comparator (DataSet* self, void** result_target); +ComparatorPredicate data_collection_get_comparator_predicate (DataCollection* self, void** result_target); +ComparatorPredicate data_set_get_comparator_predicate (DataSet* self, void** result_target); +void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +static void data_collection_real_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +void data_set_set_comparator (DataSet* self, Comparator user_comparator, void* user_comparator_target, ComparatorPredicate comparator_predicate, void* comparator_predicate_target); +void data_collection_reset_comparator (DataCollection* self); +static void data_collection_real_reset_comparator (DataCollection* self); +void data_set_reset_comparator (DataSet* self); +GeeCollection* data_collection_get_all (DataCollection* self); +static GeeCollection* data_collection_real_get_all (DataCollection* self); +GeeList* data_set_get_all (DataSet* self); +DataSet* data_collection_get_dataset_copy (DataCollection* self); +DataSet* data_set_copy (DataSet* self); +static gint data_collection_real_get_count (DataCollection* self); +gint data_set_get_count (DataSet* self); +DataObject* data_collection_get_at (DataCollection* self, gint index); +static DataObject* data_collection_real_get_at (DataCollection* self, gint index); +DataObject* data_set_get_at (DataSet* self, gint index); +gint data_collection_index_of (DataCollection* self, DataObject* object); +static gint data_collection_real_index_of (DataCollection* self, DataObject* object); +gint data_set_index_of (DataSet* self, DataObject* object); +gboolean data_collection_contains (DataCollection* self, DataObject* object); +static gboolean data_collection_real_contains (DataCollection* self, DataObject* object); +static gboolean data_collection_internal_contains (DataCollection* self, DataObject* object); +gboolean data_set_contains (DataSet* self, DataObject* object); +DataCollection* data_object_get_membership (DataObject* self); +static void data_collection_internal_add (DataCollection* self, DataObject* object); +void data_object_internal_set_membership (DataObject* self, DataCollection* collection, gint64 ordinal); +gboolean data_set_add (DataSet* self, DataObject* object); +static void data_collection_internal_add_many (DataCollection* self, GeeList* objects, ProgressMonitor monitor, void* monitor_target); +gboolean data_set_add_many (DataSet* self, GeeCollection* objects); +static void data_collection_internal_remove (DataCollection* self, DataObject* object); +gboolean data_set_remove (DataSet* self, DataObject* object); +void data_object_internal_clear_membership (DataObject* self); +gboolean data_collection_add (DataCollection* self, DataObject* object); +static gboolean data_collection_real_add (DataCollection* self, DataObject* object); +gchar* data_object_to_string (DataObject* self); +void data_object_notify_membership_changed (DataObject* self, DataCollection* collection); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +static GeeCollection* data_collection_real_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +Marker* data_collection_start_marking (DataCollection* self); +static DataCollectionMarkerImpl* data_collection_marker_impl_new (DataCollection* owner); +static DataCollectionMarkerImpl* data_collection_marker_impl_construct (GType object_type, DataCollection* owner); +static GType data_collection_marker_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +Marker* data_collection_mark (DataCollection* self, DataObject* object); +void marker_mark (Marker* self, DataObject* object); +Marker* data_collection_mark_many (DataCollection* self, GeeCollection* objects); +void marker_mark_many (Marker* self, GeeCollection* list); +void data_collection_act_on_marked (DataCollection* self, Marker* m, MarkedAction action, void* action_target, ProgressMonitor monitor, void* monitor_target, GObject* user); +static gboolean data_collection_marker_impl_is_valid (DataCollectionMarkerImpl* self, DataCollection* collection); +static void data_collection_marker_impl_freeze (DataCollectionMarkerImpl* self); +static void data_collection_marker_impl_finished (DataCollectionMarkerImpl* self); +void data_collection_remove_marked (DataCollection* self, Marker* m); +static void data_collection_real_remove_marked (DataCollection* self, Marker* m); +void data_collection_clear (DataCollection* self); +static void data_collection_real_clear (DataCollection* self); +void data_collection_close (DataCollection* self); +static void data_collection_real_close (DataCollection* self); +void data_collection_internal_notify_altered (DataCollection* self, DataObject* object, Alteration* alteration); +gboolean data_set_resort_object (DataSet* self, DataObject* object, Alteration* alteration); +gboolean data_collection_are_notifications_frozen (DataCollection* self); +Alteration* alteration_compress (Alteration* self, Alteration* other); +GValue* data_collection_get_property (DataCollection* self, const gchar* name); +void data_collection_set_property (DataCollection* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target); +gboolean bool_value_equals (GValue* a, GValue* b); +static gboolean _bool_value_equals_value_equal_func (GValue* a, GValue* b, gpointer self); +gboolean int_value_equals (GValue* a, GValue* b); +static gboolean _int_value_equals_value_equal_func (GValue* a, GValue* b, gpointer self); +void data_object_notify_collection_property_set (DataObject* self, const gchar* name, GValue* old, GValue* val); +void data_collection_clear_property (DataCollection* self, const gchar* name); +void data_object_notify_collection_property_cleared (DataObject* self, const gchar* name); +void data_collection_freeze_notifications (DataCollection* self); +void data_collection_notify_frozen (DataCollection* self); +void data_collection_thaw_notifications (DataCollection* self); +void data_collection_notify_thawed (DataCollection* self); +static void data_collection_real_notify_frozen (DataCollection* self); +static void data_collection_real_notify_thawed (DataCollection* self); +static void data_collection_real_items_added (DataCollection* self, GeeIterable* added); +static void data_collection_real_items_removed (DataCollection* self, GeeIterable* removed); +static void data_collection_real_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void data_collection_real_items_altered (DataCollection* self, GeeMap* items); +static void data_collection_real_ordering_changed (DataCollection* self); +static void data_collection_real_property_set (DataCollection* self, const gchar* name, GValue* old, GValue* val); +static void g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void data_collection_real_property_cleared (DataCollection* self, const gchar* name); +static void data_collection_real_frozen (DataCollection* self); +static void data_collection_real_thawed (DataCollection* self); +enum { + DATA_COLLECTION_MARKER_IMPL_DUMMY_PROPERTY +}; +static void data_collection_marker_impl_on_items_removed (DataCollectionMarkerImpl* self, GeeIterable* removed); +static void _data_collection_marker_impl_on_items_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self); +static void data_collection_marker_impl_real_mark (Marker* base, DataObject* object); +static void data_collection_marker_impl_real_unmark (Marker* base, DataObject* object); +static gboolean data_collection_marker_impl_real_toggle (Marker* base, DataObject* object); +static void data_collection_marker_impl_real_mark_many (Marker* base, GeeCollection* list); +static void data_collection_marker_impl_real_unmark_many (Marker* base, GeeCollection* list); +static void data_collection_marker_impl_real_mark_all (Marker* base); +static gint data_collection_marker_impl_real_get_count (Marker* base); +static GeeCollection* data_collection_marker_impl_real_get_all (Marker* base); +static void data_collection_marker_impl_finalize (GObject* obj); +static void data_collection_finalize (DataCollection* obj); + + +static GValue* _g_value_dup (GValue* self) { +#line 109 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return g_boxed_copy (G_TYPE_VALUE, self); +#line 359 "DataCollection.c" +} + + +static void _vala_GValue_free (GValue* self) { +#line 109 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_value_unset (self); +#line 109 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_free (self); +#line 368 "DataCollection.c" +} + + +DataCollection* data_collection_construct (GType object_type, const gchar* name) { + DataCollection* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 157 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = (DataCollection*) g_type_create_instance (object_type); +#line 158 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = name; +#line 158 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 158 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_free0 (self->priv->name); +#line 158 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->name = _tmp1_; +#line 157 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return self; +#line 390 "DataCollection.c" +} + + +DataCollection* data_collection_new (const gchar* name) { +#line 157 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return data_collection_construct (TYPE_DATA_COLLECTION, name); +#line 397 "DataCollection.c" +} + + +static gchar* data_collection_real_to_string (DataCollection* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar* _tmp2_ = NULL; +#line 168 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->name; +#line 168 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_collection_get_count (self); +#line 168 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = g_strdup_printf ("%s (%d)", _tmp0_, _tmp1_); +#line 168 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp2_; +#line 168 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 416 "DataCollection.c" +} + + +gchar* data_collection_to_string (DataCollection* self) { +#line 167 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 167 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->to_string (self); +#line 425 "DataCollection.c" +} + + +static void data_collection_real_notify_items_added (DataCollection* self, GeeIterable* added) { + GeeIterable* _tmp0_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 173 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = added; +#line 173 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "items-added", _tmp0_); +#line 437 "DataCollection.c" +} + + +void data_collection_notify_items_added (DataCollection* self, GeeIterable* added) { +#line 172 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 172 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_items_added (self, added); +#line 446 "DataCollection.c" +} + + +static void data_collection_real_notify_items_removed (DataCollection* self, GeeIterable* removed) { + GeeIterable* _tmp0_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 177 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = removed; +#line 177 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "items-removed", _tmp0_); +#line 458 "DataCollection.c" +} + + +void data_collection_notify_items_removed (DataCollection* self, GeeIterable* removed) { +#line 176 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 176 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_items_removed (self, removed); +#line 467 "DataCollection.c" +} + + +static void data_collection_real_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed) { + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 180 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 182 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = added; +#line 182 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = removed; +#line 182 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "contents-altered", _tmp0_, _tmp1_); +#line 484 "DataCollection.c" +} + + +void data_collection_notify_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed) { +#line 180 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 180 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_contents_altered (self, added, removed); +#line 493 "DataCollection.c" +} + + +static void data_collection_real_notify_items_altered (DataCollection* self, GeeMap* items) { + GeeMap* _tmp0_ = NULL; +#line 185 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 186 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = items; +#line 186 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "items-altered", _tmp0_); +#line 505 "DataCollection.c" +} + + +void data_collection_notify_items_altered (DataCollection* self, GeeMap* items) { +#line 185 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 185 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_items_altered (self, items); +#line 514 "DataCollection.c" +} + + +static void data_collection_real_notify_ordering_changed (DataCollection* self) { +#line 190 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "ordering-changed"); +#line 521 "DataCollection.c" +} + + +void data_collection_notify_ordering_changed (DataCollection* self) { +#line 189 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 189 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_ordering_changed (self); +#line 530 "DataCollection.c" +} + + +static void data_collection_real_notify_property_set (DataCollection* self, const gchar* name, GValue* old, GValue* val) { + const gchar* _tmp0_ = NULL; + GValue* _tmp1_ = NULL; + GValue _tmp2_ = {0}; +#line 193 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (name != NULL); +#line 193 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (val != NULL); +#line 194 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = name; +#line 194 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = old; +#line 194 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = *val; +#line 194 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "property-set", _tmp0_, _tmp1_, &_tmp2_); +#line 550 "DataCollection.c" +} + + +void data_collection_notify_property_set (DataCollection* self, const gchar* name, GValue* old, GValue* val) { +#line 193 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 193 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_property_set (self, name, old, val); +#line 559 "DataCollection.c" +} + + +static void data_collection_real_notify_property_cleared (DataCollection* self, const gchar* name) { + const gchar* _tmp0_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (name != NULL); +#line 198 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = name; +#line 198 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "property-cleared", _tmp0_); +#line 571 "DataCollection.c" +} + + +void data_collection_notify_property_cleared (DataCollection* self, const gchar* name) { +#line 197 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 197 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_property_cleared (self, name); +#line 580 "DataCollection.c" +} + + +GeeCollection* data_collection_get_singleton (DataObject* object) { + GeeCollection* result = NULL; + DataObject* _tmp0_ = NULL; + SingletonCollection* _tmp1_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), NULL); +#line 207 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = object; +#line 207 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = singleton_collection_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp0_); +#line 207 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 207 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 598 "DataCollection.c" +} + + +GeeMap* data_collection_get_alteration_singleton (DataObject* object, Alteration* alteration) { + GeeMap* result = NULL; + GeeMap* map = NULL; + GeeHashMap* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + Alteration* _tmp2_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), NULL); +#line 210 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), NULL); +#line 212 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = gee_hash_map_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_ALTERATION, (GBoxedCopyFunc) alteration_ref, alteration_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 212 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + map = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap); +#line 213 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = object; +#line 213 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = alteration; +#line 213 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_map_set (map, _tmp1_, _tmp2_); +#line 215 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = map; +#line 215 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 626 "DataCollection.c" +} + + +static gboolean data_collection_real_valid_type (DataCollection* self, DataObject* object) { + gboolean result = FALSE; +#line 218 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 219 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = TRUE; +#line 219 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 638 "DataCollection.c" +} + + +gboolean data_collection_valid_type (DataCollection* self, DataObject* object) { +#line 218 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), FALSE); +#line 218 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->valid_type (self, object); +#line 647 "DataCollection.c" +} + + +Comparator data_collection_get_comparator (DataCollection* self, void** result_target) { + Comparator result = NULL; + DataSet* _tmp0_ = NULL; + void* _tmp1_ = NULL; + Comparator _tmp2_ = NULL; + Comparator _tmp3_ = NULL; + void* _tmp3__target = NULL; +#line 222 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 223 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 223 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_set_get_comparator (_tmp0_, &_tmp1_); +#line 223 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = _tmp2_; +#line 223 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3__target = _tmp1_; +#line 223 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + *result_target = _tmp3__target; +#line 223 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp3_; +#line 223 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 674 "DataCollection.c" +} + + +ComparatorPredicate data_collection_get_comparator_predicate (DataCollection* self, void** result_target) { + ComparatorPredicate result = NULL; + DataSet* _tmp0_ = NULL; + void* _tmp1_ = NULL; + ComparatorPredicate _tmp2_ = NULL; + ComparatorPredicate _tmp3_ = NULL; + void* _tmp3__target = NULL; +#line 226 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 227 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 227 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_set_get_comparator_predicate (_tmp0_, &_tmp1_); +#line 227 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = _tmp2_; +#line 227 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3__target = _tmp1_; +#line 227 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + *result_target = _tmp3__target; +#line 227 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp3_; +#line 227 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 701 "DataCollection.c" +} + + +static void data_collection_real_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target) { + DataSet* _tmp0_ = NULL; + Comparator _tmp1_ = NULL; + void* _tmp1__target = NULL; + ComparatorPredicate _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 231 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 231 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = comparator; +#line 231 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1__target = comparator_target; +#line 231 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = predicate; +#line 231 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2__target = predicate_target; +#line 231 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_set_set_comparator (_tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp2__target); +#line 232 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_ordering_changed (self); +#line 725 "DataCollection.c" +} + + +void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target) { +#line 230 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 230 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->set_comparator (self, comparator, comparator_target, predicate, predicate_target); +#line 734 "DataCollection.c" +} + + +static void data_collection_real_reset_comparator (DataCollection* self) { + DataSet* _tmp0_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 237 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_set_reset_comparator (_tmp0_); +#line 238 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_ordering_changed (self); +#line 746 "DataCollection.c" +} + + +void data_collection_reset_comparator (DataCollection* self) { +#line 236 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 236 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->reset_comparator (self); +#line 755 "DataCollection.c" +} + + +static GeeCollection* data_collection_real_get_all (DataCollection* self) { + GeeCollection* result = NULL; + DataSet* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 242 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 242 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_set_get_all (_tmp0_); +#line 242 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 242 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 771 "DataCollection.c" +} + + +GeeCollection* data_collection_get_all (DataCollection* self) { +#line 241 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 241 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->get_all (self); +#line 780 "DataCollection.c" +} + + +DataSet* data_collection_get_dataset_copy (DataCollection* self) { + DataSet* result = NULL; + DataSet* _tmp0_ = NULL; + DataSet* _tmp1_ = NULL; +#line 245 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 246 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 246 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_set_copy (_tmp0_); +#line 246 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp1_; +#line 246 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 798 "DataCollection.c" +} + + +static gint data_collection_real_get_count (DataCollection* self) { + gint result = 0; + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 250 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 250 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_set_get_count (_tmp0_); +#line 250 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp1_; +#line 250 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 814 "DataCollection.c" +} + + +gint data_collection_get_count (DataCollection* self) { +#line 249 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), 0); +#line 249 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->get_count (self); +#line 823 "DataCollection.c" +} + + +static DataObject* data_collection_real_get_at (DataCollection* self, gint index) { + DataObject* result = NULL; + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; + DataObject* _tmp2_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 254 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = index; +#line 254 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_set_get_at (_tmp0_, _tmp1_); +#line 254 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp2_; +#line 254 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 842 "DataCollection.c" +} + + +DataObject* data_collection_get_at (DataCollection* self, gint index) { +#line 253 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 253 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->get_at (self, index); +#line 851 "DataCollection.c" +} + + +static gint data_collection_real_index_of (DataCollection* self, DataObject* object) { + gint result = 0; + DataSet* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 257 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), 0); +#line 258 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 258 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = object; +#line 258 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_set_index_of (_tmp0_, _tmp1_); +#line 258 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp2_; +#line 258 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 872 "DataCollection.c" +} + + +gint data_collection_index_of (DataCollection* self, DataObject* object) { +#line 257 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), 0); +#line 257 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->index_of (self, object); +#line 881 "DataCollection.c" +} + + +static gboolean data_collection_real_contains (DataCollection* self, DataObject* object) { + gboolean result = FALSE; + DataObject* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 261 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 262 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = object; +#line 262 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_collection_internal_contains (self, _tmp0_); +#line 262 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp1_; +#line 262 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 899 "DataCollection.c" +} + + +gboolean data_collection_contains (DataCollection* self, DataObject* object) { +#line 261 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), FALSE); +#line 261 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->contains (self, object); +#line 908 "DataCollection.c" +} + + +static gboolean data_collection_internal_contains (DataCollection* self, DataObject* object) { + gboolean result = FALSE; + DataSet* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + DataObject* _tmp3_ = NULL; + DataCollection* _tmp4_ = NULL; + DataCollection* _tmp5_ = NULL; +#line 267 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), FALSE); +#line 267 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 268 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 268 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = object; +#line 268 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_set_contains (_tmp0_, _tmp1_); +#line 268 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp2_) { +#line 269 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = FALSE; +#line 269 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 936 "DataCollection.c" + } +#line 271 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = object; +#line 271 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = data_object_get_membership (_tmp3_); +#line 271 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = _tmp4_; +#line 271 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp5_ == self, "object.get_membership() == this"); +#line 271 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _data_collection_unref0 (_tmp5_); +#line 273 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = TRUE; +#line 273 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 952 "DataCollection.c" +} + + +static void data_collection_internal_add (DataCollection* self, DataObject* object) { + DataObject* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + DataObject* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; + gboolean added = FALSE; + DataSet* _tmp4_ = NULL; + DataObject* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 276 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 276 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_OBJECT (object)); +#line 277 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = object; +#line 277 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_collection_valid_type (self, _tmp0_); +#line 277 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp1_, "valid_type(object)"); +#line 279 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = object; +#line 279 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = self->priv->object_ordinal_generator; +#line 279 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->object_ordinal_generator = _tmp3_ + 1; +#line 279 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_internal_set_membership (_tmp2_, self, _tmp3_); +#line 281 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = self->priv->dataset; +#line 281 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = object; +#line 281 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = data_set_add (_tmp4_, _tmp5_); +#line 281 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + added = _tmp6_; +#line 282 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (added, "added"); +#line 993 "DataCollection.c" +} + + +static void data_collection_internal_add_many (DataCollection* self, GeeList* objects, ProgressMonitor monitor, void* monitor_target) { + gint count = 0; + GeeList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean added = FALSE; + DataSet* _tmp18_ = NULL; + GeeList* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 285 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 285 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_LIST (objects)); +#line 286 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = objects; +#line 286 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 286 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = _tmp1_; +#line 286 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + count = _tmp2_; +#line 1018 "DataCollection.c" + { + gint ctr = 0; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ctr = 0; +#line 1023 "DataCollection.c" + { + gboolean _tmp3_ = FALSE; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = TRUE; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 1030 "DataCollection.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + DataObject* object = NULL; + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gpointer _tmp9_ = NULL; + DataObject* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + DataObject* _tmp12_ = NULL; + gint64 _tmp13_ = 0LL; + ProgressMonitor _tmp14_ = NULL; + void* _tmp14__target = NULL; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp3_) { +#line 1045 "DataCollection.c" + gint _tmp4_ = 0; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = ctr; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ctr = _tmp4_ + 1; +#line 1051 "DataCollection.c" + } +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = FALSE; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = ctr; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = count; +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!(_tmp5_ < _tmp6_)) { +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 1063 "DataCollection.c" + } +#line 288 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = objects; +#line 288 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = ctr; +#line 288 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = gee_list_get (_tmp7_, _tmp8_); +#line 288 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp9_; +#line 289 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = object; +#line 289 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = data_collection_valid_type (self, _tmp10_); +#line 289 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp11_, "valid_type(object)"); +#line 291 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = object; +#line 291 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp13_ = self->priv->object_ordinal_generator; +#line 291 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->object_ordinal_generator = _tmp13_ + 1; +#line 291 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_internal_set_membership (_tmp12_, self, _tmp13_); +#line 293 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14_ = monitor; +#line 293 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14__target = monitor_target; +#line 293 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp14_ != NULL) { +#line 1093 "DataCollection.c" + ProgressMonitor _tmp15_ = NULL; + void* _tmp15__target = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 294 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15_ = monitor; +#line 294 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15__target = monitor_target; +#line 294 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp16_ = ctr; +#line 294 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp17_ = count; +#line 294 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15_ ((guint64) _tmp16_, (guint64) _tmp17_, TRUE, _tmp15__target); +#line 1108 "DataCollection.c" + } +#line 287 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 1112 "DataCollection.c" + } + } + } +#line 297 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp18_ = self->priv->dataset; +#line 297 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp19_ = objects; +#line 297 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp20_ = data_set_add_many (_tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 297 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + added = _tmp20_; +#line 298 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (added, "added"); +#line 1126 "DataCollection.c" +} + + +static void data_collection_internal_remove (DataCollection* self, DataObject* object) { + gboolean removed = FALSE; + DataSet* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + DataObject* _tmp3_ = NULL; +#line 301 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 301 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_OBJECT (object)); +#line 302 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 302 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = object; +#line 302 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_set_remove (_tmp0_, _tmp1_); +#line 302 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + removed = _tmp2_; +#line 303 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (removed, "removed"); +#line 305 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = object; +#line 305 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_internal_clear_membership (_tmp3_); +#line 1154 "DataCollection.c" +} + + +static gboolean data_collection_real_add (DataCollection* self, DataObject* object) { + gboolean result = FALSE; + DataObject* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + DataObject* _tmp7_ = NULL; + GeeCollection* added = NULL; + DataObject* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; + DataObject* _tmp12_ = NULL; +#line 309 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 310 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = object; +#line 310 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_collection_internal_contains (self, _tmp0_); +#line 310 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp1_) { +#line 1177 "DataCollection.c" + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + DataObject* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_collection_to_string (self); +#line 311 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = _tmp2_; +#line 311 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = object; +#line 311 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = data_object_to_string (_tmp4_); +#line 311 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = _tmp5_; +#line 311 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_debug ("DataCollection.vala:311: %s cannot add %s: already present", _tmp3_, _tmp6_); +#line 311 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_free0 (_tmp6_); +#line 311 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_free0 (_tmp3_); +#line 313 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = FALSE; +#line 313 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 1203 "DataCollection.c" + } +#line 316 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = object; +#line 316 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_internal_add (self, _tmp7_); +#line 319 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = object; +#line 319 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = data_collection_get_singleton (_tmp8_); +#line 319 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + added = _tmp9_; +#line 320 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = added; +#line 320 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_items_added (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 321 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = added; +#line 321 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_contents_altered (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable), NULL); +#line 324 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = object; +#line 324 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_notify_membership_changed (_tmp12_, self); +#line 326 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = TRUE; +#line 326 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (added); +#line 326 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 1233 "DataCollection.c" +} + + +gboolean data_collection_add (DataCollection* self, DataObject* object) { +#line 309 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), FALSE); +#line 309 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->add (self, object); +#line 1242 "DataCollection.c" +} + + +static GeeCollection* data_collection_real_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target) { + GeeCollection* result = NULL; + GeeArrayList* added = NULL; + GeeArrayList* _tmp0_ = NULL; + gint count = 0; + GeeArrayList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GeeArrayList* _tmp20_ = NULL; + ProgressMonitor _tmp21_ = NULL; + void* _tmp21__target = NULL; + GeeArrayList* _tmp22_ = NULL; + GeeArrayList* _tmp23_ = NULL; +#line 330 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (objects), NULL); +#line 332 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 332 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + added = _tmp0_; +#line 1266 "DataCollection.c" + { + GeeIterator* _object_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = objects; +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_it = _tmp2_; +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 1279 "DataCollection.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GeeArrayList* _tmp14_ = NULL; + DataObject* _tmp15_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = _object_it; +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp4_) { +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 1297 "DataCollection.c" + } +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = _object_it; +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp6_; +#line 334 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = object; +#line 334 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = data_collection_internal_contains (self, _tmp7_); +#line 334 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp8_) { +#line 1311 "DataCollection.c" + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = data_collection_to_string (self); +#line 335 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = _tmp9_; +#line 335 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = object; +#line 335 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = data_object_to_string (_tmp11_); +#line 335 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp13_ = _tmp12_; +#line 335 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_debug ("DataCollection.vala:335: %s cannot add %s: already present", _tmp10_, _tmp13_); +#line 335 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_free0 (_tmp13_); +#line 335 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_free0 (_tmp10_); +#line 337 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 337 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + continue; +#line 1337 "DataCollection.c" + } +#line 340 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14_ = added; +#line 340 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15_ = object; +#line 340 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_); +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 1347 "DataCollection.c" + } +#line 333 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_it); +#line 1351 "DataCollection.c" + } +#line 343 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp16_ = added; +#line 343 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp17_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 343 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp18_ = _tmp17_; +#line 343 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + count = _tmp18_; +#line 344 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp19_ = count; +#line 344 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp19_ == 0) { +#line 345 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (added, GEE_TYPE_COLLECTION, GeeCollection); +#line 345 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 1369 "DataCollection.c" + } +#line 347 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp20_ = added; +#line 347 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21_ = monitor; +#line 347 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21__target = monitor_target; +#line 347 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_internal_add_many (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_LIST, GeeList), _tmp21_, _tmp21__target); +#line 350 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp22_ = added; +#line 350 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_items_added (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 351 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp23_ = added; +#line 351 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_contents_altered (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ITERABLE, GeeIterable), NULL); +#line 1387 "DataCollection.c" + { + gint ctr = 0; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ctr = 0; +#line 1392 "DataCollection.c" + { + gboolean _tmp24_ = FALSE; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp24_ = TRUE; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 1399 "DataCollection.c" + gint _tmp26_ = 0; + gint _tmp27_ = 0; + GeeArrayList* _tmp28_ = NULL; + gint _tmp29_ = 0; + gpointer _tmp30_ = NULL; + DataObject* _tmp31_ = NULL; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp24_) { +#line 1408 "DataCollection.c" + gint _tmp25_ = 0; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp25_ = ctr; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ctr = _tmp25_ + 1; +#line 1414 "DataCollection.c" + } +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp24_ = FALSE; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp26_ = ctr; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp27_ = count; +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!(_tmp26_ < _tmp27_)) { +#line 354 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 1426 "DataCollection.c" + } +#line 355 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp28_ = added; +#line 355 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp29_ = ctr; +#line 355 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp30_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp29_); +#line 355 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp31_ = (DataObject*) _tmp30_; +#line 355 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_notify_membership_changed (_tmp31_, self); +#line 355 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_tmp31_); +#line 1440 "DataCollection.c" + } + } + } +#line 357 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (added, GEE_TYPE_COLLECTION, GeeCollection); +#line 357 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 1448 "DataCollection.c" +} + + +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target) { +#line 330 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 330 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return DATA_COLLECTION_GET_CLASS (self)->add_many (self, objects, monitor, monitor_target); +#line 1457 "DataCollection.c" +} + + +Marker* data_collection_start_marking (DataCollection* self) { + Marker* result = NULL; + DataCollectionMarkerImpl* _tmp0_ = NULL; +#line 361 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 362 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = data_collection_marker_impl_new (self); +#line 362 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MARKER, Marker); +#line 362 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 1472 "DataCollection.c" +} + + +Marker* data_collection_mark (DataCollection* self, DataObject* object) { + Marker* result = NULL; + Marker* marker = NULL; + DataCollectionMarkerImpl* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; +#line 366 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 366 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), NULL); +#line 367 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = data_collection_marker_impl_new (self); +#line 367 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + marker = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MARKER, Marker); +#line 368 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = object; +#line 368 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + marker_mark (marker, _tmp1_); +#line 370 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = marker; +#line 370 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 1497 "DataCollection.c" +} + + +Marker* data_collection_mark_many (DataCollection* self, GeeCollection* objects) { + Marker* result = NULL; + Marker* marker = NULL; + DataCollectionMarkerImpl* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 374 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 374 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (objects), NULL); +#line 375 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = data_collection_marker_impl_new (self); +#line 375 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + marker = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MARKER, Marker); +#line 376 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = objects; +#line 376 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + marker_mark_many (marker, _tmp1_); +#line 378 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = marker; +#line 378 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 1522 "DataCollection.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 385 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return self ? g_object_ref (self) : NULL; +#line 1529 "DataCollection.c" +} + + +void data_collection_act_on_marked (DataCollection* self, Marker* m, MarkedAction action, void* action_target, ProgressMonitor monitor, void* monitor_target, GObject* user) { + DataCollectionMarkerImpl* marker = NULL; + Marker* _tmp0_ = NULL; + DataCollectionMarkerImpl* _tmp1_ = NULL; + DataCollectionMarkerImpl* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataCollectionMarkerImpl* _tmp4_ = NULL; + guint64 count = 0ULL; + guint64 total = 0ULL; + DataCollectionMarkerImpl* _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + DataCollectionMarkerImpl* _tmp31_ = NULL; +#line 383 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 383 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_MARKER (m)); +#line 383 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail ((user == NULL) || G_IS_OBJECT (user)); +#line 385 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = m; +#line 385 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl)); +#line 385 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + marker = _tmp1_; +#line 387 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = marker; +#line 387 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = data_collection_marker_impl_is_valid (_tmp2_, self); +#line 387 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp3_, "marker.is_valid(this)"); +#line 390 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = marker; +#line 390 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_marker_impl_freeze (_tmp4_); +#line 392 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + count = (guint64) 0; +#line 393 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = marker; +#line 393 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = _tmp5_->marked; +#line 393 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 393 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = _tmp7_; +#line 393 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + total = (guint64) _tmp8_; +#line 1581 "DataCollection.c" + { + GeeIterator* _object_it = NULL; + DataCollectionMarkerImpl* _tmp9_ = NULL; + GeeHashSet* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = marker; +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = _tmp9_->marked; +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_it = _tmp11_; +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 1597 "DataCollection.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + DataObject* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + MarkedAction _tmp21_ = NULL; + void* _tmp21__target = NULL; + DataObject* _tmp22_ = NULL; + GObject* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + ProgressMonitor _tmp25_ = NULL; + void* _tmp25__target = NULL; +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = _object_it; +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp13_) { +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 1620 "DataCollection.c" + } +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14_ = _object_it; +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp15_; +#line 398 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp16_ = object; +#line 398 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp17_ = data_collection_internal_contains (self, _tmp16_); +#line 398 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp17_) { +#line 1634 "DataCollection.c" + DataObject* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 399 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp18_ = object; +#line 399 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp19_ = data_object_to_string (_tmp18_); +#line 399 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp20_ = _tmp19_; +#line 399 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_warning ("DataCollection.vala:399: act_on_marked: marker holding ref to unknown " \ +"%s", _tmp20_); +#line 399 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_free0 (_tmp20_); +#line 401 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 401 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + continue; +#line 1652 "DataCollection.c" + } +#line 404 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21_ = action; +#line 404 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21__target = action_target; +#line 404 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp22_ = object; +#line 404 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp23_ = user; +#line 404 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp24_ = _tmp21_ (_tmp22_, _tmp23_, _tmp21__target); +#line 404 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp24_) { +#line 405 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 405 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 1670 "DataCollection.c" + } +#line 407 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp25_ = monitor; +#line 407 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp25__target = monitor_target; +#line 407 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp25_ != NULL) { +#line 1678 "DataCollection.c" + ProgressMonitor _tmp26_ = NULL; + void* _tmp26__target = NULL; + guint64 _tmp27_ = 0ULL; + guint64 _tmp28_ = 0ULL; + guint64 _tmp29_ = 0ULL; + gboolean _tmp30_ = FALSE; +#line 408 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp26_ = monitor; +#line 408 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp26__target = monitor_target; +#line 408 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp27_ = count; +#line 408 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + count = _tmp27_ + 1; +#line 408 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp28_ = count; +#line 408 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp29_ = total; +#line 408 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp30_ = _tmp26_ (_tmp28_, _tmp29_, TRUE, _tmp26__target); +#line 408 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp30_) { +#line 409 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 409 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 1705 "DataCollection.c" + } + } +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 1710 "DataCollection.c" + } +#line 396 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_it); +#line 1714 "DataCollection.c" + } +#line 414 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp31_ = marker; +#line 414 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_marker_impl_finished (_tmp31_); +#line 383 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (marker); +#line 1722 "DataCollection.c" +} + + +static void data_collection_real_remove_marked (DataCollection* self, Marker* m) { + DataCollectionMarkerImpl* marker = NULL; + Marker* _tmp0_ = NULL; + DataCollectionMarkerImpl* _tmp1_ = NULL; + DataCollectionMarkerImpl* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataCollectionMarkerImpl* _tmp4_ = NULL; + GeeArrayList* skipped = NULL; + GeeArrayList* _tmp22_ = NULL; + DataCollectionMarkerImpl* _tmp26_ = NULL; + GeeHashSet* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + DataCollectionMarkerImpl* _tmp42_ = NULL; +#line 419 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_MARKER (m)); +#line 420 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = m; +#line 420 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl)); +#line 420 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + marker = _tmp1_; +#line 422 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = marker; +#line 422 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = data_collection_marker_impl_is_valid (_tmp2_, self); +#line 422 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp3_, "marker.is_valid(this)"); +#line 425 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = marker; +#line 425 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_marker_impl_freeze (_tmp4_); +#line 428 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + skipped = NULL; +#line 1760 "DataCollection.c" + { + GeeIterator* _object_it = NULL; + DataCollectionMarkerImpl* _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = marker; +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = _tmp5_->marked; +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_it = _tmp7_; +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 1776 "DataCollection.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + DataObject* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + DataObject* _tmp21_ = NULL; +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = _object_it; +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp9_) { +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 1793 "DataCollection.c" + } +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = _object_it; +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp11_; +#line 431 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = object; +#line 431 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp13_ = data_collection_internal_contains (self, _tmp12_); +#line 431 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp13_) { +#line 1807 "DataCollection.c" + DataObject* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GeeArrayList* _tmp17_ = NULL; + GeeArrayList* _tmp19_ = NULL; + DataObject* _tmp20_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14_ = object; +#line 432 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15_ = data_object_to_string (_tmp14_); +#line 432 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp16_ = _tmp15_; +#line 432 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_warning ("DataCollection.vala:432: remove_marked: marker holding ref to unknown " \ +"%s", _tmp16_); +#line 432 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_free0 (_tmp16_); +#line 434 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp17_ = skipped; +#line 434 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp17_ == NULL) { +#line 1828 "DataCollection.c" + GeeArrayList* _tmp18_ = NULL; +#line 435 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp18_ = gee_array_list_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 435 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (skipped); +#line 435 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + skipped = _tmp18_; +#line 1836 "DataCollection.c" + } +#line 437 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp19_ = skipped; +#line 437 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp20_ = object; +#line 437 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp20_); +#line 439 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 439 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + continue; +#line 1848 "DataCollection.c" + } +#line 442 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21_ = object; +#line 442 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_internal_remove (self, _tmp21_); +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 1856 "DataCollection.c" + } +#line 429 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_it); +#line 1860 "DataCollection.c" + } +#line 445 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp22_ = skipped; +#line 445 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp22_ != NULL) { +#line 1866 "DataCollection.c" + DataCollectionMarkerImpl* _tmp23_ = NULL; + GeeHashSet* _tmp24_ = NULL; + GeeArrayList* _tmp25_ = NULL; +#line 446 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp23_ = marker; +#line 446 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp24_ = _tmp23_->marked; +#line 446 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp25_ = skipped; +#line 446 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1878 "DataCollection.c" + } +#line 449 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp26_ = marker; +#line 449 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp27_ = _tmp26_->marked; +#line 449 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp28_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 449 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp29_ = _tmp28_; +#line 449 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp29_ > 0) { +#line 1890 "DataCollection.c" + DataCollectionMarkerImpl* _tmp30_ = NULL; + GeeHashSet* _tmp31_ = NULL; + DataCollectionMarkerImpl* _tmp32_ = NULL; + GeeHashSet* _tmp33_ = NULL; +#line 450 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp30_ = marker; +#line 450 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp31_ = _tmp30_->marked; +#line 450 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_items_removed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 451 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp32_ = marker; +#line 451 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp33_ = _tmp32_->marked; +#line 451 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_contents_altered (self, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1907 "DataCollection.c" + { + GeeIterator* _object_it = NULL; + DataCollectionMarkerImpl* _tmp34_ = NULL; + GeeHashSet* _tmp35_ = NULL; + GeeIterator* _tmp36_ = NULL; +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp34_ = marker; +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp35_ = _tmp34_->marked; +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp36_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_it = _tmp36_; +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 1923 "DataCollection.c" + GeeIterator* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp39_ = NULL; + gpointer _tmp40_ = NULL; + DataObject* _tmp41_ = NULL; +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp37_ = _object_it; +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp38_ = gee_iterator_next (_tmp37_); +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp38_) { +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 1938 "DataCollection.c" + } +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp39_ = _object_it; +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp40_ = gee_iterator_get (_tmp39_); +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp40_; +#line 455 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp41_ = object; +#line 455 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_notify_membership_changed (_tmp41_, NULL); +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 1952 "DataCollection.c" + } +#line 454 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_it); +#line 1956 "DataCollection.c" + } + } +#line 459 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp42_ = marker; +#line 459 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_marker_impl_finished (_tmp42_); +#line 419 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (skipped); +#line 419 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (marker); +#line 1967 "DataCollection.c" +} + + +void data_collection_remove_marked (DataCollection* self, Marker* m) { +#line 419 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 419 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->remove_marked (self, m); +#line 1976 "DataCollection.c" +} + + +static void data_collection_real_clear (DataCollection* self) { + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; + GeeArrayList* removed = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; +#line 463 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->dataset; +#line 463 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_set_get_count (_tmp0_); +#line 463 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp1_ == 0) { +#line 464 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return; +#line 1995 "DataCollection.c" + } +#line 468 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = gee_array_list_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 468 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + removed = _tmp2_; +#line 2001 "DataCollection.c" + { + gboolean _tmp3_ = FALSE; +#line 469 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = TRUE; +#line 469 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 2008 "DataCollection.c" + DataObject* object = NULL; + DataSet* _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; + DataObject* _tmp8_ = NULL; + GeeArrayList* _tmp9_ = NULL; + DataObject* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; +#line 469 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp3_) { +#line 2018 "DataCollection.c" + DataSet* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 475 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = self->priv->dataset; +#line 475 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = data_set_get_count (_tmp4_); +#line 475 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!(_tmp5_ > 0)) { +#line 475 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 2029 "DataCollection.c" + } + } +#line 469 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = FALSE; +#line 470 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = self->priv->dataset; +#line 470 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = data_set_get_at (_tmp6_, 0); +#line 470 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = _tmp7_; +#line 471 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = object; +#line 471 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp8_ != NULL, "object != null"); +#line 473 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = removed; +#line 473 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = object; +#line 473 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 474 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = object; +#line 474 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_internal_remove (self, _tmp11_); +#line 469 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 2056 "DataCollection.c" + } + } +#line 478 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = removed; +#line 478 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_items_removed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 479 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp13_ = removed; +#line 479 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_contents_altered (self, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 2067 "DataCollection.c" + { + GeeArrayList* _object_list = NULL; + GeeArrayList* _tmp14_ = NULL; + GeeArrayList* _tmp15_ = NULL; + gint _object_size = 0; + GeeArrayList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _object_index = 0; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14_ = removed; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_list = _tmp15_; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp16_ = _object_list; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp17_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp18_ = _tmp17_; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_size = _tmp18_; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_index = -1; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 2095 "DataCollection.c" + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + DataObject* object = NULL; + GeeArrayList* _tmp22_ = NULL; + gint _tmp23_ = 0; + gpointer _tmp24_ = NULL; + DataObject* _tmp25_ = NULL; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp19_ = _object_index; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_index = _tmp19_ + 1; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp20_ = _object_index; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21_ = _object_size; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!(_tmp20_ < _tmp21_)) { +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 2116 "DataCollection.c" + } +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp22_ = _object_list; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp23_ = _object_index; +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp24_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp23_); +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp24_; +#line 483 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp25_ = object; +#line 483 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_notify_membership_changed (_tmp25_, NULL); +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 2132 "DataCollection.c" + } +#line 482 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_list); +#line 2136 "DataCollection.c" + } +#line 462 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (removed); +#line 2140 "DataCollection.c" +} + + +void data_collection_clear (DataCollection* self) { +#line 462 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 462 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->clear (self); +#line 2149 "DataCollection.c" +} + + +static void data_collection_real_close (DataCollection* self) { +#line 493 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_clear (self); +#line 2156 "DataCollection.c" +} + + +void data_collection_close (DataCollection* self) { +#line 492 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 492 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->close (self); +#line 2165 "DataCollection.c" +} + + +static gpointer _alteration_ref0 (gpointer self) { +#line 513 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return self ? alteration_ref (self) : NULL; +#line 2172 "DataCollection.c" +} + + +void data_collection_internal_notify_altered (DataCollection* self, DataObject* object, Alteration* alteration) { + DataObject* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean resort_occurred = FALSE; + DataSet* _tmp2_ = NULL; + DataObject* _tmp3_ = NULL; + Alteration* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp24_ = FALSE; + DataObject* _tmp25_ = NULL; + Alteration* _tmp26_ = NULL; + GeeMap* _tmp27_ = NULL; + GeeMap* _tmp28_ = NULL; +#line 498 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 498 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_OBJECT (object)); +#line 498 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 499 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = object; +#line 499 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_collection_internal_contains (self, _tmp0_); +#line 499 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp1_, "internal_contains(object)"); +#line 501 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = self->priv->dataset; +#line 501 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = object; +#line 501 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = alteration; +#line 501 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = data_set_resort_object (_tmp2_, _tmp3_, _tmp4_); +#line 501 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + resort_occurred = _tmp5_; +#line 503 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = data_collection_are_notifications_frozen (self); +#line 503 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp6_) { +#line 2216 "DataCollection.c" + GeeHashMap* _tmp7_ = NULL; + Alteration* current = NULL; + GeeHashMap* _tmp9_ = NULL; + DataObject* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + Alteration* _tmp12_ = NULL; + GeeHashMap* _tmp18_ = NULL; + DataObject* _tmp19_ = NULL; + Alteration* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; +#line 504 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = self->priv->frozen_items_altered; +#line 504 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp7_ == NULL) { +#line 2232 "DataCollection.c" + GeeHashMap* _tmp8_ = NULL; +#line 505 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = gee_hash_map_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_ALTERATION, (GBoxedCopyFunc) alteration_ref, alteration_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 505 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (self->priv->frozen_items_altered); +#line 505 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->frozen_items_altered = _tmp8_; +#line 2240 "DataCollection.c" + } +#line 509 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = self->priv->frozen_items_altered; +#line 509 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = object; +#line 509 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_); +#line 509 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + current = (Alteration*) _tmp11_; +#line 510 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = current; +#line 510 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp12_ != NULL) { +#line 2254 "DataCollection.c" + Alteration* _tmp13_ = NULL; + Alteration* _tmp14_ = NULL; + Alteration* _tmp15_ = NULL; +#line 511 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp13_ = current; +#line 511 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14_ = alteration; +#line 511 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15_ = alteration_compress (_tmp13_, _tmp14_); +#line 511 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _alteration_unref0 (current); +#line 511 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + current = _tmp15_; +#line 2268 "DataCollection.c" + } else { + Alteration* _tmp16_ = NULL; + Alteration* _tmp17_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp16_ = alteration; +#line 513 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp17_ = _alteration_ref0 (_tmp16_); +#line 513 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _alteration_unref0 (current); +#line 513 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + current = _tmp17_; +#line 2280 "DataCollection.c" + } +#line 515 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp18_ = self->priv->frozen_items_altered; +#line 515 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp19_ = object; +#line 515 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp20_ = current; +#line 515 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_, _tmp20_); +#line 517 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp22_ = self->priv->fire_ordering_changed; +#line 517 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp22_) { +#line 517 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21_ = TRUE; +#line 2296 "DataCollection.c" + } else { + gboolean _tmp23_ = FALSE; +#line 517 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp23_ = resort_occurred; +#line 517 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21_ = _tmp23_; +#line 2303 "DataCollection.c" + } +#line 517 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->fire_ordering_changed = _tmp21_; +#line 519 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _alteration_unref0 (current); +#line 519 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return; +#line 2311 "DataCollection.c" + } +#line 522 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp24_ = resort_occurred; +#line 522 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp24_) { +#line 523 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_ordering_changed (self); +#line 2319 "DataCollection.c" + } +#line 525 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp25_ = object; +#line 525 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp26_ = alteration; +#line 525 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp27_ = data_collection_get_alteration_singleton (_tmp25_, _tmp26_); +#line 525 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp28_ = _tmp27_; +#line 525 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_items_altered (self, _tmp28_); +#line 525 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_tmp28_); +#line 2333 "DataCollection.c" +} + + +GValue* data_collection_get_property (DataCollection* self, const gchar* name) { + GValue* result = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 528 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), NULL); +#line 528 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 529 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->properties; +#line 529 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = name; +#line 529 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 529 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = (GValue*) _tmp2_; +#line 529 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 2356 "DataCollection.c" +} + + +static gboolean _bool_value_equals_value_equal_func (GValue* a, GValue* b, gpointer self) { + gboolean result; + result = bool_value_equals (a, b); +#line 535 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 2365 "DataCollection.c" +} + + +static gboolean _int_value_equals_value_equal_func (GValue* a, GValue* b, gpointer self) { + gboolean result; + result = int_value_equals (a, b); +#line 537 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 2374 "DataCollection.c" +} + + +void data_collection_set_property (DataCollection* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target) { + ValueEqualFunc _tmp0_ = NULL; + void* _tmp0__target = NULL; + GValue* old = NULL; + GeeHashMap* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GValue* _tmp6_ = NULL; + GeeHashMap* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GValue _tmp14_ = {0}; + const gchar* _tmp15_ = NULL; + GValue* _tmp16_ = NULL; + GValue _tmp17_ = {0}; + gint count = 0; + DataSet* _tmp18_ = NULL; + gint _tmp19_ = 0; +#line 532 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 532 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (name != NULL); +#line 532 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (val != NULL); +#line 533 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = value_equals; +#line 533 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0__target = value_equals_target; +#line 533 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp0_ == NULL) { +#line 2407 "DataCollection.c" + gboolean _tmp1_ = FALSE; +#line 534 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = G_VALUE_HOLDS (val, G_TYPE_BOOLEAN); +#line 534 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp1_) { +#line 535 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value_equals = _bool_value_equals_value_equal_func; +#line 535 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value_equals_target = NULL; +#line 2417 "DataCollection.c" + } else { + gboolean _tmp2_ = FALSE; +#line 536 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = G_VALUE_HOLDS (val, G_TYPE_INT); +#line 536 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp2_) { +#line 537 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value_equals = _int_value_equals_value_equal_func; +#line 537 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value_equals_target = NULL; +#line 2428 "DataCollection.c" + } else { +#line 539 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_error ("DataCollection.vala:539: value_equals must be specified for this type"); +#line 2432 "DataCollection.c" + } + } + } +#line 542 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = self->priv->properties; +#line 542 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = name; +#line 542 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 542 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + old = (GValue*) _tmp5_; +#line 543 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = old; +#line 543 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp6_ != NULL) { +#line 2448 "DataCollection.c" + ValueEqualFunc _tmp7_ = NULL; + void* _tmp7__target = NULL; + GValue* _tmp8_ = NULL; + GValue _tmp9_ = {0}; + GValue _tmp10_ = {0}; + gboolean _tmp11_ = FALSE; +#line 544 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = value_equals; +#line 544 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7__target = value_equals_target; +#line 544 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = old; +#line 544 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = *val; +#line 544 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = *_tmp8_; +#line 544 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = _tmp7_ (&_tmp10_, &_tmp9_, _tmp7__target); +#line 544 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp11_) { +#line 545 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + __vala_GValue_free0 (old); +#line 545 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return; +#line 2473 "DataCollection.c" + } + } +#line 548 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = self->priv->properties; +#line 548 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp13_ = name; +#line 548 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14_ = *val; +#line 548 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_, &_tmp14_); +#line 550 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp15_ = name; +#line 550 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp16_ = old; +#line 550 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp17_ = *val; +#line 550 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_property_set (self, _tmp15_, _tmp16_, &_tmp17_); +#line 553 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp18_ = self->priv->dataset; +#line 553 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp19_ = data_set_get_count (_tmp18_); +#line 553 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + count = _tmp19_; +#line 2498 "DataCollection.c" + { + gint ctr = 0; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ctr = 0; +#line 2503 "DataCollection.c" + { + gboolean _tmp20_ = FALSE; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp20_ = TRUE; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 2510 "DataCollection.c" + gint _tmp22_ = 0; + gint _tmp23_ = 0; + DataSet* _tmp24_ = NULL; + gint _tmp25_ = 0; + DataObject* _tmp26_ = NULL; + DataObject* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GValue* _tmp29_ = NULL; + GValue _tmp30_ = {0}; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp20_) { +#line 2522 "DataCollection.c" + gint _tmp21_ = 0; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp21_ = ctr; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ctr = _tmp21_ + 1; +#line 2528 "DataCollection.c" + } +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp20_ = FALSE; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp22_ = ctr; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp23_ = count; +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!(_tmp22_ < _tmp23_)) { +#line 554 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 2540 "DataCollection.c" + } +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp24_ = self->priv->dataset; +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp25_ = ctr; +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp26_ = data_set_get_at (_tmp24_, _tmp25_); +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp27_ = _tmp26_; +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp28_ = name; +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp29_ = old; +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp30_ = *val; +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_notify_collection_property_set (_tmp27_, _tmp28_, _tmp29_, &_tmp30_); +#line 555 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_tmp27_); +#line 2560 "DataCollection.c" + } + } + } +#line 532 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + __vala_GValue_free0 (old); +#line 2566 "DataCollection.c" +} + + +void data_collection_clear_property (DataCollection* self, const gchar* name) { + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + gint count = 0; + DataSet* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 558 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 558 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (name != NULL); +#line 559 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->properties; +#line 559 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = name; +#line 559 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, NULL); +#line 559 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp2_) { +#line 560 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return; +#line 2592 "DataCollection.c" + } +#line 563 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = name; +#line 563 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_property_cleared (self, _tmp3_); +#line 566 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = self->priv->dataset; +#line 566 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = data_set_get_count (_tmp4_); +#line 566 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + count = _tmp5_; +#line 2604 "DataCollection.c" + { + gint ctr = 0; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ctr = 0; +#line 2609 "DataCollection.c" + { + gboolean _tmp6_ = FALSE; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = TRUE; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 2616 "DataCollection.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + DataSet* _tmp10_ = NULL; + gint _tmp11_ = 0; + DataObject* _tmp12_ = NULL; + DataObject* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp6_) { +#line 2626 "DataCollection.c" + gint _tmp7_ = 0; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = ctr; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ctr = _tmp7_ + 1; +#line 2632 "DataCollection.c" + } +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = FALSE; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = ctr; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = count; +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 567 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 2644 "DataCollection.c" + } +#line 568 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = self->priv->dataset; +#line 568 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = ctr; +#line 568 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = data_set_get_at (_tmp10_, _tmp11_); +#line 568 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp13_ = _tmp12_; +#line 568 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp14_ = name; +#line 568 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_object_notify_collection_property_cleared (_tmp13_, _tmp14_); +#line 568 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_tmp13_); +#line 2660 "DataCollection.c" + } + } + } +} + + +void data_collection_freeze_notifications (DataCollection* self) { + gint _tmp0_ = 0; +#line 581 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 582 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->notifies_frozen; +#line 582 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->notifies_frozen = _tmp0_ + 1; +#line 582 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp0_ == 0) { +#line 583 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_frozen (self); +#line 2679 "DataCollection.c" + } +} + + +void data_collection_thaw_notifications (DataCollection* self) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 586 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 587 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->notifies_frozen; +#line 587 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp0_ == 0) { +#line 588 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return; +#line 2696 "DataCollection.c" + } +#line 590 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = self->priv->notifies_frozen; +#line 590 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->notifies_frozen = _tmp1_ - 1; +#line 590 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = self->priv->notifies_frozen; +#line 590 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp2_ == 0) { +#line 591 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_thawed (self); +#line 2708 "DataCollection.c" + } +} + + +gboolean data_collection_are_notifications_frozen (DataCollection* self) { + gboolean result = FALSE; + gint _tmp0_ = 0; +#line 594 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (self), FALSE); +#line 595 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->notifies_frozen; +#line 595 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp0_ > 0; +#line 595 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 2724 "DataCollection.c" +} + + +static void data_collection_real_notify_frozen (DataCollection* self) { +#line 601 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "frozen"); +#line 2731 "DataCollection.c" +} + + +void data_collection_notify_frozen (DataCollection* self) { +#line 600 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 600 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_frozen (self); +#line 2740 "DataCollection.c" +} + + +static void data_collection_real_notify_thawed (DataCollection* self) { + GeeHashMap* _tmp0_ = NULL; + gboolean _tmp4_ = FALSE; +#line 607 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->priv->frozen_items_altered; +#line 607 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp0_ != NULL) { +#line 2751 "DataCollection.c" + GeeMap* copy = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeMap* _tmp2_ = NULL; + GeeMap* _tmp3_ = NULL; +#line 609 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = self->priv->frozen_items_altered; +#line 609 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MAP, GeeMap)); +#line 609 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + copy = _tmp2_; +#line 610 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (self->priv->frozen_items_altered); +#line 610 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->frozen_items_altered = NULL; +#line 612 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = copy; +#line 612 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_items_altered (self, _tmp3_); +#line 607 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (copy); +#line 2772 "DataCollection.c" + } +#line 615 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = self->priv->fire_ordering_changed; +#line 615 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp4_) { +#line 616 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->fire_ordering_changed = FALSE; +#line 617 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_notify_ordering_changed (self); +#line 2782 "DataCollection.c" + } +#line 620 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_emit_by_name (self, "thawed"); +#line 2786 "DataCollection.c" +} + + +void data_collection_notify_thawed (DataCollection* self) { +#line 606 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (self)); +#line 606 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->notify_thawed (self); +#line 2795 "DataCollection.c" +} + + +static void data_collection_real_items_added (DataCollection* self, GeeIterable* added) { +#line 116 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 2802 "DataCollection.c" +} + + +static void data_collection_real_items_removed (DataCollection* self, GeeIterable* removed) { +#line 120 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 2809 "DataCollection.c" +} + + +static void data_collection_real_contents_altered (DataCollection* self, GeeIterable* added, GeeIterable* removed) { +#line 124 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 124 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 2818 "DataCollection.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (n_param_values == 3); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data1 = closure->data; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data2 = param_values->data[0].v_pointer; +#line 2837 "DataCollection.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data1 = param_values->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data2 = closure->data; +#line 2843 "DataCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 2849 "DataCollection.c" +} + + +static void data_collection_real_items_altered (DataCollection* self, GeeMap* items) { +#line 130 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 2856 "DataCollection.c" +} + + +static void data_collection_real_ordering_changed (DataCollection* self) { +} + + +static void data_collection_real_property_set (DataCollection* self, const gchar* name, GValue* old, GValue* val) { +#line 140 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (name != NULL); +#line 140 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (val != NULL); +#line 2869 "DataCollection.c" +} + + +static void g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__STRING_BOXED_BOXED) (gpointer data1, const char* arg_1, gpointer arg_2, gpointer arg_3, gpointer data2); + register GMarshalFunc_VOID__STRING_BOXED_BOXED callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (n_param_values == 4); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data1 = closure->data; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data2 = param_values->data[0].v_pointer; +#line 2888 "DataCollection.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data1 = param_values->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data2 = closure->data; +#line 2894 "DataCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + callback = (GMarshalFunc_VOID__STRING_BOXED_BOXED) (marshal_data ? marshal_data : cc->callback); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + callback (data1, g_value_get_string (param_values + 1), g_value_get_boxed (param_values + 2), g_value_get_boxed (param_values + 3), data2); +#line 2900 "DataCollection.c" +} + + +static void data_collection_real_property_cleared (DataCollection* self, const gchar* name) { +#line 144 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (name != NULL); +#line 2907 "DataCollection.c" +} + + +static void data_collection_real_frozen (DataCollection* self) { +} + + +static void data_collection_real_thawed (DataCollection* self) { +} + + +static void _data_collection_marker_impl_on_items_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self) { +#line 24 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_marker_impl_on_items_removed ((DataCollectionMarkerImpl*) self, removed); +#line 2922 "DataCollection.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 16 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return self ? data_collection_ref (self) : NULL; +#line 2929 "DataCollection.c" +} + + +static DataCollectionMarkerImpl* data_collection_marker_impl_construct (GType object_type, DataCollection* owner) { + DataCollectionMarkerImpl * self = NULL; + DataCollection* _tmp0_ = NULL; + DataCollection* _tmp1_ = NULL; + DataCollection* _tmp2_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (owner), NULL); +#line 15 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = (DataCollectionMarkerImpl*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = owner; +#line 16 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _data_collection_unref0 (self->owner); +#line 16 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->owner = _tmp1_; +#line 20 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = owner; +#line 20 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_connect_object (_tmp2_, "items-removed", (GCallback) _data_collection_marker_impl_on_items_removed_data_collection_items_removed, self, 0); +#line 15 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return self; +#line 2956 "DataCollection.c" +} + + +static DataCollectionMarkerImpl* data_collection_marker_impl_new (DataCollection* owner) { +#line 15 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return data_collection_marker_impl_construct (DATA_COLLECTION_TYPE_MARKER_IMPL, owner); +#line 2963 "DataCollection.c" +} + + +static void data_collection_marker_impl_real_mark (Marker* base, DataObject* object) { + DataCollectionMarkerImpl * self; + DataCollection* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashSet* _tmp3_ = NULL; + DataObject* _tmp4_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 27 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_OBJECT (object)); +#line 28 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->owner; +#line 28 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = object; +#line 28 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_collection_internal_contains (_tmp0_, _tmp1_); +#line 28 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp2_, "owner.internal_contains(object)"); +#line 30 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = self->marked; +#line 30 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = object; +#line 30 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 2992 "DataCollection.c" +} + + +static void data_collection_marker_impl_real_unmark (Marker* base, DataObject* object) { + DataCollectionMarkerImpl * self; + DataCollection* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashSet* _tmp3_ = NULL; + DataObject* _tmp4_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 33 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (IS_DATA_OBJECT (object)); +#line 34 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->owner; +#line 34 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = object; +#line 34 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_collection_internal_contains (_tmp0_, _tmp1_); +#line 34 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp2_, "owner.internal_contains(object)"); +#line 36 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = self->marked; +#line 36 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = object; +#line 36 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 3021 "DataCollection.c" +} + + +static gboolean data_collection_marker_impl_real_toggle (Marker* base, DataObject* object) { + DataCollectionMarkerImpl * self; + gboolean result = FALSE; + DataCollection* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashSet* _tmp3_ = NULL; + DataObject* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeHashSet* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 39 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 39 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 40 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->owner; +#line 40 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = object; +#line 40 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = data_collection_internal_contains (_tmp0_, _tmp1_); +#line 40 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp2_, "owner.internal_contains(object)"); +#line 42 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = self->marked; +#line 42 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = object; +#line 42 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 42 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp5_) { +#line 3057 "DataCollection.c" + GeeHashSet* _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = self->marked; +#line 43 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = object; +#line 43 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp7_); +#line 3066 "DataCollection.c" + } else { + GeeHashSet* _tmp8_ = NULL; + DataObject* _tmp9_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = self->marked; +#line 45 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = object; +#line 45 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp9_); +#line 3076 "DataCollection.c" + } +#line 48 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = self->marked; +#line 48 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp11_ = object; +#line 48 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp12_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_); +#line 48 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp12_; +#line 48 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 3088 "DataCollection.c" +} + + +static void data_collection_marker_impl_real_mark_many (Marker* base, GeeCollection* list) { + DataCollectionMarkerImpl * self; +#line 51 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 51 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (list)); +#line 3098 "DataCollection.c" + { + GeeIterator* _object_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = list; +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_it = _tmp1_; +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 3111 "DataCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataCollection* _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GeeHashSet* _tmp9_ = NULL; + DataObject* _tmp10_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = _object_it; +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp3_) { +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 3130 "DataCollection.c" + } +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = _object_it; +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp5_; +#line 53 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = self->owner; +#line 53 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = object; +#line 53 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = data_collection_internal_contains (_tmp6_, _tmp7_); +#line 53 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp8_, "owner.internal_contains(object)"); +#line 55 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = self->marked; +#line 55 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = object; +#line 55 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 3154 "DataCollection.c" + } +#line 52 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_it); +#line 3158 "DataCollection.c" + } +} + + +static void data_collection_marker_impl_real_unmark_many (Marker* base, GeeCollection* list) { + DataCollectionMarkerImpl * self; +#line 59 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 59 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (list)); +#line 3169 "DataCollection.c" + { + GeeIterator* _object_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = list; +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_it = _tmp1_; +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 3182 "DataCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataCollection* _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GeeHashSet* _tmp9_ = NULL; + DataObject* _tmp10_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = _object_it; +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp3_) { +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 3201 "DataCollection.c" + } +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = _object_it; +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp5_; +#line 61 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = self->owner; +#line 61 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = object; +#line 61 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = data_collection_internal_contains (_tmp6_, _tmp7_); +#line 61 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _vala_assert (_tmp8_, "owner.internal_contains(object)"); +#line 63 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = self->marked; +#line 63 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = object; +#line 63 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 3225 "DataCollection.c" + } +#line 60 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_it); +#line 3229 "DataCollection.c" + } +} + + +static void data_collection_marker_impl_real_mark_all (Marker* base) { + DataCollectionMarkerImpl * self; +#line 67 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 3238 "DataCollection.c" + { + GeeIterator* _object_it = NULL; + DataCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->owner; +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = data_collection_get_all (_tmp0_); +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = _tmp3_; +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_tmp2_); +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_it = _tmp4_; +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 3262 "DataCollection.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + GeeHashSet* _tmp9_ = NULL; + DataObject* _tmp10_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = _object_it; +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp6_) { +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 3278 "DataCollection.c" + } +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = _object_it; +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp8_; +#line 69 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp9_ = self->marked; +#line 69 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp10_ = object; +#line 69 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 3294 "DataCollection.c" + } +#line 68 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_it); +#line 3298 "DataCollection.c" + } +} + + +static gint data_collection_marker_impl_real_get_count (Marker* base) { + DataCollectionMarkerImpl * self; + gint result = 0; + gint _tmp0_ = 0; + GeeHashSet* _tmp1_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = self->marked; +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp1_ != NULL) { +#line 3314 "DataCollection.c" + GeeHashSet* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = self->marked; +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = _tmp3_; +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = _tmp4_; +#line 3326 "DataCollection.c" + } else { + gint _tmp5_ = 0; +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = self->freeze_count; +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = _tmp5_; +#line 3333 "DataCollection.c" + } +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp0_; +#line 73 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 3339 "DataCollection.c" +} + + +static GeeCollection* data_collection_marker_impl_real_get_all (Marker* base) { + DataCollectionMarkerImpl * self; + GeeCollection* result = NULL; + GeeArrayList* copy = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 77 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 77 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + copy = _tmp0_; +#line 78 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = self->marked; +#line 78 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_array_list_add_all (copy, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 80 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (copy, GEE_TYPE_COLLECTION, GeeCollection); +#line 80 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 3363 "DataCollection.c" +} + + +static void data_collection_marker_impl_on_items_removed (DataCollectionMarkerImpl* self, GeeIterable* removed) { +#line 83 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (DATA_COLLECTION_IS_MARKER_IMPL (self)); +#line 83 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 3372 "DataCollection.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = removed; +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _object_it = _tmp1_; +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + while (TRUE) { +#line 3385 "DataCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = _object_it; +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!_tmp3_) { +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + break; +#line 3401 "DataCollection.c" + } +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp4_ = _object_it; +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + object = (DataObject*) _tmp5_; +#line 85 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp6_ = self->marked; +#line 85 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp7_ = object; +#line 85 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp7_); +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (object); +#line 3417 "DataCollection.c" + } +#line 84 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (_object_it); +#line 3421 "DataCollection.c" + } +} + + +static void data_collection_marker_impl_freeze (DataCollectionMarkerImpl* self) { + DataCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 91 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (DATA_COLLECTION_IS_MARKER_IMPL (self)); +#line 92 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->owner; +#line 92 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_parse_name ("items-removed", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 92 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _data_collection_marker_impl_on_items_removed_data_collection_items_removed, self); +#line 3437 "DataCollection.c" +} + + +static void data_collection_marker_impl_finished (DataCollectionMarkerImpl* self) { + GeeHashSet* _tmp0_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (DATA_COLLECTION_IS_MARKER_IMPL (self)); +#line 96 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->marked; +#line 96 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp0_ != NULL) { +#line 3449 "DataCollection.c" + GeeHashSet* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 97 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = self->marked; +#line 97 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 97 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = _tmp2_; +#line 97 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->freeze_count = _tmp3_; +#line 3461 "DataCollection.c" + } +#line 99 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (self->marked); +#line 99 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->marked = NULL; +#line 3467 "DataCollection.c" +} + + +static gboolean data_collection_marker_impl_is_valid (DataCollectionMarkerImpl* self, DataCollection* collection) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + DataCollection* _tmp1_ = NULL; + DataCollection* _tmp2_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (DATA_COLLECTION_IS_MARKER_IMPL (self), FALSE); +#line 102 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (collection), FALSE); +#line 103 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = collection; +#line 103 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp2_ = self->owner; +#line 103 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (_tmp1_ == _tmp2_) { +#line 3486 "DataCollection.c" + GeeHashSet* _tmp3_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp3_ = self->marked; +#line 103 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = _tmp3_ != NULL; +#line 3492 "DataCollection.c" + } else { +#line 103 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = FALSE; +#line 3496 "DataCollection.c" + } +#line 103 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + result = _tmp0_; +#line 103 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return result; +#line 3502 "DataCollection.c" +} + + +static void data_collection_marker_impl_class_init (DataCollectionMarkerImplClass * klass) { +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_marker_impl_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + G_OBJECT_CLASS (klass)->finalize = data_collection_marker_impl_finalize; +#line 3511 "DataCollection.c" +} + + +static void data_collection_marker_impl_marker_interface_init (MarkerIface * iface) { +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_marker_impl_marker_parent_iface = g_type_interface_peek_parent (iface); +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + iface->mark = (void (*)(Marker*, DataObject*)) data_collection_marker_impl_real_mark; +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + iface->unmark = (void (*)(Marker*, DataObject*)) data_collection_marker_impl_real_unmark; +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + iface->toggle = (gboolean (*)(Marker*, DataObject*)) data_collection_marker_impl_real_toggle; +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + iface->mark_many = (void (*)(Marker*, GeeCollection*)) data_collection_marker_impl_real_mark_many; +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + iface->unmark_many = (void (*)(Marker*, GeeCollection*)) data_collection_marker_impl_real_unmark_many; +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + iface->mark_all = (void (*)(Marker*)) data_collection_marker_impl_real_mark_all; +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + iface->get_count = (gint (*)(Marker*)) data_collection_marker_impl_real_get_count; +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + iface->get_all = (GeeCollection* (*)(Marker*)) data_collection_marker_impl_real_get_all; +#line 3534 "DataCollection.c" +} + + +static void data_collection_marker_impl_instance_init (DataCollectionMarkerImpl * self) { + GeeHashSet* _tmp0_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = gee_hash_set_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 12 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->marked = _tmp0_; +#line 13 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->freeze_count = 0; +#line 3546 "DataCollection.c" +} + + +static void data_collection_marker_impl_finalize (GObject* obj) { + DataCollectionMarkerImpl * self; + DataCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_COLLECTION_TYPE_MARKER_IMPL, DataCollectionMarkerImpl); +#line 24 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = self->owner; +#line 24 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_parse_name ("items-removed", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 24 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _data_collection_marker_impl_on_items_removed_data_collection_items_removed, self); +#line 11 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _data_collection_unref0 (self->owner); +#line 12 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (self->marked); +#line 10 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + G_OBJECT_CLASS (data_collection_marker_impl_parent_class)->finalize (obj); +#line 3568 "DataCollection.c" +} + + +static GType data_collection_marker_impl_get_type (void) { + static volatile gsize data_collection_marker_impl_type_id__volatile = 0; + if (g_once_init_enter (&data_collection_marker_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataCollectionMarkerImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_collection_marker_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataCollectionMarkerImpl), 0, (GInstanceInitFunc) data_collection_marker_impl_instance_init, NULL }; + static const GInterfaceInfo marker_info = { (GInterfaceInitFunc) data_collection_marker_impl_marker_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_collection_marker_impl_type_id; + data_collection_marker_impl_type_id = g_type_register_static (G_TYPE_OBJECT, "DataCollectionMarkerImpl", &g_define_type_info, 0); + g_type_add_interface_static (data_collection_marker_impl_type_id, TYPE_MARKER, &marker_info); + g_once_init_leave (&data_collection_marker_impl_type_id__volatile, data_collection_marker_impl_type_id); + } + return data_collection_marker_impl_type_id__volatile; +} + + +static void value_data_collection_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value->data[0].v_pointer = NULL; +#line 3589 "DataCollection.c" +} + + +static void value_data_collection_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_unref (value->data[0].v_pointer); +#line 3598 "DataCollection.c" + } +} + + +static void value_data_collection_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + dest_value->data[0].v_pointer = data_collection_ref (src_value->data[0].v_pointer); +#line 3608 "DataCollection.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + dest_value->data[0].v_pointer = NULL; +#line 3612 "DataCollection.c" + } +} + + +static gpointer value_data_collection_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return value->data[0].v_pointer; +#line 3620 "DataCollection.c" +} + + +static gchar* value_data_collection_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (collect_values[0].v_pointer) { +#line 3627 "DataCollection.c" + DataCollection* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3634 "DataCollection.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3638 "DataCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value->data[0].v_pointer = data_collection_ref (object); +#line 3642 "DataCollection.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value->data[0].v_pointer = NULL; +#line 3646 "DataCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return NULL; +#line 3650 "DataCollection.c" +} + + +static gchar* value_data_collection_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DataCollection** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3661 "DataCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + *object_p = NULL; +#line 3667 "DataCollection.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + *object_p = value->data[0].v_pointer; +#line 3671 "DataCollection.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + *object_p = data_collection_ref (value->data[0].v_pointer); +#line 3675 "DataCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return NULL; +#line 3679 "DataCollection.c" +} + + +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecDataCollection* spec; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_DATA_COLLECTION), NULL); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return G_PARAM_SPEC (spec); +#line 3693 "DataCollection.c" +} + + +gpointer value_get_data_collection (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATA_COLLECTION), NULL); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return value->data[0].v_pointer; +#line 3702 "DataCollection.c" +} + + +void value_set_data_collection (GValue* value, gpointer v_object) { + DataCollection* old; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATA_COLLECTION)); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DATA_COLLECTION)); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_ref (value->data[0].v_pointer); +#line 3722 "DataCollection.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value->data[0].v_pointer = NULL; +#line 3726 "DataCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_unref (old); +#line 3732 "DataCollection.c" + } +} + + +void value_take_data_collection (GValue* value, gpointer v_object) { + DataCollection* old; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATA_COLLECTION)); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DATA_COLLECTION)); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value->data[0].v_pointer = v_object; +#line 3751 "DataCollection.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + value->data[0].v_pointer = NULL; +#line 3755 "DataCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_unref (old); +#line 3761 "DataCollection.c" + } +} + + +static void data_collection_class_init (DataCollectionClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + data_collection_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->finalize = data_collection_finalize; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_type_class_add_private (klass, sizeof (DataCollectionPrivate)); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->to_string = data_collection_real_to_string; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_items_added = data_collection_real_notify_items_added; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_items_removed = data_collection_real_notify_items_removed; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_contents_altered = data_collection_real_notify_contents_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_items_altered = data_collection_real_notify_items_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_ordering_changed = data_collection_real_notify_ordering_changed; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_property_set = data_collection_real_notify_property_set; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_property_cleared = data_collection_real_notify_property_cleared; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->valid_type = data_collection_real_valid_type; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->set_comparator = data_collection_real_set_comparator; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->reset_comparator = data_collection_real_reset_comparator; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->get_all = data_collection_real_get_all; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->get_count = data_collection_real_get_count; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->get_at = data_collection_real_get_at; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->index_of = data_collection_real_index_of; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->contains = data_collection_real_contains; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->add = data_collection_real_add; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->add_many = data_collection_real_add_many; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->remove_marked = data_collection_real_remove_marked; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->clear = data_collection_real_clear; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->close = data_collection_real_close; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_frozen = data_collection_real_notify_frozen; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->notify_thawed = data_collection_real_notify_thawed; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->items_added = data_collection_real_items_added; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->items_removed = data_collection_real_items_removed; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->contents_altered = data_collection_real_contents_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->items_altered = data_collection_real_items_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->ordering_changed = data_collection_real_ordering_changed; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->property_set = data_collection_real_property_set; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->property_cleared = data_collection_real_property_cleared; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->frozen = data_collection_real_frozen; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + ((DataCollectionClass *) klass)->thawed = data_collection_real_thawed; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("items_added", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, items_added), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_ITERABLE); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("items_removed", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, items_removed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_ITERABLE); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("contents_altered", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, contents_altered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GEE_TYPE_ITERABLE, GEE_TYPE_ITERABLE); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("items_altered", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, items_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_MAP); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("ordering_changed", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, ordering_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("property_set", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, property_set), NULL, NULL, g_cclosure_user_marshal_VOID__STRING_BOXED_BOXED, G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_VALUE); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("property_cleared", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, property_cleared), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("frozen", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, frozen), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_new ("thawed", TYPE_DATA_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataCollectionClass, thawed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 3855 "DataCollection.c" +} + + +static void data_collection_instance_init (DataCollection * self) { + DataSet* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv = DATA_COLLECTION_GET_PRIVATE (self); +#line 108 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp0_ = data_set_new (); +#line 108 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->dataset = _tmp0_; +#line 109 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_VALUE, (GBoxedCopyFunc) _g_value_dup, _vala_GValue_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 109 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->properties = _tmp1_; +#line 110 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->object_ordinal_generator = (gint64) 0; +#line 111 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->notifies_frozen = 0; +#line 112 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->frozen_items_altered = NULL; +#line 113 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->priv->fire_ordering_changed = FALSE; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self->ref_count = 1; +#line 3882 "DataCollection.c" +} + + +static void data_collection_finalize (DataCollection* obj) { + DataCollection * self; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATA_COLLECTION, DataCollection); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_signal_handlers_destroy (self); +#line 107 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_free0 (self->priv->name); +#line 108 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _data_set_unref0 (self->priv->dataset); +#line 109 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (self->priv->properties); +#line 112 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + _g_object_unref0 (self->priv->frozen_items_altered); +#line 3900 "DataCollection.c" +} + + +GType data_collection_get_type (void) { + static volatile gsize data_collection_type_id__volatile = 0; + if (g_once_init_enter (&data_collection_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_data_collection_init, value_data_collection_free_value, value_data_collection_copy_value, value_data_collection_peek_pointer, "p", value_data_collection_collect_value, "p", value_data_collection_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DataCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataCollection), 0, (GInstanceInitFunc) data_collection_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType data_collection_type_id; + data_collection_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DataCollection", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&data_collection_type_id__volatile, data_collection_type_id); + } + return data_collection_type_id__volatile; +} + + +gpointer data_collection_ref (gpointer instance) { + DataCollection* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + return instance; +#line 3925 "DataCollection.c" +} + + +void data_collection_unref (gpointer instance) { + DataCollection* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + DATA_COLLECTION_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/core/DataCollection.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3938 "DataCollection.c" + } +} + + + diff --git a/src/core/DataObject.c b/src/core/DataObject.c new file mode 100644 index 0000000..88351fe --- /dev/null +++ b/src/core/DataObject.c @@ -0,0 +1,639 @@ +/* DataObject.c generated by valac 0.32.1, the Vala compiler + * generated from DataObject.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. + */ +/**/ +/* DataObject*/ +/**/ +/* Object IDs are incremented for each DataObject, and therefore may be used to compare*/ +/* creation order. This behavior may be relied upon elsewhere. Object IDs may be recycled when*/ +/* DataObjects are reconstituted by a proxy.*/ +/**/ +/* Ordinal IDs are supplied by DataCollections to record the ordering of the object being added*/ +/* to the collection. This value is primarily only used by DataCollection, but may be used*/ +/* elsewhere to resolve ordering questions (including stabilizing a sort).*/ +/**/ +/* Have to inherit from Object due to ContainerSource and this bug:*/ +/* https://bugzilla.gnome.org/show_bug.cgi?id=615904*/ + +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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 _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define __vala_GValue_free0(var) ((var == NULL) ? NULL : (var = (_vala_GValue_free (var), NULL))) +#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 _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataObjectPrivate { + gint64 object_id; + DataCollection* member_of; + gint64 ordinal; +}; + +typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, void* user_data); + +static gpointer data_object_parent_class = NULL; +static gint64 data_object_object_id_generator; +static gint64 data_object_object_id_generator = (gint64) 0; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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; +#define DATA_OBJECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DATA_OBJECT, DataObjectPrivate)) +enum { + DATA_OBJECT_DUMMY_PROPERTY +}; +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +#define DATA_COLLECTION_INVALID_OBJECT_ORDINAL ((gint64) -1) +DataObject* data_object_construct (GType object_type, gint64 object_id); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +static void data_object_real_notify_altered (DataObject* self, Alteration* alteration); +void data_collection_internal_notify_altered (DataCollection* self, DataObject* object, Alteration* alteration); +void data_object_notify_membership_changed (DataObject* self, DataCollection* collection); +static void data_object_real_notify_membership_changed (DataObject* self, DataCollection* collection); +void data_object_notify_collection_property_set (DataObject* self, const gchar* name, GValue* old, GValue* val); +static void data_object_real_notify_collection_property_set (DataObject* self, const gchar* name, GValue* old, GValue* val); +void data_object_notify_collection_property_cleared (DataObject* self, const gchar* name); +static void data_object_real_notify_collection_property_cleared (DataObject* self, const gchar* name); +gchar* data_object_get_name (DataObject* self); +static gchar* data_object_real_get_name (DataObject* self); +gchar* data_object_to_string (DataObject* self); +static gchar* data_object_real_to_string (DataObject* self); +DataCollection* data_object_get_membership (DataObject* self); +gboolean data_object_has_membership (DataObject* self); +void data_object_internal_set_membership (DataObject* self, DataCollection* collection, gint64 ordinal); +void data_object_internal_set_ordinal (DataObject* self, gint64 ordinal); +void data_object_internal_clear_membership (DataObject* self); +gint64 data_object_internal_get_ordinal (DataObject* self); +gint64 data_object_get_object_id (DataObject* self); +GValue* data_object_get_collection_property (DataObject* self, const gchar* name, GValue* def); +static GValue* _g_value_dup (GValue* self); +GValue* data_collection_get_property (DataCollection* self, const gchar* name); +static void _vala_GValue_free (GValue* self); +void data_object_set_collection_property (DataObject* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target); +void data_collection_set_property (DataCollection* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target); +void data_object_clear_collection_property (DataObject* self, const gchar* name); +void data_collection_clear_property (DataCollection* self, const gchar* name); +static void data_object_finalize (GObject* obj); + + +DataObject* data_object_construct (GType object_type, gint64 object_id) { + DataObject * self = NULL; + gint64 _tmp0_ = 0LL; + gint64 _tmp1_ = 0LL; +#line 38 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self = (DataObject*) g_object_new (object_type, NULL); +#line 39 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp1_ = object_id; +#line 39 "/home/jens/Source/shotwell/src/core/DataObject.vala" + if (_tmp1_ == DATA_OBJECT_INVALID_OBJECT_ID) { +#line 157 "DataObject.c" + gint64 _tmp2_ = 0LL; +#line 39 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp2_ = data_object_object_id_generator; +#line 39 "/home/jens/Source/shotwell/src/core/DataObject.vala" + data_object_object_id_generator = _tmp2_ + 1; +#line 39 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = _tmp2_; +#line 165 "DataObject.c" + } else { + gint64 _tmp3_ = 0LL; +#line 39 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp3_ = object_id; +#line 39 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = _tmp3_; +#line 172 "DataObject.c" + } +#line 39 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->object_id = _tmp0_; +#line 38 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return self; +#line 178 "DataObject.c" +} + + +static void data_object_real_notify_altered (DataObject* self, Alteration* alteration) { + DataCollection* _tmp0_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 43 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->member_of; +#line 43 "/home/jens/Source/shotwell/src/core/DataObject.vala" + if (_tmp0_ != NULL) { +#line 190 "DataObject.c" + DataCollection* _tmp1_ = NULL; + Alteration* _tmp2_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp1_ = self->priv->member_of; +#line 44 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp2_ = alteration; +#line 44 "/home/jens/Source/shotwell/src/core/DataObject.vala" + data_collection_internal_notify_altered (_tmp1_, self, _tmp2_); +#line 199 "DataObject.c" + } +} + + +void data_object_notify_altered (DataObject* self, Alteration* alteration) { +#line 42 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 42 "/home/jens/Source/shotwell/src/core/DataObject.vala" + DATA_OBJECT_GET_CLASS (self)->notify_altered (self, alteration); +#line 209 "DataObject.c" +} + + +static void data_object_real_notify_membership_changed (DataObject* self, DataCollection* collection) { +#line 56 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail ((collection == NULL) || IS_DATA_COLLECTION (collection)); +#line 216 "DataObject.c" +} + + +void data_object_notify_membership_changed (DataObject* self, DataCollection* collection) { +#line 56 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 56 "/home/jens/Source/shotwell/src/core/DataObject.vala" + DATA_OBJECT_GET_CLASS (self)->notify_membership_changed (self, collection); +#line 225 "DataObject.c" +} + + +static void data_object_real_notify_collection_property_set (DataObject* self, const gchar* name, GValue* old, GValue* val) { +#line 61 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (name != NULL); +#line 61 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (val != NULL); +#line 234 "DataObject.c" +} + + +void data_object_notify_collection_property_set (DataObject* self, const gchar* name, GValue* old, GValue* val) { +#line 61 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 61 "/home/jens/Source/shotwell/src/core/DataObject.vala" + DATA_OBJECT_GET_CLASS (self)->notify_collection_property_set (self, name, old, val); +#line 243 "DataObject.c" +} + + +static void data_object_real_notify_collection_property_cleared (DataObject* self, const gchar* name) { +#line 66 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (name != NULL); +#line 250 "DataObject.c" +} + + +void data_object_notify_collection_property_cleared (DataObject* self, const gchar* name) { +#line 66 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 66 "/home/jens/Source/shotwell/src/core/DataObject.vala" + DATA_OBJECT_GET_CLASS (self)->notify_collection_property_cleared (self, name); +#line 259 "DataObject.c" +} + + +static gchar* data_object_real_get_name (DataObject* self) { +#line 69 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_critical ("Type `%s' does not implement abstract method `data_object_get_name'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 69 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return NULL; +#line 268 "DataObject.c" +} + + +gchar* data_object_get_name (DataObject* self) { +#line 69 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_val_if_fail (IS_DATA_OBJECT (self), NULL); +#line 69 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return DATA_OBJECT_GET_CLASS (self)->get_name (self); +#line 277 "DataObject.c" +} + + +static gchar* data_object_real_to_string (DataObject* self) { +#line 71 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_critical ("Type `%s' does not implement abstract method `data_object_to_string'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 71 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return NULL; +#line 286 "DataObject.c" +} + + +gchar* data_object_to_string (DataObject* self) { +#line 71 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_val_if_fail (IS_DATA_OBJECT (self), NULL); +#line 71 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return DATA_OBJECT_GET_CLASS (self)->to_string (self); +#line 295 "DataObject.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 74 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return self ? data_collection_ref (self) : NULL; +#line 302 "DataObject.c" +} + + +DataCollection* data_object_get_membership (DataObject* self) { + DataCollection* result = NULL; + DataCollection* _tmp0_ = NULL; + DataCollection* _tmp1_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_val_if_fail (IS_DATA_OBJECT (self), NULL); +#line 74 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->member_of; +#line 74 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 74 "/home/jens/Source/shotwell/src/core/DataObject.vala" + result = _tmp1_; +#line 74 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return result; +#line 320 "DataObject.c" +} + + +gboolean data_object_has_membership (DataObject* self) { + gboolean result = FALSE; + DataCollection* _tmp0_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_val_if_fail (IS_DATA_OBJECT (self), FALSE); +#line 78 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->member_of; +#line 78 "/home/jens/Source/shotwell/src/core/DataObject.vala" + result = _tmp0_ != NULL; +#line 78 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return result; +#line 335 "DataObject.c" +} + + +void data_object_internal_set_membership (DataObject* self, DataCollection* collection, gint64 ordinal) { + DataCollection* _tmp0_ = NULL; + DataCollection* _tmp1_ = NULL; + DataCollection* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; +#line 83 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 83 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_COLLECTION (collection)); +#line 84 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->member_of; +#line 84 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _vala_assert (_tmp0_ == NULL, "member_of == null"); +#line 86 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp1_ = collection; +#line 86 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp2_ = _data_collection_ref0 (_tmp1_); +#line 86 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _data_collection_unref0 (self->priv->member_of); +#line 86 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->member_of = _tmp2_; +#line 87 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp3_ = ordinal; +#line 87 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->ordinal = _tmp3_; +#line 364 "DataObject.c" +} + + +void data_object_internal_set_ordinal (DataObject* self, gint64 ordinal) { + DataCollection* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; +#line 96 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 97 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->member_of; +#line 97 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _vala_assert (_tmp0_ == NULL, "member_of == null"); +#line 99 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp1_ = ordinal; +#line 99 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->ordinal = _tmp1_; +#line 381 "DataObject.c" +} + + +void data_object_internal_clear_membership (DataObject* self) { +#line 104 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 105 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _data_collection_unref0 (self->priv->member_of); +#line 105 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->member_of = NULL; +#line 106 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->ordinal = DATA_COLLECTION_INVALID_OBJECT_ORDINAL; +#line 394 "DataObject.c" +} + + +inline gint64 data_object_internal_get_ordinal (DataObject* self) { + gint64 result = 0LL; + gint64 _tmp0_ = 0LL; +#line 110 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_val_if_fail (IS_DATA_OBJECT (self), 0LL); +#line 111 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->ordinal; +#line 111 "/home/jens/Source/shotwell/src/core/DataObject.vala" + result = _tmp0_; +#line 111 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return result; +#line 409 "DataObject.c" +} + + +inline gint64 data_object_get_object_id (DataObject* self) { + gint64 result = 0LL; + gint64 _tmp0_ = 0LL; +#line 114 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_val_if_fail (IS_DATA_OBJECT (self), 0LL); +#line 115 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->object_id; +#line 115 "/home/jens/Source/shotwell/src/core/DataObject.vala" + result = _tmp0_; +#line 115 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return result; +#line 424 "DataObject.c" +} + + +static GValue* _g_value_dup (GValue* self) { +#line 120 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return g_boxed_copy (G_TYPE_VALUE, self); +#line 431 "DataObject.c" +} + + +static gpointer __g_value_dup0 (gpointer self) { +#line 120 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return self ? _g_value_dup (self) : NULL; +#line 438 "DataObject.c" +} + + +static void _vala_GValue_free (GValue* self) { +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_value_unset (self); +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_free (self); +#line 447 "DataObject.c" +} + + +GValue* data_object_get_collection_property (DataObject* self, const gchar* name, GValue* def) { + GValue* result = NULL; + DataCollection* _tmp0_ = NULL; + GValue* _result_ = NULL; + DataCollection* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GValue* _tmp5_ = NULL; + GValue* _tmp6_ = NULL; + GValue* _tmp7_ = NULL; + GValue* _tmp10_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_val_if_fail (IS_DATA_OBJECT (self), NULL); +#line 118 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 119 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->member_of; +#line 119 "/home/jens/Source/shotwell/src/core/DataObject.vala" + if (_tmp0_ == NULL) { +#line 469 "DataObject.c" + GValue* _tmp1_ = NULL; + GValue* _tmp2_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp1_ = def; +#line 120 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp2_ = __g_value_dup0 (_tmp1_); +#line 120 "/home/jens/Source/shotwell/src/core/DataObject.vala" + result = _tmp2_; +#line 120 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return result; +#line 480 "DataObject.c" + } +#line 122 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp3_ = self->priv->member_of; +#line 122 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp4_ = name; +#line 122 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp5_ = data_collection_get_property (_tmp3_, _tmp4_); +#line 122 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _result_ = _tmp5_; +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp7_ = _result_; +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + if (_tmp7_ != NULL) { +#line 494 "DataObject.c" + GValue* _tmp8_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp8_ = _result_; +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp6_ = _tmp8_; +#line 500 "DataObject.c" + } else { + GValue* _tmp9_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp9_ = def; +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp6_ = _tmp9_; +#line 507 "DataObject.c" + } +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp10_ = __g_value_dup0 (_tmp6_); +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + result = _tmp10_; +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + __vala_GValue_free0 (_result_); +#line 124 "/home/jens/Source/shotwell/src/core/DataObject.vala" + return result; +#line 517 "DataObject.c" +} + + +void data_object_set_collection_property (DataObject* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target) { + DataCollection* _tmp0_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 127 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (name != NULL); +#line 127 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (val != NULL); +#line 128 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->member_of; +#line 128 "/home/jens/Source/shotwell/src/core/DataObject.vala" + if (_tmp0_ != NULL) { +#line 533 "DataObject.c" + DataCollection* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GValue _tmp3_ = {0}; + ValueEqualFunc _tmp4_ = NULL; + void* _tmp4__target = NULL; +#line 129 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp1_ = self->priv->member_of; +#line 129 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp2_ = name; +#line 129 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp3_ = *val; +#line 129 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp4_ = value_equals; +#line 129 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp4__target = value_equals_target; +#line 129 "/home/jens/Source/shotwell/src/core/DataObject.vala" + data_collection_set_property (_tmp1_, _tmp2_, &_tmp3_, _tmp4_, _tmp4__target); +#line 551 "DataObject.c" + } +} + + +void data_object_clear_collection_property (DataObject* self, const gchar* name) { + DataCollection* _tmp0_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (IS_DATA_OBJECT (self)); +#line 132 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_return_if_fail (name != NULL); +#line 133 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp0_ = self->priv->member_of; +#line 133 "/home/jens/Source/shotwell/src/core/DataObject.vala" + if (_tmp0_ != NULL) { +#line 566 "DataObject.c" + DataCollection* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp1_ = self->priv->member_of; +#line 134 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _tmp2_ = name; +#line 134 "/home/jens/Source/shotwell/src/core/DataObject.vala" + data_collection_clear_property (_tmp1_, _tmp2_); +#line 575 "DataObject.c" + } +} + + +static void data_object_class_init (DataObjectClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + data_object_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + g_type_class_add_private (klass, sizeof (DataObjectPrivate)); +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + ((DataObjectClass *) klass)->notify_altered = data_object_real_notify_altered; +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + ((DataObjectClass *) klass)->notify_membership_changed = data_object_real_notify_membership_changed; +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + ((DataObjectClass *) klass)->notify_collection_property_set = data_object_real_notify_collection_property_set; +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + ((DataObjectClass *) klass)->notify_collection_property_cleared = data_object_real_notify_collection_property_cleared; +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + ((DataObjectClass *) klass)->get_name = data_object_real_get_name; +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + ((DataObjectClass *) klass)->to_string = data_object_real_to_string; +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + G_OBJECT_CLASS (klass)->finalize = data_object_finalize; +#line 599 "DataObject.c" +} + + +static void data_object_instance_init (DataObject * self) { +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv = DATA_OBJECT_GET_PRIVATE (self); +#line 32 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->object_id = DATA_OBJECT_INVALID_OBJECT_ID; +#line 33 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->member_of = NULL; +#line 34 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self->priv->ordinal = DATA_COLLECTION_INVALID_OBJECT_ORDINAL; +#line 612 "DataObject.c" +} + + +static void data_object_finalize (GObject* obj) { + DataObject * self; +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATA_OBJECT, DataObject); +#line 33 "/home/jens/Source/shotwell/src/core/DataObject.vala" + _data_collection_unref0 (self->priv->member_of); +#line 21 "/home/jens/Source/shotwell/src/core/DataObject.vala" + G_OBJECT_CLASS (data_object_parent_class)->finalize (obj); +#line 624 "DataObject.c" +} + + +GType data_object_get_type (void) { + static volatile gsize data_object_type_id__volatile = 0; + if (g_once_init_enter (&data_object_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataObject), 0, (GInstanceInitFunc) data_object_instance_init, NULL }; + GType data_object_type_id; + data_object_type_id = g_type_register_static (G_TYPE_OBJECT, "DataObject", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&data_object_type_id__volatile, data_object_type_id); + } + return data_object_type_id__volatile; +} + + + diff --git a/src/core/DataSet.c b/src/core/DataSet.c new file mode 100644 index 0000000..75c2ca2 --- /dev/null +++ b/src/core/DataSet.c @@ -0,0 +1,1163 @@ +/* DataSet.c generated by valac 0.32.1, the Vala compiler + * generated from DataSet.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/**/ +/* DataSet*/ +/**/ +/* A DataSet is a collection class used for internal implementations of DataCollection*/ +/* and its children. It may be of use to other classes, however.*/ +/**/ +/* The general purpose of DataSet is to provide low-cost implementations of various collection*/ +/* operations at a cost of internally maintaining its objects in more than one simple collection.*/ +/* contains(), for example, can return a result with hash-table performance while notions of*/ +/* ordering are maintained by a SortedList. The cost is in adding and removing objects (in general,*/ +/* there are others).*/ +/**/ +/* Because this class has no signalling mechanisms and does not manipulate DataObjects in ways*/ +/* they expect to be manipulated (these features are performed by DataCollection), it's probably*/ +/* best not to use this class. Even in cases of building a list of DataObjects for some quick*/ +/* operation is probably best done by a Gee.ArrayList.*/ +/**/ +/* ComparatorPredicate is used to determine if a re-sort operation is necessary; it has no*/ +/* effect on adding a DataObject to a DataSet in sorted order.*/ + +#include +#include +#include +#include + + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_DATA_SET (data_set_get_type ()) +#define DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SET, DataSet)) +#define DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SET, DataSetClass)) +#define IS_DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SET)) +#define IS_DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SET)) +#define DATA_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SET, DataSetClass)) + +typedef struct _DataSet DataSet; +typedef struct _DataSetClass DataSetClass; +typedef struct _DataSetPrivate DataSetPrivate; + +#define TYPE_SORTED_LIST (sorted_list_get_type ()) +#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList)) +#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass)) +#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST)) +#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST)) +#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass)) + +typedef struct _SortedList SortedList; +typedef struct _SortedListClass SortedListClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _data_set_unref0(var) ((var == NULL) ? NULL : (var = (data_set_unref (var), NULL))) +typedef struct _ParamSpecDataSet ParamSpecDataSet; +#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); + +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +struct _DataSet { + GTypeInstance parent_instance; + volatile int ref_count; + DataSetPrivate * priv; +}; + +struct _DataSetClass { + GTypeClass parent_class; + void (*finalize) (DataSet *self); +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +struct _DataSetPrivate { + SortedList* list; + GeeHashSet* hash_set; + Comparator user_comparator; + gpointer user_comparator_target; + ComparatorPredicate comparator_predicate; + gpointer comparator_predicate_target; +}; + +struct _ParamSpecDataSet { + GParamSpec parent_instance; +}; + + +static gpointer data_set_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +gpointer data_set_ref (gpointer instance); +void data_set_unref (gpointer instance); +GParamSpec* param_spec_data_set (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_set (GValue* value, gpointer v_object); +void value_take_data_set (GValue* value, gpointer v_object); +gpointer value_get_data_set (const GValue* value); +GType data_set_get_type (void) G_GNUC_CONST; +GType sorted_list_get_type (void) G_GNUC_CONST; +#define DATA_SET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DATA_SET, DataSetPrivate)) +enum { + DATA_SET_DUMMY_PROPERTY +}; +SortedList* sorted_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +SortedList* sorted_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +DataSet* data_set_new (void); +DataSet* data_set_construct (GType object_type); +void data_set_reset_comparator (DataSet* self); +static gint64 data_set_order_added_comparator (DataSet* self, void* a, void* b); +gint64 data_object_internal_get_ordinal (DataObject* self); +static gboolean data_set_order_added_predicate (DataSet* self, DataObject* object, Alteration* alteration); +static gint64 data_set_comparator_wrapper (DataSet* self, void* a, void* b); +gboolean data_set_contains (DataSet* self, DataObject* object); +gint data_set_get_count (DataSet* self); +gint sorted_list_get_count (SortedList* self); +static gboolean _data_set_order_added_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self); +void sorted_list_resort (SortedList* self, Comparator new_cmp, void* new_cmp_target); +static gint64 _data_set_order_added_comparator_comparator (void* a, void* b, gpointer self); +Comparator data_set_get_comparator (DataSet* self, void** result_target); +ComparatorPredicate data_set_get_comparator_predicate (DataSet* self, void** result_target); +void data_set_set_comparator (DataSet* self, Comparator user_comparator, void* user_comparator_target, ComparatorPredicate comparator_predicate, void* comparator_predicate_target); +static gint64 _data_set_comparator_wrapper_comparator (void* a, void* b, gpointer self); +GeeList* data_set_get_all (DataSet* self); +GeeList* sorted_list_get_read_only_view_as_list (SortedList* self); +DataSet* data_set_copy (DataSet* self); +SortedList* sorted_list_copy (SortedList* self); +DataObject* data_set_get_at (DataSet* self, gint index); +gpointer sorted_list_get_at (SortedList* self, gint index); +gint data_set_index_of (DataSet* self, DataObject* object); +gint sorted_list_locate (SortedList* self, gconstpointer search, gboolean altered, GEqualFunc equal_func); +gboolean data_set_add (DataSet* self, DataObject* object); +gboolean data_set_add_many (DataSet* self, GeeCollection* objects); +gboolean data_set_remove (DataSet* self, DataObject* object); +gboolean data_set_remove_many (DataSet* self, GeeCollection* objects); +gboolean data_set_resort_object (DataSet* self, DataObject* object, Alteration* alteration); +gboolean sorted_list_resort_item (SortedList* self, gconstpointer item); +static void data_set_finalize (DataSet* obj); + + +DataSet* data_set_construct (GType object_type) { + DataSet* self = NULL; +#line 35 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self = (DataSet*) g_type_create_instance (object_type); +#line 36 "/home/jens/Source/shotwell/src/core/DataSet.vala" + data_set_reset_comparator (self); +#line 35 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return self; +#line 177 "DataSet.c" +} + + +DataSet* data_set_new (void) { +#line 35 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return data_set_construct (TYPE_DATA_SET); +#line 184 "DataSet.c" +} + + +static gint64 data_set_order_added_comparator (DataSet* self, void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + void* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; +#line 39 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), 0LL); +#line 40 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = a; +#line 40 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = data_object_internal_get_ordinal (G_TYPE_CHECK_INSTANCE_CAST ((DataObject*) _tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 40 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = b; +#line 40 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = data_object_internal_get_ordinal (G_TYPE_CHECK_INSTANCE_CAST ((DataObject*) _tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 40 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _tmp1_ - _tmp3_; +#line 40 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 208 "DataSet.c" +} + + +static gboolean data_set_order_added_predicate (DataSet* self, DataObject* object, Alteration* alteration) { + gboolean result = FALSE; +#line 43 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), FALSE); +#line 43 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 43 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 45 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = FALSE; +#line 45 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 224 "DataSet.c" +} + + +static gint64 data_set_comparator_wrapper (DataSet* self, void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint64 _result_ = 0LL; + Comparator _tmp2_ = NULL; + void* _tmp2__target = NULL; + gint64 _tmp7_ = 0LL; + gint64 _tmp11_ = 0LL; +#line 48 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), 0LL); +#line 49 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = a; +#line 49 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = b; +#line 49 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (_tmp0_ == _tmp1_) { +#line 50 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = (gint64) 0; +#line 50 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 249 "DataSet.c" + } +#line 54 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _result_ = (gint64) 0; +#line 56 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = self->priv->user_comparator; +#line 56 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2__target = self->priv->user_comparator_target; +#line 56 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (_tmp2_ != NULL) { +#line 259 "DataSet.c" + Comparator _tmp3_ = NULL; + void* _tmp3__target = NULL; + void* _tmp4_ = NULL; + void* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; +#line 57 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = self->priv->user_comparator; +#line 57 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3__target = self->priv->user_comparator_target; +#line 57 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp4_ = a; +#line 57 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp5_ = b; +#line 57 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp6_ = _tmp3_ (_tmp4_, _tmp5_, _tmp3__target); +#line 57 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _result_ = _tmp6_; +#line 277 "DataSet.c" + } +#line 59 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp7_ = _result_; +#line 59 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (_tmp7_ == ((gint64) 0)) { +#line 283 "DataSet.c" + void* _tmp8_ = NULL; + void* _tmp9_ = NULL; + gint64 _tmp10_ = 0LL; +#line 60 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp8_ = a; +#line 60 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp9_ = b; +#line 60 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp10_ = data_set_order_added_comparator (self, _tmp8_, _tmp9_); +#line 60 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _result_ = _tmp10_; +#line 295 "DataSet.c" + } +#line 62 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp11_ = _result_; +#line 62 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _vala_assert (_tmp11_ != ((gint64) 0), "result != 0"); +#line 64 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _result_; +#line 64 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 305 "DataSet.c" +} + + +gboolean data_set_contains (DataSet* self, DataObject* object) { + gboolean result = FALSE; + GeeHashSet* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 67 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), FALSE); +#line 67 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 68 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->hash_set; +#line 68 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = object; +#line 68 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 68 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _tmp2_; +#line 68 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 328 "DataSet.c" +} + + +inline gint data_set_get_count (DataSet* self) { + gint result = 0; + SortedList* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 71 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), 0); +#line 72 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->list; +#line 72 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = sorted_list_get_count (_tmp0_); +#line 72 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _tmp1_; +#line 72 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 346 "DataSet.c" +} + + +static gboolean _data_set_order_added_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) { + gboolean result; + result = data_set_order_added_predicate ((DataSet*) self, object, alteration); +#line 77 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 355 "DataSet.c" +} + + +static gint64 _data_set_order_added_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = data_set_order_added_comparator ((DataSet*) self, a, b); +#line 78 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 364 "DataSet.c" +} + + +void data_set_reset_comparator (DataSet* self) { + SortedList* _tmp0_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_if_fail (IS_DATA_SET (self)); +#line 76 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->user_comparator = NULL; +#line 76 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->user_comparator_target = NULL; +#line 77 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->comparator_predicate = _data_set_order_added_predicate_comparator_predicate; +#line 77 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->comparator_predicate_target = self; +#line 78 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->list; +#line 78 "/home/jens/Source/shotwell/src/core/DataSet.vala" + sorted_list_resort (_tmp0_, _data_set_order_added_comparator_comparator, self); +#line 384 "DataSet.c" +} + + +Comparator data_set_get_comparator (DataSet* self, void** result_target) { + Comparator result = NULL; + Comparator _tmp0_ = NULL; + void* _tmp0__target = NULL; + Comparator _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 81 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), NULL); +#line 82 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->user_comparator; +#line 82 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0__target = self->priv->user_comparator_target; +#line 82 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = _tmp0_; +#line 82 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1__target = _tmp0__target; +#line 82 "/home/jens/Source/shotwell/src/core/DataSet.vala" + *result_target = _tmp1__target; +#line 82 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _tmp1_; +#line 82 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 410 "DataSet.c" +} + + +ComparatorPredicate data_set_get_comparator_predicate (DataSet* self, void** result_target) { + ComparatorPredicate result = NULL; + ComparatorPredicate _tmp0_ = NULL; + void* _tmp0__target = NULL; + ComparatorPredicate _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 85 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), NULL); +#line 86 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->comparator_predicate; +#line 86 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0__target = self->priv->comparator_predicate_target; +#line 86 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = _tmp0_; +#line 86 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1__target = _tmp0__target; +#line 86 "/home/jens/Source/shotwell/src/core/DataSet.vala" + *result_target = _tmp1__target; +#line 86 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _tmp1_; +#line 86 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 436 "DataSet.c" +} + + +static gint64 _data_set_comparator_wrapper_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = data_set_comparator_wrapper ((DataSet*) self, a, b); +#line 92 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 445 "DataSet.c" +} + + +void data_set_set_comparator (DataSet* self, Comparator user_comparator, void* user_comparator_target, ComparatorPredicate comparator_predicate, void* comparator_predicate_target) { + Comparator _tmp0_ = NULL; + void* _tmp0__target = NULL; + ComparatorPredicate _tmp1_ = NULL; + void* _tmp1__target = NULL; + SortedList* _tmp2_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_if_fail (IS_DATA_SET (self)); +#line 90 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = user_comparator; +#line 90 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0__target = user_comparator_target; +#line 90 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->user_comparator = _tmp0_; +#line 90 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->user_comparator_target = _tmp0__target; +#line 91 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = comparator_predicate; +#line 91 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1__target = comparator_predicate_target; +#line 91 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->comparator_predicate = _tmp1_; +#line 91 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->comparator_predicate_target = _tmp1__target; +#line 92 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = self->priv->list; +#line 92 "/home/jens/Source/shotwell/src/core/DataSet.vala" + sorted_list_resort (_tmp2_, _data_set_comparator_wrapper_comparator, self); +#line 477 "DataSet.c" +} + + +GeeList* data_set_get_all (DataSet* self) { + GeeList* result = NULL; + SortedList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), NULL); +#line 96 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->list; +#line 96 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = sorted_list_get_read_only_view_as_list (_tmp0_); +#line 96 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = _tmp1_; +#line 96 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _tmp2_; +#line 96 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 498 "DataSet.c" +} + + +DataSet* data_set_copy (DataSet* self) { + DataSet* result = NULL; + DataSet* clone = NULL; + DataSet* _tmp0_ = NULL; + SortedList* _tmp1_ = NULL; + SortedList* _tmp2_ = NULL; + GeeHashSet* _tmp3_ = NULL; + GeeHashSet* _tmp4_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), NULL); +#line 100 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = data_set_new (); +#line 100 "/home/jens/Source/shotwell/src/core/DataSet.vala" + clone = _tmp0_; +#line 101 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = self->priv->list; +#line 101 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = sorted_list_copy (_tmp1_); +#line 101 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _g_object_unref0 (clone->priv->list); +#line 101 "/home/jens/Source/shotwell/src/core/DataSet.vala" + clone->priv->list = _tmp2_; +#line 102 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = clone->priv->hash_set; +#line 102 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp4_ = self->priv->hash_set; +#line 102 "/home/jens/Source/shotwell/src/core/DataSet.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 104 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = clone; +#line 104 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 534 "DataSet.c" +} + + +DataObject* data_set_get_at (DataSet* self, gint index) { + DataObject* result = NULL; + SortedList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gpointer _tmp2_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), NULL); +#line 108 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->list; +#line 108 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = index; +#line 108 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = sorted_list_get_at (_tmp0_, _tmp1_); +#line 108 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = (DataObject*) _tmp2_; +#line 108 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 555 "DataSet.c" +} + + +gint data_set_index_of (DataSet* self, DataObject* object) { + gint result = 0; + SortedList* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + GEqualFunc _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 111 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), 0); +#line 111 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), 0); +#line 112 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->list; +#line 112 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = object; +#line 112 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = g_direct_equal; +#line 112 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = sorted_list_locate (_tmp0_, _tmp1_, FALSE, _tmp2_); +#line 112 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _tmp3_; +#line 112 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 581 "DataSet.c" +} + + +gboolean data_set_add (DataSet* self, DataObject* object) { + gboolean result = FALSE; + SortedList* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashSet* _tmp3_ = NULL; + DataObject* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 116 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), FALSE); +#line 116 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 117 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->list; +#line 117 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = object; +#line 117 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 117 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!_tmp2_) { +#line 118 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = FALSE; +#line 118 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 609 "DataSet.c" + } +#line 120 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = self->priv->hash_set; +#line 120 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp4_ = object; +#line 120 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp5_ = gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 120 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!_tmp5_) { +#line 619 "DataSet.c" + SortedList* _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; +#line 122 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp6_ = self->priv->list; +#line 122 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp7_ = object; +#line 122 "/home/jens/Source/shotwell/src/core/DataSet.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection), _tmp7_); +#line 124 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = FALSE; +#line 124 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 632 "DataSet.c" + } +#line 127 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = TRUE; +#line 127 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 638 "DataSet.c" +} + + +gboolean data_set_add_many (DataSet* self, GeeCollection* objects) { + gboolean result = FALSE; + gint count = 0; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + SortedList* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GeeHashSet* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 131 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), FALSE); +#line 131 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (objects), FALSE); +#line 132 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = objects; +#line 132 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 132 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = _tmp1_; +#line 132 "/home/jens/Source/shotwell/src/core/DataSet.vala" + count = _tmp2_; +#line 133 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = count; +#line 133 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (_tmp3_ == 0) { +#line 134 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = TRUE; +#line 134 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 675 "DataSet.c" + } +#line 136 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp4_ = self->priv->list; +#line 136 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp5_ = objects; +#line 136 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp6_ = gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection), _tmp5_); +#line 136 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!_tmp6_) { +#line 137 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = FALSE; +#line 137 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 689 "DataSet.c" + } +#line 139 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp7_ = self->priv->hash_set; +#line 139 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp8_ = objects; +#line 139 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp9_ = gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), _tmp8_); +#line 139 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!_tmp9_) { +#line 699 "DataSet.c" + SortedList* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp10_ = self->priv->list; +#line 141 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp11_ = objects; +#line 141 "/home/jens/Source/shotwell/src/core/DataSet.vala" + gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_); +#line 143 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = FALSE; +#line 143 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 712 "DataSet.c" + } +#line 146 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = TRUE; +#line 146 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 718 "DataSet.c" +} + + +gboolean data_set_remove (DataSet* self, DataObject* object) { + gboolean result = FALSE; + gboolean success = FALSE; + SortedList* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashSet* _tmp3_ = NULL; + DataObject* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 149 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), FALSE); +#line 149 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 150 "/home/jens/Source/shotwell/src/core/DataSet.vala" + success = TRUE; +#line 152 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->list; +#line 152 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = object; +#line 152 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 152 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!_tmp2_) { +#line 153 "/home/jens/Source/shotwell/src/core/DataSet.vala" + success = FALSE; +#line 747 "DataSet.c" + } +#line 155 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = self->priv->hash_set; +#line 155 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp4_ = object; +#line 155 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp5_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp4_); +#line 155 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!_tmp5_) { +#line 156 "/home/jens/Source/shotwell/src/core/DataSet.vala" + success = FALSE; +#line 759 "DataSet.c" + } +#line 158 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = success; +#line 158 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 765 "DataSet.c" +} + + +gboolean data_set_remove_many (DataSet* self, GeeCollection* objects) { + gboolean result = FALSE; + gboolean success = FALSE; + SortedList* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashSet* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 161 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), FALSE); +#line 161 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (objects), FALSE); +#line 162 "/home/jens/Source/shotwell/src/core/DataSet.vala" + success = TRUE; +#line 164 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = self->priv->list; +#line 164 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = objects; +#line 164 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 164 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!_tmp2_) { +#line 165 "/home/jens/Source/shotwell/src/core/DataSet.vala" + success = FALSE; +#line 794 "DataSet.c" + } +#line 167 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = self->priv->hash_set; +#line 167 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp4_ = objects; +#line 167 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp5_ = gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection), _tmp4_); +#line 167 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!_tmp5_) { +#line 168 "/home/jens/Source/shotwell/src/core/DataSet.vala" + success = FALSE; +#line 806 "DataSet.c" + } +#line 170 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = success; +#line 170 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 812 "DataSet.c" +} + + +gboolean data_set_resort_object (DataSet* self, DataObject* object, Alteration* alteration) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + ComparatorPredicate _tmp2_ = NULL; + void* _tmp2__target = NULL; + SortedList* _tmp8_ = NULL; + DataObject* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 174 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_SET (self), FALSE); +#line 174 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 174 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail ((alteration == NULL) || IS_ALTERATION (alteration), FALSE); +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2_ = self->priv->comparator_predicate; +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp2__target = self->priv->comparator_predicate_target; +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (_tmp2_ != NULL) { +#line 837 "DataSet.c" + Alteration* _tmp3_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp3_ = alteration; +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = _tmp3_ != NULL; +#line 843 "DataSet.c" + } else { +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = FALSE; +#line 847 "DataSet.c" + } +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (_tmp1_) { +#line 851 "DataSet.c" + ComparatorPredicate _tmp4_ = NULL; + void* _tmp4__target = NULL; + DataObject* _tmp5_ = NULL; + Alteration* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 176 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp4_ = self->priv->comparator_predicate; +#line 176 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp4__target = self->priv->comparator_predicate_target; +#line 176 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp5_ = object; +#line 176 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp6_ = alteration; +#line 176 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp7_ = _tmp4_ (_tmp5_, _tmp6_, _tmp4__target); +#line 176 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = !_tmp7_; +#line 869 "DataSet.c" + } else { +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = FALSE; +#line 873 "DataSet.c" + } +#line 175 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (_tmp0_) { +#line 177 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = FALSE; +#line 177 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 881 "DataSet.c" + } +#line 180 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp8_ = self->priv->list; +#line 180 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp9_ = object; +#line 180 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp10_ = sorted_list_resort_item (_tmp8_, _tmp9_); +#line 180 "/home/jens/Source/shotwell/src/core/DataSet.vala" + result = _tmp10_; +#line 180 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return result; +#line 893 "DataSet.c" +} + + +static void value_data_set_init (GValue* value) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + value->data[0].v_pointer = NULL; +#line 900 "DataSet.c" +} + + +static void value_data_set_free_value (GValue* value) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (value->data[0].v_pointer) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + data_set_unref (value->data[0].v_pointer); +#line 909 "DataSet.c" + } +} + + +static void value_data_set_copy_value (const GValue* src_value, GValue* dest_value) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (src_value->data[0].v_pointer) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + dest_value->data[0].v_pointer = data_set_ref (src_value->data[0].v_pointer); +#line 919 "DataSet.c" + } else { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + dest_value->data[0].v_pointer = NULL; +#line 923 "DataSet.c" + } +} + + +static gpointer value_data_set_peek_pointer (const GValue* value) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return value->data[0].v_pointer; +#line 931 "DataSet.c" +} + + +static gchar* value_data_set_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (collect_values[0].v_pointer) { +#line 938 "DataSet.c" + DataSet* object; + object = collect_values[0].v_pointer; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (object->parent_instance.g_class == NULL) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 945 "DataSet.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 949 "DataSet.c" + } +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + value->data[0].v_pointer = data_set_ref (object); +#line 953 "DataSet.c" + } else { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + value->data[0].v_pointer = NULL; +#line 957 "DataSet.c" + } +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return NULL; +#line 961 "DataSet.c" +} + + +static gchar* value_data_set_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DataSet** object_p; + object_p = collect_values[0].v_pointer; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!object_p) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 972 "DataSet.c" + } +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (!value->data[0].v_pointer) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + *object_p = NULL; +#line 978 "DataSet.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + *object_p = value->data[0].v_pointer; +#line 982 "DataSet.c" + } else { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + *object_p = data_set_ref (value->data[0].v_pointer); +#line 986 "DataSet.c" + } +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return NULL; +#line 990 "DataSet.c" +} + + +GParamSpec* param_spec_data_set (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecDataSet* spec; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_DATA_SET), NULL); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return G_PARAM_SPEC (spec); +#line 1004 "DataSet.c" +} + + +gpointer value_get_data_set (const GValue* value) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATA_SET), NULL); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return value->data[0].v_pointer; +#line 1013 "DataSet.c" +} + + +void value_set_data_set (GValue* value, gpointer v_object) { + DataSet* old; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATA_SET)); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + old = value->data[0].v_pointer; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (v_object) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DATA_SET)); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + value->data[0].v_pointer = v_object; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + data_set_ref (value->data[0].v_pointer); +#line 1033 "DataSet.c" + } else { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + value->data[0].v_pointer = NULL; +#line 1037 "DataSet.c" + } +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (old) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + data_set_unref (old); +#line 1043 "DataSet.c" + } +} + + +void value_take_data_set (GValue* value, gpointer v_object) { + DataSet* old; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATA_SET)); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + old = value->data[0].v_pointer; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (v_object) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DATA_SET)); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + value->data[0].v_pointer = v_object; +#line 1062 "DataSet.c" + } else { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + value->data[0].v_pointer = NULL; +#line 1066 "DataSet.c" + } +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (old) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + data_set_unref (old); +#line 1072 "DataSet.c" + } +} + + +static void data_set_class_init (DataSetClass * klass) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + data_set_parent_class = g_type_class_peek_parent (klass); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + ((DataSetClass *) klass)->finalize = data_set_finalize; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_type_class_add_private (klass, sizeof (DataSetPrivate)); +#line 1084 "DataSet.c" +} + + +static void data_set_instance_init (DataSet * self) { + SortedList* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv = DATA_SET_GET_PRIVATE (self); +#line 30 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp0_ = sorted_list_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL); +#line 30 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->list = _tmp0_; +#line 31 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _tmp1_ = gee_hash_set_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 31 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->hash_set = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->user_comparator = NULL; +#line 33 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->priv->comparator_predicate = NULL; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self->ref_count = 1; +#line 1107 "DataSet.c" +} + + +static void data_set_finalize (DataSet* obj) { + DataSet * self; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATA_SET, DataSet); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_signal_handlers_destroy (self); +#line 30 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _g_object_unref0 (self->priv->list); +#line 31 "/home/jens/Source/shotwell/src/core/DataSet.vala" + _g_object_unref0 (self->priv->hash_set); +#line 1121 "DataSet.c" +} + + +GType data_set_get_type (void) { + static volatile gsize data_set_type_id__volatile = 0; + if (g_once_init_enter (&data_set_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_data_set_init, value_data_set_free_value, value_data_set_copy_value, value_data_set_peek_pointer, "p", value_data_set_collect_value, "p", value_data_set_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DataSetClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_set_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataSet), 0, (GInstanceInitFunc) data_set_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType data_set_type_id; + data_set_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DataSet", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&data_set_type_id__volatile, data_set_type_id); + } + return data_set_type_id__volatile; +} + + +gpointer data_set_ref (gpointer instance) { + DataSet* self; + self = instance; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_atomic_int_inc (&self->ref_count); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + return instance; +#line 1146 "DataSet.c" +} + + +void data_set_unref (gpointer instance) { + DataSet* self; + self = instance; +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + DATA_SET_GET_CLASS (self)->finalize (self); +#line 29 "/home/jens/Source/shotwell/src/core/DataSet.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1159 "DataSet.c" + } +} + + + diff --git a/src/core/DataSource.c b/src/core/DataSource.c new file mode 100644 index 0000000..2b48942 --- /dev/null +++ b/src/core/DataSource.c @@ -0,0 +1,4864 @@ +/* DataSource.c generated by valac 0.32.1, the Vala compiler + * generated from DataSource.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/**/ +/* DataSource*/ +/* */ +/* A DataSource is an object that is unique throughout the system. DataSources*/ +/* commonly have external and/or persistent representations, hence they have a notion of being*/ +/* destroyed (versus removed or freed). Several DataViews may exist that reference a single*/ +/* DataSource. Note that DataSources MUST be destroyed (rather than simply removed) from their*/ +/* SourceCollection, and that they MUST be destroyed via their SourceCollection (rather than*/ +/* calling DataSource.destroy() directly.)*/ +/**/ +/* Destroying a DataSource indicates it should remove all secondary and tertiary structures (such*/ +/* as thumbnails) and any records pointing to its backing store. SourceCollection.destroy_marked()*/ +/* has a parameter indicating if the backing should be destroyed as well; that is when*/ +/* internal_delete_backing() is called.*/ +/**/ +/* There are no provisions (currently) for a DataSource to be removed from its SourceCollection*/ +/* without destroying its backing and/or secondary and tertiary structures. DataSources are intended*/ +/* to go to the grave with their SourceCollection otherwise. If a need arises for a DataSource to*/ +/* be peaceably removed from its SourceCollection, code will need to be written. SourceSnapshots*/ +/* may be one solution to this problem.*/ +/**/ +/* Some DataSources cannot be reconstituted (for example, if its backing file is deleted). In*/ +/* that case, dehydrate() should return null. When reconstituted, it is the responsibility of the*/ +/* implementation to ensure an exact clone is produced, minus any details that are not relevant or*/ +/* exposed (such as a database ID).*/ +/**/ +/* If other DataSources refer to this DataSource, their state will *not* be */ +/* saved/restored. This must be achieved via other means. However, implementations *should**/ +/* track when changes to external state would break the proxy and call notify_broken();*/ +/**/ + +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#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 _source_holding_tank_unref0(var) ((var == NULL) ? NULL : (var = (source_holding_tank_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; +#define _source_backlink_unref0(var) ((var == NULL) ? NULL : (var = (source_backlink_unref (var), NULL))) +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _SourceSnapshotPrivate SourceSnapshotPrivate; +typedef struct _ParamSpecSourceSnapshot ParamSpecSourceSnapshot; +typedef struct _SourceBacklinkPrivate SourceBacklinkPrivate; +typedef struct _ParamSpecSourceBacklink ParamSpecSourceBacklink; + +#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; +typedef struct _SourceProxyPrivate SourceProxyPrivate; +#define _source_snapshot_unref0(var) ((var == NULL) ? NULL : (var = (source_snapshot_unref (var), NULL))) +typedef struct _ParamSpecSourceProxy ParamSpecSourceProxy; + +#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 _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 _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +struct _DataSourcePrivate { + DataView** subscribers; + gint subscribers_length1; + gint _subscribers_size_; + SourceHoldingTank* holding_tank; + SourceCollection* unlinked_from_collection; + GeeHashMap* backlinks; + gboolean in_contact; + gboolean marked_for_destroy; + gboolean is_destroyed; +}; + +typedef void (*DataSourceContactSubscriber) (DataView* view, void* user_data); +typedef void (*DataSourceContactSubscriberAlteration) (DataView* view, Alteration* alteration, void* user_data); +struct _SourceSnapshot { + GTypeInstance parent_instance; + volatile int ref_count; + SourceSnapshotPrivate * priv; +}; + +struct _SourceSnapshotClass { + GTypeClass parent_class; + void (*finalize) (SourceSnapshot *self); + void (*notify_broken) (SourceSnapshot* self); + void (*broken) (SourceSnapshot* self); +}; + +struct _SourceSnapshotPrivate { + gboolean snapshot_broken; +}; + +struct _ParamSpecSourceSnapshot { + GParamSpec parent_instance; +}; + +struct _SourceBacklink { + GTypeInstance parent_instance; + volatile int ref_count; + SourceBacklinkPrivate * priv; +}; + +struct _SourceBacklinkClass { + GTypeClass parent_class; + void (*finalize) (SourceBacklink *self); +}; + +struct _SourceBacklinkPrivate { + gchar* _name; + gchar* _value; +}; + +struct _ParamSpecSourceBacklink { + GParamSpec parent_instance; +}; + +struct _SourceProxy { + GTypeInstance parent_instance; + volatile int ref_count; + SourceProxyPrivate * priv; +}; + +struct _SourceProxyClass { + GTypeClass parent_class; + void (*finalize) (SourceProxy *self); + DataSource* (*reconstitute) (SourceProxy* self, gint64 object_id, SourceSnapshot* snapshot); + void (*notify_reconstituted) (SourceProxy* self, DataSource* source); + void (*notify_dehydrated) (SourceProxy* self); + void (*notify_broken) (SourceProxy* self); + void (*reconstituted) (SourceProxy* self, DataSource* source); + void (*dehydrated) (SourceProxy* self); + void (*broken) (SourceProxy* self); +}; + +struct _SourceProxyPrivate { + gint64 object_id; + gchar* source_string; + DataSource* source; + SourceSnapshot* snapshot; + SourceCollection* membership; +}; + +struct _ParamSpecSourceProxy { + GParamSpec parent_instance; +}; + +struct _ProxyableIface { + GTypeInterface parent_iface; + SourceProxy* (*get_proxy) (Proxyable* self); +}; + + +static gpointer data_source_parent_class = NULL; +static gpointer source_snapshot_parent_class = NULL; +static gpointer source_backlink_parent_class = NULL; +static gpointer source_proxy_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_source_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +#define DATA_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DATA_SOURCE, DataSourcePrivate)) +enum { + DATA_SOURCE_DUMMY_PROPERTY +}; +DataSource* data_source_construct (GType object_type, gint64 object_id); +DataObject* data_object_construct (GType object_type, gint64 object_id); +static void data_source_real_notify_membership_changed (DataObject* base, DataCollection* collection); +void data_source_notify_unlinked (DataSource* self); +void data_object_notify_membership_changed (DataObject* self, DataCollection* collection); +void data_source_notify_held_in_tank (DataSource* self, SourceHoldingTank* holding_tank); +static void data_source_real_notify_held_in_tank (DataSource* self, SourceHoldingTank* holding_tank); +DataCollection* data_object_get_membership (DataObject* self); +static void data_source_real_notify_altered (DataObject* base, Alteration* alteration); +void source_holding_tank_internal_notify_altered (SourceHoldingTank* self, DataSource* source, Alteration* alteration); +void data_source_contact_subscribers_alteration (DataSource* self, Alteration* alteration); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +void data_source_notify_unlinking (DataSource* self, SourceCollection* collection); +static void data_source_real_notify_unlinking (DataSource* self, SourceCollection* collection); +static void data_source_real_notify_unlinked (DataSource* self); +void data_source_commit_backlinks (DataSource* self, SourceCollection* sources, const gchar* dehydrated); +static gchar* data_source_dehydrate_backlinks (DataSource* self); +void data_source_notify_relinking (DataSource* self, SourceCollection* collection); +static void data_source_real_notify_relinking (DataSource* self, SourceCollection* collection); +void data_source_notify_relinked (DataSource* self); +static void data_source_real_notify_relinked (DataSource* self); +gchar* data_source_get_typename (DataSource* self); +static gchar* data_source_real_get_typename (DataSource* self); +gint64 data_source_get_instance_id (DataSource* self); +static gint64 data_source_real_get_instance_id (DataSource* self); +gchar* data_source_get_source_id (DataSource* self); +static gchar* data_source_real_get_source_id (DataSource* self); +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +gboolean data_source_has_backlink (DataSource* self, SourceBacklink* backlink); +const gchar* source_backlink_get_name (SourceBacklink* self); +const gchar* source_backlink_get_value (SourceBacklink* self); +GeeList* data_source_get_backlinks (DataSource* self, const gchar* name); +SourceBacklink* source_backlink_new (const gchar* name, const gchar* value); +SourceBacklink* source_backlink_construct (GType object_type, const gchar* name, const gchar* value); +void data_source_set_backlink (DataSource* self, SourceBacklink* backlink); +void source_collection_internal_backlink_set (SourceCollection* self, DataSource* source, SourceBacklink* backlink); +gboolean data_source_remove_backlink (DataSource* self, SourceBacklink* backlink); +void source_collection_internal_backlink_removed (SourceCollection* self, DataSource* source, SourceBacklink* backlink); +static void data_source_real_commit_backlinks (DataSource* self, SourceCollection* sources, const gchar* dehydrated); +gchar* data_object_to_string (DataObject* self); +gboolean is_string_empty (const gchar* s); +void data_source_rehydrate_backlinks (DataSource* self, SourceCollection* unlinked_from, const gchar* dehydrated); +SourceSnapshot* data_source_save_snapshot (DataSource* self); +static SourceSnapshot* data_source_real_save_snapshot (DataSource* self); +void data_source_internal_mark_for_destroy (DataSource* self); +gboolean data_source_internal_delete_backing (DataSource* self, GError** error); +static gboolean data_source_real_internal_delete_backing (DataSource* self, GError** error); +gboolean data_source_equals (DataSource* self, DataSource* source); +static gboolean data_source_real_equals (DataSource* self, DataSource* source); +void data_source_destroy (DataSource* self); +static void data_source_real_destroy (DataSource* self); +void data_view_notify_unsubscribed (DataView* self, DataSource* source); +gboolean data_source_destroy_orphan (DataSource* self, gboolean delete_backing); +void source_collection_notify_unlinked_destroyed (SourceCollection* self, DataSource* unlinked); +void data_source_internal_subscribe (DataSource* self, DataView* view); +static void _vala_array_add122 (DataView*** array, int* length, int* size, DataView* value); +void data_source_internal_unsubscribe (DataSource* self, DataView* view); +void data_source_contact_subscribers (DataSource* self, DataSourceContactSubscriber contact_subscriber, void* contact_subscriber_target); +static void data_source_real_unlinked (DataSource* self, SourceCollection* sources); +static void g_cclosure_user_marshal_VOID__DATA_COLLECTION (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void data_source_real_relinked (DataSource* self, SourceCollection* sources); +static void data_source_real_destroyed (DataSource* self); +static void data_source_finalize (GObject* obj); +#define SOURCE_SNAPSHOT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SOURCE_SNAPSHOT, SourceSnapshotPrivate)) +enum { + SOURCE_SNAPSHOT_DUMMY_PROPERTY +}; +void source_snapshot_notify_broken (SourceSnapshot* self); +static void source_snapshot_real_notify_broken (SourceSnapshot* self); +gboolean source_snapshot_is_broken (SourceSnapshot* self); +SourceSnapshot* source_snapshot_construct (GType object_type); +static void source_snapshot_real_broken (SourceSnapshot* self); +static void source_snapshot_finalize (SourceSnapshot* obj); +#define SOURCE_BACKLINK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SOURCE_BACKLINK, SourceBacklinkPrivate)) +enum { + SOURCE_BACKLINK_DUMMY_PROPERTY +}; +static gboolean source_backlink_validate_name_value (const gchar* name, const gchar* value); +SourceBacklink* source_backlink_new_from_source (DataSource* source); +SourceBacklink* source_backlink_construct_from_source (GType object_type, DataSource* source); +gchar* source_backlink_to_string (SourceBacklink* self); +guint source_backlink_hash_func (SourceBacklink* backlink); +gboolean source_backlink_equal_func (SourceBacklink* alink, SourceBacklink* blink); +const gchar* source_backlink_get_typename (SourceBacklink* self); +gint64 source_backlink_get_instance_id (SourceBacklink* self); +static void source_backlink_finalize (SourceBacklink* obj); +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 SOURCE_PROXY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SOURCE_PROXY, SourceProxyPrivate)) +enum { + SOURCE_PROXY_DUMMY_PROPERTY +}; +static void source_proxy_drop_source (SourceProxy* self); +static void source_proxy_on_source_added (SourceProxy* self, GeeIterable* added); +static void _source_proxy_on_source_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self); +SourceProxy* source_proxy_construct (GType object_type, DataSource* source); +gint64 data_object_get_object_id (DataObject* self); +static void source_proxy_on_snapshot_broken (SourceProxy* self); +static void _source_proxy_on_snapshot_broken_source_snapshot_broken (SourceSnapshot* _sender, gpointer self); +static void source_proxy_set_source (SourceProxy* self, DataSource* source); +DataSource* source_proxy_reconstitute (SourceProxy* self, gint64 object_id, SourceSnapshot* snapshot); +static DataSource* source_proxy_real_reconstitute (SourceProxy* self, gint64 object_id, SourceSnapshot* snapshot); +void source_proxy_notify_reconstituted (SourceProxy* self, DataSource* source); +static void source_proxy_real_notify_reconstituted (SourceProxy* self, DataSource* source); +void source_proxy_notify_dehydrated (SourceProxy* self); +static void source_proxy_real_notify_dehydrated (SourceProxy* self); +void source_proxy_notify_broken (SourceProxy* self); +static void source_proxy_real_notify_broken (SourceProxy* self); +static void source_proxy_on_destroyed (SourceProxy* self); +static void _source_proxy_on_destroyed_data_source_destroyed (DataSource* _sender, gpointer self); +DataSource* source_proxy_get_source (SourceProxy* self); +gboolean data_collection_contains (DataCollection* self, DataObject* object); +static void source_proxy_real_reconstituted (SourceProxy* self, DataSource* source); +static void source_proxy_real_dehydrated (SourceProxy* self); +static void source_proxy_real_broken (SourceProxy* self); +static void source_proxy_finalize (SourceProxy* obj); +GType proxyable_get_type (void) G_GNUC_CONST; +SourceProxy* proxyable_get_proxy (Proxyable* self); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +DataSource* data_source_construct (GType object_type, gint64 object_id) { + DataSource * self = NULL; + gint64 _tmp0_ = 0LL; +#line 64 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = object_id; +#line 64 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = (DataSource*) data_object_construct (object_type, _tmp0_); +#line 63 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return self; +#line 492 "DataSource.c" +} + + +static void data_source_real_notify_membership_changed (DataObject* base, DataCollection* collection) { + DataSource * self; + DataCollection* _tmp0_ = NULL; + gboolean _tmp5_ = FALSE; + DataCollection* _tmp6_ = NULL; + DataCollection* _tmp8_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DATA_SOURCE, DataSource); +#line 73 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail ((collection == NULL) || IS_DATA_COLLECTION (collection)); +#line 75 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = collection; +#line 75 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_ == NULL) { +#line 510 "DataSource.c" + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 76 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = self->priv->is_destroyed; +#line 76 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp2_) { +#line 76 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = TRUE; +#line 519 "DataSource.c" + } else { + GeeHashMap* _tmp3_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = self->priv->backlinks; +#line 76 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = _tmp3_ != NULL; +#line 526 "DataSource.c" + } +#line 76 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp1_, "is_destroyed || backlinks != null"); +#line 530 "DataSource.c" + } else { + gboolean _tmp4_ = FALSE; +#line 78 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = self->priv->is_destroyed; +#line 78 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (!_tmp4_, "!is_destroyed"); +#line 537 "DataSource.c" + } +#line 82 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = collection; +#line 82 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp6_ == NULL) { +#line 543 "DataSource.c" + GeeHashMap* _tmp7_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = self->priv->backlinks; +#line 82 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = _tmp7_ != NULL; +#line 549 "DataSource.c" + } else { +#line 82 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = FALSE; +#line 553 "DataSource.c" + } +#line 82 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp5_) { +#line 83 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_source_notify_unlinked (self); +#line 559 "DataSource.c" + } +#line 85 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = collection; +#line 85 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_OBJECT_CLASS (data_source_parent_class)->notify_membership_changed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp8_); +#line 565 "DataSource.c" +} + + +static gpointer _source_holding_tank_ref0 (gpointer self) { +#line 100 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return self ? source_holding_tank_ref (self) : NULL; +#line 572 "DataSource.c" +} + + +static void data_source_real_notify_held_in_tank (DataSource* self, SourceHoldingTank* holding_tank) { + DataCollection* _tmp0_ = NULL; + DataCollection* _tmp1_ = NULL; + SourceHoldingTank* _tmp2_ = NULL; + SourceHoldingTank* _tmp5_ = NULL; + SourceHoldingTank* _tmp6_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail ((holding_tank == NULL) || IS_SOURCE_HOLDING_TANK (holding_tank)); +#line 90 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 90 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = _tmp0_; +#line 90 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp1_ == NULL, "get_membership() == null"); +#line 90 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _data_collection_unref0 (_tmp1_); +#line 94 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = holding_tank; +#line 94 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp2_ != NULL) { +#line 596 "DataSource.c" + SourceHoldingTank* _tmp3_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = self->priv->holding_tank; +#line 95 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp3_ == NULL, "this.holding_tank == null"); +#line 602 "DataSource.c" + } else { + SourceHoldingTank* _tmp4_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = self->priv->holding_tank; +#line 97 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp4_ != NULL, "this.holding_tank != null"); +#line 609 "DataSource.c" + } +#line 100 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = holding_tank; +#line 100 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = _source_holding_tank_ref0 (_tmp5_); +#line 100 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _source_holding_tank_unref0 (self->priv->holding_tank); +#line 100 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->holding_tank = _tmp6_; +#line 619 "DataSource.c" +} + + +void data_source_notify_held_in_tank (DataSource* self, SourceHoldingTank* holding_tank) { +#line 88 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 88 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_SOURCE_GET_CLASS (self)->notify_held_in_tank (self, holding_tank); +#line 628 "DataSource.c" +} + + +static void data_source_real_notify_altered (DataObject* base, Alteration* alteration) { + DataSource * self; + SourceHoldingTank* _tmp0_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DATA_SOURCE, DataSource); +#line 103 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 105 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->holding_tank; +#line 105 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_ != NULL) { +#line 643 "DataSource.c" + SourceHoldingTank* _tmp1_ = NULL; + Alteration* _tmp2_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->holding_tank; +#line 106 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = alteration; +#line 106 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_holding_tank_internal_notify_altered (_tmp1_, self, _tmp2_); +#line 652 "DataSource.c" + } else { + Alteration* _tmp3_ = NULL; + Alteration* _tmp4_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = alteration; +#line 108 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_source_contact_subscribers_alteration (self, _tmp3_); +#line 110 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = alteration; +#line 110 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_OBJECT_CLASS (data_source_parent_class)->notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp4_); +#line 664 "DataSource.c" + } +} + + +static void data_source_real_notify_unlinking (DataSource* self, SourceCollection* collection) { + gboolean _tmp0_ = FALSE; + GeeHashMap* _tmp1_ = NULL; + SourceCollection* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (collection)); +#line 116 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->backlinks; +#line 116 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp1_ == NULL) { +#line 680 "DataSource.c" + SourceCollection* _tmp2_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = self->priv->unlinked_from_collection; +#line 116 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = _tmp2_ == NULL; +#line 686 "DataSource.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = FALSE; +#line 690 "DataSource.c" + } +#line 116 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp0_, "backlinks == null && unlinked_from_collection == null"); +#line 118 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = collection; +#line 118 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->unlinked_from_collection = _tmp3_; +#line 119 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GEE_TYPE_LIST, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 119 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (self->priv->backlinks); +#line 119 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->backlinks = _tmp4_; +#line 704 "DataSource.c" +} + + +void data_source_notify_unlinking (DataSource* self, SourceCollection* collection) { +#line 115 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 115 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_SOURCE_GET_CLASS (self)->notify_unlinking (self, collection); +#line 713 "DataSource.c" +} + + +static void data_source_real_notify_unlinked (DataSource* self) { + gboolean _tmp0_ = FALSE; + SourceCollection* _tmp1_ = NULL; + SourceCollection* _tmp3_ = NULL; + GeeHashMap* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 124 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->unlinked_from_collection; +#line 124 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp1_ != NULL) { +#line 728 "DataSource.c" + GeeHashMap* _tmp2_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = self->priv->backlinks; +#line 124 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = _tmp2_ != NULL; +#line 734 "DataSource.c" + } else { +#line 124 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = FALSE; +#line 738 "DataSource.c" + } +#line 124 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp0_, "unlinked_from_collection != null && backlinks != null"); +#line 126 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = self->priv->unlinked_from_collection; +#line 126 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_emit_by_name (self, "unlinked", _tmp3_); +#line 129 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = self->priv->backlinks; +#line 129 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_MAP, GeeMap)); +#line 129 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = _tmp5_; +#line 129 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp6_ > 0) { +#line 754 "DataSource.c" + SourceCollection* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = self->priv->unlinked_from_collection; +#line 130 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = data_source_dehydrate_backlinks (self); +#line 130 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = _tmp8_; +#line 130 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_source_commit_backlinks (self, _tmp7_, _tmp9_); +#line 130 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp9_); +#line 768 "DataSource.c" + } +} + + +void data_source_notify_unlinked (DataSource* self) { +#line 123 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 123 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_SOURCE_GET_CLASS (self)->notify_unlinked (self); +#line 778 "DataSource.c" +} + + +static void data_source_real_notify_relinking (DataSource* self, SourceCollection* collection) { + gboolean _tmp0_ = FALSE; + GeeHashMap* _tmp1_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (collection)); +#line 135 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->backlinks; +#line 135 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp1_ != NULL) { +#line 791 "DataSource.c" + SourceCollection* _tmp2_ = NULL; + SourceCollection* _tmp3_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = self->priv->unlinked_from_collection; +#line 135 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = collection; +#line 135 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = _tmp2_ == _tmp3_; +#line 800 "DataSource.c" + } else { +#line 135 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = FALSE; +#line 804 "DataSource.c" + } +#line 135 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp0_, "(backlinks != null) && (unlinked_from_collection == collection)"); +#line 808 "DataSource.c" +} + + +void data_source_notify_relinking (DataSource* self, SourceCollection* collection) { +#line 134 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 134 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_SOURCE_GET_CLASS (self)->notify_relinking (self, collection); +#line 817 "DataSource.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 142 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return self ? data_collection_ref (self) : NULL; +#line 824 "DataSource.c" +} + + +static void data_source_real_notify_relinked (DataSource* self) { + gboolean _tmp0_ = FALSE; + GeeHashMap* _tmp1_ = NULL; + SourceCollection* relinked_to = NULL; + SourceCollection* _tmp3_ = NULL; + SourceCollection* _tmp4_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->backlinks; +#line 140 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp1_ != NULL) { +#line 838 "DataSource.c" + SourceCollection* _tmp2_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = self->priv->unlinked_from_collection; +#line 140 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = _tmp2_ != NULL; +#line 844 "DataSource.c" + } else { +#line 140 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = FALSE; +#line 848 "DataSource.c" + } +#line 140 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp0_, "backlinks != null && unlinked_from_collection != null"); +#line 142 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = self->priv->unlinked_from_collection; +#line 142 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _data_collection_ref0 (_tmp3_); +#line 142 "/home/jens/Source/shotwell/src/core/DataSource.vala" + relinked_to = _tmp4_; +#line 143 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (self->priv->backlinks); +#line 143 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->backlinks = NULL; +#line 144 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->unlinked_from_collection = NULL; +#line 145 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_emit_by_name (self, "relinked", relinked_to); +#line 148 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_source_commit_backlinks (self, NULL, NULL); +#line 139 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _data_collection_unref0 (relinked_to); +#line 870 "DataSource.c" +} + + +void data_source_notify_relinked (DataSource* self) { +#line 139 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 139 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_SOURCE_GET_CLASS (self)->notify_relinked (self); +#line 879 "DataSource.c" +} + + +static gchar* data_source_real_get_typename (DataSource* self) { +#line 156 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_critical ("Type `%s' does not implement abstract method `data_source_get_typename'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 156 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return NULL; +#line 888 "DataSource.c" +} + + +gchar* data_source_get_typename (DataSource* self) { +#line 156 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), NULL); +#line 156 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return DATA_SOURCE_GET_CLASS (self)->get_typename (self); +#line 897 "DataSource.c" +} + + +static gint64 data_source_real_get_instance_id (DataSource* self) { +#line 162 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_critical ("Type `%s' does not implement abstract method `data_source_get_instance_id'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 162 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return 0LL; +#line 906 "DataSource.c" +} + + +gint64 data_source_get_instance_id (DataSource* self) { +#line 162 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), 0LL); +#line 162 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return DATA_SOURCE_GET_CLASS (self)->get_instance_id (self); +#line 915 "DataSource.c" +} + + +static gchar* data_source_real_get_source_id (DataSource* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = data_source_get_typename (self); +#line 167 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = _tmp0_; +#line 167 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = data_source_get_instance_id (self); +#line 167 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = g_strdup_printf ("%s-%016" G_GINT64_MODIFIER "x", _tmp1_, _tmp2_); +#line 167 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _tmp3_; +#line 167 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp1_); +#line 167 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp4_; +#line 167 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 942 "DataSource.c" +} + + +gchar* data_source_get_source_id (DataSource* self) { +#line 166 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), NULL); +#line 166 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return DATA_SOURCE_GET_CLASS (self)->get_source_id (self); +#line 951 "DataSource.c" +} + + +gboolean data_source_has_backlink (DataSource* self, SourceBacklink* backlink) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + GeeList* values = NULL; + GeeHashMap* _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GeeList* _tmp7_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), FALSE); +#line 170 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (backlink), FALSE); +#line 171 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->backlinks; +#line 171 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_ == NULL) { +#line 172 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = FALSE; +#line 172 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 978 "DataSource.c" + } +#line 174 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->backlinks; +#line 174 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = backlink; +#line 174 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = source_backlink_get_name (_tmp2_); +#line 174 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _tmp3_; +#line 174 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 174 "/home/jens/Source/shotwell/src/core/DataSource.vala" + values = (GeeList*) _tmp5_; +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = values; +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp7_ != NULL) { +#line 996 "DataSource.c" + GeeList* _tmp8_ = NULL; + SourceBacklink* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = values; +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = backlink; +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = source_backlink_get_value (_tmp9_); +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _tmp10_; +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_); +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = _tmp12_; +#line 1014 "DataSource.c" + } else { +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = FALSE; +#line 1018 "DataSource.c" + } +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp6_; +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 176 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1026 "DataSource.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return self ? g_object_ref (self) : NULL; +#line 1033 "DataSource.c" +} + + +GeeList* data_source_get_backlinks (DataSource* self, const gchar* name) { + GeeList* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeList* values = NULL; + GeeHashMap* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gpointer _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GeeList* _tmp5_ = NULL; + GeeList* backlinks = NULL; + GeeArrayList* _tmp9_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), NULL); +#line 179 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 180 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->backlinks; +#line 180 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_ == NULL) { +#line 181 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = NULL; +#line 181 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1060 "DataSource.c" + } +#line 183 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->backlinks; +#line 183 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = name; +#line 183 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_); +#line 183 "/home/jens/Source/shotwell/src/core/DataSource.vala" + values = (GeeList*) _tmp3_; +#line 184 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = values; +#line 184 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp5_ == NULL) { +#line 184 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = TRUE; +#line 1076 "DataSource.c" + } else { + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 184 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = values; +#line 184 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 184 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = _tmp7_; +#line 184 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _tmp8_ == 0; +#line 1089 "DataSource.c" + } +#line 184 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp4_) { +#line 185 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = NULL; +#line 185 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 185 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1099 "DataSource.c" + } +#line 187 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = gee_array_list_new (TYPE_SOURCE_BACKLINK, (GBoxedCopyFunc) source_backlink_ref, source_backlink_unref, NULL, NULL, NULL); +#line 187 "/home/jens/Source/shotwell/src/core/DataSource.vala" + backlinks = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_LIST, GeeList); +#line 1105 "DataSource.c" + { + GeeList* _value_list = NULL; + GeeList* _tmp10_ = NULL; + GeeList* _tmp11_ = NULL; + gint _value_size = 0; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _value_index = 0; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = values; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _value_list = _tmp11_; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = _value_list; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14_ = _tmp13_; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _value_size = _tmp14_; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _value_index = -1; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 1133 "DataSource.c" + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gchar* value = NULL; + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gpointer _tmp20_ = NULL; + GeeList* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + SourceBacklink* _tmp24_ = NULL; + SourceBacklink* _tmp25_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp15_ = _value_index; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _value_index = _tmp15_ + 1; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp16_ = _value_index; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp17_ = _value_size; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!(_tmp16_ < _tmp17_)) { +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 1158 "DataSource.c" + } +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp18_ = _value_list; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp19_ = _value_index; +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp20_ = gee_list_get (_tmp18_, _tmp19_); +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value = (gchar*) _tmp20_; +#line 189 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp21_ = backlinks; +#line 189 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp22_ = name; +#line 189 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp23_ = value; +#line 189 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp24_ = source_backlink_new (_tmp22_, _tmp23_); +#line 189 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp25_ = _tmp24_; +#line 189 "/home/jens/Source/shotwell/src/core/DataSource.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 189 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _source_backlink_unref0 (_tmp25_); +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (value); +#line 1184 "DataSource.c" + } +#line 188 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (_value_list); +#line 1188 "DataSource.c" + } +#line 191 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = backlinks; +#line 191 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 191 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1196 "DataSource.c" +} + + +void data_source_set_backlink (DataSource* self, SourceBacklink* backlink) { + GeeHashMap* _tmp0_ = NULL; + GeeList* values = NULL; + GeeHashMap* _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp13_ = NULL; + SourceBacklink* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + SourceCollection* sources = NULL; + DataCollection* _tmp17_ = NULL; + SourceCollection* _tmp18_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 194 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 196 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->backlinks; +#line 196 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp0_ != NULL, "backlinks != null"); +#line 198 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->backlinks; +#line 198 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = backlink; +#line 198 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = source_backlink_get_name (_tmp2_); +#line 198 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _tmp3_; +#line 198 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 198 "/home/jens/Source/shotwell/src/core/DataSource.vala" + values = (GeeList*) _tmp5_; +#line 199 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = values; +#line 199 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp6_ == NULL) { +#line 1240 "DataSource.c" + GeeArrayList* _tmp7_ = NULL; + GeeHashMap* _tmp8_ = NULL; + SourceBacklink* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GeeList* _tmp12_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 200 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 200 "/home/jens/Source/shotwell/src/core/DataSource.vala" + values = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_LIST, GeeList); +#line 201 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = self->priv->backlinks; +#line 201 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = backlink; +#line 201 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = source_backlink_get_name (_tmp9_); +#line 201 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _tmp10_; +#line 201 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = values; +#line 201 "/home/jens/Source/shotwell/src/core/DataSource.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, _tmp12_); +#line 1265 "DataSource.c" + } +#line 204 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13_ = values; +#line 204 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14_ = backlink; +#line 204 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp15_ = source_backlink_get_value (_tmp14_); +#line 204 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp16_ = _tmp15_; +#line 204 "/home/jens/Source/shotwell/src/core/DataSource.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection), _tmp16_); +#line 206 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp17_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 206 "/home/jens/Source/shotwell/src/core/DataSource.vala" + sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_SOURCE_COLLECTION, SourceCollection); +#line 207 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp18_ = sources; +#line 207 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp18_ != NULL) { +#line 1285 "DataSource.c" + SourceCollection* _tmp19_ = NULL; + SourceBacklink* _tmp20_ = NULL; +#line 208 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp19_ = sources; +#line 208 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp20_ = backlink; +#line 208 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_collection_internal_backlink_set (_tmp19_, self, _tmp20_); +#line 1294 "DataSource.c" + } +#line 194 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _data_collection_unref0 (sources); +#line 194 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 1300 "DataSource.c" +} + + +gboolean data_source_remove_backlink (DataSource* self, SourceBacklink* backlink) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + GeeList* values = NULL; + GeeHashMap* _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + gint original_size = 0; + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + GeeIterator* iter = NULL; + GeeList* _tmp11_ = NULL; + GeeIterator* _tmp12_ = NULL; + GeeList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + SourceCollection* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + SourceCollection* sources = NULL; + DataCollection* _tmp33_ = NULL; + SourceCollection* _tmp34_ = NULL; + GeeList* _tmp37_ = NULL; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; +#line 211 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), FALSE); +#line 211 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (backlink), FALSE); +#line 212 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->backlinks; +#line 212 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_ == NULL) { +#line 213 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = FALSE; +#line 213 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1347 "DataSource.c" + } +#line 215 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->backlinks; +#line 215 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = backlink; +#line 215 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = source_backlink_get_name (_tmp2_); +#line 215 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _tmp3_; +#line 215 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 215 "/home/jens/Source/shotwell/src/core/DataSource.vala" + values = (GeeList*) _tmp5_; +#line 216 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = values; +#line 216 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp6_ == NULL) { +#line 217 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = FALSE; +#line 217 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 217 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1371 "DataSource.c" + } +#line 219 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = values; +#line 219 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 219 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = _tmp8_; +#line 219 "/home/jens/Source/shotwell/src/core/DataSource.vala" + original_size = _tmp9_; +#line 220 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = original_size; +#line 220 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp10_ > 0, "original_size > 0"); +#line 222 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = values; +#line 222 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 222 "/home/jens/Source/shotwell/src/core/DataSource.vala" + iter = _tmp12_; +#line 223 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 1393 "DataSource.c" + GeeIterator* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + GeeIterator* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + SourceBacklink* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 223 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13_ = iter; +#line 223 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14_ = gee_iterator_next (_tmp13_); +#line 223 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp14_) { +#line 223 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 1411 "DataSource.c" + } +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp15_ = iter; +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp16_ = gee_iterator_get (_tmp15_); +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp17_ = (gchar*) _tmp16_; +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp18_ = backlink; +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp19_ = source_backlink_get_value (_tmp18_); +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp20_ = _tmp19_; +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp21_ = g_strcmp0 (_tmp17_, _tmp20_) == 0; +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp17_); +#line 224 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp21_) { +#line 1431 "DataSource.c" + GeeIterator* _tmp22_ = NULL; +#line 225 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp22_ = iter; +#line 225 "/home/jens/Source/shotwell/src/core/DataSource.vala" + gee_iterator_remove (_tmp22_); +#line 1437 "DataSource.c" + } + } +#line 228 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp23_ = values; +#line 228 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp24_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 228 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp25_ = _tmp24_; +#line 228 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp25_ == 0) { +#line 1448 "DataSource.c" + GeeHashMap* _tmp26_ = NULL; + SourceBacklink* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp26_ = self->priv->backlinks; +#line 229 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp27_ = backlink; +#line 229 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp28_ = source_backlink_get_name (_tmp27_); +#line 229 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp29_ = _tmp28_; +#line 229 "/home/jens/Source/shotwell/src/core/DataSource.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp29_, NULL); +#line 1463 "DataSource.c" + } +#line 233 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp30_ = self->priv->unlinked_from_collection; +#line 233 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp31_ = data_source_dehydrate_backlinks (self); +#line 233 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp32_ = _tmp31_; +#line 233 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_source_commit_backlinks (self, _tmp30_, _tmp32_); +#line 233 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp32_); +#line 235 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp33_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 235 "/home/jens/Source/shotwell/src/core/DataSource.vala" + sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_SOURCE_COLLECTION, SourceCollection); +#line 236 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp34_ = sources; +#line 236 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp34_ != NULL) { +#line 1483 "DataSource.c" + SourceCollection* _tmp35_ = NULL; + SourceBacklink* _tmp36_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp35_ = sources; +#line 237 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp36_ = backlink; +#line 237 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_collection_internal_backlink_removed (_tmp35_, self, _tmp36_); +#line 1492 "DataSource.c" + } +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp37_ = values; +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp38_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp39_ = _tmp38_; +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp40_ = original_size; +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp39_ != _tmp40_; +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _data_collection_unref0 (sources); +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (iter); +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 239 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1512 "DataSource.c" +} + + +static void data_source_real_commit_backlinks (DataSource* self, SourceCollection* sources, const gchar* dehydrated) { + gboolean _tmp0_ = FALSE; + SourceCollection* _tmp1_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail ((sources == NULL) || IS_SOURCE_COLLECTION (sources)); +#line 249 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = sources; +#line 249 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp1_ != NULL) { +#line 249 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = TRUE; +#line 1527 "DataSource.c" + } else { + const gchar* _tmp2_ = NULL; +#line 249 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = dehydrated; +#line 249 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = _tmp2_ != NULL; +#line 1534 "DataSource.c" + } +#line 249 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_) { +#line 1538 "DataSource.c" + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 250 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _tmp3_; +#line 250 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_warning ("DataSource.vala:250: No implementation to commit link state for %s", _tmp4_); +#line 250 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp4_); +#line 1549 "DataSource.c" + } +} + + +void data_source_commit_backlinks (DataSource* self, SourceCollection* sources, const gchar* dehydrated) { +#line 248 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 248 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_SOURCE_GET_CLASS (self)->commit_backlinks (self, sources, dehydrated); +#line 1559 "DataSource.c" +} + + +static gchar* data_source_dehydrate_backlinks (DataSource* self) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + GeeHashMap* _tmp1_ = NULL; + GString* builder = NULL; + GString* _tmp5_ = NULL; + const gchar* _tmp51_ = NULL; + GString* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + gint _tmp54_ = 0; + gint _tmp55_ = 0; + gchar* _tmp58_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), NULL); +#line 254 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->backlinks; +#line 254 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp1_ == NULL) { +#line 254 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = TRUE; +#line 1583 "DataSource.c" + } else { + GeeHashMap* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 254 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = self->priv->backlinks; +#line 254 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 254 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _tmp3_; +#line 254 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = _tmp4_ == 0; +#line 1596 "DataSource.c" + } +#line 254 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_) { +#line 255 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = NULL; +#line 255 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1604 "DataSource.c" + } +#line 257 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = g_string_new (""); +#line 257 "/home/jens/Source/shotwell/src/core/DataSource.vala" + builder = _tmp5_; +#line 1610 "DataSource.c" + { + GeeIterator* _name_it = NULL; + GeeHashMap* _tmp6_ = NULL; + GeeSet* _tmp7_ = NULL; + GeeSet* _tmp8_ = NULL; + GeeSet* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = self->priv->backlinks; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_MAP, GeeMap)); +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = _tmp7_; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = _tmp8_; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _tmp10_; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (_tmp9_); +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _name_it = _tmp11_; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 1637 "DataSource.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gchar* name = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GeeList* values = NULL; + GeeHashMap* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + GeeList* _tmp20_ = NULL; + gchar* value_field = NULL; + gchar* _tmp24_ = NULL; + const gchar* _tmp43_ = NULL; + gint _tmp44_ = 0; + gint _tmp45_ = 0; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = _name_it; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp13_) { +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 1662 "DataSource.c" + } +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14_ = _name_it; +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + name = (gchar*) _tmp15_; +#line 259 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp16_ = self->priv->backlinks; +#line 259 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp17_ = name; +#line 259 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp18_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp17_); +#line 259 "/home/jens/Source/shotwell/src/core/DataSource.vala" + values = (GeeList*) _tmp18_; +#line 260 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp20_ = values; +#line 260 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp20_ == NULL) { +#line 260 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp19_ = TRUE; +#line 1684 "DataSource.c" + } else { + GeeList* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 260 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp21_ = values; +#line 260 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp22_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 260 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp23_ = _tmp22_; +#line 260 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp19_ = _tmp23_ == 0; +#line 1697 "DataSource.c" + } +#line 260 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp19_) { +#line 261 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 261 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (name); +#line 261 "/home/jens/Source/shotwell/src/core/DataSource.vala" + continue; +#line 1707 "DataSource.c" + } +#line 263 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp24_ = g_strdup (""); +#line 263 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value_field = _tmp24_; +#line 1713 "DataSource.c" + { + GeeList* _value_list = NULL; + GeeList* _tmp25_ = NULL; + GeeList* _tmp26_ = NULL; + gint _value_size = 0; + GeeList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _value_index = 0; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp25_ = values; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp26_ = _g_object_ref0 (_tmp25_); +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _value_list = _tmp26_; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp27_ = _value_list; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp28_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp29_ = _tmp28_; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _value_size = _tmp29_; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _value_index = -1; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 1741 "DataSource.c" + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + gchar* value = NULL; + GeeList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gpointer _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp30_ = _value_index; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _value_index = _tmp30_ + 1; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp31_ = _value_index; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp32_ = _value_size; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!(_tmp31_ < _tmp32_)) { +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 1763 "DataSource.c" + } +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp33_ = _value_list; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp34_ = _value_index; +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp35_ = gee_list_get (_tmp33_, _tmp34_); +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value = (gchar*) _tmp35_; +#line 265 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp36_ = value; +#line 265 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp37_ = is_string_empty (_tmp36_); +#line 265 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp37_) { +#line 1779 "DataSource.c" + const gchar* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; +#line 266 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp38_ = value_field; +#line 266 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp39_ = value; +#line 266 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp40_ = g_strconcat (_tmp39_, "|", NULL); +#line 266 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp41_ = _tmp40_; +#line 266 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp42_ = g_strconcat (_tmp38_, _tmp41_, NULL); +#line 266 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (value_field); +#line 266 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value_field = _tmp42_; +#line 266 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp41_); +#line 1801 "DataSource.c" + } +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (value); +#line 1805 "DataSource.c" + } +#line 264 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (_value_list); +#line 1809 "DataSource.c" + } +#line 269 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp43_ = value_field; +#line 269 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp44_ = strlen (_tmp43_); +#line 269 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp45_ = _tmp44_; +#line 269 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp45_ > 0) { +#line 1819 "DataSource.c" + GString* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; +#line 270 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp46_ = builder; +#line 270 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp47_ = name; +#line 270 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp48_ = value_field; +#line 270 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp49_ = g_strdup_printf ("%s=%s\n", _tmp47_, _tmp48_); +#line 270 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp50_ = _tmp49_; +#line 270 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_string_append (_tmp46_, _tmp50_); +#line 270 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp50_); +#line 1839 "DataSource.c" + } +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (value_field); +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (name); +#line 1847 "DataSource.c" + } +#line 258 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (_name_it); +#line 1851 "DataSource.c" + } +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp52_ = builder; +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp53_ = _tmp52_->str; +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp54_ = strlen (_tmp53_); +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp55_ = _tmp54_; +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp55_ > 0) { +#line 1863 "DataSource.c" + GString* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp56_ = builder; +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp57_ = _tmp56_->str; +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp51_ = _tmp57_; +#line 1872 "DataSource.c" + } else { +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp51_ = NULL; +#line 1876 "DataSource.c" + } +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp58_ = g_strdup (_tmp51_); +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp58_; +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_string_free0 (builder); +#line 273 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 1886 "DataSource.c" +} + + +void data_source_rehydrate_backlinks (DataSource* self, SourceCollection* unlinked_from, const gchar* dehydrated) { + SourceCollection* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar** lines = NULL; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint lines_length1 = 0; + gint _lines_size_ = 0; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 278 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 278 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (unlinked_from)); +#line 279 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = unlinked_from; +#line 279 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->unlinked_from_collection = _tmp0_; +#line 280 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GEE_TYPE_LIST, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 280 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (self->priv->backlinks); +#line 280 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->backlinks = _tmp1_; +#line 282 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = dehydrated; +#line 282 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp2_ == NULL) { +#line 283 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return; +#line 1922 "DataSource.c" + } +#line 285 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = dehydrated; +#line 285 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = _tmp4_ = g_strsplit (_tmp3_, "\n", 0); +#line 285 "/home/jens/Source/shotwell/src/core/DataSource.vala" + lines = _tmp5_; +#line 285 "/home/jens/Source/shotwell/src/core/DataSource.vala" + lines_length1 = _vala_array_length (_tmp4_); +#line 285 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _lines_size_ = lines_length1; +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = lines; +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6__length1 = lines_length1; +#line 1938 "DataSource.c" + { + gchar** line_collection = NULL; + gint line_collection_length1 = 0; + gint _line_collection_size_ = 0; + gint line_it = 0; +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + line_collection = _tmp6_; +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + line_collection_length1 = _tmp6__length1; +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + for (line_it = 0; line_it < _tmp6__length1; line_it = line_it + 1) { +#line 1950 "DataSource.c" + gchar* _tmp7_ = NULL; + gchar* line = NULL; +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = g_strdup (line_collection[line_it]); +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + line = _tmp7_; +#line 1957 "DataSource.c" + { + const gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gchar** tokens = NULL; + const gchar* _tmp11_ = NULL; + gchar** _tmp12_ = NULL; + gchar** _tmp13_ = NULL; + gint tokens_length1 = 0; + gint _tokens_size_ = 0; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gchar** decoded_values = NULL; + gchar** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + const gchar* _tmp19_ = NULL; + gchar** _tmp20_ = NULL; + gchar** _tmp21_ = NULL; + gint decoded_values_length1 = 0; + gint _decoded_values_size_ = 0; + GeeList* values = NULL; + GeeArrayList* _tmp22_ = NULL; + gchar** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + GeeList* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint _tmp34_ = 0; +#line 287 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = line; +#line 287 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = strlen (_tmp8_); +#line 287 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = _tmp9_; +#line 287 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp10_ == 0) { +#line 288 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (line); +#line 288 "/home/jens/Source/shotwell/src/core/DataSource.vala" + continue; +#line 1997 "DataSource.c" + } +#line 290 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = line; +#line 290 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13_ = _tmp12_ = g_strsplit (_tmp11_, "=", 2); +#line 290 "/home/jens/Source/shotwell/src/core/DataSource.vala" + tokens = _tmp13_; +#line 290 "/home/jens/Source/shotwell/src/core/DataSource.vala" + tokens_length1 = _vala_array_length (_tmp12_); +#line 290 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tokens_size_ = tokens_length1; +#line 291 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14_ = tokens; +#line 291 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14__length1 = tokens_length1; +#line 291 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp14__length1 < 2) { +#line 2015 "DataSource.c" + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp15_ = line; +#line 292 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp16_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 292 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp17_ = _tmp16_; +#line 292 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_warning ("DataSource.vala:292: Unable to rehydrate \"%s\" for %s: name and value" \ +" not present", _tmp15_, _tmp17_); +#line 292 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp17_); +#line 295 "/home/jens/Source/shotwell/src/core/DataSource.vala" + tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL); +#line 295 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (line); +#line 295 "/home/jens/Source/shotwell/src/core/DataSource.vala" + continue; +#line 2035 "DataSource.c" + } +#line 298 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp18_ = tokens; +#line 298 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp18__length1 = tokens_length1; +#line 298 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp19_ = _tmp18_[1]; +#line 298 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp21_ = _tmp20_ = g_strsplit (_tmp19_, "|", 0); +#line 298 "/home/jens/Source/shotwell/src/core/DataSource.vala" + decoded_values = _tmp21_; +#line 298 "/home/jens/Source/shotwell/src/core/DataSource.vala" + decoded_values_length1 = _vala_array_length (_tmp20_); +#line 298 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _decoded_values_size_ = decoded_values_length1; +#line 299 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp22_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 299 "/home/jens/Source/shotwell/src/core/DataSource.vala" + values = G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_LIST, GeeList); +#line 300 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp23_ = decoded_values; +#line 300 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp23__length1 = decoded_values_length1; +#line 2059 "DataSource.c" + { + gchar** value_collection = NULL; + gint value_collection_length1 = 0; + gint _value_collection_size_ = 0; + gint value_it = 0; +#line 300 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value_collection = _tmp23_; +#line 300 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value_collection_length1 = _tmp23__length1; +#line 300 "/home/jens/Source/shotwell/src/core/DataSource.vala" + for (value_it = 0; value_it < _tmp23__length1; value_it = value_it + 1) { +#line 2071 "DataSource.c" + gchar* _tmp24_ = NULL; + gchar* value = NULL; +#line 300 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp24_ = g_strdup (value_collection[value_it]); +#line 300 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value = _tmp24_; +#line 2078 "DataSource.c" + { + gboolean _tmp25_ = FALSE; + const gchar* _tmp26_ = NULL; +#line 301 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp26_ = value; +#line 301 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp26_ != NULL) { +#line 2086 "DataSource.c" + const gchar* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 301 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp27_ = value; +#line 301 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp28_ = strlen (_tmp27_); +#line 301 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp29_ = _tmp28_; +#line 301 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp25_ = _tmp29_ > 0; +#line 2098 "DataSource.c" + } else { +#line 301 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp25_ = FALSE; +#line 2102 "DataSource.c" + } +#line 301 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp25_) { +#line 2106 "DataSource.c" + GeeList* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; +#line 302 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp30_ = values; +#line 302 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp31_ = value; +#line 302 "/home/jens/Source/shotwell/src/core/DataSource.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection), _tmp31_); +#line 2115 "DataSource.c" + } +#line 300 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (value); +#line 2119 "DataSource.c" + } + } + } +#line 305 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp32_ = values; +#line 305 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp33_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 305 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp34_ = _tmp33_; +#line 305 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp34_ > 0) { +#line 2131 "DataSource.c" + GeeHashMap* _tmp35_ = NULL; + gchar** _tmp36_ = NULL; + gint _tmp36__length1 = 0; + const gchar* _tmp37_ = NULL; + GeeList* _tmp38_ = NULL; +#line 306 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp35_ = self->priv->backlinks; +#line 306 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp36_ = tokens; +#line 306 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp36__length1 = tokens_length1; +#line 306 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp37_ = _tmp36_[0]; +#line 306 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp38_ = values; +#line 306 "/home/jens/Source/shotwell/src/core/DataSource.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp37_, _tmp38_); +#line 2149 "DataSource.c" + } +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (values); +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + decoded_values = (_vala_array_free (decoded_values, decoded_values_length1, (GDestroyNotify) g_free), NULL); +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + tokens = (_vala_array_free (tokens, tokens_length1, (GDestroyNotify) g_free), NULL); +#line 286 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (line); +#line 2159 "DataSource.c" + } + } + } +#line 278 "/home/jens/Source/shotwell/src/core/DataSource.vala" + lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL); +#line 2165 "DataSource.c" +} + + +static SourceSnapshot* data_source_real_save_snapshot (DataSource* self) { + SourceSnapshot* result = NULL; +#line 312 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = NULL; +#line 312 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 2175 "DataSource.c" +} + + +SourceSnapshot* data_source_save_snapshot (DataSource* self) { +#line 311 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), NULL); +#line 311 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return DATA_SOURCE_GET_CLASS (self)->save_snapshot (self); +#line 2184 "DataSource.c" +} + + +void data_source_internal_mark_for_destroy (DataSource* self) { +#line 316 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 317 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->marked_for_destroy = TRUE; +#line 2193 "DataSource.c" +} + + +static gboolean data_source_real_internal_delete_backing (DataSource* self, GError** error) { + gboolean result = FALSE; +#line 325 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = TRUE; +#line 325 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 2203 "DataSource.c" +} + + +gboolean data_source_internal_delete_backing (DataSource* self, GError** error) { +#line 324 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), FALSE); +#line 324 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return DATA_SOURCE_GET_CLASS (self)->internal_delete_backing (self, error); +#line 2212 "DataSource.c" +} + + +static gboolean data_source_real_equals (DataSource* self, DataSource* source) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 330 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail ((source == NULL) || IS_DATA_SOURCE (source), FALSE); +#line 331 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = source; +#line 331 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = self == _tmp0_; +#line 331 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 2227 "DataSource.c" +} + + +gboolean data_source_equals (DataSource* self, DataSource* source) { +#line 330 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), FALSE); +#line 330 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return DATA_SOURCE_GET_CLASS (self)->equals (self, source); +#line 2236 "DataSource.c" +} + + +static void data_source_real_destroy (DataSource* self) { + gboolean _tmp0_ = FALSE; +#line 341 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->marked_for_destroy; +#line 341 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp0_, "marked_for_destroy"); +#line 344 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->is_destroyed = TRUE; +#line 2248 "DataSource.c" + { + gint ctr = 0; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = 0; +#line 2253 "DataSource.c" + { + gboolean _tmp1_ = FALSE; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = TRUE; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 2260 "DataSource.c" + gint _tmp3_ = 0; + DataView** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + DataView** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + DataView* _tmp7_ = NULL; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp1_) { +#line 2270 "DataSource.c" + gint _tmp2_ = 0; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = ctr; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = _tmp2_ + 1; +#line 2276 "DataSource.c" + } +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = FALSE; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = ctr; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = self->priv->subscribers; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4__length1 = self->priv->subscribers_length1; +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 347 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 2290 "DataSource.c" + } +#line 348 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = self->priv->subscribers; +#line 348 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5__length1 = self->priv->subscribers_length1; +#line 348 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = ctr; +#line 348 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 348 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp7_ != NULL) { +#line 2302 "DataSource.c" + DataView* view = NULL; + DataView** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + DataView* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + DataView** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + gint _tmp13_ = 0; + DataView* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = self->priv->subscribers; +#line 349 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8__length1 = self->priv->subscribers_length1; +#line 349 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = ctr; +#line 349 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 349 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 349 "/home/jens/Source/shotwell/src/core/DataSource.vala" + view = _tmp11_; +#line 350 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = self->priv->subscribers; +#line 350 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12__length1 = self->priv->subscribers_length1; +#line 350 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13_ = ctr; +#line 350 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (_tmp12_[_tmp13_]); +#line 350 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_[_tmp13_] = NULL; +#line 350 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14_ = _tmp12_[_tmp13_]; +#line 352 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp15_ = view; +#line 352 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_view_notify_unsubscribed (_tmp15_, self); +#line 348 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (view); +#line 2344 "DataSource.c" + } + } + } + } +#line 357 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_emit_by_name (self, "destroyed"); +#line 2351 "DataSource.c" +} + + +void data_source_destroy (DataSource* self) { +#line 340 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 340 "/home/jens/Source/shotwell/src/core/DataSource.vala" + DATA_SOURCE_GET_CLASS (self)->destroy (self); +#line 2360 "DataSource.c" +} + + +gboolean data_source_destroy_orphan (DataSource* self, gboolean delete_backing) { + gboolean result = FALSE; + gboolean ret = FALSE; + gboolean _tmp0_ = FALSE; + SourceCollection* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 366 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (self), FALSE); +#line 367 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ret = TRUE; +#line 368 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = delete_backing; +#line 368 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_) { +#line 2378 "DataSource.c" + { + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 370 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = data_source_internal_delete_backing (self, &_inner_error_); +#line 370 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = _tmp2_; +#line 370 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2389 "DataSource.c" + goto __catch47_g_error; + } +#line 370 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ret = _tmp1_; +#line 371 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = ret; +#line 371 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp3_) { +#line 2398 "DataSource.c" + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 372 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 372 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = _tmp4_; +#line 372 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_warning ("DataSource.vala:372: Unable to delete backing for %s", _tmp5_); +#line 372 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp5_); +#line 2409 "DataSource.c" + } + } + goto __finally47; + __catch47_g_error: + { + GError* err = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 369 "/home/jens/Source/shotwell/src/core/DataSource.vala" + err = _inner_error_; +#line 369 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _inner_error_ = NULL; +#line 375 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 375 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = _tmp6_; +#line 375 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = err; +#line 375 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = _tmp8_->message; +#line 375 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_warning ("DataSource.vala:375: Unable to delete backing for %s: %s", _tmp7_, _tmp9_); +#line 375 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp7_); +#line 376 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ret = FALSE; +#line 369 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_error_free0 (err); +#line 2440 "DataSource.c" + } + __finally47: +#line 369 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 369 "/home/jens/Source/shotwell/src/core/DataSource.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 369 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_clear_error (&_inner_error_); +#line 369 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return FALSE; +#line 2451 "DataSource.c" + } + } +#line 380 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_source_internal_mark_for_destroy (self); +#line 381 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_source_destroy (self); +#line 383 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = self->priv->unlinked_from_collection; +#line 383 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp10_ != NULL) { +#line 2462 "DataSource.c" + SourceCollection* _tmp11_ = NULL; +#line 384 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = self->priv->unlinked_from_collection; +#line 384 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_collection_notify_unlinked_destroyed (_tmp11_, self); +#line 2468 "DataSource.c" + } +#line 386 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = ret; +#line 386 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 2474 "DataSource.c" +} + + +static void _vala_array_add122 (DataView*** array, int* length, int* size, DataView* value) { +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if ((*length) == (*size)) { +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *array = g_renew (DataView*, *array, (*size) + 1); +#line 2485 "DataSource.c" + } +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + (*array)[(*length)++] = value; +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + (*array)[*length] = NULL; +#line 2491 "DataSource.c" +} + + +void data_source_internal_subscribe (DataSource* self, DataView* view) { + gboolean _tmp0_ = FALSE; + DataView** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + DataView* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 395 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 396 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->in_contact; +#line 396 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (!_tmp0_, "!in_contact"); +#line 2509 "DataSource.c" + { + gint ctr = 0; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = 0; +#line 2514 "DataSource.c" + { + gboolean _tmp1_ = FALSE; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = TRUE; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 2521 "DataSource.c" + gint _tmp3_ = 0; + DataView** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + DataView** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + DataView* _tmp7_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp1_) { +#line 2531 "DataSource.c" + gint _tmp2_ = 0; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = ctr; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = _tmp2_ + 1; +#line 2537 "DataSource.c" + } +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = FALSE; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = ctr; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = self->priv->subscribers; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4__length1 = self->priv->subscribers_length1; +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 398 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 2551 "DataSource.c" + } +#line 399 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = self->priv->subscribers; +#line 399 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5__length1 = self->priv->subscribers_length1; +#line 399 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = ctr; +#line 399 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 399 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp7_ == NULL) { +#line 2563 "DataSource.c" + DataView** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + DataView* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + DataView* _tmp12_ = NULL; +#line 400 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = self->priv->subscribers; +#line 400 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8__length1 = self->priv->subscribers_length1; +#line 400 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = ctr; +#line 400 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = view; +#line 400 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 400 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (_tmp8_[_tmp9_]); +#line 400 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_[_tmp9_] = _tmp11_; +#line 400 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = _tmp8_[_tmp9_]; +#line 402 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return; +#line 2588 "DataSource.c" + } + } + } + } +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13_ = self->priv->subscribers; +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13__length1 = self->priv->subscribers_length1; +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14_ = view; +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 406 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_array_add122 (&self->priv->subscribers, &self->priv->subscribers_length1, &self->priv->_subscribers_size_, _tmp15_); +#line 2603 "DataSource.c" +} + + +void data_source_internal_unsubscribe (DataSource* self, DataView* view) { + gboolean _tmp0_ = FALSE; +#line 411 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 411 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 412 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->in_contact; +#line 412 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (!_tmp0_, "!in_contact"); +#line 2617 "DataSource.c" + { + gint ctr = 0; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = 0; +#line 2622 "DataSource.c" + { + gboolean _tmp1_ = FALSE; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = TRUE; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 2629 "DataSource.c" + gint _tmp3_ = 0; + DataView** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + DataView** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + DataView* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp1_) { +#line 2640 "DataSource.c" + gint _tmp2_ = 0; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = ctr; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = _tmp2_ + 1; +#line 2646 "DataSource.c" + } +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = FALSE; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = ctr; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = self->priv->subscribers; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4__length1 = self->priv->subscribers_length1; +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 414 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 2660 "DataSource.c" + } +#line 415 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = self->priv->subscribers; +#line 415 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5__length1 = self->priv->subscribers_length1; +#line 415 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = ctr; +#line 415 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 415 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = view; +#line 415 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp7_ == _tmp8_) { +#line 2674 "DataSource.c" + DataView** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint _tmp10_ = 0; + DataView* _tmp11_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = self->priv->subscribers; +#line 416 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9__length1 = self->priv->subscribers_length1; +#line 416 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = ctr; +#line 416 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (_tmp9_[_tmp10_]); +#line 416 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_[_tmp10_] = NULL; +#line 416 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _tmp9_[_tmp10_]; +#line 418 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return; +#line 2693 "DataSource.c" + } + } + } + } +} + + +void data_source_contact_subscribers (DataSource* self, DataSourceContactSubscriber contact_subscriber, void* contact_subscriber_target) { + gboolean _tmp0_ = FALSE; +#line 423 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 424 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->in_contact; +#line 424 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (!_tmp0_, "!in_contact"); +#line 426 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->in_contact = TRUE; +#line 2711 "DataSource.c" + { + gint ctr = 0; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = 0; +#line 2716 "DataSource.c" + { + gboolean _tmp1_ = FALSE; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = TRUE; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 2723 "DataSource.c" + gint _tmp3_ = 0; + DataView** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + DataView** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + DataView* _tmp7_ = NULL; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp1_) { +#line 2733 "DataSource.c" + gint _tmp2_ = 0; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = ctr; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = _tmp2_ + 1; +#line 2739 "DataSource.c" + } +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = FALSE; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = ctr; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = self->priv->subscribers; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4__length1 = self->priv->subscribers_length1; +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 427 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 2753 "DataSource.c" + } +#line 428 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = self->priv->subscribers; +#line 428 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5__length1 = self->priv->subscribers_length1; +#line 428 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = ctr; +#line 428 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 428 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp7_ != NULL) { +#line 2765 "DataSource.c" + DataSourceContactSubscriber _tmp8_ = NULL; + void* _tmp8__target = NULL; + DataView** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gint _tmp10_ = 0; + DataView* _tmp11_ = NULL; +#line 429 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = contact_subscriber; +#line 429 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8__target = contact_subscriber_target; +#line 429 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = self->priv->subscribers; +#line 429 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9__length1 = self->priv->subscribers_length1; +#line 429 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = ctr; +#line 429 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _tmp9_[_tmp10_]; +#line 429 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ (_tmp11_, _tmp8__target); +#line 2786 "DataSource.c" + } + } + } + } +#line 431 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->in_contact = FALSE; +#line 2793 "DataSource.c" +} + + +void data_source_contact_subscribers_alteration (DataSource* self, Alteration* alteration) { + gboolean _tmp0_ = FALSE; +#line 434 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (self)); +#line 434 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 435 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->in_contact; +#line 435 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (!_tmp0_, "!in_contact"); +#line 437 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->in_contact = TRUE; +#line 2809 "DataSource.c" + { + gint ctr = 0; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = 0; +#line 2814 "DataSource.c" + { + gboolean _tmp1_ = FALSE; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = TRUE; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 2821 "DataSource.c" + gint _tmp3_ = 0; + DataView** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + DataView** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gint _tmp6_ = 0; + DataView* _tmp7_ = NULL; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp1_) { +#line 2831 "DataSource.c" + gint _tmp2_ = 0; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = ctr; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ctr = _tmp2_ + 1; +#line 2837 "DataSource.c" + } +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = FALSE; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = ctr; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = self->priv->subscribers; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4__length1 = self->priv->subscribers_length1; +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!(_tmp3_ < _tmp4__length1)) { +#line 438 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 2851 "DataSource.c" + } +#line 439 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = self->priv->subscribers; +#line 439 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5__length1 = self->priv->subscribers_length1; +#line 439 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = ctr; +#line 439 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = _tmp5_[_tmp6_]; +#line 439 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp7_ != NULL) { +#line 2863 "DataSource.c" + DataView** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + DataView* _tmp10_ = NULL; + Alteration* _tmp11_ = NULL; +#line 440 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = self->priv->subscribers; +#line 440 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8__length1 = self->priv->subscribers_length1; +#line 440 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = ctr; +#line 440 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 440 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = alteration; +#line 440 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject), _tmp11_); +#line 2881 "DataSource.c" + } + } + } + } +#line 442 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->in_contact = FALSE; +#line 2888 "DataSource.c" +} + + +static void data_source_real_unlinked (DataSource* self, SourceCollection* sources) { +#line 51 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (sources)); +#line 2895 "DataSource.c" +} + + +static void g_cclosure_user_marshal_VOID__DATA_COLLECTION (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__DATA_COLLECTION) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__DATA_COLLECTION callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (n_param_values == 2); +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data1 = closure->data; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data2 = param_values->data[0].v_pointer; +#line 2914 "DataSource.c" + } else { +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data1 = param_values->data[0].v_pointer; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data2 = closure->data; +#line 2920 "DataSource.c" + } +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + callback = (GMarshalFunc_VOID__DATA_COLLECTION) (marshal_data ? marshal_data : cc->callback); +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + callback (data1, value_get_data_collection (param_values + 1), data2); +#line 2926 "DataSource.c" +} + + +static void data_source_real_relinked (DataSource* self, SourceCollection* sources) { +#line 55 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (sources)); +#line 2933 "DataSource.c" +} + + +static void data_source_real_destroyed (DataSource* self) { +} + + +static void data_source_class_init (DataSourceClass * klass) { +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + data_source_parent_class = g_type_class_peek_parent (klass); +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_type_class_add_private (klass, sizeof (DataSourcePrivate)); +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataObjectClass *) klass)->notify_membership_changed = data_source_real_notify_membership_changed; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->notify_held_in_tank = data_source_real_notify_held_in_tank; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataObjectClass *) klass)->notify_altered = data_source_real_notify_altered; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->notify_unlinking = data_source_real_notify_unlinking; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->notify_unlinked = data_source_real_notify_unlinked; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->notify_relinking = data_source_real_notify_relinking; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->notify_relinked = data_source_real_notify_relinked; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->get_typename = data_source_real_get_typename; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->get_instance_id = data_source_real_get_instance_id; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->get_source_id = data_source_real_get_source_id; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->commit_backlinks = data_source_real_commit_backlinks; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->save_snapshot = data_source_real_save_snapshot; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->internal_delete_backing = data_source_real_internal_delete_backing; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->equals = data_source_real_equals; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->destroy = data_source_real_destroy; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->unlinked = data_source_real_unlinked; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->relinked = data_source_real_relinked; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((DataSourceClass *) klass)->destroyed = data_source_real_destroyed; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + G_OBJECT_CLASS (klass)->finalize = data_source_finalize; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_new ("unlinked", TYPE_DATA_SOURCE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataSourceClass, unlinked), NULL, NULL, g_cclosure_user_marshal_VOID__DATA_COLLECTION, G_TYPE_NONE, 1, TYPE_SOURCE_COLLECTION); +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_new ("relinked", TYPE_DATA_SOURCE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataSourceClass, relinked), NULL, NULL, g_cclosure_user_marshal_VOID__DATA_COLLECTION, G_TYPE_NONE, 1, TYPE_SOURCE_COLLECTION); +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_new ("destroyed", TYPE_DATA_SOURCE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataSourceClass, destroyed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 2990 "DataSource.c" +} + + +static void data_source_instance_init (DataSource * self) { + DataView** _tmp0_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv = DATA_SOURCE_GET_PRIVATE (self); +#line 42 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = g_new0 (DataView*, 4 + 1); +#line 42 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->subscribers = _tmp0_; +#line 42 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->subscribers_length1 = 4; +#line 42 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->_subscribers_size_ = self->priv->subscribers_length1; +#line 43 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->holding_tank = NULL; +#line 44 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->unlinked_from_collection = NULL; +#line 45 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->backlinks = NULL; +#line 46 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->in_contact = FALSE; +#line 47 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->marked_for_destroy = FALSE; +#line 48 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->is_destroyed = FALSE; +#line 3018 "DataSource.c" +} + + +static void data_source_finalize (GObject* obj) { + DataSource * self; +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATA_SOURCE, DataSource); +#line 42 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->subscribers = (_vala_array_free (self->priv->subscribers, self->priv->subscribers_length1, (GDestroyNotify) g_object_unref), NULL); +#line 43 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _source_holding_tank_unref0 (self->priv->holding_tank); +#line 45 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (self->priv->backlinks); +#line 38 "/home/jens/Source/shotwell/src/core/DataSource.vala" + G_OBJECT_CLASS (data_source_parent_class)->finalize (obj); +#line 3034 "DataSource.c" +} + + +GType data_source_get_type (void) { + static volatile gsize data_source_type_id__volatile = 0; + if (g_once_init_enter (&data_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataSource), 0, (GInstanceInitFunc) data_source_instance_init, NULL }; + GType data_source_type_id; + data_source_type_id = g_type_register_static (TYPE_DATA_OBJECT, "DataSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&data_source_type_id__volatile, data_source_type_id); + } + return data_source_type_id__volatile; +} + + +static void source_snapshot_real_notify_broken (SourceSnapshot* self) { +#line 455 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->snapshot_broken = TRUE; +#line 457 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_emit_by_name (self, "broken"); +#line 3055 "DataSource.c" +} + + +void source_snapshot_notify_broken (SourceSnapshot* self) { +#line 454 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_SNAPSHOT (self)); +#line 454 "/home/jens/Source/shotwell/src/core/DataSource.vala" + SOURCE_SNAPSHOT_GET_CLASS (self)->notify_broken (self); +#line 3064 "DataSource.c" +} + + +gboolean source_snapshot_is_broken (SourceSnapshot* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 460 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_SNAPSHOT (self), FALSE); +#line 461 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->snapshot_broken; +#line 461 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp0_; +#line 461 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3079 "DataSource.c" +} + + +SourceSnapshot* source_snapshot_construct (GType object_type) { + SourceSnapshot* self = NULL; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = (SourceSnapshot*) g_type_create_instance (object_type); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return self; +#line 3089 "DataSource.c" +} + + +static void source_snapshot_real_broken (SourceSnapshot* self) { +} + + +static void value_source_snapshot_init (GValue* value) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 3100 "DataSource.c" +} + + +static void value_source_snapshot_free_value (GValue* value) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (value->data[0].v_pointer) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_snapshot_unref (value->data[0].v_pointer); +#line 3109 "DataSource.c" + } +} + + +static void value_source_snapshot_copy_value (const GValue* src_value, GValue* dest_value) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (src_value->data[0].v_pointer) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + dest_value->data[0].v_pointer = source_snapshot_ref (src_value->data[0].v_pointer); +#line 3119 "DataSource.c" + } else { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + dest_value->data[0].v_pointer = NULL; +#line 3123 "DataSource.c" + } +} + + +static gpointer value_source_snapshot_peek_pointer (const GValue* value) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return value->data[0].v_pointer; +#line 3131 "DataSource.c" +} + + +static gchar* value_source_snapshot_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (collect_values[0].v_pointer) { +#line 3138 "DataSource.c" + SourceSnapshot* object; + object = collect_values[0].v_pointer; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (object->parent_instance.g_class == NULL) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3145 "DataSource.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3149 "DataSource.c" + } +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = source_snapshot_ref (object); +#line 3153 "DataSource.c" + } else { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 3157 "DataSource.c" + } +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return NULL; +#line 3161 "DataSource.c" +} + + +static gchar* value_source_snapshot_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SourceSnapshot** object_p; + object_p = collect_values[0].v_pointer; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!object_p) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3172 "DataSource.c" + } +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!value->data[0].v_pointer) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = NULL; +#line 3178 "DataSource.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = value->data[0].v_pointer; +#line 3182 "DataSource.c" + } else { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = source_snapshot_ref (value->data[0].v_pointer); +#line 3186 "DataSource.c" + } +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return NULL; +#line 3190 "DataSource.c" +} + + +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSourceSnapshot* spec; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SOURCE_SNAPSHOT), NULL); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return G_PARAM_SPEC (spec); +#line 3204 "DataSource.c" +} + + +gpointer value_get_source_snapshot (const GValue* value) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_SNAPSHOT), NULL); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return value->data[0].v_pointer; +#line 3213 "DataSource.c" +} + + +void value_set_source_snapshot (GValue* value, gpointer v_object) { + SourceSnapshot* old; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_SNAPSHOT)); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + old = value->data[0].v_pointer; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (v_object) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SOURCE_SNAPSHOT)); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = v_object; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_snapshot_ref (value->data[0].v_pointer); +#line 3233 "DataSource.c" + } else { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 3237 "DataSource.c" + } +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (old) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_snapshot_unref (old); +#line 3243 "DataSource.c" + } +} + + +void value_take_source_snapshot (GValue* value, gpointer v_object) { + SourceSnapshot* old; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_SNAPSHOT)); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + old = value->data[0].v_pointer; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (v_object) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SOURCE_SNAPSHOT)); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = v_object; +#line 3262 "DataSource.c" + } else { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 3266 "DataSource.c" + } +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (old) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_snapshot_unref (old); +#line 3272 "DataSource.c" + } +} + + +static void source_snapshot_class_init (SourceSnapshotClass * klass) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_snapshot_parent_class = g_type_class_peek_parent (klass); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceSnapshotClass *) klass)->finalize = source_snapshot_finalize; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_type_class_add_private (klass, sizeof (SourceSnapshotPrivate)); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceSnapshotClass *) klass)->notify_broken = source_snapshot_real_notify_broken; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceSnapshotClass *) klass)->broken = source_snapshot_real_broken; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_new ("broken", TYPE_SOURCE_SNAPSHOT, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceSnapshotClass, broken), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 3290 "DataSource.c" +} + + +static void source_snapshot_instance_init (SourceSnapshot * self) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv = SOURCE_SNAPSHOT_GET_PRIVATE (self); +#line 447 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->snapshot_broken = FALSE; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->ref_count = 1; +#line 3301 "DataSource.c" +} + + +static void source_snapshot_finalize (SourceSnapshot* obj) { + SourceSnapshot * self; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SOURCE_SNAPSHOT, SourceSnapshot); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_handlers_destroy (self); +#line 3311 "DataSource.c" +} + + +GType source_snapshot_get_type (void) { + static volatile gsize source_snapshot_type_id__volatile = 0; + if (g_once_init_enter (&source_snapshot_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_source_snapshot_init, value_source_snapshot_free_value, value_source_snapshot_copy_value, value_source_snapshot_peek_pointer, "p", value_source_snapshot_collect_value, "p", value_source_snapshot_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SourceSnapshotClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) source_snapshot_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SourceSnapshot), 0, (GInstanceInitFunc) source_snapshot_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType source_snapshot_type_id; + source_snapshot_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SourceSnapshot", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&source_snapshot_type_id__volatile, source_snapshot_type_id); + } + return source_snapshot_type_id__volatile; +} + + +gpointer source_snapshot_ref (gpointer instance) { + SourceSnapshot* self; + self = instance; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_atomic_int_inc (&self->ref_count); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return instance; +#line 3336 "DataSource.c" +} + + +void source_snapshot_unref (gpointer instance) { + SourceSnapshot* self; + self = instance; +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + SOURCE_SNAPSHOT_GET_CLASS (self)->finalize (self); +#line 446 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3349 "DataSource.c" + } +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3373 "DataSource.c" +} + + +SourceBacklink* source_backlink_construct (GType object_type, const gchar* name, const gchar* value) { + SourceBacklink* self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 498 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 498 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (value != NULL, NULL); +#line 498 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = (SourceBacklink*) g_type_create_instance (object_type); +#line 499 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = name; +#line 499 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = value; +#line 499 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = source_backlink_validate_name_value (_tmp0_, _tmp1_); +#line 499 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp2_, "validate_name_value(name, value)"); +#line 501 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = name; +#line 501 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = string_strip (_tmp3_); +#line 501 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (self->priv->_name); +#line 501 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->_name = _tmp4_; +#line 502 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = value; +#line 502 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = string_strip (_tmp5_); +#line 502 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (self->priv->_value); +#line 502 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->_value = _tmp6_; +#line 498 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return self; +#line 3418 "DataSource.c" +} + + +SourceBacklink* source_backlink_new (const gchar* name, const gchar* value) { +#line 498 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return source_backlink_construct (TYPE_SOURCE_BACKLINK, name, value); +#line 3425 "DataSource.c" +} + + +SourceBacklink* source_backlink_construct_from_source (GType object_type, DataSource* source) { + SourceBacklink* self = NULL; + DataSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + gint64 _tmp5_ = 0LL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 505 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 505 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = (SourceBacklink*) g_type_create_instance (object_type); +#line 506 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = source; +#line 506 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = data_source_get_typename (_tmp0_); +#line 506 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = _tmp1_; +#line 506 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = string_strip (_tmp2_); +#line 506 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (self->priv->_name); +#line 506 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->_name = _tmp3_; +#line 506 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp2_); +#line 507 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = source; +#line 507 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = data_source_get_instance_id (_tmp4_); +#line 507 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp5_); +#line 507 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = _tmp6_; +#line 507 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = string_strip (_tmp7_); +#line 507 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (self->priv->_value); +#line 507 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->_value = _tmp8_; +#line 507 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (_tmp7_); +#line 509 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = self->priv->_name; +#line 509 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = self->priv->_value; +#line 509 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = source_backlink_validate_name_value (_tmp9_, _tmp10_); +#line 509 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp11_, "validate_name_value(_name, _value)"); +#line 505 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return self; +#line 3487 "DataSource.c" +} + + +SourceBacklink* source_backlink_new_from_source (DataSource* source) { +#line 505 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return source_backlink_construct_from_source (TYPE_SOURCE_BACKLINK, source); +#line 3494 "DataSource.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3514 "DataSource.c" +} + + +static gboolean source_backlink_validate_name_value (const gchar* name, const gchar* value) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 512 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (name != NULL, FALSE); +#line 512 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (value != NULL, FALSE); +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = name; +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = string_contains (_tmp2_, "="); +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp3_) { +#line 3534 "DataSource.c" + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = name; +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = string_contains (_tmp4_, "|"); +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = !_tmp5_; +#line 3543 "DataSource.c" + } else { +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = FALSE; +#line 3547 "DataSource.c" + } +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp1_) { +#line 3551 "DataSource.c" + const gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = value; +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = string_contains (_tmp6_, "|"); +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = !_tmp7_; +#line 3560 "DataSource.c" + } else { +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = FALSE; +#line 3564 "DataSource.c" + } +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp0_; +#line 513 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3570 "DataSource.c" +} + + +gchar* source_backlink_to_string (SourceBacklink* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 516 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (self), NULL); +#line 517 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = source_backlink_get_name (self); +#line 517 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = _tmp0_; +#line 517 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = source_backlink_get_value (self); +#line 517 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = _tmp2_; +#line 517 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = g_strdup_printf ("Backlink %s=%s", _tmp1_, _tmp3_); +#line 517 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp4_; +#line 517 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3597 "DataSource.c" +} + + +guint source_backlink_hash_func (SourceBacklink* backlink) { + guint result = 0U; + GHashFunc _tmp0_ = NULL; + SourceBacklink* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GHashFunc _tmp4_ = NULL; + SourceBacklink* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 520 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail ((backlink == NULL) || IS_SOURCE_BACKLINK (backlink), 0U); +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = g_str_hash; +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = backlink; +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = _tmp1_->priv->_name; +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = _tmp0_ (_tmp2_); +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = g_str_hash; +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = backlink; +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = _tmp5_->priv->_value; +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = _tmp4_ (_tmp6_); +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp3_ ^ _tmp7_; +#line 521 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3633 "DataSource.c" +} + + +gboolean source_backlink_equal_func (SourceBacklink* alink, SourceBacklink* blink) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GEqualFunc _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SourceBacklink* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 524 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail ((alink == NULL) || IS_SOURCE_BACKLINK (alink), FALSE); +#line 524 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail ((blink == NULL) || IS_SOURCE_BACKLINK (blink), FALSE); +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = g_str_equal; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = alink; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = _tmp2_->priv->_name; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = blink; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = _tmp4_->priv->_name; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = _tmp1_ (_tmp3_, _tmp5_); +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp6_) { +#line 3664 "DataSource.c" + GEqualFunc _tmp7_ = NULL; + SourceBacklink* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + SourceBacklink* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = g_str_equal; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = alink; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = _tmp8_->priv->_value; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = blink; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _tmp10_->priv->_value; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = _tmp7_ (_tmp9_, _tmp11_); +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = _tmp12_; +#line 3685 "DataSource.c" + } else { +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = FALSE; +#line 3689 "DataSource.c" + } +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp0_; +#line 525 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3695 "DataSource.c" +} + + +const gchar* source_backlink_get_name (SourceBacklink* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (self), NULL); +#line 474 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->_name; +#line 474 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp0_; +#line 474 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3710 "DataSource.c" +} + + +const gchar* source_backlink_get_value (SourceBacklink* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 479 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (self), NULL); +#line 480 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->_value; +#line 480 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp0_; +#line 480 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3725 "DataSource.c" +} + + +const gchar* source_backlink_get_typename (SourceBacklink* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 486 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (self), NULL); +#line 487 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->_name; +#line 487 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp0_; +#line 487 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3740 "DataSource.c" +} + + +static gint64 int64_parse (const gchar* str) { + gint64 result = 0LL; + const gchar* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; +#line 679 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (str != NULL, 0LL); +#line 680 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 680 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_ascii_strtoll (_tmp0_, NULL, (guint) 0); +#line 680 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 680 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3758 "DataSource.c" +} + + +gint64 source_backlink_get_instance_id (SourceBacklink* self) { + gint64 result; + const gchar* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; +#line 493 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (self), 0LL); +#line 494 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->_value; +#line 494 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = int64_parse (_tmp0_); +#line 494 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp1_; +#line 494 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 3776 "DataSource.c" +} + + +static void value_source_backlink_init (GValue* value) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 3783 "DataSource.c" +} + + +static void value_source_backlink_free_value (GValue* value) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (value->data[0].v_pointer) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_backlink_unref (value->data[0].v_pointer); +#line 3792 "DataSource.c" + } +} + + +static void value_source_backlink_copy_value (const GValue* src_value, GValue* dest_value) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (src_value->data[0].v_pointer) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + dest_value->data[0].v_pointer = source_backlink_ref (src_value->data[0].v_pointer); +#line 3802 "DataSource.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + dest_value->data[0].v_pointer = NULL; +#line 3806 "DataSource.c" + } +} + + +static gpointer value_source_backlink_peek_pointer (const GValue* value) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return value->data[0].v_pointer; +#line 3814 "DataSource.c" +} + + +static gchar* value_source_backlink_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (collect_values[0].v_pointer) { +#line 3821 "DataSource.c" + SourceBacklink* object; + object = collect_values[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (object->parent_instance.g_class == NULL) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3828 "DataSource.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3832 "DataSource.c" + } +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = source_backlink_ref (object); +#line 3836 "DataSource.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 3840 "DataSource.c" + } +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return NULL; +#line 3844 "DataSource.c" +} + + +static gchar* value_source_backlink_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SourceBacklink** object_p; + object_p = collect_values[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!object_p) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3855 "DataSource.c" + } +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!value->data[0].v_pointer) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = NULL; +#line 3861 "DataSource.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = value->data[0].v_pointer; +#line 3865 "DataSource.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = source_backlink_ref (value->data[0].v_pointer); +#line 3869 "DataSource.c" + } +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return NULL; +#line 3873 "DataSource.c" +} + + +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSourceBacklink* spec; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SOURCE_BACKLINK), NULL); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return G_PARAM_SPEC (spec); +#line 3887 "DataSource.c" +} + + +gpointer value_get_source_backlink (const GValue* value) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_BACKLINK), NULL); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return value->data[0].v_pointer; +#line 3896 "DataSource.c" +} + + +void value_set_source_backlink (GValue* value, gpointer v_object) { + SourceBacklink* old; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_BACKLINK)); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + old = value->data[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (v_object) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SOURCE_BACKLINK)); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = v_object; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_backlink_ref (value->data[0].v_pointer); +#line 3916 "DataSource.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 3920 "DataSource.c" + } +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (old) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_backlink_unref (old); +#line 3926 "DataSource.c" + } +} + + +void value_take_source_backlink (GValue* value, gpointer v_object) { + SourceBacklink* old; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_BACKLINK)); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + old = value->data[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (v_object) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SOURCE_BACKLINK)); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = v_object; +#line 3945 "DataSource.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 3949 "DataSource.c" + } +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (old) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_backlink_unref (old); +#line 3955 "DataSource.c" + } +} + + +static void source_backlink_class_init (SourceBacklinkClass * klass) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_backlink_parent_class = g_type_class_peek_parent (klass); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceBacklinkClass *) klass)->finalize = source_backlink_finalize; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_type_class_add_private (klass, sizeof (SourceBacklinkPrivate)); +#line 3967 "DataSource.c" +} + + +static void source_backlink_instance_init (SourceBacklink * self) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv = SOURCE_BACKLINK_GET_PRIVATE (self); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->ref_count = 1; +#line 3976 "DataSource.c" +} + + +static void source_backlink_finalize (SourceBacklink* obj) { + SourceBacklink * self; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SOURCE_BACKLINK, SourceBacklink); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_handlers_destroy (self); +#line 469 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (self->priv->_name); +#line 470 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (self->priv->_value); +#line 3990 "DataSource.c" +} + + +GType source_backlink_get_type (void) { + static volatile gsize source_backlink_type_id__volatile = 0; + if (g_once_init_enter (&source_backlink_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_source_backlink_init, value_source_backlink_free_value, value_source_backlink_copy_value, value_source_backlink_peek_pointer, "p", value_source_backlink_collect_value, "p", value_source_backlink_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SourceBacklinkClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) source_backlink_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SourceBacklink), 0, (GInstanceInitFunc) source_backlink_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType source_backlink_type_id; + source_backlink_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SourceBacklink", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&source_backlink_type_id__volatile, source_backlink_type_id); + } + return source_backlink_type_id__volatile; +} + + +gpointer source_backlink_ref (gpointer instance) { + SourceBacklink* self; + self = instance; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_atomic_int_inc (&self->ref_count); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return instance; +#line 4015 "DataSource.c" +} + + +void source_backlink_unref (gpointer instance) { + SourceBacklink* self; + self = instance; +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + SOURCE_BACKLINK_GET_CLASS (self)->finalize (self); +#line 468 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4028 "DataSource.c" + } +} + + +static void _source_proxy_on_source_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self) { +#line 588 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_on_source_added ((SourceProxy*) self, added); +#line 4036 "DataSource.c" +} + + +static void _source_proxy_on_snapshot_broken_source_snapshot_broken (SourceSnapshot* _sender, gpointer self) { +#line 577 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_on_snapshot_broken ((SourceProxy*) self); +#line 4043 "DataSource.c" +} + + +SourceProxy* source_proxy_construct (GType object_type, DataSource* source) { + SourceProxy* self = NULL; + DataSource* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + DataSource* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + SourceSnapshot* _tmp5_ = NULL; + SourceSnapshot* _tmp6_ = NULL; + SourceSnapshot* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + DataCollection* _tmp10_ = NULL; + SourceCollection* _tmp11_ = NULL; + SourceCollection* _tmp12_ = NULL; +#line 571 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 571 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = (SourceProxy*) g_type_create_instance (object_type); +#line 572 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = source; +#line 572 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = data_object_get_object_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 572 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->object_id = _tmp1_; +#line 573 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = source; +#line 573 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 573 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (self->priv->source_string); +#line 573 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->source_string = _tmp3_; +#line 575 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = source; +#line 575 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = data_source_save_snapshot (_tmp4_); +#line 575 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _source_snapshot_unref0 (self->priv->snapshot); +#line 575 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->snapshot = _tmp5_; +#line 576 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = self->priv->snapshot; +#line 576 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp6_ != NULL, "snapshot != null"); +#line 577 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = self->priv->snapshot; +#line 577 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_connect (_tmp7_, "broken", (GCallback) _source_proxy_on_snapshot_broken_source_snapshot_broken, self); +#line 579 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = source; +#line 579 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_set_source (self, _tmp8_); +#line 581 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = source; +#line 581 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject)); +#line 581 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _data_collection_unref0 (self->priv->membership); +#line 581 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->membership = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_SOURCE_COLLECTION, SourceCollection); +#line 582 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = self->priv->membership; +#line 582 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp11_ != NULL, "membership != null"); +#line 583 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = self->priv->membership; +#line 583 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection), "items-added", (GCallback) _source_proxy_on_source_added_data_collection_items_added, self); +#line 571 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return self; +#line 4118 "DataSource.c" +} + + +static DataSource* source_proxy_real_reconstitute (SourceProxy* self, gint64 object_id, SourceSnapshot* snapshot) { +#line 591 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_critical ("Type `%s' does not implement abstract method `source_proxy_reconstitute'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 591 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return NULL; +#line 4127 "DataSource.c" +} + + +DataSource* source_proxy_reconstitute (SourceProxy* self, gint64 object_id, SourceSnapshot* snapshot) { +#line 591 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_PROXY (self), NULL); +#line 591 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return SOURCE_PROXY_GET_CLASS (self)->reconstitute (self, object_id, snapshot); +#line 4136 "DataSource.c" +} + + +static void source_proxy_real_notify_reconstituted (SourceProxy* self, DataSource* source) { + DataSource* _tmp0_ = NULL; +#line 593 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 594 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = source; +#line 594 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_emit_by_name (self, "reconstituted", _tmp0_); +#line 4148 "DataSource.c" +} + + +void source_proxy_notify_reconstituted (SourceProxy* self, DataSource* source) { +#line 593 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_PROXY (self)); +#line 593 "/home/jens/Source/shotwell/src/core/DataSource.vala" + SOURCE_PROXY_GET_CLASS (self)->notify_reconstituted (self, source); +#line 4157 "DataSource.c" +} + + +static void source_proxy_real_notify_dehydrated (SourceProxy* self) { +#line 598 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_emit_by_name (self, "dehydrated"); +#line 4164 "DataSource.c" +} + + +void source_proxy_notify_dehydrated (SourceProxy* self) { +#line 597 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_PROXY (self)); +#line 597 "/home/jens/Source/shotwell/src/core/DataSource.vala" + SOURCE_PROXY_GET_CLASS (self)->notify_dehydrated (self); +#line 4173 "DataSource.c" +} + + +static void source_proxy_real_notify_broken (SourceProxy* self) { +#line 602 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_emit_by_name (self, "broken"); +#line 4180 "DataSource.c" +} + + +void source_proxy_notify_broken (SourceProxy* self) { +#line 601 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_PROXY (self)); +#line 601 "/home/jens/Source/shotwell/src/core/DataSource.vala" + SOURCE_PROXY_GET_CLASS (self)->notify_broken (self); +#line 4189 "DataSource.c" +} + + +static void source_proxy_on_snapshot_broken (SourceProxy* self) { +#line 605 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_PROXY (self)); +#line 606 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_drop_source (self); +#line 608 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_notify_broken (self); +#line 4200 "DataSource.c" +} + + +static void _source_proxy_on_destroyed_data_source_destroyed (DataSource* _sender, gpointer self) { +#line 615 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_on_destroyed ((SourceProxy*) self); +#line 4207 "DataSource.c" +} + + +static void source_proxy_set_source (SourceProxy* self, DataSource* source) { + DataSource* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; +#line 611 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_PROXY (self)); +#line 611 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 612 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_drop_source (self); +#line 614 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = source; +#line 614 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 614 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (self->priv->source); +#line 614 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->source = _tmp1_; +#line 615 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = source; +#line 615 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_connect (_tmp2_, "destroyed", (GCallback) _source_proxy_on_destroyed_data_source_destroyed, self); +#line 4233 "DataSource.c" +} + + +static void source_proxy_drop_source (SourceProxy* self) { + DataSource* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 618 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_PROXY (self)); +#line 619 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->source; +#line 619 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_ == NULL) { +#line 620 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return; +#line 4249 "DataSource.c" + } +#line 622 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = self->priv->source; +#line 622 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_parse_name ("destroyed", TYPE_DATA_SOURCE, &_tmp2_, NULL, FALSE); +#line 622 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _source_proxy_on_destroyed_data_source_destroyed, self); +#line 623 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (self->priv->source); +#line 623 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->source = NULL; +#line 4261 "DataSource.c" +} + + +DataSource* source_proxy_get_source (SourceProxy* self) { + DataSource* result = NULL; + SourceSnapshot* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + DataSource* _tmp2_ = NULL; + DataSource* new_source = NULL; + gint64 _tmp5_ = 0LL; + SourceSnapshot* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + gint64 _tmp12_ = 0LL; + DataSource* _tmp13_ = NULL; + gint64 _tmp14_ = 0LL; + DataSource* _tmp17_ = NULL; + gint64 _tmp18_ = 0LL; + gint64 _tmp19_ = 0LL; + SourceCollection* _tmp20_ = NULL; + DataSource* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + DataSource* _tmp23_ = NULL; + DataSource* _tmp24_ = NULL; +#line 626 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_SOURCE_PROXY (self), NULL); +#line 627 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->snapshot; +#line 627 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = source_snapshot_is_broken (_tmp0_); +#line 627 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp1_) { +#line 628 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = NULL; +#line 628 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 4299 "DataSource.c" + } +#line 630 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = self->priv->source; +#line 630 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp2_ != NULL) { +#line 4305 "DataSource.c" + DataSource* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; +#line 631 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = self->priv->source; +#line 631 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 631 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp4_; +#line 631 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 4316 "DataSource.c" + } +#line 636 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = self->priv->object_id; +#line 636 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = self->priv->snapshot; +#line 636 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = source_proxy_reconstitute (self, _tmp5_, _tmp6_); +#line 636 "/home/jens/Source/shotwell/src/core/DataSource.vala" + new_source = _tmp7_; +#line 637 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = self->priv->source; +#line 637 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = new_source; +#line 637 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp8_ != _tmp9_) { +#line 4332 "DataSource.c" + DataSource* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; +#line 638 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = new_source; +#line 638 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 638 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (self->priv->source); +#line 638 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->source = _tmp11_; +#line 4343 "DataSource.c" + } +#line 639 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp12_ = self->priv->object_id; +#line 639 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp13_ = self->priv->source; +#line 639 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp14_ = data_object_get_object_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_OBJECT, DataObject)); +#line 639 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp12_ != _tmp14_) { +#line 4353 "DataSource.c" + DataSource* _tmp15_ = NULL; + gint64 _tmp16_ = 0LL; +#line 640 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp15_ = new_source; +#line 640 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp16_ = data_object_get_object_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_OBJECT, DataObject)); +#line 640 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv->object_id = _tmp16_; +#line 4362 "DataSource.c" + } +#line 641 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp17_ = self->priv->source; +#line 641 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp18_ = data_object_get_object_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_OBJECT, DataObject)); +#line 641 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp19_ = self->priv->object_id; +#line 641 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp18_ == _tmp19_, "source.get_object_id() == object_id"); +#line 642 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp20_ = self->priv->membership; +#line 642 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp21_ = self->priv->source; +#line 642 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp22_ = data_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_OBJECT, DataObject)); +#line 642 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp22_, "membership.contains(source)"); +#line 644 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp23_ = self->priv->source; +#line 644 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 644 "/home/jens/Source/shotwell/src/core/DataSource.vala" + result = _tmp24_; +#line 644 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (new_source); +#line 644 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return result; +#line 4390 "DataSource.c" +} + + +static void source_proxy_on_destroyed (SourceProxy* self) { + DataSource* _tmp0_ = NULL; +#line 647 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_PROXY (self)); +#line 648 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->source; +#line 648 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _vala_assert (_tmp0_ != NULL, "source != null"); +#line 651 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_drop_source (self); +#line 653 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_notify_dehydrated (self); +#line 4406 "DataSource.c" +} + + +static void source_proxy_on_source_added (SourceProxy* self, GeeIterable* added) { + DataSource* _tmp0_ = NULL; +#line 656 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_SOURCE_PROXY (self)); +#line 656 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 658 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->source; +#line 658 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp0_ != NULL) { +#line 659 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return; +#line 4422 "DataSource.c" + } + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp1_ = added; +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _object_it = _tmp2_; +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + while (TRUE) { +#line 4436 "DataSource.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; + gint64 _tmp9_ = 0LL; + DataObject* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp3_ = _object_it; +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!_tmp4_) { +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 4455 "DataSource.c" + } +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp5_ = _object_it; +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + object = (DataObject*) _tmp6_; +#line 663 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp7_ = object; +#line 663 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp8_ = data_object_get_object_id (_tmp7_); +#line 663 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp9_ = self->priv->object_id; +#line 663 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (_tmp8_ != _tmp9_) { +#line 664 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (object); +#line 664 "/home/jens/Source/shotwell/src/core/DataSource.vala" + continue; +#line 4475 "DataSource.c" + } +#line 667 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp10_ = object; +#line 667 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_set_source (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_SOURCE, DataSource)); +#line 669 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp11_ = object; +#line 669 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_notify_reconstituted (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_SOURCE, DataSource)); +#line 671 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (object); +#line 671 "/home/jens/Source/shotwell/src/core/DataSource.vala" + break; +#line 4489 "DataSource.c" + } +#line 661 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (_object_it); +#line 4493 "DataSource.c" + } +} + + +static void source_proxy_real_reconstituted (SourceProxy* self, DataSource* source) { +#line 558 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 4501 "DataSource.c" +} + + +static void source_proxy_real_dehydrated (SourceProxy* self) { +} + + +static void source_proxy_real_broken (SourceProxy* self) { +} + + +static void value_source_proxy_init (GValue* value) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 4516 "DataSource.c" +} + + +static void value_source_proxy_free_value (GValue* value) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (value->data[0].v_pointer) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_unref (value->data[0].v_pointer); +#line 4525 "DataSource.c" + } +} + + +static void value_source_proxy_copy_value (const GValue* src_value, GValue* dest_value) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (src_value->data[0].v_pointer) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + dest_value->data[0].v_pointer = source_proxy_ref (src_value->data[0].v_pointer); +#line 4535 "DataSource.c" + } else { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + dest_value->data[0].v_pointer = NULL; +#line 4539 "DataSource.c" + } +} + + +static gpointer value_source_proxy_peek_pointer (const GValue* value) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return value->data[0].v_pointer; +#line 4547 "DataSource.c" +} + + +static gchar* value_source_proxy_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (collect_values[0].v_pointer) { +#line 4554 "DataSource.c" + SourceProxy* object; + object = collect_values[0].v_pointer; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (object->parent_instance.g_class == NULL) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4561 "DataSource.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4565 "DataSource.c" + } +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = source_proxy_ref (object); +#line 4569 "DataSource.c" + } else { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 4573 "DataSource.c" + } +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return NULL; +#line 4577 "DataSource.c" +} + + +static gchar* value_source_proxy_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SourceProxy** object_p; + object_p = collect_values[0].v_pointer; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!object_p) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 4588 "DataSource.c" + } +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!value->data[0].v_pointer) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = NULL; +#line 4594 "DataSource.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = value->data[0].v_pointer; +#line 4598 "DataSource.c" + } else { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + *object_p = source_proxy_ref (value->data[0].v_pointer); +#line 4602 "DataSource.c" + } +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return NULL; +#line 4606 "DataSource.c" +} + + +GParamSpec* param_spec_source_proxy (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSourceProxy* spec; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SOURCE_PROXY), NULL); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return G_PARAM_SPEC (spec); +#line 4620 "DataSource.c" +} + + +gpointer value_get_source_proxy (const GValue* value) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_PROXY), NULL); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return value->data[0].v_pointer; +#line 4629 "DataSource.c" +} + + +void value_set_source_proxy (GValue* value, gpointer v_object) { + SourceProxy* old; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_PROXY)); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + old = value->data[0].v_pointer; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (v_object) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SOURCE_PROXY)); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = v_object; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_ref (value->data[0].v_pointer); +#line 4649 "DataSource.c" + } else { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 4653 "DataSource.c" + } +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (old) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_unref (old); +#line 4659 "DataSource.c" + } +} + + +void value_take_source_proxy (GValue* value, gpointer v_object) { + SourceProxy* old; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_PROXY)); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + old = value->data[0].v_pointer; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (v_object) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SOURCE_PROXY)); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = v_object; +#line 4678 "DataSource.c" + } else { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + value->data[0].v_pointer = NULL; +#line 4682 "DataSource.c" + } +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (old) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_unref (old); +#line 4688 "DataSource.c" + } +} + + +static void source_proxy_class_init (SourceProxyClass * klass) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_parent_class = g_type_class_peek_parent (klass); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceProxyClass *) klass)->finalize = source_proxy_finalize; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_type_class_add_private (klass, sizeof (SourceProxyPrivate)); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceProxyClass *) klass)->reconstitute = source_proxy_real_reconstitute; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceProxyClass *) klass)->notify_reconstituted = source_proxy_real_notify_reconstituted; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceProxyClass *) klass)->notify_dehydrated = source_proxy_real_notify_dehydrated; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceProxyClass *) klass)->notify_broken = source_proxy_real_notify_broken; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceProxyClass *) klass)->reconstituted = source_proxy_real_reconstituted; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceProxyClass *) klass)->dehydrated = source_proxy_real_dehydrated; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + ((SourceProxyClass *) klass)->broken = source_proxy_real_broken; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_new ("reconstituted", TYPE_SOURCE_PROXY, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceProxyClass, reconstituted), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_DATA_SOURCE); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_new ("dehydrated", TYPE_SOURCE_PROXY, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceProxyClass, dehydrated), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_new ("broken", TYPE_SOURCE_PROXY, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceProxyClass, broken), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 4720 "DataSource.c" +} + + +static void source_proxy_instance_init (SourceProxy * self) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->priv = SOURCE_PROXY_GET_PRIVATE (self); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self->ref_count = 1; +#line 4729 "DataSource.c" +} + + +static void source_proxy_finalize (SourceProxy* obj) { + SourceProxy * self; + SourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SOURCE_PROXY, SourceProxy); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_handlers_destroy (self); +#line 587 "/home/jens/Source/shotwell/src/core/DataSource.vala" + source_proxy_drop_source (self); +#line 588 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _tmp0_ = self->priv->membership; +#line 588 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_parse_name ("items-added", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 588 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _source_proxy_on_source_added_data_collection_items_added, self); +#line 551 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_free0 (self->priv->source_string); +#line 552 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _g_object_unref0 (self->priv->source); +#line 553 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _source_snapshot_unref0 (self->priv->snapshot); +#line 554 "/home/jens/Source/shotwell/src/core/DataSource.vala" + _data_collection_unref0 (self->priv->membership); +#line 4757 "DataSource.c" +} + + +GType source_proxy_get_type (void) { + static volatile gsize source_proxy_type_id__volatile = 0; + if (g_once_init_enter (&source_proxy_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_source_proxy_init, value_source_proxy_free_value, value_source_proxy_copy_value, value_source_proxy_peek_pointer, "p", value_source_proxy_collect_value, "p", value_source_proxy_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SourceProxyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) source_proxy_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SourceProxy), 0, (GInstanceInitFunc) source_proxy_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType source_proxy_type_id; + source_proxy_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SourceProxy", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&source_proxy_type_id__volatile, source_proxy_type_id); + } + return source_proxy_type_id__volatile; +} + + +gpointer source_proxy_ref (gpointer instance) { + SourceProxy* self; + self = instance; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_atomic_int_inc (&self->ref_count); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return instance; +#line 4782 "DataSource.c" +} + + +void source_proxy_unref (gpointer instance) { + SourceProxy* self; + self = instance; +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + SOURCE_PROXY_GET_CLASS (self)->finalize (self); +#line 549 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4795 "DataSource.c" + } +} + + +SourceProxy* proxyable_get_proxy (Proxyable* self) { +#line 677 "/home/jens/Source/shotwell/src/core/DataSource.vala" + g_return_val_if_fail (IS_PROXYABLE (self), NULL); +#line 677 "/home/jens/Source/shotwell/src/core/DataSource.vala" + return PROXYABLE_GET_INTERFACE (self)->get_proxy (self); +#line 4805 "DataSource.c" +} + + +static void proxyable_base_init (ProxyableIface * iface) { +#line 676 "/home/jens/Source/shotwell/src/core/DataSource.vala" + static gboolean initialized = FALSE; +#line 676 "/home/jens/Source/shotwell/src/core/DataSource.vala" + if (!initialized) { +#line 676 "/home/jens/Source/shotwell/src/core/DataSource.vala" + initialized = TRUE; +#line 4816 "DataSource.c" + } +} + + +GType proxyable_get_type (void) { + static volatile gsize proxyable_type_id__volatile = 0; + if (g_once_init_enter (&proxyable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ProxyableIface), (GBaseInitFunc) proxyable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType proxyable_type_id; + proxyable_type_id = g_type_register_static (G_TYPE_INTERFACE, "Proxyable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (proxyable_type_id, G_TYPE_OBJECT); + g_once_init_leave (&proxyable_type_id__volatile, proxyable_type_id); + } + return proxyable_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/core/DataSourceTypes.c b/src/core/DataSourceTypes.c new file mode 100644 index 0000000..0abd6e8 --- /dev/null +++ b/src/core/DataSourceTypes.c @@ -0,0 +1,1127 @@ +/* DataSourceTypes.c generated by valac 0.32.1, the Vala compiler + * generated from DataSourceTypes.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/**/ +/* Media sources*/ +/**/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#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; +typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#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_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +typedef struct _MediaSourcePrivate MediaSourcePrivate; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_BACKING_FILE_STATE (backing_file_state_get_type ()) +#define BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_FILE_STATE, BackingFileState)) +#define BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) +#define IS_BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_FILE_STATE)) +#define IS_BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_FILE_STATE)) +#define BACKING_FILE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) + +typedef struct _BackingFileState BackingFileState; +typedef struct _BackingFileStateClass BackingFileStateClass; + +#define TYPE_RATING (rating_get_type ()) + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#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; +typedef struct _PhotoSourcePrivate PhotoSourcePrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; +typedef struct _VideoSourcePrivate VideoSourcePrivate; + +#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; +typedef struct _EventSourcePrivate EventSourcePrivate; + +#define TYPE_CONTAINER_SOURCE (container_source_get_type ()) +#define CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE, ContainerSource)) +#define IS_CONTAINER_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE)) +#define CONTAINER_SOURCE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_CONTAINER_SOURCE, ContainerSourceIface)) + +typedef struct _ContainerSource ContainerSource; +typedef struct _ContainerSourceIface ContainerSourceIface; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +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 _ThumbnailSource { + DataSource parent_instance; + ThumbnailSourcePrivate * priv; +}; + +struct _ThumbnailSourceClass { + DataSourceClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailSource* self); + GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + gchar* (*get_representative_id) (ThumbnailSource* self); + PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self); + void (*thumbnail_altered) (ThumbnailSource* self); +}; + +typedef void (*DataSourceContactSubscriber) (DataView* view, void* user_data); +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _EventID { + gint64 id; +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _ImportID { + gint64 id; +}; + +struct _MediaSource { + ThumbnailSource parent_instance; + MediaSourcePrivate * priv; +}; + +struct _MediaSourceClass { + ThumbnailSourceClass parent_class; + void (*notify_master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); + gboolean (*set_event_id) (MediaSource* self, EventID* id); + gchar* (*get_basename) (MediaSource* self); + GFile* (*get_file) (MediaSource* self); + GFile* (*get_master_file) (MediaSource* self); + guint64 (*get_master_filesize) (MediaSource* self); + guint64 (*get_filesize) (MediaSource* self); + time_t (*get_timestamp) (MediaSource* self); + BackingFileState** (*get_backing_files_state) (MediaSource* self, int* result_length1); + gchar* (*get_title) (MediaSource* self); + gchar* (*get_comment) (MediaSource* self); + void (*set_title) (MediaSource* self, const gchar* title); + gboolean (*set_comment) (MediaSource* self, const gchar* comment); + Rating (*get_rating) (MediaSource* self); + void (*set_rating) (MediaSource* self, Rating rating); + void (*increase_rating) (MediaSource* self); + void (*decrease_rating) (MediaSource* self); + void (*get_dimensions) (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); + GdkPixbuf* (*get_preview_pixbuf) (MediaSource* self, Scaling* scaling, GError** error); + gboolean (*is_trashed) (MediaSource* self); + void (*trash) (MediaSource* self); + void (*untrash) (MediaSource* self); + gboolean (*is_offline) (MediaSource* self); + void (*mark_offline) (MediaSource* self); + void (*mark_online) (MediaSource* self); + gchar* (*get_master_md5) (MediaSource* self); + void (*get_event_id) (MediaSource* self, EventID* result); + time_t (*get_exposure_time) (MediaSource* self); + void (*get_import_id) (MediaSource* self, ImportID* result); + void (*master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); +}; + +struct _PhotoSource { + MediaSource parent_instance; + PhotoSourcePrivate * priv; +}; + +struct _PhotoSourceClass { + MediaSourceClass parent_class; + PhotoMetadata* (*get_metadata) (PhotoSource* self); + GdkPixbuf* (*get_pixbuf) (PhotoSource* self, Scaling* scaling, GError** error); +}; + +struct _VideoSource { + MediaSource parent_instance; + VideoSourcePrivate * priv; +}; + +struct _VideoSourceClass { + MediaSourceClass parent_class; +}; + +struct _EventSource { + ThumbnailSource parent_instance; + EventSourcePrivate * priv; +}; + +struct _EventSourceClass { + ThumbnailSourceClass parent_class; + time_t (*get_start_time) (EventSource* self); + time_t (*get_end_time) (EventSource* self); + guint64 (*get_total_filesize) (EventSource* self); + gint (*get_media_count) (EventSource* self); + GeeCollection* (*get_media) (EventSource* self); + gchar* (*get_comment) (EventSource* self); + gboolean (*set_comment) (EventSource* self, const gchar* comment); +}; + +struct _ContainerSourceIface { + GTypeInterface parent_iface; + gboolean (*has_links) (ContainerSource* self); + SourceBacklink* (*get_backlink) (ContainerSource* self); + void (*break_link) (ContainerSource* self, DataSource* source); + void (*break_link_many) (ContainerSource* self, GeeCollection* sources); + void (*establish_link) (ContainerSource* self, DataSource* source); + void (*establish_link_many) (ContainerSource* self, GeeCollection* sources); +}; + + +static gpointer thumbnail_source_parent_class = NULL; +static gpointer photo_source_parent_class = NULL; +static gpointer video_source_parent_class = NULL; +static gpointer event_source_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_source_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +enum { + THUMBNAIL_SOURCE_DUMMY_PROPERTY +}; +ThumbnailSource* thumbnail_source_construct (GType object_type, gint64 object_id); +DataSource* data_source_construct (GType object_type, gint64 object_id); +void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self); +static void thumbnail_source_real_notify_thumbnail_altered (ThumbnailSource* self); +GType data_view_get_type (void) G_GNUC_CONST; +void data_source_contact_subscribers (DataSource* self, DataSourceContactSubscriber contact_subscriber, void* contact_subscriber_target); +static void thumbnail_source_subscriber_thumbnail_altered (ThumbnailSource* self, DataView* view); +static void _thumbnail_source_subscriber_thumbnail_altered_data_source_contact_subscriber (DataView* view, gpointer self); +GType thumbnail_view_get_type (void) G_GNUC_CONST; +void thumbnail_view_notify_thumbnail_altered (ThumbnailView* self); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +static GdkPixbuf* thumbnail_source_real_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +GdkPixbuf* thumbnail_source_create_thumbnail (ThumbnailSource* self, gint scale, GError** error); +static GdkPixbuf* thumbnail_source_real_create_thumbnail (ThumbnailSource* self, gint scale, GError** error); +gchar* thumbnail_source_get_representative_id (ThumbnailSource* self); +static gchar* thumbnail_source_real_get_representative_id (ThumbnailSource* self); +gchar* data_source_get_source_id (DataSource* self); +PhotoFileFormat thumbnail_source_get_preferred_thumbnail_format (ThumbnailSource* self); +static PhotoFileFormat thumbnail_source_real_get_preferred_thumbnail_format (ThumbnailSource* self); +static void thumbnail_source_real_thumbnail_altered (ThumbnailSource* self); +GType indexable_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +gpointer backing_file_state_ref (gpointer instance); +void backing_file_state_unref (gpointer instance); +GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_file_state (GValue* value, gpointer v_object); +void value_take_backing_file_state (GValue* value, gpointer v_object); +gpointer value_get_backing_file_state (const GValue* value); +GType backing_file_state_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType photo_exception_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +GType photo_source_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +enum { + PHOTO_SOURCE_DUMMY_PROPERTY +}; +PhotoSource* photo_source_construct (GType object_type, gint64 object_id); +MediaSource* media_source_construct (GType object_type, gint64 object_id); +PhotoMetadata* photo_source_get_metadata (PhotoSource* self); +static PhotoMetadata* photo_source_real_get_metadata (PhotoSource* self); +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +static GdkPixbuf* photo_source_real_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +GType video_source_get_type (void) G_GNUC_CONST; +enum { + VIDEO_SOURCE_DUMMY_PROPERTY +}; +VideoSource* video_source_construct (GType object_type); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +GType event_source_get_type (void) G_GNUC_CONST; +enum { + EVENT_SOURCE_DUMMY_PROPERTY +}; +EventSource* event_source_construct (GType object_type, gint64 object_id); +time_t event_source_get_start_time (EventSource* self); +static time_t event_source_real_get_start_time (EventSource* self); +time_t event_source_get_end_time (EventSource* self); +static time_t event_source_real_get_end_time (EventSource* self); +guint64 event_source_get_total_filesize (EventSource* self); +static guint64 event_source_real_get_total_filesize (EventSource* self); +gint event_source_get_media_count (EventSource* self); +static gint event_source_real_get_media_count (EventSource* self); +GeeCollection* event_source_get_media (EventSource* self); +static GeeCollection* event_source_real_get_media (EventSource* self); +gchar* event_source_get_comment (EventSource* self); +static gchar* event_source_real_get_comment (EventSource* self); +gboolean event_source_set_comment (EventSource* self, const gchar* comment); +static gboolean event_source_real_set_comment (EventSource* self, const gchar* comment); +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType container_source_get_type (void) G_GNUC_CONST; +gboolean container_source_has_links (ContainerSource* self); +SourceBacklink* container_source_get_backlink (ContainerSource* self); +void container_source_break_link (ContainerSource* self, DataSource* source); +void container_source_break_link_many (ContainerSource* self, GeeCollection* sources); +void container_source_establish_link (ContainerSource* self, DataSource* source); +void container_source_establish_link_many (ContainerSource* self, GeeCollection* sources); + + +ThumbnailSource* thumbnail_source_construct (GType object_type, gint64 object_id) { + ThumbnailSource * self = NULL; + gint64 _tmp0_ = 0LL; +#line 16 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + _tmp0_ = object_id; +#line 16 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + self = (ThumbnailSource*) data_source_construct (object_type, _tmp0_); +#line 15 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return self; +#line 604 "DataSourceTypes.c" +} + + +static void _thumbnail_source_subscriber_thumbnail_altered_data_source_contact_subscriber (DataView* view, gpointer self) { +#line 24 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + thumbnail_source_subscriber_thumbnail_altered ((ThumbnailSource*) self, view); +#line 611 "DataSourceTypes.c" +} + + +static void thumbnail_source_real_notify_thumbnail_altered (ThumbnailSource* self) { +#line 21 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_signal_emit_by_name (self, "thumbnail-altered"); +#line 24 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + data_source_contact_subscribers (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), _thumbnail_source_subscriber_thumbnail_altered_data_source_contact_subscriber, self); +#line 620 "DataSourceTypes.c" +} + + +void thumbnail_source_notify_thumbnail_altered (ThumbnailSource* self) { +#line 19 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (self)); +#line 19 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + THUMBNAIL_SOURCE_GET_CLASS (self)->notify_thumbnail_altered (self); +#line 629 "DataSourceTypes.c" +} + + +static void thumbnail_source_subscriber_thumbnail_altered (ThumbnailSource* self, DataView* view) { + DataView* _tmp0_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (self)); +#line 27 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 28 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + _tmp0_ = view; +#line 28 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + thumbnail_view_notify_thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_VIEW, ThumbnailView)); +#line 643 "DataSourceTypes.c" +} + + +static GdkPixbuf* thumbnail_source_real_get_thumbnail (ThumbnailSource* self, gint scale, GError** error) { +#line 31 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `thumbnail_source_get_thumbnail'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 31 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return NULL; +#line 652 "DataSourceTypes.c" +} + + +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error) { +#line 31 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (self), NULL); +#line 31 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return THUMBNAIL_SOURCE_GET_CLASS (self)->get_thumbnail (self, scale, error); +#line 661 "DataSourceTypes.c" +} + + +static GdkPixbuf* thumbnail_source_real_create_thumbnail (ThumbnailSource* self, gint scale, GError** error) { +#line 35 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `thumbnail_source_create_thumbnail'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 35 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return NULL; +#line 670 "DataSourceTypes.c" +} + + +GdkPixbuf* thumbnail_source_create_thumbnail (ThumbnailSource* self, gint scale, GError** error) { +#line 35 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (self), NULL); +#line 35 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return THUMBNAIL_SOURCE_GET_CLASS (self)->create_thumbnail (self, scale, error); +#line 679 "DataSourceTypes.c" +} + + +static gchar* thumbnail_source_real_get_representative_id (ThumbnailSource* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + _tmp0_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource)); +#line 47 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + result = _tmp0_; +#line 47 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return result; +#line 692 "DataSourceTypes.c" +} + + +gchar* thumbnail_source_get_representative_id (ThumbnailSource* self) { +#line 46 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (self), NULL); +#line 46 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return THUMBNAIL_SOURCE_GET_CLASS (self)->get_representative_id (self); +#line 701 "DataSourceTypes.c" +} + + +static PhotoFileFormat thumbnail_source_real_get_preferred_thumbnail_format (ThumbnailSource* self) { +#line 50 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `thumbnail_source_get_preferred_thumbnail_format'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 50 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return 0; +#line 710 "DataSourceTypes.c" +} + + +PhotoFileFormat thumbnail_source_get_preferred_thumbnail_format (ThumbnailSource* self) { +#line 50 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (self), 0); +#line 50 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return THUMBNAIL_SOURCE_GET_CLASS (self)->get_preferred_thumbnail_format (self); +#line 719 "DataSourceTypes.c" +} + + +static void thumbnail_source_real_thumbnail_altered (ThumbnailSource* self) { +} + + +static void thumbnail_source_class_init (ThumbnailSourceClass * klass) { +#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + thumbnail_source_parent_class = g_type_class_peek_parent (klass); +#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((ThumbnailSourceClass *) klass)->notify_thumbnail_altered = thumbnail_source_real_notify_thumbnail_altered; +#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((ThumbnailSourceClass *) klass)->get_thumbnail = thumbnail_source_real_get_thumbnail; +#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((ThumbnailSourceClass *) klass)->create_thumbnail = thumbnail_source_real_create_thumbnail; +#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((ThumbnailSourceClass *) klass)->get_representative_id = thumbnail_source_real_get_representative_id; +#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((ThumbnailSourceClass *) klass)->get_preferred_thumbnail_format = thumbnail_source_real_get_preferred_thumbnail_format; +#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((ThumbnailSourceClass *) klass)->thumbnail_altered = thumbnail_source_real_thumbnail_altered; +#line 11 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_signal_new ("thumbnail_altered", TYPE_THUMBNAIL_SOURCE, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ThumbnailSourceClass, thumbnail_altered), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 744 "DataSourceTypes.c" +} + + +static void thumbnail_source_instance_init (ThumbnailSource * self) { +} + + +GType thumbnail_source_get_type (void) { + static volatile gsize thumbnail_source_type_id__volatile = 0; + if (g_once_init_enter (&thumbnail_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ThumbnailSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThumbnailSource), 0, (GInstanceInitFunc) thumbnail_source_instance_init, NULL }; + GType thumbnail_source_type_id; + thumbnail_source_type_id = g_type_register_static (TYPE_DATA_SOURCE, "ThumbnailSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&thumbnail_source_type_id__volatile, thumbnail_source_type_id); + } + return thumbnail_source_type_id__volatile; +} + + +PhotoSource* photo_source_construct (GType object_type, gint64 object_id) { + PhotoSource * self = NULL; + gint64 _tmp0_ = 0LL; +#line 55 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + _tmp0_ = object_id; +#line 55 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + self = (PhotoSource*) media_source_construct (object_type, _tmp0_); +#line 54 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return self; +#line 773 "DataSourceTypes.c" +} + + +static PhotoMetadata* photo_source_real_get_metadata (PhotoSource* self) { +#line 58 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `photo_source_get_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 58 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return NULL; +#line 782 "DataSourceTypes.c" +} + + +PhotoMetadata* photo_source_get_metadata (PhotoSource* self) { +#line 58 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_PHOTO_SOURCE (self), NULL); +#line 58 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return PHOTO_SOURCE_GET_CLASS (self)->get_metadata (self); +#line 791 "DataSourceTypes.c" +} + + +static GdkPixbuf* photo_source_real_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error) { +#line 60 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `photo_source_get_pixbuf'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 60 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return NULL; +#line 800 "DataSourceTypes.c" +} + + +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error) { +#line 60 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_PHOTO_SOURCE (self), NULL); +#line 60 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return PHOTO_SOURCE_GET_CLASS (self)->get_pixbuf (self, scaling, error); +#line 809 "DataSourceTypes.c" +} + + +static void photo_source_class_init (PhotoSourceClass * klass) { +#line 53 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + photo_source_parent_class = g_type_class_peek_parent (klass); +#line 53 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((PhotoSourceClass *) klass)->get_metadata = photo_source_real_get_metadata; +#line 53 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((PhotoSourceClass *) klass)->get_pixbuf = photo_source_real_get_pixbuf; +#line 820 "DataSourceTypes.c" +} + + +static void photo_source_instance_init (PhotoSource * self) { +} + + +GType photo_source_get_type (void) { + static volatile gsize photo_source_type_id__volatile = 0; + if (g_once_init_enter (&photo_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoSource), 0, (GInstanceInitFunc) photo_source_instance_init, NULL }; + GType photo_source_type_id; + photo_source_type_id = g_type_register_static (TYPE_MEDIA_SOURCE, "PhotoSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_source_type_id__volatile, photo_source_type_id); + } + return photo_source_type_id__volatile; +} + + +VideoSource* video_source_construct (GType object_type) { + VideoSource * self = NULL; +#line 63 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + self = (VideoSource*) media_source_construct (object_type, DATA_OBJECT_INVALID_OBJECT_ID); +#line 63 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return self; +#line 846 "DataSourceTypes.c" +} + + +static void video_source_class_init (VideoSourceClass * klass) { +#line 63 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + video_source_parent_class = g_type_class_peek_parent (klass); +#line 853 "DataSourceTypes.c" +} + + +static void video_source_instance_init (VideoSource * self) { +} + + +GType video_source_get_type (void) { + static volatile gsize video_source_type_id__volatile = 0; + if (g_once_init_enter (&video_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoSource), 0, (GInstanceInitFunc) video_source_instance_init, NULL }; + GType video_source_type_id; + video_source_type_id = g_type_register_static (TYPE_MEDIA_SOURCE, "VideoSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&video_source_type_id__volatile, video_source_type_id); + } + return video_source_type_id__volatile; +} + + +EventSource* event_source_construct (GType object_type, gint64 object_id) { + EventSource * self = NULL; + gint64 _tmp0_ = 0LL; +#line 72 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + _tmp0_ = object_id; +#line 72 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + self = (EventSource*) thumbnail_source_construct (object_type, _tmp0_); +#line 71 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return self; +#line 882 "DataSourceTypes.c" +} + + +static time_t event_source_real_get_start_time (EventSource* self) { +#line 75 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `event_source_get_start_time'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 75 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return 0; +#line 891 "DataSourceTypes.c" +} + + +time_t event_source_get_start_time (EventSource* self) { +#line 75 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_EVENT_SOURCE (self), 0); +#line 75 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return EVENT_SOURCE_GET_CLASS (self)->get_start_time (self); +#line 900 "DataSourceTypes.c" +} + + +static time_t event_source_real_get_end_time (EventSource* self) { +#line 77 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `event_source_get_end_time'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 77 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return 0; +#line 909 "DataSourceTypes.c" +} + + +time_t event_source_get_end_time (EventSource* self) { +#line 77 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_EVENT_SOURCE (self), 0); +#line 77 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return EVENT_SOURCE_GET_CLASS (self)->get_end_time (self); +#line 918 "DataSourceTypes.c" +} + + +static guint64 event_source_real_get_total_filesize (EventSource* self) { +#line 79 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `event_source_get_total_filesize'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 79 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return 0ULL; +#line 927 "DataSourceTypes.c" +} + + +guint64 event_source_get_total_filesize (EventSource* self) { +#line 79 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_EVENT_SOURCE (self), 0ULL); +#line 79 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return EVENT_SOURCE_GET_CLASS (self)->get_total_filesize (self); +#line 936 "DataSourceTypes.c" +} + + +static gint event_source_real_get_media_count (EventSource* self) { +#line 81 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `event_source_get_media_count'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 81 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return 0; +#line 945 "DataSourceTypes.c" +} + + +gint event_source_get_media_count (EventSource* self) { +#line 81 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_EVENT_SOURCE (self), 0); +#line 81 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return EVENT_SOURCE_GET_CLASS (self)->get_media_count (self); +#line 954 "DataSourceTypes.c" +} + + +static GeeCollection* event_source_real_get_media (EventSource* self) { +#line 83 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `event_source_get_media'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 83 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return NULL; +#line 963 "DataSourceTypes.c" +} + + +GeeCollection* event_source_get_media (EventSource* self) { +#line 83 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_EVENT_SOURCE (self), NULL); +#line 83 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return EVENT_SOURCE_GET_CLASS (self)->get_media (self); +#line 972 "DataSourceTypes.c" +} + + +static gchar* event_source_real_get_comment (EventSource* self) { +#line 85 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `event_source_get_comment'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 85 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return NULL; +#line 981 "DataSourceTypes.c" +} + + +gchar* event_source_get_comment (EventSource* self) { +#line 85 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_EVENT_SOURCE (self), NULL); +#line 85 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return EVENT_SOURCE_GET_CLASS (self)->get_comment (self); +#line 990 "DataSourceTypes.c" +} + + +static gboolean event_source_real_set_comment (EventSource* self, const gchar* comment) { +#line 87 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_critical ("Type `%s' does not implement abstract method `event_source_set_comment'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 87 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return FALSE; +#line 999 "DataSourceTypes.c" +} + + +gboolean event_source_set_comment (EventSource* self, const gchar* comment) { +#line 87 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_EVENT_SOURCE (self), FALSE); +#line 87 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return EVENT_SOURCE_GET_CLASS (self)->set_comment (self, comment); +#line 1008 "DataSourceTypes.c" +} + + +static void event_source_class_init (EventSourceClass * klass) { +#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + event_source_parent_class = g_type_class_peek_parent (klass); +#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((EventSourceClass *) klass)->get_start_time = event_source_real_get_start_time; +#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((EventSourceClass *) klass)->get_end_time = event_source_real_get_end_time; +#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((EventSourceClass *) klass)->get_total_filesize = event_source_real_get_total_filesize; +#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((EventSourceClass *) klass)->get_media_count = event_source_real_get_media_count; +#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((EventSourceClass *) klass)->get_media = event_source_real_get_media; +#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((EventSourceClass *) klass)->get_comment = event_source_real_get_comment; +#line 70 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + ((EventSourceClass *) klass)->set_comment = event_source_real_set_comment; +#line 1029 "DataSourceTypes.c" +} + + +static void event_source_instance_init (EventSource * self) { +} + + +GType event_source_get_type (void) { + static volatile gsize event_source_type_id__volatile = 0; + if (g_once_init_enter (&event_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventSource), 0, (GInstanceInitFunc) event_source_instance_init, NULL }; + GType event_source_type_id; + event_source_type_id = g_type_register_static (TYPE_THUMBNAIL_SOURCE, "EventSource", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&event_source_type_id__volatile, event_source_type_id); + } + return event_source_type_id__volatile; +} + + +gboolean container_source_has_links (ContainerSource* self) { +#line 95 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_CONTAINER_SOURCE (self), FALSE); +#line 95 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return CONTAINER_SOURCE_GET_INTERFACE (self)->has_links (self); +#line 1054 "DataSourceTypes.c" +} + + +SourceBacklink* container_source_get_backlink (ContainerSource* self) { +#line 97 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_val_if_fail (IS_CONTAINER_SOURCE (self), NULL); +#line 97 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + return CONTAINER_SOURCE_GET_INTERFACE (self)->get_backlink (self); +#line 1063 "DataSourceTypes.c" +} + + +void container_source_break_link (ContainerSource* self, DataSource* source) { +#line 99 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (self)); +#line 99 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + CONTAINER_SOURCE_GET_INTERFACE (self)->break_link (self, source); +#line 1072 "DataSourceTypes.c" +} + + +void container_source_break_link_many (ContainerSource* self, GeeCollection* sources) { +#line 101 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (self)); +#line 101 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + CONTAINER_SOURCE_GET_INTERFACE (self)->break_link_many (self, sources); +#line 1081 "DataSourceTypes.c" +} + + +void container_source_establish_link (ContainerSource* self, DataSource* source) { +#line 103 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (self)); +#line 103 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + CONTAINER_SOURCE_GET_INTERFACE (self)->establish_link (self, source); +#line 1090 "DataSourceTypes.c" +} + + +void container_source_establish_link_many (ContainerSource* self, GeeCollection* sources) { +#line 105 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + g_return_if_fail (IS_CONTAINER_SOURCE (self)); +#line 105 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + CONTAINER_SOURCE_GET_INTERFACE (self)->establish_link_many (self, sources); +#line 1099 "DataSourceTypes.c" +} + + +static void container_source_base_init (ContainerSourceIface * iface) { +#line 94 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + static gboolean initialized = FALSE; +#line 94 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + if (!initialized) { +#line 94 "/home/jens/Source/shotwell/src/core/DataSourceTypes.vala" + initialized = TRUE; +#line 1110 "DataSourceTypes.c" + } +} + + +GType container_source_get_type (void) { + static volatile gsize container_source_type_id__volatile = 0; + if (g_once_init_enter (&container_source_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ContainerSourceIface), (GBaseInitFunc) container_source_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType container_source_type_id; + container_source_type_id = g_type_register_static (G_TYPE_INTERFACE, "ContainerSource", &g_define_type_info, 0); + g_type_interface_add_prerequisite (container_source_type_id, TYPE_DATA_SOURCE); + g_once_init_leave (&container_source_type_id__volatile, container_source_type_id); + } + return container_source_type_id__volatile; +} + + + diff --git a/src/core/DataView.c b/src/core/DataView.c new file mode 100644 index 0000000..40153fc --- /dev/null +++ b/src/core/DataView.c @@ -0,0 +1,681 @@ +/* DataView.c generated by valac 0.32.1, the Vala compiler + * generated from DataView.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataViewPrivate DataViewPrivate; + +#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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _DataViewPrivate { + DataSource* source; + gboolean selected; + gboolean visible; +}; + + +static gpointer data_view_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_view_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +#define DATA_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DATA_VIEW, DataViewPrivate)) +enum { + DATA_VIEW_DUMMY_PROPERTY +}; +void data_source_internal_unsubscribe (DataSource* self, DataView* view); +DataView* data_view_new (DataSource* source); +DataView* data_view_construct (GType object_type, DataSource* source); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +DataObject* data_object_construct (GType object_type, gint64 object_id); +void data_source_internal_subscribe (DataSource* self, DataView* view); +static gchar* data_view_real_get_name (DataObject* base); +gchar* data_object_get_name (DataObject* self); +static gchar* data_view_real_to_string (DataObject* base); +gchar* data_object_to_string (DataObject* self); +DataSource* data_view_get_source (DataView* self); +gboolean data_view_is_selected (DataView* self); +void data_view_internal_set_selected (DataView* self, gboolean selected); +gboolean data_view_internal_toggle (DataView* self); +gboolean data_view_is_visible (DataView* self); +void data_view_internal_set_visible (DataView* self, gboolean visible); +void data_view_notify_view_altered (DataView* self); +static void data_view_real_notify_view_altered (DataView* self); +GType view_collection_get_type (void) G_GNUC_CONST; +DataCollection* data_object_get_membership (DataObject* self); +gboolean data_collection_are_notifications_frozen (DataCollection* self); +void view_collection_internal_notify_view_altered (ViewCollection* self, DataView* view); +void data_view_notify_geometry_altered (DataView* self); +static void data_view_real_notify_geometry_altered (DataView* self); +void view_collection_internal_notify_geometry_altered (ViewCollection* self, DataView* view); +void data_view_notify_unsubscribed (DataView* self, DataSource* source); +static void data_view_real_notify_unsubscribed (DataView* self, DataSource* source); +static void data_view_real_state_changed (DataView* self, gboolean selected); +static void data_view_real_visibility_changed (DataView* self, gboolean visible); +static void data_view_real_view_altered (DataView* self); +static void data_view_real_geometry_altered (DataView* self); +static void data_view_real_unsubscribed (DataView* self, DataSource* source); +static void data_view_finalize (GObject* obj); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 33 "/home/jens/Source/shotwell/src/core/DataView.vala" + return self ? g_object_ref (self) : NULL; +#line 182 "DataView.c" +} + + +DataView* data_view_construct (GType object_type, DataSource* source) { + DataView * self = NULL; + DataSource* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 32 "/home/jens/Source/shotwell/src/core/DataView.vala" + self = (DataView*) data_object_construct (object_type, DATA_OBJECT_INVALID_OBJECT_ID); +#line 33 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = source; +#line 33 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 33 "/home/jens/Source/shotwell/src/core/DataView.vala" + _g_object_unref0 (self->priv->source); +#line 33 "/home/jens/Source/shotwell/src/core/DataView.vala" + self->priv->source = _tmp1_; +#line 37 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp2_ = source; +#line 37 "/home/jens/Source/shotwell/src/core/DataView.vala" + data_source_internal_subscribe (_tmp2_, self); +#line 32 "/home/jens/Source/shotwell/src/core/DataView.vala" + return self; +#line 209 "DataView.c" +} + + +DataView* data_view_new (DataSource* source) { +#line 32 "/home/jens/Source/shotwell/src/core/DataView.vala" + return data_view_construct (TYPE_DATA_VIEW, source); +#line 216 "DataView.c" +} + + +static gchar* data_view_real_get_name (DataObject* base) { + DataView * self; + gchar* result = NULL; + DataSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/core/DataView.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DATA_VIEW, DataView); +#line 48 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->source; +#line 48 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 48 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp2_ = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp3_ = g_strdup_printf ("View of %s", _tmp2_); +#line 48 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp4_ = _tmp3_; +#line 48 "/home/jens/Source/shotwell/src/core/DataView.vala" + _g_free0 (_tmp2_); +#line 48 "/home/jens/Source/shotwell/src/core/DataView.vala" + result = _tmp4_; +#line 48 "/home/jens/Source/shotwell/src/core/DataView.vala" + return result; +#line 246 "DataView.c" +} + + +static gchar* data_view_real_to_string (DataObject* base) { + DataView * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/core/DataView.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DATA_VIEW, DataView); +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = _tmp0_; +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp2_ = self->priv->source; +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp3_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp4_ = _tmp3_; +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp5_ = g_strdup_printf ("DataView %s [DataSource %s]", _tmp1_, _tmp4_); +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp6_ = _tmp5_; +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _g_free0 (_tmp4_); +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + _g_free0 (_tmp1_); +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + result = _tmp6_; +#line 52 "/home/jens/Source/shotwell/src/core/DataView.vala" + return result; +#line 284 "DataView.c" +} + + +DataSource* data_view_get_source (DataView* self) { + DataSource* result = NULL; + DataSource* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_val_if_fail (IS_DATA_VIEW (self), NULL); +#line 56 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->source; +#line 56 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 56 "/home/jens/Source/shotwell/src/core/DataView.vala" + result = _tmp1_; +#line 56 "/home/jens/Source/shotwell/src/core/DataView.vala" + return result; +#line 302 "DataView.c" +} + + +gboolean data_view_is_selected (DataView* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 59 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_val_if_fail (IS_DATA_VIEW (self), FALSE); +#line 60 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->selected; +#line 60 "/home/jens/Source/shotwell/src/core/DataView.vala" + result = _tmp0_; +#line 60 "/home/jens/Source/shotwell/src/core/DataView.vala" + return result; +#line 317 "DataView.c" +} + + +void data_view_internal_set_selected (DataView* self, gboolean selected) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_if_fail (IS_DATA_VIEW (self)); +#line 65 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->selected; +#line 65 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = selected; +#line 65 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (_tmp0_ == _tmp1_) { +#line 66 "/home/jens/Source/shotwell/src/core/DataView.vala" + return; +#line 336 "DataView.c" + } +#line 68 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp2_ = selected; +#line 68 "/home/jens/Source/shotwell/src/core/DataView.vala" + self->priv->selected = _tmp2_; +#line 69 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp3_ = selected; +#line 69 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_emit_by_name (self, "state-changed", _tmp3_); +#line 346 "DataView.c" +} + + +gboolean data_view_internal_toggle (DataView* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 73 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_val_if_fail (IS_DATA_VIEW (self), FALSE); +#line 74 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->selected; +#line 74 "/home/jens/Source/shotwell/src/core/DataView.vala" + self->priv->selected = !_tmp0_; +#line 75 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = self->priv->selected; +#line 75 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_emit_by_name (self, "state-changed", _tmp1_); +#line 77 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp2_ = self->priv->selected; +#line 77 "/home/jens/Source/shotwell/src/core/DataView.vala" + result = _tmp2_; +#line 77 "/home/jens/Source/shotwell/src/core/DataView.vala" + return result; +#line 371 "DataView.c" +} + + +gboolean data_view_is_visible (DataView* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 80 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_val_if_fail (IS_DATA_VIEW (self), FALSE); +#line 81 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->visible; +#line 81 "/home/jens/Source/shotwell/src/core/DataView.vala" + result = _tmp0_; +#line 81 "/home/jens/Source/shotwell/src/core/DataView.vala" + return result; +#line 386 "DataView.c" +} + + +void data_view_internal_set_visible (DataView* self, gboolean visible) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 85 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_if_fail (IS_DATA_VIEW (self)); +#line 86 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->visible; +#line 86 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = visible; +#line 86 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (_tmp0_ == _tmp1_) { +#line 87 "/home/jens/Source/shotwell/src/core/DataView.vala" + return; +#line 405 "DataView.c" + } +#line 89 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp2_ = visible; +#line 89 "/home/jens/Source/shotwell/src/core/DataView.vala" + self->priv->visible = _tmp2_; +#line 90 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp3_ = visible; +#line 90 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_emit_by_name (self, "visibility-changed", _tmp3_); +#line 415 "DataView.c" +} + + +static void data_view_real_notify_view_altered (DataView* self) { + gboolean _tmp0_ = FALSE; + ViewCollection* vc = NULL; + DataCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->visible; +#line 95 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (!_tmp0_) { +#line 96 "/home/jens/Source/shotwell/src/core/DataView.vala" + return; +#line 431 "DataView.c" + } +#line 98 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 98 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIEW_COLLECTION) ? ((ViewCollection*) _tmp1_) : NULL; +#line 98 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (_tmp2_ == NULL) { +#line 98 "/home/jens/Source/shotwell/src/core/DataView.vala" + _data_collection_unref0 (_tmp1_); +#line 441 "DataView.c" + } +#line 98 "/home/jens/Source/shotwell/src/core/DataView.vala" + vc = _tmp2_; +#line 99 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp3_ = vc; +#line 99 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (_tmp3_ != NULL) { +#line 449 "DataView.c" + ViewCollection* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + ViewCollection* _tmp6_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp4_ = vc; +#line 100 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp5_ = data_collection_are_notifications_frozen (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection)); +#line 100 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (!_tmp5_) { +#line 101 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_emit_by_name (self, "view-altered"); +#line 461 "DataView.c" + } +#line 104 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp6_ = vc; +#line 104 "/home/jens/Source/shotwell/src/core/DataView.vala" + view_collection_internal_notify_view_altered (_tmp6_, self); +#line 467 "DataView.c" + } else { +#line 106 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_emit_by_name (self, "view-altered"); +#line 471 "DataView.c" + } +#line 93 "/home/jens/Source/shotwell/src/core/DataView.vala" + _data_collection_unref0 (vc); +#line 475 "DataView.c" +} + + +void data_view_notify_view_altered (DataView* self) { +#line 93 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_if_fail (IS_DATA_VIEW (self)); +#line 93 "/home/jens/Source/shotwell/src/core/DataView.vala" + DATA_VIEW_GET_CLASS (self)->notify_view_altered (self); +#line 484 "DataView.c" +} + + +static void data_view_real_notify_geometry_altered (DataView* self) { + gboolean _tmp0_ = FALSE; + ViewCollection* vc = NULL; + DataCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->visible; +#line 112 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (!_tmp0_) { +#line 113 "/home/jens/Source/shotwell/src/core/DataView.vala" + return; +#line 500 "DataView.c" + } +#line 115 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp1_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 115 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIEW_COLLECTION) ? ((ViewCollection*) _tmp1_) : NULL; +#line 115 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (_tmp2_ == NULL) { +#line 115 "/home/jens/Source/shotwell/src/core/DataView.vala" + _data_collection_unref0 (_tmp1_); +#line 510 "DataView.c" + } +#line 115 "/home/jens/Source/shotwell/src/core/DataView.vala" + vc = _tmp2_; +#line 116 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp3_ = vc; +#line 116 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (_tmp3_ != NULL) { +#line 518 "DataView.c" + ViewCollection* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + ViewCollection* _tmp6_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp4_ = vc; +#line 117 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp5_ = data_collection_are_notifications_frozen (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection)); +#line 117 "/home/jens/Source/shotwell/src/core/DataView.vala" + if (!_tmp5_) { +#line 118 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_emit_by_name (self, "geometry-altered"); +#line 530 "DataView.c" + } +#line 121 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp6_ = vc; +#line 121 "/home/jens/Source/shotwell/src/core/DataView.vala" + view_collection_internal_notify_geometry_altered (_tmp6_, self); +#line 536 "DataView.c" + } else { +#line 123 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_emit_by_name (self, "geometry-altered"); +#line 540 "DataView.c" + } +#line 110 "/home/jens/Source/shotwell/src/core/DataView.vala" + _data_collection_unref0 (vc); +#line 544 "DataView.c" +} + + +void data_view_notify_geometry_altered (DataView* self) { +#line 110 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_if_fail (IS_DATA_VIEW (self)); +#line 110 "/home/jens/Source/shotwell/src/core/DataView.vala" + DATA_VIEW_GET_CLASS (self)->notify_geometry_altered (self); +#line 553 "DataView.c" +} + + +static void data_view_real_notify_unsubscribed (DataView* self, DataSource* source) { + DataSource* _tmp0_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 129 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = source; +#line 129 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_emit_by_name (self, "unsubscribed", _tmp0_); +#line 565 "DataView.c" +} + + +void data_view_notify_unsubscribed (DataView* self, DataSource* source) { +#line 128 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_if_fail (IS_DATA_VIEW (self)); +#line 128 "/home/jens/Source/shotwell/src/core/DataView.vala" + DATA_VIEW_GET_CLASS (self)->notify_unsubscribed (self, source); +#line 574 "DataView.c" +} + + +static void data_view_real_state_changed (DataView* self, gboolean selected) { +} + + +static void data_view_real_visibility_changed (DataView* self, gboolean visible) { +} + + +static void data_view_real_view_altered (DataView* self) { +} + + +static void data_view_real_geometry_altered (DataView* self) { +} + + +static void data_view_real_unsubscribed (DataView* self, DataSource* source) { +#line 29 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 597 "DataView.c" +} + + +static void data_view_class_init (DataViewClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + data_view_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_type_class_add_private (klass, sizeof (DataViewPrivate)); +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataObjectClass *) klass)->get_name = data_view_real_get_name; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataObjectClass *) klass)->to_string = data_view_real_to_string; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataViewClass *) klass)->notify_view_altered = data_view_real_notify_view_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataViewClass *) klass)->notify_geometry_altered = data_view_real_notify_geometry_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataViewClass *) klass)->notify_unsubscribed = data_view_real_notify_unsubscribed; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataViewClass *) klass)->state_changed = data_view_real_state_changed; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataViewClass *) klass)->visibility_changed = data_view_real_visibility_changed; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataViewClass *) klass)->view_altered = data_view_real_view_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataViewClass *) klass)->geometry_altered = data_view_real_geometry_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + ((DataViewClass *) klass)->unsubscribed = data_view_real_unsubscribed; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + G_OBJECT_CLASS (klass)->finalize = data_view_finalize; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_new ("state_changed", TYPE_DATA_VIEW, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataViewClass, state_changed), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_new ("visibility_changed", TYPE_DATA_VIEW, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataViewClass, visibility_changed), NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_new ("view_altered", TYPE_DATA_VIEW, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataViewClass, view_altered), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_new ("geometry_altered", TYPE_DATA_VIEW, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataViewClass, geometry_altered), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + g_signal_new ("unsubscribed", TYPE_DATA_VIEW, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DataViewClass, unsubscribed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_DATA_SOURCE); +#line 638 "DataView.c" +} + + +static void data_view_instance_init (DataView * self) { +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + self->priv = DATA_VIEW_GET_PRIVATE (self); +#line 9 "/home/jens/Source/shotwell/src/core/DataView.vala" + self->priv->selected = FALSE; +#line 10 "/home/jens/Source/shotwell/src/core/DataView.vala" + self->priv->visible = TRUE; +#line 649 "DataView.c" +} + + +static void data_view_finalize (GObject* obj) { + DataView * self; + DataSource* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATA_VIEW, DataView); +#line 44 "/home/jens/Source/shotwell/src/core/DataView.vala" + _tmp0_ = self->priv->source; +#line 44 "/home/jens/Source/shotwell/src/core/DataView.vala" + data_source_internal_unsubscribe (_tmp0_, self); +#line 8 "/home/jens/Source/shotwell/src/core/DataView.vala" + _g_object_unref0 (self->priv->source); +#line 7 "/home/jens/Source/shotwell/src/core/DataView.vala" + G_OBJECT_CLASS (data_view_parent_class)->finalize (obj); +#line 666 "DataView.c" +} + + +GType data_view_get_type (void) { + static volatile gsize data_view_type_id__volatile = 0; + if (g_once_init_enter (&data_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataView), 0, (GInstanceInitFunc) data_view_instance_init, NULL }; + GType data_view_type_id; + data_view_type_id = g_type_register_static (TYPE_DATA_OBJECT, "DataView", &g_define_type_info, 0); + g_once_init_leave (&data_view_type_id__volatile, data_view_type_id); + } + return data_view_type_id__volatile; +} + + + diff --git a/src/core/DataViewTypes.c b/src/core/DataViewTypes.c new file mode 100644 index 0000000..0e55db0 --- /dev/null +++ b/src/core/DataViewTypes.c @@ -0,0 +1,546 @@ +/* DataViewTypes.c generated by valac 0.32.1, the Vala compiler + * generated from DataViewTypes.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataViewPrivate DataViewPrivate; + +#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_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; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; + +#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_PHOTO_VIEW (photo_view_get_type ()) +#define PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_VIEW, PhotoView)) +#define PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_VIEW, PhotoViewClass)) +#define IS_PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_VIEW)) +#define IS_PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_VIEW)) +#define PHOTO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_VIEW, PhotoViewClass)) + +typedef struct _PhotoView PhotoView; +typedef struct _PhotoViewClass PhotoViewClass; +typedef struct _PhotoViewPrivate PhotoViewPrivate; + +#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_VIDEO_VIEW (video_view_get_type ()) +#define VIDEO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_VIEW, VideoView)) +#define VIDEO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_VIEW, VideoViewClass)) +#define IS_VIDEO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_VIEW)) +#define IS_VIDEO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_VIEW)) +#define VIDEO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_VIEW, VideoViewClass)) + +typedef struct _VideoView VideoView; +typedef struct _VideoViewClass VideoViewClass; +typedef struct _VideoViewPrivate VideoViewPrivate; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_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; +typedef struct _EventViewPrivate EventViewPrivate; + +#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; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _PhotoView { + ThumbnailView parent_instance; + PhotoViewPrivate * priv; +}; + +struct _PhotoViewClass { + ThumbnailViewClass parent_class; +}; + +struct _VideoView { + ThumbnailView parent_instance; + VideoViewPrivate * priv; +}; + +struct _VideoViewClass { + ThumbnailViewClass parent_class; +}; + +struct _EventView { + ThumbnailView parent_instance; + EventViewPrivate * priv; +}; + +struct _EventViewClass { + ThumbnailViewClass parent_class; +}; + + +static gpointer thumbnail_view_parent_class = NULL; +static gpointer photo_view_parent_class = NULL; +static gpointer video_view_parent_class = NULL; +static gpointer event_view_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_view_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_view_get_type (void) G_GNUC_CONST; +enum { + THUMBNAIL_VIEW_DUMMY_PROPERTY +}; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +ThumbnailView* thumbnail_view_new (ThumbnailSource* source); +ThumbnailView* thumbnail_view_construct (GType object_type, ThumbnailSource* source); +DataView* data_view_new (DataSource* source); +DataView* data_view_construct (GType object_type, DataSource* source); +void thumbnail_view_notify_thumbnail_altered (ThumbnailView* self); +static void thumbnail_view_real_notify_thumbnail_altered (ThumbnailView* self); +static void thumbnail_view_real_thumbnail_altered (ThumbnailView* self); +GType photo_view_get_type (void) G_GNUC_CONST; +enum { + PHOTO_VIEW_DUMMY_PROPERTY +}; +GType media_source_get_type (void) G_GNUC_CONST; +GType photo_source_get_type (void) G_GNUC_CONST; +PhotoView* photo_view_new (PhotoSource* source); +PhotoView* photo_view_construct (GType object_type, PhotoSource* source); +PhotoSource* photo_view_get_photo_source (PhotoView* self); +DataSource* data_view_get_source (DataView* self); +GType video_view_get_type (void) G_GNUC_CONST; +enum { + VIDEO_VIEW_DUMMY_PROPERTY +}; +GType video_source_get_type (void) G_GNUC_CONST; +VideoView* video_view_new (VideoSource* source); +VideoView* video_view_construct (GType object_type, VideoSource* source); +VideoSource* video_view_get_video_source (VideoView* self); +GType event_view_get_type (void) G_GNUC_CONST; +enum { + EVENT_VIEW_DUMMY_PROPERTY +}; +GType event_source_get_type (void) G_GNUC_CONST; +EventView* event_view_new (EventSource* source); +EventView* event_view_construct (GType object_type, EventSource* source); +EventSource* event_view_get_event_source (EventView* self); + + +ThumbnailView* thumbnail_view_construct (GType object_type, ThumbnailSource* source) { + ThumbnailView * self = NULL; + ThumbnailSource* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_return_val_if_fail (IS_THUMBNAIL_SOURCE (source), NULL); +#line 12 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + _tmp0_ = source; +#line 12 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + self = (ThumbnailView*) data_view_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource)); +#line 11 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return self; +#line 307 "DataViewTypes.c" +} + + +ThumbnailView* thumbnail_view_new (ThumbnailSource* source) { +#line 11 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return thumbnail_view_construct (TYPE_THUMBNAIL_VIEW, source); +#line 314 "DataViewTypes.c" +} + + +static void thumbnail_view_real_notify_thumbnail_altered (ThumbnailView* self) { +#line 17 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_signal_emit_by_name (self, "thumbnail-altered"); +#line 321 "DataViewTypes.c" +} + + +void thumbnail_view_notify_thumbnail_altered (ThumbnailView* self) { +#line 15 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_return_if_fail (IS_THUMBNAIL_VIEW (self)); +#line 15 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + THUMBNAIL_VIEW_GET_CLASS (self)->notify_thumbnail_altered (self); +#line 330 "DataViewTypes.c" +} + + +static void thumbnail_view_real_thumbnail_altered (ThumbnailView* self) { +} + + +static void thumbnail_view_class_init (ThumbnailViewClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + thumbnail_view_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + ((ThumbnailViewClass *) klass)->notify_thumbnail_altered = thumbnail_view_real_notify_thumbnail_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + ((ThumbnailViewClass *) klass)->thumbnail_altered = thumbnail_view_real_thumbnail_altered; +#line 7 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_signal_new ("thumbnail_altered", TYPE_THUMBNAIL_VIEW, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ThumbnailViewClass, thumbnail_altered), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 347 "DataViewTypes.c" +} + + +static void thumbnail_view_instance_init (ThumbnailView * self) { +} + + +GType thumbnail_view_get_type (void) { + static volatile gsize thumbnail_view_type_id__volatile = 0; + if (g_once_init_enter (&thumbnail_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ThumbnailViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) thumbnail_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ThumbnailView), 0, (GInstanceInitFunc) thumbnail_view_instance_init, NULL }; + GType thumbnail_view_type_id; + thumbnail_view_type_id = g_type_register_static (TYPE_DATA_VIEW, "ThumbnailView", &g_define_type_info, 0); + g_once_init_leave (&thumbnail_view_type_id__volatile, thumbnail_view_type_id); + } + return thumbnail_view_type_id__volatile; +} + + +PhotoView* photo_view_construct (GType object_type, PhotoSource* source) { + PhotoView * self = NULL; + PhotoSource* _tmp0_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_return_val_if_fail (IS_PHOTO_SOURCE (source), NULL); +#line 23 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + _tmp0_ = source; +#line 23 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + self = (PhotoView*) thumbnail_view_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 22 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return self; +#line 378 "DataViewTypes.c" +} + + +PhotoView* photo_view_new (PhotoSource* source) { +#line 22 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return photo_view_construct (TYPE_PHOTO_VIEW, source); +#line 385 "DataViewTypes.c" +} + + +PhotoSource* photo_view_get_photo_source (PhotoView* self) { + PhotoSource* result = NULL; + DataSource* _tmp0_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_return_val_if_fail (IS_PHOTO_VIEW (self), NULL); +#line 27 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + _tmp0_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 27 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_SOURCE, PhotoSource); +#line 27 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return result; +#line 400 "DataViewTypes.c" +} + + +static void photo_view_class_init (PhotoViewClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + photo_view_parent_class = g_type_class_peek_parent (klass); +#line 407 "DataViewTypes.c" +} + + +static void photo_view_instance_init (PhotoView * self) { +} + + +GType photo_view_get_type (void) { + static volatile gsize photo_view_type_id__volatile = 0; + if (g_once_init_enter (&photo_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoView), 0, (GInstanceInitFunc) photo_view_instance_init, NULL }; + GType photo_view_type_id; + photo_view_type_id = g_type_register_static (TYPE_THUMBNAIL_VIEW, "PhotoView", &g_define_type_info, 0); + g_once_init_leave (&photo_view_type_id__volatile, photo_view_type_id); + } + return photo_view_type_id__volatile; +} + + +VideoView* video_view_construct (GType object_type, VideoSource* source) { + VideoView * self = NULL; + VideoSource* _tmp0_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_return_val_if_fail (IS_VIDEO_SOURCE (source), NULL); +#line 33 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + _tmp0_ = source; +#line 33 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + self = (VideoView*) thumbnail_view_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 32 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return self; +#line 438 "DataViewTypes.c" +} + + +VideoView* video_view_new (VideoSource* source) { +#line 32 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return video_view_construct (TYPE_VIDEO_VIEW, source); +#line 445 "DataViewTypes.c" +} + + +VideoSource* video_view_get_video_source (VideoView* self) { + VideoSource* result = NULL; + DataSource* _tmp0_ = NULL; +#line 36 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_return_val_if_fail (IS_VIDEO_VIEW (self), NULL); +#line 37 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + _tmp0_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 37 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIDEO_SOURCE, VideoSource); +#line 37 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return result; +#line 460 "DataViewTypes.c" +} + + +static void video_view_class_init (VideoViewClass * klass) { +#line 31 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + video_view_parent_class = g_type_class_peek_parent (klass); +#line 467 "DataViewTypes.c" +} + + +static void video_view_instance_init (VideoView * self) { +} + + +GType video_view_get_type (void) { + static volatile gsize video_view_type_id__volatile = 0; + if (g_once_init_enter (&video_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoView), 0, (GInstanceInitFunc) video_view_instance_init, NULL }; + GType video_view_type_id; + video_view_type_id = g_type_register_static (TYPE_THUMBNAIL_VIEW, "VideoView", &g_define_type_info, 0); + g_once_init_leave (&video_view_type_id__volatile, video_view_type_id); + } + return video_view_type_id__volatile; +} + + +EventView* event_view_construct (GType object_type, EventSource* source) { + EventView * self = NULL; + EventSource* _tmp0_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_return_val_if_fail (IS_EVENT_SOURCE (source), NULL); +#line 43 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + _tmp0_ = source; +#line 43 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + self = (EventView*) thumbnail_view_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource)); +#line 42 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return self; +#line 498 "DataViewTypes.c" +} + + +EventView* event_view_new (EventSource* source) { +#line 42 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return event_view_construct (TYPE_EVENT_VIEW, source); +#line 505 "DataViewTypes.c" +} + + +EventSource* event_view_get_event_source (EventView* self) { + EventSource* result = NULL; + DataSource* _tmp0_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + g_return_val_if_fail (IS_EVENT_VIEW (self), NULL); +#line 47 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + _tmp0_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_VIEW, DataView)); +#line 47 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource); +#line 47 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + return result; +#line 520 "DataViewTypes.c" +} + + +static void event_view_class_init (EventViewClass * klass) { +#line 41 "/home/jens/Source/shotwell/src/core/DataViewTypes.vala" + event_view_parent_class = g_type_class_peek_parent (klass); +#line 527 "DataViewTypes.c" +} + + +static void event_view_instance_init (EventView * self) { +} + + +GType event_view_get_type (void) { + static volatile gsize event_view_type_id__volatile = 0; + if (g_once_init_enter (&event_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventView), 0, (GInstanceInitFunc) event_view_instance_init, NULL }; + GType event_view_type_id; + event_view_type_id = g_type_register_static (TYPE_THUMBNAIL_VIEW, "EventView", &g_define_type_info, 0); + g_once_init_leave (&event_view_type_id__volatile, event_view_type_id); + } + return event_view_type_id__volatile; +} + + + diff --git a/src/core/DatabaseSourceCollection.c b/src/core/DatabaseSourceCollection.c new file mode 100644 index 0000000..b83be40 --- /dev/null +++ b/src/core/DatabaseSourceCollection.c @@ -0,0 +1,914 @@ +/* DatabaseSourceCollection.c generated by valac 0.32.1, the Vala compiler + * generated from DatabaseSourceCollection.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include + + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_DATA_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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#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; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; +typedef struct _SourceHoldingTankPrivate SourceHoldingTankPrivate; + +#define TYPE_DATABASE_SOURCE_HOLDING_TANK (database_source_holding_tank_get_type ()) +#define DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank)) +#define DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) +#define IS_DATABASE_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define IS_DATABASE_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_HOLDING_TANK)) +#define DATABASE_SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankClass)) + +typedef struct _DatabaseSourceHoldingTank DatabaseSourceHoldingTank; +typedef struct _DatabaseSourceHoldingTankClass DatabaseSourceHoldingTankClass; +typedef struct _DatabaseSourceHoldingTankPrivate DatabaseSourceHoldingTankPrivate; +#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); + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _DatabaseSourceCollectionPrivate { + GetSourceDatabaseKey source_key_func; + gpointer source_key_func_target; + GeeHashMap* map; +}; + +struct _SourceHoldingTank { + GTypeInstance parent_instance; + volatile int ref_count; + SourceHoldingTankPrivate * priv; +}; + +struct _SourceHoldingTankClass { + GTypeClass parent_class; + void (*finalize) (SourceHoldingTank *self); + void (*notify_contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); + void (*contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +}; + +struct _DatabaseSourceHoldingTank { + SourceHoldingTank parent_instance; + DatabaseSourceHoldingTankPrivate * priv; +}; + +struct _DatabaseSourceHoldingTankClass { + SourceHoldingTankClass parent_class; +}; + +struct _DatabaseSourceHoldingTankPrivate { + GetSourceDatabaseKey get_key; + gpointer get_key_target; + GeeHashMap* map; +}; + +typedef gboolean (*SourceHoldingTankCheckToKeep) (DataSource* source, Alteration* alteration, void* user_data); + +static gpointer database_source_collection_parent_class = NULL; +static gpointer database_source_holding_tank_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +#define DATABASE_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionPrivate)) +enum { + DATABASE_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +guint int64_hash (gint64* n); +static guint _int64_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean int64_equal (gint64* a, gint64* b); +static gboolean _int64_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +static gint64* _int64_dup (gint64* self); +DatabaseSourceCollection* database_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +SourceCollection* source_collection_construct (GType object_type, const gchar* name); +static void database_source_collection_real_notify_items_added (DataCollection* base, GeeIterable* added); +void data_collection_notify_items_added (DataCollection* self, GeeIterable* added); +static void database_source_collection_real_notify_items_removed (DataCollection* base, GeeIterable* removed); +void data_collection_notify_items_removed (DataCollection* self, GeeIterable* removed); +DataSource* database_source_collection_fetch_by_key (DatabaseSourceCollection* self, gint64 key); +static void database_source_collection_finalize (DataCollection* obj); +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType database_source_holding_tank_get_type (void) G_GNUC_CONST; +#define DATABASE_SOURCE_HOLDING_TANK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTankPrivate)) +enum { + DATABASE_SOURCE_HOLDING_TANK_DUMMY_PROPERTY +}; +DatabaseSourceHoldingTank* database_source_holding_tank_new (SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +DatabaseSourceHoldingTank* database_source_holding_tank_construct (GType object_type, SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target); +SourceHoldingTank* source_holding_tank_new (SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target); +SourceHoldingTank* source_holding_tank_construct (GType object_type, SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target); +DataSource* database_source_holding_tank_get_by_id (DatabaseSourceHoldingTank* self, gint64 id); +static void database_source_holding_tank_real_notify_contents_altered (SourceHoldingTank* base, GeeCollection* added, GeeCollection* removed); +void source_holding_tank_notify_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +static void database_source_holding_tank_finalize (SourceHoldingTank* obj); + + +static guint _int64_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = int64_hash ((gint64*) v); +#line 17 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return result; +#line 327 "DatabaseSourceCollection.c" +} + + +static gboolean _int64_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = int64_equal ((gint64*) a, (gint64*) b); +#line 17 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return result; +#line 336 "DatabaseSourceCollection.c" +} + + +static gint64* _int64_dup (gint64* self) { + gint64* dup; +#line 17 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + dup = g_new0 (gint64, 1); +#line 17 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + memcpy (dup, self, sizeof (gint64)); +#line 17 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return dup; +#line 348 "DatabaseSourceCollection.c" +} + + +DatabaseSourceCollection* database_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target) { + DatabaseSourceCollection* self = NULL; + const gchar* _tmp0_ = NULL; + GetSourceDatabaseKey _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 20 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 21 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = name; +#line 21 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self = (DatabaseSourceCollection*) source_collection_construct (object_type, _tmp0_); +#line 23 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1_ = source_key_func; +#line 23 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1__target = source_key_func_target; +#line 23 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self->priv->source_key_func = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self->priv->source_key_func_target = _tmp1__target; +#line 20 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return self; +#line 373 "DatabaseSourceCollection.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 28 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return self ? g_object_ref (self) : NULL; +#line 380 "DatabaseSourceCollection.c" +} + + +static void database_source_collection_real_notify_items_added (DataCollection* base, GeeIterable* added) { + DatabaseSourceCollection * self; + GeeIterable* _tmp17_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection); +#line 26 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 391 "DatabaseSourceCollection.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = added; +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _object_it = _tmp1_; +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + while (TRUE) { +#line 404 "DatabaseSourceCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataSource* source = NULL; + DataObject* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + gint64 key = 0LL; + GetSourceDatabaseKey _tmp8_ = NULL; + void* _tmp8__target = NULL; + DataSource* _tmp9_ = NULL; + gint64 _tmp10_ = 0LL; + GeeHashMap* _tmp11_ = NULL; + gint64 _tmp12_ = 0LL; + gboolean _tmp13_ = FALSE; + GeeHashMap* _tmp14_ = NULL; + gint64 _tmp15_ = 0LL; + DataSource* _tmp16_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp2_ = _object_it; +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + if (!_tmp3_) { +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + break; +#line 432 "DatabaseSourceCollection.c" + } +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp4_ = _object_it; +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + object = (DataObject*) _tmp5_; +#line 28 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp6_ = object; +#line 28 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_SOURCE, DataSource)); +#line 28 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + source = _tmp7_; +#line 29 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp8_ = self->priv->source_key_func; +#line 29 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp8__target = self->priv->source_key_func_target; +#line 29 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp9_ = source; +#line 29 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp10_ = _tmp8_ (_tmp9_, _tmp8__target); +#line 29 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + key = _tmp10_; +#line 31 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp11_ = self->priv->map; +#line 31 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp12_ = key; +#line 31 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp13_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp12_); +#line 31 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _vala_assert (!_tmp13_, "!map.has_key(key)"); +#line 33 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp14_ = self->priv->map; +#line 33 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp15_ = key; +#line 33 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp16_ = source; +#line 33 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp15_, _tmp16_); +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (source); +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (object); +#line 476 "DatabaseSourceCollection.c" + } +#line 27 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (_object_it); +#line 480 "DatabaseSourceCollection.c" + } +#line 36 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp17_ = added; +#line 36 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + DATA_COLLECTION_CLASS (database_source_collection_parent_class)->notify_items_added (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp17_); +#line 486 "DatabaseSourceCollection.c" +} + + +static void database_source_collection_real_notify_items_removed (DataCollection* base, GeeIterable* removed) { + DatabaseSourceCollection * self; + GeeIterable* _tmp13_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection); +#line 39 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 497 "DatabaseSourceCollection.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = removed; +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _object_it = _tmp1_; +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + while (TRUE) { +#line 510 "DatabaseSourceCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gint64 key = 0LL; + GetSourceDatabaseKey _tmp6_ = NULL; + void* _tmp6__target = NULL; + DataObject* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; + gboolean is_removed = FALSE; + GeeHashMap* _tmp9_ = NULL; + gint64 _tmp10_ = 0LL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp2_ = _object_it; +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + if (!_tmp3_) { +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + break; +#line 534 "DatabaseSourceCollection.c" + } +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp4_ = _object_it; +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + object = (DataObject*) _tmp5_; +#line 41 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp6_ = self->priv->source_key_func; +#line 41 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp6__target = self->priv->source_key_func_target; +#line 41 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp7_ = object; +#line 41 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp8_ = _tmp6_ (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_SOURCE, DataSource), _tmp6__target); +#line 41 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + key = _tmp8_; +#line 43 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp9_ = self->priv->map; +#line 43 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp10_ = key; +#line 43 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp11_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp10_, NULL); +#line 43 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + is_removed = _tmp11_; +#line 44 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp12_ = is_removed; +#line 44 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _vala_assert (_tmp12_, "is_removed"); +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (object); +#line 566 "DatabaseSourceCollection.c" + } +#line 40 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (_object_it); +#line 570 "DatabaseSourceCollection.c" + } +#line 47 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp13_ = removed; +#line 47 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + DATA_COLLECTION_CLASS (database_source_collection_parent_class)->notify_items_removed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_COLLECTION, SourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp13_); +#line 576 "DatabaseSourceCollection.c" +} + + +DataSource* database_source_collection_fetch_by_key (DatabaseSourceCollection* self, gint64 key) { + DataSource* result = NULL; + GeeHashMap* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + gpointer _tmp2_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_return_val_if_fail (IS_DATABASE_SOURCE_COLLECTION (self), NULL); +#line 51 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = self->priv->map; +#line 51 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1_ = key; +#line 51 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp1_); +#line 51 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + result = (DataSource*) _tmp2_; +#line 51 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return result; +#line 597 "DatabaseSourceCollection.c" +} + + +static void database_source_collection_class_init (DatabaseSourceCollectionClass * klass) { +#line 15 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + database_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 15 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + ((DataCollectionClass *) klass)->finalize = database_source_collection_finalize; +#line 15 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_type_class_add_private (klass, sizeof (DatabaseSourceCollectionPrivate)); +#line 15 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + ((DataCollectionClass *) klass)->notify_items_added = database_source_collection_real_notify_items_added; +#line 15 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + ((DataCollectionClass *) klass)->notify_items_removed = database_source_collection_real_notify_items_removed; +#line 612 "DatabaseSourceCollection.c" +} + + +static void database_source_collection_instance_init (DatabaseSourceCollection * self) { + GeeHashMap* _tmp0_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self->priv = DATABASE_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 17 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _int64_hash_gee_hash_data_func, NULL, NULL, _int64_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 17 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self->priv->map = _tmp0_; +#line 624 "DatabaseSourceCollection.c" +} + + +static void database_source_collection_finalize (DataCollection* obj) { + DatabaseSourceCollection * self; +#line 15 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection); +#line 17 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (self->priv->map); +#line 15 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + DATA_COLLECTION_CLASS (database_source_collection_parent_class)->finalize (obj); +#line 636 "DatabaseSourceCollection.c" +} + + +GType database_source_collection_get_type (void) { + static volatile gsize database_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&database_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DatabaseSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) database_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DatabaseSourceCollection), 0, (GInstanceInitFunc) database_source_collection_instance_init, NULL }; + GType database_source_collection_type_id; + database_source_collection_type_id = g_type_register_static (TYPE_SOURCE_COLLECTION, "DatabaseSourceCollection", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&database_source_collection_type_id__volatile, database_source_collection_type_id); + } + return database_source_collection_type_id__volatile; +} + + +DatabaseSourceHoldingTank* database_source_holding_tank_construct (GType object_type, SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target) { + DatabaseSourceHoldingTank* self = NULL; + SourceCollection* _tmp0_ = NULL; + SourceHoldingTankCheckToKeep _tmp1_ = NULL; + void* _tmp1__target = NULL; + GetSourceDatabaseKey _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 60 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (sources), NULL); +#line 62 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = sources; +#line 62 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1_ = check_to_keep; +#line 62 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1__target = check_to_keep_target; +#line 62 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self = (DatabaseSourceHoldingTank*) source_holding_tank_construct (object_type, _tmp0_, _tmp1_, _tmp1__target); +#line 64 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp2_ = get_key; +#line 64 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp2__target = get_key_target; +#line 64 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self->priv->get_key = _tmp2_; +#line 64 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self->priv->get_key_target = _tmp2__target; +#line 60 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return self; +#line 679 "DatabaseSourceCollection.c" +} + + +DatabaseSourceHoldingTank* database_source_holding_tank_new (SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target, GetSourceDatabaseKey get_key, void* get_key_target) { +#line 60 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return database_source_holding_tank_construct (TYPE_DATABASE_SOURCE_HOLDING_TANK, sources, check_to_keep, check_to_keep_target, get_key, get_key_target); +#line 686 "DatabaseSourceCollection.c" +} + + +DataSource* database_source_holding_tank_get_by_id (DatabaseSourceHoldingTank* self, gint64 id) { + DataSource* result = NULL; + GeeHashMap* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + gpointer _tmp2_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_return_val_if_fail (IS_DATABASE_SOURCE_HOLDING_TANK (self), NULL); +#line 68 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = self->priv->map; +#line 68 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1_ = id; +#line 68 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp1_); +#line 68 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + result = (DataSource*) _tmp2_; +#line 68 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + return result; +#line 707 "DatabaseSourceCollection.c" +} + + +static void database_source_holding_tank_real_notify_contents_altered (SourceHoldingTank* base, GeeCollection* added, GeeCollection* removed) { + DatabaseSourceHoldingTank * self; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank); +#line 71 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 71 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 73 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = added; +#line 73 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + if (_tmp0_ != NULL) { +#line 727 "DatabaseSourceCollection.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp1_ = added; +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _source_it = _tmp2_; +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + while (TRUE) { +#line 740 "DatabaseSourceCollection.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; + GetSourceDatabaseKey _tmp8_ = NULL; + void* _tmp8__target = NULL; + DataSource* _tmp9_ = NULL; + gint64 _tmp10_ = 0LL; + DataSource* _tmp11_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp3_ = _source_it; +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + if (!_tmp4_) { +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + break; +#line 760 "DatabaseSourceCollection.c" + } +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp5_ = _source_it; +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + source = (DataSource*) _tmp6_; +#line 75 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp7_ = self->priv->map; +#line 75 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp8_ = self->priv->get_key; +#line 75 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp8__target = self->priv->get_key_target; +#line 75 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp9_ = source; +#line 75 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp10_ = _tmp8_ (_tmp9_, _tmp8__target); +#line 75 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp11_ = source; +#line 75 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp10_, _tmp11_); +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (source); +#line 784 "DatabaseSourceCollection.c" + } +#line 74 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (_source_it); +#line 788 "DatabaseSourceCollection.c" + } + } +#line 78 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp12_ = removed; +#line 78 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + if (_tmp12_ != NULL) { +#line 795 "DatabaseSourceCollection.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp13_ = removed; +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _source_it = _tmp14_; +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + while (TRUE) { +#line 808 "DatabaseSourceCollection.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + GeeHashMap* _tmp19_ = NULL; + GetSourceDatabaseKey _tmp20_ = NULL; + void* _tmp20__target = NULL; + DataSource* _tmp21_ = NULL; + gint64 _tmp22_ = 0LL; +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp15_ = _source_it; +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + if (!_tmp16_) { +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + break; +#line 827 "DatabaseSourceCollection.c" + } +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp17_ = _source_it; +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + source = (DataSource*) _tmp18_; +#line 80 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp19_ = self->priv->map; +#line 80 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp20_ = self->priv->get_key; +#line 80 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp20__target = self->priv->get_key_target; +#line 80 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp21_ = source; +#line 80 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp22_ = _tmp20_ (_tmp21_, _tmp20__target); +#line 80 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), &_tmp22_, NULL); +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (source); +#line 849 "DatabaseSourceCollection.c" + } +#line 79 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (_source_it); +#line 853 "DatabaseSourceCollection.c" + } + } +#line 83 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp23_ = added; +#line 83 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp24_ = removed; +#line 83 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + SOURCE_HOLDING_TANK_CLASS (database_source_holding_tank_parent_class)->notify_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank), _tmp23_, _tmp24_); +#line 862 "DatabaseSourceCollection.c" +} + + +static void database_source_holding_tank_class_init (DatabaseSourceHoldingTankClass * klass) { +#line 55 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + database_source_holding_tank_parent_class = g_type_class_peek_parent (klass); +#line 55 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + ((SourceHoldingTankClass *) klass)->finalize = database_source_holding_tank_finalize; +#line 55 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + g_type_class_add_private (klass, sizeof (DatabaseSourceHoldingTankPrivate)); +#line 55 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + ((SourceHoldingTankClass *) klass)->notify_contents_altered = database_source_holding_tank_real_notify_contents_altered; +#line 875 "DatabaseSourceCollection.c" +} + + +static void database_source_holding_tank_instance_init (DatabaseSourceHoldingTank * self) { + GeeHashMap* _tmp0_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self->priv = DATABASE_SOURCE_HOLDING_TANK_GET_PRIVATE (self); +#line 57 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_INT64, (GBoxedCopyFunc) _int64_dup, g_free, TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _int64_hash_gee_hash_data_func, NULL, NULL, _int64_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 57 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self->priv->map = _tmp0_; +#line 887 "DatabaseSourceCollection.c" +} + + +static void database_source_holding_tank_finalize (SourceHoldingTank* obj) { + DatabaseSourceHoldingTank * self; +#line 55 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATABASE_SOURCE_HOLDING_TANK, DatabaseSourceHoldingTank); +#line 57 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + _g_object_unref0 (self->priv->map); +#line 55 "/home/jens/Source/shotwell/src/core/DatabaseSourceCollection.vala" + SOURCE_HOLDING_TANK_CLASS (database_source_holding_tank_parent_class)->finalize (obj); +#line 899 "DatabaseSourceCollection.c" +} + + +GType database_source_holding_tank_get_type (void) { + static volatile gsize database_source_holding_tank_type_id__volatile = 0; + if (g_once_init_enter (&database_source_holding_tank_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DatabaseSourceHoldingTankClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) database_source_holding_tank_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DatabaseSourceHoldingTank), 0, (GInstanceInitFunc) database_source_holding_tank_instance_init, NULL }; + GType database_source_holding_tank_type_id; + database_source_holding_tank_type_id = g_type_register_static (TYPE_SOURCE_HOLDING_TANK, "DatabaseSourceHoldingTank", &g_define_type_info, 0); + g_once_init_leave (&database_source_holding_tank_type_id__volatile, database_source_holding_tank_type_id); + } + return database_source_holding_tank_type_id__volatile; +} + + + diff --git a/src/core/SourceCollection.c b/src/core/SourceCollection.c new file mode 100644 index 0000000..6321f92 --- /dev/null +++ b/src/core/SourceCollection.c @@ -0,0 +1,1694 @@ +/* SourceCollection.c generated by valac 0.32.1, the Vala compiler + * generated from SourceCollection.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#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_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define SOURCE_COLLECTION_TYPE_DESTROY_COUNTER (source_collection_destroy_counter_get_type ()) +#define SOURCE_COLLECTION_DESTROY_COUNTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOURCE_COLLECTION_TYPE_DESTROY_COUNTER, SourceCollectionDestroyCounter)) +#define SOURCE_COLLECTION_DESTROY_COUNTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOURCE_COLLECTION_TYPE_DESTROY_COUNTER, SourceCollectionDestroyCounterClass)) +#define SOURCE_COLLECTION_IS_DESTROY_COUNTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOURCE_COLLECTION_TYPE_DESTROY_COUNTER)) +#define SOURCE_COLLECTION_IS_DESTROY_COUNTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOURCE_COLLECTION_TYPE_DESTROY_COUNTER)) +#define SOURCE_COLLECTION_DESTROY_COUNTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOURCE_COLLECTION_TYPE_DESTROY_COUNTER, SourceCollectionDestroyCounterClass)) + +typedef struct _SourceCollectionDestroyCounter SourceCollectionDestroyCounter; +typedef struct _SourceCollectionDestroyCounterClass SourceCollectionDestroyCounterClass; +typedef struct _SourceCollectionDestroyCounterPrivate SourceCollectionDestroyCounterPrivate; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _SourceCollectionPrivate { + GeeMultiMap* backlinks; +}; + +typedef gboolean (*MarkedAction) (DataObject* object, GObject* user, void* user_data); +struct _SourceCollectionDestroyCounter { + GObject parent_instance; + SourceCollectionDestroyCounterPrivate * priv; + Marker* remove_marker; + GeeArrayList* notify_list; + GeeArrayList* not_removed; +}; + +struct _SourceCollectionDestroyCounterClass { + GObjectClass parent_class; +}; + + +static gpointer source_collection_parent_class = NULL; +static gpointer source_collection_destroy_counter_parent_class = NULL; + +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 data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +#define SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SOURCE_COLLECTION, SourceCollectionPrivate)) +enum { + SOURCE_COLLECTION_DUMMY_PROPERTY +}; +SourceCollection* source_collection_construct (GType object_type, const gchar* name); +DataCollection* data_collection_new (const gchar* name); +DataCollection* data_collection_construct (GType object_type, const gchar* name); +gboolean source_collection_holds_type_of_source (SourceCollection* self, DataSource* source); +static gboolean source_collection_real_holds_type_of_source (SourceCollection* self, DataSource* source); +void source_collection_notify_items_unlinking (SourceCollection* self, GeeCollection* unlinking); +static void source_collection_real_notify_items_unlinking (SourceCollection* self, GeeCollection* unlinking); +void source_collection_notify_items_relinked (SourceCollection* self, GeeCollection* relinked); +static void source_collection_real_notify_items_relinked (SourceCollection* self, GeeCollection* relinked); +void source_collection_notify_item_destroyed (SourceCollection* self, DataSource* source); +static void source_collection_real_notify_item_destroyed (SourceCollection* self, DataSource* source); +void source_collection_notify_items_destroyed (SourceCollection* self, GeeCollection* destroyed); +static void source_collection_real_notify_items_destroyed (SourceCollection* self, GeeCollection* destroyed); +void source_collection_notify_unlinked_destroyed (SourceCollection* self, DataSource* unlinked); +static void source_collection_real_notify_unlinked_destroyed (SourceCollection* self, DataSource* unlinked); +void source_collection_notify_backlink_removed (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +static void source_collection_real_notify_backlink_removed (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +static gboolean source_collection_real_valid_type (DataCollection* base, DataObject* object); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +gint source_collection_destroy_marked (SourceCollection* self, Marker* marker, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +static GType source_collection_destroy_counter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +Marker* data_collection_start_marking (DataCollection* self); +static SourceCollectionDestroyCounter* source_collection_destroy_counter_new (Marker* remove_marker); +static SourceCollectionDestroyCounter* source_collection_destroy_counter_construct (GType object_type, Marker* remove_marker); +void data_collection_act_on_marked (DataCollection* self, Marker* m, MarkedAction action, void* action_target, ProgressMonitor monitor, void* monitor_target, GObject* user); +static gboolean source_collection_destroy_and_delete_source (SourceCollection* self, DataObject* object, GObject* user); +static gboolean _source_collection_destroy_and_delete_source_marked_action (DataObject* object, GObject* user, gpointer self); +static gboolean source_collection_destroy_source (SourceCollection* self, DataObject* object, GObject* user); +static gboolean _source_collection_destroy_source_marked_action (DataObject* object, GObject* user, gpointer self); +void data_collection_remove_marked (DataCollection* self, Marker* m); +gboolean data_source_internal_delete_backing (DataSource* self, GError** error); +void data_source_internal_mark_for_destroy (DataSource* self); +void data_source_destroy (DataSource* self); +void marker_mark (Marker* self, DataObject* object); +void source_collection_internal_backlink_set (SourceCollection* self, DataSource* source, SourceBacklink* backlink); +guint source_backlink_hash_func (SourceBacklink* backlink); +static guint _source_backlink_hash_func_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean source_backlink_equal_func (SourceBacklink* alink, SourceBacklink* blink); +static gboolean _source_backlink_equal_func_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +void source_collection_internal_backlink_removed (SourceCollection* self, DataSource* source, SourceBacklink* backlink); +gboolean source_collection_has_backlink (SourceCollection* self, SourceBacklink* backlink); +static gboolean source_collection_real_has_backlink (SourceCollection* self, SourceBacklink* backlink); +GeeCollection* source_collection_unlink_marked (SourceCollection* self, Marker* marker, ProgressMonitor monitor, void* monitor_target); +static gboolean source_collection_prepare_for_unlink (SourceCollection* self, DataObject* object, GObject* user); +static gboolean _source_collection_prepare_for_unlink_marked_action (DataObject* object, GObject* user, gpointer self); +Marker* data_collection_mark_many (DataCollection* self, GeeCollection* objects); +void data_source_notify_unlinking (DataSource* self, SourceCollection* collection); +void source_collection_relink (SourceCollection* self, DataSource* source); +void data_source_notify_relinking (DataSource* self, SourceCollection* collection); +gboolean data_collection_add (DataCollection* self, DataObject* object); +GeeCollection* data_collection_get_singleton (DataObject* object); +void data_source_notify_relinked (DataSource* self); +void source_collection_relink_many (SourceCollection* self, GeeCollection* relink); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +void source_collection_remove_backlink (SourceCollection* self, SourceBacklink* backlink); +static void source_collection_real_remove_backlink (SourceCollection* self, SourceBacklink* backlink); +gboolean data_source_remove_backlink (DataSource* self, SourceBacklink* backlink); +static void source_collection_real_items_unlinking (SourceCollection* self, GeeCollection* unlinking); +static void source_collection_real_items_relinked (SourceCollection* self, GeeCollection* relinked); +static void source_collection_real_item_destroyed (SourceCollection* self, DataSource* source); +static void source_collection_real_items_destroyed (SourceCollection* self, GeeCollection* destroyed); +static void source_collection_real_unlinked_destroyed (SourceCollection* self, DataSource* source); +static void source_collection_real_backlink_removed (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +static void g_cclosure_user_marshal_VOID__SOURCE_BACKLINK_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +enum { + SOURCE_COLLECTION_DESTROY_COUNTER_DUMMY_PROPERTY +}; +static void source_collection_destroy_counter_finalize (GObject* obj); +static void source_collection_finalize (DataCollection* obj); + + +SourceCollection* source_collection_construct (GType object_type, const gchar* name) { + SourceCollection* self = NULL; + const gchar* _tmp0_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 51 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = name; +#line 51 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self = (SourceCollection*) data_collection_construct (object_type, _tmp0_); +#line 50 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return self; +#line 340 "SourceCollection.c" +} + + +static gboolean source_collection_real_holds_type_of_source (SourceCollection* self, DataSource* source) { +#line 54 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_critical ("Type `%s' does not implement abstract method `source_collection_holds_type_of_source'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 54 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return FALSE; +#line 349 "SourceCollection.c" +} + + +gboolean source_collection_holds_type_of_source (SourceCollection* self, DataSource* source) { +#line 54 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (self), FALSE); +#line 54 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return SOURCE_COLLECTION_GET_CLASS (self)->holds_type_of_source (self, source); +#line 358 "SourceCollection.c" +} + + +static void source_collection_real_notify_items_unlinking (SourceCollection* self, GeeCollection* unlinking) { + GeeCollection* _tmp0_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (unlinking)); +#line 57 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = unlinking; +#line 57 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_emit_by_name (self, "items-unlinking", _tmp0_); +#line 370 "SourceCollection.c" +} + + +void source_collection_notify_items_unlinking (SourceCollection* self, GeeCollection* unlinking) { +#line 56 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 56 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + SOURCE_COLLECTION_GET_CLASS (self)->notify_items_unlinking (self, unlinking); +#line 379 "SourceCollection.c" +} + + +static void source_collection_real_notify_items_relinked (SourceCollection* self, GeeCollection* relinked) { + GeeCollection* _tmp0_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (relinked)); +#line 61 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = relinked; +#line 61 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_emit_by_name (self, "items-relinked", _tmp0_); +#line 391 "SourceCollection.c" +} + + +void source_collection_notify_items_relinked (SourceCollection* self, GeeCollection* relinked) { +#line 60 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 60 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + SOURCE_COLLECTION_GET_CLASS (self)->notify_items_relinked (self, relinked); +#line 400 "SourceCollection.c" +} + + +static void source_collection_real_notify_item_destroyed (SourceCollection* self, DataSource* source) { + DataSource* _tmp0_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 65 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = source; +#line 65 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_emit_by_name (self, "item-destroyed", _tmp0_); +#line 412 "SourceCollection.c" +} + + +void source_collection_notify_item_destroyed (SourceCollection* self, DataSource* source) { +#line 64 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 64 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + SOURCE_COLLECTION_GET_CLASS (self)->notify_item_destroyed (self, source); +#line 421 "SourceCollection.c" +} + + +static void source_collection_real_notify_items_destroyed (SourceCollection* self, GeeCollection* destroyed) { + GeeCollection* _tmp0_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (destroyed)); +#line 69 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = destroyed; +#line 69 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_emit_by_name (self, "items-destroyed", _tmp0_); +#line 433 "SourceCollection.c" +} + + +void source_collection_notify_items_destroyed (SourceCollection* self, GeeCollection* destroyed) { +#line 68 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 68 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + SOURCE_COLLECTION_GET_CLASS (self)->notify_items_destroyed (self, destroyed); +#line 442 "SourceCollection.c" +} + + +static void source_collection_real_notify_unlinked_destroyed (SourceCollection* self, DataSource* unlinked) { + DataSource* _tmp0_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (unlinked)); +#line 74 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = unlinked; +#line 74 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_emit_by_name (self, "unlinked-destroyed", _tmp0_); +#line 454 "SourceCollection.c" +} + + +void source_collection_notify_unlinked_destroyed (SourceCollection* self, DataSource* unlinked) { +#line 73 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 73 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + SOURCE_COLLECTION_GET_CLASS (self)->notify_unlinked_destroyed (self, unlinked); +#line 463 "SourceCollection.c" +} + + +static void source_collection_real_notify_backlink_removed (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources) { + SourceBacklink* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 77 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 79 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = backlink; +#line 79 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = sources; +#line 79 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_emit_by_name (self, "backlink-removed", _tmp0_, _tmp1_); +#line 480 "SourceCollection.c" +} + + +void source_collection_notify_backlink_removed (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources) { +#line 77 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 77 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + SOURCE_COLLECTION_GET_CLASS (self)->notify_backlink_removed (self, backlink, sources); +#line 489 "SourceCollection.c" +} + + +static gboolean source_collection_real_valid_type (DataCollection* base, DataObject* object) { + SourceCollection * self; + gboolean result = FALSE; + DataObject* _tmp0_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SOURCE_COLLECTION, SourceCollection); +#line 82 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 83 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = object; +#line 83 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_DATA_SOURCE); +#line 83 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 507 "SourceCollection.c" +} + + +static gboolean _source_collection_destroy_and_delete_source_marked_action (DataObject* object, GObject* user, gpointer self) { + gboolean result; + result = source_collection_destroy_and_delete_source ((SourceCollection*) self, object, user); +#line 93 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 516 "SourceCollection.c" +} + + +static gboolean _source_collection_destroy_source_marked_action (DataObject* object, GObject* user, gpointer self) { + gboolean result; + result = source_collection_destroy_source ((SourceCollection*) self, object, user); +#line 95 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 525 "SourceCollection.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return self ? g_object_ref (self) : NULL; +#line 532 "SourceCollection.c" +} + + +gint source_collection_destroy_marked (SourceCollection* self, Marker* marker, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed) { + gint result = 0; + SourceCollectionDestroyCounter* counter = NULL; + Marker* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + SourceCollectionDestroyCounter* _tmp2_ = NULL; + SourceCollectionDestroyCounter* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + SourceCollectionDestroyCounter* _tmp24_ = NULL; + GeeArrayList* _tmp25_ = NULL; + SourceCollectionDestroyCounter* _tmp26_ = NULL; + Marker* _tmp27_ = NULL; + GeeList* _tmp28_ = NULL; + SourceCollectionDestroyCounter* _tmp32_ = NULL; + GeeArrayList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 88 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (self), 0); +#line 88 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_MARKER (marker), 0); +#line 88 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail ((not_removed == NULL) || GEE_IS_LIST (not_removed), 0); +#line 90 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 90 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = _tmp0_; +#line 90 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = source_collection_destroy_counter_new (_tmp1_); +#line 90 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = _tmp2_; +#line 90 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_tmp1_); +#line 90 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + counter = _tmp3_; +#line 92 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = delete_backing; +#line 92 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (_tmp4_) { +#line 575 "SourceCollection.c" + Marker* _tmp5_ = NULL; + ProgressMonitor _tmp6_ = NULL; + void* _tmp6__target = NULL; + SourceCollectionDestroyCounter* _tmp7_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp5_ = marker; +#line 93 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp6_ = monitor; +#line 93 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp6__target = monitor_target; +#line 93 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp7_ = counter; +#line 93 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_collection_act_on_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp5_, _source_collection_destroy_and_delete_source_marked_action, self, _tmp6_, _tmp6__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, G_TYPE_OBJECT, GObject)); +#line 590 "SourceCollection.c" + } else { + Marker* _tmp8_ = NULL; + ProgressMonitor _tmp9_ = NULL; + void* _tmp9__target = NULL; + SourceCollectionDestroyCounter* _tmp10_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp8_ = marker; +#line 95 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp9_ = monitor; +#line 95 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp9__target = monitor_target; +#line 95 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp10_ = counter; +#line 95 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_collection_act_on_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp8_, _source_collection_destroy_source_marked_action, self, _tmp9_, _tmp9__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, G_TYPE_OBJECT, GObject)); +#line 606 "SourceCollection.c" + } + { + GeeArrayList* _source_list = NULL; + SourceCollectionDestroyCounter* _tmp11_ = NULL; + GeeArrayList* _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; + gint _source_size = 0; + GeeArrayList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _source_index = 0; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp11_ = counter; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp12_ = _tmp11_->notify_list; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_list = _tmp13_; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp14_ = _source_list; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp15_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp16_ = _tmp15_; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_size = _tmp16_; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_index = -1; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + while (TRUE) { +#line 638 "SourceCollection.c" + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + DataSource* source = NULL; + GeeArrayList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gpointer _tmp22_ = NULL; + DataSource* _tmp23_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp17_ = _source_index; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_index = _tmp17_ + 1; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp18_ = _source_index; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp19_ = _source_size; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (!(_tmp18_ < _tmp19_)) { +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + break; +#line 659 "SourceCollection.c" + } +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp20_ = _source_list; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp21_ = _source_index; +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp22_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp21_); +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source = (DataSource*) _tmp22_; +#line 99 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp23_ = source; +#line 99 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source_collection_notify_item_destroyed (self, _tmp23_); +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (source); +#line 675 "SourceCollection.c" + } +#line 98 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_source_list); +#line 679 "SourceCollection.c" + } +#line 100 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp24_ = counter; +#line 100 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp25_ = _tmp24_->notify_list; +#line 100 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source_collection_notify_items_destroyed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 103 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp26_ = counter; +#line 103 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp27_ = _tmp26_->remove_marker; +#line 103 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp27_); +#line 105 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp28_ = not_removed; +#line 105 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (NULL != _tmp28_) { +#line 697 "SourceCollection.c" + GeeList* _tmp29_ = NULL; + SourceCollectionDestroyCounter* _tmp30_ = NULL; + GeeArrayList* _tmp31_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp29_ = not_removed; +#line 106 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp30_ = counter; +#line 106 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp31_ = _tmp30_->not_removed; +#line 106 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 709 "SourceCollection.c" + } +#line 109 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp32_ = counter; +#line 109 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp33_ = _tmp32_->not_removed; +#line 109 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp34_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 109 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp35_ = _tmp34_; +#line 109 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + result = _tmp35_; +#line 109 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (counter); +#line 109 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 725 "SourceCollection.c" +} + + +static gboolean source_collection_destroy_and_delete_source (SourceCollection* self, DataObject* object, GObject* user) { + gboolean result = FALSE; + gboolean success = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp9_ = FALSE; + DataObject* _tmp10_ = NULL; + GObject* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GError * _inner_error_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (self), FALSE); +#line 112 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 112 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail ((user == NULL) || G_IS_OBJECT (user), FALSE); +#line 113 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + success = FALSE; +#line 747 "SourceCollection.c" + { + gboolean _tmp0_ = FALSE; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 115 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = object; +#line 115 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = data_source_internal_delete_backing (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_SOURCE, DataSource), &_inner_error_); +#line 115 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = _tmp2_; +#line 115 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 760 "SourceCollection.c" + goto __catch46_g_error; + } +#line 115 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + success = _tmp0_; +#line 765 "SourceCollection.c" + } + goto __finally46; + __catch46_g_error: + { + GError* err = NULL; +#line 114 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + err = _inner_error_; +#line 114 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _inner_error_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + success = FALSE; +#line 114 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_error_free0 (err); +#line 779 "SourceCollection.c" + } + __finally46: +#line 114 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 114 "/home/jens/Source/shotwell/src/core/SourceCollection.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 114 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_clear_error (&_inner_error_); +#line 114 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return FALSE; +#line 790 "SourceCollection.c" + } +#line 120 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = success; +#line 120 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (!_tmp4_) { +#line 796 "SourceCollection.c" + DataObject* _tmp5_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp5_ = object; +#line 120 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_MEDIA_SOURCE); +#line 802 "SourceCollection.c" + } else { +#line 120 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = FALSE; +#line 806 "SourceCollection.c" + } +#line 120 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (_tmp3_) { +#line 810 "SourceCollection.c" + GObject* _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; + DataObject* _tmp8_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp6_ = user; +#line 121 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SOURCE_COLLECTION_TYPE_DESTROY_COUNTER, SourceCollectionDestroyCounter)->not_removed; +#line 121 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp8_ = object; +#line 121 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 822 "SourceCollection.c" + } +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp10_ = object; +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp11_ = user; +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp12_ = source_collection_destroy_source (self, _tmp10_, _tmp11_); +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (_tmp12_) { +#line 832 "SourceCollection.c" + gboolean _tmp13_ = FALSE; +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp13_ = success; +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp9_ = _tmp13_; +#line 838 "SourceCollection.c" + } else { +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp9_ = FALSE; +#line 842 "SourceCollection.c" + } +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + result = _tmp9_; +#line 124 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 848 "SourceCollection.c" +} + + +static gboolean source_collection_destroy_source (SourceCollection* self, DataObject* object, GObject* user) { + gboolean result = FALSE; + DataSource* source = NULL; + DataObject* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + GObject* _tmp2_ = NULL; + Marker* _tmp3_ = NULL; + GObject* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (self), FALSE); +#line 127 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 127 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail ((user == NULL) || G_IS_OBJECT (user), FALSE); +#line 128 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = object; +#line 128 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource)); +#line 128 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source = _tmp1_; +#line 130 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_source_internal_mark_for_destroy (source); +#line 131 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_source_destroy (source); +#line 133 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = user; +#line 133 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SOURCE_COLLECTION_TYPE_DESTROY_COUNTER, SourceCollectionDestroyCounter)->remove_marker; +#line 133 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + marker_mark (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_OBJECT, DataObject)); +#line 134 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = user; +#line 134 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SOURCE_COLLECTION_TYPE_DESTROY_COUNTER, SourceCollectionDestroyCounter)->notify_list; +#line 134 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), source); +#line 136 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + result = TRUE; +#line 136 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (source); +#line 136 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 895 "SourceCollection.c" +} + + +static guint _source_backlink_hash_func_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = source_backlink_hash_func ((SourceBacklink*) v); +#line 142 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 904 "SourceCollection.c" +} + + +static gboolean _source_backlink_equal_func_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = source_backlink_equal_func ((SourceBacklink*) a, (SourceBacklink*) b); +#line 142 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 913 "SourceCollection.c" +} + + +void source_collection_internal_backlink_set (SourceCollection* self, DataSource* source, SourceBacklink* backlink) { + GeeMultiMap* _tmp0_ = NULL; + GeeMultiMap* _tmp2_ = NULL; + SourceBacklink* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 140 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 140 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 141 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = self->priv->backlinks; +#line 141 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (_tmp0_ == NULL) { +#line 932 "SourceCollection.c" + GeeHashMultiMap* _tmp1_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = gee_hash_multi_map_new (TYPE_SOURCE_BACKLINK, (GBoxedCopyFunc) source_backlink_ref, source_backlink_unref, TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _source_backlink_hash_func_gee_hash_data_func, NULL, NULL, _source_backlink_equal_func_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 142 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (self->priv->backlinks); +#line 142 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self->priv->backlinks = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MULTI_MAP, GeeMultiMap); +#line 940 "SourceCollection.c" + } +#line 146 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = self->priv->backlinks; +#line 146 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = backlink; +#line 146 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = source; +#line 146 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + gee_multi_map_set (_tmp2_, _tmp3_, _tmp4_); +#line 950 "SourceCollection.c" +} + + +void source_collection_internal_backlink_removed (SourceCollection* self, DataSource* source, SourceBacklink* backlink) { + GeeMultiMap* _tmp0_ = NULL; + gboolean removed = FALSE; + GeeMultiMap* _tmp1_ = NULL; + SourceBacklink* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 150 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 150 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 150 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 151 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = self->priv->backlinks; +#line 151 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _vala_assert (_tmp0_ != NULL, "backlinks != null"); +#line 153 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = self->priv->backlinks; +#line 153 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = backlink; +#line 153 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = source; +#line 153 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = gee_multi_map_remove (_tmp1_, _tmp2_, _tmp3_); +#line 153 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + removed = _tmp4_; +#line 154 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _vala_assert (removed, "removed"); +#line 983 "SourceCollection.c" +} + + +static gboolean source_collection_real_has_backlink (SourceCollection* self, SourceBacklink* backlink) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GeeMultiMap* _tmp1_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (backlink), FALSE); +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = self->priv->backlinks; +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (_tmp1_ != NULL) { +#line 997 "SourceCollection.c" + GeeMultiMap* _tmp2_ = NULL; + SourceBacklink* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = self->priv->backlinks; +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = backlink; +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = gee_multi_map_contains (_tmp2_, _tmp3_); +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = _tmp4_; +#line 1009 "SourceCollection.c" + } else { +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = FALSE; +#line 1013 "SourceCollection.c" + } +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + result = _tmp0_; +#line 158 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 1019 "SourceCollection.c" +} + + +gboolean source_collection_has_backlink (SourceCollection* self, SourceBacklink* backlink) { +#line 157 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (self), FALSE); +#line 157 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return SOURCE_COLLECTION_GET_CLASS (self)->has_backlink (self, backlink); +#line 1028 "SourceCollection.c" +} + + +static gboolean _source_collection_prepare_for_unlink_marked_action (DataObject* object, GObject* user, gpointer self) { + gboolean result; + result = source_collection_prepare_for_unlink ((SourceCollection*) self, object, user); +#line 163 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 1037 "SourceCollection.c" +} + + +GeeCollection* source_collection_unlink_marked (SourceCollection* self, Marker* marker, ProgressMonitor monitor, void* monitor_target) { + GeeCollection* result = NULL; + GeeArrayList* list = NULL; + GeeArrayList* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + ProgressMonitor _tmp2_ = NULL; + void* _tmp2__target = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + GeeArrayList* _tmp7_ = NULL; + GeeArrayList* _tmp8_ = NULL; + Marker* _tmp9_ = NULL; + Marker* _tmp10_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (self), NULL); +#line 161 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_MARKER (marker), NULL); +#line 162 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 162 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + list = _tmp0_; +#line 163 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = marker; +#line 163 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = monitor; +#line 163 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2__target = monitor_target; +#line 163 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = list; +#line 163 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_collection_act_on_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp1_, _source_collection_prepare_for_unlink_marked_action, self, _tmp2_, _tmp2__target, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, G_TYPE_OBJECT, GObject)); +#line 165 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = list; +#line 165 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp5_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 165 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp6_ = _tmp5_; +#line 165 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (_tmp6_ == 0) { +#line 166 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + result = NULL; +#line 166 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (list); +#line 166 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 1088 "SourceCollection.c" + } +#line 168 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp7_ = list; +#line 168 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source_collection_notify_items_unlinking (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 170 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp8_ = list; +#line 170 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp9_ = data_collection_mark_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 170 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp10_ = _tmp9_; +#line 170 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp10_); +#line 170 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_tmp10_); +#line 172 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (list, GEE_TYPE_COLLECTION, GeeCollection); +#line 172 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 1108 "SourceCollection.c" +} + + +static gboolean source_collection_prepare_for_unlink (SourceCollection* self, DataObject* object, GObject* user) { + gboolean result = FALSE; + DataSource* source = NULL; + DataObject* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + GObject* _tmp2_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (self), FALSE); +#line 175 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 175 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail ((user == NULL) || G_IS_OBJECT (user), FALSE); +#line 176 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = object; +#line 176 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource)); +#line 176 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source = _tmp1_; +#line 178 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_source_notify_unlinking (source, self); +#line 179 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = user; +#line 179 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList), GEE_TYPE_COLLECTION, GeeCollection), source); +#line 181 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + result = TRUE; +#line 181 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (source); +#line 181 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return result; +#line 1142 "SourceCollection.c" +} + + +void source_collection_relink (SourceCollection* self, DataSource* source) { + DataSource* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; +#line 184 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 184 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 185 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = source; +#line 185 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_source_notify_relinking (_tmp0_, self); +#line 187 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = source; +#line 187 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 188 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = source; +#line 188 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = data_collection_get_singleton (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 188 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 188 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source_collection_notify_items_relinked (self, _tmp4_); +#line 188 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_tmp4_); +#line 190 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp5_ = source; +#line 190 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_source_notify_relinked (_tmp5_); +#line 1179 "SourceCollection.c" +} + + +void source_collection_relink_many (SourceCollection* self, GeeCollection* relink) { + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GeeCollection* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 193 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (relink)); +#line 194 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = relink; +#line 194 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 194 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = _tmp1_; +#line 194 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (_tmp2_ == 0) { +#line 195 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return; +#line 1205 "SourceCollection.c" + } + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = relink; +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_it = _tmp4_; +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + while (TRUE) { +#line 1219 "SourceCollection.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp5_ = _source_it; +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (!_tmp6_) { +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + break; +#line 1234 "SourceCollection.c" + } +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp7_ = _source_it; +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source = (DataSource*) _tmp8_; +#line 198 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp9_ = source; +#line 198 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_source_notify_relinking (_tmp9_, self); +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (source); +#line 1248 "SourceCollection.c" + } +#line 197 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_source_it); +#line 1252 "SourceCollection.c" + } +#line 200 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp10_ = relink; +#line 200 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp11_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp10_, NULL, NULL); +#line 200 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp12_ = _tmp11_; +#line 200 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_tmp12_); +#line 201 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp13_ = relink; +#line 201 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source_collection_notify_items_relinked (self, _tmp13_); +#line 1266 "SourceCollection.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp14_ = relink; +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_it = _tmp15_; +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + while (TRUE) { +#line 1279 "SourceCollection.c" + GeeIterator* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + DataSource* _tmp20_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp16_ = _source_it; +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp17_ = gee_iterator_next (_tmp16_); +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (!_tmp17_) { +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + break; +#line 1294 "SourceCollection.c" + } +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp18_ = _source_it; +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp19_ = gee_iterator_get (_tmp18_); +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source = (DataSource*) _tmp19_; +#line 204 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp20_ = source; +#line 204 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_source_notify_relinked (_tmp20_); +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (source); +#line 1308 "SourceCollection.c" + } +#line 203 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_source_it); +#line 1312 "SourceCollection.c" + } +} + + +static void source_collection_real_remove_backlink (SourceCollection* self, SourceBacklink* backlink) { + GeeMultiMap* _tmp0_ = NULL; + GeeArrayList* sources = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeMultiMap* _tmp3_ = NULL; + SourceBacklink* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + SourceBacklink* _tmp20_ = NULL; + GeeArrayList* _tmp21_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 208 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = self->priv->backlinks; +#line 208 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (_tmp0_ == NULL) { +#line 209 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return; +#line 1336 "SourceCollection.c" + } +#line 212 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 212 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + sources = _tmp1_; +#line 213 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp2_ = sources; +#line 213 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp3_ = self->priv->backlinks; +#line 213 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp4_ = backlink; +#line 213 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp5_ = gee_multi_map_get (_tmp3_, _tmp4_); +#line 213 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp6_ = _tmp5_; +#line 213 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + gee_array_list_add_all (_tmp2_, _tmp6_); +#line 213 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_tmp6_); +#line 1356 "SourceCollection.c" + { + GeeArrayList* _source_list = NULL; + GeeArrayList* _tmp7_ = NULL; + GeeArrayList* _tmp8_ = NULL; + gint _source_size = 0; + GeeArrayList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _source_index = 0; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp7_ = sources; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_list = _tmp8_; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp9_ = _source_list; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp10_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp11_ = _tmp10_; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_size = _tmp11_; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_index = -1; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + while (TRUE) { +#line 1384 "SourceCollection.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + DataSource* source = NULL; + GeeArrayList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + SourceBacklink* _tmp19_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp12_ = _source_index; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _source_index = _tmp12_ + 1; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp13_ = _source_index; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp14_ = _source_size; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + break; +#line 1406 "SourceCollection.c" + } +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp15_ = _source_list; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp16_ = _source_index; +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp17_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp16_); +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source = (DataSource*) _tmp17_; +#line 216 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp18_ = source; +#line 216 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp19_ = backlink; +#line 216 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data_source_remove_backlink (_tmp18_, _tmp19_); +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (source); +#line 1424 "SourceCollection.c" + } +#line 215 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (_source_list); +#line 1428 "SourceCollection.c" + } +#line 218 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp20_ = backlink; +#line 218 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp21_ = sources; +#line 218 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source_collection_notify_backlink_removed (self, _tmp20_, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 207 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (sources); +#line 1438 "SourceCollection.c" +} + + +void source_collection_remove_backlink (SourceCollection* self, SourceBacklink* backlink) { +#line 207 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (self)); +#line 207 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + SOURCE_COLLECTION_GET_CLASS (self)->remove_backlink (self, backlink); +#line 1447 "SourceCollection.c" +} + + +static void source_collection_real_items_unlinking (SourceCollection* self, GeeCollection* unlinking) { +#line 20 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (unlinking)); +#line 1454 "SourceCollection.c" +} + + +static void source_collection_real_items_relinked (SourceCollection* self, GeeCollection* relinked) { +#line 25 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (relinked)); +#line 1461 "SourceCollection.c" +} + + +static void source_collection_real_item_destroyed (SourceCollection* self, DataSource* source) { +#line 30 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 1468 "SourceCollection.c" +} + + +static void source_collection_real_items_destroyed (SourceCollection* self, GeeCollection* destroyed) { +#line 35 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (destroyed)); +#line 1475 "SourceCollection.c" +} + + +static void source_collection_real_unlinked_destroyed (SourceCollection* self, DataSource* source) { +#line 40 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 1482 "SourceCollection.c" +} + + +static void source_collection_real_backlink_removed (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources) { +#line 44 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 44 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (sources)); +#line 1491 "SourceCollection.c" +} + + +static void g_cclosure_user_marshal_VOID__SOURCE_BACKLINK_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__SOURCE_BACKLINK_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__SOURCE_BACKLINK_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_if_fail (n_param_values == 3); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data1 = closure->data; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data2 = param_values->data[0].v_pointer; +#line 1510 "SourceCollection.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data1 = param_values->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + data2 = closure->data; +#line 1516 "SourceCollection.c" + } +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + callback = (GMarshalFunc_VOID__SOURCE_BACKLINK_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + callback (data1, value_get_source_backlink (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 1522 "SourceCollection.c" +} + + +static SourceCollectionDestroyCounter* source_collection_destroy_counter_construct (GType object_type, Marker* remove_marker) { + SourceCollectionDestroyCounter * self = NULL; + Marker* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_return_val_if_fail (IS_MARKER (remove_marker), NULL); +#line 13 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self = (SourceCollectionDestroyCounter*) g_object_new (object_type, NULL); +#line 14 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = remove_marker; +#line 14 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 14 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (self->remove_marker); +#line 14 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self->remove_marker = _tmp1_; +#line 13 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return self; +#line 1544 "SourceCollection.c" +} + + +static SourceCollectionDestroyCounter* source_collection_destroy_counter_new (Marker* remove_marker) { +#line 13 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + return source_collection_destroy_counter_construct (SOURCE_COLLECTION_TYPE_DESTROY_COUNTER, remove_marker); +#line 1551 "SourceCollection.c" +} + + +static void source_collection_destroy_counter_class_init (SourceCollectionDestroyCounterClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source_collection_destroy_counter_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + G_OBJECT_CLASS (klass)->finalize = source_collection_destroy_counter_finalize; +#line 1560 "SourceCollection.c" +} + + +static void source_collection_destroy_counter_instance_init (SourceCollectionDestroyCounter * self) { + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 10 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self->notify_list = _tmp0_; +#line 11 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _tmp1_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 11 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self->not_removed = _tmp1_; +#line 1575 "SourceCollection.c" +} + + +static void source_collection_destroy_counter_finalize (GObject* obj) { + SourceCollectionDestroyCounter * self; +#line 8 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SOURCE_COLLECTION_TYPE_DESTROY_COUNTER, SourceCollectionDestroyCounter); +#line 9 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (self->remove_marker); +#line 10 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (self->notify_list); +#line 11 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (self->not_removed); +#line 8 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + G_OBJECT_CLASS (source_collection_destroy_counter_parent_class)->finalize (obj); +#line 1591 "SourceCollection.c" +} + + +static GType source_collection_destroy_counter_get_type (void) { + static volatile gsize source_collection_destroy_counter_type_id__volatile = 0; + if (g_once_init_enter (&source_collection_destroy_counter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SourceCollectionDestroyCounterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) source_collection_destroy_counter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SourceCollectionDestroyCounter), 0, (GInstanceInitFunc) source_collection_destroy_counter_instance_init, NULL }; + GType source_collection_destroy_counter_type_id; + source_collection_destroy_counter_type_id = g_type_register_static (G_TYPE_OBJECT, "SourceCollectionDestroyCounter", &g_define_type_info, 0); + g_once_init_leave (&source_collection_destroy_counter_type_id__volatile, source_collection_destroy_counter_type_id); + } + return source_collection_destroy_counter_type_id__volatile; +} + + +static void source_collection_class_init (SourceCollectionClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + source_collection_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((DataCollectionClass *) klass)->finalize = source_collection_finalize; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_type_class_add_private (klass, sizeof (SourceCollectionPrivate)); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = source_collection_real_holds_type_of_source; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->notify_items_unlinking = source_collection_real_notify_items_unlinking; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->notify_items_relinked = source_collection_real_notify_items_relinked; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->notify_item_destroyed = source_collection_real_notify_item_destroyed; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->notify_items_destroyed = source_collection_real_notify_items_destroyed; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->notify_unlinked_destroyed = source_collection_real_notify_unlinked_destroyed; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->notify_backlink_removed = source_collection_real_notify_backlink_removed; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((DataCollectionClass *) klass)->valid_type = source_collection_real_valid_type; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->has_backlink = source_collection_real_has_backlink; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->remove_backlink = source_collection_real_remove_backlink; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->items_unlinking = source_collection_real_items_unlinking; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->items_relinked = source_collection_real_items_relinked; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->item_destroyed = source_collection_real_item_destroyed; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->items_destroyed = source_collection_real_items_destroyed; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->unlinked_destroyed = source_collection_real_unlinked_destroyed; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + ((SourceCollectionClass *) klass)->backlink_removed = source_collection_real_backlink_removed; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_new ("items_unlinking", TYPE_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceCollectionClass, items_unlinking), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_new ("items_relinked", TYPE_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceCollectionClass, items_relinked), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_new ("item_destroyed", TYPE_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceCollectionClass, item_destroyed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_DATA_SOURCE); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_new ("items_destroyed", TYPE_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceCollectionClass, items_destroyed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_new ("unlinked_destroyed", TYPE_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceCollectionClass, unlinked_destroyed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_DATA_SOURCE); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + g_signal_new ("backlink_removed", TYPE_SOURCE_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceCollectionClass, backlink_removed), NULL, NULL, g_cclosure_user_marshal_VOID__SOURCE_BACKLINK_OBJECT, G_TYPE_NONE, 2, TYPE_SOURCE_BACKLINK, GEE_TYPE_COLLECTION); +#line 1658 "SourceCollection.c" +} + + +static void source_collection_instance_init (SourceCollection * self) { +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self->priv = SOURCE_COLLECTION_GET_PRIVATE (self); +#line 48 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self->priv->backlinks = NULL; +#line 1667 "SourceCollection.c" +} + + +static void source_collection_finalize (DataCollection* obj) { + SourceCollection * self; +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SOURCE_COLLECTION, SourceCollection); +#line 48 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + _g_object_unref0 (self->priv->backlinks); +#line 7 "/home/jens/Source/shotwell/src/core/SourceCollection.vala" + DATA_COLLECTION_CLASS (source_collection_parent_class)->finalize (obj); +#line 1679 "SourceCollection.c" +} + + +GType source_collection_get_type (void) { + static volatile gsize source_collection_type_id__volatile = 0; + if (g_once_init_enter (&source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SourceCollection), 0, (GInstanceInitFunc) source_collection_instance_init, NULL }; + GType source_collection_type_id; + source_collection_type_id = g_type_register_static (TYPE_DATA_COLLECTION, "SourceCollection", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&source_collection_type_id__volatile, source_collection_type_id); + } + return source_collection_type_id__volatile; +} + + + diff --git a/src/core/SourceHoldingTank.c b/src/core/SourceHoldingTank.c new file mode 100644 index 0000000..ed7d671 --- /dev/null +++ b/src/core/SourceHoldingTank.c @@ -0,0 +1,1729 @@ +/* SourceHoldingTank.c generated by valac 0.32.1, the Vala compiler + * generated from SourceHoldingTank.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* A SourceHoldingTank is similar to the holding tank used by ContainerSourceCollection, but for*/ +/* non-ContainerSources to be held offline from their natural SourceCollection (i.e. PhotoSources*/ +/* being held in a trashcan, for example). It is *not* a DataCollection (important!), but rather*/ +/* a signalled collection that moves DataSources to and from their SourceCollection.*/ +/**/ +/* DataSources can be shuttled from their SourceCollection to the SourceHoldingTank manually*/ +/* (via unlink_and_hold) or can be automatically moved by installing a HoldingPredicate.*/ +/* Only one HoldingConditional may be installed. Because of assertions in the methods, it's unwise*/ +/* to use more than one method. add() and add_many() should ONLY be used for DataSources not*/ +/* first installed in their SourceCollection (i.e. they're born in the SourceHoldingTank).*/ +/**/ +/* NOTE: DataSources should never be in more than one SourceHoldingTank. No tests are performed*/ +/* here to verify this. This is why a filter/predicate method (which could automatically move*/ +/* them in as they're altered) is not offered; there's no easy way to keep DataSources from being*/ +/* moved into more than one holding tank, or which should have preference. The CheckToRemove*/ +/* predicate is offered only to know when to release them.*/ + +#include +#include +#include +#include +#include +#include + + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; +typedef struct _SourceHoldingTankPrivate SourceHoldingTankPrivate; + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_DATA_SET (data_set_get_type ()) +#define DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SET, DataSet)) +#define DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SET, DataSetClass)) +#define IS_DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SET)) +#define IS_DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SET)) +#define DATA_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SET, DataSetClass)) + +typedef struct _DataSet DataSet; +typedef struct _DataSetClass DataSetClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _data_set_unref0(var) ((var == NULL) ? NULL : (var = (data_set_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; + +#define TYPE_SINGLETON_COLLECTION (singleton_collection_get_type ()) +#define SINGLETON_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLETON_COLLECTION, SingletonCollection)) +#define SINGLETON_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLETON_COLLECTION, SingletonCollectionClass)) +#define IS_SINGLETON_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLETON_COLLECTION)) +#define IS_SINGLETON_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLETON_COLLECTION)) +#define SINGLETON_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLETON_COLLECTION, SingletonCollectionClass)) + +typedef struct _SingletonCollection SingletonCollection; +typedef struct _SingletonCollectionClass SingletonCollectionClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecSourceHoldingTank ParamSpecSourceHoldingTank; +#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 _SourceHoldingTank { + GTypeInstance parent_instance; + volatile int ref_count; + SourceHoldingTankPrivate * priv; +}; + +struct _SourceHoldingTankClass { + GTypeClass parent_class; + void (*finalize) (SourceHoldingTank *self); + void (*notify_contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); + void (*contents_altered) (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +}; + +typedef gboolean (*SourceHoldingTankCheckToKeep) (DataSource* source, Alteration* alteration, void* user_data); +struct _SourceHoldingTankPrivate { + SourceCollection* sources; + SourceHoldingTankCheckToKeep check_to_keep; + gpointer check_to_keep_target; + DataSet* tank; + GeeHashSet* relinks; + GeeHashSet* unlinking; + gint64 ordinal; +}; + +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 _ParamSpecSourceHoldingTank { + GParamSpec parent_instance; +}; + + +static gpointer source_holding_tank_parent_class = NULL; + +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +gpointer data_set_ref (gpointer instance); +void data_set_unref (gpointer instance); +GParamSpec* param_spec_data_set (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_set (GValue* value, gpointer v_object); +void value_take_data_set (GValue* value, gpointer v_object); +gpointer value_get_data_set (const GValue* value); +GType data_set_get_type (void) G_GNUC_CONST; +#define SOURCE_HOLDING_TANK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankPrivate)) +enum { + SOURCE_HOLDING_TANK_DUMMY_PROPERTY +}; +static void source_holding_tank_on_source_destroyed (SourceHoldingTank* self, DataSource* source); +static void _source_holding_tank_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self); +static void source_holding_tank_on_source_collection_thawed (SourceHoldingTank* self); +static void _source_holding_tank_on_source_collection_thawed_data_collection_thawed (DataCollection* _sender, gpointer self); +DataSet* data_set_new (void); +DataSet* data_set_construct (GType object_type); +SourceHoldingTank* source_holding_tank_new (SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target); +SourceHoldingTank* source_holding_tank_construct (GType object_type, SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target); +void source_holding_tank_notify_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +static void source_holding_tank_real_notify_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +void data_source_notify_held_in_tank (DataSource* self, SourceHoldingTank* holding_tank); +gint source_holding_tank_get_count (SourceHoldingTank* self); +gint data_set_get_count (DataSet* self); +GeeCollection* source_holding_tank_get_all (SourceHoldingTank* self); +GeeList* data_set_get_all (DataSet* self); +gboolean source_holding_tank_contains (SourceHoldingTank* self, DataSource* source); +gboolean data_set_contains (DataSet* self, DataObject* object); +void source_holding_tank_add_many (SourceHoldingTank* self, GeeCollection* many); +void data_object_internal_set_ordinal (DataObject* self, gint64 ordinal); +gboolean data_set_add_many (DataSet* self, GeeCollection* objects); +void source_holding_tank_unlink_and_hold (SourceHoldingTank* self, GeeCollection* unlink); +GType marker_get_type (void) G_GNUC_CONST; +GeeCollection* source_collection_unlink_marked (SourceCollection* self, Marker* marker, ProgressMonitor monitor, void* monitor_target); +Marker* data_collection_mark_many (DataCollection* self, GeeCollection* objects); +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +gboolean source_holding_tank_has_backlink (SourceHoldingTank* self, SourceBacklink* backlink); +DataObject* data_set_get_at (DataSet* self, gint index); +gboolean data_source_has_backlink (DataSource* self, SourceBacklink* backlink); +void source_holding_tank_remove_backlink (SourceHoldingTank* self, SourceBacklink* backlink); +gboolean data_source_remove_backlink (DataSource* self, SourceBacklink* backlink); +void source_holding_tank_destroy_orphans (SourceHoldingTank* self, GeeList* destroy, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +gboolean data_set_remove_many (DataSet* self, GeeCollection* objects); +gboolean data_source_destroy_orphan (DataSource* self, gboolean delete_backing); +gboolean data_set_remove (DataSet* self, DataObject* object); +SingletonCollection* singleton_collection_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer object); +SingletonCollection* singleton_collection_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer object); +GType singleton_collection_get_type (void) G_GNUC_CONST; +void source_holding_tank_internal_notify_altered (SourceHoldingTank* self, DataSource* source, Alteration* alteration); +gchar* data_object_to_string (DataObject* self); +gchar* source_holding_tank_to_string (SourceHoldingTank* self); +gboolean data_collection_are_notifications_frozen (DataCollection* self); +void source_collection_relink (SourceCollection* self, DataSource* source); +void source_collection_relink_many (SourceCollection* self, GeeCollection* relink); +static void source_holding_tank_real_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void source_holding_tank_finalize (SourceHoldingTank* obj); + + +static void _source_holding_tank_on_source_destroyed_source_collection_item_destroyed (SourceCollection* _sender, DataSource* source, gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_on_source_destroyed ((SourceHoldingTank*) self, source); +#line 279 "SourceHoldingTank.c" +} + + +static void _source_holding_tank_on_source_collection_thawed_data_collection_thawed (DataCollection* _sender, gpointer self) { +#line 49 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_on_source_collection_thawed ((SourceHoldingTank*) self); +#line 286 "SourceHoldingTank.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 40 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return self ? data_collection_ref (self) : NULL; +#line 293 "SourceHoldingTank.c" +} + + +SourceHoldingTank* source_holding_tank_construct (GType object_type, SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target) { + SourceHoldingTank* self = NULL; + SourceCollection* _tmp0_ = NULL; + SourceCollection* _tmp1_ = NULL; + SourceHoldingTankCheckToKeep _tmp2_ = NULL; + void* _tmp2__target = NULL; + SourceCollection* _tmp3_ = NULL; + SourceCollection* _tmp4_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (sources), NULL); +#line 39 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self = (SourceHoldingTank*) g_type_create_instance (object_type); +#line 40 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = sources; +#line 40 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 40 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _data_collection_unref0 (self->priv->sources); +#line 40 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->sources = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = check_to_keep; +#line 41 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2__target = check_to_keep_target; +#line 41 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->check_to_keep = _tmp2_; +#line 41 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->check_to_keep_target = _tmp2__target; +#line 43 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = self->priv->sources; +#line 43 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_connect (_tmp3_, "item-destroyed", (GCallback) _source_holding_tank_on_source_destroyed_source_collection_item_destroyed, self); +#line 44 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = self->priv->sources; +#line 44 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection), "thawed", (GCallback) _source_holding_tank_on_source_collection_thawed_data_collection_thawed, self); +#line 39 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return self; +#line 335 "SourceHoldingTank.c" +} + + +SourceHoldingTank* source_holding_tank_new (SourceCollection* sources, SourceHoldingTankCheckToKeep check_to_keep, void* check_to_keep_target) { +#line 39 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return source_holding_tank_construct (TYPE_SOURCE_HOLDING_TANK, sources, check_to_keep, check_to_keep_target); +#line 342 "SourceHoldingTank.c" +} + + +static void source_holding_tank_real_notify_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 52 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 54 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = added; +#line 54 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp0_ != NULL) { +#line 359 "SourceHoldingTank.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = added; +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _source_it = _tmp2_; +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + while (TRUE) { +#line 372 "SourceHoldingTank.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = _source_it; +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp4_) { +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + break; +#line 387 "SourceHoldingTank.c" + } +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = _source_it; +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source = (DataSource*) _tmp6_; +#line 56 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = source; +#line 56 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data_source_notify_held_in_tank (_tmp7_, self); +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (source); +#line 401 "SourceHoldingTank.c" + } +#line 55 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_source_it); +#line 405 "SourceHoldingTank.c" + } + } +#line 59 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = removed; +#line 59 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp8_ != NULL) { +#line 412 "SourceHoldingTank.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp9_ = removed; +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _source_it = _tmp10_; +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + while (TRUE) { +#line 425 "SourceHoldingTank.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + DataSource* _tmp15_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp11_ = _source_it; +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp12_) { +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + break; +#line 440 "SourceHoldingTank.c" + } +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp13_ = _source_it; +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source = (DataSource*) _tmp14_; +#line 61 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp15_ = source; +#line 61 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data_source_notify_held_in_tank (_tmp15_, NULL); +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (source); +#line 454 "SourceHoldingTank.c" + } +#line 60 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_source_it); +#line 458 "SourceHoldingTank.c" + } + } +#line 64 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp16_ = added; +#line 64 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp17_ = removed; +#line 64 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_emit_by_name (self, "contents-altered", _tmp16_, _tmp17_); +#line 467 "SourceHoldingTank.c" +} + + +void source_holding_tank_notify_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed) { +#line 52 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_HOLDING_TANK (self)); +#line 52 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + SOURCE_HOLDING_TANK_GET_CLASS (self)->notify_contents_altered (self, added, removed); +#line 476 "SourceHoldingTank.c" +} + + +gint source_holding_tank_get_count (SourceHoldingTank* self) { + gint result = 0; + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 67 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (IS_SOURCE_HOLDING_TANK (self), 0); +#line 68 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = self->priv->tank; +#line 68 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = data_set_get_count (_tmp0_); +#line 68 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + result = _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return result; +#line 494 "SourceHoldingTank.c" +} + + +GeeCollection* source_holding_tank_get_all (SourceHoldingTank* self) { + GeeCollection* result = NULL; + DataSet* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (IS_SOURCE_HOLDING_TANK (self), NULL); +#line 72 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = self->priv->tank; +#line 72 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = data_set_get_all (_tmp0_); +#line 72 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 72 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return result; +#line 512 "SourceHoldingTank.c" +} + + +gboolean source_holding_tank_contains (SourceHoldingTank* self, DataSource* source) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + DataSet* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 75 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (IS_SOURCE_HOLDING_TANK (self), FALSE); +#line 75 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = self->priv->tank; +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = source; +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = data_set_contains (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp3_) { +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = TRUE; +#line 536 "SourceHoldingTank.c" + } else { + GeeHashSet* _tmp4_ = NULL; + DataSource* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = self->priv->unlinking; +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = source; +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp5_); +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = _tmp6_; +#line 549 "SourceHoldingTank.c" + } +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + result = _tmp0_; +#line 76 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return result; +#line 555 "SourceHoldingTank.c" +} + + +void source_holding_tank_add_many (SourceHoldingTank* self, GeeCollection* many) { + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean added = FALSE; + DataSet* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + GeeCollection* _tmp15_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_HOLDING_TANK (self)); +#line 80 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (GEE_IS_COLLECTION (many)); +#line 81 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = many; +#line 81 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 81 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = _tmp1_; +#line 81 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp2_ == 0) { +#line 82 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return; +#line 583 "SourceHoldingTank.c" + } + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = many; +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _source_it = _tmp4_; +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + while (TRUE) { +#line 597 "SourceHoldingTank.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + gint64 _tmp10_ = 0LL; +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = _source_it; +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp6_) { +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + break; +#line 613 "SourceHoldingTank.c" + } +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = _source_it; +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source = (DataSource*) _tmp8_; +#line 85 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp9_ = source; +#line 85 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp10_ = self->priv->ordinal; +#line 85 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->ordinal = _tmp10_ + 1; +#line 85 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data_object_internal_set_ordinal (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject), _tmp10_); +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (source); +#line 631 "SourceHoldingTank.c" + } +#line 84 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_source_it); +#line 635 "SourceHoldingTank.c" + } +#line 87 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp11_ = self->priv->tank; +#line 87 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp12_ = many; +#line 87 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp13_ = data_set_add_many (_tmp11_, _tmp12_); +#line 87 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + added = _tmp13_; +#line 88 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp14_ = added; +#line 88 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _vala_assert (_tmp14_, "added"); +#line 90 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp15_ = many; +#line 90 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_notify_contents_altered (self, _tmp15_, NULL); +#line 653 "SourceHoldingTank.c" +} + + +void source_holding_tank_unlink_and_hold (SourceHoldingTank* self, GeeCollection* unlink) { + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GeeHashSet* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + SourceCollection* _tmp5_ = NULL; + SourceCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + Marker* _tmp8_ = NULL; + Marker* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; + gboolean added = FALSE; + DataSet* _tmp20_ = NULL; + GeeCollection* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + GeeHashSet* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + GeeCollection* _tmp26_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_HOLDING_TANK (self)); +#line 95 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (GEE_IS_COLLECTION (unlink)); +#line 96 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = unlink; +#line 96 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 96 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = _tmp1_; +#line 96 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp2_ == 0) { +#line 97 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return; +#line 692 "SourceHoldingTank.c" + } +#line 100 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = self->priv->unlinking; +#line 100 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = unlink; +#line 100 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection), _tmp4_); +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = self->priv->sources; +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = self->priv->sources; +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = unlink; +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = data_collection_mark_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection), _tmp7_); +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp9_ = _tmp8_; +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp10_ = source_collection_unlink_marked (_tmp5_, _tmp9_, NULL, NULL); +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp11_ = _tmp10_; +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_tmp11_); +#line 102 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_tmp9_); +#line 718 "SourceHoldingTank.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp12_ = unlink; +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _source_it = _tmp13_; +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + while (TRUE) { +#line 731 "SourceHoldingTank.c" + GeeIterator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + gint64 _tmp19_ = 0LL; +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp14_ = _source_it; +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp15_ = gee_iterator_next (_tmp14_); +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp15_) { +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + break; +#line 747 "SourceHoldingTank.c" + } +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp16_ = _source_it; +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp17_ = gee_iterator_get (_tmp16_); +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source = (DataSource*) _tmp17_; +#line 105 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp18_ = source; +#line 105 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp19_ = self->priv->ordinal; +#line 105 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->ordinal = _tmp19_ + 1; +#line 105 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data_object_internal_set_ordinal (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_OBJECT, DataObject), _tmp19_); +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (source); +#line 765 "SourceHoldingTank.c" + } +#line 104 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_source_it); +#line 769 "SourceHoldingTank.c" + } +#line 107 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp20_ = self->priv->tank; +#line 107 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp21_ = unlink; +#line 107 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp22_ = data_set_add_many (_tmp20_, _tmp21_); +#line 107 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + added = _tmp22_; +#line 108 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp23_ = added; +#line 108 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _vala_assert (_tmp23_, "added"); +#line 111 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp24_ = self->priv->unlinking; +#line 111 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp25_ = unlink; +#line 111 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + gee_collection_remove_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 113 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp26_ = unlink; +#line 113 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_notify_contents_altered (self, _tmp26_, NULL); +#line 793 "SourceHoldingTank.c" +} + + +gboolean source_holding_tank_has_backlink (SourceHoldingTank* self, SourceBacklink* backlink) { + gboolean result = FALSE; + gint count = 0; + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 116 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (IS_SOURCE_HOLDING_TANK (self), FALSE); +#line 116 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (IS_SOURCE_BACKLINK (backlink), FALSE); +#line 117 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = self->priv->tank; +#line 117 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = data_set_get_count (_tmp0_); +#line 117 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + count = _tmp1_; +#line 812 "SourceHoldingTank.c" + { + gint ctr = 0; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ctr = 0; +#line 817 "SourceHoldingTank.c" + { + gboolean _tmp2_ = FALSE; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = TRUE; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + while (TRUE) { +#line 824 "SourceHoldingTank.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; + DataSet* _tmp6_ = NULL; + gint _tmp7_ = 0; + DataObject* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + SourceBacklink* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp2_) { +#line 836 "SourceHoldingTank.c" + gint _tmp3_ = 0; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = ctr; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ctr = _tmp3_ + 1; +#line 842 "SourceHoldingTank.c" + } +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = FALSE; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = ctr; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = count; +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!(_tmp4_ < _tmp5_)) { +#line 118 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + break; +#line 854 "SourceHoldingTank.c" + } +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = self->priv->tank; +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = ctr; +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = data_set_get_at (_tmp6_, _tmp7_); +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource); +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp10_ = backlink; +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp11_ = data_source_has_backlink (_tmp9_, _tmp10_); +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp12_ = _tmp11_; +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_tmp9_); +#line 119 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp12_) { +#line 120 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + result = TRUE; +#line 120 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return result; +#line 878 "SourceHoldingTank.c" + } + } + } + } +#line 123 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + result = FALSE; +#line 123 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return result; +#line 887 "SourceHoldingTank.c" +} + + +void source_holding_tank_remove_backlink (SourceHoldingTank* self, SourceBacklink* backlink) { + gint count = 0; + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 126 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_HOLDING_TANK (self)); +#line 126 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_BACKLINK (backlink)); +#line 127 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = self->priv->tank; +#line 127 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = data_set_get_count (_tmp0_); +#line 127 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + count = _tmp1_; +#line 905 "SourceHoldingTank.c" + { + gint ctr = 0; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ctr = 0; +#line 910 "SourceHoldingTank.c" + { + gboolean _tmp2_ = FALSE; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = TRUE; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + while (TRUE) { +#line 917 "SourceHoldingTank.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; + DataSet* _tmp6_ = NULL; + gint _tmp7_ = 0; + DataObject* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + SourceBacklink* _tmp10_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp2_) { +#line 927 "SourceHoldingTank.c" + gint _tmp3_ = 0; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = ctr; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ctr = _tmp3_ + 1; +#line 933 "SourceHoldingTank.c" + } +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = FALSE; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = ctr; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = count; +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!(_tmp4_ < _tmp5_)) { +#line 128 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + break; +#line 945 "SourceHoldingTank.c" + } +#line 129 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = self->priv->tank; +#line 129 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = ctr; +#line 129 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = data_set_get_at (_tmp6_, _tmp7_); +#line 129 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource); +#line 129 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp10_ = backlink; +#line 129 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data_source_remove_backlink (_tmp9_, _tmp10_); +#line 129 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_tmp9_); +#line 961 "SourceHoldingTank.c" + } + } + } +} + + +void source_holding_tank_destroy_orphans (SourceHoldingTank* self, GeeList* destroy, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed) { + GeeList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean removed = FALSE; + DataSet* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + GeeList* _tmp7_ = NULL; + gint count = 0; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 132 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_HOLDING_TANK (self)); +#line 132 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (GEE_IS_LIST (destroy)); +#line 132 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail ((not_removed == NULL) || GEE_IS_LIST (not_removed)); +#line 134 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = destroy; +#line 134 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 134 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = _tmp1_; +#line 134 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp2_ == 0) { +#line 135 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return; +#line 998 "SourceHoldingTank.c" + } +#line 137 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = self->priv->tank; +#line 137 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = destroy; +#line 137 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = data_set_remove_many (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 137 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + removed = _tmp5_; +#line 138 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = removed; +#line 138 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _vala_assert (_tmp6_, "removed"); +#line 140 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = destroy; +#line 140 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_notify_contents_altered (self, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 142 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = destroy; +#line 142 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 142 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp10_ = _tmp9_; +#line 142 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + count = _tmp10_; +#line 1024 "SourceHoldingTank.c" + { + gint ctr = 0; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ctr = 0; +#line 1029 "SourceHoldingTank.c" + { + gboolean _tmp11_ = FALSE; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp11_ = TRUE; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + while (TRUE) { +#line 1036 "SourceHoldingTank.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; + DataSource* source = NULL; + GeeList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + ProgressMonitor _tmp24_ = NULL; + void* _tmp24__target = NULL; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp11_) { +#line 1050 "SourceHoldingTank.c" + gint _tmp12_ = 0; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp12_ = ctr; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ctr = _tmp12_ + 1; +#line 1056 "SourceHoldingTank.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp11_ = FALSE; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp13_ = ctr; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp14_ = count; +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + break; +#line 1068 "SourceHoldingTank.c" + } +#line 144 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp15_ = destroy; +#line 144 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp16_ = ctr; +#line 144 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp17_ = gee_list_get (_tmp15_, _tmp16_); +#line 144 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source = (DataSource*) _tmp17_; +#line 145 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp18_ = source; +#line 145 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp19_ = delete_backing; +#line 145 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp20_ = data_source_destroy_orphan (_tmp18_, _tmp19_); +#line 145 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp20_) { +#line 1086 "SourceHoldingTank.c" + GeeList* _tmp21_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp21_ = not_removed; +#line 146 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (NULL != _tmp21_) { +#line 1092 "SourceHoldingTank.c" + GeeList* _tmp22_ = NULL; + DataSource* _tmp23_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp22_ = not_removed; +#line 147 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp23_ = source; +#line 147 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_); +#line 1101 "SourceHoldingTank.c" + } + } +#line 150 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp24_ = monitor; +#line 150 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp24__target = monitor_target; +#line 150 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp24_ != NULL) { +#line 1110 "SourceHoldingTank.c" + ProgressMonitor _tmp25_ = NULL; + void* _tmp25__target = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 151 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp25_ = monitor; +#line 151 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp25__target = monitor_target; +#line 151 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp26_ = ctr; +#line 151 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp27_ = count; +#line 151 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp25_ ((guint64) (_tmp26_ + 1), (guint64) _tmp27_, TRUE, _tmp25__target); +#line 1125 "SourceHoldingTank.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (source); +#line 1129 "SourceHoldingTank.c" + } + } + } +} + + +static void source_holding_tank_on_source_destroyed (SourceHoldingTank* self, DataSource* source) { + DataSet* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean removed = FALSE; + DataSet* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + DataSource* _tmp7_ = NULL; + SingletonCollection* _tmp8_ = NULL; + SingletonCollection* _tmp9_ = NULL; +#line 155 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_HOLDING_TANK (self)); +#line 155 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 156 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = self->priv->tank; +#line 156 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = source; +#line 156 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = data_set_contains (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 156 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp2_) { +#line 157 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return; +#line 1162 "SourceHoldingTank.c" + } +#line 159 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = self->priv->tank; +#line 159 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = source; +#line 159 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = data_set_remove (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject)); +#line 159 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + removed = _tmp5_; +#line 160 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = removed; +#line 160 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _vala_assert (_tmp6_, "removed"); +#line 162 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = source; +#line 162 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = singleton_collection_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp7_); +#line 162 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp9_ = _tmp8_; +#line 162 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_notify_contents_altered (self, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 162 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_tmp9_); +#line 1186 "SourceHoldingTank.c" +} + + +void source_holding_tank_internal_notify_altered (SourceHoldingTank* self, DataSource* source, Alteration* alteration) { + DataSet* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + SourceHoldingTankCheckToKeep _tmp8_ = NULL; + void* _tmp8__target = NULL; + DataSource* _tmp9_ = NULL; + Alteration* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean removed = FALSE; + DataSet* _tmp12_ = NULL; + DataSource* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + SourceCollection* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + DataSource* _tmp20_ = NULL; + SingletonCollection* _tmp21_ = NULL; + SingletonCollection* _tmp22_ = NULL; + SourceCollection* _tmp23_ = NULL; + DataSource* _tmp24_ = NULL; +#line 166 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_HOLDING_TANK (self)); +#line 166 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_DATA_SOURCE (source)); +#line 166 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 167 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = self->priv->tank; +#line 167 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = source; +#line 167 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = data_set_contains (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 167 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!_tmp2_) { +#line 1225 "SourceHoldingTank.c" + DataSource* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 168 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = source; +#line 168 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 168 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = _tmp4_; +#line 168 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = source_holding_tank_to_string (self); +#line 168 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = _tmp6_; +#line 168 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_debug ("SourceHoldingTank.vala:168: SourceHoldingTank.internal_notify_altered " \ +"called for %s not stored in %s", _tmp5_, _tmp7_); +#line 168 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_free0 (_tmp7_); +#line 168 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_free0 (_tmp5_); +#line 171 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return; +#line 1249 "SourceHoldingTank.c" + } +#line 175 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = self->priv->check_to_keep; +#line 175 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8__target = self->priv->check_to_keep_target; +#line 175 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp9_ = source; +#line 175 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp10_ = alteration; +#line 175 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp11_ = _tmp8_ (_tmp9_, _tmp10_, _tmp8__target); +#line 175 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp11_) { +#line 176 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return; +#line 1265 "SourceHoldingTank.c" + } +#line 178 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp12_ = self->priv->tank; +#line 178 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp13_ = source; +#line 178 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp14_ = data_set_remove (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_OBJECT, DataObject)); +#line 178 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + removed = _tmp14_; +#line 179 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp15_ = removed; +#line 179 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _vala_assert (_tmp15_, "removed"); +#line 181 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp16_ = self->priv->sources; +#line 181 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp17_ = data_collection_are_notifications_frozen (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_COLLECTION, DataCollection)); +#line 181 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp17_) { +#line 1285 "SourceHoldingTank.c" + GeeHashSet* _tmp18_ = NULL; + DataSource* _tmp19_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp18_ = self->priv->relinks; +#line 182 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp19_ = source; +#line 182 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp19_); +#line 184 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return; +#line 1296 "SourceHoldingTank.c" + } +#line 187 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp20_ = source; +#line 187 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp21_ = singleton_collection_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp20_); +#line 187 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp22_ = _tmp21_; +#line 187 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_notify_contents_altered (self, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 187 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (_tmp22_); +#line 189 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp23_ = self->priv->sources; +#line 189 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp24_ = source; +#line 189 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_collection_relink (_tmp23_, _tmp24_); +#line 1314 "SourceHoldingTank.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 197 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return self ? g_object_ref (self) : NULL; +#line 1321 "SourceHoldingTank.c" +} + + +static void source_holding_tank_on_source_collection_thawed (SourceHoldingTank* self) { + GeeHashSet* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GeeHashSet* copy = NULL; + GeeHashSet* _tmp3_ = NULL; + GeeHashSet* _tmp4_ = NULL; + GeeHashSet* _tmp5_ = NULL; + GeeHashSet* _tmp6_ = NULL; + SourceCollection* _tmp7_ = NULL; + GeeHashSet* _tmp8_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (IS_SOURCE_HOLDING_TANK (self)); +#line 193 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = self->priv->relinks; +#line 193 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 193 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = _tmp1_; +#line 193 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (_tmp2_ == 0) { +#line 194 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return; +#line 1348 "SourceHoldingTank.c" + } +#line 197 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp3_ = self->priv->relinks; +#line 197 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 197 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + copy = _tmp4_; +#line 198 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp5_ = gee_hash_set_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 198 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (self->priv->relinks); +#line 198 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->relinks = _tmp5_; +#line 200 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp6_ = copy; +#line 200 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_notify_contents_altered (self, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 202 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp7_ = self->priv->sources; +#line 202 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp8_ = copy; +#line 202 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_collection_relink_many (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 192 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (copy); +#line 1374 "SourceHoldingTank.c" +} + + +gchar* source_holding_tank_to_string (SourceHoldingTank* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (IS_SOURCE_HOLDING_TANK (self), NULL); +#line 206 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = g_strdup_printf ("SourceHoldingTank @ 0x%p", self); +#line 206 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + result = _tmp0_; +#line 206 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return result; +#line 1389 "SourceHoldingTank.c" +} + + +static void source_holding_tank_real_contents_altered (SourceHoldingTank* self, GeeCollection* added, GeeCollection* removed) { +#line 35 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 35 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 1398 "SourceHoldingTank.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (n_param_values == 3); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data1 = closure->data; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data2 = param_values->data[0].v_pointer; +#line 1417 "SourceHoldingTank.c" + } else { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data1 = param_values->data[0].v_pointer; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + data2 = closure->data; +#line 1423 "SourceHoldingTank.c" + } +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 1429 "SourceHoldingTank.c" +} + + +static void value_source_holding_tank_init (GValue* value) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + value->data[0].v_pointer = NULL; +#line 1436 "SourceHoldingTank.c" +} + + +static void value_source_holding_tank_free_value (GValue* value) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (value->data[0].v_pointer) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_unref (value->data[0].v_pointer); +#line 1445 "SourceHoldingTank.c" + } +} + + +static void value_source_holding_tank_copy_value (const GValue* src_value, GValue* dest_value) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (src_value->data[0].v_pointer) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + dest_value->data[0].v_pointer = source_holding_tank_ref (src_value->data[0].v_pointer); +#line 1455 "SourceHoldingTank.c" + } else { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + dest_value->data[0].v_pointer = NULL; +#line 1459 "SourceHoldingTank.c" + } +} + + +static gpointer value_source_holding_tank_peek_pointer (const GValue* value) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return value->data[0].v_pointer; +#line 1467 "SourceHoldingTank.c" +} + + +static gchar* value_source_holding_tank_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (collect_values[0].v_pointer) { +#line 1474 "SourceHoldingTank.c" + SourceHoldingTank* object; + object = collect_values[0].v_pointer; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (object->parent_instance.g_class == NULL) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1481 "SourceHoldingTank.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1485 "SourceHoldingTank.c" + } +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + value->data[0].v_pointer = source_holding_tank_ref (object); +#line 1489 "SourceHoldingTank.c" + } else { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + value->data[0].v_pointer = NULL; +#line 1493 "SourceHoldingTank.c" + } +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return NULL; +#line 1497 "SourceHoldingTank.c" +} + + +static gchar* value_source_holding_tank_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SourceHoldingTank** object_p; + object_p = collect_values[0].v_pointer; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!object_p) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1508 "SourceHoldingTank.c" + } +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (!value->data[0].v_pointer) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + *object_p = NULL; +#line 1514 "SourceHoldingTank.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + *object_p = value->data[0].v_pointer; +#line 1518 "SourceHoldingTank.c" + } else { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + *object_p = source_holding_tank_ref (value->data[0].v_pointer); +#line 1522 "SourceHoldingTank.c" + } +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return NULL; +#line 1526 "SourceHoldingTank.c" +} + + +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSourceHoldingTank* spec; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SOURCE_HOLDING_TANK), NULL); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return G_PARAM_SPEC (spec); +#line 1540 "SourceHoldingTank.c" +} + + +gpointer value_get_source_holding_tank (const GValue* value) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_HOLDING_TANK), NULL); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return value->data[0].v_pointer; +#line 1549 "SourceHoldingTank.c" +} + + +void value_set_source_holding_tank (GValue* value, gpointer v_object) { + SourceHoldingTank* old; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_HOLDING_TANK)); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + old = value->data[0].v_pointer; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (v_object) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SOURCE_HOLDING_TANK)); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + value->data[0].v_pointer = v_object; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_ref (value->data[0].v_pointer); +#line 1569 "SourceHoldingTank.c" + } else { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + value->data[0].v_pointer = NULL; +#line 1573 "SourceHoldingTank.c" + } +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (old) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_unref (old); +#line 1579 "SourceHoldingTank.c" + } +} + + +void value_take_source_holding_tank (GValue* value, gpointer v_object) { + SourceHoldingTank* old; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SOURCE_HOLDING_TANK)); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + old = value->data[0].v_pointer; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (v_object) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SOURCE_HOLDING_TANK)); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + value->data[0].v_pointer = v_object; +#line 1598 "SourceHoldingTank.c" + } else { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + value->data[0].v_pointer = NULL; +#line 1602 "SourceHoldingTank.c" + } +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (old) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_unref (old); +#line 1608 "SourceHoldingTank.c" + } +} + + +static void source_holding_tank_class_init (SourceHoldingTankClass * klass) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + source_holding_tank_parent_class = g_type_class_peek_parent (klass); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ((SourceHoldingTankClass *) klass)->finalize = source_holding_tank_finalize; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_type_class_add_private (klass, sizeof (SourceHoldingTankPrivate)); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ((SourceHoldingTankClass *) klass)->notify_contents_altered = source_holding_tank_real_notify_contents_altered; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + ((SourceHoldingTankClass *) klass)->contents_altered = source_holding_tank_real_contents_altered; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_new ("contents_altered", TYPE_SOURCE_HOLDING_TANK, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (SourceHoldingTankClass, contents_altered), NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GEE_TYPE_COLLECTION, GEE_TYPE_COLLECTION); +#line 1626 "SourceHoldingTank.c" +} + + +static void source_holding_tank_instance_init (SourceHoldingTank * self) { + DataSet* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; + GeeHashSet* _tmp2_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv = SOURCE_HOLDING_TANK_GET_PRIVATE (self); +#line 30 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = data_set_new (); +#line 30 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->tank = _tmp0_; +#line 31 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp1_ = gee_hash_set_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 31 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->relinks = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = gee_hash_set_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 32 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->unlinking = _tmp2_; +#line 33 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->priv->ordinal = (gint64) 0; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self->ref_count = 1; +#line 1652 "SourceHoldingTank.c" +} + + +static void source_holding_tank_finalize (SourceHoldingTank* obj) { + SourceHoldingTank * self; + SourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + SourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_handlers_destroy (self); +#line 48 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp0_ = self->priv->sources; +#line 48 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_parse_name ("item-destroyed", TYPE_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); +#line 48 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _source_holding_tank_on_source_destroyed_source_collection_item_destroyed, self); +#line 49 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _tmp2_ = self->priv->sources; +#line 49 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_parse_name ("thawed", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 49 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _source_holding_tank_on_source_collection_thawed_data_collection_thawed, self); +#line 28 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _data_collection_unref0 (self->priv->sources); +#line 30 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _data_set_unref0 (self->priv->tank); +#line 31 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (self->priv->relinks); +#line 32 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + _g_object_unref0 (self->priv->unlinking); +#line 1686 "SourceHoldingTank.c" +} + + +GType source_holding_tank_get_type (void) { + static volatile gsize source_holding_tank_type_id__volatile = 0; + if (g_once_init_enter (&source_holding_tank_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_source_holding_tank_init, value_source_holding_tank_free_value, value_source_holding_tank_copy_value, value_source_holding_tank_peek_pointer, "p", value_source_holding_tank_collect_value, "p", value_source_holding_tank_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SourceHoldingTankClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) source_holding_tank_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SourceHoldingTank), 0, (GInstanceInitFunc) source_holding_tank_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType source_holding_tank_type_id; + source_holding_tank_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SourceHoldingTank", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&source_holding_tank_type_id__volatile, source_holding_tank_type_id); + } + return source_holding_tank_type_id__volatile; +} + + +gpointer source_holding_tank_ref (gpointer instance) { + SourceHoldingTank* self; + self = instance; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_atomic_int_inc (&self->ref_count); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + return instance; +#line 1711 "SourceHoldingTank.c" +} + + +void source_holding_tank_unref (gpointer instance) { + SourceHoldingTank* self; + self = instance; +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + SOURCE_HOLDING_TANK_GET_CLASS (self)->finalize (self); +#line 24 "/home/jens/Source/shotwell/src/core/SourceHoldingTank.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1724 "SourceHoldingTank.c" + } +} + + + diff --git a/src/core/SourceInterfaces.c b/src/core/SourceInterfaces.c new file mode 100644 index 0000000..5cfc5a9 --- /dev/null +++ b/src/core/SourceInterfaces.c @@ -0,0 +1,328 @@ +/* SourceInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from SourceInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* See the note in MediaInterfaces.vala for some thoughts on the theory of expanding Shotwell's*/ +/* features via interfaces rather than class heirarchies.*/ +/* Indexable DataSources provide raw strings that may be searched against (and, in the future,*/ +/* indexed) for free-text search queries. DataSources implementing Indexable must prepare and*/ +/* store (i.e. cache) these strings using prepare_indexable_string(s), as preparing the strings*/ +/* for each call is expensive.*/ +/**/ +/* When the indexable string has changed, the object should fire an alteration of*/ +/* "indexable:keywords". The prepare methods will not do this.*/ + +#include +#include +#include +#include + + +#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_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + + + +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +const gchar* indexable_get_indexable_keywords (Indexable* self); +gchar* indexable_prepare_indexable_string (const gchar* str); +gboolean is_string_empty (const gchar* s); +gchar* string_remove_diacritics (const gchar* istring); +gchar* indexable_prepare_indexable_strings (gchar** strs, int strs_length1); + + +const gchar* indexable_get_indexable_keywords (Indexable* self) { +#line 19 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + g_return_val_if_fail (IS_INDEXABLE (self), NULL); +#line 19 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + return INDEXABLE_GET_INTERFACE (self)->get_indexable_keywords (self); +#line 78 "SourceInterfaces.c" +} + + +gchar* indexable_prepare_indexable_string (const gchar* str) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp0_ = str; +#line 22 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 22 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (_tmp1_) { +#line 23 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + result = NULL; +#line 23 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + return result; +#line 101 "SourceInterfaces.c" + } +#line 24 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp2_ = str; +#line 24 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp3_ = g_utf8_strdown (_tmp2_, (gssize) -1); +#line 24 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp4_ = _tmp3_; +#line 24 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp5_ = string_remove_diacritics (_tmp4_); +#line 24 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp6_ = _tmp5_; +#line 24 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _g_free0 (_tmp4_); +#line 24 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + result = _tmp6_; +#line 24 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + return result; +#line 119 "SourceInterfaces.c" +} + + +gchar* indexable_prepare_indexable_strings (gchar** strs, int strs_length1) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GString* builder = NULL; + GString* _tmp3_ = NULL; + gint ctr = 0; + const gchar* _tmp21_ = NULL; + GString* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + gchar* _tmp27_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp1_ = strs; +#line 28 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp1__length1 = strs_length1; +#line 28 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (_tmp1_ == NULL) { +#line 28 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp0_ = TRUE; +#line 144 "SourceInterfaces.c" + } else { + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 28 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp2_ = strs; +#line 28 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp2__length1 = strs_length1; +#line 28 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp0_ = _tmp2__length1 == 0; +#line 154 "SourceInterfaces.c" + } +#line 28 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (_tmp0_) { +#line 29 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + result = NULL; +#line 29 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + return result; +#line 162 "SourceInterfaces.c" + } +#line 31 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp3_ = g_string_new (""); +#line 31 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + builder = _tmp3_; +#line 32 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + ctr = 0; +#line 170 "SourceInterfaces.c" + { + gboolean _tmp4_ = FALSE; +#line 33 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp4_ = TRUE; +#line 33 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + while (TRUE) { +#line 177 "SourceInterfaces.c" + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 33 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (!_tmp4_) { +#line 185 "SourceInterfaces.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 39 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp5_ = ctr; +#line 39 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + ctr = _tmp5_ + 1; +#line 39 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp6_ = ctr; +#line 39 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp7_ = strs; +#line 39 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp7__length1 = strs_length1; +#line 39 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (!(_tmp6_ < _tmp7__length1)) { +#line 39 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + break; +#line 204 "SourceInterfaces.c" + } + } +#line 33 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp4_ = FALSE; +#line 34 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp8_ = strs; +#line 34 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp8__length1 = strs_length1; +#line 34 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp9_ = ctr; +#line 34 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 34 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp11_ = is_string_empty (_tmp10_); +#line 34 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (!_tmp11_) { +#line 221 "SourceInterfaces.c" + GString* _tmp12_ = NULL; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp14_ = 0; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp12_ = builder; +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp13_ = strs; +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp13__length1 = strs_length1; +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp14_ = ctr; +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp15_ = _tmp13_[_tmp14_]; +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp16_ = g_utf8_strdown (_tmp15_, (gssize) -1); +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp17_ = _tmp16_; +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + g_string_append (_tmp12_, _tmp17_); +#line 35 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _g_free0 (_tmp17_); +#line 36 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp18_ = ctr; +#line 36 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp19_ = strs; +#line 36 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp19__length1 = strs_length1; +#line 36 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (_tmp18_ < (_tmp19__length1 - 1)) { +#line 258 "SourceInterfaces.c" + GString* _tmp20_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp20_ = builder; +#line 37 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + g_string_append_c (_tmp20_, ' '); +#line 264 "SourceInterfaces.c" + } + } + } + } +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp22_ = builder; +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp23_ = _tmp22_->str; +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp24_ = is_string_empty (_tmp23_); +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (!_tmp24_) { +#line 277 "SourceInterfaces.c" + GString* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp25_ = builder; +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp26_ = _tmp25_->str; +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp21_ = _tmp26_; +#line 286 "SourceInterfaces.c" + } else { +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp21_ = NULL; +#line 290 "SourceInterfaces.c" + } +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _tmp27_ = g_strdup (_tmp21_); +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + result = _tmp27_; +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + _g_string_free0 (builder); +#line 41 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + return result; +#line 300 "SourceInterfaces.c" +} + + +static void indexable_base_init (IndexableIface * iface) { +#line 18 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + static gboolean initialized = FALSE; +#line 18 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + if (!initialized) { +#line 18 "/home/jens/Source/shotwell/src/core/SourceInterfaces.vala" + initialized = TRUE; +#line 311 "SourceInterfaces.c" + } +} + + +GType indexable_get_type (void) { + static volatile gsize indexable_type_id__volatile = 0; + if (g_once_init_enter (&indexable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (IndexableIface), (GBaseInitFunc) indexable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType indexable_type_id; + indexable_type_id = g_type_register_static (G_TYPE_INTERFACE, "Indexable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (indexable_type_id, TYPE_DATA_SOURCE); + g_once_init_leave (&indexable_type_id__volatile, indexable_type_id); + } + return indexable_type_id__volatile; +} + + + diff --git a/src/core/Tracker.c b/src/core/Tracker.c new file mode 100644 index 0000000..fa66f0e --- /dev/null +++ b/src/core/Tracker.c @@ -0,0 +1,2025 @@ +/* Tracker.c generated by valac 0.32.1, the Vala compiler + * generated from Tracker.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include + + +#define CORE_TYPE_TRACKER_ACCUMULATOR (core_tracker_accumulator_get_type ()) +#define CORE_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)) +#define CORE_IS_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR)) +#define CORE_TRACKER_ACCUMULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulatorIface)) + +typedef struct _CoreTrackerAccumulator CoreTrackerAccumulator; +typedef struct _CoreTrackerAccumulatorIface CoreTrackerAccumulatorIface; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; +typedef struct _CoreTrackerPrivate CoreTrackerPrivate; + +#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 _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) +typedef struct _CoreParamSpecTracker CoreParamSpecTracker; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; +typedef struct _CoreViewTrackerPrivate CoreViewTrackerPrivate; + +#define CORE_VIEW_TRACKER_TYPE_MUX (core_view_tracker_mux_get_type ()) +#define CORE_VIEW_TRACKER_MUX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux)) +#define CORE_VIEW_TRACKER_MUX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMuxClass)) +#define CORE_VIEW_TRACKER_IS_MUX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_VIEW_TRACKER_TYPE_MUX)) +#define CORE_VIEW_TRACKER_IS_MUX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_VIEW_TRACKER_TYPE_MUX)) +#define CORE_VIEW_TRACKER_MUX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMuxClass)) + +typedef struct _CoreViewTrackerMux CoreViewTrackerMux; +typedef struct _CoreViewTrackerMuxClass CoreViewTrackerMuxClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_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; +typedef struct _CoreViewTrackerMuxPrivate CoreViewTrackerMuxPrivate; +#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 _CoreTrackerAccumulatorIface { + GTypeInterface parent_iface; + gboolean (*include) (CoreTrackerAccumulator* self, DataObject* object); + gboolean (*uninclude) (CoreTrackerAccumulator* self, DataObject* object); + gboolean (*altered) (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration); +}; + +struct _CoreTracker { + GTypeInstance parent_instance; + volatile int ref_count; + CoreTrackerPrivate * priv; +}; + +struct _CoreTrackerClass { + GTypeClass parent_class; + void (*finalize) (CoreTracker *self); + void (*updated) (CoreTracker* self); +}; + +struct _CoreTrackerPrivate { + DataCollection* collection; + GeeCollection* initial; + CoreTrackerAccumulator* acc; +}; + +typedef gboolean (*CoreTrackerIncludeUnincludeObject) (DataObject* object, void* user_data); +struct _CoreParamSpecTracker { + GParamSpec parent_instance; +}; + +struct _CoreViewTracker { + CoreTracker parent_instance; + CoreViewTrackerPrivate * priv; +}; + +struct _CoreViewTrackerClass { + CoreTrackerClass parent_class; +}; + +struct _CoreViewTrackerPrivate { + CoreViewTrackerMux* mux; +}; + +struct _CoreViewTrackerMux { + GObject parent_instance; + CoreViewTrackerMuxPrivate * priv; + CoreTrackerAccumulator* all; + CoreTrackerAccumulator* visible; + CoreTrackerAccumulator* selected; +}; + +struct _CoreViewTrackerMuxClass { + GObjectClass parent_class; +}; + + +static gpointer core_tracker_parent_class = NULL; +static gpointer core_view_tracker_parent_class = NULL; +static gpointer core_view_tracker_mux_parent_class = NULL; +static CoreTrackerAccumulatorIface* core_view_tracker_mux_core_tracker_accumulator_parent_iface = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType core_tracker_accumulator_get_type (void) G_GNUC_CONST; +gboolean core_tracker_accumulator_include (CoreTrackerAccumulator* self, DataObject* object); +gboolean core_tracker_accumulator_uninclude (CoreTrackerAccumulator* self, DataObject* object); +gboolean core_tracker_accumulator_altered (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration); +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +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; +#define CORE_TRACKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CORE_TYPE_TRACKER, CoreTrackerPrivate)) +enum { + CORE_TRACKER_DUMMY_PROPERTY +}; +static void core_tracker_on_items_added (CoreTracker* self, GeeIterable* added); +static void _core_tracker_on_items_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self); +static void core_tracker_on_items_removed (CoreTracker* self, GeeIterable* removed); +static void _core_tracker_on_items_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self); +static void core_tracker_on_items_altered (CoreTracker* self, GeeMap* map); +static void _core_tracker_on_items_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +CoreTracker* core_tracker_new (DataCollection* collection, GeeCollection* initial); +CoreTracker* core_tracker_construct (GType object_type, DataCollection* collection, GeeCollection* initial); +void core_tracker_start (CoreTracker* self, CoreTrackerAccumulator* acc); +GeeCollection* data_collection_get_all (DataCollection* self); +DataCollection* core_tracker_get_collection (CoreTracker* self); +void core_tracker_include_uninclude (CoreTracker* self, GeeIterable* objects, CoreTrackerIncludeUnincludeObject cb, void* cb_target); +static gboolean _core_tracker_accumulator_include_core_tracker_include_uninclude_object (DataObject* object, gpointer self); +static gboolean _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object (DataObject* object, gpointer self); +static void core_tracker_real_updated (CoreTracker* self); +static void core_tracker_finalize (CoreTracker* obj); +GType core_view_tracker_get_type (void) G_GNUC_CONST; +static GType core_view_tracker_mux_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define CORE_VIEW_TRACKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerPrivate)) +enum { + CORE_VIEW_TRACKER_DUMMY_PROPERTY +}; +GType view_collection_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +static void core_view_tracker_on_items_shown (CoreViewTracker* self, GeeCollection* shown); +static void _core_view_tracker_on_items_shown_view_collection_items_shown (ViewCollection* _sender, GeeCollection* visible, gpointer self); +static void core_view_tracker_on_items_hidden (CoreViewTracker* self, GeeCollection* hidden); +static void _core_view_tracker_on_items_hidden_view_collection_items_hidden (ViewCollection* _sender, GeeCollection* hidden, gpointer self); +static void core_view_tracker_on_items_selected (CoreViewTracker* self, GeeIterable* selected); +static void _core_view_tracker_on_items_selected_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self); +static void core_view_tracker_on_items_unselected (CoreViewTracker* self, GeeIterable* unselected); +static void _core_view_tracker_on_items_unselected_view_collection_items_unselected (ViewCollection* _sender, GeeIterable* unselected, gpointer self); +CoreViewTracker* core_view_tracker_new (ViewCollection* collection); +CoreViewTracker* core_view_tracker_construct (GType object_type, ViewCollection* collection); +GeeCollection* view_collection_get_all_unfiltered (ViewCollection* self); +void core_view_tracker_start (CoreViewTracker* self, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); +static CoreViewTrackerMux* core_view_tracker_mux_new (CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); +static CoreViewTrackerMux* core_view_tracker_mux_construct (GType object_type, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected); +enum { + CORE_VIEW_TRACKER_MUX_DUMMY_PROPERTY +}; +static gboolean core_view_tracker_mux_real_include (CoreTrackerAccumulator* base, DataObject* object); +gboolean data_view_is_visible (DataView* self); +gboolean data_view_is_selected (DataView* self); +static gboolean core_view_tracker_mux_real_uninclude (CoreTrackerAccumulator* base, DataObject* object); +static gboolean core_view_tracker_mux_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration); +static void core_view_tracker_mux_finalize (GObject* obj); +static void core_view_tracker_finalize (CoreTracker* obj); + + +gboolean core_tracker_accumulator_include (CoreTrackerAccumulator* self, DataObject* object) { +#line 13 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (CORE_IS_TRACKER_ACCUMULATOR (self), FALSE); +#line 13 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return CORE_TRACKER_ACCUMULATOR_GET_INTERFACE (self)->include (self, object); +#line 262 "Tracker.c" +} + + +gboolean core_tracker_accumulator_uninclude (CoreTrackerAccumulator* self, DataObject* object) { +#line 15 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (CORE_IS_TRACKER_ACCUMULATOR (self), FALSE); +#line 15 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return CORE_TRACKER_ACCUMULATOR_GET_INTERFACE (self)->uninclude (self, object); +#line 271 "Tracker.c" +} + + +gboolean core_tracker_accumulator_altered (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration) { +#line 17 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (CORE_IS_TRACKER_ACCUMULATOR (self), FALSE); +#line 17 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return CORE_TRACKER_ACCUMULATOR_GET_INTERFACE (self)->altered (self, object, alteration); +#line 280 "Tracker.c" +} + + +static void core_tracker_accumulator_base_init (CoreTrackerAccumulatorIface * iface) { +#line 12 "/home/jens/Source/shotwell/src/core/Tracker.vala" + static gboolean initialized = FALSE; +#line 12 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (!initialized) { +#line 12 "/home/jens/Source/shotwell/src/core/Tracker.vala" + initialized = TRUE; +#line 291 "Tracker.c" + } +} + + +GType core_tracker_accumulator_get_type (void) { + static volatile gsize core_tracker_accumulator_type_id__volatile = 0; + if (g_once_init_enter (&core_tracker_accumulator_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CoreTrackerAccumulatorIface), (GBaseInitFunc) core_tracker_accumulator_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType core_tracker_accumulator_type_id; + core_tracker_accumulator_type_id = g_type_register_static (G_TYPE_INTERFACE, "CoreTrackerAccumulator", &g_define_type_info, 0); + g_type_interface_add_prerequisite (core_tracker_accumulator_type_id, G_TYPE_OBJECT); + g_once_init_leave (&core_tracker_accumulator_type_id__volatile, core_tracker_accumulator_type_id); + } + return core_tracker_accumulator_type_id__volatile; +} + + +static void _core_tracker_on_items_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self) { +#line 40 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_on_items_added ((CoreTracker*) self, added); +#line 312 "Tracker.c" +} + + +static void _core_tracker_on_items_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_on_items_removed ((CoreTracker*) self, removed); +#line 319 "Tracker.c" +} + + +static void _core_tracker_on_items_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 42 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_on_items_altered ((CoreTracker*) self, items); +#line 326 "Tracker.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return self ? data_collection_ref (self) : NULL; +#line 333 "Tracker.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return self ? g_object_ref (self) : NULL; +#line 340 "Tracker.c" +} + + +CoreTracker* core_tracker_construct (GType object_type, DataCollection* collection, GeeCollection* initial) { + CoreTracker* self = NULL; + DataCollection* _tmp0_ = NULL; + DataCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (IS_DATA_COLLECTION (collection), NULL); +#line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail ((initial == NULL) || GEE_IS_COLLECTION (initial), NULL); +#line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = (CoreTracker*) g_type_create_instance (object_type); +#line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = collection; +#line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _data_collection_unref0 (self->priv->collection); +#line 34 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv->collection = _tmp1_; +#line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = initial; +#line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->priv->initial); +#line 35 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv->initial = _tmp3_; +#line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return self; +#line 374 "Tracker.c" +} + + +CoreTracker* core_tracker_new (DataCollection* collection, GeeCollection* initial) { +#line 33 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return core_tracker_construct (CORE_TYPE_TRACKER, collection, initial); +#line 381 "Tracker.c" +} + + +void core_tracker_start (CoreTracker* self, CoreTrackerAccumulator* acc) { + CoreTrackerAccumulator* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; + CoreTrackerAccumulator* _tmp2_ = NULL; + DataCollection* _tmp3_ = NULL; + DataCollection* _tmp4_ = NULL; + DataCollection* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GeeCollection* _tmp7_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_TRACKER (self)); +#line 46 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_TRACKER_ACCUMULATOR (acc)); +#line 48 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->acc; +#line 48 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _vala_assert (_tmp0_ == NULL, "this.acc == null"); +#line 50 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = acc; +#line 50 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 50 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->priv->acc); +#line 50 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv->acc = _tmp2_; +#line 52 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = self->priv->collection; +#line 52 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_connect (_tmp3_, "items-added", (GCallback) _core_tracker_on_items_added_data_collection_items_added, self); +#line 53 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = self->priv->collection; +#line 53 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_connect (_tmp4_, "items-removed", (GCallback) _core_tracker_on_items_removed_data_collection_items_removed, self); +#line 54 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = self->priv->collection; +#line 54 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_connect (_tmp5_, "items-altered", (GCallback) _core_tracker_on_items_altered_data_collection_items_altered, self); +#line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp7_ = self->priv->initial; +#line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp7_ != NULL) { +#line 426 "Tracker.c" + GeeCollection* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = self->priv->initial; +#line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp9_ = gee_collection_get_size (_tmp8_); +#line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp10_ = _tmp9_; +#line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = _tmp10_ > 0; +#line 438 "Tracker.c" + } else { +#line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = FALSE; +#line 442 "Tracker.c" + } +#line 56 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp6_) { +#line 446 "Tracker.c" + GeeCollection* _tmp11_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp11_ = self->priv->initial; +#line 57 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_on_items_added (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 452 "Tracker.c" + } else { + GeeCollection* _tmp12_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp12_ = self->priv->initial; +#line 58 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp12_ == NULL) { +#line 459 "Tracker.c" + DataCollection* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; + GeeCollection* _tmp15_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp13_ = self->priv->collection; +#line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp14_ = data_collection_get_all (_tmp13_); +#line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp15_ = _tmp14_; +#line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_on_items_added (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 59 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (_tmp15_); +#line 473 "Tracker.c" + } + } +#line 61 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->priv->initial); +#line 61 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv->initial = NULL; +#line 480 "Tracker.c" +} + + +DataCollection* core_tracker_get_collection (CoreTracker* self) { + DataCollection* result = NULL; + DataCollection* _tmp0_ = NULL; + DataCollection* _tmp1_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (CORE_IS_TRACKER (self), NULL); +#line 65 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->collection; +#line 65 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 65 "/home/jens/Source/shotwell/src/core/Tracker.vala" + result = _tmp1_; +#line 65 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return result; +#line 498 "Tracker.c" +} + + +static gboolean _core_tracker_accumulator_include_core_tracker_include_uninclude_object (DataObject* object, gpointer self) { + gboolean result; + result = core_tracker_accumulator_include ((CoreTrackerAccumulator*) self, object); +#line 69 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return result; +#line 507 "Tracker.c" +} + + +static void core_tracker_on_items_added (CoreTracker* self, GeeIterable* added) { + GeeIterable* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_TRACKER (self)); +#line 68 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 69 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = added; +#line 69 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = self->priv->acc; +#line 69 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_include_uninclude (self, _tmp0_, _core_tracker_accumulator_include_core_tracker_include_uninclude_object, _tmp1_); +#line 524 "Tracker.c" +} + + +static gboolean _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object (DataObject* object, gpointer self) { + gboolean result; + result = core_tracker_accumulator_uninclude ((CoreTrackerAccumulator*) self, object); +#line 73 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return result; +#line 533 "Tracker.c" +} + + +static void core_tracker_on_items_removed (CoreTracker* self, GeeIterable* removed) { + GeeIterable* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_TRACKER (self)); +#line 72 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 73 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = removed; +#line 73 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = self->priv->acc; +#line 73 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_include_uninclude (self, _tmp0_, _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object, _tmp1_); +#line 550 "Tracker.c" +} + + +void core_tracker_include_uninclude (CoreTracker* self, GeeIterable* objects, CoreTrackerIncludeUnincludeObject cb, void* cb_target) { + gboolean fire_updated = FALSE; + gboolean _tmp11_ = FALSE; +#line 77 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_TRACKER (self)); +#line 77 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (GEE_IS_ITERABLE (objects)); +#line 78 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = FALSE; +#line 563 "Tracker.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = objects; +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _object_it = _tmp1_; +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + while (TRUE) { +#line 576 "Tracker.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + CoreTrackerIncludeUnincludeObject _tmp7_ = NULL; + void* _tmp7__target = NULL; + DataObject* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = _object_it; +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (!_tmp3_) { +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + break; +#line 595 "Tracker.c" + } +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = _object_it; +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + object = (DataObject*) _tmp5_; +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp7_ = cb; +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp7__target = cb_target; +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = object; +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp9_ = _tmp7_ (_tmp8_, _tmp7__target); +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp9_) { +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = TRUE; +#line 615 "Tracker.c" + } else { + gboolean _tmp10_ = FALSE; +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp10_ = fire_updated; +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = _tmp10_; +#line 622 "Tracker.c" + } +#line 80 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp6_; +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (object); +#line 628 "Tracker.c" + } +#line 79 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (_object_it); +#line 632 "Tracker.c" + } +#line 82 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp11_ = fire_updated; +#line 82 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp11_) { +#line 83 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_emit_by_name (self, "updated"); +#line 640 "Tracker.c" + } +} + + +static void core_tracker_on_items_altered (CoreTracker* self, GeeMap* map) { + gboolean fire_updated = FALSE; + gboolean _tmp20_ = FALSE; +#line 86 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_TRACKER (self)); +#line 86 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 87 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = FALSE; +#line 654 "Tracker.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = map; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = _tmp1_; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = _tmp2_; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = _tmp4_; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (_tmp3_); +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _object_it = _tmp5_; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + while (TRUE) { +#line 681 "Tracker.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + CoreTrackerAccumulator* _tmp11_ = NULL; + DataObject* _tmp12_ = NULL; + GeeMap* _tmp13_ = NULL; + DataObject* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = _object_it; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (!_tmp7_) { +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + break; +#line 704 "Tracker.c" + } +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = _object_it; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + object = (DataObject*) _tmp9_; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp11_ = self->priv->acc; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp12_ = object; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp13_ = map; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp14_ = object; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp15_ = gee_map_get (_tmp13_, _tmp14_); +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp16_ = (Alteration*) _tmp15_; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp17_ = core_tracker_accumulator_altered (_tmp11_, _tmp12_, _tmp16_); +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp18_ = _tmp17_; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _alteration_unref0 (_tmp16_); +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp18_) { +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp10_ = TRUE; +#line 734 "Tracker.c" + } else { + gboolean _tmp19_ = FALSE; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp19_ = fire_updated; +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp10_ = _tmp19_; +#line 741 "Tracker.c" + } +#line 89 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp10_; +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (object); +#line 747 "Tracker.c" + } +#line 88 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (_object_it); +#line 751 "Tracker.c" + } +#line 91 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp20_ = fire_updated; +#line 91 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp20_) { +#line 92 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_emit_by_name (self, "updated"); +#line 759 "Tracker.c" + } +} + + +static void core_tracker_real_updated (CoreTracker* self) { +} + + +static void core_value_tracker_init (GValue* value) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + value->data[0].v_pointer = NULL; +#line 771 "Tracker.c" +} + + +static void core_value_tracker_free_value (GValue* value) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (value->data[0].v_pointer) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_unref (value->data[0].v_pointer); +#line 780 "Tracker.c" + } +} + + +static void core_value_tracker_copy_value (const GValue* src_value, GValue* dest_value) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (src_value->data[0].v_pointer) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + dest_value->data[0].v_pointer = core_tracker_ref (src_value->data[0].v_pointer); +#line 790 "Tracker.c" + } else { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + dest_value->data[0].v_pointer = NULL; +#line 794 "Tracker.c" + } +} + + +static gpointer core_value_tracker_peek_pointer (const GValue* value) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return value->data[0].v_pointer; +#line 802 "Tracker.c" +} + + +static gchar* core_value_tracker_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (collect_values[0].v_pointer) { +#line 809 "Tracker.c" + CoreTracker* object; + object = collect_values[0].v_pointer; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (object->parent_instance.g_class == NULL) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 816 "Tracker.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 820 "Tracker.c" + } +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + value->data[0].v_pointer = core_tracker_ref (object); +#line 824 "Tracker.c" + } else { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + value->data[0].v_pointer = NULL; +#line 828 "Tracker.c" + } +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return NULL; +#line 832 "Tracker.c" +} + + +static gchar* core_value_tracker_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + CoreTracker** object_p; + object_p = collect_values[0].v_pointer; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (!object_p) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 843 "Tracker.c" + } +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (!value->data[0].v_pointer) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + *object_p = NULL; +#line 849 "Tracker.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + *object_p = value->data[0].v_pointer; +#line 853 "Tracker.c" + } else { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + *object_p = core_tracker_ref (value->data[0].v_pointer); +#line 857 "Tracker.c" + } +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return NULL; +#line 861 "Tracker.c" +} + + +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + CoreParamSpecTracker* spec; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (g_type_is_a (object_type, CORE_TYPE_TRACKER), NULL); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return G_PARAM_SPEC (spec); +#line 875 "Tracker.c" +} + + +gpointer core_value_get_tracker (const GValue* value) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CORE_TYPE_TRACKER), NULL); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return value->data[0].v_pointer; +#line 884 "Tracker.c" +} + + +void core_value_set_tracker (GValue* value, gpointer v_object) { + CoreTracker* old; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CORE_TYPE_TRACKER)); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + old = value->data[0].v_pointer; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (v_object) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, CORE_TYPE_TRACKER)); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + value->data[0].v_pointer = v_object; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_ref (value->data[0].v_pointer); +#line 904 "Tracker.c" + } else { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + value->data[0].v_pointer = NULL; +#line 908 "Tracker.c" + } +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (old) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_unref (old); +#line 914 "Tracker.c" + } +} + + +void core_value_take_tracker (GValue* value, gpointer v_object) { + CoreTracker* old; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, CORE_TYPE_TRACKER)); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + old = value->data[0].v_pointer; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (v_object) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, CORE_TYPE_TRACKER)); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + value->data[0].v_pointer = v_object; +#line 933 "Tracker.c" + } else { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + value->data[0].v_pointer = NULL; +#line 937 "Tracker.c" + } +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (old) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_unref (old); +#line 943 "Tracker.c" + } +} + + +static void core_tracker_class_init (CoreTrackerClass * klass) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_parent_class = g_type_class_peek_parent (klass); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + ((CoreTrackerClass *) klass)->finalize = core_tracker_finalize; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_type_class_add_private (klass, sizeof (CoreTrackerPrivate)); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + ((CoreTrackerClass *) klass)->updated = core_tracker_real_updated; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_new ("updated", CORE_TYPE_TRACKER, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (CoreTrackerClass, updated), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 959 "Tracker.c" +} + + +static void core_tracker_instance_init (CoreTracker * self) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv = CORE_TRACKER_GET_PRIVATE (self); +#line 28 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv->acc = NULL; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->ref_count = 1; +#line 970 "Tracker.c" +} + + +static void core_tracker_finalize (CoreTracker* obj) { + CoreTracker * self; + CoreTrackerAccumulator* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, CORE_TYPE_TRACKER, CoreTracker); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_handlers_destroy (self); +#line 39 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->acc; +#line 39 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp0_ != NULL) { +#line 985 "Tracker.c" + DataCollection* _tmp1_ = NULL; + guint _tmp2_ = 0U; + DataCollection* _tmp3_ = NULL; + guint _tmp4_ = 0U; + DataCollection* _tmp5_ = NULL; + guint _tmp6_ = 0U; +#line 40 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = self->priv->collection; +#line 40 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_parse_name ("items-added", TYPE_DATA_COLLECTION, &_tmp2_, NULL, FALSE); +#line 40 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _core_tracker_on_items_added_data_collection_items_added, self); +#line 41 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = self->priv->collection; +#line 41 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_parse_name ("items-removed", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE); +#line 41 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _core_tracker_on_items_removed_data_collection_items_removed, self); +#line 42 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = self->priv->collection; +#line 42 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp6_, NULL, FALSE); +#line 42 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _core_tracker_on_items_altered_data_collection_items_altered, self); +#line 1010 "Tracker.c" + } +#line 26 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _data_collection_unref0 (self->priv->collection); +#line 27 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->priv->initial); +#line 28 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->priv->acc); +#line 1018 "Tracker.c" +} + + +GType core_tracker_get_type (void) { + static volatile gsize core_tracker_type_id__volatile = 0; + if (g_once_init_enter (&core_tracker_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { core_value_tracker_init, core_value_tracker_free_value, core_value_tracker_copy_value, core_value_tracker_peek_pointer, "p", core_value_tracker_collect_value, "p", core_value_tracker_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (CoreTrackerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) core_tracker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CoreTracker), 0, (GInstanceInitFunc) core_tracker_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType core_tracker_type_id; + core_tracker_type_id = g_type_register_fundamental (g_type_fundamental_next (), "CoreTracker", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&core_tracker_type_id__volatile, core_tracker_type_id); + } + return core_tracker_type_id__volatile; +} + + +gpointer core_tracker_ref (gpointer instance) { + CoreTracker* self; + self = instance; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_atomic_int_inc (&self->ref_count); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return instance; +#line 1043 "Tracker.c" +} + + +void core_tracker_unref (gpointer instance) { + CoreTracker* self; + self = instance; +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + CORE_TRACKER_GET_CLASS (self)->finalize (self); +#line 23 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1056 "Tracker.c" + } +} + + +static void _core_view_tracker_on_items_shown_view_collection_items_shown (ViewCollection* _sender, GeeCollection* visible, gpointer self) { +#line 173 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_view_tracker_on_items_shown ((CoreViewTracker*) self, visible); +#line 1064 "Tracker.c" +} + + +static void _core_view_tracker_on_items_hidden_view_collection_items_hidden (ViewCollection* _sender, GeeCollection* hidden, gpointer self) { +#line 174 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_view_tracker_on_items_hidden ((CoreViewTracker*) self, hidden); +#line 1071 "Tracker.c" +} + + +static void _core_view_tracker_on_items_selected_view_collection_items_selected (ViewCollection* _sender, GeeIterable* selected, gpointer self) { +#line 175 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_view_tracker_on_items_selected ((CoreViewTracker*) self, selected); +#line 1078 "Tracker.c" +} + + +static void _core_view_tracker_on_items_unselected_view_collection_items_unselected (ViewCollection* _sender, GeeIterable* unselected, gpointer self) { +#line 176 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_view_tracker_on_items_unselected ((CoreViewTracker*) self, unselected); +#line 1085 "Tracker.c" +} + + +CoreViewTracker* core_view_tracker_construct (GType object_type, ViewCollection* collection) { + CoreViewTracker* self = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (collection), NULL); +#line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = collection; +#line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = collection; +#line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = view_collection_get_all_unfiltered (_tmp1_); +#line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = _tmp2_; +#line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = (CoreViewTracker*) core_tracker_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), _tmp3_); +#line 166 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (_tmp3_); +#line 165 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return self; +#line 1111 "Tracker.c" +} + + +CoreViewTracker* core_view_tracker_new (ViewCollection* collection) { +#line 165 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return core_view_tracker_construct (CORE_TYPE_VIEW_TRACKER, collection); +#line 1118 "Tracker.c" +} + + +void core_view_tracker_start (CoreViewTracker* self, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected) { + CoreViewTrackerMux* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; + CoreTrackerAccumulator* _tmp2_ = NULL; + CoreTrackerAccumulator* _tmp3_ = NULL; + CoreViewTrackerMux* _tmp4_ = NULL; + ViewCollection* collection = NULL; + DataCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + CoreViewTrackerMux* _tmp7_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); +#line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail ((all == NULL) || CORE_IS_TRACKER_ACCUMULATOR (all)); +#line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail ((visible == NULL) || CORE_IS_TRACKER_ACCUMULATOR (visible)); +#line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail ((selected == NULL) || CORE_IS_TRACKER_ACCUMULATOR (selected)); +#line 181 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->mux; +#line 181 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _vala_assert (_tmp0_ == NULL, "mux == null"); +#line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = all; +#line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = visible; +#line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = selected; +#line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = core_view_tracker_mux_new (_tmp1_, _tmp2_, _tmp3_); +#line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->priv->mux); +#line 183 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv->mux = _tmp4_; +#line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = core_tracker_get_collection (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker)); +#line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_VIEW_COLLECTION) ? ((ViewCollection*) _tmp5_) : NULL; +#line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp6_ == NULL) { +#line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _data_collection_unref0 (_tmp5_); +#line 1164 "Tracker.c" + } +#line 185 "/home/jens/Source/shotwell/src/core/Tracker.vala" + collection = _tmp6_; +#line 186 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _vala_assert (collection != NULL, "collection != null"); +#line 187 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_connect (collection, "items-shown", (GCallback) _core_view_tracker_on_items_shown_view_collection_items_shown, self); +#line 188 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_connect (collection, "items-hidden", (GCallback) _core_view_tracker_on_items_hidden_view_collection_items_hidden, self); +#line 189 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_connect (collection, "items-selected", (GCallback) _core_view_tracker_on_items_selected_view_collection_items_selected, self); +#line 190 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_connect (collection, "items-unselected", (GCallback) _core_view_tracker_on_items_unselected_view_collection_items_unselected, self); +#line 192 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp7_ = self->priv->mux; +#line 192 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_start (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator)); +#line 180 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _data_collection_unref0 (collection); +#line 1184 "Tracker.c" +} + + +static void core_view_tracker_on_items_shown (CoreViewTracker* self, GeeCollection* shown) { + CoreViewTrackerMux* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; +#line 195 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); +#line 195 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (GEE_IS_COLLECTION (shown)); +#line 196 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->mux; +#line 196 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _tmp0_->visible; +#line 196 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp1_ != NULL) { +#line 1201 "Tracker.c" + GeeCollection* _tmp2_ = NULL; + CoreViewTrackerMux* _tmp3_ = NULL; + CoreTrackerAccumulator* _tmp4_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = shown; +#line 197 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = self->priv->mux; +#line 197 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = _tmp3_->visible; +#line 197 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_include_uninclude (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable), _core_tracker_accumulator_include_core_tracker_include_uninclude_object, _tmp4_); +#line 1213 "Tracker.c" + } +} + + +static void core_view_tracker_on_items_hidden (CoreViewTracker* self, GeeCollection* hidden) { + CoreViewTrackerMux* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); +#line 200 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (GEE_IS_COLLECTION (hidden)); +#line 201 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->mux; +#line 201 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _tmp0_->visible; +#line 201 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp1_ != NULL) { +#line 1231 "Tracker.c" + GeeCollection* _tmp2_ = NULL; + CoreViewTrackerMux* _tmp3_ = NULL; + CoreTrackerAccumulator* _tmp4_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = hidden; +#line 202 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = self->priv->mux; +#line 202 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = _tmp3_->visible; +#line 202 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_include_uninclude (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable), _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object, _tmp4_); +#line 1243 "Tracker.c" + } +} + + +static void core_view_tracker_on_items_selected (CoreViewTracker* self, GeeIterable* selected) { + CoreViewTrackerMux* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); +#line 205 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (GEE_IS_ITERABLE (selected)); +#line 206 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->mux; +#line 206 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _tmp0_->selected; +#line 206 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp1_ != NULL) { +#line 1261 "Tracker.c" + GeeIterable* _tmp2_ = NULL; + CoreViewTrackerMux* _tmp3_ = NULL; + CoreTrackerAccumulator* _tmp4_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = selected; +#line 207 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = self->priv->mux; +#line 207 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = _tmp3_->selected; +#line 207 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_include_uninclude (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), _tmp2_, _core_tracker_accumulator_include_core_tracker_include_uninclude_object, _tmp4_); +#line 1273 "Tracker.c" + } +} + + +static void core_view_tracker_on_items_unselected (CoreViewTracker* self, GeeIterable* unselected) { + CoreViewTrackerMux* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (CORE_IS_VIEW_TRACKER (self)); +#line 210 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_if_fail (GEE_IS_ITERABLE (unselected)); +#line 211 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->mux; +#line 211 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _tmp0_->selected; +#line 211 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp1_ != NULL) { +#line 1291 "Tracker.c" + GeeIterable* _tmp2_ = NULL; + CoreViewTrackerMux* _tmp3_ = NULL; + CoreTrackerAccumulator* _tmp4_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = unselected; +#line 212 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = self->priv->mux; +#line 212 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = _tmp3_->selected; +#line 212 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_tracker_include_uninclude (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker), _tmp2_, _core_tracker_accumulator_uninclude_core_tracker_include_uninclude_object, _tmp4_); +#line 1303 "Tracker.c" + } +} + + +static CoreViewTrackerMux* core_view_tracker_mux_construct (GType object_type, CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected) { + CoreViewTrackerMux * self = NULL; + CoreTrackerAccumulator* _tmp0_ = NULL; + CoreTrackerAccumulator* _tmp1_ = NULL; + CoreTrackerAccumulator* _tmp2_ = NULL; + CoreTrackerAccumulator* _tmp3_ = NULL; + CoreTrackerAccumulator* _tmp4_ = NULL; + CoreTrackerAccumulator* _tmp5_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail ((all == NULL) || CORE_IS_TRACKER_ACCUMULATOR (all), NULL); +#line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail ((visible == NULL) || CORE_IS_TRACKER_ACCUMULATOR (visible), NULL); +#line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail ((selected == NULL) || CORE_IS_TRACKER_ACCUMULATOR (selected), NULL); +#line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = (CoreViewTrackerMux*) g_object_new (object_type, NULL); +#line 106 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = all; +#line 106 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 106 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->all); +#line 106 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->all = _tmp1_; +#line 107 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = visible; +#line 107 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 107 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->visible); +#line 107 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->visible = _tmp3_; +#line 108 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = selected; +#line 108 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 108 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->selected); +#line 108 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->selected = _tmp5_; +#line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return self; +#line 1350 "Tracker.c" +} + + +static CoreViewTrackerMux* core_view_tracker_mux_new (CoreTrackerAccumulator* all, CoreTrackerAccumulator* visible, CoreTrackerAccumulator* selected) { +#line 105 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return core_view_tracker_mux_construct (CORE_VIEW_TRACKER_TYPE_MUX, all, visible, selected); +#line 1357 "Tracker.c" +} + + +static gboolean core_view_tracker_mux_real_include (CoreTrackerAccumulator* base, DataObject* object) { + CoreViewTrackerMux * self; + gboolean result = FALSE; + DataView* view = NULL; + DataObject* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + gboolean fire_updated = FALSE; + CoreTrackerAccumulator* _tmp2_ = NULL; + gboolean _tmp8_ = FALSE; + CoreTrackerAccumulator* _tmp9_ = NULL; + gboolean _tmp17_ = FALSE; + CoreTrackerAccumulator* _tmp18_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux); +#line 111 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 112 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = object; +#line 112 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 112 "/home/jens/Source/shotwell/src/core/Tracker.vala" + view = _tmp1_; +#line 114 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = FALSE; +#line 116 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = self->all; +#line 116 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp2_ != NULL) { +#line 1389 "Tracker.c" + gboolean _tmp3_ = FALSE; + CoreTrackerAccumulator* _tmp4_ = NULL; + DataView* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = self->all; +#line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = view; +#line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = core_tracker_accumulator_include (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp6_) { +#line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = TRUE; +#line 1404 "Tracker.c" + } else { + gboolean _tmp7_ = FALSE; +#line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp7_ = fire_updated; +#line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = _tmp7_; +#line 1411 "Tracker.c" + } +#line 117 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp3_; +#line 1415 "Tracker.c" + } +#line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp9_ = self->visible; +#line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp9_ != NULL) { +#line 1421 "Tracker.c" + DataView* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp10_ = view; +#line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp11_ = data_view_is_visible (_tmp10_); +#line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = _tmp11_; +#line 1430 "Tracker.c" + } else { +#line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = FALSE; +#line 1434 "Tracker.c" + } +#line 119 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp8_) { +#line 1438 "Tracker.c" + gboolean _tmp12_ = FALSE; + CoreTrackerAccumulator* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp13_ = self->visible; +#line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp14_ = view; +#line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp15_ = core_tracker_accumulator_include (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp15_) { +#line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp12_ = TRUE; +#line 1453 "Tracker.c" + } else { + gboolean _tmp16_ = FALSE; +#line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp16_ = fire_updated; +#line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp12_ = _tmp16_; +#line 1460 "Tracker.c" + } +#line 120 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp12_; +#line 1464 "Tracker.c" + } +#line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp18_ = self->selected; +#line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp18_ != NULL) { +#line 1470 "Tracker.c" + DataView* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp19_ = view; +#line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp20_ = data_view_is_selected (_tmp19_); +#line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp17_ = _tmp20_; +#line 1479 "Tracker.c" + } else { +#line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp17_ = FALSE; +#line 1483 "Tracker.c" + } +#line 122 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp17_) { +#line 1487 "Tracker.c" + gboolean _tmp21_ = FALSE; + CoreTrackerAccumulator* _tmp22_ = NULL; + DataView* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp22_ = self->selected; +#line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp23_ = view; +#line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp24_ = core_tracker_accumulator_include (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_OBJECT, DataObject)); +#line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp24_) { +#line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp21_ = TRUE; +#line 1502 "Tracker.c" + } else { + gboolean _tmp25_ = FALSE; +#line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp25_ = fire_updated; +#line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp21_ = _tmp25_; +#line 1509 "Tracker.c" + } +#line 123 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp21_; +#line 1513 "Tracker.c" + } +#line 125 "/home/jens/Source/shotwell/src/core/Tracker.vala" + result = fire_updated; +#line 125 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (view); +#line 125 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return result; +#line 1521 "Tracker.c" +} + + +static gboolean core_view_tracker_mux_real_uninclude (CoreTrackerAccumulator* base, DataObject* object) { + CoreViewTrackerMux * self; + gboolean result = FALSE; + DataView* view = NULL; + DataObject* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + gboolean fire_updated = FALSE; + CoreTrackerAccumulator* _tmp2_ = NULL; + gboolean _tmp8_ = FALSE; + CoreTrackerAccumulator* _tmp9_ = NULL; + gboolean _tmp17_ = FALSE; + CoreTrackerAccumulator* _tmp18_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux); +#line 128 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 129 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = object; +#line 129 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 129 "/home/jens/Source/shotwell/src/core/Tracker.vala" + view = _tmp1_; +#line 131 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = FALSE; +#line 133 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = self->all; +#line 133 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp2_ != NULL) { +#line 1553 "Tracker.c" + gboolean _tmp3_ = FALSE; + CoreTrackerAccumulator* _tmp4_ = NULL; + DataView* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = self->all; +#line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = view; +#line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = core_tracker_accumulator_uninclude (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp6_) { +#line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = TRUE; +#line 1568 "Tracker.c" + } else { + gboolean _tmp7_ = FALSE; +#line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp7_ = fire_updated; +#line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = _tmp7_; +#line 1575 "Tracker.c" + } +#line 134 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp3_; +#line 1579 "Tracker.c" + } +#line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp9_ = self->visible; +#line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp9_ != NULL) { +#line 1585 "Tracker.c" + DataView* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp10_ = view; +#line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp11_ = data_view_is_visible (_tmp10_); +#line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = _tmp11_; +#line 1594 "Tracker.c" + } else { +#line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = FALSE; +#line 1598 "Tracker.c" + } +#line 136 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp8_) { +#line 1602 "Tracker.c" + gboolean _tmp12_ = FALSE; + CoreTrackerAccumulator* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp13_ = self->visible; +#line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp14_ = view; +#line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp15_ = core_tracker_accumulator_uninclude (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp15_) { +#line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp12_ = TRUE; +#line 1617 "Tracker.c" + } else { + gboolean _tmp16_ = FALSE; +#line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp16_ = fire_updated; +#line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp12_ = _tmp16_; +#line 1624 "Tracker.c" + } +#line 137 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp12_; +#line 1628 "Tracker.c" + } +#line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp18_ = self->selected; +#line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp18_ != NULL) { +#line 1634 "Tracker.c" + DataView* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp19_ = view; +#line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp20_ = data_view_is_selected (_tmp19_); +#line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp17_ = _tmp20_; +#line 1643 "Tracker.c" + } else { +#line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp17_ = FALSE; +#line 1647 "Tracker.c" + } +#line 139 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp17_) { +#line 1651 "Tracker.c" + gboolean _tmp21_ = FALSE; + CoreTrackerAccumulator* _tmp22_ = NULL; + DataView* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp22_ = self->selected; +#line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp23_ = view; +#line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp24_ = core_tracker_accumulator_uninclude (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_OBJECT, DataObject)); +#line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp24_) { +#line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp21_ = TRUE; +#line 1666 "Tracker.c" + } else { + gboolean _tmp25_ = FALSE; +#line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp25_ = fire_updated; +#line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp21_ = _tmp25_; +#line 1673 "Tracker.c" + } +#line 140 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp21_; +#line 1677 "Tracker.c" + } +#line 142 "/home/jens/Source/shotwell/src/core/Tracker.vala" + result = fire_updated; +#line 142 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (view); +#line 142 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return result; +#line 1685 "Tracker.c" +} + + +static gboolean core_view_tracker_mux_real_altered (CoreTrackerAccumulator* base, DataObject* object, Alteration* alteration) { + CoreViewTrackerMux * self; + gboolean result = FALSE; + DataView* view = NULL; + DataObject* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + gboolean fire_updated = FALSE; + CoreTrackerAccumulator* _tmp2_ = NULL; + gboolean _tmp9_ = FALSE; + CoreTrackerAccumulator* _tmp10_ = NULL; + gboolean _tmp19_ = FALSE; + CoreTrackerAccumulator* _tmp20_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux); +#line 145 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 145 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 146 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = object; +#line 146 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 146 "/home/jens/Source/shotwell/src/core/Tracker.vala" + view = _tmp1_; +#line 148 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = FALSE; +#line 150 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = self->all; +#line 150 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp2_ != NULL) { +#line 1719 "Tracker.c" + gboolean _tmp3_ = FALSE; + CoreTrackerAccumulator* _tmp4_ = NULL; + DataView* _tmp5_ = NULL; + Alteration* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = self->all; +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp5_ = view; +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = alteration; +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp7_ = core_tracker_accumulator_altered (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject), _tmp6_); +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp7_) { +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = TRUE; +#line 1737 "Tracker.c" + } else { + gboolean _tmp8_ = FALSE; +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = fire_updated; +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = _tmp8_; +#line 1744 "Tracker.c" + } +#line 151 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp3_; +#line 1748 "Tracker.c" + } +#line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp10_ = self->visible; +#line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp10_ != NULL) { +#line 1754 "Tracker.c" + DataView* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp11_ = view; +#line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp12_ = data_view_is_visible (_tmp11_); +#line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp9_ = _tmp12_; +#line 1763 "Tracker.c" + } else { +#line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp9_ = FALSE; +#line 1767 "Tracker.c" + } +#line 153 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp9_) { +#line 1771 "Tracker.c" + gboolean _tmp13_ = FALSE; + CoreTrackerAccumulator* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; + Alteration* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp14_ = self->visible; +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp15_ = view; +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp16_ = alteration; +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp17_ = core_tracker_accumulator_altered (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_OBJECT, DataObject), _tmp16_); +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp17_) { +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp13_ = TRUE; +#line 1789 "Tracker.c" + } else { + gboolean _tmp18_ = FALSE; +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp18_ = fire_updated; +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp13_ = _tmp18_; +#line 1796 "Tracker.c" + } +#line 154 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp13_; +#line 1800 "Tracker.c" + } +#line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp20_ = self->selected; +#line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp20_ != NULL) { +#line 1806 "Tracker.c" + DataView* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp21_ = view; +#line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp22_ = data_view_is_selected (_tmp21_); +#line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp19_ = _tmp22_; +#line 1815 "Tracker.c" + } else { +#line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp19_ = FALSE; +#line 1819 "Tracker.c" + } +#line 156 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp19_) { +#line 1823 "Tracker.c" + gboolean _tmp23_ = FALSE; + CoreTrackerAccumulator* _tmp24_ = NULL; + DataView* _tmp25_ = NULL; + Alteration* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp24_ = self->selected; +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp25_ = view; +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp26_ = alteration; +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp27_ = core_tracker_accumulator_altered (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject), _tmp26_); +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp27_) { +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp23_ = TRUE; +#line 1841 "Tracker.c" + } else { + gboolean _tmp28_ = FALSE; +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp28_ = fire_updated; +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp23_ = _tmp28_; +#line 1848 "Tracker.c" + } +#line 157 "/home/jens/Source/shotwell/src/core/Tracker.vala" + fire_updated = _tmp23_; +#line 1852 "Tracker.c" + } +#line 159 "/home/jens/Source/shotwell/src/core/Tracker.vala" + result = fire_updated; +#line 159 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (view); +#line 159 "/home/jens/Source/shotwell/src/core/Tracker.vala" + return result; +#line 1860 "Tracker.c" +} + + +static void core_view_tracker_mux_class_init (CoreViewTrackerMuxClass * klass) { +#line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_view_tracker_mux_parent_class = g_type_class_peek_parent (klass); +#line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" + G_OBJECT_CLASS (klass)->finalize = core_view_tracker_mux_finalize; +#line 1869 "Tracker.c" +} + + +static void core_view_tracker_mux_core_tracker_accumulator_interface_init (CoreTrackerAccumulatorIface * iface) { +#line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_view_tracker_mux_core_tracker_accumulator_parent_iface = g_type_interface_peek_parent (iface); +#line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" + iface->include = (gboolean (*)(CoreTrackerAccumulator*, DataObject*)) core_view_tracker_mux_real_include; +#line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" + iface->uninclude = (gboolean (*)(CoreTrackerAccumulator*, DataObject*)) core_view_tracker_mux_real_uninclude; +#line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" + iface->altered = (gboolean (*)(CoreTrackerAccumulator*, DataObject*, Alteration*)) core_view_tracker_mux_real_altered; +#line 1882 "Tracker.c" +} + + +static void core_view_tracker_mux_instance_init (CoreViewTrackerMux * self) { +} + + +static void core_view_tracker_mux_finalize (GObject* obj) { + CoreViewTrackerMux * self; +#line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, CORE_VIEW_TRACKER_TYPE_MUX, CoreViewTrackerMux); +#line 101 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->all); +#line 102 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->visible); +#line 103 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->selected); +#line 100 "/home/jens/Source/shotwell/src/core/Tracker.vala" + G_OBJECT_CLASS (core_view_tracker_mux_parent_class)->finalize (obj); +#line 1902 "Tracker.c" +} + + +static GType core_view_tracker_mux_get_type (void) { + static volatile gsize core_view_tracker_mux_type_id__volatile = 0; + if (g_once_init_enter (&core_view_tracker_mux_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CoreViewTrackerMuxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) core_view_tracker_mux_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CoreViewTrackerMux), 0, (GInstanceInitFunc) core_view_tracker_mux_instance_init, NULL }; + static const GInterfaceInfo core_tracker_accumulator_info = { (GInterfaceInitFunc) core_view_tracker_mux_core_tracker_accumulator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType core_view_tracker_mux_type_id; + core_view_tracker_mux_type_id = g_type_register_static (G_TYPE_OBJECT, "CoreViewTrackerMux", &g_define_type_info, 0); + g_type_add_interface_static (core_view_tracker_mux_type_id, CORE_TYPE_TRACKER_ACCUMULATOR, &core_tracker_accumulator_info); + g_once_init_leave (&core_view_tracker_mux_type_id__volatile, core_view_tracker_mux_type_id); + } + return core_view_tracker_mux_type_id__volatile; +} + + +static void core_view_tracker_class_init (CoreViewTrackerClass * klass) { +#line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" + core_view_tracker_parent_class = g_type_class_peek_parent (klass); +#line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" + ((CoreTrackerClass *) klass)->finalize = core_view_tracker_finalize; +#line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_type_class_add_private (klass, sizeof (CoreViewTrackerPrivate)); +#line 1927 "Tracker.c" +} + + +static void core_view_tracker_instance_init (CoreViewTracker * self) { +#line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv = CORE_VIEW_TRACKER_GET_PRIVATE (self); +#line 163 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self->priv->mux = NULL; +#line 1936 "Tracker.c" +} + + +static void core_view_tracker_finalize (CoreTracker* obj) { + CoreViewTracker * self; + CoreViewTrackerMux* _tmp0_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, CORE_TYPE_VIEW_TRACKER, CoreViewTracker); +#line 170 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp0_ = self->priv->mux; +#line 170 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp0_ != NULL) { +#line 1949 "Tracker.c" + ViewCollection* collection = NULL; + DataCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + guint _tmp5_ = 0U; + ViewCollection* _tmp6_ = NULL; + guint _tmp7_ = 0U; + ViewCollection* _tmp8_ = NULL; + guint _tmp9_ = 0U; + ViewCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp1_ = core_tracker_get_collection (G_TYPE_CHECK_INSTANCE_CAST (self, CORE_TYPE_TRACKER, CoreTracker)); +#line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIEW_COLLECTION) ? ((ViewCollection*) _tmp1_) : NULL; +#line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" + if (_tmp2_ == NULL) { +#line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _data_collection_unref0 (_tmp1_); +#line 1970 "Tracker.c" + } +#line 171 "/home/jens/Source/shotwell/src/core/Tracker.vala" + collection = _tmp2_; +#line 172 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp3_ = collection; +#line 172 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _vala_assert (_tmp3_ != NULL, "collection != null"); +#line 173 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp4_ = collection; +#line 173 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_parse_name ("items-shown", TYPE_VIEW_COLLECTION, &_tmp5_, NULL, FALSE); +#line 173 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _core_view_tracker_on_items_shown_view_collection_items_shown, self); +#line 174 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp6_ = collection; +#line 174 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_parse_name ("items-hidden", TYPE_VIEW_COLLECTION, &_tmp7_, NULL, FALSE); +#line 174 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _core_view_tracker_on_items_hidden_view_collection_items_hidden, self); +#line 175 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp8_ = collection; +#line 175 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_parse_name ("items-selected", TYPE_VIEW_COLLECTION, &_tmp9_, NULL, FALSE); +#line 175 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _core_view_tracker_on_items_selected_view_collection_items_selected, self); +#line 176 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _tmp10_ = collection; +#line 176 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_parse_name ("items-unselected", TYPE_VIEW_COLLECTION, &_tmp11_, NULL, FALSE); +#line 176 "/home/jens/Source/shotwell/src/core/Tracker.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _core_view_tracker_on_items_unselected_view_collection_items_unselected, self); +#line 170 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _data_collection_unref0 (collection); +#line 2004 "Tracker.c" + } +#line 163 "/home/jens/Source/shotwell/src/core/Tracker.vala" + _g_object_unref0 (self->priv->mux); +#line 99 "/home/jens/Source/shotwell/src/core/Tracker.vala" + CORE_TRACKER_CLASS (core_view_tracker_parent_class)->finalize (obj); +#line 2010 "Tracker.c" +} + + +GType core_view_tracker_get_type (void) { + static volatile gsize core_view_tracker_type_id__volatile = 0; + if (g_once_init_enter (&core_view_tracker_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CoreViewTrackerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) core_view_tracker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CoreViewTracker), 0, (GInstanceInitFunc) core_view_tracker_instance_init, NULL }; + GType core_view_tracker_type_id; + core_view_tracker_type_id = g_type_register_static (CORE_TYPE_TRACKER, "CoreViewTracker", &g_define_type_info, 0); + g_once_init_leave (&core_view_tracker_type_id__volatile, core_view_tracker_type_id); + } + return core_view_tracker_type_id__volatile; +} + + + diff --git a/src/core/ViewCollection.c b/src/core/ViewCollection.c new file mode 100644 index 0000000..597091c --- /dev/null +++ b/src/core/ViewCollection.c @@ -0,0 +1,9140 @@ +/* ViewCollection.c generated by valac 0.32.1, the Vala compiler + * generated from ViewCollection.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* A ViewCollection holds DataView objects, which are view instances wrapping DataSource objects.*/ +/* Thus, multiple views can exist of a single SourceCollection, each view displaying all or some*/ +/* of that SourceCollection. A view collection also has a notion of order*/ +/* (first/last/next/previous) that can be overridden by child classes. It also understands hidden*/ +/* objects, which are withheld entirely from the collection until they're made visible. Currently*/ +/* the only way to hide objects is with a ViewFilter.*/ +/**/ +/* A ViewCollection may also be locked. When locked, it will not (a) remove hidden items from the*/ +/* collection and (b) remove DataViews representing unlinked DataSources. This allows for the*/ +/* ViewCollection to be "frozen" while manipulating items within it. When the collection is*/ +/* unlocked, all changes are applied at once.*/ +/**/ +/* The default implementation provides a browser which orders the view in the order they're*/ +/* stored in DataCollection, which is not specified.*/ + +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _ViewCollectionPrivate ViewCollectionPrivate; + +#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_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; + +#define VIEW_COLLECTION_TYPE_MONITOR_IMPL (view_collection_monitor_impl_get_type ()) +#define VIEW_COLLECTION_MONITOR_IMPL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR_IMPL, ViewCollectionMonitorImpl)) +#define VIEW_COLLECTION_MONITOR_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR_IMPL, ViewCollectionMonitorImplClass)) +#define VIEW_COLLECTION_IS_MONITOR_IMPL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR_IMPL)) +#define VIEW_COLLECTION_IS_MONITOR_IMPL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR_IMPL)) +#define VIEW_COLLECTION_MONITOR_IMPL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR_IMPL, ViewCollectionMonitorImplClass)) + +typedef struct _ViewCollectionMonitorImpl ViewCollectionMonitorImpl; +typedef struct _ViewCollectionMonitorImplClass ViewCollectionMonitorImplClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_DATA_SET (data_set_get_type ()) +#define DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SET, DataSet)) +#define DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SET, DataSetClass)) +#define IS_DATA_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SET)) +#define IS_DATA_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SET)) +#define DATA_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SET, DataSetClass)) + +typedef struct _DataSet DataSet; +typedef struct _DataSetClass DataSetClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _data_set_unref0(var) ((var == NULL) ? NULL : (var = (data_set_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +typedef struct _ViewCollectionMonitorPrivate ViewCollectionMonitorPrivate; +typedef struct _ViewCollectionMonitorImplPrivate ViewCollectionMonitorImplPrivate; +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_RATING (rating_get_type ()) + +#define VIEW_COLLECTION_TYPE_TOGGLE_LISTS (view_collection_toggle_lists_get_type ()) +#define VIEW_COLLECTION_TOGGLE_LISTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_TOGGLE_LISTS, ViewCollectionToggleLists)) +#define VIEW_COLLECTION_TOGGLE_LISTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_TOGGLE_LISTS, ViewCollectionToggleListsClass)) +#define VIEW_COLLECTION_IS_TOGGLE_LISTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_TOGGLE_LISTS)) +#define VIEW_COLLECTION_IS_TOGGLE_LISTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_TOGGLE_LISTS)) +#define VIEW_COLLECTION_TOGGLE_LISTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_TOGGLE_LISTS, ViewCollectionToggleListsClass)) + +typedef struct _ViewCollectionToggleLists ViewCollectionToggleLists; +typedef struct _ViewCollectionToggleListsClass ViewCollectionToggleListsClass; +typedef struct _ViewCollectionToggleListsPrivate ViewCollectionToggleListsPrivate; +typedef struct _ViewCollectionParamSpecMonitor ViewCollectionParamSpecMonitor; +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) +typedef struct _ViewManagerPrivate ViewManagerPrivate; +typedef struct _ParamSpecViewManager ParamSpecViewManager; +typedef struct _ViewFilterPrivate ViewFilterPrivate; +typedef struct _ParamSpecViewFilter ParamSpecViewFilter; +#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); + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _ViewCollection { + DataCollection parent_instance; + ViewCollectionPrivate * priv; +}; + +struct _ViewCollectionClass { + DataCollectionClass parent_class; + void (*notify_items_selected_unselected) (ViewCollection* self, GeeCollection* selected, GeeCollection* unselected); + void (*notify_selection_group_altered) (ViewCollection* self); + void (*notify_item_view_altered) (ViewCollection* self, DataView* view); + void (*notify_views_altered) (ViewCollection* self, GeeCollection* views); + void (*notify_item_geometry_altered) (ViewCollection* self, DataView* view); + void (*notify_geometries_altered) (ViewCollection* self, GeeCollection* views); + void (*notify_items_shown) (ViewCollection* self, GeeCollection* shown); + void (*notify_items_hidden) (ViewCollection* self, GeeCollection* hidden); + void (*notify_items_visibility_changed) (ViewCollection* self, GeeCollection* changed); + void (*notify_view_filter_installed) (ViewCollection* self, ViewFilter* filter); + void (*notify_view_filter_removed) (ViewCollection* self, ViewFilter* filter); + DataView* (*get_first) (ViewCollection* self); + DataView* (*get_first_unrejected) (ViewCollection* self); + DataView* (*get_last) (ViewCollection* self); + DataView* (*get_next) (ViewCollection* self, DataView* view); + DataView* (*get_previous) (ViewCollection* self, DataView* view); + void (*items_selected) (ViewCollection* self, GeeIterable* selected); + void (*items_unselected) (ViewCollection* self, GeeIterable* unselected); + void (*items_state_changed) (ViewCollection* self, GeeIterable* changed); + void (*selection_group_altered) (ViewCollection* self); + void (*items_shown) (ViewCollection* self, GeeCollection* visible); + void (*items_hidden) (ViewCollection* self, GeeCollection* hidden); + void (*items_visibility_changed) (ViewCollection* self, GeeCollection* changed); + void (*item_view_altered) (ViewCollection* self, DataView* view); + void (*item_geometry_altered) (ViewCollection* self, DataView* view); + void (*views_altered) (ViewCollection* self, GeeCollection* views); + void (*geometries_altered) (ViewCollection* self, GeeCollection* views); + void (*view_filter_installed) (ViewCollection* self, ViewFilter* filer); + void (*view_filter_removed) (ViewCollection* self, ViewFilter* filer); +}; + +typedef DataView* (*CreateView) (DataSource* source, void* user_data); +typedef gboolean (*CreateViewPredicate) (DataSource* source, void* user_data); +struct _ViewCollectionPrivate { + GeeHashMultiMap* monitors; + ViewCollection* mirroring; + CreateView mirroring_ctor; + gpointer mirroring_ctor_target; + CreateViewPredicate should_mirror; + gpointer should_mirror_target; + GeeSet* filters; + DataSet* selected; + DataSet* visible; + GeeHashSet* frozen_views_altered; + GeeHashSet* frozen_geometries_altered; + GeeHashMap* source_map; +}; + +struct _ViewCollectionMonitor { + GTypeInstance parent_instance; + volatile int ref_count; + ViewCollectionMonitorPrivate * priv; +}; + +struct _ViewCollectionMonitorClass { + GTypeClass parent_class; + void (*finalize) (ViewCollectionMonitor *self); +}; + +struct _ViewCollectionMonitorImpl { + ViewCollectionMonitor parent_instance; + ViewCollectionMonitorImplPrivate * priv; + ViewCollection* owner; + SourceCollection* sources; + ViewManager* manager; + Alteration* prereq; +}; + +struct _ViewCollectionMonitorImplClass { + ViewCollectionMonitorClass 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; + +typedef gboolean (*MarkedAction) (DataObject* object, GObject* user, void* user_data); +struct _ViewCollectionToggleLists { + GObject parent_instance; + ViewCollectionToggleListsPrivate * priv; + GeeArrayList* selected; + GeeArrayList* unselected; +}; + +struct _ViewCollectionToggleListsClass { + GObjectClass parent_class; +}; + +struct _ViewCollectionParamSpecMonitor { + GParamSpec parent_instance; +}; + +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _ParamSpecViewManager { + GParamSpec parent_instance; +}; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _ParamSpecViewFilter { + GParamSpec parent_instance; +}; + + +static gpointer view_collection_parent_class = NULL; +static gpointer view_collection_monitor_parent_class = NULL; +static gpointer view_collection_monitor_impl_parent_class = NULL; +static gpointer view_collection_toggle_lists_parent_class = NULL; +static gpointer view_manager_parent_class = NULL; +static gpointer view_filter_parent_class = NULL; + +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 data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +static GType view_collection_monitor_impl_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType data_source_get_type (void) G_GNUC_CONST; +gpointer data_set_ref (gpointer instance); +void data_set_unref (gpointer instance); +GParamSpec* param_spec_data_set (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_set (GValue* value, gpointer v_object); +void value_take_data_set (GValue* value, gpointer v_object); +gpointer value_get_data_set (const GValue* value); +GType data_set_get_type (void) G_GNUC_CONST; +#define VIEW_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_VIEW_COLLECTION, ViewCollectionPrivate)) +enum { + VIEW_COLLECTION_DUMMY_PROPERTY +}; +DataSet* data_set_new (void); +DataSet* data_set_construct (GType object_type); +ViewCollection* view_collection_new (const gchar* name); +ViewCollection* view_collection_construct (GType object_type, const gchar* name); +DataCollection* data_collection_new (const gchar* name); +DataCollection* data_collection_construct (GType object_type, const gchar* name); +void view_collection_notify_items_selected_unselected (ViewCollection* self, GeeCollection* selected, GeeCollection* unselected); +static void view_collection_real_notify_items_selected_unselected (ViewCollection* self, GeeCollection* selected, GeeCollection* unselected); +void view_collection_notify_selection_group_altered (ViewCollection* self); +static void view_collection_real_notify_selection_group_altered (ViewCollection* self); +void view_collection_notify_item_view_altered (ViewCollection* self, DataView* view); +static void view_collection_real_notify_item_view_altered (ViewCollection* self, DataView* view); +void view_collection_notify_views_altered (ViewCollection* self, GeeCollection* views); +static void view_collection_real_notify_views_altered (ViewCollection* self, GeeCollection* views); +void view_collection_notify_item_geometry_altered (ViewCollection* self, DataView* view); +static void view_collection_real_notify_item_geometry_altered (ViewCollection* self, DataView* view); +void view_collection_notify_geometries_altered (ViewCollection* self, GeeCollection* views); +static void view_collection_real_notify_geometries_altered (ViewCollection* self, GeeCollection* views); +void view_collection_notify_items_shown (ViewCollection* self, GeeCollection* shown); +static void view_collection_real_notify_items_shown (ViewCollection* self, GeeCollection* shown); +void view_collection_notify_items_hidden (ViewCollection* self, GeeCollection* hidden); +static void view_collection_real_notify_items_hidden (ViewCollection* self, GeeCollection* hidden); +void view_collection_notify_items_visibility_changed (ViewCollection* self, GeeCollection* changed); +static void view_collection_real_notify_items_visibility_changed (ViewCollection* self, GeeCollection* changed); +void view_collection_notify_view_filter_installed (ViewCollection* self, ViewFilter* filter); +static void view_collection_real_notify_view_filter_installed (ViewCollection* self, ViewFilter* filter); +void view_collection_notify_view_filter_removed (ViewCollection* self, ViewFilter* filter); +static void view_collection_real_notify_view_filter_removed (ViewCollection* self, ViewFilter* filter); +static void view_collection_real_clear (DataCollection* base); +gchar* data_collection_to_string (DataCollection* self); +void data_collection_clear (DataCollection* self); +static void view_collection_real_close (DataCollection* base); +void view_collection_halt_all_monitoring (ViewCollection* self); +void view_collection_halt_mirroring (ViewCollection* self); +static void view_collection_on_view_filter_refresh (ViewCollection* self); +static void _view_collection_on_view_filter_refresh_view_filter_refresh (ViewFilter* _sender, gpointer self); +void data_collection_close (DataCollection* self); +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +void data_collection_freeze_notifications (DataCollection* self); +static ViewCollectionMonitorImpl* view_collection_monitor_impl_new (ViewCollection* owner, SourceCollection* sources, ViewManager* manager, Alteration* prereq); +static ViewCollectionMonitorImpl* view_collection_monitor_impl_construct (GType object_type, ViewCollection* owner, SourceCollection* sources, ViewManager* manager, Alteration* prereq); +DataView* view_manager_create_view (ViewManager* self, DataSource* source); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +static void view_collection_add_sources (ViewCollection* self, SourceCollection* sources, GeeIterable* added, ProgressMonitor progress_monitor, void* progress_monitor_target); +GeeCollection* data_collection_get_all (DataCollection* self); +void data_collection_thaw_notifications (DataCollection* self); +void view_collection_halt_monitoring (ViewCollection* self, ViewCollectionMonitor* m); +void view_collection_mirror (ViewCollection* self, ViewCollection* to_mirror, CreateView mirroring_ctor, void* mirroring_ctor_target, CreateViewPredicate should_mirror, void* should_mirror_target); +void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +Comparator data_collection_get_comparator (DataCollection* self, void** result_target); +ComparatorPredicate data_collection_get_comparator_predicate (DataCollection* self, void** result_target); +static void view_collection_on_mirror_contents_added (ViewCollection* self, GeeIterable* added); +static void _view_collection_on_mirror_contents_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self); +static void view_collection_on_mirror_contents_removed (ViewCollection* self, GeeIterable* removed); +static void _view_collection_on_mirror_contents_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self); +void view_collection_copy_into (ViewCollection* self, ViewCollection* to_copy, CreateView copying_ctor, void* copying_ctor_target, CreateViewPredicate should_copy, void* should_copy_target); +DataSource* data_view_get_source (DataView* self); +gboolean view_collection_is_view_filter_installed (ViewCollection* self, ViewFilter* f); +void view_collection_install_view_filter (ViewCollection* self, ViewFilter* f); +void view_collection_remove_view_filter (ViewCollection* self, ViewFilter* f); +static void view_collection_filter_altered_items (ViewCollection* self, GeeCollection* views); +static gboolean view_collection_is_in_filter (ViewCollection* self, DataView* view); +gboolean view_filter_predicate (ViewFilter* self, DataView* view); +static gboolean view_collection_real_valid_type (DataCollection* base, DataObject* object); +static void view_collection_on_sources_added (ViewCollection* self, DataCollection* sources, GeeIterable* added); +gboolean view_manager_include_in_view (ViewManager* self, DataSource* source); +static DataView* _view_manager_create_view_create_view (DataSource* source, gpointer self); +gboolean data_collection_add (DataCollection* self, DataObject* object); +static gboolean view_collection_real_add (DataCollection* base, DataObject* object); +void data_view_internal_set_visible (DataView* self, gboolean visible); +GeeCollection* data_collection_get_singleton (DataObject* object); +static GeeCollection* view_collection_real_add_many (DataCollection* base, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +static void view_collection_on_sources_removed (ViewCollection* self, GeeIterable* removed); +Marker* data_collection_start_marking (DataCollection* self); +void marker_mark (Marker* self, DataObject* object); +gint marker_get_count (Marker* self); +void data_collection_remove_marked (DataCollection* self, Marker* m); +static void view_collection_on_sources_altered (ViewCollection* self, DataCollection* collection, GeeMap* items); +gboolean alteration_contains_any (Alteration* self, Alteration* other); +gboolean view_collection_has_view_for_source (ViewCollection* self, DataSource* source); +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +gboolean data_set_contains (DataSet* self, DataObject* object); +gboolean data_set_resort_object (DataSet* self, DataObject* object, Alteration* alteration); +static gboolean view_collection_is_visible (ViewCollection* self, DataView* view); +Marker* data_collection_mark_many (DataCollection* self, GeeCollection* objects); +void data_collection_notify_ordering_changed (DataCollection* self); +static void view_collection_real_notify_items_added (DataCollection* base, GeeIterable* added); +gboolean data_view_is_selected (DataView* self); +gboolean data_view_is_visible (DataView* self); +static gboolean view_collection_add_many_visible (ViewCollection* self, GeeCollection* many); +static void view_collection_add_many_selected (ViewCollection* self, GeeCollection* views); +void data_collection_notify_items_added (DataCollection* self, GeeIterable* added); +static void view_collection_real_notify_items_removed (DataCollection* base, GeeIterable* removed); +gboolean data_set_remove (DataSet* self, DataObject* object); +static void view_collection_remove_many_selected (ViewCollection* self, GeeCollection* views); +void data_collection_notify_items_removed (DataCollection* self, GeeIterable* removed); +static void view_collection_show_items (ViewCollection* self, GeeList* to_show); +static void view_collection_hide_items (ViewCollection* self, GeeList* to_hide); +static void view_collection_real_items_altered (DataCollection* base, GeeMap* map); +static void view_collection_real_set_comparator (DataCollection* base, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +void data_set_set_comparator (DataSet* self, Comparator user_comparator, void* user_comparator_target, ComparatorPredicate comparator_predicate, void* comparator_predicate_target); +static void view_collection_real_reset_comparator (DataCollection* base); +void data_set_reset_comparator (DataSet* self); +void data_collection_reset_comparator (DataCollection* self); +static GeeCollection* view_collection_real_get_all (DataCollection* base); +GeeList* data_set_get_all (DataSet* self); +GeeCollection* view_collection_get_all_unfiltered (ViewCollection* self); +static gint view_collection_real_get_count (DataCollection* base); +gint data_set_get_count (DataSet* self); +gint data_collection_get_count (DataCollection* self); +gint view_collection_get_unfiltered_count (ViewCollection* self); +static DataObject* view_collection_real_get_at (DataCollection* base, gint index); +DataObject* data_set_get_at (DataSet* self, gint index); +DataObject* data_collection_get_at (DataCollection* self, gint index); +static gint view_collection_real_index_of (DataCollection* base, DataObject* object); +gint data_set_index_of (DataSet* self, DataObject* object); +gint data_collection_index_of (DataCollection* self, DataObject* object); +static gboolean view_collection_real_contains (DataCollection* base, DataObject* object); +gboolean data_collection_contains (DataCollection* self, DataObject* object); +DataView* view_collection_get_first (ViewCollection* self); +static DataView* view_collection_real_get_first (ViewCollection* self); +DataView* view_collection_get_first_unrejected (ViewCollection* self); +static DataView* view_collection_real_get_first_unrejected (ViewCollection* self); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +Rating media_source_get_rating (MediaSource* self); +DataView* view_collection_get_next (ViewCollection* self, DataView* view); +DataView* view_collection_get_last (ViewCollection* self); +static DataView* view_collection_real_get_last (ViewCollection* self); +static DataView* view_collection_real_get_next (ViewCollection* self, DataView* view); +DataView* view_collection_get_previous (ViewCollection* self, DataView* view); +static DataView* view_collection_real_get_previous (ViewCollection* self, DataView* view); +gboolean view_collection_get_immediate_neighbors (ViewCollection* self, DataSource* home, DataSource** next, DataSource** prev, const gchar* type_selector); +gchar* data_source_get_typename (DataSource* self); +GeeSet* view_collection_get_extended_neighbors (ViewCollection* self, DataSource* home, const gchar* typename); +gboolean data_set_add_many (DataSet* self, GeeCollection* objects); +gboolean data_set_remove_many (DataSet* self, GeeCollection* objects); +void view_collection_select_marked (ViewCollection* self, Marker* marker); +void data_collection_act_on_marked (DataCollection* self, Marker* m, MarkedAction action, void* action_target, ProgressMonitor monitor, void* monitor_target, GObject* user); +static gboolean view_collection_select_item (ViewCollection* self, DataObject* object, GObject* user); +static gboolean _view_collection_select_item_marked_action (DataObject* object, GObject* user, gpointer self); +void view_collection_select_all (ViewCollection* self); +void marker_mark_all (Marker* self); +void data_view_internal_set_selected (DataView* self, gboolean selected); +void view_collection_unselect_marked (ViewCollection* self, Marker* marker); +static gboolean view_collection_unselect_item (ViewCollection* self, DataObject* object, GObject* user); +static gboolean _view_collection_unselect_item_marked_action (DataObject* object, GObject* user, gpointer self); +void view_collection_unselect_all (ViewCollection* self); +void marker_mark_many (Marker* self, GeeCollection* list); +GeeList* view_collection_get_selected (ViewCollection* self); +void view_collection_unselect_all_but (ViewCollection* self, DataView* exception); +void view_collection_unselect_and_select_marked (ViewCollection* self, Marker* unselect, Marker* select); +void view_collection_toggle_marked (ViewCollection* self, Marker* marker); +static GType view_collection_toggle_lists_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static ViewCollectionToggleLists* view_collection_toggle_lists_new (void); +static ViewCollectionToggleLists* view_collection_toggle_lists_construct (GType object_type); +static gboolean view_collection_toggle_item (ViewCollection* self, DataObject* object, GObject* user); +static gboolean _view_collection_toggle_item_marked_action (DataObject* object, GObject* user, gpointer self); +gboolean data_view_internal_toggle (DataView* self); +gint view_collection_get_selected_count (ViewCollection* self); +DataView* view_collection_get_selected_at (ViewCollection* self, gint index); +DataSet* data_collection_get_dataset_copy (DataCollection* self); +gboolean view_collection_has_view_for_source_with_filtered (ViewCollection* self, DataSource* source); +DataView* view_collection_get_view_for_source_filtered (ViewCollection* self, DataSource* source); +GeeCollection* view_collection_get_sources (ViewCollection* self); +gboolean view_collection_has_source_of_type (ViewCollection* self, GType t); +gint view_collection_get_sources_of_type_count (ViewCollection* self, GType t); +GeeList* view_collection_get_sources_of_type (ViewCollection* self, GType t); +GeeList* view_collection_get_selected_sources (ViewCollection* self); +DataSource* view_collection_get_selected_source_at (ViewCollection* self, gint index); +GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t); +gint view_collection_index_of_source (ViewCollection* self, DataSource* source); +void view_collection_internal_notify_view_altered (ViewCollection* self, DataView* view); +gboolean data_collection_are_notifications_frozen (DataCollection* self); +void view_collection_internal_notify_geometry_altered (ViewCollection* self, DataView* view); +static void view_collection_real_notify_thawed (DataCollection* base); +void data_collection_notify_thawed (DataCollection* self); +gboolean view_collection_are_items_filtered_out (ViewCollection* self); +static void view_collection_real_items_selected (ViewCollection* self, GeeIterable* selected); +static void view_collection_real_items_unselected (ViewCollection* self, GeeIterable* unselected); +static void view_collection_real_items_state_changed (ViewCollection* self, GeeIterable* changed); +static void view_collection_real_selection_group_altered (ViewCollection* self); +static void view_collection_real_items_shown (ViewCollection* self, GeeCollection* visible); +static void view_collection_real_items_hidden (ViewCollection* self, GeeCollection* hidden); +static void view_collection_real_items_visibility_changed (ViewCollection* self, GeeCollection* changed); +static void view_collection_real_item_view_altered (ViewCollection* self, DataView* view); +static void view_collection_real_item_geometry_altered (ViewCollection* self, DataView* view); +static void view_collection_real_views_altered (ViewCollection* self, GeeCollection* views); +static void view_collection_real_geometries_altered (ViewCollection* self, GeeCollection* views); +static void view_collection_real_view_filter_installed (ViewCollection* self, ViewFilter* filer); +static void g_cclosure_user_marshal_VOID__VIEW_FILTER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void view_collection_real_view_filter_removed (ViewCollection* self, ViewFilter* filer); +enum { + VIEW_COLLECTION_MONITOR_DUMMY_PROPERTY +}; +ViewCollectionMonitor* view_collection_monitor_new (void); +ViewCollectionMonitor* view_collection_monitor_construct (GType object_type); +static void view_collection_monitor_finalize (ViewCollectionMonitor* obj); +enum { + VIEW_COLLECTION_MONITOR_IMPL_DUMMY_PROPERTY +}; +static void _view_collection_on_sources_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self); +static void _view_collection_on_sources_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self); +static void _view_collection_on_sources_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static void view_collection_monitor_impl_finalize (ViewCollectionMonitor* obj); +enum { + VIEW_COLLECTION_TOGGLE_LISTS_DUMMY_PROPERTY +}; +static void view_collection_toggle_lists_finalize (GObject* obj); +static void view_collection_finalize (DataCollection* obj); +enum { + VIEW_MANAGER_DUMMY_PROPERTY +}; +static gboolean view_manager_real_include_in_view (ViewManager* self, DataSource* source); +static DataView* view_manager_real_create_view (ViewManager* self, DataSource* source); +ViewManager* view_manager_construct (GType object_type); +static void view_manager_finalize (ViewManager* obj); +enum { + VIEW_FILTER_DUMMY_PROPERTY +}; +static gboolean view_filter_real_predicate (ViewFilter* self, DataView* view); +ViewFilter* view_filter_construct (GType object_type); +static void view_filter_real_refresh (ViewFilter* self); +static void view_filter_finalize (ViewFilter* obj); + + +ViewCollection* view_collection_construct (GType object_type, const gchar* name) { + ViewCollection* self = NULL; + const gchar* _tmp0_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 126 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = name; +#line 126 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = (ViewCollection*) data_collection_construct (object_type, _tmp0_); +#line 125 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self; +#line 711 "ViewCollection.c" +} + + +ViewCollection* view_collection_new (const gchar* name) { +#line 125 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return view_collection_construct (TYPE_VIEW_COLLECTION, name); +#line 718 "ViewCollection.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self ? g_object_ref (self) : NULL; +#line 725 "ViewCollection.c" +} + + +static void view_collection_real_notify_items_selected_unselected (ViewCollection* self, GeeCollection* selected, GeeCollection* unselected) { + gboolean _tmp0_ = FALSE; + GeeCollection* _tmp1_ = NULL; + gboolean has_selected = FALSE; + gboolean _tmp5_ = FALSE; + GeeCollection* _tmp6_ = NULL; + gboolean has_unselected = FALSE; + gboolean _tmp10_ = FALSE; + gboolean _tmp12_ = FALSE; + GeeCollection* sum = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + GeeCollection* _tmp32_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail ((selected == NULL) || GEE_IS_COLLECTION (selected)); +#line 129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail ((unselected == NULL) || GEE_IS_COLLECTION (unselected)); +#line 131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = selected; +#line 131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ != NULL) { +#line 750 "ViewCollection.c" + GeeCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = selected; +#line 131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_collection_get_size (_tmp2_); +#line 131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _tmp3_; +#line 131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp4_ > 0; +#line 762 "ViewCollection.c" + } else { +#line 131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = FALSE; +#line 766 "ViewCollection.c" + } +#line 131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + has_selected = _tmp0_; +#line 132 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = unselected; +#line 132 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp6_ != NULL) { +#line 774 "ViewCollection.c" + GeeCollection* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 132 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = unselected; +#line 132 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = gee_collection_get_size (_tmp7_); +#line 132 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = _tmp8_; +#line 132 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp9_ > 0; +#line 786 "ViewCollection.c" + } else { +#line 132 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = FALSE; +#line 790 "ViewCollection.c" + } +#line 132 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + has_unselected = _tmp5_; +#line 134 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = has_selected; +#line 134 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp10_) { +#line 798 "ViewCollection.c" + GeeCollection* _tmp11_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = selected; +#line 135 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "items-selected", G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 804 "ViewCollection.c" + } +#line 137 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = has_unselected; +#line 137 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp12_) { +#line 810 "ViewCollection.c" + GeeCollection* _tmp13_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = unselected; +#line 138 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "items-unselected", G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 816 "ViewCollection.c" + } +#line 141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = has_selected; +#line 141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp15_) { +#line 822 "ViewCollection.c" + gboolean _tmp16_ = FALSE; +#line 141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = has_unselected; +#line 141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = !_tmp16_; +#line 828 "ViewCollection.c" + } else { +#line 141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = FALSE; +#line 832 "ViewCollection.c" + } +#line 141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp14_) { +#line 836 "ViewCollection.c" + GeeCollection* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = selected; +#line 142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (sum); +#line 142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sum = _tmp18_; +#line 847 "ViewCollection.c" + } else { + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; +#line 143 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = has_selected; +#line 143 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp20_) { +#line 855 "ViewCollection.c" + gboolean _tmp21_ = FALSE; +#line 143 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = has_unselected; +#line 143 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = _tmp21_; +#line 861 "ViewCollection.c" + } else { +#line 143 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = FALSE; +#line 865 "ViewCollection.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp19_) { +#line 869 "ViewCollection.c" + GeeCollection* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = unselected; +#line 144 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = _g_object_ref0 (_tmp22_); +#line 144 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (sum); +#line 144 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sum = _tmp23_; +#line 880 "ViewCollection.c" + } else { + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; +#line 145 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = has_selected; +#line 145 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp25_) { +#line 888 "ViewCollection.c" + gboolean _tmp26_ = FALSE; +#line 145 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = has_unselected; +#line 145 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = !_tmp26_; +#line 894 "ViewCollection.c" + } else { +#line 145 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = FALSE; +#line 898 "ViewCollection.c" + } +#line 145 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp24_) { +#line 146 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (sum); +#line 146 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sum = NULL; +#line 906 "ViewCollection.c" + } else { + GeeHashSet* _tmp27_ = NULL; + GeeCollection* _tmp28_ = NULL; + GeeCollection* _tmp29_ = NULL; + GeeCollection* _tmp30_ = NULL; + GeeCollection* _tmp31_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = gee_hash_set_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 148 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (sum); +#line 148 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sum = G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection); +#line 149 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = sum; +#line 149 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = selected; +#line 149 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add_all (_tmp28_, _tmp29_); +#line 150 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp30_ = sum; +#line 150 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp31_ = unselected; +#line 150 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add_all (_tmp30_, _tmp31_); +#line 931 "ViewCollection.c" + } + } + } +#line 153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32_ = sum; +#line 153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp32_ != NULL) { +#line 939 "ViewCollection.c" + GeeCollection* _tmp33_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp33_ = sum; +#line 154 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "items-state-changed", G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 155 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_selection_group_altered (self); +#line 947 "ViewCollection.c" + } +#line 129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (sum); +#line 951 "ViewCollection.c" +} + + +void view_collection_notify_items_selected_unselected (ViewCollection* self, GeeCollection* selected, GeeCollection* unselected) { +#line 129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_items_selected_unselected (self, selected, unselected); +#line 960 "ViewCollection.c" +} + + +static void view_collection_real_notify_selection_group_altered (ViewCollection* self) { +#line 160 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "selection-group-altered"); +#line 967 "ViewCollection.c" +} + + +void view_collection_notify_selection_group_altered (ViewCollection* self) { +#line 159 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 159 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_selection_group_altered (self); +#line 976 "ViewCollection.c" +} + + +static void view_collection_real_notify_item_view_altered (ViewCollection* self, DataView* view) { + DataView* _tmp0_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 164 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = view; +#line 164 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "item-view-altered", _tmp0_); +#line 988 "ViewCollection.c" +} + + +void view_collection_notify_item_view_altered (ViewCollection* self, DataView* view) { +#line 163 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 163 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_item_view_altered (self, view); +#line 997 "ViewCollection.c" +} + + +static void view_collection_real_notify_views_altered (ViewCollection* self, GeeCollection* views) { + GeeCollection* _tmp0_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (views)); +#line 168 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = views; +#line 168 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "views-altered", _tmp0_); +#line 1009 "ViewCollection.c" +} + + +void view_collection_notify_views_altered (ViewCollection* self, GeeCollection* views) { +#line 167 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 167 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_views_altered (self, views); +#line 1018 "ViewCollection.c" +} + + +static void view_collection_real_notify_item_geometry_altered (ViewCollection* self, DataView* view) { + DataView* _tmp0_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 172 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = view; +#line 172 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "item-geometry-altered", _tmp0_); +#line 1030 "ViewCollection.c" +} + + +void view_collection_notify_item_geometry_altered (ViewCollection* self, DataView* view) { +#line 171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_item_geometry_altered (self, view); +#line 1039 "ViewCollection.c" +} + + +static void view_collection_real_notify_geometries_altered (ViewCollection* self, GeeCollection* views) { + GeeCollection* _tmp0_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (views)); +#line 176 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = views; +#line 176 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "geometries-altered", _tmp0_); +#line 1051 "ViewCollection.c" +} + + +void view_collection_notify_geometries_altered (ViewCollection* self, GeeCollection* views) { +#line 175 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 175 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_geometries_altered (self, views); +#line 1060 "ViewCollection.c" +} + + +static void view_collection_real_notify_items_shown (ViewCollection* self, GeeCollection* shown) { + GeeCollection* _tmp0_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (shown)); +#line 180 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = shown; +#line 180 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "items-shown", _tmp0_); +#line 1072 "ViewCollection.c" +} + + +void view_collection_notify_items_shown (ViewCollection* self, GeeCollection* shown) { +#line 179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_items_shown (self, shown); +#line 1081 "ViewCollection.c" +} + + +static void view_collection_real_notify_items_hidden (ViewCollection* self, GeeCollection* hidden) { + GeeCollection* _tmp0_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (hidden)); +#line 184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = hidden; +#line 184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "items-hidden", _tmp0_); +#line 1093 "ViewCollection.c" +} + + +void view_collection_notify_items_hidden (ViewCollection* self, GeeCollection* hidden) { +#line 183 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 183 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_items_hidden (self, hidden); +#line 1102 "ViewCollection.c" +} + + +static void view_collection_real_notify_items_visibility_changed (ViewCollection* self, GeeCollection* changed) { + GeeCollection* _tmp0_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (changed)); +#line 188 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = changed; +#line 188 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "items-visibility-changed", _tmp0_); +#line 1114 "ViewCollection.c" +} + + +void view_collection_notify_items_visibility_changed (ViewCollection* self, GeeCollection* changed) { +#line 187 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 187 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_items_visibility_changed (self, changed); +#line 1123 "ViewCollection.c" +} + + +static void view_collection_real_notify_view_filter_installed (ViewCollection* self, ViewFilter* filter) { + ViewFilter* _tmp0_ = NULL; +#line 191 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_FILTER (filter)); +#line 192 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = filter; +#line 192 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "view-filter-installed", _tmp0_); +#line 1135 "ViewCollection.c" +} + + +void view_collection_notify_view_filter_installed (ViewCollection* self, ViewFilter* filter) { +#line 191 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 191 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_view_filter_installed (self, filter); +#line 1144 "ViewCollection.c" +} + + +static void view_collection_real_notify_view_filter_removed (ViewCollection* self, ViewFilter* filter) { + ViewFilter* _tmp0_ = NULL; +#line 195 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_FILTER (filter)); +#line 196 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = filter; +#line 196 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_emit_by_name (self, "view-filter-removed", _tmp0_); +#line 1156 "ViewCollection.c" +} + + +void view_collection_notify_view_filter_removed (ViewCollection* self, ViewFilter* filter) { +#line 195 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 195 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_GET_CLASS (self)->notify_view_filter_removed (self, filter); +#line 1165 "ViewCollection.c" +} + + +static void view_collection_real_clear (DataCollection* base) { + ViewCollection * self; + gboolean _tmp0_ = FALSE; + GeeHashMultiMap* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 199 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 202 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->monitors; +#line 202 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_multi_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MULTI_MAP, GeeMultiMap)); +#line 202 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 202 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp3_ > 0) { +#line 202 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = TRUE; +#line 1187 "ViewCollection.c" + } else { + ViewCollection* _tmp4_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = self->priv->mirroring; +#line 202 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp4_ != NULL; +#line 1194 "ViewCollection.c" + } +#line 202 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp0_) { +#line 1198 "ViewCollection.c" + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = data_collection_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 203 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = _tmp5_; +#line 203 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_warning ("ViewCollection.vala:203: Cannot clear %s: monitoring or mirroring in e" \ +"ffect", _tmp6_); +#line 203 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_free0 (_tmp6_); +#line 205 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return; +#line 1211 "ViewCollection.c" + } +#line 208 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->clear (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1215 "ViewCollection.c" +} + + +static void _view_collection_on_view_filter_refresh_view_filter_refresh (ViewFilter* _sender, gpointer self) { +#line 215 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_view_filter_refresh ((ViewCollection*) self); +#line 1222 "ViewCollection.c" +} + + +static void view_collection_real_close (DataCollection* base) { + ViewCollection * self; + GeeSet* _tmp8_ = NULL; +#line 211 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 212 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_halt_all_monitoring (self); +#line 213 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_halt_mirroring (self); +#line 1235 "ViewCollection.c" + { + GeeIterator* _f_it = NULL; + GeeSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->filters; +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _f_it = _tmp1_; +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 1248 "ViewCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + ViewFilter* f = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + ViewFilter* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _f_it; +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 1264 "ViewCollection.c" + } +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _f_it; +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + f = (ViewFilter*) _tmp5_; +#line 215 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = f; +#line 215 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_parse_name ("refresh", TYPE_VIEW_FILTER, &_tmp7_, NULL, FALSE); +#line 215 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _view_collection_on_view_filter_refresh_view_filter_refresh, self); +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_filter_unref0 (f); +#line 1280 "ViewCollection.c" + } +#line 214 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_f_it); +#line 1284 "ViewCollection.c" + } +#line 216 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = self->priv->filters; +#line 216 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 218 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->close (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1292 "ViewCollection.c" +} + + +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target) { + ViewCollectionMonitor* result = NULL; + ViewCollectionMonitorImpl* monitor = NULL; + SourceCollection* _tmp0_ = NULL; + ViewManager* _tmp1_ = NULL; + Alteration* _tmp2_ = NULL; + ViewCollectionMonitorImpl* _tmp3_ = NULL; + GeeHashMultiMap* _tmp4_ = NULL; + SourceCollection* _tmp5_ = NULL; + ViewCollectionMonitorImpl* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GeeCollection* _tmp8_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 221 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (sources), NULL); +#line 221 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_MANAGER (manager), NULL); +#line 221 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail ((prereq == NULL) || IS_ALTERATION (prereq), NULL); +#line 221 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail ((initial == NULL) || GEE_IS_COLLECTION (initial), NULL); +#line 225 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_halt_mirroring (self); +#line 227 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_freeze_notifications (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = sources; +#line 230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = manager; +#line 230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = prereq; +#line 230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = view_collection_monitor_impl_new (self, _tmp0_, _tmp1_, _tmp2_); +#line 230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + monitor = _tmp3_; +#line 231 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = self->priv->monitors; +#line 231 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = sources; +#line 231 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = monitor; +#line 231 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_multi_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp5_, _tmp6_); +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = initial; +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp8_ != NULL) { +#line 1344 "ViewCollection.c" + GeeCollection* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = initial; +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = gee_collection_get_size (_tmp9_); +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = _tmp10_; +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = _tmp11_ > 0; +#line 1356 "ViewCollection.c" + } else { +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = FALSE; +#line 1360 "ViewCollection.c" + } +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp7_) { +#line 1364 "ViewCollection.c" + GeeArrayList* created_views = NULL; + GeeArrayList* _tmp12_ = NULL; + GeeArrayList* _tmp24_ = NULL; + ProgressMonitor _tmp25_ = NULL; + void* _tmp25__target = NULL; + GeeCollection* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; +#line 235 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 235 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + created_views = _tmp12_; +#line 1376 "ViewCollection.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = initial; +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _source_it = _tmp14_; +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 1389 "ViewCollection.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + GeeArrayList* _tmp19_ = NULL; + ViewManager* _tmp20_ = NULL; + DataSource* _tmp21_ = NULL; + DataView* _tmp22_ = NULL; + DataView* _tmp23_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = _source_it; +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp16_) { +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 1408 "ViewCollection.c" + } +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = _source_it; +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + source = (DataSource*) _tmp18_; +#line 237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = created_views; +#line 237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = manager; +#line 237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = source; +#line 237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = view_manager_create_view (_tmp20_, _tmp21_); +#line 237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = _tmp22_; +#line 237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp23_); +#line 237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp23_); +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 1432 "ViewCollection.c" + } +#line 236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_source_it); +#line 1436 "ViewCollection.c" + } +#line 239 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = created_views; +#line 239 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = progress_monitor; +#line 239 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25__target = progress_monitor_target; +#line 239 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_, _tmp25__target); +#line 239 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = _tmp26_; +#line 239 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp27_); +#line 233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (created_views); +#line 1452 "ViewCollection.c" + } else { + SourceCollection* _tmp28_ = NULL; + SourceCollection* _tmp29_ = NULL; + GeeCollection* _tmp30_ = NULL; + GeeIterable* _tmp31_ = NULL; + ProgressMonitor _tmp32_ = NULL; + void* _tmp32__target = NULL; +#line 242 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = sources; +#line 242 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = sources; +#line 242 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp30_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_COLLECTION, DataCollection)); +#line 242 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp31_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ITERABLE, GeeIterable); +#line 242 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32_ = progress_monitor; +#line 242 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32__target = progress_monitor_target; +#line 242 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_add_sources (self, _tmp28_, _tmp31_, _tmp32_, _tmp32__target); +#line 242 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp31_); +#line 1476 "ViewCollection.c" + } +#line 245 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_thaw_notifications (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 247 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (monitor, VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor); +#line 247 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 1484 "ViewCollection.c" +} + + +static gpointer _view_collection_monitor_ref0 (gpointer self) { +#line 251 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self ? view_collection_monitor_ref (self) : NULL; +#line 1491 "ViewCollection.c" +} + + +void view_collection_halt_monitoring (ViewCollection* self, ViewCollectionMonitor* m) { + ViewCollectionMonitorImpl* monitor = NULL; + ViewCollectionMonitor* _tmp0_ = NULL; + ViewCollectionMonitorImpl* _tmp1_ = NULL; + gboolean removed = FALSE; + GeeHashMultiMap* _tmp2_ = NULL; + SourceCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 250 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 250 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (VIEW_COLLECTION_IS_MONITOR (m)); +#line 251 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = m; +#line 251 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = _view_collection_monitor_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, VIEW_COLLECTION_TYPE_MONITOR_IMPL, ViewCollectionMonitorImpl)); +#line 251 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + monitor = _tmp1_; +#line 253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->monitors; +#line 253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = monitor->sources; +#line 253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_multi_map_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp3_, monitor); +#line 253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + removed = _tmp4_; +#line 254 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (removed, "removed"); +#line 250 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor); +#line 1525 "ViewCollection.c" +} + + +void view_collection_halt_all_monitoring (ViewCollection* self) { + GeeHashMultiMap* _tmp0_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 258 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->monitors; +#line 258 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_multi_map_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MULTI_MAP, GeeMultiMap)); +#line 1537 "ViewCollection.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 267 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self ? data_collection_ref (self) : NULL; +#line 1544 "ViewCollection.c" +} + + +static void _view_collection_on_mirror_contents_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self) { +#line 275 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_mirror_contents_added ((ViewCollection*) self, added); +#line 1551 "ViewCollection.c" +} + + +static void _view_collection_on_mirror_contents_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self) { +#line 276 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_mirror_contents_removed ((ViewCollection*) self, removed); +#line 1558 "ViewCollection.c" +} + + +void view_collection_mirror (ViewCollection* self, ViewCollection* to_mirror, CreateView mirroring_ctor, void* mirroring_ctor_target, CreateViewPredicate should_mirror, void* should_mirror_target) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + CreateView _tmp2_ = NULL; + void* _tmp2__target = NULL; + CreateViewPredicate _tmp3_ = NULL; + void* _tmp3__target = NULL; + ViewCollection* _tmp4_ = NULL; + void* _tmp5_ = NULL; + Comparator _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + void* _tmp8_ = NULL; + ComparatorPredicate _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 261 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (to_mirror)); +#line 263 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_halt_mirroring (self); +#line 264 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_halt_all_monitoring (self); +#line 265 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 267 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = to_mirror; +#line 267 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 267 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_collection_unref0 (self->priv->mirroring); +#line 267 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->mirroring = _tmp1_; +#line 268 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = mirroring_ctor; +#line 268 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2__target = mirroring_ctor_target; +#line 268 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->mirroring_ctor = _tmp2_; +#line 268 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->mirroring_ctor_target = _tmp2__target; +#line 269 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = should_mirror; +#line 269 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3__target = should_mirror_target; +#line 269 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->should_mirror = _tmp3_; +#line 269 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->should_mirror_target = _tmp3__target; +#line 270 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = to_mirror; +#line 270 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = data_collection_get_comparator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection), &_tmp5_); +#line 270 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = to_mirror; +#line 270 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = data_collection_get_comparator_predicate (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection), &_tmp8_); +#line 270 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp6_, _tmp5_, _tmp9_, _tmp8_); +#line 273 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = self->priv->mirroring; +#line 273 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection)); +#line 273 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = _tmp11_; +#line 273 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_mirror_contents_added (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 273 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp12_); +#line 275 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = self->priv->mirroring; +#line 275 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), "items-added", (GCallback) _view_collection_on_mirror_contents_added_data_collection_items_added, self); +#line 276 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = self->priv->mirroring; +#line 276 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection), "items-removed", (GCallback) _view_collection_on_mirror_contents_removed_data_collection_items_removed, self); +#line 1642 "ViewCollection.c" +} + + +void view_collection_halt_mirroring (ViewCollection* self) { + ViewCollection* _tmp0_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 280 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->mirroring; +#line 280 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp0_ != NULL) { +#line 1654 "ViewCollection.c" + ViewCollection* _tmp1_ = NULL; + guint _tmp2_ = 0U; + ViewCollection* _tmp3_ = NULL; + guint _tmp4_ = 0U; +#line 281 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->mirroring; +#line 281 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_parse_name ("items-added", TYPE_DATA_COLLECTION, &_tmp2_, NULL, FALSE); +#line 281 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _view_collection_on_mirror_contents_added_data_collection_items_added, self); +#line 282 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = self->priv->mirroring; +#line 282 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_parse_name ("items-removed", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE); +#line 282 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _view_collection_on_mirror_contents_removed_data_collection_items_removed, self); +#line 1671 "ViewCollection.c" + } +#line 285 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_collection_unref0 (self->priv->mirroring); +#line 285 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->mirroring = NULL; +#line 1677 "ViewCollection.c" +} + + +void view_collection_copy_into (ViewCollection* self, ViewCollection* to_copy, CreateView copying_ctor, void* copying_ctor_target, CreateViewPredicate should_copy, void* should_copy_target) { + GeeArrayList* copy_view = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp25_ = NULL; + GeeCollection* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 288 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (to_copy)); +#line 291 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 291 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + copy_view = _tmp0_; +#line 1695 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + ViewCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = to_copy; +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp3_); +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp5_; +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 1719 "ViewCollection.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + DataView* view = NULL; + DataObject* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + CreateViewPredicate _tmp12_ = NULL; + void* _tmp12__target = NULL; + DataView* _tmp13_ = NULL; + DataSource* _tmp14_ = NULL; + DataSource* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = _object_it; +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp7_) { +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 1743 "ViewCollection.c" + } +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = _object_it; +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp9_; +#line 293 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = object; +#line 293 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_VIEW, DataView)); +#line 293 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp11_; +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = should_copy; +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12__target = should_copy_target; +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = view; +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = data_view_get_source (_tmp13_); +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = _tmp14_; +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = _tmp12_ (_tmp15_, _tmp12__target); +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = _tmp16_; +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp15_); +#line 294 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp17_) { +#line 1775 "ViewCollection.c" + GeeArrayList* _tmp18_ = NULL; + CreateView _tmp19_ = NULL; + void* _tmp19__target = NULL; + DataView* _tmp20_ = NULL; + DataSource* _tmp21_ = NULL; + DataSource* _tmp22_ = NULL; + DataView* _tmp23_ = NULL; + DataView* _tmp24_ = NULL; +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = copy_view; +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = copying_ctor; +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19__target = copying_ctor_target; +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = view; +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = data_view_get_source (_tmp20_); +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = _tmp21_; +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = _tmp19_ (_tmp22_, _tmp19__target); +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = _tmp23_; +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_OBJECT, DataObject)); +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp24_); +#line 295 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp22_); +#line 1806 "ViewCollection.c" + } +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 1812 "ViewCollection.c" + } +#line 292 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 1816 "ViewCollection.c" + } +#line 298 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = copy_view; +#line 298 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 298 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = _tmp26_; +#line 298 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp27_); +#line 288 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (copy_view); +#line 1828 "ViewCollection.c" +} + + +gboolean view_collection_is_view_filter_installed (ViewCollection* self, ViewFilter* f) { + gboolean result = FALSE; + GeeSet* _tmp0_ = NULL; + ViewFilter* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 301 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 301 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_FILTER (f), FALSE); +#line 302 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->filters; +#line 302 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = f; +#line 302 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 302 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp2_; +#line 302 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 1851 "ViewCollection.c" +} + + +void view_collection_install_view_filter (ViewCollection* self, ViewFilter* f) { + ViewFilter* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeSet* _tmp2_ = NULL; + ViewFilter* _tmp3_ = NULL; + ViewFilter* _tmp4_ = NULL; + ViewFilter* _tmp5_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 305 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_FILTER (f)); +#line 306 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = f; +#line 306 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view_collection_is_view_filter_installed (self, _tmp0_); +#line 306 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_) { +#line 307 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return; +#line 1874 "ViewCollection.c" + } +#line 309 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->filters; +#line 309 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = f; +#line 309 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), _tmp3_); +#line 310 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = f; +#line 310 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_connect (_tmp4_, "refresh", (GCallback) _view_collection_on_view_filter_refresh_view_filter_refresh, self); +#line 313 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_view_filter_refresh (self); +#line 316 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = f; +#line 316 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_view_filter_installed (self, _tmp5_); +#line 1892 "ViewCollection.c" +} + + +void view_collection_remove_view_filter (ViewCollection* self, ViewFilter* f) { + ViewFilter* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeSet* _tmp2_ = NULL; + ViewFilter* _tmp3_ = NULL; + ViewFilter* _tmp4_ = NULL; + guint _tmp5_ = 0U; + ViewFilter* _tmp6_ = NULL; +#line 319 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 319 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_FILTER (f)); +#line 320 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = f; +#line 320 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view_collection_is_view_filter_installed (self, _tmp0_); +#line 320 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp1_) { +#line 321 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return; +#line 1916 "ViewCollection.c" + } +#line 323 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->filters; +#line 323 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = f; +#line 323 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), _tmp3_); +#line 324 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = f; +#line 324 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_parse_name ("refresh", TYPE_VIEW_FILTER, &_tmp5_, NULL, FALSE); +#line 324 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _view_collection_on_view_filter_refresh_view_filter_refresh, self); +#line 327 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_view_filter_refresh (self); +#line 330 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = f; +#line 330 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_view_filter_removed (self, _tmp6_); +#line 1936 "ViewCollection.c" +} + + +static void view_collection_on_view_filter_refresh (ViewCollection* self) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 334 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->get_all (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 334 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 334 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_filter_altered_items (self, _tmp1_); +#line 334 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp1_); +#line 1953 "ViewCollection.c" +} + + +static gboolean view_collection_is_in_filter (ViewCollection* self, DataView* view) { + gboolean result = FALSE; +#line 338 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 338 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 1963 "ViewCollection.c" + { + GeeIterator* _f_it = NULL; + GeeSet* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->filters; +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _f_it = _tmp1_; +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 1976 "ViewCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + ViewFilter* f = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + ViewFilter* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _f_it; +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 1993 "ViewCollection.c" + } +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _f_it; +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + f = (ViewFilter*) _tmp5_; +#line 340 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = f; +#line 340 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = view; +#line 340 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = view_filter_predicate (_tmp6_, _tmp7_); +#line 340 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp8_) { +#line 341 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = FALSE; +#line 341 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_filter_unref0 (f); +#line 341 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_f_it); +#line 341 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 2017 "ViewCollection.c" + } +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_filter_unref0 (f); +#line 2021 "ViewCollection.c" + } +#line 339 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_f_it); +#line 2025 "ViewCollection.c" + } +#line 343 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 343 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 2031 "ViewCollection.c" +} + + +static gboolean view_collection_real_valid_type (DataCollection* base, DataObject* object) { + ViewCollection * self; + gboolean result = FALSE; + DataObject* _tmp0_ = NULL; +#line 346 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 346 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 347 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = object; +#line 347 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_DATA_VIEW); +#line 347 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 2049 "ViewCollection.c" +} + + +static void view_collection_on_sources_added (ViewCollection* self, DataCollection* sources, GeeIterable* added) { + DataCollection* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; +#line 350 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 350 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (sources)); +#line 350 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 351 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = sources; +#line 351 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = added; +#line 351 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_add_sources (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp1_, NULL, NULL); +#line 2068 "ViewCollection.c" +} + + +static DataView* _view_manager_create_view_create_view (DataSource* source, gpointer self) { + DataView* result; + result = view_manager_create_view ((ViewManager*) self, source); +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 2077 "ViewCollection.c" +} + + +static void view_collection_add_sources (ViewCollection* self, SourceCollection* sources, GeeIterable* added, ProgressMonitor progress_monitor, void* progress_monitor_target) { + DataView* created_view = NULL; + GeeArrayList* created_views = NULL; + DataView* _tmp37_ = NULL; +#line 354 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 354 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_SOURCE_COLLECTION (sources)); +#line 354 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 358 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + created_view = NULL; +#line 359 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + created_views = NULL; +#line 2095 "ViewCollection.c" + { + GeeIterator* _source_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = added; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _source_it = _tmp1_; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 2108 "ViewCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + CreateView factory = NULL; + void* factory_target = NULL; + GDestroyNotify factory_target_destroy_notify = NULL; + CreateView _tmp22_ = NULL; + void* _tmp22__target = NULL; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _source_it; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 2127 "ViewCollection.c" + } +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _source_it; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + source = (DataSource*) _tmp5_; +#line 361 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory = NULL; +#line 361 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory_target = NULL; +#line 361 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory_target_destroy_notify = NULL; +#line 2141 "ViewCollection.c" + { + GeeIterator* _monitor_it = NULL; + GeeHashMultiMap* _tmp6_ = NULL; + SourceCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = self->priv->monitors; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = sources; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = gee_multi_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_MULTI_MAP, GeeMultiMap), _tmp7_); +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = _tmp8_; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = _tmp10_; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp9_); +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _monitor_it = _tmp11_; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 2168 "ViewCollection.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + ViewCollectionMonitorImpl* monitor = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + ViewCollectionMonitorImpl* _tmp16_ = NULL; + ViewManager* _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = _monitor_it; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp13_) { +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 2186 "ViewCollection.c" + } +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = _monitor_it; +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + monitor = (ViewCollectionMonitorImpl*) _tmp15_; +#line 363 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = monitor; +#line 363 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = _tmp16_->manager; +#line 363 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = source; +#line 363 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = view_manager_include_in_view (_tmp17_, _tmp18_); +#line 363 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp19_) { +#line 2204 "ViewCollection.c" + ViewCollectionMonitorImpl* _tmp20_ = NULL; + ViewManager* _tmp21_ = NULL; +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = monitor; +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = _tmp20_->manager; +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + (factory_target_destroy_notify == NULL) ? NULL : (factory_target_destroy_notify (factory_target), NULL); +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory = NULL; +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory_target = NULL; +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory_target_destroy_notify = NULL; +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory = _view_manager_create_view_create_view; +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory_target = view_manager_ref (_tmp21_); +#line 364 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory_target_destroy_notify = view_manager_unref; +#line 366 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor); +#line 366 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 2229 "ViewCollection.c" + } +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor); +#line 2233 "ViewCollection.c" + } +#line 362 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_monitor_it); +#line 2237 "ViewCollection.c" + } +#line 370 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = factory; +#line 370 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22__target = factory_target; +#line 370 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp22_ != NULL) { +#line 2245 "ViewCollection.c" + DataView* new_view = NULL; + CreateView _tmp23_ = NULL; + void* _tmp23__target = NULL; + DataSource* _tmp24_ = NULL; + DataView* _tmp25_ = NULL; + GeeArrayList* _tmp26_ = NULL; +#line 371 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = factory; +#line 371 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23__target = factory_target; +#line 371 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = source; +#line 371 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = _tmp23_ (_tmp24_, _tmp23__target); +#line 371 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + new_view = _tmp25_; +#line 375 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = created_views; +#line 375 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp26_ != NULL) { +#line 2266 "ViewCollection.c" + GeeArrayList* _tmp27_ = NULL; + DataView* _tmp28_ = NULL; +#line 376 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = created_views; +#line 376 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = new_view; +#line 376 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp28_); +#line 2275 "ViewCollection.c" + } else { + DataView* _tmp29_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = created_view; +#line 377 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp29_ == NULL) { +#line 2282 "ViewCollection.c" + DataView* _tmp30_ = NULL; + DataView* _tmp31_ = NULL; +#line 378 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp30_ = new_view; +#line 378 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp31_ = _g_object_ref0 (_tmp30_); +#line 378 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (created_view); +#line 378 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + created_view = _tmp31_; +#line 2293 "ViewCollection.c" + } else { + GeeArrayList* _tmp32_ = NULL; + GeeArrayList* _tmp33_ = NULL; + DataView* _tmp34_ = NULL; + GeeArrayList* _tmp35_ = NULL; + DataView* _tmp36_ = NULL; +#line 380 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 380 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (created_views); +#line 380 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + created_views = _tmp32_; +#line 381 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp33_ = created_views; +#line 381 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp34_ = created_view; +#line 381 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp34_); +#line 382 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (created_view); +#line 382 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + created_view = NULL; +#line 383 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp35_ = created_views; +#line 383 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp36_ = new_view; +#line 383 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp36_); +#line 2322 "ViewCollection.c" + } + } +#line 370 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (new_view); +#line 2327 "ViewCollection.c" + } +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + (factory_target_destroy_notify == NULL) ? NULL : (factory_target_destroy_notify (factory_target), NULL); +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory = NULL; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory_target = NULL; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + factory_target_destroy_notify = NULL; +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 2339 "ViewCollection.c" + } +#line 360 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_source_it); +#line 2343 "ViewCollection.c" + } +#line 388 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp37_ = created_view; +#line 388 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp37_ != NULL) { +#line 2349 "ViewCollection.c" + DataView* _tmp38_ = NULL; +#line 389 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp38_ = created_view; +#line 389 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_DATA_OBJECT, DataObject)); +#line 2355 "ViewCollection.c" + } else { + gboolean _tmp39_ = FALSE; + GeeArrayList* _tmp40_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp40_ = created_views; +#line 390 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp40_ != NULL) { +#line 2363 "ViewCollection.c" + GeeArrayList* _tmp41_ = NULL; + gint _tmp42_ = 0; + gint _tmp43_ = 0; +#line 390 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp41_ = created_views; +#line 390 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp42_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 390 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp43_ = _tmp42_; +#line 390 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp39_ = _tmp43_ > 0; +#line 2375 "ViewCollection.c" + } else { +#line 390 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp39_ = FALSE; +#line 2379 "ViewCollection.c" + } +#line 390 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp39_) { +#line 2383 "ViewCollection.c" + GeeArrayList* _tmp44_ = NULL; + ProgressMonitor _tmp45_ = NULL; + void* _tmp45__target = NULL; + GeeCollection* _tmp46_ = NULL; + GeeCollection* _tmp47_ = NULL; +#line 391 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp44_ = created_views; +#line 391 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp45_ = progress_monitor; +#line 391 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp45__target = progress_monitor_target; +#line 391 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp46_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection), _tmp45_, _tmp45__target); +#line 391 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp47_ = _tmp46_; +#line 391 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp47_); +#line 2401 "ViewCollection.c" + } + } +#line 354 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (created_views); +#line 354 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (created_view); +#line 2408 "ViewCollection.c" +} + + +static gboolean view_collection_real_add (DataCollection* base, DataObject* object) { + ViewCollection * self; + gboolean result = FALSE; + DataObject* _tmp0_ = NULL; + DataObject* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + DataObject* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 394 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 395 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = object; +#line 395 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_view_internal_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView), TRUE); +#line 397 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = object; +#line 397 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->add (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp1_); +#line 397 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp2_) { +#line 398 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = FALSE; +#line 398 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 2439 "ViewCollection.c" + } +#line 400 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = object; +#line 400 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = data_collection_get_singleton (_tmp3_); +#line 400 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection); +#line 400 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_filter_altered_items (self, _tmp5_); +#line 400 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp5_); +#line 402 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 402 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 2455 "ViewCollection.c" +} + + +static GeeCollection* view_collection_real_add_many (DataCollection* base, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target) { + ViewCollection * self; + GeeCollection* result = NULL; + GeeCollection* return_list = NULL; + GeeCollection* _tmp7_ = NULL; + ProgressMonitor _tmp8_ = NULL; + void* _tmp8__target = NULL; + GeeCollection* _tmp9_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 405 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (objects), NULL); +#line 2471 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = objects; +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp1_; +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 2484 "ViewCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataObject* _tmp6_ = NULL; +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _object_it; +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 2499 "ViewCollection.c" + } +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _object_it; +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp5_; +#line 408 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = object; +#line 408 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_view_internal_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_VIEW, DataView), TRUE); +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 2513 "ViewCollection.c" + } +#line 407 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 2517 "ViewCollection.c" + } +#line 410 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = objects; +#line 410 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = monitor; +#line 410 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8__target = monitor_target; +#line 410 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp7_, _tmp8_, _tmp8__target); +#line 410 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return_list = _tmp9_; +#line 412 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_filter_altered_items (self, G_TYPE_CHECK_INSTANCE_CAST (return_list, GEE_TYPE_COLLECTION, GeeCollection)); +#line 414 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = return_list; +#line 414 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 2535 "ViewCollection.c" +} + + +static void view_collection_on_sources_removed (ViewCollection* self, GeeIterable* removed) { + Marker* marker = NULL; + gboolean _tmp14_ = FALSE; + Marker* _tmp15_ = NULL; +#line 417 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 417 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 419 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker = NULL; +#line 2549 "ViewCollection.c" + { + GeeIterator* _source_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = removed; +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _source_it = _tmp1_; +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 2562 "ViewCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataView* view = NULL; + GeeHashMap* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DataView* _tmp9_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _source_it; +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 2581 "ViewCollection.c" + } +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _source_it; +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + source = (DataSource*) _tmp5_; +#line 421 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = self->priv->source_map; +#line 421 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = source; +#line 421 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 421 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp8_; +#line 424 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = view; +#line 424 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp9_ != NULL) { +#line 2601 "ViewCollection.c" + Marker* _tmp10_ = NULL; + Marker* _tmp12_ = NULL; + DataView* _tmp13_ = NULL; +#line 425 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = marker; +#line 425 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp10_ == NULL) { +#line 2609 "ViewCollection.c" + Marker* _tmp11_ = NULL; +#line 426 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 426 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (marker); +#line 426 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker = _tmp11_; +#line 2617 "ViewCollection.c" + } +#line 428 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = marker; +#line 428 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = view; +#line 428 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker_mark (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_OBJECT, DataObject)); +#line 2625 "ViewCollection.c" + } +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 2631 "ViewCollection.c" + } +#line 420 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_source_it); +#line 2635 "ViewCollection.c" + } +#line 432 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = marker; +#line 432 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp15_ != NULL) { +#line 2641 "ViewCollection.c" + Marker* _tmp16_ = NULL; + gint _tmp17_ = 0; +#line 432 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = marker; +#line 432 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = marker_get_count (_tmp16_); +#line 432 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = _tmp17_ != 0; +#line 2650 "ViewCollection.c" + } else { +#line 432 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = FALSE; +#line 2654 "ViewCollection.c" + } +#line 432 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp14_) { +#line 2658 "ViewCollection.c" + Marker* _tmp18_ = NULL; +#line 433 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = marker; +#line 433 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp18_); +#line 2664 "ViewCollection.c" + } +#line 417 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (marker); +#line 2668 "ViewCollection.c" +} + + +static void view_collection_on_sources_altered (ViewCollection* self, DataCollection* collection, GeeMap* items) { + GeeArrayList* to_add = NULL; + GeeArrayList* to_remove = NULL; + gboolean ordering_changed = FALSE; + GeeArrayList* _tmp82_ = NULL; + GeeArrayList* _tmp86_ = NULL; + gboolean _tmp90_ = FALSE; +#line 436 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 436 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_COLLECTION (collection)); +#line 436 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_MAP (items)); +#line 439 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_add = NULL; +#line 440 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_remove = NULL; +#line 441 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ordering_changed = FALSE; +#line 2691 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = items; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp1_; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp3_); +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp5_; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 2718 "ViewCollection.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Alteration* alteration = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + DataSource* source = NULL; + DataObject* _tmp13_ = NULL; + DataSource* _tmp14_ = NULL; + ViewCollectionMonitorImpl* monitor = NULL; + gboolean ignored = FALSE; + gboolean _tmp38_ = FALSE; + gboolean _tmp40_ = FALSE; + ViewCollectionMonitorImpl* _tmp41_ = NULL; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = _object_it; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp7_) { +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 2744 "ViewCollection.c" + } +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = _object_it; +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp9_; +#line 443 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = items; +#line 443 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = object; +#line 443 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 443 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + alteration = (Alteration*) _tmp12_; +#line 444 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = object; +#line 444 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_SOURCE, DataSource)); +#line 444 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + source = _tmp14_; +#line 446 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + monitor = NULL; +#line 447 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ignored = TRUE; +#line 2770 "ViewCollection.c" + { + GeeIterator* _monitor_impl_it = NULL; + GeeHashMultiMap* _tmp15_ = NULL; + DataCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + GeeIterator* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = self->priv->monitors; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = collection; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = gee_multi_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_MULTI_MAP, GeeMultiMap), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_SOURCE_COLLECTION, SourceCollection)); +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = _tmp17_; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = _tmp19_; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp18_); +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _monitor_impl_it = _tmp20_; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 2797 "ViewCollection.c" + GeeIterator* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + ViewCollectionMonitorImpl* monitor_impl = NULL; + GeeIterator* _tmp23_ = NULL; + gpointer _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + ViewCollectionMonitorImpl* _tmp26_ = NULL; + Alteration* _tmp27_ = NULL; + ViewCollectionMonitorImpl* _tmp32_ = NULL; + ViewManager* _tmp33_ = NULL; + DataSource* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = _monitor_impl_it; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = gee_iterator_next (_tmp21_); +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp22_) { +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 2818 "ViewCollection.c" + } +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = _monitor_impl_it; +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = gee_iterator_get (_tmp23_); +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + monitor_impl = (ViewCollectionMonitorImpl*) _tmp24_; +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = monitor_impl; +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = _tmp26_->prereq; +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp27_ != NULL) { +#line 2832 "ViewCollection.c" + Alteration* _tmp28_ = NULL; + ViewCollectionMonitorImpl* _tmp29_ = NULL; + Alteration* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = alteration; +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = monitor_impl; +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp30_ = _tmp29_->prereq; +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp31_ = alteration_contains_any (_tmp28_, _tmp30_); +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = !_tmp31_; +#line 2847 "ViewCollection.c" + } else { +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = FALSE; +#line 2851 "ViewCollection.c" + } +#line 449 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp25_) { +#line 450 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor_impl); +#line 450 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + continue; +#line 2859 "ViewCollection.c" + } +#line 452 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ignored = FALSE; +#line 454 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32_ = monitor_impl; +#line 454 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp33_ = _tmp32_->manager; +#line 454 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp34_ = source; +#line 454 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp35_ = view_manager_include_in_view (_tmp33_, _tmp34_); +#line 454 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp35_) { +#line 2873 "ViewCollection.c" + ViewCollectionMonitorImpl* _tmp36_ = NULL; + ViewCollectionMonitorImpl* _tmp37_ = NULL; +#line 455 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp36_ = monitor_impl; +#line 455 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp37_ = _view_collection_monitor_ref0 (_tmp36_); +#line 455 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor); +#line 455 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + monitor = _tmp37_; +#line 457 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor_impl); +#line 457 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 2888 "ViewCollection.c" + } +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor_impl); +#line 2892 "ViewCollection.c" + } +#line 448 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_monitor_impl_it); +#line 2896 "ViewCollection.c" + } +#line 461 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp38_ = ignored; +#line 461 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp38_) { +#line 2902 "ViewCollection.c" + ViewCollectionMonitorImpl* _tmp39_ = NULL; +#line 462 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp39_ = monitor; +#line 462 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp39_ == NULL, "monitor == null"); +#line 464 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor); +#line 464 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 464 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _alteration_unref0 (alteration); +#line 464 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 464 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + continue; +#line 2918 "ViewCollection.c" + } +#line 467 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp41_ = monitor; +#line 467 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp41_ != NULL) { +#line 2924 "ViewCollection.c" + DataSource* _tmp42_ = NULL; + gboolean _tmp43_ = FALSE; +#line 467 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp42_ = source; +#line 467 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp43_ = view_collection_has_view_for_source (self, _tmp42_); +#line 467 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp40_ = !_tmp43_; +#line 2933 "ViewCollection.c" + } else { +#line 467 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp40_ = FALSE; +#line 2937 "ViewCollection.c" + } +#line 467 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp40_) { +#line 2941 "ViewCollection.c" + GeeArrayList* _tmp44_ = NULL; + GeeArrayList* _tmp46_ = NULL; + ViewCollectionMonitorImpl* _tmp47_ = NULL; + ViewManager* _tmp48_ = NULL; + DataSource* _tmp49_ = NULL; + DataView* _tmp50_ = NULL; + DataView* _tmp51_ = NULL; +#line 468 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp44_ = to_add; +#line 468 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp44_ == NULL) { +#line 2953 "ViewCollection.c" + GeeArrayList* _tmp45_ = NULL; +#line 469 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp45_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 469 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_add); +#line 469 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_add = _tmp45_; +#line 2961 "ViewCollection.c" + } +#line 471 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp46_ = to_add; +#line 471 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp47_ = monitor; +#line 471 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp48_ = _tmp47_->manager; +#line 471 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp49_ = source; +#line 471 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp50_ = view_manager_create_view (_tmp48_, _tmp49_); +#line 471 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp51_ = _tmp50_; +#line 471 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp51_); +#line 471 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp51_); +#line 2979 "ViewCollection.c" + } else { + gboolean _tmp52_ = FALSE; + ViewCollectionMonitorImpl* _tmp53_ = NULL; +#line 472 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp53_ = monitor; +#line 472 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp53_ == NULL) { +#line 2987 "ViewCollection.c" + DataSource* _tmp54_ = NULL; + gboolean _tmp55_ = FALSE; +#line 472 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp54_ = source; +#line 472 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp55_ = view_collection_has_view_for_source (self, _tmp54_); +#line 472 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp52_ = _tmp55_; +#line 2996 "ViewCollection.c" + } else { +#line 472 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp52_ = FALSE; +#line 3000 "ViewCollection.c" + } +#line 472 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp52_) { +#line 3004 "ViewCollection.c" + GeeArrayList* _tmp56_ = NULL; + GeeArrayList* _tmp58_ = NULL; + DataSource* _tmp59_ = NULL; + DataView* _tmp60_ = NULL; + DataView* _tmp61_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp56_ = to_remove; +#line 473 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp56_ == NULL) { +#line 3014 "ViewCollection.c" + GeeArrayList* _tmp57_ = NULL; +#line 474 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp57_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 474 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_remove); +#line 474 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_remove = _tmp57_; +#line 3022 "ViewCollection.c" + } +#line 476 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp58_ = to_remove; +#line 476 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp59_ = source; +#line 476 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp60_ = view_collection_get_view_for_source (self, _tmp59_); +#line 476 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp61_ = _tmp60_; +#line 476 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp61_); +#line 476 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp61_); +#line 3036 "ViewCollection.c" + } else { + gboolean _tmp62_ = FALSE; + ViewCollectionMonitorImpl* _tmp63_ = NULL; +#line 477 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp63_ = monitor; +#line 477 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp63_ != NULL) { +#line 3044 "ViewCollection.c" + DataSource* _tmp64_ = NULL; + gboolean _tmp65_ = FALSE; +#line 477 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp64_ = source; +#line 477 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp65_ = view_collection_has_view_for_source (self, _tmp64_); +#line 477 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp62_ = _tmp65_; +#line 3053 "ViewCollection.c" + } else { +#line 477 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp62_ = FALSE; +#line 3057 "ViewCollection.c" + } +#line 477 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp62_) { +#line 3061 "ViewCollection.c" + DataView* view = NULL; + DataSource* _tmp66_ = NULL; + DataView* _tmp67_ = NULL; + DataSet* _tmp68_ = NULL; + DataView* _tmp69_ = NULL; + gboolean _tmp70_ = FALSE; + gboolean _tmp74_ = FALSE; + DataSet* _tmp75_ = NULL; +#line 478 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp66_ = source; +#line 478 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp67_ = view_collection_get_view_for_source (self, _tmp66_); +#line 478 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp67_; +#line 480 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp68_ = self->priv->selected; +#line 480 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp69_ = view; +#line 480 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp70_ = data_set_contains (_tmp68_, G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, TYPE_DATA_OBJECT, DataObject)); +#line 480 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp70_) { +#line 3084 "ViewCollection.c" + DataSet* _tmp71_ = NULL; + DataView* _tmp72_ = NULL; + Alteration* _tmp73_ = NULL; +#line 481 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp71_ = self->priv->selected; +#line 481 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp72_ = view; +#line 481 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp73_ = alteration; +#line 481 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_set_resort_object (_tmp71_, G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, TYPE_DATA_OBJECT, DataObject), _tmp73_); +#line 3096 "ViewCollection.c" + } +#line 483 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp75_ = self->priv->visible; +#line 483 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp75_ != NULL) { +#line 3102 "ViewCollection.c" + DataView* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; +#line 483 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp76_ = view; +#line 483 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp77_ = view_collection_is_visible (self, _tmp76_); +#line 483 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp74_ = _tmp77_; +#line 3111 "ViewCollection.c" + } else { +#line 483 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp74_ = FALSE; +#line 3115 "ViewCollection.c" + } +#line 483 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp74_) { +#line 3119 "ViewCollection.c" + DataSet* _tmp78_ = NULL; + DataView* _tmp79_ = NULL; + Alteration* _tmp80_ = NULL; + gboolean _tmp81_ = FALSE; +#line 484 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp78_ = self->priv->visible; +#line 484 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp79_ = view; +#line 484 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp80_ = alteration; +#line 484 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp81_ = data_set_resort_object (_tmp78_, G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, TYPE_DATA_OBJECT, DataObject), _tmp80_); +#line 484 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp81_) { +#line 485 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ordering_changed = TRUE; +#line 3136 "ViewCollection.c" + } + } +#line 477 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 3141 "ViewCollection.c" + } + } + } +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_collection_monitor_unref0 (monitor); +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _alteration_unref0 (alteration); +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 3153 "ViewCollection.c" + } +#line 442 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 3157 "ViewCollection.c" + } +#line 490 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp82_ = to_add; +#line 490 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp82_ != NULL) { +#line 3163 "ViewCollection.c" + GeeArrayList* _tmp83_ = NULL; + GeeCollection* _tmp84_ = NULL; + GeeCollection* _tmp85_ = NULL; +#line 491 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp83_ = to_add; +#line 491 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp84_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 491 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp85_ = _tmp84_; +#line 491 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp85_); +#line 3175 "ViewCollection.c" + } +#line 493 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp86_ = to_remove; +#line 493 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp86_ != NULL) { +#line 3181 "ViewCollection.c" + GeeArrayList* _tmp87_ = NULL; + Marker* _tmp88_ = NULL; + Marker* _tmp89_ = NULL; +#line 494 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp87_ = to_remove; +#line 494 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp88_ = data_collection_mark_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 494 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp89_ = _tmp88_; +#line 494 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp89_); +#line 494 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp89_); +#line 3195 "ViewCollection.c" + } +#line 496 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp90_ = ordering_changed; +#line 496 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp90_) { +#line 497 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_notify_ordering_changed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 3203 "ViewCollection.c" + } +#line 436 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_remove); +#line 436 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_add); +#line 3209 "ViewCollection.c" +} + + +static void view_collection_on_mirror_contents_added (ViewCollection* self, GeeIterable* added) { + GeeArrayList* to_add = NULL; + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 500 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 500 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 501 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 501 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_add = _tmp0_; +#line 3227 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = added; +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp2_; +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 3240 "ViewCollection.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataSource* source = NULL; + DataObject* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + CreateViewPredicate _tmp10_ = NULL; + void* _tmp10__target = NULL; +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _object_it; +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp4_) { +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 3260 "ViewCollection.c" + } +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _object_it; +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp6_; +#line 503 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = object; +#line 503 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_VIEW, DataView)); +#line 503 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + source = _tmp8_; +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = self->priv->should_mirror; +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10__target = self->priv->should_mirror_target; +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp10_ == NULL) { +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = TRUE; +#line 3282 "ViewCollection.c" + } else { + CreateViewPredicate _tmp11_ = NULL; + void* _tmp11__target = NULL; + DataSource* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = self->priv->should_mirror; +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11__target = self->priv->should_mirror_target; +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = source; +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = _tmp11_ (_tmp12_, _tmp11__target); +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = _tmp13_; +#line 3298 "ViewCollection.c" + } +#line 505 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp9_) { +#line 3302 "ViewCollection.c" + GeeArrayList* _tmp14_ = NULL; + CreateView _tmp15_ = NULL; + void* _tmp15__target = NULL; + DataSource* _tmp16_ = NULL; + DataView* _tmp17_ = NULL; + DataView* _tmp18_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = to_add; +#line 506 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = self->priv->mirroring_ctor; +#line 506 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15__target = self->priv->mirroring_ctor_target; +#line 506 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = source; +#line 506 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = _tmp15_ (_tmp16_, _tmp15__target); +#line 506 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = _tmp17_; +#line 506 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp18_); +#line 506 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp18_); +#line 3325 "ViewCollection.c" + } +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 3331 "ViewCollection.c" + } +#line 502 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 3335 "ViewCollection.c" + } +#line 509 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = to_add; +#line 509 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 509 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = _tmp20_; +#line 509 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp21_ > 0) { +#line 3345 "ViewCollection.c" + GeeArrayList* _tmp22_ = NULL; + GeeCollection* _tmp23_ = NULL; + GeeCollection* _tmp24_ = NULL; +#line 510 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = to_add; +#line 510 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL); +#line 510 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = _tmp23_; +#line 510 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp24_); +#line 3357 "ViewCollection.c" + } +#line 500 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_add); +#line 3361 "ViewCollection.c" +} + + +static void view_collection_on_mirror_contents_removed (ViewCollection* self, GeeIterable* removed) { + Marker* marker = NULL; + Marker* _tmp0_ = NULL; + Marker* _tmp17_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 513 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 514 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 514 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker = _tmp0_; +#line 3377 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = removed; +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp2_; +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 3390 "ViewCollection.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataView* view = NULL; + DataObject* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; + DataView* our_view = NULL; + DataView* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + DataView* _tmp12_ = NULL; + DataView* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; + Marker* _tmp15_ = NULL; + DataView* _tmp16_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _object_it; +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp4_) { +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 3416 "ViewCollection.c" + } +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _object_it; +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp6_; +#line 516 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = object; +#line 516 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_VIEW, DataView)); +#line 516 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp8_; +#line 518 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = view; +#line 518 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = data_view_get_source (_tmp9_); +#line 518 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = _tmp10_; +#line 518 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = view_collection_get_view_for_source (self, _tmp11_); +#line 518 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = _tmp12_; +#line 518 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp11_); +#line 518 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + our_view = _tmp13_; +#line 519 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = our_view; +#line 519 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp14_ != NULL, "our_view != null"); +#line 521 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = marker; +#line 521 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = our_view; +#line 521 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker_mark (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_OBJECT, DataObject)); +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (our_view); +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 3460 "ViewCollection.c" + } +#line 515 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 3464 "ViewCollection.c" + } +#line 524 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = marker; +#line 524 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp17_); +#line 513 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (marker); +#line 3472 "ViewCollection.c" +} + + +static void view_collection_real_notify_items_added (DataCollection* base, GeeIterable* added) { + ViewCollection * self; + GeeArrayList* added_visible = NULL; + GeeArrayList* added_selected = NULL; + GeeArrayList* _tmp30_ = NULL; + GeeArrayList* _tmp34_ = NULL; + GeeIterable* _tmp37_ = NULL; +#line 528 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 528 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 529 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + added_visible = NULL; +#line 530 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + added_selected = NULL; +#line 3491 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = added; +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp1_; +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 3504 "ViewCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataView* view = NULL; + DataObject* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + GeeHashMap* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + DataView* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + DataView* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp22_ = FALSE; + DataView* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _object_it; +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 3532 "ViewCollection.c" + } +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _object_it; +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp5_; +#line 533 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = object; +#line 533 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_VIEW, DataView)); +#line 533 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp7_; +#line 534 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = self->priv->source_map; +#line 534 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = view; +#line 534 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = data_view_get_source (_tmp9_); +#line 534 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = _tmp10_; +#line 534 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = view; +#line 534 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, _tmp12_); +#line 534 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp11_); +#line 536 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = view; +#line 536 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = data_view_is_selected (_tmp14_); +#line 536 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp15_) { +#line 3566 "ViewCollection.c" + DataView* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 536 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = view; +#line 536 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = data_view_is_visible (_tmp16_); +#line 536 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = _tmp17_; +#line 3575 "ViewCollection.c" + } else { +#line 536 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = FALSE; +#line 3579 "ViewCollection.c" + } +#line 536 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp13_) { +#line 3583 "ViewCollection.c" + GeeArrayList* _tmp18_ = NULL; + GeeArrayList* _tmp20_ = NULL; + DataView* _tmp21_ = NULL; +#line 537 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = added_selected; +#line 537 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp18_ == NULL) { +#line 3591 "ViewCollection.c" + GeeArrayList* _tmp19_ = NULL; +#line 538 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 538 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (added_selected); +#line 538 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + added_selected = _tmp19_; +#line 3599 "ViewCollection.c" + } +#line 540 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = added_selected; +#line 540 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = view; +#line 540 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp21_); +#line 3607 "ViewCollection.c" + } +#line 544 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = view; +#line 544 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = data_view_is_visible (_tmp23_); +#line 544 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp24_) { +#line 3615 "ViewCollection.c" + DataSet* _tmp25_ = NULL; +#line 544 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = self->priv->visible; +#line 544 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = _tmp25_ != NULL; +#line 3621 "ViewCollection.c" + } else { +#line 544 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = FALSE; +#line 3625 "ViewCollection.c" + } +#line 544 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp22_) { +#line 3629 "ViewCollection.c" + GeeArrayList* _tmp26_ = NULL; + GeeArrayList* _tmp28_ = NULL; + DataView* _tmp29_ = NULL; +#line 545 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = added_visible; +#line 545 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp26_ == NULL) { +#line 3637 "ViewCollection.c" + GeeArrayList* _tmp27_ = NULL; +#line 546 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 546 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (added_visible); +#line 546 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + added_visible = _tmp27_; +#line 3645 "ViewCollection.c" + } +#line 548 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = added_visible; +#line 548 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = view; +#line 548 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp29_); +#line 3653 "ViewCollection.c" + } +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 3659 "ViewCollection.c" + } +#line 532 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 3663 "ViewCollection.c" + } +#line 552 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp30_ = added_visible; +#line 552 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp30_ != NULL) { +#line 3669 "ViewCollection.c" + gboolean is_added = FALSE; + GeeArrayList* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + gboolean _tmp33_ = FALSE; +#line 553 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp31_ = added_visible; +#line 553 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32_ = view_collection_add_many_visible (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 553 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + is_added = _tmp32_; +#line 554 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp33_ = is_added; +#line 554 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp33_, "is_added"); +#line 3684 "ViewCollection.c" + } +#line 557 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp34_ = added_selected; +#line 557 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp34_ != NULL) { +#line 3690 "ViewCollection.c" + GeeArrayList* _tmp35_ = NULL; + GeeArrayList* _tmp36_ = NULL; +#line 558 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp35_ = added_selected; +#line 558 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_add_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 559 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp36_ = added_selected; +#line 559 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_selected_unselected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), NULL); +#line 3701 "ViewCollection.c" + } +#line 562 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp37_ = added; +#line 562 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->notify_items_added (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp37_); +#line 528 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (added_selected); +#line 528 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (added_visible); +#line 3711 "ViewCollection.c" +} + + +static void view_collection_real_notify_items_removed (DataCollection* base, GeeIterable* removed) { + ViewCollection * self; + GeeArrayList* selected_removed = NULL; + GeeArrayList* _tmp42_ = NULL; + GeeIterable* _tmp44_ = NULL; +#line 566 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 566 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 567 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + selected_removed = NULL; +#line 3726 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = removed; +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp1_; +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 3739 "ViewCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataView* view = NULL; + DataObject* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + GeeHashMap* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _object_it; +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 3762 "ViewCollection.c" + } +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _object_it; +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp5_; +#line 569 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = object; +#line 569 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_VIEW, DataView)); +#line 569 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp7_; +#line 575 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = self->priv->source_map; +#line 575 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = view; +#line 575 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = data_view_get_source (_tmp9_); +#line 575 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = _tmp10_; +#line 575 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_); +#line 575 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = _tmp12_; +#line 575 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp11_); +#line 575 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp13_) { +#line 3792 "ViewCollection.c" + gboolean is_removed = FALSE; + GeeHashMap* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; + DataSource* _tmp16_ = NULL; + DataSource* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + DataView* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + gboolean _tmp34_ = FALSE; + DataView* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; +#line 576 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = self->priv->source_map; +#line 576 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = view; +#line 576 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = data_view_get_source (_tmp15_); +#line 576 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = _tmp16_; +#line 576 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp17_, NULL); +#line 576 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = _tmp18_; +#line 576 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp17_); +#line 576 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + is_removed = _tmp19_; +#line 577 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = is_removed; +#line 577 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp20_, "is_removed"); +#line 579 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = view; +#line 579 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = data_view_is_selected (_tmp21_); +#line 579 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp22_) { +#line 3832 "ViewCollection.c" + DataSet* _tmp23_ = NULL; + DataView* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + DataView* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + DataView* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 581 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = self->priv->selected; +#line 581 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = view; +#line 581 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = data_set_contains (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_OBJECT, DataObject)); +#line 581 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = view; +#line 581 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = data_view_is_visible (_tmp26_); +#line 581 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp25_ == _tmp27_, "selected.contains(view) == view.is_visible()"); +#line 583 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = view; +#line 583 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = data_view_is_visible (_tmp28_); +#line 583 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp29_) { +#line 3858 "ViewCollection.c" + GeeArrayList* _tmp30_ = NULL; + GeeArrayList* _tmp32_ = NULL; + DataView* _tmp33_ = NULL; +#line 584 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp30_ = selected_removed; +#line 584 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp30_ == NULL) { +#line 3866 "ViewCollection.c" + GeeArrayList* _tmp31_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp31_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 585 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (selected_removed); +#line 585 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + selected_removed = _tmp31_; +#line 3874 "ViewCollection.c" + } +#line 587 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32_ = selected_removed; +#line 587 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp33_ = view; +#line 587 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp33_); +#line 3882 "ViewCollection.c" + } + } +#line 591 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp35_ = view; +#line 591 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp36_ = data_view_is_visible (_tmp35_); +#line 591 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp36_) { +#line 3891 "ViewCollection.c" + DataSet* _tmp37_ = NULL; +#line 591 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp37_ = self->priv->visible; +#line 591 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp34_ = _tmp37_ != NULL; +#line 3897 "ViewCollection.c" + } else { +#line 591 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp34_ = FALSE; +#line 3901 "ViewCollection.c" + } +#line 591 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp34_) { +#line 3905 "ViewCollection.c" + DataSet* _tmp38_ = NULL; + DataView* _tmp39_ = NULL; + gboolean _tmp40_ = FALSE; + gboolean _tmp41_ = FALSE; +#line 592 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp38_ = self->priv->visible; +#line 592 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp39_ = view; +#line 592 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp40_ = data_set_remove (_tmp38_, G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, TYPE_DATA_OBJECT, DataObject)); +#line 592 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + is_removed = _tmp40_; +#line 593 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp41_ = is_removed; +#line 593 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp41_, "is_removed"); +#line 3922 "ViewCollection.c" + } + } +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 3929 "ViewCollection.c" + } +#line 568 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 3933 "ViewCollection.c" + } +#line 598 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp42_ = selected_removed; +#line 598 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp42_ != NULL) { +#line 3939 "ViewCollection.c" + GeeArrayList* _tmp43_ = NULL; +#line 599 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp43_ = selected_removed; +#line 599 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_remove_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 604 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_selection_group_altered (self); +#line 3947 "ViewCollection.c" + } +#line 607 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp44_ = removed; +#line 607 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->notify_items_removed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp44_); +#line 566 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (selected_removed); +#line 3955 "ViewCollection.c" +} + + +static void view_collection_filter_altered_items (ViewCollection* self, GeeCollection* views) { + GeeArrayList* to_show = NULL; + GeeArrayList* to_hide = NULL; + GeeArrayList* _tmp20_ = NULL; + GeeArrayList* _tmp22_ = NULL; +#line 610 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 610 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (views)); +#line 613 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_show = NULL; +#line 614 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_hide = NULL; +#line 3972 "ViewCollection.c" + { + GeeIterator* _view_it = NULL; + GeeCollection* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = views; +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_it = _tmp1_; +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 3985 "ViewCollection.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _view_it; +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 4001 "ViewCollection.c" + } +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _view_it; +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp5_; +#line 620 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = view; +#line 620 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = view_collection_is_in_filter (self, _tmp6_); +#line 620 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp7_) { +#line 4015 "ViewCollection.c" + DataView* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 621 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = view; +#line 621 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = data_view_is_visible (_tmp8_); +#line 621 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp9_) { +#line 4024 "ViewCollection.c" + GeeArrayList* _tmp10_ = NULL; + GeeArrayList* _tmp12_ = NULL; + DataView* _tmp13_ = NULL; +#line 622 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = to_show; +#line 622 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp10_ == NULL) { +#line 4032 "ViewCollection.c" + GeeArrayList* _tmp11_ = NULL; +#line 623 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 623 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_show); +#line 623 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_show = _tmp11_; +#line 4040 "ViewCollection.c" + } +#line 625 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = to_show; +#line 625 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = view; +#line 625 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_); +#line 4048 "ViewCollection.c" + } + } else { + DataView* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 628 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = view; +#line 628 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = data_view_is_visible (_tmp14_); +#line 628 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp15_) { +#line 4059 "ViewCollection.c" + GeeArrayList* _tmp16_ = NULL; + GeeArrayList* _tmp18_ = NULL; + DataView* _tmp19_ = NULL; +#line 629 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = to_hide; +#line 629 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp16_ == NULL) { +#line 4067 "ViewCollection.c" + GeeArrayList* _tmp17_ = NULL; +#line 630 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 630 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_hide); +#line 630 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + to_hide = _tmp17_; +#line 4075 "ViewCollection.c" + } +#line 632 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = to_hide; +#line 632 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = view; +#line 632 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp19_); +#line 4083 "ViewCollection.c" + } + } +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 4088 "ViewCollection.c" + } +#line 619 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_view_it); +#line 4092 "ViewCollection.c" + } +#line 641 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = to_show; +#line 641 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp20_ != NULL) { +#line 4098 "ViewCollection.c" + GeeArrayList* _tmp21_ = NULL; +#line 642 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = to_show; +#line 642 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_show_items (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_LIST, GeeList)); +#line 4104 "ViewCollection.c" + } +#line 644 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = to_hide; +#line 644 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp22_ != NULL) { +#line 4110 "ViewCollection.c" + GeeArrayList* _tmp23_ = NULL; +#line 645 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = to_hide; +#line 645 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_hide_items (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_LIST, GeeList)); +#line 4116 "ViewCollection.c" + } +#line 610 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_hide); +#line 610 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (to_show); +#line 4122 "ViewCollection.c" +} + + +static void view_collection_real_items_altered (DataCollection* base, GeeMap* map) { + ViewCollection * self; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeMap* _tmp4_ = NULL; +#line 648 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 648 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 649 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = map; +#line 649 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 649 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp1_; +#line 649 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 649 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_filter_altered_items (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 649 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp3_); +#line 651 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = map; +#line 651 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->items_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp4_); +#line 4153 "ViewCollection.c" +} + + +static void view_collection_real_set_comparator (DataCollection* base, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target) { + ViewCollection * self; + DataSet* _tmp0_ = NULL; + Comparator _tmp1_ = NULL; + void* _tmp1__target = NULL; + ComparatorPredicate _tmp2_ = NULL; + void* _tmp2__target = NULL; + DataSet* _tmp3_ = NULL; + Comparator _tmp7_ = NULL; + void* _tmp7__target = NULL; + ComparatorPredicate _tmp8_ = NULL; + void* _tmp8__target = NULL; +#line 654 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 655 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->selected; +#line 655 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = comparator; +#line 655 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1__target = comparator_target; +#line 655 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = predicate; +#line 655 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2__target = predicate_target; +#line 655 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_set_set_comparator (_tmp0_, _tmp1_, _tmp1__target, _tmp2_, _tmp2__target); +#line 656 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = self->priv->visible; +#line 656 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp3_ != NULL) { +#line 4187 "ViewCollection.c" + DataSet* _tmp4_ = NULL; + Comparator _tmp5_ = NULL; + void* _tmp5__target = NULL; + ComparatorPredicate _tmp6_ = NULL; + void* _tmp6__target = NULL; +#line 657 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = self->priv->visible; +#line 657 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = comparator; +#line 657 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5__target = comparator_target; +#line 657 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = predicate; +#line 657 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6__target = predicate_target; +#line 657 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_set_set_comparator (_tmp4_, _tmp5_, _tmp5__target, _tmp6_, _tmp6__target); +#line 4205 "ViewCollection.c" + } +#line 659 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = comparator; +#line 659 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7__target = comparator_target; +#line 659 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = predicate; +#line 659 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8__target = predicate_target; +#line 659 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->set_comparator (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp7_, _tmp7__target, _tmp8_, _tmp8__target); +#line 4217 "ViewCollection.c" +} + + +static void view_collection_real_reset_comparator (DataCollection* base) { + ViewCollection * self; + DataSet* _tmp0_ = NULL; + DataSet* _tmp1_ = NULL; +#line 662 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 663 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->selected; +#line 663 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_set_reset_comparator (_tmp0_); +#line 664 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->visible; +#line 664 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ != NULL) { +#line 4235 "ViewCollection.c" + DataSet* _tmp2_ = NULL; +#line 665 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->visible; +#line 665 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_set_reset_comparator (_tmp2_); +#line 4241 "ViewCollection.c" + } +#line 667 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->reset_comparator (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 4245 "ViewCollection.c" +} + + +static GeeCollection* view_collection_real_get_all (DataCollection* base) { + ViewCollection * self; + GeeCollection* result = NULL; + GeeCollection* _tmp0_ = NULL; + DataSet* _tmp1_ = NULL; +#line 670 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->visible; +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ != NULL) { +#line 4260 "ViewCollection.c" + DataSet* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->visible; +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = data_set_get_all (_tmp2_); +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp0_); +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 4271 "ViewCollection.c" + } else { + GeeCollection* _tmp4_ = NULL; +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->get_all (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp0_); +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp4_; +#line 4280 "ViewCollection.c" + } +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 671 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4286 "ViewCollection.c" +} + + +GeeCollection* view_collection_get_all_unfiltered (ViewCollection* self) { + GeeCollection* result = NULL; + GeeCollection* _tmp0_ = NULL; +#line 674 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 675 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->get_all (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 675 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 675 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4301 "ViewCollection.c" +} + + +static gint view_collection_real_get_count (DataCollection* base) { + ViewCollection * self; + gint result = 0; + gint _tmp0_ = 0; + DataSet* _tmp1_ = NULL; +#line 678 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->visible; +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ != NULL) { +#line 4316 "ViewCollection.c" + DataSet* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->visible; +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = data_set_get_count (_tmp2_); +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp3_; +#line 4325 "ViewCollection.c" + } else { + gint _tmp4_ = 0; +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp4_; +#line 4332 "ViewCollection.c" + } +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 679 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4338 "ViewCollection.c" +} + + +gint view_collection_get_unfiltered_count (ViewCollection* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 682 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), 0); +#line 683 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 683 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 683 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4353 "ViewCollection.c" +} + + +static DataObject* view_collection_real_get_at (DataCollection* base, gint index) { + ViewCollection * self; + DataObject* result = NULL; + DataObject* _tmp0_ = NULL; + DataSet* _tmp1_ = NULL; +#line 686 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->visible; +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ != NULL) { +#line 4368 "ViewCollection.c" + DataSet* _tmp2_ = NULL; + gint _tmp3_ = 0; + DataObject* _tmp4_ = NULL; +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->visible; +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = index; +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = data_set_get_at (_tmp2_, _tmp3_); +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp0_); +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp4_; +#line 4382 "ViewCollection.c" + } else { + gint _tmp5_ = 0; + DataObject* _tmp6_ = NULL; +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = index; +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->get_at (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp5_); +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp0_); +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp6_; +#line 4394 "ViewCollection.c" + } +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 687 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4400 "ViewCollection.c" +} + + +static gint view_collection_real_index_of (DataCollection* base, DataObject* object) { + ViewCollection * self; + gint result = 0; + gint _tmp0_ = 0; + DataSet* _tmp1_ = NULL; +#line 690 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 690 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), 0); +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->visible; +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ != NULL) { +#line 4417 "ViewCollection.c" + DataSet* _tmp2_ = NULL; + DataObject* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->visible; +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = object; +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = data_set_index_of (_tmp2_, _tmp3_); +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp4_; +#line 4429 "ViewCollection.c" + } else { + DataObject* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = object; +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->index_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp5_); +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp6_; +#line 4439 "ViewCollection.c" + } +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 691 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4445 "ViewCollection.c" +} + + +static gboolean view_collection_real_contains (DataCollection* base, DataObject* object) { + ViewCollection * self; + gboolean result = FALSE; + DataObject* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + DataObject* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 694 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 694 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 697 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = object; +#line 697 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->contains (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp0_); +#line 697 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp1_) { +#line 698 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = FALSE; +#line 698 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4470 "ViewCollection.c" + } +#line 701 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = object; +#line 701 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = view_collection_is_visible (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_VIEW, DataView)); +#line 701 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp3_; +#line 701 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4480 "ViewCollection.c" +} + + +static DataView* view_collection_real_get_first (ViewCollection* self) { + DataView* result = NULL; + DataView* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ > 0) { +#line 4492 "ViewCollection.c" + DataObject* _tmp2_ = NULL; +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), 0); +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp0_); +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_VIEW, DataView); +#line 4500 "ViewCollection.c" + } else { +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp0_); +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = NULL; +#line 4506 "ViewCollection.c" + } +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 705 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4512 "ViewCollection.c" +} + + +DataView* view_collection_get_first (ViewCollection* self) { +#line 704 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 704 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return VIEW_COLLECTION_GET_CLASS (self)->get_first (self); +#line 4521 "ViewCollection.c" +} + + +/** + * @brief A helper method for places in the app that need a + * non-rejected media source (namely Events, when looking to + * automatically choose a thumbnail). + * + * @note If every view in this collection is rejected, we + * return the first view; this is intentional. This prevents + * pathological events that have nothing but rejected images + * in them from breaking. + */ +static DataView* view_collection_real_get_first_unrejected (ViewCollection* self) { + DataView* result = NULL; + gint _tmp0_ = 0; + DataView* dv = NULL; + DataView* _tmp1_ = NULL; + gint num_views = 0; + gint _tmp2_ = 0; + DataView* _tmp17_ = NULL; +#line 720 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 720 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp0_ < 1) { +#line 721 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = NULL; +#line 721 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4551 "ViewCollection.c" + } +#line 724 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view_collection_get_first (self); +#line 724 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + dv = _tmp1_; +#line 725 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 725 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + num_views = _tmp2_; +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 4563 "ViewCollection.c" + gboolean _tmp3_ = FALSE; + DataView* _tmp4_ = NULL; + MediaSource* tmp = NULL; + DataView* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + MediaSource* _tmp12_ = NULL; +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = dv; +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp4_ != NULL) { +#line 4576 "ViewCollection.c" + DataView* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = dv; +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = data_collection_index_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = num_views; +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp6_ < (_tmp7_ - 1); +#line 4588 "ViewCollection.c" + } else { +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = FALSE; +#line 4592 "ViewCollection.c" + } +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 4598 "ViewCollection.c" + } +#line 728 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = dv; +#line 728 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = data_view_get_source (_tmp8_); +#line 728 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_MEDIA_SOURCE) ? ((MediaSource*) _tmp9_) : NULL; +#line 728 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp10_ == NULL) { +#line 728 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp9_); +#line 4610 "ViewCollection.c" + } +#line 728 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + tmp = _tmp10_; +#line 730 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = tmp; +#line 730 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp12_ != NULL) { +#line 4618 "ViewCollection.c" + MediaSource* _tmp13_ = NULL; + Rating _tmp14_ = 0; +#line 730 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = tmp; +#line 730 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = media_source_get_rating (_tmp13_); +#line 730 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = _tmp14_ != RATING_REJECTED; +#line 4627 "ViewCollection.c" + } else { +#line 730 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = FALSE; +#line 4631 "ViewCollection.c" + } +#line 730 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp11_) { +#line 732 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = dv; +#line 732 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (tmp); +#line 732 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4641 "ViewCollection.c" + } else { + DataView* _tmp15_ = NULL; + DataView* _tmp16_ = NULL; +#line 734 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = dv; +#line 734 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = view_collection_get_next (self, _tmp15_); +#line 734 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (dv); +#line 734 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + dv = _tmp16_; +#line 4653 "ViewCollection.c" + } +#line 727 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (tmp); +#line 4657 "ViewCollection.c" + } +#line 740 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = view_collection_get_first (self); +#line 740 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp17_; +#line 740 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (dv); +#line 740 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4667 "ViewCollection.c" +} + + +DataView* view_collection_get_first_unrejected (ViewCollection* self) { +#line 718 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 718 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return VIEW_COLLECTION_GET_CLASS (self)->get_first_unrejected (self); +#line 4676 "ViewCollection.c" +} + + +static DataView* view_collection_real_get_last (ViewCollection* self) { + DataView* result = NULL; + DataView* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ > 0) { +#line 4688 "ViewCollection.c" + gint _tmp2_ = 0; + DataObject* _tmp3_ = NULL; +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp2_ - 1); +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp0_); +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_VIEW, DataView); +#line 4699 "ViewCollection.c" + } else { +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp0_); +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = NULL; +#line 4705 "ViewCollection.c" + } +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 744 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4711 "ViewCollection.c" +} + + +DataView* view_collection_get_last (ViewCollection* self) { +#line 743 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 743 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return VIEW_COLLECTION_GET_CLASS (self)->get_last (self); +#line 4720 "ViewCollection.c" +} + + +static DataView* view_collection_real_get_next (ViewCollection* self, DataView* view) { + DataView* result = NULL; + gint _tmp0_ = 0; + gint index = 0; + DataView* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + DataObject* _tmp8_ = NULL; +#line 747 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), NULL); +#line 748 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 748 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp0_ == 0) { +#line 749 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = NULL; +#line 749 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4746 "ViewCollection.c" + } +#line 751 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view; +#line 751 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_index_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 751 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + index = _tmp2_; +#line 752 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = index; +#line 752 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp3_ < 0) { +#line 753 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = NULL; +#line 753 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4762 "ViewCollection.c" + } +#line 755 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = index; +#line 755 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + index = _tmp4_ + 1; +#line 756 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = index; +#line 756 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 756 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_ >= _tmp6_) { +#line 757 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + index = 0; +#line 4776 "ViewCollection.c" + } +#line 759 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = index; +#line 759 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp7_); +#line 759 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_VIEW, DataView); +#line 759 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4786 "ViewCollection.c" +} + + +DataView* view_collection_get_next (ViewCollection* self, DataView* view) { +#line 747 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 747 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return VIEW_COLLECTION_GET_CLASS (self)->get_next (self, view); +#line 4795 "ViewCollection.c" +} + + +static DataView* view_collection_real_get_previous (ViewCollection* self, DataView* view) { + DataView* result = NULL; + gint _tmp0_ = 0; + gint index = 0; + DataView* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp7_ = 0; + DataObject* _tmp8_ = NULL; +#line 762 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), NULL); +#line 763 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 763 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp0_ == 0) { +#line 764 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = NULL; +#line 764 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4820 "ViewCollection.c" + } +#line 766 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view; +#line 766 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_index_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 766 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + index = _tmp2_; +#line 767 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = index; +#line 767 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp3_ < 0) { +#line 768 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = NULL; +#line 768 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4836 "ViewCollection.c" + } +#line 770 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = index; +#line 770 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + index = _tmp4_ - 1; +#line 771 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = index; +#line 771 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_ < 0) { +#line 4846 "ViewCollection.c" + gint _tmp6_ = 0; +#line 772 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 772 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + index = _tmp6_ - 1; +#line 4852 "ViewCollection.c" + } +#line 774 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = index; +#line 774 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp7_); +#line 774 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_VIEW, DataView); +#line 774 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4862 "ViewCollection.c" +} + + +DataView* view_collection_get_previous (ViewCollection* self, DataView* view) { +#line 762 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 762 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return VIEW_COLLECTION_GET_CLASS (self)->get_previous (self, view); +#line 4871 "ViewCollection.c" +} + + +gboolean view_collection_get_immediate_neighbors (ViewCollection* self, DataSource* home, DataSource** next, DataSource** prev, const gchar* type_selector) { + DataSource* _vala_next = NULL; + DataSource* _vala_prev = NULL; + gboolean result = FALSE; + DataView* home_view = NULL; + DataSource* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + DataView* next_view = NULL; + DataView* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + DataView* prev_view = NULL; + DataView* _tmp19_ = NULL; + DataView* _tmp20_ = NULL; +#line 777 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 777 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_SOURCE (home), FALSE); +#line 779 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_vala_next); +#line 779 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_next = NULL; +#line 780 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_vala_prev); +#line 780 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_prev = NULL; +#line 782 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = home; +#line 782 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view_collection_get_view_for_source (self, _tmp0_); +#line 782 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + home_view = _tmp1_; +#line 783 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = home_view; +#line 783 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp2_ == NULL) { +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = FALSE; +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (home_view); +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (next) { +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *next = _vala_next; +#line 4919 "ViewCollection.c" + } else { +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_vala_next); +#line 4923 "ViewCollection.c" + } +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (prev) { +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *prev = _vala_prev; +#line 4929 "ViewCollection.c" + } else { +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_vala_prev); +#line 4933 "ViewCollection.c" + } +#line 784 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 4937 "ViewCollection.c" + } +#line 786 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = home_view; +#line 786 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = view_collection_get_next (self, _tmp3_); +#line 786 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + next_view = _tmp4_; +#line 787 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 4947 "ViewCollection.c" + DataView* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + const gchar* _tmp8_ = NULL; + DataView* _tmp17_ = NULL; + DataView* _tmp18_ = NULL; +#line 787 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = next_view; +#line 787 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = home_view; +#line 787 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!(_tmp5_ != _tmp6_)) { +#line 787 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 4962 "ViewCollection.c" + } +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = type_selector; +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp8_ == NULL) { +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = TRUE; +#line 4970 "ViewCollection.c" + } else { + DataView* _tmp9_ = NULL; + DataSource* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = next_view; +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = data_view_get_source (_tmp9_); +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = _tmp10_; +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = data_source_get_typename (_tmp11_); +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = _tmp12_; +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = type_selector; +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = g_strcmp0 (_tmp13_, _tmp14_) == 0; +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_free0 (_tmp13_); +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp11_); +#line 4996 "ViewCollection.c" + } +#line 788 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp7_) { +#line 5000 "ViewCollection.c" + DataView* _tmp15_ = NULL; + DataSource* _tmp16_ = NULL; +#line 789 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = next_view; +#line 789 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = data_view_get_source (_tmp15_); +#line 789 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_vala_next); +#line 789 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_next = _tmp16_; +#line 790 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 5013 "ViewCollection.c" + } +#line 792 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = next_view; +#line 792 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = view_collection_get_next (self, _tmp17_); +#line 792 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next_view); +#line 792 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + next_view = _tmp18_; +#line 5023 "ViewCollection.c" + } +#line 795 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = home_view; +#line 795 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = view_collection_get_previous (self, _tmp19_); +#line 795 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + prev_view = _tmp20_; +#line 796 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 5033 "ViewCollection.c" + DataView* _tmp21_ = NULL; + DataView* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + const gchar* _tmp24_ = NULL; + DataView* _tmp33_ = NULL; + DataView* _tmp34_ = NULL; +#line 796 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = prev_view; +#line 796 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = home_view; +#line 796 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!(_tmp21_ != _tmp22_)) { +#line 796 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 5048 "ViewCollection.c" + } +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = type_selector; +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp24_ == NULL) { +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = TRUE; +#line 5056 "ViewCollection.c" + } else { + DataView* _tmp25_ = NULL; + DataSource* _tmp26_ = NULL; + DataSource* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = prev_view; +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = data_view_get_source (_tmp25_); +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = _tmp26_; +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = data_source_get_typename (_tmp27_); +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = _tmp28_; +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp30_ = type_selector; +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = g_strcmp0 (_tmp29_, _tmp30_) == 0; +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_free0 (_tmp29_); +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp27_); +#line 5082 "ViewCollection.c" + } +#line 797 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp23_) { +#line 5086 "ViewCollection.c" + DataView* _tmp31_ = NULL; + DataSource* _tmp32_ = NULL; +#line 798 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp31_ = prev_view; +#line 798 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32_ = data_view_get_source (_tmp31_); +#line 798 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_vala_prev); +#line 798 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_prev = _tmp32_; +#line 799 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 5099 "ViewCollection.c" + } +#line 801 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp33_ = prev_view; +#line 801 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp34_ = view_collection_get_previous (self, _tmp33_); +#line 801 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (prev_view); +#line 801 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + prev_view = _tmp34_; +#line 5109 "ViewCollection.c" + } +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (prev_view); +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next_view); +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (home_view); +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (next) { +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *next = _vala_next; +#line 5123 "ViewCollection.c" + } else { +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_vala_next); +#line 5127 "ViewCollection.c" + } +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (prev) { +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *prev = _vala_prev; +#line 5133 "ViewCollection.c" + } else { +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_vala_prev); +#line 5137 "ViewCollection.c" + } +#line 804 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5141 "ViewCollection.c" +} + + +GeeSet* view_collection_get_extended_neighbors (ViewCollection* self, DataSource* home, const gchar* typename) { + GeeSet* result = NULL; + GeeSet* neighbors = NULL; + GeeHashSet* _tmp0_ = NULL; + DataSource* next = NULL; + DataSource* prev = NULL; + DataSource* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + DataSource* _tmp6_ = NULL; + DataSource* _tmp16_ = NULL; + GeeSet* _tmp26_ = NULL; + DataSource* _tmp27_ = NULL; +#line 808 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 808 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_SOURCE (home), NULL); +#line 810 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_hash_set_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 810 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + neighbors = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_SET, GeeSet); +#line 814 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = home; +#line 814 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = typename; +#line 814 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = view_collection_get_immediate_neighbors (self, _tmp1_, &_tmp3_, &_tmp4_, _tmp2_); +#line 814 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next); +#line 814 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + next = _tmp3_; +#line 814 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (prev); +#line 814 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + prev = _tmp4_; +#line 814 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp5_) { +#line 815 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = neighbors; +#line 815 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (prev); +#line 815 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next); +#line 815 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5192 "ViewCollection.c" + } +#line 818 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = next; +#line 818 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp6_ != NULL) { +#line 5198 "ViewCollection.c" + GeeSet* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; + DataSource* next_next = NULL; + DataSource* next_prev = NULL; + DataSource* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + DataSource* _tmp13_ = NULL; +#line 819 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = neighbors; +#line 819 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = next; +#line 819 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), _tmp8_); +#line 822 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = next; +#line 822 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = typename; +#line 822 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_get_immediate_neighbors (self, _tmp9_, &_tmp11_, &_tmp12_, _tmp10_); +#line 822 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next_next); +#line 822 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + next_next = _tmp11_; +#line 822 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next_prev); +#line 822 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + next_prev = _tmp12_; +#line 825 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = next_next; +#line 825 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp13_ != NULL) { +#line 5232 "ViewCollection.c" + GeeSet* _tmp14_ = NULL; + DataSource* _tmp15_ = NULL; +#line 826 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = neighbors; +#line 826 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = next_next; +#line 826 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection), _tmp15_); +#line 5241 "ViewCollection.c" + } +#line 818 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next_prev); +#line 818 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next_next); +#line 5247 "ViewCollection.c" + } +#line 830 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = prev; +#line 830 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp16_ != NULL) { +#line 5253 "ViewCollection.c" + GeeSet* _tmp17_ = NULL; + DataSource* _tmp18_ = NULL; + DataSource* next_prev = NULL; + DataSource* prev_prev = NULL; + DataSource* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + DataSource* _tmp21_ = NULL; + DataSource* _tmp22_ = NULL; + DataSource* _tmp23_ = NULL; +#line 831 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = neighbors; +#line 831 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = prev; +#line 831 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection), _tmp18_); +#line 834 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = prev; +#line 834 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = typename; +#line 834 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_get_immediate_neighbors (self, _tmp19_, &_tmp21_, &_tmp22_, _tmp20_); +#line 834 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next_prev); +#line 834 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + next_prev = _tmp21_; +#line 834 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (prev_prev); +#line 834 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + prev_prev = _tmp22_; +#line 837 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = prev_prev; +#line 837 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp23_ != NULL) { +#line 5287 "ViewCollection.c" + GeeSet* _tmp24_ = NULL; + DataSource* _tmp25_ = NULL; +#line 838 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = neighbors; +#line 838 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = prev_prev; +#line 838 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 5296 "ViewCollection.c" + } +#line 830 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (prev_prev); +#line 830 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next_prev); +#line 5302 "ViewCollection.c" + } +#line 842 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = neighbors; +#line 842 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = home; +#line 842 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection), _tmp27_); +#line 844 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = neighbors; +#line 844 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (prev); +#line 844 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (next); +#line 844 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5318 "ViewCollection.c" +} + + +static void view_collection_add_many_selected (ViewCollection* self, GeeCollection* views) { + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean added = FALSE; + DataSet* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 849 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 849 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (views)); +#line 850 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = views; +#line 850 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 850 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp1_; +#line 850 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp2_ == 0) { +#line 851 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return; +#line 5345 "ViewCollection.c" + } + { + GeeIterator* _view_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = views; +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_it = _tmp4_; +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 5359 "ViewCollection.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DataView* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _view_it; +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp6_) { +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 5375 "ViewCollection.c" + } +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = _view_it; +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp8_; +#line 854 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = view; +#line 854 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = data_view_is_visible (_tmp9_); +#line 854 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp10_, "view.is_visible()"); +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 5391 "ViewCollection.c" + } +#line 853 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_view_it); +#line 5395 "ViewCollection.c" + } +#line 856 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = self->priv->selected; +#line 856 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = views; +#line 856 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = data_set_add_many (_tmp11_, _tmp12_); +#line 856 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + added = _tmp13_; +#line 857 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = added; +#line 857 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp14_, "added"); +#line 5409 "ViewCollection.c" +} + + +static void view_collection_remove_many_selected (ViewCollection* self, GeeCollection* views) { + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean removed = FALSE; + DataSet* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 860 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 860 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (views)); +#line 861 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = views; +#line 861 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 861 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp1_; +#line 861 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp2_ == 0) { +#line 862 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return; +#line 5436 "ViewCollection.c" + } +#line 864 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = self->priv->selected; +#line 864 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = views; +#line 864 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = data_set_remove_many (_tmp3_, _tmp4_); +#line 864 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + removed = _tmp5_; +#line 865 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = removed; +#line 865 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp6_, "removed"); +#line 5450 "ViewCollection.c" +} + + +static gboolean _view_collection_select_item_marked_action (DataObject* object, GObject* user, gpointer self) { + gboolean result; + result = view_collection_select_item ((ViewCollection*) self, object, user); +#line 871 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5459 "ViewCollection.c" +} + + +void view_collection_select_marked (ViewCollection* self, Marker* marker) { + GeeArrayList* selected = NULL; + GeeArrayList* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 869 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 869 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_MARKER (marker)); +#line 870 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 870 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + selected = _tmp0_; +#line 871 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = marker; +#line 871 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = selected; +#line 871 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_act_on_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp1_, _view_collection_select_item_marked_action, self, NULL, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, G_TYPE_OBJECT, GObject)); +#line 873 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = selected; +#line 873 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 873 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 873 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_ > 0) { +#line 5493 "ViewCollection.c" + GeeArrayList* _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; +#line 874 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = selected; +#line 874 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_add_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 875 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = selected; +#line 875 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_selected_unselected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), NULL); +#line 5504 "ViewCollection.c" + } +#line 869 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (selected); +#line 5508 "ViewCollection.c" +} + + +void view_collection_select_all (ViewCollection* self) { + Marker* marker = NULL; + Marker* _tmp0_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 881 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 881 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker = _tmp0_; +#line 882 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker_mark_all (marker); +#line 883 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_select_marked (self, marker); +#line 880 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (marker); +#line 5527 "ViewCollection.c" +} + + +static gboolean view_collection_select_item (ViewCollection* self, DataObject* object, GObject* user) { + gboolean result = FALSE; + DataView* view = NULL; + DataObject* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataView* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 886 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 886 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 886 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail ((user == NULL) || G_IS_OBJECT (user), FALSE); +#line 887 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = object; +#line 887 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 887 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp1_; +#line 888 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = view; +#line 888 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = data_view_is_selected (_tmp2_); +#line 888 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp3_) { +#line 5559 "ViewCollection.c" + DataView* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 889 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = view; +#line 889 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = data_view_is_visible (_tmp4_); +#line 889 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_) { +#line 5568 "ViewCollection.c" + DataSet* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 890 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = self->priv->selected; +#line 890 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = view; +#line 890 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = data_set_contains (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject)); +#line 890 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp8_, "selected.contains(view)"); +#line 5580 "ViewCollection.c" + } +#line 892 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 892 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 892 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5588 "ViewCollection.c" + } +#line 895 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = view; +#line 895 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_view_internal_set_selected (_tmp9_, TRUE); +#line 899 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = view; +#line 899 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = data_view_is_visible (_tmp10_); +#line 899 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp11_) { +#line 5600 "ViewCollection.c" + GObject* _tmp12_ = NULL; + DataView* _tmp13_ = NULL; +#line 900 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = user; +#line 900 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = view; +#line 900 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ARRAY_LIST, GeeArrayList), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_); +#line 5609 "ViewCollection.c" + } +#line 902 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 902 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 902 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5617 "ViewCollection.c" +} + + +static gboolean _view_collection_unselect_item_marked_action (DataObject* object, GObject* user, gpointer self) { + gboolean result; + result = view_collection_unselect_item ((ViewCollection*) self, object, user); +#line 908 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5626 "ViewCollection.c" +} + + +void view_collection_unselect_marked (ViewCollection* self, Marker* marker) { + GeeArrayList* unselected = NULL; + GeeArrayList* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 906 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 906 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_MARKER (marker)); +#line 907 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 907 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + unselected = _tmp0_; +#line 908 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = marker; +#line 908 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = unselected; +#line 908 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_act_on_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp1_, _view_collection_unselect_item_marked_action, self, NULL, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, G_TYPE_OBJECT, GObject)); +#line 910 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = unselected; +#line 910 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 910 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 910 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_ > 0) { +#line 5660 "ViewCollection.c" + GeeArrayList* _tmp6_ = NULL; + GeeArrayList* _tmp7_ = NULL; +#line 911 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = unselected; +#line 911 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_remove_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 912 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = unselected; +#line 912 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_selected_unselected (self, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 5671 "ViewCollection.c" + } +#line 906 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (unselected); +#line 5675 "ViewCollection.c" +} + + +void view_collection_unselect_all (ViewCollection* self) { + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; + Marker* marker = NULL; + Marker* _tmp2_ = NULL; + Marker* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + Marker* _tmp6_ = NULL; +#line 917 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 918 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->selected; +#line 918 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = data_set_get_count (_tmp0_); +#line 918 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ == 0) { +#line 919 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return; +#line 5698 "ViewCollection.c" + } +#line 921 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 921 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker = _tmp2_; +#line 922 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = marker; +#line 922 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = view_collection_get_selected (self); +#line 922 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 922 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker_mark_many (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 922 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp5_); +#line 924 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = marker; +#line 924 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_unselect_marked (self, _tmp6_); +#line 917 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (marker); +#line 5720 "ViewCollection.c" +} + + +void view_collection_unselect_all_but (ViewCollection* self, DataView* exception) { + Marker* marker = NULL; + Marker* _tmp0_ = NULL; + Marker* _tmp15_ = NULL; +#line 928 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 928 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_VIEW (exception)); +#line 929 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 929 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker = _tmp0_; +#line 5736 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp1_; +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _tmp3_; +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp2_); +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp4_; +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 5757 "ViewCollection.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + DataView* view = NULL; + DataObject* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + DataView* _tmp12_ = NULL; +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _object_it; +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp6_) { +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 5776 "ViewCollection.c" + } +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = _object_it; +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp8_; +#line 931 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = object; +#line 931 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_VIEW, DataView)); +#line 931 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp10_; +#line 932 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = view; +#line 932 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = exception; +#line 932 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp11_ != _tmp12_) { +#line 5796 "ViewCollection.c" + Marker* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; +#line 933 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = marker; +#line 933 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = view; +#line 933 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + marker_mark (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 5805 "ViewCollection.c" + } +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 5811 "ViewCollection.c" + } +#line 930 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 5815 "ViewCollection.c" + } +#line 936 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = marker; +#line 936 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_unselect_marked (self, _tmp15_); +#line 928 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (marker); +#line 5823 "ViewCollection.c" +} + + +static gboolean view_collection_unselect_item (ViewCollection* self, DataObject* object, GObject* user) { + gboolean result = FALSE; + DataView* view = NULL; + DataObject* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataView* _tmp7_ = NULL; + GObject* _tmp8_ = NULL; + DataView* _tmp9_ = NULL; +#line 939 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 939 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 939 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail ((user == NULL) || G_IS_OBJECT (user), FALSE); +#line 940 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = object; +#line 940 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 940 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp1_; +#line 941 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = view; +#line 941 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = data_view_is_selected (_tmp2_); +#line 941 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 5855 "ViewCollection.c" + DataSet* _tmp4_ = NULL; + DataView* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 942 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = self->priv->selected; +#line 942 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = view; +#line 942 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = data_set_contains (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_OBJECT, DataObject)); +#line 942 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (!_tmp6_, "!selected.contains(view)"); +#line 944 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 944 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 944 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5873 "ViewCollection.c" + } +#line 947 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = view; +#line 947 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_view_internal_set_selected (_tmp7_, FALSE); +#line 948 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = user; +#line 948 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = view; +#line 948 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ARRAY_LIST, GeeArrayList), GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp9_); +#line 950 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 950 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 950 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5891 "ViewCollection.c" +} + + +void view_collection_unselect_and_select_marked (ViewCollection* self, Marker* unselect, Marker* select) { + GeeArrayList* unselected = NULL; + GeeArrayList* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + GeeArrayList* selected = NULL; + GeeArrayList* _tmp2_ = NULL; + Marker* _tmp3_ = NULL; +#line 954 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 954 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_MARKER (unselect)); +#line 954 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_MARKER (select)); +#line 955 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 955 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + unselected = _tmp0_; +#line 956 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = unselect; +#line 956 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_act_on_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp1_, _view_collection_unselect_item_marked_action, self, NULL, NULL, G_TYPE_CHECK_INSTANCE_CAST (unselected, G_TYPE_OBJECT, GObject)); +#line 958 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_remove_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (unselected, GEE_TYPE_COLLECTION, GeeCollection)); +#line 960 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 960 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + selected = _tmp2_; +#line 961 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = select; +#line 961 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_act_on_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp3_, _view_collection_select_item_marked_action, self, NULL, NULL, G_TYPE_CHECK_INSTANCE_CAST (selected, G_TYPE_OBJECT, GObject)); +#line 963 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_add_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (selected, GEE_TYPE_COLLECTION, GeeCollection)); +#line 965 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_selected_unselected (self, G_TYPE_CHECK_INSTANCE_CAST (selected, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (unselected, GEE_TYPE_COLLECTION, GeeCollection)); +#line 954 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (selected); +#line 954 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (unselected); +#line 5934 "ViewCollection.c" +} + + +static gboolean _view_collection_toggle_item_marked_action (DataObject* object, GObject* user, gpointer self) { + gboolean result; + result = view_collection_toggle_item ((ViewCollection*) self, object, user); +#line 972 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 5943 "ViewCollection.c" +} + + +void view_collection_toggle_marked (ViewCollection* self, Marker* marker) { + ViewCollectionToggleLists* lists = NULL; + ViewCollectionToggleLists* _tmp0_ = NULL; + Marker* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GeeArrayList* _tmp3_ = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; +#line 970 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 970 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_MARKER (marker)); +#line 971 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = view_collection_toggle_lists_new (); +#line 971 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + lists = _tmp0_; +#line 972 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = marker; +#line 972 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_collection_act_on_marked (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp1_, _view_collection_toggle_item_marked_action, self, NULL, NULL, G_TYPE_CHECK_INSTANCE_CAST (lists, G_TYPE_OBJECT, GObject)); +#line 975 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = lists->selected; +#line 975 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_add_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 976 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = lists->unselected; +#line 976 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_remove_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 978 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = lists->selected; +#line 978 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = lists->unselected; +#line 978 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_selected_unselected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 970 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (lists); +#line 5983 "ViewCollection.c" +} + + +static gboolean view_collection_toggle_item (ViewCollection* self, DataObject* object, GObject* user) { + gboolean result = FALSE; + DataView* view = NULL; + DataObject* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + ViewCollectionToggleLists* lists = NULL; + GObject* _tmp2_ = NULL; + ViewCollectionToggleLists* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 981 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 981 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 981 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail ((user == NULL) || G_IS_OBJECT (user), FALSE); +#line 982 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = object; +#line 982 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_VIEW, DataView)); +#line 982 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp1_; +#line 983 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = user; +#line 983 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, VIEW_COLLECTION_TYPE_TOGGLE_LISTS, ViewCollectionToggleLists)); +#line 983 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + lists = _tmp3_; +#line 989 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = view; +#line 989 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = data_view_internal_toggle (_tmp4_); +#line 989 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_) { +#line 6021 "ViewCollection.c" + DataView* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 990 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = view; +#line 990 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = data_view_is_visible (_tmp6_); +#line 990 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp7_) { +#line 6030 "ViewCollection.c" + ViewCollectionToggleLists* _tmp8_ = NULL; + GeeArrayList* _tmp9_ = NULL; + DataView* _tmp10_ = NULL; +#line 991 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = lists; +#line 991 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = _tmp8_->selected; +#line 991 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = view; +#line 991 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 6042 "ViewCollection.c" + } + } else { + ViewCollectionToggleLists* _tmp11_ = NULL; + GeeArrayList* _tmp12_ = NULL; + DataView* _tmp13_ = NULL; +#line 993 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = lists; +#line 993 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = _tmp11_->unselected; +#line 993 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = view; +#line 993 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_); +#line 6056 "ViewCollection.c" + } +#line 996 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 996 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (lists); +#line 996 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 996 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6066 "ViewCollection.c" +} + + +gint view_collection_get_selected_count (ViewCollection* self) { + gint result = 0; + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 999 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), 0); +#line 1000 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->selected; +#line 1000 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = data_set_get_count (_tmp0_); +#line 1000 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp1_; +#line 1000 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6084 "ViewCollection.c" +} + + +GeeList* view_collection_get_selected (ViewCollection* self) { + GeeList* result = NULL; + DataSet* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 1003 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1004 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->selected; +#line 1004 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = data_set_get_all (_tmp0_); +#line 1004 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_LIST, GeeList); +#line 1004 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6102 "ViewCollection.c" +} + + +DataView* view_collection_get_selected_at (ViewCollection* self, gint index) { + DataView* result = NULL; + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; + DataObject* _tmp2_ = NULL; +#line 1007 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1008 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->selected; +#line 1008 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = index; +#line 1008 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_set_get_at (_tmp0_, _tmp1_); +#line 1008 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_VIEW, DataView); +#line 1008 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6123 "ViewCollection.c" +} + + +static gboolean view_collection_is_visible (ViewCollection* self, DataView* view) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + DataSet* _tmp1_ = NULL; +#line 1011 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 1011 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->visible; +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp1_ != NULL) { +#line 6139 "ViewCollection.c" + DataSet* _tmp2_ = NULL; + DataView* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->visible; +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = view; +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = data_set_contains (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = _tmp4_; +#line 6151 "ViewCollection.c" + } else { +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = TRUE; +#line 6155 "ViewCollection.c" + } +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_; +#line 1012 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6161 "ViewCollection.c" +} + + +static gboolean view_collection_add_many_visible (ViewCollection* self, GeeCollection* many) { + gboolean result = FALSE; + DataSet* _tmp0_ = NULL; + DataSet* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataSet* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 1015 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 1015 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (many), FALSE); +#line 1016 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->visible; +#line 1016 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp0_ == NULL) { +#line 1017 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 1017 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6186 "ViewCollection.c" + } +#line 1019 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->visible; +#line 1019 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = many; +#line 1019 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = data_set_add_many (_tmp1_, _tmp2_); +#line 1019 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 1020 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = FALSE; +#line 1020 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6200 "ViewCollection.c" + } +#line 1023 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = self->priv->visible; +#line 1023 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = data_set_get_count (_tmp4_); +#line 1023 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1023 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_ == _tmp6_) { +#line 1024 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_set_unref0 (self->priv->visible); +#line 1024 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->visible = NULL; +#line 6214 "ViewCollection.c" + } +#line 1026 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 1026 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6220 "ViewCollection.c" +} + + +static void view_collection_hide_items (ViewCollection* self, GeeList* to_hide) { + GeeArrayList* unselected = NULL; + GeeArrayList* _tmp0_ = NULL; + gint count = 0; + GeeList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + DataSet* _tmp22_ = NULL; + gboolean removed = FALSE; + DataSet* _tmp24_ = NULL; + GeeList* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + GeeArrayList* _tmp28_ = NULL; + GeeArrayList* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + GeeList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 1030 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 1030 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_LIST (to_hide)); +#line 1031 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1031 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + unselected = _tmp0_; +#line 1033 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = to_hide; +#line 1033 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1033 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 1033 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + count = _tmp3_; +#line 6260 "ViewCollection.c" + { + gint ctr = 0; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ctr = 0; +#line 6265 "ViewCollection.c" + { + gboolean _tmp4_ = FALSE; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = TRUE; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 6272 "ViewCollection.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + DataView* view = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + DataView* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + DataView* _tmp21_ = NULL; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp4_) { +#line 6286 "ViewCollection.c" + gint _tmp5_ = 0; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = ctr; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ctr = _tmp5_ + 1; +#line 6292 "ViewCollection.c" + } +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = FALSE; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = ctr; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = count; +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!(_tmp6_ < _tmp7_)) { +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 6304 "ViewCollection.c" + } +#line 1035 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = to_hide; +#line 1035 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = ctr; +#line 1035 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = gee_list_get (_tmp8_, _tmp9_); +#line 1035 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp10_; +#line 1036 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = view; +#line 1036 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = data_view_is_visible (_tmp11_); +#line 1036 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp12_, "view.is_visible()"); +#line 1038 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = view; +#line 1038 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = data_view_is_selected (_tmp13_); +#line 1038 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp14_) { +#line 6326 "ViewCollection.c" + DataView* _tmp15_ = NULL; + GeeArrayList* _tmp16_ = NULL; + DataView* _tmp17_ = NULL; +#line 1039 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = view; +#line 1039 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_view_internal_set_selected (_tmp15_, FALSE); +#line 1040 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = unselected; +#line 1040 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = view; +#line 1040 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp17_); +#line 6340 "ViewCollection.c" + } else { + DataSet* _tmp18_ = NULL; + DataView* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 1042 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = self->priv->selected; +#line 1042 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = view; +#line 1042 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = data_set_contains (_tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_OBJECT, DataObject)); +#line 1042 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (!_tmp20_, "!selected.contains(view)"); +#line 6353 "ViewCollection.c" + } +#line 1045 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = view; +#line 1045 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_view_internal_set_visible (_tmp21_, FALSE); +#line 1034 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 6361 "ViewCollection.c" + } + } + } +#line 1048 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = self->priv->visible; +#line 1048 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp22_ == NULL) { +#line 6369 "ViewCollection.c" + DataSet* _tmp23_ = NULL; +#line 1050 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = data_collection_get_dataset_copy (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1050 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_set_unref0 (self->priv->visible); +#line 1050 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->visible = _tmp23_; +#line 6377 "ViewCollection.c" + } +#line 1053 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = self->priv->visible; +#line 1053 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = to_hide; +#line 1053 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = data_set_remove_many (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1053 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + removed = _tmp26_; +#line 1054 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = removed; +#line 1054 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp27_, "removed"); +#line 1056 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = unselected; +#line 1056 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_remove_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1058 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = unselected; +#line 1058 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp30_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1058 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp31_ = _tmp30_; +#line 1058 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp31_ > 0) { +#line 6403 "ViewCollection.c" + GeeArrayList* _tmp32_ = NULL; +#line 1059 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp32_ = unselected; +#line 1059 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_selected_unselected (self, NULL, G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 6409 "ViewCollection.c" + } +#line 1061 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp33_ = to_hide; +#line 1061 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp34_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1061 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp35_ = _tmp34_; +#line 1061 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp35_ > 0) { +#line 6419 "ViewCollection.c" + GeeList* _tmp36_ = NULL; + GeeList* _tmp37_ = NULL; +#line 1062 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp36_ = to_hide; +#line 1062 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_hidden (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1063 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp37_ = to_hide; +#line 1063 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_visibility_changed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 6430 "ViewCollection.c" + } +#line 1030 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (unselected); +#line 6434 "ViewCollection.c" +} + + +static void view_collection_show_items (ViewCollection* self, GeeList* to_show) { + GeeArrayList* added_selected = NULL; + GeeArrayList* _tmp0_ = NULL; + gint count = 0; + GeeList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean added = FALSE; + GeeList* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + GeeArrayList* _tmp24_ = NULL; + GeeList* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 1068 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 1068 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_LIST (to_show)); +#line 1069 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1069 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + added_selected = _tmp0_; +#line 1071 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = to_show; +#line 1071 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1071 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 1071 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + count = _tmp3_; +#line 6469 "ViewCollection.c" + { + gint ctr = 0; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ctr = 0; +#line 6474 "ViewCollection.c" + { + gboolean _tmp4_ = FALSE; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = TRUE; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 6481 "ViewCollection.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + DataView* view = NULL; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gpointer _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + DataView* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp4_) { +#line 6495 "ViewCollection.c" + gint _tmp5_ = 0; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = ctr; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ctr = _tmp5_ + 1; +#line 6501 "ViewCollection.c" + } +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = FALSE; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = ctr; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = count; +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!(_tmp6_ < _tmp7_)) { +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 6513 "ViewCollection.c" + } +#line 1073 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = to_show; +#line 1073 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = ctr; +#line 1073 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = gee_list_get (_tmp8_, _tmp9_); +#line 1073 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp10_; +#line 1074 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = view; +#line 1074 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = data_view_is_visible (_tmp11_); +#line 1074 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (!_tmp12_, "!view.is_visible()"); +#line 1076 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = view; +#line 1076 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data_view_internal_set_visible (_tmp13_, TRUE); +#line 1079 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = view; +#line 1079 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = data_view_is_selected (_tmp14_); +#line 1079 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp15_) { +#line 6539 "ViewCollection.c" + DataSet* _tmp16_ = NULL; + DataView* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + GeeArrayList* _tmp19_ = NULL; + DataView* _tmp20_ = NULL; +#line 1080 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = self->priv->selected; +#line 1080 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = view; +#line 1080 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = data_set_contains (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_OBJECT, DataObject)); +#line 1080 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (!_tmp18_, "!selected.contains(view)"); +#line 1081 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = added_selected; +#line 1081 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp20_ = view; +#line 1081 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp20_); +#line 6559 "ViewCollection.c" + } +#line 1072 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 6563 "ViewCollection.c" + } + } + } +#line 1085 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp21_ = to_show; +#line 1085 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp22_ = view_collection_add_many_visible (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1085 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + added = _tmp22_; +#line 1086 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp23_ = added; +#line 1086 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp23_, "added"); +#line 1088 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp24_ = added_selected; +#line 1088 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_add_many_selected (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1090 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp25_ = to_show; +#line 1090 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp26_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1090 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp27_ = _tmp26_; +#line 1090 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp27_ > 0) { +#line 6589 "ViewCollection.c" + GeeList* _tmp28_ = NULL; + GeeList* _tmp29_ = NULL; +#line 1091 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp28_ = to_show; +#line 1091 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_shown (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1092 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp29_ = to_show; +#line 1092 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_items_visibility_changed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 6600 "ViewCollection.c" + } +#line 1068 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (added_selected); +#line 6604 "ViewCollection.c" +} + + +gboolean view_collection_has_view_for_source (ViewCollection* self, DataSource* source) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1097 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 1097 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 1098 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = source; +#line 1098 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view_collection_get_view_for_source (self, _tmp0_); +#line 1098 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp1_; +#line 1098 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_ != NULL; +#line 1098 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp2_); +#line 1098 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp3_; +#line 1098 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6632 "ViewCollection.c" +} + + +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source) { + DataView* result = NULL; + GeeHashMap* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 1102 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1102 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 1103 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->source_map; +#line 1103 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = source; +#line 1103 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 1103 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = (DataView*) _tmp2_; +#line 1103 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6655 "ViewCollection.c" +} + + +gboolean view_collection_has_view_for_source_with_filtered (ViewCollection* self, DataSource* source) { + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1107 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 1107 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 1108 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = source; +#line 1108 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view_collection_get_view_for_source_filtered (self, _tmp0_); +#line 1108 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp1_; +#line 1108 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_ != NULL; +#line 1108 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp2_); +#line 1108 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp3_; +#line 1108 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6683 "ViewCollection.c" +} + + +DataView* view_collection_get_view_for_source_filtered (ViewCollection* self, DataSource* source) { + DataView* result = NULL; + DataView* view = NULL; + GeeHashMap* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataView* _tmp4_ = NULL; +#line 1112 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1112 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 1113 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->source_map; +#line 1113 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = source; +#line 1113 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 1113 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp2_; +#line 1115 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = view; +#line 1115 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp4_ != NULL) { +#line 6711 "ViewCollection.c" + DataView* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 1115 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = view; +#line 1115 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = view_collection_is_in_filter (self, _tmp5_); +#line 1115 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = !_tmp6_; +#line 6720 "ViewCollection.c" + } else { +#line 1115 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = FALSE; +#line 6724 "ViewCollection.c" + } +#line 1115 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp3_) { +#line 1116 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = NULL; +#line 1116 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 1116 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6734 "ViewCollection.c" + } +#line 1117 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = view; +#line 1117 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6740 "ViewCollection.c" +} + + +GeeCollection* view_collection_get_sources (ViewCollection* self) { + GeeCollection* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; +#line 1121 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->source_map; +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp1_; +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_set_get_read_only_view (_tmp3_); +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp3_); +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp6_; +#line 1122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6775 "ViewCollection.c" +} + + +gboolean view_collection_has_source_of_type (ViewCollection* self, GType t) { + gboolean result = FALSE; + GType _tmp0_ = 0UL; + gboolean _tmp1_ = FALSE; +#line 1126 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 1127 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = t; +#line 1127 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = g_type_is_a (_tmp0_, TYPE_DATA_SOURCE); +#line 1127 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp1_, "t.is_a(typeof(DataSource))"); +#line 6791 "ViewCollection.c" + { + GeeIterator* _source_it = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = self->priv->source_map; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _tmp3_; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = _tmp6_; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp5_); +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _source_it = _tmp7_; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 6818 "ViewCollection.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + DataSource* source = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + GType _tmp13_ = 0UL; + GType _tmp14_ = 0UL; + gboolean _tmp15_ = FALSE; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = _source_it; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp9_) { +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 6836 "ViewCollection.c" + } +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = _source_it; +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + source = (DataSource*) _tmp11_; +#line 1130 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = source; +#line 1130 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, G_TYPE_OBJECT, GObject)); +#line 1130 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = t; +#line 1130 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = g_type_is_a (_tmp13_, _tmp14_); +#line 1130 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp15_) { +#line 1131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 1131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 1131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_source_it); +#line 1131 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6862 "ViewCollection.c" + } +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 6866 "ViewCollection.c" + } +#line 1129 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_source_it); +#line 6870 "ViewCollection.c" + } +#line 1134 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = FALSE; +#line 1134 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6876 "ViewCollection.c" +} + + +gint view_collection_get_sources_of_type_count (ViewCollection* self, GType t) { + gint result = 0; + GType _tmp0_ = 0UL; + gboolean _tmp1_ = FALSE; + gint count = 0; +#line 1137 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), 0); +#line 1138 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = t; +#line 1138 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = g_type_is_a (_tmp0_, TYPE_DATA_SOURCE); +#line 1138 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp1_, "t.is_a(typeof(DataSource))"); +#line 1140 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + count = 0; +#line 6895 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp3_); +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp5_; +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 6916 "ViewCollection.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + DataObject* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + GType _tmp13_ = 0UL; + GType _tmp14_ = 0UL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = _object_it; +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp7_) { +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 6937 "ViewCollection.c" + } +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = _object_it; +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp9_; +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = object; +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_VIEW, DataView)); +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = _tmp11_; +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, G_TYPE_OBJECT, GObject)); +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = t; +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = g_type_is_a (_tmp13_, _tmp14_); +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = _tmp15_; +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp12_); +#line 1142 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp16_) { +#line 6963 "ViewCollection.c" + gint _tmp17_ = 0; +#line 1143 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = count; +#line 1143 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + count = _tmp17_ + 1; +#line 6969 "ViewCollection.c" + } +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 6973 "ViewCollection.c" + } +#line 1141 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 6977 "ViewCollection.c" + } +#line 1146 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = count; +#line 1146 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 6983 "ViewCollection.c" +} + + +GeeList* view_collection_get_sources_of_type (ViewCollection* self, GType t) { + GeeList* result = NULL; + GType _tmp0_ = 0UL; + gboolean _tmp1_ = FALSE; + GeeList* sources = NULL; +#line 1149 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1150 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = t; +#line 1150 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = g_type_is_a (_tmp0_, TYPE_DATA_SOURCE); +#line 1150 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _vala_assert (_tmp1_, "t.is_a(typeof(DataSource))"); +#line 1152 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sources = NULL; +#line 7002 "ViewCollection.c" + { + GeeIterator* _object_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _tmp4_; +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp3_); +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _object_it = _tmp5_; +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 7023 "ViewCollection.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + DataSource* source = NULL; + DataObject* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + GType _tmp13_ = 0UL; + GType _tmp14_ = 0UL; + gboolean _tmp15_ = FALSE; +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = _object_it; +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp7_) { +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 7044 "ViewCollection.c" + } +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = _object_it; +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = (DataObject*) _tmp9_; +#line 1154 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = object; +#line 1154 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_VIEW, DataView)); +#line 1154 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + source = _tmp11_; +#line 1155 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = source; +#line 1155 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, G_TYPE_OBJECT, GObject)); +#line 1155 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = t; +#line 1155 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = g_type_is_a (_tmp13_, _tmp14_); +#line 1155 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp15_) { +#line 7068 "ViewCollection.c" + GeeList* _tmp16_ = NULL; + GeeList* _tmp18_ = NULL; + DataSource* _tmp19_ = NULL; +#line 1156 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = sources; +#line 1156 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp16_ == NULL) { +#line 7076 "ViewCollection.c" + GeeArrayList* _tmp17_ = NULL; +#line 1157 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1157 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (sources); +#line 1157 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_LIST, GeeList); +#line 7084 "ViewCollection.c" + } +#line 1159 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = sources; +#line 1159 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = source; +#line 1159 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp19_); +#line 7092 "ViewCollection.c" + } +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 7098 "ViewCollection.c" + } +#line 1153 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_object_it); +#line 7102 "ViewCollection.c" + } +#line 1163 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = sources; +#line 1163 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 7108 "ViewCollection.c" +} + + +GeeList* view_collection_get_selected_sources (ViewCollection* self) { + GeeList* result = NULL; + GeeList* sources = NULL; + GeeArrayList* _tmp0_ = NULL; + gint count = 0; + DataSet* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 1166 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1167 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1167 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList); +#line 1169 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->selected; +#line 1169 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_set_get_count (_tmp1_); +#line 1169 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + count = _tmp2_; +#line 7131 "ViewCollection.c" + { + gint ctr = 0; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ctr = 0; +#line 7136 "ViewCollection.c" + { + gboolean _tmp3_ = FALSE; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = TRUE; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 7143 "ViewCollection.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + GeeList* _tmp7_ = NULL; + DataSet* _tmp8_ = NULL; + gint _tmp9_ = 0; + DataObject* _tmp10_ = NULL; + DataView* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + DataSource* _tmp13_ = NULL; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp3_) { +#line 7155 "ViewCollection.c" + gint _tmp4_ = 0; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = ctr; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ctr = _tmp4_ + 1; +#line 7161 "ViewCollection.c" + } +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = FALSE; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = ctr; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = count; +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!(_tmp5_ < _tmp6_)) { +#line 1170 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 7173 "ViewCollection.c" + } +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = sources; +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = self->priv->selected; +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = ctr; +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = data_set_get_at (_tmp8_, _tmp9_); +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_VIEW, DataView); +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = data_view_get_source (_tmp11_); +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = _tmp12_; +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection), _tmp13_); +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp13_); +#line 1171 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp11_); +#line 7195 "ViewCollection.c" + } + } + } +#line 1173 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = sources; +#line 1173 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 7203 "ViewCollection.c" +} + + +DataSource* view_collection_get_selected_source_at (ViewCollection* self, gint index) { + DataSource* result = NULL; + DataObject* object = NULL; + DataSet* _tmp0_ = NULL; + gint _tmp1_ = 0; + DataObject* _tmp2_ = NULL; + DataSource* _tmp3_ = NULL; + DataObject* _tmp4_ = NULL; +#line 1176 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1177 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->selected; +#line 1177 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = index; +#line 1177 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_set_get_at (_tmp0_, _tmp1_); +#line 1177 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + object = _tmp2_; +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = object; +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp4_ != NULL) { +#line 7229 "ViewCollection.c" + DataObject* _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = object; +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = data_view_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_VIEW, DataView)); +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp3_); +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp6_; +#line 7240 "ViewCollection.c" + } else { +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp3_); +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = NULL; +#line 7246 "ViewCollection.c" + } +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp3_; +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (object); +#line 1179 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 7254 "ViewCollection.c" +} + + +GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t) { + GeeList* result = NULL; + GeeList* sources = NULL; +#line 1182 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), NULL); +#line 1183 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sources = NULL; +#line 7265 "ViewCollection.c" + { + GeeList* _view_list = NULL; + GeeList* _tmp0_ = NULL; + gint _view_size = 0; + GeeList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _view_index = 0; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = view_collection_get_selected (self); +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_list = _tmp0_; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = _view_list; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _tmp2_; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_size = _tmp3_; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_index = -1; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 7290 "ViewCollection.c" + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + DataView* view = NULL; + GeeList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gpointer _tmp9_ = NULL; + DataSource* source = NULL; + DataView* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + DataSource* _tmp12_ = NULL; + GType _tmp13_ = 0UL; + GType _tmp14_ = 0UL; + gboolean _tmp15_ = FALSE; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = _view_index; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_index = _tmp4_ + 1; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _view_index; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = _view_size; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!(_tmp5_ < _tmp6_)) { +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 7317 "ViewCollection.c" + } +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = _view_list; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = _view_index; +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = gee_list_get (_tmp7_, _tmp8_); +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp9_; +#line 1185 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = view; +#line 1185 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = data_view_get_source (_tmp10_); +#line 1185 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + source = _tmp11_; +#line 1186 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = source; +#line 1186 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, G_TYPE_OBJECT, GObject)); +#line 1186 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = t; +#line 1186 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = g_type_is_a (_tmp13_, _tmp14_); +#line 1186 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp15_) { +#line 7343 "ViewCollection.c" + GeeList* _tmp16_ = NULL; + GeeList* _tmp18_ = NULL; + DataSource* _tmp19_ = NULL; +#line 1187 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = sources; +#line 1187 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp16_ == NULL) { +#line 7351 "ViewCollection.c" + GeeArrayList* _tmp17_ = NULL; +#line 1188 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = gee_array_list_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 1188 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (sources); +#line 1188 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + sources = G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_LIST, GeeList); +#line 7359 "ViewCollection.c" + } +#line 1190 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp18_ = sources; +#line 1190 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp19_ = source; +#line 1190 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp19_); +#line 7367 "ViewCollection.c" + } +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (source); +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 7373 "ViewCollection.c" + } +#line 1184 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_view_list); +#line 7377 "ViewCollection.c" + } +#line 1194 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = sources; +#line 1194 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 7383 "ViewCollection.c" +} + + +gint view_collection_index_of_source (ViewCollection* self, DataSource* source) { + gint result = 0; + DataView* view = NULL; + DataSource* _tmp0_ = NULL; + DataView* _tmp1_ = NULL; + gint _tmp2_ = 0; + DataView* _tmp3_ = NULL; +#line 1198 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), 0); +#line 1198 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), 0); +#line 1199 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = source; +#line 1199 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view_collection_get_view_for_source (self, _tmp0_); +#line 1199 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = _tmp1_; +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = view; +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp3_ != NULL) { +#line 7408 "ViewCollection.c" + DataView* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = view; +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = data_collection_index_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject)); +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = _tmp5_; +#line 7417 "ViewCollection.c" + } else { +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = -1; +#line 7421 "ViewCollection.c" + } +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp2_; +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 1201 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 7429 "ViewCollection.c" +} + + +void view_collection_internal_notify_view_altered (ViewCollection* self, DataView* view) { + gboolean _tmp0_ = FALSE; +#line 1205 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 1205 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 1206 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = data_collection_are_notifications_frozen (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1206 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp0_) { +#line 7443 "ViewCollection.c" + DataView* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 1207 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view; +#line 1207 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_item_view_altered (self, _tmp1_); +#line 1208 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = view; +#line 1208 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = data_collection_get_singleton (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 1208 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1208 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_views_altered (self, _tmp4_); +#line 1208 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp4_); +#line 7462 "ViewCollection.c" + } else { + GeeHashSet* _tmp5_ = NULL; + GeeHashSet* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; +#line 1210 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = self->priv->frozen_views_altered; +#line 1210 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_ == NULL) { +#line 7471 "ViewCollection.c" + GeeHashSet* _tmp6_ = NULL; +#line 1211 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = gee_hash_set_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1211 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->frozen_views_altered); +#line 1211 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->frozen_views_altered = _tmp6_; +#line 7479 "ViewCollection.c" + } +#line 1212 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = self->priv->frozen_views_altered; +#line 1212 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = view; +#line 1212 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp8_); +#line 7487 "ViewCollection.c" + } +} + + +void view_collection_internal_notify_geometry_altered (ViewCollection* self, DataView* view) { + gboolean _tmp0_ = FALSE; +#line 1217 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_COLLECTION (self)); +#line 1217 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 1218 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = data_collection_are_notifications_frozen (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1218 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp0_) { +#line 7502 "ViewCollection.c" + DataView* _tmp1_ = NULL; + DataView* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 1219 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = view; +#line 1219 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_item_geometry_altered (self, _tmp1_); +#line 1220 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = view; +#line 1220 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = data_collection_get_singleton (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_OBJECT, DataObject)); +#line 1220 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 1220 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_geometries_altered (self, _tmp4_); +#line 1220 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_tmp4_); +#line 7521 "ViewCollection.c" + } else { + GeeHashSet* _tmp5_ = NULL; + GeeHashSet* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; +#line 1222 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = self->priv->frozen_geometries_altered; +#line 1222 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp5_ == NULL) { +#line 7530 "ViewCollection.c" + GeeHashSet* _tmp6_ = NULL; +#line 1223 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = gee_hash_set_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 1223 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->frozen_geometries_altered); +#line 1223 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->frozen_geometries_altered = _tmp6_; +#line 7538 "ViewCollection.c" + } +#line 1224 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = self->priv->frozen_geometries_altered; +#line 1224 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = view; +#line 1224 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp8_); +#line 7546 "ViewCollection.c" + } +} + + +static void view_collection_real_notify_thawed (DataCollection* base) { + ViewCollection * self; + GeeHashSet* _tmp0_ = NULL; + GeeHashSet* _tmp9_ = NULL; +#line 1228 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_VIEW_COLLECTION, ViewCollection); +#line 1229 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->priv->frozen_views_altered; +#line 1229 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp0_ != NULL) { +#line 7561 "ViewCollection.c" + GeeHashSet* _tmp8_ = NULL; + { + GeeIterator* _view_it = NULL; + GeeHashSet* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->priv->frozen_views_altered; +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_it = _tmp2_; +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 7575 "ViewCollection.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataView* _tmp7_ = NULL; +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _view_it; +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp4_) { +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 7590 "ViewCollection.c" + } +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _view_it; +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp6_; +#line 1231 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = view; +#line 1231 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_item_view_altered (self, _tmp7_); +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 7604 "ViewCollection.c" + } +#line 1230 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_view_it); +#line 7608 "ViewCollection.c" + } +#line 1232 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = self->priv->frozen_views_altered; +#line 1232 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_views_altered (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->frozen_views_altered); +#line 1233 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->frozen_views_altered = NULL; +#line 7618 "ViewCollection.c" + } +#line 1236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = self->priv->frozen_geometries_altered; +#line 1236 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (_tmp9_ != NULL) { +#line 7624 "ViewCollection.c" + GeeHashSet* _tmp17_ = NULL; + { + GeeIterator* _view_it = NULL; + GeeHashSet* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = self->priv->frozen_geometries_altered; +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection)); +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_it = _tmp11_; +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + while (TRUE) { +#line 7638 "ViewCollection.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + DataView* view = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + DataView* _tmp16_ = NULL; +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = _view_it; +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!_tmp13_) { +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + break; +#line 7653 "ViewCollection.c" + } +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp14_ = _view_it; +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view = (DataView*) _tmp15_; +#line 1238 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp16_ = view; +#line 1238 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_item_geometry_altered (self, _tmp16_); +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (view); +#line 7667 "ViewCollection.c" + } +#line 1237 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (_view_it); +#line 7671 "ViewCollection.c" + } +#line 1239 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp17_ = self->priv->frozen_geometries_altered; +#line 1239 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_notify_geometries_altered (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1240 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->frozen_geometries_altered); +#line 1240 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->frozen_geometries_altered = NULL; +#line 7681 "ViewCollection.c" + } +#line 1243 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->notify_thawed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 7685 "ViewCollection.c" +} + + +gboolean view_collection_are_items_filtered_out (ViewCollection* self) { + gboolean result = FALSE; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 1246 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (self), FALSE); +#line 1247 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = DATA_COLLECTION_CLASS (view_collection_parent_class)->get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1247 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection)); +#line 1247 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = _tmp0_ != _tmp1_; +#line 1247 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 7703 "ViewCollection.c" +} + + +static void view_collection_real_items_selected (ViewCollection* self, GeeIterable* selected) { +#line 75 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (selected)); +#line 7710 "ViewCollection.c" +} + + +static void view_collection_real_items_unselected (ViewCollection* self, GeeIterable* unselected) { +#line 79 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (unselected)); +#line 7717 "ViewCollection.c" +} + + +static void view_collection_real_items_state_changed (ViewCollection* self, GeeIterable* changed) { +#line 83 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_ITERABLE (changed)); +#line 7724 "ViewCollection.c" +} + + +static void view_collection_real_selection_group_altered (ViewCollection* self) { +} + + +static void view_collection_real_items_shown (ViewCollection* self, GeeCollection* visible) { +#line 94 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (visible)); +#line 7735 "ViewCollection.c" +} + + +static void view_collection_real_items_hidden (ViewCollection* self, GeeCollection* hidden) { +#line 98 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (hidden)); +#line 7742 "ViewCollection.c" +} + + +static void view_collection_real_items_visibility_changed (ViewCollection* self, GeeCollection* changed) { +#line 102 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (changed)); +#line 7749 "ViewCollection.c" +} + + +static void view_collection_real_item_view_altered (ViewCollection* self, DataView* view) { +#line 106 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 7756 "ViewCollection.c" +} + + +static void view_collection_real_item_geometry_altered (ViewCollection* self, DataView* view) { +#line 110 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_DATA_VIEW (view)); +#line 7763 "ViewCollection.c" +} + + +static void view_collection_real_views_altered (ViewCollection* self, GeeCollection* views) { +#line 113 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (views)); +#line 7770 "ViewCollection.c" +} + + +static void view_collection_real_geometries_altered (ViewCollection* self, GeeCollection* views) { +#line 116 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (GEE_IS_COLLECTION (views)); +#line 7777 "ViewCollection.c" +} + + +static void view_collection_real_view_filter_installed (ViewCollection* self, ViewFilter* filer) { +#line 119 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_FILTER (filer)); +#line 7784 "ViewCollection.c" +} + + +static void g_cclosure_user_marshal_VOID__VIEW_FILTER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__VIEW_FILTER) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__VIEW_FILTER callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (n_param_values == 2); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data1 = closure->data; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data2 = param_values->data[0].v_pointer; +#line 7803 "ViewCollection.c" + } else { +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data1 = param_values->data[0].v_pointer; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + data2 = closure->data; +#line 7809 "ViewCollection.c" + } +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + callback = (GMarshalFunc_VOID__VIEW_FILTER) (marshal_data ? marshal_data : cc->callback); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + callback (data1, value_get_view_filter (param_values + 1), data2); +#line 7815 "ViewCollection.c" +} + + +static void view_collection_real_view_filter_removed (ViewCollection* self, ViewFilter* filer) { +#line 122 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (IS_VIEW_FILTER (filer)); +#line 7822 "ViewCollection.c" +} + + +ViewCollectionMonitor* view_collection_monitor_construct (GType object_type) { + ViewCollectionMonitor* self = NULL; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = (ViewCollectionMonitor*) g_type_create_instance (object_type); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self; +#line 7832 "ViewCollection.c" +} + + +ViewCollectionMonitor* view_collection_monitor_new (void) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return view_collection_monitor_construct (VIEW_COLLECTION_TYPE_MONITOR); +#line 7839 "ViewCollection.c" +} + + +static void view_collection_value_monitor_init (GValue* value) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 7846 "ViewCollection.c" +} + + +static void view_collection_value_monitor_free_value (GValue* value) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (value->data[0].v_pointer) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_monitor_unref (value->data[0].v_pointer); +#line 7855 "ViewCollection.c" + } +} + + +static void view_collection_value_monitor_copy_value (const GValue* src_value, GValue* dest_value) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (src_value->data[0].v_pointer) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + dest_value->data[0].v_pointer = view_collection_monitor_ref (src_value->data[0].v_pointer); +#line 7865 "ViewCollection.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + dest_value->data[0].v_pointer = NULL; +#line 7869 "ViewCollection.c" + } +} + + +static gpointer view_collection_value_monitor_peek_pointer (const GValue* value) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return value->data[0].v_pointer; +#line 7877 "ViewCollection.c" +} + + +static gchar* view_collection_value_monitor_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (collect_values[0].v_pointer) { +#line 7884 "ViewCollection.c" + ViewCollectionMonitor* object; + object = collect_values[0].v_pointer; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (object->parent_instance.g_class == NULL) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7891 "ViewCollection.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 7895 "ViewCollection.c" + } +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = view_collection_monitor_ref (object); +#line 7899 "ViewCollection.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 7903 "ViewCollection.c" + } +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return NULL; +#line 7907 "ViewCollection.c" +} + + +static gchar* view_collection_value_monitor_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ViewCollectionMonitor** object_p; + object_p = collect_values[0].v_pointer; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!object_p) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 7918 "ViewCollection.c" + } +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!value->data[0].v_pointer) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = NULL; +#line 7924 "ViewCollection.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = value->data[0].v_pointer; +#line 7928 "ViewCollection.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = view_collection_monitor_ref (value->data[0].v_pointer); +#line 7932 "ViewCollection.c" + } +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return NULL; +#line 7936 "ViewCollection.c" +} + + +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ViewCollectionParamSpecMonitor* spec; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (g_type_is_a (object_type, VIEW_COLLECTION_TYPE_MONITOR), NULL); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return G_PARAM_SPEC (spec); +#line 7950 "ViewCollection.c" +} + + +gpointer view_collection_value_get_monitor (const GValue* value) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VIEW_COLLECTION_TYPE_MONITOR), NULL); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return value->data[0].v_pointer; +#line 7959 "ViewCollection.c" +} + + +void view_collection_value_set_monitor (GValue* value, gpointer v_object) { + ViewCollectionMonitor* old; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VIEW_COLLECTION_TYPE_MONITOR)); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + old = value->data[0].v_pointer; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (v_object) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, VIEW_COLLECTION_TYPE_MONITOR)); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = v_object; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_monitor_ref (value->data[0].v_pointer); +#line 7979 "ViewCollection.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 7983 "ViewCollection.c" + } +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (old) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_monitor_unref (old); +#line 7989 "ViewCollection.c" + } +} + + +void view_collection_value_take_monitor (GValue* value, gpointer v_object) { + ViewCollectionMonitor* old; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, VIEW_COLLECTION_TYPE_MONITOR)); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + old = value->data[0].v_pointer; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (v_object) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, VIEW_COLLECTION_TYPE_MONITOR)); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = v_object; +#line 8008 "ViewCollection.c" + } else { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 8012 "ViewCollection.c" + } +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (old) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_monitor_unref (old); +#line 8018 "ViewCollection.c" + } +} + + +static void view_collection_monitor_class_init (ViewCollectionMonitorClass * klass) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_monitor_parent_class = g_type_class_peek_parent (klass); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionMonitorClass *) klass)->finalize = view_collection_monitor_finalize; +#line 8028 "ViewCollection.c" +} + + +static void view_collection_monitor_instance_init (ViewCollectionMonitor * self) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->ref_count = 1; +#line 8035 "ViewCollection.c" +} + + +static void view_collection_monitor_finalize (ViewCollectionMonitor* obj) { + ViewCollectionMonitor * self; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_destroy (self); +#line 8045 "ViewCollection.c" +} + + +GType view_collection_monitor_get_type (void) { + static volatile gsize view_collection_monitor_type_id__volatile = 0; + if (g_once_init_enter (&view_collection_monitor_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { view_collection_value_monitor_init, view_collection_value_monitor_free_value, view_collection_value_monitor_copy_value, view_collection_value_monitor_peek_pointer, "p", view_collection_value_monitor_collect_value, "p", view_collection_value_monitor_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ViewCollectionMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) view_collection_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewCollectionMonitor), 0, (GInstanceInitFunc) view_collection_monitor_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType view_collection_monitor_type_id; + view_collection_monitor_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ViewCollectionMonitor", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&view_collection_monitor_type_id__volatile, view_collection_monitor_type_id); + } + return view_collection_monitor_type_id__volatile; +} + + +gpointer view_collection_monitor_ref (gpointer instance) { + ViewCollectionMonitor* self; + self = instance; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_atomic_int_inc (&self->ref_count); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return instance; +#line 8070 "ViewCollection.c" +} + + +void view_collection_monitor_unref (gpointer instance) { + ViewCollectionMonitor* self; + self = instance; +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_MONITOR_GET_CLASS (self)->finalize (self); +#line 22 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8083 "ViewCollection.c" + } +} + + +static void _view_collection_on_sources_added_data_collection_items_added (DataCollection* _sender, GeeIterable* added, gpointer self) { +#line 44 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_sources_added ((ViewCollection*) self, _sender, added); +#line 8091 "ViewCollection.c" +} + + +static void _view_collection_on_sources_removed_data_collection_items_removed (DataCollection* _sender, GeeIterable* removed, gpointer self) { +#line 45 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_sources_removed ((ViewCollection*) self, removed); +#line 8098 "ViewCollection.c" +} + + +static void _view_collection_on_sources_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 46 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_on_sources_altered ((ViewCollection*) self, _sender, items); +#line 8105 "ViewCollection.c" +} + + +static gpointer _view_manager_ref0 (gpointer self) { +#line 35 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self ? view_manager_ref (self) : NULL; +#line 8112 "ViewCollection.c" +} + + +static gpointer _alteration_ref0 (gpointer self) { +#line 36 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self ? alteration_ref (self) : NULL; +#line 8119 "ViewCollection.c" +} + + +static ViewCollectionMonitorImpl* view_collection_monitor_impl_construct (GType object_type, ViewCollection* owner, SourceCollection* sources, ViewManager* manager, Alteration* prereq) { + ViewCollectionMonitorImpl* self = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + SourceCollection* _tmp2_ = NULL; + SourceCollection* _tmp3_ = NULL; + ViewManager* _tmp4_ = NULL; + ViewManager* _tmp5_ = NULL; + Alteration* _tmp6_ = NULL; + Alteration* _tmp7_ = NULL; + SourceCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + SourceCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + SourceCollection* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_COLLECTION (owner), NULL); +#line 31 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_SOURCE_COLLECTION (sources), NULL); +#line 31 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_MANAGER (manager), NULL); +#line 31 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail ((prereq == NULL) || IS_ALTERATION (prereq), NULL); +#line 31 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = (ViewCollectionMonitorImpl*) view_collection_monitor_construct (object_type); +#line 33 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = owner; +#line 33 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = _data_collection_ref0 (_tmp0_); +#line 33 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_collection_unref0 (self->owner); +#line 33 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->owner = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = sources; +#line 34 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = _data_collection_ref0 (_tmp2_); +#line 34 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_collection_unref0 (self->sources); +#line 34 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->sources = _tmp3_; +#line 35 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = manager; +#line 35 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp5_ = _view_manager_ref0 (_tmp4_); +#line 35 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_manager_unref0 (self->manager); +#line 35 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->manager = _tmp5_; +#line 36 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = prereq; +#line 36 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = _alteration_ref0 (_tmp6_); +#line 36 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _alteration_unref0 (self->prereq); +#line 36 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->prereq = _tmp7_; +#line 38 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp8_ = sources; +#line 38 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp9_ = owner; +#line 38 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), "items-added", (GCallback) _view_collection_on_sources_added_data_collection_items_added, _tmp9_); +#line 39 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp10_ = sources; +#line 39 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp11_ = owner; +#line 39 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection), "items-removed", (GCallback) _view_collection_on_sources_removed_data_collection_items_removed, _tmp11_); +#line 40 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp12_ = sources; +#line 40 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp13_ = owner; +#line 40 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _view_collection_on_sources_altered_data_collection_items_altered, _tmp13_); +#line 31 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self; +#line 8201 "ViewCollection.c" +} + + +static ViewCollectionMonitorImpl* view_collection_monitor_impl_new (ViewCollection* owner, SourceCollection* sources, ViewManager* manager, Alteration* prereq) { +#line 31 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return view_collection_monitor_impl_construct (VIEW_COLLECTION_TYPE_MONITOR_IMPL, owner, sources, manager, prereq); +#line 8208 "ViewCollection.c" +} + + +static void view_collection_monitor_impl_class_init (ViewCollectionMonitorImplClass * klass) { +#line 25 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_monitor_impl_parent_class = g_type_class_peek_parent (klass); +#line 25 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionMonitorClass *) klass)->finalize = view_collection_monitor_impl_finalize; +#line 8217 "ViewCollection.c" +} + + +static void view_collection_monitor_impl_instance_init (ViewCollectionMonitorImpl * self) { +} + + +static void view_collection_monitor_impl_finalize (ViewCollectionMonitor* obj) { + ViewCollectionMonitorImpl * self; + SourceCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + guint _tmp2_ = 0U; + SourceCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + guint _tmp5_ = 0U; + SourceCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#line 25 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIEW_COLLECTION_TYPE_MONITOR_IMPL, ViewCollectionMonitorImpl); +#line 44 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = self->sources; +#line 44 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = self->owner; +#line 44 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_parse_name ("items-added", TYPE_DATA_COLLECTION, &_tmp2_, NULL, FALSE); +#line 44 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _view_collection_on_sources_added_data_collection_items_added, _tmp1_); +#line 45 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = self->sources; +#line 45 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp4_ = self->owner; +#line 45 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_parse_name ("items-removed", TYPE_DATA_COLLECTION, &_tmp5_, NULL, FALSE); +#line 45 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _view_collection_on_sources_removed_data_collection_items_removed, _tmp4_); +#line 46 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp6_ = self->sources; +#line 46 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp7_ = self->owner; +#line 46 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp8_, NULL, FALSE); +#line 46 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _view_collection_on_sources_altered_data_collection_items_altered, _tmp7_); +#line 26 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_collection_unref0 (self->owner); +#line 27 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_collection_unref0 (self->sources); +#line 28 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _view_manager_unref0 (self->manager); +#line 29 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _alteration_unref0 (self->prereq); +#line 25 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_COLLECTION_MONITOR_CLASS (view_collection_monitor_impl_parent_class)->finalize (obj); +#line 8272 "ViewCollection.c" +} + + +static GType view_collection_monitor_impl_get_type (void) { + static volatile gsize view_collection_monitor_impl_type_id__volatile = 0; + if (g_once_init_enter (&view_collection_monitor_impl_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ViewCollectionMonitorImplClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) view_collection_monitor_impl_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewCollectionMonitorImpl), 0, (GInstanceInitFunc) view_collection_monitor_impl_instance_init, NULL }; + GType view_collection_monitor_impl_type_id; + view_collection_monitor_impl_type_id = g_type_register_static (VIEW_COLLECTION_TYPE_MONITOR, "ViewCollectionMonitorImpl", &g_define_type_info, 0); + g_once_init_leave (&view_collection_monitor_impl_type_id__volatile, view_collection_monitor_impl_type_id); + } + return view_collection_monitor_impl_type_id__volatile; +} + + +static ViewCollectionToggleLists* view_collection_toggle_lists_construct (GType object_type) { + ViewCollectionToggleLists * self = NULL; +#line 50 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = (ViewCollectionToggleLists*) g_object_new (object_type, NULL); +#line 50 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self; +#line 8294 "ViewCollection.c" +} + + +static ViewCollectionToggleLists* view_collection_toggle_lists_new (void) { +#line 50 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return view_collection_toggle_lists_construct (VIEW_COLLECTION_TYPE_TOGGLE_LISTS); +#line 8301 "ViewCollection.c" +} + + +static void view_collection_toggle_lists_class_init (ViewCollectionToggleListsClass * klass) { +#line 50 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_toggle_lists_parent_class = g_type_class_peek_parent (klass); +#line 50 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + G_OBJECT_CLASS (klass)->finalize = view_collection_toggle_lists_finalize; +#line 8310 "ViewCollection.c" +} + + +static void view_collection_toggle_lists_instance_init (ViewCollectionToggleLists * self) { + GeeArrayList* _tmp0_ = NULL; + GeeArrayList* _tmp1_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 51 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->selected = _tmp0_; +#line 52 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 52 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->unselected = _tmp1_; +#line 8325 "ViewCollection.c" +} + + +static void view_collection_toggle_lists_finalize (GObject* obj) { + ViewCollectionToggleLists * self; +#line 50 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, VIEW_COLLECTION_TYPE_TOGGLE_LISTS, ViewCollectionToggleLists); +#line 51 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->selected); +#line 52 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->unselected); +#line 50 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + G_OBJECT_CLASS (view_collection_toggle_lists_parent_class)->finalize (obj); +#line 8339 "ViewCollection.c" +} + + +static GType view_collection_toggle_lists_get_type (void) { + static volatile gsize view_collection_toggle_lists_type_id__volatile = 0; + if (g_once_init_enter (&view_collection_toggle_lists_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ViewCollectionToggleListsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) view_collection_toggle_lists_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewCollectionToggleLists), 0, (GInstanceInitFunc) view_collection_toggle_lists_instance_init, NULL }; + GType view_collection_toggle_lists_type_id; + view_collection_toggle_lists_type_id = g_type_register_static (G_TYPE_OBJECT, "ViewCollectionToggleLists", &g_define_type_info, 0); + g_once_init_leave (&view_collection_toggle_lists_type_id__volatile, view_collection_toggle_lists_type_id); + } + return view_collection_toggle_lists_type_id__volatile; +} + + +static void view_collection_class_init (ViewCollectionClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_collection_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->finalize = view_collection_finalize; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_type_class_add_private (klass, sizeof (ViewCollectionPrivate)); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_items_selected_unselected = view_collection_real_notify_items_selected_unselected; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_selection_group_altered = view_collection_real_notify_selection_group_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_item_view_altered = view_collection_real_notify_item_view_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_views_altered = view_collection_real_notify_views_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_item_geometry_altered = view_collection_real_notify_item_geometry_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_geometries_altered = view_collection_real_notify_geometries_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_items_shown = view_collection_real_notify_items_shown; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_items_hidden = view_collection_real_notify_items_hidden; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_items_visibility_changed = view_collection_real_notify_items_visibility_changed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_view_filter_installed = view_collection_real_notify_view_filter_installed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->notify_view_filter_removed = view_collection_real_notify_view_filter_removed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->clear = view_collection_real_clear; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->close = view_collection_real_close; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->valid_type = view_collection_real_valid_type; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->add = view_collection_real_add; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->add_many = view_collection_real_add_many; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->notify_items_added = view_collection_real_notify_items_added; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->notify_items_removed = view_collection_real_notify_items_removed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->items_altered = view_collection_real_items_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->set_comparator = view_collection_real_set_comparator; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->reset_comparator = view_collection_real_reset_comparator; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->get_all = view_collection_real_get_all; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->get_count = view_collection_real_get_count; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->get_at = view_collection_real_get_at; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->index_of = view_collection_real_index_of; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->contains = view_collection_real_contains; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->get_first = view_collection_real_get_first; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->get_first_unrejected = view_collection_real_get_first_unrejected; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->get_last = view_collection_real_get_last; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->get_next = view_collection_real_get_next; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->get_previous = view_collection_real_get_previous; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((DataCollectionClass *) klass)->notify_thawed = view_collection_real_notify_thawed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->items_selected = view_collection_real_items_selected; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->items_unselected = view_collection_real_items_unselected; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->items_state_changed = view_collection_real_items_state_changed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->selection_group_altered = view_collection_real_selection_group_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->items_shown = view_collection_real_items_shown; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->items_hidden = view_collection_real_items_hidden; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->items_visibility_changed = view_collection_real_items_visibility_changed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->item_view_altered = view_collection_real_item_view_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->item_geometry_altered = view_collection_real_item_geometry_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->views_altered = view_collection_real_views_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->geometries_altered = view_collection_real_geometries_altered; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->view_filter_installed = view_collection_real_view_filter_installed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewCollectionClass *) klass)->view_filter_removed = view_collection_real_view_filter_removed; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("items_selected", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, items_selected), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_ITERABLE); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("items_unselected", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, items_unselected), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_ITERABLE); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("items_state_changed", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, items_state_changed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_ITERABLE); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("selection_group_altered", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, selection_group_altered), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("items_shown", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, items_shown), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("items_hidden", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, items_hidden), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("items_visibility_changed", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, items_visibility_changed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("item_view_altered", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, item_view_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_DATA_VIEW); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("item_geometry_altered", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, item_geometry_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_DATA_VIEW); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("views_altered", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, views_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("geometries_altered", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, geometries_altered), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GEE_TYPE_COLLECTION); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("view_filter_installed", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, view_filter_installed), NULL, NULL, g_cclosure_user_marshal_VOID__VIEW_FILTER, G_TYPE_NONE, 1, TYPE_VIEW_FILTER); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("view_filter_removed", TYPE_VIEW_COLLECTION, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewCollectionClass, view_filter_removed), NULL, NULL, g_cclosure_user_marshal_VOID__VIEW_FILTER, G_TYPE_NONE, 1, TYPE_VIEW_FILTER); +#line 8478 "ViewCollection.c" +} + + +static void view_collection_instance_init (ViewCollection * self) { + GeeHashMultiMap* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; + DataSet* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv = VIEW_COLLECTION_GET_PRIVATE (self); +#line 59 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp0_ = gee_hash_multi_map_new (TYPE_SOURCE_COLLECTION, (GBoxedCopyFunc) data_collection_ref, data_collection_unref, VIEW_COLLECTION_TYPE_MONITOR_IMPL, (GBoxedCopyFunc) view_collection_monitor_ref, view_collection_monitor_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 59 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->monitors = _tmp0_; +#line 61 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->mirroring = NULL; +#line 62 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->mirroring_ctor = NULL; +#line 63 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->should_mirror = NULL; +#line 64 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp1_ = gee_hash_set_new (TYPE_VIEW_FILTER, (GBoxedCopyFunc) view_filter_ref, view_filter_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 64 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->filters = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_SET, GeeSet); +#line 65 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp2_ = data_set_new (); +#line 65 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->selected = _tmp2_; +#line 66 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->visible = NULL; +#line 67 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->frozen_views_altered = NULL; +#line 68 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->frozen_geometries_altered = NULL; +#line 72 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _tmp3_ = gee_hash_map_new (TYPE_DATA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 72 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->priv->source_map = _tmp3_; +#line 8517 "ViewCollection.c" +} + + +static void view_collection_finalize (DataCollection* obj) { + ViewCollection * self; +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIEW_COLLECTION, ViewCollection); +#line 59 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->monitors); +#line 61 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_collection_unref0 (self->priv->mirroring); +#line 64 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->filters); +#line 65 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_set_unref0 (self->priv->selected); +#line 66 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _data_set_unref0 (self->priv->visible); +#line 67 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->frozen_views_altered); +#line 68 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->frozen_geometries_altered); +#line 72 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + _g_object_unref0 (self->priv->source_map); +#line 21 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + DATA_COLLECTION_CLASS (view_collection_parent_class)->finalize (obj); +#line 8543 "ViewCollection.c" +} + + +GType view_collection_get_type (void) { + static volatile gsize view_collection_type_id__volatile = 0; + if (g_once_init_enter (&view_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ViewCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) view_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewCollection), 0, (GInstanceInitFunc) view_collection_instance_init, NULL }; + GType view_collection_type_id; + view_collection_type_id = g_type_register_static (TYPE_DATA_COLLECTION, "ViewCollection", &g_define_type_info, 0); + g_once_init_leave (&view_collection_type_id__volatile, view_collection_type_id); + } + return view_collection_type_id__volatile; +} + + +static gboolean view_manager_real_include_in_view (ViewManager* self, DataSource* source) { + gboolean result = FALSE; +#line 1257 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 1258 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + result = TRUE; +#line 1258 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return result; +#line 8567 "ViewCollection.c" +} + + +gboolean view_manager_include_in_view (ViewManager* self, DataSource* source) { +#line 1257 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_MANAGER (self), FALSE); +#line 1257 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return VIEW_MANAGER_GET_CLASS (self)->include_in_view (self, source); +#line 8576 "ViewCollection.c" +} + + +static DataView* view_manager_real_create_view (ViewManager* self, DataSource* source) { +#line 1263 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_critical ("Type `%s' does not implement abstract method `view_manager_create_view'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1263 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return NULL; +#line 8585 "ViewCollection.c" +} + + +DataView* view_manager_create_view (ViewManager* self, DataSource* source) { +#line 1263 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_MANAGER (self), NULL); +#line 1263 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return VIEW_MANAGER_GET_CLASS (self)->create_view (self, source); +#line 8594 "ViewCollection.c" +} + + +ViewManager* view_manager_construct (GType object_type) { + ViewManager* self = NULL; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = (ViewManager*) g_type_create_instance (object_type); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self; +#line 8604 "ViewCollection.c" +} + + +static void value_view_manager_init (GValue* value) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 8611 "ViewCollection.c" +} + + +static void value_view_manager_free_value (GValue* value) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (value->data[0].v_pointer) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_manager_unref (value->data[0].v_pointer); +#line 8620 "ViewCollection.c" + } +} + + +static void value_view_manager_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (src_value->data[0].v_pointer) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + dest_value->data[0].v_pointer = view_manager_ref (src_value->data[0].v_pointer); +#line 8630 "ViewCollection.c" + } else { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + dest_value->data[0].v_pointer = NULL; +#line 8634 "ViewCollection.c" + } +} + + +static gpointer value_view_manager_peek_pointer (const GValue* value) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return value->data[0].v_pointer; +#line 8642 "ViewCollection.c" +} + + +static gchar* value_view_manager_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (collect_values[0].v_pointer) { +#line 8649 "ViewCollection.c" + ViewManager* object; + object = collect_values[0].v_pointer; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (object->parent_instance.g_class == NULL) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8656 "ViewCollection.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8660 "ViewCollection.c" + } +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = view_manager_ref (object); +#line 8664 "ViewCollection.c" + } else { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 8668 "ViewCollection.c" + } +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return NULL; +#line 8672 "ViewCollection.c" +} + + +static gchar* value_view_manager_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ViewManager** object_p; + object_p = collect_values[0].v_pointer; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!object_p) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8683 "ViewCollection.c" + } +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!value->data[0].v_pointer) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = NULL; +#line 8689 "ViewCollection.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = value->data[0].v_pointer; +#line 8693 "ViewCollection.c" + } else { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = view_manager_ref (value->data[0].v_pointer); +#line 8697 "ViewCollection.c" + } +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return NULL; +#line 8701 "ViewCollection.c" +} + + +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecViewManager* spec; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_VIEW_MANAGER), NULL); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return G_PARAM_SPEC (spec); +#line 8715 "ViewCollection.c" +} + + +gpointer value_get_view_manager (const GValue* value) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIEW_MANAGER), NULL); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return value->data[0].v_pointer; +#line 8724 "ViewCollection.c" +} + + +void value_set_view_manager (GValue* value, gpointer v_object) { + ViewManager* old; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIEW_MANAGER)); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + old = value->data[0].v_pointer; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (v_object) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIEW_MANAGER)); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = v_object; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_manager_ref (value->data[0].v_pointer); +#line 8744 "ViewCollection.c" + } else { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 8748 "ViewCollection.c" + } +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (old) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_manager_unref (old); +#line 8754 "ViewCollection.c" + } +} + + +void value_take_view_manager (GValue* value, gpointer v_object) { + ViewManager* old; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIEW_MANAGER)); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + old = value->data[0].v_pointer; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (v_object) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIEW_MANAGER)); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = v_object; +#line 8773 "ViewCollection.c" + } else { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 8777 "ViewCollection.c" + } +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (old) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_manager_unref (old); +#line 8783 "ViewCollection.c" + } +} + + +static void view_manager_class_init (ViewManagerClass * klass) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_manager_parent_class = g_type_class_peek_parent (klass); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewManagerClass *) klass)->finalize = view_manager_finalize; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewManagerClass *) klass)->include_in_view = view_manager_real_include_in_view; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewManagerClass *) klass)->create_view = view_manager_real_create_view; +#line 8797 "ViewCollection.c" +} + + +static void view_manager_instance_init (ViewManager * self) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->ref_count = 1; +#line 8804 "ViewCollection.c" +} + + +static void view_manager_finalize (ViewManager* obj) { + ViewManager * self; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIEW_MANAGER, ViewManager); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_destroy (self); +#line 8814 "ViewCollection.c" +} + + +GType view_manager_get_type (void) { + static volatile gsize view_manager_type_id__volatile = 0; + if (g_once_init_enter (&view_manager_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_view_manager_init, value_view_manager_free_value, value_view_manager_copy_value, value_view_manager_peek_pointer, "p", value_view_manager_collect_value, "p", value_view_manager_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewManager), 0, (GInstanceInitFunc) view_manager_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType view_manager_type_id; + view_manager_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ViewManager", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&view_manager_type_id__volatile, view_manager_type_id); + } + return view_manager_type_id__volatile; +} + + +gpointer view_manager_ref (gpointer instance) { + ViewManager* self; + self = instance; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_atomic_int_inc (&self->ref_count); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return instance; +#line 8839 "ViewCollection.c" +} + + +void view_manager_unref (gpointer instance) { + ViewManager* self; + self = instance; +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_MANAGER_GET_CLASS (self)->finalize (self); +#line 1253 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8852 "ViewCollection.c" + } +} + + +static gboolean view_filter_real_predicate (ViewFilter* self, DataView* view) { +#line 1285 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_critical ("Type `%s' does not implement abstract method `view_filter_predicate'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 1285 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return FALSE; +#line 8862 "ViewCollection.c" +} + + +gboolean view_filter_predicate (ViewFilter* self, DataView* view) { +#line 1285 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (IS_VIEW_FILTER (self), FALSE); +#line 1285 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return VIEW_FILTER_GET_CLASS (self)->predicate (self, view); +#line 8871 "ViewCollection.c" +} + + +ViewFilter* view_filter_construct (GType object_type) { + ViewFilter* self = NULL; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = (ViewFilter*) g_type_create_instance (object_type); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return self; +#line 8881 "ViewCollection.c" +} + + +static void view_filter_real_refresh (ViewFilter* self) { +} + + +static void value_view_filter_init (GValue* value) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 8892 "ViewCollection.c" +} + + +static void value_view_filter_free_value (GValue* value) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (value->data[0].v_pointer) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_filter_unref (value->data[0].v_pointer); +#line 8901 "ViewCollection.c" + } +} + + +static void value_view_filter_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (src_value->data[0].v_pointer) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + dest_value->data[0].v_pointer = view_filter_ref (src_value->data[0].v_pointer); +#line 8911 "ViewCollection.c" + } else { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + dest_value->data[0].v_pointer = NULL; +#line 8915 "ViewCollection.c" + } +} + + +static gpointer value_view_filter_peek_pointer (const GValue* value) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return value->data[0].v_pointer; +#line 8923 "ViewCollection.c" +} + + +static gchar* value_view_filter_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (collect_values[0].v_pointer) { +#line 8930 "ViewCollection.c" + ViewFilter* object; + object = collect_values[0].v_pointer; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (object->parent_instance.g_class == NULL) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8937 "ViewCollection.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8941 "ViewCollection.c" + } +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = view_filter_ref (object); +#line 8945 "ViewCollection.c" + } else { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 8949 "ViewCollection.c" + } +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return NULL; +#line 8953 "ViewCollection.c" +} + + +static gchar* value_view_filter_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + ViewFilter** object_p; + object_p = collect_values[0].v_pointer; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!object_p) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8964 "ViewCollection.c" + } +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (!value->data[0].v_pointer) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = NULL; +#line 8970 "ViewCollection.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = value->data[0].v_pointer; +#line 8974 "ViewCollection.c" + } else { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + *object_p = view_filter_ref (value->data[0].v_pointer); +#line 8978 "ViewCollection.c" + } +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return NULL; +#line 8982 "ViewCollection.c" +} + + +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecViewFilter* spec; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_VIEW_FILTER), NULL); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return G_PARAM_SPEC (spec); +#line 8996 "ViewCollection.c" +} + + +gpointer value_get_view_filter (const GValue* value) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIEW_FILTER), NULL); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return value->data[0].v_pointer; +#line 9005 "ViewCollection.c" +} + + +void value_set_view_filter (GValue* value, gpointer v_object) { + ViewFilter* old; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIEW_FILTER)); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + old = value->data[0].v_pointer; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (v_object) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIEW_FILTER)); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = v_object; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_filter_ref (value->data[0].v_pointer); +#line 9025 "ViewCollection.c" + } else { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 9029 "ViewCollection.c" + } +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (old) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_filter_unref (old); +#line 9035 "ViewCollection.c" + } +} + + +void value_take_view_filter (GValue* value, gpointer v_object) { + ViewFilter* old; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIEW_FILTER)); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + old = value->data[0].v_pointer; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (v_object) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIEW_FILTER)); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = v_object; +#line 9054 "ViewCollection.c" + } else { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + value->data[0].v_pointer = NULL; +#line 9058 "ViewCollection.c" + } +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (old) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_filter_unref (old); +#line 9064 "ViewCollection.c" + } +} + + +static void view_filter_class_init (ViewFilterClass * klass) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + view_filter_parent_class = g_type_class_peek_parent (klass); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewFilterClass *) klass)->finalize = view_filter_finalize; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewFilterClass *) klass)->predicate = view_filter_real_predicate; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + ((ViewFilterClass *) klass)->refresh = view_filter_real_refresh; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_new ("refresh", TYPE_VIEW_FILTER, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (ViewFilterClass, refresh), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 9080 "ViewCollection.c" +} + + +static void view_filter_instance_init (ViewFilter * self) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self->ref_count = 1; +#line 9087 "ViewCollection.c" +} + + +static void view_filter_finalize (ViewFilter* obj) { + ViewFilter * self; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIEW_FILTER, ViewFilter); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_signal_handlers_destroy (self); +#line 9097 "ViewCollection.c" +} + + +GType view_filter_get_type (void) { + static volatile gsize view_filter_type_id__volatile = 0; + if (g_once_init_enter (&view_filter_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_view_filter_init, value_view_filter_free_value, value_view_filter_copy_value, value_view_filter_peek_pointer, "p", value_view_filter_collect_value, "p", value_view_filter_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (ViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ViewFilter), 0, (GInstanceInitFunc) view_filter_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType view_filter_type_id; + view_filter_type_id = g_type_register_fundamental (g_type_fundamental_next (), "ViewFilter", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&view_filter_type_id__volatile, view_filter_type_id); + } + return view_filter_type_id__volatile; +} + + +gpointer view_filter_ref (gpointer instance) { + ViewFilter* self; + self = instance; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_atomic_int_inc (&self->ref_count); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + return instance; +#line 9122 "ViewCollection.c" +} + + +void view_filter_unref (gpointer instance) { + ViewFilter* self; + self = instance; +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + VIEW_FILTER_GET_CLASS (self)->finalize (self); +#line 1278 "/home/jens/Source/shotwell/src/core/ViewCollection.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 9135 "ViewCollection.c" + } +} + + + diff --git a/src/core/mk/core.mk b/src/core/mk/core.mk deleted file mode 100644 index c35c93a..0000000 --- a/src/core/mk/core.mk +++ /dev/null @@ -1,43 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Core - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := core - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - DataCollection.vala \ - DataSet.vala \ - util.vala \ - SourceCollection.vala \ - SourceHoldingTank.vala \ - DatabaseSourceCollection.vala \ - ContainerSourceCollection.vala \ - ViewCollection.vala \ - DataObject.vala \ - Alteration.vala \ - DataSource.vala \ - DataSourceTypes.vala \ - DataView.vala \ - DataViewTypes.vala \ - Tracker.vala \ - SourceInterfaces.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/core/util.c b/src/core/util.c new file mode 100644 index 0000000..0088011 --- /dev/null +++ b/src/core/util.c @@ -0,0 +1,1791 @@ +/* util.c generated by valac 0.32.1, the Vala compiler + * generated from util.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* SingletonCollection is a read-only collection designed to hold exactly one item in it. This*/ +/* is far more efficient than creating a dummy collection (such as ArrayList) merely to pass around*/ +/* a single item, particularly for signals which require Iterables and Collections.*/ +/**/ +/* This collection cannot be used to store null.*/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SINGLETON_COLLECTION (singleton_collection_get_type ()) +#define SINGLETON_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLETON_COLLECTION, SingletonCollection)) +#define SINGLETON_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLETON_COLLECTION, SingletonCollectionClass)) +#define IS_SINGLETON_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLETON_COLLECTION)) +#define IS_SINGLETON_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLETON_COLLECTION)) +#define SINGLETON_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLETON_COLLECTION, SingletonCollectionClass)) + +typedef struct _SingletonCollection SingletonCollection; +typedef struct _SingletonCollectionClass SingletonCollectionClass; +typedef struct _SingletonCollectionPrivate SingletonCollectionPrivate; +#define _g_destroy_func0(var) (((var == NULL) || (g_destroy_func == NULL)) ? NULL : (var = (g_destroy_func (var), NULL))) + +#define SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR (singleton_collection_singleton_iterator_get_type ()) +#define SINGLETON_COLLECTION_SINGLETON_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator)) +#define SINGLETON_COLLECTION_SINGLETON_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIteratorClass)) +#define SINGLETON_COLLECTION_IS_SINGLETON_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR)) +#define SINGLETON_COLLECTION_IS_SINGLETON_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR)) +#define SINGLETON_COLLECTION_SINGLETON_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIteratorClass)) + +typedef struct _SingletonCollectionSingletonIterator SingletonCollectionSingletonIterator; +typedef struct _SingletonCollectionSingletonIteratorClass SingletonCollectionSingletonIteratorClass; +typedef struct _SingletonCollectionSingletonIteratorPrivate SingletonCollectionSingletonIteratorPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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_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_UNKNOWN_TOTAL_MONITOR (unknown_total_monitor_get_type ()) +#define UNKNOWN_TOTAL_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UNKNOWN_TOTAL_MONITOR, UnknownTotalMonitor)) +#define UNKNOWN_TOTAL_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UNKNOWN_TOTAL_MONITOR, UnknownTotalMonitorClass)) +#define IS_UNKNOWN_TOTAL_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UNKNOWN_TOTAL_MONITOR)) +#define IS_UNKNOWN_TOTAL_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UNKNOWN_TOTAL_MONITOR)) +#define UNKNOWN_TOTAL_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UNKNOWN_TOTAL_MONITOR, UnknownTotalMonitorClass)) + +typedef struct _UnknownTotalMonitor UnknownTotalMonitor; +typedef struct _UnknownTotalMonitorClass UnknownTotalMonitorClass; +typedef struct _UnknownTotalMonitorPrivate UnknownTotalMonitorPrivate; +typedef struct _ParamSpecUnknownTotalMonitor ParamSpecUnknownTotalMonitor; + +#define TYPE_AGGREGATE_PROGRESS_MONITOR (aggregate_progress_monitor_get_type ()) +#define AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitor)) +#define AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass)) +#define IS_AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR)) +#define IS_AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR)) +#define AGGREGATE_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass)) + +typedef struct _AggregateProgressMonitor AggregateProgressMonitor; +typedef struct _AggregateProgressMonitorClass AggregateProgressMonitorClass; +typedef struct _AggregateProgressMonitorPrivate AggregateProgressMonitorPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecAggregateProgressMonitor ParamSpecAggregateProgressMonitor; + +struct _SingletonCollection { + GeeAbstractCollection parent_instance; + SingletonCollectionPrivate * priv; +}; + +struct _SingletonCollectionClass { + GeeAbstractCollectionClass parent_class; +}; + +struct _SingletonCollectionPrivate { + GType g_type; + GBoxedCopyFunc g_dup_func; + GDestroyNotify g_destroy_func; + gpointer object; +}; + +struct _SingletonCollectionSingletonIterator { + GObject parent_instance; + SingletonCollectionSingletonIteratorPrivate * priv; +}; + +struct _SingletonCollectionSingletonIteratorClass { + GObjectClass parent_class; +}; + +struct _SingletonCollectionSingletonIteratorPrivate { + GType g_type; + GBoxedCopyFunc g_dup_func; + GDestroyNotify g_destroy_func; + SingletonCollection* c; + gboolean done; + gpointer current; +}; + +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 (*MarkedAction) (DataObject* object, GObject* user, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _UnknownTotalMonitor { + GTypeInstance parent_instance; + volatile int ref_count; + UnknownTotalMonitorPrivate * priv; +}; + +struct _UnknownTotalMonitorClass { + GTypeClass parent_class; + void (*finalize) (UnknownTotalMonitor *self); +}; + +struct _UnknownTotalMonitorPrivate { + guint64 total; + ProgressMonitor wrapped_monitor; + gpointer wrapped_monitor_target; +}; + +struct _ParamSpecUnknownTotalMonitor { + GParamSpec parent_instance; +}; + +struct _AggregateProgressMonitor { + GTypeInstance parent_instance; + volatile int ref_count; + AggregateProgressMonitorPrivate * priv; +}; + +struct _AggregateProgressMonitorClass { + GTypeClass parent_class; + void (*finalize) (AggregateProgressMonitor *self); +}; + +struct _AggregateProgressMonitorPrivate { + guint64 grand_total; + ProgressMonitor wrapped_monitor; + gpointer wrapped_monitor_target; + guint64 aggregate_count; + guint64 last_count; +}; + +struct _ParamSpecAggregateProgressMonitor { + GParamSpec parent_instance; +}; + + +static gpointer singleton_collection_parent_class = NULL; +static gpointer singleton_collection_singleton_iterator_parent_class = NULL; +static GeeTraversableIface* singleton_collection_singleton_iterator_gee_traversable_parent_iface = NULL; +static GeeIteratorIface* singleton_collection_singleton_iterator_gee_iterator_parent_iface = NULL; +static gpointer unknown_total_monitor_parent_class = NULL; +static gpointer aggregate_progress_monitor_parent_class = NULL; + +GType singleton_collection_get_type (void) G_GNUC_CONST; +#define SINGLETON_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SINGLETON_COLLECTION, SingletonCollectionPrivate)) +enum { + SINGLETON_COLLECTION_DUMMY_PROPERTY, + SINGLETON_COLLECTION_G_TYPE, + SINGLETON_COLLECTION_G_DUP_FUNC, + SINGLETON_COLLECTION_G_DESTROY_FUNC, + SINGLETON_COLLECTION_READ_ONLY, + SINGLETON_COLLECTION_SIZE +}; +SingletonCollection* singleton_collection_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer object); +SingletonCollection* singleton_collection_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer object); +static gboolean singleton_collection_real_add (GeeAbstractCollection* base, gconstpointer object); +static void singleton_collection_real_clear (GeeAbstractCollection* base); +static gboolean singleton_collection_real_contains (GeeAbstractCollection* base, gconstpointer object); +static GeeIterator* singleton_collection_real_iterator (GeeAbstractCollection* base); +static SingletonCollectionSingletonIterator* singleton_collection_singleton_iterator_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, SingletonCollection* c); +static SingletonCollectionSingletonIterator* singleton_collection_singleton_iterator_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, SingletonCollection* c); +static GType singleton_collection_singleton_iterator_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static gboolean singleton_collection_real_remove (GeeAbstractCollection* base, gconstpointer item); +#define SINGLETON_COLLECTION_SINGLETON_ITERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIteratorPrivate)) +enum { + SINGLETON_COLLECTION_SINGLETON_ITERATOR_DUMMY_PROPERTY, + SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_TYPE, + SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_DUP_FUNC, + SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_DESTROY_FUNC, + SINGLETON_COLLECTION_SINGLETON_ITERATOR_READ_ONLY, + SINGLETON_COLLECTION_SINGLETON_ITERATOR_VALID +}; +static gboolean singleton_collection_singleton_iterator_real_foreach (GeeTraversable* base, GeeForallFunc f, void* f_target); +static gpointer singleton_collection_singleton_iterator_real_get (GeeIterator* base); +static gboolean singleton_collection_singleton_iterator_real_has_next (GeeIterator* base); +static gboolean singleton_collection_singleton_iterator_real_next (GeeIterator* base); +static void singleton_collection_singleton_iterator_real_remove (GeeIterator* base); +static void singleton_collection_singleton_iterator_finalize (GObject* obj); +static void _vala_singleton_collection_singleton_iterator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_singleton_collection_singleton_iterator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +static void singleton_collection_finalize (GObject* obj); +static void _vala_singleton_collection_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_singleton_collection_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType data_object_get_type (void) G_GNUC_CONST; +GType marker_get_type (void) G_GNUC_CONST; +void marker_mark (Marker* self, DataObject* object); +void marker_unmark (Marker* self, DataObject* object); +gboolean marker_toggle (Marker* self, DataObject* object); +void marker_mark_many (Marker* self, GeeCollection* list); +void marker_unmark_many (Marker* self, GeeCollection* list); +void marker_mark_all (Marker* self); +gint marker_get_count (Marker* self); +GeeCollection* marker_get_all (Marker* self); +gpointer unknown_total_monitor_ref (gpointer instance); +void unknown_total_monitor_unref (gpointer instance); +GParamSpec* param_spec_unknown_total_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_unknown_total_monitor (GValue* value, gpointer v_object); +void value_take_unknown_total_monitor (GValue* value, gpointer v_object); +gpointer value_get_unknown_total_monitor (const GValue* value); +GType unknown_total_monitor_get_type (void) G_GNUC_CONST; +#define UNKNOWN_TOTAL_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_UNKNOWN_TOTAL_MONITOR, UnknownTotalMonitorPrivate)) +enum { + UNKNOWN_TOTAL_MONITOR_DUMMY_PROPERTY +}; +UnknownTotalMonitor* unknown_total_monitor_new (guint64 total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target); +UnknownTotalMonitor* unknown_total_monitor_construct (GType object_type, guint64 total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target); +gboolean unknown_total_monitor_monitor (UnknownTotalMonitor* self, guint64 count, guint64 total); +static void unknown_total_monitor_finalize (UnknownTotalMonitor* obj); +gpointer aggregate_progress_monitor_ref (gpointer instance); +void aggregate_progress_monitor_unref (gpointer instance); +GParamSpec* param_spec_aggregate_progress_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_aggregate_progress_monitor (GValue* value, gpointer v_object); +void value_take_aggregate_progress_monitor (GValue* value, gpointer v_object); +gpointer value_get_aggregate_progress_monitor (const GValue* value); +GType aggregate_progress_monitor_get_type (void) G_GNUC_CONST; +#define AGGREGATE_PROGRESS_MONITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorPrivate)) +enum { + AGGREGATE_PROGRESS_MONITOR_DUMMY_PROPERTY +}; +AggregateProgressMonitor* aggregate_progress_monitor_new (guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target); +AggregateProgressMonitor* aggregate_progress_monitor_construct (GType object_type, guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target); +void aggregate_progress_monitor_next_step (AggregateProgressMonitor* self, const gchar* name); +gboolean aggregate_progress_monitor_monitor (AggregateProgressMonitor* self, guint64 count, guint64 total); +static void aggregate_progress_monitor_finalize (AggregateProgressMonitor* obj); +gboolean null_progress_monitor (guint64 count, guint64 total); +gdouble degrees_to_radians (gdouble theta); + + +SingletonCollection* singleton_collection_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer object) { + SingletonCollection * self = NULL; + gconstpointer _tmp0_ = NULL; + gpointer _tmp1_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/core/util.vala" + self = (SingletonCollection*) gee_abstract_collection_construct (object_type, g_type, (GBoxedCopyFunc) g_dup_func, g_destroy_func); +#line 65 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_type = g_type; +#line 65 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_dup_func = g_dup_func; +#line 65 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_destroy_func = g_destroy_func; +#line 66 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = object; +#line 66 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = ((_tmp0_ != NULL) && (g_dup_func != NULL)) ? g_dup_func ((gpointer) _tmp0_) : ((gpointer) _tmp0_); +#line 66 "/home/jens/Source/shotwell/src/core/util.vala" + _g_destroy_func0 (self->priv->object); +#line 66 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->object = _tmp1_; +#line 65 "/home/jens/Source/shotwell/src/core/util.vala" + return self; +#line 300 "util.c" +} + + +SingletonCollection* singleton_collection_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, gconstpointer object) { +#line 65 "/home/jens/Source/shotwell/src/core/util.vala" + return singleton_collection_construct (TYPE_SINGLETON_COLLECTION, g_type, g_dup_func, g_destroy_func, object); +#line 307 "util.c" +} + + +static gboolean singleton_collection_real_add (GeeAbstractCollection* base, gconstpointer object) { + SingletonCollection * self; + gboolean result = FALSE; +#line 73 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 74 "/home/jens/Source/shotwell/src/core/util.vala" + g_warning ("util.vala:74: Cannot add to SingletonCollection"); +#line 76 "/home/jens/Source/shotwell/src/core/util.vala" + result = FALSE; +#line 76 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 322 "util.c" +} + + +static void singleton_collection_real_clear (GeeAbstractCollection* base) { + SingletonCollection * self; +#line 79 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 80 "/home/jens/Source/shotwell/src/core/util.vala" + ((self->priv->object == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (self->priv->object = (self->priv->g_destroy_func (self->priv->object), NULL)); +#line 80 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->object = NULL; +#line 334 "util.c" +} + + +static gboolean singleton_collection_real_contains (GeeAbstractCollection* base, gconstpointer object) { + SingletonCollection * self; + gboolean result = FALSE; + gconstpointer _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 84 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = self->priv->object; +#line 84 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = object; +#line 84 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp0_ == _tmp1_; +#line 84 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 353 "util.c" +} + + +static GeeIterator* singleton_collection_real_iterator (GeeAbstractCollection* base) { + SingletonCollection * self; + GeeIterator* result = NULL; + SingletonCollectionSingletonIterator* _tmp0_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 88 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = singleton_collection_singleton_iterator_new (self->priv->g_type, (GBoxedCopyFunc) self->priv->g_dup_func, self->priv->g_destroy_func, self); +#line 88 "/home/jens/Source/shotwell/src/core/util.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERATOR, GeeIterator); +#line 88 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 369 "util.c" +} + + +static gboolean singleton_collection_real_remove (GeeAbstractCollection* base, gconstpointer item) { + SingletonCollection * self; + gboolean result = FALSE; + gconstpointer _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 92 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = item; +#line 92 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = self->priv->object; +#line 92 "/home/jens/Source/shotwell/src/core/util.vala" + if (_tmp0_ == _tmp1_) { +#line 93 "/home/jens/Source/shotwell/src/core/util.vala" + ((self->priv->object == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (self->priv->object = (self->priv->g_destroy_func (self->priv->object), NULL)); +#line 93 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->object = NULL; +#line 95 "/home/jens/Source/shotwell/src/core/util.vala" + result = TRUE; +#line 95 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 394 "util.c" + } +#line 98 "/home/jens/Source/shotwell/src/core/util.vala" + result = FALSE; +#line 98 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 400 "util.c" +} + + +static gboolean singleton_collection_real_get_read_only (GeeAbstractCollection* base) { + gboolean result; + SingletonCollection* self; +#line 70 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 70 "/home/jens/Source/shotwell/src/core/util.vala" + result = FALSE; +#line 70 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 413 "util.c" +} + + +static gint singleton_collection_real_get_size (GeeAbstractCollection* base) { + gint result; + SingletonCollection* self; + gint _tmp0_ = 0; + gconstpointer _tmp1_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 103 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = self->priv->object; +#line 103 "/home/jens/Source/shotwell/src/core/util.vala" + if (_tmp1_ != NULL) { +#line 103 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = 1; +#line 430 "util.c" + } else { +#line 103 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = 0; +#line 434 "util.c" + } +#line 103 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp0_; +#line 103 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 440 "util.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 20 "/home/jens/Source/shotwell/src/core/util.vala" + return self ? g_object_ref (self) : NULL; +#line 447 "util.c" +} + + +static SingletonCollectionSingletonIterator* singleton_collection_singleton_iterator_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, SingletonCollection* c) { + SingletonCollectionSingletonIterator * self = NULL; + SingletonCollection* _tmp0_ = NULL; + SingletonCollection* _tmp1_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (IS_SINGLETON_COLLECTION (c), NULL); +#line 19 "/home/jens/Source/shotwell/src/core/util.vala" + self = (SingletonCollectionSingletonIterator*) g_object_new (object_type, NULL); +#line 19 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_type = g_type; +#line 19 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_dup_func = g_dup_func; +#line 19 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_destroy_func = g_destroy_func; +#line 20 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = c; +#line 20 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 20 "/home/jens/Source/shotwell/src/core/util.vala" + _g_object_unref0 (self->priv->c); +#line 20 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->c = _tmp1_; +#line 19 "/home/jens/Source/shotwell/src/core/util.vala" + return self; +#line 475 "util.c" +} + + +static SingletonCollectionSingletonIterator* singleton_collection_singleton_iterator_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, SingletonCollection* c) { +#line 19 "/home/jens/Source/shotwell/src/core/util.vala" + return singleton_collection_singleton_iterator_construct (SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, g_type, g_dup_func, g_destroy_func, c); +#line 482 "util.c" +} + + +static gboolean singleton_collection_singleton_iterator_real_foreach (GeeTraversable* base, GeeForallFunc f, void* f_target) { + SingletonCollectionSingletonIterator * self; + gboolean result = FALSE; + GeeForallFunc _tmp0_ = NULL; + void* _tmp0__target = NULL; + SingletonCollection* _tmp1_ = NULL; + gconstpointer _tmp2_ = NULL; + gpointer _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 31 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 32 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = f; +#line 32 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0__target = f_target; +#line 32 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = self->priv->c; +#line 32 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp2_ = _tmp1_->priv->object; +#line 32 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp3_ = ((_tmp2_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp2_) : ((gpointer) _tmp2_); +#line 32 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp4_ = _tmp0_ (_tmp3_, _tmp0__target); +#line 32 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp4_; +#line 32 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 513 "util.c" +} + + +static gpointer singleton_collection_singleton_iterator_real_get (GeeIterator* base) { + SingletonCollectionSingletonIterator * self; + gpointer result = NULL; + gconstpointer _tmp0_ = NULL; + gpointer _tmp1_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 36 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = self->priv->current; +#line 36 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = ((_tmp0_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp0_) : ((gpointer) _tmp0_); +#line 36 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp1_; +#line 36 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 532 "util.c" +} + + +static gboolean singleton_collection_singleton_iterator_real_has_next (GeeIterator* base) { + SingletonCollectionSingletonIterator * self; + gboolean result = FALSE; +#line 39 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 40 "/home/jens/Source/shotwell/src/core/util.vala" + result = FALSE; +#line 40 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 545 "util.c" +} + + +static gboolean singleton_collection_singleton_iterator_real_next (GeeIterator* base) { + SingletonCollectionSingletonIterator * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + SingletonCollection* _tmp1_ = NULL; + gconstpointer _tmp2_ = NULL; + gpointer _tmp3_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 44 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = self->priv->done; +#line 44 "/home/jens/Source/shotwell/src/core/util.vala" + if (_tmp0_) { +#line 45 "/home/jens/Source/shotwell/src/core/util.vala" + result = FALSE; +#line 45 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 566 "util.c" + } +#line 47 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->done = TRUE; +#line 48 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = self->priv->c; +#line 48 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp2_ = _tmp1_->priv->object; +#line 48 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp3_ = ((_tmp2_ != NULL) && (self->priv->g_dup_func != NULL)) ? self->priv->g_dup_func ((gpointer) _tmp2_) : ((gpointer) _tmp2_); +#line 48 "/home/jens/Source/shotwell/src/core/util.vala" + ((self->priv->current == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (self->priv->current = (self->priv->g_destroy_func (self->priv->current), NULL)); +#line 48 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->current = _tmp3_; +#line 50 "/home/jens/Source/shotwell/src/core/util.vala" + result = TRUE; +#line 50 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 584 "util.c" +} + + +static void singleton_collection_singleton_iterator_real_remove (GeeIterator* base) { + SingletonCollectionSingletonIterator * self; + gboolean _tmp0_ = FALSE; +#line 53 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 54 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = self->priv->done; +#line 54 "/home/jens/Source/shotwell/src/core/util.vala" + if (!_tmp0_) { +#line 597 "util.c" + SingletonCollection* _tmp1_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = self->priv->c; +#line 55 "/home/jens/Source/shotwell/src/core/util.vala" + ((_tmp1_->priv->object == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (_tmp1_->priv->object = (self->priv->g_destroy_func (_tmp1_->priv->object), NULL)); +#line 55 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_->priv->object = NULL; +#line 56 "/home/jens/Source/shotwell/src/core/util.vala" + ((self->priv->current == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (self->priv->current = (self->priv->g_destroy_func (self->priv->current), NULL)); +#line 56 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->current = NULL; +#line 609 "util.c" + } +#line 59 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->done = TRUE; +#line 613 "util.c" +} + + +static gboolean singleton_collection_singleton_iterator_real_get_read_only (GeeIterator* base) { + gboolean result; + SingletonCollectionSingletonIterator* self; + gboolean _tmp0_ = FALSE; +#line 24 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 24 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = self->priv->done; +#line 24 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp0_; +#line 24 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 629 "util.c" +} + + +static gboolean singleton_collection_singleton_iterator_real_get_valid (GeeIterator* base) { + gboolean result; + SingletonCollectionSingletonIterator* self; + gboolean _tmp0_ = FALSE; +#line 28 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 28 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = self->priv->done; +#line 28 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp0_; +#line 28 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 645 "util.c" +} + + +static void singleton_collection_singleton_iterator_class_init (SingletonCollectionSingletonIteratorClass * klass) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + singleton_collection_singleton_iterator_parent_class = g_type_class_peek_parent (klass); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + g_type_class_add_private (klass, sizeof (SingletonCollectionSingletonIteratorPrivate)); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_singleton_collection_singleton_iterator_get_property; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_singleton_collection_singleton_iterator_set_property; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_CLASS (klass)->finalize = singleton_collection_singleton_iterator_finalize; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_TYPE, g_param_spec_gtype ("g-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_DUP_FUNC, g_param_spec_pointer ("g-dup-func", "dup func", "dup func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_DESTROY_FUNC, g_param_spec_pointer ("g-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_SINGLETON_ITERATOR_READ_ONLY, g_param_spec_boolean ("read-only", "read-only", "read-only", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_SINGLETON_ITERATOR_VALID, g_param_spec_boolean ("valid", "valid", "valid", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 670 "util.c" +} + + +static GType singleton_collection_singleton_iterator_gee_traversable_get_g_type (SingletonCollectionSingletonIterator* self) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + return self->priv->g_type; +#line 677 "util.c" +} + + +static GBoxedCopyFunc singleton_collection_singleton_iterator_gee_traversable_get_g_dup_func (SingletonCollectionSingletonIterator* self) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + return self->priv->g_dup_func; +#line 684 "util.c" +} + + +static GDestroyNotify singleton_collection_singleton_iterator_gee_traversable_get_g_destroy_func (SingletonCollectionSingletonIterator* self) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + return self->priv->g_destroy_func; +#line 691 "util.c" +} + + +static void singleton_collection_singleton_iterator_gee_traversable_interface_init (GeeTraversableIface * iface) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + singleton_collection_singleton_iterator_gee_traversable_parent_iface = g_type_interface_peek_parent (iface); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->foreach = (gboolean (*)(GeeTraversable*, GeeForallFunc, void*)) singleton_collection_singleton_iterator_real_foreach; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->get_g_type = (GType(*)(GeeTraversable*)) singleton_collection_singleton_iterator_gee_traversable_get_g_type; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->get_g_dup_func = (GBoxedCopyFunc(*)(GeeTraversable*)) singleton_collection_singleton_iterator_gee_traversable_get_g_dup_func; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->get_g_destroy_func = (GDestroyNotify(*)(GeeTraversable*)) singleton_collection_singleton_iterator_gee_traversable_get_g_destroy_func; +#line 706 "util.c" +} + + +static void singleton_collection_singleton_iterator_gee_iterator_interface_init (GeeIteratorIface * iface) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + singleton_collection_singleton_iterator_gee_iterator_parent_iface = g_type_interface_peek_parent (iface); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->get = (gpointer (*)(GeeIterator*)) singleton_collection_singleton_iterator_real_get; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->has_next = (gboolean (*)(GeeIterator*)) singleton_collection_singleton_iterator_real_has_next; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->next = (gboolean (*)(GeeIterator*)) singleton_collection_singleton_iterator_real_next; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->remove = (void (*)(GeeIterator*)) singleton_collection_singleton_iterator_real_remove; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->get_read_only = singleton_collection_singleton_iterator_real_get_read_only; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + iface->get_valid = singleton_collection_singleton_iterator_real_get_valid; +#line 725 "util.c" +} + + +static void singleton_collection_singleton_iterator_instance_init (SingletonCollectionSingletonIterator * self) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv = SINGLETON_COLLECTION_SINGLETON_ITERATOR_GET_PRIVATE (self); +#line 16 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->done = FALSE; +#line 17 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->current = NULL; +#line 736 "util.c" +} + + +static void singleton_collection_singleton_iterator_finalize (GObject* obj) { + SingletonCollectionSingletonIterator * self; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 15 "/home/jens/Source/shotwell/src/core/util.vala" + _g_object_unref0 (self->priv->c); +#line 17 "/home/jens/Source/shotwell/src/core/util.vala" + ((self->priv->current == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (self->priv->current = (self->priv->g_destroy_func (self->priv->current), NULL)); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_CLASS (singleton_collection_singleton_iterator_parent_class)->finalize (obj); +#line 750 "util.c" +} + + +static GType singleton_collection_singleton_iterator_get_type (void) { + static volatile gsize singleton_collection_singleton_iterator_type_id__volatile = 0; + if (g_once_init_enter (&singleton_collection_singleton_iterator_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SingletonCollectionSingletonIteratorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) singleton_collection_singleton_iterator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SingletonCollectionSingletonIterator), 0, (GInstanceInitFunc) singleton_collection_singleton_iterator_instance_init, NULL }; + static const GInterfaceInfo gee_traversable_info = { (GInterfaceInitFunc) singleton_collection_singleton_iterator_gee_traversable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo gee_iterator_info = { (GInterfaceInitFunc) singleton_collection_singleton_iterator_gee_iterator_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType singleton_collection_singleton_iterator_type_id; + singleton_collection_singleton_iterator_type_id = g_type_register_static (G_TYPE_OBJECT, "SingletonCollectionSingletonIterator", &g_define_type_info, 0); + g_type_add_interface_static (singleton_collection_singleton_iterator_type_id, GEE_TYPE_TRAVERSABLE, &gee_traversable_info); + g_type_add_interface_static (singleton_collection_singleton_iterator_type_id, GEE_TYPE_ITERATOR, &gee_iterator_info); + g_once_init_leave (&singleton_collection_singleton_iterator_type_id__volatile, singleton_collection_singleton_iterator_type_id); + } + return singleton_collection_singleton_iterator_type_id__volatile; +} + + +static void _vala_singleton_collection_singleton_iterator_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + SingletonCollectionSingletonIterator * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + switch (property_id) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_SINGLETON_ITERATOR_READ_ONLY: +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + g_value_set_boolean (value, gee_iterator_get_read_only (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_ITERATOR, GeeIterator))); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_SINGLETON_ITERATOR_VALID: +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + g_value_set_boolean (value, gee_iterator_get_valid (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_ITERATOR, GeeIterator))); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 787 "util.c" + default: +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 793 "util.c" + } +} + + +static void _vala_singleton_collection_singleton_iterator_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + SingletonCollectionSingletonIterator * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SINGLETON_COLLECTION_TYPE_SINGLETON_ITERATOR, SingletonCollectionSingletonIterator); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + switch (property_id) { +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_TYPE: +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_type = g_value_get_gtype (value); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_DUP_FUNC: +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_dup_func = g_value_get_pointer (value); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_SINGLETON_ITERATOR_G_DESTROY_FUNC: +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_destroy_func = g_value_get_pointer (value); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 821 "util.c" + default: +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 14 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 827 "util.c" + } +} + + +static void singleton_collection_class_init (SingletonCollectionClass * klass) { +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + singleton_collection_parent_class = g_type_class_peek_parent (klass); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + g_type_class_add_private (klass, sizeof (SingletonCollectionPrivate)); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + ((GeeAbstractCollectionClass *) klass)->add = singleton_collection_real_add; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + ((GeeAbstractCollectionClass *) klass)->clear = singleton_collection_real_clear; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + ((GeeAbstractCollectionClass *) klass)->contains = singleton_collection_real_contains; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + ((GeeAbstractCollectionClass *) klass)->iterator = singleton_collection_real_iterator; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + ((GeeAbstractCollectionClass *) klass)->remove = singleton_collection_real_remove; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + GEE_ABSTRACT_COLLECTION_CLASS (klass)->get_read_only = singleton_collection_real_get_read_only; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + GEE_ABSTRACT_COLLECTION_CLASS (klass)->get_size = singleton_collection_real_get_size; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_singleton_collection_get_property; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_singleton_collection_set_property; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_CLASS (klass)->finalize = singleton_collection_finalize; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_G_TYPE, g_param_spec_gtype ("g-type", "type", "type", G_TYPE_NONE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_G_DUP_FUNC, g_param_spec_pointer ("g-dup-func", "dup func", "dup func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_G_DESTROY_FUNC, g_param_spec_pointer ("g-destroy-func", "destroy func", "destroy func", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_READ_ONLY, g_param_spec_boolean ("read-only", "read-only", "read-only", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SINGLETON_COLLECTION_SIZE, g_param_spec_int ("size", "size", "size", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 867 "util.c" +} + + +static void singleton_collection_instance_init (SingletonCollection * self) { +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv = SINGLETON_COLLECTION_GET_PRIVATE (self); +#line 874 "util.c" +} + + +static void singleton_collection_finalize (GObject* obj) { + SingletonCollection * self; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 63 "/home/jens/Source/shotwell/src/core/util.vala" + ((self->priv->object == NULL) || (self->priv->g_destroy_func == NULL)) ? NULL : (self->priv->object = (self->priv->g_destroy_func (self->priv->object), NULL)); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_CLASS (singleton_collection_parent_class)->finalize (obj); +#line 886 "util.c" +} + + +GType singleton_collection_get_type (void) { + static volatile gsize singleton_collection_type_id__volatile = 0; + if (g_once_init_enter (&singleton_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SingletonCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) singleton_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SingletonCollection), 0, (GInstanceInitFunc) singleton_collection_instance_init, NULL }; + GType singleton_collection_type_id; + singleton_collection_type_id = g_type_register_static (GEE_TYPE_ABSTRACT_COLLECTION, "SingletonCollection", &g_define_type_info, 0); + g_once_init_leave (&singleton_collection_type_id__volatile, singleton_collection_type_id); + } + return singleton_collection_type_id__volatile; +} + + +static void _vala_singleton_collection_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + SingletonCollection * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + switch (property_id) { +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_READ_ONLY: +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + g_value_set_boolean (value, gee_abstract_collection_get_read_only (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection))); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_SIZE: +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + g_value_set_int (value, gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection))); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 919 "util.c" + default: +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 925 "util.c" + } +} + + +static void _vala_singleton_collection_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + SingletonCollection * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_SINGLETON_COLLECTION, SingletonCollection); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + switch (property_id) { +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_G_TYPE: +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_type = g_value_get_gtype (value); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_G_DUP_FUNC: +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_dup_func = g_value_get_pointer (value); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + case SINGLETON_COLLECTION_G_DESTROY_FUNC: +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->g_destroy_func = g_value_get_pointer (value); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 953 "util.c" + default: +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 13 "/home/jens/Source/shotwell/src/core/util.vala" + break; +#line 959 "util.c" + } +} + + +void marker_mark (Marker* self, DataObject* object) { +#line 113 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (IS_MARKER (self)); +#line 113 "/home/jens/Source/shotwell/src/core/util.vala" + MARKER_GET_INTERFACE (self)->mark (self, object); +#line 969 "util.c" +} + + +void marker_unmark (Marker* self, DataObject* object) { +#line 115 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (IS_MARKER (self)); +#line 115 "/home/jens/Source/shotwell/src/core/util.vala" + MARKER_GET_INTERFACE (self)->unmark (self, object); +#line 978 "util.c" +} + + +gboolean marker_toggle (Marker* self, DataObject* object) { +#line 117 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (IS_MARKER (self), FALSE); +#line 117 "/home/jens/Source/shotwell/src/core/util.vala" + return MARKER_GET_INTERFACE (self)->toggle (self, object); +#line 987 "util.c" +} + + +void marker_mark_many (Marker* self, GeeCollection* list) { +#line 119 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (IS_MARKER (self)); +#line 119 "/home/jens/Source/shotwell/src/core/util.vala" + MARKER_GET_INTERFACE (self)->mark_many (self, list); +#line 996 "util.c" +} + + +void marker_unmark_many (Marker* self, GeeCollection* list) { +#line 121 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (IS_MARKER (self)); +#line 121 "/home/jens/Source/shotwell/src/core/util.vala" + MARKER_GET_INTERFACE (self)->unmark_many (self, list); +#line 1005 "util.c" +} + + +void marker_mark_all (Marker* self) { +#line 123 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (IS_MARKER (self)); +#line 123 "/home/jens/Source/shotwell/src/core/util.vala" + MARKER_GET_INTERFACE (self)->mark_all (self); +#line 1014 "util.c" +} + + +gint marker_get_count (Marker* self) { +#line 127 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (IS_MARKER (self), 0); +#line 127 "/home/jens/Source/shotwell/src/core/util.vala" + return MARKER_GET_INTERFACE (self)->get_count (self); +#line 1023 "util.c" +} + + +GeeCollection* marker_get_all (Marker* self) { +#line 130 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (IS_MARKER (self), NULL); +#line 130 "/home/jens/Source/shotwell/src/core/util.vala" + return MARKER_GET_INTERFACE (self)->get_all (self); +#line 1032 "util.c" +} + + +static void marker_base_init (MarkerIface * iface) { +#line 112 "/home/jens/Source/shotwell/src/core/util.vala" + static gboolean initialized = FALSE; +#line 112 "/home/jens/Source/shotwell/src/core/util.vala" + if (!initialized) { +#line 112 "/home/jens/Source/shotwell/src/core/util.vala" + initialized = TRUE; +#line 1043 "util.c" + } +} + + +GType marker_get_type (void) { + static volatile gsize marker_type_id__volatile = 0; + if (g_once_init_enter (&marker_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MarkerIface), (GBaseInitFunc) marker_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType marker_type_id; + marker_type_id = g_type_register_static (G_TYPE_INTERFACE, "Marker", &g_define_type_info, 0); + g_type_interface_add_prerequisite (marker_type_id, G_TYPE_OBJECT); + g_once_init_leave (&marker_type_id__volatile, marker_type_id); + } + return marker_type_id__volatile; +} + + +UnknownTotalMonitor* unknown_total_monitor_construct (GType object_type, guint64 total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target) { + UnknownTotalMonitor* self = NULL; + guint64 _tmp0_ = 0ULL; + ProgressMonitor _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 147 "/home/jens/Source/shotwell/src/core/util.vala" + self = (UnknownTotalMonitor*) g_type_create_instance (object_type); +#line 148 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = total; +#line 148 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->total = _tmp0_; +#line 149 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = wrapped_monitor; +#line 149 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1__target = wrapped_monitor_target; +#line 149 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->wrapped_monitor = _tmp1_; +#line 149 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->wrapped_monitor_target = _tmp1__target; +#line 147 "/home/jens/Source/shotwell/src/core/util.vala" + return self; +#line 1082 "util.c" +} + + +UnknownTotalMonitor* unknown_total_monitor_new (guint64 total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target) { +#line 147 "/home/jens/Source/shotwell/src/core/util.vala" + return unknown_total_monitor_construct (TYPE_UNKNOWN_TOTAL_MONITOR, total, wrapped_monitor, wrapped_monitor_target); +#line 1089 "util.c" +} + + +gboolean unknown_total_monitor_monitor (UnknownTotalMonitor* self, guint64 count, guint64 total) { + gboolean result = FALSE; + ProgressMonitor _tmp0_ = NULL; + void* _tmp0__target = NULL; + guint64 _tmp1_ = 0ULL; + guint64 _tmp2_ = 0ULL; + gboolean _tmp3_ = FALSE; +#line 152 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (IS_UNKNOWN_TOTAL_MONITOR (self), FALSE); +#line 153 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = self->priv->wrapped_monitor; +#line 153 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0__target = self->priv->wrapped_monitor_target; +#line 153 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = count; +#line 153 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp2_ = self->priv->total; +#line 153 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp3_ = _tmp0_ (_tmp1_, _tmp2_, TRUE, _tmp0__target); +#line 153 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp3_; +#line 153 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 1116 "util.c" +} + + +static void value_unknown_total_monitor_init (GValue* value) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = NULL; +#line 1123 "util.c" +} + + +static void value_unknown_total_monitor_free_value (GValue* value) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (value->data[0].v_pointer) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + unknown_total_monitor_unref (value->data[0].v_pointer); +#line 1132 "util.c" + } +} + + +static void value_unknown_total_monitor_copy_value (const GValue* src_value, GValue* dest_value) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (src_value->data[0].v_pointer) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + dest_value->data[0].v_pointer = unknown_total_monitor_ref (src_value->data[0].v_pointer); +#line 1142 "util.c" + } else { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + dest_value->data[0].v_pointer = NULL; +#line 1146 "util.c" + } +} + + +static gpointer value_unknown_total_monitor_peek_pointer (const GValue* value) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return value->data[0].v_pointer; +#line 1154 "util.c" +} + + +static gchar* value_unknown_total_monitor_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (collect_values[0].v_pointer) { +#line 1161 "util.c" + UnknownTotalMonitor* object; + object = collect_values[0].v_pointer; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (object->parent_instance.g_class == NULL) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1168 "util.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1172 "util.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = unknown_total_monitor_ref (object); +#line 1176 "util.c" + } else { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = NULL; +#line 1180 "util.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return NULL; +#line 1184 "util.c" +} + + +static gchar* value_unknown_total_monitor_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + UnknownTotalMonitor** object_p; + object_p = collect_values[0].v_pointer; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (!object_p) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1195 "util.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (!value->data[0].v_pointer) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + *object_p = NULL; +#line 1201 "util.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + *object_p = value->data[0].v_pointer; +#line 1205 "util.c" + } else { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + *object_p = unknown_total_monitor_ref (value->data[0].v_pointer); +#line 1209 "util.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return NULL; +#line 1213 "util.c" +} + + +GParamSpec* param_spec_unknown_total_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecUnknownTotalMonitor* spec; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_UNKNOWN_TOTAL_MONITOR), NULL); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return G_PARAM_SPEC (spec); +#line 1227 "util.c" +} + + +gpointer value_get_unknown_total_monitor (const GValue* value) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_UNKNOWN_TOTAL_MONITOR), NULL); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return value->data[0].v_pointer; +#line 1236 "util.c" +} + + +void value_set_unknown_total_monitor (GValue* value, gpointer v_object) { + UnknownTotalMonitor* old; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_UNKNOWN_TOTAL_MONITOR)); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + old = value->data[0].v_pointer; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (v_object) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_UNKNOWN_TOTAL_MONITOR)); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = v_object; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + unknown_total_monitor_ref (value->data[0].v_pointer); +#line 1256 "util.c" + } else { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = NULL; +#line 1260 "util.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (old) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + unknown_total_monitor_unref (old); +#line 1266 "util.c" + } +} + + +void value_take_unknown_total_monitor (GValue* value, gpointer v_object) { + UnknownTotalMonitor* old; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_UNKNOWN_TOTAL_MONITOR)); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + old = value->data[0].v_pointer; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (v_object) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_UNKNOWN_TOTAL_MONITOR)); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = v_object; +#line 1285 "util.c" + } else { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = NULL; +#line 1289 "util.c" + } +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (old) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + unknown_total_monitor_unref (old); +#line 1295 "util.c" + } +} + + +static void unknown_total_monitor_class_init (UnknownTotalMonitorClass * klass) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + unknown_total_monitor_parent_class = g_type_class_peek_parent (klass); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + ((UnknownTotalMonitorClass *) klass)->finalize = unknown_total_monitor_finalize; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_type_class_add_private (klass, sizeof (UnknownTotalMonitorPrivate)); +#line 1307 "util.c" +} + + +static void unknown_total_monitor_instance_init (UnknownTotalMonitor * self) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv = UNKNOWN_TOTAL_MONITOR_GET_PRIVATE (self); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + self->ref_count = 1; +#line 1316 "util.c" +} + + +static void unknown_total_monitor_finalize (UnknownTotalMonitor* obj) { + UnknownTotalMonitor * self; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_UNKNOWN_TOTAL_MONITOR, UnknownTotalMonitor); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_signal_handlers_destroy (self); +#line 1326 "util.c" +} + + +GType unknown_total_monitor_get_type (void) { + static volatile gsize unknown_total_monitor_type_id__volatile = 0; + if (g_once_init_enter (&unknown_total_monitor_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_unknown_total_monitor_init, value_unknown_total_monitor_free_value, value_unknown_total_monitor_copy_value, value_unknown_total_monitor_peek_pointer, "p", value_unknown_total_monitor_collect_value, "p", value_unknown_total_monitor_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (UnknownTotalMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) unknown_total_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (UnknownTotalMonitor), 0, (GInstanceInitFunc) unknown_total_monitor_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType unknown_total_monitor_type_id; + unknown_total_monitor_type_id = g_type_register_fundamental (g_type_fundamental_next (), "UnknownTotalMonitor", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&unknown_total_monitor_type_id__volatile, unknown_total_monitor_type_id); + } + return unknown_total_monitor_type_id__volatile; +} + + +gpointer unknown_total_monitor_ref (gpointer instance) { + UnknownTotalMonitor* self; + self = instance; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_atomic_int_inc (&self->ref_count); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + return instance; +#line 1351 "util.c" +} + + +void unknown_total_monitor_unref (gpointer instance) { + UnknownTotalMonitor* self; + self = instance; +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + UNKNOWN_TOTAL_MONITOR_GET_CLASS (self)->finalize (self); +#line 143 "/home/jens/Source/shotwell/src/core/util.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1364 "util.c" + } +} + + +AggregateProgressMonitor* aggregate_progress_monitor_construct (GType object_type, guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target) { + AggregateProgressMonitor* self = NULL; + guint64 _tmp0_ = 0ULL; + ProgressMonitor _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 165 "/home/jens/Source/shotwell/src/core/util.vala" + self = (AggregateProgressMonitor*) g_type_create_instance (object_type); +#line 166 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = grand_total; +#line 166 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->grand_total = _tmp0_; +#line 167 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = wrapped_monitor; +#line 167 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1__target = wrapped_monitor_target; +#line 167 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->wrapped_monitor = _tmp1_; +#line 167 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->wrapped_monitor_target = _tmp1__target; +#line 165 "/home/jens/Source/shotwell/src/core/util.vala" + return self; +#line 1390 "util.c" +} + + +AggregateProgressMonitor* aggregate_progress_monitor_new (guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target) { +#line 165 "/home/jens/Source/shotwell/src/core/util.vala" + return aggregate_progress_monitor_construct (TYPE_AGGREGATE_PROGRESS_MONITOR, grand_total, wrapped_monitor, wrapped_monitor_target); +#line 1397 "util.c" +} + + +void aggregate_progress_monitor_next_step (AggregateProgressMonitor* self, const gchar* name) { + const gchar* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + guint64 _tmp4_ = 0ULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (IS_AGGREGATE_PROGRESS_MONITOR (self)); +#line 170 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (name != NULL); +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = name; +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = self->priv->aggregate_count; +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp2_ = g_strdup_printf ("%" G_GUINT64_FORMAT, _tmp1_); +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp3_ = _tmp2_; +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp4_ = self->priv->grand_total; +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp5_ = g_strdup_printf ("%" G_GUINT64_FORMAT, _tmp4_); +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp6_ = _tmp5_; +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + g_debug ("util.vala:171: next step: %s (%s/%s)", _tmp0_, _tmp3_, _tmp6_); +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _g_free0 (_tmp6_); +#line 171 "/home/jens/Source/shotwell/src/core/util.vala" + _g_free0 (_tmp3_); +#line 172 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->last_count = G_MAXUINT64; +#line 1435 "util.c" +} + + +gboolean aggregate_progress_monitor_monitor (AggregateProgressMonitor* self, guint64 count, guint64 total) { + gboolean result = FALSE; + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; + guint64 _tmp5_ = 0ULL; + guint64 _tmp6_ = 0ULL; + guint64 _tmp7_ = 0ULL; + guint64 _tmp9_ = 0ULL; + ProgressMonitor _tmp10_ = NULL; + void* _tmp10__target = NULL; + guint64 _tmp11_ = 0ULL; + guint64 _tmp12_ = 0ULL; + gboolean _tmp13_ = FALSE; +#line 175 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (IS_AGGREGATE_PROGRESS_MONITOR (self), FALSE); +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp1_ = self->priv->last_count; +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + if (_tmp1_ != G_MAXUINT64) { +#line 1458 "util.c" + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp2_ = count; +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp3_ = self->priv->last_count; +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = _tmp2_ - _tmp3_; +#line 1467 "util.c" + } else { + guint64 _tmp4_ = 0ULL; +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp4_ = count; +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = _tmp4_; +#line 1474 "util.c" + } +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp5_ = self->priv->aggregate_count; +#line 177 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->aggregate_count = _tmp5_ + _tmp0_; +#line 178 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp6_ = self->priv->aggregate_count; +#line 178 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp7_ = self->priv->grand_total; +#line 178 "/home/jens/Source/shotwell/src/core/util.vala" + if (_tmp6_ > _tmp7_) { +#line 1486 "util.c" + guint64 _tmp8_ = 0ULL; +#line 179 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp8_ = self->priv->grand_total; +#line 179 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->aggregate_count = _tmp8_; +#line 1492 "util.c" + } +#line 182 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp9_ = count; +#line 182 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->last_count = _tmp9_; +#line 184 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp10_ = self->priv->wrapped_monitor; +#line 184 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp10__target = self->priv->wrapped_monitor_target; +#line 184 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp11_ = self->priv->aggregate_count; +#line 184 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp12_ = self->priv->grand_total; +#line 184 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp13_ = _tmp10_ (_tmp11_, _tmp12_, TRUE, _tmp10__target); +#line 184 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp13_; +#line 184 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 1512 "util.c" +} + + +static void value_aggregate_progress_monitor_init (GValue* value) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = NULL; +#line 1519 "util.c" +} + + +static void value_aggregate_progress_monitor_free_value (GValue* value) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (value->data[0].v_pointer) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + aggregate_progress_monitor_unref (value->data[0].v_pointer); +#line 1528 "util.c" + } +} + + +static void value_aggregate_progress_monitor_copy_value (const GValue* src_value, GValue* dest_value) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (src_value->data[0].v_pointer) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + dest_value->data[0].v_pointer = aggregate_progress_monitor_ref (src_value->data[0].v_pointer); +#line 1538 "util.c" + } else { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + dest_value->data[0].v_pointer = NULL; +#line 1542 "util.c" + } +} + + +static gpointer value_aggregate_progress_monitor_peek_pointer (const GValue* value) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return value->data[0].v_pointer; +#line 1550 "util.c" +} + + +static gchar* value_aggregate_progress_monitor_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (collect_values[0].v_pointer) { +#line 1557 "util.c" + AggregateProgressMonitor* object; + object = collect_values[0].v_pointer; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (object->parent_instance.g_class == NULL) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1564 "util.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1568 "util.c" + } +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = aggregate_progress_monitor_ref (object); +#line 1572 "util.c" + } else { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = NULL; +#line 1576 "util.c" + } +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return NULL; +#line 1580 "util.c" +} + + +static gchar* value_aggregate_progress_monitor_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + AggregateProgressMonitor** object_p; + object_p = collect_values[0].v_pointer; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (!object_p) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1591 "util.c" + } +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (!value->data[0].v_pointer) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + *object_p = NULL; +#line 1597 "util.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + *object_p = value->data[0].v_pointer; +#line 1601 "util.c" + } else { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + *object_p = aggregate_progress_monitor_ref (value->data[0].v_pointer); +#line 1605 "util.c" + } +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return NULL; +#line 1609 "util.c" +} + + +GParamSpec* param_spec_aggregate_progress_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecAggregateProgressMonitor* spec; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_AGGREGATE_PROGRESS_MONITOR), NULL); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return G_PARAM_SPEC (spec); +#line 1623 "util.c" +} + + +gpointer value_get_aggregate_progress_monitor (const GValue* value) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AGGREGATE_PROGRESS_MONITOR), NULL); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return value->data[0].v_pointer; +#line 1632 "util.c" +} + + +void value_set_aggregate_progress_monitor (GValue* value, gpointer v_object) { + AggregateProgressMonitor* old; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AGGREGATE_PROGRESS_MONITOR)); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + old = value->data[0].v_pointer; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (v_object) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_AGGREGATE_PROGRESS_MONITOR)); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = v_object; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + aggregate_progress_monitor_ref (value->data[0].v_pointer); +#line 1652 "util.c" + } else { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = NULL; +#line 1656 "util.c" + } +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (old) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + aggregate_progress_monitor_unref (old); +#line 1662 "util.c" + } +} + + +void value_take_aggregate_progress_monitor (GValue* value, gpointer v_object) { + AggregateProgressMonitor* old; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_AGGREGATE_PROGRESS_MONITOR)); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + old = value->data[0].v_pointer; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (v_object) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_AGGREGATE_PROGRESS_MONITOR)); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = v_object; +#line 1681 "util.c" + } else { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + value->data[0].v_pointer = NULL; +#line 1685 "util.c" + } +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (old) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + aggregate_progress_monitor_unref (old); +#line 1691 "util.c" + } +} + + +static void aggregate_progress_monitor_class_init (AggregateProgressMonitorClass * klass) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + aggregate_progress_monitor_parent_class = g_type_class_peek_parent (klass); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + ((AggregateProgressMonitorClass *) klass)->finalize = aggregate_progress_monitor_finalize; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_type_class_add_private (klass, sizeof (AggregateProgressMonitorPrivate)); +#line 1703 "util.c" +} + + +static void aggregate_progress_monitor_instance_init (AggregateProgressMonitor * self) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv = AGGREGATE_PROGRESS_MONITOR_GET_PRIVATE (self); +#line 162 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->aggregate_count = (guint64) 0; +#line 163 "/home/jens/Source/shotwell/src/core/util.vala" + self->priv->last_count = G_MAXUINT64; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + self->ref_count = 1; +#line 1716 "util.c" +} + + +static void aggregate_progress_monitor_finalize (AggregateProgressMonitor* obj) { + AggregateProgressMonitor * self; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitor); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_signal_handlers_destroy (self); +#line 1726 "util.c" +} + + +GType aggregate_progress_monitor_get_type (void) { + static volatile gsize aggregate_progress_monitor_type_id__volatile = 0; + if (g_once_init_enter (&aggregate_progress_monitor_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_aggregate_progress_monitor_init, value_aggregate_progress_monitor_free_value, value_aggregate_progress_monitor_copy_value, value_aggregate_progress_monitor_peek_pointer, "p", value_aggregate_progress_monitor_collect_value, "p", value_aggregate_progress_monitor_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (AggregateProgressMonitorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) aggregate_progress_monitor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AggregateProgressMonitor), 0, (GInstanceInitFunc) aggregate_progress_monitor_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType aggregate_progress_monitor_type_id; + aggregate_progress_monitor_type_id = g_type_register_fundamental (g_type_fundamental_next (), "AggregateProgressMonitor", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&aggregate_progress_monitor_type_id__volatile, aggregate_progress_monitor_type_id); + } + return aggregate_progress_monitor_type_id__volatile; +} + + +gpointer aggregate_progress_monitor_ref (gpointer instance) { + AggregateProgressMonitor* self; + self = instance; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_atomic_int_inc (&self->ref_count); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + return instance; +#line 1751 "util.c" +} + + +void aggregate_progress_monitor_unref (gpointer instance) { + AggregateProgressMonitor* self; + self = instance; +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + AGGREGATE_PROGRESS_MONITOR_GET_CLASS (self)->finalize (self); +#line 159 "/home/jens/Source/shotwell/src/core/util.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1764 "util.c" + } +} + + +gboolean null_progress_monitor (guint64 count, guint64 total) { + gboolean result = FALSE; +#line 190 "/home/jens/Source/shotwell/src/core/util.vala" + result = TRUE; +#line 190 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 1775 "util.c" +} + + +gdouble degrees_to_radians (gdouble theta) { + gdouble result = 0.0; + gdouble _tmp0_ = 0.0; +#line 195 "/home/jens/Source/shotwell/src/core/util.vala" + _tmp0_ = theta; +#line 195 "/home/jens/Source/shotwell/src/core/util.vala" + result = _tmp0_ * (G_PI / 180.0); +#line 195 "/home/jens/Source/shotwell/src/core/util.vala" + return result; +#line 1788 "util.c" +} + + + diff --git a/src/data_imports/DataImportJob.c b/src/data_imports/DataImportJob.c new file mode 100644 index 0000000..1cef36b --- /dev/null +++ b/src/data_imports/DataImportJob.c @@ -0,0 +1,1754 @@ +/* DataImportJob.c generated by valac 0.32.1, the Vala compiler + * generated from DataImportJob.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include + + +#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ()) +#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob)) +#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) +#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB)) +#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB)) +#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) + +typedef struct _BatchImportJob BatchImportJob; +typedef struct _BatchImportJobClass BatchImportJobClass; +typedef struct _BatchImportJobPrivate BatchImportJobPrivate; + +#define TYPE_DUPLICATED_FILE (duplicated_file_get_type ()) +#define DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DUPLICATED_FILE, DuplicatedFile)) +#define DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) +#define IS_DUPLICATED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DUPLICATED_FILE)) +#define IS_DUPLICATED_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DUPLICATED_FILE)) +#define DUPLICATED_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DUPLICATED_FILE, DuplicatedFileClass)) + +typedef struct _DuplicatedFile DuplicatedFile; +typedef struct _DuplicatedFileClass DuplicatedFileClass; + +#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_BATCH_IMPORT_ROLL (batch_import_roll_get_type ()) +#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll)) +#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) +#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL)) +#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL)) +#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) + +typedef struct _BatchImportRoll BatchImportRoll; +typedef struct _BatchImportRollClass BatchImportRollClass; + +#define SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB (spit_data_imports_data_import_job_get_type ()) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJobClass)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJobClass)) + +typedef struct _SpitDataImportsDataImportJob SpitDataImportsDataImportJob; +typedef struct _SpitDataImportsDataImportJobClass SpitDataImportsDataImportJobClass; +typedef struct _SpitDataImportsDataImportJobPrivate SpitDataImportsDataImportJobPrivate; + +#define SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE (spit_data_imports_data_import_source_get_type ()) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSource)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourceClass)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourceClass)) + +typedef struct _SpitDataImportsDataImportSource SpitDataImportsDataImportSource; +typedef struct _SpitDataImportsDataImportSourceClass SpitDataImportsDataImportSourceClass; + +#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; +#define _spit_data_imports_data_import_source_unref0(var) ((var == NULL) ? NULL : (var = (spit_data_imports_data_import_source_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL))) +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_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_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_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_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ()) + +#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; +typedef struct _BatchImportRollPrivate BatchImportRollPrivate; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; +#define _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 _BatchImportJob { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportJobPrivate * priv; +}; + +struct _BatchImportJobClass { + GTypeClass parent_class; + void (*finalize) (BatchImportJob *self); + gchar* (*get_dest_identifier) (BatchImportJob* self); + gchar* (*get_source_identifier) (BatchImportJob* self); + gboolean (*is_directory) (BatchImportJob* self); + gchar* (*get_basename) (BatchImportJob* self); + gchar* (*get_path) (BatchImportJob* self); + DuplicatedFile* (*get_duplicated_file) (BatchImportJob* self); + void (*set_associated) (BatchImportJob* self, BatchImportJob* associated); + gboolean (*determine_file_size) (BatchImportJob* self, guint64* filesize, GFile** file_or_dir); + gboolean (*prepare) (BatchImportJob* self, GFile** file_to_import, gboolean* copy_to_library, GError** error); + gboolean (*complete) (BatchImportJob* self, MediaSource* source, BatchImportRoll* import_roll, GError** error); + time_t (*get_exposure_time_override) (BatchImportJob* self); +}; + +struct _SpitDataImportsDataImportJob { + BatchImportJob parent_instance; + SpitDataImportsDataImportJobPrivate * priv; +}; + +struct _SpitDataImportsDataImportJobClass { + BatchImportJobClass parent_class; +}; + +struct _SpitDataImportsDataImportJobPrivate { + SpitDataImportsDataImportSource* import_source; + GFile* src_file; + guint64 filesize; + time_t exposure_time; + SpitDataImportsDataImportJob* associated; + HierarchicalTagIndex* detected_htags; +}; + +typedef enum { + PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL = 1 << 0, + PREPARE_INPUT_TEXT_OPTIONS_VALIDATE = 1 << 1, + PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL = 1 << 2, + PREPARE_INPUT_TEXT_OPTIONS_STRIP = 1 << 3, + PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF = 1 << 4, + PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE = 1 << 5, + PREPARE_INPUT_TEXT_OPTIONS_DEFAULT = ((((PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE +} PrepareInputTextOptions; + +struct _ImportID { + gint64 id; +}; + +struct _BatchImportRoll { + GTypeInstance parent_instance; + volatile int ref_count; + BatchImportRollPrivate * priv; + ImportID import_id; + ViewCollection* generated_events; +}; + +struct _BatchImportRollClass { + GTypeClass parent_class; + void (*finalize) (BatchImportRoll *self); +}; + +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 _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + + +static gpointer spit_data_imports_data_import_job_parent_class = NULL; +extern TagSourceCollection* tag_global; + +gpointer batch_import_job_ref (gpointer instance); +void batch_import_job_unref (gpointer instance); +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_job (GValue* value, gpointer v_object); +void value_take_batch_import_job (GValue* value, gpointer v_object); +gpointer value_get_batch_import_job (const GValue* value); +GType batch_import_job_get_type (void) G_GNUC_CONST; +GType duplicated_file_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; +gpointer batch_import_roll_ref (gpointer instance); +void batch_import_roll_unref (gpointer instance); +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_roll (GValue* value, gpointer v_object); +void value_take_batch_import_roll (GValue* value, gpointer v_object); +gpointer value_get_batch_import_roll (const GValue* value); +GType batch_import_roll_get_type (void) G_GNUC_CONST; +GType spit_data_imports_data_import_job_get_type (void) G_GNUC_CONST; +gpointer spit_data_imports_data_import_source_ref (gpointer instance); +void spit_data_imports_data_import_source_unref (gpointer instance); +GParamSpec* spit_data_imports_param_spec_data_import_source (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void spit_data_imports_value_set_data_import_source (GValue* value, gpointer v_object); +void spit_data_imports_value_take_data_import_source (GValue* value, gpointer v_object); +gpointer spit_data_imports_value_get_data_import_source (const GValue* value); +GType spit_data_imports_data_import_source_get_type (void) G_GNUC_CONST; +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +#define SPIT_DATA_IMPORTS_DATA_IMPORT_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJobPrivate)) +enum { + SPIT_DATA_IMPORTS_DATA_IMPORT_JOB_DUMMY_PROPERTY +}; +SpitDataImportsDataImportJob* spit_data_imports_data_import_job_new (SpitDataImportsDataImportSource* import_source); +SpitDataImportsDataImportJob* spit_data_imports_data_import_job_construct (GType object_type, SpitDataImportsDataImportSource* import_source); +BatchImportJob* batch_import_job_construct (GType object_type); +GFile* spit_data_imports_data_import_source_get_file (SpitDataImportsDataImportSource* self); +guint64 spit_data_imports_data_import_source_get_filesize (SpitDataImportsDataImportSource* self); +time_t spit_data_imports_data_import_source_get_exposure_time (SpitDataImportsDataImportSource* self); +static HierarchicalTagIndex* spit_data_imports_data_import_job_build_exclusion_index (SpitDataImportsDataImportJob* self, SpitDataImportsImportableTag** src_tags, int src_tags_length1); +gchar* hierarchical_tag_utilities_join_path_components (gchar** path_components, int path_components_length1); +gchar** tag_prep_tag_names (gchar** names, int names_length1, int* result_length1); +static gchar** spit_data_imports_data_import_job_build_path_components (SpitDataImportsDataImportJob* self, SpitDataImportsImportableTag* tag, int* result_length1); +#define TAG_PATH_SEPARATOR_STRING "/" +GeeList* hierarchical_tag_utilities_enumerate_parent_paths (const gchar* in_path); +HierarchicalTagIndex* hierarchical_tag_index_from_paths (GeeCollection* client_paths); +time_t spit_data_imports_data_import_job_get_exposure_time (SpitDataImportsDataImportJob* self); +static gchar* spit_data_imports_data_import_job_real_get_dest_identifier (BatchImportJob* base); +gchar* spit_data_imports_data_import_source_get_filename (SpitDataImportsDataImportSource* self); +static gchar* spit_data_imports_data_import_job_real_get_source_identifier (BatchImportJob* base); +static gboolean spit_data_imports_data_import_job_real_is_directory (BatchImportJob* base); +static gchar* spit_data_imports_data_import_job_real_get_basename (BatchImportJob* base); +static gchar* spit_data_imports_data_import_job_real_get_path (BatchImportJob* base); +static void spit_data_imports_data_import_job_real_set_associated (BatchImportJob* base, BatchImportJob* associated); +static gboolean spit_data_imports_data_import_job_real_determine_file_size (BatchImportJob* base, guint64* filesize, GFile** file); +static gboolean spit_data_imports_data_import_job_real_prepare (BatchImportJob* base, GFile** file_to_import, gboolean* copy_to_library, GError** error); +SpitDataImportsImportableMediaItem* spit_data_imports_data_import_source_get_photo (SpitDataImportsDataImportSource* self); +static gboolean spit_data_imports_data_import_job_real_complete (BatchImportJob* base, MediaSource* source, BatchImportRoll* import_roll, GError** error); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GeeCollection* hierarchical_tag_index_get_all_paths (HierarchicalTagIndex* self); +GType tag_get_type (void) G_GNUC_CONST; +Tag* tag_for_path (const gchar* name); +GeeList* hierarchical_tag_utilities_enumerate_path_components (const gchar* in_path); +gchar* hierarchical_tag_utilities_hierarchical_to_flat (const gchar* path); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +gboolean tag_source_collection_exists (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root); +void tag_promote (Tag* self); +void tag_attach (Tag* self, MediaSource* source); +GType prepare_input_text_options_get_type (void) G_GNUC_CONST; +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length); +GType view_collection_get_type (void) G_GNUC_CONST; +void event_generate_single_event (MediaSource* media, ViewCollection* events_so_far, const gchar* event_name); +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +GType rating_get_type (void) G_GNUC_CONST; +Rating rating_unserialize (gint value); +void media_source_set_rating (MediaSource* self, Rating rating); +void media_source_set_title (MediaSource* self, const gchar* title); +GType dateable_get_type (void) G_GNUC_CONST; +void dateable_set_exposure_time (Dateable* self, time_t target_time); +void photo_set_import_id (Photo* self, ImportID* import_id); +gchar* hierarchical_tag_utilities_make_flat_tag_safe (const gchar* in_tag); +static void spit_data_imports_data_import_job_finalize (BatchImportJob* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static gpointer _spit_data_imports_data_import_source_ref0 (gpointer self) { +#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return self ? spit_data_imports_data_import_source_ref (self) : NULL; +#line 443 "DataImportJob.c" +} + + +SpitDataImportsDataImportJob* spit_data_imports_data_import_job_construct (GType object_type, SpitDataImportsDataImportSource* import_source) { + SpitDataImportsDataImportJob* self = NULL; + SpitDataImportsDataImportSource* _tmp0_ = NULL; + SpitDataImportsDataImportSource* _tmp1_ = NULL; + SpitDataImportsDataImportSource* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + SpitDataImportsDataImportSource* _tmp4_ = NULL; + guint64 _tmp5_ = 0ULL; + SpitDataImportsDataImportSource* _tmp6_ = NULL; + time_t _tmp7_ = 0; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (import_source), NULL); +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = (SpitDataImportsDataImportJob*) batch_import_job_construct (object_type); +#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = import_source; +#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = _spit_data_imports_data_import_source_ref0 (_tmp0_); +#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _spit_data_imports_data_import_source_unref0 (self->priv->import_source); +#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv->import_source = _tmp1_; +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp2_ = import_source; +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp3_ = spit_data_imports_data_import_source_get_file (_tmp2_); +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (self->priv->src_file); +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv->src_file = _tmp3_; +#line 25 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp4_ = import_source; +#line 25 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp5_ = spit_data_imports_data_import_source_get_filesize (_tmp4_); +#line 25 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv->filesize = _tmp5_; +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp6_ = import_source; +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp7_ = spit_data_imports_data_import_source_get_exposure_time (_tmp6_); +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv->exposure_time = _tmp7_; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return self; +#line 491 "DataImportJob.c" +} + + +SpitDataImportsDataImportJob* spit_data_imports_data_import_job_new (SpitDataImportsDataImportSource* import_source) { +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return spit_data_imports_data_import_job_construct (SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, import_source); +#line 498 "DataImportJob.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return self ? g_object_ref (self) : NULL; +#line 505 "DataImportJob.c" +} + + +static HierarchicalTagIndex* spit_data_imports_data_import_job_build_exclusion_index (SpitDataImportsDataImportJob* self, SpitDataImportsImportableTag** src_tags, int src_tags_length1) { + HierarchicalTagIndex* result = NULL; + GeeSet* detected_htags = NULL; + GeeHashSet* _tmp0_ = NULL; + SpitDataImportsImportableTag** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + HierarchicalTagIndex* _tmp33_ = NULL; + GeeSet* _tmp34_ = NULL; + gint _tmp35_ = 0; + gint _tmp36_ = 0; +#line 29 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_JOB (self), NULL); +#line 30 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 30 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + detected_htags = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_SET, GeeSet); +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = src_tags; +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1__length1 = src_tags_length1; +#line 529 "DataImportJob.c" + { + SpitDataImportsImportableTag** src_tag_collection = NULL; + gint src_tag_collection_length1 = 0; + gint _src_tag_collection_size_ = 0; + gint src_tag_it = 0; +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tag_collection = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tag_collection_length1 = _tmp1__length1; +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + for (src_tag_it = 0; src_tag_it < _tmp1__length1; src_tag_it = src_tag_it + 1) { +#line 541 "DataImportJob.c" + SpitDataImportsImportableTag* _tmp2_ = NULL; + SpitDataImportsImportableTag* src_tag = NULL; +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp2_ = _g_object_ref0 (src_tag_collection[src_tag_it]); +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tag = _tmp2_; +#line 548 "DataImportJob.c" + { + gchar* prepped = NULL; + SpitDataImportsImportableTag* _tmp3_ = NULL; + gint _tmp4_ = 0; + gchar** _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + gchar** _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + const gchar* _tmp13_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp3_ = src_tag; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp5_ = spit_data_imports_data_import_job_build_path_components (self, _tmp3_, &_tmp4_); +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp6_ = _tmp5_; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp6__length1 = _tmp4_; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp8_ = tag_prep_tag_names (_tmp6_, _tmp4_, &_tmp7_); +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp9_ = _tmp8_; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp9__length1 = _tmp7_; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp10_ = hierarchical_tag_utilities_join_path_components (_tmp9_, _tmp7_); +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp11_ = _tmp10_; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp9_ = (_vala_array_free (_tmp9_, _tmp9__length1, (GDestroyNotify) g_free), NULL); +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL); +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + prepped = _tmp11_; +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp13_ = prepped; +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp13_ != NULL) { +#line 592 "DataImportJob.c" + const gchar* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp14_ = prepped; +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp15_ = g_str_has_prefix (_tmp14_, TAG_PATH_SEPARATOR_STRING); +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp12_ = _tmp15_; +#line 601 "DataImportJob.c" + } else { +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp12_ = FALSE; +#line 605 "DataImportJob.c" + } +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp12_) { +#line 609 "DataImportJob.c" + GeeSet* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GeeList* parents = NULL; + const gchar* _tmp18_ = NULL; + GeeList* _tmp19_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp16_ = detected_htags; +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp17_ = prepped; +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection), _tmp17_); +#line 42 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp18_ = prepped; +#line 42 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp19_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp18_); +#line 42 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + parents = _tmp19_; +#line 627 "DataImportJob.c" + { + GeeList* _parent_list = NULL; + GeeList* _tmp20_ = NULL; + GeeList* _tmp21_ = NULL; + gint _parent_size = 0; + GeeList* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _parent_index = 0; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp20_ = parents; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp21_ = _g_object_ref0 (_tmp20_); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _parent_list = _tmp21_; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp22_ = _parent_list; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp23_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp24_ = _tmp23_; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _parent_size = _tmp24_; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _parent_index = -1; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + while (TRUE) { +#line 655 "DataImportJob.c" + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gchar* parent = NULL; + GeeList* _tmp28_ = NULL; + gint _tmp29_ = 0; + gpointer _tmp30_ = NULL; + GeeSet* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp25_ = _parent_index; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _parent_index = _tmp25_ + 1; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp26_ = _parent_index; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp27_ = _parent_size; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (!(_tmp26_ < _tmp27_)) { +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + break; +#line 677 "DataImportJob.c" + } +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp28_ = _parent_list; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp29_ = _parent_index; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp30_ = gee_list_get (_tmp28_, _tmp29_); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + parent = (gchar*) _tmp30_; +#line 44 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp31_ = detected_htags; +#line 44 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp32_ = parent; +#line 44 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection), _tmp32_); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (parent); +#line 695 "DataImportJob.c" + } +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_parent_list); +#line 699 "DataImportJob.c" + } +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (parents); +#line 703 "DataImportJob.c" + } +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (prepped); +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (src_tag); +#line 709 "DataImportJob.c" + } + } + } +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp34_ = detected_htags; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp35_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp36_ = _tmp35_; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp36_ > 0) { +#line 721 "DataImportJob.c" + GeeSet* _tmp37_ = NULL; + HierarchicalTagIndex* _tmp38_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp37_ = detected_htags; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp38_ = hierarchical_tag_index_from_paths (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _hierarchical_tag_index_unref0 (_tmp33_); +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp33_ = _tmp38_; +#line 732 "DataImportJob.c" + } else { +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _hierarchical_tag_index_unref0 (_tmp33_); +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp33_ = NULL; +#line 738 "DataImportJob.c" + } +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = _tmp33_; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (detected_htags); +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 746 "DataImportJob.c" +} + + +time_t spit_data_imports_data_import_job_get_exposure_time (SpitDataImportsDataImportJob* self) { + time_t result = 0; + time_t _tmp0_ = 0; +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_JOB (self), 0); +#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = self->priv->exposure_time; +#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = _tmp0_; +#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 761 "DataImportJob.c" +} + + +static gchar* spit_data_imports_data_import_job_real_get_dest_identifier (BatchImportJob* base) { + SpitDataImportsDataImportJob * self; + gchar* result = NULL; + SpitDataImportsDataImportSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = self->priv->import_source; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = spit_data_imports_data_import_source_get_filename (_tmp0_); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = _tmp1_; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 780 "DataImportJob.c" +} + + +static gchar* spit_data_imports_data_import_job_real_get_source_identifier (BatchImportJob* base) { + SpitDataImportsDataImportJob * self; + gchar* result = NULL; + SpitDataImportsDataImportSource* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 60 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = self->priv->import_source; +#line 60 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = spit_data_imports_data_import_source_get_filename (_tmp0_); +#line 60 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = _tmp1_; +#line 60 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 799 "DataImportJob.c" +} + + +static gboolean spit_data_imports_data_import_job_real_is_directory (BatchImportJob* base) { + SpitDataImportsDataImportJob * self; + gboolean result = FALSE; +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = FALSE; +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 812 "DataImportJob.c" +} + + +static gchar* spit_data_imports_data_import_job_real_get_basename (BatchImportJob* base) { + SpitDataImportsDataImportJob * self; + gchar* result = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 68 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = self->priv->src_file; +#line 68 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 68 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 831 "DataImportJob.c" +} + + +static gchar* spit_data_imports_data_import_job_real_get_path (BatchImportJob* base) { + SpitDataImportsDataImportJob * self; + gchar* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = self->priv->src_file; +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = g_file_get_parent (_tmp0_); +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp2_ = _tmp1_; +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp4_ = _tmp3_; +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_tmp2_); +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = _tmp4_; +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 861 "DataImportJob.c" +} + + +static gpointer _batch_import_job_ref0 (gpointer self) { +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return self ? batch_import_job_ref (self) : NULL; +#line 868 "DataImportJob.c" +} + + +static void spit_data_imports_data_import_job_real_set_associated (BatchImportJob* base, BatchImportJob* associated) { + SpitDataImportsDataImportJob * self; + BatchImportJob* _tmp0_ = NULL; + SpitDataImportsDataImportJob* _tmp1_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_return_if_fail (IS_BATCH_IMPORT_JOB (associated)); +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = associated; +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = _batch_import_job_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB) ? ((SpitDataImportsDataImportJob*) _tmp0_) : NULL); +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _batch_import_job_unref0 (self->priv->associated); +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv->associated = _tmp1_; +#line 888 "DataImportJob.c" +} + + +static gboolean spit_data_imports_data_import_job_real_determine_file_size (BatchImportJob* base, guint64* filesize, GFile** file) { + SpitDataImportsDataImportJob * self; + guint64 _vala_filesize = 0ULL; + GFile* _vala_file = NULL; + gboolean result = FALSE; + guint64 _tmp0_ = 0ULL; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_vala_file); +#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _vala_file = NULL; +#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = self->priv->filesize; +#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _vala_filesize = _tmp0_; +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = TRUE; +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (filesize) { +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + *filesize = _vala_filesize; +#line 914 "DataImportJob.c" + } +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (file) { +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + *file = _vala_file; +#line 920 "DataImportJob.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_vala_file); +#line 924 "DataImportJob.c" + } +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 928 "DataImportJob.c" +} + + +static gboolean spit_data_imports_data_import_job_real_prepare (BatchImportJob* base, GFile** file_to_import, gboolean* copy_to_library, GError** error) { + SpitDataImportsDataImportJob * self; + GFile* _vala_file_to_import = NULL; + gboolean _vala_copy_to_library = FALSE; + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + SpitDataImportsDataImportSource* _tmp2_ = NULL; + SpitDataImportsImportableMediaItem* _tmp3_ = NULL; + SpitDataImportsImportableMediaItem* _tmp4_ = NULL; + gint _tmp5_ = 0; + SpitDataImportsImportableTag** _tmp6_ = NULL; + SpitDataImportsImportableTag** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + HierarchicalTagIndex* _tmp8_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = self->priv->src_file; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_vala_file_to_import); +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _vala_file_to_import = _tmp1_; +#line 88 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _vala_copy_to_library = FALSE; +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp2_ = self->priv->import_source; +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp3_ = spit_data_imports_data_import_source_get_photo (_tmp2_); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp4_ = _tmp3_; +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp6_ = spit_data_imports_importable_media_item_get_tags (_tmp4_, &_tmp5_); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp7_ = _tmp6_; +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp7__length1 = _tmp5_; +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp8_ = spit_data_imports_data_import_job_build_exclusion_index (self, _tmp7_, _tmp5_); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _hierarchical_tag_index_unref0 (self->priv->detected_htags); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv->detected_htags = _tmp8_; +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_object_unref), NULL); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_tmp4_); +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = TRUE; +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (file_to_import) { +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + *file_to_import = _vala_file_to_import; +#line 987 "DataImportJob.c" + } else { +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_vala_file_to_import); +#line 991 "DataImportJob.c" + } +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (copy_to_library) { +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + *copy_to_library = _vala_copy_to_library; +#line 997 "DataImportJob.c" + } +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 1001 "DataImportJob.c" +} + + +static gboolean spit_data_imports_data_import_job_real_complete (BatchImportJob* base, MediaSource* source, BatchImportRoll* import_roll, GError** error) { + SpitDataImportsDataImportJob * self; + gboolean result = FALSE; + LibraryPhoto* photo = NULL; + MediaSource* _tmp0_ = NULL; + LibraryPhoto* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + SpitDataImportsImportableMediaItem* src_photo = NULL; + SpitDataImportsDataImportSource* _tmp3_ = NULL; + SpitDataImportsImportableMediaItem* _tmp4_ = NULL; + HierarchicalTagIndex* _tmp5_ = NULL; + SpitDataImportsImportableTag** src_tags = NULL; + SpitDataImportsImportableMediaItem* _tmp17_ = NULL; + gint _tmp18_ = 0; + SpitDataImportsImportableTag** _tmp19_ = NULL; + gint src_tags_length1 = 0; + gint _src_tags_size_ = 0; + SpitDataImportsImportableTag** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + SpitDataImportsImportableEvent* src_event = NULL; + SpitDataImportsImportableMediaItem* _tmp61_ = NULL; + SpitDataImportsImportableEvent* _tmp62_ = NULL; + SpitDataImportsImportableEvent* _tmp63_ = NULL; + Rating dst_rating = 0; + SpitDataImportsImportableRating* src_rating = NULL; + SpitDataImportsImportableMediaItem* _tmp74_ = NULL; + SpitDataImportsImportableRating* _tmp75_ = NULL; + SpitDataImportsImportableRating* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; + LibraryPhoto* _tmp83_ = NULL; + Rating _tmp84_ = 0; + gchar* title = NULL; + SpitDataImportsImportableMediaItem* _tmp85_ = NULL; + gchar* _tmp86_ = NULL; + const gchar* _tmp87_ = NULL; + time_t* date_time = NULL; + SpitDataImportsImportableMediaItem* _tmp90_ = NULL; + time_t* _tmp91_ = NULL; + time_t* _tmp92_ = NULL; + LibraryPhoto* _tmp95_ = NULL; + BatchImportRoll* _tmp96_ = NULL; + ImportID _tmp97_ = {0}; +#line 95 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 95 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 95 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_return_val_if_fail (IS_BATCH_IMPORT_ROLL (import_roll), FALSE); +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = source; +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp0_) : NULL); +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + photo = _tmp1_; +#line 97 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp2_ = photo; +#line 97 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp2_ == NULL) { +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = FALSE; +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (photo); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 1069 "DataImportJob.c" + } +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp3_ = self->priv->import_source; +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp4_ = spit_data_imports_data_import_source_get_photo (_tmp3_); +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_photo = _tmp4_; +#line 103 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp5_ = self->priv->detected_htags; +#line 103 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp5_ != NULL) { +#line 1081 "DataImportJob.c" + GeeCollection* paths = NULL; + HierarchicalTagIndex* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp6_ = self->priv->detected_htags; +#line 104 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp7_ = hierarchical_tag_index_get_all_paths (_tmp6_); +#line 104 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + paths = _tmp7_; +#line 1091 "DataImportJob.c" + { + GeeIterator* _path_it = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp8_ = paths; +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _path_it = _tmp9_; +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + while (TRUE) { +#line 1104 "DataImportJob.c" + GeeIterator* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + Tag* _tmp15_ = NULL; + Tag* _tmp16_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp10_ = _path_it; +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp11_ = gee_iterator_next (_tmp10_); +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (!_tmp11_) { +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + break; +#line 1121 "DataImportJob.c" + } +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp12_ = _path_it; +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp13_ = gee_iterator_get (_tmp12_); +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + path = (gchar*) _tmp13_; +#line 107 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp14_ = path; +#line 107 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp15_ = tag_for_path (_tmp14_); +#line 107 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp16_ = _tmp15_; +#line 107 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_tmp16_); +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (path); +#line 1139 "DataImportJob.c" + } +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_path_it); +#line 1143 "DataImportJob.c" + } +#line 103 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (paths); +#line 1147 "DataImportJob.c" + } +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp17_ = src_photo; +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp19_ = spit_data_imports_importable_media_item_get_tags (_tmp17_, &_tmp18_); +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tags = _tmp19_; +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tags_length1 = _tmp18_; +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _src_tags_size_ = src_tags_length1; +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp20_ = src_tags; +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp20__length1 = src_tags_length1; +#line 1163 "DataImportJob.c" + { + SpitDataImportsImportableTag** src_tag_collection = NULL; + gint src_tag_collection_length1 = 0; + gint _src_tag_collection_size_ = 0; + gint src_tag_it = 0; +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tag_collection = _tmp20_; +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tag_collection_length1 = _tmp20__length1; +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + for (src_tag_it = 0; src_tag_it < _tmp20__length1; src_tag_it = src_tag_it + 1) { +#line 1175 "DataImportJob.c" + SpitDataImportsImportableTag* _tmp21_ = NULL; + SpitDataImportsImportableTag* src_tag = NULL; +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp21_ = _g_object_ref0 (src_tag_collection[src_tag_it]); +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tag = _tmp21_; +#line 1182 "DataImportJob.c" + { + gchar* prepped = NULL; + SpitDataImportsImportableTag* _tmp22_ = NULL; + gint _tmp23_ = 0; + gchar** _tmp24_ = NULL; + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gint _tmp26_ = 0; + gchar** _tmp27_ = NULL; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp22_ = src_tag; +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp24_ = spit_data_imports_data_import_job_build_path_components (self, _tmp22_, &_tmp23_); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp25_ = _tmp24_; +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp25__length1 = _tmp23_; +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp27_ = tag_prep_tag_names (_tmp25_, _tmp23_, &_tmp26_); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp28_ = _tmp27_; +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp28__length1 = _tmp26_; +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp29_ = hierarchical_tag_utilities_join_path_components (_tmp28_, _tmp26_); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp30_ = _tmp29_; +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp28_ = (_vala_array_free (_tmp28_, _tmp28__length1, (GDestroyNotify) g_free), NULL); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp25_ = (_vala_array_free (_tmp25_, _tmp25__length1, (GDestroyNotify) g_free), NULL); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + prepped = _tmp30_; +#line 117 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp31_ = prepped; +#line 117 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp31_ != NULL) { +#line 1225 "DataImportJob.c" + const gchar* _tmp32_ = NULL; + GeeList* _tmp33_ = NULL; + GeeList* _tmp34_ = NULL; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gboolean _tmp37_ = FALSE; + const gchar* _tmp57_ = NULL; + Tag* _tmp58_ = NULL; + Tag* _tmp59_ = NULL; + LibraryPhoto* _tmp60_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp32_ = prepped; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp33_ = hierarchical_tag_utilities_enumerate_path_components (_tmp32_); +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp34_ = _tmp33_; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp35_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp36_ = _tmp35_; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp37_ = _tmp36_ == 1; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_tmp34_); +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp37_) { +#line 1252 "DataImportJob.c" + const gchar* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; +#line 119 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp38_ = prepped; +#line 119 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp39_ = g_str_has_prefix (_tmp38_, TAG_PATH_SEPARATOR_STRING); +#line 119 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp39_) { +#line 1261 "DataImportJob.c" + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp40_ = prepped; +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp41_ = hierarchical_tag_utilities_hierarchical_to_flat (_tmp40_); +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (prepped); +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + prepped = _tmp41_; +#line 1272 "DataImportJob.c" + } + } else { + GeeList* parents = NULL; + const gchar* _tmp42_ = NULL; + GeeList* _tmp43_ = NULL; + GeeList* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + gchar* top_level_parent = NULL; + GeeList* _tmp47_ = NULL; + gpointer _tmp48_ = NULL; + gchar* flat_top_level_parent = NULL; + const gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + TagSourceCollection* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + gboolean _tmp53_ = FALSE; +#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp42_ = prepped; +#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp43_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp42_); +#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + parents = _tmp43_; +#line 125 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp44_ = parents; +#line 125 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp45_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 125 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp46_ = _tmp45_; +#line 125 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _vala_assert (_tmp46_ > 0, "parents.size > 0"); +#line 127 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp47_ = parents; +#line 127 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp48_ = gee_list_get (_tmp47_, 0); +#line 127 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + top_level_parent = (gchar*) _tmp48_; +#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp49_ = top_level_parent; +#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp50_ = hierarchical_tag_utilities_hierarchical_to_flat (_tmp49_); +#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + flat_top_level_parent = _tmp50_; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp51_ = tag_global; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp52_ = flat_top_level_parent; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp53_ = tag_source_collection_exists (_tmp51_, _tmp52_, FALSE); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp53_) { +#line 1324 "DataImportJob.c" + const gchar* _tmp54_ = NULL; + Tag* _tmp55_ = NULL; + Tag* _tmp56_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp54_ = flat_top_level_parent; +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp55_ = tag_for_path (_tmp54_); +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp56_ = _tmp55_; +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + tag_promote (_tmp56_); +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_tmp56_); +#line 1338 "DataImportJob.c" + } +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (flat_top_level_parent); +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (top_level_parent); +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (parents); +#line 1346 "DataImportJob.c" + } +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp57_ = prepped; +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp58_ = tag_for_path (_tmp57_); +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp59_ = _tmp58_; +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp60_ = photo; +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + tag_attach (_tmp59_, G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (_tmp59_); +#line 1360 "DataImportJob.c" + } +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (prepped); +#line 111 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (src_tag); +#line 1366 "DataImportJob.c" + } + } + } +#line 139 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp61_ = src_photo; +#line 139 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp62_ = spit_data_imports_importable_media_item_get_event (_tmp61_); +#line 139 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_event = _tmp62_; +#line 140 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp63_ = src_event; +#line 140 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp63_ != NULL) { +#line 1380 "DataImportJob.c" + gchar* prepped = NULL; + SpitDataImportsImportableEvent* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + const gchar* _tmp69_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp64_ = src_event; +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp65_ = spit_data_imports_importable_event_get_name (_tmp64_); +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp66_ = _tmp65_; +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp67_ = prepare_input_text (_tmp66_, PREPARE_INPUT_TEXT_OPTIONS_DEFAULT, -1); +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp68_ = _tmp67_; +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (_tmp66_); +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + prepped = _tmp68_; +#line 143 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp69_ = prepped; +#line 143 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp69_ != NULL) { +#line 1406 "DataImportJob.c" + LibraryPhoto* _tmp70_ = NULL; + BatchImportRoll* _tmp71_ = NULL; + ViewCollection* _tmp72_ = NULL; + const gchar* _tmp73_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp70_ = photo; +#line 144 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp71_ = import_roll; +#line 144 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp72_ = _tmp71_->generated_events; +#line 144 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp73_ = prepped; +#line 144 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + event_generate_single_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, TYPE_MEDIA_SOURCE, MediaSource), _tmp72_, _tmp73_); +#line 1421 "DataImportJob.c" + } +#line 140 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (prepped); +#line 1425 "DataImportJob.c" + } +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp74_ = src_photo; +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp75_ = spit_data_imports_importable_media_item_get_rating (_tmp74_); +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_rating = _tmp75_; +#line 149 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp76_ = src_rating; +#line 149 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp77_ = spit_data_imports_importable_rating_is_rejected (_tmp76_); +#line 149 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp77_) { +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + dst_rating = RATING_REJECTED; +#line 1441 "DataImportJob.c" + } else { + SpitDataImportsImportableRating* _tmp78_ = NULL; + gboolean _tmp79_ = FALSE; +#line 151 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp78_ = src_rating; +#line 151 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp79_ = spit_data_imports_importable_rating_is_unrated (_tmp78_); +#line 151 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp79_) { +#line 152 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + dst_rating = RATING_UNRATED; +#line 1453 "DataImportJob.c" + } else { + SpitDataImportsImportableRating* _tmp80_ = NULL; + gint _tmp81_ = 0; + Rating _tmp82_ = 0; +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp80_ = src_rating; +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp81_ = spit_data_imports_importable_rating_get_value (_tmp80_); +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp82_ = rating_unserialize (_tmp81_); +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + dst_rating = _tmp82_; +#line 1466 "DataImportJob.c" + } + } +#line 155 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp83_ = photo; +#line 155 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp84_ = dst_rating; +#line 155 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + media_source_set_rating (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, TYPE_MEDIA_SOURCE, MediaSource), _tmp84_); +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp85_ = src_photo; +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp86_ = spit_data_imports_importable_media_item_get_title (_tmp85_); +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + title = _tmp86_; +#line 158 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp87_ = title; +#line 158 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp87_ != NULL) { +#line 1485 "DataImportJob.c" + LibraryPhoto* _tmp88_ = NULL; + const gchar* _tmp89_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp88_ = photo; +#line 159 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp89_ = title; +#line 159 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + media_source_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, TYPE_MEDIA_SOURCE, MediaSource), _tmp89_); +#line 1494 "DataImportJob.c" + } +#line 161 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp90_ = src_photo; +#line 161 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp91_ = spit_data_imports_importable_media_item_get_exposure_time (_tmp90_); +#line 161 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + date_time = _tmp91_; +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp92_ = date_time; +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (_tmp92_ != NULL) { +#line 1506 "DataImportJob.c" + LibraryPhoto* _tmp93_ = NULL; + time_t* _tmp94_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp93_ = photo; +#line 163 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp94_ = date_time; +#line 163 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + dateable_set_exposure_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, TYPE_DATEABLE, Dateable), *_tmp94_); +#line 1515 "DataImportJob.c" + } +#line 165 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp95_ = photo; +#line 165 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp96_ = import_roll; +#line 165 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp97_ = _tmp96_->import_id; +#line 165 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + photo_set_import_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp95_, TYPE_PHOTO, Photo), &_tmp97_); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = TRUE; +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (date_time); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (title); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (src_rating); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (src_event); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + src_tags = (_vala_array_free (src_tags, src_tags_length1, (GDestroyNotify) g_object_unref), NULL); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (src_photo); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (photo); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 1543 "DataImportJob.c" +} + + +static gchar** spit_data_imports_data_import_job_build_path_components (SpitDataImportsDataImportJob* self, SpitDataImportsImportableTag* tag, int* result_length1) { + gchar** result = NULL; + GeeList* components = NULL; + GeeLinkedList* _tmp0_ = NULL; + GeeList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gpointer* _tmp15_ = NULL; + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 170 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_JOB (self), NULL); +#line 170 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_TAG (tag), NULL); +#line 172 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp0_ = gee_linked_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 172 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + components = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList); +#line 1564 "DataImportJob.c" + { + SpitDataImportsImportableTag* current_tag = NULL; + SpitDataImportsImportableTag* _tmp1_ = NULL; + SpitDataImportsImportableTag* _tmp2_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp1_ = tag; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + current_tag = _tmp2_; +#line 1575 "DataImportJob.c" + { + gboolean _tmp3_ = FALSE; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp3_ = TRUE; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + while (TRUE) { +#line 1582 "DataImportJob.c" + SpitDataImportsImportableTag* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + SpitDataImportsImportableTag* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (!_tmp3_) { +#line 1592 "DataImportJob.c" + SpitDataImportsImportableTag* _tmp4_ = NULL; + SpitDataImportsImportableTag* _tmp5_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp4_ = current_tag; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp5_ = spit_data_imports_importable_tag_get_parent (_tmp4_); +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (current_tag); +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + current_tag = _tmp5_; +#line 1603 "DataImportJob.c" + } +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp3_ = FALSE; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp6_ = current_tag; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (!(_tmp6_ != NULL)) { +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + break; +#line 1613 "DataImportJob.c" + } +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp7_ = components; +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp8_ = current_tag; +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp9_ = spit_data_imports_importable_tag_get_name (_tmp8_); +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp10_ = _tmp9_; +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp11_ = hierarchical_tag_utilities_make_flat_tag_safe (_tmp10_); +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp12_ = _tmp11_; +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + gee_list_insert (_tmp7_, 0, _tmp12_); +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (_tmp12_); +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_free0 (_tmp10_); +#line 1633 "DataImportJob.c" + } + } +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (current_tag); +#line 1638 "DataImportJob.c" + } +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp13_ = components; +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp15_ = gee_collection_to_array (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection), &_tmp14_); +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp16_ = _tmp15_; +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _tmp16__length1 = _tmp14_; +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + if (result_length1) { +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + *result_length1 = _tmp16__length1; +#line 1652 "DataImportJob.c" + } +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + result = _tmp16_; +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (components); +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + return result; +#line 1660 "DataImportJob.c" +} + + +static void spit_data_imports_data_import_job_class_init (SpitDataImportsDataImportJobClass * klass) { +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + spit_data_imports_data_import_job_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->finalize = spit_data_imports_data_import_job_finalize; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + g_type_class_add_private (klass, sizeof (SpitDataImportsDataImportJobPrivate)); +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->get_dest_identifier = spit_data_imports_data_import_job_real_get_dest_identifier; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->get_source_identifier = spit_data_imports_data_import_job_real_get_source_identifier; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->is_directory = spit_data_imports_data_import_job_real_is_directory; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->get_basename = spit_data_imports_data_import_job_real_get_basename; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->get_path = spit_data_imports_data_import_job_real_get_path; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->set_associated = spit_data_imports_data_import_job_real_set_associated; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->determine_file_size = spit_data_imports_data_import_job_real_determine_file_size; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->prepare = spit_data_imports_data_import_job_real_prepare; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + ((BatchImportJobClass *) klass)->complete = spit_data_imports_data_import_job_real_complete; +#line 1689 "DataImportJob.c" +} + + +static void spit_data_imports_data_import_job_instance_init (SpitDataImportsDataImportJob * self) { +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv = SPIT_DATA_IMPORTS_DATA_IMPORT_JOB_GET_PRIVATE (self); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv->associated = NULL; +#line 18 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self->priv->detected_htags = NULL; +#line 1700 "DataImportJob.c" +} + + +static void spit_data_imports_data_import_job_finalize (BatchImportJob* obj) { + SpitDataImportsDataImportJob * self; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob); +#line 13 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _spit_data_imports_data_import_source_unref0 (self->priv->import_source); +#line 14 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _g_object_unref0 (self->priv->src_file); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _batch_import_job_unref0 (self->priv->associated); +#line 18 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + _hierarchical_tag_index_unref0 (self->priv->detected_htags); +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportJob.vala" + BATCH_IMPORT_JOB_CLASS (spit_data_imports_data_import_job_parent_class)->finalize (obj); +#line 1718 "DataImportJob.c" +} + + +/** + * A specialized import job implementation for alien databases. + */ +GType spit_data_imports_data_import_job_get_type (void) { + static volatile gsize spit_data_imports_data_import_job_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_data_import_job_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsDataImportJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_data_imports_data_import_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitDataImportsDataImportJob), 0, (GInstanceInitFunc) spit_data_imports_data_import_job_instance_init, NULL }; + GType spit_data_imports_data_import_job_type_id; + spit_data_imports_data_import_job_type_id = g_type_register_static (TYPE_BATCH_IMPORT_JOB, "SpitDataImportsDataImportJob", &g_define_type_info, 0); + g_once_init_leave (&spit_data_imports_data_import_job_type_id__volatile, spit_data_imports_data_import_job_type_id); + } + return spit_data_imports_data_import_job_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/data_imports/DataImportSource.c b/src/data_imports/DataImportSource.c new file mode 100644 index 0000000..4c6b25d --- /dev/null +++ b/src/data_imports/DataImportSource.c @@ -0,0 +1,1425 @@ +/* DataImportSource.c generated by valac 0.32.1, the Vala compiler + * generated from DataImportSource.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include + + +#define SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE (spit_data_imports_data_import_source_get_type ()) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSource)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourceClass)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourceClass)) + +typedef struct _SpitDataImportsDataImportSource SpitDataImportsDataImportSource; +typedef struct _SpitDataImportsDataImportSourceClass SpitDataImportsDataImportSourceClass; +typedef struct _SpitDataImportsDataImportSourcePrivate SpitDataImportsDataImportSourcePrivate; + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_PHOTO_PREVIEW (photo_preview_get_type ()) +#define PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_PREVIEW, PhotoPreview)) +#define PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) +#define IS_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_PREVIEW)) +#define IS_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_PREVIEW)) +#define PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) + +typedef struct _PhotoPreview PhotoPreview; +typedef struct _PhotoPreviewClass PhotoPreviewClass; +#define _photo_preview_unref0(var) ((var == NULL) ? NULL : (var = (photo_preview_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) +typedef struct _SpitDataImportsParamSpecDataImportSource SpitDataImportsParamSpecDataImportSource; + +struct _SpitDataImportsDataImportSource { + GTypeInstance parent_instance; + volatile int ref_count; + SpitDataImportsDataImportSourcePrivate * priv; +}; + +struct _SpitDataImportsDataImportSourceClass { + GTypeClass parent_class; + void (*finalize) (SpitDataImportsDataImportSource *self); +}; + +struct _SpitDataImportsDataImportSourcePrivate { + gboolean backing_file_found; + SpitDataImportsImportableMediaItem* db_photo; + gchar* title; + gchar* preview_md5; + guint64 file_size; + time_t modification_time; + MetadataDateTime* exposure_time; +}; + +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 _SpitDataImportsParamSpecDataImportSource { + GParamSpec parent_instance; +}; + + +static gpointer spit_data_imports_data_import_source_parent_class = NULL; + +gpointer spit_data_imports_data_import_source_ref (gpointer instance); +void spit_data_imports_data_import_source_unref (gpointer instance); +GParamSpec* spit_data_imports_param_spec_data_import_source (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void spit_data_imports_value_set_data_import_source (GValue* value, gpointer v_object); +void spit_data_imports_value_take_data_import_source (GValue* value, gpointer v_object); +gpointer spit_data_imports_value_get_data_import_source (const GValue* value); +GType spit_data_imports_data_import_source_get_type (void) G_GNUC_CONST; +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourcePrivate)) +enum { + SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_DUMMY_PROPERTY +}; +SpitDataImportsDataImportSource* spit_data_imports_data_import_source_new (SpitDataImportsImportableMediaItem* db_photo); +SpitDataImportsDataImportSource* spit_data_imports_data_import_source_construct (GType object_type, SpitDataImportsImportableMediaItem* db_photo); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +void media_metadata_read_from_file (MediaMetadata* self, GFile* file, GError** error); +gchar* spit_data_imports_data_import_source_get_filename (SpitDataImportsDataImportSource* self); +gchar* media_metadata_get_title (MediaMetadata* self); +MetadataDateTime* metadata_date_time_new (time_t timestamp); +MetadataDateTime* metadata_date_time_construct (GType object_type, time_t timestamp); +MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self); +gpointer photo_preview_ref (gpointer instance); +void photo_preview_unref (gpointer instance); +GParamSpec* param_spec_photo_preview (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_preview (GValue* value, gpointer v_object); +void value_take_photo_preview (GValue* value, gpointer v_object); +gpointer value_get_photo_preview (const GValue* value); +GType photo_preview_get_type (void) G_GNUC_CONST; +PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self, guint number); +guint8* photo_preview_flatten (PhotoPreview* self, int* result_length1, GError** error); +gchar* md5_binary (guint8* buffer, gsize length); +guint64 query_total_file_size (GFile* file_or_dir, GCancellable* cancellable, GError** error); +time_t query_file_modified (GFile* file, GError** error); +gchar* spit_data_imports_data_import_source_get_fulldir (SpitDataImportsDataImportSource* self); +GFile* spit_data_imports_data_import_source_get_file (SpitDataImportsDataImportSource* self); +gchar* spit_data_imports_data_import_source_get_name (SpitDataImportsDataImportSource* self); +gboolean is_string_empty (const gchar* s); +gchar* spit_data_imports_data_import_source_get_title (SpitDataImportsDataImportSource* self); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat spit_data_imports_data_import_source_get_file_format (SpitDataImportsDataImportSource* self); +PhotoFileFormat photo_file_format_get_by_basename_extension (const gchar* basename); +gchar* spit_data_imports_data_import_source_to_string (SpitDataImportsDataImportSource* self); +time_t spit_data_imports_data_import_source_get_exposure_time (SpitDataImportsDataImportSource* self); +time_t metadata_date_time_get_timestamp (MetadataDateTime* self); +guint64 spit_data_imports_data_import_source_get_filesize (SpitDataImportsDataImportSource* self); +SpitDataImportsImportableMediaItem* spit_data_imports_data_import_source_get_photo (SpitDataImportsDataImportSource* self); +gboolean spit_data_imports_data_import_source_is_already_imported (SpitDataImportsDataImportSource* self); +gboolean library_photo_has_nontrash_duplicate (GFile* file, const gchar* thumbnail_md5, const gchar* full_md5, PhotoFileFormat file_format); +gboolean spit_data_imports_data_import_source_was_backing_file_found (SpitDataImportsDataImportSource* self); +static void spit_data_imports_data_import_source_finalize (SpitDataImportsDataImportSource* obj); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return self ? g_object_ref (self) : NULL; +#line 188 "DataImportSource.c" +} + + +static gpointer _metadata_date_time_ref0 (gpointer self) { +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return self ? metadata_date_time_ref (self) : NULL; +#line 195 "DataImportSource.c" +} + + +static gpointer _photo_preview_ref0 (gpointer self) { +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return self ? photo_preview_ref (self) : NULL; +#line 202 "DataImportSource.c" +} + + +SpitDataImportsDataImportSource* spit_data_imports_data_import_source_construct (GType object_type, SpitDataImportsImportableMediaItem* db_photo) { + SpitDataImportsDataImportSource* self = NULL; + SpitDataImportsImportableMediaItem* _tmp0_ = NULL; + SpitDataImportsImportableMediaItem* _tmp1_ = NULL; + gchar* folder_path = NULL; + SpitDataImportsImportableMediaItem* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* filename = NULL; + SpitDataImportsImportableMediaItem* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GFile* photo = NULL; + gboolean _tmp6_ = FALSE; + const gchar* _tmp7_ = NULL; + gboolean _tmp20_ = FALSE; + GFile* _tmp21_ = NULL; + GError * _inner_error_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (db_photo), NULL); +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self = (SpitDataImportsDataImportSource*) g_type_create_instance (object_type); +#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = db_photo; +#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (self->priv->db_photo); +#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->db_photo = _tmp1_; +#line 31 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp2_ = db_photo; +#line 31 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp3_ = spit_data_imports_importable_media_item_get_folder_path (_tmp2_); +#line 31 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + folder_path = _tmp3_; +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp4_ = db_photo; +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp5_ = spit_data_imports_importable_media_item_get_filename (_tmp4_); +#line 32 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + filename = _tmp5_; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + photo = NULL; +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp7_ = folder_path; +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp7_ != NULL) { +#line 252 "DataImportSource.c" + const gchar* _tmp8_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp8_ = filename; +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp6_ = _tmp8_ != NULL; +#line 258 "DataImportSource.c" + } else { +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp6_ = FALSE; +#line 262 "DataImportSource.c" + } +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp6_) { +#line 266 "DataImportSource.c" + SpitDataImportsImportableMediaItem* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + SpitDataImportsImportableMediaItem* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp9_ = db_photo; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp10_ = spit_data_imports_importable_media_item_get_folder_path (_tmp9_); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp11_ = _tmp10_; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp12_ = g_file_new_for_path (_tmp11_); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp13_ = _tmp12_; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp14_ = db_photo; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp15_ = spit_data_imports_importable_media_item_get_filename (_tmp14_); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp16_ = _tmp15_; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp17_ = g_file_get_child (_tmp13_, _tmp16_); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (photo); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + photo = _tmp17_; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp16_); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (_tmp13_); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp11_); +#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp18_ = photo; +#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp19_ = g_file_query_exists (_tmp18_, NULL); +#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->backing_file_found = _tmp19_; +#line 312 "DataImportSource.c" + } else { +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->backing_file_found = FALSE; +#line 316 "DataImportSource.c" + } +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp21_ = photo; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp21_ != NULL) { +#line 322 "DataImportSource.c" + gboolean _tmp22_ = FALSE; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp22_ = self->priv->backing_file_found; +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp20_ = _tmp22_; +#line 328 "DataImportSource.c" + } else { +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp20_ = FALSE; +#line 332 "DataImportSource.c" + } +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp20_) { +#line 336 "DataImportSource.c" + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp23_ = NULL; + SpitDataImportsImportableMediaItem* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + time_t* date_time = NULL; + SpitDataImportsImportableMediaItem* _tmp38_ = NULL; + time_t* _tmp39_ = NULL; + time_t* _tmp40_ = NULL; + PhotoPreview* _tmp48_ = NULL; + PhotoMetadata* _tmp49_ = NULL; + PhotoPreview* preview = NULL; + PhotoPreview* _tmp52_ = NULL; + PhotoPreview* _tmp53_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp23_ = photo_metadata_new (); +#line 44 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + metadata = _tmp23_; +#line 355 "DataImportSource.c" + { + PhotoMetadata* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp24_ = metadata; +#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp25_ = photo; +#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + media_metadata_read_from_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_MEDIA_METADATA, MediaMetadata), _tmp25_, &_inner_error_); +#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 367 "DataImportSource.c" + goto __catch202_g_error; + } + } + goto __finally202; + __catch202_g_error: + { + GError* e = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + GError* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + e = _inner_error_; +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _inner_error_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp26_ = spit_data_imports_data_import_source_get_filename (self); +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp27_ = _tmp26_; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp28_ = e; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp29_ = _tmp28_->message; +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_warning ("DataImportSource.vala:48: Could not get file metadata for %s: %s", _tmp27_, _tmp29_); +#line 48 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp27_); +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _media_metadata_unref0 (metadata); +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + metadata = NULL; +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_error_free0 (e); +#line 401 "DataImportSource.c" + } + __finally202: +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _media_metadata_unref0 (metadata); +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (photo); +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (filename); +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (folder_path); +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_clear_error (&_inner_error_); +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return NULL; +#line 420 "DataImportSource.c" + } +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp30_ = db_photo; +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp31_ = spit_data_imports_importable_media_item_get_title (_tmp30_); +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (self->priv->title); +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->title = _tmp31_; +#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp32_ = self->priv->title; +#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp32_ == NULL) { +#line 434 "DataImportSource.c" + gchar* _tmp33_ = NULL; + PhotoMetadata* _tmp34_ = NULL; + gchar* _tmp37_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp34_ = metadata; +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp34_ != NULL) { +#line 442 "DataImportSource.c" + PhotoMetadata* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp35_ = metadata; +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp36_ = media_metadata_get_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_MEDIA_METADATA, MediaMetadata)); +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp33_); +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp33_ = _tmp36_; +#line 453 "DataImportSource.c" + } else { +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp33_); +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp33_ = NULL; +#line 459 "DataImportSource.c" + } +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp37_ = g_strdup (_tmp33_); +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (self->priv->title); +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->title = _tmp37_; +#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp33_); +#line 469 "DataImportSource.c" + } +#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp38_ = db_photo; +#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp39_ = spit_data_imports_importable_media_item_get_exposure_time (_tmp38_); +#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + date_time = _tmp39_; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp40_ = date_time; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp40_ != NULL) { +#line 481 "DataImportSource.c" + time_t* _tmp41_ = NULL; + MetadataDateTime* _tmp42_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp41_ = date_time; +#line 57 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp42_ = metadata_date_time_new (*_tmp41_); +#line 57 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _metadata_date_time_unref0 (self->priv->exposure_time); +#line 57 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->exposure_time = _tmp42_; +#line 492 "DataImportSource.c" + } else { + MetadataDateTime* _tmp43_ = NULL; + PhotoMetadata* _tmp44_ = NULL; + MetadataDateTime* _tmp47_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp44_ = metadata; +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp44_ != NULL) { +#line 501 "DataImportSource.c" + PhotoMetadata* _tmp45_ = NULL; + MetadataDateTime* _tmp46_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp45_ = metadata; +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp46_ = photo_metadata_get_exposure_date_time (_tmp45_); +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _metadata_date_time_unref0 (_tmp43_); +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp43_ = _tmp46_; +#line 512 "DataImportSource.c" + } else { +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _metadata_date_time_unref0 (_tmp43_); +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp43_ = NULL; +#line 518 "DataImportSource.c" + } +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp47_ = _metadata_date_time_ref0 (_tmp43_); +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _metadata_date_time_unref0 (self->priv->exposure_time); +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->exposure_time = _tmp47_; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _metadata_date_time_unref0 (_tmp43_); +#line 528 "DataImportSource.c" + } +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp49_ = metadata; +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp49_ != NULL) { +#line 534 "DataImportSource.c" + PhotoMetadata* _tmp50_ = NULL; + PhotoPreview* _tmp51_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp50_ = metadata; +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp51_ = photo_metadata_get_preview (_tmp50_, (guint) 0); +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (_tmp48_); +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp48_ = _tmp51_; +#line 545 "DataImportSource.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (_tmp48_); +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp48_ = NULL; +#line 551 "DataImportSource.c" + } +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp52_ = _photo_preview_ref0 (_tmp48_); +#line 61 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + preview = _tmp52_; +#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp53_ = preview; +#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp53_ != NULL) { +#line 561 "DataImportSource.c" + { + guint8* preview_raw = NULL; + PhotoPreview* _tmp54_ = NULL; + gint _tmp55_ = 0; + guint8* _tmp56_ = NULL; + gint preview_raw_length1 = 0; + gint _preview_raw_size_ = 0; + guint8* _tmp57_ = NULL; + gint _tmp57__length1 = 0; + guint8* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + gchar* _tmp59_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp54_ = preview; +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp56_ = photo_preview_flatten (_tmp54_, &_tmp55_, &_inner_error_); +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + preview_raw = _tmp56_; +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + preview_raw_length1 = _tmp55_; +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _preview_raw_size_ = preview_raw_length1; +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 586 "DataImportSource.c" + goto __catch203_g_error; + } +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp57_ = preview_raw; +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp57__length1 = preview_raw_length1; +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp58_ = preview_raw; +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp58__length1 = preview_raw_length1; +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp59_ = md5_binary (_tmp57_, (gsize) _tmp58__length1); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (self->priv->preview_md5); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->preview_md5 = _tmp59_; +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + preview_raw = (g_free (preview_raw), NULL); +#line 605 "DataImportSource.c" + } + goto __finally203; + __catch203_g_error: + { + GError* e = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + GError* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + e = _inner_error_; +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _inner_error_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp60_ = spit_data_imports_data_import_source_get_filename (self); +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp61_ = _tmp60_; +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp62_ = e; +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp63_ = _tmp62_->message; +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_warning ("DataImportSource.vala:67: Could not get raw preview for %s: %s", _tmp61_, _tmp63_); +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp61_); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_error_free0 (e); +#line 633 "DataImportSource.c" + } + __finally203: +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (preview); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (_tmp48_); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (date_time); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _media_metadata_unref0 (metadata); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (photo); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (filename); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (folder_path); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_clear_error (&_inner_error_); +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return NULL; +#line 658 "DataImportSource.c" + } + } + { + guint64 _tmp64_ = 0ULL; + GFile* _tmp65_ = NULL; + guint64 _tmp66_ = 0ULL; +#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp65_ = photo; +#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp66_ = query_total_file_size (_tmp65_, NULL, &_inner_error_); +#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp64_ = _tmp66_; +#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 673 "DataImportSource.c" + goto __catch204_g_error; + } +#line 75 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->file_size = _tmp64_; +#line 678 "DataImportSource.c" + } + goto __finally204; + __catch204_g_error: + { + GError* e = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + GError* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + e = _inner_error_; +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _inner_error_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp67_ = spit_data_imports_data_import_source_get_filename (self); +#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp68_ = _tmp67_; +#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp69_ = e; +#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp70_ = _tmp69_->message; +#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_warning ("DataImportSource.vala:77: Could not get file size for %s: %s", _tmp68_, _tmp70_); +#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp68_); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_error_free0 (e); +#line 706 "DataImportSource.c" + } + __finally204: +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (preview); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (_tmp48_); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (date_time); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _media_metadata_unref0 (metadata); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (photo); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (filename); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (folder_path); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_clear_error (&_inner_error_); +#line 74 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return NULL; +#line 731 "DataImportSource.c" + } + { + time_t _tmp71_ = 0; + GFile* _tmp72_ = NULL; + time_t _tmp73_ = 0; +#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp72_ = photo; +#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp73_ = query_file_modified (_tmp72_, &_inner_error_); +#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp71_ = _tmp73_; +#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 745 "DataImportSource.c" + goto __catch205_g_error; + } +#line 80 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->modification_time = _tmp71_; +#line 750 "DataImportSource.c" + } + goto __finally205; + __catch205_g_error: + { + GError* e = NULL; + gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + GError* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + e = _inner_error_; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _inner_error_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp74_ = spit_data_imports_data_import_source_get_filename (self); +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp75_ = _tmp74_; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp76_ = e; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp77_ = _tmp76_->message; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_warning ("DataImportSource.vala:82: Could not get modification time for %s: %s", _tmp75_, _tmp77_); +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp75_); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_error_free0 (e); +#line 778 "DataImportSource.c" + } + __finally205: +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (preview); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (_tmp48_); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (date_time); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _media_metadata_unref0 (metadata); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (photo); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (filename); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (folder_path); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.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 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_clear_error (&_inner_error_); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return NULL; +#line 803 "DataImportSource.c" + } +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (preview); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _photo_preview_unref0 (_tmp48_); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (date_time); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _media_metadata_unref0 (metadata); +#line 813 "DataImportSource.c" + } else { + GFile* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp78_ = photo; +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp79_ = g_file_get_path (_tmp78_); +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp80_ = _tmp79_; +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp81_ = g_strdup_printf ("Photo file %s not found", _tmp80_); +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp82_ = _tmp81_; +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_debug ("DataImportSource.vala:85: %s", _tmp82_); +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp82_); +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp80_); +#line 836 "DataImportSource.c" + } +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (photo); +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (filename); +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (folder_path); +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return self; +#line 846 "DataImportSource.c" +} + + +SpitDataImportsDataImportSource* spit_data_imports_data_import_source_new (SpitDataImportsImportableMediaItem* db_photo) { +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return spit_data_imports_data_import_source_construct (SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, db_photo); +#line 853 "DataImportSource.c" +} + + +gchar* spit_data_imports_data_import_source_get_filename (SpitDataImportsDataImportSource* self) { + gchar* result = NULL; + SpitDataImportsImportableMediaItem* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = self->priv->db_photo; +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = spit_data_imports_importable_media_item_get_filename (_tmp0_); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp1_; +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 871 "DataImportSource.c" +} + + +gchar* spit_data_imports_data_import_source_get_fulldir (SpitDataImportsDataImportSource* self) { + gchar* result = NULL; + SpitDataImportsImportableMediaItem* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL); +#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = self->priv->db_photo; +#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = spit_data_imports_importable_media_item_get_folder_path (_tmp0_); +#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp1_; +#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 889 "DataImportSource.c" +} + + +GFile* spit_data_imports_data_import_source_get_file (SpitDataImportsDataImportSource* self) { + GFile* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = spit_data_imports_data_import_source_get_fulldir (self); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = _tmp0_; +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp3_ = _tmp2_; +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp4_ = spit_data_imports_data_import_source_get_filename (self); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp5_ = _tmp4_; +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp6_ = g_file_get_child (_tmp3_, _tmp5_); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp7_ = _tmp6_; +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp5_); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (_tmp3_); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp1_); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp7_; +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 931 "DataImportSource.c" +} + + +gchar* spit_data_imports_data_import_source_get_name (SpitDataImportsDataImportSource* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL); +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = self->priv->title; +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp2_ = is_string_empty (_tmp1_); +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (!_tmp2_) { +#line 948 "DataImportSource.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp3_ = self->priv->title; +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp0_); +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = _tmp4_; +#line 959 "DataImportSource.c" + } else { + gchar* _tmp5_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp5_ = spit_data_imports_data_import_source_get_filename (self); +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp0_); +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = _tmp5_; +#line 968 "DataImportSource.c" + } +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp0_; +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 974 "DataImportSource.c" +} + + +gchar* spit_data_imports_data_import_source_get_title (SpitDataImportsDataImportSource* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL); +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = self->priv->title; +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp1_; +#line 106 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 992 "DataImportSource.c" +} + + +PhotoFileFormat spit_data_imports_data_import_source_get_file_format (SpitDataImportsDataImportSource* self) { + PhotoFileFormat result = 0; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; + PhotoFileFormat _tmp3_ = 0; +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0); +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = spit_data_imports_data_import_source_get_filename (self); +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = _tmp0_; +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp2_ = photo_file_format_get_by_basename_extension (_tmp1_); +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp3_ = _tmp2_; +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (_tmp1_); +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp3_; +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 1018 "DataImportSource.c" +} + + +gchar* spit_data_imports_data_import_source_to_string (SpitDataImportsDataImportSource* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL); +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = spit_data_imports_data_import_source_get_name (self); +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp0_; +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 1033 "DataImportSource.c" +} + + +time_t spit_data_imports_data_import_source_get_exposure_time (SpitDataImportsDataImportSource* self) { + time_t result = 0; + time_t _tmp0_ = 0; + MetadataDateTime* _tmp1_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0); +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = self->priv->exposure_time; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp1_ != NULL) { +#line 1047 "DataImportSource.c" + MetadataDateTime* _tmp2_ = NULL; + time_t _tmp3_ = 0; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp2_ = self->priv->exposure_time; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp3_ = metadata_date_time_get_timestamp (_tmp2_); +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = _tmp3_; +#line 1056 "DataImportSource.c" + } else { + time_t _tmp4_ = 0; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp4_ = self->priv->modification_time; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = _tmp4_; +#line 1063 "DataImportSource.c" + } +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp0_; +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 1069 "DataImportSource.c" +} + + +guint64 spit_data_imports_data_import_source_get_filesize (SpitDataImportsDataImportSource* self) { + guint64 result = 0ULL; + guint64 _tmp0_ = 0ULL; +#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), 0ULL); +#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = self->priv->file_size; +#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp0_; +#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 1084 "DataImportSource.c" +} + + +SpitDataImportsImportableMediaItem* spit_data_imports_data_import_source_get_photo (SpitDataImportsDataImportSource* self) { + SpitDataImportsImportableMediaItem* result = NULL; + SpitDataImportsImportableMediaItem* _tmp0_ = NULL; + SpitDataImportsImportableMediaItem* _tmp1_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), NULL); +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = self->priv->db_photo; +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp1_; +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 1102 "DataImportSource.c" +} + + +gboolean spit_data_imports_data_import_source_is_already_imported (SpitDataImportsDataImportSource* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), FALSE); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp1_ = self->priv->preview_md5; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (_tmp1_ != NULL) { +#line 1116 "DataImportSource.c" + const gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + gboolean _tmp4_ = FALSE; +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp2_ = self->priv->preview_md5; +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp3_ = spit_data_imports_data_import_source_get_file_format (self); +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp4_ = library_photo_has_nontrash_duplicate (NULL, _tmp2_, NULL, _tmp3_); +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = _tmp4_; +#line 1128 "DataImportSource.c" + } else { +#line 133 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = FALSE; +#line 1132 "DataImportSource.c" + } +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp0_; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 1138 "DataImportSource.c" +} + + +gboolean spit_data_imports_data_import_source_was_backing_file_found (SpitDataImportsDataImportSource* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 136 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE (self), FALSE); +#line 137 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _tmp0_ = self->priv->backing_file_found; +#line 137 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + result = _tmp0_; +#line 137 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return result; +#line 1153 "DataImportSource.c" +} + + +static void spit_data_imports_value_data_import_source_init (GValue* value) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + value->data[0].v_pointer = NULL; +#line 1160 "DataImportSource.c" +} + + +static void spit_data_imports_value_data_import_source_free_value (GValue* value) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (value->data[0].v_pointer) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + spit_data_imports_data_import_source_unref (value->data[0].v_pointer); +#line 1169 "DataImportSource.c" + } +} + + +static void spit_data_imports_value_data_import_source_copy_value (const GValue* src_value, GValue* dest_value) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (src_value->data[0].v_pointer) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + dest_value->data[0].v_pointer = spit_data_imports_data_import_source_ref (src_value->data[0].v_pointer); +#line 1179 "DataImportSource.c" + } else { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + dest_value->data[0].v_pointer = NULL; +#line 1183 "DataImportSource.c" + } +} + + +static gpointer spit_data_imports_value_data_import_source_peek_pointer (const GValue* value) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return value->data[0].v_pointer; +#line 1191 "DataImportSource.c" +} + + +static gchar* spit_data_imports_value_data_import_source_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (collect_values[0].v_pointer) { +#line 1198 "DataImportSource.c" + SpitDataImportsDataImportSource* object; + object = collect_values[0].v_pointer; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (object->parent_instance.g_class == NULL) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1205 "DataImportSource.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1209 "DataImportSource.c" + } +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + value->data[0].v_pointer = spit_data_imports_data_import_source_ref (object); +#line 1213 "DataImportSource.c" + } else { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + value->data[0].v_pointer = NULL; +#line 1217 "DataImportSource.c" + } +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return NULL; +#line 1221 "DataImportSource.c" +} + + +static gchar* spit_data_imports_value_data_import_source_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SpitDataImportsDataImportSource** object_p; + object_p = collect_values[0].v_pointer; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (!object_p) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1232 "DataImportSource.c" + } +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (!value->data[0].v_pointer) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + *object_p = NULL; +#line 1238 "DataImportSource.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + *object_p = value->data[0].v_pointer; +#line 1242 "DataImportSource.c" + } else { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + *object_p = spit_data_imports_data_import_source_ref (value->data[0].v_pointer); +#line 1246 "DataImportSource.c" + } +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return NULL; +#line 1250 "DataImportSource.c" +} + + +GParamSpec* spit_data_imports_param_spec_data_import_source (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + SpitDataImportsParamSpecDataImportSource* spec; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (g_type_is_a (object_type, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE), NULL); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return G_PARAM_SPEC (spec); +#line 1264 "DataImportSource.c" +} + + +gpointer spit_data_imports_value_get_data_import_source (const GValue* value) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE), NULL); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return value->data[0].v_pointer; +#line 1273 "DataImportSource.c" +} + + +void spit_data_imports_value_set_data_import_source (GValue* value, gpointer v_object) { + SpitDataImportsDataImportSource* old; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + old = value->data[0].v_pointer; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (v_object) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + value->data[0].v_pointer = v_object; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + spit_data_imports_data_import_source_ref (value->data[0].v_pointer); +#line 1293 "DataImportSource.c" + } else { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + value->data[0].v_pointer = NULL; +#line 1297 "DataImportSource.c" + } +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (old) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + spit_data_imports_data_import_source_unref (old); +#line 1303 "DataImportSource.c" + } +} + + +void spit_data_imports_value_take_data_import_source (GValue* value, gpointer v_object) { + SpitDataImportsDataImportSource* old; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + old = value->data[0].v_pointer; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (v_object) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + value->data[0].v_pointer = v_object; +#line 1322 "DataImportSource.c" + } else { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + value->data[0].v_pointer = NULL; +#line 1326 "DataImportSource.c" + } +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (old) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + spit_data_imports_data_import_source_unref (old); +#line 1332 "DataImportSource.c" + } +} + + +static void spit_data_imports_data_import_source_class_init (SpitDataImportsDataImportSourceClass * klass) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + spit_data_imports_data_import_source_parent_class = g_type_class_peek_parent (klass); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + ((SpitDataImportsDataImportSourceClass *) klass)->finalize = spit_data_imports_data_import_source_finalize; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_type_class_add_private (klass, sizeof (SpitDataImportsDataImportSourcePrivate)); +#line 1344 "DataImportSource.c" +} + + +static void spit_data_imports_data_import_source_instance_init (SpitDataImportsDataImportSource * self) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv = SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_PRIVATE (self); +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->title = NULL; +#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->priv->preview_md5 = NULL; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self->ref_count = 1; +#line 1357 "DataImportSource.c" +} + + +static void spit_data_imports_data_import_source_finalize (SpitDataImportsDataImportSource* obj) { + SpitDataImportsDataImportSource * self; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSource); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_signal_handlers_destroy (self); +#line 19 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_object_unref0 (self->priv->db_photo); +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (self->priv->title); +#line 21 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _g_free0 (self->priv->preview_md5); +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + _metadata_date_time_unref0 (self->priv->exposure_time); +#line 1375 "DataImportSource.c" +} + + +/** + * Photo source implementation for alien databases. This class is responsible + * for extracting meta-data out of a source photo to support the import + * process. + * + * This class does not extend PhotoSource in order to minimise the API to the + * absolute minimum required to run the import job. + */ +GType spit_data_imports_data_import_source_get_type (void) { + static volatile gsize spit_data_imports_data_import_source_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_data_import_source_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { spit_data_imports_value_data_import_source_init, spit_data_imports_value_data_import_source_free_value, spit_data_imports_value_data_import_source_copy_value, spit_data_imports_value_data_import_source_peek_pointer, "p", spit_data_imports_value_data_import_source_collect_value, "p", spit_data_imports_value_data_import_source_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsDataImportSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_data_imports_data_import_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitDataImportsDataImportSource), 0, (GInstanceInitFunc) spit_data_imports_data_import_source_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType spit_data_imports_data_import_source_type_id; + spit_data_imports_data_import_source_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SpitDataImportsDataImportSource", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&spit_data_imports_data_import_source_type_id__volatile, spit_data_imports_data_import_source_type_id); + } + return spit_data_imports_data_import_source_type_id__volatile; +} + + +gpointer spit_data_imports_data_import_source_ref (gpointer instance) { + SpitDataImportsDataImportSource* self; + self = instance; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_atomic_int_inc (&self->ref_count); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + return instance; +#line 1408 "DataImportSource.c" +} + + +void spit_data_imports_data_import_source_unref (gpointer instance) { + SpitDataImportsDataImportSource* self; + self = instance; +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_CLASS (self)->finalize (self); +#line 17 "/home/jens/Source/shotwell/src/data_imports/DataImportSource.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1421 "DataImportSource.c" + } +} + + + diff --git a/src/data_imports/DataImports.c b/src/data_imports/DataImports.c new file mode 100644 index 0000000..2b9e8e9 --- /dev/null +++ b/src/data_imports/DataImports.c @@ -0,0 +1,117 @@ +/* DataImports.c generated by valac 0.32.1, the Vala compiler + * generated from DataImports.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* This file is the master unit file for the DataImports unit. It should be edited to include + * whatever code is deemed necessary. + * + * The init() and terminate() methods are mandatory. + * + * If the unit needs to be configured prior to initialization, add the proper parameters to + * the preconfigure() method, implement it, and ensure in init() that it's been called. + */ + +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include + + + + +void data_imports_init (GError** error); +static void _vala_array_add150 (gchar*** array, int* length, int* size, gchar* value); +void plugins_register_extension_point (GType type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +#define RESOURCES_IMPORT "shotwell-import" +void data_imports_terminate (void); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static void _vala_array_add150 (gchar*** array, int* length, int* size, gchar* value) { +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + if ((*length) == (*size)) { +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 45 "DataImports.c" + } +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + (*array)[(*length)++] = value; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + (*array)[*length] = NULL; +#line 51 "DataImports.c" +} + + +void data_imports_init (GError** error) { + gchar** core_ids = NULL; + gchar** _tmp0_ = NULL; + gint core_ids_length1 = 0; + gint _core_ids_size_ = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 19 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 19 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + core_ids = _tmp0_; +#line 19 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + core_ids_length1 = 0; +#line 19 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _core_ids_size_ = core_ids_length1; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _tmp1_ = core_ids; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _tmp1__length1 = core_ids_length1; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _tmp2_ = g_strdup ("org.yorba.shotwell.dataimports.fspot"); +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _vala_array_add150 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp2_); +#line 22 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _tmp3_ = _ ("Data Imports"); +#line 22 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _tmp4_ = core_ids; +#line 22 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + _tmp4__length1 = core_ids_length1; +#line 22 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + plugins_register_extension_point (SPIT_DATA_IMPORTS_TYPE_SERVICE, _tmp3_, RESOURCES_IMPORT, _tmp4_, _tmp4__length1); +#line 18 "/home/jens/Source/shotwell/src/data_imports/DataImports.vala" + core_ids = (_vala_array_free (core_ids, core_ids_length1, (GDestroyNotify) g_free), NULL); +#line 92 "DataImports.c" +} + + +void data_imports_terminate (void) { +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/data_imports/DataImportsPluginHost.c b/src/data_imports/DataImportsPluginHost.c new file mode 100644 index 0000000..308cd17 --- /dev/null +++ b/src/data_imports/DataImportsPluginHost.c @@ -0,0 +1,3451 @@ +/* DataImportsPluginHost.c generated by valac 0.32.1, the Vala compiler + * generated from DataImportsPluginHost.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER (spit_data_imports_core_importer_get_type ()) +#define SPIT_DATA_IMPORTS_CORE_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER, SpitDataImportsCoreImporter)) +#define SPIT_DATA_IMPORTS_CORE_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER, SpitDataImportsCoreImporterClass)) +#define SPIT_DATA_IMPORTS_IS_CORE_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER)) +#define SPIT_DATA_IMPORTS_IS_CORE_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER)) +#define SPIT_DATA_IMPORTS_CORE_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER, SpitDataImportsCoreImporterClass)) + +typedef struct _SpitDataImportsCoreImporter SpitDataImportsCoreImporter; +typedef struct _SpitDataImportsCoreImporterClass SpitDataImportsCoreImporterClass; +typedef struct _SpitDataImportsCoreImporterPrivate SpitDataImportsCoreImporterPrivate; + +#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ()) +#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll)) +#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) +#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL)) +#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL)) +#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) + +typedef struct _BatchImportRoll BatchImportRoll; +typedef struct _BatchImportRollClass BatchImportRollClass; +#define _batch_import_roll_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_roll_unref (var), NULL))) + +#define TYPE_SORTED_LIST (sorted_list_get_type ()) +#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList)) +#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass)) +#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST)) +#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST)) +#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass)) + +typedef struct _SortedList SortedList; +typedef struct _SortedListClass SortedListClass; + +#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ()) +#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob)) +#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) +#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB)) +#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB)) +#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) + +typedef struct _BatchImportJob BatchImportJob; +typedef struct _BatchImportJobClass BatchImportJobClass; + +#define SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB (spit_data_imports_data_import_job_get_type ()) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJobClass)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJobClass)) + +typedef struct _SpitDataImportsDataImportJob SpitDataImportsDataImportJob; +typedef struct _SpitDataImportsDataImportJobClass SpitDataImportsDataImportJobClass; + +#define SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE (spit_data_imports_data_import_source_get_type ()) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSource)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourceClass)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE)) +#define SPIT_DATA_IMPORTS_DATA_IMPORT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_SOURCE, SpitDataImportsDataImportSourceClass)) + +typedef struct _SpitDataImportsDataImportSource SpitDataImportsDataImportSource; +typedef struct _SpitDataImportsDataImportSourceClass SpitDataImportsDataImportSourceClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL))) +#define _spit_data_imports_data_import_source_unref0(var) ((var == NULL) ? NULL : (var = (spit_data_imports_data_import_source_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_BATCH_IMPORT (batch_import_get_type ()) +#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport)) +#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass)) +#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT)) +#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT)) +#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass)) + +typedef struct _BatchImport BatchImport; +typedef struct _BatchImportClass BatchImportClass; + +#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ()) +#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest)) +#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass)) +#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST)) +#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST)) +#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass)) + +typedef struct _ImportManifest ImportManifest; +typedef struct _ImportManifestClass ImportManifestClass; + +#define 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_LIBRARY_WINDOW (library_window_get_type ()) +#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow)) +#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) +#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW)) +#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW)) +#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) + +typedef struct _LibraryWindow LibraryWindow; +typedef struct _LibraryWindowClass LibraryWindowClass; +typedef struct _SpitDataImportsParamSpecCoreImporter SpitDataImportsParamSpecCoreImporter; + +#define PLUGINS_TYPE_STANDARD_HOST_INTERFACE (plugins_standard_host_interface_get_type ()) +#define PLUGINS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface)) +#define PLUGINS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_STANDARD_HOST_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) + +typedef struct _PluginsStandardHostInterface PluginsStandardHostInterface; +typedef struct _PluginsStandardHostInterfaceClass PluginsStandardHostInterfaceClass; +typedef struct _PluginsStandardHostInterfacePrivate PluginsStandardHostInterfacePrivate; + +#define SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST (spit_data_imports_concrete_data_imports_host_get_type ()) +#define SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost)) +#define SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHostClass)) +#define SPIT_DATA_IMPORTS_IS_CONCRETE_DATA_IMPORTS_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST)) +#define SPIT_DATA_IMPORTS_IS_CONCRETE_DATA_IMPORTS_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST)) +#define SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHostClass)) + +typedef struct _SpitDataImportsConcreteDataImportsHost SpitDataImportsConcreteDataImportsHost; +typedef struct _SpitDataImportsConcreteDataImportsHostClass SpitDataImportsConcreteDataImportsHostClass; +typedef struct _SpitDataImportsConcreteDataImportsHostPrivate SpitDataImportsConcreteDataImportsHostPrivate; + +#define DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG (data_imports_ui_data_imports_dialog_get_type ()) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialog)) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass)) +#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG)) +#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG)) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass)) + +typedef struct _DataImportsUIDataImportsDialog DataImportsUIDataImportsDialog; +typedef struct _DataImportsUIDataImportsDialogClass DataImportsUIDataImportsDialogClass; + +#define DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE (data_imports_ui_concrete_dialog_pane_get_type ()) +#define DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPane)) +#define DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPaneClass)) +#define DATA_IMPORTS_UI_IS_CONCRETE_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE)) +#define DATA_IMPORTS_UI_IS_CONCRETE_DIALOG_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE)) +#define DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPaneClass)) + +typedef struct _DataImportsUIConcreteDialogPane DataImportsUIConcreteDialogPane; +typedef struct _DataImportsUIConcreteDialogPaneClass DataImportsUIConcreteDialogPaneClass; + +#define DATA_IMPORTS_UI_TYPE_PROGRESS_PANE (data_imports_ui_progress_pane_get_type ()) +#define DATA_IMPORTS_UI_PROGRESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, DataImportsUIProgressPane)) +#define DATA_IMPORTS_UI_PROGRESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, DataImportsUIProgressPaneClass)) +#define DATA_IMPORTS_UI_IS_PROGRESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE)) +#define DATA_IMPORTS_UI_IS_PROGRESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE)) +#define DATA_IMPORTS_UI_PROGRESS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, DataImportsUIProgressPaneClass)) + +typedef struct _DataImportsUIProgressPane DataImportsUIProgressPane; +typedef struct _DataImportsUIProgressPaneClass DataImportsUIProgressPaneClass; +#define _spit_data_imports_core_importer_unref0(var) ((var == NULL) ? NULL : (var = (spit_data_imports_core_importer_unref (var), NULL))) + +#define DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE (data_imports_ui_static_message_pane_get_type ()) +#define DATA_IMPORTS_UI_STATIC_MESSAGE_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE, DataImportsUIStaticMessagePane)) +#define DATA_IMPORTS_UI_STATIC_MESSAGE_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE, DataImportsUIStaticMessagePaneClass)) +#define DATA_IMPORTS_UI_IS_STATIC_MESSAGE_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE)) +#define DATA_IMPORTS_UI_IS_STATIC_MESSAGE_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE)) +#define DATA_IMPORTS_UI_STATIC_MESSAGE_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE, DataImportsUIStaticMessagePaneClass)) + +typedef struct _DataImportsUIStaticMessagePane DataImportsUIStaticMessagePane; +typedef struct _DataImportsUIStaticMessagePaneClass DataImportsUIStaticMessagePaneClass; + +#define DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE (data_imports_ui_library_selection_pane_get_type ()) +#define DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, DataImportsUILibrarySelectionPane)) +#define DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, DataImportsUILibrarySelectionPaneClass)) +#define DATA_IMPORTS_UI_IS_LIBRARY_SELECTION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE)) +#define DATA_IMPORTS_UI_IS_LIBRARY_SELECTION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE)) +#define DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, DataImportsUILibrarySelectionPaneClass)) + +typedef struct _DataImportsUILibrarySelectionPane DataImportsUILibrarySelectionPane; +typedef struct _DataImportsUILibrarySelectionPaneClass DataImportsUILibrarySelectionPaneClass; + +#define SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST (spit_data_imports_welcome_data_imports_host_get_type ()) +#define SPIT_DATA_IMPORTS_WELCOME_DATA_IMPORTS_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost)) +#define SPIT_DATA_IMPORTS_WELCOME_DATA_IMPORTS_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHostClass)) +#define SPIT_DATA_IMPORTS_IS_WELCOME_DATA_IMPORTS_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST)) +#define SPIT_DATA_IMPORTS_IS_WELCOME_DATA_IMPORTS_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST)) +#define SPIT_DATA_IMPORTS_WELCOME_DATA_IMPORTS_HOST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHostClass)) + +typedef struct _SpitDataImportsWelcomeDataImportsHost SpitDataImportsWelcomeDataImportsHost; +typedef struct _SpitDataImportsWelcomeDataImportsHostClass SpitDataImportsWelcomeDataImportsHostClass; +typedef struct _SpitDataImportsWelcomeDataImportsHostPrivate SpitDataImportsWelcomeDataImportsHostPrivate; + +#define SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST (spit_data_imports_welcome_import_meta_host_get_type ()) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, SpitDataImportsWelcomeImportMetaHost)) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, SpitDataImportsWelcomeImportMetaHostClass)) +#define SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_META_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST)) +#define SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_META_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST)) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, SpitDataImportsWelcomeImportMetaHostClass)) + +typedef struct _SpitDataImportsWelcomeImportMetaHost SpitDataImportsWelcomeImportMetaHost; +typedef struct _SpitDataImportsWelcomeImportMetaHostClass SpitDataImportsWelcomeImportMetaHostClass; + +#define TYPE_WELCOME_SERVICE_ENTRY (welcome_service_entry_get_type ()) +#define WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntry)) +#define IS_WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_SERVICE_ENTRY)) +#define WELCOME_SERVICE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntryIface)) + +typedef struct _WelcomeServiceEntry WelcomeServiceEntry; +typedef struct _WelcomeServiceEntryIface WelcomeServiceEntryIface; + +#define SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY (spit_data_imports_welcome_import_service_entry_get_type ()) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY, SpitDataImportsWelcomeImportServiceEntry)) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_SERVICE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY, SpitDataImportsWelcomeImportServiceEntryClass)) +#define SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY)) +#define SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_SERVICE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY)) +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_SERVICE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY, SpitDataImportsWelcomeImportServiceEntryClass)) + +typedef struct _SpitDataImportsWelcomeImportServiceEntry SpitDataImportsWelcomeImportServiceEntry; +typedef struct _SpitDataImportsWelcomeImportServiceEntryClass SpitDataImportsWelcomeImportServiceEntryClass; +typedef struct _SpitDataImportsWelcomeImportServiceEntryPrivate SpitDataImportsWelcomeImportServiceEntryPrivate; +typedef struct _SpitDataImportsWelcomeImportMetaHostPrivate SpitDataImportsWelcomeImportMetaHostPrivate; + +#define TYPE_WELCOME_DIALOG (welcome_dialog_get_type ()) +#define WELCOME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_DIALOG, WelcomeDialog)) +#define WELCOME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WELCOME_DIALOG, WelcomeDialogClass)) +#define IS_WELCOME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_DIALOG)) +#define IS_WELCOME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WELCOME_DIALOG)) +#define WELCOME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WELCOME_DIALOG, WelcomeDialogClass)) + +typedef struct _WelcomeDialog WelcomeDialog; +typedef struct _WelcomeDialogClass WelcomeDialogClass; +typedef struct _ImportManifestPrivate ImportManifestPrivate; + +#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_BATCH_IMPORT_RESULT (batch_import_result_get_type ()) +#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult)) +#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) +#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT)) +#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT)) +#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) + +typedef struct _BatchImportResult BatchImportResult; +typedef struct _BatchImportResultClass BatchImportResultClass; +#define _import_manifest_unref0(var) ((var == NULL) ? NULL : (var = (import_manifest_unref (var), NULL))) +#define _batch_import_result_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_result_unref (var), NULL))) + +#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ()) +#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams)) +#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) +#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) + +typedef struct _ImportUIQuestionParams ImportUIQuestionParams; +typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass; + +struct _SpitDataImportsCoreImporter { + GTypeInstance parent_instance; + volatile int ref_count; + SpitDataImportsCoreImporterPrivate * priv; + gint imported_items_count; + BatchImportRoll* current_import_roll; +}; + +struct _SpitDataImportsCoreImporterClass { + GTypeClass parent_class; + void (*finalize) (SpitDataImportsCoreImporter *self); +}; + +struct _SpitDataImportsCoreImporterPrivate { + SpitDataImportsPluginHost* host; +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data); +struct _SpitDataImportsParamSpecCoreImporter { + GParamSpec parent_instance; +}; + +struct _PluginsStandardHostInterface { + GObject parent_instance; + PluginsStandardHostInterfacePrivate * priv; +}; + +struct _PluginsStandardHostInterfaceClass { + GObjectClass parent_class; +}; + +struct _SpitDataImportsConcreteDataImportsHost { + PluginsStandardHostInterface parent_instance; + SpitDataImportsConcreteDataImportsHostPrivate * priv; +}; + +struct _SpitDataImportsConcreteDataImportsHostClass { + PluginsStandardHostInterfaceClass parent_class; +}; + +struct _SpitDataImportsConcreteDataImportsHostPrivate { + SpitDataImportsDataImporter* active_importer; + DataImportsUIDataImportsDialog* dialog; + DataImportsUIProgressPane* progress_pane; + gboolean importing_halted; + SpitDataImportsCoreImporter* core_importer; +}; + +struct _SpitDataImportsWelcomeDataImportsHost { + PluginsStandardHostInterface parent_instance; + SpitDataImportsWelcomeDataImportsHostPrivate * priv; +}; + +struct _SpitDataImportsWelcomeDataImportsHostClass { + PluginsStandardHostInterfaceClass parent_class; +}; + +struct _SpitDataImportsWelcomeDataImportsHostPrivate { + SpitDataImportsWelcomeImportMetaHost* meta_host; + SpitDataImportsDataImporter* active_importer; + gboolean importing_halted; + SpitDataImportsCoreImporter* core_importer; +}; + +struct _WelcomeServiceEntryIface { + GTypeInterface parent_iface; + gchar* (*get_service_name) (WelcomeServiceEntry* self); + void (*execute) (WelcomeServiceEntry* self); +}; + +struct _SpitDataImportsWelcomeImportServiceEntry { + GObject parent_instance; + SpitDataImportsWelcomeImportServiceEntryPrivate * priv; +}; + +struct _SpitDataImportsWelcomeImportServiceEntryClass { + GObjectClass parent_class; +}; + +struct _SpitDataImportsWelcomeImportServiceEntryPrivate { + gchar* pluggable_name; + SpitDataImportsImportableLibrary** discovered_libraries; + gint discovered_libraries_length1; + gint _discovered_libraries_size_; + SpitDataImportsPluginHost* host; +}; + +struct _SpitDataImportsWelcomeImportMetaHost { + GObject parent_instance; + SpitDataImportsWelcomeImportMetaHostPrivate * priv; +}; + +struct _SpitDataImportsWelcomeImportMetaHostClass { + GObjectClass parent_class; +}; + +struct _SpitDataImportsWelcomeImportMetaHostPrivate { + WelcomeDialog* dialog; +}; + +struct _ImportManifest { + GTypeInstance parent_instance; + volatile int ref_count; + ImportManifestPrivate * priv; + GeeList* imported; + GeeList* success; + GeeList* camera_failed; + GeeList* failed; + GeeList* write_failed; + GeeList* skipped_photos; + GeeList* skipped_files; + GeeList* aborted; + GeeList* already_imported; + GeeList* corrupt_files; + GeeList* all; +}; + +struct _ImportManifestClass { + GTypeClass parent_class; + void (*finalize) (ImportManifest *self); +}; + + +static gpointer spit_data_imports_core_importer_parent_class = NULL; +static gpointer spit_data_imports_concrete_data_imports_host_parent_class = NULL; +static SpitDataImportsPluginHostIface* spit_data_imports_concrete_data_imports_host_spit_data_imports_plugin_host_parent_iface = NULL; +static gpointer spit_data_imports_welcome_data_imports_host_parent_class = NULL; +static SpitDataImportsPluginHostIface* spit_data_imports_welcome_data_imports_host_spit_data_imports_plugin_host_parent_iface = NULL; +static gpointer spit_data_imports_welcome_import_service_entry_parent_class = NULL; +static WelcomeServiceEntryIface* spit_data_imports_welcome_import_service_entry_welcome_service_entry_parent_iface = NULL; +static gpointer spit_data_imports_welcome_import_meta_host_parent_class = NULL; +extern ImportManifest* spit_data_imports_meta_manifest; +ImportManifest* spit_data_imports_meta_manifest = NULL; + +gpointer spit_data_imports_core_importer_ref (gpointer instance); +void spit_data_imports_core_importer_unref (gpointer instance); +GParamSpec* spit_data_imports_param_spec_core_importer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void spit_data_imports_value_set_core_importer (GValue* value, gpointer v_object); +void spit_data_imports_value_take_core_importer (GValue* value, gpointer v_object); +gpointer spit_data_imports_value_get_core_importer (const GValue* value); +GType spit_data_imports_core_importer_get_type (void) G_GNUC_CONST; +gpointer batch_import_roll_ref (gpointer instance); +void batch_import_roll_unref (gpointer instance); +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_roll (GValue* value, gpointer v_object); +void value_take_batch_import_roll (GValue* value, gpointer v_object); +gpointer value_get_batch_import_roll (const GValue* value); +GType batch_import_roll_get_type (void) G_GNUC_CONST; +#define SPIT_DATA_IMPORTS_CORE_IMPORTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER, SpitDataImportsCoreImporterPrivate)) +enum { + SPIT_DATA_IMPORTS_CORE_IMPORTER_DUMMY_PROPERTY +}; +SpitDataImportsCoreImporter* spit_data_imports_core_importer_new (SpitDataImportsPluginHost* host); +SpitDataImportsCoreImporter* spit_data_imports_core_importer_construct (GType object_type, SpitDataImportsPluginHost* host); +void spit_data_imports_core_importer_prepare_media_items_for_import (SpitDataImportsCoreImporter* self, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message); +GType sorted_list_get_type (void) G_GNUC_CONST; +gpointer batch_import_job_ref (gpointer instance); +void batch_import_job_unref (gpointer instance); +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_job (GValue* value, gpointer v_object); +void value_take_batch_import_job (GValue* value, gpointer v_object); +gpointer value_get_batch_import_job (const GValue* value); +GType batch_import_job_get_type (void) G_GNUC_CONST; +GType spit_data_imports_data_import_job_get_type (void) G_GNUC_CONST; +gint64 spit_data_imports_import_job_comparator (void* a, void* b); +static gint64 _spit_data_imports_import_job_comparator_comparator (void* a, void* b, gpointer self); +SortedList* sorted_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +SortedList* sorted_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +gpointer spit_data_imports_data_import_source_ref (gpointer instance); +void spit_data_imports_data_import_source_unref (gpointer instance); +GParamSpec* spit_data_imports_param_spec_data_import_source (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void spit_data_imports_value_set_data_import_source (GValue* value, gpointer v_object); +void spit_data_imports_value_take_data_import_source (GValue* value, gpointer v_object); +gpointer spit_data_imports_value_get_data_import_source (const GValue* value); +GType spit_data_imports_data_import_source_get_type (void) G_GNUC_CONST; +SpitDataImportsDataImportSource* spit_data_imports_data_import_source_new (SpitDataImportsImportableMediaItem* db_photo); +SpitDataImportsDataImportSource* spit_data_imports_data_import_source_construct (GType object_type, SpitDataImportsImportableMediaItem* db_photo); +gboolean spit_data_imports_data_import_source_was_backing_file_found (SpitDataImportsDataImportSource* self); +gchar* spit_data_imports_data_import_source_get_filename (SpitDataImportsDataImportSource* self); +SpitDataImportsDataImportJob* spit_data_imports_data_import_job_new (SpitDataImportsDataImportSource* import_source); +SpitDataImportsDataImportJob* spit_data_imports_data_import_job_construct (GType object_type, SpitDataImportsDataImportSource* import_source); +gboolean spit_data_imports_data_import_source_is_already_imported (SpitDataImportsDataImportSource* self); +BatchImportRoll* batch_import_roll_new (void); +BatchImportRoll* batch_import_roll_construct (GType object_type); +GType batch_import_get_type (void) G_GNUC_CONST; +gpointer import_manifest_ref (gpointer instance); +void import_manifest_unref (gpointer instance); +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_import_manifest (GValue* value, gpointer v_object); +void value_take_import_manifest (GValue* value, gpointer v_object); +gpointer value_get_import_manifest (const GValue* value); +GType import_manifest_get_type (void) G_GNUC_CONST; +void spit_data_imports_data_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll); +static void _spit_data_imports_data_import_reporter_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self); +BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_enqueue_batch_import (LibraryWindow* self, BatchImport* batch_import, gboolean allow_user_cancel); +void spit_data_imports_core_importer_finalize_import (SpitDataImportsCoreImporter* self); +static void spit_data_imports_core_importer_finalize (SpitDataImportsCoreImporter* obj); +GType plugins_standard_host_interface_get_type (void) G_GNUC_CONST; +GType spit_data_imports_concrete_data_imports_host_get_type (void) G_GNUC_CONST; +GType data_imports_ui_data_imports_dialog_get_type (void) G_GNUC_CONST; +GType data_imports_ui_concrete_dialog_pane_get_type (void) G_GNUC_CONST; +GType data_imports_ui_progress_pane_get_type (void) G_GNUC_CONST; +#define SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHostPrivate)) +enum { + SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST_DUMMY_PROPERTY +}; +SpitDataImportsConcreteDataImportsHost* spit_data_imports_concrete_data_imports_host_new (SpitDataImportsService* service, DataImportsUIDataImportsDialog* dialog); +SpitDataImportsConcreteDataImportsHost* spit_data_imports_concrete_data_imports_host_construct (GType object_type, SpitDataImportsService* service, DataImportsUIDataImportsDialog* dialog); +PluginsStandardHostInterface* plugins_standard_host_interface_new (SpitPluggable* pluggable, const gchar* config_domain); +PluginsStandardHostInterface* plugins_standard_host_interface_construct (GType object_type, SpitPluggable* pluggable, const gchar* config_domain); +static SpitDataImportsDataImporter* spit_data_imports_concrete_data_imports_host_real_get_data_importer (SpitDataImportsPluginHost* base); +static void spit_data_imports_concrete_data_imports_host_real_start_importing (SpitDataImportsPluginHost* base); +static void spit_data_imports_concrete_data_imports_host_real_stop_importing (SpitDataImportsPluginHost* base); +static void spit_data_imports_concrete_data_imports_host_clean_up (SpitDataImportsConcreteDataImportsHost* self); +void spit_data_imports_concrete_data_imports_host_set_button_mode (SpitDataImportsConcreteDataImportsHost* self, SpitDataImportsPluginHostButtonMode mode); +void data_imports_ui_data_imports_dialog_set_close_button_mode (DataImportsUIDataImportsDialog* self); +void data_imports_ui_data_imports_dialog_set_cancel_button_mode (DataImportsUIDataImportsDialog* self); +static void spit_data_imports_concrete_data_imports_host_real_post_error (SpitDataImportsPluginHost* base, GError* err); +static void spit_data_imports_concrete_data_imports_host_real_post_error_message (SpitDataImportsPluginHost* base, const gchar* message); +void data_imports_ui_data_imports_dialog_install_pane (DataImportsUIDataImportsDialog* self, SpitDataImportsDialogPane* pane); +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_new_with_pango (const gchar* msg); +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_construct_with_pango (GType object_type, const gchar* msg); +GType data_imports_ui_static_message_pane_get_type (void) G_GNUC_CONST; +void data_imports_ui_data_imports_dialog_unlock_service (DataImportsUIDataImportsDialog* self); +static void spit_data_imports_concrete_data_imports_host_real_install_dialog_pane (SpitDataImportsPluginHost* base, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode button_mode); +static void spit_data_imports_concrete_data_imports_host_real_install_static_message_pane (SpitDataImportsPluginHost* base, const gchar* message, SpitDataImportsPluginHostButtonMode button_mode); +static void spit_data_imports_concrete_data_imports_host_real_install_library_selection_pane (SpitDataImportsPluginHost* base, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label); +DataImportsUILibrarySelectionPane* data_imports_ui_library_selection_pane_new (SpitDataImportsPluginHost* host, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label); +DataImportsUILibrarySelectionPane* data_imports_ui_library_selection_pane_construct (GType object_type, SpitDataImportsPluginHost* host, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label); +GType data_imports_ui_library_selection_pane_get_type (void) G_GNUC_CONST; +static void spit_data_imports_concrete_data_imports_host_real_install_import_progress_pane (SpitDataImportsPluginHost* base, const gchar* message); +DataImportsUIProgressPane* data_imports_ui_progress_pane_new (const gchar* message); +DataImportsUIProgressPane* data_imports_ui_progress_pane_construct (GType object_type, const gchar* message); +static void spit_data_imports_concrete_data_imports_host_real_update_import_progress_pane (SpitDataImportsPluginHost* base, gdouble progress, const gchar* progress_message); +void data_imports_ui_progress_pane_update_progress (DataImportsUIProgressPane* self, gdouble progress, const gchar* progress_message); +static void spit_data_imports_concrete_data_imports_host_real_prepare_media_items_for_import (SpitDataImportsPluginHost* base, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message); +static void spit_data_imports_concrete_data_imports_host_real_finalize_import (SpitDataImportsPluginHost* base, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message); +void library_window_switch_to_import_queue_page (LibraryWindow* self); +static void spit_data_imports_concrete_data_imports_host_finalize (GObject* obj); +GType spit_data_imports_welcome_data_imports_host_get_type (void) G_GNUC_CONST; +GType spit_data_imports_welcome_import_meta_host_get_type (void) G_GNUC_CONST; +#define SPIT_DATA_IMPORTS_WELCOME_DATA_IMPORTS_HOST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHostPrivate)) +enum { + SPIT_DATA_IMPORTS_WELCOME_DATA_IMPORTS_HOST_DUMMY_PROPERTY +}; +SpitDataImportsWelcomeDataImportsHost* spit_data_imports_welcome_data_imports_host_new (SpitDataImportsService* service, SpitDataImportsWelcomeImportMetaHost* meta_host); +SpitDataImportsWelcomeDataImportsHost* spit_data_imports_welcome_data_imports_host_construct (GType object_type, SpitDataImportsService* service, SpitDataImportsWelcomeImportMetaHost* meta_host); +static SpitDataImportsDataImporter* spit_data_imports_welcome_data_imports_host_real_get_data_importer (SpitDataImportsPluginHost* base); +static void spit_data_imports_welcome_data_imports_host_real_start_importing (SpitDataImportsPluginHost* base); +static void spit_data_imports_welcome_data_imports_host_real_stop_importing (SpitDataImportsPluginHost* base); +static void spit_data_imports_welcome_data_imports_host_clean_up (SpitDataImportsWelcomeDataImportsHost* self); +static void spit_data_imports_welcome_data_imports_host_real_post_error (SpitDataImportsPluginHost* base, GError* err); +static void spit_data_imports_welcome_data_imports_host_real_post_error_message (SpitDataImportsPluginHost* base, const gchar* message); +static void spit_data_imports_welcome_data_imports_host_real_install_dialog_pane (SpitDataImportsPluginHost* base, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode button_mode); +static void spit_data_imports_welcome_data_imports_host_real_install_static_message_pane (SpitDataImportsPluginHost* base, const gchar* message, SpitDataImportsPluginHostButtonMode button_mode); +static void spit_data_imports_welcome_data_imports_host_real_install_library_selection_pane (SpitDataImportsPluginHost* base, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label); +GType welcome_service_entry_get_type (void) G_GNUC_CONST; +void spit_data_imports_welcome_import_meta_host_install_service_entry (SpitDataImportsWelcomeImportMetaHost* self, WelcomeServiceEntry* entry); +SpitDataImportsWelcomeImportServiceEntry* spit_data_imports_welcome_import_service_entry_new (SpitDataImportsPluginHost* host, const gchar* pluggable_name, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1); +SpitDataImportsWelcomeImportServiceEntry* spit_data_imports_welcome_import_service_entry_construct (GType object_type, SpitDataImportsPluginHost* host, const gchar* pluggable_name, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1); +GType spit_data_imports_welcome_import_service_entry_get_type (void) G_GNUC_CONST; +static void spit_data_imports_welcome_data_imports_host_real_install_import_progress_pane (SpitDataImportsPluginHost* base, const gchar* message); +static void spit_data_imports_welcome_data_imports_host_real_update_import_progress_pane (SpitDataImportsPluginHost* base, gdouble progress, const gchar* progress_message); +static void spit_data_imports_welcome_data_imports_host_real_prepare_media_items_for_import (SpitDataImportsPluginHost* base, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message); +static void spit_data_imports_welcome_data_imports_host_real_finalize_import (SpitDataImportsPluginHost* base, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message); +void spit_data_imports_welcome_import_meta_host_finalize_import (SpitDataImportsWelcomeImportMetaHost* self, SpitDataImportsWelcomeDataImportsHost* host); +static void spit_data_imports_welcome_data_imports_host_finalize (GObject* obj); +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_SERVICE_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY, SpitDataImportsWelcomeImportServiceEntryPrivate)) +enum { + SPIT_DATA_IMPORTS_WELCOME_IMPORT_SERVICE_ENTRY_DUMMY_PROPERTY +}; +static SpitDataImportsImportableLibrary** _vala_array_dup25 (SpitDataImportsImportableLibrary** self, int length); +static gchar* spit_data_imports_welcome_import_service_entry_real_get_service_name (WelcomeServiceEntry* base); +static void spit_data_imports_welcome_import_service_entry_real_execute (WelcomeServiceEntry* base); +static void spit_data_imports_welcome_import_service_entry_finalize (GObject* obj); +GType welcome_dialog_get_type (void) G_GNUC_CONST; +#define SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, SpitDataImportsWelcomeImportMetaHostPrivate)) +enum { + SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST_DUMMY_PROPERTY +}; +SpitDataImportsWelcomeImportMetaHost* spit_data_imports_welcome_import_meta_host_new (WelcomeDialog* dialog); +SpitDataImportsWelcomeImportMetaHost* spit_data_imports_welcome_import_meta_host_construct (GType object_type, WelcomeDialog* dialog); +void spit_data_imports_welcome_import_meta_host_start (SpitDataImportsWelcomeImportMetaHost* self); +SpitDataImportsService** spit_data_imports_load_all_services (int* result_length1); +gchar* welcome_service_entry_get_service_name (WelcomeServiceEntry* self); +void welcome_dialog_install_service_entry (WelcomeDialog* self, WelcomeServiceEntry* entry); +static void spit_data_imports_welcome_import_meta_host_finalize (GObject* obj); +SpitDataImportsService** spit_data_imports_load_services (gboolean load_all, int* result_length1); +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled); +gchar* plugins_get_pluggable_module_id (SpitPluggable* needle); +static void _vala_array_add151 (SpitDataImportsService*** array, int* length, int* size, SpitDataImportsService* value); +static gint __lambda21_ (void* a, void* b); +gint utf8_cs_compare (void* a, void* b); +static gint ___lambda21____compar_fn_t (void* key1, void* key2); +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; +gpointer batch_import_result_ref (gpointer instance); +void batch_import_result_unref (gpointer instance); +GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_result (GValue* value, gpointer v_object); +void value_take_batch_import_result (GValue* value, gpointer v_object); +gpointer value_get_batch_import_result (const GValue* value); +GType batch_import_result_get_type (void) G_GNUC_CONST; +ImportManifest* import_manifest_new (GeeList* prefailed, GeeList* pre_already_imported); +ImportManifest* import_manifest_construct (GType object_type, GeeList* prefailed, GeeList* pre_already_imported); +void import_manifest_add_result (ImportManifest* self, BatchImportResult* batch_result); +void data_imports_ui_data_imports_dialog_terminate_instance (void); +gpointer import_ui_question_params_ref (gpointer instance); +void import_ui_question_params_unref (gpointer instance); +GParamSpec* import_ui_param_spec_question_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void import_ui_value_set_question_params (GValue* value, gpointer v_object); +void import_ui_value_take_question_params (GValue* value, gpointer v_object); +gpointer import_ui_value_get_question_params (const GValue* value); +GType import_ui_question_params_get_type (void) G_GNUC_CONST; +gboolean import_ui_report_manifest (ImportManifest* manifest, gboolean show_dest_id, ImportUIQuestionParams* question); +time_t spit_data_imports_data_import_job_get_exposure_time (SpitDataImportsDataImportJob* self); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +SpitDataImportsCoreImporter* spit_data_imports_core_importer_construct (GType object_type, SpitDataImportsPluginHost* host) { + SpitDataImportsCoreImporter* self = NULL; + SpitDataImportsPluginHost* _tmp0_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL); +#line 14 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = (SpitDataImportsCoreImporter*) g_type_create_instance (object_type); +#line 15 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = host; +#line 15 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->host = _tmp0_; +#line 14 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return self; +#line 672 "DataImportsPluginHost.c" +} + + +SpitDataImportsCoreImporter* spit_data_imports_core_importer_new (SpitDataImportsPluginHost* host) { +#line 14 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return spit_data_imports_core_importer_construct (SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER, host); +#line 679 "DataImportsPluginHost.c" +} + + +static gint64 _spit_data_imports_import_job_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = spit_data_imports_import_job_comparator (a, b); +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 688 "DataImportsPluginHost.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return self ? g_object_ref (self) : NULL; +#line 695 "DataImportsPluginHost.c" +} + + +static void _spit_data_imports_data_import_reporter_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) { +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_data_import_reporter (manifest, import_roll); +#line 702 "DataImportsPluginHost.c" +} + + +void spit_data_imports_core_importer_prepare_media_items_for_import (SpitDataImportsCoreImporter* self, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message) { + SpitDataImportsPluginHost* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + const gchar* _tmp2_ = NULL; + SortedList* jobs = NULL; + SortedList* _tmp3_ = NULL; + GeeArrayList* already_imported = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* failed = NULL; + GeeArrayList* _tmp5_ = NULL; + gint item_idx = 0; + gdouble item_progress_delta = 0.0; + gdouble _tmp6_ = 0.0; + SpitDataImportsImportableMediaItem** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + SpitDataImportsImportableMediaItem** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + SortedList* _tmp39_ = NULL; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + SpitDataImportsPluginHost* _tmp66_ = NULL; + gdouble _tmp67_ = 0.0; + gdouble _tmp68_ = 0.0; +#line 18 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_CORE_IMPORTER (self)); +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->host; +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = progress; +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = progress_message; +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_update_import_progress_pane (_tmp0_, _tmp1_, _tmp2_); +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = sorted_list_new (SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, _spit_data_imports_import_job_comparator_comparator, NULL); +#line 26 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + jobs = _tmp3_; +#line 28 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = gee_array_list_new (SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL); +#line 28 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + already_imported = _tmp4_; +#line 30 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = gee_array_list_new (SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL); +#line 30 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + failed = _tmp5_; +#line 33 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + item_idx = 0; +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = host_progress_delta; +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = items; +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7__length1 = items_length1; +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + item_progress_delta = _tmp6_ / _tmp7__length1; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = items; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8__length1 = items_length1; +#line 765 "DataImportsPluginHost.c" + { + SpitDataImportsImportableMediaItem** src_item_collection = NULL; + gint src_item_collection_length1 = 0; + gint _src_item_collection_size_ = 0; + gint src_item_it = 0; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + src_item_collection = _tmp8_; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + src_item_collection_length1 = _tmp8__length1; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + for (src_item_it = 0; src_item_it < _tmp8__length1; src_item_it = src_item_it + 1) { +#line 777 "DataImportsPluginHost.c" + SpitDataImportsImportableMediaItem* _tmp9_ = NULL; + SpitDataImportsImportableMediaItem* src_item = NULL; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp9_ = _g_object_ref0 (src_item_collection[src_item_it]); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + src_item = _tmp9_; +#line 784 "DataImportsPluginHost.c" + { + SpitDataImportsDataImportSource* import_source = NULL; + SpitDataImportsImportableMediaItem* _tmp10_ = NULL; + SpitDataImportsDataImportSource* _tmp11_ = NULL; + SpitDataImportsDataImportSource* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + SpitDataImportsDataImportSource* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + SortedList* _tmp30_ = NULL; + SpitDataImportsDataImportSource* _tmp31_ = NULL; + SpitDataImportsDataImportJob* _tmp32_ = NULL; + SpitDataImportsDataImportJob* _tmp33_ = NULL; + gint _tmp34_ = 0; + SpitDataImportsPluginHost* _tmp35_ = NULL; + gdouble _tmp36_ = 0.0; + gint _tmp37_ = 0; + gdouble _tmp38_ = 0.0; +#line 36 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp10_ = src_item; +#line 36 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp11_ = spit_data_imports_data_import_source_new (_tmp10_); +#line 36 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + import_source = _tmp11_; +#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp12_ = import_source; +#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp13_ = spit_data_imports_data_import_source_was_backing_file_found (_tmp12_); +#line 38 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (!_tmp13_) { +#line 814 "DataImportsPluginHost.c" + SpitDataImportsDataImportSource* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GeeArrayList* _tmp17_ = NULL; + SpitDataImportsDataImportSource* _tmp18_ = NULL; + SpitDataImportsDataImportJob* _tmp19_ = NULL; + SpitDataImportsDataImportJob* _tmp20_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp14_ = import_source; +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp15_ = spit_data_imports_data_import_source_get_filename (_tmp14_); +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp16_ = _tmp15_; +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_message ("DataImportsPluginHost.vala:39: Skipping import of %s: backing file not" \ +" found", _tmp16_); +#line 39 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (_tmp16_); +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp17_ = failed; +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp18_ = import_source; +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp19_ = spit_data_imports_data_import_job_new (_tmp18_); +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp20_ = _tmp19_; +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp20_); +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _batch_import_job_unref0 (_tmp20_); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _spit_data_imports_data_import_source_unref0 (import_source); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (src_item); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + continue; +#line 850 "DataImportsPluginHost.c" + } +#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp21_ = import_source; +#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp22_ = spit_data_imports_data_import_source_is_already_imported (_tmp21_); +#line 46 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp22_) { +#line 858 "DataImportsPluginHost.c" + SpitDataImportsDataImportSource* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + GeeArrayList* _tmp26_ = NULL; + SpitDataImportsDataImportSource* _tmp27_ = NULL; + SpitDataImportsDataImportJob* _tmp28_ = NULL; + SpitDataImportsDataImportJob* _tmp29_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp23_ = import_source; +#line 47 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp24_ = spit_data_imports_data_import_source_get_filename (_tmp23_); +#line 47 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp25_ = _tmp24_; +#line 47 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_message ("DataImportsPluginHost.vala:47: Skipping import of %s: checksum detecte" \ +"d in library", _tmp25_); +#line 47 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (_tmp25_); +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp26_ = already_imported; +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp27_ = import_source; +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp28_ = spit_data_imports_data_import_job_new (_tmp27_); +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp29_ = _tmp28_; +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp29_); +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _batch_import_job_unref0 (_tmp29_); +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _spit_data_imports_data_import_source_unref0 (import_source); +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (src_item); +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + continue; +#line 894 "DataImportsPluginHost.c" + } +#line 54 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp30_ = jobs; +#line 54 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp31_ = import_source; +#line 54 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp32_ = spit_data_imports_data_import_job_new (_tmp31_); +#line 54 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp33_ = _tmp32_; +#line 54 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection), _tmp33_); +#line 54 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _batch_import_job_unref0 (_tmp33_); +#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp34_ = item_idx; +#line 55 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + item_idx = _tmp34_ + 1; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp35_ = self->priv->host; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp36_ = progress; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp37_ = item_idx; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp38_ = item_progress_delta; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_update_import_progress_pane (_tmp35_, _tmp36_ + (_tmp37_ * _tmp38_), NULL); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _spit_data_imports_data_import_source_unref0 (import_source); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (src_item); +#line 926 "DataImportsPluginHost.c" + } + } + } +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp39_ = jobs; +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp40_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp41_ = _tmp40_; +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp41_ > 0) { +#line 938 "DataImportsPluginHost.c" + BatchImportRoll* _tmp42_ = NULL; + gchar* db_name = NULL; + const gchar* _tmp44_ = NULL; + SpitDataImportsPluginHost* _tmp45_ = NULL; + SpitDataImportsDataImporter* _tmp46_ = NULL; + SpitDataImportsDataImporter* _tmp47_ = NULL; + SpitDataImportsService* _tmp48_ = NULL; + SpitDataImportsService* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + BatchImport* batch_import = NULL; + SortedList* _tmp53_ = NULL; + const gchar* _tmp54_ = NULL; + GeeArrayList* _tmp55_ = NULL; + GeeArrayList* _tmp56_ = NULL; + BatchImportRoll* _tmp57_ = NULL; + BatchImport* _tmp58_ = NULL; + LibraryWindow* _tmp59_ = NULL; + LibraryWindow* _tmp60_ = NULL; + BatchImport* _tmp61_ = NULL; + gint _tmp62_ = 0; + SortedList* _tmp63_ = NULL; + gint _tmp64_ = 0; + gint _tmp65_ = 0; +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp42_ = self->current_import_roll; +#line 63 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp42_ == NULL) { +#line 968 "DataImportsPluginHost.c" + BatchImportRoll* _tmp43_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp43_ = batch_import_roll_new (); +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _batch_import_roll_unref0 (self->current_import_roll); +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->current_import_roll = _tmp43_; +#line 976 "DataImportsPluginHost.c" + } +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp44_ = _ ("%s Database"); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp45_ = self->priv->host; +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp46_ = spit_data_imports_plugin_host_get_data_importer (_tmp45_); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp47_ = _tmp46_; +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp48_ = spit_data_imports_data_importer_get_service (_tmp47_); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp49_ = _tmp48_; +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp50_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp51_ = g_strdup_printf (_tmp44_, _tmp50_); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp52_ = _tmp51_; +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp49_); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp47_); +#line 65 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + db_name = _tmp52_; +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp53_ = jobs; +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp54_ = db_name; +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp55_ = failed; +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp56_ = already_imported; +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp57_ = self->current_import_roll; +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp58_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, GEE_TYPE_ITERABLE, GeeIterable), _tmp54_, _spit_data_imports_data_import_reporter_batch_import_import_reporter, NULL, _tmp55_, _tmp56_, NULL, _tmp57_, NULL); +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + batch_import = _tmp58_; +#line 69 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp59_ = library_window_get_app (); +#line 69 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp60_ = _tmp59_; +#line 69 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp61_ = batch_import; +#line 69 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + library_window_enqueue_batch_import (_tmp60_, _tmp61_, TRUE); +#line 69 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp60_); +#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp62_ = self->imported_items_count; +#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp63_ = jobs; +#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp64_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp65_ = _tmp64_; +#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->imported_items_count = _tmp62_ + _tmp65_; +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (batch_import); +#line 59 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (db_name); +#line 1040 "DataImportsPluginHost.c" + } +#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp66_ = self->priv->host; +#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp67_ = progress; +#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp68_ = host_progress_delta; +#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_update_import_progress_pane (_tmp66_, _tmp67_ + _tmp68_, NULL); +#line 18 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (failed); +#line 18 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (already_imported); +#line 18 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (jobs); +#line 1056 "DataImportsPluginHost.c" +} + + +void spit_data_imports_core_importer_finalize_import (SpitDataImportsCoreImporter* self) { + gchar* db_name = NULL; + const gchar* _tmp0_ = NULL; + SpitDataImportsPluginHost* _tmp1_ = NULL; + SpitDataImportsDataImporter* _tmp2_ = NULL; + SpitDataImportsDataImporter* _tmp3_ = NULL; + SpitDataImportsService* _tmp4_ = NULL; + SpitDataImportsService* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + BatchImport* batch_import = NULL; + GeeArrayList* _tmp9_ = NULL; + GeeArrayList* _tmp10_ = NULL; + BatchImportRoll* _tmp11_ = NULL; + BatchImport* _tmp12_ = NULL; + BatchImport* _tmp13_ = NULL; + LibraryWindow* _tmp14_ = NULL; + LibraryWindow* _tmp15_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_CORE_IMPORTER (self)); +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = _ ("%s Database"); +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = self->priv->host; +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_plugin_host_get_data_importer (_tmp1_); +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_data_imports_data_importer_get_service (_tmp3_); +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = _tmp4_; +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = g_strdup_printf (_tmp0_, _tmp6_); +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = _tmp7_; +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp5_); +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp3_); +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + db_name = _tmp8_; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp9_ = gee_array_list_new (TYPE_BATCH_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp10_ = _tmp9_; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp11_ = self->current_import_roll; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp12_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable), db_name, _spit_data_imports_data_import_reporter_batch_import_import_reporter, NULL, NULL, NULL, NULL, _tmp11_, NULL); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp13_ = _tmp12_; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp10_); +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + batch_import = _tmp13_; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp14_ = library_window_get_app (); +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp15_ = _tmp14_; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + library_window_enqueue_batch_import (_tmp15_, batch_import, TRUE); +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp15_); +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _batch_import_roll_unref0 (self->current_import_roll); +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->current_import_roll = NULL; +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (batch_import); +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (db_name); +#line 1135 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_value_core_importer_init (GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + value->data[0].v_pointer = NULL; +#line 1142 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_value_core_importer_free_value (GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_unref (value->data[0].v_pointer); +#line 1151 "DataImportsPluginHost.c" + } +} + + +static void spit_data_imports_value_core_importer_copy_value (const GValue* src_value, GValue* dest_value) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (src_value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + dest_value->data[0].v_pointer = spit_data_imports_core_importer_ref (src_value->data[0].v_pointer); +#line 1161 "DataImportsPluginHost.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + dest_value->data[0].v_pointer = NULL; +#line 1165 "DataImportsPluginHost.c" + } +} + + +static gpointer spit_data_imports_value_core_importer_peek_pointer (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return value->data[0].v_pointer; +#line 1173 "DataImportsPluginHost.c" +} + + +static gchar* spit_data_imports_value_core_importer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (collect_values[0].v_pointer) { +#line 1180 "DataImportsPluginHost.c" + SpitDataImportsCoreImporter* object; + object = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (object->parent_instance.g_class == NULL) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1187 "DataImportsPluginHost.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1191 "DataImportsPluginHost.c" + } +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + value->data[0].v_pointer = spit_data_imports_core_importer_ref (object); +#line 1195 "DataImportsPluginHost.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + value->data[0].v_pointer = NULL; +#line 1199 "DataImportsPluginHost.c" + } +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return NULL; +#line 1203 "DataImportsPluginHost.c" +} + + +static gchar* spit_data_imports_value_core_importer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SpitDataImportsCoreImporter** object_p; + object_p = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (!object_p) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1214 "DataImportsPluginHost.c" + } +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (!value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + *object_p = NULL; +#line 1220 "DataImportsPluginHost.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + *object_p = value->data[0].v_pointer; +#line 1224 "DataImportsPluginHost.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + *object_p = spit_data_imports_core_importer_ref (value->data[0].v_pointer); +#line 1228 "DataImportsPluginHost.c" + } +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return NULL; +#line 1232 "DataImportsPluginHost.c" +} + + +GParamSpec* spit_data_imports_param_spec_core_importer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + SpitDataImportsParamSpecCoreImporter* spec; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (g_type_is_a (object_type, SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER), NULL); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return G_PARAM_SPEC (spec); +#line 1246 "DataImportsPluginHost.c" +} + + +gpointer spit_data_imports_value_get_core_importer (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER), NULL); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return value->data[0].v_pointer; +#line 1255 "DataImportsPluginHost.c" +} + + +void spit_data_imports_value_set_core_importer (GValue* value, gpointer v_object) { + SpitDataImportsCoreImporter* old; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER)); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER)); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + value->data[0].v_pointer = v_object; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_ref (value->data[0].v_pointer); +#line 1275 "DataImportsPluginHost.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + value->data[0].v_pointer = NULL; +#line 1279 "DataImportsPluginHost.c" + } +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_unref (old); +#line 1285 "DataImportsPluginHost.c" + } +} + + +void spit_data_imports_value_take_core_importer (GValue* value, gpointer v_object) { + SpitDataImportsCoreImporter* old; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER)); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER)); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + value->data[0].v_pointer = v_object; +#line 1304 "DataImportsPluginHost.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + value->data[0].v_pointer = NULL; +#line 1308 "DataImportsPluginHost.c" + } +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_unref (old); +#line 1314 "DataImportsPluginHost.c" + } +} + + +static void spit_data_imports_core_importer_class_init (SpitDataImportsCoreImporterClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + ((SpitDataImportsCoreImporterClass *) klass)->finalize = spit_data_imports_core_importer_finalize; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_type_class_add_private (klass, sizeof (SpitDataImportsCoreImporterPrivate)); +#line 1326 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_core_importer_instance_init (SpitDataImportsCoreImporter * self) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv = SPIT_DATA_IMPORTS_CORE_IMPORTER_GET_PRIVATE (self); +#line 11 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->imported_items_count = 0; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->current_import_roll = NULL; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->ref_count = 1; +#line 1339 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_core_importer_finalize (SpitDataImportsCoreImporter* obj) { + SpitDataImportsCoreImporter * self; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_DATA_IMPORTS_TYPE_CORE_IMPORTER, SpitDataImportsCoreImporter); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_signal_handlers_destroy (self); +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _batch_import_roll_unref0 (self->current_import_roll); +#line 1351 "DataImportsPluginHost.c" +} + + +GType spit_data_imports_core_importer_get_type (void) { + static volatile gsize spit_data_imports_core_importer_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_core_importer_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { spit_data_imports_value_core_importer_init, spit_data_imports_value_core_importer_free_value, spit_data_imports_value_core_importer_copy_value, spit_data_imports_value_core_importer_peek_pointer, "p", spit_data_imports_value_core_importer_collect_value, "p", spit_data_imports_value_core_importer_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsCoreImporterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_data_imports_core_importer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitDataImportsCoreImporter), 0, (GInstanceInitFunc) spit_data_imports_core_importer_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType spit_data_imports_core_importer_type_id; + spit_data_imports_core_importer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SpitDataImportsCoreImporter", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&spit_data_imports_core_importer_type_id__volatile, spit_data_imports_core_importer_type_id); + } + return spit_data_imports_core_importer_type_id__volatile; +} + + +gpointer spit_data_imports_core_importer_ref (gpointer instance) { + SpitDataImportsCoreImporter* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_atomic_int_inc (&self->ref_count); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return instance; +#line 1376 "DataImportsPluginHost.c" +} + + +void spit_data_imports_core_importer_unref (gpointer instance) { + SpitDataImportsCoreImporter* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + SPIT_DATA_IMPORTS_CORE_IMPORTER_GET_CLASS (self)->finalize (self); +#line 9 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1389 "DataImportsPluginHost.c" + } +} + + +SpitDataImportsConcreteDataImportsHost* spit_data_imports_concrete_data_imports_host_construct (GType object_type, SpitDataImportsService* service, DataImportsUIDataImportsDialog* dialog) { + SpitDataImportsConcreteDataImportsHost * self = NULL; + SpitDataImportsService* _tmp0_ = NULL; + DataImportsUIDataImportsDialog* _tmp1_ = NULL; + SpitDataImportsService* _tmp2_ = NULL; + SpitDataImportsDataImporter* _tmp3_ = NULL; + SpitDataImportsCoreImporter* _tmp4_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (service), NULL); +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (dialog), NULL); +#line 97 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = service; +#line 97 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = (SpitDataImportsConcreteDataImportsHost*) plugins_standard_host_interface_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_PLUGGABLE, SpitPluggable), "data_imports"); +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = dialog; +#line 98 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->dialog = _tmp1_; +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = service; +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = spit_data_imports_service_create_data_importer (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->active_importer); +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->active_importer = _tmp3_; +#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_data_imports_core_importer_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _spit_data_imports_core_importer_unref0 (self->priv->core_importer); +#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->core_importer = _tmp4_; +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return self; +#line 1429 "DataImportsPluginHost.c" +} + + +SpitDataImportsConcreteDataImportsHost* spit_data_imports_concrete_data_imports_host_new (SpitDataImportsService* service, DataImportsUIDataImportsDialog* dialog) { +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return spit_data_imports_concrete_data_imports_host_construct (SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, service, dialog); +#line 1436 "DataImportsPluginHost.c" +} + + +static SpitDataImportsDataImporter* spit_data_imports_concrete_data_imports_host_real_get_data_importer (SpitDataImportsPluginHost* base) { + SpitDataImportsConcreteDataImportsHost * self; + SpitDataImportsDataImporter* result = NULL; + SpitDataImportsDataImporter* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 105 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->active_importer; +#line 105 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 105 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result = _tmp1_; +#line 105 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 1455 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_start_importing (SpitDataImportsPluginHost* base) { + SpitDataImportsConcreteDataImportsHost * self; + SpitDataImportsDataImporter* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + SpitDataImportsDataImporter* _tmp4_ = NULL; + SpitDataImportsDataImporter* _tmp5_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _tmp0_; +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_data_importer_is_running (_tmp1_); +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp1_); +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp3_) { +#line 110 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return; +#line 1483 "DataImportsPluginHost.c" + } +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:112: ConcreteDataImportsHost.start_importin" \ +"g( ): invoked."); +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = _tmp4_; +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_data_importer_start (_tmp5_); +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp5_); +#line 1495 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_stop_importing (SpitDataImportsPluginHost* base) { + SpitDataImportsConcreteDataImportsHost * self; + SpitDataImportsDataImporter* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 117 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 118 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:118: ConcreteDataImportsHost.stop_importing" \ +"( ): invoked."); +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _tmp0_; +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_data_importer_is_running (_tmp1_); +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp1_); +#line 120 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp3_) { +#line 1521 "DataImportsPluginHost.c" + SpitDataImportsDataImporter* _tmp4_ = NULL; + SpitDataImportsDataImporter* _tmp5_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = _tmp4_; +#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_data_importer_stop (_tmp5_); +#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp5_); +#line 1532 "DataImportsPluginHost.c" + } +#line 123 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_clean_up (self); +#line 125 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->importing_halted = TRUE; +#line 1538 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_clean_up (SpitDataImportsConcreteDataImportsHost* self) { +#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_CONCRETE_DATA_IMPORTS_HOST (self)); +#line 129 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->progress_pane); +#line 129 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->progress_pane = NULL; +#line 1549 "DataImportsPluginHost.c" +} + + +void spit_data_imports_concrete_data_imports_host_set_button_mode (SpitDataImportsConcreteDataImportsHost* self, SpitDataImportsPluginHostButtonMode mode) { + SpitDataImportsPluginHostButtonMode _tmp0_ = 0; +#line 132 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_CONCRETE_DATA_IMPORTS_HOST (self)); +#line 133 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = mode; +#line 133 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp0_ == SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE) { +#line 1561 "DataImportsPluginHost.c" + DataImportsUIDataImportsDialog* _tmp1_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = self->priv->dialog; +#line 134 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_set_close_button_mode (_tmp1_); +#line 1567 "DataImportsPluginHost.c" + } else { + SpitDataImportsPluginHostButtonMode _tmp2_ = 0; +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = mode; +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp2_ == SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CANCEL) { +#line 1574 "DataImportsPluginHost.c" + DataImportsUIDataImportsDialog* _tmp3_ = NULL; +#line 136 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = self->priv->dialog; +#line 136 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_set_cancel_button_mode (_tmp3_); +#line 1580 "DataImportsPluginHost.c" + } else { +#line 138 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_error ("DataImportsPluginHost.vala:138: unrecognized button mode enumeration v" \ +"alue"); +#line 1584 "DataImportsPluginHost.c" + } + } +} + + +static void spit_data_imports_concrete_data_imports_host_real_post_error (SpitDataImportsPluginHost* base, GError* err) { + SpitDataImportsConcreteDataImportsHost * self; + GError* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 144 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = err; +#line 144 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _tmp0_->message; +#line 144 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_post_error_message (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost), _tmp1_); +#line 1602 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_post_error_message (SpitDataImportsPluginHost* base, const gchar* message) { + SpitDataImportsConcreteDataImportsHost * self; + gchar* msg = NULL; + const gchar* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + SpitDataImportsService* _tmp2_ = NULL; + SpitDataImportsService* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + DataImportsUIDataImportsDialog* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + DataImportsUIStaticMessagePane* _tmp17_ = NULL; + DataImportsUIStaticMessagePane* _tmp18_ = NULL; + DataImportsUIDataImportsDialog* _tmp19_ = NULL; + DataImportsUIDataImportsDialog* _tmp20_ = NULL; + SpitDataImportsDataImporter* _tmp21_ = NULL; + SpitDataImportsDataImporter* _tmp22_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 147 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (message != NULL); +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = _ ("Importing from %s can't continue because an error occurred:"); +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = self->priv->active_importer; +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_data_importer_get_service (_tmp1_); +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = g_strdup_printf (_tmp0_, _tmp4_); +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = _tmp5_; +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp3_); +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + msg = _tmp6_; +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = msg; +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = message; +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp9_ = g_markup_printf_escaped ("\n\n%s\n\n", _tmp8_); +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp10_ = _tmp9_; +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp11_ = g_strconcat (_tmp7_, _tmp10_, NULL); +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (msg); +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + msg = _tmp11_; +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (_tmp10_); +#line 151 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp12_ = msg; +#line 151 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp13_ = _ ("To try importing from another service, select one from the above menu."); +#line 151 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp14_ = g_strconcat (_tmp12_, _tmp13_, NULL); +#line 151 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (msg); +#line 151 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + msg = _tmp14_; +#line 153 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp15_ = self->priv->dialog; +#line 153 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp16_ = msg; +#line 153 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp17_ = data_imports_ui_static_message_pane_new_with_pango (_tmp16_); +#line 153 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp18_ = _tmp17_; +#line 153 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_install_pane (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 153 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp18_); +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp19_ = self->priv->dialog; +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_set_close_button_mode (_tmp19_); +#line 155 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp20_ = self->priv->dialog; +#line 155 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_unlock_service (_tmp20_); +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp21_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp22_ = _tmp21_; +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_data_importer_stop (_tmp22_); +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp22_); +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_clean_up (self); +#line 147 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (msg); +#line 1712 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_install_dialog_pane (SpitDataImportsPluginHost* base, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode button_mode) { + SpitDataImportsConcreteDataImportsHost * self; + gboolean _tmp0_ = FALSE; + SpitDataImportsDataImporter* _tmp1_ = NULL; + SpitDataImportsDataImporter* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataImportsUIDataImportsDialog* _tmp7_ = NULL; + SpitDataImportsDialogPane* _tmp8_ = NULL; + SpitDataImportsPluginHostButtonMode _tmp9_ = 0; +#line 165 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 165 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (pane)); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:167: DataImports.PluginHost: install_dialog" \ +"_pane( ): invoked."); +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = _tmp1_; +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_ == NULL; +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp2_); +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp3_) { +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = TRUE; +#line 1743 "DataImportsPluginHost.c" + } else { + SpitDataImportsDataImporter* _tmp4_ = NULL; + SpitDataImportsDataImporter* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = _tmp4_; +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = spit_data_imports_data_importer_is_running (_tmp5_); +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = !_tmp6_; +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp5_); +#line 1758 "DataImportsPluginHost.c" + } +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp0_) { +#line 170 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return; +#line 1764 "DataImportsPluginHost.c" + } +#line 172 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = self->priv->dialog; +#line 172 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = pane; +#line 172 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_install_pane (_tmp7_, _tmp8_); +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp9_ = button_mode; +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_set_button_mode (self, _tmp9_); +#line 1776 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_install_static_message_pane (SpitDataImportsPluginHost* base, const gchar* message, SpitDataImportsPluginHostButtonMode button_mode) { + SpitDataImportsConcreteDataImportsHost * self; + SpitDataImportsPluginHostButtonMode _tmp0_ = 0; + DataImportsUIDataImportsDialog* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + DataImportsUIStaticMessagePane* _tmp3_ = NULL; + DataImportsUIStaticMessagePane* _tmp4_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 177 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (message != NULL); +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = button_mode; +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_set_button_mode (self, _tmp0_); +#line 182 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = self->priv->dialog; +#line 182 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = message; +#line 182 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = data_imports_ui_static_message_pane_new_with_pango (_tmp2_); +#line 182 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = _tmp3_; +#line 182 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_install_pane (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 182 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp4_); +#line 1807 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_install_library_selection_pane (SpitDataImportsPluginHost* base, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label) { + SpitDataImportsConcreteDataImportsHost * self; + gboolean _tmp0_ = FALSE; + SpitDataImportsImportableLibrary** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 185 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 185 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (welcome_message != NULL); +#line 190 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = discovered_libraries; +#line 190 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1__length1 = discovered_libraries_length1; +#line 190 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp1__length1 == 0) { +#line 1826 "DataImportsPluginHost.c" + const gchar* _tmp2_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = file_select_label; +#line 190 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = _tmp2_ == NULL; +#line 1832 "DataImportsPluginHost.c" + } else { +#line 190 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = FALSE; +#line 1836 "DataImportsPluginHost.c" + } +#line 190 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp0_) { +#line 191 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_post_error_message (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost), "Libraries or file option needed"); +#line 1842 "DataImportsPluginHost.c" + } else { + DataImportsUIDataImportsDialog* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + SpitDataImportsImportableLibrary** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + const gchar* _tmp6_ = NULL; + DataImportsUILibrarySelectionPane* _tmp7_ = NULL; + DataImportsUILibrarySelectionPane* _tmp8_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = self->priv->dialog; +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = welcome_message; +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = discovered_libraries; +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5__length1 = discovered_libraries_length1; +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = file_select_label; +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = data_imports_ui_library_selection_pane_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost), _tmp4_, _tmp5_, _tmp5__length1, _tmp6_); +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = _tmp7_; +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_install_pane (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 193 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp8_); +#line 1869 "DataImportsPluginHost.c" + } +#line 199 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_set_button_mode (self, SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 1873 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_install_import_progress_pane (SpitDataImportsPluginHost* base, const gchar* message) { + SpitDataImportsConcreteDataImportsHost * self; + const gchar* _tmp0_ = NULL; + DataImportsUIProgressPane* _tmp1_ = NULL; + DataImportsUIDataImportsDialog* _tmp2_ = NULL; + DataImportsUIProgressPane* _tmp3_ = NULL; + SpitDataImportsCoreImporter* _tmp4_ = NULL; + SpitDataImportsCoreImporter* _tmp5_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 202 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (message != NULL); +#line 205 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = message; +#line 205 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = data_imports_ui_progress_pane_new (_tmp0_); +#line 205 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->progress_pane); +#line 205 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->progress_pane = _tmp1_; +#line 206 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = self->priv->dialog; +#line 206 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = self->priv->progress_pane; +#line 206 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_install_pane (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 207 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_set_button_mode (self, SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 209 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = self->priv->core_importer; +#line 209 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_->imported_items_count = 0; +#line 210 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = self->priv->core_importer; +#line 210 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _batch_import_roll_unref0 (_tmp5_->current_import_roll); +#line 210 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_->current_import_roll = NULL; +#line 1915 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_update_import_progress_pane (SpitDataImportsPluginHost* base, gdouble progress, const gchar* progress_message) { + SpitDataImportsConcreteDataImportsHost * self; + DataImportsUIProgressPane* _tmp0_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 217 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->progress_pane; +#line 217 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp0_ != NULL) { +#line 1928 "DataImportsPluginHost.c" + DataImportsUIProgressPane* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + const gchar* _tmp3_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = self->priv->progress_pane; +#line 218 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = progress; +#line 218 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = progress_message; +#line 218 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_progress_pane_update_progress (_tmp1_, _tmp2_, _tmp3_); +#line 1940 "DataImportsPluginHost.c" + } +} + + +static void spit_data_imports_concrete_data_imports_host_real_prepare_media_items_for_import (SpitDataImportsPluginHost* base, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message) { + SpitDataImportsConcreteDataImportsHost * self; + SpitDataImportsCoreImporter* _tmp0_ = NULL; + SpitDataImportsImportableMediaItem** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + const gchar* _tmp4_ = NULL; +#line 222 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 228 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->core_importer; +#line 228 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = items; +#line 228 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1__length1 = items_length1; +#line 228 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = progress; +#line 228 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = host_progress_delta; +#line 228 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = progress_message; +#line 228 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_prepare_media_items_for_import (_tmp0_, _tmp1_, _tmp1__length1, _tmp2_, _tmp3_, _tmp4_); +#line 1969 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_real_finalize_import (SpitDataImportsPluginHost* base, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message) { + SpitDataImportsConcreteDataImportsHost * self; + const gchar* _tmp0_ = NULL; + SpitDataImportsCoreImporter* _tmp1_ = NULL; + SpitDataImportsImportedItemsCountCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + SpitDataImportsCoreImporter* _tmp3_ = NULL; + gint _tmp4_ = 0; + SpitDataImportsCoreImporter* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 231 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 235 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = finalize_message; +#line 235 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_update_import_progress_pane (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost), 1.0, _tmp0_); +#line 236 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_set_button_mode (self, SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 237 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = self->priv->core_importer; +#line 237 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_finalize_import (_tmp1_); +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = report_imported_items_count; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2__target = report_imported_items_count_target; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = self->priv->core_importer; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = _tmp3_->imported_items_count; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ (_tmp4_, _tmp2__target); +#line 239 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = self->priv->core_importer; +#line 239 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = _tmp5_->imported_items_count; +#line 239 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp6_ > 0) { +#line 2011 "DataImportsPluginHost.c" + LibraryWindow* _tmp7_ = NULL; + LibraryWindow* _tmp8_ = NULL; +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = library_window_get_app (); +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = _tmp7_; +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + library_window_switch_to_import_queue_page (_tmp8_); +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp8_); +#line 2022 "DataImportsPluginHost.c" + } +} + + +static void spit_data_imports_concrete_data_imports_host_class_init (SpitDataImportsConcreteDataImportsHostClass * klass) { +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_parent_class = g_type_class_peek_parent (klass); +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_type_class_add_private (klass, sizeof (SpitDataImportsConcreteDataImportsHostPrivate)); +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_OBJECT_CLASS (klass)->finalize = spit_data_imports_concrete_data_imports_host_finalize; +#line 2034 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_spit_data_imports_plugin_host_interface_init (SpitDataImportsPluginHostIface * iface) { +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_concrete_data_imports_host_spit_data_imports_plugin_host_parent_iface = g_type_interface_peek_parent (iface); +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->get_data_importer = (SpitDataImportsDataImporter* (*)(SpitDataImportsPluginHost*)) spit_data_imports_concrete_data_imports_host_real_get_data_importer; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->start_importing = (void (*)(SpitDataImportsPluginHost*)) spit_data_imports_concrete_data_imports_host_real_start_importing; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->stop_importing = (void (*)(SpitDataImportsPluginHost*)) spit_data_imports_concrete_data_imports_host_real_stop_importing; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->post_error = (void (*)(SpitDataImportsPluginHost*, GError*)) spit_data_imports_concrete_data_imports_host_real_post_error; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->post_error_message = (void (*)(SpitDataImportsPluginHost*, const gchar*)) spit_data_imports_concrete_data_imports_host_real_post_error_message; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->install_dialog_pane = (void (*)(SpitDataImportsPluginHost*, SpitDataImportsDialogPane*, SpitDataImportsPluginHostButtonMode)) spit_data_imports_concrete_data_imports_host_real_install_dialog_pane; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->install_static_message_pane = (void (*)(SpitDataImportsPluginHost*, const gchar*, SpitDataImportsPluginHostButtonMode)) spit_data_imports_concrete_data_imports_host_real_install_static_message_pane; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->install_library_selection_pane = (void (*)(SpitDataImportsPluginHost*, const gchar*, SpitDataImportsImportableLibrary**, int, const gchar*)) spit_data_imports_concrete_data_imports_host_real_install_library_selection_pane; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->install_import_progress_pane = (void (*)(SpitDataImportsPluginHost*, const gchar*)) spit_data_imports_concrete_data_imports_host_real_install_import_progress_pane; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->update_import_progress_pane = (void (*)(SpitDataImportsPluginHost*, gdouble, const gchar*)) spit_data_imports_concrete_data_imports_host_real_update_import_progress_pane; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->prepare_media_items_for_import = (void (*)(SpitDataImportsPluginHost*, SpitDataImportsImportableMediaItem**, int, gdouble, gdouble, const gchar*)) spit_data_imports_concrete_data_imports_host_real_prepare_media_items_for_import; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->finalize_import = (void (*)(SpitDataImportsPluginHost*, SpitDataImportsImportedItemsCountCallback, void*, const gchar*)) spit_data_imports_concrete_data_imports_host_real_finalize_import; +#line 2065 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_instance_init (SpitDataImportsConcreteDataImportsHost * self) { +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv = SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST_GET_PRIVATE (self); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->active_importer = NULL; +#line 91 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->dialog = NULL; +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->progress_pane = NULL; +#line 93 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->importing_halted = FALSE; +#line 2080 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_concrete_data_imports_host_finalize (GObject* obj) { + SpitDataImportsConcreteDataImportsHost * self; +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost); +#line 90 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->active_importer); +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->progress_pane); +#line 94 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _spit_data_imports_core_importer_unref0 (self->priv->core_importer); +#line 87 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_OBJECT_CLASS (spit_data_imports_concrete_data_imports_host_parent_class)->finalize (obj); +#line 2096 "DataImportsPluginHost.c" +} + + +GType spit_data_imports_concrete_data_imports_host_get_type (void) { + static volatile gsize spit_data_imports_concrete_data_imports_host_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_concrete_data_imports_host_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsConcreteDataImportsHostClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_data_imports_concrete_data_imports_host_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitDataImportsConcreteDataImportsHost), 0, (GInstanceInitFunc) spit_data_imports_concrete_data_imports_host_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_plugin_host_info = { (GInterfaceInitFunc) spit_data_imports_concrete_data_imports_host_spit_data_imports_plugin_host_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType spit_data_imports_concrete_data_imports_host_type_id; + spit_data_imports_concrete_data_imports_host_type_id = g_type_register_static (PLUGINS_TYPE_STANDARD_HOST_INTERFACE, "SpitDataImportsConcreteDataImportsHost", &g_define_type_info, 0); + g_type_add_interface_static (spit_data_imports_concrete_data_imports_host_type_id, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, &spit_data_imports_plugin_host_info); + g_once_init_leave (&spit_data_imports_concrete_data_imports_host_type_id__volatile, spit_data_imports_concrete_data_imports_host_type_id); + } + return spit_data_imports_concrete_data_imports_host_type_id__volatile; +} + + +SpitDataImportsWelcomeDataImportsHost* spit_data_imports_welcome_data_imports_host_construct (GType object_type, SpitDataImportsService* service, SpitDataImportsWelcomeImportMetaHost* meta_host) { + SpitDataImportsWelcomeDataImportsHost * self = NULL; + SpitDataImportsService* _tmp0_ = NULL; + SpitDataImportsService* _tmp1_ = NULL; + SpitDataImportsDataImporter* _tmp2_ = NULL; + SpitDataImportsCoreImporter* _tmp3_ = NULL; + SpitDataImportsWelcomeImportMetaHost* _tmp4_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (service), NULL); +#line 252 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_META_HOST (meta_host), NULL); +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = service; +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = (SpitDataImportsWelcomeDataImportsHost*) plugins_standard_host_interface_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_PLUGGABLE, SpitPluggable), "data_imports"); +#line 255 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = service; +#line 255 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_service_create_data_importer (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 255 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->active_importer); +#line 255 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->active_importer = _tmp2_; +#line 256 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = spit_data_imports_core_importer_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 256 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _spit_data_imports_core_importer_unref0 (self->priv->core_importer); +#line 256 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->core_importer = _tmp3_; +#line 257 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = meta_host; +#line 257 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->meta_host = _tmp4_; +#line 252 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return self; +#line 2149 "DataImportsPluginHost.c" +} + + +SpitDataImportsWelcomeDataImportsHost* spit_data_imports_welcome_data_imports_host_new (SpitDataImportsService* service, SpitDataImportsWelcomeImportMetaHost* meta_host) { +#line 252 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return spit_data_imports_welcome_data_imports_host_construct (SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, service, meta_host); +#line 2156 "DataImportsPluginHost.c" +} + + +static SpitDataImportsDataImporter* spit_data_imports_welcome_data_imports_host_real_get_data_importer (SpitDataImportsPluginHost* base) { + SpitDataImportsWelcomeDataImportsHost * self; + SpitDataImportsDataImporter* result = NULL; + SpitDataImportsDataImporter* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 261 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->active_importer; +#line 261 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 261 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result = _tmp1_; +#line 261 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 2175 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_start_importing (SpitDataImportsPluginHost* base) { + SpitDataImportsWelcomeDataImportsHost * self; + SpitDataImportsDataImporter* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + SpitDataImportsDataImporter* _tmp4_ = NULL; + SpitDataImportsDataImporter* _tmp5_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 265 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 265 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _tmp0_; +#line 265 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_data_importer_is_running (_tmp1_); +#line 265 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 265 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp1_); +#line 265 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp3_) { +#line 266 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return; +#line 2203 "DataImportsPluginHost.c" + } +#line 268 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:268: WelcomeDataImportsHost.start_importing" \ +"( ): invoked."); +#line 270 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 270 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = _tmp4_; +#line 270 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_data_importer_start (_tmp5_); +#line 270 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp5_); +#line 2215 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_stop_importing (SpitDataImportsPluginHost* base) { + SpitDataImportsWelcomeDataImportsHost * self; + SpitDataImportsDataImporter* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 273 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 274 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:274: WelcomeDataImportsHost.stop_importing(" \ +" ): invoked."); +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _tmp0_; +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_data_importer_is_running (_tmp1_); +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp1_); +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp3_) { +#line 2241 "DataImportsPluginHost.c" + SpitDataImportsDataImporter* _tmp4_ = NULL; + SpitDataImportsDataImporter* _tmp5_ = NULL; +#line 277 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 277 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = _tmp4_; +#line 277 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_data_importer_stop (_tmp5_); +#line 277 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp5_); +#line 2252 "DataImportsPluginHost.c" + } +#line 279 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_data_imports_host_clean_up (self); +#line 281 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->importing_halted = TRUE; +#line 2258 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_clean_up (SpitDataImportsWelcomeDataImportsHost* self) { +#line 284 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_WELCOME_DATA_IMPORTS_HOST (self)); +#line 2265 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_post_error (SpitDataImportsPluginHost* base, GError* err) { + SpitDataImportsWelcomeDataImportsHost * self; + GError* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 289 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 290 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = err; +#line 290 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _tmp0_->message; +#line 290 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_post_error_message (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost), _tmp1_); +#line 2281 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_post_error_message (SpitDataImportsPluginHost* base, const gchar* message) { + SpitDataImportsWelcomeDataImportsHost * self; + gchar* msg = NULL; + const gchar* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + SpitDataImportsService* _tmp2_ = NULL; + SpitDataImportsService* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + SpitDataImportsDataImporter* _tmp7_ = NULL; + SpitDataImportsDataImporter* _tmp8_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 293 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (message != NULL); +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = _ ("Importing from %s can't continue because an error occurred:"); +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = self->priv->active_importer; +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_data_importer_get_service (_tmp1_); +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = g_strdup_printf (_tmp0_, _tmp4_); +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = _tmp5_; +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp3_); +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + msg = _tmp6_; +#line 297 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:297: %s", msg); +#line 299 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 299 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = _tmp7_; +#line 299 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_data_importer_stop (_tmp8_); +#line 299 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp8_); +#line 304 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_data_imports_host_clean_up (self); +#line 293 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (msg); +#line 2333 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_install_dialog_pane (SpitDataImportsPluginHost* base, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode button_mode) { + SpitDataImportsWelcomeDataImportsHost * self; +#line 307 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 307 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (pane)); +#line 2343 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_install_static_message_pane (SpitDataImportsPluginHost* base, const gchar* message, SpitDataImportsPluginHostButtonMode button_mode) { + SpitDataImportsWelcomeDataImportsHost * self; +#line 312 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 312 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (message != NULL); +#line 2353 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_install_library_selection_pane (SpitDataImportsPluginHost* base, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label) { + SpitDataImportsWelcomeDataImportsHost * self; + SpitDataImportsDataImporter* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + SpitDataImportsService* _tmp2_ = NULL; + SpitDataImportsService* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + SpitDataImportsImportableLibrary** _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 317 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 317 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (welcome_message != NULL); +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _tmp0_; +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = spit_data_imports_data_importer_get_service (_tmp1_); +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = g_strdup_printf ("WelcomeDataImportsHost: Installing library selection pane for %s", _tmp4_); +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = _tmp5_; +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:322: %s", _tmp6_); +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (_tmp6_); +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp3_); +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp1_); +#line 323 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = discovered_libraries; +#line 323 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7__length1 = discovered_libraries_length1; +#line 323 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp7__length1 > 0) { +#line 2400 "DataImportsPluginHost.c" + SpitDataImportsWelcomeImportMetaHost* _tmp8_ = NULL; + SpitDataImportsDataImporter* _tmp9_ = NULL; + SpitDataImportsDataImporter* _tmp10_ = NULL; + SpitDataImportsService* _tmp11_ = NULL; + SpitDataImportsService* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + SpitDataImportsImportableLibrary** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + SpitDataImportsWelcomeImportServiceEntry* _tmp15_ = NULL; + SpitDataImportsWelcomeImportServiceEntry* _tmp16_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = self->priv->meta_host; +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp9_ = spit_data_imports_plugin_host_get_data_importer (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp10_ = _tmp9_; +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp11_ = spit_data_imports_data_importer_get_service (_tmp10_); +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp12_ = _tmp11_; +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp13_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp14_ = discovered_libraries; +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp14__length1 = discovered_libraries_length1; +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp15_ = spit_data_imports_welcome_import_service_entry_new (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost), _tmp13_, _tmp14_, _tmp14__length1); +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp16_ = _tmp15_; +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_import_meta_host_install_service_entry (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntry)); +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp16_); +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp12_); +#line 324 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp10_); +#line 2439 "DataImportsPluginHost.c" + } +} + + +static void spit_data_imports_welcome_data_imports_host_real_install_import_progress_pane (SpitDataImportsPluginHost* base, const gchar* message) { + SpitDataImportsWelcomeDataImportsHost * self; +#line 332 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 332 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (message != NULL); +#line 2450 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_update_import_progress_pane (SpitDataImportsPluginHost* base, gdouble progress, const gchar* progress_message) { + SpitDataImportsWelcomeDataImportsHost * self; +#line 338 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 2458 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_prepare_media_items_for_import (SpitDataImportsPluginHost* base, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message) { + SpitDataImportsWelcomeDataImportsHost * self; + SpitDataImportsCoreImporter* _tmp0_ = NULL; + SpitDataImportsImportableMediaItem** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + const gchar* _tmp4_ = NULL; +#line 345 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->core_importer; +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = items; +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1__length1 = items_length1; +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = progress; +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = host_progress_delta; +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = progress_message; +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_prepare_media_items_for_import (_tmp0_, _tmp1_, _tmp1__length1, _tmp2_, _tmp3_, _tmp4_); +#line 2486 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_real_finalize_import (SpitDataImportsPluginHost* base, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message) { + SpitDataImportsWelcomeDataImportsHost * self; + SpitDataImportsCoreImporter* _tmp0_ = NULL; + SpitDataImportsImportedItemsCountCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + SpitDataImportsCoreImporter* _tmp2_ = NULL; + gint _tmp3_ = 0; + SpitDataImportsWelcomeImportMetaHost* _tmp4_ = NULL; +#line 354 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 358 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->core_importer; +#line 358 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_core_importer_finalize_import (_tmp0_); +#line 359 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = report_imported_items_count; +#line 359 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1__target = report_imported_items_count_target; +#line 359 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = self->priv->core_importer; +#line 359 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_->imported_items_count; +#line 359 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ (_tmp3_, _tmp1__target); +#line 360 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = self->priv->meta_host; +#line 360 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_import_meta_host_finalize_import (_tmp4_, self); +#line 2518 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_class_init (SpitDataImportsWelcomeDataImportsHostClass * klass) { +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_data_imports_host_parent_class = g_type_class_peek_parent (klass); +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_type_class_add_private (klass, sizeof (SpitDataImportsWelcomeDataImportsHostPrivate)); +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_OBJECT_CLASS (klass)->finalize = spit_data_imports_welcome_data_imports_host_finalize; +#line 2529 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_spit_data_imports_plugin_host_interface_init (SpitDataImportsPluginHostIface * iface) { +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_data_imports_host_spit_data_imports_plugin_host_parent_iface = g_type_interface_peek_parent (iface); +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->get_data_importer = (SpitDataImportsDataImporter* (*)(SpitDataImportsPluginHost*)) spit_data_imports_welcome_data_imports_host_real_get_data_importer; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->start_importing = (void (*)(SpitDataImportsPluginHost*)) spit_data_imports_welcome_data_imports_host_real_start_importing; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->stop_importing = (void (*)(SpitDataImportsPluginHost*)) spit_data_imports_welcome_data_imports_host_real_stop_importing; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->post_error = (void (*)(SpitDataImportsPluginHost*, GError*)) spit_data_imports_welcome_data_imports_host_real_post_error; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->post_error_message = (void (*)(SpitDataImportsPluginHost*, const gchar*)) spit_data_imports_welcome_data_imports_host_real_post_error_message; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->install_dialog_pane = (void (*)(SpitDataImportsPluginHost*, SpitDataImportsDialogPane*, SpitDataImportsPluginHostButtonMode)) spit_data_imports_welcome_data_imports_host_real_install_dialog_pane; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->install_static_message_pane = (void (*)(SpitDataImportsPluginHost*, const gchar*, SpitDataImportsPluginHostButtonMode)) spit_data_imports_welcome_data_imports_host_real_install_static_message_pane; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->install_library_selection_pane = (void (*)(SpitDataImportsPluginHost*, const gchar*, SpitDataImportsImportableLibrary**, int, const gchar*)) spit_data_imports_welcome_data_imports_host_real_install_library_selection_pane; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->install_import_progress_pane = (void (*)(SpitDataImportsPluginHost*, const gchar*)) spit_data_imports_welcome_data_imports_host_real_install_import_progress_pane; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->update_import_progress_pane = (void (*)(SpitDataImportsPluginHost*, gdouble, const gchar*)) spit_data_imports_welcome_data_imports_host_real_update_import_progress_pane; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->prepare_media_items_for_import = (void (*)(SpitDataImportsPluginHost*, SpitDataImportsImportableMediaItem**, int, gdouble, gdouble, const gchar*)) spit_data_imports_welcome_data_imports_host_real_prepare_media_items_for_import; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->finalize_import = (void (*)(SpitDataImportsPluginHost*, SpitDataImportsImportedItemsCountCallback, void*, const gchar*)) spit_data_imports_welcome_data_imports_host_real_finalize_import; +#line 2560 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_instance_init (SpitDataImportsWelcomeDataImportsHost * self) { +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv = SPIT_DATA_IMPORTS_WELCOME_DATA_IMPORTS_HOST_GET_PRIVATE (self); +#line 248 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->active_importer = NULL; +#line 249 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->importing_halted = FALSE; +#line 2571 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_data_imports_host_finalize (GObject* obj) { + SpitDataImportsWelcomeDataImportsHost * self; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_DATA_IMPORTS_TYPE_WELCOME_DATA_IMPORTS_HOST, SpitDataImportsWelcomeDataImportsHost); +#line 248 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->active_importer); +#line 250 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _spit_data_imports_core_importer_unref0 (self->priv->core_importer); +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_OBJECT_CLASS (spit_data_imports_welcome_data_imports_host_parent_class)->finalize (obj); +#line 2585 "DataImportsPluginHost.c" +} + + +GType spit_data_imports_welcome_data_imports_host_get_type (void) { + static volatile gsize spit_data_imports_welcome_data_imports_host_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_welcome_data_imports_host_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsWelcomeDataImportsHostClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_data_imports_welcome_data_imports_host_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitDataImportsWelcomeDataImportsHost), 0, (GInstanceInitFunc) spit_data_imports_welcome_data_imports_host_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_plugin_host_info = { (GInterfaceInitFunc) spit_data_imports_welcome_data_imports_host_spit_data_imports_plugin_host_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType spit_data_imports_welcome_data_imports_host_type_id; + spit_data_imports_welcome_data_imports_host_type_id = g_type_register_static (PLUGINS_TYPE_STANDARD_HOST_INTERFACE, "SpitDataImportsWelcomeDataImportsHost", &g_define_type_info, 0); + g_type_add_interface_static (spit_data_imports_welcome_data_imports_host_type_id, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, &spit_data_imports_plugin_host_info); + g_once_init_leave (&spit_data_imports_welcome_data_imports_host_type_id__volatile, spit_data_imports_welcome_data_imports_host_type_id); + } + return spit_data_imports_welcome_data_imports_host_type_id__volatile; +} + + +static SpitDataImportsImportableLibrary** _vala_array_dup25 (SpitDataImportsImportableLibrary** self, int length) { + SpitDataImportsImportableLibrary** result; + int i; +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result = g_new0 (SpitDataImportsImportableLibrary*, length + 1); +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + for (i = 0; i < length; i++) { +#line 2610 "DataImportsPluginHost.c" + SpitDataImportsImportableLibrary* _tmp0_ = NULL; +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result[i] = _tmp0_; +#line 2616 "DataImportsPluginHost.c" + } +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 2620 "DataImportsPluginHost.c" +} + + +SpitDataImportsWelcomeImportServiceEntry* spit_data_imports_welcome_import_service_entry_construct (GType object_type, SpitDataImportsPluginHost* host, const gchar* pluggable_name, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1) { + SpitDataImportsWelcomeImportServiceEntry * self = NULL; + SpitDataImportsPluginHost* _tmp0_ = NULL; + SpitDataImportsPluginHost* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + SpitDataImportsImportableLibrary** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + SpitDataImportsImportableLibrary** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 372 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL); +#line 372 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (pluggable_name != NULL, NULL); +#line 372 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = (SpitDataImportsWelcomeImportServiceEntry*) g_object_new (object_type, NULL); +#line 376 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = host; +#line 376 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 376 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->host); +#line 376 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->host = _tmp1_; +#line 377 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = pluggable_name; +#line 377 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 377 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (self->priv->pluggable_name); +#line 377 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->pluggable_name = _tmp3_; +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = discovered_libraries; +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4__length1 = discovered_libraries_length1; +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = (_tmp4_ != NULL) ? _vala_array_dup25 (_tmp4_, _tmp4__length1) : ((gpointer) _tmp4_); +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5__length1 = _tmp4__length1; +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->discovered_libraries = (_vala_array_free (self->priv->discovered_libraries, self->priv->discovered_libraries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->discovered_libraries = _tmp5_; +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->discovered_libraries_length1 = _tmp5__length1; +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->_discovered_libraries_size_ = self->priv->discovered_libraries_length1; +#line 372 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return self; +#line 2674 "DataImportsPluginHost.c" +} + + +SpitDataImportsWelcomeImportServiceEntry* spit_data_imports_welcome_import_service_entry_new (SpitDataImportsPluginHost* host, const gchar* pluggable_name, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1) { +#line 372 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return spit_data_imports_welcome_import_service_entry_construct (SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY, host, pluggable_name, discovered_libraries, discovered_libraries_length1); +#line 2681 "DataImportsPluginHost.c" +} + + +static gchar* spit_data_imports_welcome_import_service_entry_real_get_service_name (WelcomeServiceEntry* base) { + SpitDataImportsWelcomeImportServiceEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY, SpitDataImportsWelcomeImportServiceEntry); +#line 382 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->pluggable_name; +#line 382 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 382 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result = _tmp1_; +#line 382 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 2700 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_import_service_entry_real_execute (WelcomeServiceEntry* base) { + SpitDataImportsWelcomeImportServiceEntry * self; + SpitDataImportsImportableLibrary** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 385 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY, SpitDataImportsWelcomeImportServiceEntry); +#line 386 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = self->priv->discovered_libraries; +#line 386 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0__length1 = self->priv->discovered_libraries_length1; +#line 2714 "DataImportsPluginHost.c" + { + SpitDataImportsImportableLibrary** library_collection = NULL; + gint library_collection_length1 = 0; + gint _library_collection_size_ = 0; + gint library_it = 0; +#line 386 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + library_collection = _tmp0_; +#line 386 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + library_collection_length1 = _tmp0__length1; +#line 386 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + for (library_it = 0; library_it < _tmp0__length1; library_it = library_it + 1) { +#line 2726 "DataImportsPluginHost.c" + SpitDataImportsImportableLibrary* _tmp1_ = NULL; + SpitDataImportsImportableLibrary* library = NULL; +#line 386 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _g_object_ref0 (library_collection[library_it]); +#line 386 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + library = _tmp1_; +#line 2733 "DataImportsPluginHost.c" + { + SpitDataImportsPluginHost* _tmp2_ = NULL; + SpitDataImportsDataImporter* _tmp3_ = NULL; + SpitDataImportsDataImporter* _tmp4_ = NULL; + SpitDataImportsImportableLibrary* _tmp5_ = NULL; +#line 387 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = self->priv->host; +#line 387 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = spit_data_imports_plugin_host_get_data_importer (_tmp2_); +#line 387 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = _tmp3_; +#line 387 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = library; +#line 387 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_data_importer_on_library_selected (_tmp4_, _tmp5_); +#line 387 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_tmp4_); +#line 386 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (library); +#line 2753 "DataImportsPluginHost.c" + } + } + } +} + + +static void spit_data_imports_welcome_import_service_entry_class_init (SpitDataImportsWelcomeImportServiceEntryClass * klass) { +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_import_service_entry_parent_class = g_type_class_peek_parent (klass); +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_type_class_add_private (klass, sizeof (SpitDataImportsWelcomeImportServiceEntryPrivate)); +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_OBJECT_CLASS (klass)->finalize = spit_data_imports_welcome_import_service_entry_finalize; +#line 2767 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_import_service_entry_welcome_service_entry_interface_init (WelcomeServiceEntryIface * iface) { +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_import_service_entry_welcome_service_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->get_service_name = (gchar* (*)(WelcomeServiceEntry*)) spit_data_imports_welcome_import_service_entry_real_get_service_name; +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + iface->execute = (void (*)(WelcomeServiceEntry*)) spit_data_imports_welcome_import_service_entry_real_execute; +#line 2778 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_import_service_entry_instance_init (SpitDataImportsWelcomeImportServiceEntry * self) { +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv = SPIT_DATA_IMPORTS_WELCOME_IMPORT_SERVICE_ENTRY_GET_PRIVATE (self); +#line 2785 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_import_service_entry_finalize (GObject* obj) { + SpitDataImportsWelcomeImportServiceEntry * self; +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_SERVICE_ENTRY, SpitDataImportsWelcomeImportServiceEntry); +#line 368 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (self->priv->pluggable_name); +#line 369 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->discovered_libraries = (_vala_array_free (self->priv->discovered_libraries, self->priv->discovered_libraries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 370 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->host); +#line 367 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_OBJECT_CLASS (spit_data_imports_welcome_import_service_entry_parent_class)->finalize (obj); +#line 2801 "DataImportsPluginHost.c" +} + + +GType spit_data_imports_welcome_import_service_entry_get_type (void) { + static volatile gsize spit_data_imports_welcome_import_service_entry_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_welcome_import_service_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsWelcomeImportServiceEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_data_imports_welcome_import_service_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitDataImportsWelcomeImportServiceEntry), 0, (GInstanceInitFunc) spit_data_imports_welcome_import_service_entry_instance_init, NULL }; + static const GInterfaceInfo welcome_service_entry_info = { (GInterfaceInitFunc) spit_data_imports_welcome_import_service_entry_welcome_service_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType spit_data_imports_welcome_import_service_entry_type_id; + spit_data_imports_welcome_import_service_entry_type_id = g_type_register_static (G_TYPE_OBJECT, "SpitDataImportsWelcomeImportServiceEntry", &g_define_type_info, 0); + g_type_add_interface_static (spit_data_imports_welcome_import_service_entry_type_id, TYPE_WELCOME_SERVICE_ENTRY, &welcome_service_entry_info); + g_once_init_leave (&spit_data_imports_welcome_import_service_entry_type_id__volatile, spit_data_imports_welcome_import_service_entry_type_id); + } + return spit_data_imports_welcome_import_service_entry_type_id__volatile; +} + + +SpitDataImportsWelcomeImportMetaHost* spit_data_imports_welcome_import_meta_host_construct (GType object_type, WelcomeDialog* dialog) { + SpitDataImportsWelcomeImportMetaHost * self = NULL; + WelcomeDialog* _tmp0_ = NULL; + WelcomeDialog* _tmp1_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_val_if_fail (IS_WELCOME_DIALOG (dialog), NULL); +#line 395 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = (SpitDataImportsWelcomeImportMetaHost*) g_object_new (object_type, NULL); +#line 396 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = dialog; +#line 396 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 396 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->dialog); +#line 396 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv->dialog = _tmp1_; +#line 395 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return self; +#line 2837 "DataImportsPluginHost.c" +} + + +SpitDataImportsWelcomeImportMetaHost* spit_data_imports_welcome_import_meta_host_new (WelcomeDialog* dialog) { +#line 395 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return spit_data_imports_welcome_import_meta_host_construct (SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, dialog); +#line 2844 "DataImportsPluginHost.c" +} + + +void spit_data_imports_welcome_import_meta_host_start (SpitDataImportsWelcomeImportMetaHost* self) { + SpitDataImportsService** services = NULL; + gint _tmp0_ = 0; + SpitDataImportsService** _tmp1_ = NULL; + gint services_length1 = 0; + gint _services_size_ = 0; + SpitDataImportsService** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 399 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_META_HOST (self)); +#line 400 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = spit_data_imports_load_all_services (&_tmp0_); +#line 400 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + services = _tmp1_; +#line 400 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + services_length1 = _tmp0_; +#line 400 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _services_size_ = services_length1; +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = services; +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2__length1 = services_length1; +#line 2870 "DataImportsPluginHost.c" + { + SpitDataImportsService** service_collection = NULL; + gint service_collection_length1 = 0; + gint _service_collection_size_ = 0; + gint service_it = 0; +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + service_collection = _tmp2_; +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + service_collection_length1 = _tmp2__length1; +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + for (service_it = 0; service_it < _tmp2__length1; service_it = service_it + 1) { +#line 2882 "DataImportsPluginHost.c" + SpitDataImportsService* _tmp3_ = NULL; + SpitDataImportsService* service = NULL; +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _g_object_ref0 (service_collection[service_it]); +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + service = _tmp3_; +#line 2889 "DataImportsPluginHost.c" + { + SpitDataImportsWelcomeDataImportsHost* host = NULL; + SpitDataImportsService* _tmp4_ = NULL; + SpitDataImportsWelcomeDataImportsHost* _tmp5_ = NULL; + SpitDataImportsWelcomeDataImportsHost* _tmp6_ = NULL; +#line 402 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = service; +#line 402 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = spit_data_imports_welcome_data_imports_host_new (_tmp4_, self); +#line 402 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + host = _tmp5_; +#line 403 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = host; +#line 403 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_start_importing (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (host); +#line 401 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (service); +#line 2909 "DataImportsPluginHost.c" + } + } + } +#line 399 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + services = (_vala_array_free (services, services_length1, (GDestroyNotify) g_object_unref), NULL); +#line 2915 "DataImportsPluginHost.c" +} + + +void spit_data_imports_welcome_import_meta_host_finalize_import (SpitDataImportsWelcomeImportMetaHost* self, SpitDataImportsWelcomeDataImportsHost* host) { + SpitDataImportsWelcomeDataImportsHost* _tmp0_ = NULL; +#line 407 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_META_HOST (self)); +#line 407 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_WELCOME_DATA_IMPORTS_HOST (host)); +#line 408 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = host; +#line 408 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_plugin_host_stop_importing (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 2929 "DataImportsPluginHost.c" +} + + +void spit_data_imports_welcome_import_meta_host_install_service_entry (SpitDataImportsWelcomeImportMetaHost* self, WelcomeServiceEntry* entry) { + WelcomeServiceEntry* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + WelcomeDialog* _tmp5_ = NULL; + WelcomeServiceEntry* _tmp6_ = NULL; +#line 411 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_WELCOME_IMPORT_META_HOST (self)); +#line 411 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (IS_WELCOME_SERVICE_ENTRY (entry)); +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = entry; +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = welcome_service_entry_get_service_name (_tmp0_); +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = _tmp1_; +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = g_strdup_printf ("WelcomeImportMetaHost: Installing service entry for %s", _tmp2_); +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = _tmp3_; +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:412: %s", _tmp4_); +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (_tmp4_); +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (_tmp2_); +#line 413 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = self->priv->dialog; +#line 413 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = entry; +#line 413 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + welcome_dialog_install_service_entry (_tmp5_, _tmp6_); +#line 2967 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_import_meta_host_class_init (SpitDataImportsWelcomeImportMetaHostClass * klass) { +#line 392 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_welcome_import_meta_host_parent_class = g_type_class_peek_parent (klass); +#line 392 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_type_class_add_private (klass, sizeof (SpitDataImportsWelcomeImportMetaHostPrivate)); +#line 392 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_OBJECT_CLASS (klass)->finalize = spit_data_imports_welcome_import_meta_host_finalize; +#line 2978 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_import_meta_host_instance_init (SpitDataImportsWelcomeImportMetaHost * self) { +#line 392 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self->priv = SPIT_DATA_IMPORTS_WELCOME_IMPORT_META_HOST_GET_PRIVATE (self); +#line 2985 "DataImportsPluginHost.c" +} + + +static void spit_data_imports_welcome_import_meta_host_finalize (GObject* obj) { + SpitDataImportsWelcomeImportMetaHost * self; +#line 392 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_DATA_IMPORTS_TYPE_WELCOME_IMPORT_META_HOST, SpitDataImportsWelcomeImportMetaHost); +#line 393 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (self->priv->dialog); +#line 392 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + G_OBJECT_CLASS (spit_data_imports_welcome_import_meta_host_parent_class)->finalize (obj); +#line 2997 "DataImportsPluginHost.c" +} + + +GType spit_data_imports_welcome_import_meta_host_get_type (void) { + static volatile gsize spit_data_imports_welcome_import_meta_host_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_welcome_import_meta_host_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsWelcomeImportMetaHostClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_data_imports_welcome_import_meta_host_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitDataImportsWelcomeImportMetaHost), 0, (GInstanceInitFunc) spit_data_imports_welcome_import_meta_host_instance_init, NULL }; + GType spit_data_imports_welcome_import_meta_host_type_id; + spit_data_imports_welcome_import_meta_host_type_id = g_type_register_static (G_TYPE_OBJECT, "SpitDataImportsWelcomeImportMetaHost", &g_define_type_info, 0); + g_once_init_leave (&spit_data_imports_welcome_import_meta_host_type_id__volatile, spit_data_imports_welcome_import_meta_host_type_id); + } + return spit_data_imports_welcome_import_meta_host_type_id__volatile; +} + + +SpitDataImportsService** spit_data_imports_load_all_services (int* result_length1) { + SpitDataImportsService** result = NULL; + gint _tmp0_ = 0; + SpitDataImportsService** _tmp1_ = NULL; + SpitDataImportsService** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 418 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = spit_data_imports_load_services (TRUE, &_tmp0_); +#line 418 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = _tmp1_; +#line 418 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2__length1 = _tmp0_; +#line 418 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (result_length1) { +#line 418 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + *result_length1 = _tmp2__length1; +#line 3029 "DataImportsPluginHost.c" + } +#line 418 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result = _tmp2_; +#line 418 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 3035 "DataImportsPluginHost.c" +} + + +static void _vala_array_add151 (SpitDataImportsService*** array, int* length, int* size, SpitDataImportsService* value) { +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if ((*length) == (*size)) { +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + *array = g_renew (SpitDataImportsService*, *array, (*size) + 1); +#line 3046 "DataImportsPluginHost.c" + } +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + (*array)[(*length)++] = value; +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + (*array)[*length] = NULL; +#line 3052 "DataImportsPluginHost.c" +} + + +static gint __lambda21_ (void* a, void* b) { + gint result = 0; + void* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + void* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 453 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = a; +#line 453 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (*((SpitDataImportsService**) _tmp0_), SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 453 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = b; +#line 453 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (*((SpitDataImportsService**) _tmp2_), SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 453 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = utf8_cs_compare (_tmp1_, _tmp3_); +#line 453 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result = _tmp4_; +#line 453 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 3077 "DataImportsPluginHost.c" +} + + +static gint ___lambda21____compar_fn_t (void* key1, void* key2) { + gint result; + result = __lambda21_ (key1, key2); +#line 452 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 3086 "DataImportsPluginHost.c" +} + + +SpitDataImportsService** spit_data_imports_load_services (gboolean load_all, int* result_length1) { + SpitDataImportsService** result = NULL; + SpitDataImportsService** loaded_services = NULL; + SpitDataImportsService** _tmp0_ = NULL; + gint loaded_services_length1 = 0; + gint _loaded_services_size_ = 0; + GeeCollection* pluggables = NULL; + gboolean _tmp1_ = FALSE; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + SpitDataImportsService** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + SpitDataImportsService** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + SpitDataImportsService** _tmp28_ = NULL; + gint _tmp28__length1 = 0; +#line 422 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = g_new0 (SpitDataImportsService*, 0 + 1); +#line 422 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + loaded_services = _tmp0_; +#line 422 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + loaded_services_length1 = 0; +#line 422 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _loaded_services_size_ = loaded_services_length1; +#line 425 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = load_all; +#line 425 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = plugins_get_pluggables_for_type (SPIT_DATA_IMPORTS_TYPE_SERVICE, NULL, NULL, NULL, _tmp1_); +#line 425 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + pluggables = _tmp2_; +#line 429 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = pluggables; +#line 429 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = gee_collection_get_size (_tmp3_); +#line 429 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = _tmp4_; +#line 429 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:429: DataImportsDialog: discovered %d plugg" \ +"able data import services.", _tmp5_); +#line 3130 "DataImportsPluginHost.c" + { + GeeIterator* _pluggable_it = NULL; + GeeCollection* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = pluggables; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _pluggable_it = _tmp7_; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + while (TRUE) { +#line 3143 "DataImportsPluginHost.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SpitPluggable* pluggable = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + gint pluggable_interface = 0; + SpitPluggable* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + SpitDataImportsService* service = NULL; + SpitPluggable* _tmp19_ = NULL; + SpitDataImportsService* _tmp20_ = NULL; + SpitDataImportsService* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + SpitDataImportsService** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + SpitDataImportsService* _tmp24_ = NULL; + SpitDataImportsService* _tmp25_ = NULL; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = _pluggable_it; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (!_tmp9_) { +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + break; +#line 3170 "DataImportsPluginHost.c" + } +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp10_ = _pluggable_it; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + pluggable = (SpitPluggable*) _tmp11_; +#line 432 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp12_ = pluggable; +#line 432 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp13_ = spit_pluggable_get_pluggable_interface (_tmp12_, SPIT_DATA_IMPORTS_CURRENT_INTERFACE, SPIT_DATA_IMPORTS_CURRENT_INTERFACE); +#line 432 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + pluggable_interface = _tmp13_; +#line 434 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp14_ = pluggable_interface; +#line 434 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp14_ != SPIT_DATA_IMPORTS_CURRENT_INTERFACE) { +#line 3188 "DataImportsPluginHost.c" + SpitPluggable* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 435 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp15_ = pluggable; +#line 435 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp16_ = plugins_get_pluggable_module_id (_tmp15_); +#line 435 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp17_ = _tmp16_; +#line 435 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp18_ = pluggable_interface; +#line 435 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_warning ("DataImportsPluginHost.vala:435: Unable to load data import plugin %s: " \ +"reported interface %d.", _tmp17_, _tmp18_); +#line 435 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_free0 (_tmp17_); +#line 438 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (pluggable); +#line 438 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + continue; +#line 3209 "DataImportsPluginHost.c" + } +#line 441 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp19_ = pluggable; +#line 441 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, SPIT_DATA_IMPORTS_TYPE_SERVICE, SpitDataImportsService)); +#line 441 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + service = _tmp20_; +#line 444 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp21_ = service; +#line 444 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp22_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 444 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_debug ("DataImportsPluginHost.vala:444: DataImportsDialog: discovered pluggabl" \ +"e data import service '%s'.", _tmp22_); +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp23_ = loaded_services; +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp23__length1 = loaded_services_length1; +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp24_ = service; +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp25_ = _g_object_ref0 (_tmp24_); +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _vala_array_add151 (&loaded_services, &loaded_services_length1, &_loaded_services_size_, _tmp25_); +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (service); +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (pluggable); +#line 3237 "DataImportsPluginHost.c" + } +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_pluggable_it); +#line 3241 "DataImportsPluginHost.c" + } +#line 452 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp26_ = loaded_services; +#line 452 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp26__length1 = loaded_services_length1; +#line 452 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp27_ = loaded_services; +#line 452 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp27__length1 = loaded_services_length1; +#line 452 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + qsort (_tmp26_, (gsize) _tmp27__length1, (gsize) sizeof (SpitDataImportsService*), ___lambda21____compar_fn_t); +#line 457 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp28_ = loaded_services; +#line 457 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp28__length1 = loaded_services_length1; +#line 457 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (result_length1) { +#line 457 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + *result_length1 = _tmp28__length1; +#line 3261 "DataImportsPluginHost.c" + } +#line 457 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result = _tmp28_; +#line 457 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (pluggables); +#line 457 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 3269 "DataImportsPluginHost.c" +} + + +void spit_data_imports_data_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll) { + ImportManifest* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 462 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (IS_IMPORT_MANIFEST (manifest)); +#line 462 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + g_return_if_fail (IS_BATCH_IMPORT_ROLL (import_roll)); +#line 463 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = manifest; +#line 463 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = _tmp0_->all; +#line 463 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 463 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = _tmp2_; +#line 463 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp3_ > 0) { +#line 3292 "DataImportsPluginHost.c" + ImportManifest* _tmp4_ = NULL; +#line 464 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp4_ = spit_data_imports_meta_manifest; +#line 464 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (_tmp4_ == NULL) { +#line 3298 "DataImportsPluginHost.c" + ImportManifest* _tmp5_ = NULL; +#line 465 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp5_ = import_manifest_new (NULL, NULL); +#line 465 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _import_manifest_unref0 (spit_data_imports_meta_manifest); +#line 465 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_meta_manifest = _tmp5_; +#line 3306 "DataImportsPluginHost.c" + } + { + GeeList* _result_list = NULL; + ImportManifest* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + gint _result_size = 0; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _result_index = 0; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp6_ = manifest; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp7_ = _tmp6_->all; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _result_list = _tmp8_; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp9_ = _result_list; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp11_ = _tmp10_; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _result_size = _tmp11_; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _result_index = -1; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + while (TRUE) { +#line 3338 "DataImportsPluginHost.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + BatchImportResult* _result_ = NULL; + GeeList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gpointer _tmp17_ = NULL; + ImportManifest* _tmp18_ = NULL; + BatchImportResult* _tmp19_ = NULL; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp12_ = _result_index; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _result_index = _tmp12_ + 1; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp13_ = _result_index; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp14_ = _result_size; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + if (!(_tmp13_ < _tmp14_)) { +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + break; +#line 3360 "DataImportsPluginHost.c" + } +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp15_ = _result_list; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp16_ = _result_index; +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp17_ = gee_list_get (_tmp15_, _tmp16_); +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _result_ = (BatchImportResult*) _tmp17_; +#line 467 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp18_ = spit_data_imports_meta_manifest; +#line 467 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp19_ = _result_; +#line 467 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + import_manifest_add_result (_tmp18_, _tmp19_); +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _batch_import_result_unref0 (_result_); +#line 3378 "DataImportsPluginHost.c" + } +#line 466 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _g_object_unref0 (_result_list); +#line 3382 "DataImportsPluginHost.c" + } + } else { + ImportManifest* _tmp20_ = NULL; +#line 470 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + data_imports_ui_data_imports_dialog_terminate_instance (); +#line 471 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp20_ = spit_data_imports_meta_manifest; +#line 471 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + import_ui_report_manifest (_tmp20_, TRUE, NULL); +#line 472 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _import_manifest_unref0 (spit_data_imports_meta_manifest); +#line 472 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + spit_data_imports_meta_manifest = NULL; +#line 3396 "DataImportsPluginHost.c" + } +} + + +gint64 spit_data_imports_import_job_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + time_t _tmp1_ = 0; + void* _tmp2_ = NULL; + time_t _tmp3_ = 0; +#line 477 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp0_ = a; +#line 477 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp1_ = spit_data_imports_data_import_job_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST ((SpitDataImportsDataImportJob*) _tmp0_, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob)); +#line 477 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp2_ = b; +#line 477 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + _tmp3_ = spit_data_imports_data_import_job_get_exposure_time (G_TYPE_CHECK_INSTANCE_CAST ((SpitDataImportsDataImportJob*) _tmp2_, SPIT_DATA_IMPORTS_TYPE_DATA_IMPORT_JOB, SpitDataImportsDataImportJob)); +#line 477 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + result = (gint64) (_tmp1_ - _tmp3_); +#line 477 "/home/jens/Source/shotwell/src/data_imports/DataImportsPluginHost.vala" + return result; +#line 3419 "DataImportsPluginHost.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/data_imports/DataImportsUI.c b/src/data_imports/DataImportsUI.c new file mode 100644 index 0000000..ac73508 --- /dev/null +++ b/src/data_imports/DataImportsUI.c @@ -0,0 +1,2693 @@ +/* DataImportsUI.c generated by valac 0.32.1, the Vala compiler + * generated from DataImportsUI.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include + + +#define DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE (data_imports_ui_concrete_dialog_pane_get_type ()) +#define DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPane)) +#define DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPaneClass)) +#define DATA_IMPORTS_UI_IS_CONCRETE_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE)) +#define DATA_IMPORTS_UI_IS_CONCRETE_DIALOG_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE)) +#define DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPaneClass)) + +typedef struct _DataImportsUIConcreteDialogPane DataImportsUIConcreteDialogPane; +typedef struct _DataImportsUIConcreteDialogPaneClass DataImportsUIConcreteDialogPaneClass; +typedef struct _DataImportsUIConcreteDialogPanePrivate DataImportsUIConcreteDialogPanePrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE (data_imports_ui_static_message_pane_get_type ()) +#define DATA_IMPORTS_UI_STATIC_MESSAGE_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE, DataImportsUIStaticMessagePane)) +#define DATA_IMPORTS_UI_STATIC_MESSAGE_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE, DataImportsUIStaticMessagePaneClass)) +#define DATA_IMPORTS_UI_IS_STATIC_MESSAGE_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE)) +#define DATA_IMPORTS_UI_IS_STATIC_MESSAGE_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE)) +#define DATA_IMPORTS_UI_STATIC_MESSAGE_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE, DataImportsUIStaticMessagePaneClass)) + +typedef struct _DataImportsUIStaticMessagePane DataImportsUIStaticMessagePane; +typedef struct _DataImportsUIStaticMessagePaneClass DataImportsUIStaticMessagePaneClass; +typedef struct _DataImportsUIStaticMessagePanePrivate DataImportsUIStaticMessagePanePrivate; + +#define DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE (data_imports_ui_library_selection_pane_get_type ()) +#define DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, DataImportsUILibrarySelectionPane)) +#define DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, DataImportsUILibrarySelectionPaneClass)) +#define DATA_IMPORTS_UI_IS_LIBRARY_SELECTION_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE)) +#define DATA_IMPORTS_UI_IS_LIBRARY_SELECTION_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE)) +#define DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, DataImportsUILibrarySelectionPaneClass)) + +typedef struct _DataImportsUILibrarySelectionPane DataImportsUILibrarySelectionPane; +typedef struct _DataImportsUILibrarySelectionPaneClass DataImportsUILibrarySelectionPaneClass; +typedef struct _DataImportsUILibrarySelectionPanePrivate DataImportsUILibrarySelectionPanePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _Block10Data Block10Data; +typedef struct _Block11Data Block11Data; + +#define DATA_IMPORTS_UI_TYPE_PROGRESS_PANE (data_imports_ui_progress_pane_get_type ()) +#define DATA_IMPORTS_UI_PROGRESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, DataImportsUIProgressPane)) +#define DATA_IMPORTS_UI_PROGRESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, DataImportsUIProgressPaneClass)) +#define DATA_IMPORTS_UI_IS_PROGRESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE)) +#define DATA_IMPORTS_UI_IS_PROGRESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE)) +#define DATA_IMPORTS_UI_PROGRESS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, DataImportsUIProgressPaneClass)) + +typedef struct _DataImportsUIProgressPane DataImportsUIProgressPane; +typedef struct _DataImportsUIProgressPaneClass DataImportsUIProgressPaneClass; +typedef struct _DataImportsUIProgressPanePrivate DataImportsUIProgressPanePrivate; + +#define DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG (data_imports_ui_data_imports_dialog_get_type ()) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialog)) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass)) +#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG)) +#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG)) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass)) + +typedef struct _DataImportsUIDataImportsDialog DataImportsUIDataImportsDialog; +typedef struct _DataImportsUIDataImportsDialogClass DataImportsUIDataImportsDialogClass; +typedef struct _DataImportsUIDataImportsDialogPrivate DataImportsUIDataImportsDialogPrivate; + +#define PLUGINS_TYPE_STANDARD_HOST_INTERFACE (plugins_standard_host_interface_get_type ()) +#define PLUGINS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface)) +#define PLUGINS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_STANDARD_HOST_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) + +typedef struct _PluginsStandardHostInterface PluginsStandardHostInterface; +typedef struct _PluginsStandardHostInterfaceClass PluginsStandardHostInterfaceClass; + +#define SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST (spit_data_imports_concrete_data_imports_host_get_type ()) +#define SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHost)) +#define SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHostClass)) +#define SPIT_DATA_IMPORTS_IS_CONCRETE_DATA_IMPORTS_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST)) +#define SPIT_DATA_IMPORTS_IS_CONCRETE_DATA_IMPORTS_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST)) +#define SPIT_DATA_IMPORTS_CONCRETE_DATA_IMPORTS_HOST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_DATA_IMPORTS_TYPE_CONCRETE_DATA_IMPORTS_HOST, SpitDataImportsConcreteDataImportsHostClass)) + +typedef struct _SpitDataImportsConcreteDataImportsHost SpitDataImportsConcreteDataImportsHost; +typedef struct _SpitDataImportsConcreteDataImportsHostClass SpitDataImportsConcreteDataImportsHostClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _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 _DataImportsUIConcreteDialogPane { + GObject parent_instance; + DataImportsUIConcreteDialogPanePrivate * priv; +}; + +struct _DataImportsUIConcreteDialogPaneClass { + GObjectClass parent_class; +}; + +struct _DataImportsUIConcreteDialogPanePrivate { + GtkBox* pane_widget; +}; + +struct _DataImportsUIStaticMessagePane { + DataImportsUIConcreteDialogPane parent_instance; + DataImportsUIStaticMessagePanePrivate * priv; +}; + +struct _DataImportsUIStaticMessagePaneClass { + DataImportsUIConcreteDialogPaneClass parent_class; +}; + +struct _DataImportsUILibrarySelectionPane { + DataImportsUIConcreteDialogPane parent_instance; + DataImportsUILibrarySelectionPanePrivate * priv; +}; + +struct _DataImportsUILibrarySelectionPaneClass { + DataImportsUIConcreteDialogPaneClass parent_class; +}; + +struct _DataImportsUILibrarySelectionPanePrivate { + SpitDataImportsPluginHost* host; + SpitDataImportsImportableLibrary* selected_library; + GFile* selected_file; + GtkButton* import_button; + GtkRadioButton* file_radio; +}; + +struct _Block10Data { + int _ref_count_; + DataImportsUILibrarySelectionPane* self; + GtkFileChooserButton* file_chooser; +}; + +struct _Block11Data { + int _ref_count_; + DataImportsUILibrarySelectionPane* self; + GtkRadioButton* button; + SpitDataImportsImportableLibrary* library; +}; + +struct _DataImportsUIProgressPane { + DataImportsUIConcreteDialogPane parent_instance; + DataImportsUIProgressPanePrivate * priv; +}; + +struct _DataImportsUIProgressPaneClass { + DataImportsUIConcreteDialogPaneClass parent_class; +}; + +struct _DataImportsUIProgressPanePrivate { + GtkLabel* message_label; + GtkLabel* progress_label; + GtkProgressBar* progress_bar; +}; + +struct _DataImportsUIDataImportsDialog { + GtkDialog parent_instance; + DataImportsUIDataImportsDialogPrivate * priv; +}; + +struct _DataImportsUIDataImportsDialogClass { + GtkDialogClass parent_class; +}; + +struct _DataImportsUIDataImportsDialogPrivate { + GtkComboBoxText* service_selector_box; + GtkBox* central_area_layouter; + GtkButton* close_cancel_button; + SpitDataImportsDialogPane* active_pane; + SpitDataImportsConcreteDataImportsHost* host; +}; + + +static gpointer data_imports_ui_concrete_dialog_pane_parent_class = NULL; +static SpitDataImportsDialogPaneIface* data_imports_ui_concrete_dialog_pane_spit_data_imports_dialog_pane_parent_iface = NULL; +static gpointer data_imports_ui_static_message_pane_parent_class = NULL; +static gpointer data_imports_ui_library_selection_pane_parent_class = NULL; +static gpointer data_imports_ui_progress_pane_parent_class = NULL; +static gpointer data_imports_ui_data_imports_dialog_parent_class = NULL; +static DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_instance; +static DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_instance = NULL; + +#define DATA_IMPORTS_UI_NO_PLUGINS_ENABLED_MESSAGE _ ("You do not have any data imports plugins enabled.\n" \ +"\n" \ +"In order to use the Import From Application functionality, you need to" \ +" have at least one data imports plugin enabled. Plugins can be enabled" \ +" in the Preferences dialog.") +GType data_imports_ui_concrete_dialog_pane_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPanePrivate)) +enum { + DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE_DUMMY_PROPERTY +}; +DataImportsUIConcreteDialogPane* data_imports_ui_concrete_dialog_pane_new (void); +DataImportsUIConcreteDialogPane* data_imports_ui_concrete_dialog_pane_construct (GType object_type); +static GtkWidget* data_imports_ui_concrete_dialog_pane_real_get_widget (SpitDataImportsDialogPane* base); +static SpitDataImportsDialogPaneGeometryOptions data_imports_ui_concrete_dialog_pane_real_get_preferred_geometry (SpitDataImportsDialogPane* base); +static void data_imports_ui_concrete_dialog_pane_real_on_pane_installed (SpitDataImportsDialogPane* base); +static void data_imports_ui_concrete_dialog_pane_real_on_pane_uninstalled (SpitDataImportsDialogPane* base); +static void data_imports_ui_concrete_dialog_pane_finalize (GObject* obj); +GType data_imports_ui_static_message_pane_get_type (void) G_GNUC_CONST; +enum { + DATA_IMPORTS_UI_STATIC_MESSAGE_PANE_DUMMY_PROPERTY +}; +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_new (const gchar* message_string); +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_construct (GType object_type, const gchar* message_string); +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_new_with_pango (const gchar* msg); +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_construct_with_pango (GType object_type, const gchar* msg); +GType data_imports_ui_library_selection_pane_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, DataImportsUILibrarySelectionPanePrivate)) +enum { + DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE_DUMMY_PROPERTY +}; +DataImportsUILibrarySelectionPane* data_imports_ui_library_selection_pane_new (SpitDataImportsPluginHost* host, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label); +DataImportsUILibrarySelectionPane* data_imports_ui_library_selection_pane_construct (GType object_type, SpitDataImportsPluginHost* host, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label); +static void data_imports_ui_library_selection_pane_on_file_selected (DataImportsUILibrarySelectionPane* self, GFile* file); +static GtkRadioButton* data_imports_ui_library_selection_pane_create_radio_button (DataImportsUILibrarySelectionPane* self, GtkBox* box, GtkRadioButton* group, SpitDataImportsImportableLibrary* library, const gchar* label, gint margin_left, gint margin_right); +static Block10Data* block10_data_ref (Block10Data* _data10_); +static void block10_data_unref (void * _userdata_); +static void ___lambda19_ (Block10Data* _data10_); +static void data_imports_ui_library_selection_pane_set_import_button_sensitivity (DataImportsUILibrarySelectionPane* self); +static void ____lambda19__gtk_file_chooser_selection_changed (GtkFileChooser* _sender, gpointer self); +static void __lambda20_ (DataImportsUILibrarySelectionPane* self); +static void data_imports_ui_library_selection_pane_on_library_selected (DataImportsUILibrarySelectionPane* self, SpitDataImportsImportableLibrary* library); +static void ___lambda20__gtk_button_clicked (GtkButton* _sender, gpointer self); +static Block11Data* block11_data_ref (Block11Data* _data11_); +static void block11_data_unref (void * _userdata_); +static void __lambda18_ (Block11Data* _data11_); +static void ___lambda18__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +static void data_imports_ui_library_selection_pane_finalize (GObject* obj); +GType data_imports_ui_progress_pane_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_UI_PROGRESS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, DataImportsUIProgressPanePrivate)) +enum { + DATA_IMPORTS_UI_PROGRESS_PANE_DUMMY_PROPERTY +}; +DataImportsUIProgressPane* data_imports_ui_progress_pane_new (const gchar* message); +DataImportsUIProgressPane* data_imports_ui_progress_pane_construct (GType object_type, const gchar* message); +void data_imports_ui_progress_pane_update_progress (DataImportsUIProgressPane* self, gdouble progress, const gchar* progress_message); +void spin_event_loop (void); +static void data_imports_ui_progress_pane_finalize (GObject* obj); +GType data_imports_ui_data_imports_dialog_get_type (void) G_GNUC_CONST; +GType plugins_standard_host_interface_get_type (void) G_GNUC_CONST; +GType spit_data_imports_concrete_data_imports_host_get_type (void) G_GNUC_CONST; +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogPrivate)) +enum { + DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_DUMMY_PROPERTY +}; +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_LARGE_WINDOW_WIDTH 860 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_LARGE_WINDOW_HEIGHT 688 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_COLOSSAL_WINDOW_WIDTH 1024 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_COLOSSAL_WINDOW_HEIGHT 688 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_STANDARD_WINDOW_WIDTH 600 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_STANDARD_WINDOW_HEIGHT 510 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_BORDER_REGION_WIDTH 16 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_BORDER_REGION_HEIGHT 100 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_STANDARD_CONTENT_LABEL_WIDTH 500 +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_STANDARD_ACTION_BUTTON_WIDTH 128 +DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_new (void); +DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_construct (GType object_type); +static gboolean data_imports_ui_data_imports_dialog_on_window_close (DataImportsUIDataImportsDialog* self, GdkEventAny* evt); +static gboolean _data_imports_ui_data_imports_dialog_on_window_close_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self); +SpitDataImportsService** spit_data_imports_load_services (gboolean load_all, int* result_length1); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gchar* configuration_facade_get_last_used_dataimports_service (ConfigurationFacade* self); +static void data_imports_ui_data_imports_dialog_on_service_changed (DataImportsUIDataImportsDialog* self); +static void _data_imports_ui_data_imports_dialog_on_service_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void data_imports_ui_data_imports_dialog_on_close_cancel_clicked (DataImportsUIDataImportsDialog* self); +static void _data_imports_ui_data_imports_dialog_on_close_cancel_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void data_imports_ui_data_imports_dialog_set_standard_window_mode (DataImportsUIDataImportsDialog* self); +void data_imports_ui_data_imports_dialog_install_pane (DataImportsUIDataImportsDialog* self, SpitDataImportsDialogPane* pane); +void data_imports_ui_data_imports_dialog_set_close_button_mode (DataImportsUIDataImportsDialog* self); +DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_get_or_create_instance (void); +void data_imports_ui_data_imports_dialog_terminate_instance (void); +static void data_imports_ui_data_imports_dialog_terminate (DataImportsUIDataImportsDialog* self); +SpitDataImportsService** spit_data_imports_load_all_services (int* result_length1); +void configuration_facade_set_last_used_dataimports_service (ConfigurationFacade* self, const gchar* service_name); +SpitDataImportsConcreteDataImportsHost* spit_data_imports_concrete_data_imports_host_new (SpitDataImportsService* service, DataImportsUIDataImportsDialog* dialog); +SpitDataImportsConcreteDataImportsHost* spit_data_imports_concrete_data_imports_host_construct (GType object_type, SpitDataImportsService* service, DataImportsUIDataImportsDialog* dialog); +static void data_imports_ui_data_imports_dialog_set_large_window_mode (DataImportsUIDataImportsDialog* self); +static void data_imports_ui_data_imports_dialog_set_colossal_window_mode (DataImportsUIDataImportsDialog* self); +static void data_imports_ui_data_imports_dialog_set_free_sizable_window_mode (DataImportsUIDataImportsDialog* self); +static void data_imports_ui_data_imports_dialog_clear_free_sizable_window_mode (DataImportsUIDataImportsDialog* self); +SpitDataImportsDialogPane* data_imports_ui_data_imports_dialog_get_active_pane (DataImportsUIDataImportsDialog* self); +void data_imports_ui_data_imports_dialog_set_cancel_button_mode (DataImportsUIDataImportsDialog* self); +void data_imports_ui_data_imports_dialog_lock_service (DataImportsUIDataImportsDialog* self); +void data_imports_ui_data_imports_dialog_unlock_service (DataImportsUIDataImportsDialog* self); +static void data_imports_ui_data_imports_dialog_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +DataImportsUIConcreteDialogPane* data_imports_ui_concrete_dialog_pane_construct (GType object_type) { + DataImportsUIConcreteDialogPane * self = NULL; + GtkBox* _tmp0_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = (DataImportsUIConcreteDialogPane*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); +#line 16 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 16 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->pane_widget = _tmp0_; +#line 15 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return self; +#line 342 "DataImportsUI.c" +} + + +DataImportsUIConcreteDialogPane* data_imports_ui_concrete_dialog_pane_new (void) { +#line 15 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return data_imports_ui_concrete_dialog_pane_construct (DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE); +#line 349 "DataImportsUI.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return self ? g_object_ref (self) : NULL; +#line 356 "DataImportsUI.c" +} + + +static GtkWidget* data_imports_ui_concrete_dialog_pane_real_get_widget (SpitDataImportsDialogPane* base) { + DataImportsUIConcreteDialogPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPane); +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->pane_widget; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + result = _tmp1_; +#line 20 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return result; +#line 375 "DataImportsUI.c" +} + + +static SpitDataImportsDialogPaneGeometryOptions data_imports_ui_concrete_dialog_pane_real_get_preferred_geometry (SpitDataImportsDialogPane* base) { + DataImportsUIConcreteDialogPane * self; + SpitDataImportsDialogPaneGeometryOptions result = 0; +#line 23 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPane); +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + result = SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 24 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return result; +#line 388 "DataImportsUI.c" +} + + +static void data_imports_ui_concrete_dialog_pane_real_on_pane_installed (SpitDataImportsDialogPane* base) { + DataImportsUIConcreteDialogPane * self; +#line 27 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPane); +#line 396 "DataImportsUI.c" +} + + +static void data_imports_ui_concrete_dialog_pane_real_on_pane_uninstalled (SpitDataImportsDialogPane* base) { + DataImportsUIConcreteDialogPane * self; +#line 30 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPane); +#line 404 "DataImportsUI.c" +} + + +static void data_imports_ui_concrete_dialog_pane_class_init (DataImportsUIConcreteDialogPaneClass * klass) { +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_concrete_dialog_pane_parent_class = g_type_class_peek_parent (klass); +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_type_class_add_private (klass, sizeof (DataImportsUIConcreteDialogPanePrivate)); +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_ui_concrete_dialog_pane_finalize; +#line 415 "DataImportsUI.c" +} + + +static void data_imports_ui_concrete_dialog_pane_spit_data_imports_dialog_pane_interface_init (SpitDataImportsDialogPaneIface * iface) { +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_concrete_dialog_pane_spit_data_imports_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + iface->get_widget = (GtkWidget* (*)(SpitDataImportsDialogPane*)) data_imports_ui_concrete_dialog_pane_real_get_widget; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + iface->get_preferred_geometry = (SpitDataImportsDialogPaneGeometryOptions (*)(SpitDataImportsDialogPane*)) data_imports_ui_concrete_dialog_pane_real_get_preferred_geometry; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + iface->on_pane_installed = (void (*)(SpitDataImportsDialogPane*)) data_imports_ui_concrete_dialog_pane_real_on_pane_installed; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + iface->on_pane_uninstalled = (void (*)(SpitDataImportsDialogPane*)) data_imports_ui_concrete_dialog_pane_real_on_pane_uninstalled; +#line 430 "DataImportsUI.c" +} + + +static void data_imports_ui_concrete_dialog_pane_instance_init (DataImportsUIConcreteDialogPane * self) { +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv = DATA_IMPORTS_UI_CONCRETE_DIALOG_PANE_GET_PRIVATE (self); +#line 437 "DataImportsUI.c" +} + + +static void data_imports_ui_concrete_dialog_pane_finalize (GObject* obj) { + DataImportsUIConcreteDialogPane * self; +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, DataImportsUIConcreteDialogPane); +#line 13 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->pane_widget); +#line 12 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + G_OBJECT_CLASS (data_imports_ui_concrete_dialog_pane_parent_class)->finalize (obj); +#line 449 "DataImportsUI.c" +} + + +GType data_imports_ui_concrete_dialog_pane_get_type (void) { + static volatile gsize data_imports_ui_concrete_dialog_pane_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_ui_concrete_dialog_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsUIConcreteDialogPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_ui_concrete_dialog_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsUIConcreteDialogPane), 0, (GInstanceInitFunc) data_imports_ui_concrete_dialog_pane_instance_init, NULL }; + static const GInterfaceInfo spit_data_imports_dialog_pane_info = { (GInterfaceInitFunc) data_imports_ui_concrete_dialog_pane_spit_data_imports_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType data_imports_ui_concrete_dialog_pane_type_id; + data_imports_ui_concrete_dialog_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "DataImportsUIConcreteDialogPane", &g_define_type_info, 0); + g_type_add_interface_static (data_imports_ui_concrete_dialog_pane_type_id, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, &spit_data_imports_dialog_pane_info); + g_once_init_leave (&data_imports_ui_concrete_dialog_pane_type_id__volatile, data_imports_ui_concrete_dialog_pane_type_id); + } + return data_imports_ui_concrete_dialog_pane_type_id__volatile; +} + + +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_construct (GType object_type, const gchar* message_string) { + DataImportsUIStaticMessagePane * self = NULL; + GtkLabel* message_label = NULL; + const gchar* _tmp0_ = NULL; + GtkLabel* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + GtkBox* _tmp3_ = NULL; + GtkBox* _tmp4_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (message_string != NULL, NULL); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = (DataImportsUIStaticMessagePane*) data_imports_ui_concrete_dialog_pane_construct (object_type); +#line 36 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = message_string; +#line 36 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = (GtkLabel*) gtk_label_new (_tmp0_); +#line 36 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp1_); +#line 36 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + message_label = _tmp1_; +#line 37 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = spit_data_imports_dialog_pane_get_widget (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 37 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_box_get_type ()) ? ((GtkBox*) _tmp2_) : NULL; +#line 37 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp3_ == NULL) { +#line 37 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp2_); +#line 495 "DataImportsUI.c" + } +#line 37 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = _tmp3_; +#line 37 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (message_label, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 37 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp4_); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (message_label); +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return self; +#line 507 "DataImportsUI.c" +} + + +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_new (const gchar* message_string) { +#line 35 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return data_imports_ui_static_message_pane_construct (DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE, message_string); +#line 514 "DataImportsUI.c" +} + + +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_construct_with_pango (GType object_type, const gchar* msg) { + DataImportsUIStaticMessagePane * self = NULL; + GtkLabel* label = NULL; + GtkLabel* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; + GtkBox* _tmp3_ = NULL; + GtkBox* _tmp4_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (msg != NULL, NULL); +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = (DataImportsUIStaticMessagePane*) data_imports_ui_concrete_dialog_pane_construct (object_type); +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = (GtkLabel*) gtk_label_new (NULL); +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + label = _tmp0_; +#line 42 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = msg; +#line 42 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_label_set_markup (label, _tmp1_); +#line 43 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_label_set_line_wrap (label, TRUE); +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = spit_data_imports_dialog_pane_get_widget (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_box_get_type ()) ? ((GtkBox*) _tmp2_) : NULL; +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp3_ == NULL) { +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp2_); +#line 550 "DataImportsUI.c" + } +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = _tmp3_; +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (label, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 45 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp4_); +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (label); +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return self; +#line 562 "DataImportsUI.c" +} + + +DataImportsUIStaticMessagePane* data_imports_ui_static_message_pane_new_with_pango (const gchar* msg) { +#line 40 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return data_imports_ui_static_message_pane_construct_with_pango (DATA_IMPORTS_UI_TYPE_STATIC_MESSAGE_PANE, msg); +#line 569 "DataImportsUI.c" +} + + +static void data_imports_ui_static_message_pane_class_init (DataImportsUIStaticMessagePaneClass * klass) { +#line 34 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_static_message_pane_parent_class = g_type_class_peek_parent (klass); +#line 576 "DataImportsUI.c" +} + + +static void data_imports_ui_static_message_pane_instance_init (DataImportsUIStaticMessagePane * self) { +} + + +GType data_imports_ui_static_message_pane_get_type (void) { + static volatile gsize data_imports_ui_static_message_pane_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_ui_static_message_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsUIStaticMessagePaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_ui_static_message_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsUIStaticMessagePane), 0, (GInstanceInitFunc) data_imports_ui_static_message_pane_instance_init, NULL }; + GType data_imports_ui_static_message_pane_type_id; + data_imports_ui_static_message_pane_type_id = g_type_register_static (DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, "DataImportsUIStaticMessagePane", &g_define_type_info, 0); + g_once_init_leave (&data_imports_ui_static_message_pane_type_id__volatile, data_imports_ui_static_message_pane_type_id); + } + return data_imports_ui_static_message_pane_type_id__volatile; +} + + +static Block10Data* block10_data_ref (Block10Data* _data10_) { +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_atomic_int_inc (&_data10_->_ref_count_); +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return _data10_; +#line 601 "DataImportsUI.c" +} + + +static void block10_data_unref (void * _userdata_) { + Block10Data* _data10_; + _data10_ = (Block10Data*) _userdata_; +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (g_atomic_int_dec_and_test (&_data10_->_ref_count_)) { +#line 610 "DataImportsUI.c" + DataImportsUILibrarySelectionPane* self; +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = _data10_->self; +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_data10_->file_chooser); +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self); +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_slice_free (Block10Data, _data10_); +#line 620 "DataImportsUI.c" + } +} + + +static void ___lambda19_ (Block10Data* _data10_) { + DataImportsUILibrarySelectionPane* self; + GtkFileChooserButton* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GtkRadioButton* _tmp2_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = _data10_->self; +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = _data10_->file_chooser; +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = gtk_file_chooser_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->selected_file); +#line 102 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->selected_file = _tmp1_; +#line 103 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = self->priv->file_radio; +#line 103 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp2_ != NULL) { +#line 644 "DataImportsUI.c" + GtkRadioButton* _tmp3_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = self->priv->file_radio; +#line 104 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 650 "DataImportsUI.c" + } +#line 105 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_library_selection_pane_set_import_button_sensitivity (self); +#line 654 "DataImportsUI.c" +} + + +static void ____lambda19__gtk_file_chooser_selection_changed (GtkFileChooser* _sender, gpointer self) { +#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + ___lambda19_ (self); +#line 661 "DataImportsUI.c" +} + + +static void __lambda20_ (DataImportsUILibrarySelectionPane* self) { + SpitDataImportsImportableLibrary* _tmp0_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->selected_library; +#line 114 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp0_ != NULL) { +#line 671 "DataImportsUI.c" + SpitDataImportsImportableLibrary* _tmp1_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = self->priv->selected_library; +#line 115 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_library_selection_pane_on_library_selected (self, _tmp1_); +#line 677 "DataImportsUI.c" + } else { + GFile* _tmp2_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = self->priv->selected_file; +#line 116 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp2_ != NULL) { +#line 684 "DataImportsUI.c" + GFile* _tmp3_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = self->priv->selected_file; +#line 117 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_library_selection_pane_on_file_selected (self, _tmp3_); +#line 690 "DataImportsUI.c" + } else { +#line 119 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_debug ("DataImportsUI.vala:119: LibrarySelectionPane: Library or file should b" \ +"e selected."); +#line 694 "DataImportsUI.c" + } + } +} + + +static void ___lambda20__gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 113 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + __lambda20_ ((DataImportsUILibrarySelectionPane*) self); +#line 703 "DataImportsUI.c" +} + + +DataImportsUILibrarySelectionPane* data_imports_ui_library_selection_pane_construct (GType object_type, SpitDataImportsPluginHost* host, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label) { + DataImportsUILibrarySelectionPane * self = NULL; + gboolean _tmp0_ = FALSE; + SpitDataImportsImportableLibrary** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + SpitDataImportsPluginHost* _tmp2_ = NULL; + GtkBox* content_box = NULL; + GtkBox* _tmp3_ = NULL; + GtkBox* _tmp4_ = NULL; + GtkBox* _tmp5_ = NULL; + GtkLabel* welcome_label = NULL; + GtkLabel* _tmp6_ = NULL; + GtkLabel* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; + GtkLabel* _tmp10_ = NULL; + GtkBox* _tmp11_ = NULL; + GtkLabel* _tmp12_ = NULL; + gint radio_margin_left = 0; + gint radio_margin_right = 0; + gint chooser_margin_left = 0; + gint _tmp13_ = 0; + gint chooser_margin_right = 0; + gint _tmp14_ = 0; + GtkRadioButton* lib_radio = NULL; + SpitDataImportsImportableLibrary** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + const gchar* _tmp37_ = NULL; + const gchar* _tmp47_ = NULL; + GtkButton* _tmp48_ = NULL; + GtkButton* _tmp49_ = NULL; + GtkButtonBox* button_box = NULL; + GtkButtonBox* _tmp50_ = NULL; + GtkButton* _tmp51_ = NULL; + GtkBox* _tmp52_ = NULL; + GtkWidget* _tmp53_ = NULL; + GtkBox* _tmp54_ = NULL; + GtkBox* _tmp55_ = NULL; + GtkBox* _tmp56_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (host), NULL); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (welcome_message != NULL, NULL); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = (DataImportsUILibrarySelectionPane*) data_imports_ui_concrete_dialog_pane_construct (object_type); +#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = discovered_libraries; +#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1__length1 = discovered_libraries_length1; +#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp1__length1 > 0) { +#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = TRUE; +#line 760 "DataImportsUI.c" + } else { +#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = data_imports_ui_library_selection_pane_on_file_selected != NULL; +#line 764 "DataImportsUI.c" + } +#line 62 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _vala_assert (_tmp0_, "discovered_libraries.length > 0 || on_file_selected != null"); +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = host; +#line 64 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->host = _tmp2_; +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp3_); +#line 66 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + content_box = _tmp3_; +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = content_box; +#line 67 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_margin_left (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), 30); +#line 68 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp5_ = content_box; +#line 68 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_margin_right (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), 30); +#line 69 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp6_ = (GtkLabel*) gtk_label_new (NULL); +#line 69 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp6_); +#line 69 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + welcome_label = _tmp6_; +#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp7_ = welcome_label; +#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp8_ = welcome_message; +#line 70 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_label_set_markup (_tmp7_, _tmp8_); +#line 71 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp9_ = welcome_label; +#line 71 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_label_set_line_wrap (_tmp9_, TRUE); +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp10_ = welcome_label; +#line 72 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_halign (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_START); +#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp11_ = content_box; +#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp12_ = welcome_label; +#line 73 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 6); +#line 76 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + radio_margin_left = 20; +#line 77 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + radio_margin_right = 20; +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp13_ = radio_margin_left; +#line 78 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + chooser_margin_left = _tmp13_; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp14_ = radio_margin_right; +#line 79 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + chooser_margin_right = _tmp14_; +#line 81 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + lib_radio = NULL; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp15_ = discovered_libraries; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp15__length1 = discovered_libraries_length1; +#line 82 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp15__length1 > 0) { +#line 832 "DataImportsUI.c" + gint _tmp16_ = 0; + SpitDataImportsImportableLibrary** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + const gchar* _tmp28_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp16_ = radio_margin_left; +#line 83 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + chooser_margin_left = _tmp16_ + 20; +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp17_ = discovered_libraries; +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp17__length1 = discovered_libraries_length1; +#line 845 "DataImportsUI.c" + { + SpitDataImportsImportableLibrary** library_collection = NULL; + gint library_collection_length1 = 0; + gint _library_collection_size_ = 0; + gint library_it = 0; +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + library_collection = _tmp17_; +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + library_collection_length1 = _tmp17__length1; +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + for (library_it = 0; library_it < _tmp17__length1; library_it = library_it + 1) { +#line 857 "DataImportsUI.c" + SpitDataImportsImportableLibrary* _tmp18_ = NULL; + SpitDataImportsImportableLibrary* library = NULL; +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp18_ = _g_object_ref0 (library_collection[library_it]); +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + library = _tmp18_; +#line 864 "DataImportsUI.c" + { + gchar* lib_radio_label = NULL; + SpitDataImportsImportableLibrary* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + GtkBox* _tmp21_ = NULL; + GtkRadioButton* _tmp22_ = NULL; + SpitDataImportsImportableLibrary* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + GtkRadioButton* _tmp27_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp19_ = library; +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp20_ = spit_data_imports_importable_library_get_display_name (_tmp19_); +#line 85 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + lib_radio_label = _tmp20_; +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp21_ = content_box; +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp22_ = lib_radio; +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp23_ = library; +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp24_ = lib_radio_label; +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp25_ = radio_margin_left; +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp26_ = radio_margin_right; +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp27_ = data_imports_ui_library_selection_pane_create_radio_button (self, _tmp21_, _tmp22_, _tmp23_, _tmp24_, _tmp25_, _tmp26_); +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (lib_radio); +#line 86 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + lib_radio = _tmp27_; +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_free0 (lib_radio_label); +#line 84 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (library); +#line 904 "DataImportsUI.c" + } + } + } +#line 91 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp28_ = file_select_label; +#line 91 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp28_ != NULL) { +#line 912 "DataImportsUI.c" + GtkBox* _tmp29_ = NULL; + GtkRadioButton* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; + GtkRadioButton* _tmp34_ = NULL; + GtkRadioButton* _tmp35_ = NULL; + GtkRadioButton* _tmp36_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp29_ = content_box; +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp30_ = lib_radio; +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp31_ = file_select_label; +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp32_ = radio_margin_left; +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp33_ = radio_margin_right; +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp34_ = data_imports_ui_library_selection_pane_create_radio_button (self, _tmp29_, _tmp30_, NULL, _tmp31_, _tmp32_, _tmp33_); +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (lib_radio); +#line 92 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + lib_radio = _tmp34_; +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp35_ = lib_radio; +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp36_ = _g_object_ref0 (_tmp35_); +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->file_radio); +#line 96 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->file_radio = _tmp36_; +#line 945 "DataImportsUI.c" + } + } +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp37_ = file_select_label; +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp37_ != NULL) { +#line 952 "DataImportsUI.c" + Block10Data* _data10_; + const gchar* _tmp38_ = NULL; + GtkFileChooserButton* _tmp39_ = NULL; + GtkFileChooserButton* _tmp40_ = NULL; + GtkFileChooserButton* _tmp41_ = NULL; + gint _tmp42_ = 0; + GtkFileChooserButton* _tmp43_ = NULL; + gint _tmp44_ = 0; + GtkBox* _tmp45_ = NULL; + GtkFileChooserButton* _tmp46_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data10_ = g_slice_new0 (Block10Data); +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data10_->_ref_count_ = 1; +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data10_->self = g_object_ref (self); +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp38_ = _ ("Database file:"); +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp39_ = (GtkFileChooserButton*) gtk_file_chooser_button_new (_tmp38_, GTK_FILE_CHOOSER_ACTION_OPEN); +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp39_); +#line 100 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data10_->file_chooser = _tmp39_; +#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp40_ = _data10_->file_chooser; +#line 101 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_signal_connect_data (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), "selection-changed", (GCallback) ____lambda19__gtk_file_chooser_selection_changed, block10_data_ref (_data10_), (GClosureNotify) block10_data_unref, 0); +#line 107 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp41_ = _data10_->file_chooser; +#line 107 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp42_ = chooser_margin_left; +#line 107 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_margin_left (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_widget_get_type (), GtkWidget), _tmp42_); +#line 108 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp43_ = _data10_->file_chooser; +#line 108 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp44_ = chooser_margin_right; +#line 108 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_margin_right (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget), _tmp44_); +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp45_ = content_box; +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp46_ = _data10_->file_chooser; +#line 109 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp45_, G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 6); +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + block10_data_unref (_data10_); +#line 99 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data10_ = NULL; +#line 1003 "DataImportsUI.c" + } +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp47_ = _ ("_Import"); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp48_ = (GtkButton*) gtk_button_new_with_mnemonic (_tmp47_); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp48_); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->import_button); +#line 112 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->import_button = _tmp48_; +#line 113 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp49_ = self->priv->import_button; +#line 113 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_signal_connect_object (_tmp49_, "clicked", (GCallback) ___lambda20__gtk_button_clicked, self, 0); +#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp50_ = (GtkButtonBox*) gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); +#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp50_); +#line 121 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + button_box = _tmp50_; +#line 122 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_set (button_box, "layout-style", GTK_BUTTONBOX_CENTER, NULL); +#line 123 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp51_ = self->priv->import_button; +#line 123 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (button_box, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, gtk_widget_get_type (), GtkWidget)); +#line 124 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp52_ = content_box; +#line 124 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_end (_tmp52_, G_TYPE_CHECK_INSTANCE_CAST (button_box, gtk_widget_get_type (), GtkWidget), TRUE, FALSE, (guint) 6); +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp53_ = spit_data_imports_dialog_pane_get_widget (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp54_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp53_, gtk_box_get_type ()) ? ((GtkBox*) _tmp53_) : NULL; +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp54_ == NULL) { +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp53_); +#line 1043 "DataImportsUI.c" + } +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp55_ = _tmp54_; +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp56_ = content_box; +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp55_, G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 126 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp55_); +#line 128 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_library_selection_pane_set_import_button_sensitivity (self); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (button_box); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (lib_radio); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (welcome_label); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (content_box); +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return self; +#line 1065 "DataImportsUI.c" +} + + +DataImportsUILibrarySelectionPane* data_imports_ui_library_selection_pane_new (SpitDataImportsPluginHost* host, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label) { +#line 56 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return data_imports_ui_library_selection_pane_construct (DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, host, welcome_message, discovered_libraries, discovered_libraries_length1, file_select_label); +#line 1072 "DataImportsUI.c" +} + + +static Block11Data* block11_data_ref (Block11Data* _data11_) { +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_atomic_int_inc (&_data11_->_ref_count_); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return _data11_; +#line 1081 "DataImportsUI.c" +} + + +static void block11_data_unref (void * _userdata_) { + Block11Data* _data11_; + _data11_ = (Block11Data*) _userdata_; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (g_atomic_int_dec_and_test (&_data11_->_ref_count_)) { +#line 1090 "DataImportsUI.c" + DataImportsUILibrarySelectionPane* self; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = _data11_->self; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_data11_->button); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_data11_->library); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_slice_free (Block11Data, _data11_); +#line 1102 "DataImportsUI.c" + } +} + + +static void __lambda18_ (Block11Data* _data11_) { + DataImportsUILibrarySelectionPane* self; + GtkRadioButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 140 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = _data11_->self; +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = _data11_->button; +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = gtk_toggle_button_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_button_get_type (), GtkToggleButton)); +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = _tmp1_; +#line 141 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp2_) { +#line 1122 "DataImportsUI.c" + SpitDataImportsImportableLibrary* _tmp3_ = NULL; + SpitDataImportsImportableLibrary* _tmp4_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = _data11_->library; +#line 142 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 142 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->selected_library); +#line 142 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->selected_library = _tmp4_; +#line 143 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_library_selection_pane_set_import_button_sensitivity (self); +#line 1135 "DataImportsUI.c" + } +} + + +static void ___lambda18__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { +#line 140 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + __lambda18_ (self); +#line 1143 "DataImportsUI.c" +} + + +static GtkRadioButton* data_imports_ui_library_selection_pane_create_radio_button (DataImportsUILibrarySelectionPane* self, GtkBox* box, GtkRadioButton* group, SpitDataImportsImportableLibrary* library, const gchar* label, gint margin_left, gint margin_right) { + GtkRadioButton* result = NULL; + Block11Data* _data11_; + SpitDataImportsImportableLibrary* _tmp0_ = NULL; + SpitDataImportsImportableLibrary* _tmp1_ = NULL; + GtkRadioButton* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkRadioButton* _tmp4_ = NULL; + GtkRadioButton* _tmp5_ = NULL; + GtkRadioButton* _tmp9_ = NULL; + GtkRadioButton* _tmp10_ = NULL; + gint _tmp11_ = 0; + GtkRadioButton* _tmp12_ = NULL; + gint _tmp13_ = 0; + GtkBox* _tmp14_ = NULL; + GtkRadioButton* _tmp15_ = NULL; + GtkRadioButton* _tmp16_ = NULL; + GtkRadioButton* _tmp17_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (DATA_IMPORTS_UI_IS_LIBRARY_SELECTION_PANE (self), NULL); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (GTK_IS_BOX (box), NULL); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail ((group == NULL) || GTK_IS_RADIO_BUTTON (group), NULL); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail ((library == NULL) || SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY (library), NULL); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (label != NULL, NULL); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data11_ = g_slice_new0 (Block11Data); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data11_->_ref_count_ = 1; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data11_->self = g_object_ref (self); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = library; +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_data11_->library); +#line 131 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data11_->library = _tmp1_; +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = group; +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = label; +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = (GtkRadioButton*) gtk_radio_button_new_with_label_from_widget (_tmp2_, _tmp3_); +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp4_); +#line 135 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data11_->button = _tmp4_; +#line 136 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp5_ = group; +#line 136 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp5_ == NULL) { +#line 1203 "DataImportsUI.c" + GtkRadioButton* _tmp6_ = NULL; + SpitDataImportsImportableLibrary* _tmp7_ = NULL; + SpitDataImportsImportableLibrary* _tmp8_ = NULL; +#line 137 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp6_ = _data11_->button; +#line 137 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_toggle_button_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_toggle_button_get_type (), GtkToggleButton), TRUE); +#line 138 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp7_ = _data11_->library; +#line 138 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp8_ = _g_object_ref0 (_tmp7_); +#line 138 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->selected_library); +#line 138 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->selected_library = _tmp8_; +#line 1219 "DataImportsUI.c" + } +#line 140 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp9_ = _data11_->button; +#line 140 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_signal_connect_data (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_toggle_button_get_type (), GtkToggleButton), "toggled", (GCallback) ___lambda18__gtk_toggle_button_toggled, block11_data_ref (_data11_), (GClosureNotify) block11_data_unref, 0); +#line 147 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp10_ = _data11_->button; +#line 147 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp11_ = margin_left; +#line 147 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_margin_left (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), _tmp11_); +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp12_ = _data11_->button; +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp13_ = margin_right; +#line 148 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_margin_right (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), _tmp13_); +#line 149 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp14_ = box; +#line 149 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp15_ = _data11_->button; +#line 149 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 6); +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp16_ = _data11_->button; +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp17_ = _g_object_ref0 (_tmp16_); +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + result = _tmp17_; +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + block11_data_unref (_data11_); +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _data11_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return result; +#line 1255 "DataImportsUI.c" +} + + +static void data_imports_ui_library_selection_pane_set_import_button_sensitivity (DataImportsUILibrarySelectionPane* self) { + gboolean _tmp0_ = FALSE; + SpitDataImportsImportableLibrary* _tmp1_ = NULL; + GtkButton* _tmp3_ = NULL; +#line 153 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_LIBRARY_SELECTION_PANE (self)); +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = self->priv->selected_library; +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp1_ != NULL) { +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = TRUE; +#line 1271 "DataImportsUI.c" + } else { + GFile* _tmp2_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = self->priv->selected_file; +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = _tmp2_ != NULL; +#line 1278 "DataImportsUI.c" + } +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = self->priv->import_button; +#line 154 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 1284 "DataImportsUI.c" +} + + +static void data_imports_ui_library_selection_pane_on_library_selected (DataImportsUILibrarySelectionPane* self, SpitDataImportsImportableLibrary* library) { + SpitDataImportsPluginHost* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + SpitDataImportsDataImporter* _tmp2_ = NULL; + SpitDataImportsImportableLibrary* _tmp3_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_LIBRARY_SELECTION_PANE (self)); +#line 157 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY (library)); +#line 158 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->host; +#line 158 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = spit_data_imports_plugin_host_get_data_importer (_tmp0_); +#line 158 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = _tmp1_; +#line 158 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = library; +#line 158 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + spit_data_imports_data_importer_on_library_selected (_tmp2_, _tmp3_); +#line 158 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp2_); +#line 1309 "DataImportsUI.c" +} + + +static void data_imports_ui_library_selection_pane_on_file_selected (DataImportsUILibrarySelectionPane* self, GFile* file) { + SpitDataImportsPluginHost* _tmp0_ = NULL; + SpitDataImportsDataImporter* _tmp1_ = NULL; + SpitDataImportsDataImporter* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_LIBRARY_SELECTION_PANE (self)); +#line 161 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->host; +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = spit_data_imports_plugin_host_get_data_importer (_tmp0_); +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = _tmp1_; +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = file; +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + spit_data_imports_data_importer_on_file_selected (_tmp2_, _tmp3_); +#line 162 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp2_); +#line 1334 "DataImportsUI.c" +} + + +static void data_imports_ui_library_selection_pane_class_init (DataImportsUILibrarySelectionPaneClass * klass) { +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_library_selection_pane_parent_class = g_type_class_peek_parent (klass); +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_type_class_add_private (klass, sizeof (DataImportsUILibrarySelectionPanePrivate)); +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_ui_library_selection_pane_finalize; +#line 1345 "DataImportsUI.c" +} + + +static void data_imports_ui_library_selection_pane_instance_init (DataImportsUILibrarySelectionPane * self) { +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv = DATA_IMPORTS_UI_LIBRARY_SELECTION_PANE_GET_PRIVATE (self); +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->selected_library = NULL; +#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->selected_file = NULL; +#line 54 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->file_radio = NULL; +#line 1358 "DataImportsUI.c" +} + + +static void data_imports_ui_library_selection_pane_finalize (GObject* obj) { + DataImportsUILibrarySelectionPane * self; +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_UI_TYPE_LIBRARY_SELECTION_PANE, DataImportsUILibrarySelectionPane); +#line 51 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->selected_library); +#line 52 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->selected_file); +#line 53 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->import_button); +#line 54 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->file_radio); +#line 49 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + G_OBJECT_CLASS (data_imports_ui_library_selection_pane_parent_class)->finalize (obj); +#line 1376 "DataImportsUI.c" +} + + +GType data_imports_ui_library_selection_pane_get_type (void) { + static volatile gsize data_imports_ui_library_selection_pane_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_ui_library_selection_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsUILibrarySelectionPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_ui_library_selection_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsUILibrarySelectionPane), 0, (GInstanceInitFunc) data_imports_ui_library_selection_pane_instance_init, NULL }; + GType data_imports_ui_library_selection_pane_type_id; + data_imports_ui_library_selection_pane_type_id = g_type_register_static (DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, "DataImportsUILibrarySelectionPane", &g_define_type_info, 0); + g_once_init_leave (&data_imports_ui_library_selection_pane_type_id__volatile, data_imports_ui_library_selection_pane_type_id); + } + return data_imports_ui_library_selection_pane_type_id__volatile; +} + + +DataImportsUIProgressPane* data_imports_ui_progress_pane_construct (GType object_type, const gchar* message) { + DataImportsUIProgressPane * self = NULL; + GtkBox* content_box = NULL; + GtkBox* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkLabel* _tmp2_ = NULL; + GtkLabel* _tmp3_ = NULL; + GtkProgressBar* _tmp4_ = NULL; + GtkProgressBar* _tmp5_ = NULL; + GtkLabel* _tmp6_ = NULL; + GtkLabel* _tmp7_ = NULL; + GtkWidget* _tmp8_ = NULL; + GtkContainer* _tmp9_ = NULL; + GtkContainer* _tmp10_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (message != NULL, NULL); +#line 171 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = (DataImportsUIProgressPane*) data_imports_ui_concrete_dialog_pane_construct (object_type); +#line 172 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); +#line 172 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp0_); +#line 172 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + content_box = _tmp0_; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = message; +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = (GtkLabel*) gtk_label_new (_tmp1_); +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp2_); +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->message_label); +#line 173 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->message_label = _tmp2_; +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = self->priv->message_label; +#line 174 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (content_box, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 6); +#line 175 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = (GtkProgressBar*) gtk_progress_bar_new (); +#line 175 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp4_); +#line 175 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->progress_bar); +#line 175 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->progress_bar = _tmp4_; +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp5_ = self->priv->progress_bar; +#line 176 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (content_box, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), FALSE, TRUE, (guint) 6); +#line 177 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp6_ = (GtkLabel*) gtk_label_new (""); +#line 177 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp6_); +#line 177 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->progress_label); +#line 177 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->progress_label = _tmp6_; +#line 178 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp7_ = self->priv->progress_label; +#line 178 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (content_box, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), FALSE, TRUE, (guint) 6); +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp8_ = spit_data_imports_dialog_pane_get_widget (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_container_get_type ()) ? ((GtkContainer*) _tmp8_) : NULL; +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp9_ == NULL) { +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp8_); +#line 1462 "DataImportsUI.c" + } +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp10_ = _tmp9_; +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_add (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (content_box, gtk_widget_get_type (), GtkWidget)); +#line 180 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp10_); +#line 171 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (content_box); +#line 171 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return self; +#line 1474 "DataImportsUI.c" +} + + +DataImportsUIProgressPane* data_imports_ui_progress_pane_new (const gchar* message) { +#line 171 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return data_imports_ui_progress_pane_construct (DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, message); +#line 1481 "DataImportsUI.c" +} + + +void data_imports_ui_progress_pane_update_progress (DataImportsUIProgressPane* self, gdouble progress, const gchar* progress_message) { + GtkProgressBar* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + const gchar* _tmp2_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_PROGRESS_PANE (self)); +#line 184 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->progress_bar; +#line 184 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = progress; +#line 184 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_progress_bar_set_fraction (_tmp0_, _tmp1_); +#line 185 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = progress_message; +#line 185 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp2_ != NULL) { +#line 1501 "DataImportsUI.c" + GtkLabel* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = self->priv->progress_label; +#line 186 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = progress_message; +#line 186 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_label_set_label (_tmp3_, _tmp4_); +#line 1510 "DataImportsUI.c" + } +#line 187 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + spin_event_loop (); +#line 1514 "DataImportsUI.c" +} + + +static void data_imports_ui_progress_pane_class_init (DataImportsUIProgressPaneClass * klass) { +#line 166 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_progress_pane_parent_class = g_type_class_peek_parent (klass); +#line 166 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_type_class_add_private (klass, sizeof (DataImportsUIProgressPanePrivate)); +#line 166 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_ui_progress_pane_finalize; +#line 1525 "DataImportsUI.c" +} + + +static void data_imports_ui_progress_pane_instance_init (DataImportsUIProgressPane * self) { +#line 166 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv = DATA_IMPORTS_UI_PROGRESS_PANE_GET_PRIVATE (self); +#line 1532 "DataImportsUI.c" +} + + +static void data_imports_ui_progress_pane_finalize (GObject* obj) { + DataImportsUIProgressPane * self; +#line 166 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_UI_TYPE_PROGRESS_PANE, DataImportsUIProgressPane); +#line 167 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->message_label); +#line 168 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->progress_label); +#line 169 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->progress_bar); +#line 166 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + G_OBJECT_CLASS (data_imports_ui_progress_pane_parent_class)->finalize (obj); +#line 1548 "DataImportsUI.c" +} + + +GType data_imports_ui_progress_pane_get_type (void) { + static volatile gsize data_imports_ui_progress_pane_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_ui_progress_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsUIProgressPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_ui_progress_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsUIProgressPane), 0, (GInstanceInitFunc) data_imports_ui_progress_pane_instance_init, NULL }; + GType data_imports_ui_progress_pane_type_id; + data_imports_ui_progress_pane_type_id = g_type_register_static (DATA_IMPORTS_UI_TYPE_CONCRETE_DIALOG_PANE, "DataImportsUIProgressPane", &g_define_type_info, 0); + g_once_init_leave (&data_imports_ui_progress_pane_type_id__volatile, data_imports_ui_progress_pane_type_id); + } + return data_imports_ui_progress_pane_type_id__volatile; +} + + +static gboolean _data_imports_ui_data_imports_dialog_on_window_close_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) { + gboolean result; + result = data_imports_ui_data_imports_dialog_on_window_close ((DataImportsUIDataImportsDialog*) self, event); +#line 218 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return result; +#line 1569 "DataImportsUI.c" +} + + +static void _data_imports_ui_data_imports_dialog_on_service_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 251 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_on_service_changed ((DataImportsUIDataImportsDialog*) self); +#line 1576 "DataImportsUI.c" +} + + +static void _data_imports_ui_data_imports_dialog_on_close_cancel_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 291 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_on_close_cancel_clicked ((DataImportsUIDataImportsDialog*) self); +#line 1583 "DataImportsUI.c" +} + + +DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_construct (GType object_type) { + DataImportsUIDataImportsDialog * self = NULL; + gboolean use_header = FALSE; + GtkSettings* _tmp0_ = NULL; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gchar* title = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* label = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + SpitDataImportsService** loaded_services = NULL; + gint _tmp10_ = 0; + SpitDataImportsService** _tmp11_ = NULL; + gint loaded_services_length1 = 0; + gint _loaded_services_size_ = 0; + SpitDataImportsService** _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkBox* _tmp64_ = NULL; + GtkBox* _tmp65_ = NULL; + GtkBox* _tmp66_ = NULL; + GtkButton* _tmp67_ = NULL; + GtkButton* _tmp68_ = NULL; + GtkButton* _tmp69_ = NULL; + gboolean _tmp70_ = FALSE; + SpitDataImportsService** _tmp77_ = NULL; + gint _tmp77__length1 = 0; +#line 212 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = gtk_settings_get_default (); +#line 212 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), "gtk-dialogs-use-header", &use_header, NULL); +#line 213 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = use_header; +#line 213 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp2_) { +#line 213 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = 1; +#line 1627 "DataImportsUI.c" + } else { +#line 213 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = 0; +#line 1631 "DataImportsUI.c" + } +#line 213 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = (DataImportsUIDataImportsDialog*) g_object_new (object_type, "use-header-bar", _tmp1_, NULL); +#line 214 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = use_header; +#line 214 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp3_) { +#line 1639 "DataImportsUI.c" + GtkWidget* _tmp4_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = gtk_dialog_get_header_bar (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 215 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_header_bar_set_show_close_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_header_bar_get_type (), GtkHeaderBar), FALSE); +#line 1645 "DataImportsUI.c" + } +#line 217 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 218 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "delete-event", (GCallback) _data_imports_ui_data_imports_dialog_on_window_close_gtk_widget_delete_event, self, 0); +#line 220 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp5_ = _ ("Import From Application"); +#line 220 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 220 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + title = _tmp6_; +#line 221 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp7_ = _ ("Import media _from:"); +#line 221 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 221 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + label = _tmp8_; +#line 223 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp9_ = title; +#line 223 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp9_); +#line 225 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp11_ = spit_data_imports_load_services (FALSE, &_tmp10_); +#line 225 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + loaded_services = _tmp11_; +#line 225 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + loaded_services_length1 = _tmp10_; +#line 225 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _loaded_services_size_ = loaded_services_length1; +#line 227 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp12_ = loaded_services; +#line 227 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp12__length1 = loaded_services_length1; +#line 227 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp12__length1 > 0) { +#line 1681 "DataImportsUI.c" + GtkComboBoxText* _tmp13_ = NULL; + GtkComboBoxText* _tmp14_ = NULL; + gchar* last_used_service = NULL; + ConfigFacade* _tmp15_ = NULL; + ConfigFacade* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gint ticker = 0; + gint last_used_index = 0; + SpitDataImportsService** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gint _tmp33_ = 0; + GtkComboBoxText* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; +#line 230 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp13_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 230 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp13_); +#line 230 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->service_selector_box); +#line 230 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->service_selector_box = _tmp13_; +#line 231 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp14_ = self->priv->service_selector_box; +#line 231 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 234 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp15_ = config_facade_get_instance (); +#line 234 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp16_ = _tmp15_; +#line 234 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp17_ = configuration_facade_get_last_used_dataimports_service (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 234 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp18_ = _tmp17_; +#line 234 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp16_); +#line 234 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + last_used_service = _tmp18_; +#line 236 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + ticker = 0; +#line 237 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + last_used_index = -1; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp19_ = loaded_services; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp19__length1 = loaded_services_length1; +#line 1728 "DataImportsUI.c" + { + SpitDataImportsService** service_collection = NULL; + gint service_collection_length1 = 0; + gint _service_collection_size_ = 0; + gint service_it = 0; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_collection = _tmp19_; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_collection_length1 = _tmp19__length1; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + for (service_it = 0; service_it < _tmp19__length1; service_it = service_it + 1) { +#line 1740 "DataImportsUI.c" + SpitDataImportsService* _tmp20_ = NULL; + SpitDataImportsService* service = NULL; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp20_ = _g_object_ref0 (service_collection[service_it]); +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service = _tmp20_; +#line 1747 "DataImportsUI.c" + { + gchar* curr_service_id = NULL; + SpitDataImportsService* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + const gchar* _tmp25_ = NULL; + GtkComboBoxText* _tmp29_ = NULL; + SpitDataImportsService* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gint _tmp32_ = 0; +#line 239 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp21_ = service; +#line 239 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp22_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 239 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp23_ = g_strdup (_tmp22_); +#line 239 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + curr_service_id = _tmp23_; +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp25_ = last_used_service; +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp25_ != NULL) { +#line 1771 "DataImportsUI.c" + const gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp26_ = last_used_service; +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp27_ = curr_service_id; +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp24_ = g_strcmp0 (_tmp26_, _tmp27_) == 0; +#line 1780 "DataImportsUI.c" + } else { +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp24_ = FALSE; +#line 1784 "DataImportsUI.c" + } +#line 240 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp24_) { +#line 1788 "DataImportsUI.c" + gint _tmp28_ = 0; +#line 241 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp28_ = ticker; +#line 241 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + last_used_index = _tmp28_; +#line 1794 "DataImportsUI.c" + } +#line 243 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp29_ = self->priv->service_selector_box; +#line 243 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp30_ = service; +#line 243 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp31_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 243 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_combo_box_text_append_text (_tmp29_, _tmp31_); +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp32_ = ticker; +#line 244 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + ticker = _tmp32_ + 1; +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_free0 (curr_service_id); +#line 238 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service); +#line 1812 "DataImportsUI.c" + } + } + } +#line 246 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp33_ = last_used_index; +#line 246 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp33_ >= 0) { +#line 1820 "DataImportsUI.c" + GtkComboBoxText* _tmp34_ = NULL; + gint _tmp35_ = 0; +#line 247 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp34_ = self->priv->service_selector_box; +#line 247 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp35_ = last_used_index; +#line 247 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_combo_box_get_type (), GtkComboBox), _tmp35_); +#line 1829 "DataImportsUI.c" + } else { + GtkComboBoxText* _tmp36_ = NULL; +#line 249 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp36_ = self->priv->service_selector_box; +#line 249 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 1836 "DataImportsUI.c" + } +#line 251 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp37_ = self->priv->service_selector_box; +#line 251 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _data_imports_ui_data_imports_dialog_on_service_changed_gtk_combo_box_changed, self, 0); +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp38_ = use_header; +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (!_tmp38_) { +#line 1846 "DataImportsUI.c" + GtkLabel* service_selector_box_label = NULL; + const gchar* _tmp39_ = NULL; + GtkLabel* _tmp40_ = NULL; + GtkLabel* _tmp41_ = NULL; + GtkComboBoxText* _tmp42_ = NULL; + GtkLabel* _tmp43_ = NULL; + GtkAlignment* service_selector_box_wrapper = NULL; + GtkAlignment* _tmp44_ = NULL; + GtkAlignment* _tmp45_ = NULL; + GtkComboBoxText* _tmp46_ = NULL; + GtkBox* service_selector_layouter = NULL; + GtkBox* _tmp47_ = NULL; + GtkBox* _tmp48_ = NULL; + GtkBox* _tmp49_ = NULL; + GtkLabel* _tmp50_ = NULL; + GtkBox* _tmp51_ = NULL; + GtkAlignment* _tmp52_ = NULL; + GtkBox* service_area_layouter = NULL; + GtkBox* _tmp53_ = NULL; + GtkBox* _tmp54_ = NULL; + GtkBox* _tmp55_ = NULL; + GtkSeparator* service_central_separator = NULL; + GtkSeparator* _tmp56_ = NULL; + GtkBox* _tmp57_ = NULL; + GtkSeparator* _tmp58_ = NULL; + GtkAlignment* service_area_wrapper = NULL; + GtkAlignment* _tmp59_ = NULL; + GtkAlignment* _tmp60_ = NULL; + GtkBox* _tmp61_ = NULL; + GtkBox* _tmp62_ = NULL; + GtkAlignment* _tmp63_ = NULL; +#line 255 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp39_ = label; +#line 255 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp40_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp39_); +#line 255 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp40_); +#line 255 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_selector_box_label = _tmp40_; +#line 256 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp41_ = service_selector_box_label; +#line 256 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp42_ = self->priv->service_selector_box; +#line 256 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_label_set_mnemonic_widget (_tmp41_, G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_widget_get_type (), GtkWidget)); +#line 257 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp43_ = service_selector_box_label; +#line 257 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 263 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp44_ = (GtkAlignment*) gtk_alignment_new (1.0f, 0.5f, 0.0f, 0.0f); +#line 263 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp44_); +#line 263 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_selector_box_wrapper = _tmp44_; +#line 264 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp45_ = service_selector_box_wrapper; +#line 264 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp46_ = self->priv->service_selector_box; +#line 264 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_widget_get_type (), GtkWidget)); +#line 266 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp47_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); +#line 266 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp47_); +#line 266 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_selector_layouter = _tmp47_; +#line 267 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp48_ = service_selector_layouter; +#line 267 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_container_get_type (), GtkContainer), (guint) 12); +#line 268 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp49_ = service_selector_layouter; +#line 268 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp50_ = service_selector_box_label; +#line 268 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_widget_get_type (), GtkWidget)); +#line 269 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp51_ = service_selector_layouter; +#line 269 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp52_ = service_selector_box_wrapper; +#line 269 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp51_, G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 273 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp53_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 273 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp53_); +#line 273 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_area_layouter = _tmp53_; +#line 274 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp54_ = service_area_layouter; +#line 274 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp55_ = service_selector_layouter; +#line 274 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp54_, G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 275 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp56_ = (GtkSeparator*) gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); +#line 275 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp56_); +#line 275 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_central_separator = _tmp56_; +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp57_ = service_area_layouter; +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp58_ = service_central_separator; +#line 276 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_widget_get_type (), GtkWidget)); +#line 278 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp59_ = (GtkAlignment*) gtk_alignment_new (0.0f, 0.0f, 1.0f, 0.0f); +#line 278 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp59_); +#line 278 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_area_wrapper = _tmp59_; +#line 279 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp60_ = service_area_wrapper; +#line 279 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp61_ = service_area_layouter; +#line 279 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_widget_get_type (), GtkWidget)); +#line 281 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp62_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 281 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp63_ = service_area_wrapper; +#line 281 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, gtk_box_get_type (), GtkBox), G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service_area_wrapper); +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service_central_separator); +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service_area_layouter); +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service_selector_layouter); +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service_selector_box_wrapper); +#line 253 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service_selector_box_label); +#line 1984 "DataImportsUI.c" + } +#line 227 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_free0 (last_used_service); +#line 1988 "DataImportsUI.c" + } +#line 286 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp64_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 286 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp64_); +#line 286 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->central_area_layouter); +#line 286 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->central_area_layouter = _tmp64_; +#line 287 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp65_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 287 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp66_ = self->priv->central_area_layouter; +#line 287 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, gtk_box_get_type (), GtkBox), G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 289 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp67_ = (GtkButton*) gtk_button_new_with_mnemonic ("_Cancel"); +#line 289 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp67_); +#line 289 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->close_cancel_button); +#line 289 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->close_cancel_button = _tmp67_; +#line 290 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp68_ = self->priv->close_cancel_button; +#line 290 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_can_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 291 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp69_ = self->priv->close_cancel_button; +#line 291 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_signal_connect_object (_tmp69_, "clicked", (GCallback) _data_imports_ui_data_imports_dialog_on_close_cancel_clicked_gtk_button_clicked, self, 0); +#line 293 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp70_ = use_header; +#line 293 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp70_) { +#line 2024 "DataImportsUI.c" + GtkWidget* _tmp71_ = NULL; + GtkButton* _tmp72_ = NULL; + GtkWidget* _tmp73_ = NULL; + GtkComboBoxText* _tmp74_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp71_ = gtk_dialog_get_header_bar (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp72_ = self->priv->close_cancel_button; +#line 294 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_header_bar_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_header_bar_get_type (), GtkHeaderBar), G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_widget_get_type (), GtkWidget)); +#line 295 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp73_ = gtk_dialog_get_header_bar (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 295 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp74_ = self->priv->service_selector_box; +#line 295 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_header_bar_pack_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, gtk_header_bar_get_type (), GtkHeaderBar), G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, gtk_widget_get_type (), GtkWidget)); +#line 2041 "DataImportsUI.c" + } else { + GtkWidget* _tmp75_ = NULL; + GtkButton* _tmp76_ = NULL; +#line 298 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp75_ = gtk_dialog_get_action_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 298 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp76_ = self->priv->close_cancel_button; +#line 298 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_box_get_type (), GtkBox), gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, gtk_widget_get_type (), GtkWidget)); +#line 2051 "DataImportsUI.c" + } +#line 300 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_set_standard_window_mode (self); +#line 302 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp77_ = loaded_services; +#line 302 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp77__length1 = loaded_services_length1; +#line 302 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp77__length1 > 0) { +#line 304 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_on_service_changed (self); +#line 2063 "DataImportsUI.c" + } else { + DataImportsUIStaticMessagePane* _tmp78_ = NULL; + DataImportsUIStaticMessagePane* _tmp79_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp78_ = data_imports_ui_static_message_pane_new_with_pango (DATA_IMPORTS_UI_NO_PLUGINS_ENABLED_MESSAGE); +#line 307 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp79_ = _tmp78_; +#line 307 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_install_pane (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp79_, SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)); +#line 307 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp79_); +#line 308 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_set_close_button_mode (self); +#line 2077 "DataImportsUI.c" + } +#line 311 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 210 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + loaded_services = (_vala_array_free (loaded_services, loaded_services_length1, (GDestroyNotify) g_object_unref), NULL); +#line 210 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_free0 (label); +#line 210 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_free0 (title); +#line 210 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return self; +#line 2089 "DataImportsUI.c" +} + + +DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_new (void) { +#line 210 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return data_imports_ui_data_imports_dialog_construct (DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG); +#line 2096 "DataImportsUI.c" +} + + +DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_get_or_create_instance (void) { + DataImportsUIDataImportsDialog* result = NULL; + DataImportsUIDataImportsDialog* _tmp0_ = NULL; + DataImportsUIDataImportsDialog* _tmp2_ = NULL; + DataImportsUIDataImportsDialog* _tmp3_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = data_imports_ui_data_imports_dialog_instance; +#line 315 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp0_ == NULL) { +#line 2109 "DataImportsUI.c" + DataImportsUIDataImportsDialog* _tmp1_ = NULL; +#line 316 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = data_imports_ui_data_imports_dialog_new (); +#line 316 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_object_ref_sink (_tmp1_); +#line 316 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (data_imports_ui_data_imports_dialog_instance); +#line 316 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_instance = _tmp1_; +#line 2119 "DataImportsUI.c" + } +#line 318 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = data_imports_ui_data_imports_dialog_instance; +#line 318 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 318 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + result = _tmp3_; +#line 318 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return result; +#line 2129 "DataImportsUI.c" +} + + +void data_imports_ui_data_imports_dialog_terminate_instance (void) { + DataImportsUIDataImportsDialog* _tmp0_ = NULL; +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = data_imports_ui_data_imports_dialog_instance; +#line 322 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp0_ != NULL) { +#line 2139 "DataImportsUI.c" + DataImportsUIDataImportsDialog* _tmp1_ = NULL; +#line 323 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = data_imports_ui_data_imports_dialog_instance; +#line 323 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_terminate (_tmp1_); +#line 2145 "DataImportsUI.c" + } +#line 325 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (data_imports_ui_data_imports_dialog_instance); +#line 325 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_instance = NULL; +#line 2151 "DataImportsUI.c" +} + + +static gboolean data_imports_ui_data_imports_dialog_on_window_close (DataImportsUIDataImportsDialog* self, GdkEventAny* evt) { + gboolean result = FALSE; +#line 328 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self), FALSE); +#line 328 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (evt != NULL, FALSE); +#line 329 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_debug ("DataImportsUI.vala:329: DataImportsDialog: on_window_close( ): invoked" \ +"."); +#line 330 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_terminate (self); +#line 332 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + result = TRUE; +#line 332 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return result; +#line 2169 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_on_service_changed (DataImportsUIDataImportsDialog* self) { + gchar* service_name = NULL; + GtkComboBoxText* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + SpitDataImportsService* selected_service = NULL; + SpitDataImportsService** services = NULL; + gint _tmp2_ = 0; + SpitDataImportsService** _tmp3_ = NULL; + gint services_length1 = 0; + gint _services_size_ = 0; + SpitDataImportsService** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + SpitDataImportsService* _tmp11_ = NULL; + ConfigFacade* _tmp12_ = NULL; + ConfigFacade* _tmp13_ = NULL; + SpitDataImportsService* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + SpitDataImportsService* _tmp16_ = NULL; + SpitDataImportsConcreteDataImportsHost* _tmp17_ = NULL; + SpitDataImportsConcreteDataImportsHost* _tmp18_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 336 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_debug ("DataImportsUI.vala:336: DataImportsDialog: on_service_changed invoked."); +#line 337 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->service_selector_box; +#line 337 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = gtk_combo_box_text_get_active_text (_tmp0_); +#line 337 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_name = _tmp1_; +#line 339 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + selected_service = NULL; +#line 340 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = spit_data_imports_load_all_services (&_tmp2_); +#line 340 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + services = _tmp3_; +#line 340 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + services_length1 = _tmp2_; +#line 340 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _services_size_ = services_length1; +#line 341 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = services; +#line 341 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4__length1 = services_length1; +#line 2217 "DataImportsUI.c" + { + SpitDataImportsService** service_collection = NULL; + gint service_collection_length1 = 0; + gint _service_collection_size_ = 0; + gint service_it = 0; +#line 341 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_collection = _tmp4_; +#line 341 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service_collection_length1 = _tmp4__length1; +#line 341 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + for (service_it = 0; service_it < _tmp4__length1; service_it = service_it + 1) { +#line 2229 "DataImportsUI.c" + SpitDataImportsService* _tmp5_ = NULL; + SpitDataImportsService* service = NULL; +#line 341 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp5_ = _g_object_ref0 (service_collection[service_it]); +#line 341 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + service = _tmp5_; +#line 2236 "DataImportsUI.c" + { + SpitDataImportsService* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 342 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp6_ = service; +#line 342 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp7_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 342 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp8_ = service_name; +#line 342 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (g_strcmp0 (_tmp7_, _tmp8_) == 0) { +#line 2249 "DataImportsUI.c" + SpitDataImportsService* _tmp9_ = NULL; + SpitDataImportsService* _tmp10_ = NULL; +#line 343 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp9_ = service; +#line 343 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 343 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (selected_service); +#line 343 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + selected_service = _tmp10_; +#line 344 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service); +#line 344 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + break; +#line 2264 "DataImportsUI.c" + } +#line 341 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (service); +#line 2268 "DataImportsUI.c" + } + } + } +#line 347 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp11_ = selected_service; +#line 347 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _vala_assert (_tmp11_ != NULL, "selected_service != null"); +#line 349 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp12_ = config_facade_get_instance (); +#line 349 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp13_ = _tmp12_; +#line 349 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp14_ = selected_service; +#line 349 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp15_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 349 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + configuration_facade_set_last_used_dataimports_service (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp15_); +#line 349 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp13_); +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp16_ = selected_service; +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp17_ = spit_data_imports_concrete_data_imports_host_new (_tmp16_, self); +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->host); +#line 351 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->host = _tmp17_; +#line 352 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp18_ = self->priv->host; +#line 352 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + spit_data_imports_plugin_host_start_importing (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 335 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + services = (_vala_array_free (services, services_length1, (GDestroyNotify) g_object_unref), NULL); +#line 335 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (selected_service); +#line 335 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_free0 (service_name); +#line 2306 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_on_close_cancel_clicked (DataImportsUIDataImportsDialog* self) { +#line 355 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 356 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_debug ("DataImportsUI.vala:356: DataImportsDialog: on_close_cancel_clicked( ):" \ +" invoked."); +#line 358 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_terminate (self); +#line 2317 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_terminate (DataImportsUIDataImportsDialog* self) { + SpitDataImportsConcreteDataImportsHost* _tmp0_ = NULL; +#line 361 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 362 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_debug ("DataImportsUI.vala:362: DataImportsDialog: terminate( ): invoked."); +#line 364 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->host; +#line 364 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp0_ != NULL) { +#line 2331 "DataImportsUI.c" + SpitDataImportsConcreteDataImportsHost* _tmp1_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = self->priv->host; +#line 365 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + spit_data_imports_plugin_host_stop_importing (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)); +#line 366 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->host); +#line 366 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->host = NULL; +#line 2341 "DataImportsUI.c" + } +#line 369 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 370 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 371 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (data_imports_ui_data_imports_dialog_instance); +#line 371 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_instance = NULL; +#line 2351 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_set_large_window_mode (DataImportsUIDataImportsDialog* self) { + GtkBox* _tmp0_ = NULL; +#line 374 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 375 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_LARGE_WINDOW_WIDTH, DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_LARGE_WINDOW_HEIGHT); +#line 376 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->central_area_layouter; +#line 376 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_LARGE_WINDOW_WIDTH - DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_BORDER_REGION_WIDTH, DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_LARGE_WINDOW_HEIGHT - DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_BORDER_REGION_HEIGHT); +#line 378 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 2367 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_set_colossal_window_mode (DataImportsUIDataImportsDialog* self) { + GtkBox* _tmp0_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 382 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_COLOSSAL_WINDOW_WIDTH, DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_COLOSSAL_WINDOW_HEIGHT); +#line 383 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->central_area_layouter; +#line 383 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_COLOSSAL_WINDOW_WIDTH - DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_BORDER_REGION_WIDTH, DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_COLOSSAL_WINDOW_HEIGHT - DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_BORDER_REGION_HEIGHT); +#line 385 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 2383 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_set_standard_window_mode (DataImportsUIDataImportsDialog* self) { + GtkBox* _tmp0_ = NULL; +#line 388 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 389 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_STANDARD_WINDOW_WIDTH, DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_STANDARD_WINDOW_HEIGHT); +#line 390 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->central_area_layouter; +#line 390 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_STANDARD_WINDOW_WIDTH - DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_BORDER_REGION_WIDTH, DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_STANDARD_WINDOW_HEIGHT - DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_BORDER_REGION_HEIGHT); +#line 392 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 2399 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_set_free_sizable_window_mode (DataImportsUIDataImportsDialog* self) { +#line 395 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 396 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 2408 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_clear_free_sizable_window_mode (DataImportsUIDataImportsDialog* self) { +#line 399 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 400 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 2417 "DataImportsUI.c" +} + + +SpitDataImportsDialogPane* data_imports_ui_data_imports_dialog_get_active_pane (DataImportsUIDataImportsDialog* self) { + SpitDataImportsDialogPane* result = NULL; + SpitDataImportsDialogPane* _tmp0_ = NULL; + SpitDataImportsDialogPane* _tmp1_ = NULL; +#line 403 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_val_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self), NULL); +#line 404 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->active_pane; +#line 404 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 404 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + result = _tmp1_; +#line 404 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + return result; +#line 2435 "DataImportsUI.c" +} + + +void data_imports_ui_data_imports_dialog_set_close_button_mode (DataImportsUIDataImportsDialog* self) { + GtkButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; +#line 407 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 408 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->close_cancel_button; +#line 408 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = _ ("_Close"); +#line 408 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_button_set_label (_tmp0_, _tmp1_); +#line 409 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = self->priv->close_cancel_button; +#line 409 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_window_set_default (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 2455 "DataImportsUI.c" +} + + +void data_imports_ui_data_imports_dialog_set_cancel_button_mode (DataImportsUIDataImportsDialog* self) { + GtkButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 412 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 413 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->close_cancel_button; +#line 413 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = _ ("_Cancel"); +#line 413 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_button_set_label (_tmp0_, _tmp1_); +#line 2470 "DataImportsUI.c" +} + + +void data_imports_ui_data_imports_dialog_lock_service (DataImportsUIDataImportsDialog* self) { + GtkComboBoxText* _tmp0_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 417 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->service_selector_box; +#line 417 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 2482 "DataImportsUI.c" +} + + +void data_imports_ui_data_imports_dialog_unlock_service (DataImportsUIDataImportsDialog* self) { + GtkComboBoxText* _tmp0_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 421 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->service_selector_box; +#line 421 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 2494 "DataImportsUI.c" +} + + +void data_imports_ui_data_imports_dialog_install_pane (DataImportsUIDataImportsDialog* self, SpitDataImportsDialogPane* pane) { + SpitDataImportsDialogPane* _tmp0_ = NULL; + GtkBox* _tmp6_ = NULL; + SpitDataImportsDialogPane* _tmp7_ = NULL; + GtkWidget* _tmp8_ = NULL; + GtkWidget* _tmp9_ = NULL; + SpitDataImportsDialogPaneGeometryOptions geometry_options = 0; + SpitDataImportsDialogPane* _tmp10_ = NULL; + SpitDataImportsDialogPaneGeometryOptions _tmp11_ = 0; + SpitDataImportsDialogPaneGeometryOptions _tmp12_ = 0; + SpitDataImportsDialogPaneGeometryOptions _tmp14_ = 0; + SpitDataImportsDialogPane* _tmp15_ = NULL; + SpitDataImportsDialogPane* _tmp16_ = NULL; + SpitDataImportsDialogPane* _tmp17_ = NULL; +#line 424 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG (self)); +#line 424 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (pane)); +#line 425 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_debug ("DataImportsUI.vala:425: DataImportsDialog: install_pane( ): invoked."); +#line 427 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp0_ = self->priv->active_pane; +#line 427 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if (_tmp0_ != NULL) { +#line 2522 "DataImportsUI.c" + SpitDataImportsDialogPane* _tmp1_ = NULL; + GtkBox* _tmp2_ = NULL; + SpitDataImportsDialogPane* _tmp3_ = NULL; + GtkWidget* _tmp4_ = NULL; + GtkWidget* _tmp5_ = NULL; +#line 428 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_debug ("DataImportsUI.vala:428: DataImportsDialog: install_pane( ): a pane is " \ +"already installed; removing it."); +#line 430 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp1_ = self->priv->active_pane; +#line 430 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + spit_data_imports_dialog_pane_on_pane_uninstalled (_tmp1_); +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp2_ = self->priv->central_area_layouter; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp3_ = self->priv->active_pane; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp4_ = spit_data_imports_dialog_pane_get_widget (_tmp3_); +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp5_ = _tmp4_; +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_container_get_type (), GtkContainer), _tmp5_); +#line 431 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp5_); +#line 2546 "DataImportsUI.c" + } +#line 434 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp6_ = self->priv->central_area_layouter; +#line 434 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp7_ = pane; +#line 434 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp8_ = spit_data_imports_dialog_pane_get_widget (_tmp7_); +#line 434 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp9_ = _tmp8_; +#line 434 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_box_pack_start (_tmp6_, _tmp9_, TRUE, TRUE, (guint) 0); +#line 434 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (_tmp9_); +#line 435 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 437 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp10_ = pane; +#line 437 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp11_ = spit_data_imports_dialog_pane_get_preferred_geometry (_tmp10_); +#line 437 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + geometry_options = _tmp11_; +#line 439 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp12_ = geometry_options; +#line 439 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if ((_tmp12_ & SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE) != 0) { +#line 440 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_set_large_window_mode (self); +#line 2574 "DataImportsUI.c" + } else { + SpitDataImportsDialogPaneGeometryOptions _tmp13_ = 0; +#line 441 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp13_ = geometry_options; +#line 441 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if ((_tmp13_ & SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE) != 0) { +#line 442 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_set_colossal_window_mode (self); +#line 2583 "DataImportsUI.c" + } else { +#line 444 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_set_standard_window_mode (self); +#line 2587 "DataImportsUI.c" + } + } +#line 446 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp14_ = geometry_options; +#line 446 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + if ((_tmp14_ & SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE) != 0) { +#line 447 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_set_free_sizable_window_mode (self); +#line 2596 "DataImportsUI.c" + } else { +#line 449 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_clear_free_sizable_window_mode (self); +#line 2600 "DataImportsUI.c" + } +#line 451 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp15_ = pane; +#line 451 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp16_ = _g_object_ref0 (_tmp15_); +#line 451 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->active_pane); +#line 451 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv->active_pane = _tmp16_; +#line 452 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _tmp17_ = pane; +#line 452 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + spit_data_imports_dialog_pane_on_pane_installed (_tmp17_); +#line 2614 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_class_init (DataImportsUIDataImportsDialogClass * klass) { +#line 191 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + data_imports_ui_data_imports_dialog_parent_class = g_type_class_peek_parent (klass); +#line 191 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + g_type_class_add_private (klass, sizeof (DataImportsUIDataImportsDialogPrivate)); +#line 191 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + G_OBJECT_CLASS (klass)->finalize = data_imports_ui_data_imports_dialog_finalize; +#line 2625 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_instance_init (DataImportsUIDataImportsDialog * self) { +#line 191 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self->priv = DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_GET_PRIVATE (self); +#line 2632 "DataImportsUI.c" +} + + +static void data_imports_ui_data_imports_dialog_finalize (GObject* obj) { + DataImportsUIDataImportsDialog * self; +#line 191 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialog); +#line 204 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->service_selector_box); +#line 205 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->central_area_layouter); +#line 206 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->close_cancel_button); +#line 207 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->active_pane); +#line 208 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + _g_object_unref0 (self->priv->host); +#line 191 "/home/jens/Source/shotwell/src/data_imports/DataImportsUI.vala" + G_OBJECT_CLASS (data_imports_ui_data_imports_dialog_parent_class)->finalize (obj); +#line 2652 "DataImportsUI.c" +} + + +GType data_imports_ui_data_imports_dialog_get_type (void) { + static volatile gsize data_imports_ui_data_imports_dialog_type_id__volatile = 0; + if (g_once_init_enter (&data_imports_ui_data_imports_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DataImportsUIDataImportsDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) data_imports_ui_data_imports_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DataImportsUIDataImportsDialog), 0, (GInstanceInitFunc) data_imports_ui_data_imports_dialog_instance_init, NULL }; + GType data_imports_ui_data_imports_dialog_type_id; + data_imports_ui_data_imports_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "DataImportsUIDataImportsDialog", &g_define_type_info, 0); + g_once_init_leave (&data_imports_ui_data_imports_dialog_type_id__volatile, data_imports_ui_data_imports_dialog_type_id); + } + return data_imports_ui_data_imports_dialog_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/data_imports/mk/data_imports.mk b/src/data_imports/mk/data_imports.mk deleted file mode 100644 index 771ba74..0000000 --- a/src/data_imports/mk/data_imports.mk +++ /dev/null @@ -1,31 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := DataImports - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := data_imports - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - DataImportsPluginHost.vala \ - DataImportsUI.vala \ - DataImportJob.vala \ - DataImportSource.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/db/DatabaseTable.c b/src/db/DatabaseTable.c new file mode 100644 index 0000000..4e0ada2 --- /dev/null +++ b/src/db/DatabaseTable.c @@ -0,0 +1,2638 @@ +/* DatabaseTable.c generated by valac 0.32.1, the Vala compiler + * generated from DatabaseTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; +typedef struct _DatabaseTablePrivate DatabaseTablePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _sqlite3_close0(var) ((var == NULL) ? NULL : (var = (sqlite3_close (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +typedef struct _ParamSpecDatabaseTable ParamSpecDatabaseTable; +#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); + +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 _DatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + DatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _DatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (DatabaseTable *self); +}; + +struct _ParamSpecDatabaseTable { + GParamSpec parent_instance; +}; + + +static gpointer database_table_parent_class = NULL; +extern sqlite3* database_table_db; +sqlite3* database_table_db = NULL; +static gint database_table_in_transaction; +static gint database_table_in_transaction = 0; + +GQuark database_error_quark (void); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +enum { + DATABASE_TABLE_DUMMY_PROPERTY +}; +#define DATABASE_TABLE_SCHEMA_VERSION 20 +static void database_table_prepare_db (const gchar* filename); +void app_window_panic (const gchar* msg); +#define DB_IN_MEMORY_NAME ":memory:" +void database_table_on_trace (const gchar* message); +void database_table_init (const gchar* filename); +void database_table_warning (const gchar* op, gint res); +void database_table_terminate (void); +void database_table_fatal (const gchar* op, gint res); +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name); +void database_table_throw_error (const gchar* method, gint res, GError** error); +gboolean database_table_exists_by_id (DatabaseTable* self, gint64 id); +gboolean database_table_select_by_id (DatabaseTable* self, gint64 id, const gchar* columns, sqlite3_stmt** stmt); +static void database_table_prepare_update_by_id (DatabaseTable* self, gint64 id, const gchar* column, sqlite3_stmt** stmt); +static gboolean database_table_execute_update_by_id (DatabaseTable* self, sqlite3_stmt* stmt); +gboolean database_table_update_text_by_id (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text); +void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error); +gboolean database_table_update_int_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint value); +void database_table_update_int_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint value, GError** error); +gboolean database_table_update_int64_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint64 value); +void database_table_update_int64_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint64 value, GError** error); +void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error); +gboolean database_table_has_column (const gchar* table_name, const gchar* column_name); +gboolean database_table_has_table (const gchar* table_name); +gboolean database_table_add_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints); +gboolean database_table_ensure_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints, const gchar* upgrade_msg); +gint database_table_get_row_count (DatabaseTable* self); +void database_table_begin_transaction (void); +void database_table_commit_transaction (GError** error); +DatabaseTable* database_table_construct (GType object_type); +static void database_table_finalize (DatabaseTable* obj); + + +GQuark database_error_quark (void) { + return g_quark_from_static_string ("database_error-quark"); +} + + +static void database_table_prepare_db (const gchar* filename) { + gint res = 0; + const gchar* _tmp0_ = NULL; + sqlite3* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + const gchar* _tmp9_ = NULL; + GError * _inner_error_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (filename != NULL); +#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = filename; +#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = sqlite3_open_v2 (_tmp0_, &_tmp1_, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); +#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_close0 (database_table_db); +#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_db = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp2_; +#line 36 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = res; +#line 36 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp3_ != SQLITE_OK) { +#line 147 "DatabaseTable.c" + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = _ ("Unable to open/create photo database %s: error code %d"); +#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = filename; +#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = res; +#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = g_strdup_printf (_tmp4_, _tmp5_, _tmp6_); +#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = _tmp7_; +#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + app_window_panic (_tmp8_); +#line 37 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp8_); +#line 167 "DatabaseTable.c" + } +#line 41 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = filename; +#line 41 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (g_strcmp0 (_tmp9_, DB_IN_MEMORY_NAME) != 0) { +#line 173 "DatabaseTable.c" + { + GFile* file_db = NULL; + const gchar* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFileInfo* info = NULL; + GFile* _tmp12_ = NULL; + GFileInfo* _tmp13_ = NULL; + GFileInfo* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 43 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = filename; +#line 43 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = g_file_new_for_path (_tmp10_); +#line 43 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + file_db = _tmp11_; +#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = file_db; +#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = g_file_query_info (_tmp12_, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE, G_FILE_QUERY_INFO_NONE, NULL, &_inner_error_); +#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + info = _tmp13_; +#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 44 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_object_unref0 (file_db); +#line 199 "DatabaseTable.c" + goto __catch13_g_error; + } +#line 45 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = info; +#line 45 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = g_file_info_get_attribute_boolean (_tmp14_, G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE); +#line 45 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (!_tmp15_) { +#line 208 "DatabaseTable.c" + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = _ ("Unable to write to photo database file:\n %s"); +#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp17_ = filename; +#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp18_ = g_strdup_printf (_tmp16_, _tmp17_); +#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp19_ = _tmp18_; +#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + app_window_panic (_tmp19_); +#line 46 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp19_); +#line 225 "DatabaseTable.c" + } +#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_object_unref0 (info); +#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_object_unref0 (file_db); +#line 231 "DatabaseTable.c" + } + goto __finally13; + __catch13_g_error: + { + GError* e = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GError* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + e = _inner_error_; +#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _inner_error_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp20_ = _ ("Error accessing database file:\n %s\n\nError was: \n%s"); +#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp21_ = filename; +#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp22_ = e; +#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp23_ = _tmp22_->message; +#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp24_ = g_strdup_printf (_tmp20_, _tmp21_, _tmp23_); +#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp25_ = _tmp24_; +#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + app_window_panic (_tmp25_); +#line 48 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp25_); +#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_error_free0 (e); +#line 265 "DatabaseTable.c" + } + __finally13: +#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 42 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 276 "DatabaseTable.c" + } + } +} + + +void database_table_on_trace (const gchar* message) { + const gchar* _tmp0_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (message != NULL); +#line 58 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = message; +#line 58 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_debug ("DatabaseTable.vala:58: SQLITE: %s", _tmp0_); +#line 290 "DatabaseTable.c" +} + + +static gint _sqlite3_exec (sqlite3* self, const gchar* sql, sqlite3_callback callback, void* callback_target, gchar** errmsg) { + gchar* _vala_errmsg = NULL; + gint result = 0; + const gchar* sqlite_errmsg = NULL; + gint ec = 0; + const gchar* _tmp0_ = NULL; + sqlite3_callback _tmp1_ = NULL; + void* _tmp1__target = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + const gchar* _tmp6_ = NULL; +#line 34 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 34 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + g_return_val_if_fail (sql != NULL, 0); +#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _tmp0_ = sql; +#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _tmp1_ = callback; +#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _tmp1__target = callback_target; +#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _tmp3_ = sqlite3_exec (self, _tmp0_, _tmp1_, _tmp1__target, (char**) (&_tmp2_)); +#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + sqlite_errmsg = _tmp2_; +#line 36 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + ec = _tmp3_; +#line 37 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + if ((&_vala_errmsg) != NULL) { +#line 323 "DatabaseTable.c" + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 38 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _tmp4_ = sqlite_errmsg; +#line 38 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _tmp5_ = g_strdup (_tmp4_); +#line 38 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _g_free0 (_vala_errmsg); +#line 38 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _vala_errmsg = _tmp5_; +#line 334 "DatabaseTable.c" + } +#line 40 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _tmp6_ = sqlite_errmsg; +#line 40 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + sqlite3_free ((void*) _tmp6_); +#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + result = ec; +#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + if (errmsg) { +#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + *errmsg = _vala_errmsg; +#line 346 "DatabaseTable.c" + } else { +#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + _g_free0 (_vala_errmsg); +#line 350 "DatabaseTable.c" + } +#line 41 "/usr/share/vala-0.32/vapi/sqlite3.vapi" + return result; +#line 354 "DatabaseTable.c" +} + + +void database_table_init (const gchar* filename) { + const gchar* _tmp0_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + sqlite3* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + GError * _inner_error_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (filename != NULL); +#line 63 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = filename; +#line 63 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_prepare_db (_tmp0_); +#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = database_table_db; +#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = sqlite3_prepare_v2 (_tmp1_, "CREATE TABLE IF NOT EXISTS VersionTable (" "id INTEGER PRIMARY KEY, " "schema_version INTEGER, " "app_version TEXT, " "user_data TEXT NULL" ")", -1, &_tmp2_, NULL); +#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp2_; +#line 67 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp3_; +#line 75 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = res; +#line 75 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp4_ != SQLITE_OK) { +#line 390 "DatabaseTable.c" + gchar* backup_path = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_close0 (database_table_db); +#line 76 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_db = NULL; +#line 78 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = filename; +#line 78 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = g_strconcat (_tmp5_, ".bak", NULL); +#line 78 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + backup_path = _tmp6_; +#line 404 "DatabaseTable.c" + { + GFile* src = NULL; + const gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* dest = NULL; + const gchar* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = backup_path; +#line 81 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = g_file_new_for_commandline_arg (_tmp7_); +#line 81 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + src = _tmp8_; +#line 82 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = filename; +#line 82 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = g_file_new_for_commandline_arg (_tmp9_); +#line 82 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + dest = _tmp10_; +#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = src; +#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = dest; +#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_file_copy (_tmp11_, _tmp12_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_ALL_METADATA, NULL, NULL, NULL, &_inner_error_); +#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_object_unref0 (dest); +#line 83 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_object_unref0 (src); +#line 439 "DatabaseTable.c" + goto __catch14_g_error; + } +#line 86 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = filename; +#line 86 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_prepare_db (_tmp13_); +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_object_unref0 (dest); +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_object_unref0 (src); +#line 450 "DatabaseTable.c" + } + goto __finally14; + __catch14_g_error: + { + GError* _error_ = NULL; + const gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _error_ = _inner_error_; +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _inner_error_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = _ ("Unable to restore photo database %s"); +#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = _error_; +#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = _tmp15_->message; +#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp17_ = g_strdup_printf (_tmp14_, _tmp16_); +#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp18_ = _tmp17_; +#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + app_window_panic (_tmp18_); +#line 88 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp18_); +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_error_free0 (_error_); +#line 481 "DatabaseTable.c" + } + __finally14: +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (backup_path); +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 80 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 496 "DatabaseTable.c" + } +#line 75 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (backup_path); +#line 500 "DatabaseTable.c" + } +#line 94 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp19_ = database_table_db; +#line 94 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp20_ = _sqlite3_exec (_tmp19_, "PRAGMA synchronous=OFF", NULL, NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp20_; +#line 95 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp21_ = res; +#line 95 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp21_ != SQLITE_OK) { +#line 512 "DatabaseTable.c" + gint _tmp22_ = 0; +#line 96 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp22_ = res; +#line 96 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_warning ("Unable to disable synchronous mode", _tmp22_); +#line 518 "DatabaseTable.c" + } +#line 61 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 522 "DatabaseTable.c" +} + + +void database_table_terminate (void) { +#line 101 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_close0 (database_table_db); +#line 101 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_db = NULL; +#line 531 "DatabaseTable.c" +} + + +void database_table_fatal (const gchar* op, gint res) { + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + sqlite3* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (op != NULL); +#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = op; +#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = res; +#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = database_table_db; +#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = sqlite3_errmsg (_tmp2_); +#line 106 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_error ("DatabaseTable.vala:106: %s: [%d] %s", _tmp0_, _tmp1_, _tmp3_); +#line 552 "DatabaseTable.c" +} + + +void database_table_warning (const gchar* op, gint res) { + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + sqlite3* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (op != NULL); +#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = op; +#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = res; +#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = database_table_db; +#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = sqlite3_errmsg (_tmp2_); +#line 111 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_warning ("DatabaseTable.vala:111: %s: [%d] %s", _tmp0_, _tmp1_, _tmp3_); +#line 573 "DatabaseTable.c" +} + + +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (IS_DATABASE_TABLE (self)); +#line 114 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (table_name != NULL); +#line 115 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = table_name; +#line 115 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 115 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (self->table_name); +#line 115 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + self->table_name = _tmp1_; +#line 592 "DatabaseTable.c" +} + + +void database_table_throw_error (const gchar* method, gint res, GError** error) { + gchar* msg = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + sqlite3* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + GError * _inner_error_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (method != NULL); +#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = method; +#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = res; +#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = database_table_db; +#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = sqlite3_errmsg (_tmp2_); +#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = g_strdup_printf ("(%s) [%d] - %s", _tmp0_, _tmp1_, _tmp3_); +#line 121 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + msg = _tmp4_; +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = res; +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + switch (_tmp5_) { +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_OK: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_DONE: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_ROW: +#line 629 "DatabaseTable.c" + { +#line 127 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 127 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 635 "DatabaseTable.c" + } +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_PERM: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_BUSY: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_READONLY: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_IOERR: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_CORRUPT: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_CANTOPEN: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_NOLFS: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_AUTH: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_FORMAT: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_NOTADB: +#line 657 "DatabaseTable.c" + { + const gchar* _tmp6_ = NULL; + GError* _tmp7_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = msg; +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_BACKING, _tmp6_); +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _inner_error_ = _tmp7_; +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 675 "DatabaseTable.c" + } else { +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 139 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 685 "DatabaseTable.c" + } + } +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_NOMEM: +#line 690 "DatabaseTable.c" + { + const gchar* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = msg; +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_MEMORY, _tmp8_); +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _inner_error_ = _tmp9_; +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 708 "DatabaseTable.c" + } else { +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 142 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 718 "DatabaseTable.c" + } + } +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_ABORT: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_LOCKED: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_INTERRUPT: +#line 727 "DatabaseTable.c" + { + const gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = msg; +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_ABORT, _tmp10_); +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _inner_error_ = _tmp11_; +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 745 "DatabaseTable.c" + } else { +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 147 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 755 "DatabaseTable.c" + } + } +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_FULL: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_EMPTY: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_TOOBIG: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_CONSTRAINT: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_RANGE: +#line 768 "DatabaseTable.c" + { + const gchar* _tmp12_ = NULL; + GError* _tmp13_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = msg; +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_LIMITS, _tmp12_); +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _inner_error_ = _tmp13_; +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 786 "DatabaseTable.c" + } else { +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 154 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 796 "DatabaseTable.c" + } + } +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_SCHEMA: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_MISMATCH: +#line 803 "DatabaseTable.c" + { + const gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = msg; +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_TYPESPEC, _tmp14_); +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _inner_error_ = _tmp15_; +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 821 "DatabaseTable.c" + } else { +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 158 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 831 "DatabaseTable.c" + } + } + default: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_ERROR: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_INTERNAL: +#line 123 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + case SQLITE_MISUSE: +#line 841 "DatabaseTable.c" + { + const gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = msg; +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp17_ = g_error_new_literal (DATABASE_ERROR, DATABASE_ERROR_ERROR, _tmp16_); +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _inner_error_ = _tmp17_; +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 859 "DatabaseTable.c" + } else { +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 164 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 869 "DatabaseTable.c" + } + } + } +#line 120 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (msg); +#line 875 "DatabaseTable.c" +} + + +gboolean database_table_exists_by_id (DatabaseTable* self, gint64 id) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + gint64 _tmp9_ = 0LL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; + gboolean _tmp14_ = FALSE; + gint _tmp15_ = 0; + gint _tmp24_ = 0; +#line 168 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE); +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = database_table_db; +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = self->table_name; +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = g_strdup_printf ("SELECT id FROM %s WHERE id=?", _tmp1_); +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = _tmp2_; +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL); +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp4_; +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = _tmp5_; +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp3_); +#line 170 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp6_; +#line 171 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = res; +#line 171 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 173 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = stmt; +#line 173 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = id; +#line 173 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = sqlite3_bind_int64 (_tmp8_, 1, _tmp9_); +#line 173 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp10_; +#line 174 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = res; +#line 174 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 176 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = stmt; +#line 176 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = sqlite3_step (_tmp12_); +#line 176 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp13_; +#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = res; +#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp15_ != SQLITE_ROW) { +#line 948 "DatabaseTable.c" + gint _tmp16_ = 0; +#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = res; +#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = _tmp16_ != SQLITE_DONE; +#line 954 "DatabaseTable.c" + } else { +#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = FALSE; +#line 958 "DatabaseTable.c" + } +#line 177 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp14_) { +#line 962 "DatabaseTable.c" + gint64 _tmp17_ = 0LL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp17_ = id; +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp18_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp17_); +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp19_ = _tmp18_; +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp20_ = self->table_name; +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp21_ = g_strdup_printf ("exists_by_id [%s] %s", _tmp19_, _tmp20_); +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp22_ = _tmp21_; +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp23_ = res; +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_fatal (_tmp22_, _tmp23_); +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp22_); +#line 178 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp19_); +#line 990 "DatabaseTable.c" + } +#line 180 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp24_ = res; +#line 180 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = _tmp24_ == SQLITE_ROW; +#line 180 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 180 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1000 "DatabaseTable.c" +} + + +gboolean database_table_select_by_id (DatabaseTable* self, gint64 id, const gchar* columns, sqlite3_stmt** stmt) { + sqlite3_stmt* _vala_stmt = NULL; + gboolean result = FALSE; + gchar* sql = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gint res = 0; + sqlite3* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + sqlite3_stmt* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + gint64 _tmp9_ = 0LL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; + gboolean _tmp14_ = FALSE; + gint _tmp15_ = 0; + gint _tmp25_ = 0; +#line 183 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE); +#line 183 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (columns != NULL, FALSE); +#line 184 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = columns; +#line 184 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = self->table_name; +#line 184 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = g_strdup_printf ("SELECT %s FROM %s WHERE id=?", _tmp0_, _tmp1_); +#line 184 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + sql = _tmp2_; +#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = database_table_db; +#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = sql; +#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = sqlite3_prepare_v2 (_tmp3_, _tmp4_, -1, &_tmp5_, NULL); +#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (_vala_stmt); +#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_stmt = _tmp5_; +#line 186 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp6_; +#line 187 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = res; +#line 187 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 189 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = _vala_stmt; +#line 189 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = id; +#line 189 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = sqlite3_bind_int64 (_tmp8_, 1, _tmp9_); +#line 189 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp10_; +#line 190 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = res; +#line 190 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 192 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = _vala_stmt; +#line 192 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = sqlite3_step (_tmp12_); +#line 192 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp13_; +#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = res; +#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp15_ != SQLITE_ROW) { +#line 1076 "DatabaseTable.c" + gint _tmp16_ = 0; +#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = res; +#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = _tmp16_ != SQLITE_DONE; +#line 1082 "DatabaseTable.c" + } else { +#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = FALSE; +#line 1086 "DatabaseTable.c" + } +#line 193 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp14_) { +#line 1090 "DatabaseTable.c" + gint64 _tmp17_ = 0LL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gint _tmp24_ = 0; +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp17_ = id; +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp18_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp17_); +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp19_ = _tmp18_; +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp20_ = self->table_name; +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp21_ = columns; +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp22_ = g_strdup_printf ("select_by_id [%s] %s %s", _tmp19_, _tmp20_, _tmp21_); +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp23_ = _tmp22_; +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp24_ = res; +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_fatal (_tmp23_, _tmp24_); +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp23_); +#line 194 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp19_); +#line 1121 "DatabaseTable.c" + } +#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp25_ = res; +#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = _tmp25_ == SQLITE_ROW; +#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (sql); +#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (stmt) { +#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + *stmt = _vala_stmt; +#line 1133 "DatabaseTable.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (_vala_stmt); +#line 1137 "DatabaseTable.c" + } +#line 196 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1141 "DatabaseTable.c" +} + + +static void database_table_prepare_update_by_id (DatabaseTable* self, gint64 id, const gchar* column, sqlite3_stmt** stmt) { + sqlite3_stmt* _vala_stmt = NULL; + gchar* sql = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gint res = 0; + sqlite3* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint64 _tmp7_ = 0LL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (IS_DATABASE_TABLE (self)); +#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (column != NULL); +#line 201 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = self->table_name; +#line 201 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = column; +#line 201 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = g_strdup_printf ("UPDATE %s SET %s=? WHERE id=?", _tmp0_, _tmp1_); +#line 201 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + sql = _tmp2_; +#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = database_table_db; +#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp3_, sql, -1, &_tmp4_, NULL); +#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (_vala_stmt); +#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_stmt = _tmp4_; +#line 203 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp5_; +#line 204 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = res; +#line 204 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK"); +#line 206 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = id; +#line 206 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = sqlite3_bind_int64 (_vala_stmt, 2, _tmp7_); +#line 206 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp8_; +#line 207 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = res; +#line 207 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (sql); +#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (stmt) { +#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + *stmt = _vala_stmt; +#line 1201 "DatabaseTable.c" + } else { +#line 200 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (_vala_stmt); +#line 1205 "DatabaseTable.c" + } +} + + +static gboolean database_table_execute_update_by_id (DatabaseTable* self, sqlite3_stmt* stmt) { + gboolean result = FALSE; + gint res = 0; + sqlite3_stmt* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 210 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE); +#line 210 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (stmt != NULL, FALSE); +#line 211 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = stmt; +#line 211 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = sqlite3_step (_tmp0_); +#line 211 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp1_; +#line 212 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = res; +#line 212 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp2_ != SQLITE_DONE) { +#line 1230 "DatabaseTable.c" + gint _tmp3_ = 0; +#line 213 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = res; +#line 213 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_fatal ("execute_update_by_id", _tmp3_); +#line 215 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = FALSE; +#line 215 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1240 "DatabaseTable.c" + } +#line 218 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = TRUE; +#line 218 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1246 "DatabaseTable.c" +} + + +gboolean database_table_update_text_by_id (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint64 _tmp0_ = 0LL; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint res = 0; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GDestroyNotify _tmp5_ = NULL; + gint _tmp6_ = 0; + gboolean _tmp7_ = FALSE; +#line 221 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE); +#line 221 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (column != NULL, FALSE); +#line 221 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (text != NULL, FALSE); +#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = id; +#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = column; +#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_); +#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 223 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp2_; +#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = text; +#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = g_free; +#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = sqlite3_bind_text (stmt, 1, _tmp4_, -1, _tmp5_); +#line 225 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp6_; +#line 226 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (res == SQLITE_OK, "res == Sqlite.OK"); +#line 228 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = database_table_execute_update_by_id (self, stmt); +#line 228 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = _tmp7_; +#line 228 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 228 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1298 "DatabaseTable.c" +} + + +void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error) { + sqlite3_stmt* stmt = NULL; + gint64 _tmp0_ = 0LL; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint res = 0; + sqlite3_stmt* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GDestroyNotify _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GError * _inner_error_ = NULL; +#line 231 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (IS_DATABASE_TABLE (self)); +#line 231 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (column != NULL); +#line 231 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (text != NULL); +#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = id; +#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = column; +#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_); +#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 233 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp2_; +#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = stmt; +#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = text; +#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = g_free; +#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = sqlite3_bind_text (_tmp3_, 1, _tmp5_, -1, _tmp6_); +#line 235 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp7_; +#line 236 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = res; +#line 236 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 238 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = stmt; +#line 238 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 238 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp10_; +#line 239 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = res; +#line 239 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp11_ != SQLITE_DONE) { +#line 1360 "DatabaseTable.c" + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = self->table_name; +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = column; +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = g_strdup_printf ("DatabaseTable.update_text_by_id_2 %s.%s", _tmp12_, _tmp13_); +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = _tmp14_; +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = res; +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_throw_error (_tmp15_, _tmp16_, &_inner_error_); +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp15_); +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 1390 "DatabaseTable.c" + } else { +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 240 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 1400 "DatabaseTable.c" + } + } + } +#line 231 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 1406 "DatabaseTable.c" +} + + +gboolean database_table_update_int_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint value) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint64 _tmp0_ = 0LL; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint res = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; +#line 243 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE); +#line 243 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (column != NULL, FALSE); +#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = id; +#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = column; +#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_); +#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 245 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp2_; +#line 247 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = value; +#line 247 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = sqlite3_bind_int (stmt, 1, _tmp3_); +#line 247 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp4_; +#line 248 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (res == SQLITE_OK, "res == Sqlite.OK"); +#line 250 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = database_table_execute_update_by_id (self, stmt); +#line 250 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = _tmp5_; +#line 250 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 250 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1450 "DatabaseTable.c" +} + + +void database_table_update_int_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint value, GError** error) { + sqlite3_stmt* stmt = NULL; + gint64 _tmp0_ = 0LL; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint res = 0; + sqlite3_stmt* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3_stmt* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + GError * _inner_error_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (IS_DATABASE_TABLE (self)); +#line 253 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (column != NULL); +#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = id; +#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = column; +#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_); +#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 255 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp2_; +#line 257 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = stmt; +#line 257 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = value; +#line 257 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = sqlite3_bind_int (_tmp3_, 1, _tmp4_); +#line 257 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp5_; +#line 258 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = res; +#line 258 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK"); +#line 260 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = stmt; +#line 260 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = sqlite3_step (_tmp7_); +#line 260 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp8_; +#line 261 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = res; +#line 261 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp9_ != SQLITE_DONE) { +#line 1504 "DatabaseTable.c" + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gint _tmp14_ = 0; +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = self->table_name; +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = column; +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = g_strdup_printf ("DatabaseTable.update_int_by_id_2 %s.%s", _tmp10_, _tmp11_); +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = _tmp12_; +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = res; +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_throw_error (_tmp13_, _tmp14_, &_inner_error_); +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp13_); +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 1534 "DatabaseTable.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 262 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 1544 "DatabaseTable.c" + } + } + } +#line 253 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 1550 "DatabaseTable.c" +} + + +gboolean database_table_update_int64_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint64 value) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint64 _tmp0_ = 0LL; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint res = 0; + gint64 _tmp3_ = 0LL; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; +#line 265 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (IS_DATABASE_TABLE (self), FALSE); +#line 265 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (column != NULL, FALSE); +#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = id; +#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = column; +#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_); +#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 267 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp2_; +#line 269 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = value; +#line 269 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = sqlite3_bind_int64 (stmt, 1, _tmp3_); +#line 269 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp4_; +#line 270 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (res == SQLITE_OK, "res == Sqlite.OK"); +#line 272 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = database_table_execute_update_by_id (self, stmt); +#line 272 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = _tmp5_; +#line 272 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 272 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1594 "DatabaseTable.c" +} + + +void database_table_update_int64_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint64 value, GError** error) { + sqlite3_stmt* stmt = NULL; + gint64 _tmp0_ = 0LL; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint res = 0; + sqlite3_stmt* _tmp3_ = NULL; + gint64 _tmp4_ = 0LL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3_stmt* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + GError * _inner_error_ = NULL; +#line 275 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (IS_DATABASE_TABLE (self)); +#line 275 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (column != NULL); +#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = id; +#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = column; +#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_prepare_update_by_id (self, _tmp0_, _tmp1_, &_tmp2_); +#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 277 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp2_; +#line 279 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = stmt; +#line 279 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = value; +#line 279 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = sqlite3_bind_int64 (_tmp3_, 1, _tmp4_); +#line 279 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp5_; +#line 280 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = res; +#line 280 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK"); +#line 282 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = stmt; +#line 282 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = sqlite3_step (_tmp7_); +#line 282 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp8_; +#line 283 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = res; +#line 283 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp9_ != SQLITE_DONE) { +#line 1648 "DatabaseTable.c" + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gint _tmp14_ = 0; +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = self->table_name; +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = column; +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = g_strdup_printf ("DatabaseTable.update_int64_by_id_2 %s.%s", _tmp10_, _tmp11_); +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = _tmp12_; +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = res; +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_throw_error (_tmp13_, _tmp14_, &_inner_error_); +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp13_); +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 1678 "DatabaseTable.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 284 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 1688 "DatabaseTable.c" + } + } + } +#line 275 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 1694 "DatabaseTable.c" +} + + +void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + gint64 _tmp9_ = 0LL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + GError * _inner_error_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (IS_DATABASE_TABLE (self)); +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = database_table_db; +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = self->table_name; +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = g_strdup_printf ("DELETE FROM %s WHERE id=?", _tmp1_); +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = _tmp2_; +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL); +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp4_; +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = _tmp5_; +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp3_); +#line 289 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp6_; +#line 290 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = res; +#line 290 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 292 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = stmt; +#line 292 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = id; +#line 292 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = sqlite3_bind_int64 (_tmp8_, 1, _tmp9_); +#line 292 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp10_; +#line 293 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = res; +#line 293 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 295 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = stmt; +#line 295 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = sqlite3_step (_tmp12_); +#line 295 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp13_; +#line 296 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = res; +#line 296 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp14_ != SQLITE_DONE) { +#line 1765 "DatabaseTable.c" + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = self->table_name; +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = g_strdup_printf ("%s.remove", _tmp15_); +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp17_ = _tmp16_; +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp18_ = res; +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_throw_error (_tmp17_, _tmp18_, &_inner_error_); +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp17_); +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 1792 "DatabaseTable.c" + } else { +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 297 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 1802 "DatabaseTable.c" + } + } + } +#line 287 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 1808 "DatabaseTable.c" +} + + +gboolean database_table_has_column (const gchar* table_name, const gchar* column_name) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 300 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (table_name != NULL, FALSE); +#line 300 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (column_name != NULL, FALSE); +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = database_table_db; +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = table_name; +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = g_strdup_printf ("PRAGMA table_info(%s)", _tmp1_); +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = _tmp2_; +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL); +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp4_; +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = _tmp5_; +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp3_); +#line 302 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp6_; +#line 303 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = res; +#line 303 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1852 "DatabaseTable.c" + { + gboolean _tmp8_ = FALSE; +#line 305 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = TRUE; +#line 305 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + while (TRUE) { +#line 1859 "DatabaseTable.c" + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 305 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (!_tmp8_) { +#line 1865 "DatabaseTable.c" + } +#line 305 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = FALSE; +#line 306 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = stmt; +#line 306 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 306 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp10_; +#line 307 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = res; +#line 307 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp11_ == SQLITE_DONE) { +#line 308 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + break; +#line 1881 "DatabaseTable.c" + } else { + gint _tmp12_ = 0; +#line 309 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = res; +#line 309 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp12_ != SQLITE_ROW) { +#line 1888 "DatabaseTable.c" + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; +#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = table_name; +#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = g_strdup_printf ("has_column %s", _tmp13_); +#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = _tmp14_; +#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = res; +#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_fatal (_tmp15_, _tmp16_); +#line 310 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp15_); +#line 312 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + break; +#line 1907 "DatabaseTable.c" + } else { + gchar* column = NULL; + sqlite3_stmt* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + const gchar* _tmp21_ = NULL; +#line 314 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp17_ = stmt; +#line 314 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp18_ = sqlite3_column_text (_tmp17_, 1); +#line 314 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp19_ = g_strdup (_tmp18_); +#line 314 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + column = _tmp19_; +#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp21_ = column; +#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp21_ != NULL) { +#line 1927 "DatabaseTable.c" + const gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp22_ = column; +#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp23_ = column_name; +#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp20_ = g_strcmp0 (_tmp22_, _tmp23_) == 0; +#line 1936 "DatabaseTable.c" + } else { +#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp20_ = FALSE; +#line 1940 "DatabaseTable.c" + } +#line 315 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp20_) { +#line 316 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = TRUE; +#line 316 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (column); +#line 316 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 316 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1952 "DatabaseTable.c" + } +#line 309 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (column); +#line 1956 "DatabaseTable.c" + } + } + } + } +#line 320 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = FALSE; +#line 320 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 320 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 1967 "DatabaseTable.c" +} + + +gboolean database_table_has_table (const gchar* table_name) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 323 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (table_name != NULL, FALSE); +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = database_table_db; +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = table_name; +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = g_strdup_printf ("PRAGMA table_info(%s)", _tmp1_); +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = _tmp2_; +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL); +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp4_; +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = _tmp5_; +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp3_); +#line 325 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp6_; +#line 326 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = res; +#line 326 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 328 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = sqlite3_step (stmt); +#line 328 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp8_; +#line 330 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = res; +#line 330 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = _tmp9_ != SQLITE_DONE; +#line 330 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 330 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 2023 "DatabaseTable.c" +} + + +gboolean database_table_add_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 333 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (table_name != NULL, FALSE); +#line 333 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (column_name != NULL, FALSE); +#line 333 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (column_constraints != NULL, FALSE); +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = database_table_db; +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = table_name; +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = column_name; +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = column_constraints; +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = g_strdup_printf ("ALTER TABLE %s ADD COLUMN %s %s", _tmp1_, _tmp2_, _tmp3_); +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = _tmp4_; +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = sqlite3_prepare_v2 (_tmp0_, _tmp5_, -1, &_tmp6_, NULL); +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp6_; +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = _tmp7_; +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp5_); +#line 335 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp8_; +#line 337 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = res; +#line 337 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 339 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = stmt; +#line 339 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = sqlite3_step (_tmp10_); +#line 339 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp11_; +#line 340 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = res; +#line 340 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp12_ != SQLITE_DONE) { +#line 2088 "DatabaseTable.c" + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + sqlite3* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = table_name; +#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = column_name; +#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = column_constraints; +#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = res; +#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp17_ = database_table_db; +#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp18_ = sqlite3_errmsg (_tmp17_); +#line 341 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_critical ("DatabaseTable.vala:341: Unable to add column %s %s %s: (%d) %s", _tmp13_, _tmp14_, _tmp15_, _tmp16_, _tmp18_); +#line 344 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = FALSE; +#line 344 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 344 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 2115 "DatabaseTable.c" + } +#line 347 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = TRUE; +#line 347 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 347 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 2123 "DatabaseTable.c" +} + + +gboolean database_table_ensure_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints, const gchar* upgrade_msg) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 353 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (table_name != NULL, FALSE); +#line 353 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (column_name != NULL, FALSE); +#line 353 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (column_constraints != NULL, FALSE); +#line 353 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (upgrade_msg != NULL, FALSE); +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = table_name; +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = database_table_has_table (_tmp1_); +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (!_tmp2_) { +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = TRUE; +#line 2153 "DatabaseTable.c" + } else { + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = table_name; +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = column_name; +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = database_table_has_column (_tmp3_, _tmp4_); +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = _tmp5_; +#line 2166 "DatabaseTable.c" + } +#line 355 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp0_) { +#line 356 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = TRUE; +#line 356 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 2174 "DatabaseTable.c" + } +#line 358 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = upgrade_msg; +#line 358 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_message ("DatabaseTable.vala:358: %s", _tmp6_); +#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = table_name; +#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = column_name; +#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = column_constraints; +#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = database_table_add_column (_tmp7_, _tmp8_, _tmp9_); +#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = _tmp10_; +#line 360 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 2192 "DatabaseTable.c" +} + + +gint database_table_get_row_count (DatabaseTable* self) { + gint result = 0; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + sqlite3_stmt* _tmp15_ = NULL; + gint _tmp16_ = 0; +#line 363 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (IS_DATABASE_TABLE (self), 0); +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = database_table_db; +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = self->table_name; +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = g_strdup_printf ("SELECT COUNT(id) AS RowCount FROM %s", _tmp1_); +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = _tmp2_; +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL); +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + stmt = _tmp4_; +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = _tmp5_; +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (_tmp3_); +#line 365 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp6_; +#line 366 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp7_ = res; +#line 366 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 368 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp8_ = stmt; +#line 368 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp9_ = sqlite3_step (_tmp8_); +#line 368 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp9_; +#line 369 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp10_ = res; +#line 369 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp10_ != SQLITE_ROW) { +#line 2249 "DatabaseTable.c" + const gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; + sqlite3* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp11_ = self->table_name; +#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp12_ = res; +#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp13_ = database_table_db; +#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp14_ = sqlite3_errmsg (_tmp13_); +#line 370 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_critical ("DatabaseTable.vala:370: Unable to retrieve row count on %s: (%d) %s", _tmp11_, _tmp12_, _tmp14_); +#line 372 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = 0; +#line 372 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 372 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 2270 "DatabaseTable.c" + } +#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp15_ = stmt; +#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp16_ = sqlite3_column_int (_tmp15_, 0); +#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + result = _tmp16_; +#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _sqlite3_finalize0 (stmt); +#line 375 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return result; +#line 2282 "DatabaseTable.c" +} + + +void database_table_begin_transaction (void) { + gint _tmp0_ = 0; + gint res = 0; + sqlite3* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 380 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = database_table_in_transaction; +#line 380 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_in_transaction = _tmp0_ + 1; +#line 380 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp0_ != 0) { +#line 381 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 2300 "DatabaseTable.c" + } +#line 383 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = database_table_db; +#line 383 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = _sqlite3_exec (_tmp1_, "BEGIN TRANSACTION", NULL, NULL, NULL); +#line 383 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp2_; +#line 384 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = res; +#line 384 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 2312 "DatabaseTable.c" +} + + +void database_table_commit_transaction (GError** error) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint res = 0; + sqlite3* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GError * _inner_error_ = NULL; +#line 389 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp0_ = database_table_in_transaction; +#line 389 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _vala_assert (_tmp0_ > 0, "in_transaction > 0"); +#line 390 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp1_ = database_table_in_transaction; +#line 390 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_in_transaction = _tmp1_ - 1; +#line 390 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp2_ = database_table_in_transaction; +#line 390 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp2_ != 0) { +#line 391 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 2339 "DatabaseTable.c" + } +#line 393 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp3_ = database_table_db; +#line 393 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp4_ = _sqlite3_exec (_tmp3_, "COMMIT TRANSACTION", NULL, NULL, NULL); +#line 393 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + res = _tmp4_; +#line 394 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp5_ = res; +#line 394 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_tmp5_ != SQLITE_DONE) { +#line 2351 "DatabaseTable.c" + gint _tmp6_ = 0; +#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _tmp6_ = res; +#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_throw_error ("commit_transaction", _tmp6_, &_inner_error_); +#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_propagate_error (error, _inner_error_); +#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 2365 "DatabaseTable.c" + } else { +#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.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 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_clear_error (&_inner_error_); +#line 395 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return; +#line 2373 "DatabaseTable.c" + } + } + } +} + + +DatabaseTable* database_table_construct (GType object_type) { + DatabaseTable* self = NULL; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + self = (DatabaseTable*) g_type_create_instance (object_type); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return self; +#line 2386 "DatabaseTable.c" +} + + +static void value_database_table_init (GValue* value) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + value->data[0].v_pointer = NULL; +#line 2393 "DatabaseTable.c" +} + + +static void value_database_table_free_value (GValue* value) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (value->data[0].v_pointer) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_unref (value->data[0].v_pointer); +#line 2402 "DatabaseTable.c" + } +} + + +static void value_database_table_copy_value (const GValue* src_value, GValue* dest_value) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (src_value->data[0].v_pointer) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + dest_value->data[0].v_pointer = database_table_ref (src_value->data[0].v_pointer); +#line 2412 "DatabaseTable.c" + } else { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 2416 "DatabaseTable.c" + } +} + + +static gpointer value_database_table_peek_pointer (const GValue* value) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return value->data[0].v_pointer; +#line 2424 "DatabaseTable.c" +} + + +static gchar* value_database_table_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (collect_values[0].v_pointer) { +#line 2431 "DatabaseTable.c" + DatabaseTable* object; + object = collect_values[0].v_pointer; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2438 "DatabaseTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2442 "DatabaseTable.c" + } +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + value->data[0].v_pointer = database_table_ref (object); +#line 2446 "DatabaseTable.c" + } else { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + value->data[0].v_pointer = NULL; +#line 2450 "DatabaseTable.c" + } +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return NULL; +#line 2454 "DatabaseTable.c" +} + + +static gchar* value_database_table_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DatabaseTable** object_p; + object_p = collect_values[0].v_pointer; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (!object_p) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2465 "DatabaseTable.c" + } +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (!value->data[0].v_pointer) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + *object_p = NULL; +#line 2471 "DatabaseTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + *object_p = value->data[0].v_pointer; +#line 2475 "DatabaseTable.c" + } else { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + *object_p = database_table_ref (value->data[0].v_pointer); +#line 2479 "DatabaseTable.c" + } +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return NULL; +#line 2483 "DatabaseTable.c" +} + + +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecDatabaseTable* spec; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_DATABASE_TABLE), NULL); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return G_PARAM_SPEC (spec); +#line 2497 "DatabaseTable.c" +} + + +gpointer value_get_database_table (const GValue* value) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATABASE_TABLE), NULL); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return value->data[0].v_pointer; +#line 2506 "DatabaseTable.c" +} + + +void value_set_database_table (GValue* value, gpointer v_object) { + DatabaseTable* old; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATABASE_TABLE)); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + old = value->data[0].v_pointer; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (v_object) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DATABASE_TABLE)); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + value->data[0].v_pointer = v_object; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_ref (value->data[0].v_pointer); +#line 2526 "DatabaseTable.c" + } else { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + value->data[0].v_pointer = NULL; +#line 2530 "DatabaseTable.c" + } +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (old) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_unref (old); +#line 2536 "DatabaseTable.c" + } +} + + +void value_take_database_table (GValue* value, gpointer v_object) { + DatabaseTable* old; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DATABASE_TABLE)); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + old = value->data[0].v_pointer; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (v_object) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DATABASE_TABLE)); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + value->data[0].v_pointer = v_object; +#line 2555 "DatabaseTable.c" + } else { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + value->data[0].v_pointer = NULL; +#line 2559 "DatabaseTable.c" + } +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (old) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_unref (old); +#line 2565 "DatabaseTable.c" + } +} + + +static void database_table_class_init (DatabaseTableClass * klass) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + database_table_parent_class = g_type_class_peek_parent (klass); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + ((DatabaseTableClass *) klass)->finalize = database_table_finalize; +#line 2575 "DatabaseTable.c" +} + + +static void database_table_instance_init (DatabaseTable * self) { +#line 30 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + self->table_name = NULL; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + self->ref_count = 1; +#line 2584 "DatabaseTable.c" +} + + +static void database_table_finalize (DatabaseTable* obj) { + DatabaseTable * self; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DATABASE_TABLE, DatabaseTable); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_signal_handlers_destroy (self); +#line 30 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + _g_free0 (self->table_name); +#line 2596 "DatabaseTable.c" +} + + +GType database_table_get_type (void) { + static volatile gsize database_table_type_id__volatile = 0; + if (g_once_init_enter (&database_table_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_database_table_init, value_database_table_free_value, value_database_table_copy_value, value_database_table_peek_pointer, "p", value_database_table_collect_value, "p", value_database_table_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DatabaseTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) database_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DatabaseTable), 0, (GInstanceInitFunc) database_table_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType database_table_type_id; + database_table_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DatabaseTable", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&database_table_type_id__volatile, database_table_type_id); + } + return database_table_type_id__volatile; +} + + +gpointer database_table_ref (gpointer instance) { + DatabaseTable* self; + self = instance; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + return instance; +#line 2621 "DatabaseTable.c" +} + + +void database_table_unref (gpointer instance) { + DatabaseTable* self; + self = instance; +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + DATABASE_TABLE_GET_CLASS (self)->finalize (self); +#line 16 "/home/jens/Source/shotwell/src/db/DatabaseTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2634 "DatabaseTable.c" + } +} + + + diff --git a/src/db/DatabaseTable.vala b/src/db/DatabaseTable.vala index 42eac69..09c026f 100644 --- a/src/db/DatabaseTable.vala +++ b/src/db/DatabaseTable.vala @@ -49,6 +49,13 @@ public abstract class DatabaseTable { e.message)); } } +#if SQLITE_DEBUG + db.trace (on_trace); +#endif + } + + public static void on_trace (string message) { + debug ("SQLITE: %s", message); } public static void init(string filename) { diff --git a/src/db/Db.c b/src/db/Db.c new file mode 100644 index 0000000..9c7e328 --- /dev/null +++ b/src/db/Db.c @@ -0,0 +1,852 @@ +/* Db.c generated by valac 0.32.1, the Vala compiler + * generated from Db.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define DB_TYPE_VERIFY_RESULT (db_verify_result_get_type ()) + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_VERSION_TABLE (version_table_get_type ()) +#define VERSION_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VERSION_TABLE, VersionTable)) +#define VERSION_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VERSION_TABLE, VersionTableClass)) +#define IS_VERSION_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VERSION_TABLE)) +#define IS_VERSION_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VERSION_TABLE)) +#define VERSION_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VERSION_TABLE, VersionTableClass)) + +typedef struct _VersionTable VersionTable; +typedef struct _VersionTableClass VersionTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) +#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); + +typedef enum { + DB_VERIFY_RESULT_OK, + DB_VERIFY_RESULT_FUTURE_VERSION, + DB_VERIFY_RESULT_UPGRADE_ERROR, + DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE +} DbVerifyResult; + + +extern gchar* db_filename; +gchar* db_filename = NULL; + +#define DB_IN_MEMORY_NAME ":memory:" +void db_preconfigure (GFile* db_file); +void db_init (GError** error); +void database_table_init (const gchar* filename); +void db_terminate (void); +void database_table_terminate (void); +GType db_verify_result_get_type (void) G_GNUC_CONST; +DbVerifyResult db_verify_database (gchar** app_version, gint* schema_version); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType version_table_get_type (void) G_GNUC_CONST; +VersionTable* version_table_get_instance (void); +gint version_table_get_version (VersionTable* self, gchar** app_version); +#define DATABASE_TABLE_SCHEMA_VERSION 20 +#define RESOURCES_APP_VERSION _VERSION +void version_table_set_version (VersionTable* self, gint version, const gchar* app_version, const gchar* user_data); +DbVerifyResult db_upgrade_database (gint input_version); +gboolean database_table_has_column (const gchar* table_name, const gchar* column_name); +gboolean database_table_add_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints); +gboolean database_table_has_table (const gchar* table_name); +gboolean database_table_ensure_column (const gchar* table_name, const gchar* column_name, const gchar* column_constraints, const gchar* upgrade_msg); +void tag_table_upgrade_for_htags (void); +void gsettings_configuration_engine_run_gsettings_migrator (void); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +void application_set_raw_thumbs_fix_required (Application* self, gboolean should_fixup); +void version_table_update_version (VersionTable* self, gint version, const gchar* app_version); + + +void db_preconfigure (GFile* db_file) { + gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp5_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/db/Db.vala" + g_return_if_fail ((db_file == NULL) || G_IS_FILE (db_file)); +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp1_ = db_file; +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp1_ != NULL) { +#line 118 "Db.c" + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp2_ = db_file; +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (_tmp0_); +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp0_ = _tmp3_; +#line 129 "Db.c" + } else { + gchar* _tmp4_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp4_ = g_strdup (DB_IN_MEMORY_NAME); +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (_tmp0_); +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp0_ = _tmp4_; +#line 138 "Db.c" + } +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp5_ = g_strdup (_tmp0_); +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (db_filename); +#line 15 "/home/jens/Source/shotwell/src/db/Db.vala" + db_filename = _tmp5_; +#line 14 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (_tmp0_); +#line 148 "Db.c" +} + + +void db_init (GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp0_ = db_filename; +#line 19 "/home/jens/Source/shotwell/src/db/Db.vala" + _vala_assert (_tmp0_ != NULL, "filename != null"); +#line 21 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp1_ = db_filename; +#line 21 "/home/jens/Source/shotwell/src/db/Db.vala" + database_table_init (_tmp1_); +#line 163 "Db.c" +} + + +void db_terminate (void) { +#line 25 "/home/jens/Source/shotwell/src/db/Db.vala" + database_table_terminate (); +#line 170 "Db.c" +} + + +GType db_verify_result_get_type (void) { + static volatile gsize db_verify_result_type_id__volatile = 0; + if (g_once_init_enter (&db_verify_result_type_id__volatile)) { + static const GEnumValue values[] = {{DB_VERIFY_RESULT_OK, "DB_VERIFY_RESULT_OK", "ok"}, {DB_VERIFY_RESULT_FUTURE_VERSION, "DB_VERIFY_RESULT_FUTURE_VERSION", "future-version"}, {DB_VERIFY_RESULT_UPGRADE_ERROR, "DB_VERIFY_RESULT_UPGRADE_ERROR", "upgrade-error"}, {DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE, "DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE", "no-upgrade-available"}, {0, NULL, NULL}}; + GType db_verify_result_type_id; + db_verify_result_type_id = g_enum_register_static ("DbVerifyResult", values); + g_once_init_leave (&db_verify_result_type_id__volatile, db_verify_result_type_id); + } + return db_verify_result_type_id__volatile; +} + + +DbVerifyResult db_verify_database (gchar** app_version, gint* schema_version) { + gchar* _vala_app_version = NULL; + gint _vala_schema_version = 0; + DbVerifyResult result = 0; + VersionTable* version_table = NULL; + VersionTable* _tmp0_ = NULL; + VersionTable* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp7_ = 0; +#line 36 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp0_ = version_table_get_instance (); +#line 36 "/home/jens/Source/shotwell/src/db/Db.vala" + version_table = _tmp0_; +#line 37 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp1_ = version_table; +#line 37 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp3_ = version_table_get_version (_tmp1_, &_tmp2_); +#line 37 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (_vala_app_version); +#line 37 "/home/jens/Source/shotwell/src/db/Db.vala" + _vala_app_version = _tmp2_; +#line 37 "/home/jens/Source/shotwell/src/db/Db.vala" + _vala_schema_version = _tmp3_; +#line 39 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp4_ = _vala_schema_version; +#line 39 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp4_ >= 0) { +#line 215 "Db.c" + gint _tmp5_ = 0; + const gchar* _tmp6_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp5_ = _vala_schema_version; +#line 40 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp6_ = _vala_app_version; +#line 40 "/home/jens/Source/shotwell/src/db/Db.vala" + g_debug ("Db.vala:40: Database schema version %d created by app version %s", _tmp5_, _tmp6_); +#line 224 "Db.c" + } +#line 42 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp7_ = _vala_schema_version; +#line 42 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp7_ == -1) { +#line 230 "Db.c" + VersionTable* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/db/Db.vala" + g_debug ("Db.vala:44: Creating database schema version %d for app version %s", DATABASE_TABLE_SCHEMA_VERSION, RESOURCES_APP_VERSION); +#line 46 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp8_ = version_table; +#line 46 "/home/jens/Source/shotwell/src/db/Db.vala" + version_table_set_version (_tmp8_, DATABASE_TABLE_SCHEMA_VERSION, RESOURCES_APP_VERSION, NULL); +#line 47 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp9_ = g_strdup (RESOURCES_APP_VERSION); +#line 47 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (_vala_app_version); +#line 47 "/home/jens/Source/shotwell/src/db/Db.vala" + _vala_app_version = _tmp9_; +#line 48 "/home/jens/Source/shotwell/src/db/Db.vala" + _vala_schema_version = DATABASE_TABLE_SCHEMA_VERSION; +#line 247 "Db.c" + } else { + gint _tmp10_ = 0; +#line 49 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp10_ = _vala_schema_version; +#line 49 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp10_ > DATABASE_TABLE_SCHEMA_VERSION) { +#line 51 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_FUTURE_VERSION; +#line 51 "/home/jens/Source/shotwell/src/db/Db.vala" + _database_table_unref0 (version_table); +#line 51 "/home/jens/Source/shotwell/src/db/Db.vala" + if (app_version) { +#line 51 "/home/jens/Source/shotwell/src/db/Db.vala" + *app_version = _vala_app_version; +#line 262 "Db.c" + } else { +#line 51 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (_vala_app_version); +#line 266 "Db.c" + } +#line 51 "/home/jens/Source/shotwell/src/db/Db.vala" + if (schema_version) { +#line 51 "/home/jens/Source/shotwell/src/db/Db.vala" + *schema_version = _vala_schema_version; +#line 272 "Db.c" + } +#line 51 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 276 "Db.c" + } else { + gint _tmp11_ = 0; +#line 52 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp11_ = _vala_schema_version; +#line 52 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp11_ < DATABASE_TABLE_SCHEMA_VERSION) { +#line 283 "Db.c" + DbVerifyResult _result_ = 0; + gint _tmp12_ = 0; + DbVerifyResult _tmp13_ = 0; + DbVerifyResult _tmp14_ = 0; +#line 54 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp12_ = _vala_schema_version; +#line 54 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp13_ = db_upgrade_database (_tmp12_); +#line 54 "/home/jens/Source/shotwell/src/db/Db.vala" + _result_ = _tmp13_; +#line 55 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp14_ = _result_; +#line 55 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp14_ != DB_VERIFY_RESULT_OK) { +#line 56 "/home/jens/Source/shotwell/src/db/Db.vala" + result = _result_; +#line 56 "/home/jens/Source/shotwell/src/db/Db.vala" + _database_table_unref0 (version_table); +#line 56 "/home/jens/Source/shotwell/src/db/Db.vala" + if (app_version) { +#line 56 "/home/jens/Source/shotwell/src/db/Db.vala" + *app_version = _vala_app_version; +#line 306 "Db.c" + } else { +#line 56 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (_vala_app_version); +#line 310 "Db.c" + } +#line 56 "/home/jens/Source/shotwell/src/db/Db.vala" + if (schema_version) { +#line 56 "/home/jens/Source/shotwell/src/db/Db.vala" + *schema_version = _vala_schema_version; +#line 316 "Db.c" + } +#line 56 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 320 "Db.c" + } + } + } + } +#line 59 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_OK; +#line 59 "/home/jens/Source/shotwell/src/db/Db.vala" + _database_table_unref0 (version_table); +#line 59 "/home/jens/Source/shotwell/src/db/Db.vala" + if (app_version) { +#line 59 "/home/jens/Source/shotwell/src/db/Db.vala" + *app_version = _vala_app_version; +#line 333 "Db.c" + } else { +#line 59 "/home/jens/Source/shotwell/src/db/Db.vala" + _g_free0 (_vala_app_version); +#line 337 "Db.c" + } +#line 59 "/home/jens/Source/shotwell/src/db/Db.vala" + if (schema_version) { +#line 59 "/home/jens/Source/shotwell/src/db/Db.vala" + *schema_version = _vala_schema_version; +#line 343 "Db.c" + } +#line 59 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 347 "Db.c" +} + + +DbVerifyResult db_upgrade_database (gint input_version) { + DbVerifyResult result = 0; + gint _tmp0_ = 0; + gint version = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp10_ = FALSE; + gboolean _tmp12_ = FALSE; + gboolean _tmp14_ = FALSE; + gboolean _tmp16_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + gboolean _tmp24_ = FALSE; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp29_ = FALSE; + gboolean _tmp31_ = FALSE; + gboolean _tmp33_ = FALSE; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gboolean _tmp37_ = FALSE; + gboolean _tmp39_ = FALSE; + gboolean _tmp41_ = FALSE; + gint _tmp43_ = 0; + gint _tmp46_ = 0; + VersionTable* _tmp47_ = NULL; + VersionTable* _tmp48_ = NULL; + gint _tmp49_ = 0; + gint _tmp50_ = 0; +#line 63 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp0_ = input_version; +#line 63 "/home/jens/Source/shotwell/src/db/Db.vala" + _vala_assert (_tmp0_ < DATABASE_TABLE_SCHEMA_VERSION, "input_version < DatabaseTable.SCHEMA_VERSION"); +#line 65 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp1_ = input_version; +#line 65 "/home/jens/Source/shotwell/src/db/Db.vala" + version = _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp2_ = version; +#line 68 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp2_ == 1) { +#line 69 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE; +#line 69 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 401 "Db.c" + } +#line 71 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp3_ = version; +#line 71 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:71: Upgrading database from schema version %d to %d", _tmp3_, DATABASE_TABLE_SCHEMA_VERSION); +#line 83 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp4_ = database_table_has_column ("PhotoTable", "flags"); +#line 83 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp4_) { +#line 411 "Db.c" + gboolean _tmp5_ = FALSE; +#line 84 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:84: upgrade_database: adding flags column to PhotoTable"); +#line 85 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp5_ = database_table_add_column ("PhotoTable", "flags", "INTEGER DEFAULT 0"); +#line 85 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp5_) { +#line 86 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 86 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 423 "Db.c" + } + } +#line 89 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 3; +#line 100 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp6_ = database_table_has_column ("PhotoTable", "file_format"); +#line 100 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp6_) { +#line 432 "Db.c" + gboolean _tmp7_ = FALSE; +#line 101 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:101: upgrade_database: adding file_format column to PhotoTable"); +#line 102 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp7_ = database_table_add_column ("PhotoTable", "file_format", "INTEGER DEFAULT 0"); +#line 102 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp7_) { +#line 103 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 103 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 444 "Db.c" + } + } +#line 106 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 4; +#line 113 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp8_ = database_table_has_column ("PhotoTable", "title"); +#line 113 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp8_) { +#line 453 "Db.c" + gboolean _tmp9_ = FALSE; +#line 114 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:114: upgrade_database: adding title column to PhotoTable"); +#line 115 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp9_ = database_table_add_column ("PhotoTable", "title", "TEXT"); +#line 115 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp9_) { +#line 116 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 116 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 465 "Db.c" + } + } +#line 119 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 5; +#line 126 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp10_ = database_table_has_column ("PhotoTable", "backlinks"); +#line 126 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp10_) { +#line 474 "Db.c" + gboolean _tmp11_ = FALSE; +#line 127 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:127: upgrade_database: adding backlinks column to PhotoTable"); +#line 128 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp11_ = database_table_add_column ("PhotoTable", "backlinks", "TEXT"); +#line 128 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp11_) { +#line 129 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 129 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 486 "Db.c" + } + } +#line 132 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 6; +#line 146 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp12_ = database_table_has_column ("PhotoTable", "time_reimported"); +#line 146 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp12_) { +#line 495 "Db.c" + gboolean _tmp13_ = FALSE; +#line 147 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:147: upgrade_database: adding time_reimported column to PhotoT" \ +"able"); +#line 148 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp13_ = database_table_add_column ("PhotoTable", "time_reimported", "INTEGER"); +#line 148 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp13_) { +#line 149 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 149 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 507 "Db.c" + } + } +#line 152 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp14_ = database_table_has_column ("PhotoTable", "editable_id"); +#line 152 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp14_) { +#line 514 "Db.c" + gboolean _tmp15_ = FALSE; +#line 153 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:153: upgrade_database: adding editable_id column to PhotoTable"); +#line 154 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp15_ = database_table_add_column ("PhotoTable", "editable_id", "INTEGER DEFAULT -1"); +#line 154 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp15_) { +#line 155 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 155 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 526 "Db.c" + } + } +#line 158 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 7; +#line 170 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp16_ = database_table_has_column ("PhotoTable", "rating"); +#line 170 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp16_) { +#line 535 "Db.c" + gboolean _tmp17_ = FALSE; +#line 171 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:171: upgrade_database: adding rating column to PhotoTable"); +#line 172 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp17_ = database_table_add_column ("PhotoTable", "rating", "INTEGER DEFAULT 0"); +#line 172 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp17_) { +#line 173 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 173 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 547 "Db.c" + } + } +#line 182 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp18_ = database_table_has_column ("PhotoTable", "metadata_dirty"); +#line 182 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp18_) { +#line 554 "Db.c" + gboolean _tmp19_ = FALSE; +#line 183 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:183: upgrade_database: adding metadata_dirty column to PhotoTa" \ +"ble"); +#line 184 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp19_ = database_table_add_column ("PhotoTable", "metadata_dirty", "INTEGER DEFAULT 1"); +#line 184 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp19_) { +#line 185 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 185 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 566 "Db.c" + } + } +#line 188 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 9; +#line 195 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp21_ = database_table_has_table ("VideoTable"); +#line 195 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp21_) { +#line 575 "Db.c" + gboolean _tmp22_ = FALSE; +#line 195 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp22_ = database_table_has_column ("VideoTable", "flags"); +#line 195 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp20_ = !_tmp22_; +#line 581 "Db.c" + } else { +#line 195 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp20_ = FALSE; +#line 585 "Db.c" + } +#line 195 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp20_) { +#line 589 "Db.c" + gboolean _tmp23_ = FALSE; +#line 196 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:196: upgrade_database: adding flags column to VideoTable"); +#line 197 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp23_ = database_table_add_column ("VideoTable", "flags", "INTEGER DEFAULT 0"); +#line 197 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp23_) { +#line 198 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 198 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 601 "Db.c" + } + } +#line 201 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 10; +#line 208 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp24_ = database_table_has_column ("EventTable", "primary_source_id"); +#line 208 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp24_) { +#line 610 "Db.c" + gboolean _tmp25_ = FALSE; +#line 209 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:209: upgrade_database: adding primary_source_id column to Even" \ +"tTable"); +#line 210 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp25_ = database_table_add_column ("EventTable", "primary_source_id", "INTEGER DEFAULT 0"); +#line 210 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp25_) { +#line 211 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 211 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 622 "Db.c" + } + } +#line 214 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 11; +#line 221 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp26_ = database_table_ensure_column ("TombstoneTable", "reason", "INTEGER DEFAULT 0", "upgrade_database: adding reason column to TombstoneTable"); +#line 221 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp26_) { +#line 223 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 223 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 635 "Db.c" + } +#line 226 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 12; +#line 233 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp27_ = database_table_has_column ("PhotoTable", "developer"); +#line 233 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp27_) { +#line 643 "Db.c" + gboolean _tmp28_ = FALSE; +#line 234 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:234: upgrade_database: adding developer column to PhotoTable"); +#line 235 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp28_ = database_table_add_column ("PhotoTable", "developer", "TEXT"); +#line 235 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp28_) { +#line 236 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 236 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 655 "Db.c" + } + } +#line 239 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp29_ = database_table_has_column ("PhotoTable", "develop_shotwell_id"); +#line 239 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp29_) { +#line 662 "Db.c" + gboolean _tmp30_ = FALSE; +#line 240 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:240: upgrade_database: adding develop_shotwell_id column to Ph" \ +"otoTable"); +#line 241 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp30_ = database_table_add_column ("PhotoTable", "develop_shotwell_id", "INTEGER DEFAULT -1"); +#line 241 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp30_) { +#line 242 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 242 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 674 "Db.c" + } + } +#line 245 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp31_ = database_table_has_column ("PhotoTable", "develop_camera_id"); +#line 245 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp31_) { +#line 681 "Db.c" + gboolean _tmp32_ = FALSE; +#line 246 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:246: upgrade_database: adding develop_camera_id column to Phot" \ +"oTable"); +#line 247 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp32_ = database_table_add_column ("PhotoTable", "develop_camera_id", "INTEGER DEFAULT -1"); +#line 247 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp32_) { +#line 248 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 248 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 693 "Db.c" + } + } +#line 251 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp33_ = database_table_has_column ("PhotoTable", "develop_embedded_id"); +#line 251 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp33_) { +#line 700 "Db.c" + gboolean _tmp34_ = FALSE; +#line 252 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:252: upgrade_database: adding develop_embedded_id column to Ph" \ +"otoTable"); +#line 253 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp34_ = database_table_add_column ("PhotoTable", "develop_embedded_id", "INTEGER DEFAULT -1"); +#line 253 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp34_) { +#line 254 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 254 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 712 "Db.c" + } + } +#line 257 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 13; +#line 264 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp35_ = input_version; +#line 264 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp35_ < 14) { +#line 265 "/home/jens/Source/shotwell/src/db/Db.vala" + tag_table_upgrade_for_htags (); +#line 723 "Db.c" + } +#line 267 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 14; +#line 279 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 15; +#line 289 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp36_ = input_version; +#line 289 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp36_ < 16) { +#line 292 "/home/jens/Source/shotwell/src/db/Db.vala" + gsettings_configuration_engine_run_gsettings_migrator (); +#line 735 "Db.c" + } +#line 295 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 16; +#line 302 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp37_ = database_table_has_column ("PhotoTable", "comment"); +#line 302 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp37_) { +#line 743 "Db.c" + gboolean _tmp38_ = FALSE; +#line 303 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:303: upgrade_database: adding comment column to PhotoTable"); +#line 304 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp38_ = database_table_add_column ("PhotoTable", "comment", "TEXT"); +#line 304 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp38_) { +#line 305 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 305 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 755 "Db.c" + } + } +#line 307 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp39_ = database_table_has_column ("VideoTable", "comment"); +#line 307 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp39_) { +#line 762 "Db.c" + gboolean _tmp40_ = FALSE; +#line 308 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:308: upgrade_database: adding comment column to VideoTable"); +#line 309 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp40_ = database_table_add_column ("VideoTable", "comment", "TEXT"); +#line 309 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp40_) { +#line 310 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 310 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 774 "Db.c" + } + } +#line 313 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 17; +#line 320 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp41_ = database_table_has_column ("EventTable", "comment"); +#line 320 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp41_) { +#line 783 "Db.c" + gboolean _tmp42_ = FALSE; +#line 321 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:321: upgrade_database: adding comment column to EventTable"); +#line 322 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp42_ = database_table_add_column ("EventTable", "comment", "TEXT"); +#line 322 "/home/jens/Source/shotwell/src/db/Db.vala" + if (!_tmp42_) { +#line 323 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_UPGRADE_ERROR; +#line 323 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 795 "Db.c" + } + } +#line 326 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 18; +#line 337 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp43_ = input_version; +#line 337 "/home/jens/Source/shotwell/src/db/Db.vala" + if (_tmp43_ < 19) { +#line 804 "Db.c" + Application* _tmp44_ = NULL; + Application* _tmp45_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp44_ = application_get_instance (); +#line 338 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp45_ = _tmp44_; +#line 338 "/home/jens/Source/shotwell/src/db/Db.vala" + application_set_raw_thumbs_fix_required (_tmp45_, TRUE); +#line 338 "/home/jens/Source/shotwell/src/db/Db.vala" + _application_unref0 (_tmp45_); +#line 815 "Db.c" + } +#line 341 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 19; +#line 351 "/home/jens/Source/shotwell/src/db/Db.vala" + version = 20; +#line 357 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp46_ = version; +#line 357 "/home/jens/Source/shotwell/src/db/Db.vala" + _vala_assert (_tmp46_ == DATABASE_TABLE_SCHEMA_VERSION, "version == DatabaseTable.SCHEMA_VERSION"); +#line 358 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp47_ = version_table_get_instance (); +#line 358 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp48_ = _tmp47_; +#line 358 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp49_ = version; +#line 358 "/home/jens/Source/shotwell/src/db/Db.vala" + version_table_update_version (_tmp48_, _tmp49_, RESOURCES_APP_VERSION); +#line 358 "/home/jens/Source/shotwell/src/db/Db.vala" + _database_table_unref0 (_tmp48_); +#line 360 "/home/jens/Source/shotwell/src/db/Db.vala" + _tmp50_ = version; +#line 360 "/home/jens/Source/shotwell/src/db/Db.vala" + g_message ("Db.vala:360: Database upgrade to schema version %d successful", _tmp50_); +#line 362 "/home/jens/Source/shotwell/src/db/Db.vala" + result = DB_VERIFY_RESULT_OK; +#line 362 "/home/jens/Source/shotwell/src/db/Db.vala" + return result; +#line 843 "Db.c" +} + + + diff --git a/src/db/Db.vala b/src/db/Db.vala index d536b41..e4f83bf 100644 --- a/src/db/Db.vala +++ b/src/db/Db.vala @@ -6,7 +6,7 @@ namespace Db { -public static const string IN_MEMORY_NAME = ":memory:"; +public const string IN_MEMORY_NAME = ":memory:"; private string? filename = null; diff --git a/src/db/EventTable.c b/src/db/EventTable.c new file mode 100644 index 0000000..0e763e9 --- /dev/null +++ b/src/db/EventTable.c @@ -0,0 +1,1877 @@ +/* EventTable.c generated by valac 0.32.1, the Vala compiler + * generated from EventTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_EVENT_ROW (event_row_get_type ()) +#define EVENT_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_ROW, EventRow)) +#define EVENT_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_ROW, EventRowClass)) +#define IS_EVENT_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_ROW)) +#define IS_EVENT_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_ROW)) +#define EVENT_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_ROW, EventRowClass)) + +typedef struct _EventRow EventRow; +typedef struct _EventRowClass EventRowClass; +typedef struct _EventRowPrivate EventRowPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecEventRow ParamSpecEventRow; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; +typedef struct _DatabaseTablePrivate DatabaseTablePrivate; + +#define TYPE_EVENT_TABLE (event_table_get_type ()) +#define EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_TABLE, EventTable)) +#define EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_TABLE, EventTableClass)) +#define IS_EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_TABLE)) +#define IS_EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_TABLE)) +#define EVENT_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_TABLE, EventTableClass)) + +typedef struct _EventTable EventTable; +typedef struct _EventTableClass EventTableClass; +typedef struct _EventTablePrivate EventTablePrivate; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; +#define _event_row_unref0(var) ((var == NULL) ? NULL : (var = (event_row_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#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 _EventID { + gint64 id; +}; + +struct _EventRow { + GTypeInstance parent_instance; + volatile int ref_count; + EventRowPrivate * priv; + EventID event_id; + gchar* name; + time_t time_created; + gchar* primary_source_id; + gchar* comment; +}; + +struct _EventRowClass { + GTypeClass parent_class; + void (*finalize) (EventRow *self); +}; + +struct _ParamSpecEventRow { + GParamSpec parent_instance; +}; + +struct _DatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + DatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _DatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (DatabaseTable *self); +}; + +struct _EventTable { + DatabaseTable parent_instance; + EventTablePrivate * priv; +}; + +struct _EventTableClass { + DatabaseTableClass parent_class; +}; + +struct _PhotoID { + gint64 id; +}; + +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 () + +static gpointer event_row_parent_class = NULL; +static gpointer event_table_parent_class = NULL; +static EventTable* event_table_instance; +static EventTable* event_table_instance = NULL; +extern sqlite3* database_table_db; + +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +#define EVENT_ID_INVALID ((gint64) -1) +void event_id_init (EventID *self, gint64 id); +gboolean event_id_is_invalid (EventID *self); +gboolean event_id_is_valid (EventID *self); +gpointer event_row_ref (gpointer instance); +void event_row_unref (gpointer instance); +GParamSpec* param_spec_event_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_event_row (GValue* value, gpointer v_object); +void value_take_event_row (GValue* value, gpointer v_object); +gpointer value_get_event_row (const GValue* value); +GType event_row_get_type (void) G_GNUC_CONST; +enum { + EVENT_ROW_DUMMY_PROPERTY +}; +EventRow* event_row_new (void); +EventRow* event_row_construct (GType object_type); +static void event_row_finalize (EventRow* obj); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType event_table_get_type (void) G_GNUC_CONST; +enum { + EVENT_TABLE_DUMMY_PROPERTY +}; +static EventTable* event_table_new (void); +static EventTable* event_table_construct (GType object_type); +DatabaseTable* database_table_construct (GType object_type); +void database_table_fatal (const gchar* op, gint res); +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name); +EventTable* event_table_get_instance (void); +static gchar* event_table_source_id_upgrade (EventTable* self, gint64 primary_photo_id, const gchar* primary_source_id); +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); +gboolean media_collection_registry_is_valid_source_id (MediaCollectionRegistry* self, const gchar* source_id); +#define PHOTO_ID_INVALID ((gint64) -1) +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +gchar* photo_id_upgrade_photo_id_to_source_id (PhotoID* photo_id); +void photo_id_init (PhotoID *self, gint64 id); +GQuark database_error_quark (void); +EventRow* event_table_create (EventTable* self, const gchar* primary_source_id, const gchar* comment, GError** error); +gulong now_sec (void); +void database_table_throw_error (const gchar* method, gint res, GError** error); +void event_table_create_from_row (EventTable* self, EventRow* row, EventID* result); +EventRow* event_table_get_row (EventTable* self, EventID* event_id); +void event_table_remove (EventTable* self, EventID* event_id, GError** error); +void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error); +GeeArrayList* event_table_get_events (EventTable* self); +gboolean event_table_rename (EventTable* self, EventID* event_id, const gchar* name); +gboolean database_table_update_text_by_id (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text); +gchar* event_table_get_name (EventTable* self, EventID* event_id); +gboolean database_table_select_by_id (DatabaseTable* self, gint64 id, const gchar* columns, sqlite3_stmt** stmt); +gchar* event_table_get_primary_source_id (EventTable* self, EventID* event_id); +gboolean event_table_set_primary_source_id (EventTable* self, EventID* event_id, const gchar* primary_source_id); +time_t event_table_get_time_created (EventTable* self, EventID* event_id); +gboolean event_table_set_comment (EventTable* self, EventID* event_id, const gchar* new_comment); +static void event_table_finalize (DatabaseTable* obj); + + +void event_id_init (EventID *self, gint64 id) { + gint64 _tmp0_ = 0LL; +#line 12 "/home/jens/Source/shotwell/src/db/EventTable.vala" + memset (self, 0, sizeof (EventID)); +#line 13 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = id; +#line 13 "/home/jens/Source/shotwell/src/db/EventTable.vala" + (*self).id = _tmp0_; +#line 227 "EventTable.c" +} + + +gboolean event_id_is_invalid (EventID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 17 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = (*self).id; +#line 17 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp0_ == EVENT_ID_INVALID; +#line 17 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 240 "EventTable.c" +} + + +gboolean event_id_is_valid (EventID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 21 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = (*self).id; +#line 21 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp0_ != EVENT_ID_INVALID; +#line 21 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 253 "EventTable.c" +} + + +EventID* event_id_dup (const EventID* self) { + EventID* dup; +#line 7 "/home/jens/Source/shotwell/src/db/EventTable.vala" + dup = g_new0 (EventID, 1); +#line 7 "/home/jens/Source/shotwell/src/db/EventTable.vala" + memcpy (dup, self, sizeof (EventID)); +#line 7 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return dup; +#line 265 "EventTable.c" +} + + +void event_id_free (EventID* self) { +#line 7 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_free (self); +#line 272 "EventTable.c" +} + + +GType event_id_get_type (void) { + static volatile gsize event_id_type_id__volatile = 0; + if (g_once_init_enter (&event_id_type_id__volatile)) { + GType event_id_type_id; + event_id_type_id = g_boxed_type_register_static ("EventID", (GBoxedCopyFunc) event_id_dup, (GBoxedFreeFunc) event_id_free); + g_once_init_leave (&event_id_type_id__volatile, event_id_type_id); + } + return event_id_type_id__volatile; +} + + +EventRow* event_row_construct (GType object_type) { + EventRow* self = NULL; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + self = (EventRow*) g_type_create_instance (object_type); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return self; +#line 293 "EventTable.c" +} + + +EventRow* event_row_new (void) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return event_row_construct (TYPE_EVENT_ROW); +#line 300 "EventTable.c" +} + + +static void value_event_row_init (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + value->data[0].v_pointer = NULL; +#line 307 "EventTable.c" +} + + +static void value_event_row_free_value (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_row_unref (value->data[0].v_pointer); +#line 316 "EventTable.c" + } +} + + +static void value_event_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (src_value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + dest_value->data[0].v_pointer = event_row_ref (src_value->data[0].v_pointer); +#line 326 "EventTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 330 "EventTable.c" + } +} + + +static gpointer value_event_row_peek_pointer (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return value->data[0].v_pointer; +#line 338 "EventTable.c" +} + + +static gchar* value_event_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (collect_values[0].v_pointer) { +#line 345 "EventTable.c" + EventRow* object; + object = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 352 "EventTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 356 "EventTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + value->data[0].v_pointer = event_row_ref (object); +#line 360 "EventTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + value->data[0].v_pointer = NULL; +#line 364 "EventTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return NULL; +#line 368 "EventTable.c" +} + + +static gchar* value_event_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + EventRow** object_p; + object_p = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (!object_p) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 379 "EventTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (!value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + *object_p = NULL; +#line 385 "EventTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + *object_p = value->data[0].v_pointer; +#line 389 "EventTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + *object_p = event_row_ref (value->data[0].v_pointer); +#line 393 "EventTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return NULL; +#line 397 "EventTable.c" +} + + +GParamSpec* param_spec_event_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecEventRow* spec; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_EVENT_ROW), NULL); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return G_PARAM_SPEC (spec); +#line 411 "EventTable.c" +} + + +gpointer value_get_event_row (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_EVENT_ROW), NULL); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return value->data[0].v_pointer; +#line 420 "EventTable.c" +} + + +void value_set_event_row (GValue* value, gpointer v_object) { + EventRow* old; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_EVENT_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_EVENT_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + value->data[0].v_pointer = v_object; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_row_ref (value->data[0].v_pointer); +#line 440 "EventTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + value->data[0].v_pointer = NULL; +#line 444 "EventTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_row_unref (old); +#line 450 "EventTable.c" + } +} + + +void value_take_event_row (GValue* value, gpointer v_object) { + EventRow* old; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_EVENT_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_EVENT_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + value->data[0].v_pointer = v_object; +#line 469 "EventTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + value->data[0].v_pointer = NULL; +#line 473 "EventTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_row_unref (old); +#line 479 "EventTable.c" + } +} + + +static void event_row_class_init (EventRowClass * klass) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_row_parent_class = g_type_class_peek_parent (klass); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + ((EventRowClass *) klass)->finalize = event_row_finalize; +#line 489 "EventTable.c" +} + + +static void event_row_instance_init (EventRow * self) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + self->ref_count = 1; +#line 496 "EventTable.c" +} + + +static void event_row_finalize (EventRow* obj) { + EventRow * self; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT_ROW, EventRow); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_signal_handlers_destroy (self); +#line 27 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (self->name); +#line 29 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (self->primary_source_id); +#line 30 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (self->comment); +#line 512 "EventTable.c" +} + + +GType event_row_get_type (void) { + static volatile gsize event_row_type_id__volatile = 0; + if (g_once_init_enter (&event_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_event_row_init, value_event_row_free_value, value_event_row_copy_value, value_event_row_peek_pointer, "p", value_event_row_collect_value, "p", value_event_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (EventRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventRow), 0, (GInstanceInitFunc) event_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType event_row_type_id; + event_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "EventRow", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&event_row_type_id__volatile, event_row_type_id); + } + return event_row_type_id__volatile; +} + + +gpointer event_row_ref (gpointer instance) { + EventRow* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return instance; +#line 537 "EventTable.c" +} + + +void event_row_unref (gpointer instance) { + EventRow* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + EVENT_ROW_GET_CLASS (self)->finalize (self); +#line 25 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 550 "EventTable.c" + } +} + + +static EventTable* event_table_construct (GType object_type) { + EventTable* self = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 36 "/home/jens/Source/shotwell/src/db/EventTable.vala" + self = (EventTable*) database_table_construct (object_type); +#line 38 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = database_table_db; +#line 38 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "CREATE TABLE IF NOT EXISTS EventTable (" "id INTEGER PRIMARY KEY, " "name TEXT, " "primary_photo_id INTEGER, " "time_created INTEGER," "primary_source_id TEXT," "comment TEXT" ")", -1, &_tmp1_, NULL); +#line 38 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 38 "/home/jens/Source/shotwell/src/db/EventTable.vala" + stmt = _tmp1_; +#line 38 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp2_; +#line 46 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = res; +#line 46 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 48 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = stmt; +#line 48 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 48 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp5_; +#line 49 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp6_ = res; +#line 49 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp6_ != SQLITE_DONE) { +#line 592 "EventTable.c" + gint _tmp7_ = 0; +#line 50 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp7_ = res; +#line 50 "/home/jens/Source/shotwell/src/db/EventTable.vala" + database_table_fatal ("create photo table", _tmp7_); +#line 598 "EventTable.c" + } +#line 52 "/home/jens/Source/shotwell/src/db/EventTable.vala" + database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), "EventTable"); +#line 36 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 36 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return self; +#line 606 "EventTable.c" +} + + +static EventTable* event_table_new (void) { +#line 36 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return event_table_construct (TYPE_EVENT_TABLE); +#line 613 "EventTable.c" +} + + +static gpointer _database_table_ref0 (gpointer self) { +#line 59 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return self ? database_table_ref (self) : NULL; +#line 620 "EventTable.c" +} + + +EventTable* event_table_get_instance (void) { + EventTable* result = NULL; + EventTable* _tmp0_ = NULL; + EventTable* _tmp2_ = NULL; + EventTable* _tmp3_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = event_table_instance; +#line 56 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp0_ == NULL) { +#line 633 "EventTable.c" + EventTable* _tmp1_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = event_table_new (); +#line 57 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _database_table_unref0 (event_table_instance); +#line 57 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_table_instance = _tmp1_; +#line 641 "EventTable.c" + } +#line 59 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = event_table_instance; +#line 59 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = _database_table_ref0 (_tmp2_); +#line 59 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp3_; +#line 59 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 651 "EventTable.c" +} + + +static gchar* event_table_source_id_upgrade (EventTable* self, gint64 primary_photo_id, const gchar* primary_source_id) { + gchar* result = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gint64 _tmp7_ = 0LL; +#line 63 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), NULL); +#line 64 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 64 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = _tmp0_; +#line 64 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = primary_source_id; +#line 64 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = media_collection_registry_is_valid_source_id (_tmp1_, _tmp2_); +#line 64 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = _tmp3_; +#line 64 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 64 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp4_) { +#line 679 "EventTable.c" + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = primary_source_id; +#line 65 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 65 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp6_; +#line 65 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 690 "EventTable.c" + } +#line 67 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp7_ = primary_photo_id; +#line 67 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp7_ != PHOTO_ID_INVALID) { +#line 696 "EventTable.c" + gint64 _tmp8_ = 0LL; + PhotoID _tmp9_ = {0}; + gchar* _tmp10_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp8_ = primary_photo_id; +#line 69 "/home/jens/Source/shotwell/src/db/EventTable.vala" + photo_id_init (&_tmp9_, _tmp8_); +#line 69 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp10_ = photo_id_upgrade_photo_id_to_source_id (&_tmp9_); +#line 69 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp10_; +#line 69 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 710 "EventTable.c" + } +#line 71 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = NULL; +#line 71 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 716 "EventTable.c" +} + + +EventRow* event_table_create (EventTable* self, const gchar* primary_source_id, const gchar* comment, GError** error) { + EventRow* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + time_t time_created = 0; + gulong _tmp7_ = 0UL; + sqlite3_stmt* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GDestroyNotify _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + sqlite3_stmt* _tmp14_ = NULL; + time_t _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + sqlite3_stmt* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + GDestroyNotify _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + sqlite3_stmt* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + EventRow* row = NULL; + EventRow* _tmp28_ = NULL; + EventRow* _tmp29_ = NULL; + sqlite3* _tmp30_ = NULL; + gint64 _tmp31_ = 0LL; + EventRow* _tmp32_ = NULL; + EventRow* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + EventRow* _tmp36_ = NULL; + time_t _tmp37_ = 0; + EventRow* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + GError * _inner_error_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), NULL); +#line 75 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = primary_source_id; +#line 75 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp1_ != NULL) { +#line 772 "EventTable.c" + const gchar* _tmp2_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = primary_source_id; +#line 75 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = g_strcmp0 (_tmp2_, "") != 0; +#line 778 "EventTable.c" + } else { +#line 75 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = FALSE; +#line 782 "EventTable.c" + } +#line 75 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp0_, "primary_source_id != null && primary_source_id != \"\""); +#line 78 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = database_table_db; +#line 78 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp3_, "INSERT INTO EventTable (primary_source_id, time_created, comment) VALU" \ +"ES (?, ?, ?)", -1, &_tmp4_, NULL); +#line 78 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 78 "/home/jens/Source/shotwell/src/db/EventTable.vala" + stmt = _tmp4_; +#line 78 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp5_; +#line 81 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp6_ = res; +#line 81 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK"); +#line 83 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp7_ = now_sec (); +#line 83 "/home/jens/Source/shotwell/src/db/EventTable.vala" + time_created = (time_t) _tmp7_; +#line 85 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp8_ = stmt; +#line 85 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp9_ = primary_source_id; +#line 85 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 85 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp11_ = g_free; +#line 85 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp12_ = sqlite3_bind_text (_tmp8_, 1, _tmp10_, -1, _tmp11_); +#line 85 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp12_; +#line 86 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp13_ = res; +#line 86 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp13_ == SQLITE_OK, "res == Sqlite.OK"); +#line 87 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp14_ = stmt; +#line 87 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp15_ = time_created; +#line 87 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp16_ = sqlite3_bind_int64 (_tmp14_, 2, (gint64) _tmp15_); +#line 87 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp16_; +#line 88 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp17_ = res; +#line 88 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp17_ == SQLITE_OK, "res == Sqlite.OK"); +#line 89 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp18_ = stmt; +#line 89 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp19_ = comment; +#line 89 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp20_ = g_strdup (_tmp19_); +#line 89 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp21_ = g_free; +#line 89 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp22_ = sqlite3_bind_text (_tmp18_, 3, _tmp20_, -1, _tmp21_); +#line 89 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp22_; +#line 90 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp23_ = res; +#line 90 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp23_ == SQLITE_OK, "res == Sqlite.OK"); +#line 92 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp24_ = stmt; +#line 92 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp25_ = sqlite3_step (_tmp24_); +#line 92 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp25_; +#line 93 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp26_ = res; +#line 93 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp26_ != SQLITE_DONE) { +#line 858 "EventTable.c" + gint _tmp27_ = 0; +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp27_ = res; +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + database_table_throw_error ("EventTable.create", _tmp27_, &_inner_error_); +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_propagate_error (error, _inner_error_); +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return NULL; +#line 874 "EventTable.c" + } else { +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.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 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_clear_error (&_inner_error_); +#line 94 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return NULL; +#line 884 "EventTable.c" + } + } + } +#line 96 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp28_ = event_row_new (); +#line 96 "/home/jens/Source/shotwell/src/db/EventTable.vala" + row = _tmp28_; +#line 97 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp29_ = row; +#line 97 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp30_ = database_table_db; +#line 97 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp31_ = sqlite3_last_insert_rowid (_tmp30_); +#line 97 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_id_init (&_tmp29_->event_id, _tmp31_); +#line 98 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp32_ = row; +#line 98 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp32_->name); +#line 98 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp32_->name = NULL; +#line 99 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp33_ = row; +#line 99 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp34_ = primary_source_id; +#line 99 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp35_ = g_strdup (_tmp34_); +#line 99 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp33_->primary_source_id); +#line 99 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp33_->primary_source_id = _tmp35_; +#line 100 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp36_ = row; +#line 100 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp37_ = time_created; +#line 100 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp36_->time_created = _tmp37_; +#line 101 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp38_ = row; +#line 101 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp39_ = comment; +#line 101 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp40_ = g_strdup (_tmp39_); +#line 101 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp38_->comment); +#line 101 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp38_->comment = _tmp40_; +#line 103 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = row; +#line 103 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 103 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 938 "EventTable.c" +} + + +void event_table_create_from_row (EventTable* self, EventRow* row, EventID* result) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + EventRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GDestroyNotify _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + sqlite3_stmt* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + sqlite3_stmt* _tmp14_ = NULL; + EventRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GDestroyNotify _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + sqlite3_stmt* _tmp21_ = NULL; + EventRow* _tmp22_ = NULL; + time_t _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + sqlite3_stmt* _tmp26_ = NULL; + EventRow* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + GDestroyNotify _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + sqlite3_stmt* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + sqlite3* _tmp38_ = NULL; + gint64 _tmp39_ = 0LL; + EventID _tmp40_ = {0}; +#line 109 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (IS_EVENT_TABLE (self)); +#line 109 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (IS_EVENT_ROW (row)); +#line 111 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = database_table_db; +#line 111 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO EventTable (name, primary_photo_id, primary_source_id, tim" \ +"e_created, comment) VALUES (?, ?, ?, ?, ?)", -1, &_tmp1_, NULL); +#line 111 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 111 "/home/jens/Source/shotwell/src/db/EventTable.vala" + stmt = _tmp1_; +#line 111 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp2_; +#line 113 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = res; +#line 113 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 115 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = stmt; +#line 115 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = row; +#line 115 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp6_ = _tmp5_->name; +#line 115 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 115 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp8_ = g_free; +#line 115 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp9_ = sqlite3_bind_text (_tmp4_, 1, _tmp7_, -1, _tmp8_); +#line 115 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp9_; +#line 116 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp10_ = res; +#line 116 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp10_ == SQLITE_OK, "res == Sqlite.OK"); +#line 117 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp11_ = stmt; +#line 117 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp12_ = sqlite3_bind_int64 (_tmp11_, 2, PHOTO_ID_INVALID); +#line 117 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp12_; +#line 118 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp13_ = res; +#line 118 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp13_ == SQLITE_OK, "res == Sqlite.OK"); +#line 119 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp14_ = stmt; +#line 119 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp15_ = row; +#line 119 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp16_ = _tmp15_->primary_source_id; +#line 119 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 119 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp18_ = g_free; +#line 119 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp19_ = sqlite3_bind_text (_tmp14_, 3, _tmp17_, -1, _tmp18_); +#line 119 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp19_; +#line 120 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp20_ = res; +#line 120 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp20_ == SQLITE_OK, "res == Sqlite.OK"); +#line 121 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp21_ = stmt; +#line 121 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp22_ = row; +#line 121 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp23_ = _tmp22_->time_created; +#line 121 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp24_ = sqlite3_bind_int64 (_tmp21_, 4, (gint64) _tmp23_); +#line 121 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp24_; +#line 122 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp25_ = res; +#line 122 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp25_ == SQLITE_OK, "res == Sqlite.OK"); +#line 123 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp26_ = stmt; +#line 123 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp27_ = row; +#line 123 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp28_ = _tmp27_->comment; +#line 123 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp29_ = g_strdup (_tmp28_); +#line 123 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp30_ = g_free; +#line 123 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp31_ = sqlite3_bind_text (_tmp26_, 5, _tmp29_, -1, _tmp30_); +#line 123 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp31_; +#line 124 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp32_ = res; +#line 124 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp32_ == SQLITE_OK, "res == Sqlite.OK"); +#line 126 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp33_ = stmt; +#line 126 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp34_ = sqlite3_step (_tmp33_); +#line 126 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp34_; +#line 127 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp35_ = res; +#line 127 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp35_ != SQLITE_DONE) { +#line 1090 "EventTable.c" + gint _tmp36_ = 0; + EventID _tmp37_ = {0}; +#line 128 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp36_ = res; +#line 128 "/home/jens/Source/shotwell/src/db/EventTable.vala" + database_table_fatal ("Event create_from_row", _tmp36_); +#line 130 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_id_init (&_tmp37_, EVENT_ID_INVALID); +#line 130 "/home/jens/Source/shotwell/src/db/EventTable.vala" + *result = _tmp37_; +#line 130 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 130 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return; +#line 1105 "EventTable.c" + } +#line 133 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp38_ = database_table_db; +#line 133 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp39_ = sqlite3_last_insert_rowid (_tmp38_); +#line 133 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_id_init (&_tmp40_, _tmp39_); +#line 133 "/home/jens/Source/shotwell/src/db/EventTable.vala" + *result = _tmp40_; +#line 133 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 133 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return; +#line 1119 "EventTable.c" +} + + +EventRow* event_table_get_row (EventTable* self, EventID* event_id) { + EventRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + EventID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + EventRow* row = NULL; + EventRow* _tmp11_ = NULL; + EventRow* _tmp12_ = NULL; + EventID _tmp13_ = {0}; + EventRow* _tmp14_ = NULL; + sqlite3_stmt* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + EventRow* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + EventRow* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + gint64 _tmp28_ = 0LL; + sqlite3_stmt* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + EventRow* _tmp32_ = NULL; + sqlite3_stmt* _tmp33_ = NULL; + gint64 _tmp34_ = 0LL; + EventRow* _tmp35_ = NULL; + sqlite3_stmt* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; +#line 136 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), NULL); +#line 136 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 138 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = database_table_db; +#line 138 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT name, primary_photo_id, primary_source_id, time_created, commen" \ +"t FROM EventTable WHERE id=?", -1, &_tmp1_, NULL); +#line 138 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 138 "/home/jens/Source/shotwell/src/db/EventTable.vala" + stmt = _tmp1_; +#line 138 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp2_; +#line 140 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = res; +#line 140 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 142 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = stmt; +#line 142 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = *event_id; +#line 142 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp6_ = _tmp5_.id; +#line 142 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 142 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp7_; +#line 143 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp8_ = res; +#line 143 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 145 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp9_ = stmt; +#line 145 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 145 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp10_ != SQLITE_ROW) { +#line 146 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = NULL; +#line 146 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 146 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1206 "EventTable.c" + } +#line 148 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp11_ = event_row_new (); +#line 148 "/home/jens/Source/shotwell/src/db/EventTable.vala" + row = _tmp11_; +#line 149 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp12_ = row; +#line 149 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp13_ = *event_id; +#line 149 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp12_->event_id = _tmp13_; +#line 150 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp14_ = row; +#line 150 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp15_ = stmt; +#line 150 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp16_ = sqlite3_column_text (_tmp15_, 0); +#line 150 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 150 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp14_->name); +#line 150 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp14_->name = _tmp17_; +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp19_ = row; +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp20_ = _tmp19_->name; +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp20_ != NULL) { +#line 1236 "EventTable.c" + EventRow* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp21_ = row; +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp22_ = _tmp21_->name; +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp23_ = strlen (_tmp22_); +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp24_ = _tmp23_; +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp18_ = _tmp24_ == 0; +#line 1251 "EventTable.c" + } else { +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp18_ = FALSE; +#line 1255 "EventTable.c" + } +#line 151 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp18_) { +#line 1259 "EventTable.c" + EventRow* _tmp25_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp25_ = row; +#line 152 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp25_->name); +#line 152 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp25_->name = NULL; +#line 1267 "EventTable.c" + } +#line 153 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp26_ = row; +#line 153 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp27_ = stmt; +#line 153 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp28_ = sqlite3_column_int64 (_tmp27_, 1); +#line 153 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp29_ = stmt; +#line 153 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp30_ = sqlite3_column_text (_tmp29_, 2); +#line 153 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp31_ = event_table_source_id_upgrade (self, _tmp28_, _tmp30_); +#line 153 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp26_->primary_source_id); +#line 153 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp26_->primary_source_id = _tmp31_; +#line 154 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp32_ = row; +#line 154 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp33_ = stmt; +#line 154 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp34_ = sqlite3_column_int64 (_tmp33_, 3); +#line 154 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp32_->time_created = (time_t) _tmp34_; +#line 155 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp35_ = row; +#line 155 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp36_ = stmt; +#line 155 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp37_ = sqlite3_column_text (_tmp36_, 4); +#line 155 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp38_ = g_strdup (_tmp37_); +#line 155 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp35_->comment); +#line 155 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp35_->comment = _tmp38_; +#line 157 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = row; +#line 157 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 157 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1311 "EventTable.c" +} + + +void event_table_remove (EventTable* self, EventID* event_id, GError** error) { + EventID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + GError * _inner_error_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (IS_EVENT_TABLE (self)); +#line 160 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_if_fail (event_id != NULL); +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = *event_id; +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = _tmp0_.id; +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + database_table_delete_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, &_inner_error_); +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_propagate_error (error, _inner_error_); +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return; +#line 1337 "EventTable.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.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 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_clear_error (&_inner_error_); +#line 161 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return; +#line 1345 "EventTable.c" + } + } +} + + +GeeArrayList* event_table_get_events (EventTable* self) { + GeeArrayList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeArrayList* event_rows = NULL; + GeeArrayList* _tmp4_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), NULL); +#line 166 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = database_table_db; +#line 166 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id, name, primary_photo_id, primary_source_id, time_created, co" \ +"mment FROM EventTable", -1, &_tmp1_, NULL); +#line 166 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 166 "/home/jens/Source/shotwell/src/db/EventTable.vala" + stmt = _tmp1_; +#line 166 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp2_; +#line 168 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = res; +#line 168 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 170 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = gee_array_list_new (TYPE_EVENT_ROW, (GBoxedCopyFunc) event_row_ref, event_row_unref, NULL, NULL, NULL); +#line 170 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_rows = _tmp4_; +#line 1381 "EventTable.c" + { + gboolean _tmp5_ = FALSE; +#line 171 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = TRUE; +#line 171 "/home/jens/Source/shotwell/src/db/EventTable.vala" + while (TRUE) { +#line 1388 "EventTable.c" + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + EventRow* row = NULL; + EventRow* _tmp11_ = NULL; + EventRow* _tmp12_ = NULL; + sqlite3_stmt* _tmp13_ = NULL; + gint64 _tmp14_ = 0LL; + EventRow* _tmp15_ = NULL; + sqlite3_stmt* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + EventRow* _tmp19_ = NULL; + sqlite3_stmt* _tmp20_ = NULL; + gint64 _tmp21_ = 0LL; + sqlite3_stmt* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + EventRow* _tmp25_ = NULL; + sqlite3_stmt* _tmp26_ = NULL; + gint64 _tmp27_ = 0LL; + EventRow* _tmp28_ = NULL; + sqlite3_stmt* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + GeeArrayList* _tmp32_ = NULL; + EventRow* _tmp33_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (!_tmp5_) { +#line 1418 "EventTable.c" + } +#line 171 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = FALSE; +#line 172 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp6_ = stmt; +#line 172 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp7_ = sqlite3_step (_tmp6_); +#line 172 "/home/jens/Source/shotwell/src/db/EventTable.vala" + res = _tmp7_; +#line 173 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp8_ = res; +#line 173 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp8_ == SQLITE_DONE) { +#line 174 "/home/jens/Source/shotwell/src/db/EventTable.vala" + break; +#line 1434 "EventTable.c" + } else { + gint _tmp9_ = 0; +#line 175 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp9_ = res; +#line 175 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp9_ != SQLITE_ROW) { +#line 1441 "EventTable.c" + gint _tmp10_ = 0; +#line 176 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp10_ = res; +#line 176 "/home/jens/Source/shotwell/src/db/EventTable.vala" + database_table_fatal ("get_events", _tmp10_); +#line 178 "/home/jens/Source/shotwell/src/db/EventTable.vala" + break; +#line 1449 "EventTable.c" + } + } +#line 181 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp11_ = event_row_new (); +#line 181 "/home/jens/Source/shotwell/src/db/EventTable.vala" + row = _tmp11_; +#line 183 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp12_ = row; +#line 183 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp13_ = stmt; +#line 183 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp14_ = sqlite3_column_int64 (_tmp13_, 0); +#line 183 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_id_init (&_tmp12_->event_id, _tmp14_); +#line 184 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp15_ = row; +#line 184 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp16_ = stmt; +#line 184 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp17_ = sqlite3_column_text (_tmp16_, 1); +#line 184 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 184 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp15_->name); +#line 184 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp15_->name = _tmp18_; +#line 185 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp19_ = row; +#line 185 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp20_ = stmt; +#line 185 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp21_ = sqlite3_column_int64 (_tmp20_, 2); +#line 185 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp22_ = stmt; +#line 185 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp23_ = sqlite3_column_text (_tmp22_, 3); +#line 185 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp24_ = event_table_source_id_upgrade (self, _tmp21_, _tmp23_); +#line 185 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp19_->primary_source_id); +#line 185 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp19_->primary_source_id = _tmp24_; +#line 186 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp25_ = row; +#line 186 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp26_ = stmt; +#line 186 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp27_ = sqlite3_column_int64 (_tmp26_, 4); +#line 186 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp25_->time_created = (time_t) _tmp27_; +#line 187 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp28_ = row; +#line 187 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp29_ = stmt; +#line 187 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp30_ = sqlite3_column_text (_tmp29_, 5); +#line 187 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp31_ = g_strdup (_tmp30_); +#line 187 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (_tmp28_->comment); +#line 187 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp28_->comment = _tmp31_; +#line 189 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp32_ = event_rows; +#line 189 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp33_ = row; +#line 189 "/home/jens/Source/shotwell/src/db/EventTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp33_); +#line 171 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _event_row_unref0 (row); +#line 1520 "EventTable.c" + } + } +#line 192 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = event_rows; +#line 192 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 192 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1529 "EventTable.c" +} + + +gboolean event_table_rename (EventTable* self, EventID* event_id, const gchar* name) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + EventID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + gboolean _tmp5_ = FALSE; +#line 195 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), FALSE); +#line 195 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = name; +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp1_ != NULL) { +#line 1548 "EventTable.c" + const gchar* _tmp2_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = name; +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = _tmp2_; +#line 1554 "EventTable.c" + } else { +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = ""; +#line 1558 "EventTable.c" + } +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = *event_id; +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = _tmp3_.id; +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = database_table_update_text_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp4_, "name", _tmp0_); +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp5_; +#line 196 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1570 "EventTable.c" +} + + +gchar* event_table_get_name (EventTable* self, EventID* event_id) { + gchar* result = NULL; + sqlite3_stmt* stmt = NULL; + EventID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + sqlite3_stmt* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gchar* name = NULL; + sqlite3_stmt* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + const gchar* _tmp9_ = NULL; + gchar* _tmp14_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), NULL); +#line 199 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 201 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = *event_id; +#line 201 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = _tmp0_.id; +#line 201 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = database_table_select_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "name", &_tmp2_); +#line 201 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 201 "/home/jens/Source/shotwell/src/db/EventTable.vala" + stmt = _tmp2_; +#line 201 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (!_tmp3_) { +#line 202 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = NULL; +#line 202 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 202 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1611 "EventTable.c" + } +#line 204 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = stmt; +#line 204 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = sqlite3_column_text (_tmp4_, 0); +#line 204 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 204 "/home/jens/Source/shotwell/src/db/EventTable.vala" + name = _tmp6_; +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp9_ = name; +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp9_ != NULL) { +#line 1625 "EventTable.c" + const gchar* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp10_ = name; +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp11_ = strlen (_tmp10_); +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp12_ = _tmp11_; +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp8_ = _tmp12_ > 0; +#line 1637 "EventTable.c" + } else { +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp8_ = FALSE; +#line 1641 "EventTable.c" + } +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp8_) { +#line 1645 "EventTable.c" + const gchar* _tmp13_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp13_ = name; +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp7_ = _tmp13_; +#line 1651 "EventTable.c" + } else { +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp7_ = NULL; +#line 1655 "EventTable.c" + } +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp14_ = g_strdup (_tmp7_); +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp14_; +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _g_free0 (name); +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 206 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1667 "EventTable.c" +} + + +gchar* event_table_get_primary_source_id (EventTable* self, EventID* event_id) { + gchar* result = NULL; + sqlite3_stmt* stmt = NULL; + EventID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + sqlite3_stmt* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + sqlite3_stmt* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 209 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), NULL); +#line 209 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 211 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = *event_id; +#line 211 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = _tmp0_.id; +#line 211 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = database_table_select_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "primary_source_id", &_tmp2_); +#line 211 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 211 "/home/jens/Source/shotwell/src/db/EventTable.vala" + stmt = _tmp2_; +#line 211 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (!_tmp3_) { +#line 212 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = NULL; +#line 212 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 212 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1703 "EventTable.c" + } +#line 214 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = stmt; +#line 214 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = sqlite3_column_text (_tmp4_, 0); +#line 214 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 214 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp6_; +#line 214 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 214 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1717 "EventTable.c" +} + + +gboolean event_table_set_primary_source_id (EventTable* self, EventID* event_id, const gchar* primary_source_id) { + gboolean result = FALSE; + EventID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 217 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), FALSE); +#line 217 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 217 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (primary_source_id != NULL, FALSE); +#line 218 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = *event_id; +#line 218 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = _tmp0_.id; +#line 218 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = primary_source_id; +#line 218 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = database_table_update_text_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "primary_source_id", _tmp2_); +#line 218 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp3_; +#line 218 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1745 "EventTable.c" +} + + +time_t event_table_get_time_created (EventTable* self, EventID* event_id) { + time_t result = 0; + sqlite3_stmt* stmt = NULL; + EventID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + sqlite3_stmt* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + sqlite3_stmt* _tmp4_ = NULL; + gint64 _tmp5_ = 0LL; +#line 221 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), 0); +#line 221 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (event_id != NULL, 0); +#line 223 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = *event_id; +#line 223 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = _tmp0_.id; +#line 223 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = database_table_select_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "time_created", &_tmp2_); +#line 223 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 223 "/home/jens/Source/shotwell/src/db/EventTable.vala" + stmt = _tmp2_; +#line 223 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (!_tmp3_) { +#line 224 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = (time_t) 0; +#line 224 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 224 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1780 "EventTable.c" + } +#line 226 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = stmt; +#line 226 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = sqlite3_column_int64 (_tmp4_, 0); +#line 226 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = (time_t) _tmp5_; +#line 226 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _sqlite3_finalize0 (stmt); +#line 226 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1792 "EventTable.c" +} + + +gboolean event_table_set_comment (EventTable* self, EventID* event_id, const gchar* new_comment) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + EventID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + gboolean _tmp5_ = FALSE; +#line 229 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (IS_EVENT_TABLE (self), FALSE); +#line 229 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 229 "/home/jens/Source/shotwell/src/db/EventTable.vala" + g_return_val_if_fail (new_comment != NULL, FALSE); +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp1_ = new_comment; +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + if (_tmp1_ != NULL) { +#line 1813 "EventTable.c" + const gchar* _tmp2_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp2_ = new_comment; +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = _tmp2_; +#line 1819 "EventTable.c" + } else { +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp0_ = ""; +#line 1823 "EventTable.c" + } +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp3_ = *event_id; +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp4_ = _tmp3_.id; +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + _tmp5_ = database_table_update_text_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp4_, "comment", _tmp0_); +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + result = _tmp5_; +#line 230 "/home/jens/Source/shotwell/src/db/EventTable.vala" + return result; +#line 1835 "EventTable.c" +} + + +static void event_table_class_init (EventTableClass * klass) { +#line 33 "/home/jens/Source/shotwell/src/db/EventTable.vala" + event_table_parent_class = g_type_class_peek_parent (klass); +#line 33 "/home/jens/Source/shotwell/src/db/EventTable.vala" + ((DatabaseTableClass *) klass)->finalize = event_table_finalize; +#line 1844 "EventTable.c" +} + + +static void event_table_instance_init (EventTable * self) { +} + + +static void event_table_finalize (DatabaseTable* obj) { + EventTable * self; +#line 33 "/home/jens/Source/shotwell/src/db/EventTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT_TABLE, EventTable); +#line 33 "/home/jens/Source/shotwell/src/db/EventTable.vala" + DATABASE_TABLE_CLASS (event_table_parent_class)->finalize (obj); +#line 1858 "EventTable.c" +} + + +GType event_table_get_type (void) { + static volatile gsize event_table_type_id__volatile = 0; + if (g_once_init_enter (&event_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventTable), 0, (GInstanceInitFunc) event_table_instance_init, NULL }; + GType event_table_type_id; + event_table_type_id = g_type_register_static (TYPE_DATABASE_TABLE, "EventTable", &g_define_type_info, 0); + g_once_init_leave (&event_table_type_id__volatile, event_table_type_id); + } + return event_table_type_id__volatile; +} + + + diff --git a/src/db/PhotoTable.c b/src/db/PhotoTable.c new file mode 100644 index 0000000..42ed64a --- /dev/null +++ b/src/db/PhotoTable.c @@ -0,0 +1,9397 @@ +/* PhotoTable.c generated by valac 0.32.1, the Vala compiler + * generated from PhotoTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#define TYPE_PHOTO_ROW (photo_row_get_type ()) +#define PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_ROW, PhotoRow)) +#define PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_ROW, PhotoRowClass)) +#define IS_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_ROW)) +#define IS_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_ROW)) +#define PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_ROW, PhotoRowClass)) + +typedef struct _PhotoRow PhotoRow; +typedef struct _PhotoRowClass PhotoRowClass; +typedef struct _PhotoRowPrivate PhotoRowPrivate; + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ()) +#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap)) +#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) +#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP)) +#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP)) +#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) + +typedef struct _KeyValueMap KeyValueMap; +typedef struct _KeyValueMapClass KeyValueMapClass; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +#define _backing_photo_row_unref0(var) ((var == NULL) ? NULL : (var = (backing_photo_row_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecPhotoRow ParamSpecPhotoRow; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; +typedef struct _DatabaseTablePrivate DatabaseTablePrivate; + +#define TYPE_PHOTO_TABLE (photo_table_get_type ()) +#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable)) +#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass)) +#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE)) +#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE)) +#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass)) + +typedef struct _PhotoTable PhotoTable; +typedef struct _PhotoTableClass PhotoTableClass; +typedef struct _PhotoTablePrivate PhotoTablePrivate; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +#define _photo_row_unref0(var) ((var == NULL) ? NULL : (var = (photo_row_unref (var), NULL))) +#define _g_key_file_unref0(var) ((var == NULL) ? NULL : (var = (g_key_file_unref (var), NULL))) +#define _key_value_map_unref0(var) ((var == NULL) ? NULL : (var = (key_value_map_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _ParamSpecBackingPhotoRow ParamSpecBackingPhotoRow; + +#define TYPE_BACKING_PHOTO_TABLE (backing_photo_table_get_type ()) +#define BACKING_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTable)) +#define BACKING_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTableClass)) +#define IS_BACKING_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_TABLE)) +#define IS_BACKING_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_TABLE)) +#define BACKING_PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_TABLE, BackingPhotoTableClass)) + +typedef struct _BackingPhotoTable BackingPhotoTable; +typedef struct _BackingPhotoTableClass BackingPhotoTableClass; +typedef struct _BackingPhotoTablePrivate BackingPhotoTablePrivate; +#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 _PhotoID { + gint64 id; +}; + +struct _ImportID { + gint64 id; +}; + +struct _EventID { + gint64 id; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +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 _BackingPhotoID { + gint64 id; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _PhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoRowPrivate * priv; + PhotoID photo_id; + BackingPhotoRow* master; + time_t exposure_time; + ImportID import_id; + EventID event_id; + Orientation orientation; + GeeHashMap* transformations; + gchar* md5; + gchar* thumbnail_md5; + gchar* exif_md5; + time_t time_created; + guint64 flags; + Rating rating; + gchar* title; + gchar* comment; + gchar* backlinks; + time_t time_reimported; + BackingPhotoID editable_id; + gboolean metadata_dirty; + RawDeveloper developer; + BackingPhotoID* development_ids; + gint development_ids_length1; +}; + +struct _PhotoRowClass { + GTypeClass parent_class; + void (*finalize) (PhotoRow *self); +}; + +struct _ParamSpecPhotoRow { + GParamSpec parent_instance; +}; + +struct _DatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + DatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _DatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (DatabaseTable *self); +}; + +struct _PhotoTable { + DatabaseTable parent_instance; + PhotoTablePrivate * priv; +}; + +struct _PhotoTableClass { + DatabaseTableClass parent_class; +}; + +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 _Dimensions { + gint width; + gint height; +}; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + +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 _ParamSpecBackingPhotoRow { + GParamSpec parent_instance; +}; + +struct _BackingPhotoTable { + DatabaseTable parent_instance; + BackingPhotoTablePrivate * priv; +}; + +struct _BackingPhotoTableClass { + DatabaseTableClass parent_class; +}; + + +static gpointer photo_row_parent_class = NULL; +static gpointer photo_table_parent_class = NULL; +static PhotoTable* photo_table_instance; +static PhotoTable* photo_table_instance = NULL; +extern sqlite3* database_table_db; +static gpointer backing_photo_row_parent_class = NULL; +static gpointer backing_photo_table_parent_class = NULL; +static BackingPhotoTable* backing_photo_table_instance; +static BackingPhotoTable* backing_photo_table_instance = NULL; + +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +#define PHOTO_ID_INVALID ((gint64) -1) +void photo_id_init (PhotoID *self, gint64 id); +gboolean photo_id_is_invalid (PhotoID *self); +gboolean photo_id_is_valid (PhotoID *self); +guint photo_id_hash (PhotoID *self); +guint int64_hash (gint64* n); +gboolean photo_id_equal (void* a, void* b); +gchar* photo_id_upgrade_photo_id_to_source_id (PhotoID* photo_id); +#define PHOTO_TYPENAME "thumb" +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +#define IMPORT_ID_INVALID ((gint64) 0) +void import_id_init (ImportID *self, gint64 id); +void import_id_generate (ImportID* result); +gboolean import_id_is_invalid (ImportID *self); +gboolean import_id_is_valid (ImportID *self); +gint import_id_compare_func (ImportID* a, ImportID* b); +gint64 import_id_comparator (void* a, void* b); +gpointer photo_row_ref (gpointer instance); +void photo_row_unref (gpointer instance); +GParamSpec* param_spec_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_row (GValue* value, gpointer v_object); +void value_take_photo_row (GValue* value, gpointer v_object); +gpointer value_get_photo_row (const GValue* value); +GType photo_row_get_type (void) G_GNUC_CONST; +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +GType orientation_get_type (void) G_GNUC_CONST; +gpointer key_value_map_ref (gpointer instance); +void key_value_map_unref (gpointer instance); +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_key_value_map (GValue* value, gpointer v_object); +void value_take_key_value_map (GValue* value, gpointer v_object); +gpointer value_get_key_value_map (const GValue* value); +GType key_value_map_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +enum { + PHOTO_ROW_DUMMY_PROPERTY +}; +PhotoRow* photo_row_new (void); +PhotoRow* photo_row_construct (GType object_type); +BackingPhotoRow* backing_photo_row_new (void); +BackingPhotoRow* backing_photo_row_construct (GType object_type); +#define BACKING_PHOTO_ID_INVALID ((gint64) -1) +void backing_photo_id_init (BackingPhotoID *self, gint64 id); +RawDeveloper* raw_developer_as_array (int* result_length1); +static void photo_row_finalize (PhotoRow* obj); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType photo_table_get_type (void) G_GNUC_CONST; +enum { + PHOTO_TABLE_DUMMY_PROPERTY +}; +static PhotoTable* photo_table_new (void); +static PhotoTable* photo_table_construct (GType object_type); +DatabaseTable* database_table_construct (GType object_type); +void database_table_fatal (const gchar* op, gint res); +void database_table_warning (const gchar* op, gint res); +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name); +PhotoTable* photo_table_get_instance (void); +void photo_table_add (PhotoTable* self, PhotoRow* photo_row, PhotoID* result); +gulong now_sec (void); +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +#define EVENT_ID_INVALID ((gint64) -1) +gint photo_file_format_serialize (PhotoFileFormat self); +gint rating_serialize (Rating self); +gchar* raw_developer_to_string (RawDeveloper self); +void event_id_init (EventID *self, gint64 id); +GQuark database_error_quark (void); +void photo_table_reimport (PhotoTable* self, PhotoRow* row, GError** error); +void database_table_throw_error (const gchar* method, gint res, GError** error); +gboolean photo_table_master_exif_updated (PhotoTable* self, PhotoID* photoID, gint64 filesize, glong timestamp, const gchar* md5, const gchar* exif_md5, const gchar* thumbnail_md5, PhotoRow* row); +static void photo_table_validate_orientation (PhotoTable* self, PhotoRow* row); +gboolean photo_table_set_orientation (PhotoTable* self, PhotoID* photo_id, Orientation orientation); +PhotoRow* photo_table_get_row (PhotoTable* self, PhotoID* photo_id); +void dimensions_init (Dimensions *self, gint width, gint height); +GeeHashMap* photo_table_marshall_all_transformations (const gchar* trans); +Rating rating_unserialize (gint value); +PhotoFileFormat photo_file_format_unserialize (gint value); +RawDeveloper raw_developer_from_string (const gchar* value); +GeeArrayList* photo_table_get_all (PhotoTable* self); +void photo_table_duplicate (PhotoTable* self, PhotoID* photo_id, const gchar* new_filename, BackingPhotoID* editable_id, BackingPhotoID* develop_shotwell, BackingPhotoID* develop_camera_id, BackingPhotoID* develop_embedded_id, PhotoID* result); +gchar* photo_table_unmarshall_all_transformations (GeeHashMap* transformations); +gboolean photo_table_set_title (PhotoTable* self, PhotoID* photo_id, const gchar* new_title); +gboolean database_table_update_text_by_id (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text); +gboolean photo_table_set_comment (PhotoTable* self, PhotoID* photo_id, const gchar* new_comment); +void photo_table_set_filepath (PhotoTable* self, PhotoID* photo_id, const gchar* filepath, GError** error); +void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error); +void photo_table_update_timestamp (PhotoTable* self, PhotoID* photo_id, time_t timestamp, GError** error); +void database_table_update_int64_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint64 value, GError** error); +gboolean photo_table_set_exposure_time (PhotoTable* self, PhotoID* photo_id, time_t time); +gboolean database_table_update_int64_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint64 value); +void photo_table_set_import_id (PhotoTable* self, PhotoID* photo_id, ImportID* import_id, GError** error); +gboolean photo_table_remove_by_file (PhotoTable* self, GFile* file); +void photo_table_remove (PhotoTable* self, PhotoID* photo_id, GError** error); +void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error); +GeeArrayList* photo_table_get_photos (PhotoTable* self); +gboolean database_table_update_int_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint value); +gboolean photo_table_replace_flags (PhotoTable* self, PhotoID* photo_id, guint64 flags); +gboolean photo_table_set_rating (PhotoTable* self, PhotoID* photo_id, Rating rating); +gint photo_table_get_event_photo_count (PhotoTable* self, EventID* event_id); +GeeArrayList* photo_table_get_event_source_ids (PhotoTable* self, EventID* event_id); +gboolean photo_table_event_has_photos (PhotoTable* self, EventID* event_id); +gboolean photo_table_drop_event (PhotoTable* self, EventID* event_id); +gboolean photo_table_set_event (PhotoTable* self, PhotoID* photo_id, EventID* event_id); +static gchar* photo_table_get_raw_transformations (PhotoTable* self, PhotoID* photo_id); +gboolean database_table_select_by_id (DatabaseTable* self, gint64 id, const gchar* columns, sqlite3_stmt** stmt); +static gboolean photo_table_set_raw_transformations (PhotoTable* self, PhotoID* photo_id, const gchar* trans); +gboolean photo_table_set_transformation_state (PhotoTable* self, PhotoID* photo_id, Orientation orientation, GeeHashMap* transformations); +KeyValueMap* key_value_map_new (const gchar* group); +KeyValueMap* key_value_map_construct (GType object_type, const gchar* group); +void key_value_map_set_string (KeyValueMap* self, const gchar* key, const gchar* value); +GeeSet* key_value_map_get_keys (KeyValueMap* self); +gchar* key_value_map_get_string (KeyValueMap* self, const gchar* key, const gchar* def); +gboolean photo_table_set_transformation (PhotoTable* self, PhotoID* photo_id, KeyValueMap* map); +gchar* key_value_map_get_group (KeyValueMap* self); +gboolean photo_table_remove_transformation (PhotoTable* self, PhotoID* photo_id, const gchar* object); +gboolean photo_table_remove_all_transformations (PhotoTable* self, PhotoID* photo_id); +static sqlite3_stmt* photo_table_get_duplicate_stmt (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format); +gboolean photo_table_has_duplicate (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format); +PhotoID* photo_table_get_duplicate_ids (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format, int* result_length1); +static void _vala_array_add2 (PhotoID** array, int* length, int* size, const PhotoID* value); +void photo_table_update_backlinks (PhotoTable* self, PhotoID* photo_id, const gchar* backlinks, GError** error); +void photo_table_attach_editable (PhotoTable* self, PhotoRow* row, BackingPhotoID* editable_id, GError** error); +void photo_table_detach_editable (PhotoTable* self, PhotoRow* row, GError** error); +void photo_table_set_metadata_dirty (PhotoTable* self, PhotoID* photo_id, gboolean dirty, GError** error); +void database_table_update_int_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint value, GError** error); +void photo_table_update_raw_development (PhotoTable* self, PhotoRow* row, RawDeveloper rd, BackingPhotoID* backing_photo_id, GError** error); +void photo_table_remove_development (PhotoTable* self, PhotoRow* row, RawDeveloper rd, GError** error); +static void photo_table_finalize (DatabaseTable* obj); +gboolean backing_photo_id_is_invalid (BackingPhotoID *self); +gboolean backing_photo_id_is_valid (BackingPhotoID *self); +enum { + BACKING_PHOTO_ROW_DUMMY_PROPERTY +}; +gboolean backing_photo_row_matches_file_info (BackingPhotoRow* self, GFileInfo* info); +gboolean backing_photo_row_is_touched (BackingPhotoRow* self, GFileInfo* info); +void backing_photo_row_copy_from (BackingPhotoRow* self, BackingPhotoRow* from); +static void backing_photo_row_finalize (BackingPhotoRow* obj); +GType backing_photo_table_get_type (void) G_GNUC_CONST; +enum { + BACKING_PHOTO_TABLE_DUMMY_PROPERTY +}; +static BackingPhotoTable* backing_photo_table_new (void); +static BackingPhotoTable* backing_photo_table_construct (GType object_type); +BackingPhotoTable* backing_photo_table_get_instance (void); +void backing_photo_table_add (BackingPhotoTable* self, BackingPhotoRow* state, GError** error); +BackingPhotoRow* backing_photo_table_fetch (BackingPhotoTable* self, BackingPhotoID* id, GError** error); +void backing_photo_table_update (BackingPhotoTable* self, BackingPhotoRow* row, GError** error); +void backing_photo_table_update_attributes (BackingPhotoTable* self, BackingPhotoID* id, time_t timestamp, gint64 filesize, GError** error); +void backing_photo_table_remove (BackingPhotoTable* self, BackingPhotoID* backing_id, GError** error); +void backing_photo_table_set_filepath (BackingPhotoTable* self, BackingPhotoID* id, const gchar* filepath, GError** error); +void backing_photo_table_update_timestamp (BackingPhotoTable* self, BackingPhotoID* id, time_t timestamp, GError** error); +static void backing_photo_table_finalize (DatabaseTable* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +void photo_id_init (PhotoID *self, gint64 id) { + gint64 _tmp0_ = 0LL; +#line 12 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + memset (self, 0, sizeof (PhotoID)); +#line 13 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = id; +#line 13 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + (*self).id = _tmp0_; +#line 484 "PhotoTable.c" +} + + +gboolean photo_id_is_invalid (PhotoID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 17 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = (*self).id; +#line 17 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp0_ == PHOTO_ID_INVALID; +#line 17 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 497 "PhotoTable.c" +} + + +gboolean photo_id_is_valid (PhotoID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 21 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = (*self).id; +#line 21 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp0_ != PHOTO_ID_INVALID; +#line 21 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 510 "PhotoTable.c" +} + + +guint photo_id_hash (PhotoID *self) { + guint result = 0U; + gint64 _tmp0_ = 0LL; + guint _tmp1_ = 0U; +#line 25 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = (*self).id; +#line 25 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = int64_hash (&_tmp0_); +#line 25 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp1_; +#line 25 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 526 "PhotoTable.c" +} + + +gboolean photo_id_equal (void* a, void* b) { + gboolean result = FALSE; + void* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + void* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; +#line 29 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = a; +#line 29 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = (*((PhotoID*) _tmp0_)).id; +#line 29 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = b; +#line 29 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = (*((PhotoID*) _tmp2_)).id; +#line 29 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp1_ == _tmp3_; +#line 29 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 548 "PhotoTable.c" +} + + +gchar* photo_id_upgrade_photo_id_to_source_id (PhotoID* photo_id) { + gchar* result = NULL; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + gchar* _tmp2_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, NULL); +#line 33 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 33 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 33 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = g_strdup_printf ("%s%016" G_GINT64_MODIFIER "x", PHOTO_TYPENAME, _tmp1_); +#line 33 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp2_; +#line 33 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 569 "PhotoTable.c" +} + + +PhotoID* photo_id_dup (const PhotoID* self) { + PhotoID* dup; +#line 7 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dup = g_new0 (PhotoID, 1); +#line 7 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + memcpy (dup, self, sizeof (PhotoID)); +#line 7 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return dup; +#line 581 "PhotoTable.c" +} + + +void photo_id_free (PhotoID* self) { +#line 7 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_free (self); +#line 588 "PhotoTable.c" +} + + +GType photo_id_get_type (void) { + static volatile gsize photo_id_type_id__volatile = 0; + if (g_once_init_enter (&photo_id_type_id__volatile)) { + GType photo_id_type_id; + photo_id_type_id = g_boxed_type_register_static ("PhotoID", (GBoxedCopyFunc) photo_id_dup, (GBoxedFreeFunc) photo_id_free); + g_once_init_leave (&photo_id_type_id__volatile, photo_id_type_id); + } + return photo_id_type_id__volatile; +} + + +void import_id_init (ImportID *self, gint64 id) { + gint64 _tmp0_ = 0LL; +#line 42 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + memset (self, 0, sizeof (ImportID)); +#line 43 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = id; +#line 43 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + (*self).id = _tmp0_; +#line 611 "PhotoTable.c" +} + + +void import_id_generate (ImportID* result) { + GTimeVal timestamp = {0}; + gint64 id = 0LL; + GTimeVal _tmp0_ = {0}; + glong _tmp1_ = 0L; + ImportID _tmp2_ = {0}; +#line 47 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_get_current_time (×tamp); +#line 48 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_get_current_time (×tamp); +#line 49 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = timestamp; +#line 49 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.tv_sec; +#line 49 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + id = (gint64) _tmp1_; +#line 51 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + import_id_init (&_tmp2_, id); +#line 51 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *result = _tmp2_; +#line 51 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 637 "PhotoTable.c" +} + + +gboolean import_id_is_invalid (ImportID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 55 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = (*self).id; +#line 55 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp0_ == IMPORT_ID_INVALID; +#line 55 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 650 "PhotoTable.c" +} + + +gboolean import_id_is_valid (ImportID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 59 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = (*self).id; +#line 59 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp0_ != IMPORT_ID_INVALID; +#line 59 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 663 "PhotoTable.c" +} + + +gint import_id_compare_func (ImportID* a, ImportID* b) { + gint result = 0; + gboolean _tmp0_ = FALSE; + ImportID* _tmp1_ = NULL; + ImportID* _tmp3_ = NULL; + gint64 _tmp4_ = 0LL; + ImportID* _tmp5_ = NULL; + gint64 _tmp6_ = 0LL; +#line 63 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = a; +#line 63 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp1_ != NULL) { +#line 679 "PhotoTable.c" + ImportID* _tmp2_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = b; +#line 63 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = _tmp2_ != NULL; +#line 685 "PhotoTable.c" + } else { +#line 63 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = FALSE; +#line 689 "PhotoTable.c" + } +#line 63 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp0_, "a != null && b != null"); +#line 64 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = a; +#line 64 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = (*_tmp3_).id; +#line 64 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = b; +#line 64 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = (*_tmp5_).id; +#line 64 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = (gint) (_tmp4_ - _tmp6_); +#line 64 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 705 "PhotoTable.c" +} + + +gint64 import_id_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + void* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; +#line 68 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = a; +#line 68 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = (*((ImportID*) _tmp0_)).id; +#line 68 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = b; +#line 68 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = (*((ImportID*) _tmp2_)).id; +#line 68 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp1_ - _tmp3_; +#line 68 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 727 "PhotoTable.c" +} + + +ImportID* import_id_dup (const ImportID* self) { + ImportID* dup; +#line 37 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dup = g_new0 (ImportID, 1); +#line 37 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + memcpy (dup, self, sizeof (ImportID)); +#line 37 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return dup; +#line 739 "PhotoTable.c" +} + + +void import_id_free (ImportID* self) { +#line 37 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_free (self); +#line 746 "PhotoTable.c" +} + + +GType import_id_get_type (void) { + static volatile gsize import_id_type_id__volatile = 0; + if (g_once_init_enter (&import_id_type_id__volatile)) { + GType import_id_type_id; + import_id_type_id = g_boxed_type_register_static ("ImportID", (GBoxedCopyFunc) import_id_dup, (GBoxedFreeFunc) import_id_free); + g_once_init_leave (&import_id_type_id__volatile, import_id_type_id); + } + return import_id_type_id__volatile; +} + + +PhotoRow* photo_row_construct (GType object_type) { + PhotoRow* self = NULL; + BackingPhotoRow* _tmp0_ = NULL; + gint _tmp1_ = 0; + RawDeveloper* _tmp2_ = NULL; + RawDeveloper* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + BackingPhotoID* _tmp4_ = NULL; + gint _tmp5_ = 0; + RawDeveloper* _tmp6_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self = (PhotoRow*) g_type_create_instance (object_type); +#line 101 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = backing_photo_row_new (); +#line 101 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _backing_photo_row_unref0 (self->master); +#line 101 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->master = _tmp0_; +#line 102 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&self->editable_id, BACKING_PHOTO_ID_INVALID); +#line 103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = raw_developer_as_array (&_tmp1_); +#line 103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3__length1 = _tmp1_; +#line 103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = g_new0 (BackingPhotoID, _tmp1_); +#line 103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->development_ids = (g_free (self->development_ids), NULL); +#line 103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->development_ids = _tmp4_; +#line 103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->development_ids_length1 = _tmp1_; +#line 103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = (g_free (_tmp3_), NULL); +#line 104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = raw_developer_as_array (&_tmp5_); +#line 799 "PhotoTable.c" + { + RawDeveloper* d_collection = NULL; + gint d_collection_length1 = 0; + gint _d_collection_size_ = 0; + gint d_it = 0; +#line 104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + d_collection = _tmp6_; +#line 104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + d_collection_length1 = _tmp5_; +#line 104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + for (d_it = 0; d_it < _tmp5_; d_it = d_it + 1) { +#line 811 "PhotoTable.c" + RawDeveloper d = 0; +#line 104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + d = d_collection[d_it]; +#line 815 "PhotoTable.c" + { + BackingPhotoID* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + RawDeveloper _tmp8_ = 0; + BackingPhotoID _tmp9_ = {0}; + BackingPhotoID _tmp10_ = {0}; +#line 105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = self->development_ids; +#line 105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7__length1 = self->development_ids_length1; +#line 105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = d; +#line 105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp9_, BACKING_PHOTO_ID_INVALID); +#line 105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_[_tmp8_] = _tmp9_; +#line 105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = _tmp7_[_tmp8_]; +#line 834 "PhotoTable.c" + } + } +#line 104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + d_collection = (g_free (d_collection), NULL); +#line 839 "PhotoTable.c" + } +#line 100 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return self; +#line 843 "PhotoTable.c" +} + + +PhotoRow* photo_row_new (void) { +#line 100 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return photo_row_construct (TYPE_PHOTO_ROW); +#line 850 "PhotoTable.c" +} + + +static void value_photo_row_init (GValue* value) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = NULL; +#line 857 "PhotoTable.c" +} + + +static void value_photo_row_free_value (GValue* value) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (value->data[0].v_pointer) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_row_unref (value->data[0].v_pointer); +#line 866 "PhotoTable.c" + } +} + + +static void value_photo_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (src_value->data[0].v_pointer) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dest_value->data[0].v_pointer = photo_row_ref (src_value->data[0].v_pointer); +#line 876 "PhotoTable.c" + } else { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 880 "PhotoTable.c" + } +} + + +static gpointer value_photo_row_peek_pointer (const GValue* value) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return value->data[0].v_pointer; +#line 888 "PhotoTable.c" +} + + +static gchar* value_photo_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (collect_values[0].v_pointer) { +#line 895 "PhotoTable.c" + PhotoRow* object; + object = collect_values[0].v_pointer; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 902 "PhotoTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 906 "PhotoTable.c" + } +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = photo_row_ref (object); +#line 910 "PhotoTable.c" + } else { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = NULL; +#line 914 "PhotoTable.c" + } +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return NULL; +#line 918 "PhotoTable.c" +} + + +static gchar* value_photo_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoRow** object_p; + object_p = collect_values[0].v_pointer; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!object_p) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 929 "PhotoTable.c" + } +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!value->data[0].v_pointer) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *object_p = NULL; +#line 935 "PhotoTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *object_p = value->data[0].v_pointer; +#line 939 "PhotoTable.c" + } else { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *object_p = photo_row_ref (value->data[0].v_pointer); +#line 943 "PhotoTable.c" + } +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return NULL; +#line 947 "PhotoTable.c" +} + + +GParamSpec* param_spec_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoRow* spec; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_ROW), NULL); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return G_PARAM_SPEC (spec); +#line 961 "PhotoTable.c" +} + + +gpointer value_get_photo_row (const GValue* value) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_ROW), NULL); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return value->data[0].v_pointer; +#line 970 "PhotoTable.c" +} + + +void value_set_photo_row (GValue* value, gpointer v_object) { + PhotoRow* old; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_ROW)); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + old = value->data[0].v_pointer; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (v_object) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_ROW)); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = v_object; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_row_ref (value->data[0].v_pointer); +#line 990 "PhotoTable.c" + } else { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = NULL; +#line 994 "PhotoTable.c" + } +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (old) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_row_unref (old); +#line 1000 "PhotoTable.c" + } +} + + +void value_take_photo_row (GValue* value, gpointer v_object) { + PhotoRow* old; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_ROW)); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + old = value->data[0].v_pointer; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (v_object) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_ROW)); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = v_object; +#line 1019 "PhotoTable.c" + } else { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = NULL; +#line 1023 "PhotoTable.c" + } +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (old) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_row_unref (old); +#line 1029 "PhotoTable.c" + } +} + + +static void photo_row_class_init (PhotoRowClass * klass) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_row_parent_class = g_type_class_peek_parent (klass); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + ((PhotoRowClass *) klass)->finalize = photo_row_finalize; +#line 1039 "PhotoTable.c" +} + + +static void photo_row_instance_init (PhotoRow * self) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->ref_count = 1; +#line 1046 "PhotoTable.c" +} + + +static void photo_row_finalize (PhotoRow* obj) { + PhotoRow * self; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_ROW, PhotoRow); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_signal_handlers_destroy (self); +#line 74 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _backing_photo_row_unref0 (self->master); +#line 79 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (self->transformations); +#line 80 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (self->md5); +#line 81 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (self->thumbnail_md5); +#line 82 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (self->exif_md5); +#line 86 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (self->title); +#line 87 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (self->comment); +#line 88 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (self->backlinks); +#line 97 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->development_ids = (g_free (self->development_ids), NULL); +#line 1074 "PhotoTable.c" +} + + +GType photo_row_get_type (void) { + static volatile gsize photo_row_type_id__volatile = 0; + if (g_once_init_enter (&photo_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_row_init, value_photo_row_free_value, value_photo_row_copy_value, value_photo_row_peek_pointer, "p", value_photo_row_collect_value, "p", value_photo_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoRow), 0, (GInstanceInitFunc) photo_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_row_type_id; + photo_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoRow", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_row_type_id__volatile, photo_row_type_id); + } + return photo_row_type_id__volatile; +} + + +gpointer photo_row_ref (gpointer instance) { + PhotoRow* self; + self = instance; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return instance; +#line 1099 "PhotoTable.c" +} + + +void photo_row_unref (gpointer instance) { + PhotoRow* self; + self = instance; +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + PHOTO_ROW_GET_CLASS (self)->finalize (self); +#line 72 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1112 "PhotoTable.c" + } +} + + +static PhotoTable* photo_table_construct (GType object_type) { + PhotoTable* self = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3_stmt* stmt2 = NULL; + gint res2 = 0; + sqlite3* _tmp8_ = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + sqlite3* _tmp16_ = NULL; + sqlite3_stmt* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + sqlite3_stmt* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + sqlite3* _tmp24_ = NULL; + sqlite3_stmt* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + sqlite3* _tmp32_ = NULL; + sqlite3_stmt* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; +#line 112 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self = (PhotoTable*) database_table_construct (object_type); +#line 114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "CREATE TABLE IF NOT EXISTS PhotoTable (" "id INTEGER PRIMARY KEY, " "filename TEXT UNIQUE NOT NULL, " "width INTEGER, " "height INTEGER, " "filesize INTEGER, " "timestamp INTEGER, " "exposure_time INTEGER, " "orientation INTEGER, " "original_orientation INTEGER, " "import_id INTEGER, " "event_id INTEGER, " "transformations TEXT, " "md5 TEXT, " "thumbnail_md5 TEXT, " "exif_md5 TEXT, " "time_created INTEGER, " "flags INTEGER DEFAULT 0, " "rating INTEGER DEFAULT 0, " "file_format INTEGER DEFAULT 0, " "title TEXT, " "backlinks TEXT, " "time_reimported INTEGER, " "editable_id INTEGER DEFAULT -1, " "metadata_dirty INTEGER DEFAULT 0, " "developer TEXT, " "develop_shotwell_id INTEGER DEFAULT -1, " "develop_camera_id INTEGER DEFAULT -1, " "develop_embedded_id INTEGER DEFAULT -1, " "comment TEXT" ")", -1, &_tmp1_, NULL); +#line 114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 145 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 145 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 147 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 147 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 147 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp5_; +#line 148 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = res; +#line 148 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp6_ != SQLITE_DONE) { +#line 1184 "PhotoTable.c" + gint _tmp7_ = 0; +#line 149 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = res; +#line 149 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("create photo table", _tmp7_); +#line 1190 "PhotoTable.c" + } +#line 153 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = database_table_db; +#line 153 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_prepare_v2 (_tmp8_, "CREATE INDEX IF NOT EXISTS PhotoEventIDIndex ON PhotoTable (event_id)", -1, &_tmp9_, NULL); +#line 153 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt2); +#line 153 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt2 = _tmp9_; +#line 153 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res2 = _tmp10_; +#line 155 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res2; +#line 155 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res2 == Sqlite.OK"); +#line 157 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = stmt2; +#line 157 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = sqlite3_step (_tmp12_); +#line 157 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res2 = _tmp13_; +#line 158 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = res2; +#line 158 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp14_ != SQLITE_DONE) { +#line 1216 "PhotoTable.c" + gint _tmp15_ = 0; +#line 159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = res2; +#line 159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("create photo table", _tmp15_); +#line 1222 "PhotoTable.c" + } +#line 165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = database_table_db; +#line 165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = sqlite3_prepare_v2 (_tmp16_, "CREATE UNIQUE INDEX IF NOT EXISTS PhotoTableMD5Format on PhotoTable(md" \ +"5, file_format)", -1, &_tmp17_, NULL); +#line 165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp17_; +#line 165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp18_; +#line 166 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = res; +#line 166 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp19_ == SQLITE_OK, "res == Sqlite.OK"); +#line 167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = stmt; +#line 167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = sqlite3_step (_tmp20_); +#line 167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp21_; +#line 168 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = res; +#line 168 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp22_ != SQLITE_DONE) { +#line 1248 "PhotoTable.c" + gint _tmp23_ = 0; +#line 169 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = res; +#line 169 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_warning ("Failed to create index on md5 and file_format", _tmp23_); +#line 1254 "PhotoTable.c" + } +#line 173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = database_table_db; +#line 173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = sqlite3_prepare_v2 (_tmp24_, "CREATE INDEX IF NOT EXISTS PhotoTableThumbnailMD5Format on PhotoTable(" \ +"thumbnail_md5, file_format)", -1, &_tmp25_, NULL); +#line 173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp25_; +#line 173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp26_; +#line 174 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = res; +#line 174 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp27_ == SQLITE_OK, "res == Sqlite.OK"); +#line 175 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = stmt; +#line 175 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = sqlite3_step (_tmp28_); +#line 175 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp29_; +#line 176 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = res; +#line 176 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp30_ != SQLITE_DONE) { +#line 1280 "PhotoTable.c" + gint _tmp31_ = 0; +#line 177 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = res; +#line 177 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_warning ("Failed to create index on md5 and file_format", _tmp31_); +#line 1286 "PhotoTable.c" + } +#line 181 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = database_table_db; +#line 181 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = sqlite3_prepare_v2 (_tmp32_, "CREATE INDEX IF NOT EXISTS PhotoTableThumbnailMD5MD5 on PhotoTable(thu" \ +"mbnail_md5, md5)", -1, &_tmp33_, NULL); +#line 181 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 181 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp33_; +#line 181 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp34_; +#line 182 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = res; +#line 182 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp35_ == SQLITE_OK, "res == Sqlite.OK"); +#line 183 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = stmt; +#line 183 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = sqlite3_step (_tmp36_); +#line 183 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp37_; +#line 184 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = res; +#line 184 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp38_ != SQLITE_DONE) { +#line 1312 "PhotoTable.c" + gint _tmp39_ = 0; +#line 185 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = res; +#line 185 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_warning ("Failed to create index on thumbnail_md5 and md5", _tmp39_); +#line 1318 "PhotoTable.c" + } +#line 188 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), "PhotoTable"); +#line 112 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt2); +#line 112 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 112 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return self; +#line 1328 "PhotoTable.c" +} + + +static PhotoTable* photo_table_new (void) { +#line 112 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return photo_table_construct (TYPE_PHOTO_TABLE); +#line 1335 "PhotoTable.c" +} + + +static gpointer _database_table_ref0 (gpointer self) { +#line 195 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return self ? database_table_ref (self) : NULL; +#line 1342 "PhotoTable.c" +} + + +PhotoTable* photo_table_get_instance (void) { + PhotoTable* result = NULL; + PhotoTable* _tmp0_ = NULL; + PhotoTable* _tmp2_ = NULL; + PhotoTable* _tmp3_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = photo_table_instance; +#line 192 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp0_ == NULL) { +#line 1355 "PhotoTable.c" + PhotoTable* _tmp1_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = photo_table_new (); +#line 193 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _database_table_unref0 (photo_table_instance); +#line 193 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_table_instance = _tmp1_; +#line 1363 "PhotoTable.c" + } +#line 195 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = photo_table_instance; +#line 195 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = _database_table_ref0 (_tmp2_); +#line 195 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp3_; +#line 195 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 1373 "PhotoTable.c" +} + + +void photo_table_add (PhotoTable* self, PhotoRow* photo_row, PhotoID* result) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gulong time_created = 0UL; + gulong _tmp4_ = 0UL; + sqlite3_stmt* _tmp5_ = NULL; + PhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + GDestroyNotify _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + sqlite3_stmt* _tmp13_ = NULL; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + Dimensions _tmp16_ = {0}; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + sqlite3_stmt* _tmp20_ = NULL; + PhotoRow* _tmp21_ = NULL; + BackingPhotoRow* _tmp22_ = NULL; + Dimensions _tmp23_ = {0}; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + sqlite3_stmt* _tmp27_ = NULL; + PhotoRow* _tmp28_ = NULL; + BackingPhotoRow* _tmp29_ = NULL; + gint64 _tmp30_ = 0LL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + sqlite3_stmt* _tmp33_ = NULL; + PhotoRow* _tmp34_ = NULL; + BackingPhotoRow* _tmp35_ = NULL; + time_t _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + sqlite3_stmt* _tmp39_ = NULL; + PhotoRow* _tmp40_ = NULL; + time_t _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + sqlite3_stmt* _tmp44_ = NULL; + PhotoRow* _tmp45_ = NULL; + BackingPhotoRow* _tmp46_ = NULL; + Orientation _tmp47_ = 0; + gint _tmp48_ = 0; + gint _tmp49_ = 0; + sqlite3_stmt* _tmp50_ = NULL; + PhotoRow* _tmp51_ = NULL; + BackingPhotoRow* _tmp52_ = NULL; + Orientation _tmp53_ = 0; + gint _tmp54_ = 0; + gint _tmp55_ = 0; + sqlite3_stmt* _tmp56_ = NULL; + PhotoRow* _tmp57_ = NULL; + ImportID _tmp58_ = {0}; + gint64 _tmp59_ = 0LL; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + sqlite3_stmt* _tmp62_ = NULL; + gint _tmp63_ = 0; + gint _tmp64_ = 0; + sqlite3_stmt* _tmp65_ = NULL; + PhotoRow* _tmp66_ = NULL; + const gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + GDestroyNotify _tmp69_ = NULL; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + sqlite3_stmt* _tmp72_ = NULL; + PhotoRow* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + GDestroyNotify _tmp76_ = NULL; + gint _tmp77_ = 0; + gint _tmp78_ = 0; + sqlite3_stmt* _tmp79_ = NULL; + PhotoRow* _tmp80_ = NULL; + const gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + GDestroyNotify _tmp83_ = NULL; + gint _tmp84_ = 0; + gint _tmp85_ = 0; + sqlite3_stmt* _tmp86_ = NULL; + gulong _tmp87_ = 0UL; + gint _tmp88_ = 0; + gint _tmp89_ = 0; + sqlite3_stmt* _tmp90_ = NULL; + PhotoRow* _tmp91_ = NULL; + BackingPhotoRow* _tmp92_ = NULL; + PhotoFileFormat _tmp93_ = 0; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + gint _tmp96_ = 0; + sqlite3_stmt* _tmp97_ = NULL; + PhotoRow* _tmp98_ = NULL; + const gchar* _tmp99_ = NULL; + gchar* _tmp100_ = NULL; + GDestroyNotify _tmp101_ = NULL; + gint _tmp102_ = 0; + gint _tmp103_ = 0; + sqlite3_stmt* _tmp104_ = NULL; + PhotoRow* _tmp105_ = NULL; + Rating _tmp106_ = 0; + gint _tmp107_ = 0; + gint _tmp108_ = 0; + gint _tmp109_ = 0; + sqlite3_stmt* _tmp110_ = NULL; + gint _tmp111_ = 0; + gint _tmp112_ = 0; + sqlite3_stmt* _tmp113_ = NULL; + PhotoRow* _tmp114_ = NULL; + RawDeveloper _tmp115_ = 0; + gchar* _tmp116_ = NULL; + GDestroyNotify _tmp117_ = NULL; + gint _tmp118_ = 0; + gint _tmp119_ = 0; + sqlite3_stmt* _tmp120_ = NULL; + PhotoRow* _tmp121_ = NULL; + const gchar* _tmp122_ = NULL; + gchar* _tmp123_ = NULL; + GDestroyNotify _tmp124_ = NULL; + gint _tmp125_ = 0; + gint _tmp126_ = 0; + sqlite3_stmt* _tmp127_ = NULL; + gint _tmp128_ = 0; + gint _tmp129_ = 0; + PhotoRow* _tmp133_ = NULL; + sqlite3* _tmp134_ = NULL; + gint64 _tmp135_ = 0LL; + PhotoRow* _tmp136_ = NULL; + PhotoRow* _tmp137_ = NULL; + BackingPhotoRow* _tmp138_ = NULL; + Orientation _tmp139_ = 0; + PhotoRow* _tmp140_ = NULL; + PhotoRow* _tmp141_ = NULL; + gulong _tmp142_ = 0UL; + PhotoRow* _tmp143_ = NULL; + PhotoRow* _tmp144_ = NULL; + PhotoID _tmp145_ = {0}; +#line 200 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 200 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_ROW (photo_row)); +#line 202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO PhotoTable (filename, width, height, filesize, timestamp, " \ +"exposure_time, " "orientation, original_orientation, import_id, event_id, md5, thumbnail" \ +"_md5, " "exif_md5, time_created, file_format, title, rating, editable_id, devel" \ +"oper, comment) " "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", -1, &_tmp1_, NULL); +#line 202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 208 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 208 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 210 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = now_sec (); +#line 210 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + time_created = _tmp4_; +#line 212 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = stmt; +#line 212 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = photo_row; +#line 212 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = _tmp6_->master; +#line 212 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = _tmp7_->filepath; +#line 212 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 212 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = g_free; +#line 212 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = sqlite3_bind_text (_tmp5_, 1, _tmp9_, -1, _tmp10_); +#line 212 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp11_; +#line 213 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = res; +#line 213 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp12_ == SQLITE_OK, "res == Sqlite.OK"); +#line 214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = stmt; +#line 214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = photo_row; +#line 214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = _tmp14_->master; +#line 214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = _tmp15_->dim; +#line 214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = _tmp16_.width; +#line 214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = sqlite3_bind_int (_tmp13_, 2, _tmp17_); +#line 214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp18_; +#line 215 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = res; +#line 215 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp19_ == SQLITE_OK, "res == Sqlite.OK"); +#line 216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = stmt; +#line 216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = photo_row; +#line 216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = _tmp21_->master; +#line 216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = _tmp22_->dim; +#line 216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = _tmp23_.height; +#line 216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = sqlite3_bind_int (_tmp20_, 3, _tmp24_); +#line 216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp25_; +#line 217 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = res; +#line 217 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp26_ == SQLITE_OK, "res == Sqlite.OK"); +#line 218 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = stmt; +#line 218 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = photo_row; +#line 218 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = _tmp28_->master; +#line 218 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = _tmp29_->filesize; +#line 218 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = sqlite3_bind_int64 (_tmp27_, 4, _tmp30_); +#line 218 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp31_; +#line 219 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = res; +#line 219 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp32_ == SQLITE_OK, "res == Sqlite.OK"); +#line 220 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = stmt; +#line 220 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = photo_row; +#line 220 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = _tmp34_->master; +#line 220 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = _tmp35_->timestamp; +#line 220 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = sqlite3_bind_int64 (_tmp33_, 5, (gint64) _tmp36_); +#line 220 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp37_; +#line 221 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = res; +#line 221 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp38_ == SQLITE_OK, "res == Sqlite.OK"); +#line 222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = stmt; +#line 222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = photo_row; +#line 222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = _tmp40_->exposure_time; +#line 222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = sqlite3_bind_int64 (_tmp39_, 6, (gint64) _tmp41_); +#line 222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp42_; +#line 223 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = res; +#line 223 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp43_ == SQLITE_OK, "res == Sqlite.OK"); +#line 224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = stmt; +#line 224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = photo_row; +#line 224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = _tmp45_->master; +#line 224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_ = _tmp46_->original_orientation; +#line 224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp48_ = sqlite3_bind_int (_tmp44_, 7, (gint) _tmp47_); +#line 224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp48_; +#line 225 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_ = res; +#line 225 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp49_ == SQLITE_OK, "res == Sqlite.OK"); +#line 226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp50_ = stmt; +#line 226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_ = photo_row; +#line 226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_ = _tmp51_->master; +#line 226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_ = _tmp52_->original_orientation; +#line 226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp54_ = sqlite3_bind_int (_tmp50_, 8, (gint) _tmp53_); +#line 226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp54_; +#line 227 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp55_ = res; +#line 227 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp55_ == SQLITE_OK, "res == Sqlite.OK"); +#line 228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp56_ = stmt; +#line 228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp57_ = photo_row; +#line 228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp58_ = _tmp57_->import_id; +#line 228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp59_ = _tmp58_.id; +#line 228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp60_ = sqlite3_bind_int64 (_tmp56_, 9, _tmp59_); +#line 228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp60_; +#line 229 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp61_ = res; +#line 229 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp61_ == SQLITE_OK, "res == Sqlite.OK"); +#line 230 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp62_ = stmt; +#line 230 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp63_ = sqlite3_bind_int64 (_tmp62_, 10, EVENT_ID_INVALID); +#line 230 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp63_; +#line 231 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp64_ = res; +#line 231 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp64_ == SQLITE_OK, "res == Sqlite.OK"); +#line 232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp65_ = stmt; +#line 232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp66_ = photo_row; +#line 232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp67_ = _tmp66_->md5; +#line 232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp68_ = g_strdup (_tmp67_); +#line 232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp69_ = g_free; +#line 232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp70_ = sqlite3_bind_text (_tmp65_, 11, _tmp68_, -1, _tmp69_); +#line 232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp70_; +#line 233 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp71_ = res; +#line 233 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp71_ == SQLITE_OK, "res == Sqlite.OK"); +#line 234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp72_ = stmt; +#line 234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp73_ = photo_row; +#line 234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp74_ = _tmp73_->thumbnail_md5; +#line 234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp75_ = g_strdup (_tmp74_); +#line 234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp76_ = g_free; +#line 234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp77_ = sqlite3_bind_text (_tmp72_, 12, _tmp75_, -1, _tmp76_); +#line 234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp77_; +#line 235 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp78_ = res; +#line 235 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp78_ == SQLITE_OK, "res == Sqlite.OK"); +#line 236 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp79_ = stmt; +#line 236 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp80_ = photo_row; +#line 236 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp81_ = _tmp80_->exif_md5; +#line 236 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp82_ = g_strdup (_tmp81_); +#line 236 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp83_ = g_free; +#line 236 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp84_ = sqlite3_bind_text (_tmp79_, 13, _tmp82_, -1, _tmp83_); +#line 236 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp84_; +#line 237 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp85_ = res; +#line 237 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp85_ == SQLITE_OK, "res == Sqlite.OK"); +#line 238 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp86_ = stmt; +#line 238 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp87_ = time_created; +#line 238 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp88_ = sqlite3_bind_int64 (_tmp86_, 14, (gint64) _tmp87_); +#line 238 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp88_; +#line 239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp89_ = res; +#line 239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp89_ == SQLITE_OK, "res == Sqlite.OK"); +#line 240 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp90_ = stmt; +#line 240 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp91_ = photo_row; +#line 240 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp92_ = _tmp91_->master; +#line 240 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp93_ = _tmp92_->file_format; +#line 240 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp94_ = photo_file_format_serialize (_tmp93_); +#line 240 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp95_ = sqlite3_bind_int (_tmp90_, 15, _tmp94_); +#line 240 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp95_; +#line 241 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp96_ = res; +#line 241 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp96_ == SQLITE_OK, "res == Sqlite.OK"); +#line 242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp97_ = stmt; +#line 242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp98_ = photo_row; +#line 242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp99_ = _tmp98_->title; +#line 242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp100_ = g_strdup (_tmp99_); +#line 242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp101_ = g_free; +#line 242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp102_ = sqlite3_bind_text (_tmp97_, 16, _tmp100_, -1, _tmp101_); +#line 242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp102_; +#line 243 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp103_ = res; +#line 243 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp103_ == SQLITE_OK, "res == Sqlite.OK"); +#line 244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp104_ = stmt; +#line 244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp105_ = photo_row; +#line 244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp106_ = _tmp105_->rating; +#line 244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp107_ = rating_serialize (_tmp106_); +#line 244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp108_ = sqlite3_bind_int64 (_tmp104_, 17, (gint64) _tmp107_); +#line 244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp108_; +#line 245 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp109_ = res; +#line 245 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp109_ == SQLITE_OK, "res == Sqlite.OK"); +#line 246 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp110_ = stmt; +#line 246 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp111_ = sqlite3_bind_int64 (_tmp110_, 18, BACKING_PHOTO_ID_INVALID); +#line 246 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp111_; +#line 247 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp112_ = res; +#line 247 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp112_ == SQLITE_OK, "res == Sqlite.OK"); +#line 248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp113_ = stmt; +#line 248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp114_ = photo_row; +#line 248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp115_ = _tmp114_->developer; +#line 248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp116_ = raw_developer_to_string (_tmp115_); +#line 248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp117_ = g_free; +#line 248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp118_ = sqlite3_bind_text (_tmp113_, 19, _tmp116_, -1, _tmp117_); +#line 248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp118_; +#line 249 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp119_ = res; +#line 249 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp119_ == SQLITE_OK, "res == Sqlite.OK"); +#line 250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp120_ = stmt; +#line 250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp121_ = photo_row; +#line 250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp122_ = _tmp121_->comment; +#line 250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp123_ = g_strdup (_tmp122_); +#line 250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp124_ = g_free; +#line 250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp125_ = sqlite3_bind_text (_tmp120_, 20, _tmp123_, -1, _tmp124_); +#line 250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp125_; +#line 251 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp126_ = res; +#line 251 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp126_ == SQLITE_OK, "res == Sqlite.OK"); +#line 253 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp127_ = stmt; +#line 253 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp128_ = sqlite3_step (_tmp127_); +#line 253 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp128_; +#line 254 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp129_ = res; +#line 254 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp129_ != SQLITE_DONE) { +#line 1880 "PhotoTable.c" + gint _tmp130_ = 0; + PhotoID _tmp132_ = {0}; +#line 255 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp130_ = res; +#line 255 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp130_ != SQLITE_CONSTRAINT) { +#line 1887 "PhotoTable.c" + gint _tmp131_ = 0; +#line 256 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp131_ = res; +#line 256 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("add_photo", _tmp131_); +#line 1893 "PhotoTable.c" + } +#line 258 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_id_init (&_tmp132_, PHOTO_ID_INVALID); +#line 258 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *result = _tmp132_; +#line 258 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 258 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 1903 "PhotoTable.c" + } +#line 262 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp133_ = photo_row; +#line 262 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp134_ = database_table_db; +#line 262 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp135_ = sqlite3_last_insert_rowid (_tmp134_); +#line 262 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_id_init (&_tmp133_->photo_id, _tmp135_); +#line 263 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp136_ = photo_row; +#line 263 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp137_ = photo_row; +#line 263 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp138_ = _tmp137_->master; +#line 263 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp139_ = _tmp138_->original_orientation; +#line 263 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp136_->orientation = _tmp139_; +#line 264 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp140_ = photo_row; +#line 264 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + event_id_init (&_tmp140_->event_id, EVENT_ID_INVALID); +#line 265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp141_ = photo_row; +#line 265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp142_ = time_created; +#line 265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp141_->time_created = (time_t) _tmp142_; +#line 266 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp143_ = photo_row; +#line 266 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp143_->flags = (guint64) 0; +#line 268 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp144_ = photo_row; +#line 268 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp145_ = _tmp144_->photo_id; +#line 268 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *result = _tmp145_; +#line 268 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 268 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 1947 "PhotoTable.c" +} + + +void photo_table_reimport (PhotoTable* self, PhotoRow* row, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + time_t time_reimported = 0; + gulong _tmp4_ = 0UL; + sqlite3_stmt* _tmp5_ = NULL; + PhotoRow* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + sqlite3_stmt* _tmp19_ = NULL; + PhotoRow* _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; + gint64 _tmp22_ = 0LL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + sqlite3_stmt* _tmp25_ = NULL; + PhotoRow* _tmp26_ = NULL; + BackingPhotoRow* _tmp27_ = NULL; + time_t _tmp28_ = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + sqlite3_stmt* _tmp31_ = NULL; + PhotoRow* _tmp32_ = NULL; + time_t _tmp33_ = 0; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + sqlite3_stmt* _tmp36_ = NULL; + PhotoRow* _tmp37_ = NULL; + BackingPhotoRow* _tmp38_ = NULL; + Orientation _tmp39_ = 0; + gint _tmp40_ = 0; + gint _tmp41_ = 0; + sqlite3_stmt* _tmp42_ = NULL; + PhotoRow* _tmp43_ = NULL; + BackingPhotoRow* _tmp44_ = NULL; + Orientation _tmp45_ = 0; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + sqlite3_stmt* _tmp48_ = NULL; + PhotoRow* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + GDestroyNotify _tmp52_ = NULL; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + sqlite3_stmt* _tmp55_ = NULL; + PhotoRow* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GDestroyNotify _tmp59_ = NULL; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + sqlite3_stmt* _tmp62_ = NULL; + PhotoRow* _tmp63_ = NULL; + const gchar* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + GDestroyNotify _tmp66_ = NULL; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + sqlite3_stmt* _tmp69_ = NULL; + PhotoRow* _tmp70_ = NULL; + BackingPhotoRow* _tmp71_ = NULL; + PhotoFileFormat _tmp72_ = 0; + gint _tmp73_ = 0; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + sqlite3_stmt* _tmp76_ = NULL; + PhotoRow* _tmp77_ = NULL; + const gchar* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + GDestroyNotify _tmp80_ = NULL; + gint _tmp81_ = 0; + gint _tmp82_ = 0; + sqlite3_stmt* _tmp83_ = NULL; + time_t _tmp84_ = 0; + gint _tmp85_ = 0; + gint _tmp86_ = 0; + sqlite3_stmt* _tmp87_ = NULL; + PhotoRow* _tmp88_ = NULL; + PhotoID _tmp89_ = {0}; + gint64 _tmp90_ = 0LL; + gint _tmp91_ = 0; + gint _tmp92_ = 0; + sqlite3_stmt* _tmp93_ = NULL; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + PhotoRow* _tmp97_ = NULL; + time_t _tmp98_ = 0; + PhotoRow* _tmp99_ = NULL; + PhotoRow* _tmp100_ = NULL; + BackingPhotoRow* _tmp101_ = NULL; + Orientation _tmp102_ = 0; + GError * _inner_error_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 276 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_ROW (row)); +#line 278 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 278 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE PhotoTable SET width = ?, height = ?, filesize = ?, timestamp =" \ +" ?, " "exposure_time = ?, orientation = ?, original_orientation = ?, md5 = ?," \ +" " "exif_md5 = ?, thumbnail_md5 = ?, file_format = ?, title = ?, time_reim" \ +"ported = ? " "WHERE id = ?", -1, &_tmp1_, NULL); +#line 278 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 278 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 278 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 283 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 283 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 285 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = now_sec (); +#line 285 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + time_reimported = (time_t) _tmp4_; +#line 287 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = stmt; +#line 287 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = row; +#line 287 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = _tmp6_->master; +#line 287 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = _tmp7_->dim; +#line 287 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = _tmp8_.width; +#line 287 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_bind_int (_tmp5_, 1, _tmp9_); +#line 287 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp10_; +#line 288 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res; +#line 288 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 289 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = stmt; +#line 289 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = row; +#line 289 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = _tmp13_->master; +#line 289 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = _tmp14_->dim; +#line 289 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = _tmp15_.height; +#line 289 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = sqlite3_bind_int (_tmp12_, 2, _tmp16_); +#line 289 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp17_; +#line 290 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = res; +#line 290 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp18_ == SQLITE_OK, "res == Sqlite.OK"); +#line 291 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = stmt; +#line 291 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = row; +#line 291 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = _tmp20_->master; +#line 291 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = _tmp21_->filesize; +#line 291 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = sqlite3_bind_int64 (_tmp19_, 3, _tmp22_); +#line 291 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp23_; +#line 292 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = res; +#line 292 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp24_ == SQLITE_OK, "res == Sqlite.OK"); +#line 293 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = stmt; +#line 293 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = row; +#line 293 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = _tmp26_->master; +#line 293 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = _tmp27_->timestamp; +#line 293 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = sqlite3_bind_int64 (_tmp25_, 4, (gint64) _tmp28_); +#line 293 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp29_; +#line 294 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = res; +#line 294 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp30_ == SQLITE_OK, "res == Sqlite.OK"); +#line 295 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = stmt; +#line 295 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = row; +#line 295 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = _tmp32_->exposure_time; +#line 295 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = sqlite3_bind_int64 (_tmp31_, 5, (gint64) _tmp33_); +#line 295 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp34_; +#line 296 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = res; +#line 296 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp35_ == SQLITE_OK, "res == Sqlite.OK"); +#line 297 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = stmt; +#line 297 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = row; +#line 297 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = _tmp37_->master; +#line 297 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = _tmp38_->original_orientation; +#line 297 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = sqlite3_bind_int (_tmp36_, 6, (gint) _tmp39_); +#line 297 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp40_; +#line 298 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = res; +#line 298 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp41_ == SQLITE_OK, "res == Sqlite.OK"); +#line 299 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = stmt; +#line 299 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = row; +#line 299 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = _tmp43_->master; +#line 299 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = _tmp44_->original_orientation; +#line 299 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = sqlite3_bind_int (_tmp42_, 7, (gint) _tmp45_); +#line 299 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp46_; +#line 300 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_ = res; +#line 300 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp47_ == SQLITE_OK, "res == Sqlite.OK"); +#line 301 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp48_ = stmt; +#line 301 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_ = row; +#line 301 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp50_ = _tmp49_->md5; +#line 301 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_ = g_strdup (_tmp50_); +#line 301 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_ = g_free; +#line 301 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_ = sqlite3_bind_text (_tmp48_, 8, _tmp51_, -1, _tmp52_); +#line 301 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp53_; +#line 302 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp54_ = res; +#line 302 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp54_ == SQLITE_OK, "res == Sqlite.OK"); +#line 303 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp55_ = stmt; +#line 303 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp56_ = row; +#line 303 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp57_ = _tmp56_->exif_md5; +#line 303 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp58_ = g_strdup (_tmp57_); +#line 303 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp59_ = g_free; +#line 303 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp60_ = sqlite3_bind_text (_tmp55_, 9, _tmp58_, -1, _tmp59_); +#line 303 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp60_; +#line 304 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp61_ = res; +#line 304 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp61_ == SQLITE_OK, "res == Sqlite.OK"); +#line 305 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp62_ = stmt; +#line 305 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp63_ = row; +#line 305 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp64_ = _tmp63_->thumbnail_md5; +#line 305 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp65_ = g_strdup (_tmp64_); +#line 305 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp66_ = g_free; +#line 305 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp67_ = sqlite3_bind_text (_tmp62_, 10, _tmp65_, -1, _tmp66_); +#line 305 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp67_; +#line 306 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp68_ = res; +#line 306 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp68_ == SQLITE_OK, "res == Sqlite.OK"); +#line 307 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp69_ = stmt; +#line 307 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp70_ = row; +#line 307 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp71_ = _tmp70_->master; +#line 307 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp72_ = _tmp71_->file_format; +#line 307 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp73_ = photo_file_format_serialize (_tmp72_); +#line 307 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp74_ = sqlite3_bind_int (_tmp69_, 11, _tmp73_); +#line 307 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp74_; +#line 308 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp75_ = res; +#line 308 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp75_ == SQLITE_OK, "res == Sqlite.OK"); +#line 309 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp76_ = stmt; +#line 309 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp77_ = row; +#line 309 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp78_ = _tmp77_->title; +#line 309 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp79_ = g_strdup (_tmp78_); +#line 309 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp80_ = g_free; +#line 309 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp81_ = sqlite3_bind_text (_tmp76_, 12, _tmp79_, -1, _tmp80_); +#line 309 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp81_; +#line 310 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp82_ = res; +#line 310 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp82_ == SQLITE_OK, "res == Sqlite.OK"); +#line 311 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp83_ = stmt; +#line 311 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp84_ = time_reimported; +#line 311 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp85_ = sqlite3_bind_int64 (_tmp83_, 13, (gint64) _tmp84_); +#line 311 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp85_; +#line 312 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp86_ = res; +#line 312 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp86_ == SQLITE_OK, "res == Sqlite.OK"); +#line 313 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp87_ = stmt; +#line 313 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp88_ = row; +#line 313 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp89_ = _tmp88_->photo_id; +#line 313 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp90_ = _tmp89_.id; +#line 313 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp91_ = sqlite3_bind_int64 (_tmp87_, 14, _tmp90_); +#line 313 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp91_; +#line 314 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp92_ = res; +#line 314 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp92_ == SQLITE_OK, "res == Sqlite.OK"); +#line 316 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp93_ = stmt; +#line 316 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp94_ = sqlite3_step (_tmp93_); +#line 316 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp94_; +#line 317 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp95_ = res; +#line 317 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp95_ != SQLITE_DONE) { +#line 2322 "PhotoTable.c" + gint _tmp96_ = 0; +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp96_ = res; +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_throw_error ("PhotoTable.reimport_master", _tmp96_, &_inner_error_); +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 2338 "PhotoTable.c" + } else { +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.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 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 318 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 2348 "PhotoTable.c" + } + } + } +#line 320 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp97_ = row; +#line 320 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp98_ = time_reimported; +#line 320 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp97_->time_reimported = _tmp98_; +#line 321 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp99_ = row; +#line 321 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp100_ = row; +#line 321 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp101_ = _tmp100_->master; +#line 321 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp102_ = _tmp101_->original_orientation; +#line 321 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp99_->orientation = _tmp102_; +#line 276 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 2370 "PhotoTable.c" +} + + +gboolean photo_table_master_exif_updated (PhotoTable* self, PhotoID* photoID, gint64 filesize, glong timestamp, const gchar* md5, const gchar* exif_md5, const gchar* thumbnail_md5, PhotoRow* row) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint64 _tmp5_ = 0LL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + glong _tmp9_ = 0L; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GDestroyNotify _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + sqlite3_stmt* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + GDestroyNotify _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + sqlite3_stmt* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + GDestroyNotify _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + sqlite3_stmt* _tmp30_ = NULL; + PhotoID _tmp31_ = {0}; + gint64 _tmp32_ = 0LL; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + sqlite3_stmt* _tmp35_ = NULL; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + PhotoRow* _tmp40_ = NULL; + BackingPhotoRow* _tmp41_ = NULL; + gint64 _tmp42_ = 0LL; + PhotoRow* _tmp43_ = NULL; + BackingPhotoRow* _tmp44_ = NULL; + glong _tmp45_ = 0L; + PhotoRow* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + PhotoRow* _tmp49_ = NULL; + const gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + PhotoRow* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 324 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photoID != NULL, FALSE); +#line 324 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (md5 != NULL, FALSE); +#line 324 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_ROW (row), FALSE); +#line 327 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 327 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE PhotoTable SET filesize = ?, timestamp = ?, md5 = ?, exif_md5 =" \ +" ?," "thumbnail_md5 =? WHERE id = ?", -1, &_tmp1_, NULL); +#line 327 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 327 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 327 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 330 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 330 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 332 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 332 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = filesize; +#line 332 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp5_); +#line 332 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp6_; +#line 333 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = res; +#line 333 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 334 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = stmt; +#line 334 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = timestamp; +#line 334 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_bind_int64 (_tmp8_, 2, (gint64) _tmp9_); +#line 334 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp10_; +#line 335 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res; +#line 335 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 336 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = stmt; +#line 336 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = md5; +#line 336 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 336 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = g_free; +#line 336 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = sqlite3_bind_text (_tmp12_, 3, _tmp14_, -1, _tmp15_); +#line 336 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp16_; +#line 337 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = res; +#line 337 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp17_ == SQLITE_OK, "res == Sqlite.OK"); +#line 338 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = stmt; +#line 338 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = exif_md5; +#line 338 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = g_strdup (_tmp19_); +#line 338 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = g_free; +#line 338 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = sqlite3_bind_text (_tmp18_, 4, _tmp20_, -1, _tmp21_); +#line 338 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp22_; +#line 339 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = res; +#line 339 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp23_ == SQLITE_OK, "res == Sqlite.OK"); +#line 340 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = stmt; +#line 340 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = thumbnail_md5; +#line 340 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = g_strdup (_tmp25_); +#line 340 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = g_free; +#line 340 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = sqlite3_bind_text (_tmp24_, 5, _tmp26_, -1, _tmp27_); +#line 340 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp28_; +#line 341 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = res; +#line 341 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp29_ == SQLITE_OK, "res == Sqlite.OK"); +#line 342 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = stmt; +#line 342 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = *photoID; +#line 342 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = _tmp31_.id; +#line 342 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = sqlite3_bind_int64 (_tmp30_, 6, _tmp32_); +#line 342 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp33_; +#line 343 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = res; +#line 343 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp34_ == SQLITE_OK, "res == Sqlite.OK"); +#line 345 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = stmt; +#line 345 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = sqlite3_step (_tmp35_); +#line 345 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp36_; +#line 346 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = res; +#line 346 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp37_ != SQLITE_DONE) { +#line 2549 "PhotoTable.c" + gint _tmp38_ = 0; +#line 347 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = res; +#line 347 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp38_ != SQLITE_CONSTRAINT) { +#line 2555 "PhotoTable.c" + gint _tmp39_ = 0; +#line 348 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = res; +#line 348 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("write_update_photo", _tmp39_); +#line 2561 "PhotoTable.c" + } +#line 350 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 350 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 350 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 2569 "PhotoTable.c" + } +#line 353 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = row; +#line 353 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = _tmp40_->master; +#line 353 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = filesize; +#line 353 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_->filesize = _tmp42_; +#line 354 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = row; +#line 354 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = _tmp43_->master; +#line 354 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = timestamp; +#line 354 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_->timestamp = (time_t) _tmp45_; +#line 355 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = row; +#line 355 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_ = md5; +#line 355 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp48_ = g_strdup (_tmp47_); +#line 355 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp46_->md5); +#line 355 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_->md5 = _tmp48_; +#line 356 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_ = row; +#line 356 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp50_ = exif_md5; +#line 356 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_ = g_strdup (_tmp50_); +#line 356 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp49_->exif_md5); +#line 356 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_->exif_md5 = _tmp51_; +#line 357 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_ = row; +#line 357 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_ = thumbnail_md5; +#line 357 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp54_ = g_strdup (_tmp53_); +#line 357 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp52_->thumbnail_md5); +#line 357 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_->thumbnail_md5 = _tmp54_; +#line 359 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = TRUE; +#line 359 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 359 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 2623 "PhotoTable.c" +} + + +static void photo_table_validate_orientation (PhotoTable* self, PhotoRow* row) { + gboolean _tmp0_ = FALSE; + PhotoRow* _tmp1_ = NULL; + Orientation _tmp2_ = 0; +#line 370 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 370 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_ROW (row)); +#line 371 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = row; +#line 371 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = _tmp1_->orientation; +#line 371 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp2_ < ORIENTATION_MIN) { +#line 371 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = TRUE; +#line 2643 "PhotoTable.c" + } else { + PhotoRow* _tmp3_ = NULL; + Orientation _tmp4_ = 0; +#line 372 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = row; +#line 372 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp3_->orientation; +#line 372 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = _tmp4_ > ORIENTATION_MAX; +#line 2653 "PhotoTable.c" + } +#line 371 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp0_) { +#line 2657 "PhotoTable.c" + PhotoRow* _tmp5_ = NULL; + PhotoID _tmp6_ = {0}; + PhotoRow* _tmp7_ = NULL; +#line 374 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = row; +#line 374 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_->photo_id; +#line 374 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_table_set_orientation (self, &_tmp6_, ORIENTATION_MIN); +#line 375 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = row; +#line 375 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_->orientation = ORIENTATION_MIN; +#line 2671 "PhotoTable.c" + } +} + + +PhotoRow* photo_table_get_row (PhotoTable* self, PhotoID* photo_id) { + PhotoRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + PhotoID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + PhotoRow* row = NULL; + PhotoRow* _tmp11_ = NULL; + PhotoRow* _tmp12_ = NULL; + PhotoID _tmp13_ = {0}; + PhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + sqlite3_stmt* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + PhotoRow* _tmp19_ = NULL; + BackingPhotoRow* _tmp20_ = NULL; + sqlite3_stmt* _tmp21_ = NULL; + gint _tmp22_ = 0; + sqlite3_stmt* _tmp23_ = NULL; + gint _tmp24_ = 0; + PhotoRow* _tmp25_ = NULL; + BackingPhotoRow* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + gint64 _tmp28_ = 0LL; + PhotoRow* _tmp29_ = NULL; + BackingPhotoRow* _tmp30_ = NULL; + sqlite3_stmt* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + PhotoRow* _tmp33_ = NULL; + sqlite3_stmt* _tmp34_ = NULL; + gint64 _tmp35_ = 0LL; + PhotoRow* _tmp36_ = NULL; + sqlite3_stmt* _tmp37_ = NULL; + gint _tmp38_ = 0; + PhotoRow* _tmp39_ = NULL; + BackingPhotoRow* _tmp40_ = NULL; + sqlite3_stmt* _tmp41_ = NULL; + gint _tmp42_ = 0; + PhotoRow* _tmp43_ = NULL; + sqlite3_stmt* _tmp44_ = NULL; + gint64 _tmp45_ = 0LL; + PhotoRow* _tmp46_ = NULL; + sqlite3_stmt* _tmp47_ = NULL; + gint64 _tmp48_ = 0LL; + PhotoRow* _tmp49_ = NULL; + sqlite3_stmt* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + GeeHashMap* _tmp52_ = NULL; + PhotoRow* _tmp53_ = NULL; + sqlite3_stmt* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + PhotoRow* _tmp57_ = NULL; + sqlite3_stmt* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + PhotoRow* _tmp61_ = NULL; + sqlite3_stmt* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + PhotoRow* _tmp65_ = NULL; + sqlite3_stmt* _tmp66_ = NULL; + gint64 _tmp67_ = 0LL; + PhotoRow* _tmp68_ = NULL; + sqlite3_stmt* _tmp69_ = NULL; + gint64 _tmp70_ = 0LL; + PhotoRow* _tmp71_ = NULL; + sqlite3_stmt* _tmp72_ = NULL; + gint _tmp73_ = 0; + Rating _tmp74_ = 0; + PhotoRow* _tmp75_ = NULL; + BackingPhotoRow* _tmp76_ = NULL; + sqlite3_stmt* _tmp77_ = NULL; + gint _tmp78_ = 0; + PhotoFileFormat _tmp79_ = 0; + PhotoRow* _tmp80_ = NULL; + sqlite3_stmt* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + PhotoRow* _tmp84_ = NULL; + sqlite3_stmt* _tmp85_ = NULL; + const gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; + PhotoRow* _tmp88_ = NULL; + sqlite3_stmt* _tmp89_ = NULL; + gint64 _tmp90_ = 0LL; + PhotoRow* _tmp91_ = NULL; + sqlite3_stmt* _tmp92_ = NULL; + gint64 _tmp93_ = 0LL; + PhotoRow* _tmp94_ = NULL; + sqlite3_stmt* _tmp95_ = NULL; + gint _tmp96_ = 0; + RawDeveloper _tmp97_ = 0; + sqlite3_stmt* _tmp98_ = NULL; + const gchar* _tmp99_ = NULL; + PhotoRow* _tmp103_ = NULL; + PhotoRow* _tmp104_ = NULL; + BackingPhotoID* _tmp105_ = NULL; + gint _tmp105__length1 = 0; + sqlite3_stmt* _tmp106_ = NULL; + gint64 _tmp107_ = 0LL; + BackingPhotoID _tmp108_ = {0}; + BackingPhotoID _tmp109_ = {0}; + PhotoRow* _tmp110_ = NULL; + BackingPhotoID* _tmp111_ = NULL; + gint _tmp111__length1 = 0; + sqlite3_stmt* _tmp112_ = NULL; + gint64 _tmp113_ = 0LL; + BackingPhotoID _tmp114_ = {0}; + BackingPhotoID _tmp115_ = {0}; + PhotoRow* _tmp116_ = NULL; + BackingPhotoID* _tmp117_ = NULL; + gint _tmp117__length1 = 0; + sqlite3_stmt* _tmp118_ = NULL; + gint64 _tmp119_ = 0LL; + BackingPhotoID _tmp120_ = {0}; + BackingPhotoID _tmp121_ = {0}; + PhotoRow* _tmp122_ = NULL; + sqlite3_stmt* _tmp123_ = NULL; + const gchar* _tmp124_ = NULL; + gchar* _tmp125_ = NULL; +#line 379 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), NULL); +#line 379 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, NULL); +#line 381 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 381 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT filename, width, height, filesize, timestamp, exposure_time, or" \ +"ientation, " "original_orientation, import_id, event_id, transformations, md5, thumb" \ +"nail_md5, " "exif_md5, time_created, flags, rating, file_format, title, backlinks, " "time_reimported, editable_id, metadata_dirty, developer, develop_shotw" \ +"ell_id, " "develop_camera_id, develop_embedded_id, comment " "FROM PhotoTable WHERE id=?", -1, &_tmp1_, NULL); +#line 381 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 381 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 381 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 389 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 389 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 391 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 391 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = *photo_id; +#line 391 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_.id; +#line 391 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 391 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp7_; +#line 392 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 392 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 394 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = stmt; +#line 394 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 394 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp10_ != SQLITE_ROW) { +#line 395 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = NULL; +#line 395 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 395 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 2851 "PhotoTable.c" + } +#line 397 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = photo_row_new (); +#line 397 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + row = _tmp11_; +#line 398 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = row; +#line 398 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = *photo_id; +#line 398 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_->photo_id = _tmp13_; +#line 399 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = row; +#line 399 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = _tmp14_->master; +#line 399 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = stmt; +#line 399 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = sqlite3_column_text (_tmp16_, 0); +#line 399 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 399 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp15_->filepath); +#line 399 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_->filepath = _tmp18_; +#line 400 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = row; +#line 400 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = _tmp19_->master; +#line 400 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = stmt; +#line 400 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = sqlite3_column_int (_tmp21_, 1); +#line 400 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = stmt; +#line 400 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = sqlite3_column_int (_tmp23_, 2); +#line 400 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dimensions_init (&_tmp20_->dim, _tmp22_, _tmp24_); +#line 401 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = row; +#line 401 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = _tmp25_->master; +#line 401 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = stmt; +#line 401 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = sqlite3_column_int64 (_tmp27_, 3); +#line 401 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_->filesize = _tmp28_; +#line 402 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = row; +#line 402 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = _tmp29_->master; +#line 402 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = stmt; +#line 402 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = sqlite3_column_int64 (_tmp31_, 4); +#line 402 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_->timestamp = (time_t) _tmp32_; +#line 403 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = row; +#line 403 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = stmt; +#line 403 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = sqlite3_column_int64 (_tmp34_, 5); +#line 403 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_->exposure_time = (time_t) _tmp35_; +#line 404 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = row; +#line 404 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = stmt; +#line 404 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = sqlite3_column_int (_tmp37_, 6); +#line 404 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_->orientation = (Orientation) _tmp38_; +#line 405 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = row; +#line 405 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = _tmp39_->master; +#line 405 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = stmt; +#line 405 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = sqlite3_column_int (_tmp41_, 7); +#line 405 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_->original_orientation = (Orientation) _tmp42_; +#line 406 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = row; +#line 406 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = stmt; +#line 406 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = sqlite3_column_int64 (_tmp44_, 8); +#line 406 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_->import_id.id = _tmp45_; +#line 407 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = row; +#line 407 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_ = stmt; +#line 407 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp48_ = sqlite3_column_int64 (_tmp47_, 9); +#line 407 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_->event_id.id = _tmp48_; +#line 408 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_ = row; +#line 408 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp50_ = stmt; +#line 408 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_ = sqlite3_column_text (_tmp50_, 10); +#line 408 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_ = photo_table_marshall_all_transformations (_tmp51_); +#line 408 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (_tmp49_->transformations); +#line 408 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_->transformations = _tmp52_; +#line 409 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_ = row; +#line 409 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp54_ = stmt; +#line 409 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp55_ = sqlite3_column_text (_tmp54_, 11); +#line 409 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp56_ = g_strdup (_tmp55_); +#line 409 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp53_->md5); +#line 409 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_->md5 = _tmp56_; +#line 410 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp57_ = row; +#line 410 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp58_ = stmt; +#line 410 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp59_ = sqlite3_column_text (_tmp58_, 12); +#line 410 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp60_ = g_strdup (_tmp59_); +#line 410 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp57_->thumbnail_md5); +#line 410 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp57_->thumbnail_md5 = _tmp60_; +#line 411 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp61_ = row; +#line 411 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp62_ = stmt; +#line 411 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp63_ = sqlite3_column_text (_tmp62_, 13); +#line 411 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp64_ = g_strdup (_tmp63_); +#line 411 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp61_->exif_md5); +#line 411 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp61_->exif_md5 = _tmp64_; +#line 412 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp65_ = row; +#line 412 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp66_ = stmt; +#line 412 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp67_ = sqlite3_column_int64 (_tmp66_, 14); +#line 412 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp65_->time_created = (time_t) _tmp67_; +#line 413 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp68_ = row; +#line 413 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp69_ = stmt; +#line 413 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp70_ = sqlite3_column_int64 (_tmp69_, 15); +#line 413 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp68_->flags = (guint64) _tmp70_; +#line 414 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp71_ = row; +#line 414 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp72_ = stmt; +#line 414 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp73_ = sqlite3_column_int (_tmp72_, 16); +#line 414 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp74_ = rating_unserialize (_tmp73_); +#line 414 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp71_->rating = _tmp74_; +#line 415 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp75_ = row; +#line 415 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp76_ = _tmp75_->master; +#line 415 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp77_ = stmt; +#line 415 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp78_ = sqlite3_column_int (_tmp77_, 17); +#line 415 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp79_ = photo_file_format_unserialize (_tmp78_); +#line 415 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp76_->file_format = _tmp79_; +#line 416 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp80_ = row; +#line 416 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp81_ = stmt; +#line 416 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp82_ = sqlite3_column_text (_tmp81_, 18); +#line 416 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp83_ = g_strdup (_tmp82_); +#line 416 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp80_->title); +#line 416 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp80_->title = _tmp83_; +#line 417 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp84_ = row; +#line 417 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp85_ = stmt; +#line 417 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp86_ = sqlite3_column_text (_tmp85_, 19); +#line 417 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp87_ = g_strdup (_tmp86_); +#line 417 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp84_->backlinks); +#line 417 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp84_->backlinks = _tmp87_; +#line 418 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp88_ = row; +#line 418 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp89_ = stmt; +#line 418 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp90_ = sqlite3_column_int64 (_tmp89_, 20); +#line 418 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp88_->time_reimported = (time_t) _tmp90_; +#line 419 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp91_ = row; +#line 419 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp92_ = stmt; +#line 419 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp93_ = sqlite3_column_int64 (_tmp92_, 21); +#line 419 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp91_->editable_id, _tmp93_); +#line 420 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp94_ = row; +#line 420 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp95_ = stmt; +#line 420 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp96_ = sqlite3_column_int (_tmp95_, 22); +#line 420 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp94_->metadata_dirty = _tmp96_ != 0; +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp98_ = stmt; +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp99_ = sqlite3_column_text (_tmp98_, 23); +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp99_ != NULL) { +#line 3093 "PhotoTable.c" + sqlite3_stmt* _tmp100_ = NULL; + const gchar* _tmp101_ = NULL; + RawDeveloper _tmp102_ = 0; +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp100_ = stmt; +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp101_ = sqlite3_column_text (_tmp100_, 23); +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp102_ = raw_developer_from_string (_tmp101_); +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp97_ = _tmp102_; +#line 3105 "PhotoTable.c" + } else { +#line 422 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp97_ = RAW_DEVELOPER_CAMERA; +#line 3109 "PhotoTable.c" + } +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp103_ = row; +#line 421 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp103_->developer = _tmp97_; +#line 423 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp104_ = row; +#line 423 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp105_ = _tmp104_->development_ids; +#line 423 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp105__length1 = _tmp104_->development_ids_length1; +#line 423 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp106_ = stmt; +#line 423 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp107_ = sqlite3_column_int64 (_tmp106_, 24); +#line 423 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp108_, _tmp107_); +#line 423 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp105_[RAW_DEVELOPER_SHOTWELL] = _tmp108_; +#line 423 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp109_ = _tmp105_[RAW_DEVELOPER_SHOTWELL]; +#line 424 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp110_ = row; +#line 424 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp111_ = _tmp110_->development_ids; +#line 424 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp111__length1 = _tmp110_->development_ids_length1; +#line 424 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp112_ = stmt; +#line 424 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp113_ = sqlite3_column_int64 (_tmp112_, 25); +#line 424 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp114_, _tmp113_); +#line 424 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp111_[RAW_DEVELOPER_CAMERA] = _tmp114_; +#line 424 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp115_ = _tmp111_[RAW_DEVELOPER_CAMERA]; +#line 425 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp116_ = row; +#line 425 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp117_ = _tmp116_->development_ids; +#line 425 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp117__length1 = _tmp116_->development_ids_length1; +#line 425 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp118_ = stmt; +#line 425 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp119_ = sqlite3_column_int64 (_tmp118_, 26); +#line 425 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp120_, _tmp119_); +#line 425 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp117_[RAW_DEVELOPER_EMBEDDED] = _tmp120_; +#line 425 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp121_ = _tmp117_[RAW_DEVELOPER_EMBEDDED]; +#line 426 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp122_ = row; +#line 426 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp123_ = stmt; +#line 426 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp124_ = sqlite3_column_text (_tmp123_, 27); +#line 426 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp125_ = g_strdup (_tmp124_); +#line 426 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp122_->comment); +#line 426 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp122_->comment = _tmp125_; +#line 428 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = row; +#line 428 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 428 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 3181 "PhotoTable.c" +} + + +GeeArrayList* photo_table_get_all (PhotoTable* self) { + GeeArrayList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeArrayList* all = NULL; + GeeArrayList* _tmp4_ = NULL; +#line 431 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), NULL); +#line 433 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 433 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id, filename, width, height, filesize, timestamp, exposure_time" \ +", orientation, " "original_orientation, import_id, event_id, transformations, md5, thumb" \ +"nail_md5, " "exif_md5, time_created, flags, rating, file_format, title, backlinks, " \ +"time_reimported, " "editable_id, metadata_dirty, developer, develop_shotwell_id, develop_c" \ +"amera_id, " "develop_embedded_id, comment FROM PhotoTable", -1, &_tmp1_, NULL); +#line 433 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 433 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 433 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 440 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 440 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 442 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = gee_array_list_new (TYPE_PHOTO_ROW, (GBoxedCopyFunc) photo_row_ref, photo_row_unref, NULL, NULL, NULL); +#line 442 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + all = _tmp4_; +#line 444 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 3217 "PhotoTable.c" + sqlite3_stmt* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + PhotoRow* row = NULL; + PhotoRow* _tmp8_ = NULL; + PhotoRow* _tmp9_ = NULL; + sqlite3_stmt* _tmp10_ = NULL; + gint64 _tmp11_ = 0LL; + PhotoRow* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + sqlite3_stmt* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + PhotoRow* _tmp17_ = NULL; + BackingPhotoRow* _tmp18_ = NULL; + sqlite3_stmt* _tmp19_ = NULL; + gint _tmp20_ = 0; + sqlite3_stmt* _tmp21_ = NULL; + gint _tmp22_ = 0; + PhotoRow* _tmp23_ = NULL; + BackingPhotoRow* _tmp24_ = NULL; + sqlite3_stmt* _tmp25_ = NULL; + gint64 _tmp26_ = 0LL; + PhotoRow* _tmp27_ = NULL; + BackingPhotoRow* _tmp28_ = NULL; + sqlite3_stmt* _tmp29_ = NULL; + gint64 _tmp30_ = 0LL; + PhotoRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint64 _tmp33_ = 0LL; + PhotoRow* _tmp34_ = NULL; + sqlite3_stmt* _tmp35_ = NULL; + gint _tmp36_ = 0; + PhotoRow* _tmp37_ = NULL; + BackingPhotoRow* _tmp38_ = NULL; + sqlite3_stmt* _tmp39_ = NULL; + gint _tmp40_ = 0; + PhotoRow* _tmp41_ = NULL; + sqlite3_stmt* _tmp42_ = NULL; + gint64 _tmp43_ = 0LL; + PhotoRow* _tmp44_ = NULL; + sqlite3_stmt* _tmp45_ = NULL; + gint64 _tmp46_ = 0LL; + PhotoRow* _tmp47_ = NULL; + sqlite3_stmt* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + GeeHashMap* _tmp50_ = NULL; + PhotoRow* _tmp51_ = NULL; + sqlite3_stmt* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + PhotoRow* _tmp55_ = NULL; + sqlite3_stmt* _tmp56_ = NULL; + const gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + PhotoRow* _tmp59_ = NULL; + sqlite3_stmt* _tmp60_ = NULL; + const gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + PhotoRow* _tmp63_ = NULL; + sqlite3_stmt* _tmp64_ = NULL; + gint64 _tmp65_ = 0LL; + PhotoRow* _tmp66_ = NULL; + sqlite3_stmt* _tmp67_ = NULL; + gint64 _tmp68_ = 0LL; + PhotoRow* _tmp69_ = NULL; + sqlite3_stmt* _tmp70_ = NULL; + gint _tmp71_ = 0; + Rating _tmp72_ = 0; + PhotoRow* _tmp73_ = NULL; + BackingPhotoRow* _tmp74_ = NULL; + sqlite3_stmt* _tmp75_ = NULL; + gint _tmp76_ = 0; + PhotoFileFormat _tmp77_ = 0; + PhotoRow* _tmp78_ = NULL; + sqlite3_stmt* _tmp79_ = NULL; + const gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + PhotoRow* _tmp82_ = NULL; + sqlite3_stmt* _tmp83_ = NULL; + const gchar* _tmp84_ = NULL; + gchar* _tmp85_ = NULL; + PhotoRow* _tmp86_ = NULL; + sqlite3_stmt* _tmp87_ = NULL; + gint64 _tmp88_ = 0LL; + PhotoRow* _tmp89_ = NULL; + sqlite3_stmt* _tmp90_ = NULL; + gint64 _tmp91_ = 0LL; + PhotoRow* _tmp92_ = NULL; + sqlite3_stmt* _tmp93_ = NULL; + gint _tmp94_ = 0; + RawDeveloper _tmp95_ = 0; + sqlite3_stmt* _tmp96_ = NULL; + const gchar* _tmp97_ = NULL; + PhotoRow* _tmp101_ = NULL; + PhotoRow* _tmp102_ = NULL; + BackingPhotoID* _tmp103_ = NULL; + gint _tmp103__length1 = 0; + sqlite3_stmt* _tmp104_ = NULL; + gint64 _tmp105_ = 0LL; + BackingPhotoID _tmp106_ = {0}; + BackingPhotoID _tmp107_ = {0}; + PhotoRow* _tmp108_ = NULL; + BackingPhotoID* _tmp109_ = NULL; + gint _tmp109__length1 = 0; + sqlite3_stmt* _tmp110_ = NULL; + gint64 _tmp111_ = 0LL; + BackingPhotoID _tmp112_ = {0}; + BackingPhotoID _tmp113_ = {0}; + PhotoRow* _tmp114_ = NULL; + BackingPhotoID* _tmp115_ = NULL; + gint _tmp115__length1 = 0; + sqlite3_stmt* _tmp116_ = NULL; + gint64 _tmp117_ = 0LL; + BackingPhotoID _tmp118_ = {0}; + BackingPhotoID _tmp119_ = {0}; + PhotoRow* _tmp120_ = NULL; + sqlite3_stmt* _tmp121_ = NULL; + const gchar* _tmp122_ = NULL; + gchar* _tmp123_ = NULL; + PhotoRow* _tmp124_ = NULL; + GeeArrayList* _tmp125_ = NULL; + PhotoRow* _tmp126_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = stmt; +#line 444 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = sqlite3_step (_tmp5_); +#line 444 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp6_; +#line 444 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = res; +#line 444 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!(_tmp7_ == SQLITE_ROW)) { +#line 444 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 3353 "PhotoTable.c" + } +#line 445 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = photo_row_new (); +#line 445 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + row = _tmp8_; +#line 446 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = row; +#line 446 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = stmt; +#line 446 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = sqlite3_column_int64 (_tmp10_, 0); +#line 446 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_->photo_id.id = _tmp11_; +#line 447 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = row; +#line 447 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = _tmp12_->master; +#line 447 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = stmt; +#line 447 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = sqlite3_column_text (_tmp14_, 1); +#line 447 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 447 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp13_->filepath); +#line 447 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_->filepath = _tmp16_; +#line 448 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = row; +#line 448 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = _tmp17_->master; +#line 448 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = stmt; +#line 448 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = sqlite3_column_int (_tmp19_, 2); +#line 448 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = stmt; +#line 448 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = sqlite3_column_int (_tmp21_, 3); +#line 448 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dimensions_init (&_tmp18_->dim, _tmp20_, _tmp22_); +#line 449 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = row; +#line 449 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = _tmp23_->master; +#line 449 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = stmt; +#line 449 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = sqlite3_column_int64 (_tmp25_, 4); +#line 449 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_->filesize = _tmp26_; +#line 450 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = row; +#line 450 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = _tmp27_->master; +#line 450 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = stmt; +#line 450 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = sqlite3_column_int64 (_tmp29_, 5); +#line 450 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_->timestamp = (time_t) _tmp30_; +#line 451 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = row; +#line 451 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = stmt; +#line 451 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = sqlite3_column_int64 (_tmp32_, 6); +#line 451 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_->exposure_time = (time_t) _tmp33_; +#line 452 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = row; +#line 452 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = stmt; +#line 452 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = sqlite3_column_int (_tmp35_, 7); +#line 452 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_->orientation = (Orientation) _tmp36_; +#line 453 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = row; +#line 453 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = _tmp37_->master; +#line 453 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = stmt; +#line 453 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = sqlite3_column_int (_tmp39_, 8); +#line 453 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_->original_orientation = (Orientation) _tmp40_; +#line 454 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = row; +#line 454 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = stmt; +#line 454 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = sqlite3_column_int64 (_tmp42_, 9); +#line 454 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_->import_id.id = _tmp43_; +#line 455 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = row; +#line 455 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = stmt; +#line 455 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = sqlite3_column_int64 (_tmp45_, 10); +#line 455 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_->event_id.id = _tmp46_; +#line 456 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_ = row; +#line 456 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp48_ = stmt; +#line 456 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_ = sqlite3_column_text (_tmp48_, 11); +#line 456 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp50_ = photo_table_marshall_all_transformations (_tmp49_); +#line 456 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (_tmp47_->transformations); +#line 456 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_->transformations = _tmp50_; +#line 457 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_ = row; +#line 457 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_ = stmt; +#line 457 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_ = sqlite3_column_text (_tmp52_, 12); +#line 457 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp54_ = g_strdup (_tmp53_); +#line 457 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp51_->md5); +#line 457 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_->md5 = _tmp54_; +#line 458 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp55_ = row; +#line 458 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp56_ = stmt; +#line 458 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp57_ = sqlite3_column_text (_tmp56_, 13); +#line 458 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp58_ = g_strdup (_tmp57_); +#line 458 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp55_->thumbnail_md5); +#line 458 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp55_->thumbnail_md5 = _tmp58_; +#line 459 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp59_ = row; +#line 459 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp60_ = stmt; +#line 459 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp61_ = sqlite3_column_text (_tmp60_, 14); +#line 459 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp62_ = g_strdup (_tmp61_); +#line 459 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp59_->exif_md5); +#line 459 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp59_->exif_md5 = _tmp62_; +#line 460 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp63_ = row; +#line 460 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp64_ = stmt; +#line 460 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp65_ = sqlite3_column_int64 (_tmp64_, 15); +#line 460 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp63_->time_created = (time_t) _tmp65_; +#line 461 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp66_ = row; +#line 461 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp67_ = stmt; +#line 461 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp68_ = sqlite3_column_int64 (_tmp67_, 16); +#line 461 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp66_->flags = (guint64) _tmp68_; +#line 462 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp69_ = row; +#line 462 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp70_ = stmt; +#line 462 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp71_ = sqlite3_column_int (_tmp70_, 17); +#line 462 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp72_ = rating_unserialize (_tmp71_); +#line 462 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp69_->rating = _tmp72_; +#line 463 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp73_ = row; +#line 463 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp74_ = _tmp73_->master; +#line 463 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp75_ = stmt; +#line 463 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp76_ = sqlite3_column_int (_tmp75_, 18); +#line 463 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp77_ = photo_file_format_unserialize (_tmp76_); +#line 463 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp74_->file_format = _tmp77_; +#line 464 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp78_ = row; +#line 464 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp79_ = stmt; +#line 464 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp80_ = sqlite3_column_text (_tmp79_, 19); +#line 464 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp81_ = g_strdup (_tmp80_); +#line 464 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp78_->title); +#line 464 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp78_->title = _tmp81_; +#line 465 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp82_ = row; +#line 465 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp83_ = stmt; +#line 465 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp84_ = sqlite3_column_text (_tmp83_, 20); +#line 465 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp85_ = g_strdup (_tmp84_); +#line 465 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp82_->backlinks); +#line 465 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp82_->backlinks = _tmp85_; +#line 466 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp86_ = row; +#line 466 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp87_ = stmt; +#line 466 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp88_ = sqlite3_column_int64 (_tmp87_, 21); +#line 466 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp86_->time_reimported = (time_t) _tmp88_; +#line 467 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp89_ = row; +#line 467 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp90_ = stmt; +#line 467 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp91_ = sqlite3_column_int64 (_tmp90_, 22); +#line 467 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp89_->editable_id, _tmp91_); +#line 468 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp92_ = row; +#line 468 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp93_ = stmt; +#line 468 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp94_ = sqlite3_column_int (_tmp93_, 23); +#line 468 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp92_->metadata_dirty = _tmp94_ != 0; +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp96_ = stmt; +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp97_ = sqlite3_column_text (_tmp96_, 24); +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp97_ != NULL) { +#line 3597 "PhotoTable.c" + sqlite3_stmt* _tmp98_ = NULL; + const gchar* _tmp99_ = NULL; + RawDeveloper _tmp100_ = 0; +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp98_ = stmt; +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp99_ = sqlite3_column_text (_tmp98_, 24); +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp100_ = raw_developer_from_string (_tmp99_); +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp95_ = _tmp100_; +#line 3609 "PhotoTable.c" + } else { +#line 470 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp95_ = RAW_DEVELOPER_CAMERA; +#line 3613 "PhotoTable.c" + } +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp101_ = row; +#line 469 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp101_->developer = _tmp95_; +#line 471 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp102_ = row; +#line 471 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp103_ = _tmp102_->development_ids; +#line 471 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp103__length1 = _tmp102_->development_ids_length1; +#line 471 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp104_ = stmt; +#line 471 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp105_ = sqlite3_column_int64 (_tmp104_, 25); +#line 471 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp106_, _tmp105_); +#line 471 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp103_[RAW_DEVELOPER_SHOTWELL] = _tmp106_; +#line 471 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp107_ = _tmp103_[RAW_DEVELOPER_SHOTWELL]; +#line 472 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp108_ = row; +#line 472 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp109_ = _tmp108_->development_ids; +#line 472 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp109__length1 = _tmp108_->development_ids_length1; +#line 472 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp110_ = stmt; +#line 472 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp111_ = sqlite3_column_int64 (_tmp110_, 26); +#line 472 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp112_, _tmp111_); +#line 472 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp109_[RAW_DEVELOPER_CAMERA] = _tmp112_; +#line 472 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp113_ = _tmp109_[RAW_DEVELOPER_CAMERA]; +#line 473 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp114_ = row; +#line 473 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp115_ = _tmp114_->development_ids; +#line 473 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp115__length1 = _tmp114_->development_ids_length1; +#line 473 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp116_ = stmt; +#line 473 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp117_ = sqlite3_column_int64 (_tmp116_, 27); +#line 473 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp118_, _tmp117_); +#line 473 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp115_[RAW_DEVELOPER_EMBEDDED] = _tmp118_; +#line 473 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp119_ = _tmp115_[RAW_DEVELOPER_EMBEDDED]; +#line 474 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp120_ = row; +#line 474 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp121_ = stmt; +#line 474 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp122_ = sqlite3_column_text (_tmp121_, 28); +#line 474 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp123_ = g_strdup (_tmp122_); +#line 474 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp120_->comment); +#line 474 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp120_->comment = _tmp123_; +#line 476 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp124_ = row; +#line 476 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_table_validate_orientation (self, _tmp124_); +#line 478 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp125_ = all; +#line 478 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp126_ = row; +#line 478 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp125_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp126_); +#line 444 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _photo_row_unref0 (row); +#line 3691 "PhotoTable.c" + } +#line 481 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = all; +#line 481 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 481 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 3699 "PhotoTable.c" +} + + +void photo_table_duplicate (PhotoTable* self, PhotoID* photo_id, const gchar* new_filename, BackingPhotoID* editable_id, BackingPhotoID* develop_shotwell, BackingPhotoID* develop_camera_id, BackingPhotoID* develop_embedded_id, PhotoID* result) { + PhotoRow* original = NULL; + PhotoID _tmp0_ = {0}; + PhotoRow* _tmp1_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp2_ = NULL; + sqlite3_stmt* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + sqlite3_stmt* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GDestroyNotify _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + PhotoRow* _tmp13_ = NULL; + BackingPhotoRow* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + sqlite3_stmt* _tmp19_ = NULL; + PhotoRow* _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + sqlite3_stmt* _tmp26_ = NULL; + PhotoRow* _tmp27_ = NULL; + BackingPhotoRow* _tmp28_ = NULL; + gint64 _tmp29_ = 0LL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + sqlite3_stmt* _tmp32_ = NULL; + PhotoRow* _tmp33_ = NULL; + BackingPhotoRow* _tmp34_ = NULL; + time_t _tmp35_ = 0; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + sqlite3_stmt* _tmp38_ = NULL; + PhotoRow* _tmp39_ = NULL; + time_t _tmp40_ = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + sqlite3_stmt* _tmp43_ = NULL; + PhotoRow* _tmp44_ = NULL; + Orientation _tmp45_ = 0; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + sqlite3_stmt* _tmp48_ = NULL; + PhotoRow* _tmp49_ = NULL; + BackingPhotoRow* _tmp50_ = NULL; + Orientation _tmp51_ = 0; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + sqlite3_stmt* _tmp54_ = NULL; + PhotoRow* _tmp55_ = NULL; + ImportID _tmp56_ = {0}; + gint64 _tmp57_ = 0LL; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + sqlite3_stmt* _tmp60_ = NULL; + PhotoRow* _tmp61_ = NULL; + EventID _tmp62_ = {0}; + gint64 _tmp63_ = 0LL; + gint _tmp64_ = 0; + gint _tmp65_ = 0; + sqlite3_stmt* _tmp66_ = NULL; + PhotoRow* _tmp67_ = NULL; + GeeHashMap* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + GDestroyNotify _tmp70_ = NULL; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + sqlite3_stmt* _tmp73_ = NULL; + PhotoRow* _tmp74_ = NULL; + const gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + GDestroyNotify _tmp77_ = NULL; + gint _tmp78_ = 0; + gint _tmp79_ = 0; + sqlite3_stmt* _tmp80_ = NULL; + PhotoRow* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + GDestroyNotify _tmp84_ = NULL; + gint _tmp85_ = 0; + gint _tmp86_ = 0; + sqlite3_stmt* _tmp87_ = NULL; + PhotoRow* _tmp88_ = NULL; + const gchar* _tmp89_ = NULL; + gchar* _tmp90_ = NULL; + GDestroyNotify _tmp91_ = NULL; + gint _tmp92_ = 0; + gint _tmp93_ = 0; + sqlite3_stmt* _tmp94_ = NULL; + gulong _tmp95_ = 0UL; + gint _tmp96_ = 0; + gint _tmp97_ = 0; + sqlite3_stmt* _tmp98_ = NULL; + PhotoRow* _tmp99_ = NULL; + guint64 _tmp100_ = 0ULL; + gint _tmp101_ = 0; + gint _tmp102_ = 0; + sqlite3_stmt* _tmp103_ = NULL; + PhotoRow* _tmp104_ = NULL; + Rating _tmp105_ = 0; + gint _tmp106_ = 0; + gint _tmp107_ = 0; + gint _tmp108_ = 0; + sqlite3_stmt* _tmp109_ = NULL; + PhotoRow* _tmp110_ = NULL; + BackingPhotoRow* _tmp111_ = NULL; + PhotoFileFormat _tmp112_ = 0; + gint _tmp113_ = 0; + gint _tmp114_ = 0; + gint _tmp115_ = 0; + sqlite3_stmt* _tmp116_ = NULL; + PhotoRow* _tmp117_ = NULL; + const gchar* _tmp118_ = NULL; + gchar* _tmp119_ = NULL; + GDestroyNotify _tmp120_ = NULL; + gint _tmp121_ = 0; + gint _tmp122_ = 0; + sqlite3_stmt* _tmp123_ = NULL; + BackingPhotoID _tmp124_ = {0}; + gint64 _tmp125_ = 0LL; + gint _tmp126_ = 0; + gint _tmp127_ = 0; + sqlite3_stmt* _tmp128_ = NULL; + PhotoRow* _tmp129_ = NULL; + RawDeveloper _tmp130_ = 0; + gchar* _tmp131_ = NULL; + GDestroyNotify _tmp132_ = NULL; + gint _tmp133_ = 0; + gint _tmp134_ = 0; + sqlite3_stmt* _tmp135_ = NULL; + BackingPhotoID _tmp136_ = {0}; + gint64 _tmp137_ = 0LL; + gint _tmp138_ = 0; + gint _tmp139_ = 0; + sqlite3_stmt* _tmp140_ = NULL; + BackingPhotoID _tmp141_ = {0}; + gint64 _tmp142_ = 0LL; + gint _tmp143_ = 0; + gint _tmp144_ = 0; + sqlite3_stmt* _tmp145_ = NULL; + BackingPhotoID _tmp146_ = {0}; + gint64 _tmp147_ = 0LL; + gint _tmp148_ = 0; + gint _tmp149_ = 0; + sqlite3_stmt* _tmp150_ = NULL; + PhotoRow* _tmp151_ = NULL; + const gchar* _tmp152_ = NULL; + gchar* _tmp153_ = NULL; + GDestroyNotify _tmp154_ = NULL; + gint _tmp155_ = 0; + gint _tmp156_ = 0; + sqlite3_stmt* _tmp157_ = NULL; + gint _tmp158_ = 0; + gint _tmp159_ = 0; + sqlite3* _tmp163_ = NULL; + gint64 _tmp164_ = 0LL; + PhotoID _tmp165_ = {0}; +#line 486 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 486 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (photo_id != NULL); +#line 486 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (new_filename != NULL); +#line 486 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (editable_id != NULL); +#line 486 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (develop_shotwell != NULL); +#line 486 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (develop_camera_id != NULL); +#line 486 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (develop_embedded_id != NULL); +#line 490 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 490 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = photo_table_get_row (self, &_tmp0_); +#line 490 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + original = _tmp1_; +#line 493 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = database_table_db; +#line 493 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = sqlite3_prepare_v2 (_tmp2_, "INSERT INTO PhotoTable (filename, width, height, filesize, " "timestamp, exposure_time, orientation, original_orientation, import_id" \ +", event_id, " "transformations, md5, thumbnail_md5, exif_md5, time_created, flags, ra" \ +"ting, " "file_format, title, editable_id, developer, develop_shotwell_id, devel" \ +"op_camera_id, " "develop_embedded_id, comment) " "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?," \ +" ?, ?, ?, ?)", -1, &_tmp3_, NULL); +#line 493 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 493 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp3_; +#line 493 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp4_; +#line 500 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = res; +#line 500 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp5_ == SQLITE_OK, "res == Sqlite.OK"); +#line 502 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = stmt; +#line 502 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = new_filename; +#line 502 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 502 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = g_free; +#line 502 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_bind_text (_tmp6_, 1, _tmp8_, -1, _tmp9_); +#line 502 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp10_; +#line 503 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res; +#line 503 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 504 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = stmt; +#line 504 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = original; +#line 504 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = _tmp13_->master; +#line 504 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = _tmp14_->dim; +#line 504 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = _tmp15_.width; +#line 504 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = sqlite3_bind_int (_tmp12_, 2, _tmp16_); +#line 504 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp17_; +#line 505 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = res; +#line 505 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp18_ == SQLITE_OK, "res == Sqlite.OK"); +#line 506 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = stmt; +#line 506 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = original; +#line 506 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = _tmp20_->master; +#line 506 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = _tmp21_->dim; +#line 506 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = _tmp22_.height; +#line 506 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = sqlite3_bind_int (_tmp19_, 3, _tmp23_); +#line 506 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp24_; +#line 507 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = res; +#line 507 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp25_ == SQLITE_OK, "res == Sqlite.OK"); +#line 508 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = stmt; +#line 508 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = original; +#line 508 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = _tmp27_->master; +#line 508 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = _tmp28_->filesize; +#line 508 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = sqlite3_bind_int64 (_tmp26_, 4, _tmp29_); +#line 508 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp30_; +#line 509 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = res; +#line 509 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp31_ == SQLITE_OK, "res == Sqlite.OK"); +#line 510 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = stmt; +#line 510 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = original; +#line 510 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = _tmp33_->master; +#line 510 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = _tmp34_->timestamp; +#line 510 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = sqlite3_bind_int64 (_tmp32_, 5, (gint64) _tmp35_); +#line 510 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp36_; +#line 511 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = res; +#line 511 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp37_ == SQLITE_OK, "res == Sqlite.OK"); +#line 512 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = stmt; +#line 512 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = original; +#line 512 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = _tmp39_->exposure_time; +#line 512 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = sqlite3_bind_int64 (_tmp38_, 6, (gint64) _tmp40_); +#line 512 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp41_; +#line 513 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = res; +#line 513 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp42_ == SQLITE_OK, "res == Sqlite.OK"); +#line 514 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = stmt; +#line 514 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = original; +#line 514 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = _tmp44_->orientation; +#line 514 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = sqlite3_bind_int (_tmp43_, 7, (gint) _tmp45_); +#line 514 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp46_; +#line 515 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_ = res; +#line 515 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp47_ == SQLITE_OK, "res == Sqlite.OK"); +#line 516 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp48_ = stmt; +#line 516 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_ = original; +#line 516 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp50_ = _tmp49_->master; +#line 516 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_ = _tmp50_->original_orientation; +#line 516 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_ = sqlite3_bind_int (_tmp48_, 8, (gint) _tmp51_); +#line 516 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp52_; +#line 517 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_ = res; +#line 517 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp53_ == SQLITE_OK, "res == Sqlite.OK"); +#line 518 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp54_ = stmt; +#line 518 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp55_ = original; +#line 518 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp56_ = _tmp55_->import_id; +#line 518 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp57_ = _tmp56_.id; +#line 518 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp58_ = sqlite3_bind_int64 (_tmp54_, 9, _tmp57_); +#line 518 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp58_; +#line 519 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp59_ = res; +#line 519 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp59_ == SQLITE_OK, "res == Sqlite.OK"); +#line 520 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp60_ = stmt; +#line 520 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp61_ = original; +#line 520 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp62_ = _tmp61_->event_id; +#line 520 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp63_ = _tmp62_.id; +#line 520 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp64_ = sqlite3_bind_int64 (_tmp60_, 10, _tmp63_); +#line 520 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp64_; +#line 521 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp65_ = res; +#line 521 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp65_ == SQLITE_OK, "res == Sqlite.OK"); +#line 522 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp66_ = stmt; +#line 522 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp67_ = original; +#line 522 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp68_ = _tmp67_->transformations; +#line 522 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp69_ = photo_table_unmarshall_all_transformations (_tmp68_); +#line 522 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp70_ = g_free; +#line 522 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp71_ = sqlite3_bind_text (_tmp66_, 11, _tmp69_, -1, _tmp70_); +#line 522 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp71_; +#line 523 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp72_ = res; +#line 523 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp72_ == SQLITE_OK, "res == Sqlite.OK"); +#line 524 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp73_ = stmt; +#line 524 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp74_ = original; +#line 524 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp75_ = _tmp74_->md5; +#line 524 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp76_ = g_strdup (_tmp75_); +#line 524 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp77_ = g_free; +#line 524 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp78_ = sqlite3_bind_text (_tmp73_, 12, _tmp76_, -1, _tmp77_); +#line 524 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp78_; +#line 525 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp79_ = res; +#line 525 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp79_ == SQLITE_OK, "res == Sqlite.OK"); +#line 526 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp80_ = stmt; +#line 526 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp81_ = original; +#line 526 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp82_ = _tmp81_->thumbnail_md5; +#line 526 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp83_ = g_strdup (_tmp82_); +#line 526 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp84_ = g_free; +#line 526 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp85_ = sqlite3_bind_text (_tmp80_, 13, _tmp83_, -1, _tmp84_); +#line 526 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp85_; +#line 527 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp86_ = res; +#line 527 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp86_ == SQLITE_OK, "res == Sqlite.OK"); +#line 528 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp87_ = stmt; +#line 528 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp88_ = original; +#line 528 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp89_ = _tmp88_->exif_md5; +#line 528 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp90_ = g_strdup (_tmp89_); +#line 528 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp91_ = g_free; +#line 528 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp92_ = sqlite3_bind_text (_tmp87_, 14, _tmp90_, -1, _tmp91_); +#line 528 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp92_; +#line 529 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp93_ = res; +#line 529 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp93_ == SQLITE_OK, "res == Sqlite.OK"); +#line 530 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp94_ = stmt; +#line 530 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp95_ = now_sec (); +#line 530 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp96_ = sqlite3_bind_int64 (_tmp94_, 15, (gint64) _tmp95_); +#line 530 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp96_; +#line 531 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp97_ = res; +#line 531 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp97_ == SQLITE_OK, "res == Sqlite.OK"); +#line 532 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp98_ = stmt; +#line 532 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp99_ = original; +#line 532 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp100_ = _tmp99_->flags; +#line 532 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp101_ = sqlite3_bind_int64 (_tmp98_, 16, (gint64) _tmp100_); +#line 532 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp101_; +#line 533 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp102_ = res; +#line 533 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp102_ == SQLITE_OK, "res == Sqlite.OK"); +#line 534 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp103_ = stmt; +#line 534 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp104_ = original; +#line 534 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp105_ = _tmp104_->rating; +#line 534 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp106_ = rating_serialize (_tmp105_); +#line 534 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp107_ = sqlite3_bind_int64 (_tmp103_, 17, (gint64) _tmp106_); +#line 534 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp107_; +#line 535 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp108_ = res; +#line 535 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp108_ == SQLITE_OK, "res == Sqlite.OK"); +#line 536 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp109_ = stmt; +#line 536 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp110_ = original; +#line 536 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp111_ = _tmp110_->master; +#line 536 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp112_ = _tmp111_->file_format; +#line 536 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp113_ = photo_file_format_serialize (_tmp112_); +#line 536 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp114_ = sqlite3_bind_int (_tmp109_, 18, _tmp113_); +#line 536 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp114_; +#line 537 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp115_ = res; +#line 537 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp115_ == SQLITE_OK, "res == Sqlite.OK"); +#line 538 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp116_ = stmt; +#line 538 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp117_ = original; +#line 538 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp118_ = _tmp117_->title; +#line 538 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp119_ = g_strdup (_tmp118_); +#line 538 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp120_ = g_free; +#line 538 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp121_ = sqlite3_bind_text (_tmp116_, 19, _tmp119_, -1, _tmp120_); +#line 538 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp121_; +#line 539 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp122_ = res; +#line 539 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp122_ == SQLITE_OK, "res == Sqlite.OK"); +#line 540 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp123_ = stmt; +#line 540 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp124_ = *editable_id; +#line 540 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp125_ = _tmp124_.id; +#line 540 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp126_ = sqlite3_bind_int64 (_tmp123_, 20, _tmp125_); +#line 540 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp126_; +#line 541 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp127_ = res; +#line 541 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp127_ == SQLITE_OK, "res == Sqlite.OK"); +#line 543 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp128_ = stmt; +#line 543 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp129_ = original; +#line 543 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp130_ = _tmp129_->developer; +#line 543 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp131_ = raw_developer_to_string (_tmp130_); +#line 543 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp132_ = g_free; +#line 543 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp133_ = sqlite3_bind_text (_tmp128_, 21, _tmp131_, -1, _tmp132_); +#line 543 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp133_; +#line 544 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp134_ = res; +#line 544 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp134_ == SQLITE_OK, "res == Sqlite.OK"); +#line 545 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp135_ = stmt; +#line 545 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp136_ = *develop_shotwell; +#line 545 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp137_ = _tmp136_.id; +#line 545 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp138_ = sqlite3_bind_int64 (_tmp135_, 22, _tmp137_); +#line 545 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp138_; +#line 546 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp139_ = res; +#line 546 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp139_ == SQLITE_OK, "res == Sqlite.OK"); +#line 547 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp140_ = stmt; +#line 547 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp141_ = *develop_camera_id; +#line 547 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp142_ = _tmp141_.id; +#line 547 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp143_ = sqlite3_bind_int64 (_tmp140_, 23, _tmp142_); +#line 547 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp143_; +#line 548 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp144_ = res; +#line 548 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp144_ == SQLITE_OK, "res == Sqlite.OK"); +#line 549 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp145_ = stmt; +#line 549 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp146_ = *develop_embedded_id; +#line 549 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp147_ = _tmp146_.id; +#line 549 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp148_ = sqlite3_bind_int64 (_tmp145_, 24, _tmp147_); +#line 549 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp148_; +#line 550 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp149_ = res; +#line 550 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp149_ == SQLITE_OK, "res == Sqlite.OK"); +#line 551 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp150_ = stmt; +#line 551 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp151_ = original; +#line 551 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp152_ = _tmp151_->comment; +#line 551 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp153_ = g_strdup (_tmp152_); +#line 551 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp154_ = g_free; +#line 551 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp155_ = sqlite3_bind_text (_tmp150_, 25, _tmp153_, -1, _tmp154_); +#line 551 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp155_; +#line 552 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp156_ = res; +#line 552 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp156_ == SQLITE_OK, "res == Sqlite.OK"); +#line 554 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp157_ = stmt; +#line 554 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp158_ = sqlite3_step (_tmp157_); +#line 554 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp158_; +#line 555 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp159_ = res; +#line 555 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp159_ != SQLITE_DONE) { +#line 4316 "PhotoTable.c" + gint _tmp160_ = 0; + PhotoID _tmp162_ = {0}; +#line 556 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp160_ = res; +#line 556 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp160_ != SQLITE_CONSTRAINT) { +#line 4323 "PhotoTable.c" + gint _tmp161_ = 0; +#line 557 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp161_ = res; +#line 557 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("duplicate", _tmp161_); +#line 4329 "PhotoTable.c" + } +#line 559 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_id_init (&_tmp162_, PHOTO_ID_INVALID); +#line 559 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *result = _tmp162_; +#line 559 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 559 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _photo_row_unref0 (original); +#line 559 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4341 "PhotoTable.c" + } +#line 562 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp163_ = database_table_db; +#line 562 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp164_ = sqlite3_last_insert_rowid (_tmp163_); +#line 562 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_id_init (&_tmp165_, _tmp164_); +#line 562 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *result = _tmp165_; +#line 562 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 562 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _photo_row_unref0 (original); +#line 562 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4357 "PhotoTable.c" +} + + +gboolean photo_table_set_title (PhotoTable* self, PhotoID* photo_id, const gchar* new_title) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PhotoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + gboolean _tmp5_ = FALSE; +#line 565 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 565 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = new_title; +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp1_ != NULL) { +#line 4376 "PhotoTable.c" + const gchar* _tmp2_ = NULL; +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = new_title; +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = _tmp2_; +#line 4382 "PhotoTable.c" + } else { +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = ""; +#line 4386 "PhotoTable.c" + } +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = *photo_id; +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp3_.id; +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = database_table_update_text_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp4_, "title", _tmp0_); +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp5_; +#line 566 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4398 "PhotoTable.c" +} + + +gboolean photo_table_set_comment (PhotoTable* self, PhotoID* photo_id, const gchar* new_comment) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PhotoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + gboolean _tmp5_ = FALSE; +#line 569 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 569 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = new_comment; +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp1_ != NULL) { +#line 4417 "PhotoTable.c" + const gchar* _tmp2_ = NULL; +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = new_comment; +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = _tmp2_; +#line 4423 "PhotoTable.c" + } else { +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = ""; +#line 4427 "PhotoTable.c" + } +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = *photo_id; +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp3_.id; +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = database_table_update_text_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp4_, "comment", _tmp0_); +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp5_; +#line 570 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4439 "PhotoTable.c" +} + + +void photo_table_set_filepath (PhotoTable* self, PhotoID* photo_id, const gchar* filepath, GError** error) { + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + const gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 573 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 573 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (photo_id != NULL); +#line 573 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (filepath != NULL); +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = filepath; +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "filename", _tmp2_, &_inner_error_); +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4470 "PhotoTable.c" + } else { +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.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 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 574 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4478 "PhotoTable.c" + } + } +} + + +void photo_table_update_timestamp (PhotoTable* self, PhotoID* photo_id, time_t timestamp, GError** error) { + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + time_t _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 577 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 577 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (photo_id != NULL); +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = timestamp; +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "timestamp", (gint64) _tmp2_, &_inner_error_); +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4509 "PhotoTable.c" + } else { +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.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 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 578 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4517 "PhotoTable.c" + } + } +} + + +gboolean photo_table_set_exposure_time (PhotoTable* self, PhotoID* photo_id, time_t time) { + gboolean result = FALSE; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + time_t _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 581 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 581 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 582 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 582 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 582 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = time; +#line 582 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = database_table_update_int64_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "exposure_time", (gint64) _tmp2_); +#line 582 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp3_; +#line 582 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4545 "PhotoTable.c" +} + + +void photo_table_set_import_id (PhotoTable* self, PhotoID* photo_id, ImportID* import_id, GError** error) { + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + ImportID _tmp2_ = {0}; + gint64 _tmp3_ = 0LL; + GError * _inner_error_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 585 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (photo_id != NULL); +#line 585 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (import_id != NULL); +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = *import_id; +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = _tmp2_.id; +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "import_id", _tmp3_, &_inner_error_); +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4579 "PhotoTable.c" + } else { +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.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 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 586 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4587 "PhotoTable.c" + } + } +} + + +gboolean photo_table_remove_by_file (PhotoTable* self, GFile* file) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 589 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 589 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 591 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 591 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "DELETE FROM PhotoTable WHERE filename=?", -1, &_tmp1_, NULL); +#line 591 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 591 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 591 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 592 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 592 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 594 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 594 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = file; +#line 594 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 594 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = g_free; +#line 594 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = sqlite3_bind_text (_tmp4_, 1, _tmp6_, -1, _tmp7_); +#line 594 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp8_; +#line 595 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = res; +#line 595 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 597 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = stmt; +#line 597 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = sqlite3_step (_tmp10_); +#line 597 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp11_; +#line 598 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = res; +#line 598 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp12_ != SQLITE_DONE) { +#line 4654 "PhotoTable.c" + gint _tmp13_ = 0; +#line 599 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = res; +#line 599 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_warning ("remove", _tmp13_); +#line 601 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 601 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 601 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4666 "PhotoTable.c" + } +#line 604 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = TRUE; +#line 604 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 604 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4674 "PhotoTable.c" +} + + +void photo_table_remove (PhotoTable* self, PhotoID* photo_id, GError** error) { + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + GError * _inner_error_ = NULL; +#line 607 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 607 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (photo_id != NULL); +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_delete_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, &_inner_error_); +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4700 "PhotoTable.c" + } else { +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.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 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 608 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 4708 "PhotoTable.c" + } + } +} + + +GeeArrayList* photo_table_get_photos (PhotoTable* self) { + GeeArrayList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeArrayList* photo_ids = NULL; + GeeArrayList* _tmp4_ = NULL; +#line 611 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), NULL); +#line 613 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 613 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id FROM PhotoTable", -1, &_tmp1_, NULL); +#line 613 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 613 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 613 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 614 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 614 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 616 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = gee_array_list_new (TYPE_PHOTO_ID, (GBoxedCopyFunc) photo_id_dup, photo_id_free, NULL, NULL, NULL); +#line 616 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_ids = _tmp4_; +#line 4744 "PhotoTable.c" + { + gboolean _tmp5_ = FALSE; +#line 617 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = TRUE; +#line 617 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 4751 "PhotoTable.c" + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GeeArrayList* _tmp11_ = NULL; + sqlite3_stmt* _tmp12_ = NULL; + gint64 _tmp13_ = 0LL; + PhotoID _tmp14_ = {0}; +#line 617 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp5_) { +#line 4761 "PhotoTable.c" + } +#line 617 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = FALSE; +#line 618 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = stmt; +#line 618 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sqlite3_step (_tmp6_); +#line 618 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp7_; +#line 619 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 619 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp8_ == SQLITE_DONE) { +#line 620 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 4777 "PhotoTable.c" + } else { + gint _tmp9_ = 0; +#line 621 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = res; +#line 621 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp9_ != SQLITE_ROW) { +#line 4784 "PhotoTable.c" + gint _tmp10_ = 0; +#line 622 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = res; +#line 622 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("get_photos", _tmp10_); +#line 624 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 4792 "PhotoTable.c" + } + } +#line 627 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = photo_ids; +#line 627 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = stmt; +#line 627 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = sqlite3_column_int64 (_tmp12_, 0); +#line 627 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_id_init (&_tmp14_, _tmp13_); +#line 627 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), &_tmp14_); +#line 4805 "PhotoTable.c" + } + } +#line 630 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = photo_ids; +#line 630 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 630 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4814 "PhotoTable.c" +} + + +gboolean photo_table_set_orientation (PhotoTable* self, PhotoID* photo_id, Orientation orientation) { + gboolean result = FALSE; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + Orientation _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 633 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 633 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 634 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 634 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 634 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = orientation; +#line 634 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = database_table_update_int_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "orientation", (gint) _tmp2_); +#line 634 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp3_; +#line 634 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4840 "PhotoTable.c" +} + + +gboolean photo_table_replace_flags (PhotoTable* self, PhotoID* photo_id, guint64 flags) { + gboolean result = FALSE; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + guint64 _tmp2_ = 0ULL; + gboolean _tmp3_ = FALSE; +#line 637 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 637 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 638 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 638 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 638 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = flags; +#line 638 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = database_table_update_int64_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "flags", (gint64) _tmp2_); +#line 638 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp3_; +#line 638 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4866 "PhotoTable.c" +} + + +gboolean photo_table_set_rating (PhotoTable* self, PhotoID* photo_id, Rating rating) { + gboolean result = FALSE; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + Rating _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; +#line 641 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 641 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 642 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 642 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 642 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = rating; +#line 642 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = rating_serialize (_tmp2_); +#line 642 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = database_table_update_int_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "rating", _tmp3_); +#line 642 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp4_; +#line 642 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 4895 "PhotoTable.c" +} + + +gint photo_table_get_event_photo_count (PhotoTable* self, EventID* event_id) { + gint result = 0; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + EventID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint count = 0; +#line 645 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), 0); +#line 645 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (event_id != NULL, 0); +#line 647 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 647 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id FROM PhotoTable WHERE event_id = ?", -1, &_tmp1_, NULL); +#line 647 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 647 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 647 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 648 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 648 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 650 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 650 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = *event_id; +#line 650 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_.id; +#line 650 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 650 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp7_; +#line 651 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 651 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 653 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + count = 0; +#line 4947 "PhotoTable.c" + { + gboolean _tmp9_ = FALSE; +#line 654 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = TRUE; +#line 654 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 4954 "PhotoTable.c" + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp15_ = 0; +#line 654 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp9_) { +#line 4961 "PhotoTable.c" + } +#line 654 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = FALSE; +#line 655 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = stmt; +#line 655 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = sqlite3_step (_tmp10_); +#line 655 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp11_; +#line 656 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = res; +#line 656 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp12_ == SQLITE_DONE) { +#line 657 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 4977 "PhotoTable.c" + } else { + gint _tmp13_ = 0; +#line 658 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = res; +#line 658 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp13_ != SQLITE_ROW) { +#line 4984 "PhotoTable.c" + gint _tmp14_ = 0; +#line 659 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = res; +#line 659 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("get_event_photo_count", _tmp14_); +#line 661 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 4992 "PhotoTable.c" + } + } +#line 664 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = count; +#line 664 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + count = _tmp15_ + 1; +#line 4999 "PhotoTable.c" + } + } +#line 667 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = count; +#line 667 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 667 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5008 "PhotoTable.c" +} + + +GeeArrayList* photo_table_get_event_source_ids (PhotoTable* self, EventID* event_id) { + GeeArrayList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + EventID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GeeArrayList* _result_ = NULL; + GeeArrayList* _tmp9_ = NULL; +#line 670 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), NULL); +#line 670 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 672 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 672 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id FROM PhotoTable WHERE event_id = ?", -1, &_tmp1_, NULL); +#line 672 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 672 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 672 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 673 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 673 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 675 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 675 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = *event_id; +#line 675 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_.id; +#line 675 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 675 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp7_; +#line 676 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 676 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 678 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 678 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _result_ = _tmp9_; +#line 5063 "PhotoTable.c" + { + gboolean _tmp10_ = FALSE; +#line 679 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = TRUE; +#line 679 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 5070 "PhotoTable.c" + sqlite3_stmt* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + GeeArrayList* _tmp16_ = NULL; + sqlite3_stmt* _tmp17_ = NULL; + gint64 _tmp18_ = 0LL; + PhotoID _tmp19_ = {0}; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 679 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp10_) { +#line 5082 "PhotoTable.c" + } +#line 679 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = FALSE; +#line 680 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = stmt; +#line 680 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = sqlite3_step (_tmp11_); +#line 680 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp12_; +#line 681 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = res; +#line 681 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp13_ == SQLITE_DONE) { +#line 682 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 5098 "PhotoTable.c" + } else { + gint _tmp14_ = 0; +#line 683 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = res; +#line 683 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp14_ != SQLITE_ROW) { +#line 5105 "PhotoTable.c" + gint _tmp15_ = 0; +#line 684 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = res; +#line 684 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("get_event_source_ids", _tmp15_); +#line 686 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 5113 "PhotoTable.c" + } + } +#line 689 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = _result_; +#line 689 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = stmt; +#line 689 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = sqlite3_column_int64 (_tmp17_, 0); +#line 689 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_id_init (&_tmp19_, _tmp18_); +#line 689 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = photo_id_upgrade_photo_id_to_source_id (&_tmp19_); +#line 689 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = _tmp20_; +#line 689 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp21_); +#line 689 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp21_); +#line 5132 "PhotoTable.c" + } + } +#line 692 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _result_; +#line 692 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 692 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5141 "PhotoTable.c" +} + + +gboolean photo_table_event_has_photos (PhotoTable* self, EventID* event_id) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + EventID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 695 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 695 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 697 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 697 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id FROM PhotoTable WHERE event_id = ? LIMIT 1", -1, &_tmp1_, NULL); +#line 697 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 697 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 697 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 698 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 698 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 700 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 700 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = *event_id; +#line 700 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_.id; +#line 700 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 700 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp7_; +#line 701 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 701 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 703 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = stmt; +#line 703 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 703 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp10_; +#line 704 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res; +#line 704 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp11_ == SQLITE_DONE) { +#line 705 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 705 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 705 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5209 "PhotoTable.c" + } else { + gint _tmp12_ = 0; +#line 706 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = res; +#line 706 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp12_ != SQLITE_ROW) { +#line 5216 "PhotoTable.c" + gint _tmp13_ = 0; +#line 707 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = res; +#line 707 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("event_has_photos", _tmp13_); +#line 709 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 709 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 709 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5228 "PhotoTable.c" + } + } +#line 712 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = TRUE; +#line 712 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 712 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5237 "PhotoTable.c" +} + + +gboolean photo_table_drop_event (PhotoTable* self, EventID* event_id) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3_stmt* _tmp7_ = NULL; + EventID _tmp8_ = {0}; + gint64 _tmp9_ = 0LL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 715 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 715 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 717 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 717 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE PhotoTable SET event_id = ? WHERE event_id = ?", -1, &_tmp1_, NULL); +#line 717 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 717 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 717 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 718 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 718 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 720 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 720 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = sqlite3_bind_int64 (_tmp4_, 1, EVENT_ID_INVALID); +#line 720 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp5_; +#line 721 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = res; +#line 721 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK"); +#line 722 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = stmt; +#line 722 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = *event_id; +#line 722 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = _tmp8_.id; +#line 722 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_bind_int64 (_tmp7_, 2, _tmp9_); +#line 722 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp10_; +#line 723 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res; +#line 723 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 725 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = stmt; +#line 725 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = sqlite3_step (_tmp12_); +#line 725 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp13_; +#line 726 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = res; +#line 726 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp14_ != SQLITE_DONE) { +#line 5312 "PhotoTable.c" + gint _tmp15_ = 0; +#line 727 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = res; +#line 727 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("drop_event", _tmp15_); +#line 729 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 729 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 729 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5324 "PhotoTable.c" + } +#line 732 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = TRUE; +#line 732 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 732 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5332 "PhotoTable.c" +} + + +gboolean photo_table_set_event (PhotoTable* self, PhotoID* photo_id, EventID* event_id) { + gboolean result = FALSE; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + EventID _tmp2_ = {0}; + gint64 _tmp3_ = 0LL; + gboolean _tmp4_ = FALSE; +#line 735 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 735 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 735 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 736 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 736 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 736 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = *event_id; +#line 736 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = _tmp2_.id; +#line 736 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = database_table_update_int64_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "event_id", _tmp3_); +#line 736 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp4_; +#line 736 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5363 "PhotoTable.c" +} + + +static gchar* photo_table_get_raw_transformations (PhotoTable* self, PhotoID* photo_id) { + gchar* result = NULL; + sqlite3_stmt* stmt = NULL; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + sqlite3_stmt* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gchar* trans = NULL; + sqlite3_stmt* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + const gchar* _tmp8_ = NULL; +#line 739 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), NULL); +#line 739 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, NULL); +#line 741 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 741 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 741 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = database_table_select_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "transformations", &_tmp2_); +#line 741 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 741 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp2_; +#line 741 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp3_) { +#line 742 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = NULL; +#line 742 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 742 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5402 "PhotoTable.c" + } +#line 744 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 744 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = sqlite3_column_text (_tmp4_, 0); +#line 744 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 744 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + trans = _tmp6_; +#line 745 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = trans; +#line 745 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp8_ == NULL) { +#line 745 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = TRUE; +#line 5418 "PhotoTable.c" + } else { + const gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 745 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = trans; +#line 745 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = strlen (_tmp9_); +#line 745 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = _tmp10_; +#line 745 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = _tmp11_ == 0; +#line 5431 "PhotoTable.c" + } +#line 745 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp7_) { +#line 746 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = NULL; +#line 746 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 746 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 746 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5443 "PhotoTable.c" + } +#line 748 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = trans; +#line 748 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 748 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5451 "PhotoTable.c" +} + + +static gboolean photo_table_set_raw_transformations (PhotoTable* self, PhotoID* photo_id, const gchar* trans) { + gboolean result = FALSE; + PhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 751 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 751 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 751 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (trans != NULL, FALSE); +#line 752 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 752 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 752 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = trans; +#line 752 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = database_table_update_text_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "transformations", _tmp2_); +#line 752 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp3_; +#line 752 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5479 "PhotoTable.c" +} + + +gboolean photo_table_set_transformation_state (PhotoTable* self, PhotoID* photo_id, Orientation orientation, GeeHashMap* transformations) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + Orientation _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + GeeHashMap* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GDestroyNotify _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + sqlite3_stmt* _tmp14_ = NULL; + PhotoID _tmp15_ = {0}; + gint64 _tmp16_ = 0LL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + sqlite3_stmt* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 755 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 755 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 755 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail ((transformations == NULL) || GEE_IS_HASH_MAP (transformations), FALSE); +#line 758 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 758 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE PhotoTable SET orientation = ?, transformations = ? WHERE id = " \ +"?", -1, &_tmp1_, NULL); +#line 758 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 758 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 758 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 760 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 760 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 762 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 762 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = orientation; +#line 762 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = sqlite3_bind_int (_tmp4_, 1, (gint) _tmp5_); +#line 762 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp6_; +#line 763 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = res; +#line 763 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 764 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = stmt; +#line 764 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = transformations; +#line 764 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = photo_table_unmarshall_all_transformations (_tmp9_); +#line 764 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = g_free; +#line 764 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = sqlite3_bind_text (_tmp8_, 2, _tmp10_, -1, _tmp11_); +#line 764 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp12_; +#line 765 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = res; +#line 765 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp13_ == SQLITE_OK, "res == Sqlite.OK"); +#line 766 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = stmt; +#line 766 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = *photo_id; +#line 766 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = _tmp15_.id; +#line 766 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = sqlite3_bind_int64 (_tmp14_, 3, _tmp16_); +#line 766 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp17_; +#line 767 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = res; +#line 767 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp18_ == SQLITE_OK, "res == Sqlite.OK"); +#line 769 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = stmt; +#line 769 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = sqlite3_step (_tmp19_); +#line 769 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp20_; +#line 770 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = res; +#line 770 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp21_ != SQLITE_DONE) { +#line 5581 "PhotoTable.c" + gint _tmp22_ = 0; +#line 771 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = res; +#line 771 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("set_transformation_state", _tmp22_); +#line 773 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 773 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 773 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5593 "PhotoTable.c" + } +#line 776 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = TRUE; +#line 776 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 776 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5601 "PhotoTable.c" +} + + +GeeHashMap* photo_table_marshall_all_transformations (const gchar* trans) { + GeeHashMap* result = NULL; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 780 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = trans; +#line 780 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp1_ == NULL) { +#line 780 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = TRUE; +#line 5616 "PhotoTable.c" + } else { + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 780 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = trans; +#line 780 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = strlen (_tmp2_); +#line 780 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp3_; +#line 780 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = _tmp4_ == 0; +#line 5629 "PhotoTable.c" + } +#line 780 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp0_) { +#line 781 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = NULL; +#line 781 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5637 "PhotoTable.c" + } + { + GKeyFile* keyfile = NULL; + GKeyFile* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GKeyFile* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gboolean _tmp12_ = FALSE; + GeeHashMap* map = NULL; + GeeHashMap* _tmp13_ = NULL; + gchar** objects = NULL; + GKeyFile* _tmp14_ = NULL; + gsize _tmp15_; + gchar** _tmp16_ = NULL; + gint objects_length1 = 0; + gint _objects_size_ = 0; + gchar** _tmp17_ = NULL; + gint _tmp17__length1 = 0; +#line 784 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = g_key_file_new (); +#line 784 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keyfile = _tmp5_; +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = keyfile; +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = trans; +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = trans; +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = strlen (_tmp9_); +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = _tmp10_; +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = g_key_file_load_from_data (_tmp7_, _tmp8_, (gsize) _tmp11_, G_KEY_FILE_NONE, &_inner_error_); +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp12_; +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 5681 "PhotoTable.c" + goto __catch15_g_error; + } +#line 785 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp6_) { +#line 786 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = NULL; +#line 786 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 786 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5692 "PhotoTable.c" + } +#line 788 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_KEY_VALUE_MAP, (GBoxedCopyFunc) key_value_map_ref, key_value_map_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 788 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + map = _tmp13_; +#line 790 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = keyfile; +#line 790 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = g_key_file_get_groups (_tmp14_, &_tmp15_); +#line 790 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + objects = _tmp16_; +#line 790 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + objects_length1 = _tmp15_; +#line 790 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _objects_size_ = objects_length1; +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = objects; +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17__length1 = objects_length1; +#line 5712 "PhotoTable.c" + { + gchar** object_collection = NULL; + gint object_collection_length1 = 0; + gint _object_collection_size_ = 0; + gint object_it = 0; +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + object_collection = _tmp17_; +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + object_collection_length1 = _tmp17__length1; +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + for (object_it = 0; object_it < _tmp17__length1; object_it = object_it + 1) { +#line 5724 "PhotoTable.c" + gchar* _tmp18_ = NULL; + gchar* object = NULL; +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = g_strdup (object_collection[object_it]); +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + object = _tmp18_; +#line 5731 "PhotoTable.c" + { + gchar** keys = NULL; + GKeyFile* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gsize _tmp21_; + gchar** _tmp22_ = NULL; + gint keys_length1 = 0; + gint _keys_size_ = 0; + gboolean _tmp23_ = FALSE; + gchar** _tmp24_ = NULL; + gint _tmp24__length1 = 0; + KeyValueMap* key_map = NULL; + const gchar* _tmp26_ = NULL; + KeyValueMap* _tmp27_ = NULL; + GeeHashMap* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + KeyValueMap* _tmp45_ = NULL; +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = keyfile; +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = object; +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = g_key_file_get_keys (_tmp19_, _tmp20_, &_tmp21_, &_inner_error_); +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keys = _tmp22_; +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keys_length1 = _tmp21_; +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _keys_size_ = keys_length1; +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (object); +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + objects = (_vala_array_free (objects, objects_length1, (GDestroyNotify) g_free), NULL); +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (map); +#line 792 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 5771 "PhotoTable.c" + goto __catch15_g_error; + } +#line 793 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = keys; +#line 793 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24__length1 = keys_length1; +#line 793 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp24_ == NULL) { +#line 793 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = TRUE; +#line 5782 "PhotoTable.c" + } else { + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; +#line 793 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = keys; +#line 793 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25__length1 = keys_length1; +#line 793 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = _tmp25__length1 == 0; +#line 5792 "PhotoTable.c" + } +#line 793 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp23_) { +#line 794 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL); +#line 794 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (object); +#line 794 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + continue; +#line 5802 "PhotoTable.c" + } +#line 796 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = object; +#line 796 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = key_value_map_new (_tmp26_); +#line 796 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + key_map = _tmp27_; +#line 5810 "PhotoTable.c" + { + gint ctr = 0; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + ctr = 0; +#line 5815 "PhotoTable.c" + { + gboolean _tmp28_ = FALSE; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = TRUE; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 5822 "PhotoTable.c" + gint _tmp30_ = 0; + gchar** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + gchar* _tmp32_ = NULL; + GKeyFile* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gchar** _tmp35_ = NULL; + gint _tmp35__length1 = 0; + gint _tmp36_ = 0; + const gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + KeyValueMap* _tmp39_ = NULL; + gchar** _tmp40_ = NULL; + gint _tmp40__length1 = 0; + gint _tmp41_ = 0; + const gchar* _tmp42_ = NULL; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp28_) { +#line 5841 "PhotoTable.c" + gint _tmp29_ = 0; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = ctr; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + ctr = _tmp29_ + 1; +#line 5847 "PhotoTable.c" + } +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = FALSE; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = ctr; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = keys; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31__length1 = keys_length1; +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!(_tmp30_ < _tmp31__length1)) { +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 5861 "PhotoTable.c" + } +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = keyfile; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = object; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = keys; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35__length1 = keys_length1; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = ctr; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = _tmp35_[_tmp36_]; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = g_key_file_get_string (_tmp33_, _tmp34_, _tmp37_, &_inner_error_); +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = _tmp38_; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _key_value_map_unref0 (key_map); +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL); +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (object); +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + objects = (_vala_array_free (objects, objects_length1, (GDestroyNotify) g_free), NULL); +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (map); +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 5893 "PhotoTable.c" + goto __catch15_g_error; + } +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = key_map; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = keys; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40__length1 = keys_length1; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = ctr; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = _tmp40_[_tmp41_]; +#line 798 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + key_value_map_set_string (_tmp39_, _tmp42_, _tmp32_); +#line 797 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp32_); +#line 5910 "PhotoTable.c" + } + } + } +#line 800 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = map; +#line 800 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = object; +#line 800 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = key_map; +#line 800 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp44_, _tmp45_); +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _key_value_map_unref0 (key_map); +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL); +#line 791 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (object); +#line 5928 "PhotoTable.c" + } + } + } +#line 803 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = map; +#line 803 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + objects = (_vala_array_free (objects, objects_length1, (GDestroyNotify) g_free), NULL); +#line 803 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 803 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 5940 "PhotoTable.c" + } + goto __finally15; + __catch15_g_error: + { + GError* err = NULL; + const gchar* _tmp46_ = NULL; +#line 783 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + err = _inner_error_; +#line 783 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _inner_error_ = NULL; +#line 805 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = err->message; +#line 805 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_error ("PhotoTable.vala:805: %s", _tmp46_); +#line 783 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_error_free0 (err); +#line 5957 "PhotoTable.c" + } + __finally15: +#line 783 "/home/jens/Source/shotwell/src/db/PhotoTable.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 783 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 783 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return NULL; +#line 5966 "PhotoTable.c" +} + + +gchar* photo_table_unmarshall_all_transformations (GeeHashMap* transformations) { + gchar* result = NULL; + gboolean _tmp0_ = FALSE; + GeeHashMap* _tmp1_ = NULL; + GKeyFile* keyfile = NULL; + GKeyFile* _tmp8_ = NULL; + gsize length = 0UL; + gchar* unmarshalled = NULL; + GKeyFile* _tmp39_ = NULL; + gsize _tmp40_ = 0UL; + gchar* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + gint _tmp44_ = 0; + gint _tmp45_ = 0; +#line 809 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail ((transformations == NULL) || GEE_IS_HASH_MAP (transformations), NULL); +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = transformations; +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp1_ == NULL) { +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = TRUE; +#line 5993 "PhotoTable.c" + } else { + GeeHashMap* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = transformations; +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp3_; +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = _tmp4_; +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = _tmp6_; +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = _tmp7_ == 0; +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (_tmp5_); +#line 6017 "PhotoTable.c" + } +#line 810 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp0_) { +#line 811 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = NULL; +#line 811 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6025 "PhotoTable.c" + } +#line 813 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = g_key_file_new (); +#line 813 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keyfile = _tmp8_; +#line 6031 "PhotoTable.c" + { + GeeIterator* _object_it = NULL; + GeeHashMap* _tmp9_ = NULL; + GeeSet* _tmp10_ = NULL; + GeeSet* _tmp11_ = NULL; + GeeSet* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = transformations; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_MAP, GeeMap)); +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = _tmp10_; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = _tmp11_; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = _tmp13_; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (_tmp12_); +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _object_it = _tmp14_; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 6058 "PhotoTable.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gchar* object = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + KeyValueMap* map = NULL; + GeeHashMap* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gpointer _tmp21_ = NULL; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = _object_it; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp16_) { +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 6076 "PhotoTable.c" + } +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = _object_it; +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + object = (gchar*) _tmp18_; +#line 816 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = transformations; +#line 816 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = object; +#line 816 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp20_); +#line 816 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + map = (KeyValueMap*) _tmp21_; +#line 6092 "PhotoTable.c" + { + GeeIterator* _key_it = NULL; + KeyValueMap* _tmp22_ = NULL; + GeeSet* _tmp23_ = NULL; + GeeSet* _tmp24_ = NULL; + GeeIterator* _tmp25_ = NULL; + GeeIterator* _tmp26_ = NULL; +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = map; +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = key_value_map_get_keys (_tmp22_); +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = _tmp23_; +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = _tmp25_; +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (_tmp24_); +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _key_it = _tmp26_; +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 6116 "PhotoTable.c" + GeeIterator* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gchar* key = NULL; + GeeIterator* _tmp29_ = NULL; + gpointer _tmp30_ = NULL; + gchar* value = NULL; + KeyValueMap* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + GKeyFile* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = _key_it; +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = gee_iterator_next (_tmp27_); +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp28_) { +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 6139 "PhotoTable.c" + } +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = _key_it; +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = gee_iterator_get (_tmp29_); +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + key = (gchar*) _tmp30_; +#line 819 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = map; +#line 819 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = key; +#line 819 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = key_value_map_get_string (_tmp31_, _tmp32_, NULL); +#line 819 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value = _tmp33_; +#line 820 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = value; +#line 820 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp34_ != NULL, "value != null"); +#line 822 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = keyfile; +#line 822 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = object; +#line 822 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = key; +#line 822 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = value; +#line 822 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_key_file_set_string (_tmp35_, _tmp36_, _tmp37_, _tmp38_); +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (value); +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (key); +#line 6173 "PhotoTable.c" + } +#line 818 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (_key_it); +#line 6177 "PhotoTable.c" + } +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _key_value_map_unref0 (map); +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (object); +#line 6183 "PhotoTable.c" + } +#line 815 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (_object_it); +#line 6187 "PhotoTable.c" + } +#line 827 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = keyfile; +#line 827 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = g_key_file_to_data (_tmp39_, &_tmp40_, NULL); +#line 827 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + length = _tmp40_; +#line 827 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + unmarshalled = _tmp41_; +#line 828 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = unmarshalled; +#line 828 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp42_ != NULL, "unmarshalled != null"); +#line 829 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = unmarshalled; +#line 829 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = strlen (_tmp43_); +#line 829 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = _tmp44_; +#line 829 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp45_ > 0, "unmarshalled.length > 0"); +#line 831 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = unmarshalled; +#line 831 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 831 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6215 "PhotoTable.c" +} + + +gboolean photo_table_set_transformation (PhotoTable* self, PhotoID* photo_id, KeyValueMap* map) { + gboolean result = FALSE; + gchar* trans = NULL; + PhotoID _tmp0_ = {0}; + gchar* _tmp1_ = NULL; + PhotoID _tmp37_ = {0}; + const gchar* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; + GError * _inner_error_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 834 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 834 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (map), FALSE); +#line 835 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 835 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = photo_table_get_raw_transformations (self, &_tmp0_); +#line 835 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + trans = _tmp1_; +#line 6240 "PhotoTable.c" + { + GKeyFile* keyfile = NULL; + GKeyFile* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GeeSet* keys = NULL; + KeyValueMap* _tmp11_ = NULL; + GeeSet* _tmp12_ = NULL; + gsize length = 0UL; + GKeyFile* _tmp29_ = NULL; + gsize _tmp30_ = 0UL; + gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 838 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = g_key_file_new (); +#line 838 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keyfile = _tmp2_; +#line 839 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = trans; +#line 839 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp3_ != NULL) { +#line 6264 "PhotoTable.c" + gboolean _tmp4_ = FALSE; + GKeyFile* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gboolean _tmp10_ = FALSE; +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = keyfile; +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = trans; +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = trans; +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = strlen (_tmp7_); +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = _tmp8_; +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = g_key_file_load_from_data (_tmp5_, _tmp6_, (gsize) _tmp9_, G_KEY_FILE_NONE, &_inner_error_); +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp10_; +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 6290 "PhotoTable.c" + goto __catch16_g_error; + } +#line 840 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp4_) { +#line 841 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 841 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 841 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 841 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6303 "PhotoTable.c" + } + } +#line 844 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = map; +#line 844 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = key_value_map_get_keys (_tmp11_); +#line 844 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keys = _tmp12_; +#line 6312 "PhotoTable.c" + { + GeeIterator* _key_it = NULL; + GeeSet* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = keys; +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _key_it = _tmp14_; +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 6325 "PhotoTable.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gchar* key = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + gchar* value = NULL; + KeyValueMap* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + GKeyFile* _tmp23_ = NULL; + KeyValueMap* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = _key_it; +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp16_) { +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 6350 "PhotoTable.c" + } +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = _key_it; +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + key = (gchar*) _tmp18_; +#line 846 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = map; +#line 846 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = key; +#line 846 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = key_value_map_get_string (_tmp19_, _tmp20_, NULL); +#line 846 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value = _tmp21_; +#line 847 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = value; +#line 847 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp22_ != NULL, "value != null"); +#line 849 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = keyfile; +#line 849 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = map; +#line 849 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = key_value_map_get_group (_tmp24_); +#line 849 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = _tmp25_; +#line 849 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = key; +#line 849 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = value; +#line 849 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_key_file_set_string (_tmp23_, _tmp26_, _tmp27_, _tmp28_); +#line 849 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp26_); +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (value); +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (key); +#line 6390 "PhotoTable.c" + } +#line 845 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (_key_it); +#line 6394 "PhotoTable.c" + } +#line 853 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = keyfile; +#line 853 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = g_key_file_to_data (_tmp29_, &_tmp30_, NULL); +#line 853 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + length = _tmp30_; +#line 853 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 853 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + trans = _tmp31_; +#line 854 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = trans; +#line 854 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp32_ != NULL, "trans != null"); +#line 855 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = trans; +#line 855 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = strlen (_tmp33_); +#line 855 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = _tmp34_; +#line 855 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp35_ > 0, "trans.length > 0"); +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_object_unref0 (keys); +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 6422 "PhotoTable.c" + } + goto __finally16; + __catch16_g_error: + { + GError* err = NULL; + const gchar* _tmp36_ = NULL; +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + err = _inner_error_; +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _inner_error_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = err->message; +#line 857 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_error ("PhotoTable.vala:857: %s", _tmp36_); +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_error_free0 (err); +#line 6439 "PhotoTable.c" + } + __finally16: +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.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 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 837 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return FALSE; +#line 6452 "PhotoTable.c" + } +#line 860 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = *photo_id; +#line 860 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = trans; +#line 860 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = photo_table_set_raw_transformations (self, &_tmp37_, _tmp38_); +#line 860 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp39_; +#line 860 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 860 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6466 "PhotoTable.c" +} + + +gboolean photo_table_remove_transformation (PhotoTable* self, PhotoID* photo_id, const gchar* object) { + gboolean result = FALSE; + gchar* trans = NULL; + PhotoID _tmp0_ = {0}; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoID _tmp21_ = {0}; + const gchar* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + GError * _inner_error_ = NULL; +#line 863 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 863 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 863 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (object != NULL, FALSE); +#line 864 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 864 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = photo_table_get_raw_transformations (self, &_tmp0_); +#line 864 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + trans = _tmp1_; +#line 865 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = trans; +#line 865 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp2_ == NULL) { +#line 866 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = TRUE; +#line 866 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 866 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6502 "PhotoTable.c" + } + { + GKeyFile* keyfile = NULL; + GKeyFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GKeyFile* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gboolean _tmp10_ = FALSE; + GKeyFile* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GKeyFile* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gsize length = 0UL; + GKeyFile* _tmp16_ = NULL; + gsize _tmp17_ = 0UL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; +#line 869 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = g_key_file_new (); +#line 869 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + keyfile = _tmp3_; +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = keyfile; +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = trans; +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = trans; +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = strlen (_tmp7_); +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = _tmp8_; +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = g_key_file_load_from_data (_tmp5_, _tmp6_, (gsize) _tmp9_, G_KEY_FILE_NONE, &_inner_error_); +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp10_; +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 6546 "PhotoTable.c" + goto __catch17_g_error; + } +#line 870 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp4_) { +#line 871 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 871 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 871 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 871 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6559 "PhotoTable.c" + } +#line 873 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = keyfile; +#line 873 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = object; +#line 873 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = g_key_file_has_group (_tmp11_, _tmp12_); +#line 873 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!_tmp13_) { +#line 874 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = TRUE; +#line 874 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 874 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 874 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6577 "PhotoTable.c" + } +#line 876 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = keyfile; +#line 876 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = object; +#line 876 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_key_file_remove_group (_tmp14_, _tmp15_, &_inner_error_); +#line 876 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 876 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 6589 "PhotoTable.c" + goto __catch17_g_error; + } +#line 879 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = keyfile; +#line 879 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = g_key_file_to_data (_tmp16_, &_tmp17_, NULL); +#line 879 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + length = _tmp17_; +#line 879 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 879 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + trans = _tmp18_; +#line 880 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = trans; +#line 880 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp19_ != NULL, "trans != null"); +#line 868 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_key_file_unref0 (keyfile); +#line 6608 "PhotoTable.c" + } + goto __finally17; + __catch17_g_error: + { + GError* err = NULL; + const gchar* _tmp20_ = NULL; +#line 868 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + err = _inner_error_; +#line 868 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _inner_error_ = NULL; +#line 882 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = err->message; +#line 882 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_error ("PhotoTable.vala:882: %s", _tmp20_); +#line 868 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_error_free0 (err); +#line 6625 "PhotoTable.c" + } + __finally17: +#line 868 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 868 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 868 "/home/jens/Source/shotwell/src/db/PhotoTable.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 868 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 868 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return FALSE; +#line 6638 "PhotoTable.c" + } +#line 885 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = *photo_id; +#line 885 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = trans; +#line 885 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = photo_table_set_raw_transformations (self, &_tmp21_, _tmp22_); +#line 885 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp23_; +#line 885 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (trans); +#line 885 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6652 "PhotoTable.c" +} + + +gboolean photo_table_remove_all_transformations (PhotoTable* self, PhotoID* photo_id) { + gboolean result = FALSE; + PhotoID _tmp0_ = {0}; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PhotoID _tmp4_ = {0}; + gint64 _tmp5_ = 0LL; + gboolean _tmp6_ = FALSE; +#line 888 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 888 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (photo_id != NULL, FALSE); +#line 889 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *photo_id; +#line 889 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = photo_table_get_raw_transformations (self, &_tmp0_); +#line 889 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = _tmp1_; +#line 889 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = _tmp2_ == NULL; +#line 889 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp2_); +#line 889 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp3_) { +#line 890 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 890 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6685 "PhotoTable.c" + } +#line 892 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = *photo_id; +#line 892 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = _tmp4_.id; +#line 892 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = database_table_update_text_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp5_, "transformations", ""); +#line 892 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp6_; +#line 892 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 6697 "PhotoTable.c" +} + + +static sqlite3_stmt* photo_table_get_duplicate_stmt (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format) { + sqlite3_stmt* result = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + gchar* sql = NULL; + gchar* _tmp5_ = NULL; + gboolean first = FALSE; + GFile* _tmp6_ = NULL; + gboolean _tmp9_ = FALSE; + const gchar* _tmp10_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + sqlite3_stmt* _tmp35_ = NULL; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint col = 0; + GFile* _tmp38_ = NULL; + const gchar* _tmp46_ = NULL; + const gchar* _tmp54_ = NULL; + gboolean _tmp62_ = FALSE; + gboolean _tmp63_ = FALSE; + const gchar* _tmp64_ = NULL; +#line 897 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), NULL); +#line 897 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = file; +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp2_ != NULL) { +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = TRUE; +#line 6736 "PhotoTable.c" + } else { + const gchar* _tmp3_ = NULL; +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = thumbnail_md5; +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp3_ != NULL; +#line 6743 "PhotoTable.c" + } +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp1_) { +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = TRUE; +#line 6749 "PhotoTable.c" + } else { + const gchar* _tmp4_ = NULL; +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = md5; +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = _tmp4_ != NULL; +#line 6756 "PhotoTable.c" + } +#line 899 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp0_, "file != null || thumbnail_md5 != null || md5 != null"); +#line 901 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = g_strdup ("SELECT id FROM PhotoTable WHERE"); +#line 901 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp5_; +#line 902 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + first = TRUE; +#line 904 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = file; +#line 904 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp6_ != NULL) { +#line 6770 "PhotoTable.c" + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 905 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sql; +#line 905 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = g_strconcat (_tmp7_, " filename=?", NULL); +#line 905 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 905 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp8_; +#line 906 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + first = FALSE; +#line 6783 "PhotoTable.c" + } +#line 909 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = thumbnail_md5; +#line 909 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp10_ != NULL) { +#line 909 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = TRUE; +#line 6791 "PhotoTable.c" + } else { + const gchar* _tmp11_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = md5; +#line 909 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = _tmp11_ != NULL; +#line 6798 "PhotoTable.c" + } +#line 909 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp9_) { +#line 6802 "PhotoTable.c" + gboolean _tmp12_ = FALSE; + const gchar* _tmp17_ = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + PhotoFileFormat _tmp28_ = 0; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; +#line 910 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = first; +#line 910 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp12_) { +#line 6815 "PhotoTable.c" + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 911 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = sql; +#line 911 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = g_strconcat (_tmp13_, " ((", NULL); +#line 911 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 911 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp14_; +#line 6826 "PhotoTable.c" + } else { + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 913 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = sql; +#line 913 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = g_strconcat (_tmp15_, " OR ((", NULL); +#line 913 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 913 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp16_; +#line 6838 "PhotoTable.c" + } +#line 914 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + first = FALSE; +#line 916 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = thumbnail_md5; +#line 916 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp17_ != NULL) { +#line 6846 "PhotoTable.c" + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 917 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = sql; +#line 917 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = g_strconcat (_tmp18_, " thumbnail_md5=?", NULL); +#line 917 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 917 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp19_; +#line 6857 "PhotoTable.c" + } +#line 919 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = md5; +#line 919 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp20_ != NULL) { +#line 6863 "PhotoTable.c" + const gchar* _tmp21_ = NULL; +#line 920 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = thumbnail_md5; +#line 920 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp21_ == NULL) { +#line 6869 "PhotoTable.c" + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = sql; +#line 921 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = g_strconcat (_tmp22_, " md5=?", NULL); +#line 921 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 921 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp23_; +#line 6880 "PhotoTable.c" + } else { + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 923 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = sql; +#line 923 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = g_strconcat (_tmp24_, " OR md5=?", NULL); +#line 923 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 923 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp25_; +#line 6892 "PhotoTable.c" + } + } +#line 926 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = sql; +#line 926 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = g_strconcat (_tmp26_, ")", NULL); +#line 926 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 926 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp27_; +#line 928 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = file_format; +#line 928 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp28_ != PHOTO_FILE_FORMAT_UNKNOWN) { +#line 6907 "PhotoTable.c" + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 929 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = sql; +#line 929 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = g_strconcat (_tmp29_, " AND file_format=?", NULL); +#line 929 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 929 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp30_; +#line 6918 "PhotoTable.c" + } +#line 931 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = sql; +#line 931 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = g_strconcat (_tmp31_, ")", NULL); +#line 931 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 931 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + sql = _tmp32_; +#line 6928 "PhotoTable.c" + } +#line 935 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = database_table_db; +#line 935 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = sql; +#line 935 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = sqlite3_prepare_v2 (_tmp33_, _tmp34_, -1, &_tmp35_, NULL); +#line 935 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 935 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp35_; +#line 935 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp36_; +#line 936 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = res; +#line 936 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp37_ == SQLITE_OK, "res == Sqlite.OK"); +#line 938 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + col = 1; +#line 940 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = file; +#line 940 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp38_ != NULL) { +#line 6952 "PhotoTable.c" + sqlite3_stmt* _tmp39_ = NULL; + gint _tmp40_ = 0; + GFile* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + GDestroyNotify _tmp43_ = NULL; + gint _tmp44_ = 0; + gint _tmp45_ = 0; +#line 941 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = stmt; +#line 941 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = col; +#line 941 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + col = _tmp40_ + 1; +#line 941 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = file; +#line 941 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = g_file_get_path (_tmp41_); +#line 941 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = g_free; +#line 941 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = sqlite3_bind_text (_tmp39_, _tmp40_, _tmp42_, -1, _tmp43_); +#line 941 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp44_; +#line 942 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = res; +#line 942 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp45_ == SQLITE_OK, "res == Sqlite.OK"); +#line 6980 "PhotoTable.c" + } +#line 945 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = thumbnail_md5; +#line 945 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp46_ != NULL) { +#line 6986 "PhotoTable.c" + sqlite3_stmt* _tmp47_ = NULL; + gint _tmp48_ = 0; + const gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + GDestroyNotify _tmp51_ = NULL; + gint _tmp52_ = 0; + gint _tmp53_ = 0; +#line 946 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_ = stmt; +#line 946 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp48_ = col; +#line 946 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + col = _tmp48_ + 1; +#line 946 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_ = thumbnail_md5; +#line 946 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp50_ = g_strdup (_tmp49_); +#line 946 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_ = g_free; +#line 946 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_ = sqlite3_bind_text (_tmp47_, _tmp48_, _tmp50_, -1, _tmp51_); +#line 946 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp52_; +#line 947 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_ = res; +#line 947 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp53_ == SQLITE_OK, "res == Sqlite.OK"); +#line 7014 "PhotoTable.c" + } +#line 950 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp54_ = md5; +#line 950 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp54_ != NULL) { +#line 7020 "PhotoTable.c" + sqlite3_stmt* _tmp55_ = NULL; + gint _tmp56_ = 0; + const gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GDestroyNotify _tmp59_ = NULL; + gint _tmp60_ = 0; + gint _tmp61_ = 0; +#line 951 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp55_ = stmt; +#line 951 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp56_ = col; +#line 951 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + col = _tmp56_ + 1; +#line 951 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp57_ = md5; +#line 951 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp58_ = g_strdup (_tmp57_); +#line 951 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp59_ = g_free; +#line 951 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp60_ = sqlite3_bind_text (_tmp55_, _tmp56_, _tmp58_, -1, _tmp59_); +#line 951 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp60_; +#line 952 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp61_ = res; +#line 952 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp61_ == SQLITE_OK, "res == Sqlite.OK"); +#line 7048 "PhotoTable.c" + } +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp64_ = thumbnail_md5; +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp64_ != NULL) { +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp63_ = TRUE; +#line 7056 "PhotoTable.c" + } else { + const gchar* _tmp65_ = NULL; +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp65_ = md5; +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp63_ = _tmp65_ != NULL; +#line 7063 "PhotoTable.c" + } +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp63_) { +#line 7067 "PhotoTable.c" + PhotoFileFormat _tmp66_ = 0; +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp66_ = file_format; +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp62_ = _tmp66_ != PHOTO_FILE_FORMAT_UNKNOWN; +#line 7073 "PhotoTable.c" + } else { +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp62_ = FALSE; +#line 7077 "PhotoTable.c" + } +#line 955 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp62_) { +#line 7081 "PhotoTable.c" + sqlite3_stmt* _tmp67_ = NULL; + gint _tmp68_ = 0; + PhotoFileFormat _tmp69_ = 0; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + gint _tmp72_ = 0; +#line 956 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp67_ = stmt; +#line 956 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp68_ = col; +#line 956 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + col = _tmp68_ + 1; +#line 956 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp69_ = file_format; +#line 956 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp70_ = photo_file_format_serialize (_tmp69_); +#line 956 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp71_ = sqlite3_bind_int (_tmp67_, _tmp68_, _tmp70_); +#line 956 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp71_; +#line 957 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp72_ = res; +#line 957 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp72_ == SQLITE_OK, "res == Sqlite.OK"); +#line 7106 "PhotoTable.c" + } +#line 960 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = stmt; +#line 960 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (sql); +#line 960 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7114 "PhotoTable.c" +} + + +gboolean photo_table_has_duplicate (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint res = 0; + sqlite3_stmt* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 963 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), FALSE); +#line 963 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), FALSE); +#line 964 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = file; +#line 964 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = thumbnail_md5; +#line 964 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = md5; +#line 964 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = file_format; +#line 964 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = photo_table_get_duplicate_stmt (self, _tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 964 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp4_; +#line 965 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = stmt; +#line 965 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = sqlite3_step (_tmp5_); +#line 965 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp6_; +#line 967 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = res; +#line 967 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp7_ == SQLITE_DONE) { +#line 969 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 969 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 969 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7162 "PhotoTable.c" + } else { + gint _tmp8_ = 0; +#line 970 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 970 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp8_ == SQLITE_ROW) { +#line 972 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = TRUE; +#line 972 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 972 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7175 "PhotoTable.c" + } else { + gint _tmp9_ = 0; +#line 974 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = res; +#line 974 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("has_duplicate", _tmp9_); +#line 976 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 976 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 976 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7188 "PhotoTable.c" + } + } +#line 963 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 7193 "PhotoTable.c" +} + + +static void _vala_array_add2 (PhotoID** array, int* length, int* size, const PhotoID* value) { +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if ((*length) == (*size)) { +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *array = g_renew (PhotoID, *array, *size); +#line 7204 "PhotoTable.c" + } +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + (*array)[(*length)++] = *value; +#line 7208 "PhotoTable.c" +} + + +PhotoID* photo_table_get_duplicate_ids (PhotoTable* self, GFile* file, const gchar* thumbnail_md5, const gchar* md5, PhotoFileFormat file_format, int* result_length1) { + PhotoID* result = NULL; + sqlite3_stmt* stmt = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + PhotoID* ids = NULL; + PhotoID* _tmp5_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + gint res = 0; + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + PhotoID* _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 980 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_PHOTO_TABLE (self), NULL); +#line 980 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 982 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = file; +#line 982 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = thumbnail_md5; +#line 982 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = md5; +#line 982 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = file_format; +#line 982 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = photo_table_get_duplicate_stmt (self, _tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 982 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp4_; +#line 984 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = g_new0 (PhotoID, 0); +#line 984 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + ids = _tmp5_; +#line 984 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + ids_length1 = 0; +#line 984 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _ids_size_ = ids_length1; +#line 986 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = stmt; +#line 986 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sqlite3_step (_tmp6_); +#line 986 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp7_; +#line 987 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + while (TRUE) { +#line 7261 "PhotoTable.c" + gint _tmp8_ = 0; + PhotoID* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + sqlite3_stmt* _tmp10_ = NULL; + gint64 _tmp11_ = 0LL; + PhotoID _tmp12_ = {0}; + sqlite3_stmt* _tmp13_ = NULL; + gint _tmp14_ = 0; +#line 987 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 987 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!(_tmp8_ == SQLITE_ROW)) { +#line 987 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 7276 "PhotoTable.c" + } +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = ids; +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9__length1 = ids_length1; +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = stmt; +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = sqlite3_column_int64 (_tmp10_, 0); +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_id_init (&_tmp12_, _tmp11_); +#line 988 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_array_add2 (&ids, &ids_length1, &_ids_size_, &_tmp12_); +#line 989 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = stmt; +#line 989 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = sqlite3_step (_tmp13_); +#line 989 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp14_; +#line 7296 "PhotoTable.c" + } +#line 992 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = ids; +#line 992 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15__length1 = ids_length1; +#line 992 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (result_length1) { +#line 992 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *result_length1 = _tmp15__length1; +#line 7306 "PhotoTable.c" + } +#line 992 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp15_; +#line 992 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 992 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7314 "PhotoTable.c" +} + + +void photo_table_update_backlinks (PhotoTable* self, PhotoID* photo_id, const gchar* backlinks, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + PhotoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + GError * _inner_error_ = NULL; +#line 995 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 995 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (photo_id != NULL); +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = backlinks; +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp1_ != NULL) { +#line 7332 "PhotoTable.c" + const gchar* _tmp2_ = NULL; +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = backlinks; +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = _tmp2_; +#line 7338 "PhotoTable.c" + } else { +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = ""; +#line 7342 "PhotoTable.c" + } +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = *photo_id; +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp3_.id; +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp4_, "backlinks", _tmp0_, &_inner_error_); +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7358 "PhotoTable.c" + } else { +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.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 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 996 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7366 "PhotoTable.c" + } + } +} + + +void photo_table_attach_editable (PhotoTable* self, PhotoRow* row, BackingPhotoID* editable_id, GError** error) { + PhotoRow* _tmp0_ = NULL; + PhotoID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; + BackingPhotoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + PhotoRow* _tmp5_ = NULL; + BackingPhotoID _tmp6_ = {0}; + GError * _inner_error_ = NULL; +#line 999 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 999 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_ROW (row)); +#line 999 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (editable_id != NULL); +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = row; +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_->photo_id; +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = _tmp1_.id; +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = *editable_id; +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = _tmp3_.id; +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp2_, "editable_id", _tmp4_, &_inner_error_); +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7407 "PhotoTable.c" + } else { +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1000 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7415 "PhotoTable.c" + } + } +#line 1002 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = row; +#line 1002 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = *editable_id; +#line 1002 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_->editable_id = _tmp6_; +#line 7424 "PhotoTable.c" +} + + +void photo_table_detach_editable (PhotoTable* self, PhotoRow* row, GError** error) { + PhotoRow* _tmp0_ = NULL; + PhotoID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; + PhotoRow* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 1005 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 1005 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_ROW (row)); +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = row; +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_->photo_id; +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = _tmp1_.id; +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp2_, "editable_id", BACKING_PHOTO_ID_INVALID, &_inner_error_); +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7454 "PhotoTable.c" + } else { +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1006 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7462 "PhotoTable.c" + } + } +#line 1008 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = row; +#line 1008 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp3_->editable_id, BACKING_PHOTO_ID_INVALID); +#line 7469 "PhotoTable.c" +} + + +void photo_table_set_metadata_dirty (PhotoTable* self, PhotoID* photo_id, gboolean dirty, GError** error) { + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + PhotoID _tmp2_ = {0}; + gint64 _tmp3_ = 0LL; + GError * _inner_error_ = NULL; +#line 1011 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 1011 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (photo_id != NULL); +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = dirty; +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp1_) { +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = 1; +#line 7489 "PhotoTable.c" + } else { +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = 0; +#line 7493 "PhotoTable.c" + } +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = *photo_id; +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = _tmp2_.id; +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_int_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp3_, "metadata_dirty", _tmp0_, &_inner_error_); +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7509 "PhotoTable.c" + } else { +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1012 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7517 "PhotoTable.c" + } + } +} + + +void photo_table_update_raw_development (PhotoTable* self, PhotoRow* row, RawDeveloper rd, BackingPhotoID* backing_photo_id, GError** error) { + gchar* col = NULL; + RawDeveloper _tmp0_ = 0; + PhotoRow* _tmp4_ = NULL; + BackingPhotoID* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + RawDeveloper _tmp6_ = 0; + BackingPhotoID _tmp7_ = {0}; + BackingPhotoID _tmp8_ = {0}; + PhotoRow* _tmp9_ = NULL; + PhotoID _tmp10_ = {0}; + gint64 _tmp11_ = 0LL; + const gchar* _tmp12_ = NULL; + BackingPhotoID _tmp13_ = {0}; + gint64 _tmp14_ = 0LL; + BackingPhotoID _tmp15_ = {0}; + gint64 _tmp16_ = 0LL; + GError * _inner_error_ = NULL; +#line 1015 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 1015 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_ROW (row)); +#line 1015 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (backing_photo_id != NULL); +#line 1019 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = rd; +#line 1019 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + switch (_tmp0_) { +#line 1019 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + case RAW_DEVELOPER_SHOTWELL: +#line 7553 "PhotoTable.c" + { + gchar* _tmp1_ = NULL; +#line 1021 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = g_strdup ("develop_shotwell_id"); +#line 1021 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (col); +#line 1021 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + col = _tmp1_; +#line 1022 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 7564 "PhotoTable.c" + } +#line 1019 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + case RAW_DEVELOPER_CAMERA: +#line 7568 "PhotoTable.c" + { + gchar* _tmp2_ = NULL; +#line 1025 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = g_strdup ("develop_camera_id"); +#line 1025 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (col); +#line 1025 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + col = _tmp2_; +#line 1026 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 7579 "PhotoTable.c" + } +#line 1019 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + case RAW_DEVELOPER_EMBEDDED: +#line 7583 "PhotoTable.c" + { + gchar* _tmp3_ = NULL; +#line 1029 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = g_strdup ("develop_embedded_id"); +#line 1029 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (col); +#line 1029 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + col = _tmp3_; +#line 1030 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + break; +#line 7594 "PhotoTable.c" + } + default: + { +#line 1033 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_assert_not_reached (); +#line 7600 "PhotoTable.c" + } + } +#line 1036 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = row; +#line 1036 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = _tmp4_->development_ids; +#line 1036 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5__length1 = _tmp4_->development_ids_length1; +#line 1036 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = rd; +#line 1036 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = *backing_photo_id; +#line 1036 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_[_tmp6_] = _tmp7_; +#line 1036 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = _tmp5_[_tmp6_]; +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = row; +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = _tmp9_->photo_id; +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = _tmp10_.id; +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = col; +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = *backing_photo_id; +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = _tmp13_.id; +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp11_, _tmp12_, _tmp14_, &_inner_error_); +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (col); +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7641 "PhotoTable.c" + } else { +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (col); +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1037 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7651 "PhotoTable.c" + } + } +#line 1039 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = *backing_photo_id; +#line 1039 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = _tmp15_.id; +#line 1039 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp16_ != BACKING_PHOTO_ID_INVALID) { +#line 7660 "PhotoTable.c" + PhotoRow* _tmp17_ = NULL; + PhotoID _tmp18_ = {0}; + gint64 _tmp19_ = 0LL; + RawDeveloper _tmp20_ = 0; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = row; +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = _tmp17_->photo_id; +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = _tmp18_.id; +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = rd; +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = raw_developer_to_string (_tmp20_); +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = _tmp21_; +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp19_, "developer", _tmp22_, &_inner_error_); +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp22_); +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (col); +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7693 "PhotoTable.c" + } else { +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (col); +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1040 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7703 "PhotoTable.c" + } + } + } +#line 1015 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (col); +#line 7709 "PhotoTable.c" +} + + +void photo_table_remove_development (PhotoTable* self, PhotoRow* row, RawDeveloper rd, GError** error) { + PhotoRow* _tmp0_ = NULL; + RawDeveloper _tmp1_ = 0; + BackingPhotoID _tmp2_ = {0}; + GError * _inner_error_ = NULL; +#line 1043 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_TABLE (self)); +#line 1043 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_PHOTO_ROW (row)); +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = row; +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = rd; +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp2_, BACKING_PHOTO_ID_INVALID); +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_table_update_raw_development (self, _tmp0_, _tmp1_, &_tmp2_, &_inner_error_); +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7738 "PhotoTable.c" + } else { +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1044 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 7746 "PhotoTable.c" + } + } +} + + +static void photo_table_class_init (PhotoTableClass * klass) { +#line 109 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + photo_table_parent_class = g_type_class_peek_parent (klass); +#line 109 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + ((DatabaseTableClass *) klass)->finalize = photo_table_finalize; +#line 7757 "PhotoTable.c" +} + + +static void photo_table_instance_init (PhotoTable * self) { +} + + +static void photo_table_finalize (DatabaseTable* obj) { + PhotoTable * self; +#line 109 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_TABLE, PhotoTable); +#line 109 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + DATABASE_TABLE_CLASS (photo_table_parent_class)->finalize (obj); +#line 7771 "PhotoTable.c" +} + + +GType photo_table_get_type (void) { + static volatile gsize photo_table_type_id__volatile = 0; + if (g_once_init_enter (&photo_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoTable), 0, (GInstanceInitFunc) photo_table_instance_init, NULL }; + GType photo_table_type_id; + photo_table_type_id = g_type_register_static (TYPE_DATABASE_TABLE, "PhotoTable", &g_define_type_info, 0); + g_once_init_leave (&photo_table_type_id__volatile, photo_table_type_id); + } + return photo_table_type_id__volatile; +} + + +void backing_photo_id_init (BackingPhotoID *self, gint64 id) { + gint64 _tmp0_ = 0LL; +#line 1064 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + memset (self, 0, sizeof (BackingPhotoID)); +#line 1065 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = id; +#line 1065 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + (*self).id = _tmp0_; +#line 7795 "PhotoTable.c" +} + + +gboolean backing_photo_id_is_invalid (BackingPhotoID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 1069 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = (*self).id; +#line 1069 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp0_ == BACKING_PHOTO_ID_INVALID; +#line 1069 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7808 "PhotoTable.c" +} + + +gboolean backing_photo_id_is_valid (BackingPhotoID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 1073 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = (*self).id; +#line 1073 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp0_ != BACKING_PHOTO_ID_INVALID; +#line 1073 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7821 "PhotoTable.c" +} + + +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self) { + BackingPhotoID* dup; +#line 1059 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dup = g_new0 (BackingPhotoID, 1); +#line 1059 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + memcpy (dup, self, sizeof (BackingPhotoID)); +#line 1059 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return dup; +#line 7833 "PhotoTable.c" +} + + +void backing_photo_id_free (BackingPhotoID* self) { +#line 1059 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_free (self); +#line 7840 "PhotoTable.c" +} + + +GType backing_photo_id_get_type (void) { + static volatile gsize backing_photo_id_type_id__volatile = 0; + if (g_once_init_enter (&backing_photo_id_type_id__volatile)) { + GType backing_photo_id_type_id; + backing_photo_id_type_id = g_boxed_type_register_static ("BackingPhotoID", (GBoxedCopyFunc) backing_photo_id_dup, (GBoxedFreeFunc) backing_photo_id_free); + g_once_init_leave (&backing_photo_id_type_id__volatile, backing_photo_id_type_id); + } + return backing_photo_id_type_id__volatile; +} + + +gboolean backing_photo_row_matches_file_info (BackingPhotoRow* self, GFileInfo* info) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; + GFileInfo* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + time_t _tmp3_ = 0; + GFileInfo* _tmp4_ = NULL; + GTimeVal _tmp5_ = {0}; + glong _tmp6_ = 0L; +#line 1087 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_BACKING_PHOTO_ROW (self), FALSE); +#line 1087 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 1088 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = self->filesize; +#line 1088 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = info; +#line 1088 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = g_file_info_get_size (_tmp1_); +#line 1088 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp0_ != _tmp2_) { +#line 1089 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 1089 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7880 "PhotoTable.c" + } +#line 1091 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = self->timestamp; +#line 1091 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = info; +#line 1091 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_file_info_get_modification_time (_tmp4_, &_tmp5_); +#line 1091 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_.tv_sec; +#line 1091 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp3_ == ((time_t) _tmp6_); +#line 1091 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7894 "PhotoTable.c" +} + + +gboolean backing_photo_row_is_touched (BackingPhotoRow* self, GFileInfo* info) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; + GFileInfo* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; + time_t _tmp3_ = 0; + GFileInfo* _tmp4_ = NULL; + GTimeVal _tmp5_ = {0}; + glong _tmp6_ = 0L; +#line 1094 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_BACKING_PHOTO_ROW (self), FALSE); +#line 1094 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), FALSE); +#line 1095 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = self->filesize; +#line 1095 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = info; +#line 1095 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = g_file_info_get_size (_tmp1_); +#line 1095 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp0_ != _tmp2_) { +#line 1096 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = FALSE; +#line 1096 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7923 "PhotoTable.c" + } +#line 1098 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = self->timestamp; +#line 1098 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = info; +#line 1098 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_file_info_get_modification_time (_tmp4_, &_tmp5_); +#line 1098 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_.tv_sec; +#line 1098 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp3_ != ((time_t) _tmp6_); +#line 1098 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 7937 "PhotoTable.c" +} + + +void backing_photo_row_copy_from (BackingPhotoRow* self, BackingPhotoRow* from) { + BackingPhotoRow* _tmp0_ = NULL; + BackingPhotoID _tmp1_ = {0}; + BackingPhotoRow* _tmp2_ = NULL; + time_t _tmp3_ = 0; + BackingPhotoRow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + BackingPhotoRow* _tmp7_ = NULL; + gint64 _tmp8_ = 0LL; + BackingPhotoRow* _tmp9_ = NULL; + time_t _tmp10_ = 0; + BackingPhotoRow* _tmp11_ = NULL; + PhotoFileFormat _tmp12_ = 0; + BackingPhotoRow* _tmp13_ = NULL; + Dimensions _tmp14_ = {0}; + BackingPhotoRow* _tmp15_ = NULL; + Orientation _tmp16_ = 0; +#line 1102 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (self)); +#line 1102 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (from)); +#line 1103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = from; +#line 1103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_->id; +#line 1103 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->id = _tmp1_; +#line 1104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = from; +#line 1104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = _tmp2_->time_created; +#line 1104 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->time_created = _tmp3_; +#line 1105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = from; +#line 1105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = _tmp4_->filepath; +#line 1105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 1105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (self->filepath); +#line 1105 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->filepath = _tmp6_; +#line 1106 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = from; +#line 1106 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = _tmp7_->filesize; +#line 1106 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->filesize = _tmp8_; +#line 1107 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = from; +#line 1107 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = _tmp9_->timestamp; +#line 1107 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->timestamp = _tmp10_; +#line 1108 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = from; +#line 1108 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = _tmp11_->file_format; +#line 1108 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->file_format = _tmp12_; +#line 1109 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = from; +#line 1109 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = _tmp13_->dim; +#line 1109 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->dim = _tmp14_; +#line 1110 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = from; +#line 1110 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = _tmp15_->original_orientation; +#line 1110 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->original_orientation = _tmp16_; +#line 8015 "PhotoTable.c" +} + + +BackingPhotoRow* backing_photo_row_construct (GType object_type) { + BackingPhotoRow* self = NULL; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self = (BackingPhotoRow*) g_type_create_instance (object_type); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return self; +#line 8025 "PhotoTable.c" +} + + +BackingPhotoRow* backing_photo_row_new (void) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return backing_photo_row_construct (TYPE_BACKING_PHOTO_ROW); +#line 8032 "PhotoTable.c" +} + + +static void value_backing_photo_row_init (GValue* value) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = NULL; +#line 8039 "PhotoTable.c" +} + + +static void value_backing_photo_row_free_value (GValue* value) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (value->data[0].v_pointer) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_row_unref (value->data[0].v_pointer); +#line 8048 "PhotoTable.c" + } +} + + +static void value_backing_photo_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (src_value->data[0].v_pointer) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dest_value->data[0].v_pointer = backing_photo_row_ref (src_value->data[0].v_pointer); +#line 8058 "PhotoTable.c" + } else { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 8062 "PhotoTable.c" + } +} + + +static gpointer value_backing_photo_row_peek_pointer (const GValue* value) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return value->data[0].v_pointer; +#line 8070 "PhotoTable.c" +} + + +static gchar* value_backing_photo_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (collect_values[0].v_pointer) { +#line 8077 "PhotoTable.c" + BackingPhotoRow* object; + object = collect_values[0].v_pointer; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8084 "PhotoTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 8088 "PhotoTable.c" + } +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = backing_photo_row_ref (object); +#line 8092 "PhotoTable.c" + } else { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = NULL; +#line 8096 "PhotoTable.c" + } +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return NULL; +#line 8100 "PhotoTable.c" +} + + +static gchar* value_backing_photo_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + BackingPhotoRow** object_p; + object_p = collect_values[0].v_pointer; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!object_p) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 8111 "PhotoTable.c" + } +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (!value->data[0].v_pointer) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *object_p = NULL; +#line 8117 "PhotoTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *object_p = value->data[0].v_pointer; +#line 8121 "PhotoTable.c" + } else { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + *object_p = backing_photo_row_ref (value->data[0].v_pointer); +#line 8125 "PhotoTable.c" + } +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return NULL; +#line 8129 "PhotoTable.c" +} + + +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecBackingPhotoRow* spec; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_BACKING_PHOTO_ROW), NULL); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return G_PARAM_SPEC (spec); +#line 8143 "PhotoTable.c" +} + + +gpointer value_get_backing_photo_row (const GValue* value) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKING_PHOTO_ROW), NULL); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return value->data[0].v_pointer; +#line 8152 "PhotoTable.c" +} + + +void value_set_backing_photo_row (GValue* value, gpointer v_object) { + BackingPhotoRow* old; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKING_PHOTO_ROW)); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + old = value->data[0].v_pointer; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (v_object) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BACKING_PHOTO_ROW)); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = v_object; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_row_ref (value->data[0].v_pointer); +#line 8172 "PhotoTable.c" + } else { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = NULL; +#line 8176 "PhotoTable.c" + } +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (old) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_row_unref (old); +#line 8182 "PhotoTable.c" + } +} + + +void value_take_backing_photo_row (GValue* value, gpointer v_object) { + BackingPhotoRow* old; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKING_PHOTO_ROW)); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + old = value->data[0].v_pointer; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (v_object) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BACKING_PHOTO_ROW)); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = v_object; +#line 8201 "PhotoTable.c" + } else { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + value->data[0].v_pointer = NULL; +#line 8205 "PhotoTable.c" + } +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (old) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_row_unref (old); +#line 8211 "PhotoTable.c" + } +} + + +static void backing_photo_row_class_init (BackingPhotoRowClass * klass) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_row_parent_class = g_type_class_peek_parent (klass); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + ((BackingPhotoRowClass *) klass)->finalize = backing_photo_row_finalize; +#line 8221 "PhotoTable.c" +} + + +static void backing_photo_row_instance_init (BackingPhotoRow * self) { +#line 1080 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->filepath = NULL; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self->ref_count = 1; +#line 8230 "PhotoTable.c" +} + + +static void backing_photo_row_finalize (BackingPhotoRow* obj) { + BackingPhotoRow * self; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BACKING_PHOTO_ROW, BackingPhotoRow); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_signal_handlers_destroy (self); +#line 1080 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (self->filepath); +#line 8242 "PhotoTable.c" +} + + +GType backing_photo_row_get_type (void) { + static volatile gsize backing_photo_row_type_id__volatile = 0; + if (g_once_init_enter (&backing_photo_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_backing_photo_row_init, value_backing_photo_row_free_value, value_backing_photo_row_copy_value, value_backing_photo_row_peek_pointer, "p", value_backing_photo_row_collect_value, "p", value_backing_photo_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (BackingPhotoRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) backing_photo_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BackingPhotoRow), 0, (GInstanceInitFunc) backing_photo_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType backing_photo_row_type_id; + backing_photo_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BackingPhotoRow", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&backing_photo_row_type_id__volatile, backing_photo_row_type_id); + } + return backing_photo_row_type_id__volatile; +} + + +gpointer backing_photo_row_ref (gpointer instance) { + BackingPhotoRow* self; + self = instance; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return instance; +#line 8267 "PhotoTable.c" +} + + +void backing_photo_row_unref (gpointer instance) { + BackingPhotoRow* self; + self = instance; +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + BACKING_PHOTO_ROW_GET_CLASS (self)->finalize (self); +#line 1077 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 8280 "PhotoTable.c" + } +} + + +static BackingPhotoTable* backing_photo_table_construct (GType object_type) { + BackingPhotoTable* self = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 1117 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self = (BackingPhotoTable*) database_table_construct (object_type); +#line 1118 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), "BackingPhotoTable"); +#line 1121 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 1121 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "CREATE TABLE IF NOT EXISTS " "BackingPhotoTable " "(" "id INTEGER PRIMARY KEY, " "filepath TEXT UNIQUE NOT NULL, " "timestamp INTEGER, " "filesize INTEGER, " "width INTEGER, " "height INTEGER, " "original_orientation INTEGER, " "file_format INTEGER, " "time_created INTEGER " ")", -1, &_tmp1_, NULL); +#line 1121 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1121 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 1121 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 1134 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 1134 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1136 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 1136 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 1136 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp5_; +#line 1137 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = res; +#line 1137 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp6_ != SQLITE_DONE) { +#line 8324 "PhotoTable.c" + gint _tmp7_ = 0; +#line 1138 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = res; +#line 1138 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_fatal ("create PhotoBackingTable", _tmp7_); +#line 8330 "PhotoTable.c" + } +#line 1117 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1117 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return self; +#line 8336 "PhotoTable.c" +} + + +static BackingPhotoTable* backing_photo_table_new (void) { +#line 1117 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return backing_photo_table_construct (TYPE_BACKING_PHOTO_TABLE); +#line 8343 "PhotoTable.c" +} + + +BackingPhotoTable* backing_photo_table_get_instance (void) { + BackingPhotoTable* result = NULL; + BackingPhotoTable* _tmp0_ = NULL; + BackingPhotoTable* _tmp2_ = NULL; + BackingPhotoTable* _tmp3_ = NULL; +#line 1142 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = backing_photo_table_instance; +#line 1142 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp0_ == NULL) { +#line 8356 "PhotoTable.c" + BackingPhotoTable* _tmp1_ = NULL; +#line 1143 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = backing_photo_table_new (); +#line 1143 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _database_table_unref0 (backing_photo_table_instance); +#line 1143 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_table_instance = _tmp1_; +#line 8364 "PhotoTable.c" + } +#line 1145 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = backing_photo_table_instance; +#line 1145 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = _database_table_ref0 (_tmp2_); +#line 1145 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = _tmp3_; +#line 1145 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 8374 "PhotoTable.c" +} + + +void backing_photo_table_add (BackingPhotoTable* self, BackingPhotoRow* state, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + time_t time_created = 0; + gulong _tmp4_ = 0UL; + sqlite3_stmt* _tmp5_ = NULL; + BackingPhotoRow* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GDestroyNotify _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + BackingPhotoRow* _tmp13_ = NULL; + time_t _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + sqlite3_stmt* _tmp17_ = NULL; + BackingPhotoRow* _tmp18_ = NULL; + gint64 _tmp19_ = 0LL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + sqlite3_stmt* _tmp22_ = NULL; + BackingPhotoRow* _tmp23_ = NULL; + Dimensions _tmp24_ = {0}; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + sqlite3_stmt* _tmp28_ = NULL; + BackingPhotoRow* _tmp29_ = NULL; + Dimensions _tmp30_ = {0}; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + gint _tmp33_ = 0; + sqlite3_stmt* _tmp34_ = NULL; + BackingPhotoRow* _tmp35_ = NULL; + Orientation _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + sqlite3_stmt* _tmp39_ = NULL; + BackingPhotoRow* _tmp40_ = NULL; + PhotoFileFormat _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + sqlite3_stmt* _tmp45_ = NULL; + time_t _tmp46_ = 0; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + sqlite3_stmt* _tmp49_ = NULL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + BackingPhotoRow* _tmp53_ = NULL; + sqlite3* _tmp54_ = NULL; + gint64 _tmp55_ = 0LL; + BackingPhotoRow* _tmp56_ = NULL; + time_t _tmp57_ = 0; + GError * _inner_error_ = NULL; +#line 1148 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_TABLE (self)); +#line 1148 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (state)); +#line 1150 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 1150 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO BackingPhotoTable " "(filepath, timestamp, filesize, width, height, original_orientation, " "file_format, time_created) " "VALUES (?, ?, ?, ?, ?, ?, ?, ?)", -1, &_tmp1_, NULL); +#line 1150 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1150 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 1150 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 1155 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 1155 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1157 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = now_sec (); +#line 1157 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + time_created = (time_t) _tmp4_; +#line 1159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = stmt; +#line 1159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = state; +#line 1159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = _tmp6_->filepath; +#line 1159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 1159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = g_free; +#line 1159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_bind_text (_tmp5_, 1, _tmp8_, -1, _tmp9_); +#line 1159 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp10_; +#line 1160 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res; +#line 1160 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1161 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = stmt; +#line 1161 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = state; +#line 1161 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = _tmp13_->timestamp; +#line 1161 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = sqlite3_bind_int64 (_tmp12_, 2, (gint64) _tmp14_); +#line 1161 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp15_; +#line 1162 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = res; +#line 1162 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp16_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1163 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = stmt; +#line 1163 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = state; +#line 1163 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = _tmp18_->filesize; +#line 1163 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = sqlite3_bind_int64 (_tmp17_, 3, _tmp19_); +#line 1163 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp20_; +#line 1164 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = res; +#line 1164 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp21_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = stmt; +#line 1165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = state; +#line 1165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = _tmp23_->dim; +#line 1165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = _tmp24_.width; +#line 1165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = sqlite3_bind_int (_tmp22_, 4, _tmp25_); +#line 1165 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp26_; +#line 1166 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = res; +#line 1166 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp27_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = stmt; +#line 1167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = state; +#line 1167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = _tmp29_->dim; +#line 1167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = _tmp30_.height; +#line 1167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = sqlite3_bind_int (_tmp28_, 5, _tmp31_); +#line 1167 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp32_; +#line 1168 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = res; +#line 1168 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp33_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1169 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = stmt; +#line 1169 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = state; +#line 1169 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = _tmp35_->original_orientation; +#line 1169 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = sqlite3_bind_int (_tmp34_, 6, (gint) _tmp36_); +#line 1169 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp37_; +#line 1170 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = res; +#line 1170 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp38_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1171 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = stmt; +#line 1171 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = state; +#line 1171 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = _tmp40_->file_format; +#line 1171 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = photo_file_format_serialize (_tmp41_); +#line 1171 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = sqlite3_bind_int (_tmp39_, 7, _tmp42_); +#line 1171 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp43_; +#line 1172 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = res; +#line 1172 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp44_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = stmt; +#line 1173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = time_created; +#line 1173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp47_ = sqlite3_bind_int64 (_tmp45_, 8, (gint64) _tmp46_); +#line 1173 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp47_; +#line 1174 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp48_ = res; +#line 1174 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp48_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1176 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp49_ = stmt; +#line 1176 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp50_ = sqlite3_step (_tmp49_); +#line 1176 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp50_; +#line 1177 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp51_ = res; +#line 1177 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp51_ != SQLITE_DONE) { +#line 8592 "PhotoTable.c" + gint _tmp52_ = 0; +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp52_ = res; +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_throw_error ("PhotoBackingTable.add", _tmp52_, &_inner_error_); +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 8608 "PhotoTable.c" + } else { +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1178 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 8618 "PhotoTable.c" + } + } + } +#line 1180 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp53_ = state; +#line 1180 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp54_ = database_table_db; +#line 1180 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp55_ = sqlite3_last_insert_rowid (_tmp54_); +#line 1180 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_id_init (&_tmp53_->id, _tmp55_); +#line 1181 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp56_ = state; +#line 1181 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp57_ = time_created; +#line 1181 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp56_->time_created = _tmp57_; +#line 1148 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 8638 "PhotoTable.c" +} + + +BackingPhotoRow* backing_photo_table_fetch (BackingPhotoTable* self, BackingPhotoID* id, GError** error) { + BackingPhotoRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + BackingPhotoID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + BackingPhotoRow* row = NULL; + BackingPhotoRow* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + BackingPhotoID _tmp16_ = {0}; + BackingPhotoRow* _tmp17_ = NULL; + sqlite3_stmt* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; + sqlite3_stmt* _tmp22_ = NULL; + gint64 _tmp23_ = 0LL; + BackingPhotoRow* _tmp24_ = NULL; + sqlite3_stmt* _tmp25_ = NULL; + gint64 _tmp26_ = 0LL; + BackingPhotoRow* _tmp27_ = NULL; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + sqlite3_stmt* _tmp30_ = NULL; + gint _tmp31_ = 0; + BackingPhotoRow* _tmp32_ = NULL; + sqlite3_stmt* _tmp33_ = NULL; + gint _tmp34_ = 0; + BackingPhotoRow* _tmp35_ = NULL; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + PhotoFileFormat _tmp38_ = 0; + BackingPhotoRow* _tmp39_ = NULL; + sqlite3_stmt* _tmp40_ = NULL; + gint64 _tmp41_ = 0LL; + GError * _inner_error_ = NULL; +#line 1184 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (IS_BACKING_PHOTO_TABLE (self), NULL); +#line 1184 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 1186 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 1186 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT filepath, timestamp, filesize, width, height, " "original_orientation, file_format, time_created FROM BackingPhotoTable" \ +" WHERE id=?", -1, &_tmp1_, NULL); +#line 1186 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1186 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 1186 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 1189 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 1189 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1191 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 1191 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = *id; +#line 1191 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_.id; +#line 1191 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 1191 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp7_; +#line 1192 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 1192 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1194 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = stmt; +#line 1194 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 1194 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp10_; +#line 1195 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res; +#line 1195 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp11_ == SQLITE_DONE) { +#line 1196 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = NULL; +#line 1196 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1196 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 8736 "PhotoTable.c" + } else { + gint _tmp12_ = 0; +#line 1197 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = res; +#line 1197 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp12_ != SQLITE_ROW) { +#line 8743 "PhotoTable.c" + gint _tmp13_ = 0; +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = res; +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_throw_error ("BackingPhotoTable.fetch_for_photo", _tmp13_, &_inner_error_); +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return NULL; +#line 8759 "PhotoTable.c" + } else { +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1198 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return NULL; +#line 8769 "PhotoTable.c" + } + } + } + } +#line 1200 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = backing_photo_row_new (); +#line 1200 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + row = _tmp14_; +#line 1201 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = row; +#line 1201 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = *id; +#line 1201 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_->id = _tmp16_; +#line 1202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = row; +#line 1202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = stmt; +#line 1202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = sqlite3_column_text (_tmp18_, 0); +#line 1202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = g_strdup (_tmp19_); +#line 1202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _g_free0 (_tmp17_->filepath); +#line 1202 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_->filepath = _tmp20_; +#line 1203 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = row; +#line 1203 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = stmt; +#line 1203 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = sqlite3_column_int64 (_tmp22_, 1); +#line 1203 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_->timestamp = (time_t) _tmp23_; +#line 1204 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = row; +#line 1204 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = stmt; +#line 1204 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = sqlite3_column_int64 (_tmp25_, 2); +#line 1204 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_->filesize = _tmp26_; +#line 1205 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = row; +#line 1205 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = stmt; +#line 1205 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = sqlite3_column_int (_tmp28_, 3); +#line 1205 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = stmt; +#line 1205 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = sqlite3_column_int (_tmp30_, 4); +#line 1205 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + dimensions_init (&_tmp27_->dim, _tmp29_, _tmp31_); +#line 1206 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = row; +#line 1206 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = stmt; +#line 1206 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = sqlite3_column_int (_tmp33_, 5); +#line 1206 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_->original_orientation = (Orientation) _tmp34_; +#line 1207 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = row; +#line 1207 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = stmt; +#line 1207 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = sqlite3_column_int (_tmp36_, 6); +#line 1207 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = photo_file_format_unserialize (_tmp37_); +#line 1207 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_->file_format = _tmp38_; +#line 1208 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = row; +#line 1208 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = stmt; +#line 1208 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = sqlite3_column_int64 (_tmp40_, 7); +#line 1208 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_->time_created = (time_t) _tmp41_; +#line 1210 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + result = row; +#line 1210 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1210 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return result; +#line 8856 "PhotoTable.c" +} + + +void backing_photo_table_update (BackingPhotoTable* self, BackingPhotoRow* row, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + BackingPhotoRow* _tmp5_ = NULL; + time_t _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + BackingPhotoRow* _tmp10_ = NULL; + gint64 _tmp11_ = 0LL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + sqlite3_stmt* _tmp14_ = NULL; + BackingPhotoRow* _tmp15_ = NULL; + Dimensions _tmp16_ = {0}; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + sqlite3_stmt* _tmp20_ = NULL; + BackingPhotoRow* _tmp21_ = NULL; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + sqlite3_stmt* _tmp26_ = NULL; + BackingPhotoRow* _tmp27_ = NULL; + Orientation _tmp28_ = 0; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + sqlite3_stmt* _tmp31_ = NULL; + BackingPhotoRow* _tmp32_ = NULL; + PhotoFileFormat _tmp33_ = 0; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + sqlite3_stmt* _tmp37_ = NULL; + BackingPhotoRow* _tmp38_ = NULL; + BackingPhotoID _tmp39_ = {0}; + gint64 _tmp40_ = 0LL; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + sqlite3_stmt* _tmp43_ = NULL; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + GError * _inner_error_ = NULL; +#line 1214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_TABLE (self)); +#line 1214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_ROW (row)); +#line 1216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 1216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE BackingPhotoTable SET timestamp=?, filesize=?, " "width=?, height=?, original_orientation=?, file_format=? " "WHERE id=?", -1, &_tmp1_, NULL); +#line 1216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 1216 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 1220 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 1220 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 1222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = row; +#line 1222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = _tmp5_->timestamp; +#line 1222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, (gint64) _tmp6_); +#line 1222 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp7_; +#line 1223 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = res; +#line 1223 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = stmt; +#line 1224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = row; +#line 1224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = _tmp10_->filesize; +#line 1224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = sqlite3_bind_int64 (_tmp9_, 2, _tmp11_); +#line 1224 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp12_; +#line 1225 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = res; +#line 1225 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp13_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = stmt; +#line 1226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = row; +#line 1226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = _tmp15_->dim; +#line 1226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = _tmp16_.width; +#line 1226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = sqlite3_bind_int (_tmp14_, 3, _tmp17_); +#line 1226 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp18_; +#line 1227 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = res; +#line 1227 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp19_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = stmt; +#line 1228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp21_ = row; +#line 1228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp22_ = _tmp21_->dim; +#line 1228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp23_ = _tmp22_.height; +#line 1228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp24_ = sqlite3_bind_int (_tmp20_, 4, _tmp23_); +#line 1228 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp24_; +#line 1229 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp25_ = res; +#line 1229 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp25_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1230 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp26_ = stmt; +#line 1230 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp27_ = row; +#line 1230 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp28_ = _tmp27_->original_orientation; +#line 1230 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp29_ = sqlite3_bind_int (_tmp26_, 5, (gint) _tmp28_); +#line 1230 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp29_; +#line 1231 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp30_ = res; +#line 1231 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp30_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp31_ = stmt; +#line 1232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp32_ = row; +#line 1232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp33_ = _tmp32_->file_format; +#line 1232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp34_ = photo_file_format_serialize (_tmp33_); +#line 1232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp35_ = sqlite3_bind_int (_tmp31_, 6, _tmp34_); +#line 1232 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp35_; +#line 1233 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp36_ = res; +#line 1233 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp36_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp37_ = stmt; +#line 1234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp38_ = row; +#line 1234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp39_ = _tmp38_->id; +#line 1234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp40_ = _tmp39_.id; +#line 1234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp41_ = sqlite3_bind_int64 (_tmp37_, 7, _tmp40_); +#line 1234 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp41_; +#line 1235 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp42_ = res; +#line 1235 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp42_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1237 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp43_ = stmt; +#line 1237 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp44_ = sqlite3_step (_tmp43_); +#line 1237 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp44_; +#line 1238 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp45_ = res; +#line 1238 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp45_ != SQLITE_DONE) { +#line 9044 "PhotoTable.c" + gint _tmp46_ = 0; +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp46_ = res; +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_throw_error ("BackingPhotoTable.update", _tmp46_, &_inner_error_); +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9060 "PhotoTable.c" + } else { +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1239 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9070 "PhotoTable.c" + } + } + } +#line 1214 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 9076 "PhotoTable.c" +} + + +void backing_photo_table_update_attributes (BackingPhotoTable* self, BackingPhotoID* id, time_t timestamp, gint64 filesize, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + time_t _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + gint64 _tmp9_ = 0LL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + BackingPhotoID _tmp13_ = {0}; + gint64 _tmp14_ = 0LL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + sqlite3_stmt* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GError * _inner_error_ = NULL; +#line 1242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_TABLE (self)); +#line 1242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (id != NULL); +#line 1244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = database_table_db; +#line 1244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE BackingPhotoTable SET timestamp=?, filesize=? WHERE id=?", -1, &_tmp1_, NULL); +#line 1244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + stmt = _tmp1_; +#line 1244 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp2_; +#line 1246 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp3_ = res; +#line 1246 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp4_ = stmt; +#line 1248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp5_ = timestamp; +#line 1248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp6_ = sqlite3_bind_int64 (_tmp4_, 1, (gint64) _tmp5_); +#line 1248 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp6_; +#line 1249 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp7_ = res; +#line 1249 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp8_ = stmt; +#line 1250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp9_ = filesize; +#line 1250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp10_ = sqlite3_bind_int64 (_tmp8_, 2, _tmp9_); +#line 1250 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp10_; +#line 1251 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp11_ = res; +#line 1251 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1252 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp12_ = stmt; +#line 1252 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp13_ = *id; +#line 1252 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp14_ = _tmp13_.id; +#line 1252 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp15_ = sqlite3_bind_int64 (_tmp12_, 3, _tmp14_); +#line 1252 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp15_; +#line 1253 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp16_ = res; +#line 1253 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _vala_assert (_tmp16_ == SQLITE_OK, "res == Sqlite.OK"); +#line 1255 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp17_ = stmt; +#line 1255 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp18_ = sqlite3_step (_tmp17_); +#line 1255 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + res = _tmp18_; +#line 1256 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp19_ = res; +#line 1256 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_tmp19_ != SQLITE_DONE) { +#line 9170 "PhotoTable.c" + gint _tmp20_ = 0; +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp20_ = res; +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_throw_error ("BackingPhotoTable.update_attributes", _tmp20_, &_inner_error_); +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9186 "PhotoTable.c" + } else { +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1257 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9196 "PhotoTable.c" + } + } + } +#line 1242 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _sqlite3_finalize0 (stmt); +#line 9202 "PhotoTable.c" +} + + +void backing_photo_table_remove (BackingPhotoTable* self, BackingPhotoID* backing_id, GError** error) { + BackingPhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + GError * _inner_error_ = NULL; +#line 1260 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_TABLE (self)); +#line 1260 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (backing_id != NULL); +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *backing_id; +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_delete_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, &_inner_error_); +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9228 "PhotoTable.c" + } else { +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1261 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9236 "PhotoTable.c" + } + } +} + + +void backing_photo_table_set_filepath (BackingPhotoTable* self, BackingPhotoID* id, const gchar* filepath, GError** error) { + BackingPhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + const gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 1264 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_TABLE (self)); +#line 1264 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (id != NULL); +#line 1264 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (filepath != NULL); +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *id; +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = filepath; +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "filepath", _tmp2_, &_inner_error_); +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9269 "PhotoTable.c" + } else { +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1265 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9277 "PhotoTable.c" + } + } +} + + +void backing_photo_table_update_timestamp (BackingPhotoTable* self, BackingPhotoID* id, time_t timestamp, GError** error) { + BackingPhotoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + time_t _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 1268 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (IS_BACKING_PHOTO_TABLE (self)); +#line 1268 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_return_if_fail (id != NULL); +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp0_ = *id; +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp1_ = _tmp0_.id; +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + _tmp2_ = timestamp; +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "timestamp", (gint64) _tmp2_, &_inner_error_); +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_propagate_error (error, _inner_error_); +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9308 "PhotoTable.c" + } else { +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.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 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + g_clear_error (&_inner_error_); +#line 1269 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + return; +#line 9316 "PhotoTable.c" + } + } +} + + +static void backing_photo_table_class_init (BackingPhotoTableClass * klass) { +#line 1114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + backing_photo_table_parent_class = g_type_class_peek_parent (klass); +#line 1114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + ((DatabaseTableClass *) klass)->finalize = backing_photo_table_finalize; +#line 9327 "PhotoTable.c" +} + + +static void backing_photo_table_instance_init (BackingPhotoTable * self) { +} + + +static void backing_photo_table_finalize (DatabaseTable* obj) { + BackingPhotoTable * self; +#line 1114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BACKING_PHOTO_TABLE, BackingPhotoTable); +#line 1114 "/home/jens/Source/shotwell/src/db/PhotoTable.vala" + DATABASE_TABLE_CLASS (backing_photo_table_parent_class)->finalize (obj); +#line 9341 "PhotoTable.c" +} + + +GType backing_photo_table_get_type (void) { + static volatile gsize backing_photo_table_type_id__volatile = 0; + if (g_once_init_enter (&backing_photo_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (BackingPhotoTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) backing_photo_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BackingPhotoTable), 0, (GInstanceInitFunc) backing_photo_table_instance_init, NULL }; + GType backing_photo_table_type_id; + backing_photo_table_type_id = g_type_register_static (TYPE_DATABASE_TABLE, "BackingPhotoTable", &g_define_type_info, 0); + g_once_init_leave (&backing_photo_table_type_id__volatile, backing_photo_table_type_id); + } + return backing_photo_table_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/db/PhotoTable.vala b/src/db/PhotoTable.vala index 5be08e7..f774df5 100644 --- a/src/db/PhotoTable.vala +++ b/src/db/PhotoTable.vala @@ -158,6 +158,33 @@ public class PhotoTable : DatabaseTable { if (res2 != Sqlite.DONE) fatal("create photo table", res2); + // These are for duplicate searches + // https://bugzilla.gnome.org/show_bug.cgi?id=742670 + // + // 1) index on md5,file_format + res = db.prepare_v2 ("CREATE UNIQUE INDEX IF NOT EXISTS PhotoTableMD5Format on PhotoTable(md5, file_format)", -1, out stmt); + assert (res == Sqlite.OK); + res = stmt.step (); + if (res != Sqlite.DONE) { + DatabaseTable.warning ("Failed to create index on md5 and file_format", res); + } + + // 2) index on thumbnail_md5,file_format + res = db.prepare_v2 ("CREATE INDEX IF NOT EXISTS PhotoTableThumbnailMD5Format on PhotoTable(thumbnail_md5, file_format)", -1, out stmt); + assert (res == Sqlite.OK); + res = stmt.step (); + if (res != Sqlite.DONE) { + DatabaseTable.warning ("Failed to create index on md5 and file_format", res); + } + + // 3) index on thumbnail_md5,md5 + res = db.prepare_v2 ("CREATE INDEX IF NOT EXISTS PhotoTableThumbnailMD5MD5 on PhotoTable(thumbnail_md5, md5)", -1, out stmt); + assert (res == Sqlite.OK); + res = stmt.step (); + if (res != Sqlite.DONE) { + DatabaseTable.warning ("Failed to create index on thumbnail_md5 and md5", res); + } + set_table_name("PhotoTable"); } diff --git a/src/db/SavedSearchDBTable.c b/src/db/SavedSearchDBTable.c new file mode 100644 index 0000000..1747d47 --- /dev/null +++ b/src/db/SavedSearchDBTable.c @@ -0,0 +1,4793 @@ +/* SavedSearchDBTable.c generated by valac 0.32.1, the Vala compiler + * generated from SavedSearchDBTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SAVED_SEARCH_ID (saved_search_id_get_type ()) +typedef struct _SavedSearchID SavedSearchID; + +#define TYPE_SAVED_SEARCH_ROW (saved_search_row_get_type ()) +#define SAVED_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_ROW, SavedSearchRow)) +#define SAVED_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_ROW, SavedSearchRowClass)) +#define IS_SAVED_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_ROW)) +#define IS_SAVED_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_ROW)) +#define SAVED_SEARCH_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_ROW, SavedSearchRowClass)) + +typedef struct _SavedSearchRow SavedSearchRow; +typedef struct _SavedSearchRowClass SavedSearchRowClass; +typedef struct _SavedSearchRowPrivate SavedSearchRowPrivate; + +#define TYPE_SEARCH_OPERATOR (search_operator_get_type ()) + +#define TYPE_SEARCH_CONDITION (search_condition_get_type ()) +#define SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION, SearchCondition)) +#define SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION, SearchConditionClass)) +#define IS_SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION)) +#define IS_SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION)) +#define SEARCH_CONDITION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION, SearchConditionClass)) + +typedef struct _SearchCondition SearchCondition; +typedef struct _SearchConditionClass SearchConditionClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecSavedSearchRow ParamSpecSavedSearchRow; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; +typedef struct _DatabaseTablePrivate DatabaseTablePrivate; + +#define TYPE_SAVED_SEARCH_DB_TABLE (saved_search_db_table_get_type ()) +#define SAVED_SEARCH_DB_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTable)) +#define SAVED_SEARCH_DB_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTableClass)) +#define IS_SAVED_SEARCH_DB_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DB_TABLE)) +#define IS_SAVED_SEARCH_DB_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DB_TABLE)) +#define SAVED_SEARCH_DB_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTableClass)) + +typedef struct _SavedSearchDBTable SavedSearchDBTable; +typedef struct _SavedSearchDBTableClass SavedSearchDBTableClass; +typedef struct _SavedSearchDBTablePrivate SavedSearchDBTablePrivate; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _search_condition_unref0(var) ((var == NULL) ? NULL : (var = (search_condition_unref (var), NULL))) +#define _saved_search_row_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_row_unref (var), NULL))) + +#define TYPE_SEARCH_CONDITION_TEXT (search_condition_text_get_type ()) +#define SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionText)) +#define SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass)) +#define IS_SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_TEXT)) +#define IS_SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_TEXT)) +#define SEARCH_CONDITION_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass)) + +typedef struct _SearchConditionText SearchConditionText; +typedef struct _SearchConditionTextClass SearchConditionTextClass; + +#define SEARCH_CONDITION_TYPE_SEARCH_TYPE (search_condition_search_type_get_type ()) + +#define SEARCH_CONDITION_TEXT_TYPE_CONTEXT (search_condition_text_context_get_type ()) + +#define TYPE_SEARCH_CONDITION_MEDIA_TYPE (search_condition_media_type_get_type ()) +#define SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType)) +#define SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass)) +#define IS_SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE)) +#define IS_SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE)) +#define SEARCH_CONDITION_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass)) + +typedef struct _SearchConditionMediaType SearchConditionMediaType; +typedef struct _SearchConditionMediaTypeClass SearchConditionMediaTypeClass; + +#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_CONTEXT (search_condition_media_type_context_get_type ()) + +#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_MEDIA_TYPE (search_condition_media_type_media_type_get_type ()) + +#define TYPE_SEARCH_CONDITION_FLAGGED (search_condition_flagged_get_type ()) +#define SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged)) +#define SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass)) +#define IS_SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_FLAGGED)) +#define IS_SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_FLAGGED)) +#define SEARCH_CONDITION_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass)) + +typedef struct _SearchConditionFlagged SearchConditionFlagged; +typedef struct _SearchConditionFlaggedClass SearchConditionFlaggedClass; + +#define SEARCH_CONDITION_FLAGGED_TYPE_STATE (search_condition_flagged_state_get_type ()) + +#define TYPE_SEARCH_CONDITION_MODIFIED (search_condition_modified_get_type ()) +#define SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified)) +#define SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass)) +#define IS_SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MODIFIED)) +#define IS_SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MODIFIED)) +#define SEARCH_CONDITION_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass)) + +typedef struct _SearchConditionModified SearchConditionModified; +typedef struct _SearchConditionModifiedClass SearchConditionModifiedClass; + +#define SEARCH_CONDITION_MODIFIED_TYPE_CONTEXT (search_condition_modified_context_get_type ()) + +#define SEARCH_CONDITION_MODIFIED_TYPE_STATE (search_condition_modified_state_get_type ()) + +#define TYPE_SEARCH_CONDITION_RATING (search_condition_rating_get_type ()) +#define SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRating)) +#define SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass)) +#define IS_SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_RATING)) +#define IS_SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_RATING)) +#define SEARCH_CONDITION_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass)) + +typedef struct _SearchConditionRating SearchConditionRating; +typedef struct _SearchConditionRatingClass SearchConditionRatingClass; + +#define TYPE_RATING (rating_get_type ()) + +#define SEARCH_CONDITION_RATING_TYPE_CONTEXT (search_condition_rating_context_get_type ()) + +#define TYPE_SEARCH_CONDITION_DATE (search_condition_date_get_type ()) +#define SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDate)) +#define SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass)) +#define IS_SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_DATE)) +#define IS_SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_DATE)) +#define SEARCH_CONDITION_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass)) + +typedef struct _SearchConditionDate SearchConditionDate; +typedef struct _SearchConditionDateClass SearchConditionDateClass; + +#define SEARCH_CONDITION_DATE_TYPE_CONTEXT (search_condition_date_context_get_type ()) +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) +#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 _SavedSearchID { + gint64 id; +}; + +typedef enum { + SEARCH_OPERATOR_ANY = 0, + SEARCH_OPERATOR_ALL, + SEARCH_OPERATOR_NONE +} SearchOperator; + +struct _SavedSearchRow { + GTypeInstance parent_instance; + volatile int ref_count; + SavedSearchRowPrivate * priv; + SavedSearchID search_id; + gchar* name; + SearchOperator operator; + GeeList* conditions; +}; + +struct _SavedSearchRowClass { + GTypeClass parent_class; + void (*finalize) (SavedSearchRow *self); +}; + +struct _ParamSpecSavedSearchRow { + GParamSpec parent_instance; +}; + +struct _DatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + DatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _DatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (DatabaseTable *self); +}; + +struct _SavedSearchDBTable { + DatabaseTable parent_instance; + SavedSearchDBTablePrivate * priv; +}; + +struct _SavedSearchDBTableClass { + DatabaseTableClass parent_class; +}; + +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 () +typedef enum { + SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT = 0, + SEARCH_CONDITION_SEARCH_TYPE_TITLE, + SEARCH_CONDITION_SEARCH_TYPE_TAG, + SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME, + SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME, + SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE, + SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE, + SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE, + SEARCH_CONDITION_SEARCH_TYPE_RATING, + SEARCH_CONDITION_SEARCH_TYPE_COMMENT, + SEARCH_CONDITION_SEARCH_TYPE_DATE +} SearchConditionSearchType; + +typedef enum { + SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS = 0, + SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY, + SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH, + SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH, + SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN, + SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET, + SEARCH_CONDITION_TEXT_CONTEXT_IS_SET +} SearchConditionTextContext; + +typedef enum { + SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS = 0, + SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT +} SearchConditionMediaTypeContext; + +typedef enum { + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL = 0, + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW, + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO +} SearchConditionMediaTypeMediaType; + +typedef enum { + SEARCH_CONDITION_FLAGGED_STATE_FLAGGED = 0, + SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED +} SearchConditionFlaggedState; + +typedef enum { + SEARCH_CONDITION_MODIFIED_CONTEXT_HAS = 0, + SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO +} SearchConditionModifiedContext; + +typedef enum { + SEARCH_CONDITION_MODIFIED_STATE_MODIFIED = 0, + SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES, + SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES +} SearchConditionModifiedState; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER = 0, + SEARCH_CONDITION_RATING_CONTEXT_ONLY, + SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER +} SearchConditionRatingContext; + +typedef enum { + SEARCH_CONDITION_DATE_CONTEXT_EXACT = 0, + SEARCH_CONDITION_DATE_CONTEXT_AFTER, + SEARCH_CONDITION_DATE_CONTEXT_BEFORE, + SEARCH_CONDITION_DATE_CONTEXT_BETWEEN, + SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET +} SearchConditionDateContext; + + +static gpointer saved_search_row_parent_class = NULL; +static gpointer saved_search_db_table_parent_class = NULL; +static SavedSearchDBTable* saved_search_db_table_instance; +static SavedSearchDBTable* saved_search_db_table_instance = NULL; +extern sqlite3* database_table_db; + +GType saved_search_id_get_type (void) G_GNUC_CONST; +SavedSearchID* saved_search_id_dup (const SavedSearchID* self); +void saved_search_id_free (SavedSearchID* self); +#define SAVED_SEARCH_ID_INVALID ((gint64) -1) +void saved_search_id_init (SavedSearchID *self, gint64 id); +gboolean saved_search_id_is_invalid (SavedSearchID *self); +gboolean saved_search_id_is_valid (SavedSearchID *self); +gpointer saved_search_row_ref (gpointer instance); +void saved_search_row_unref (gpointer instance); +GParamSpec* param_spec_saved_search_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_saved_search_row (GValue* value, gpointer v_object); +void value_take_saved_search_row (GValue* value, gpointer v_object); +gpointer value_get_saved_search_row (const GValue* value); +GType saved_search_row_get_type (void) G_GNUC_CONST; +GType search_operator_get_type (void) G_GNUC_CONST; +gpointer search_condition_ref (gpointer instance); +void search_condition_unref (gpointer instance); +GParamSpec* param_spec_search_condition (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_search_condition (GValue* value, gpointer v_object); +void value_take_search_condition (GValue* value, gpointer v_object); +gpointer value_get_search_condition (const GValue* value); +GType search_condition_get_type (void) G_GNUC_CONST; +enum { + SAVED_SEARCH_ROW_DUMMY_PROPERTY +}; +SavedSearchRow* saved_search_row_new (void); +SavedSearchRow* saved_search_row_construct (GType object_type); +static void saved_search_row_finalize (SavedSearchRow* obj); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType saved_search_db_table_get_type (void) G_GNUC_CONST; +enum { + SAVED_SEARCH_DB_TABLE_DUMMY_PROPERTY +}; +static SavedSearchDBTable* saved_search_db_table_new (void); +static SavedSearchDBTable* saved_search_db_table_construct (GType object_type); +DatabaseTable* database_table_construct (GType object_type); +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name); +void database_table_fatal (const gchar* op, gint res); +SavedSearchDBTable* saved_search_db_table_get_instance (void); +GQuark database_error_quark (void); +SavedSearchRow* saved_search_db_table_add (SavedSearchDBTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions, GError** error); +gchar* search_operator_to_string (SearchOperator self); +void database_table_throw_error (const gchar* method, gint res, GError** error); +static void saved_search_db_table_add_condition (SavedSearchDBTable* self, SavedSearchID* id, SearchCondition* condition, GError** error); +GType search_condition_text_get_type (void) G_GNUC_CONST; +GType search_condition_search_type_get_type (void) G_GNUC_CONST; +SearchConditionSearchType search_condition_get_search_type (SearchCondition* self); +gchar* search_condition_search_type_to_string (SearchConditionSearchType self); +GType search_condition_text_context_get_type (void) G_GNUC_CONST; +SearchConditionTextContext search_condition_text_get_context (SearchConditionText* self); +gchar* search_condition_text_context_to_string (SearchConditionTextContext self); +const gchar* search_condition_text_get_text (SearchConditionText* self); +GType search_condition_media_type_get_type (void) G_GNUC_CONST; +GType search_condition_media_type_context_get_type (void) G_GNUC_CONST; +SearchConditionMediaTypeContext search_condition_media_type_get_context (SearchConditionMediaType* self); +gchar* search_condition_media_type_context_to_string (SearchConditionMediaTypeContext self); +GType search_condition_media_type_media_type_get_type (void) G_GNUC_CONST; +SearchConditionMediaTypeMediaType search_condition_media_type_get_media_type (SearchConditionMediaType* self); +gchar* search_condition_media_type_media_type_to_string (SearchConditionMediaTypeMediaType self); +GType search_condition_flagged_get_type (void) G_GNUC_CONST; +GType search_condition_flagged_state_get_type (void) G_GNUC_CONST; +SearchConditionFlaggedState search_condition_flagged_get_state (SearchConditionFlagged* self); +gchar* search_condition_flagged_state_to_string (SearchConditionFlaggedState self); +GType search_condition_modified_get_type (void) G_GNUC_CONST; +GType search_condition_modified_context_get_type (void) G_GNUC_CONST; +SearchConditionModifiedContext search_condition_modified_get_context (SearchConditionModified* self); +gchar* search_condition_modified_context_to_string (SearchConditionModifiedContext self); +GType search_condition_modified_state_get_type (void) G_GNUC_CONST; +SearchConditionModifiedState search_condition_modified_get_state (SearchConditionModified* self); +gchar* search_condition_modified_state_to_string (SearchConditionModifiedState self); +GType search_condition_rating_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +Rating search_condition_rating_get_rating (SearchConditionRating* self); +gint rating_serialize (Rating self); +GType search_condition_rating_context_get_type (void) G_GNUC_CONST; +SearchConditionRatingContext search_condition_rating_get_context (SearchConditionRating* self); +gchar* search_condition_rating_context_to_string (SearchConditionRatingContext self); +GType search_condition_date_get_type (void) G_GNUC_CONST; +GType search_condition_date_context_get_type (void) G_GNUC_CONST; +SearchConditionDateContext search_condition_date_get_context (SearchConditionDate* self); +gchar* search_condition_date_context_to_string (SearchConditionDateContext self); +GDateTime* search_condition_date_get_date_one (SearchConditionDate* self); +GDateTime* search_condition_date_get_date_two (SearchConditionDate* self); +static void saved_search_db_table_remove_conditions_for_search_id (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error); +static void saved_search_db_table_remove_conditions_for_table (SavedSearchDBTable* self, const gchar* table_name, SavedSearchID* search_id, GError** error); +static GeeList* saved_search_db_table_get_conditions_for_id (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error); +SearchConditionSearchType search_condition_search_type_from_string (const gchar* str); +SearchConditionTextContext search_condition_text_context_from_string (const gchar* str); +SearchConditionText* search_condition_text_new (SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context); +SearchConditionText* search_condition_text_construct (GType object_type, SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context); +SearchConditionMediaTypeContext search_condition_media_type_context_from_string (const gchar* str); +SearchConditionMediaTypeMediaType search_condition_media_type_media_type_from_string (const gchar* str); +SearchConditionMediaType* search_condition_media_type_new (SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type); +SearchConditionMediaType* search_condition_media_type_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type); +SearchConditionFlaggedState search_condition_flagged_state_from_string (const gchar* str); +SearchConditionFlagged* search_condition_flagged_new (SearchConditionSearchType search_type, SearchConditionFlaggedState state); +SearchConditionFlagged* search_condition_flagged_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionFlaggedState state); +SearchConditionModifiedContext search_condition_modified_context_from_string (const gchar* str); +SearchConditionModifiedState search_condition_modified_state_from_string (const gchar* str); +SearchConditionModified* search_condition_modified_new (SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state); +SearchConditionModified* search_condition_modified_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state); +Rating rating_unserialize (gint value); +SearchConditionRatingContext search_condition_rating_context_from_string (const gchar* str); +SearchConditionRating* search_condition_rating_new (SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context); +SearchConditionRating* search_condition_rating_construct (GType object_type, SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context); +SearchConditionDateContext search_condition_date_context_from_string (const gchar* str); +SearchConditionDate* search_condition_date_new (SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two); +SearchConditionDate* search_condition_date_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two); +void saved_search_db_table_create_from_row (SavedSearchDBTable* self, SavedSearchRow* row, SavedSearchID* result, GError** error); +void saved_search_db_table_remove (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error); +void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error); +SavedSearchRow* saved_search_db_table_get_row (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error); +SearchOperator search_operator_from_string (const gchar* str); +GeeList* saved_search_db_table_get_all_rows (SavedSearchDBTable* self, GError** error); +void saved_search_db_table_rename (SavedSearchDBTable* self, SavedSearchID* search_id, const gchar* new_name, GError** error); +void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error); +static void saved_search_db_table_finalize (DatabaseTable* obj); + + +void saved_search_id_init (SavedSearchID *self, gint64 id) { + gint64 _tmp0_ = 0LL; +#line 12 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + memset (self, 0, sizeof (SavedSearchID)); +#line 13 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = id; +#line 13 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + (*self).id = _tmp0_; +#line 434 "SavedSearchDBTable.c" +} + + +gboolean saved_search_id_is_invalid (SavedSearchID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 17 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = (*self).id; +#line 17 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + result = _tmp0_ == SAVED_SEARCH_ID_INVALID; +#line 17 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return result; +#line 447 "SavedSearchDBTable.c" +} + + +gboolean saved_search_id_is_valid (SavedSearchID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 21 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = (*self).id; +#line 21 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + result = _tmp0_ != SAVED_SEARCH_ID_INVALID; +#line 21 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return result; +#line 460 "SavedSearchDBTable.c" +} + + +SavedSearchID* saved_search_id_dup (const SavedSearchID* self) { + SavedSearchID* dup; +#line 7 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + dup = g_new0 (SavedSearchID, 1); +#line 7 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + memcpy (dup, self, sizeof (SavedSearchID)); +#line 7 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return dup; +#line 472 "SavedSearchDBTable.c" +} + + +void saved_search_id_free (SavedSearchID* self) { +#line 7 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_free (self); +#line 479 "SavedSearchDBTable.c" +} + + +GType saved_search_id_get_type (void) { + static volatile gsize saved_search_id_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_id_type_id__volatile)) { + GType saved_search_id_type_id; + saved_search_id_type_id = g_boxed_type_register_static ("SavedSearchID", (GBoxedCopyFunc) saved_search_id_dup, (GBoxedFreeFunc) saved_search_id_free); + g_once_init_leave (&saved_search_id_type_id__volatile, saved_search_id_type_id); + } + return saved_search_id_type_id__volatile; +} + + +SavedSearchRow* saved_search_row_construct (GType object_type) { + SavedSearchRow* self = NULL; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + self = (SavedSearchRow*) g_type_create_instance (object_type); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return self; +#line 500 "SavedSearchDBTable.c" +} + + +SavedSearchRow* saved_search_row_new (void) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return saved_search_row_construct (TYPE_SAVED_SEARCH_ROW); +#line 507 "SavedSearchDBTable.c" +} + + +static void value_saved_search_row_init (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + value->data[0].v_pointer = NULL; +#line 514 "SavedSearchDBTable.c" +} + + +static void value_saved_search_row_free_value (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_row_unref (value->data[0].v_pointer); +#line 523 "SavedSearchDBTable.c" + } +} + + +static void value_saved_search_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (src_value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + dest_value->data[0].v_pointer = saved_search_row_ref (src_value->data[0].v_pointer); +#line 533 "SavedSearchDBTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 537 "SavedSearchDBTable.c" + } +} + + +static gpointer value_saved_search_row_peek_pointer (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return value->data[0].v_pointer; +#line 545 "SavedSearchDBTable.c" +} + + +static gchar* value_saved_search_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (collect_values[0].v_pointer) { +#line 552 "SavedSearchDBTable.c" + SavedSearchRow* object; + object = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 559 "SavedSearchDBTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 563 "SavedSearchDBTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + value->data[0].v_pointer = saved_search_row_ref (object); +#line 567 "SavedSearchDBTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + value->data[0].v_pointer = NULL; +#line 571 "SavedSearchDBTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 575 "SavedSearchDBTable.c" +} + + +static gchar* value_saved_search_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SavedSearchRow** object_p; + object_p = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!object_p) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 586 "SavedSearchDBTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + *object_p = NULL; +#line 592 "SavedSearchDBTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + *object_p = value->data[0].v_pointer; +#line 596 "SavedSearchDBTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + *object_p = saved_search_row_ref (value->data[0].v_pointer); +#line 600 "SavedSearchDBTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 604 "SavedSearchDBTable.c" +} + + +GParamSpec* param_spec_saved_search_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSavedSearchRow* spec; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SAVED_SEARCH_ROW), NULL); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return G_PARAM_SPEC (spec); +#line 618 "SavedSearchDBTable.c" +} + + +gpointer value_get_saved_search_row (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_ROW), NULL); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return value->data[0].v_pointer; +#line 627 "SavedSearchDBTable.c" +} + + +void value_set_saved_search_row (GValue* value, gpointer v_object) { + SavedSearchRow* old; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + value->data[0].v_pointer = v_object; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_row_ref (value->data[0].v_pointer); +#line 647 "SavedSearchDBTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + value->data[0].v_pointer = NULL; +#line 651 "SavedSearchDBTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_row_unref (old); +#line 657 "SavedSearchDBTable.c" + } +} + + +void value_take_saved_search_row (GValue* value, gpointer v_object) { + SavedSearchRow* old; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + value->data[0].v_pointer = v_object; +#line 676 "SavedSearchDBTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + value->data[0].v_pointer = NULL; +#line 680 "SavedSearchDBTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_row_unref (old); +#line 686 "SavedSearchDBTable.c" + } +} + + +static void saved_search_row_class_init (SavedSearchRowClass * klass) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_row_parent_class = g_type_class_peek_parent (klass); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + ((SavedSearchRowClass *) klass)->finalize = saved_search_row_finalize; +#line 696 "SavedSearchDBTable.c" +} + + +static void saved_search_row_instance_init (SavedSearchRow * self) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + self->ref_count = 1; +#line 703 "SavedSearchDBTable.c" +} + + +static void saved_search_row_finalize (SavedSearchRow* obj) { + SavedSearchRow * self; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_ROW, SavedSearchRow); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_signal_handlers_destroy (self); +#line 28 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_free0 (self->name); +#line 30 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (self->conditions); +#line 717 "SavedSearchDBTable.c" +} + + +GType saved_search_row_get_type (void) { + static volatile gsize saved_search_row_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_saved_search_row_init, value_saved_search_row_free_value, value_saved_search_row_copy_value, value_saved_search_row_peek_pointer, "p", value_saved_search_row_collect_value, "p", value_saved_search_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchRow), 0, (GInstanceInitFunc) saved_search_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType saved_search_row_type_id; + saved_search_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchRow", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&saved_search_row_type_id__volatile, saved_search_row_type_id); + } + return saved_search_row_type_id__volatile; +} + + +gpointer saved_search_row_ref (gpointer instance) { + SavedSearchRow* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return instance; +#line 742 "SavedSearchDBTable.c" +} + + +void saved_search_row_unref (gpointer instance) { + SavedSearchRow* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + SAVED_SEARCH_ROW_GET_CLASS (self)->finalize (self); +#line 25 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 755 "SavedSearchDBTable.c" + } +} + + +static SavedSearchDBTable* saved_search_db_table_construct (GType object_type) { + SavedSearchDBTable* self = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3* _tmp8_ = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + sqlite3* _tmp16_ = NULL; + sqlite3_stmt* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + sqlite3_stmt* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + sqlite3* _tmp24_ = NULL; + sqlite3_stmt* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + sqlite3* _tmp32_ = NULL; + sqlite3_stmt* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + sqlite3* _tmp40_ = NULL; + sqlite3_stmt* _tmp41_ = NULL; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + sqlite3_stmt* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + sqlite3* _tmp48_ = NULL; + sqlite3_stmt* _tmp49_ = NULL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + sqlite3_stmt* _tmp52_ = NULL; + gint _tmp53_ = 0; + gint _tmp54_ = 0; + sqlite3* _tmp56_ = NULL; + sqlite3_stmt* _tmp57_ = NULL; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + sqlite3_stmt* _tmp60_ = NULL; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + sqlite3* _tmp64_ = NULL; + sqlite3_stmt* _tmp65_ = NULL; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + sqlite3_stmt* _tmp68_ = NULL; + gint _tmp69_ = 0; + gint _tmp70_ = 0; + sqlite3* _tmp72_ = NULL; + sqlite3_stmt* _tmp73_ = NULL; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + sqlite3_stmt* _tmp76_ = NULL; + gint _tmp77_ = 0; + gint _tmp78_ = 0; + sqlite3* _tmp80_ = NULL; + sqlite3_stmt* _tmp81_ = NULL; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + sqlite3_stmt* _tmp84_ = NULL; + gint _tmp85_ = 0; + gint _tmp86_ = 0; + sqlite3* _tmp88_ = NULL; + sqlite3_stmt* _tmp89_ = NULL; + gint _tmp90_ = 0; + gint _tmp91_ = 0; + sqlite3_stmt* _tmp92_ = NULL; + gint _tmp93_ = 0; + gint _tmp94_ = 0; + sqlite3* _tmp96_ = NULL; + sqlite3_stmt* _tmp97_ = NULL; + gint _tmp98_ = 0; + gint _tmp99_ = 0; + sqlite3_stmt* _tmp100_ = NULL; + gint _tmp101_ = 0; + gint _tmp102_ = 0; +#line 36 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + self = (SavedSearchDBTable*) database_table_construct (object_type); +#line 37 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), "SavedSearchDBTable"); +#line 41 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = database_table_db; +#line 41 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "CREATE TABLE IF NOT EXISTS " "SavedSearchDBTable " "(" "id INTEGER PRIMARY KEY, " "name TEXT UNIQUE NOT NULL, " "operator TEXT NOT NULL" ")", -1, &_tmp1_, NULL); +#line 41 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 41 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = res; +#line 48 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 50 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp4_ = stmt; +#line 50 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 50 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp5_; +#line 51 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp6_ = res; +#line 51 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp6_ != SQLITE_DONE) { +#line 883 "SavedSearchDBTable.c" + gint _tmp7_ = 0; +#line 52 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp7_ = res; +#line 52 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable", _tmp7_); +#line 889 "SavedSearchDBTable.c" + } +#line 55 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp8_ = database_table_db; +#line 55 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = sqlite3_prepare_v2 (_tmp8_, "CREATE TABLE IF NOT EXISTS " "SavedSearchDBTable_Text " "(" "id INTEGER PRIMARY KEY, " "search_id INTEGER NOT NULL, " "search_type TEXT NOT NULL, " "context TEXT NOT NULL, " "text TEXT" ")", -1, &_tmp9_, NULL); +#line 55 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 55 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp9_; +#line 55 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp10_; +#line 64 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp11_ = res; +#line 64 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 66 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp12_ = stmt; +#line 66 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp13_ = sqlite3_step (_tmp12_); +#line 66 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp13_; +#line 67 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp14_ = res; +#line 67 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp14_ != SQLITE_DONE) { +#line 915 "SavedSearchDBTable.c" + gint _tmp15_ = 0; +#line 68 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_ = res; +#line 68 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Text", _tmp15_); +#line 921 "SavedSearchDBTable.c" + } +#line 71 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp16_ = database_table_db; +#line 71 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp18_ = sqlite3_prepare_v2 (_tmp16_, "CREATE TABLE IF NOT EXISTS " "SavedSearchDBTable_MediaType " "(" "id INTEGER PRIMARY KEY, " "search_id INTEGER NOT NULL, " "search_type TEXT NOT NULL, " "context TEXT NOT NULL, " "type TEXT NOT_NULL" ")", -1, &_tmp17_, NULL); +#line 71 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 71 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp17_; +#line 71 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp18_; +#line 80 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_ = res; +#line 80 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp19_ == SQLITE_OK, "res == Sqlite.OK"); +#line 82 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp20_ = stmt; +#line 82 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp21_ = sqlite3_step (_tmp20_); +#line 82 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp21_; +#line 83 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp22_ = res; +#line 83 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp22_ != SQLITE_DONE) { +#line 947 "SavedSearchDBTable.c" + gint _tmp23_ = 0; +#line 84 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp23_ = res; +#line 84 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_MediaType", _tmp23_); +#line 953 "SavedSearchDBTable.c" + } +#line 87 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp24_ = database_table_db; +#line 87 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp26_ = sqlite3_prepare_v2 (_tmp24_, "CREATE TABLE IF NOT EXISTS " "SavedSearchDBTable_Flagged " "(" "id INTEGER PRIMARY KEY, " "search_id INTEGER NOT NULL, " "search_type TEXT NOT NULL, " "flag_state TEXT NOT NULL" ")", -1, &_tmp25_, NULL); +#line 87 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 87 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp25_; +#line 87 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp26_; +#line 95 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp27_ = res; +#line 95 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp27_ == SQLITE_OK, "res == Sqlite.OK"); +#line 97 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp28_ = stmt; +#line 97 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp29_ = sqlite3_step (_tmp28_); +#line 97 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp29_; +#line 98 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp30_ = res; +#line 98 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp30_ != SQLITE_DONE) { +#line 979 "SavedSearchDBTable.c" + gint _tmp31_ = 0; +#line 99 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp31_ = res; +#line 99 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Flagged", _tmp31_); +#line 985 "SavedSearchDBTable.c" + } +#line 102 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp32_ = database_table_db; +#line 102 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp34_ = sqlite3_prepare_v2 (_tmp32_, "CREATE TABLE IF NOT EXISTS " "SavedSearchDBTable_Modified " "(" "id INTEGER PRIMARY KEY, " "search_id INTEGER NOT NULL, " "search_type TEXT NOT NULL, " "context TEXT NOT NULL, " "modified_state TEXT NOT NULL" ")", -1, &_tmp33_, NULL); +#line 102 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 102 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp33_; +#line 102 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp34_; +#line 111 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp35_ = res; +#line 111 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp35_ == SQLITE_OK, "res == Sqlite.OK"); +#line 113 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp36_ = stmt; +#line 113 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp37_ = sqlite3_step (_tmp36_); +#line 113 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp37_; +#line 114 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp38_ = res; +#line 114 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp38_ != SQLITE_DONE) { +#line 1011 "SavedSearchDBTable.c" + gint _tmp39_ = 0; +#line 115 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp39_ = res; +#line 115 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Modified", _tmp39_); +#line 1017 "SavedSearchDBTable.c" + } +#line 118 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp40_ = database_table_db; +#line 118 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp42_ = sqlite3_prepare_v2 (_tmp40_, "CREATE TABLE IF NOT EXISTS " "SavedSearchDBTable_Rating " "(" "id INTEGER PRIMARY KEY, " "search_id INTEGER NOT NULL, " "search_type TEXT NOT NULL, " "rating INTEGER NOT_NULL, " "context TEXT NOT NULL" ")", -1, &_tmp41_, NULL); +#line 118 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 118 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp41_; +#line 118 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp42_; +#line 127 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp43_ = res; +#line 127 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp43_ == SQLITE_OK, "res == Sqlite.OK"); +#line 129 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp44_ = stmt; +#line 129 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp45_ = sqlite3_step (_tmp44_); +#line 129 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp45_; +#line 130 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp46_ = res; +#line 130 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp46_ != SQLITE_DONE) { +#line 1043 "SavedSearchDBTable.c" + gint _tmp47_ = 0; +#line 131 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp47_ = res; +#line 131 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Rating", _tmp47_); +#line 1049 "SavedSearchDBTable.c" + } +#line 134 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp48_ = database_table_db; +#line 134 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp50_ = sqlite3_prepare_v2 (_tmp48_, "CREATE TABLE IF NOT EXISTS " "SavedSearchDBTable_Date " "(" "id INTEGER PRIMARY KEY, " "search_id INTEGER NOT NULL, " "search_type TEXT NOT NULL, " "context TEXT NOT NULL, " "date_one INTEGER NOT_NULL, " "date_two INTEGER NOT_NULL" ")", -1, &_tmp49_, NULL); +#line 134 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 134 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp49_; +#line 134 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp50_; +#line 144 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp51_ = res; +#line 144 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp51_ == SQLITE_OK, "res == Sqlite.OK"); +#line 146 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp52_ = stmt; +#line 146 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp53_ = sqlite3_step (_tmp52_); +#line 146 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp53_; +#line 147 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp54_ = res; +#line 147 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp54_ != SQLITE_DONE) { +#line 1075 "SavedSearchDBTable.c" + gint _tmp55_ = 0; +#line 148 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp55_ = res; +#line 148 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Rating", _tmp55_); +#line 1081 "SavedSearchDBTable.c" + } +#line 151 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp56_ = database_table_db; +#line 151 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp58_ = sqlite3_prepare_v2 (_tmp56_, "CREATE INDEX IF NOT EXISTS " "SavedSearchDBTable_Text_Index " "ON SavedSearchDBTable_Text(search_id)", -1, &_tmp57_, NULL); +#line 151 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 151 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp57_; +#line 151 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp58_; +#line 154 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp59_ = res; +#line 154 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp59_ == SQLITE_OK, "res == Sqlite.OK"); +#line 155 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp60_ = stmt; +#line 155 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp61_ = sqlite3_step (_tmp60_); +#line 155 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp61_; +#line 156 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp62_ = res; +#line 156 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp62_ != SQLITE_DONE) { +#line 1107 "SavedSearchDBTable.c" + gint _tmp63_ = 0; +#line 157 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp63_ = res; +#line 157 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Text_Index", _tmp63_); +#line 1113 "SavedSearchDBTable.c" + } +#line 159 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp64_ = database_table_db; +#line 159 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp66_ = sqlite3_prepare_v2 (_tmp64_, "CREATE INDEX IF NOT EXISTS " "SavedSearchDBTable_MediaType_Index " "ON SavedSearchDBTable_MediaType(search_id)", -1, &_tmp65_, NULL); +#line 159 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 159 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp65_; +#line 159 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp66_; +#line 162 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp67_ = res; +#line 162 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp67_ == SQLITE_OK, "res == Sqlite.OK"); +#line 163 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp68_ = stmt; +#line 163 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp69_ = sqlite3_step (_tmp68_); +#line 163 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp69_; +#line 164 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp70_ = res; +#line 164 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp70_ != SQLITE_DONE) { +#line 1139 "SavedSearchDBTable.c" + gint _tmp71_ = 0; +#line 165 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp71_ = res; +#line 165 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_MediaType_Index", _tmp71_); +#line 1145 "SavedSearchDBTable.c" + } +#line 167 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp72_ = database_table_db; +#line 167 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp74_ = sqlite3_prepare_v2 (_tmp72_, "CREATE INDEX IF NOT EXISTS " "SavedSearchDBTable_Flagged_Index " "ON SavedSearchDBTable_Flagged(search_id)", -1, &_tmp73_, NULL); +#line 167 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 167 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp73_; +#line 167 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp74_; +#line 170 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp75_ = res; +#line 170 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp75_ == SQLITE_OK, "res == Sqlite.OK"); +#line 171 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp76_ = stmt; +#line 171 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp77_ = sqlite3_step (_tmp76_); +#line 171 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp77_; +#line 172 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp78_ = res; +#line 172 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp78_ != SQLITE_DONE) { +#line 1171 "SavedSearchDBTable.c" + gint _tmp79_ = 0; +#line 173 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp79_ = res; +#line 173 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Flagged_Index", _tmp79_); +#line 1177 "SavedSearchDBTable.c" + } +#line 175 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp80_ = database_table_db; +#line 175 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp82_ = sqlite3_prepare_v2 (_tmp80_, "CREATE INDEX IF NOT EXISTS " "SavedSearchDBTable_Modified_Index " "ON SavedSearchDBTable_Modified(search_id)", -1, &_tmp81_, NULL); +#line 175 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 175 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp81_; +#line 175 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp82_; +#line 178 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp83_ = res; +#line 178 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp83_ == SQLITE_OK, "res == Sqlite.OK"); +#line 179 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp84_ = stmt; +#line 179 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp85_ = sqlite3_step (_tmp84_); +#line 179 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp85_; +#line 180 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp86_ = res; +#line 180 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp86_ != SQLITE_DONE) { +#line 1203 "SavedSearchDBTable.c" + gint _tmp87_ = 0; +#line 181 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp87_ = res; +#line 181 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Modified_Index", _tmp87_); +#line 1209 "SavedSearchDBTable.c" + } +#line 183 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp88_ = database_table_db; +#line 183 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp90_ = sqlite3_prepare_v2 (_tmp88_, "CREATE INDEX IF NOT EXISTS " "SavedSearchDBTable_Rating_Index " "ON SavedSearchDBTable_Rating(search_id)", -1, &_tmp89_, NULL); +#line 183 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 183 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp89_; +#line 183 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp90_; +#line 186 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp91_ = res; +#line 186 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp91_ == SQLITE_OK, "res == Sqlite.OK"); +#line 187 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp92_ = stmt; +#line 187 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp93_ = sqlite3_step (_tmp92_); +#line 187 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp93_; +#line 188 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp94_ = res; +#line 188 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp94_ != SQLITE_DONE) { +#line 1235 "SavedSearchDBTable.c" + gint _tmp95_ = 0; +#line 189 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp95_ = res; +#line 189 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Rating_Index", _tmp95_); +#line 1241 "SavedSearchDBTable.c" + } +#line 191 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp96_ = database_table_db; +#line 191 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp98_ = sqlite3_prepare_v2 (_tmp96_, "CREATE INDEX IF NOT EXISTS " "SavedSearchDBTable_Date_Index " "ON SavedSearchDBTable_Date(search_id)", -1, &_tmp97_, NULL); +#line 191 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 191 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp97_; +#line 191 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp98_; +#line 194 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp99_ = res; +#line 194 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp99_ == SQLITE_OK, "res == Sqlite.OK"); +#line 195 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp100_ = stmt; +#line 195 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp101_ = sqlite3_step (_tmp100_); +#line 195 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp101_; +#line 196 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp102_ = res; +#line 196 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp102_ != SQLITE_DONE) { +#line 1267 "SavedSearchDBTable.c" + gint _tmp103_ = 0; +#line 197 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp103_ = res; +#line 197 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_fatal ("create SavedSearchDBTable_Date_Index", _tmp103_); +#line 1273 "SavedSearchDBTable.c" + } +#line 36 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 36 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return self; +#line 1279 "SavedSearchDBTable.c" +} + + +static SavedSearchDBTable* saved_search_db_table_new (void) { +#line 36 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return saved_search_db_table_construct (TYPE_SAVED_SEARCH_DB_TABLE); +#line 1286 "SavedSearchDBTable.c" +} + + +static gpointer _database_table_ref0 (gpointer self) { +#line 204 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return self ? database_table_ref (self) : NULL; +#line 1293 "SavedSearchDBTable.c" +} + + +SavedSearchDBTable* saved_search_db_table_get_instance (void) { + SavedSearchDBTable* result = NULL; + SavedSearchDBTable* _tmp0_ = NULL; + SavedSearchDBTable* _tmp2_ = NULL; + SavedSearchDBTable* _tmp3_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = saved_search_db_table_instance; +#line 201 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp0_ == NULL) { +#line 1306 "SavedSearchDBTable.c" + SavedSearchDBTable* _tmp1_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp1_ = saved_search_db_table_new (); +#line 202 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _database_table_unref0 (saved_search_db_table_instance); +#line 202 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_instance = _tmp1_; +#line 1314 "SavedSearchDBTable.c" + } +#line 204 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = saved_search_db_table_instance; +#line 204 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = _database_table_ref0 (_tmp2_); +#line 204 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + result = _tmp3_; +#line 204 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return result; +#line 1324 "SavedSearchDBTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 227 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return self ? g_object_ref (self) : NULL; +#line 1331 "SavedSearchDBTable.c" +} + + +SavedSearchRow* saved_search_db_table_add (SavedSearchDBTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions, GError** error) { + SavedSearchRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + sqlite3_stmt* _tmp10_ = NULL; + SearchOperator _tmp11_ = 0; + gchar* _tmp12_ = NULL; + GDestroyNotify _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + sqlite3_stmt* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + SavedSearchRow* row = NULL; + SavedSearchRow* _tmp20_ = NULL; + SavedSearchRow* _tmp21_ = NULL; + sqlite3* _tmp22_ = NULL; + gint64 _tmp23_ = 0LL; + SavedSearchRow* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + SavedSearchRow* _tmp27_ = NULL; + SearchOperator _tmp28_ = 0; + SavedSearchRow* _tmp29_ = NULL; + GeeArrayList* _tmp30_ = NULL; + GeeList* _tmp31_ = NULL; + GError * _inner_error_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_DB_TABLE (self), NULL); +#line 207 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 207 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (GEE_IS_ARRAY_LIST (conditions), NULL); +#line 210 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = database_table_db; +#line 210 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO SavedSearchDBTable (name, operator) VALUES (?, ?)", -1, &_tmp1_, NULL); +#line 210 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 210 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp1_; +#line 210 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp2_; +#line 212 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = res; +#line 212 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 214 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp4_ = stmt; +#line 214 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = name; +#line 214 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 214 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp7_ = g_free; +#line 214 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp8_ = sqlite3_bind_text (_tmp4_, 1, _tmp6_, -1, _tmp7_); +#line 214 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp8_; +#line 215 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp9_ = res; +#line 215 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 216 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = stmt; +#line 216 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp11_ = operator; +#line 216 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp12_ = search_operator_to_string (_tmp11_); +#line 216 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp13_ = g_free; +#line 216 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp14_ = sqlite3_bind_text (_tmp10_, 2, _tmp12_, -1, _tmp13_); +#line 216 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp14_; +#line 217 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_ = res; +#line 217 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp15_ == SQLITE_OK, "res == Sqlite.OK"); +#line 219 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp16_ = stmt; +#line 219 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp17_ = sqlite3_step (_tmp16_); +#line 219 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp17_; +#line 220 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp18_ = res; +#line 220 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp18_ != SQLITE_DONE) { +#line 1434 "SavedSearchDBTable.c" + gint _tmp19_ = 0; +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_ = res; +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable.add", _tmp19_, &_inner_error_); +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 1450 "SavedSearchDBTable.c" + } else { +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 221 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 1460 "SavedSearchDBTable.c" + } + } + } +#line 223 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp20_ = saved_search_row_new (); +#line 223 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + row = _tmp20_; +#line 224 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp21_ = row; +#line 224 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp22_ = database_table_db; +#line 224 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp23_ = sqlite3_last_insert_rowid (_tmp22_); +#line 224 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_id_init (&_tmp21_->search_id, _tmp23_); +#line 225 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp24_ = row; +#line 225 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp25_ = name; +#line 225 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp26_ = g_strdup (_tmp25_); +#line 225 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_free0 (_tmp24_->name); +#line 225 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp24_->name = _tmp26_; +#line 226 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp27_ = row; +#line 226 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp28_ = operator; +#line 226 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp27_->operator = _tmp28_; +#line 227 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp29_ = row; +#line 227 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp30_ = conditions; +#line 227 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp31_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_LIST, GeeList)); +#line 227 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_tmp29_->conditions); +#line 227 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp29_->conditions = _tmp31_; +#line 1502 "SavedSearchDBTable.c" + { + GeeArrayList* _sc_list = NULL; + GeeArrayList* _tmp32_ = NULL; + GeeArrayList* _tmp33_ = NULL; + gint _sc_size = 0; + GeeArrayList* _tmp34_ = NULL; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gint _sc_index = 0; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp32_ = conditions; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp33_ = _g_object_ref0 (_tmp32_); +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sc_list = _tmp33_; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp34_ = _sc_list; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp35_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp36_ = _tmp35_; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sc_size = _tmp36_; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sc_index = -1; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 1530 "SavedSearchDBTable.c" + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + SearchCondition* sc = NULL; + GeeArrayList* _tmp40_ = NULL; + gint _tmp41_ = 0; + gpointer _tmp42_ = NULL; + SavedSearchRow* _tmp43_ = NULL; + SavedSearchID _tmp44_ = {0}; + SearchCondition* _tmp45_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp37_ = _sc_index; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sc_index = _tmp37_ + 1; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp38_ = _sc_index; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp39_ = _sc_size; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!(_tmp38_ < _tmp39_)) { +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 1553 "SavedSearchDBTable.c" + } +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp40_ = _sc_list; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp41_ = _sc_index; +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp42_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp41_); +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + sc = (SearchCondition*) _tmp42_; +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp43_ = row; +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp44_ = _tmp43_->search_id; +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp45_ = sc; +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_add_condition (self, &_tmp44_, _tmp45_, &_inner_error_); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (sc); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_sc_list); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _saved_search_row_unref0 (row); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 1587 "SavedSearchDBTable.c" + } else { +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (sc); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_sc_list); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _saved_search_row_unref0 (row); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 230 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 1603 "SavedSearchDBTable.c" + } + } +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (sc); +#line 1608 "SavedSearchDBTable.c" + } +#line 229 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_sc_list); +#line 1612 "SavedSearchDBTable.c" + } +#line 233 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + result = row; +#line 233 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 233 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return result; +#line 1620 "SavedSearchDBTable.c" +} + + +static gpointer _search_condition_ref0 (gpointer self) { +#line 238 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return self ? search_condition_ref (self) : NULL; +#line 1627 "SavedSearchDBTable.c" +} + + +static void saved_search_db_table_add_condition (SavedSearchDBTable* self, SavedSearchID* id, SearchCondition* condition, GError** error) { + SearchCondition* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (IS_SAVED_SEARCH_DB_TABLE (self)); +#line 236 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (id != NULL); +#line 236 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (IS_SEARCH_CONDITION (condition)); +#line 237 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = condition; +#line 237 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_TEXT)) { +#line 1644 "SavedSearchDBTable.c" + SearchConditionText* text = NULL; + SearchCondition* _tmp1_ = NULL; + SearchConditionText* _tmp2_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3_stmt* _tmp7_ = NULL; + SavedSearchID _tmp8_ = {0}; + gint64 _tmp9_ = 0LL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + SearchConditionText* _tmp13_ = NULL; + SearchConditionSearchType _tmp14_ = 0; + SearchConditionSearchType _tmp15_ = 0; + gchar* _tmp16_ = NULL; + GDestroyNotify _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + sqlite3_stmt* _tmp20_ = NULL; + SearchConditionText* _tmp21_ = NULL; + SearchConditionTextContext _tmp22_ = 0; + SearchConditionTextContext _tmp23_ = 0; + gchar* _tmp24_ = NULL; + GDestroyNotify _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + sqlite3_stmt* _tmp28_ = NULL; + SearchConditionText* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + GDestroyNotify _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + sqlite3_stmt* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; +#line 238 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp1_ = condition; +#line 238 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_SEARCH_CONDITION_TEXT) ? ((SearchConditionText*) _tmp1_) : NULL); +#line 238 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + text = _tmp2_; +#line 240 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = database_table_db; +#line 240 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp3_, "INSERT INTO SavedSearchDBTable_Text (search_id, search_type, context, " "text) VALUES (?, ?, ?, ?)", -1, &_tmp4_, NULL); +#line 240 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 240 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp4_; +#line 240 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp5_; +#line 243 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp6_ = res; +#line 243 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK"); +#line 245 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp7_ = stmt; +#line 245 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp8_ = *id; +#line 245 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp9_ = _tmp8_.id; +#line 245 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = sqlite3_bind_int64 (_tmp7_, 1, _tmp9_); +#line 245 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp10_; +#line 246 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp11_ = res; +#line 246 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 248 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp12_ = stmt; +#line 248 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp13_ = text; +#line 248 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp14_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 248 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_ = _tmp14_; +#line 248 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp16_ = search_condition_search_type_to_string (_tmp15_); +#line 248 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp17_ = g_free; +#line 248 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp18_ = sqlite3_bind_text (_tmp12_, 2, _tmp16_, -1, _tmp17_); +#line 248 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp18_; +#line 249 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_ = res; +#line 249 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp19_ == SQLITE_OK, "res == Sqlite.OK"); +#line 251 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp20_ = stmt; +#line 251 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp21_ = text; +#line 251 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp22_ = search_condition_text_get_context (_tmp21_); +#line 251 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp23_ = _tmp22_; +#line 251 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp24_ = search_condition_text_context_to_string (_tmp23_); +#line 251 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp25_ = g_free; +#line 251 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp26_ = sqlite3_bind_text (_tmp20_, 3, _tmp24_, -1, _tmp25_); +#line 251 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp26_; +#line 252 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp27_ = res; +#line 252 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp27_ == SQLITE_OK, "res == Sqlite.OK"); +#line 254 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp28_ = stmt; +#line 254 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp29_ = text; +#line 254 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp30_ = search_condition_text_get_text (_tmp29_); +#line 254 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp31_ = _tmp30_; +#line 254 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp32_ = g_strdup (_tmp31_); +#line 254 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp33_ = g_free; +#line 254 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp34_ = sqlite3_bind_text (_tmp28_, 4, _tmp32_, -1, _tmp33_); +#line 254 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp34_; +#line 255 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp35_ = res; +#line 255 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp35_ == SQLITE_OK, "res == Sqlite.OK"); +#line 257 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp36_ = stmt; +#line 257 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp37_ = sqlite3_step (_tmp36_); +#line 257 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp37_; +#line 258 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp38_ = res; +#line 258 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp38_ != SQLITE_DONE) { +#line 1790 "SavedSearchDBTable.c" + gint _tmp39_ = 0; +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp39_ = res; +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Text.add", _tmp39_, &_inner_error_); +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (text); +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 1808 "SavedSearchDBTable.c" + } else { +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (text); +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 259 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 1820 "SavedSearchDBTable.c" + } + } + } +#line 237 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 237 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (text); +#line 1828 "SavedSearchDBTable.c" + } else { + SearchCondition* _tmp40_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp40_ = condition; +#line 260 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, TYPE_SEARCH_CONDITION_MEDIA_TYPE)) { +#line 1835 "SavedSearchDBTable.c" + SearchConditionMediaType* media_type = NULL; + SearchCondition* _tmp41_ = NULL; + SearchConditionMediaType* _tmp42_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp43_ = NULL; + sqlite3_stmt* _tmp44_ = NULL; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + sqlite3_stmt* _tmp47_ = NULL; + SavedSearchID _tmp48_ = {0}; + gint64 _tmp49_ = 0LL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + sqlite3_stmt* _tmp52_ = NULL; + SearchConditionMediaType* _tmp53_ = NULL; + SearchConditionSearchType _tmp54_ = 0; + SearchConditionSearchType _tmp55_ = 0; + gchar* _tmp56_ = NULL; + GDestroyNotify _tmp57_ = NULL; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + sqlite3_stmt* _tmp60_ = NULL; + SearchConditionMediaType* _tmp61_ = NULL; + SearchConditionMediaTypeContext _tmp62_ = 0; + SearchConditionMediaTypeContext _tmp63_ = 0; + gchar* _tmp64_ = NULL; + GDestroyNotify _tmp65_ = NULL; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + sqlite3_stmt* _tmp68_ = NULL; + SearchConditionMediaType* _tmp69_ = NULL; + SearchConditionMediaTypeMediaType _tmp70_ = 0; + SearchConditionMediaTypeMediaType _tmp71_ = 0; + gchar* _tmp72_ = NULL; + GDestroyNotify _tmp73_ = NULL; + gint _tmp74_ = 0; + gint _tmp75_ = 0; + sqlite3_stmt* _tmp76_ = NULL; + gint _tmp77_ = 0; + gint _tmp78_ = 0; +#line 261 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp41_ = condition; +#line 261 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp42_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp41_, TYPE_SEARCH_CONDITION_MEDIA_TYPE) ? ((SearchConditionMediaType*) _tmp41_) : NULL); +#line 261 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + media_type = _tmp42_; +#line 263 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp43_ = database_table_db; +#line 263 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp45_ = sqlite3_prepare_v2 (_tmp43_, "INSERT INTO SavedSearchDBTable_MediaType (search_id, search_type, cont" \ +"ext, " "type) VALUES (?, ?, ?, ?)", -1, &_tmp44_, NULL); +#line 263 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 263 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp44_; +#line 263 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp45_; +#line 266 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp46_ = res; +#line 266 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp46_ == SQLITE_OK, "res == Sqlite.OK"); +#line 268 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp47_ = stmt; +#line 268 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp48_ = *id; +#line 268 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp49_ = _tmp48_.id; +#line 268 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp50_ = sqlite3_bind_int64 (_tmp47_, 1, _tmp49_); +#line 268 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp50_; +#line 269 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp51_ = res; +#line 269 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp51_ == SQLITE_OK, "res == Sqlite.OK"); +#line 271 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp52_ = stmt; +#line 271 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp53_ = media_type; +#line 271 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp54_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 271 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp55_ = _tmp54_; +#line 271 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp56_ = search_condition_search_type_to_string (_tmp55_); +#line 271 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp57_ = g_free; +#line 271 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp58_ = sqlite3_bind_text (_tmp52_, 2, _tmp56_, -1, _tmp57_); +#line 271 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp58_; +#line 272 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp59_ = res; +#line 272 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp59_ == SQLITE_OK, "res == Sqlite.OK"); +#line 274 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp60_ = stmt; +#line 274 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp61_ = media_type; +#line 274 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp62_ = search_condition_media_type_get_context (_tmp61_); +#line 274 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp63_ = _tmp62_; +#line 274 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp64_ = search_condition_media_type_context_to_string (_tmp63_); +#line 274 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp65_ = g_free; +#line 274 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp66_ = sqlite3_bind_text (_tmp60_, 3, _tmp64_, -1, _tmp65_); +#line 274 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp66_; +#line 275 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp67_ = res; +#line 275 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp67_ == SQLITE_OK, "res == Sqlite.OK"); +#line 277 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp68_ = stmt; +#line 277 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp69_ = media_type; +#line 277 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp70_ = search_condition_media_type_get_media_type (_tmp69_); +#line 277 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp71_ = _tmp70_; +#line 277 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp72_ = search_condition_media_type_media_type_to_string (_tmp71_); +#line 277 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp73_ = g_free; +#line 277 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp74_ = sqlite3_bind_text (_tmp68_, 4, _tmp72_, -1, _tmp73_); +#line 277 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp74_; +#line 278 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp75_ = res; +#line 278 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp75_ == SQLITE_OK, "res == Sqlite.OK"); +#line 280 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp76_ = stmt; +#line 280 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp77_ = sqlite3_step (_tmp76_); +#line 280 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp77_; +#line 281 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp78_ = res; +#line 281 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp78_ != SQLITE_DONE) { +#line 1981 "SavedSearchDBTable.c" + gint _tmp79_ = 0; +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp79_ = res; +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_MediaType.add", _tmp79_, &_inner_error_); +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (media_type); +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 1999 "SavedSearchDBTable.c" + } else { +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (media_type); +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 282 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2011 "SavedSearchDBTable.c" + } + } + } +#line 260 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 260 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (media_type); +#line 2019 "SavedSearchDBTable.c" + } else { + SearchCondition* _tmp80_ = NULL; +#line 283 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp80_ = condition; +#line 283 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp80_, TYPE_SEARCH_CONDITION_FLAGGED)) { +#line 2026 "SavedSearchDBTable.c" + SearchConditionFlagged* flag_state = NULL; + SearchCondition* _tmp81_ = NULL; + SearchConditionFlagged* _tmp82_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp83_ = NULL; + sqlite3_stmt* _tmp84_ = NULL; + gint _tmp85_ = 0; + gint _tmp86_ = 0; + sqlite3_stmt* _tmp87_ = NULL; + SavedSearchID _tmp88_ = {0}; + gint64 _tmp89_ = 0LL; + gint _tmp90_ = 0; + gint _tmp91_ = 0; + sqlite3_stmt* _tmp92_ = NULL; + SearchConditionFlagged* _tmp93_ = NULL; + SearchConditionSearchType _tmp94_ = 0; + SearchConditionSearchType _tmp95_ = 0; + gchar* _tmp96_ = NULL; + GDestroyNotify _tmp97_ = NULL; + gint _tmp98_ = 0; + gint _tmp99_ = 0; + sqlite3_stmt* _tmp100_ = NULL; + SearchConditionFlagged* _tmp101_ = NULL; + SearchConditionFlaggedState _tmp102_ = 0; + SearchConditionFlaggedState _tmp103_ = 0; + gchar* _tmp104_ = NULL; + GDestroyNotify _tmp105_ = NULL; + gint _tmp106_ = 0; + gint _tmp107_ = 0; + sqlite3_stmt* _tmp108_ = NULL; + gint _tmp109_ = 0; + gint _tmp110_ = 0; +#line 284 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp81_ = condition; +#line 284 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp82_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp81_, TYPE_SEARCH_CONDITION_FLAGGED) ? ((SearchConditionFlagged*) _tmp81_) : NULL); +#line 284 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + flag_state = _tmp82_; +#line 286 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp83_ = database_table_db; +#line 286 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp85_ = sqlite3_prepare_v2 (_tmp83_, "INSERT INTO SavedSearchDBTable_Flagged (search_id, search_type, " "flag_state) VALUES (?, ?, ?)", -1, &_tmp84_, NULL); +#line 286 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 286 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp84_; +#line 286 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp85_; +#line 289 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp86_ = res; +#line 289 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp86_ == SQLITE_OK, "res == Sqlite.OK"); +#line 291 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp87_ = stmt; +#line 291 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp88_ = *id; +#line 291 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp89_ = _tmp88_.id; +#line 291 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp90_ = sqlite3_bind_int64 (_tmp87_, 1, _tmp89_); +#line 291 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp90_; +#line 292 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp91_ = res; +#line 292 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp91_ == SQLITE_OK, "res == Sqlite.OK"); +#line 294 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp92_ = stmt; +#line 294 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp93_ = flag_state; +#line 294 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp94_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 294 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp95_ = _tmp94_; +#line 294 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp96_ = search_condition_search_type_to_string (_tmp95_); +#line 294 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp97_ = g_free; +#line 294 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp98_ = sqlite3_bind_text (_tmp92_, 2, _tmp96_, -1, _tmp97_); +#line 294 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp98_; +#line 295 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp99_ = res; +#line 295 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp99_ == SQLITE_OK, "res == Sqlite.OK"); +#line 297 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp100_ = stmt; +#line 297 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp101_ = flag_state; +#line 297 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp102_ = search_condition_flagged_get_state (_tmp101_); +#line 297 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp103_ = _tmp102_; +#line 297 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp104_ = search_condition_flagged_state_to_string (_tmp103_); +#line 297 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp105_ = g_free; +#line 297 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp106_ = sqlite3_bind_text (_tmp100_, 3, _tmp104_, -1, _tmp105_); +#line 297 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp106_; +#line 298 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp107_ = res; +#line 298 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp107_ == SQLITE_OK, "res == Sqlite.OK"); +#line 300 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp108_ = stmt; +#line 300 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp109_ = sqlite3_step (_tmp108_); +#line 300 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp109_; +#line 301 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp110_ = res; +#line 301 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp110_ != SQLITE_DONE) { +#line 2144 "SavedSearchDBTable.c" + gint _tmp111_ = 0; +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp111_ = res; +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Flagged.add", _tmp111_, &_inner_error_); +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (flag_state); +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2162 "SavedSearchDBTable.c" + } else { +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (flag_state); +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 302 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2174 "SavedSearchDBTable.c" + } + } + } +#line 283 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 283 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (flag_state); +#line 2182 "SavedSearchDBTable.c" + } else { + SearchCondition* _tmp112_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp112_ = condition; +#line 303 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp112_, TYPE_SEARCH_CONDITION_MODIFIED)) { +#line 2189 "SavedSearchDBTable.c" + SearchConditionModified* modified_state = NULL; + SearchCondition* _tmp113_ = NULL; + SearchConditionModified* _tmp114_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp115_ = NULL; + sqlite3_stmt* _tmp116_ = NULL; + gint _tmp117_ = 0; + gint _tmp118_ = 0; + sqlite3_stmt* _tmp119_ = NULL; + SavedSearchID _tmp120_ = {0}; + gint64 _tmp121_ = 0LL; + gint _tmp122_ = 0; + gint _tmp123_ = 0; + sqlite3_stmt* _tmp124_ = NULL; + SearchConditionModified* _tmp125_ = NULL; + SearchConditionSearchType _tmp126_ = 0; + SearchConditionSearchType _tmp127_ = 0; + gchar* _tmp128_ = NULL; + GDestroyNotify _tmp129_ = NULL; + gint _tmp130_ = 0; + gint _tmp131_ = 0; + sqlite3_stmt* _tmp132_ = NULL; + SearchConditionModified* _tmp133_ = NULL; + SearchConditionModifiedContext _tmp134_ = 0; + SearchConditionModifiedContext _tmp135_ = 0; + gchar* _tmp136_ = NULL; + GDestroyNotify _tmp137_ = NULL; + gint _tmp138_ = 0; + gint _tmp139_ = 0; + sqlite3_stmt* _tmp140_ = NULL; + SearchConditionModified* _tmp141_ = NULL; + SearchConditionModifiedState _tmp142_ = 0; + SearchConditionModifiedState _tmp143_ = 0; + gchar* _tmp144_ = NULL; + GDestroyNotify _tmp145_ = NULL; + gint _tmp146_ = 0; + gint _tmp147_ = 0; + sqlite3_stmt* _tmp148_ = NULL; + gint _tmp149_ = 0; + gint _tmp150_ = 0; +#line 304 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp113_ = condition; +#line 304 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp114_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp113_, TYPE_SEARCH_CONDITION_MODIFIED) ? ((SearchConditionModified*) _tmp113_) : NULL); +#line 304 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + modified_state = _tmp114_; +#line 306 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp115_ = database_table_db; +#line 306 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp117_ = sqlite3_prepare_v2 (_tmp115_, "INSERT INTO SavedSearchDBTable_Modified (search_id, search_type, conte" \ +"xt, " "modified_state) VALUES (?, ?, ?, ?)", -1, &_tmp116_, NULL); +#line 306 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 306 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp116_; +#line 306 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp117_; +#line 309 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp118_ = res; +#line 309 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp118_ == SQLITE_OK, "res == Sqlite.OK"); +#line 311 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp119_ = stmt; +#line 311 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp120_ = *id; +#line 311 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp121_ = _tmp120_.id; +#line 311 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp122_ = sqlite3_bind_int64 (_tmp119_, 1, _tmp121_); +#line 311 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp122_; +#line 312 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp123_ = res; +#line 312 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp123_ == SQLITE_OK, "res == Sqlite.OK"); +#line 314 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp124_ = stmt; +#line 314 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp125_ = modified_state; +#line 314 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp126_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp125_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 314 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp127_ = _tmp126_; +#line 314 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp128_ = search_condition_search_type_to_string (_tmp127_); +#line 314 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp129_ = g_free; +#line 314 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp130_ = sqlite3_bind_text (_tmp124_, 2, _tmp128_, -1, _tmp129_); +#line 314 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp130_; +#line 315 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp131_ = res; +#line 315 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp131_ == SQLITE_OK, "res == Sqlite.OK"); +#line 317 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp132_ = stmt; +#line 317 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp133_ = modified_state; +#line 317 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp134_ = search_condition_modified_get_context (_tmp133_); +#line 317 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp135_ = _tmp134_; +#line 317 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp136_ = search_condition_modified_context_to_string (_tmp135_); +#line 317 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp137_ = g_free; +#line 317 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp138_ = sqlite3_bind_text (_tmp132_, 3, _tmp136_, -1, _tmp137_); +#line 317 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp138_; +#line 318 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp139_ = res; +#line 318 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp139_ == SQLITE_OK, "res == Sqlite.OK"); +#line 320 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp140_ = stmt; +#line 320 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp141_ = modified_state; +#line 320 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp142_ = search_condition_modified_get_state (_tmp141_); +#line 320 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp143_ = _tmp142_; +#line 320 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp144_ = search_condition_modified_state_to_string (_tmp143_); +#line 320 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp145_ = g_free; +#line 320 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp146_ = sqlite3_bind_text (_tmp140_, 4, _tmp144_, -1, _tmp145_); +#line 320 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp146_; +#line 321 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp147_ = res; +#line 321 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp147_ == SQLITE_OK, "res == Sqlite.OK"); +#line 323 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp148_ = stmt; +#line 323 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp149_ = sqlite3_step (_tmp148_); +#line 323 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp149_; +#line 324 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp150_ = res; +#line 324 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp150_ != SQLITE_DONE) { +#line 2335 "SavedSearchDBTable.c" + gint _tmp151_ = 0; +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp151_ = res; +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Modified.add", _tmp151_, &_inner_error_); +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (modified_state); +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2353 "SavedSearchDBTable.c" + } else { +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (modified_state); +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 325 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2365 "SavedSearchDBTable.c" + } + } + } +#line 303 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 303 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (modified_state); +#line 2373 "SavedSearchDBTable.c" + } else { + SearchCondition* _tmp152_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp152_ = condition; +#line 326 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp152_, TYPE_SEARCH_CONDITION_RATING)) { +#line 2380 "SavedSearchDBTable.c" + SearchConditionRating* rating = NULL; + SearchCondition* _tmp153_ = NULL; + SearchConditionRating* _tmp154_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp155_ = NULL; + sqlite3_stmt* _tmp156_ = NULL; + gint _tmp157_ = 0; + gint _tmp158_ = 0; + sqlite3_stmt* _tmp159_ = NULL; + SavedSearchID _tmp160_ = {0}; + gint64 _tmp161_ = 0LL; + gint _tmp162_ = 0; + gint _tmp163_ = 0; + sqlite3_stmt* _tmp164_ = NULL; + SearchConditionRating* _tmp165_ = NULL; + SearchConditionSearchType _tmp166_ = 0; + SearchConditionSearchType _tmp167_ = 0; + gchar* _tmp168_ = NULL; + GDestroyNotify _tmp169_ = NULL; + gint _tmp170_ = 0; + gint _tmp171_ = 0; + sqlite3_stmt* _tmp172_ = NULL; + SearchConditionRating* _tmp173_ = NULL; + Rating _tmp174_ = 0; + Rating _tmp175_ = 0; + gint _tmp176_ = 0; + gint _tmp177_ = 0; + gint _tmp178_ = 0; + sqlite3_stmt* _tmp179_ = NULL; + SearchConditionRating* _tmp180_ = NULL; + SearchConditionRatingContext _tmp181_ = 0; + SearchConditionRatingContext _tmp182_ = 0; + gchar* _tmp183_ = NULL; + GDestroyNotify _tmp184_ = NULL; + gint _tmp185_ = 0; + gint _tmp186_ = 0; + sqlite3_stmt* _tmp187_ = NULL; + gint _tmp188_ = 0; + gint _tmp189_ = 0; +#line 327 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp153_ = condition; +#line 327 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp154_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp153_, TYPE_SEARCH_CONDITION_RATING) ? ((SearchConditionRating*) _tmp153_) : NULL); +#line 327 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + rating = _tmp154_; +#line 329 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp155_ = database_table_db; +#line 329 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp157_ = sqlite3_prepare_v2 (_tmp155_, "INSERT INTO SavedSearchDBTable_Rating (search_id, search_type, rating," \ +" " "context) VALUES (?, ?, ?, ?)", -1, &_tmp156_, NULL); +#line 329 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 329 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp156_; +#line 329 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp157_; +#line 332 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp158_ = res; +#line 332 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp158_ == SQLITE_OK, "res == Sqlite.OK"); +#line 334 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp159_ = stmt; +#line 334 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp160_ = *id; +#line 334 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp161_ = _tmp160_.id; +#line 334 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp162_ = sqlite3_bind_int64 (_tmp159_, 1, _tmp161_); +#line 334 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp162_; +#line 335 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp163_ = res; +#line 335 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp163_ == SQLITE_OK, "res == Sqlite.OK"); +#line 337 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp164_ = stmt; +#line 337 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp165_ = rating; +#line 337 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp166_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp165_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 337 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp167_ = _tmp166_; +#line 337 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp168_ = search_condition_search_type_to_string (_tmp167_); +#line 337 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp169_ = g_free; +#line 337 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp170_ = sqlite3_bind_text (_tmp164_, 2, _tmp168_, -1, _tmp169_); +#line 337 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp170_; +#line 338 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp171_ = res; +#line 338 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp171_ == SQLITE_OK, "res == Sqlite.OK"); +#line 340 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp172_ = stmt; +#line 340 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp173_ = rating; +#line 340 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp174_ = search_condition_rating_get_rating (_tmp173_); +#line 340 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp175_ = _tmp174_; +#line 340 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp176_ = rating_serialize (_tmp175_); +#line 340 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp177_ = sqlite3_bind_int (_tmp172_, 3, _tmp176_); +#line 340 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp177_; +#line 341 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp178_ = res; +#line 341 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp178_ == SQLITE_OK, "res == Sqlite.OK"); +#line 343 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp179_ = stmt; +#line 343 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp180_ = rating; +#line 343 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp181_ = search_condition_rating_get_context (_tmp180_); +#line 343 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp182_ = _tmp181_; +#line 343 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp183_ = search_condition_rating_context_to_string (_tmp182_); +#line 343 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp184_ = g_free; +#line 343 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp185_ = sqlite3_bind_text (_tmp179_, 4, _tmp183_, -1, _tmp184_); +#line 343 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp185_; +#line 344 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp186_ = res; +#line 344 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp186_ == SQLITE_OK, "res == Sqlite.OK"); +#line 346 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp187_ = stmt; +#line 346 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp188_ = sqlite3_step (_tmp187_); +#line 346 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp188_; +#line 347 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp189_ = res; +#line 347 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp189_ != SQLITE_DONE) { +#line 2523 "SavedSearchDBTable.c" + gint _tmp190_ = 0; +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp190_ = res; +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Rating.add", _tmp190_, &_inner_error_); +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (rating); +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2541 "SavedSearchDBTable.c" + } else { +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (rating); +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 348 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2553 "SavedSearchDBTable.c" + } + } + } +#line 326 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 326 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (rating); +#line 2561 "SavedSearchDBTable.c" + } else { + SearchCondition* _tmp191_ = NULL; +#line 349 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp191_ = condition; +#line 349 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp191_, TYPE_SEARCH_CONDITION_DATE)) { +#line 2568 "SavedSearchDBTable.c" + SearchConditionDate* date = NULL; + SearchCondition* _tmp192_ = NULL; + SearchConditionDate* _tmp193_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp194_ = NULL; + sqlite3_stmt* _tmp195_ = NULL; + gint _tmp196_ = 0; + gint _tmp197_ = 0; + sqlite3_stmt* _tmp198_ = NULL; + SavedSearchID _tmp199_ = {0}; + gint64 _tmp200_ = 0LL; + gint _tmp201_ = 0; + gint _tmp202_ = 0; + sqlite3_stmt* _tmp203_ = NULL; + SearchConditionDate* _tmp204_ = NULL; + SearchConditionSearchType _tmp205_ = 0; + SearchConditionSearchType _tmp206_ = 0; + gchar* _tmp207_ = NULL; + GDestroyNotify _tmp208_ = NULL; + gint _tmp209_ = 0; + gint _tmp210_ = 0; + sqlite3_stmt* _tmp211_ = NULL; + SearchConditionDate* _tmp212_ = NULL; + SearchConditionDateContext _tmp213_ = 0; + SearchConditionDateContext _tmp214_ = 0; + gchar* _tmp215_ = NULL; + GDestroyNotify _tmp216_ = NULL; + gint _tmp217_ = 0; + gint _tmp218_ = 0; + sqlite3_stmt* _tmp219_ = NULL; + SearchConditionDate* _tmp220_ = NULL; + GDateTime* _tmp221_ = NULL; + GDateTime* _tmp222_ = NULL; + gint64 _tmp223_ = 0LL; + gint _tmp224_ = 0; + gint _tmp225_ = 0; + sqlite3_stmt* _tmp226_ = NULL; + SearchConditionDate* _tmp227_ = NULL; + GDateTime* _tmp228_ = NULL; + GDateTime* _tmp229_ = NULL; + gint64 _tmp230_ = 0LL; + gint _tmp231_ = 0; + gint _tmp232_ = 0; + sqlite3_stmt* _tmp233_ = NULL; + gint _tmp234_ = 0; + gint _tmp235_ = 0; +#line 350 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp192_ = condition; +#line 350 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp193_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp192_, TYPE_SEARCH_CONDITION_DATE) ? ((SearchConditionDate*) _tmp192_) : NULL); +#line 350 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + date = _tmp193_; +#line 352 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp194_ = database_table_db; +#line 352 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp196_ = sqlite3_prepare_v2 (_tmp194_, "INSERT INTO SavedSearchDBTable_Date (search_id, search_type, " "context, date_one, date_two) VALUES (?, ?, ?, ?, ?)", -1, &_tmp195_, NULL); +#line 352 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 352 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp195_; +#line 352 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp196_; +#line 355 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp197_ = res; +#line 355 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp197_ == SQLITE_OK, "res == Sqlite.OK"); +#line 357 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp198_ = stmt; +#line 357 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp199_ = *id; +#line 357 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp200_ = _tmp199_.id; +#line 357 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp201_ = sqlite3_bind_int64 (_tmp198_, 1, _tmp200_); +#line 357 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp201_; +#line 358 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp202_ = res; +#line 358 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp202_ == SQLITE_OK, "res == Sqlite.OK"); +#line 360 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp203_ = stmt; +#line 360 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp204_ = date; +#line 360 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp205_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp204_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 360 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp206_ = _tmp205_; +#line 360 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp207_ = search_condition_search_type_to_string (_tmp206_); +#line 360 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp208_ = g_free; +#line 360 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp209_ = sqlite3_bind_text (_tmp203_, 2, _tmp207_, -1, _tmp208_); +#line 360 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp209_; +#line 361 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp210_ = res; +#line 361 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp210_ == SQLITE_OK, "res == Sqlite.OK"); +#line 363 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp211_ = stmt; +#line 363 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp212_ = date; +#line 363 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp213_ = search_condition_date_get_context (_tmp212_); +#line 363 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp214_ = _tmp213_; +#line 363 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp215_ = search_condition_date_context_to_string (_tmp214_); +#line 363 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp216_ = g_free; +#line 363 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp217_ = sqlite3_bind_text (_tmp211_, 3, _tmp215_, -1, _tmp216_); +#line 363 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp217_; +#line 364 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp218_ = res; +#line 364 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp218_ == SQLITE_OK, "res == Sqlite.OK"); +#line 366 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp219_ = stmt; +#line 366 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp220_ = date; +#line 366 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp221_ = search_condition_date_get_date_one (_tmp220_); +#line 366 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp222_ = _tmp221_; +#line 366 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp223_ = g_date_time_to_unix (_tmp222_); +#line 366 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp224_ = sqlite3_bind_int64 (_tmp219_, 4, _tmp223_); +#line 366 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp224_; +#line 367 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp225_ = res; +#line 367 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp225_ == SQLITE_OK, "res == Sqlite.OK"); +#line 369 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp226_ = stmt; +#line 369 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp227_ = date; +#line 369 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp228_ = search_condition_date_get_date_two (_tmp227_); +#line 369 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp229_ = _tmp228_; +#line 369 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp230_ = g_date_time_to_unix (_tmp229_); +#line 369 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp231_ = sqlite3_bind_int64 (_tmp226_, 5, _tmp230_); +#line 369 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp231_; +#line 370 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp232_ = res; +#line 370 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp232_ == SQLITE_OK, "res == Sqlite.OK"); +#line 372 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp233_ = stmt; +#line 372 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp234_ = sqlite3_step (_tmp233_); +#line 372 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp234_; +#line 373 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp235_ = res; +#line 373 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp235_ != SQLITE_DONE) { +#line 2736 "SavedSearchDBTable.c" + gint _tmp236_ = 0; +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp236_ = res; +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Date.add", _tmp236_, &_inner_error_); +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (date); +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2754 "SavedSearchDBTable.c" + } else { +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (date); +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 374 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2766 "SavedSearchDBTable.c" + } + } + } +#line 349 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 349 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (date); +#line 2774 "SavedSearchDBTable.c" + } else { +#line 376 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_assert_not_reached (); +#line 2778 "SavedSearchDBTable.c" + } + } + } + } + } + } +} + + +static void saved_search_db_table_remove_conditions_for_search_id (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error) { + SavedSearchID _tmp0_ = {0}; + SavedSearchID _tmp1_ = {0}; + SavedSearchID _tmp2_ = {0}; + SavedSearchID _tmp3_ = {0}; + SavedSearchID _tmp4_ = {0}; + SavedSearchID _tmp5_ = {0}; + GError * _inner_error_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (IS_SAVED_SEARCH_DB_TABLE (self)); +#line 381 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (search_id != NULL); +#line 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = *search_id; +#line 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_remove_conditions_for_table (self, "SavedSearchDBTable_Text", &_tmp0_, &_inner_error_); +#line 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2812 "SavedSearchDBTable.c" + } else { +#line 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 382 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2820 "SavedSearchDBTable.c" + } + } +#line 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp1_ = *search_id; +#line 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_remove_conditions_for_table (self, "SavedSearchDBTable_MediaType", &_tmp1_, &_inner_error_); +#line 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2835 "SavedSearchDBTable.c" + } else { +#line 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 383 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2843 "SavedSearchDBTable.c" + } + } +#line 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = *search_id; +#line 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_remove_conditions_for_table (self, "SavedSearchDBTable_Flagged", &_tmp2_, &_inner_error_); +#line 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2858 "SavedSearchDBTable.c" + } else { +#line 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 384 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2866 "SavedSearchDBTable.c" + } + } +#line 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = *search_id; +#line 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_remove_conditions_for_table (self, "SavedSearchDBTable_Modified", &_tmp3_, &_inner_error_); +#line 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2881 "SavedSearchDBTable.c" + } else { +#line 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 385 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2889 "SavedSearchDBTable.c" + } + } +#line 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp4_ = *search_id; +#line 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_remove_conditions_for_table (self, "SavedSearchDBTable_Rating", &_tmp4_, &_inner_error_); +#line 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2904 "SavedSearchDBTable.c" + } else { +#line 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 386 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2912 "SavedSearchDBTable.c" + } + } +#line 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = *search_id; +#line 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_remove_conditions_for_table (self, "SavedSearchDBTable_Date", &_tmp5_, &_inner_error_); +#line 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2927 "SavedSearchDBTable.c" + } else { +#line 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 387 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 2935 "SavedSearchDBTable.c" + } + } +} + + +static void saved_search_db_table_remove_conditions_for_table (SavedSearchDBTable* self, const gchar* table_name, SavedSearchID* search_id, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + SavedSearchID _tmp9_ = {0}; + gint64 _tmp10_ = 0LL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + sqlite3_stmt* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + GError * _inner_error_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (IS_SAVED_SEARCH_DB_TABLE (self)); +#line 390 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (table_name != NULL); +#line 390 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (search_id != NULL); +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = database_table_db; +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp1_ = table_name; +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = g_strdup_printf ("DELETE FROM %s WHERE search_id=?", _tmp1_); +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = _tmp2_; +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp0_, _tmp3_, -1, &_tmp4_, NULL); +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp4_; +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp6_ = _tmp5_; +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_free0 (_tmp3_); +#line 393 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp6_; +#line 394 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp7_ = res; +#line 394 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 396 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp8_ = stmt; +#line 396 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp9_ = *search_id; +#line 396 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = _tmp9_.id; +#line 396 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp11_ = sqlite3_bind_int64 (_tmp8_, 1, _tmp10_); +#line 396 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp11_; +#line 397 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp12_ = res; +#line 397 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp12_ == SQLITE_OK, "res == Sqlite.OK"); +#line 399 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp13_ = stmt; +#line 399 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp14_ = sqlite3_step (_tmp13_); +#line 399 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp14_; +#line 400 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_ = res; +#line 400 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp15_ != SQLITE_DONE) { +#line 3015 "SavedSearchDBTable.c" + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp16_ = table_name; +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp17_ = g_strdup_printf ("%s.remove", _tmp16_); +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp18_ = _tmp17_; +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_ = res; +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error (_tmp18_, _tmp19_, &_inner_error_); +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_free0 (_tmp18_); +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 3042 "SavedSearchDBTable.c" + } else { +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 401 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 3052 "SavedSearchDBTable.c" + } + } + } +#line 390 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 3058 "SavedSearchDBTable.c" +} + + +static GeeList* saved_search_db_table_get_conditions_for_id (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error) { + GeeList* result = NULL; + GeeList* list = NULL; + GeeArrayList* _tmp0_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + sqlite3_stmt* _tmp5_ = NULL; + SavedSearchID _tmp6_ = {0}; + gint64 _tmp7_ = 0LL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + sqlite3* _tmp27_ = NULL; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + sqlite3_stmt* _tmp31_ = NULL; + SavedSearchID _tmp32_ = {0}; + gint64 _tmp33_ = 0LL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + sqlite3* _tmp54_ = NULL; + sqlite3_stmt* _tmp55_ = NULL; + gint _tmp56_ = 0; + gint _tmp57_ = 0; + sqlite3_stmt* _tmp58_ = NULL; + SavedSearchID _tmp59_ = {0}; + gint64 _tmp60_ = 0LL; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + sqlite3* _tmp78_ = NULL; + sqlite3_stmt* _tmp79_ = NULL; + gint _tmp80_ = 0; + gint _tmp81_ = 0; + sqlite3_stmt* _tmp82_ = NULL; + SavedSearchID _tmp83_ = {0}; + gint64 _tmp84_ = 0LL; + gint _tmp85_ = 0; + gint _tmp86_ = 0; + sqlite3* _tmp105_ = NULL; + sqlite3_stmt* _tmp106_ = NULL; + gint _tmp107_ = 0; + gint _tmp108_ = 0; + sqlite3_stmt* _tmp109_ = NULL; + SavedSearchID _tmp110_ = {0}; + gint64 _tmp111_ = 0LL; + gint _tmp112_ = 0; + gint _tmp113_ = 0; + sqlite3* _tmp132_ = NULL; + sqlite3_stmt* _tmp133_ = NULL; + gint _tmp134_ = 0; + gint _tmp135_ = 0; + sqlite3_stmt* _tmp136_ = NULL; + SavedSearchID _tmp137_ = {0}; + gint64 _tmp138_ = 0LL; + gint _tmp139_ = 0; + gint _tmp140_ = 0; + GError * _inner_error_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_DB_TABLE (self), NULL); +#line 405 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (search_id != NULL, NULL); +#line 407 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = gee_array_list_new (TYPE_SEARCH_CONDITION, (GBoxedCopyFunc) search_condition_ref, search_condition_unref, NULL, NULL, NULL); +#line 407 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + list = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_LIST, GeeList); +#line 412 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp1_ = database_table_db; +#line 412 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = sqlite3_prepare_v2 (_tmp1_, "SELECT search_type, context, text FROM SavedSearchDBTable_Text " "WHERE search_id=?", -1, &_tmp2_, NULL); +#line 412 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 412 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp2_; +#line 412 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp3_; +#line 415 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp4_ = res; +#line 415 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp4_ == SQLITE_OK, "res == Sqlite.OK"); +#line 417 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = stmt; +#line 417 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp6_ = *search_id; +#line 417 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp7_ = _tmp6_.id; +#line 417 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp8_ = sqlite3_bind_int64 (_tmp5_, 1, _tmp7_); +#line 417 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp8_; +#line 418 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp9_ = res; +#line 418 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 3159 "SavedSearchDBTable.c" + { + gboolean _tmp10_ = FALSE; +#line 420 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = TRUE; +#line 420 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 3166 "SavedSearchDBTable.c" + sqlite3_stmt* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + SearchConditionText* condition = NULL; + sqlite3_stmt* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + SearchConditionSearchType _tmp18_ = 0; + sqlite3_stmt* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + sqlite3_stmt* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + SearchConditionTextContext _tmp23_ = 0; + SearchConditionText* _tmp24_ = NULL; + GeeList* _tmp25_ = NULL; + SearchConditionText* _tmp26_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!_tmp10_) { +#line 3184 "SavedSearchDBTable.c" + } +#line 420 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = FALSE; +#line 421 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp11_ = stmt; +#line 421 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp12_ = sqlite3_step (_tmp11_); +#line 421 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp12_; +#line 422 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp13_ = res; +#line 422 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp13_ == SQLITE_DONE) { +#line 423 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 3200 "SavedSearchDBTable.c" + } else { + gint _tmp14_ = 0; +#line 424 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp14_ = res; +#line 424 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp14_ != SQLITE_ROW) { +#line 3207 "SavedSearchDBTable.c" + gint _tmp15_ = 0; +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_ = res; +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Text.get_all_rows", _tmp15_, &_inner_error_); +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3225 "SavedSearchDBTable.c" + } else { +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 425 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3237 "SavedSearchDBTable.c" + } + } + } + } +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp16_ = stmt; +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp17_ = sqlite3_column_text (_tmp16_, 0); +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp18_ = search_condition_search_type_from_string (_tmp17_); +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_ = stmt; +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp20_ = sqlite3_column_text (_tmp19_, 2); +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp21_ = stmt; +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp22_ = sqlite3_column_text (_tmp21_, 1); +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp23_ = search_condition_text_context_from_string (_tmp22_); +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp24_ = search_condition_text_new (_tmp18_, _tmp20_, _tmp23_); +#line 427 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + condition = _tmp24_; +#line 432 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp25_ = list; +#line 432 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp26_ = condition; +#line 432 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 420 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (condition); +#line 3270 "SavedSearchDBTable.c" + } + } +#line 436 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp27_ = database_table_db; +#line 436 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp29_ = sqlite3_prepare_v2 (_tmp27_, "SELECT search_type, context, type FROM SavedSearchDBTable_MediaType " "WHERE search_id=?", -1, &_tmp28_, NULL); +#line 436 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 436 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp28_; +#line 436 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp29_; +#line 439 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp30_ = res; +#line 439 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp30_ == SQLITE_OK, "res == Sqlite.OK"); +#line 441 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp31_ = stmt; +#line 441 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp32_ = *search_id; +#line 441 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp33_ = _tmp32_.id; +#line 441 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp34_ = sqlite3_bind_int64 (_tmp31_, 1, _tmp33_); +#line 441 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp34_; +#line 442 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp35_ = res; +#line 442 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp35_ == SQLITE_OK, "res == Sqlite.OK"); +#line 3301 "SavedSearchDBTable.c" + { + gboolean _tmp36_ = FALSE; +#line 444 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp36_ = TRUE; +#line 444 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 3308 "SavedSearchDBTable.c" + sqlite3_stmt* _tmp37_ = NULL; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + SearchConditionMediaType* condition = NULL; + sqlite3_stmt* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + SearchConditionSearchType _tmp44_ = 0; + sqlite3_stmt* _tmp45_ = NULL; + const gchar* _tmp46_ = NULL; + SearchConditionMediaTypeContext _tmp47_ = 0; + sqlite3_stmt* _tmp48_ = NULL; + const gchar* _tmp49_ = NULL; + SearchConditionMediaTypeMediaType _tmp50_ = 0; + SearchConditionMediaType* _tmp51_ = NULL; + GeeList* _tmp52_ = NULL; + SearchConditionMediaType* _tmp53_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!_tmp36_) { +#line 3327 "SavedSearchDBTable.c" + } +#line 444 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp36_ = FALSE; +#line 445 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp37_ = stmt; +#line 445 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp38_ = sqlite3_step (_tmp37_); +#line 445 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp38_; +#line 446 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp39_ = res; +#line 446 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp39_ == SQLITE_DONE) { +#line 447 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 3343 "SavedSearchDBTable.c" + } else { + gint _tmp40_ = 0; +#line 448 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp40_ = res; +#line 448 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp40_ != SQLITE_ROW) { +#line 3350 "SavedSearchDBTable.c" + gint _tmp41_ = 0; +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp41_ = res; +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_MediaType.get_all_rows", _tmp41_, &_inner_error_); +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3368 "SavedSearchDBTable.c" + } else { +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 449 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3380 "SavedSearchDBTable.c" + } + } + } + } +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp42_ = stmt; +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp43_ = sqlite3_column_text (_tmp42_, 0); +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp44_ = search_condition_search_type_from_string (_tmp43_); +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp45_ = stmt; +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp46_ = sqlite3_column_text (_tmp45_, 1); +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp47_ = search_condition_media_type_context_from_string (_tmp46_); +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp48_ = stmt; +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp49_ = sqlite3_column_text (_tmp48_, 2); +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp50_ = search_condition_media_type_media_type_from_string (_tmp49_); +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp51_ = search_condition_media_type_new (_tmp44_, _tmp47_, _tmp50_); +#line 451 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + condition = _tmp51_; +#line 456 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp52_ = list; +#line 456 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp53_ = condition; +#line 456 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 444 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (condition); +#line 3415 "SavedSearchDBTable.c" + } + } +#line 460 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp54_ = database_table_db; +#line 460 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp56_ = sqlite3_prepare_v2 (_tmp54_, "SELECT search_type, flag_state FROM SavedSearchDBTable_Flagged " "WHERE search_id=?", -1, &_tmp55_, NULL); +#line 460 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 460 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp55_; +#line 460 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp56_; +#line 463 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp57_ = res; +#line 463 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp57_ == SQLITE_OK, "res == Sqlite.OK"); +#line 465 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp58_ = stmt; +#line 465 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp59_ = *search_id; +#line 465 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp60_ = _tmp59_.id; +#line 465 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp61_ = sqlite3_bind_int64 (_tmp58_, 1, _tmp60_); +#line 465 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp61_; +#line 466 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp62_ = res; +#line 466 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp62_ == SQLITE_OK, "res == Sqlite.OK"); +#line 3446 "SavedSearchDBTable.c" + { + gboolean _tmp63_ = FALSE; +#line 468 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp63_ = TRUE; +#line 468 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 3453 "SavedSearchDBTable.c" + sqlite3_stmt* _tmp64_ = NULL; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + SearchConditionFlagged* condition = NULL; + sqlite3_stmt* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + SearchConditionSearchType _tmp71_ = 0; + sqlite3_stmt* _tmp72_ = NULL; + const gchar* _tmp73_ = NULL; + SearchConditionFlaggedState _tmp74_ = 0; + SearchConditionFlagged* _tmp75_ = NULL; + GeeList* _tmp76_ = NULL; + SearchConditionFlagged* _tmp77_ = NULL; +#line 468 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!_tmp63_) { +#line 3469 "SavedSearchDBTable.c" + } +#line 468 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp63_ = FALSE; +#line 469 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp64_ = stmt; +#line 469 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp65_ = sqlite3_step (_tmp64_); +#line 469 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp65_; +#line 470 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp66_ = res; +#line 470 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp66_ == SQLITE_DONE) { +#line 471 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 3485 "SavedSearchDBTable.c" + } else { + gint _tmp67_ = 0; +#line 472 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp67_ = res; +#line 472 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp67_ != SQLITE_ROW) { +#line 3492 "SavedSearchDBTable.c" + gint _tmp68_ = 0; +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp68_ = res; +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Flagged.get_all_rows", _tmp68_, &_inner_error_); +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3510 "SavedSearchDBTable.c" + } else { +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 473 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3522 "SavedSearchDBTable.c" + } + } + } + } +#line 475 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp69_ = stmt; +#line 475 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp70_ = sqlite3_column_text (_tmp69_, 0); +#line 475 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp71_ = search_condition_search_type_from_string (_tmp70_); +#line 475 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp72_ = stmt; +#line 475 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp73_ = sqlite3_column_text (_tmp72_, 1); +#line 475 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp74_ = search_condition_flagged_state_from_string (_tmp73_); +#line 475 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp75_ = search_condition_flagged_new (_tmp71_, _tmp74_); +#line 475 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + condition = _tmp75_; +#line 479 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp76_ = list; +#line 479 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp77_ = condition; +#line 479 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp76_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 468 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (condition); +#line 3551 "SavedSearchDBTable.c" + } + } +#line 483 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp78_ = database_table_db; +#line 483 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp80_ = sqlite3_prepare_v2 (_tmp78_, "SELECT search_type, context, modified_state FROM SavedSearchDBTable_Mo" \ +"dified " "WHERE search_id=?", -1, &_tmp79_, NULL); +#line 483 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 483 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp79_; +#line 483 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp80_; +#line 486 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp81_ = res; +#line 486 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp81_ == SQLITE_OK, "res == Sqlite.OK"); +#line 488 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp82_ = stmt; +#line 488 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp83_ = *search_id; +#line 488 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp84_ = _tmp83_.id; +#line 488 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp85_ = sqlite3_bind_int64 (_tmp82_, 1, _tmp84_); +#line 488 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp85_; +#line 489 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp86_ = res; +#line 489 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp86_ == SQLITE_OK, "res == Sqlite.OK"); +#line 3582 "SavedSearchDBTable.c" + { + gboolean _tmp87_ = FALSE; +#line 491 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp87_ = TRUE; +#line 491 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 3589 "SavedSearchDBTable.c" + sqlite3_stmt* _tmp88_ = NULL; + gint _tmp89_ = 0; + gint _tmp90_ = 0; + SearchConditionModified* condition = NULL; + sqlite3_stmt* _tmp93_ = NULL; + const gchar* _tmp94_ = NULL; + SearchConditionSearchType _tmp95_ = 0; + sqlite3_stmt* _tmp96_ = NULL; + const gchar* _tmp97_ = NULL; + SearchConditionModifiedContext _tmp98_ = 0; + sqlite3_stmt* _tmp99_ = NULL; + const gchar* _tmp100_ = NULL; + SearchConditionModifiedState _tmp101_ = 0; + SearchConditionModified* _tmp102_ = NULL; + GeeList* _tmp103_ = NULL; + SearchConditionModified* _tmp104_ = NULL; +#line 491 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!_tmp87_) { +#line 3608 "SavedSearchDBTable.c" + } +#line 491 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp87_ = FALSE; +#line 492 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp88_ = stmt; +#line 492 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp89_ = sqlite3_step (_tmp88_); +#line 492 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp89_; +#line 493 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp90_ = res; +#line 493 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp90_ == SQLITE_DONE) { +#line 494 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 3624 "SavedSearchDBTable.c" + } else { + gint _tmp91_ = 0; +#line 495 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp91_ = res; +#line 495 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp91_ != SQLITE_ROW) { +#line 3631 "SavedSearchDBTable.c" + gint _tmp92_ = 0; +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp92_ = res; +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Modified.get_all_rows", _tmp92_, &_inner_error_); +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3649 "SavedSearchDBTable.c" + } else { +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 496 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3661 "SavedSearchDBTable.c" + } + } + } + } +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp93_ = stmt; +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp94_ = sqlite3_column_text (_tmp93_, 0); +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp95_ = search_condition_search_type_from_string (_tmp94_); +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp96_ = stmt; +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp97_ = sqlite3_column_text (_tmp96_, 1); +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp98_ = search_condition_modified_context_from_string (_tmp97_); +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp99_ = stmt; +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp100_ = sqlite3_column_text (_tmp99_, 2); +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp101_ = search_condition_modified_state_from_string (_tmp100_); +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp102_ = search_condition_modified_new (_tmp95_, _tmp98_, _tmp101_); +#line 498 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + condition = _tmp102_; +#line 503 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp103_ = list; +#line 503 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp104_ = condition; +#line 503 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp103_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 491 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (condition); +#line 3696 "SavedSearchDBTable.c" + } + } +#line 507 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp105_ = database_table_db; +#line 507 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp107_ = sqlite3_prepare_v2 (_tmp105_, "SELECT search_type, rating, context FROM SavedSearchDBTable_Rating " "WHERE search_id=?", -1, &_tmp106_, NULL); +#line 507 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 507 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp106_; +#line 507 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp107_; +#line 510 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp108_ = res; +#line 510 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp108_ == SQLITE_OK, "res == Sqlite.OK"); +#line 512 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp109_ = stmt; +#line 512 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp110_ = *search_id; +#line 512 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp111_ = _tmp110_.id; +#line 512 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp112_ = sqlite3_bind_int64 (_tmp109_, 1, _tmp111_); +#line 512 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp112_; +#line 513 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp113_ = res; +#line 513 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp113_ == SQLITE_OK, "res == Sqlite.OK"); +#line 3727 "SavedSearchDBTable.c" + { + gboolean _tmp114_ = FALSE; +#line 515 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp114_ = TRUE; +#line 515 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 3734 "SavedSearchDBTable.c" + sqlite3_stmt* _tmp115_ = NULL; + gint _tmp116_ = 0; + gint _tmp117_ = 0; + SearchConditionRating* condition = NULL; + sqlite3_stmt* _tmp120_ = NULL; + const gchar* _tmp121_ = NULL; + SearchConditionSearchType _tmp122_ = 0; + sqlite3_stmt* _tmp123_ = NULL; + gint _tmp124_ = 0; + Rating _tmp125_ = 0; + sqlite3_stmt* _tmp126_ = NULL; + const gchar* _tmp127_ = NULL; + SearchConditionRatingContext _tmp128_ = 0; + SearchConditionRating* _tmp129_ = NULL; + GeeList* _tmp130_ = NULL; + SearchConditionRating* _tmp131_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!_tmp114_) { +#line 3753 "SavedSearchDBTable.c" + } +#line 515 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp114_ = FALSE; +#line 516 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp115_ = stmt; +#line 516 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp116_ = sqlite3_step (_tmp115_); +#line 516 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp116_; +#line 517 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp117_ = res; +#line 517 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp117_ == SQLITE_DONE) { +#line 518 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 3769 "SavedSearchDBTable.c" + } else { + gint _tmp118_ = 0; +#line 519 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp118_ = res; +#line 519 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp118_ != SQLITE_ROW) { +#line 3776 "SavedSearchDBTable.c" + gint _tmp119_ = 0; +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp119_ = res; +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Rating.get_all_rows", _tmp119_, &_inner_error_); +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3794 "SavedSearchDBTable.c" + } else { +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 520 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3806 "SavedSearchDBTable.c" + } + } + } + } +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp120_ = stmt; +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp121_ = sqlite3_column_text (_tmp120_, 0); +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp122_ = search_condition_search_type_from_string (_tmp121_); +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp123_ = stmt; +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp124_ = sqlite3_column_int (_tmp123_, 1); +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp125_ = rating_unserialize (_tmp124_); +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp126_ = stmt; +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp127_ = sqlite3_column_text (_tmp126_, 2); +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp128_ = search_condition_rating_context_from_string (_tmp127_); +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp129_ = search_condition_rating_new (_tmp122_, _tmp125_, _tmp128_); +#line 522 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + condition = _tmp129_; +#line 527 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp130_ = list; +#line 527 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp131_ = condition; +#line 527 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp130_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp131_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 515 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (condition); +#line 3841 "SavedSearchDBTable.c" + } + } +#line 531 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp132_ = database_table_db; +#line 531 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp134_ = sqlite3_prepare_v2 (_tmp132_, "SELECT search_type, context, date_one, date_two FROM SavedSearchDBTabl" \ +"e_Date " "WHERE search_id=?", -1, &_tmp133_, NULL); +#line 531 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 531 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp133_; +#line 531 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp134_; +#line 534 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp135_ = res; +#line 534 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp135_ == SQLITE_OK, "res == Sqlite.OK"); +#line 536 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp136_ = stmt; +#line 536 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp137_ = *search_id; +#line 536 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp138_ = _tmp137_.id; +#line 536 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp139_ = sqlite3_bind_int64 (_tmp136_, 1, _tmp138_); +#line 536 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp139_; +#line 537 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp140_ = res; +#line 537 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp140_ == SQLITE_OK, "res == Sqlite.OK"); +#line 3872 "SavedSearchDBTable.c" + { + gboolean _tmp141_ = FALSE; +#line 539 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp141_ = TRUE; +#line 539 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 3879 "SavedSearchDBTable.c" + sqlite3_stmt* _tmp142_ = NULL; + gint _tmp143_ = 0; + gint _tmp144_ = 0; + SearchConditionDate* condition = NULL; + sqlite3_stmt* _tmp147_ = NULL; + const gchar* _tmp148_ = NULL; + SearchConditionSearchType _tmp149_ = 0; + sqlite3_stmt* _tmp150_ = NULL; + const gchar* _tmp151_ = NULL; + SearchConditionDateContext _tmp152_ = 0; + sqlite3_stmt* _tmp153_ = NULL; + gint64 _tmp154_ = 0LL; + GDateTime* _tmp155_ = NULL; + GDateTime* _tmp156_ = NULL; + sqlite3_stmt* _tmp157_ = NULL; + gint64 _tmp158_ = 0LL; + GDateTime* _tmp159_ = NULL; + GDateTime* _tmp160_ = NULL; + SearchConditionDate* _tmp161_ = NULL; + SearchConditionDate* _tmp162_ = NULL; + GeeList* _tmp163_ = NULL; + SearchConditionDate* _tmp164_ = NULL; +#line 539 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!_tmp141_) { +#line 3904 "SavedSearchDBTable.c" + } +#line 539 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp141_ = FALSE; +#line 540 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp142_ = stmt; +#line 540 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp143_ = sqlite3_step (_tmp142_); +#line 540 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp143_; +#line 541 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp144_ = res; +#line 541 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp144_ == SQLITE_DONE) { +#line 542 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 3920 "SavedSearchDBTable.c" + } else { + gint _tmp145_ = 0; +#line 543 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp145_ = res; +#line 543 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp145_ != SQLITE_ROW) { +#line 3927 "SavedSearchDBTable.c" + gint _tmp146_ = 0; +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp146_ = res; +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable_Date.get_all_rows", _tmp146_, &_inner_error_); +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3945 "SavedSearchDBTable.c" + } else { +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (list); +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 544 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 3957 "SavedSearchDBTable.c" + } + } + } + } +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp147_ = stmt; +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp148_ = sqlite3_column_text (_tmp147_, 0); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp149_ = search_condition_search_type_from_string (_tmp148_); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp150_ = stmt; +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp151_ = sqlite3_column_text (_tmp150_, 1); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp152_ = search_condition_date_context_from_string (_tmp151_); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp153_ = stmt; +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp154_ = sqlite3_column_int64 (_tmp153_, 2); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp155_ = g_date_time_new_from_unix_local (_tmp154_); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp156_ = _tmp155_; +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp157_ = stmt; +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp158_ = sqlite3_column_int64 (_tmp157_, 3); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp159_ = g_date_time_new_from_unix_local (_tmp158_); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp160_ = _tmp159_; +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp161_ = search_condition_date_new (_tmp149_, _tmp152_, _tmp156_, _tmp160_); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp162_ = _tmp161_; +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_date_time_unref0 (_tmp160_); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_date_time_unref0 (_tmp156_); +#line 546 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + condition = _tmp162_; +#line 551 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp163_ = list; +#line 551 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp164_ = condition; +#line 551 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp163_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp164_, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 539 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (condition); +#line 4008 "SavedSearchDBTable.c" + } + } +#line 554 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + result = list; +#line 554 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 554 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return result; +#line 4017 "SavedSearchDBTable.c" +} + + +void saved_search_db_table_create_from_row (SavedSearchDBTable* self, SavedSearchRow* row, SavedSearchID* result, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + SavedSearchRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GDestroyNotify _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + sqlite3_stmt* _tmp11_ = NULL; + SavedSearchRow* _tmp12_ = NULL; + SearchOperator _tmp13_ = 0; + gchar* _tmp14_ = NULL; + GDestroyNotify _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + sqlite3_stmt* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + SavedSearchID search_id = {0}; + sqlite3* _tmp22_ = NULL; + gint64 _tmp23_ = 0LL; + GError * _inner_error_ = NULL; +#line 558 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (IS_SAVED_SEARCH_DB_TABLE (self)); +#line 558 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (IS_SAVED_SEARCH_ROW (row)); +#line 560 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = database_table_db; +#line 560 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO SavedSearchDBTable (name, operator) VALUES (?, ?)", -1, &_tmp1_, NULL); +#line 560 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 560 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp1_; +#line 560 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp2_; +#line 562 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = res; +#line 562 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 564 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp4_ = stmt; +#line 564 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = row; +#line 564 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp6_ = _tmp5_->name; +#line 564 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 564 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp8_ = g_free; +#line 564 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp9_ = sqlite3_bind_text (_tmp4_, 1, _tmp7_, -1, _tmp8_); +#line 564 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp9_; +#line 565 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = res; +#line 565 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp10_ == SQLITE_OK, "res == Sqlite.OK"); +#line 566 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp11_ = stmt; +#line 566 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp12_ = row; +#line 566 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp13_ = _tmp12_->operator; +#line 566 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp14_ = search_operator_to_string (_tmp13_); +#line 566 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_ = g_free; +#line 566 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp16_ = sqlite3_bind_text (_tmp11_, 2, _tmp14_, -1, _tmp15_); +#line 566 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp16_; +#line 567 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp17_ = res; +#line 567 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp17_ == SQLITE_OK, "res == Sqlite.OK"); +#line 569 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp18_ = stmt; +#line 569 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_ = sqlite3_step (_tmp18_); +#line 569 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp19_; +#line 570 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp20_ = res; +#line 570 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp20_ != SQLITE_DONE) { +#line 4113 "SavedSearchDBTable.c" + gint _tmp21_ = 0; +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp21_ = res; +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable.create_from_row", _tmp21_, &_inner_error_); +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4129 "SavedSearchDBTable.c" + } else { +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 571 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4139 "SavedSearchDBTable.c" + } + } + } +#line 573 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp22_ = database_table_db; +#line 573 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp23_ = sqlite3_last_insert_rowid (_tmp22_); +#line 573 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_id_init (&search_id, _tmp23_); +#line 4149 "SavedSearchDBTable.c" + { + GeeList* _sc_list = NULL; + SavedSearchRow* _tmp24_ = NULL; + GeeList* _tmp25_ = NULL; + GeeList* _tmp26_ = NULL; + gint _sc_size = 0; + GeeList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint _sc_index = 0; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp24_ = row; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp25_ = _tmp24_->conditions; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp26_ = _g_object_ref0 (_tmp25_); +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sc_list = _tmp26_; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp27_ = _sc_list; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp28_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp29_ = _tmp28_; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sc_size = _tmp29_; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sc_index = -1; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 4180 "SavedSearchDBTable.c" + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + SearchCondition* sc = NULL; + GeeList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gpointer _tmp35_ = NULL; + SavedSearchID _tmp36_ = {0}; + SearchCondition* _tmp37_ = NULL; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp30_ = _sc_index; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sc_index = _tmp30_ + 1; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp31_ = _sc_index; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp32_ = _sc_size; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!(_tmp31_ < _tmp32_)) { +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 4202 "SavedSearchDBTable.c" + } +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp33_ = _sc_list; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp34_ = _sc_index; +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp35_ = gee_list_get (_tmp33_, _tmp34_); +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + sc = (SearchCondition*) _tmp35_; +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp36_ = search_id; +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp37_ = sc; +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_add_condition (self, &_tmp36_, _tmp37_, &_inner_error_); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (sc); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_sc_list); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4232 "SavedSearchDBTable.c" + } else { +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (sc); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_sc_list); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 576 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4246 "SavedSearchDBTable.c" + } + } +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _search_condition_unref0 (sc); +#line 4251 "SavedSearchDBTable.c" + } +#line 575 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_sc_list); +#line 4255 "SavedSearchDBTable.c" + } +#line 579 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + *result = search_id; +#line 579 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 579 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4263 "SavedSearchDBTable.c" +} + + +void saved_search_db_table_remove (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error) { + SavedSearchID _tmp0_ = {0}; + SavedSearchID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; + GError * _inner_error_ = NULL; +#line 582 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (IS_SAVED_SEARCH_DB_TABLE (self)); +#line 582 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (search_id != NULL); +#line 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = *search_id; +#line 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_remove_conditions_for_search_id (self, &_tmp0_, &_inner_error_); +#line 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4288 "SavedSearchDBTable.c" + } else { +#line 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 583 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4296 "SavedSearchDBTable.c" + } + } +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp1_ = *search_id; +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = _tmp1_.id; +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_delete_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp2_, &_inner_error_); +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4313 "SavedSearchDBTable.c" + } else { +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 584 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4321 "SavedSearchDBTable.c" + } + } +} + + +SavedSearchRow* saved_search_db_table_get_row (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error) { + SavedSearchRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + SavedSearchID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + SavedSearchRow* row = NULL; + SavedSearchRow* _tmp14_ = NULL; + SavedSearchRow* _tmp15_ = NULL; + SavedSearchID _tmp16_ = {0}; + SavedSearchRow* _tmp17_ = NULL; + sqlite3_stmt* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + SavedSearchRow* _tmp21_ = NULL; + sqlite3_stmt* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + SearchOperator _tmp24_ = 0; + GError * _inner_error_ = NULL; +#line 587 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_DB_TABLE (self), NULL); +#line 587 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (search_id != NULL, NULL); +#line 589 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = database_table_db; +#line 589 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT name, operator FROM SavedSearchDBTable WHERE id=?", -1, &_tmp1_, NULL); +#line 589 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 589 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp1_; +#line 589 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp2_; +#line 591 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = res; +#line 591 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 593 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp4_ = stmt; +#line 593 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = *search_id; +#line 593 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp6_ = _tmp5_.id; +#line 593 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 593 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp7_; +#line 594 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp8_ = res; +#line 594 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 596 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp9_ = stmt; +#line 596 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 596 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp10_; +#line 597 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp11_ = res; +#line 597 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp11_ == SQLITE_DONE) { +#line 598 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + result = NULL; +#line 598 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 598 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return result; +#line 4404 "SavedSearchDBTable.c" + } else { + gint _tmp12_ = 0; +#line 599 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp12_ = res; +#line 599 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp12_ != SQLITE_ROW) { +#line 4411 "SavedSearchDBTable.c" + gint _tmp13_ = 0; +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp13_ = res; +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable.get_row", _tmp13_, &_inner_error_); +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 4427 "SavedSearchDBTable.c" + } else { +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 600 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 4437 "SavedSearchDBTable.c" + } + } + } + } +#line 602 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp14_ = saved_search_row_new (); +#line 602 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + row = _tmp14_; +#line 603 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_ = row; +#line 603 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp16_ = *search_id; +#line 603 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_->search_id = _tmp16_; +#line 604 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp17_ = row; +#line 604 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp18_ = stmt; +#line 604 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_ = sqlite3_column_text (_tmp18_, 0); +#line 604 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp20_ = g_strdup (_tmp19_); +#line 604 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_free0 (_tmp17_->name); +#line 604 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp17_->name = _tmp20_; +#line 605 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp21_ = row; +#line 605 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp22_ = stmt; +#line 605 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp23_ = sqlite3_column_text (_tmp22_, 1); +#line 605 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp24_ = search_operator_from_string (_tmp23_); +#line 605 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp21_->operator = _tmp24_; +#line 607 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + result = row; +#line 607 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 607 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return result; +#line 4480 "SavedSearchDBTable.c" +} + + +GeeList* saved_search_db_table_get_all_rows (SavedSearchDBTable* self, GError** error) { + GeeList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeList* rows = NULL; + GeeArrayList* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 610 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_DB_TABLE (self), NULL); +#line 612 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = database_table_db; +#line 612 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id, name, operator FROM SavedSearchDBTable", -1, &_tmp1_, NULL); +#line 612 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 612 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + stmt = _tmp1_; +#line 612 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp2_; +#line 614 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp3_ = res; +#line 614 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 616 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp4_ = gee_array_list_new (TYPE_SAVED_SEARCH_ROW, (GBoxedCopyFunc) saved_search_row_ref, saved_search_row_unref, NULL, NULL, NULL); +#line 616 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + rows = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList); +#line 4515 "SavedSearchDBTable.c" + { + gboolean _tmp5_ = FALSE; +#line 618 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = TRUE; +#line 618 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + while (TRUE) { +#line 4522 "SavedSearchDBTable.c" + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + SavedSearchRow* row = NULL; + SavedSearchRow* _tmp11_ = NULL; + SavedSearchRow* _tmp12_ = NULL; + sqlite3_stmt* _tmp13_ = NULL; + gint64 _tmp14_ = 0LL; + SavedSearchRow* _tmp15_ = NULL; + sqlite3_stmt* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + SavedSearchRow* _tmp19_ = NULL; + sqlite3_stmt* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + SearchOperator _tmp22_ = 0; + GeeList* _tmp23_ = NULL; + SavedSearchRow* _tmp24_ = NULL; + SavedSearchID _tmp25_ = {0}; + GeeList* _tmp26_ = NULL; + SavedSearchRow* _tmp27_ = NULL; + GeeList* _tmp28_ = NULL; + GeeList* _tmp29_ = NULL; + SavedSearchRow* _tmp30_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (!_tmp5_) { +#line 4549 "SavedSearchDBTable.c" + } +#line 618 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp5_ = FALSE; +#line 619 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp6_ = stmt; +#line 619 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp7_ = sqlite3_step (_tmp6_); +#line 619 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + res = _tmp7_; +#line 620 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp8_ = res; +#line 620 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp8_ == SQLITE_DONE) { +#line 621 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + break; +#line 4565 "SavedSearchDBTable.c" + } else { + gint _tmp9_ = 0; +#line 622 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp9_ = res; +#line 622 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_tmp9_ != SQLITE_ROW) { +#line 4572 "SavedSearchDBTable.c" + gint _tmp10_ = 0; +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp10_ = res; +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_throw_error ("SavedSearchDBTable.get_all_rows", _tmp10_, &_inner_error_); +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (rows); +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 4590 "SavedSearchDBTable.c" + } else { +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (rows); +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 623 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 4602 "SavedSearchDBTable.c" + } + } + } + } +#line 625 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp11_ = saved_search_row_new (); +#line 625 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + row = _tmp11_; +#line 626 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp12_ = row; +#line 626 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp13_ = stmt; +#line 626 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp14_ = sqlite3_column_int64 (_tmp13_, 0); +#line 626 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_id_init (&_tmp12_->search_id, _tmp14_); +#line 627 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_ = row; +#line 627 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp16_ = stmt; +#line 627 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp17_ = sqlite3_column_text (_tmp16_, 1); +#line 627 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 627 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_free0 (_tmp15_->name); +#line 627 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp15_->name = _tmp18_; +#line 628 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_ = row; +#line 628 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp20_ = stmt; +#line 628 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp21_ = sqlite3_column_text (_tmp20_, 2); +#line 628 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp22_ = search_operator_from_string (_tmp21_); +#line 628 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp19_->operator = _tmp22_; +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp24_ = row; +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp25_ = _tmp24_->search_id; +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp26_ = saved_search_db_table_get_conditions_for_id (self, &_tmp25_, &_inner_error_); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp23_ = _tmp26_; +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _saved_search_row_unref0 (row); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (rows); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 4663 "SavedSearchDBTable.c" + } else { +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _saved_search_row_unref0 (row); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (rows); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return NULL; +#line 4677 "SavedSearchDBTable.c" + } + } +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp27_ = row; +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp28_ = _tmp23_; +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp23_ = NULL; +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_tmp27_->conditions); +#line 629 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp27_->conditions = _tmp28_; +#line 631 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp29_ = rows; +#line 631 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp30_ = row; +#line 631 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_COLLECTION, GeeCollection), _tmp30_); +#line 618 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _g_object_unref0 (_tmp23_); +#line 618 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _saved_search_row_unref0 (row); +#line 4700 "SavedSearchDBTable.c" + } + } +#line 634 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + result = rows; +#line 634 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _sqlite3_finalize0 (stmt); +#line 634 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return result; +#line 4709 "SavedSearchDBTable.c" +} + + +void saved_search_db_table_rename (SavedSearchDBTable* self, SavedSearchID* search_id, const gchar* new_name, GError** error) { + SavedSearchID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + const gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 637 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (IS_SAVED_SEARCH_DB_TABLE (self)); +#line 637 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (search_id != NULL); +#line 637 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_return_if_fail (new_name != NULL); +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp0_ = *search_id; +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp1_ = _tmp0_.id; +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + _tmp2_ = new_name; +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "name", _tmp2_, &_inner_error_); +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_propagate_error (error, _inner_error_); +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4740 "SavedSearchDBTable.c" + } else { +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.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 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + g_clear_error (&_inner_error_); +#line 638 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + return; +#line 4748 "SavedSearchDBTable.c" + } + } +} + + +static void saved_search_db_table_class_init (SavedSearchDBTableClass * klass) { +#line 33 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + saved_search_db_table_parent_class = g_type_class_peek_parent (klass); +#line 33 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + ((DatabaseTableClass *) klass)->finalize = saved_search_db_table_finalize; +#line 4759 "SavedSearchDBTable.c" +} + + +static void saved_search_db_table_instance_init (SavedSearchDBTable * self) { +} + + +static void saved_search_db_table_finalize (DatabaseTable* obj) { + SavedSearchDBTable * self; +#line 33 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTable); +#line 33 "/home/jens/Source/shotwell/src/db/SavedSearchDBTable.vala" + DATABASE_TABLE_CLASS (saved_search_db_table_parent_class)->finalize (obj); +#line 4773 "SavedSearchDBTable.c" +} + + +GType saved_search_db_table_get_type (void) { + static volatile gsize saved_search_db_table_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_db_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDBTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_db_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDBTable), 0, (GInstanceInitFunc) saved_search_db_table_instance_init, NULL }; + GType saved_search_db_table_type_id; + saved_search_db_table_type_id = g_type_register_static (TYPE_DATABASE_TABLE, "SavedSearchDBTable", &g_define_type_info, 0); + g_once_init_leave (&saved_search_db_table_type_id__volatile, saved_search_db_table_type_id); + } + return saved_search_db_table_type_id__volatile; +} + + + diff --git a/src/db/TagTable.c b/src/db/TagTable.c new file mode 100644 index 0000000..1c58788 --- /dev/null +++ b/src/db/TagTable.c @@ -0,0 +1,2248 @@ +/* TagTable.c generated by valac 0.32.1, the Vala compiler + * generated from TagTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_TAG_ID (tag_id_get_type ()) +typedef struct _TagID TagID; + +#define TYPE_TAG_ROW (tag_row_get_type ()) +#define TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_ROW, TagRow)) +#define TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_ROW, TagRowClass)) +#define IS_TAG_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_ROW)) +#define IS_TAG_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_ROW)) +#define TAG_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_ROW, TagRowClass)) + +typedef struct _TagRow TagRow; +typedef struct _TagRowClass TagRowClass; +typedef struct _TagRowPrivate TagRowPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecTagRow ParamSpecTagRow; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; +typedef struct _DatabaseTablePrivate DatabaseTablePrivate; + +#define TYPE_TAG_TABLE (tag_table_get_type ()) +#define TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_TABLE, TagTable)) +#define TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_TABLE, TagTableClass)) +#define IS_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_TABLE)) +#define IS_TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_TABLE)) +#define TAG_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_TABLE, TagTableClass)) + +typedef struct _TagTable TagTable; +typedef struct _TagTableClass TagTableClass; +typedef struct _TagTablePrivate TagTablePrivate; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _tag_row_unref0(var) ((var == NULL) ? NULL : (var = (tag_row_unref (var), NULL))) +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; +#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 _TagID { + gint64 id; +}; + +struct _TagRow { + GTypeInstance parent_instance; + volatile int ref_count; + TagRowPrivate * priv; + TagID tag_id; + gchar* name; + GeeSet* source_id_list; + time_t time_created; +}; + +struct _TagRowClass { + GTypeClass parent_class; + void (*finalize) (TagRow *self); +}; + +struct _ParamSpecTagRow { + GParamSpec parent_instance; +}; + +struct _DatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + DatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _DatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (DatabaseTable *self); +}; + +struct _TagTable { + DatabaseTable parent_instance; + TagTablePrivate * priv; +}; + +struct _TagTableClass { + DatabaseTableClass parent_class; +}; + +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 _PhotoID { + gint64 id; +}; + + +static gpointer tag_row_parent_class = NULL; +static gpointer tag_table_parent_class = NULL; +static TagTable* tag_table_instance; +static TagTable* tag_table_instance = NULL; +extern sqlite3* database_table_db; + +GType tag_id_get_type (void) G_GNUC_CONST; +TagID* tag_id_dup (const TagID* self); +void tag_id_free (TagID* self); +#define TAG_ID_INVALID ((gint64) -1) +void tag_id_init (TagID *self, gint64 id); +gboolean tag_id_is_invalid (TagID *self); +gboolean tag_id_is_valid (TagID *self); +gpointer tag_row_ref (gpointer instance); +void tag_row_unref (gpointer instance); +GParamSpec* param_spec_tag_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_tag_row (GValue* value, gpointer v_object); +void value_take_tag_row (GValue* value, gpointer v_object); +gpointer value_get_tag_row (const GValue* value); +GType tag_row_get_type (void) G_GNUC_CONST; +enum { + TAG_ROW_DUMMY_PROPERTY +}; +TagRow* tag_row_new (void); +TagRow* tag_row_construct (GType object_type); +static void tag_row_finalize (TagRow* obj); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType tag_table_get_type (void) G_GNUC_CONST; +enum { + TAG_TABLE_DUMMY_PROPERTY +}; +static TagTable* tag_table_new (void); +static TagTable* tag_table_construct (GType object_type); +DatabaseTable* database_table_construct (GType object_type); +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name); +void database_table_fatal (const gchar* op, gint res); +TagTable* tag_table_get_instance (void); +void tag_table_upgrade_for_htags (void); +GQuark database_error_quark (void); +GeeList* tag_table_get_all_rows (TagTable* self, GError** error); +#define TAG_PATH_SEPARATOR_STRING "/" +void tag_table_rename (TagTable* self, TagID* tag_id, const gchar* new_name, GError** error); +TagRow* tag_table_add (TagTable* self, const gchar* name, GError** error); +gulong now_sec (void); +void database_table_throw_error (const gchar* method, gint res, GError** error); +void tag_table_create_from_row (TagTable* self, TagRow* row, TagID* result, GError** error); +static gchar* tag_table_serialize_source_ids (TagTable* self, GeeCollection* source_ids); +void tag_table_remove (TagTable* self, TagID* tag_id, GError** error); +void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error); +gchar* tag_table_get_name (TagTable* self, TagID* tag_id, GError** error); +gboolean database_table_select_by_id (DatabaseTable* self, gint64 id, const gchar* columns, sqlite3_stmt** stmt); +TagRow* tag_table_get_row (TagTable* self, TagID* tag_id, GError** error); +static GeeSet* tag_table_unserialize_source_ids (TagTable* self, const gchar* text_list); +void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error); +void tag_table_set_tagged_sources (TagTable* self, TagID* tag_id, GeeCollection* source_ids, GError** error); +gboolean is_string_empty (const gchar* s); +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +gchar* photo_id_upgrade_photo_id_to_source_id (PhotoID* photo_id); +gint64 parse_int64 (const gchar* str, gint num_base); +void photo_id_init (PhotoID *self, gint64 id); +static void tag_table_finalize (DatabaseTable* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +void tag_id_init (TagID *self, gint64 id) { + gint64 _tmp0_ = 0LL; +#line 12 "/home/jens/Source/shotwell/src/db/TagTable.vala" + memset (self, 0, sizeof (TagID)); +#line 13 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = id; +#line 13 "/home/jens/Source/shotwell/src/db/TagTable.vala" + (*self).id = _tmp0_; +#line 213 "TagTable.c" +} + + +gboolean tag_id_is_invalid (TagID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 17 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = (*self).id; +#line 17 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = _tmp0_ == TAG_ID_INVALID; +#line 17 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 226 "TagTable.c" +} + + +gboolean tag_id_is_valid (TagID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 21 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = (*self).id; +#line 21 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = _tmp0_ != TAG_ID_INVALID; +#line 21 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 239 "TagTable.c" +} + + +TagID* tag_id_dup (const TagID* self) { + TagID* dup; +#line 7 "/home/jens/Source/shotwell/src/db/TagTable.vala" + dup = g_new0 (TagID, 1); +#line 7 "/home/jens/Source/shotwell/src/db/TagTable.vala" + memcpy (dup, self, sizeof (TagID)); +#line 7 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return dup; +#line 251 "TagTable.c" +} + + +void tag_id_free (TagID* self) { +#line 7 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_free (self); +#line 258 "TagTable.c" +} + + +GType tag_id_get_type (void) { + static volatile gsize tag_id_type_id__volatile = 0; + if (g_once_init_enter (&tag_id_type_id__volatile)) { + GType tag_id_type_id; + tag_id_type_id = g_boxed_type_register_static ("TagID", (GBoxedCopyFunc) tag_id_dup, (GBoxedFreeFunc) tag_id_free); + g_once_init_leave (&tag_id_type_id__volatile, tag_id_type_id); + } + return tag_id_type_id__volatile; +} + + +TagRow* tag_row_construct (GType object_type) { + TagRow* self = NULL; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + self = (TagRow*) g_type_create_instance (object_type); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return self; +#line 279 "TagTable.c" +} + + +TagRow* tag_row_new (void) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return tag_row_construct (TYPE_TAG_ROW); +#line 286 "TagTable.c" +} + + +static void value_tag_row_init (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + value->data[0].v_pointer = NULL; +#line 293 "TagTable.c" +} + + +static void value_tag_row_free_value (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_row_unref (value->data[0].v_pointer); +#line 302 "TagTable.c" + } +} + + +static void value_tag_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (src_value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + dest_value->data[0].v_pointer = tag_row_ref (src_value->data[0].v_pointer); +#line 312 "TagTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 316 "TagTable.c" + } +} + + +static gpointer value_tag_row_peek_pointer (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return value->data[0].v_pointer; +#line 324 "TagTable.c" +} + + +static gchar* value_tag_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (collect_values[0].v_pointer) { +#line 331 "TagTable.c" + TagRow* object; + object = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 338 "TagTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 342 "TagTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + value->data[0].v_pointer = tag_row_ref (object); +#line 346 "TagTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + value->data[0].v_pointer = NULL; +#line 350 "TagTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return NULL; +#line 354 "TagTable.c" +} + + +static gchar* value_tag_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TagRow** object_p; + object_p = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (!object_p) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 365 "TagTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (!value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + *object_p = NULL; +#line 371 "TagTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + *object_p = value->data[0].v_pointer; +#line 375 "TagTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + *object_p = tag_row_ref (value->data[0].v_pointer); +#line 379 "TagTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return NULL; +#line 383 "TagTable.c" +} + + +GParamSpec* param_spec_tag_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTagRow* spec; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TAG_ROW), NULL); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return G_PARAM_SPEC (spec); +#line 397 "TagTable.c" +} + + +gpointer value_get_tag_row (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TAG_ROW), NULL); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return value->data[0].v_pointer; +#line 406 "TagTable.c" +} + + +void value_set_tag_row (GValue* value, gpointer v_object) { + TagRow* old; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TAG_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TAG_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + value->data[0].v_pointer = v_object; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_row_ref (value->data[0].v_pointer); +#line 426 "TagTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + value->data[0].v_pointer = NULL; +#line 430 "TagTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_row_unref (old); +#line 436 "TagTable.c" + } +} + + +void value_take_tag_row (GValue* value, gpointer v_object) { + TagRow* old; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TAG_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TAG_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + value->data[0].v_pointer = v_object; +#line 455 "TagTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + value->data[0].v_pointer = NULL; +#line 459 "TagTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_row_unref (old); +#line 465 "TagTable.c" + } +} + + +static void tag_row_class_init (TagRowClass * klass) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_row_parent_class = g_type_class_peek_parent (klass); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + ((TagRowClass *) klass)->finalize = tag_row_finalize; +#line 475 "TagTable.c" +} + + +static void tag_row_instance_init (TagRow * self) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + self->ref_count = 1; +#line 482 "TagTable.c" +} + + +static void tag_row_finalize (TagRow* obj) { + TagRow * self; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TAG_ROW, TagRow); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_signal_handlers_destroy (self); +#line 27 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (self->name); +#line 28 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (self->source_id_list); +#line 496 "TagTable.c" +} + + +GType tag_row_get_type (void) { + static volatile gsize tag_row_type_id__volatile = 0; + if (g_once_init_enter (&tag_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_tag_row_init, value_tag_row_free_value, value_tag_row_copy_value, value_tag_row_peek_pointer, "p", value_tag_row_collect_value, "p", value_tag_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TagRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tag_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagRow), 0, (GInstanceInitFunc) tag_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType tag_row_type_id; + tag_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TagRow", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&tag_row_type_id__volatile, tag_row_type_id); + } + return tag_row_type_id__volatile; +} + + +gpointer tag_row_ref (gpointer instance) { + TagRow* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return instance; +#line 521 "TagTable.c" +} + + +void tag_row_unref (gpointer instance) { + TagRow* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + TAG_ROW_GET_CLASS (self)->finalize (self); +#line 25 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 534 "TagTable.c" + } +} + + +static TagTable* tag_table_construct (GType object_type) { + TagTable* self = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 35 "/home/jens/Source/shotwell/src/db/TagTable.vala" + self = (TagTable*) database_table_construct (object_type); +#line 36 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), "TagTable"); +#line 39 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = database_table_db; +#line 39 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "CREATE TABLE IF NOT EXISTS " "TagTable " "(" "id INTEGER PRIMARY KEY, " "name TEXT UNIQUE NOT NULL, " "photo_id_list TEXT, " "time_created INTEGER" ")", -1, &_tmp1_, NULL); +#line 39 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 39 "/home/jens/Source/shotwell/src/db/TagTable.vala" + stmt = _tmp1_; +#line 39 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp2_; +#line 47 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = res; +#line 47 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 49 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = stmt; +#line 49 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 49 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp5_; +#line 50 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = res; +#line 50 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp6_ != SQLITE_DONE) { +#line 578 "TagTable.c" + gint _tmp7_ = 0; +#line 51 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = res; +#line 51 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_fatal ("create TagTable", _tmp7_); +#line 584 "TagTable.c" + } +#line 35 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 35 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return self; +#line 590 "TagTable.c" +} + + +static TagTable* tag_table_new (void) { +#line 35 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return tag_table_construct (TYPE_TAG_TABLE); +#line 597 "TagTable.c" +} + + +static gpointer _database_table_ref0 (gpointer self) { +#line 58 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return self ? database_table_ref (self) : NULL; +#line 604 "TagTable.c" +} + + +TagTable* tag_table_get_instance (void) { + TagTable* result = NULL; + TagTable* _tmp0_ = NULL; + TagTable* _tmp2_ = NULL; + TagTable* _tmp3_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = tag_table_instance; +#line 55 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp0_ == NULL) { +#line 617 "TagTable.c" + TagTable* _tmp1_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp1_ = tag_table_new (); +#line 56 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _database_table_unref0 (tag_table_instance); +#line 56 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_table_instance = _tmp1_; +#line 625 "TagTable.c" + } +#line 58 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = tag_table_instance; +#line 58 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = _database_table_ref0 (_tmp2_); +#line 58 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = _tmp3_; +#line 58 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 635 "TagTable.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return self ? g_object_ref (self) : NULL; +#line 642 "TagTable.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 655 "TagTable.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 686 "TagTable.c" + goto __catch19_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 695 "TagTable.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 711 "TagTable.c" + goto __catch19_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 722 "TagTable.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 736 "TagTable.c" + } + goto __finally19; + __catch19_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 750 "TagTable.c" + } + __finally19: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 761 "TagTable.c" + } +} + + +void tag_table_upgrade_for_htags (void) { + TagTable* table = NULL; + TagTable* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = tag_table_get_instance (); +#line 62 "/home/jens/Source/shotwell/src/db/TagTable.vala" + table = _tmp0_; +#line 774 "TagTable.c" + { + GeeList* rows = NULL; + TagTable* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp1_ = table; +#line 65 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = tag_table_get_all_rows (_tmp1_, &_inner_error_); +#line 65 "/home/jens/Source/shotwell/src/db/TagTable.vala" + rows = _tmp2_; +#line 65 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 65 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 789 "TagTable.c" + goto __catch18_database_error; + } +#line 65 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _database_table_unref0 (table); +#line 65 "/home/jens/Source/shotwell/src/db/TagTable.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 65 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 65 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 800 "TagTable.c" + } + { + GeeList* _row_list = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _row_size = 0; + GeeList* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _row_index = 0; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = rows; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _row_list = _tmp4_; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = _row_list; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = _tmp6_; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _row_size = _tmp7_; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _row_index = -1; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + while (TRUE) { +#line 829 "TagTable.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + TagRow* row = NULL; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gpointer _tmp13_ = NULL; + TagRow* _tmp14_ = NULL; + TagRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + TagTable* _tmp18_ = NULL; + TagRow* _tmp19_ = NULL; + TagID _tmp20_ = {0}; + TagRow* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp8_ = _row_index; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _row_index = _tmp8_ + 1; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp9_ = _row_index; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp10_ = _row_size; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (!(_tmp9_ < _tmp10_)) { +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + break; +#line 858 "TagTable.c" + } +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = _row_list; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp12_ = _row_index; +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp13_ = gee_list_get (_tmp11_, _tmp12_); +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + row = (TagRow*) _tmp13_; +#line 68 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_ = row; +#line 68 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_ = row; +#line 68 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp16_ = _tmp15_->name; +#line 68 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp17_ = string_replace (_tmp16_, TAG_PATH_SEPARATOR_STRING, "-"); +#line 68 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (_tmp14_->name); +#line 68 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_->name = _tmp17_; +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp18_ = table; +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp19_ = row; +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp20_ = _tmp19_->tag_id; +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp21_ = row; +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp22_ = _tmp21_->name; +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_table_rename (_tmp18_, &_tmp20_, _tmp22_, &_inner_error_); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tag_row_unref0 (row); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (_row_list); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (rows); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 902 "TagTable.c" + goto __catch18_database_error; + } +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tag_row_unref0 (row); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (_row_list); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (rows); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _database_table_unref0 (table); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.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 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 69 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 919 "TagTable.c" + } +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tag_row_unref0 (row); +#line 923 "TagTable.c" + } +#line 67 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (_row_list); +#line 927 "TagTable.c" + } +#line 64 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (rows); +#line 931 "TagTable.c" + } + goto __finally18; + __catch18_database_error: + { + GError* e = NULL; + const gchar* _tmp23_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/db/TagTable.vala" + e = _inner_error_; +#line 64 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _inner_error_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp23_ = e->message; +#line 72 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_error ("TagTable.vala:72: TagTable: can't upgrade tag names for hierarchical t" \ +"ag support: %s", _tmp23_); +#line 64 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_error_free0 (e); +#line 948 "TagTable.c" + } + __finally18: +#line 64 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 64 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _database_table_unref0 (table); +#line 64 "/home/jens/Source/shotwell/src/db/TagTable.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 64 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 64 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 961 "TagTable.c" + } +#line 61 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _database_table_unref0 (table); +#line 965 "TagTable.c" +} + + +TagRow* tag_table_add (TagTable* self, const gchar* name, GError** error) { + TagRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + time_t time_created = 0; + gulong _tmp4_ = 0UL; + sqlite3_stmt* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GDestroyNotify _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + sqlite3_stmt* _tmp11_ = NULL; + time_t _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + sqlite3_stmt* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + TagRow* row = NULL; + TagRow* _tmp19_ = NULL; + TagRow* _tmp20_ = NULL; + sqlite3* _tmp21_ = NULL; + gint64 _tmp22_ = 0LL; + TagRow* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + TagRow* _tmp26_ = NULL; + TagRow* _tmp27_ = NULL; + time_t _tmp28_ = 0; + GError * _inner_error_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (IS_TAG_TABLE (self), NULL); +#line 76 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 78 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = database_table_db; +#line 78 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO TagTable (name, time_created) VALUES (?, ?)", -1, &_tmp1_, NULL); +#line 78 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 78 "/home/jens/Source/shotwell/src/db/TagTable.vala" + stmt = _tmp1_; +#line 78 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp2_; +#line 80 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = res; +#line 80 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 82 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = now_sec (); +#line 82 "/home/jens/Source/shotwell/src/db/TagTable.vala" + time_created = (time_t) _tmp4_; +#line 84 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = stmt; +#line 84 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = name; +#line 84 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 84 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp8_ = g_free; +#line 84 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp9_ = sqlite3_bind_text (_tmp5_, 1, _tmp7_, -1, _tmp8_); +#line 84 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp9_; +#line 85 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp10_ = res; +#line 85 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp10_ == SQLITE_OK, "res == Sqlite.OK"); +#line 86 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = stmt; +#line 86 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp12_ = time_created; +#line 86 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp13_ = sqlite3_bind_int64 (_tmp11_, 2, (gint64) _tmp12_); +#line 86 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp13_; +#line 87 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_ = res; +#line 87 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp14_ == SQLITE_OK, "res == Sqlite.OK"); +#line 89 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_ = stmt; +#line 89 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp16_ = sqlite3_step (_tmp15_); +#line 89 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp16_; +#line 90 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp17_ = res; +#line 90 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp17_ != SQLITE_DONE) { +#line 1064 "TagTable.c" + gint _tmp18_ = 0; +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp18_ = res; +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_throw_error ("TagTable.add", _tmp18_, &_inner_error_); +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_propagate_error (error, _inner_error_); +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return NULL; +#line 1080 "TagTable.c" + } else { +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.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 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 91 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return NULL; +#line 1090 "TagTable.c" + } + } + } +#line 93 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp19_ = tag_row_new (); +#line 93 "/home/jens/Source/shotwell/src/db/TagTable.vala" + row = _tmp19_; +#line 94 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp20_ = row; +#line 94 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp21_ = database_table_db; +#line 94 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp22_ = sqlite3_last_insert_rowid (_tmp21_); +#line 94 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_id_init (&_tmp20_->tag_id, _tmp22_); +#line 95 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp23_ = row; +#line 95 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp24_ = name; +#line 95 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp25_ = g_strdup (_tmp24_); +#line 95 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (_tmp23_->name); +#line 95 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp23_->name = _tmp25_; +#line 96 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp26_ = row; +#line 96 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (_tmp26_->source_id_list); +#line 96 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp26_->source_id_list = NULL; +#line 97 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp27_ = row; +#line 97 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp28_ = time_created; +#line 97 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp27_->time_created = _tmp28_; +#line 99 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = row; +#line 99 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 99 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 1134 "TagTable.c" +} + + +void tag_table_create_from_row (TagTable* self, TagRow* row, TagID* result, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + TagRow* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GDestroyNotify _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + sqlite3_stmt* _tmp11_ = NULL; + TagRow* _tmp12_ = NULL; + GeeSet* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GDestroyNotify _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + sqlite3_stmt* _tmp18_ = NULL; + TagRow* _tmp19_ = NULL; + time_t _tmp20_ = 0; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + sqlite3_stmt* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + sqlite3* _tmp27_ = NULL; + gint64 _tmp28_ = 0LL; + TagID _tmp29_ = {0}; + GError * _inner_error_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (IS_TAG_TABLE (self)); +#line 103 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (IS_TAG_ROW (row)); +#line 105 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = database_table_db; +#line 105 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO TagTable (name, photo_id_list, time_created) VALUES (?, ?," \ +" ?)", -1, &_tmp1_, NULL); +#line 105 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 105 "/home/jens/Source/shotwell/src/db/TagTable.vala" + stmt = _tmp1_; +#line 105 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp2_; +#line 107 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = res; +#line 107 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 109 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = stmt; +#line 109 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = row; +#line 109 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = _tmp5_->name; +#line 109 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 109 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp8_ = g_free; +#line 109 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp9_ = sqlite3_bind_text (_tmp4_, 1, _tmp7_, -1, _tmp8_); +#line 109 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp9_; +#line 110 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp10_ = res; +#line 110 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp10_ == SQLITE_OK, "res == Sqlite.OK"); +#line 111 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = stmt; +#line 111 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp12_ = row; +#line 111 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp13_ = _tmp12_->source_id_list; +#line 111 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_ = tag_table_serialize_source_ids (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 111 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_ = g_free; +#line 111 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp16_ = sqlite3_bind_text (_tmp11_, 2, _tmp14_, -1, _tmp15_); +#line 111 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp16_; +#line 112 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp17_ = res; +#line 112 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp17_ == SQLITE_OK, "res == Sqlite.OK"); +#line 113 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp18_ = stmt; +#line 113 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp19_ = row; +#line 113 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp20_ = _tmp19_->time_created; +#line 113 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp21_ = sqlite3_bind_int64 (_tmp18_, 3, (gint64) _tmp20_); +#line 113 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp21_; +#line 114 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp22_ = res; +#line 114 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp22_ == SQLITE_OK, "res == Sqlite.OK"); +#line 116 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp23_ = stmt; +#line 116 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp24_ = sqlite3_step (_tmp23_); +#line 116 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp24_; +#line 117 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp25_ = res; +#line 117 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp25_ != SQLITE_DONE) { +#line 1249 "TagTable.c" + gint _tmp26_ = 0; +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp26_ = res; +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_throw_error ("TagTable.create_from_row", _tmp26_, &_inner_error_); +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_propagate_error (error, _inner_error_); +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1265 "TagTable.c" + } else { +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.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 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 118 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1275 "TagTable.c" + } + } + } +#line 120 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp27_ = database_table_db; +#line 120 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp28_ = sqlite3_last_insert_rowid (_tmp27_); +#line 120 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_id_init (&_tmp29_, _tmp28_); +#line 120 "/home/jens/Source/shotwell/src/db/TagTable.vala" + *result = _tmp29_; +#line 120 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 120 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1291 "TagTable.c" +} + + +void tag_table_remove (TagTable* self, TagID* tag_id, GError** error) { + TagID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + GError * _inner_error_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (IS_TAG_TABLE (self)); +#line 123 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (tag_id != NULL); +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = *tag_id; +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp1_ = _tmp0_.id; +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_delete_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, &_inner_error_); +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_propagate_error (error, _inner_error_); +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1317 "TagTable.c" + } else { +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.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 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 124 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1325 "TagTable.c" + } + } +} + + +gchar* tag_table_get_name (TagTable* self, TagID* tag_id, GError** error) { + gchar* result = NULL; + sqlite3_stmt* stmt = NULL; + TagID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + sqlite3_stmt* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + sqlite3_stmt* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (IS_TAG_TABLE (self), NULL); +#line 127 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (tag_id != NULL, NULL); +#line 129 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = *tag_id; +#line 129 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp1_ = _tmp0_.id; +#line 129 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = database_table_select_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "name", &_tmp2_); +#line 129 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 129 "/home/jens/Source/shotwell/src/db/TagTable.vala" + stmt = _tmp2_; +#line 129 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (!_tmp3_) { +#line 130 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = NULL; +#line 130 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 130 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 1363 "TagTable.c" + } +#line 132 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = stmt; +#line 132 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = sqlite3_column_text (_tmp4_, 0); +#line 132 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 132 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = _tmp6_; +#line 132 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 132 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 1377 "TagTable.c" +} + + +TagRow* tag_table_get_row (TagTable* self, TagID* tag_id, GError** error) { + TagRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + TagID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + TagRow* row = NULL; + TagRow* _tmp14_ = NULL; + TagRow* _tmp15_ = NULL; + TagID _tmp16_ = {0}; + TagRow* _tmp17_ = NULL; + sqlite3_stmt* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + TagRow* _tmp21_ = NULL; + sqlite3_stmt* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + GeeSet* _tmp24_ = NULL; + TagRow* _tmp25_ = NULL; + sqlite3_stmt* _tmp26_ = NULL; + gint64 _tmp27_ = 0LL; + GError * _inner_error_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (IS_TAG_TABLE (self), NULL); +#line 135 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (tag_id != NULL, NULL); +#line 137 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = database_table_db; +#line 137 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT name, photo_id_list, time_created FROM TagTable WHERE id=?", -1, &_tmp1_, NULL); +#line 137 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 137 "/home/jens/Source/shotwell/src/db/TagTable.vala" + stmt = _tmp1_; +#line 137 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp2_; +#line 139 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = res; +#line 139 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 141 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = stmt; +#line 141 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = *tag_id; +#line 141 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = _tmp5_.id; +#line 141 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 141 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp7_; +#line 142 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp8_ = res; +#line 142 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 144 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp9_ = stmt; +#line 144 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 144 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp10_; +#line 145 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = res; +#line 145 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp11_ == SQLITE_DONE) { +#line 146 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = NULL; +#line 146 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 146 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 1461 "TagTable.c" + } else { + gint _tmp12_ = 0; +#line 147 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp12_ = res; +#line 147 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp12_ != SQLITE_ROW) { +#line 1468 "TagTable.c" + gint _tmp13_ = 0; +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp13_ = res; +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_throw_error ("TagTable.get_row", _tmp13_, &_inner_error_); +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_propagate_error (error, _inner_error_); +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return NULL; +#line 1484 "TagTable.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.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 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 148 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return NULL; +#line 1494 "TagTable.c" + } + } + } + } +#line 150 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_ = tag_row_new (); +#line 150 "/home/jens/Source/shotwell/src/db/TagTable.vala" + row = _tmp14_; +#line 151 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_ = row; +#line 151 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp16_ = *tag_id; +#line 151 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_->tag_id = _tmp16_; +#line 152 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp17_ = row; +#line 152 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp18_ = stmt; +#line 152 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp19_ = sqlite3_column_text (_tmp18_, 0); +#line 152 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp20_ = g_strdup (_tmp19_); +#line 152 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (_tmp17_->name); +#line 152 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp17_->name = _tmp20_; +#line 153 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp21_ = row; +#line 153 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp22_ = stmt; +#line 153 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp23_ = sqlite3_column_text (_tmp22_, 1); +#line 153 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp24_ = tag_table_unserialize_source_ids (self, _tmp23_); +#line 153 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (_tmp21_->source_id_list); +#line 153 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp21_->source_id_list = _tmp24_; +#line 154 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp25_ = row; +#line 154 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp26_ = stmt; +#line 154 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp27_ = sqlite3_column_int64 (_tmp26_, 2); +#line 154 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp25_->time_created = (time_t) _tmp27_; +#line 156 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = row; +#line 156 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 156 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 1547 "TagTable.c" +} + + +GeeList* tag_table_get_all_rows (TagTable* self, GError** error) { + GeeList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeList* rows = NULL; + GeeArrayList* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (IS_TAG_TABLE (self), NULL); +#line 161 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = database_table_db; +#line 161 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id, name, photo_id_list, time_created FROM TagTable", -1, &_tmp1_, NULL); +#line 161 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 161 "/home/jens/Source/shotwell/src/db/TagTable.vala" + stmt = _tmp1_; +#line 161 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp2_; +#line 163 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = res; +#line 163 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 165 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = gee_array_list_new (TYPE_TAG_ROW, (GBoxedCopyFunc) tag_row_ref, tag_row_unref, NULL, NULL, NULL); +#line 165 "/home/jens/Source/shotwell/src/db/TagTable.vala" + rows = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_LIST, GeeList); +#line 1582 "TagTable.c" + { + gboolean _tmp5_ = FALSE; +#line 167 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = TRUE; +#line 167 "/home/jens/Source/shotwell/src/db/TagTable.vala" + while (TRUE) { +#line 1589 "TagTable.c" + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + TagRow* row = NULL; + TagRow* _tmp11_ = NULL; + TagRow* _tmp12_ = NULL; + sqlite3_stmt* _tmp13_ = NULL; + gint64 _tmp14_ = 0LL; + TagRow* _tmp15_ = NULL; + sqlite3_stmt* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + TagRow* _tmp19_ = NULL; + sqlite3_stmt* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GeeSet* _tmp22_ = NULL; + TagRow* _tmp23_ = NULL; + sqlite3_stmt* _tmp24_ = NULL; + gint64 _tmp25_ = 0LL; + GeeList* _tmp26_ = NULL; + TagRow* _tmp27_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (!_tmp5_) { +#line 1613 "TagTable.c" + } +#line 167 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = FALSE; +#line 168 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = stmt; +#line 168 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = sqlite3_step (_tmp6_); +#line 168 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp7_; +#line 169 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp8_ = res; +#line 169 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp8_ == SQLITE_DONE) { +#line 170 "/home/jens/Source/shotwell/src/db/TagTable.vala" + break; +#line 1629 "TagTable.c" + } else { + gint _tmp9_ = 0; +#line 171 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp9_ = res; +#line 171 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp9_ != SQLITE_ROW) { +#line 1636 "TagTable.c" + gint _tmp10_ = 0; +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp10_ = res; +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_throw_error ("TagTable.get_all_rows", _tmp10_, &_inner_error_); +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_propagate_error (error, _inner_error_); +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (rows); +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return NULL; +#line 1654 "TagTable.c" + } else { +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (rows); +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.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 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 172 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return NULL; +#line 1666 "TagTable.c" + } + } + } + } +#line 175 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = tag_row_new (); +#line 175 "/home/jens/Source/shotwell/src/db/TagTable.vala" + row = _tmp11_; +#line 176 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp12_ = row; +#line 176 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp13_ = stmt; +#line 176 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_ = sqlite3_column_int64 (_tmp13_, 0); +#line 176 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_id_init (&_tmp12_->tag_id, _tmp14_); +#line 177 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_ = row; +#line 177 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp16_ = stmt; +#line 177 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp17_ = sqlite3_column_text (_tmp16_, 1); +#line 177 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 177 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (_tmp15_->name); +#line 177 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_->name = _tmp18_; +#line 178 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp19_ = row; +#line 178 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp20_ = stmt; +#line 178 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp21_ = sqlite3_column_text (_tmp20_, 2); +#line 178 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp22_ = tag_table_unserialize_source_ids (self, _tmp21_); +#line 178 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (_tmp19_->source_id_list); +#line 178 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp19_->source_id_list = _tmp22_; +#line 179 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp23_ = row; +#line 179 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp24_ = stmt; +#line 179 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp25_ = sqlite3_column_int64 (_tmp24_, 3); +#line 179 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp23_->time_created = (time_t) _tmp25_; +#line 181 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp26_ = rows; +#line 181 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp27_ = row; +#line 181 "/home/jens/Source/shotwell/src/db/TagTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection), _tmp27_); +#line 167 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tag_row_unref0 (row); +#line 1723 "TagTable.c" + } + } +#line 184 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = rows; +#line 184 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 184 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 1732 "TagTable.c" +} + + +void tag_table_rename (TagTable* self, TagID* tag_id, const gchar* new_name, GError** error) { + TagID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + const gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (IS_TAG_TABLE (self)); +#line 187 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (tag_id != NULL); +#line 187 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (new_name != NULL); +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = *tag_id; +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp1_ = _tmp0_.id; +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = new_name; +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "name", _tmp2_, &_inner_error_); +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_propagate_error (error, _inner_error_); +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1763 "TagTable.c" + } else { +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.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 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 188 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1771 "TagTable.c" + } + } +} + + +void tag_table_set_tagged_sources (TagTable* self, TagID* tag_id, GeeCollection* source_ids, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + sqlite3_stmt* _tmp10_ = NULL; + TagID _tmp11_ = {0}; + gint64 _tmp12_ = 0LL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + sqlite3_stmt* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + GError * _inner_error_ = NULL; +#line 191 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (IS_TAG_TABLE (self)); +#line 191 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (tag_id != NULL); +#line 191 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_if_fail (GEE_IS_COLLECTION (source_ids)); +#line 193 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = database_table_db; +#line 193 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE TagTable SET photo_id_list=? WHERE id=?", -1, &_tmp1_, NULL); +#line 193 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 193 "/home/jens/Source/shotwell/src/db/TagTable.vala" + stmt = _tmp1_; +#line 193 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp2_; +#line 194 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = res; +#line 194 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 196 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = stmt; +#line 196 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = source_ids; +#line 196 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = tag_table_serialize_source_ids (self, _tmp5_); +#line 196 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = g_free; +#line 196 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp8_ = sqlite3_bind_text (_tmp4_, 1, _tmp6_, -1, _tmp7_); +#line 196 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp8_; +#line 197 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp9_ = res; +#line 197 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 198 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp10_ = stmt; +#line 198 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = *tag_id; +#line 198 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp12_ = _tmp11_.id; +#line 198 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp13_ = sqlite3_bind_int64 (_tmp10_, 2, _tmp12_); +#line 198 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp13_; +#line 199 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_ = res; +#line 199 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _vala_assert (_tmp14_ == SQLITE_OK, "res == Sqlite.OK"); +#line 201 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_ = stmt; +#line 201 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp16_ = sqlite3_step (_tmp15_); +#line 201 "/home/jens/Source/shotwell/src/db/TagTable.vala" + res = _tmp16_; +#line 202 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp17_ = res; +#line 202 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp17_ != SQLITE_DONE) { +#line 1859 "TagTable.c" + gint _tmp18_ = 0; +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp18_ = res; +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + database_table_throw_error ("TagTable.set_tagged_photos", _tmp18_, &_inner_error_); +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_propagate_error (error, _inner_error_); +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1875 "TagTable.c" + } else { +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.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 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_clear_error (&_inner_error_); +#line 203 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return; +#line 1885 "TagTable.c" + } + } + } +#line 191 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _sqlite3_finalize0 (stmt); +#line 1891 "TagTable.c" +} + + +static gchar* tag_table_serialize_source_ids (TagTable* self, GeeCollection* source_ids) { + gchar* result = NULL; + GeeCollection* _tmp0_ = NULL; + GString* _result_ = NULL; + GString* _tmp1_ = NULL; + const gchar* _tmp11_ = NULL; + GString* _tmp12_ = NULL; + gssize _tmp13_ = 0L; + gchar* _tmp16_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (IS_TAG_TABLE (self), NULL); +#line 206 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail ((source_ids == NULL) || GEE_IS_COLLECTION (source_ids), NULL); +#line 207 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = source_ids; +#line 207 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp0_ == NULL) { +#line 208 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = NULL; +#line 208 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 1916 "TagTable.c" + } +#line 210 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp1_ = g_string_new (""); +#line 210 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _result_ = _tmp1_; +#line 1922 "TagTable.c" + { + GeeIterator* _source_id_it = NULL; + GeeCollection* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = source_ids; +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _source_id_it = _tmp3_; +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + while (TRUE) { +#line 1935 "TagTable.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gchar* source_id = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + GString* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GString* _tmp10_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = _source_id_it; +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (!_tmp5_) { +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + break; +#line 1952 "TagTable.c" + } +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = _source_id_it; +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + source_id = (gchar*) _tmp7_; +#line 213 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp8_ = _result_; +#line 213 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp9_ = source_id; +#line 213 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_string_append (_tmp8_, _tmp9_); +#line 214 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp10_ = _result_; +#line 214 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_string_append (_tmp10_, ","); +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (source_id); +#line 1972 "TagTable.c" + } +#line 212 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_object_unref0 (_source_id_it); +#line 1976 "TagTable.c" + } +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp12_ = _result_; +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp13_ = _tmp12_->len; +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp13_ != ((gssize) 0)) { +#line 1984 "TagTable.c" + GString* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_ = _result_; +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp15_ = _tmp14_->str; +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = _tmp15_; +#line 1993 "TagTable.c" + } else { +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = NULL; +#line 1997 "TagTable.c" + } +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp16_ = g_strdup (_tmp11_); +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = _tmp16_; +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_string_free0 (_result_); +#line 217 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 2007 "TagTable.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2025 "TagTable.c" +} + + +static GeeSet* tag_table_unserialize_source_ids (TagTable* self, const gchar* text_list) { + GeeSet* result = NULL; + GeeSet* _result_ = NULL; + GeeHashSet* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar** split = NULL; + const gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gint split_length1 = 0; + gint _split_size_ = 0; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 220 "/home/jens/Source/shotwell/src/db/TagTable.vala" + g_return_val_if_fail (IS_TAG_TABLE (self), NULL); +#line 221 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 221 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _result_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_SET, GeeSet); +#line 223 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp1_ = text_list; +#line 223 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp1_ == NULL) { +#line 224 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = _result_; +#line 224 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 2056 "TagTable.c" + } +#line 226 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp2_ = text_list; +#line 226 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp4_ = _tmp3_ = g_strsplit (_tmp2_, ",", 0); +#line 226 "/home/jens/Source/shotwell/src/db/TagTable.vala" + split = _tmp4_; +#line 226 "/home/jens/Source/shotwell/src/db/TagTable.vala" + split_length1 = _vala_array_length (_tmp3_); +#line 226 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _split_size_ = split_length1; +#line 227 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5_ = split; +#line 227 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp5__length1 = split_length1; +#line 2072 "TagTable.c" + { + gchar** token_collection = NULL; + gint token_collection_length1 = 0; + gint _token_collection_size_ = 0; + gint token_it = 0; +#line 227 "/home/jens/Source/shotwell/src/db/TagTable.vala" + token_collection = _tmp5_; +#line 227 "/home/jens/Source/shotwell/src/db/TagTable.vala" + token_collection_length1 = _tmp5__length1; +#line 227 "/home/jens/Source/shotwell/src/db/TagTable.vala" + for (token_it = 0; token_it < _tmp5__length1; token_it = token_it + 1) { +#line 2084 "TagTable.c" + gchar* _tmp6_ = NULL; + gchar* token = NULL; +#line 227 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp6_ = g_strdup (token_collection[token_it]); +#line 227 "/home/jens/Source/shotwell/src/db/TagTable.vala" + token = _tmp6_; +#line 2091 "TagTable.c" + { + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + const gchar* _tmp9_ = NULL; + gchar _tmp10_ = '\0'; + gboolean _tmp11_ = FALSE; +#line 228 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp7_ = token; +#line 228 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp8_ = is_string_empty (_tmp7_); +#line 228 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp8_) { +#line 229 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (token); +#line 229 "/home/jens/Source/shotwell/src/db/TagTable.vala" + continue; +#line 2108 "TagTable.c" + } +#line 236 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp9_ = token; +#line 236 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp10_ = string_get (_tmp9_, (glong) 0); +#line 236 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp11_ = g_ascii_isdigit (_tmp10_); +#line 236 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp11_) { +#line 2118 "TagTable.c" + GeeSet* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gint64 _tmp14_ = 0LL; + PhotoID _tmp15_ = {0}; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 238 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp12_ = _result_; +#line 238 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp13_ = token; +#line 238 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp14_ = parse_int64 (_tmp13_, 10); +#line 238 "/home/jens/Source/shotwell/src/db/TagTable.vala" + photo_id_init (&_tmp15_, _tmp14_); +#line 238 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp16_ = photo_id_upgrade_photo_id_to_source_id (&_tmp15_); +#line 238 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp17_ = _tmp16_; +#line 238 "/home/jens/Source/shotwell/src/db/TagTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp17_); +#line 238 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (_tmp17_); +#line 2141 "TagTable.c" + } else { + const gchar* _tmp18_ = NULL; + gchar _tmp19_ = '\0'; + gboolean _tmp20_ = FALSE; +#line 239 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp18_ = token; +#line 239 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp19_ = string_get (_tmp18_, (glong) 0); +#line 239 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp20_ = g_ascii_isalpha (_tmp19_); +#line 239 "/home/jens/Source/shotwell/src/db/TagTable.vala" + if (_tmp20_) { +#line 2154 "TagTable.c" + GeeSet* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 241 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp21_ = _result_; +#line 241 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _tmp22_ = token; +#line 241 "/home/jens/Source/shotwell/src/db/TagTable.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_COLLECTION, GeeCollection), _tmp22_); +#line 2163 "TagTable.c" + } + } +#line 227 "/home/jens/Source/shotwell/src/db/TagTable.vala" + _g_free0 (token); +#line 2168 "TagTable.c" + } + } + } +#line 245 "/home/jens/Source/shotwell/src/db/TagTable.vala" + result = _result_; +#line 245 "/home/jens/Source/shotwell/src/db/TagTable.vala" + split = (_vala_array_free (split, split_length1, (GDestroyNotify) g_free), NULL); +#line 245 "/home/jens/Source/shotwell/src/db/TagTable.vala" + return result; +#line 2178 "TagTable.c" +} + + +static void tag_table_class_init (TagTableClass * klass) { +#line 32 "/home/jens/Source/shotwell/src/db/TagTable.vala" + tag_table_parent_class = g_type_class_peek_parent (klass); +#line 32 "/home/jens/Source/shotwell/src/db/TagTable.vala" + ((DatabaseTableClass *) klass)->finalize = tag_table_finalize; +#line 2187 "TagTable.c" +} + + +static void tag_table_instance_init (TagTable * self) { +} + + +static void tag_table_finalize (DatabaseTable* obj) { + TagTable * self; +#line 32 "/home/jens/Source/shotwell/src/db/TagTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TAG_TABLE, TagTable); +#line 32 "/home/jens/Source/shotwell/src/db/TagTable.vala" + DATABASE_TABLE_CLASS (tag_table_parent_class)->finalize (obj); +#line 2201 "TagTable.c" +} + + +GType tag_table_get_type (void) { + static volatile gsize tag_table_type_id__volatile = 0; + if (g_once_init_enter (&tag_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tag_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagTable), 0, (GInstanceInitFunc) tag_table_instance_init, NULL }; + GType tag_table_type_id; + tag_table_type_id = g_type_register_static (TYPE_DATABASE_TABLE, "TagTable", &g_define_type_info, 0); + g_once_init_leave (&tag_table_type_id__volatile, tag_table_type_id); + } + return tag_table_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/db/TombstoneTable.c b/src/db/TombstoneTable.c new file mode 100644 index 0000000..542e568 --- /dev/null +++ b/src/db/TombstoneTable.c @@ -0,0 +1,1295 @@ +/* TombstoneTable.c generated by valac 0.32.1, the Vala compiler + * generated from TombstoneTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_TOMBSTONE_ID (tombstone_id_get_type ()) +typedef struct _TombstoneID TombstoneID; + +#define TYPE_TOMBSTONE_ROW (tombstone_row_get_type ()) +#define TOMBSTONE_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_ROW, TombstoneRow)) +#define TOMBSTONE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_ROW, TombstoneRowClass)) +#define IS_TOMBSTONE_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_ROW)) +#define IS_TOMBSTONE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_ROW)) +#define TOMBSTONE_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_ROW, TombstoneRowClass)) + +typedef struct _TombstoneRow TombstoneRow; +typedef struct _TombstoneRowClass TombstoneRowClass; +typedef struct _TombstoneRowPrivate TombstoneRowPrivate; + +#define TOMBSTONE_TYPE_REASON (tombstone_reason_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecTombstoneRow ParamSpecTombstoneRow; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; +typedef struct _DatabaseTablePrivate DatabaseTablePrivate; + +#define TYPE_TOMBSTONE_TABLE (tombstone_table_get_type ()) +#define TOMBSTONE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TOMBSTONE_TABLE, TombstoneTable)) +#define TOMBSTONE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TOMBSTONE_TABLE, TombstoneTableClass)) +#define IS_TOMBSTONE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TOMBSTONE_TABLE)) +#define IS_TOMBSTONE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TOMBSTONE_TABLE)) +#define TOMBSTONE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TOMBSTONE_TABLE, TombstoneTableClass)) + +typedef struct _TombstoneTable TombstoneTable; +typedef struct _TombstoneTableClass TombstoneTableClass; +typedef struct _TombstoneTablePrivate TombstoneTablePrivate; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _tombstone_row_unref0(var) ((var == NULL) ? NULL : (var = (tombstone_row_unref (var), NULL))) +#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 _TombstoneID { + gint64 id; +}; + +typedef enum { + TOMBSTONE_REASON_REMOVED_BY_USER = 0, + TOMBSTONE_REASON_AUTO_DETECTED_DUPLICATE = 1 +} TombstoneReason; + +struct _TombstoneRow { + GTypeInstance parent_instance; + volatile int ref_count; + TombstoneRowPrivate * priv; + TombstoneID id; + gchar* filepath; + gint64 filesize; + gchar* md5; + time_t time_created; + TombstoneReason reason; +}; + +struct _TombstoneRowClass { + GTypeClass parent_class; + void (*finalize) (TombstoneRow *self); +}; + +struct _ParamSpecTombstoneRow { + GParamSpec parent_instance; +}; + +struct _DatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + DatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _DatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (DatabaseTable *self); +}; + +struct _TombstoneTable { + DatabaseTable parent_instance; + TombstoneTablePrivate * priv; +}; + +struct _TombstoneTableClass { + DatabaseTableClass parent_class; +}; + +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 () + +static gpointer tombstone_row_parent_class = NULL; +static gpointer tombstone_table_parent_class = NULL; +static TombstoneTable* tombstone_table_instance; +static TombstoneTable* tombstone_table_instance = NULL; +extern sqlite3* database_table_db; + +GType tombstone_id_get_type (void) G_GNUC_CONST; +TombstoneID* tombstone_id_dup (const TombstoneID* self); +void tombstone_id_free (TombstoneID* self); +#define TOMBSTONE_ID_INVALID ((gint64) -1) +void tombstone_id_init (TombstoneID *self, gint64 id); +gboolean tombstone_id_is_invalid (TombstoneID *self); +gboolean tombstone_id_is_valid (TombstoneID *self); +gpointer tombstone_row_ref (gpointer instance); +void tombstone_row_unref (gpointer instance); +GParamSpec* param_spec_tombstone_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_tombstone_row (GValue* value, gpointer v_object); +void value_take_tombstone_row (GValue* value, gpointer v_object); +gpointer value_get_tombstone_row (const GValue* value); +GType tombstone_row_get_type (void) G_GNUC_CONST; +GType tombstone_reason_get_type (void) G_GNUC_CONST; +enum { + TOMBSTONE_ROW_DUMMY_PROPERTY +}; +TombstoneRow* tombstone_row_new (void); +TombstoneRow* tombstone_row_construct (GType object_type); +static void tombstone_row_finalize (TombstoneRow* obj); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType tombstone_table_get_type (void) G_GNUC_CONST; +enum { + TOMBSTONE_TABLE_DUMMY_PROPERTY +}; +static TombstoneTable* tombstone_table_new (void); +static TombstoneTable* tombstone_table_construct (GType object_type); +DatabaseTable* database_table_construct (GType object_type); +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name); +void database_table_fatal (const gchar* op, gint res); +TombstoneTable* tombstone_table_get_instance (void); +GQuark database_error_quark (void); +TombstoneRow* tombstone_table_add (TombstoneTable* self, const gchar* filepath, gint64 filesize, const gchar* md5, TombstoneReason reason, GError** error); +gulong now_sec (void); +gint tombstone_reason_serialize (TombstoneReason self); +void database_table_throw_error (const gchar* method, gint res, GError** error); +TombstoneRow** tombstone_table_fetch_all (TombstoneTable* self, int* result_length1, GError** error); +gint database_table_get_row_count (DatabaseTable* self); +TombstoneReason tombstone_reason_unserialize (gint value); +void tombstone_table_update_file (TombstoneTable* self, TombstoneID* tombstone_id, const gchar* filepath, GError** error); +void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error); +void tombstone_table_remove (TombstoneTable* self, TombstoneID* tombstone_id, GError** error); +void database_table_delete_by_id (DatabaseTable* self, gint64 id, GError** error); +static void tombstone_table_finalize (DatabaseTable* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +void tombstone_id_init (TombstoneID *self, gint64 id) { + gint64 _tmp0_ = 0LL; +#line 12 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + memset (self, 0, sizeof (TombstoneID)); +#line 13 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = id; +#line 13 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + (*self).id = _tmp0_; +#line 197 "TombstoneTable.c" +} + + +gboolean tombstone_id_is_invalid (TombstoneID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 17 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = (*self).id; +#line 17 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + result = _tmp0_ == TOMBSTONE_ID_INVALID; +#line 17 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return result; +#line 210 "TombstoneTable.c" +} + + +gboolean tombstone_id_is_valid (TombstoneID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 21 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = (*self).id; +#line 21 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + result = _tmp0_ != TOMBSTONE_ID_INVALID; +#line 21 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return result; +#line 223 "TombstoneTable.c" +} + + +TombstoneID* tombstone_id_dup (const TombstoneID* self) { + TombstoneID* dup; +#line 7 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + dup = g_new0 (TombstoneID, 1); +#line 7 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + memcpy (dup, self, sizeof (TombstoneID)); +#line 7 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return dup; +#line 235 "TombstoneTable.c" +} + + +void tombstone_id_free (TombstoneID* self) { +#line 7 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_free (self); +#line 242 "TombstoneTable.c" +} + + +GType tombstone_id_get_type (void) { + static volatile gsize tombstone_id_type_id__volatile = 0; + if (g_once_init_enter (&tombstone_id_type_id__volatile)) { + GType tombstone_id_type_id; + tombstone_id_type_id = g_boxed_type_register_static ("TombstoneID", (GBoxedCopyFunc) tombstone_id_dup, (GBoxedFreeFunc) tombstone_id_free); + g_once_init_leave (&tombstone_id_type_id__volatile, tombstone_id_type_id); + } + return tombstone_id_type_id__volatile; +} + + +TombstoneRow* tombstone_row_construct (GType object_type) { + TombstoneRow* self = NULL; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + self = (TombstoneRow*) g_type_create_instance (object_type); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return self; +#line 263 "TombstoneTable.c" +} + + +TombstoneRow* tombstone_row_new (void) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return tombstone_row_construct (TYPE_TOMBSTONE_ROW); +#line 270 "TombstoneTable.c" +} + + +static void value_tombstone_row_init (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + value->data[0].v_pointer = NULL; +#line 277 "TombstoneTable.c" +} + + +static void value_tombstone_row_free_value (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_row_unref (value->data[0].v_pointer); +#line 286 "TombstoneTable.c" + } +} + + +static void value_tombstone_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (src_value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + dest_value->data[0].v_pointer = tombstone_row_ref (src_value->data[0].v_pointer); +#line 296 "TombstoneTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 300 "TombstoneTable.c" + } +} + + +static gpointer value_tombstone_row_peek_pointer (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return value->data[0].v_pointer; +#line 308 "TombstoneTable.c" +} + + +static gchar* value_tombstone_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (collect_values[0].v_pointer) { +#line 315 "TombstoneTable.c" + TombstoneRow* object; + object = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 322 "TombstoneTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 326 "TombstoneTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + value->data[0].v_pointer = tombstone_row_ref (object); +#line 330 "TombstoneTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + value->data[0].v_pointer = NULL; +#line 334 "TombstoneTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return NULL; +#line 338 "TombstoneTable.c" +} + + +static gchar* value_tombstone_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TombstoneRow** object_p; + object_p = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (!object_p) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 349 "TombstoneTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (!value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + *object_p = NULL; +#line 355 "TombstoneTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + *object_p = value->data[0].v_pointer; +#line 359 "TombstoneTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + *object_p = tombstone_row_ref (value->data[0].v_pointer); +#line 363 "TombstoneTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return NULL; +#line 367 "TombstoneTable.c" +} + + +GParamSpec* param_spec_tombstone_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTombstoneRow* spec; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TOMBSTONE_ROW), NULL); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return G_PARAM_SPEC (spec); +#line 381 "TombstoneTable.c" +} + + +gpointer value_get_tombstone_row (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TOMBSTONE_ROW), NULL); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return value->data[0].v_pointer; +#line 390 "TombstoneTable.c" +} + + +void value_set_tombstone_row (GValue* value, gpointer v_object) { + TombstoneRow* old; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TOMBSTONE_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TOMBSTONE_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + value->data[0].v_pointer = v_object; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_row_ref (value->data[0].v_pointer); +#line 410 "TombstoneTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + value->data[0].v_pointer = NULL; +#line 414 "TombstoneTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_row_unref (old); +#line 420 "TombstoneTable.c" + } +} + + +void value_take_tombstone_row (GValue* value, gpointer v_object) { + TombstoneRow* old; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TOMBSTONE_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TOMBSTONE_ROW)); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + value->data[0].v_pointer = v_object; +#line 439 "TombstoneTable.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + value->data[0].v_pointer = NULL; +#line 443 "TombstoneTable.c" + } +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_row_unref (old); +#line 449 "TombstoneTable.c" + } +} + + +static void tombstone_row_class_init (TombstoneRowClass * klass) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_row_parent_class = g_type_class_peek_parent (klass); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + ((TombstoneRowClass *) klass)->finalize = tombstone_row_finalize; +#line 459 "TombstoneTable.c" +} + + +static void tombstone_row_instance_init (TombstoneRow * self) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + self->ref_count = 1; +#line 466 "TombstoneTable.c" +} + + +static void tombstone_row_finalize (TombstoneRow* obj) { + TombstoneRow * self; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TOMBSTONE_ROW, TombstoneRow); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_signal_handlers_destroy (self); +#line 27 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _g_free0 (self->filepath); +#line 29 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _g_free0 (self->md5); +#line 480 "TombstoneTable.c" +} + + +GType tombstone_row_get_type (void) { + static volatile gsize tombstone_row_type_id__volatile = 0; + if (g_once_init_enter (&tombstone_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_tombstone_row_init, value_tombstone_row_free_value, value_tombstone_row_copy_value, value_tombstone_row_peek_pointer, "p", value_tombstone_row_collect_value, "p", value_tombstone_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TombstoneRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tombstone_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TombstoneRow), 0, (GInstanceInitFunc) tombstone_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType tombstone_row_type_id; + tombstone_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TombstoneRow", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&tombstone_row_type_id__volatile, tombstone_row_type_id); + } + return tombstone_row_type_id__volatile; +} + + +gpointer tombstone_row_ref (gpointer instance) { + TombstoneRow* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return instance; +#line 505 "TombstoneTable.c" +} + + +void tombstone_row_unref (gpointer instance) { + TombstoneRow* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + TOMBSTONE_ROW_GET_CLASS (self)->finalize (self); +#line 25 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 518 "TombstoneTable.c" + } +} + + +static TombstoneTable* tombstone_table_construct (GType object_type) { + TombstoneTable* self = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 37 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + self = (TombstoneTable*) database_table_construct (object_type); +#line 38 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), "TombstoneTable"); +#line 41 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = database_table_db; +#line 41 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "CREATE TABLE IF NOT EXISTS " "TombstoneTable " "(" "id INTEGER PRIMARY KEY, " "filepath TEXT NOT NULL, " "filesize INTEGER, " "md5 TEXT, " "time_created INTEGER, " "reason INTEGER DEFAULT 0 " ")", -1, &_tmp1_, NULL); +#line 41 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 41 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + stmt = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp2_; +#line 51 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp3_ = res; +#line 51 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 53 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp4_ = stmt; +#line 53 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 53 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp5_; +#line 54 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp6_ = res; +#line 54 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_tmp6_ != SQLITE_DONE) { +#line 562 "TombstoneTable.c" + gint _tmp7_ = 0; +#line 55 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp7_ = res; +#line 55 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + database_table_fatal ("create TombstoneTable", _tmp7_); +#line 568 "TombstoneTable.c" + } +#line 37 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 37 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return self; +#line 574 "TombstoneTable.c" +} + + +static TombstoneTable* tombstone_table_new (void) { +#line 37 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return tombstone_table_construct (TYPE_TOMBSTONE_TABLE); +#line 581 "TombstoneTable.c" +} + + +static gpointer _database_table_ref0 (gpointer self) { +#line 62 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return self ? database_table_ref (self) : NULL; +#line 588 "TombstoneTable.c" +} + + +TombstoneTable* tombstone_table_get_instance (void) { + TombstoneTable* result = NULL; + TombstoneTable* _tmp0_ = NULL; + TombstoneTable* _tmp2_ = NULL; + TombstoneTable* _tmp3_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = tombstone_table_instance; +#line 59 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_tmp0_ == NULL) { +#line 601 "TombstoneTable.c" + TombstoneTable* _tmp1_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp1_ = tombstone_table_new (); +#line 60 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _database_table_unref0 (tombstone_table_instance); +#line 60 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_table_instance = _tmp1_; +#line 609 "TombstoneTable.c" + } +#line 62 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp2_ = tombstone_table_instance; +#line 62 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp3_ = _database_table_ref0 (_tmp2_); +#line 62 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + result = _tmp3_; +#line 62 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return result; +#line 619 "TombstoneTable.c" +} + + +TombstoneRow* tombstone_table_add (TombstoneTable* self, const gchar* filepath, gint64 filesize, const gchar* md5, TombstoneReason reason, GError** error) { + TombstoneRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + time_t time_created = 0; + gulong _tmp4_ = 0UL; + sqlite3_stmt* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GDestroyNotify _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + sqlite3_stmt* _tmp11_ = NULL; + gint64 _tmp12_ = 0LL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + sqlite3_stmt* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GDestroyNotify _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + sqlite3_stmt* _tmp21_ = NULL; + time_t _tmp22_ = 0; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + sqlite3_stmt* _tmp25_ = NULL; + TombstoneReason _tmp26_ = 0; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + sqlite3_stmt* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + TombstoneRow* row = NULL; + TombstoneRow* _tmp34_ = NULL; + TombstoneRow* _tmp35_ = NULL; + sqlite3* _tmp36_ = NULL; + gint64 _tmp37_ = 0LL; + TombstoneRow* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + TombstoneRow* _tmp41_ = NULL; + gint64 _tmp42_ = 0LL; + TombstoneRow* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + TombstoneRow* _tmp46_ = NULL; + time_t _tmp47_ = 0; + TombstoneRow* _tmp48_ = NULL; + TombstoneReason _tmp49_ = 0; + GError * _inner_error_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_val_if_fail (IS_TOMBSTONE_TABLE (self), NULL); +#line 65 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 68 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = database_table_db; +#line 68 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO TombstoneTable " "(filepath, filesize, md5, time_created, reason) " "VALUES (?, ?, ?, ?, ?)", -1, &_tmp1_, NULL); +#line 68 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 68 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + stmt = _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp2_; +#line 72 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp3_ = res; +#line 72 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 74 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp4_ = now_sec (); +#line 74 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + time_created = (time_t) _tmp4_; +#line 76 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp5_ = stmt; +#line 76 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp6_ = filepath; +#line 76 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 76 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp8_ = g_free; +#line 76 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp9_ = sqlite3_bind_text (_tmp5_, 1, _tmp7_, -1, _tmp8_); +#line 76 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp9_; +#line 77 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp10_ = res; +#line 77 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp10_ == SQLITE_OK, "res == Sqlite.OK"); +#line 78 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp11_ = stmt; +#line 78 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp12_ = filesize; +#line 78 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp13_ = sqlite3_bind_int64 (_tmp11_, 2, _tmp12_); +#line 78 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp13_; +#line 79 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp14_ = res; +#line 79 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp14_ == SQLITE_OK, "res == Sqlite.OK"); +#line 80 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp15_ = stmt; +#line 80 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp16_ = md5; +#line 80 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 80 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp18_ = g_free; +#line 80 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp19_ = sqlite3_bind_text (_tmp15_, 3, _tmp17_, -1, _tmp18_); +#line 80 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp19_; +#line 81 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp20_ = res; +#line 81 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp20_ == SQLITE_OK, "res == Sqlite.OK"); +#line 82 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp21_ = stmt; +#line 82 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp22_ = time_created; +#line 82 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp23_ = sqlite3_bind_int64 (_tmp21_, 4, (gint64) _tmp22_); +#line 82 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp23_; +#line 83 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp24_ = res; +#line 83 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp24_ == SQLITE_OK, "res == Sqlite.OK"); +#line 84 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp25_ = stmt; +#line 84 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp26_ = reason; +#line 84 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp27_ = tombstone_reason_serialize (_tmp26_); +#line 84 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp28_ = sqlite3_bind_int (_tmp25_, 5, _tmp27_); +#line 84 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp28_; +#line 85 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp29_ = res; +#line 85 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp29_ == SQLITE_OK, "res == Sqlite.OK"); +#line 87 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp30_ = stmt; +#line 87 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp31_ = sqlite3_step (_tmp30_); +#line 87 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp31_; +#line 88 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp32_ = res; +#line 88 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_tmp32_ != SQLITE_DONE) { +#line 781 "TombstoneTable.c" + gint _tmp33_ = 0; +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp33_ = res; +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + database_table_throw_error ("TombstoneTable.add", _tmp33_, &_inner_error_); +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_propagate_error (error, _inner_error_); +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return NULL; +#line 797 "TombstoneTable.c" + } else { +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.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 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_clear_error (&_inner_error_); +#line 89 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return NULL; +#line 807 "TombstoneTable.c" + } + } + } +#line 91 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp34_ = tombstone_row_new (); +#line 91 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + row = _tmp34_; +#line 92 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp35_ = row; +#line 92 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp36_ = database_table_db; +#line 92 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp37_ = sqlite3_last_insert_rowid (_tmp36_); +#line 92 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_id_init (&_tmp35_->id, _tmp37_); +#line 93 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp38_ = row; +#line 93 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp39_ = filepath; +#line 93 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp40_ = g_strdup (_tmp39_); +#line 93 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _g_free0 (_tmp38_->filepath); +#line 93 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp38_->filepath = _tmp40_; +#line 94 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp41_ = row; +#line 94 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp42_ = filesize; +#line 94 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp41_->filesize = _tmp42_; +#line 95 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp43_ = row; +#line 95 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp44_ = md5; +#line 95 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp45_ = g_strdup (_tmp44_); +#line 95 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _g_free0 (_tmp43_->md5); +#line 95 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp43_->md5 = _tmp45_; +#line 96 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp46_ = row; +#line 96 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp47_ = time_created; +#line 96 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp46_->time_created = _tmp47_; +#line 97 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp48_ = row; +#line 97 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp49_ = reason; +#line 97 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp48_->reason = _tmp49_; +#line 99 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + result = row; +#line 99 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 99 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return result; +#line 867 "TombstoneTable.c" +} + + +static gpointer _tombstone_row_ref0 (gpointer self) { +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return self ? tombstone_row_ref (self) : NULL; +#line 874 "TombstoneTable.c" +} + + +TombstoneRow** tombstone_table_fetch_all (TombstoneTable* self, int* result_length1, GError** error) { + TombstoneRow** result = NULL; + gint row_count = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp3_ = NULL; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + TombstoneRow** rows = NULL; + gint _tmp7_ = 0; + TombstoneRow** _tmp8_ = NULL; + gint rows_length1 = 0; + gint _rows_size_ = 0; + gint index = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + TombstoneRow** _tmp44_ = NULL; + gint _tmp44__length1 = 0; + GError * _inner_error_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_val_if_fail (IS_TOMBSTONE_TABLE (self), NULL); +#line 103 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable)); +#line 103 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + row_count = _tmp0_; +#line 104 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp1_ = row_count; +#line 104 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_tmp1_ == 0) { +#line 910 "TombstoneTable.c" + TombstoneRow** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 105 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp2_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp2__length1 = 0; +#line 105 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (result_length1) { +#line 105 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + *result_length1 = _tmp2__length1; +#line 921 "TombstoneTable.c" + } +#line 105 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + result = _tmp2_; +#line 105 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return result; +#line 927 "TombstoneTable.c" + } +#line 108 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp3_ = database_table_db; +#line 108 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp5_ = sqlite3_prepare_v2 (_tmp3_, "SELECT id, filepath, filesize, md5, time_created, reason " "FROM TombstoneTable", -1, &_tmp4_, NULL); +#line 108 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 108 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + stmt = _tmp4_; +#line 108 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp5_; +#line 110 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp6_ = res; +#line 110 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK"); +#line 112 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp7_ = row_count; +#line 112 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp8_ = g_new0 (TombstoneRow*, _tmp7_ + 1); +#line 112 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + rows = _tmp8_; +#line 112 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + rows_length1 = _tmp7_; +#line 112 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _rows_size_ = rows_length1; +#line 114 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + index = 0; +#line 955 "TombstoneTable.c" + { + gboolean _tmp9_ = FALSE; +#line 115 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp9_ = TRUE; +#line 115 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + while (TRUE) { +#line 962 "TombstoneTable.c" + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + TombstoneRow* row = NULL; + TombstoneRow* _tmp15_ = NULL; + TombstoneRow* _tmp16_ = NULL; + sqlite3_stmt* _tmp17_ = NULL; + gint64 _tmp18_ = 0LL; + TombstoneRow* _tmp19_ = NULL; + sqlite3_stmt* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + TombstoneRow* _tmp23_ = NULL; + sqlite3_stmt* _tmp24_ = NULL; + gint64 _tmp25_ = 0LL; + TombstoneRow* _tmp26_ = NULL; + sqlite3_stmt* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + TombstoneRow* _tmp30_ = NULL; + sqlite3_stmt* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + TombstoneRow* _tmp33_ = NULL; + sqlite3_stmt* _tmp34_ = NULL; + gint _tmp35_ = 0; + TombstoneReason _tmp36_ = 0; + TombstoneRow** _tmp37_ = NULL; + gint _tmp37__length1 = 0; + gint _tmp38_ = 0; + TombstoneRow* _tmp39_ = NULL; + TombstoneRow* _tmp40_ = NULL; + TombstoneRow* _tmp41_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (!_tmp9_) { +#line 997 "TombstoneTable.c" + } +#line 115 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp9_ = FALSE; +#line 116 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp10_ = stmt; +#line 116 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp11_ = sqlite3_step (_tmp10_); +#line 116 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + res = _tmp11_; +#line 117 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp12_ = res; +#line 117 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_tmp12_ == SQLITE_DONE) { +#line 118 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + break; +#line 1013 "TombstoneTable.c" + } else { + gint _tmp13_ = 0; +#line 119 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp13_ = res; +#line 119 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_tmp13_ != SQLITE_ROW) { +#line 1020 "TombstoneTable.c" + gint _tmp14_ = 0; +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp14_ = res; +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + database_table_throw_error ("TombstoneTable.fetch_all", _tmp14_, &_inner_error_); +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_propagate_error (error, _inner_error_); +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + rows = (_vala_array_free (rows, rows_length1, (GDestroyNotify) tombstone_row_unref), NULL); +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return NULL; +#line 1038 "TombstoneTable.c" + } else { +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + rows = (_vala_array_free (rows, rows_length1, (GDestroyNotify) tombstone_row_unref), NULL); +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.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 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_clear_error (&_inner_error_); +#line 120 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return NULL; +#line 1050 "TombstoneTable.c" + } + } + } + } +#line 122 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp15_ = tombstone_row_new (); +#line 122 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + row = _tmp15_; +#line 123 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp16_ = row; +#line 123 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp17_ = stmt; +#line 123 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp18_ = sqlite3_column_int64 (_tmp17_, 0); +#line 123 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_id_init (&_tmp16_->id, _tmp18_); +#line 124 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp19_ = row; +#line 124 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp20_ = stmt; +#line 124 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp21_ = sqlite3_column_text (_tmp20_, 1); +#line 124 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 124 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _g_free0 (_tmp19_->filepath); +#line 124 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp19_->filepath = _tmp22_; +#line 125 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp23_ = row; +#line 125 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp24_ = stmt; +#line 125 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp25_ = sqlite3_column_int64 (_tmp24_, 2); +#line 125 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp23_->filesize = _tmp25_; +#line 126 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp26_ = row; +#line 126 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp27_ = stmt; +#line 126 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp28_ = sqlite3_column_text (_tmp27_, 3); +#line 126 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp29_ = g_strdup (_tmp28_); +#line 126 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _g_free0 (_tmp26_->md5); +#line 126 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp26_->md5 = _tmp29_; +#line 127 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp30_ = row; +#line 127 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp31_ = stmt; +#line 127 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp32_ = sqlite3_column_int64 (_tmp31_, 4); +#line 127 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp30_->time_created = (time_t) _tmp32_; +#line 128 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp33_ = row; +#line 128 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp34_ = stmt; +#line 128 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp35_ = sqlite3_column_int (_tmp34_, 5); +#line 128 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp36_ = tombstone_reason_unserialize (_tmp35_); +#line 128 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp33_->reason = _tmp36_; +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp37_ = rows; +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp37__length1 = rows_length1; +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp38_ = index; +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + index = _tmp38_ + 1; +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp39_ = row; +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp40_ = _tombstone_row_ref0 (_tmp39_); +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tombstone_row_unref0 (_tmp37_[_tmp38_]); +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp37_[_tmp38_] = _tmp40_; +#line 130 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp41_ = _tmp37_[_tmp38_]; +#line 115 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tombstone_row_unref0 (row); +#line 1137 "TombstoneTable.c" + } + } +#line 133 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp42_ = index; +#line 133 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp43_ = row_count; +#line 133 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _vala_assert (_tmp42_ == _tmp43_, "index == row_count"); +#line 135 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp44_ = rows; +#line 135 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp44__length1 = rows_length1; +#line 135 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (result_length1) { +#line 135 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + *result_length1 = _tmp44__length1; +#line 1154 "TombstoneTable.c" + } +#line 135 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + result = _tmp44_; +#line 135 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _sqlite3_finalize0 (stmt); +#line 135 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return result; +#line 1162 "TombstoneTable.c" +} + + +void tombstone_table_update_file (TombstoneTable* self, TombstoneID* tombstone_id, const gchar* filepath, GError** error) { + TombstoneID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + const gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (IS_TOMBSTONE_TABLE (self)); +#line 138 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (tombstone_id != NULL); +#line 138 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (filepath != NULL); +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = *tombstone_id; +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp1_ = _tmp0_.id; +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp2_ = filepath; +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "filepath", _tmp2_, &_inner_error_); +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_propagate_error (error, _inner_error_); +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return; +#line 1193 "TombstoneTable.c" + } else { +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.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 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_clear_error (&_inner_error_); +#line 139 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return; +#line 1201 "TombstoneTable.c" + } + } +} + + +void tombstone_table_remove (TombstoneTable* self, TombstoneID* tombstone_id, GError** error) { + TombstoneID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + GError * _inner_error_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (IS_TOMBSTONE_TABLE (self)); +#line 142 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_return_if_fail (tombstone_id != NULL); +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp0_ = *tombstone_id; +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + _tmp1_ = _tmp0_.id; +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + database_table_delete_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, &_inner_error_); +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_propagate_error (error, _inner_error_); +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return; +#line 1229 "TombstoneTable.c" + } else { +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.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 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + g_clear_error (&_inner_error_); +#line 143 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + return; +#line 1237 "TombstoneTable.c" + } + } +} + + +static void tombstone_table_class_init (TombstoneTableClass * klass) { +#line 34 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + tombstone_table_parent_class = g_type_class_peek_parent (klass); +#line 34 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + ((DatabaseTableClass *) klass)->finalize = tombstone_table_finalize; +#line 1248 "TombstoneTable.c" +} + + +static void tombstone_table_instance_init (TombstoneTable * self) { +} + + +static void tombstone_table_finalize (DatabaseTable* obj) { + TombstoneTable * self; +#line 34 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TOMBSTONE_TABLE, TombstoneTable); +#line 34 "/home/jens/Source/shotwell/src/db/TombstoneTable.vala" + DATABASE_TABLE_CLASS (tombstone_table_parent_class)->finalize (obj); +#line 1262 "TombstoneTable.c" +} + + +GType tombstone_table_get_type (void) { + static volatile gsize tombstone_table_type_id__volatile = 0; + if (g_once_init_enter (&tombstone_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TombstoneTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tombstone_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TombstoneTable), 0, (GInstanceInitFunc) tombstone_table_instance_init, NULL }; + GType tombstone_table_type_id; + tombstone_table_type_id = g_type_register_static (TYPE_DATABASE_TABLE, "TombstoneTable", &g_define_type_info, 0); + g_once_init_leave (&tombstone_table_type_id__volatile, tombstone_table_type_id); + } + return tombstone_table_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/db/VersionTable.c b/src/db/VersionTable.c new file mode 100644 index 0000000..fa79d52 --- /dev/null +++ b/src/db/VersionTable.c @@ -0,0 +1,614 @@ +/* VersionTable.c generated by valac 0.32.1, the Vala compiler + * generated from VersionTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include + + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; +typedef struct _DatabaseTablePrivate DatabaseTablePrivate; + +#define TYPE_VERSION_TABLE (version_table_get_type ()) +#define VERSION_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VERSION_TABLE, VersionTable)) +#define VERSION_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VERSION_TABLE, VersionTableClass)) +#define IS_VERSION_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VERSION_TABLE)) +#define IS_VERSION_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VERSION_TABLE)) +#define VERSION_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VERSION_TABLE, VersionTableClass)) + +typedef struct _VersionTable VersionTable; +typedef struct _VersionTableClass VersionTableClass; +typedef struct _VersionTablePrivate VersionTablePrivate; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#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 _DatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + DatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _DatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (DatabaseTable *self); +}; + +struct _VersionTable { + DatabaseTable parent_instance; + VersionTablePrivate * priv; +}; + +struct _VersionTableClass { + DatabaseTableClass parent_class; +}; + + +static gpointer version_table_parent_class = NULL; +static VersionTable* version_table_instance; +static VersionTable* version_table_instance = NULL; +extern sqlite3* database_table_db; + +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType version_table_get_type (void) G_GNUC_CONST; +enum { + VERSION_TABLE_DUMMY_PROPERTY +}; +static VersionTable* version_table_new (void); +static VersionTable* version_table_construct (GType object_type); +DatabaseTable* database_table_construct (GType object_type); +void database_table_fatal (const gchar* op, gint res); +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name); +VersionTable* version_table_get_instance (void); +gint version_table_get_version (VersionTable* self, gchar** app_version); +void version_table_set_version (VersionTable* self, gint version, const gchar* app_version, const gchar* user_data); +void version_table_update_version (VersionTable* self, gint version, const gchar* app_version); +static void version_table_finalize (DatabaseTable* obj); + + +static VersionTable* version_table_construct (GType object_type) { + VersionTable* self = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 10 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + self = (VersionTable*) database_table_construct (object_type); +#line 12 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp0_ = database_table_db; +#line 12 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "CREATE TABLE IF NOT EXISTS VersionTable (" "id INTEGER PRIMARY KEY, " "schema_version INTEGER, " "app_version TEXT, " "user_data TEXT NULL" ")", -1, &_tmp1_, NULL); +#line 12 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 12 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + stmt = _tmp1_; +#line 12 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp2_; +#line 18 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp3_ = res; +#line 18 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 20 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp4_ = stmt; +#line 20 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 20 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp5_; +#line 21 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp6_ = res; +#line 21 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (_tmp6_ != SQLITE_DONE) { +#line 134 "VersionTable.c" + gint _tmp7_ = 0; +#line 22 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp7_ = res; +#line 22 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + database_table_fatal ("create version table", _tmp7_); +#line 140 "VersionTable.c" + } +#line 24 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), "VersionTable"); +#line 10 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 10 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + return self; +#line 148 "VersionTable.c" +} + + +static VersionTable* version_table_new (void) { +#line 10 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + return version_table_construct (TYPE_VERSION_TABLE); +#line 155 "VersionTable.c" +} + + +static gpointer _database_table_ref0 (gpointer self) { +#line 31 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + return self ? database_table_ref (self) : NULL; +#line 162 "VersionTable.c" +} + + +VersionTable* version_table_get_instance (void) { + VersionTable* result = NULL; + VersionTable* _tmp0_ = NULL; + VersionTable* _tmp2_ = NULL; + VersionTable* _tmp3_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp0_ = version_table_instance; +#line 28 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (_tmp0_ == NULL) { +#line 175 "VersionTable.c" + VersionTable* _tmp1_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp1_ = version_table_new (); +#line 29 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _database_table_unref0 (version_table_instance); +#line 29 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + version_table_instance = _tmp1_; +#line 183 "VersionTable.c" + } +#line 31 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp2_ = version_table_instance; +#line 31 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp3_ = _database_table_ref0 (_tmp2_); +#line 31 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + result = _tmp3_; +#line 31 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + return result; +#line 193 "VersionTable.c" +} + + +gint version_table_get_version (VersionTable* self, gchar** app_version) { + gchar* _vala_app_version = NULL; + gint result = 0; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 34 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + g_return_val_if_fail (IS_VERSION_TABLE (self), 0); +#line 36 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp0_ = database_table_db; +#line 36 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT schema_version, app_version FROM VersionTable ORDER BY schema_v" \ +"ersion DESC LIMIT 1", -1, &_tmp1_, NULL); +#line 36 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 36 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + stmt = _tmp1_; +#line 36 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp2_; +#line 38 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp3_ = res; +#line 38 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 40 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp4_ = stmt; +#line 40 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 40 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp5_; +#line 41 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp6_ = res; +#line 41 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (_tmp6_ != SQLITE_ROW) { +#line 240 "VersionTable.c" + gint _tmp7_ = 0; +#line 42 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp7_ = res; +#line 42 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (_tmp7_ != SQLITE_DONE) { +#line 246 "VersionTable.c" + gint _tmp8_ = 0; +#line 43 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp8_ = res; +#line 43 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + database_table_fatal ("get_version", _tmp8_); +#line 252 "VersionTable.c" + } +#line 45 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _g_free0 (_vala_app_version); +#line 45 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_app_version = NULL; +#line 47 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + result = -1; +#line 47 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 47 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (app_version) { +#line 47 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + *app_version = _vala_app_version; +#line 266 "VersionTable.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _g_free0 (_vala_app_version); +#line 270 "VersionTable.c" + } +#line 47 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + return result; +#line 274 "VersionTable.c" + } +#line 50 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp9_ = stmt; +#line 50 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp10_ = sqlite3_column_text (_tmp9_, 1); +#line 50 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 50 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _g_free0 (_vala_app_version); +#line 50 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_app_version = _tmp11_; +#line 52 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp12_ = stmt; +#line 52 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp13_ = sqlite3_column_int (_tmp12_, 0); +#line 52 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + result = _tmp13_; +#line 52 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 52 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (app_version) { +#line 52 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + *app_version = _vala_app_version; +#line 298 "VersionTable.c" + } else { +#line 52 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _g_free0 (_vala_app_version); +#line 302 "VersionTable.c" + } +#line 52 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + return result; +#line 306 "VersionTable.c" +} + + +void version_table_set_version (VersionTable* self, gint version, const gchar* app_version, const gchar* user_data) { + sqlite3_stmt* stmt = NULL; + gchar* bitbucket = NULL; + gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint res = 0; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + sqlite3_stmt* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GDestroyNotify _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + sqlite3_stmt* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + GDestroyNotify _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + sqlite3_stmt* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; +#line 55 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + g_return_if_fail (IS_VERSION_TABLE (self)); +#line 55 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + g_return_if_fail (app_version != NULL); +#line 59 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp1_ = version_table_get_version (self, &_tmp0_); +#line 59 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _g_free0 (bitbucket); +#line 59 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + bitbucket = _tmp0_; +#line 59 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (_tmp1_ != -1) { +#line 347 "VersionTable.c" + gint res = 0; + sqlite3* _tmp2_ = NULL; + sqlite3_stmt* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 61 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp2_ = database_table_db; +#line 61 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp4_ = sqlite3_prepare_v2 (_tmp2_, "UPDATE VersionTable SET schema_version=?, app_version=?, user_data=?", -1, &_tmp3_, NULL); +#line 61 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 61 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + stmt = _tmp3_; +#line 61 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp4_; +#line 63 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp5_ = res; +#line 63 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp5_ == SQLITE_OK, "res == Sqlite.OK"); +#line 367 "VersionTable.c" + } else { + gint res = 0; + sqlite3* _tmp6_ = NULL; + sqlite3_stmt* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 66 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp6_ = database_table_db; +#line 66 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp8_ = sqlite3_prepare_v2 (_tmp6_, "INSERT INTO VersionTable (schema_version, app_version, user_data) VALU" \ +"ES (?,?, ?)", -1, &_tmp7_, NULL); +#line 66 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 66 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + stmt = _tmp7_; +#line 66 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp8_; +#line 68 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp9_ = res; +#line 68 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 388 "VersionTable.c" + } +#line 71 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp10_ = stmt; +#line 71 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp11_ = version; +#line 71 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp12_ = sqlite3_bind_int (_tmp10_, 1, _tmp11_); +#line 71 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp12_; +#line 72 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp13_ = res; +#line 72 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp13_ == SQLITE_OK, "res == Sqlite.OK"); +#line 73 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp14_ = stmt; +#line 73 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp15_ = app_version; +#line 73 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 73 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp17_ = g_free; +#line 73 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp18_ = sqlite3_bind_text (_tmp14_, 2, _tmp16_, -1, _tmp17_); +#line 73 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp18_; +#line 74 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp19_ = res; +#line 74 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp19_ == SQLITE_OK, "res == Sqlite.OK"); +#line 75 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp20_ = stmt; +#line 75 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp21_ = user_data; +#line 75 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp22_ = g_strdup (_tmp21_); +#line 75 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp23_ = g_free; +#line 75 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp24_ = sqlite3_bind_text (_tmp20_, 3, _tmp22_, -1, _tmp23_); +#line 75 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp24_; +#line 76 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp25_ = res; +#line 76 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp25_ == SQLITE_OK, "res == Sqlite.OK"); +#line 78 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp26_ = stmt; +#line 78 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp27_ = sqlite3_step (_tmp26_); +#line 78 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp27_; +#line 79 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp28_ = res; +#line 79 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (_tmp28_ != SQLITE_DONE) { +#line 444 "VersionTable.c" + gint _tmp29_ = 0; + const gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gint _tmp34_ = 0; +#line 80 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp29_ = version; +#line 80 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp30_ = app_version; +#line 80 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp31_ = user_data; +#line 80 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp32_ = g_strdup_printf ("set_version %d %s %s", _tmp29_, _tmp30_, _tmp31_); +#line 80 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp33_ = _tmp32_; +#line 80 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp34_ = res; +#line 80 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + database_table_fatal (_tmp33_, _tmp34_); +#line 80 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _g_free0 (_tmp33_); +#line 467 "VersionTable.c" + } +#line 55 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _g_free0 (bitbucket); +#line 55 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 473 "VersionTable.c" +} + + +void version_table_update_version (VersionTable* self, gint version, const gchar* app_version) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + sqlite3_stmt* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GDestroyNotify _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + sqlite3_stmt* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; +#line 83 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + g_return_if_fail (IS_VERSION_TABLE (self)); +#line 83 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + g_return_if_fail (app_version != NULL); +#line 85 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp0_ = database_table_db; +#line 85 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE VersionTable SET schema_version=?, app_version=?", -1, &_tmp1_, NULL); +#line 85 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 85 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + stmt = _tmp1_; +#line 85 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp2_; +#line 86 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp3_ = res; +#line 86 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 88 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp4_ = stmt; +#line 88 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp5_ = version; +#line 88 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp6_ = sqlite3_bind_int (_tmp4_, 1, _tmp5_); +#line 88 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp6_; +#line 89 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp7_ = res; +#line 89 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp7_ == SQLITE_OK, "res == Sqlite.OK"); +#line 90 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp8_ = stmt; +#line 90 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp9_ = app_version; +#line 90 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 90 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp11_ = g_free; +#line 90 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp12_ = sqlite3_bind_text (_tmp8_, 2, _tmp10_, -1, _tmp11_); +#line 90 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp12_; +#line 91 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp13_ = res; +#line 91 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _vala_assert (_tmp13_ == SQLITE_OK, "res == Sqlite.OK"); +#line 93 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp14_ = stmt; +#line 93 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp15_ = sqlite3_step (_tmp14_); +#line 93 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + res = _tmp15_; +#line 94 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp16_ = res; +#line 94 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + if (_tmp16_ != SQLITE_DONE) { +#line 553 "VersionTable.c" + gint _tmp17_ = 0; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gint _tmp20_ = 0; +#line 95 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp17_ = version; +#line 95 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp18_ = g_strdup_printf ("update_version %d", _tmp17_); +#line 95 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp19_ = _tmp18_; +#line 95 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _tmp20_ = res; +#line 95 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + database_table_fatal (_tmp19_, _tmp20_); +#line 95 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _g_free0 (_tmp19_); +#line 570 "VersionTable.c" + } +#line 83 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + _sqlite3_finalize0 (stmt); +#line 574 "VersionTable.c" +} + + +static void version_table_class_init (VersionTableClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + version_table_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + ((DatabaseTableClass *) klass)->finalize = version_table_finalize; +#line 583 "VersionTable.c" +} + + +static void version_table_instance_init (VersionTable * self) { +} + + +static void version_table_finalize (DatabaseTable* obj) { + VersionTable * self; +#line 7 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VERSION_TABLE, VersionTable); +#line 7 "/home/jens/Source/shotwell/src/db/VersionTable.vala" + DATABASE_TABLE_CLASS (version_table_parent_class)->finalize (obj); +#line 597 "VersionTable.c" +} + + +GType version_table_get_type (void) { + static volatile gsize version_table_type_id__volatile = 0; + if (g_once_init_enter (&version_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VersionTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) version_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VersionTable), 0, (GInstanceInitFunc) version_table_instance_init, NULL }; + GType version_table_type_id; + version_table_type_id = g_type_register_static (TYPE_DATABASE_TABLE, "VersionTable", &g_define_type_info, 0); + g_once_init_leave (&version_table_type_id__volatile, version_table_type_id); + } + return version_table_type_id__volatile; +} + + + diff --git a/src/db/VideoTable.c b/src/db/VideoTable.c new file mode 100644 index 0000000..8b8d78a --- /dev/null +++ b/src/db/VideoTable.c @@ -0,0 +1,3373 @@ +/* VideoTable.c generated by valac 0.32.1, the Vala compiler + * generated from VideoTable.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_VIDEO_ID (video_id_get_type ()) +typedef struct _VideoID VideoID; + +#define TYPE_VIDEO_ROW (video_row_get_type ()) +#define VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_ROW, VideoRow)) +#define VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_ROW, VideoRowClass)) +#define IS_VIDEO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_ROW)) +#define IS_VIDEO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_ROW)) +#define VIDEO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_ROW, VideoRowClass)) + +typedef struct _VideoRow VideoRow; +typedef struct _VideoRowClass VideoRowClass; +typedef struct _VideoRowPrivate VideoRowPrivate; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_RATING (rating_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecVideoRow ParamSpecVideoRow; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; +typedef struct _DatabaseTablePrivate DatabaseTablePrivate; + +#define TYPE_VIDEO_TABLE (video_table_get_type ()) +#define VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_TABLE, VideoTable)) +#define VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_TABLE, VideoTableClass)) +#define IS_VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_TABLE)) +#define IS_VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_TABLE)) +#define VIDEO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_TABLE, VideoTableClass)) + +typedef struct _VideoTable VideoTable; +typedef struct _VideoTableClass VideoTableClass; +typedef struct _VideoTablePrivate VideoTablePrivate; +#define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _video_row_unref0(var) ((var == NULL) ? NULL : (var = (video_row_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#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 _VideoID { + gint64 id; +}; + +struct _ImportID { + gint64 id; +}; + +struct _EventID { + gint64 id; +}; + +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 _VideoRow { + GTypeInstance parent_instance; + volatile int ref_count; + VideoRowPrivate * priv; + VideoID video_id; + gchar* filepath; + gint64 filesize; + time_t timestamp; + gint width; + gint height; + gdouble clip_duration; + gboolean is_interpretable; + time_t exposure_time; + ImportID import_id; + EventID event_id; + gchar* md5; + time_t time_created; + Rating rating; + gchar* title; + gchar* backlinks; + time_t time_reimported; + guint64 flags; + gchar* comment; +}; + +struct _VideoRowClass { + GTypeClass parent_class; + void (*finalize) (VideoRow *self); +}; + +struct _ParamSpecVideoRow { + GParamSpec parent_instance; +}; + +struct _DatabaseTable { + GTypeInstance parent_instance; + volatile int ref_count; + DatabaseTablePrivate * priv; + gchar* table_name; +}; + +struct _DatabaseTableClass { + GTypeClass parent_class; + void (*finalize) (DatabaseTable *self); +}; + +struct _VideoTable { + DatabaseTable parent_instance; + VideoTablePrivate * priv; +}; + +struct _VideoTableClass { + DatabaseTableClass parent_class; +}; + +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 () + +static gpointer video_row_parent_class = NULL; +static gpointer video_table_parent_class = NULL; +static VideoTable* video_table_instance; +static VideoTable* video_table_instance = NULL; +extern sqlite3* database_table_db; + +GType video_id_get_type (void) G_GNUC_CONST; +VideoID* video_id_dup (const VideoID* self); +void video_id_free (VideoID* self); +#define VIDEO_ID_INVALID ((gint64) -1) +void video_id_init (VideoID *self, gint64 id); +gboolean video_id_is_invalid (VideoID *self); +gboolean video_id_is_valid (VideoID *self); +guint video_id_hash (VideoID* a); +guint int64_hash (gint64* n); +gboolean video_id_equal (void* a, void* b); +gchar* video_id_upgrade_video_id_to_source_id (VideoID* video_id); +#define VIDEO_TYPENAME "video" +gpointer video_row_ref (gpointer instance); +void video_row_unref (gpointer instance); +GParamSpec* param_spec_video_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_video_row (GValue* value, gpointer v_object); +void value_take_video_row (GValue* value, gpointer v_object); +gpointer value_get_video_row (const GValue* value); +GType video_row_get_type (void) G_GNUC_CONST; +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +GType rating_get_type (void) G_GNUC_CONST; +enum { + VIDEO_ROW_DUMMY_PROPERTY +}; +VideoRow* video_row_new (void); +VideoRow* video_row_construct (GType object_type); +static void video_row_finalize (VideoRow* obj); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType video_table_get_type (void) G_GNUC_CONST; +enum { + VIDEO_TABLE_DUMMY_PROPERTY +}; +static VideoTable* video_table_new (void); +static VideoTable* video_table_construct (GType object_type); +DatabaseTable* database_table_construct (GType object_type); +void database_table_fatal (const gchar* op, gint res); +void database_table_set_table_name (DatabaseTable* self, const gchar* table_name); +VideoTable* video_table_get_instance (void); +GQuark database_error_quark (void); +void video_table_add (VideoTable* self, VideoRow* video_row, VideoID* result, GError** error); +gulong now_sec (void); +#define EVENT_ID_INVALID ((gint64) -1) +void database_table_throw_error (const gchar* method, gint res, GError** error); +void event_id_init (EventID *self, gint64 id); +gboolean video_table_drop_event (VideoTable* self, EventID* event_id); +VideoRow* video_table_get_row (VideoTable* self, VideoID* video_id); +Rating rating_unserialize (gint value); +GeeArrayList* video_table_get_all (VideoTable* self); +void video_table_set_filepath (VideoTable* self, VideoID* video_id, const gchar* filepath, GError** error); +void database_table_update_text_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, const gchar* text, GError** error); +void video_table_set_title (VideoTable* self, VideoID* video_id, const gchar* new_title, GError** error); +void video_table_set_comment (VideoTable* self, VideoID* video_id, const gchar* new_comment, GError** error); +void video_table_set_exposure_time (VideoTable* self, VideoID* video_id, time_t time, GError** error); +void database_table_update_int64_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint64 value, GError** error); +void video_table_set_rating (VideoTable* self, VideoID* video_id, Rating rating, GError** error); +gint rating_serialize (Rating self); +void video_table_set_flags (VideoTable* self, VideoID* video_id, guint64 flags, GError** error); +void video_table_update_backlinks (VideoTable* self, VideoID* video_id, const gchar* backlinks, GError** error); +void video_table_update_is_interpretable (VideoTable* self, VideoID* video_id, gboolean is_interpretable, GError** error); +void database_table_update_int_by_id_2 (DatabaseTable* self, gint64 id, const gchar* column, gint value, GError** error); +gboolean video_table_set_event (VideoTable* self, VideoID* video_id, EventID* event_id); +gboolean database_table_update_int64_by_id (DatabaseTable* self, gint64 id, const gchar* column, gint64 value); +void video_table_remove_by_file (VideoTable* self, GFile* file, GError** error); +void video_table_remove (VideoTable* self, VideoID* videoID, GError** error); +gboolean video_table_is_video_stored (VideoTable* self, GFile* file); +void video_table_get_id (VideoTable* self, GFile* file, VideoID* result); +GeeArrayList* video_table_get_videos (VideoTable* self, GError** error); +static sqlite3_stmt* video_table_get_duplicate_stmt (VideoTable* self, GFile* file, const gchar* md5); +gboolean video_table_has_duplicate (VideoTable* self, GFile* file, const gchar* md5); +VideoID* video_table_get_duplicate_ids (VideoTable* self, GFile* file, const gchar* md5, int* result_length1); +static void _vala_array_add3 (VideoID** array, int* length, int* size, const VideoID* value); +GeeArrayList* video_table_get_event_source_ids (VideoTable* self, EventID* event_id); +void video_table_set_timestamp (VideoTable* self, VideoID* video_id, time_t timestamp, GError** error); +static void video_table_finalize (DatabaseTable* obj); + + +void video_id_init (VideoID *self, gint64 id) { + gint64 _tmp0_ = 0LL; +#line 12 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + memset (self, 0, sizeof (VideoID)); +#line 13 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = id; +#line 13 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + (*self).id = _tmp0_; +#line 266 "VideoTable.c" +} + + +gboolean video_id_is_invalid (VideoID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 17 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = (*self).id; +#line 17 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp0_ == VIDEO_ID_INVALID; +#line 17 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 279 "VideoTable.c" +} + + +gboolean video_id_is_valid (VideoID *self) { + gboolean result = FALSE; + gint64 _tmp0_ = 0LL; +#line 21 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = (*self).id; +#line 21 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp0_ != VIDEO_ID_INVALID; +#line 21 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 292 "VideoTable.c" +} + + +guint video_id_hash (VideoID* a) { + guint result = 0U; + VideoID* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + guint _tmp2_ = 0U; +#line 25 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = a; +#line 25 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = (*_tmp0_).id; +#line 25 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = int64_hash (&_tmp1_); +#line 25 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp2_; +#line 25 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 311 "VideoTable.c" +} + + +gboolean video_id_equal (void* a, void* b) { + gboolean result = FALSE; + void* _tmp0_ = NULL; + gint64 _tmp1_ = 0LL; + void* _tmp2_ = NULL; + gint64 _tmp3_ = 0LL; +#line 29 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = a; +#line 29 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = (*((VideoID*) _tmp0_)).id; +#line 29 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = b; +#line 29 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = (*((VideoID*) _tmp2_)).id; +#line 29 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp1_ == _tmp3_; +#line 29 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 333 "VideoTable.c" +} + + +gchar* video_id_upgrade_video_id_to_source_id (VideoID* video_id) { + gchar* result = NULL; + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + gchar* _tmp2_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (video_id != NULL, NULL); +#line 33 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = *video_id; +#line 33 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = _tmp0_.id; +#line 33 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = g_strdup_printf ("%s-%016" G_GINT64_MODIFIER "x", VIDEO_TYPENAME, _tmp1_); +#line 33 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp2_; +#line 33 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 354 "VideoTable.c" +} + + +VideoID* video_id_dup (const VideoID* self) { + VideoID* dup; +#line 7 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + dup = g_new0 (VideoID, 1); +#line 7 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + memcpy (dup, self, sizeof (VideoID)); +#line 7 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return dup; +#line 366 "VideoTable.c" +} + + +void video_id_free (VideoID* self) { +#line 7 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_free (self); +#line 373 "VideoTable.c" +} + + +GType video_id_get_type (void) { + static volatile gsize video_id_type_id__volatile = 0; + if (g_once_init_enter (&video_id_type_id__volatile)) { + GType video_id_type_id; + video_id_type_id = g_boxed_type_register_static ("VideoID", (GBoxedCopyFunc) video_id_dup, (GBoxedFreeFunc) video_id_free); + g_once_init_leave (&video_id_type_id__volatile, video_id_type_id); + } + return video_id_type_id__volatile; +} + + +VideoRow* video_row_construct (GType object_type) { + VideoRow* self = NULL; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + self = (VideoRow*) g_type_create_instance (object_type); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return self; +#line 394 "VideoTable.c" +} + + +VideoRow* video_row_new (void) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return video_row_construct (TYPE_VIDEO_ROW); +#line 401 "VideoTable.c" +} + + +static void value_video_row_init (GValue* value) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + value->data[0].v_pointer = NULL; +#line 408 "VideoTable.c" +} + + +static void value_video_row_free_value (GValue* value) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (value->data[0].v_pointer) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_row_unref (value->data[0].v_pointer); +#line 417 "VideoTable.c" + } +} + + +static void value_video_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (src_value->data[0].v_pointer) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + dest_value->data[0].v_pointer = video_row_ref (src_value->data[0].v_pointer); +#line 427 "VideoTable.c" + } else { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + dest_value->data[0].v_pointer = NULL; +#line 431 "VideoTable.c" + } +} + + +static gpointer value_video_row_peek_pointer (const GValue* value) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return value->data[0].v_pointer; +#line 439 "VideoTable.c" +} + + +static gchar* value_video_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (collect_values[0].v_pointer) { +#line 446 "VideoTable.c" + VideoRow* object; + object = collect_values[0].v_pointer; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (object->parent_instance.g_class == NULL) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 453 "VideoTable.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 457 "VideoTable.c" + } +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + value->data[0].v_pointer = video_row_ref (object); +#line 461 "VideoTable.c" + } else { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + value->data[0].v_pointer = NULL; +#line 465 "VideoTable.c" + } +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return NULL; +#line 469 "VideoTable.c" +} + + +static gchar* value_video_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + VideoRow** object_p; + object_p = collect_values[0].v_pointer; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (!object_p) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 480 "VideoTable.c" + } +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (!value->data[0].v_pointer) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + *object_p = NULL; +#line 486 "VideoTable.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + *object_p = value->data[0].v_pointer; +#line 490 "VideoTable.c" + } else { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + *object_p = video_row_ref (value->data[0].v_pointer); +#line 494 "VideoTable.c" + } +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return NULL; +#line 498 "VideoTable.c" +} + + +GParamSpec* param_spec_video_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecVideoRow* spec; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_VIDEO_ROW), NULL); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return G_PARAM_SPEC (spec); +#line 512 "VideoTable.c" +} + + +gpointer value_get_video_row (const GValue* value) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_ROW), NULL); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return value->data[0].v_pointer; +#line 521 "VideoTable.c" +} + + +void value_set_video_row (GValue* value, gpointer v_object) { + VideoRow* old; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_ROW)); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + old = value->data[0].v_pointer; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (v_object) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIDEO_ROW)); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + value->data[0].v_pointer = v_object; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_row_ref (value->data[0].v_pointer); +#line 541 "VideoTable.c" + } else { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + value->data[0].v_pointer = NULL; +#line 545 "VideoTable.c" + } +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (old) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_row_unref (old); +#line 551 "VideoTable.c" + } +} + + +void value_take_video_row (GValue* value, gpointer v_object) { + VideoRow* old; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_VIDEO_ROW)); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + old = value->data[0].v_pointer; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (v_object) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_VIDEO_ROW)); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + value->data[0].v_pointer = v_object; +#line 570 "VideoTable.c" + } else { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + value->data[0].v_pointer = NULL; +#line 574 "VideoTable.c" + } +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (old) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_row_unref (old); +#line 580 "VideoTable.c" + } +} + + +static void video_row_class_init (VideoRowClass * klass) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_row_parent_class = g_type_class_peek_parent (klass); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + ((VideoRowClass *) klass)->finalize = video_row_finalize; +#line 590 "VideoTable.c" +} + + +static void video_row_instance_init (VideoRow * self) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + self->ref_count = 1; +#line 597 "VideoTable.c" +} + + +static void video_row_finalize (VideoRow* obj) { + VideoRow * self; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_ROW, VideoRow); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_signal_handlers_destroy (self); +#line 39 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (self->filepath); +#line 49 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (self->md5); +#line 52 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (self->title); +#line 53 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (self->backlinks); +#line 56 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (self->comment); +#line 617 "VideoTable.c" +} + + +GType video_row_get_type (void) { + static volatile gsize video_row_type_id__volatile = 0; + if (g_once_init_enter (&video_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_video_row_init, value_video_row_free_value, value_video_row_copy_value, value_video_row_peek_pointer, "p", value_video_row_collect_value, "p", value_video_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (VideoRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoRow), 0, (GInstanceInitFunc) video_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType video_row_type_id; + video_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "VideoRow", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&video_row_type_id__volatile, video_row_type_id); + } + return video_row_type_id__volatile; +} + + +gpointer video_row_ref (gpointer instance) { + VideoRow* self; + self = instance; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_atomic_int_inc (&self->ref_count); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return instance; +#line 642 "VideoTable.c" +} + + +void video_row_unref (gpointer instance) { + VideoRow* self; + self = instance; +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + VIDEO_ROW_GET_CLASS (self)->finalize (self); +#line 37 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 655 "VideoTable.c" + } +} + + +static VideoTable* video_table_construct (GType object_type) { + VideoTable* self = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3_stmt* stmt2 = NULL; + gint res2 = 0; + sqlite3* _tmp8_ = NULL; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 62 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + self = (VideoTable*) database_table_construct (object_type); +#line 64 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 64 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "CREATE TABLE IF NOT EXISTS VideoTable (" "id INTEGER PRIMARY KEY, " "filename TEXT UNIQUE NOT NULL, " "width INTEGER, " "height INTEGER, " "clip_duration REAL, " "is_interpretable INTEGER, " "filesize INTEGER, " "timestamp INTEGER, " "exposure_time INTEGER, " "import_id INTEGER, " "event_id INTEGER, " "md5 TEXT, " "time_created INTEGER, " "rating INTEGER DEFAULT 0, " "title TEXT, " "backlinks TEXT, " "time_reimported INTEGER, " "flags INTEGER DEFAULT 0, " "comment TEXT " ")", -1, &_tmp1_, NULL); +#line 64 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 64 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 64 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 85 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 85 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 87 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = stmt; +#line 87 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 87 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp5_; +#line 88 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = res; +#line 88 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp6_ != SQLITE_DONE) { +#line 706 "VideoTable.c" + gint _tmp7_ = 0; +#line 89 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = res; +#line 89 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_fatal ("VideoTable constructor", _tmp7_); +#line 712 "VideoTable.c" + } +#line 93 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = database_table_db; +#line 93 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = sqlite3_prepare_v2 (_tmp8_, "CREATE INDEX IF NOT EXISTS VideoEventIDIndex ON VideoTable (event_id)", -1, &_tmp9_, NULL); +#line 93 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt2); +#line 93 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt2 = _tmp9_; +#line 93 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res2 = _tmp10_; +#line 95 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = res2; +#line 95 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res2 == Sqlite.OK"); +#line 97 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = stmt2; +#line 97 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = sqlite3_step (_tmp12_); +#line 97 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res2 = _tmp13_; +#line 98 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_ = res2; +#line 98 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp14_ != SQLITE_DONE) { +#line 738 "VideoTable.c" + gint _tmp15_ = 0; +#line 99 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp15_ = res2; +#line 99 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_fatal ("VideoTable constructor", _tmp15_); +#line 744 "VideoTable.c" + } +#line 101 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_set_table_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), "VideoTable"); +#line 62 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt2); +#line 62 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 62 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return self; +#line 754 "VideoTable.c" +} + + +static VideoTable* video_table_new (void) { +#line 62 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return video_table_construct (TYPE_VIDEO_TABLE); +#line 761 "VideoTable.c" +} + + +static gpointer _database_table_ref0 (gpointer self) { +#line 108 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return self ? database_table_ref (self) : NULL; +#line 768 "VideoTable.c" +} + + +VideoTable* video_table_get_instance (void) { + VideoTable* result = NULL; + VideoTable* _tmp0_ = NULL; + VideoTable* _tmp2_ = NULL; + VideoTable* _tmp3_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = video_table_instance; +#line 105 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp0_ == NULL) { +#line 781 "VideoTable.c" + VideoTable* _tmp1_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = video_table_new (); +#line 106 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _database_table_unref0 (video_table_instance); +#line 106 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_table_instance = _tmp1_; +#line 789 "VideoTable.c" + } +#line 108 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = video_table_instance; +#line 108 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = _database_table_ref0 (_tmp2_); +#line 108 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp3_; +#line 108 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 799 "VideoTable.c" +} + + +void video_table_add (VideoTable* self, VideoRow* video_row, VideoID* result, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gulong time_created = 0UL; + gulong _tmp4_ = 0UL; + sqlite3_stmt* _tmp5_ = NULL; + VideoRow* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GDestroyNotify _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + VideoRow* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + sqlite3_stmt* _tmp17_ = NULL; + VideoRow* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + sqlite3_stmt* _tmp22_ = NULL; + VideoRow* _tmp23_ = NULL; + gdouble _tmp24_ = 0.0; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + VideoRow* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + sqlite3_stmt* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + sqlite3_stmt* _tmp33_ = NULL; + VideoRow* _tmp34_ = NULL; + gint64 _tmp35_ = 0LL; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + sqlite3_stmt* _tmp38_ = NULL; + VideoRow* _tmp39_ = NULL; + time_t _tmp40_ = 0; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + sqlite3_stmt* _tmp43_ = NULL; + VideoRow* _tmp44_ = NULL; + time_t _tmp45_ = 0; + gint _tmp46_ = 0; + gint _tmp47_ = 0; + sqlite3_stmt* _tmp48_ = NULL; + VideoRow* _tmp49_ = NULL; + ImportID _tmp50_ = {0}; + gint64 _tmp51_ = 0LL; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + sqlite3_stmt* _tmp54_ = NULL; + gint _tmp55_ = 0; + gint _tmp56_ = 0; + sqlite3_stmt* _tmp57_ = NULL; + VideoRow* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + GDestroyNotify _tmp61_ = NULL; + gint _tmp62_ = 0; + gint _tmp63_ = 0; + sqlite3_stmt* _tmp64_ = NULL; + gulong _tmp65_ = 0UL; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + sqlite3_stmt* _tmp68_ = NULL; + VideoRow* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + GDestroyNotify _tmp72_ = NULL; + gint _tmp73_ = 0; + gint _tmp74_ = 0; + sqlite3_stmt* _tmp75_ = NULL; + VideoRow* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + GDestroyNotify _tmp79_ = NULL; + gint _tmp80_ = 0; + gint _tmp81_ = 0; + sqlite3_stmt* _tmp82_ = NULL; + gint _tmp83_ = 0; + gint _tmp84_ = 0; + VideoRow* _tmp87_ = NULL; + sqlite3* _tmp88_ = NULL; + gint64 _tmp89_ = 0LL; + VideoRow* _tmp90_ = NULL; + VideoRow* _tmp91_ = NULL; + gulong _tmp92_ = 0UL; + VideoRow* _tmp93_ = NULL; + VideoRow* _tmp94_ = NULL; + VideoID _tmp95_ = {0}; + GError * _inner_error_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 113 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_ROW (video_row)); +#line 115 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 115 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "INSERT INTO VideoTable (filename, width, height, clip_duration, is_int" \ +"erpretable, " "filesize, timestamp, exposure_time, import_id, event_id, md5, time_cre" \ +"ated, title, comment) " "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", -1, &_tmp1_, NULL); +#line 115 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 115 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 115 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 120 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 120 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 122 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = now_sec (); +#line 122 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + time_created = _tmp4_; +#line 124 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = stmt; +#line 124 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = video_row; +#line 124 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = _tmp6_->filepath; +#line 124 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 124 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = g_free; +#line 124 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = sqlite3_bind_text (_tmp5_, 1, _tmp8_, -1, _tmp9_); +#line 124 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp10_; +#line 125 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = res; +#line 125 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 126 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = stmt; +#line 126 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = video_row; +#line 126 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_ = _tmp13_->width; +#line 126 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp15_ = sqlite3_bind_int (_tmp12_, 2, _tmp14_); +#line 126 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp15_; +#line 127 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp16_ = res; +#line 127 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp16_ == SQLITE_OK, "res == Sqlite.OK"); +#line 128 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp17_ = stmt; +#line 128 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp18_ = video_row; +#line 128 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp19_ = _tmp18_->height; +#line 128 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp20_ = sqlite3_bind_int (_tmp17_, 3, _tmp19_); +#line 128 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp20_; +#line 129 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp21_ = res; +#line 129 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp21_ == SQLITE_OK, "res == Sqlite.OK"); +#line 130 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp22_ = stmt; +#line 130 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp23_ = video_row; +#line 130 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp24_ = _tmp23_->clip_duration; +#line 130 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp25_ = sqlite3_bind_double (_tmp22_, 4, _tmp24_); +#line 130 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp25_; +#line 131 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp26_ = res; +#line 131 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp26_ == SQLITE_OK, "res == Sqlite.OK"); +#line 132 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp28_ = video_row; +#line 132 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp29_ = _tmp28_->is_interpretable; +#line 132 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp29_) { +#line 132 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp27_ = 1; +#line 992 "VideoTable.c" + } else { +#line 132 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp27_ = 0; +#line 996 "VideoTable.c" + } +#line 132 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp30_ = stmt; +#line 132 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp31_ = sqlite3_bind_int (_tmp30_, 5, _tmp27_); +#line 132 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp31_; +#line 133 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp32_ = res; +#line 133 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp32_ == SQLITE_OK, "res == Sqlite.OK"); +#line 134 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp33_ = stmt; +#line 134 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp34_ = video_row; +#line 134 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp35_ = _tmp34_->filesize; +#line 134 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp36_ = sqlite3_bind_int64 (_tmp33_, 6, _tmp35_); +#line 134 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp36_; +#line 135 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp37_ = res; +#line 135 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp37_ == SQLITE_OK, "res == Sqlite.OK"); +#line 136 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp38_ = stmt; +#line 136 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp39_ = video_row; +#line 136 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp40_ = _tmp39_->timestamp; +#line 136 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp41_ = sqlite3_bind_int64 (_tmp38_, 7, (gint64) _tmp40_); +#line 136 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp41_; +#line 137 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp42_ = res; +#line 137 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp42_ == SQLITE_OK, "res == Sqlite.OK"); +#line 138 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp43_ = stmt; +#line 138 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp44_ = video_row; +#line 138 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp45_ = _tmp44_->exposure_time; +#line 138 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp46_ = sqlite3_bind_int64 (_tmp43_, 8, (gint64) _tmp45_); +#line 138 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp46_; +#line 139 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp47_ = res; +#line 139 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp47_ == SQLITE_OK, "res == Sqlite.OK"); +#line 140 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp48_ = stmt; +#line 140 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp49_ = video_row; +#line 140 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp50_ = _tmp49_->import_id; +#line 140 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp51_ = _tmp50_.id; +#line 140 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp52_ = sqlite3_bind_int64 (_tmp48_, 9, _tmp51_); +#line 140 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp52_; +#line 141 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp53_ = res; +#line 141 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp53_ == SQLITE_OK, "res == Sqlite.OK"); +#line 142 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp54_ = stmt; +#line 142 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp55_ = sqlite3_bind_int64 (_tmp54_, 10, EVENT_ID_INVALID); +#line 142 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp55_; +#line 143 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp56_ = res; +#line 143 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp56_ == SQLITE_OK, "res == Sqlite.OK"); +#line 144 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp57_ = stmt; +#line 144 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp58_ = video_row; +#line 144 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp59_ = _tmp58_->md5; +#line 144 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp60_ = g_strdup (_tmp59_); +#line 144 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp61_ = g_free; +#line 144 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp62_ = sqlite3_bind_text (_tmp57_, 11, _tmp60_, -1, _tmp61_); +#line 144 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp62_; +#line 145 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp63_ = res; +#line 145 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp63_ == SQLITE_OK, "res == Sqlite.OK"); +#line 146 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp64_ = stmt; +#line 146 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp65_ = time_created; +#line 146 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp66_ = sqlite3_bind_int64 (_tmp64_, 12, (gint64) _tmp65_); +#line 146 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp66_; +#line 147 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp67_ = res; +#line 147 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp67_ == SQLITE_OK, "res == Sqlite.OK"); +#line 148 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp68_ = stmt; +#line 148 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp69_ = video_row; +#line 148 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp70_ = _tmp69_->title; +#line 148 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp71_ = g_strdup (_tmp70_); +#line 148 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp72_ = g_free; +#line 148 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp73_ = sqlite3_bind_text (_tmp68_, 13, _tmp71_, -1, _tmp72_); +#line 148 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp73_; +#line 149 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp74_ = res; +#line 149 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp74_ == SQLITE_OK, "res == Sqlite.OK"); +#line 150 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp75_ = stmt; +#line 150 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp76_ = video_row; +#line 150 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp77_ = _tmp76_->comment; +#line 150 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp78_ = g_strdup (_tmp77_); +#line 150 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp79_ = g_free; +#line 150 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp80_ = sqlite3_bind_text (_tmp75_, 14, _tmp78_, -1, _tmp79_); +#line 150 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp80_; +#line 151 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp81_ = res; +#line 151 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp81_ == SQLITE_OK, "res == Sqlite.OK"); +#line 153 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp82_ = stmt; +#line 153 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp83_ = sqlite3_step (_tmp82_); +#line 153 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp83_; +#line 154 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp84_ = res; +#line 154 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp84_ != SQLITE_DONE) { +#line 1152 "VideoTable.c" + gint _tmp85_ = 0; +#line 155 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp85_ = res; +#line 155 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp85_ != SQLITE_CONSTRAINT) { +#line 1158 "VideoTable.c" + gint _tmp86_ = 0; +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp86_ = res; +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_throw_error ("VideoTable.add", _tmp86_, &_inner_error_); +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 1174 "VideoTable.c" + } else { +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.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 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 156 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 1184 "VideoTable.c" + } + } + } + } +#line 160 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp87_ = video_row; +#line 160 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp88_ = database_table_db; +#line 160 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp89_ = sqlite3_last_insert_rowid (_tmp88_); +#line 160 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_id_init (&_tmp87_->video_id, _tmp89_); +#line 161 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp90_ = video_row; +#line 161 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + event_id_init (&_tmp90_->event_id, EVENT_ID_INVALID); +#line 162 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp91_ = video_row; +#line 162 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp92_ = time_created; +#line 162 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp91_->time_created = (time_t) _tmp92_; +#line 163 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp93_ = video_row; +#line 163 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp93_->flags = (guint64) 0; +#line 165 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp94_ = video_row; +#line 165 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp95_ = _tmp94_->video_id; +#line 165 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + *result = _tmp95_; +#line 165 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 165 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 1221 "VideoTable.c" +} + + +gboolean video_table_drop_event (VideoTable* self, EventID* event_id) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + sqlite3_stmt* _tmp7_ = NULL; + EventID _tmp8_ = {0}; + gint64 _tmp9_ = 0LL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + sqlite3_stmt* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 168 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), FALSE); +#line 168 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 170 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 170 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "UPDATE VideoTable SET event_id = ? WHERE event_id = ?", -1, &_tmp1_, NULL); +#line 170 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 170 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 170 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 171 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 171 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 173 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = stmt; +#line 173 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = sqlite3_bind_int64 (_tmp4_, 1, EVENT_ID_INVALID); +#line 173 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp5_; +#line 174 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = res; +#line 174 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp6_ == SQLITE_OK, "res == Sqlite.OK"); +#line 175 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = stmt; +#line 175 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = *event_id; +#line 175 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = _tmp8_.id; +#line 175 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = sqlite3_bind_int64 (_tmp7_, 2, _tmp9_); +#line 175 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp10_; +#line 176 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = res; +#line 176 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp11_ == SQLITE_OK, "res == Sqlite.OK"); +#line 178 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = stmt; +#line 178 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = sqlite3_step (_tmp12_); +#line 178 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp13_; +#line 179 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_ = res; +#line 179 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp14_ != SQLITE_DONE) { +#line 1296 "VideoTable.c" + gint _tmp15_ = 0; +#line 180 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp15_ = res; +#line 180 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_fatal ("VideoTable.drop_event", _tmp15_); +#line 182 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = FALSE; +#line 182 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 182 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 1308 "VideoTable.c" + } +#line 185 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = TRUE; +#line 185 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 185 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 1316 "VideoTable.c" +} + + +VideoRow* video_table_get_row (VideoTable* self, VideoID* video_id) { + VideoRow* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + VideoID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + VideoRow* row = NULL; + VideoRow* _tmp11_ = NULL; + VideoRow* _tmp12_ = NULL; + VideoID _tmp13_ = {0}; + VideoRow* _tmp14_ = NULL; + sqlite3_stmt* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + VideoRow* _tmp18_ = NULL; + sqlite3_stmt* _tmp19_ = NULL; + gint _tmp20_ = 0; + VideoRow* _tmp21_ = NULL; + sqlite3_stmt* _tmp22_ = NULL; + gint _tmp23_ = 0; + VideoRow* _tmp24_ = NULL; + sqlite3_stmt* _tmp25_ = NULL; + gdouble _tmp26_ = 0.0; + VideoRow* _tmp27_ = NULL; + sqlite3_stmt* _tmp28_ = NULL; + gint _tmp29_ = 0; + VideoRow* _tmp30_ = NULL; + sqlite3_stmt* _tmp31_ = NULL; + gint64 _tmp32_ = 0LL; + VideoRow* _tmp33_ = NULL; + sqlite3_stmt* _tmp34_ = NULL; + gint64 _tmp35_ = 0LL; + VideoRow* _tmp36_ = NULL; + sqlite3_stmt* _tmp37_ = NULL; + gint64 _tmp38_ = 0LL; + VideoRow* _tmp39_ = NULL; + sqlite3_stmt* _tmp40_ = NULL; + gint64 _tmp41_ = 0LL; + VideoRow* _tmp42_ = NULL; + sqlite3_stmt* _tmp43_ = NULL; + gint64 _tmp44_ = 0LL; + VideoRow* _tmp45_ = NULL; + sqlite3_stmt* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + VideoRow* _tmp49_ = NULL; + sqlite3_stmt* _tmp50_ = NULL; + gint64 _tmp51_ = 0LL; + VideoRow* _tmp52_ = NULL; + sqlite3_stmt* _tmp53_ = NULL; + gint _tmp54_ = 0; + Rating _tmp55_ = 0; + VideoRow* _tmp56_ = NULL; + sqlite3_stmt* _tmp57_ = NULL; + const gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + VideoRow* _tmp60_ = NULL; + sqlite3_stmt* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + VideoRow* _tmp64_ = NULL; + sqlite3_stmt* _tmp65_ = NULL; + gint64 _tmp66_ = 0LL; + VideoRow* _tmp67_ = NULL; + sqlite3_stmt* _tmp68_ = NULL; + gint64 _tmp69_ = 0LL; + VideoRow* _tmp70_ = NULL; + sqlite3_stmt* _tmp71_ = NULL; + const gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), NULL); +#line 188 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (video_id != NULL, NULL); +#line 190 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 190 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT filename, width, height, clip_duration, is_interpretable, files" \ +"ize, timestamp, " "exposure_time, import_id, event_id, md5, time_created, rating, title, " \ +"backlinks, " "time_reimported, flags, comment FROM VideoTable WHERE id=?", -1, &_tmp1_, NULL); +#line 190 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 190 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 190 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 195 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 195 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 197 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = stmt; +#line 197 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = *video_id; +#line 197 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = _tmp5_.id; +#line 197 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 197 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp7_; +#line 198 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = res; +#line 198 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 200 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = stmt; +#line 200 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 200 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp10_ != SQLITE_ROW) { +#line 201 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = NULL; +#line 201 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 201 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 1443 "VideoTable.c" + } +#line 203 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = video_row_new (); +#line 203 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + row = _tmp11_; +#line 204 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = row; +#line 204 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = *video_id; +#line 204 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_->video_id = _tmp13_; +#line 205 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_ = row; +#line 205 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp15_ = stmt; +#line 205 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp16_ = sqlite3_column_text (_tmp15_, 0); +#line 205 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 205 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp14_->filepath); +#line 205 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_->filepath = _tmp17_; +#line 206 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp18_ = row; +#line 206 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp19_ = stmt; +#line 206 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp20_ = sqlite3_column_int (_tmp19_, 1); +#line 206 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp18_->width = _tmp20_; +#line 207 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp21_ = row; +#line 207 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp22_ = stmt; +#line 207 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp23_ = sqlite3_column_int (_tmp22_, 2); +#line 207 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp21_->height = _tmp23_; +#line 208 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp24_ = row; +#line 208 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp25_ = stmt; +#line 208 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp26_ = sqlite3_column_double (_tmp25_, 3); +#line 208 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp24_->clip_duration = _tmp26_; +#line 209 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp27_ = row; +#line 209 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp28_ = stmt; +#line 209 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp29_ = sqlite3_column_int (_tmp28_, 4); +#line 209 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp27_->is_interpretable = _tmp29_ == 1; +#line 210 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp30_ = row; +#line 210 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp31_ = stmt; +#line 210 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp32_ = sqlite3_column_int64 (_tmp31_, 5); +#line 210 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp30_->filesize = _tmp32_; +#line 211 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp33_ = row; +#line 211 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp34_ = stmt; +#line 211 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp35_ = sqlite3_column_int64 (_tmp34_, 6); +#line 211 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp33_->timestamp = (time_t) _tmp35_; +#line 212 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp36_ = row; +#line 212 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp37_ = stmt; +#line 212 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp38_ = sqlite3_column_int64 (_tmp37_, 7); +#line 212 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp36_->exposure_time = (time_t) _tmp38_; +#line 213 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp39_ = row; +#line 213 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp40_ = stmt; +#line 213 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp41_ = sqlite3_column_int64 (_tmp40_, 8); +#line 213 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp39_->import_id.id = _tmp41_; +#line 214 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp42_ = row; +#line 214 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp43_ = stmt; +#line 214 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp44_ = sqlite3_column_int64 (_tmp43_, 9); +#line 214 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp42_->event_id.id = _tmp44_; +#line 215 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp45_ = row; +#line 215 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp46_ = stmt; +#line 215 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp47_ = sqlite3_column_text (_tmp46_, 10); +#line 215 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp48_ = g_strdup (_tmp47_); +#line 215 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp45_->md5); +#line 215 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp45_->md5 = _tmp48_; +#line 216 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp49_ = row; +#line 216 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp50_ = stmt; +#line 216 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp51_ = sqlite3_column_int64 (_tmp50_, 11); +#line 216 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp49_->time_created = (time_t) _tmp51_; +#line 217 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp52_ = row; +#line 217 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp53_ = stmt; +#line 217 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp54_ = sqlite3_column_int (_tmp53_, 12); +#line 217 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp55_ = rating_unserialize (_tmp54_); +#line 217 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp52_->rating = _tmp55_; +#line 218 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp56_ = row; +#line 218 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp57_ = stmt; +#line 218 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp58_ = sqlite3_column_text (_tmp57_, 13); +#line 218 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp59_ = g_strdup (_tmp58_); +#line 218 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp56_->title); +#line 218 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp56_->title = _tmp59_; +#line 219 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp60_ = row; +#line 219 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp61_ = stmt; +#line 219 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp62_ = sqlite3_column_text (_tmp61_, 14); +#line 219 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp63_ = g_strdup (_tmp62_); +#line 219 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp60_->backlinks); +#line 219 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp60_->backlinks = _tmp63_; +#line 220 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp64_ = row; +#line 220 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp65_ = stmt; +#line 220 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp66_ = sqlite3_column_int64 (_tmp65_, 15); +#line 220 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp64_->time_reimported = (time_t) _tmp66_; +#line 221 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp67_ = row; +#line 221 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp68_ = stmt; +#line 221 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp69_ = sqlite3_column_int64 (_tmp68_, 16); +#line 221 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp67_->flags = (guint64) _tmp69_; +#line 222 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp70_ = row; +#line 222 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp71_ = stmt; +#line 222 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp72_ = sqlite3_column_text (_tmp71_, 17); +#line 222 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp73_ = g_strdup (_tmp72_); +#line 222 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp70_->comment); +#line 222 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp70_->comment = _tmp73_; +#line 224 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = row; +#line 224 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 224 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 1627 "VideoTable.c" +} + + +GeeArrayList* video_table_get_all (VideoTable* self) { + GeeArrayList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeArrayList* all = NULL; + GeeArrayList* _tmp4_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), NULL); +#line 229 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 229 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id, filename, width, height, clip_duration, is_interpretable, f" \ +"ilesize, " "timestamp, exposure_time, import_id, event_id, md5, time_created, rati" \ +"ng, title, " "backlinks, time_reimported, flags, comment FROM VideoTable", -1, &_tmp1_, NULL); +#line 229 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 229 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 229 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 234 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 234 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 236 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = gee_array_list_new (TYPE_VIDEO_ROW, (GBoxedCopyFunc) video_row_ref, video_row_unref, NULL, NULL, NULL); +#line 236 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + all = _tmp4_; +#line 238 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + while (TRUE) { +#line 1663 "VideoTable.c" + sqlite3_stmt* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + VideoRow* row = NULL; + VideoRow* _tmp8_ = NULL; + VideoRow* _tmp9_ = NULL; + sqlite3_stmt* _tmp10_ = NULL; + gint64 _tmp11_ = 0LL; + VideoRow* _tmp12_ = NULL; + sqlite3_stmt* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + VideoRow* _tmp16_ = NULL; + sqlite3_stmt* _tmp17_ = NULL; + gint _tmp18_ = 0; + VideoRow* _tmp19_ = NULL; + sqlite3_stmt* _tmp20_ = NULL; + gint _tmp21_ = 0; + VideoRow* _tmp22_ = NULL; + sqlite3_stmt* _tmp23_ = NULL; + gdouble _tmp24_ = 0.0; + VideoRow* _tmp25_ = NULL; + sqlite3_stmt* _tmp26_ = NULL; + gint _tmp27_ = 0; + VideoRow* _tmp28_ = NULL; + sqlite3_stmt* _tmp29_ = NULL; + gint64 _tmp30_ = 0LL; + VideoRow* _tmp31_ = NULL; + sqlite3_stmt* _tmp32_ = NULL; + gint64 _tmp33_ = 0LL; + VideoRow* _tmp34_ = NULL; + sqlite3_stmt* _tmp35_ = NULL; + gint64 _tmp36_ = 0LL; + VideoRow* _tmp37_ = NULL; + sqlite3_stmt* _tmp38_ = NULL; + gint64 _tmp39_ = 0LL; + VideoRow* _tmp40_ = NULL; + sqlite3_stmt* _tmp41_ = NULL; + gint64 _tmp42_ = 0LL; + VideoRow* _tmp43_ = NULL; + sqlite3_stmt* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + VideoRow* _tmp47_ = NULL; + sqlite3_stmt* _tmp48_ = NULL; + gint64 _tmp49_ = 0LL; + VideoRow* _tmp50_ = NULL; + sqlite3_stmt* _tmp51_ = NULL; + gint _tmp52_ = 0; + Rating _tmp53_ = 0; + VideoRow* _tmp54_ = NULL; + sqlite3_stmt* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + VideoRow* _tmp58_ = NULL; + sqlite3_stmt* _tmp59_ = NULL; + const gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + VideoRow* _tmp62_ = NULL; + sqlite3_stmt* _tmp63_ = NULL; + gint64 _tmp64_ = 0LL; + VideoRow* _tmp65_ = NULL; + sqlite3_stmt* _tmp66_ = NULL; + gint64 _tmp67_ = 0LL; + VideoRow* _tmp68_ = NULL; + sqlite3_stmt* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + GeeArrayList* _tmp72_ = NULL; + VideoRow* _tmp73_ = NULL; +#line 238 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = stmt; +#line 238 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = sqlite3_step (_tmp5_); +#line 238 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp6_; +#line 238 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = res; +#line 238 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (!(_tmp7_ == SQLITE_ROW)) { +#line 238 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + break; +#line 1746 "VideoTable.c" + } +#line 239 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = video_row_new (); +#line 239 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + row = _tmp8_; +#line 240 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = row; +#line 240 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = stmt; +#line 240 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = sqlite3_column_int64 (_tmp10_, 0); +#line 240 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_->video_id.id = _tmp11_; +#line 241 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = row; +#line 241 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = stmt; +#line 241 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_ = sqlite3_column_text (_tmp13_, 1); +#line 241 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 241 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp12_->filepath); +#line 241 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_->filepath = _tmp15_; +#line 242 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp16_ = row; +#line 242 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp17_ = stmt; +#line 242 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp18_ = sqlite3_column_int (_tmp17_, 2); +#line 242 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp16_->width = _tmp18_; +#line 243 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp19_ = row; +#line 243 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp20_ = stmt; +#line 243 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp21_ = sqlite3_column_int (_tmp20_, 3); +#line 243 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp19_->height = _tmp21_; +#line 244 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp22_ = row; +#line 244 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp23_ = stmt; +#line 244 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp24_ = sqlite3_column_double (_tmp23_, 4); +#line 244 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp22_->clip_duration = _tmp24_; +#line 245 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp25_ = row; +#line 245 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp26_ = stmt; +#line 245 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp27_ = sqlite3_column_int (_tmp26_, 5); +#line 245 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp25_->is_interpretable = _tmp27_ == 1; +#line 246 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp28_ = row; +#line 246 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp29_ = stmt; +#line 246 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp30_ = sqlite3_column_int64 (_tmp29_, 6); +#line 246 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp28_->filesize = _tmp30_; +#line 247 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp31_ = row; +#line 247 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp32_ = stmt; +#line 247 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp33_ = sqlite3_column_int64 (_tmp32_, 7); +#line 247 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp31_->timestamp = (time_t) _tmp33_; +#line 248 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp34_ = row; +#line 248 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp35_ = stmt; +#line 248 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp36_ = sqlite3_column_int64 (_tmp35_, 8); +#line 248 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp34_->exposure_time = (time_t) _tmp36_; +#line 249 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp37_ = row; +#line 249 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp38_ = stmt; +#line 249 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp39_ = sqlite3_column_int64 (_tmp38_, 9); +#line 249 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp37_->import_id.id = _tmp39_; +#line 250 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp40_ = row; +#line 250 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp41_ = stmt; +#line 250 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp42_ = sqlite3_column_int64 (_tmp41_, 10); +#line 250 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp40_->event_id.id = _tmp42_; +#line 251 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp43_ = row; +#line 251 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp44_ = stmt; +#line 251 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp45_ = sqlite3_column_text (_tmp44_, 11); +#line 251 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp46_ = g_strdup (_tmp45_); +#line 251 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp43_->md5); +#line 251 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp43_->md5 = _tmp46_; +#line 252 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp47_ = row; +#line 252 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp48_ = stmt; +#line 252 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp49_ = sqlite3_column_int64 (_tmp48_, 12); +#line 252 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp47_->time_created = (time_t) _tmp49_; +#line 253 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp50_ = row; +#line 253 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp51_ = stmt; +#line 253 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp52_ = sqlite3_column_int (_tmp51_, 13); +#line 253 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp53_ = rating_unserialize (_tmp52_); +#line 253 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp50_->rating = _tmp53_; +#line 254 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp54_ = row; +#line 254 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp55_ = stmt; +#line 254 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp56_ = sqlite3_column_text (_tmp55_, 14); +#line 254 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp57_ = g_strdup (_tmp56_); +#line 254 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp54_->title); +#line 254 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp54_->title = _tmp57_; +#line 255 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp58_ = row; +#line 255 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp59_ = stmt; +#line 255 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp60_ = sqlite3_column_text (_tmp59_, 15); +#line 255 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp61_ = g_strdup (_tmp60_); +#line 255 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp58_->backlinks); +#line 255 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp58_->backlinks = _tmp61_; +#line 256 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp62_ = row; +#line 256 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp63_ = stmt; +#line 256 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp64_ = sqlite3_column_int64 (_tmp63_, 16); +#line 256 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp62_->time_reimported = (time_t) _tmp64_; +#line 257 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp65_ = row; +#line 257 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp66_ = stmt; +#line 257 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp67_ = sqlite3_column_int64 (_tmp66_, 17); +#line 257 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp65_->flags = (guint64) _tmp67_; +#line 258 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp68_ = row; +#line 258 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp69_ = stmt; +#line 258 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp70_ = sqlite3_column_text (_tmp69_, 18); +#line 258 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp71_ = g_strdup (_tmp70_); +#line 258 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp68_->comment); +#line 258 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp68_->comment = _tmp71_; +#line 260 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp72_ = all; +#line 260 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp73_ = row; +#line 260 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp73_); +#line 238 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _video_row_unref0 (row); +#line 1934 "VideoTable.c" + } +#line 263 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = all; +#line 263 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 263 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 1942 "VideoTable.c" +} + + +void video_table_set_filepath (VideoTable* self, VideoID* video_id, const gchar* filepath, GError** error) { + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + const gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 266 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 266 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 266 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (filepath != NULL); +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = *video_id; +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = _tmp0_.id; +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = filepath; +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "filename", _tmp2_, &_inner_error_); +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 1973 "VideoTable.c" + } else { +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.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 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 267 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 1981 "VideoTable.c" + } + } +} + + +void video_table_set_title (VideoTable* self, VideoID* video_id, const gchar* new_title, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + VideoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + GError * _inner_error_ = NULL; +#line 270 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 270 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = new_title; +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp1_ != NULL) { +#line 2001 "VideoTable.c" + const gchar* _tmp2_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = new_title; +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = _tmp2_; +#line 2007 "VideoTable.c" + } else { +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = ""; +#line 2011 "VideoTable.c" + } +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = *video_id; +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = _tmp3_.id; +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp4_, "title", _tmp0_, &_inner_error_); +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2027 "VideoTable.c" + } else { +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.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 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 271 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2035 "VideoTable.c" + } + } +} + + +void video_table_set_comment (VideoTable* self, VideoID* video_id, const gchar* new_comment, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + VideoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + GError * _inner_error_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 274 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = new_comment; +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp1_ != NULL) { +#line 2055 "VideoTable.c" + const gchar* _tmp2_ = NULL; +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = new_comment; +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = _tmp2_; +#line 2061 "VideoTable.c" + } else { +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = ""; +#line 2065 "VideoTable.c" + } +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = *video_id; +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = _tmp3_.id; +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp4_, "comment", _tmp0_, &_inner_error_); +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2081 "VideoTable.c" + } else { +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.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 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 275 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2089 "VideoTable.c" + } + } +} + + +void video_table_set_exposure_time (VideoTable* self, VideoID* video_id, time_t time, GError** error) { + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + time_t _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 278 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 278 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = *video_id; +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = _tmp0_.id; +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = time; +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "exposure_time", (gint64) _tmp2_, &_inner_error_); +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2120 "VideoTable.c" + } else { +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.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 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 279 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2128 "VideoTable.c" + } + } +} + + +void video_table_set_rating (VideoTable* self, VideoID* video_id, Rating rating, GError** error) { + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + Rating _tmp2_ = 0; + gint _tmp3_ = 0; + GError * _inner_error_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 282 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = *video_id; +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = _tmp0_.id; +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = rating; +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = rating_serialize (_tmp2_); +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "rating", (gint64) _tmp3_, &_inner_error_); +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2162 "VideoTable.c" + } else { +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.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 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 283 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2170 "VideoTable.c" + } + } +} + + +void video_table_set_flags (VideoTable* self, VideoID* video_id, guint64 flags, GError** error) { + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + guint64 _tmp2_ = 0ULL; + GError * _inner_error_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 286 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = *video_id; +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = _tmp0_.id; +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = flags; +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "flags", (gint64) _tmp2_, &_inner_error_); +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2201 "VideoTable.c" + } else { +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.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 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 287 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2209 "VideoTable.c" + } + } +} + + +void video_table_update_backlinks (VideoTable* self, VideoID* video_id, const gchar* backlinks, GError** error) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + VideoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; + GError * _inner_error_ = NULL; +#line 290 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 290 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = backlinks; +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp1_ != NULL) { +#line 2229 "VideoTable.c" + const gchar* _tmp2_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = backlinks; +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = _tmp2_; +#line 2235 "VideoTable.c" + } else { +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = ""; +#line 2239 "VideoTable.c" + } +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = *video_id; +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = _tmp3_.id; +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_text_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp4_, "backlinks", _tmp0_, &_inner_error_); +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2255 "VideoTable.c" + } else { +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.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 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 291 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2263 "VideoTable.c" + } + } +} + + +void video_table_update_is_interpretable (VideoTable* self, VideoID* video_id, gboolean is_interpretable, GError** error) { + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + VideoID _tmp2_ = {0}; + gint64 _tmp3_ = 0LL; + GError * _inner_error_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 294 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = is_interpretable; +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp1_) { +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = 1; +#line 2285 "VideoTable.c" + } else { +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = 0; +#line 2289 "VideoTable.c" + } +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = *video_id; +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = _tmp2_.id; +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_int_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp3_, "is_interpretable", _tmp0_, &_inner_error_); +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2305 "VideoTable.c" + } else { +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.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 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 295 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2313 "VideoTable.c" + } + } +} + + +gboolean video_table_set_event (VideoTable* self, VideoID* video_id, EventID* event_id) { + gboolean result = FALSE; + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + EventID _tmp2_ = {0}; + gint64 _tmp3_ = 0LL; + gboolean _tmp4_ = FALSE; +#line 298 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), FALSE); +#line 298 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (video_id != NULL, FALSE); +#line 298 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (event_id != NULL, FALSE); +#line 299 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = *video_id; +#line 299 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = _tmp0_.id; +#line 299 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = *event_id; +#line 299 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = _tmp2_.id; +#line 299 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = database_table_update_int64_by_id (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "event_id", _tmp3_); +#line 299 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp4_; +#line 299 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 2346 "VideoTable.c" +} + + +void video_table_remove_by_file (VideoTable* self, GFile* file, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + GError * _inner_error_ = NULL; +#line 302 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 302 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 304 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 304 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "DELETE FROM VideoTable WHERE filename=?", -1, &_tmp1_, NULL); +#line 304 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 304 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 304 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 305 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 305 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 307 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = stmt; +#line 307 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = file; +#line 307 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 307 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = g_free; +#line 307 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = sqlite3_bind_text (_tmp4_, 1, _tmp6_, -1, _tmp7_); +#line 307 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp8_; +#line 308 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = res; +#line 308 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 310 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = stmt; +#line 310 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = sqlite3_step (_tmp10_); +#line 310 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp11_; +#line 311 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = res; +#line 311 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp12_ != SQLITE_DONE) { +#line 2411 "VideoTable.c" + gint _tmp13_ = 0; +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = res; +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_throw_error ("VideoTable.remove_by_file", _tmp13_, &_inner_error_); +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2427 "VideoTable.c" + } else { +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.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 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 312 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2437 "VideoTable.c" + } + } + } +#line 302 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 2443 "VideoTable.c" +} + + +void video_table_remove (VideoTable* self, VideoID* videoID, GError** error) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + VideoID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + sqlite3_stmt* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GError * _inner_error_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 315 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (videoID != NULL); +#line 317 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 317 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "DELETE FROM VideoTable WHERE id=?", -1, &_tmp1_, NULL); +#line 317 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 317 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 317 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 318 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 318 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 320 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = stmt; +#line 320 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = *videoID; +#line 320 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = _tmp5_.id; +#line 320 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 320 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp7_; +#line 321 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = res; +#line 321 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 323 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = stmt; +#line 323 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = sqlite3_step (_tmp9_); +#line 323 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp10_; +#line 324 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = res; +#line 324 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp11_ != SQLITE_DONE) { +#line 2505 "VideoTable.c" + gint _tmp12_ = 0; +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = res; +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_throw_error ("VideoTable.remove", _tmp12_, &_inner_error_); +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2521 "VideoTable.c" + } else { +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.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 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 325 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2531 "VideoTable.c" + } + } + } +#line 315 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 2537 "VideoTable.c" +} + + +gboolean video_table_is_video_stored (VideoTable* self, GFile* file) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + VideoID _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; +#line 328 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), FALSE); +#line 328 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 329 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = file; +#line 329 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_table_get_id (self, _tmp0_, &_tmp1_); +#line 329 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = video_id_is_valid (&_tmp1_); +#line 329 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp2_; +#line 329 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 2560 "VideoTable.c" +} + + +void video_table_get_id (VideoTable* self, GFile* file, VideoID* result) { + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + sqlite3_stmt* _tmp10_ = NULL; + gint _tmp11_ = 0; + VideoID _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 332 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 332 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 334 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 334 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT ID FROM VideoTable WHERE filename=?", -1, &_tmp1_, NULL); +#line 334 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 334 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 334 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 335 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 335 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 337 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = stmt; +#line 337 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = file; +#line 337 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 337 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = g_free; +#line 337 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = sqlite3_bind_text (_tmp4_, 1, _tmp6_, -1, _tmp7_); +#line 337 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp8_; +#line 338 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = res; +#line 338 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp9_ == SQLITE_OK, "res == Sqlite.OK"); +#line 340 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = stmt; +#line 340 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = sqlite3_step (_tmp10_); +#line 340 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp11_; +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = res; +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp13_ == SQLITE_ROW) { +#line 2625 "VideoTable.c" + sqlite3_stmt* _tmp14_ = NULL; + gint64 _tmp15_ = 0LL; +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_ = stmt; +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp15_ = sqlite3_column_int64 (_tmp14_, 0); +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_id_init (&_tmp12_, _tmp15_); +#line 2634 "VideoTable.c" + } else { +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_id_init (&_tmp12_, VIDEO_ID_INVALID); +#line 2638 "VideoTable.c" + } +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + *result = _tmp12_; +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 342 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 2646 "VideoTable.c" +} + + +GeeArrayList* video_table_get_videos (VideoTable* self, GError** error) { + GeeArrayList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GeeArrayList* video_ids = NULL; + GeeArrayList* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 345 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), NULL); +#line 347 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 347 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id FROM VideoTable", -1, &_tmp1_, NULL); +#line 347 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 347 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 347 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 348 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 348 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 350 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = gee_array_list_new (TYPE_VIDEO_ID, (GBoxedCopyFunc) video_id_dup, video_id_free, NULL, NULL, NULL); +#line 350 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_ids = _tmp4_; +#line 2681 "VideoTable.c" + { + gboolean _tmp5_ = FALSE; +#line 351 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = TRUE; +#line 351 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + while (TRUE) { +#line 2688 "VideoTable.c" + sqlite3_stmt* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GeeArrayList* _tmp11_ = NULL; + sqlite3_stmt* _tmp12_ = NULL; + gint64 _tmp13_ = 0LL; + VideoID _tmp14_ = {0}; +#line 351 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (!_tmp5_) { +#line 2698 "VideoTable.c" + } +#line 351 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = FALSE; +#line 352 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = stmt; +#line 352 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = sqlite3_step (_tmp6_); +#line 352 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp7_; +#line 353 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = res; +#line 353 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp8_ == SQLITE_DONE) { +#line 354 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + break; +#line 2714 "VideoTable.c" + } else { + gint _tmp9_ = 0; +#line 355 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = res; +#line 355 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp9_ != SQLITE_ROW) { +#line 2721 "VideoTable.c" + gint _tmp10_ = 0; +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = res; +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_throw_error ("VideoTable.get_videos", _tmp10_, &_inner_error_); +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_object_unref0 (video_ids); +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return NULL; +#line 2739 "VideoTable.c" + } else { +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_object_unref0 (video_ids); +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.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 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 356 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return NULL; +#line 2751 "VideoTable.c" + } + } + } + } +#line 359 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = video_ids; +#line 359 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = stmt; +#line 359 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = sqlite3_column_int64 (_tmp12_, 0); +#line 359 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_id_init (&_tmp14_, _tmp13_); +#line 359 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), &_tmp14_); +#line 2766 "VideoTable.c" + } + } +#line 362 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = video_ids; +#line 362 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 362 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 2775 "VideoTable.c" +} + + +static sqlite3_stmt* video_table_get_duplicate_stmt (VideoTable* self, GFile* file, const gchar* md5) { + sqlite3_stmt* result = NULL; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + gchar* sql = NULL; + gchar* _tmp3_ = NULL; + gboolean first = FALSE; + GFile* _tmp4_ = NULL; + const gchar* _tmp7_ = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + sqlite3_stmt* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint col = 0; + GFile* _tmp18_ = NULL; + const gchar* _tmp26_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), NULL); +#line 365 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 366 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = file; +#line 366 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp1_ != NULL) { +#line 366 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = TRUE; +#line 2808 "VideoTable.c" + } else { + const gchar* _tmp2_ = NULL; +#line 366 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = md5; +#line 366 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = _tmp2_ != NULL; +#line 2815 "VideoTable.c" + } +#line 366 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp0_, "file != null || md5 != null"); +#line 368 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = g_strdup ("SELECT id FROM VideoTable WHERE"); +#line 368 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + sql = _tmp3_; +#line 369 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + first = TRUE; +#line 371 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = file; +#line 371 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp4_ != NULL) { +#line 2829 "VideoTable.c" + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 372 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = sql; +#line 372 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = g_strconcat (_tmp5_, " filename=?", NULL); +#line 372 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (sql); +#line 372 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + sql = _tmp6_; +#line 373 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + first = FALSE; +#line 2842 "VideoTable.c" + } +#line 376 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = md5; +#line 376 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp7_ != NULL) { +#line 2848 "VideoTable.c" + gboolean _tmp8_ = FALSE; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = first; +#line 377 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (!_tmp8_) { +#line 2856 "VideoTable.c" + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 378 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = sql; +#line 378 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = g_strconcat (_tmp9_, " OR ", NULL); +#line 378 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (sql); +#line 378 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + sql = _tmp10_; +#line 2867 "VideoTable.c" + } +#line 380 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = sql; +#line 380 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = g_strconcat (_tmp11_, " md5=?", NULL); +#line 380 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (sql); +#line 380 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + sql = _tmp12_; +#line 2877 "VideoTable.c" + } +#line 384 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = database_table_db; +#line 384 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_ = sql; +#line 384 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp16_ = sqlite3_prepare_v2 (_tmp13_, _tmp14_, -1, &_tmp15_, NULL); +#line 384 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 384 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp15_; +#line 384 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp16_; +#line 385 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp17_ = res; +#line 385 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp17_ == SQLITE_OK, "res == Sqlite.OK"); +#line 387 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + col = 1; +#line 389 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp18_ = file; +#line 389 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp18_ != NULL) { +#line 2901 "VideoTable.c" + sqlite3_stmt* _tmp19_ = NULL; + gint _tmp20_ = 0; + GFile* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + GDestroyNotify _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 390 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp19_ = stmt; +#line 390 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp20_ = col; +#line 390 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + col = _tmp20_ + 1; +#line 390 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp21_ = file; +#line 390 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp22_ = g_file_get_path (_tmp21_); +#line 390 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp23_ = g_free; +#line 390 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp24_ = sqlite3_bind_text (_tmp19_, _tmp20_, _tmp22_, -1, _tmp23_); +#line 390 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp24_; +#line 391 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp25_ = res; +#line 391 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp25_ == SQLITE_OK, "res == Sqlite.OK"); +#line 2929 "VideoTable.c" + } +#line 394 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp26_ = md5; +#line 394 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp26_ != NULL) { +#line 2935 "VideoTable.c" + sqlite3_stmt* _tmp27_ = NULL; + gint _tmp28_ = 0; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + GDestroyNotify _tmp31_ = NULL; + gint _tmp32_ = 0; + gint _tmp33_ = 0; +#line 395 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp27_ = stmt; +#line 395 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp28_ = col; +#line 395 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + col = _tmp28_ + 1; +#line 395 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp29_ = md5; +#line 395 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 395 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp31_ = g_free; +#line 395 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp32_ = sqlite3_bind_text (_tmp27_, _tmp28_, _tmp30_, -1, _tmp31_); +#line 395 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp32_; +#line 396 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp33_ = res; +#line 396 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp33_ == SQLITE_OK, "res == Sqlite.OK"); +#line 2963 "VideoTable.c" + } +#line 399 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = stmt; +#line 399 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (sql); +#line 399 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 2971 "VideoTable.c" +} + + +gboolean video_table_has_duplicate (VideoTable* self, GFile* file, const gchar* md5) { + gboolean result = FALSE; + sqlite3_stmt* stmt = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + gint res = 0; + sqlite3_stmt* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 402 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), FALSE); +#line 402 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), FALSE); +#line 403 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = file; +#line 403 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = md5; +#line 403 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = video_table_get_duplicate_stmt (self, _tmp0_, _tmp1_); +#line 403 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp2_; +#line 404 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = stmt; +#line 404 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = sqlite3_step (_tmp3_); +#line 404 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp4_; +#line 406 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = res; +#line 406 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp5_ == SQLITE_DONE) { +#line 408 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = FALSE; +#line 408 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 408 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 3013 "VideoTable.c" + } else { + gint _tmp6_ = 0; +#line 409 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = res; +#line 409 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp6_ == SQLITE_ROW) { +#line 411 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = TRUE; +#line 411 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 411 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 3026 "VideoTable.c" + } else { + gint _tmp7_ = 0; +#line 413 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = res; +#line 413 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_fatal ("VideoTable.has_duplicate", _tmp7_); +#line 3033 "VideoTable.c" + } + } +#line 416 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = FALSE; +#line 416 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 416 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 3042 "VideoTable.c" +} + + +static void _vala_array_add3 (VideoID** array, int* length, int* size, const VideoID* value) { +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if ((*length) == (*size)) { +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + *array = g_renew (VideoID, *array, *size); +#line 3053 "VideoTable.c" + } +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + (*array)[(*length)++] = *value; +#line 3057 "VideoTable.c" +} + + +VideoID* video_table_get_duplicate_ids (VideoTable* self, GFile* file, const gchar* md5, int* result_length1) { + VideoID* result = NULL; + sqlite3_stmt* stmt = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + sqlite3_stmt* _tmp2_ = NULL; + VideoID* ids = NULL; + VideoID* _tmp3_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + gint res = 0; + sqlite3_stmt* _tmp4_ = NULL; + gint _tmp5_ = 0; + VideoID* _tmp13_ = NULL; + gint _tmp13__length1 = 0; +#line 419 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), NULL); +#line 419 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), NULL); +#line 420 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = file; +#line 420 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = md5; +#line 420 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = video_table_get_duplicate_stmt (self, _tmp0_, _tmp1_); +#line 420 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp2_; +#line 422 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = g_new0 (VideoID, 0); +#line 422 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + ids = _tmp3_; +#line 422 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + ids_length1 = 0; +#line 422 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _ids_size_ = ids_length1; +#line 424 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = stmt; +#line 424 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = sqlite3_step (_tmp4_); +#line 424 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp5_; +#line 425 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + while (TRUE) { +#line 3104 "VideoTable.c" + gint _tmp6_ = 0; + VideoID* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + sqlite3_stmt* _tmp8_ = NULL; + gint64 _tmp9_ = 0LL; + VideoID _tmp10_ = {0}; + sqlite3_stmt* _tmp11_ = NULL; + gint _tmp12_ = 0; +#line 425 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = res; +#line 425 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (!(_tmp6_ == SQLITE_ROW)) { +#line 425 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + break; +#line 3119 "VideoTable.c" + } +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = ids; +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7__length1 = ids_length1; +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = stmt; +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = sqlite3_column_int64 (_tmp8_, 0); +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_id_init (&_tmp10_, _tmp9_); +#line 426 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_array_add3 (&ids, &ids_length1, &_ids_size_, &_tmp10_); +#line 427 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = stmt; +#line 427 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = sqlite3_step (_tmp11_); +#line 427 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp12_; +#line 3139 "VideoTable.c" + } +#line 430 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = ids; +#line 430 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13__length1 = ids_length1; +#line 430 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (result_length1) { +#line 430 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + *result_length1 = _tmp13__length1; +#line 3149 "VideoTable.c" + } +#line 430 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _tmp13_; +#line 430 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 430 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 3157 "VideoTable.c" +} + + +GeeArrayList* video_table_get_event_source_ids (VideoTable* self, EventID* event_id) { + GeeArrayList* result = NULL; + sqlite3_stmt* stmt = NULL; + gint res = 0; + sqlite3* _tmp0_ = NULL; + sqlite3_stmt* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + sqlite3_stmt* _tmp4_ = NULL; + EventID _tmp5_ = {0}; + gint64 _tmp6_ = 0LL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GeeArrayList* _result_ = NULL; + GeeArrayList* _tmp9_ = NULL; +#line 433 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (IS_VIDEO_TABLE (self), NULL); +#line 433 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_val_if_fail (event_id != NULL, NULL); +#line 435 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = database_table_db; +#line 435 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = sqlite3_prepare_v2 (_tmp0_, "SELECT id FROM VideoTable WHERE event_id = ?", -1, &_tmp1_, NULL); +#line 435 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 435 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + stmt = _tmp1_; +#line 435 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp2_; +#line 436 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp3_ = res; +#line 436 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp3_ == SQLITE_OK, "res == Sqlite.OK"); +#line 438 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp4_ = stmt; +#line 438 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp5_ = *event_id; +#line 438 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp6_ = _tmp5_.id; +#line 438 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp7_ = sqlite3_bind_int64 (_tmp4_, 1, _tmp6_); +#line 438 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp7_; +#line 439 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp8_ = res; +#line 439 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _vala_assert (_tmp8_ == SQLITE_OK, "res == Sqlite.OK"); +#line 441 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp9_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 441 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _result_ = _tmp9_; +#line 3212 "VideoTable.c" + { + gboolean _tmp10_ = FALSE; +#line 442 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = TRUE; +#line 442 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + while (TRUE) { +#line 3219 "VideoTable.c" + sqlite3_stmt* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + GeeArrayList* _tmp16_ = NULL; + sqlite3_stmt* _tmp17_ = NULL; + gint64 _tmp18_ = 0LL; + VideoID _tmp19_ = {0}; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 442 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (!_tmp10_) { +#line 3231 "VideoTable.c" + } +#line 442 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp10_ = FALSE; +#line 443 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp11_ = stmt; +#line 443 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp12_ = sqlite3_step (_tmp11_); +#line 443 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + res = _tmp12_; +#line 444 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp13_ = res; +#line 444 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp13_ == SQLITE_DONE) { +#line 445 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + break; +#line 3247 "VideoTable.c" + } else { + gint _tmp14_ = 0; +#line 446 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp14_ = res; +#line 446 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_tmp14_ != SQLITE_ROW) { +#line 3254 "VideoTable.c" + gint _tmp15_ = 0; +#line 447 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp15_ = res; +#line 447 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_fatal ("get_event_source_ids", _tmp15_); +#line 449 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + break; +#line 3262 "VideoTable.c" + } + } +#line 452 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp16_ = _result_; +#line 452 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp17_ = stmt; +#line 452 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp18_ = sqlite3_column_int64 (_tmp17_, 0); +#line 452 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_id_init (&_tmp19_, _tmp18_); +#line 452 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp20_ = video_id_upgrade_video_id_to_source_id (&_tmp19_); +#line 452 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp21_ = _tmp20_; +#line 452 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp21_); +#line 452 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _g_free0 (_tmp21_); +#line 3281 "VideoTable.c" + } + } +#line 455 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + result = _result_; +#line 455 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _sqlite3_finalize0 (stmt); +#line 455 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return result; +#line 3290 "VideoTable.c" +} + + +void video_table_set_timestamp (VideoTable* self, VideoID* video_id, time_t timestamp, GError** error) { + VideoID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; + time_t _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (IS_VIDEO_TABLE (self)); +#line 458 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_return_if_fail (video_id != NULL); +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp0_ = *video_id; +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp1_ = _tmp0_.id; +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + _tmp2_ = timestamp; +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + database_table_update_int64_by_id_2 (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_TABLE, DatabaseTable), _tmp1_, "timestamp", (gint64) _tmp2_, &_inner_error_); +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_propagate_error (error, _inner_error_); +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 3319 "VideoTable.c" + } else { +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.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 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + g_clear_error (&_inner_error_); +#line 459 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + return; +#line 3327 "VideoTable.c" + } + } +} + + +static void video_table_class_init (VideoTableClass * klass) { +#line 59 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + video_table_parent_class = g_type_class_peek_parent (klass); +#line 59 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + ((DatabaseTableClass *) klass)->finalize = video_table_finalize; +#line 3338 "VideoTable.c" +} + + +static void video_table_instance_init (VideoTable * self) { +} + + +static void video_table_finalize (DatabaseTable* obj) { + VideoTable * self; +#line 59 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_VIDEO_TABLE, VideoTable); +#line 59 "/home/jens/Source/shotwell/src/db/VideoTable.vala" + DATABASE_TABLE_CLASS (video_table_parent_class)->finalize (obj); +#line 3352 "VideoTable.c" +} + + +GType video_table_get_type (void) { + static volatile gsize video_table_type_id__volatile = 0; + if (g_once_init_enter (&video_table_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (VideoTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) video_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VideoTable), 0, (GInstanceInitFunc) video_table_instance_init, NULL }; + GType video_table_type_id; + video_table_type_id = g_type_register_static (TYPE_DATABASE_TABLE, "VideoTable", &g_define_type_info, 0); + g_once_init_leave (&video_table_type_id__volatile, video_table_type_id); + } + return video_table_type_id__volatile; +} + + + diff --git a/src/db/mk/db.mk b/src/db/mk/db.mk deleted file mode 100644 index 421961a..0000000 --- a/src/db/mk/db.mk +++ /dev/null @@ -1,35 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Db - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := db - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - DatabaseTable.vala \ - PhotoTable.vala \ - EventTable.vala \ - TagTable.vala \ - TombstoneTable.vala \ - VideoTable.vala \ - VersionTable.vala \ - SavedSearchDBTable.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/direct/Direct.c b/src/direct/Direct.c new file mode 100644 index 0000000..2e1bfa4 --- /dev/null +++ b/src/direct/Direct.c @@ -0,0 +1,85 @@ +/* Direct.c generated by valac 0.32.1, the Vala compiler + * generated from Direct.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* This file is the master unit file for the Direct unit. It should be edited to include + * whatever code is deemed necessary. + * + * The init() and terminate() methods are mandatory. + * + * If the unit needs to be configured prior to initialization, add the proper parameters to + * the preconfigure() method, implement it, and ensure in init() that it's been called. + */ + +#include +#include +#include + +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#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); + + +extern GFile* direct_initial_file; +GFile* direct_initial_file = NULL; + +void direct_preconfigure (GFile* initial_file); +void direct_init (GError** error); +void direct_photo_init (GFile* initial_file); +void direct_terminate (void); +void direct_photo_terminate (void); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 21 "/home/jens/Source/shotwell/src/direct/Direct.vala" + return self ? g_object_ref (self) : NULL; +#line 43 "Direct.c" +} + + +void direct_preconfigure (GFile* initial_file) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/direct/Direct.vala" + g_return_if_fail (G_IS_FILE (initial_file)); +#line 21 "/home/jens/Source/shotwell/src/direct/Direct.vala" + _tmp0_ = initial_file; +#line 21 "/home/jens/Source/shotwell/src/direct/Direct.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 21 "/home/jens/Source/shotwell/src/direct/Direct.vala" + _g_object_unref0 (direct_initial_file); +#line 21 "/home/jens/Source/shotwell/src/direct/Direct.vala" + direct_initial_file = _tmp1_; +#line 60 "Direct.c" +} + + +void direct_init (GError** error) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/direct/Direct.vala" + _tmp0_ = direct_initial_file; +#line 25 "/home/jens/Source/shotwell/src/direct/Direct.vala" + _vala_assert (_tmp0_ != NULL, "initial_file != null"); +#line 27 "/home/jens/Source/shotwell/src/direct/Direct.vala" + _tmp1_ = direct_initial_file; +#line 27 "/home/jens/Source/shotwell/src/direct/Direct.vala" + direct_photo_init (_tmp1_); +#line 75 "Direct.c" +} + + +void direct_terminate (void) { +#line 31 "/home/jens/Source/shotwell/src/direct/Direct.vala" + direct_photo_terminate (); +#line 82 "Direct.c" +} + + + diff --git a/src/direct/DirectPhoto.c b/src/direct/DirectPhoto.c new file mode 100644 index 0000000..97ebcd5 --- /dev/null +++ b/src/direct/DirectPhoto.c @@ -0,0 +1,2829 @@ +/* DirectPhoto.c generated by valac 0.32.1, the Vala compiler + * generated from DirectPhoto.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#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; +typedef struct _ThumbnailSourcePrivate ThumbnailSourcePrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +typedef struct _MediaSourcePrivate MediaSourcePrivate; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +#define TYPE_BACKING_FILE_STATE (backing_file_state_get_type ()) +#define BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_FILE_STATE, BackingFileState)) +#define BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) +#define IS_BACKING_FILE_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_FILE_STATE)) +#define IS_BACKING_FILE_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_FILE_STATE)) +#define BACKING_FILE_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_FILE_STATE, BackingFileStateClass)) + +typedef struct _BackingFileState BackingFileState; +typedef struct _BackingFileStateClass BackingFileStateClass; + +#define TYPE_RATING (rating_get_type ()) + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#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; +typedef struct _PhotoSourcePrivate PhotoSourcePrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_DATEABLE (dateable_get_type ()) +#define DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATEABLE, Dateable)) +#define IS_DATEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATEABLE)) +#define DATEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_DATEABLE, DateableIface)) + +typedef struct _Dateable Dateable; +typedef struct _DateableIface DateableIface; + +#define TYPE_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; +typedef struct _PhotoPrivate PhotoPrivate; + +#define TYPE_ROTATION (rotation_get_type ()) + +#define TYPE_PHOTO_ROW (photo_row_get_type ()) +#define PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_ROW, PhotoRow)) +#define PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_ROW, PhotoRowClass)) +#define IS_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_ROW)) +#define IS_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_ROW)) +#define PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_ROW, PhotoRowClass)) + +typedef struct _PhotoRow PhotoRow; +typedef struct _PhotoRowClass PhotoRowClass; + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; + +#define TYPE_DIRECT_PHOTO (direct_photo_get_type ()) +#define DIRECT_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO, DirectPhoto)) +#define DIRECT_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO, DirectPhotoClass)) +#define IS_DIRECT_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO)) +#define IS_DIRECT_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO)) +#define DIRECT_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO, DirectPhotoClass)) + +typedef struct _DirectPhoto DirectPhoto; +typedef struct _DirectPhotoClass DirectPhotoClass; +typedef struct _DirectPhotoPrivate DirectPhotoPrivate; + +#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_DIRECT_PHOTO_SOURCE_COLLECTION (direct_photo_source_collection_get_type ()) +#define DIRECT_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollection)) +#define DIRECT_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionClass)) +#define IS_DIRECT_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION)) +#define IS_DIRECT_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION)) +#define DIRECT_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionClass)) + +typedef struct _DirectPhotoSourceCollection DirectPhotoSourceCollection; +typedef struct _DirectPhotoSourceCollectionClass DirectPhotoSourceCollectionClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_ORIENTATION (orientation_get_type ()) +typedef struct _PhotoRowPrivate PhotoRowPrivate; + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; + +#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ()) +#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap)) +#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) +#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP)) +#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP)) +#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) + +typedef struct _KeyValueMap KeyValueMap; +typedef struct _KeyValueMapClass KeyValueMapClass; + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_BACKING_FETCH_MODE (backing_fetch_mode_get_type ()) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) + +#define PHOTO_TYPE_REIMPORT_MASTER_STATE (photo_reimport_master_state_get_type ()) +#define PHOTO_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterState)) +#define PHOTO_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) +#define PHOTO_IS_REIMPORT_MASTER_STATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_IS_REIMPORT_MASTER_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_TYPE_REIMPORT_MASTER_STATE)) +#define PHOTO_REIMPORT_MASTER_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_TYPE_REIMPORT_MASTER_STATE, PhotoReimportMasterStateClass)) + +typedef struct _PhotoReimportMasterState PhotoReimportMasterState; +typedef struct _PhotoReimportMasterStateClass PhotoReimportMasterStateClass; +#define _photo_reimport_master_state_unref0(var) ((var == NULL) ? NULL : (var = (photo_reimport_master_state_unref (var), NULL))) + +#define TYPE_PHOTO_IMPORT_PARAMS (photo_import_params_get_type ()) +#define PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParams)) +#define PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass)) +#define IS_PHOTO_IMPORT_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_IMPORT_PARAMS)) +#define IS_PHOTO_IMPORT_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_IMPORT_PARAMS)) +#define PHOTO_IMPORT_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_IMPORT_PARAMS, PhotoImportParamsClass)) + +typedef struct _PhotoImportParams PhotoImportParams; +typedef struct _PhotoImportParamsClass PhotoImportParamsClass; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_PHOTO_TABLE (photo_table_get_type ()) +#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable)) +#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass)) +#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE)) +#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE)) +#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass)) + +typedef struct _PhotoTable PhotoTable; +typedef struct _PhotoTableClass PhotoTableClass; +typedef struct _PhotoImportParamsPrivate PhotoImportParamsPrivate; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_THUMBNAILS (thumbnails_get_type ()) +#define THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAILS, Thumbnails)) +#define THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAILS, ThumbnailsClass)) +#define IS_THUMBNAILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAILS)) +#define IS_THUMBNAILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAILS)) +#define THUMBNAILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAILS, ThumbnailsClass)) + +typedef struct _Thumbnails Thumbnails; +typedef struct _ThumbnailsClass ThumbnailsClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _photo_import_params_unref0(var) ((var == NULL) ? NULL : (var = (photo_import_params_unref (var), NULL))) + +#define TYPE_PHOTO_PREVIEW (photo_preview_get_type ()) +#define PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_PREVIEW, PhotoPreview)) +#define PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) +#define IS_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_PREVIEW)) +#define IS_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_PREVIEW)) +#define PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) + +typedef struct _PhotoPreview PhotoPreview; +typedef struct _PhotoPreviewClass PhotoPreviewClass; +#define _photo_preview_unref0(var) ((var == NULL) ? NULL : (var = (photo_preview_unref (var), NULL))) +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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; +typedef struct _SourceCollectionPrivate SourceCollectionPrivate; + +#define TYPE_SOURCE_BACKLINK (source_backlink_get_type ()) +#define SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_BACKLINK, SourceBacklink)) +#define SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) +#define IS_SOURCE_BACKLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_BACKLINK)) +#define IS_SOURCE_BACKLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_BACKLINK)) +#define SOURCE_BACKLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_BACKLINK, SourceBacklinkClass)) + +typedef struct _SourceBacklink SourceBacklink; +typedef struct _SourceBacklinkClass SourceBacklinkClass; +typedef struct _DatabaseSourceCollectionPrivate DatabaseSourceCollectionPrivate; +typedef struct _DirectPhotoSourceCollectionPrivate DirectPhotoSourceCollectionPrivate; + +#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ()) +#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor)) +#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) +#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR)) +#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR)) +#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) + +typedef struct _DirectoryMonitor DirectoryMonitor; +typedef struct _DirectoryMonitorClass DirectoryMonitorClass; +#define _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 _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +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 _ThumbnailSource { + DataSource parent_instance; + ThumbnailSourcePrivate * priv; +}; + +struct _ThumbnailSourceClass { + DataSourceClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailSource* self); + GdkPixbuf* (*get_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + GdkPixbuf* (*create_thumbnail) (ThumbnailSource* self, gint scale, GError** error); + gchar* (*get_representative_id) (ThumbnailSource* self); + PhotoFileFormat (*get_preferred_thumbnail_format) (ThumbnailSource* self); + void (*thumbnail_altered) (ThumbnailSource* self); +}; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _EventID { + gint64 id; +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _ImportID { + gint64 id; +}; + +struct _MediaSource { + ThumbnailSource parent_instance; + MediaSourcePrivate * priv; +}; + +struct _MediaSourceClass { + ThumbnailSourceClass parent_class; + void (*notify_master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); + gboolean (*set_event_id) (MediaSource* self, EventID* id); + gchar* (*get_basename) (MediaSource* self); + GFile* (*get_file) (MediaSource* self); + GFile* (*get_master_file) (MediaSource* self); + guint64 (*get_master_filesize) (MediaSource* self); + guint64 (*get_filesize) (MediaSource* self); + time_t (*get_timestamp) (MediaSource* self); + BackingFileState** (*get_backing_files_state) (MediaSource* self, int* result_length1); + gchar* (*get_title) (MediaSource* self); + gchar* (*get_comment) (MediaSource* self); + void (*set_title) (MediaSource* self, const gchar* title); + gboolean (*set_comment) (MediaSource* self, const gchar* comment); + Rating (*get_rating) (MediaSource* self); + void (*set_rating) (MediaSource* self, Rating rating); + void (*increase_rating) (MediaSource* self); + void (*decrease_rating) (MediaSource* self); + void (*get_dimensions) (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); + GdkPixbuf* (*get_preview_pixbuf) (MediaSource* self, Scaling* scaling, GError** error); + gboolean (*is_trashed) (MediaSource* self); + void (*trash) (MediaSource* self); + void (*untrash) (MediaSource* self); + gboolean (*is_offline) (MediaSource* self); + void (*mark_offline) (MediaSource* self); + void (*mark_online) (MediaSource* self); + gchar* (*get_master_md5) (MediaSource* self); + void (*get_event_id) (MediaSource* self, EventID* result); + time_t (*get_exposure_time) (MediaSource* self); + void (*get_import_id) (MediaSource* self, ImportID* result); + void (*master_replaced) (MediaSource* self, GFile* old_file, GFile* new_file); +}; + +struct _PhotoSource { + MediaSource parent_instance; + PhotoSourcePrivate * priv; +}; + +struct _PhotoSourceClass { + MediaSourceClass parent_class; + PhotoMetadata* (*get_metadata) (PhotoSource* self); + GdkPixbuf* (*get_pixbuf) (PhotoSource* self, Scaling* scaling, GError** error); +}; + +struct _DateableIface { + GTypeInterface parent_iface; + void (*set_exposure_time) (Dateable* self, time_t target_time); + time_t (*get_exposure_time) (Dateable* self); +}; + +typedef enum { + ROTATION_CLOCKWISE, + ROTATION_COUNTERCLOCKWISE, + ROTATION_MIRROR, + ROTATION_UPSIDE_DOWN +} Rotation; + +struct _Photo { + PhotoSource parent_instance; + PhotoPrivate * priv; + PhotoRow* row; + gboolean can_rotate_now; + BackingPhotoRow* backing_photo_row; +}; + +struct _PhotoClass { + PhotoSourceClass parent_class; + void (*notify_editable_replaced) (Photo* self, GFile* old_file, GFile* new_file); + void (*notify_raw_development_modified) (Photo* self); + void (*notify_baseline_replaced) (Photo* self); + void (*notify_master_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_editable_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_source_reimported) (Photo* self, PhotoMetadata* metadata); + void (*notify_baseline_reimported) (Photo* self, PhotoMetadata* metadata); + void (*apply_user_metadata_for_reimport) (Photo* self, PhotoMetadata* metadata); + void (*rotate) (Photo* self, Rotation rotation); + gboolean (*has_user_generated_metadata) (Photo* self); + void (*set_user_metadata_for_export) (Photo* self, PhotoMetadata* metadata); + void (*editable_replaced) (Photo* self, GFile* old_file, GFile* new_file); + void (*raw_development_modified) (Photo* self); + void (*baseline_replaced) (Photo* self); + void (*master_reimported) (Photo* self, PhotoMetadata* metadata); + void (*editable_reimported) (Photo* self, PhotoMetadata* metadata); + void (*baseline_reimported) (Photo* self, PhotoMetadata* metadata); + void (*source_reimported) (Photo* self, PhotoMetadata* metadata); +}; + +struct _DirectPhoto { + Photo parent_instance; + DirectPhotoPrivate * priv; +}; + +struct _DirectPhotoClass { + PhotoClass parent_class; +}; + +struct _DirectPhotoPrivate { + GdkPixbuf* preview; + gboolean loaded; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _PhotoID { + gint64 id; +}; + +struct _BackingPhotoID { + gint64 id; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _PhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoRowPrivate * priv; + PhotoID photo_id; + BackingPhotoRow* master; + time_t exposure_time; + ImportID import_id; + EventID event_id; + Orientation orientation; + GeeHashMap* transformations; + gchar* md5; + gchar* thumbnail_md5; + gchar* exif_md5; + time_t time_created; + guint64 flags; + Rating rating; + gchar* title; + gchar* comment; + gchar* backlinks; + time_t time_reimported; + BackingPhotoID editable_id; + gboolean metadata_dirty; + RawDeveloper developer; + BackingPhotoID* development_ids; + gint development_ids_length1; +}; + +struct _PhotoRowClass { + GTypeClass parent_class; + void (*finalize) (PhotoRow *self); +}; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + +typedef enum { + BACKING_FETCH_MODE_SOURCE, + BACKING_FETCH_MODE_BASELINE, + BACKING_FETCH_MODE_MASTER, + BACKING_FETCH_MODE_UNMODIFIED +} BackingFetchMode; + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +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 () +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoImportParams { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoImportParamsPrivate * priv; + GFile* file; + GFile* final_associated_file; + ImportID import_id; + PhotoFileSnifferOptions sniffer_options; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* full_md5; + Thumbnails* thumbnails; + PhotoRow* row; + GeeCollection* keywords; +}; + +struct _PhotoImportParamsClass { + GTypeClass parent_class; + void (*finalize) (PhotoImportParams *self); +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _SourceCollection { + DataCollection parent_instance; + SourceCollectionPrivate * priv; +}; + +struct _SourceCollectionClass { + DataCollectionClass parent_class; + gboolean (*holds_type_of_source) (SourceCollection* self, DataSource* source); + void (*notify_items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*notify_items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*notify_item_destroyed) (SourceCollection* self, DataSource* source); + void (*notify_items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*notify_unlinked_destroyed) (SourceCollection* self, DataSource* unlinked); + void (*notify_backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); + gboolean (*has_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*remove_backlink) (SourceCollection* self, SourceBacklink* backlink); + void (*items_unlinking) (SourceCollection* self, GeeCollection* unlinking); + void (*items_relinked) (SourceCollection* self, GeeCollection* relinked); + void (*item_destroyed) (SourceCollection* self, DataSource* source); + void (*items_destroyed) (SourceCollection* self, GeeCollection* destroyed); + void (*unlinked_destroyed) (SourceCollection* self, DataSource* source); + void (*backlink_removed) (SourceCollection* self, SourceBacklink* backlink, GeeCollection* sources); +}; + +struct _DatabaseSourceCollection { + SourceCollection parent_instance; + DatabaseSourceCollectionPrivate * priv; +}; + +struct _DatabaseSourceCollectionClass { + SourceCollectionClass parent_class; +}; + +struct _DirectPhotoSourceCollection { + DatabaseSourceCollection parent_instance; + DirectPhotoSourceCollectionPrivate * priv; +}; + +struct _DirectPhotoSourceCollectionClass { + DatabaseSourceCollectionClass parent_class; +}; + +struct _DirectPhotoSourceCollectionPrivate { + GeeCollection* prepared_photos; + GeeHashMap* file_map; + DirectoryMonitor* monitor; +}; + +typedef gint64 (*GetSourceDatabaseKey) (DataSource* source, void* user_data); + +static gpointer direct_photo_parent_class = NULL; +extern DirectPhotoSourceCollection* direct_photo_global; +DirectPhotoSourceCollection* direct_photo_global = NULL; +static gpointer direct_photo_source_collection_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_source_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType indexable_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +gpointer backing_file_state_ref (gpointer instance); +void backing_file_state_unref (gpointer instance); +GParamSpec* param_spec_backing_file_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_file_state (GValue* value, gpointer v_object); +void value_take_backing_file_state (GValue* value, gpointer v_object); +gpointer value_get_backing_file_state (const GValue* value); +GType backing_file_state_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType photo_exception_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +GType photo_source_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType dateable_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType rotation_get_type (void) G_GNUC_CONST; +gpointer photo_row_ref (gpointer instance); +void photo_row_unref (gpointer instance); +GParamSpec* param_spec_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_row (GValue* value, gpointer v_object); +void value_take_photo_row (GValue* value, gpointer v_object); +gpointer value_get_photo_row (const GValue* value); +GType photo_row_get_type (void) G_GNUC_CONST; +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +GType direct_photo_get_type (void) G_GNUC_CONST; +#define DIRECT_PHOTO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DIRECT_PHOTO, DirectPhotoPrivate)) +enum { + DIRECT_PHOTO_DUMMY_PROPERTY +}; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType direct_photo_source_collection_get_type (void) G_GNUC_CONST; +#define DIRECT_PHOTO_PREVIEW_BEST_FIT 360 +static DirectPhoto* direct_photo_new (PhotoRow* row); +static DirectPhoto* direct_photo_construct (GType object_type, PhotoRow* row); +Photo* photo_construct (GType object_type, PhotoRow* row); +GType orientation_get_type (void) G_GNUC_CONST; +void direct_photo_fixup_orientation_after_reimport (DirectPhoto* self, Orientation dest); +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +gpointer key_value_map_ref (gpointer instance); +void key_value_map_unref (gpointer instance); +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_key_value_map (GValue* value, gpointer v_object); +void value_take_key_value_map (GValue* value, gpointer v_object); +gpointer value_get_key_value_map (const GValue* value); +GType key_value_map_get_type (void) G_GNUC_CONST; +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +GType raw_developer_get_type (void) G_GNUC_CONST; +void direct_photo_init (GFile* initial_file); +void photo_init_photo (void); +DirectPhotoSourceCollection* direct_photo_source_collection_new (GFile* initial_file); +DirectPhotoSourceCollection* direct_photo_source_collection_construct (GType object_type, GFile* initial_file); +gchar* direct_photo_source_collection_fetch (DirectPhotoSourceCollection* self, GFile* file, DirectPhoto** photo, gboolean reimport); +gboolean data_collection_add (DataCollection* self, DataObject* object); +void direct_photo_terminate (void); +void photo_terminate_photo (void); +static void direct_photo_save_dims (DirectPhoto* self); +GType backing_fetch_mode_get_type (void) G_GNUC_CONST; +GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error); +void scaling_for_original (Scaling* result); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +gchar* data_object_to_string (DataObject* self); +GType import_result_get_type (void) G_GNUC_CONST; +ImportResult direct_photo_demand_load (DirectPhoto* self); +gpointer photo_reimport_master_state_ref (gpointer instance); +void photo_reimport_master_state_unref (gpointer instance); +GParamSpec* photo_param_spec_reimport_master_state (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void photo_value_set_reimport_master_state (GValue* value, gpointer v_object); +void photo_value_take_reimport_master_state (GValue* value, gpointer v_object); +gpointer photo_value_get_reimport_master_state (const GValue* value); +GType photo_reimport_master_state_get_type (void) G_GNUC_CONST; +gboolean photo_prepare_for_reimport_master (Photo* self, PhotoReimportMasterState** reimport_state, GError** error); +GQuark database_error_quark (void); +void photo_finish_reimport_master (Photo* self, PhotoReimportMasterState* state, GError** error); +ImportResult direct_photo_internal_import (GFile* file, DirectPhoto** photo); +gpointer photo_import_params_ref (gpointer instance); +void photo_import_params_unref (gpointer instance); +GParamSpec* param_spec_photo_import_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_import_params (GValue* value, gpointer v_object); +void value_take_photo_import_params (GValue* value, gpointer v_object); +gpointer value_get_photo_import_params (const GValue* value); +GType photo_import_params_get_type (void) G_GNUC_CONST; +void import_id_generate (ImportID* result); +PhotoImportParams* photo_import_params_new_create_placeholder (GFile* file, ImportID* import_id); +PhotoImportParams* photo_import_params_construct_create_placeholder (GType object_type, GFile* file, ImportID* import_id); +void photo_create_pre_import (PhotoImportParams* params); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType photo_table_get_type (void) G_GNUC_CONST; +PhotoTable* photo_table_get_instance (void); +void photo_table_add (PhotoTable* self, PhotoRow* photo_row, PhotoID* result); +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer thumbnails_ref (gpointer instance); +void thumbnails_unref (gpointer instance); +GParamSpec* param_spec_thumbnails (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_thumbnails (GValue* value, gpointer v_object); +void value_take_thumbnails (GValue* value, gpointer v_object); +gpointer value_get_thumbnails (const GValue* value); +GType thumbnails_get_type (void) G_GNUC_CONST; +static GdkPixbuf* direct_photo_real_get_preview_pixbuf (MediaSource* base, Scaling* scaling, GError** error); +GdkPixbuf* thumbnail_source_get_thumbnail (ThumbnailSource* self, gint scale, GError** error); +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +GdkPixbuf* scaling_perform_on_pixbuf (Scaling *self, GdkPixbuf* pixbuf, GdkInterpType interp, gboolean scale_up); +static void direct_photo_real_rotate (Photo* base, Rotation rotation); +void photo_rotate (Photo* self, Rotation rotation); +static GdkPixbuf* direct_photo_real_get_pixbuf (PhotoSource* base, Scaling* scaling, GError** error); +static GdkPixbuf* direct_photo_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error); +PhotoMetadata* photo_source_get_metadata (PhotoSource* self); +guint photo_metadata_get_preview_count (PhotoMetadata* self); +gpointer photo_preview_ref (gpointer instance); +void photo_preview_unref (gpointer instance); +GParamSpec* param_spec_photo_preview (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_preview (GValue* value, gpointer v_object); +void value_take_photo_preview (GValue* value, gpointer v_object); +gpointer value_get_photo_preview (const GValue* value); +GType photo_preview_get_type (void) G_GNUC_CONST; +PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self, guint number); +GdkPixbuf* photo_preview_get_pixbuf (PhotoPreview* self, GError** error); +Orientation photo_get_orientation (Photo* self); +GdkPixbuf* orientation_rotate_pixbuf (Orientation self, GdkPixbuf* pixbuf); +static void direct_photo_real_notify_altered (DataObject* base, Alteration* alteration); +void data_object_notify_altered (DataObject* self, Alteration* alteration); +static gboolean direct_photo_real_has_user_generated_metadata (Photo* base); +static void direct_photo_real_set_user_metadata_for_export (Photo* base, PhotoMetadata* metadata); +static void direct_photo_real_apply_user_metadata_for_reimport (Photo* base, PhotoMetadata* metadata); +static gboolean direct_photo_real_is_trashed (MediaSource* base); +static gboolean direct_photo_real_is_offline (MediaSource* base); +static void direct_photo_real_trash (MediaSource* base); +static void direct_photo_real_untrash (MediaSource* base); +static void direct_photo_real_mark_offline (MediaSource* base); +static void direct_photo_real_mark_online (MediaSource* base); +static void direct_photo_finalize (GObject* obj); +GType marker_get_type (void) G_GNUC_CONST; +gpointer source_backlink_ref (gpointer instance); +void source_backlink_unref (gpointer instance); +GParamSpec* param_spec_source_backlink (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_backlink (GValue* value, gpointer v_object); +void value_take_source_backlink (GValue* value, gpointer v_object); +gpointer value_get_source_backlink (const GValue* value); +GType source_backlink_get_type (void) G_GNUC_CONST; +GType directory_monitor_get_type (void) G_GNUC_CONST; +#define DIRECT_PHOTO_SOURCE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionPrivate)) +enum { + DIRECT_PHOTO_SOURCE_COLLECTION_DUMMY_PROPERTY +}; +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +#define DIRECT_PHOTO_SOURCE_COLLECTION_DISCOVERED_FILES_BATCH_ADD 500 +static gint64 direct_photo_source_collection_get_direct_key (DataSource* source); +static gint64 _direct_photo_source_collection_get_direct_key_get_source_database_key (DataSource* source, gpointer self); +DatabaseSourceCollection* database_source_collection_construct (GType object_type, const gchar* name, GetSourceDatabaseKey source_key_func, void* source_key_func_target); +DirectoryMonitor* directory_monitor_new (GFile* root, gboolean recurse, gboolean monitoring); +DirectoryMonitor* directory_monitor_construct (GType object_type, GFile* root, gboolean recurse, gboolean monitoring); +static void direct_photo_source_collection_on_file_discovered (DirectPhotoSourceCollection* self, GFile* file, GFileInfo* info); +static void _direct_photo_source_collection_on_file_discovered_directory_monitor_file_discovered (DirectoryMonitor* _sender, GFile* file, GFileInfo* info, gpointer self); +static void direct_photo_source_collection_on_discovery_completed (DirectPhotoSourceCollection* self); +static void _direct_photo_source_collection_on_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender, gpointer self); +void directory_monitor_start_discovery (DirectoryMonitor* self); +static gboolean direct_photo_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source); +void photo_get_photo_id (Photo* self, PhotoID* result); +static void direct_photo_source_collection_real_notify_items_added (DataCollection* base, GeeIterable* added); +GFile* media_source_get_file (MediaSource* self); +void data_collection_notify_items_added (DataCollection* self, GeeIterable* added); +static void direct_photo_source_collection_real_notify_items_removed (DataCollection* base, GeeIterable* removed); +void data_collection_notify_items_removed (DataCollection* self, GeeIterable* removed); +gboolean direct_photo_source_collection_has_source_for_file (DirectPhotoSourceCollection* self, GFile* file); +gboolean photo_file_format_is_file_supported (GFile* file); +static void direct_photo_source_collection_flush_prepared_photos (DirectPhotoSourceCollection* self); +GeeCollection* data_collection_add_many (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); +gboolean direct_photo_source_collection_has_file (DirectPhotoSourceCollection* self, GFile* file); +void direct_photo_source_collection_reimport_photo (DirectPhotoSourceCollection* self, DirectPhoto* photo); +void photo_discard_prefetched (Photo* self); +gboolean photo_only_metadata_changed (Photo* self); +PhotoFileFormat photo_get_file_format (Photo* self); +gchar* import_result_to_string (ImportResult self); +gboolean direct_photo_source_collection_has_file_source (DirectPhotoSourceCollection* self, GFile* file); +DirectPhoto* direct_photo_source_collection_get_file_source (DirectPhotoSourceCollection* self, GFile* file); +static void direct_photo_source_collection_finalize (DataCollection* obj); + + +static DirectPhoto* direct_photo_construct (GType object_type, PhotoRow* row) { + DirectPhoto * self = NULL; + PhotoRow* _tmp0_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_PHOTO_ROW (row), NULL); +#line 18 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = row; +#line 18 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = (DirectPhoto*) photo_construct (object_type, _tmp0_); +#line 17 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return self; +#line 1125 "DirectPhoto.c" +} + + +static DirectPhoto* direct_photo_new (PhotoRow* row) { +#line 17 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return direct_photo_construct (TYPE_DIRECT_PHOTO, row); +#line 1132 "DirectPhoto.c" +} + + +/** + * @brief Because all transformations are discarded on reimport by design, including + * Orientation, a JFIF file that is only rotated or flipped, then saved, has the orientation + * change the user made before saving removed (recall that fetch() remembers which images it + * has seen before and will only add a file to the file map once; every time it sees it + * again after this is considered a reimport). This will set the orientation to the + * specified value, fixing up both the row and the backing row. + * + * @warning Only reimported JFIF files should need this; non-lossy image types have their + * actual pixels physically rotated in the file when they're exported. + * + * @param dest The orientation to set the photo to; usually, this should be a value + * obtained by calling get_orientation() prior to export()ing a DirectPhoto. + */ +void direct_photo_fixup_orientation_after_reimport (DirectPhoto* self, Orientation dest) { + PhotoRow* _tmp0_ = NULL; + Orientation _tmp1_ = 0; + BackingPhotoRow* _tmp2_ = NULL; + Orientation _tmp3_ = 0; +#line 35 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_DIRECT_PHOTO (self)); +#line 36 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo)->row; +#line 36 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = dest; +#line 36 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_->orientation = _tmp1_; +#line 37 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo)->backing_photo_row; +#line 37 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = dest; +#line 37 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_->original_orientation = _tmp3_; +#line 1169 "DirectPhoto.c" +} + + +void direct_photo_init (GFile* initial_file) { + GFile* _tmp0_ = NULL; + DirectPhotoSourceCollection* _tmp1_ = NULL; + DirectPhoto* photo = NULL; + gchar* reason = NULL; + DirectPhotoSourceCollection* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + DirectPhoto* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + DirectPhotoSourceCollection* _tmp8_ = NULL; + DirectPhoto* _tmp9_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (G_IS_FILE (initial_file)); +#line 41 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_init_photo (); +#line 43 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = initial_file; +#line 43 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = direct_photo_source_collection_new (_tmp0_); +#line 43 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _data_collection_unref0 (direct_photo_global); +#line 43 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_global = _tmp1_; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = direct_photo_global; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = initial_file; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = direct_photo_source_collection_fetch (_tmp2_, _tmp3_, &_tmp4_, FALSE); +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (photo); +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo = _tmp4_; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + reason = _tmp5_; +#line 46 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = reason; +#line 46 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp6_ != NULL) { +#line 1213 "DirectPhoto.c" + const gchar* _tmp7_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp7_ = reason; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_warning ("DirectPhoto.vala:47: fetch error: %s", _tmp7_); +#line 1219 "DirectPhoto.c" + } +#line 48 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp8_ = direct_photo_global; +#line 48 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp9_ = photo; +#line 48 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject)); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (reason); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (photo); +#line 1231 "DirectPhoto.c" +} + + +void direct_photo_terminate (void) { +#line 52 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_terminate_photo (); +#line 1238 "DirectPhoto.c" +} + + +static void direct_photo_save_dims (DirectPhoto* self) { + GError * _inner_error_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_DIRECT_PHOTO (self)); +#line 1246 "DirectPhoto.c" + { + GdkPixbuf* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + BackingPhotoRow* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + scaling_for_original (&_tmp1_); +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = photo_get_pixbuf_with_options (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), &_tmp1_, (PHOTO_EXCEPTION_CROP | PHOTO_EXCEPTION_STRAIGHTEN) | PHOTO_EXCEPTION_ORIENTATION, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = _tmp2_; +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1261 "DirectPhoto.c" + goto __catch42_g_error; + } +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo)->backing_photo_row; +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + dimensions_for_pixbuf (_tmp0_, &_tmp4_); +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_->dim = _tmp4_; +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp0_); +#line 1272 "DirectPhoto.c" + } + goto __finally42; + __catch42_g_error: + { + GError* e = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + e = _inner_error_; +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _inner_error_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 62 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = _tmp5_; +#line 62 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_warning ("DirectPhoto.vala:62: Dimensions for image %s could not be gotten.", _tmp6_); +#line 62 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (_tmp6_); +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_error_free0 (e); +#line 1294 "DirectPhoto.c" + } + __finally42: +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhoto.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 58 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_clear_error (&_inner_error_); +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return; +#line 1305 "DirectPhoto.c" + } +} + + +ImportResult direct_photo_demand_load (DirectPhoto* self) { + ImportResult result = 0; + gboolean _tmp0_ = FALSE; + PhotoReimportMasterState* reimport_state = NULL; + GError * _inner_error_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO (self), 0); +#line 68 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = self->priv->loaded; +#line 68 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp0_) { +#line 69 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_save_dims (self); +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = IMPORT_RESULT_SUCCESS; +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1327 "DirectPhoto.c" + } + { + PhotoReimportMasterState* _tmp1_ = NULL; + PhotoReimportMasterState* _tmp2_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_prepare_for_reimport_master (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), &_tmp1_, &_inner_error_); +#line 75 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 75 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + reimport_state = _tmp1_; +#line 75 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1340 "DirectPhoto.c" + goto __catch43_g_error; + } +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = reimport_state; +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_finish_reimport_master (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp2_, &_inner_error_); +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1349 "DirectPhoto.c" + goto __catch43_g_error; + } + } + goto __finally43; + __catch43_g_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + err = _inner_error_; +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _inner_error_ = NULL; +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = err; +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = _tmp3_->message; +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_warning ("DirectPhoto.vala:78: Database error on re-importing image: %s", _tmp4_); +#line 79 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = IMPORT_RESULT_DATABASE_ERROR; +#line 79 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_error_free0 (err); +#line 79 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 79 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1377 "DirectPhoto.c" + } + __finally43: +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhoto.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 74 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_clear_error (&_inner_error_); +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return 0; +#line 1390 "DirectPhoto.c" + } +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->loaded = TRUE; +#line 83 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_save_dims (self); +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = IMPORT_RESULT_SUCCESS; +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1402 "DirectPhoto.c" +} + + +ImportResult direct_photo_internal_import (GFile* file, DirectPhoto** photo) { + DirectPhoto* _vala_photo = NULL; + ImportResult result = 0; + PhotoImportParams* params = NULL; + GFile* _tmp0_ = NULL; + ImportID _tmp1_ = {0}; + PhotoImportParams* _tmp2_ = NULL; + PhotoTable* _tmp3_ = NULL; + PhotoTable* _tmp4_ = NULL; + PhotoRow* _tmp5_ = NULL; + PhotoID _tmp6_ = {0}; + PhotoRow* _tmp7_ = NULL; + DirectPhoto* _tmp8_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = file; +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + import_id_generate (&_tmp1_); +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = photo_import_params_new_create_placeholder (_tmp0_, &_tmp1_); +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + params = _tmp2_; +#line 91 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_create_pre_import (params); +#line 92 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = photo_table_get_instance (); +#line 92 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = _tmp3_; +#line 92 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = params->row; +#line 92 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_table_add (_tmp4_, _tmp5_, &_tmp6_); +#line 92 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _database_table_unref0 (_tmp4_); +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp7_ = params->row; +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp8_ = direct_photo_new (_tmp7_); +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_vala_photo); +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _vala_photo = _tmp8_; +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = IMPORT_RESULT_SUCCESS; +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_import_params_unref0 (params); +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (photo) { +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + *photo = _vala_photo; +#line 1457 "DirectPhoto.c" + } else { +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_vala_photo); +#line 1461 "DirectPhoto.c" + } +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1465 "DirectPhoto.c" +} + + +static GdkPixbuf* direct_photo_real_get_preview_pixbuf (MediaSource* base, Scaling* scaling, GError** error) { + DirectPhoto * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 99 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = self->priv->preview; +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp0_ == NULL) { +#line 1484 "DirectPhoto.c" + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = thumbnail_source_get_thumbnail (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), DIRECT_PHOTO_PREVIEW_BEST_FIT, &_inner_error_); +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = _tmp2_; +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return NULL; +#line 1499 "DirectPhoto.c" + } +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = _tmp1_; +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (self->priv->preview); +#line 101 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->preview = _tmp3_; +#line 103 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = self->priv->preview; +#line 103 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp4_ == NULL) { +#line 1513 "DirectPhoto.c" + GdkPixbuf* _tmp5_ = NULL; + Scaling _tmp6_ = {0}; + GdkPixbuf* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = *scaling; +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp7_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp6_, &_inner_error_); +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = _tmp7_; +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp1_); +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return NULL; +#line 1532 "DirectPhoto.c" + } +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp8_ = _tmp5_; +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (self->priv->preview); +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->preview = _tmp8_; +#line 103 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp5_); +#line 1544 "DirectPhoto.c" + } +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp1_); +#line 1548 "DirectPhoto.c" + } +#line 107 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp9_ = self->priv->preview; +#line 107 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp10_ = scaling_perform_on_pixbuf (scaling, _tmp9_, GDK_INTERP_BILINEAR, TRUE); +#line 107 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = _tmp10_; +#line 107 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1558 "DirectPhoto.c" +} + + +static void direct_photo_real_rotate (Photo* base, Rotation rotation) { + DirectPhoto * self; + Rotation _tmp0_ = 0; +#line 110 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo)->can_rotate_now = FALSE; +#line 112 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_signal_emit_by_name (self, "can-rotate-changed", FALSE); +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = rotation; +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + PHOTO_CLASS (direct_photo_parent_class)->rotate (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), _tmp0_); +#line 1575 "DirectPhoto.c" +} + + +static GdkPixbuf* direct_photo_real_get_pixbuf (PhotoSource* base, Scaling* scaling, GError** error) { + DirectPhoto * self; + GdkPixbuf* result = NULL; + GdkPixbuf* ret = NULL; + Scaling _tmp0_ = {0}; + GdkPixbuf* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 117 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = *scaling; +#line 117 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = PHOTO_SOURCE_CLASS (direct_photo_parent_class)->get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), TYPE_PHOTO_SOURCE, PhotoSource), &_tmp0_, &_inner_error_); +#line 117 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ret = _tmp1_; +#line 117 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 117 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 117 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return NULL; +#line 1602 "DirectPhoto.c" + } +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_signal_emit_by_name (self, "can-rotate-changed", TRUE); +#line 119 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo)->can_rotate_now = TRUE; +#line 120 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = ret; +#line 120 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1612 "DirectPhoto.c" +} + + +static GdkPixbuf* direct_photo_real_get_thumbnail (ThumbnailSource* base, gint scale, GError** error) { + DirectPhoto * self; + GdkPixbuf* result = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + PhotoMetadata* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = photo_source_get_metadata (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + metadata = _tmp0_; +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = metadata; +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp3_ == NULL) { +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = TRUE; +#line 1637 "DirectPhoto.c" + } else { + PhotoMetadata* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = metadata; +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = photo_metadata_get_preview_count (_tmp4_); +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = _tmp5_ == ((guint) 0); +#line 1647 "DirectPhoto.c" + } +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp2_) { +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp1_); +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = NULL; +#line 1655 "DirectPhoto.c" + } else { + GdkPixbuf* _tmp6_ = NULL; + PhotoMetadata* _tmp7_ = NULL; + PhotoPreview* _tmp8_ = NULL; + PhotoPreview* _tmp9_ = NULL; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + Orientation _tmp12_ = 0; + GdkPixbuf* _tmp13_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp7_ = metadata; +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp8_ = photo_metadata_get_preview (_tmp7_, (guint) 0); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp9_ = _tmp8_; +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp10_ = photo_preview_get_pixbuf (_tmp9_, &_inner_error_); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp11_ = _tmp10_; +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_preview_unref0 (_tmp9_); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = _tmp11_; +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_propagate_error (error, _inner_error_); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp1_); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _media_metadata_unref0 (metadata); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return NULL; +#line 1689 "DirectPhoto.c" + } +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp12_ = photo_get_orientation (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo)); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp13_ = orientation_rotate_pixbuf (_tmp12_, _tmp6_); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp1_); +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = _tmp13_; +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp6_); +#line 1701 "DirectPhoto.c" + } +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = _tmp1_; +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _media_metadata_unref0 (metadata); +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1709 "DirectPhoto.c" +} + + +static void direct_photo_real_notify_altered (DataObject* base, Alteration* alteration) { + DirectPhoto * self; + Alteration* _tmp0_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_ALTERATION (alteration)); +#line 131 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (self->priv->preview); +#line 131 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->preview = NULL; +#line 133 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = alteration; +#line 133 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + DATA_OBJECT_CLASS (direct_photo_parent_class)->notify_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO, Photo), TYPE_DATA_OBJECT, DataObject), _tmp0_); +#line 1728 "DirectPhoto.c" +} + + +static gboolean direct_photo_real_has_user_generated_metadata (Photo* base) { + DirectPhoto * self; + gboolean result = FALSE; +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 138 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = FALSE; +#line 138 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1741 "DirectPhoto.c" +} + + +static void direct_photo_real_set_user_metadata_for_export (Photo* base, PhotoMetadata* metadata) { + DirectPhoto * self; +#line 141 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 141 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 1751 "DirectPhoto.c" +} + + +static void direct_photo_real_apply_user_metadata_for_reimport (Photo* base, PhotoMetadata* metadata) { + DirectPhoto * self; +#line 145 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 145 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 1761 "DirectPhoto.c" +} + + +static gboolean direct_photo_real_is_trashed (MediaSource* base) { + DirectPhoto * self; + gboolean result = FALSE; +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 150 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = FALSE; +#line 150 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1774 "DirectPhoto.c" +} + + +static gboolean direct_photo_real_is_offline (MediaSource* base) { + DirectPhoto * self; + gboolean result = FALSE; +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 155 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = FALSE; +#line 155 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1787 "DirectPhoto.c" +} + + +static void direct_photo_real_trash (MediaSource* base) { + DirectPhoto * self; +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 1795 "DirectPhoto.c" +} + + +static void direct_photo_real_untrash (MediaSource* base) { + DirectPhoto * self; +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 1803 "DirectPhoto.c" +} + + +static void direct_photo_real_mark_offline (MediaSource* base) { + DirectPhoto * self; +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 1811 "DirectPhoto.c" +} + + +static void direct_photo_real_mark_online (MediaSource* base) { + DirectPhoto * self; +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 1819 "DirectPhoto.c" +} + + +static void direct_photo_class_init (DirectPhotoClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_type_class_add_private (klass, sizeof (DirectPhotoPrivate)); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((MediaSourceClass *) klass)->get_preview_pixbuf = direct_photo_real_get_preview_pixbuf; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((PhotoClass *) klass)->rotate = direct_photo_real_rotate; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((PhotoSourceClass *) klass)->get_pixbuf = direct_photo_real_get_pixbuf; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((ThumbnailSourceClass *) klass)->get_thumbnail = direct_photo_real_get_thumbnail; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((DataObjectClass *) klass)->notify_altered = direct_photo_real_notify_altered; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((PhotoClass *) klass)->has_user_generated_metadata = direct_photo_real_has_user_generated_metadata; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((PhotoClass *) klass)->set_user_metadata_for_export = direct_photo_real_set_user_metadata_for_export; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((PhotoClass *) klass)->apply_user_metadata_for_reimport = direct_photo_real_apply_user_metadata_for_reimport; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((MediaSourceClass *) klass)->is_trashed = direct_photo_real_is_trashed; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((MediaSourceClass *) klass)->is_offline = direct_photo_real_is_offline; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((MediaSourceClass *) klass)->trash = direct_photo_real_trash; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((MediaSourceClass *) klass)->untrash = direct_photo_real_untrash; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((MediaSourceClass *) klass)->mark_offline = direct_photo_real_mark_offline; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((MediaSourceClass *) klass)->mark_online = direct_photo_real_mark_online; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + G_OBJECT_CLASS (klass)->finalize = direct_photo_finalize; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_signal_new ("can_rotate_changed", TYPE_DIRECT_PHOTO, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 1860 "DirectPhoto.c" +} + + +static void direct_photo_instance_init (DirectPhoto * self) { +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv = DIRECT_PHOTO_GET_PRIVATE (self); +#line 14 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->preview = NULL; +#line 15 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->loaded = FALSE; +#line 1871 "DirectPhoto.c" +} + + +static void direct_photo_finalize (GObject* obj) { + DirectPhoto * self; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DIRECT_PHOTO, DirectPhoto); +#line 14 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (self->priv->preview); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + G_OBJECT_CLASS (direct_photo_parent_class)->finalize (obj); +#line 1883 "DirectPhoto.c" +} + + +GType direct_photo_get_type (void) { + static volatile gsize direct_photo_type_id__volatile = 0; + if (g_once_init_enter (&direct_photo_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectPhotoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) direct_photo_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectPhoto), 0, (GInstanceInitFunc) direct_photo_instance_init, NULL }; + GType direct_photo_type_id; + direct_photo_type_id = g_type_register_static (TYPE_PHOTO, "DirectPhoto", &g_define_type_info, 0); + g_once_init_leave (&direct_photo_type_id__volatile, direct_photo_type_id); + } + return direct_photo_type_id__volatile; +} + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1904 "DirectPhoto.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1913 "DirectPhoto.c" +} + + +static gint64 _direct_photo_source_collection_get_direct_key_get_source_database_key (DataSource* source, gpointer self) { + gint64 result; + result = direct_photo_source_collection_get_direct_key (source); +#line 183 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 1922 "DirectPhoto.c" +} + + +static void _direct_photo_source_collection_on_file_discovered_directory_monitor_file_discovered (DirectoryMonitor* _sender, GFile* file, GFileInfo* info, gpointer self) { +#line 187 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_source_collection_on_file_discovered ((DirectPhotoSourceCollection*) self, file, info); +#line 1929 "DirectPhoto.c" +} + + +static void _direct_photo_source_collection_on_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender, gpointer self) { +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_source_collection_on_discovery_completed ((DirectPhotoSourceCollection*) self); +#line 1936 "DirectPhoto.c" +} + + +DirectPhotoSourceCollection* direct_photo_source_collection_construct (GType object_type, GFile* initial_file) { + DirectPhotoSourceCollection* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + DirectoryMonitor* _tmp3_ = NULL; + DirectoryMonitor* _tmp4_ = NULL; + DirectoryMonitor* _tmp5_ = NULL; + DirectoryMonitor* _tmp6_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (G_IS_FILE (initial_file), NULL); +#line 183 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = (DirectPhotoSourceCollection*) database_source_collection_construct (object_type, "DirectPhotoSourceCollection", _direct_photo_source_collection_get_direct_key_get_source_database_key, NULL); +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = initial_file; +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = g_file_get_parent (_tmp0_); +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = _tmp1_; +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = directory_monitor_new (_tmp2_, FALSE, FALSE); +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (self->priv->monitor); +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->monitor = _tmp3_; +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp2_); +#line 187 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = self->priv->monitor; +#line 187 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_signal_connect (_tmp4_, "file-discovered", (GCallback) _direct_photo_source_collection_on_file_discovered_directory_monitor_file_discovered, self); +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = self->priv->monitor; +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_signal_connect (_tmp5_, "discovery-completed", (GCallback) _direct_photo_source_collection_on_discovery_completed_directory_monitor_discovery_completed, self); +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = self->priv->monitor; +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + directory_monitor_start_discovery (_tmp6_); +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return self; +#line 1981 "DirectPhoto.c" +} + + +DirectPhotoSourceCollection* direct_photo_source_collection_new (GFile* initial_file) { +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return direct_photo_source_collection_construct (TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, initial_file); +#line 1988 "DirectPhoto.c" +} + + +static gboolean direct_photo_source_collection_real_holds_type_of_source (SourceCollection* base, DataSource* source) { + DirectPhotoSourceCollection * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollection); +#line 193 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 194 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = source; +#line 194 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_DIRECT_PHOTO); +#line 194 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 2006 "DirectPhoto.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return self ? g_object_ref (self) : NULL; +#line 2013 "DirectPhoto.c" +} + + +static gint64 direct_photo_source_collection_get_direct_key (DataSource* source) { + gint64 result = 0LL; + DirectPhoto* photo = NULL; + DataSource* _tmp0_ = NULL; + DirectPhoto* _tmp1_ = NULL; + PhotoID photo_id = {0}; + PhotoID _tmp2_ = {0}; + PhotoID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; +#line 197 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), 0LL); +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = source; +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECT_PHOTO, DirectPhoto)); +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo = _tmp1_; +#line 199 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_get_photo_id (G_TYPE_CHECK_INSTANCE_CAST (photo, TYPE_PHOTO, Photo), &_tmp2_); +#line 199 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_id = _tmp2_; +#line 201 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = photo_id; +#line 201 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = _tmp3_.id; +#line 201 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = _tmp4_; +#line 201 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (photo); +#line 201 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 2048 "DirectPhoto.c" +} + + +static void direct_photo_source_collection_real_notify_items_added (DataCollection* base, GeeIterable* added) { + DirectPhotoSourceCollection * self; + GeeIterable* _tmp16_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollection); +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (GEE_IS_ITERABLE (added)); +#line 2059 "DirectPhoto.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = added; +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _object_it = _tmp1_; +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + while (TRUE) { +#line 2072 "DirectPhoto.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DirectPhoto* photo = NULL; + DataObject* _tmp6_ = NULL; + DirectPhoto* _tmp7_ = NULL; + GFile* file = NULL; + DirectPhoto* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + GeeHashMap* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GeeHashMap* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + DirectPhoto* _tmp15_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = _object_it; +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (!_tmp3_) { +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + break; +#line 2098 "DirectPhoto.c" + } +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = _object_it; +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + object = (DataObject*) _tmp5_; +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = object; +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DIRECT_PHOTO, DirectPhoto)); +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo = _tmp7_; +#line 207 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp8_ = photo; +#line 207 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp9_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 207 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + file = _tmp9_; +#line 209 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp10_ = self->priv->file_map; +#line 209 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp11_ = file; +#line 209 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp12_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_); +#line 209 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _vala_assert (!_tmp12_, "!file_map.has_key(file)"); +#line 211 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp13_ = self->priv->file_map; +#line 211 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp14_ = file; +#line 211 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp15_ = photo; +#line 211 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp14_, _tmp15_); +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (file); +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (photo); +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (object); +#line 2140 "DirectPhoto.c" + } +#line 205 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_object_it); +#line 2144 "DirectPhoto.c" + } +#line 214 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp16_ = added; +#line 214 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + DATA_COLLECTION_CLASS (direct_photo_source_collection_parent_class)->notify_items_added (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp16_); +#line 2150 "DirectPhoto.c" +} + + +static void direct_photo_source_collection_real_notify_items_removed (DataCollection* base, GeeIterable* removed) { + DirectPhotoSourceCollection * self; + GeeIterable* _tmp14_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollection); +#line 217 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (GEE_IS_ITERABLE (removed)); +#line 2161 "DirectPhoto.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = removed; +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = gee_iterable_iterator (_tmp0_); +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _object_it = _tmp1_; +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + while (TRUE) { +#line 2174 "DirectPhoto.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + DirectPhoto* photo = NULL; + DataObject* _tmp6_ = NULL; + DirectPhoto* _tmp7_ = NULL; + GFile* file = NULL; + DirectPhoto* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + gboolean is_removed = FALSE; + GeeHashMap* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = _object_it; +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (!_tmp3_) { +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + break; +#line 2199 "DirectPhoto.c" + } +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = _object_it; +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + object = (DataObject*) _tmp5_; +#line 219 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = object; +#line 219 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DIRECT_PHOTO, DirectPhoto)); +#line 219 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo = _tmp7_; +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp8_ = photo; +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp9_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + file = _tmp9_; +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp10_ = self->priv->file_map; +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp11_ = file; +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp12_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, NULL); +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + is_removed = _tmp12_; +#line 223 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp13_ = is_removed; +#line 223 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _vala_assert (_tmp13_, "is_removed"); +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (file); +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (photo); +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (object); +#line 2237 "DirectPhoto.c" + } +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_object_it); +#line 2241 "DirectPhoto.c" + } +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp14_ = removed; +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + DATA_COLLECTION_CLASS (direct_photo_source_collection_parent_class)->notify_items_removed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection), TYPE_DATA_COLLECTION, DataCollection), _tmp14_); +#line 2247 "DirectPhoto.c" +} + + +gboolean direct_photo_source_collection_has_source_for_file (DirectPhotoSourceCollection* self, GFile* file) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 230 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = self->priv->file_map; +#line 230 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = file; +#line 230 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 230 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = _tmp2_; +#line 230 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 2270 "DirectPhoto.c" +} + + +static void direct_photo_source_collection_on_file_discovered (DirectPhotoSourceCollection* self, GFile* file, GFileInfo* info) { + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + DirectPhoto* photo = NULL; + gchar* reason = NULL; + GFile* _tmp4_ = NULL; + DirectPhoto* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GeeCollection* _tmp9_ = NULL; + DirectPhoto* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 233 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self)); +#line 233 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 233 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (G_IS_FILE_INFO (info)); +#line 235 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = file; +#line 235 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = direct_photo_source_collection_has_source_for_file (self, _tmp0_); +#line 235 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp1_) { +#line 236 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return; +#line 2304 "DirectPhoto.c" + } +#line 239 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = file; +#line 239 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = photo_file_format_is_file_supported (_tmp2_); +#line 239 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (!_tmp3_) { +#line 240 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return; +#line 2314 "DirectPhoto.c" + } +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = file; +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = direct_photo_source_collection_fetch (self, _tmp4_, &_tmp5_, FALSE); +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (photo); +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo = _tmp5_; +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + reason = _tmp6_; +#line 244 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp7_ = reason; +#line 244 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp7_ != NULL) { +#line 2330 "DirectPhoto.c" + const gchar* _tmp8_ = NULL; +#line 245 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp8_ = reason; +#line 245 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_warning ("DirectPhoto.vala:245: Error fetching file: %s", _tmp8_); +#line 2336 "DirectPhoto.c" + } +#line 246 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp9_ = self->priv->prepared_photos; +#line 246 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp10_ = photo; +#line 246 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + gee_collection_add (_tmp9_, _tmp10_); +#line 247 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp11_ = self->priv->prepared_photos; +#line 247 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp12_ = gee_collection_get_size (_tmp11_); +#line 247 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp13_ = _tmp12_; +#line 247 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp13_ >= DIRECT_PHOTO_SOURCE_COLLECTION_DISCOVERED_FILES_BATCH_ADD) { +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_source_collection_flush_prepared_photos (self); +#line 2354 "DirectPhoto.c" + } +#line 233 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (reason); +#line 233 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (photo); +#line 2360 "DirectPhoto.c" +} + + +static void direct_photo_source_collection_on_discovery_completed (DirectPhotoSourceCollection* self) { +#line 251 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self)); +#line 252 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_source_collection_flush_prepared_photos (self); +#line 2369 "DirectPhoto.c" +} + + +static void direct_photo_source_collection_flush_prepared_photos (DirectPhotoSourceCollection* self) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; +#line 255 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self)); +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = self->priv->prepared_photos; +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _tmp0_, NULL, NULL); +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = _tmp1_; +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp2_); +#line 257 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = self->priv->prepared_photos; +#line 257 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + gee_collection_clear (_tmp3_); +#line 2392 "DirectPhoto.c" +} + + +gboolean direct_photo_source_collection_has_file (DirectPhotoSourceCollection* self, GFile* file) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 260 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 260 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 261 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = self->priv->file_map; +#line 261 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = file; +#line 261 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 261 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = _tmp2_; +#line 261 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 2415 "DirectPhoto.c" +} + + +void direct_photo_source_collection_reimport_photo (DirectPhotoSourceCollection* self, DirectPhoto* photo) { + DirectPhoto* _tmp0_ = NULL; + DirectPhoto* reimported_photo = NULL; + DirectPhoto* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + DirectPhoto* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self)); +#line 264 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_if_fail (IS_DIRECT_PHOTO (photo)); +#line 265 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = photo; +#line 265 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_discard_prefetched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO, Photo)); +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = photo; +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = _tmp2_; +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = direct_photo_source_collection_fetch (self, _tmp3_, &_tmp4_, TRUE); +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (reimported_photo); +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + reimported_photo = _tmp4_; +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = _tmp5_; +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (_tmp6_); +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_tmp3_); +#line 264 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (reimported_photo); +#line 2456 "DirectPhoto.c" +} + + +gchar* direct_photo_source_collection_fetch (DirectPhotoSourceCollection* self, GFile* file, DirectPhoto** photo, gboolean reimport) { + DirectPhoto* _vala_photo = NULL; + gchar* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + DirectPhoto* _tmp3_ = NULL; + ImportResult _result_ = 0; + GFile* _tmp25_ = NULL; + DirectPhoto* _tmp26_ = NULL; + ImportResult _tmp27_ = 0; + gchar* _tmp28_ = NULL; + ImportResult _tmp29_ = 0; + GError * _inner_error_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 271 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = self->priv->file_map; +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = file; +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_vala_photo); +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _vala_photo = (DirectPhoto*) _tmp2_; +#line 274 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp3_ = _vala_photo; +#line 274 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp3_ != NULL) { +#line 2492 "DirectPhoto.c" + gchar* reason = NULL; + gboolean _tmp4_ = FALSE; +#line 275 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + reason = NULL; +#line 277 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp4_ = reimport; +#line 277 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp4_) { +#line 2501 "DirectPhoto.c" + { + Orientation ori_tmp = 0; + gboolean should_restore_ori = FALSE; + gboolean _tmp5_ = FALSE; + DirectPhoto* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PhotoReimportMasterState* reimport_state = NULL; + gboolean _tmp12_ = FALSE; + DirectPhoto* _tmp13_ = NULL; + PhotoReimportMasterState* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 279 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ori_tmp = ORIENTATION_TOP_LEFT; +#line 280 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + should_restore_ori = FALSE; +#line 282 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp6_ = _vala_photo; +#line 282 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp7_ = photo_only_metadata_changed (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PHOTO, Photo)); +#line 282 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp7_) { +#line 282 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = TRUE; +#line 2525 "DirectPhoto.c" + } else { + DirectPhoto* _tmp8_ = NULL; + PhotoFileFormat _tmp9_ = 0; +#line 283 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp8_ = _vala_photo; +#line 283 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp9_ = photo_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PHOTO, Photo)); +#line 283 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp5_ = _tmp9_ == PHOTO_FILE_FORMAT_JFIF; +#line 2535 "DirectPhoto.c" + } +#line 282 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp5_) { +#line 2539 "DirectPhoto.c" + DirectPhoto* _tmp10_ = NULL; + Orientation _tmp11_ = 0; +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp10_ = _vala_photo; +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp11_ = photo_get_orientation (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_PHOTO, Photo)); +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ori_tmp = _tmp11_; +#line 285 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + should_restore_ori = TRUE; +#line 2550 "DirectPhoto.c" + } +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp13_ = _vala_photo; +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp15_ = photo_prepare_for_reimport_master (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_PHOTO, Photo), &_tmp14_, &_inner_error_); +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + reimport_state = _tmp14_; +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp12_ = _tmp15_; +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 2566 "DirectPhoto.c" + goto __catch44_g_error; + } +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp12_) { +#line 2571 "DirectPhoto.c" + DirectPhoto* _tmp16_ = NULL; + PhotoReimportMasterState* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 290 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp16_ = _vala_photo; +#line 290 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp17_ = reimport_state; +#line 290 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + photo_finish_reimport_master (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PHOTO, Photo), _tmp17_, &_inner_error_); +#line 290 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 290 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 2585 "DirectPhoto.c" + goto __catch44_g_error; + } +#line 291 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp18_ = should_restore_ori; +#line 291 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp18_) { +#line 2592 "DirectPhoto.c" + DirectPhoto* _tmp19_ = NULL; + Orientation _tmp20_ = 0; +#line 292 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp19_ = _vala_photo; +#line 292 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp20_ = ori_tmp; +#line 292 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_fixup_orientation_after_reimport (_tmp19_, _tmp20_); +#line 2601 "DirectPhoto.c" + } + } else { + gchar* _tmp21_ = NULL; +#line 296 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp21_ = import_result_to_string (IMPORT_RESULT_FILE_ERROR); +#line 296 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (reason); +#line 296 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + reason = _tmp21_; +#line 2611 "DirectPhoto.c" + } +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _photo_reimport_master_state_unref0 (reimport_state); +#line 2615 "DirectPhoto.c" + } + goto __finally44; + __catch44_g_error: + { + GError* err = NULL; + GError* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + err = _inner_error_; +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _inner_error_ = NULL; +#line 299 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp22_ = err; +#line 299 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp23_ = _tmp22_->message; +#line 299 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp24_ = g_strdup (_tmp23_); +#line 299 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (reason); +#line 299 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + reason = _tmp24_; +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_error_free0 (err); +#line 2640 "DirectPhoto.c" + } + __finally44: +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (reason); +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.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 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_clear_error (&_inner_error_); +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return NULL; +#line 2653 "DirectPhoto.c" + } + } +#line 303 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = reason; +#line 303 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (photo) { +#line 303 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + *photo = _vala_photo; +#line 2662 "DirectPhoto.c" + } else { +#line 303 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_vala_photo); +#line 2666 "DirectPhoto.c" + } +#line 303 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 2670 "DirectPhoto.c" + } +#line 308 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp25_ = file; +#line 308 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp27_ = direct_photo_internal_import (_tmp25_, &_tmp26_); +#line 308 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_vala_photo); +#line 308 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _vala_photo = _tmp26_; +#line 308 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _result_ = _tmp27_; +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp29_ = _result_; +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (_tmp29_ == IMPORT_RESULT_SUCCESS) { +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (_tmp28_); +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp28_ = NULL; +#line 2690 "DirectPhoto.c" + } else { + ImportResult _tmp30_ = 0; + gchar* _tmp31_ = NULL; +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp30_ = _result_; +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp31_ = import_result_to_string (_tmp30_); +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_free0 (_tmp28_); +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp28_ = _tmp31_; +#line 2702 "DirectPhoto.c" + } +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = _tmp28_; +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + if (photo) { +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + *photo = _vala_photo; +#line 2710 "DirectPhoto.c" + } else { +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (_vala_photo); +#line 2714 "DirectPhoto.c" + } +#line 310 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 2718 "DirectPhoto.c" +} + + +gboolean direct_photo_source_collection_has_file_source (DirectPhotoSourceCollection* self, GFile* file) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 313 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self), FALSE); +#line 313 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 314 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = self->priv->file_map; +#line 314 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = file; +#line 314 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 314 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = _tmp2_; +#line 314 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 2741 "DirectPhoto.c" +} + + +DirectPhoto* direct_photo_source_collection_get_file_source (DirectPhotoSourceCollection* self, GFile* file) { + DirectPhoto* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO_SOURCE_COLLECTION (self), NULL); +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 318 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = self->priv->file_map; +#line 318 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = file; +#line 318 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 318 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + result = (DirectPhoto*) _tmp2_; +#line 318 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + return result; +#line 2764 "DirectPhoto.c" +} + + +static void direct_photo_source_collection_class_init (DirectPhotoSourceCollectionClass * klass) { +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + direct_photo_source_collection_parent_class = g_type_class_peek_parent (klass); +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((DataCollectionClass *) klass)->finalize = direct_photo_source_collection_finalize; +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + g_type_class_add_private (klass, sizeof (DirectPhotoSourceCollectionPrivate)); +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((SourceCollectionClass *) klass)->holds_type_of_source = direct_photo_source_collection_real_holds_type_of_source; +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((DataCollectionClass *) klass)->notify_items_added = direct_photo_source_collection_real_notify_items_added; +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + ((DataCollectionClass *) klass)->notify_items_removed = direct_photo_source_collection_real_notify_items_removed; +#line 2781 "DirectPhoto.c" +} + + +static void direct_photo_source_collection_instance_init (DirectPhotoSourceCollection * self) { + GeeArrayList* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv = DIRECT_PHOTO_SOURCE_COLLECTION_GET_PRIVATE (self); +#line 177 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp0_ = gee_array_list_new (TYPE_DIRECT_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 177 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->prepared_photos = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _tmp1_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, TYPE_DIRECT_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self->priv->file_map = _tmp1_; +#line 2798 "DirectPhoto.c" +} + + +static void direct_photo_source_collection_finalize (DataCollection* obj) { + DirectPhotoSourceCollection * self; +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollection); +#line 177 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (self->priv->prepared_photos); +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (self->priv->file_map); +#line 180 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + _g_object_unref0 (self->priv->monitor); +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhoto.vala" + DATA_COLLECTION_CLASS (direct_photo_source_collection_parent_class)->finalize (obj); +#line 2814 "DirectPhoto.c" +} + + +GType direct_photo_source_collection_get_type (void) { + static volatile gsize direct_photo_source_collection_type_id__volatile = 0; + if (g_once_init_enter (&direct_photo_source_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectPhotoSourceCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) direct_photo_source_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectPhotoSourceCollection), 0, (GInstanceInitFunc) direct_photo_source_collection_instance_init, NULL }; + GType direct_photo_source_collection_type_id; + direct_photo_source_collection_type_id = g_type_register_static (TYPE_DATABASE_SOURCE_COLLECTION, "DirectPhotoSourceCollection", &g_define_type_info, 0); + g_once_init_leave (&direct_photo_source_collection_type_id__volatile, direct_photo_source_collection_type_id); + } + return direct_photo_source_collection_type_id__volatile; +} + + + diff --git a/src/direct/DirectPhotoPage.c b/src/direct/DirectPhotoPage.c new file mode 100644 index 0000000..c9094a2 --- /dev/null +++ b/src/direct/DirectPhotoPage.c @@ -0,0 +1,5294 @@ +/* DirectPhotoPage.c generated by valac 0.32.1, the Vala compiler + * generated from DirectPhotoPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate; + +#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ()) +#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer)) +#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass)) +#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER)) +#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER)) +#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass)) + +typedef struct _ZoomBuffer ZoomBuffer; +typedef struct _ZoomBufferClass ZoomBufferClass; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ()) + +#define TYPE_EDITING_HOST_PAGE (editing_host_page_get_type ()) +#define EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPage)) +#define EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDITING_HOST_PAGE, EditingHostPageClass)) +#define IS_EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDITING_HOST_PAGE)) +#define IS_EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDITING_HOST_PAGE)) +#define EDITING_HOST_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPageClass)) + +typedef struct _EditingHostPage EditingHostPage; +typedef struct _EditingHostPageClass EditingHostPageClass; +typedef struct _EditingHostPagePrivate EditingHostPagePrivate; + +#define TYPE_DATA_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_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_DIRECT_PHOTO_PAGE (direct_photo_page_get_type ()) +#define DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage)) +#define DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass)) +#define IS_DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_PAGE)) +#define IS_DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_PAGE)) +#define DIRECT_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass)) + +typedef struct _DirectPhotoPage DirectPhotoPage; +typedef struct _DirectPhotoPageClass DirectPhotoPageClass; +typedef struct _DirectPhotoPagePrivate DirectPhotoPagePrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_DIRECT_VIEW_COLLECTION (direct_view_collection_get_type ()) +#define DIRECT_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_VIEW_COLLECTION, DirectViewCollection)) +#define DIRECT_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_VIEW_COLLECTION, DirectViewCollectionClass)) +#define IS_DIRECT_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_VIEW_COLLECTION)) +#define IS_DIRECT_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_VIEW_COLLECTION)) +#define DIRECT_VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_VIEW_COLLECTION, DirectViewCollectionClass)) + +typedef struct _DirectViewCollection DirectViewCollection; +typedef struct _DirectViewCollectionClass DirectViewCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_DIRECT_PHOTO_SOURCE_COLLECTION (direct_photo_source_collection_get_type ()) +#define DIRECT_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollection)) +#define DIRECT_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionClass)) +#define IS_DIRECT_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION)) +#define IS_DIRECT_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION)) +#define DIRECT_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionClass)) + +typedef struct _DirectPhotoSourceCollection DirectPhotoSourceCollection; +typedef struct _DirectPhotoSourceCollectionClass DirectPhotoSourceCollectionClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) +#define _injection_group_unref0(var) ((var == NULL) ? NULL : (var = (injection_group_unref (var), NULL))) + +#define TYPE_DIRECT_PHOTO (direct_photo_get_type ()) +#define DIRECT_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO, DirectPhoto)) +#define DIRECT_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO, DirectPhotoClass)) +#define IS_DIRECT_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO)) +#define IS_DIRECT_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO)) +#define DIRECT_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO, DirectPhotoClass)) + +typedef struct _DirectPhoto DirectPhoto; +typedef struct _DirectPhotoClass DirectPhotoClass; + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) + +#define TYPE_ZOOM_STATE (zoom_state_get_type ()) +typedef struct _ZoomState ZoomState; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_DIRECT_VIEW (direct_view_get_type ()) +#define DIRECT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_VIEW, DirectView)) +#define DIRECT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_VIEW, DirectViewClass)) +#define IS_DIRECT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_VIEW)) +#define IS_DIRECT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_VIEW)) +#define DIRECT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_VIEW, DirectViewClass)) + +typedef struct _DirectView DirectView; +typedef struct _DirectViewClass DirectViewClass; + +#define TYPE_EXPORT_DIALOG (export_dialog_get_type ()) +#define EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPORT_DIALOG, ExportDialog)) +#define EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPORT_DIALOG, ExportDialogClass)) +#define IS_EXPORT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPORT_DIALOG)) +#define IS_EXPORT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPORT_DIALOG)) +#define EXPORT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPORT_DIALOG, ExportDialogClass)) + +typedef struct _ExportDialog ExportDialog; +typedef struct _ExportDialogClass ExportDialogClass; + +#define TYPE_EXPORT_FORMAT_PARAMETERS (export_format_parameters_get_type ()) + +#define TYPE_EXPORT_FORMAT_MODE (export_format_mode_get_type ()) +typedef struct _ExportFormatParameters ExportFormatParameters; + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) + +#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_PRINT_MANAGER (print_manager_get_type ()) +#define PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PRINT_MANAGER, PrintManager)) +#define PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PRINT_MANAGER, PrintManagerClass)) +#define IS_PRINT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PRINT_MANAGER)) +#define IS_PRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PRINT_MANAGER)) +#define PRINT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PRINT_MANAGER, PrintManagerClass)) + +typedef struct _PrintManager PrintManager; +typedef struct _PrintManagerClass PrintManagerClass; +#define _print_manager_unref0(var) ((var == NULL) ? NULL : (var = (print_manager_unref (var), NULL))) +typedef struct _Block6Data Block6Data; + +#define TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE (direct_fullscreen_photo_page_get_type ()) +#define DIRECT_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE, DirectFullscreenPhotoPage)) +#define DIRECT_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE, DirectFullscreenPhotoPageClass)) +#define IS_DIRECT_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE)) +#define IS_DIRECT_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE)) +#define DIRECT_FULLSCREEN_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE, DirectFullscreenPhotoPageClass)) + +typedef struct _DirectFullscreenPhotoPage DirectFullscreenPhotoPage; +typedef struct _DirectFullscreenPhotoPageClass DirectFullscreenPhotoPageClass; +typedef struct _DirectFullscreenPhotoPagePrivate DirectFullscreenPhotoPagePrivate; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF, + SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT, + SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS +} SinglePhotoPageUpdateReason; + +struct _SinglePhotoPage { + Page parent_instance; + SinglePhotoPagePrivate * priv; + GtkDrawingArea* canvas; + GtkViewport* viewport; +}; + +struct _SinglePhotoPageClass { + PageClass parent_class; + gboolean (*is_zoom_supported) (SinglePhotoPage* self); + void (*cancel_zoom) (SinglePhotoPage* self); + void (*save_zoom_state) (SinglePhotoPage* self); + void (*restore_zoom_state) (SinglePhotoPage* self); + ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self); + void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); + void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*on_previous_photo) (SinglePhotoPage* self); + void (*on_next_photo) (SinglePhotoPage* self); +}; + +struct _EditingHostPage { + SinglePhotoPage parent_instance; + EditingHostPagePrivate * priv; +}; + +struct _EditingHostPageClass { + SinglePhotoPageClass parent_class; + gboolean (*on_zoom_slider_key_press) (EditingHostPage* self, GdkEventKey* event); + void (*on_increase_size) (EditingHostPage* self); + void (*on_decrease_size) (EditingHostPage* self); + void (*photo_changing) (EditingHostPage* self, Photo* new_photo); + DataView* (*create_photo_view) (EditingHostPage* self, DataSource* source); + void (*update_ui) (EditingHostPage* self, gboolean missing); + void (*notify_photo_backing_missing) (EditingHostPage* self, Photo* photo, gboolean missing); + gboolean (*confirm_replace_photo) (EditingHostPage* self, Photo* old_photo, Photo* new_photo); + gboolean (*on_double_click) (EditingHostPage* self, GdkEventButton* event); + GdkPixbuf* (*get_bottom_left_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_top_left_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (EditingHostPage* self, gint scale); +}; + +struct _DirectPhotoPage { + EditingHostPage parent_instance; + DirectPhotoPagePrivate * priv; +}; + +struct _DirectPhotoPageClass { + EditingHostPageClass parent_class; +}; + +struct _DirectPhotoPagePrivate { + GFile* initial_file; + DirectViewCollection* view_controller; + GFile* current_save_dir; + gboolean drop_if_dirty; +}; + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +struct _ZoomState { + Dimensions content_dimensions; + Dimensions viewport_dimensions; + gdouble zoom_factor; + gdouble interpolation_factor; + gdouble min_factor; + gdouble max_factor; + GdkPoint viewport_center; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +typedef enum { + EXPORT_FORMAT_MODE_UNMODIFIED, + EXPORT_FORMAT_MODE_CURRENT, + EXPORT_FORMAT_MODE_SPECIFIED, + EXPORT_FORMAT_MODE_LAST +} ExportFormatMode; + +struct _ExportFormatParameters { + ExportFormatMode mode; + PhotoFileFormat specified_format; + JpegQuality quality; + gboolean export_metadata; +}; + +struct _Block6Data { + int _ref_count_; + DirectPhotoPage* self; + gboolean should_allow_rotation; +}; + +struct _DirectFullscreenPhotoPage { + DirectPhotoPage parent_instance; + DirectFullscreenPhotoPagePrivate * priv; +}; + +struct _DirectFullscreenPhotoPageClass { + DirectPhotoPageClass parent_class; +}; + + +static gpointer direct_photo_page_parent_class = NULL; +extern DirectPhotoSourceCollection* direct_photo_global; +static gpointer direct_fullscreen_photo_page_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType zoom_buffer_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST; +GType editing_host_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 data_view_get_type (void) G_GNUC_CONST; +GType direct_photo_page_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +GType direct_view_collection_get_type (void) G_GNUC_CONST; +#define DIRECT_PHOTO_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPagePrivate)) +enum { + DIRECT_PHOTO_PAGE_DUMMY_PROPERTY +}; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType direct_photo_source_collection_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void direct_photo_page_on_photos_altered (DirectPhotoPage* self, GeeMap* map); +static void _direct_photo_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +DirectPhotoPage* direct_photo_page_new (GFile* file); +DirectPhotoPage* direct_photo_page_construct (GType object_type, GFile* file); +EditingHostPage* editing_host_page_construct (GType object_type, SourceCollection* sources, const gchar* name); +static gboolean direct_photo_page_check_editable_file (GFile* file); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +void application_panic (Application* self); +DirectViewCollection* direct_view_collection_new (void); +DirectViewCollection* direct_view_collection_construct (GType object_type); +ViewCollection* page_get_view (Page* self); +static void direct_photo_page_on_selection_group_altered (DirectPhotoPage* self); +static void _direct_photo_page_on_selection_group_altered_view_collection_selection_group_altered (ViewCollection* _sender, gpointer self); +static void direct_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* direct_photo_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define TRANSLATABLE "translatable" +static void _vala_array_add91 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_SAVE_LABEL _ ("_Save") +static void direct_photo_page_on_save (DirectPhotoPage* self); +static void _direct_photo_page_on_save_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add92 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_SAVE_AS_LABEL _ ("Save _As") +static void direct_photo_page_on_save_as (DirectPhotoPage* self); +static void _direct_photo_page_on_save_as_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add93 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void direct_photo_page_on_send_to (DirectPhotoPage* self); +static void _direct_photo_page_on_send_to_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_SEND_TO_MENU _ ("Send _To...") +static void _vala_array_add94 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_PRINT_LABEL _ ("_Print") +static void direct_photo_page_on_print (DirectPhotoPage* self); +static void _direct_photo_page_on_print_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_PRINT_MENU _ ("_Print...") +static void _vala_array_add95 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add96 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add97 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add98 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_PREVIOUS_LABEL _ ("_Previous") +void single_photo_page_on_previous_photo (SinglePhotoPage* self); +static void _single_photo_page_on_previous_photo_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add99 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_NEXT_LABEL _ ("_Next") +void single_photo_page_on_next_photo (SinglePhotoPage* self); +static void _single_photo_page_on_next_photo_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add100 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_CLOCKWISE "object-rotate-right" +void editing_host_page_on_rotate_clockwise (EditingHostPage* self); +static void _editing_host_page_on_rotate_clockwise_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ROTATE_CW_MENU _ ("Rotate _Right") +#define RESOURCES_ROTATE_CCW_TOOLTIP _ ("Rotate the photos left") +static void _vala_array_add101 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_COUNTERCLOCKWISE "object-rotate-left" +void editing_host_page_on_rotate_counterclockwise (EditingHostPage* self); +static void _editing_host_page_on_rotate_counterclockwise_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ROTATE_CCW_MENU _ ("Rotate _Left") +static void _vala_array_add102 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_HFLIP "object-flip-horizontal" +void editing_host_page_on_flip_horizontally (EditingHostPage* self); +static void _editing_host_page_on_flip_horizontally_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_HFLIP_MENU _ ("Flip Hori_zontally") +static void _vala_array_add103 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_VFLIP "object-flip-vertical" +void editing_host_page_on_flip_vertically (EditingHostPage* self); +static void _editing_host_page_on_flip_vertically_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_VFLIP_MENU _ ("Flip Verti_cally") +static void _vala_array_add104 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ENHANCE "shotwell-auto-enhance" +void editing_host_page_on_enhance (EditingHostPage* self); +static void _editing_host_page_on_enhance_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ENHANCE_MENU _ ("_Enhance") +#define RESOURCES_ENHANCE_TOOLTIP _ ("Automatically improve the photo's appearance") +static void _vala_array_add105 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_CROP "shotwell-crop" +void editing_host_page_toggle_crop (EditingHostPage* self); +static void _editing_host_page_toggle_crop_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_CROP_MENU _ ("_Crop") +#define RESOURCES_CROP_TOOLTIP _ ("Crop the photo's size") +static void _vala_array_add106 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_REFRESH_LABEL _ ("_Refresh") +void editing_host_page_toggle_straighten (EditingHostPage* self); +static void _editing_host_page_toggle_straighten_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_STRAIGHTEN_MENU _ ("_Straighten") +#define RESOURCES_STRAIGHTEN_TOOLTIP _ ("Straighten the photo") +static void _vala_array_add107 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_REDEYE "shotwell-redeye" +void editing_host_page_toggle_redeye (EditingHostPage* self); +static void _editing_host_page_toggle_redeye_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_RED_EYE_MENU _ ("_Red-eye") +#define RESOURCES_RED_EYE_TOOLTIP _ ("Reduce or eliminate any red-eye effects in the photo") +static void _vala_array_add108 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ADJUST "image-adjust" +void editing_host_page_toggle_adjust (EditingHostPage* self); +static void _editing_host_page_toggle_adjust_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ADJUST_MENU _ ("_Adjust") +#define RESOURCES_ADJUST_TOOLTIP _ ("Adjust the photo's color and tone") +static void _vala_array_add109 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_REVERT_LABEL _ ("Revert to Original") +void editing_host_page_on_revert (EditingHostPage* self); +static void _editing_host_page_on_revert_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_REVERT_MENU _ ("Re_vert to Original") +static void _vala_array_add110 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void editing_host_page_on_adjust_date_time (EditingHostPage* self); +static void _editing_host_page_on_adjust_date_time_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_ADJUST_DATE_TIME_MENU _ ("_Adjust Date and Time...") +static void _vala_array_add111 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void editing_host_page_on_set_background (EditingHostPage* self); +static void _editing_host_page_on_set_background_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_SET_BACKGROUND_MENU _ ("Set as _Desktop Background") +#define RESOURCES_SET_BACKGROUND_TOOLTIP _ ("Set selected image to be the new desktop background") +static void _vala_array_add112 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add113 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add114 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_IN_LABEL _ ("Zoom _In") +void editing_host_page_on_increase_size (EditingHostPage* self); +static void _editing_host_page_on_increase_size_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add115 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_OUT_LABEL _ ("Zoom _Out") +void editing_host_page_on_decrease_size (EditingHostPage* self); +static void _editing_host_page_on_decrease_size_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add116 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_FIT_LABEL _ ("Best _Fit") +void editing_host_page_snap_zoom_to_min (EditingHostPage* self); +static void _editing_host_page_snap_zoom_to_min_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add117 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_ZOOM_100_LABEL _ ("_Normal Size") +void editing_host_page_snap_zoom_to_isomorphic (EditingHostPage* self); +static void _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add118 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void editing_host_page_snap_zoom_to_max (EditingHostPage* self); +static void _editing_host_page_snap_zoom_to_max_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add119 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static InjectionGroup** direct_photo_page_real_init_collect_injection_groups (Page* base, int* result_length1); +InjectionGroup** page_init_collect_injection_groups (Page* self, int* result_length1); +InjectionGroup* injection_group_new (const gchar* path); +InjectionGroup* injection_group_construct (GType object_type, const gchar* path); +void injection_group_add_menu_item (InjectionGroup* self, const gchar* name, const gchar* action); +static void _vala_array_add120 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +static void _vala_array_add121 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value); +void app_window_error_message (const gchar* message, GtkWindow* parent); +gboolean photo_file_format_is_file_supported (GFile* file); +#define RESOURCES_APP_TITLE "Shotwell" +static void direct_photo_page_real_realize (GtkWidget* base); +GType direct_photo_get_type (void) G_GNUC_CONST; +DirectPhoto* direct_photo_source_collection_get_file_source (DirectPhotoSourceCollection* self, GFile* file); +void editing_host_page_display_mirror_of (EditingHostPage* self, ViewCollection* controller, Photo* starting_photo); +void app_window_panic (const gchar* msg); +static void direct_photo_page_real_photo_changing (EditingHostPage* base, Photo* new_photo); +Photo* editing_host_page_get_photo (EditingHostPage* self); +static void direct_photo_page_on_dphoto_can_rotate_changed (DirectPhotoPage* self, gboolean should_allow_rotation); +static void _direct_photo_page_on_dphoto_can_rotate_changed_direct_photo_can_rotate_changed (DirectPhoto* _sender, gboolean b, gpointer self); +GType import_result_get_type (void) G_GNUC_CONST; +ImportResult direct_photo_demand_load (DirectPhoto* self); +GFile* direct_photo_page_get_current_file (DirectPhotoPage* self); +GFile* media_source_get_file (MediaSource* self); +static gboolean direct_photo_page_real_on_context_buttonpress (Page* base, GdkEventButton* event); +gboolean page_popup_context_menu (Page* self, GtkMenu* context_menu, GdkEventButton* event); +static void direct_photo_page_update_zoom_menu_item_sensitivity (DirectPhotoPage* self); +GType zoom_state_get_type (void) G_GNUC_CONST; +ZoomState* zoom_state_dup (const ZoomState* self); +void zoom_state_free (ZoomState* self); +void single_photo_page_get_zoom_state (SinglePhotoPage* self, ZoomState* result); +gboolean zoom_state_is_max (ZoomState *self); +gboolean editing_host_page_get_photo_missing (EditingHostPage* self); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +gboolean zoom_state_is_default (ZoomState *self); +static void direct_photo_page_real_on_increase_size (EditingHostPage* base); +static void direct_photo_page_real_on_decrease_size (EditingHostPage* base); +gboolean editing_host_page_has_photo (EditingHostPage* self); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_file_format (Photo* self); +gboolean photo_file_format_can_write (PhotoFileFormat self); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +void command_manager_reset (CommandManager* self); +static gboolean direct_photo_page_real_on_double_click (EditingHostPage* base, GdkEventButton* event); +GtkWindow* page_get_container (Page* self); +void fullscreen_window_close (FullscreenWindow* self); +gboolean editing_host_page_on_double_click (EditingHostPage* self, GdkEventButton* event); +static void direct_photo_page_real_update_ui (EditingHostPage* base, gboolean missing); +void editing_host_page_update_ui (EditingHostPage* self, gboolean missing); +static void direct_photo_page_real_update_actions (Page* base, gint selected_count, gint count); +gint data_collection_get_count (DataCollection* self); +gboolean photo_has_transformations (Photo* self); +gboolean editing_host_page_is_rotate_available (EditingHostPage* self, Photo* photo); +gboolean editing_host_page_is_enhance_available (EditingHostPage* self, Photo* photo); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +gboolean editing_tools_crop_tool_is_available (Photo* photo, Scaling* scaling); +void scaling_for_original (Scaling* result); +gboolean editing_tools_redeye_tool_is_available (Photo* photo, Scaling* scaling); +void page_update_actions (Page* self, gint selected_count, gint count); +static gboolean direct_photo_page_check_ok_to_close_photo (DirectPhotoPage* self, Photo* photo); +gboolean photo_has_alterations (Photo* self); +void photo_remove_all_transformations (Photo* self); +GtkResponseType app_window_negate_affirm_cancel_question (const gchar* message, const gchar* negative, const gchar* affirmative, const gchar* title, GtkWindow* parent); +gchar* media_source_get_basename (MediaSource* self); +GType jpeg_quality_get_type (void) G_GNUC_CONST; +static void direct_photo_page_save (DirectPhotoPage* self, GFile* dest, gint scale, ScaleConstraint constraint, JpegQuality quality, PhotoFileFormat format, gboolean copy_unmodified, gboolean save_metadata); +gboolean direct_photo_page_check_quit (DirectPhotoPage* self); +static gboolean direct_photo_page_real_confirm_replace_photo (EditingHostPage* base, Photo* old_photo, Photo* new_photo); +void scaling_for_constraint (ScaleConstraint constraint, gint scale, gboolean scale_up, Scaling* result); +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +gchar* direct_photo_source_collection_fetch (DirectPhotoSourceCollection* self, GFile* file, DirectPhoto** photo, gboolean reimport); +GType direct_view_get_type (void) G_GNUC_CONST; +DirectView* direct_view_new (DirectPhoto* source); +DirectView* direct_view_construct (GType object_type, DirectPhoto* source); +gboolean data_collection_add (DataCollection* self, DataObject* object); +void direct_photo_source_collection_reimport_photo (DirectPhotoSourceCollection* self, DirectPhoto* photo); +GType export_dialog_get_type (void) G_GNUC_CONST; +ExportDialog* export_dialog_new (const gchar* title); +ExportDialog* export_dialog_construct (GType object_type, const gchar* title); +GType export_format_parameters_get_type (void) G_GNUC_CONST; +GType export_format_mode_get_type (void) G_GNUC_CONST; +ExportFormatParameters* export_format_parameters_dup (const ExportFormatParameters* self); +void export_format_parameters_free (ExportFormatParameters* self); +void export_format_parameters_last (ExportFormatParameters* result); +gboolean export_dialog_execute (ExportDialog* self, gint* scale, ScaleConstraint* constraint, ExportFormatParameters* parameters); +gchar* photo_get_export_basename_for_parameters (Photo* self, ExportFormatParameters* params); +PhotoFileFormat photo_get_export_format_for_parameters (Photo* self, ExportFormatParameters* params); +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self); +gchar** photo_file_format_properties_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1); +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +#define RESOURCES_CANCEL_LABEL _ ("_Cancel") +#define RESOURCES_OK_LABEL _ ("_OK") +void desktop_integration_send_to (GeeCollection* media); +GeeList* view_collection_get_selected_sources (ViewCollection* self); +static gboolean direct_photo_page_real_on_app_key_pressed (Page* base, GdkEventKey* event); +void page_activate_action (Page* self, const gchar* name); +gboolean page_on_app_key_pressed (Page* self, GdkEventKey* event); +gint view_collection_get_selected_count (ViewCollection* self); +gpointer print_manager_ref (gpointer instance); +void print_manager_unref (gpointer instance); +GParamSpec* param_spec_print_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_print_manager (GValue* value, gpointer v_object); +void value_take_print_manager (GValue* value, gpointer v_object); +gpointer value_get_print_manager (const GValue* value); +GType print_manager_get_type (void) G_GNUC_CONST; +PrintManager* print_manager_get_instance (void); +void print_manager_spool_photo (PrintManager* self, GeeCollection* to_print); +GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t); +static Block6Data* block6_data_ref (Block6Data* _data6_); +static void block6_data_unref (void * _userdata_); +static gboolean __lambda14_ (Block6Data* _data6_); +void editing_host_page_enable_rotate (EditingHostPage* self, gboolean should_enable); +static gboolean ___lambda14__gsource_func (gpointer self); +static DataView* direct_photo_page_real_create_photo_view (EditingHostPage* base, DataSource* source); +static void direct_photo_page_finalize (GObject* obj); +GType direct_fullscreen_photo_page_get_type (void) G_GNUC_CONST; +enum { + DIRECT_FULLSCREEN_PHOTO_PAGE_DUMMY_PROPERTY +}; +DirectFullscreenPhotoPage* direct_fullscreen_photo_page_new (GFile* file); +DirectFullscreenPhotoPage* direct_fullscreen_photo_page_construct (GType object_type, GFile* file); +static void direct_fullscreen_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static void _direct_photo_page_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 32 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_on_photos_altered ((DirectPhotoPage*) self, items); +#line 937 "DirectPhotoPage.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 22 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return self ? g_object_ref (self) : NULL; +#line 944 "DirectPhotoPage.c" +} + + +static void _direct_photo_page_on_selection_group_altered_view_collection_selection_group_altered (ViewCollection* _sender, gpointer self) { +#line 28 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_on_selection_group_altered ((DirectPhotoPage*) self); +#line 951 "DirectPhotoPage.c" +} + + +DirectPhotoPage* direct_photo_page_construct (GType object_type, GFile* file) { + DirectPhotoPage * self = NULL; + DirectPhotoSourceCollection* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + DirectViewCollection* _tmp10_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + DirectPhotoSourceCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 14 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = direct_photo_global; +#line 14 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = file; +#line 14 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = g_file_get_basename (_tmp1_); +#line 14 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = _tmp2_; +#line 14 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = (DirectPhotoPage*) editing_host_page_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp3_); +#line 14 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp3_); +#line 16 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = file; +#line 16 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = direct_photo_page_check_editable_file (_tmp4_); +#line 16 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (!_tmp5_) { +#line 991 "DirectPhotoPage.c" + Application* _tmp6_ = NULL; + Application* _tmp7_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = application_get_instance (); +#line 17 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = _tmp6_; +#line 17 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + application_panic (_tmp7_); +#line 17 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _application_unref0 (_tmp7_); +#line 19 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return self; +#line 1004 "DirectPhotoPage.c" + } +#line 22 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = file; +#line 22 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = _g_object_ref0 (_tmp8_); +#line 22 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (self->priv->initial_file); +#line 22 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->initial_file = _tmp9_; +#line 23 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = direct_view_collection_new (); +#line 23 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data_collection_unref0 (self->priv->view_controller); +#line 23 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->view_controller = _tmp10_; +#line 24 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = file; +#line 24 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = g_file_get_parent (_tmp11_); +#line 24 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (self->priv->current_save_dir); +#line 24 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->current_save_dir = _tmp12_; +#line 26 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = direct_photo_global; +#line 26 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _direct_photo_page_on_photos_altered_data_collection_items_altered, self, 0); +#line 28 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 28 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = _tmp14_; +#line 28 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_signal_connect_object (_tmp15_, "selection-group-altered", (GCallback) _direct_photo_page_on_selection_group_altered_view_collection_selection_group_altered, self, 0); +#line 28 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data_collection_unref0 (_tmp15_); +#line 13 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return self; +#line 1042 "DirectPhotoPage.c" +} + + +DirectPhotoPage* direct_photo_page_new (GFile* file) { +#line 13 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return direct_photo_page_construct (TYPE_DIRECT_PHOTO_PAGE, file); +#line 1049 "DirectPhotoPage.c" +} + + +static void direct_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + DirectPhotoPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 35 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 36 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = ui_filenames; +#line 36 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + PAGE_CLASS (direct_photo_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp0_); +#line 38 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = ui_filenames; +#line 38 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "direct_context.ui"); +#line 39 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = ui_filenames; +#line 39 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), "direct.ui"); +#line 1074 "DirectPhotoPage.c" +} + + +static void _vala_array_add91 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1085 "DirectPhotoPage.c" + } +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1089 "DirectPhotoPage.c" +} + + +static void _direct_photo_page_on_save_gtk_action_callback (GtkAction* action, gpointer self) { +#line 49 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_on_save ((DirectPhotoPage*) self); +#line 1096 "DirectPhotoPage.c" +} + + +static void _vala_array_add92 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 53 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 53 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 53 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1107 "DirectPhotoPage.c" + } +#line 53 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1111 "DirectPhotoPage.c" +} + + +static void _direct_photo_page_on_save_as_gtk_action_callback (GtkAction* action, gpointer self) { +#line 55 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_on_save_as ((DirectPhotoPage*) self); +#line 1118 "DirectPhotoPage.c" +} + + +static void _vala_array_add93 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1129 "DirectPhotoPage.c" + } +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1133 "DirectPhotoPage.c" +} + + +static void _direct_photo_page_on_send_to_gtk_action_callback (GtkAction* action, gpointer self) { +#line 61 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_on_send_to ((DirectPhotoPage*) self); +#line 1140 "DirectPhotoPage.c" +} + + +static void _vala_array_add94 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 64 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 64 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 64 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1151 "DirectPhotoPage.c" + } +#line 64 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1155 "DirectPhotoPage.c" +} + + +static void _direct_photo_page_on_print_gtk_action_callback (GtkAction* action, gpointer self) { +#line 66 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_on_print ((DirectPhotoPage*) self); +#line 1162 "DirectPhotoPage.c" +} + + +static void _vala_array_add95 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1173 "DirectPhotoPage.c" + } +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1177 "DirectPhotoPage.c" +} + + +static void _vala_array_add96 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1188 "DirectPhotoPage.c" + } +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1192 "DirectPhotoPage.c" +} + + +static void _vala_array_add97 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1203 "DirectPhotoPage.c" + } +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1207 "DirectPhotoPage.c" +} + + +static void _vala_array_add98 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1218 "DirectPhotoPage.c" + } +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1222 "DirectPhotoPage.c" +} + + +static void _single_photo_page_on_previous_photo_gtk_action_callback (GtkAction* action, gpointer self) { +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + single_photo_page_on_previous_photo ((SinglePhotoPage*) self); +#line 1229 "DirectPhotoPage.c" +} + + +static void _vala_array_add99 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 88 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 88 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 88 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1240 "DirectPhotoPage.c" + } +#line 88 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1244 "DirectPhotoPage.c" +} + + +static void _single_photo_page_on_next_photo_gtk_action_callback (GtkAction* action, gpointer self) { +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + single_photo_page_on_next_photo ((SinglePhotoPage*) self); +#line 1251 "DirectPhotoPage.c" +} + + +static void _vala_array_add100 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1262 "DirectPhotoPage.c" + } +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1266 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_rotate_clockwise_gtk_action_callback (GtkAction* action, gpointer self) { +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_rotate_clockwise ((EditingHostPage*) self); +#line 1273 "DirectPhotoPage.c" +} + + +static void _vala_array_add101 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1284 "DirectPhotoPage.c" + } +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1288 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_rotate_counterclockwise_gtk_action_callback (GtkAction* action, gpointer self) { +#line 102 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_rotate_counterclockwise ((EditingHostPage*) self); +#line 1295 "DirectPhotoPage.c" +} + + +static void _vala_array_add102 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 106 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 106 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 106 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1306 "DirectPhotoPage.c" + } +#line 106 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1310 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_flip_horizontally_gtk_action_callback (GtkAction* action, gpointer self) { +#line 108 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_flip_horizontally ((EditingHostPage*) self); +#line 1317 "DirectPhotoPage.c" +} + + +static void _vala_array_add103 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1328 "DirectPhotoPage.c" + } +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1332 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_flip_vertically_gtk_action_callback (GtkAction* action, gpointer self) { +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_flip_vertically ((EditingHostPage*) self); +#line 1339 "DirectPhotoPage.c" +} + + +static void _vala_array_add104 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1350 "DirectPhotoPage.c" + } +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1354 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_enhance_gtk_action_callback (GtkAction* action, gpointer self) { +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_enhance ((EditingHostPage*) self); +#line 1361 "DirectPhotoPage.c" +} + + +static void _vala_array_add105 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 122 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 122 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 122 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1372 "DirectPhotoPage.c" + } +#line 122 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1376 "DirectPhotoPage.c" +} + + +static void _editing_host_page_toggle_crop_gtk_action_callback (GtkAction* action, gpointer self) { +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_toggle_crop ((EditingHostPage*) self); +#line 1383 "DirectPhotoPage.c" +} + + +static void _vala_array_add106 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 128 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 128 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 128 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1394 "DirectPhotoPage.c" + } +#line 128 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1398 "DirectPhotoPage.c" +} + + +static void _editing_host_page_toggle_straighten_gtk_action_callback (GtkAction* action, gpointer self) { +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_toggle_straighten ((EditingHostPage*) self); +#line 1405 "DirectPhotoPage.c" +} + + +static void _vala_array_add107 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 134 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 134 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 134 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1416 "DirectPhotoPage.c" + } +#line 134 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1420 "DirectPhotoPage.c" +} + + +static void _editing_host_page_toggle_redeye_gtk_action_callback (GtkAction* action, gpointer self) { +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_toggle_redeye ((EditingHostPage*) self); +#line 1427 "DirectPhotoPage.c" +} + + +static void _vala_array_add108 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 140 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 140 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 140 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1438 "DirectPhotoPage.c" + } +#line 140 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1442 "DirectPhotoPage.c" +} + + +static void _editing_host_page_toggle_adjust_gtk_action_callback (GtkAction* action, gpointer self) { +#line 142 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_toggle_adjust ((EditingHostPage*) self); +#line 1449 "DirectPhotoPage.c" +} + + +static void _vala_array_add109 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 146 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 146 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 146 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1460 "DirectPhotoPage.c" + } +#line 146 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1464 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_revert_gtk_action_callback (GtkAction* action, gpointer self) { +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_revert ((EditingHostPage*) self); +#line 1471 "DirectPhotoPage.c" +} + + +static void _vala_array_add110 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 151 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 151 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 151 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1482 "DirectPhotoPage.c" + } +#line 151 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1486 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_adjust_date_time_gtk_action_callback (GtkAction* action, gpointer self) { +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_adjust_date_time ((EditingHostPage*) self); +#line 1493 "DirectPhotoPage.c" +} + + +static void _vala_array_add111 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 156 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 156 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 156 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1504 "DirectPhotoPage.c" + } +#line 156 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1508 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_set_background_gtk_action_callback (GtkAction* action, gpointer self) { +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_set_background ((EditingHostPage*) self); +#line 1515 "DirectPhotoPage.c" +} + + +static void _vala_array_add112 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1526 "DirectPhotoPage.c" + } +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1530 "DirectPhotoPage.c" +} + + +static void _vala_array_add113 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1541 "DirectPhotoPage.c" + } +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1545 "DirectPhotoPage.c" +} + + +static void _vala_array_add114 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1556 "DirectPhotoPage.c" + } +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1560 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_increase_size_gtk_action_callback (GtkAction* action, gpointer self) { +#line 172 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_increase_size ((EditingHostPage*) self); +#line 1567 "DirectPhotoPage.c" +} + + +static void _vala_array_add115 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 176 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 176 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 176 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1578 "DirectPhotoPage.c" + } +#line 176 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1582 "DirectPhotoPage.c" +} + + +static void _editing_host_page_on_decrease_size_gtk_action_callback (GtkAction* action, gpointer self) { +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_on_decrease_size ((EditingHostPage*) self); +#line 1589 "DirectPhotoPage.c" +} + + +static void _vala_array_add116 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1600 "DirectPhotoPage.c" + } +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1604 "DirectPhotoPage.c" +} + + +static void _editing_host_page_snap_zoom_to_min_gtk_action_callback (GtkAction* action, gpointer self) { +#line 184 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_snap_zoom_to_min ((EditingHostPage*) self); +#line 1611 "DirectPhotoPage.c" +} + + +static void _vala_array_add117 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1622 "DirectPhotoPage.c" + } +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1626 "DirectPhotoPage.c" +} + + +static void _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback (GtkAction* action, gpointer self) { +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_snap_zoom_to_isomorphic ((EditingHostPage*) self); +#line 1633 "DirectPhotoPage.c" +} + + +static void _vala_array_add118 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 196 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 196 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 196 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1644 "DirectPhotoPage.c" + } +#line 196 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1648 "DirectPhotoPage.c" +} + + +static void _editing_host_page_snap_zoom_to_max_gtk_action_callback (GtkAction* action, gpointer self) { +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_snap_zoom_to_max ((EditingHostPage*) self); +#line 1655 "DirectPhotoPage.c" +} + + +static void _vala_array_add119 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1666 "DirectPhotoPage.c" + } +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = *value; +#line 1670 "DirectPhotoPage.c" +} + + +static GtkActionEntry* direct_photo_page_real_init_collect_action_entries (Page* base, int* result_length1) { + DirectPhotoPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry file = {0}; + GtkActionEntry _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; + GtkActionEntry* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry save = {0}; + GtkActionEntry _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionEntry _tmp10_ = {0}; + GtkActionEntry save_as = {0}; + GtkActionEntry _tmp11_ = {0}; + const gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GtkActionEntry* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + GtkActionEntry _tmp15_ = {0}; + GtkActionEntry send_to = {0}; + GtkActionEntry _tmp16_ = {0}; + GtkActionEntry* _tmp17_ = NULL; + gint _tmp17__length1 = 0; + GtkActionEntry _tmp18_ = {0}; + GtkActionEntry print = {0}; + GtkActionEntry _tmp19_ = {0}; + const gchar* _tmp20_ = NULL; + GtkActionEntry* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GtkActionEntry _tmp22_ = {0}; + GtkActionEntry edit = {0}; + GtkActionEntry _tmp23_ = {0}; + const gchar* _tmp24_ = NULL; + GtkActionEntry* _tmp25_ = NULL; + gint _tmp25__length1 = 0; + GtkActionEntry _tmp26_ = {0}; + GtkActionEntry photo = {0}; + GtkActionEntry _tmp27_ = {0}; + const gchar* _tmp28_ = NULL; + GtkActionEntry* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + GtkActionEntry _tmp30_ = {0}; + GtkActionEntry tools = {0}; + GtkActionEntry _tmp31_ = {0}; + const gchar* _tmp32_ = NULL; + GtkActionEntry* _tmp33_ = NULL; + gint _tmp33__length1 = 0; + GtkActionEntry _tmp34_ = {0}; + GtkActionEntry prev = {0}; + GtkActionEntry _tmp35_ = {0}; + const gchar* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + GtkActionEntry* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + GtkActionEntry _tmp39_ = {0}; + GtkActionEntry next = {0}; + GtkActionEntry _tmp40_ = {0}; + const gchar* _tmp41_ = NULL; + const gchar* _tmp42_ = NULL; + GtkActionEntry* _tmp43_ = NULL; + gint _tmp43__length1 = 0; + GtkActionEntry _tmp44_ = {0}; + GtkActionEntry rotate_right = {0}; + GtkActionEntry _tmp45_ = {0}; + GtkActionEntry* _tmp46_ = NULL; + gint _tmp46__length1 = 0; + GtkActionEntry _tmp47_ = {0}; + GtkActionEntry rotate_left = {0}; + GtkActionEntry _tmp48_ = {0}; + GtkActionEntry* _tmp49_ = NULL; + gint _tmp49__length1 = 0; + GtkActionEntry _tmp50_ = {0}; + GtkActionEntry hflip = {0}; + GtkActionEntry _tmp51_ = {0}; + GtkActionEntry* _tmp52_ = NULL; + gint _tmp52__length1 = 0; + GtkActionEntry _tmp53_ = {0}; + GtkActionEntry vflip = {0}; + GtkActionEntry _tmp54_ = {0}; + GtkActionEntry* _tmp55_ = NULL; + gint _tmp55__length1 = 0; + GtkActionEntry _tmp56_ = {0}; + GtkActionEntry enhance = {0}; + GtkActionEntry _tmp57_ = {0}; + GtkActionEntry* _tmp58_ = NULL; + gint _tmp58__length1 = 0; + GtkActionEntry _tmp59_ = {0}; + GtkActionEntry crop = {0}; + GtkActionEntry _tmp60_ = {0}; + GtkActionEntry* _tmp61_ = NULL; + gint _tmp61__length1 = 0; + GtkActionEntry _tmp62_ = {0}; + GtkActionEntry straighten = {0}; + GtkActionEntry _tmp63_ = {0}; + GtkActionEntry* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + GtkActionEntry _tmp65_ = {0}; + GtkActionEntry red_eye = {0}; + GtkActionEntry _tmp66_ = {0}; + GtkActionEntry* _tmp67_ = NULL; + gint _tmp67__length1 = 0; + GtkActionEntry _tmp68_ = {0}; + GtkActionEntry adjust = {0}; + GtkActionEntry _tmp69_ = {0}; + GtkActionEntry* _tmp70_ = NULL; + gint _tmp70__length1 = 0; + GtkActionEntry _tmp71_ = {0}; + GtkActionEntry revert = {0}; + GtkActionEntry _tmp72_ = {0}; + GtkActionEntry* _tmp73_ = NULL; + gint _tmp73__length1 = 0; + GtkActionEntry _tmp74_ = {0}; + GtkActionEntry adjust_date_time = {0}; + GtkActionEntry _tmp75_ = {0}; + GtkActionEntry* _tmp76_ = NULL; + gint _tmp76__length1 = 0; + GtkActionEntry _tmp77_ = {0}; + GtkActionEntry set_background = {0}; + GtkActionEntry _tmp78_ = {0}; + GtkActionEntry* _tmp79_ = NULL; + gint _tmp79__length1 = 0; + GtkActionEntry _tmp80_ = {0}; + GtkActionEntry view = {0}; + GtkActionEntry _tmp81_ = {0}; + const gchar* _tmp82_ = NULL; + GtkActionEntry* _tmp83_ = NULL; + gint _tmp83__length1 = 0; + GtkActionEntry _tmp84_ = {0}; + GtkActionEntry help = {0}; + GtkActionEntry _tmp85_ = {0}; + const gchar* _tmp86_ = NULL; + GtkActionEntry* _tmp87_ = NULL; + gint _tmp87__length1 = 0; + GtkActionEntry _tmp88_ = {0}; + GtkActionEntry increase_size = {0}; + GtkActionEntry _tmp89_ = {0}; + const gchar* _tmp90_ = NULL; + const gchar* _tmp91_ = NULL; + GtkActionEntry* _tmp92_ = NULL; + gint _tmp92__length1 = 0; + GtkActionEntry _tmp93_ = {0}; + GtkActionEntry decrease_size = {0}; + GtkActionEntry _tmp94_ = {0}; + const gchar* _tmp95_ = NULL; + const gchar* _tmp96_ = NULL; + GtkActionEntry* _tmp97_ = NULL; + gint _tmp97__length1 = 0; + GtkActionEntry _tmp98_ = {0}; + GtkActionEntry best_fit = {0}; + GtkActionEntry _tmp99_ = {0}; + const gchar* _tmp100_ = NULL; + const gchar* _tmp101_ = NULL; + GtkActionEntry* _tmp102_ = NULL; + gint _tmp102__length1 = 0; + GtkActionEntry _tmp103_ = {0}; + GtkActionEntry actual_size = {0}; + GtkActionEntry _tmp104_ = {0}; + const gchar* _tmp105_ = NULL; + const gchar* _tmp106_ = NULL; + GtkActionEntry* _tmp107_ = NULL; + gint _tmp107__length1 = 0; + GtkActionEntry _tmp108_ = {0}; + GtkActionEntry max_size = {0}; + GtkActionEntry _tmp109_ = {0}; + const gchar* _tmp110_ = NULL; + const gchar* _tmp111_ = NULL; + GtkActionEntry* _tmp112_ = NULL; + gint _tmp112__length1 = 0; + GtkActionEntry _tmp113_ = {0}; + GtkActionEntry* _tmp114_ = NULL; + gint _tmp114__length1 = 0; +#line 42 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 43 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = PAGE_CLASS (direct_photo_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), &_tmp0_); +#line 43 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + actions = _tmp1_; +#line 43 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + actions_length1 = _tmp0_; +#line 43 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _actions_size_ = actions_length1; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_.name = "FileMenu"; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_.stock_id = NULL; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_.accelerator = NULL; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_.tooltip = NULL; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_.callback = (GCallback) NULL; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + file = _tmp2_; +#line 46 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = _ ("_File"); +#line 46 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + file.label = _tmp3_; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = actions; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4__length1 = actions_length1; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = file; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add91 (&actions, &actions_length1, &_actions_size_, &_tmp5_); +#line 49 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_.name = "Save"; +#line 49 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_.stock_id = RESOURCES_SAVE_LABEL; +#line 49 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_.label = TRANSLATABLE; +#line 49 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_.accelerator = "S"; +#line 49 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_.tooltip = TRANSLATABLE; +#line 49 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_.callback = (GCallback) _direct_photo_page_on_save_gtk_action_callback; +#line 49 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + save = _tmp6_; +#line 51 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = _ ("_Save"); +#line 51 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + save.label = _tmp7_; +#line 52 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = _ ("Save photo"); +#line 52 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + save.tooltip = _tmp8_; +#line 53 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = actions; +#line 53 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9__length1 = actions_length1; +#line 53 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = save; +#line 53 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add92 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 55 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_.name = "SaveAs"; +#line 55 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_.stock_id = RESOURCES_SAVE_AS_LABEL; +#line 55 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_.label = TRANSLATABLE; +#line 55 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_.accelerator = "S"; +#line 55 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_.tooltip = TRANSLATABLE; +#line 55 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_.callback = (GCallback) _direct_photo_page_on_save_as_gtk_action_callback; +#line 55 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + save_as = _tmp11_; +#line 57 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = _ ("Save _As..."); +#line 57 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + save_as.label = _tmp12_; +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = _ ("Save photo with a different name"); +#line 58 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + save_as.tooltip = _tmp13_; +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = actions; +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14__length1 = actions_length1; +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = save_as; +#line 59 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add93 (&actions, &actions_length1, &_actions_size_, &_tmp15_); +#line 61 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_.name = "SendTo"; +#line 61 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_.stock_id = "document-send"; +#line 61 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_.label = TRANSLATABLE; +#line 61 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_.accelerator = NULL; +#line 61 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_.tooltip = TRANSLATABLE; +#line 61 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_.callback = (GCallback) _direct_photo_page_on_send_to_gtk_action_callback; +#line 61 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + send_to = _tmp16_; +#line 63 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + send_to.label = RESOURCES_SEND_TO_MENU; +#line 64 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = actions; +#line 64 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17__length1 = actions_length1; +#line 64 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp18_ = send_to; +#line 64 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add94 (&actions, &actions_length1, &_actions_size_, &_tmp18_); +#line 66 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_.name = "Print"; +#line 66 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_.stock_id = RESOURCES_PRINT_LABEL; +#line 66 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_.label = TRANSLATABLE; +#line 66 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_.accelerator = "P"; +#line 66 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_.tooltip = TRANSLATABLE; +#line 66 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_.callback = (GCallback) _direct_photo_page_on_print_gtk_action_callback; +#line 66 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + print = _tmp19_; +#line 68 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + print.label = RESOURCES_PRINT_MENU; +#line 69 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp20_ = _ ("Print the photo to a printer connected to your computer"); +#line 69 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + print.tooltip = _tmp20_; +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp21_ = actions; +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp21__length1 = actions_length1; +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22_ = print; +#line 70 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add95 (&actions, &actions_length1, &_actions_size_, &_tmp22_); +#line 72 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_.name = "EditMenu"; +#line 72 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_.stock_id = NULL; +#line 72 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_.label = TRANSLATABLE; +#line 72 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_.accelerator = NULL; +#line 72 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_.tooltip = NULL; +#line 72 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_.callback = (GCallback) NULL; +#line 72 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + edit = _tmp23_; +#line 73 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24_ = _ ("_Edit"); +#line 73 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + edit.label = _tmp24_; +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25_ = actions; +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25__length1 = actions_length1; +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp26_ = edit; +#line 74 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add96 (&actions, &actions_length1, &_actions_size_, &_tmp26_); +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_.name = "PhotoMenu"; +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_.stock_id = NULL; +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_.label = ""; +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_.accelerator = NULL; +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_.tooltip = NULL; +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_.callback = (GCallback) NULL; +#line 76 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + photo = _tmp27_; +#line 77 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp28_ = _ ("_Photo"); +#line 77 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + photo.label = _tmp28_; +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp29_ = actions; +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp29__length1 = actions_length1; +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp30_ = photo; +#line 78 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add97 (&actions, &actions_length1, &_actions_size_, &_tmp30_); +#line 80 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_.name = "Tools"; +#line 80 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_.stock_id = NULL; +#line 80 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_.label = TRANSLATABLE; +#line 80 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_.accelerator = NULL; +#line 80 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_.tooltip = NULL; +#line 80 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_.callback = (GCallback) NULL; +#line 80 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + tools = _tmp31_; +#line 81 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp32_ = _ ("T_ools"); +#line 81 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + tools.label = _tmp32_; +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp33_ = actions; +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp33__length1 = actions_length1; +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp34_ = tools; +#line 82 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add98 (&actions, &actions_length1, &_actions_size_, &_tmp34_); +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_.name = "PrevPhoto"; +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_.stock_id = RESOURCES_PREVIOUS_LABEL; +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_.label = TRANSLATABLE; +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_.accelerator = NULL; +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_.tooltip = TRANSLATABLE; +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_.callback = (GCallback) _single_photo_page_on_previous_photo_gtk_action_callback; +#line 84 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + prev = _tmp35_; +#line 86 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp36_ = _ ("_Previous Photo"); +#line 86 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + prev.label = _tmp36_; +#line 87 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp37_ = _ ("Previous Photo"); +#line 87 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + prev.tooltip = _tmp37_; +#line 88 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp38_ = actions; +#line 88 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp38__length1 = actions_length1; +#line 88 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp39_ = prev; +#line 88 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add99 (&actions, &actions_length1, &_actions_size_, &_tmp39_); +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp40_.name = "NextPhoto"; +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp40_.stock_id = RESOURCES_NEXT_LABEL; +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp40_.label = TRANSLATABLE; +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp40_.accelerator = NULL; +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp40_.tooltip = TRANSLATABLE; +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp40_.callback = (GCallback) _single_photo_page_on_next_photo_gtk_action_callback; +#line 90 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + next = _tmp40_; +#line 92 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp41_ = _ ("_Next Photo"); +#line 92 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + next.label = _tmp41_; +#line 93 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp42_ = _ ("Next Photo"); +#line 93 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + next.tooltip = _tmp42_; +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp43_ = actions; +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp43__length1 = actions_length1; +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp44_ = next; +#line 94 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add100 (&actions, &actions_length1, &_actions_size_, &_tmp44_); +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp45_.name = "RotateClockwise"; +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp45_.stock_id = RESOURCES_CLOCKWISE; +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp45_.label = TRANSLATABLE; +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp45_.accelerator = "R"; +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp45_.tooltip = TRANSLATABLE; +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp45_.callback = (GCallback) _editing_host_page_on_rotate_clockwise_gtk_action_callback; +#line 96 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + rotate_right = _tmp45_; +#line 98 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + rotate_right.label = RESOURCES_ROTATE_CW_MENU; +#line 99 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + rotate_right.tooltip = RESOURCES_ROTATE_CCW_TOOLTIP; +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp46_ = actions; +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp46__length1 = actions_length1; +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp47_ = rotate_right; +#line 100 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add101 (&actions, &actions_length1, &_actions_size_, &_tmp47_); +#line 102 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp48_.name = "RotateCounterclockwise"; +#line 102 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp48_.stock_id = RESOURCES_COUNTERCLOCKWISE; +#line 102 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp48_.label = TRANSLATABLE; +#line 102 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp48_.accelerator = "R"; +#line 102 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp48_.tooltip = TRANSLATABLE; +#line 102 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp48_.callback = (GCallback) _editing_host_page_on_rotate_counterclockwise_gtk_action_callback; +#line 102 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + rotate_left = _tmp48_; +#line 104 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + rotate_left.label = RESOURCES_ROTATE_CCW_MENU; +#line 105 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + rotate_left.tooltip = RESOURCES_ROTATE_CCW_TOOLTIP; +#line 106 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp49_ = actions; +#line 106 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp49__length1 = actions_length1; +#line 106 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp50_ = rotate_left; +#line 106 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add102 (&actions, &actions_length1, &_actions_size_, &_tmp50_); +#line 108 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp51_.name = "FlipHorizontally"; +#line 108 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp51_.stock_id = RESOURCES_HFLIP; +#line 108 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp51_.label = TRANSLATABLE; +#line 108 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp51_.accelerator = NULL; +#line 108 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp51_.tooltip = TRANSLATABLE; +#line 108 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp51_.callback = (GCallback) _editing_host_page_on_flip_horizontally_gtk_action_callback; +#line 108 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + hflip = _tmp51_; +#line 110 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + hflip.label = RESOURCES_HFLIP_MENU; +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp52_ = actions; +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp52__length1 = actions_length1; +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp53_ = hflip; +#line 111 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add103 (&actions, &actions_length1, &_actions_size_, &_tmp53_); +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp54_.name = "FlipVertically"; +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp54_.stock_id = RESOURCES_VFLIP; +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp54_.label = TRANSLATABLE; +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp54_.accelerator = NULL; +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp54_.tooltip = TRANSLATABLE; +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp54_.callback = (GCallback) _editing_host_page_on_flip_vertically_gtk_action_callback; +#line 113 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + vflip = _tmp54_; +#line 115 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + vflip.label = RESOURCES_VFLIP_MENU; +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp55_ = actions; +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp55__length1 = actions_length1; +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp56_ = vflip; +#line 116 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add104 (&actions, &actions_length1, &_actions_size_, &_tmp56_); +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp57_.name = "Enhance"; +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp57_.stock_id = RESOURCES_ENHANCE; +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp57_.label = TRANSLATABLE; +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp57_.accelerator = "E"; +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp57_.tooltip = TRANSLATABLE; +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp57_.callback = (GCallback) _editing_host_page_on_enhance_gtk_action_callback; +#line 118 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + enhance = _tmp57_; +#line 120 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + enhance.label = RESOURCES_ENHANCE_MENU; +#line 121 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + enhance.tooltip = RESOURCES_ENHANCE_TOOLTIP; +#line 122 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp58_ = actions; +#line 122 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp58__length1 = actions_length1; +#line 122 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp59_ = enhance; +#line 122 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add105 (&actions, &actions_length1, &_actions_size_, &_tmp59_); +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp60_.name = "Crop"; +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp60_.stock_id = RESOURCES_CROP; +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp60_.label = TRANSLATABLE; +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp60_.accelerator = "O"; +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp60_.tooltip = TRANSLATABLE; +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp60_.callback = (GCallback) _editing_host_page_toggle_crop_gtk_action_callback; +#line 124 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + crop = _tmp60_; +#line 126 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + crop.label = RESOURCES_CROP_MENU; +#line 127 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + crop.tooltip = RESOURCES_CROP_TOOLTIP; +#line 128 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp61_ = actions; +#line 128 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp61__length1 = actions_length1; +#line 128 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp62_ = crop; +#line 128 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add106 (&actions, &actions_length1, &_actions_size_, &_tmp62_); +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp63_.name = "Straighten"; +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp63_.stock_id = RESOURCES_REFRESH_LABEL; +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp63_.label = TRANSLATABLE; +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp63_.accelerator = "A"; +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp63_.tooltip = TRANSLATABLE; +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp63_.callback = (GCallback) _editing_host_page_toggle_straighten_gtk_action_callback; +#line 130 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + straighten = _tmp63_; +#line 132 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + straighten.label = RESOURCES_STRAIGHTEN_MENU; +#line 133 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + straighten.tooltip = RESOURCES_STRAIGHTEN_TOOLTIP; +#line 134 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp64_ = actions; +#line 134 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp64__length1 = actions_length1; +#line 134 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp65_ = straighten; +#line 134 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add107 (&actions, &actions_length1, &_actions_size_, &_tmp65_); +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp66_.name = "RedEye"; +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp66_.stock_id = RESOURCES_REDEYE; +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp66_.label = TRANSLATABLE; +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp66_.accelerator = "Y"; +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp66_.tooltip = TRANSLATABLE; +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp66_.callback = (GCallback) _editing_host_page_toggle_redeye_gtk_action_callback; +#line 136 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + red_eye = _tmp66_; +#line 138 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + red_eye.label = RESOURCES_RED_EYE_MENU; +#line 139 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + red_eye.tooltip = RESOURCES_RED_EYE_TOOLTIP; +#line 140 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp67_ = actions; +#line 140 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp67__length1 = actions_length1; +#line 140 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp68_ = red_eye; +#line 140 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add108 (&actions, &actions_length1, &_actions_size_, &_tmp68_); +#line 142 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp69_.name = "Adjust"; +#line 142 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp69_.stock_id = RESOURCES_ADJUST; +#line 142 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp69_.label = TRANSLATABLE; +#line 142 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp69_.accelerator = "D"; +#line 142 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp69_.tooltip = TRANSLATABLE; +#line 142 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp69_.callback = (GCallback) _editing_host_page_toggle_adjust_gtk_action_callback; +#line 142 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + adjust = _tmp69_; +#line 144 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + adjust.label = RESOURCES_ADJUST_MENU; +#line 145 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + adjust.tooltip = RESOURCES_ADJUST_TOOLTIP; +#line 146 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp70_ = actions; +#line 146 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp70__length1 = actions_length1; +#line 146 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp71_ = adjust; +#line 146 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add109 (&actions, &actions_length1, &_actions_size_, &_tmp71_); +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp72_.name = "Revert"; +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp72_.stock_id = RESOURCES_REVERT_LABEL; +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp72_.label = TRANSLATABLE; +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp72_.accelerator = NULL; +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp72_.tooltip = TRANSLATABLE; +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp72_.callback = (GCallback) _editing_host_page_on_revert_gtk_action_callback; +#line 148 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + revert = _tmp72_; +#line 150 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + revert.label = RESOURCES_REVERT_MENU; +#line 151 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp73_ = actions; +#line 151 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp73__length1 = actions_length1; +#line 151 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp74_ = revert; +#line 151 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add110 (&actions, &actions_length1, &_actions_size_, &_tmp74_); +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp75_.name = "AdjustDateTime"; +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp75_.stock_id = NULL; +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp75_.label = TRANSLATABLE; +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp75_.accelerator = NULL; +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp75_.tooltip = TRANSLATABLE; +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp75_.callback = (GCallback) _editing_host_page_on_adjust_date_time_gtk_action_callback; +#line 153 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + adjust_date_time = _tmp75_; +#line 155 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + adjust_date_time.label = RESOURCES_ADJUST_DATE_TIME_MENU; +#line 156 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp76_ = actions; +#line 156 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp76__length1 = actions_length1; +#line 156 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp77_ = adjust_date_time; +#line 156 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add111 (&actions, &actions_length1, &_actions_size_, &_tmp77_); +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp78_.name = "SetBackground"; +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp78_.stock_id = NULL; +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp78_.label = TRANSLATABLE; +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp78_.accelerator = "B"; +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp78_.tooltip = TRANSLATABLE; +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp78_.callback = (GCallback) _editing_host_page_on_set_background_gtk_action_callback; +#line 158 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + set_background = _tmp78_; +#line 160 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + set_background.label = RESOURCES_SET_BACKGROUND_MENU; +#line 161 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + set_background.tooltip = RESOURCES_SET_BACKGROUND_TOOLTIP; +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp79_ = actions; +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp79__length1 = actions_length1; +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp80_ = set_background; +#line 162 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add112 (&actions, &actions_length1, &_actions_size_, &_tmp80_); +#line 164 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp81_.name = "ViewMenu"; +#line 164 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp81_.stock_id = NULL; +#line 164 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp81_.label = TRANSLATABLE; +#line 164 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp81_.accelerator = NULL; +#line 164 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp81_.tooltip = NULL; +#line 164 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp81_.callback = (GCallback) NULL; +#line 164 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + view = _tmp81_; +#line 165 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp82_ = _ ("_View"); +#line 165 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + view.label = _tmp82_; +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp83_ = actions; +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp83__length1 = actions_length1; +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp84_ = view; +#line 166 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add113 (&actions, &actions_length1, &_actions_size_, &_tmp84_); +#line 168 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp85_.name = "HelpMenu"; +#line 168 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp85_.stock_id = NULL; +#line 168 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp85_.label = TRANSLATABLE; +#line 168 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp85_.accelerator = NULL; +#line 168 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp85_.tooltip = NULL; +#line 168 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp85_.callback = (GCallback) NULL; +#line 168 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + help = _tmp85_; +#line 169 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp86_ = _ ("_Help"); +#line 169 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + help.label = _tmp86_; +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp87_ = actions; +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp87__length1 = actions_length1; +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp88_ = help; +#line 170 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add114 (&actions, &actions_length1, &_actions_size_, &_tmp88_); +#line 172 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp89_.name = "IncreaseSize"; +#line 172 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp89_.stock_id = RESOURCES_ZOOM_IN_LABEL; +#line 172 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp89_.label = TRANSLATABLE; +#line 172 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp89_.accelerator = "plus"; +#line 172 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp89_.tooltip = TRANSLATABLE; +#line 172 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp89_.callback = (GCallback) _editing_host_page_on_increase_size_gtk_action_callback; +#line 172 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + increase_size = _tmp89_; +#line 174 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp90_ = _ ("Zoom _In"); +#line 174 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + increase_size.label = _tmp90_; +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp91_ = _ ("Increase the magnification of the photo"); +#line 175 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + increase_size.tooltip = _tmp91_; +#line 176 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp92_ = actions; +#line 176 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp92__length1 = actions_length1; +#line 176 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp93_ = increase_size; +#line 176 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add115 (&actions, &actions_length1, &_actions_size_, &_tmp93_); +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp94_.name = "DecreaseSize"; +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp94_.stock_id = RESOURCES_ZOOM_OUT_LABEL; +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp94_.label = TRANSLATABLE; +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp94_.accelerator = "minus"; +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp94_.tooltip = TRANSLATABLE; +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp94_.callback = (GCallback) _editing_host_page_on_decrease_size_gtk_action_callback; +#line 178 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + decrease_size = _tmp94_; +#line 180 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp95_ = _ ("Zoom _Out"); +#line 180 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + decrease_size.label = _tmp95_; +#line 181 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp96_ = _ ("Decrease the magnification of the photo"); +#line 181 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + decrease_size.tooltip = _tmp96_; +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp97_ = actions; +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp97__length1 = actions_length1; +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp98_ = decrease_size; +#line 182 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add116 (&actions, &actions_length1, &_actions_size_, &_tmp98_); +#line 184 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp99_.name = "ZoomFit"; +#line 184 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp99_.stock_id = RESOURCES_ZOOM_FIT_LABEL; +#line 184 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp99_.label = TRANSLATABLE; +#line 184 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp99_.accelerator = "0"; +#line 184 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp99_.tooltip = TRANSLATABLE; +#line 184 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp99_.callback = (GCallback) _editing_host_page_snap_zoom_to_min_gtk_action_callback; +#line 184 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + best_fit = _tmp99_; +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp100_ = _ ("Fit to _Page"); +#line 186 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + best_fit.label = _tmp100_; +#line 187 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp101_ = _ ("Zoom the photo to fit on the screen"); +#line 187 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + best_fit.tooltip = _tmp101_; +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp102_ = actions; +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp102__length1 = actions_length1; +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp103_ = best_fit; +#line 188 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add117 (&actions, &actions_length1, &_actions_size_, &_tmp103_); +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp104_.name = "Zoom100"; +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp104_.stock_id = RESOURCES_ZOOM_100_LABEL; +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp104_.label = TRANSLATABLE; +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp104_.accelerator = "1"; +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp104_.tooltip = TRANSLATABLE; +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp104_.callback = (GCallback) _editing_host_page_snap_zoom_to_isomorphic_gtk_action_callback; +#line 190 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + actual_size = _tmp104_; +#line 193 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp105_ = _ ("Zoom _100%"); +#line 193 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + actual_size.label = _tmp105_; +#line 195 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp106_ = _ ("Zoom the photo to 100% magnification"); +#line 195 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + actual_size.tooltip = _tmp106_; +#line 196 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp107_ = actions; +#line 196 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp107__length1 = actions_length1; +#line 196 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp108_ = actual_size; +#line 196 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add118 (&actions, &actions_length1, &_actions_size_, &_tmp108_); +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp109_.name = "Zoom200"; +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp109_.stock_id = NULL; +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp109_.label = TRANSLATABLE; +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp109_.accelerator = "2"; +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp109_.tooltip = TRANSLATABLE; +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp109_.callback = (GCallback) _editing_host_page_snap_zoom_to_max_gtk_action_callback; +#line 198 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + max_size = _tmp109_; +#line 201 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp110_ = _ ("Zoom _200%"); +#line 201 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + max_size.label = _tmp110_; +#line 203 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp111_ = _ ("Zoom the photo to 200% magnification"); +#line 203 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + max_size.tooltip = _tmp111_; +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp112_ = actions; +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp112__length1 = actions_length1; +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp113_ = max_size; +#line 204 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add119 (&actions, &actions_length1, &_actions_size_, &_tmp113_); +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp114_ = actions; +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp114__length1 = actions_length1; +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (result_length1) { +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *result_length1 = _tmp114__length1; +#line 2654 "DirectPhotoPage.c" + } +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = _tmp114_; +#line 206 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 2660 "DirectPhotoPage.c" +} + + +static gpointer _injection_group_ref0 (gpointer self) { +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return self ? injection_group_ref (self) : NULL; +#line 2667 "DirectPhotoPage.c" +} + + +static void _vala_array_add120 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 2678 "DirectPhotoPage.c" + } +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = value; +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[*length] = NULL; +#line 2684 "DirectPhotoPage.c" +} + + +static void _vala_array_add121 (InjectionGroup*** array, int* length, int* size, InjectionGroup* value) { +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if ((*length) == (*size)) { +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *array = g_renew (InjectionGroup*, *array, (*size) + 1); +#line 2695 "DirectPhotoPage.c" + } +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[(*length)++] = value; +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + (*array)[*length] = NULL; +#line 2701 "DirectPhotoPage.c" +} + + +static InjectionGroup** direct_photo_page_real_init_collect_injection_groups (Page* base, int* result_length1) { + DirectPhotoPage * self; + InjectionGroup** result = NULL; + InjectionGroup** groups = NULL; + gint _tmp0_ = 0; + InjectionGroup** _tmp1_ = NULL; + gint groups_length1 = 0; + gint _groups_size_ = 0; + InjectionGroup* print_group = NULL; + InjectionGroup* _tmp2_ = NULL; + InjectionGroup** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + InjectionGroup* _tmp4_ = NULL; + InjectionGroup* bg_group = NULL; + InjectionGroup* _tmp5_ = NULL; + InjectionGroup** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + InjectionGroup* _tmp7_ = NULL; + InjectionGroup** _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 209 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 210 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = PAGE_CLASS (direct_photo_page_parent_class)->init_collect_injection_groups (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), &_tmp0_); +#line 210 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + groups = _tmp1_; +#line 210 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + groups_length1 = _tmp0_; +#line 210 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _groups_size_ = groups_length1; +#line 212 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = injection_group_new ("/MenuBar/FileMenu/PrintPlaceholder"); +#line 212 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + print_group = _tmp2_; +#line 213 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + injection_group_add_menu_item (print_group, "Print", NULL); +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = groups; +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3__length1 = groups_length1; +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = _injection_group_ref0 (print_group); +#line 215 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add120 (&groups, &groups_length1, &_groups_size_, _tmp4_); +#line 217 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = injection_group_new ("/MenuBar/FileMenu/SetBackgroundPlaceholder"); +#line 217 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + bg_group = _tmp5_; +#line 218 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + injection_group_add_menu_item (bg_group, "SetBackground", NULL); +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = groups; +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6__length1 = groups_length1; +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = _injection_group_ref0 (bg_group); +#line 220 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _vala_array_add121 (&groups, &groups_length1, &_groups_size_, _tmp7_); +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = groups; +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8__length1 = groups_length1; +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (result_length1) { +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + *result_length1 = _tmp8__length1; +#line 2771 "DirectPhotoPage.c" + } +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = _tmp8_; +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _injection_group_unref0 (bg_group); +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _injection_group_unref0 (print_group); +#line 222 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 2781 "DirectPhotoPage.c" +} + + +static gboolean direct_photo_page_check_editable_file (GFile* file) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 225 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = file; +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = _tmp1_; +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = g_file_test (_tmp2_, G_FILE_TEST_EXISTS); +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = !_tmp3_; +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp2_); +#line 226 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp4_) { +#line 2808 "DirectPhotoPage.c" + const gchar* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = _ ("%s does not exist."); +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = file; +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = _tmp7_; +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = g_strdup_printf (_tmp5_, _tmp8_); +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = _tmp9_; +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + app_window_error_message (_tmp10_, NULL); +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp10_); +#line 227 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp8_); +#line 2833 "DirectPhotoPage.c" + } else { + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; +#line 228 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = file; +#line 228 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 228 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = _tmp12_; +#line 228 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = g_file_test (_tmp13_, G_FILE_TEST_IS_REGULAR); +#line 228 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = !_tmp14_; +#line 228 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp13_); +#line 228 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp15_) { +#line 2854 "DirectPhotoPage.c" + const gchar* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_ = _ ("%s is not a file."); +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = file; +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp18_ = g_file_get_path (_tmp17_); +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_ = _tmp18_; +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp20_ = g_strdup_printf (_tmp16_, _tmp19_); +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp21_ = _tmp20_; +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + app_window_error_message (_tmp21_, NULL); +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp21_); +#line 229 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp19_); +#line 2879 "DirectPhotoPage.c" + } else { + GFile* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 230 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22_ = file; +#line 230 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_ = photo_file_format_is_file_supported (_tmp22_); +#line 230 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (!_tmp23_) { +#line 2889 "DirectPhotoPage.c" + const gchar* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24_ = _ ("%s does not support the file format of\n%s."); +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25_ = file; +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp26_ = g_file_get_path (_tmp25_); +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_ = _tmp26_; +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp28_ = g_strdup_printf (_tmp24_, RESOURCES_APP_TITLE, _tmp27_); +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp29_ = _tmp28_; +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + app_window_error_message (_tmp29_, NULL); +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp29_); +#line 231 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp27_); +#line 2914 "DirectPhotoPage.c" + } else { +#line 234 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = TRUE; +#line 234 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 2920 "DirectPhotoPage.c" + } + } + } +#line 236 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = FALSE; +#line 236 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 2928 "DirectPhotoPage.c" +} + + +static void direct_photo_page_real_realize (GtkWidget* base) { + DirectPhotoPage * self; + DirectPhoto* photo = NULL; + DirectPhotoSourceCollection* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + DirectPhoto* _tmp2_ = NULL; + DirectPhoto* _tmp3_ = NULL; +#line 239 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 240 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (GTK_WIDGET_CLASS (direct_photo_page_parent_class)->realize != NULL) { +#line 241 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + GTK_WIDGET_CLASS (direct_photo_page_parent_class)->realize (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), gtk_widget_get_type (), GtkWidget)); +#line 2945 "DirectPhotoPage.c" + } +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = direct_photo_global; +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = self->priv->initial_file; +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = direct_photo_source_collection_get_file_source (_tmp0_, _tmp1_); +#line 243 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + photo = _tmp2_; +#line 245 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = photo; +#line 245 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp3_ != NULL) { +#line 2959 "DirectPhotoPage.c" + DirectViewCollection* _tmp4_ = NULL; + DirectPhoto* _tmp5_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = self->priv->view_controller; +#line 246 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = photo; +#line 246 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_display_mirror_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_VIEW_COLLECTION, ViewCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PHOTO, Photo)); +#line 2968 "DirectPhotoPage.c" + } else { + const gchar* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = _ ("Unable open photo %s. Sorry."); +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = self->priv->initial_file; +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = g_file_get_path (_tmp7_); +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = _tmp8_; +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = g_strdup_printf (_tmp6_, _tmp9_); +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = _tmp10_; +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + app_window_panic (_tmp11_); +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp11_); +#line 248 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp9_); +#line 2994 "DirectPhotoPage.c" + } +#line 251 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (self->priv->initial_file); +#line 251 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->initial_file = NULL; +#line 239 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (photo); +#line 3002 "DirectPhotoPage.c" +} + + +static void _direct_photo_page_on_dphoto_can_rotate_changed_direct_photo_can_rotate_changed (DirectPhoto* _sender, gboolean b, gpointer self) { +#line 259 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_on_dphoto_can_rotate_changed ((DirectPhotoPage*) self, b); +#line 3009 "DirectPhotoPage.c" +} + + +static void direct_photo_page_real_photo_changing (EditingHostPage* base, Photo* new_photo) { + DirectPhotoPage * self; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + Photo* _tmp8_ = NULL; + DirectPhoto* tmp = NULL; + Photo* _tmp9_ = NULL; + DirectPhoto* _tmp10_ = NULL; + DirectPhoto* _tmp11_ = NULL; +#line 254 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 254 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_PHOTO (new_photo)); +#line 255 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 255 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = _tmp0_; +#line 255 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = _tmp1_ != NULL; +#line 255 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 255 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp2_) { +#line 3037 "DirectPhotoPage.c" + DirectPhoto* tmp = NULL; + Photo* _tmp3_ = NULL; + DirectPhoto* _tmp4_ = NULL; + DirectPhoto* _tmp5_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, TYPE_DIRECT_PHOTO) ? ((DirectPhoto*) _tmp3_) : NULL; +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp4_ == NULL) { +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 3050 "DirectPhotoPage.c" + } +#line 256 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + tmp = _tmp4_; +#line 258 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = tmp; +#line 258 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp5_ != NULL) { +#line 3058 "DirectPhotoPage.c" + DirectPhoto* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 259 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = tmp; +#line 259 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_signal_parse_name ("can-rotate-changed", TYPE_DIRECT_PHOTO, &_tmp7_, NULL, FALSE); +#line 259 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _direct_photo_page_on_dphoto_can_rotate_changed_direct_photo_can_rotate_changed, self); +#line 3067 "DirectPhotoPage.c" + } +#line 255 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (tmp); +#line 3071 "DirectPhotoPage.c" + } +#line 263 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = new_photo; +#line 263 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_demand_load (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DIRECT_PHOTO, DirectPhoto)); +#line 265 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = new_photo; +#line 265 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_DIRECT_PHOTO) ? ((DirectPhoto*) _tmp9_) : NULL); +#line 265 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + tmp = _tmp10_; +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = tmp; +#line 267 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp11_ != NULL) { +#line 3087 "DirectPhotoPage.c" + DirectPhoto* _tmp12_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = tmp; +#line 268 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_signal_connect_object (_tmp12_, "can-rotate-changed", (GCallback) _direct_photo_page_on_dphoto_can_rotate_changed_direct_photo_can_rotate_changed, self, 0); +#line 3093 "DirectPhotoPage.c" + } +#line 254 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (tmp); +#line 3097 "DirectPhotoPage.c" +} + + +GFile* direct_photo_page_get_current_file (DirectPhotoPage* self) { + GFile* result = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO_PAGE (self), NULL); +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = _tmp0_; +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = _tmp2_; +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = _tmp3_; +#line 273 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 3123 "DirectPhotoPage.c" +} + + +static gboolean direct_photo_page_real_on_context_buttonpress (Page* base, GdkEventButton* event) { + DirectPhotoPage * self; + gboolean result = FALSE; + GtkMenu* context_menu = NULL; + GtkUIManager* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; + GtkMenu* _tmp2_ = NULL; + GdkEventButton* _tmp3_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 276 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 277 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)->ui; +#line 277 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = gtk_ui_manager_get_widget (_tmp0_, "/DirectContextMenu"); +#line 277 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_menu_get_type (), GtkMenu)); +#line 277 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + context_menu = _tmp2_; +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = event; +#line 278 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_popup_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), context_menu, _tmp3_); +#line 280 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = TRUE; +#line 280 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (context_menu); +#line 280 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 3157 "DirectPhotoPage.c" +} + + +static void direct_photo_page_update_zoom_menu_item_sensitivity (DirectPhotoPage* self) { + gboolean _tmp0_ = FALSE; + ZoomState _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + gboolean _tmp4_ = FALSE; + ZoomState _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; +#line 283 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp1_); +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = zoom_state_is_max (&_tmp1_); +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (!_tmp2_) { +#line 3176 "DirectPhotoPage.c" + gboolean _tmp3_ = FALSE; +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = !_tmp3_; +#line 3182 "DirectPhotoPage.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = FALSE; +#line 3186 "DirectPhotoPage.c" + } +#line 284 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize", _tmp0_); +#line 285 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + single_photo_page_get_zoom_state (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), &_tmp5_); +#line 285 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = zoom_state_is_default (&_tmp5_); +#line 285 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (!_tmp6_) { +#line 3196 "DirectPhotoPage.c" + gboolean _tmp7_ = FALSE; +#line 285 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 285 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = !_tmp7_; +#line 3202 "DirectPhotoPage.c" + } else { +#line 285 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = FALSE; +#line 3206 "DirectPhotoPage.c" + } +#line 285 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize", _tmp4_); +#line 3210 "DirectPhotoPage.c" +} + + +static void direct_photo_page_real_on_increase_size (EditingHostPage* base) { + DirectPhotoPage * self; +#line 288 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 289 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + EDITING_HOST_PAGE_CLASS (direct_photo_page_parent_class)->on_increase_size (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 291 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_update_zoom_menu_item_sensitivity (self); +#line 3222 "DirectPhotoPage.c" +} + + +static void direct_photo_page_real_on_decrease_size (EditingHostPage* base) { + DirectPhotoPage * self; +#line 294 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 295 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + EDITING_HOST_PAGE_CLASS (direct_photo_page_parent_class)->on_decrease_size (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 297 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_update_zoom_menu_item_sensitivity (self); +#line 3234 "DirectPhotoPage.c" +} + + +static void direct_photo_page_on_photos_altered (DirectPhotoPage* self, GeeMap* map) { + gboolean contains = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + gboolean sensitive = FALSE; + gboolean _tmp17_ = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + gboolean _tmp25_ = FALSE; +#line 300 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 300 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 301 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + contains = FALSE; +#line 302 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 302 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp0_) { +#line 3258 "DirectPhotoPage.c" + Photo* photo = NULL; + Photo* _tmp1_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 303 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + photo = _tmp1_; +#line 3265 "DirectPhotoPage.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = map; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = gee_map_get_keys (_tmp2_); +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = _tmp3_; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = _tmp4_; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = _tmp6_; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp5_); +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _object_it = _tmp7_; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + while (TRUE) { +#line 3292 "DirectPhotoPage.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + DataObject* _tmp12_ = NULL; + Photo* _tmp13_ = NULL; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = _object_it; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (!_tmp9_) { +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + break; +#line 3308 "DirectPhotoPage.c" + } +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = _object_it; +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + object = (DataObject*) _tmp11_; +#line 305 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = object; +#line 305 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = photo; +#line 305 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO, Photo) == _tmp13_) { +#line 306 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + contains = TRUE; +#line 308 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (object); +#line 308 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + break; +#line 3328 "DirectPhotoPage.c" + } +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (object); +#line 3332 "DirectPhotoPage.c" + } +#line 304 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_object_it); +#line 3336 "DirectPhotoPage.c" + } +#line 302 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (photo); +#line 3340 "DirectPhotoPage.c" + } +#line 313 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 313 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp15_) { +#line 3346 "DirectPhotoPage.c" + gboolean _tmp16_ = FALSE; +#line 313 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 313 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = !_tmp16_; +#line 3352 "DirectPhotoPage.c" + } else { +#line 313 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = FALSE; +#line 3356 "DirectPhotoPage.c" + } +#line 313 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + sensitive = _tmp14_; +#line 314 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = sensitive; +#line 314 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp17_) { +#line 3364 "DirectPhotoPage.c" + gboolean _tmp18_ = FALSE; +#line 315 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp18_ = contains; +#line 315 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + sensitive = _tmp18_; +#line 3370 "DirectPhotoPage.c" + } +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp20_ = sensitive; +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp20_) { +#line 3376 "DirectPhotoPage.c" + Photo* _tmp21_ = NULL; + Photo* _tmp22_ = NULL; + PhotoFileFormat _tmp23_ = 0; + gboolean _tmp24_ = FALSE; +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp21_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22_ = _tmp21_; +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_ = photo_get_file_format (_tmp22_); +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24_ = photo_file_format_can_write (_tmp23_); +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_ = _tmp24_; +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp22_); +#line 3393 "DirectPhotoPage.c" + } else { +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_ = FALSE; +#line 3397 "DirectPhotoPage.c" + } +#line 317 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Save", _tmp19_); +#line 318 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25_ = sensitive; +#line 318 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp25_); +#line 3405 "DirectPhotoPage.c" +} + + +static void direct_photo_page_on_selection_group_altered (DirectPhotoPage* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#line 321 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 328 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 328 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = _tmp0_; +#line 328 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + command_manager_reset (_tmp1_); +#line 328 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _command_manager_unref0 (_tmp1_); +#line 3422 "DirectPhotoPage.c" +} + + +static gboolean direct_photo_page_real_on_double_click (EditingHostPage* base, GdkEventButton* event) { + DirectPhotoPage * self; + gboolean result = FALSE; + FullscreenWindow* fs = NULL; + GtkWindow* _tmp0_ = NULL; + FullscreenWindow* _tmp1_ = NULL; + FullscreenWindow* _tmp2_ = NULL; + GdkEventButton* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 331 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 331 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 332 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = page_get_container (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 332 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FULLSCREEN_WINDOW) ? ((FullscreenWindow*) _tmp0_) : NULL; +#line 332 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp1_ == NULL) { +#line 332 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp0_); +#line 3447 "DirectPhotoPage.c" + } +#line 332 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + fs = _tmp1_; +#line 333 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = fs; +#line 333 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp2_ != NULL) { +#line 3455 "DirectPhotoPage.c" + FullscreenWindow* _tmp3_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = fs; +#line 334 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + fullscreen_window_close (_tmp3_); +#line 336 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = TRUE; +#line 336 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (fs); +#line 336 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 3467 "DirectPhotoPage.c" + } +#line 339 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = event; +#line 339 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = EDITING_HOST_PAGE_CLASS (direct_photo_page_parent_class)->on_double_click (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp4_); +#line 339 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = _tmp5_; +#line 339 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (fs); +#line 339 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 3479 "DirectPhotoPage.c" +} + + +static void direct_photo_page_real_update_ui (EditingHostPage* base, gboolean missing) { + DirectPhotoPage * self; + gboolean sensitivity = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + gboolean _tmp21_ = FALSE; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp29_ = FALSE; +#line 342 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 343 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = missing; +#line 343 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + sensitivity = !_tmp0_; +#line 345 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = sensitivity; +#line 345 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Save", _tmp1_); +#line 346 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = sensitivity; +#line 346 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SaveAs", _tmp2_); +#line 347 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = sensitivity; +#line 347 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SendTo", _tmp3_); +#line 348 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = sensitivity; +#line 348 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Publish", _tmp4_); +#line 349 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = sensitivity; +#line 349 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Print", _tmp5_); +#line 350 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = sensitivity; +#line 350 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonJumpToFile", _tmp6_); +#line 352 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = sensitivity; +#line 352 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonUndo", _tmp7_); +#line 353 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = sensitivity; +#line 353 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonRedo", _tmp8_); +#line 355 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = sensitivity; +#line 355 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "IncreaseSize", _tmp9_); +#line 356 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = sensitivity; +#line 356 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DecreaseSize", _tmp10_); +#line 357 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = sensitivity; +#line 357 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "ZoomFit", _tmp11_); +#line 358 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = sensitivity; +#line 358 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Zoom100", _tmp12_); +#line 359 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = sensitivity; +#line 359 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Zoom200", _tmp13_); +#line 361 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = sensitivity; +#line 361 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", _tmp14_); +#line 362 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = sensitivity; +#line 362 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", _tmp15_); +#line 363 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_ = sensitivity; +#line 363 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipHorizontally", _tmp16_); +#line 364 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = sensitivity; +#line 364 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipVertically", _tmp17_); +#line 365 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp18_ = sensitivity; +#line 365 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Enhance", _tmp18_); +#line 366 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_ = sensitivity; +#line 366 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Crop", _tmp19_); +#line 367 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp20_ = sensitivity; +#line 367 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Straighten", _tmp20_); +#line 368 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp21_ = sensitivity; +#line 368 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RedEye", _tmp21_); +#line 369 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22_ = sensitivity; +#line 369 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Adjust", _tmp22_); +#line 370 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_ = sensitivity; +#line 370 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp23_); +#line 371 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24_ = sensitivity; +#line 371 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AdjustDateTime", _tmp24_); +#line 372 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25_ = sensitivity; +#line 372 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Fullscreen", _tmp25_); +#line 374 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 374 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp27_) { +#line 3625 "DirectPhotoPage.c" + gboolean _tmp28_ = FALSE; +#line 374 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp28_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 374 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp26_ = !_tmp28_; +#line 3631 "DirectPhotoPage.c" + } else { +#line 374 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp26_ = FALSE; +#line 3635 "DirectPhotoPage.c" + } +#line 374 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", _tmp26_); +#line 376 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp29_ = missing; +#line 376 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + EDITING_HOST_PAGE_CLASS (direct_photo_page_parent_class)->update_ui (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp29_); +#line 3643 "DirectPhotoPage.c" +} + + +static void direct_photo_page_real_update_actions (Page* base, gint selected_count, gint count) { + DirectPhotoPage * self; + gboolean multiple = FALSE; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gboolean revert_possible = FALSE; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + gboolean rotate_possible = FALSE; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; + gboolean enhance_possible = FALSE; + gboolean _tmp22_ = FALSE; + gboolean _tmp23_ = FALSE; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; + Photo* _tmp40_ = NULL; + Photo* _tmp41_ = NULL; + gboolean _tmp42_ = FALSE; + gint _tmp46_ = 0; + gint _tmp47_ = 0; +#line 379 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 380 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 380 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = _tmp0_; +#line 380 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_COLLECTION, DataCollection)); +#line 380 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = _tmp2_ > 1; +#line 380 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 380 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + multiple = _tmp3_; +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp5_) { +#line 3696 "DirectPhotoPage.c" + gboolean _tmp6_ = FALSE; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = _tmp7_; +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = photo_has_transformations (_tmp8_); +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = _tmp9_; +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp10_) { +#line 3714 "DirectPhotoPage.c" + gboolean _tmp11_ = FALSE; +#line 382 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 382 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = !_tmp11_; +#line 3720 "DirectPhotoPage.c" + } else { +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = FALSE; +#line 3724 "DirectPhotoPage.c" + } +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = _tmp6_; +#line 3728 "DirectPhotoPage.c" + } else { +#line 382 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = FALSE; +#line 3732 "DirectPhotoPage.c" + } +#line 381 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + revert_possible = _tmp4_; +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp13_) { +#line 3740 "DirectPhotoPage.c" + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = _tmp14_; +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_ = editing_host_page_is_rotate_available (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp15_); +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = _tmp16_; +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp15_); +#line 3754 "DirectPhotoPage.c" + } else { +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = FALSE; +#line 3758 "DirectPhotoPage.c" + } +#line 383 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + rotate_possible = _tmp12_; +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp18_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp18_) { +#line 3766 "DirectPhotoPage.c" + Photo* _tmp19_ = NULL; + Photo* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp20_ = _tmp19_; +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp21_ = editing_host_page_is_enhance_available (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp20_); +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = _tmp21_; +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp20_); +#line 3780 "DirectPhotoPage.c" + } else { +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = FALSE; +#line 3784 "DirectPhotoPage.c" + } +#line 384 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + enhance_possible = _tmp17_; +#line 386 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22_ = multiple; +#line 386 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "PrevPhoto", _tmp22_); +#line 387 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_ = multiple; +#line 387 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "NextPhoto", _tmp23_); +#line 388 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24_ = rotate_possible; +#line 388 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise", _tmp24_); +#line 389 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25_ = rotate_possible; +#line 389 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateCounterclockwise", _tmp25_); +#line 390 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp26_ = rotate_possible; +#line 390 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipHorizontally", _tmp26_); +#line 391 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_ = rotate_possible; +#line 391 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "FlipVertically", _tmp27_); +#line 392 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp28_ = revert_possible; +#line 392 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Revert", _tmp28_); +#line 393 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp29_ = enhance_possible; +#line 393 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Enhance", _tmp29_); +#line 395 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp30_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 395 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "SetBackground", _tmp30_); +#line 397 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 397 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp31_) { +#line 3828 "DirectPhotoPage.c" + Photo* _tmp32_ = NULL; + Photo* _tmp33_ = NULL; + Scaling _tmp34_ = {0}; + gboolean _tmp35_ = FALSE; + Photo* _tmp36_ = NULL; + Photo* _tmp37_ = NULL; + Scaling _tmp38_ = {0}; + gboolean _tmp39_ = FALSE; +#line 398 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp32_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 398 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp33_ = _tmp32_; +#line 398 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + scaling_for_original (&_tmp34_); +#line 398 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_ = editing_tools_crop_tool_is_available (_tmp33_, &_tmp34_); +#line 398 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Crop", _tmp35_); +#line 398 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp33_); +#line 399 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp36_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 399 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp37_ = _tmp36_; +#line 399 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + scaling_for_original (&_tmp38_); +#line 399 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp39_ = editing_tools_redeye_tool_is_available (_tmp37_, &_tmp38_); +#line 399 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RedEye", _tmp39_); +#line 399 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp37_); +#line 3861 "DirectPhotoPage.c" + } +#line 405 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp40_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 405 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp41_ = _tmp40_; +#line 405 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp42_ = _tmp41_ != NULL; +#line 405 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp41_); +#line 405 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp42_) { +#line 3873 "DirectPhotoPage.c" + Photo* _tmp43_ = NULL; + Photo* _tmp44_ = NULL; + PhotoFileFormat _tmp45_ = 0; +#line 406 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp43_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 406 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp44_ = _tmp43_; +#line 406 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp45_ = photo_get_file_format (_tmp44_); +#line 406 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AdjustDateTime", _tmp45_ != PHOTO_FILE_FORMAT_RAW); +#line 406 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp44_); +#line 3887 "DirectPhotoPage.c" + } else { +#line 408 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "AdjustDateTime", FALSE); +#line 3891 "DirectPhotoPage.c" + } +#line 411 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp46_ = selected_count; +#line 411 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp47_ = count; +#line 411 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + PAGE_CLASS (direct_photo_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp46_, _tmp47_); +#line 3899 "DirectPhotoPage.c" +} + + +static gboolean direct_photo_page_check_ok_to_close_photo (DirectPhotoPage* self, Photo* photo) { + gboolean result = FALSE; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean is_writeable = FALSE; + Photo* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + PhotoFileFormat _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + const gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gchar* save_option = NULL; + gchar* _tmp14_ = NULL; + GtkResponseType response = 0; + const gchar* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + GtkResponseType _tmp23_ = 0; + GtkResponseType _tmp24_ = 0; + GtkResponseType _tmp25_ = 0; +#line 414 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO_PAGE (self), FALSE); +#line 414 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail ((photo == NULL) || IS_PHOTO (photo), FALSE); +#line 417 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = photo; +#line 417 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp0_ == NULL) { +#line 418 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = TRUE; +#line 418 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 3943 "DirectPhotoPage.c" + } +#line 420 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = photo; +#line 420 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = photo_has_alterations (_tmp1_); +#line 420 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (!_tmp2_) { +#line 421 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = TRUE; +#line 421 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 3955 "DirectPhotoPage.c" + } +#line 423 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = self->priv->drop_if_dirty; +#line 423 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp3_) { +#line 3961 "DirectPhotoPage.c" + Photo* _tmp4_ = NULL; +#line 426 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = photo; +#line 426 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + photo_remove_all_transformations (_tmp4_); +#line 428 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = TRUE; +#line 428 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 3971 "DirectPhotoPage.c" + } +#line 431 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 431 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = _tmp5_; +#line 431 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = photo_get_file_format (_tmp6_); +#line 431 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = photo_file_format_can_write (_tmp7_); +#line 431 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = _tmp8_; +#line 431 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp6_); +#line 431 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + is_writeable = _tmp9_; +#line 432 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = is_writeable; +#line 432 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp11_) { +#line 3991 "DirectPhotoPage.c" + const gchar* _tmp12_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = _ ("_Save"); +#line 432 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = _tmp12_; +#line 3997 "DirectPhotoPage.c" + } else { + const gchar* _tmp13_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = _ ("_Save a Copy"); +#line 432 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = _tmp13_; +#line 4004 "DirectPhotoPage.c" + } +#line 432 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = g_strdup (_tmp10_); +#line 432 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + save_option = _tmp14_; +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = _ ("Lose changes to %s?"); +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_ = photo; +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = media_source_get_basename (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp18_ = _tmp17_; +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_ = g_strdup_printf (_tmp15_, _tmp18_); +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp20_ = _tmp19_; +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp21_ = save_option; +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22_ = _ ("Close _without Saving"); +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_ = app_window_negate_affirm_cancel_question (_tmp20_, _tmp21_, _tmp22_, NULL, NULL); +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24_ = _tmp23_; +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp20_); +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp18_); +#line 434 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + response = _tmp24_; +#line 438 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25_ = response; +#line 438 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp25_ == GTK_RESPONSE_YES) { +#line 4040 "DirectPhotoPage.c" + Photo* _tmp26_ = NULL; +#line 439 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp26_ = photo; +#line 439 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + photo_remove_all_transformations (_tmp26_); +#line 4046 "DirectPhotoPage.c" + } else { + GtkResponseType _tmp27_ = 0; +#line 440 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_ = response; +#line 440 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp27_ == GTK_RESPONSE_NO) { +#line 4053 "DirectPhotoPage.c" + gboolean _tmp28_ = FALSE; +#line 441 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp28_ = is_writeable; +#line 441 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp28_) { +#line 4059 "DirectPhotoPage.c" + Photo* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; + Photo* _tmp32_ = NULL; + Photo* _tmp33_ = NULL; + PhotoFileFormat _tmp34_ = 0; +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp29_ = photo; +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp30_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_ = _tmp30_; +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp32_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp33_ = _tmp32_; +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp34_ = photo_get_file_format (_tmp33_); +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_save (self, _tmp31_, 0, SCALE_CONSTRAINT_ORIGINAL, JPEG_QUALITY_HIGH, _tmp34_, FALSE, TRUE); +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp33_); +#line 442 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp31_); +#line 4084 "DirectPhotoPage.c" + } else { +#line 445 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_on_save_as (self); +#line 4088 "DirectPhotoPage.c" + } + } else { + gboolean _tmp35_ = FALSE; + gboolean _tmp36_ = FALSE; + GtkResponseType _tmp37_ = 0; +#line 446 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp37_ = response; +#line 446 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp37_ == GTK_RESPONSE_CANCEL) { +#line 446 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp36_ = TRUE; +#line 4100 "DirectPhotoPage.c" + } else { + GtkResponseType _tmp38_ = 0; +#line 446 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp38_ = response; +#line 446 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp36_ = _tmp38_ == GTK_RESPONSE_DELETE_EVENT; +#line 4107 "DirectPhotoPage.c" + } +#line 446 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp36_) { +#line 446 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_ = TRUE; +#line 4113 "DirectPhotoPage.c" + } else { + GtkResponseType _tmp39_ = 0; +#line 447 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp39_ = response; +#line 447 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_ = _tmp39_ == GTK_RESPONSE_CLOSE; +#line 4120 "DirectPhotoPage.c" + } +#line 446 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp35_) { +#line 448 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = FALSE; +#line 448 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (save_option); +#line 448 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 4130 "DirectPhotoPage.c" + } + } + } +#line 451 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = TRUE; +#line 451 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (save_option); +#line 451 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 4140 "DirectPhotoPage.c" +} + + +gboolean direct_photo_page_check_quit (DirectPhotoPage* self) { + gboolean result = FALSE; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 454 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO_PAGE (self), FALSE); +#line 455 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 455 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = _tmp0_; +#line 455 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = direct_photo_page_check_ok_to_close_photo (self, _tmp1_); +#line 455 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = _tmp2_; +#line 455 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp1_); +#line 455 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = _tmp3_; +#line 455 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 4166 "DirectPhotoPage.c" +} + + +static gboolean direct_photo_page_real_confirm_replace_photo (EditingHostPage* base, Photo* old_photo, Photo* new_photo) { + DirectPhotoPage * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + Photo* _tmp1_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 458 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail ((old_photo == NULL) || IS_PHOTO (old_photo), FALSE); +#line 458 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (IS_PHOTO (new_photo), FALSE); +#line 459 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = old_photo; +#line 459 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp1_ != NULL) { +#line 4185 "DirectPhotoPage.c" + Photo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 459 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = old_photo; +#line 459 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = direct_photo_page_check_ok_to_close_photo (self, _tmp2_); +#line 459 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = _tmp3_; +#line 4194 "DirectPhotoPage.c" + } else { +#line 459 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = TRUE; +#line 4198 "DirectPhotoPage.c" + } +#line 459 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = _tmp0_; +#line 459 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 4204 "DirectPhotoPage.c" +} + + +static void direct_photo_page_save (DirectPhotoPage* self, GFile* dest, gint scale, ScaleConstraint constraint, JpegQuality quality, PhotoFileFormat format, gboolean copy_unmodified, gboolean save_metadata) { + Scaling scaling = {0}; + ScaleConstraint _tmp0_ = 0; + gint _tmp1_ = 0; + Scaling _tmp2_ = {0}; + DirectPhoto* photo = NULL; + DirectPhotoSourceCollection* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + DirectPhoto* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + DirectView* tmp_view = NULL; + DirectPhoto* _tmp24_ = NULL; + DirectView* _tmp25_ = NULL; + DirectViewCollection* _tmp26_ = NULL; + DirectView* _tmp27_ = NULL; + DirectPhotoSourceCollection* _tmp28_ = NULL; + DirectPhoto* _tmp29_ = NULL; + DirectViewCollection* _tmp30_ = NULL; + DirectPhoto* _tmp31_ = NULL; + GError * _inner_error_ = NULL; +#line 462 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 462 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (G_IS_FILE (dest)); +#line 464 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = constraint; +#line 464 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = scale; +#line 464 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + scaling_for_constraint (_tmp0_, _tmp1_, FALSE, &_tmp2_); +#line 464 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + scaling = _tmp2_; +#line 4241 "DirectPhotoPage.c" + { + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + Scaling _tmp6_ = {0}; + JpegQuality _tmp7_ = 0; + PhotoFileFormat _tmp8_ = 0; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = _tmp3_; +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = dest; +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = scaling; +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = quality; +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = format; +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = copy_unmodified; +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = save_metadata; +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + photo_export (_tmp4_, _tmp5_, &_tmp6_, _tmp7_, _tmp8_, _tmp9_, _tmp10_, &_inner_error_); +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 467 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4273 "DirectPhotoPage.c" + goto __catch45_g_error; + } + } + goto __finally45; + __catch45_g_error: + { + GError* err = NULL; + const gchar* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 466 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + err = _inner_error_; +#line 466 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _inner_error_ = NULL; +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = _ ("Error while saving to %s: %s"); +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = dest; +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = g_file_get_path (_tmp12_); +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = _tmp13_; +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = err; +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_ = _tmp15_->message; +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = g_strdup_printf (_tmp11_, _tmp14_, _tmp16_); +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp18_ = _tmp17_; +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + app_window_error_message (_tmp18_, NULL); +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp18_); +#line 469 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp14_); +#line 472 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_error_free0 (err); +#line 472 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return; +#line 4319 "DirectPhotoPage.c" + } + __finally45: +#line 466 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 466 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.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 466 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_clear_error (&_inner_error_); +#line 466 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return; +#line 4330 "DirectPhotoPage.c" + } +#line 477 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_ = direct_photo_global; +#line 477 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp20_ = dest; +#line 477 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22_ = direct_photo_source_collection_fetch (_tmp19_, _tmp20_, &_tmp21_, TRUE); +#line 477 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (photo); +#line 477 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + photo = _tmp21_; +#line 477 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_ = _tmp22_; +#line 477 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp23_); +#line 479 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24_ = photo; +#line 479 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25_ = direct_view_new (_tmp24_); +#line 479 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + tmp_view = _tmp25_; +#line 480 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp26_ = self->priv->view_controller; +#line 480 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_ = tmp_view; +#line 480 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_DATA_OBJECT, DataObject)); +#line 482 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp28_ = direct_photo_global; +#line 482 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp29_ = photo; +#line 482 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_source_collection_reimport_photo (_tmp28_, _tmp29_); +#line 483 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp30_ = self->priv->view_controller; +#line 483 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_ = photo; +#line 483 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_display_mirror_of (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_VIEW_COLLECTION, ViewCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_PHOTO, Photo)); +#line 462 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (tmp_view); +#line 462 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (photo); +#line 4374 "DirectPhotoPage.c" +} + + +static void direct_photo_page_on_save (DirectPhotoPage* self) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + Photo* _tmp11_ = NULL; + Photo* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; + PhotoFileFormat _tmp17_ = 0; +#line 486 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = _tmp2_; +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = photo_has_alterations (_tmp3_); +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = !_tmp4_; +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp3_); +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp5_) { +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = TRUE; +#line 4408 "DirectPhotoPage.c" + } else { + Photo* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; + gboolean _tmp9_ = FALSE; +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = _tmp6_; +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = photo_get_file_format (_tmp7_); +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = photo_file_format_can_write (_tmp8_); +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = !_tmp9_; +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp7_); +#line 4426 "DirectPhotoPage.c" + } +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp1_) { +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = TRUE; +#line 4432 "DirectPhotoPage.c" + } else { + gboolean _tmp10_ = FALSE; +#line 488 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = editing_host_page_get_photo_missing (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 488 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = _tmp10_; +#line 4439 "DirectPhotoPage.c" + } +#line 487 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp0_) { +#line 489 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return; +#line 4445 "DirectPhotoPage.c" + } +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = _tmp11_; +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = _tmp13_; +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_ = _tmp15_; +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = photo_get_file_format (_tmp16_); +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_save (self, _tmp14_, 0, SCALE_CONSTRAINT_ORIGINAL, JPEG_QUALITY_HIGH, _tmp17_, FALSE, TRUE); +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp16_); +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp14_); +#line 492 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp12_); +#line 4469 "DirectPhotoPage.c" +} + + +static void direct_photo_page_on_save_as (DirectPhotoPage* self) { + ExportDialog* export_dialog = NULL; + const gchar* _tmp0_ = NULL; + ExportDialog* _tmp1_ = NULL; + gint scale = 0; + ScaleConstraint constraint = 0; + ExportFormatParameters export_params = {0}; + ExportFormatParameters _tmp2_ = {0}; + ExportDialog* _tmp3_ = NULL; + gint _tmp4_ = 0; + ScaleConstraint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gchar* filename = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + ExportFormatParameters _tmp9_ = {0}; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + PhotoFileFormat effective_export_format = 0; + Photo* _tmp12_ = NULL; + Photo* _tmp13_ = NULL; + ExportFormatParameters _tmp14_ = {0}; + PhotoFileFormat _tmp15_ = 0; + PhotoFileFormat _tmp16_ = 0; + gchar** output_format_extensions = NULL; + PhotoFileFormat _tmp17_ = 0; + PhotoFileFormatProperties* _tmp18_ = NULL; + PhotoFileFormatProperties* _tmp19_ = NULL; + gint _tmp20_ = 0; + gchar** _tmp21_ = NULL; + gchar** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint output_format_extensions_length1 = 0; + gint _output_format_extensions_size_ = 0; + GtkFileFilter* output_format_filter = NULL; + GtkFileFilter* _tmp23_ = NULL; + gchar** _tmp24_ = NULL; + gint _tmp24__length1 = 0; + GtkFileChooserDialog* save_as_dialog = NULL; + const gchar* _tmp36_ = NULL; + AppWindow* _tmp37_ = NULL; + AppWindow* _tmp38_ = NULL; + GtkFileChooserDialog* _tmp39_ = NULL; + GtkFileChooserDialog* _tmp40_ = NULL; + GtkFileChooserDialog* _tmp41_ = NULL; + GtkFileChooserDialog* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + GtkFileChooserDialog* _tmp44_ = NULL; + GFile* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + GtkFileChooserDialog* _tmp48_ = NULL; + GtkFileFilter* _tmp49_ = NULL; + GtkFileFilter* _tmp50_ = NULL; + GtkFileChooserDialog* _tmp51_ = NULL; + GtkFileChooserDialog* _tmp52_ = NULL; + gint response = 0; + GtkFileChooserDialog* _tmp53_ = NULL; + gint _tmp54_ = 0; + gint _tmp55_ = 0; + GtkFileChooserDialog* _tmp74_ = NULL; +#line 496 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 497 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = _ ("Save As"); +#line 497 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = export_dialog_new (_tmp0_); +#line 497 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_object_ref_sink (_tmp1_); +#line 497 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + export_dialog = _tmp1_; +#line 501 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + export_format_parameters_last (&_tmp2_); +#line 501 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + export_params = _tmp2_; +#line 502 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = export_dialog; +#line 502 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = export_dialog_execute (_tmp3_, &_tmp4_, &_tmp5_, &export_params); +#line 502 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + scale = _tmp4_; +#line 502 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + constraint = _tmp5_; +#line 502 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (!_tmp6_) { +#line 503 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (export_dialog); +#line 503 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return; +#line 4562 "DirectPhotoPage.c" + } +#line 505 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 505 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = _tmp7_; +#line 505 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = export_params; +#line 505 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp10_ = photo_get_export_basename_for_parameters (_tmp8_, &_tmp9_); +#line 505 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp11_ = _tmp10_; +#line 505 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp8_); +#line 505 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + filename = _tmp11_; +#line 506 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp12_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 506 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp13_ = _tmp12_; +#line 506 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp14_ = export_params; +#line 506 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp15_ = photo_get_export_format_for_parameters (_tmp13_, &_tmp14_); +#line 506 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp16_ = _tmp15_; +#line 506 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp13_); +#line 506 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + effective_export_format = _tmp16_; +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp17_ = effective_export_format; +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp18_ = photo_file_format_get_properties (_tmp17_); +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp19_ = _tmp18_; +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp21_ = photo_file_format_properties_get_known_extensions (_tmp19_, &_tmp20_); +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22_ = _tmp21_; +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp22__length1 = _tmp20_; +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _photo_file_format_properties_unref0 (_tmp19_); +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + output_format_extensions = _tmp22_; +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + output_format_extensions_length1 = _tmp22__length1; +#line 509 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _output_format_extensions_size_ = output_format_extensions_length1; +#line 511 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp23_ = gtk_file_filter_new (); +#line 511 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_object_ref_sink (_tmp23_); +#line 511 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + output_format_filter = _tmp23_; +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24_ = output_format_extensions; +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp24__length1 = output_format_extensions_length1; +#line 4622 "DirectPhotoPage.c" + { + gchar** extension_collection = NULL; + gint extension_collection_length1 = 0; + gint _extension_collection_size_ = 0; + gint extension_it = 0; +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + extension_collection = _tmp24_; +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + extension_collection_length1 = _tmp24__length1; +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + for (extension_it = 0; extension_it < _tmp24__length1; extension_it = extension_it + 1) { +#line 4634 "DirectPhotoPage.c" + gchar* _tmp25_ = NULL; + gchar* extension = NULL; +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp25_ = g_strdup (extension_collection[extension_it]); +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + extension = _tmp25_; +#line 4641 "DirectPhotoPage.c" + { + gchar* uppercase_extension = NULL; + const gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + GtkFileFilter* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + GtkFileFilter* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp26_ = extension; +#line 513 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp27_ = g_utf8_strup (_tmp26_, (gssize) -1); +#line 513 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + uppercase_extension = _tmp27_; +#line 514 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp28_ = output_format_filter; +#line 514 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp29_ = extension; +#line 514 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp30_ = g_strconcat ("*.", _tmp29_, NULL); +#line 514 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp31_ = _tmp30_; +#line 514 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_file_filter_add_pattern (_tmp28_, _tmp31_); +#line 514 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp31_); +#line 515 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp32_ = output_format_filter; +#line 515 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp33_ = uppercase_extension; +#line 515 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp34_ = g_strconcat ("*.", _tmp33_, NULL); +#line 515 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp35_ = _tmp34_; +#line 515 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_file_filter_add_pattern (_tmp32_, _tmp35_); +#line 515 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp35_); +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (uppercase_extension); +#line 512 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (extension); +#line 4688 "DirectPhotoPage.c" + } + } + } +#line 518 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp36_ = _ ("Save As"); +#line 518 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp37_ = app_window_get_instance (); +#line 518 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp38_ = _tmp37_; +#line 518 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp39_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_window_get_type (), GtkWindow), GTK_FILE_CHOOSER_ACTION_SAVE, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_OK_LABEL, GTK_RESPONSE_OK, NULL); +#line 518 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_object_ref_sink (_tmp39_); +#line 518 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp40_ = _tmp39_; +#line 518 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp38_); +#line 518 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + save_as_dialog = _tmp40_; +#line 521 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp41_ = save_as_dialog; +#line 521 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_file_chooser_set_select_multiple (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), FALSE); +#line 522 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp42_ = save_as_dialog; +#line 522 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp43_ = filename; +#line 522 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_file_chooser_set_current_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp43_); +#line 523 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp44_ = save_as_dialog; +#line 523 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp45_ = self->priv->current_save_dir; +#line 523 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp46_ = g_file_get_path (_tmp45_); +#line 523 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp47_ = _tmp46_; +#line 523 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_file_chooser_set_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp47_); +#line 523 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp47_); +#line 524 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp48_ = save_as_dialog; +#line 524 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp49_ = output_format_filter; +#line 524 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp50_ = _g_object_ref0 (_tmp49_); +#line 524 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_file_chooser_add_filter (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp50_); +#line 525 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp51_ = save_as_dialog; +#line 525 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_file_chooser_set_do_overwrite_confirmation (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), TRUE); +#line 526 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp52_ = save_as_dialog; +#line 526 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_file_chooser_set_local_only (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), FALSE); +#line 528 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp53_ = save_as_dialog; +#line 528 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp54_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_dialog_get_type (), GtkDialog)); +#line 528 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + response = _tmp54_; +#line 529 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp55_ = response; +#line 529 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp55_ == ((gint) GTK_RESPONSE_OK)) { +#line 4756 "DirectPhotoPage.c" + GtkFileChooserDialog* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GFile* _tmp59_ = NULL; + GFile* _tmp60_ = NULL; + gint _tmp61_ = 0; + ScaleConstraint _tmp62_ = 0; + ExportFormatParameters _tmp63_ = {0}; + JpegQuality _tmp64_ = 0; + PhotoFileFormat _tmp65_ = 0; + ExportFormatParameters _tmp66_ = {0}; + ExportFormatMode _tmp67_ = 0; + ExportFormatParameters _tmp68_ = {0}; + gboolean _tmp69_ = FALSE; + GtkFileChooserDialog* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + GFile* _tmp73_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->drop_if_dirty = TRUE; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp56_ = save_as_dialog; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp57_ = gtk_file_chooser_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp58_ = _tmp57_; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp59_ = g_file_new_for_uri (_tmp58_); +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp60_ = _tmp59_; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp61_ = scale; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp62_ = constraint; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp63_ = export_params; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp64_ = _tmp63_.quality; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp65_ = effective_export_format; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp66_ = export_params; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp67_ = _tmp66_.mode; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp68_ = export_params; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp69_ = _tmp68_.export_metadata; +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_save (self, _tmp60_, _tmp61_, _tmp62_, _tmp64_, _tmp65_, _tmp67_ == EXPORT_FORMAT_MODE_UNMODIFIED, _tmp69_); +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp60_); +#line 533 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp58_); +#line 536 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->drop_if_dirty = FALSE; +#line 538 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp70_ = save_as_dialog; +#line 538 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp71_ = gtk_file_chooser_get_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 538 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp72_ = _tmp71_; +#line 538 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp73_ = g_file_new_for_path (_tmp72_); +#line 538 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (self->priv->current_save_dir); +#line 538 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->current_save_dir = _tmp73_; +#line 538 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (_tmp72_); +#line 4827 "DirectPhotoPage.c" + } +#line 541 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp74_ = save_as_dialog; +#line 541 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, gtk_widget_get_type (), GtkWidget)); +#line 496 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (save_as_dialog); +#line 496 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (output_format_filter); +#line 496 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + output_format_extensions = (_vala_array_free (output_format_extensions, output_format_extensions_length1, (GDestroyNotify) g_free), NULL); +#line 496 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_free0 (filename); +#line 496 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (export_dialog); +#line 4843 "DirectPhotoPage.c" +} + + +static void direct_photo_page_on_send_to (DirectPhotoPage* self) { + gboolean _tmp0_ = FALSE; +#line 544 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 545 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 545 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp0_) { +#line 4855 "DirectPhotoPage.c" + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 546 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 546 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = _tmp1_; +#line 546 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = view_collection_get_selected_sources (_tmp2_); +#line 546 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 546 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + desktop_integration_send_to (_tmp4_); +#line 546 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp4_); +#line 546 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data_collection_unref0 (_tmp2_); +#line 4874 "DirectPhotoPage.c" + } +} + + +static gboolean direct_photo_page_real_on_app_key_pressed (Page* base, GdkEventKey* event) { + DirectPhotoPage * self; + gboolean result = FALSE; + gboolean handled = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GQuark _tmp5_ = 0U; +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + static GQuark _tmp4_label0 = 0; +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + static GQuark _tmp4_label1 = 0; +#line 4892 "DirectPhotoPage.c" + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 549 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 549 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 550 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + handled = TRUE; +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = event; +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = _tmp0_->keyval; +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = _tmp2_; +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_); +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("bracketright")))) { +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + switch (0) { +#line 4915 "DirectPhotoPage.c" + default: + { +#line 554 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise"); +#line 555 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + break; +#line 4922 "DirectPhotoPage.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("bracketleft")))) { +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + switch (0) { +#line 4928 "DirectPhotoPage.c" + default: + { +#line 558 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + page_activate_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RotateClockwise"); +#line 559 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + break; +#line 4935 "DirectPhotoPage.c" + } + } + } else { +#line 552 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + switch (0) { +#line 4941 "DirectPhotoPage.c" + default: + { +#line 562 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + handled = FALSE; +#line 563 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + break; +#line 4948 "DirectPhotoPage.c" + } + } + } +#line 566 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = handled; +#line 566 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp7_) { +#line 566 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = TRUE; +#line 4958 "DirectPhotoPage.c" + } else { + GdkEventKey* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 566 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = event; +#line 566 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = PAGE_CLASS (direct_photo_page_parent_class)->on_app_key_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), TYPE_PAGE, Page), _tmp8_); +#line 566 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = _tmp9_; +#line 4968 "DirectPhotoPage.c" + } +#line 566 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = _tmp6_; +#line 566 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 4974 "DirectPhotoPage.c" +} + + +static void direct_photo_page_on_print (DirectPhotoPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 569 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 570 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 570 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = _tmp0_; +#line 570 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 570 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp3_ = _tmp2_ > 0; +#line 570 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data_collection_unref0 (_tmp1_); +#line 570 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (_tmp3_) { +#line 4997 "DirectPhotoPage.c" + PrintManager* _tmp4_ = NULL; + PrintManager* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp4_ = print_manager_get_instance (); +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp5_ = _tmp4_; +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp7_ = _tmp6_; +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp8_ = view_collection_get_selected_sources_of_type (_tmp7_, TYPE_PHOTO); +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection); +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + print_manager_spool_photo (_tmp5_, _tmp9_); +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (_tmp9_); +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data_collection_unref0 (_tmp7_); +#line 571 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _print_manager_unref0 (_tmp5_); +#line 5024 "DirectPhotoPage.c" + } +} + + +static Block6Data* block6_data_ref (Block6Data* _data6_) { +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_atomic_int_inc (&_data6_->_ref_count_); +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return _data6_; +#line 5034 "DirectPhotoPage.c" +} + + +static void block6_data_unref (void * _userdata_) { + Block6Data* _data6_; + _data6_ = (Block6Data*) _userdata_; +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + if (g_atomic_int_dec_and_test (&_data6_->_ref_count_)) { +#line 5043 "DirectPhotoPage.c" + DirectPhotoPage* self; +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = _data6_->self; +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (self); +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_slice_free (Block6Data, _data6_); +#line 5051 "DirectPhotoPage.c" + } +} + + +static gboolean __lambda14_ (Block6Data* _data6_) { + DirectPhotoPage* self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 580 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = _data6_->self; +#line 581 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = _data6_->should_allow_rotation; +#line 581 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + editing_host_page_enable_rotate (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EDITING_HOST_PAGE, EditingHostPage), _tmp0_); +#line 583 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = FALSE; +#line 583 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 5070 "DirectPhotoPage.c" +} + + +static gboolean ___lambda14__gsource_func (gpointer self) { + gboolean result; + result = __lambda14_ (self); +#line 580 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 5079 "DirectPhotoPage.c" +} + + +static void direct_photo_page_on_dphoto_can_rotate_changed (DirectPhotoPage* self, gboolean should_allow_rotation) { + Block6Data* _data6_; + gboolean _tmp0_ = FALSE; +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (IS_DIRECT_PHOTO_PAGE (self)); +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data6_ = g_slice_new0 (Block6Data); +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data6_->_ref_count_ = 1; +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data6_->self = g_object_ref (self); +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = should_allow_rotation; +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data6_->should_allow_rotation = _tmp0_; +#line 580 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, ___lambda14__gsource_func, block6_data_ref (_data6_), block6_data_unref); +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + block6_data_unref (_data6_); +#line 576 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data6_ = NULL; +#line 5104 "DirectPhotoPage.c" +} + + +static DataView* direct_photo_page_real_create_photo_view (EditingHostPage* base, DataSource* source) { + DirectPhotoPage * self; + DataView* result = NULL; + DataSource* _tmp0_ = NULL; + DirectView* _tmp1_ = NULL; +#line 587 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 587 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 588 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = source; +#line 588 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp1_ = direct_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECT_PHOTO, DirectPhoto)); +#line 588 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_VIEW, DataView); +#line 588 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return result; +#line 5125 "DirectPhotoPage.c" +} + + +static void direct_photo_page_class_init (DirectPhotoPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_photo_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_type_class_add_private (klass, sizeof (DirectPhotoPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = direct_photo_page_real_init_collect_ui_filenames; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((PageClass *) klass)->init_collect_action_entries = direct_photo_page_real_init_collect_action_entries; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((PageClass *) klass)->init_collect_injection_groups = direct_photo_page_real_init_collect_injection_groups; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((GtkWidgetClass *) klass)->realize = direct_photo_page_real_realize; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((EditingHostPageClass *) klass)->photo_changing = direct_photo_page_real_photo_changing; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((PageClass *) klass)->on_context_buttonpress = direct_photo_page_real_on_context_buttonpress; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((EditingHostPageClass *) klass)->on_increase_size = direct_photo_page_real_on_increase_size; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((EditingHostPageClass *) klass)->on_decrease_size = direct_photo_page_real_on_decrease_size; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((EditingHostPageClass *) klass)->on_double_click = direct_photo_page_real_on_double_click; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((EditingHostPageClass *) klass)->update_ui = direct_photo_page_real_update_ui; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((PageClass *) klass)->update_actions = direct_photo_page_real_update_actions; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((EditingHostPageClass *) klass)->confirm_replace_photo = direct_photo_page_real_confirm_replace_photo; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((PageClass *) klass)->on_app_key_pressed = direct_photo_page_real_on_app_key_pressed; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((EditingHostPageClass *) klass)->create_photo_view = direct_photo_page_real_create_photo_view; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + G_OBJECT_CLASS (klass)->finalize = direct_photo_page_finalize; +#line 5164 "DirectPhotoPage.c" +} + + +static void direct_photo_page_instance_init (DirectPhotoPage * self) { +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv = DIRECT_PHOTO_PAGE_GET_PRIVATE (self); +#line 9 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->view_controller = NULL; +#line 11 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self->priv->drop_if_dirty = FALSE; +#line 5175 "DirectPhotoPage.c" +} + + +static void direct_photo_page_finalize (GObject* obj) { + DirectPhotoPage * self; + DirectPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 32 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = direct_photo_global; +#line 32 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 32 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _direct_photo_page_on_photos_altered_data_collection_items_altered, self); +#line 8 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (self->priv->initial_file); +#line 9 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _data_collection_unref0 (self->priv->view_controller); +#line 10 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _g_object_unref0 (self->priv->current_save_dir); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + G_OBJECT_CLASS (direct_photo_page_parent_class)->finalize (obj); +#line 5199 "DirectPhotoPage.c" +} + + +GType direct_photo_page_get_type (void) { + static volatile gsize direct_photo_page_type_id__volatile = 0; + if (g_once_init_enter (&direct_photo_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectPhotoPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) direct_photo_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectPhotoPage), 0, (GInstanceInitFunc) direct_photo_page_instance_init, NULL }; + GType direct_photo_page_type_id; + direct_photo_page_type_id = g_type_register_static (TYPE_EDITING_HOST_PAGE, "DirectPhotoPage", &g_define_type_info, 0); + g_once_init_leave (&direct_photo_page_type_id__volatile, direct_photo_page_type_id); + } + return direct_photo_page_type_id__volatile; +} + + +DirectFullscreenPhotoPage* direct_fullscreen_photo_page_construct (GType object_type, GFile* file) { + DirectFullscreenPhotoPage * self = NULL; + GFile* _tmp0_ = NULL; +#line 593 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 594 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = file; +#line 594 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = (DirectFullscreenPhotoPage*) direct_photo_page_construct (object_type, _tmp0_); +#line 593 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return self; +#line 5226 "DirectPhotoPage.c" +} + + +DirectFullscreenPhotoPage* direct_fullscreen_photo_page_new (GFile* file) { +#line 593 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + return direct_fullscreen_photo_page_construct (TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE, file); +#line 5233 "DirectPhotoPage.c" +} + + +static void direct_fullscreen_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + DirectFullscreenPhotoPage * self; + GeeList* _tmp0_ = NULL; +#line 597 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE, DirectFullscreenPhotoPage); +#line 597 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 600 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + _tmp0_ = ui_filenames; +#line 600 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), "direct_context.ui"); +#line 5248 "DirectPhotoPage.c" +} + + +static void direct_fullscreen_photo_page_class_init (DirectFullscreenPhotoPageClass * klass) { +#line 592 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + direct_fullscreen_photo_page_parent_class = g_type_class_peek_parent (klass); +#line 592 "/home/jens/Source/shotwell/src/direct/DirectPhotoPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = direct_fullscreen_photo_page_real_init_collect_ui_filenames; +#line 5257 "DirectPhotoPage.c" +} + + +static void direct_fullscreen_photo_page_instance_init (DirectFullscreenPhotoPage * self) { +} + + +GType direct_fullscreen_photo_page_get_type (void) { + static volatile gsize direct_fullscreen_photo_page_type_id__volatile = 0; + if (g_once_init_enter (&direct_fullscreen_photo_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectFullscreenPhotoPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) direct_fullscreen_photo_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectFullscreenPhotoPage), 0, (GInstanceInitFunc) direct_fullscreen_photo_page_instance_init, NULL }; + GType direct_fullscreen_photo_page_type_id; + direct_fullscreen_photo_page_type_id = g_type_register_static (TYPE_DIRECT_PHOTO_PAGE, "DirectFullscreenPhotoPage", &g_define_type_info, 0); + g_once_init_leave (&direct_fullscreen_photo_page_type_id__volatile, direct_fullscreen_photo_page_type_id); + } + return direct_fullscreen_photo_page_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/direct/DirectView.c b/src/direct/DirectView.c new file mode 100644 index 0000000..e3cebb7 --- /dev/null +++ b/src/direct/DirectView.c @@ -0,0 +1,827 @@ +/* DirectView.c generated by valac 0.32.1, the Vala compiler + * generated from DirectView.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataViewPrivate DataViewPrivate; + +#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_DIRECT_VIEW (direct_view_get_type ()) +#define DIRECT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_VIEW, DirectView)) +#define DIRECT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_VIEW, DirectViewClass)) +#define IS_DIRECT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_VIEW)) +#define IS_DIRECT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_VIEW)) +#define DIRECT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_VIEW, DirectViewClass)) + +typedef struct _DirectView DirectView; +typedef struct _DirectViewClass DirectViewClass; +typedef struct _DirectViewPrivate DirectViewPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_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_DIRECT_PHOTO (direct_photo_get_type ()) +#define DIRECT_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO, DirectPhoto)) +#define DIRECT_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO, DirectPhotoClass)) +#define IS_DIRECT_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO)) +#define IS_DIRECT_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO)) +#define DIRECT_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO, DirectPhotoClass)) + +typedef struct _DirectPhoto DirectPhoto; +typedef struct _DirectPhotoClass DirectPhotoClass; +typedef struct _DataCollectionPrivate DataCollectionPrivate; + +#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_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; +typedef struct _ViewCollectionPrivate ViewCollectionPrivate; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_DIRECT_VIEW_COLLECTION (direct_view_collection_get_type ()) +#define DIRECT_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_VIEW_COLLECTION, DirectViewCollection)) +#define DIRECT_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_VIEW_COLLECTION, DirectViewCollectionClass)) +#define IS_DIRECT_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_VIEW_COLLECTION)) +#define IS_DIRECT_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_VIEW_COLLECTION)) +#define DIRECT_VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_VIEW_COLLECTION, DirectViewCollectionClass)) + +typedef struct _DirectViewCollection DirectViewCollection; +typedef struct _DirectViewCollectionClass DirectViewCollectionClass; +typedef struct _DirectViewCollectionPrivate DirectViewCollectionPrivate; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; + +#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_DIRECT_PHOTO_SOURCE_COLLECTION (direct_photo_source_collection_get_type ()) +#define DIRECT_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollection)) +#define DIRECT_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionClass)) +#define IS_DIRECT_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION)) +#define IS_DIRECT_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION)) +#define DIRECT_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_SOURCE_COLLECTION, DirectPhotoSourceCollectionClass)) + +typedef struct _DirectPhotoSourceCollection DirectPhotoSourceCollection; +typedef struct _DirectPhotoSourceCollectionClass DirectPhotoSourceCollectionClass; + +#define DIRECT_VIEW_COLLECTION_TYPE_DIRECT_VIEW_MANAGER (direct_view_collection_direct_view_manager_get_type ()) +#define DIRECT_VIEW_COLLECTION_DIRECT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIRECT_VIEW_COLLECTION_TYPE_DIRECT_VIEW_MANAGER, DirectViewCollectionDirectViewManager)) +#define DIRECT_VIEW_COLLECTION_DIRECT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIRECT_VIEW_COLLECTION_TYPE_DIRECT_VIEW_MANAGER, DirectViewCollectionDirectViewManagerClass)) +#define DIRECT_VIEW_COLLECTION_IS_DIRECT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIRECT_VIEW_COLLECTION_TYPE_DIRECT_VIEW_MANAGER)) +#define DIRECT_VIEW_COLLECTION_IS_DIRECT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DIRECT_VIEW_COLLECTION_TYPE_DIRECT_VIEW_MANAGER)) +#define DIRECT_VIEW_COLLECTION_DIRECT_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIRECT_VIEW_COLLECTION_TYPE_DIRECT_VIEW_MANAGER, DirectViewCollectionDirectViewManagerClass)) + +typedef struct _DirectViewCollectionDirectViewManager DirectViewCollectionDirectViewManager; +typedef struct _DirectViewCollectionDirectViewManagerClass DirectViewCollectionDirectViewManagerClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) +typedef struct _ViewManagerPrivate ViewManagerPrivate; +typedef struct _DirectViewCollectionDirectViewManagerPrivate DirectViewCollectionDirectViewManagerPrivate; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _DirectView { + DataView parent_instance; + DirectViewPrivate * priv; +}; + +struct _DirectViewClass { + DataViewClass parent_class; +}; + +struct _DirectViewPrivate { + GFile* file; + gchar* collate_key; +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +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); +}; + +struct _DataCollection { + GTypeInstance parent_instance; + volatile int ref_count; + DataCollectionPrivate * priv; +}; + +struct _DataCollectionClass { + GTypeClass parent_class; + void (*finalize) (DataCollection *self); + gchar* (*to_string) (DataCollection* self); + void (*notify_items_added) (DataCollection* self, GeeIterable* added); + void (*notify_items_removed) (DataCollection* self, GeeIterable* removed); + void (*notify_contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*notify_items_altered) (DataCollection* self, GeeMap* items); + void (*notify_ordering_changed) (DataCollection* self); + void (*notify_property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*notify_property_cleared) (DataCollection* self, const gchar* name); + gboolean (*valid_type) (DataCollection* self, DataObject* object); + void (*set_comparator) (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); + void (*reset_comparator) (DataCollection* self); + GeeCollection* (*get_all) (DataCollection* self); + gint (*get_count) (DataCollection* self); + DataObject* (*get_at) (DataCollection* self, gint index); + gint (*index_of) (DataCollection* self, DataObject* object); + gboolean (*contains) (DataCollection* self, DataObject* object); + gboolean (*add) (DataCollection* self, DataObject* object); + GeeCollection* (*add_many) (DataCollection* self, GeeCollection* objects, ProgressMonitor monitor, void* monitor_target); + void (*remove_marked) (DataCollection* self, Marker* m); + void (*clear) (DataCollection* self); + void (*close) (DataCollection* self); + void (*notify_frozen) (DataCollection* self); + void (*notify_thawed) (DataCollection* self); + void (*items_added) (DataCollection* self, GeeIterable* added); + void (*items_removed) (DataCollection* self, GeeIterable* removed); + void (*contents_altered) (DataCollection* self, GeeIterable* added, GeeIterable* removed); + void (*items_altered) (DataCollection* self, GeeMap* items); + void (*ordering_changed) (DataCollection* self); + void (*property_set) (DataCollection* self, const gchar* name, GValue* old, GValue* val); + void (*property_cleared) (DataCollection* self, const gchar* name); + void (*frozen) (DataCollection* self); + void (*thawed) (DataCollection* self); +}; + +struct _ViewCollection { + DataCollection parent_instance; + ViewCollectionPrivate * priv; +}; + +struct _ViewCollectionClass { + DataCollectionClass parent_class; + void (*notify_items_selected_unselected) (ViewCollection* self, GeeCollection* selected, GeeCollection* unselected); + void (*notify_selection_group_altered) (ViewCollection* self); + void (*notify_item_view_altered) (ViewCollection* self, DataView* view); + void (*notify_views_altered) (ViewCollection* self, GeeCollection* views); + void (*notify_item_geometry_altered) (ViewCollection* self, DataView* view); + void (*notify_geometries_altered) (ViewCollection* self, GeeCollection* views); + void (*notify_items_shown) (ViewCollection* self, GeeCollection* shown); + void (*notify_items_hidden) (ViewCollection* self, GeeCollection* hidden); + void (*notify_items_visibility_changed) (ViewCollection* self, GeeCollection* changed); + void (*notify_view_filter_installed) (ViewCollection* self, ViewFilter* filter); + void (*notify_view_filter_removed) (ViewCollection* self, ViewFilter* filter); + DataView* (*get_first) (ViewCollection* self); + DataView* (*get_first_unrejected) (ViewCollection* self); + DataView* (*get_last) (ViewCollection* self); + DataView* (*get_next) (ViewCollection* self, DataView* view); + DataView* (*get_previous) (ViewCollection* self, DataView* view); + void (*items_selected) (ViewCollection* self, GeeIterable* selected); + void (*items_unselected) (ViewCollection* self, GeeIterable* unselected); + void (*items_state_changed) (ViewCollection* self, GeeIterable* changed); + void (*selection_group_altered) (ViewCollection* self); + void (*items_shown) (ViewCollection* self, GeeCollection* visible); + void (*items_hidden) (ViewCollection* self, GeeCollection* hidden); + void (*items_visibility_changed) (ViewCollection* self, GeeCollection* changed); + void (*item_view_altered) (ViewCollection* self, DataView* view); + void (*item_geometry_altered) (ViewCollection* self, DataView* view); + void (*views_altered) (ViewCollection* self, GeeCollection* views); + void (*geometries_altered) (ViewCollection* self, GeeCollection* views); + void (*view_filter_installed) (ViewCollection* self, ViewFilter* filer); + void (*view_filter_removed) (ViewCollection* self, ViewFilter* filer); +}; + +struct _DirectViewCollection { + ViewCollection parent_instance; + DirectViewCollectionPrivate * priv; +}; + +struct _DirectViewCollectionClass { + ViewCollectionClass parent_class; +}; + +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _DirectViewCollectionDirectViewManager { + ViewManager parent_instance; + DirectViewCollectionDirectViewManagerPrivate * priv; +}; + +struct _DirectViewCollectionDirectViewManagerClass { + ViewManagerClass parent_class; +}; + + +static gpointer direct_view_parent_class = NULL; +static gpointer direct_view_collection_parent_class = NULL; +extern DirectPhotoSourceCollection* direct_photo_global; +static gpointer direct_view_collection_direct_view_manager_parent_class = NULL; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_view_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType direct_view_get_type (void) G_GNUC_CONST; +#define DIRECT_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DIRECT_VIEW, DirectViewPrivate)) +enum { + DIRECT_VIEW_DUMMY_PROPERTY +}; +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 direct_photo_get_type (void) G_GNUC_CONST; +DirectView* direct_view_new (DirectPhoto* source); +DirectView* direct_view_construct (GType object_type, DirectPhoto* source); +DataView* data_view_new (DataSource* source); +DataView* data_view_construct (GType object_type, DataSource* source); +GFile* media_source_get_file (MediaSource* self); +GFile* direct_view_get_file (DirectView* self); +gchar* direct_view_get_collate_key (DirectView* self); +static void direct_view_finalize (GObject* obj); +GType marker_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType direct_view_collection_get_type (void) G_GNUC_CONST; +enum { + DIRECT_VIEW_COLLECTION_DUMMY_PROPERTY +}; +DirectViewCollection* direct_view_collection_new (void); +DirectViewCollection* direct_view_collection_construct (GType object_type); +ViewCollection* view_collection_new (const gchar* name); +ViewCollection* view_collection_construct (GType object_type, const gchar* name); +void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +static gint64 direct_view_collection_filename_comparator (void* a, void* b); +static gint64 _direct_view_collection_filename_comparator_comparator (void* a, void* b, gpointer self); +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType direct_photo_source_collection_get_type (void) G_GNUC_CONST; +static DirectViewCollectionDirectViewManager* direct_view_collection_direct_view_manager_new (void); +static DirectViewCollectionDirectViewManager* direct_view_collection_direct_view_manager_construct (GType object_type); +static GType direct_view_collection_direct_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +enum { + DIRECT_VIEW_COLLECTION_DIRECT_VIEW_MANAGER_DUMMY_PROPERTY +}; +static DataView* direct_view_collection_direct_view_manager_real_create_view (ViewManager* base, DataSource* source); +ViewManager* view_manager_construct (GType object_type); + + +DirectView* direct_view_construct (GType object_type, DirectPhoto* source) { + DirectView * self = NULL; + DirectPhoto* _tmp0_ = NULL; + DirectPhoto* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + g_return_val_if_fail (IS_DIRECT_PHOTO (source), NULL); +#line 12 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp0_ = source; +#line 12 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self = (DirectView*) data_view_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_SOURCE, DataSource)); +#line 14 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp1_ = source; +#line 14 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp2_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO, Photo), TYPE_MEDIA_SOURCE, MediaSource)); +#line 14 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _g_object_unref0 (self->priv->file); +#line 14 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self->priv->file = _tmp2_; +#line 11 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return self; +#line 522 "DirectView.c" +} + + +DirectView* direct_view_new (DirectPhoto* source) { +#line 11 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return direct_view_construct (TYPE_DIRECT_VIEW, source); +#line 529 "DirectView.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 18 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return self ? g_object_ref (self) : NULL; +#line 536 "DirectView.c" +} + + +GFile* direct_view_get_file (DirectView* self) { + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + g_return_val_if_fail (IS_DIRECT_VIEW (self), NULL); +#line 18 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp0_ = self->priv->file; +#line 18 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 18 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + result = _tmp1_; +#line 18 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return result; +#line 554 "DirectView.c" +} + + +gchar* direct_view_get_collate_key (DirectView* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + g_return_val_if_fail (IS_DIRECT_VIEW (self), NULL); +#line 22 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp0_ = self->priv->collate_key; +#line 22 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + if (_tmp0_ == NULL) { +#line 569 "DirectView.c" + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp1_ = self->priv->file; +#line 23 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp2_ = g_file_get_basename (_tmp1_); +#line 23 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp3_ = _tmp2_; +#line 23 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp4_ = g_utf8_collate_key_for_filename (_tmp3_, (gssize) -1); +#line 23 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _g_free0 (self->priv->collate_key); +#line 23 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self->priv->collate_key = _tmp4_; +#line 23 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _g_free0 (_tmp3_); +#line 588 "DirectView.c" + } +#line 25 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp5_ = self->priv->collate_key; +#line 25 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 25 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + result = _tmp6_; +#line 25 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return result; +#line 598 "DirectView.c" +} + + +static void direct_view_class_init (DirectViewClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + direct_view_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + g_type_class_add_private (klass, sizeof (DirectViewPrivate)); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + G_OBJECT_CLASS (klass)->finalize = direct_view_finalize; +#line 609 "DirectView.c" +} + + +static void direct_view_instance_init (DirectView * self) { +#line 7 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self->priv = DIRECT_VIEW_GET_PRIVATE (self); +#line 9 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self->priv->collate_key = NULL; +#line 618 "DirectView.c" +} + + +static void direct_view_finalize (GObject* obj) { + DirectView * self; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DIRECT_VIEW, DirectView); +#line 8 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _g_object_unref0 (self->priv->file); +#line 9 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _g_free0 (self->priv->collate_key); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + G_OBJECT_CLASS (direct_view_parent_class)->finalize (obj); +#line 632 "DirectView.c" +} + + +GType direct_view_get_type (void) { + static volatile gsize direct_view_type_id__volatile = 0; + if (g_once_init_enter (&direct_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) direct_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectView), 0, (GInstanceInitFunc) direct_view_instance_init, NULL }; + GType direct_view_type_id; + direct_view_type_id = g_type_register_static (TYPE_DATA_VIEW, "DirectView", &g_define_type_info, 0); + g_once_init_leave (&direct_view_type_id__volatile, direct_view_type_id); + } + return direct_view_type_id__volatile; +} + + +static gint64 _direct_view_collection_filename_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = direct_view_collection_filename_comparator (a, b); +#line 39 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return result; +#line 653 "DirectView.c" +} + + +DirectViewCollection* direct_view_collection_construct (GType object_type) { + DirectViewCollection* self = NULL; + DirectPhotoSourceCollection* _tmp0_ = NULL; + DirectViewCollectionDirectViewManager* _tmp1_ = NULL; + DirectViewCollectionDirectViewManager* _tmp2_ = NULL; + ViewCollectionMonitor* _tmp3_ = NULL; + ViewCollectionMonitor* _tmp4_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self = (DirectViewCollection*) view_collection_construct (object_type, "DirectViewCollection"); +#line 39 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_COLLECTION, DataCollection), _direct_view_collection_filename_comparator_comparator, NULL, NULL, NULL); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp0_ = direct_photo_global; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp1_ = direct_view_collection_direct_view_manager_new (); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp2_ = _tmp1_; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp3_ = view_collection_monitor_source_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_VIEW_COLLECTION, ViewCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_VIEW_MANAGER, ViewManager), NULL, NULL, NULL, NULL); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp4_ = _tmp3_; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _view_collection_monitor_unref0 (_tmp4_); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _view_manager_unref0 (_tmp2_); +#line 36 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return self; +#line 684 "DirectView.c" +} + + +DirectViewCollection* direct_view_collection_new (void) { +#line 36 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return direct_view_collection_construct (TYPE_DIRECT_VIEW_COLLECTION); +#line 691 "DirectView.c" +} + + +static gint64 direct_view_collection_filename_comparator (void* a, void* b) { + gint64 result = 0LL; + DirectView* aview = NULL; + void* _tmp0_ = NULL; + DirectView* bview = NULL; + void* _tmp1_ = NULL; + GCompareFunc _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint64 _tmp8_ = 0LL; +#line 44 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp0_ = a; +#line 44 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + aview = (DirectView*) _tmp0_; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp1_ = b; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + bview = (DirectView*) _tmp1_; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp2_ = g_strcmp0; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp3_ = direct_view_get_collate_key (G_TYPE_CHECK_INSTANCE_CAST (aview, TYPE_DIRECT_VIEW, DirectView)); +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp4_ = _tmp3_; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp5_ = direct_view_get_collate_key (G_TYPE_CHECK_INSTANCE_CAST (bview, TYPE_DIRECT_VIEW, DirectView)); +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp6_ = _tmp5_; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp7_ = _tmp2_ (_tmp4_, _tmp6_); +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp8_ = (gint64) _tmp7_; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _g_free0 (_tmp6_); +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _g_free0 (_tmp4_); +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + result = _tmp8_; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return result; +#line 738 "DirectView.c" +} + + +static DataView* direct_view_collection_direct_view_manager_real_create_view (ViewManager* base, DataSource* source) { + DirectViewCollectionDirectViewManager * self; + DataView* result = NULL; + DataSource* _tmp0_ = NULL; + DirectView* _tmp1_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, DIRECT_VIEW_COLLECTION_TYPE_DIRECT_VIEW_MANAGER, DirectViewCollectionDirectViewManager); +#line 31 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 32 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp0_ = source; +#line 32 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + _tmp1_ = direct_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECT_PHOTO, DirectPhoto)); +#line 32 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_VIEW, DataView); +#line 32 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return result; +#line 759 "DirectView.c" +} + + +static DirectViewCollectionDirectViewManager* direct_view_collection_direct_view_manager_construct (GType object_type) { + DirectViewCollectionDirectViewManager* self = NULL; +#line 30 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + self = (DirectViewCollectionDirectViewManager*) view_manager_construct (object_type); +#line 30 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return self; +#line 769 "DirectView.c" +} + + +static DirectViewCollectionDirectViewManager* direct_view_collection_direct_view_manager_new (void) { +#line 30 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + return direct_view_collection_direct_view_manager_construct (DIRECT_VIEW_COLLECTION_TYPE_DIRECT_VIEW_MANAGER); +#line 776 "DirectView.c" +} + + +static void direct_view_collection_direct_view_manager_class_init (DirectViewCollectionDirectViewManagerClass * klass) { +#line 30 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + direct_view_collection_direct_view_manager_parent_class = g_type_class_peek_parent (klass); +#line 30 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + ((ViewManagerClass *) klass)->create_view = direct_view_collection_direct_view_manager_real_create_view; +#line 785 "DirectView.c" +} + + +static void direct_view_collection_direct_view_manager_instance_init (DirectViewCollectionDirectViewManager * self) { +} + + +static GType direct_view_collection_direct_view_manager_get_type (void) { + static volatile gsize direct_view_collection_direct_view_manager_type_id__volatile = 0; + if (g_once_init_enter (&direct_view_collection_direct_view_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectViewCollectionDirectViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) direct_view_collection_direct_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectViewCollectionDirectViewManager), 0, (GInstanceInitFunc) direct_view_collection_direct_view_manager_instance_init, NULL }; + GType direct_view_collection_direct_view_manager_type_id; + direct_view_collection_direct_view_manager_type_id = g_type_register_static (TYPE_VIEW_MANAGER, "DirectViewCollectionDirectViewManager", &g_define_type_info, 0); + g_once_init_leave (&direct_view_collection_direct_view_manager_type_id__volatile, direct_view_collection_direct_view_manager_type_id); + } + return direct_view_collection_direct_view_manager_type_id__volatile; +} + + +static void direct_view_collection_class_init (DirectViewCollectionClass * klass) { +#line 29 "/home/jens/Source/shotwell/src/direct/DirectView.vala" + direct_view_collection_parent_class = g_type_class_peek_parent (klass); +#line 808 "DirectView.c" +} + + +static void direct_view_collection_instance_init (DirectViewCollection * self) { +} + + +GType direct_view_collection_get_type (void) { + static volatile gsize direct_view_collection_type_id__volatile = 0; + if (g_once_init_enter (&direct_view_collection_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectViewCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) direct_view_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectViewCollection), 0, (GInstanceInitFunc) direct_view_collection_instance_init, NULL }; + GType direct_view_collection_type_id; + direct_view_collection_type_id = g_type_register_static (TYPE_VIEW_COLLECTION, "DirectViewCollection", &g_define_type_info, 0); + g_once_init_leave (&direct_view_collection_type_id__volatile, direct_view_collection_type_id); + } + return direct_view_collection_type_id__volatile; +} + + + diff --git a/src/direct/DirectWindow.c b/src/direct/DirectWindow.c new file mode 100644 index 0000000..dcba026 --- /dev/null +++ b/src/direct/DirectWindow.c @@ -0,0 +1,935 @@ +/* DirectWindow.c generated by valac 0.32.1, the Vala compiler + * generated from DirectWindow.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; +typedef struct _PageWindowPrivate PageWindowPrivate; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define TYPE_APP_WINDOW (app_window_get_type ()) +#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow)) +#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass)) +#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW)) +#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW)) +#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass)) + +typedef struct _AppWindow AppWindow; +typedef struct _AppWindowClass AppWindowClass; +typedef struct _AppWindowPrivate AppWindowPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_DIRECT_WINDOW (direct_window_get_type ()) +#define DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_WINDOW, DirectWindow)) +#define DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_WINDOW, DirectWindowClass)) +#define IS_DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_WINDOW)) +#define IS_DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_WINDOW)) +#define DIRECT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_WINDOW, DirectWindowClass)) + +typedef struct _DirectWindow DirectWindow; +typedef struct _DirectWindowClass DirectWindowClass; +typedef struct _DirectWindowPrivate DirectWindowPrivate; + +#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_DIRECT_PHOTO_PAGE (direct_photo_page_get_type ()) +#define DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage)) +#define DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass)) +#define IS_DIRECT_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_PHOTO_PAGE)) +#define IS_DIRECT_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_PHOTO_PAGE)) +#define DIRECT_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPageClass)) + +typedef struct _DirectPhotoPage DirectPhotoPage; +typedef struct _DirectPhotoPageClass DirectPhotoPageClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_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 _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE (direct_fullscreen_photo_page_get_type ()) +#define DIRECT_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE, DirectFullscreenPhotoPage)) +#define DIRECT_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE, DirectFullscreenPhotoPageClass)) +#define IS_DIRECT_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE)) +#define IS_DIRECT_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE)) +#define DIRECT_FULLSCREEN_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_FULLSCREEN_PHOTO_PAGE, DirectFullscreenPhotoPageClass)) + +typedef struct _DirectFullscreenPhotoPage DirectFullscreenPhotoPage; +typedef struct _DirectFullscreenPhotoPageClass DirectFullscreenPhotoPageClass; + +#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_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +struct _PageWindow { + GtkWindow parent_instance; + PageWindowPrivate * priv; + GtkUIManager* ui; +}; + +struct _PageWindowClass { + GtkWindowClass parent_class; + void (*switched_pages) (PageWindow* self, Page* old_page, Page* new_page); + void (*set_current_page) (PageWindow* self, Page* page); + void (*clear_current_page) (PageWindow* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _AppWindow { + PageWindow parent_instance; + AppWindowPrivate * priv; + GtkActionGroup** common_action_groups; + gint common_action_groups_length1; + gboolean maximized; + Dimensions dimensions; + gint pos_x; + gint pos_y; +}; + +struct _AppWindowClass { + PageWindowClass parent_class; + void (*on_fullscreen) (AppWindow* self); + gchar* (*get_app_role) (AppWindow* self); + void (*on_quit) (AppWindow* self); + GtkActionGroup** (*create_common_action_groups) (AppWindow* self, int* result_length1); + void (*replace_common_placeholders) (AppWindow* self, GtkUIManager* ui); + void (*update_common_action_availability) (AppWindow* self, Page* old_page, Page* new_page); + void (*update_common_actions) (AppWindow* self, Page* page, gint selected_count, gint count); +}; + +struct _DirectWindow { + AppWindow parent_instance; + DirectWindowPrivate * priv; +}; + +struct _DirectWindowClass { + AppWindowClass parent_class; +}; + +struct _DirectWindowPrivate { + DirectPhotoPage* direct_photo_page; +}; + + +static gpointer direct_window_parent_class = NULL; +extern AppWindow* app_window_instance; + +GType page_window_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType direct_window_get_type (void) G_GNUC_CONST; +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType editing_host_page_get_type (void) G_GNUC_CONST; +GType direct_photo_page_get_type (void) G_GNUC_CONST; +#define DIRECT_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DIRECT_WINDOW, DirectWindowPrivate)) +enum { + DIRECT_WINDOW_DUMMY_PROPERTY +}; +DirectWindow* direct_window_new (GFile* file); +DirectWindow* direct_window_construct (GType object_type, GFile* file); +AppWindow* app_window_construct (GType object_type); +DirectPhotoPage* direct_photo_page_new (GFile* file); +DirectPhotoPage* direct_photo_page_construct (GType object_type, GFile* file); +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); +static void direct_window_on_photo_changed (DirectWindow* self); +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void _direct_window_on_photo_changed_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +GType data_view_get_type (void) G_GNUC_CONST; +static void _direct_window_on_photo_changed_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self); +void page_window_set_current_page (PageWindow* self, Page* page); +void direct_window_update_title (DirectWindow* self, GFile* file, gboolean modified); +void page_switched_to (Page* self); +GtkMenuBar* page_get_menubar (Page* self); +GtkToolbar* page_get_toolbar (Page* self); +DirectWindow* direct_window_get_app (void); +DirectPhotoPage* direct_window_get_direct_page (DirectWindow* self); +Page* page_window_get_current_page (PageWindow* self); +gchar* get_display_pathname (GFile* file); +#define RESOURCES_APP_TITLE "Shotwell" +static void direct_window_real_on_fullscreen (AppWindow* base); +GFile* direct_photo_page_get_current_file (DirectPhotoPage* self); +void app_window_go_fullscreen (AppWindow* self, Page* page); +DirectFullscreenPhotoPage* direct_fullscreen_photo_page_new (GFile* file); +DirectFullscreenPhotoPage* direct_fullscreen_photo_page_construct (GType object_type, GFile* file); +GType direct_fullscreen_photo_page_get_type (void) G_GNUC_CONST; +static gchar* direct_window_real_get_app_role (AppWindow* base); +#define RESOURCES_APP_DIRECT_ROLE _ ("Photo Viewer") +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; +Photo* editing_host_page_get_photo (EditingHostPage* self); +GFile* media_source_get_file (MediaSource* self); +gboolean photo_has_alterations (Photo* self); +static void direct_window_real_on_quit (AppWindow* base); +gboolean direct_photo_page_check_quit (DirectPhotoPage* self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_set_direct_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); +void app_window_on_quit (AppWindow* self); +static gboolean direct_window_real_delete_event (GtkWidget* base, GdkEventAny* event); +static gboolean direct_window_real_button_press_event (GtkWidget* base, GdkEventButton* event); +void app_window_on_fullscreen (AppWindow* self); +static gboolean direct_window_real_key_press_event (GtkWidget* base, GdkEventKey* event); +static void direct_window_finalize (GObject* obj); + + +static void _direct_window_on_photo_changed_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 12 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + direct_window_on_photo_changed ((DirectWindow*) self); +#line 371 "DirectWindow.c" +} + + +static void _direct_window_on_photo_changed_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self) { +#line 13 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + direct_window_on_photo_changed ((DirectWindow*) self); +#line 378 "DirectWindow.c" +} + + +DirectWindow* direct_window_construct (GType object_type, GFile* file) { + DirectWindow * self = NULL; + GFile* _tmp0_ = NULL; + DirectPhotoPage* _tmp1_ = NULL; + DirectPhotoPage* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + DirectPhotoPage* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + DirectPhotoPage* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + DirectPhotoPage* _tmp10_ = NULL; + GtkBox* layout = NULL; + GtkBox* _tmp11_ = NULL; + DirectPhotoPage* _tmp12_ = NULL; + GtkMenuBar* _tmp13_ = NULL; + GtkMenuBar* _tmp14_ = NULL; + DirectPhotoPage* _tmp15_ = NULL; + DirectPhotoPage* _tmp16_ = NULL; + GtkToolbar* _tmp17_ = NULL; + GtkToolbar* _tmp18_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 10 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self = (DirectWindow*) app_window_construct (object_type); +#line 11 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = file; +#line 11 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = direct_photo_page_new (_tmp0_); +#line 11 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_object_ref_sink (_tmp1_); +#line 11 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (self->priv->direct_photo_page); +#line 11 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self->priv->direct_photo_page = _tmp1_; +#line 12 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp2_ = self->priv->direct_photo_page; +#line 12 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp3_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PAGE, Page)); +#line 12 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp4_ = _tmp3_; +#line 12 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _direct_window_on_photo_changed_data_collection_items_altered, self, 0); +#line 12 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _data_collection_unref0 (_tmp4_); +#line 13 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp5_ = self->priv->direct_photo_page; +#line 13 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PAGE, Page)); +#line 13 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp7_ = _tmp6_; +#line 13 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_signal_connect_object (_tmp7_, "items-state-changed", (GCallback) _direct_window_on_photo_changed_view_collection_items_state_changed, self, 0); +#line 13 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _data_collection_unref0 (_tmp7_); +#line 15 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp8_ = self->priv->direct_photo_page; +#line 15 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + page_window_set_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE, Page)); +#line 17 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp9_ = file; +#line 17 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + direct_window_update_title (self, _tmp9_, FALSE); +#line 19 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp10_ = self->priv->direct_photo_page; +#line 19 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + page_switched_to (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_PAGE, Page)); +#line 23 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp11_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 23 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_object_ref_sink (_tmp11_); +#line 23 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + layout = _tmp11_; +#line 24 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp12_ = self->priv->direct_photo_page; +#line 24 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp13_ = page_get_menubar (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PAGE, Page)); +#line 24 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp14_ = _tmp13_; +#line 24 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + gtk_box_pack_start (layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 24 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp14_); +#line 25 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp15_ = self->priv->direct_photo_page; +#line 25 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + gtk_box_pack_start (layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 26 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp16_ = self->priv->direct_photo_page; +#line 26 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp17_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_PAGE, Page)); +#line 26 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp18_ = _tmp17_; +#line 26 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + gtk_box_pack_end (layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 26 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp18_); +#line 28 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (layout, gtk_widget_get_type (), GtkWidget)); +#line 10 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (layout); +#line 10 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return self; +#line 486 "DirectWindow.c" +} + + +DirectWindow* direct_window_new (GFile* file) { +#line 10 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return direct_window_construct (TYPE_DIRECT_WINDOW, file); +#line 493 "DirectWindow.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 32 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return self ? g_object_ref (self) : NULL; +#line 500 "DirectWindow.c" +} + + +DirectWindow* direct_window_get_app (void) { + DirectWindow* result = NULL; + AppWindow* _tmp0_ = NULL; + DirectWindow* _tmp1_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = app_window_instance; +#line 32 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECT_WINDOW, DirectWindow)); +#line 32 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 516 "DirectWindow.c" +} + + +DirectPhotoPage* direct_window_get_direct_page (DirectWindow* self) { + DirectPhotoPage* result = NULL; + Page* _tmp0_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_return_val_if_fail (IS_DIRECT_WINDOW (self), NULL); +#line 36 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 36 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECT_PHOTO_PAGE, DirectPhotoPage); +#line 36 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 531 "DirectWindow.c" +} + + +void direct_window_update_title (DirectWindow* self, GFile* file, gboolean modified) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_return_if_fail (IS_DIRECT_WINDOW (self)); +#line 39 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = modified; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + if (_tmp1_) { +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = "*"; +#line 558 "DirectWindow.c" + } else { +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = ""; +#line 562 "DirectWindow.c" + } +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp2_ = file; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp3_ = g_file_get_basename (_tmp2_); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp4_ = _tmp3_; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp5_ = file; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp6_ = g_file_get_parent (_tmp5_); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp7_ = _tmp6_; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp8_ = get_display_pathname (_tmp7_); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp9_ = _tmp8_; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp10_ = g_strdup_printf ("%s%s (%s) - %s", _tmp0_, _tmp4_, _tmp9_, RESOURCES_APP_TITLE); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp11_ = _tmp10_; +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp11_); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_free0 (_tmp11_); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_free0 (_tmp9_); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp7_); +#line 40 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_free0 (_tmp4_); +#line 594 "DirectWindow.c" +} + + +static void direct_window_real_on_fullscreen (AppWindow* base) { + DirectWindow * self; + GFile* file = NULL; + DirectPhotoPage* _tmp0_ = NULL; + DirectPhotoPage* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + DirectFullscreenPhotoPage* _tmp4_ = NULL; + DirectFullscreenPhotoPage* _tmp5_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_WINDOW, DirectWindow); +#line 45 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = direct_window_get_direct_page (self); +#line 45 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = _tmp0_; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp2_ = direct_photo_page_get_current_file (_tmp1_); +#line 45 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp3_ = _tmp2_; +#line 45 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp1_); +#line 45 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + file = _tmp3_; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp4_ = direct_fullscreen_photo_page_new (file); +#line 47 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_object_ref_sink (_tmp4_); +#line 47 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp5_ = _tmp4_; +#line 47 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + app_window_go_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_PAGE, Page)); +#line 47 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp5_); +#line 44 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (file); +#line 633 "DirectWindow.c" +} + + +static gchar* direct_window_real_get_app_role (AppWindow* base) { + DirectWindow * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_WINDOW, DirectWindow); +#line 51 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = g_strdup (RESOURCES_APP_DIRECT_ROLE); +#line 51 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = _tmp0_; +#line 51 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 649 "DirectWindow.c" +} + + +static void direct_window_on_photo_changed (DirectWindow* self) { + Photo* photo = NULL; + DirectPhotoPage* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_return_if_fail (IS_DIRECT_WINDOW (self)); +#line 55 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = self->priv->direct_photo_page; +#line 55 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 55 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + photo = _tmp1_; +#line 56 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp2_ = photo; +#line 56 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + if (_tmp2_ != NULL) { +#line 670 "DirectWindow.c" + Photo* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 57 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp3_ = photo; +#line 57 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp4_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 57 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp5_ = _tmp4_; +#line 57 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp6_ = photo; +#line 57 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp7_ = photo_has_alterations (_tmp6_); +#line 57 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + direct_window_update_title (self, _tmp5_, _tmp7_); +#line 57 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp5_); +#line 690 "DirectWindow.c" + } +#line 54 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (photo); +#line 694 "DirectWindow.c" +} + + +static void direct_window_real_on_quit (AppWindow* base) { + DirectWindow * self; + DirectPhotoPage* _tmp0_ = NULL; + DirectPhotoPage* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + ConfigFacade* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + Dimensions _tmp7_ = {0}; +#line 60 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_WINDOW, DirectWindow); +#line 61 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = direct_window_get_direct_page (self); +#line 61 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = _tmp0_; +#line 61 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp2_ = direct_photo_page_check_quit (_tmp1_); +#line 61 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp3_ = !_tmp2_; +#line 61 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp1_); +#line 61 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + if (_tmp3_) { +#line 62 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return; +#line 724 "DirectWindow.c" + } +#line 64 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp4_ = config_facade_get_instance (); +#line 64 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp5_ = _tmp4_; +#line 64 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)->maximized; +#line 64 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)->dimensions; +#line 64 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + configuration_facade_set_direct_window_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp6_, &_tmp7_); +#line 64 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp5_); +#line 66 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + APP_WINDOW_CLASS (direct_window_parent_class)->on_quit (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)); +#line 740 "DirectWindow.c" +} + + +static gboolean direct_window_real_delete_event (GtkWidget* base, GdkEventAny* event) { + DirectWindow * self; + gboolean result = FALSE; + DirectPhotoPage* _tmp0_ = NULL; + DirectPhotoPage* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 69 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_WINDOW, DirectWindow); +#line 69 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 70 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = direct_window_get_direct_page (self); +#line 70 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = _tmp0_; +#line 70 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp2_ = direct_photo_page_check_quit (_tmp1_); +#line 70 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp3_ = !_tmp2_; +#line 70 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (_tmp1_); +#line 70 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + if (_tmp3_) { +#line 71 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = TRUE; +#line 71 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 772 "DirectWindow.c" + } +#line 73 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + if (GTK_WIDGET_CLASS (direct_window_parent_class)->delete_event != NULL) { +#line 776 "DirectWindow.c" + GdkEventAny* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 73 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp5_ = event; +#line 73 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp6_ = GTK_WIDGET_CLASS (direct_window_parent_class)->delete_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), gtk_widget_get_type (), GtkWidget), _tmp5_); +#line 73 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp4_ = _tmp6_; +#line 785 "DirectWindow.c" + } else { +#line 73 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp4_ = FALSE; +#line 789 "DirectWindow.c" + } +#line 73 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = _tmp4_; +#line 73 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 795 "DirectWindow.c" +} + + +static gboolean direct_window_real_button_press_event (GtkWidget* base, GdkEventButton* event) { + DirectWindow * self; + gboolean result = FALSE; + GdkEventButton* _tmp0_ = NULL; + GdkEventType _tmp1_ = 0; +#line 76 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_WINDOW, DirectWindow); +#line 76 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 77 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = event; +#line 77 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = _tmp0_->type; +#line 77 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + if (_tmp1_ == GDK_2BUTTON_PRESS) { +#line 78 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + app_window_on_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)); +#line 80 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = TRUE; +#line 80 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 820 "DirectWindow.c" + } +#line 83 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = FALSE; +#line 83 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 826 "DirectWindow.c" +} + + +static gboolean direct_window_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + DirectWindow * self; + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 86 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DIRECT_WINDOW, DirectWindow); +#line 86 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 88 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp0_ = event; +#line 88 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp1_ = _tmp0_->keyval; +#line 88 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 88 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + if (g_strcmp0 (_tmp2_, "Escape") == 0) { +#line 89 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + app_window_on_quit (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)); +#line 91 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = TRUE; +#line 91 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 855 "DirectWindow.c" + } +#line 95 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + if (GTK_WIDGET_CLASS (direct_window_parent_class)->key_press_event != NULL) { +#line 859 "DirectWindow.c" + GdkEventKey* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 95 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp4_ = event; +#line 95 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp5_ = GTK_WIDGET_CLASS (direct_window_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), gtk_widget_get_type (), GtkWidget), _tmp4_); +#line 95 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp3_ = _tmp5_; +#line 868 "DirectWindow.c" + } else { +#line 95 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _tmp3_ = FALSE; +#line 872 "DirectWindow.c" + } +#line 95 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + result = _tmp3_; +#line 95 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + return result; +#line 878 "DirectWindow.c" +} + + +static void direct_window_class_init (DirectWindowClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + direct_window_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + g_type_class_add_private (klass, sizeof (DirectWindowPrivate)); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + ((AppWindowClass *) klass)->on_fullscreen = direct_window_real_on_fullscreen; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + ((AppWindowClass *) klass)->get_app_role = direct_window_real_get_app_role; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + ((AppWindowClass *) klass)->on_quit = direct_window_real_on_quit; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + ((GtkWidgetClass *) klass)->delete_event = direct_window_real_delete_event; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + ((GtkWidgetClass *) klass)->button_press_event = direct_window_real_button_press_event; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + ((GtkWidgetClass *) klass)->key_press_event = direct_window_real_key_press_event; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + G_OBJECT_CLASS (klass)->finalize = direct_window_finalize; +#line 901 "DirectWindow.c" +} + + +static void direct_window_instance_init (DirectWindow * self) { +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self->priv = DIRECT_WINDOW_GET_PRIVATE (self); +#line 908 "DirectWindow.c" +} + + +static void direct_window_finalize (GObject* obj) { + DirectWindow * self; +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DIRECT_WINDOW, DirectWindow); +#line 8 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + _g_object_unref0 (self->priv->direct_photo_page); +#line 7 "/home/jens/Source/shotwell/src/direct/DirectWindow.vala" + G_OBJECT_CLASS (direct_window_parent_class)->finalize (obj); +#line 920 "DirectWindow.c" +} + + +GType direct_window_get_type (void) { + static volatile gsize direct_window_type_id__volatile = 0; + if (g_once_init_enter (&direct_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (DirectWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) direct_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DirectWindow), 0, (GInstanceInitFunc) direct_window_instance_init, NULL }; + GType direct_window_type_id; + direct_window_type_id = g_type_register_static (TYPE_APP_WINDOW, "DirectWindow", &g_define_type_info, 0); + g_once_init_leave (&direct_window_type_id__volatile, direct_window_type_id); + } + return direct_window_type_id__volatile; +} + + + diff --git a/src/direct/mk/direct.mk b/src/direct/mk/direct.mk deleted file mode 100644 index 4c0f226..0000000 --- a/src/direct/mk/direct.mk +++ /dev/null @@ -1,36 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Direct - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := direct - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - DirectWindow.vala \ - DirectPhoto.vala \ - DirectPhotoPage.vala \ - DirectView.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Db \ - Util \ - Photos \ - Slideshow \ - Core - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/editing_tools/EditingTools.c b/src/editing_tools/EditingTools.c new file mode 100644 index 0000000..ffb8d35 --- /dev/null +++ b/src/editing_tools/EditingTools.c @@ -0,0 +1,19377 @@ +/* EditingTools.c generated by valac 0.32.1, the Vala compiler + * generated from EditingTools.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* This file is the master unit file for the EditingTools unit. It should be edited to include + * whatever code is deemed necessary. + * + * The init() and terminate() methods are mandatory. + * + * If the unit needs to be configured prior to initialization, add the proper parameters to + * the preconfigure() method, implement it, and ensure in init() that it's been called. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW (editing_tools_editing_tool_window_get_type ()) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow)) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass)) +#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW)) +#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW)) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass)) + +typedef struct _EditingToolsEditingToolWindow EditingToolsEditingToolWindow; +typedef struct _EditingToolsEditingToolWindowClass EditingToolsEditingToolWindowClass; +typedef struct _EditingToolsEditingToolWindowPrivate EditingToolsEditingToolWindowPrivate; +#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 EDITING_TOOLS_TYPE_PHOTO_CANVAS (editing_tools_photo_canvas_get_type ()) +#define EDITING_TOOLS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvas)) +#define EDITING_TOOLS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass)) +#define EDITING_TOOLS_IS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS)) +#define EDITING_TOOLS_IS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS)) +#define EDITING_TOOLS_PHOTO_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass)) + +typedef struct _EditingToolsPhotoCanvas EditingToolsPhotoCanvas; +typedef struct _EditingToolsPhotoCanvasClass EditingToolsPhotoCanvasClass; +typedef struct _EditingToolsPhotoCanvasPrivate EditingToolsPhotoCanvasPrivate; + +#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_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) +#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL))) + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; + +#define TYPE_BOX (box_get_type ()) +typedef struct _Box Box; +typedef struct _EditingToolsParamSpecPhotoCanvas EditingToolsParamSpecPhotoCanvas; + +#define EDITING_TOOLS_TYPE_EDITING_TOOL (editing_tools_editing_tool_get_type ()) +#define EDITING_TOOLS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)) +#define EDITING_TOOLS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass)) +#define EDITING_TOOLS_IS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL)) +#define EDITING_TOOLS_IS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL)) +#define EDITING_TOOLS_EDITING_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass)) + +typedef struct _EditingToolsEditingTool EditingToolsEditingTool; +typedef struct _EditingToolsEditingToolClass EditingToolsEditingToolClass; +typedef struct _EditingToolsEditingToolPrivate EditingToolsEditingToolPrivate; +#define _editing_tools_photo_canvas_unref0(var) ((var == NULL) ? NULL : (var = (editing_tools_photo_canvas_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; +typedef struct _EditingToolsParamSpecEditingTool EditingToolsParamSpecEditingTool; + +#define EDITING_TOOLS_TYPE_CROP_TOOL (editing_tools_crop_tool_get_type ()) +#define EDITING_TOOLS_CROP_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool)) +#define EDITING_TOOLS_CROP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolClass)) +#define EDITING_TOOLS_IS_CROP_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_CROP_TOOL)) +#define EDITING_TOOLS_IS_CROP_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_CROP_TOOL)) +#define EDITING_TOOLS_CROP_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolClass)) + +typedef struct _EditingToolsCropTool EditingToolsCropTool; +typedef struct _EditingToolsCropToolClass EditingToolsCropToolClass; +typedef struct _EditingToolsCropToolPrivate EditingToolsCropToolPrivate; + +#define EDITING_TOOLS_CROP_TOOL_TYPE_CROP_TOOL_WINDOW (editing_tools_crop_tool_crop_tool_window_get_type ()) +#define EDITING_TOOLS_CROP_TOOL_CROP_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_CROP_TOOL_TYPE_CROP_TOOL_WINDOW, EditingToolsCropToolCropToolWindow)) +#define EDITING_TOOLS_CROP_TOOL_CROP_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_CROP_TOOL_TYPE_CROP_TOOL_WINDOW, EditingToolsCropToolCropToolWindowClass)) +#define EDITING_TOOLS_CROP_TOOL_IS_CROP_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_CROP_TOOL_TYPE_CROP_TOOL_WINDOW)) +#define EDITING_TOOLS_CROP_TOOL_IS_CROP_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_CROP_TOOL_TYPE_CROP_TOOL_WINDOW)) +#define EDITING_TOOLS_CROP_TOOL_CROP_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_CROP_TOOL_TYPE_CROP_TOOL_WINDOW, EditingToolsCropToolCropToolWindowClass)) + +typedef struct _EditingToolsCropToolCropToolWindow EditingToolsCropToolCropToolWindow; +typedef struct _EditingToolsCropToolCropToolWindowClass EditingToolsCropToolCropToolWindowClass; + +#define TYPE_BOX_LOCATION (box_location_get_type ()) + +#define EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION (editing_tools_crop_tool_constraint_description_get_type ()) +#define EDITING_TOOLS_CROP_TOOL_CONSTRAINT_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION, EditingToolsCropToolConstraintDescription)) +#define EDITING_TOOLS_CROP_TOOL_CONSTRAINT_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION, EditingToolsCropToolConstraintDescriptionClass)) +#define EDITING_TOOLS_CROP_TOOL_IS_CONSTRAINT_DESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION)) +#define EDITING_TOOLS_CROP_TOOL_IS_CONSTRAINT_DESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION)) +#define EDITING_TOOLS_CROP_TOOL_CONSTRAINT_DESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION, EditingToolsCropToolConstraintDescriptionClass)) + +typedef struct _EditingToolsCropToolConstraintDescription EditingToolsCropToolConstraintDescription; +typedef struct _EditingToolsCropToolConstraintDescriptionClass EditingToolsCropToolConstraintDescriptionClass; + +#define EDITING_TOOLS_CROP_TOOL_TYPE_RETICLE_ORIENTATION (editing_tools_crop_tool_reticle_orientation_get_type ()) + +#define EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_MODE (editing_tools_crop_tool_constraint_mode_get_type ()) +typedef struct _EditingToolsCropToolConstraintDescriptionPrivate EditingToolsCropToolConstraintDescriptionPrivate; +#define _editing_tools_crop_tool_constraint_description_unref0(var) ((var == NULL) ? NULL : (var = (editing_tools_crop_tool_constraint_description_unref (var), NULL))) +typedef struct _EditingToolsCropToolCropToolWindowPrivate EditingToolsCropToolCropToolWindowPrivate; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_BACKING_FETCH_MODE (backing_fetch_mode_get_type ()) + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ()) +#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)) +#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) +#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) + +typedef struct _SingleDataSourceCommand SingleDataSourceCommand; +typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass; + +#define TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND (generic_photo_transformation_command_get_type ()) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand)) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass)) +#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND)) +#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND)) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass)) + +typedef struct _GenericPhotoTransformationCommand GenericPhotoTransformationCommand; +typedef struct _GenericPhotoTransformationCommandClass GenericPhotoTransformationCommandClass; + +#define TYPE_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; + +#define TYPE_BOX_COMPLEMENTS (box_complements_get_type ()) +typedef struct _EditingToolsCropToolParamSpecConstraintDescription EditingToolsCropToolParamSpecConstraintDescription; + +#define EDITING_TOOLS_TYPE_REDEYE_INSTANCE (editing_tools_redeye_instance_get_type ()) +typedef struct _EditingToolsRedeyeInstance EditingToolsRedeyeInstance; + +#define EDITING_TOOLS_TYPE_REDEYE_TOOL (editing_tools_redeye_tool_get_type ()) +#define EDITING_TOOLS_REDEYE_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool)) +#define EDITING_TOOLS_REDEYE_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolClass)) +#define EDITING_TOOLS_IS_REDEYE_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL)) +#define EDITING_TOOLS_IS_REDEYE_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_REDEYE_TOOL)) +#define EDITING_TOOLS_REDEYE_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolClass)) + +typedef struct _EditingToolsRedeyeTool EditingToolsRedeyeTool; +typedef struct _EditingToolsRedeyeToolClass EditingToolsRedeyeToolClass; +typedef struct _EditingToolsRedeyeToolPrivate EditingToolsRedeyeToolPrivate; + +#define EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW (editing_tools_redeye_tool_redeye_tool_window_get_type ()) +#define EDITING_TOOLS_REDEYE_TOOL_REDEYE_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW, EditingToolsRedeyeToolRedeyeToolWindow)) +#define EDITING_TOOLS_REDEYE_TOOL_REDEYE_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW, EditingToolsRedeyeToolRedeyeToolWindowClass)) +#define EDITING_TOOLS_REDEYE_TOOL_IS_REDEYE_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW)) +#define EDITING_TOOLS_REDEYE_TOOL_IS_REDEYE_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW)) +#define EDITING_TOOLS_REDEYE_TOOL_REDEYE_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW, EditingToolsRedeyeToolRedeyeToolWindowClass)) + +typedef struct _EditingToolsRedeyeToolRedeyeToolWindow EditingToolsRedeyeToolRedeyeToolWindow; +typedef struct _EditingToolsRedeyeToolRedeyeToolWindowClass EditingToolsRedeyeToolRedeyeToolWindowClass; +typedef struct _EditingToolsRedeyeToolRedeyeToolWindowPrivate EditingToolsRedeyeToolRedeyeToolWindowPrivate; + +#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; + +#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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define EDITING_TOOLS_TYPE_ADJUST_TOOL (editing_tools_adjust_tool_get_type ()) +#define EDITING_TOOLS_ADJUST_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool)) +#define EDITING_TOOLS_ADJUST_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolClass)) +#define EDITING_TOOLS_IS_ADJUST_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL)) +#define EDITING_TOOLS_IS_ADJUST_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_ADJUST_TOOL)) +#define EDITING_TOOLS_ADJUST_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolClass)) + +typedef struct _EditingToolsAdjustTool EditingToolsAdjustTool; +typedef struct _EditingToolsAdjustToolClass EditingToolsAdjustToolClass; +typedef struct _EditingToolsAdjustToolPrivate EditingToolsAdjustToolPrivate; + +#define EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_WINDOW (editing_tools_adjust_tool_adjust_tool_window_get_type ()) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_WINDOW, EditingToolsAdjustToolAdjustToolWindow)) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_WINDOW, EditingToolsAdjustToolAdjustToolWindowClass)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_WINDOW)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_WINDOW)) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_WINDOW, EditingToolsAdjustToolAdjustToolWindowClass)) + +typedef struct _EditingToolsAdjustToolAdjustToolWindow EditingToolsAdjustToolAdjustToolWindow; +typedef struct _EditingToolsAdjustToolAdjustToolWindowClass EditingToolsAdjustToolAdjustToolWindowClass; + +#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ()) +#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer)) +#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) +#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER)) +#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER)) +#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) + +typedef struct _PixelTransformer PixelTransformer; +typedef struct _PixelTransformerClass PixelTransformerClass; + +#define TYPE_PIXEL_TRANSFORMATION_BUNDLE (pixel_transformation_bundle_get_type ()) +#define PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundle)) +#define PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define IS_PIXEL_TRANSFORMATION_BUNDLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION_BUNDLE)) +#define PIXEL_TRANSFORMATION_BUNDLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION_BUNDLE, PixelTransformationBundleClass)) + +typedef struct _PixelTransformationBundle PixelTransformationBundle; +typedef struct _PixelTransformationBundleClass PixelTransformationBundleClass; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; +#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL))) +#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL))) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) + +#define TYPE_PIXEL_TRANSFORMATION (pixel_transformation_get_type ()) +#define PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformation)) +#define PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) +#define IS_PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION)) +#define IS_PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION)) +#define PIXEL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) + +typedef struct _PixelTransformation PixelTransformation; +typedef struct _PixelTransformationClass PixelTransformationClass; + +#define TYPE_HSV_TRANSFORMATION (hsv_transformation_get_type ()) +#define HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformation)) +#define HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HSV_TRANSFORMATION, HSVTransformationClass)) +#define IS_HSV_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HSV_TRANSFORMATION)) +#define IS_HSV_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HSV_TRANSFORMATION)) +#define HSV_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HSV_TRANSFORMATION, HSVTransformationClass)) + +typedef struct _HSVTransformation HSVTransformation; +typedef struct _HSVTransformationClass HSVTransformationClass; + +#define TYPE_EXPANSION_TRANSFORMATION (expansion_transformation_get_type ()) +#define EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation)) +#define EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass)) +#define IS_EXPANSION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPANSION_TRANSFORMATION)) +#define IS_EXPANSION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPANSION_TRANSFORMATION)) +#define EXPANSION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformationClass)) + +typedef struct _ExpansionTransformation ExpansionTransformation; +typedef struct _ExpansionTransformationClass ExpansionTransformationClass; + +#define TYPE_PIXEL_TRANSFORMATION_TYPE (pixel_transformation_type_get_type ()) +typedef struct _EditingToolsAdjustToolAdjustToolWindowPrivate EditingToolsAdjustToolAdjustToolWindowPrivate; + +#define TYPE_RGB_HISTOGRAM_MANIPULATOR (rgb_histogram_manipulator_get_type ()) +#define RGB_HISTOGRAM_MANIPULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulator)) +#define RGB_HISTOGRAM_MANIPULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulatorClass)) +#define IS_RGB_HISTOGRAM_MANIPULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR)) +#define IS_RGB_HISTOGRAM_MANIPULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_HISTOGRAM_MANIPULATOR)) +#define RGB_HISTOGRAM_MANIPULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_HISTOGRAM_MANIPULATOR, RGBHistogramManipulatorClass)) + +typedef struct _RGBHistogramManipulator RGBHistogramManipulator; +typedef struct _RGBHistogramManipulatorClass RGBHistogramManipulatorClass; + +#define TYPE_SHADOW_DETAIL_TRANSFORMATION (shadow_detail_transformation_get_type ()) +#define SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation)) +#define SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass)) +#define IS_SHADOW_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION)) +#define IS_SHADOW_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SHADOW_DETAIL_TRANSFORMATION)) +#define SHADOW_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformationClass)) + +typedef struct _ShadowDetailTransformation ShadowDetailTransformation; +typedef struct _ShadowDetailTransformationClass ShadowDetailTransformationClass; + +#define TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION (highlight_detail_transformation_get_type ()) +#define HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation)) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass)) +#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION)) +#define IS_HIGHLIGHT_DETAIL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION)) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformationClass)) + +typedef struct _HighlightDetailTransformation HighlightDetailTransformation; +typedef struct _HighlightDetailTransformationClass HighlightDetailTransformationClass; + +#define TYPE_RGB_TRANSFORMATION (rgb_transformation_get_type ()) +#define RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformation)) +#define RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_TRANSFORMATION, RGBTransformationClass)) +#define IS_RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_TRANSFORMATION)) +#define IS_RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_TRANSFORMATION)) +#define RGB_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformationClass)) + +typedef struct _RGBTransformation RGBTransformation; +typedef struct _RGBTransformationClass RGBTransformationClass; + +#define TYPE_TEMPERATURE_TRANSFORMATION (temperature_transformation_get_type ()) +#define TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation)) +#define TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass)) +#define IS_TEMPERATURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEMPERATURE_TRANSFORMATION)) +#define IS_TEMPERATURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEMPERATURE_TRANSFORMATION)) +#define TEMPERATURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformationClass)) + +typedef struct _TemperatureTransformation TemperatureTransformation; +typedef struct _TemperatureTransformationClass TemperatureTransformationClass; + +#define TYPE_TINT_TRANSFORMATION (tint_transformation_get_type ()) +#define TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TINT_TRANSFORMATION, TintTransformation)) +#define TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TINT_TRANSFORMATION, TintTransformationClass)) +#define IS_TINT_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TINT_TRANSFORMATION)) +#define IS_TINT_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TINT_TRANSFORMATION)) +#define TINT_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TINT_TRANSFORMATION, TintTransformationClass)) + +typedef struct _TintTransformation TintTransformation; +typedef struct _TintTransformationClass TintTransformationClass; + +#define TYPE_SATURATION_TRANSFORMATION (saturation_transformation_get_type ()) +#define SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformation)) +#define SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass)) +#define IS_SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SATURATION_TRANSFORMATION)) +#define IS_SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SATURATION_TRANSFORMATION)) +#define SATURATION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass)) + +typedef struct _SaturationTransformation SaturationTransformation; +typedef struct _SaturationTransformationClass SaturationTransformationClass; + +#define TYPE_EXPOSURE_TRANSFORMATION (exposure_transformation_get_type ()) +#define EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation)) +#define EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass)) +#define IS_EXPOSURE_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXPOSURE_TRANSFORMATION)) +#define IS_EXPOSURE_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXPOSURE_TRANSFORMATION)) +#define EXPOSURE_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformationClass)) + +typedef struct _ExposureTransformation ExposureTransformation; +typedef struct _ExposureTransformationClass ExposureTransformationClass; +#define _pixel_transformation_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_unref (var), NULL))) + +#define EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND (editing_tools_adjust_tool_adjust_tool_command_get_type ()) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_TOOL_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_TOOL_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommandClass)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_TOOL_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_TOOL_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND)) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_TOOL_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommandClass)) + +typedef struct _EditingToolsAdjustToolAdjustToolCommand EditingToolsAdjustToolAdjustToolCommand; +typedef struct _EditingToolsAdjustToolAdjustToolCommandClass EditingToolsAdjustToolAdjustToolCommandClass; + +#define EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND (editing_tools_adjust_tool_adjust_reset_command_get_type ()) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_RESET_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, EditingToolsAdjustToolAdjustResetCommand)) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_RESET_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, EditingToolsAdjustToolAdjustResetCommandClass)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_RESET_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_RESET_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND)) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_RESET_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, EditingToolsAdjustToolAdjustResetCommandClass)) + +typedef struct _EditingToolsAdjustToolAdjustResetCommand EditingToolsAdjustToolAdjustResetCommand; +typedef struct _EditingToolsAdjustToolAdjustResetCommandClass EditingToolsAdjustToolAdjustResetCommandClass; + +#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; + +#define EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND (editing_tools_adjust_tool_slider_adjustment_command_get_type ()) +#define EDITING_TOOLS_ADJUST_TOOL_SLIDER_ADJUSTMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommand)) +#define EDITING_TOOLS_ADJUST_TOOL_SLIDER_ADJUSTMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommandClass)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_SLIDER_ADJUSTMENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_SLIDER_ADJUSTMENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND)) +#define EDITING_TOOLS_ADJUST_TOOL_SLIDER_ADJUSTMENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommandClass)) + +typedef struct _EditingToolsAdjustToolSliderAdjustmentCommand EditingToolsAdjustToolSliderAdjustmentCommand; +typedef struct _EditingToolsAdjustToolSliderAdjustmentCommandClass EditingToolsAdjustToolSliderAdjustmentCommandClass; + +#define EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND (editing_tools_adjust_tool_adjust_enhance_command_get_type ()) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_ENHANCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, EditingToolsAdjustToolAdjustEnhanceCommand)) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_ENHANCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, EditingToolsAdjustToolAdjustEnhanceCommandClass)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_ENHANCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND)) +#define EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_ENHANCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND)) +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_ENHANCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, EditingToolsAdjustToolAdjustEnhanceCommandClass)) + +typedef struct _EditingToolsAdjustToolAdjustEnhanceCommand EditingToolsAdjustToolAdjustEnhanceCommand; +typedef struct _EditingToolsAdjustToolAdjustEnhanceCommandClass EditingToolsAdjustToolAdjustEnhanceCommandClass; + +#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; +typedef struct _CommandPrivate CommandPrivate; +typedef struct _EditingToolsAdjustToolAdjustToolCommandPrivate EditingToolsAdjustToolAdjustToolCommandPrivate; +typedef struct _EditingToolsAdjustToolAdjustResetCommandPrivate EditingToolsAdjustToolAdjustResetCommandPrivate; +typedef struct _EditingToolsAdjustToolSliderAdjustmentCommandPrivate EditingToolsAdjustToolSliderAdjustmentCommandPrivate; +typedef struct _EditingToolsAdjustToolAdjustEnhanceCommandPrivate EditingToolsAdjustToolAdjustEnhanceCommandPrivate; + +#define TYPE_ENHANCE_SINGLE_COMMAND (enhance_single_command_get_type ()) +#define ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommand)) +#define ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommandClass)) +#define IS_ENHANCE_SINGLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ENHANCE_SINGLE_COMMAND)) +#define IS_ENHANCE_SINGLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ENHANCE_SINGLE_COMMAND)) +#define ENHANCE_SINGLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ENHANCE_SINGLE_COMMAND, EnhanceSingleCommandClass)) + +typedef struct _EnhanceSingleCommand EnhanceSingleCommand; +typedef struct _EnhanceSingleCommandClass EnhanceSingleCommandClass; +#define _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 _EditingToolsEditingToolWindow { + GtkWindow parent_instance; + EditingToolsEditingToolWindowPrivate * priv; +}; + +struct _EditingToolsEditingToolWindowClass { + GtkWindowClass parent_class; +}; + +struct _EditingToolsEditingToolWindowPrivate { + GtkFrame* layout_frame; + gboolean user_moved; +}; + +struct _EditingToolsPhotoCanvas { + GTypeInstance parent_instance; + volatile int ref_count; + EditingToolsPhotoCanvasPrivate * priv; +}; + +struct _EditingToolsPhotoCanvasClass { + GTypeClass parent_class; + void (*finalize) (EditingToolsPhotoCanvas *self); + void (*repaint) (EditingToolsPhotoCanvas* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _EditingToolsPhotoCanvasPrivate { + GtkWindow* container; + GdkWindow* drawing_window; + Photo* photo; + cairo_t* default_ctx; + Dimensions surface_dim; + cairo_surface_t* scaled; + GdkPixbuf* scaled_pixbuf; + GdkRectangle scaled_position; +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _Box { + gint left; + gint top; + gint right; + gint bottom; +}; + +struct _EditingToolsParamSpecPhotoCanvas { + GParamSpec parent_instance; +}; + +struct _EditingToolsEditingTool { + GTypeInstance parent_instance; + volatile int ref_count; + EditingToolsEditingToolPrivate * priv; + EditingToolsPhotoCanvas* canvas; + cairo_surface_t* surface; + gchar* name; +}; + +struct _EditingToolsEditingToolClass { + GTypeClass parent_class; + void (*finalize) (EditingToolsEditingTool *self); + void (*activate) (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas); + void (*deactivate) (EditingToolsEditingTool* self); + EditingToolsEditingToolWindow* (*get_tool_window) (EditingToolsEditingTool* self); + GdkPixbuf* (*get_display_pixbuf) (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error); + void (*on_left_click) (EditingToolsEditingTool* self, gint x, gint y); + void (*on_left_released) (EditingToolsEditingTool* self, gint x, gint y); + void (*on_motion) (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (EditingToolsEditingTool* self); + gboolean (*on_keypress) (EditingToolsEditingTool* self, GdkEventKey* event); + void (*paint) (EditingToolsEditingTool* self, cairo_t* ctx); +}; + +struct _EditingToolsEditingToolPrivate { + EditingToolsEditingToolWindow* tool_window; +}; + +typedef EditingToolsEditingTool* (*EditingToolsEditingToolFactory) (); +struct _EditingToolsParamSpecEditingTool { + GParamSpec parent_instance; +}; + +struct _EditingToolsCropTool { + EditingToolsEditingTool parent_instance; + EditingToolsCropToolPrivate * priv; +}; + +struct _EditingToolsCropToolClass { + EditingToolsEditingToolClass parent_class; +}; + +typedef enum { + BOX_LOCATION_OUTSIDE, + BOX_LOCATION_INSIDE, + BOX_LOCATION_TOP_SIDE, + BOX_LOCATION_LEFT_SIDE, + BOX_LOCATION_RIGHT_SIDE, + BOX_LOCATION_BOTTOM_SIDE, + BOX_LOCATION_TOP_LEFT, + BOX_LOCATION_BOTTOM_LEFT, + BOX_LOCATION_TOP_RIGHT, + BOX_LOCATION_BOTTOM_RIGHT +} BoxLocation; + +typedef enum { + EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE, + EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_PORTRAIT +} EditingToolsCropToolReticleOrientation; + +typedef enum { + EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_NORMAL, + EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_CUSTOM +} EditingToolsCropToolConstraintMode; + +struct _EditingToolsCropToolPrivate { + EditingToolsCropToolCropToolWindow* crop_tool_window; + GdkCursorType current_cursor_type; + BoxLocation in_manipulation; + cairo_t* wide_black_ctx; + cairo_t* wide_white_ctx; + cairo_t* thin_white_ctx; + cairo_t* text_ctx; + cairo_surface_t* crop_surface; + Box scaled_crop; + gint last_grab_x; + gint last_grab_y; + EditingToolsCropToolConstraintDescription** constraints; + gint constraints_length1; + gint _constraints_size_; + GtkListStore* constraint_list; + EditingToolsCropToolReticleOrientation reticle_orientation; + EditingToolsCropToolConstraintMode constraint_mode; + gboolean entry_insert_in_progress; + gfloat custom_aspect_ratio; + gint custom_width; + gint custom_height; + gint custom_init_width; + gint custom_init_height; + gfloat pre_aspect_ratio; +}; + +struct _EditingToolsCropToolConstraintDescription { + GTypeInstance parent_instance; + volatile int ref_count; + EditingToolsCropToolConstraintDescriptionPrivate * priv; + gchar* name; + gint basis_width; + gint basis_height; + gboolean is_pivotable; + gfloat aspect_ratio; +}; + +struct _EditingToolsCropToolConstraintDescriptionClass { + GTypeClass parent_class; + void (*finalize) (EditingToolsCropToolConstraintDescription *self); +}; + +struct _EditingToolsCropToolCropToolWindow { + EditingToolsEditingToolWindow parent_instance; + EditingToolsCropToolCropToolWindowPrivate * priv; + GtkButton* ok_button; + GtkButton* cancel_button; + GtkComboBox* constraint_combo; + GtkButton* pivot_reticle_button; + GtkEntry* custom_width_entry; + GtkEntry* custom_height_entry; + GtkLabel* custom_mulsign_label; + GtkEntry* most_recently_edited; + GtkBox* response_layout; + GtkBox* layout; + gint normal_width; + gint normal_height; +}; + +struct _EditingToolsCropToolCropToolWindowClass { + EditingToolsEditingToolWindowClass parent_class; +}; + +typedef enum { + BACKING_FETCH_MODE_SOURCE, + BACKING_FETCH_MODE_BASELINE, + BACKING_FETCH_MODE_MASTER, + BACKING_FETCH_MODE_UNMODIFIED +} BackingFetchMode; + +typedef enum { + BOX_COMPLEMENTS_NONE, + BOX_COMPLEMENTS_VERTICAL, + BOX_COMPLEMENTS_HORIZONTAL, + BOX_COMPLEMENTS_BOTH +} BoxComplements; + +struct _EditingToolsCropToolParamSpecConstraintDescription { + GParamSpec parent_instance; +}; + +struct _EditingToolsRedeyeInstance { + GdkPoint center; + gint radius; +}; + +struct _EditingToolsRedeyeTool { + EditingToolsEditingTool parent_instance; + EditingToolsRedeyeToolPrivate * priv; +}; + +struct _EditingToolsRedeyeToolClass { + EditingToolsEditingToolClass parent_class; +}; + +struct _EditingToolsRedeyeToolPrivate { + cairo_t* thin_white_ctx; + cairo_t* wider_gray_ctx; + EditingToolsRedeyeToolRedeyeToolWindow* redeye_tool_window; + EditingToolsRedeyeInstance user_interaction_instance; + gboolean is_reticle_move_in_progress; + GdkPoint reticle_move_mouse_start_point; + GdkPoint reticle_move_anchor; + GdkCursor* cached_arrow_cursor; + GdkCursor* cached_grab_cursor; + GdkRectangle old_scaled_pixbuf_position; + GdkPixbuf* current_pixbuf; +}; + +struct _EditingToolsRedeyeToolRedeyeToolWindow { + EditingToolsEditingToolWindow parent_instance; + EditingToolsRedeyeToolRedeyeToolWindowPrivate * priv; + GtkButton* apply_button; + GtkButton* close_button; + GtkScale* slider; +}; + +struct _EditingToolsRedeyeToolRedeyeToolWindowClass { + EditingToolsEditingToolWindowClass parent_class; +}; + +struct _EditingToolsRedeyeToolRedeyeToolWindowPrivate { + GtkLabel* slider_label; +}; + +struct _EditingToolsAdjustTool { + EditingToolsEditingTool parent_instance; + EditingToolsAdjustToolPrivate * priv; +}; + +struct _EditingToolsAdjustToolClass { + EditingToolsEditingToolClass parent_class; +}; + +struct _EditingToolsAdjustToolPrivate { + EditingToolsAdjustToolAdjustToolWindow* adjust_tool_window; + gboolean suppress_effect_redraw; + GdkPixbuf* draw_to_pixbuf; + GdkPixbuf* histogram_pixbuf; + GdkPixbuf* virgin_histogram_pixbuf; + PixelTransformer* transformer; + PixelTransformer* histogram_transformer; + PixelTransformationBundle* transformations; + gfloat* fp_pixel_cache; + gint fp_pixel_cache_length1; + gint _fp_pixel_cache_size_; + gboolean disable_histogram_refresh; + OneShotScheduler* temperature_scheduler; + OneShotScheduler* tint_scheduler; + OneShotScheduler* saturation_scheduler; + OneShotScheduler* exposure_scheduler; + OneShotScheduler* shadows_scheduler; + OneShotScheduler* highlights_scheduler; +}; + +typedef enum { + PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION, + PIXEL_TRANSFORMATION_TYPE_SHADOWS, + PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS, + PIXEL_TRANSFORMATION_TYPE_TEMPERATURE, + PIXEL_TRANSFORMATION_TYPE_TINT, + PIXEL_TRANSFORMATION_TYPE_SATURATION, + PIXEL_TRANSFORMATION_TYPE_EXPOSURE +} PixelTransformationType; + +struct _EditingToolsAdjustToolAdjustToolWindow { + EditingToolsEditingToolWindow parent_instance; + EditingToolsAdjustToolAdjustToolWindowPrivate * priv; + GtkScale* exposure_slider; + GtkScale* saturation_slider; + GtkScale* tint_slider; + GtkScale* temperature_slider; + GtkScale* shadows_slider; + GtkScale* highlights_slider; + GtkButton* ok_button; + GtkButton* reset_button; + GtkButton* cancel_button; + RGBHistogramManipulator* histogram_manipulator; +}; + +struct _EditingToolsAdjustToolAdjustToolWindowClass { + EditingToolsEditingToolWindowClass parent_class; +}; + +typedef void (*OneShotCallback) (void* user_data); +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 _EditingToolsAdjustToolAdjustToolCommand { + Command parent_instance; + EditingToolsAdjustToolAdjustToolCommandPrivate * priv; + EditingToolsAdjustTool* owner; +}; + +struct _EditingToolsAdjustToolAdjustToolCommandClass { + CommandClass parent_class; +}; + +struct _EditingToolsAdjustToolAdjustResetCommand { + EditingToolsAdjustToolAdjustToolCommand parent_instance; + EditingToolsAdjustToolAdjustResetCommandPrivate * priv; +}; + +struct _EditingToolsAdjustToolAdjustResetCommandClass { + EditingToolsAdjustToolAdjustToolCommandClass parent_class; +}; + +struct _EditingToolsAdjustToolAdjustResetCommandPrivate { + PixelTransformationBundle* original; + PixelTransformationBundle* reset; +}; + +struct _EditingToolsAdjustToolSliderAdjustmentCommand { + EditingToolsAdjustToolAdjustToolCommand parent_instance; + EditingToolsAdjustToolSliderAdjustmentCommandPrivate * priv; +}; + +struct _EditingToolsAdjustToolSliderAdjustmentCommandClass { + EditingToolsAdjustToolAdjustToolCommandClass parent_class; +}; + +struct _EditingToolsAdjustToolSliderAdjustmentCommandPrivate { + PixelTransformationType transformation_type; + PixelTransformation* new_transformation; + PixelTransformation* old_transformation; +}; + +struct _EditingToolsAdjustToolAdjustEnhanceCommand { + EditingToolsAdjustToolAdjustToolCommand parent_instance; + EditingToolsAdjustToolAdjustEnhanceCommandPrivate * priv; +}; + +struct _EditingToolsAdjustToolAdjustEnhanceCommandClass { + EditingToolsAdjustToolAdjustToolCommandClass parent_class; +}; + +struct _EditingToolsAdjustToolAdjustEnhanceCommandPrivate { + Photo* photo; + PixelTransformationBundle* original; + PixelTransformationBundle* enhanced; +}; + + +static gpointer editing_tools_editing_tool_window_parent_class = NULL; +static gpointer editing_tools_photo_canvas_parent_class = NULL; +static gpointer editing_tools_editing_tool_parent_class = NULL; +static gpointer editing_tools_crop_tool_parent_class = NULL; +static gpointer editing_tools_crop_tool_constraint_description_parent_class = NULL; +static gpointer editing_tools_crop_tool_crop_tool_window_parent_class = NULL; +static gpointer editing_tools_redeye_tool_parent_class = NULL; +static gpointer editing_tools_redeye_tool_redeye_tool_window_parent_class = NULL; +static gpointer editing_tools_adjust_tool_parent_class = NULL; +static gpointer editing_tools_adjust_tool_adjust_tool_window_parent_class = NULL; +static gpointer editing_tools_adjust_tool_adjust_tool_command_parent_class = NULL; +static gpointer editing_tools_adjust_tool_adjust_reset_command_parent_class = NULL; +static gpointer editing_tools_adjust_tool_slider_adjustment_command_parent_class = NULL; +static gpointer editing_tools_adjust_tool_adjust_enhance_command_parent_class = NULL; + +void editing_tools_preconfigure (void); +void editing_tools_init (GError** error); +void editing_tools_terminate (void); +GType editing_tools_editing_tool_window_get_type (void) G_GNUC_CONST; +#define EDITING_TOOLS_EDITING_TOOL_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowPrivate)) +enum { + EDITING_TOOLS_EDITING_TOOL_WINDOW_DUMMY_PROPERTY +}; +#define EDITING_TOOLS_EDITING_TOOL_WINDOW_FRAME_BORDER 6 +EditingToolsEditingToolWindow* editing_tools_editing_tool_window_construct (GType object_type, GtkWindow* container); +void suppress_warnings (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message); +static void _suppress_warnings_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self); +static void editing_tools_editing_tool_window_real_add (GtkContainer* base, GtkWidget* widget); +gboolean editing_tools_editing_tool_window_has_user_moved (EditingToolsEditingToolWindow* self); +static gboolean editing_tools_editing_tool_window_real_key_press_event (GtkWidget* base, GdkEventKey* event); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +static gboolean editing_tools_editing_tool_window_real_button_press_event (GtkWidget* base, GdkEventButton* event); +static void editing_tools_editing_tool_window_real_realize (GtkWidget* base); +#define RESOURCES_TRANSIENT_WINDOW_OPACITY 0.90 +static void editing_tools_editing_tool_window_finalize (GObject* obj); +gpointer editing_tools_photo_canvas_ref (gpointer instance); +void editing_tools_photo_canvas_unref (gpointer instance); +GParamSpec* editing_tools_param_spec_photo_canvas (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void editing_tools_value_set_photo_canvas (GValue* value, gpointer v_object); +void editing_tools_value_take_photo_canvas (GValue* value, gpointer v_object); +gpointer editing_tools_value_get_photo_canvas (const GValue* value); +GType editing_tools_photo_canvas_get_type (void) G_GNUC_CONST; +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 dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +#define EDITING_TOOLS_PHOTO_CANVAS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasPrivate)) +enum { + EDITING_TOOLS_PHOTO_CANVAS_DUMMY_PROPERTY +}; +EditingToolsPhotoCanvas* editing_tools_photo_canvas_construct (GType object_type, GtkWindow* container, GdkWindow* drawing_window, Photo* photo, cairo_t* default_ctx, Dimensions* surface_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position); +static cairo_surface_t* editing_tools_photo_canvas_pixbuf_to_surface (EditingToolsPhotoCanvas* self, cairo_t* default_ctx, GdkPixbuf* pixbuf, GdkRectangle* pos); +void editing_tools_photo_canvas_unscaled_to_raw_rect (EditingToolsPhotoCanvas* self, GdkRectangle* rectangle, GdkRectangle* result); +void photo_unscaled_to_raw_rect (Photo* self, GdkRectangle* unscaled_rect, GdkRectangle* result); +void editing_tools_photo_canvas_active_to_unscaled_point (EditingToolsPhotoCanvas* self, GdkPoint* active_point, GdkPoint* result); +void editing_tools_photo_canvas_get_scaled_pixbuf_position (EditingToolsPhotoCanvas* self, GdkRectangle* result); +GType photo_exception_get_type (void) G_GNUC_CONST; +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +void editing_tools_photo_canvas_active_to_unscaled_rect (EditingToolsPhotoCanvas* self, GdkRectangle* active_rect, GdkRectangle* result); +void editing_tools_photo_canvas_user_to_active_point (EditingToolsPhotoCanvas* self, GdkPoint* user_point, GdkPoint* result); +void editing_tools_photo_canvas_user_to_active_rect (EditingToolsPhotoCanvas* self, GdkRectangle* user_rect, GdkRectangle* result); +Photo* editing_tools_photo_canvas_get_photo (EditingToolsPhotoCanvas* self); +GtkWindow* editing_tools_photo_canvas_get_container (EditingToolsPhotoCanvas* self); +GdkWindow* editing_tools_photo_canvas_get_drawing_window (EditingToolsPhotoCanvas* self); +cairo_t* editing_tools_photo_canvas_get_default_ctx (EditingToolsPhotoCanvas* self); +void editing_tools_photo_canvas_get_surface_dim (EditingToolsPhotoCanvas* self, Dimensions* result); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void editing_tools_photo_canvas_get_scaling (EditingToolsPhotoCanvas* self, Scaling* result); +void scaling_for_viewport (Dimensions* viewport, gboolean scale_up, Scaling* result); +void editing_tools_photo_canvas_set_surface (EditingToolsPhotoCanvas* self, cairo_t* default_ctx, Dimensions* surface_dim); +cairo_surface_t* editing_tools_photo_canvas_get_scaled_surface (EditingToolsPhotoCanvas* self); +GdkPixbuf* editing_tools_photo_canvas_get_scaled_pixbuf (EditingToolsPhotoCanvas* self); +void editing_tools_photo_canvas_resized_pixbuf (EditingToolsPhotoCanvas* self, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position); +void editing_tools_photo_canvas_repaint (EditingToolsPhotoCanvas* self); +static void editing_tools_photo_canvas_real_repaint (EditingToolsPhotoCanvas* self); +void editing_tools_photo_canvas_paint_pixbuf (EditingToolsPhotoCanvas* self, GdkPixbuf* pixbuf); +void set_source_color_from_string (cairo_t* ctx, const gchar* spec); +GType box_get_type (void) G_GNUC_CONST; +Box* box_dup (const Box* self); +void box_free (Box* self); +void editing_tools_photo_canvas_paint_pixbuf_area (EditingToolsPhotoCanvas* self, GdkPixbuf* pixbuf, Box* source_area); +gint box_get_width (Box *self); +gint box_get_height (Box *self); +void editing_tools_photo_canvas_paint_surface (EditingToolsPhotoCanvas* self, cairo_surface_t* surface, gboolean over); +void editing_tools_photo_canvas_paint_surface_area (EditingToolsPhotoCanvas* self, cairo_surface_t* surface, Box* source_area, gboolean over); +void editing_tools_photo_canvas_draw_box (EditingToolsPhotoCanvas* self, cairo_t* ctx, Box* box); +void box_get_rectangle (Box *self, GdkRectangle* result); +void editing_tools_photo_canvas_draw_text (EditingToolsPhotoCanvas* self, cairo_t* ctx, const gchar* text, gint x, gint y, gboolean use_scaled_pos); +#define RESOURCES_ONIMAGE_FONT_BACKGROUND "rgba(255,255,255,0.5)" +#define RESOURCES_ONIMAGE_FONT_COLOR "#000000" +void editing_tools_photo_canvas_draw_horizontal_line (EditingToolsPhotoCanvas* self, cairo_t* ctx, gint x, gint y, gint width, gboolean use_scaled_pos); +void editing_tools_photo_canvas_draw_vertical_line (EditingToolsPhotoCanvas* self, cairo_t* ctx, gint x, gint y, gint height, gboolean use_scaled_pos); +void editing_tools_photo_canvas_erase_horizontal_line (EditingToolsPhotoCanvas* self, gint x, gint y, gint width); +void editing_tools_photo_canvas_draw_circle (EditingToolsPhotoCanvas* self, cairo_t* ctx, gint active_center_x, gint active_center_y, gint radius); +void editing_tools_photo_canvas_erase_vertical_line (EditingToolsPhotoCanvas* self, gint x, gint y, gint height); +void editing_tools_photo_canvas_erase_box (EditingToolsPhotoCanvas* self, Box* box); +void editing_tools_photo_canvas_invalidate_area (EditingToolsPhotoCanvas* self, Box* area); +static void g_cclosure_user_marshal_VOID__POINTER_BOXED (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__BOXED_OBJECT_BOXED (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void editing_tools_photo_canvas_finalize (EditingToolsPhotoCanvas* obj); +gpointer editing_tools_editing_tool_ref (gpointer instance); +void editing_tools_editing_tool_unref (gpointer instance); +GParamSpec* editing_tools_param_spec_editing_tool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void editing_tools_value_set_editing_tool (GValue* value, gpointer v_object); +void editing_tools_value_take_editing_tool (GValue* value, gpointer v_object); +gpointer editing_tools_value_get_editing_tool (const GValue* value); +GType editing_tools_editing_tool_get_type (void) G_GNUC_CONST; +#define EDITING_TOOLS_EDITING_TOOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolPrivate)) +enum { + EDITING_TOOLS_EDITING_TOOL_DUMMY_PROPERTY +}; +EditingToolsEditingTool* editing_tools_editing_tool_construct (GType object_type, const gchar* name); +void editing_tools_editing_tool_activate (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas); +static void editing_tools_editing_tool_real_activate (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas); +EditingToolsEditingToolWindow* editing_tools_editing_tool_get_tool_window (EditingToolsEditingTool* self); +gboolean editing_tools_editing_tool_on_keypress (EditingToolsEditingTool* self, GdkEventKey* event); +static gboolean _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self); +void editing_tools_editing_tool_deactivate (EditingToolsEditingTool* self); +static void editing_tools_editing_tool_real_deactivate (EditingToolsEditingTool* self); +gboolean editing_tools_editing_tool_is_activated (EditingToolsEditingTool* self); +static EditingToolsEditingToolWindow* editing_tools_editing_tool_real_get_tool_window (EditingToolsEditingTool* self); +GdkPixbuf* editing_tools_editing_tool_get_display_pixbuf (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error); +static GdkPixbuf* editing_tools_editing_tool_real_get_display_pixbuf (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error); +void dimensions_init (Dimensions *self, gint width, gint height); +void editing_tools_editing_tool_on_left_click (EditingToolsEditingTool* self, gint x, gint y); +static void editing_tools_editing_tool_real_on_left_click (EditingToolsEditingTool* self, gint x, gint y); +void editing_tools_editing_tool_on_left_released (EditingToolsEditingTool* self, gint x, gint y); +static void editing_tools_editing_tool_real_on_left_released (EditingToolsEditingTool* self, gint x, gint y); +void editing_tools_editing_tool_on_motion (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask); +static void editing_tools_editing_tool_real_on_motion (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask); +gboolean editing_tools_editing_tool_on_leave_notify_event (EditingToolsEditingTool* self); +static gboolean editing_tools_editing_tool_real_on_leave_notify_event (EditingToolsEditingTool* self); +static gboolean editing_tools_editing_tool_real_on_keypress (EditingToolsEditingTool* self, GdkEventKey* event); +void editing_tools_editing_tool_notify_cancel (EditingToolsEditingTool* self); +void editing_tools_editing_tool_paint (EditingToolsEditingTool* self, cairo_t* ctx); +static void editing_tools_editing_tool_real_paint (EditingToolsEditingTool* self, cairo_t* ctx); +GType command_get_type (void) G_GNUC_CONST; +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOXED_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void editing_tools_editing_tool_finalize (EditingToolsEditingTool* obj); +GType editing_tools_crop_tool_get_type (void) G_GNUC_CONST; +static GType editing_tools_crop_tool_crop_tool_window_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType box_location_get_type (void) G_GNUC_CONST; +static gpointer editing_tools_crop_tool_constraint_description_ref (gpointer instance); +static void editing_tools_crop_tool_constraint_description_unref (gpointer instance); +static GParamSpec* editing_tools_crop_tool_param_spec_constraint_description (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void editing_tools_crop_tool_value_set_constraint_description (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void editing_tools_crop_tool_value_take_constraint_description (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer editing_tools_crop_tool_value_get_constraint_description (const GValue* value) G_GNUC_UNUSED; +static GType editing_tools_crop_tool_constraint_description_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GType editing_tools_crop_tool_reticle_orientation_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GType editing_tools_crop_tool_constraint_mode_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define EDITING_TOOLS_CROP_TOOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropToolPrivate)) +enum { + EDITING_TOOLS_CROP_TOOL_DUMMY_PROPERTY +}; +static EditingToolsCropToolReticleOrientation editing_tools_crop_tool_reticle_orientation_toggle (EditingToolsCropToolReticleOrientation self); +static EditingToolsCropToolConstraintDescription** editing_tools_crop_tool_create_constraints (int* result_length1); +static GtkListStore* editing_tools_crop_tool_create_constraint_list (EditingToolsCropToolConstraintDescription** constraint_data, int constraint_data_length1); +#define EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO (-1.0f) +#define EDITING_TOOLS_CROP_TOOL_CROP_INIT_X_PCT 0.15 +#define EDITING_TOOLS_CROP_TOOL_CROP_INIT_Y_PCT 0.15 +#define EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE 8 +#define EDITING_TOOLS_CROP_TOOL_CROP_EXTERIOR_SATURATION 0.00f +#define EDITING_TOOLS_CROP_TOOL_CROP_EXTERIOR_RED_SHIFT -32 +#define EDITING_TOOLS_CROP_TOOL_CROP_EXTERIOR_GREEN_SHIFT -32 +#define EDITING_TOOLS_CROP_TOOL_CROP_EXTERIOR_BLUE_SHIFT -32 +#define EDITING_TOOLS_CROP_TOOL_CROP_EXTERIOR_ALPHA_SHIFT 0 +#define EDITING_TOOLS_CROP_TOOL_SCREEN_ASPECT_RATIO (-2.0f) +#define EDITING_TOOLS_CROP_TOOL_ORIGINAL_ASPECT_RATIO (-3.0f) +#define EDITING_TOOLS_CROP_TOOL_CUSTOM_ASPECT_RATIO (-4.0f) +#define EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS (-5.0f) +#define EDITING_TOOLS_CROP_TOOL_SEPARATOR (-6.0f) +#define EDITING_TOOLS_CROP_TOOL_MIN_ASPECT_RATIO (1.0f / 64.0f) +#define EDITING_TOOLS_CROP_TOOL_MAX_ASPECT_RATIO 64.0f +static EditingToolsCropTool* editing_tools_crop_tool_new (void); +static EditingToolsCropTool* editing_tools_crop_tool_construct (GType object_type); +EditingToolsCropTool* editing_tools_crop_tool_factory (void); +gboolean editing_tools_crop_tool_is_available (Photo* photo, Scaling* scaling); +void scaling_get_scaled_dimensions (Scaling *self, Dimensions* original, Dimensions* result); +void photo_get_original_dimensions (Photo* self, Dimensions* result); +static EditingToolsCropToolConstraintDescription* editing_tools_crop_tool_constraint_description_new (const gchar* new_name, gint new_basis_width, gint new_basis_height, gboolean new_pivotable, gfloat new_aspect_ratio); +static EditingToolsCropToolConstraintDescription* editing_tools_crop_tool_constraint_description_construct (GType object_type, const gchar* new_name, gint new_basis_width, gint new_basis_height, gboolean new_pivotable, gfloat new_aspect_ratio); +static void _vala_array_add4 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add5 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add6 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add7 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add8 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add9 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add10 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add11 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add12 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add13 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add14 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add15 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add16 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add17 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add18 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add19 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add20 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add21 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add22 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add23 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add24 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add25 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add26 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add27 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add28 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add29 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add30 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add31 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void _vala_array_add32 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value); +static void editing_tools_crop_tool_update_pivot_button_state (EditingToolsCropTool* self); +static EditingToolsCropToolConstraintDescription* editing_tools_crop_tool_get_selected_constraint (EditingToolsCropTool* self); +static gboolean editing_tools_crop_tool_on_width_entry_focus_out (EditingToolsCropTool* self, GdkEventFocus* event); +static gboolean editing_tools_crop_tool_on_custom_entry_focus_out (EditingToolsCropTool* self, GdkEventFocus* event); +static gboolean editing_tools_crop_tool_on_height_entry_focus_out (EditingToolsCropTool* self, GdkEventFocus* event); +static void editing_tools_crop_tool_constrain_crop (EditingToolsCropTool* self, Box* crop, Box* result); +static void editing_tools_crop_tool_crop_resized (EditingToolsCropTool* self, Box* new_crop); +static void editing_tools_crop_tool_on_width_insert_text (EditingToolsCropTool* self, const gchar* text, gint length, gint* position); +static void editing_tools_crop_tool_on_entry_insert_text (EditingToolsCropTool* self, GtkEntry* sender, const gchar* text, gint length, gint* position); +static void editing_tools_crop_tool_on_height_insert_text (EditingToolsCropTool* self, const gchar* text, gint length, gint* position); +static gfloat editing_tools_crop_tool_get_constraint_aspect_ratio (EditingToolsCropTool* self); +static gfloat editing_tools_crop_tool_get_constraint_aspect_ratio_for_constraint (EditingToolsCropTool* self, EditingToolsCropToolConstraintDescription* constraint, Photo* photo); +static void editing_tools_crop_tool_constraint_changed (EditingToolsCropTool* self); +static void editing_tools_crop_tool_set_custom_constraint_mode (EditingToolsCropTool* self); +static void editing_tools_crop_tool_set_normal_constraint_mode (EditingToolsCropTool* self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gint configuration_facade_get_last_crop_width (ConfigurationFacade* self); +gint configuration_facade_get_last_crop_height (ConfigurationFacade* self); +void box_adjust_height (Box *self, gint height); +void box_adjust_width (Box *self, gint width); +static void editing_tools_crop_tool_get_photo_dimensions (EditingToolsCropTool* self, Dimensions* result); +gboolean photo_get_straighten (Photo* self, gdouble* theta); +void clamp_inside_rotated_image (Box* src, gint img_w, gint img_h, gdouble angle_deg, gboolean preserve_geom, Box* result); +static EditingToolsCropToolConstraintDescription* editing_tools_crop_tool_get_last_constraint (EditingToolsCropTool* self, gint* index); +gint configuration_facade_get_last_crop_menu_choice (ConfigurationFacade* self); +static void editing_tools_crop_tool_real_activate (EditingToolsEditingTool* base, EditingToolsPhotoCanvas* canvas); +static void editing_tools_crop_tool_bind_canvas_handlers (EditingToolsCropTool* self, EditingToolsPhotoCanvas* canvas); +static void editing_tools_crop_tool_prepare_ctx (EditingToolsCropTool* self, cairo_t* ctx, Dimensions* dim); +static EditingToolsCropToolCropToolWindow* editing_tools_crop_tool_crop_tool_window_new (GtkWindow* container); +static EditingToolsCropToolCropToolWindow* editing_tools_crop_tool_crop_tool_window_construct (GType object_type, GtkWindow* container); +gboolean photo_has_crop (Photo* self); +static gboolean editing_tools_crop_tool_constraint_description_is_separator (EditingToolsCropToolConstraintDescription* self); +static void editing_tools_crop_tool_bind_window_handlers (EditingToolsCropTool* self); +gboolean photo_get_crop (Photo* self, Box* crop, PhotoException exceptions); +void box_init (Box *self, gint left, gint top, gint right, gint bottom); +void box_get_scaled_similar (Box *self, Dimensions* original, Dimensions* scaled, Box* result); +void dimensions_for_rectangle (GdkRectangle* rect, Dimensions* result); +static void _editing_tools_crop_tool_prepare_ctx_editing_tools_photo_canvas_new_surface (EditingToolsPhotoCanvas* _sender, cairo_t* ctx, Dimensions* dim, gpointer self); +static void editing_tools_crop_tool_on_resized_pixbuf (EditingToolsCropTool* self, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position); +static void _editing_tools_crop_tool_on_resized_pixbuf_editing_tools_photo_canvas_resized_scaled_pixbuf (EditingToolsPhotoCanvas* _sender, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position, gpointer self); +static void editing_tools_crop_tool_unbind_canvas_handlers (EditingToolsCropTool* self, EditingToolsPhotoCanvas* canvas); +static void editing_tools_crop_tool_on_crop_ok (EditingToolsCropTool* self); +static void _editing_tools_crop_tool_on_crop_ok_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _editing_tools_editing_tool_notify_cancel_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _editing_tools_crop_tool_constraint_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void editing_tools_crop_tool_on_pivot_button_clicked (EditingToolsCropTool* self); +static void _editing_tools_crop_tool_on_pivot_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static gboolean _editing_tools_crop_tool_on_width_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self); +static gboolean _editing_tools_crop_tool_on_height_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self); +static void _editing_tools_crop_tool_on_width_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self); +static void _editing_tools_crop_tool_on_height_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self); +static void editing_tools_crop_tool_unbind_window_handlers (EditingToolsCropTool* self); +static gboolean editing_tools_crop_tool_real_on_keypress (EditingToolsEditingTool* base, GdkEventKey* event); +static void editing_tools_crop_tool_real_deactivate (EditingToolsEditingTool* base); +static EditingToolsEditingToolWindow* editing_tools_crop_tool_real_get_tool_window (EditingToolsEditingTool* base); +static GdkPixbuf* editing_tools_crop_tool_real_get_display_pixbuf (EditingToolsEditingTool* base, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error); +GType backing_fetch_mode_get_type (void) G_GNUC_CONST; +GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +static void editing_tools_crop_tool_real_on_left_click (EditingToolsEditingTool* base, gint x, gint y); +void box_get_offset (Box *self, gint xofs, gint yofs, Box* result); +BoxLocation box_approx_location (Box *self, gint x, gint y); +static void editing_tools_crop_tool_real_on_left_released (EditingToolsEditingTool* base, gint x, gint y); +static void editing_tools_crop_tool_update_cursor (EditingToolsCropTool* self, gint x, gint y); +static void editing_tools_crop_tool_real_on_motion (EditingToolsEditingTool* base, gint x, gint y, GdkModifierType mask); +static gboolean editing_tools_crop_tool_on_canvas_manipulation (EditingToolsCropTool* self, gint x, gint y); +static void editing_tools_crop_tool_real_paint (EditingToolsEditingTool* base, cairo_t* default_ctx); +static void editing_tools_crop_tool_paint_crop_tool (EditingToolsCropTool* self, Box* crop); +void configuration_facade_set_last_crop_menu_choice (ConfigurationFacade* self, gint choice); +void configuration_facade_set_last_crop_width (ConfigurationFacade* self, gint choice); +void configuration_facade_set_last_crop_height (ConfigurationFacade* self, gint choice); +#define RESOURCES_CROP_LABEL _ ("Crop") +#define RESOURCES_CROP_TOOLTIP _ ("Crop the photo's size") +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); +GType page_command_get_type (void) G_GNUC_CONST; +GType single_data_source_command_get_type (void) G_GNUC_CONST; +GType generic_photo_transformation_command_get_type (void) G_GNUC_CONST; +GType crop_command_get_type (void) G_GNUC_CONST; +void box_get_dimensions (Box *self, Dimensions* result); +static gint editing_tools_crop_tool_eval_radial_line (EditingToolsCropTool* self, gdouble center_x, gdouble center_y, gdouble bounds_x, gdouble bounds_y, gdouble user_x); +static gboolean _box_equal (const Box* s1, const Box* s2); +static void editing_tools_crop_tool_crop_moved (EditingToolsCropTool* self, Box* new_crop); +gboolean box_equals (Box *self, Box* box); +GType box_complements_get_type (void) G_GNUC_CONST; +BoxComplements box_resized_complements (Box *self, Box* resized, Box* horizontal, gboolean* horizontal_enlarged, Box* vertical, gboolean* vertical_enlarged); +static void editing_tools_crop_tool_set_area_alpha (EditingToolsCropTool* self, Box* area, gdouble alpha); +void box_get_reduced (Box *self, gint amount, Box* result); +enum { + EDITING_TOOLS_CROP_TOOL_CONSTRAINT_DESCRIPTION_DUMMY_PROPERTY +}; +static void editing_tools_crop_tool_constraint_description_finalize (EditingToolsCropToolConstraintDescription* obj); +enum { + EDITING_TOOLS_CROP_TOOL_CROP_TOOL_WINDOW_DUMMY_PROPERTY +}; +#define RESOURCES_CANCEL_LABEL _ ("_Cancel") +#define EDITING_TOOLS_CROP_TOOL_CROP_TOOL_WINDOW_CONTROL_SPACING 8 +static gboolean editing_tools_crop_tool_crop_tool_window_constraint_combo_separator_func (GtkTreeModel* model, GtkTreeIter* iter); +static gboolean _editing_tools_crop_tool_crop_tool_window_constraint_combo_separator_func_gtk_tree_view_row_separator_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self); +#define RESOURCES_CROP_PIVOT_RETICLE "shotwell-crop-pivot-reticle" +static void editing_tools_crop_tool_crop_tool_window_finalize (GObject* obj); +static void editing_tools_crop_tool_finalize (EditingToolsEditingTool* obj); +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 EDITING_TOOLS_REDEYE_INSTANCE_MIN_RADIUS 4 +#define EDITING_TOOLS_REDEYE_INSTANCE_MAX_RADIUS 32 +#define EDITING_TOOLS_REDEYE_INSTANCE_DEFAULT_RADIUS 10 +static void editing_tools_redeye_instance_init (EditingToolsRedeyeInstance *self); +void editing_tools_redeye_instance_to_bounds_rect (EditingToolsRedeyeInstance* inst, GdkRectangle* result); +void editing_tools_redeye_instance_from_bounds_rect (GdkRectangle* rect, EditingToolsRedeyeInstance* result); +GType editing_tools_redeye_tool_get_type (void) G_GNUC_CONST; +static GType editing_tools_redeye_tool_redeye_tool_window_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define EDITING_TOOLS_REDEYE_TOOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeToolPrivate)) +enum { + EDITING_TOOLS_REDEYE_TOOL_DUMMY_PROPERTY +}; +static EditingToolsRedeyeTool* editing_tools_redeye_tool_new (void); +static EditingToolsRedeyeTool* editing_tools_redeye_tool_construct (GType object_type); +EditingToolsRedeyeTool* editing_tools_redeye_tool_factory (void); +gboolean editing_tools_redeye_tool_is_available (Photo* photo, Scaling* scaling); +static void editing_tools_redeye_tool_new_interaction_instance (EditingToolsRedeyeTool* self, EditingToolsPhotoCanvas* canvas, EditingToolsRedeyeInstance* result); +static void editing_tools_redeye_tool_prepare_ctx (EditingToolsRedeyeTool* self, cairo_t* ctx, Dimensions* dim); +static void editing_tools_redeye_tool_draw_redeye_instance (EditingToolsRedeyeTool* self, EditingToolsRedeyeInstance* inst); +static gboolean editing_tools_redeye_tool_on_size_slider_adjust (EditingToolsRedeyeTool* self, GtkScrollType type); +static void editing_tools_redeye_tool_on_apply (EditingToolsRedeyeTool* self); +void derotate_point_arb (GdkPoint* source_point, gint img_w, gint img_h, gdouble angle, GdkPoint* result); +GType redeye_command_get_type (void) G_GNUC_CONST; +#define RESOURCES_RED_EYE_LABEL _ ("Red-eye") +#define RESOURCES_RED_EYE_TOOLTIP _ ("Reduce or eliminate any red-eye effects in the photo") +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); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +void command_manager_execute (CommandManager* self, Command* command); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void editing_tools_redeye_tool_on_photos_altered (EditingToolsRedeyeTool* self, GeeMap* map); +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +static void editing_tools_redeye_tool_on_close (EditingToolsRedeyeTool* self); +static void editing_tools_redeye_tool_on_canvas_resize (EditingToolsRedeyeTool* self); +static void editing_tools_redeye_tool_real_activate (EditingToolsEditingTool* base, EditingToolsPhotoCanvas* canvas); +static void editing_tools_redeye_tool_bind_canvas_handlers (EditingToolsRedeyeTool* self, EditingToolsPhotoCanvas* canvas); +static EditingToolsRedeyeToolRedeyeToolWindow* editing_tools_redeye_tool_redeye_tool_window_new (GtkWindow* container); +static EditingToolsRedeyeToolRedeyeToolWindow* editing_tools_redeye_tool_redeye_tool_window_construct (GType object_type, GtkWindow* container); +static void editing_tools_redeye_tool_bind_window_handlers (EditingToolsRedeyeTool* 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; +DataCollection* data_object_get_membership (DataObject* self); +static void _editing_tools_redeye_tool_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static void editing_tools_redeye_tool_real_deactivate (EditingToolsEditingTool* base); +static void editing_tools_redeye_tool_unbind_canvas_handlers (EditingToolsRedeyeTool* self, EditingToolsPhotoCanvas* canvas); +static void editing_tools_redeye_tool_unbind_window_handlers (EditingToolsRedeyeTool* self); +static void _editing_tools_redeye_tool_prepare_ctx_editing_tools_photo_canvas_new_surface (EditingToolsPhotoCanvas* _sender, cairo_t* ctx, Dimensions* dim, gpointer self); +static void _editing_tools_redeye_tool_on_canvas_resize_editing_tools_photo_canvas_resized_scaled_pixbuf (EditingToolsPhotoCanvas* _sender, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position, gpointer self); +static void _editing_tools_redeye_tool_on_apply_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _editing_tools_redeye_tool_on_close_gtk_button_clicked (GtkButton* _sender, gpointer self); +static gboolean _editing_tools_redeye_tool_on_size_slider_adjust_gtk_range_change_value (GtkRange* _sender, GtkScrollType scroll, gdouble new_value, gpointer self); +static EditingToolsEditingToolWindow* editing_tools_redeye_tool_real_get_tool_window (EditingToolsEditingTool* base); +static void editing_tools_redeye_tool_real_paint (EditingToolsEditingTool* base, cairo_t* ctx); +static void editing_tools_redeye_tool_real_on_left_click (EditingToolsEditingTool* base, gint x, gint y); +gboolean coord_in_rectangle (gint x, gint y, GdkRectangle* rect); +static void editing_tools_redeye_tool_real_on_left_released (EditingToolsEditingTool* base, gint x, gint y); +static void editing_tools_redeye_tool_real_on_motion (EditingToolsEditingTool* base, gint x, gint y, GdkModifierType mask); +static gboolean editing_tools_redeye_tool_real_on_keypress (EditingToolsEditingTool* base, GdkEventKey* event); +#define EDITING_TOOLS_REDEYE_TOOL_REDEYE_TOOL_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW, EditingToolsRedeyeToolRedeyeToolWindowPrivate)) +enum { + EDITING_TOOLS_REDEYE_TOOL_REDEYE_TOOL_WINDOW_DUMMY_PROPERTY +}; +#define RESOURCES_APPLY_LABEL _ ("_Apply") +#define EDITING_TOOLS_REDEYE_TOOL_REDEYE_TOOL_WINDOW_CONTROL_SPACING 8 +static void editing_tools_redeye_tool_redeye_tool_window_finalize (GObject* obj); +static void editing_tools_redeye_tool_finalize (EditingToolsEditingTool* obj); +GType editing_tools_adjust_tool_get_type (void) G_GNUC_CONST; +static GType editing_tools_adjust_tool_adjust_tool_window_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gpointer pixel_transformer_ref (gpointer instance); +void pixel_transformer_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformer (GValue* value, gpointer v_object); +void value_take_pixel_transformer (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformer (const GValue* value); +GType pixel_transformer_get_type (void) G_GNUC_CONST; +gpointer pixel_transformation_bundle_ref (gpointer instance); +void pixel_transformation_bundle_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation_bundle (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation_bundle (GValue* value, gpointer v_object); +void value_take_pixel_transformation_bundle (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation_bundle (const GValue* value); +GType pixel_transformation_bundle_get_type (void) G_GNUC_CONST; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +#define EDITING_TOOLS_ADJUST_TOOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustToolPrivate)) +enum { + EDITING_TOOLS_ADJUST_TOOL_DUMMY_PROPERTY +}; +#define EDITING_TOOLS_ADJUST_TOOL_SLIDER_WIDTH 160 +#define EDITING_TOOLS_ADJUST_TOOL_SLIDER_DELAY_MSEC ((guint) 100) +static EditingToolsAdjustTool* editing_tools_adjust_tool_new (void); +static EditingToolsAdjustTool* editing_tools_adjust_tool_construct (GType object_type); +EditingToolsAdjustTool* editing_tools_adjust_tool_factory (void); +gboolean editing_tools_adjust_tool_is_available (Photo* photo, Scaling* scaling); +static void editing_tools_adjust_tool_real_activate (EditingToolsEditingTool* base, EditingToolsPhotoCanvas* canvas); +static EditingToolsAdjustToolAdjustToolWindow* editing_tools_adjust_tool_adjust_tool_window_new (GtkWindow* container); +static EditingToolsAdjustToolAdjustToolWindow* editing_tools_adjust_tool_adjust_tool_window_construct (GType object_type, GtkWindow* container); +PixelTransformationBundle* photo_get_color_adjustments (Photo* self); +PixelTransformer* pixel_transformation_bundle_generate_transformer (PixelTransformationBundle* self); +PixelTransformer* pixel_transformer_new (void); +PixelTransformer* pixel_transformer_construct (GType object_type); +gpointer pixel_transformation_ref (gpointer instance); +void pixel_transformation_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation (GValue* value, gpointer v_object); +void value_take_pixel_transformation (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation (const GValue* value); +GType pixel_transformation_get_type (void) G_GNUC_CONST; +GType hsv_transformation_get_type (void) G_GNUC_CONST; +GType expansion_transformation_get_type (void) G_GNUC_CONST; +GType pixel_transformation_type_get_type (void) G_GNUC_CONST; +PixelTransformation* pixel_transformation_bundle_get_transformation (PixelTransformationBundle* self, PixelTransformationType type); +GType rgb_histogram_manipulator_get_type (void) G_GNUC_CONST; +void rgb_histogram_manipulator_set_left_nub_position (RGBHistogramManipulator* self, gint user_nub_pos); +gint expansion_transformation_get_black_point (ExpansionTransformation* self); +void rgb_histogram_manipulator_set_right_nub_position (RGBHistogramManipulator* self, gint user_nub_pos); +gint expansion_transformation_get_white_point (ExpansionTransformation* self); +GType shadow_detail_transformation_get_type (void) G_GNUC_CONST; +void pixel_transformer_attach_transformation (PixelTransformer* self, PixelTransformation* trans); +gfloat shadow_detail_transformation_get_parameter (ShadowDetailTransformation* self); +GType highlight_detail_transformation_get_type (void) G_GNUC_CONST; +gfloat highlight_detail_transformation_get_parameter (HighlightDetailTransformation* self); +GType rgb_transformation_get_type (void) G_GNUC_CONST; +GType temperature_transformation_get_type (void) G_GNUC_CONST; +gfloat temperature_transformation_get_parameter (TemperatureTransformation* self); +GType tint_transformation_get_type (void) G_GNUC_CONST; +gfloat tint_transformation_get_parameter (TintTransformation* self); +GType saturation_transformation_get_type (void) G_GNUC_CONST; +gfloat saturation_transformation_get_parameter (SaturationTransformation* self); +GType exposure_transformation_get_type (void) G_GNUC_CONST; +gfloat exposure_transformation_get_parameter (ExposureTransformation* self); +static void editing_tools_adjust_tool_bind_canvas_handlers (EditingToolsAdjustTool* self, EditingToolsPhotoCanvas* canvas); +static void editing_tools_adjust_tool_bind_window_handlers (EditingToolsAdjustTool* self); +static void editing_tools_adjust_tool_init_fp_pixel_cache (EditingToolsAdjustTool* self, GdkPixbuf* source); +static void editing_tools_adjust_tool_on_photos_altered (EditingToolsAdjustTool* self, GeeMap* map); +static void _editing_tools_adjust_tool_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static EditingToolsEditingToolWindow* editing_tools_adjust_tool_real_get_tool_window (EditingToolsEditingTool* base); +static void editing_tools_adjust_tool_real_deactivate (EditingToolsEditingTool* base); +static void editing_tools_adjust_tool_unbind_canvas_handlers (EditingToolsAdjustTool* self, EditingToolsPhotoCanvas* canvas); +static void editing_tools_adjust_tool_unbind_window_handlers (EditingToolsAdjustTool* self); +static void editing_tools_adjust_tool_real_paint (EditingToolsEditingTool* base, cairo_t* ctx); +void pixel_transformer_transform_from_fp (PixelTransformer* self, gfloat** fp_pixel_cache, int* fp_pixel_cache_length1, GdkPixbuf* dest); +void pixel_transformer_transform_to_other_pixbuf (PixelTransformer* self, GdkPixbuf* source, GdkPixbuf* dest, GCancellable* cancellable); +void rgb_histogram_manipulator_update_histogram (RGBHistogramManipulator* self, GdkPixbuf* source_pixbuf); +static GdkPixbuf* editing_tools_adjust_tool_real_get_display_pixbuf (EditingToolsEditingTool* base, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error); +gboolean photo_has_color_adjustments (Photo* self); +static void editing_tools_adjust_tool_on_reset (EditingToolsAdjustTool* self); +static GType editing_tools_adjust_tool_adjust_tool_command_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GType editing_tools_adjust_tool_adjust_reset_command_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static EditingToolsAdjustToolAdjustResetCommand* editing_tools_adjust_tool_adjust_reset_command_new (EditingToolsAdjustTool* owner, PixelTransformationBundle* current); +static EditingToolsAdjustToolAdjustResetCommand* editing_tools_adjust_tool_adjust_reset_command_construct (GType object_type, EditingToolsAdjustTool* owner, PixelTransformationBundle* current); +static void editing_tools_adjust_tool_on_ok (EditingToolsAdjustTool* self); +#define RESOURCES_ADJUST_LABEL _ ("Adjust") +#define RESOURCES_ADJUST_TOOLTIP _ ("Adjust the photo's color and tone") +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); +GType adjust_colors_single_command_get_type (void) G_GNUC_CONST; +static void editing_tools_adjust_tool_update_transformations (EditingToolsAdjustTool* self, PixelTransformationBundle* new_transformations); +GeeIterable* pixel_transformation_bundle_get_transformations (PixelTransformationBundle* self); +static void editing_tools_adjust_tool_update_transformation (EditingToolsAdjustTool* self, PixelTransformation* new_transformation); +PixelTransformationType pixel_transformation_get_transformation_type (PixelTransformation* self); +void pixel_transformer_replace_transformation (PixelTransformer* self, PixelTransformation* old_trans, PixelTransformation* new_trans); +void pixel_transformation_bundle_set (PixelTransformationBundle* self, PixelTransformation* transformation); +static void editing_tools_adjust_tool_slider_updated (EditingToolsAdjustTool* self, PixelTransformation* new_transformation, const gchar* name); +static GType editing_tools_adjust_tool_slider_adjustment_command_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static EditingToolsAdjustToolSliderAdjustmentCommand* editing_tools_adjust_tool_slider_adjustment_command_new (EditingToolsAdjustTool* owner, PixelTransformation* old_transformation, PixelTransformation* new_transformation, const gchar* name); +static EditingToolsAdjustToolSliderAdjustmentCommand* editing_tools_adjust_tool_slider_adjustment_command_construct (GType object_type, EditingToolsAdjustTool* owner, PixelTransformation* old_transformation, PixelTransformation* new_transformation, const gchar* name); +static void editing_tools_adjust_tool_on_temperature_adjustment (EditingToolsAdjustTool* self); +static void editing_tools_adjust_tool_on_delayed_temperature_adjustment (EditingToolsAdjustTool* self); +static void _editing_tools_adjust_tool_on_delayed_temperature_adjustment_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule); +TemperatureTransformation* temperature_transformation_new (gfloat client_parameter); +TemperatureTransformation* temperature_transformation_construct (GType object_type, gfloat client_parameter); +static void editing_tools_adjust_tool_on_tint_adjustment (EditingToolsAdjustTool* self); +static void editing_tools_adjust_tool_on_delayed_tint_adjustment (EditingToolsAdjustTool* self); +static void _editing_tools_adjust_tool_on_delayed_tint_adjustment_one_shot_callback (gpointer self); +TintTransformation* tint_transformation_new (gfloat client_param); +TintTransformation* tint_transformation_construct (GType object_type, gfloat client_param); +static void editing_tools_adjust_tool_on_saturation_adjustment (EditingToolsAdjustTool* self); +static void editing_tools_adjust_tool_on_delayed_saturation_adjustment (EditingToolsAdjustTool* self); +static void _editing_tools_adjust_tool_on_delayed_saturation_adjustment_one_shot_callback (gpointer self); +SaturationTransformation* saturation_transformation_new (gfloat client_parameter); +SaturationTransformation* saturation_transformation_construct (GType object_type, gfloat client_parameter); +static void editing_tools_adjust_tool_on_exposure_adjustment (EditingToolsAdjustTool* self); +static void editing_tools_adjust_tool_on_delayed_exposure_adjustment (EditingToolsAdjustTool* self); +static void _editing_tools_adjust_tool_on_delayed_exposure_adjustment_one_shot_callback (gpointer self); +ExposureTransformation* exposure_transformation_new (gfloat client_parameter); +ExposureTransformation* exposure_transformation_construct (GType object_type, gfloat client_parameter); +static void editing_tools_adjust_tool_on_shadows_adjustment (EditingToolsAdjustTool* self); +static void editing_tools_adjust_tool_on_delayed_shadows_adjustment (EditingToolsAdjustTool* self); +static void _editing_tools_adjust_tool_on_delayed_shadows_adjustment_one_shot_callback (gpointer self); +ShadowDetailTransformation* shadow_detail_transformation_new (gfloat user_intensity); +ShadowDetailTransformation* shadow_detail_transformation_construct (GType object_type, gfloat user_intensity); +static void editing_tools_adjust_tool_on_highlights_adjustment (EditingToolsAdjustTool* self); +static void editing_tools_adjust_tool_on_delayed_highlights_adjustment (EditingToolsAdjustTool* self); +static void _editing_tools_adjust_tool_on_delayed_highlights_adjustment_one_shot_callback (gpointer self); +HighlightDetailTransformation* highlight_detail_transformation_new (gfloat user_intensity); +HighlightDetailTransformation* highlight_detail_transformation_construct (GType object_type, gfloat user_intensity); +static void editing_tools_adjust_tool_on_histogram_constraint (EditingToolsAdjustTool* self); +gint rgb_histogram_manipulator_get_left_nub_position (RGBHistogramManipulator* self); +gint rgb_histogram_manipulator_get_right_nub_position (RGBHistogramManipulator* self); +ExpansionTransformation* expansion_transformation_new_from_extrema (gint black_point, gint white_point); +ExpansionTransformation* expansion_transformation_construct_from_extrema (GType object_type, gint black_point, gint white_point); +static void editing_tools_adjust_tool_on_canvas_resize (EditingToolsAdjustTool* self); +static gboolean editing_tools_adjust_tool_on_hscale_reset (EditingToolsAdjustTool* self, GtkWidget* widget, GdkEventButton* event); +gboolean has_only_key_modifier (GdkModifierType field, GdkModifierType mask); +static void _editing_tools_adjust_tool_on_canvas_resize_editing_tools_photo_canvas_resized_scaled_pixbuf (EditingToolsPhotoCanvas* _sender, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position, gpointer self); +static void _editing_tools_adjust_tool_on_ok_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _editing_tools_adjust_tool_on_reset_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _editing_tools_adjust_tool_on_exposure_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self); +static void _editing_tools_adjust_tool_on_saturation_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self); +static void _editing_tools_adjust_tool_on_tint_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self); +static void _editing_tools_adjust_tool_on_temperature_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self); +static void _editing_tools_adjust_tool_on_shadows_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self); +static void _editing_tools_adjust_tool_on_highlights_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self); +static void _editing_tools_adjust_tool_on_histogram_constraint_rgb_histogram_manipulator_nub_position_changed (RGBHistogramManipulator* _sender, gpointer self); +static gboolean _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +gboolean editing_tools_adjust_tool_enhance (EditingToolsAdjustTool* self); +static GType editing_tools_adjust_tool_adjust_enhance_command_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static EditingToolsAdjustToolAdjustEnhanceCommand* editing_tools_adjust_tool_adjust_enhance_command_new (EditingToolsAdjustTool* owner, Photo* photo); +static EditingToolsAdjustToolAdjustEnhanceCommand* editing_tools_adjust_tool_adjust_enhance_command_construct (GType object_type, EditingToolsAdjustTool* owner, Photo* photo); +static void editing_tools_adjust_tool_set_adjustments (EditingToolsAdjustTool* self, PixelTransformationBundle* new_adjustments); +static void editing_tools_adjust_tool_update_slider (EditingToolsAdjustTool* self, PixelTransformation* transformation); +static gboolean editing_tools_adjust_tool_real_on_keypress (EditingToolsEditingTool* base, GdkEventKey* event); +enum { + EDITING_TOOLS_ADJUST_TOOL_ADJUST_TOOL_WINDOW_DUMMY_PROPERTY +}; +#define EXPOSURE_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define EXPOSURE_TRANSFORMATION_MAX_PARAMETER 16.0f +#define SATURATION_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define SATURATION_TRANSFORMATION_MAX_PARAMETER 16.0f +#define TINT_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define TINT_TRANSFORMATION_MAX_PARAMETER 16.0f +#define TEMPERATURE_TRANSFORMATION_MIN_PARAMETER (-16.0f) +#define TEMPERATURE_TRANSFORMATION_MAX_PARAMETER 16.0f +#define SHADOW_DETAIL_TRANSFORMATION_MIN_PARAMETER 0.0f +#define SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER 32.0f +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER (-32.0f) +#define HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_PARAMETER 0.0f +#define RESOURCES_OK_LABEL _ ("_OK") +RGBHistogramManipulator* rgb_histogram_manipulator_new (void); +RGBHistogramManipulator* rgb_histogram_manipulator_construct (GType object_type); +static void editing_tools_adjust_tool_adjust_tool_window_finalize (GObject* obj); +GType command_description_get_type (void) G_GNUC_CONST; +enum { + EDITING_TOOLS_ADJUST_TOOL_ADJUST_TOOL_COMMAND_DUMMY_PROPERTY +}; +static void editing_tools_adjust_tool_adjust_tool_command_on_owner_deactivated (EditingToolsAdjustToolAdjustToolCommand* self); +static void _editing_tools_adjust_tool_adjust_tool_command_on_owner_deactivated_editing_tools_editing_tool_deactivated (EditingToolsEditingTool* _sender, gpointer self); +static EditingToolsAdjustToolAdjustToolCommand* editing_tools_adjust_tool_adjust_tool_command_construct (GType object_type, EditingToolsAdjustTool* owner, const gchar* name, const gchar* explanation); +Command* command_construct (GType object_type, const gchar* name, const gchar* explanation); +void command_manager_reset (CommandManager* self); +static void editing_tools_adjust_tool_adjust_tool_command_finalize (GObject* obj); +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_RESET_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, EditingToolsAdjustToolAdjustResetCommandPrivate)) +enum { + EDITING_TOOLS_ADJUST_TOOL_ADJUST_RESET_COMMAND_DUMMY_PROPERTY +}; +PixelTransformationBundle* pixel_transformation_bundle_copy (PixelTransformationBundle* self); +PixelTransformationBundle* pixel_transformation_bundle_new (void); +PixelTransformationBundle* pixel_transformation_bundle_construct (GType object_type); +void pixel_transformation_bundle_set_to_identity (PixelTransformationBundle* self); +static void editing_tools_adjust_tool_adjust_reset_command_real_execute (Command* base); +static void editing_tools_adjust_tool_adjust_reset_command_real_undo (Command* base); +static gboolean editing_tools_adjust_tool_adjust_reset_command_real_compress (Command* base, Command* command); +static void editing_tools_adjust_tool_adjust_reset_command_finalize (GObject* obj); +#define EDITING_TOOLS_ADJUST_TOOL_SLIDER_ADJUSTMENT_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommandPrivate)) +enum { + EDITING_TOOLS_ADJUST_TOOL_SLIDER_ADJUSTMENT_COMMAND_DUMMY_PROPERTY +}; +static void editing_tools_adjust_tool_slider_adjustment_command_real_execute (Command* base); +static void editing_tools_adjust_tool_slider_adjustment_command_real_undo (Command* base); +static void editing_tools_adjust_tool_slider_adjustment_command_real_redo (Command* base); +static gboolean editing_tools_adjust_tool_slider_adjustment_command_real_compress (Command* base, Command* command); +void command_execute (Command* self); +static void editing_tools_adjust_tool_slider_adjustment_command_finalize (GObject* obj); +#define EDITING_TOOLS_ADJUST_TOOL_ADJUST_ENHANCE_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, EditingToolsAdjustToolAdjustEnhanceCommandPrivate)) +enum { + EDITING_TOOLS_ADJUST_TOOL_ADJUST_ENHANCE_COMMAND_DUMMY_PROPERTY +}; +#define RESOURCES_ENHANCE_LABEL _ ("Enhance") +#define RESOURCES_ENHANCE_TOOLTIP _ ("Automatically improve the photo's appearance") +static void editing_tools_adjust_tool_adjust_enhance_command_real_execute (Command* base); +PixelTransformationBundle* photo_get_enhance_transformations (Photo* self); +static void editing_tools_adjust_tool_adjust_enhance_command_real_undo (Command* base); +static gboolean editing_tools_adjust_tool_adjust_enhance_command_real_compress (Command* base, Command* command); +GType enhance_single_command_get_type (void) G_GNUC_CONST; +DataSource* single_data_source_command_get_source (SingleDataSourceCommand* self); +gboolean data_source_equals (DataSource* self, DataSource* source); +static void editing_tools_adjust_tool_adjust_enhance_command_finalize (GObject* obj); +static void editing_tools_adjust_tool_finalize (EditingToolsEditingTool* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +void editing_tools_preconfigure (void) { +} + + +void editing_tools_init (GError** error) { +} + + +void editing_tools_terminate (void) { +} + + +static void _suppress_warnings_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self) { +#line 59 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + suppress_warnings (log_domain, log_levels, message); +#line 1664 "EditingTools.c" +} + + +EditingToolsEditingToolWindow* editing_tools_editing_tool_window_construct (GType object_type, GtkWindow* container) { + EditingToolsEditingToolWindow * self = NULL; + GtkWindow* _tmp0_ = NULL; + GtkFrame* outer_frame = NULL; + GtkFrame* _tmp1_ = NULL; + GtkFrame* _tmp2_ = NULL; + GtkFrame* _tmp3_ = NULL; + GtkFrame* _tmp4_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GTK_IS_WINDOW (container), NULL); +#line 34 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsEditingToolWindow*) g_object_new (object_type, NULL); +#line 36 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_set_type_hint (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), GDK_WINDOW_TYPE_HINT_UTILITY); +#line 38 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_set_decorated (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 39 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = container; +#line 39 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp0_); +#line 41 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = (GtkFrame*) gtk_frame_new (NULL); +#line 41 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp1_); +#line 41 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + outer_frame = _tmp1_; +#line 42 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (outer_frame, gtk_container_get_type (), GtkContainer), (guint) 0); +#line 43 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_frame_set_shadow_type (outer_frame, GTK_SHADOW_OUT); +#line 45 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->layout_frame; +#line 45 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_container_get_type (), GtkContainer), (guint) EDITING_TOOLS_EDITING_TOOL_WINDOW_FRAME_BORDER); +#line 46 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->layout_frame; +#line 46 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_frame_set_shadow_type (_tmp3_, GTK_SHADOW_NONE); +#line 48 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->layout_frame; +#line 48 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (outer_frame, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 49 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + GTK_CONTAINER_CLASS (editing_tools_editing_tool_window_parent_class)->add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (outer_frame, gtk_widget_get_type (), GtkWidget)); +#line 51 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_add_events (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), (gint) (GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK)); +#line 52 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_set_focus_on_map (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 53 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_set_accept_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 54 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), TRUE); +#line 55 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_set_has_resize_grip (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 59 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_log_set_handler ("Gdk", G_LOG_LEVEL_WARNING, _suppress_warnings_glog_func, NULL); +#line 34 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (outer_frame); +#line 34 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 1728 "EditingTools.c" +} + + +static void editing_tools_editing_tool_window_real_add (GtkContainer* base, GtkWidget* widget) { + EditingToolsEditingToolWindow * self; + GtkFrame* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow); +#line 66 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GTK_IS_WIDGET (widget)); +#line 67 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->layout_frame; +#line 67 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = widget; +#line 67 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_container_get_type (), GtkContainer), _tmp1_); +#line 1746 "EditingTools.c" +} + + +gboolean editing_tools_editing_tool_window_has_user_moved (EditingToolsEditingToolWindow* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 70 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_EDITING_TOOL_WINDOW (self), FALSE); +#line 71 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->user_moved; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp0_; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 1761 "EditingTools.c" +} + + +static gboolean editing_tools_editing_tool_window_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + EditingToolsEditingToolWindow * self; + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + AppWindow* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + GdkEventKey* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 74 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow); +#line 74 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 75 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = event; +#line 75 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = GTK_WIDGET_CLASS (editing_tools_editing_tool_window_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget), _tmp0_); +#line 75 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_) { +#line 76 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 76 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 1789 "EditingTools.c" + } +#line 78 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = app_window_get_instance (); +#line 78 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 78 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = event; +#line 78 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), "key-press-event", _tmp4_, &_tmp5_); +#line 78 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_; +#line 78 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp3_); +#line 78 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp6_; +#line 78 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 1807 "EditingTools.c" +} + + +static gboolean editing_tools_editing_tool_window_real_button_press_event (GtkWidget* base, GdkEventButton* event) { + EditingToolsEditingToolWindow * self; + gboolean result = FALSE; + GdkEventButton* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GdkEventButton* _tmp5_ = NULL; + guint _tmp6_ = 0U; + GdkEventButton* _tmp7_ = NULL; + gdouble _tmp8_ = 0.0; + GdkEventButton* _tmp9_ = NULL; + gdouble _tmp10_ = 0.0; + GdkEventButton* _tmp11_ = NULL; + guint32 _tmp12_ = 0U; +#line 81 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow); +#line 81 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 83 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = event; +#line 83 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->button; +#line 83 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_ != ((guint) 1)) { +#line 1834 "EditingTools.c" + gboolean _tmp2_ = FALSE; +#line 84 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (GTK_WIDGET_CLASS (editing_tools_editing_tool_window_parent_class)->button_press_event != NULL) { +#line 1838 "EditingTools.c" + GdkEventButton* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 84 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = event; +#line 84 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = GTK_WIDGET_CLASS (editing_tools_editing_tool_window_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget), _tmp3_); +#line 84 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp4_; +#line 1847 "EditingTools.c" + } else { +#line 84 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = TRUE; +#line 1851 "EditingTools.c" + } +#line 84 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp2_; +#line 84 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 1857 "EditingTools.c" + } +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = event; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->button; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = event; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_->x_root; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = event; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_->y_root; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = event; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_->time; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_begin_move_drag (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), (gint) _tmp6_, (gint) _tmp8_, (gint) _tmp10_, _tmp12_); +#line 87 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_moved = TRUE; +#line 89 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 89 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 1883 "EditingTools.c" +} + + +static void editing_tools_editing_tool_window_real_realize (GtkWidget* base) { + EditingToolsEditingToolWindow * self; +#line 92 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow); +#line 93 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_set_opacity (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), RESOURCES_TRANSIENT_WINDOW_OPACITY); +#line 95 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + GTK_WIDGET_CLASS (editing_tools_editing_tool_window_parent_class)->realize (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), gtk_widget_get_type (), GtkWidget)); +#line 1895 "EditingTools.c" +} + + +static void editing_tools_editing_tool_window_class_init (EditingToolsEditingToolWindowClass * klass) { +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_editing_tool_window_parent_class = g_type_class_peek_parent (klass); +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsEditingToolWindowPrivate)); +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((GtkContainerClass *) klass)->add = editing_tools_editing_tool_window_real_add; +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((GtkWidgetClass *) klass)->key_press_event = editing_tools_editing_tool_window_real_key_press_event; +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((GtkWidgetClass *) klass)->button_press_event = editing_tools_editing_tool_window_real_button_press_event; +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((GtkWidgetClass *) klass)->realize = editing_tools_editing_tool_window_real_realize; +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_editing_tool_window_finalize; +#line 1914 "EditingTools.c" +} + + +static void editing_tools_editing_tool_window_instance_init (EditingToolsEditingToolWindow * self) { + GtkFrame* _tmp0_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_EDITING_TOOL_WINDOW_GET_PRIVATE (self); +#line 31 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = (GtkFrame*) gtk_frame_new (NULL); +#line 31 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp0_); +#line 31 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->layout_frame = _tmp0_; +#line 32 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_moved = FALSE; +#line 1930 "EditingTools.c" +} + + +static void editing_tools_editing_tool_window_finalize (GObject* obj) { + EditingToolsEditingToolWindow * self; + GLogFunc _tmp0_ = NULL; + void* _tmp0__target = NULL; +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow); +#line 63 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = g_log_default_handler; +#line 63 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0__target = NULL; +#line 63 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_log_set_handler ("Gdk", G_LOG_LEVEL_WARNING, _tmp0_, _tmp0__target); +#line 31 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->layout_frame); +#line 28 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (editing_tools_editing_tool_window_parent_class)->finalize (obj); +#line 1950 "EditingTools.c" +} + + +GType editing_tools_editing_tool_window_get_type (void) { + static volatile gsize editing_tools_editing_tool_window_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_editing_tool_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsEditingToolWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_editing_tool_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsEditingToolWindow), 0, (GInstanceInitFunc) editing_tools_editing_tool_window_instance_init, NULL }; + GType editing_tools_editing_tool_window_type_id; + editing_tools_editing_tool_window_type_id = g_type_register_static (gtk_window_get_type (), "EditingToolsEditingToolWindow", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&editing_tools_editing_tool_window_type_id__volatile, editing_tools_editing_tool_window_type_id); + } + return editing_tools_editing_tool_window_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 114 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self ? g_object_ref (self) : NULL; +#line 1969 "EditingTools.c" +} + + +static gpointer _cairo_reference0 (gpointer self) { +#line 117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self ? cairo_reference (self) : NULL; +#line 1976 "EditingTools.c" +} + + +EditingToolsPhotoCanvas* editing_tools_photo_canvas_construct (GType object_type, GtkWindow* container, GdkWindow* drawing_window, Photo* photo, cairo_t* default_ctx, Dimensions* surface_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position) { + EditingToolsPhotoCanvas* self = NULL; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GdkWindow* _tmp2_ = NULL; + GdkWindow* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + cairo_t* _tmp6_ = NULL; + cairo_t* _tmp7_ = NULL; + Dimensions _tmp8_ = {0}; + GdkRectangle _tmp9_ = {0}; + GdkPixbuf* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + cairo_t* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + GdkRectangle _tmp14_ = {0}; + cairo_surface_t* _tmp15_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GTK_IS_WINDOW (container), NULL); +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GDK_IS_WINDOW (drawing_window), NULL); +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (default_ctx != NULL, NULL); +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (surface_dim != NULL, NULL); +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (scaled), NULL); +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (scaled_position != NULL, NULL); +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsPhotoCanvas*) g_type_create_instance (object_type); +#line 114 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = container; +#line 114 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 114 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->container); +#line 114 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->container = _tmp1_; +#line 115 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = drawing_window; +#line 115 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 115 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->drawing_window); +#line 115 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->drawing_window = _tmp3_; +#line 116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = photo; +#line 116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->photo); +#line 116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->photo = _tmp5_; +#line 117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = default_ctx; +#line 117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _cairo_reference0 (_tmp6_); +#line 117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->default_ctx); +#line 117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->default_ctx = _tmp7_; +#line 118 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = *surface_dim; +#line 118 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->surface_dim = _tmp8_; +#line 119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = *scaled_position; +#line 119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_position = _tmp9_; +#line 120 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = scaled; +#line 120 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 120 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->scaled_pixbuf); +#line 120 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_pixbuf = _tmp11_; +#line 121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = default_ctx; +#line 121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = scaled; +#line 121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = *scaled_position; +#line 121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = editing_tools_photo_canvas_pixbuf_to_surface (self, _tmp12_, _tmp13_, &_tmp14_); +#line 121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->scaled); +#line 121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled = _tmp15_; +#line 112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 2076 "EditingTools.c" +} + + +void editing_tools_photo_canvas_unscaled_to_raw_rect (EditingToolsPhotoCanvas* self, GdkRectangle* rectangle, GdkRectangle* result) { + Photo* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + GdkRectangle _tmp2_ = {0}; +#line 129 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 129 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (rectangle != NULL); +#line 130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->photo; +#line 130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = *rectangle; +#line 130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_unscaled_to_raw_rect (_tmp0_, &_tmp1_, &_tmp2_); +#line 130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _tmp2_; +#line 130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2098 "EditingTools.c" +} + + +void editing_tools_photo_canvas_active_to_unscaled_point (EditingToolsPhotoCanvas* self, GdkPoint* active_point, GdkPoint* result) { + GdkRectangle scaled_position = {0}; + GdkRectangle _tmp0_ = {0}; + Dimensions unscaled_dims = {0}; + Photo* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + gdouble scale_factor_x = 0.0; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + gdouble scale_factor_y = 0.0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + GdkPoint _result_ = {0}; + GdkPoint _tmp11_ = {0}; + GdkPoint _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkPoint _tmp14_ = {0}; + gint _tmp15_ = 0; +#line 133 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 133 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (active_point != NULL); +#line 134 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (self, &_tmp0_); +#line 134 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scaled_position = _tmp0_; +#line 135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->photo; +#line 135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp2_); +#line 135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + unscaled_dims = _tmp2_; +#line 137 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = unscaled_dims; +#line 137 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.width; +#line 137 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = scaled_position; +#line 137 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.width; +#line 137 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scale_factor_x = ((gdouble) _tmp4_) / ((gdouble) _tmp6_); +#line 139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = unscaled_dims; +#line 139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.height; +#line 139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = scaled_position; +#line 139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.height; +#line 139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scale_factor_y = ((gdouble) _tmp8_) / ((gdouble) _tmp10_); +#line 142 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_.x = 0; +#line 142 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp11_; +#line 143 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = *active_point; +#line 143 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.x; +#line 143 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.x = (gint) ((((gdouble) _tmp13_) * scale_factor_x) + 0.5); +#line 144 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = *active_point; +#line 144 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_.y; +#line 144 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.y = (gint) ((((gdouble) _tmp15_) * scale_factor_y) + 0.5); +#line 146 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _result_; +#line 146 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2178 "EditingTools.c" +} + + +void editing_tools_photo_canvas_active_to_unscaled_rect (EditingToolsPhotoCanvas* self, GdkRectangle* active_rect, GdkRectangle* result) { + GdkPoint upper_left = {0}; + GdkPoint _tmp0_ = {0}; + GdkPoint lower_right = {0}; + GdkPoint _tmp1_ = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkPoint _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkPoint _tmp14_ = {0}; + GdkPoint _tmp15_ = {0}; + GdkPoint _tmp16_ = {0}; + GdkPoint _tmp17_ = {0}; + GdkRectangle unscaled_rect = {0}; + GdkPoint _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkPoint _tmp22_ = {0}; + gint _tmp23_ = 0; + GdkPoint _tmp24_ = {0}; + gint _tmp25_ = 0; + GdkPoint _tmp26_ = {0}; + gint _tmp27_ = 0; + GdkPoint _tmp28_ = {0}; + gint _tmp29_ = 0; +#line 149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (active_rect != NULL); +#line 150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_.x = 0; +#line 150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + upper_left = _tmp0_; +#line 151 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_.x = 0; +#line 151 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + lower_right = _tmp1_; +#line 152 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *active_rect; +#line 152 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 152 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + upper_left.x = _tmp3_; +#line 153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = *active_rect; +#line 153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.y; +#line 153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + upper_left.y = _tmp5_; +#line 154 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = upper_left; +#line 154 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.x; +#line 154 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = *active_rect; +#line 154 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.width; +#line 154 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + lower_right.x = _tmp7_ + _tmp9_; +#line 155 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = upper_left; +#line 155 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_.y; +#line 155 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = *active_rect; +#line 155 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.height; +#line 155 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + lower_right.y = _tmp11_ + _tmp13_; +#line 157 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = upper_left; +#line 157 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_active_to_unscaled_point (self, &_tmp14_, &_tmp15_); +#line 157 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + upper_left = _tmp15_; +#line 158 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = lower_right; +#line 158 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_active_to_unscaled_point (self, &_tmp16_, &_tmp17_); +#line 158 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + lower_right = _tmp17_; +#line 160 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + memset (&unscaled_rect, 0, sizeof (GdkRectangle)); +#line 161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = upper_left; +#line 161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_.x; +#line 161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + unscaled_rect.x = _tmp19_; +#line 162 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = upper_left; +#line 162 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = _tmp20_.y; +#line 162 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + unscaled_rect.y = _tmp21_; +#line 163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = lower_right; +#line 163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_.x; +#line 163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = upper_left; +#line 163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_.x; +#line 163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + unscaled_rect.width = _tmp23_ - _tmp25_; +#line 164 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = lower_right; +#line 164 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = _tmp26_.y; +#line 164 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = upper_left; +#line 164 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = _tmp28_.y; +#line 164 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + unscaled_rect.height = _tmp27_ - _tmp29_; +#line 166 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = unscaled_rect; +#line 166 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2310 "EditingTools.c" +} + + +void editing_tools_photo_canvas_user_to_active_point (EditingToolsPhotoCanvas* self, GdkPoint* user_point, GdkPoint* result) { + GdkRectangle active_offsets = {0}; + GdkRectangle _tmp0_ = {0}; + GdkPoint _result_ = {0}; + GdkPoint _tmp1_ = {0}; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; +#line 169 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 169 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (user_point != NULL); +#line 170 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (self, &_tmp0_); +#line 170 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + active_offsets = _tmp0_; +#line 172 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_.x = 0; +#line 172 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp1_; +#line 173 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *user_point; +#line 173 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 173 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = active_offsets; +#line 173 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.x; +#line 173 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.x = _tmp3_ - _tmp5_; +#line 174 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = *user_point; +#line 174 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.y; +#line 174 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = active_offsets; +#line 174 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.y; +#line 174 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.y = _tmp7_ - _tmp9_; +#line 176 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _result_; +#line 176 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2363 "EditingTools.c" +} + + +void editing_tools_photo_canvas_user_to_active_rect (EditingToolsPhotoCanvas* self, GdkRectangle* user_rect, GdkRectangle* result) { + GdkPoint upper_left = {0}; + GdkPoint _tmp0_ = {0}; + GdkPoint lower_right = {0}; + GdkPoint _tmp1_ = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkPoint _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkPoint _tmp14_ = {0}; + GdkPoint _tmp15_ = {0}; + GdkPoint _tmp16_ = {0}; + GdkPoint _tmp17_ = {0}; + GdkRectangle active_rect = {0}; + GdkPoint _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkPoint _tmp22_ = {0}; + gint _tmp23_ = 0; + GdkPoint _tmp24_ = {0}; + gint _tmp25_ = 0; + GdkPoint _tmp26_ = {0}; + gint _tmp27_ = 0; + GdkPoint _tmp28_ = {0}; + gint _tmp29_ = 0; +#line 179 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 179 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (user_rect != NULL); +#line 180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_.x = 0; +#line 180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + upper_left = _tmp0_; +#line 181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_.x = 0; +#line 181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + lower_right = _tmp1_; +#line 182 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *user_rect; +#line 182 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 182 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + upper_left.x = _tmp3_; +#line 183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = *user_rect; +#line 183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.y; +#line 183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + upper_left.y = _tmp5_; +#line 184 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = upper_left; +#line 184 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.x; +#line 184 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = *user_rect; +#line 184 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.width; +#line 184 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + lower_right.x = _tmp7_ + _tmp9_; +#line 185 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = upper_left; +#line 185 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_.y; +#line 185 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = *user_rect; +#line 185 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.height; +#line 185 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + lower_right.y = _tmp11_ + _tmp13_; +#line 187 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = upper_left; +#line 187 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_user_to_active_point (self, &_tmp14_, &_tmp15_); +#line 187 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + upper_left = _tmp15_; +#line 188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = lower_right; +#line 188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_user_to_active_point (self, &_tmp16_, &_tmp17_); +#line 188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + lower_right = _tmp17_; +#line 190 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + memset (&active_rect, 0, sizeof (GdkRectangle)); +#line 191 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = upper_left; +#line 191 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_.x; +#line 191 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + active_rect.x = _tmp19_; +#line 192 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = upper_left; +#line 192 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = _tmp20_.y; +#line 192 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + active_rect.y = _tmp21_; +#line 193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = lower_right; +#line 193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_.x; +#line 193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = upper_left; +#line 193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_.x; +#line 193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + active_rect.width = _tmp23_ - _tmp25_; +#line 194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = lower_right; +#line 194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = _tmp26_.y; +#line 194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = upper_left; +#line 194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = _tmp28_.y; +#line 194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + active_rect.height = _tmp27_ - _tmp29_; +#line 196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = active_rect; +#line 196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2495 "EditingTools.c" +} + + +Photo* editing_tools_photo_canvas_get_photo (EditingToolsPhotoCanvas* self) { + Photo* result = NULL; + Photo* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self), NULL); +#line 200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->photo; +#line 200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 2513 "EditingTools.c" +} + + +GtkWindow* editing_tools_photo_canvas_get_container (EditingToolsPhotoCanvas* self) { + GtkWindow* result = NULL; + GtkWindow* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self), NULL); +#line 204 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->container; +#line 204 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 204 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 204 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 2531 "EditingTools.c" +} + + +GdkWindow* editing_tools_photo_canvas_get_drawing_window (EditingToolsPhotoCanvas* self) { + GdkWindow* result = NULL; + GdkWindow* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; +#line 207 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self), NULL); +#line 208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->drawing_window; +#line 208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 2549 "EditingTools.c" +} + + +cairo_t* editing_tools_photo_canvas_get_default_ctx (EditingToolsPhotoCanvas* self) { + cairo_t* result = NULL; + cairo_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; +#line 211 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self), NULL); +#line 212 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->default_ctx; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _cairo_reference0 (_tmp0_); +#line 212 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 2567 "EditingTools.c" +} + + +void editing_tools_photo_canvas_get_surface_dim (EditingToolsPhotoCanvas* self, Dimensions* result) { + Dimensions _tmp0_ = {0}; +#line 215 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 216 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->surface_dim; +#line 216 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _tmp0_; +#line 216 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2581 "EditingTools.c" +} + + +void editing_tools_photo_canvas_get_scaling (EditingToolsPhotoCanvas* self, Scaling* result) { + Dimensions _tmp0_ = {0}; + Scaling _tmp1_ = {0}; +#line 219 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 220 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->surface_dim; +#line 220 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scaling_for_viewport (&_tmp0_, FALSE, &_tmp1_); +#line 220 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _tmp1_; +#line 220 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2598 "EditingTools.c" +} + + +void editing_tools_photo_canvas_set_surface (EditingToolsPhotoCanvas* self, cairo_t* default_ctx, Dimensions* surface_dim) { + cairo_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + cairo_t* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; +#line 223 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 223 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (default_ctx != NULL); +#line 223 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (surface_dim != NULL); +#line 224 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = default_ctx; +#line 224 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _cairo_reference0 (_tmp0_); +#line 224 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->default_ctx); +#line 224 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->default_ctx = _tmp1_; +#line 225 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *surface_dim; +#line 225 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->surface_dim = _tmp2_; +#line 227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = default_ctx; +#line 227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = *surface_dim; +#line 227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (self, "new-surface", _tmp3_, &_tmp4_); +#line 2632 "EditingTools.c" +} + + +static gpointer _cairo_surface_reference0 (gpointer self) { +#line 231 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self ? cairo_surface_reference (self) : NULL; +#line 2639 "EditingTools.c" +} + + +cairo_surface_t* editing_tools_photo_canvas_get_scaled_surface (EditingToolsPhotoCanvas* self) { + cairo_surface_t* result = NULL; + cairo_surface_t* _tmp0_ = NULL; + cairo_surface_t* _tmp1_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self), NULL); +#line 231 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->scaled; +#line 231 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _cairo_surface_reference0 (_tmp0_); +#line 231 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 231 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 2657 "EditingTools.c" +} + + +GdkPixbuf* editing_tools_photo_canvas_get_scaled_pixbuf (EditingToolsPhotoCanvas* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self), NULL); +#line 235 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->scaled_pixbuf; +#line 235 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 235 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 235 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 2675 "EditingTools.c" +} + + +void editing_tools_photo_canvas_get_scaled_pixbuf_position (EditingToolsPhotoCanvas* self, GdkRectangle* result) { + GdkRectangle _tmp0_ = {0}; +#line 238 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 239 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->scaled_position; +#line 239 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _tmp0_; +#line 239 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2689 "EditingTools.c" +} + + +void editing_tools_photo_canvas_resized_pixbuf (EditingToolsPhotoCanvas* self, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position) { + cairo_t* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkRectangle _tmp2_ = {0}; + cairo_surface_t* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkRectangle _tmp6_ = {0}; + Dimensions _tmp7_ = {0}; + GdkPixbuf* _tmp8_ = NULL; + GdkRectangle _tmp9_ = {0}; +#line 242 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 242 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (old_dim != NULL); +#line 242 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GDK_IS_PIXBUF (scaled)); +#line 242 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (scaled_position != NULL); +#line 243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->default_ctx; +#line 243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = scaled; +#line 243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *scaled_position; +#line 243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = editing_tools_photo_canvas_pixbuf_to_surface (self, _tmp0_, _tmp1_, &_tmp2_); +#line 243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->scaled); +#line 243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled = _tmp3_; +#line 244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = scaled; +#line 244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->scaled_pixbuf); +#line 244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_pixbuf = _tmp5_; +#line 245 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = *scaled_position; +#line 245 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_position = _tmp6_; +#line 247 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = *old_dim; +#line 247 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = scaled; +#line 247 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = *scaled_position; +#line 247 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (self, "resized-scaled-pixbuf", &_tmp7_, _tmp8_, &_tmp9_); +#line 2744 "EditingTools.c" +} + + +static void editing_tools_photo_canvas_real_repaint (EditingToolsPhotoCanvas* self) { +#line 250 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_critical ("Type `%s' does not implement abstract method `editing_tools_photo_canvas_repaint'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 250 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 2753 "EditingTools.c" +} + + +void editing_tools_photo_canvas_repaint (EditingToolsPhotoCanvas* self) { +#line 250 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 250 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_PHOTO_CANVAS_GET_CLASS (self)->repaint (self); +#line 2762 "EditingTools.c" +} + + +void editing_tools_photo_canvas_paint_pixbuf (EditingToolsPhotoCanvas* self, GdkPixbuf* pixbuf) { + cairo_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + cairo_t* _tmp7_ = NULL; + cairo_t* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + cairo_t* _tmp14_ = NULL; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkPixbuf* _tmp19_ = NULL; + gint _tmp20_ = 0; + GdkPixbuf* _tmp21_ = NULL; + gint _tmp22_ = 0; + cairo_t* _tmp23_ = NULL; + cairo_t* _tmp24_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 258 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->default_ctx; +#line 259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_save (_tmp0_); +#line 262 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->default_ctx; +#line 262 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp1_, "#000"); +#line 263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->default_ctx; +#line 263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->surface_dim; +#line 263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.width; +#line 263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->surface_dim; +#line 263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.height; +#line 263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp2_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp4_, (gdouble) _tmp6_); +#line 264 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->priv->default_ctx; +#line 264 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp7_); +#line 267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->default_ctx; +#line 267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = pixbuf; +#line 267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->scaled_position; +#line 267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_.x; +#line 267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->scaled_position; +#line 267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.y; +#line 267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gdk_cairo_set_source_pixbuf (_tmp8_, _tmp9_, (gdouble) _tmp11_, (gdouble) _tmp13_); +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = self->priv->default_ctx; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->scaled_position; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.x; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->scaled_position; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_.y; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = pixbuf; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = gdk_pixbuf_get_width (_tmp19_); +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = pixbuf; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = gdk_pixbuf_get_height (_tmp21_); +#line 268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp14_, (gdouble) _tmp16_, (gdouble) _tmp18_, (gdouble) _tmp20_, (gdouble) _tmp22_); +#line 270 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->priv->default_ctx; +#line 270 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp23_); +#line 271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->default_ctx; +#line 271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_restore (_tmp24_); +#line 2862 "EditingTools.c" +} + + +void editing_tools_photo_canvas_paint_pixbuf_area (EditingToolsPhotoCanvas* self, GdkPixbuf* pixbuf, Box* source_area) { + cairo_t* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + cairo_t* _tmp16_ = NULL; + GdkPixbuf* _tmp17_ = NULL; + GdkRectangle _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkRectangle _tmp20_ = {0}; + gint _tmp21_ = 0; + cairo_t* _tmp22_ = NULL; + GdkRectangle _tmp23_ = {0}; + gint _tmp24_ = 0; + Box _tmp25_ = {0}; + gint _tmp26_ = 0; + GdkRectangle _tmp27_ = {0}; + gint _tmp28_ = 0; + Box _tmp29_ = {0}; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + cairo_t* _tmp33_ = NULL; + cairo_t* _tmp34_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 274 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 274 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (source_area != NULL); +#line 275 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->default_ctx; +#line 275 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_save (_tmp0_); +#line 276 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = pixbuf; +#line 276 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gdk_pixbuf_get_has_alpha (_tmp1_); +#line 276 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp2_) { +#line 2905 "EditingTools.c" + cairo_t* _tmp3_ = NULL; + cairo_t* _tmp4_ = NULL; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + Box _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + Box _tmp11_ = {0}; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + cairo_t* _tmp15_ = NULL; +#line 277 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->default_ctx; +#line 277 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp3_, "#000"); +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->default_ctx; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->scaled_position; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.x; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = *source_area; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.left; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->scaled_position; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.y; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = *source_area; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.top; +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = box_get_width (source_area); +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = box_get_height (source_area); +#line 278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp4_, (gdouble) (_tmp6_ + _tmp8_), (gdouble) (_tmp10_ + _tmp12_), (gdouble) _tmp13_, (gdouble) _tmp14_); +#line 281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->default_ctx; +#line 281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp15_); +#line 2951 "EditingTools.c" + } +#line 284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = self->priv->default_ctx; +#line 284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = pixbuf; +#line 284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->scaled_position; +#line 284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_.x; +#line 284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = self->priv->scaled_position; +#line 284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = _tmp20_.y; +#line 284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gdk_cairo_set_source_pixbuf (_tmp16_, _tmp17_, (gdouble) _tmp19_, (gdouble) _tmp21_); +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = self->priv->default_ctx; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->priv->scaled_position; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = _tmp23_.x; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = *source_area; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _tmp25_.left; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = self->priv->scaled_position; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = _tmp27_.y; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = *source_area; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = _tmp29_.top; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = box_get_width (source_area); +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = box_get_height (source_area); +#line 286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp22_, (gdouble) (_tmp24_ + _tmp26_), (gdouble) (_tmp28_ + _tmp30_), (gdouble) _tmp31_, (gdouble) _tmp32_); +#line 289 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = self->priv->default_ctx; +#line 289 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp33_); +#line 290 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = self->priv->default_ctx; +#line 290 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_restore (_tmp34_); +#line 2999 "EditingTools.c" +} + + +void editing_tools_photo_canvas_paint_surface (EditingToolsPhotoCanvas* self, cairo_surface_t* surface, gboolean over) { + cairo_t* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + cairo_t* _tmp4_ = NULL; + cairo_surface_t* _tmp5_ = NULL; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + cairo_t* _tmp10_ = NULL; + cairo_t* _tmp11_ = NULL; + cairo_surface_t* _tmp12_ = NULL; + GdkRectangle _tmp13_ = {0}; + gint _tmp14_ = 0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + cairo_t* _tmp17_ = NULL; + cairo_t* _tmp18_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 294 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (surface != NULL); +#line 295 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->default_ctx; +#line 295 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_save (_tmp0_); +#line 296 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = over; +#line 296 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_ == FALSE) { +#line 3033 "EditingTools.c" + cairo_t* _tmp2_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->default_ctx; +#line 297 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_operator (_tmp2_, CAIRO_OPERATOR_SOURCE); +#line 3039 "EditingTools.c" + } else { + cairo_t* _tmp3_ = NULL; +#line 299 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->default_ctx; +#line 299 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_operator (_tmp3_, CAIRO_OPERATOR_OVER); +#line 3046 "EditingTools.c" + } +#line 301 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->default_ctx; +#line 301 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->scaled; +#line 301 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->scaled_position; +#line 301 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.x; +#line 301 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->scaled_position; +#line 301 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.y; +#line 301 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_surface (_tmp4_, _tmp5_, (gdouble) _tmp7_, (gdouble) _tmp9_); +#line 302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->default_ctx; +#line 302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_paint (_tmp10_); +#line 303 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->default_ctx; +#line 303 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = surface; +#line 303 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->priv->scaled_position; +#line 303 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_.x; +#line 303 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->scaled_position; +#line 303 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.y; +#line 303 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_surface (_tmp11_, _tmp12_, (gdouble) _tmp14_, (gdouble) _tmp16_); +#line 304 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->default_ctx; +#line 304 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_paint (_tmp17_); +#line 305 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->default_ctx; +#line 305 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_restore (_tmp18_); +#line 3088 "EditingTools.c" +} + + +void editing_tools_photo_canvas_paint_surface_area (EditingToolsPhotoCanvas* self, cairo_surface_t* surface, Box* source_area, gboolean over) { + cairo_t* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + cairo_t* _tmp4_ = NULL; + cairo_surface_t* _tmp5_ = NULL; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + cairo_t* _tmp10_ = NULL; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + Box _tmp13_ = {0}; + gint _tmp14_ = 0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + Box _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + cairo_t* _tmp21_ = NULL; + cairo_t* _tmp22_ = NULL; + cairo_surface_t* _tmp23_ = NULL; + GdkRectangle _tmp24_ = {0}; + gint _tmp25_ = 0; + GdkRectangle _tmp26_ = {0}; + gint _tmp27_ = 0; + cairo_t* _tmp28_ = NULL; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + Box _tmp31_ = {0}; + gint _tmp32_ = 0; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + Box _tmp35_ = {0}; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + cairo_t* _tmp39_ = NULL; + cairo_t* _tmp40_ = NULL; +#line 308 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 308 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (surface != NULL); +#line 308 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (source_area != NULL); +#line 309 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->default_ctx; +#line 309 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_save (_tmp0_); +#line 310 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = over; +#line 310 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_ == FALSE) { +#line 3146 "EditingTools.c" + cairo_t* _tmp2_ = NULL; +#line 311 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->default_ctx; +#line 311 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_operator (_tmp2_, CAIRO_OPERATOR_SOURCE); +#line 3152 "EditingTools.c" + } else { + cairo_t* _tmp3_ = NULL; +#line 313 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->default_ctx; +#line 313 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_operator (_tmp3_, CAIRO_OPERATOR_OVER); +#line 3159 "EditingTools.c" + } +#line 315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->default_ctx; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->scaled; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->scaled_position; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.x; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->scaled_position; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.y; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_surface (_tmp4_, _tmp5_, (gdouble) _tmp7_, (gdouble) _tmp9_); +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->default_ctx; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->scaled_position; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.x; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = *source_area; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_.left; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->scaled_position; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.y; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = *source_area; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_.top; +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = box_get_width (source_area); +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = box_get_height (source_area); +#line 316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp10_, (gdouble) (_tmp12_ + _tmp14_), (gdouble) (_tmp16_ + _tmp18_), (gdouble) _tmp19_, (gdouble) _tmp20_); +#line 319 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->default_ctx; +#line 319 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp21_); +#line 321 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = self->priv->default_ctx; +#line 321 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = surface; +#line 321 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->scaled_position; +#line 321 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_.x; +#line 321 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = self->priv->scaled_position; +#line 321 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = _tmp26_.y; +#line 321 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_surface (_tmp22_, _tmp23_, (gdouble) _tmp25_, (gdouble) _tmp27_); +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = self->priv->default_ctx; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->priv->scaled_position; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = _tmp29_.x; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = *source_area; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = _tmp31_.left; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = self->priv->scaled_position; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = _tmp33_.y; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = *source_area; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = _tmp35_.top; +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = box_get_width (source_area); +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = box_get_height (source_area); +#line 322 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp28_, (gdouble) (_tmp30_ + _tmp32_), (gdouble) (_tmp34_ + _tmp36_), (gdouble) _tmp37_, (gdouble) _tmp38_); +#line 325 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = self->priv->default_ctx; +#line 325 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp39_); +#line 326 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = self->priv->default_ctx; +#line 326 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_restore (_tmp40_); +#line 3249 "EditingTools.c" +} + + +void editing_tools_photo_canvas_draw_box (EditingToolsPhotoCanvas* self, cairo_t* ctx, Box* box) { + GdkRectangle rect = {0}; + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + cairo_t* _tmp7_ = NULL; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkRectangle _tmp14_ = {0}; + gint _tmp15_ = 0; + cairo_t* _tmp16_ = NULL; +#line 329 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 329 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 329 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (box != NULL); +#line 330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_rectangle (box, &_tmp0_); +#line 330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rect = _tmp0_; +#line 331 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = rect.x; +#line 331 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->scaled_position; +#line 331 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 331 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rect.x = _tmp1_ + _tmp3_; +#line 332 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = rect.y; +#line 332 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->scaled_position; +#line 332 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.y; +#line 332 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rect.y = _tmp4_ + _tmp6_; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = ctx; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = rect; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.x; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = rect; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_.y; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = rect; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.width; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = rect; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_.height; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp7_, _tmp9_ + 0.5, _tmp11_ + 0.5, (gdouble) (_tmp13_ - 1), (gdouble) (_tmp15_ - 1)); +#line 335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = ctx; +#line 335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_stroke (_tmp16_); +#line 3322 "EditingTools.c" +} + + +void editing_tools_photo_canvas_draw_text (EditingToolsPhotoCanvas* self, cairo_t* ctx, const gchar* text, gint x, gint y, gboolean use_scaled_pos) { + gboolean _tmp0_ = FALSE; + cairo_text_extents_t extents = {0}; + cairo_t* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + cairo_text_extents_t _tmp9_ = {0}; + gint _tmp10_ = 0; + cairo_text_extents_t _tmp11_ = {0}; + gdouble _tmp12_ = 0.0; + cairo_t* _tmp13_ = NULL; + gint pane_border = 0; + cairo_t* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + cairo_text_extents_t _tmp17_ = {0}; + gdouble _tmp18_ = 0.0; + cairo_text_extents_t _tmp19_ = {0}; + gdouble _tmp20_ = 0.0; + cairo_text_extents_t _tmp21_ = {0}; + gdouble _tmp22_ = 0.0; + cairo_t* _tmp23_ = NULL; + cairo_t* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + cairo_t* _tmp27_ = NULL; + cairo_t* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 338 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 338 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (text != NULL); +#line 339 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = use_scaled_pos; +#line 339 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 3363 "EditingTools.c" + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 340 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = x; +#line 340 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->scaled_position; +#line 340 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 340 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = _tmp1_ + _tmp3_; +#line 341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = y; +#line 341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->scaled_position; +#line 341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.y; +#line 341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y = _tmp4_ + _tmp6_; +#line 3386 "EditingTools.c" + } +#line 344 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = ctx; +#line 344 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = text; +#line 344 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_text_extents (_tmp7_, _tmp8_, &_tmp9_); +#line 344 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + extents = _tmp9_; +#line 345 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = x; +#line 345 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = extents; +#line 345 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.width; +#line 345 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = _tmp10_ - (((gint) _tmp12_) / 2); +#line 347 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = ctx; +#line 347 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp13_, RESOURCES_ONIMAGE_FONT_BACKGROUND); +#line 349 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pane_border = 5; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = ctx; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = x; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = y; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = extents; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_.height; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = extents; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_.width; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = extents; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp21_.height; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp14_, (gdouble) (_tmp15_ - pane_border), (_tmp16_ - pane_border) - _tmp18_, _tmp20_ + (2 * pane_border), _tmp22_ + (2 * pane_border)); +#line 353 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = ctx; +#line 353 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp23_); +#line 355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = ctx; +#line 355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = x; +#line 355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = y; +#line 355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_move_to (_tmp24_, (gdouble) _tmp25_, (gdouble) _tmp26_); +#line 356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = ctx; +#line 356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp27_, RESOURCES_ONIMAGE_FONT_COLOR); +#line 357 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = ctx; +#line 357 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = text; +#line 357 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_show_text (_tmp28_, _tmp29_); +#line 3452 "EditingTools.c" +} + + +/** + * Draw a horizontal line into the specified Cairo context at the specified position, taking + * into account the scaled position of the image unless directed otherwise. + * + * @param ctx The drawing context of the surface we're drawing to. + * @param x The horizontal position to place the line at. + * @param y The vertical position to place the line at. + * @param width The length of the line. + * @param use_scaled_pos Whether to use absolute window positioning or take into account the + * position of the scaled image. + */ +void editing_tools_photo_canvas_draw_horizontal_line (EditingToolsPhotoCanvas* self, cairo_t* ctx, gint x, gint y, gint width, gboolean use_scaled_pos) { + gboolean _tmp0_ = FALSE; + cairo_t* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + cairo_t* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + cairo_t* _tmp14_ = NULL; +#line 371 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 371 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = use_scaled_pos; +#line 372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 3485 "EditingTools.c" + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 373 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = x; +#line 373 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->scaled_position; +#line 373 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 373 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = _tmp1_ + _tmp3_; +#line 374 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = y; +#line 374 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->scaled_position; +#line 374 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.y; +#line 374 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y = _tmp4_ + _tmp6_; +#line 3508 "EditingTools.c" + } +#line 377 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = ctx; +#line 377 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = x; +#line 377 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = y; +#line 377 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_move_to (_tmp7_, _tmp8_ + 0.5, _tmp9_ + 0.5); +#line 378 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = ctx; +#line 378 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = x; +#line 378 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = width; +#line 378 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = y; +#line 378 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_line_to (_tmp10_, (gdouble) ((_tmp11_ + _tmp12_) - 1), _tmp13_ + 0.5); +#line 379 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = ctx; +#line 379 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_stroke (_tmp14_); +#line 3532 "EditingTools.c" +} + + +/** + * Draw a vertical line into the specified Cairo context at the specified position, taking + * into account the scaled position of the image unless directed otherwise. + * + * @param ctx The drawing context of the surface we're drawing to. + * @param x The horizontal position to place the line at. + * @param y The vertical position to place the line at. + * @param width The length of the line. + * @param use_scaled_pos Whether to use absolute window positioning or take into account the + * position of the scaled image. + */ +void editing_tools_photo_canvas_draw_vertical_line (EditingToolsPhotoCanvas* self, cairo_t* ctx, gint x, gint y, gint height, gboolean use_scaled_pos) { + gboolean _tmp0_ = FALSE; + cairo_t* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + cairo_t* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + cairo_t* _tmp14_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 393 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 394 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = use_scaled_pos; +#line 394 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 3565 "EditingTools.c" + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = x; +#line 395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->scaled_position; +#line 395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = _tmp1_ + _tmp3_; +#line 396 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = y; +#line 396 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->scaled_position; +#line 396 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.y; +#line 396 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y = _tmp4_ + _tmp6_; +#line 3588 "EditingTools.c" + } +#line 399 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = ctx; +#line 399 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = x; +#line 399 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = y; +#line 399 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_move_to (_tmp7_, _tmp8_ + 0.5, _tmp9_ + 0.5); +#line 400 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = ctx; +#line 400 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = x; +#line 400 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = y; +#line 400 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = height; +#line 400 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_line_to (_tmp10_, _tmp11_ + 0.5, (gdouble) ((_tmp12_ + _tmp13_) - 1)); +#line 401 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = ctx; +#line 401 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_stroke (_tmp14_); +#line 3612 "EditingTools.c" +} + + +void editing_tools_photo_canvas_erase_horizontal_line (EditingToolsPhotoCanvas* self, gint x, gint y, gint width) { + cairo_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + cairo_surface_t* _tmp3_ = NULL; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + cairo_t* _tmp8_ = NULL; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + cairo_t* _tmp16_ = NULL; + cairo_t* _tmp17_ = NULL; +#line 404 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 405 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->default_ctx; +#line 405 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_save (_tmp0_); +#line 407 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->default_ctx; +#line 407 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_operator (_tmp1_, CAIRO_OPERATOR_SOURCE); +#line 408 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->default_ctx; +#line 408 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->scaled; +#line 408 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->scaled_position; +#line 408 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.x; +#line 408 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->scaled_position; +#line 408 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.y; +#line 408 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_surface (_tmp2_, _tmp3_, (gdouble) _tmp5_, (gdouble) _tmp7_); +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->default_ctx; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->scaled_position; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.x; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = x; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->scaled_position; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.y; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = y; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = width; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp8_, (gdouble) (_tmp10_ + _tmp11_), (gdouble) (_tmp13_ + _tmp14_), (gdouble) (_tmp15_ - 1), (gdouble) 1); +#line 411 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = self->priv->default_ctx; +#line 411 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp16_); +#line 413 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->default_ctx; +#line 413 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_restore (_tmp17_); +#line 3685 "EditingTools.c" +} + + +void editing_tools_photo_canvas_draw_circle (EditingToolsPhotoCanvas* self, cairo_t* ctx, gint active_center_x, gint active_center_y, gint radius) { + gint center_x = 0; + gint _tmp0_ = 0; + GdkRectangle _tmp1_ = {0}; + gint _tmp2_ = 0; + gint center_y = 0; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + cairo_t* _tmp6_ = NULL; + gint _tmp7_ = 0; + cairo_t* _tmp8_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 416 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 418 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = active_center_x; +#line 418 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->scaled_position; +#line 418 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_.x; +#line 418 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + center_x = _tmp0_ + _tmp2_; +#line 419 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = active_center_y; +#line 419 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->scaled_position; +#line 419 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.y; +#line 419 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + center_y = _tmp3_ + _tmp5_; +#line 421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = ctx; +#line 421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = radius; +#line 421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_arc (_tmp6_, (gdouble) center_x, (gdouble) center_y, (gdouble) _tmp7_, (gdouble) 0, 2 * G_PI); +#line 422 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = ctx; +#line 422 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_stroke (_tmp8_); +#line 3731 "EditingTools.c" +} + + +void editing_tools_photo_canvas_erase_vertical_line (EditingToolsPhotoCanvas* self, gint x, gint y, gint height) { + cairo_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + cairo_surface_t* _tmp3_ = NULL; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + cairo_t* _tmp8_ = NULL; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + cairo_t* _tmp16_ = NULL; + cairo_t* _tmp17_ = NULL; +#line 425 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 426 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->default_ctx; +#line 426 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_save (_tmp0_); +#line 432 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->default_ctx; +#line 432 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_operator (_tmp1_, CAIRO_OPERATOR_SOURCE); +#line 433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->default_ctx; +#line 433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->scaled; +#line 433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->scaled_position; +#line 433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.x; +#line 433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->scaled_position; +#line 433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.y; +#line 433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_surface (_tmp2_, _tmp3_, (gdouble) _tmp5_, (gdouble) _tmp7_); +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->default_ctx; +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->scaled_position; +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.x; +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = x; +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->scaled_position; +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.y; +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = y; +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = height; +#line 434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp8_, (gdouble) (_tmp10_ + _tmp11_), (gdouble) (_tmp13_ + _tmp14_), (gdouble) 1, (gdouble) _tmp15_); +#line 436 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = self->priv->default_ctx; +#line 436 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp16_); +#line 438 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->default_ctx; +#line 438 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_restore (_tmp17_); +#line 3804 "EditingTools.c" +} + + +void editing_tools_photo_canvas_erase_box (EditingToolsPhotoCanvas* self, Box* box) { + Box _tmp0_ = {0}; + gint _tmp1_ = 0; + Box _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + Box _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + Box _tmp10_ = {0}; + gint _tmp11_ = 0; + Box _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + Box _tmp15_ = {0}; + gint _tmp16_ = 0; + Box _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 441 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 441 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (box != NULL); +#line 442 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = *box; +#line 442 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_.left; +#line 442 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *box; +#line 442 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.top; +#line 442 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = box_get_width (box); +#line 442 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_erase_horizontal_line (self, _tmp1_, _tmp3_, _tmp4_); +#line 443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = *box; +#line 443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.left; +#line 443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = *box; +#line 443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.bottom; +#line 443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = box_get_width (box); +#line 443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_erase_horizontal_line (self, _tmp6_, _tmp8_, _tmp9_); +#line 445 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = *box; +#line 445 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_.left; +#line 445 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = *box; +#line 445 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.top; +#line 445 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = box_get_height (box); +#line 445 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_erase_vertical_line (self, _tmp11_, _tmp13_, _tmp14_); +#line 446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = *box; +#line 446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.right; +#line 446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = *box; +#line 446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_.top; +#line 446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = box_get_height (box); +#line 446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_erase_vertical_line (self, _tmp16_, _tmp18_, _tmp19_); +#line 3881 "EditingTools.c" +} + + +void editing_tools_photo_canvas_invalidate_area (EditingToolsPhotoCanvas* self, Box* area) { + GdkRectangle rect = {0}; + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkWindow* _tmp7_ = NULL; + GdkRectangle _tmp8_ = {0}; +#line 449 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self)); +#line 449 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (area != NULL); +#line 450 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_rectangle (area, &_tmp0_); +#line 450 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rect = _tmp0_; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = rect.x; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->scaled_position; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rect.x = _tmp1_ + _tmp3_; +#line 452 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = rect.y; +#line 452 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->scaled_position; +#line 452 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.y; +#line 452 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rect.y = _tmp4_ + _tmp6_; +#line 454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->priv->drawing_window; +#line 454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = rect; +#line 454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gdk_window_invalidate_rect (_tmp7_, &_tmp8_, FALSE); +#line 3926 "EditingTools.c" +} + + +static cairo_surface_t* editing_tools_photo_canvas_pixbuf_to_surface (EditingToolsPhotoCanvas* self, cairo_t* default_ctx, GdkPixbuf* pixbuf, GdkRectangle* pos) { + cairo_surface_t* result = NULL; + cairo_surface_t* surface = NULL; + cairo_t* _tmp0_ = NULL; + cairo_surface_t* _tmp1_ = NULL; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + cairo_surface_t* _tmp6_ = NULL; + cairo_t* ctx = NULL; + cairo_t* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; +#line 457 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (self), NULL); +#line 457 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (default_ctx != NULL, NULL); +#line 457 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 457 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (pos != NULL, NULL); +#line 459 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = default_ctx; +#line 459 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = cairo_get_target (_tmp0_); +#line 459 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *pos; +#line 459 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.width; +#line 459 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = *pos; +#line 459 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.height; +#line 459 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = cairo_surface_create_similar (_tmp1_, CAIRO_CONTENT_COLOR_ALPHA, _tmp3_, _tmp5_); +#line 459 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + surface = _tmp6_; +#line 461 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = cairo_create (surface); +#line 461 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ctx = _tmp7_; +#line 462 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = pixbuf; +#line 462 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gdk_cairo_set_source_pixbuf (ctx, _tmp8_, (gdouble) 0, (gdouble) 0); +#line 463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_paint (ctx); +#line 464 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = surface; +#line 464 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (ctx); +#line 464 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 3983 "EditingTools.c" +} + + +static void g_cclosure_user_marshal_VOID__POINTER_BOXED (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__POINTER_BOXED) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__POINTER_BOXED callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (n_param_values == 3); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data1 = closure->data; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data2 = param_values->data[0].v_pointer; +#line 4002 "EditingTools.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data1 = param_values->data[0].v_pointer; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data2 = closure->data; +#line 4008 "EditingTools.c" + } +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + callback = (GMarshalFunc_VOID__POINTER_BOXED) (marshal_data ? marshal_data : cc->callback); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + callback (data1, g_value_get_pointer (param_values + 1), g_value_get_boxed (param_values + 2), data2); +#line 4014 "EditingTools.c" +} + + +static void g_cclosure_user_marshal_VOID__BOXED_OBJECT_BOXED (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__BOXED_OBJECT_BOXED) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer arg_3, gpointer data2); + register GMarshalFunc_VOID__BOXED_OBJECT_BOXED callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (n_param_values == 4); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data1 = closure->data; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data2 = param_values->data[0].v_pointer; +#line 4033 "EditingTools.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data1 = param_values->data[0].v_pointer; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data2 = closure->data; +#line 4039 "EditingTools.c" + } +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + callback = (GMarshalFunc_VOID__BOXED_OBJECT_BOXED) (marshal_data ? marshal_data : cc->callback); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + callback (data1, g_value_get_boxed (param_values + 1), g_value_get_object (param_values + 2), g_value_get_boxed (param_values + 3), data2); +#line 4045 "EditingTools.c" +} + + +static void editing_tools_value_photo_canvas_init (GValue* value) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 4052 "EditingTools.c" +} + + +static void editing_tools_value_photo_canvas_free_value (GValue* value) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (value->data[0].v_pointer) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_unref (value->data[0].v_pointer); +#line 4061 "EditingTools.c" + } +} + + +static void editing_tools_value_photo_canvas_copy_value (const GValue* src_value, GValue* dest_value) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (src_value->data[0].v_pointer) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dest_value->data[0].v_pointer = editing_tools_photo_canvas_ref (src_value->data[0].v_pointer); +#line 4071 "EditingTools.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dest_value->data[0].v_pointer = NULL; +#line 4075 "EditingTools.c" + } +} + + +static gpointer editing_tools_value_photo_canvas_peek_pointer (const GValue* value) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return value->data[0].v_pointer; +#line 4083 "EditingTools.c" +} + + +static gchar* editing_tools_value_photo_canvas_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (collect_values[0].v_pointer) { +#line 4090 "EditingTools.c" + EditingToolsPhotoCanvas* object; + object = collect_values[0].v_pointer; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (object->parent_instance.g_class == NULL) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4097 "EditingTools.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4101 "EditingTools.c" + } +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = editing_tools_photo_canvas_ref (object); +#line 4105 "EditingTools.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 4109 "EditingTools.c" + } +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return NULL; +#line 4113 "EditingTools.c" +} + + +static gchar* editing_tools_value_photo_canvas_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + EditingToolsPhotoCanvas** object_p; + object_p = collect_values[0].v_pointer; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!object_p) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 4124 "EditingTools.c" + } +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!value->data[0].v_pointer) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = NULL; +#line 4130 "EditingTools.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = value->data[0].v_pointer; +#line 4134 "EditingTools.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = editing_tools_photo_canvas_ref (value->data[0].v_pointer); +#line 4138 "EditingTools.c" + } +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return NULL; +#line 4142 "EditingTools.c" +} + + +GParamSpec* editing_tools_param_spec_photo_canvas (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + EditingToolsParamSpecPhotoCanvas* spec; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (g_type_is_a (object_type, EDITING_TOOLS_TYPE_PHOTO_CANVAS), NULL); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return G_PARAM_SPEC (spec); +#line 4156 "EditingTools.c" +} + + +gpointer editing_tools_value_get_photo_canvas (const GValue* value) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_TYPE_PHOTO_CANVAS), NULL); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return value->data[0].v_pointer; +#line 4165 "EditingTools.c" +} + + +void editing_tools_value_set_photo_canvas (GValue* value, gpointer v_object) { + EditingToolsPhotoCanvas* old; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_TYPE_PHOTO_CANVAS)); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old = value->data[0].v_pointer; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (v_object) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, EDITING_TOOLS_TYPE_PHOTO_CANVAS)); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = v_object; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_ref (value->data[0].v_pointer); +#line 4185 "EditingTools.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 4189 "EditingTools.c" + } +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (old) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_unref (old); +#line 4195 "EditingTools.c" + } +} + + +void editing_tools_value_take_photo_canvas (GValue* value, gpointer v_object) { + EditingToolsPhotoCanvas* old; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_TYPE_PHOTO_CANVAS)); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old = value->data[0].v_pointer; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (v_object) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, EDITING_TOOLS_TYPE_PHOTO_CANVAS)); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = v_object; +#line 4214 "EditingTools.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 4218 "EditingTools.c" + } +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (old) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_unref (old); +#line 4224 "EditingTools.c" + } +} + + +static void editing_tools_photo_canvas_class_init (EditingToolsPhotoCanvasClass * klass) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_parent_class = g_type_class_peek_parent (klass); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsPhotoCanvasClass *) klass)->finalize = editing_tools_photo_canvas_finalize; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsPhotoCanvasPrivate)); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsPhotoCanvasClass *) klass)->repaint = editing_tools_photo_canvas_real_repaint; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_new ("new_surface", EDITING_TOOLS_TYPE_PHOTO_CANVAS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__POINTER_BOXED, G_TYPE_NONE, 2, G_TYPE_POINTER, TYPE_DIMENSIONS); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_new ("resized_scaled_pixbuf", EDITING_TOOLS_TYPE_PHOTO_CANVAS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOXED_OBJECT_BOXED, G_TYPE_NONE, 3, TYPE_DIMENSIONS, GDK_TYPE_PIXBUF, GDK_TYPE_RECTANGLE); +#line 4242 "EditingTools.c" +} + + +static void editing_tools_photo_canvas_instance_init (EditingToolsPhotoCanvas * self) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_PHOTO_CANVAS_GET_PRIVATE (self); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->ref_count = 1; +#line 4251 "EditingTools.c" +} + + +static void editing_tools_photo_canvas_finalize (EditingToolsPhotoCanvas* obj) { + EditingToolsPhotoCanvas * self; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvas); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_destroy (self); +#line 103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->container); +#line 104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->drawing_window); +#line 105 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->photo); +#line 106 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->default_ctx); +#line 108 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->scaled); +#line 109 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->scaled_pixbuf); +#line 4273 "EditingTools.c" +} + + +GType editing_tools_photo_canvas_get_type (void) { + static volatile gsize editing_tools_photo_canvas_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_photo_canvas_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { editing_tools_value_photo_canvas_init, editing_tools_value_photo_canvas_free_value, editing_tools_value_photo_canvas_copy_value, editing_tools_value_photo_canvas_peek_pointer, "p", editing_tools_value_photo_canvas_collect_value, "p", editing_tools_value_photo_canvas_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsPhotoCanvasClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_photo_canvas_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsPhotoCanvas), 0, (GInstanceInitFunc) editing_tools_photo_canvas_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType editing_tools_photo_canvas_type_id; + editing_tools_photo_canvas_type_id = g_type_register_fundamental (g_type_fundamental_next (), "EditingToolsPhotoCanvas", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&editing_tools_photo_canvas_type_id__volatile, editing_tools_photo_canvas_type_id); + } + return editing_tools_photo_canvas_type_id__volatile; +} + + +gpointer editing_tools_photo_canvas_ref (gpointer instance) { + EditingToolsPhotoCanvas* self; + self = instance; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_atomic_int_inc (&self->ref_count); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return instance; +#line 4298 "EditingTools.c" +} + + +void editing_tools_photo_canvas_unref (gpointer instance) { + EditingToolsPhotoCanvas* self; + self = instance; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_PHOTO_CANVAS_GET_CLASS (self)->finalize (self); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4311 "EditingTools.c" + } +} + + +EditingToolsEditingTool* editing_tools_editing_tool_construct (GType object_type, const gchar* name) { + EditingToolsEditingTool* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 489 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 489 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsEditingTool*) g_type_create_instance (object_type); +#line 490 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = name; +#line 490 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 490 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (self->name); +#line 490 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->name = _tmp1_; +#line 489 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 4334 "EditingTools.c" +} + + +static gpointer _editing_tools_photo_canvas_ref0 (gpointer self) { +#line 502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self ? editing_tools_photo_canvas_ref (self) : NULL; +#line 4341 "EditingTools.c" +} + + +static gboolean _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) { + gboolean result; + result = editing_tools_editing_tool_on_keypress ((EditingToolsEditingTool*) self, event); +#line 506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 4350 "EditingTools.c" +} + + +static void editing_tools_editing_tool_real_activate (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsEditingToolWindow* _tmp1_ = NULL; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + EditingToolsPhotoCanvas* _tmp3_ = NULL; + EditingToolsEditingToolWindow* _tmp4_ = NULL; + EditingToolsEditingToolWindow* _tmp5_ = NULL; +#line 497 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 499 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->canvas; +#line 499 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_assert (_tmp0_ == NULL, "this.canvas == null"); +#line 500 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->tool_window; +#line 500 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_assert (_tmp1_ == NULL, "tool_window == null"); +#line 502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = canvas; +#line 502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _editing_tools_photo_canvas_ref0 (_tmp2_); +#line 502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_photo_canvas_unref0 (self->canvas); +#line 502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->canvas = _tmp3_; +#line 504 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = editing_tools_editing_tool_get_tool_window (self); +#line 504 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->tool_window); +#line 504 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->tool_window = _tmp4_; +#line 505 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->tool_window; +#line 505 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_ != NULL) { +#line 4389 "EditingTools.c" + EditingToolsEditingToolWindow* _tmp6_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->tool_window; +#line 506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), "key-press-event", (GCallback) _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event, self); +#line 4395 "EditingTools.c" + } +#line 508 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (self, "activated"); +#line 4399 "EditingTools.c" +} + + +void editing_tools_editing_tool_activate (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas) { +#line 497 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self)); +#line 497 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->activate (self, canvas); +#line 4408 "EditingTools.c" +} + + +static void editing_tools_editing_tool_real_deactivate (EditingToolsEditingTool* self) { + gboolean _tmp0_ = FALSE; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + EditingToolsEditingToolWindow* _tmp3_ = NULL; +#line 514 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->canvas; +#line 514 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_ == NULL) { +#line 4420 "EditingTools.c" + EditingToolsEditingToolWindow* _tmp2_ = NULL; +#line 514 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->tool_window; +#line 514 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = _tmp2_ == NULL; +#line 4426 "EditingTools.c" + } else { +#line 514 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = FALSE; +#line 4430 "EditingTools.c" + } +#line 514 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 4436 "EditingTools.c" + } +#line 517 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_photo_canvas_unref0 (self->canvas); +#line 517 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->canvas = NULL; +#line 519 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->tool_window; +#line 519 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp3_ != NULL) { +#line 4446 "EditingTools.c" + EditingToolsEditingToolWindow* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 520 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->tool_window; +#line 520 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("key-press-event", gtk_widget_get_type (), &_tmp5_, NULL, FALSE); +#line 520 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event, self); +#line 521 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->tool_window); +#line 521 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->tool_window = NULL; +#line 4459 "EditingTools.c" + } +#line 524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (self, "deactivated"); +#line 4463 "EditingTools.c" +} + + +void editing_tools_editing_tool_deactivate (EditingToolsEditingTool* self) { +#line 512 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self)); +#line 512 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->deactivate (self); +#line 4472 "EditingTools.c" +} + + +gboolean editing_tools_editing_tool_is_activated (EditingToolsEditingTool* self) { + gboolean result = FALSE; + EditingToolsPhotoCanvas* _tmp0_ = NULL; +#line 527 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self), FALSE); +#line 528 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->canvas; +#line 528 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp0_ != NULL; +#line 528 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 4487 "EditingTools.c" +} + + +static EditingToolsEditingToolWindow* editing_tools_editing_tool_real_get_tool_window (EditingToolsEditingTool* self) { + EditingToolsEditingToolWindow* result = NULL; +#line 532 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = NULL; +#line 532 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 4497 "EditingTools.c" +} + + +EditingToolsEditingToolWindow* editing_tools_editing_tool_get_tool_window (EditingToolsEditingTool* self) { +#line 531 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self), NULL); +#line 531 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->get_tool_window (self); +#line 4506 "EditingTools.c" +} + + +static GdkPixbuf* editing_tools_editing_tool_real_get_display_pixbuf (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error) { + Dimensions _vala_max_dim = {0}; + GdkPixbuf* result = NULL; +#line 546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 548 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dimensions_init (&_vala_max_dim, 0, 0); +#line 550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = NULL; +#line 550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (max_dim) { +#line 550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *max_dim = _vala_max_dim; +#line 4525 "EditingTools.c" + } +#line 550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 4529 "EditingTools.c" +} + + +GdkPixbuf* editing_tools_editing_tool_get_display_pixbuf (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error) { +#line 546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self), NULL); +#line 546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->get_display_pixbuf (self, scaling, photo, max_dim, error); +#line 4538 "EditingTools.c" +} + + +static void editing_tools_editing_tool_real_on_left_click (EditingToolsEditingTool* self, gint x, gint y) { +} + + +void editing_tools_editing_tool_on_left_click (EditingToolsEditingTool* self, gint x, gint y) { +#line 553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self)); +#line 553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->on_left_click (self, x, y); +#line 4551 "EditingTools.c" +} + + +static void editing_tools_editing_tool_real_on_left_released (EditingToolsEditingTool* self, gint x, gint y) { +} + + +void editing_tools_editing_tool_on_left_released (EditingToolsEditingTool* self, gint x, gint y) { +#line 556 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self)); +#line 556 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->on_left_released (self, x, y); +#line 4564 "EditingTools.c" +} + + +static void editing_tools_editing_tool_real_on_motion (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask) { +} + + +void editing_tools_editing_tool_on_motion (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask) { +#line 559 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self)); +#line 559 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->on_motion (self, x, y, mask); +#line 4577 "EditingTools.c" +} + + +static gboolean editing_tools_editing_tool_real_on_leave_notify_event (EditingToolsEditingTool* self) { + gboolean result = FALSE; +#line 563 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 563 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 4587 "EditingTools.c" +} + + +gboolean editing_tools_editing_tool_on_leave_notify_event (EditingToolsEditingTool* self) { +#line 562 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self), FALSE); +#line 562 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->on_leave_notify_event (self); +#line 4596 "EditingTools.c" +} + + +static gboolean editing_tools_editing_tool_real_on_keypress (EditingToolsEditingTool* self, GdkEventKey* event) { + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; +#line 566 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 568 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = event; +#line 568 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->keyval; +#line 568 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 568 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (g_strcmp0 (_tmp2_, "Escape") == 0) { +#line 569 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_editing_tool_notify_cancel (self); +#line 571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 4621 "EditingTools.c" + } +#line 574 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 574 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 4627 "EditingTools.c" +} + + +gboolean editing_tools_editing_tool_on_keypress (EditingToolsEditingTool* self, GdkEventKey* event) { +#line 566 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self), FALSE); +#line 566 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->on_keypress (self, event); +#line 4636 "EditingTools.c" +} + + +static void editing_tools_editing_tool_real_paint (EditingToolsEditingTool* self, cairo_t* ctx) { +#line 577 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 4643 "EditingTools.c" +} + + +void editing_tools_editing_tool_paint (EditingToolsEditingTool* self, cairo_t* ctx) { +#line 577 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self)); +#line 577 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->paint (self, ctx); +#line 4652 "EditingTools.c" +} + + +void editing_tools_editing_tool_notify_cancel (EditingToolsEditingTool* self) { +#line 581 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_EDITING_TOOL (self)); +#line 582 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (self, "cancelled"); +#line 4661 "EditingTools.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOXED_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT_BOXED_BOOLEAN) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer arg_3, gboolean arg_4, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT_BOXED_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (n_param_values == 5); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data1 = closure->data; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data2 = param_values->data[0].v_pointer; +#line 4680 "EditingTools.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data1 = param_values->data[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + data2 = closure->data; +#line 4686 "EditingTools.c" + } +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT_BOXED_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), g_value_get_boxed (param_values + 3), g_value_get_boolean (param_values + 4), data2); +#line 4692 "EditingTools.c" +} + + +static void editing_tools_value_editing_tool_init (GValue* value) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 4699 "EditingTools.c" +} + + +static void editing_tools_value_editing_tool_free_value (GValue* value) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (value->data[0].v_pointer) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_editing_tool_unref (value->data[0].v_pointer); +#line 4708 "EditingTools.c" + } +} + + +static void editing_tools_value_editing_tool_copy_value (const GValue* src_value, GValue* dest_value) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (src_value->data[0].v_pointer) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dest_value->data[0].v_pointer = editing_tools_editing_tool_ref (src_value->data[0].v_pointer); +#line 4718 "EditingTools.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dest_value->data[0].v_pointer = NULL; +#line 4722 "EditingTools.c" + } +} + + +static gpointer editing_tools_value_editing_tool_peek_pointer (const GValue* value) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return value->data[0].v_pointer; +#line 4730 "EditingTools.c" +} + + +static gchar* editing_tools_value_editing_tool_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (collect_values[0].v_pointer) { +#line 4737 "EditingTools.c" + EditingToolsEditingTool* object; + object = collect_values[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (object->parent_instance.g_class == NULL) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4744 "EditingTools.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 4748 "EditingTools.c" + } +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = editing_tools_editing_tool_ref (object); +#line 4752 "EditingTools.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 4756 "EditingTools.c" + } +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return NULL; +#line 4760 "EditingTools.c" +} + + +static gchar* editing_tools_value_editing_tool_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + EditingToolsEditingTool** object_p; + object_p = collect_values[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!object_p) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 4771 "EditingTools.c" + } +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!value->data[0].v_pointer) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = NULL; +#line 4777 "EditingTools.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = value->data[0].v_pointer; +#line 4781 "EditingTools.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = editing_tools_editing_tool_ref (value->data[0].v_pointer); +#line 4785 "EditingTools.c" + } +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return NULL; +#line 4789 "EditingTools.c" +} + + +GParamSpec* editing_tools_param_spec_editing_tool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + EditingToolsParamSpecEditingTool* spec; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (g_type_is_a (object_type, EDITING_TOOLS_TYPE_EDITING_TOOL), NULL); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return G_PARAM_SPEC (spec); +#line 4803 "EditingTools.c" +} + + +gpointer editing_tools_value_get_editing_tool (const GValue* value) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_TYPE_EDITING_TOOL), NULL); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return value->data[0].v_pointer; +#line 4812 "EditingTools.c" +} + + +void editing_tools_value_set_editing_tool (GValue* value, gpointer v_object) { + EditingToolsEditingTool* old; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_TYPE_EDITING_TOOL)); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old = value->data[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (v_object) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, EDITING_TOOLS_TYPE_EDITING_TOOL)); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = v_object; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_editing_tool_ref (value->data[0].v_pointer); +#line 4832 "EditingTools.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 4836 "EditingTools.c" + } +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (old) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_editing_tool_unref (old); +#line 4842 "EditingTools.c" + } +} + + +void editing_tools_value_take_editing_tool (GValue* value, gpointer v_object) { + EditingToolsEditingTool* old; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_TYPE_EDITING_TOOL)); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old = value->data[0].v_pointer; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (v_object) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, EDITING_TOOLS_TYPE_EDITING_TOOL)); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = v_object; +#line 4861 "EditingTools.c" + } else { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 4865 "EditingTools.c" + } +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (old) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_editing_tool_unref (old); +#line 4871 "EditingTools.c" + } +} + + +static void editing_tools_editing_tool_class_init (EditingToolsEditingToolClass * klass) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_editing_tool_parent_class = g_type_class_peek_parent (klass); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->finalize = editing_tools_editing_tool_finalize; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsEditingToolPrivate)); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->activate = editing_tools_editing_tool_real_activate; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->deactivate = editing_tools_editing_tool_real_deactivate; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->get_tool_window = editing_tools_editing_tool_real_get_tool_window; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->get_display_pixbuf = editing_tools_editing_tool_real_get_display_pixbuf; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_left_click = editing_tools_editing_tool_real_on_left_click; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_left_released = editing_tools_editing_tool_real_on_left_released; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_motion = editing_tools_editing_tool_real_on_motion; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_leave_notify_event = editing_tools_editing_tool_real_on_leave_notify_event; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_keypress = editing_tools_editing_tool_real_on_keypress; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->paint = editing_tools_editing_tool_real_paint; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_new ("activated", EDITING_TOOLS_TYPE_EDITING_TOOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_new ("deactivated", EDITING_TOOLS_TYPE_EDITING_TOOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_new ("applied", EDITING_TOOLS_TYPE_EDITING_TOOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT_BOXED_BOOLEAN, G_TYPE_NONE, 4, TYPE_COMMAND, GDK_TYPE_PIXBUF, TYPE_DIMENSIONS, G_TYPE_BOOLEAN); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_new ("cancelled", EDITING_TOOLS_TYPE_EDITING_TOOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_new ("aborted", EDITING_TOOLS_TYPE_EDITING_TOOL, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 4913 "EditingTools.c" +} + + +static void editing_tools_editing_tool_instance_init (EditingToolsEditingTool * self) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_EDITING_TOOL_GET_PRIVATE (self); +#line 469 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->canvas = NULL; +#line 471 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->tool_window = NULL; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->ref_count = 1; +#line 4926 "EditingTools.c" +} + + +static void editing_tools_editing_tool_finalize (EditingToolsEditingTool* obj) { + EditingToolsEditingTool * self; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_destroy (self); +#line 469 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_photo_canvas_unref0 (self->canvas); +#line 471 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->tool_window); +#line 472 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->surface); +#line 473 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (self->name); +#line 4944 "EditingTools.c" +} + + +GType editing_tools_editing_tool_get_type (void) { + static volatile gsize editing_tools_editing_tool_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_editing_tool_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { editing_tools_value_editing_tool_init, editing_tools_value_editing_tool_free_value, editing_tools_value_editing_tool_copy_value, editing_tools_value_editing_tool_peek_pointer, "p", editing_tools_value_editing_tool_collect_value, "p", editing_tools_value_editing_tool_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsEditingToolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_editing_tool_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsEditingTool), 0, (GInstanceInitFunc) editing_tools_editing_tool_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType editing_tools_editing_tool_type_id; + editing_tools_editing_tool_type_id = g_type_register_fundamental (g_type_fundamental_next (), "EditingToolsEditingTool", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&editing_tools_editing_tool_type_id__volatile, editing_tools_editing_tool_type_id); + } + return editing_tools_editing_tool_type_id__volatile; +} + + +gpointer editing_tools_editing_tool_ref (gpointer instance) { + EditingToolsEditingTool* self; + self = instance; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_atomic_int_inc (&self->ref_count); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return instance; +#line 4969 "EditingTools.c" +} + + +void editing_tools_editing_tool_unref (gpointer instance) { + EditingToolsEditingTool* self; + self = instance; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_GET_CLASS (self)->finalize (self); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 4982 "EditingTools.c" + } +} + + +static EditingToolsCropToolReticleOrientation editing_tools_crop_tool_reticle_orientation_toggle (EditingToolsCropToolReticleOrientation self) { + EditingToolsCropToolReticleOrientation result = 0; + EditingToolsCropToolReticleOrientation _tmp0_ = 0; +#line 636 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (self == EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE) { +#line 636 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_PORTRAIT; +#line 4994 "EditingTools.c" + } else { +#line 637 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE; +#line 4998 "EditingTools.c" + } +#line 636 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp0_; +#line 636 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 5004 "EditingTools.c" +} + + +static GType editing_tools_crop_tool_reticle_orientation_get_type (void) { + static volatile gsize editing_tools_crop_tool_reticle_orientation_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_crop_tool_reticle_orientation_type_id__volatile)) { + static const GEnumValue values[] = {{EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE, "EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE", "landscape"}, {EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_PORTRAIT, "EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_PORTRAIT", "portrait"}, {0, NULL, NULL}}; + GType editing_tools_crop_tool_reticle_orientation_type_id; + editing_tools_crop_tool_reticle_orientation_type_id = g_enum_register_static ("EditingToolsCropToolReticleOrientation", values); + g_once_init_leave (&editing_tools_crop_tool_reticle_orientation_type_id__volatile, editing_tools_crop_tool_reticle_orientation_type_id); + } + return editing_tools_crop_tool_reticle_orientation_type_id__volatile; +} + + +static GType editing_tools_crop_tool_constraint_mode_get_type (void) { + static volatile gsize editing_tools_crop_tool_constraint_mode_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_crop_tool_constraint_mode_type_id__volatile)) { + static const GEnumValue values[] = {{EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_NORMAL, "EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_NORMAL", "normal"}, {EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_CUSTOM, "EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_CUSTOM", "custom"}, {0, NULL, NULL}}; + GType editing_tools_crop_tool_constraint_mode_type_id; + editing_tools_crop_tool_constraint_mode_type_id = g_enum_register_static ("EditingToolsCropToolConstraintMode", values); + g_once_init_leave (&editing_tools_crop_tool_constraint_mode_type_id__volatile, editing_tools_crop_tool_constraint_mode_type_id); + } + return editing_tools_crop_tool_constraint_mode_type_id__volatile; +} + + +static EditingToolsCropTool* editing_tools_crop_tool_construct (GType object_type) { + EditingToolsCropTool* self = NULL; +#line 737 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsCropTool*) editing_tools_editing_tool_construct (object_type, "CropTool"); +#line 736 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 5038 "EditingTools.c" +} + + +static EditingToolsCropTool* editing_tools_crop_tool_new (void) { +#line 736 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_crop_tool_construct (EDITING_TOOLS_TYPE_CROP_TOOL); +#line 5045 "EditingTools.c" +} + + +EditingToolsCropTool* editing_tools_crop_tool_factory (void) { + EditingToolsCropTool* result = NULL; + EditingToolsCropTool* _tmp0_ = NULL; +#line 741 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = editing_tools_crop_tool_new (); +#line 741 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp0_; +#line 741 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 5058 "EditingTools.c" +} + + +gboolean editing_tools_crop_tool_is_available (Photo* photo, Scaling* scaling) { + gboolean result = FALSE; + Dimensions dim = {0}; + Photo* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; +#line 744 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), FALSE); +#line 744 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 745 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = photo; +#line 745 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_get_original_dimensions (_tmp0_, &_tmp1_); +#line 745 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scaling_get_scaled_dimensions (scaling, &_tmp1_, &_tmp2_); +#line 745 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dim = _tmp2_; +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = dim; +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.width; +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_ > EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE) { +#line 5089 "EditingTools.c" + Dimensions _tmp6_ = {0}; + gint _tmp7_ = 0; +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = dim; +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.height; +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp7_ > EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE; +#line 5098 "EditingTools.c" + } else { +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = FALSE; +#line 5102 "EditingTools.c" + } +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp3_; +#line 747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 5108 "EditingTools.c" +} + + +static void _vala_array_add4 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5119 "EditingTools.c" + } +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5125 "EditingTools.c" +} + + +static void _vala_array_add5 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5136 "EditingTools.c" + } +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5142 "EditingTools.c" +} + + +static void _vala_array_add6 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5153 "EditingTools.c" + } +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5159 "EditingTools.c" +} + + +static void _vala_array_add7 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5170 "EditingTools.c" + } +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5176 "EditingTools.c" +} + + +static void _vala_array_add8 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5187 "EditingTools.c" + } +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5193 "EditingTools.c" +} + + +static void _vala_array_add9 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5204 "EditingTools.c" + } +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5210 "EditingTools.c" +} + + +static void _vala_array_add10 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5221 "EditingTools.c" + } +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5227 "EditingTools.c" +} + + +static void _vala_array_add11 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5238 "EditingTools.c" + } +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5244 "EditingTools.c" +} + + +static void _vala_array_add12 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5255 "EditingTools.c" + } +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5261 "EditingTools.c" +} + + +static void _vala_array_add13 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5272 "EditingTools.c" + } +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5278 "EditingTools.c" +} + + +static void _vala_array_add14 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5289 "EditingTools.c" + } +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5295 "EditingTools.c" +} + + +static void _vala_array_add15 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5306 "EditingTools.c" + } +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5312 "EditingTools.c" +} + + +static void _vala_array_add16 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5323 "EditingTools.c" + } +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5329 "EditingTools.c" +} + + +static void _vala_array_add17 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5340 "EditingTools.c" + } +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5346 "EditingTools.c" +} + + +static void _vala_array_add18 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5357 "EditingTools.c" + } +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5363 "EditingTools.c" +} + + +static void _vala_array_add19 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5374 "EditingTools.c" + } +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5380 "EditingTools.c" +} + + +static void _vala_array_add20 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5391 "EditingTools.c" + } +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5397 "EditingTools.c" +} + + +static void _vala_array_add21 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5408 "EditingTools.c" + } +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5414 "EditingTools.c" +} + + +static void _vala_array_add22 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5425 "EditingTools.c" + } +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5431 "EditingTools.c" +} + + +static void _vala_array_add23 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5442 "EditingTools.c" + } +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5448 "EditingTools.c" +} + + +static void _vala_array_add24 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5459 "EditingTools.c" + } +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5465 "EditingTools.c" +} + + +static void _vala_array_add25 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5476 "EditingTools.c" + } +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5482 "EditingTools.c" +} + + +static void _vala_array_add26 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5493 "EditingTools.c" + } +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5499 "EditingTools.c" +} + + +static void _vala_array_add27 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5510 "EditingTools.c" + } +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5516 "EditingTools.c" +} + + +static void _vala_array_add28 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5527 "EditingTools.c" + } +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5533 "EditingTools.c" +} + + +static void _vala_array_add29 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5544 "EditingTools.c" + } +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5550 "EditingTools.c" +} + + +static void _vala_array_add30 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5561 "EditingTools.c" + } +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5567 "EditingTools.c" +} + + +static void _vala_array_add31 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5578 "EditingTools.c" + } +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5584 "EditingTools.c" +} + + +static void _vala_array_add32 (EditingToolsCropToolConstraintDescription*** array, int* length, int* size, EditingToolsCropToolConstraintDescription* value) { +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((*length) == (*size)) { +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *array = g_renew (EditingToolsCropToolConstraintDescription*, *array, (*size) + 1); +#line 5595 "EditingTools.c" + } +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[(*length)++] = value; +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*array)[*length] = NULL; +#line 5601 "EditingTools.c" +} + + +static EditingToolsCropToolConstraintDescription** editing_tools_crop_tool_create_constraints (int* result_length1) { + EditingToolsCropToolConstraintDescription** result = NULL; + EditingToolsCropToolConstraintDescription** _result_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + EditingToolsCropToolConstraintDescription** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp3_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp6_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp9_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp12_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + const gchar* _tmp14_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp15_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + const gchar* _tmp17_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp18_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + const gchar* _tmp20_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp21_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + const gchar* _tmp23_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp24_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + const gchar* _tmp26_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp27_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + const gchar* _tmp29_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp30_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp31_ = NULL; + gint _tmp31__length1 = 0; + const gchar* _tmp32_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp33_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp34_ = NULL; + gint _tmp34__length1 = 0; + const gchar* _tmp35_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp36_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp37_ = NULL; + gint _tmp37__length1 = 0; + const gchar* _tmp38_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp39_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp40_ = NULL; + gint _tmp40__length1 = 0; + const gchar* _tmp41_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp42_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp43_ = NULL; + gint _tmp43__length1 = 0; + const gchar* _tmp44_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp45_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp46_ = NULL; + gint _tmp46__length1 = 0; + const gchar* _tmp47_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp48_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + const gchar* _tmp50_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp51_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp52_ = NULL; + gint _tmp52__length1 = 0; + const gchar* _tmp53_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp54_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp55_ = NULL; + gint _tmp55__length1 = 0; + const gchar* _tmp56_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp57_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp58_ = NULL; + gint _tmp58__length1 = 0; + const gchar* _tmp59_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp60_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp61_ = NULL; + gint _tmp61__length1 = 0; + const gchar* _tmp62_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp63_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp64_ = NULL; + gint _tmp64__length1 = 0; + const gchar* _tmp65_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp66_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp67_ = NULL; + gint _tmp67__length1 = 0; + const gchar* _tmp68_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp69_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp70_ = NULL; + gint _tmp70__length1 = 0; + const gchar* _tmp71_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp72_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp73_ = NULL; + gint _tmp73__length1 = 0; + const gchar* _tmp74_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp75_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp76_ = NULL; + gint _tmp76__length1 = 0; + const gchar* _tmp77_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp78_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp79_ = NULL; + gint _tmp79__length1 = 0; + const gchar* _tmp80_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp81_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp82_ = NULL; + gint _tmp82__length1 = 0; + const gchar* _tmp83_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp84_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp85_ = NULL; + gint _tmp85__length1 = 0; + const gchar* _tmp86_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp87_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp88_ = NULL; + gint _tmp88__length1 = 0; +#line 751 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = g_new0 (EditingToolsCropToolConstraintDescription*, 0 + 1); +#line 751 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp0_; +#line 751 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result__length1 = 0; +#line 751 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + __result__size_ = _result__length1; +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _result_; +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1__length1 = _result__length1; +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _ ("Unconstrained"); +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = editing_tools_crop_tool_constraint_description_new (_tmp2_, 0, 0, FALSE, EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO); +#line 753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add4 (&_result_, &_result__length1, &__result__size_, _tmp3_); +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _result_; +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4__length1 = _result__length1; +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _ ("Square"); +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = editing_tools_crop_tool_constraint_description_new (_tmp5_, 1, 1, FALSE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 754 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add5 (&_result_, &_result__length1, &__result__size_, _tmp6_); +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _result_; +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7__length1 = _result__length1; +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _ ("Screen"); +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = editing_tools_crop_tool_constraint_description_new (_tmp8_, 0, 0, TRUE, EDITING_TOOLS_CROP_TOOL_SCREEN_ASPECT_RATIO); +#line 755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add6 (&_result_, &_result__length1, &__result__size_, _tmp9_); +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _result_; +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10__length1 = _result__length1; +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _ ("Original Size"); +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = editing_tools_crop_tool_constraint_description_new (_tmp11_, 0, 0, TRUE, EDITING_TOOLS_CROP_TOOL_ORIGINAL_ASPECT_RATIO); +#line 756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add7 (&_result_, &_result__length1, &__result__size_, _tmp12_); +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _result_; +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13__length1 = _result__length1; +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _ ("-"); +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = editing_tools_crop_tool_constraint_description_new (_tmp14_, 0, 0, FALSE, EDITING_TOOLS_CROP_TOOL_SEPARATOR); +#line 757 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add8 (&_result_, &_result__length1, &__result__size_, _tmp15_); +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _result_; +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16__length1 = _result__length1; +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _ ("SD Video (4 : 3)"); +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = editing_tools_crop_tool_constraint_description_new (_tmp17_, 4, 3, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add9 (&_result_, &_result__length1, &__result__size_, _tmp18_); +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _result_; +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19__length1 = _result__length1; +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _ ("HD Video (16 : 9)"); +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = editing_tools_crop_tool_constraint_description_new (_tmp20_, 16, 9, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add10 (&_result_, &_result__length1, &__result__size_, _tmp21_); +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _result_; +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22__length1 = _result__length1; +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _ ("-"); +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = editing_tools_crop_tool_constraint_description_new (_tmp23_, 0, 0, FALSE, EDITING_TOOLS_CROP_TOOL_SEPARATOR); +#line 760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add11 (&_result_, &_result__length1, &__result__size_, _tmp24_); +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _result_; +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25__length1 = _result__length1; +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _ ("Wallet (2 x 3 in.)"); +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = editing_tools_crop_tool_constraint_description_new (_tmp26_, 3, 2, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 761 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add12 (&_result_, &_result__length1, &__result__size_, _tmp27_); +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = _result_; +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28__length1 = _result__length1; +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = _ ("Notecard (3 x 5 in.)"); +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = editing_tools_crop_tool_constraint_description_new (_tmp29_, 5, 3, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add13 (&_result_, &_result__length1, &__result__size_, _tmp30_); +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = _result_; +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31__length1 = _result__length1; +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = _ ("4 x 6 in."); +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = editing_tools_crop_tool_constraint_description_new (_tmp32_, 6, 4, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add14 (&_result_, &_result__length1, &__result__size_, _tmp33_); +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = _result_; +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34__length1 = _result__length1; +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = _ ("5 x 7 in."); +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = editing_tools_crop_tool_constraint_description_new (_tmp35_, 7, 5, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 764 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add15 (&_result_, &_result__length1, &__result__size_, _tmp36_); +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = _result_; +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37__length1 = _result__length1; +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = _ ("8 x 10 in."); +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = editing_tools_crop_tool_constraint_description_new (_tmp38_, 10, 8, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add16 (&_result_, &_result__length1, &__result__size_, _tmp39_); +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = _result_; +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40__length1 = _result__length1; +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = _ ("Letter (8.5 x 11 in.)"); +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = editing_tools_crop_tool_constraint_description_new (_tmp41_, 85, 110, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add17 (&_result_, &_result__length1, &__result__size_, _tmp42_); +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = _result_; +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43__length1 = _result__length1; +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = _ ("11 x 14 in."); +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = editing_tools_crop_tool_constraint_description_new (_tmp44_, 14, 11, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add18 (&_result_, &_result__length1, &__result__size_, _tmp45_); +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = _result_; +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46__length1 = _result__length1; +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = _ ("Tabloid (11 x 17 in.)"); +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = editing_tools_crop_tool_constraint_description_new (_tmp47_, 17, 11, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add19 (&_result_, &_result__length1, &__result__size_, _tmp48_); +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp49_ = _result_; +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp49__length1 = _result__length1; +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50_ = _ ("16 x 20 in."); +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp51_ = editing_tools_crop_tool_constraint_description_new (_tmp50_, 20, 16, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add20 (&_result_, &_result__length1, &__result__size_, _tmp51_); +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52_ = _result_; +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52__length1 = _result__length1; +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp53_ = _ ("-"); +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp54_ = editing_tools_crop_tool_constraint_description_new (_tmp53_, 0, 0, FALSE, EDITING_TOOLS_CROP_TOOL_SEPARATOR); +#line 770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add21 (&_result_, &_result__length1, &__result__size_, _tmp54_); +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55_ = _result_; +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55__length1 = _result__length1; +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp56_ = _ ("Metric Wallet (9 x 13 cm)"); +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp57_ = editing_tools_crop_tool_constraint_description_new (_tmp56_, 13, 9, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add22 (&_result_, &_result__length1, &__result__size_, _tmp57_); +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58_ = _result_; +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58__length1 = _result__length1; +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp59_ = _ ("Postcard (10 x 15 cm)"); +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp60_ = editing_tools_crop_tool_constraint_description_new (_tmp59_, 15, 10, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add23 (&_result_, &_result__length1, &__result__size_, _tmp60_); +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61_ = _result_; +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61__length1 = _result__length1; +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp62_ = _ ("13 x 18 cm"); +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp63_ = editing_tools_crop_tool_constraint_description_new (_tmp62_, 18, 13, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add24 (&_result_, &_result__length1, &__result__size_, _tmp63_); +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp64_ = _result_; +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp64__length1 = _result__length1; +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp65_ = _ ("18 x 24 cm"); +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp66_ = editing_tools_crop_tool_constraint_description_new (_tmp65_, 24, 18, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add25 (&_result_, &_result__length1, &__result__size_, _tmp66_); +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp67_ = _result_; +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp67__length1 = _result__length1; +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp68_ = _ ("A4 (210 x 297 mm)"); +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp69_ = editing_tools_crop_tool_constraint_description_new (_tmp68_, 210, 297, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add26 (&_result_, &_result__length1, &__result__size_, _tmp69_); +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp70_ = _result_; +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp70__length1 = _result__length1; +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp71_ = _ ("20 x 30 cm"); +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp72_ = editing_tools_crop_tool_constraint_description_new (_tmp71_, 30, 20, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add27 (&_result_, &_result__length1, &__result__size_, _tmp72_); +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp73_ = _result_; +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp73__length1 = _result__length1; +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp74_ = _ ("24 x 40 cm"); +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp75_ = editing_tools_crop_tool_constraint_description_new (_tmp74_, 40, 24, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 777 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add28 (&_result_, &_result__length1, &__result__size_, _tmp75_); +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp76_ = _result_; +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp76__length1 = _result__length1; +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp77_ = _ ("30 x 40 cm"); +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp78_ = editing_tools_crop_tool_constraint_description_new (_tmp77_, 40, 30, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add29 (&_result_, &_result__length1, &__result__size_, _tmp78_); +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp79_ = _result_; +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp79__length1 = _result__length1; +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp80_ = _ ("A3 (297 x 420 mm)"); +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp81_ = editing_tools_crop_tool_constraint_description_new (_tmp80_, 420, 297, TRUE, EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS); +#line 779 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add30 (&_result_, &_result__length1, &__result__size_, _tmp81_); +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp82_ = _result_; +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp82__length1 = _result__length1; +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp83_ = _ ("-"); +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp84_ = editing_tools_crop_tool_constraint_description_new (_tmp83_, 0, 0, FALSE, EDITING_TOOLS_CROP_TOOL_SEPARATOR); +#line 780 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add31 (&_result_, &_result__length1, &__result__size_, _tmp84_); +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp85_ = _result_; +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp85__length1 = _result__length1; +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp86_ = _ ("Custom"); +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp87_ = editing_tools_crop_tool_constraint_description_new (_tmp86_, 0, 0, TRUE, EDITING_TOOLS_CROP_TOOL_CUSTOM_ASPECT_RATIO); +#line 781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_array_add32 (&_result_, &_result__length1, &__result__size_, _tmp87_); +#line 783 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp88_ = _result_; +#line 783 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp88__length1 = _result__length1; +#line 783 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (result_length1) { +#line 783 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result_length1 = _tmp88__length1; +#line 6035 "EditingTools.c" + } +#line 783 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp88_; +#line 783 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 6041 "EditingTools.c" +} + + +static gpointer _editing_tools_crop_tool_constraint_description_ref0 (gpointer self) { +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self ? editing_tools_crop_tool_constraint_description_ref (self) : NULL; +#line 6048 "EditingTools.c" +} + + +static GtkListStore* editing_tools_crop_tool_create_constraint_list (EditingToolsCropToolConstraintDescription** constraint_data, int constraint_data_length1) { + GtkListStore* result = NULL; + GtkListStore* _result_ = NULL; + GtkListStore* _tmp0_ = NULL; + GtkTreeIter iter = {0}; + EditingToolsCropToolConstraintDescription** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 787 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = gtk_list_store_new (1, G_TYPE_STRING, G_TYPE_STRING, -1); +#line 787 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp0_; +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = constraint_data; +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1__length1 = constraint_data_length1; +#line 6067 "EditingTools.c" + { + EditingToolsCropToolConstraintDescription** constraint_collection = NULL; + gint constraint_collection_length1 = 0; + gint _constraint_collection_size_ = 0; + gint constraint_it = 0; +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + constraint_collection = _tmp1_; +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + constraint_collection_length1 = _tmp1__length1; +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + for (constraint_it = 0; constraint_it < _tmp1__length1; constraint_it = constraint_it + 1) { +#line 6079 "EditingTools.c" + EditingToolsCropToolConstraintDescription* _tmp2_ = NULL; + EditingToolsCropToolConstraintDescription* constraint = NULL; +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _editing_tools_crop_tool_constraint_description_ref0 (constraint_collection[constraint_it]); +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + constraint = _tmp2_; +#line 6086 "EditingTools.c" + { + GtkListStore* _tmp3_ = NULL; + GtkTreeIter _tmp4_ = {0}; + GtkListStore* _tmp5_ = NULL; + GtkTreeIter _tmp6_ = {0}; + EditingToolsCropToolConstraintDescription* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GValue _tmp9_ = {0}; +#line 791 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _result_; +#line 791 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_list_store_append (_tmp3_, &_tmp4_); +#line 791 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + iter = _tmp4_; +#line 792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _result_; +#line 792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = iter; +#line 792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = constraint; +#line 792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_->name; +#line 792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_value_init (&_tmp9_, G_TYPE_STRING); +#line 792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_value_set_string (&_tmp9_, _tmp8_); +#line 792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_list_store_set_value (_tmp5_, &_tmp6_, 0, &_tmp9_); +#line 792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_IS_VALUE (&_tmp9_) ? (g_value_unset (&_tmp9_), NULL) : NULL; +#line 790 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_crop_tool_constraint_description_unref0 (constraint); +#line 6119 "EditingTools.c" + } + } + } +#line 795 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _result_; +#line 795 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 6127 "EditingTools.c" +} + + +static void editing_tools_crop_tool_update_pivot_button_state (EditingToolsCropTool* self) { + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp2_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->pivot_reticle_button; +#line 799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = editing_tools_crop_tool_get_selected_constraint (self); +#line 799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_->is_pivotable; +#line 799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), _tmp4_); +#line 799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_crop_tool_constraint_description_unref0 (_tmp3_); +#line 6153 "EditingTools.c" +} + + +static EditingToolsCropToolConstraintDescription* editing_tools_crop_tool_get_selected_constraint (EditingToolsCropTool* self) { + EditingToolsCropToolConstraintDescription* result = NULL; + EditingToolsCropToolConstraintDescription* _result_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + EditingToolsCropToolCropToolWindow* _tmp1_ = NULL; + GtkComboBox* _tmp2_ = NULL; + gint _tmp3_ = 0; + EditingToolsCropToolConstraintDescription* _tmp4_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp5_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp6_ = NULL; + gfloat _tmp7_ = 0.0F; +#line 803 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), NULL); +#line 804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->constraints; +#line 804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0__length1 = self->priv->constraints_length1; +#line 804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->crop_tool_window; +#line 804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_->constraint_combo; +#line 804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = gtk_combo_box_get_active (_tmp2_); +#line 804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp0_[_tmp3_]; +#line 804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _editing_tools_crop_tool_constraint_description_ref0 (_tmp4_); +#line 804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp5_; +#line 806 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _result_; +#line 806 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_->aspect_ratio; +#line 806 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp7_ == EDITING_TOOLS_CROP_TOOL_ORIGINAL_ASPECT_RATIO) { +#line 6193 "EditingTools.c" + EditingToolsCropToolConstraintDescription* _tmp8_ = NULL; + EditingToolsPhotoCanvas* _tmp9_ = NULL; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + EditingToolsCropToolConstraintDescription* _tmp12_ = NULL; + EditingToolsPhotoCanvas* _tmp13_ = NULL; + GdkRectangle _tmp14_ = {0}; + gint _tmp15_ = 0; +#line 807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _result_; +#line 807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp9_, &_tmp10_); +#line 807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_.width; +#line 807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_->basis_width = _tmp11_; +#line 808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _result_; +#line 808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp13_, &_tmp14_); +#line 808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_.height; +#line 808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_->basis_height = _tmp15_; +#line 6222 "EditingTools.c" + } else { + EditingToolsCropToolConstraintDescription* _tmp16_ = NULL; + gfloat _tmp17_ = 0.0F; +#line 809 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _result_; +#line 809 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp16_->aspect_ratio; +#line 809 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp17_ == EDITING_TOOLS_CROP_TOOL_SCREEN_ASPECT_RATIO) { +#line 6232 "EditingTools.c" + GdkScreen* screen = NULL; + GdkScreen* _tmp18_ = NULL; + GdkScreen* _tmp19_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp20_ = NULL; + GdkScreen* _tmp21_ = NULL; + gint _tmp22_ = 0; + EditingToolsCropToolConstraintDescription* _tmp23_ = NULL; + GdkScreen* _tmp24_ = NULL; + gint _tmp25_ = 0; +#line 810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = gdk_screen_get_default (); +#line 810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _g_object_ref0 (_tmp18_); +#line 810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + screen = _tmp19_; +#line 811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _result_; +#line 811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = screen; +#line 811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = gdk_screen_get_width (_tmp21_); +#line 811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_->basis_width = _tmp22_; +#line 812 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _result_; +#line 812 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = screen; +#line 812 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = gdk_screen_get_height (_tmp24_); +#line 812 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_->basis_height = _tmp25_; +#line 809 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (screen); +#line 6266 "EditingTools.c" + } + } +#line 815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _result_; +#line 815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 6273 "EditingTools.c" +} + + +static gboolean editing_tools_crop_tool_on_width_entry_focus_out (EditingToolsCropTool* self, GdkEventFocus* event) { + gboolean result = FALSE; + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; + GtkEntry* _tmp3_ = NULL; + GdkEventFocus* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), FALSE); +#line 818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->crop_tool_window; +#line 819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_->custom_width_entry; +#line 819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp0_->most_recently_edited); +#line 819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_->most_recently_edited = _tmp3_; +#line 820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = event; +#line 820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = editing_tools_crop_tool_on_custom_entry_focus_out (self, _tmp4_); +#line 820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp5_; +#line 820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 6309 "EditingTools.c" +} + + +static gboolean editing_tools_crop_tool_on_height_entry_focus_out (EditingToolsCropTool* self, GdkEventFocus* event) { + gboolean result = FALSE; + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; + GtkEntry* _tmp3_ = NULL; + GdkEventFocus* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), FALSE); +#line 823 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->crop_tool_window; +#line 824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_->custom_height_entry; +#line 824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp0_->most_recently_edited); +#line 824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_->most_recently_edited = _tmp3_; +#line 825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = event; +#line 825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = editing_tools_crop_tool_on_custom_entry_focus_out (self, _tmp4_); +#line 825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp5_; +#line 825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 6345 "EditingTools.c" +} + + +static gboolean editing_tools_crop_tool_on_custom_entry_focus_out (EditingToolsCropTool* self, GdkEventFocus* event) { + gboolean result = FALSE; + gint width = 0; + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint height = 0; + EditingToolsCropToolCropToolWindow* _tmp5_ = NULL; + GtkEntry* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp16_ = 0; + gboolean _tmp22_ = FALSE; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gfloat _tmp29_ = 0.0F; + gint _tmp63_ = 0; + gint _tmp64_ = 0; + Box new_crop = {0}; + Box _tmp65_ = {0}; + Box _tmp66_ = {0}; + Box _tmp67_ = {0}; + Box _tmp68_ = {0}; + EditingToolsPhotoCanvas* _tmp69_ = NULL; + Box _tmp70_ = {0}; + EditingToolsPhotoCanvas* _tmp71_ = NULL; + gint _tmp72_ = 0; + gint _tmp73_ = 0; +#line 828 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), FALSE); +#line 828 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->custom_width_entry; +#line 829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gtk_entry_get_text (_tmp1_); +#line 829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = atoi (_tmp3_); +#line 829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + width = _tmp4_; +#line 830 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->crop_tool_window; +#line 830 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->custom_height_entry; +#line 830 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = gtk_entry_get_text (_tmp6_); +#line 830 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_; +#line 830 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = atoi (_tmp8_); +#line 830 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + height = _tmp9_; +#line 832 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = width; +#line 832 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp10_ < 1) { +#line 6415 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp11_ = NULL; + GtkEntry* _tmp12_ = NULL; + gint _tmp13_ = 0; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 833 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + width = 1; +#line 834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->crop_tool_window; +#line 834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_->custom_width_entry; +#line 834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = width; +#line 834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = g_strdup_printf ("%d", _tmp13_); +#line 834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_; +#line 834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp12_, _tmp15_); +#line 834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp15_); +#line 6437 "EditingTools.c" + } +#line 837 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = height; +#line 837 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp16_ < 1) { +#line 6443 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp17_ = NULL; + GtkEntry* _tmp18_ = NULL; + gint _tmp19_ = 0; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 838 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + height = 1; +#line 839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->crop_tool_window; +#line 839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_->custom_height_entry; +#line 839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = height; +#line 839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = g_strdup_printf ("%d", _tmp19_); +#line 839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = _tmp20_; +#line 839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp18_, _tmp21_); +#line 839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp21_); +#line 6465 "EditingTools.c" + } +#line 842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = width; +#line 842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->custom_width; +#line 842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp23_ == _tmp24_) { +#line 6473 "EditingTools.c" + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = height; +#line 842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = self->priv->custom_height; +#line 842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp25_ == _tmp26_; +#line 6482 "EditingTools.c" + } else { +#line 842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = FALSE; +#line 6486 "EditingTools.c" + } +#line 842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp22_) { +#line 843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 6494 "EditingTools.c" + } +#line 845 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = width; +#line 845 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = height; +#line 845 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_aspect_ratio = ((gfloat) _tmp27_) / ((gfloat) _tmp28_); +#line 847 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->priv->custom_aspect_ratio; +#line 847 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp29_ < EDITING_TOOLS_CROP_TOOL_MIN_ASPECT_RATIO) { +#line 6506 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp30_ = NULL; + GtkEntry* _tmp31_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp32_ = NULL; + GtkEntry* _tmp33_ = NULL; +#line 848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = self->priv->crop_tool_window; +#line 848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = _tmp30_->most_recently_edited; +#line 848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = self->priv->crop_tool_window; +#line 848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = _tmp32_->custom_height_entry; +#line 848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp31_ == _tmp33_) { +#line 6521 "EditingTools.c" + gint _tmp34_ = 0; + EditingToolsCropToolCropToolWindow* _tmp35_ = NULL; + GtkEntry* _tmp36_ = NULL; + gint _tmp37_ = 0; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; +#line 849 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = width; +#line 849 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + height = (gint) (_tmp34_ / EDITING_TOOLS_CROP_TOOL_MIN_ASPECT_RATIO); +#line 850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = self->priv->crop_tool_window; +#line 850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = _tmp35_->custom_height_entry; +#line 850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = height; +#line 850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = g_strdup_printf ("%d", _tmp37_); +#line 850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = _tmp38_; +#line 850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp36_, _tmp39_); +#line 850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp39_); +#line 6546 "EditingTools.c" + } else { + gint _tmp40_ = 0; + EditingToolsCropToolCropToolWindow* _tmp41_ = NULL; + GtkEntry* _tmp42_ = NULL; + gint _tmp43_ = 0; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; +#line 852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = height; +#line 852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + width = (gint) (_tmp40_ * EDITING_TOOLS_CROP_TOOL_MIN_ASPECT_RATIO); +#line 853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = self->priv->crop_tool_window; +#line 853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = _tmp41_->custom_width_entry; +#line 853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = width; +#line 853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = g_strdup_printf ("%d", _tmp43_); +#line 853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = _tmp44_; +#line 853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp42_, _tmp45_); +#line 853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp45_); +#line 6572 "EditingTools.c" + } + } else { + gfloat _tmp46_ = 0.0F; +#line 855 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = self->priv->custom_aspect_ratio; +#line 855 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp46_ > EDITING_TOOLS_CROP_TOOL_MAX_ASPECT_RATIO) { +#line 6580 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp47_ = NULL; + GtkEntry* _tmp48_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp49_ = NULL; + GtkEntry* _tmp50_ = NULL; +#line 856 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = self->priv->crop_tool_window; +#line 856 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = _tmp47_->most_recently_edited; +#line 856 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp49_ = self->priv->crop_tool_window; +#line 856 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50_ = _tmp49_->custom_height_entry; +#line 856 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp48_ == _tmp50_) { +#line 6595 "EditingTools.c" + gint _tmp51_ = 0; + EditingToolsCropToolCropToolWindow* _tmp52_ = NULL; + GtkEntry* _tmp53_ = NULL; + gint _tmp54_ = 0; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp51_ = width; +#line 857 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + height = (gint) (_tmp51_ / EDITING_TOOLS_CROP_TOOL_MAX_ASPECT_RATIO); +#line 858 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52_ = self->priv->crop_tool_window; +#line 858 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp53_ = _tmp52_->custom_height_entry; +#line 858 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp54_ = height; +#line 858 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55_ = g_strdup_printf ("%d", _tmp54_); +#line 858 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp56_ = _tmp55_; +#line 858 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp53_, _tmp56_); +#line 858 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp56_); +#line 6620 "EditingTools.c" + } else { + gint _tmp57_ = 0; + EditingToolsCropToolCropToolWindow* _tmp58_ = NULL; + GtkEntry* _tmp59_ = NULL; + gint _tmp60_ = 0; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; +#line 860 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp57_ = height; +#line 860 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + width = (gint) (_tmp57_ * EDITING_TOOLS_CROP_TOOL_MAX_ASPECT_RATIO); +#line 861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58_ = self->priv->crop_tool_window; +#line 861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp59_ = _tmp58_->custom_width_entry; +#line 861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp60_ = width; +#line 861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61_ = g_strdup_printf ("%d", _tmp60_); +#line 861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp62_ = _tmp61_; +#line 861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp59_, _tmp62_); +#line 861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp62_); +#line 6646 "EditingTools.c" + } + } + } +#line 865 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp63_ = width; +#line 865 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp64_ = height; +#line 865 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_aspect_ratio = ((gfloat) _tmp63_) / ((gfloat) _tmp64_); +#line 867 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp65_ = self->priv->scaled_crop; +#line 867 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constrain_crop (self, &_tmp65_, &_tmp66_); +#line 867 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_crop = _tmp66_; +#line 869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp67_ = new_crop; +#line 869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_crop_resized (self, &_tmp67_); +#line 870 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp68_ = new_crop; +#line 870 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_crop = _tmp68_; +#line 871 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp69_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 871 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp70_ = new_crop; +#line 871 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_invalidate_area (_tmp69_, &_tmp70_); +#line 872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp71_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp71_); +#line 874 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp72_ = width; +#line 874 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_width = _tmp72_; +#line 875 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp73_ = height; +#line 875 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_height = _tmp73_; +#line 877 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 877 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 6692 "EditingTools.c" +} + + +static void editing_tools_crop_tool_on_width_insert_text (EditingToolsCropTool* self, const gchar* text, gint length, gint* position) { + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 880 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 880 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (text != NULL); +#line 881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->custom_width_entry; +#line 881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = text; +#line 881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = length; +#line 881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_entry_insert_text (self, _tmp1_, _tmp2_, _tmp3_, position); +#line 6715 "EditingTools.c" +} + + +static void editing_tools_crop_tool_on_height_insert_text (EditingToolsCropTool* self, const gchar* text, gint length, gint* position) { + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 884 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 884 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (text != NULL); +#line 885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->custom_height_entry; +#line 885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = text; +#line 885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = length; +#line 885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_entry_insert_text (self, _tmp1_, _tmp2_, _tmp3_, position); +#line 6738 "EditingTools.c" +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 6756 "EditingTools.c" +} + + +static void editing_tools_crop_tool_on_entry_insert_text (EditingToolsCropTool* self, GtkEntry* sender, const gchar* text, gint length, gint* position) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gchar* new_text = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + GtkEntry* _tmp29_ = NULL; +#line 888 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 888 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GTK_IS_ENTRY (sender)); +#line 888 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (text != NULL); +#line 889 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->entry_insert_in_progress; +#line 889 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 6781 "EditingTools.c" + } +#line 892 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->entry_insert_in_progress = TRUE; +#line 894 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = length; +#line 894 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_ == -1) { +#line 6789 "EditingTools.c" + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = text; +#line 895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = strlen (_tmp2_); +#line 895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + length = (gint) _tmp4_; +#line 6801 "EditingTools.c" + } +#line 898 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = g_strdup (""); +#line 898 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_text = _tmp5_; +#line 6807 "EditingTools.c" + { + gint ctr = 0; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ctr = 0; +#line 6812 "EditingTools.c" + { + gboolean _tmp6_ = FALSE; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = TRUE; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + while (TRUE) { +#line 6819 "EditingTools.c" + gint _tmp8_ = 0; + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + gint _tmp11_ = 0; + gchar _tmp12_ = '\0'; + gboolean _tmp13_ = FALSE; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp6_) { +#line 6828 "EditingTools.c" + gint _tmp7_ = 0; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = ctr; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ctr = _tmp7_ + 1; +#line 6834 "EditingTools.c" + } +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = FALSE; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = ctr; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = length; +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!(_tmp8_ < _tmp9_)) { +#line 899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 6846 "EditingTools.c" + } +#line 900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = text; +#line 900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = ctr; +#line 900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = string_get (_tmp10_, (glong) _tmp11_); +#line 900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = g_ascii_isdigit (_tmp12_); +#line 900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp13_) { +#line 6858 "EditingTools.c" + const gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + gchar _tmp17_ = '\0'; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = new_text; +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = text; +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = ctr; +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = string_get (_tmp15_, (glong) _tmp16_); +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = g_strdup_printf ("%c", (gchar) _tmp17_); +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_; +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = g_strconcat (_tmp14_, _tmp19_, NULL); +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (new_text); +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_text = _tmp20_; +#line 901 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp19_); +#line 6886 "EditingTools.c" + } + } + } + } +#line 905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = new_text; +#line 905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = strlen (_tmp21_); +#line 905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_; +#line 905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp23_ > 0) { +#line 6899 "EditingTools.c" + GtkEntry* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; +#line 906 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = sender; +#line 906 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = new_text; +#line 906 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = new_text; +#line 906 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = strlen (_tmp26_); +#line 906 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = _tmp27_; +#line 906 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_editable_insert_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GTK_TYPE_EDITABLE, GtkEditable), _tmp25_, (gint) _tmp28_, position); +#line 6917 "EditingTools.c" + } +#line 908 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = sender; +#line 908 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_stop_emission_by_name (_tmp29_, "insert-text"); +#line 910 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->entry_insert_in_progress = FALSE; +#line 888 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (new_text); +#line 6927 "EditingTools.c" +} + + +static gfloat editing_tools_crop_tool_get_constraint_aspect_ratio (EditingToolsCropTool* self) { + gfloat result = 0.0F; + gfloat _result_ = 0.0F; + EditingToolsCropToolConstraintDescription* _tmp0_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp1_ = NULL; + gfloat _tmp2_ = 0.0F; + gfloat _tmp3_ = 0.0F; + gfloat _tmp4_ = 0.0F; + EditingToolsCropToolReticleOrientation _tmp20_ = 0; +#line 913 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), 0.0F); +#line 914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = editing_tools_crop_tool_get_selected_constraint (self); +#line 914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_; +#line 914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_->aspect_ratio; +#line 914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_crop_tool_constraint_description_unref0 (_tmp1_); +#line 914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp3_; +#line 916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _result_; +#line 916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp4_ == EDITING_TOOLS_CROP_TOOL_ORIGINAL_ASPECT_RATIO) { +#line 6958 "EditingTools.c" + EditingToolsPhotoCanvas* _tmp5_ = NULL; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + EditingToolsPhotoCanvas* _tmp8_ = NULL; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 917 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 917 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp5_, &_tmp6_); +#line 917 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.width; +#line 917 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 917 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp8_, &_tmp9_); +#line 917 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.height; +#line 917 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = ((gfloat) _tmp7_) / ((gfloat) _tmp10_); +#line 6979 "EditingTools.c" + } else { + gfloat _tmp11_ = 0.0F; +#line 919 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _result_; +#line 919 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp11_ == EDITING_TOOLS_CROP_TOOL_SCREEN_ASPECT_RATIO) { +#line 6986 "EditingTools.c" + GdkScreen* screen = NULL; + GdkScreen* _tmp12_ = NULL; + GdkScreen* _tmp13_ = NULL; + GdkScreen* _tmp14_ = NULL; + gint _tmp15_ = 0; + GdkScreen* _tmp16_ = NULL; + gint _tmp17_ = 0; +#line 920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = gdk_screen_get_default (); +#line 920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + screen = _tmp13_; +#line 921 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = screen; +#line 921 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = gdk_screen_get_width (_tmp14_); +#line 921 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = screen; +#line 921 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = gdk_screen_get_height (_tmp16_); +#line 921 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = ((gfloat) _tmp15_) / ((gfloat) _tmp17_); +#line 919 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (screen); +#line 7012 "EditingTools.c" + } else { + gfloat _tmp18_ = 0.0F; +#line 922 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _result_; +#line 922 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp18_ == EDITING_TOOLS_CROP_TOOL_CUSTOM_ASPECT_RATIO) { +#line 7019 "EditingTools.c" + gfloat _tmp19_ = 0.0F; +#line 923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = self->priv->custom_aspect_ratio; +#line 923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp19_; +#line 7025 "EditingTools.c" + } + } + } +#line 925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = self->priv->reticle_orientation; +#line 925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp20_ == EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_PORTRAIT) { +#line 7033 "EditingTools.c" + gfloat _tmp21_ = 0.0F; +#line 926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = _result_; +#line 926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = 1.0f / _tmp21_; +#line 7039 "EditingTools.c" + } +#line 928 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _result_; +#line 928 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 7045 "EditingTools.c" +} + + +static gfloat editing_tools_crop_tool_get_constraint_aspect_ratio_for_constraint (EditingToolsCropTool* self, EditingToolsCropToolConstraintDescription* constraint, Photo* photo) { + gfloat result = 0.0F; + gfloat _result_ = 0.0F; + EditingToolsCropToolConstraintDescription* _tmp0_ = NULL; + gfloat _tmp1_ = 0.0F; + gfloat _tmp2_ = 0.0F; + EditingToolsCropToolReticleOrientation _tmp18_ = 0; +#line 931 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), 0.0F); +#line 931 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_CROP_TOOL_IS_CONSTRAINT_DESCRIPTION (constraint), 0.0F); +#line 931 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), 0.0F); +#line 932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = constraint; +#line 932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->aspect_ratio; +#line 932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp1_; +#line 934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _result_; +#line 934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp2_ == EDITING_TOOLS_CROP_TOOL_ORIGINAL_ASPECT_RATIO) { +#line 7072 "EditingTools.c" + Dimensions orig_dim = {0}; + Photo* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 935 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = photo; +#line 935 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_get_original_dimensions (_tmp3_, &_tmp4_); +#line 935 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + orig_dim = _tmp4_; +#line 936 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = orig_dim; +#line 936 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.width; +#line 936 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = orig_dim; +#line 936 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.height; +#line 936 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = ((gfloat) _tmp6_) / ((gfloat) _tmp8_); +#line 7096 "EditingTools.c" + } else { + gfloat _tmp9_ = 0.0F; +#line 937 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _result_; +#line 937 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp9_ == EDITING_TOOLS_CROP_TOOL_SCREEN_ASPECT_RATIO) { +#line 7103 "EditingTools.c" + GdkScreen* screen = NULL; + GdkScreen* _tmp10_ = NULL; + GdkScreen* _tmp11_ = NULL; + GdkScreen* _tmp12_ = NULL; + gint _tmp13_ = 0; + GdkScreen* _tmp14_ = NULL; + gint _tmp15_ = 0; +#line 938 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = gdk_screen_get_default (); +#line 938 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _g_object_ref0 (_tmp10_); +#line 938 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + screen = _tmp11_; +#line 939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = screen; +#line 939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = gdk_screen_get_width (_tmp12_); +#line 939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = screen; +#line 939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = gdk_screen_get_height (_tmp14_); +#line 939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = ((gfloat) _tmp13_) / ((gfloat) _tmp15_); +#line 937 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (screen); +#line 7129 "EditingTools.c" + } else { + gfloat _tmp16_ = 0.0F; +#line 940 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _result_; +#line 940 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp16_ == EDITING_TOOLS_CROP_TOOL_CUSTOM_ASPECT_RATIO) { +#line 7136 "EditingTools.c" + gfloat _tmp17_ = 0.0F; +#line 941 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->custom_aspect_ratio; +#line 941 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = _tmp17_; +#line 7142 "EditingTools.c" + } + } + } +#line 943 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->reticle_orientation; +#line 943 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp18_ == EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_PORTRAIT) { +#line 7150 "EditingTools.c" + gfloat _tmp19_ = 0.0F; +#line 944 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _result_; +#line 944 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_ = 1.0f / _tmp19_; +#line 7156 "EditingTools.c" + } +#line 946 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _result_; +#line 946 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 7162 "EditingTools.c" +} + + +static void editing_tools_crop_tool_constraint_changed (EditingToolsCropTool* self) { + EditingToolsCropToolConstraintDescription* selected_constraint = NULL; + EditingToolsCropToolConstraintDescription* _tmp0_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp1_ = NULL; + gfloat _tmp2_ = 0.0F; + EditingToolsCropToolConstraintDescription* _tmp13_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + gfloat _tmp17_ = 0.0F; + gfloat _tmp18_ = 0.0F; +#line 950 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 951 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = editing_tools_crop_tool_get_selected_constraint (self); +#line 951 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + selected_constraint = _tmp0_; +#line 952 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = selected_constraint; +#line 952 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_->aspect_ratio; +#line 952 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp2_ == EDITING_TOOLS_CROP_TOOL_CUSTOM_ASPECT_RATIO) { +#line 953 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_set_custom_constraint_mode (self); +#line 7191 "EditingTools.c" + } else { + EditingToolsCropToolConstraintDescription* _tmp3_ = NULL; + gfloat _tmp4_ = 0.0F; +#line 955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_set_normal_constraint_mode (self); +#line 957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = selected_constraint; +#line 957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_->aspect_ratio; +#line 957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp4_ != EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 7203 "EditingTools.c" + ConfigFacade* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + gint _tmp7_ = 0; + ConfigFacade* _tmp8_ = NULL; + ConfigFacade* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 961 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = config_facade_get_instance (); +#line 961 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_; +#line 961 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = configuration_facade_get_last_crop_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 961 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_init_width = _tmp7_; +#line 961 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp6_); +#line 962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = config_facade_get_instance (); +#line 962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_; +#line 962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = configuration_facade_get_last_crop_height (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_init_height = _tmp10_; +#line 962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp9_); +#line 963 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->custom_init_width; +#line 963 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->custom_init_height; +#line 963 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_aspect_ratio = ((gfloat) _tmp11_) / ((gfloat) _tmp12_); +#line 7238 "EditingTools.c" + } + } +#line 967 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_update_pivot_button_state (self); +#line 969 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = editing_tools_crop_tool_get_selected_constraint (self); +#line 969 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_; +#line 969 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_->is_pivotable; +#line 969 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = !_tmp15_; +#line 969 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_crop_tool_constraint_description_unref0 (_tmp14_); +#line 969 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp16_) { +#line 970 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->reticle_orientation = EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE; +#line 7257 "EditingTools.c" + } +#line 972 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 972 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->pre_aspect_ratio; +#line 972 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp17_ != _tmp18_) { +#line 7265 "EditingTools.c" + Box new_crop = {0}; + Box _tmp19_ = {0}; + Box _tmp20_ = {0}; + Box _tmp21_ = {0}; + Box _tmp22_ = {0}; + EditingToolsPhotoCanvas* _tmp23_ = NULL; + Box _tmp24_ = {0}; + EditingToolsPhotoCanvas* _tmp25_ = NULL; + gfloat _tmp26_ = 0.0F; +#line 973 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = self->priv->scaled_crop; +#line 973 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constrain_crop (self, &_tmp19_, &_tmp20_); +#line 973 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_crop = _tmp20_; +#line 975 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = new_crop; +#line 975 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_crop_resized (self, &_tmp21_); +#line 976 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = new_crop; +#line 976 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_crop = _tmp22_; +#line 977 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 977 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = new_crop; +#line 977 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_invalidate_area (_tmp23_, &_tmp24_); +#line 978 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 978 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp25_); +#line 980 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 980 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->pre_aspect_ratio = _tmp26_; +#line 7303 "EditingTools.c" + } +#line 950 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_crop_tool_constraint_description_unref0 (selected_constraint); +#line 7307 "EditingTools.c" +} + + +static void editing_tools_crop_tool_set_custom_constraint_mode (EditingToolsCropTool* self) { + EditingToolsCropToolConstraintMode _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + EditingToolsCropToolCropToolWindow* _tmp2_ = NULL; + gint _tmp3_ = 0; + EditingToolsCropToolCropToolWindow* _tmp11_ = NULL; + GtkBox* _tmp12_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp13_ = NULL; + GtkComboBox* _tmp14_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp15_ = NULL; + GtkBox* _tmp16_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp17_ = NULL; + GtkButton* _tmp18_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp19_ = NULL; + GtkBox* _tmp20_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp21_ = NULL; + GtkBox* _tmp22_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp23_ = NULL; + GtkBox* _tmp24_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp25_ = NULL; + GtkComboBox* _tmp26_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp29_ = NULL; + GtkEntry* _tmp30_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp31_ = NULL; + GtkBox* _tmp32_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp33_ = NULL; + GtkLabel* _tmp34_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp35_ = NULL; + GtkBox* _tmp36_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp37_ = NULL; + GtkEntry* _tmp38_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp39_ = NULL; + GtkBox* _tmp40_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp41_ = NULL; + GtkButton* _tmp42_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp43_ = NULL; + GtkBox* _tmp44_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp45_ = NULL; + GtkBox* _tmp46_ = NULL; + EditingToolsCropToolReticleOrientation _tmp47_ = 0; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + EditingToolsCropToolCropToolWindow* _tmp70_ = NULL; +#line 984 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 985 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->constraint_mode; +#line 985 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_CUSTOM) { +#line 986 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 7364 "EditingTools.c" + } +#line 988 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->crop_tool_window; +#line 988 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_->normal_width; +#line 988 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp3_ == -1) { +#line 988 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = TRUE; +#line 7374 "EditingTools.c" + } else { + EditingToolsCropToolCropToolWindow* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 988 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->crop_tool_window; +#line 988 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_->normal_height; +#line 988 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp5_ == -1; +#line 7384 "EditingTools.c" + } +#line 988 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_) { +#line 7388 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp6_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp7_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 989 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->crop_tool_window; +#line 989 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->priv->crop_tool_window; +#line 989 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->crop_tool_window; +#line 989 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_window_get_type (), GtkWindow), &_tmp9_, &_tmp10_); +#line 989 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_->normal_width = _tmp9_; +#line 989 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_->normal_height = _tmp10_; +#line 7406 "EditingTools.c" + } +#line 992 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->crop_tool_window; +#line 992 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_->layout; +#line 992 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->priv->crop_tool_window; +#line 992 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_->constraint_combo; +#line 992 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget)); +#line 993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->crop_tool_window; +#line 993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_->layout; +#line 993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->crop_tool_window; +#line 993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_->pivot_reticle_button; +#line 993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget)); +#line 994 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = self->priv->crop_tool_window; +#line 994 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_->layout; +#line 994 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->crop_tool_window; +#line 994 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp21_->response_layout; +#line 994 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget)); +#line 996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->priv->crop_tool_window; +#line 996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = _tmp23_->layout; +#line 996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = self->priv->crop_tool_window; +#line 996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _tmp25_->constraint_combo; +#line 996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget)); +#line 997 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = self->priv->crop_tool_window; +#line 997 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = _tmp27_->layout; +#line 997 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->priv->crop_tool_window; +#line 997 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = _tmp29_->custom_width_entry; +#line 997 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_widget_get_type (), GtkWidget)); +#line 998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = self->priv->crop_tool_window; +#line 998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = _tmp31_->layout; +#line 998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = self->priv->crop_tool_window; +#line 998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = _tmp33_->custom_mulsign_label; +#line 998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget)); +#line 999 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = self->priv->crop_tool_window; +#line 999 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = _tmp35_->layout; +#line 999 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = self->priv->crop_tool_window; +#line 999 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = _tmp37_->custom_height_entry; +#line 999 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget)); +#line 1000 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = self->priv->crop_tool_window; +#line 1000 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = _tmp39_->layout; +#line 1000 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = self->priv->crop_tool_window; +#line 1000 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = _tmp41_->pivot_reticle_button; +#line 1000 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_widget_get_type (), GtkWidget)); +#line 1001 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = self->priv->crop_tool_window; +#line 1001 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = _tmp43_->layout; +#line 1001 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = self->priv->crop_tool_window; +#line 1001 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = _tmp45_->response_layout; +#line 1001 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_widget_get_type (), GtkWidget)); +#line 1003 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = self->priv->reticle_orientation; +#line 1003 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp47_ == EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE) { +#line 7502 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp48_ = NULL; + GtkEntry* _tmp49_ = NULL; + gint _tmp50_ = 0; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp53_ = NULL; + GtkEntry* _tmp54_ = NULL; + gint _tmp55_ = 0; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; +#line 1004 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = self->priv->crop_tool_window; +#line 1004 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp49_ = _tmp48_->custom_width_entry; +#line 1004 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50_ = self->priv->custom_init_width; +#line 1004 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp51_ = g_strdup_printf ("%d", _tmp50_); +#line 1004 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52_ = _tmp51_; +#line 1004 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp49_, _tmp52_); +#line 1004 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp52_); +#line 1005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp53_ = self->priv->crop_tool_window; +#line 1005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp54_ = _tmp53_->custom_height_entry; +#line 1005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55_ = self->priv->custom_init_height; +#line 1005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp56_ = g_strdup_printf ("%d", _tmp55_); +#line 1005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp57_ = _tmp56_; +#line 1005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp54_, _tmp57_); +#line 1005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp57_); +#line 7541 "EditingTools.c" + } else { + EditingToolsCropToolCropToolWindow* _tmp58_ = NULL; + GtkEntry* _tmp59_ = NULL; + gint _tmp60_ = 0; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp63_ = NULL; + GtkEntry* _tmp64_ = NULL; + gint _tmp65_ = 0; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; +#line 1007 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58_ = self->priv->crop_tool_window; +#line 1007 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp59_ = _tmp58_->custom_width_entry; +#line 1007 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp60_ = self->priv->custom_init_height; +#line 1007 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61_ = g_strdup_printf ("%d", _tmp60_); +#line 1007 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp62_ = _tmp61_; +#line 1007 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp59_, _tmp62_); +#line 1007 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp62_); +#line 1008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp63_ = self->priv->crop_tool_window; +#line 1008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp64_ = _tmp63_->custom_height_entry; +#line 1008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp65_ = self->priv->custom_init_width; +#line 1008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp66_ = g_strdup_printf ("%d", _tmp65_); +#line 1008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp67_ = _tmp66_; +#line 1008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp64_, _tmp67_); +#line 1008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp67_); +#line 7581 "EditingTools.c" + } +#line 1010 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp68_ = self->priv->custom_init_width; +#line 1010 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp69_ = self->priv->custom_init_height; +#line 1010 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_aspect_ratio = ((gfloat) _tmp68_) / ((gfloat) _tmp69_); +#line 1012 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp70_ = self->priv->crop_tool_window; +#line 1012 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp70_, gtk_widget_get_type (), GtkWidget)); +#line 1014 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->constraint_mode = EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_CUSTOM; +#line 7595 "EditingTools.c" +} + + +static void editing_tools_crop_tool_set_normal_constraint_mode (EditingToolsCropTool* self) { + EditingToolsCropToolConstraintMode _tmp0_ = 0; + EditingToolsCropToolCropToolWindow* _tmp1_ = NULL; + GtkBox* _tmp2_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp3_ = NULL; + GtkComboBox* _tmp4_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp5_ = NULL; + GtkBox* _tmp6_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp7_ = NULL; + GtkEntry* _tmp8_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp9_ = NULL; + GtkBox* _tmp10_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp11_ = NULL; + GtkLabel* _tmp12_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp13_ = NULL; + GtkBox* _tmp14_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp15_ = NULL; + GtkEntry* _tmp16_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp17_ = NULL; + GtkBox* _tmp18_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp19_ = NULL; + GtkButton* _tmp20_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp21_ = NULL; + GtkBox* _tmp22_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp23_ = NULL; + GtkBox* _tmp24_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp25_ = NULL; + GtkBox* _tmp26_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp27_ = NULL; + GtkComboBox* _tmp28_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp29_ = NULL; + GtkBox* _tmp30_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp31_ = NULL; + GtkButton* _tmp32_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp33_ = NULL; + GtkBox* _tmp34_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp35_ = NULL; + GtkBox* _tmp36_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp37_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp38_ = NULL; + gint _tmp39_ = 0; + EditingToolsCropToolCropToolWindow* _tmp40_ = NULL; + gint _tmp41_ = 0; + EditingToolsCropToolCropToolWindow* _tmp42_ = NULL; +#line 1017 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->constraint_mode; +#line 1018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_NORMAL) { +#line 1019 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 7651 "EditingTools.c" + } +#line 1021 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->crop_tool_window; +#line 1021 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_->layout; +#line 1021 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->crop_tool_window; +#line 1021 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_->constraint_combo; +#line 1021 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 1022 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->crop_tool_window; +#line 1022 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->layout; +#line 1022 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->priv->crop_tool_window; +#line 1022 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_->custom_width_entry; +#line 1022 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget)); +#line 1023 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->crop_tool_window; +#line 1023 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_->layout; +#line 1023 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->crop_tool_window; +#line 1023 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_->custom_mulsign_label; +#line 1023 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); +#line 1024 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->priv->crop_tool_window; +#line 1024 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_->layout; +#line 1024 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->crop_tool_window; +#line 1024 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_->custom_height_entry; +#line 1024 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget)); +#line 1025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->crop_tool_window; +#line 1025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_->layout; +#line 1025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = self->priv->crop_tool_window; +#line 1025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_->pivot_reticle_button; +#line 1025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget)); +#line 1026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->crop_tool_window; +#line 1026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp21_->layout; +#line 1026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->priv->crop_tool_window; +#line 1026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = _tmp23_->response_layout; +#line 1026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_widget_get_type (), GtkWidget)); +#line 1028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = self->priv->crop_tool_window; +#line 1028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _tmp25_->layout; +#line 1028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = self->priv->crop_tool_window; +#line 1028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = _tmp27_->constraint_combo; +#line 1028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget)); +#line 1029 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->priv->crop_tool_window; +#line 1029 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = _tmp29_->layout; +#line 1029 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = self->priv->crop_tool_window; +#line 1029 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = _tmp31_->pivot_reticle_button; +#line 1029 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget)); +#line 1030 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = self->priv->crop_tool_window; +#line 1030 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = _tmp33_->layout; +#line 1030 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = self->priv->crop_tool_window; +#line 1030 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = _tmp35_->response_layout; +#line 1030 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_widget_get_type (), GtkWidget)); +#line 1032 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = self->priv->crop_tool_window; +#line 1032 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = self->priv->crop_tool_window; +#line 1032 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = _tmp38_->normal_width; +#line 1032 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = self->priv->crop_tool_window; +#line 1032 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = _tmp40_->normal_height; +#line 1032 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_window_resize (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_window_get_type (), GtkWindow), _tmp39_, _tmp41_); +#line 1035 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = self->priv->crop_tool_window; +#line 1035 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_widget_get_type (), GtkWidget)); +#line 1037 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->constraint_mode = EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_NORMAL; +#line 7761 "EditingTools.c" +} + + +static void editing_tools_crop_tool_constrain_crop (EditingToolsCropTool* self, Box* crop, Box* result) { + gfloat user_aspect_ratio = 0.0F; + gfloat _tmp0_ = 0.0F; + gfloat _tmp1_ = 0.0F; + gfloat old_area = 0.0F; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gfloat _tmp5_ = 0.0F; + gfloat _tmp6_ = 0.0F; + gdouble _tmp7_ = 0.0; + gfloat _tmp8_ = 0.0F; + gfloat _tmp9_ = 0.0F; + gdouble _tmp10_ = 0.0; + Dimensions image_size = {0}; + Dimensions _tmp11_ = {0}; + gdouble angle = 0.0; + EditingToolsPhotoCanvas* _tmp12_ = NULL; + Photo* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + gdouble _tmp15_ = 0.0; + Box _tmp16_ = {0}; + Dimensions _tmp17_ = {0}; + gint _tmp18_ = 0; + Dimensions _tmp19_ = {0}; + gint _tmp20_ = 0; + gdouble _tmp21_ = 0.0; + Box _tmp22_ = {0}; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gfloat _tmp25_ = 0.0F; + Box _tmp30_ = {0}; +#line 1040 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1040 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (crop != NULL); +#line 1041 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1041 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + user_aspect_ratio = _tmp0_; +#line 1042 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = user_aspect_ratio; +#line 1042 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_ == EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 7808 "EditingTools.c" + Box _tmp2_ = {0}; +#line 1043 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *crop; +#line 1043 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _tmp2_; +#line 1043 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 7816 "EditingTools.c" + } +#line 1046 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = box_get_width (crop); +#line 1046 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = box_get_height (crop); +#line 1046 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old_area = (gfloat) (_tmp3_ * _tmp4_); +#line 1047 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = old_area; +#line 1047 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = user_aspect_ratio; +#line 1047 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = sqrt ((gdouble) (_tmp5_ / _tmp6_)); +#line 1047 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_adjust_height (crop, (gint) _tmp7_); +#line 1048 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = old_area; +#line 1048 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = user_aspect_ratio; +#line 1048 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = sqrt ((gdouble) (_tmp8_ * _tmp9_)); +#line 1048 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_adjust_width (crop, (gint) _tmp10_); +#line 1051 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_get_photo_dimensions (self, &_tmp11_); +#line 1051 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + image_size = _tmp11_; +#line 1053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = editing_tools_photo_canvas_get_photo (_tmp12_); +#line 1053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_; +#line 1053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_get_straighten (_tmp14_, &_tmp15_); +#line 1053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + angle = _tmp15_; +#line 1053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp14_); +#line 1054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = *crop; +#line 1054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = image_size; +#line 1054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_.width; +#line 1054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = image_size; +#line 1054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_.height; +#line 1054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = angle; +#line 1054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + clamp_inside_rotated_image (&_tmp16_, _tmp18_, _tmp20_, _tmp21_, FALSE, &_tmp22_); +#line 1054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *crop = _tmp22_; +#line 1057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = box_get_width (crop); +#line 1057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = box_get_height (crop); +#line 1057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = user_aspect_ratio; +#line 1057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (((gfloat) _tmp23_) >= (_tmp24_ * _tmp25_)) { +#line 7880 "EditingTools.c" + gint _tmp26_ = 0; + gfloat _tmp27_ = 0.0F; +#line 1058 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = box_get_height (crop); +#line 1058 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = user_aspect_ratio; +#line 1058 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_adjust_width (crop, (gint) (_tmp26_ * _tmp27_)); +#line 7889 "EditingTools.c" + } else { + gint _tmp28_ = 0; + gfloat _tmp29_ = 0.0F; +#line 1060 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = box_get_width (crop); +#line 1060 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = user_aspect_ratio; +#line 1060 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_adjust_height (crop, (gint) (_tmp28_ / _tmp29_)); +#line 7899 "EditingTools.c" + } +#line 1062 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = *crop; +#line 1062 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _tmp30_; +#line 1062 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 7907 "EditingTools.c" +} + + +static EditingToolsCropToolConstraintDescription* editing_tools_crop_tool_get_last_constraint (EditingToolsCropTool* self, gint* index) { + gint _vala_index = 0; + EditingToolsCropToolConstraintDescription* result = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gint _tmp2_ = 0; + EditingToolsCropToolConstraintDescription* _tmp3_ = NULL; + gint _tmp4_ = 0; + EditingToolsCropToolConstraintDescription** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + EditingToolsCropToolConstraintDescription* _tmp9_ = NULL; +#line 1065 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), NULL); +#line 1066 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = config_facade_get_instance (); +#line 1066 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_; +#line 1066 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = configuration_facade_get_last_crop_menu_choice (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1066 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_index = _tmp2_; +#line 1066 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp1_); +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _vala_index; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->constraints; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5__length1 = self->priv->constraints_length1; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp4_ < _tmp5__length1) { +#line 7942 "EditingTools.c" + EditingToolsCropToolConstraintDescription** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + EditingToolsCropToolConstraintDescription* _tmp8_ = NULL; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->constraints; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6__length1 = self->priv->constraints_length1; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _vala_index; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp6_[_tmp7_]; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp8_; +#line 7957 "EditingTools.c" + } else { +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = NULL; +#line 7961 "EditingTools.c" + } +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _editing_tools_crop_tool_constraint_description_ref0 (_tmp3_); +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp9_; +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (index) { +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *index = _vala_index; +#line 7971 "EditingTools.c" + } +#line 1068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 7975 "EditingTools.c" +} + + +static void editing_tools_crop_tool_real_activate (EditingToolsEditingTool* base, EditingToolsPhotoCanvas* canvas) { + EditingToolsCropTool * self; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + cairo_t* _tmp3_ = NULL; + EditingToolsPhotoCanvas* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + cairo_surface_t* _tmp6_ = NULL; + EditingToolsPhotoCanvas* _tmp7_ = NULL; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + EditingToolsPhotoCanvas* _tmp10_ = NULL; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + cairo_surface_t* _tmp13_ = NULL; + cairo_t* ctx = NULL; + cairo_surface_t* _tmp14_ = NULL; + cairo_t* _tmp15_ = NULL; + cairo_t* _tmp16_ = NULL; + cairo_t* _tmp17_ = NULL; + EditingToolsPhotoCanvas* _tmp18_ = NULL; + GtkWindow* _tmp19_ = NULL; + GtkWindow* _tmp20_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp21_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp22_ = NULL; + GtkComboBox* _tmp23_ = NULL; + GtkListStore* _tmp24_ = NULL; + EditingToolsPhotoCanvas* _tmp25_ = NULL; + Photo* _tmp26_ = NULL; + Photo* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; + Dimensions uncropped_dim = {0}; + EditingToolsPhotoCanvas* _tmp61_ = NULL; + Photo* _tmp62_ = NULL; + Photo* _tmp63_ = NULL; + Dimensions _tmp64_ = {0}; + Dimensions _tmp65_ = {0}; + Box crop = {0}; + EditingToolsPhotoCanvas* _tmp66_ = NULL; + Photo* _tmp67_ = NULL; + Photo* _tmp68_ = NULL; + Box _tmp69_ = {0}; + gboolean _tmp70_ = FALSE; + gboolean _tmp71_ = FALSE; + Dimensions _tmp84_ = {0}; + EditingToolsPhotoCanvas* _tmp85_ = NULL; + GdkRectangle _tmp86_ = {0}; + Dimensions _tmp87_ = {0}; + Box _tmp88_ = {0}; + ConfigFacade* _tmp89_ = NULL; + ConfigFacade* _tmp90_ = NULL; + gint _tmp91_ = 0; + ConfigFacade* _tmp92_ = NULL; + ConfigFacade* _tmp93_ = NULL; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + gint _tmp96_ = 0; + gint _tmp97_ = 0; + gint _tmp98_ = 0; + EditingToolsPhotoCanvas* _tmp99_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp100_ = NULL; + EditingToolsPhotoCanvas* _tmp101_ = NULL; + Photo* _tmp102_ = NULL; + Photo* _tmp103_ = NULL; + gboolean _tmp104_ = FALSE; + gboolean _tmp105_ = FALSE; + Box new_crop = {0}; + Box _tmp114_ = {0}; + Box _tmp115_ = {0}; + Box _tmp116_ = {0}; + Box _tmp117_ = {0}; + EditingToolsPhotoCanvas* _tmp118_ = NULL; + Box _tmp119_ = {0}; + EditingToolsPhotoCanvas* _tmp120_ = NULL; + gfloat _tmp121_ = 0.0F; +#line 1071 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1071 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 1072 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 1072 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_bind_canvas_handlers (self, _tmp0_); +#line 1074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = canvas; +#line 1074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = editing_tools_photo_canvas_get_default_ctx (_tmp1_); +#line 1074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 1074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = canvas; +#line 1074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_surface_dim (_tmp4_, &_tmp5_); +#line 1074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_prepare_ctx (self, _tmp3_, &_tmp5_); +#line 1074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (_tmp3_); +#line 1076 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->crop_surface; +#line 1076 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp6_ != NULL) { +#line 1077 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->crop_surface); +#line 1077 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_surface = NULL; +#line 8086 "EditingTools.c" + } +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = canvas; +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp7_, &_tmp8_); +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.width; +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = canvas; +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp10_, &_tmp11_); +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.height; +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, _tmp9_, _tmp12_); +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->crop_surface); +#line 1079 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_surface = _tmp13_; +#line 1083 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = self->priv->crop_surface; +#line 1083 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = cairo_create (_tmp14_); +#line 1083 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ctx = _tmp15_; +#line 1084 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = ctx; +#line 1084 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_rgba (_tmp16_, 0.0, 0.0, 0.0, 1.0); +#line 1085 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = ctx; +#line 1085 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_paint (_tmp17_); +#line 1088 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = canvas; +#line 1088 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = editing_tools_photo_canvas_get_container (_tmp18_); +#line 1088 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_; +#line 1088 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = editing_tools_crop_tool_crop_tool_window_new (_tmp20_); +#line 1088 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp21_); +#line 1088 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->crop_tool_window); +#line 1088 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_tool_window = _tmp21_; +#line 1088 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp20_); +#line 1091 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = self->priv->crop_tool_window; +#line 1091 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_->constraint_combo; +#line 1091 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->constraint_list; +#line 1091 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_combo_box_set_model (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = canvas; +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = editing_tools_photo_canvas_get_photo (_tmp25_); +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = _tmp26_; +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = photo_has_crop (_tmp27_); +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = !_tmp28_; +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp27_); +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp29_) { +#line 8158 "EditingTools.c" + gint index = 0; + EditingToolsCropToolConstraintDescription* desc = NULL; + gint _tmp30_ = 0; + EditingToolsCropToolConstraintDescription* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; + EditingToolsCropToolConstraintDescription* _tmp33_ = NULL; +#line 1094 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = editing_tools_crop_tool_get_last_constraint (self, &_tmp30_); +#line 1094 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + index = _tmp30_; +#line 1094 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + desc = _tmp31_; +#line 1095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = desc; +#line 1095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp33_ != NULL) { +#line 8175 "EditingTools.c" + EditingToolsCropToolConstraintDescription* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 1095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = desc; +#line 1095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = editing_tools_crop_tool_constraint_description_is_separator (_tmp34_); +#line 1095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = !_tmp35_; +#line 8184 "EditingTools.c" + } else { +#line 1095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = FALSE; +#line 8188 "EditingTools.c" + } +#line 1095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp32_) { +#line 8192 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp36_ = NULL; + GtkComboBox* _tmp37_ = NULL; + gint _tmp38_ = 0; +#line 1096 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = self->priv->crop_tool_window; +#line 1096 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = _tmp36_->constraint_combo; +#line 1096 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = index; +#line 1096 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_combo_box_set_active (_tmp37_, _tmp38_); +#line 8204 "EditingTools.c" + } +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_crop_tool_constraint_description_unref0 (desc); +#line 8208 "EditingTools.c" + } else { + Photo* photo = NULL; + EditingToolsPhotoCanvas* _tmp39_ = NULL; + Photo* _tmp40_ = NULL; + Dimensions cropped_dim = {0}; + Photo* _tmp41_ = NULL; + Dimensions _tmp42_ = {0}; + gfloat ratio = 0.0F; + Dimensions _tmp43_ = {0}; + gint _tmp44_ = 0; + Dimensions _tmp45_ = {0}; + gint _tmp46_ = 0; +#line 1100 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = canvas; +#line 1100 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = editing_tools_photo_canvas_get_photo (_tmp39_); +#line 1100 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo = _tmp40_; +#line 1101 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = photo; +#line 1101 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp42_); +#line 1101 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cropped_dim = _tmp42_; +#line 1102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = cropped_dim; +#line 1102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = _tmp43_.width; +#line 1102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = cropped_dim; +#line 1102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = _tmp45_.height; +#line 1102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ratio = ((gfloat) _tmp44_) / ((gfloat) _tmp46_); +#line 8243 "EditingTools.c" + { + gint index = 0; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + index = 1; +#line 8248 "EditingTools.c" + { + gboolean _tmp47_ = FALSE; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = TRUE; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + while (TRUE) { +#line 8255 "EditingTools.c" + gint _tmp49_ = 0; + EditingToolsCropToolConstraintDescription** _tmp50_ = NULL; + gint _tmp50__length1 = 0; + gfloat _tmp51_ = 0.0F; + EditingToolsCropToolConstraintDescription** _tmp52_ = NULL; + gint _tmp52__length1 = 0; + gint _tmp53_ = 0; + EditingToolsCropToolConstraintDescription* _tmp54_ = NULL; + Photo* _tmp55_ = NULL; + gfloat _tmp56_ = 0.0F; + gdouble _tmp57_ = 0.0; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp47_) { +#line 8269 "EditingTools.c" + gint _tmp48_ = 0; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = index; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + index = _tmp48_ + 1; +#line 8275 "EditingTools.c" + } +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = FALSE; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp49_ = index; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50_ = self->priv->constraints; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50__length1 = self->priv->constraints_length1; +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!(_tmp49_ < _tmp50__length1)) { +#line 1103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 8289 "EditingTools.c" + } +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp51_ = ratio; +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52_ = self->priv->constraints; +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52__length1 = self->priv->constraints_length1; +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp53_ = index; +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp54_ = _tmp52_[_tmp53_]; +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55_ = photo; +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp56_ = editing_tools_crop_tool_get_constraint_aspect_ratio_for_constraint (self, _tmp54_, _tmp55_); +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp57_ = fabs ((gdouble) (_tmp51_ - _tmp56_)); +#line 1104 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp57_ < 0.005) { +#line 8309 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp58_ = NULL; + GtkComboBox* _tmp59_ = NULL; + gint _tmp60_ = 0; +#line 1105 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58_ = self->priv->crop_tool_window; +#line 1105 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp59_ = _tmp58_->constraint_combo; +#line 1105 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp60_ = index; +#line 1105 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_combo_box_set_active (_tmp59_, _tmp60_); +#line 8321 "EditingTools.c" + } + } + } + } +#line 1092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (photo); +#line 8328 "EditingTools.c" + } +#line 1110 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_update_pivot_button_state (self); +#line 1111 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->reticle_orientation = EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE; +#line 1113 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_bind_window_handlers (self); +#line 1116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61_ = canvas; +#line 1116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp62_ = editing_tools_photo_canvas_get_photo (_tmp61_); +#line 1116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp63_ = _tmp62_; +#line 1116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP, &_tmp64_); +#line 1116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp65_ = _tmp64_; +#line 1116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp63_); +#line 1116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + uncropped_dim = _tmp65_; +#line 1119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp66_ = canvas; +#line 1119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp67_ = editing_tools_photo_canvas_get_photo (_tmp66_); +#line 1119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp68_ = _tmp67_; +#line 1119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp70_ = photo_get_crop (_tmp68_, &_tmp69_, PHOTO_EXCEPTION_NONE); +#line 1119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + crop = _tmp69_; +#line 1119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp71_ = !_tmp70_; +#line 1119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp68_); +#line 1119 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp71_) { +#line 8366 "EditingTools.c" + gint xofs = 0; + Dimensions _tmp72_ = {0}; + gint _tmp73_ = 0; + gint yofs = 0; + Dimensions _tmp74_ = {0}; + gint _tmp75_ = 0; + gint _tmp76_ = 0; + gint _tmp77_ = 0; + Dimensions _tmp78_ = {0}; + gint _tmp79_ = 0; + gint _tmp80_ = 0; + Dimensions _tmp81_ = {0}; + gint _tmp82_ = 0; + gint _tmp83_ = 0; +#line 1120 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp72_ = uncropped_dim; +#line 1120 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp73_ = _tmp72_.width; +#line 1120 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + xofs = (gint) (_tmp73_ * EDITING_TOOLS_CROP_TOOL_CROP_INIT_X_PCT); +#line 1121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp74_ = uncropped_dim; +#line 1121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp75_ = _tmp74_.height; +#line 1121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + yofs = (gint) (_tmp75_ * EDITING_TOOLS_CROP_TOOL_CROP_INIT_Y_PCT); +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp76_ = xofs; +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp77_ = yofs; +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp78_ = uncropped_dim; +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp79_ = _tmp78_.width; +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp80_ = xofs; +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp81_ = uncropped_dim; +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp82_ = _tmp81_.height; +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp83_ = yofs; +#line 1125 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_init (&crop, _tmp76_, _tmp77_, _tmp79_ - _tmp80_, _tmp82_ - _tmp83_); +#line 8411 "EditingTools.c" + } +#line 1130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp84_ = uncropped_dim; +#line 1130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp85_ = canvas; +#line 1130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp85_, &_tmp86_); +#line 1130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dimensions_for_rectangle (&_tmp86_, &_tmp87_); +#line 1130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_scaled_similar (&crop, &_tmp84_, &_tmp87_, &_tmp88_); +#line 1130 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_crop = _tmp88_; +#line 1135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp89_ = config_facade_get_instance (); +#line 1135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp90_ = _tmp89_; +#line 1135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp91_ = configuration_facade_get_last_crop_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp90_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_width = _tmp91_; +#line 1135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp90_); +#line 1136 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp92_ = config_facade_get_instance (); +#line 1136 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp93_ = _tmp92_; +#line 1136 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp94_ = configuration_facade_get_last_crop_height (G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1136 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_height = _tmp94_; +#line 1136 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp93_); +#line 1137 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp95_ = self->priv->custom_width; +#line 1137 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_init_width = _tmp95_; +#line 1138 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp96_ = self->priv->custom_height; +#line 1138 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_init_height = _tmp96_; +#line 1139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp97_ = self->priv->custom_init_width; +#line 1139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp98_ = self->priv->custom_init_height; +#line 1139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->pre_aspect_ratio = ((gfloat) _tmp97_) / ((gfloat) _tmp98_); +#line 1141 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->constraint_mode = EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_NORMAL; +#line 1143 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp99_ = canvas; +#line 1143 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_crop_tool_parent_class)->activate (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), _tmp99_); +#line 1145 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp100_ = self->priv->crop_tool_window; +#line 1145 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp100_, gtk_widget_get_type (), GtkWidget)); +#line 1148 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp101_ = canvas; +#line 1148 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp102_ = editing_tools_photo_canvas_get_photo (_tmp101_); +#line 1148 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp103_ = _tmp102_; +#line 1148 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp104_ = photo_has_crop (_tmp103_); +#line 1148 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp105_ = !_tmp104_; +#line 1148 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp103_); +#line 1148 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp105_) { +#line 8483 "EditingTools.c" + EditingToolsCropToolConstraintDescription* desc = NULL; + EditingToolsCropToolConstraintDescription* _tmp106_ = NULL; + gboolean _tmp107_ = FALSE; + gboolean _tmp108_ = FALSE; + EditingToolsCropToolConstraintDescription* _tmp109_ = NULL; +#line 1149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp106_ = editing_tools_crop_tool_get_last_constraint (self, NULL); +#line 1149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + desc = _tmp106_; +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp109_ = desc; +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp109_ != NULL) { +#line 8497 "EditingTools.c" + EditingToolsCropToolConstraintDescription* _tmp110_ = NULL; + gboolean _tmp111_ = FALSE; +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp110_ = desc; +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp111_ = editing_tools_crop_tool_constraint_description_is_separator (_tmp110_); +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp108_ = !_tmp111_; +#line 8506 "EditingTools.c" + } else { +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp108_ = FALSE; +#line 8510 "EditingTools.c" + } +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp108_) { +#line 8514 "EditingTools.c" + EditingToolsCropToolConstraintDescription* _tmp112_ = NULL; + gfloat _tmp113_ = 0.0F; +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp112_ = desc; +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp113_ = _tmp112_->aspect_ratio; +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp107_ = _tmp113_ == EDITING_TOOLS_CROP_TOOL_CUSTOM_ASPECT_RATIO; +#line 8523 "EditingTools.c" + } else { +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp107_ = FALSE; +#line 8527 "EditingTools.c" + } +#line 1150 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp107_) { +#line 1151 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_set_custom_constraint_mode (self); +#line 8533 "EditingTools.c" + } +#line 1148 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_crop_tool_constraint_description_unref0 (desc); +#line 8537 "EditingTools.c" + } +#line 1158 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp114_ = self->priv->scaled_crop; +#line 1158 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constrain_crop (self, &_tmp114_, &_tmp115_); +#line 1158 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_crop = _tmp115_; +#line 1160 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp116_ = new_crop; +#line 1160 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_crop_resized (self, &_tmp116_); +#line 1161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp117_ = new_crop; +#line 1161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_crop = _tmp117_; +#line 1162 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp118_ = canvas; +#line 1162 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp119_ = new_crop; +#line 1162 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_invalidate_area (_tmp118_, &_tmp119_); +#line 1163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp120_ = canvas; +#line 1163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp120_); +#line 1165 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp121_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1165 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->pre_aspect_ratio = _tmp121_; +#line 1071 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (ctx); +#line 8569 "EditingTools.c" +} + + +static void _editing_tools_crop_tool_prepare_ctx_editing_tools_photo_canvas_new_surface (EditingToolsPhotoCanvas* _sender, cairo_t* ctx, Dimensions* dim, gpointer self) { +#line 1169 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_prepare_ctx ((EditingToolsCropTool*) self, ctx, dim); +#line 8576 "EditingTools.c" +} + + +static void _editing_tools_crop_tool_on_resized_pixbuf_editing_tools_photo_canvas_resized_scaled_pixbuf (EditingToolsPhotoCanvas* _sender, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position, gpointer self) { +#line 1170 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_resized_pixbuf ((EditingToolsCropTool*) self, old_dim, scaled, scaled_position); +#line 8583 "EditingTools.c" +} + + +static void editing_tools_crop_tool_bind_canvas_handlers (EditingToolsCropTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; +#line 1168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 1169 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 1169 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp0_, "new-surface", (GCallback) _editing_tools_crop_tool_prepare_ctx_editing_tools_photo_canvas_new_surface, self); +#line 1170 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = canvas; +#line 1170 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp1_, "resized-scaled-pixbuf", (GCallback) _editing_tools_crop_tool_on_resized_pixbuf_editing_tools_photo_canvas_resized_scaled_pixbuf, self); +#line 8602 "EditingTools.c" +} + + +static void editing_tools_crop_tool_unbind_canvas_handlers (EditingToolsCropTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + guint _tmp1_ = 0U; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 1173 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1173 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 1174 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 1174 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("new-surface", EDITING_TOOLS_TYPE_PHOTO_CANVAS, &_tmp1_, NULL, FALSE); +#line 1174 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_tools_crop_tool_prepare_ctx_editing_tools_photo_canvas_new_surface, self); +#line 1175 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = canvas; +#line 1175 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("resized-scaled-pixbuf", EDITING_TOOLS_TYPE_PHOTO_CANVAS, &_tmp3_, NULL, FALSE); +#line 1175 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _editing_tools_crop_tool_on_resized_pixbuf_editing_tools_photo_canvas_resized_scaled_pixbuf, self); +#line 8627 "EditingTools.c" +} + + +static void _editing_tools_crop_tool_on_crop_ok_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_crop_ok ((EditingToolsCropTool*) self); +#line 8634 "EditingTools.c" +} + + +static void _editing_tools_editing_tool_notify_cancel_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_editing_tool_notify_cancel ((EditingToolsEditingTool*) self); +#line 8641 "EditingTools.c" +} + + +static void _editing_tools_crop_tool_constraint_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 1182 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constraint_changed ((EditingToolsCropTool*) self); +#line 8648 "EditingTools.c" +} + + +static void _editing_tools_crop_tool_on_pivot_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 1183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_pivot_button_clicked ((EditingToolsCropTool*) self); +#line 8655 "EditingTools.c" +} + + +static gboolean _editing_tools_crop_tool_on_width_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self) { + gboolean result; + result = editing_tools_crop_tool_on_width_entry_focus_out ((EditingToolsCropTool*) self, event); +#line 1186 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 8664 "EditingTools.c" +} + + +static gboolean _editing_tools_crop_tool_on_height_entry_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self) { + gboolean result; + result = editing_tools_crop_tool_on_height_entry_focus_out ((EditingToolsCropTool*) self, event); +#line 1187 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 8673 "EditingTools.c" +} + + +static void _editing_tools_crop_tool_on_width_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self) { +#line 1188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_width_insert_text ((EditingToolsCropTool*) self, new_text, new_text_length, position); +#line 8680 "EditingTools.c" +} + + +static void _editing_tools_crop_tool_on_height_insert_text_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self) { +#line 1189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_height_insert_text ((EditingToolsCropTool*) self, new_text, new_text_length, position); +#line 8687 "EditingTools.c" +} + + +static void editing_tools_crop_tool_bind_window_handlers (EditingToolsCropTool* self) { + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp5_ = NULL; + GtkComboBox* _tmp6_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp7_ = NULL; + GtkButton* _tmp8_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp9_ = NULL; + GtkEntry* _tmp10_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp11_ = NULL; + GtkEntry* _tmp12_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp13_ = NULL; + GtkEntry* _tmp14_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp15_ = NULL; + GtkEntry* _tmp16_ = NULL; +#line 1178 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1179 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 1179 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), "key-press-event", (GCallback) _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 1180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->crop_tool_window; +#line 1180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_->ok_button; +#line 1180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp2_, "clicked", (GCallback) _editing_tools_crop_tool_on_crop_ok_gtk_button_clicked, self); +#line 1181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->crop_tool_window; +#line 1181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_->cancel_button; +#line 1181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp4_, "clicked", (GCallback) _editing_tools_editing_tool_notify_cancel_gtk_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 1182 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->crop_tool_window; +#line 1182 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->constraint_combo; +#line 1182 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp6_, "changed", (GCallback) _editing_tools_crop_tool_constraint_changed_gtk_combo_box_changed, self); +#line 1183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->priv->crop_tool_window; +#line 1183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_->pivot_reticle_button; +#line 1183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp8_, "clicked", (GCallback) _editing_tools_crop_tool_on_pivot_button_clicked_gtk_button_clicked, self); +#line 1186 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->crop_tool_window; +#line 1186 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_->custom_width_entry; +#line 1186 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), "focus-out-event", (GCallback) _editing_tools_crop_tool_on_width_entry_focus_out_gtk_widget_focus_out_event, self); +#line 1187 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->crop_tool_window; +#line 1187 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_->custom_height_entry; +#line 1187 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), "focus-out-event", (GCallback) _editing_tools_crop_tool_on_height_entry_focus_out_gtk_widget_focus_out_event, self); +#line 1188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->priv->crop_tool_window; +#line 1188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_->custom_width_entry; +#line 1188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GTK_TYPE_EDITABLE, GtkEditable), "insert-text", (GCallback) _editing_tools_crop_tool_on_width_insert_text_gtk_editable_insert_text, self); +#line 1189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->crop_tool_window; +#line 1189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_->custom_height_entry; +#line 1189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GTK_TYPE_EDITABLE, GtkEditable), "insert-text", (GCallback) _editing_tools_crop_tool_on_height_insert_text_gtk_editable_insert_text, self); +#line 8763 "EditingTools.c" +} + + +static void editing_tools_crop_tool_unbind_window_handlers (EditingToolsCropTool* self) { + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + guint _tmp1_ = 0U; + EditingToolsCropToolCropToolWindow* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + guint _tmp4_ = 0U; + EditingToolsCropToolCropToolWindow* _tmp5_ = NULL; + GtkButton* _tmp6_ = NULL; + guint _tmp7_ = 0U; + EditingToolsCropToolCropToolWindow* _tmp8_ = NULL; + GtkComboBox* _tmp9_ = NULL; + guint _tmp10_ = 0U; + EditingToolsCropToolCropToolWindow* _tmp11_ = NULL; + GtkButton* _tmp12_ = NULL; + guint _tmp13_ = 0U; + EditingToolsCropToolCropToolWindow* _tmp14_ = NULL; + GtkEntry* _tmp15_ = NULL; + guint _tmp16_ = 0U; + EditingToolsCropToolCropToolWindow* _tmp17_ = NULL; + GtkEntry* _tmp18_ = NULL; + guint _tmp19_ = 0U; + EditingToolsCropToolCropToolWindow* _tmp20_ = NULL; + GtkEntry* _tmp21_ = NULL; + guint _tmp22_ = 0U; +#line 1192 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 1193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("key-press-event", gtk_widget_get_type (), &_tmp1_, NULL, FALSE); +#line 1193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.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) _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 1194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->crop_tool_window; +#line 1194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_->ok_button; +#line 1194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp4_, NULL, FALSE); +#line 1194 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _editing_tools_crop_tool_on_crop_ok_gtk_button_clicked, self); +#line 1195 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->crop_tool_window; +#line 1195 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->cancel_button; +#line 1195 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp7_, NULL, FALSE); +#line 1195 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _editing_tools_editing_tool_notify_cancel_gtk_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 1196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->crop_tool_window; +#line 1196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_->constraint_combo; +#line 1196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp10_, NULL, FALSE); +#line 1196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _editing_tools_crop_tool_constraint_changed_gtk_combo_box_changed, self); +#line 1197 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->crop_tool_window; +#line 1197 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_->pivot_reticle_button; +#line 1197 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp13_, NULL, FALSE); +#line 1197 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _editing_tools_crop_tool_on_pivot_button_clicked_gtk_button_clicked, self); +#line 1200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = self->priv->crop_tool_window; +#line 1200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_->custom_width_entry; +#line 1200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("focus-out-event", gtk_widget_get_type (), &_tmp16_, NULL, FALSE); +#line 1200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _editing_tools_crop_tool_on_width_entry_focus_out_gtk_widget_focus_out_event, self); +#line 1201 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->crop_tool_window; +#line 1201 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_->custom_height_entry; +#line 1201 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("focus-out-event", gtk_widget_get_type (), &_tmp19_, NULL, FALSE); +#line 1201 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp19_, 0, NULL, (GCallback) _editing_tools_crop_tool_on_height_entry_focus_out_gtk_widget_focus_out_event, self); +#line 1202 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = self->priv->crop_tool_window; +#line 1202 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = _tmp20_->custom_width_entry; +#line 1202 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("insert-text", GTK_TYPE_EDITABLE, &_tmp22_, NULL, FALSE); +#line 1202 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GTK_TYPE_EDITABLE, GtkEditable), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp22_, 0, NULL, (GCallback) _editing_tools_crop_tool_on_width_insert_text_gtk_editable_insert_text, self); +#line 8855 "EditingTools.c" +} + + +static gboolean editing_tools_crop_tool_real_on_keypress (EditingToolsEditingTool* base, GdkEventKey* event) { + EditingToolsCropTool * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GdkEventKey* _tmp2_ = NULL; + guint _tmp3_ = 0U; + const gchar* _tmp4_ = NULL; + GdkEventKey* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 1205 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1205 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1206 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = event; +#line 1206 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_->keyval; +#line 1206 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = gdk_keyval_name (_tmp3_); +#line 1206 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (g_strcmp0 (_tmp4_, "KP_Enter") == 0) { +#line 1206 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = TRUE; +#line 8883 "EditingTools.c" + } else { + GdkEventKey* _tmp5_ = NULL; + guint _tmp6_ = 0U; + const gchar* _tmp7_ = NULL; +#line 1207 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = event; +#line 1207 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->keyval; +#line 1207 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = gdk_keyval_name (_tmp6_); +#line 1207 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = g_strcmp0 (_tmp7_, "Enter") == 0; +#line 8896 "EditingTools.c" + } +#line 1206 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_) { +#line 1206 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = TRUE; +#line 8902 "EditingTools.c" + } else { + GdkEventKey* _tmp8_ = NULL; + guint _tmp9_ = 0U; + const gchar* _tmp10_ = NULL; +#line 1208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = event; +#line 1208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_->keyval; +#line 1208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = gdk_keyval_name (_tmp9_); +#line 1208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = g_strcmp0 (_tmp10_, "Return") == 0; +#line 8915 "EditingTools.c" + } +#line 1206 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 1209 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_crop_ok (self); +#line 1210 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 1210 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 8925 "EditingTools.c" + } +#line 1213 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = event; +#line 1213 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_crop_tool_parent_class)->on_keypress (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), _tmp11_); +#line 1213 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp12_; +#line 1213 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 8935 "EditingTools.c" +} + + +static void editing_tools_crop_tool_on_pivot_button_clicked (EditingToolsCropTool* self) { + EditingToolsCropToolConstraintDescription* _tmp0_ = NULL; + EditingToolsCropToolConstraintDescription* _tmp1_ = NULL; + gfloat _tmp2_ = 0.0F; + gboolean _tmp3_ = FALSE; + EditingToolsCropToolReticleOrientation _tmp21_ = 0; + EditingToolsCropToolReticleOrientation _tmp22_ = 0; +#line 1216 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = editing_tools_crop_tool_get_selected_constraint (self); +#line 1217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_; +#line 1217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_->aspect_ratio; +#line 1217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_ == EDITING_TOOLS_CROP_TOOL_CUSTOM_ASPECT_RATIO; +#line 1217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _editing_tools_crop_tool_constraint_description_unref0 (_tmp1_); +#line 1217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp3_) { +#line 8960 "EditingTools.c" + gchar* width_text = NULL; + EditingToolsCropToolCropToolWindow* _tmp4_ = NULL; + GtkEntry* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* height_text = NULL; + EditingToolsCropToolCropToolWindow* _tmp8_ = NULL; + GtkEntry* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp12_ = NULL; + GtkEntry* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp15_ = NULL; + GtkEntry* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gint temp = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 1218 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->crop_tool_window; +#line 1218 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_->custom_width_entry; +#line 1218 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = gtk_entry_get_text (_tmp5_); +#line 1218 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 1218 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + width_text = _tmp7_; +#line 1219 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->crop_tool_window; +#line 1219 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_->custom_height_entry; +#line 1219 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = gtk_entry_get_text (_tmp9_); +#line 1219 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 1219 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + height_text = _tmp11_; +#line 1220 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->crop_tool_window; +#line 1220 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_->custom_width_entry; +#line 1220 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = height_text; +#line 1220 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp13_, _tmp14_); +#line 1221 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->crop_tool_window; +#line 1221 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_->custom_height_entry; +#line 1221 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = width_text; +#line 1221 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_text (_tmp16_, _tmp17_); +#line 1223 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->custom_width; +#line 1223 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + temp = _tmp18_; +#line 1224 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = self->priv->custom_height; +#line 1224 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_width = _tmp19_; +#line 1225 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = temp; +#line 1225 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_height = _tmp20_; +#line 1217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (height_text); +#line 1217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (width_text); +#line 9033 "EditingTools.c" + } +#line 1227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->reticle_orientation; +#line 1227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = editing_tools_crop_tool_reticle_orientation_toggle (_tmp21_); +#line 1227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->reticle_orientation = _tmp22_; +#line 1228 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constraint_changed (self); +#line 9043 "EditingTools.c" +} + + +static void editing_tools_crop_tool_real_deactivate (EditingToolsEditingTool* base) { + EditingToolsCropTool * self; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp2_ = NULL; + EditingToolsPhotoCanvas* _tmp5_ = NULL; +#line 1231 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1232 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1232 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ != NULL) { +#line 9058 "EditingTools.c" + EditingToolsPhotoCanvas* _tmp1_ = NULL; +#line 1233 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1233 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_unbind_canvas_handlers (self, _tmp1_); +#line 9064 "EditingTools.c" + } +#line 1235 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->crop_tool_window; +#line 1235 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp2_ != NULL) { +#line 9070 "EditingTools.c" + EditingToolsCropToolCropToolWindow* _tmp3_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp4_ = NULL; +#line 1236 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_unbind_window_handlers (self); +#line 1237 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->crop_tool_window; +#line 1237 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 1238 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->crop_tool_window; +#line 1238 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 1239 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->crop_tool_window); +#line 1239 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_tool_window = NULL; +#line 9087 "EditingTools.c" + } +#line 1243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_ != NULL) { +#line 9093 "EditingTools.c" + EditingToolsPhotoCanvas* _tmp6_ = NULL; + GdkWindow* _tmp7_ = NULL; + GdkWindow* _tmp8_ = NULL; + GdkCursor* _tmp9_ = NULL; + GdkCursor* _tmp10_ = NULL; +#line 1244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = editing_tools_photo_canvas_get_drawing_window (_tmp6_); +#line 1244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_; +#line 1244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = gdk_cursor_new (GDK_LEFT_PTR); +#line 1244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_; +#line 1244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gdk_window_set_cursor (_tmp8_, _tmp10_); +#line 1244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp10_); +#line 1244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp8_); +#line 9115 "EditingTools.c" + } +#line 1246 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->crop_surface); +#line 1246 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_surface = NULL; +#line 1248 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_crop_tool_parent_class)->deactivate (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 9123 "EditingTools.c" +} + + +static EditingToolsEditingToolWindow* editing_tools_crop_tool_real_get_tool_window (EditingToolsEditingTool* base) { + EditingToolsCropTool * self; + EditingToolsEditingToolWindow* result = NULL; + EditingToolsCropToolCropToolWindow* _tmp0_ = NULL; + EditingToolsEditingToolWindow* _tmp1_ = NULL; +#line 1251 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1252 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_tool_window; +#line 1252 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow)); +#line 1252 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 1252 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 9142 "EditingTools.c" +} + + +static GdkPixbuf* editing_tools_crop_tool_real_get_display_pixbuf (EditingToolsEditingTool* base, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error) { + EditingToolsCropTool * self; + Dimensions _vala_max_dim = {0}; + GdkPixbuf* result = NULL; + Photo* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Scaling _tmp4_ = {0}; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 1255 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1255 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 1255 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 1257 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = photo; +#line 1257 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP, &_tmp1_); +#line 1257 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_max_dim = _tmp1_; +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = photo; +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = *scaling; +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = photo_get_pixbuf_with_options (_tmp3_, &_tmp4_, PHOTO_EXCEPTION_CROP, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp5_; +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_propagate_error (error, _inner_error_); +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return NULL; +#line 9184 "EditingTools.c" + } +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp2_; +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = NULL; +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp6_; +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp2_); +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (max_dim) { +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *max_dim = _vala_max_dim; +#line 9198 "EditingTools.c" + } +#line 1259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 9202 "EditingTools.c" +} + + +static void editing_tools_crop_tool_prepare_ctx (EditingToolsCropTool* self, cairo_t* ctx, Dimensions* dim) { + cairo_t* _tmp0_ = NULL; + cairo_surface_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + cairo_t* _tmp3_ = NULL; + cairo_t* _tmp4_ = NULL; + cairo_t* _tmp5_ = NULL; + cairo_surface_t* _tmp6_ = NULL; + cairo_t* _tmp7_ = NULL; + cairo_t* _tmp8_ = NULL; + cairo_t* _tmp9_ = NULL; + cairo_t* _tmp10_ = NULL; + cairo_surface_t* _tmp11_ = NULL; + cairo_t* _tmp12_ = NULL; + cairo_t* _tmp13_ = NULL; + cairo_t* _tmp14_ = NULL; + cairo_t* _tmp15_ = NULL; + cairo_surface_t* _tmp16_ = NULL; + cairo_t* _tmp17_ = NULL; + cairo_t* _tmp18_ = NULL; +#line 1262 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1262 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 1262 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (dim != NULL); +#line 1263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = ctx; +#line 1263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = cairo_get_target (_tmp0_); +#line 1263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = cairo_create (_tmp1_); +#line 1263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->wide_black_ctx); +#line 1263 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->wide_black_ctx = _tmp2_; +#line 1264 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->wide_black_ctx; +#line 1264 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp3_, "#000"); +#line 1265 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->wide_black_ctx; +#line 1265 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_line_width (_tmp4_, (gdouble) 1); +#line 1267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = ctx; +#line 1267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = cairo_get_target (_tmp5_); +#line 1267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = cairo_create (_tmp6_); +#line 1267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->wide_white_ctx); +#line 1267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->wide_white_ctx = _tmp7_; +#line 1268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->wide_white_ctx; +#line 1268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp8_, "#FFF"); +#line 1269 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->wide_white_ctx; +#line 1269 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_line_width (_tmp9_, (gdouble) 1); +#line 1271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = ctx; +#line 1271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = cairo_get_target (_tmp10_); +#line 1271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = cairo_create (_tmp11_); +#line 1271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->thin_white_ctx); +#line 1271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->thin_white_ctx = _tmp12_; +#line 1272 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->priv->thin_white_ctx; +#line 1272 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp13_, "#FFF"); +#line 1273 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = self->priv->thin_white_ctx; +#line 1273 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_line_width (_tmp14_, 0.5); +#line 1275 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = ctx; +#line 1275 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = cairo_get_target (_tmp15_); +#line 1275 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = cairo_create (_tmp16_); +#line 1275 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->text_ctx); +#line 1275 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->text_ctx = _tmp17_; +#line 1276 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->text_ctx; +#line 1276 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_select_font_face (_tmp18_, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); +#line 9300 "EditingTools.c" +} + + +static void editing_tools_crop_tool_on_resized_pixbuf (EditingToolsCropTool* self, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position) { + Dimensions new_dim = {0}; + GdkPixbuf* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + Dimensions uncropped_dim = {0}; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + Dimensions _tmp6_ = {0}; + Box crop = {0}; + Dimensions _tmp7_ = {0}; + Dimensions _tmp8_ = {0}; + Box _tmp9_ = {0}; + Dimensions _tmp10_ = {0}; + Dimensions _tmp11_ = {0}; + Box _tmp12_ = {0}; + cairo_surface_t* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + GdkPixbuf* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + cairo_surface_t* _tmp20_ = NULL; + cairo_t* ctx = NULL; + cairo_surface_t* _tmp21_ = NULL; + cairo_t* _tmp22_ = NULL; +#line 1279 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1279 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (old_dim != NULL); +#line 1279 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GDK_IS_PIXBUF (scaled)); +#line 1279 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (scaled_position != NULL); +#line 1280 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = scaled; +#line 1280 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dimensions_for_pixbuf (_tmp0_, &_tmp1_); +#line 1280 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_dim = _tmp1_; +#line 1281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = editing_tools_photo_canvas_get_photo (_tmp2_); +#line 1281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 1281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP, &_tmp5_); +#line 1281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_; +#line 1281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp4_); +#line 1281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + uncropped_dim = _tmp6_; +#line 1284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = *old_dim; +#line 1284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = uncropped_dim; +#line 1284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_scaled_similar (&self->priv->scaled_crop, &_tmp7_, &_tmp8_, &_tmp9_); +#line 1284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + crop = _tmp9_; +#line 1287 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = uncropped_dim; +#line 1287 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = new_dim; +#line 1287 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_scaled_similar (&crop, &_tmp10_, &_tmp11_, &_tmp12_); +#line 1287 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_crop = _tmp12_; +#line 1288 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->priv->crop_surface; +#line 1288 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp13_ != NULL) { +#line 1289 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->crop_surface); +#line 1289 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_surface = NULL; +#line 9384 "EditingTools.c" + } +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = scaled; +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = gdk_pixbuf_get_width (_tmp14_); +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_; +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = scaled; +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = gdk_pixbuf_get_height (_tmp17_); +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_; +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, _tmp16_, _tmp19_); +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->crop_surface); +#line 1291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_surface = _tmp20_; +#line 1292 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->crop_surface; +#line 1292 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = cairo_create (_tmp21_); +#line 1292 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ctx = _tmp22_; +#line 1293 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_rgba (ctx, 0.0, 0.0, 0.0, 1.0); +#line 1294 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_paint (ctx); +#line 1279 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (ctx); +#line 9416 "EditingTools.c" +} + + +static void editing_tools_crop_tool_real_on_left_click (EditingToolsEditingTool* base, gint x, gint y) { + EditingToolsCropTool * self; + GdkRectangle scaled_pixbuf_pos = {0}; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + Box offset_scaled_crop = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + Box _tmp6_ = {0}; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + BoxLocation _tmp9_ = 0; + gint _tmp10_ = 0; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + EditingToolsPhotoCanvas* _tmp18_ = NULL; +#line 1298 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1299 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1299 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp0_, &_tmp1_); +#line 1299 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scaled_pixbuf_pos = _tmp1_; +#line 1302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = scaled_pixbuf_pos; +#line 1302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 1302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = scaled_pixbuf_pos; +#line 1302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.y; +#line 1302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_offset (&self->priv->scaled_crop, _tmp3_, _tmp5_, &_tmp6_); +#line 1302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + offset_scaled_crop = _tmp6_; +#line 1305 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = x; +#line 1305 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = y; +#line 1305 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = box_approx_location (&offset_scaled_crop, _tmp7_, _tmp8_); +#line 1305 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->in_manipulation = _tmp9_; +#line 1306 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = x; +#line 1306 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = scaled_pixbuf_pos; +#line 1306 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.x; +#line 1306 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = _tmp10_ - _tmp12_; +#line 1306 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = x; +#line 1306 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->last_grab_x = _tmp13_; +#line 1307 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = y; +#line 1307 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = scaled_pixbuf_pos; +#line 1307 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.y; +#line 1307 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y = _tmp14_ - _tmp16_; +#line 1307 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = y; +#line 1307 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->last_grab_y = _tmp17_; +#line 1310 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1310 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp18_); +#line 9499 "EditingTools.c" +} + + +static void editing_tools_crop_tool_real_on_left_released (EditingToolsEditingTool* base, gint x, gint y) { + EditingToolsCropTool * self; + BoxLocation _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + EditingToolsPhotoCanvas* _tmp3_ = NULL; +#line 1313 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->in_manipulation; +#line 1315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == BOX_LOCATION_OUTSIDE) { +#line 1316 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 9517 "EditingTools.c" + } +#line 1319 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->in_manipulation = BOX_LOCATION_OUTSIDE; +#line 1320 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->last_grab_x = -1; +#line 1321 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->last_grab_y = -1; +#line 1323 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = x; +#line 1323 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = y; +#line 1323 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_update_cursor (self, _tmp1_, _tmp2_); +#line 1326 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1326 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp3_); +#line 9535 "EditingTools.c" +} + + +static void editing_tools_crop_tool_real_on_motion (EditingToolsEditingTool* base, gint x, gint y, GdkModifierType mask) { + EditingToolsCropTool * self; + BoxLocation _tmp0_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + EditingToolsPhotoCanvas* _tmp5_ = NULL; +#line 1329 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1332 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->in_manipulation; +#line 1332 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ != BOX_LOCATION_OUTSIDE) { +#line 9551 "EditingTools.c" + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 1333 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = x; +#line 1333 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = y; +#line 1333 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_on_canvas_manipulation (self, _tmp1_, _tmp2_); +#line 9560 "EditingTools.c" + } +#line 1335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = x; +#line 1335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = y; +#line 1335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_update_cursor (self, _tmp3_, _tmp4_); +#line 1336 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1336 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp5_); +#line 9572 "EditingTools.c" +} + + +static void editing_tools_crop_tool_real_paint (EditingToolsEditingTool* base, cairo_t* default_ctx) { + EditingToolsCropTool * self; + gint w = 0; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkWindow* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint h = 0; + EditingToolsPhotoCanvas* _tmp5_ = NULL; + GdkWindow* _tmp6_ = NULL; + GdkWindow* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + cairo_t* _tmp10_ = NULL; + cairo_t* _tmp11_ = NULL; + cairo_t* _tmp12_ = NULL; + cairo_t* _tmp13_ = NULL; + cairo_t* ctx = NULL; + cairo_surface_t* _tmp14_ = NULL; + cairo_t* _tmp15_ = NULL; + Box _tmp16_ = {0}; + gint _tmp17_ = 0; + Box _tmp18_ = {0}; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + EditingToolsPhotoCanvas* _tmp22_ = NULL; + cairo_surface_t* _tmp23_ = NULL; + Box _tmp24_ = {0}; +#line 1339 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 1339 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (default_ctx != NULL); +#line 1341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = editing_tools_photo_canvas_get_drawing_window (_tmp0_); +#line 1341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_; +#line 1341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = gdk_window_get_width (_tmp2_); +#line 1341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 1341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp2_); +#line 1341 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + w = _tmp4_; +#line 1342 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1342 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = editing_tools_photo_canvas_get_drawing_window (_tmp5_); +#line 1342 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_; +#line 1342 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = gdk_window_get_height (_tmp7_); +#line 1342 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_; +#line 1342 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp7_); +#line 1342 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + h = _tmp9_; +#line 1344 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = default_ctx; +#line 1344 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_rgba (_tmp10_, 0.0, 0.0, 0.0, 1.0); +#line 1345 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = default_ctx; +#line 1345 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (_tmp11_, (gdouble) 0, (gdouble) 0, (gdouble) w, (gdouble) h); +#line 1346 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = default_ctx; +#line 1346 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (_tmp12_); +#line 1347 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = default_ctx; +#line 1347 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_paint (_tmp13_); +#line 1349 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = self->priv->crop_surface; +#line 1349 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = cairo_create (_tmp14_); +#line 1349 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ctx = _tmp15_; +#line 1350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_operator (ctx, CAIRO_OPERATOR_SOURCE); +#line 1351 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_rgba (ctx, 0.0, 0.0, 0.0, 0.5); +#line 1352 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_paint (ctx); +#line 1355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_rgba (ctx, 0.0, 0.0, 0.0, 0.0); +#line 1356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = self->priv->scaled_crop; +#line 1356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp16_.left; +#line 1356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->scaled_crop; +#line 1356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_.top; +#line 1356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = box_get_width (&self->priv->scaled_crop); +#line 1356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = box_get_height (&self->priv->scaled_crop); +#line 1356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (ctx, (gdouble) _tmp17_, (gdouble) _tmp19_, (gdouble) _tmp20_, (gdouble) _tmp21_); +#line 1358 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (ctx); +#line 1359 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1359 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->priv->crop_surface; +#line 1359 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_paint_surface (_tmp22_, _tmp23_, TRUE); +#line 1362 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->scaled_crop; +#line 1362 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_paint_crop_tool (self, &_tmp24_); +#line 1339 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (ctx); +#line 9696 "EditingTools.c" +} + + +static void editing_tools_crop_tool_on_crop_ok (EditingToolsCropTool* self) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + EditingToolsCropToolCropToolWindow* _tmp2_ = NULL; + GtkComboBox* _tmp3_ = NULL; + gint _tmp4_ = 0; + ConfigFacade* _tmp5_ = NULL; + ConfigFacade* _tmp6_ = NULL; + gint _tmp7_ = 0; + ConfigFacade* _tmp8_ = NULL; + ConfigFacade* _tmp9_ = NULL; + gint _tmp10_ = 0; + Box crop = {0}; + EditingToolsPhotoCanvas* _tmp11_ = NULL; + GdkRectangle _tmp12_ = {0}; + Dimensions _tmp13_ = {0}; + EditingToolsPhotoCanvas* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; + Dimensions _tmp17_ = {0}; + Box _tmp18_ = {0}; + Box _tmp19_ = {0}; + GdkPixbuf* cropped = NULL; + EditingToolsPhotoCanvas* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + Box _tmp23_ = {0}; + gint _tmp24_ = 0; + Box _tmp25_ = {0}; + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + GdkPixbuf* _tmp29_ = NULL; + GdkPixbuf* _tmp30_ = NULL; + EditingToolsPhotoCanvas* _tmp31_ = NULL; + Photo* _tmp32_ = NULL; + Photo* _tmp33_ = NULL; + Box _tmp34_ = {0}; + CropCommand* _tmp35_ = NULL; + CropCommand* _tmp36_ = NULL; + Dimensions _tmp37_ = {0}; +#line 1365 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1369 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = config_facade_get_instance (); +#line 1369 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_; +#line 1369 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->crop_tool_window; +#line 1369 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_->constraint_combo; +#line 1369 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = gtk_combo_box_get_active (_tmp3_); +#line 1369 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + configuration_facade_set_last_crop_menu_choice (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp4_); +#line 1369 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp1_); +#line 1371 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = config_facade_get_instance (); +#line 1371 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_; +#line 1371 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->priv->custom_width; +#line 1371 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + configuration_facade_set_last_crop_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp7_); +#line 1371 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp6_); +#line 1372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = config_facade_get_instance (); +#line 1372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_; +#line 1372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->custom_height; +#line 1372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + configuration_facade_set_last_crop_height (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp10_); +#line 1372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp9_); +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp11_, &_tmp12_); +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dimensions_for_rectangle (&_tmp12_, &_tmp13_); +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = editing_tools_photo_canvas_get_photo (_tmp14_); +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_; +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP, &_tmp17_); +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_scaled_similar (&self->priv->scaled_crop, &_tmp13_, &_tmp17_, &_tmp18_); +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_; +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp16_); +#line 1375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + crop = _tmp19_; +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = editing_tools_photo_canvas_get_scaled_pixbuf (_tmp20_); +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp21_; +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->priv->scaled_crop; +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = _tmp23_.left; +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = self->priv->scaled_crop; +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _tmp25_.top; +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = box_get_width (&self->priv->scaled_crop); +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = box_get_height (&self->priv->scaled_crop); +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = gdk_pixbuf_new_subpixbuf (_tmp22_, _tmp24_, _tmp26_, _tmp27_, _tmp28_); +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = _tmp29_; +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp22_); +#line 1380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cropped = _tmp30_; +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = editing_tools_photo_canvas_get_photo (_tmp31_); +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = _tmp32_; +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = crop; +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = crop_command_new (_tmp33_, &_tmp34_, RESOURCES_CROP_LABEL, RESOURCES_CROP_TOOLTIP); +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = _tmp35_; +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_dimensions (&crop, &_tmp37_); +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), "applied", G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_COMMAND, Command), cropped, &_tmp37_, TRUE); +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp36_); +#line 1385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp33_); +#line 1365 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (cropped); +#line 9847 "EditingTools.c" +} + + +static void editing_tools_crop_tool_update_cursor (EditingToolsCropTool* self, gint x, gint y) { + GdkRectangle scaled_pos = {0}; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + Box offset_scaled_crop = {0}; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + Box _tmp6_ = {0}; + GdkCursorType cursor_type = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + BoxLocation _tmp9_ = 0; + GdkCursorType _tmp10_ = 0; + GdkCursorType _tmp11_ = 0; +#line 1389 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1391 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1391 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp0_, &_tmp1_); +#line 1391 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scaled_pos = _tmp1_; +#line 1392 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = scaled_pos; +#line 1392 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.x; +#line 1392 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = scaled_pos; +#line 1392 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.y; +#line 1392 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_offset (&self->priv->scaled_crop, _tmp3_, _tmp5_, &_tmp6_); +#line 1392 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + offset_scaled_crop = _tmp6_; +#line 1394 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_LEFT_PTR; +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = x; +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = y; +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = box_approx_location (&offset_scaled_crop, _tmp7_, _tmp8_); +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + switch (_tmp9_) { +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_LEFT_SIDE: +#line 9899 "EditingTools.c" + { +#line 1397 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_LEFT_SIDE; +#line 1398 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9905 "EditingTools.c" + } +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_SIDE: +#line 9909 "EditingTools.c" + { +#line 1401 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_TOP_SIDE; +#line 1402 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9915 "EditingTools.c" + } +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_RIGHT_SIDE: +#line 9919 "EditingTools.c" + { +#line 1405 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_RIGHT_SIDE; +#line 1406 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9925 "EditingTools.c" + } +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_SIDE: +#line 9929 "EditingTools.c" + { +#line 1409 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_BOTTOM_SIDE; +#line 1410 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9935 "EditingTools.c" + } +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_LEFT: +#line 9939 "EditingTools.c" + { +#line 1413 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_TOP_LEFT_CORNER; +#line 1414 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9945 "EditingTools.c" + } +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_LEFT: +#line 9949 "EditingTools.c" + { +#line 1417 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_BOTTOM_LEFT_CORNER; +#line 1418 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9955 "EditingTools.c" + } +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_RIGHT: +#line 9959 "EditingTools.c" + { +#line 1421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_TOP_RIGHT_CORNER; +#line 1422 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9965 "EditingTools.c" + } +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_RIGHT: +#line 9969 "EditingTools.c" + { +#line 1425 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_BOTTOM_RIGHT_CORNER; +#line 1426 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9975 "EditingTools.c" + } +#line 1395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_INSIDE: +#line 9979 "EditingTools.c" + { +#line 1429 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor_type = GDK_FLEUR; +#line 1430 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9985 "EditingTools.c" + } + default: + { +#line 1434 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 9991 "EditingTools.c" + } + } +#line 1437 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = cursor_type; +#line 1437 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->current_cursor_type; +#line 1437 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp10_ != _tmp11_) { +#line 10000 "EditingTools.c" + GdkCursor* cursor = NULL; + GdkCursorType _tmp12_ = 0; + GdkCursor* _tmp13_ = NULL; + EditingToolsPhotoCanvas* _tmp14_ = NULL; + GdkWindow* _tmp15_ = NULL; + GdkWindow* _tmp16_ = NULL; + GdkCursor* _tmp17_ = NULL; + GdkCursorType _tmp18_ = 0; +#line 1438 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = cursor_type; +#line 1438 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = gdk_cursor_new (_tmp12_); +#line 1438 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cursor = _tmp13_; +#line 1439 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1439 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = editing_tools_photo_canvas_get_drawing_window (_tmp14_); +#line 1439 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_; +#line 1439 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = cursor; +#line 1439 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gdk_window_set_cursor (_tmp16_, _tmp17_); +#line 1439 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp16_); +#line 1440 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = cursor_type; +#line 1440 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->current_cursor_type = _tmp18_; +#line 1437 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (cursor); +#line 10033 "EditingTools.c" + } +} + + +static gint editing_tools_crop_tool_eval_radial_line (EditingToolsCropTool* self, gdouble center_x, gdouble center_y, gdouble bounds_x, gdouble bounds_y, gdouble user_x) { + gint result = 0; + gdouble decision_slope = 0.0; + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gdouble decision_intercept = 0.0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; +#line 1444 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), 0); +#line 1446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = bounds_y; +#line 1446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = center_y; +#line 1446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = bounds_x; +#line 1446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = center_x; +#line 1446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + decision_slope = (_tmp0_ - _tmp1_) / (_tmp2_ - _tmp3_); +#line 1447 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = bounds_y; +#line 1447 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = bounds_x; +#line 1447 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + decision_intercept = _tmp4_ - (decision_slope * _tmp5_); +#line 1449 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = user_x; +#line 1449 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = (gint) ((decision_slope * _tmp6_) + decision_intercept); +#line 1449 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 10073 "EditingTools.c" +} + + +static void editing_tools_crop_tool_get_photo_dimensions (EditingToolsCropTool* self, Dimensions* result) { + Dimensions photo_dims = {0}; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Dimensions _tmp3_ = {0}; + Dimensions _tmp4_ = {0}; + Dimensions surface_dims = {0}; + EditingToolsPhotoCanvas* _tmp5_ = NULL; + Dimensions _tmp6_ = {0}; + gdouble scale_factor = 0.0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; + Dimensions _tmp11_ = {0}; + gint _tmp12_ = 0; + Dimensions _tmp13_ = {0}; + gint _tmp14_ = 0; + gdouble _tmp15_ = 0.0; + gdouble _tmp16_ = 0.0; + gdouble _tmp17_ = 0.0; + EditingToolsPhotoCanvas* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + Photo* _tmp20_ = NULL; + Dimensions _tmp21_ = {0}; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; + gdouble _tmp24_ = 0.0; + Dimensions _tmp25_ = {0}; + gint _tmp26_ = 0; + gdouble _tmp27_ = 0.0; + Dimensions _tmp28_ = {0}; +#line 1453 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = editing_tools_photo_canvas_get_photo (_tmp0_); +#line 1454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_; +#line 1454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP, &_tmp3_); +#line 1454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 1454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp2_); +#line 1454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_dims = _tmp4_; +#line 1455 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1455 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_surface_dim (_tmp5_, &_tmp6_); +#line 1455 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + surface_dims = _tmp6_; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = surface_dims; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.width; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = photo_dims; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.width; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = surface_dims; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.height; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = photo_dims; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_.height; +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = MIN (((gdouble) _tmp8_) / _tmp10_, ((gdouble) _tmp12_) / _tmp14_); +#line 1456 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scale_factor = _tmp15_; +#line 1458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = scale_factor; +#line 1458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = MIN (_tmp16_, 1.0); +#line 1458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scale_factor = _tmp17_; +#line 1460 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1460 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = editing_tools_photo_canvas_get_photo (_tmp18_); +#line 1460 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_; +#line 1460 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP | PHOTO_EXCEPTION_STRAIGHTEN, &_tmp21_); +#line 1460 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_dims = _tmp21_; +#line 1460 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp20_); +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = photo_dims; +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_.width; +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = scale_factor; +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = photo_dims; +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _tmp25_.height; +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = scale_factor; +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_.width = (gint) (_tmp23_ * _tmp24_); +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_.height = (gint) (_tmp26_ * _tmp27_); +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _tmp28_; +#line 1463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 10190 "EditingTools.c" +} + + +static gboolean _box_equal (const Box* s1, const Box* s2) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (s1 == s2) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return TRUE; +#line 10199 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (s1 == NULL) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return FALSE; +#line 10205 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (s2 == NULL) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return FALSE; +#line 10211 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (s1->left != s2->left) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return FALSE; +#line 10217 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (s1->top != s2->top) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return FALSE; +#line 10223 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (s1->right != s2->right) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return FALSE; +#line 10229 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (s1->bottom != s2->bottom) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return FALSE; +#line 10235 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return TRUE; +#line 10239 "EditingTools.c" +} + + +static gboolean editing_tools_crop_tool_on_canvas_manipulation (EditingToolsCropTool* self, gint x, gint y) { + gboolean result = FALSE; + GdkRectangle scaled_pos = {0}; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + gint _tmp2_ = 0; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint left = 0; + Box _tmp20_ = {0}; + gint _tmp21_ = 0; + gint top = 0; + Box _tmp22_ = {0}; + gint _tmp23_ = 0; + gint right = 0; + Box _tmp24_ = {0}; + gint _tmp25_ = 0; + gint bottom = 0; + Box _tmp26_ = {0}; + gint _tmp27_ = 0; + gint center_x = 0; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + gint center_y = 0; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + BoxLocation _tmp32_ = 0; + gint width = 0; + gint _tmp199_ = 0; + gint _tmp200_ = 0; + gint height = 0; + gint _tmp201_ = 0; + gint _tmp202_ = 0; + Dimensions photo_dims = {0}; + Dimensions _tmp203_ = {0}; + gdouble angle = 0.0; + EditingToolsPhotoCanvas* _tmp204_ = NULL; + Photo* _tmp205_ = NULL; + Photo* _tmp206_ = NULL; + gdouble _tmp207_ = 0.0; + Box new_crop = {0}; + gfloat _tmp208_ = 0.0F; + BoxLocation _tmp254_ = 0; + Box _tmp257_ = {0}; + gfloat _tmp258_ = 0.0F; +#line 1467 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self), FALSE); +#line 1468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp0_, &_tmp1_); +#line 1468 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scaled_pos = _tmp1_; +#line 1472 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = x; +#line 1472 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = scaled_pos; +#line 1472 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.x; +#line 1472 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = _tmp2_ - _tmp4_; +#line 1473 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = x; +#line 1473 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_ < 0) { +#line 1474 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = 0; +#line 10315 "EditingTools.c" + } else { + gint _tmp6_ = 0; + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 1475 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = x; +#line 1475 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = scaled_pos; +#line 1475 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.width; +#line 1475 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp6_ >= _tmp8_) { +#line 10328 "EditingTools.c" + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 1476 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = scaled_pos; +#line 1476 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.width; +#line 1476 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = _tmp10_ - 1; +#line 10337 "EditingTools.c" + } + } +#line 1478 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = y; +#line 1478 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = scaled_pos; +#line 1478 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.y; +#line 1478 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y = _tmp11_ - _tmp13_; +#line 1479 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = y; +#line 1479 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp14_ < 0) { +#line 1480 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y = 0; +#line 10354 "EditingTools.c" + } else { + gint _tmp15_ = 0; + GdkRectangle _tmp16_ = {0}; + gint _tmp17_ = 0; +#line 1481 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = y; +#line 1481 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = scaled_pos; +#line 1481 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp16_.height; +#line 1481 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp15_ >= _tmp17_) { +#line 10367 "EditingTools.c" + GdkRectangle _tmp18_ = {0}; + gint _tmp19_ = 0; +#line 1482 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = scaled_pos; +#line 1482 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_.height; +#line 1482 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y = _tmp19_ - 1; +#line 10376 "EditingTools.c" + } + } +#line 1486 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = self->priv->scaled_crop; +#line 1486 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = _tmp20_.left; +#line 1486 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp21_; +#line 1487 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = self->priv->scaled_crop; +#line 1487 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_.top; +#line 1487 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp23_; +#line 1488 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->scaled_crop; +#line 1488 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_.right; +#line 1488 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp25_; +#line 1489 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = self->priv->scaled_crop; +#line 1489 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = _tmp26_.bottom; +#line 1489 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp27_; +#line 1492 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = left; +#line 1492 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = right; +#line 1492 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + center_x = (_tmp28_ + _tmp29_) / 2; +#line 1493 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = top; +#line 1493 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = bottom; +#line 1493 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + center_y = (_tmp30_ + _tmp31_) / 2; +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = self->priv->in_manipulation; +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + switch (_tmp32_) { +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_LEFT_SIDE: +#line 10421 "EditingTools.c" + { + gint _tmp33_ = 0; + gfloat _tmp34_ = 0.0F; +#line 1497 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = x; +#line 1497 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp33_; +#line 1498 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1498 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp34_ != EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 10433 "EditingTools.c" + gfloat new_height = 0.0F; + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gfloat _tmp37_ = 0.0F; + gint _tmp38_ = 0; + gfloat _tmp39_ = 0.0F; +#line 1499 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = right; +#line 1499 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = left; +#line 1499 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1499 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_height = ((gfloat) (_tmp35_ - _tmp36_)) / _tmp37_; +#line 1500 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = top; +#line 1500 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = new_height; +#line 1500 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp38_ + ((gint) _tmp39_); +#line 10454 "EditingTools.c" + } +#line 1502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 10458 "EditingTools.c" + } +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_SIDE: +#line 10462 "EditingTools.c" + { + gint _tmp40_ = 0; + gfloat _tmp41_ = 0.0F; +#line 1505 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = y; +#line 1505 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp40_; +#line 1506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp41_ != EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 10474 "EditingTools.c" + gfloat new_width = 0.0F; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gfloat _tmp44_ = 0.0F; + gint _tmp45_ = 0; + gfloat _tmp46_ = 0.0F; +#line 1507 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = bottom; +#line 1507 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = top; +#line 1507 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1507 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_width = ((gfloat) (_tmp42_ - _tmp43_)) * _tmp44_; +#line 1508 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = left; +#line 1508 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = new_width; +#line 1508 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp45_ + ((gint) _tmp46_); +#line 10495 "EditingTools.c" + } +#line 1510 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 10499 "EditingTools.c" + } +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_RIGHT_SIDE: +#line 10503 "EditingTools.c" + { + gint _tmp47_ = 0; + gfloat _tmp48_ = 0.0F; +#line 1513 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = x; +#line 1513 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp47_; +#line 1514 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1514 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp48_ != EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 10515 "EditingTools.c" + gfloat new_height = 0.0F; + gint _tmp49_ = 0; + gint _tmp50_ = 0; + gfloat _tmp51_ = 0.0F; + gint _tmp52_ = 0; + gfloat _tmp53_ = 0.0F; +#line 1515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp49_ = right; +#line 1515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50_ = left; +#line 1515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp51_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_height = ((gfloat) (_tmp49_ - _tmp50_)) / _tmp51_; +#line 1516 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52_ = top; +#line 1516 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp53_ = new_height; +#line 1516 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp52_ + ((gint) _tmp53_); +#line 10536 "EditingTools.c" + } +#line 1518 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 10540 "EditingTools.c" + } +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_SIDE: +#line 10544 "EditingTools.c" + { + gint _tmp54_ = 0; + gfloat _tmp55_ = 0.0F; +#line 1521 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp54_ = y; +#line 1521 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp54_; +#line 1522 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1522 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp55_ != EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 10556 "EditingTools.c" + gfloat new_width = 0.0F; + gint _tmp56_ = 0; + gint _tmp57_ = 0; + gfloat _tmp58_ = 0.0F; + gint _tmp59_ = 0; + gfloat _tmp60_ = 0.0F; +#line 1523 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp56_ = bottom; +#line 1523 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp57_ = top; +#line 1523 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1523 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_width = ((gfloat) (_tmp56_ - _tmp57_)) * _tmp58_; +#line 1524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp59_ = left; +#line 1524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp60_ = new_width; +#line 1524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp59_ + ((gint) _tmp60_); +#line 10577 "EditingTools.c" + } +#line 1526 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 10581 "EditingTools.c" + } +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_LEFT: +#line 10585 "EditingTools.c" + { + gfloat _tmp61_ = 0.0F; +#line 1529 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1529 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp61_ == EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 10592 "EditingTools.c" + gint _tmp62_ = 0; + gint _tmp63_ = 0; +#line 1530 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp62_ = y; +#line 1530 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp62_; +#line 1531 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp63_ = x; +#line 1531 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp63_; +#line 10603 "EditingTools.c" + } else { + gint _tmp64_ = 0; + gint _tmp65_ = 0; + gint _tmp66_ = 0; + gint _tmp67_ = 0; + gint _tmp68_ = 0; + gint _tmp69_ = 0; + gint _tmp70_ = 0; +#line 1533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp64_ = y; +#line 1533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp65_ = center_x; +#line 1533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp66_ = center_y; +#line 1533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp67_ = left; +#line 1533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp68_ = top; +#line 1533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp69_ = x; +#line 1533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp70_ = editing_tools_crop_tool_eval_radial_line (self, (gdouble) _tmp65_, (gdouble) _tmp66_, (gdouble) _tmp67_, (gdouble) _tmp68_, (gdouble) _tmp69_); +#line 1533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp64_ < _tmp70_) { +#line 10628 "EditingTools.c" + gint _tmp71_ = 0; + gfloat new_width = 0.0F; + gint _tmp72_ = 0; + gint _tmp73_ = 0; + gfloat _tmp74_ = 0.0F; + gint _tmp75_ = 0; + gfloat _tmp76_ = 0.0F; +#line 1534 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp71_ = y; +#line 1534 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp71_; +#line 1535 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp72_ = bottom; +#line 1535 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp73_ = top; +#line 1535 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp74_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1535 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_width = ((gfloat) (_tmp72_ - _tmp73_)) * _tmp74_; +#line 1536 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp75_ = right; +#line 1536 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp76_ = new_width; +#line 1536 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp75_ - ((gint) _tmp76_); +#line 10654 "EditingTools.c" + } else { + gint _tmp77_ = 0; + gfloat new_height = 0.0F; + gint _tmp78_ = 0; + gint _tmp79_ = 0; + gfloat _tmp80_ = 0.0F; + gint _tmp81_ = 0; + gfloat _tmp82_ = 0.0F; +#line 1538 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp77_ = x; +#line 1538 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp77_; +#line 1539 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp78_ = right; +#line 1539 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp79_ = left; +#line 1539 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp80_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1539 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_height = ((gfloat) (_tmp78_ - _tmp79_)) / _tmp80_; +#line 1540 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp81_ = bottom; +#line 1540 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp82_ = new_height; +#line 1540 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp81_ - ((gint) _tmp82_); +#line 10681 "EditingTools.c" + } + } +#line 1543 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 10686 "EditingTools.c" + } +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_LEFT: +#line 10690 "EditingTools.c" + { + gfloat _tmp83_ = 0.0F; +#line 1546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp83_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp83_ == EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 10697 "EditingTools.c" + gint _tmp84_ = 0; + gint _tmp85_ = 0; +#line 1547 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp84_ = y; +#line 1547 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp84_; +#line 1548 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp85_ = x; +#line 1548 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp85_; +#line 10708 "EditingTools.c" + } else { + gint _tmp86_ = 0; + gint _tmp87_ = 0; + gint _tmp88_ = 0; + gint _tmp89_ = 0; + gint _tmp90_ = 0; + gint _tmp91_ = 0; + gint _tmp92_ = 0; +#line 1550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp86_ = y; +#line 1550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp87_ = center_x; +#line 1550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp88_ = center_y; +#line 1550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp89_ = left; +#line 1550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp90_ = bottom; +#line 1550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp91_ = x; +#line 1550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp92_ = editing_tools_crop_tool_eval_radial_line (self, (gdouble) _tmp87_, (gdouble) _tmp88_, (gdouble) _tmp89_, (gdouble) _tmp90_, (gdouble) _tmp91_); +#line 1550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp86_ < _tmp92_) { +#line 10733 "EditingTools.c" + gint _tmp93_ = 0; + gfloat new_height = 0.0F; + gint _tmp94_ = 0; + gint _tmp95_ = 0; + gfloat _tmp96_ = 0.0F; + gint _tmp97_ = 0; + gfloat _tmp98_ = 0.0F; +#line 1551 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp93_ = x; +#line 1551 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp93_; +#line 1552 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp94_ = right; +#line 1552 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp95_ = left; +#line 1552 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp96_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1552 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_height = ((gfloat) (_tmp94_ - _tmp95_)) / _tmp96_; +#line 1553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp97_ = top; +#line 1553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp98_ = new_height; +#line 1553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp97_ + ((gint) _tmp98_); +#line 10759 "EditingTools.c" + } else { + gint _tmp99_ = 0; + gfloat new_width = 0.0F; + gint _tmp100_ = 0; + gint _tmp101_ = 0; + gfloat _tmp102_ = 0.0F; + gint _tmp103_ = 0; + gfloat _tmp104_ = 0.0F; +#line 1555 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp99_ = y; +#line 1555 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp99_; +#line 1556 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp100_ = bottom; +#line 1556 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp101_ = top; +#line 1556 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp102_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1556 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_width = ((gfloat) (_tmp100_ - _tmp101_)) * _tmp102_; +#line 1557 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp103_ = right; +#line 1557 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp104_ = new_width; +#line 1557 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp103_ - ((gint) _tmp104_); +#line 10786 "EditingTools.c" + } + } +#line 1560 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 10791 "EditingTools.c" + } +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_RIGHT: +#line 10795 "EditingTools.c" + { + gfloat _tmp105_ = 0.0F; +#line 1563 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp105_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1563 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp105_ == EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 10802 "EditingTools.c" + gint _tmp106_ = 0; + gint _tmp107_ = 0; +#line 1564 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp106_ = y; +#line 1564 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp106_; +#line 1565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp107_ = x; +#line 1565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp107_; +#line 10813 "EditingTools.c" + } else { + gint _tmp108_ = 0; + gint _tmp109_ = 0; + gint _tmp110_ = 0; + gint _tmp111_ = 0; + gint _tmp112_ = 0; + gint _tmp113_ = 0; + gint _tmp114_ = 0; +#line 1567 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp108_ = y; +#line 1567 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp109_ = center_x; +#line 1567 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp110_ = center_y; +#line 1567 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp111_ = right; +#line 1567 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp112_ = top; +#line 1567 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp113_ = x; +#line 1567 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp114_ = editing_tools_crop_tool_eval_radial_line (self, (gdouble) _tmp109_, (gdouble) _tmp110_, (gdouble) _tmp111_, (gdouble) _tmp112_, (gdouble) _tmp113_); +#line 1567 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp108_ < _tmp114_) { +#line 10838 "EditingTools.c" + gint _tmp115_ = 0; + gfloat new_width = 0.0F; + gint _tmp116_ = 0; + gint _tmp117_ = 0; + gfloat _tmp118_ = 0.0F; + gint _tmp119_ = 0; + gfloat _tmp120_ = 0.0F; +#line 1568 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp115_ = y; +#line 1568 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp115_; +#line 1569 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp116_ = bottom; +#line 1569 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp117_ = top; +#line 1569 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp118_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1569 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_width = ((gfloat) (_tmp116_ - _tmp117_)) * _tmp118_; +#line 1570 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp119_ = left; +#line 1570 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp120_ = new_width; +#line 1570 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp119_ + ((gint) _tmp120_); +#line 10864 "EditingTools.c" + } else { + gint _tmp121_ = 0; + gfloat new_height = 0.0F; + gint _tmp122_ = 0; + gint _tmp123_ = 0; + gfloat _tmp124_ = 0.0F; + gint _tmp125_ = 0; + gfloat _tmp126_ = 0.0F; +#line 1572 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp121_ = x; +#line 1572 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp121_; +#line 1573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp122_ = right; +#line 1573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp123_ = left; +#line 1573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp124_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_height = ((gfloat) (_tmp122_ - _tmp123_)) / _tmp124_; +#line 1574 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp125_ = bottom; +#line 1574 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp126_ = new_height; +#line 1574 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp125_ - ((gint) _tmp126_); +#line 10891 "EditingTools.c" + } + } +#line 1577 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 10896 "EditingTools.c" + } +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_RIGHT: +#line 10900 "EditingTools.c" + { + gfloat _tmp127_ = 0.0F; +#line 1580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp127_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp127_ == EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 10907 "EditingTools.c" + gint _tmp128_ = 0; + gint _tmp129_ = 0; +#line 1581 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp128_ = y; +#line 1581 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp128_; +#line 1582 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp129_ = x; +#line 1582 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp129_; +#line 10918 "EditingTools.c" + } else { + gint _tmp130_ = 0; + gint _tmp131_ = 0; + gint _tmp132_ = 0; + gint _tmp133_ = 0; + gint _tmp134_ = 0; + gint _tmp135_ = 0; + gint _tmp136_ = 0; +#line 1584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp130_ = y; +#line 1584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp131_ = center_x; +#line 1584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp132_ = center_y; +#line 1584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp133_ = right; +#line 1584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp134_ = bottom; +#line 1584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp135_ = x; +#line 1584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp136_ = editing_tools_crop_tool_eval_radial_line (self, (gdouble) _tmp131_, (gdouble) _tmp132_, (gdouble) _tmp133_, (gdouble) _tmp134_, (gdouble) _tmp135_); +#line 1584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp130_ < _tmp136_) { +#line 10943 "EditingTools.c" + gint _tmp137_ = 0; + gfloat new_height = 0.0F; + gint _tmp138_ = 0; + gint _tmp139_ = 0; + gfloat _tmp140_ = 0.0F; + gint _tmp141_ = 0; + gfloat _tmp142_ = 0.0F; +#line 1585 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp137_ = x; +#line 1585 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp137_; +#line 1586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp138_ = right; +#line 1586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp139_ = left; +#line 1586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp140_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_height = ((gfloat) (_tmp138_ - _tmp139_)) / _tmp140_; +#line 1587 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp141_ = top; +#line 1587 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp142_ = new_height; +#line 1587 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp141_ + ((gint) _tmp142_); +#line 10969 "EditingTools.c" + } else { + gint _tmp143_ = 0; + gfloat new_width = 0.0F; + gint _tmp144_ = 0; + gint _tmp145_ = 0; + gfloat _tmp146_ = 0.0F; + gint _tmp147_ = 0; + gfloat _tmp148_ = 0.0F; +#line 1589 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp143_ = y; +#line 1589 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp143_; +#line 1590 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp144_ = bottom; +#line 1590 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp145_ = top; +#line 1590 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp146_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1590 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_width = ((gfloat) (_tmp144_ - _tmp145_)) * _tmp146_; +#line 1591 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp147_ = left; +#line 1591 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp148_ = new_width; +#line 1591 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp147_ + ((gint) _tmp148_); +#line 10996 "EditingTools.c" + } + } +#line 1594 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 11001 "EditingTools.c" + } +#line 1495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_INSIDE: +#line 11005 "EditingTools.c" + { + gint _tmp149_ = 0; + gint _tmp150_ = 0; + gint delta_x = 0; + gint _tmp151_ = 0; + gint _tmp152_ = 0; + gint delta_y = 0; + gint _tmp153_ = 0; + gint _tmp154_ = 0; + gint _tmp155_ = 0; + gint _tmp156_ = 0; + gint width = 0; + gint _tmp157_ = 0; + gint _tmp158_ = 0; + gint height = 0; + gint _tmp159_ = 0; + gint _tmp160_ = 0; + gint _tmp161_ = 0; + gint _tmp162_ = 0; + gint _tmp163_ = 0; + gint _tmp164_ = 0; + gint _tmp165_ = 0; + gint _tmp166_ = 0; + gint _tmp167_ = 0; + gint _tmp168_ = 0; + gint _tmp169_ = 0; + gint _tmp170_ = 0; + gint _tmp171_ = 0; + GdkRectangle _tmp172_ = {0}; + gint _tmp173_ = 0; + gint _tmp176_ = 0; + GdkRectangle _tmp177_ = {0}; + gint _tmp178_ = 0; + gint adj_width = 0; + gint _tmp181_ = 0; + gint _tmp182_ = 0; + gint adj_height = 0; + gint _tmp183_ = 0; + gint _tmp184_ = 0; + gint _tmp185_ = 0; + gint _tmp186_ = 0; + gint _tmp192_ = 0; + gint _tmp193_ = 0; +#line 1597 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp149_ = self->priv->last_grab_x; +#line 1597 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_assert (_tmp149_ >= 0, "last_grab_x >= 0"); +#line 1598 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp150_ = self->priv->last_grab_y; +#line 1598 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_assert (_tmp150_ >= 0, "last_grab_y >= 0"); +#line 1600 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp151_ = x; +#line 1600 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp152_ = self->priv->last_grab_x; +#line 1600 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + delta_x = _tmp151_ - _tmp152_; +#line 1601 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp153_ = y; +#line 1601 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp154_ = self->priv->last_grab_y; +#line 1601 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + delta_y = _tmp153_ - _tmp154_; +#line 1603 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp155_ = x; +#line 1603 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->last_grab_x = _tmp155_; +#line 1604 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp156_ = y; +#line 1604 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->last_grab_y = _tmp156_; +#line 1606 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp157_ = right; +#line 1606 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp158_ = left; +#line 1606 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + width = (_tmp157_ - _tmp158_) + 1; +#line 1607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp159_ = bottom; +#line 1607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp160_ = top; +#line 1607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + height = (_tmp159_ - _tmp160_) + 1; +#line 1609 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp161_ = left; +#line 1609 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp162_ = delta_x; +#line 1609 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp161_ + _tmp162_; +#line 1610 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp163_ = top; +#line 1610 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp164_ = delta_y; +#line 1610 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp163_ + _tmp164_; +#line 1611 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp165_ = right; +#line 1611 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp166_ = delta_x; +#line 1611 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp165_ + _tmp166_; +#line 1612 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp167_ = bottom; +#line 1612 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp168_ = delta_y; +#line 1612 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp167_ + _tmp168_; +#line 1615 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp169_ = left; +#line 1615 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp169_ < 0) { +#line 1616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = 0; +#line 11119 "EditingTools.c" + } +#line 1618 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp170_ = top; +#line 1618 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp170_ < 0) { +#line 1619 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = 0; +#line 11127 "EditingTools.c" + } +#line 1621 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp171_ = right; +#line 1621 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp172_ = scaled_pos; +#line 1621 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp173_ = _tmp172_.width; +#line 1621 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp171_ >= _tmp173_) { +#line 11137 "EditingTools.c" + GdkRectangle _tmp174_ = {0}; + gint _tmp175_ = 0; +#line 1622 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp174_ = scaled_pos; +#line 1622 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp175_ = _tmp174_.width; +#line 1622 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp175_ - 1; +#line 11146 "EditingTools.c" + } +#line 1624 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp176_ = bottom; +#line 1624 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp177_ = scaled_pos; +#line 1624 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp178_ = _tmp177_.height; +#line 1624 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp176_ >= _tmp178_) { +#line 11156 "EditingTools.c" + GdkRectangle _tmp179_ = {0}; + gint _tmp180_ = 0; +#line 1625 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp179_ = scaled_pos; +#line 1625 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp180_ = _tmp179_.height; +#line 1625 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp180_ - 1; +#line 11165 "EditingTools.c" + } +#line 1627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp181_ = right; +#line 1627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp182_ = left; +#line 1627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + adj_width = (_tmp181_ - _tmp182_) + 1; +#line 1628 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp183_ = bottom; +#line 1628 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp184_ = top; +#line 1628 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + adj_height = (_tmp183_ - _tmp184_) + 1; +#line 1631 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp185_ = adj_width; +#line 1631 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp186_ = width; +#line 1631 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp185_ != _tmp186_) { +#line 11185 "EditingTools.c" + gint _tmp187_ = 0; +#line 1632 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp187_ = delta_x; +#line 1632 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp187_ < 0) { +#line 11191 "EditingTools.c" + gint _tmp188_ = 0; + gint _tmp189_ = 0; +#line 1633 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp188_ = left; +#line 1633 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp189_ = width; +#line 1633 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = (_tmp188_ + _tmp189_) - 1; +#line 11200 "EditingTools.c" + } else { + gint _tmp190_ = 0; + gint _tmp191_ = 0; +#line 1635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp190_ = right; +#line 1635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp191_ = width; +#line 1635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = (_tmp190_ - _tmp191_) + 1; +#line 11210 "EditingTools.c" + } + } +#line 1638 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp192_ = adj_height; +#line 1638 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp193_ = height; +#line 1638 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp192_ != _tmp193_) { +#line 11219 "EditingTools.c" + gint _tmp194_ = 0; +#line 1639 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp194_ = delta_y; +#line 1639 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp194_ < 0) { +#line 11225 "EditingTools.c" + gint _tmp195_ = 0; + gint _tmp196_ = 0; +#line 1640 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp195_ = top; +#line 1640 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp196_ = height; +#line 1640 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = (_tmp195_ + _tmp196_) - 1; +#line 11234 "EditingTools.c" + } else { + gint _tmp197_ = 0; + gint _tmp198_ = 0; +#line 1642 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp197_ = bottom; +#line 1642 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp198_ = height; +#line 1642 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = (_tmp197_ - _tmp198_) + 1; +#line 11244 "EditingTools.c" + } + } +#line 1644 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 11249 "EditingTools.c" + } + default: + { +#line 1648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 1648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 11257 "EditingTools.c" + } + } +#line 1658 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp199_ = right; +#line 1658 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp200_ = left; +#line 1658 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + width = (_tmp199_ - _tmp200_) + 1; +#line 1659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp201_ = bottom; +#line 1659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp202_ = top; +#line 1659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + height = (_tmp201_ - _tmp202_) + 1; +#line 1661 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_get_photo_dimensions (self, &_tmp203_); +#line 1661 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_dims = _tmp203_; +#line 1663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp204_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp205_ = editing_tools_photo_canvas_get_photo (_tmp204_); +#line 1663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp206_ = _tmp205_; +#line 1663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_get_straighten (_tmp206_, &_tmp207_); +#line 1663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + angle = _tmp207_; +#line 1663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp206_); +#line 1666 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp208_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1666 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp208_ == EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 11292 "EditingTools.c" + gint _tmp209_ = 0; + gint _tmp210_ = 0; + gint _tmp211_ = 0; + gint _tmp212_ = 0; + BoxLocation _tmp213_ = 0; + BoxLocation _tmp218_ = 0; + gint _tmp223_ = 0; + gint _tmp224_ = 0; + gint _tmp225_ = 0; + gint _tmp226_ = 0; + Box _tmp227_ = {0}; + Dimensions _tmp228_ = {0}; + gint _tmp229_ = 0; + Dimensions _tmp230_ = {0}; + gint _tmp231_ = 0; + gdouble _tmp232_ = 0.0; + BoxLocation _tmp233_ = 0; + Box _tmp234_ = {0}; +#line 1667 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp209_ = right; +#line 1667 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp210_ = left; +#line 1667 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + width = (_tmp209_ - _tmp210_) + 1; +#line 1668 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp211_ = bottom; +#line 1668 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp212_ = top; +#line 1668 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + height = (_tmp211_ - _tmp212_) + 1; +#line 1670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp213_ = self->priv->in_manipulation; +#line 1670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + switch (_tmp213_) { +#line 1670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_LEFT_SIDE: +#line 1670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_LEFT: +#line 1670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_LEFT: +#line 11333 "EditingTools.c" + { + gint _tmp214_ = 0; +#line 1674 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp214_ = width; +#line 1674 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp214_ < EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE) { +#line 11340 "EditingTools.c" + gint _tmp215_ = 0; +#line 1675 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp215_ = right; +#line 1675 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + left = _tmp215_ - EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE; +#line 11346 "EditingTools.c" + } +#line 1676 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 11350 "EditingTools.c" + } +#line 1670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_RIGHT_SIDE: +#line 1670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_RIGHT: +#line 1670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_RIGHT: +#line 11358 "EditingTools.c" + { + gint _tmp216_ = 0; +#line 1681 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp216_ = width; +#line 1681 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp216_ < EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE) { +#line 11365 "EditingTools.c" + gint _tmp217_ = 0; +#line 1682 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp217_ = left; +#line 1682 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + right = _tmp217_ + EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE; +#line 11371 "EditingTools.c" + } +#line 1683 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 11375 "EditingTools.c" + } + default: + { +#line 1686 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 11381 "EditingTools.c" + } + } +#line 1689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp218_ = self->priv->in_manipulation; +#line 1689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + switch (_tmp218_) { +#line 1689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_SIDE: +#line 1689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_LEFT: +#line 1689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_TOP_RIGHT: +#line 11394 "EditingTools.c" + { + gint _tmp219_ = 0; +#line 1693 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp219_ = height; +#line 1693 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp219_ < EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE) { +#line 11401 "EditingTools.c" + gint _tmp220_ = 0; +#line 1694 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp220_ = bottom; +#line 1694 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + top = _tmp220_ - EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE; +#line 11407 "EditingTools.c" + } +#line 1695 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 11411 "EditingTools.c" + } +#line 1689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_SIDE: +#line 1689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_LEFT: +#line 1689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case BOX_LOCATION_BOTTOM_RIGHT: +#line 11419 "EditingTools.c" + { + gint _tmp221_ = 0; +#line 1700 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp221_ = height; +#line 1700 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp221_ < EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE) { +#line 11426 "EditingTools.c" + gint _tmp222_ = 0; +#line 1701 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp222_ = top; +#line 1701 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bottom = _tmp222_ + EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE; +#line 11432 "EditingTools.c" + } +#line 1702 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 11436 "EditingTools.c" + } + default: + { +#line 1705 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 11442 "EditingTools.c" + } + } +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp223_ = left; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp224_ = top; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp225_ = right; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp226_ = bottom; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_init (&_tmp227_, _tmp223_, _tmp224_, _tmp225_, _tmp226_); +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp228_ = photo_dims; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp229_ = _tmp228_.width; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp230_ = photo_dims; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp231_ = _tmp230_.height; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp232_ = angle; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp233_ = self->priv->in_manipulation; +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + clamp_inside_rotated_image (&_tmp227_, _tmp229_, _tmp231_, _tmp232_, _tmp233_ == BOX_LOCATION_INSIDE, &_tmp234_); +#line 1711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_crop = _tmp234_; +#line 11471 "EditingTools.c" + } else { + gint _tmp235_ = 0; + gint _tmp236_ = 0; + gint _tmp237_ = 0; + gint _tmp238_ = 0; + Box adjusted = {0}; + Box _tmp239_ = {0}; + Dimensions _tmp240_ = {0}; + gint _tmp241_ = 0; + Dimensions _tmp242_ = {0}; + gint _tmp243_ = 0; + gdouble _tmp244_ = 0.0; + BoxLocation _tmp245_ = 0; + Box _tmp246_ = {0}; + gboolean _tmp247_ = FALSE; + gboolean _tmp248_ = FALSE; + Box _tmp249_ = {0}; + Box _tmp250_ = {0}; +#line 1720 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp235_ = left; +#line 1720 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp236_ = top; +#line 1720 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp237_ = right; +#line 1720 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp238_ = bottom; +#line 1720 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_init (&new_crop, _tmp235_, _tmp236_, _tmp237_, _tmp238_); +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp239_ = new_crop; +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp240_ = photo_dims; +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp241_ = _tmp240_.width; +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp242_ = photo_dims; +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp243_ = _tmp242_.height; +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp244_ = angle; +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp245_ = self->priv->in_manipulation; +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + clamp_inside_rotated_image (&_tmp239_, _tmp241_, _tmp243_, _tmp244_, _tmp245_ == BOX_LOCATION_INSIDE, &_tmp246_); +#line 1721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + adjusted = _tmp246_; +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp249_ = adjusted; +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp250_ = new_crop; +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_box_equal (&_tmp249_, &_tmp250_) != TRUE) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp248_ = TRUE; +#line 11526 "EditingTools.c" + } else { + gint _tmp251_ = 0; +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp251_ = width; +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp248_ = _tmp251_ < EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE; +#line 11533 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp248_) { +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp247_ = TRUE; +#line 11539 "EditingTools.c" + } else { + gint _tmp252_ = 0; +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp252_ = height; +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp247_ = _tmp252_ < EDITING_TOOLS_CROP_TOOL_CROP_MIN_SIZE; +#line 11546 "EditingTools.c" + } +#line 1725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp247_) { +#line 11550 "EditingTools.c" + Box _tmp253_ = {0}; +#line 1726 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp253_ = self->priv->scaled_crop; +#line 1726 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_crop = _tmp253_; +#line 11556 "EditingTools.c" + } + } +#line 1730 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp254_ = self->priv->in_manipulation; +#line 1730 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp254_ != BOX_LOCATION_INSIDE) { +#line 11563 "EditingTools.c" + Box _tmp255_ = {0}; +#line 1731 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp255_ = new_crop; +#line 1731 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_crop_resized (self, &_tmp255_); +#line 11569 "EditingTools.c" + } else { + Box _tmp256_ = {0}; +#line 1733 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp256_ = new_crop; +#line 1733 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_crop_moved (self, &_tmp256_); +#line 11576 "EditingTools.c" + } +#line 1736 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp257_ = new_crop; +#line 1736 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->scaled_crop = _tmp257_; +#line 1738 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp258_ = editing_tools_crop_tool_get_constraint_aspect_ratio (self); +#line 1738 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp258_ == EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO) { +#line 11586 "EditingTools.c" + gint _tmp259_ = 0; + gint _tmp260_ = 0; + gint _tmp261_ = 0; + gint _tmp262_ = 0; +#line 1739 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp259_ = box_get_width (&self->priv->scaled_crop); +#line 1739 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_init_width = _tmp259_; +#line 1740 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp260_ = box_get_height (&self->priv->scaled_crop); +#line 1740 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_init_height = _tmp260_; +#line 1741 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp261_ = self->priv->custom_init_width; +#line 1741 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp262_ = self->priv->custom_init_height; +#line 1741 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_aspect_ratio = ((gfloat) _tmp261_) / ((gfloat) _tmp262_); +#line 11605 "EditingTools.c" + } +#line 1744 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 1744 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 11611 "EditingTools.c" +} + + +static void editing_tools_crop_tool_crop_resized (EditingToolsCropTool* self, Box* new_crop) { + Box _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + Box _tmp3_ = {0}; + Box horizontal = {0}; + gboolean horizontal_enlarged = FALSE; + Box vertical = {0}; + gboolean vertical_enlarged = FALSE; + BoxComplements complements = 0; + Box _tmp4_ = {0}; + Box _tmp5_ = {0}; + gboolean _tmp6_ = FALSE; + Box _tmp7_ = {0}; + gboolean _tmp8_ = FALSE; + BoxComplements _tmp9_ = 0; + BoxComplements _tmp10_ = 0; + gboolean _tmp11_ = FALSE; + BoxComplements _tmp12_ = 0; + gboolean _tmp17_ = FALSE; + BoxComplements _tmp18_ = 0; + Box _tmp23_ = {0}; + EditingToolsPhotoCanvas* _tmp24_ = NULL; + Box _tmp25_ = {0}; +#line 1747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1747 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (new_crop != NULL); +#line 1748 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = *new_crop; +#line 1748 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = box_equals (&self->priv->scaled_crop, &_tmp0_); +#line 1748 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_) { +#line 1750 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 11651 "EditingTools.c" + } +#line 1753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->scaled_crop; +#line 1753 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_invalidate_area (_tmp2_, &_tmp3_); +#line 1759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = *new_crop; +#line 1759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = box_resized_complements (&self->priv->scaled_crop, &_tmp4_, &_tmp5_, &_tmp6_, &_tmp7_, &_tmp8_); +#line 1759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + horizontal = _tmp5_; +#line 1759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + horizontal_enlarged = _tmp6_; +#line 1759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + vertical = _tmp7_; +#line 1759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + vertical_enlarged = _tmp8_; +#line 1759 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + complements = _tmp9_; +#line 1763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = complements; +#line 1763 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_assert (_tmp10_ != BOX_COMPLEMENTS_NONE, "complements != BoxComplements.NONE"); +#line 1765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = complements; +#line 1765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp12_ == BOX_COMPLEMENTS_HORIZONTAL) { +#line 1765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = TRUE; +#line 11683 "EditingTools.c" + } else { + BoxComplements _tmp13_ = 0; +#line 1765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = complements; +#line 1765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp13_ == BOX_COMPLEMENTS_BOTH; +#line 11690 "EditingTools.c" + } +#line 1765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp11_) { +#line 11694 "EditingTools.c" + gdouble _tmp14_ = 0.0; + gboolean _tmp15_ = FALSE; + Box _tmp16_ = {0}; +#line 1766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = horizontal_enlarged; +#line 1766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp15_) { +#line 1766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = 0.0; +#line 11704 "EditingTools.c" + } else { +#line 1766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = 0.5; +#line 11708 "EditingTools.c" + } +#line 1766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = horizontal; +#line 1766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_set_area_alpha (self, &_tmp16_, _tmp14_); +#line 11714 "EditingTools.c" + } +#line 1768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = complements; +#line 1768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp18_ == BOX_COMPLEMENTS_VERTICAL) { +#line 1768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = TRUE; +#line 11722 "EditingTools.c" + } else { + BoxComplements _tmp19_ = 0; +#line 1768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = complements; +#line 1768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp19_ == BOX_COMPLEMENTS_BOTH; +#line 11729 "EditingTools.c" + } +#line 1768 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp17_) { +#line 11733 "EditingTools.c" + gdouble _tmp20_ = 0.0; + gboolean _tmp21_ = FALSE; + Box _tmp22_ = {0}; +#line 1769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = vertical_enlarged; +#line 1769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp21_) { +#line 1769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = 0.0; +#line 11743 "EditingTools.c" + } else { +#line 1769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = 0.5; +#line 11747 "EditingTools.c" + } +#line 1769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = vertical; +#line 1769 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_set_area_alpha (self, &_tmp22_, _tmp20_); +#line 11753 "EditingTools.c" + } +#line 1771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = *new_crop; +#line 1771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_paint_crop_tool (self, &_tmp23_); +#line 1772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = *new_crop; +#line 1772 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_invalidate_area (_tmp24_, &_tmp25_); +#line 11765 "EditingTools.c" +} + + +static void editing_tools_crop_tool_crop_moved (EditingToolsCropTool* self, Box* new_crop) { + Box _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + Box _tmp3_ = {0}; + Box _tmp4_ = {0}; + Box _tmp5_ = {0}; + Box _tmp6_ = {0}; + EditingToolsPhotoCanvas* _tmp7_ = NULL; + Box _tmp8_ = {0}; +#line 1775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1775 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (new_crop != NULL); +#line 1776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = *new_crop; +#line 1776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = box_equals (&self->priv->scaled_crop, &_tmp0_); +#line 1776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_) { +#line 1778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 11791 "EditingTools.c" + } +#line 1781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->scaled_crop; +#line 1781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_invalidate_area (_tmp2_, &_tmp3_); +#line 1783 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->scaled_crop; +#line 1783 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_set_area_alpha (self, &_tmp4_, 0.5); +#line 1784 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = *new_crop; +#line 1784 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_set_area_alpha (self, &_tmp5_, 0.0); +#line 1788 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = *new_crop; +#line 1788 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_paint_crop_tool (self, &_tmp6_); +#line 1789 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1789 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = *new_crop; +#line 1789 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_invalidate_area (_tmp7_, &_tmp8_); +#line 11817 "EditingTools.c" +} + + +static void editing_tools_crop_tool_set_area_alpha (EditingToolsCropTool* self, Box* area, gdouble alpha) { + cairo_t* ctx = NULL; + cairo_surface_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + Box _tmp3_ = {0}; + gint _tmp4_ = 0; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + EditingToolsPhotoCanvas* _tmp9_ = NULL; + cairo_surface_t* _tmp10_ = NULL; + Box _tmp11_ = {0}; +#line 1792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (area != NULL); +#line 1793 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->crop_surface; +#line 1793 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = cairo_create (_tmp0_); +#line 1793 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ctx = _tmp1_; +#line 1794 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_operator (ctx, CAIRO_OPERATOR_SOURCE); +#line 1795 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = alpha; +#line 1795 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_source_rgba (ctx, 0.0, 0.0, 0.0, _tmp2_); +#line 1796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = *area; +#line 1796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.left; +#line 1796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = *area; +#line 1796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.top; +#line 1796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = box_get_width (area); +#line 1796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = box_get_height (area); +#line 1796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_rectangle (ctx, (gdouble) _tmp4_, (gdouble) _tmp6_, (gdouble) _tmp7_, (gdouble) _tmp8_); +#line 1797 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_fill (ctx); +#line 1798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->crop_surface; +#line 1798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = *area; +#line 1798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_paint_surface_area (_tmp9_, _tmp10_, &_tmp11_, TRUE); +#line 1792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (ctx); +#line 11877 "EditingTools.c" +} + + +static void editing_tools_crop_tool_paint_crop_tool (EditingToolsCropTool* self, Box* crop) { + BoxLocation _tmp0_ = 0; + EditingToolsPhotoCanvas* _tmp65_ = NULL; + cairo_t* _tmp66_ = NULL; + Box _tmp67_ = {0}; + EditingToolsPhotoCanvas* _tmp68_ = NULL; + cairo_t* _tmp69_ = NULL; + Box _tmp70_ = {0}; + EditingToolsPhotoCanvas* _tmp71_ = NULL; + cairo_t* _tmp72_ = NULL; + Box _tmp73_ = {0}; +#line 1801 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_CROP_TOOL (self)); +#line 1801 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (crop != NULL); +#line 1803 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->in_manipulation; +#line 1803 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ != BOX_LOCATION_OUTSIDE) { +#line 11900 "EditingTools.c" + gint one_third_x = 0; + gint _tmp1_ = 0; + gint one_third_y = 0; + gint _tmp2_ = 0; + EditingToolsPhotoCanvas* _tmp3_ = NULL; + cairo_t* _tmp4_ = NULL; + Box _tmp5_ = {0}; + gint _tmp6_ = 0; + Box _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + EditingToolsPhotoCanvas* _tmp11_ = NULL; + cairo_t* _tmp12_ = NULL; + Box _tmp13_ = {0}; + gint _tmp14_ = 0; + Box _tmp15_ = {0}; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + EditingToolsPhotoCanvas* _tmp19_ = NULL; + cairo_t* _tmp20_ = NULL; + Box _tmp21_ = {0}; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + Box _tmp24_ = {0}; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + EditingToolsPhotoCanvas* _tmp27_ = NULL; + cairo_t* _tmp28_ = NULL; + Box _tmp29_ = {0}; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + Box _tmp32_ = {0}; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + Box adj_crop = {0}; + EditingToolsPhotoCanvas* _tmp35_ = NULL; + GdkRectangle _tmp36_ = {0}; + Dimensions _tmp37_ = {0}; + EditingToolsPhotoCanvas* _tmp38_ = NULL; + Photo* _tmp39_ = NULL; + Photo* _tmp40_ = NULL; + Dimensions _tmp41_ = {0}; + Box _tmp42_ = {0}; + Box _tmp43_ = {0}; + gchar* text = NULL; + gint _tmp44_ = 0; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gint _tmp49_ = 0; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gint x = 0; + Box _tmp54_ = {0}; + gint _tmp55_ = 0; + gint _tmp56_ = 0; + gint y = 0; + Box _tmp57_ = {0}; + gint _tmp58_ = 0; + gint _tmp59_ = 0; + EditingToolsPhotoCanvas* _tmp60_ = NULL; + cairo_t* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + gint _tmp63_ = 0; + gint _tmp64_ = 0; +#line 1804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = box_get_width (crop); +#line 1804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + one_third_x = _tmp1_ / 3; +#line 1805 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = box_get_height (crop); +#line 1805 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + one_third_y = _tmp2_ / 3; +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->thin_white_ctx; +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = *crop; +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.left; +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = *crop; +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.top; +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = one_third_y; +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = box_get_width (crop); +#line 1807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_horizontal_line (_tmp3_, _tmp4_, _tmp6_, _tmp8_ + _tmp9_, _tmp10_, TRUE); +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->thin_white_ctx; +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = *crop; +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_.left; +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = *crop; +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.top; +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = one_third_y; +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = box_get_width (crop); +#line 1808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_horizontal_line (_tmp11_, _tmp12_, _tmp14_, _tmp16_ + (_tmp17_ * 2), _tmp18_, TRUE); +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = self->priv->thin_white_ctx; +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = *crop; +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp21_.left; +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = one_third_x; +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = *crop; +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_.top; +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = box_get_height (crop); +#line 1810 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_vertical_line (_tmp19_, _tmp20_, _tmp22_ + _tmp23_, _tmp25_, _tmp26_, TRUE); +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = self->priv->thin_white_ctx; +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = *crop; +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = _tmp29_.left; +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = one_third_x; +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = *crop; +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = _tmp32_.top; +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = box_get_height (crop); +#line 1811 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_vertical_line (_tmp27_, _tmp28_, _tmp30_ + (_tmp31_ * 2), _tmp33_, _tmp34_, TRUE); +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp35_, &_tmp36_); +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dimensions_for_rectangle (&_tmp36_, &_tmp37_); +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = editing_tools_photo_canvas_get_photo (_tmp38_); +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = _tmp39_; +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_CROP, &_tmp41_); +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_scaled_similar (&self->priv->scaled_crop, &_tmp37_, &_tmp41_, &_tmp42_); +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = _tmp42_; +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp40_); +#line 1815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + adj_crop = _tmp43_; +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = box_get_width (&adj_crop); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = g_strdup_printf ("%i", _tmp44_); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = _tmp45_; +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = g_strconcat (_tmp46_, "x", NULL); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = _tmp47_; +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp49_ = box_get_height (&adj_crop); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50_ = g_strdup_printf ("%i", _tmp49_); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp51_ = _tmp50_; +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52_ = g_strconcat (_tmp48_, _tmp51_, NULL); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp53_ = _tmp52_; +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp51_); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp48_); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp46_); +#line 1818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + text = _tmp53_; +#line 1819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp54_ = *crop; +#line 1819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55_ = _tmp54_.left; +#line 1819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp56_ = box_get_width (crop); +#line 1819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x = _tmp55_ + (_tmp56_ / 2); +#line 1820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp57_ = *crop; +#line 1820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58_ = _tmp57_.top; +#line 1820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp59_ = box_get_height (crop); +#line 1820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y = _tmp58_ + (_tmp59_ / 2); +#line 1821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp60_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61_ = self->priv->text_ctx; +#line 1821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp62_ = text; +#line 1821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp63_ = x; +#line 1821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp64_ = y; +#line 1821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_text (_tmp60_, _tmp61_, _tmp62_, _tmp63_, _tmp64_, TRUE); +#line 1803 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (text); +#line 12131 "EditingTools.c" + } +#line 1825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp65_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp66_ = self->priv->wide_black_ctx; +#line 1825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp67_ = *crop; +#line 1825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_box (_tmp65_, _tmp66_, &_tmp67_); +#line 1826 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp68_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1826 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp69_ = self->priv->wide_white_ctx; +#line 1826 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_reduced (crop, 1, &_tmp70_); +#line 1826 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_box (_tmp68_, _tmp69_, &_tmp70_); +#line 1827 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp71_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1827 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp72_ = self->priv->wide_white_ctx; +#line 1827 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + box_get_reduced (crop, 2, &_tmp73_); +#line 1827 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_box (_tmp71_, _tmp72_, &_tmp73_); +#line 12157 "EditingTools.c" +} + + +static EditingToolsCropToolConstraintDescription* editing_tools_crop_tool_constraint_description_construct (GType object_type, const gchar* new_name, gint new_basis_width, gint new_basis_height, gboolean new_pivotable, gfloat new_aspect_ratio) { + EditingToolsCropToolConstraintDescription* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gfloat _tmp4_ = 0.0F; + gboolean _tmp8_ = FALSE; +#line 614 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (new_name != NULL, NULL); +#line 614 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsCropToolConstraintDescription*) g_type_create_instance (object_type); +#line 616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = new_name; +#line 616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (self->name); +#line 616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->name = _tmp1_; +#line 617 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = new_basis_width; +#line 617 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->basis_width = _tmp2_; +#line 618 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = new_basis_height; +#line 618 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->basis_height = _tmp3_; +#line 619 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = new_aspect_ratio; +#line 619 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp4_ == EDITING_TOOLS_CROP_TOOL_COMPUTE_FROM_BASIS) { +#line 12193 "EditingTools.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 620 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->basis_width; +#line 620 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->basis_height; +#line 620 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->aspect_ratio = ((gfloat) _tmp5_) / ((gfloat) _tmp6_); +#line 12202 "EditingTools.c" + } else { + gfloat _tmp7_ = 0.0F; +#line 622 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = new_aspect_ratio; +#line 622 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->aspect_ratio = _tmp7_; +#line 12209 "EditingTools.c" + } +#line 623 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = new_pivotable; +#line 623 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->is_pivotable = _tmp8_; +#line 614 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 12217 "EditingTools.c" +} + + +static EditingToolsCropToolConstraintDescription* editing_tools_crop_tool_constraint_description_new (const gchar* new_name, gint new_basis_width, gint new_basis_height, gboolean new_pivotable, gfloat new_aspect_ratio) { +#line 614 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_crop_tool_constraint_description_construct (EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION, new_name, new_basis_width, new_basis_height, new_pivotable, new_aspect_ratio); +#line 12224 "EditingTools.c" +} + + +static gboolean editing_tools_crop_tool_constraint_description_is_separator (EditingToolsCropToolConstraintDescription* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 626 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_CROP_TOOL_IS_CONSTRAINT_DESCRIPTION (self), FALSE); +#line 627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->is_pivotable; +#line 627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp1_) { +#line 12238 "EditingTools.c" + gfloat _tmp2_ = 0.0F; +#line 627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->aspect_ratio; +#line 627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = _tmp2_ == EDITING_TOOLS_CROP_TOOL_SEPARATOR; +#line 12244 "EditingTools.c" + } else { +#line 627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = FALSE; +#line 12248 "EditingTools.c" + } +#line 627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp0_; +#line 627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 12254 "EditingTools.c" +} + + +static void editing_tools_crop_tool_value_constraint_description_init (GValue* value) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 12261 "EditingTools.c" +} + + +static void editing_tools_crop_tool_value_constraint_description_free_value (GValue* value) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (value->data[0].v_pointer) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constraint_description_unref (value->data[0].v_pointer); +#line 12270 "EditingTools.c" + } +} + + +static void editing_tools_crop_tool_value_constraint_description_copy_value (const GValue* src_value, GValue* dest_value) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (src_value->data[0].v_pointer) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dest_value->data[0].v_pointer = editing_tools_crop_tool_constraint_description_ref (src_value->data[0].v_pointer); +#line 12280 "EditingTools.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dest_value->data[0].v_pointer = NULL; +#line 12284 "EditingTools.c" + } +} + + +static gpointer editing_tools_crop_tool_value_constraint_description_peek_pointer (const GValue* value) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return value->data[0].v_pointer; +#line 12292 "EditingTools.c" +} + + +static gchar* editing_tools_crop_tool_value_constraint_description_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (collect_values[0].v_pointer) { +#line 12299 "EditingTools.c" + EditingToolsCropToolConstraintDescription* object; + object = collect_values[0].v_pointer; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (object->parent_instance.g_class == NULL) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 12306 "EditingTools.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 12310 "EditingTools.c" + } +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = editing_tools_crop_tool_constraint_description_ref (object); +#line 12314 "EditingTools.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 12318 "EditingTools.c" + } +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return NULL; +#line 12322 "EditingTools.c" +} + + +static gchar* editing_tools_crop_tool_value_constraint_description_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + EditingToolsCropToolConstraintDescription** object_p; + object_p = collect_values[0].v_pointer; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!object_p) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 12333 "EditingTools.c" + } +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!value->data[0].v_pointer) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = NULL; +#line 12339 "EditingTools.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = value->data[0].v_pointer; +#line 12343 "EditingTools.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *object_p = editing_tools_crop_tool_constraint_description_ref (value->data[0].v_pointer); +#line 12347 "EditingTools.c" + } +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return NULL; +#line 12351 "EditingTools.c" +} + + +static GParamSpec* editing_tools_crop_tool_param_spec_constraint_description (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + EditingToolsCropToolParamSpecConstraintDescription* spec; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (g_type_is_a (object_type, EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION), NULL); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return G_PARAM_SPEC (spec); +#line 12365 "EditingTools.c" +} + + +static gpointer editing_tools_crop_tool_value_get_constraint_description (const GValue* value) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION), NULL); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return value->data[0].v_pointer; +#line 12374 "EditingTools.c" +} + + +static void editing_tools_crop_tool_value_set_constraint_description (GValue* value, gpointer v_object) { + EditingToolsCropToolConstraintDescription* old; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION)); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old = value->data[0].v_pointer; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (v_object) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION)); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = v_object; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constraint_description_ref (value->data[0].v_pointer); +#line 12394 "EditingTools.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 12398 "EditingTools.c" + } +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (old) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constraint_description_unref (old); +#line 12404 "EditingTools.c" + } +} + + +static void editing_tools_crop_tool_value_take_constraint_description (GValue* value, gpointer v_object) { + EditingToolsCropToolConstraintDescription* old; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION)); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old = value->data[0].v_pointer; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (v_object) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION)); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = v_object; +#line 12423 "EditingTools.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + value->data[0].v_pointer = NULL; +#line 12427 "EditingTools.c" + } +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (old) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constraint_description_unref (old); +#line 12433 "EditingTools.c" + } +} + + +static void editing_tools_crop_tool_constraint_description_class_init (EditingToolsCropToolConstraintDescriptionClass * klass) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_constraint_description_parent_class = g_type_class_peek_parent (klass); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsCropToolConstraintDescriptionClass *) klass)->finalize = editing_tools_crop_tool_constraint_description_finalize; +#line 12443 "EditingTools.c" +} + + +static void editing_tools_crop_tool_constraint_description_instance_init (EditingToolsCropToolConstraintDescription * self) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->ref_count = 1; +#line 12450 "EditingTools.c" +} + + +static void editing_tools_crop_tool_constraint_description_finalize (EditingToolsCropToolConstraintDescription* obj) { + EditingToolsCropToolConstraintDescription * self; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_CROP_TOOL_TYPE_CONSTRAINT_DESCRIPTION, EditingToolsCropToolConstraintDescription); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_destroy (self); +#line 608 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (self->name); +#line 12462 "EditingTools.c" +} + + +static GType editing_tools_crop_tool_constraint_description_get_type (void) { + static volatile gsize editing_tools_crop_tool_constraint_description_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_crop_tool_constraint_description_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { editing_tools_crop_tool_value_constraint_description_init, editing_tools_crop_tool_value_constraint_description_free_value, editing_tools_crop_tool_value_constraint_description_copy_value, editing_tools_crop_tool_value_constraint_description_peek_pointer, "p", editing_tools_crop_tool_value_constraint_description_collect_value, "p", editing_tools_crop_tool_value_constraint_description_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsCropToolConstraintDescriptionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_crop_tool_constraint_description_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsCropToolConstraintDescription), 0, (GInstanceInitFunc) editing_tools_crop_tool_constraint_description_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType editing_tools_crop_tool_constraint_description_type_id; + editing_tools_crop_tool_constraint_description_type_id = g_type_register_fundamental (g_type_fundamental_next (), "EditingToolsCropToolConstraintDescription", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&editing_tools_crop_tool_constraint_description_type_id__volatile, editing_tools_crop_tool_constraint_description_type_id); + } + return editing_tools_crop_tool_constraint_description_type_id__volatile; +} + + +static gpointer editing_tools_crop_tool_constraint_description_ref (gpointer instance) { + EditingToolsCropToolConstraintDescription* self; + self = instance; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_atomic_int_inc (&self->ref_count); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return instance; +#line 12487 "EditingTools.c" +} + + +static void editing_tools_crop_tool_constraint_description_unref (gpointer instance) { + EditingToolsCropToolConstraintDescription* self; + self = instance; +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_CROP_TOOL_CONSTRAINT_DESCRIPTION_GET_CLASS (self)->finalize (self); +#line 607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 12500 "EditingTools.c" + } +} + + +static gboolean _editing_tools_crop_tool_crop_tool_window_constraint_combo_separator_func_gtk_tree_view_row_separator_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self) { + gboolean result; + result = editing_tools_crop_tool_crop_tool_window_constraint_combo_separator_func (model, iter); +#line 675 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 12510 "EditingTools.c" +} + + +static EditingToolsCropToolCropToolWindow* editing_tools_crop_tool_crop_tool_window_construct (GType object_type, GtkWindow* container) { + EditingToolsCropToolCropToolWindow * self = NULL; + GtkWindow* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GtkButton* _tmp6_ = NULL; + GtkComboBox* _tmp7_ = NULL; + GtkCellRendererText* combo_text_renderer = NULL; + GtkCellRendererText* _tmp8_ = NULL; + GtkComboBox* _tmp9_ = NULL; + GtkComboBox* _tmp10_ = NULL; + GtkComboBox* _tmp11_ = NULL; + GtkComboBox* _tmp12_ = NULL; + GtkButton* _tmp13_ = NULL; + GtkImage* _tmp14_ = NULL; + GtkImage* _tmp15_ = NULL; + GtkButton* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + GtkEntry* _tmp18_ = NULL; + GtkEntry* _tmp19_ = NULL; + GtkEntry* _tmp20_ = NULL; + GtkEntry* _tmp21_ = NULL; + GtkBox* _tmp22_ = NULL; + GtkBox* _tmp23_ = NULL; + GtkBox* _tmp24_ = NULL; + GtkButton* _tmp25_ = NULL; + GtkBox* _tmp26_ = NULL; + GtkButton* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; + GtkBox* _tmp29_ = NULL; + GtkComboBox* _tmp30_ = NULL; + GtkBox* _tmp31_ = NULL; + GtkButton* _tmp32_ = NULL; + GtkBox* _tmp33_ = NULL; + GtkBox* _tmp34_ = NULL; + GtkBox* _tmp35_ = NULL; +#line 662 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GTK_IS_WINDOW (container), NULL); +#line 663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = container; +#line 663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsCropToolCropToolWindow*) editing_tools_editing_tool_window_construct (object_type, _tmp0_); +#line 665 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->cancel_button; +#line 665 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _ ("Return to current photo dimensions"); +#line 665 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), _tmp2_); +#line 666 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->cancel_button; +#line 666 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_button_set_image_position (_tmp3_, GTK_POS_LEFT); +#line 668 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->ok_button; +#line 668 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _ ("Set the crop for this photo"); +#line 668 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), _tmp5_); +#line 669 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->ok_button; +#line 669 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_button_set_image_position (_tmp6_, GTK_POS_LEFT); +#line 671 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = (GtkComboBox*) gtk_combo_box_new (); +#line 671 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp7_); +#line 671 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->constraint_combo); +#line 671 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->constraint_combo = _tmp7_; +#line 672 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 672 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp8_); +#line 672 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + combo_text_renderer = _tmp8_; +#line 673 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->constraint_combo; +#line 673 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (combo_text_renderer, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 674 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->constraint_combo; +#line 674 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (combo_text_renderer, gtk_cell_renderer_get_type (), GtkCellRenderer), "text", 0); +#line 675 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->constraint_combo; +#line 675 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_combo_box_set_row_separator_func (_tmp11_, _editing_tools_crop_tool_crop_tool_window_constraint_combo_separator_func_gtk_tree_view_row_separator_func, NULL, NULL); +#line 676 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->constraint_combo; +#line 676 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_combo_box_set_active (_tmp12_, 0); +#line 678 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->pivot_reticle_button; +#line 678 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = (GtkImage*) gtk_image_new_from_stock (RESOURCES_CROP_PIVOT_RETICLE, GTK_ICON_SIZE_SMALL_TOOLBAR); +#line 678 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp14_); +#line 678 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_; +#line 678 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_button_set_image (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget)); +#line 678 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp15_); +#line 680 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = self->pivot_reticle_button; +#line 680 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _ ("Pivot the crop rectangle between portrait and landscape orientations"); +#line 680 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), _tmp17_); +#line 682 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->custom_width_entry; +#line 682 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_width_chars (_tmp18_, 4); +#line 683 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = self->custom_width_entry; +#line 683 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_set (_tmp19_, "editable", TRUE, NULL); +#line 684 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = self->custom_height_entry; +#line 684 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_entry_set_width_chars (_tmp20_, 4); +#line 685 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->custom_height_entry; +#line 685 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_set (_tmp21_, "editable", TRUE, NULL); +#line 687 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, EDITING_TOOLS_CROP_TOOL_CROP_TOOL_WINDOW_CONTROL_SPACING); +#line 687 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp22_); +#line 687 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->response_layout); +#line 687 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->response_layout = _tmp22_; +#line 688 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->response_layout; +#line 688 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_box_set_homogeneous (_tmp23_, TRUE); +#line 689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->response_layout; +#line 689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = self->cancel_button; +#line 689 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget)); +#line 690 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = self->response_layout; +#line 690 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = self->ok_button; +#line 690 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget)); +#line 692 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, EDITING_TOOLS_CROP_TOOL_CROP_TOOL_WINDOW_CONTROL_SPACING); +#line 692 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp28_); +#line 692 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->layout); +#line 692 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->layout = _tmp28_; +#line 693 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->layout; +#line 693 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = self->constraint_combo; +#line 693 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_widget_get_type (), GtkWidget)); +#line 694 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = self->layout; +#line 694 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = self->pivot_reticle_button; +#line 694 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget)); +#line 695 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = self->layout; +#line 695 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = self->response_layout; +#line 695 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget)); +#line 697 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = self->layout; +#line 697 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_widget_get_type (), GtkWidget)); +#line 662 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (combo_text_renderer); +#line 662 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 12701 "EditingTools.c" +} + + +static EditingToolsCropToolCropToolWindow* editing_tools_crop_tool_crop_tool_window_new (GtkWindow* container) { +#line 662 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_crop_tool_crop_tool_window_construct (EDITING_TOOLS_CROP_TOOL_TYPE_CROP_TOOL_WINDOW, container); +#line 12708 "EditingTools.c" +} + + +static gboolean editing_tools_crop_tool_crop_tool_window_constraint_combo_separator_func (GtkTreeModel* model, GtkTreeIter* iter) { + gboolean result = FALSE; + GValue val = {0}; + GtkTreeModel* _tmp0_ = NULL; + GtkTreeIter _tmp1_ = {0}; + GValue _tmp2_ = {0}; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 700 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE); +#line 700 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (iter != NULL, FALSE); +#line 702 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = model; +#line 702 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = *iter; +#line 702 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_tree_model_get_value (_tmp0_, &_tmp1_, 0, &_tmp2_); +#line 702 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_IS_VALUE (&val) ? (g_value_unset (&val), NULL) : NULL; +#line 702 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + val = _tmp2_; +#line 704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = g_value_dup_string (&val); +#line 704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = g_strcmp0 (_tmp4_, "-") == 0; +#line 704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_free0 (_tmp4_); +#line 704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp5_; +#line 704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_IS_VALUE (&val) ? (g_value_unset (&val), NULL) : NULL; +#line 704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 12749 "EditingTools.c" +} + + +static void editing_tools_crop_tool_crop_tool_window_class_init (EditingToolsCropToolCropToolWindowClass * klass) { +#line 646 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_crop_tool_window_parent_class = g_type_class_peek_parent (klass); +#line 646 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_crop_tool_crop_tool_window_finalize; +#line 12758 "EditingTools.c" +} + + +static void editing_tools_crop_tool_crop_tool_window_instance_init (EditingToolsCropToolCropToolWindow * self) { + GtkButton* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; + GtkEntry* _tmp3_ = NULL; + GtkEntry* _tmp4_ = NULL; + GtkLabel* _tmp5_ = NULL; +#line 649 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = (GtkButton*) gtk_button_new_with_label (RESOURCES_CROP_LABEL); +#line 649 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp0_); +#line 649 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->ok_button = _tmp0_; +#line 650 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = (GtkButton*) gtk_button_new_with_mnemonic (RESOURCES_CANCEL_LABEL); +#line 650 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp1_); +#line 650 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->cancel_button = _tmp1_; +#line 652 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = (GtkButton*) gtk_button_new (); +#line 652 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp2_); +#line 652 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->pivot_reticle_button = _tmp2_; +#line 653 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = (GtkEntry*) gtk_entry_new (); +#line 653 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp3_); +#line 653 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->custom_width_entry = _tmp3_; +#line 654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = (GtkEntry*) gtk_entry_new (); +#line 654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp4_); +#line 654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->custom_height_entry = _tmp4_; +#line 655 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = (GtkLabel*) gtk_label_new_with_mnemonic ("x"); +#line 655 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp5_); +#line 655 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->custom_mulsign_label = _tmp5_; +#line 656 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->most_recently_edited = NULL; +#line 657 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->response_layout = NULL; +#line 658 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->layout = NULL; +#line 659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->normal_width = -1; +#line 660 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->normal_height = -1; +#line 12815 "EditingTools.c" +} + + +static void editing_tools_crop_tool_crop_tool_window_finalize (GObject* obj) { + EditingToolsCropToolCropToolWindow * self; +#line 646 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_CROP_TOOL_TYPE_CROP_TOOL_WINDOW, EditingToolsCropToolCropToolWindow); +#line 649 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->ok_button); +#line 650 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->cancel_button); +#line 651 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->constraint_combo); +#line 652 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->pivot_reticle_button); +#line 653 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->custom_width_entry); +#line 654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->custom_height_entry); +#line 655 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->custom_mulsign_label); +#line 656 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->most_recently_edited); +#line 657 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->response_layout); +#line 658 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->layout); +#line 646 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (editing_tools_crop_tool_crop_tool_window_parent_class)->finalize (obj); +#line 12845 "EditingTools.c" +} + + +static GType editing_tools_crop_tool_crop_tool_window_get_type (void) { + static volatile gsize editing_tools_crop_tool_crop_tool_window_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_crop_tool_crop_tool_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsCropToolCropToolWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_crop_tool_crop_tool_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsCropToolCropToolWindow), 0, (GInstanceInitFunc) editing_tools_crop_tool_crop_tool_window_instance_init, NULL }; + GType editing_tools_crop_tool_crop_tool_window_type_id; + editing_tools_crop_tool_crop_tool_window_type_id = g_type_register_static (EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, "EditingToolsCropToolCropToolWindow", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_crop_tool_crop_tool_window_type_id__volatile, editing_tools_crop_tool_crop_tool_window_type_id); + } + return editing_tools_crop_tool_crop_tool_window_type_id__volatile; +} + + +static void editing_tools_crop_tool_class_init (EditingToolsCropToolClass * klass) { +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_crop_tool_parent_class = g_type_class_peek_parent (klass); +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->finalize = editing_tools_crop_tool_finalize; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsCropToolPrivate)); +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->activate = editing_tools_crop_tool_real_activate; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_keypress = editing_tools_crop_tool_real_on_keypress; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->deactivate = editing_tools_crop_tool_real_deactivate; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->get_tool_window = editing_tools_crop_tool_real_get_tool_window; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->get_display_pixbuf = editing_tools_crop_tool_real_get_display_pixbuf; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_left_click = editing_tools_crop_tool_real_on_left_click; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_left_released = editing_tools_crop_tool_real_on_left_released; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_motion = editing_tools_crop_tool_real_on_motion; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->paint = editing_tools_crop_tool_real_paint; +#line 12886 "EditingTools.c" +} + + +static void editing_tools_crop_tool_instance_init (EditingToolsCropTool * self) { + gint _tmp0_ = 0; + EditingToolsCropToolConstraintDescription** _tmp1_ = NULL; + gint _tmp2_ = 0; + EditingToolsCropToolConstraintDescription** _tmp3_ = NULL; + EditingToolsCropToolConstraintDescription** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkListStore* _tmp5_ = NULL; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_CROP_TOOL_GET_PRIVATE (self); +#line 708 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_tool_window = NULL; +#line 709 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->current_cursor_type = GDK_LEFT_PTR; +#line 710 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->in_manipulation = BOX_LOCATION_OUTSIDE; +#line 711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->wide_black_ctx = NULL; +#line 712 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->wide_white_ctx = NULL; +#line 713 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->thin_white_ctx = NULL; +#line 714 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->text_ctx = NULL; +#line 717 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->crop_surface = NULL; +#line 721 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->last_grab_x = -1; +#line 722 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->last_grab_y = -1; +#line 724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = editing_tools_crop_tool_create_constraints (&_tmp0_); +#line 724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->constraints = _tmp1_; +#line 724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->constraints_length1 = _tmp0_; +#line 724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->_constraints_size_ = self->priv->constraints_length1; +#line 725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = editing_tools_crop_tool_create_constraints (&_tmp2_); +#line 725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4__length1 = _tmp2_; +#line 725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = editing_tools_crop_tool_create_constraint_list (_tmp4_, _tmp2_); +#line 725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->constraint_list = _tmp5_; +#line 725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = (_vala_array_free (_tmp4_, _tmp4__length1, (GDestroyNotify) editing_tools_crop_tool_constraint_description_unref), NULL); +#line 726 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->reticle_orientation = EDITING_TOOLS_CROP_TOOL_RETICLE_ORIENTATION_LANDSCAPE; +#line 727 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->constraint_mode = EDITING_TOOLS_CROP_TOOL_CONSTRAINT_MODE_NORMAL; +#line 728 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->entry_insert_in_progress = FALSE; +#line 729 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_aspect_ratio = 1.0f; +#line 730 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_width = -1; +#line 731 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_height = -1; +#line 732 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_init_width = -1; +#line 733 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->custom_init_height = -1; +#line 734 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->pre_aspect_ratio = EDITING_TOOLS_CROP_TOOL_ANY_ASPECT_RATIO; +#line 12958 "EditingTools.c" +} + + +static void editing_tools_crop_tool_finalize (EditingToolsEditingTool* obj) { + EditingToolsCropTool * self; +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_TYPE_CROP_TOOL, EditingToolsCropTool); +#line 708 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->crop_tool_window); +#line 711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->wide_black_ctx); +#line 712 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->wide_white_ctx); +#line 713 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->thin_white_ctx); +#line 714 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->text_ctx); +#line 717 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_surface_destroy0 (self->priv->crop_surface); +#line 724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->constraints = (_vala_array_free (self->priv->constraints, self->priv->constraints_length1, (GDestroyNotify) editing_tools_crop_tool_constraint_description_unref), NULL); +#line 725 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->constraint_list); +#line 586 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_crop_tool_parent_class)->finalize (obj); +#line 12984 "EditingTools.c" +} + + +GType editing_tools_crop_tool_get_type (void) { + static volatile gsize editing_tools_crop_tool_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_crop_tool_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsCropToolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_crop_tool_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsCropTool), 0, (GInstanceInitFunc) editing_tools_crop_tool_instance_init, NULL }; + GType editing_tools_crop_tool_type_id; + editing_tools_crop_tool_type_id = g_type_register_static (EDITING_TOOLS_TYPE_EDITING_TOOL, "EditingToolsCropTool", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_crop_tool_type_id__volatile, editing_tools_crop_tool_type_id); + } + return editing_tools_crop_tool_type_id__volatile; +} + + +static void editing_tools_redeye_instance_init (EditingToolsRedeyeInstance *self) { + GdkPoint default_center = {0}; + GdkPoint _tmp0_ = {0}; +#line 1840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + memset (self, 0, sizeof (EditingToolsRedeyeInstance)); +#line 1841 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + memset (&default_center, 0, sizeof (GdkPoint)); +#line 1842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = default_center; +#line 1842 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*self).center = _tmp0_; +#line 1843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + (*self).radius = EDITING_TOOLS_REDEYE_INSTANCE_DEFAULT_RADIUS; +#line 13013 "EditingTools.c" +} + + +void editing_tools_redeye_instance_to_bounds_rect (EditingToolsRedeyeInstance* inst, GdkRectangle* result) { + GdkRectangle _result_ = {0}; + EditingToolsRedeyeInstance _tmp0_ = {0}; + GdkPoint _tmp1_ = {0}; + gint _tmp2_ = 0; + EditingToolsRedeyeInstance _tmp3_ = {0}; + gint _tmp4_ = 0; + EditingToolsRedeyeInstance _tmp5_ = {0}; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + EditingToolsRedeyeInstance _tmp8_ = {0}; + gint _tmp9_ = 0; + EditingToolsRedeyeInstance _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 1846 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (inst != NULL); +#line 1847 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + memset (&_result_, 0, sizeof (GdkRectangle)); +#line 1848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = *inst; +#line 1848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_.center; +#line 1848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_.x; +#line 1848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = *inst; +#line 1848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.radius; +#line 1848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.x = _tmp2_ - _tmp4_; +#line 1849 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = *inst; +#line 1849 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.center; +#line 1849 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.y; +#line 1849 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = *inst; +#line 1849 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.radius; +#line 1849 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.y = _tmp7_ - _tmp9_; +#line 1850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = *inst; +#line 1850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_.radius; +#line 1850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.width = 2 * _tmp11_; +#line 1851 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _result_; +#line 1851 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.width; +#line 1851 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.height = _tmp13_; +#line 1853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _result_; +#line 1853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 13077 "EditingTools.c" +} + + +void editing_tools_redeye_instance_from_bounds_rect (GdkRectangle* rect, EditingToolsRedeyeInstance* result) { + GdkRectangle in_rect = {0}; + GdkRectangle _tmp0_ = {0}; + EditingToolsRedeyeInstance _result_ = {0}; + GdkRectangle _tmp1_ = {0}; + gint _tmp2_ = 0; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + EditingToolsRedeyeInstance _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + EditingToolsRedeyeInstance _tmp11_ = {0}; + gint _tmp12_ = 0; +#line 1856 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (rect != NULL); +#line 1857 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = *rect; +#line 1857 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + in_rect = _tmp0_; +#line 1859 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_instance_init (&_result_); +#line 1860 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = in_rect; +#line 1860 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_.width; +#line 1860 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = in_rect; +#line 1860 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.height; +#line 1860 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.radius = (_tmp2_ + _tmp4_) / 4; +#line 1861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = in_rect; +#line 1861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.x; +#line 1861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _result_; +#line 1861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.radius; +#line 1861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.center.x = _tmp6_ + _tmp8_; +#line 1862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = in_rect; +#line 1862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.y; +#line 1862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _result_; +#line 1862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.radius; +#line 1862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.center.y = _tmp10_ + _tmp12_; +#line 1864 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _result_; +#line 1864 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 13139 "EditingTools.c" +} + + +EditingToolsRedeyeInstance* editing_tools_redeye_instance_dup (const EditingToolsRedeyeInstance* self) { + EditingToolsRedeyeInstance* dup; +#line 1832 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dup = g_new0 (EditingToolsRedeyeInstance, 1); +#line 1832 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + memcpy (dup, self, sizeof (EditingToolsRedeyeInstance)); +#line 1832 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return dup; +#line 13151 "EditingTools.c" +} + + +void editing_tools_redeye_instance_free (EditingToolsRedeyeInstance* self) { +#line 1832 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_free (self); +#line 13158 "EditingTools.c" +} + + +GType editing_tools_redeye_instance_get_type (void) { + static volatile gsize editing_tools_redeye_instance_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_redeye_instance_type_id__volatile)) { + GType editing_tools_redeye_instance_type_id; + editing_tools_redeye_instance_type_id = g_boxed_type_register_static ("EditingToolsRedeyeInstance", (GBoxedCopyFunc) editing_tools_redeye_instance_dup, (GBoxedFreeFunc) editing_tools_redeye_instance_free); + g_once_init_leave (&editing_tools_redeye_instance_type_id__volatile, editing_tools_redeye_instance_type_id); + } + return editing_tools_redeye_instance_type_id__volatile; +} + + +static EditingToolsRedeyeTool* editing_tools_redeye_tool_construct (GType object_type) { + EditingToolsRedeyeTool* self = NULL; +#line 1916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsRedeyeTool*) editing_tools_editing_tool_construct (object_type, "RedeyeTool"); +#line 1915 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 13179 "EditingTools.c" +} + + +static EditingToolsRedeyeTool* editing_tools_redeye_tool_new (void) { +#line 1915 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_redeye_tool_construct (EDITING_TOOLS_TYPE_REDEYE_TOOL); +#line 13186 "EditingTools.c" +} + + +EditingToolsRedeyeTool* editing_tools_redeye_tool_factory (void) { + EditingToolsRedeyeTool* result = NULL; + EditingToolsRedeyeTool* _tmp0_ = NULL; +#line 1920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = editing_tools_redeye_tool_new (); +#line 1920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp0_; +#line 1920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 13199 "EditingTools.c" +} + + +gboolean editing_tools_redeye_tool_is_available (Photo* photo, Scaling* scaling) { + gboolean result = FALSE; + Dimensions dim = {0}; + Photo* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; +#line 1923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), FALSE); +#line 1923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 1924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = photo; +#line 1924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp1_); +#line 1924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scaling_get_scaled_dimensions (scaling, &_tmp1_, &_tmp2_); +#line 1924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dim = _tmp2_; +#line 1926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = dim; +#line 1926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_.width; +#line 1926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_ >= (EDITING_TOOLS_REDEYE_INSTANCE_MAX_RADIUS * 2)) { +#line 13230 "EditingTools.c" + Dimensions _tmp6_ = {0}; + gint _tmp7_ = 0; +#line 1927 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = dim; +#line 1927 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.height; +#line 1927 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp7_ >= (EDITING_TOOLS_REDEYE_INSTANCE_MAX_RADIUS * 2); +#line 13239 "EditingTools.c" + } else { +#line 1926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = FALSE; +#line 13243 "EditingTools.c" + } +#line 1926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp3_; +#line 1926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 13249 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_new_interaction_instance (EditingToolsRedeyeTool* self, EditingToolsPhotoCanvas* canvas, EditingToolsRedeyeInstance* result) { + GdkRectangle photo_bounds = {0}; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + GdkPoint photo_center = {0}; + GdkPoint _tmp2_ = {0}; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; + EditingToolsRedeyeInstance _result_ = {0}; + GdkPoint _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkPoint _tmp13_ = {0}; + gint _tmp14_ = 0; +#line 1930 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 1930 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 1931 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 1931 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp0_, &_tmp1_); +#line 1931 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_bounds = _tmp1_; +#line 1932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_.x = 0; +#line 1932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_center = _tmp2_; +#line 1933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = photo_bounds; +#line 1933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.x; +#line 1933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = photo_bounds; +#line 1933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.width; +#line 1933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_center.x = _tmp4_ + (_tmp6_ / 2); +#line 1934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = photo_bounds; +#line 1934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.y; +#line 1934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = photo_bounds; +#line 1934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.height; +#line 1934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_center.y = _tmp8_ + (_tmp10_ / 2); +#line 1936 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_instance_init (&_result_); +#line 1937 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = photo_center; +#line 1937 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.x; +#line 1937 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.center.x = _tmp12_; +#line 1938 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = photo_center; +#line 1938 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_.y; +#line 1938 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.center.y = _tmp14_; +#line 1939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _result_.radius = EDITING_TOOLS_REDEYE_INSTANCE_DEFAULT_RADIUS; +#line 1941 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *result = _result_; +#line 1941 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 13326 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_prepare_ctx (EditingToolsRedeyeTool* self, cairo_t* ctx, Dimensions* dim) { + cairo_t* _tmp0_ = NULL; + cairo_surface_t* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + cairo_t* _tmp3_ = NULL; + cairo_t* _tmp4_ = NULL; + cairo_t* _tmp5_ = NULL; + cairo_surface_t* _tmp6_ = NULL; + cairo_t* _tmp7_ = NULL; + cairo_t* _tmp8_ = NULL; + cairo_t* _tmp9_ = NULL; +#line 1944 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 1944 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 1944 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (dim != NULL); +#line 1945 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = ctx; +#line 1945 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = cairo_get_target (_tmp0_); +#line 1945 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = cairo_create (_tmp1_); +#line 1945 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->wider_gray_ctx); +#line 1945 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->wider_gray_ctx = _tmp2_; +#line 1946 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->wider_gray_ctx; +#line 1946 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp3_, "#111"); +#line 1947 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->wider_gray_ctx; +#line 1947 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_line_width (_tmp4_, (gdouble) 3); +#line 1949 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = ctx; +#line 1949 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = cairo_get_target (_tmp5_); +#line 1949 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = cairo_create (_tmp6_); +#line 1949 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->thin_white_ctx); +#line 1949 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->thin_white_ctx = _tmp7_; +#line 1950 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->thin_white_ctx; +#line 1950 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + set_source_color_from_string (_tmp8_, "#FFF"); +#line 1951 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->thin_white_ctx; +#line 1951 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cairo_set_line_width (_tmp9_, (gdouble) 1); +#line 13383 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_draw_redeye_instance (EditingToolsRedeyeTool* self, EditingToolsRedeyeInstance* inst) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + EditingToolsRedeyeInstance _tmp2_ = {0}; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + EditingToolsRedeyeInstance _tmp5_ = {0}; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + EditingToolsRedeyeInstance _tmp8_ = {0}; + gint _tmp9_ = 0; + EditingToolsPhotoCanvas* _tmp10_ = NULL; + cairo_t* _tmp11_ = NULL; + EditingToolsRedeyeInstance _tmp12_ = {0}; + GdkPoint _tmp13_ = {0}; + gint _tmp14_ = 0; + EditingToolsRedeyeInstance _tmp15_ = {0}; + GdkPoint _tmp16_ = {0}; + gint _tmp17_ = 0; + EditingToolsRedeyeInstance _tmp18_ = {0}; + gint _tmp19_ = 0; +#line 1954 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 1954 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (inst != NULL); +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->wider_gray_ctx; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = *inst; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_.center; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.x; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = *inst; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.center; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.y; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = *inst; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.radius; +#line 1955 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_circle (_tmp0_, _tmp1_, _tmp4_, _tmp7_, _tmp9_); +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->thin_white_ctx; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = *inst; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.center; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_.x; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = *inst; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.center; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp16_.y; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = *inst; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_.radius; +#line 1957 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_draw_circle (_tmp10_, _tmp11_, _tmp14_, _tmp17_, _tmp19_); +#line 13456 "EditingTools.c" +} + + +static gboolean editing_tools_redeye_tool_on_size_slider_adjust (EditingToolsRedeyeTool* self, GtkScrollType type) { + gboolean result = FALSE; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + EditingToolsPhotoCanvas* _tmp3_ = NULL; +#line 1961 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self), FALSE); +#line 1962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->redeye_tool_window; +#line 1962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->slider; +#line 1962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 1962 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.radius = (gint) _tmp2_; +#line 1965 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1965 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp3_); +#line 1967 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 1967 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 13484 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_on_apply (EditingToolsRedeyeTool* self) { + GdkRectangle bounds_rect_user = {0}; + EditingToolsRedeyeInstance _tmp0_ = {0}; + GdkRectangle _tmp1_ = {0}; + GdkRectangle bounds_rect_active = {0}; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + GdkRectangle _tmp3_ = {0}; + GdkRectangle _tmp4_ = {0}; + GdkRectangle bounds_rect_unscaled = {0}; + EditingToolsPhotoCanvas* _tmp5_ = NULL; + GdkRectangle _tmp6_ = {0}; + GdkRectangle _tmp7_ = {0}; + GdkRectangle bounds_rect_raw = {0}; + EditingToolsPhotoCanvas* _tmp8_ = NULL; + GdkRectangle _tmp9_ = {0}; + GdkRectangle _tmp10_ = {0}; + EditingToolsRedeyeInstance instance_raw = {0}; + GdkRectangle _tmp11_ = {0}; + EditingToolsRedeyeInstance _tmp12_ = {0}; + Dimensions dimensions = {0}; + EditingToolsPhotoCanvas* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + Photo* _tmp15_ = NULL; + Dimensions _tmp16_ = {0}; + Dimensions _tmp17_ = {0}; + gdouble theta = 0.0; + EditingToolsPhotoCanvas* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + Photo* _tmp20_ = NULL; + gdouble _tmp21_ = 0.0; + EditingToolsRedeyeInstance _tmp22_ = {0}; + GdkPoint _tmp23_ = {0}; + Dimensions _tmp24_ = {0}; + gint _tmp25_ = 0; + Dimensions _tmp26_ = {0}; + gint _tmp27_ = 0; + gdouble _tmp28_ = 0.0; + GdkPoint _tmp29_ = {0}; + RedeyeCommand* command = NULL; + EditingToolsPhotoCanvas* _tmp30_ = NULL; + Photo* _tmp31_ = NULL; + Photo* _tmp32_ = NULL; + EditingToolsRedeyeInstance _tmp33_ = {0}; + RedeyeCommand* _tmp34_ = NULL; + RedeyeCommand* _tmp35_ = NULL; + CommandManager* _tmp36_ = NULL; + CommandManager* _tmp37_ = NULL; +#line 1970 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 1971 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->user_interaction_instance; +#line 1971 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_instance_to_bounds_rect (&_tmp0_, &_tmp1_); +#line 1971 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bounds_rect_user = _tmp1_; +#line 1974 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1974 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = bounds_rect_user; +#line 1974 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_user_to_active_rect (_tmp2_, &_tmp3_, &_tmp4_); +#line 1974 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bounds_rect_active = _tmp4_; +#line 1976 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1976 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = bounds_rect_active; +#line 1976 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_active_to_unscaled_rect (_tmp5_, &_tmp6_, &_tmp7_); +#line 1976 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bounds_rect_unscaled = _tmp7_; +#line 1978 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1978 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = bounds_rect_unscaled; +#line 1978 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_unscaled_to_raw_rect (_tmp8_, &_tmp9_, &_tmp10_); +#line 1978 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bounds_rect_raw = _tmp10_; +#line 1981 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = bounds_rect_raw; +#line 1981 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_instance_from_bounds_rect (&_tmp11_, &_tmp12_); +#line 1981 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + instance_raw = _tmp12_; +#line 1986 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1986 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = editing_tools_photo_canvas_get_photo (_tmp13_); +#line 1986 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_; +#line 1986 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_STRAIGHTEN | PHOTO_EXCEPTION_CROP, &_tmp16_); +#line 1986 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp16_; +#line 1986 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp15_); +#line 1986 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dimensions = _tmp17_; +#line 1989 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + theta = 0.0; +#line 1991 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1991 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = editing_tools_photo_canvas_get_photo (_tmp18_); +#line 1991 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_; +#line 1991 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo_get_straighten (_tmp20_, &_tmp21_); +#line 1991 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + theta = _tmp21_; +#line 1991 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp20_); +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = instance_raw; +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_.center; +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = dimensions; +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_.width; +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = dimensions; +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = _tmp26_.height; +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = theta; +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + derotate_point_arb (&_tmp23_, _tmp25_, _tmp27_, _tmp28_, &_tmp29_); +#line 1993 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + instance_raw.center = _tmp29_; +#line 1996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 1996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = editing_tools_photo_canvas_get_photo (_tmp30_); +#line 1996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = _tmp31_; +#line 1996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = instance_raw; +#line 1996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = redeye_command_new (_tmp32_, &_tmp33_, RESOURCES_RED_EYE_LABEL, RESOURCES_RED_EYE_TOOLTIP); +#line 1996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = _tmp34_; +#line 1996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp32_); +#line 1996 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command = _tmp35_; +#line 1998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = app_window_get_command_manager (); +#line 1998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = _tmp36_; +#line 1998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command_manager_execute (_tmp37_, G_TYPE_CHECK_INSTANCE_CAST (command, TYPE_COMMAND, Command)); +#line 1998 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _command_manager_unref0 (_tmp37_); +#line 1970 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (command); +#line 13645 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_on_photos_altered (EditingToolsRedeyeTool* self, GeeMap* map) { + GeeMap* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + EditingToolsPhotoCanvas* _tmp17_ = NULL; + GError * _inner_error_ = NULL; +#line 2001 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 2001 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 2002 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = map; +#line 2002 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2002 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = editing_tools_photo_canvas_get_photo (_tmp1_); +#line 2002 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 2002 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 2002 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = !_tmp4_; +#line 2002 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp3_); +#line 2002 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_) { +#line 2003 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 13680 "EditingTools.c" + } + { + GdkPixbuf* _tmp6_ = NULL; + EditingToolsPhotoCanvas* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + EditingToolsPhotoCanvas* _tmp10_ = NULL; + Scaling _tmp11_ = {0}; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = editing_tools_photo_canvas_get_photo (_tmp7_); +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_; +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaling (_tmp10_, &_tmp11_); +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp11_, &_inner_error_); +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_; +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp9_); +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp13_; +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 13712 "EditingTools.c" + goto __catch20_g_error; + } +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp6_; +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = NULL; +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->current_pixbuf); +#line 2006 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->current_pixbuf = _tmp14_; +#line 2005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp6_); +#line 13725 "EditingTools.c" + } + goto __finally20; + __catch20_g_error: + { + GError* err = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 2005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + err = _inner_error_; +#line 2005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _inner_error_ = NULL; +#line 2008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = err; +#line 2008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_->message; +#line 2008 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_warning ("EditingTools.vala:2008: %s", _tmp16_); +#line 2009 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), "aborted"); +#line 2011 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_error_free0 (err); +#line 2011 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 13749 "EditingTools.c" + } + __finally20: +#line 2005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.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 2005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_clear_error (&_inner_error_); +#line 2005 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 13760 "EditingTools.c" + } +#line 2014 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2014 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp17_); +#line 13766 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_on_close (EditingToolsRedeyeTool* self) { + GdkPixbuf* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; +#line 2017 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 2018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->current_pixbuf; +#line 2018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = editing_tools_photo_canvas_get_photo (_tmp1_); +#line 2018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 2018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp4_); +#line 2018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), "applied", NULL, _tmp0_, &_tmp4_, FALSE); +#line 2018 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp3_); +#line 13792 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_on_canvas_resize (EditingToolsRedeyeTool* self) { + GdkRectangle scaled_pixbuf_position = {0}; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + gint _tmp2_ = 0; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + gdouble scale_factor = 0.0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + EditingToolsRedeyeInstance _tmp12_ = {0}; + GdkPoint _tmp13_ = {0}; + gint _tmp14_ = 0; + EditingToolsRedeyeInstance _tmp15_ = {0}; + GdkPoint _tmp16_ = {0}; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + GdkRectangle _tmp19_ = {0}; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + GdkRectangle _tmp22_ = {0}; + gint _tmp23_ = 0; + GdkRectangle _tmp24_ = {0}; +#line 2021 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 2022 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2022 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp0_, &_tmp1_); +#line 2022 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scaled_pixbuf_position = _tmp1_; +#line 2025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->user_interaction_instance.center.x; +#line 2025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->old_scaled_pixbuf_position; +#line 2025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.x; +#line 2025 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.x = _tmp2_ - _tmp4_; +#line 2026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->user_interaction_instance.center.y; +#line 2026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->old_scaled_pixbuf_position; +#line 2026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_.y; +#line 2026 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.y = _tmp5_ - _tmp7_; +#line 2028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = scaled_pixbuf_position; +#line 2028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.width; +#line 2028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->old_scaled_pixbuf_position; +#line 2028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_.width; +#line 2028 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + scale_factor = ((gdouble) _tmp9_) / ((gdouble) _tmp11_); +#line 2031 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->user_interaction_instance; +#line 2031 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_.center; +#line 2031 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_.x; +#line 2031 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.x = (gint) ((((gdouble) _tmp14_) * scale_factor) + 0.5); +#line 2034 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->user_interaction_instance; +#line 2034 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.center; +#line 2034 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp16_.y; +#line 2034 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.y = (gint) ((((gdouble) _tmp17_) * scale_factor) + 0.5); +#line 2038 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->user_interaction_instance.center.x; +#line 2038 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = scaled_pixbuf_position; +#line 2038 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_.x; +#line 2038 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.x = _tmp18_ + _tmp20_; +#line 2039 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->user_interaction_instance.center.y; +#line 2039 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = scaled_pixbuf_position; +#line 2039 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_.y; +#line 2039 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.y = _tmp21_ + _tmp23_; +#line 2041 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = scaled_pixbuf_position; +#line 2041 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->old_scaled_pixbuf_position = _tmp24_; +#line 2043 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->current_pixbuf); +#line 2043 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->current_pixbuf = NULL; +#line 13898 "EditingTools.c" +} + + +static void _editing_tools_redeye_tool_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 2066 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_on_photos_altered ((EditingToolsRedeyeTool*) self, items); +#line 13905 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_real_activate (EditingToolsEditingTool* base, EditingToolsPhotoCanvas* canvas) { + EditingToolsRedeyeTool * self; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsRedeyeInstance _tmp1_ = {0}; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + cairo_t* _tmp3_ = NULL; + cairo_t* _tmp4_ = NULL; + EditingToolsPhotoCanvas* _tmp5_ = NULL; + Dimensions _tmp6_ = {0}; + EditingToolsPhotoCanvas* _tmp7_ = NULL; + EditingToolsPhotoCanvas* _tmp8_ = NULL; + GdkRectangle _tmp9_ = {0}; + EditingToolsPhotoCanvas* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + EditingToolsPhotoCanvas* _tmp12_ = NULL; + GtkWindow* _tmp13_ = NULL; + GtkWindow* _tmp14_ = NULL; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp15_ = NULL; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp16_ = NULL; + GtkScale* _tmp17_ = NULL; + EditingToolsRedeyeInstance _tmp18_ = {0}; + gint _tmp19_ = 0; + GdkCursor* _tmp20_ = NULL; + GdkCursor* _tmp21_ = NULL; + DataCollection* owner = NULL; + EditingToolsPhotoCanvas* _tmp22_ = NULL; + Photo* _tmp23_ = NULL; + Photo* _tmp24_ = NULL; + DataCollection* _tmp25_ = NULL; + DataCollection* _tmp26_ = NULL; + DataCollection* _tmp27_ = NULL; + EditingToolsPhotoCanvas* _tmp29_ = NULL; +#line 2046 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 2046 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 2047 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 2047 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_new_interaction_instance (self, _tmp0_, &_tmp1_); +#line 2047 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance = _tmp1_; +#line 2049 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = canvas; +#line 2049 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = editing_tools_photo_canvas_get_default_ctx (_tmp2_); +#line 2049 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 2049 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = canvas; +#line 2049 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_surface_dim (_tmp5_, &_tmp6_); +#line 2049 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_prepare_ctx (self, _tmp4_, &_tmp6_); +#line 2049 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (_tmp4_); +#line 2051 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = canvas; +#line 2051 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_bind_canvas_handlers (self, _tmp7_); +#line 2053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = canvas; +#line 2053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp8_, &_tmp9_); +#line 2053 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->old_scaled_pixbuf_position = _tmp9_; +#line 2054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = canvas; +#line 2054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = editing_tools_photo_canvas_get_scaled_pixbuf (_tmp10_); +#line 2054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->current_pixbuf); +#line 2054 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->current_pixbuf = _tmp11_; +#line 2056 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = canvas; +#line 2056 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = editing_tools_photo_canvas_get_container (_tmp12_); +#line 2056 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_; +#line 2056 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = editing_tools_redeye_tool_redeye_tool_window_new (_tmp14_); +#line 2056 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp15_); +#line 2056 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->redeye_tool_window); +#line 2056 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->redeye_tool_window = _tmp15_; +#line 2056 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp14_); +#line 2057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = self->priv->redeye_tool_window; +#line 2057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp16_->slider; +#line 2057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->user_interaction_instance; +#line 2057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_.radius; +#line 2057 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_range_get_type (), GtkRange), (gdouble) _tmp19_); +#line 2059 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_bind_window_handlers (self); +#line 2061 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = gdk_cursor_new (GDK_LEFT_PTR); +#line 2061 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->cached_arrow_cursor); +#line 2061 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->cached_arrow_cursor = _tmp20_; +#line 2062 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = gdk_cursor_new (GDK_FLEUR); +#line 2062 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->cached_grab_cursor); +#line 2062 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->cached_grab_cursor = _tmp21_; +#line 2064 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = canvas; +#line 2064 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = editing_tools_photo_canvas_get_photo (_tmp22_); +#line 2064 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = _tmp23_; +#line 2064 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_DATA_OBJECT, DataObject)); +#line 2064 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _tmp25_; +#line 2064 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp24_); +#line 2064 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + owner = _tmp26_; +#line 2065 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = owner; +#line 2065 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp27_ != NULL) { +#line 14041 "EditingTools.c" + DataCollection* _tmp28_ = NULL; +#line 2066 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = owner; +#line 2066 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp28_, "items-altered", (GCallback) _editing_tools_redeye_tool_on_photos_altered_data_collection_items_altered, self); +#line 14047 "EditingTools.c" + } +#line 2068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = canvas; +#line 2068 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_redeye_tool_parent_class)->activate (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), _tmp29_); +#line 2046 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _data_collection_unref0 (owner); +#line 14055 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_real_deactivate (EditingToolsEditingTool* base) { + EditingToolsRedeyeTool * self; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp10_ = NULL; +#line 2071 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 2072 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2072 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ != NULL) { +#line 14069 "EditingTools.c" + DataCollection* owner = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + DataCollection* _tmp4_ = NULL; + DataCollection* _tmp5_ = NULL; + DataCollection* _tmp6_ = NULL; + EditingToolsPhotoCanvas* _tmp9_ = NULL; +#line 2073 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2073 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = editing_tools_photo_canvas_get_photo (_tmp1_); +#line 2073 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 2073 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 2073 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_; +#line 2073 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp3_); +#line 2073 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + owner = _tmp5_; +#line 2074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = owner; +#line 2074 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp6_ != NULL) { +#line 14096 "EditingTools.c" + DataCollection* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#line 2075 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = owner; +#line 2075 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp8_, NULL, FALSE); +#line 2075 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp7_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _editing_tools_redeye_tool_on_photos_altered_data_collection_items_altered, self); +#line 14105 "EditingTools.c" + } +#line 2077 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2077 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_unbind_canvas_handlers (self, _tmp9_); +#line 2072 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _data_collection_unref0 (owner); +#line 14113 "EditingTools.c" + } +#line 2080 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->redeye_tool_window; +#line 2080 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp10_ != NULL) { +#line 14119 "EditingTools.c" + EditingToolsRedeyeToolRedeyeToolWindow* _tmp11_ = NULL; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp12_ = NULL; +#line 2081 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_unbind_window_handlers (self); +#line 2082 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->redeye_tool_window; +#line 2082 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget)); +#line 2083 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->redeye_tool_window; +#line 2083 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); +#line 2084 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->redeye_tool_window); +#line 2084 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->redeye_tool_window = NULL; +#line 14136 "EditingTools.c" + } +#line 2087 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_redeye_tool_parent_class)->deactivate (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 14140 "EditingTools.c" +} + + +static void _editing_tools_redeye_tool_prepare_ctx_editing_tools_photo_canvas_new_surface (EditingToolsPhotoCanvas* _sender, cairo_t* ctx, Dimensions* dim, gpointer self) { +#line 2091 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_prepare_ctx ((EditingToolsRedeyeTool*) self, ctx, dim); +#line 14147 "EditingTools.c" +} + + +static void _editing_tools_redeye_tool_on_canvas_resize_editing_tools_photo_canvas_resized_scaled_pixbuf (EditingToolsPhotoCanvas* _sender, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position, gpointer self) { +#line 2092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_on_canvas_resize ((EditingToolsRedeyeTool*) self); +#line 14154 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_bind_canvas_handlers (EditingToolsRedeyeTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; +#line 2090 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 2090 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 2091 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 2091 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp0_, "new-surface", (GCallback) _editing_tools_redeye_tool_prepare_ctx_editing_tools_photo_canvas_new_surface, self); +#line 2092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = canvas; +#line 2092 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp1_, "resized-scaled-pixbuf", (GCallback) _editing_tools_redeye_tool_on_canvas_resize_editing_tools_photo_canvas_resized_scaled_pixbuf, self); +#line 14173 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_unbind_canvas_handlers (EditingToolsRedeyeTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + guint _tmp1_ = 0U; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 2095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 2095 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 2096 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 2096 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("new-surface", EDITING_TOOLS_TYPE_PHOTO_CANVAS, &_tmp1_, NULL, FALSE); +#line 2096 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_tools_redeye_tool_prepare_ctx_editing_tools_photo_canvas_new_surface, self); +#line 2097 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = canvas; +#line 2097 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("resized-scaled-pixbuf", EDITING_TOOLS_TYPE_PHOTO_CANVAS, &_tmp3_, NULL, FALSE); +#line 2097 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _editing_tools_redeye_tool_on_canvas_resize_editing_tools_photo_canvas_resized_scaled_pixbuf, self); +#line 14198 "EditingTools.c" +} + + +static void _editing_tools_redeye_tool_on_apply_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 2101 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_on_apply ((EditingToolsRedeyeTool*) self); +#line 14205 "EditingTools.c" +} + + +static void _editing_tools_redeye_tool_on_close_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 2102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_on_close ((EditingToolsRedeyeTool*) self); +#line 14212 "EditingTools.c" +} + + +static gboolean _editing_tools_redeye_tool_on_size_slider_adjust_gtk_range_change_value (GtkRange* _sender, GtkScrollType scroll, gdouble new_value, gpointer self) { + gboolean result; + result = editing_tools_redeye_tool_on_size_slider_adjust ((EditingToolsRedeyeTool*) self, scroll); +#line 2103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 14221 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_bind_window_handlers (EditingToolsRedeyeTool* self) { + EditingToolsRedeyeToolRedeyeToolWindow* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp4_ = NULL; + GtkScale* _tmp5_ = NULL; +#line 2100 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 2101 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->redeye_tool_window; +#line 2101 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->apply_button; +#line 2101 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp1_, "clicked", (GCallback) _editing_tools_redeye_tool_on_apply_gtk_button_clicked, self); +#line 2102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->redeye_tool_window; +#line 2102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_->close_button; +#line 2102 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp3_, "clicked", (GCallback) _editing_tools_redeye_tool_on_close_gtk_button_clicked, self); +#line 2103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->redeye_tool_window; +#line 2103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_->slider; +#line 2103 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_range_get_type (), GtkRange), "change-value", (GCallback) _editing_tools_redeye_tool_on_size_slider_adjust_gtk_range_change_value, self); +#line 14252 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_unbind_window_handlers (EditingToolsRedeyeTool* self) { + EditingToolsRedeyeToolRedeyeToolWindow* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + guint _tmp2_ = 0U; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; + guint _tmp5_ = 0U; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp6_ = NULL; + GtkScale* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#line 2106 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_REDEYE_TOOL (self)); +#line 2107 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->redeye_tool_window; +#line 2107 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->apply_button; +#line 2107 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp2_, NULL, FALSE); +#line 2107 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _editing_tools_redeye_tool_on_apply_gtk_button_clicked, self); +#line 2108 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->redeye_tool_window; +#line 2108 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_->close_button; +#line 2108 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp5_, NULL, FALSE); +#line 2108 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _editing_tools_redeye_tool_on_close_gtk_button_clicked, self); +#line 2109 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->redeye_tool_window; +#line 2109 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_->slider; +#line 2109 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("change-value", gtk_range_get_type (), &_tmp8_, NULL, FALSE); +#line 2109 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _editing_tools_redeye_tool_on_size_slider_adjust_gtk_range_change_value, self); +#line 14292 "EditingTools.c" +} + + +static EditingToolsEditingToolWindow* editing_tools_redeye_tool_real_get_tool_window (EditingToolsEditingTool* base) { + EditingToolsRedeyeTool * self; + EditingToolsEditingToolWindow* result = NULL; + EditingToolsRedeyeToolRedeyeToolWindow* _tmp0_ = NULL; + EditingToolsEditingToolWindow* _tmp1_ = NULL; +#line 2112 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 2113 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->redeye_tool_window; +#line 2113 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow)); +#line 2113 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 2113 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 14311 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_real_paint (EditingToolsEditingTool* base, cairo_t* ctx) { + EditingToolsRedeyeTool * self; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + EditingToolsPhotoCanvas* _tmp6_ = NULL; + EditingToolsRedeyeInstance active_inst = {0}; + EditingToolsRedeyeInstance _tmp7_ = {0}; + EditingToolsPhotoCanvas* _tmp8_ = NULL; + EditingToolsRedeyeInstance _tmp9_ = {0}; + GdkPoint _tmp10_ = {0}; + GdkPoint _tmp11_ = {0}; + EditingToolsRedeyeInstance _tmp12_ = {0}; +#line 2116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 2116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->current_pixbuf; +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_ != NULL) { +#line 14335 "EditingTools.c" + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->current_pixbuf; +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp0_); +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = _tmp3_; +#line 14346 "EditingTools.c" + } else { + EditingToolsPhotoCanvas* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = editing_tools_photo_canvas_get_scaled_pixbuf (_tmp4_); +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp0_); +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = _tmp5_; +#line 14358 "EditingTools.c" + } +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2117 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_paint_pixbuf (_tmp6_, _tmp0_); +#line 2121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->priv->user_interaction_instance; +#line 2121 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + active_inst = _tmp7_; +#line 2122 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2122 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->user_interaction_instance; +#line 2122 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.center; +#line 2122 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_user_to_active_point (_tmp8_, &_tmp10_, &_tmp11_); +#line 2122 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + active_inst.center = _tmp11_; +#line 2124 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = active_inst; +#line 2124 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_draw_redeye_instance (self, &_tmp12_); +#line 2116 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp0_); +#line 14384 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_real_on_left_click (EditingToolsEditingTool* base, gint x, gint y) { + EditingToolsRedeyeTool * self; + GdkRectangle bounds_rect = {0}; + EditingToolsRedeyeInstance _tmp0_ = {0}; + GdkRectangle _tmp1_ = {0}; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; +#line 2127 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 2128 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->user_interaction_instance; +#line 2128 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_instance_to_bounds_rect (&_tmp0_, &_tmp1_); +#line 2128 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bounds_rect = _tmp1_; +#line 2131 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = x; +#line 2131 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = y; +#line 2131 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = bounds_rect; +#line 2131 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = coord_in_rectangle (_tmp2_, _tmp3_, &_tmp4_); +#line 2131 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_) { +#line 14415 "EditingTools.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + EditingToolsRedeyeInstance _tmp8_ = {0}; + GdkPoint _tmp9_ = {0}; +#line 2132 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->is_reticle_move_in_progress = TRUE; +#line 2133 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = x; +#line 2133 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->reticle_move_mouse_start_point.x = _tmp6_; +#line 2134 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = y; +#line 2134 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->reticle_move_mouse_start_point.y = _tmp7_; +#line 2135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->user_interaction_instance; +#line 2135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_.center; +#line 2135 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->reticle_move_anchor = _tmp9_; +#line 14436 "EditingTools.c" + } +} + + +static void editing_tools_redeye_tool_real_on_left_released (EditingToolsEditingTool* base, gint x, gint y) { + EditingToolsRedeyeTool * self; +#line 2139 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 2140 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->is_reticle_move_in_progress = FALSE; +#line 14447 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_real_on_motion (EditingToolsEditingTool* base, gint x, gint y, GdkModifierType mask) { + EditingToolsRedeyeTool * self; + gboolean _tmp0_ = FALSE; +#line 2143 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 2144 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->is_reticle_move_in_progress; +#line 2144 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 14460 "EditingTools.c" + GdkRectangle active_region_rect = {0}; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + GdkRectangle _tmp2_ = {0}; + gint x_clamp_low = 0; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + EditingToolsRedeyeInstance _tmp5_ = {0}; + gint _tmp6_ = 0; + gint y_clamp_low = 0; + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; + EditingToolsRedeyeInstance _tmp9_ = {0}; + gint _tmp10_ = 0; + gint x_clamp_high = 0; + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkRectangle _tmp13_ = {0}; + gint _tmp14_ = 0; + EditingToolsRedeyeInstance _tmp15_ = {0}; + gint _tmp16_ = 0; + gint y_clamp_high = 0; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkRectangle _tmp19_ = {0}; + gint _tmp20_ = 0; + EditingToolsRedeyeInstance _tmp21_ = {0}; + gint _tmp22_ = 0; + gint delta_x = 0; + gint _tmp23_ = 0; + GdkPoint _tmp24_ = {0}; + gint _tmp25_ = 0; + gint delta_y = 0; + gint _tmp26_ = 0; + GdkPoint _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkPoint _tmp29_ = {0}; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + GdkPoint _tmp32_ = {0}; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + GdkPoint _tmp35_ = {0}; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + GdkPoint _tmp41_ = {0}; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + gint _tmp45_ = 0; + gint _tmp46_ = 0; + EditingToolsPhotoCanvas* _tmp47_ = NULL; +#line 2146 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2146 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_get_scaled_pixbuf_position (_tmp1_, &_tmp2_); +#line 2146 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + active_region_rect = _tmp2_; +#line 2149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = active_region_rect; +#line 2149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_.x; +#line 2149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->user_interaction_instance; +#line 2149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_.radius; +#line 2149 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x_clamp_low = (_tmp4_ + _tmp6_) + 1; +#line 2151 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = active_region_rect; +#line 2151 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_.y; +#line 2151 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->user_interaction_instance; +#line 2151 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_.radius; +#line 2151 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y_clamp_low = (_tmp8_ + _tmp10_) + 1; +#line 2153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = active_region_rect; +#line 2153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _tmp11_.x; +#line 2153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = active_region_rect; +#line 2153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_.width; +#line 2153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->user_interaction_instance; +#line 2153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_.radius; +#line 2153 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + x_clamp_high = ((_tmp12_ + _tmp14_) - _tmp16_) - 1; +#line 2156 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = active_region_rect; +#line 2156 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_.y; +#line 2156 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = active_region_rect; +#line 2156 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _tmp19_.height; +#line 2156 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->user_interaction_instance; +#line 2156 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp21_.radius; +#line 2156 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + y_clamp_high = ((_tmp18_ + _tmp20_) - _tmp22_) - 1; +#line 2160 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = x; +#line 2160 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->reticle_move_mouse_start_point; +#line 2160 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_.x; +#line 2160 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + delta_x = _tmp23_ - _tmp25_; +#line 2161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = y; +#line 2161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = self->priv->reticle_move_mouse_start_point; +#line 2161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = _tmp27_.y; +#line 2161 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + delta_y = _tmp26_ - _tmp28_; +#line 2163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->priv->reticle_move_anchor; +#line 2163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = _tmp29_.x; +#line 2163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = delta_x; +#line 2163 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.x = _tmp30_ + _tmp31_; +#line 2165 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = self->priv->reticle_move_anchor; +#line 2165 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = _tmp32_.y; +#line 2165 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = delta_y; +#line 2165 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.y = _tmp33_ + _tmp34_; +#line 2168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = self->priv->reticle_move_anchor; +#line 2168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = _tmp35_.x; +#line 2168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = delta_x; +#line 2168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = x_clamp_low; +#line 2168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = x_clamp_high; +#line 2168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = CLAMP (_tmp36_ + _tmp37_, _tmp38_, _tmp39_); +#line 2168 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.x = _tmp40_; +#line 2171 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = self->priv->reticle_move_anchor; +#line 2171 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = _tmp41_.y; +#line 2171 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = delta_y; +#line 2171 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = y_clamp_low; +#line 2171 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = y_clamp_high; +#line 2171 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = CLAMP (_tmp42_ + _tmp43_, _tmp44_, _tmp45_); +#line 2171 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->user_interaction_instance.center.y = _tmp46_; +#line 2175 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2175 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp47_); +#line 14633 "EditingTools.c" + } else { + GdkRectangle bounds = {0}; + EditingToolsRedeyeInstance _tmp48_ = {0}; + GdkRectangle _tmp49_ = {0}; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + GdkRectangle _tmp52_ = {0}; + gboolean _tmp53_ = FALSE; +#line 2177 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = self->priv->user_interaction_instance; +#line 2177 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_instance_to_bounds_rect (&_tmp48_, &_tmp49_); +#line 2177 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + bounds = _tmp49_; +#line 2180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50_ = x; +#line 2180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp51_ = y; +#line 2180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52_ = bounds; +#line 2180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp53_ = coord_in_rectangle (_tmp50_, _tmp51_, &_tmp52_); +#line 2180 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp53_) { +#line 14658 "EditingTools.c" + EditingToolsPhotoCanvas* _tmp54_ = NULL; + GdkWindow* _tmp55_ = NULL; + GdkWindow* _tmp56_ = NULL; + GdkCursor* _tmp57_ = NULL; +#line 2181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp54_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55_ = editing_tools_photo_canvas_get_drawing_window (_tmp54_); +#line 2181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp56_ = _tmp55_; +#line 2181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp57_ = self->priv->cached_grab_cursor; +#line 2181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gdk_window_set_cursor (_tmp56_, _tmp57_); +#line 2181 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp56_); +#line 14675 "EditingTools.c" + } else { + EditingToolsPhotoCanvas* _tmp58_ = NULL; + GdkWindow* _tmp59_ = NULL; + GdkWindow* _tmp60_ = NULL; + GdkCursor* _tmp61_ = NULL; +#line 2183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp59_ = editing_tools_photo_canvas_get_drawing_window (_tmp58_); +#line 2183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp60_ = _tmp59_; +#line 2183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61_ = self->priv->cached_arrow_cursor; +#line 2183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gdk_window_set_cursor (_tmp60_, _tmp61_); +#line 2183 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp60_); +#line 14693 "EditingTools.c" + } + } +} + + +static gboolean editing_tools_redeye_tool_real_on_keypress (EditingToolsEditingTool* base, GdkEventKey* event) { + EditingToolsRedeyeTool * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GdkEventKey* _tmp2_ = NULL; + guint _tmp3_ = 0U; + const gchar* _tmp4_ = NULL; + GdkEventKey* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 2188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 2188 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = event; +#line 2189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_->keyval; +#line 2189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = gdk_keyval_name (_tmp3_); +#line 2189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (g_strcmp0 (_tmp4_, "KP_Enter") == 0) { +#line 2189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = TRUE; +#line 14723 "EditingTools.c" + } else { + GdkEventKey* _tmp5_ = NULL; + guint _tmp6_ = 0U; + const gchar* _tmp7_ = NULL; +#line 2190 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = event; +#line 2190 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->keyval; +#line 2190 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = gdk_keyval_name (_tmp6_); +#line 2190 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = g_strcmp0 (_tmp7_, "Enter") == 0; +#line 14736 "EditingTools.c" + } +#line 2189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_) { +#line 2189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = TRUE; +#line 14742 "EditingTools.c" + } else { + GdkEventKey* _tmp8_ = NULL; + guint _tmp9_ = 0U; + const gchar* _tmp10_ = NULL; +#line 2191 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = event; +#line 2191 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_->keyval; +#line 2191 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = gdk_keyval_name (_tmp9_); +#line 2191 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = g_strcmp0 (_tmp10_, "Return") == 0; +#line 14755 "EditingTools.c" + } +#line 2189 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 2192 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_on_close (self); +#line 2193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 2193 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 14765 "EditingTools.c" + } +#line 2196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = event; +#line 2196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_redeye_tool_parent_class)->on_keypress (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), _tmp11_); +#line 2196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp12_; +#line 2196 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 14775 "EditingTools.c" +} + + +static EditingToolsRedeyeToolRedeyeToolWindow* editing_tools_redeye_tool_redeye_tool_window_construct (GType object_type, GtkWindow* container) { + EditingToolsRedeyeToolRedeyeToolWindow * self = NULL; + GtkWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + GtkScale* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkButton* _tmp5_ = NULL; + GtkButton* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GtkButton* _tmp8_ = NULL; + GtkBox* layout = NULL; + GtkBox* _tmp9_ = NULL; + GtkLabel* _tmp10_ = NULL; + GtkScale* _tmp11_ = NULL; + GtkButton* _tmp12_ = NULL; + GtkButton* _tmp13_ = NULL; +#line 1881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GTK_IS_WINDOW (container), NULL); +#line 1882 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = container; +#line 1882 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsRedeyeToolRedeyeToolWindow*) editing_tools_editing_tool_window_construct (object_type, _tmp0_); +#line 1884 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->slider; +#line 1884 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), 80, -1); +#line 1885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->slider; +#line 1885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_scale_set_draw_value (_tmp2_, FALSE); +#line 1887 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->close_button; +#line 1887 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _ ("Close the red-eye tool"); +#line 1887 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), _tmp4_); +#line 1888 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->close_button; +#line 1888 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_button_set_image_position (_tmp5_, GTK_POS_LEFT); +#line 1890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->apply_button; +#line 1890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _ ("Remove any red-eye effects in the selected region"); +#line 1890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), _tmp7_); +#line 1891 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->apply_button; +#line 1891 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_button_set_image_position (_tmp8_, GTK_POS_LEFT); +#line 1893 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, EDITING_TOOLS_REDEYE_TOOL_REDEYE_TOOL_WINDOW_CONTROL_SPACING); +#line 1893 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp9_); +#line 1893 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + layout = _tmp9_; +#line 1894 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->slider_label; +#line 1894 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (layout, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget)); +#line 1895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->slider; +#line 1895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (layout, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget)); +#line 1896 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->close_button; +#line 1896 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (layout, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); +#line 1897 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->apply_button; +#line 1897 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (layout, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget)); +#line 1899 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (layout, gtk_widget_get_type (), GtkWidget)); +#line 1881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (layout); +#line 1881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 14858 "EditingTools.c" +} + + +static EditingToolsRedeyeToolRedeyeToolWindow* editing_tools_redeye_tool_redeye_tool_window_new (GtkWindow* container) { +#line 1881 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_redeye_tool_redeye_tool_window_construct (EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW, container); +#line 14865 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_redeye_tool_window_class_init (EditingToolsRedeyeToolRedeyeToolWindowClass * klass) { +#line 1869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_redeye_tool_window_parent_class = g_type_class_peek_parent (klass); +#line 1869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsRedeyeToolRedeyeToolWindowPrivate)); +#line 1869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_redeye_tool_redeye_tool_window_finalize; +#line 14876 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_redeye_tool_window_instance_init (EditingToolsRedeyeToolRedeyeToolWindow * self) { + const gchar* _tmp0_ = NULL; + GtkLabel* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + GtkScale* _tmp4_ = NULL; +#line 1869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_REDEYE_TOOL_REDEYE_TOOL_WINDOW_GET_PRIVATE (self); +#line 1872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = _ ("Size:"); +#line 1872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp0_); +#line 1872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp1_); +#line 1872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->slider_label = _tmp1_; +#line 1874 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = (GtkButton*) gtk_button_new_with_mnemonic (RESOURCES_APPLY_LABEL); +#line 1874 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp2_); +#line 1874 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->apply_button = _tmp2_; +#line 1876 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = (GtkButton*) gtk_button_new_with_mnemonic (RESOURCES_CANCEL_LABEL); +#line 1876 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp3_); +#line 1876 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->close_button = _tmp3_; +#line 1878 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = (GtkScale*) gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, (gdouble) EDITING_TOOLS_REDEYE_INSTANCE_MIN_RADIUS, (gdouble) EDITING_TOOLS_REDEYE_INSTANCE_MAX_RADIUS, 1.0); +#line 1878 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp4_); +#line 1878 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->slider = _tmp4_; +#line 14914 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_redeye_tool_window_finalize (GObject* obj) { + EditingToolsRedeyeToolRedeyeToolWindow * self; +#line 1869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_REDEYE_TOOL_TYPE_REDEYE_TOOL_WINDOW, EditingToolsRedeyeToolRedeyeToolWindow); +#line 1872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->slider_label); +#line 1874 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->apply_button); +#line 1876 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->close_button); +#line 1878 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->slider); +#line 1869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (editing_tools_redeye_tool_redeye_tool_window_parent_class)->finalize (obj); +#line 14932 "EditingTools.c" +} + + +static GType editing_tools_redeye_tool_redeye_tool_window_get_type (void) { + static volatile gsize editing_tools_redeye_tool_redeye_tool_window_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_redeye_tool_redeye_tool_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsRedeyeToolRedeyeToolWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_redeye_tool_redeye_tool_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsRedeyeToolRedeyeToolWindow), 0, (GInstanceInitFunc) editing_tools_redeye_tool_redeye_tool_window_instance_init, NULL }; + GType editing_tools_redeye_tool_redeye_tool_window_type_id; + editing_tools_redeye_tool_redeye_tool_window_type_id = g_type_register_static (EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, "EditingToolsRedeyeToolRedeyeToolWindow", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_redeye_tool_redeye_tool_window_type_id__volatile, editing_tools_redeye_tool_redeye_tool_window_type_id); + } + return editing_tools_redeye_tool_redeye_tool_window_type_id__volatile; +} + + +static void editing_tools_redeye_tool_class_init (EditingToolsRedeyeToolClass * klass) { +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_redeye_tool_parent_class = g_type_class_peek_parent (klass); +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->finalize = editing_tools_redeye_tool_finalize; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsRedeyeToolPrivate)); +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->activate = editing_tools_redeye_tool_real_activate; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->deactivate = editing_tools_redeye_tool_real_deactivate; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->get_tool_window = editing_tools_redeye_tool_real_get_tool_window; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->paint = editing_tools_redeye_tool_real_paint; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_left_click = editing_tools_redeye_tool_real_on_left_click; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_left_released = editing_tools_redeye_tool_real_on_left_released; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_motion = editing_tools_redeye_tool_real_on_motion; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_keypress = editing_tools_redeye_tool_real_on_keypress; +#line 14971 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_instance_init (EditingToolsRedeyeTool * self) { +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_REDEYE_TOOL_GET_PRIVATE (self); +#line 1903 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->thin_white_ctx = NULL; +#line 1904 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->wider_gray_ctx = NULL; +#line 1905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->redeye_tool_window = NULL; +#line 1907 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->is_reticle_move_in_progress = FALSE; +#line 1913 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->current_pixbuf = NULL; +#line 14988 "EditingTools.c" +} + + +static void editing_tools_redeye_tool_finalize (EditingToolsEditingTool* obj) { + EditingToolsRedeyeTool * self; +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_TYPE_REDEYE_TOOL, EditingToolsRedeyeTool); +#line 1903 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->thin_white_ctx); +#line 1904 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _cairo_destroy0 (self->priv->wider_gray_ctx); +#line 1905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->redeye_tool_window); +#line 1910 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->cached_arrow_cursor); +#line 1911 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->cached_grab_cursor); +#line 1913 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->current_pixbuf); +#line 1868 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_redeye_tool_parent_class)->finalize (obj); +#line 15010 "EditingTools.c" +} + + +GType editing_tools_redeye_tool_get_type (void) { + static volatile gsize editing_tools_redeye_tool_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_redeye_tool_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsRedeyeToolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_redeye_tool_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsRedeyeTool), 0, (GInstanceInitFunc) editing_tools_redeye_tool_instance_init, NULL }; + GType editing_tools_redeye_tool_type_id; + editing_tools_redeye_tool_type_id = g_type_register_static (EDITING_TOOLS_TYPE_EDITING_TOOL, "EditingToolsRedeyeTool", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_redeye_tool_type_id__volatile, editing_tools_redeye_tool_type_id); + } + return editing_tools_redeye_tool_type_id__volatile; +} + + +static EditingToolsAdjustTool* editing_tools_adjust_tool_construct (GType object_type) { + EditingToolsAdjustTool* self = NULL; +#line 2491 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsAdjustTool*) editing_tools_editing_tool_construct (object_type, "AdjustTool"); +#line 2490 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 15032 "EditingTools.c" +} + + +static EditingToolsAdjustTool* editing_tools_adjust_tool_new (void) { +#line 2490 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_adjust_tool_construct (EDITING_TOOLS_TYPE_ADJUST_TOOL); +#line 15039 "EditingTools.c" +} + + +EditingToolsAdjustTool* editing_tools_adjust_tool_factory (void) { + EditingToolsAdjustTool* result = NULL; + EditingToolsAdjustTool* _tmp0_ = NULL; +#line 2495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = editing_tools_adjust_tool_new (); +#line 2495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp0_; +#line 2495 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 15052 "EditingTools.c" +} + + +gboolean editing_tools_adjust_tool_is_available (Photo* photo, Scaling* scaling) { + gboolean result = FALSE; +#line 2498 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), FALSE); +#line 2498 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 2499 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 2499 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 15066 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_photos_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 2582 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_photos_altered ((EditingToolsAdjustTool*) self, items); +#line 15073 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_real_activate (EditingToolsEditingTool* base, EditingToolsPhotoCanvas* canvas) { + EditingToolsAdjustTool * self; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GtkWindow* _tmp1_ = NULL; + GtkWindow* _tmp2_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp3_ = NULL; + Photo* photo = NULL; + EditingToolsPhotoCanvas* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + PixelTransformationBundle* _tmp7_ = NULL; + PixelTransformationBundle* _tmp8_ = NULL; + PixelTransformer* _tmp9_ = NULL; + PixelTransformer* _tmp10_ = NULL; + ExpansionTransformation* expansion_trans = NULL; + PixelTransformationBundle* _tmp11_ = NULL; + PixelTransformation* _tmp12_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp13_ = NULL; + RGBHistogramManipulator* _tmp14_ = NULL; + ExpansionTransformation* _tmp15_ = NULL; + gint _tmp16_ = 0; + EditingToolsAdjustToolAdjustToolWindow* _tmp17_ = NULL; + RGBHistogramManipulator* _tmp18_ = NULL; + ExpansionTransformation* _tmp19_ = NULL; + gint _tmp20_ = 0; + ShadowDetailTransformation* shadows_trans = NULL; + PixelTransformationBundle* _tmp21_ = NULL; + PixelTransformation* _tmp22_ = NULL; + PixelTransformer* _tmp23_ = NULL; + ShadowDetailTransformation* _tmp24_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp25_ = NULL; + GtkScale* _tmp26_ = NULL; + ShadowDetailTransformation* _tmp27_ = NULL; + gfloat _tmp28_ = 0.0F; + HighlightDetailTransformation* highlights_trans = NULL; + PixelTransformationBundle* _tmp29_ = NULL; + PixelTransformation* _tmp30_ = NULL; + PixelTransformer* _tmp31_ = NULL; + HighlightDetailTransformation* _tmp32_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp33_ = NULL; + GtkScale* _tmp34_ = NULL; + HighlightDetailTransformation* _tmp35_ = NULL; + gfloat _tmp36_ = 0.0F; + TemperatureTransformation* temp_trans = NULL; + PixelTransformationBundle* _tmp37_ = NULL; + PixelTransformation* _tmp38_ = NULL; + PixelTransformer* _tmp39_ = NULL; + TemperatureTransformation* _tmp40_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp41_ = NULL; + GtkScale* _tmp42_ = NULL; + TemperatureTransformation* _tmp43_ = NULL; + gfloat _tmp44_ = 0.0F; + TintTransformation* tint_trans = NULL; + PixelTransformationBundle* _tmp45_ = NULL; + PixelTransformation* _tmp46_ = NULL; + PixelTransformer* _tmp47_ = NULL; + TintTransformation* _tmp48_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp49_ = NULL; + GtkScale* _tmp50_ = NULL; + TintTransformation* _tmp51_ = NULL; + gfloat _tmp52_ = 0.0F; + SaturationTransformation* sat_trans = NULL; + PixelTransformationBundle* _tmp53_ = NULL; + PixelTransformation* _tmp54_ = NULL; + PixelTransformer* _tmp55_ = NULL; + SaturationTransformation* _tmp56_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp57_ = NULL; + GtkScale* _tmp58_ = NULL; + SaturationTransformation* _tmp59_ = NULL; + gfloat _tmp60_ = 0.0F; + ExposureTransformation* exposure_trans = NULL; + PixelTransformationBundle* _tmp61_ = NULL; + PixelTransformation* _tmp62_ = NULL; + PixelTransformer* _tmp63_ = NULL; + ExposureTransformation* _tmp64_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp65_ = NULL; + GtkScale* _tmp66_ = NULL; + ExposureTransformation* _tmp67_ = NULL; + gfloat _tmp68_ = 0.0F; + EditingToolsPhotoCanvas* _tmp69_ = NULL; + EditingToolsPhotoCanvas* _tmp70_ = NULL; + GdkPixbuf* _tmp71_ = NULL; + GdkPixbuf* _tmp72_ = NULL; + GdkPixbuf* _tmp73_ = NULL; + EditingToolsPhotoCanvas* _tmp74_ = NULL; + GdkPixbuf* _tmp75_ = NULL; + GdkPixbuf* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; + GdkPixbuf* _tmp78_ = NULL; + gint _tmp79_ = 0; + gint _tmp80_ = 0; + gboolean _tmp84_ = FALSE; + gboolean _tmp85_ = FALSE; + GdkPixbuf* _tmp86_ = NULL; + gint _tmp87_ = 0; + gint _tmp88_ = 0; + GdkPixbuf* _tmp89_ = NULL; + gint _tmp90_ = 0; + gint _tmp91_ = 0; + GdkPixbuf* _tmp108_ = NULL; + GdkPixbuf* _tmp109_ = NULL; + DataCollection* owner = NULL; + EditingToolsPhotoCanvas* _tmp110_ = NULL; + Photo* _tmp111_ = NULL; + Photo* _tmp112_ = NULL; + DataCollection* _tmp113_ = NULL; + DataCollection* _tmp114_ = NULL; + DataCollection* _tmp115_ = NULL; + EditingToolsPhotoCanvas* _tmp117_ = NULL; +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 2503 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 2503 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = editing_tools_photo_canvas_get_container (_tmp0_); +#line 2503 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_; +#line 2503 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = editing_tools_adjust_tool_adjust_tool_window_new (_tmp2_); +#line 2503 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp3_); +#line 2503 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->adjust_tool_window); +#line 2503 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->adjust_tool_window = _tmp3_; +#line 2503 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp2_); +#line 2505 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = canvas; +#line 2505 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = editing_tools_photo_canvas_get_photo (_tmp4_); +#line 2505 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo = _tmp5_; +#line 2506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = photo; +#line 2506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = photo_get_color_adjustments (_tmp6_); +#line 2506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->transformations); +#line 2506 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->transformations = _tmp7_; +#line 2507 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->transformations; +#line 2507 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = pixel_transformation_bundle_generate_transformer (_tmp8_); +#line 2507 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2507 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->transformer = _tmp9_; +#line 2510 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = pixel_transformer_new (); +#line 2510 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformer_unref0 (self->priv->histogram_transformer); +#line 2510 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->histogram_transformer = _tmp10_; +#line 2513 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->transformations; +#line 2513 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = pixel_transformation_bundle_get_transformation (_tmp11_, PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION); +#line 2513 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + expansion_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation); +#line 2515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->priv->adjust_tool_window; +#line 2515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_->histogram_manipulator; +#line 2515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = expansion_trans; +#line 2515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = expansion_transformation_get_black_point (_tmp15_); +#line 2515 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rgb_histogram_manipulator_set_left_nub_position (_tmp14_, _tmp16_); +#line 2517 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->adjust_tool_window; +#line 2517 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_->histogram_manipulator; +#line 2517 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = expansion_trans; +#line 2517 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = expansion_transformation_get_white_point (_tmp19_); +#line 2517 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rgb_histogram_manipulator_set_right_nub_position (_tmp18_, _tmp20_); +#line 2521 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->transformations; +#line 2521 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = pixel_transformation_bundle_get_transformation (_tmp21_, PIXEL_TRANSFORMATION_TYPE_SHADOWS); +#line 2521 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + shadows_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation); +#line 2523 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->priv->histogram_transformer; +#line 2523 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = shadows_trans; +#line 2523 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_attach_transformation (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 2524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = self->priv->adjust_tool_window; +#line 2524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _tmp25_->shadows_slider; +#line 2524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = shadows_trans; +#line 2524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = shadow_detail_transformation_get_parameter (_tmp27_); +#line 2524 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_range_get_type (), GtkRange), (gdouble) _tmp28_); +#line 2527 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->priv->transformations; +#line 2527 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = pixel_transformation_bundle_get_transformation (_tmp29_, PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS); +#line 2527 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + highlights_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation); +#line 2529 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = self->priv->histogram_transformer; +#line 2529 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = highlights_trans; +#line 2529 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_attach_transformation (_tmp31_, G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 2530 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = self->priv->adjust_tool_window; +#line 2530 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = _tmp33_->highlights_slider; +#line 2530 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = highlights_trans; +#line 2530 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = highlight_detail_transformation_get_parameter (_tmp35_); +#line 2530 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_range_get_type (), GtkRange), (gdouble) _tmp36_); +#line 2533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = self->priv->transformations; +#line 2533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = pixel_transformation_bundle_get_transformation (_tmp37_, PIXEL_TRANSFORMATION_TYPE_TEMPERATURE); +#line 2533 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + temp_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation); +#line 2535 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = self->priv->histogram_transformer; +#line 2535 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = temp_trans; +#line 2535 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_attach_transformation (_tmp39_, G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 2536 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = self->priv->adjust_tool_window; +#line 2536 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = _tmp41_->temperature_slider; +#line 2536 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = temp_trans; +#line 2536 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = temperature_transformation_get_parameter (_tmp43_); +#line 2536 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_range_get_type (), GtkRange), (gdouble) _tmp44_); +#line 2538 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = self->priv->transformations; +#line 2538 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = pixel_transformation_bundle_get_transformation (_tmp45_, PIXEL_TRANSFORMATION_TYPE_TINT); +#line 2538 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + tint_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_TINT_TRANSFORMATION, TintTransformation); +#line 2540 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = self->priv->histogram_transformer; +#line 2540 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = tint_trans; +#line 2540 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_attach_transformation (_tmp47_, G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 2541 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp49_ = self->priv->adjust_tool_window; +#line 2541 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp50_ = _tmp49_->tint_slider; +#line 2541 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp51_ = tint_trans; +#line 2541 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp52_ = tint_transformation_get_parameter (_tmp51_); +#line 2541 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_range_get_type (), GtkRange), (gdouble) _tmp52_); +#line 2544 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp53_ = self->priv->transformations; +#line 2544 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp54_ = pixel_transformation_bundle_get_transformation (_tmp53_, PIXEL_TRANSFORMATION_TYPE_SATURATION); +#line 2544 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + sat_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, TYPE_SATURATION_TRANSFORMATION, SaturationTransformation); +#line 2546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp55_ = self->priv->histogram_transformer; +#line 2546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp56_ = sat_trans; +#line 2546 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_attach_transformation (_tmp55_, G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 2547 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp57_ = self->priv->adjust_tool_window; +#line 2547 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp58_ = _tmp57_->saturation_slider; +#line 2547 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp59_ = sat_trans; +#line 2547 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp60_ = saturation_transformation_get_parameter (_tmp59_); +#line 2547 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_range_get_type (), GtkRange), (gdouble) _tmp60_); +#line 2550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp61_ = self->priv->transformations; +#line 2550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp62_ = pixel_transformation_bundle_get_transformation (_tmp61_, PIXEL_TRANSFORMATION_TYPE_EXPOSURE); +#line 2550 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + exposure_trans = G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation); +#line 2552 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp63_ = self->priv->histogram_transformer; +#line 2552 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp64_ = exposure_trans; +#line 2552 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_attach_transformation (_tmp63_, G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 2553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp65_ = self->priv->adjust_tool_window; +#line 2553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp66_ = _tmp65_->exposure_slider; +#line 2553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp67_ = exposure_trans; +#line 2553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp68_ = exposure_transformation_get_parameter (_tmp67_); +#line 2553 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, gtk_range_get_type (), GtkRange), (gdouble) _tmp68_); +#line 2555 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp69_ = canvas; +#line 2555 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_bind_canvas_handlers (self, _tmp69_); +#line 2556 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_bind_window_handlers (self); +#line 2558 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp70_ = canvas; +#line 2558 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp71_ = editing_tools_photo_canvas_get_scaled_pixbuf (_tmp70_); +#line 2558 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp72_ = _tmp71_; +#line 2558 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp73_ = gdk_pixbuf_copy (_tmp72_); +#line 2558 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->draw_to_pixbuf); +#line 2558 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->draw_to_pixbuf = _tmp73_; +#line 2558 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp72_); +#line 2559 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp74_ = canvas; +#line 2559 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp75_ = editing_tools_photo_canvas_get_scaled_pixbuf (_tmp74_); +#line 2559 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp76_ = _tmp75_; +#line 2559 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_init_fp_pixel_cache (self, _tmp76_); +#line 2559 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp76_); +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp78_ = self->priv->draw_to_pixbuf; +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp79_ = gdk_pixbuf_get_width (_tmp78_); +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp80_ = _tmp79_; +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp80_ == 1) { +#line 15430 "EditingTools.c" + GdkPixbuf* _tmp81_ = NULL; + gint _tmp82_ = 0; + gint _tmp83_ = 0; +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp81_ = self->priv->draw_to_pixbuf; +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp82_ = gdk_pixbuf_get_height (_tmp81_); +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp83_ = _tmp82_; +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp77_ = _tmp83_ == 1; +#line 15442 "EditingTools.c" + } else { +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp77_ = FALSE; +#line 15446 "EditingTools.c" + } +#line 2565 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp77_) { +#line 2566 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->disable_histogram_refresh = TRUE; +#line 15452 "EditingTools.c" + } +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp86_ = self->priv->draw_to_pixbuf; +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp87_ = gdk_pixbuf_get_width (_tmp86_); +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp88_ = _tmp87_; +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp89_ = self->priv->draw_to_pixbuf; +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp90_ = gdk_pixbuf_get_height (_tmp89_); +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp91_ = _tmp90_; +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if ((_tmp88_ * _tmp91_) > 8192) { +#line 15468 "EditingTools.c" + GdkPixbuf* _tmp92_ = NULL; + gint _tmp93_ = 0; + gint _tmp94_ = 0; +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp92_ = self->priv->draw_to_pixbuf; +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp93_ = gdk_pixbuf_get_width (_tmp92_); +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp94_ = _tmp93_; +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp85_ = _tmp94_ > 1; +#line 15480 "EditingTools.c" + } else { +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp85_ = FALSE; +#line 15484 "EditingTools.c" + } +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp85_) { +#line 15488 "EditingTools.c" + GdkPixbuf* _tmp95_ = NULL; + gint _tmp96_ = 0; + gint _tmp97_ = 0; +#line 2572 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp95_ = self->priv->draw_to_pixbuf; +#line 2572 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp96_ = gdk_pixbuf_get_height (_tmp95_); +#line 2572 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp97_ = _tmp96_; +#line 2572 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp84_ = _tmp97_ > 1; +#line 15500 "EditingTools.c" + } else { +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp84_ = FALSE; +#line 15504 "EditingTools.c" + } +#line 2571 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp84_) { +#line 15508 "EditingTools.c" + GdkPixbuf* _tmp98_ = NULL; + GdkPixbuf* _tmp99_ = NULL; + gint _tmp100_ = 0; + gint _tmp101_ = 0; + GdkPixbuf* _tmp102_ = NULL; + gint _tmp103_ = 0; + gint _tmp104_ = 0; + GdkPixbuf* _tmp105_ = NULL; +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp98_ = self->priv->draw_to_pixbuf; +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp99_ = self->priv->draw_to_pixbuf; +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp100_ = gdk_pixbuf_get_width (_tmp99_); +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp101_ = _tmp100_; +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp102_ = self->priv->draw_to_pixbuf; +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp103_ = gdk_pixbuf_get_height (_tmp102_); +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp104_ = _tmp103_; +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp105_ = gdk_pixbuf_scale_simple (_tmp98_, _tmp101_ / 2, _tmp104_ / 2, GDK_INTERP_HYPER); +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->histogram_pixbuf); +#line 2573 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->histogram_pixbuf = _tmp105_; +#line 15537 "EditingTools.c" + } else { + GdkPixbuf* _tmp106_ = NULL; + GdkPixbuf* _tmp107_ = NULL; +#line 2576 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp106_ = self->priv->draw_to_pixbuf; +#line 2576 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp107_ = gdk_pixbuf_copy (_tmp106_); +#line 2576 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->histogram_pixbuf); +#line 2576 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->histogram_pixbuf = _tmp107_; +#line 15549 "EditingTools.c" + } +#line 2578 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp108_ = self->priv->histogram_pixbuf; +#line 2578 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp109_ = gdk_pixbuf_copy (_tmp108_); +#line 2578 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->virgin_histogram_pixbuf); +#line 2578 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->virgin_histogram_pixbuf = _tmp109_; +#line 2580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp110_ = canvas; +#line 2580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp111_ = editing_tools_photo_canvas_get_photo (_tmp110_); +#line 2580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp112_ = _tmp111_; +#line 2580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp113_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp112_, TYPE_DATA_OBJECT, DataObject)); +#line 2580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp114_ = _tmp113_; +#line 2580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp112_); +#line 2580 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + owner = _tmp114_; +#line 2581 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp115_ = owner; +#line 2581 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp115_ != NULL) { +#line 15577 "EditingTools.c" + DataCollection* _tmp116_ = NULL; +#line 2582 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp116_ = owner; +#line 2582 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp116_, "items-altered", (GCallback) _editing_tools_adjust_tool_on_photos_altered_data_collection_items_altered, self); +#line 15583 "EditingTools.c" + } +#line 2584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp117_ = canvas; +#line 2584 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_adjust_tool_parent_class)->activate (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), _tmp117_); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _data_collection_unref0 (owner); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (exposure_trans); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (sat_trans); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (tint_trans); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (temp_trans); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (highlights_trans); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (shadows_trans); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (expansion_trans); +#line 2502 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (photo); +#line 15607 "EditingTools.c" +} + + +static EditingToolsEditingToolWindow* editing_tools_adjust_tool_real_get_tool_window (EditingToolsEditingTool* base) { + EditingToolsAdjustTool * self; + EditingToolsEditingToolWindow* result = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + EditingToolsEditingToolWindow* _tmp1_ = NULL; +#line 2587 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool); +#line 2588 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2588 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow)); +#line 2588 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp1_; +#line 2588 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 15626 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_real_deactivate (EditingToolsEditingTool* base) { + EditingToolsAdjustTool * self; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp10_ = NULL; +#line 2591 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool); +#line 2592 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2592 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ != NULL) { +#line 15640 "EditingTools.c" + DataCollection* owner = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + DataCollection* _tmp4_ = NULL; + DataCollection* _tmp5_ = NULL; + DataCollection* _tmp6_ = NULL; + EditingToolsPhotoCanvas* _tmp9_ = NULL; +#line 2593 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2593 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = editing_tools_photo_canvas_get_photo (_tmp1_); +#line 2593 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 2593 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = data_object_get_membership (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 2593 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_; +#line 2593 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp3_); +#line 2593 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + owner = _tmp5_; +#line 2594 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = owner; +#line 2594 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp6_ != NULL) { +#line 15667 "EditingTools.c" + DataCollection* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#line 2595 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = owner; +#line 2595 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp8_, NULL, FALSE); +#line 2595 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp7_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_photos_altered_data_collection_items_altered, self); +#line 15676 "EditingTools.c" + } +#line 2597 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2597 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_unbind_canvas_handlers (self, _tmp9_); +#line 2592 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _data_collection_unref0 (owner); +#line 15684 "EditingTools.c" + } +#line 2600 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->adjust_tool_window; +#line 2600 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp10_ != NULL) { +#line 15690 "EditingTools.c" + EditingToolsAdjustToolAdjustToolWindow* _tmp11_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp12_ = NULL; +#line 2601 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_unbind_window_handlers (self); +#line 2602 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->adjust_tool_window; +#line 2602 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget)); +#line 2603 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->adjust_tool_window; +#line 2603 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); +#line 2604 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->adjust_tool_window); +#line 2604 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->adjust_tool_window = NULL; +#line 15707 "EditingTools.c" + } +#line 2607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->draw_to_pixbuf); +#line 2607 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->draw_to_pixbuf = NULL; +#line 2608 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache = (g_free (self->priv->fp_pixel_cache), NULL); +#line 2608 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache = NULL; +#line 2608 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache_length1 = 0; +#line 2608 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->_fp_pixel_cache_size_ = self->priv->fp_pixel_cache_length1; +#line 2610 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_adjust_tool_parent_class)->deactivate (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 15723 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_real_paint (EditingToolsEditingTool* base, cairo_t* ctx) { + EditingToolsAdjustTool * self; + gboolean _tmp0_ = FALSE; + EditingToolsPhotoCanvas* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; +#line 2613 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool); +#line 2613 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (ctx != NULL); +#line 2614 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->suppress_effect_redraw; +#line 2614 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp0_) { +#line 15740 "EditingTools.c" + PixelTransformer* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + PixelTransformer* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 2615 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->transformer; +#line 2615 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->draw_to_pixbuf; +#line 2615 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_transform_from_fp (_tmp1_, &self->priv->fp_pixel_cache, &self->priv->fp_pixel_cache_length1, _tmp2_); +#line 2616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->histogram_transformer; +#line 2616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->virgin_histogram_pixbuf; +#line 2616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->histogram_pixbuf; +#line 2616 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_transform_to_other_pixbuf (_tmp3_, _tmp4_, _tmp5_, NULL); +#line 2618 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->disable_histogram_refresh; +#line 2618 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp6_) { +#line 15765 "EditingTools.c" + EditingToolsAdjustToolAdjustToolWindow* _tmp7_ = NULL; + RGBHistogramManipulator* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; +#line 2619 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->priv->adjust_tool_window; +#line 2619 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_->histogram_manipulator; +#line 2619 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->histogram_pixbuf; +#line 2619 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rgb_histogram_manipulator_update_histogram (_tmp8_, _tmp9_); +#line 15777 "EditingTools.c" + } + } +#line 2622 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2622 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->draw_to_pixbuf; +#line 2622 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_paint_pixbuf (_tmp10_, _tmp11_); +#line 15786 "EditingTools.c" +} + + +static GdkPixbuf* editing_tools_adjust_tool_real_get_display_pixbuf (EditingToolsEditingTool* base, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error) { + EditingToolsAdjustTool * self; + Dimensions _vala_max_dim = {0}; + GdkPixbuf* result = NULL; + Photo* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + Photo* _tmp2_ = NULL; + Dimensions _tmp3_ = {0}; + GdkPixbuf* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Scaling _tmp6_ = {0}; + GdkPixbuf* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GError * _inner_error_ = NULL; +#line 2625 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool); +#line 2625 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (scaling != NULL, NULL); +#line 2625 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 2627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = photo; +#line 2627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = photo_has_color_adjustments (_tmp0_); +#line 2627 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp1_) { +#line 2628 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + dimensions_init (&_vala_max_dim, 0, 0); +#line 2630 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = NULL; +#line 2630 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (max_dim) { +#line 2630 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *max_dim = _vala_max_dim; +#line 15824 "EditingTools.c" + } +#line 2630 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 15828 "EditingTools.c" + } +#line 2633 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = photo; +#line 2633 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp3_); +#line 2633 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_max_dim = _tmp3_; +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = photo; +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = *scaling; +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = photo_get_pixbuf_with_options (_tmp5_, &_tmp6_, PHOTO_EXCEPTION_ADJUST, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp7_; +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_propagate_error (error, _inner_error_); +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return NULL; +#line 15850 "EditingTools.c" + } +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp4_; +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = NULL; +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp8_; +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp4_); +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (max_dim) { +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + *max_dim = _vala_max_dim; +#line 15864 "EditingTools.c" + } +#line 2635 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 15868 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_reset (EditingToolsAdjustTool* self) { + EditingToolsAdjustToolAdjustResetCommand* command = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + EditingToolsAdjustToolAdjustResetCommand* _tmp1_ = NULL; + CommandManager* _tmp2_ = NULL; + CommandManager* _tmp3_ = NULL; +#line 2638 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2639 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->transformations; +#line 2639 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = editing_tools_adjust_tool_adjust_reset_command_new (self, _tmp0_); +#line 2639 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command = _tmp1_; +#line 2640 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = app_window_get_command_manager (); +#line 2640 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 2640 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (command, TYPE_COMMAND, Command)); +#line 2640 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _command_manager_unref0 (_tmp3_); +#line 2638 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (command); +#line 15896 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_ok (EditingToolsAdjustTool* self) { + EditingToolsEditingToolWindow* _tmp0_ = NULL; + EditingToolsEditingToolWindow* _tmp1_ = NULL; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + PixelTransformationBundle* _tmp5_ = NULL; + AdjustColorsSingleCommand* _tmp6_ = NULL; + AdjustColorsSingleCommand* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + EditingToolsPhotoCanvas* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; + Dimensions _tmp12_ = {0}; +#line 2643 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2644 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->suppress_effect_redraw = TRUE; +#line 2646 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = editing_tools_editing_tool_get_tool_window (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 2646 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_; +#line 2646 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 2646 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp1_); +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = editing_tools_photo_canvas_get_photo (_tmp2_); +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->transformations; +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = adjust_colors_single_command_new (_tmp4_, _tmp5_, RESOURCES_ADJUST_LABEL, RESOURCES_ADJUST_TOOLTIP); +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_; +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->draw_to_pixbuf; +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = editing_tools_photo_canvas_get_photo (_tmp9_); +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_; +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_NONE, &_tmp12_); +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), "applied", G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_COMMAND, Command), _tmp8_, &_tmp12_, FALSE); +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp11_); +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp7_); +#line 2648 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp4_); +#line 15956 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_update_transformations (EditingToolsAdjustTool* self, PixelTransformationBundle* new_transformations) { +#line 2653 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2653 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (new_transformations)); +#line 15965 "EditingTools.c" + { + GeeIterator* _transformation_it = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = new_transformations; +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = pixel_transformation_bundle_get_transformations (_tmp0_); +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_; +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp2_); +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _transformation_it = _tmp4_; +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + while (TRUE) { +#line 15989 "EditingTools.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + PixelTransformation* transformation = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + PixelTransformation* _tmp9_ = NULL; +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _transformation_it; +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp6_) { +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 16004 "EditingTools.c" + } +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _transformation_it; +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + transformation = (PixelTransformation*) _tmp8_; +#line 2655 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = transformation; +#line 2655 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_update_transformation (self, _tmp9_); +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (transformation); +#line 16018 "EditingTools.c" + } +#line 2654 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_transformation_it); +#line 16022 "EditingTools.c" + } +} + + +static void editing_tools_adjust_tool_update_transformation (EditingToolsAdjustTool* self, PixelTransformation* new_transformation) { + PixelTransformation* old_transformation = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; + PixelTransformationType _tmp2_ = 0; + PixelTransformation* _tmp3_ = NULL; + PixelTransformer* _tmp4_ = NULL; + PixelTransformation* _tmp5_ = NULL; + PixelTransformation* _tmp6_ = NULL; + PixelTransformation* _tmp7_ = NULL; + PixelTransformationType _tmp8_ = 0; + PixelTransformationBundle* _tmp12_ = NULL; + PixelTransformation* _tmp13_ = NULL; +#line 2658 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2658 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (new_transformation)); +#line 2659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->transformations; +#line 2659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = new_transformation; +#line 2659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = pixel_transformation_get_transformation_type (_tmp1_); +#line 2659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = pixel_transformation_bundle_get_transformation (_tmp0_, _tmp2_); +#line 2659 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old_transformation = _tmp3_; +#line 2662 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->transformer; +#line 2662 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = old_transformation; +#line 2662 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = new_transformation; +#line 2662 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_replace_transformation (_tmp4_, _tmp5_, _tmp6_); +#line 2663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = new_transformation; +#line 2663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = pixel_transformation_get_transformation_type (_tmp7_); +#line 2663 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp8_ != PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION) { +#line 16068 "EditingTools.c" + PixelTransformer* _tmp9_ = NULL; + PixelTransformation* _tmp10_ = NULL; + PixelTransformation* _tmp11_ = NULL; +#line 2664 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->histogram_transformer; +#line 2664 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = old_transformation; +#line 2664 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = new_transformation; +#line 2664 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformer_replace_transformation (_tmp9_, _tmp10_, _tmp11_); +#line 16080 "EditingTools.c" + } +#line 2666 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->transformations; +#line 2666 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = new_transformation; +#line 2666 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformation_bundle_set (_tmp12_, _tmp13_); +#line 2658 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (old_transformation); +#line 16090 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_slider_updated (EditingToolsAdjustTool* self, PixelTransformation* new_transformation, const gchar* name) { + PixelTransformation* old_transformation = NULL; + PixelTransformationBundle* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; + PixelTransformationType _tmp2_ = 0; + PixelTransformation* _tmp3_ = NULL; + EditingToolsAdjustToolSliderAdjustmentCommand* command = NULL; + PixelTransformation* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + EditingToolsAdjustToolSliderAdjustmentCommand* _tmp6_ = NULL; + CommandManager* _tmp7_ = NULL; + CommandManager* _tmp8_ = NULL; +#line 2669 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2669 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (new_transformation)); +#line 2669 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (name != NULL); +#line 2670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->transformations; +#line 2670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = new_transformation; +#line 2670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = pixel_transformation_get_transformation_type (_tmp1_); +#line 2670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = pixel_transformation_bundle_get_transformation (_tmp0_, _tmp2_); +#line 2670 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + old_transformation = _tmp3_; +#line 2672 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = new_transformation; +#line 2672 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = name; +#line 2672 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = editing_tools_adjust_tool_slider_adjustment_command_new (self, old_transformation, _tmp4_, _tmp5_); +#line 2672 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command = _tmp6_; +#line 2674 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = app_window_get_command_manager (); +#line 2674 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_; +#line 2674 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command_manager_execute (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (command, TYPE_COMMAND, Command)); +#line 2674 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _command_manager_unref0 (_tmp8_); +#line 2669 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (command); +#line 2669 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (old_transformation); +#line 16142 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_delayed_temperature_adjustment_one_shot_callback (gpointer self) { +#line 2679 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_delayed_temperature_adjustment ((EditingToolsAdjustTool*) self); +#line 16149 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_temperature_adjustment (EditingToolsAdjustTool* self) { + OneShotScheduler* _tmp0_ = NULL; + OneShotScheduler* _tmp2_ = NULL; +#line 2677 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2678 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->temperature_scheduler; +#line 2678 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == NULL) { +#line 16162 "EditingTools.c" + OneShotScheduler* _tmp1_ = NULL; +#line 2679 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = one_shot_scheduler_new ("temperature", _editing_tools_adjust_tool_on_delayed_temperature_adjustment_one_shot_callback, self); +#line 2679 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->temperature_scheduler); +#line 2679 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->temperature_scheduler = _tmp1_; +#line 16170 "EditingTools.c" + } +#line 2681 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->temperature_scheduler; +#line 2681 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + one_shot_scheduler_after_timeout (_tmp2_, EDITING_TOOLS_ADJUST_TOOL_SLIDER_DELAY_MSEC, TRUE); +#line 16176 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_delayed_temperature_adjustment (EditingToolsAdjustTool* self) { + TemperatureTransformation* new_temp_trans = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + TemperatureTransformation* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 2684 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2685 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2685 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->temperature_slider; +#line 2685 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 2685 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = temperature_transformation_new ((gfloat) _tmp2_); +#line 2685 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_temp_trans = _tmp3_; +#line 2687 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _ ("Temperature"); +#line 2687 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_slider_updated (self, G_TYPE_CHECK_INSTANCE_CAST (new_temp_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), _tmp4_); +#line 2684 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (new_temp_trans); +#line 16205 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_delayed_tint_adjustment_one_shot_callback (gpointer self) { +#line 2692 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_delayed_tint_adjustment ((EditingToolsAdjustTool*) self); +#line 16212 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_tint_adjustment (EditingToolsAdjustTool* self) { + OneShotScheduler* _tmp0_ = NULL; + OneShotScheduler* _tmp2_ = NULL; +#line 2690 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2691 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->tint_scheduler; +#line 2691 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == NULL) { +#line 16225 "EditingTools.c" + OneShotScheduler* _tmp1_ = NULL; +#line 2692 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = one_shot_scheduler_new ("tint", _editing_tools_adjust_tool_on_delayed_tint_adjustment_one_shot_callback, self); +#line 2692 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->tint_scheduler); +#line 2692 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->tint_scheduler = _tmp1_; +#line 16233 "EditingTools.c" + } +#line 2694 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->tint_scheduler; +#line 2694 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + one_shot_scheduler_after_timeout (_tmp2_, EDITING_TOOLS_ADJUST_TOOL_SLIDER_DELAY_MSEC, TRUE); +#line 16239 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_delayed_tint_adjustment (EditingToolsAdjustTool* self) { + TintTransformation* new_tint_trans = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + TintTransformation* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 2697 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2698 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2698 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->tint_slider; +#line 2698 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 2698 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = tint_transformation_new ((gfloat) _tmp2_); +#line 2698 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_tint_trans = _tmp3_; +#line 2700 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _ ("Tint"); +#line 2700 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_slider_updated (self, G_TYPE_CHECK_INSTANCE_CAST (new_tint_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), _tmp4_); +#line 2697 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (new_tint_trans); +#line 16268 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_delayed_saturation_adjustment_one_shot_callback (gpointer self) { +#line 2705 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_delayed_saturation_adjustment ((EditingToolsAdjustTool*) self); +#line 16275 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_saturation_adjustment (EditingToolsAdjustTool* self) { + OneShotScheduler* _tmp0_ = NULL; + OneShotScheduler* _tmp2_ = NULL; +#line 2703 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->saturation_scheduler; +#line 2704 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == NULL) { +#line 16288 "EditingTools.c" + OneShotScheduler* _tmp1_ = NULL; +#line 2705 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = one_shot_scheduler_new ("saturation", _editing_tools_adjust_tool_on_delayed_saturation_adjustment_one_shot_callback, self); +#line 2705 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->saturation_scheduler); +#line 2705 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->saturation_scheduler = _tmp1_; +#line 16296 "EditingTools.c" + } +#line 2707 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->saturation_scheduler; +#line 2707 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + one_shot_scheduler_after_timeout (_tmp2_, EDITING_TOOLS_ADJUST_TOOL_SLIDER_DELAY_MSEC, TRUE); +#line 16302 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_delayed_saturation_adjustment (EditingToolsAdjustTool* self) { + SaturationTransformation* new_sat_trans = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + SaturationTransformation* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 2710 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->saturation_slider; +#line 2711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 2711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = saturation_transformation_new ((gfloat) _tmp2_); +#line 2711 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_sat_trans = _tmp3_; +#line 2713 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _ ("Saturation"); +#line 2713 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_slider_updated (self, G_TYPE_CHECK_INSTANCE_CAST (new_sat_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), _tmp4_); +#line 2710 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (new_sat_trans); +#line 16331 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_delayed_exposure_adjustment_one_shot_callback (gpointer self) { +#line 2718 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_delayed_exposure_adjustment ((EditingToolsAdjustTool*) self); +#line 16338 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_exposure_adjustment (EditingToolsAdjustTool* self) { + OneShotScheduler* _tmp0_ = NULL; + OneShotScheduler* _tmp2_ = NULL; +#line 2716 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2717 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->exposure_scheduler; +#line 2717 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == NULL) { +#line 16351 "EditingTools.c" + OneShotScheduler* _tmp1_ = NULL; +#line 2718 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = one_shot_scheduler_new ("exposure", _editing_tools_adjust_tool_on_delayed_exposure_adjustment_one_shot_callback, self); +#line 2718 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->exposure_scheduler); +#line 2718 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->exposure_scheduler = _tmp1_; +#line 16359 "EditingTools.c" + } +#line 2720 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->exposure_scheduler; +#line 2720 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + one_shot_scheduler_after_timeout (_tmp2_, EDITING_TOOLS_ADJUST_TOOL_SLIDER_DELAY_MSEC, TRUE); +#line 16365 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_delayed_exposure_adjustment (EditingToolsAdjustTool* self) { + ExposureTransformation* new_exp_trans = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + ExposureTransformation* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 2723 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->exposure_slider; +#line 2724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 2724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = exposure_transformation_new ((gfloat) _tmp2_); +#line 2724 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_exp_trans = _tmp3_; +#line 2726 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _ ("Exposure"); +#line 2726 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_slider_updated (self, G_TYPE_CHECK_INSTANCE_CAST (new_exp_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), _tmp4_); +#line 2723 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (new_exp_trans); +#line 16394 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_delayed_shadows_adjustment_one_shot_callback (gpointer self) { +#line 2731 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_delayed_shadows_adjustment ((EditingToolsAdjustTool*) self); +#line 16401 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_shadows_adjustment (EditingToolsAdjustTool* self) { + OneShotScheduler* _tmp0_ = NULL; + OneShotScheduler* _tmp2_ = NULL; +#line 2729 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2730 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->shadows_scheduler; +#line 2730 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == NULL) { +#line 16414 "EditingTools.c" + OneShotScheduler* _tmp1_ = NULL; +#line 2731 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = one_shot_scheduler_new ("shadows", _editing_tools_adjust_tool_on_delayed_shadows_adjustment_one_shot_callback, self); +#line 2731 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->shadows_scheduler); +#line 2731 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->shadows_scheduler = _tmp1_; +#line 16422 "EditingTools.c" + } +#line 2733 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->shadows_scheduler; +#line 2733 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + one_shot_scheduler_after_timeout (_tmp2_, EDITING_TOOLS_ADJUST_TOOL_SLIDER_DELAY_MSEC, TRUE); +#line 16428 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_delayed_shadows_adjustment (EditingToolsAdjustTool* self) { + ShadowDetailTransformation* new_shadows_trans = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + ShadowDetailTransformation* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 2736 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2737 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2737 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->shadows_slider; +#line 2737 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 2737 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = shadow_detail_transformation_new ((gfloat) _tmp2_); +#line 2737 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_shadows_trans = _tmp3_; +#line 2739 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _ ("Shadows"); +#line 2739 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_slider_updated (self, G_TYPE_CHECK_INSTANCE_CAST (new_shadows_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), _tmp4_); +#line 2736 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (new_shadows_trans); +#line 16457 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_delayed_highlights_adjustment_one_shot_callback (gpointer self) { +#line 2744 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_delayed_highlights_adjustment ((EditingToolsAdjustTool*) self); +#line 16464 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_highlights_adjustment (EditingToolsAdjustTool* self) { + OneShotScheduler* _tmp0_ = NULL; + OneShotScheduler* _tmp2_ = NULL; +#line 2742 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2743 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->highlights_scheduler; +#line 2743 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == NULL) { +#line 16477 "EditingTools.c" + OneShotScheduler* _tmp1_ = NULL; +#line 2744 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = one_shot_scheduler_new ("highlights", _editing_tools_adjust_tool_on_delayed_highlights_adjustment_one_shot_callback, self); +#line 2744 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->highlights_scheduler); +#line 2744 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->highlights_scheduler = _tmp1_; +#line 16485 "EditingTools.c" + } +#line 2746 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->highlights_scheduler; +#line 2746 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + one_shot_scheduler_after_timeout (_tmp2_, EDITING_TOOLS_ADJUST_TOOL_SLIDER_DELAY_MSEC, TRUE); +#line 16491 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_delayed_highlights_adjustment (EditingToolsAdjustTool* self) { + HighlightDetailTransformation* new_highlights_trans = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + HighlightDetailTransformation* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 2749 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2750 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2750 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->highlights_slider; +#line 2750 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 2750 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = highlight_detail_transformation_new ((gfloat) _tmp2_); +#line 2750 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_highlights_trans = _tmp3_; +#line 2752 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _ ("Highlights"); +#line 2752 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_slider_updated (self, G_TYPE_CHECK_INSTANCE_CAST (new_highlights_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), _tmp4_); +#line 2749 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (new_highlights_trans); +#line 16520 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_histogram_constraint (EditingToolsAdjustTool* self) { + gint expansion_black_point = 0; + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + RGBHistogramManipulator* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint expansion_white_point = 0; + EditingToolsAdjustToolAdjustToolWindow* _tmp3_ = NULL; + RGBHistogramManipulator* _tmp4_ = NULL; + gint _tmp5_ = 0; + ExpansionTransformation* new_exp_trans = NULL; + ExpansionTransformation* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 2755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->histogram_manipulator; +#line 2756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = rgb_histogram_manipulator_get_left_nub_position (_tmp1_); +#line 2756 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + expansion_black_point = _tmp2_; +#line 2758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->adjust_tool_window; +#line 2758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_->histogram_manipulator; +#line 2758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = rgb_histogram_manipulator_get_right_nub_position (_tmp4_); +#line 2758 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + expansion_white_point = _tmp5_; +#line 2760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = expansion_transformation_new_from_extrema (expansion_black_point, expansion_white_point); +#line 2760 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + new_exp_trans = _tmp6_; +#line 2762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _ ("Contrast Expansion"); +#line 2762 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_slider_updated (self, G_TYPE_CHECK_INSTANCE_CAST (new_exp_trans, TYPE_PIXEL_TRANSFORMATION, PixelTransformation), _tmp7_); +#line 2755 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (new_exp_trans); +#line 16564 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_canvas_resize (EditingToolsAdjustTool* self) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + EditingToolsPhotoCanvas* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; +#line 2765 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = editing_tools_photo_canvas_get_scaled_pixbuf (_tmp0_); +#line 2766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_; +#line 2766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = gdk_pixbuf_copy (_tmp2_); +#line 2766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->draw_to_pixbuf); +#line 2766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->draw_to_pixbuf = _tmp3_; +#line 2766 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp2_); +#line 2767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = editing_tools_photo_canvas_get_scaled_pixbuf (_tmp4_); +#line 2767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_; +#line 2767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_init_fp_pixel_cache (self, _tmp6_); +#line 2767 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp6_); +#line 16602 "EditingTools.c" +} + + +static gboolean editing_tools_adjust_tool_on_hscale_reset (EditingToolsAdjustTool* self, GtkWidget* widget, GdkEventButton* event) { + gboolean result = FALSE; + GtkScale* source = NULL; + GtkWidget* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + GdkEventButton* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 2770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self), FALSE); +#line 2770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); +#line 2770 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = widget; +#line 2771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_scale_get_type (), GtkScale)); +#line 2771 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + source = _tmp1_; +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = event; +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_->button; +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_ == ((guint) 1)) { +#line 16633 "EditingTools.c" + GdkEventButton* _tmp6_ = NULL; + GdkEventType _tmp7_ = 0; +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = event; +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_->type; +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp7_ == GDK_BUTTON_PRESS; +#line 16642 "EditingTools.c" + } else { +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = FALSE; +#line 16646 "EditingTools.c" + } +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp3_) { +#line 16650 "EditingTools.c" + GdkEventButton* _tmp8_ = NULL; + GdkModifierType _tmp9_ = 0; + gboolean _tmp10_ = FALSE; +#line 2774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = event; +#line 2774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_->state; +#line 2774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = has_only_key_modifier (_tmp9_, GDK_CONTROL_MASK); +#line 2774 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp10_; +#line 16662 "EditingTools.c" + } else { +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = FALSE; +#line 16666 "EditingTools.c" + } +#line 2773 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp2_) { +#line 16670 "EditingTools.c" + GtkScale* _tmp11_ = NULL; +#line 2776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = source; +#line 2776 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_range_get_type (), GtkRange), (gdouble) 0); +#line 2778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 2778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (source); +#line 2778 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 16682 "EditingTools.c" + } +#line 2781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 2781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (source); +#line 2781 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 16690 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_canvas_resize_editing_tools_photo_canvas_resized_scaled_pixbuf (EditingToolsPhotoCanvas* _sender, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position, gpointer self) { +#line 2785 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_canvas_resize ((EditingToolsAdjustTool*) self); +#line 16697 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_bind_canvas_handlers (EditingToolsAdjustTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; +#line 2784 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2784 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 2785 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 2785 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp0_, "resized-scaled-pixbuf", (GCallback) _editing_tools_adjust_tool_on_canvas_resize_editing_tools_photo_canvas_resized_scaled_pixbuf, self); +#line 16711 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_unbind_canvas_handlers (EditingToolsAdjustTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 2788 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2788 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 2789 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = canvas; +#line 2789 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("resized-scaled-pixbuf", EDITING_TOOLS_TYPE_PHOTO_CANVAS, &_tmp1_, NULL, FALSE); +#line 2789 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_canvas_resize_editing_tools_photo_canvas_resized_scaled_pixbuf, self); +#line 16728 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_ok_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 2793 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_ok ((EditingToolsAdjustTool*) self); +#line 16735 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_reset_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 2794 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_reset ((EditingToolsAdjustTool*) self); +#line 16742 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_exposure_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 2796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_exposure_adjustment ((EditingToolsAdjustTool*) self); +#line 16749 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_saturation_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 2797 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_saturation_adjustment ((EditingToolsAdjustTool*) self); +#line 16756 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_tint_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 2798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_tint_adjustment ((EditingToolsAdjustTool*) self); +#line 16763 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_temperature_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 2799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_temperature_adjustment ((EditingToolsAdjustTool*) self); +#line 16770 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_shadows_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 2800 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_shadows_adjustment ((EditingToolsAdjustTool*) self); +#line 16777 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_highlights_adjustment_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 2801 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_highlights_adjustment ((EditingToolsAdjustTool*) self); +#line 16784 "EditingTools.c" +} + + +static void _editing_tools_adjust_tool_on_histogram_constraint_rgb_histogram_manipulator_nub_position_changed (RGBHistogramManipulator* _sender, gpointer self) { +#line 2802 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_histogram_constraint ((EditingToolsAdjustTool*) self); +#line 16791 "EditingTools.c" +} + + +static gboolean _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = editing_tools_adjust_tool_on_hscale_reset ((EditingToolsAdjustTool*) self, _sender, event); +#line 2804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 16800 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_bind_window_handlers (EditingToolsAdjustTool* self) { + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp4_ = NULL; + GtkButton* _tmp5_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp6_ = NULL; + GtkScale* _tmp7_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp8_ = NULL; + GtkScale* _tmp9_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp10_ = NULL; + GtkScale* _tmp11_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp12_ = NULL; + GtkScale* _tmp13_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp14_ = NULL; + GtkScale* _tmp15_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp16_ = NULL; + GtkScale* _tmp17_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp18_ = NULL; + RGBHistogramManipulator* _tmp19_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp20_ = NULL; + GtkScale* _tmp21_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp22_ = NULL; + GtkScale* _tmp23_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp24_ = NULL; + GtkScale* _tmp25_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp26_ = NULL; + GtkScale* _tmp27_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp28_ = NULL; + GtkScale* _tmp29_ = NULL; + EditingToolsAdjustToolAdjustToolWindow* _tmp30_ = NULL; + GtkScale* _tmp31_ = NULL; +#line 2792 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2793 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2793 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->ok_button; +#line 2793 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp1_, "clicked", (GCallback) _editing_tools_adjust_tool_on_ok_gtk_button_clicked, self); +#line 2794 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = self->priv->adjust_tool_window; +#line 2794 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_->reset_button; +#line 2794 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp3_, "clicked", (GCallback) _editing_tools_adjust_tool_on_reset_gtk_button_clicked, self); +#line 2795 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->adjust_tool_window; +#line 2795 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_->cancel_button; +#line 2795 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp5_, "clicked", (GCallback) _editing_tools_editing_tool_notify_cancel_gtk_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 2796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->adjust_tool_window; +#line 2796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_->exposure_slider; +#line 2796 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_tools_adjust_tool_on_exposure_adjustment_gtk_range_value_changed, self); +#line 2797 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->adjust_tool_window; +#line 2797 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_->saturation_slider; +#line 2797 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_tools_adjust_tool_on_saturation_adjustment_gtk_range_value_changed, self); +#line 2798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->priv->adjust_tool_window; +#line 2798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_->tint_slider; +#line 2798 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_tools_adjust_tool_on_tint_adjustment_gtk_range_value_changed, self); +#line 2799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->adjust_tool_window; +#line 2799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_->temperature_slider; +#line 2799 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_tools_adjust_tool_on_temperature_adjustment_gtk_range_value_changed, self); +#line 2800 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = self->priv->adjust_tool_window; +#line 2800 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = _tmp14_->shadows_slider; +#line 2800 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_tools_adjust_tool_on_shadows_adjustment_gtk_range_value_changed, self); +#line 2801 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = self->priv->adjust_tool_window; +#line 2801 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = _tmp16_->highlights_slider; +#line 2801 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_tools_adjust_tool_on_highlights_adjustment_gtk_range_value_changed, self); +#line 2802 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->adjust_tool_window; +#line 2802 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_->histogram_manipulator; +#line 2802 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (_tmp19_, "nub-position-changed", (GCallback) _editing_tools_adjust_tool_on_histogram_constraint_rgb_histogram_manipulator_nub_position_changed, self); +#line 2804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = self->priv->adjust_tool_window; +#line 2804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = _tmp20_->saturation_slider; +#line 2804 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2805 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = self->priv->adjust_tool_window; +#line 2805 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = _tmp22_->exposure_slider; +#line 2805 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2806 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->adjust_tool_window; +#line 2806 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_->tint_slider; +#line 2806 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = self->priv->adjust_tool_window; +#line 2807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = _tmp26_->temperature_slider; +#line 2807 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = self->priv->adjust_tool_window; +#line 2808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = _tmp28_->shadows_slider; +#line 2808 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2809 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = self->priv->adjust_tool_window; +#line 2809 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = _tmp30_->highlights_slider; +#line 2809 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 16935 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_unbind_window_handlers (EditingToolsAdjustTool* self) { + EditingToolsAdjustToolAdjustToolWindow* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + guint _tmp2_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; + guint _tmp5_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp6_ = NULL; + GtkButton* _tmp7_ = NULL; + guint _tmp8_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp9_ = NULL; + GtkScale* _tmp10_ = NULL; + guint _tmp11_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp12_ = NULL; + GtkScale* _tmp13_ = NULL; + guint _tmp14_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp15_ = NULL; + GtkScale* _tmp16_ = NULL; + guint _tmp17_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp18_ = NULL; + GtkScale* _tmp19_ = NULL; + guint _tmp20_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp21_ = NULL; + GtkScale* _tmp22_ = NULL; + guint _tmp23_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp24_ = NULL; + GtkScale* _tmp25_ = NULL; + guint _tmp26_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp27_ = NULL; + RGBHistogramManipulator* _tmp28_ = NULL; + guint _tmp29_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp30_ = NULL; + GtkScale* _tmp31_ = NULL; + guint _tmp32_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp33_ = NULL; + GtkScale* _tmp34_ = NULL; + guint _tmp35_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp36_ = NULL; + GtkScale* _tmp37_ = NULL; + guint _tmp38_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp39_ = NULL; + GtkScale* _tmp40_ = NULL; + guint _tmp41_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp42_ = NULL; + GtkScale* _tmp43_ = NULL; + guint _tmp44_ = 0U; + EditingToolsAdjustToolAdjustToolWindow* _tmp45_ = NULL; + GtkScale* _tmp46_ = NULL; + guint _tmp47_ = 0U; +#line 2812 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2813 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->adjust_tool_window; +#line 2813 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_->ok_button; +#line 2813 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp2_, NULL, FALSE); +#line 2813 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_ok_gtk_button_clicked, self); +#line 2814 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = self->priv->adjust_tool_window; +#line 2814 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_->reset_button; +#line 2814 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp5_, NULL, FALSE); +#line 2814 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_reset_gtk_button_clicked, self); +#line 2815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->adjust_tool_window; +#line 2815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_->cancel_button; +#line 2815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp8_, NULL, FALSE); +#line 2815 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp7_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _editing_tools_editing_tool_notify_cancel_gtk_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 2816 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->adjust_tool_window; +#line 2816 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_->exposure_slider; +#line 2816 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp11_, NULL, FALSE); +#line 2816 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_exposure_adjustment_gtk_range_value_changed, self); +#line 2817 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->priv->adjust_tool_window; +#line 2817 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _tmp12_->saturation_slider; +#line 2817 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp14_, NULL, FALSE); +#line 2817 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_saturation_adjustment_gtk_range_value_changed, self); +#line 2818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = self->priv->adjust_tool_window; +#line 2818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = _tmp15_->tint_slider; +#line 2818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp17_, NULL, FALSE); +#line 2818 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp17_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_tint_adjustment_gtk_range_value_changed, self); +#line 2819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->priv->adjust_tool_window; +#line 2819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = _tmp18_->temperature_slider; +#line 2819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp20_, NULL, FALSE); +#line 2819 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp20_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_temperature_adjustment_gtk_range_value_changed, self); +#line 2820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->adjust_tool_window; +#line 2820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp21_->shadows_slider; +#line 2820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp23_, NULL, FALSE); +#line 2820 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp23_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_shadows_adjustment_gtk_range_value_changed, self); +#line 2821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->priv->adjust_tool_window; +#line 2821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = _tmp24_->highlights_slider; +#line 2821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp26_, NULL, FALSE); +#line 2821 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp26_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_highlights_adjustment_gtk_range_value_changed, self); +#line 2822 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = self->priv->adjust_tool_window; +#line 2822 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = _tmp27_->histogram_manipulator; +#line 2822 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("nub-position-changed", TYPE_RGB_HISTOGRAM_MANIPULATOR, &_tmp29_, NULL, FALSE); +#line 2822 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (_tmp28_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp29_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_histogram_constraint_rgb_histogram_manipulator_nub_position_changed, self); +#line 2824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = self->priv->adjust_tool_window; +#line 2824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = _tmp30_->saturation_slider; +#line 2824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("button-press-event", gtk_widget_get_type (), &_tmp32_, NULL, FALSE); +#line 2824 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp32_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = self->priv->adjust_tool_window; +#line 2825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = _tmp33_->exposure_slider; +#line 2825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("button-press-event", gtk_widget_get_type (), &_tmp35_, NULL, FALSE); +#line 2825 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp35_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2826 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = self->priv->adjust_tool_window; +#line 2826 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = _tmp36_->tint_slider; +#line 2826 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("button-press-event", gtk_widget_get_type (), &_tmp38_, NULL, FALSE); +#line 2826 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp38_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2827 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = self->priv->adjust_tool_window; +#line 2827 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = _tmp39_->temperature_slider; +#line 2827 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("button-press-event", gtk_widget_get_type (), &_tmp41_, NULL, FALSE); +#line 2827 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp41_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2828 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = self->priv->adjust_tool_window; +#line 2828 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = _tmp42_->shadows_slider; +#line 2828 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("button-press-event", gtk_widget_get_type (), &_tmp44_, NULL, FALSE); +#line 2828 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp44_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 2829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = self->priv->adjust_tool_window; +#line 2829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = _tmp45_->highlights_slider; +#line 2829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("button-press-event", gtk_widget_get_type (), &_tmp47_, NULL, FALSE); +#line 2829 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp47_, 0, NULL, (GCallback) _editing_tools_adjust_tool_on_hscale_reset_gtk_widget_button_press_event, self); +#line 17118 "EditingTools.c" +} + + +gboolean editing_tools_adjust_tool_enhance (EditingToolsAdjustTool* self) { + gboolean result = FALSE; + EditingToolsAdjustToolAdjustEnhanceCommand* command = NULL; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + EditingToolsAdjustToolAdjustEnhanceCommand* _tmp3_ = NULL; + EditingToolsAdjustToolAdjustEnhanceCommand* _tmp4_ = NULL; + CommandManager* _tmp5_ = NULL; + CommandManager* _tmp6_ = NULL; +#line 2832 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self), FALSE); +#line 2833 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2833 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = editing_tools_photo_canvas_get_photo (_tmp0_); +#line 2833 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _tmp1_; +#line 2833 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = editing_tools_adjust_tool_adjust_enhance_command_new (self, _tmp2_); +#line 2833 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _tmp3_; +#line 2833 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp2_); +#line 2833 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command = _tmp4_; +#line 2834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = app_window_get_command_manager (); +#line 2834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_; +#line 2834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command_manager_execute (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (command, TYPE_COMMAND, Command)); +#line 2834 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _command_manager_unref0 (_tmp6_); +#line 2836 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 2836 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (command); +#line 2836 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 17162 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_on_photos_altered (EditingToolsAdjustTool* self, GeeMap* map) { + GeeMap* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + PixelTransformationBundle* adjustments = NULL; + EditingToolsPhotoCanvas* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + PixelTransformationBundle* _tmp9_ = NULL; + PixelTransformationBundle* _tmp10_ = NULL; + PixelTransformationBundle* _tmp11_ = NULL; +#line 2839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 2840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = map; +#line 2840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = editing_tools_photo_canvas_get_photo (_tmp1_); +#line 2840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 2840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 2840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = !_tmp4_; +#line 2840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp3_); +#line 2840 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp5_) { +#line 2841 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return; +#line 17202 "EditingTools.c" + } +#line 2843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = editing_tools_photo_canvas_get_photo (_tmp6_); +#line 2843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _tmp7_; +#line 2843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = photo_get_color_adjustments (_tmp8_); +#line 2843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_; +#line 2843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp8_); +#line 2843 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + adjustments = _tmp10_; +#line 2844 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = adjustments; +#line 2844 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_set_adjustments (self, _tmp11_); +#line 2839 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (adjustments); +#line 17224 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_set_adjustments (EditingToolsAdjustTool* self, PixelTransformationBundle* new_adjustments) { + PixelTransformationBundle* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp11_ = NULL; +#line 2847 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2847 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (new_adjustments)); +#line 2848 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_unbind_window_handlers (self); +#line 2850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = new_adjustments; +#line 2850 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_update_transformations (self, _tmp0_); +#line 17241 "EditingTools.c" + { + GeeIterator* _adjustment_it = NULL; + PixelTransformationBundle* _tmp1_ = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterable* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = new_adjustments; +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = pixel_transformation_bundle_get_transformations (_tmp1_); +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_; +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = gee_iterable_iterator (_tmp3_); +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = _tmp4_; +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp3_); +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _adjustment_it = _tmp5_; +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + while (TRUE) { +#line 17265 "EditingTools.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PixelTransformation* adjustment = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + PixelTransformation* _tmp10_ = NULL; +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _adjustment_it; +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp7_) { +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17280 "EditingTools.c" + } +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _adjustment_it; +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + adjustment = (PixelTransformation*) _tmp9_; +#line 2853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = adjustment; +#line 2853 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_update_slider (self, _tmp10_); +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (adjustment); +#line 17294 "EditingTools.c" + } +#line 2852 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_adjustment_it); +#line 17298 "EditingTools.c" + } +#line 2855 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_bind_window_handlers (self); +#line 2856 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2856 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp11_); +#line 17306 "EditingTools.c" +} + + +static gpointer _pixel_transformation_ref0 (gpointer self) { +#line 2864 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self ? pixel_transformation_ref (self) : NULL; +#line 17313 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_update_slider (EditingToolsAdjustTool* self, PixelTransformation* transformation) { + PixelTransformation* _tmp0_ = NULL; + PixelTransformationType _tmp1_ = 0; +#line 2861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2861 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (IS_PIXEL_TRANSFORMATION (transformation)); +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = transformation; +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = pixel_transformation_get_transformation_type (_tmp0_); +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + switch (_tmp1_) { +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case PIXEL_TRANSFORMATION_TYPE_TONE_EXPANSION: +#line 17332 "EditingTools.c" + { + ExpansionTransformation* expansion = NULL; + PixelTransformation* _tmp2_ = NULL; + ExpansionTransformation* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 2864 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = transformation; +#line 2864 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _pixel_transformation_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_EXPANSION_TRANSFORMATION, ExpansionTransformation)); +#line 2864 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + expansion = _tmp3_; +#line 2866 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->disable_histogram_refresh; +#line 2866 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp4_) { +#line 17348 "EditingTools.c" + EditingToolsAdjustToolAdjustToolWindow* _tmp5_ = NULL; + RGBHistogramManipulator* _tmp6_ = NULL; + ExpansionTransformation* _tmp7_ = NULL; + gint _tmp8_ = 0; + EditingToolsAdjustToolAdjustToolWindow* _tmp9_ = NULL; + RGBHistogramManipulator* _tmp10_ = NULL; + ExpansionTransformation* _tmp11_ = NULL; + gint _tmp12_ = 0; +#line 2867 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->priv->adjust_tool_window; +#line 2867 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->histogram_manipulator; +#line 2867 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = expansion; +#line 2867 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = expansion_transformation_get_black_point (_tmp7_); +#line 2867 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rgb_histogram_manipulator_set_left_nub_position (_tmp6_, _tmp8_); +#line 2869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = self->priv->adjust_tool_window; +#line 2869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = _tmp9_->histogram_manipulator; +#line 2869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = expansion; +#line 2869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = expansion_transformation_get_white_point (_tmp11_); +#line 2869 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + rgb_histogram_manipulator_set_right_nub_position (_tmp10_, _tmp12_); +#line 17377 "EditingTools.c" + } +#line 2872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (expansion); +#line 2872 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17383 "EditingTools.c" + } +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case PIXEL_TRANSFORMATION_TYPE_SHADOWS: +#line 17387 "EditingTools.c" + { + EditingToolsAdjustToolAdjustToolWindow* _tmp13_ = NULL; + GtkScale* _tmp14_ = NULL; + PixelTransformation* _tmp15_ = NULL; + gfloat _tmp16_ = 0.0F; +#line 2875 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->priv->adjust_tool_window; +#line 2875 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _tmp13_->shadows_slider; +#line 2875 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = transformation; +#line 2875 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = shadow_detail_transformation_get_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_SHADOW_DETAIL_TRANSFORMATION, ShadowDetailTransformation)); +#line 2875 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_range_get_type (), GtkRange), (gdouble) _tmp16_); +#line 2877 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17405 "EditingTools.c" + } +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case PIXEL_TRANSFORMATION_TYPE_HIGHLIGHTS: +#line 17409 "EditingTools.c" + { + EditingToolsAdjustToolAdjustToolWindow* _tmp17_ = NULL; + GtkScale* _tmp18_ = NULL; + PixelTransformation* _tmp19_ = NULL; + gfloat _tmp20_ = 0.0F; +#line 2880 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->priv->adjust_tool_window; +#line 2880 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = _tmp17_->highlights_slider; +#line 2880 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = transformation; +#line 2880 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = highlight_detail_transformation_get_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_HIGHLIGHT_DETAIL_TRANSFORMATION, HighlightDetailTransformation)); +#line 2880 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_range_get_type (), GtkRange), (gdouble) _tmp20_); +#line 2882 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17427 "EditingTools.c" + } +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case PIXEL_TRANSFORMATION_TYPE_EXPOSURE: +#line 17431 "EditingTools.c" + { + EditingToolsAdjustToolAdjustToolWindow* _tmp21_ = NULL; + GtkScale* _tmp22_ = NULL; + PixelTransformation* _tmp23_ = NULL; + gfloat _tmp24_ = 0.0F; +#line 2885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = self->priv->adjust_tool_window; +#line 2885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = _tmp21_->exposure_slider; +#line 2885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = transformation; +#line 2885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = exposure_transformation_get_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_EXPOSURE_TRANSFORMATION, ExposureTransformation)); +#line 2885 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_range_get_type (), GtkRange), (gdouble) _tmp24_); +#line 2887 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17449 "EditingTools.c" + } +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case PIXEL_TRANSFORMATION_TYPE_SATURATION: +#line 17453 "EditingTools.c" + { + EditingToolsAdjustToolAdjustToolWindow* _tmp25_ = NULL; + GtkScale* _tmp26_ = NULL; + PixelTransformation* _tmp27_ = NULL; + gfloat _tmp28_ = 0.0F; +#line 2890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = self->priv->adjust_tool_window; +#line 2890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _tmp25_->saturation_slider; +#line 2890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = transformation; +#line 2890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = saturation_transformation_get_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_SATURATION_TRANSFORMATION, SaturationTransformation)); +#line 2890 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_range_get_type (), GtkRange), (gdouble) _tmp28_); +#line 2892 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17471 "EditingTools.c" + } +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case PIXEL_TRANSFORMATION_TYPE_TINT: +#line 17475 "EditingTools.c" + { + EditingToolsAdjustToolAdjustToolWindow* _tmp29_ = NULL; + GtkScale* _tmp30_ = NULL; + PixelTransformation* _tmp31_ = NULL; + gfloat _tmp32_ = 0.0F; +#line 2895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->priv->adjust_tool_window; +#line 2895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = _tmp29_->tint_slider; +#line 2895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = transformation; +#line 2895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = tint_transformation_get_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_TINT_TRANSFORMATION, TintTransformation)); +#line 2895 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_range_get_type (), GtkRange), (gdouble) _tmp32_); +#line 2897 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17493 "EditingTools.c" + } +#line 2862 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + case PIXEL_TRANSFORMATION_TYPE_TEMPERATURE: +#line 17497 "EditingTools.c" + { + EditingToolsAdjustToolAdjustToolWindow* _tmp33_ = NULL; + GtkScale* _tmp34_ = NULL; + PixelTransformation* _tmp35_ = NULL; + gfloat _tmp36_ = 0.0F; +#line 2900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = self->priv->adjust_tool_window; +#line 2900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = _tmp33_->temperature_slider; +#line 2900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = transformation; +#line 2900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = temperature_transformation_get_parameter (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_TEMPERATURE_TRANSFORMATION, TemperatureTransformation)); +#line 2900 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_range_get_type (), GtkRange), (gdouble) _tmp36_); +#line 2902 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17515 "EditingTools.c" + } + default: + { + PixelTransformation* _tmp37_ = NULL; + PixelTransformationType _tmp38_ = 0; +#line 2905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = transformation; +#line 2905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = pixel_transformation_get_transformation_type (_tmp37_); +#line 2905 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_error ("EditingTools.vala:2905: Unknown adjustment: %d", (gint) _tmp38_); +#line 17527 "EditingTools.c" + } + } +} + + +static void editing_tools_adjust_tool_init_fp_pixel_cache (EditingToolsAdjustTool* self, GdkPixbuf* source) { + gint source_width = 0; + GdkPixbuf* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint source_height = 0; + GdkPixbuf* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint source_num_channels = 0; + GdkPixbuf* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint source_rowstride = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + guchar* source_pixels = NULL; + GdkPixbuf* _tmp8_ = NULL; + guint8* _tmp9_ = NULL; + gint source_pixels_length1 = 0; + gint _source_pixels_size_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gfloat* _tmp12_ = NULL; + gint cache_pixel_index = 0; + gfloat INV_255 = 0.0F; +#line 2909 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (self)); +#line 2909 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (GDK_IS_PIXBUF (source)); +#line 2910 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = source; +#line 2910 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = gdk_pixbuf_get_width (_tmp0_); +#line 2910 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + source_width = _tmp1_; +#line 2911 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = source; +#line 2911 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = gdk_pixbuf_get_height (_tmp2_); +#line 2911 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + source_height = _tmp3_; +#line 2912 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = source; +#line 2912 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = gdk_pixbuf_get_n_channels (_tmp4_); +#line 2912 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + source_num_channels = _tmp5_; +#line 2913 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = source; +#line 2913 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = gdk_pixbuf_get_rowstride (_tmp6_); +#line 2913 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + source_rowstride = _tmp7_; +#line 2914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = source; +#line 2914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = gdk_pixbuf_get_pixels (_tmp8_); +#line 2914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + source_pixels = _tmp9_; +#line 2914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + source_pixels_length1 = -1; +#line 2914 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _source_pixels_size_ = source_pixels_length1; +#line 2916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = source_width; +#line 2916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = source_height; +#line 2916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = g_new0 (gfloat, (3 * _tmp10_) * _tmp11_); +#line 2916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache = (g_free (self->priv->fp_pixel_cache), NULL); +#line 2916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache = _tmp12_; +#line 2916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache_length1 = (3 * _tmp10_) * _tmp11_; +#line 2916 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->_fp_pixel_cache_size_ = self->priv->fp_pixel_cache_length1; +#line 2917 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cache_pixel_index = 0; +#line 2918 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + INV_255 = 1.0f / 255.0f; +#line 17612 "EditingTools.c" + { + gint j = 0; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + j = 0; +#line 17617 "EditingTools.c" + { + gboolean _tmp13_ = FALSE; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = TRUE; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + while (TRUE) { +#line 17624 "EditingTools.c" + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint row_start_index = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint row_end_index = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp13_) { +#line 17636 "EditingTools.c" + gint _tmp14_ = 0; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = j; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + j = _tmp14_ + 1; +#line 17642 "EditingTools.c" + } +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = FALSE; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = j; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = source_height; +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!(_tmp15_ < _tmp16_)) { +#line 2920 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17654 "EditingTools.c" + } +#line 2921 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = j; +#line 2921 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = source_rowstride; +#line 2921 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + row_start_index = _tmp17_ * _tmp18_; +#line 2922 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = row_start_index; +#line 2922 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = source_width; +#line 2922 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = source_num_channels; +#line 2922 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + row_end_index = _tmp19_ + (_tmp20_ * _tmp21_); +#line 17670 "EditingTools.c" + { + gint i = 0; + gint _tmp22_ = 0; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = row_start_index; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + i = _tmp22_; +#line 17678 "EditingTools.c" + { + gboolean _tmp23_ = FALSE; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = TRUE; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + while (TRUE) { +#line 17685 "EditingTools.c" + gint _tmp26_ = 0; + gint _tmp27_ = 0; + gfloat* _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gint _tmp29_ = 0; + guchar* _tmp30_ = NULL; + gint _tmp30__length1 = 0; + gint _tmp31_ = 0; + guchar _tmp32_ = '\0'; + gfloat _tmp33_ = 0.0F; + gfloat _tmp34_ = 0.0F; + gfloat* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + gint _tmp36_ = 0; + guchar* _tmp37_ = NULL; + gint _tmp37__length1 = 0; + gint _tmp38_ = 0; + guchar _tmp39_ = '\0'; + gfloat _tmp40_ = 0.0F; + gfloat _tmp41_ = 0.0F; + gfloat* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gint _tmp43_ = 0; + guchar* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + gint _tmp45_ = 0; + guchar _tmp46_ = '\0'; + gfloat _tmp47_ = 0.0F; + gfloat _tmp48_ = 0.0F; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!_tmp23_) { +#line 17717 "EditingTools.c" + gint _tmp24_ = 0; + gint _tmp25_ = 0; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = i; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = source_num_channels; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + i = _tmp24_ + _tmp25_; +#line 17726 "EditingTools.c" + } +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = FALSE; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = i; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = row_end_index; +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (!(_tmp26_ < _tmp27_)) { +#line 2923 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + break; +#line 17738 "EditingTools.c" + } +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = self->priv->fp_pixel_cache; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28__length1 = self->priv->fp_pixel_cache_length1; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = cache_pixel_index; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cache_pixel_index = _tmp29_ + 1; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = source_pixels; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30__length1 = source_pixels_length1; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = i; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = _tmp30_[_tmp31_]; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = INV_255; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_[_tmp29_] = ((gfloat) _tmp32_) * _tmp33_; +#line 2924 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = _tmp28_[_tmp29_]; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = self->priv->fp_pixel_cache; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35__length1 = self->priv->fp_pixel_cache_length1; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = cache_pixel_index; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cache_pixel_index = _tmp36_ + 1; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = source_pixels; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37__length1 = source_pixels_length1; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = i; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = _tmp37_[_tmp38_ + 1]; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = INV_255; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_[_tmp36_] = ((gfloat) _tmp39_) * _tmp40_; +#line 2925 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = _tmp35_[_tmp36_]; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = self->priv->fp_pixel_cache; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42__length1 = self->priv->fp_pixel_cache_length1; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = cache_pixel_index; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + cache_pixel_index = _tmp43_ + 1; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44_ = source_pixels; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp44__length1 = source_pixels_length1; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp45_ = i; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp46_ = _tmp44_[_tmp45_ + 2]; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp47_ = INV_255; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_[_tmp43_] = ((gfloat) _tmp46_) * _tmp47_; +#line 2926 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp48_ = _tmp42_[_tmp43_]; +#line 17806 "EditingTools.c" + } + } + } + } + } + } +} + + +static gboolean editing_tools_adjust_tool_real_on_keypress (EditingToolsEditingTool* base, GdkEventKey* event) { + EditingToolsAdjustTool * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GdkEventKey* _tmp2_ = NULL; + guint _tmp3_ = 0U; + const gchar* _tmp4_ = NULL; + GdkEventKey* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 2931 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool); +#line 2931 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 2932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = event; +#line 2932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = _tmp2_->keyval; +#line 2932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = gdk_keyval_name (_tmp3_); +#line 2932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (g_strcmp0 (_tmp4_, "KP_Enter") == 0) { +#line 2932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = TRUE; +#line 17840 "EditingTools.c" + } else { + GdkEventKey* _tmp5_ = NULL; + guint _tmp6_ = 0U; + const gchar* _tmp7_ = NULL; +#line 2933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = event; +#line 2933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _tmp5_->keyval; +#line 2933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = gdk_keyval_name (_tmp6_); +#line 2933 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = g_strcmp0 (_tmp7_, "Enter") == 0; +#line 17853 "EditingTools.c" + } +#line 2932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp1_) { +#line 2932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = TRUE; +#line 17859 "EditingTools.c" + } else { + GdkEventKey* _tmp8_ = NULL; + guint _tmp9_ = 0U; + const gchar* _tmp10_ = NULL; +#line 2934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = event; +#line 2934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_->keyval; +#line 2934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = gdk_keyval_name (_tmp9_); +#line 2934 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = g_strcmp0 (_tmp10_, "Return") == 0; +#line 17872 "EditingTools.c" + } +#line 2932 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_) { +#line 2935 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_on_ok (self); +#line 2936 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 2936 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 17882 "EditingTools.c" + } +#line 2939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = event; +#line 2939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_adjust_tool_parent_class)->on_keypress (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), _tmp11_); +#line 2939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp12_; +#line 2939 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 17892 "EditingTools.c" +} + + +static EditingToolsAdjustToolAdjustToolWindow* editing_tools_adjust_tool_adjust_tool_window_construct (GType object_type, GtkWindow* container) { + EditingToolsAdjustToolAdjustToolWindow * self = NULL; + GtkWindow* _tmp0_ = NULL; + GtkGrid* slider_organizer = NULL; + GtkGrid* _tmp1_ = NULL; + GtkLabel* exposure_label = NULL; + const gchar* _tmp2_ = NULL; + GtkLabel* _tmp3_ = NULL; + GtkScale* _tmp4_ = NULL; + GtkScale* _tmp5_ = NULL; + GtkScale* _tmp6_ = NULL; + GtkScale* _tmp7_ = NULL; + GtkLabel* saturation_label = NULL; + const gchar* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; + GtkScale* _tmp10_ = NULL; + GtkScale* _tmp11_ = NULL; + GtkScale* _tmp12_ = NULL; + GtkScale* _tmp13_ = NULL; + GtkLabel* tint_label = NULL; + const gchar* _tmp14_ = NULL; + GtkLabel* _tmp15_ = NULL; + GtkScale* _tmp16_ = NULL; + GtkScale* _tmp17_ = NULL; + GtkScale* _tmp18_ = NULL; + GtkScale* _tmp19_ = NULL; + GtkLabel* temperature_label = NULL; + const gchar* _tmp20_ = NULL; + GtkLabel* _tmp21_ = NULL; + GtkScale* _tmp22_ = NULL; + GtkScale* _tmp23_ = NULL; + GtkScale* _tmp24_ = NULL; + GtkScale* _tmp25_ = NULL; + GtkLabel* shadows_label = NULL; + const gchar* _tmp26_ = NULL; + GtkLabel* _tmp27_ = NULL; + GtkScale* _tmp28_ = NULL; + GtkScale* _tmp29_ = NULL; + GtkScale* _tmp30_ = NULL; + GtkScale* _tmp31_ = NULL; + GtkLabel* highlights_label = NULL; + const gchar* _tmp32_ = NULL; + GtkLabel* _tmp33_ = NULL; + GtkScale* _tmp34_ = NULL; + GtkScale* _tmp35_ = NULL; + GtkScale* _tmp36_ = NULL; + GtkBox* button_layouter = NULL; + GtkBox* _tmp37_ = NULL; + GtkButton* _tmp38_ = NULL; + GtkButton* _tmp39_ = NULL; + GtkButton* _tmp40_ = NULL; + GtkAlignment* histogram_aligner = NULL; + GtkAlignment* _tmp41_ = NULL; + RGBHistogramManipulator* _tmp42_ = NULL; + GtkBox* pane_layouter = NULL; + GtkBox* _tmp43_ = NULL; +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (GTK_IS_WINDOW (container), NULL); +#line 2231 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = container; +#line 2231 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsAdjustToolAdjustToolWindow*) editing_tools_editing_tool_window_construct (object_type, _tmp0_); +#line 2233 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = (GtkGrid*) gtk_grid_new (); +#line 2233 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp1_); +#line 2233 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + slider_organizer = _tmp1_; +#line 2234 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_set_column_homogeneous (slider_organizer, FALSE); +#line 2235 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_set_row_spacing (slider_organizer, (guint) 12); +#line 2236 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_set_column_spacing (slider_organizer, (guint) 12); +#line 2237 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_margin_left (G_TYPE_CHECK_INSTANCE_CAST (slider_organizer, gtk_widget_get_type (), GtkWidget), 12); +#line 2238 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_margin_bottom (G_TYPE_CHECK_INSTANCE_CAST (slider_organizer, gtk_widget_get_type (), GtkWidget), 12); +#line 2240 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _ ("Exposure:"); +#line 2240 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp2_); +#line 2240 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp3_); +#line 2240 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + exposure_label = _tmp3_; +#line 2241 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (exposure_label, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 2242 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (exposure_label, gtk_widget_get_type (), GtkWidget), 0, 0, 1, 1); +#line 2243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->exposure_slider; +#line 2243 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), 1, 0, 1, 1); +#line 2244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = self->exposure_slider; +#line 2244 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_ADJUST_TOOL_SLIDER_WIDTH, -1); +#line 2245 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->exposure_slider; +#line 2245 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_scale_set_draw_value (_tmp6_, FALSE); +#line 2246 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = self->exposure_slider; +#line 2246 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_margin_right (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), 0); +#line 2248 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = _ ("Saturation:"); +#line 2248 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp8_); +#line 2248 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp9_); +#line 2248 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + saturation_label = _tmp9_; +#line 2249 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (saturation_label, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 2250 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (saturation_label, gtk_widget_get_type (), GtkWidget), 0, 1, 1, 1); +#line 2251 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = self->saturation_slider; +#line 2251 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), 1, 1, 1, 1); +#line 2252 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->saturation_slider; +#line 2252 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_ADJUST_TOOL_SLIDER_WIDTH, -1); +#line 2253 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = self->saturation_slider; +#line 2253 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_scale_set_draw_value (_tmp12_, FALSE); +#line 2254 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = self->saturation_slider; +#line 2254 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_margin_right (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget), 0); +#line 2256 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = _ ("Tint:"); +#line 2256 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp14_); +#line 2256 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp15_); +#line 2256 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + tint_label = _tmp15_; +#line 2257 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (tint_label, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 2258 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (tint_label, gtk_widget_get_type (), GtkWidget), 0, 2, 1, 1); +#line 2259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = self->tint_slider; +#line 2259 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), 1, 2, 1, 1); +#line 2260 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = self->tint_slider; +#line 2260 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_ADJUST_TOOL_SLIDER_WIDTH, -1); +#line 2261 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp18_ = self->tint_slider; +#line 2261 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_scale_set_draw_value (_tmp18_, FALSE); +#line 2262 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp19_ = self->tint_slider; +#line 2262 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_margin_right (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), 0); +#line 2264 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp20_ = _ ("Temperature:"); +#line 2264 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp21_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp20_); +#line 2264 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp21_); +#line 2264 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + temperature_label = _tmp21_; +#line 2266 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (temperature_label, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 2267 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (temperature_label, gtk_widget_get_type (), GtkWidget), 0, 3, 1, 1); +#line 2268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp22_ = self->temperature_slider; +#line 2268 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), 1, 3, 1, 1); +#line 2269 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp23_ = self->temperature_slider; +#line 2269 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_ADJUST_TOOL_SLIDER_WIDTH, -1); +#line 2270 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp24_ = self->temperature_slider; +#line 2270 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_scale_set_draw_value (_tmp24_, FALSE); +#line 2271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp25_ = self->temperature_slider; +#line 2271 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_margin_right (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), 0); +#line 2273 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp26_ = _ ("Shadows:"); +#line 2273 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp27_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp26_); +#line 2273 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp27_); +#line 2273 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + shadows_label = _tmp27_; +#line 2274 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (shadows_label, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 2275 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (shadows_label, gtk_widget_get_type (), GtkWidget), 0, 4, 1, 1); +#line 2276 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp28_ = self->shadows_slider; +#line 2276 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), 1, 4, 1, 1); +#line 2277 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp29_ = self->shadows_slider; +#line 2277 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_ADJUST_TOOL_SLIDER_WIDTH, -1); +#line 2278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp30_ = self->shadows_slider; +#line 2278 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_scale_set_draw_value (_tmp30_, FALSE); +#line 2279 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp31_ = self->shadows_slider; +#line 2279 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_margin_right (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget), 0); +#line 2281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp32_ = _ ("Highlights:"); +#line 2281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp33_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp32_); +#line 2281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp33_); +#line 2281 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + highlights_label = _tmp33_; +#line 2282 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (highlights_label, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 2283 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (highlights_label, gtk_widget_get_type (), GtkWidget), 0, 5, 1, 1); +#line 2284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp34_ = self->highlights_slider; +#line 2284 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_grid_attach (slider_organizer, G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget), 1, 5, 1, 1); +#line 2285 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp35_ = self->highlights_slider; +#line 2285 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_ADJUST_TOOL_SLIDER_WIDTH, -1); +#line 2286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp36_ = self->highlights_slider; +#line 2286 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_scale_set_draw_value (_tmp36_, FALSE); +#line 2288 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp37_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); +#line 2288 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp37_); +#line 2288 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + button_layouter = _tmp37_; +#line 2289 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_box_set_homogeneous (button_layouter, TRUE); +#line 2290 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp38_ = self->cancel_button; +#line 2290 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_box_pack_start (button_layouter, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 1); +#line 2291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp39_ = self->reset_button; +#line 2291 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_box_pack_start (button_layouter, G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 1); +#line 2292 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp40_ = self->ok_button; +#line 2292 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_box_pack_start (button_layouter, G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 1); +#line 2294 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp41_ = (GtkAlignment*) gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f); +#line 2294 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp41_); +#line 2294 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + histogram_aligner = _tmp41_; +#line 2295 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp42_ = self->histogram_manipulator; +#line 2295 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (histogram_aligner, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, gtk_widget_get_type (), GtkWidget)); +#line 2296 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_alignment_set_padding (histogram_aligner, (guint) 12, (guint) 8, (guint) 12, (guint) 12); +#line 2298 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp43_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); +#line 2298 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp43_); +#line 2298 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pane_layouter = _tmp43_; +#line 2299 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (pane_layouter, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (histogram_aligner, gtk_widget_get_type (), GtkWidget)); +#line 2300 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (pane_layouter, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (slider_organizer, gtk_widget_get_type (), GtkWidget)); +#line 2301 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (pane_layouter, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (button_layouter, gtk_widget_get_type (), GtkWidget)); +#line 2302 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_box_set_child_packing (pane_layouter, G_TYPE_CHECK_INSTANCE_CAST (histogram_aligner, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0, GTK_PACK_START); +#line 2304 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (pane_layouter, gtk_widget_get_type (), GtkWidget)); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (pane_layouter); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (histogram_aligner); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (button_layouter); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (highlights_label); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (shadows_label); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (temperature_label); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (tint_label); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (saturation_label); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (exposure_label); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (slider_organizer); +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 18208 "EditingTools.c" +} + + +static EditingToolsAdjustToolAdjustToolWindow* editing_tools_adjust_tool_adjust_tool_window_new (GtkWindow* container) { +#line 2230 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_adjust_tool_adjust_tool_window_construct (EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_WINDOW, container); +#line 18215 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_tool_window_class_init (EditingToolsAdjustToolAdjustToolWindowClass * klass) { +#line 2204 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_adjust_tool_window_parent_class = g_type_class_peek_parent (klass); +#line 2204 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_adjust_tool_adjust_tool_window_finalize; +#line 18224 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_tool_window_instance_init (EditingToolsAdjustToolAdjustToolWindow * self) { + GtkScale* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + GtkScale* _tmp2_ = NULL; + GtkScale* _tmp3_ = NULL; + GtkScale* _tmp4_ = NULL; + GtkScale* _tmp5_ = NULL; + GtkButton* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GtkButton* _tmp8_ = NULL; + GtkButton* _tmp9_ = NULL; + RGBHistogramManipulator* _tmp10_ = NULL; +#line 2205 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = (GtkScale*) gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, (gdouble) EXPOSURE_TRANSFORMATION_MIN_PARAMETER, (gdouble) EXPOSURE_TRANSFORMATION_MAX_PARAMETER, 1.0); +#line 2205 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp0_); +#line 2205 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->exposure_slider = _tmp0_; +#line 2208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = (GtkScale*) gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, (gdouble) SATURATION_TRANSFORMATION_MIN_PARAMETER, (gdouble) SATURATION_TRANSFORMATION_MAX_PARAMETER, 1.0); +#line 2208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp1_); +#line 2208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->saturation_slider = _tmp1_; +#line 2211 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = (GtkScale*) gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, (gdouble) TINT_TRANSFORMATION_MIN_PARAMETER, (gdouble) TINT_TRANSFORMATION_MAX_PARAMETER, 1.0); +#line 2211 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp2_); +#line 2211 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->tint_slider = _tmp2_; +#line 2213 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = (GtkScale*) gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, (gdouble) TEMPERATURE_TRANSFORMATION_MIN_PARAMETER, (gdouble) TEMPERATURE_TRANSFORMATION_MAX_PARAMETER, 1.0); +#line 2213 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp3_); +#line 2213 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->temperature_slider = _tmp3_; +#line 2217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = (GtkScale*) gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, (gdouble) SHADOW_DETAIL_TRANSFORMATION_MIN_PARAMETER, (gdouble) SHADOW_DETAIL_TRANSFORMATION_MAX_PARAMETER, 1.0); +#line 2217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp4_); +#line 2217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->shadows_slider = _tmp4_; +#line 2221 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = (GtkScale*) gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, (gdouble) HIGHLIGHT_DETAIL_TRANSFORMATION_MIN_PARAMETER, (gdouble) HIGHLIGHT_DETAIL_TRANSFORMATION_MAX_PARAMETER, 1.0); +#line 2221 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp5_); +#line 2221 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->highlights_slider = _tmp5_; +#line 2225 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = (GtkButton*) gtk_button_new_with_mnemonic (RESOURCES_OK_LABEL); +#line 2225 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp6_); +#line 2225 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->ok_button = _tmp6_; +#line 2226 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _ ("_Reset"); +#line 2226 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = (GtkButton*) gtk_button_new_with_mnemonic (_tmp7_); +#line 2226 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp8_); +#line 2226 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->reset_button = _tmp8_; +#line 2227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = (GtkButton*) gtk_button_new_with_mnemonic (RESOURCES_CANCEL_LABEL); +#line 2227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp9_); +#line 2227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->cancel_button = _tmp9_; +#line 2228 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = rgb_histogram_manipulator_new (); +#line 2228 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_object_ref_sink (_tmp10_); +#line 2228 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->histogram_manipulator = _tmp10_; +#line 18302 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_tool_window_finalize (GObject* obj) { + EditingToolsAdjustToolAdjustToolWindow * self; +#line 2204 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_WINDOW, EditingToolsAdjustToolAdjustToolWindow); +#line 2205 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->exposure_slider); +#line 2208 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->saturation_slider); +#line 2211 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->tint_slider); +#line 2213 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->temperature_slider); +#line 2217 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->shadows_slider); +#line 2221 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->highlights_slider); +#line 2225 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->ok_button); +#line 2226 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->reset_button); +#line 2227 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->cancel_button); +#line 2228 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->histogram_manipulator); +#line 2204 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (editing_tools_adjust_tool_adjust_tool_window_parent_class)->finalize (obj); +#line 18332 "EditingTools.c" +} + + +static GType editing_tools_adjust_tool_adjust_tool_window_get_type (void) { + static volatile gsize editing_tools_adjust_tool_adjust_tool_window_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_adjust_tool_adjust_tool_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsAdjustToolAdjustToolWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_adjust_tool_adjust_tool_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsAdjustToolAdjustToolWindow), 0, (GInstanceInitFunc) editing_tools_adjust_tool_adjust_tool_window_instance_init, NULL }; + GType editing_tools_adjust_tool_adjust_tool_window_type_id; + editing_tools_adjust_tool_adjust_tool_window_type_id = g_type_register_static (EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, "EditingToolsAdjustToolAdjustToolWindow", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_adjust_tool_adjust_tool_window_type_id__volatile, editing_tools_adjust_tool_adjust_tool_window_type_id); + } + return editing_tools_adjust_tool_adjust_tool_window_type_id__volatile; +} + + +static void _editing_tools_adjust_tool_adjust_tool_command_on_owner_deactivated_editing_tools_editing_tool_deactivated (EditingToolsEditingTool* _sender, gpointer self) { +#line 2320 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_adjust_tool_command_on_owner_deactivated ((EditingToolsAdjustToolAdjustToolCommand*) self); +#line 18351 "EditingTools.c" +} + + +static EditingToolsAdjustToolAdjustToolCommand* editing_tools_adjust_tool_adjust_tool_command_construct (GType object_type, EditingToolsAdjustTool* owner, const gchar* name, const gchar* explanation) { + EditingToolsAdjustToolAdjustToolCommand * self = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + EditingToolsAdjustTool* _tmp2_ = NULL; + EditingToolsAdjustTool* _tmp3_ = NULL; +#line 2311 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (owner), NULL); +#line 2311 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 2311 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (explanation != NULL, NULL); +#line 2312 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = name; +#line 2312 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = explanation; +#line 2312 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsAdjustToolAdjustToolCommand*) command_construct (object_type, _tmp0_, _tmp1_); +#line 2314 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = owner; +#line 2314 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->owner = _tmp2_; +#line 2315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = owner; +#line 2315 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), "deactivated", (GCallback) _editing_tools_adjust_tool_adjust_tool_command_on_owner_deactivated_editing_tools_editing_tool_deactivated, self, 0); +#line 2311 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 18383 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_tool_command_on_owner_deactivated (EditingToolsAdjustToolAdjustToolCommand* self) { + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; +#line 2323 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_if_fail (EDITING_TOOLS_ADJUST_TOOL_IS_ADJUST_TOOL_COMMAND (self)); +#line 2326 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = app_window_get_command_manager (); +#line 2326 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _tmp0_; +#line 2326 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command_manager_reset (_tmp1_); +#line 2326 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _command_manager_unref0 (_tmp1_); +#line 18400 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_tool_command_class_init (EditingToolsAdjustToolAdjustToolCommandClass * klass) { +#line 2308 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_adjust_tool_command_parent_class = g_type_class_peek_parent (klass); +#line 2308 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_adjust_tool_adjust_tool_command_finalize; +#line 18409 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_tool_command_instance_init (EditingToolsAdjustToolAdjustToolCommand * self) { +} + + +static void editing_tools_adjust_tool_adjust_tool_command_finalize (GObject* obj) { + EditingToolsAdjustToolAdjustToolCommand * self; + EditingToolsAdjustTool* _tmp0_ = NULL; +#line 2308 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand); +#line 2319 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->owner; +#line 2319 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ != NULL) { +#line 18426 "EditingTools.c" + EditingToolsAdjustTool* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 2320 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->owner; +#line 2320 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_parse_name ("deactivated", EDITING_TOOLS_TYPE_EDITING_TOOL, &_tmp2_, NULL, FALSE); +#line 2320 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _editing_tools_adjust_tool_adjust_tool_command_on_owner_deactivated_editing_tools_editing_tool_deactivated, self); +#line 18435 "EditingTools.c" + } +#line 2308 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (editing_tools_adjust_tool_adjust_tool_command_parent_class)->finalize (obj); +#line 18439 "EditingTools.c" +} + + +static GType editing_tools_adjust_tool_adjust_tool_command_get_type (void) { + static volatile gsize editing_tools_adjust_tool_adjust_tool_command_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_adjust_tool_adjust_tool_command_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsAdjustToolAdjustToolCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_adjust_tool_adjust_tool_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsAdjustToolAdjustToolCommand), 0, (GInstanceInitFunc) editing_tools_adjust_tool_adjust_tool_command_instance_init, NULL }; + GType editing_tools_adjust_tool_adjust_tool_command_type_id; + editing_tools_adjust_tool_adjust_tool_command_type_id = g_type_register_static (TYPE_COMMAND, "EditingToolsAdjustToolAdjustToolCommand", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&editing_tools_adjust_tool_adjust_tool_command_type_id__volatile, editing_tools_adjust_tool_adjust_tool_command_type_id); + } + return editing_tools_adjust_tool_adjust_tool_command_type_id__volatile; +} + + +static EditingToolsAdjustToolAdjustResetCommand* editing_tools_adjust_tool_adjust_reset_command_construct (GType object_type, EditingToolsAdjustTool* owner, PixelTransformationBundle* current) { + EditingToolsAdjustToolAdjustResetCommand * self = NULL; + EditingToolsAdjustTool* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PixelTransformationBundle* _tmp3_ = NULL; + PixelTransformationBundle* _tmp4_ = NULL; + PixelTransformationBundle* _tmp5_ = NULL; + PixelTransformationBundle* _tmp6_ = NULL; +#line 2334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (owner), NULL); +#line 2334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION_BUNDLE (current), NULL); +#line 2335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = owner; +#line 2335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _ ("Reset Colors"); +#line 2335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _ ("Reset all color adjustments to original"); +#line 2335 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsAdjustToolAdjustResetCommand*) editing_tools_adjust_tool_adjust_tool_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_); +#line 2337 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = current; +#line 2337 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = pixel_transformation_bundle_copy (_tmp3_); +#line 2337 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->original); +#line 2337 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->original = _tmp4_; +#line 2338 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = pixel_transformation_bundle_new (); +#line 2338 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->reset); +#line 2338 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->reset = _tmp5_; +#line 2339 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = self->priv->reset; +#line 2339 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + pixel_transformation_bundle_set_to_identity (_tmp6_); +#line 2334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 18496 "EditingTools.c" +} + + +static EditingToolsAdjustToolAdjustResetCommand* editing_tools_adjust_tool_adjust_reset_command_new (EditingToolsAdjustTool* owner, PixelTransformationBundle* current) { +#line 2334 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_adjust_tool_adjust_reset_command_construct (EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, owner, current); +#line 18503 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_reset_command_real_execute (Command* base) { + EditingToolsAdjustToolAdjustResetCommand * self; + EditingToolsAdjustTool* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 2342 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, EditingToolsAdjustToolAdjustResetCommand); +#line 2343 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2343 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->reset; +#line 2343 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_set_adjustments (_tmp0_, _tmp1_); +#line 18519 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_reset_command_real_undo (Command* base) { + EditingToolsAdjustToolAdjustResetCommand * self; + EditingToolsAdjustTool* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 2346 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, EditingToolsAdjustToolAdjustResetCommand); +#line 2347 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2347 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->original; +#line 2347 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_set_adjustments (_tmp0_, _tmp1_); +#line 18535 "EditingTools.c" +} + + +static gboolean editing_tools_adjust_tool_adjust_reset_command_real_compress (Command* base, Command* command) { + EditingToolsAdjustToolAdjustResetCommand * self; + gboolean result = FALSE; + EditingToolsAdjustToolAdjustResetCommand* reset_command = NULL; + Command* _tmp0_ = NULL; + EditingToolsAdjustToolAdjustResetCommand* _tmp1_ = NULL; + EditingToolsAdjustToolAdjustResetCommand* _tmp2_ = NULL; + EditingToolsAdjustToolAdjustResetCommand* _tmp3_ = NULL; + EditingToolsAdjustTool* _tmp4_ = NULL; + EditingToolsAdjustTool* _tmp5_ = NULL; +#line 2350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, EditingToolsAdjustToolAdjustResetCommand); +#line 2350 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_COMMAND (command), FALSE); +#line 2351 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = command; +#line 2351 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND) ? ((EditingToolsAdjustToolAdjustResetCommand*) _tmp0_) : NULL); +#line 2351 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + reset_command = _tmp1_; +#line 2352 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = reset_command; +#line 2352 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp2_ == NULL) { +#line 2353 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 2353 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (reset_command); +#line 2353 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 18569 "EditingTools.c" + } +#line 2355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = reset_command; +#line 2355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2355 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp4_ != _tmp5_) { +#line 2356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 2356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (reset_command); +#line 2356 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 18585 "EditingTools.c" + } +#line 2359 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 2359 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (reset_command); +#line 2359 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 18593 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_reset_command_class_init (EditingToolsAdjustToolAdjustResetCommandClass * klass) { +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_adjust_reset_command_parent_class = g_type_class_peek_parent (klass); +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsAdjustToolAdjustResetCommandPrivate)); +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->execute = editing_tools_adjust_tool_adjust_reset_command_real_execute; +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->undo = editing_tools_adjust_tool_adjust_reset_command_real_undo; +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->compress = editing_tools_adjust_tool_adjust_reset_command_real_compress; +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_adjust_tool_adjust_reset_command_finalize; +#line 18610 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_reset_command_instance_init (EditingToolsAdjustToolAdjustResetCommand * self) { +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_ADJUST_TOOL_ADJUST_RESET_COMMAND_GET_PRIVATE (self); +#line 18617 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_reset_command_finalize (GObject* obj) { + EditingToolsAdjustToolAdjustResetCommand * self; +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_RESET_COMMAND, EditingToolsAdjustToolAdjustResetCommand); +#line 2331 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->original); +#line 2332 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->reset); +#line 2330 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (editing_tools_adjust_tool_adjust_reset_command_parent_class)->finalize (obj); +#line 18631 "EditingTools.c" +} + + +static GType editing_tools_adjust_tool_adjust_reset_command_get_type (void) { + static volatile gsize editing_tools_adjust_tool_adjust_reset_command_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_adjust_tool_adjust_reset_command_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsAdjustToolAdjustResetCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_adjust_tool_adjust_reset_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsAdjustToolAdjustResetCommand), 0, (GInstanceInitFunc) editing_tools_adjust_tool_adjust_reset_command_instance_init, NULL }; + GType editing_tools_adjust_tool_adjust_reset_command_type_id; + editing_tools_adjust_tool_adjust_reset_command_type_id = g_type_register_static (EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, "EditingToolsAdjustToolAdjustResetCommand", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_adjust_tool_adjust_reset_command_type_id__volatile, editing_tools_adjust_tool_adjust_reset_command_type_id); + } + return editing_tools_adjust_tool_adjust_reset_command_type_id__volatile; +} + + +static EditingToolsAdjustToolSliderAdjustmentCommand* editing_tools_adjust_tool_slider_adjustment_command_construct (GType object_type, EditingToolsAdjustTool* owner, PixelTransformation* old_transformation, PixelTransformation* new_transformation, const gchar* name) { + EditingToolsAdjustToolSliderAdjustmentCommand * self = NULL; + EditingToolsAdjustTool* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PixelTransformation* _tmp3_ = NULL; + PixelTransformation* _tmp4_ = NULL; + PixelTransformation* _tmp5_ = NULL; + PixelTransformation* _tmp6_ = NULL; + PixelTransformation* _tmp7_ = NULL; + PixelTransformationType _tmp8_ = 0; + PixelTransformation* _tmp9_ = NULL; + PixelTransformationType _tmp10_ = 0; + PixelTransformationType _tmp11_ = 0; +#line 2368 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (owner), NULL); +#line 2368 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (old_transformation), NULL); +#line 2368 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PIXEL_TRANSFORMATION (new_transformation), NULL); +#line 2368 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 2370 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = owner; +#line 2370 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = name; +#line 2370 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = name; +#line 2370 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsAdjustToolSliderAdjustmentCommand*) editing_tools_adjust_tool_adjust_tool_command_construct (object_type, _tmp0_, _tmp1_, _tmp2_); +#line 2372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = old_transformation; +#line 2372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = _pixel_transformation_ref0 (_tmp3_); +#line 2372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (self->priv->old_transformation); +#line 2372 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->old_transformation = _tmp4_; +#line 2373 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = new_transformation; +#line 2373 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = _pixel_transformation_ref0 (_tmp5_); +#line 2373 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (self->priv->new_transformation); +#line 2373 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->new_transformation = _tmp6_; +#line 2374 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = old_transformation; +#line 2374 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = pixel_transformation_get_transformation_type (_tmp7_); +#line 2374 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->transformation_type = _tmp8_; +#line 2375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = new_transformation; +#line 2375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = pixel_transformation_get_transformation_type (_tmp9_); +#line 2375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = self->priv->transformation_type; +#line 2375 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _vala_assert (_tmp10_ == _tmp11_, "new_transformation.get_transformation_type() == transformation_type"); +#line 2368 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 18709 "EditingTools.c" +} + + +static EditingToolsAdjustToolSliderAdjustmentCommand* editing_tools_adjust_tool_slider_adjustment_command_new (EditingToolsAdjustTool* owner, PixelTransformation* old_transformation, PixelTransformation* new_transformation, const gchar* name) { +#line 2368 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_adjust_tool_slider_adjustment_command_construct (EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, owner, old_transformation, new_transformation, name); +#line 18716 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_slider_adjustment_command_real_execute (Command* base) { + EditingToolsAdjustToolSliderAdjustmentCommand * self; + EditingToolsAdjustTool* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; + EditingToolsAdjustTool* _tmp2_ = NULL; + EditingToolsPhotoCanvas* _tmp3_ = NULL; +#line 2378 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommand); +#line 2380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->new_transformation; +#line 2380 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_update_transformation (_tmp0_, _tmp1_); +#line 2381 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2381 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2381 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp3_); +#line 18740 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_slider_adjustment_command_real_undo (Command* base) { + EditingToolsAdjustToolSliderAdjustmentCommand * self; + EditingToolsAdjustTool* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; + EditingToolsAdjustTool* _tmp2_ = NULL; + EditingToolsAdjustTool* _tmp3_ = NULL; + PixelTransformation* _tmp4_ = NULL; + EditingToolsAdjustTool* _tmp5_ = NULL; + EditingToolsAdjustTool* _tmp6_ = NULL; + EditingToolsPhotoCanvas* _tmp7_ = NULL; +#line 2384 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommand); +#line 2385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->old_transformation; +#line 2385 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_update_transformation (_tmp0_, _tmp1_); +#line 2387 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2387 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_unbind_window_handlers (_tmp2_); +#line 2388 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2388 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->old_transformation; +#line 2388 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_update_slider (_tmp3_, _tmp4_); +#line 2389 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2389 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_bind_window_handlers (_tmp5_); +#line 2391 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2391 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2391 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp7_); +#line 18782 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_slider_adjustment_command_real_redo (Command* base) { + EditingToolsAdjustToolSliderAdjustmentCommand * self; + EditingToolsAdjustTool* _tmp0_ = NULL; + PixelTransformation* _tmp1_ = NULL; + EditingToolsAdjustTool* _tmp2_ = NULL; + EditingToolsAdjustTool* _tmp3_ = NULL; + PixelTransformation* _tmp4_ = NULL; + EditingToolsAdjustTool* _tmp5_ = NULL; + EditingToolsAdjustTool* _tmp6_ = NULL; + EditingToolsPhotoCanvas* _tmp7_ = NULL; +#line 2394 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommand); +#line 2395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->new_transformation; +#line 2395 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_update_transformation (_tmp0_, _tmp1_); +#line 2397 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2397 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_unbind_window_handlers (_tmp2_); +#line 2398 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2398 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->new_transformation; +#line 2398 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_update_slider (_tmp3_, _tmp4_); +#line 2399 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2399 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_bind_window_handlers (_tmp5_); +#line 2401 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2401 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2401 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_photo_canvas_repaint (_tmp7_); +#line 18824 "EditingTools.c" +} + + +static gboolean editing_tools_adjust_tool_slider_adjustment_command_real_compress (Command* base, Command* command) { + EditingToolsAdjustToolSliderAdjustmentCommand * self; + gboolean result = FALSE; + EditingToolsAdjustToolSliderAdjustmentCommand* slider_adjustment = NULL; + Command* _tmp0_ = NULL; + EditingToolsAdjustToolSliderAdjustmentCommand* _tmp1_ = NULL; + EditingToolsAdjustToolSliderAdjustmentCommand* _tmp2_ = NULL; + EditingToolsAdjustToolSliderAdjustmentCommand* _tmp3_ = NULL; + EditingToolsAdjustTool* _tmp4_ = NULL; + EditingToolsAdjustTool* _tmp5_ = NULL; + EditingToolsAdjustToolSliderAdjustmentCommand* _tmp6_ = NULL; + PixelTransformationType _tmp7_ = 0; + PixelTransformationType _tmp8_ = 0; + EditingToolsAdjustToolSliderAdjustmentCommand* _tmp9_ = NULL; + EditingToolsAdjustToolSliderAdjustmentCommand* _tmp10_ = NULL; + PixelTransformation* _tmp11_ = NULL; + PixelTransformation* _tmp12_ = NULL; +#line 2404 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommand); +#line 2404 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_COMMAND (command), FALSE); +#line 2405 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = command; +#line 2405 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND) ? ((EditingToolsAdjustToolSliderAdjustmentCommand*) _tmp0_) : NULL); +#line 2405 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + slider_adjustment = _tmp1_; +#line 2406 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = slider_adjustment; +#line 2406 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp2_ == NULL) { +#line 2407 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 2407 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (slider_adjustment); +#line 2407 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 18865 "EditingTools.c" + } +#line 2410 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = slider_adjustment; +#line 2410 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2410 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2410 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp4_ != _tmp5_) { +#line 2411 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 2411 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (slider_adjustment); +#line 2411 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 18881 "EditingTools.c" + } +#line 2414 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = slider_adjustment; +#line 2414 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = _tmp6_->priv->transformation_type; +#line 2414 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = self->priv->transformation_type; +#line 2414 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp7_ != _tmp8_) { +#line 2415 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 2415 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (slider_adjustment); +#line 2415 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 18897 "EditingTools.c" + } +#line 2418 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = slider_adjustment; +#line 2418 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + command_execute (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_COMMAND, Command)); +#line 2421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = slider_adjustment; +#line 2421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_->priv->new_transformation; +#line 2421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = _pixel_transformation_ref0 (_tmp11_); +#line 2421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (self->priv->new_transformation); +#line 2421 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->new_transformation = _tmp12_; +#line 2423 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 2423 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (slider_adjustment); +#line 2423 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 18919 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_slider_adjustment_command_class_init (EditingToolsAdjustToolSliderAdjustmentCommandClass * klass) { +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_slider_adjustment_command_parent_class = g_type_class_peek_parent (klass); +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsAdjustToolSliderAdjustmentCommandPrivate)); +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->execute = editing_tools_adjust_tool_slider_adjustment_command_real_execute; +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->undo = editing_tools_adjust_tool_slider_adjustment_command_real_undo; +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->redo = editing_tools_adjust_tool_slider_adjustment_command_real_redo; +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->compress = editing_tools_adjust_tool_slider_adjustment_command_real_compress; +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_adjust_tool_slider_adjustment_command_finalize; +#line 18938 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_slider_adjustment_command_instance_init (EditingToolsAdjustToolSliderAdjustmentCommand * self) { +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_ADJUST_TOOL_SLIDER_ADJUSTMENT_COMMAND_GET_PRIVATE (self); +#line 18945 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_slider_adjustment_command_finalize (GObject* obj) { + EditingToolsAdjustToolSliderAdjustmentCommand * self; +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_ADJUST_TOOL_TYPE_SLIDER_ADJUSTMENT_COMMAND, EditingToolsAdjustToolSliderAdjustmentCommand); +#line 2365 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (self->priv->new_transformation); +#line 2366 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_unref0 (self->priv->old_transformation); +#line 2363 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (editing_tools_adjust_tool_slider_adjustment_command_parent_class)->finalize (obj); +#line 18959 "EditingTools.c" +} + + +static GType editing_tools_adjust_tool_slider_adjustment_command_get_type (void) { + static volatile gsize editing_tools_adjust_tool_slider_adjustment_command_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_adjust_tool_slider_adjustment_command_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsAdjustToolSliderAdjustmentCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_adjust_tool_slider_adjustment_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsAdjustToolSliderAdjustmentCommand), 0, (GInstanceInitFunc) editing_tools_adjust_tool_slider_adjustment_command_instance_init, NULL }; + GType editing_tools_adjust_tool_slider_adjustment_command_type_id; + editing_tools_adjust_tool_slider_adjustment_command_type_id = g_type_register_static (EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, "EditingToolsAdjustToolSliderAdjustmentCommand", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_adjust_tool_slider_adjustment_command_type_id__volatile, editing_tools_adjust_tool_slider_adjustment_command_type_id); + } + return editing_tools_adjust_tool_slider_adjustment_command_type_id__volatile; +} + + +static EditingToolsAdjustToolAdjustEnhanceCommand* editing_tools_adjust_tool_adjust_enhance_command_construct (GType object_type, EditingToolsAdjustTool* owner, Photo* photo) { + EditingToolsAdjustToolAdjustEnhanceCommand * self = NULL; + EditingToolsAdjustTool* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + PixelTransformationBundle* _tmp4_ = NULL; +#line 2432 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (EDITING_TOOLS_IS_ADJUST_TOOL (owner), NULL); +#line 2432 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_PHOTO (photo), NULL); +#line 2433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = owner; +#line 2433 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = (EditingToolsAdjustToolAdjustEnhanceCommand*) editing_tools_adjust_tool_adjust_tool_command_construct (object_type, _tmp0_, RESOURCES_ENHANCE_LABEL, RESOURCES_ENHANCE_TOOLTIP); +#line 2435 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = photo; +#line 2435 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 2435 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->photo); +#line 2435 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->photo = _tmp2_; +#line 2436 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = photo; +#line 2436 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = photo_get_color_adjustments (_tmp3_); +#line 2436 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->original); +#line 2436 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->original = _tmp4_; +#line 2432 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return self; +#line 19008 "EditingTools.c" +} + + +static EditingToolsAdjustToolAdjustEnhanceCommand* editing_tools_adjust_tool_adjust_enhance_command_new (EditingToolsAdjustTool* owner, Photo* photo) { +#line 2432 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return editing_tools_adjust_tool_adjust_enhance_command_construct (EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, owner, photo); +#line 19015 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_enhance_command_real_execute (Command* base) { + EditingToolsAdjustToolAdjustEnhanceCommand * self; + PixelTransformationBundle* _tmp0_ = NULL; + EditingToolsAdjustTool* _tmp3_ = NULL; + PixelTransformationBundle* _tmp4_ = NULL; +#line 2439 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, EditingToolsAdjustToolAdjustEnhanceCommand); +#line 2440 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = self->priv->enhanced; +#line 2440 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp0_ == NULL) { +#line 19030 "EditingTools.c" + Photo* _tmp1_ = NULL; + PixelTransformationBundle* _tmp2_ = NULL; +#line 2441 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->photo; +#line 2441 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = photo_get_enhance_transformations (_tmp1_); +#line 2441 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->enhanced); +#line 2441 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->enhanced = _tmp2_; +#line 19041 "EditingTools.c" + } +#line 2443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = self->priv->enhanced; +#line 2443 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_set_adjustments (_tmp3_, _tmp4_); +#line 19049 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_enhance_command_real_undo (Command* base) { + EditingToolsAdjustToolAdjustEnhanceCommand * self; + EditingToolsAdjustTool* _tmp0_ = NULL; + PixelTransformationBundle* _tmp1_ = NULL; +#line 2446 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, EditingToolsAdjustToolAdjustEnhanceCommand); +#line 2447 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2447 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = self->priv->original; +#line 2447 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_set_adjustments (_tmp0_, _tmp1_); +#line 19065 "EditingTools.c" +} + + +static gboolean editing_tools_adjust_tool_adjust_enhance_command_real_compress (Command* base, Command* command) { + EditingToolsAdjustToolAdjustEnhanceCommand * self; + gboolean result = FALSE; + EnhanceSingleCommand* enhance_single = NULL; + Command* _tmp0_ = NULL; + EnhanceSingleCommand* _tmp1_ = NULL; + EnhanceSingleCommand* _tmp2_ = NULL; + EditingToolsAdjustToolAdjustEnhanceCommand* enhance_command = NULL; + Command* _tmp12_ = NULL; + EditingToolsAdjustToolAdjustEnhanceCommand* _tmp13_ = NULL; + EditingToolsAdjustToolAdjustEnhanceCommand* _tmp14_ = NULL; + EditingToolsAdjustToolAdjustEnhanceCommand* _tmp15_ = NULL; + EditingToolsAdjustTool* _tmp16_ = NULL; + EditingToolsAdjustTool* _tmp17_ = NULL; +#line 2450 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, EditingToolsAdjustToolAdjustEnhanceCommand); +#line 2450 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_return_val_if_fail (IS_COMMAND (command), FALSE); +#line 2452 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp0_ = command; +#line 2452 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_ENHANCE_SINGLE_COMMAND) ? ((EnhanceSingleCommand*) _tmp0_) : NULL); +#line 2452 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + enhance_single = _tmp1_; +#line 2453 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp2_ = enhance_single; +#line 2453 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp2_ != NULL) { +#line 19097 "EditingTools.c" + Photo* photo = NULL; + EnhanceSingleCommand* _tmp3_ = NULL; + DataSource* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + EditingToolsAdjustTool* _tmp6_ = NULL; + EditingToolsPhotoCanvas* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; +#line 2454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp3_ = enhance_single; +#line 2454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp4_ = single_data_source_command_get_source (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)); +#line 2454 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + photo = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO, Photo); +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp5_ = photo; +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp8_ = editing_tools_photo_canvas_get_photo (_tmp7_); +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp9_ = _tmp8_; +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp10_ = data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_SOURCE, DataSource)); +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp11_ = _tmp10_; +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (_tmp9_); +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = _tmp11_; +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (photo); +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (enhance_single); +#line 2458 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 19138 "EditingTools.c" + } +#line 2461 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp12_ = command; +#line 2461 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp13_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND) ? ((EditingToolsAdjustToolAdjustEnhanceCommand*) _tmp12_) : NULL); +#line 2461 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + enhance_command = _tmp13_; +#line 2462 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp14_ = enhance_command; +#line 2462 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp14_ == NULL) { +#line 2463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 2463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (enhance_command); +#line 2463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (enhance_single); +#line 2463 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 19158 "EditingTools.c" + } +#line 2465 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp15_ = enhance_command; +#line 2465 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2465 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _tmp17_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, EditingToolsAdjustToolAdjustToolCommand)->owner; +#line 2465 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + if (_tmp16_ != _tmp17_) { +#line 2466 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = FALSE; +#line 2466 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (enhance_command); +#line 2466 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (enhance_single); +#line 2466 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 19176 "EditingTools.c" + } +#line 2469 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + result = TRUE; +#line 2469 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (enhance_command); +#line 2469 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (enhance_single); +#line 2469 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + return result; +#line 19186 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_enhance_command_class_init (EditingToolsAdjustToolAdjustEnhanceCommandClass * klass) { +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_adjust_enhance_command_parent_class = g_type_class_peek_parent (klass); +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsAdjustToolAdjustEnhanceCommandPrivate)); +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->execute = editing_tools_adjust_tool_adjust_enhance_command_real_execute; +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->undo = editing_tools_adjust_tool_adjust_enhance_command_real_undo; +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((CommandClass *) klass)->compress = editing_tools_adjust_tool_adjust_enhance_command_real_compress; +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_adjust_tool_adjust_enhance_command_finalize; +#line 19203 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_enhance_command_instance_init (EditingToolsAdjustToolAdjustEnhanceCommand * self) { +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_ADJUST_TOOL_ADJUST_ENHANCE_COMMAND_GET_PRIVATE (self); +#line 2430 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->enhanced = NULL; +#line 19212 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_adjust_enhance_command_finalize (GObject* obj) { + EditingToolsAdjustToolAdjustEnhanceCommand * self; +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_ENHANCE_COMMAND, EditingToolsAdjustToolAdjustEnhanceCommand); +#line 2428 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->photo); +#line 2429 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->original); +#line 2430 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->enhanced); +#line 2427 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + G_OBJECT_CLASS (editing_tools_adjust_tool_adjust_enhance_command_parent_class)->finalize (obj); +#line 19228 "EditingTools.c" +} + + +static GType editing_tools_adjust_tool_adjust_enhance_command_get_type (void) { + static volatile gsize editing_tools_adjust_tool_adjust_enhance_command_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_adjust_tool_adjust_enhance_command_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsAdjustToolAdjustEnhanceCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_adjust_tool_adjust_enhance_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsAdjustToolAdjustEnhanceCommand), 0, (GInstanceInitFunc) editing_tools_adjust_tool_adjust_enhance_command_instance_init, NULL }; + GType editing_tools_adjust_tool_adjust_enhance_command_type_id; + editing_tools_adjust_tool_adjust_enhance_command_type_id = g_type_register_static (EDITING_TOOLS_ADJUST_TOOL_TYPE_ADJUST_TOOL_COMMAND, "EditingToolsAdjustToolAdjustEnhanceCommand", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_adjust_tool_adjust_enhance_command_type_id__volatile, editing_tools_adjust_tool_adjust_enhance_command_type_id); + } + return editing_tools_adjust_tool_adjust_enhance_command_type_id__volatile; +} + + +static void editing_tools_adjust_tool_class_init (EditingToolsAdjustToolClass * klass) { +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + editing_tools_adjust_tool_parent_class = g_type_class_peek_parent (klass); +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->finalize = editing_tools_adjust_tool_finalize; +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + g_type_class_add_private (klass, sizeof (EditingToolsAdjustToolPrivate)); +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->activate = editing_tools_adjust_tool_real_activate; +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->get_tool_window = editing_tools_adjust_tool_real_get_tool_window; +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->deactivate = editing_tools_adjust_tool_real_deactivate; +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->paint = editing_tools_adjust_tool_real_paint; +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->get_display_pixbuf = editing_tools_adjust_tool_real_get_display_pixbuf; +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + ((EditingToolsEditingToolClass *) klass)->on_keypress = editing_tools_adjust_tool_real_on_keypress; +#line 19263 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_instance_init (EditingToolsAdjustTool * self) { +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv = EDITING_TOOLS_ADJUST_TOOL_GET_PRIVATE (self); +#line 2473 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->adjust_tool_window = NULL; +#line 2474 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->suppress_effect_redraw = FALSE; +#line 2475 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->draw_to_pixbuf = NULL; +#line 2476 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->histogram_pixbuf = NULL; +#line 2477 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->virgin_histogram_pixbuf = NULL; +#line 2478 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->transformer = NULL; +#line 2479 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->histogram_transformer = NULL; +#line 2480 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->transformations = NULL; +#line 2481 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache = NULL; +#line 2481 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache_length1 = 0; +#line 2481 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->_fp_pixel_cache_size_ = self->priv->fp_pixel_cache_length1; +#line 2482 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->disable_histogram_refresh = FALSE; +#line 2483 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->temperature_scheduler = NULL; +#line 2484 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->tint_scheduler = NULL; +#line 2485 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->saturation_scheduler = NULL; +#line 2486 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->exposure_scheduler = NULL; +#line 2487 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->shadows_scheduler = NULL; +#line 2488 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->highlights_scheduler = NULL; +#line 19306 "EditingTools.c" +} + + +static void editing_tools_adjust_tool_finalize (EditingToolsEditingTool* obj) { + EditingToolsAdjustTool * self; +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_TYPE_ADJUST_TOOL, EditingToolsAdjustTool); +#line 2473 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->adjust_tool_window); +#line 2475 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->draw_to_pixbuf); +#line 2476 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->histogram_pixbuf); +#line 2477 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _g_object_unref0 (self->priv->virgin_histogram_pixbuf); +#line 2478 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformer_unref0 (self->priv->transformer); +#line 2479 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformer_unref0 (self->priv->histogram_transformer); +#line 2480 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _pixel_transformation_bundle_unref0 (self->priv->transformations); +#line 2481 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + self->priv->fp_pixel_cache = (g_free (self->priv->fp_pixel_cache), NULL); +#line 2483 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->temperature_scheduler); +#line 2484 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->tint_scheduler); +#line 2485 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->saturation_scheduler); +#line 2486 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->exposure_scheduler); +#line 2487 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->shadows_scheduler); +#line 2488 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + _one_shot_scheduler_unref0 (self->priv->highlights_scheduler); +#line 2200 "/home/jens/Source/shotwell/src/editing_tools/EditingTools.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_adjust_tool_parent_class)->finalize (obj); +#line 19344 "EditingTools.c" +} + + +GType editing_tools_adjust_tool_get_type (void) { + static volatile gsize editing_tools_adjust_tool_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_adjust_tool_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsAdjustToolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_adjust_tool_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsAdjustTool), 0, (GInstanceInitFunc) editing_tools_adjust_tool_instance_init, NULL }; + GType editing_tools_adjust_tool_type_id; + editing_tools_adjust_tool_type_id = g_type_register_static (EDITING_TOOLS_TYPE_EDITING_TOOL, "EditingToolsAdjustTool", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_adjust_tool_type_id__volatile, editing_tools_adjust_tool_type_id); + } + return editing_tools_adjust_tool_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/editing_tools/StraightenTool.c b/src/editing_tools/StraightenTool.c new file mode 100644 index 0000000..14b6c61 --- /dev/null +++ b/src/editing_tools/StraightenTool.c @@ -0,0 +1,3547 @@ +/* StraightenTool.c generated by valac 0.32.1, the Vala compiler + * generated from StraightenTool.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define EDITING_TOOLS_TYPE_EDITING_TOOL (editing_tools_editing_tool_get_type ()) +#define EDITING_TOOLS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)) +#define EDITING_TOOLS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass)) +#define EDITING_TOOLS_IS_EDITING_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL)) +#define EDITING_TOOLS_IS_EDITING_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL)) +#define EDITING_TOOLS_EDITING_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingToolClass)) + +typedef struct _EditingToolsEditingTool EditingToolsEditingTool; +typedef struct _EditingToolsEditingToolClass EditingToolsEditingToolClass; +typedef struct _EditingToolsEditingToolPrivate EditingToolsEditingToolPrivate; + +#define EDITING_TOOLS_TYPE_PHOTO_CANVAS (editing_tools_photo_canvas_get_type ()) +#define EDITING_TOOLS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvas)) +#define EDITING_TOOLS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass)) +#define EDITING_TOOLS_IS_PHOTO_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS)) +#define EDITING_TOOLS_IS_PHOTO_CANVAS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_PHOTO_CANVAS)) +#define EDITING_TOOLS_PHOTO_CANVAS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_PHOTO_CANVAS, EditingToolsPhotoCanvasClass)) + +typedef struct _EditingToolsPhotoCanvas EditingToolsPhotoCanvas; +typedef struct _EditingToolsPhotoCanvasClass EditingToolsPhotoCanvasClass; + +#define EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW (editing_tools_editing_tool_window_get_type ()) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow)) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass)) +#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW)) +#define EDITING_TOOLS_IS_EDITING_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW)) +#define EDITING_TOOLS_EDITING_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindowClass)) + +typedef struct _EditingToolsEditingToolWindow EditingToolsEditingToolWindow; +typedef struct _EditingToolsEditingToolWindowClass EditingToolsEditingToolWindowClass; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; + +#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 EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL (editing_tools_straighten_tool_get_type ()) +#define EDITING_TOOLS_STRAIGHTEN_TOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolClass)) +#define EDITING_TOOLS_IS_STRAIGHTEN_TOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL)) +#define EDITING_TOOLS_IS_STRAIGHTEN_TOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolClass)) + +typedef struct _EditingToolsStraightenTool EditingToolsStraightenTool; +typedef struct _EditingToolsStraightenToolClass EditingToolsStraightenToolClass; +typedef struct _EditingToolsStraightenToolPrivate EditingToolsStraightenToolPrivate; + +#define EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_TOOL_WINDOW (editing_tools_straighten_tool_straighten_tool_window_get_type ()) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_TOOL_WINDOW, EditingToolsStraightenToolStraightenToolWindow)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_TOOL_WINDOW, EditingToolsStraightenToolStraightenToolWindowClass)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_TOOL_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_TOOL_WINDOW)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_TOOL_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_TOOL_WINDOW)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_TOOL_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_TOOL_WINDOW, EditingToolsStraightenToolStraightenToolWindowClass)) + +typedef struct _EditingToolsStraightenToolStraightenToolWindow EditingToolsStraightenToolStraightenToolWindow; +typedef struct _EditingToolsStraightenToolStraightenToolWindowClass EditingToolsStraightenToolStraightenToolWindowClass; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; + +#define EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE (editing_tools_straighten_tool_straighten_guide_get_type ()) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_GUIDE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE, EditingToolsStraightenToolStraightenGuide)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_GUIDE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE, EditingToolsStraightenToolStraightenGuideClass)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_GUIDE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_GUIDE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE)) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_GUIDE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE, EditingToolsStraightenToolStraightenGuideClass)) + +typedef struct _EditingToolsStraightenToolStraightenGuide EditingToolsStraightenToolStraightenGuide; +typedef struct _EditingToolsStraightenToolStraightenGuideClass EditingToolsStraightenToolStraightenGuideClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL))) +#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) +#define _editing_tools_straighten_tool_straighten_guide_unref0(var) ((var == NULL) ? NULL : (var = (editing_tools_straighten_tool_straighten_guide_unref (var), NULL))) +typedef struct _EditingToolsEditingToolWindowPrivate EditingToolsEditingToolWindowPrivate; +typedef struct _EditingToolsStraightenToolStraightenToolWindowPrivate EditingToolsStraightenToolStraightenToolWindowPrivate; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ()) +#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)) +#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) +#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) + +typedef struct _SingleDataSourceCommand SingleDataSourceCommand; +typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass; + +#define TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND (generic_photo_transformation_command_get_type ()) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommand)) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass)) +#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND)) +#define IS_GENERIC_PHOTO_TRANSFORMATION_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND)) +#define GENERIC_PHOTO_TRANSFORMATION_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GENERIC_PHOTO_TRANSFORMATION_COMMAND, GenericPhotoTransformationCommandClass)) + +typedef struct _GenericPhotoTransformationCommand GenericPhotoTransformationCommand; +typedef struct _GenericPhotoTransformationCommandClass GenericPhotoTransformationCommandClass; + +#define TYPE_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; + +#define TYPE_BOX (box_get_type ()) +typedef struct _Box Box; +#define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL))) + +#define PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_BACKING_FETCH_MODE (backing_fetch_mode_get_type ()) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _editing_tools_photo_canvas_unref0(var) ((var == NULL) ? NULL : (var = (editing_tools_photo_canvas_unref (var), NULL))) +typedef struct _EditingToolsStraightenToolStraightenGuidePrivate EditingToolsStraightenToolStraightenGuidePrivate; +typedef struct _EditingToolsStraightenToolParamSpecStraightenGuide EditingToolsStraightenToolParamSpecStraightenGuide; +#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); + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +struct _EditingToolsEditingTool { + GTypeInstance parent_instance; + volatile int ref_count; + EditingToolsEditingToolPrivate * priv; + EditingToolsPhotoCanvas* canvas; + cairo_surface_t* surface; + gchar* name; +}; + +struct _EditingToolsEditingToolClass { + GTypeClass parent_class; + void (*finalize) (EditingToolsEditingTool *self); + void (*activate) (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas); + void (*deactivate) (EditingToolsEditingTool* self); + EditingToolsEditingToolWindow* (*get_tool_window) (EditingToolsEditingTool* self); + GdkPixbuf* (*get_display_pixbuf) (EditingToolsEditingTool* self, Scaling* scaling, Photo* photo, Dimensions* max_dim, GError** error); + void (*on_left_click) (EditingToolsEditingTool* self, gint x, gint y); + void (*on_left_released) (EditingToolsEditingTool* self, gint x, gint y); + void (*on_motion) (EditingToolsEditingTool* self, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (EditingToolsEditingTool* self); + gboolean (*on_keypress) (EditingToolsEditingTool* self, GdkEventKey* event); + void (*paint) (EditingToolsEditingTool* self, cairo_t* ctx); +}; + +struct _EditingToolsStraightenTool { + EditingToolsEditingTool parent_instance; + EditingToolsStraightenToolPrivate * priv; +}; + +struct _EditingToolsStraightenToolClass { + EditingToolsEditingToolClass parent_class; +}; + +struct _EditingToolsStraightenToolPrivate { + EditingToolsStraightenToolStraightenToolWindow* window; + cairo_surface_t* photo_surf; + Dimensions image_dims; + cairo_surface_t* rotate_surf; + cairo_t* rotate_ctx; + Dimensions last_viewport; + gint view_width; + gint view_height; + gdouble photo_angle; + gboolean use_high_qual; + OneShotScheduler* slider_sched; + GdkPoint crop_center; + gint crop_width; + gint crop_height; + EditingToolsStraightenToolStraightenGuide* guide; + GdkPoint rotated_center; + gdouble rotate_scale; + gdouble preview_scale; +}; + +struct _EditingToolsEditingToolWindow { + GtkWindow parent_instance; + EditingToolsEditingToolWindowPrivate * priv; +}; + +struct _EditingToolsEditingToolWindowClass { + GtkWindowClass parent_class; +}; + +struct _EditingToolsStraightenToolStraightenToolWindow { + EditingToolsEditingToolWindow parent_instance; + EditingToolsStraightenToolStraightenToolWindowPrivate * priv; + GtkScale* angle_slider; + GtkLabel* angle_label; + GtkLabel* description_label; + GtkButton* ok_button; + GtkButton* cancel_button; + GtkButton* reset_button; +}; + +struct _EditingToolsStraightenToolStraightenToolWindowClass { + EditingToolsEditingToolWindowClass parent_class; +}; + +struct _Box { + gint left; + gint top; + gint right; + gint bottom; +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +typedef enum { + BACKING_FETCH_MODE_SOURCE, + BACKING_FETCH_MODE_BASELINE, + BACKING_FETCH_MODE_MASTER, + BACKING_FETCH_MODE_UNMODIFIED +} BackingFetchMode; + +typedef void (*OneShotCallback) (void* user_data); +struct _EditingToolsStraightenToolStraightenGuide { + GTypeInstance parent_instance; + volatile int ref_count; + EditingToolsStraightenToolStraightenGuidePrivate * priv; +}; + +struct _EditingToolsStraightenToolStraightenGuideClass { + GTypeClass parent_class; + void (*finalize) (EditingToolsStraightenToolStraightenGuide *self); +}; + +struct _EditingToolsStraightenToolStraightenGuidePrivate { + gboolean is_active; + gint x[2]; + gint y[2]; + gdouble angle0; +}; + +struct _EditingToolsStraightenToolParamSpecStraightenGuide { + GParamSpec parent_instance; +}; + + +static gpointer editing_tools_straighten_tool_parent_class = NULL; +static gpointer editing_tools_straighten_tool_straighten_guide_parent_class = NULL; +static gpointer editing_tools_straighten_tool_straighten_tool_window_parent_class = NULL; + +gpointer editing_tools_editing_tool_ref (gpointer instance); +void editing_tools_editing_tool_unref (gpointer instance); +GParamSpec* editing_tools_param_spec_editing_tool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void editing_tools_value_set_editing_tool (GValue* value, gpointer v_object); +void editing_tools_value_take_editing_tool (GValue* value, gpointer v_object); +gpointer editing_tools_value_get_editing_tool (const GValue* value); +GType editing_tools_editing_tool_get_type (void) G_GNUC_CONST; +gpointer editing_tools_photo_canvas_ref (gpointer instance); +void editing_tools_photo_canvas_unref (gpointer instance); +GParamSpec* editing_tools_param_spec_photo_canvas (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void editing_tools_value_set_photo_canvas (GValue* value, gpointer v_object); +void editing_tools_value_take_photo_canvas (GValue* value, gpointer v_object); +gpointer editing_tools_value_get_photo_canvas (const GValue* value); +GType editing_tools_photo_canvas_get_type (void) G_GNUC_CONST; +GType editing_tools_editing_tool_window_get_type (void) G_GNUC_CONST; +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +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 editing_tools_straighten_tool_get_type (void) G_GNUC_CONST; +static GType editing_tools_straighten_tool_straighten_tool_window_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +static gpointer editing_tools_straighten_tool_straighten_guide_ref (gpointer instance); +static void editing_tools_straighten_tool_straighten_guide_unref (gpointer instance); +static GParamSpec* editing_tools_straighten_tool_param_spec_straighten_guide (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void editing_tools_straighten_tool_value_set_straighten_guide (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void editing_tools_straighten_tool_value_take_straighten_guide (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer editing_tools_straighten_tool_value_get_straighten_guide (const GValue* value) G_GNUC_UNUSED; +static GType editing_tools_straighten_tool_straighten_guide_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define EDITING_TOOLS_STRAIGHTEN_TOOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenToolPrivate)) +enum { + EDITING_TOOLS_STRAIGHTEN_TOOL_DUMMY_PROPERTY +}; +static EditingToolsStraightenToolStraightenGuide* editing_tools_straighten_tool_straighten_guide_new (void); +static EditingToolsStraightenToolStraightenGuide* editing_tools_straighten_tool_straighten_guide_construct (GType object_type); +#define EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_ANGLE (-15.0) +#define EDITING_TOOLS_STRAIGHTEN_TOOL_MAX_ANGLE 15.0 +#define EDITING_TOOLS_STRAIGHTEN_TOOL_INCREMENT 0.1 +#define EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_SLIDER_SIZE 160 +#define EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_LABEL_SIZE 100 +#define EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_BUTTON_SIZE 84 +#define EDITING_TOOLS_STRAIGHTEN_TOOL_TEMP_PIXBUF_SIZE 768 +#define EDITING_TOOLS_STRAIGHTEN_TOOL_REPAINT_ON_STOP_DELAY_MSEC 100 +static EditingToolsStraightenTool* editing_tools_straighten_tool_new (void); +static EditingToolsStraightenTool* editing_tools_straighten_tool_construct (GType object_type); +EditingToolsEditingTool* editing_tools_editing_tool_construct (GType object_type, const gchar* name); +EditingToolsStraightenTool* editing_tools_straighten_tool_factory (void); +gboolean editing_tools_straighten_tool_is_available (Photo* photo, Scaling* scaling); +static void editing_tools_straighten_tool_on_ok_clicked (EditingToolsStraightenTool* self); +Photo* editing_tools_photo_canvas_get_photo (EditingToolsPhotoCanvas* self); +void rotate_point_arb (GdkPoint* source_point, gint img_w, gint img_h, gdouble angle, gboolean invert, GdkPoint* result); +GType command_get_type (void) G_GNUC_CONST; +GType page_command_get_type (void) G_GNUC_CONST; +GType single_data_source_command_get_type (void) G_GNUC_CONST; +GType generic_photo_transformation_command_get_type (void) G_GNUC_CONST; +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); +void box_from_center (GdkPoint* center, gint width, gint height, Box* result); +#define RESOURCES_STRAIGHTEN_LABEL _ ("Straighten") +#define RESOURCES_STRAIGHTEN_TOOLTIP _ ("Straighten the photo") +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 editing_tools_straighten_tool_high_qual_repaint (EditingToolsStraightenTool* self); +static void editing_tools_straighten_tool_update_rotated_surface (EditingToolsStraightenTool* self); +void editing_tools_photo_canvas_repaint (EditingToolsPhotoCanvas* self); +static void editing_tools_straighten_tool_on_slider_stopped_delayed (EditingToolsStraightenTool* self); +static void editing_tools_straighten_tool_real_on_left_click (EditingToolsEditingTool* base, gint x, gint y); +static void editing_tools_straighten_tool_straighten_guide_reset (EditingToolsStraightenToolStraightenGuide* self, gint x, gint y, gdouble angle); +static void editing_tools_straighten_tool_real_on_left_released (EditingToolsEditingTool* base, gint x, gint y); +static gboolean editing_tools_straighten_tool_straighten_guide_update (EditingToolsStraightenToolStraightenGuide* self, gint x, gint y); +static gdouble* editing_tools_straighten_tool_straighten_guide_get_angle (EditingToolsStraightenToolStraightenGuide* self); +static void editing_tools_straighten_tool_straighten_guide_clear (EditingToolsStraightenToolStraightenGuide* self); +static void editing_tools_straighten_tool_real_on_motion (EditingToolsEditingTool* base, gint x, gint y, GdkModifierType mask); +static gboolean editing_tools_straighten_tool_real_on_keypress (EditingToolsEditingTool* base, GdkEventKey* event); +void editing_tools_editing_tool_notify_cancel (EditingToolsEditingTool* self); +gboolean editing_tools_editing_tool_on_keypress (EditingToolsEditingTool* self, GdkEventKey* event); +static void editing_tools_straighten_tool_prepare_image (EditingToolsStraightenTool* self); +void editing_tools_photo_canvas_get_surface_dim (EditingToolsPhotoCanvas* self, Dimensions* result); +void dimensions_with_max (Dimensions *self, gint max_width, gint max_height, Dimensions* result); +static gboolean _dimensions_equal (const Dimensions* s1, const Dimensions* s2); +GType photo_exception_get_type (void) G_GNUC_CONST; +GType backing_fetch_mode_get_type (void) G_GNUC_CONST; +GdkPixbuf* photo_get_pixbuf_with_options (Photo* self, Scaling* scaling, PhotoException exceptions, BackingFetchMode fetch_mode, GError** error); +void scaling_for_viewport (Dimensions* viewport, gboolean scale_up, Scaling* result); +gchar* data_object_to_string (DataObject* self); +static void editing_tools_straighten_tool_adjust_for_rotation (EditingToolsStraightenTool* self); +void compute_arb_rotated_size (gdouble src_width, gdouble src_height, gdouble angle, gdouble* dest_width, gdouble* dest_height); +static void editing_tools_straighten_tool_real_activate (EditingToolsEditingTool* base, EditingToolsPhotoCanvas* canvas); +void editing_tools_editing_tool_activate (EditingToolsEditingTool* self, EditingToolsPhotoCanvas* canvas); +static void editing_tools_straighten_tool_bind_canvas_handlers (EditingToolsStraightenTool* self, EditingToolsPhotoCanvas* canvas); +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +gboolean photo_get_crop (Photo* self, Box* crop, PhotoException exceptions); +gboolean photo_get_straighten (Photo* self, gdouble* theta); +void derotate_point_arb (GdkPoint* source_point, gint img_w, gint img_h, gdouble angle, GdkPoint* result); +void box_get_center (Box *self, GdkPoint* result); +gint box_get_width (Box *self); +gint box_get_height (Box *self); +GdkWindow* editing_tools_photo_canvas_get_drawing_window (EditingToolsPhotoCanvas* self); +GtkWindow* editing_tools_photo_canvas_get_container (EditingToolsPhotoCanvas* self); +static EditingToolsStraightenToolStraightenToolWindow* editing_tools_straighten_tool_straighten_tool_window_new (GtkWindow* container); +static EditingToolsStraightenToolStraightenToolWindow* editing_tools_straighten_tool_straighten_tool_window_construct (GType object_type, GtkWindow* container); +static void editing_tools_straighten_tool_bind_window_handlers (EditingToolsStraightenTool* self); +static void editing_tools_straighten_tool_real_deactivate (EditingToolsEditingTool* base); +static void editing_tools_straighten_tool_unbind_window_handlers (EditingToolsStraightenTool* self); +static void editing_tools_straighten_tool_unbind_canvas_handlers (EditingToolsStraightenTool* self, EditingToolsPhotoCanvas* canvas); +void editing_tools_editing_tool_deactivate (EditingToolsEditingTool* self); +static void editing_tools_straighten_tool_on_resized_pixbuf (EditingToolsStraightenTool* self, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position); +static void _editing_tools_straighten_tool_on_resized_pixbuf_editing_tools_photo_canvas_resized_scaled_pixbuf (EditingToolsPhotoCanvas* _sender, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position, gpointer self); +static gboolean _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self); +static void _editing_tools_straighten_tool_on_ok_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _editing_tools_editing_tool_notify_cancel_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void editing_tools_straighten_tool_on_angle_changed (EditingToolsStraightenTool* self); +static void _editing_tools_straighten_tool_on_angle_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self); +static void _editing_tools_straighten_tool_on_slider_stopped_delayed_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule); +static EditingToolsEditingToolWindow* editing_tools_straighten_tool_real_get_tool_window (EditingToolsEditingTool* base); +static void editing_tools_straighten_tool_draw_rotated_source (EditingToolsStraightenTool* self, cairo_surface_t* src_surf, cairo_t* dest_ctx, gint src_width, gint src_height, gdouble angle); +static void editing_tools_straighten_tool_draw_superimposed_grid (EditingToolsStraightenTool* self, cairo_t* dest_ctx, gint width, gint height); +static void editing_tools_straighten_tool_real_paint (EditingToolsEditingTool* base, cairo_t* ctx); +cairo_t* editing_tools_photo_canvas_get_default_ctx (EditingToolsPhotoCanvas* self); +static void editing_tools_straighten_tool_straighten_guide_draw (EditingToolsStraightenToolStraightenGuide* self, cairo_t* ctx); +gdouble degrees_to_radians (gdouble theta); +void editing_tools_photo_canvas_draw_horizontal_line (EditingToolsPhotoCanvas* self, cairo_t* ctx, gint x, gint y, gint width, gboolean use_scaled_pos); +void editing_tools_photo_canvas_draw_vertical_line (EditingToolsPhotoCanvas* self, cairo_t* ctx, gint x, gint y, gint height, gboolean use_scaled_pos); +#define EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_GUIDE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE, EditingToolsStraightenToolStraightenGuidePrivate)) +enum { + EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_GUIDE_DUMMY_PROPERTY +}; +static gdouble* _double_dup (gdouble* self); +static void editing_tools_straighten_tool_straighten_guide_finalize (EditingToolsStraightenToolStraightenGuide* obj); +enum { + EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_TOOL_WINDOW_DUMMY_PROPERTY +}; +#define RESOURCES_CANCEL_LABEL _ ("_Cancel") +#define EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_TOOL_WINDOW_CONTROL_SPACING 8 +EditingToolsEditingToolWindow* editing_tools_editing_tool_window_construct (GType object_type, GtkWindow* container); +static void editing_tools_straighten_tool_straighten_tool_window_on_reset_clicked (EditingToolsStraightenToolStraightenToolWindow* self); +static void _editing_tools_straighten_tool_straighten_tool_window_on_reset_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void editing_tools_straighten_tool_straighten_tool_window_finalize (GObject* obj); +static void editing_tools_straighten_tool_finalize (EditingToolsEditingTool* obj); + +static const gdouble EDITING_TOOLS_STRAIGHTEN_TOOL_GUIDE_DASH[2] = {(gdouble) 10, (gdouble) 10}; + +static EditingToolsStraightenTool* editing_tools_straighten_tool_construct (GType object_type) { + EditingToolsStraightenTool* self = NULL; +#line 183 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = (EditingToolsStraightenTool*) editing_tools_editing_tool_construct (object_type, "StraightenTool"); +#line 182 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return self; +#line 556 "StraightenTool.c" +} + + +static EditingToolsStraightenTool* editing_tools_straighten_tool_new (void) { +#line 182 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return editing_tools_straighten_tool_construct (EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL); +#line 563 "StraightenTool.c" +} + + +EditingToolsStraightenTool* editing_tools_straighten_tool_factory (void) { + EditingToolsStraightenTool* result = NULL; + EditingToolsStraightenTool* _tmp0_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = editing_tools_straighten_tool_new (); +#line 187 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = _tmp0_; +#line 187 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 576 "StraightenTool.c" +} + + +gboolean editing_tools_straighten_tool_is_available (Photo* photo, Scaling* scaling) { + gboolean result = FALSE; +#line 190 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_val_if_fail (IS_PHOTO (photo), FALSE); +#line 190 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_val_if_fail (scaling != NULL, FALSE); +#line 191 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = TRUE; +#line 191 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 590 "StraightenTool.c" +} + + +/** + * @brief Signal handler for when the 'OK' button has been clicked. Computes where a previously- + * set crop region should have rotated to (to match the Photo's straightening angle). + * + * @note After this has been called against a Photo, it will always have a crop region; in the + * case of a previously-uncropped Photo, the crop region will be set to the original dimensions + * of the photo and centered at the Photo's center. + */ +static void editing_tools_straighten_tool_on_ok_clicked (EditingToolsStraightenTool* self) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + gdouble slider_val = 0.0; + EditingToolsStraightenToolStraightenToolWindow* _tmp3_ = NULL; + GtkScale* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + GdkPoint new_crop_center = {0}; + GdkPoint _tmp6_ = {0}; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; + GdkPoint _tmp11_ = {0}; + StraightenCommand* command = NULL; + EditingToolsPhotoCanvas* _tmp12_ = NULL; + Photo* _tmp13_ = NULL; + Photo* _tmp14_ = NULL; + GdkPoint _tmp15_ = {0}; + gdouble _tmp16_ = 0.0; + gint _tmp17_ = 0; + gdouble _tmp18_ = 0.0; + gint _tmp19_ = 0; + Box _tmp20_ = {0}; + StraightenCommand* _tmp21_ = NULL; + StraightenCommand* _tmp22_ = NULL; + Dimensions _tmp23_ = {0}; +#line 202 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 203 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 203 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = editing_tools_photo_canvas_get_photo (_tmp0_); +#line 203 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = _tmp1_; +#line 203 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _vala_assert (_tmp2_ != NULL, "canvas.get_photo() != null"); +#line 203 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp2_); +#line 207 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = self->priv->window; +#line 207 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = _tmp3_->angle_slider; +#line 207 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_range_get_type (), GtkRange)); +#line 207 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + slider_val = _tmp5_; +#line 209 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = self->priv->rotated_center; +#line 209 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = self->priv->image_dims; +#line 209 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = _tmp7_.width; +#line 209 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = self->priv->image_dims; +#line 209 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = _tmp9_.height; +#line 209 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + rotate_point_arb (&_tmp6_, _tmp8_, _tmp10_, slider_val, FALSE, &_tmp11_); +#line 209 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + new_crop_center = _tmp11_; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = editing_tools_photo_canvas_get_photo (_tmp12_); +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = _tmp13_; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = new_crop_center; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = self->priv->rotate_scale; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = self->priv->crop_width; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = self->priv->rotate_scale; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = self->priv->crop_height; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + box_from_center (&_tmp15_, (gint) (_tmp16_ * _tmp17_), (gint) (_tmp18_ * _tmp19_), &_tmp20_); +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp21_ = straighten_command_new (_tmp14_, slider_val, &_tmp20_, RESOURCES_STRAIGHTEN_LABEL, RESOURCES_STRAIGHTEN_TOOLTIP); +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp22_ = _tmp21_; +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp14_); +#line 212 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + command = _tmp22_; +#line 217 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = self->priv->image_dims; +#line 217 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), "applied", G_TYPE_CHECK_INSTANCE_CAST (command, TYPE_COMMAND, Command), NULL, &_tmp23_, TRUE); +#line 202 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (command); +#line 696 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_high_qual_repaint (EditingToolsStraightenTool* self) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 221 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->use_high_qual = TRUE; +#line 222 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_update_rotated_surface (self); +#line 223 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 223 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_repaint (_tmp0_); +#line 712 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_on_slider_stopped_delayed (EditingToolsStraightenTool* self) { +#line 226 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 227 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_high_qual_repaint (self); +#line 721 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_real_on_left_click (EditingToolsEditingTool* base, gint x, gint y) { + EditingToolsStraightenTool * self; + EditingToolsStraightenToolStraightenGuide* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gdouble _tmp3_ = 0.0; +#line 230 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 231 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->guide; +#line 231 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = x; +#line 231 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = y; +#line 231 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = self->priv->photo_angle; +#line 231 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_reset (_tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 743 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_real_on_left_released (EditingToolsEditingTool* base, gint x, gint y) { + EditingToolsStraightenTool * self; + EditingToolsStraightenToolStraightenGuide* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gdouble* a = NULL; + EditingToolsStraightenToolStraightenGuide* _tmp3_ = NULL; + gdouble* _tmp4_ = NULL; + EditingToolsStraightenToolStraightenGuide* _tmp5_ = NULL; + gdouble* _tmp6_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 235 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->guide; +#line 235 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = x; +#line 235 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = y; +#line 235 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_update (_tmp0_, _tmp1_, _tmp2_); +#line 236 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = self->priv->guide; +#line 236 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = editing_tools_straighten_tool_straighten_guide_get_angle (_tmp3_); +#line 236 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + a = _tmp4_; +#line 237 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = self->priv->guide; +#line 237 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_clear (_tmp5_); +#line 238 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = a; +#line 238 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp6_ != NULL) { +#line 781 "StraightenTool.c" + EditingToolsStraightenToolStraightenToolWindow* _tmp7_ = NULL; + GtkScale* _tmp8_ = NULL; + gdouble* _tmp9_ = NULL; +#line 239 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = self->priv->window; +#line 239 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = _tmp7_->angle_slider; +#line 239 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = a; +#line 239 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_range_get_type (), GtkRange), *_tmp9_); +#line 240 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_high_qual_repaint (self); +#line 795 "StraightenTool.c" + } +#line 234 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_free0 (a); +#line 799 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_real_on_motion (EditingToolsEditingTool* base, gint x, gint y, GdkModifierType mask) { + EditingToolsStraightenTool * self; + EditingToolsStraightenToolStraightenGuide* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 244 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 245 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->guide; +#line 245 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = x; +#line 245 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = y; +#line 245 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = editing_tools_straighten_tool_straighten_guide_update (_tmp0_, _tmp1_, _tmp2_); +#line 245 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp3_) { +#line 821 "StraightenTool.c" + EditingToolsPhotoCanvas* _tmp4_ = NULL; +#line 246 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 246 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_repaint (_tmp4_); +#line 827 "StraightenTool.c" + } +} + + +static gboolean editing_tools_straighten_tool_real_on_keypress (EditingToolsEditingTool* base, GdkEventKey* event) { + EditingToolsStraightenTool * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GdkEventKey* _tmp2_ = NULL; + guint _tmp3_ = 0U; + const gchar* _tmp4_ = NULL; + GdkEventKey* _tmp11_ = NULL; + guint _tmp12_ = 0U; + const gchar* _tmp13_ = NULL; + GdkEventKey* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 249 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 249 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 250 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = event; +#line 250 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = _tmp2_->keyval; +#line 250 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = gdk_keyval_name (_tmp3_); +#line 250 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (g_strcmp0 (_tmp4_, "KP_Enter") == 0) { +#line 250 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = TRUE; +#line 859 "StraightenTool.c" + } else { + GdkEventKey* _tmp5_ = NULL; + guint _tmp6_ = 0U; + const gchar* _tmp7_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = event; +#line 251 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = _tmp5_->keyval; +#line 251 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = gdk_keyval_name (_tmp6_); +#line 251 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = g_strcmp0 (_tmp7_, "Enter") == 0; +#line 872 "StraightenTool.c" + } +#line 250 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp1_) { +#line 250 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = TRUE; +#line 878 "StraightenTool.c" + } else { + GdkEventKey* _tmp8_ = NULL; + guint _tmp9_ = 0U; + const gchar* _tmp10_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = event; +#line 252 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = _tmp8_->keyval; +#line 252 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = gdk_keyval_name (_tmp9_); +#line 252 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = g_strcmp0 (_tmp10_, "Return") == 0; +#line 891 "StraightenTool.c" + } +#line 250 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp0_) { +#line 253 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_on_ok_clicked (self); +#line 254 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = TRUE; +#line 254 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 901 "StraightenTool.c" + } +#line 257 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = event; +#line 257 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = _tmp11_->keyval; +#line 257 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = gdk_keyval_name (_tmp12_); +#line 257 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (g_strcmp0 (_tmp13_, "Escape") == 0) { +#line 258 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_editing_tool_notify_cancel (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 259 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = TRUE; +#line 259 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 917 "StraightenTool.c" + } +#line 262 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = event; +#line 262 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_straighten_tool_parent_class)->on_keypress (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), _tmp14_); +#line 262 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = _tmp15_; +#line 262 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 927 "StraightenTool.c" +} + + +static gboolean _dimensions_equal (const Dimensions* s1, const Dimensions* s2) { +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (s1 == s2) { +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return TRUE; +#line 936 "StraightenTool.c" + } +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (s1 == NULL) { +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return FALSE; +#line 942 "StraightenTool.c" + } +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (s2 == NULL) { +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return FALSE; +#line 948 "StraightenTool.c" + } +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (s1->width != s2->width) { +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return FALSE; +#line 954 "StraightenTool.c" + } +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (s1->height != s2->height) { +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return FALSE; +#line 960 "StraightenTool.c" + } +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return TRUE; +#line 964 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_prepare_image (EditingToolsStraightenTool* self) { + Dimensions canvas_dims = {0}; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + Dimensions viewport = {0}; + Dimensions _tmp2_ = {0}; + Dimensions _tmp3_ = {0}; + Dimensions _tmp4_ = {0}; + Dimensions _tmp5_ = {0}; + GdkPixbuf* low_res_tmp = NULL; + GdkPixbuf* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + Dimensions _tmp24_ = {0}; + gint _tmp25_ = 0; + GdkPixbuf* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + GdkPixbuf* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + cairo_surface_t* _tmp32_ = NULL; + cairo_t* ctx = NULL; + cairo_surface_t* _tmp33_ = NULL; + cairo_t* _tmp34_ = NULL; + cairo_t* _tmp35_ = NULL; + GdkPixbuf* _tmp36_ = NULL; + cairo_t* _tmp37_ = NULL; + GdkPixbuf* _tmp38_ = NULL; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + GdkPixbuf* _tmp41_ = NULL; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + cairo_t* _tmp44_ = NULL; + cairo_t* _tmp45_ = NULL; + gint _tmp46_ = 0; + gdouble _tmp47_ = 0.0; + gint _tmp48_ = 0; + gdouble _tmp49_ = 0.0; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + cairo_surface_t* _tmp52_ = NULL; + cairo_surface_t* _tmp53_ = NULL; + cairo_t* _tmp54_ = NULL; + GError * _inner_error_ = NULL; +#line 265 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 266 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 266 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_get_surface_dim (_tmp0_, &_tmp1_); +#line 266 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + canvas_dims = _tmp1_; +#line 267 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + dimensions_with_max (&canvas_dims, EDITING_TOOLS_STRAIGHTEN_TOOL_TEMP_PIXBUF_SIZE, EDITING_TOOLS_STRAIGHTEN_TOOL_TEMP_PIXBUF_SIZE, &_tmp2_); +#line 267 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + viewport = _tmp2_; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = viewport; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = self->priv->last_viewport; +#line 268 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_dimensions_equal (&_tmp3_, &_tmp4_) == TRUE) { +#line 269 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return; +#line 1034 "StraightenTool.c" + } +#line 271 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = viewport; +#line 271 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->last_viewport = _tmp5_; +#line 273 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + low_res_tmp = NULL; +#line 1042 "StraightenTool.c" + { + GdkPixbuf* _tmp6_ = NULL; + EditingToolsPhotoCanvas* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + Dimensions _tmp10_ = {0}; + Scaling _tmp11_ = {0}; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; + GdkPixbuf* _tmp14_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = editing_tools_photo_canvas_get_photo (_tmp7_); +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = _tmp8_; +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = viewport; +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + scaling_for_viewport (&_tmp10_, FALSE, &_tmp11_); +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = photo_get_pixbuf_with_options (_tmp9_, &_tmp11_, PHOTO_EXCEPTION_STRAIGHTEN | PHOTO_EXCEPTION_CROP, BACKING_FETCH_MODE_BASELINE, &_inner_error_); +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = _tmp12_; +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp9_); +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = _tmp13_; +#line 276 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1073 "StraightenTool.c" + goto __catch21_g_error; + } +#line 275 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = _tmp6_; +#line 275 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = NULL; +#line 275 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (low_res_tmp); +#line 275 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + low_res_tmp = _tmp14_; +#line 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp6_); +#line 1086 "StraightenTool.c" + } + goto __finally21; + __catch21_g_error: + { + GError* e = NULL; + EditingToolsPhotoCanvas* _tmp15_ = NULL; + Photo* _tmp16_ = NULL; + Photo* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GdkPixbuf* _tmp20_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + e = _inner_error_; +#line 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _inner_error_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 279 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = editing_tools_photo_canvas_get_photo (_tmp15_); +#line 279 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = _tmp16_; +#line 279 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_OBJECT, DataObject)); +#line 279 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = _tmp18_; +#line 279 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_warning ("StraightenTool.vala:279: A pixbuf for %s couldn't be fetched.", _tmp19_); +#line 279 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_free0 (_tmp19_); +#line 279 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp17_); +#line 280 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 1, 1); +#line 280 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (low_res_tmp); +#line 280 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + low_res_tmp = _tmp20_; +#line 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_error_free0 (e); +#line 1126 "StraightenTool.c" + } + __finally21: +#line 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (low_res_tmp); +#line 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.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 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_clear_error (&_inner_error_); +#line 274 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return; +#line 1139 "StraightenTool.c" + } +#line 283 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp21_ = low_res_tmp; +#line 283 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp22_ = gdk_pixbuf_get_width (_tmp21_); +#line 283 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = _tmp22_; +#line 283 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp24_ = self->priv->image_dims; +#line 283 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp25_ = _tmp24_.width; +#line 283 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->preview_scale = _tmp23_ / ((gdouble) _tmp25_); +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp26_ = low_res_tmp; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp27_ = gdk_pixbuf_get_width (_tmp26_); +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp28_ = _tmp27_; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp29_ = low_res_tmp; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp30_ = gdk_pixbuf_get_height (_tmp29_); +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp31_ = _tmp30_; +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp32_ = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, _tmp28_, _tmp31_); +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_surface_destroy0 (self->priv->photo_surf); +#line 286 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->photo_surf = _tmp32_; +#line 287 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp33_ = self->priv->photo_surf; +#line 287 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp34_ = cairo_create (_tmp33_); +#line 287 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ctx = _tmp34_; +#line 288 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp35_ = ctx; +#line 288 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp36_ = low_res_tmp; +#line 288 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gdk_cairo_set_source_pixbuf (_tmp35_, _tmp36_, (gdouble) 0, (gdouble) 0); +#line 289 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp37_ = ctx; +#line 289 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp38_ = low_res_tmp; +#line 289 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp39_ = gdk_pixbuf_get_width (_tmp38_); +#line 289 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp40_ = _tmp39_; +#line 289 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp41_ = low_res_tmp; +#line 289 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp42_ = gdk_pixbuf_get_height (_tmp41_); +#line 289 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp43_ = _tmp42_; +#line 289 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_rectangle (_tmp37_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp40_, (gdouble) _tmp43_); +#line 290 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp44_ = ctx; +#line 290 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_fill (_tmp44_); +#line 291 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp45_ = ctx; +#line 291 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_paint (_tmp45_); +#line 295 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp46_ = self->priv->crop_width; +#line 295 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp47_ = self->priv->preview_scale; +#line 295 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->view_width = (gint) (_tmp46_ * _tmp47_); +#line 296 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp48_ = self->priv->crop_height; +#line 296 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp49_ = self->priv->preview_scale; +#line 296 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->view_height = (gint) (_tmp48_ * _tmp49_); +#line 297 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp50_ = self->priv->view_width; +#line 297 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp51_ = self->priv->view_height; +#line 297 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp52_ = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, _tmp50_, _tmp51_); +#line 297 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_surface_destroy0 (self->priv->rotate_surf); +#line 297 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->rotate_surf = _tmp52_; +#line 298 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp53_ = self->priv->rotate_surf; +#line 298 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp54_ = cairo_create (_tmp53_); +#line 298 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (self->priv->rotate_ctx); +#line 298 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->rotate_ctx = _tmp54_; +#line 265 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (ctx); +#line 265 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (low_res_tmp); +#line 1241 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_adjust_for_rotation (EditingToolsStraightenTool* self) { + gdouble width = 0.0; + gdouble height = 0.0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + GdkPoint _tmp12_ = {0}; + gint radius_x = 0; + gdouble _tmp13_ = 0.0; + gint radius_y = 0; + gdouble _tmp14_ = 0.0; + GdkPoint _tmp15_ = {0}; + gint _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + GdkPoint _tmp20_ = {0}; + gint _tmp21_ = 0; + Dimensions _tmp22_ = {0}; + gint _tmp23_ = 0; + gint _tmp24_ = 0; +#line 302 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 304 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->crop_width; +#line 304 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = self->priv->crop_height; +#line 304 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = self->priv->photo_angle; +#line 304 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + compute_arb_rotated_size ((gdouble) _tmp0_, (gdouble) _tmp1_, _tmp2_, &_tmp3_, &_tmp4_); +#line 304 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + width = _tmp3_; +#line 304 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + height = _tmp4_; +#line 307 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = self->priv->image_dims; +#line 307 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = _tmp5_.width; +#line 307 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = self->priv->image_dims; +#line 307 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = _tmp7_.height; +#line 307 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = MIN (_tmp6_ / width, _tmp8_ / height); +#line 307 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->rotate_scale = _tmp9_; +#line 308 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = self->priv->rotate_scale; +#line 308 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = MIN (_tmp10_, 1.0); +#line 308 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->rotate_scale = _tmp11_; +#line 311 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = self->priv->crop_center; +#line 311 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->rotated_center = _tmp12_; +#line 312 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = self->priv->rotate_scale; +#line 312 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + radius_x = (gint) ((_tmp13_ * width) / 2); +#line 313 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = self->priv->rotate_scale; +#line 313 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + radius_y = (gint) ((_tmp14_ * height) / 2); +#line 314 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = self->priv->rotated_center; +#line 314 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = _tmp15_.x; +#line 314 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = self->priv->image_dims; +#line 314 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = _tmp17_.width; +#line 314 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = CLAMP (_tmp16_, radius_x, _tmp18_ - radius_x); +#line 314 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->rotated_center.x = _tmp19_; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = self->priv->rotated_center; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp21_ = _tmp20_.y; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp22_ = self->priv->image_dims; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = _tmp22_.height; +#line 315 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp24_ = CLAMP (_tmp21_, radius_y, _tmp23_ - radius_y); +#line 315 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->rotated_center.y = _tmp24_; +#line 1343 "StraightenTool.c" +} + + +/** + * @brief Spawn the tool window, set up the scratch surfaces and prepare the straightening + * tool for use. If a valid pixbuf of the incoming Photo can't be loaded for any + * reason, the tool will use a 1x1 temporary image instead to avoid crashing. + * + * @param canvas The PhotoCanvas the tool's output should be painted to. + */ +static gpointer _editing_tools_photo_canvas_ref0 (gpointer self) { +#line 327 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return self ? editing_tools_photo_canvas_ref (self) : NULL; +#line 1357 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_real_activate (EditingToolsEditingTool* base, EditingToolsPhotoCanvas* canvas) { + EditingToolsStraightenTool * self; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp1_ = NULL; + EditingToolsPhotoCanvas* _tmp2_ = NULL; + EditingToolsPhotoCanvas* _tmp3_ = NULL; + EditingToolsPhotoCanvas* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + Dimensions _tmp7_ = {0}; + Box crop_region = {0}; + EditingToolsPhotoCanvas* _tmp8_ = NULL; + Photo* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + Box _tmp11_ = {0}; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + gdouble incoming_angle = 0.0; + EditingToolsPhotoCanvas* _tmp18_ = NULL; + Photo* _tmp19_ = NULL; + Photo* _tmp20_ = NULL; + gdouble _tmp21_ = 0.0; + GdkPoint _tmp22_ = {0}; + Dimensions _tmp23_ = {0}; + gint _tmp24_ = 0; + Dimensions _tmp25_ = {0}; + gint _tmp26_ = 0; + gdouble _tmp27_ = 0.0; + GdkPoint _tmp28_ = {0}; + gint _tmp29_ = 0; + gint _tmp30_ = 0; + EditingToolsPhotoCanvas* _tmp31_ = NULL; + GdkWindow* _tmp32_ = NULL; + GdkWindow* _tmp33_ = NULL; + GdkCursor* _tmp34_ = NULL; + GdkCursor* _tmp35_ = NULL; + EditingToolsPhotoCanvas* _tmp36_ = NULL; + GtkWindow* _tmp37_ = NULL; + GtkWindow* _tmp38_ = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp39_ = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp40_ = NULL; + GtkScale* _tmp41_ = NULL; + gdouble _tmp42_ = 0.0; + gdouble _tmp43_ = 0.0; + gchar* tmp = NULL; + gdouble _tmp44_ = 0.0; + gchar* _tmp45_ = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp46_ = NULL; + GtkLabel* _tmp47_ = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp48_ = NULL; +#line 325 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 325 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 326 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = canvas; +#line 326 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_straighten_tool_parent_class)->activate (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool), _tmp0_); +#line 327 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = canvas; +#line 327 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = _editing_tools_photo_canvas_ref0 (_tmp1_); +#line 327 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _editing_tools_photo_canvas_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas); +#line 327 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas = _tmp2_; +#line 328 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 328 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_bind_canvas_handlers (self, _tmp3_); +#line 330 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = canvas; +#line 330 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = editing_tools_photo_canvas_get_photo (_tmp4_); +#line 330 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = _tmp5_; +#line 330 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + media_source_get_dimensions (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource), PHOTO_EXCEPTION_STRAIGHTEN | PHOTO_EXCEPTION_CROP, &_tmp7_); +#line 330 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->image_dims = _tmp7_; +#line 330 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp6_); +#line 334 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = canvas; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = editing_tools_photo_canvas_get_photo (_tmp8_); +#line 334 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = _tmp9_; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = photo_get_crop (_tmp10_, &_tmp11_, PHOTO_EXCEPTION_NONE); +#line 334 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + crop_region = _tmp11_; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = !_tmp12_; +#line 334 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp10_); +#line 334 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp13_) { +#line 1459 "StraightenTool.c" + Dimensions _tmp14_ = {0}; + gint _tmp15_ = 0; + Dimensions _tmp16_ = {0}; + gint _tmp17_ = 0; +#line 335 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + crop_region.left = 0; +#line 336 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = self->priv->image_dims; +#line 336 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = _tmp14_.width; +#line 336 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + crop_region.right = _tmp15_; +#line 338 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + crop_region.top = 0; +#line 339 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = self->priv->image_dims; +#line 339 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = _tmp16_.height; +#line 339 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + crop_region.bottom = _tmp17_; +#line 1480 "StraightenTool.c" + } +#line 344 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + incoming_angle = 0.0; +#line 345 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = canvas; +#line 345 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = editing_tools_photo_canvas_get_photo (_tmp18_); +#line 345 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = _tmp19_; +#line 345 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + photo_get_straighten (_tmp20_, &_tmp21_); +#line 345 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + incoming_angle = _tmp21_; +#line 345 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp20_); +#line 348 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + box_get_center (&crop_region, &_tmp22_); +#line 348 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = self->priv->image_dims; +#line 348 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp24_ = _tmp23_.width; +#line 348 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp25_ = self->priv->image_dims; +#line 348 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp26_ = _tmp25_.height; +#line 348 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp27_ = incoming_angle; +#line 348 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + derotate_point_arb (&_tmp22_, _tmp24_, _tmp26_, _tmp27_, &_tmp28_); +#line 348 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->crop_center = _tmp28_; +#line 350 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp29_ = box_get_width (&crop_region); +#line 350 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->crop_width = _tmp29_; +#line 351 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp30_ = box_get_height (&crop_region); +#line 351 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->crop_height = _tmp30_; +#line 353 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_adjust_for_rotation (self); +#line 355 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_prepare_image (self); +#line 358 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp31_ = canvas; +#line 358 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp32_ = editing_tools_photo_canvas_get_drawing_window (_tmp31_); +#line 358 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp33_ = _tmp32_; +#line 358 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp34_ = gdk_cursor_new (GDK_CROSSHAIR); +#line 358 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp35_ = _tmp34_; +#line 358 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gdk_window_set_cursor (_tmp33_, _tmp35_); +#line 358 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp35_); +#line 358 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp33_); +#line 360 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp36_ = canvas; +#line 360 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp37_ = editing_tools_photo_canvas_get_container (_tmp36_); +#line 360 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp38_ = _tmp37_; +#line 360 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp39_ = editing_tools_straighten_tool_straighten_tool_window_new (_tmp38_); +#line 360 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp39_); +#line 360 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->priv->window); +#line 360 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->window = _tmp39_; +#line 360 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp38_); +#line 361 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_bind_window_handlers (self); +#line 364 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp40_ = self->priv->window; +#line 364 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp41_ = _tmp40_->angle_slider; +#line 364 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp42_ = incoming_angle; +#line 364 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_range_get_type (), GtkRange), _tmp42_); +#line 365 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp43_ = incoming_angle; +#line 365 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->photo_angle = _tmp43_; +#line 367 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp44_ = incoming_angle; +#line 367 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp45_ = g_strdup_printf ("%2.1f°", _tmp44_); +#line 367 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + tmp = _tmp45_; +#line 368 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp46_ = self->priv->window; +#line 368 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp47_ = _tmp46_->angle_label; +#line 368 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_label_set_text (_tmp47_, tmp); +#line 370 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_high_qual_repaint (self); +#line 371 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp48_ = self->priv->window; +#line 371 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_widget_get_type (), GtkWidget)); +#line 325 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_free0 (tmp); +#line 1590 "StraightenTool.c" +} + + +/** + * Tears down the tool window and frees resources. + */ +static void editing_tools_straighten_tool_real_deactivate (EditingToolsEditingTool* base) { + EditingToolsStraightenTool * self; + EditingToolsStraightenToolStraightenToolWindow* _tmp0_ = NULL; + EditingToolsPhotoCanvas* _tmp2_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 378 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->window; +#line 378 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp0_ != NULL) { +#line 1607 "StraightenTool.c" + EditingToolsStraightenToolStraightenToolWindow* _tmp1_ = NULL; +#line 380 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_unbind_window_handlers (self); +#line 382 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = self->priv->window; +#line 382 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 383 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->priv->window); +#line 383 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->window = NULL; +#line 1619 "StraightenTool.c" + } +#line 386 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 386 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp2_ != NULL) { +#line 1625 "StraightenTool.c" + EditingToolsPhotoCanvas* _tmp3_ = NULL; + EditingToolsPhotoCanvas* _tmp4_ = NULL; + GdkWindow* _tmp5_ = NULL; + GdkWindow* _tmp6_ = NULL; +#line 387 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 387 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_unbind_canvas_handlers (self, _tmp3_); +#line 388 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 388 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = editing_tools_photo_canvas_get_drawing_window (_tmp4_); +#line 388 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = _tmp5_; +#line 388 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gdk_window_set_cursor (_tmp6_, NULL); +#line 388 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp6_); +#line 1644 "StraightenTool.c" + } +#line 391 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_straighten_tool_parent_class)->deactivate (G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 1648 "StraightenTool.c" +} + + +static void _editing_tools_straighten_tool_on_resized_pixbuf_editing_tools_photo_canvas_resized_scaled_pixbuf (EditingToolsPhotoCanvas* _sender, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position, gpointer self) { +#line 395 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_on_resized_pixbuf ((EditingToolsStraightenTool*) self, old_dim, scaled, scaled_position); +#line 1655 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_bind_canvas_handlers (EditingToolsStraightenTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 394 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 395 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = canvas; +#line 395 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_connect (_tmp0_, "resized-scaled-pixbuf", (GCallback) _editing_tools_straighten_tool_on_resized_pixbuf_editing_tools_photo_canvas_resized_scaled_pixbuf, self); +#line 1669 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_unbind_canvas_handlers (EditingToolsStraightenTool* self, EditingToolsPhotoCanvas* canvas) { + EditingToolsPhotoCanvas* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 398 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 398 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_PHOTO_CANVAS (canvas)); +#line 399 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = canvas; +#line 399 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_parse_name ("resized-scaled-pixbuf", EDITING_TOOLS_TYPE_PHOTO_CANVAS, &_tmp1_, NULL, FALSE); +#line 399 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _editing_tools_straighten_tool_on_resized_pixbuf_editing_tools_photo_canvas_resized_scaled_pixbuf, self); +#line 1686 "StraightenTool.c" +} + + +static gboolean _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) { + gboolean result; + result = editing_tools_editing_tool_on_keypress ((EditingToolsEditingTool*) self, event); +#line 403 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 1695 "StraightenTool.c" +} + + +static void _editing_tools_straighten_tool_on_ok_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 404 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_on_ok_clicked ((EditingToolsStraightenTool*) self); +#line 1702 "StraightenTool.c" +} + + +static void _editing_tools_editing_tool_notify_cancel_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 405 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_editing_tool_notify_cancel ((EditingToolsEditingTool*) self); +#line 1709 "StraightenTool.c" +} + + +static void _editing_tools_straighten_tool_on_angle_changed_gtk_range_value_changed (GtkRange* _sender, gpointer self) { +#line 406 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_on_angle_changed ((EditingToolsStraightenTool*) self); +#line 1716 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_bind_window_handlers (EditingToolsStraightenTool* self) { + EditingToolsStraightenToolStraightenToolWindow* _tmp0_ = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp5_ = NULL; + GtkScale* _tmp6_ = NULL; +#line 402 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 403 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->window; +#line 403 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), "key-press-event", (GCallback) _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 404 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = self->priv->window; +#line 404 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = _tmp1_->ok_button; +#line 404 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_connect (_tmp2_, "clicked", (GCallback) _editing_tools_straighten_tool_on_ok_clicked_gtk_button_clicked, self); +#line 405 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = self->priv->window; +#line 405 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = _tmp3_->cancel_button; +#line 405 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_connect (_tmp4_, "clicked", (GCallback) _editing_tools_editing_tool_notify_cancel_gtk_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 406 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = self->priv->window; +#line 406 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = _tmp5_->angle_slider; +#line 406 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_range_get_type (), GtkRange), "value-changed", (GCallback) _editing_tools_straighten_tool_on_angle_changed_gtk_range_value_changed, self); +#line 1752 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_unbind_window_handlers (EditingToolsStraightenTool* self) { + EditingToolsStraightenToolStraightenToolWindow* _tmp0_ = NULL; + guint _tmp1_ = 0U; + EditingToolsStraightenToolStraightenToolWindow* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + guint _tmp4_ = 0U; + EditingToolsStraightenToolStraightenToolWindow* _tmp5_ = NULL; + GtkButton* _tmp6_ = NULL; + guint _tmp7_ = 0U; + EditingToolsStraightenToolStraightenToolWindow* _tmp8_ = NULL; + GtkScale* _tmp9_ = NULL; + guint _tmp10_ = 0U; +#line 409 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 410 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->window; +#line 410 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_parse_name ("key-press-event", gtk_widget_get_type (), &_tmp1_, NULL, FALSE); +#line 410 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.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) _editing_tools_editing_tool_on_keypress_gtk_widget_key_press_event, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 411 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = self->priv->window; +#line 411 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = _tmp2_->ok_button; +#line 411 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp4_, NULL, FALSE); +#line 411 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _editing_tools_straighten_tool_on_ok_clicked_gtk_button_clicked, self); +#line 412 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = self->priv->window; +#line 412 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = _tmp5_->cancel_button; +#line 412 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp7_, NULL, FALSE); +#line 412 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _editing_tools_editing_tool_notify_cancel_gtk_button_clicked, G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)); +#line 413 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = self->priv->window; +#line 413 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = _tmp8_->angle_slider; +#line 413 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_parse_name ("value-changed", gtk_range_get_type (), &_tmp10_, NULL, FALSE); +#line 413 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_range_get_type (), GtkRange), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _editing_tools_straighten_tool_on_angle_changed_gtk_range_value_changed, self); +#line 1800 "StraightenTool.c" +} + + +static void _editing_tools_straighten_tool_on_slider_stopped_delayed_one_shot_callback (gpointer self) { +#line 422 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_on_slider_stopped_delayed ((EditingToolsStraightenTool*) self); +#line 1807 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_on_angle_changed (EditingToolsStraightenTool* self) { + EditingToolsStraightenToolStraightenToolWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; + gchar* tmp = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp3_ = NULL; + GtkScale* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + gchar* _tmp6_ = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp7_ = NULL; + GtkLabel* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + OneShotScheduler* _tmp10_ = NULL; + OneShotScheduler* _tmp12_ = NULL; + EditingToolsPhotoCanvas* _tmp13_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 417 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->window; +#line 417 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = _tmp0_->angle_slider; +#line 417 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange)); +#line 417 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->photo_angle = _tmp2_; +#line 418 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = self->priv->window; +#line 418 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = _tmp3_->angle_slider; +#line 418 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = gtk_range_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_range_get_type (), GtkRange)); +#line 418 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = g_strdup_printf ("%2.1f°", _tmp5_); +#line 418 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + tmp = _tmp6_; +#line 419 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = self->priv->window; +#line 419 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = _tmp7_->angle_label; +#line 419 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = tmp; +#line 419 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_label_set_text (_tmp8_, _tmp9_); +#line 421 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = self->priv->slider_sched; +#line 421 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp10_ == NULL) { +#line 1858 "StraightenTool.c" + OneShotScheduler* _tmp11_ = NULL; +#line 422 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = one_shot_scheduler_new ("straighten", _editing_tools_straighten_tool_on_slider_stopped_delayed_one_shot_callback, self); +#line 422 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _one_shot_scheduler_unref0 (self->priv->slider_sched); +#line 422 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->slider_sched = _tmp11_; +#line 1866 "StraightenTool.c" + } +#line 423 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = self->priv->slider_sched; +#line 423 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + one_shot_scheduler_after_timeout (_tmp12_, (guint) EDITING_TOOLS_STRAIGHTEN_TOOL_REPAINT_ON_STOP_DELAY_MSEC, TRUE); +#line 425 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->use_high_qual = FALSE; +#line 427 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_adjust_for_rotation (self); +#line 428 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_update_rotated_surface (self); +#line 429 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 429 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_repaint (_tmp13_); +#line 416 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_free0 (tmp); +#line 1884 "StraightenTool.c" +} + + +/** + * @brief Called by the EditingHostPage when a resize event occurs. + */ +static void editing_tools_straighten_tool_on_resized_pixbuf (EditingToolsStraightenTool* self, Dimensions* old_dim, GdkPixbuf* scaled, GdkRectangle* scaled_position) { +#line 435 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 435 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (old_dim != NULL); +#line 435 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (GDK_IS_PIXBUF (scaled)); +#line 435 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (scaled_position != NULL); +#line 436 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_prepare_image (self); +#line 1902 "StraightenTool.c" +} + + +/** + * Returns a reference to the current StraightenTool instance's tool window; + * the PhotoPage uses this to control the tool window's positioning, etc. + */ +static gpointer _g_object_ref0 (gpointer self) { +#line 444 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return self ? g_object_ref (self) : NULL; +#line 1913 "StraightenTool.c" +} + + +static EditingToolsEditingToolWindow* editing_tools_straighten_tool_real_get_tool_window (EditingToolsEditingTool* base) { + EditingToolsStraightenTool * self; + EditingToolsEditingToolWindow* result = NULL; + EditingToolsStraightenToolStraightenToolWindow* _tmp0_ = NULL; + EditingToolsEditingToolWindow* _tmp1_ = NULL; +#line 443 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 444 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->window; +#line 444 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, EditingToolsEditingToolWindow)); +#line 444 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = _tmp1_; +#line 444 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 1932 "StraightenTool.c" +} + + +/** + * Draw the rotated photo and grid. + */ +static void editing_tools_straighten_tool_update_rotated_surface (EditingToolsStraightenTool* self) { + cairo_surface_t* _tmp0_ = NULL; + cairo_t* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; + cairo_t* _tmp5_ = NULL; + cairo_t* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 450 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 451 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->photo_surf; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = self->priv->rotate_ctx; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = self->priv->view_width; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = self->priv->view_height; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = self->priv->photo_angle; +#line 451 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_draw_rotated_source (self, _tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp4_); +#line 452 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = self->priv->rotate_ctx; +#line 452 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_line_width (_tmp5_, 1.0); +#line 453 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = self->priv->rotate_ctx; +#line 453 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = self->priv->view_width; +#line 453 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = self->priv->view_height; +#line 453 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_draw_superimposed_grid (self, _tmp6_, _tmp7_, _tmp8_); +#line 1975 "StraightenTool.c" +} + + +/** + * Render a smaller, rotated version of the image, with a grid superimposed over it. + * + * @param ctx The rendering context of a 'scratch' Cairo surface. The tool makes its own + * surfaces and contexts so it can have things set up exactly like it wants them, so + * it's not used. + */ +static void editing_tools_straighten_tool_real_paint (EditingToolsEditingTool* base, cairo_t* ctx) { + EditingToolsStraightenTool * self; + gint w = 0; + EditingToolsPhotoCanvas* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkWindow* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint h = 0; + EditingToolsPhotoCanvas* _tmp5_ = NULL; + GdkWindow* _tmp6_ = NULL; + GdkWindow* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + EditingToolsPhotoCanvas* _tmp10_ = NULL; + cairo_t* _tmp11_ = NULL; + cairo_t* _tmp12_ = NULL; + EditingToolsPhotoCanvas* _tmp13_ = NULL; + cairo_t* _tmp14_ = NULL; + cairo_t* _tmp15_ = NULL; + EditingToolsPhotoCanvas* _tmp16_ = NULL; + cairo_t* _tmp17_ = NULL; + cairo_t* _tmp18_ = NULL; + EditingToolsPhotoCanvas* _tmp19_ = NULL; + cairo_t* _tmp20_ = NULL; + cairo_t* _tmp21_ = NULL; + EditingToolsPhotoCanvas* _tmp22_ = NULL; + cairo_t* _tmp23_ = NULL; + cairo_t* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + EditingToolsPhotoCanvas* _tmp27_ = NULL; + cairo_t* _tmp28_ = NULL; + cairo_t* _tmp29_ = NULL; + cairo_surface_t* _tmp30_ = NULL; + EditingToolsPhotoCanvas* _tmp31_ = NULL; + cairo_t* _tmp32_ = NULL; + cairo_t* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + EditingToolsPhotoCanvas* _tmp36_ = NULL; + cairo_t* _tmp37_ = NULL; + cairo_t* _tmp38_ = NULL; + EditingToolsPhotoCanvas* _tmp39_ = NULL; + cairo_t* _tmp40_ = NULL; + cairo_t* _tmp41_ = NULL; + EditingToolsPhotoCanvas* _tmp42_ = NULL; + cairo_t* _tmp43_ = NULL; + cairo_t* _tmp44_ = NULL; + EditingToolsStraightenToolStraightenGuide* _tmp45_ = NULL; + EditingToolsPhotoCanvas* _tmp46_ = NULL; + cairo_t* _tmp47_ = NULL; + cairo_t* _tmp48_ = NULL; +#line 463 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 463 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (ctx != NULL); +#line 464 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 464 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = editing_tools_photo_canvas_get_drawing_window (_tmp0_); +#line 464 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = _tmp1_; +#line 464 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = gdk_window_get_width (_tmp2_); +#line 464 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = _tmp3_; +#line 464 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp2_); +#line 464 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + w = _tmp4_; +#line 465 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 465 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = editing_tools_photo_canvas_get_drawing_window (_tmp5_); +#line 465 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = _tmp6_; +#line 465 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = gdk_window_get_height (_tmp7_); +#line 465 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = _tmp8_; +#line 465 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (_tmp7_); +#line 465 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + h = _tmp9_; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = editing_tools_photo_canvas_get_default_ctx (_tmp10_); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = _tmp11_; +#line 468 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_identity_matrix (_tmp12_); +#line 468 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp12_); +#line 469 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 469 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = editing_tools_photo_canvas_get_default_ctx (_tmp13_); +#line 469 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = _tmp14_; +#line 469 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_source_rgba (_tmp15_, 0.0, 0.0, 0.0, 1.0); +#line 469 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp15_); +#line 470 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 470 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = editing_tools_photo_canvas_get_default_ctx (_tmp16_); +#line 470 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = _tmp17_; +#line 470 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_rectangle (_tmp18_, (gdouble) 0, (gdouble) 0, (gdouble) w, (gdouble) h); +#line 470 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp18_); +#line 471 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 471 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = editing_tools_photo_canvas_get_default_ctx (_tmp19_); +#line 471 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp21_ = _tmp20_; +#line 471 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_fill (_tmp21_); +#line 471 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp21_); +#line 474 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 474 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = editing_tools_photo_canvas_get_default_ctx (_tmp22_); +#line 474 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp24_ = _tmp23_; +#line 474 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp25_ = self->priv->view_width; +#line 474 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp26_ = self->priv->view_height; +#line 474 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_translate (_tmp24_, (w - _tmp25_) / 2.0, (h - _tmp26_) / 2.0); +#line 474 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp24_); +#line 475 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 475 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp28_ = editing_tools_photo_canvas_get_default_ctx (_tmp27_); +#line 475 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp29_ = _tmp28_; +#line 475 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp30_ = self->priv->rotate_surf; +#line 475 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_source_surface (_tmp29_, _tmp30_, (gdouble) 0, (gdouble) 0); +#line 475 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp29_); +#line 476 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp31_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 476 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp32_ = editing_tools_photo_canvas_get_default_ctx (_tmp31_); +#line 476 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp33_ = _tmp32_; +#line 476 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp34_ = self->priv->view_width; +#line 476 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp35_ = self->priv->view_height; +#line 476 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_rectangle (_tmp33_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp34_, (gdouble) _tmp35_); +#line 476 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp33_); +#line 477 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp36_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 477 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp37_ = editing_tools_photo_canvas_get_default_ctx (_tmp36_); +#line 477 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp38_ = _tmp37_; +#line 477 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_fill (_tmp38_); +#line 477 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp38_); +#line 478 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp39_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 478 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp40_ = editing_tools_photo_canvas_get_default_ctx (_tmp39_); +#line 478 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp41_ = _tmp40_; +#line 478 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_paint (_tmp41_); +#line 478 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp41_); +#line 482 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp42_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 482 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp43_ = editing_tools_photo_canvas_get_default_ctx (_tmp42_); +#line 482 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp44_ = _tmp43_; +#line 482 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_identity_matrix (_tmp44_); +#line 482 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp44_); +#line 484 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp45_ = self->priv->guide; +#line 484 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp46_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 484 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp47_ = editing_tools_photo_canvas_get_default_ctx (_tmp46_); +#line 484 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp48_ = _tmp47_; +#line 484 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_draw (_tmp45_, _tmp48_); +#line 484 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (_tmp48_); +#line 2193 "StraightenTool.c" +} + + +/** + * Copy a rotated version of the source image onto the destination + * context. + * + * @param src_surf A Cairo surface containing the source image. + * @param dest_ctx The rendering context of the destination image. + * @param src_width The width of the image data in src_surf in pixels. + * @param src_height The height of the image data in src_surf in pixels. + * @param angle The angle the source image should be rotated by, in degrees. + */ +static void editing_tools_straighten_tool_draw_rotated_source (EditingToolsStraightenTool* self, cairo_surface_t* src_surf, cairo_t* dest_ctx, gint src_width, gint src_height, gdouble angle) { + gdouble angle_internal = 0.0; + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + cairo_t* _tmp2_ = NULL; + cairo_t* _tmp3_ = NULL; + cairo_t* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + cairo_t* _tmp7_ = NULL; + cairo_t* _tmp8_ = NULL; + cairo_t* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + cairo_t* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + cairo_t* _tmp15_ = NULL; + gdouble _tmp16_ = 0.0; + cairo_t* _tmp17_ = NULL; + GdkPoint _tmp18_ = {0}; + gint _tmp19_ = 0; + gdouble _tmp20_ = 0.0; + GdkPoint _tmp21_ = {0}; + gint _tmp22_ = 0; + gdouble _tmp23_ = 0.0; + cairo_t* _tmp24_ = NULL; + cairo_surface_t* _tmp25_ = NULL; + cairo_filter_t _tmp26_ = 0; + gboolean _tmp27_ = FALSE; + cairo_t* _tmp28_ = NULL; + cairo_pattern_t* _tmp29_ = NULL; + cairo_t* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + cairo_t* _tmp33_ = NULL; + cairo_t* _tmp34_ = NULL; +#line 497 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 497 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (src_surf != NULL); +#line 497 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (dest_ctx != NULL); +#line 499 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = angle; +#line 499 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = degrees_to_radians (_tmp0_); +#line 499 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + angle_internal = _tmp1_; +#line 503 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = dest_ctx; +#line 503 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_identity_matrix (_tmp2_); +#line 504 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = dest_ctx; +#line 504 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_source_rgba (_tmp3_, 0.0, 0.0, 0.0, 1.0); +#line 505 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = dest_ctx; +#line 505 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = self->priv->view_width; +#line 505 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = self->priv->view_height; +#line 505 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_rectangle (_tmp4_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp5_, (gdouble) _tmp6_); +#line 506 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = dest_ctx; +#line 506 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_fill (_tmp7_); +#line 511 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = dest_ctx; +#line 511 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_identity_matrix (_tmp8_); +#line 513 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = dest_ctx; +#line 513 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = self->priv->view_width; +#line 513 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = self->priv->view_height; +#line 513 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_translate (_tmp9_, (gdouble) (_tmp10_ / 2), (gdouble) (_tmp11_ / 2)); +#line 514 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = dest_ctx; +#line 514 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = self->priv->rotate_scale; +#line 514 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = self->priv->rotate_scale; +#line 514 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_scale (_tmp12_, 1.0 / _tmp13_, 1.0 / _tmp14_); +#line 515 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = dest_ctx; +#line 515 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = angle_internal; +#line 515 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_rotate (_tmp15_, _tmp16_); +#line 516 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = dest_ctx; +#line 516 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = self->priv->rotated_center; +#line 516 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = _tmp18_.x; +#line 516 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = self->priv->preview_scale; +#line 516 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp21_ = self->priv->rotated_center; +#line 516 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp22_ = _tmp21_.y; +#line 516 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = self->priv->preview_scale; +#line 516 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_translate (_tmp17_, (-_tmp19_) * _tmp20_, (-_tmp22_) * _tmp23_); +#line 518 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp24_ = dest_ctx; +#line 518 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp25_ = src_surf; +#line 518 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_source_surface (_tmp24_, _tmp25_, (gdouble) 0, (gdouble) 0); +#line 519 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp27_ = self->priv->use_high_qual; +#line 519 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp27_) { +#line 519 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp26_ = CAIRO_FILTER_BEST; +#line 2330 "StraightenTool.c" + } else { +#line 519 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp26_ = CAIRO_FILTER_NEAREST; +#line 2334 "StraightenTool.c" + } +#line 519 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp28_ = dest_ctx; +#line 519 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp29_ = cairo_get_source (_tmp28_); +#line 519 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_pattern_set_filter (_tmp29_, _tmp26_); +#line 520 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp30_ = dest_ctx; +#line 520 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp31_ = src_width; +#line 520 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp32_ = src_height; +#line 520 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_rectangle (_tmp30_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp31_, (gdouble) _tmp32_); +#line 521 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp33_ = dest_ctx; +#line 521 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_fill (_tmp33_); +#line 522 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp34_ = dest_ctx; +#line 522 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_paint (_tmp34_); +#line 2358 "StraightenTool.c" +} + + +/** + * Superimpose a faint grid over the supplied image. + * + * @param width The total width the grid should be drawn to. + * @param height The total height the grid should be drawn to. + * @param dest_ctx The rendering context of the destination image. + */ +static void editing_tools_straighten_tool_draw_superimposed_grid (EditingToolsStraightenTool* self, cairo_t* dest_ctx, gint width, gint height) { + gint half_width = 0; + gint _tmp0_ = 0; + gint quarter_width = 0; + gint _tmp1_ = 0; + gint half_height = 0; + gint _tmp2_ = 0; + gint quarter_height = 0; + gint _tmp3_ = 0; + cairo_t* _tmp4_ = NULL; + cairo_t* _tmp5_ = NULL; + EditingToolsPhotoCanvas* _tmp6_ = NULL; + cairo_t* _tmp7_ = NULL; + gint _tmp8_ = 0; + EditingToolsPhotoCanvas* _tmp9_ = NULL; + cairo_t* _tmp10_ = NULL; + gint _tmp11_ = 0; + EditingToolsPhotoCanvas* _tmp12_ = NULL; + cairo_t* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + EditingToolsPhotoCanvas* _tmp16_ = NULL; + cairo_t* _tmp17_ = NULL; + gint _tmp18_ = 0; + EditingToolsPhotoCanvas* _tmp19_ = NULL; + cairo_t* _tmp20_ = NULL; + gint _tmp21_ = 0; + EditingToolsPhotoCanvas* _tmp22_ = NULL; + cairo_t* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + cairo_t* _tmp26_ = NULL; + EditingToolsPhotoCanvas* _tmp27_ = NULL; + cairo_t* _tmp28_ = NULL; + gint _tmp29_ = 0; + EditingToolsPhotoCanvas* _tmp30_ = NULL; + cairo_t* _tmp31_ = NULL; + gint _tmp32_ = 0; + EditingToolsPhotoCanvas* _tmp33_ = NULL; + cairo_t* _tmp34_ = NULL; + gint _tmp35_ = 0; + EditingToolsPhotoCanvas* _tmp36_ = NULL; + cairo_t* _tmp37_ = NULL; + gint _tmp38_ = 0; +#line 532 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_IS_STRAIGHTEN_TOOL (self)); +#line 532 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (dest_ctx != NULL); +#line 533 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = width; +#line 533 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + half_width = _tmp0_ / 2; +#line 534 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = width; +#line 534 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + quarter_width = _tmp1_ / 4; +#line 536 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = height; +#line 536 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + half_height = _tmp2_ / 2; +#line 537 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = height; +#line 537 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + quarter_height = _tmp3_ / 4; +#line 539 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = dest_ctx; +#line 539 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_identity_matrix (_tmp4_); +#line 540 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = dest_ctx; +#line 540 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_source_rgba (_tmp5_, 1.0, 1.0, 1.0, 1.0); +#line 542 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 542 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = dest_ctx; +#line 542 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = width; +#line 542 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_horizontal_line (_tmp6_, _tmp7_, 0, 0, _tmp8_, FALSE); +#line 543 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 543 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = dest_ctx; +#line 543 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = width; +#line 543 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_horizontal_line (_tmp9_, _tmp10_, 0, half_height, _tmp11_, FALSE); +#line 544 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 544 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = dest_ctx; +#line 544 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = self->priv->view_height; +#line 544 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = width; +#line 544 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_horizontal_line (_tmp12_, _tmp13_, 0, _tmp14_ - 1, _tmp15_, FALSE); +#line 546 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 546 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = dest_ctx; +#line 546 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = height; +#line 546 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_vertical_line (_tmp16_, _tmp17_, 0, 0, _tmp18_ + 1, FALSE); +#line 547 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 547 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = dest_ctx; +#line 547 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp21_ = height; +#line 547 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_vertical_line (_tmp19_, _tmp20_, half_width, 0, _tmp21_ + 1, FALSE); +#line 548 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 548 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = dest_ctx; +#line 548 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp24_ = width; +#line 548 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp25_ = height; +#line 548 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_vertical_line (_tmp22_, _tmp23_, _tmp24_ - 1, 0, _tmp25_ + 1, FALSE); +#line 550 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp26_ = dest_ctx; +#line 550 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_source_rgba (_tmp26_, 1.0, 1.0, 1.0, 0.33); +#line 552 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp27_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 552 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp28_ = dest_ctx; +#line 552 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp29_ = width; +#line 552 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_horizontal_line (_tmp27_, _tmp28_, 0, quarter_height, _tmp29_, FALSE); +#line 553 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp30_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 553 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp31_ = dest_ctx; +#line 553 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp32_ = width; +#line 553 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_horizontal_line (_tmp30_, _tmp31_, 0, half_height + quarter_height, _tmp32_, FALSE); +#line 554 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp33_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 554 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp34_ = dest_ctx; +#line 554 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp35_ = height; +#line 554 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_vertical_line (_tmp33_, _tmp34_, quarter_width, 0, _tmp35_, FALSE); +#line 555 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp36_ = G_TYPE_CHECK_INSTANCE_CAST (self, EDITING_TOOLS_TYPE_EDITING_TOOL, EditingToolsEditingTool)->canvas; +#line 555 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp37_ = dest_ctx; +#line 555 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp38_ = height; +#line 555 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_photo_canvas_draw_vertical_line (_tmp36_, _tmp37_, half_width + quarter_width, 0, _tmp38_, FALSE); +#line 2529 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_guide_reset (EditingToolsStraightenToolStraightenGuide* self, gint x, gint y, gdouble angle) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_[2] = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_[2] = {0}; + gdouble _tmp6_ = 0.0; +#line 31 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_GUIDE (self)); +#line 32 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = x; +#line 32 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = x; +#line 32 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_[0] = _tmp0_; +#line 32 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_[1] = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + memcpy (self->priv->x, _tmp2_, 2 * sizeof (gint)); +#line 33 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = y; +#line 33 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = y; +#line 33 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_[0] = _tmp3_; +#line 33 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_[1] = _tmp4_; +#line 33 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + memcpy (self->priv->y, _tmp5_, 2 * sizeof (gint)); +#line 34 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->is_active = TRUE; +#line 35 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = angle; +#line 35 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->angle0 = _tmp6_; +#line 2569 "StraightenTool.c" +} + + +static gboolean editing_tools_straighten_tool_straighten_guide_update (EditingToolsStraightenToolStraightenGuide* self, gint x, gint y) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 38 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_val_if_fail (EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_GUIDE (self), FALSE); +#line 39 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->is_active; +#line 39 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp0_) { +#line 2582 "StraightenTool.c" + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 40 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = x; +#line 40 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->x[1] = _tmp1_; +#line 40 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = self->priv->x[1]; +#line 41 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = y; +#line 41 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->y[1] = _tmp3_; +#line 41 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = self->priv->y[1]; +#line 42 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = TRUE; +#line 42 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 2603 "StraightenTool.c" + } +#line 45 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = FALSE; +#line 45 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 2609 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_guide_clear (EditingToolsStraightenToolStraightenGuide* self) { +#line 48 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_GUIDE (self)); +#line 49 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->is_active = FALSE; +#line 2618 "StraightenTool.c" +} + + +static gdouble* _double_dup (gdouble* self) { + gdouble* dup; +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + dup = g_new0 (gdouble, 1); +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + memcpy (dup, self, sizeof (gdouble)); +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return dup; +#line 2630 "StraightenTool.c" +} + + +static gpointer __double_dup0 (gpointer self) { +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return self ? _double_dup (self) : NULL; +#line 2637 "StraightenTool.c" +} + + +static gdouble* editing_tools_straighten_tool_straighten_guide_get_angle (EditingToolsStraightenToolStraightenGuide* self) { + gdouble* result = NULL; + gdouble dx = 0.0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gdouble dy = 0.0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; +#line 52 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_val_if_fail (EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_GUIDE (self), NULL); +#line 53 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->x[1]; +#line 53 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = self->priv->x[0]; +#line 53 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + dx = (gdouble) (_tmp0_ - _tmp1_); +#line 54 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = self->priv->y[1]; +#line 54 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = self->priv->y[0]; +#line 54 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + dy = (gdouble) (_tmp2_ - _tmp3_); +#line 57 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = dy; +#line 57 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = dy; +#line 57 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = dx; +#line 57 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = dx; +#line 57 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (((_tmp4_ * _tmp5_) + (_tmp6_ * _tmp7_)) < ((gdouble) 40)) { +#line 58 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = NULL; +#line 58 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 2685 "StraightenTool.c" + } +#line 61 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = dy; +#line 61 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = fabs (_tmp8_); +#line 61 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = dx; +#line 61 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = fabs (_tmp10_); +#line 61 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp9_ > _tmp11_) { +#line 2697 "StraightenTool.c" + gdouble _tmp12_ = 0.0; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + gdouble _tmp15_ = 0.0; + gdouble _tmp16_ = 0.0; + gdouble* _tmp17_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = self->priv->angle0; +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = dx; +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = dy; +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = atan (_tmp13_ / _tmp14_); +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = _tmp12_ + ((_tmp15_ / G_PI) * 180); +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = __double_dup0 (&_tmp16_); +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = _tmp17_; +#line 62 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 2720 "StraightenTool.c" + } else { + gdouble _tmp18_ = 0.0; + gdouble _tmp19_ = 0.0; + gdouble _tmp20_ = 0.0; + gdouble _tmp21_ = 0.0; + gdouble _tmp22_ = 0.0; + gdouble* _tmp23_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = self->priv->angle0; +#line 64 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = dy; +#line 64 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = dx; +#line 64 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp21_ = atan (_tmp19_ / _tmp20_); +#line 64 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp22_ = _tmp18_ - ((_tmp21_ / G_PI) * 180); +#line 64 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = __double_dup0 (&_tmp22_); +#line 64 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + result = _tmp23_; +#line 64 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return result; +#line 2744 "StraightenTool.c" + } +} + + +static void editing_tools_straighten_tool_straighten_guide_draw (EditingToolsStraightenToolStraightenGuide* self, cairo_t* ctx) { + gboolean _tmp0_ = FALSE; + gdouble* _tmp1_ = NULL; + gdouble* _tmp2_ = NULL; + gdouble angle = 0.0; + gdouble* _tmp5_ = NULL; + gdouble* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; + gdouble alpha = 0.0; + gboolean _tmp9_ = FALSE; + gdouble _tmp10_ = 0.0; + cairo_t* _tmp12_ = NULL; + gdouble _tmp13_ = 0.0; + cairo_t* _tmp14_ = NULL; + gdouble _tmp15_ = 0.0; + cairo_t* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + cairo_t* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + cairo_t* _tmp22_ = NULL; + cairo_t* _tmp23_ = NULL; + gdouble _tmp24_ = 0.0; + cairo_t* _tmp25_ = NULL; + gdouble _tmp26_ = 0.0; + cairo_t* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + cairo_t* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + cairo_t* _tmp33_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_GUIDE (self)); +#line 67 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (ctx != NULL); +#line 68 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->priv->is_active; +#line 68 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (!_tmp0_) { +#line 69 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return; +#line 2793 "StraightenTool.c" + } +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = editing_tools_straighten_tool_straighten_guide_get_angle (self); +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = _tmp2_; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp1_ == NULL) { +#line 2801 "StraightenTool.c" + gdouble _tmp3_ = 0.0; + gdouble* _tmp4_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = 0.0; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = __double_dup0 (&_tmp3_); +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_free0 (_tmp1_); +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = _tmp4_; +#line 2812 "StraightenTool.c" + } +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = _tmp1_; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = _tmp5_; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = *_tmp6_; +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_free0 (_tmp6_); +#line 71 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + angle = _tmp7_; +#line 72 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = angle; +#line 72 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp8_ == 0.0) { +#line 73 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_free0 (_tmp1_); +#line 73 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return; +#line 2834 "StraightenTool.c" + } +#line 75 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + alpha = 1.0; +#line 76 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = angle; +#line 76 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp10_ < EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_ANGLE) { +#line 76 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = TRUE; +#line 2844 "StraightenTool.c" + } else { + gdouble _tmp11_ = 0.0; +#line 76 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = angle; +#line 76 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = _tmp11_ > EDITING_TOOLS_STRAIGHTEN_TOOL_MAX_ANGLE; +#line 2851 "StraightenTool.c" + } +#line 76 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (_tmp9_) { +#line 77 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + alpha = 0.35; +#line 2857 "StraightenTool.c" + } +#line 81 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = ctx; +#line 81 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = alpha; +#line 81 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_source_rgba (_tmp12_, 0.0, 0.0, 0.0, _tmp13_); +#line 82 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = ctx; +#line 82 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = EDITING_TOOLS_STRAIGHTEN_TOOL_GUIDE_DASH[0]; +#line 82 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_dash (_tmp14_, EDITING_TOOLS_STRAIGHTEN_TOOL_GUIDE_DASH, G_N_ELEMENTS (EDITING_TOOLS_STRAIGHTEN_TOOL_GUIDE_DASH), _tmp15_ / 2); +#line 83 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = ctx; +#line 83 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = self->priv->x[0]; +#line 83 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = self->priv->y[0]; +#line 83 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_move_to (_tmp16_, _tmp17_ + 0.5, _tmp18_ + 0.5); +#line 84 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = ctx; +#line 84 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = self->priv->x[1]; +#line 84 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp21_ = self->priv->y[1]; +#line 84 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_line_to (_tmp19_, _tmp20_ + 0.5, _tmp21_ + 0.5); +#line 85 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp22_ = ctx; +#line 85 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_stroke (_tmp22_); +#line 86 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp23_ = ctx; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp24_ = EDITING_TOOLS_STRAIGHTEN_TOOL_GUIDE_DASH[0]; +#line 86 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_dash (_tmp23_, EDITING_TOOLS_STRAIGHTEN_TOOL_GUIDE_DASH, G_N_ELEMENTS (EDITING_TOOLS_STRAIGHTEN_TOOL_GUIDE_DASH), (-_tmp24_) / 2); +#line 87 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp25_ = ctx; +#line 87 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp26_ = alpha; +#line 87 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_set_source_rgba (_tmp25_, 1.0, 1.0, 1.0, _tmp26_); +#line 88 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp27_ = ctx; +#line 88 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp28_ = self->priv->x[0]; +#line 88 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp29_ = self->priv->y[0]; +#line 88 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_move_to (_tmp27_, _tmp28_ + 0.5, _tmp29_ + 0.5); +#line 89 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp30_ = ctx; +#line 89 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp31_ = self->priv->x[1]; +#line 89 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp32_ = self->priv->y[1]; +#line 89 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_line_to (_tmp30_, _tmp31_ + 0.5, _tmp32_ + 0.5); +#line 90 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp33_ = ctx; +#line 90 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + cairo_stroke (_tmp33_); +#line 67 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_free0 (_tmp1_); +#line 2925 "StraightenTool.c" +} + + +static EditingToolsStraightenToolStraightenGuide* editing_tools_straighten_tool_straighten_guide_construct (GType object_type) { + EditingToolsStraightenToolStraightenGuide* self = NULL; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = (EditingToolsStraightenToolStraightenGuide*) g_type_create_instance (object_type); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return self; +#line 2935 "StraightenTool.c" +} + + +static EditingToolsStraightenToolStraightenGuide* editing_tools_straighten_tool_straighten_guide_new (void) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return editing_tools_straighten_tool_straighten_guide_construct (EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE); +#line 2942 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_value_straighten_guide_init (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + value->data[0].v_pointer = NULL; +#line 2949 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_value_straighten_guide_free_value (GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_unref (value->data[0].v_pointer); +#line 2958 "StraightenTool.c" + } +} + + +static void editing_tools_straighten_tool_value_straighten_guide_copy_value (const GValue* src_value, GValue* dest_value) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (src_value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + dest_value->data[0].v_pointer = editing_tools_straighten_tool_straighten_guide_ref (src_value->data[0].v_pointer); +#line 2968 "StraightenTool.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + dest_value->data[0].v_pointer = NULL; +#line 2972 "StraightenTool.c" + } +} + + +static gpointer editing_tools_straighten_tool_value_straighten_guide_peek_pointer (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return value->data[0].v_pointer; +#line 2980 "StraightenTool.c" +} + + +static gchar* editing_tools_straighten_tool_value_straighten_guide_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (collect_values[0].v_pointer) { +#line 2987 "StraightenTool.c" + EditingToolsStraightenToolStraightenGuide* object; + object = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (object->parent_instance.g_class == NULL) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2994 "StraightenTool.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2998 "StraightenTool.c" + } +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + value->data[0].v_pointer = editing_tools_straighten_tool_straighten_guide_ref (object); +#line 3002 "StraightenTool.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + value->data[0].v_pointer = NULL; +#line 3006 "StraightenTool.c" + } +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return NULL; +#line 3010 "StraightenTool.c" +} + + +static gchar* editing_tools_straighten_tool_value_straighten_guide_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + EditingToolsStraightenToolStraightenGuide** object_p; + object_p = collect_values[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (!object_p) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3021 "StraightenTool.c" + } +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (!value->data[0].v_pointer) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + *object_p = NULL; +#line 3027 "StraightenTool.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + *object_p = value->data[0].v_pointer; +#line 3031 "StraightenTool.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + *object_p = editing_tools_straighten_tool_straighten_guide_ref (value->data[0].v_pointer); +#line 3035 "StraightenTool.c" + } +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return NULL; +#line 3039 "StraightenTool.c" +} + + +static GParamSpec* editing_tools_straighten_tool_param_spec_straighten_guide (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + EditingToolsStraightenToolParamSpecStraightenGuide* spec; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_val_if_fail (g_type_is_a (object_type, EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE), NULL); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return G_PARAM_SPEC (spec); +#line 3053 "StraightenTool.c" +} + + +static gpointer editing_tools_straighten_tool_value_get_straighten_guide (const GValue* value) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE), NULL); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return value->data[0].v_pointer; +#line 3062 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_value_set_straighten_guide (GValue* value, gpointer v_object) { + EditingToolsStraightenToolStraightenGuide* old; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE)); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE)); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + value->data[0].v_pointer = v_object; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_ref (value->data[0].v_pointer); +#line 3082 "StraightenTool.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + value->data[0].v_pointer = NULL; +#line 3086 "StraightenTool.c" + } +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_unref (old); +#line 3092 "StraightenTool.c" + } +} + + +static void editing_tools_straighten_tool_value_take_straighten_guide (GValue* value, gpointer v_object) { + EditingToolsStraightenToolStraightenGuide* old; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE)); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + old = value->data[0].v_pointer; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (v_object) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE)); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + value->data[0].v_pointer = v_object; +#line 3111 "StraightenTool.c" + } else { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + value->data[0].v_pointer = NULL; +#line 3115 "StraightenTool.c" + } +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (old) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_unref (old); +#line 3121 "StraightenTool.c" + } +} + + +static void editing_tools_straighten_tool_straighten_guide_class_init (EditingToolsStraightenToolStraightenGuideClass * klass) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_guide_parent_class = g_type_class_peek_parent (klass); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsStraightenToolStraightenGuideClass *) klass)->finalize = editing_tools_straighten_tool_straighten_guide_finalize; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_type_class_add_private (klass, sizeof (EditingToolsStraightenToolStraightenGuidePrivate)); +#line 3133 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_guide_instance_init (EditingToolsStraightenToolStraightenGuide * self) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv = EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_GUIDE_GET_PRIVATE (self); +#line 26 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->is_active = FALSE; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->ref_count = 1; +#line 3144 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_guide_finalize (EditingToolsStraightenToolStraightenGuide* obj) { + EditingToolsStraightenToolStraightenGuide * self; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_GUIDE, EditingToolsStraightenToolStraightenGuide); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_handlers_destroy (self); +#line 3154 "StraightenTool.c" +} + + +static GType editing_tools_straighten_tool_straighten_guide_get_type (void) { + static volatile gsize editing_tools_straighten_tool_straighten_guide_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_straighten_tool_straighten_guide_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { editing_tools_straighten_tool_value_straighten_guide_init, editing_tools_straighten_tool_value_straighten_guide_free_value, editing_tools_straighten_tool_value_straighten_guide_copy_value, editing_tools_straighten_tool_value_straighten_guide_peek_pointer, "p", editing_tools_straighten_tool_value_straighten_guide_collect_value, "p", editing_tools_straighten_tool_value_straighten_guide_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsStraightenToolStraightenGuideClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_straighten_tool_straighten_guide_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsStraightenToolStraightenGuide), 0, (GInstanceInitFunc) editing_tools_straighten_tool_straighten_guide_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType editing_tools_straighten_tool_straighten_guide_type_id; + editing_tools_straighten_tool_straighten_guide_type_id = g_type_register_fundamental (g_type_fundamental_next (), "EditingToolsStraightenToolStraightenGuide", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&editing_tools_straighten_tool_straighten_guide_type_id__volatile, editing_tools_straighten_tool_straighten_guide_type_id); + } + return editing_tools_straighten_tool_straighten_guide_type_id__volatile; +} + + +static gpointer editing_tools_straighten_tool_straighten_guide_ref (gpointer instance) { + EditingToolsStraightenToolStraightenGuide* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_atomic_int_inc (&self->ref_count); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return instance; +#line 3179 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_guide_unref (gpointer instance) { + EditingToolsStraightenToolStraightenGuide* self; + self = instance; +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_GUIDE_GET_CLASS (self)->finalize (self); +#line 25 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3192 "StraightenTool.c" + } +} + + +/** + * Prepare straighten tool's window for use and initialize all its controls. + * + * @param container The application's main window. + */ +static void _editing_tools_straighten_tool_straighten_tool_window_on_reset_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 140 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_tool_window_on_reset_clicked ((EditingToolsStraightenToolStraightenToolWindow*) self); +#line 3205 "StraightenTool.c" +} + + +static EditingToolsStraightenToolStraightenToolWindow* editing_tools_straighten_tool_straighten_tool_window_construct (GType object_type, GtkWindow* container) { + EditingToolsStraightenToolStraightenToolWindow * self = NULL; + GtkWindow* _tmp0_ = NULL; + GtkScale* _tmp1_ = NULL; + GtkScale* _tmp2_ = NULL; + GtkScale* _tmp3_ = NULL; + GtkScale* _tmp4_ = NULL; + GtkLabel* _tmp5_ = NULL; + GtkLabel* _tmp6_ = NULL; + GtkLabel* _tmp7_ = NULL; + GtkBox* slider_layout = NULL; + GtkBox* _tmp8_ = NULL; + GtkScale* _tmp9_ = NULL; + GtkBox* button_layout = NULL; + GtkBox* _tmp10_ = NULL; + GtkButton* _tmp11_ = NULL; + GtkButton* _tmp12_ = NULL; + GtkButton* _tmp13_ = NULL; + GtkButton* _tmp14_ = NULL; + GtkButton* _tmp15_ = NULL; + GtkButton* _tmp16_ = NULL; + GtkBox* main_layout = NULL; + GtkBox* _tmp17_ = NULL; + GtkLabel* _tmp18_ = NULL; + GtkLabel* _tmp19_ = NULL; + GtkButton* _tmp20_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_val_if_fail (GTK_IS_WINDOW (container), NULL); +#line 110 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = container; +#line 110 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = (EditingToolsStraightenToolStraightenToolWindow*) editing_tools_editing_tool_window_construct (object_type, _tmp0_); +#line 112 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = self->angle_slider; +#line 112 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_range_set_min_slider_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_range_get_type (), GtkRange), EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_SLIDER_SIZE); +#line 113 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = self->angle_slider; +#line 113 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_SLIDER_SIZE, -1); +#line 114 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = self->angle_slider; +#line 114 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_range_get_type (), GtkRange), 0.0); +#line 115 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = self->angle_slider; +#line 115 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_scale_set_draw_value (_tmp4_, FALSE); +#line 117 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = self->description_label; +#line 117 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_misc_set_padding (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_misc_get_type (), GtkMisc), EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_TOOL_WINDOW_CONTROL_SPACING, 0); +#line 118 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = self->angle_label; +#line 118 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_misc_set_padding (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_misc_get_type (), GtkMisc), 0, 0); +#line 119 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = self->angle_label; +#line 119 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_LABEL_SIZE, -1); +#line 121 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_TOOL_WINDOW_CONTROL_SPACING); +#line 121 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp8_); +#line 121 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + slider_layout = _tmp8_; +#line 122 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp9_ = self->angle_slider; +#line 122 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_box_pack_start (slider_layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 124 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp10_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, EDITING_TOOLS_STRAIGHTEN_TOOL_STRAIGHTEN_TOOL_WINDOW_CONTROL_SPACING); +#line 124 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp10_); +#line 124 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + button_layout = _tmp10_; +#line 125 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp11_ = self->cancel_button; +#line 125 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_BUTTON_SIZE, -1); +#line 126 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp12_ = self->reset_button; +#line 126 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_BUTTON_SIZE, -1); +#line 127 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp13_ = self->ok_button; +#line 127 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget), EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_BUTTON_SIZE, -1); +#line 128 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp14_ = self->cancel_button; +#line 128 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_box_pack_start (button_layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 129 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp15_ = self->reset_button; +#line 129 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_box_pack_start (button_layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 130 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp16_ = self->ok_button; +#line 130 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_box_pack_start (button_layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 132 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp17_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); +#line 132 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp17_); +#line 132 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + main_layout = _tmp17_; +#line 133 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp18_ = self->description_label; +#line 133 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_box_pack_start (main_layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 134 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_box_pack_start (main_layout, G_TYPE_CHECK_INSTANCE_CAST (slider_layout, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 135 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp19_ = self->angle_label; +#line 135 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_box_pack_start (main_layout, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 136 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_box_pack_start (main_layout, G_TYPE_CHECK_INSTANCE_CAST (button_layout, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 138 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (main_layout, gtk_widget_get_type (), GtkWidget)); +#line 140 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp20_ = self->reset_button; +#line 140 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_signal_connect_object (_tmp20_, "clicked", (GCallback) _editing_tools_straighten_tool_straighten_tool_window_on_reset_clicked_gtk_button_clicked, self, 0); +#line 142 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_window_set_position (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), GTK_WIN_POS_CENTER_ON_PARENT); +#line 109 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (main_layout); +#line 109 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (button_layout); +#line 109 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (slider_layout); +#line 109 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return self; +#line 3343 "StraightenTool.c" +} + + +static EditingToolsStraightenToolStraightenToolWindow* editing_tools_straighten_tool_straighten_tool_window_new (GtkWindow* container) { +#line 109 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + return editing_tools_straighten_tool_straighten_tool_window_construct (EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_TOOL_WINDOW, container); +#line 3350 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_tool_window_on_reset_clicked (EditingToolsStraightenToolStraightenToolWindow* self) { + GtkScale* _tmp0_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_return_if_fail (EDITING_TOOLS_STRAIGHTEN_TOOL_IS_STRAIGHTEN_TOOL_WINDOW (self)); +#line 146 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = self->angle_slider; +#line 146 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + gtk_range_set_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_range_get_type (), GtkRange), 0.0); +#line 3362 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_tool_window_class_init (EditingToolsStraightenToolStraightenToolWindowClass * klass) { +#line 94 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_straighten_tool_window_parent_class = g_type_class_peek_parent (klass); +#line 94 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + G_OBJECT_CLASS (klass)->finalize = editing_tools_straighten_tool_straighten_tool_window_finalize; +#line 3371 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_tool_window_instance_init (EditingToolsStraightenToolStraightenToolWindow * self) { + GtkScale* _tmp0_ = NULL; + GtkLabel* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GtkLabel* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkButton* _tmp5_ = NULL; + GtkButton* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GtkButton* _tmp8_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = (GtkScale*) gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, EDITING_TOOLS_STRAIGHTEN_TOOL_MIN_ANGLE, EDITING_TOOLS_STRAIGHTEN_TOOL_MAX_ANGLE, EDITING_TOOLS_STRAIGHTEN_TOOL_INCREMENT); +#line 97 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp0_); +#line 97 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->angle_slider = _tmp0_; +#line 98 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp1_ = (GtkLabel*) gtk_label_new (""); +#line 98 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp1_); +#line 98 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->angle_label = _tmp1_; +#line 99 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp2_ = _ ("Angle:"); +#line 99 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp3_ = (GtkLabel*) gtk_label_new (_tmp2_); +#line 99 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp3_); +#line 99 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->description_label = _tmp3_; +#line 100 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp4_ = _ ("_Straighten"); +#line 100 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp5_ = (GtkButton*) gtk_button_new_with_mnemonic (_tmp4_); +#line 100 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp5_); +#line 100 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->ok_button = _tmp5_; +#line 101 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp6_ = (GtkButton*) gtk_button_new_with_mnemonic (RESOURCES_CANCEL_LABEL); +#line 101 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp6_); +#line 101 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->cancel_button = _tmp6_; +#line 102 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp7_ = _ ("_Reset"); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp8_ = (GtkButton*) gtk_button_new_with_mnemonic (_tmp7_); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_object_ref_sink (_tmp8_); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->reset_button = _tmp8_; +#line 3427 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_straighten_tool_window_finalize (GObject* obj) { + EditingToolsStraightenToolStraightenToolWindow * self; +#line 94 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_STRAIGHTEN_TOOL_TYPE_STRAIGHTEN_TOOL_WINDOW, EditingToolsStraightenToolStraightenToolWindow); +#line 97 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->angle_slider); +#line 98 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->angle_label); +#line 99 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->description_label); +#line 100 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->ok_button); +#line 101 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->cancel_button); +#line 102 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->reset_button); +#line 94 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + G_OBJECT_CLASS (editing_tools_straighten_tool_straighten_tool_window_parent_class)->finalize (obj); +#line 3449 "StraightenTool.c" +} + + +static GType editing_tools_straighten_tool_straighten_tool_window_get_type (void) { + static volatile gsize editing_tools_straighten_tool_straighten_tool_window_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_straighten_tool_straighten_tool_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsStraightenToolStraightenToolWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_straighten_tool_straighten_tool_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsStraightenToolStraightenToolWindow), 0, (GInstanceInitFunc) editing_tools_straighten_tool_straighten_tool_window_instance_init, NULL }; + GType editing_tools_straighten_tool_straighten_tool_window_type_id; + editing_tools_straighten_tool_straighten_tool_window_type_id = g_type_register_static (EDITING_TOOLS_TYPE_EDITING_TOOL_WINDOW, "EditingToolsStraightenToolStraightenToolWindow", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_straighten_tool_straighten_tool_window_type_id__volatile, editing_tools_straighten_tool_straighten_tool_window_type_id); + } + return editing_tools_straighten_tool_straighten_tool_window_type_id__volatile; +} + + +static void editing_tools_straighten_tool_class_init (EditingToolsStraightenToolClass * klass) { +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + editing_tools_straighten_tool_parent_class = g_type_class_peek_parent (klass); +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->finalize = editing_tools_straighten_tool_finalize; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + g_type_class_add_private (klass, sizeof (EditingToolsStraightenToolPrivate)); +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->on_left_click = editing_tools_straighten_tool_real_on_left_click; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->on_left_released = editing_tools_straighten_tool_real_on_left_released; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->on_motion = editing_tools_straighten_tool_real_on_motion; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->on_keypress = editing_tools_straighten_tool_real_on_keypress; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->activate = editing_tools_straighten_tool_real_activate; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->deactivate = editing_tools_straighten_tool_real_deactivate; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->get_tool_window = editing_tools_straighten_tool_real_get_tool_window; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + ((EditingToolsEditingToolClass *) klass)->paint = editing_tools_straighten_tool_real_paint; +#line 3488 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_instance_init (EditingToolsStraightenTool * self) { + EditingToolsStraightenToolStraightenGuide* _tmp0_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv = EDITING_TOOLS_STRAIGHTEN_TOOL_GET_PRIVATE (self); +#line 163 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->photo_angle = 0.0; +#line 167 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->use_high_qual = TRUE; +#line 168 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->slider_sched = NULL; +#line 174 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _tmp0_ = editing_tools_straighten_tool_straighten_guide_new (); +#line 174 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self->priv->guide = _tmp0_; +#line 3506 "StraightenTool.c" +} + + +static void editing_tools_straighten_tool_finalize (EditingToolsEditingTool* obj) { + EditingToolsStraightenTool * self; +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EDITING_TOOLS_TYPE_STRAIGHTEN_TOOL, EditingToolsStraightenTool); +#line 150 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _g_object_unref0 (self->priv->window); +#line 153 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_surface_destroy0 (self->priv->photo_surf); +#line 157 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_surface_destroy0 (self->priv->rotate_surf); +#line 158 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _cairo_destroy0 (self->priv->rotate_ctx); +#line 168 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _one_shot_scheduler_unref0 (self->priv->slider_sched); +#line 174 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + _editing_tools_straighten_tool_straighten_guide_unref0 (self->priv->guide); +#line 14 "/home/jens/Source/shotwell/src/editing_tools/StraightenTool.vala" + EDITING_TOOLS_EDITING_TOOL_CLASS (editing_tools_straighten_tool_parent_class)->finalize (obj); +#line 3528 "StraightenTool.c" +} + + +/** + * An editing tool that allows one to introduce or remove a Dutch angle from + * a photograph. + */ +GType editing_tools_straighten_tool_get_type (void) { + static volatile gsize editing_tools_straighten_tool_type_id__volatile = 0; + if (g_once_init_enter (&editing_tools_straighten_tool_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EditingToolsStraightenToolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) editing_tools_straighten_tool_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EditingToolsStraightenTool), 0, (GInstanceInitFunc) editing_tools_straighten_tool_instance_init, NULL }; + GType editing_tools_straighten_tool_type_id; + editing_tools_straighten_tool_type_id = g_type_register_static (EDITING_TOOLS_TYPE_EDITING_TOOL, "EditingToolsStraightenTool", &g_define_type_info, 0); + g_once_init_leave (&editing_tools_straighten_tool_type_id__volatile, editing_tools_straighten_tool_type_id); + } + return editing_tools_straighten_tool_type_id__volatile; +} + + + diff --git a/src/editing_tools/mk/editing_tools.mk b/src/editing_tools/mk/editing_tools.mk deleted file mode 100644 index 424c525..0000000 --- a/src/editing_tools/mk/editing_tools.mk +++ /dev/null @@ -1,28 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := EditingTools - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := editing_tools - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - StraightenTool.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/events/Branch.c b/src/events/Branch.c new file mode 100644 index 0000000..193a8ee --- /dev/null +++ b/src/events/Branch.c @@ -0,0 +1,4446 @@ +/* Branch.c generated by valac 0.32.1, the Vala compiler + * generated from Branch.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; +typedef struct _SidebarBranchPrivate SidebarBranchPrivate; + +#define EVENTS_TYPE_BRANCH (events_branch_get_type ()) +#define EVENTS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_BRANCH, EventsBranch)) +#define EVENTS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_BRANCH, EventsBranchClass)) +#define EVENTS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_BRANCH)) +#define EVENTS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_BRANCH)) +#define EVENTS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_BRANCH, EventsBranchClass)) + +typedef struct _EventsBranch EventsBranch; +typedef struct _EventsBranchClass EventsBranchClass; +typedef struct _EventsBranchPrivate EventsBranchPrivate; + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_EVENT_SOURCE (event_source_get_type ()) +#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource)) +#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass)) +#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE)) +#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE)) +#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass)) + +typedef struct _EventSource EventSource; +typedef struct _EventSourceClass EventSourceClass; + +#define TYPE_EVENT (event_get_type ()) +#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event)) +#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass)) +#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT)) +#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT)) +#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass)) + +typedef struct _Event Event; +typedef struct _EventClass EventClass; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; + +#define EVENTS_TYPE_EVENT_ENTRY (events_event_entry_get_type ()) +#define EVENTS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)) +#define EVENTS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass)) +#define EVENTS_IS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_EVENT_ENTRY)) +#define EVENTS_IS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_EVENT_ENTRY)) +#define EVENTS_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass)) + +typedef struct _EventsEventEntry EventsEventEntry; +typedef struct _EventsEventEntryClass EventsEventEntryClass; + +#define EVENTS_TYPE_DIRECTORY_ENTRY (events_directory_entry_get_type ()) +#define EVENTS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry)) +#define EVENTS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass)) +#define EVENTS_IS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_DIRECTORY_ENTRY)) +#define EVENTS_IS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_DIRECTORY_ENTRY)) +#define EVENTS_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass)) + +typedef struct _EventsDirectoryEntry EventsDirectoryEntry; +typedef struct _EventsDirectoryEntryClass EventsDirectoryEntryClass; + +#define EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY (events_undated_directory_entry_get_type ()) +#define EVENTS_UNDATED_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry)) +#define EVENTS_UNDATED_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntryClass)) +#define EVENTS_IS_UNDATED_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) +#define EVENTS_IS_UNDATED_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) +#define EVENTS_UNDATED_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntryClass)) + +typedef struct _EventsUndatedDirectoryEntry EventsUndatedDirectoryEntry; +typedef struct _EventsUndatedDirectoryEntryClass EventsUndatedDirectoryEntryClass; + +#define EVENTS_TYPE_NO_EVENT_ENTRY (events_no_event_entry_get_type ()) +#define EVENTS_NO_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry)) +#define EVENTS_NO_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntryClass)) +#define EVENTS_IS_NO_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_NO_EVENT_ENTRY)) +#define EVENTS_IS_NO_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_NO_EVENT_ENTRY)) +#define EVENTS_NO_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntryClass)) + +typedef struct _EventsNoEventEntry EventsNoEventEntry; +typedef struct _EventsNoEventEntryClass EventsNoEventEntryClass; + +#define EVENTS_TYPE_MASTER_DIRECTORY_ENTRY (events_master_directory_entry_get_type ()) +#define EVENTS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry)) +#define EVENTS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass)) +#define EVENTS_IS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) +#define EVENTS_IS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) +#define EVENTS_MASTER_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass)) + +typedef struct _EventsMasterDirectoryEntry EventsMasterDirectoryEntry; +typedef struct _EventsMasterDirectoryEntryClass EventsMasterDirectoryEntryClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ()) +#define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection)) +#define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) +#define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION)) +#define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION)) +#define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) + +typedef struct _EventSourceCollection EventSourceCollection; +typedef struct _EventSourceCollectionClass EventSourceCollectionClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ()) +#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping)) +#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) +#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) + +typedef struct _SidebarGrouping SidebarGrouping; +typedef struct _SidebarGroupingClass SidebarGroupingClass; + +#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ()) +#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader)) +#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) +#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) + +typedef struct _SidebarHeader SidebarHeader; +typedef struct _SidebarHeaderClass SidebarHeaderClass; + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ()) + +#define EVENTS_TYPE_YEAR_DIRECTORY_ENTRY (events_year_directory_entry_get_type ()) +#define EVENTS_YEAR_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry)) +#define EVENTS_YEAR_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntryClass)) +#define EVENTS_IS_YEAR_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY)) +#define EVENTS_IS_YEAR_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY)) +#define EVENTS_YEAR_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntryClass)) + +typedef struct _EventsYearDirectoryEntry EventsYearDirectoryEntry; +typedef struct _EventsYearDirectoryEntryClass EventsYearDirectoryEntryClass; + +#define EVENTS_TYPE_MONTH_DIRECTORY_ENTRY (events_month_directory_entry_get_type ()) +#define EVENTS_MONTH_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry)) +#define EVENTS_MONTH_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntryClass)) +#define EVENTS_IS_MONTH_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY)) +#define EVENTS_IS_MONTH_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY)) +#define EVENTS_MONTH_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntryClass)) + +typedef struct _EventsMonthDirectoryEntry EventsMonthDirectoryEntry; +typedef struct _EventsMonthDirectoryEntryClass EventsMonthDirectoryEntryClass; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ()) +#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)) +#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY)) +#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface)) + +typedef struct _SidebarRenameableEntry SidebarRenameableEntry; +typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface; +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) +typedef struct _Block7Data Block7Data; +typedef struct _Block8Data Block8Data; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; + +#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; +typedef struct _EventsDirectoryEntryPrivate EventsDirectoryEntryPrivate; +typedef struct _EventsMasterDirectoryEntryPrivate EventsMasterDirectoryEntryPrivate; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ()) +#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)) +#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass)) +#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE)) +#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE)) +#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass)) + +typedef struct _EventsDirectoryPage EventsDirectoryPage; +typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass; + +#define TYPE_MASTER_EVENTS_DIRECTORY_PAGE (master_events_directory_page_get_type ()) +#define MASTER_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPage)) +#define MASTER_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPageClass)) +#define IS_MASTER_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE)) +#define IS_MASTER_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MASTER_EVENTS_DIRECTORY_PAGE)) +#define MASTER_EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPageClass)) + +typedef struct _MasterEventsDirectoryPage MasterEventsDirectoryPage; +typedef struct _MasterEventsDirectoryPageClass MasterEventsDirectoryPageClass; +typedef struct _EventsYearDirectoryEntryPrivate EventsYearDirectoryEntryPrivate; + +#define SUB_EVENTS_DIRECTORY_PAGE_TYPE_DIRECTORY_TYPE (sub_events_directory_page_directory_type_get_type ()) + +#define TYPE_SUB_EVENTS_DIRECTORY_PAGE (sub_events_directory_page_get_type ()) +#define SUB_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPage)) +#define SUB_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPageClass)) +#define IS_SUB_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE)) +#define IS_SUB_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SUB_EVENTS_DIRECTORY_PAGE)) +#define SUB_EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPageClass)) + +typedef struct _SubEventsDirectoryPage SubEventsDirectoryPage; +typedef struct _SubEventsDirectoryPageClass SubEventsDirectoryPageClass; +typedef struct _EventsMonthDirectoryEntryPrivate EventsMonthDirectoryEntryPrivate; +typedef struct _EventsUndatedDirectoryEntryPrivate EventsUndatedDirectoryEntryPrivate; + +#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ()) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry)) +#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY)) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface)) + +typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry; +typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +typedef struct _EventsEventEntryPrivate EventsEventEntryPrivate; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_EVENT_PAGE (event_page_get_type ()) +#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage)) +#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass)) +#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE)) +#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE)) +#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass)) + +typedef struct _EventPage EventPage; +typedef struct _EventPageClass EventPageClass; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SIMPLE_PROXYABLE_COMMAND (simple_proxyable_command_get_type ()) +#define SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand)) +#define SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) +#define IS_SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND)) +#define IS_SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND)) +#define SIMPLE_PROXYABLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) + +typedef struct _SimpleProxyableCommand SimpleProxyableCommand; +typedef struct _SimpleProxyableCommandClass SimpleProxyableCommandClass; + +#define TYPE_RENAME_EVENT_COMMAND (rename_event_command_get_type ()) +#define RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommand)) +#define RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass)) +#define IS_RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_EVENT_COMMAND)) +#define IS_RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_EVENT_COMMAND)) +#define RENAME_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass)) + +typedef struct _RenameEventCommand RenameEventCommand; +typedef struct _RenameEventCommandClass RenameEventCommandClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#define TYPE_DATA_VIEW (data_view_get_type ()) +#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView)) +#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass)) +#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW)) +#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW)) +#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass)) + +typedef struct _DataView DataView; +typedef struct _DataViewClass DataViewClass; + +#define TYPE_MOVE_PHOTOS_COMMAND (move_photos_command_get_type ()) +#define MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)) +#define MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass)) +#define IS_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOVE_PHOTOS_COMMAND)) +#define IS_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOVE_PHOTOS_COMMAND)) +#define MOVE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass)) + +typedef struct _MovePhotosCommand MovePhotosCommand; +typedef struct _MovePhotosCommandClass MovePhotosCommandClass; + +#define TYPE_SET_EVENT_COMMAND (set_event_command_get_type ()) +#define SET_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SET_EVENT_COMMAND, SetEventCommand)) +#define SET_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SET_EVENT_COMMAND, SetEventCommandClass)) +#define IS_SET_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SET_EVENT_COMMAND)) +#define IS_SET_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SET_EVENT_COMMAND)) +#define SET_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SET_EVENT_COMMAND, SetEventCommandClass)) + +typedef struct _SetEventCommand SetEventCommand; +typedef struct _SetEventCommandClass SetEventCommandClass; +typedef struct _EventsNoEventEntryPrivate EventsNoEventEntryPrivate; + +#define TYPE_NO_EVENT_PAGE (no_event_page_get_type ()) +#define NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NO_EVENT_PAGE, NoEventPage)) +#define NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NO_EVENT_PAGE, NoEventPageClass)) +#define IS_NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NO_EVENT_PAGE)) +#define IS_NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NO_EVENT_PAGE)) +#define NO_EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NO_EVENT_PAGE, NoEventPageClass)) + +typedef struct _NoEventPage NoEventPage; +typedef struct _NoEventPageClass NoEventPageClass; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _SidebarBranch { + GObject parent_instance; + SidebarBranchPrivate * priv; +}; + +struct _SidebarBranchClass { + GObjectClass parent_class; +}; + +struct _EventsBranch { + SidebarBranch parent_instance; + EventsBranchPrivate * priv; +}; + +struct _EventsBranchClass { + SidebarBranchClass parent_class; +}; + +struct _EventsBranchPrivate { + GeeHashMap* entry_map; + EventsUndatedDirectoryEntry* undated_entry; + EventsNoEventEntry* no_event_entry; + EventsMasterDirectoryEntry* all_events_entry; +}; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +typedef enum { + SIDEBAR_BRANCH_OPTIONS_NONE = 0, + SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0, + SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1, + SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2, + SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3 +} SidebarBranchOptions; + +struct _EventID { + gint64 id; +}; + +struct _SidebarRenameableEntryIface { + GTypeInterface parent_iface; + void (*rename) (SidebarRenameableEntry* self, const gchar* new_name); + gboolean (*is_user_renameable) (SidebarRenameableEntry* self); +}; + +struct _Block7Data { + int _ref_count_; + EventsBranch* self; + gint event_month; +}; + +typedef gboolean (*Locator) (gconstpointer item, void* user_data); +struct _Block8Data { + int _ref_count_; + EventsBranch* self; + gint event_year; +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _EventsDirectoryEntry { + SidebarSimplePageEntry parent_instance; + EventsDirectoryEntryPrivate * priv; +}; + +struct _EventsDirectoryEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _EventsMasterDirectoryEntry { + EventsDirectoryEntry parent_instance; + EventsMasterDirectoryEntryPrivate * priv; +}; + +struct _EventsMasterDirectoryEntryClass { + EventsDirectoryEntryClass parent_class; +}; + +struct _EventsYearDirectoryEntry { + EventsDirectoryEntry parent_instance; + EventsYearDirectoryEntryPrivate * priv; +}; + +struct _EventsYearDirectoryEntryClass { + EventsDirectoryEntryClass parent_class; +}; + +struct _EventsYearDirectoryEntryPrivate { + gchar* name; + struct tm tm; +}; + +typedef enum { + SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR, + SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH, + SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED +} SubEventsDirectoryPageDirectoryType; + +struct _EventsMonthDirectoryEntry { + EventsDirectoryEntry parent_instance; + EventsMonthDirectoryEntryPrivate * priv; +}; + +struct _EventsMonthDirectoryEntryClass { + EventsDirectoryEntryClass parent_class; +}; + +struct _EventsMonthDirectoryEntryPrivate { + gchar* name; + struct tm tm; +}; + +struct _EventsUndatedDirectoryEntry { + EventsDirectoryEntry parent_instance; + EventsUndatedDirectoryEntryPrivate * priv; +}; + +struct _EventsUndatedDirectoryEntryClass { + EventsDirectoryEntryClass parent_class; +}; + +struct _SidebarInternalDropTargetEntryIface { + GTypeInterface parent_iface; + gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources); + gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data); +}; + +struct _EventsEventEntry { + SidebarSimplePageEntry parent_instance; + EventsEventEntryPrivate * priv; +}; + +struct _EventsEventEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _EventsEventEntryPrivate { + Event* event; +}; + +struct _EventsNoEventEntry { + SidebarSimplePageEntry parent_instance; + EventsNoEventEntryPrivate * priv; +}; + +struct _EventsNoEventEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + + +static gpointer events_branch_parent_class = NULL; +extern EventSourceCollection* event_global; +extern gchar* events_branch_icon; +gchar* events_branch_icon = NULL; +extern gchar* events_branch_events_icon; +gchar* events_branch_events_icon = NULL; +extern gchar* events_branch_single_event_icon; +gchar* events_branch_single_event_icon = NULL; +extern gchar* events_branch_no_event_icon; +gchar* events_branch_no_event_icon = NULL; +static gboolean events_branch_sort_ascending; +static gboolean events_branch_sort_ascending = FALSE; +static gpointer events_directory_entry_parent_class = NULL; +static SidebarExpandableEntryIface* events_directory_entry_sidebar_expandable_entry_parent_iface = NULL; +static gpointer events_master_directory_entry_parent_class = NULL; +static gpointer events_year_directory_entry_parent_class = NULL; +static gpointer events_month_directory_entry_parent_class = NULL; +static gpointer events_undated_directory_entry_parent_class = NULL; +static gpointer events_event_entry_parent_class = NULL; +static SidebarRenameableEntryIface* events_event_entry_sidebar_renameable_entry_parent_iface = NULL; +static SidebarInternalDropTargetEntryIface* events_event_entry_sidebar_internal_drop_target_entry_parent_iface = NULL; +static gpointer events_no_event_entry_parent_class = NULL; + +GType sidebar_branch_get_type (void) G_GNUC_CONST; +GType events_branch_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType events_event_entry_get_type (void) G_GNUC_CONST; +GType events_directory_entry_get_type (void) G_GNUC_CONST; +GType events_undated_directory_entry_get_type (void) G_GNUC_CONST; +GType events_no_event_entry_get_type (void) G_GNUC_CONST; +GType events_master_directory_entry_get_type (void) G_GNUC_CONST; +#define EVENTS_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENTS_TYPE_BRANCH, EventsBranchPrivate)) +enum { + EVENTS_BRANCH_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType event_source_collection_get_type (void) G_GNUC_CONST; +static void events_branch_on_events_added_removed (EventsBranch* self, GeeIterable* added, GeeIterable* removed); +static void _events_branch_on_events_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void events_branch_on_events_altered (EventsBranch* self, GeeMap* altered); +static void _events_branch_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static void events_branch_on_no_event_collection_altered (EventsBranch* self); +static void _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered (EventSourceCollection* _sender, gpointer self); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +static void events_branch_on_config_changed (EventsBranch* self); +static void _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed (ConfigurationFacade* _sender, gpointer self); +#define RESOURCES_ICON_FOLDER "folder" +#define RESOURCES_ICON_EVENTS "multiple-events" +#define RESOURCES_ICON_ONE_EVENT "one-event" +#define RESOURCES_ICON_NO_EVENT "no-event" +EventsUndatedDirectoryEntry* events_undated_directory_entry_new (void); +EventsUndatedDirectoryEntry* events_undated_directory_entry_construct (GType object_type); +EventsNoEventEntry* events_no_event_entry_new (void); +EventsNoEventEntry* events_no_event_entry_construct (GType object_type); +EventsMasterDirectoryEntry* events_master_directory_entry_new (void); +EventsMasterDirectoryEntry* events_master_directory_entry_construct (GType object_type); +EventsBranch* events_branch_new (void); +EventsBranch* events_branch_construct (GType object_type); +SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized); +SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized); +GType sidebar_grouping_get_type (void) G_GNUC_CONST; +GType sidebar_header_get_type (void) G_GNUC_CONST; +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_branch_options_get_type (void) G_GNUC_CONST; +static gint events_branch_event_year_comparator (SidebarEntry* a, SidebarEntry* b); +static gint _events_branch_event_year_comparator_gcompare_func (gconstpointer a, gconstpointer b); +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator); +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self); +GeeCollection* data_collection_get_all (DataCollection* self); +static void events_branch_add_event (EventsBranch* self, Event* event); +static void events_branch_show_no_events (EventsBranch* self, gboolean show); +GeeCollection* event_source_collection_get_no_event_objects (EventSourceCollection* self); +void events_branch_init (void); +gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self); +void events_branch_terminate (void); +gboolean events_branch_is_user_renameable (EventsBranch* self); +EventsMasterDirectoryEntry* events_branch_get_master_entry (EventsBranch* self); +GType events_year_directory_entry_get_type (void) G_GNUC_CONST; +gint events_year_directory_entry_get_year (EventsYearDirectoryEntry* self); +static gint events_branch_event_month_comparator (SidebarEntry* a, SidebarEntry* b); +GType events_month_directory_entry_get_type (void) G_GNUC_CONST; +gint events_month_directory_entry_get_month (EventsMonthDirectoryEntry* self); +static gint events_branch_event_comparator (SidebarEntry* a, SidebarEntry* b); +Event* events_event_entry_get_event (EventsEventEntry* self); +time_t event_source_get_start_time (EventSource* self); +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +void event_get_event_id (Event* self, EventID* result); +static gint events_branch_undated_event_comparator (SidebarEntry* a, SidebarEntry* b); +gchar* data_object_get_name (DataObject* self); +gint64 data_source_get_instance_id (DataSource* self); +EventsEventEntry* events_branch_get_entry_for_event (EventsBranch* self, Event* event); +void sidebar_branch_reorder_all (SidebarBranch* self); +static void events_branch_remove_event (EventsBranch* self, Event* event); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +static void events_branch_move_event (EventsBranch* self, Event* event); +GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST; +static void events_branch_add_undated_event (EventsBranch* self, Event* event); +static SidebarEntry* events_branch_find_event_month (EventsBranch* self, Event* event, struct tm* event_tm, SidebarEntry** found_year); +static void events_branch_graft_event (EventsBranch* self, SidebarEntry* parent, Event* event, GCompareFunc comparator); +static gint _events_branch_event_comparator_gcompare_func (gconstpointer a, gconstpointer b); +#define SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT _ ("%Y") +EventsYearDirectoryEntry* events_year_directory_entry_new (const gchar* name, struct tm* tm); +EventsYearDirectoryEntry* events_year_directory_entry_construct (GType object_type, const gchar* name, struct tm* tm); +static gint _events_branch_event_month_comparator_gcompare_func (gconstpointer a, gconstpointer b); +#define SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT _ ("%B") +EventsMonthDirectoryEntry* events_month_directory_entry_new (const gchar* name, struct tm* tm); +EventsMonthDirectoryEntry* events_month_directory_entry_construct (GType object_type, const gchar* name, struct tm* tm); +static void events_branch_move_to_undated_event (EventsBranch* self, Event* event); +static void events_branch_reparent_event (EventsBranch* self, Event* event, SidebarEntry* new_parent); +SidebarEntry* sidebar_branch_get_parent (SidebarBranch* self, SidebarEntry* entry); +void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry); +gint sidebar_branch_get_child_count (SidebarBranch* self, SidebarEntry* parent); +static Block7Data* block7_data_ref (Block7Data* _data7_); +static void block7_data_unref (void * _userdata_); +static SidebarEntry* events_branch_find_event_year (EventsBranch* self, Event* event, struct tm* event_tm); +SidebarEntry* sidebar_branch_find_first_child (SidebarBranch* self, SidebarEntry* parent, Locator locator, void* locator_target); +static gboolean __lambda17_ (Block7Data* _data7_, SidebarEntry* entry); +static gboolean ___lambda17__locator (gconstpointer item, gpointer self); +static Block8Data* block8_data_ref (Block8Data* _data8_); +static void block8_data_unref (void * _userdata_); +static gboolean __lambda16_ (Block8Data* _data8_, SidebarEntry* entry); +static gboolean ___lambda16__locator (gconstpointer item, gpointer self); +gboolean sidebar_branch_has_entry (SidebarBranch* self, SidebarEntry* entry); +static gint _events_branch_undated_event_comparator_gcompare_func (gconstpointer a, gconstpointer b); +EventsEventEntry* events_event_entry_new (Event* event); +EventsEventEntry* events_event_entry_construct (GType object_type, Event* event); +void sidebar_branch_reparent (SidebarBranch* self, SidebarEntry* new_parent, SidebarEntry* entry); +static void events_branch_finalize (GObject* obj); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST; +enum { + EVENTS_DIRECTORY_ENTRY_DUMMY_PROPERTY +}; +EventsDirectoryEntry* events_directory_entry_construct (GType object_type); +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type); +static gchar* events_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static gboolean events_directory_entry_real_expand_on_select (SidebarExpandableEntry* base); +enum { + EVENTS_MASTER_DIRECTORY_ENTRY_DUMMY_PROPERTY +}; +static gchar* events_master_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +#define MASTER_EVENTS_DIRECTORY_PAGE_NAME _ ("All Events") +static gchar* events_master_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static Page* events_master_directory_entry_real_create_page (SidebarSimplePageEntry* base); +MasterEventsDirectoryPage* master_events_directory_page_new (void); +MasterEventsDirectoryPage* master_events_directory_page_construct (GType object_type); +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType events_directory_page_get_type (void) G_GNUC_CONST; +GType master_events_directory_page_get_type (void) G_GNUC_CONST; +#define EVENTS_YEAR_DIRECTORY_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntryPrivate)) +enum { + EVENTS_YEAR_DIRECTORY_ENTRY_DUMMY_PROPERTY +}; +static gchar* events_year_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +static Page* events_year_directory_entry_real_create_page (SidebarSimplePageEntry* base); +GType sub_events_directory_page_directory_type_get_type (void) G_GNUC_CONST; +SubEventsDirectoryPage* sub_events_directory_page_new (SubEventsDirectoryPageDirectoryType type, struct tm* time); +SubEventsDirectoryPage* sub_events_directory_page_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time); +GType sub_events_directory_page_get_type (void) G_GNUC_CONST; +static void events_year_directory_entry_finalize (GObject* obj); +#define EVENTS_MONTH_DIRECTORY_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntryPrivate)) +enum { + EVENTS_MONTH_DIRECTORY_ENTRY_DUMMY_PROPERTY +}; +static gchar* events_month_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +gint events_month_directory_entry_get_year (EventsMonthDirectoryEntry* self); +static Page* events_month_directory_entry_real_create_page (SidebarSimplePageEntry* base); +static void events_month_directory_entry_finalize (GObject* obj); +enum { + EVENTS_UNDATED_DIRECTORY_ENTRY_DUMMY_PROPERTY +}; +static gchar* events_undated_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +#define SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME _ ("Undated") +static Page* events_undated_directory_entry_real_create_page (SidebarSimplePageEntry* base); +GType media_source_get_type (void) G_GNUC_CONST; +GType sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST; +#define EVENTS_EVENT_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryPrivate)) +enum { + EVENTS_EVENT_ENTRY_DUMMY_PROPERTY +}; +static gchar* events_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +static gchar* events_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static Page* events_event_entry_real_create_page (SidebarSimplePageEntry* base); +EventPage* event_page_new (Event* page_event); +EventPage* event_page_construct (GType object_type, Event* page_event); +GType media_page_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +GType event_page_get_type (void) G_GNUC_CONST; +static gboolean events_event_entry_real_is_user_renameable (SidebarRenameableEntry* base); +static void events_event_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name); +gchar* event_prep_event_name (const gchar* name); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +RenameEventCommand* rename_event_command_new (Event* event, const gchar* new_name); +RenameEventCommand* rename_event_command_construct (GType object_type, Event* event, const gchar* new_name); +GType page_command_get_type (void) G_GNUC_CONST; +GType simple_proxyable_command_get_type (void) G_GNUC_CONST; +GType rename_event_command_get_type (void) G_GNUC_CONST; +static gboolean events_event_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media); +GType data_view_get_type (void) G_GNUC_CONST; +DataView* data_view_new (DataSource* source); +DataView* data_view_construct (GType object_type, DataSource* source); +SetEventCommand* set_event_command_new (GeeIterable* iter, Event* new_event); +SetEventCommand* set_event_command_construct (GType object_type, GeeIterable* iter, Event* new_event); +GType move_photos_command_get_type (void) G_GNUC_CONST; +GType set_event_command_get_type (void) G_GNUC_CONST; +static gboolean events_event_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data); +static void events_event_entry_finalize (GObject* obj); +enum { + EVENTS_NO_EVENT_ENTRY_DUMMY_PROPERTY +}; +static gchar* events_no_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +#define NO_EVENT_PAGE_NAME _ ("No Event") +static gchar* events_no_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static Page* events_no_event_entry_real_create_page (SidebarSimplePageEntry* base); +NoEventPage* no_event_page_new (void); +NoEventPage* no_event_page_construct (GType object_type); +GType no_event_page_get_type (void) G_GNUC_CONST; + + +static void _events_branch_on_events_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 46 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_on_events_added_removed ((EventsBranch*) self, added, removed); +#line 997 "Branch.c" +} + + +static void _events_branch_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 47 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_on_events_altered ((EventsBranch*) self, items); +#line 1004 "Branch.c" +} + + +static void _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered (EventSourceCollection* _sender, gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_on_no_event_collection_altered ((EventsBranch*) self); +#line 1011 "Branch.c" +} + + +static void _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed (ConfigurationFacade* _sender, gpointer self) { +#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_on_config_changed ((EventsBranch*) self); +#line 1018 "Branch.c" +} + + +static gint _events_branch_event_year_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = events_branch_event_year_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1027 "Branch.c" +} + + +EventsBranch* events_branch_construct (GType object_type) { + EventsBranch * self = NULL; + const gchar* _tmp0_ = NULL; + SidebarHeader* _tmp1_ = NULL; + SidebarHeader* _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + EventsMasterDirectoryEntry* _tmp5_ = NULL; + EventSourceCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + EventSourceCollection* _tmp21_ = NULL; + EventSourceCollection* _tmp22_ = NULL; + EventSourceCollection* _tmp23_ = NULL; + ConfigFacade* _tmp24_ = NULL; + ConfigFacade* _tmp25_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = _ ("Events"); +#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = sidebar_header_new (_tmp0_, TRUE); +#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = _tmp1_; +#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = (EventsBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_ENTRY, SidebarEntry), SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD, _events_branch_event_year_comparator_gcompare_func, NULL); +#line 25 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp2_); +#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = _tmp3_; +#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = self->priv->all_events_entry; +#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL); +#line 28 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp4_); +#line 1069 "Branch.c" + { + GeeIterator* _object_it = NULL; + EventSourceCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = event_global; +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection)); +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = _tmp7_; +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = _tmp9_; +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp8_); +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _object_it = _tmp10_; +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + while (TRUE) { +#line 1093 "Branch.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + DataObject* _tmp15_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = _object_it; +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp12_) { +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + break; +#line 1108 "Branch.c" + } +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = _object_it; +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + object = (DataObject*) _tmp14_; +#line 32 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = object; +#line 32 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_add_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_EVENT, Event)); +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (object); +#line 1122 "Branch.c" + } +#line 31 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_object_it); +#line 1126 "Branch.c" + } +#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = event_global; +#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = event_source_collection_get_no_event_objects (_tmp16_); +#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = _tmp17_; +#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = gee_collection_get_size (_tmp18_); +#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp20_ = _tmp19_; +#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_show_no_events (self, _tmp20_ > 0); +#line 34 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp18_); +#line 37 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp21_ = event_global; +#line 37 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _events_branch_on_events_added_removed_data_collection_contents_altered, self, 0); +#line 38 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp22_ = event_global; +#line 38 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _events_branch_on_events_altered_data_collection_items_altered, self, 0); +#line 39 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp23_ = event_global; +#line 39 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_connect_object (_tmp23_, "no-event-collection-altered", (GCallback) _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered, self, 0); +#line 42 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp24_ = config_facade_get_instance (); +#line 42 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp25_ = _tmp24_; +#line 42 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), "events-sort-ascending-changed", (GCallback) _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed, self, 0); +#line 42 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp25_); +#line 24 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self; +#line 1164 "Branch.c" +} + + +EventsBranch* events_branch_new (void) { +#line 24 "/home/jens/Source/shotwell/src/events/Branch.vala" + return events_branch_construct (EVENTS_TYPE_BRANCH); +#line 1171 "Branch.c" +} + + +void events_branch_init (void) { + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = config_facade_get_instance (); +#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _tmp0_; +#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_sort_ascending = _tmp2_; +#line 54 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp1_); +#line 1189 "Branch.c" +} + + +void events_branch_terminate (void) { +} + + +gboolean events_branch_is_user_renameable (EventsBranch* self) { + gboolean result = FALSE; +#line 60 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_BRANCH (self), FALSE); +#line 61 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = TRUE; +#line 61 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1205 "Branch.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self ? g_object_ref (self) : NULL; +#line 1212 "Branch.c" +} + + +EventsMasterDirectoryEntry* events_branch_get_master_entry (EventsBranch* self) { + EventsMasterDirectoryEntry* result = NULL; + EventsMasterDirectoryEntry* _tmp0_ = NULL; + EventsMasterDirectoryEntry* _tmp1_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL); +#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->all_events_entry; +#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 65 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1230 "Branch.c" +} + + +static gint events_branch_event_year_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarEntry* _tmp6_ = NULL; + SidebarEntry* _tmp8_ = NULL; + gboolean _tmp10_ = FALSE; + gint _result_ = 0; + SidebarEntry* _tmp15_ = NULL; + gint _tmp16_ = 0; + SidebarEntry* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 68 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 68 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 69 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = a; +#line 69 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = b; +#line 69 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 70 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = 0; +#line 70 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1262 "Branch.c" + } +#line 74 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = a; +#line 74 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) { +#line 1268 "Branch.c" + SidebarEntry* _tmp3_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = b; +#line 75 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, EVENTS_TYPE_NO_EVENT_ENTRY)) { +#line 76 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = -1; +#line 76 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1278 "Branch.c" + } +#line 77 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = 1; +#line 77 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1284 "Branch.c" + } else { + SidebarEntry* _tmp4_ = NULL; +#line 78 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = b; +#line 78 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) { +#line 1291 "Branch.c" + SidebarEntry* _tmp5_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = a; +#line 79 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, EVENTS_TYPE_NO_EVENT_ENTRY)) { +#line 80 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = 1; +#line 80 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1301 "Branch.c" + } +#line 81 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = -1; +#line 81 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1307 "Branch.c" + } + } +#line 84 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = a; +#line 84 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, EVENTS_TYPE_NO_EVENT_ENTRY)) { +#line 85 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = 1; +#line 85 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1318 "Branch.c" + } else { + SidebarEntry* _tmp7_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = b; +#line 86 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, EVENTS_TYPE_NO_EVENT_ENTRY)) { +#line 87 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = -1; +#line 87 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1329 "Branch.c" + } + } +#line 90 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = a; +#line 90 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) { +#line 91 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = -1; +#line 91 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1340 "Branch.c" + } else { + SidebarEntry* _tmp9_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = b; +#line 92 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) { +#line 93 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = 1; +#line 93 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1351 "Branch.c" + } + } +#line 95 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = events_branch_sort_ascending; +#line 95 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp10_) { +#line 1358 "Branch.c" + SidebarEntry* swap = NULL; + SidebarEntry* _tmp11_ = NULL; + SidebarEntry* _tmp12_ = NULL; + SidebarEntry* _tmp13_ = NULL; + SidebarEntry* _tmp14_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = a; +#line 96 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = _g_object_ref0 (_tmp11_); +#line 96 "/home/jens/Source/shotwell/src/events/Branch.vala" + swap = _tmp12_; +#line 97 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = b; +#line 97 "/home/jens/Source/shotwell/src/events/Branch.vala" + a = _tmp13_; +#line 98 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = swap; +#line 98 "/home/jens/Source/shotwell/src/events/Branch.vala" + b = _tmp14_; +#line 95 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (swap); +#line 1380 "Branch.c" + } +#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = a; +#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry)); +#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = b; +#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry)); +#line 101 "/home/jens/Source/shotwell/src/events/Branch.vala" + _result_ = _tmp16_ - _tmp18_; +#line 103 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = _result_; +#line 103 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp19_ != 0, "result != 0"); +#line 105 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _result_; +#line 105 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1400 "Branch.c" +} + + +static gint events_branch_event_month_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _result_ = 0; + SidebarEntry* _tmp7_ = NULL; + gint _tmp8_ = 0; + SidebarEntry* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 108 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 108 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 109 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = a; +#line 109 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = b; +#line 109 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 110 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = 0; +#line 110 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1429 "Branch.c" + } +#line 112 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = events_branch_sort_ascending; +#line 112 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp2_) { +#line 1435 "Branch.c" + SidebarEntry* swap = NULL; + SidebarEntry* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarEntry* _tmp6_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = a; +#line 113 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 113 "/home/jens/Source/shotwell/src/events/Branch.vala" + swap = _tmp4_; +#line 114 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = b; +#line 114 "/home/jens/Source/shotwell/src/events/Branch.vala" + a = _tmp5_; +#line 115 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = swap; +#line 115 "/home/jens/Source/shotwell/src/events/Branch.vala" + b = _tmp6_; +#line 112 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (swap); +#line 1457 "Branch.c" + } +#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = a; +#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry)); +#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = b; +#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry)); +#line 118 "/home/jens/Source/shotwell/src/events/Branch.vala" + _result_ = _tmp8_ - _tmp10_; +#line 120 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = _result_; +#line 120 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp11_ != 0, "result != 0"); +#line 122 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _result_; +#line 122 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1477 "Branch.c" +} + + +static gint events_branch_event_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint64 _result_ = 0LL; + SidebarEntry* _tmp7_ = NULL; + Event* _tmp8_ = NULL; + Event* _tmp9_ = NULL; + time_t _tmp10_ = 0; + SidebarEntry* _tmp11_ = NULL; + Event* _tmp12_ = NULL; + Event* _tmp13_ = NULL; + time_t _tmp14_ = 0; + gint64 _tmp15_ = 0LL; + gint64 _tmp16_ = 0LL; + gint64 _tmp27_ = 0LL; + gint _tmp28_ = 0; + gint64 _tmp29_ = 0LL; +#line 125 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 125 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 126 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = a; +#line 126 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = b; +#line 126 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 127 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = 0; +#line 127 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1514 "Branch.c" + } +#line 129 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = events_branch_sort_ascending; +#line 129 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp2_) { +#line 1520 "Branch.c" + SidebarEntry* swap = NULL; + SidebarEntry* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarEntry* _tmp6_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = a; +#line 130 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 130 "/home/jens/Source/shotwell/src/events/Branch.vala" + swap = _tmp4_; +#line 131 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = b; +#line 131 "/home/jens/Source/shotwell/src/events/Branch.vala" + a = _tmp5_; +#line 132 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = swap; +#line 132 "/home/jens/Source/shotwell/src/events/Branch.vala" + b = _tmp6_; +#line 129 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (swap); +#line 1542 "Branch.c" + } +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = a; +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)); +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = _tmp8_; +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_EVENT_SOURCE, EventSource)); +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = b; +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)); +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = _tmp12_; +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_EVENT_SOURCE, EventSource)); +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = (gint64) (_tmp10_ - _tmp14_); +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp13_); +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp9_); +#line 135 "/home/jens/Source/shotwell/src/events/Branch.vala" + _result_ = _tmp15_; +#line 139 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = _result_; +#line 139 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp16_ == ((gint64) 0)) { +#line 1572 "Branch.c" + SidebarEntry* _tmp17_ = NULL; + Event* _tmp18_ = NULL; + Event* _tmp19_ = NULL; + EventID _tmp20_ = {0}; + gint64 _tmp21_ = 0LL; + SidebarEntry* _tmp22_ = NULL; + Event* _tmp23_ = NULL; + Event* _tmp24_ = NULL; + EventID _tmp25_ = {0}; + gint64 _tmp26_ = 0LL; +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = a; +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)); +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = _tmp18_; +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + event_get_event_id (_tmp19_, &_tmp20_); +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp21_ = _tmp20_.id; +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp22_ = b; +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp23_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)); +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp24_ = _tmp23_; +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + event_get_event_id (_tmp24_, &_tmp25_); +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp26_ = _tmp25_.id; +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _result_ = _tmp21_ - _tmp26_; +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp24_); +#line 140 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp19_); +#line 1609 "Branch.c" + } +#line 144 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp27_ = _result_; +#line 144 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp27_ != ((gint64) 0), "result != 0"); +#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp29_ = _result_; +#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp29_ < ((gint64) 0)) { +#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp28_ = -1; +#line 1621 "Branch.c" + } else { +#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp28_ = 1; +#line 1625 "Branch.c" + } +#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp28_; +#line 146 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1631 "Branch.c" +} + + +static gint events_branch_undated_event_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint ret = 0; + SidebarEntry* _tmp7_ = NULL; + Event* _tmp8_ = NULL; + Event* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + SidebarEntry* _tmp12_ = NULL; + Event* _tmp13_ = NULL; + Event* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 149 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 149 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 150 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = a; +#line 150 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = b; +#line 150 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 151 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = 0; +#line 151 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1668 "Branch.c" + } +#line 153 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = events_branch_sort_ascending; +#line 153 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp2_) { +#line 1674 "Branch.c" + SidebarEntry* swap = NULL; + SidebarEntry* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarEntry* _tmp6_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = a; +#line 154 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 154 "/home/jens/Source/shotwell/src/events/Branch.vala" + swap = _tmp4_; +#line 155 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = b; +#line 155 "/home/jens/Source/shotwell/src/events/Branch.vala" + a = _tmp5_; +#line 156 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = swap; +#line 156 "/home/jens/Source/shotwell/src/events/Branch.vala" + b = _tmp6_; +#line 153 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (swap); +#line 1696 "Branch.c" + } +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = a; +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = _tmp8_; +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject)); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = _tmp10_; +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = b; +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = _tmp13_; +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = _tmp15_; +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = g_utf8_collate (_tmp11_, _tmp16_); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = _tmp17_; +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (_tmp16_); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp14_); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (_tmp11_); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp9_); +#line 159 "/home/jens/Source/shotwell/src/events/Branch.vala" + ret = _tmp18_; +#line 162 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = ret; +#line 162 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp19_ == 0) { +#line 1736 "Branch.c" + SidebarEntry* _tmp20_ = NULL; + Event* _tmp21_ = NULL; + Event* _tmp22_ = NULL; + gint64 _tmp23_ = 0LL; + SidebarEntry* _tmp24_ = NULL; + Event* _tmp25_ = NULL; + Event* _tmp26_ = NULL; + gint64 _tmp27_ = 0LL; +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp20_ = b; +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp21_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)); +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp22_ = _tmp21_; +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp23_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_SOURCE, DataSource)); +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp24_ = a; +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp25_ = events_event_entry_get_event (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)); +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp26_ = _tmp25_; +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp27_ = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_SOURCE, DataSource)); +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + ret = (gint) (_tmp23_ - _tmp27_); +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp26_); +#line 163 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp22_); +#line 1767 "Branch.c" + } +#line 166 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = ret; +#line 166 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1773 "Branch.c" +} + + +EventsEventEntry* events_branch_get_entry_for_event (EventsBranch* self, Event* event) { + EventsEventEntry* result = NULL; + GeeHashMap* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 169 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL); +#line 169 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (IS_EVENT (event), NULL); +#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->entry_map; +#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = event; +#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = (EventsEventEntry*) _tmp2_; +#line 170 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 1796 "Branch.c" +} + + +static void events_branch_on_config_changed (EventsBranch* self) { + gboolean value = FALSE; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 173 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = config_facade_get_instance (); +#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _tmp0_; +#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = _tmp2_; +#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp1_); +#line 174 "/home/jens/Source/shotwell/src/events/Branch.vala" + value = _tmp3_; +#line 176 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_sort_ascending = value; +#line 177 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_reorder_all (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 1824 "Branch.c" +} + + +static void events_branch_on_events_added_removed (EventsBranch* self, GeeIterable* added, GeeIterable* removed) { + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp8_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 180 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 180 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 182 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = added; +#line 182 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp0_ != NULL) { +#line 1841 "Branch.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = added; +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _object_it = _tmp2_; +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + while (TRUE) { +#line 1854 "Branch.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = _object_it; +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp4_) { +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + break; +#line 1869 "Branch.c" + } +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = _object_it; +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + object = (DataObject*) _tmp6_; +#line 184 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = object; +#line 184 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_add_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_EVENT, Event)); +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (object); +#line 1883 "Branch.c" + } +#line 183 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_object_it); +#line 1887 "Branch.c" + } + } +#line 187 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = removed; +#line 187 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp8_ != NULL) { +#line 1894 "Branch.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = removed; +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = gee_iterable_iterator (_tmp9_); +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _object_it = _tmp10_; +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + while (TRUE) { +#line 1907 "Branch.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + DataObject* _tmp15_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = _object_it; +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp12_) { +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + break; +#line 1922 "Branch.c" + } +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = _object_it; +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + object = (DataObject*) _tmp14_; +#line 189 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = object; +#line 189 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_remove_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_EVENT, Event)); +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (object); +#line 1936 "Branch.c" + } +#line 188 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_object_it); +#line 1940 "Branch.c" + } + } +} + + +static void events_branch_on_events_altered (EventsBranch* self, GeeMap* altered) { +#line 193 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 193 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (GEE_IS_MAP (altered)); +#line 1951 "Branch.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = altered; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = _tmp1_; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = _tmp2_; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = _tmp4_; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _object_it = _tmp5_; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + while (TRUE) { +#line 1978 "Branch.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + Event* event = NULL; + DataObject* _tmp10_ = NULL; + Event* _tmp11_ = NULL; + Alteration* alteration = NULL; + GeeMap* _tmp12_ = NULL; + DataObject* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + Alteration* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = _object_it; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp7_) { +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + break; +#line 2001 "Branch.c" + } +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = _object_it; +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + object = (DataObject*) _tmp9_; +#line 195 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = object; +#line 195 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_EVENT, Event)); +#line 195 "/home/jens/Source/shotwell/src/events/Branch.vala" + event = _tmp11_; +#line 196 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = altered; +#line 196 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = object; +#line 196 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = gee_map_get (_tmp12_, _tmp13_); +#line 196 "/home/jens/Source/shotwell/src/events/Branch.vala" + alteration = (Alteration*) _tmp14_; +#line 198 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = alteration; +#line 198 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = alteration_has_detail (_tmp15_, "metadata", "time"); +#line 198 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp16_) { +#line 2029 "Branch.c" + Event* _tmp17_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = event; +#line 201 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_move_event (self, _tmp17_); +#line 2035 "Branch.c" + } else { + Alteration* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; +#line 202 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = alteration; +#line 202 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = alteration_has_detail (_tmp18_, "metadata", "name"); +#line 202 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp19_) { +#line 2045 "Branch.c" + EventsEventEntry* entry = NULL; + GeeHashMap* _tmp20_ = NULL; + Event* _tmp21_ = NULL; + gpointer _tmp22_ = NULL; + EventsEventEntry* _tmp23_ = NULL; + EventsEventEntry* _tmp24_ = NULL; + Event* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + EventsEventEntry* _tmp28_ = NULL; + Event* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp20_ = self->priv->entry_map; +#line 203 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp21_ = event; +#line 203 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp22_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp21_); +#line 203 "/home/jens/Source/shotwell/src/events/Branch.vala" + entry = (EventsEventEntry*) _tmp22_; +#line 204 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp23_ = entry; +#line 204 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp23_ != NULL, "entry != null"); +#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp24_ = entry; +#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp25_ = event; +#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp26_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject)); +#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp27_ = _tmp26_; +#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry), "sidebar-name-changed", _tmp27_); +#line 206 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (_tmp27_); +#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp28_ = entry; +#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp29_ = event; +#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp30_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_OBJECT, DataObject)); +#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp31_ = _tmp30_; +#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, SIDEBAR_TYPE_ENTRY, SidebarEntry), "sidebar-tooltip-changed", _tmp31_); +#line 207 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (_tmp31_); +#line 202 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (entry); +#line 2097 "Branch.c" + } + } +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _alteration_unref0 (alteration); +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (event); +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (object); +#line 2106 "Branch.c" + } +#line 194 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_object_it); +#line 2110 "Branch.c" + } +} + + +static void events_branch_on_no_event_collection_altered (EventsBranch* self) { + EventSourceCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 212 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = event_global; +#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = event_source_collection_get_no_event_objects (_tmp0_); +#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = _tmp1_; +#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = gee_collection_get_size (_tmp2_); +#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = _tmp3_; +#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_show_no_events (self, _tmp4_ > 0); +#line 213 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp2_); +#line 2137 "Branch.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 2152 "Branch.c" +} + + +static gint _events_branch_event_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = events_branch_event_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 229 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2161 "Branch.c" +} + + +static gchar* g_time_format (struct tm *self, const gchar* format) { + gchar* result = NULL; + gchar* buffer = NULL; + gchar* _tmp0_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + gchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; +#line 2709 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (format != NULL, NULL); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, 64); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = _tmp0_; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer_length1 = 64; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _buffer_size_ = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = buffer; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1__length1 = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = format; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self)); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = buffer; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = buffer_length1; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = g_strdup ((const gchar*) _tmp3_); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = (g_free (buffer), NULL); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2207 "Branch.c" +} + + +static gint _events_branch_event_month_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = events_branch_event_month_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2216 "Branch.c" +} + + +static void events_branch_add_event (EventsBranch* self, Event* event) { + time_t event_time = 0; + Event* _tmp0_ = NULL; + time_t _tmp1_ = 0; + time_t _tmp2_ = 0; + struct tm event_tm = {0}; + time_t _tmp4_ = 0; + struct tm _tmp5_ = {0}; + SidebarEntry* year = NULL; + SidebarEntry* month = NULL; + Event* _tmp6_ = NULL; + struct tm _tmp7_ = {0}; + SidebarEntry* _tmp8_ = NULL; + SidebarEntry* _tmp9_ = NULL; + SidebarEntry* _tmp10_ = NULL; + SidebarEntry* _tmp13_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + struct tm _tmp23_ = {0}; + EventsMonthDirectoryEntry* _tmp24_ = NULL; + SidebarEntry* _tmp25_ = NULL; + SidebarEntry* _tmp26_ = NULL; + SidebarEntry* _tmp27_ = NULL; + Event* _tmp28_ = NULL; +#line 216 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 216 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (IS_EVENT (event)); +#line 217 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = event; +#line 217 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource)); +#line 217 "/home/jens/Source/shotwell/src/events/Branch.vala" + event_time = _tmp1_; +#line 218 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = event_time; +#line 218 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp2_ == ((time_t) 0)) { +#line 2258 "Branch.c" + Event* _tmp3_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = event; +#line 219 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_add_undated_event (self, _tmp3_); +#line 221 "/home/jens/Source/shotwell/src/events/Branch.vala" + return; +#line 2266 "Branch.c" + } +#line 224 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = event_time; +#line 224 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_time_local (_tmp4_, &_tmp5_); +#line 224 "/home/jens/Source/shotwell/src/events/Branch.vala" + event_tm = _tmp5_; +#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = event; +#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = event_tm; +#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = events_branch_find_event_month (self, _tmp6_, &_tmp7_, &_tmp8_); +#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (year); +#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala" + year = _tmp8_; +#line 227 "/home/jens/Source/shotwell/src/events/Branch.vala" + month = _tmp9_; +#line 228 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = month; +#line 228 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp10_ != NULL) { +#line 2290 "Branch.c" + SidebarEntry* _tmp11_ = NULL; + Event* _tmp12_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = month; +#line 229 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = event; +#line 229 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_graft_event (self, _tmp11_, _tmp12_, _events_branch_event_comparator_gcompare_func); +#line 231 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (month); +#line 231 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (year); +#line 231 "/home/jens/Source/shotwell/src/events/Branch.vala" + return; +#line 2305 "Branch.c" + } +#line 234 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = year; +#line 234 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp13_ == NULL) { +#line 2311 "Branch.c" + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + struct tm _tmp16_ = {0}; + EventsYearDirectoryEntry* _tmp17_ = NULL; + SidebarEntry* _tmp18_ = NULL; + SidebarEntry* _tmp19_ = NULL; + SidebarEntry* _tmp20_ = NULL; +#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT); +#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = _tmp14_; +#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = event_tm; +#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = events_year_directory_entry_new (_tmp15_, &_tmp16_); +#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (year); +#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala" + year = G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, SIDEBAR_TYPE_ENTRY, SidebarEntry); +#line 235 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (_tmp15_); +#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = _tmp18_; +#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp20_ = year; +#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp19_, _tmp20_, _events_branch_event_month_comparator_gcompare_func); +#line 237 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp19_); +#line 2343 "Branch.c" + } +#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp21_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT); +#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp22_ = _tmp21_; +#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp23_ = event_tm; +#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp24_ = events_month_directory_entry_new (_tmp22_, &_tmp23_); +#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (month); +#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala" + month = G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, SIDEBAR_TYPE_ENTRY, SidebarEntry); +#line 240 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (_tmp22_); +#line 242 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp25_ = year; +#line 242 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp26_ = month; +#line 242 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp25_, _tmp26_, _events_branch_event_comparator_gcompare_func); +#line 244 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp27_ = month; +#line 244 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp28_ = event; +#line 244 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_graft_event (self, _tmp27_, _tmp28_, _events_branch_event_comparator_gcompare_func); +#line 216 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (month); +#line 216 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (year); +#line 2375 "Branch.c" +} + + +static void events_branch_move_event (EventsBranch* self, Event* event) { + time_t event_time = 0; + Event* _tmp0_ = NULL; + time_t _tmp1_ = 0; + time_t _tmp2_ = 0; + struct tm event_tm = {0}; + time_t _tmp4_ = 0; + struct tm _tmp5_ = {0}; + SidebarEntry* year = NULL; + SidebarEntry* month = NULL; + Event* _tmp6_ = NULL; + struct tm _tmp7_ = {0}; + SidebarEntry* _tmp8_ = NULL; + SidebarEntry* _tmp9_ = NULL; + SidebarEntry* _tmp10_ = NULL; + SidebarEntry* _tmp18_ = NULL; + Event* _tmp25_ = NULL; + SidebarEntry* _tmp26_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 247 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (IS_EVENT (event)); +#line 248 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = event; +#line 248 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource)); +#line 248 "/home/jens/Source/shotwell/src/events/Branch.vala" + event_time = _tmp1_; +#line 249 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = event_time; +#line 249 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp2_ == ((time_t) 0)) { +#line 2411 "Branch.c" + Event* _tmp3_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = event; +#line 250 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_move_to_undated_event (self, _tmp3_); +#line 252 "/home/jens/Source/shotwell/src/events/Branch.vala" + return; +#line 2419 "Branch.c" + } +#line 255 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = event_time; +#line 255 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_time_local (_tmp4_, &_tmp5_); +#line 255 "/home/jens/Source/shotwell/src/events/Branch.vala" + event_tm = _tmp5_; +#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = event; +#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = event_tm; +#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = events_branch_find_event_month (self, _tmp6_, &_tmp7_, &_tmp8_); +#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (year); +#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala" + year = _tmp8_; +#line 258 "/home/jens/Source/shotwell/src/events/Branch.vala" + month = _tmp9_; +#line 260 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = year; +#line 260 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp10_ == NULL) { +#line 2443 "Branch.c" + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + struct tm _tmp13_ = {0}; + EventsYearDirectoryEntry* _tmp14_ = NULL; + SidebarEntry* _tmp15_ = NULL; + SidebarEntry* _tmp16_ = NULL; + SidebarEntry* _tmp17_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT); +#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = _tmp11_; +#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = event_tm; +#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = events_year_directory_entry_new (_tmp12_, &_tmp13_); +#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (year); +#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala" + year = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SIDEBAR_TYPE_ENTRY, SidebarEntry); +#line 261 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (_tmp12_); +#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = _tmp15_; +#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = year; +#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp16_, _tmp17_, _events_branch_event_month_comparator_gcompare_func); +#line 263 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp16_); +#line 2475 "Branch.c" + } +#line 266 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = month; +#line 266 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp18_ == NULL) { +#line 2481 "Branch.c" + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + struct tm _tmp21_ = {0}; + EventsMonthDirectoryEntry* _tmp22_ = NULL; + SidebarEntry* _tmp23_ = NULL; + SidebarEntry* _tmp24_ = NULL; +#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = g_time_format (&event_tm, SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT); +#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp20_ = _tmp19_; +#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp21_ = event_tm; +#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp22_ = events_month_directory_entry_new (_tmp20_, &_tmp21_); +#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (month); +#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala" + month = G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, SIDEBAR_TYPE_ENTRY, SidebarEntry); +#line 267 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (_tmp20_); +#line 269 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp23_ = year; +#line 269 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp24_ = month; +#line 269 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp23_, _tmp24_, _events_branch_event_comparator_gcompare_func); +#line 2508 "Branch.c" + } +#line 272 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp25_ = event; +#line 272 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp26_ = month; +#line 272 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_reparent_event (self, _tmp25_, _tmp26_); +#line 247 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (month); +#line 247 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (year); +#line 2520 "Branch.c" +} + + +static void events_branch_remove_event (EventsBranch* self, Event* event) { + SidebarEntry* entry = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + SidebarEntry* parent = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarEntry* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + SidebarEntry* _tmp8_ = NULL; +#line 275 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 275 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (IS_EVENT (event)); +#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->entry_map; +#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = event; +#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, &_tmp2_); +#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (entry); +#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala" + entry = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_ENTRY, SidebarEntry); +#line 279 "/home/jens/Source/shotwell/src/events/Branch.vala" + removed = _tmp3_; +#line 280 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = removed; +#line 280 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp4_, "removed"); +#line 282 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = entry; +#line 282 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp5_); +#line 282 "/home/jens/Source/shotwell/src/events/Branch.vala" + parent = _tmp6_; +#line 283 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = parent; +#line 283 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp7_ != NULL, "parent != null"); +#line 285 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = entry; +#line 285 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp8_); +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + while (TRUE) { +#line 2573 "Branch.c" + gboolean _tmp9_ = FALSE; + SidebarEntry* _tmp10_ = NULL; + gint _tmp11_ = 0; + SidebarEntry* grandparent = NULL; + SidebarEntry* _tmp15_ = NULL; + SidebarEntry* _tmp16_ = NULL; + SidebarEntry* _tmp17_ = NULL; + SidebarEntry* _tmp18_ = NULL; + SidebarEntry* _tmp19_ = NULL; + SidebarEntry* _tmp20_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = parent; +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = sidebar_branch_get_child_count (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp10_); +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp11_ == 0) { +#line 2590 "Branch.c" + SidebarEntry* _tmp12_ = NULL; + SidebarEntry* _tmp13_ = NULL; + SidebarEntry* _tmp14_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = parent; +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = _tmp13_; +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = _tmp12_ != _tmp14_; +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp14_); +#line 2604 "Branch.c" + } else { +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = FALSE; +#line 2608 "Branch.c" + } +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp9_) { +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + break; +#line 2614 "Branch.c" + } +#line 289 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = parent; +#line 289 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp15_); +#line 289 "/home/jens/Source/shotwell/src/events/Branch.vala" + grandparent = _tmp16_; +#line 290 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = grandparent; +#line 290 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp17_ != NULL, "grandparent != null"); +#line 292 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = parent; +#line 292 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp18_); +#line 294 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = grandparent; +#line 294 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 294 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (parent); +#line 294 "/home/jens/Source/shotwell/src/events/Branch.vala" + parent = _tmp20_; +#line 288 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (grandparent); +#line 2640 "Branch.c" + } +#line 275 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (parent); +#line 275 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (entry); +#line 2646 "Branch.c" +} + + +static Block7Data* block7_data_ref (Block7Data* _data7_) { +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_atomic_int_inc (&_data7_->_ref_count_); +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + return _data7_; +#line 2655 "Branch.c" +} + + +static void block7_data_unref (void * _userdata_) { + Block7Data* _data7_; + _data7_ = (Block7Data*) _userdata_; +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (g_atomic_int_dec_and_test (&_data7_->_ref_count_)) { +#line 2664 "Branch.c" + EventsBranch* self; +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = _data7_->self; +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (self); +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_slice_free (Block7Data, _data7_); +#line 2672 "Branch.c" + } +} + + +static gboolean __lambda17_ (Block7Data* _data7_, SidebarEntry* entry) { + EventsBranch* self; + gboolean result = FALSE; + SidebarEntry* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = _data7_->self; +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = entry; +#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = events_month_directory_entry_get_month (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry)); +#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = _data7_->event_month; +#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_ == _tmp2_; +#line 308 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2697 "Branch.c" +} + + +static gboolean ___lambda17__locator (gconstpointer item, gpointer self) { + gboolean result; + result = __lambda17_ (self, (SidebarEntry*) item); +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2706 "Branch.c" +} + + +static SidebarEntry* events_branch_find_event_month (EventsBranch* self, Event* event, struct tm* event_tm, SidebarEntry** found_year) { + SidebarEntry* _vala_found_year = NULL; + SidebarEntry* result = NULL; + Block7Data* _data7_; + Event* _tmp0_ = NULL; + struct tm _tmp1_ = {0}; + SidebarEntry* _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; + struct tm _tmp4_ = {0}; + gint _tmp5_ = 0; + SidebarEntry* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL); +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (IS_EVENT (event), NULL); +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (event_tm != NULL, NULL); +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data7_ = g_slice_new0 (Block7Data); +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data7_->_ref_count_ = 1; +#line 298 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data7_->self = g_object_ref (self); +#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = event; +#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = *event_tm; +#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = events_branch_find_event_year (self, _tmp0_, &_tmp1_); +#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_vala_found_year); +#line 300 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_found_year = _tmp2_; +#line 301 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = _vala_found_year; +#line 301 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp3_ == NULL) { +#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = NULL; +#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala" + block7_data_unref (_data7_); +#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data7_ = NULL; +#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (found_year) { +#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala" + *found_year = _vala_found_year; +#line 2758 "Branch.c" + } else { +#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_vala_found_year); +#line 2762 "Branch.c" + } +#line 302 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2766 "Branch.c" + } +#line 304 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = *event_tm; +#line 304 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = _tmp4_.tm_mon; +#line 304 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data7_->event_month = _tmp5_ + 1; +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = _vala_found_year; +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = sidebar_branch_find_first_child (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp6_, ___lambda17__locator, _data7_); +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp7_; +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + block7_data_unref (_data7_); +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data7_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (found_year) { +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + *found_year = _vala_found_year; +#line 2788 "Branch.c" + } else { +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_vala_found_year); +#line 2792 "Branch.c" + } +#line 307 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2796 "Branch.c" +} + + +static Block8Data* block8_data_ref (Block8Data* _data8_) { +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_atomic_int_inc (&_data8_->_ref_count_); +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + return _data8_; +#line 2805 "Branch.c" +} + + +static void block8_data_unref (void * _userdata_) { + Block8Data* _data8_; + _data8_ = (Block8Data*) _userdata_; +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (g_atomic_int_dec_and_test (&_data8_->_ref_count_)) { +#line 2814 "Branch.c" + EventsBranch* self; +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = _data8_->self; +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (self); +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_slice_free (Block8Data, _data8_); +#line 2822 "Branch.c" + } +} + + +static gboolean __lambda16_ (Block8Data* _data8_, SidebarEntry* entry) { + EventsBranch* self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + SidebarEntry* _tmp2_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = _data8_->self; +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = entry; +#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY)) { +#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = TRUE; +#line 2843 "Branch.c" + } else { + SidebarEntry* _tmp3_ = NULL; +#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = entry; +#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, EVENTS_TYPE_NO_EVENT_ENTRY); +#line 2850 "Branch.c" + } +#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp1_) { +#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = TRUE; +#line 2856 "Branch.c" + } else { + SidebarEntry* _tmp4_ = NULL; +#line 317 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = entry; +#line 317 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY); +#line 2863 "Branch.c" + } +#line 316 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp0_) { +#line 318 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = FALSE; +#line 318 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2871 "Branch.c" + } else { + SidebarEntry* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 320 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = entry; +#line 320 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = events_year_directory_entry_get_year (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry)); +#line 320 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp6_ == _data8_->event_year; +#line 320 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2883 "Branch.c" + } +} + + +static gboolean ___lambda16__locator (gconstpointer item, gpointer self) { + gboolean result; + result = __lambda16_ (self, (SidebarEntry*) item); +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2893 "Branch.c" +} + + +static SidebarEntry* events_branch_find_event_year (EventsBranch* self, Event* event, struct tm* event_tm) { + SidebarEntry* result = NULL; + Block8Data* _data8_; + struct tm _tmp0_ = {0}; + gint _tmp1_ = 0; + SidebarEntry* _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_BRANCH (self), NULL); +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (IS_EVENT (event), NULL); +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (event_tm != NULL, NULL); +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data8_ = g_slice_new0 (Block8Data); +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data8_->_ref_count_ = 1; +#line 312 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data8_->self = g_object_ref (self); +#line 313 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = *event_tm; +#line 313 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _tmp0_.tm_year; +#line 313 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data8_->event_year = _tmp1_ + 1900; +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = _tmp2_; +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = sidebar_branch_find_first_child (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, ___lambda16__locator, _data8_); +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = _tmp4_; +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp5_; +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + block8_data_unref (_data8_); +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + _data8_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2942 "Branch.c" +} + + +static gint _events_branch_undated_event_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = events_branch_undated_event_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 2951 "Branch.c" +} + + +static void events_branch_add_undated_event (EventsBranch* self, Event* event) { + EventsUndatedDirectoryEntry* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + EventsUndatedDirectoryEntry* _tmp5_ = NULL; + Event* _tmp6_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 324 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (IS_EVENT (event)); +#line 325 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->undated_entry; +#line 325 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 325 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp1_) { +#line 2970 "Branch.c" + SidebarEntry* _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; + EventsUndatedDirectoryEntry* _tmp4_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = _tmp2_; +#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = self->priv->undated_entry; +#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry), _events_branch_undated_event_comparator_gcompare_func); +#line 326 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 2984 "Branch.c" + } +#line 328 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = self->priv->undated_entry; +#line 328 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = event; +#line 328 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_graft_event (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry), _tmp6_, NULL); +#line 2992 "Branch.c" +} + + +static void events_branch_move_to_undated_event (EventsBranch* self, Event* event) { + EventsUndatedDirectoryEntry* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + Event* _tmp5_ = NULL; + EventsUndatedDirectoryEntry* _tmp6_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 331 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (IS_EVENT (event)); +#line 332 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->undated_entry; +#line 332 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 332 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp1_) { +#line 3011 "Branch.c" + SidebarEntry* _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; + EventsUndatedDirectoryEntry* _tmp4_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = _tmp2_; +#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = self->priv->undated_entry; +#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL); +#line 333 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 3025 "Branch.c" + } +#line 335 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = event; +#line 335 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = self->priv->undated_entry; +#line 335 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_reparent_event (self, _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 3033 "Branch.c" +} + + +static void events_branch_graft_event (EventsBranch* self, SidebarEntry* parent, Event* event, GCompareFunc comparator) { + EventsEventEntry* entry = NULL; + Event* _tmp0_ = NULL; + EventsEventEntry* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + Event* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + GCompareFunc _tmp5_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 338 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (parent)); +#line 338 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (IS_EVENT (event)); +#line 340 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = event; +#line 340 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = events_event_entry_new (_tmp0_); +#line 340 "/home/jens/Source/shotwell/src/events/Branch.vala" + entry = _tmp1_; +#line 341 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = self->priv->entry_map; +#line 341 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = event; +#line 341 "/home/jens/Source/shotwell/src/events/Branch.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_, entry); +#line 343 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = parent; +#line 343 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = comparator; +#line 343 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry), _tmp5_); +#line 338 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (entry); +#line 3071 "Branch.c" +} + + +static void events_branch_reparent_event (EventsBranch* self, Event* event, SidebarEntry* new_parent) { + EventsEventEntry* entry = NULL; + GeeHashMap* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + EventsEventEntry* _tmp3_ = NULL; + SidebarEntry* old_parent = NULL; + EventsEventEntry* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarEntry* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + EventsEventEntry* _tmp8_ = NULL; +#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (IS_EVENT (event)); +#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (new_parent)); +#line 347 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->entry_map; +#line 347 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = event; +#line 347 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 347 "/home/jens/Source/shotwell/src/events/Branch.vala" + entry = (EventsEventEntry*) _tmp2_; +#line 348 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = entry; +#line 348 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp3_ != NULL, "entry != null"); +#line 350 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = entry; +#line 350 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 350 "/home/jens/Source/shotwell/src/events/Branch.vala" + old_parent = _tmp5_; +#line 351 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = old_parent; +#line 351 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp6_ != NULL, "old_parent != null"); +#line 353 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = new_parent; +#line 353 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = entry; +#line 353 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_reparent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + while (TRUE) { +#line 3123 "Branch.c" + gboolean _tmp9_ = FALSE; + SidebarEntry* _tmp10_ = NULL; + gint _tmp11_ = 0; + SidebarEntry* grandparent = NULL; + SidebarEntry* _tmp15_ = NULL; + SidebarEntry* _tmp16_ = NULL; + SidebarEntry* _tmp17_ = NULL; + SidebarEntry* _tmp18_ = NULL; + SidebarEntry* _tmp19_ = NULL; + SidebarEntry* _tmp20_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = old_parent; +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = sidebar_branch_get_child_count (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp10_); +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp11_ == 0) { +#line 3140 "Branch.c" + SidebarEntry* _tmp12_ = NULL; + SidebarEntry* _tmp13_ = NULL; + SidebarEntry* _tmp14_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = old_parent; +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = _tmp13_; +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = _tmp12_ != _tmp14_; +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp14_); +#line 3154 "Branch.c" + } else { +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = FALSE; +#line 3158 "Branch.c" + } +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp9_) { +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + break; +#line 3164 "Branch.c" + } +#line 356 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = old_parent; +#line 356 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp15_); +#line 356 "/home/jens/Source/shotwell/src/events/Branch.vala" + grandparent = _tmp16_; +#line 357 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = grandparent; +#line 357 "/home/jens/Source/shotwell/src/events/Branch.vala" + _vala_assert (_tmp17_ != NULL, "grandparent != null"); +#line 359 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = old_parent; +#line 359 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp18_); +#line 361 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = grandparent; +#line 361 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 361 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (old_parent); +#line 361 "/home/jens/Source/shotwell/src/events/Branch.vala" + old_parent = _tmp20_; +#line 355 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (grandparent); +#line 3190 "Branch.c" + } +#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (old_parent); +#line 346 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (entry); +#line 3196 "Branch.c" +} + + +static void events_branch_show_no_events (EventsBranch* self, gboolean show) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 365 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (EVENTS_IS_BRANCH (self)); +#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = show; +#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp1_) { +#line 3209 "Branch.c" + EventsNoEventEntry* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = self->priv->no_event_entry; +#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = !_tmp3_; +#line 3218 "Branch.c" + } else { +#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = FALSE; +#line 3222 "Branch.c" + } +#line 366 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp0_) { +#line 3226 "Branch.c" + SidebarEntry* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + EventsNoEventEntry* _tmp6_ = NULL; +#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = _tmp4_; +#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = self->priv->no_event_entry; +#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL); +#line 367 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp5_); +#line 3240 "Branch.c" + } else { + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = show; +#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!_tmp8_) { +#line 3248 "Branch.c" + EventsNoEventEntry* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = self->priv->no_event_entry; +#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = _tmp10_; +#line 3257 "Branch.c" + } else { +#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = FALSE; +#line 3261 "Branch.c" + } +#line 368 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp7_) { +#line 3265 "Branch.c" + EventsNoEventEntry* _tmp11_ = NULL; +#line 369 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = self->priv->no_event_entry; +#line 369 "/home/jens/Source/shotwell/src/events/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 3271 "Branch.c" + } + } +} + + +static void events_branch_class_init (EventsBranchClass * klass) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_type_class_add_private (klass, sizeof (EventsBranchPrivate)); +#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = events_branch_finalize; +#line 8 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_FOLDER); +#line 8 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_icon = _tmp0_; +#line 9 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (RESOURCES_ICON_EVENTS); +#line 9 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_events_icon = _tmp1_; +#line 10 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = g_strdup (RESOURCES_ICON_ONE_EVENT); +#line 10 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_single_event_icon = _tmp2_; +#line 11 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = g_strdup (RESOURCES_ICON_NO_EVENT); +#line 11 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_branch_no_event_icon = _tmp3_; +#line 3304 "Branch.c" +} + + +static void events_branch_instance_init (EventsBranch * self) { + GeeHashMap* _tmp0_ = NULL; + EventsUndatedDirectoryEntry* _tmp1_ = NULL; + EventsNoEventEntry* _tmp2_ = NULL; + EventsMasterDirectoryEntry* _tmp3_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv = EVENTS_BRANCH_GET_PRIVATE (self); +#line 18 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = gee_hash_map_new (TYPE_EVENT, (GBoxedCopyFunc) g_object_ref, g_object_unref, EVENTS_TYPE_EVENT_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 18 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->entry_map = _tmp0_; +#line 20 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = events_undated_directory_entry_new (); +#line 20 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->undated_entry = _tmp1_; +#line 21 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = events_no_event_entry_new (); +#line 21 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->no_event_entry = _tmp2_; +#line 22 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = events_master_directory_entry_new (); +#line 22 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->all_events_entry = _tmp3_; +#line 3331 "Branch.c" +} + + +static void events_branch_finalize (GObject* obj) { + EventsBranch * self; + EventSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + EventSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; + EventSourceCollection* _tmp4_ = NULL; + guint _tmp5_ = 0U; + ConfigFacade* _tmp6_ = NULL; + ConfigFacade* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_BRANCH, EventsBranch); +#line 46 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = event_global; +#line 46 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 46 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _events_branch_on_events_added_removed_data_collection_contents_altered, self); +#line 47 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = event_global; +#line 47 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 47 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _events_branch_on_events_altered_data_collection_items_altered, self); +#line 48 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = event_global; +#line 48 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_parse_name ("no-event-collection-altered", TYPE_EVENT_SOURCE_COLLECTION, &_tmp5_, NULL, FALSE); +#line 48 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _events_branch_on_no_event_collection_altered_event_source_collection_no_event_collection_altered, self); +#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = config_facade_get_instance (); +#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = _tmp6_; +#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_parse_name ("events-sort-ascending-changed", TYPE_CONFIGURATION_FACADE, &_tmp8_, NULL, FALSE); +#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _events_branch_on_config_changed_configuration_facade_events_sort_ascending_changed, self); +#line 50 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp7_); +#line 18 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (self->priv->entry_map); +#line 20 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (self->priv->undated_entry); +#line 21 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (self->priv->no_event_entry); +#line 22 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (self->priv->all_events_entry); +#line 7 "/home/jens/Source/shotwell/src/events/Branch.vala" + G_OBJECT_CLASS (events_branch_parent_class)->finalize (obj); +#line 3386 "Branch.c" +} + + +GType events_branch_get_type (void) { + static volatile gsize events_branch_type_id__volatile = 0; + if (g_once_init_enter (&events_branch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsBranch), 0, (GInstanceInitFunc) events_branch_instance_init, NULL }; + GType events_branch_type_id; + events_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "EventsBranch", &g_define_type_info, 0); + g_once_init_leave (&events_branch_type_id__volatile, events_branch_type_id); + } + return events_branch_type_id__volatile; +} + + +EventsDirectoryEntry* events_directory_entry_construct (GType object_type) { + EventsDirectoryEntry * self = NULL; +#line 374 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = (EventsDirectoryEntry*) sidebar_simple_page_entry_construct (object_type); +#line 374 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self; +#line 3408 "Branch.c" +} + + +static gchar* events_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + EventsDirectoryEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry); +#line 378 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = events_branch_icon; +#line 378 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 378 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 378 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3427 "Branch.c" +} + + +static gboolean events_directory_entry_real_expand_on_select (SidebarExpandableEntry* base) { + EventsDirectoryEntry * self; + gboolean result = FALSE; +#line 381 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry); +#line 382 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = TRUE; +#line 382 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3440 "Branch.c" +} + + +static void events_directory_entry_class_init (EventsDirectoryEntryClass * klass) { +#line 373 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_directory_entry_parent_class = g_type_class_peek_parent (klass); +#line 373 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = events_directory_entry_real_get_sidebar_icon; +#line 3449 "Branch.c" +} + + +static void events_directory_entry_sidebar_expandable_entry_interface_init (SidebarExpandableEntryIface * iface) { +#line 373 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_directory_entry_sidebar_expandable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 373 "/home/jens/Source/shotwell/src/events/Branch.vala" + iface->expand_on_select = (gboolean (*)(SidebarExpandableEntry*)) events_directory_entry_real_expand_on_select; +#line 3458 "Branch.c" +} + + +static void events_directory_entry_instance_init (EventsDirectoryEntry * self) { +} + + +GType events_directory_entry_get_type (void) { + static volatile gsize events_directory_entry_type_id__volatile = 0; + if (g_once_init_enter (&events_directory_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsDirectoryEntry), 0, (GInstanceInitFunc) events_directory_entry_instance_init, NULL }; + static const GInterfaceInfo sidebar_expandable_entry_info = { (GInterfaceInitFunc) events_directory_entry_sidebar_expandable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType events_directory_entry_type_id; + events_directory_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "EventsDirectoryEntry", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (events_directory_entry_type_id, SIDEBAR_TYPE_EXPANDABLE_ENTRY, &sidebar_expandable_entry_info); + g_once_init_leave (&events_directory_entry_type_id__volatile, events_directory_entry_type_id); + } + return events_directory_entry_type_id__volatile; +} + + +EventsMasterDirectoryEntry* events_master_directory_entry_construct (GType object_type) { + EventsMasterDirectoryEntry * self = NULL; +#line 387 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = (EventsMasterDirectoryEntry*) events_directory_entry_construct (object_type); +#line 387 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self; +#line 3486 "Branch.c" +} + + +EventsMasterDirectoryEntry* events_master_directory_entry_new (void) { +#line 387 "/home/jens/Source/shotwell/src/events/Branch.vala" + return events_master_directory_entry_construct (EVENTS_TYPE_MASTER_DIRECTORY_ENTRY); +#line 3493 "Branch.c" +} + + +static gchar* events_master_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + EventsMasterDirectoryEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 390 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry); +#line 391 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = g_strdup (MASTER_EVENTS_DIRECTORY_PAGE_NAME); +#line 391 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp0_; +#line 391 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3509 "Branch.c" +} + + +static gchar* events_master_directory_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + EventsMasterDirectoryEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry); +#line 395 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = events_branch_events_icon; +#line 395 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 395 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 395 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3528 "Branch.c" +} + + +static Page* events_master_directory_entry_real_create_page (SidebarSimplePageEntry* base) { + EventsMasterDirectoryEntry * self; + Page* result = NULL; + MasterEventsDirectoryPage* _tmp0_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry); +#line 399 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = master_events_directory_page_new (); +#line 399 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_object_ref_sink (_tmp0_); +#line 399 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page); +#line 399 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3546 "Branch.c" +} + + +static void events_master_directory_entry_class_init (EventsMasterDirectoryEntryClass * klass) { +#line 386 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_master_directory_entry_parent_class = g_type_class_peek_parent (klass); +#line 386 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_master_directory_entry_real_get_sidebar_name; +#line 386 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = events_master_directory_entry_real_get_sidebar_icon; +#line 386 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = events_master_directory_entry_real_create_page; +#line 3559 "Branch.c" +} + + +static void events_master_directory_entry_instance_init (EventsMasterDirectoryEntry * self) { +} + + +GType events_master_directory_entry_get_type (void) { + static volatile gsize events_master_directory_entry_type_id__volatile = 0; + if (g_once_init_enter (&events_master_directory_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsMasterDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_master_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsMasterDirectoryEntry), 0, (GInstanceInitFunc) events_master_directory_entry_instance_init, NULL }; + GType events_master_directory_entry_type_id; + events_master_directory_entry_type_id = g_type_register_static (EVENTS_TYPE_DIRECTORY_ENTRY, "EventsMasterDirectoryEntry", &g_define_type_info, 0); + g_once_init_leave (&events_master_directory_entry_type_id__volatile, events_master_directory_entry_type_id); + } + return events_master_directory_entry_type_id__volatile; +} + + +EventsYearDirectoryEntry* events_year_directory_entry_construct (GType object_type, const gchar* name, struct tm* tm) { + EventsYearDirectoryEntry * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + struct tm _tmp2_ = {0}; +#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (tm != NULL, NULL); +#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = (EventsYearDirectoryEntry*) events_directory_entry_construct (object_type); +#line 408 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = name; +#line 408 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 408 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (self->priv->name); +#line 408 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->name = _tmp1_; +#line 409 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = *tm; +#line 409 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->tm = _tmp2_; +#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self; +#line 3604 "Branch.c" +} + + +EventsYearDirectoryEntry* events_year_directory_entry_new (const gchar* name, struct tm* tm) { +#line 407 "/home/jens/Source/shotwell/src/events/Branch.vala" + return events_year_directory_entry_construct (EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, name, tm); +#line 3611 "Branch.c" +} + + +static gchar* events_year_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + EventsYearDirectoryEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 412 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry); +#line 413 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->name; +#line 413 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 413 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 413 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3630 "Branch.c" +} + + +gint events_year_directory_entry_get_year (EventsYearDirectoryEntry* self) { + gint result = 0; + struct tm _tmp0_ = {0}; + gint _tmp1_ = 0; +#line 416 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_YEAR_DIRECTORY_ENTRY (self), 0); +#line 417 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->tm; +#line 417 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _tmp0_.tm_year; +#line 417 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_ + 1900; +#line 417 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3648 "Branch.c" +} + + +static Page* events_year_directory_entry_real_create_page (SidebarSimplePageEntry* base) { + EventsYearDirectoryEntry * self; + Page* result = NULL; + struct tm _tmp0_ = {0}; + SubEventsDirectoryPage* _tmp1_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry); +#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->tm; +#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR, &_tmp0_); +#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_object_ref_sink (_tmp1_); +#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 421 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3669 "Branch.c" +} + + +static void events_year_directory_entry_class_init (EventsYearDirectoryEntryClass * klass) { +#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_year_directory_entry_parent_class = g_type_class_peek_parent (klass); +#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_type_class_add_private (klass, sizeof (EventsYearDirectoryEntryPrivate)); +#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_year_directory_entry_real_get_sidebar_name; +#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = events_year_directory_entry_real_create_page; +#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = events_year_directory_entry_finalize; +#line 3684 "Branch.c" +} + + +static void events_year_directory_entry_instance_init (EventsYearDirectoryEntry * self) { +#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv = EVENTS_YEAR_DIRECTORY_ENTRY_GET_PRIVATE (self); +#line 3691 "Branch.c" +} + + +static void events_year_directory_entry_finalize (GObject* obj) { + EventsYearDirectoryEntry * self; +#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_YEAR_DIRECTORY_ENTRY, EventsYearDirectoryEntry); +#line 404 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (self->priv->name); +#line 403 "/home/jens/Source/shotwell/src/events/Branch.vala" + G_OBJECT_CLASS (events_year_directory_entry_parent_class)->finalize (obj); +#line 3703 "Branch.c" +} + + +GType events_year_directory_entry_get_type (void) { + static volatile gsize events_year_directory_entry_type_id__volatile = 0; + if (g_once_init_enter (&events_year_directory_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsYearDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_year_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsYearDirectoryEntry), 0, (GInstanceInitFunc) events_year_directory_entry_instance_init, NULL }; + GType events_year_directory_entry_type_id; + events_year_directory_entry_type_id = g_type_register_static (EVENTS_TYPE_DIRECTORY_ENTRY, "EventsYearDirectoryEntry", &g_define_type_info, 0); + g_once_init_leave (&events_year_directory_entry_type_id__volatile, events_year_directory_entry_type_id); + } + return events_year_directory_entry_type_id__volatile; +} + + +EventsMonthDirectoryEntry* events_month_directory_entry_construct (GType object_type, const gchar* name, struct tm* tm) { + EventsMonthDirectoryEntry * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + struct tm _tmp2_ = {0}; +#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (tm != NULL, NULL); +#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = (EventsMonthDirectoryEntry*) events_directory_entry_construct (object_type); +#line 430 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = name; +#line 430 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 430 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (self->priv->name); +#line 430 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->name = _tmp1_; +#line 431 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = *tm; +#line 431 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->tm = _tmp2_; +#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self; +#line 3744 "Branch.c" +} + + +EventsMonthDirectoryEntry* events_month_directory_entry_new (const gchar* name, struct tm* tm) { +#line 429 "/home/jens/Source/shotwell/src/events/Branch.vala" + return events_month_directory_entry_construct (EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, name, tm); +#line 3751 "Branch.c" +} + + +static gchar* events_month_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + EventsMonthDirectoryEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry); +#line 435 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->name; +#line 435 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 435 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 435 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3770 "Branch.c" +} + + +gint events_month_directory_entry_get_year (EventsMonthDirectoryEntry* self) { + gint result = 0; + struct tm _tmp0_ = {0}; + gint _tmp1_ = 0; +#line 438 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_MONTH_DIRECTORY_ENTRY (self), 0); +#line 439 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->tm; +#line 439 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _tmp0_.tm_year; +#line 439 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_ + 1900; +#line 439 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3788 "Branch.c" +} + + +gint events_month_directory_entry_get_month (EventsMonthDirectoryEntry* self) { + gint result = 0; + struct tm _tmp0_ = {0}; + gint _tmp1_ = 0; +#line 442 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_MONTH_DIRECTORY_ENTRY (self), 0); +#line 443 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->tm; +#line 443 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _tmp0_.tm_mon; +#line 443 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_ + 1; +#line 443 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3806 "Branch.c" +} + + +static Page* events_month_directory_entry_real_create_page (SidebarSimplePageEntry* base) { + EventsMonthDirectoryEntry * self; + Page* result = NULL; + struct tm _tmp0_ = {0}; + SubEventsDirectoryPage* _tmp1_ = NULL; +#line 446 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry); +#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->tm; +#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH, &_tmp0_); +#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_object_ref_sink (_tmp1_); +#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 447 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3827 "Branch.c" +} + + +static void events_month_directory_entry_class_init (EventsMonthDirectoryEntryClass * klass) { +#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_month_directory_entry_parent_class = g_type_class_peek_parent (klass); +#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_type_class_add_private (klass, sizeof (EventsMonthDirectoryEntryPrivate)); +#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_month_directory_entry_real_get_sidebar_name; +#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = events_month_directory_entry_real_create_page; +#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = events_month_directory_entry_finalize; +#line 3842 "Branch.c" +} + + +static void events_month_directory_entry_instance_init (EventsMonthDirectoryEntry * self) { +#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv = EVENTS_MONTH_DIRECTORY_ENTRY_GET_PRIVATE (self); +#line 3849 "Branch.c" +} + + +static void events_month_directory_entry_finalize (GObject* obj) { + EventsMonthDirectoryEntry * self; +#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_MONTH_DIRECTORY_ENTRY, EventsMonthDirectoryEntry); +#line 426 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (self->priv->name); +#line 425 "/home/jens/Source/shotwell/src/events/Branch.vala" + G_OBJECT_CLASS (events_month_directory_entry_parent_class)->finalize (obj); +#line 3861 "Branch.c" +} + + +GType events_month_directory_entry_get_type (void) { + static volatile gsize events_month_directory_entry_type_id__volatile = 0; + if (g_once_init_enter (&events_month_directory_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsMonthDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_month_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsMonthDirectoryEntry), 0, (GInstanceInitFunc) events_month_directory_entry_instance_init, NULL }; + GType events_month_directory_entry_type_id; + events_month_directory_entry_type_id = g_type_register_static (EVENTS_TYPE_DIRECTORY_ENTRY, "EventsMonthDirectoryEntry", &g_define_type_info, 0); + g_once_init_leave (&events_month_directory_entry_type_id__volatile, events_month_directory_entry_type_id); + } + return events_month_directory_entry_type_id__volatile; +} + + +EventsUndatedDirectoryEntry* events_undated_directory_entry_construct (GType object_type) { + EventsUndatedDirectoryEntry * self = NULL; +#line 452 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = (EventsUndatedDirectoryEntry*) events_directory_entry_construct (object_type); +#line 452 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self; +#line 3883 "Branch.c" +} + + +EventsUndatedDirectoryEntry* events_undated_directory_entry_new (void) { +#line 452 "/home/jens/Source/shotwell/src/events/Branch.vala" + return events_undated_directory_entry_construct (EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY); +#line 3890 "Branch.c" +} + + +static gchar* events_undated_directory_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + EventsUndatedDirectoryEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 455 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry); +#line 456 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = g_strdup (SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME); +#line 456 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp0_; +#line 456 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3906 "Branch.c" +} + + +static Page* events_undated_directory_entry_real_create_page (SidebarSimplePageEntry* base) { + EventsUndatedDirectoryEntry * self; + Page* result = NULL; + struct tm _tmp0_ = {0}; + SubEventsDirectoryPage* _tmp1_ = NULL; +#line 459 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_UNDATED_DIRECTORY_ENTRY, EventsUndatedDirectoryEntry); +#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_time_local ((time_t) 0, &_tmp0_); +#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = sub_events_directory_page_new (SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED, &_tmp0_); +#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_object_ref_sink (_tmp1_); +#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 460 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 3927 "Branch.c" +} + + +static void events_undated_directory_entry_class_init (EventsUndatedDirectoryEntryClass * klass) { +#line 451 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_undated_directory_entry_parent_class = g_type_class_peek_parent (klass); +#line 451 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_undated_directory_entry_real_get_sidebar_name; +#line 451 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = events_undated_directory_entry_real_create_page; +#line 3938 "Branch.c" +} + + +static void events_undated_directory_entry_instance_init (EventsUndatedDirectoryEntry * self) { +} + + +GType events_undated_directory_entry_get_type (void) { + static volatile gsize events_undated_directory_entry_type_id__volatile = 0; + if (g_once_init_enter (&events_undated_directory_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsUndatedDirectoryEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_undated_directory_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsUndatedDirectoryEntry), 0, (GInstanceInitFunc) events_undated_directory_entry_instance_init, NULL }; + GType events_undated_directory_entry_type_id; + events_undated_directory_entry_type_id = g_type_register_static (EVENTS_TYPE_DIRECTORY_ENTRY, "EventsUndatedDirectoryEntry", &g_define_type_info, 0); + g_once_init_leave (&events_undated_directory_entry_type_id__volatile, events_undated_directory_entry_type_id); + } + return events_undated_directory_entry_type_id__volatile; +} + + +EventsEventEntry* events_event_entry_construct (GType object_type, Event* event) { + EventsEventEntry * self = NULL; + Event* _tmp0_ = NULL; + Event* _tmp1_ = NULL; +#line 469 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (IS_EVENT (event), NULL); +#line 469 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = (EventsEventEntry*) sidebar_simple_page_entry_construct (object_type); +#line 470 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = event; +#line 470 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 470 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (self->priv->event); +#line 470 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv->event = _tmp1_; +#line 469 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self; +#line 3976 "Branch.c" +} + + +EventsEventEntry* events_event_entry_new (Event* event) { +#line 469 "/home/jens/Source/shotwell/src/events/Branch.vala" + return events_event_entry_construct (EVENTS_TYPE_EVENT_ENTRY, event); +#line 3983 "Branch.c" +} + + +Event* events_event_entry_get_event (EventsEventEntry* self) { + Event* result = NULL; + Event* _tmp0_ = NULL; + Event* _tmp1_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (EVENTS_IS_EVENT_ENTRY (self), NULL); +#line 474 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->event; +#line 474 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 474 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 474 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4001 "Branch.c" +} + + +static gchar* events_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + EventsEventEntry * self; + gchar* result = NULL; + Event* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 477 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry); +#line 478 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->event; +#line 478 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 478 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 478 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4020 "Branch.c" +} + + +static gchar* events_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + EventsEventEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 481 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry); +#line 482 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = events_branch_single_event_icon; +#line 482 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 482 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 482 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4039 "Branch.c" +} + + +static Page* events_event_entry_real_create_page (SidebarSimplePageEntry* base) { + EventsEventEntry * self; + Page* result = NULL; + Event* _tmp0_ = NULL; + EventPage* _tmp1_ = NULL; +#line 485 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry); +#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = self->priv->event; +#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = event_page_new (_tmp0_); +#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_object_ref_sink (_tmp1_); +#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 486 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4060 "Branch.c" +} + + +static gboolean events_event_entry_real_is_user_renameable (SidebarRenameableEntry* base) { + EventsEventEntry * self; + gboolean result = FALSE; +#line 489 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry); +#line 490 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = TRUE; +#line 490 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4073 "Branch.c" +} + + +static void events_event_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name) { + EventsEventEntry * self; + gchar* prepped = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 493 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry); +#line 493 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_if_fail (new_name != NULL); +#line 494 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = new_name; +#line 494 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = event_prep_event_name (_tmp0_); +#line 494 "/home/jens/Source/shotwell/src/events/Branch.vala" + prepped = _tmp1_; +#line 495 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = prepped; +#line 495 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (_tmp2_ != NULL) { +#line 4097 "Branch.c" + CommandManager* _tmp3_ = NULL; + CommandManager* _tmp4_ = NULL; + Event* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + RenameEventCommand* _tmp7_ = NULL; + RenameEventCommand* _tmp8_ = NULL; +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = app_window_get_command_manager (); +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = _tmp3_; +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = self->priv->event; +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = prepped; +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = rename_event_command_new (_tmp5_, _tmp6_); +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = _tmp7_; +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + command_manager_execute (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_COMMAND, Command)); +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp8_); +#line 496 "/home/jens/Source/shotwell/src/events/Branch.vala" + _command_manager_unref0 (_tmp4_); +#line 4122 "Branch.c" + } +#line 493 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_free0 (prepped); +#line 4126 "Branch.c" +} + + +static gboolean events_event_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media) { + EventsEventEntry * self; + gboolean result = FALSE; + GeeArrayList* views = NULL; + GeeArrayList* _tmp0_ = NULL; + CommandManager* _tmp16_ = NULL; + CommandManager* _tmp17_ = NULL; + GeeArrayList* _tmp18_ = NULL; + Event* _tmp19_ = NULL; + SetEventCommand* _tmp20_ = NULL; + SetEventCommand* _tmp21_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry); +#line 499 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (GEE_IS_LIST (media), FALSE); +#line 502 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = gee_array_list_new (TYPE_DATA_VIEW, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 502 "/home/jens/Source/shotwell/src/events/Branch.vala" + views = _tmp0_; +#line 4149 "Branch.c" + { + GeeList* _media_source_list = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + gint _media_source_size = 0; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _media_source_index = 0; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = media; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _media_source_list = _tmp2_; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp3_ = _media_source_list; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp5_ = _tmp4_; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _media_source_size = _tmp5_; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _media_source_index = -1; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + while (TRUE) { +#line 4177 "Branch.c" + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + MediaSource* media_source = NULL; + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gpointer _tmp11_ = NULL; + GeeArrayList* _tmp12_ = NULL; + MediaSource* _tmp13_ = NULL; + DataView* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp6_ = _media_source_index; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _media_source_index = _tmp6_ + 1; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp7_ = _media_source_index; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp8_ = _media_source_size; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + if (!(_tmp7_ < _tmp8_)) { +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + break; +#line 4201 "Branch.c" + } +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp9_ = _media_source_list; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp10_ = _media_source_index; +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp11_ = gee_list_get (_tmp9_, _tmp10_); +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + media_source = (MediaSource*) _tmp11_; +#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp12_ = views; +#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp13_ = media_source; +#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp14_ = data_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_SOURCE, DataSource)); +#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp15_ = _tmp14_; +#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_); +#line 504 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp15_); +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (media_source); +#line 4225 "Branch.c" + } +#line 503 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_media_source_list); +#line 4229 "Branch.c" + } +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp16_ = app_window_get_command_manager (); +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp17_ = _tmp16_; +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp18_ = views; +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp19_ = self->priv->event; +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp20_ = set_event_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ITERABLE, GeeIterable), _tmp19_); +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp21_ = _tmp20_; +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + command_manager_execute (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_COMMAND, Command)); +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (_tmp21_); +#line 506 "/home/jens/Source/shotwell/src/events/Branch.vala" + _command_manager_unref0 (_tmp17_); +#line 508 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = TRUE; +#line 508 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (views); +#line 508 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4255 "Branch.c" +} + + +static gboolean events_event_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data) { + EventsEventEntry * self; + gboolean result = FALSE; +#line 511 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry); +#line 511 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_return_val_if_fail (data != NULL, FALSE); +#line 512 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = FALSE; +#line 512 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4270 "Branch.c" +} + + +static void events_event_entry_class_init (EventsEventEntryClass * klass) { +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_event_entry_parent_class = g_type_class_peek_parent (klass); +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_type_class_add_private (klass, sizeof (EventsEventEntryPrivate)); +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_event_entry_real_get_sidebar_name; +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = events_event_entry_real_get_sidebar_icon; +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = events_event_entry_real_create_page; +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = events_event_entry_finalize; +#line 4287 "Branch.c" +} + + +static void events_event_entry_sidebar_renameable_entry_interface_init (SidebarRenameableEntryIface * iface) { +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_event_entry_sidebar_renameable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + iface->is_user_renameable = (gboolean (*)(SidebarRenameableEntry*)) events_event_entry_real_is_user_renameable; +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + iface->rename = (void (*)(SidebarRenameableEntry*, const gchar*)) events_event_entry_real_rename; +#line 4298 "Branch.c" +} + + +static void events_event_entry_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface) { +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_event_entry_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + iface->internal_drop_received = (gboolean (*)(SidebarInternalDropTargetEntry*, GeeList*)) events_event_entry_real_internal_drop_received; +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + iface->internal_drop_received_arbitrary = (gboolean (*)(SidebarInternalDropTargetEntry*, GtkSelectionData*)) events_event_entry_real_internal_drop_received_arbitrary; +#line 4309 "Branch.c" +} + + +static void events_event_entry_instance_init (EventsEventEntry * self) { +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + self->priv = EVENTS_EVENT_ENTRY_GET_PRIVATE (self); +#line 4316 "Branch.c" +} + + +static void events_event_entry_finalize (GObject* obj) { + EventsEventEntry * self; +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry); +#line 467 "/home/jens/Source/shotwell/src/events/Branch.vala" + _g_object_unref0 (self->priv->event); +#line 465 "/home/jens/Source/shotwell/src/events/Branch.vala" + G_OBJECT_CLASS (events_event_entry_parent_class)->finalize (obj); +#line 4328 "Branch.c" +} + + +GType events_event_entry_get_type (void) { + static volatile gsize events_event_entry_type_id__volatile = 0; + if (g_once_init_enter (&events_event_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsEventEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_event_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsEventEntry), 0, (GInstanceInitFunc) events_event_entry_instance_init, NULL }; + static const GInterfaceInfo sidebar_renameable_entry_info = { (GInterfaceInitFunc) events_event_entry_sidebar_renameable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_internal_drop_target_entry_info = { (GInterfaceInitFunc) events_event_entry_sidebar_internal_drop_target_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType events_event_entry_type_id; + events_event_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "EventsEventEntry", &g_define_type_info, 0); + g_type_add_interface_static (events_event_entry_type_id, SIDEBAR_TYPE_RENAMEABLE_ENTRY, &sidebar_renameable_entry_info); + g_type_add_interface_static (events_event_entry_type_id, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, &sidebar_internal_drop_target_entry_info); + g_once_init_leave (&events_event_entry_type_id__volatile, events_event_entry_type_id); + } + return events_event_entry_type_id__volatile; +} + + +EventsNoEventEntry* events_no_event_entry_construct (GType object_type) { + EventsNoEventEntry * self = NULL; +#line 518 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = (EventsNoEventEntry*) sidebar_simple_page_entry_construct (object_type); +#line 518 "/home/jens/Source/shotwell/src/events/Branch.vala" + return self; +#line 4354 "Branch.c" +} + + +EventsNoEventEntry* events_no_event_entry_new (void) { +#line 518 "/home/jens/Source/shotwell/src/events/Branch.vala" + return events_no_event_entry_construct (EVENTS_TYPE_NO_EVENT_ENTRY); +#line 4361 "Branch.c" +} + + +static gchar* events_no_event_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + EventsNoEventEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 521 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry); +#line 522 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = g_strdup (NO_EVENT_PAGE_NAME); +#line 522 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp0_; +#line 522 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4377 "Branch.c" +} + + +static gchar* events_no_event_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + EventsNoEventEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry); +#line 526 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = events_branch_no_event_icon; +#line 526 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 526 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = _tmp1_; +#line 526 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4396 "Branch.c" +} + + +static Page* events_no_event_entry_real_create_page (SidebarSimplePageEntry* base) { + EventsNoEventEntry * self; + Page* result = NULL; + NoEventPage* _tmp0_ = NULL; +#line 529 "/home/jens/Source/shotwell/src/events/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_TYPE_NO_EVENT_ENTRY, EventsNoEventEntry); +#line 530 "/home/jens/Source/shotwell/src/events/Branch.vala" + _tmp0_ = no_event_page_new (); +#line 530 "/home/jens/Source/shotwell/src/events/Branch.vala" + g_object_ref_sink (_tmp0_); +#line 530 "/home/jens/Source/shotwell/src/events/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page); +#line 530 "/home/jens/Source/shotwell/src/events/Branch.vala" + return result; +#line 4414 "Branch.c" +} + + +static void events_no_event_entry_class_init (EventsNoEventEntryClass * klass) { +#line 517 "/home/jens/Source/shotwell/src/events/Branch.vala" + events_no_event_entry_parent_class = g_type_class_peek_parent (klass); +#line 517 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = events_no_event_entry_real_get_sidebar_name; +#line 517 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = events_no_event_entry_real_get_sidebar_icon; +#line 517 "/home/jens/Source/shotwell/src/events/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = events_no_event_entry_real_create_page; +#line 4427 "Branch.c" +} + + +static void events_no_event_entry_instance_init (EventsNoEventEntry * self) { +} + + +GType events_no_event_entry_get_type (void) { + static volatile gsize events_no_event_entry_type_id__volatile = 0; + if (g_once_init_enter (&events_no_event_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsNoEventEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_no_event_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsNoEventEntry), 0, (GInstanceInitFunc) events_no_event_entry_instance_init, NULL }; + GType events_no_event_entry_type_id; + events_no_event_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "EventsNoEventEntry", &g_define_type_info, 0); + g_once_init_leave (&events_no_event_entry_type_id__volatile, events_no_event_entry_type_id); + } + return events_no_event_entry_type_id__volatile; +} + + + diff --git a/src/events/EventDirectoryItem.c b/src/events/EventDirectoryItem.c new file mode 100644 index 0000000..f63d633 --- /dev/null +++ b/src/events/EventDirectoryItem.c @@ -0,0 +1,1737 @@ +/* EventDirectoryItem.c generated by valac 0.32.1, the Vala compiler + * generated from EventDirectoryItem.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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_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; +typedef struct _DataViewPrivate DataViewPrivate; + +#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_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; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; + +#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; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_EVENT_DIRECTORY_ITEM (event_directory_item_get_type ()) +#define EVENT_DIRECTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem)) +#define EVENT_DIRECTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItemClass)) +#define IS_EVENT_DIRECTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_DIRECTORY_ITEM)) +#define IS_EVENT_DIRECTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_DIRECTORY_ITEM)) +#define EVENT_DIRECTORY_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItemClass)) + +typedef struct _EventDirectoryItem EventDirectoryItem; +typedef struct _EventDirectoryItemClass EventDirectoryItemClass; +typedef struct _EventDirectoryItemPrivate EventDirectoryItemPrivate; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_EVENT_SOURCE (event_source_get_type ()) +#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource)) +#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass)) +#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE)) +#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE)) +#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass)) + +typedef struct _EventSource EventSource; +typedef struct _EventSourceClass EventSourceClass; + +#define TYPE_EVENT (event_get_type ()) +#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event)) +#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass)) +#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT)) +#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT)) +#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass)) + +typedef struct _Event Event; +typedef struct _EventClass EventClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ()) +#define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection)) +#define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) +#define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION)) +#define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION)) +#define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) + +typedef struct _EventSourceCollection EventSourceCollection; +typedef struct _EventSourceCollectionClass EventSourceCollectionClass; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +typedef struct _Scaling Scaling; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#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 PHOTO_TYPE_EXCEPTION (photo_exception_get_type ()) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define THUMBNAIL_CACHE_TYPE_SIZE (thumbnail_cache_size_get_type ()) + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +struct _EventDirectoryItem { + CheckerboardItem parent_instance; + EventDirectoryItemPrivate * priv; + Event* event; +}; + +struct _EventDirectoryItemClass { + CheckerboardItemClass parent_class; +}; + +struct _EventDirectoryItemPrivate { + GdkRectangle paul_lynde; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef enum { + PHOTO_EXCEPTION_NONE = 0, + PHOTO_EXCEPTION_ORIENTATION = 1 << 0, + PHOTO_EXCEPTION_CROP = 1 << 1, + PHOTO_EXCEPTION_REDEYE = 1 << 2, + PHOTO_EXCEPTION_ADJUST = 1 << 3, + PHOTO_EXCEPTION_STRAIGHTEN = 1 << 4, + PHOTO_EXCEPTION_ALL = 0xFFFFFFFFLL +} PhotoException; + +typedef enum { + THUMBNAIL_CACHE_SIZE_LARGEST = 360, + THUMBNAIL_CACHE_SIZE_BIG = 360, + THUMBNAIL_CACHE_SIZE_MEDIUM = 128, + THUMBNAIL_CACHE_SIZE_SMALLEST = 128 +} ThumbnailCacheSize; + + +static gpointer event_directory_item_parent_class = NULL; +extern EventSourceCollection* event_global; +extern Scaling event_directory_item_squared_scaling; +Scaling event_directory_item_squared_scaling = {0}; + +GType data_object_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +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 data_view_get_type (void) G_GNUC_CONST; +GType data_source_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 dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType event_directory_item_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +#define EVENT_DIRECTORY_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItemPrivate)) +enum { + EVENT_DIRECTORY_ITEM_DUMMY_PROPERTY +}; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType event_source_collection_get_type (void) G_GNUC_CONST; +static void event_directory_item_on_events_altered (EventDirectoryItem* self, GeeMap* map); +static void _event_directory_item_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void scaling_to_fill_viewport (Dimensions* viewport, Scaling* result); +static gint event_directory_item_get_CROPPED_SCALE (void); +void dimensions_init (Dimensions *self, gint width, gint height); +EventDirectoryItem* event_directory_item_new (Event* event); +EventDirectoryItem* event_directory_item_construct (GType object_type, Event* event); +static gchar* event_directory_item_get_formatted_title (Event* event); +gchar* event_source_get_comment (EventSource* self); +CheckerboardItem* checkerboard_item_construct (GType object_type, ThumbnailSource* source, Dimensions* initial_pixbuf_dim, const gchar* title, const gchar* comment, gboolean marked_up, PangoAlignment alignment); +GType media_source_get_type (void) G_GNUC_CONST; +static void event_directory_item_get_paul_lynde_rect (MediaSource* source, GdkRectangle* result); +MediaSource* event_get_primary_source (Event* self); +void checkerboard_item_clear_image (CheckerboardItem* self, Dimensions* dim); +void dimensions_for_rectangle (GdkRectangle* rect, Dimensions* result); +void scaling_get_scaled_dimensions (Scaling *self, Dimensions* original, Dimensions* result); +GType photo_exception_get_type (void) G_GNUC_CONST; +void media_source_get_dimensions (MediaSource* self, PhotoException disallowed_steps, Dimensions* result); +static GdkPixbuf* event_directory_item_get_paul_lynde (MediaSource* media, GdkRectangle* paul_lynde, GError** error); +GdkPixbuf* media_source_get_preview_pixbuf (MediaSource* self, Scaling* scaling, GError** error); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GdkPixbuf* photo_source_get_pixbuf (PhotoSource* self, Scaling* scaling, GError** error); +void clamp_rectangle (GdkRectangle* original, Dimensions* max, GdkRectangle* result); +gboolean media_source_collection_has_photo (GeeCollection* media); +GeeCollection* event_source_get_media (EventSource* self); +gboolean media_source_collection_has_video (GeeCollection* media); +gint event_source_get_media_count (EventSource* self); +gchar* event_get_formatted_daterange (Event* self); +gchar* data_object_get_name (DataObject* self); +gchar* guarded_markup_escape_text (const gchar* plain); +static void event_directory_item_real_exposed (CheckerboardItem* base); +gboolean checkerboard_item_is_exposed (CheckerboardItem* self); +void checkerboard_item_set_image (CheckerboardItem* self, GdkPixbuf* pixbuf); +gchar* data_object_to_string (DataObject* self); +static void event_directory_item_update_comment (EventDirectoryItem* self, gboolean init); +void checkerboard_item_exposed (CheckerboardItem* self); +static void event_directory_item_real_unexposed (CheckerboardItem* base); +void checkerboard_item_unexposed (CheckerboardItem* self); +void checkerboard_item_set_title (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +static void event_directory_item_real_thumbnail_altered (ThumbnailView* base); +static void event_directory_item_real_paint_shadow (CheckerboardItem* base, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); +void checkerboard_item_paint_shadow (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); +static void event_directory_item_real_paint_border (CheckerboardItem* base, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); +void checkerboard_item_get_border_dimensions (Dimensions* object_dim, gint border_width, Dimensions* result); +void checkerboard_item_get_border_origin (GdkPoint* object_origin, gint border_width, GdkPoint* result); +void draw_rounded_corners_filled (cairo_t* ctx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion); +static void event_directory_item_real_paint_image (CheckerboardItem* base, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); +void context_rounded_corners (cairo_t* cx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion); +gboolean is_string_empty (const gchar* s); +void checkerboard_item_clear_comment (CheckerboardItem* self); +void checkerboard_item_set_comment (CheckerboardItem* self, const gchar* text, gboolean marked_up, PangoAlignment alignment); +GType thumbnail_cache_size_get_type (void) G_GNUC_CONST; +gint thumbnail_cache_size_get_scale (ThumbnailCacheSize self); +static void event_directory_item_finalize (GObject* obj); +static void _vala_event_directory_item_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); + + +static void _event_directory_item_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 39 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + event_directory_item_on_events_altered ((EventDirectoryItem*) self, items); +#line 457 "EventDirectoryItem.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return self ? g_object_ref (self) : NULL; +#line 464 "EventDirectoryItem.c" +} + + +EventDirectoryItem* event_directory_item_construct (GType object_type, Event* event) { + EventDirectoryItem * self = NULL; + Event* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; + Event* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + Event* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + Event* _tmp12_ = NULL; + Event* _tmp13_ = NULL; + Event* _tmp14_ = NULL; + MediaSource* _tmp15_ = NULL; + MediaSource* _tmp16_ = NULL; + GdkRectangle _tmp17_ = {0}; + GdkRectangle _tmp18_ = {0}; + Dimensions _tmp19_ = {0}; + EventSourceCollection* _tmp20_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_val_if_fail (IS_EVENT (event), NULL); +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = event; +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = event_directory_item_get_CROPPED_SCALE (); +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = event_directory_item_get_CROPPED_SCALE (); +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = _tmp3_; +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_init (&_tmp5_, _tmp2_, _tmp4_); +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = event; +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = event_directory_item_get_formatted_title (_tmp6_); +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp8_ = _tmp7_; +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp9_ = event; +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp10_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_EVENT_SOURCE, EventSource)); +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp11_ = _tmp10_; +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self = (EventDirectoryItem*) checkerboard_item_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource), &_tmp5_, _tmp8_, _tmp11_, TRUE, PANGO_ALIGN_CENTER); +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp11_); +#line 23 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp8_); +#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp12_ = event; +#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (self->event); +#line 26 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self->event = _tmp13_; +#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp14_ = event; +#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp15_ = event_get_primary_source (_tmp14_); +#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp16_ = _tmp15_; +#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + event_directory_item_get_paul_lynde_rect (_tmp16_, &_tmp17_); +#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self->priv->paul_lynde = _tmp17_; +#line 29 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (_tmp16_); +#line 32 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp18_ = self->priv->paul_lynde; +#line 32 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_for_rectangle (&_tmp18_, &_tmp19_); +#line 32 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_clear_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), &_tmp19_); +#line 35 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp20_ = event_global; +#line 35 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _event_directory_item_on_events_altered_data_collection_items_altered, self, 0); +#line 22 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return self; +#line 555 "EventDirectoryItem.c" +} + + +EventDirectoryItem* event_directory_item_new (Event* event) { +#line 22 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return event_directory_item_construct (TYPE_EVENT_DIRECTORY_ITEM, event); +#line 562 "EventDirectoryItem.c" +} + + +static void event_directory_item_get_paul_lynde_rect (MediaSource* source, GdkRectangle* result) { + Dimensions scaled = {0}; + MediaSource* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; + GdkRectangle paul_lynde = {0}; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + Dimensions _tmp10_ = {0}; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + Dimensions _tmp14_ = {0}; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + gint _tmp20_ = 0; +#line 43 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (IS_MEDIA_SOURCE (source)); +#line 44 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = source; +#line 44 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + media_source_get_dimensions (_tmp0_, PHOTO_EXCEPTION_NONE, &_tmp1_); +#line 44 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + scaling_get_scaled_dimensions (&event_directory_item_squared_scaling, &_tmp1_, &_tmp2_); +#line 44 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + scaled = _tmp2_; +#line 46 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + memset (&paul_lynde, 0, sizeof (GdkRectangle)); +#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = scaled; +#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = _tmp3_.width; +#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = event_directory_item_get_CROPPED_SCALE (); +#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = _tmp5_; +#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = scaled; +#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp8_ = _tmp7_.width; +#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp9_ = CLAMP (_tmp4_ - _tmp6_, 0, _tmp8_); +#line 47 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + paul_lynde.x = _tmp9_ / 2; +#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp10_ = scaled; +#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp11_ = _tmp10_.height; +#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp12_ = event_directory_item_get_CROPPED_SCALE (); +#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp13_ = _tmp12_; +#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp14_ = scaled; +#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp15_ = _tmp14_.height; +#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp16_ = CLAMP (_tmp11_ - _tmp13_, 0, _tmp15_); +#line 48 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + paul_lynde.y = _tmp16_ / 2; +#line 49 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp17_ = event_directory_item_get_CROPPED_SCALE (); +#line 49 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp18_ = _tmp17_; +#line 49 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + paul_lynde.width = _tmp18_; +#line 50 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp19_ = event_directory_item_get_CROPPED_SCALE (); +#line 50 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp20_ = _tmp19_; +#line 50 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + paul_lynde.height = _tmp20_; +#line 52 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + *result = paul_lynde; +#line 52 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return; +#line 650 "EventDirectoryItem.c" +} + + +static GdkPixbuf* event_directory_item_get_paul_lynde (MediaSource* media, GdkRectangle* paul_lynde, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* pixbuf = NULL; + MediaSource* _tmp0_ = NULL; + Scaling _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + Dimensions thumbnail_dimensions = {0}; + GdkPixbuf* _tmp3_ = NULL; + Dimensions _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + Dimensions _tmp6_ = {0}; + gint _tmp7_ = 0; + GdkRectangle _tmp8_ = {0}; + gint _tmp9_ = 0; + GdkRectangle _tmp23_ = {0}; + Dimensions _tmp24_ = {0}; + GdkRectangle _tmp25_ = {0}; + GdkPixbuf* _tmp26_ = NULL; + GdkRectangle _tmp27_ = {0}; + gint _tmp28_ = 0; + GdkRectangle _tmp29_ = {0}; + gint _tmp30_ = 0; + GdkRectangle _tmp31_ = {0}; + gint _tmp32_ = 0; + GdkRectangle _tmp33_ = {0}; + gint _tmp34_ = 0; + GdkPixbuf* _tmp35_ = NULL; + GError * _inner_error_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (media), NULL); +#line 56 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_val_if_fail (paul_lynde != NULL, NULL); +#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = media; +#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = event_directory_item_squared_scaling; +#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = media_source_get_preview_pixbuf (_tmp0_, &_tmp1_, &_inner_error_); +#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + pixbuf = _tmp2_; +#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_propagate_error (error, _inner_error_); +#line 57 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return NULL; +#line 700 "EventDirectoryItem.c" + } +#line 59 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = pixbuf; +#line 59 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_for_pixbuf (_tmp3_, &_tmp4_); +#line 59 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + thumbnail_dimensions = _tmp4_; +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = thumbnail_dimensions; +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = _tmp6_.width; +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp8_ = *paul_lynde; +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp9_ = _tmp8_.width; +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp7_ > (2 * _tmp9_)) { +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = TRUE; +#line 720 "EventDirectoryItem.c" + } else { + Dimensions _tmp10_ = {0}; + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp10_ = thumbnail_dimensions; +#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp11_ = _tmp10_.height; +#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp12_ = *paul_lynde; +#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp13_ = _tmp12_.height; +#line 62 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = _tmp11_ > (_tmp13_ * 2); +#line 736 "EventDirectoryItem.c" + } +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp5_) { +#line 740 "EventDirectoryItem.c" + LibraryPhoto* photo = NULL; + MediaSource* _tmp14_ = NULL; + LibraryPhoto* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; + LibraryPhoto* _tmp17_ = NULL; + Scaling _tmp18_ = {0}; + GdkPixbuf* _tmp19_ = NULL; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + Dimensions _tmp22_ = {0}; +#line 63 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp14_ = media; +#line 63 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 63 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + photo = _tmp15_; +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp17_ = photo; +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp18_ = event_directory_item_squared_scaling; +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp19_ = photo_source_get_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_PHOTO_SOURCE, PhotoSource), &_tmp18_, &_inner_error_); +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp16_ = _tmp19_; +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_propagate_error (error, _inner_error_); +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (photo); +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (pixbuf); +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return NULL; +#line 775 "EventDirectoryItem.c" + } +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp20_ = _tmp16_; +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp16_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (pixbuf); +#line 64 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + pixbuf = _tmp20_; +#line 65 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp21_ = pixbuf; +#line 65 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_for_pixbuf (_tmp21_, &_tmp22_); +#line 65 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + thumbnail_dimensions = _tmp22_; +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (_tmp16_); +#line 61 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (photo); +#line 795 "EventDirectoryItem.c" + } +#line 69 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp23_ = *paul_lynde; +#line 69 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp24_ = thumbnail_dimensions; +#line 69 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + clamp_rectangle (&_tmp23_, &_tmp24_, &_tmp25_); +#line 69 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + *paul_lynde = _tmp25_; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp26_ = pixbuf; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp27_ = *paul_lynde; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp28_ = _tmp27_.x; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp29_ = *paul_lynde; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp30_ = _tmp29_.y; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp31_ = *paul_lynde; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp32_ = _tmp31_.width; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp33_ = *paul_lynde; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp34_ = _tmp33_.height; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp35_ = gdk_pixbuf_new_subpixbuf (_tmp26_, _tmp28_, _tmp30_, _tmp32_, _tmp34_); +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + result = _tmp35_; +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (pixbuf); +#line 72 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return result; +#line 831 "EventDirectoryItem.c" +} + + +static gchar* event_directory_item_get_formatted_title (Event* event) { + gchar* result = NULL; + gboolean has_photos = FALSE; + Event* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean has_videos = FALSE; + Event* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + gint count = 0; + Event* _tmp10_ = NULL; + gint _tmp11_ = 0; + gchar* count_text = NULL; + gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + gchar* daterange = NULL; + Event* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* name = NULL; + Event* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + const gchar* _tmp34_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_val_if_fail (IS_EVENT (event), NULL); +#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = event; +#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource)); +#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = _tmp1_; +#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = media_source_collection_has_photo (_tmp2_); +#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = _tmp3_; +#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (_tmp2_); +#line 77 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + has_photos = _tmp4_; +#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = event; +#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = event_source_get_media (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_EVENT_SOURCE, EventSource)); +#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = _tmp6_; +#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp8_ = media_source_collection_has_video (_tmp7_); +#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp9_ = _tmp8_; +#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (_tmp7_); +#line 78 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + has_videos = _tmp9_; +#line 80 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp10_ = event; +#line 80 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp11_ = event_source_get_media_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_EVENT_SOURCE, EventSource)); +#line 80 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + count = _tmp11_; +#line 81 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp12_ = g_strdup (""); +#line 81 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + count_text = _tmp12_; +#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp14_ = has_photos; +#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp14_) { +#line 908 "EventDirectoryItem.c" + gboolean _tmp15_ = FALSE; +#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp15_ = has_videos; +#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp13_ = _tmp15_; +#line 914 "EventDirectoryItem.c" + } else { +#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp13_ = FALSE; +#line 918 "EventDirectoryItem.c" + } +#line 82 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp13_) { +#line 922 "EventDirectoryItem.c" + gint _tmp16_ = 0; + const gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; + gchar* _tmp19_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp16_ = count; +#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp17_ = ngettext ("%d Photo/Video", "%d Photos/Videos", (gulong) _tmp16_); +#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp18_ = count; +#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp19_ = g_strdup_printf (_tmp17_, _tmp18_); +#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (count_text); +#line 83 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + count_text = _tmp19_; +#line 939 "EventDirectoryItem.c" + } else { + gboolean _tmp20_ = FALSE; +#line 84 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp20_ = has_videos; +#line 84 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp20_) { +#line 946 "EventDirectoryItem.c" + gint _tmp21_ = 0; + const gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + gchar* _tmp24_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp21_ = count; +#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp22_ = ngettext ("%d Video", "%d Videos", (gulong) _tmp21_); +#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp23_ = count; +#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp24_ = g_strdup_printf (_tmp22_, _tmp23_); +#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (count_text); +#line 85 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + count_text = _tmp24_; +#line 963 "EventDirectoryItem.c" + } else { + gint _tmp25_ = 0; + const gchar* _tmp26_ = NULL; + gint _tmp27_ = 0; + gchar* _tmp28_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp25_ = count; +#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp26_ = ngettext ("%d Photo", "%d Photos", (gulong) _tmp25_); +#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp27_ = count; +#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp28_ = g_strdup_printf (_tmp26_, _tmp27_); +#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (count_text); +#line 87 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + count_text = _tmp28_; +#line 981 "EventDirectoryItem.c" + } + } +#line 89 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp29_ = event; +#line 89 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp30_ = event_get_formatted_daterange (_tmp29_); +#line 89 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + daterange = _tmp30_; +#line 90 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp31_ = event; +#line 90 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp32_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_DATA_OBJECT, DataObject)); +#line 90 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + name = _tmp32_; +#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp34_ = daterange; +#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp34_ == NULL) { +#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp33_ = TRUE; +#line 1002 "EventDirectoryItem.c" + } else { + const gchar* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; +#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp35_ = daterange; +#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp36_ = name; +#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp33_ = g_strcmp0 (_tmp35_, _tmp36_) == 0; +#line 1012 "EventDirectoryItem.c" + } +#line 94 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp33_) { +#line 1016 "EventDirectoryItem.c" + const gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp37_ = name; +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp38_ = guarded_markup_escape_text (_tmp37_); +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp39_ = _tmp38_; +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp40_ = count_text; +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp41_ = guarded_markup_escape_text (_tmp40_); +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp42_ = _tmp41_; +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp43_ = g_strdup_printf ("%s\n%s", _tmp39_, _tmp42_); +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp44_ = _tmp43_; +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp42_); +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp39_); +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + result = _tmp44_; +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (name); +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (daterange); +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (count_text); +#line 95 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return result; +#line 1055 "EventDirectoryItem.c" + } else { + const gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp45_ = name; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp46_ = guarded_markup_escape_text (_tmp45_); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp47_ = _tmp46_; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp48_ = count_text; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp49_ = guarded_markup_escape_text (_tmp48_); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp50_ = _tmp49_; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp51_ = daterange; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp52_ = guarded_markup_escape_text (_tmp51_); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp53_ = _tmp52_; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp54_ = g_strdup_printf ("%s\n%s\n%s", _tmp47_, _tmp50_, _tmp53_); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp55_ = _tmp54_; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp53_); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp50_); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp47_); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + result = _tmp55_; +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (name); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (daterange); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (count_text); +#line 98 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return result; +#line 1106 "EventDirectoryItem.c" + } +#line 76 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (name); +#line 76 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (daterange); +#line 76 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (count_text); +#line 1114 "EventDirectoryItem.c" +} + + +static void event_directory_item_real_exposed (CheckerboardItem* base) { + EventDirectoryItem * self; + gboolean _tmp0_ = FALSE; + GError * _inner_error_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 103 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = checkerboard_item_is_exposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 103 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp0_) { +#line 104 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return; +#line 1130 "EventDirectoryItem.c" + } + { + GdkPixbuf* _tmp1_ = NULL; + Event* _tmp2_ = NULL; + MediaSource* _tmp3_ = NULL; + MediaSource* _tmp4_ = NULL; + GdkRectangle _tmp5_ = {0}; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = self->event; +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = event_get_primary_source (_tmp2_); +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = _tmp3_; +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = self->priv->paul_lynde; +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = event_directory_item_get_paul_lynde (_tmp4_, &_tmp5_, &_inner_error_); +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = _tmp6_; +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (_tmp4_); +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = _tmp7_; +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1158 "EventDirectoryItem.c" + goto __catch49_g_error; + } +#line 107 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_set_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp1_); +#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (_tmp1_); +#line 1165 "EventDirectoryItem.c" + } + goto __finally49; + __catch49_g_error: + { + GError* err = NULL; + Event* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + err = _inner_error_; +#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _inner_error_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp8_ = self->event; +#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp9_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject)); +#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp10_ = _tmp9_; +#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp11_ = err; +#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp12_ = _tmp11_->message; +#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_critical ("EventDirectoryItem.vala:109: Unable to fetch preview for %s: %s", _tmp10_, _tmp12_); +#line 109 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp10_); +#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_error_free0 (err); +#line 1196 "EventDirectoryItem.c" + } + __finally49: +#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.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 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_clear_error (&_inner_error_); +#line 106 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return; +#line 1207 "EventDirectoryItem.c" + } +#line 112 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + event_directory_item_update_comment (self, FALSE); +#line 114 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + CHECKERBOARD_ITEM_CLASS (event_directory_item_parent_class)->exposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1213 "EventDirectoryItem.c" +} + + +static void event_directory_item_real_unexposed (CheckerboardItem* base) { + EventDirectoryItem * self; + gboolean _tmp0_ = FALSE; + GdkRectangle _tmp1_ = {0}; + Dimensions _tmp2_ = {0}; +#line 117 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 118 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = checkerboard_item_is_exposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 118 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (!_tmp0_) { +#line 119 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return; +#line 1230 "EventDirectoryItem.c" + } +#line 121 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = self->priv->paul_lynde; +#line 121 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_for_rectangle (&_tmp1_, &_tmp2_); +#line 121 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_clear_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), &_tmp2_); +#line 123 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + CHECKERBOARD_ITEM_CLASS (event_directory_item_parent_class)->unexposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1240 "EventDirectoryItem.c" +} + + +static void event_directory_item_on_events_altered (EventDirectoryItem* self, GeeMap* map) { + GeeMap* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 126 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (IS_EVENT_DIRECTORY_ITEM (self)); +#line 126 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 127 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + event_directory_item_update_comment (self, FALSE); +#line 128 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = map; +#line 128 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = self->event; +#line 128 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 128 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp2_) { +#line 1262 "EventDirectoryItem.c" + Event* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = self->event; +#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = event_directory_item_get_formatted_title (_tmp3_); +#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = _tmp4_; +#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp5_, TRUE, PANGO_ALIGN_CENTER); +#line 129 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp5_); +#line 1276 "EventDirectoryItem.c" + } +} + + +static void event_directory_item_real_thumbnail_altered (ThumbnailView* base) { + EventDirectoryItem * self; + MediaSource* media = NULL; + Event* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + GdkRectangle _tmp3_ = {0}; + gboolean _tmp4_ = FALSE; + GError * _inner_error_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 133 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = self->event; +#line 133 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = event_get_primary_source (_tmp0_); +#line 133 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + media = _tmp1_; +#line 136 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = media; +#line 136 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + event_directory_item_get_paul_lynde_rect (_tmp2_, &_tmp3_); +#line 136 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self->priv->paul_lynde = _tmp3_; +#line 138 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = checkerboard_item_is_exposed (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 138 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp4_) { +#line 1308 "EventDirectoryItem.c" + { + GdkPixbuf* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; + GdkRectangle _tmp7_ = {0}; + GdkPixbuf* _tmp8_ = NULL; +#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = media; +#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = self->priv->paul_lynde; +#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp8_ = event_directory_item_get_paul_lynde (_tmp6_, &_tmp7_, &_inner_error_); +#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = _tmp8_; +#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1324 "EventDirectoryItem.c" + goto __catch50_g_error; + } +#line 140 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_set_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp5_); +#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (_tmp5_); +#line 1331 "EventDirectoryItem.c" + } + goto __finally50; + __catch50_g_error: + { + GError* err = NULL; + Event* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + err = _inner_error_; +#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _inner_error_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp9_ = self->event; +#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject)); +#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp11_ = _tmp10_; +#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp12_ = err; +#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp13_ = _tmp12_->message; +#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_critical ("EventDirectoryItem.vala:142: Unable to fetch preview for %s: %s", _tmp11_, _tmp13_); +#line 142 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (_tmp11_); +#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_error_free0 (err); +#line 1362 "EventDirectoryItem.c" + } + __finally50: +#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (media); +#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.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 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_clear_error (&_inner_error_); +#line 139 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return; +#line 1375 "EventDirectoryItem.c" + } + } else { + GdkRectangle _tmp14_ = {0}; + Dimensions _tmp15_ = {0}; +#line 145 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp14_ = self->priv->paul_lynde; +#line 145 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_for_rectangle (&_tmp14_, &_tmp15_); +#line 145 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_clear_image (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), &_tmp15_); +#line 1386 "EventDirectoryItem.c" + } +#line 148 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + THUMBNAIL_VIEW_CLASS (event_directory_item_parent_class)->thumbnail_altered (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), TYPE_THUMBNAIL_VIEW, ThumbnailView)); +#line 132 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (media); +#line 1392 "EventDirectoryItem.c" +} + + +static void event_directory_item_real_paint_shadow (CheckerboardItem* base, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha) { + EventDirectoryItem * self; + Dimensions altered = {0}; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + cairo_t* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + GdkPoint _tmp6_ = {0}; + gfloat _tmp7_ = 0.0F; +#line 151 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 151 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (ctx != NULL); +#line 151 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (dimensions != NULL); +#line 151 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (origin != NULL); +#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = *dimensions; +#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = _tmp0_.width; +#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = *dimensions; +#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = _tmp2_.height; +#line 153 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_init (&altered, _tmp1_ - 25, _tmp3_ - 25); +#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = ctx; +#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = altered; +#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = *origin; +#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = initial_alpha; +#line 154 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + CHECKERBOARD_ITEM_CLASS (event_directory_item_parent_class)->paint_shadow (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp4_, &_tmp5_, &_tmp6_, 36, _tmp7_); +#line 1435 "EventDirectoryItem.c" +} + + +static void event_directory_item_real_paint_border (CheckerboardItem* base, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width) { + EventDirectoryItem * self; + Dimensions dimensions = {0}; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + GdkPoint origin = {0}; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + cairo_t* _tmp6_ = NULL; + Dimensions _tmp7_ = {0}; + GdkPoint _tmp8_ = {0}; +#line 157 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 157 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (ctx != NULL); +#line 157 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (object_dimensions != NULL); +#line 157 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (object_origin != NULL); +#line 159 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = *object_dimensions; +#line 159 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = border_width; +#line 159 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_get_border_dimensions (&_tmp0_, _tmp1_, &_tmp2_); +#line 159 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions = _tmp2_; +#line 160 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = *object_origin; +#line 160 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = border_width; +#line 160 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_get_border_origin (&_tmp3_, _tmp4_, &_tmp5_); +#line 160 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + origin = _tmp5_; +#line 162 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = ctx; +#line 162 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = dimensions; +#line 162 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp8_ = origin; +#line 162 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + draw_rounded_corners_filled (_tmp6_, &_tmp7_, &_tmp8_, 6.0); +#line 1484 "EventDirectoryItem.c" +} + + +static void event_directory_item_real_paint_image (CheckerboardItem* base, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin) { + EventDirectoryItem * self; + Dimensions dimensions = {0}; + GdkPixbuf* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + cairo_t* _tmp7_ = NULL; + Dimensions _tmp8_ = {0}; + GdkPoint _tmp9_ = {0}; + cairo_t* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GdkPoint _tmp12_ = {0}; + gint _tmp13_ = 0; + GdkPoint _tmp14_ = {0}; + gint _tmp15_ = 0; + cairo_t* _tmp16_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 165 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (ctx != NULL); +#line 165 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 165 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (origin != NULL); +#line 167 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = pixbuf; +#line 167 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_for_pixbuf (_tmp0_, &_tmp1_); +#line 167 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions = _tmp1_; +#line 169 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = pixbuf; +#line 169 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = gdk_pixbuf_get_has_alpha (_tmp2_); +#line 169 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp3_) { +#line 1525 "EventDirectoryItem.c" + cairo_t* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + GdkPoint _tmp6_ = {0}; +#line 170 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = ctx; +#line 170 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = dimensions; +#line 170 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp6_ = *origin; +#line 170 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + draw_rounded_corners_filled (_tmp4_, &_tmp5_, &_tmp6_, 6.0); +#line 1537 "EventDirectoryItem.c" + } +#line 173 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp7_ = ctx; +#line 173 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp8_ = dimensions; +#line 173 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp9_ = *origin; +#line 173 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + context_rounded_corners (_tmp7_, &_tmp8_, &_tmp9_, 6.0); +#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp10_ = ctx; +#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp11_ = pixbuf; +#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp12_ = *origin; +#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp13_ = _tmp12_.x; +#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp14_ = *origin; +#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp15_ = _tmp14_.y; +#line 174 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + gdk_cairo_set_source_pixbuf (_tmp10_, _tmp11_, (gdouble) _tmp13_, (gdouble) _tmp15_); +#line 175 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp16_ = ctx; +#line 175 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + cairo_paint (_tmp16_); +#line 1565 "EventDirectoryItem.c" +} + + +static void event_directory_item_update_comment (EventDirectoryItem* self, gboolean init) { + gchar* comment = NULL; + Event* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 178 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_return_if_fail (IS_EVENT_DIRECTORY_ITEM (self)); +#line 179 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = self->event; +#line 179 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_SOURCE, EventSource)); +#line 179 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + comment = _tmp1_; +#line 180 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = comment; +#line 180 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 180 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (_tmp3_) { +#line 181 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_clear_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem)); +#line 1591 "EventDirectoryItem.c" + } else { + gboolean _tmp4_ = FALSE; +#line 182 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp4_ = init; +#line 182 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + if (!_tmp4_) { +#line 1598 "EventDirectoryItem.c" + const gchar* _tmp5_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp5_ = comment; +#line 183 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), _tmp5_, FALSE, PANGO_ALIGN_LEFT); +#line 1604 "EventDirectoryItem.c" + } else { +#line 185 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + checkerboard_item_set_comment (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_ITEM, CheckerboardItem), "", FALSE, PANGO_ALIGN_LEFT); +#line 1608 "EventDirectoryItem.c" + } + } +#line 178 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_free0 (comment); +#line 1613 "EventDirectoryItem.c" +} + + +static gint event_directory_item_get_CROPPED_SCALE (void) { + gint result; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_MEDIUM); +#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_BIG); +#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = thumbnail_cache_size_get_scale (THUMBNAIL_CACHE_SIZE_MEDIUM); +#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + result = _tmp0_ + ((_tmp1_ - _tmp2_) / 2); +#line 10 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + return result; +#line 1632 "EventDirectoryItem.c" +} + + +static void event_directory_item_class_init (EventDirectoryItemClass * klass) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + Dimensions _tmp4_ = {0}; + Scaling _tmp5_ = {0}; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + event_directory_item_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_type_class_add_private (klass, sizeof (EventDirectoryItemPrivate)); +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + ((CheckerboardItemClass *) klass)->exposed = event_directory_item_real_exposed; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + ((CheckerboardItemClass *) klass)->unexposed = event_directory_item_real_unexposed; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + ((ThumbnailViewClass *) klass)->thumbnail_altered = event_directory_item_real_thumbnail_altered; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + ((CheckerboardItemClass *) klass)->paint_shadow = event_directory_item_real_paint_shadow; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + ((CheckerboardItemClass *) klass)->paint_border = event_directory_item_real_paint_border; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + ((CheckerboardItemClass *) klass)->paint_image = event_directory_item_real_paint_image; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_event_directory_item_get_property; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + G_OBJECT_CLASS (klass)->finalize = event_directory_item_finalize; +#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = event_directory_item_get_CROPPED_SCALE (); +#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp1_ = _tmp0_; +#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp2_ = event_directory_item_get_CROPPED_SCALE (); +#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp3_ = _tmp2_; +#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + dimensions_init (&_tmp4_, _tmp1_, _tmp3_); +#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + scaling_to_fill_viewport (&_tmp4_, &_tmp5_); +#line 15 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + event_directory_item_squared_scaling = _tmp5_; +#line 1677 "EventDirectoryItem.c" +} + + +static void event_directory_item_instance_init (EventDirectoryItem * self) { +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self->priv = EVENT_DIRECTORY_ITEM_GET_PRIVATE (self); +#line 20 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + memset (&self->priv->paul_lynde, 0, sizeof (GdkRectangle)); +#line 1686 "EventDirectoryItem.c" +} + + +static void event_directory_item_finalize (GObject* obj) { + EventDirectoryItem * self; + EventSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 39 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _tmp0_ = event_global; +#line 39 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 39 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _event_directory_item_on_events_altered_data_collection_items_altered, self); +#line 18 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + _g_object_unref0 (self->event); +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + G_OBJECT_CLASS (event_directory_item_parent_class)->finalize (obj); +#line 1706 "EventDirectoryItem.c" +} + + +GType event_directory_item_get_type (void) { + static volatile gsize event_directory_item_type_id__volatile = 0; + if (g_once_init_enter (&event_directory_item_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventDirectoryItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_directory_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventDirectoryItem), 0, (GInstanceInitFunc) event_directory_item_instance_init, NULL }; + GType event_directory_item_type_id; + event_directory_item_type_id = g_type_register_static (TYPE_CHECKERBOARD_ITEM, "EventDirectoryItem", &g_define_type_info, 0); + g_once_init_leave (&event_directory_item_type_id__volatile, event_directory_item_type_id); + } + return event_directory_item_type_id__volatile; +} + + +static void _vala_event_directory_item_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + EventDirectoryItem * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + switch (property_id) { +#line 1727 "EventDirectoryItem.c" + default: +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 7 "/home/jens/Source/shotwell/src/events/EventDirectoryItem.vala" + break; +#line 1733 "EventDirectoryItem.c" + } +} + + + diff --git a/src/events/EventPage.c b/src/events/EventPage.c new file mode 100644 index 0000000..afe2a26 --- /dev/null +++ b/src/events/EventPage.c @@ -0,0 +1,1967 @@ +/* EventPage.c generated by valac 0.32.1, the Vala compiler + * generated from EventPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#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; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#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_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; +typedef struct _CollectionPagePrivate CollectionPagePrivate; + +#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; +typedef struct _EventPagePrivate EventPagePrivate; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_EVENT_SOURCE (event_source_get_type ()) +#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource)) +#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass)) +#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE)) +#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE)) +#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass)) + +typedef struct _EventSource EventSource; +typedef struct _EventSourceClass EventSourceClass; + +#define TYPE_EVENT (event_get_type ()) +#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event)) +#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass)) +#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT)) +#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT)) +#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass)) + +typedef struct _Event Event; +typedef struct _EventClass EventClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ()) +#define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection)) +#define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) +#define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION)) +#define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION)) +#define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) + +typedef struct _EventSourceCollection EventSourceCollection; +typedef struct _EventSourceCollectionClass EventSourceCollectionClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (multi_text_entry_dialog_mediator_get_type ()) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) + +typedef struct _MultiTextEntryDialogMediator MultiTextEntryDialogMediator; +typedef struct _MultiTextEntryDialogMediatorClass MultiTextEntryDialogMediatorClass; + +#define TYPE_EDIT_COMMENT_DIALOG (edit_comment_dialog_get_type ()) +#define EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialog)) +#define EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) +#define IS_EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_DIALOG)) +#define IS_EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_DIALOG)) +#define EDIT_COMMENT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) + +typedef struct _EditCommentDialog EditCommentDialog; +typedef struct _EditCommentDialogClass EditCommentDialogClass; +#define _multi_text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (multi_text_entry_dialog_mediator_unref (var), NULL))) + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SIMPLE_PROXYABLE_COMMAND (simple_proxyable_command_get_type ()) +#define SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand)) +#define SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) +#define IS_SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND)) +#define IS_SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND)) +#define SIMPLE_PROXYABLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) + +typedef struct _SimpleProxyableCommand SimpleProxyableCommand; +typedef struct _SimpleProxyableCommandClass SimpleProxyableCommandClass; + +#define TYPE_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; + +#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_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_APP_WINDOW (app_window_get_type ()) +#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow)) +#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass)) +#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW)) +#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW)) +#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass)) + +typedef struct _AppWindow AppWindow; +typedef struct _AppWindowClass AppWindowClass; + +#define TYPE_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_NO_EVENT_PAGE (no_event_page_get_type ()) +#define NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NO_EVENT_PAGE, NoEventPage)) +#define NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NO_EVENT_PAGE, NoEventPageClass)) +#define IS_NO_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NO_EVENT_PAGE)) +#define IS_NO_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NO_EVENT_PAGE)) +#define NO_EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NO_EVENT_PAGE, NoEventPageClass)) + +typedef struct _NoEventPage NoEventPage; +typedef struct _NoEventPageClass NoEventPageClass; +typedef struct _NoEventPagePrivate NoEventPagePrivate; + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ()) +#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager)) +#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) +#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER)) +#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER)) +#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) + +typedef struct _CollectionViewManager CollectionViewManager; +typedef struct _CollectionViewManagerClass CollectionViewManagerClass; + +#define NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER (no_event_page_no_event_view_manager_get_type ()) +#define NO_EVENT_PAGE_NO_EVENT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, NoEventPageNoEventViewManager)) +#define NO_EVENT_PAGE_NO_EVENT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, NoEventPageNoEventViewManagerClass)) +#define NO_EVENT_PAGE_IS_NO_EVENT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER)) +#define NO_EVENT_PAGE_IS_NO_EVENT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER)) +#define NO_EVENT_PAGE_NO_EVENT_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, NoEventPageNoEventViewManagerClass)) + +typedef struct _NoEventPageNoEventViewManager NoEventPageNoEventViewManager; +typedef struct _NoEventPageNoEventViewManagerClass NoEventPageNoEventViewManagerClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) + +#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 _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) +typedef struct _ViewManagerPrivate ViewManagerPrivate; +typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate; +typedef struct _NoEventPageNoEventViewManagerPrivate NoEventPageNoEventViewManagerPrivate; + +#define TYPE_EVENT_ID (event_id_get_type ()) +typedef struct _EventID EventID; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _CollectionPage { + MediaPage parent_instance; + CollectionPagePrivate * priv; +}; + +struct _CollectionPageClass { + MediaPageClass parent_class; +}; + +struct _EventPage { + CollectionPage parent_instance; + EventPagePrivate * priv; +}; + +struct _EventPageClass { + CollectionPageClass parent_class; +}; + +struct _EventPagePrivate { + Event* page_event; +}; + +typedef DataView* (*CreateView) (DataSource* source, void* user_data); +struct _NoEventPage { + CollectionPage parent_instance; + NoEventPagePrivate * priv; +}; + +struct _NoEventPageClass { + CollectionPageClass parent_class; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _CollectionViewManager { + ViewManager parent_instance; + CollectionViewManagerPrivate * priv; +}; + +struct _CollectionViewManagerClass { + ViewManagerClass parent_class; +}; + +struct _NoEventPageNoEventViewManager { + CollectionViewManager parent_instance; + NoEventPageNoEventViewManagerPrivate * priv; +}; + +struct _NoEventPageNoEventViewManagerClass { + CollectionViewManagerClass parent_class; +}; + +struct _EventID { + gint64 id; +}; + + +static gpointer event_page_parent_class = NULL; +extern EventSourceCollection* event_global; +static gpointer no_event_page_parent_class = NULL; +static Alteration* no_event_page_no_event_page_alteration; +static Alteration* no_event_page_no_event_page_alteration = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +static gpointer no_event_page_no_event_view_manager_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +GType event_page_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +#define EVENT_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENT_PAGE, EventPagePrivate)) +enum { + EVENT_PAGE_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType event_source_collection_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void event_page_on_events_altered (EventPage* self, GeeMap* map); +static void _event_page_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +void view_collection_halt_mirroring (ViewCollection* self); +EventPage* event_page_new (Event* page_event); +EventPage* event_page_construct (GType object_type, Event* page_event); +gchar* data_object_get_name (DataObject* self); +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name); +void event_mirror_photos (Event* self, ViewCollection* view, CreateView mirroring_ctor, void* mirroring_ctor_target); +DataView* media_page_create_thumbnail (MediaPage* self, DataSource* source); +static DataView* _media_page_create_thumbnail_create_view (DataSource* source, gpointer self); +void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path); +Event* event_page_get_event (EventPage* self); +static gboolean event_page_real_on_app_key_pressed (Page* base, GdkEventKey* event); +gint view_collection_get_selected_count (ViewCollection* self); +gboolean page_on_app_key_pressed (Page* self, GdkEventKey* event); +static void event_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* event_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define RESOURCES_MAKE_PRIMARY "shotwell-make-primary" +#define TRANSLATABLE "translatable" +static void event_page_on_make_primary (EventPage* self); +static void _event_page_on_make_primary_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_MAKE_KEY_PHOTO_MENU _ ("Make _Key Photo for Event") +static void _vala_array_add130 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void event_page_on_rename (EventPage* self); +static void _event_page_on_rename_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_RENAME_EVENT_MENU _ ("Re_name Event...") +static void _vala_array_add131 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_EDIT_EVENT_COMMENT_MENU _ ("Edit Event _Comment...") +void media_page_on_edit_comment (MediaPage* self); +static void _media_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add132 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void event_page_real_init_actions (Page* base, gint selected_count, gint count); +void page_init_actions (Page* self, gint selected_count, gint count); +static void event_page_real_update_actions (Page* base, gint selected_count, gint count); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +void page_set_action_visible (Page* self, const gchar* name, gboolean visible); +void page_update_actions (Page* self, gint selected_count, gint count); +static void event_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_get_event_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void event_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by); +void configuration_facade_set_event_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +void page_set_page_name (Page* self, const gchar* page_name); +static void event_page_real_on_edit_comment (MediaPage* base); +gpointer multi_text_entry_dialog_mediator_ref (gpointer instance); +void multi_text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_multi_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_multi_text_entry_dialog_mediator (const GValue* value); +GType multi_text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType edit_comment_dialog_get_type (void) G_GNUC_CONST; +gchar* event_source_get_comment (EventSource* self); +EditCommentDialog* edit_comment_dialog_new (const gchar* comment, gboolean is_event); +EditCommentDialog* edit_comment_dialog_construct (GType object_type, const gchar* comment, gboolean is_event); +gchar* edit_comment_dialog_execute (EditCommentDialog* self); +GType command_get_type (void) G_GNUC_CONST; +GType page_command_get_type (void) G_GNUC_CONST; +GType simple_proxyable_command_get_type (void) G_GNUC_CONST; +GType edit_event_comment_command_get_type (void) G_GNUC_CONST; +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); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +void command_manager_execute (CommandManager* self, Command* command); +GType media_source_get_type (void) G_GNUC_CONST; +gboolean event_set_primary_source (Event* self, MediaSource* source); +DataView* view_collection_get_selected_at (ViewCollection* self, gint index); +DataSource* data_view_get_source (DataView* self); +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_rename_event_in_sidebar (LibraryWindow* self, Event* event); +static void event_page_finalize (GObject* obj); +GType no_event_page_get_type (void) G_GNUC_CONST; +enum { + NO_EVENT_PAGE_DUMMY_PROPERTY +}; +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +#define NO_EVENT_PAGE_NAME _ ("No Event") +NoEventPage* no_event_page_new (void); +NoEventPage* no_event_page_construct (GType object_type); +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +static NoEventPageNoEventViewManager* no_event_page_no_event_view_manager_new (NoEventPage* page); +static NoEventPageNoEventViewManager* no_event_page_no_event_view_manager_construct (GType object_type, NoEventPage* page); +GType collection_view_manager_get_type (void) G_GNUC_CONST; +static GType no_event_page_no_event_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +GType video_source_collection_get_type (void) G_GNUC_CONST; +static void no_event_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by); +static void no_event_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by); +enum { + NO_EVENT_PAGE_NO_EVENT_VIEW_MANAGER_DUMMY_PROPERTY +}; +CollectionViewManager* collection_view_manager_new (CollectionPage* page); +CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page); +static gboolean no_event_page_no_event_view_manager_real_include_in_view (ViewManager* base, DataSource* source); +GType event_id_get_type (void) G_GNUC_CONST; +EventID* event_id_dup (const EventID* self); +void event_id_free (EventID* self); +void media_source_get_event_id (MediaSource* self, EventID* result); +#define EVENT_ID_INVALID ((gint64) -1) +gboolean view_manager_include_in_view (ViewManager* self, DataSource* source); +static void no_event_page_finalize (GObject* obj); + + +static void _event_page_on_events_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 40 "/home/jens/Source/shotwell/src/events/EventPage.vala" + event_page_on_events_altered ((EventPage*) self, items); +#line 948 "EventPage.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return self ? g_object_ref (self) : NULL; +#line 955 "EventPage.c" +} + + +static DataView* _media_page_create_thumbnail_create_view (DataSource* source, gpointer self) { + DataView* result; + result = media_page_create_thumbnail ((MediaPage*) self, source); +#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return result; +#line 964 "EventPage.c" +} + + +EventPage* event_page_construct (GType object_type, Event* page_event) { + EventPage * self = NULL; + Event* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + Event* _tmp3_ = NULL; + Event* _tmp4_ = NULL; + Event* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + EventSourceCollection* _tmp8_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_val_if_fail (IS_EVENT (page_event), NULL); +#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = page_event; +#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = _tmp1_; +#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = (EventPage*) collection_page_construct (object_type, _tmp2_); +#line 11 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_free0 (_tmp2_); +#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = page_event; +#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (self->priv->page_event); +#line 13 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self->priv->page_event = _tmp4_; +#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_ = page_event; +#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp7_ = _tmp6_; +#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala" + event_mirror_photos (_tmp5_, _tmp7_, _media_page_create_thumbnail_create_view, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage)); +#line 14 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _data_collection_unref0 (_tmp7_); +#line 16 "/home/jens/Source/shotwell/src/events/EventPage.vala" + checkerboard_page_init_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/EventContextMenu"); +#line 18 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_ = event_global; +#line 18 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _event_page_on_events_altered_data_collection_items_altered, self, 0); +#line 10 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return self; +#line 1017 "EventPage.c" +} + + +EventPage* event_page_new (Event* page_event) { +#line 10 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return event_page_construct (TYPE_EVENT_PAGE, page_event); +#line 1024 "EventPage.c" +} + + +Event* event_page_get_event (EventPage* self) { + Event* result = NULL; + Event* _tmp0_ = NULL; + Event* _tmp1_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_val_if_fail (IS_EVENT_PAGE (self), NULL); +#line 22 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = self->priv->page_event; +#line 22 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 22 "/home/jens/Source/shotwell/src/events/EventPage.vala" + result = _tmp1_; +#line 22 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return result; +#line 1042 "EventPage.c" +} + + +static gboolean event_page_real_on_app_key_pressed (Page* base, GdkEventKey* event) { + EventPage * self; + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + GdkEventKey* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 25 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage); +#line 25 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 30 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = event; +#line 30 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _tmp0_->keyval; +#line 30 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 30 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (g_strcmp0 (_tmp2_, "F2") == 0) { +#line 1066 "EventPage.c" + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp4_ = _tmp3_; +#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_ = view_collection_get_selected_count (_tmp4_); +#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp6_ = _tmp5_ != 1; +#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _data_collection_unref0 (_tmp4_); +#line 31 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (_tmp6_) { +#line 32 "/home/jens/Source/shotwell/src/events/EventPage.vala" + result = TRUE; +#line 32 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return result; +#line 1087 "EventPage.c" + } + } +#line 36 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp7_ = event; +#line 36 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_ = PAGE_CLASS (event_page_parent_class)->on_app_key_pressed (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp7_); +#line 36 "/home/jens/Source/shotwell/src/events/EventPage.vala" + result = _tmp8_; +#line 36 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return result; +#line 1098 "EventPage.c" +} + + +static void event_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + EventPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage); +#line 44 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 45 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = ui_filenames; +#line 45 "/home/jens/Source/shotwell/src/events/EventPage.vala" + PAGE_CLASS (event_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_); +#line 47 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = ui_filenames; +#line 47 "/home/jens/Source/shotwell/src/events/EventPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "event.ui"); +#line 1118 "EventPage.c" +} + + +static void _event_page_on_make_primary_gtk_action_callback (GtkAction* action, gpointer self) { +#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala" + event_page_on_make_primary ((EventPage*) self); +#line 1125 "EventPage.c" +} + + +static void _vala_array_add130 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if ((*length) == (*size)) { +#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1136 "EventPage.c" + } +#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala" + (*array)[(*length)++] = *value; +#line 1140 "EventPage.c" +} + + +static void _event_page_on_rename_gtk_action_callback (GtkAction* action, gpointer self) { +#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala" + event_page_on_rename ((EventPage*) self); +#line 1147 "EventPage.c" +} + + +static void _vala_array_add131 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if ((*length) == (*size)) { +#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1158 "EventPage.c" + } +#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala" + (*array)[(*length)++] = *value; +#line 1162 "EventPage.c" +} + + +static void _media_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self) { +#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala" + media_page_on_edit_comment ((MediaPage*) self); +#line 1169 "EventPage.c" +} + + +static void _vala_array_add132 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if ((*length) == (*size)) { +#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1180 "EventPage.c" + } +#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala" + (*array)[(*length)++] = *value; +#line 1184 "EventPage.c" +} + + +static GtkActionEntry* event_page_real_init_collect_action_entries (Page* base, int* result_length1) { + EventPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* new_actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint new_actions_length1 = 0; + gint _new_actions_size_ = 0; + GtkActionEntry make_primary = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry rename = {0}; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry comment = {0}; + GtkActionEntry _tmp8_ = {0}; + GtkActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionEntry _tmp10_ = {0}; + GtkActionEntry* _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 50 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage); +#line 51 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = PAGE_CLASS (event_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), &_tmp0_); +#line 51 "/home/jens/Source/shotwell/src/events/EventPage.vala" + new_actions = _tmp1_; +#line 51 "/home/jens/Source/shotwell/src/events/EventPage.vala" + new_actions_length1 = _tmp0_; +#line 51 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _new_actions_size_ = new_actions_length1; +#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_.name = "MakePrimary"; +#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_.stock_id = RESOURCES_MAKE_PRIMARY; +#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_.accelerator = NULL; +#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_.callback = (GCallback) _event_page_on_make_primary_gtk_action_callback; +#line 53 "/home/jens/Source/shotwell/src/events/EventPage.vala" + make_primary = _tmp2_; +#line 55 "/home/jens/Source/shotwell/src/events/EventPage.vala" + make_primary.label = RESOURCES_MAKE_KEY_PHOTO_MENU; +#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = new_actions; +#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3__length1 = new_actions_length1; +#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp4_ = make_primary; +#line 56 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _vala_array_add130 (&new_actions, &new_actions_length1, &_new_actions_size_, &_tmp4_); +#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_.name = "Rename"; +#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_.stock_id = NULL; +#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_.accelerator = NULL; +#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_.callback = (GCallback) _event_page_on_rename_gtk_action_callback; +#line 58 "/home/jens/Source/shotwell/src/events/EventPage.vala" + rename = _tmp5_; +#line 59 "/home/jens/Source/shotwell/src/events/EventPage.vala" + rename.label = RESOURCES_RENAME_EVENT_MENU; +#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp6_ = new_actions; +#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp6__length1 = new_actions_length1; +#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp7_ = rename; +#line 60 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _vala_array_add131 (&new_actions, &new_actions_length1, &_new_actions_size_, &_tmp7_); +#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_.name = "EditEventComment"; +#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_.stock_id = NULL; +#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_.label = TRANSLATABLE; +#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_.accelerator = NULL; +#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_.tooltip = RESOURCES_EDIT_EVENT_COMMENT_MENU; +#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_.callback = (GCallback) _media_page_on_edit_comment_gtk_action_callback; +#line 62 "/home/jens/Source/shotwell/src/events/EventPage.vala" + comment = _tmp8_; +#line 64 "/home/jens/Source/shotwell/src/events/EventPage.vala" + comment.label = RESOURCES_EDIT_EVENT_COMMENT_MENU; +#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp9_ = new_actions; +#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp9__length1 = new_actions_length1; +#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp10_ = comment; +#line 65 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _vala_array_add132 (&new_actions, &new_actions_length1, &_new_actions_size_, &_tmp10_); +#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp11_ = new_actions; +#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp11__length1 = new_actions_length1; +#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (result_length1) { +#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *result_length1 = _tmp11__length1; +#line 1303 "EventPage.c" + } +#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala" + result = _tmp11_; +#line 67 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return result; +#line 1309 "EventPage.c" +} + + +static void event_page_real_init_actions (Page* base, gint selected_count, gint count) { + EventPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 70 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage); +#line 71 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = selected_count; +#line 71 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = count; +#line 71 "/home/jens/Source/shotwell/src/events/EventPage.vala" + PAGE_CLASS (event_page_parent_class)->init_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_, _tmp1_); +#line 1325 "EventPage.c" +} + + +static void event_page_real_update_actions (Page* base, gint selected_count, gint count) { + EventPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 74 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage); +#line 75 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = selected_count; +#line 75 "/home/jens/Source/shotwell/src/events/EventPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "MakePrimary", _tmp0_ == 1); +#line 78 "/home/jens/Source/shotwell/src/events/EventPage.vala" + page_set_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonJumpToEvent", FALSE); +#line 80 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = selected_count; +#line 80 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = count; +#line 80 "/home/jens/Source/shotwell/src/events/EventPage.vala" + PAGE_CLASS (event_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp1_, _tmp2_); +#line 84 "/home/jens/Source/shotwell/src/events/EventPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditEventComment", TRUE); +#line 1350 "EventPage.c" +} + + +static void event_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) { + EventPage * self; + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage); +#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _tmp0_; +#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala" + configuration_facade_get_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_); +#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _vala_sort_order = _tmp2_; +#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _vala_sort_by = _tmp3_; +#line 88 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (_tmp1_); +#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (sort_order) { +#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *sort_order = _vala_sort_order; +#line 1380 "EventPage.c" + } +#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (sort_by) { +#line 87 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *sort_by = _vala_sort_by; +#line 1386 "EventPage.c" + } +} + + +static void event_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) { + EventPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 91 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage); +#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _tmp0_; +#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = sort_order; +#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = sort_by; +#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala" + configuration_facade_set_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_); +#line 92 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (_tmp1_); +#line 1411 "EventPage.c" +} + + +static void event_page_on_events_altered (EventPage* self, GeeMap* map) { + GeeMap* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 95 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_if_fail (IS_EVENT_PAGE (self)); +#line 95 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 96 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = map; +#line 96 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = self->priv->page_event; +#line 96 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 96 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (_tmp2_) { +#line 1431 "EventPage.c" + Event* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = self->priv->page_event; +#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_ = _tmp4_; +#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala" + page_set_page_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp5_); +#line 97 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_free0 (_tmp5_); +#line 1445 "EventPage.c" + } +} + + +static void event_page_real_on_edit_comment (MediaPage* base) { + EventPage * self; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 100 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_PAGE, EventPage); +#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _tmp0_; +#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _data_collection_unref0 (_tmp1_); +#line 101 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (_tmp3_) { +#line 1470 "EventPage.c" + EditCommentDialog* edit_comment_dialog = NULL; + Event* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + EditCommentDialog* _tmp7_ = NULL; + EditCommentDialog* _tmp8_ = NULL; + gchar* new_comment = NULL; + EditCommentDialog* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + EditEventCommentCommand* command = NULL; + Event* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + EditEventCommentCommand* _tmp14_ = NULL; + CommandManager* _tmp15_ = NULL; + CommandManager* _tmp16_ = NULL; + EditEventCommentCommand* _tmp17_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp4_ = self->priv->page_event; +#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_EVENT_SOURCE, EventSource)); +#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp6_ = _tmp5_; +#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp7_ = edit_comment_dialog_new (_tmp6_, TRUE); +#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_ = _tmp7_; +#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_free0 (_tmp6_); +#line 102 "/home/jens/Source/shotwell/src/events/EventPage.vala" + edit_comment_dialog = _tmp8_; +#line 104 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp9_ = edit_comment_dialog; +#line 104 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp10_ = edit_comment_dialog_execute (_tmp9_); +#line 104 "/home/jens/Source/shotwell/src/events/EventPage.vala" + new_comment = _tmp10_; +#line 105 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp11_ = new_comment; +#line 105 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (_tmp11_ == NULL) { +#line 106 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_free0 (new_comment); +#line 106 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog); +#line 106 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return; +#line 1518 "EventPage.c" + } +#line 108 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp12_ = self->priv->page_event; +#line 108 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp13_ = new_comment; +#line 108 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp14_ = edit_event_comment_command_new (_tmp12_, _tmp13_); +#line 108 "/home/jens/Source/shotwell/src/events/EventPage.vala" + command = _tmp14_; +#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp15_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp16_ = _tmp15_; +#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp17_ = command; +#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala" + command_manager_execute (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_COMMAND, Command)); +#line 109 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _command_manager_unref0 (_tmp16_); +#line 110 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (command); +#line 110 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_free0 (new_comment); +#line 110 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog); +#line 110 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return; +#line 1546 "EventPage.c" + } +#line 113 "/home/jens/Source/shotwell/src/events/EventPage.vala" + MEDIA_PAGE_CLASS (event_page_parent_class)->on_edit_comment (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_MEDIA_PAGE, MediaPage)); +#line 1550 "EventPage.c" +} + + +static void event_page_on_make_primary (EventPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + Event* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + DataView* _tmp7_ = NULL; + DataView* _tmp8_ = NULL; + DataSource* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_if_fail (IS_EVENT_PAGE (self)); +#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _tmp0_; +#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _data_collection_unref0 (_tmp1_); +#line 117 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (_tmp3_) { +#line 118 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return; +#line 1582 "EventPage.c" + } +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp4_ = self->priv->page_event; +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp6_ = _tmp5_; +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp7_ = view_collection_get_selected_at (_tmp6_, 0); +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_ = _tmp7_; +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp9_ = data_view_get_source (_tmp8_); +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MEDIA_SOURCE, MediaSource); +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + event_set_primary_source (_tmp4_, _tmp10_); +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (_tmp10_); +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (_tmp8_); +#line 120 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _data_collection_unref0 (_tmp6_); +#line 1606 "EventPage.c" +} + + +static void event_page_on_rename (EventPage* self) { + LibraryWindow* _tmp0_ = NULL; + LibraryWindow* _tmp1_ = NULL; + Event* _tmp2_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_if_fail (IS_EVENT_PAGE (self)); +#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = library_window_get_app (); +#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _tmp0_; +#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = self->priv->page_event; +#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala" + library_window_rename_event_in_sidebar (_tmp1_, _tmp2_); +#line 124 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (_tmp1_); +#line 1626 "EventPage.c" +} + + +static void event_page_class_init (EventPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + event_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_type_class_add_private (klass, sizeof (EventPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((PageClass *) klass)->on_app_key_pressed = event_page_real_on_app_key_pressed; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = event_page_real_init_collect_ui_filenames; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((PageClass *) klass)->init_collect_action_entries = event_page_real_init_collect_action_entries; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((PageClass *) klass)->init_actions = event_page_real_init_actions; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((PageClass *) klass)->update_actions = event_page_real_update_actions; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = event_page_real_get_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = event_page_real_set_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((MediaPageClass *) klass)->on_edit_comment = event_page_real_on_edit_comment; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + G_OBJECT_CLASS (klass)->finalize = event_page_finalize; +#line 1653 "EventPage.c" +} + + +static void event_page_instance_init (EventPage * self) { +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self->priv = EVENT_PAGE_GET_PRIVATE (self); +#line 1660 "EventPage.c" +} + + +static void event_page_finalize (GObject* obj) { + EventPage * self; + EventSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT_PAGE, EventPage); +#line 40 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = event_global; +#line 40 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 40 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _event_page_on_events_altered_data_collection_items_altered, self); +#line 41 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 41 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = _tmp2_; +#line 41 "/home/jens/Source/shotwell/src/events/EventPage.vala" + view_collection_halt_mirroring (_tmp3_); +#line 41 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _data_collection_unref0 (_tmp3_); +#line 8 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (self->priv->page_event); +#line 7 "/home/jens/Source/shotwell/src/events/EventPage.vala" + G_OBJECT_CLASS (event_page_parent_class)->finalize (obj); +#line 1690 "EventPage.c" +} + + +GType event_page_get_type (void) { + static volatile gsize event_page_type_id__volatile = 0; + if (g_once_init_enter (&event_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventPage), 0, (GInstanceInitFunc) event_page_instance_init, NULL }; + GType event_page_type_id; + event_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "EventPage", &g_define_type_info, 0); + g_once_init_leave (&event_page_type_id__volatile, event_page_type_id); + } + return event_page_type_id__volatile; +} + + +NoEventPage* no_event_page_construct (GType object_type) { + NoEventPage * self = NULL; + ViewManager* filter = NULL; + NoEventPageNoEventViewManager* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + LibraryPhotoSourceCollection* _tmp3_ = NULL; + Alteration* _tmp4_ = NULL; + ViewCollectionMonitor* _tmp5_ = NULL; + ViewCollectionMonitor* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + VideoSourceCollection* _tmp9_ = NULL; + Alteration* _tmp10_ = NULL; + ViewCollectionMonitor* _tmp11_ = NULL; + ViewCollectionMonitor* _tmp12_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = (NoEventPage*) collection_page_construct (object_type, NO_EVENT_PAGE_NAME); +#line 149 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = no_event_page_no_event_view_manager_new (self); +#line 149 "/home/jens/Source/shotwell/src/events/EventPage.vala" + filter = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_MANAGER, ViewManager); +#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = _tmp1_; +#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = library_photo_global; +#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp4_ = no_event_page_no_event_page_alteration; +#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_ = view_collection_monitor_source_collection (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_SOURCE_COLLECTION, SourceCollection), filter, _tmp4_, NULL, NULL, NULL); +#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp6_ = _tmp5_; +#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _view_collection_monitor_unref0 (_tmp6_); +#line 150 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _data_collection_unref0 (_tmp2_); +#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp8_ = _tmp7_; +#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp9_ = video_global; +#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp10_ = no_event_page_no_event_page_alteration; +#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp11_ = view_collection_monitor_source_collection (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_SOURCE_COLLECTION, SourceCollection), filter, _tmp10_, NULL, NULL, NULL); +#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp12_ = _tmp11_; +#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _view_collection_monitor_unref0 (_tmp12_); +#line 151 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _data_collection_unref0 (_tmp8_); +#line 146 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _view_manager_unref0 (filter); +#line 146 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return self; +#line 1764 "EventPage.c" +} + + +NoEventPage* no_event_page_new (void) { +#line 146 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return no_event_page_construct (TYPE_NO_EVENT_PAGE); +#line 1771 "EventPage.c" +} + + +static void no_event_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) { + NoEventPage * self; + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NO_EVENT_PAGE, NoEventPage); +#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _tmp0_; +#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala" + configuration_facade_get_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_); +#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _vala_sort_order = _tmp2_; +#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _vala_sort_by = _tmp3_; +#line 155 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (_tmp1_); +#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (sort_order) { +#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *sort_order = _vala_sort_order; +#line 1801 "EventPage.c" + } +#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (sort_by) { +#line 154 "/home/jens/Source/shotwell/src/events/EventPage.vala" + *sort_by = _vala_sort_by; +#line 1807 "EventPage.c" + } +} + + +static void no_event_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) { + NoEventPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 158 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NO_EVENT_PAGE, NoEventPage); +#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = _tmp0_; +#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp2_ = sort_order; +#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = sort_by; +#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala" + configuration_facade_set_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_); +#line 159 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _g_object_unref0 (_tmp1_); +#line 1832 "EventPage.c" +} + + +static NoEventPageNoEventViewManager* no_event_page_no_event_view_manager_construct (GType object_type, NoEventPage* page) { + NoEventPageNoEventViewManager* self = NULL; + NoEventPage* _tmp0_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_val_if_fail (IS_NO_EVENT_PAGE (page), NULL); +#line 134 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = page; +#line 134 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = (NoEventPageNoEventViewManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage)); +#line 133 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return self; +#line 1847 "EventPage.c" +} + + +static NoEventPageNoEventViewManager* no_event_page_no_event_view_manager_new (NoEventPage* page) { +#line 133 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return no_event_page_no_event_view_manager_construct (NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, page); +#line 1854 "EventPage.c" +} + + +static gboolean no_event_page_no_event_view_manager_real_include_in_view (ViewManager* base, DataSource* source) { + NoEventPageNoEventViewManager * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + DataSource* _tmp1_ = NULL; + EventID _tmp2_ = {0}; + gint64 _tmp3_ = 0LL; +#line 138 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, NO_EVENT_PAGE_TYPE_NO_EVENT_VIEW_MANAGER, NoEventPageNoEventViewManager); +#line 138 "/home/jens/Source/shotwell/src/events/EventPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp1_ = source; +#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala" + media_source_get_event_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp2_); +#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp3_ = _tmp2_.id; +#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala" + if (_tmp3_ != EVENT_ID_INVALID) { +#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = FALSE; +#line 1879 "EventPage.c" + } else { + DataSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 140 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp4_ = source; +#line 140 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp5_ = VIEW_MANAGER_CLASS (no_event_page_no_event_view_manager_parent_class)->include_in_view (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager), TYPE_VIEW_MANAGER, ViewManager), _tmp4_); +#line 140 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = _tmp5_; +#line 1889 "EventPage.c" + } +#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala" + result = _tmp0_; +#line 139 "/home/jens/Source/shotwell/src/events/EventPage.vala" + return result; +#line 1895 "EventPage.c" +} + + +static void no_event_page_no_event_view_manager_class_init (NoEventPageNoEventViewManagerClass * klass) { +#line 132 "/home/jens/Source/shotwell/src/events/EventPage.vala" + no_event_page_no_event_view_manager_parent_class = g_type_class_peek_parent (klass); +#line 132 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((ViewManagerClass *) klass)->include_in_view = no_event_page_no_event_view_manager_real_include_in_view; +#line 1904 "EventPage.c" +} + + +static void no_event_page_no_event_view_manager_instance_init (NoEventPageNoEventViewManager * self) { +} + + +static GType no_event_page_no_event_view_manager_get_type (void) { + static volatile gsize no_event_page_no_event_view_manager_type_id__volatile = 0; + if (g_once_init_enter (&no_event_page_no_event_view_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NoEventPageNoEventViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) no_event_page_no_event_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NoEventPageNoEventViewManager), 0, (GInstanceInitFunc) no_event_page_no_event_view_manager_instance_init, NULL }; + GType no_event_page_no_event_view_manager_type_id; + no_event_page_no_event_view_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "NoEventPageNoEventViewManager", &g_define_type_info, 0); + g_once_init_leave (&no_event_page_no_event_view_manager_type_id__volatile, no_event_page_no_event_view_manager_type_id); + } + return no_event_page_no_event_view_manager_type_id__volatile; +} + + +static void no_event_page_class_init (NoEventPageClass * klass) { + Alteration* _tmp0_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala" + no_event_page_parent_class = g_type_class_peek_parent (klass); +#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = no_event_page_real_get_config_photos_sort; +#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = no_event_page_real_set_config_photos_sort; +#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala" + G_OBJECT_CLASS (klass)->finalize = no_event_page_finalize; +#line 144 "/home/jens/Source/shotwell/src/events/EventPage.vala" + _tmp0_ = alteration_new ("metadata", "event"); +#line 144 "/home/jens/Source/shotwell/src/events/EventPage.vala" + no_event_page_no_event_page_alteration = _tmp0_; +#line 1938 "EventPage.c" +} + + +static void no_event_page_instance_init (NoEventPage * self) { +} + + +static void no_event_page_finalize (GObject* obj) { + NoEventPage * self; +#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NO_EVENT_PAGE, NoEventPage); +#line 128 "/home/jens/Source/shotwell/src/events/EventPage.vala" + G_OBJECT_CLASS (no_event_page_parent_class)->finalize (obj); +#line 1952 "EventPage.c" +} + + +GType no_event_page_get_type (void) { + static volatile gsize no_event_page_type_id__volatile = 0; + if (g_once_init_enter (&no_event_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NoEventPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) no_event_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NoEventPage), 0, (GInstanceInitFunc) no_event_page_instance_init, NULL }; + GType no_event_page_type_id; + no_event_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "NoEventPage", &g_define_type_info, 0); + g_once_init_leave (&no_event_page_type_id__volatile, no_event_page_type_id); + } + return no_event_page_type_id__volatile; +} + + + diff --git a/src/events/Events.c b/src/events/Events.c new file mode 100644 index 0000000..d99ab32 --- /dev/null +++ b/src/events/Events.c @@ -0,0 +1,36 @@ +/* Events.c generated by valac 0.32.1, the Vala compiler + * generated from Events.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include + + + + +void events_init (GError** error); +void events_branch_init (void); +void events_terminate (void); +void events_branch_terminate (void); + + +void events_init (GError** error) { +#line 10 "/home/jens/Source/shotwell/src/events/Events.vala" + events_branch_init (); +#line 26 "Events.c" +} + + +void events_terminate (void) { +#line 14 "/home/jens/Source/shotwell/src/events/Events.vala" + events_branch_terminate (); +#line 33 "Events.c" +} + + + diff --git a/src/events/EventsDirectoryPage.c b/src/events/EventsDirectoryPage.c new file mode 100644 index 0000000..6e24584 --- /dev/null +++ b/src/events/EventsDirectoryPage.c @@ -0,0 +1,3248 @@ +/* EventsDirectoryPage.c generated by valac 0.32.1, the Vala compiler + * generated from EventsDirectoryPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#define TYPE_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ()) +#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)) +#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass)) +#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE)) +#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE)) +#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass)) + +typedef struct _EventsDirectoryPage EventsDirectoryPage; +typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass; +typedef struct _EventsDirectoryPagePrivate EventsDirectoryPagePrivate; + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER (events_directory_page_events_directory_search_view_filter_get_type ()) +#define EVENTS_DIRECTORY_PAGE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilter)) +#define EVENTS_DIRECTORY_PAGE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilterClass)) +#define EVENTS_DIRECTORY_PAGE_IS_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER)) +#define EVENTS_DIRECTORY_PAGE_IS_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER)) +#define EVENTS_DIRECTORY_PAGE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilterClass)) + +typedef struct _EventsDirectoryPageEventsDirectorySearchViewFilter EventsDirectoryPageEventsDirectorySearchViewFilter; +typedef struct _EventsDirectoryPageEventsDirectorySearchViewFilterClass EventsDirectoryPageEventsDirectorySearchViewFilterClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_EVENT_SOURCE (event_source_get_type ()) +#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource)) +#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass)) +#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE)) +#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE)) +#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass)) + +typedef struct _EventSource EventSource; +typedef struct _EventSourceClass EventSourceClass; + +#define TYPE_EVENT (event_get_type ()) +#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event)) +#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass)) +#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT)) +#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT)) +#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass)) + +typedef struct _Event Event; +typedef struct _EventClass EventClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_EVENT_SOURCE_COLLECTION (event_source_collection_get_type ()) +#define EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollection)) +#define EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) +#define IS_EVENT_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE_COLLECTION)) +#define IS_EVENT_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE_COLLECTION)) +#define EVENT_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE_COLLECTION, EventSourceCollectionClass)) + +typedef struct _EventSourceCollection EventSourceCollection; +typedef struct _EventSourceCollectionClass EventSourceCollectionClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) + +#define TYPE_EVENT_DIRECTORY_ITEM (event_directory_item_get_type ()) +#define EVENT_DIRECTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem)) +#define EVENT_DIRECTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItemClass)) +#define IS_EVENT_DIRECTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_DIRECTORY_ITEM)) +#define IS_EVENT_DIRECTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_DIRECTORY_ITEM)) +#define EVENT_DIRECTORY_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItemClass)) + +typedef struct _EventDirectoryItem EventDirectoryItem; +typedef struct _EventDirectoryItemClass EventDirectoryItemClass; +typedef struct _DataObjectPrivate DataObjectPrivate; +typedef struct _DataViewPrivate DataViewPrivate; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _EventDirectoryItemPrivate EventDirectoryItemPrivate; + +#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_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_TEXT_ENTRY_DIALOG_MEDIATOR (text_entry_dialog_mediator_get_type ()) +#define TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) + +typedef struct _TextEntryDialogMediator TextEntryDialogMediator; +typedef struct _TextEntryDialogMediatorClass TextEntryDialogMediatorClass; + +#define TYPE_EVENT_RENAME_DIALOG (event_rename_dialog_get_type ()) +#define EVENT_RENAME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_RENAME_DIALOG, EventRenameDialog)) +#define EVENT_RENAME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_RENAME_DIALOG, EventRenameDialogClass)) +#define IS_EVENT_RENAME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_RENAME_DIALOG)) +#define IS_EVENT_RENAME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_RENAME_DIALOG)) +#define EVENT_RENAME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_RENAME_DIALOG, EventRenameDialogClass)) + +typedef struct _EventRenameDialog EventRenameDialog; +typedef struct _EventRenameDialogClass EventRenameDialogClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (text_entry_dialog_mediator_unref (var), NULL))) + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SIMPLE_PROXYABLE_COMMAND (simple_proxyable_command_get_type ()) +#define SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand)) +#define SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) +#define IS_SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND)) +#define IS_SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND)) +#define SIMPLE_PROXYABLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) + +typedef struct _SimpleProxyableCommand SimpleProxyableCommand; +typedef struct _SimpleProxyableCommandClass SimpleProxyableCommandClass; + +#define TYPE_RENAME_EVENT_COMMAND (rename_event_command_get_type ()) +#define RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommand)) +#define RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass)) +#define IS_RENAME_EVENT_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_EVENT_COMMAND)) +#define IS_RENAME_EVENT_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_EVENT_COMMAND)) +#define RENAME_EVENT_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_EVENT_COMMAND, RenameEventCommandClass)) + +typedef struct _RenameEventCommand RenameEventCommand; +typedef struct _RenameEventCommandClass RenameEventCommandClass; + +#define 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_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR (multi_text_entry_dialog_mediator_get_type ()) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediator)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define MULTI_TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTI_TEXT_ENTRY_DIALOG_MEDIATOR, MultiTextEntryDialogMediatorClass)) + +typedef struct _MultiTextEntryDialogMediator MultiTextEntryDialogMediator; +typedef struct _MultiTextEntryDialogMediatorClass MultiTextEntryDialogMediatorClass; + +#define TYPE_EDIT_COMMENT_DIALOG (edit_comment_dialog_get_type ()) +#define EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialog)) +#define EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) +#define IS_EDIT_COMMENT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDIT_COMMENT_DIALOG)) +#define IS_EDIT_COMMENT_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDIT_COMMENT_DIALOG)) +#define EDIT_COMMENT_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDIT_COMMENT_DIALOG, EditCommentDialogClass)) + +typedef struct _EditCommentDialog EditCommentDialog; +typedef struct _EditCommentDialogClass EditCommentDialogClass; +#define _multi_text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (multi_text_entry_dialog_mediator_unref (var), NULL))) + +#define TYPE_EDIT_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; + +#define TYPE_MOVE_PHOTOS_COMMAND (move_photos_command_get_type ()) +#define MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommand)) +#define MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass)) +#define IS_MOVE_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOVE_PHOTOS_COMMAND)) +#define IS_MOVE_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOVE_PHOTOS_COMMAND)) +#define MOVE_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOVE_PHOTOS_COMMAND, MovePhotosCommandClass)) + +typedef struct _MovePhotosCommand MovePhotosCommand; +typedef struct _MovePhotosCommandClass MovePhotosCommandClass; + +#define TYPE_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 _ViewManagerPrivate ViewManagerPrivate; + +#define EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER (events_directory_page_event_directory_manager_get_type ()) +#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManager)) +#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManagerClass)) +#define EVENTS_DIRECTORY_PAGE_IS_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER)) +#define EVENTS_DIRECTORY_PAGE_IS_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER)) +#define EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManagerClass)) + +typedef struct _EventsDirectoryPageEventDirectoryManager EventsDirectoryPageEventDirectoryManager; +typedef struct _EventsDirectoryPageEventDirectoryManagerClass EventsDirectoryPageEventDirectoryManagerClass; +typedef struct _EventsDirectoryPageEventDirectoryManagerPrivate EventsDirectoryPageEventDirectoryManagerPrivate; +typedef struct _ViewFilterPrivate ViewFilterPrivate; +typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate; +typedef struct _EventsDirectoryPageEventsDirectorySearchViewFilterPrivate EventsDirectoryPageEventsDirectorySearchViewFilterPrivate; + +#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ()) + +#define TYPE_INDEXABLE (indexable_get_type ()) +#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable)) +#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE)) +#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface)) + +typedef struct _Indexable Indexable; +typedef struct _IndexableIface IndexableIface; + +#define TYPE_MASTER_EVENTS_DIRECTORY_PAGE (master_events_directory_page_get_type ()) +#define MASTER_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPage)) +#define MASTER_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPageClass)) +#define IS_MASTER_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE)) +#define IS_MASTER_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MASTER_EVENTS_DIRECTORY_PAGE)) +#define MASTER_EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MASTER_EVENTS_DIRECTORY_PAGE, MasterEventsDirectoryPageClass)) + +typedef struct _MasterEventsDirectoryPage MasterEventsDirectoryPage; +typedef struct _MasterEventsDirectoryPageClass MasterEventsDirectoryPageClass; +typedef struct _MasterEventsDirectoryPagePrivate MasterEventsDirectoryPagePrivate; + +#define TYPE_SUB_EVENTS_DIRECTORY_PAGE (sub_events_directory_page_get_type ()) +#define SUB_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPage)) +#define SUB_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPageClass)) +#define IS_SUB_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE)) +#define IS_SUB_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SUB_EVENTS_DIRECTORY_PAGE)) +#define SUB_EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SUB_EVENTS_DIRECTORY_PAGE, SubEventsDirectoryPageClass)) + +typedef struct _SubEventsDirectoryPage SubEventsDirectoryPage; +typedef struct _SubEventsDirectoryPageClass SubEventsDirectoryPageClass; +typedef struct _SubEventsDirectoryPagePrivate SubEventsDirectoryPagePrivate; + +#define SUB_EVENTS_DIRECTORY_PAGE_TYPE_DIRECTORY_TYPE (sub_events_directory_page_directory_type_get_type ()) + +#define SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER (sub_events_directory_page_sub_event_directory_manager_get_type ()) +#define SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager)) +#define SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManagerClass)) +#define SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER)) +#define SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER)) +#define SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManagerClass)) + +typedef struct _SubEventsDirectoryPageSubEventDirectoryManager SubEventsDirectoryPageSubEventDirectoryManager; +typedef struct _SubEventsDirectoryPageSubEventDirectoryManagerClass SubEventsDirectoryPageSubEventDirectoryManagerClass; +typedef struct _SubEventsDirectoryPageSubEventDirectoryManagerPrivate SubEventsDirectoryPageSubEventDirectoryManagerPrivate; +#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 _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +struct _EventsDirectoryPage { + CheckerboardPage parent_instance; + EventsDirectoryPagePrivate * priv; + ViewManager* view_manager; +}; + +struct _EventsDirectoryPageClass { + CheckerboardPageClass parent_class; +}; + +struct _EventsDirectoryPagePrivate { + EventsDirectoryPageEventsDirectorySearchViewFilter* search_filter; +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +typedef gboolean (*ComparatorPredicate) (DataObject* object, Alteration* alteration, void* user_data); +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, void* user_data); +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +struct _EventDirectoryItem { + CheckerboardItem parent_instance; + EventDirectoryItemPrivate * priv; + Event* event; +}; + +struct _EventDirectoryItemClass { + CheckerboardItemClass parent_class; +}; + +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _EventsDirectoryPageEventDirectoryManager { + ViewManager parent_instance; + EventsDirectoryPageEventDirectoryManagerPrivate * priv; +}; + +struct _EventsDirectoryPageEventDirectoryManagerClass { + ViewManagerClass parent_class; +}; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _SearchViewFilter { + ViewFilter parent_instance; + SearchViewFilterPrivate * priv; +}; + +struct _SearchViewFilterClass { + ViewFilterClass parent_class; + guint (*get_criteria) (SearchViewFilter* self); +}; + +struct _EventsDirectoryPageEventsDirectorySearchViewFilter { + SearchViewFilter parent_instance; + EventsDirectoryPageEventsDirectorySearchViewFilterPrivate * priv; +}; + +struct _EventsDirectoryPageEventsDirectorySearchViewFilterClass { + SearchViewFilterClass parent_class; +}; + +typedef enum { + SEARCH_FILTER_CRITERIA_NONE = 0, + SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0, + SEARCH_FILTER_CRITERIA_TEXT = 1 << 1, + SEARCH_FILTER_CRITERIA_FLAG = 1 << 2, + SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3, + SEARCH_FILTER_CRITERIA_RATING = 1 << 4, + SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5, + SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL +} SearchFilterCriteria; + +struct _IndexableIface { + GTypeInterface parent_iface; + const gchar* (*get_indexable_keywords) (Indexable* self); +}; + +struct _MasterEventsDirectoryPage { + EventsDirectoryPage parent_instance; + MasterEventsDirectoryPagePrivate * priv; +}; + +struct _MasterEventsDirectoryPageClass { + EventsDirectoryPageClass parent_class; +}; + +struct _SubEventsDirectoryPage { + EventsDirectoryPage parent_instance; + SubEventsDirectoryPagePrivate * priv; +}; + +struct _SubEventsDirectoryPageClass { + EventsDirectoryPageClass parent_class; +}; + +typedef enum { + SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR, + SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH, + SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED +} SubEventsDirectoryPageDirectoryType; + +struct _SubEventsDirectoryPageSubEventDirectoryManager { + EventsDirectoryPageEventDirectoryManager parent_instance; + SubEventsDirectoryPageSubEventDirectoryManagerPrivate * priv; +}; + +struct _SubEventsDirectoryPageSubEventDirectoryManagerClass { + EventsDirectoryPageEventDirectoryManagerClass parent_class; +}; + +struct _SubEventsDirectoryPageSubEventDirectoryManagerPrivate { + gint month; + gint year; + SubEventsDirectoryPageDirectoryType type; +}; + + +static gpointer events_directory_page_parent_class = NULL; +extern EventSourceCollection* event_global; +static gpointer events_directory_page_event_directory_manager_parent_class = NULL; +static gpointer events_directory_page_events_directory_search_view_filter_parent_class = NULL; +static gpointer master_events_directory_page_parent_class = NULL; +static gpointer sub_events_directory_page_parent_class = NULL; +static gpointer sub_events_directory_page_sub_event_directory_manager_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType events_directory_page_get_type (void) G_GNUC_CONST; +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +static GType events_directory_page_events_directory_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define EVENTS_DIRECTORY_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPagePrivate)) +enum { + EVENTS_DIRECTORY_PAGE_DUMMY_PROPERTY +}; +GtkAction* page_get_action (Page* self, const gchar* name); +static void events_directory_page_on_sort_changed (EventsDirectoryPage* self, GtkAction* action, GtkAction* c); +static void _events_directory_page_on_sort_changed_gtk_radio_action_changed (GtkRadioAction* _sender, GtkRadioAction* current, gpointer self); +static EventsDirectoryPageEventsDirectorySearchViewFilter* events_directory_page_events_directory_search_view_filter_new (void); +static EventsDirectoryPageEventsDirectorySearchViewFilter* events_directory_page_events_directory_search_view_filter_construct (GType object_type); +#define EVENTS_DIRECTORY_PAGE_MIN_PHOTOS_FOR_PROGRESS_WINDOW 50 +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +EventsDirectoryPage* events_directory_page_construct (GType object_type, const gchar* page_name, ViewManager* view_manager, GeeCollection* initial_events); +CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +void data_collection_set_comparator (DataCollection* self, Comparator comparator, void* comparator_target, ComparatorPredicate predicate, void* predicate_target); +static Comparator events_directory_page_get_event_comparator (gboolean ascending, void** result_target, GDestroyNotify* result_target_destroy_notify); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self); +gboolean events_directory_page_event_comparator_predicate (DataObject* object, Alteration* alteration); +static gboolean _events_directory_page_event_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self); +GType source_collection_get_type (void) G_GNUC_CONST; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType event_source_collection_get_type (void) G_GNUC_CONST; +void data_collection_set_property (DataCollection* self, const gchar* name, GValue* val, ValueEqualFunc value_equals, void* value_equals_target); +#define EVENT_PROP_SHOW_COMMENTS "show-comments" +gboolean configuration_facade_get_display_event_comments (ConfigurationFacade* self); +void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path); +GtkToolbar* page_get_toolbar (Page* self); +#define RESOURCES_MERGE "shotwell-merge-events" +static void events_directory_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +static gint64 events_directory_page_event_ascending_comparator (void* a, void* b); +GType event_directory_item_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +time_t event_source_get_start_time (EventSource* self); +static gint64 events_directory_page_event_descending_comparator (void* a, void* b); +static gint64 _events_directory_page_event_ascending_comparator_comparator (void* a, void* b, gpointer self); +static gint64 _events_directory_page_event_descending_comparator_comparator (void* a, void* b, gpointer self); +static GtkActionEntry* events_directory_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define TRANSLATABLE "translatable" +static void events_directory_page_on_rename (EventsDirectoryPage* self); +static void _events_directory_page_on_rename_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_RENAME_EVENT_MENU _ ("Re_name Event...") +static void _vala_array_add126 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_MERGE_TOOLTIP _ ("Combine events into a single event") +static void events_directory_page_on_merge (EventsDirectoryPage* self); +static void _events_directory_page_on_merge_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_MERGE_MENU _ ("_Merge Events") +static void _vala_array_add127 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_EDIT_COMMENT_MENU _ ("Edit _Comment...") +void events_directory_page_on_edit_comment (EventsDirectoryPage* self); +static void _events_directory_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add128 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static GtkToggleActionEntry* events_directory_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1); +GtkToggleActionEntry* page_init_collect_toggle_action_entries (Page* self, int* result_length1); +static void events_directory_page_on_display_comments (EventsDirectoryPage* self, GtkAction* action); +static void _events_directory_page_on_display_comments_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add129 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void events_directory_page_real_init_actions (Page* base, gint selected_count, gint count); +void page_init_actions (Page* self, gint selected_count, gint count); +static void events_directory_page_real_update_actions (Page* base, gint selected_count, gint count); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +void page_set_action_important (Page* self, const gchar* name, gboolean important); +void page_update_actions (Page* self, gint selected_count, gint count); +static gchar* events_directory_page_real_get_view_empty_message (CheckerboardPage* base); +static gchar* events_directory_page_real_get_filter_no_match_message (CheckerboardPage* base); +static void events_directory_page_real_on_item_activated (CheckerboardPage* base, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_switch_to_event (LibraryWindow* self, Event* event); +#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING 0 +gint view_collection_get_selected_count (ViewCollection* self); +DataView* view_collection_get_selected_at (ViewCollection* self, gint index); +gpointer text_entry_dialog_mediator_ref (gpointer instance); +void text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_text_entry_dialog_mediator (const GValue* value); +GType text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType event_rename_dialog_get_type (void) G_GNUC_CONST; +gchar* event_get_raw_name (Event* self); +EventRenameDialog* event_rename_dialog_new (const gchar* event_name); +EventRenameDialog* event_rename_dialog_construct (GType object_type, const gchar* event_name); +gchar* event_rename_dialog_execute (EventRenameDialog* self); +GType command_get_type (void) G_GNUC_CONST; +GType page_command_get_type (void) G_GNUC_CONST; +GType simple_proxyable_command_get_type (void) G_GNUC_CONST; +GType rename_event_command_get_type (void) G_GNUC_CONST; +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); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +void command_manager_execute (CommandManager* self, Command* command); +gpointer multi_text_entry_dialog_mediator_ref (gpointer instance); +void multi_text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_multi_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_multi_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_multi_text_entry_dialog_mediator (const GValue* value); +GType multi_text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType edit_comment_dialog_get_type (void) G_GNUC_CONST; +gchar* event_source_get_comment (EventSource* self); +EditCommentDialog* edit_comment_dialog_new (const gchar* comment, gboolean is_event); +EditCommentDialog* edit_comment_dialog_construct (GType object_type, const gchar* comment, gboolean is_event); +gchar* edit_comment_dialog_execute (EditCommentDialog* self); +GType edit_event_comment_command_get_type (void) G_GNUC_CONST; +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); +GType move_photos_command_get_type (void) G_GNUC_CONST; +GType merge_events_command_get_type (void) G_GNUC_CONST; +GeeList* view_collection_get_selected (ViewCollection* self); +MergeEventsCommand* merge_events_command_new (GeeIterable* iter); +MergeEventsCommand* merge_events_command_construct (GType object_type, GeeIterable* iter); +void checkerboard_page_set_display_comments (CheckerboardPage* self, gboolean display); +void configuration_facade_set_display_event_comments (ConfigurationFacade* self, gboolean display); +static SearchViewFilter* events_directory_page_real_get_search_view_filter (CheckerboardPage* base); +GType events_directory_page_event_directory_manager_get_type (void) G_GNUC_CONST; +enum { + EVENTS_DIRECTORY_PAGE_EVENT_DIRECTORY_MANAGER_DUMMY_PROPERTY +}; +static DataView* events_directory_page_event_directory_manager_real_create_view (ViewManager* base, DataSource* source); +EventDirectoryItem* event_directory_item_new (Event* event); +EventDirectoryItem* event_directory_item_construct (GType object_type, Event* event); +EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_new (void); +EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_construct (GType object_type); +ViewManager* view_manager_construct (GType object_type); +enum { + EVENTS_DIRECTORY_PAGE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER_DUMMY_PROPERTY +}; +static guint events_directory_page_events_directory_search_view_filter_real_get_criteria (SearchViewFilter* base); +GType search_filter_criteria_get_type (void) G_GNUC_CONST; +static gboolean events_directory_page_events_directory_search_view_filter_real_predicate (ViewFilter* base, DataView* view); +DataSource* data_view_get_source (DataView* self); +gboolean is_string_empty (const gchar* s); +const gchar* search_view_filter_get_search_filter (SearchViewFilter* self); +GType indexable_get_type (void) G_GNUC_CONST; +const gchar* indexable_get_indexable_keywords (Indexable* self); +gchar** search_view_filter_get_search_filter_words (SearchViewFilter* self, int* result_length1); +SearchViewFilter* search_view_filter_construct (GType object_type); +static void events_directory_page_finalize (GObject* obj); +GType master_events_directory_page_get_type (void) G_GNUC_CONST; +enum { + MASTER_EVENTS_DIRECTORY_PAGE_DUMMY_PROPERTY +}; +#define MASTER_EVENTS_DIRECTORY_PAGE_NAME _ ("All Events") +MasterEventsDirectoryPage* master_events_directory_page_new (void); +MasterEventsDirectoryPage* master_events_directory_page_construct (GType object_type); +GeeCollection* data_collection_get_all (DataCollection* self); +GType sub_events_directory_page_get_type (void) G_GNUC_CONST; +enum { + SUB_EVENTS_DIRECTORY_PAGE_DUMMY_PROPERTY +}; +GType sub_events_directory_page_directory_type_get_type (void) G_GNUC_CONST; +#define SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME _ ("Undated") +#define SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT _ ("%Y") +#define SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT _ ("%B") +SubEventsDirectoryPage* sub_events_directory_page_new (SubEventsDirectoryPageDirectoryType type, struct tm* time); +SubEventsDirectoryPage* sub_events_directory_page_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time); +static SubEventsDirectoryPageSubEventDirectoryManager* sub_events_directory_page_sub_event_directory_manager_new (SubEventsDirectoryPageDirectoryType type, struct tm* time); +static SubEventsDirectoryPageSubEventDirectoryManager* sub_events_directory_page_sub_event_directory_manager_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time); +static GType sub_events_directory_page_sub_event_directory_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gint sub_events_directory_page_get_month (SubEventsDirectoryPage* self); +static gint sub_events_directory_page_sub_event_directory_manager_get_month (SubEventsDirectoryPageSubEventDirectoryManager* self); +gint sub_events_directory_page_get_year (SubEventsDirectoryPage* self); +static gint sub_events_directory_page_sub_event_directory_manager_get_year (SubEventsDirectoryPageSubEventDirectoryManager* self); +SubEventsDirectoryPageDirectoryType sub_events_directory_page_get_event_directory_type (SubEventsDirectoryPage* self); +static SubEventsDirectoryPageDirectoryType sub_events_directory_page_sub_event_directory_manager_get_event_directory_type (SubEventsDirectoryPageSubEventDirectoryManager* self); +#define SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManagerPrivate)) +enum { + SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_DUMMY_PROPERTY +}; +static gboolean sub_events_directory_page_sub_event_directory_manager_real_include_in_view (ViewManager* base, DataSource* source); +gboolean view_manager_include_in_view (ViewManager* self, DataSource* source); +static void sub_events_directory_page_sub_event_directory_manager_finalize (ViewManager* obj); + + +static void _events_directory_page_on_sort_changed_gtk_radio_action_changed (GtkRadioAction* _sender, GtkRadioAction* current, gpointer self) { +#line 74 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + events_directory_page_on_sort_changed ((EventsDirectoryPage*) self, _sender, current); +#line 1141 "EventsDirectoryPage.c" +} + + +static gboolean _events_directory_page_event_comparator_predicate_comparator_predicate (DataObject* object, Alteration* alteration, gpointer self) { + gboolean result; + result = events_directory_page_event_comparator_predicate (object, alteration); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1150 "EventsDirectoryPage.c" +} + + +static gpointer _view_manager_ref0 (gpointer self) { +#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self ? view_manager_ref (self) : NULL; +#line 1157 "EventsDirectoryPage.c" +} + + +EventsDirectoryPage* events_directory_page_construct (GType object_type, const gchar* page_name, ViewManager* view_manager, GeeCollection* initial_events) { + EventsDirectoryPage * self = NULL; + const gchar* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + void* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + Comparator _tmp8_ = NULL; + Comparator _tmp9_ = NULL; + void* _tmp9__target = NULL; + GDestroyNotify _tmp9__target_destroy_notify = NULL; + ViewCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + EventSourceCollection* _tmp12_ = NULL; + ViewManager* _tmp13_ = NULL; + GeeCollection* _tmp14_ = NULL; + ViewCollectionMonitor* _tmp15_ = NULL; + ViewCollectionMonitor* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + ViewCollection* _tmp18_ = NULL; + ConfigFacade* _tmp19_ = NULL; + ConfigFacade* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + GValue _tmp22_ = {0}; + ViewManager* _tmp23_ = NULL; + ViewManager* _tmp24_ = NULL; + GtkToolbar* toolbar = NULL; + GtkToolbar* _tmp25_ = NULL; + GtkToolButton* merge_button = NULL; + GtkToolButton* _tmp26_ = NULL; + GtkAction* _tmp27_ = NULL; + GtkAction* _tmp28_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (page_name != NULL, NULL); +#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_VIEW_MANAGER (view_manager), NULL); +#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail ((initial_events == NULL) || GEE_IS_COLLECTION (initial_events), NULL); +#line 47 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = page_name; +#line 47 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = (EventsDirectoryPage*) checkerboard_page_construct (object_type, _tmp0_); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = _tmp1_; +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = config_facade_get_instance (); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = _tmp3_; +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = events_directory_page_get_event_comparator (_tmp5_, &_tmp6_, &_tmp7_); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = _tmp8_; +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__target = _tmp6_; +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__target_destroy_notify = _tmp7_; +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), _tmp9_, _tmp6_, _events_directory_page_event_comparator_predicate_comparator_predicate, NULL); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + (_tmp9__target_destroy_notify == NULL) ? NULL : (_tmp9__target_destroy_notify (_tmp9__target), NULL); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__target = NULL; +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__target_destroy_notify = NULL; +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp4_); +#line 50 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp2_); +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11_ = _tmp10_; +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp12_ = event_global; +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp13_ = view_manager; +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp14_ = initial_events; +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp15_ = view_collection_monitor_source_collection (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp13_, NULL, _tmp14_, NULL, NULL); +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp16_ = _tmp15_; +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _view_collection_monitor_unref0 (_tmp16_); +#line 52 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp11_); +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp17_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp18_ = _tmp17_; +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp19_ = config_facade_get_instance (); +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp20_ = _tmp19_; +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp21_ = configuration_facade_get_display_event_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_value_init (&_tmp22_, G_TYPE_BOOLEAN); +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_value_set_boolean (&_tmp22_, _tmp21_); +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + data_collection_set_property (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_COLLECTION, DataCollection), EVENT_PROP_SHOW_COMMENTS, &_tmp22_, NULL, NULL); +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + G_IS_VALUE (&_tmp22_) ? (g_value_unset (&_tmp22_), NULL) : NULL; +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp20_); +#line 54 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp18_); +#line 57 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/EventsDirectoryContextMenu"); +#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp23_ = view_manager; +#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp24_ = _view_manager_ref0 (_tmp23_); +#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _view_manager_unref0 (self->view_manager); +#line 59 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->view_manager = _tmp24_; +#line 62 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp25_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 62 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + toolbar = _tmp25_; +#line 65 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp26_ = (GtkToolButton*) gtk_tool_button_new_from_stock (RESOURCES_MERGE); +#line 65 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_object_ref_sink (_tmp26_); +#line 65 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + merge_button = _tmp26_; +#line 66 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp27_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Merge"); +#line 66 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp28_ = _tmp27_; +#line 66 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (merge_button, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp28_); +#line 66 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp28_); +#line 68 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (merge_button, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (merge_button); +#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (toolbar); +#line 45 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self; +#line 1314 "EventsDirectoryPage.c" +} + + +static void events_directory_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + EventsDirectoryPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 77 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 78 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = ui_filenames; +#line 78 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), "events_directory.ui"); +#line 80 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = ui_filenames; +#line 80 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + PAGE_CLASS (events_directory_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp1_); +#line 1334 "EventsDirectoryPage.c" +} + + +gboolean events_directory_page_event_comparator_predicate (DataObject* object, Alteration* alteration) { + gboolean result = FALSE; + Alteration* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 83 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_DATA_OBJECT (object), FALSE); +#line 83 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_ALTERATION (alteration), FALSE); +#line 84 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = alteration; +#line 84 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = alteration_has_detail (_tmp0_, "metadata", "time"); +#line 84 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp1_; +#line 84 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1354 "EventsDirectoryPage.c" +} + + +static gint64 events_directory_page_event_ascending_comparator (void* a, void* b) { + gint64 result = 0LL; + time_t start_a = 0; + void* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + time_t _tmp2_ = 0; + time_t start_b = 0; + void* _tmp3_ = NULL; + Event* _tmp4_ = NULL; + time_t _tmp5_ = 0; +#line 88 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = a; +#line 88 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST ((EventDirectoryItem*) _tmp0_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem)->event; +#line 88 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_EVENT_SOURCE, EventSource)); +#line 88 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + start_a = _tmp2_; +#line 89 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = b; +#line 89 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST ((EventDirectoryItem*) _tmp3_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem)->event; +#line 89 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = event_source_get_start_time (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_EVENT_SOURCE, EventSource)); +#line 89 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + start_b = _tmp5_; +#line 91 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = (gint64) (start_a - start_b); +#line 91 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1388 "EventsDirectoryPage.c" +} + + +static gint64 events_directory_page_event_descending_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; +#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = b; +#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = a; +#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = events_directory_page_event_ascending_comparator (_tmp0_, _tmp1_); +#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp2_; +#line 95 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1407 "EventsDirectoryPage.c" +} + + +static gint64 _events_directory_page_event_ascending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = events_directory_page_event_ascending_comparator (a, b); +#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1416 "EventsDirectoryPage.c" +} + + +static gint64 _events_directory_page_event_descending_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = events_directory_page_event_descending_comparator (a, b); +#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1425 "EventsDirectoryPage.c" +} + + +static Comparator events_directory_page_get_event_comparator (gboolean ascending, void** result_target, GDestroyNotify* result_target_destroy_notify) { + Comparator result = NULL; + gboolean _tmp0_ = FALSE; +#line 99 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = ascending; +#line 99 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp0_) { +#line 1436 "EventsDirectoryPage.c" + Comparator _tmp1_ = NULL; + void* _tmp1__target = NULL; + GDestroyNotify _tmp1__target_destroy_notify = NULL; +#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = _events_directory_page_event_ascending_comparator_comparator; +#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1__target = NULL; +#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1__target_destroy_notify = NULL; +#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *result_target = _tmp1__target; +#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *result_target_destroy_notify = _tmp1__target_destroy_notify; +#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp1_; +#line 100 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1454 "EventsDirectoryPage.c" + } else { + Comparator _tmp2_ = NULL; + void* _tmp2__target = NULL; + GDestroyNotify _tmp2__target_destroy_notify = NULL; +#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = _events_directory_page_event_descending_comparator_comparator; +#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2__target = NULL; +#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2__target_destroy_notify = NULL; +#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *result_target = _tmp2__target; +#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *result_target_destroy_notify = _tmp2__target_destroy_notify; +#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp2_; +#line 102 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1473 "EventsDirectoryPage.c" + } +} + + +static void _events_directory_page_on_rename_gtk_action_callback (GtkAction* action, gpointer self) { +#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + events_directory_page_on_rename ((EventsDirectoryPage*) self); +#line 1481 "EventsDirectoryPage.c" +} + + +static void _vala_array_add126 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if ((*length) == (*size)) { +#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1492 "EventsDirectoryPage.c" + } +#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + (*array)[(*length)++] = *value; +#line 1496 "EventsDirectoryPage.c" +} + + +static void _events_directory_page_on_merge_gtk_action_callback (GtkAction* action, gpointer self) { +#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + events_directory_page_on_merge ((EventsDirectoryPage*) self); +#line 1503 "EventsDirectoryPage.c" +} + + +static void _vala_array_add127 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if ((*length) == (*size)) { +#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1514 "EventsDirectoryPage.c" + } +#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + (*array)[(*length)++] = *value; +#line 1518 "EventsDirectoryPage.c" +} + + +static void _events_directory_page_on_edit_comment_gtk_action_callback (GtkAction* action, gpointer self) { +#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + events_directory_page_on_edit_comment ((EventsDirectoryPage*) self); +#line 1525 "EventsDirectoryPage.c" +} + + +static void _vala_array_add128 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if ((*length) == (*size)) { +#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1536 "EventsDirectoryPage.c" + } +#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + (*array)[(*length)++] = *value; +#line 1540 "EventsDirectoryPage.c" +} + + +static GtkActionEntry* events_directory_page_real_init_collect_action_entries (Page* base, int* result_length1) { + EventsDirectoryPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry rename = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry merge = {0}; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry comment = {0}; + GtkActionEntry _tmp8_ = {0}; + GtkActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionEntry _tmp10_ = {0}; + GtkActionEntry* _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 105 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 106 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = PAGE_CLASS (events_directory_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_); +#line 106 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + actions = _tmp1_; +#line 106 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + actions_length1 = _tmp0_; +#line 106 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _actions_size_ = actions_length1; +#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_.name = "Rename"; +#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_.stock_id = NULL; +#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_.accelerator = "F2"; +#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_.callback = (GCallback) _events_directory_page_on_rename_gtk_action_callback; +#line 108 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + rename = _tmp2_; +#line 109 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + rename.label = RESOURCES_RENAME_EVENT_MENU; +#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = actions; +#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3__length1 = actions_length1; +#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = rename; +#line 110 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _vala_array_add126 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.name = "Merge"; +#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.stock_id = RESOURCES_MERGE; +#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.accelerator = NULL; +#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.tooltip = RESOURCES_MERGE_TOOLTIP; +#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.callback = (GCallback) _events_directory_page_on_merge_gtk_action_callback; +#line 112 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + merge = _tmp5_; +#line 114 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + merge.label = RESOURCES_MERGE_MENU; +#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp6_ = actions; +#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp6__length1 = actions_length1; +#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp7_ = merge; +#line 115 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _vala_array_add127 (&actions, &actions_length1, &_actions_size_, &_tmp7_); +#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_.name = "EditComment"; +#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_.stock_id = NULL; +#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_.label = TRANSLATABLE; +#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_.accelerator = NULL; +#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_.tooltip = RESOURCES_EDIT_COMMENT_MENU; +#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_.callback = (GCallback) _events_directory_page_on_edit_comment_gtk_action_callback; +#line 117 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + comment = _tmp8_; +#line 119 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + comment.label = RESOURCES_EDIT_COMMENT_MENU; +#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = actions; +#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__length1 = actions_length1; +#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp10_ = comment; +#line 120 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _vala_array_add128 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11_ = actions; +#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11__length1 = actions_length1; +#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (result_length1) { +#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *result_length1 = _tmp11__length1; +#line 1659 "EventsDirectoryPage.c" + } +#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp11_; +#line 122 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1665 "EventsDirectoryPage.c" +} + + +static void _events_directory_page_on_display_comments_gtk_action_callback (GtkAction* action, gpointer self) { +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + events_directory_page_on_display_comments ((EventsDirectoryPage*) self, action); +#line 1672 "EventsDirectoryPage.c" +} + + +static void _vala_array_add129 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if ((*length) == (*size)) { +#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 1683 "EventsDirectoryPage.c" + } +#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + (*array)[(*length)++] = *value; +#line 1687 "EventsDirectoryPage.c" +} + + +static GtkToggleActionEntry* events_directory_page_real_init_collect_toggle_action_entries (Page* base, int* result_length1) { + EventsDirectoryPage * self; + GtkToggleActionEntry* result = NULL; + GtkToggleActionEntry* toggle_actions = NULL; + gint _tmp0_ = 0; + GtkToggleActionEntry* _tmp1_ = NULL; + gint toggle_actions_length1 = 0; + gint _toggle_actions_size_ = 0; + GtkToggleActionEntry comments = {0}; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GtkToggleActionEntry _tmp5_ = {0}; + GtkToggleActionEntry _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkToggleActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkToggleActionEntry _tmp10_ = {0}; + GtkToggleActionEntry* _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 125 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 126 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = PAGE_CLASS (events_directory_page_parent_class)->init_collect_toggle_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_); +#line 126 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + toggle_actions = _tmp1_; +#line 126 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + toggle_actions_length1 = _tmp0_; +#line 126 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _toggle_actions_size_ = toggle_actions_length1; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = _tmp2_; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = configuration_facade_get_display_event_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.name = "ViewComment"; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.stock_id = NULL; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.accelerator = "C"; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.callback = (GCallback) _events_directory_page_on_display_comments_gtk_action_callback; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_.is_active = _tmp4_; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp6_ = _tmp5_; +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp3_); +#line 128 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + comments = _tmp6_; +#line 130 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp7_ = _ ("_Comments"); +#line 130 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + comments.label = _tmp7_; +#line 131 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = _ ("Display the comment of each event"); +#line 131 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + comments.tooltip = _tmp8_; +#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = toggle_actions; +#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__length1 = toggle_actions_length1; +#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp10_ = comments; +#line 132 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _vala_array_add129 (&toggle_actions, &toggle_actions_length1, &_toggle_actions_size_, &_tmp10_); +#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11_ = toggle_actions; +#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11__length1 = toggle_actions_length1; +#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (result_length1) { +#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + *result_length1 = _tmp11__length1; +#line 1772 "EventsDirectoryPage.c" + } +#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp11_; +#line 134 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1778 "EventsDirectoryPage.c" +} + + +static void events_directory_page_real_init_actions (Page* base, gint selected_count, gint count) { + EventsDirectoryPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + GtkRadioAction* action = NULL; + GtkAction* _tmp2_ = NULL; + GtkRadioAction* _tmp3_ = NULL; +#line 137 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 138 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = selected_count; +#line 138 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = count; +#line 138 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + PAGE_CLASS (events_directory_page_parent_class)->init_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_, _tmp1_); +#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonSortEventsAscending"); +#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp2_) : NULL; +#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp3_ == NULL) { +#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp2_); +#line 1805 "EventsDirectoryPage.c" + } +#line 140 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + action = _tmp3_; +#line 141 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _vala_assert (action != NULL, "action != null"); +#line 142 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_signal_connect_object (action, "changed", (GCallback) _events_directory_page_on_sort_changed_gtk_radio_action_changed, self, 0); +#line 137 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (action); +#line 1815 "EventsDirectoryPage.c" +} + + +static void events_directory_page_real_update_actions (Page* base, gint selected_count, gint count) { + EventsDirectoryPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 145 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 146 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = selected_count; +#line 146 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Merge", _tmp0_ > 1); +#line 147 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Merge", TRUE); +#line 148 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = selected_count; +#line 148 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Rename", _tmp1_ == 1); +#line 149 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = selected_count; +#line 149 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditComment", _tmp2_ == 1); +#line 151 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = selected_count; +#line 151 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = count; +#line 151 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + PAGE_CLASS (events_directory_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp3_, _tmp4_); +#line 1848 "EventsDirectoryPage.c" +} + + +static gchar* events_directory_page_real_get_view_empty_message (CheckerboardPage* base) { + EventsDirectoryPage * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 155 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = _ ("No events"); +#line 155 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 155 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp1_; +#line 155 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1867 "EventsDirectoryPage.c" +} + + +static gchar* events_directory_page_real_get_filter_no_match_message (CheckerboardPage* base) { + EventsDirectoryPage * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 159 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = _ ("No events found"); +#line 159 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 159 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp1_; +#line 159 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 1886 "EventsDirectoryPage.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 164 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self ? g_object_ref (self) : NULL; +#line 1893 "EventsDirectoryPage.c" +} + + +static void events_directory_page_real_on_item_activated (CheckerboardPage* base, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers) { + EventsDirectoryPage * self; + EventDirectoryItem* event = NULL; + CheckerboardItem* _tmp0_ = NULL; + EventDirectoryItem* _tmp1_ = NULL; + LibraryWindow* _tmp2_ = NULL; + LibraryWindow* _tmp3_ = NULL; + Event* _tmp4_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 162 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (IS_CHECKERBOARD_ITEM (item)); +#line 162 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (modifiers != NULL); +#line 164 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = item; +#line 164 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem)); +#line 164 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + event = _tmp1_; +#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = library_window_get_app (); +#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = _tmp2_; +#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = event->event; +#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + library_window_switch_to_event (_tmp3_, _tmp4_); +#line 165 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp3_); +#line 162 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (event); +#line 1929 "EventsDirectoryPage.c" +} + + +static void events_directory_page_on_sort_changed (EventsDirectoryPage* self, GtkAction* action, GtkAction* c) { + GtkRadioAction* current = NULL; + GtkAction* _tmp0_ = NULL; + GtkRadioAction* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + void* _tmp6_ = NULL; + GDestroyNotify _tmp7_ = NULL; + Comparator _tmp8_ = NULL; + Comparator _tmp9_ = NULL; + void* _tmp9__target = NULL; + GDestroyNotify _tmp9__target_destroy_notify = NULL; +#line 168 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self)); +#line 168 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 168 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (GTK_IS_ACTION (c)); +#line 169 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = c; +#line 169 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction)); +#line 169 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + current = _tmp1_; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = _tmp2_; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = gtk_radio_action_get_current_value (current); +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = _tmp4_; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = events_directory_page_get_event_comparator (_tmp5_ == LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING, &_tmp6_, &_tmp7_); +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = _tmp8_; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__target = _tmp6_; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__target_destroy_notify = _tmp7_; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + data_collection_set_comparator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_COLLECTION, DataCollection), _tmp9_, _tmp6_, _events_directory_page_event_comparator_predicate_comparator_predicate, NULL); +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + (_tmp9__target_destroy_notify == NULL) ? NULL : (_tmp9__target_destroy_notify (_tmp9__target), NULL); +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__target = NULL; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9__target_destroy_notify = NULL; +#line 171 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp3_); +#line 168 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (current); +#line 1989 "EventsDirectoryPage.c" +} + + +static void events_directory_page_on_rename (EventsDirectoryPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + EventDirectoryItem* item = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + EventDirectoryItem* _tmp7_ = NULL; + EventRenameDialog* rename_dialog = NULL; + EventDirectoryItem* _tmp8_ = NULL; + Event* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + EventRenameDialog* _tmp12_ = NULL; + EventRenameDialog* _tmp13_ = NULL; + gchar* new_name = NULL; + EventRenameDialog* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + RenameEventCommand* command = NULL; + EventDirectoryItem* _tmp17_ = NULL; + Event* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + RenameEventCommand* _tmp20_ = NULL; + CommandManager* _tmp21_ = NULL; + CommandManager* _tmp22_ = NULL; + RenameEventCommand* _tmp23_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self)); +#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = _tmp0_; +#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp1_); +#line 178 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp3_) { +#line 179 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return; +#line 2038 "EventsDirectoryPage.c" + } +#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = _tmp4_; +#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp6_ = view_collection_get_selected_at (_tmp5_, 0); +#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp5_); +#line 181 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + item = _tmp7_; +#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = item; +#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = _tmp8_->event; +#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp10_ = event_get_raw_name (_tmp9_); +#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11_ = _tmp10_; +#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp12_ = event_rename_dialog_new (_tmp11_); +#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp13_ = _tmp12_; +#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (_tmp11_); +#line 183 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + rename_dialog = _tmp13_; +#line 184 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp14_ = rename_dialog; +#line 184 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp15_ = event_rename_dialog_execute (_tmp14_); +#line 184 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + new_name = _tmp15_; +#line 185 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp16_ = new_name; +#line 185 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp16_ == NULL) { +#line 186 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (new_name); +#line 186 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _text_entry_dialog_mediator_unref0 (rename_dialog); +#line 186 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (item); +#line 186 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return; +#line 2086 "EventsDirectoryPage.c" + } +#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp17_ = item; +#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp18_ = _tmp17_->event; +#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp19_ = new_name; +#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp20_ = rename_event_command_new (_tmp18_, _tmp19_); +#line 188 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + command = _tmp20_; +#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp21_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp22_ = _tmp21_; +#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp23_ = command; +#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + command_manager_execute (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command)); +#line 189 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _command_manager_unref0 (_tmp22_); +#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (command); +#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (new_name); +#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _text_entry_dialog_mediator_unref0 (rename_dialog); +#line 176 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (item); +#line 2116 "EventsDirectoryPage.c" +} + + +void events_directory_page_on_edit_comment (EventsDirectoryPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + EventDirectoryItem* item = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + DataView* _tmp6_ = NULL; + EventDirectoryItem* _tmp7_ = NULL; + EditCommentDialog* edit_comment_dialog = NULL; + EventDirectoryItem* _tmp8_ = NULL; + Event* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + EditCommentDialog* _tmp12_ = NULL; + EditCommentDialog* _tmp13_ = NULL; + gchar* new_comment = NULL; + EditCommentDialog* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + EditEventCommentCommand* command = NULL; + EventDirectoryItem* _tmp17_ = NULL; + Event* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + EditEventCommentCommand* _tmp20_ = NULL; + CommandManager* _tmp21_ = NULL; + CommandManager* _tmp22_ = NULL; + EditEventCommentCommand* _tmp23_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self)); +#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = _tmp0_; +#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = _tmp2_ != 1; +#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp1_); +#line 194 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp3_) { +#line 195 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return; +#line 2165 "EventsDirectoryPage.c" + } +#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = _tmp4_; +#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp6_ = view_collection_get_selected_at (_tmp5_, 0); +#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_EVENT_DIRECTORY_ITEM, EventDirectoryItem); +#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp5_); +#line 197 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + item = _tmp7_; +#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = item; +#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = _tmp8_->event; +#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp10_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_EVENT_SOURCE, EventSource)); +#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11_ = _tmp10_; +#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp12_ = edit_comment_dialog_new (_tmp11_, FALSE); +#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp13_ = _tmp12_; +#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (_tmp11_); +#line 199 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + edit_comment_dialog = _tmp13_; +#line 200 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp14_ = edit_comment_dialog; +#line 200 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp15_ = edit_comment_dialog_execute (_tmp14_); +#line 200 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + new_comment = _tmp15_; +#line 201 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp16_ = new_comment; +#line 201 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp16_ == NULL) { +#line 202 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (new_comment); +#line 202 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog); +#line 202 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (item); +#line 202 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return; +#line 2213 "EventsDirectoryPage.c" + } +#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp17_ = item; +#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp18_ = _tmp17_->event; +#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp19_ = new_comment; +#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp20_ = edit_event_comment_command_new (_tmp18_, _tmp19_); +#line 204 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + command = _tmp20_; +#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp21_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp22_ = _tmp21_; +#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp23_ = command; +#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + command_manager_execute (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command)); +#line 205 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _command_manager_unref0 (_tmp22_); +#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (command); +#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (new_comment); +#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _multi_text_entry_dialog_mediator_unref0 (edit_comment_dialog); +#line 192 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (item); +#line 2243 "EventsDirectoryPage.c" +} + + +static void events_directory_page_on_merge (EventsDirectoryPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + MergeEventsCommand* command = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + MergeEventsCommand* _tmp8_ = NULL; + MergeEventsCommand* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + MergeEventsCommand* _tmp12_ = NULL; +#line 208 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self)); +#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = _tmp0_; +#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = _tmp2_ <= 1; +#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp1_); +#line 209 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp3_) { +#line 210 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return; +#line 2278 "EventsDirectoryPage.c" + } +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = _tmp4_; +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp6_ = view_collection_get_selected (_tmp5_); +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp7_ = _tmp6_; +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = merge_events_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = _tmp8_; +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp7_); +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _data_collection_unref0 (_tmp5_); +#line 212 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + command = _tmp9_; +#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp10_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11_ = _tmp10_; +#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp12_ = command; +#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + command_manager_execute (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command)); +#line 213 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _command_manager_unref0 (_tmp11_); +#line 208 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (command); +#line 2310 "EventsDirectoryPage.c" +} + + +static void events_directory_page_on_display_comments (EventsDirectoryPage* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 216 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (IS_EVENTS_DIRECTORY_PAGE (self)); +#line 216 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 217 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = action; +#line 217 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 217 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + display = _tmp1_; +#line 219 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + checkerboard_page_set_display_comments (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), display); +#line 221 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = config_facade_get_instance (); +#line 221 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = _tmp2_; +#line 221 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + configuration_facade_set_display_event_comments (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), display); +#line 221 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp3_); +#line 2340 "EventsDirectoryPage.c" +} + + +static gpointer _view_filter_ref0 (gpointer self) { +#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self ? view_filter_ref (self) : NULL; +#line 2347 "EventsDirectoryPage.c" +} + + +static SearchViewFilter* events_directory_page_real_get_search_view_filter (CheckerboardPage* base) { + EventsDirectoryPage * self; + SearchViewFilter* result = NULL; + EventsDirectoryPageEventsDirectorySearchViewFilter* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = self->priv->search_filter; +#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp1_; +#line 225 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2366 "EventsDirectoryPage.c" +} + + +static DataView* events_directory_page_event_directory_manager_real_create_view (ViewManager* base, DataSource* source) { + EventsDirectoryPageEventDirectoryManager * self; + DataView* result = NULL; + DataSource* _tmp0_ = NULL; + EventDirectoryItem* _tmp1_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManager); +#line 9 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), NULL); +#line 10 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = source; +#line 10 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = event_directory_item_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_EVENT, Event)); +#line 10 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_VIEW, DataView); +#line 10 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2387 "EventsDirectoryPage.c" +} + + +EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_construct (GType object_type) { + EventsDirectoryPageEventDirectoryManager* self = NULL; +#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = (EventsDirectoryPageEventDirectoryManager*) view_manager_construct (object_type); +#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self; +#line 2397 "EventsDirectoryPage.c" +} + + +EventsDirectoryPageEventDirectoryManager* events_directory_page_event_directory_manager_new (void) { +#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return events_directory_page_event_directory_manager_construct (EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER); +#line 2404 "EventsDirectoryPage.c" +} + + +static void events_directory_page_event_directory_manager_class_init (EventsDirectoryPageEventDirectoryManagerClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + events_directory_page_event_directory_manager_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((ViewManagerClass *) klass)->create_view = events_directory_page_event_directory_manager_real_create_view; +#line 2413 "EventsDirectoryPage.c" +} + + +static void events_directory_page_event_directory_manager_instance_init (EventsDirectoryPageEventDirectoryManager * self) { +} + + +GType events_directory_page_event_directory_manager_get_type (void) { + static volatile gsize events_directory_page_event_directory_manager_type_id__volatile = 0; + if (g_once_init_enter (&events_directory_page_event_directory_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsDirectoryPageEventDirectoryManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_directory_page_event_directory_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsDirectoryPageEventDirectoryManager), 0, (GInstanceInitFunc) events_directory_page_event_directory_manager_instance_init, NULL }; + GType events_directory_page_event_directory_manager_type_id; + events_directory_page_event_directory_manager_type_id = g_type_register_static (TYPE_VIEW_MANAGER, "EventsDirectoryPageEventDirectoryManager", &g_define_type_info, 0); + g_once_init_leave (&events_directory_page_event_directory_manager_type_id__volatile, events_directory_page_event_directory_manager_type_id); + } + return events_directory_page_event_directory_manager_type_id__volatile; +} + + +static guint events_directory_page_events_directory_search_view_filter_real_get_criteria (SearchViewFilter* base) { + EventsDirectoryPageEventsDirectorySearchViewFilter * self; + guint result = 0U; +#line 15 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilter); +#line 16 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = (guint) SEARCH_FILTER_CRITERIA_TEXT; +#line 16 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2442 "EventsDirectoryPage.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2462 "EventsDirectoryPage.c" +} + + +static gboolean events_directory_page_events_directory_search_view_filter_real_predicate (ViewFilter* base, DataView* view) { + EventsDirectoryPageEventsDirectorySearchViewFilter * self; + gboolean result = FALSE; + DataView* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + DataSource* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + Event* source = NULL; + DataView* _tmp5_ = NULL; + DataSource* _tmp6_ = NULL; + const gchar* event_keywords = NULL; + Event* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gint _tmp11_ = 0; + gchar** _tmp12_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER, EventsDirectoryPageEventsDirectorySearchViewFilter); +#line 19 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_DATA_VIEW (view), FALSE); +#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = view; +#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = data_view_get_source (_tmp0_); +#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = _tmp1_; +#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_EVENT), "view.get_source() is Event"); +#line 20 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp2_); +#line 21 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = search_view_filter_get_search_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 21 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = is_string_empty (_tmp3_); +#line 21 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp4_) { +#line 22 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = TRUE; +#line 22 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2508 "EventsDirectoryPage.c" + } +#line 24 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = view; +#line 24 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp6_ = data_view_get_source (_tmp5_); +#line 24 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + source = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_EVENT, Event); +#line 25 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp7_ = source; +#line 25 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_INDEXABLE, Indexable)); +#line 25 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + event_keywords = _tmp8_; +#line 26 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = event_keywords; +#line 26 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp10_ = is_string_empty (_tmp9_); +#line 26 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp10_) { +#line 27 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = FALSE; +#line 27 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (source); +#line 27 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2534 "EventsDirectoryPage.c" + } +#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp12_ = search_view_filter_get_search_filter_words (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter), &_tmp11_); +#line 2538 "EventsDirectoryPage.c" + { + gchar** word_collection = NULL; + gint word_collection_length1 = 0; + gint _word_collection_size_ = 0; + gint word_it = 0; +#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + word_collection = _tmp12_; +#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + word_collection_length1 = _tmp11_; +#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + for (word_it = 0; word_it < _tmp11_; word_it = word_it + 1) { +#line 2550 "EventsDirectoryPage.c" + const gchar* word = NULL; +#line 30 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + word = word_collection[word_it]; +#line 2554 "EventsDirectoryPage.c" + { + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 31 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp13_ = event_keywords; +#line 31 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp14_ = word; +#line 31 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp15_ = string_contains (_tmp13_, _tmp14_); +#line 31 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (!_tmp15_) { +#line 32 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = FALSE; +#line 32 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (source); +#line 32 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2573 "EventsDirectoryPage.c" + } + } + } + } +#line 35 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = TRUE; +#line 35 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (source); +#line 35 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2584 "EventsDirectoryPage.c" +} + + +static EventsDirectoryPageEventsDirectorySearchViewFilter* events_directory_page_events_directory_search_view_filter_construct (GType object_type) { + EventsDirectoryPageEventsDirectorySearchViewFilter* self = NULL; +#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = (EventsDirectoryPageEventsDirectorySearchViewFilter*) search_view_filter_construct (object_type); +#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self; +#line 2594 "EventsDirectoryPage.c" +} + + +static EventsDirectoryPageEventsDirectorySearchViewFilter* events_directory_page_events_directory_search_view_filter_new (void) { +#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return events_directory_page_events_directory_search_view_filter_construct (EVENTS_DIRECTORY_PAGE_TYPE_EVENTS_DIRECTORY_SEARCH_VIEW_FILTER); +#line 2601 "EventsDirectoryPage.c" +} + + +static void events_directory_page_events_directory_search_view_filter_class_init (EventsDirectoryPageEventsDirectorySearchViewFilterClass * klass) { +#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + events_directory_page_events_directory_search_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((SearchViewFilterClass *) klass)->get_criteria = events_directory_page_events_directory_search_view_filter_real_get_criteria; +#line 14 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((ViewFilterClass *) klass)->predicate = events_directory_page_events_directory_search_view_filter_real_predicate; +#line 2612 "EventsDirectoryPage.c" +} + + +static void events_directory_page_events_directory_search_view_filter_instance_init (EventsDirectoryPageEventsDirectorySearchViewFilter * self) { +} + + +static GType events_directory_page_events_directory_search_view_filter_get_type (void) { + static volatile gsize events_directory_page_events_directory_search_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&events_directory_page_events_directory_search_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsDirectoryPageEventsDirectorySearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_directory_page_events_directory_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsDirectoryPageEventsDirectorySearchViewFilter), 0, (GInstanceInitFunc) events_directory_page_events_directory_search_view_filter_instance_init, NULL }; + GType events_directory_page_events_directory_search_view_filter_type_id; + events_directory_page_events_directory_search_view_filter_type_id = g_type_register_static (TYPE_SEARCH_VIEW_FILTER, "EventsDirectoryPageEventsDirectorySearchViewFilter", &g_define_type_info, 0); + g_once_init_leave (&events_directory_page_events_directory_search_view_filter_type_id__volatile, events_directory_page_events_directory_search_view_filter_type_id); + } + return events_directory_page_events_directory_search_view_filter_type_id__volatile; +} + + +static void events_directory_page_class_init (EventsDirectoryPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + events_directory_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_type_class_add_private (klass, sizeof (EventsDirectoryPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = events_directory_page_real_init_collect_ui_filenames; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((PageClass *) klass)->init_collect_action_entries = events_directory_page_real_init_collect_action_entries; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((PageClass *) klass)->init_collect_toggle_action_entries = events_directory_page_real_init_collect_toggle_action_entries; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((PageClass *) klass)->init_actions = events_directory_page_real_init_actions; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((PageClass *) klass)->update_actions = events_directory_page_real_update_actions; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((CheckerboardPageClass *) klass)->get_view_empty_message = events_directory_page_real_get_view_empty_message; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((CheckerboardPageClass *) klass)->get_filter_no_match_message = events_directory_page_real_get_filter_no_match_message; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((CheckerboardPageClass *) klass)->on_item_activated = events_directory_page_real_on_item_activated; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((CheckerboardPageClass *) klass)->get_search_view_filter = events_directory_page_real_get_search_view_filter; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + G_OBJECT_CLASS (klass)->finalize = events_directory_page_finalize; +#line 2657 "EventsDirectoryPage.c" +} + + +static void events_directory_page_instance_init (EventsDirectoryPage * self) { + EventsDirectoryPageEventsDirectorySearchViewFilter* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->priv = EVENTS_DIRECTORY_PAGE_GET_PRIVATE (self); +#line 43 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = events_directory_page_events_directory_search_view_filter_new (); +#line 43 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->priv->search_filter = _tmp0_; +#line 2669 "EventsDirectoryPage.c" +} + + +static void events_directory_page_finalize (GObject* obj) { + EventsDirectoryPage * self; + GtkRadioAction* action = NULL; + GtkAction* _tmp0_ = NULL; + GtkRadioAction* _tmp1_ = NULL; + GtkRadioAction* _tmp2_ = NULL; + GtkRadioAction* _tmp3_ = NULL; + guint _tmp4_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage); +#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonSortEventsAscending"); +#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp0_) : NULL; +#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp1_ == NULL) { +#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp0_); +#line 2691 "EventsDirectoryPage.c" + } +#line 72 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + action = _tmp1_; +#line 73 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = action; +#line 73 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _vala_assert (_tmp2_ != NULL, "action != null"); +#line 74 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = action; +#line 74 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_signal_parse_name ("changed", gtk_radio_action_get_type (), &_tmp4_, NULL, FALSE); +#line 74 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_signal_handlers_disconnect_matched (_tmp3_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _events_directory_page_on_sort_changed_gtk_radio_action_changed, self); +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (action); +#line 41 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _view_manager_unref0 (self->view_manager); +#line 43 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _view_filter_unref0 (self->priv->search_filter); +#line 7 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + G_OBJECT_CLASS (events_directory_page_parent_class)->finalize (obj); +#line 2713 "EventsDirectoryPage.c" +} + + +GType events_directory_page_get_type (void) { + static volatile gsize events_directory_page_type_id__volatile = 0; + if (g_once_init_enter (&events_directory_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventsDirectoryPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) events_directory_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventsDirectoryPage), 0, (GInstanceInitFunc) events_directory_page_instance_init, NULL }; + GType events_directory_page_type_id; + events_directory_page_type_id = g_type_register_static (TYPE_CHECKERBOARD_PAGE, "EventsDirectoryPage", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&events_directory_page_type_id__volatile, events_directory_page_type_id); + } + return events_directory_page_type_id__volatile; +} + + +MasterEventsDirectoryPage* master_events_directory_page_construct (GType object_type) { + MasterEventsDirectoryPage * self = NULL; + EventsDirectoryPageEventDirectoryManager* _tmp0_ = NULL; + EventsDirectoryPageEventDirectoryManager* _tmp1_ = NULL; + EventSourceCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = events_directory_page_event_directory_manager_new (); +#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = _tmp0_; +#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = event_global; +#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection)); +#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = (MasterEventsDirectoryPage*) events_directory_page_construct (object_type, MASTER_EVENTS_DIRECTORY_PAGE_NAME, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_VIEW_MANAGER, ViewManager), _tmp4_); +#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (_tmp4_); +#line 233 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _view_manager_unref0 (_tmp1_); +#line 232 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self; +#line 2754 "EventsDirectoryPage.c" +} + + +MasterEventsDirectoryPage* master_events_directory_page_new (void) { +#line 232 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return master_events_directory_page_construct (TYPE_MASTER_EVENTS_DIRECTORY_PAGE); +#line 2761 "EventsDirectoryPage.c" +} + + +static void master_events_directory_page_class_init (MasterEventsDirectoryPageClass * klass) { +#line 229 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + master_events_directory_page_parent_class = g_type_class_peek_parent (klass); +#line 2768 "EventsDirectoryPage.c" +} + + +static void master_events_directory_page_instance_init (MasterEventsDirectoryPage * self) { +} + + +GType master_events_directory_page_get_type (void) { + static volatile gsize master_events_directory_page_type_id__volatile = 0; + if (g_once_init_enter (&master_events_directory_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (MasterEventsDirectoryPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) master_events_directory_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MasterEventsDirectoryPage), 0, (GInstanceInitFunc) master_events_directory_page_instance_init, NULL }; + GType master_events_directory_page_type_id; + master_events_directory_page_type_id = g_type_register_static (TYPE_EVENTS_DIRECTORY_PAGE, "MasterEventsDirectoryPage", &g_define_type_info, 0); + g_once_init_leave (&master_events_directory_page_type_id__volatile, master_events_directory_page_type_id); + } + return master_events_directory_page_type_id__volatile; +} + + +GType sub_events_directory_page_directory_type_get_type (void) { + static volatile gsize sub_events_directory_page_directory_type_type_id__volatile = 0; + if (g_once_init_enter (&sub_events_directory_page_directory_type_type_id__volatile)) { + static const GEnumValue values[] = {{SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR, "SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR", "year"}, {SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH, "SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH", "month"}, {SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED, "SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED", "undated"}, {0, NULL, NULL}}; + GType sub_events_directory_page_directory_type_type_id; + sub_events_directory_page_directory_type_type_id = g_enum_register_static ("SubEventsDirectoryPageDirectoryType", values); + g_once_init_leave (&sub_events_directory_page_directory_type_type_id__volatile, sub_events_directory_page_directory_type_type_id); + } + return sub_events_directory_page_directory_type_type_id__volatile; +} + + +static gchar* g_time_format (struct tm *self, const gchar* format) { + gchar* result = NULL; + gchar* buffer = NULL; + gchar* _tmp0_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + gchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; +#line 2709 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (format != NULL, NULL); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, 64); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = _tmp0_; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer_length1 = 64; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _buffer_size_ = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = buffer; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1__length1 = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = format; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self)); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = buffer; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = buffer_length1; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = g_strdup ((const gchar*) _tmp3_); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = (g_free (buffer), NULL); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2842 "EventsDirectoryPage.c" +} + + +SubEventsDirectoryPage* sub_events_directory_page_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time) { + SubEventsDirectoryPage * self = NULL; + gchar* page_name = NULL; + SubEventsDirectoryPageDirectoryType _tmp0_ = 0; + const gchar* _tmp5_ = NULL; + SubEventsDirectoryPageDirectoryType _tmp6_ = 0; + struct tm _tmp7_ = {0}; + SubEventsDirectoryPageSubEventDirectoryManager* _tmp8_ = NULL; + SubEventsDirectoryPageSubEventDirectoryManager* _tmp9_ = NULL; +#line 290 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (time != NULL, NULL); +#line 292 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = type; +#line 292 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp0_ == SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_UNDATED) { +#line 2861 "EventsDirectoryPage.c" + gchar* _tmp1_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = g_strdup (SUB_EVENTS_DIRECTORY_PAGE_UNDATED_PAGE_NAME); +#line 293 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (page_name); +#line 293 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + page_name = _tmp1_; +#line 2869 "EventsDirectoryPage.c" + } else { + const gchar* _tmp2_ = NULL; + SubEventsDirectoryPageDirectoryType _tmp3_ = 0; + gchar* _tmp4_ = NULL; +#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = type; +#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp3_ == SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_YEAR) { +#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = SUB_EVENTS_DIRECTORY_PAGE_YEAR_FORMAT; +#line 2880 "EventsDirectoryPage.c" + } else { +#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = SUB_EVENTS_DIRECTORY_PAGE_MONTH_FORMAT; +#line 2884 "EventsDirectoryPage.c" + } +#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = g_time_format (time, _tmp2_); +#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (page_name); +#line 295 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + page_name = _tmp4_; +#line 2892 "EventsDirectoryPage.c" + } +#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = page_name; +#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp6_ = type; +#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp7_ = *time; +#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = sub_events_directory_page_sub_event_directory_manager_new (_tmp6_, &_tmp7_); +#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = _tmp8_; +#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = (SubEventsDirectoryPage*) events_directory_page_construct (object_type, _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_VIEW_MANAGER, ViewManager), NULL); +#line 298 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _view_manager_unref0 (_tmp9_); +#line 290 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_free0 (page_name); +#line 290 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self; +#line 2912 "EventsDirectoryPage.c" +} + + +SubEventsDirectoryPage* sub_events_directory_page_new (SubEventsDirectoryPageDirectoryType type, struct tm* time) { +#line 290 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return sub_events_directory_page_construct (TYPE_SUB_EVENTS_DIRECTORY_PAGE, type, time); +#line 2919 "EventsDirectoryPage.c" +} + + +gint sub_events_directory_page_get_month (SubEventsDirectoryPage* self) { + gint result = 0; + ViewManager* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 301 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_SUB_EVENTS_DIRECTORY_PAGE (self), 0); +#line 302 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)->view_manager; +#line 302 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = sub_events_directory_page_sub_event_directory_manager_get_month (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager)); +#line 302 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp1_; +#line 302 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2937 "EventsDirectoryPage.c" +} + + +gint sub_events_directory_page_get_year (SubEventsDirectoryPage* self) { + gint result = 0; + ViewManager* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 305 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_SUB_EVENTS_DIRECTORY_PAGE (self), 0); +#line 306 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)->view_manager; +#line 306 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = sub_events_directory_page_sub_event_directory_manager_get_year (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager)); +#line 306 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp1_; +#line 306 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2955 "EventsDirectoryPage.c" +} + + +SubEventsDirectoryPageDirectoryType sub_events_directory_page_get_event_directory_type (SubEventsDirectoryPage* self) { + SubEventsDirectoryPageDirectoryType result = 0; + ViewManager* _tmp0_ = NULL; + SubEventsDirectoryPageDirectoryType _tmp1_ = 0; +#line 309 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_SUB_EVENTS_DIRECTORY_PAGE (self), 0); +#line 310 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)->view_manager; +#line 310 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = sub_events_directory_page_sub_event_directory_manager_get_event_directory_type (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager)); +#line 310 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp1_; +#line 310 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 2973 "EventsDirectoryPage.c" +} + + +static SubEventsDirectoryPageSubEventDirectoryManager* sub_events_directory_page_sub_event_directory_manager_construct (GType object_type, SubEventsDirectoryPageDirectoryType type, struct tm* time) { + SubEventsDirectoryPageSubEventDirectoryManager* self = NULL; + SubEventsDirectoryPageDirectoryType _tmp0_ = 0; + SubEventsDirectoryPageDirectoryType _tmp3_ = 0; + struct tm _tmp4_ = {0}; + gint _tmp5_ = 0; +#line 253 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (time != NULL, NULL); +#line 254 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = (SubEventsDirectoryPageSubEventDirectoryManager*) events_directory_page_event_directory_manager_construct (object_type); +#line 256 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = type; +#line 256 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp0_ == SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH) { +#line 2991 "EventsDirectoryPage.c" + struct tm _tmp1_ = {0}; + gint _tmp2_ = 0; +#line 257 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = *time; +#line 257 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = _tmp1_.tm_mon; +#line 257 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->priv->month = _tmp2_; +#line 3000 "EventsDirectoryPage.c" + } +#line 258 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = type; +#line 258 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->priv->type = _tmp3_; +#line 259 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = *time; +#line 259 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = _tmp4_.tm_year; +#line 259 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->priv->year = _tmp5_; +#line 253 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return self; +#line 3014 "EventsDirectoryPage.c" +} + + +static SubEventsDirectoryPageSubEventDirectoryManager* sub_events_directory_page_sub_event_directory_manager_new (SubEventsDirectoryPageDirectoryType type, struct tm* time) { +#line 253 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return sub_events_directory_page_sub_event_directory_manager_construct (SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, type, time); +#line 3021 "EventsDirectoryPage.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 3036 "EventsDirectoryPage.c" +} + + +static gboolean sub_events_directory_page_sub_event_directory_manager_real_include_in_view (ViewManager* base, DataSource* source) { + SubEventsDirectoryPageSubEventDirectoryManager * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + EventSource* event = NULL; + DataSource* _tmp2_ = NULL; + EventSource* _tmp3_ = NULL; + struct tm event_time = {0}; + EventSource* _tmp4_ = NULL; + time_t _tmp5_ = 0; + struct tm _tmp6_ = {0}; + struct tm _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 262 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager); +#line 262 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 263 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = source; +#line 263 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp1_ = VIEW_MANAGER_CLASS (sub_events_directory_page_sub_event_directory_manager_parent_class)->include_in_view (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, EventsDirectoryPageEventDirectoryManager), TYPE_VIEW_MANAGER, ViewManager), _tmp0_); +#line 263 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (!_tmp1_) { +#line 264 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = FALSE; +#line 264 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 3069 "EventsDirectoryPage.c" + } +#line 266 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp2_ = source; +#line 266 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_EVENT_SOURCE, EventSource)); +#line 266 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + event = _tmp3_; +#line 267 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp4_ = event; +#line 267 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp5_ = event_source_get_start_time (_tmp4_); +#line 267 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_time_local (_tmp5_, &_tmp6_); +#line 267 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + event_time = _tmp6_; +#line 268 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp7_ = event_time; +#line 268 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp8_ = _tmp7_.tm_year; +#line 268 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp9_ = self->priv->year; +#line 268 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp8_ == _tmp9_) { +#line 3093 "EventsDirectoryPage.c" + SubEventsDirectoryPageDirectoryType _tmp10_ = 0; +#line 269 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp10_ = self->priv->type; +#line 269 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + if (_tmp10_ == SUB_EVENTS_DIRECTORY_PAGE_DIRECTORY_TYPE_MONTH) { +#line 3099 "EventsDirectoryPage.c" + struct tm _tmp11_ = {0}; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp11_ = event_time; +#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp12_ = _tmp11_.tm_mon; +#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp13_ = self->priv->month; +#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp12_ == _tmp13_; +#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (event); +#line 270 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 3115 "EventsDirectoryPage.c" + } +#line 272 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = TRUE; +#line 272 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (event); +#line 272 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 3123 "EventsDirectoryPage.c" + } +#line 274 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = FALSE; +#line 274 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _g_object_unref0 (event); +#line 274 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 3131 "EventsDirectoryPage.c" +} + + +static gint sub_events_directory_page_sub_event_directory_manager_get_month (SubEventsDirectoryPageSubEventDirectoryManager* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 277 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER (self), 0); +#line 278 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = self->priv->month; +#line 278 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp0_; +#line 278 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 3146 "EventsDirectoryPage.c" +} + + +static gint sub_events_directory_page_sub_event_directory_manager_get_year (SubEventsDirectoryPageSubEventDirectoryManager* self) { + gint result = 0; + gint _tmp0_ = 0; +#line 281 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER (self), 0); +#line 282 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = self->priv->year; +#line 282 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp0_; +#line 282 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 3161 "EventsDirectoryPage.c" +} + + +static SubEventsDirectoryPageDirectoryType sub_events_directory_page_sub_event_directory_manager_get_event_directory_type (SubEventsDirectoryPageSubEventDirectoryManager* self) { + SubEventsDirectoryPageDirectoryType result = 0; + SubEventsDirectoryPageDirectoryType _tmp0_ = 0; +#line 285 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_return_val_if_fail (SUB_EVENTS_DIRECTORY_PAGE_IS_SUB_EVENT_DIRECTORY_MANAGER (self), 0); +#line 286 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + _tmp0_ = self->priv->type; +#line 286 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + result = _tmp0_; +#line 286 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + return result; +#line 3176 "EventsDirectoryPage.c" +} + + +static void sub_events_directory_page_sub_event_directory_manager_class_init (SubEventsDirectoryPageSubEventDirectoryManagerClass * klass) { +#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + sub_events_directory_page_sub_event_directory_manager_parent_class = g_type_class_peek_parent (klass); +#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((ViewManagerClass *) klass)->finalize = sub_events_directory_page_sub_event_directory_manager_finalize; +#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + g_type_class_add_private (klass, sizeof (SubEventsDirectoryPageSubEventDirectoryManagerPrivate)); +#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + ((ViewManagerClass *) klass)->include_in_view = sub_events_directory_page_sub_event_directory_manager_real_include_in_view; +#line 3189 "EventsDirectoryPage.c" +} + + +static void sub_events_directory_page_sub_event_directory_manager_instance_init (SubEventsDirectoryPageSubEventDirectoryManager * self) { +#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->priv = SUB_EVENTS_DIRECTORY_PAGE_SUB_EVENT_DIRECTORY_MANAGER_GET_PRIVATE (self); +#line 249 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->priv->month = 0; +#line 250 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self->priv->year = 0; +#line 3200 "EventsDirectoryPage.c" +} + + +static void sub_events_directory_page_sub_event_directory_manager_finalize (ViewManager* obj) { + SubEventsDirectoryPageSubEventDirectoryManager * self; +#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SUB_EVENTS_DIRECTORY_PAGE_TYPE_SUB_EVENT_DIRECTORY_MANAGER, SubEventsDirectoryPageSubEventDirectoryManager); +#line 248 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + VIEW_MANAGER_CLASS (sub_events_directory_page_sub_event_directory_manager_parent_class)->finalize (obj); +#line 3210 "EventsDirectoryPage.c" +} + + +static GType sub_events_directory_page_sub_event_directory_manager_get_type (void) { + static volatile gsize sub_events_directory_page_sub_event_directory_manager_type_id__volatile = 0; + if (g_once_init_enter (&sub_events_directory_page_sub_event_directory_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SubEventsDirectoryPageSubEventDirectoryManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sub_events_directory_page_sub_event_directory_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SubEventsDirectoryPageSubEventDirectoryManager), 0, (GInstanceInitFunc) sub_events_directory_page_sub_event_directory_manager_instance_init, NULL }; + GType sub_events_directory_page_sub_event_directory_manager_type_id; + sub_events_directory_page_sub_event_directory_manager_type_id = g_type_register_static (EVENTS_DIRECTORY_PAGE_TYPE_EVENT_DIRECTORY_MANAGER, "SubEventsDirectoryPageSubEventDirectoryManager", &g_define_type_info, 0); + g_once_init_leave (&sub_events_directory_page_sub_event_directory_manager_type_id__volatile, sub_events_directory_page_sub_event_directory_manager_type_id); + } + return sub_events_directory_page_sub_event_directory_manager_type_id__volatile; +} + + +static void sub_events_directory_page_class_init (SubEventsDirectoryPageClass * klass) { +#line 237 "/home/jens/Source/shotwell/src/events/EventsDirectoryPage.vala" + sub_events_directory_page_parent_class = g_type_class_peek_parent (klass); +#line 3229 "EventsDirectoryPage.c" +} + + +static void sub_events_directory_page_instance_init (SubEventsDirectoryPage * self) { +} + + +GType sub_events_directory_page_get_type (void) { + static volatile gsize sub_events_directory_page_type_id__volatile = 0; + if (g_once_init_enter (&sub_events_directory_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SubEventsDirectoryPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sub_events_directory_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SubEventsDirectoryPage), 0, (GInstanceInitFunc) sub_events_directory_page_instance_init, NULL }; + GType sub_events_directory_page_type_id; + sub_events_directory_page_type_id = g_type_register_static (TYPE_EVENTS_DIRECTORY_PAGE, "SubEventsDirectoryPage", &g_define_type_info, 0); + g_once_init_leave (&sub_events_directory_page_type_id__volatile, sub_events_directory_page_type_id); + } + return sub_events_directory_page_type_id__volatile; +} + + + diff --git a/src/events/mk/events.mk b/src/events/mk/events.mk deleted file mode 100644 index d09fc0f..0000000 --- a/src/events/mk/events.mk +++ /dev/null @@ -1,32 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Events - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := events - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - Branch.vala \ - EventsDirectoryPage.vala \ - EventPage.vala \ - EventDirectoryItem.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Sidebar - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/folders/Branch.c b/src/folders/Branch.c new file mode 100644 index 0000000..7736860 --- /dev/null +++ b/src/folders/Branch.c @@ -0,0 +1,2108 @@ +/* Branch.c generated by valac 0.32.1, the Vala compiler + * generated from Branch.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; +typedef struct _SidebarBranchPrivate SidebarBranchPrivate; + +#define FOLDERS_TYPE_BRANCH (folders_branch_get_type ()) +#define FOLDERS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_TYPE_BRANCH, FoldersBranch)) +#define FOLDERS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_TYPE_BRANCH, FoldersBranchClass)) +#define FOLDERS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_TYPE_BRANCH)) +#define FOLDERS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_TYPE_BRANCH)) +#define FOLDERS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_TYPE_BRANCH, FoldersBranchClass)) + +typedef struct _FoldersBranch FoldersBranch; +typedef struct _FoldersBranchClass FoldersBranchClass; +typedef struct _FoldersBranchPrivate FoldersBranchPrivate; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; + +#define FOLDERS_TYPE_SIDEBAR_ENTRY (folders_sidebar_entry_get_type ()) +#define FOLDERS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry)) +#define FOLDERS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntryClass)) +#define FOLDERS_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_TYPE_SIDEBAR_ENTRY)) +#define FOLDERS_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_TYPE_SIDEBAR_ENTRY)) +#define FOLDERS_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntryClass)) + +typedef struct _FoldersSidebarEntry FoldersSidebarEntry; +typedef struct _FoldersSidebarEntryClass FoldersSidebarEntryClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ()) +#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping)) +#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) +#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) + +typedef struct _SidebarGrouping SidebarGrouping; +typedef struct _SidebarGroupingClass SidebarGroupingClass; + +#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ()) +#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader)) +#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) +#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) + +typedef struct _SidebarHeader SidebarHeader; +typedef struct _SidebarHeaderClass SidebarHeaderClass; + +#define FOLDERS_TYPE_ROOT (folders_root_get_type ()) +#define FOLDERS_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_TYPE_ROOT, FoldersRoot)) +#define FOLDERS_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_TYPE_ROOT, FoldersRootClass)) +#define FOLDERS_IS_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_TYPE_ROOT)) +#define FOLDERS_IS_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_TYPE_ROOT)) +#define FOLDERS_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_TYPE_ROOT, FoldersRootClass)) + +typedef struct _FoldersRoot FoldersRoot; +typedef struct _FoldersRootClass FoldersRootClass; + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#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 SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; + +#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ()) +#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)) +#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY)) +#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface)) + +typedef struct _SidebarRenameableEntry SidebarRenameableEntry; +typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface; +typedef struct _SidebarGroupingPrivate SidebarGroupingPrivate; + +#define SIDEBAR_TYPE_EMPHASIZABLE_ENTRY (sidebar_emphasizable_entry_get_type ()) +#define SIDEBAR_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntry)) +#define SIDEBAR_IS_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY)) +#define SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntryIface)) + +typedef struct _SidebarEmphasizableEntry SidebarEmphasizableEntry; +typedef struct _SidebarEmphasizableEntryIface SidebarEmphasizableEntryIface; +typedef struct _SidebarHeaderPrivate SidebarHeaderPrivate; +typedef struct _FoldersRootPrivate FoldersRootPrivate; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; +typedef struct _FoldersSidebarEntryPrivate FoldersSidebarEntryPrivate; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define FOLDERS_TYPE_PAGE (folders_page_get_type ()) +#define FOLDERS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_TYPE_PAGE, FoldersPage)) +#define FOLDERS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_TYPE_PAGE, FoldersPageClass)) +#define FOLDERS_IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_TYPE_PAGE)) +#define FOLDERS_IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_TYPE_PAGE)) +#define FOLDERS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_TYPE_PAGE, FoldersPageClass)) + +typedef struct _FoldersPage FoldersPage; +typedef struct _FoldersPageClass FoldersPageClass; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _SidebarBranch { + GObject parent_instance; + SidebarBranchPrivate * priv; +}; + +struct _SidebarBranchClass { + GObjectClass parent_class; +}; + +struct _FoldersBranch { + SidebarBranch parent_instance; + FoldersBranchPrivate * priv; +}; + +struct _FoldersBranchClass { + SidebarBranchClass parent_class; +}; + +struct _FoldersBranchPrivate { + GeeHashMap* entries; + GFile* home_dir; +}; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +typedef enum { + SIDEBAR_BRANCH_OPTIONS_NONE = 0, + SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0, + SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1, + SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2, + SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3 +} SidebarBranchOptions; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _SidebarRenameableEntryIface { + GTypeInterface parent_iface; + void (*rename) (SidebarRenameableEntry* self, const gchar* new_name); + gboolean (*is_user_renameable) (SidebarRenameableEntry* self); +}; + +struct _SidebarGrouping { + GObject parent_instance; + SidebarGroupingPrivate * priv; +}; + +struct _SidebarGroupingClass { + GObjectClass parent_class; +}; + +struct _SidebarEmphasizableEntryIface { + GTypeInterface parent_iface; + gboolean (*is_emphasized) (SidebarEmphasizableEntry* self); +}; + +struct _SidebarHeader { + SidebarGrouping parent_instance; + SidebarHeaderPrivate * priv; +}; + +struct _SidebarHeaderClass { + SidebarGroupingClass parent_class; +}; + +struct _FoldersRoot { + SidebarHeader parent_instance; + FoldersRootPrivate * priv; +}; + +struct _FoldersRootClass { + SidebarHeaderClass parent_class; +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _FoldersSidebarEntry { + SidebarSimplePageEntry parent_instance; + FoldersSidebarEntryPrivate * priv; +}; + +struct _FoldersSidebarEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _FoldersSidebarEntryPrivate { + GFile* _dir; + gchar* _collation; + gint _count; +}; + + +static gpointer folders_branch_parent_class = NULL; +static gpointer folders_root_parent_class = NULL; +static gpointer folders_sidebar_entry_parent_class = NULL; +extern gchar* folders_icon; +extern gchar* folders_have_photos_icon; +static SidebarExpandableEntryIface* folders_sidebar_entry_sidebar_expandable_entry_parent_iface = NULL; + +GType sidebar_branch_get_type (void) G_GNUC_CONST; +GType folders_branch_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType folders_sidebar_entry_get_type (void) G_GNUC_CONST; +#define FOLDERS_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), FOLDERS_TYPE_BRANCH, FoldersBranchPrivate)) +enum { + FOLDERS_BRANCH_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +GType data_object_get_type (void) G_GNUC_CONST; +static void folders_branch_on_media_contents_altered (FoldersBranch* self, GeeIterable* added, GeeIterable* removed); +static void _folders_branch_on_media_contents_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +guint file_hash (GFile* file); +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self); +gboolean file_equal (GFile* a, GFile* b); +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self); +FoldersBranch* folders_branch_new (void); +FoldersBranch* folders_branch_construct (GType object_type); +FoldersRoot* folders_root_new (void); +FoldersRoot* folders_root_construct (GType object_type); +GType sidebar_grouping_get_type (void) G_GNUC_CONST; +GType sidebar_header_get_type (void) G_GNUC_CONST; +GType folders_root_get_type (void) G_GNUC_CONST; +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_branch_options_get_type (void) G_GNUC_CONST; +static gint folders_branch_comparator (SidebarEntry* a, SidebarEntry* b); +static gint _folders_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b); +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +GeeCollection* data_collection_get_all (DataCollection* self); +const gchar* folders_sidebar_entry_get_collation (FoldersSidebarEntry* self); +gchar* sidebar_simple_page_entry_get_sidebar_name (SidebarSimplePageEntry* self); +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +static void folders_branch_on_master_source_replaced (FoldersBranch* self, MediaSource* media_source, GFile* old_file, GFile* new_file); +static void folders_branch_remove_entry (FoldersBranch* self, GFile* file); +static void folders_branch_add_entry (FoldersBranch* self, MediaSource* media); +static void _folders_branch_on_master_source_replaced_media_source_master_replaced (MediaSource* _sender, GFile* old_file, GFile* new_file, gpointer self); +GFile* media_source_get_file (MediaSource* self); +FoldersSidebarEntry* folders_sidebar_entry_new (GFile* dir); +FoldersSidebarEntry* folders_sidebar_entry_construct (GType object_type, GFile* dir); +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self); +void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator); +gint folders_sidebar_entry_get_count (FoldersSidebarEntry* self); +void folders_sidebar_entry_set_count (FoldersSidebarEntry* self, gint value); +gint sidebar_branch_get_child_count (SidebarBranch* self, SidebarEntry* parent); +GFile* folders_sidebar_entry_get_dir (FoldersSidebarEntry* self); +SidebarEntry* sidebar_branch_get_parent (SidebarBranch* self, SidebarEntry* entry); +void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry); +static void folders_branch_finalize (GObject* obj); +GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_emphasizable_entry_get_type (void) G_GNUC_CONST; +enum { + FOLDERS_ROOT_DUMMY_PROPERTY +}; +SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized); +SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +#define FOLDERS_SIDEBAR_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntryPrivate)) +enum { + FOLDERS_SIDEBAR_ENTRY_DUMMY_PROPERTY, + FOLDERS_SIDEBAR_ENTRY_DIR, + FOLDERS_SIDEBAR_ENTRY_COLLATION, + FOLDERS_SIDEBAR_ENTRY_COUNT +}; +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type); +static void folders_sidebar_entry_set_dir (FoldersSidebarEntry* self, GFile* value); +gchar* g_utf8_collate_key_for_filename (const gchar* str, gssize len); +static void folders_sidebar_entry_set_collation (FoldersSidebarEntry* self, const gchar* value); +static gchar* folders_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +static gchar* folders_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static gchar* folders_sidebar_entry_real_to_string (SidebarSimplePageEntry* base); +static gboolean folders_sidebar_entry_real_expand_on_select (SidebarExpandableEntry* base); +static Page* folders_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +FoldersPage* folders_page_new (GFile* dir); +FoldersPage* folders_page_construct (GType object_type, GFile* dir); +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; +GType folders_page_get_type (void) G_GNUC_CONST; +gchar* sidebar_simple_page_entry_get_sidebar_icon (SidebarSimplePageEntry* self); +static void folders_sidebar_entry_finalize (GObject* obj); +static void _vala_folders_sidebar_entry_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_folders_sidebar_entry_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); + + +static void _folders_branch_on_media_contents_altered_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 28 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_branch_on_media_contents_altered ((FoldersBranch*) self, added, removed); +#line 564 "Branch.c" +} + + +static guint _file_hash_gee_hash_data_func (gconstpointer v, gpointer self) { + guint result; + result = file_hash ((GFile*) v); +#line 8 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 573 "Branch.c" +} + + +static gboolean _file_equal_gee_equal_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gboolean result; + result = file_equal ((GFile*) a, (GFile*) b); +#line 8 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 582 "Branch.c" +} + + +static gint _folders_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = folders_branch_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 13 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 591 "Branch.c" +} + + +FoldersBranch* folders_branch_construct (GType object_type) { + FoldersBranch * self = NULL; + FoldersRoot* _tmp0_ = NULL; + FoldersRoot* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = folders_root_new (); +#line 13 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = _tmp0_; +#line 13 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = (FoldersBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SIDEBAR_TYPE_ENTRY, SidebarEntry), SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING, _folders_branch_comparator_gcompare_func, NULL); +#line 13 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp1_); +#line 15 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = g_get_home_dir (); +#line 15 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 15 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (self->priv->home_dir); +#line 15 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self->priv->home_dir = _tmp3_; +#line 617 "Branch.c" + { + GeeIterator* _sources_it = NULL; + MediaCollectionRegistry* _tmp4_ = NULL; + MediaCollectionRegistry* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = media_collection_registry_get_instance (); +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = _tmp4_; +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp6_ = media_collection_registry_get_all (_tmp5_); +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp7_ = _tmp6_; +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp8_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp9_ = _tmp8_; +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp7_); +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _media_collection_registry_unref0 (_tmp5_); +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _sources_it = _tmp9_; +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + while (TRUE) { +#line 646 "Branch.c" + GeeIterator* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; + MediaSourceCollection* _tmp14_ = NULL; + GeeCollection* _tmp15_ = NULL; + GeeCollection* _tmp16_ = NULL; + MediaSourceCollection* _tmp17_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp10_ = _sources_it; +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp11_ = gee_iterator_next (_tmp10_); +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (!_tmp11_) { +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 664 "Branch.c" + } +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp12_ = _sources_it; +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp13_ = gee_iterator_get (_tmp12_); +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + sources = (MediaSourceCollection*) _tmp13_; +#line 19 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp14_ = sources; +#line 19 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp15_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection)); +#line 19 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp16_ = _tmp15_; +#line 19 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_branch_on_media_contents_altered (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_ITERABLE, GeeIterable), NULL); +#line 19 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp16_); +#line 22 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp17_ = sources; +#line 22 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _folders_branch_on_media_contents_altered_data_collection_contents_altered, self, 0); +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _data_collection_unref0 (sources); +#line 688 "Branch.c" + } +#line 17 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_sources_it); +#line 692 "Branch.c" + } +#line 12 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return self; +#line 696 "Branch.c" +} + + +FoldersBranch* folders_branch_new (void) { +#line 12 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return folders_branch_construct (FOLDERS_TYPE_BRANCH); +#line 703 "Branch.c" +} + + +static gint folders_branch_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gint coll_key_equality = 0; + GCompareFunc _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + SidebarEntry* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 31 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 31 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 32 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = a; +#line 32 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = b; +#line 32 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 33 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = 0; +#line 33 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 735 "Branch.c" + } +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = g_strcmp0; +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = a; +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = folders_sidebar_entry_get_collation (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry)); +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = _tmp4_; +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp6_ = b; +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp7_ = folders_sidebar_entry_get_collation (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry)); +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp8_ = _tmp7_; +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp9_ = _tmp2_ (_tmp5_, _tmp8_); +#line 35 "/home/jens/Source/shotwell/src/folders/Branch.vala" + coll_key_equality = _tmp9_; +#line 38 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp10_ = coll_key_equality; +#line 38 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp10_ == 0) { +#line 759 "Branch.c" + GCompareFunc _tmp11_ = NULL; + SidebarEntry* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + SidebarEntry* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp11_ = g_strcmp0; +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp12_ = a; +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp13_ = sidebar_simple_page_entry_get_sidebar_name (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)); +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp14_ = _tmp13_; +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp15_ = b; +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp16_ = sidebar_simple_page_entry_get_sidebar_name (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)); +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp17_ = _tmp16_; +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp18_ = _tmp11_ (_tmp14_, _tmp17_); +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp19_ = _tmp18_; +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_free0 (_tmp17_); +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_free0 (_tmp14_); +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = _tmp19_; +#line 41 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 795 "Branch.c" + } +#line 45 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = coll_key_equality; +#line 45 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 801 "Branch.c" +} + + +static void folders_branch_on_master_source_replaced (FoldersBranch* self, MediaSource* media_source, GFile* old_file, GFile* new_file) { + GFile* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (FOLDERS_IS_BRANCH (self)); +#line 48 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (IS_MEDIA_SOURCE (media_source)); +#line 48 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (G_IS_FILE (old_file)); +#line 48 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (G_IS_FILE (new_file)); +#line 49 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = old_file; +#line 49 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_branch_remove_entry (self, _tmp0_); +#line 50 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = media_source; +#line 50 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_branch_add_entry (self, _tmp1_); +#line 824 "Branch.c" +} + + +static void _folders_branch_on_master_source_replaced_media_source_master_replaced (MediaSource* _sender, GFile* old_file, GFile* new_file, gpointer self) { +#line 57 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_branch_on_master_source_replaced ((FoldersBranch*) self, _sender, old_file, new_file); +#line 831 "Branch.c" +} + + +static void folders_branch_on_media_contents_altered (FoldersBranch* self, GeeIterable* added, GeeIterable* removed) { + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp9_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (FOLDERS_IS_BRANCH (self)); +#line 53 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail ((added == NULL) || GEE_IS_ITERABLE (added)); +#line 53 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 54 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = added; +#line 54 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp0_ != NULL) { +#line 848 "Branch.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = added; +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = gee_iterable_iterator (_tmp1_); +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _object_it = _tmp2_; +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + while (TRUE) { +#line 861 "Branch.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + DataObject* _tmp7_ = NULL; + DataObject* _tmp8_ = NULL; +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = _object_it; +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (!_tmp4_) { +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 877 "Branch.c" + } +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = _object_it; +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + object = (DataObject*) _tmp6_; +#line 56 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp7_ = object; +#line 56 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_branch_add_entry (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 57 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp8_ = object; +#line 57 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE, MediaSource), "master-replaced", (GCallback) _folders_branch_on_master_source_replaced_media_source_master_replaced, self, 0); +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (object); +#line 895 "Branch.c" + } +#line 55 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_object_it); +#line 899 "Branch.c" + } + } +#line 61 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp9_ = removed; +#line 61 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp9_ != NULL) { +#line 906 "Branch.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp10_ = removed; +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp11_ = gee_iterable_iterator (_tmp10_); +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _object_it = _tmp11_; +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + while (TRUE) { +#line 919 "Branch.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + DataObject* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + GFile* _tmp18_ = NULL; + DataObject* _tmp19_ = NULL; + guint _tmp20_ = 0U; +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp12_ = _object_it; +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (!_tmp13_) { +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 938 "Branch.c" + } +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp14_ = _object_it; +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + object = (DataObject*) _tmp15_; +#line 63 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp16_ = object; +#line 63 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp17_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 63 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp18_ = _tmp17_; +#line 63 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_branch_remove_entry (self, _tmp18_); +#line 63 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp18_); +#line 64 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp19_ = object; +#line 64 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_signal_parse_name ("master-replaced", TYPE_MEDIA_SOURCE, &_tmp20_, NULL, FALSE); +#line 64 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_MEDIA_SOURCE, MediaSource), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp20_, 0, NULL, (GCallback) _folders_branch_on_master_source_replaced_media_source_master_replaced, self); +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (object); +#line 964 "Branch.c" + } +#line 62 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_object_it); +#line 968 "Branch.c" + } + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 93 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return self ? g_object_ref (self) : NULL; +#line 977 "Branch.c" +} + + +static void folders_branch_add_entry (FoldersBranch* self, MediaSource* media) { + GFile* file = NULL; + MediaSource* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GeeArrayList* elements = NULL; + GeeArrayList* _tmp2_ = NULL; + GFile* parent = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + FoldersSidebarEntry* parent_entry = NULL; +#line 69 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (FOLDERS_IS_BRANCH (self)); +#line 69 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (IS_MEDIA_SOURCE (media)); +#line 70 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = media; +#line 70 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = media_source_get_file (_tmp0_); +#line 70 "/home/jens/Source/shotwell/src/folders/Branch.vala" + file = _tmp1_; +#line 72 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = gee_array_list_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 72 "/home/jens/Source/shotwell/src/folders/Branch.vala" + elements = _tmp2_; +#line 75 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = file; +#line 75 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = g_file_get_parent (_tmp3_); +#line 75 "/home/jens/Source/shotwell/src/folders/Branch.vala" + parent = _tmp4_; +#line 76 "/home/jens/Source/shotwell/src/folders/Branch.vala" + while (TRUE) { +#line 1013 "Branch.c" + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp11_ = FALSE; + GeeArrayList* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = parent; +#line 76 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (!(_tmp5_ != NULL)) { +#line 76 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 1031 "Branch.c" + } +#line 78 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp6_ = parent; +#line 78 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp7_ = self->priv->home_dir; +#line 78 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp8_ = g_file_get_parent (_tmp7_); +#line 78 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp9_ = _tmp8_; +#line 78 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp10_ = g_file_equal (_tmp6_, _tmp9_); +#line 78 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp11_ = _tmp10_; +#line 78 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp9_); +#line 78 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp11_) { +#line 79 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 1051 "Branch.c" + } +#line 81 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp12_ = elements; +#line 81 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp13_ = parent; +#line 81 "/home/jens/Source/shotwell/src/folders/Branch.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_); +#line 83 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp14_ = parent; +#line 83 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp15_ = g_file_get_parent (_tmp14_); +#line 83 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (parent); +#line 83 "/home/jens/Source/shotwell/src/folders/Branch.vala" + parent = _tmp15_; +#line 1067 "Branch.c" + } +#line 88 "/home/jens/Source/shotwell/src/folders/Branch.vala" + parent_entry = NULL; +#line 1071 "Branch.c" + { + gint ctr = 0; + GeeArrayList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp16_ = elements; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp17_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp18_ = _tmp17_; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + ctr = _tmp18_ - 1; +#line 1085 "Branch.c" + { + gboolean _tmp19_ = FALSE; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp19_ = TRUE; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + while (TRUE) { +#line 1092 "Branch.c" + gint _tmp21_ = 0; + GFile* parent_dir = NULL; + GeeArrayList* _tmp22_ = NULL; + gint _tmp23_ = 0; + gpointer _tmp24_ = NULL; + FoldersSidebarEntry* old_parent_entry = NULL; + FoldersSidebarEntry* _tmp25_ = NULL; + FoldersSidebarEntry* _tmp26_ = NULL; + GeeHashMap* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + gpointer _tmp29_ = NULL; + FoldersSidebarEntry* _tmp30_ = NULL; + gint _tmp42_ = 0; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (!_tmp19_) { +#line 1108 "Branch.c" + gint _tmp20_ = 0; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp20_ = ctr; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + ctr = _tmp20_ - 1; +#line 1114 "Branch.c" + } +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp19_ = FALSE; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp21_ = ctr; +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (!(_tmp21_ >= 0)) { +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 1124 "Branch.c" + } +#line 90 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp22_ = elements; +#line 90 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp23_ = ctr; +#line 90 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp24_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp23_); +#line 90 "/home/jens/Source/shotwell/src/folders/Branch.vala" + parent_dir = (GFile*) _tmp24_; +#line 93 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp25_ = parent_entry; +#line 93 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp26_ = _g_object_ref0 (_tmp25_); +#line 93 "/home/jens/Source/shotwell/src/folders/Branch.vala" + old_parent_entry = _tmp26_; +#line 95 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp27_ = self->priv->entries; +#line 95 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp28_ = parent_dir; +#line 95 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp29_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp28_); +#line 95 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (parent_entry); +#line 95 "/home/jens/Source/shotwell/src/folders/Branch.vala" + parent_entry = (FoldersSidebarEntry*) _tmp29_; +#line 96 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp30_ = parent_entry; +#line 96 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp30_ == NULL) { +#line 1154 "Branch.c" + GFile* _tmp31_ = NULL; + FoldersSidebarEntry* _tmp32_ = NULL; + GeeHashMap* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + FoldersSidebarEntry* _tmp35_ = NULL; + SidebarEntry* _tmp36_ = NULL; + FoldersSidebarEntry* _tmp37_ = NULL; + FoldersSidebarEntry* _tmp41_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp31_ = parent_dir; +#line 97 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp32_ = folders_sidebar_entry_new (_tmp31_); +#line 97 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (parent_entry); +#line 97 "/home/jens/Source/shotwell/src/folders/Branch.vala" + parent_entry = _tmp32_; +#line 98 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp33_ = self->priv->entries; +#line 98 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp34_ = parent_dir; +#line 98 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp35_ = parent_entry; +#line 98 "/home/jens/Source/shotwell/src/folders/Branch.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp34_, _tmp35_); +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp37_ = old_parent_entry; +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp37_ == NULL) { +#line 1183 "Branch.c" + SidebarEntry* _tmp38_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp38_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp36_); +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp36_ = _tmp38_; +#line 1191 "Branch.c" + } else { + FoldersSidebarEntry* _tmp39_ = NULL; + SidebarEntry* _tmp40_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp39_ = old_parent_entry; +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp40_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp36_); +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp36_ = _tmp40_; +#line 1203 "Branch.c" + } +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp41_ = parent_entry; +#line 100 "/home/jens/Source/shotwell/src/folders/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL); +#line 96 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp36_); +#line 1211 "Branch.c" + } +#line 104 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp42_ = ctr; +#line 104 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp42_ == 0) { +#line 1217 "Branch.c" + FoldersSidebarEntry* _tmp43_ = NULL; + gint _tmp44_ = 0; + gint _tmp45_ = 0; +#line 105 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp43_ = parent_entry; +#line 105 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp44_ = folders_sidebar_entry_get_count (_tmp43_); +#line 105 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp45_ = _tmp44_; +#line 105 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_set_count (_tmp43_, _tmp45_ + 1); +#line 1229 "Branch.c" + } +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (old_parent_entry); +#line 89 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (parent_dir); +#line 1235 "Branch.c" + } + } + } +#line 69 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (parent_entry); +#line 69 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (parent); +#line 69 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (elements); +#line 69 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (file); +#line 1247 "Branch.c" +} + + +static void folders_branch_remove_entry (FoldersBranch* self, GFile* file) { + FoldersSidebarEntry* folder_entry = NULL; + GeeHashMap* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gpointer _tmp4_ = NULL; + FoldersSidebarEntry* _tmp5_ = NULL; + FoldersSidebarEntry* _tmp6_ = NULL; + FoldersSidebarEntry* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gboolean _tmp10_ = FALSE; + FoldersSidebarEntry* _tmp11_ = NULL; + FoldersSidebarEntry* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + FoldersSidebarEntry* prune_point = NULL; + FoldersSidebarEntry* _tmp17_ = NULL; + FoldersSidebarEntry* _tmp18_ = NULL; + FoldersSidebarEntry* _tmp19_ = NULL; + FoldersSidebarEntry* _tmp40_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (FOLDERS_IS_BRANCH (self)); +#line 109 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 110 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = self->priv->entries; +#line 110 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = file; +#line 110 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = g_file_get_parent (_tmp1_); +#line 110 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = _tmp2_; +#line 110 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_); +#line 110 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = (FoldersSidebarEntry*) _tmp4_; +#line 110 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 110 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folder_entry = _tmp5_; +#line 111 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp6_ = folder_entry; +#line 111 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp6_ == NULL) { +#line 112 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (folder_entry); +#line 112 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return; +#line 1301 "Branch.c" + } +#line 114 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp7_ = folder_entry; +#line 114 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp8_ = folders_sidebar_entry_get_count (_tmp7_); +#line 114 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp9_ = _tmp8_; +#line 114 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _vala_assert (_tmp9_ > 0, "folder_entry.count > 0"); +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp11_ = folder_entry; +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp12_ = folder_entry; +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp13_ = folders_sidebar_entry_get_count (_tmp12_); +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp14_ = _tmp13_; +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_set_count (_tmp12_, _tmp14_ - 1); +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if ((_tmp14_ - 1) > 0) { +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp10_ = TRUE; +#line 1325 "Branch.c" + } else { + FoldersSidebarEntry* _tmp15_ = NULL; + gint _tmp16_ = 0; +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp15_ = folder_entry; +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp16_ = sidebar_branch_get_child_count (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp10_ = _tmp16_ > 0; +#line 1335 "Branch.c" + } +#line 117 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp10_) { +#line 118 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (folder_entry); +#line 118 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return; +#line 1343 "Branch.c" + } +#line 121 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp17_ = folder_entry; +#line 121 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 121 "/home/jens/Source/shotwell/src/folders/Branch.vala" + prune_point = _tmp18_; +#line 122 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp19_ = prune_point; +#line 122 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _vala_assert (_tmp19_ != NULL, "prune_point != null"); +#line 1355 "Branch.c" + { + gboolean _tmp20_ = FALSE; +#line 124 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp20_ = TRUE; +#line 124 "/home/jens/Source/shotwell/src/folders/Branch.vala" + while (TRUE) { +#line 1362 "Branch.c" + gboolean removed = FALSE; + GeeHashMap* _tmp21_ = NULL; + FoldersSidebarEntry* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + gboolean _tmp26_ = FALSE; + FoldersSidebarEntry* parent = NULL; + FoldersSidebarEntry* _tmp27_ = NULL; + SidebarEntry* _tmp28_ = NULL; + FoldersSidebarEntry* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + gboolean _tmp31_ = FALSE; + FoldersSidebarEntry* _tmp32_ = NULL; + FoldersSidebarEntry* _tmp38_ = NULL; + FoldersSidebarEntry* _tmp39_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (!_tmp20_) { +#line 1381 "Branch.c" + } +#line 124 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp20_ = FALSE; +#line 125 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp21_ = self->priv->entries; +#line 125 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp22_ = prune_point; +#line 125 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp23_ = folders_sidebar_entry_get_dir (_tmp22_); +#line 125 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp24_ = _tmp23_; +#line 125 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp25_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_, NULL); +#line 125 "/home/jens/Source/shotwell/src/folders/Branch.vala" + removed = _tmp25_; +#line 126 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp26_ = removed; +#line 126 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _vala_assert (_tmp26_, "removed"); +#line 128 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp27_ = prune_point; +#line 128 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp28_ = sidebar_branch_get_parent (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 128 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp29_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp28_, FOLDERS_TYPE_SIDEBAR_ENTRY) ? ((FoldersSidebarEntry*) _tmp28_) : NULL; +#line 128 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp29_ == NULL) { +#line 128 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp28_); +#line 1411 "Branch.c" + } +#line 128 "/home/jens/Source/shotwell/src/folders/Branch.vala" + parent = _tmp29_; +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp32_ = parent; +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp32_ == NULL) { +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp31_ = TRUE; +#line 1421 "Branch.c" + } else { + FoldersSidebarEntry* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp33_ = parent; +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp34_ = folders_sidebar_entry_get_count (_tmp33_); +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp35_ = _tmp34_; +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp31_ = _tmp35_ != 0; +#line 1434 "Branch.c" + } +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp31_) { +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp30_ = TRUE; +#line 1440 "Branch.c" + } else { + FoldersSidebarEntry* _tmp36_ = NULL; + gint _tmp37_ = 0; +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp36_ = parent; +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp37_ = sidebar_branch_get_child_count (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp30_ = _tmp37_ > 1; +#line 1450 "Branch.c" + } +#line 129 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp30_) { +#line 130 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (parent); +#line 130 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 1458 "Branch.c" + } +#line 132 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp38_ = parent; +#line 132 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp39_ = _g_object_ref0 (_tmp38_); +#line 132 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (prune_point); +#line 132 "/home/jens/Source/shotwell/src/folders/Branch.vala" + prune_point = _tmp39_; +#line 124 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (parent); +#line 1470 "Branch.c" + } + } +#line 135 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp40_ = prune_point; +#line 135 "/home/jens/Source/shotwell/src/folders/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 109 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (prune_point); +#line 109 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (folder_entry); +#line 1481 "Branch.c" +} + + +static void folders_branch_class_init (FoldersBranchClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_branch_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_type_class_add_private (klass, sizeof (FoldersBranchPrivate)); +#line 7 "/home/jens/Source/shotwell/src/folders/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = folders_branch_finalize; +#line 1492 "Branch.c" +} + + +static void folders_branch_instance_init (FoldersBranch * self) { + GeeHashMap* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self->priv = FOLDERS_BRANCH_GET_PRIVATE (self); +#line 8 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, FOLDERS_TYPE_SIDEBAR_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, _file_hash_gee_hash_data_func, NULL, NULL, _file_equal_gee_equal_data_func, NULL, NULL, NULL, NULL, NULL); +#line 8 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self->priv->entries = _tmp0_; +#line 1504 "Branch.c" +} + + +static void folders_branch_finalize (GObject* obj) { + FoldersBranch * self; +#line 7 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, FOLDERS_TYPE_BRANCH, FoldersBranch); +#line 1512 "Branch.c" + { + GeeIterator* _sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = _tmp0_; +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = _tmp2_; +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = _tmp4_; +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _sources_it = _tmp5_; +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + while (TRUE) { +#line 1541 "Branch.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp6_ = _sources_it; +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (!_tmp7_) { +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 1557 "Branch.c" + } +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp8_ = _sources_it; +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + sources = (MediaSourceCollection*) _tmp9_; +#line 28 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp10_ = sources; +#line 28 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp11_, NULL, FALSE); +#line 28 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _folders_branch_on_media_contents_altered_data_collection_contents_altered, self); +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _data_collection_unref0 (sources); +#line 1573 "Branch.c" + } +#line 27 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (_sources_it); +#line 1577 "Branch.c" + } +#line 8 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (self->priv->entries); +#line 10 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (self->priv->home_dir); +#line 7 "/home/jens/Source/shotwell/src/folders/Branch.vala" + G_OBJECT_CLASS (folders_branch_parent_class)->finalize (obj); +#line 1585 "Branch.c" +} + + +GType folders_branch_get_type (void) { + static volatile gsize folders_branch_type_id__volatile = 0; + if (g_once_init_enter (&folders_branch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FoldersBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) folders_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FoldersBranch), 0, (GInstanceInitFunc) folders_branch_instance_init, NULL }; + GType folders_branch_type_id; + folders_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "FoldersBranch", &g_define_type_info, 0); + g_once_init_leave (&folders_branch_type_id__volatile, folders_branch_type_id); + } + return folders_branch_type_id__volatile; +} + + +FoldersRoot* folders_root_construct (GType object_type) { + FoldersRoot * self = NULL; + const gchar* _tmp0_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = _ ("Folders"); +#line 141 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = (FoldersRoot*) sidebar_header_construct (object_type, _tmp0_, TRUE); +#line 140 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return self; +#line 1610 "Branch.c" +} + + +FoldersRoot* folders_root_new (void) { +#line 140 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return folders_root_construct (FOLDERS_TYPE_ROOT); +#line 1617 "Branch.c" +} + + +static void folders_root_class_init (FoldersRootClass * klass) { +#line 139 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_root_parent_class = g_type_class_peek_parent (klass); +#line 1624 "Branch.c" +} + + +static void folders_root_instance_init (FoldersRoot * self) { +} + + +GType folders_root_get_type (void) { + static volatile gsize folders_root_type_id__volatile = 0; + if (g_once_init_enter (&folders_root_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FoldersRootClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) folders_root_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FoldersRoot), 0, (GInstanceInitFunc) folders_root_instance_init, NULL }; + GType folders_root_type_id; + folders_root_type_id = g_type_register_static (SIDEBAR_TYPE_HEADER, "FoldersRoot", &g_define_type_info, 0); + g_once_init_leave (&folders_root_type_id__volatile, folders_root_type_id); + } + return folders_root_type_id__volatile; +} + + +FoldersSidebarEntry* folders_sidebar_entry_construct (GType object_type, GFile* dir) { + FoldersSidebarEntry * self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 166 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_val_if_fail (G_IS_FILE (dir), NULL); +#line 166 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = (FoldersSidebarEntry*) sidebar_simple_page_entry_construct (object_type); +#line 167 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = dir; +#line 167 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_set_dir (self, _tmp0_); +#line 168 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = dir; +#line 168 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 168 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = _tmp2_; +#line 168 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = g_utf8_collate_key_for_filename (_tmp3_, (gssize) -1); +#line 168 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = _tmp4_; +#line 168 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_set_collation (self, _tmp5_); +#line 168 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_free0 (_tmp5_); +#line 168 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_free0 (_tmp3_); +#line 166 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return self; +#line 1678 "Branch.c" +} + + +FoldersSidebarEntry* folders_sidebar_entry_new (GFile* dir) { +#line 166 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return folders_sidebar_entry_construct (FOLDERS_TYPE_SIDEBAR_ENTRY, dir); +#line 1685 "Branch.c" +} + + +static gchar* folders_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + FoldersSidebarEntry * self; + gchar* result = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry); +#line 172 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = self->priv->_dir; +#line 172 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 172 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = _tmp1_; +#line 172 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 1704 "Branch.c" +} + + +static gchar* folders_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + FoldersSidebarEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gchar* _tmp5_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry); +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = folders_sidebar_entry_get_count (self); +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = _tmp1_; +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp2_ == 0) { +#line 1723 "Branch.c" + const gchar* _tmp3_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = folders_icon; +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = _tmp3_; +#line 1729 "Branch.c" + } else { + const gchar* _tmp4_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = folders_have_photos_icon; +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = _tmp4_; +#line 1736 "Branch.c" + } +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = g_strdup (_tmp0_); +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = _tmp5_; +#line 176 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 1744 "Branch.c" +} + + +static gchar* folders_sidebar_entry_real_to_string (SidebarSimplePageEntry* base) { + FoldersSidebarEntry * self; + gchar* result = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry); +#line 180 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = self->priv->_dir; +#line 180 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 180 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = _tmp1_; +#line 180 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 1763 "Branch.c" +} + + +static gboolean folders_sidebar_entry_real_expand_on_select (SidebarExpandableEntry* base) { + FoldersSidebarEntry * self; + gboolean result = FALSE; +#line 183 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry); +#line 184 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = TRUE; +#line 184 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 1776 "Branch.c" +} + + +static Page* folders_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + FoldersSidebarEntry * self; + Page* result = NULL; + GFile* _tmp0_ = NULL; + FoldersPage* _tmp1_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry); +#line 188 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = self->priv->_dir; +#line 188 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = folders_page_new (_tmp0_); +#line 188 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_object_ref_sink (_tmp1_); +#line 188 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 188 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 1797 "Branch.c" +} + + +GFile* folders_sidebar_entry_get_dir (FoldersSidebarEntry* self) { + GFile* result; + GFile* _tmp0_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_val_if_fail (FOLDERS_IS_SIDEBAR_ENTRY (self), NULL); +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = self->priv->_dir; +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = _tmp0_; +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 1812 "Branch.c" +} + + +static void folders_sidebar_entry_set_dir (FoldersSidebarEntry* self, GFile* value) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (FOLDERS_IS_SIDEBAR_ENTRY (self)); +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = value; +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (self->priv->_dir); +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self->priv->_dir = _tmp1_; +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_object_notify ((GObject *) self, "dir"); +#line 1831 "Branch.c" +} + + +const gchar* folders_sidebar_entry_get_collation (FoldersSidebarEntry* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_val_if_fail (FOLDERS_IS_SIDEBAR_ENTRY (self), NULL); +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = self->priv->_collation; +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = _tmp0_; +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 1846 "Branch.c" +} + + +static void folders_sidebar_entry_set_collation (FoldersSidebarEntry* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (FOLDERS_IS_SIDEBAR_ENTRY (self)); +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = value; +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_free0 (self->priv->_collation); +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self->priv->_collation = _tmp1_; +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_object_notify ((GObject *) self, "collation"); +#line 1865 "Branch.c" +} + + +gint folders_sidebar_entry_get_count (FoldersSidebarEntry* self) { + gint result; + gint _tmp0_ = 0; +#line 151 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_val_if_fail (FOLDERS_IS_SIDEBAR_ENTRY (self), 0); +#line 152 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = self->priv->_count; +#line 152 "/home/jens/Source/shotwell/src/folders/Branch.vala" + result = _tmp0_; +#line 152 "/home/jens/Source/shotwell/src/folders/Branch.vala" + return result; +#line 1880 "Branch.c" +} + + +void folders_sidebar_entry_set_count (FoldersSidebarEntry* self, gint value) { + gint prev_count = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gint _tmp4_ = 0; +#line 155 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_return_if_fail (FOLDERS_IS_SIDEBAR_ENTRY (self)); +#line 156 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp0_ = self->priv->_count; +#line 156 "/home/jens/Source/shotwell/src/folders/Branch.vala" + prev_count = _tmp0_; +#line 157 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp1_ = value; +#line 157 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self->priv->_count = _tmp1_; +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp4_ = prev_count; +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp4_ == 0) { +#line 1905 "Branch.c" + gint _tmp5_ = 0; +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp5_ = self->priv->_count; +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = _tmp5_ == 1; +#line 1911 "Branch.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp3_ = FALSE; +#line 1915 "Branch.c" + } +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp3_) { +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = TRUE; +#line 1921 "Branch.c" + } else { + gboolean _tmp6_ = FALSE; + gint _tmp7_ = 0; +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp7_ = prev_count; +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp7_ == 1) { +#line 1929 "Branch.c" + gint _tmp8_ = 0; +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp8_ = self->priv->_count; +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp6_ = _tmp8_ == 0; +#line 1935 "Branch.c" + } else { +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp6_ = FALSE; +#line 1939 "Branch.c" + } +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp2_ = _tmp6_; +#line 1943 "Branch.c" + } +#line 160 "/home/jens/Source/shotwell/src/folders/Branch.vala" + if (_tmp2_) { +#line 1947 "Branch.c" + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp9_ = sidebar_simple_page_entry_get_sidebar_icon (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)); +#line 161 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _tmp10_ = _tmp9_; +#line 161 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_ENTRY, SidebarEntry), "sidebar-icon-changed", _tmp10_); +#line 161 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_free0 (_tmp10_); +#line 1958 "Branch.c" + } +#line 155 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_object_notify ((GObject *) self, "count"); +#line 1962 "Branch.c" +} + + +static void folders_sidebar_entry_class_init (FoldersSidebarEntryClass * klass) { +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_type_class_add_private (klass, sizeof (FoldersSidebarEntryPrivate)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = folders_sidebar_entry_real_get_sidebar_name; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = folders_sidebar_entry_real_get_sidebar_icon; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->to_string = folders_sidebar_entry_real_to_string; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = folders_sidebar_entry_real_create_page; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_folders_sidebar_entry_get_property; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_folders_sidebar_entry_set_property; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = folders_sidebar_entry_finalize; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), FOLDERS_SIDEBAR_ENTRY_DIR, g_param_spec_object ("dir", "dir", "dir", G_TYPE_FILE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), FOLDERS_SIDEBAR_ENTRY_COLLATION, g_param_spec_string ("collation", "collation", "collation", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), FOLDERS_SIDEBAR_ENTRY_COUNT, g_param_spec_int ("count", "count", "count", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); +#line 1991 "Branch.c" +} + + +static void folders_sidebar_entry_sidebar_expandable_entry_interface_init (SidebarExpandableEntryIface * iface) { +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_sidebar_expandable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + iface->expand_on_select = (gboolean (*)(SidebarExpandableEntry*)) folders_sidebar_entry_real_expand_on_select; +#line 2000 "Branch.c" +} + + +static void folders_sidebar_entry_instance_init (FoldersSidebarEntry * self) { +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self->priv = FOLDERS_SIDEBAR_ENTRY_GET_PRIVATE (self); +#line 149 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self->priv->_count = 0; +#line 2009 "Branch.c" +} + + +static void folders_sidebar_entry_finalize (GObject* obj) { + FoldersSidebarEntry * self; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry); +#line 146 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_object_unref0 (self->priv->_dir); +#line 147 "/home/jens/Source/shotwell/src/folders/Branch.vala" + _g_free0 (self->priv->_collation); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + G_OBJECT_CLASS (folders_sidebar_entry_parent_class)->finalize (obj); +#line 2023 "Branch.c" +} + + +GType folders_sidebar_entry_get_type (void) { + static volatile gsize folders_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&folders_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FoldersSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) folders_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FoldersSidebarEntry), 0, (GInstanceInitFunc) folders_sidebar_entry_instance_init, NULL }; + static const GInterfaceInfo sidebar_expandable_entry_info = { (GInterfaceInitFunc) folders_sidebar_entry_sidebar_expandable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType folders_sidebar_entry_type_id; + folders_sidebar_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "FoldersSidebarEntry", &g_define_type_info, 0); + g_type_add_interface_static (folders_sidebar_entry_type_id, SIDEBAR_TYPE_EXPANDABLE_ENTRY, &sidebar_expandable_entry_info); + g_once_init_leave (&folders_sidebar_entry_type_id__volatile, folders_sidebar_entry_type_id); + } + return folders_sidebar_entry_type_id__volatile; +} + + +static void _vala_folders_sidebar_entry_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + FoldersSidebarEntry * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + switch (property_id) { +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + case FOLDERS_SIDEBAR_ENTRY_DIR: +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_value_set_object (value, folders_sidebar_entry_get_dir (self)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + case FOLDERS_SIDEBAR_ENTRY_COLLATION: +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_value_set_string (value, folders_sidebar_entry_get_collation (self)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + case FOLDERS_SIDEBAR_ENTRY_COUNT: +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + g_value_set_int (value, folders_sidebar_entry_get_count (self)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 2064 "Branch.c" + default: +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 2070 "Branch.c" + } +} + + +static void _vala_folders_sidebar_entry_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + FoldersSidebarEntry * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, FOLDERS_TYPE_SIDEBAR_ENTRY, FoldersSidebarEntry); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + switch (property_id) { +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + case FOLDERS_SIDEBAR_ENTRY_DIR: +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_set_dir (self, g_value_get_object (value)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + case FOLDERS_SIDEBAR_ENTRY_COLLATION: +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_set_collation (self, g_value_get_string (value)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + case FOLDERS_SIDEBAR_ENTRY_COUNT: +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + folders_sidebar_entry_set_count (self, g_value_get_int (value)); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 2098 "Branch.c" + default: +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 145 "/home/jens/Source/shotwell/src/folders/Branch.vala" + break; +#line 2104 "Branch.c" + } +} + + + diff --git a/src/folders/Folders.c b/src/folders/Folders.c new file mode 100644 index 0000000..d9af95a --- /dev/null +++ b/src/folders/Folders.c @@ -0,0 +1,69 @@ +/* Folders.c generated by valac 0.32.1, the Vala compiler + * generated from Folders.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* This file is the master unit file for the Folders unit. It should be edited to include + * whatever code is deemed necessary. + * + * The init() and terminate() methods are mandatory. + * + * If the unit needs to be configured prior to initialization, add the proper parameters to + * the preconfigure() method, implement it, and ensure in init() that it's been called. + */ + +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) + + +extern gchar* folders_icon; +gchar* folders_icon = NULL; +extern gchar* folders_have_photos_icon; +gchar* folders_have_photos_icon = NULL; + +void folders_init (GError** error); +#define RESOURCES_ICON_FOLDER "folder" +#define RESOURCES_ICON_FOLDER_DOCUMENTS "folder-documents" +void folders_terminate (void); + + +void folders_init (GError** error) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/folders/Folders.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_FOLDER); +#line 22 "/home/jens/Source/shotwell/src/folders/Folders.vala" + _g_free0 (folders_icon); +#line 22 "/home/jens/Source/shotwell/src/folders/Folders.vala" + folders_icon = _tmp0_; +#line 23 "/home/jens/Source/shotwell/src/folders/Folders.vala" + _tmp1_ = g_strdup (RESOURCES_ICON_FOLDER_DOCUMENTS); +#line 23 "/home/jens/Source/shotwell/src/folders/Folders.vala" + _g_free0 (folders_have_photos_icon); +#line 23 "/home/jens/Source/shotwell/src/folders/Folders.vala" + folders_have_photos_icon = _tmp1_; +#line 53 "Folders.c" +} + + +void folders_terminate (void) { +#line 27 "/home/jens/Source/shotwell/src/folders/Folders.vala" + _g_free0 (folders_icon); +#line 27 "/home/jens/Source/shotwell/src/folders/Folders.vala" + folders_icon = NULL; +#line 28 "/home/jens/Source/shotwell/src/folders/Folders.vala" + _g_free0 (folders_have_photos_icon); +#line 28 "/home/jens/Source/shotwell/src/folders/Folders.vala" + folders_have_photos_icon = NULL; +#line 66 "Folders.c" +} + + + diff --git a/src/folders/Page.c b/src/folders/Page.c new file mode 100644 index 0000000..ea722a3 --- /dev/null +++ b/src/folders/Page.c @@ -0,0 +1,1028 @@ +/* Page.c generated by valac 0.32.1, the Vala compiler + * generated from Page.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#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; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#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_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; +typedef struct _CollectionPagePrivate CollectionPagePrivate; + +#define FOLDERS_TYPE_PAGE (folders_page_get_type ()) +#define FOLDERS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_TYPE_PAGE, FoldersPage)) +#define FOLDERS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_TYPE_PAGE, FoldersPageClass)) +#define FOLDERS_IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_TYPE_PAGE)) +#define FOLDERS_IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_TYPE_PAGE)) +#define FOLDERS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_TYPE_PAGE, FoldersPageClass)) + +typedef struct _FoldersPage FoldersPage; +typedef struct _FoldersPageClass FoldersPageClass; +typedef struct _FoldersPagePrivate FoldersPagePrivate; + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ()) +#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager)) +#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) +#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER)) +#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER)) +#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) + +typedef struct _CollectionViewManager CollectionViewManager; +typedef struct _CollectionViewManagerClass CollectionViewManagerClass; + +#define FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER (folders_page_folder_view_manager_get_type ()) +#define FOLDERS_PAGE_FOLDER_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER, FoldersPageFolderViewManager)) +#define FOLDERS_PAGE_FOLDER_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER, FoldersPageFolderViewManagerClass)) +#define FOLDERS_PAGE_IS_FOLDER_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER)) +#define FOLDERS_PAGE_IS_FOLDER_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER)) +#define FOLDERS_PAGE_FOLDER_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER, FoldersPageFolderViewManagerClass)) + +typedef struct _FoldersPageFolderViewManager FoldersPageFolderViewManager; +typedef struct _FoldersPageFolderViewManagerClass FoldersPageFolderViewManagerClass; +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +typedef struct _ViewManagerPrivate ViewManagerPrivate; +typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate; +typedef struct _FoldersPageFolderViewManagerPrivate FoldersPageFolderViewManagerPrivate; + +#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; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _CollectionPage { + MediaPage parent_instance; + CollectionPagePrivate * priv; +}; + +struct _CollectionPageClass { + MediaPageClass parent_class; +}; + +struct _FoldersPage { + CollectionPage parent_instance; + FoldersPagePrivate * priv; +}; + +struct _FoldersPageClass { + CollectionPageClass parent_class; +}; + +struct _FoldersPagePrivate { + FoldersPageFolderViewManager* view_manager; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _CollectionViewManager { + ViewManager parent_instance; + CollectionViewManagerPrivate * priv; +}; + +struct _CollectionViewManagerClass { + ViewManagerClass parent_class; +}; + +struct _FoldersPageFolderViewManager { + CollectionViewManager parent_instance; + FoldersPageFolderViewManagerPrivate * priv; + GFile* dir; +}; + +struct _FoldersPageFolderViewManagerClass { + CollectionViewManagerClass parent_class; +}; + + +static gpointer folders_page_parent_class = NULL; +static gpointer folders_page_folder_view_manager_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +GType folders_page_get_type (void) G_GNUC_CONST; +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +GType collection_view_manager_get_type (void) G_GNUC_CONST; +static GType folders_page_folder_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define FOLDERS_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), FOLDERS_TYPE_PAGE, FoldersPagePrivate)) +enum { + FOLDERS_PAGE_DUMMY_PROPERTY +}; +FoldersPage* folders_page_new (GFile* dir); +FoldersPage* folders_page_construct (GType object_type, GFile* dir); +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name); +static FoldersPageFolderViewManager* folders_page_folder_view_manager_new (FoldersPage* owner, GFile* dir); +static FoldersPageFolderViewManager* folders_page_folder_view_manager_construct (GType object_type, FoldersPage* owner, GFile* dir); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +static void folders_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void folders_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by); +void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +enum { + FOLDERS_PAGE_FOLDER_VIEW_MANAGER_DUMMY_PROPERTY +}; +CollectionViewManager* collection_view_manager_new (CollectionPage* page); +CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page); +static gboolean folders_page_folder_view_manager_real_include_in_view (ViewManager* base, DataSource* source); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GFile* media_source_get_file (MediaSource* self); +static void folders_page_folder_view_manager_finalize (ViewManager* obj); +static void folders_page_finalize (GObject* obj); + + +FoldersPage* folders_page_construct (GType object_type, GFile* dir) { + FoldersPage * self = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + FoldersPageFolderViewManager* _tmp4_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/folders/Page.vala" + g_return_val_if_fail (G_IS_FILE (dir), NULL); +#line 25 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp0_ = dir; +#line 25 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 25 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp2_ = _tmp1_; +#line 25 "/home/jens/Source/shotwell/src/folders/Page.vala" + self = (FoldersPage*) collection_page_construct (object_type, _tmp2_); +#line 25 "/home/jens/Source/shotwell/src/folders/Page.vala" + _g_free0 (_tmp2_); +#line 27 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp3_ = dir; +#line 27 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp4_ = folders_page_folder_view_manager_new (self, _tmp3_); +#line 27 "/home/jens/Source/shotwell/src/folders/Page.vala" + _view_manager_unref0 (self->priv->view_manager); +#line 27 "/home/jens/Source/shotwell/src/folders/Page.vala" + self->priv->view_manager = _tmp4_; +#line 713 "Page.c" + { + GeeIterator* _sources_it = NULL; + MediaCollectionRegistry* _tmp5_ = NULL; + MediaCollectionRegistry* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp5_ = media_collection_registry_get_instance (); +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp6_ = _tmp5_; +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp7_ = media_collection_registry_get_all (_tmp6_); +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp8_ = _tmp7_; +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp10_ = _tmp9_; +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _g_object_unref0 (_tmp8_); +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _media_collection_registry_unref0 (_tmp6_); +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _sources_it = _tmp10_; +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + while (TRUE) { +#line 742 "Page.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + MediaSourceCollection* _tmp17_ = NULL; + FoldersPageFolderViewManager* _tmp18_ = NULL; + ViewCollectionMonitor* _tmp19_ = NULL; + ViewCollectionMonitor* _tmp20_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp11_ = _sources_it; +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + if (!_tmp12_) { +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + break; +#line 762 "Page.c" + } +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp13_ = _sources_it; +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + sources = (MediaSourceCollection*) _tmp14_; +#line 30 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp15_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 30 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp16_ = _tmp15_; +#line 30 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp17_ = sources; +#line 30 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp18_ = self->priv->view_manager; +#line 30 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp19_ = view_collection_monitor_source_collection (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_VIEW_MANAGER, ViewManager), NULL, NULL, NULL, NULL); +#line 30 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp20_ = _tmp19_; +#line 30 "/home/jens/Source/shotwell/src/folders/Page.vala" + _view_collection_monitor_unref0 (_tmp20_); +#line 30 "/home/jens/Source/shotwell/src/folders/Page.vala" + _data_collection_unref0 (_tmp16_); +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _data_collection_unref0 (sources); +#line 788 "Page.c" + } +#line 29 "/home/jens/Source/shotwell/src/folders/Page.vala" + _g_object_unref0 (_sources_it); +#line 792 "Page.c" + } +#line 24 "/home/jens/Source/shotwell/src/folders/Page.vala" + return self; +#line 796 "Page.c" +} + + +FoldersPage* folders_page_new (GFile* dir) { +#line 24 "/home/jens/Source/shotwell/src/folders/Page.vala" + return folders_page_construct (FOLDERS_TYPE_PAGE, dir); +#line 803 "Page.c" +} + + +static void folders_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) { + FoldersPage * self; + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 33 "/home/jens/Source/shotwell/src/folders/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FOLDERS_TYPE_PAGE, FoldersPage); +#line 34 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp0_ = config_facade_get_instance (); +#line 34 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp1_ = _tmp0_; +#line 34 "/home/jens/Source/shotwell/src/folders/Page.vala" + configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_); +#line 34 "/home/jens/Source/shotwell/src/folders/Page.vala" + _vala_sort_order = _tmp2_; +#line 34 "/home/jens/Source/shotwell/src/folders/Page.vala" + _vala_sort_by = _tmp3_; +#line 34 "/home/jens/Source/shotwell/src/folders/Page.vala" + _g_object_unref0 (_tmp1_); +#line 33 "/home/jens/Source/shotwell/src/folders/Page.vala" + if (sort_order) { +#line 33 "/home/jens/Source/shotwell/src/folders/Page.vala" + *sort_order = _vala_sort_order; +#line 833 "Page.c" + } +#line 33 "/home/jens/Source/shotwell/src/folders/Page.vala" + if (sort_by) { +#line 33 "/home/jens/Source/shotwell/src/folders/Page.vala" + *sort_by = _vala_sort_by; +#line 839 "Page.c" + } +} + + +static void folders_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) { + FoldersPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 37 "/home/jens/Source/shotwell/src/folders/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FOLDERS_TYPE_PAGE, FoldersPage); +#line 38 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp0_ = config_facade_get_instance (); +#line 38 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp1_ = _tmp0_; +#line 38 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp2_ = sort_order; +#line 38 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp3_ = sort_by; +#line 38 "/home/jens/Source/shotwell/src/folders/Page.vala" + configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_); +#line 38 "/home/jens/Source/shotwell/src/folders/Page.vala" + _g_object_unref0 (_tmp1_); +#line 864 "Page.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 14 "/home/jens/Source/shotwell/src/folders/Page.vala" + return self ? g_object_ref (self) : NULL; +#line 871 "Page.c" +} + + +static FoldersPageFolderViewManager* folders_page_folder_view_manager_construct (GType object_type, FoldersPage* owner, GFile* dir) { + FoldersPageFolderViewManager* self = NULL; + FoldersPage* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/folders/Page.vala" + g_return_val_if_fail (FOLDERS_IS_PAGE (owner), NULL); +#line 11 "/home/jens/Source/shotwell/src/folders/Page.vala" + g_return_val_if_fail (G_IS_FILE (dir), NULL); +#line 12 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp0_ = owner; +#line 12 "/home/jens/Source/shotwell/src/folders/Page.vala" + self = (FoldersPageFolderViewManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage)); +#line 14 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp1_ = dir; +#line 14 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 14 "/home/jens/Source/shotwell/src/folders/Page.vala" + _g_object_unref0 (self->dir); +#line 14 "/home/jens/Source/shotwell/src/folders/Page.vala" + self->dir = _tmp2_; +#line 11 "/home/jens/Source/shotwell/src/folders/Page.vala" + return self; +#line 898 "Page.c" +} + + +static FoldersPageFolderViewManager* folders_page_folder_view_manager_new (FoldersPage* owner, GFile* dir) { +#line 11 "/home/jens/Source/shotwell/src/folders/Page.vala" + return folders_page_folder_view_manager_construct (FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER, owner, dir); +#line 905 "Page.c" +} + + +static gboolean folders_page_folder_view_manager_real_include_in_view (ViewManager* base, DataSource* source) { + FoldersPageFolderViewManager * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 17 "/home/jens/Source/shotwell/src/folders/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER, FoldersPageFolderViewManager); +#line 17 "/home/jens/Source/shotwell/src/folders/Page.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp0_ = source; +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp1_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp2_ = _tmp1_; +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp3_ = self->dir; +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp4_ = g_file_has_prefix (_tmp2_, _tmp3_); +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + _tmp5_ = _tmp4_; +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + _g_object_unref0 (_tmp2_); +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + result = _tmp5_; +#line 18 "/home/jens/Source/shotwell/src/folders/Page.vala" + return result; +#line 940 "Page.c" +} + + +static void folders_page_folder_view_manager_class_init (FoldersPageFolderViewManagerClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/folders/Page.vala" + folders_page_folder_view_manager_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/folders/Page.vala" + ((ViewManagerClass *) klass)->finalize = folders_page_folder_view_manager_finalize; +#line 8 "/home/jens/Source/shotwell/src/folders/Page.vala" + ((ViewManagerClass *) klass)->include_in_view = folders_page_folder_view_manager_real_include_in_view; +#line 951 "Page.c" +} + + +static void folders_page_folder_view_manager_instance_init (FoldersPageFolderViewManager * self) { +} + + +static void folders_page_folder_view_manager_finalize (ViewManager* obj) { + FoldersPageFolderViewManager * self; +#line 8 "/home/jens/Source/shotwell/src/folders/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, FOLDERS_PAGE_TYPE_FOLDER_VIEW_MANAGER, FoldersPageFolderViewManager); +#line 9 "/home/jens/Source/shotwell/src/folders/Page.vala" + _g_object_unref0 (self->dir); +#line 8 "/home/jens/Source/shotwell/src/folders/Page.vala" + VIEW_MANAGER_CLASS (folders_page_folder_view_manager_parent_class)->finalize (obj); +#line 967 "Page.c" +} + + +static GType folders_page_folder_view_manager_get_type (void) { + static volatile gsize folders_page_folder_view_manager_type_id__volatile = 0; + if (g_once_init_enter (&folders_page_folder_view_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FoldersPageFolderViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) folders_page_folder_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FoldersPageFolderViewManager), 0, (GInstanceInitFunc) folders_page_folder_view_manager_instance_init, NULL }; + GType folders_page_folder_view_manager_type_id; + folders_page_folder_view_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "FoldersPageFolderViewManager", &g_define_type_info, 0); + g_once_init_leave (&folders_page_folder_view_manager_type_id__volatile, folders_page_folder_view_manager_type_id); + } + return folders_page_folder_view_manager_type_id__volatile; +} + + +static void folders_page_class_init (FoldersPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/folders/Page.vala" + folders_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/folders/Page.vala" + g_type_class_add_private (klass, sizeof (FoldersPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/folders/Page.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = folders_page_real_get_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/folders/Page.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = folders_page_real_set_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/folders/Page.vala" + G_OBJECT_CLASS (klass)->finalize = folders_page_finalize; +#line 994 "Page.c" +} + + +static void folders_page_instance_init (FoldersPage * self) { +#line 7 "/home/jens/Source/shotwell/src/folders/Page.vala" + self->priv = FOLDERS_PAGE_GET_PRIVATE (self); +#line 1001 "Page.c" +} + + +static void folders_page_finalize (GObject* obj) { + FoldersPage * self; +#line 7 "/home/jens/Source/shotwell/src/folders/Page.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, FOLDERS_TYPE_PAGE, FoldersPage); +#line 22 "/home/jens/Source/shotwell/src/folders/Page.vala" + _view_manager_unref0 (self->priv->view_manager); +#line 7 "/home/jens/Source/shotwell/src/folders/Page.vala" + G_OBJECT_CLASS (folders_page_parent_class)->finalize (obj); +#line 1013 "Page.c" +} + + +GType folders_page_get_type (void) { + static volatile gsize folders_page_type_id__volatile = 0; + if (g_once_init_enter (&folders_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FoldersPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) folders_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FoldersPage), 0, (GInstanceInitFunc) folders_page_instance_init, NULL }; + GType folders_page_type_id; + folders_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "FoldersPage", &g_define_type_info, 0); + g_once_init_leave (&folders_page_type_id__volatile, folders_page_type_id); + } + return folders_page_type_id__volatile; +} + + + diff --git a/src/folders/mk/folders.mk b/src/folders/mk/folders.mk deleted file mode 100644 index d0023d7..0000000 --- a/src/folders/mk/folders.mk +++ /dev/null @@ -1,31 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Folders - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := folders - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - Branch.vala \ - Page.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Sidebar \ - Photos - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/library/Branch.c b/src/library/Branch.c new file mode 100644 index 0000000..136c058 --- /dev/null +++ b/src/library/Branch.c @@ -0,0 +1,2144 @@ +/* Branch.c generated by valac 0.32.1, the Vala compiler + * generated from Branch.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; +typedef struct _SidebarBranchPrivate SidebarBranchPrivate; + +#define LIBRARY_TYPE_BRANCH (library_branch_get_type ()) +#define LIBRARY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_BRANCH, LibraryBranch)) +#define LIBRARY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_BRANCH, LibraryBranchClass)) +#define LIBRARY_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_BRANCH)) +#define LIBRARY_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_BRANCH)) +#define LIBRARY_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_BRANCH, LibraryBranchClass)) + +typedef struct _LibraryBranch LibraryBranch; +typedef struct _LibraryBranchClass LibraryBranchClass; +typedef struct _LibraryBranchPrivate LibraryBranchPrivate; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; + +#define LIBRARY_TYPE_PHOTOS_ENTRY (library_photos_entry_get_type ()) +#define LIBRARY_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry)) +#define LIBRARY_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass)) +#define LIBRARY_IS_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_PHOTOS_ENTRY)) +#define LIBRARY_IS_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_PHOTOS_ENTRY)) +#define LIBRARY_PHOTOS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass)) + +typedef struct _LibraryPhotosEntry LibraryPhotosEntry; +typedef struct _LibraryPhotosEntryClass LibraryPhotosEntryClass; + +#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ()) +#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) + +typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry; +typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass; + +#define LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY (library_flagged_sidebar_entry_get_type ()) +#define LIBRARY_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry)) +#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass)) +#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY)) +#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY)) +#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass)) + +typedef struct _LibraryFlaggedSidebarEntry LibraryFlaggedSidebarEntry; +typedef struct _LibraryFlaggedSidebarEntryClass LibraryFlaggedSidebarEntryClass; + +#define LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY (library_last_import_sidebar_entry_get_type ()) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry)) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass)) +#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY)) +#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY)) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass)) + +typedef struct _LibraryLastImportSidebarEntry LibraryLastImportSidebarEntry; +typedef struct _LibraryLastImportSidebarEntryClass LibraryLastImportSidebarEntryClass; + +#define LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY (library_import_queue_sidebar_entry_get_type ()) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry)) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass)) +#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) +#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass)) + +typedef struct _LibraryImportQueueSidebarEntry LibraryImportQueueSidebarEntry; +typedef struct _LibraryImportQueueSidebarEntryClass LibraryImportQueueSidebarEntryClass; + +#define LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY (library_offline_sidebar_entry_get_type ()) +#define LIBRARY_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry)) +#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass)) +#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY)) +#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY)) +#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass)) + +typedef struct _LibraryOfflineSidebarEntry LibraryOfflineSidebarEntry; +typedef struct _LibraryOfflineSidebarEntryClass LibraryOfflineSidebarEntryClass; + +#define LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY (library_trash_sidebar_entry_get_type ()) +#define LIBRARY_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry)) +#define LIBRARY_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass)) +#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY)) +#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY)) +#define LIBRARY_TRASH_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass)) + +typedef struct _LibraryTrashSidebarEntry LibraryTrashSidebarEntry; +typedef struct _LibraryTrashSidebarEntryClass LibraryTrashSidebarEntryClass; + +#define LIBRARY_BRANCH_TYPE_ENTRY_POSITION (library_branch_entry_position_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ()) +#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping)) +#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) +#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) + +typedef struct _SidebarGrouping SidebarGrouping; +typedef struct _SidebarGroupingClass SidebarGroupingClass; + +#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ()) +#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader)) +#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) +#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) + +typedef struct _SidebarHeader SidebarHeader; +typedef struct _SidebarHeaderClass SidebarHeaderClass; + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ()) + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; +typedef struct _LibraryPhotosEntryPrivate LibraryPhotosEntryPrivate; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define LIBRARY_TYPE_MAIN_PAGE (library_main_page_get_type ()) +#define LIBRARY_MAIN_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPage)) +#define LIBRARY_MAIN_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPageClass)) +#define LIBRARY_IS_MAIN_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_MAIN_PAGE)) +#define LIBRARY_IS_MAIN_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_MAIN_PAGE)) +#define LIBRARY_MAIN_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_MAIN_PAGE, LibraryMainPageClass)) + +typedef struct _LibraryMainPage LibraryMainPage; +typedef struct _LibraryMainPageClass LibraryMainPageClass; +typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#define TYPE_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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#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; +typedef struct _CollectionPagePrivate CollectionPagePrivate; +typedef struct _LibraryMainPagePrivate LibraryMainPagePrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; + +#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ()) +#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager)) +#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) +#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER)) +#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER)) +#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) + +typedef struct _CollectionViewManager CollectionViewManager; +typedef struct _CollectionViewManagerClass CollectionViewManagerClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +struct _SidebarBranch { + GObject parent_instance; + SidebarBranchPrivate * priv; +}; + +struct _SidebarBranchClass { + GObjectClass parent_class; +}; + +struct _LibraryBranch { + SidebarBranch parent_instance; + LibraryBranchPrivate * priv; +}; + +struct _LibraryBranchClass { + SidebarBranchClass parent_class; +}; + +struct _LibraryBranchPrivate { + LibraryPhotosEntry* _photos_entry; + LibraryFlaggedSidebarEntry* _flagged_entry; + LibraryLastImportSidebarEntry* _last_imported_entry; + LibraryImportQueueSidebarEntry* _import_queue_entry; + LibraryOfflineSidebarEntry* _offline_entry; + LibraryTrashSidebarEntry* _trash_entry; +}; + +typedef enum { + LIBRARY_BRANCH_ENTRY_POSITION_PHOTOS, + LIBRARY_BRANCH_ENTRY_POSITION_FLAGGED, + LIBRARY_BRANCH_ENTRY_POSITION_LAST_IMPORTED, + LIBRARY_BRANCH_ENTRY_POSITION_IMPORT_QUEUE, + LIBRARY_BRANCH_ENTRY_POSITION_OFFLINE, + LIBRARY_BRANCH_ENTRY_POSITION_TRASH +} LibraryBranchEntryPosition; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +typedef enum { + SIDEBAR_BRANCH_OPTIONS_NONE = 0, + SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0, + SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1, + SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2, + SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3 +} SidebarBranchOptions; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _LibraryPhotosEntry { + SidebarSimplePageEntry parent_instance; + LibraryPhotosEntryPrivate * priv; +}; + +struct _LibraryPhotosEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _LibraryHideablePageEntry { + SidebarSimplePageEntry parent_instance; + LibraryHideablePageEntryPrivate * priv; +}; + +struct _LibraryHideablePageEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _LibraryHideablePageEntryPrivate { + gboolean show_entry; +}; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _CollectionPage { + MediaPage parent_instance; + CollectionPagePrivate * priv; +}; + +struct _CollectionPageClass { + MediaPageClass parent_class; +}; + +struct _LibraryMainPage { + CollectionPage parent_instance; + LibraryMainPagePrivate * priv; +}; + +struct _LibraryMainPageClass { + CollectionPageClass parent_class; +}; + + +static gpointer library_branch_parent_class = NULL; +static gpointer library_photos_entry_parent_class = NULL; +static gpointer library_hideable_page_entry_parent_class = NULL; +static gpointer library_main_page_parent_class = NULL; + +GType sidebar_branch_get_type (void) G_GNUC_CONST; +GType library_branch_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType library_photos_entry_get_type (void) G_GNUC_CONST; +GType library_hideable_page_entry_get_type (void) G_GNUC_CONST; +GType library_flagged_sidebar_entry_get_type (void) G_GNUC_CONST; +GType library_last_import_sidebar_entry_get_type (void) G_GNUC_CONST; +GType library_import_queue_sidebar_entry_get_type (void) G_GNUC_CONST; +GType library_offline_sidebar_entry_get_type (void) G_GNUC_CONST; +GType library_trash_sidebar_entry_get_type (void) G_GNUC_CONST; +#define LIBRARY_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LIBRARY_TYPE_BRANCH, LibraryBranchPrivate)) +enum { + LIBRARY_BRANCH_DUMMY_PROPERTY, + LIBRARY_BRANCH_PHOTOS_ENTRY, + LIBRARY_BRANCH_FLAGGED_ENTRY, + LIBRARY_BRANCH_LAST_IMPORTED_ENTRY, + LIBRARY_BRANCH_IMPORT_QUEUE_ENTRY, + LIBRARY_BRANCH_OFFLINE_ENTRY, + LIBRARY_BRANCH_TRASH_ENTRY +}; +static GType library_branch_entry_position_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define LIBRARY_BRANCH_POSITION_DATA "x-photos-entry-position" +LibraryBranch* library_branch_new (void); +LibraryBranch* library_branch_construct (GType object_type); +SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized); +SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized); +GType sidebar_grouping_get_type (void) G_GNUC_CONST; +GType sidebar_header_get_type (void) G_GNUC_CONST; +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_branch_options_get_type (void) G_GNUC_CONST; +static gint library_branch_comparator (SidebarEntry* a, SidebarEntry* b); +static gint _library_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b); +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +LibraryPhotosEntry* library_photos_entry_new (void); +LibraryPhotosEntry* library_photos_entry_construct (GType object_type); +static void library_branch_set_photos_entry (LibraryBranch* self, LibraryPhotosEntry* value); +LibraryTrashSidebarEntry* library_trash_sidebar_entry_new (void); +LibraryTrashSidebarEntry* library_trash_sidebar_entry_construct (GType object_type); +static void library_branch_set_trash_entry (LibraryBranch* self, LibraryTrashSidebarEntry* value); +LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_new (void); +LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_construct (GType object_type); +static void library_branch_set_last_imported_entry (LibraryBranch* self, LibraryLastImportSidebarEntry* value); +LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_new (void); +LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_construct (GType object_type); +static void library_branch_set_flagged_entry (LibraryBranch* self, LibraryFlaggedSidebarEntry* value); +LibraryOfflineSidebarEntry* library_offline_sidebar_entry_new (void); +LibraryOfflineSidebarEntry* library_offline_sidebar_entry_construct (GType object_type); +static void library_branch_set_offline_entry (LibraryBranch* self, LibraryOfflineSidebarEntry* value); +LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_new (void); +LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_construct (GType object_type); +static void library_branch_set_import_queue_entry (LibraryBranch* self, LibraryImportQueueSidebarEntry* value); +static void library_branch_insert (LibraryBranch* self, SidebarEntry* entry, gint position); +LibraryPhotosEntry* library_branch_get_photos_entry (LibraryBranch* self); +LibraryTrashSidebarEntry* library_branch_get_trash_entry (LibraryBranch* self); +LibraryFlaggedSidebarEntry* library_branch_get_flagged_entry (LibraryBranch* self); +static void library_branch_on_flagged_visibility_changed (LibraryBranch* self); +static void _library_branch_on_flagged_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self); +LibraryLastImportSidebarEntry* library_branch_get_last_imported_entry (LibraryBranch* self); +static void library_branch_on_last_imported_visibility_changed (LibraryBranch* self); +static void _library_branch_on_last_imported_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self); +LibraryImportQueueSidebarEntry* library_branch_get_import_queue_entry (LibraryBranch* self); +static void library_branch_on_import_queue_visibility_changed (LibraryBranch* self); +static void _library_branch_on_import_queue_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self); +LibraryOfflineSidebarEntry* library_branch_get_offline_entry (LibraryBranch* self); +static void library_branch_on_offline_visibility_changed (LibraryBranch* self); +static void _library_branch_on_offline_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self); +void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator); +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self); +static void library_branch_update_entry_visibility (LibraryBranch* self, LibraryHideablePageEntry* entry, gint position); +gboolean library_hideable_page_entry_get_visible (LibraryHideablePageEntry* self); +gboolean sidebar_branch_has_entry (SidebarBranch* self, SidebarEntry* entry); +void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry); +static void library_branch_finalize (GObject* obj); +static void _vala_library_branch_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_library_branch_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +enum { + LIBRARY_PHOTOS_ENTRY_DUMMY_PROPERTY +}; +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type); +static gchar* library_photos_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +static gchar* library_photos_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +#define RESOURCES_ICON_PHOTOS "shotwell" +static Page* library_photos_entry_real_create_page (SidebarSimplePageEntry* base); +LibraryMainPage* library_main_page_new (ProgressMonitor monitor, void* monitor_target); +LibraryMainPage* library_main_page_construct (GType object_type, ProgressMonitor monitor, void* monitor_target); +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; +GType library_main_page_get_type (void) G_GNUC_CONST; +#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryPrivate)) +enum { + LIBRARY_HIDEABLE_PAGE_ENTRY_DUMMY_PROPERTY, + LIBRARY_HIDEABLE_PAGE_ENTRY_VISIBLE +}; +LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type); +void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value); +static void library_hideable_page_entry_finalize (GObject* obj); +static void _vala_library_hideable_page_entry_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_library_hideable_page_entry_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +enum { + LIBRARY_MAIN_PAGE_DUMMY_PROPERTY +}; +#define LIBRARY_MAIN_PAGE_NAME _ ("Library") +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +CollectionViewManager* collection_view_manager_new (CollectionPage* page); +CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page); +GType collection_view_manager_get_type (void) G_GNUC_CONST; +static void library_main_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void library_main_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by); +void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); + + +static GType library_branch_entry_position_get_type (void) { + static volatile gsize library_branch_entry_position_type_id__volatile = 0; + if (g_once_init_enter (&library_branch_entry_position_type_id__volatile)) { + static const GEnumValue values[] = {{LIBRARY_BRANCH_ENTRY_POSITION_PHOTOS, "LIBRARY_BRANCH_ENTRY_POSITION_PHOTOS", "photos"}, {LIBRARY_BRANCH_ENTRY_POSITION_FLAGGED, "LIBRARY_BRANCH_ENTRY_POSITION_FLAGGED", "flagged"}, {LIBRARY_BRANCH_ENTRY_POSITION_LAST_IMPORTED, "LIBRARY_BRANCH_ENTRY_POSITION_LAST_IMPORTED", "last-imported"}, {LIBRARY_BRANCH_ENTRY_POSITION_IMPORT_QUEUE, "LIBRARY_BRANCH_ENTRY_POSITION_IMPORT_QUEUE", "import-queue"}, {LIBRARY_BRANCH_ENTRY_POSITION_OFFLINE, "LIBRARY_BRANCH_ENTRY_POSITION_OFFLINE", "offline"}, {LIBRARY_BRANCH_ENTRY_POSITION_TRASH, "LIBRARY_BRANCH_ENTRY_POSITION_TRASH", "trash"}, {0, NULL, NULL}}; + GType library_branch_entry_position_type_id; + library_branch_entry_position_type_id = g_enum_register_static ("LibraryBranchEntryPosition", values); + g_once_init_leave (&library_branch_entry_position_type_id__volatile, library_branch_entry_position_type_id); + } + return library_branch_entry_position_type_id__volatile; +} + + +static gint _library_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = library_branch_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 997 "Branch.c" +} + + +static void _library_branch_on_flagged_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self) { +#line 43 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_on_flagged_visibility_changed ((LibraryBranch*) self); +#line 1004 "Branch.c" +} + + +static void _library_branch_on_last_imported_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self) { +#line 46 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_on_last_imported_visibility_changed ((LibraryBranch*) self); +#line 1011 "Branch.c" +} + + +static void _library_branch_on_import_queue_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self) { +#line 49 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_on_import_queue_visibility_changed ((LibraryBranch*) self); +#line 1018 "Branch.c" +} + + +static void _library_branch_on_offline_visibility_changed_library_hideable_page_entry_visibility_changed (LibraryHideablePageEntry* _sender, gboolean visible, gpointer self) { +#line 52 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_on_offline_visibility_changed ((LibraryBranch*) self); +#line 1025 "Branch.c" +} + + +LibraryBranch* library_branch_construct (GType object_type) { + LibraryBranch * self = NULL; + const gchar* _tmp0_ = NULL; + SidebarHeader* _tmp1_ = NULL; + SidebarHeader* _tmp2_ = NULL; + LibraryPhotosEntry* _tmp3_ = NULL; + LibraryPhotosEntry* _tmp4_ = NULL; + LibraryTrashSidebarEntry* _tmp5_ = NULL; + LibraryTrashSidebarEntry* _tmp6_ = NULL; + LibraryLastImportSidebarEntry* _tmp7_ = NULL; + LibraryLastImportSidebarEntry* _tmp8_ = NULL; + LibraryFlaggedSidebarEntry* _tmp9_ = NULL; + LibraryFlaggedSidebarEntry* _tmp10_ = NULL; + LibraryOfflineSidebarEntry* _tmp11_ = NULL; + LibraryOfflineSidebarEntry* _tmp12_ = NULL; + LibraryImportQueueSidebarEntry* _tmp13_ = NULL; + LibraryImportQueueSidebarEntry* _tmp14_ = NULL; + LibraryPhotosEntry* _tmp15_ = NULL; + LibraryTrashSidebarEntry* _tmp16_ = NULL; + LibraryFlaggedSidebarEntry* _tmp17_ = NULL; + LibraryLastImportSidebarEntry* _tmp18_ = NULL; + LibraryImportQueueSidebarEntry* _tmp19_ = NULL; + LibraryOfflineSidebarEntry* _tmp20_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = _ ("Library"); +#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = sidebar_header_new (_tmp0_, TRUE); +#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp2_ = _tmp1_; +#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = (LibraryBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_ENTRY, SidebarEntry), SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING, _library_branch_comparator_gcompare_func, NULL); +#line 30 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp2_); +#line 33 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp3_ = library_photos_entry_new (); +#line 33 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp4_ = _tmp3_; +#line 33 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_photos_entry (self, _tmp4_); +#line 33 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp4_); +#line 34 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp5_ = library_trash_sidebar_entry_new (); +#line 34 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp6_ = _tmp5_; +#line 34 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_trash_entry (self, _tmp6_); +#line 34 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp6_); +#line 35 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp7_ = library_last_import_sidebar_entry_new (); +#line 35 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp8_ = _tmp7_; +#line 35 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_last_imported_entry (self, _tmp8_); +#line 35 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp8_); +#line 36 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp9_ = library_flagged_sidebar_entry_new (); +#line 36 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp10_ = _tmp9_; +#line 36 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_flagged_entry (self, _tmp10_); +#line 36 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp10_); +#line 37 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp11_ = library_offline_sidebar_entry_new (); +#line 37 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp12_ = _tmp11_; +#line 37 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_offline_entry (self, _tmp12_); +#line 37 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp12_); +#line 38 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp13_ = library_import_queue_sidebar_entry_new (); +#line 38 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp14_ = _tmp13_; +#line 38 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_import_queue_entry (self, _tmp14_); +#line 38 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp14_); +#line 40 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp15_ = self->priv->_photos_entry; +#line 40 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_insert (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, SIDEBAR_TYPE_ENTRY, SidebarEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_PHOTOS); +#line 41 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp16_ = self->priv->_trash_entry; +#line 41 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_insert (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, SIDEBAR_TYPE_ENTRY, SidebarEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_TRASH); +#line 43 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp17_ = self->priv->_flagged_entry; +#line 43 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), "visibility-changed", (GCallback) _library_branch_on_flagged_visibility_changed_library_hideable_page_entry_visibility_changed, self, 0); +#line 44 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_on_flagged_visibility_changed (self); +#line 46 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp18_ = self->priv->_last_imported_entry; +#line 46 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), "visibility-changed", (GCallback) _library_branch_on_last_imported_visibility_changed_library_hideable_page_entry_visibility_changed, self, 0); +#line 47 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_on_last_imported_visibility_changed (self); +#line 49 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp19_ = self->priv->_import_queue_entry; +#line 49 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), "visibility-changed", (GCallback) _library_branch_on_import_queue_visibility_changed_library_hideable_page_entry_visibility_changed, self, 0); +#line 50 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_on_import_queue_visibility_changed (self); +#line 52 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp20_ = self->priv->_offline_entry; +#line 52 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), "visibility-changed", (GCallback) _library_branch_on_offline_visibility_changed_library_hideable_page_entry_visibility_changed, self, 0); +#line 53 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_on_offline_visibility_changed (self); +#line 29 "/home/jens/Source/shotwell/src/library/Branch.vala" + return self; +#line 1144 "Branch.c" +} + + +LibraryBranch* library_branch_new (void) { +#line 29 "/home/jens/Source/shotwell/src/library/Branch.vala" + return library_branch_construct (LIBRARY_TYPE_BRANCH); +#line 1151 "Branch.c" +} + + +static void library_branch_insert (LibraryBranch* self, SidebarEntry* entry, gint position) { + SidebarEntry* _tmp0_ = NULL; + gint _tmp1_ = 0; + SidebarEntry* _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 56 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 57 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = entry; +#line 57 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = position; +#line 57 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_set_data_full (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), LIBRARY_BRANCH_POSITION_DATA, (gpointer) ((gintptr) _tmp1_), NULL); +#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp2_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp3_ = _tmp2_; +#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp4_ = entry; +#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp3_, _tmp4_, NULL); +#line 58 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 1181 "Branch.c" +} + + +static void library_branch_on_flagged_visibility_changed (LibraryBranch* self) { + LibraryFlaggedSidebarEntry* _tmp0_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 62 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_flagged_entry; +#line 62 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_update_entry_visibility (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_FLAGGED); +#line 1193 "Branch.c" +} + + +static void library_branch_on_last_imported_visibility_changed (LibraryBranch* self) { + LibraryLastImportSidebarEntry* _tmp0_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 66 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_last_imported_entry; +#line 66 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_update_entry_visibility (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_LAST_IMPORTED); +#line 1205 "Branch.c" +} + + +static void library_branch_on_import_queue_visibility_changed (LibraryBranch* self) { + LibraryImportQueueSidebarEntry* _tmp0_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 70 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_import_queue_entry; +#line 70 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_update_entry_visibility (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_IMPORT_QUEUE); +#line 1217 "Branch.c" +} + + +static void library_branch_on_offline_visibility_changed (LibraryBranch* self) { + LibraryOfflineSidebarEntry* _tmp0_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 74 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_offline_entry; +#line 74 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_update_entry_visibility (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), (gint) LIBRARY_BRANCH_ENTRY_POSITION_OFFLINE); +#line 1229 "Branch.c" +} + + +static void library_branch_update_entry_visibility (LibraryBranch* self, LibraryHideablePageEntry* entry, gint position) { + LibraryHideablePageEntry* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 77 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 77 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_HIDEABLE_PAGE_ENTRY (entry)); +#line 78 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = entry; +#line 78 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = library_hideable_page_entry_get_visible (_tmp0_); +#line 78 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp2_ = _tmp1_; +#line 78 "/home/jens/Source/shotwell/src/library/Branch.vala" + if (_tmp2_) { +#line 1249 "Branch.c" + LibraryHideablePageEntry* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 79 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp3_ = entry; +#line 79 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp4_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 79 "/home/jens/Source/shotwell/src/library/Branch.vala" + if (!_tmp4_) { +#line 1258 "Branch.c" + LibraryHideablePageEntry* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 80 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp5_ = entry; +#line 80 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp6_ = position; +#line 80 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_insert (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry), _tmp6_); +#line 1267 "Branch.c" + } + } else { + LibraryHideablePageEntry* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 81 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp7_ = entry; +#line 81 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp8_ = sidebar_branch_has_entry (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 81 "/home/jens/Source/shotwell/src/library/Branch.vala" + if (_tmp8_) { +#line 1278 "Branch.c" + LibraryHideablePageEntry* _tmp9_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp9_ = entry; +#line 82 "/home/jens/Source/shotwell/src/library/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 1284 "Branch.c" + } + } +} + + +static gint library_branch_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + gconstpointer _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + gconstpointer _tmp3_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 86 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = a; +#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = g_object_get_data (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_OBJECT, GObject), LIBRARY_BRANCH_POSITION_DATA); +#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp2_ = b; +#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp3_ = g_object_get_data (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, G_TYPE_OBJECT, GObject), LIBRARY_BRANCH_POSITION_DATA); +#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = ((gint) ((gintptr) _tmp1_)) - ((gint) ((gintptr) _tmp3_)); +#line 87 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1312 "Branch.c" +} + + +LibraryPhotosEntry* library_branch_get_photos_entry (LibraryBranch* self) { + LibraryPhotosEntry* result; + LibraryPhotosEntry* _tmp0_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL); +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_photos_entry; +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1327 "Branch.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + return self ? g_object_ref (self) : NULL; +#line 1334 "Branch.c" +} + + +static void library_branch_set_photos_entry (LibraryBranch* self, LibraryPhotosEntry* value) { + LibraryPhotosEntry* _tmp0_ = NULL; + LibraryPhotosEntry* _tmp1_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = value; +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_photos_entry); +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv->_photos_entry = _tmp1_; +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_notify ((GObject *) self, "photos-entry"); +#line 1353 "Branch.c" +} + + +LibraryFlaggedSidebarEntry* library_branch_get_flagged_entry (LibraryBranch* self) { + LibraryFlaggedSidebarEntry* result; + LibraryFlaggedSidebarEntry* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL); +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_flagged_entry; +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp0_; +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1368 "Branch.c" +} + + +static void library_branch_set_flagged_entry (LibraryBranch* self, LibraryFlaggedSidebarEntry* value) { + LibraryFlaggedSidebarEntry* _tmp0_ = NULL; + LibraryFlaggedSidebarEntry* _tmp1_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = value; +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_flagged_entry); +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv->_flagged_entry = _tmp1_; +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_notify ((GObject *) self, "flagged-entry"); +#line 1387 "Branch.c" +} + + +LibraryLastImportSidebarEntry* library_branch_get_last_imported_entry (LibraryBranch* self) { + LibraryLastImportSidebarEntry* result; + LibraryLastImportSidebarEntry* _tmp0_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL); +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_last_imported_entry; +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp0_; +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1402 "Branch.c" +} + + +static void library_branch_set_last_imported_entry (LibraryBranch* self, LibraryLastImportSidebarEntry* value) { + LibraryLastImportSidebarEntry* _tmp0_ = NULL; + LibraryLastImportSidebarEntry* _tmp1_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = value; +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_last_imported_entry); +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv->_last_imported_entry = _tmp1_; +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_notify ((GObject *) self, "last-imported-entry"); +#line 1421 "Branch.c" +} + + +LibraryImportQueueSidebarEntry* library_branch_get_import_queue_entry (LibraryBranch* self) { + LibraryImportQueueSidebarEntry* result; + LibraryImportQueueSidebarEntry* _tmp0_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL); +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_import_queue_entry; +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp0_; +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1436 "Branch.c" +} + + +static void library_branch_set_import_queue_entry (LibraryBranch* self, LibraryImportQueueSidebarEntry* value) { + LibraryImportQueueSidebarEntry* _tmp0_ = NULL; + LibraryImportQueueSidebarEntry* _tmp1_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = value; +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_import_queue_entry); +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv->_import_queue_entry = _tmp1_; +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_notify ((GObject *) self, "import-queue-entry"); +#line 1455 "Branch.c" +} + + +LibraryOfflineSidebarEntry* library_branch_get_offline_entry (LibraryBranch* self) { + LibraryOfflineSidebarEntry* result; + LibraryOfflineSidebarEntry* _tmp0_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL); +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_offline_entry; +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp0_; +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1470 "Branch.c" +} + + +static void library_branch_set_offline_entry (LibraryBranch* self, LibraryOfflineSidebarEntry* value) { + LibraryOfflineSidebarEntry* _tmp0_ = NULL; + LibraryOfflineSidebarEntry* _tmp1_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = value; +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_offline_entry); +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv->_offline_entry = _tmp1_; +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_notify ((GObject *) self, "offline-entry"); +#line 1489 "Branch.c" +} + + +LibraryTrashSidebarEntry* library_branch_get_trash_entry (LibraryBranch* self) { + LibraryTrashSidebarEntry* result; + LibraryTrashSidebarEntry* _tmp0_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (LIBRARY_IS_BRANCH (self), NULL); +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->_trash_entry; +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp0_; +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1504 "Branch.c" +} + + +static void library_branch_set_trash_entry (LibraryBranch* self, LibraryTrashSidebarEntry* value) { + LibraryTrashSidebarEntry* _tmp0_ = NULL; + LibraryTrashSidebarEntry* _tmp1_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_BRANCH (self)); +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = value; +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_trash_entry); +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv->_trash_entry = _tmp1_; +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_notify ((GObject *) self, "trash-entry"); +#line 1523 "Branch.c" +} + + +static void library_branch_class_init (LibraryBranchClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_type_class_add_private (klass, sizeof (LibraryBranchPrivate)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_library_branch_get_property; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_library_branch_set_property; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = library_branch_finalize; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_PHOTOS_ENTRY, g_param_spec_object ("photos-entry", "photos-entry", "photos-entry", LIBRARY_TYPE_PHOTOS_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_FLAGGED_ENTRY, g_param_spec_object ("flagged-entry", "flagged-entry", "flagged-entry", LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_LAST_IMPORTED_ENTRY, g_param_spec_object ("last-imported-entry", "last-imported-entry", "last-imported-entry", LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_IMPORT_QUEUE_ENTRY, g_param_spec_object ("import-queue-entry", "import-queue-entry", "import-queue-entry", LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_OFFLINE_ENTRY, g_param_spec_object ("offline-entry", "offline-entry", "offline-entry", LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_BRANCH_TRASH_ENTRY, g_param_spec_object ("trash-entry", "trash-entry", "trash-entry", LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1550 "Branch.c" +} + + +static void library_branch_instance_init (LibraryBranch * self) { +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv = LIBRARY_BRANCH_GET_PRIVATE (self); +#line 1557 "Branch.c" +} + + +static void library_branch_finalize (GObject* obj) { + LibraryBranch * self; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_BRANCH, LibraryBranch); +#line 10 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_photos_entry); +#line 11 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_flagged_entry); +#line 12 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_last_imported_entry); +#line 13 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_import_queue_entry); +#line 14 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_offline_entry); +#line 15 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (self->priv->_trash_entry); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_CLASS (library_branch_parent_class)->finalize (obj); +#line 1579 "Branch.c" +} + + +GType library_branch_get_type (void) { + static volatile gsize library_branch_type_id__volatile = 0; + if (g_once_init_enter (&library_branch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryBranch), 0, (GInstanceInitFunc) library_branch_instance_init, NULL }; + GType library_branch_type_id; + library_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "LibraryBranch", &g_define_type_info, 0); + g_once_init_leave (&library_branch_type_id__volatile, library_branch_type_id); + } + return library_branch_type_id__volatile; +} + + +static void _vala_library_branch_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + LibraryBranch * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, LIBRARY_TYPE_BRANCH, LibraryBranch); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + switch (property_id) { +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_PHOTOS_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_value_set_object (value, library_branch_get_photos_entry (self)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_FLAGGED_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_value_set_object (value, library_branch_get_flagged_entry (self)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_LAST_IMPORTED_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_value_set_object (value, library_branch_get_last_imported_entry (self)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_IMPORT_QUEUE_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_value_set_object (value, library_branch_get_import_queue_entry (self)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_OFFLINE_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_value_set_object (value, library_branch_get_offline_entry (self)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_TRASH_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_value_set_object (value, library_branch_get_trash_entry (self)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 1636 "Branch.c" + default: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 1642 "Branch.c" + } +} + + +static void _vala_library_branch_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + LibraryBranch * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, LIBRARY_TYPE_BRANCH, LibraryBranch); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + switch (property_id) { +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_PHOTOS_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_photos_entry (self, g_value_get_object (value)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_FLAGGED_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_flagged_entry (self, g_value_get_object (value)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_LAST_IMPORTED_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_last_imported_entry (self, g_value_get_object (value)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_IMPORT_QUEUE_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_import_queue_entry (self, g_value_get_object (value)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_OFFLINE_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_offline_entry (self, g_value_get_object (value)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_BRANCH_TRASH_ENTRY: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_branch_set_trash_entry (self, g_value_get_object (value)); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 1688 "Branch.c" + default: +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 7 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 1694 "Branch.c" + } +} + + +LibraryPhotosEntry* library_photos_entry_construct (GType object_type) { + LibraryPhotosEntry * self = NULL; +#line 93 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = (LibraryPhotosEntry*) sidebar_simple_page_entry_construct (object_type); +#line 93 "/home/jens/Source/shotwell/src/library/Branch.vala" + return self; +#line 1705 "Branch.c" +} + + +LibraryPhotosEntry* library_photos_entry_new (void) { +#line 93 "/home/jens/Source/shotwell/src/library/Branch.vala" + return library_photos_entry_construct (LIBRARY_TYPE_PHOTOS_ENTRY); +#line 1712 "Branch.c" +} + + +static gchar* library_photos_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + LibraryPhotosEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry); +#line 97 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = _ ("Photos"); +#line 97 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 97 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp1_; +#line 97 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1731 "Branch.c" +} + + +static gchar* library_photos_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + LibraryPhotosEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry); +#line 101 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_PHOTOS); +#line 101 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp0_; +#line 101 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1747 "Branch.c" +} + + +static Page* library_photos_entry_real_create_page (SidebarSimplePageEntry* base) { + LibraryPhotosEntry * self; + Page* result = NULL; + LibraryMainPage* _tmp0_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry); +#line 105 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = library_main_page_new (NULL, NULL); +#line 105 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_ref_sink (_tmp0_); +#line 105 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page); +#line 105 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1765 "Branch.c" +} + + +static void library_photos_entry_class_init (LibraryPhotosEntryClass * klass) { +#line 91 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_photos_entry_parent_class = g_type_class_peek_parent (klass); +#line 91 "/home/jens/Source/shotwell/src/library/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_photos_entry_real_get_sidebar_name; +#line 91 "/home/jens/Source/shotwell/src/library/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_photos_entry_real_get_sidebar_icon; +#line 91 "/home/jens/Source/shotwell/src/library/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = library_photos_entry_real_create_page; +#line 1778 "Branch.c" +} + + +static void library_photos_entry_instance_init (LibraryPhotosEntry * self) { +} + + +GType library_photos_entry_get_type (void) { + static volatile gsize library_photos_entry_type_id__volatile = 0; + if (g_once_init_enter (&library_photos_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryPhotosEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_photos_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryPhotosEntry), 0, (GInstanceInitFunc) library_photos_entry_instance_init, NULL }; + GType library_photos_entry_type_id; + library_photos_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "LibraryPhotosEntry", &g_define_type_info, 0); + g_once_init_leave (&library_photos_entry_type_id__volatile, library_photos_entry_type_id); + } + return library_photos_entry_type_id__volatile; +} + + +LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type) { + LibraryHideablePageEntry * self = NULL; +#line 125 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = (LibraryHideablePageEntry*) sidebar_simple_page_entry_construct (object_type); +#line 125 "/home/jens/Source/shotwell/src/library/Branch.vala" + return self; +#line 1804 "Branch.c" +} + + +gboolean library_hideable_page_entry_get_visible (LibraryHideablePageEntry* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 115 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_val_if_fail (LIBRARY_IS_HIDEABLE_PAGE_ENTRY (self), FALSE); +#line 115 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = self->priv->show_entry; +#line 115 "/home/jens/Source/shotwell/src/library/Branch.vala" + result = _tmp0_; +#line 115 "/home/jens/Source/shotwell/src/library/Branch.vala" + return result; +#line 1819 "Branch.c" +} + + +void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 116 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_return_if_fail (LIBRARY_IS_HIDEABLE_PAGE_ENTRY (self)); +#line 117 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = value; +#line 117 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = self->priv->show_entry; +#line 117 "/home/jens/Source/shotwell/src/library/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 118 "/home/jens/Source/shotwell/src/library/Branch.vala" + return; +#line 1838 "Branch.c" + } +#line 120 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp2_ = value; +#line 120 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv->show_entry = _tmp2_; +#line 121 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp3_ = value; +#line 121 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_signal_emit_by_name (self, "visibility-changed", _tmp3_); +#line 116 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_notify ((GObject *) self, "visible"); +#line 1850 "Branch.c" +} + + +static void library_hideable_page_entry_class_init (LibraryHideablePageEntryClass * klass) { +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_hideable_page_entry_parent_class = g_type_class_peek_parent (klass); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_type_class_add_private (klass, sizeof (LibraryHideablePageEntryPrivate)); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_library_hideable_page_entry_get_property; +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_library_hideable_page_entry_set_property; +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = library_hideable_page_entry_finalize; +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), LIBRARY_HIDEABLE_PAGE_ENTRY_VISIBLE, g_param_spec_boolean ("visible", "visible", "visible", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_signal_new ("visibility_changed", LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 1869 "Branch.c" +} + + +static void library_hideable_page_entry_instance_init (LibraryHideablePageEntry * self) { +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv = LIBRARY_HIDEABLE_PAGE_ENTRY_GET_PRIVATE (self); +#line 113 "/home/jens/Source/shotwell/src/library/Branch.vala" + self->priv->show_entry = FALSE; +#line 1878 "Branch.c" +} + + +static void library_hideable_page_entry_finalize (GObject* obj) { + LibraryHideablePageEntry * self; +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_CLASS (library_hideable_page_entry_parent_class)->finalize (obj); +#line 1888 "Branch.c" +} + + +GType library_hideable_page_entry_get_type (void) { + static volatile gsize library_hideable_page_entry_type_id__volatile = 0; + if (g_once_init_enter (&library_hideable_page_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryHideablePageEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_hideable_page_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryHideablePageEntry), 0, (GInstanceInitFunc) library_hideable_page_entry_instance_init, NULL }; + GType library_hideable_page_entry_type_id; + library_hideable_page_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "LibraryHideablePageEntry", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&library_hideable_page_entry_type_id__volatile, library_hideable_page_entry_type_id); + } + return library_hideable_page_entry_type_id__volatile; +} + + +static void _vala_library_hideable_page_entry_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + LibraryHideablePageEntry * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + switch (property_id) { +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_HIDEABLE_PAGE_ENTRY_VISIBLE: +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + g_value_set_boolean (value, library_hideable_page_entry_get_visible (self)); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 1915 "Branch.c" + default: +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 1921 "Branch.c" + } +} + + +static void _vala_library_hideable_page_entry_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + LibraryHideablePageEntry * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + switch (property_id) { +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + case LIBRARY_HIDEABLE_PAGE_ENTRY_VISIBLE: +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_hideable_page_entry_set_visible (self, g_value_get_boolean (value)); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 1937 "Branch.c" + default: +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 109 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 1943 "Branch.c" + } +} + + +LibraryMainPage* library_main_page_construct (GType object_type, ProgressMonitor monitor, void* monitor_target) { + LibraryMainPage * self = NULL; +#line 133 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = (LibraryMainPage*) collection_page_construct (object_type, LIBRARY_MAIN_PAGE_NAME); +#line 1952 "Branch.c" + { + GeeIterator* _sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _tmp0_; +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp3_ = _tmp2_; +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp5_ = _tmp4_; +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _sources_it = _tmp5_; +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + while (TRUE) { +#line 1981 "Branch.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + MediaSourceCollection* _tmp12_ = NULL; + CollectionViewManager* _tmp13_ = NULL; + CollectionViewManager* _tmp14_ = NULL; + ProgressMonitor _tmp15_ = NULL; + void* _tmp15__target = NULL; + ViewCollectionMonitor* _tmp16_ = NULL; + ViewCollectionMonitor* _tmp17_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp6_ = _sources_it; +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + if (!_tmp7_) { +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + break; +#line 2004 "Branch.c" + } +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp8_ = _sources_it; +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + sources = (MediaSourceCollection*) _tmp9_; +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp11_ = _tmp10_; +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp12_ = sources; +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp13_ = collection_view_manager_new (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage)); +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp14_ = _tmp13_; +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp15_ = monitor; +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp15__target = monitor_target; +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp16_ = view_collection_monitor_source_collection (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_VIEW_MANAGER, ViewManager), NULL, NULL, _tmp15_, _tmp15__target); +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp17_ = _tmp16_; +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _view_collection_monitor_unref0 (_tmp17_); +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _view_manager_unref0 (_tmp14_); +#line 136 "/home/jens/Source/shotwell/src/library/Branch.vala" + _data_collection_unref0 (_tmp11_); +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _data_collection_unref0 (sources); +#line 2038 "Branch.c" + } +#line 135 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_sources_it); +#line 2042 "Branch.c" + } +#line 132 "/home/jens/Source/shotwell/src/library/Branch.vala" + return self; +#line 2046 "Branch.c" +} + + +LibraryMainPage* library_main_page_new (ProgressMonitor monitor, void* monitor_target) { +#line 132 "/home/jens/Source/shotwell/src/library/Branch.vala" + return library_main_page_construct (LIBRARY_TYPE_MAIN_PAGE, monitor, monitor_target); +#line 2053 "Branch.c" +} + + +static void library_main_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) { + LibraryMainPage * self; + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_MAIN_PAGE, LibraryMainPage); +#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = config_facade_get_instance (); +#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _tmp0_; +#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala" + configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_); +#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala" + _vala_sort_order = _tmp2_; +#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala" + _vala_sort_by = _tmp3_; +#line 140 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp1_); +#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala" + if (sort_order) { +#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala" + *sort_order = _vala_sort_order; +#line 2083 "Branch.c" + } +#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala" + if (sort_by) { +#line 139 "/home/jens/Source/shotwell/src/library/Branch.vala" + *sort_by = _vala_sort_by; +#line 2089 "Branch.c" + } +} + + +static void library_main_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) { + LibraryMainPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 143 "/home/jens/Source/shotwell/src/library/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_MAIN_PAGE, LibraryMainPage); +#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp0_ = config_facade_get_instance (); +#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp1_ = _tmp0_; +#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp2_ = sort_order; +#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala" + _tmp3_ = sort_by; +#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala" + configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_); +#line 144 "/home/jens/Source/shotwell/src/library/Branch.vala" + _g_object_unref0 (_tmp1_); +#line 2114 "Branch.c" +} + + +static void library_main_page_class_init (LibraryMainPageClass * klass) { +#line 129 "/home/jens/Source/shotwell/src/library/Branch.vala" + library_main_page_parent_class = g_type_class_peek_parent (klass); +#line 129 "/home/jens/Source/shotwell/src/library/Branch.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = library_main_page_real_get_config_photos_sort; +#line 129 "/home/jens/Source/shotwell/src/library/Branch.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = library_main_page_real_set_config_photos_sort; +#line 2125 "Branch.c" +} + + +static void library_main_page_instance_init (LibraryMainPage * self) { +} + + +GType library_main_page_get_type (void) { + static volatile gsize library_main_page_type_id__volatile = 0; + if (g_once_init_enter (&library_main_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryMainPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_main_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryMainPage), 0, (GInstanceInitFunc) library_main_page_instance_init, NULL }; + GType library_main_page_type_id; + library_main_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "LibraryMainPage", &g_define_type_info, 0); + g_once_init_leave (&library_main_page_type_id__volatile, library_main_page_type_id); + } + return library_main_page_type_id__volatile; +} + + + diff --git a/src/library/FlaggedPage.c b/src/library/FlaggedPage.c new file mode 100644 index 0000000..c1b3a48 --- /dev/null +++ b/src/library/FlaggedPage.c @@ -0,0 +1,1230 @@ +/* FlaggedPage.c generated by valac 0.32.1, the Vala compiler + * generated from FlaggedPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#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; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#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_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; +typedef struct _CollectionPagePrivate CollectionPagePrivate; + +#define TYPE_FLAGGED_PAGE (flagged_page_get_type ()) +#define FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGED_PAGE, FlaggedPage)) +#define FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAGGED_PAGE, FlaggedPageClass)) +#define IS_FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGED_PAGE)) +#define IS_FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAGGED_PAGE)) +#define FLAGGED_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAGGED_PAGE, FlaggedPageClass)) + +typedef struct _FlaggedPage FlaggedPage; +typedef struct _FlaggedPageClass FlaggedPageClass; +typedef struct _FlaggedPagePrivate FlaggedPagePrivate; + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ()) +#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter)) +#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) + +typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter; +typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass; + +#define COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER (collection_page_collection_search_view_filter_get_type ()) +#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilter)) +#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass)) +#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER)) +#define COLLECTION_PAGE_IS_COLLECTION_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER)) +#define COLLECTION_PAGE_COLLECTION_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, CollectionPageCollectionSearchViewFilterClass)) + +typedef struct _CollectionPageCollectionSearchViewFilter CollectionPageCollectionSearchViewFilter; +typedef struct _CollectionPageCollectionSearchViewFilterClass CollectionPageCollectionSearchViewFilterClass; + +#define FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER (flagged_page_flagged_search_view_filter_get_type ()) +#define FLAGGED_PAGE_FLAGGED_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER, FlaggedPageFlaggedSearchViewFilter)) +#define FLAGGED_PAGE_FLAGGED_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER, FlaggedPageFlaggedSearchViewFilterClass)) +#define FLAGGED_PAGE_IS_FLAGGED_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER)) +#define FLAGGED_PAGE_IS_FLAGGED_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER)) +#define FLAGGED_PAGE_FLAGGED_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER, FlaggedPageFlaggedSearchViewFilterClass)) + +typedef struct _FlaggedPageFlaggedSearchViewFilter FlaggedPageFlaggedSearchViewFilter; +typedef struct _FlaggedPageFlaggedSearchViewFilterClass FlaggedPageFlaggedSearchViewFilterClass; +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) + +#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ()) +#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager)) +#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) +#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER)) +#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER)) +#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) + +typedef struct _CollectionViewManager CollectionViewManager; +typedef struct _CollectionViewManagerClass CollectionViewManagerClass; + +#define FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER (flagged_page_flagged_view_manager_get_type ()) +#define FLAGGED_PAGE_FLAGGED_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, FlaggedPageFlaggedViewManager)) +#define FLAGGED_PAGE_FLAGGED_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, FlaggedPageFlaggedViewManagerClass)) +#define FLAGGED_PAGE_IS_FLAGGED_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER)) +#define FLAGGED_PAGE_IS_FLAGGED_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER)) +#define FLAGGED_PAGE_FLAGGED_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, FlaggedPageFlaggedViewManagerClass)) + +typedef struct _FlaggedPageFlaggedViewManager FlaggedPageFlaggedViewManager; +typedef struct _FlaggedPageFlaggedViewManagerClass FlaggedPageFlaggedViewManagerClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +typedef struct _ViewManagerPrivate ViewManagerPrivate; +typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate; +typedef struct _FlaggedPageFlaggedViewManagerPrivate FlaggedPageFlaggedViewManagerPrivate; + +#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_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; +typedef struct _ViewFilterPrivate ViewFilterPrivate; +typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate; +typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate; +typedef struct _CollectionPageCollectionSearchViewFilterPrivate CollectionPageCollectionSearchViewFilterPrivate; +typedef struct _FlaggedPageFlaggedSearchViewFilterPrivate FlaggedPageFlaggedSearchViewFilterPrivate; + +#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ()) + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _CollectionPage { + MediaPage parent_instance; + CollectionPagePrivate * priv; +}; + +struct _CollectionPageClass { + MediaPageClass parent_class; +}; + +struct _FlaggedPage { + CollectionPage parent_instance; + FlaggedPagePrivate * priv; +}; + +struct _FlaggedPageClass { + CollectionPageClass parent_class; +}; + +struct _FlaggedPagePrivate { + ViewManager* view_manager; + Alteration* prereq; + FlaggedPageFlaggedSearchViewFilter* search_filter; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _CollectionViewManager { + ViewManager parent_instance; + CollectionViewManagerPrivate * priv; +}; + +struct _CollectionViewManagerClass { + ViewManagerClass parent_class; +}; + +struct _FlaggedPageFlaggedViewManager { + CollectionViewManager parent_instance; + FlaggedPageFlaggedViewManagerPrivate * priv; +}; + +struct _FlaggedPageFlaggedViewManagerClass { + CollectionViewManagerClass parent_class; +}; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _SearchViewFilter { + ViewFilter parent_instance; + SearchViewFilterPrivate * priv; +}; + +struct _SearchViewFilterClass { + ViewFilterClass parent_class; + guint (*get_criteria) (SearchViewFilter* self); +}; + +struct _DefaultSearchViewFilter { + SearchViewFilter parent_instance; + DefaultSearchViewFilterPrivate * priv; +}; + +struct _DefaultSearchViewFilterClass { + SearchViewFilterClass parent_class; +}; + +struct _CollectionPageCollectionSearchViewFilter { + DefaultSearchViewFilter parent_instance; + CollectionPageCollectionSearchViewFilterPrivate * priv; +}; + +struct _CollectionPageCollectionSearchViewFilterClass { + DefaultSearchViewFilterClass parent_class; +}; + +struct _FlaggedPageFlaggedSearchViewFilter { + CollectionPageCollectionSearchViewFilter parent_instance; + FlaggedPageFlaggedSearchViewFilterPrivate * priv; +}; + +struct _FlaggedPageFlaggedSearchViewFilterClass { + CollectionPageCollectionSearchViewFilterClass parent_class; +}; + +typedef enum { + SEARCH_FILTER_CRITERIA_NONE = 0, + SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0, + SEARCH_FILTER_CRITERIA_TEXT = 1 << 1, + SEARCH_FILTER_CRITERIA_FLAG = 1 << 2, + SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3, + SEARCH_FILTER_CRITERIA_RATING = 1 << 4, + SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5, + SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL +} SearchFilterCriteria; + + +static gpointer flagged_page_parent_class = NULL; +static gpointer flagged_page_flagged_view_manager_parent_class = NULL; +static gpointer flagged_page_flagged_search_view_filter_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +GType flagged_page_get_type (void) G_GNUC_CONST; +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType default_search_view_filter_get_type (void) G_GNUC_CONST; +GType collection_page_collection_search_view_filter_get_type (void) G_GNUC_CONST; +static GType flagged_page_flagged_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define FLAGGED_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_FLAGGED_PAGE, FlaggedPagePrivate)) +enum { + FLAGGED_PAGE_DUMMY_PROPERTY +}; +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +static FlaggedPageFlaggedSearchViewFilter* flagged_page_flagged_search_view_filter_new (void); +static FlaggedPageFlaggedSearchViewFilter* flagged_page_flagged_search_view_filter_construct (GType object_type); +#define FLAGGED_PAGE_NAME _ ("Flagged") +FlaggedPage* flagged_page_new (void); +FlaggedPage* flagged_page_construct (GType object_type); +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name); +static FlaggedPageFlaggedViewManager* flagged_page_flagged_view_manager_new (FlaggedPage* owner); +static FlaggedPageFlaggedViewManager* flagged_page_flagged_view_manager_construct (GType object_type, FlaggedPage* owner); +GType collection_view_manager_get_type (void) G_GNUC_CONST; +static GType flagged_page_flagged_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +static void flagged_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void flagged_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by); +void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +static SearchViewFilter* flagged_page_real_get_search_view_filter (CheckerboardPage* base); +enum { + FLAGGED_PAGE_FLAGGED_VIEW_MANAGER_DUMMY_PROPERTY +}; +CollectionViewManager* collection_view_manager_new (CollectionPage* page); +CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page); +static gboolean flagged_page_flagged_view_manager_real_include_in_view (ViewManager* base, DataSource* source); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +enum { + FLAGGED_PAGE_FLAGGED_SEARCH_VIEW_FILTER_DUMMY_PROPERTY +}; +static guint flagged_page_flagged_search_view_filter_real_get_criteria (SearchViewFilter* base); +GType search_filter_criteria_get_type (void) G_GNUC_CONST; +CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_new (void); +CollectionPageCollectionSearchViewFilter* collection_page_collection_search_view_filter_construct (GType object_type); +static void flagged_page_finalize (GObject* obj); + + +FlaggedPage* flagged_page_construct (GType object_type) { + FlaggedPage * self = NULL; + FlaggedPageFlaggedViewManager* _tmp0_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = (FlaggedPage*) collection_page_construct (object_type, FLAGGED_PAGE_NAME); +#line 36 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp0_ = flagged_page_flagged_view_manager_new (self); +#line 36 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _view_manager_unref0 (self->priv->view_manager); +#line 36 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self->priv->view_manager = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_VIEW_MANAGER, ViewManager); +#line 829 "FlaggedPage.c" + { + GeeIterator* _sources_it = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + MediaCollectionRegistry* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp1_ = media_collection_registry_get_instance (); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp2_ = _tmp1_; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp3_ = media_collection_registry_get_all (_tmp2_); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp4_ = _tmp3_; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp6_ = _tmp5_; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _g_object_unref0 (_tmp4_); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _media_collection_registry_unref0 (_tmp2_); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _sources_it = _tmp6_; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + while (TRUE) { +#line 858 "FlaggedPage.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + MediaSourceCollection* _tmp13_ = NULL; + ViewManager* _tmp14_ = NULL; + Alteration* _tmp15_ = NULL; + ViewCollectionMonitor* _tmp16_ = NULL; + ViewCollectionMonitor* _tmp17_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp7_ = _sources_it; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + if (!_tmp8_) { +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + break; +#line 879 "FlaggedPage.c" + } +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp9_ = _sources_it; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + sources = (MediaSourceCollection*) _tmp10_; +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp12_ = _tmp11_; +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp13_ = sources; +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp14_ = self->priv->view_manager; +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp15_ = self->priv->prereq; +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp16_ = view_collection_monitor_source_collection (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_SOURCE_COLLECTION, SourceCollection), _tmp14_, _tmp15_, NULL, NULL, NULL); +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp17_ = _tmp16_; +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _view_collection_monitor_unref0 (_tmp17_); +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _data_collection_unref0 (_tmp12_); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _data_collection_unref0 (sources); +#line 907 "FlaggedPage.c" + } +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _g_object_unref0 (_sources_it); +#line 911 "FlaggedPage.c" + } +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return self; +#line 915 "FlaggedPage.c" +} + + +FlaggedPage* flagged_page_new (void) { +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return flagged_page_construct (TYPE_FLAGGED_PAGE); +#line 922 "FlaggedPage.c" +} + + +static void flagged_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) { + FlaggedPage * self; + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLAGGED_PAGE, FlaggedPage); +#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp1_ = _tmp0_; +#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_); +#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _vala_sort_order = _tmp2_; +#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _vala_sort_by = _tmp3_; +#line 43 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _g_object_unref0 (_tmp1_); +#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + if (sort_order) { +#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + *sort_order = _vala_sort_order; +#line 952 "FlaggedPage.c" + } +#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + if (sort_by) { +#line 42 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + *sort_by = _vala_sort_by; +#line 958 "FlaggedPage.c" + } +} + + +static void flagged_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) { + FlaggedPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 46 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLAGGED_PAGE, FlaggedPage); +#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp1_ = _tmp0_; +#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp2_ = sort_order; +#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp3_ = sort_by; +#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_); +#line 47 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _g_object_unref0 (_tmp1_); +#line 983 "FlaggedPage.c" +} + + +static gpointer _view_filter_ref0 (gpointer self) { +#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return self ? view_filter_ref (self) : NULL; +#line 990 "FlaggedPage.c" +} + + +static SearchViewFilter* flagged_page_real_get_search_view_filter (CheckerboardPage* base) { + FlaggedPage * self; + SearchViewFilter* result = NULL; + FlaggedPageFlaggedSearchViewFilter* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_FLAGGED_PAGE, FlaggedPage); +#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp0_ = self->priv->search_filter; +#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + result = _tmp1_; +#line 51 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return result; +#line 1009 "FlaggedPage.c" +} + + +static FlaggedPageFlaggedViewManager* flagged_page_flagged_view_manager_construct (GType object_type, FlaggedPage* owner) { + FlaggedPageFlaggedViewManager* self = NULL; + FlaggedPage* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + g_return_val_if_fail (IS_FLAGGED_PAGE (owner), NULL); +#line 12 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp0_ = owner; +#line 12 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = (FlaggedPageFlaggedViewManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage)); +#line 11 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return self; +#line 1024 "FlaggedPage.c" +} + + +static FlaggedPageFlaggedViewManager* flagged_page_flagged_view_manager_new (FlaggedPage* owner) { +#line 11 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return flagged_page_flagged_view_manager_construct (FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, owner); +#line 1031 "FlaggedPage.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return self ? g_object_ref (self) : NULL; +#line 1038 "FlaggedPage.c" +} + + +static gboolean flagged_page_flagged_view_manager_real_include_in_view (ViewManager* base, DataSource* source) { + FlaggedPageFlaggedViewManager * self; + gboolean result = FALSE; + Flaggable* flaggable = NULL; + DataSource* _tmp0_ = NULL; + Flaggable* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + Flaggable* _tmp3_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FLAGGED_PAGE_TYPE_FLAGGED_VIEW_MANAGER, FlaggedPageFlaggedViewManager); +#line 15 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp0_ = source; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_FLAGGABLE) ? ((Flaggable*) _tmp0_) : NULL); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + flaggable = _tmp1_; +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp3_ = flaggable; +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + if (_tmp3_ != NULL) { +#line 1064 "FlaggedPage.c" + Flaggable* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp4_ = flaggable; +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp5_ = flaggable_is_flagged (_tmp4_); +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp2_ = _tmp5_; +#line 1073 "FlaggedPage.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp2_ = FALSE; +#line 1077 "FlaggedPage.c" + } +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + result = _tmp2_; +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _g_object_unref0 (flaggable); +#line 18 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return result; +#line 1085 "FlaggedPage.c" +} + + +static void flagged_page_flagged_view_manager_class_init (FlaggedPageFlaggedViewManagerClass * klass) { +#line 10 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + flagged_page_flagged_view_manager_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + ((ViewManagerClass *) klass)->include_in_view = flagged_page_flagged_view_manager_real_include_in_view; +#line 1094 "FlaggedPage.c" +} + + +static void flagged_page_flagged_view_manager_instance_init (FlaggedPageFlaggedViewManager * self) { +} + + +static GType flagged_page_flagged_view_manager_get_type (void) { + static volatile gsize flagged_page_flagged_view_manager_type_id__volatile = 0; + if (g_once_init_enter (&flagged_page_flagged_view_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FlaggedPageFlaggedViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) flagged_page_flagged_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FlaggedPageFlaggedViewManager), 0, (GInstanceInitFunc) flagged_page_flagged_view_manager_instance_init, NULL }; + GType flagged_page_flagged_view_manager_type_id; + flagged_page_flagged_view_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "FlaggedPageFlaggedViewManager", &g_define_type_info, 0); + g_once_init_leave (&flagged_page_flagged_view_manager_type_id__volatile, flagged_page_flagged_view_manager_type_id); + } + return flagged_page_flagged_view_manager_type_id__volatile; +} + + +static guint flagged_page_flagged_search_view_filter_real_get_criteria (SearchViewFilter* base) { + FlaggedPageFlaggedSearchViewFilter * self; + guint result = 0U; +#line 23 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER, FlaggedPageFlaggedSearchViewFilter); +#line 24 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + result = (guint) (((SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_MEDIA) | SEARCH_FILTER_CRITERIA_RATING) | SEARCH_FILTER_CRITERIA_SAVEDSEARCH); +#line 24 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return result; +#line 1123 "FlaggedPage.c" +} + + +static FlaggedPageFlaggedSearchViewFilter* flagged_page_flagged_search_view_filter_construct (GType object_type) { + FlaggedPageFlaggedSearchViewFilter* self = NULL; +#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = (FlaggedPageFlaggedSearchViewFilter*) collection_page_collection_search_view_filter_construct (object_type); +#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return self; +#line 1133 "FlaggedPage.c" +} + + +static FlaggedPageFlaggedSearchViewFilter* flagged_page_flagged_search_view_filter_new (void) { +#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + return flagged_page_flagged_search_view_filter_construct (FLAGGED_PAGE_TYPE_FLAGGED_SEARCH_VIEW_FILTER); +#line 1140 "FlaggedPage.c" +} + + +static void flagged_page_flagged_search_view_filter_class_init (FlaggedPageFlaggedSearchViewFilterClass * klass) { +#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + flagged_page_flagged_search_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 22 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + ((SearchViewFilterClass *) klass)->get_criteria = flagged_page_flagged_search_view_filter_real_get_criteria; +#line 1149 "FlaggedPage.c" +} + + +static void flagged_page_flagged_search_view_filter_instance_init (FlaggedPageFlaggedSearchViewFilter * self) { +} + + +static GType flagged_page_flagged_search_view_filter_get_type (void) { + static volatile gsize flagged_page_flagged_search_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&flagged_page_flagged_search_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FlaggedPageFlaggedSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) flagged_page_flagged_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FlaggedPageFlaggedSearchViewFilter), 0, (GInstanceInitFunc) flagged_page_flagged_search_view_filter_instance_init, NULL }; + GType flagged_page_flagged_search_view_filter_type_id; + flagged_page_flagged_search_view_filter_type_id = g_type_register_static (COLLECTION_PAGE_TYPE_COLLECTION_SEARCH_VIEW_FILTER, "FlaggedPageFlaggedSearchViewFilter", &g_define_type_info, 0); + g_once_init_leave (&flagged_page_flagged_search_view_filter_type_id__volatile, flagged_page_flagged_search_view_filter_type_id); + } + return flagged_page_flagged_search_view_filter_type_id__volatile; +} + + +static void flagged_page_class_init (FlaggedPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + flagged_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + g_type_class_add_private (klass, sizeof (FlaggedPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = flagged_page_real_get_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = flagged_page_real_set_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + ((CheckerboardPageClass *) klass)->get_search_view_filter = flagged_page_real_get_search_view_filter; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + G_OBJECT_CLASS (klass)->finalize = flagged_page_finalize; +#line 1182 "FlaggedPage.c" +} + + +static void flagged_page_instance_init (FlaggedPage * self) { + Alteration* _tmp0_ = NULL; + FlaggedPageFlaggedSearchViewFilter* _tmp1_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self->priv = FLAGGED_PAGE_GET_PRIVATE (self); +#line 30 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp0_ = alteration_new ("metadata", "flagged"); +#line 30 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self->priv->prereq = _tmp0_; +#line 31 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _tmp1_ = flagged_page_flagged_search_view_filter_new (); +#line 31 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self->priv->search_filter = _tmp1_; +#line 1199 "FlaggedPage.c" +} + + +static void flagged_page_finalize (GObject* obj) { + FlaggedPage * self; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_FLAGGED_PAGE, FlaggedPage); +#line 29 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _view_manager_unref0 (self->priv->view_manager); +#line 30 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _alteration_unref0 (self->priv->prereq); +#line 31 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + _view_filter_unref0 (self->priv->search_filter); +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedPage.vala" + G_OBJECT_CLASS (flagged_page_parent_class)->finalize (obj); +#line 1215 "FlaggedPage.c" +} + + +GType flagged_page_get_type (void) { + static volatile gsize flagged_page_type_id__volatile = 0; + if (g_once_init_enter (&flagged_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (FlaggedPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) flagged_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FlaggedPage), 0, (GInstanceInitFunc) flagged_page_instance_init, NULL }; + GType flagged_page_type_id; + flagged_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "FlaggedPage", &g_define_type_info, 0); + g_once_init_leave (&flagged_page_type_id__volatile, flagged_page_type_id); + } + return flagged_page_type_id__volatile; +} + + + diff --git a/src/library/FlaggedPage.vala b/src/library/FlaggedPage.vala index f713773..6bf5416 100644 --- a/src/library/FlaggedPage.vala +++ b/src/library/FlaggedPage.vala @@ -22,7 +22,7 @@ public class FlaggedPage : CollectionPage { private class FlaggedSearchViewFilter : CollectionPage.CollectionSearchViewFilter { public override uint get_criteria() { return SearchFilterCriteria.TEXT | SearchFilterCriteria.MEDIA | - SearchFilterCriteria.RATING; + SearchFilterCriteria.RATING | SearchFilterCriteria.SAVEDSEARCH; } } diff --git a/src/library/FlaggedSidebarEntry.c b/src/library/FlaggedSidebarEntry.c new file mode 100644 index 0000000..7eb90aa --- /dev/null +++ b/src/library/FlaggedSidebarEntry.c @@ -0,0 +1,862 @@ +/* FlaggedSidebarEntry.c generated by valac 0.32.1, the Vala compiler + * generated from FlaggedSidebarEntry.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; + +#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ()) +#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) + +typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry; +typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass; +typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate; + +#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ()) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry)) +#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY)) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface)) + +typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry; +typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface; + +#define TYPE_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 LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY (library_flagged_sidebar_entry_get_type ()) +#define LIBRARY_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry)) +#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass)) +#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY)) +#define LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY)) +#define LIBRARY_FLAGGED_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntryClass)) + +typedef struct _LibraryFlaggedSidebarEntry LibraryFlaggedSidebarEntry; +typedef struct _LibraryFlaggedSidebarEntryClass LibraryFlaggedSidebarEntryClass; +typedef struct _LibraryFlaggedSidebarEntryPrivate LibraryFlaggedSidebarEntryPrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_FLAGGED_PAGE (flagged_page_get_type ()) +#define FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGED_PAGE, FlaggedPage)) +#define FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAGGED_PAGE, FlaggedPageClass)) +#define IS_FLAGGED_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGED_PAGE)) +#define IS_FLAGGED_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAGGED_PAGE)) +#define FLAGGED_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAGGED_PAGE, FlaggedPageClass)) + +typedef struct _FlaggedPage FlaggedPage; +typedef struct _FlaggedPageClass FlaggedPageClass; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND (multiple_data_source_at_once_command_get_type ()) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommand)) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass)) +#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND)) +#define IS_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND)) +#define MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MULTIPLE_DATA_SOURCE_AT_ONCE_COMMAND, MultipleDataSourceAtOnceCommandClass)) + +typedef struct _MultipleDataSourceAtOnceCommand MultipleDataSourceAtOnceCommand; +typedef struct _MultipleDataSourceAtOnceCommandClass MultipleDataSourceAtOnceCommandClass; + +#define TYPE_FLAG_UNFLAG_COMMAND (flag_unflag_command_get_type ()) +#define FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommand)) +#define FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass)) +#define IS_FLAG_UNFLAG_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAG_UNFLAG_COMMAND)) +#define IS_FLAG_UNFLAG_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FLAG_UNFLAG_COMMAND)) +#define FLAG_UNFLAG_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FLAG_UNFLAG_COMMAND, FlagUnflagCommandClass)) + +typedef struct _FlagUnflagCommand FlagUnflagCommand; +typedef struct _FlagUnflagCommandClass FlagUnflagCommandClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _LibraryHideablePageEntry { + SidebarSimplePageEntry parent_instance; + LibraryHideablePageEntryPrivate * priv; +}; + +struct _LibraryHideablePageEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _SidebarInternalDropTargetEntryIface { + GTypeInterface parent_iface; + gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources); + gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data); +}; + +struct _LibraryFlaggedSidebarEntry { + LibraryHideablePageEntry parent_instance; + LibraryFlaggedSidebarEntryPrivate * priv; +}; + +struct _LibraryFlaggedSidebarEntryClass { + LibraryHideablePageEntryClass parent_class; +}; + + +static gpointer library_flagged_sidebar_entry_parent_class = NULL; +static SidebarInternalDropTargetEntryIface* library_flagged_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = NULL; + +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType library_hideable_page_entry_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 sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST; +GType library_flagged_sidebar_entry_get_type (void) G_GNUC_CONST; +enum { + LIBRARY_FLAGGED_SIDEBAR_ENTRY_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +static void library_flagged_sidebar_entry_on_flagged_contents_altered (LibraryFlaggedSidebarEntry* self); +static void _library_flagged_sidebar_entry_on_flagged_contents_altered_media_source_collection_flagged_contents_altered (MediaSourceCollection* _sender, gpointer self); +LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_new (void); +LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_construct (GType object_type); +LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type); +static gint library_flagged_sidebar_entry_get_total_flagged (LibraryFlaggedSidebarEntry* self); +void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value); +static gchar* library_flagged_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +#define FLAGGED_PAGE_NAME _ ("Flagged") +static gchar* library_flagged_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +#define RESOURCES_ICON_FLAGGED_PAGE "flag-page" +static Page* library_flagged_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +FlaggedPage* flagged_page_new (void); +FlaggedPage* flagged_page_construct (GType object_type); +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; +GType flagged_page_get_type (void) G_GNUC_CONST; +static gboolean library_flagged_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +FlagUnflagCommand* flag_unflag_command_new (GeeCollection* sources, gboolean flag); +FlagUnflagCommand* flag_unflag_command_construct (GType object_type, GeeCollection* sources, gboolean flag); +GType page_command_get_type (void) G_GNUC_CONST; +GType multiple_data_source_at_once_command_get_type (void) G_GNUC_CONST; +GType flag_unflag_command_get_type (void) G_GNUC_CONST; +static gboolean library_flagged_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data); +GeeCollection* media_source_collection_get_flagged (MediaSourceCollection* self); +static void library_flagged_sidebar_entry_finalize (GObject* obj); + + +static void _library_flagged_sidebar_entry_on_flagged_contents_altered_media_source_collection_flagged_contents_altered (MediaSourceCollection* _sender, gpointer self) { +#line 17 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + library_flagged_sidebar_entry_on_flagged_contents_altered ((LibraryFlaggedSidebarEntry*) self); +#line 443 "FlaggedSidebarEntry.c" +} + + +LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_construct (GType object_type) { + LibraryFlaggedSidebarEntry * self = NULL; + gint _tmp11_ = 0; +#line 8 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + self = (LibraryFlaggedSidebarEntry*) library_hideable_page_entry_construct (object_type); +#line 452 "FlaggedSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + while (TRUE) { +#line 481 "FlaggedSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + if (!_tmp7_) { +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + break; +#line 496 "FlaggedSidebarEntry.c" + } +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 10 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp10_ = media_sources; +#line 10 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + g_signal_connect_object (_tmp10_, "flagged-contents-altered", (GCallback) _library_flagged_sidebar_entry_on_flagged_contents_altered_media_source_collection_flagged_contents_altered, self, 0); +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 510 "FlaggedSidebarEntry.c" + } +#line 9 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 514 "FlaggedSidebarEntry.c" + } +#line 12 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp11_ = library_flagged_sidebar_entry_get_total_flagged (self); +#line 12 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp11_ != 0); +#line 8 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + return self; +#line 522 "FlaggedSidebarEntry.c" +} + + +LibraryFlaggedSidebarEntry* library_flagged_sidebar_entry_new (void) { +#line 8 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + return library_flagged_sidebar_entry_construct (LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY); +#line 529 "FlaggedSidebarEntry.c" +} + + +static gchar* library_flagged_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + LibraryFlaggedSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry); +#line 21 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp0_ = g_strdup (FLAGGED_PAGE_NAME); +#line 21 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + result = _tmp0_; +#line 21 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + return result; +#line 545 "FlaggedSidebarEntry.c" +} + + +static gchar* library_flagged_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + LibraryFlaggedSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry); +#line 25 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_FLAGGED_PAGE); +#line 25 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + result = _tmp0_; +#line 25 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + return result; +#line 561 "FlaggedSidebarEntry.c" +} + + +static Page* library_flagged_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + LibraryFlaggedSidebarEntry * self; + Page* result = NULL; + FlaggedPage* _tmp0_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry); +#line 29 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp0_ = flagged_page_new (); +#line 29 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + g_object_ref_sink (_tmp0_); +#line 29 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page); +#line 29 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + return result; +#line 579 "FlaggedSidebarEntry.c" +} + + +static gboolean library_flagged_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media) { + LibraryFlaggedSidebarEntry * self; + gboolean result = FALSE; + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + FlagUnflagCommand* _tmp3_ = NULL; + FlagUnflagCommand* _tmp4_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry); +#line 32 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + g_return_val_if_fail (GEE_IS_LIST (media), FALSE); +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp0_ = app_window_get_command_manager (); +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp2_ = media; +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp3_ = flag_unflag_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), TRUE); +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp4_ = _tmp3_; +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + command_manager_execute (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_COMMAND, Command)); +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _g_object_unref0 (_tmp4_); +#line 33 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _command_manager_unref0 (_tmp1_); +#line 35 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + result = TRUE; +#line 35 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + return result; +#line 615 "FlaggedSidebarEntry.c" +} + + +static gboolean library_flagged_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data) { + LibraryFlaggedSidebarEntry * self; + gboolean result = FALSE; +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry); +#line 38 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + g_return_val_if_fail (data != NULL, FALSE); +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + result = FALSE; +#line 39 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + return result; +#line 630 "FlaggedSidebarEntry.c" +} + + +static void library_flagged_sidebar_entry_on_flagged_contents_altered (LibraryFlaggedSidebarEntry* self) { + gint _tmp0_ = 0; +#line 42 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + g_return_if_fail (LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY (self)); +#line 43 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp0_ = library_flagged_sidebar_entry_get_total_flagged (self); +#line 43 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp0_ != 0); +#line 642 "FlaggedSidebarEntry.c" +} + + +static gint library_flagged_sidebar_entry_get_total_flagged (LibraryFlaggedSidebarEntry* self) { + gint result = 0; + gint total = 0; +#line 46 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + g_return_val_if_fail (LIBRARY_IS_FLAGGED_SIDEBAR_ENTRY (self), 0); +#line 47 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + total = 0; +#line 653 "FlaggedSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + while (TRUE) { +#line 682 "FlaggedSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + gint _tmp10_ = 0; + MediaSourceCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + if (!_tmp7_) { +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + break; +#line 702 "FlaggedSidebarEntry.c" + } +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp10_ = total; +#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp11_ = media_sources; +#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp12_ = media_source_collection_get_flagged (_tmp11_); +#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp13_ = _tmp12_; +#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp14_ = gee_collection_get_size (_tmp13_); +#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp15_ = _tmp14_; +#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + total = _tmp10_ + _tmp15_; +#line 49 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _g_object_unref0 (_tmp13_); +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 728 "FlaggedSidebarEntry.c" + } +#line 48 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 732 "FlaggedSidebarEntry.c" + } +#line 51 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + result = total; +#line 51 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + return result; +#line 738 "FlaggedSidebarEntry.c" +} + + +static void library_flagged_sidebar_entry_class_init (LibraryFlaggedSidebarEntryClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + library_flagged_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_flagged_sidebar_entry_real_get_sidebar_name; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_flagged_sidebar_entry_real_get_sidebar_icon; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = library_flagged_sidebar_entry_real_create_page; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + G_OBJECT_CLASS (klass)->finalize = library_flagged_sidebar_entry_finalize; +#line 753 "FlaggedSidebarEntry.c" +} + + +static void library_flagged_sidebar_entry_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface) { +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + library_flagged_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + iface->internal_drop_received = (gboolean (*)(SidebarInternalDropTargetEntry*, GeeList*)) library_flagged_sidebar_entry_real_internal_drop_received; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + iface->internal_drop_received_arbitrary = (gboolean (*)(SidebarInternalDropTargetEntry*, GtkSelectionData*)) library_flagged_sidebar_entry_real_internal_drop_received_arbitrary; +#line 764 "FlaggedSidebarEntry.c" +} + + +static void library_flagged_sidebar_entry_instance_init (LibraryFlaggedSidebarEntry * self) { +} + + +static void library_flagged_sidebar_entry_finalize (GObject* obj) { + LibraryFlaggedSidebarEntry * self; +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_FLAGGED_SIDEBAR_ENTRY, LibraryFlaggedSidebarEntry); +#line 776 "FlaggedSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + while (TRUE) { +#line 805 "FlaggedSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + if (!_tmp7_) { +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + break; +#line 821 "FlaggedSidebarEntry.c" + } +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 17 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _tmp10_ = media_sources; +#line 17 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + g_signal_parse_name ("flagged-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE); +#line 17 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_flagged_sidebar_entry_on_flagged_contents_altered_media_source_collection_flagged_contents_altered, self); +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 837 "FlaggedSidebarEntry.c" + } +#line 16 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 841 "FlaggedSidebarEntry.c" + } +#line 7 "/home/jens/Source/shotwell/src/library/FlaggedSidebarEntry.vala" + G_OBJECT_CLASS (library_flagged_sidebar_entry_parent_class)->finalize (obj); +#line 845 "FlaggedSidebarEntry.c" +} + + +GType library_flagged_sidebar_entry_get_type (void) { + static volatile gsize library_flagged_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&library_flagged_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryFlaggedSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_flagged_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryFlaggedSidebarEntry), 0, (GInstanceInitFunc) library_flagged_sidebar_entry_instance_init, NULL }; + static const GInterfaceInfo sidebar_internal_drop_target_entry_info = { (GInterfaceInitFunc) library_flagged_sidebar_entry_sidebar_internal_drop_target_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType library_flagged_sidebar_entry_type_id; + library_flagged_sidebar_entry_type_id = g_type_register_static (LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, "LibraryFlaggedSidebarEntry", &g_define_type_info, 0); + g_type_add_interface_static (library_flagged_sidebar_entry_type_id, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, &sidebar_internal_drop_target_entry_info); + g_once_init_leave (&library_flagged_sidebar_entry_type_id__volatile, library_flagged_sidebar_entry_type_id); + } + return library_flagged_sidebar_entry_type_id__volatile; +} + + + diff --git a/src/library/ImportQueuePage.c b/src/library/ImportQueuePage.c new file mode 100644 index 0000000..2ba5e74 --- /dev/null +++ b/src/library/ImportQueuePage.c @@ -0,0 +1,1589 @@ +/* ImportQueuePage.c generated by valac 0.32.1, the Vala compiler + * generated from ImportQueuePage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate; + +#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ()) +#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer)) +#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass)) +#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER)) +#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER)) +#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass)) + +typedef struct _ZoomBuffer ZoomBuffer; +typedef struct _ZoomBufferClass ZoomBufferClass; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ()) + +#define TYPE_IMPORT_QUEUE_PAGE (import_queue_page_get_type ()) +#define IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage)) +#define IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass)) +#define IS_IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_QUEUE_PAGE)) +#define IS_IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_QUEUE_PAGE)) +#define IMPORT_QUEUE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass)) + +typedef struct _ImportQueuePage ImportQueuePage; +typedef struct _ImportQueuePageClass ImportQueuePageClass; +typedef struct _ImportQueuePagePrivate ImportQueuePagePrivate; + +#define TYPE_BATCH_IMPORT (batch_import_get_type ()) +#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport)) +#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass)) +#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT)) +#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT)) +#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass)) + +typedef struct _BatchImport BatchImport; +typedef struct _BatchImportClass BatchImportClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ()) +#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest)) +#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass)) +#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST)) +#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST)) +#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass)) + +typedef struct _ImportManifest ImportManifest; +typedef struct _ImportManifestClass ImportManifestClass; + +#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ()) +#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll)) +#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) +#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL)) +#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL)) +#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) + +typedef struct _BatchImportRoll BatchImportRoll; +typedef struct _BatchImportRollClass BatchImportRollClass; + +#define TYPE_IMPORT_RESULT (import_result_get_type ()) + +#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_DIRECTION (direction_get_type ()) + +#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_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_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_PHOTO_VIEW (photo_view_get_type ()) +#define PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_VIEW, PhotoView)) +#define PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_VIEW, PhotoViewClass)) +#define IS_PHOTO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_VIEW)) +#define IS_PHOTO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_VIEW)) +#define PHOTO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_VIEW, PhotoViewClass)) + +typedef struct _PhotoView PhotoView; +typedef struct _PhotoViewClass PhotoViewClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define TYPE_VIDEO_VIEW (video_view_get_type ()) +#define VIDEO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_VIEW, VideoView)) +#define VIDEO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_VIEW, VideoViewClass)) +#define IS_VIDEO_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_VIEW)) +#define IS_VIDEO_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_VIEW)) +#define VIDEO_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_VIEW, VideoViewClass)) + +typedef struct _VideoView VideoView; +typedef struct _VideoViewClass VideoViewClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#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 _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +typedef enum { + SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF, + SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT, + SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS +} SinglePhotoPageUpdateReason; + +struct _SinglePhotoPage { + Page parent_instance; + SinglePhotoPagePrivate * priv; + GtkDrawingArea* canvas; + GtkViewport* viewport; +}; + +struct _SinglePhotoPageClass { + PageClass parent_class; + gboolean (*is_zoom_supported) (SinglePhotoPage* self); + void (*cancel_zoom) (SinglePhotoPage* self); + void (*save_zoom_state) (SinglePhotoPage* self); + void (*restore_zoom_state) (SinglePhotoPage* self); + ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self); + void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); + void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*on_previous_photo) (SinglePhotoPage* self); + void (*on_next_photo) (SinglePhotoPage* self); +}; + +struct _ImportQueuePage { + SinglePhotoPage parent_instance; + ImportQueuePagePrivate * priv; +}; + +struct _ImportQueuePageClass { + SinglePhotoPageClass parent_class; +}; + +struct _ImportQueuePagePrivate { + GeeArrayList* queue; + GeeHashSet* cancel_unallowed; + BatchImport* current_batch; + GtkProgressBar* progress_bar; + gboolean stopped; +}; + +typedef enum { + IMPORT_RESULT_SUCCESS, + IMPORT_RESULT_FILE_ERROR, + IMPORT_RESULT_DECODE_ERROR, + IMPORT_RESULT_DATABASE_ERROR, + IMPORT_RESULT_USER_ABORT, + IMPORT_RESULT_NOT_A_FILE, + IMPORT_RESULT_PHOTO_EXISTS, + IMPORT_RESULT_UNSUPPORTED_FORMAT, + IMPORT_RESULT_NOT_AN_IMAGE, + IMPORT_RESULT_DISK_FAILURE, + IMPORT_RESULT_DISK_FULL, + IMPORT_RESULT_CAMERA_ERROR, + IMPORT_RESULT_FILE_WRITE_ERROR, + IMPORT_RESULT_PIXBUF_CORRUPT_IMAGE +} ImportResult; + +typedef enum { + DIRECTION_FORWARD, + DIRECTION_BACKWARD +} Direction; + + +static gpointer import_queue_page_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType zoom_buffer_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST; +GType import_queue_page_get_type (void) G_GNUC_CONST; +GType batch_import_get_type (void) G_GNUC_CONST; +#define IMPORT_QUEUE_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePagePrivate)) +enum { + IMPORT_QUEUE_PAGE_DUMMY_PROPERTY +}; +#define IMPORT_QUEUE_PAGE_NAME _ ("Importing...") +ImportQueuePage* import_queue_page_new (void); +ImportQueuePage* import_queue_page_construct (GType object_type); +SinglePhotoPage* single_photo_page_construct (GType object_type, const gchar* page_name, gboolean scale_up_to_viewport); +GtkToolbar* page_get_toolbar (Page* self); +GtkAction* page_get_action (Page* self, const gchar* name); +static void import_queue_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* import_queue_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define RESOURCES_STOP_LABEL _ ("_Stop") +#define TRANSLATABLE "translatable" +static void import_queue_page_on_stop (ImportQueuePage* self); +static void _import_queue_page_on_stop_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add87 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void import_queue_page_enqueue_and_schedule (ImportQueuePage* self, BatchImport* batch_import, gboolean allow_user_cancel); +static void import_queue_page_on_starting (ImportQueuePage* self, BatchImport* batch_import); +static void _import_queue_page_on_starting_batch_import_starting (BatchImport* _sender, gpointer self); +static void import_queue_page_on_preparing (ImportQueuePage* self); +static void _import_queue_page_on_preparing_batch_import_preparing (BatchImport* _sender, gpointer self); +static void import_queue_page_on_progress (ImportQueuePage* self, guint64 completed_bytes, guint64 total_bytes); +static void _import_queue_page_on_progress_batch_import_progress (BatchImport* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self); +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +static void import_queue_page_on_imported (ImportQueuePage* self, ThumbnailSource* source, GdkPixbuf* pixbuf, gint to_follow); +GType media_source_get_type (void) G_GNUC_CONST; +static void _import_queue_page_on_imported_batch_import_imported (BatchImport* _sender, MediaSource* source, GdkPixbuf* pixbuf, gint to_follow, gpointer self); +gpointer import_manifest_ref (gpointer instance); +void import_manifest_unref (gpointer instance); +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_import_manifest (GValue* value, gpointer v_object); +void value_take_import_manifest (GValue* value, gpointer v_object); +gpointer value_get_import_manifest (const GValue* value); +GType import_manifest_get_type (void) G_GNUC_CONST; +gpointer batch_import_roll_ref (gpointer instance); +void batch_import_roll_unref (gpointer instance); +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_roll (GValue* value, gpointer v_object); +void value_take_batch_import_roll (GValue* value, gpointer v_object); +gpointer value_get_batch_import_roll (const GValue* value); +GType batch_import_roll_get_type (void) G_GNUC_CONST; +static void import_queue_page_on_import_complete (ImportQueuePage* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll); +static void _import_queue_page_on_import_complete_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self); +GType import_result_get_type (void) G_GNUC_CONST; +static void import_queue_page_on_fatal_error (ImportQueuePage* self, ImportResult _result_, const gchar* message); +static void _import_queue_page_on_fatal_error_batch_import_fatal_error (BatchImport* _sender, ImportResult _result_, const gchar* message, gpointer self); +void batch_import_schedule (BatchImport* self); +static void import_queue_page_update_stop_action (ImportQueuePage* self); +gint import_queue_page_get_batch_count (ImportQueuePage* self); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +void page_window_set_busy_cursor (PageWindow* self); +void batch_import_user_halt (BatchImport* self); +gboolean page_is_in_view (Page* self); +GType direction_get_type (void) G_GNUC_CONST; +void single_photo_page_set_pixbuf (SinglePhotoPage* self, GdkPixbuf* unscaled, Dimensions* max_dim, Direction* direction); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +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); +void data_collection_clear (DataCollection* self); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +gboolean data_collection_add (DataCollection* self, DataObject* object); +PhotoView* photo_view_new (PhotoSource* source); +PhotoView* photo_view_construct (GType object_type, PhotoSource* source); +GType data_view_get_type (void) G_GNUC_CONST; +GType thumbnail_view_get_type (void) G_GNUC_CONST; +GType photo_view_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +VideoView* video_view_new (VideoSource* source); +VideoView* video_view_construct (GType object_type, VideoSource* source); +GType video_view_get_type (void) G_GNUC_CONST; +gchar* data_object_get_name (DataObject* self); +void single_photo_page_blank_display (SinglePhotoPage* self); +void page_window_set_normal_cursor (PageWindow* self); +void app_window_error_message (const gchar* message, GtkWindow* parent); +static void import_queue_page_finalize (GObject* obj); + + +ImportQueuePage* import_queue_page_construct (GType object_type) { + ImportQueuePage * self = NULL; + GtkToolbar* toolbar = NULL; + GtkToolbar* _tmp0_ = NULL; + GtkToolButton* stop_button = NULL; + GtkToolButton* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + GtkAction* _tmp3_ = NULL; + GtkSeparatorToolItem* separator = NULL; + GtkSeparatorToolItem* _tmp4_ = NULL; + GtkToolItem* progress_item = NULL; + GtkToolItem* _tmp5_ = NULL; + GtkProgressBar* _tmp6_ = NULL; + GtkProgressBar* _tmp7_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self = (ImportQueuePage*) single_photo_page_construct (object_type, IMPORT_QUEUE_PAGE_NAME, FALSE); +#line 28 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = page_get_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 28 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + toolbar = _tmp0_; +#line 31 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL); +#line 31 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_object_ref_sink (_tmp1_); +#line 31 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + stop_button = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_tool_button_set_icon_name (stop_button, "stop"); +#line 33 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = page_get_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Stop"); +#line 33 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp3_ = _tmp2_; +#line 33 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_activatable_set_related_action (G_TYPE_CHECK_INSTANCE_CAST (stop_button, GTK_TYPE_ACTIVATABLE, GtkActivatable), _tmp3_); +#line 33 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (_tmp3_); +#line 35 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (stop_button, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 38 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp4_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new (); +#line 38 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_object_ref_sink (_tmp4_); +#line 38 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + separator = _tmp4_; +#line 39 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_separator_tool_item_set_draw (separator, FALSE); +#line 41 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_toolbar_insert (toolbar, G_TYPE_CHECK_INSTANCE_CAST (separator, gtk_tool_item_get_type (), GtkToolItem), -1); +#line 44 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp5_ = gtk_tool_item_new (); +#line 44 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_object_ref_sink (_tmp5_); +#line 44 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + progress_item = _tmp5_; +#line 45 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_tool_item_set_expand (progress_item, TRUE); +#line 46 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp6_ = self->priv->progress_bar; +#line 46 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (progress_item, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); +#line 47 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp7_ = self->priv->progress_bar; +#line 47 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_set_show_text (_tmp7_, TRUE); +#line 49 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_toolbar_insert (toolbar, progress_item, -1); +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (progress_item); +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (separator); +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (stop_button); +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (toolbar); +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + return self; +#line 632 "ImportQueuePage.c" +} + + +ImportQueuePage* import_queue_page_new (void) { +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + return import_queue_page_construct (TYPE_IMPORT_QUEUE_PAGE); +#line 639 "ImportQueuePage.c" +} + + +static void import_queue_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + ImportQueuePage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage); +#line 56 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 57 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = ui_filenames; +#line 57 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), "import_queue.ui"); +#line 59 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = ui_filenames; +#line 59 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + PAGE_CLASS (import_queue_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), _tmp1_); +#line 659 "ImportQueuePage.c" +} + + +static void _import_queue_page_on_stop_gtk_action_callback (GtkAction* action, gpointer self) { +#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_on_stop ((ImportQueuePage*) self); +#line 666 "ImportQueuePage.c" +} + + +static void _vala_array_add87 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if ((*length) == (*size)) { +#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 677 "ImportQueuePage.c" + } +#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + (*array)[(*length)++] = *value; +#line 681 "ImportQueuePage.c" +} + + +static GtkActionEntry* import_queue_page_real_init_collect_action_entries (Page* base, int* result_length1) { + ImportQueuePage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry stop = {0}; + GtkActionEntry _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkActionEntry* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GtkActionEntry _tmp6_ = {0}; + GtkActionEntry* _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 62 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage); +#line 63 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = PAGE_CLASS (import_queue_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), TYPE_PAGE, Page), &_tmp0_); +#line 63 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + actions = _tmp1_; +#line 63 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + actions_length1 = _tmp0_; +#line 63 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _actions_size_ = actions_length1; +#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_.name = "Stop"; +#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_.stock_id = RESOURCES_STOP_LABEL; +#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_.label = TRANSLATABLE; +#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_.accelerator = NULL; +#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_.callback = (GCallback) _import_queue_page_on_stop_gtk_action_callback; +#line 65 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + stop = _tmp2_; +#line 67 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp3_ = _ ("_Stop Import"); +#line 67 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + stop.label = _tmp3_; +#line 68 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp4_ = _ ("Stop importing photos"); +#line 68 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + stop.tooltip = _tmp4_; +#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp5_ = actions; +#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp5__length1 = actions_length1; +#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp6_ = stop; +#line 69 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _vala_array_add87 (&actions, &actions_length1, &_actions_size_, &_tmp6_); +#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp7_ = actions; +#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp7__length1 = actions_length1; +#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (result_length1) { +#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + *result_length1 = _tmp7__length1; +#line 750 "ImportQueuePage.c" + } +#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + result = _tmp7_; +#line 71 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + return result; +#line 756 "ImportQueuePage.c" +} + + +static void _import_queue_page_on_starting_batch_import_starting (BatchImport* _sender, gpointer self) { +#line 77 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_on_starting ((ImportQueuePage*) self, _sender); +#line 763 "ImportQueuePage.c" +} + + +static void _import_queue_page_on_preparing_batch_import_preparing (BatchImport* _sender, gpointer self) { +#line 78 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_on_preparing ((ImportQueuePage*) self); +#line 770 "ImportQueuePage.c" +} + + +static void _import_queue_page_on_progress_batch_import_progress (BatchImport* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self) { +#line 79 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_on_progress ((ImportQueuePage*) self, completed_bytes, total_bytes); +#line 777 "ImportQueuePage.c" +} + + +static void _import_queue_page_on_imported_batch_import_imported (BatchImport* _sender, MediaSource* source, GdkPixbuf* pixbuf, gint to_follow, gpointer self) { +#line 80 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_on_imported ((ImportQueuePage*) self, source, pixbuf, to_follow); +#line 784 "ImportQueuePage.c" +} + + +static void _import_queue_page_on_import_complete_batch_import_import_complete (BatchImport* _sender, ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) { +#line 81 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_on_import_complete ((ImportQueuePage*) self, _sender, manifest, import_roll); +#line 791 "ImportQueuePage.c" +} + + +static void _import_queue_page_on_fatal_error_batch_import_fatal_error (BatchImport* _sender, ImportResult _result_, const gchar* message, gpointer self) { +#line 82 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_on_fatal_error ((ImportQueuePage*) self, _result_, message); +#line 798 "ImportQueuePage.c" +} + + +void import_queue_page_enqueue_and_schedule (ImportQueuePage* self, BatchImport* batch_import, gboolean allow_user_cancel) { + GeeArrayList* _tmp0_ = NULL; + BatchImport* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + BatchImport* _tmp3_ = NULL; + BatchImport* _tmp4_ = NULL; + BatchImport* _tmp5_ = NULL; + BatchImport* _tmp6_ = NULL; + BatchImport* _tmp7_ = NULL; + BatchImport* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GeeArrayList* _tmp12_ = NULL; + BatchImport* _tmp13_ = NULL; + BatchImport* _tmp14_ = NULL; + GeeArrayList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; +#line 74 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 74 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_BATCH_IMPORT (batch_import)); +#line 75 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = self->priv->queue; +#line 75 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = batch_import; +#line 75 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp1_); +#line 75 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _vala_assert (!_tmp2_, "!queue.contains(batch_import)"); +#line 77 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp3_ = batch_import; +#line 77 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_connect_object (_tmp3_, "starting", (GCallback) _import_queue_page_on_starting_batch_import_starting, self, 0); +#line 78 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp4_ = batch_import; +#line 78 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_connect_object (_tmp4_, "preparing", (GCallback) _import_queue_page_on_preparing_batch_import_preparing, self, 0); +#line 79 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp5_ = batch_import; +#line 79 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_connect_object (_tmp5_, "progress", (GCallback) _import_queue_page_on_progress_batch_import_progress, self, 0); +#line 80 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp6_ = batch_import; +#line 80 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_connect_object (_tmp6_, "imported", (GCallback) _import_queue_page_on_imported_batch_import_imported, self, 0); +#line 81 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp7_ = batch_import; +#line 81 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_connect_object (_tmp7_, "import-complete", (GCallback) _import_queue_page_on_import_complete_batch_import_import_complete, self, 0); +#line 82 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp8_ = batch_import; +#line 82 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_connect_object (_tmp8_, "fatal-error", (GCallback) _import_queue_page_on_fatal_error_batch_import_fatal_error, self, 0); +#line 84 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp9_ = allow_user_cancel; +#line 84 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (!_tmp9_) { +#line 859 "ImportQueuePage.c" + GeeHashSet* _tmp10_ = NULL; + BatchImport* _tmp11_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp10_ = self->priv->cancel_unallowed; +#line 85 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp11_ = batch_import; +#line 85 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_); +#line 868 "ImportQueuePage.c" + } +#line 87 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp12_ = self->priv->queue; +#line 87 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp13_ = batch_import; +#line 87 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_); +#line 88 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp14_ = batch_import; +#line 88 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_emit_by_name (self, "batch-added", _tmp14_); +#line 90 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp15_ = self->priv->queue; +#line 90 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp16_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 90 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp17_ = _tmp16_; +#line 90 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (_tmp17_ == 1) { +#line 888 "ImportQueuePage.c" + BatchImport* _tmp18_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp18_ = batch_import; +#line 91 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + batch_import_schedule (_tmp18_); +#line 894 "ImportQueuePage.c" + } +#line 93 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_update_stop_action (self); +#line 898 "ImportQueuePage.c" +} + + +gint import_queue_page_get_batch_count (ImportQueuePage* self) { + gint result = 0; + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 96 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_val_if_fail (IS_IMPORT_QUEUE_PAGE (self), 0); +#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = self->priv->queue; +#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = _tmp1_; +#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + result = _tmp2_; +#line 97 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + return result; +#line 919 "ImportQueuePage.c" +} + + +static void import_queue_page_update_stop_action (ImportQueuePage* self) { + gboolean _tmp0_ = FALSE; + GeeHashSet* _tmp1_ = NULL; + BatchImport* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 100 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = self->priv->cancel_unallowed; +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = self->priv->current_batch; +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp3_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_); +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (!_tmp3_) { +#line 938 "ImportQueuePage.c" + GeeArrayList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp4_ = self->priv->queue; +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp5_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp6_ = _tmp5_; +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = _tmp6_ > 0; +#line 950 "ImportQueuePage.c" + } else { +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = FALSE; +#line 954 "ImportQueuePage.c" + } +#line 101 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Stop", _tmp0_); +#line 958 "ImportQueuePage.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + return self ? g_object_ref (self) : NULL; +#line 965 "ImportQueuePage.c" +} + + +static void import_queue_page_on_stop (ImportQueuePage* self) { + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + AppWindow* _tmp3_ = NULL; + AppWindow* _tmp4_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 105 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_update_stop_action (self); +#line 107 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = self->priv->queue; +#line 107 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 107 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = _tmp1_; +#line 107 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (_tmp2_ == 0) { +#line 108 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + return; +#line 989 "ImportQueuePage.c" + } +#line 110 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp3_ = app_window_get_instance (); +#line 110 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp4_ = _tmp3_; +#line 110 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PAGE_WINDOW, PageWindow)); +#line 110 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (_tmp4_); +#line 111 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->stopped = TRUE; +#line 1001 "ImportQueuePage.c" + { + GeeArrayList* _batch_import_list = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + gint _batch_import_size = 0; + GeeArrayList* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _batch_import_index = 0; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp5_ = self->priv->queue; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp6_ = _g_object_ref0 (_tmp5_); +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _batch_import_list = _tmp6_; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp7_ = _batch_import_list; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp8_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp9_ = _tmp8_; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _batch_import_size = _tmp9_; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _batch_import_index = -1; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + while (TRUE) { +#line 1029 "ImportQueuePage.c" + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + BatchImport* batch_import = NULL; + GeeArrayList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gpointer _tmp15_ = NULL; + BatchImport* _tmp16_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp10_ = _batch_import_index; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _batch_import_index = _tmp10_ + 1; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp11_ = _batch_import_index; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp12_ = _batch_import_size; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (!(_tmp11_ < _tmp12_)) { +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + break; +#line 1050 "ImportQueuePage.c" + } +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp13_ = _batch_import_list; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp14_ = _batch_import_index; +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp15_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp14_); +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + batch_import = (BatchImport*) _tmp15_; +#line 115 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp16_ = batch_import; +#line 115 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + batch_import_user_halt (_tmp16_); +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (batch_import); +#line 1066 "ImportQueuePage.c" + } +#line 114 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (_batch_import_list); +#line 1070 "ImportQueuePage.c" + } +} + + +static void import_queue_page_on_starting (ImportQueuePage* self, BatchImport* batch_import) { + BatchImport* _tmp0_ = NULL; + BatchImport* _tmp1_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 118 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_BATCH_IMPORT (batch_import)); +#line 119 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_update_stop_action (self); +#line 120 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = batch_import; +#line 120 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 120 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (self->priv->current_batch); +#line 120 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->current_batch = _tmp1_; +#line 1092 "ImportQueuePage.c" +} + + +static void import_queue_page_on_preparing (ImportQueuePage* self) { + GtkProgressBar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkProgressBar* _tmp2_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 124 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = self->priv->progress_bar; +#line 124 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = _ ("Preparing to import..."); +#line 124 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_set_text (_tmp0_, _tmp1_); +#line 125 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = self->priv->progress_bar; +#line 125 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_pulse (_tmp2_); +#line 1112 "ImportQueuePage.c" +} + + +static void import_queue_page_on_progress (ImportQueuePage* self, guint64 completed_bytes, guint64 total_bytes) { + gdouble _tmp0_ = 0.0; + guint64 _tmp1_ = 0ULL; + guint64 _tmp2_ = 0ULL; + gdouble pct = 0.0; + GtkProgressBar* _tmp5_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = completed_bytes; +#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = total_bytes; +#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (_tmp1_ <= _tmp2_) { +#line 1130 "ImportQueuePage.c" + guint64 _tmp3_ = 0ULL; + guint64 _tmp4_ = 0ULL; +#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp3_ = completed_bytes; +#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp4_ = total_bytes; +#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = ((gdouble) _tmp3_) / ((gdouble) _tmp4_); +#line 1139 "ImportQueuePage.c" + } else { +#line 130 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = 0.0; +#line 1143 "ImportQueuePage.c" + } +#line 129 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + pct = _tmp0_; +#line 131 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp5_ = self->priv->progress_bar; +#line 131 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_set_fraction (_tmp5_, pct); +#line 1151 "ImportQueuePage.c" +} + + +static void import_queue_page_on_imported (ImportQueuePage* self, ThumbnailSource* source, GdkPixbuf* pixbuf, gint to_follow) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + Dimensions _tmp5_ = {0}; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + ThumbnailSource* _tmp9_ = NULL; + GtkProgressBar* _tmp22_ = NULL; + GtkProgressBar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + ThumbnailSource* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 138 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_THUMBNAIL_SOURCE (source)); +#line 138 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = to_follow; +#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (_tmp1_ > 0) { +#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = TRUE; +#line 1185 "ImportQueuePage.c" + } else { + gboolean _tmp2_ = FALSE; +#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = page_is_in_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = !_tmp2_; +#line 1192 "ImportQueuePage.c" + } +#line 140 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (_tmp0_) { +#line 141 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + return; +#line 1198 "ImportQueuePage.c" + } +#line 143 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp3_ = pixbuf; +#line 143 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp4_ = pixbuf; +#line 143 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + dimensions_for_pixbuf (_tmp4_, &_tmp5_); +#line 143 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + single_photo_page_set_pixbuf (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage), _tmp3_, &_tmp5_, NULL); +#line 146 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 146 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp7_ = _tmp6_; +#line 146 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_COLLECTION, DataCollection)); +#line 146 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _data_collection_unref0 (_tmp7_); +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp9_ = source; +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_LIBRARY_PHOTO)) { +#line 1220 "ImportQueuePage.c" + ViewCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + ThumbnailSource* _tmp12_ = NULL; + PhotoView* _tmp13_ = NULL; + PhotoView* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp10_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp11_ = _tmp10_; +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp12_ = source; +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp13_ = photo_view_new (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, TYPE_LIBRARY_PHOTO) ? ((LibraryPhoto*) _tmp12_) : NULL, TYPE_PHOTO_SOURCE, PhotoSource)); +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp14_ = _tmp13_; +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp15_ = data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_OBJECT, DataObject)); +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp8_ = _tmp15_; +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (_tmp14_); +#line 147 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _data_collection_unref0 (_tmp11_); +#line 1245 "ImportQueuePage.c" + } else { + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + ThumbnailSource* _tmp18_ = NULL; + VideoView* _tmp19_ = NULL; + VideoView* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp17_ = _tmp16_; +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp18_ = source; +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp19_ = video_view_new (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, TYPE_VIDEO) ? ((Video*) _tmp18_) : NULL, TYPE_VIDEO_SOURCE, VideoSource)); +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp20_ = _tmp19_; +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp21_ = data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_DATA_OBJECT, DataObject)); +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp8_ = _tmp21_; +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (_tmp20_); +#line 148 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _data_collection_unref0 (_tmp17_); +#line 1271 "ImportQueuePage.c" + } +#line 150 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp22_ = self->priv->progress_bar; +#line 150 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_set_ellipsize (_tmp22_, PANGO_ELLIPSIZE_MIDDLE); +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp23_ = self->priv->progress_bar; +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp24_ = _ ("Imported %s"); +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp25_ = source; +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp26_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject)); +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp27_ = _tmp26_; +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp28_ = g_strdup_printf (_tmp24_, _tmp27_); +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp29_ = _tmp28_; +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_set_text (_tmp23_, _tmp29_); +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_free0 (_tmp29_); +#line 151 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_free0 (_tmp27_); +#line 1297 "ImportQueuePage.c" +} + + +static void import_queue_page_on_import_complete (ImportQueuePage* self, BatchImport* batch_import, ImportManifest* manifest, BatchImportRoll* import_roll) { + BatchImport* _tmp0_ = NULL; + BatchImport* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GeeArrayList* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + BatchImport* _tmp7_ = NULL; + BatchImport* _tmp8_ = NULL; + gboolean removed = FALSE; + GeeArrayList* _tmp9_ = NULL; + BatchImport* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + GeeHashSet* _tmp13_ = NULL; + BatchImport* _tmp14_ = NULL; + BatchImport* _tmp15_ = NULL; + guint _tmp16_ = 0U; + BatchImport* _tmp17_ = NULL; + guint _tmp18_ = 0U; + BatchImport* _tmp19_ = NULL; + guint _tmp20_ = 0U; + BatchImport* _tmp21_ = NULL; + guint _tmp22_ = 0U; + BatchImport* _tmp23_ = NULL; + guint _tmp24_ = 0U; + BatchImport* _tmp25_ = NULL; + guint _tmp26_ = 0U; + GeeArrayList* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + BatchImport* _tmp39_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 154 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_BATCH_IMPORT (batch_import)); +#line 154 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_MANIFEST (manifest)); +#line 154 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_BATCH_IMPORT_ROLL (import_roll)); +#line 156 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = batch_import; +#line 156 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = self->priv->current_batch; +#line 156 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _vala_assert (_tmp0_ == _tmp1_, "batch_import == current_batch"); +#line 157 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (self->priv->current_batch); +#line 157 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->current_batch = NULL; +#line 159 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = self->priv->queue; +#line 159 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp3_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 159 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp4_ = _tmp3_; +#line 159 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _vala_assert (_tmp4_ > 0, "queue.size > 0"); +#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp5_ = self->priv->queue; +#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp6_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp7_ = (BatchImport*) _tmp6_; +#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp8_ = batch_import; +#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _vala_assert (_tmp7_ == _tmp8_, "queue.get(0) == batch_import"); +#line 160 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (_tmp7_); +#line 162 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp9_ = self->priv->queue; +#line 162 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp10_ = batch_import; +#line 162 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp11_ = gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 162 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + removed = _tmp11_; +#line 163 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp12_ = removed; +#line 163 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _vala_assert (_tmp12_, "removed"); +#line 166 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp13_ = self->priv->cancel_unallowed; +#line 166 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp14_ = batch_import; +#line 166 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp14_); +#line 169 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp15_ = batch_import; +#line 169 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_parse_name ("starting", TYPE_BATCH_IMPORT, &_tmp16_, NULL, FALSE); +#line 169 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_handlers_disconnect_matched (_tmp15_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _import_queue_page_on_starting_batch_import_starting, self); +#line 170 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp17_ = batch_import; +#line 170 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_parse_name ("preparing", TYPE_BATCH_IMPORT, &_tmp18_, NULL, FALSE); +#line 170 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_handlers_disconnect_matched (_tmp17_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _import_queue_page_on_preparing_batch_import_preparing, self); +#line 171 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp19_ = batch_import; +#line 171 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_parse_name ("progress", TYPE_BATCH_IMPORT, &_tmp20_, NULL, FALSE); +#line 171 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_handlers_disconnect_matched (_tmp19_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp20_, 0, NULL, (GCallback) _import_queue_page_on_progress_batch_import_progress, self); +#line 172 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp21_ = batch_import; +#line 172 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_parse_name ("imported", TYPE_BATCH_IMPORT, &_tmp22_, NULL, FALSE); +#line 172 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_handlers_disconnect_matched (_tmp21_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp22_, 0, NULL, (GCallback) _import_queue_page_on_imported_batch_import_imported, self); +#line 173 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp23_ = batch_import; +#line 173 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_parse_name ("import-complete", TYPE_BATCH_IMPORT, &_tmp24_, NULL, FALSE); +#line 173 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_handlers_disconnect_matched (_tmp23_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp24_, 0, NULL, (GCallback) _import_queue_page_on_import_complete_batch_import_import_complete, self); +#line 174 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp25_ = batch_import; +#line 174 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_parse_name ("fatal-error", TYPE_BATCH_IMPORT, &_tmp26_, NULL, FALSE); +#line 174 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_handlers_disconnect_matched (_tmp25_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp26_, 0, NULL, (GCallback) _import_queue_page_on_fatal_error_batch_import_fatal_error, self); +#line 177 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp27_ = self->priv->queue; +#line 177 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp28_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 177 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp29_ = _tmp28_; +#line 177 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (_tmp29_ > 0) { +#line 1434 "ImportQueuePage.c" + GeeArrayList* _tmp30_ = NULL; + gpointer _tmp31_ = NULL; + BatchImport* _tmp32_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp30_ = self->priv->queue; +#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp31_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp32_ = (BatchImport*) _tmp31_; +#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + batch_import_schedule (_tmp32_); +#line 178 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (_tmp32_); +#line 1448 "ImportQueuePage.c" + } else { + GtkProgressBar* _tmp33_ = NULL; + GtkProgressBar* _tmp34_ = NULL; + GtkProgressBar* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; +#line 181 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp33_ = self->priv->progress_bar; +#line 181 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_set_ellipsize (_tmp33_, PANGO_ELLIPSIZE_NONE); +#line 182 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp34_ = self->priv->progress_bar; +#line 182 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_set_text (_tmp34_, ""); +#line 183 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp35_ = self->priv->progress_bar; +#line 183 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + gtk_progress_bar_set_fraction (_tmp35_, 0.0); +#line 190 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + single_photo_page_blank_display (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)); +#line 193 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp36_ = self->priv->stopped; +#line 193 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + if (_tmp36_) { +#line 1472 "ImportQueuePage.c" + AppWindow* _tmp37_ = NULL; + AppWindow* _tmp38_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp37_ = app_window_get_instance (); +#line 194 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp38_ = _tmp37_; +#line 194 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_PAGE_WINDOW, PageWindow)); +#line 194 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (_tmp38_); +#line 1483 "ImportQueuePage.c" + } +#line 196 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->stopped = FALSE; +#line 1487 "ImportQueuePage.c" + } +#line 199 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_update_stop_action (self); +#line 202 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp39_ = batch_import; +#line 202 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_emit_by_name (self, "batch-removed", _tmp39_); +#line 1495 "ImportQueuePage.c" +} + + +static void import_queue_page_on_fatal_error (ImportQueuePage* self, ImportResult _result_, const gchar* message) { + const gchar* _tmp0_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (IS_IMPORT_QUEUE_PAGE (self)); +#line 205 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_return_if_fail (message != NULL); +#line 206 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = message; +#line 206 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + app_window_error_message (_tmp0_, NULL); +#line 1509 "ImportQueuePage.c" +} + + +static void import_queue_page_class_init (ImportQueuePageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + import_queue_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_type_class_add_private (klass, sizeof (ImportQueuePagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = import_queue_page_real_init_collect_ui_filenames; +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + ((PageClass *) klass)->init_collect_action_entries = import_queue_page_real_init_collect_action_entries; +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + G_OBJECT_CLASS (klass)->finalize = import_queue_page_finalize; +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_new ("batch_added", TYPE_IMPORT_QUEUE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_BATCH_IMPORT); +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_signal_new ("batch_removed", TYPE_IMPORT_QUEUE_PAGE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_BATCH_IMPORT); +#line 1528 "ImportQueuePage.c" +} + + +static void import_queue_page_instance_init (ImportQueuePage * self) { + GeeArrayList* _tmp0_ = NULL; + GeeHashSet* _tmp1_ = NULL; + GtkProgressBar* _tmp2_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv = IMPORT_QUEUE_PAGE_GET_PRIVATE (self); +#line 10 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp0_ = gee_array_list_new (TYPE_BATCH_IMPORT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 10 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->queue = _tmp0_; +#line 11 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp1_ = gee_hash_set_new (TYPE_BATCH_IMPORT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 11 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->cancel_unallowed = _tmp1_; +#line 12 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->current_batch = NULL; +#line 13 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _tmp2_ = (GtkProgressBar*) gtk_progress_bar_new (); +#line 13 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + g_object_ref_sink (_tmp2_); +#line 13 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->progress_bar = _tmp2_; +#line 14 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self->priv->stopped = FALSE; +#line 1556 "ImportQueuePage.c" +} + + +static void import_queue_page_finalize (GObject* obj) { + ImportQueuePage * self; +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage); +#line 10 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (self->priv->queue); +#line 11 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (self->priv->cancel_unallowed); +#line 12 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (self->priv->current_batch); +#line 13 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + _g_object_unref0 (self->priv->progress_bar); +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueuePage.vala" + G_OBJECT_CLASS (import_queue_page_parent_class)->finalize (obj); +#line 1574 "ImportQueuePage.c" +} + + +GType import_queue_page_get_type (void) { + static volatile gsize import_queue_page_type_id__volatile = 0; + if (g_once_init_enter (&import_queue_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (ImportQueuePageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) import_queue_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ImportQueuePage), 0, (GInstanceInitFunc) import_queue_page_instance_init, NULL }; + GType import_queue_page_type_id; + import_queue_page_type_id = g_type_register_static (TYPE_SINGLE_PHOTO_PAGE, "ImportQueuePage", &g_define_type_info, 0); + g_once_init_leave (&import_queue_page_type_id__volatile, import_queue_page_type_id); + } + return import_queue_page_type_id__volatile; +} + + + diff --git a/src/library/ImportQueueSidebarEntry.c b/src/library/ImportQueueSidebarEntry.c new file mode 100644 index 0000000..d7077e5 --- /dev/null +++ b/src/library/ImportQueueSidebarEntry.c @@ -0,0 +1,496 @@ +/* ImportQueueSidebarEntry.c generated by valac 0.32.1, the Vala compiler + * generated from ImportQueueSidebarEntry.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; + +#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ()) +#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) + +typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry; +typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass; +typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate; + +#define LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY (library_import_queue_sidebar_entry_get_type ()) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry)) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass)) +#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) +#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass)) + +typedef struct _LibraryImportQueueSidebarEntry LibraryImportQueueSidebarEntry; +typedef struct _LibraryImportQueueSidebarEntryClass LibraryImportQueueSidebarEntryClass; +typedef struct _LibraryImportQueueSidebarEntryPrivate LibraryImportQueueSidebarEntryPrivate; + +#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_IMPORT_QUEUE_PAGE (import_queue_page_get_type ()) +#define IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePage)) +#define IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass)) +#define IS_IMPORT_QUEUE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_QUEUE_PAGE)) +#define IS_IMPORT_QUEUE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_QUEUE_PAGE)) +#define IMPORT_QUEUE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_QUEUE_PAGE, ImportQueuePageClass)) + +typedef struct _ImportQueuePage ImportQueuePage; +typedef struct _ImportQueuePageClass ImportQueuePageClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_BATCH_IMPORT (batch_import_get_type ()) +#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport)) +#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass)) +#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT)) +#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT)) +#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass)) + +typedef struct _BatchImport BatchImport; +typedef struct _BatchImportClass BatchImportClass; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _LibraryHideablePageEntry { + SidebarSimplePageEntry parent_instance; + LibraryHideablePageEntryPrivate * priv; +}; + +struct _LibraryHideablePageEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _LibraryImportQueueSidebarEntry { + LibraryHideablePageEntry parent_instance; + LibraryImportQueueSidebarEntryPrivate * priv; +}; + +struct _LibraryImportQueueSidebarEntryClass { + LibraryHideablePageEntryClass parent_class; +}; + + +static gpointer library_import_queue_sidebar_entry_parent_class = NULL; + +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType library_hideable_page_entry_get_type (void) G_GNUC_CONST; +GType library_import_queue_sidebar_entry_get_type (void) G_GNUC_CONST; +enum { + LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_DUMMY_PROPERTY +}; +LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_new (void); +LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_construct (GType object_type); +LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type); +static void library_import_queue_sidebar_entry_on_page_created (LibraryImportQueueSidebarEntry* self); +static void _library_import_queue_sidebar_entry_on_page_created_sidebar_page_representative_page_created (SidebarPageRepresentative* _sender, Page* page, gpointer self); +static void library_import_queue_sidebar_entry_on_destroying_page (LibraryImportQueueSidebarEntry* self); +static void _library_import_queue_sidebar_entry_on_destroying_page_sidebar_page_representative_destroying_page (SidebarPageRepresentative* _sender, Page* page, gpointer self); +void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value); +static gchar* library_import_queue_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +#define IMPORT_QUEUE_PAGE_NAME _ ("Importing...") +static gchar* library_import_queue_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +#define RESOURCES_ICON_IMPORTING "go-down" +static Page* library_import_queue_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +ImportQueuePage* import_queue_page_new (void); +ImportQueuePage* import_queue_page_construct (GType object_type); +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType import_queue_page_get_type (void) G_GNUC_CONST; +static ImportQueuePage* library_import_queue_sidebar_entry_get_queue_page (LibraryImportQueueSidebarEntry* self); +Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self); +static void library_import_queue_sidebar_entry_on_batch_added_or_removed (LibraryImportQueueSidebarEntry* self); +GType batch_import_get_type (void) G_GNUC_CONST; +static void _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_added (ImportQueuePage* _sender, BatchImport* batch_import, gpointer self); +static void _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_removed (ImportQueuePage* _sender, BatchImport* batch_import, gpointer self); +gint import_queue_page_get_batch_count (ImportQueuePage* self); +void library_import_queue_sidebar_entry_enqueue_and_schedule (LibraryImportQueueSidebarEntry* self, BatchImport* batch_import, gboolean allow_user_cancel); +void import_queue_page_enqueue_and_schedule (ImportQueuePage* self, BatchImport* batch_import, gboolean allow_user_cancel); + + +static void _library_import_queue_sidebar_entry_on_page_created_sidebar_page_representative_page_created (SidebarPageRepresentative* _sender, Page* page, gpointer self) { +#line 10 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + library_import_queue_sidebar_entry_on_page_created ((LibraryImportQueueSidebarEntry*) self); +#line 239 "ImportQueueSidebarEntry.c" +} + + +static void _library_import_queue_sidebar_entry_on_destroying_page_sidebar_page_representative_destroying_page (SidebarPageRepresentative* _sender, Page* page, gpointer self) { +#line 11 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + library_import_queue_sidebar_entry_on_destroying_page ((LibraryImportQueueSidebarEntry*) self); +#line 246 "ImportQueueSidebarEntry.c" +} + + +LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_construct (GType object_type) { + LibraryImportQueueSidebarEntry * self = NULL; +#line 8 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + self = (LibraryImportQueueSidebarEntry*) library_hideable_page_entry_construct (object_type); +#line 10 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative), "page-created", (GCallback) _library_import_queue_sidebar_entry_on_page_created_sidebar_page_representative_page_created, self, 0); +#line 11 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative), "destroying-page", (GCallback) _library_import_queue_sidebar_entry_on_destroying_page_sidebar_page_representative_destroying_page, self, 0); +#line 16 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), FALSE); +#line 8 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + return self; +#line 262 "ImportQueueSidebarEntry.c" +} + + +LibraryImportQueueSidebarEntry* library_import_queue_sidebar_entry_new (void) { +#line 8 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + return library_import_queue_sidebar_entry_construct (LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY); +#line 269 "ImportQueueSidebarEntry.c" +} + + +static gchar* library_import_queue_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + LibraryImportQueueSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry); +#line 20 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp0_ = g_strdup (IMPORT_QUEUE_PAGE_NAME); +#line 20 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + return result; +#line 285 "ImportQueueSidebarEntry.c" +} + + +static gchar* library_import_queue_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + LibraryImportQueueSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry); +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_IMPORTING); +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + result = _tmp0_; +#line 24 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + return result; +#line 301 "ImportQueueSidebarEntry.c" +} + + +static Page* library_import_queue_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + LibraryImportQueueSidebarEntry * self; + Page* result = NULL; + ImportQueuePage* _tmp0_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry); +#line 28 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp0_ = import_queue_page_new (); +#line 28 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_object_ref_sink (_tmp0_); +#line 28 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page); +#line 28 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + return result; +#line 319 "ImportQueueSidebarEntry.c" +} + + +static ImportQueuePage* library_import_queue_sidebar_entry_get_queue_page (LibraryImportQueueSidebarEntry* self) { + ImportQueuePage* result = NULL; + Page* _tmp0_ = NULL; + ImportQueuePage* _tmp1_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_return_val_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self), NULL); +#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp0_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_IMPORT_QUEUE_PAGE) ? ((ImportQueuePage*) _tmp0_) : NULL; +#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + if (_tmp1_ == NULL) { +#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _g_object_unref0 (_tmp0_); +#line 337 "ImportQueueSidebarEntry.c" + } +#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + result = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + return result; +#line 343 "ImportQueueSidebarEntry.c" +} + + +static void _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_added (ImportQueuePage* _sender, BatchImport* batch_import, gpointer self) { +#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + library_import_queue_sidebar_entry_on_batch_added_or_removed ((LibraryImportQueueSidebarEntry*) self); +#line 350 "ImportQueueSidebarEntry.c" +} + + +static void _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_removed (ImportQueuePage* _sender, BatchImport* batch_import, gpointer self) { +#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + library_import_queue_sidebar_entry_on_batch_added_or_removed ((LibraryImportQueueSidebarEntry*) self); +#line 357 "ImportQueueSidebarEntry.c" +} + + +static void library_import_queue_sidebar_entry_on_page_created (LibraryImportQueueSidebarEntry* self) { + ImportQueuePage* _tmp0_ = NULL; + ImportQueuePage* _tmp1_ = NULL; + ImportQueuePage* _tmp2_ = NULL; + ImportQueuePage* _tmp3_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_return_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self)); +#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp0_ = library_import_queue_sidebar_entry_get_queue_page (self); +#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_signal_connect_object (_tmp1_, "batch-added", (GCallback) _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_added, self, 0); +#line 36 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _g_object_unref0 (_tmp1_); +#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp2_ = library_import_queue_sidebar_entry_get_queue_page (self); +#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_signal_connect_object (_tmp3_, "batch-removed", (GCallback) _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_removed, self, 0); +#line 37 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 384 "ImportQueueSidebarEntry.c" +} + + +static void library_import_queue_sidebar_entry_on_destroying_page (LibraryImportQueueSidebarEntry* self) { + ImportQueuePage* _tmp0_ = NULL; + ImportQueuePage* _tmp1_ = NULL; + guint _tmp2_ = 0U; + ImportQueuePage* _tmp3_ = NULL; + ImportQueuePage* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 40 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_return_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self)); +#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp0_ = library_import_queue_sidebar_entry_get_queue_page (self); +#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_signal_parse_name ("batch-added", TYPE_IMPORT_QUEUE_PAGE, &_tmp2_, NULL, FALSE); +#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_added, self); +#line 41 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _g_object_unref0 (_tmp1_); +#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp3_ = library_import_queue_sidebar_entry_get_queue_page (self); +#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp4_ = _tmp3_; +#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_signal_parse_name ("batch-removed", TYPE_IMPORT_QUEUE_PAGE, &_tmp5_, NULL, FALSE); +#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_import_queue_sidebar_entry_on_batch_added_or_removed_import_queue_page_batch_removed, self); +#line 42 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _g_object_unref0 (_tmp4_); +#line 417 "ImportQueueSidebarEntry.c" +} + + +static void library_import_queue_sidebar_entry_on_batch_added_or_removed (LibraryImportQueueSidebarEntry* self) { + ImportQueuePage* _tmp0_ = NULL; + ImportQueuePage* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 45 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_return_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self)); +#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp0_ = library_import_queue_sidebar_entry_get_queue_page (self); +#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp2_ = import_queue_page_get_batch_count (_tmp1_); +#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp2_ > 0); +#line 46 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _g_object_unref0 (_tmp1_); +#line 437 "ImportQueueSidebarEntry.c" +} + + +void library_import_queue_sidebar_entry_enqueue_and_schedule (LibraryImportQueueSidebarEntry* self, BatchImport* batch_import, gboolean allow_user_cancel) { + ImportQueuePage* _tmp0_ = NULL; + ImportQueuePage* _tmp1_ = NULL; + BatchImport* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 49 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_return_if_fail (LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY (self)); +#line 49 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + g_return_if_fail (IS_BATCH_IMPORT (batch_import)); +#line 52 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), TRUE); +#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp0_ = library_import_queue_sidebar_entry_get_queue_page (self); +#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp2_ = batch_import; +#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _tmp3_ = allow_user_cancel; +#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + import_queue_page_enqueue_and_schedule (_tmp1_, _tmp2_, _tmp3_); +#line 53 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + _g_object_unref0 (_tmp1_); +#line 464 "ImportQueueSidebarEntry.c" +} + + +static void library_import_queue_sidebar_entry_class_init (LibraryImportQueueSidebarEntryClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + library_import_queue_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_import_queue_sidebar_entry_real_get_sidebar_name; +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_import_queue_sidebar_entry_real_get_sidebar_icon; +#line 7 "/home/jens/Source/shotwell/src/library/ImportQueueSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = library_import_queue_sidebar_entry_real_create_page; +#line 477 "ImportQueueSidebarEntry.c" +} + + +static void library_import_queue_sidebar_entry_instance_init (LibraryImportQueueSidebarEntry * self) { +} + + +GType library_import_queue_sidebar_entry_get_type (void) { + static volatile gsize library_import_queue_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&library_import_queue_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryImportQueueSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_import_queue_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryImportQueueSidebarEntry), 0, (GInstanceInitFunc) library_import_queue_sidebar_entry_instance_init, NULL }; + GType library_import_queue_sidebar_entry_type_id; + library_import_queue_sidebar_entry_type_id = g_type_register_static (LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, "LibraryImportQueueSidebarEntry", &g_define_type_info, 0); + g_once_init_leave (&library_import_queue_sidebar_entry_type_id__volatile, library_import_queue_sidebar_entry_type_id); + } + return library_import_queue_sidebar_entry_type_id__volatile; +} + + + diff --git a/src/library/LastImportPage.c b/src/library/LastImportPage.c new file mode 100644 index 0000000..d0f8f24 --- /dev/null +++ b/src/library/LastImportPage.c @@ -0,0 +1,1278 @@ +/* LastImportPage.c generated by valac 0.32.1, the Vala compiler + * generated from LastImportPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#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; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#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_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; +typedef struct _CollectionPagePrivate CollectionPagePrivate; + +#define TYPE_LAST_IMPORT_PAGE (last_import_page_get_type ()) +#define LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPage)) +#define LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LAST_IMPORT_PAGE, LastImportPageClass)) +#define IS_LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LAST_IMPORT_PAGE)) +#define IS_LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LAST_IMPORT_PAGE)) +#define LAST_IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPageClass)) + +typedef struct _LastImportPage LastImportPage; +typedef struct _LastImportPageClass LastImportPageClass; +typedef struct _LastImportPagePrivate LastImportPagePrivate; + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; +#define _import_id_free0(var) ((var == NULL) ? NULL : (var = (import_id_free (var), NULL))) + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; + +#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ()) +#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager)) +#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) +#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER)) +#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER)) +#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) + +typedef struct _CollectionViewManager CollectionViewManager; +typedef struct _CollectionViewManagerClass CollectionViewManagerClass; + +#define LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER (last_import_page_last_import_view_manager_get_type ()) +#define LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManager)) +#define LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManagerClass)) +#define LAST_IMPORT_PAGE_IS_LAST_IMPORT_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER)) +#define LAST_IMPORT_PAGE_IS_LAST_IMPORT_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER)) +#define LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManagerClass)) + +typedef struct _LastImportPageLastImportViewManager LastImportPageLastImportViewManager; +typedef struct _LastImportPageLastImportViewManagerClass LastImportPageLastImportViewManagerClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +typedef struct _ViewManagerPrivate ViewManagerPrivate; +typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate; +typedef struct _LastImportPageLastImportViewManagerPrivate LastImportPageLastImportViewManagerPrivate; + +#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; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _CollectionPage { + MediaPage parent_instance; + CollectionPagePrivate * priv; +}; + +struct _CollectionPageClass { + MediaPageClass parent_class; +}; + +struct _LastImportPage { + CollectionPage parent_instance; + LastImportPagePrivate * priv; +}; + +struct _LastImportPageClass { + CollectionPageClass parent_class; +}; + +struct _ImportID { + gint64 id; +}; + +struct _LastImportPagePrivate { + ImportID last_import_id; + Alteration* last_import_alteration; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _CollectionViewManager { + ViewManager parent_instance; + CollectionViewManagerPrivate * priv; +}; + +struct _CollectionViewManagerClass { + ViewManagerClass parent_class; +}; + +struct _LastImportPageLastImportViewManager { + CollectionViewManager parent_instance; + LastImportPageLastImportViewManagerPrivate * priv; +}; + +struct _LastImportPageLastImportViewManagerClass { + CollectionViewManagerClass parent_class; +}; + +struct _LastImportPageLastImportViewManagerPrivate { + ImportID import_id; +}; + + +static gpointer last_import_page_parent_class = NULL; +static gpointer last_import_page_last_import_view_manager_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +GType last_import_page_get_type (void) G_GNUC_CONST; +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +#define LAST_IMPORT_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LAST_IMPORT_PAGE, LastImportPagePrivate)) +enum { + LAST_IMPORT_PAGE_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +static void last_import_page_on_import_rolls_altered (LastImportPage* self); +static void _last_import_page_on_import_rolls_altered_media_source_collection_import_roll_altered (MediaSourceCollection* _sender, gpointer self); +#define IMPORT_ID_INVALID ((gint64) 0) +void import_id_init (ImportID *self, gint64 id); +Alteration* alteration_new (const gchar* subject, const gchar* detail); +Alteration* alteration_construct (GType object_type, const gchar* subject, const gchar* detail); +#define LAST_IMPORT_PAGE_NAME _ ("Last Import") +LastImportPage* last_import_page_new (void); +LastImportPage* last_import_page_construct (GType object_type); +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name); +ImportID* media_collection_registry_get_last_import_id (MediaCollectionRegistry* self); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +void view_collection_halt_all_monitoring (ViewCollection* self); +void data_collection_clear (DataCollection* self); +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +static LastImportPageLastImportViewManager* last_import_page_last_import_view_manager_new (LastImportPage* owner, ImportID* import_id); +static LastImportPageLastImportViewManager* last_import_page_last_import_view_manager_construct (GType object_type, LastImportPage* owner, ImportID* import_id); +GType collection_view_manager_get_type (void) G_GNUC_CONST; +static GType last_import_page_last_import_view_manager_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static void last_import_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void last_import_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by); +void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +#define LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManagerPrivate)) +enum { + LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_DUMMY_PROPERTY +}; +CollectionViewManager* collection_view_manager_new (CollectionPage* page); +CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page); +static gboolean last_import_page_last_import_view_manager_real_include_in_view (ViewManager* base, DataSource* source); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +void media_source_get_import_id (MediaSource* self, ImportID* result); +static void last_import_page_last_import_view_manager_finalize (ViewManager* obj); +static void last_import_page_finalize (GObject* obj); + + +static void _last_import_page_on_import_rolls_altered_media_source_collection_import_roll_altered (MediaSourceCollection* _sender, gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + last_import_page_on_import_rolls_altered ((LastImportPage*) self); +#line 715 "LastImportPage.c" +} + + +LastImportPage* last_import_page_construct (GType object_type) { + LastImportPage * self = NULL; +#line 28 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self = (LastImportPage*) collection_page_construct (object_type, LAST_IMPORT_PAGE_NAME); +#line 723 "LastImportPage.c" + { + GeeIterator* _col_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp1_ = _tmp0_; +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp3_ = _tmp2_; +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp5_ = _tmp4_; +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _col_it = _tmp5_; +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + while (TRUE) { +#line 752 "LastImportPage.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* col = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp6_ = _col_it; +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + if (!_tmp7_) { +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + break; +#line 767 "LastImportPage.c" + } +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp8_ = _col_it; +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + col = (MediaSourceCollection*) _tmp9_; +#line 32 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp10_ = col; +#line 32 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_signal_connect_object (_tmp10_, "import-roll-altered", (GCallback) _last_import_page_on_import_rolls_altered_media_source_collection_import_roll_altered, self, 0); +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _data_collection_unref0 (col); +#line 781 "LastImportPage.c" + } +#line 31 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _g_object_unref0 (_col_it); +#line 785 "LastImportPage.c" + } +#line 36 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + last_import_page_on_import_rolls_altered (self); +#line 27 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + return self; +#line 791 "LastImportPage.c" +} + + +LastImportPage* last_import_page_new (void) { +#line 27 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + return last_import_page_construct (TYPE_LAST_IMPORT_PAGE); +#line 798 "LastImportPage.c" +} + + +static void last_import_page_on_import_rolls_altered (LastImportPage* self) { + ImportID* current_last_import_id = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + ImportID* _tmp2_ = NULL; + ImportID* _tmp3_ = NULL; + ImportID* _tmp4_ = NULL; + ImportID* _tmp9_ = NULL; + gint64 _tmp10_ = 0LL; + ImportID _tmp11_ = {0}; + gint64 _tmp12_ = 0LL; + ImportID* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_return_if_fail (IS_LAST_IMPORT_PAGE (self)); +#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp1_ = _tmp0_; +#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp2_ = media_collection_registry_get_last_import_id (_tmp1_); +#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp3_ = _tmp2_; +#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 47 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + current_last_import_id = _tmp3_; +#line 50 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp4_ = current_last_import_id; +#line 50 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + if (_tmp4_ == NULL) { +#line 836 "LastImportPage.c" + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 51 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp6_ = _tmp5_; +#line 51 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + view_collection_halt_all_monitoring (_tmp6_); +#line 51 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _data_collection_unref0 (_tmp6_); +#line 52 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 52 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp8_ = _tmp7_; +#line 52 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection)); +#line 52 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _data_collection_unref0 (_tmp8_); +#line 54 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _import_id_free0 (current_last_import_id); +#line 54 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + return; +#line 861 "LastImportPage.c" + } +#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp9_ = current_last_import_id; +#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp10_ = (*_tmp9_).id; +#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp11_ = self->priv->last_import_id; +#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp12_ = _tmp11_.id; +#line 57 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + if (_tmp10_ == _tmp12_) { +#line 58 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _import_id_free0 (current_last_import_id); +#line 58 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + return; +#line 877 "LastImportPage.c" + } +#line 60 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp13_ = current_last_import_id; +#line 60 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self->priv->last_import_id = *_tmp13_; +#line 62 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp14_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 62 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp15_ = _tmp14_; +#line 62 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + view_collection_halt_all_monitoring (_tmp15_); +#line 62 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _data_collection_unref0 (_tmp15_); +#line 63 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 63 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp17_ = _tmp16_; +#line 63 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_DATA_COLLECTION, DataCollection)); +#line 63 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _data_collection_unref0 (_tmp17_); +#line 899 "LastImportPage.c" + { + GeeIterator* _col_it = NULL; + MediaCollectionRegistry* _tmp18_ = NULL; + MediaCollectionRegistry* _tmp19_ = NULL; + GeeCollection* _tmp20_ = NULL; + GeeCollection* _tmp21_ = NULL; + GeeIterator* _tmp22_ = NULL; + GeeIterator* _tmp23_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp18_ = media_collection_registry_get_instance (); +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp19_ = _tmp18_; +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp20_ = media_collection_registry_get_all (_tmp19_); +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp21_ = _tmp20_; +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp22_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp23_ = _tmp22_; +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _g_object_unref0 (_tmp21_); +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _media_collection_registry_unref0 (_tmp19_); +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _col_it = _tmp23_; +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + while (TRUE) { +#line 928 "LastImportPage.c" + GeeIterator* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + MediaSourceCollection* col = NULL; + GeeIterator* _tmp26_ = NULL; + gpointer _tmp27_ = NULL; + ViewCollection* _tmp28_ = NULL; + ViewCollection* _tmp29_ = NULL; + MediaSourceCollection* _tmp30_ = NULL; + ImportID _tmp31_ = {0}; + LastImportPageLastImportViewManager* _tmp32_ = NULL; + LastImportPageLastImportViewManager* _tmp33_ = NULL; + Alteration* _tmp34_ = NULL; + ViewCollectionMonitor* _tmp35_ = NULL; + ViewCollectionMonitor* _tmp36_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp24_ = _col_it; +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp25_ = gee_iterator_next (_tmp24_); +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + if (!_tmp25_) { +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + break; +#line 951 "LastImportPage.c" + } +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp26_ = _col_it; +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp27_ = gee_iterator_get (_tmp26_); +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + col = (MediaSourceCollection*) _tmp27_; +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp28_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp29_ = _tmp28_; +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp30_ = col; +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp31_ = self->priv->last_import_id; +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp32_ = last_import_page_last_import_view_manager_new (self, &_tmp31_); +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp33_ = _tmp32_; +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp34_ = self->priv->last_import_alteration; +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp35_ = view_collection_monitor_source_collection (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_VIEW_MANAGER, ViewManager), _tmp34_, NULL, NULL, NULL); +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp36_ = _tmp35_; +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _view_collection_monitor_unref0 (_tmp36_); +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _view_manager_unref0 (_tmp33_); +#line 66 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _data_collection_unref0 (_tmp29_); +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _data_collection_unref0 (col); +#line 985 "LastImportPage.c" + } +#line 65 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _g_object_unref0 (_col_it); +#line 989 "LastImportPage.c" + } +#line 45 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _import_id_free0 (current_last_import_id); +#line 993 "LastImportPage.c" +} + + +static void last_import_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) { + LastImportPage * self; + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LAST_IMPORT_PAGE, LastImportPage); +#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp1_ = _tmp0_; +#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_); +#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _vala_sort_order = _tmp2_; +#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _vala_sort_by = _tmp3_; +#line 72 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _g_object_unref0 (_tmp1_); +#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + if (sort_order) { +#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + *sort_order = _vala_sort_order; +#line 1023 "LastImportPage.c" + } +#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + if (sort_by) { +#line 71 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + *sort_by = _vala_sort_by; +#line 1029 "LastImportPage.c" + } +} + + +static void last_import_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) { + LastImportPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 75 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LAST_IMPORT_PAGE, LastImportPage); +#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp1_ = _tmp0_; +#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp2_ = sort_order; +#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp3_ = sort_by; +#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_); +#line 76 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _g_object_unref0 (_tmp1_); +#line 1054 "LastImportPage.c" +} + + +static LastImportPageLastImportViewManager* last_import_page_last_import_view_manager_construct (GType object_type, LastImportPage* owner, ImportID* import_id) { + LastImportPageLastImportViewManager* self = NULL; + LastImportPage* _tmp0_ = NULL; + ImportID _tmp1_ = {0}; +#line 13 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_return_val_if_fail (IS_LAST_IMPORT_PAGE (owner), NULL); +#line 13 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_return_val_if_fail (import_id != NULL, NULL); +#line 14 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp0_ = owner; +#line 14 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self = (LastImportPageLastImportViewManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage)); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp1_ = *import_id; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self->priv->import_id = _tmp1_; +#line 13 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + return self; +#line 1076 "LastImportPage.c" +} + + +static LastImportPageLastImportViewManager* last_import_page_last_import_view_manager_new (LastImportPage* owner, ImportID* import_id) { +#line 13 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + return last_import_page_last_import_view_manager_construct (LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, owner, import_id); +#line 1083 "LastImportPage.c" +} + + +static gboolean last_import_page_last_import_view_manager_real_include_in_view (ViewManager* base, DataSource* source) { + LastImportPageLastImportViewManager * self; + gboolean result = FALSE; + DataSource* _tmp0_ = NULL; + ImportID _tmp1_ = {0}; + gint64 _tmp2_ = 0LL; + ImportID _tmp3_ = {0}; + gint64 _tmp4_ = 0LL; +#line 19 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManager); +#line 19 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp0_ = source; +#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + media_source_get_import_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE, MediaSource), &_tmp1_); +#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp2_ = _tmp1_.id; +#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp3_ = self->priv->import_id; +#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp4_ = _tmp3_.id; +#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + result = _tmp2_ == _tmp4_; +#line 20 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + return result; +#line 1113 "LastImportPage.c" +} + + +static void last_import_page_last_import_view_manager_class_init (LastImportPageLastImportViewManagerClass * klass) { +#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + last_import_page_last_import_view_manager_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + ((ViewManagerClass *) klass)->finalize = last_import_page_last_import_view_manager_finalize; +#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_type_class_add_private (klass, sizeof (LastImportPageLastImportViewManagerPrivate)); +#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + ((ViewManagerClass *) klass)->include_in_view = last_import_page_last_import_view_manager_real_include_in_view; +#line 1126 "LastImportPage.c" +} + + +static void last_import_page_last_import_view_manager_instance_init (LastImportPageLastImportViewManager * self) { +#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self->priv = LAST_IMPORT_PAGE_LAST_IMPORT_VIEW_MANAGER_GET_PRIVATE (self); +#line 1133 "LastImportPage.c" +} + + +static void last_import_page_last_import_view_manager_finalize (ViewManager* obj) { + LastImportPageLastImportViewManager * self; +#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LAST_IMPORT_PAGE_TYPE_LAST_IMPORT_VIEW_MANAGER, LastImportPageLastImportViewManager); +#line 10 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + VIEW_MANAGER_CLASS (last_import_page_last_import_view_manager_parent_class)->finalize (obj); +#line 1143 "LastImportPage.c" +} + + +static GType last_import_page_last_import_view_manager_get_type (void) { + static volatile gsize last_import_page_last_import_view_manager_type_id__volatile = 0; + if (g_once_init_enter (&last_import_page_last_import_view_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LastImportPageLastImportViewManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) last_import_page_last_import_view_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LastImportPageLastImportViewManager), 0, (GInstanceInitFunc) last_import_page_last_import_view_manager_instance_init, NULL }; + GType last_import_page_last_import_view_manager_type_id; + last_import_page_last_import_view_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "LastImportPageLastImportViewManager", &g_define_type_info, 0); + g_once_init_leave (&last_import_page_last_import_view_manager_type_id__volatile, last_import_page_last_import_view_manager_type_id); + } + return last_import_page_last_import_view_manager_type_id__volatile; +} + + +static void last_import_page_class_init (LastImportPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + last_import_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_type_class_add_private (klass, sizeof (LastImportPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = last_import_page_real_get_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = last_import_page_real_set_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + G_OBJECT_CLASS (klass)->finalize = last_import_page_finalize; +#line 1170 "LastImportPage.c" +} + + +static void last_import_page_instance_init (LastImportPage * self) { + Alteration* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self->priv = LAST_IMPORT_PAGE_GET_PRIVATE (self); +#line 24 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + import_id_init (&self->priv->last_import_id, IMPORT_ID_INVALID); +#line 25 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp0_ = alteration_new ("metadata", "import-id"); +#line 25 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self->priv->last_import_alteration = _tmp0_; +#line 1184 "LastImportPage.c" +} + + +static void last_import_page_finalize (GObject* obj) { + LastImportPage * self; +#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LAST_IMPORT_PAGE, LastImportPage); +#line 1192 "LastImportPage.c" + { + GeeIterator* _col_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp1_ = _tmp0_; +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp3_ = _tmp2_; +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp5_ = _tmp4_; +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _g_object_unref0 (_tmp3_); +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _col_it = _tmp5_; +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + while (TRUE) { +#line 1221 "LastImportPage.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* col = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp6_ = _col_it; +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + if (!_tmp7_) { +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + break; +#line 1237 "LastImportPage.c" + } +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp8_ = _col_it; +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + col = (MediaSourceCollection*) _tmp9_; +#line 41 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _tmp10_ = col; +#line 41 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_signal_parse_name ("import-roll-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE); +#line 41 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _last_import_page_on_import_rolls_altered_media_source_collection_import_roll_altered, self); +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _data_collection_unref0 (col); +#line 1253 "LastImportPage.c" + } +#line 40 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _g_object_unref0 (_col_it); +#line 1257 "LastImportPage.c" + } +#line 25 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + _alteration_unref0 (self->priv->last_import_alteration); +#line 7 "/home/jens/Source/shotwell/src/library/LastImportPage.vala" + G_OBJECT_CLASS (last_import_page_parent_class)->finalize (obj); +#line 1263 "LastImportPage.c" +} + + +GType last_import_page_get_type (void) { + static volatile gsize last_import_page_type_id__volatile = 0; + if (g_once_init_enter (&last_import_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LastImportPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) last_import_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LastImportPage), 0, (GInstanceInitFunc) last_import_page_instance_init, NULL }; + GType last_import_page_type_id; + last_import_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "LastImportPage", &g_define_type_info, 0); + g_once_init_leave (&last_import_page_type_id__volatile, last_import_page_type_id); + } + return last_import_page_type_id__volatile; +} + + + diff --git a/src/library/LastImportSidebarEntry.c b/src/library/LastImportSidebarEntry.c new file mode 100644 index 0000000..bdf6b91 --- /dev/null +++ b/src/library/LastImportSidebarEntry.c @@ -0,0 +1,610 @@ +/* LastImportSidebarEntry.c generated by valac 0.32.1, the Vala compiler + * generated from LastImportSidebarEntry.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; + +#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ()) +#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) + +typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry; +typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass; +typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate; + +#define LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY (library_last_import_sidebar_entry_get_type ()) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry)) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass)) +#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY)) +#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY)) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass)) + +typedef struct _LibraryLastImportSidebarEntry LibraryLastImportSidebarEntry; +typedef struct _LibraryLastImportSidebarEntryClass LibraryLastImportSidebarEntryClass; +typedef struct _LibraryLastImportSidebarEntryPrivate LibraryLastImportSidebarEntryPrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_IMPORT_ID (import_id_get_type ()) +typedef struct _ImportID ImportID; +#define _import_id_free0(var) ((var == NULL) ? NULL : (var = (import_id_free (var), NULL))) + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_LAST_IMPORT_PAGE (last_import_page_get_type ()) +#define LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPage)) +#define LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LAST_IMPORT_PAGE, LastImportPageClass)) +#define IS_LAST_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LAST_IMPORT_PAGE)) +#define IS_LAST_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LAST_IMPORT_PAGE)) +#define LAST_IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LAST_IMPORT_PAGE, LastImportPageClass)) + +typedef struct _LastImportPage LastImportPage; +typedef struct _LastImportPageClass LastImportPageClass; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _LibraryHideablePageEntry { + SidebarSimplePageEntry parent_instance; + LibraryHideablePageEntryPrivate * priv; +}; + +struct _LibraryHideablePageEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _LibraryLastImportSidebarEntry { + LibraryHideablePageEntry parent_instance; + LibraryLastImportSidebarEntryPrivate * priv; +}; + +struct _LibraryLastImportSidebarEntryClass { + LibraryHideablePageEntryClass parent_class; +}; + +struct _ImportID { + gint64 id; +}; + + +static gpointer library_last_import_sidebar_entry_parent_class = NULL; + +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType library_hideable_page_entry_get_type (void) G_GNUC_CONST; +GType library_last_import_sidebar_entry_get_type (void) G_GNUC_CONST; +enum { + LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +static void library_last_import_sidebar_entry_on_import_rolls_altered (LibraryLastImportSidebarEntry* self); +static void _library_last_import_sidebar_entry_on_import_rolls_altered_media_source_collection_import_roll_altered (MediaSourceCollection* _sender, gpointer self); +LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_new (void); +LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_construct (GType object_type); +LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type); +GType import_id_get_type (void) G_GNUC_CONST; +ImportID* import_id_dup (const ImportID* self); +void import_id_free (ImportID* self); +ImportID* media_collection_registry_get_last_import_id (MediaCollectionRegistry* self); +void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value); +static gchar* library_last_import_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +#define LAST_IMPORT_PAGE_NAME _ ("Last Import") +static gchar* library_last_import_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +#define RESOURCES_ICON_LAST_IMPORT "document-open-recent" +static Page* library_last_import_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +LastImportPage* last_import_page_new (void); +LastImportPage* last_import_page_construct (GType object_type); +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; +GType last_import_page_get_type (void) G_GNUC_CONST; +static void library_last_import_sidebar_entry_finalize (GObject* obj); + + +static void _library_last_import_sidebar_entry_on_import_rolls_altered_media_source_collection_import_roll_altered (MediaSourceCollection* _sender, gpointer self) { +#line 17 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + library_last_import_sidebar_entry_on_import_rolls_altered ((LibraryLastImportSidebarEntry*) self); +#line 325 "LastImportSidebarEntry.c" +} + + +LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_construct (GType object_type) { + LibraryLastImportSidebarEntry * self = NULL; + MediaCollectionRegistry* _tmp11_ = NULL; + MediaCollectionRegistry* _tmp12_ = NULL; + ImportID* _tmp13_ = NULL; + ImportID* _tmp14_ = NULL; +#line 8 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + self = (LibraryLastImportSidebarEntry*) library_hideable_page_entry_construct (object_type); +#line 337 "LastImportSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + while (TRUE) { +#line 366 "LastImportSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + if (!_tmp7_) { +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + break; +#line 381 "LastImportSidebarEntry.c" + } +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 10 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp10_ = media_sources; +#line 10 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + g_signal_connect_object (_tmp10_, "import-roll-altered", (GCallback) _library_last_import_sidebar_entry_on_import_rolls_altered_media_source_collection_import_roll_altered, self, 0); +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 395 "LastImportSidebarEntry.c" + } +#line 9 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 399 "LastImportSidebarEntry.c" + } +#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp11_ = media_collection_registry_get_instance (); +#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp12_ = _tmp11_; +#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp13_ = media_collection_registry_get_last_import_id (_tmp12_); +#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp14_ = _tmp13_; +#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp14_ != NULL); +#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _import_id_free0 (_tmp14_); +#line 12 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp12_); +#line 8 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + return self; +#line 417 "LastImportSidebarEntry.c" +} + + +LibraryLastImportSidebarEntry* library_last_import_sidebar_entry_new (void) { +#line 8 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + return library_last_import_sidebar_entry_construct (LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY); +#line 424 "LastImportSidebarEntry.c" +} + + +static gchar* library_last_import_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + LibraryLastImportSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry); +#line 21 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp0_ = g_strdup (LAST_IMPORT_PAGE_NAME); +#line 21 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + result = _tmp0_; +#line 21 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + return result; +#line 440 "LastImportSidebarEntry.c" +} + + +static gchar* library_last_import_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + LibraryLastImportSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry); +#line 25 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_LAST_IMPORT); +#line 25 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + result = _tmp0_; +#line 25 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + return result; +#line 456 "LastImportSidebarEntry.c" +} + + +static Page* library_last_import_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + LibraryLastImportSidebarEntry * self; + Page* result = NULL; + LastImportPage* _tmp0_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry); +#line 29 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp0_ = last_import_page_new (); +#line 29 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + g_object_ref_sink (_tmp0_); +#line 29 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page); +#line 29 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + return result; +#line 474 "LastImportSidebarEntry.c" +} + + +static void library_last_import_sidebar_entry_on_import_rolls_altered (LibraryLastImportSidebarEntry* self) { + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + ImportID* _tmp2_ = NULL; + ImportID* _tmp3_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + g_return_if_fail (LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY (self)); +#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_last_import_id (_tmp1_); +#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp3_ != NULL); +#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _import_id_free0 (_tmp3_); +#line 33 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 499 "LastImportSidebarEntry.c" +} + + +static void library_last_import_sidebar_entry_class_init (LibraryLastImportSidebarEntryClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + library_last_import_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_last_import_sidebar_entry_real_get_sidebar_name; +#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_last_import_sidebar_entry_real_get_sidebar_icon; +#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = library_last_import_sidebar_entry_real_create_page; +#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + G_OBJECT_CLASS (klass)->finalize = library_last_import_sidebar_entry_finalize; +#line 514 "LastImportSidebarEntry.c" +} + + +static void library_last_import_sidebar_entry_instance_init (LibraryLastImportSidebarEntry * self) { +} + + +static void library_last_import_sidebar_entry_finalize (GObject* obj) { + LibraryLastImportSidebarEntry * self; +#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry); +#line 526 "LastImportSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + while (TRUE) { +#line 555 "LastImportSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + if (!_tmp7_) { +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + break; +#line 571 "LastImportSidebarEntry.c" + } +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 17 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _tmp10_ = media_sources; +#line 17 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + g_signal_parse_name ("import-roll-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE); +#line 17 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_last_import_sidebar_entry_on_import_rolls_altered_media_source_collection_import_roll_altered, self); +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 587 "LastImportSidebarEntry.c" + } +#line 16 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 591 "LastImportSidebarEntry.c" + } +#line 7 "/home/jens/Source/shotwell/src/library/LastImportSidebarEntry.vala" + G_OBJECT_CLASS (library_last_import_sidebar_entry_parent_class)->finalize (obj); +#line 595 "LastImportSidebarEntry.c" +} + + +GType library_last_import_sidebar_entry_get_type (void) { + static volatile gsize library_last_import_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&library_last_import_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryLastImportSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_last_import_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryLastImportSidebarEntry), 0, (GInstanceInitFunc) library_last_import_sidebar_entry_instance_init, NULL }; + GType library_last_import_sidebar_entry_type_id; + library_last_import_sidebar_entry_type_id = g_type_register_static (LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, "LibraryLastImportSidebarEntry", &g_define_type_info, 0); + g_once_init_leave (&library_last_import_sidebar_entry_type_id__volatile, library_last_import_sidebar_entry_type_id); + } + return library_last_import_sidebar_entry_type_id__volatile; +} + + + diff --git a/src/library/Library.c b/src/library/Library.c new file mode 100644 index 0000000..4ce5d56 --- /dev/null +++ b/src/library/Library.c @@ -0,0 +1,46 @@ +/* Library.c generated by valac 0.32.1, the Vala compiler + * generated from Library.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include + + + + +void library_init (GError** error); +void library_trash_sidebar_entry_init (void); +gboolean photo_get_develop_raw_photos_to_files (void); +void photo_set_develop_raw_photos_to_files (gboolean value); +void library_terminate (void); +void library_trash_sidebar_entry_terminate (void); + + +void library_init (GError** error) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 10 "/home/jens/Source/shotwell/src/library/Library.vala" + library_trash_sidebar_entry_init (); +#line 11 "/home/jens/Source/shotwell/src/library/Library.vala" + _tmp0_ = photo_get_develop_raw_photos_to_files (); +#line 11 "/home/jens/Source/shotwell/src/library/Library.vala" + _tmp1_ = _tmp0_; +#line 11 "/home/jens/Source/shotwell/src/library/Library.vala" + photo_set_develop_raw_photos_to_files (TRUE); +#line 36 "Library.c" +} + + +void library_terminate (void) { +#line 15 "/home/jens/Source/shotwell/src/library/Library.vala" + library_trash_sidebar_entry_terminate (); +#line 43 "Library.c" +} + + + diff --git a/src/library/LibraryWindow.c b/src/library/LibraryWindow.c new file mode 100644 index 0000000..9c5d335 --- /dev/null +++ b/src/library/LibraryWindow.c @@ -0,0 +1,11056 @@ +/* LibraryWindow.c generated by valac 0.32.1, the Vala compiler + * generated from LibraryWindow.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; +typedef struct _PageWindowPrivate PageWindowPrivate; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define TYPE_APP_WINDOW (app_window_get_type ()) +#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow)) +#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass)) +#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW)) +#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW)) +#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass)) + +typedef struct _AppWindow AppWindow; +typedef struct _AppWindowClass AppWindowClass; +typedef struct _AppWindowPrivate AppWindowPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_LIBRARY_WINDOW (library_window_get_type ()) +#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow)) +#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) +#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW)) +#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW)) +#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) + +typedef struct _LibraryWindow LibraryWindow; +typedef struct _LibraryWindowClass LibraryWindowClass; +typedef struct _LibraryWindowPrivate LibraryWindowPrivate; + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; + +#define LIBRARY_TYPE_BRANCH (library_branch_get_type ()) +#define LIBRARY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_BRANCH, LibraryBranch)) +#define LIBRARY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_BRANCH, LibraryBranchClass)) +#define LIBRARY_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_BRANCH)) +#define LIBRARY_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_BRANCH)) +#define LIBRARY_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_BRANCH, LibraryBranchClass)) + +typedef struct _LibraryBranch LibraryBranch; +typedef struct _LibraryBranchClass LibraryBranchClass; + +#define TAGS_TYPE_BRANCH (tags_branch_get_type ()) +#define TAGS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_BRANCH, TagsBranch)) +#define TAGS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_BRANCH, TagsBranchClass)) +#define TAGS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_BRANCH)) +#define TAGS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_BRANCH)) +#define TAGS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_BRANCH, TagsBranchClass)) + +typedef struct _TagsBranch TagsBranch; +typedef struct _TagsBranchClass TagsBranchClass; + +#define FOLDERS_TYPE_BRANCH (folders_branch_get_type ()) +#define FOLDERS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), FOLDERS_TYPE_BRANCH, FoldersBranch)) +#define FOLDERS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), FOLDERS_TYPE_BRANCH, FoldersBranchClass)) +#define FOLDERS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), FOLDERS_TYPE_BRANCH)) +#define FOLDERS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), FOLDERS_TYPE_BRANCH)) +#define FOLDERS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), FOLDERS_TYPE_BRANCH, FoldersBranchClass)) + +typedef struct _FoldersBranch FoldersBranch; +typedef struct _FoldersBranchClass FoldersBranchClass; + +#define EVENTS_TYPE_BRANCH (events_branch_get_type ()) +#define EVENTS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_BRANCH, EventsBranch)) +#define EVENTS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_BRANCH, EventsBranchClass)) +#define EVENTS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_BRANCH)) +#define EVENTS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_BRANCH)) +#define EVENTS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_BRANCH, EventsBranchClass)) + +typedef struct _EventsBranch EventsBranch; +typedef struct _EventsBranchClass EventsBranchClass; + +#define CAMERA_TYPE_BRANCH (camera_branch_get_type ()) +#define CAMERA_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_BRANCH, CameraBranch)) +#define CAMERA_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_BRANCH, CameraBranchClass)) +#define CAMERA_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_BRANCH)) +#define CAMERA_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_BRANCH)) +#define CAMERA_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_BRANCH, CameraBranchClass)) + +typedef struct _CameraBranch CameraBranch; +typedef struct _CameraBranchClass CameraBranchClass; + +#define SEARCHES_TYPE_BRANCH (searches_branch_get_type ()) +#define SEARCHES_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_BRANCH, SearchesBranch)) +#define SEARCHES_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_BRANCH, SearchesBranchClass)) +#define SEARCHES_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_BRANCH)) +#define SEARCHES_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_BRANCH)) +#define SEARCHES_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_BRANCH, SearchesBranchClass)) + +typedef struct _SearchesBranch SearchesBranch; +typedef struct _SearchesBranchClass SearchesBranchClass; + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define TYPE_SINGLE_PHOTO_PAGE (single_photo_page_get_type ()) +#define SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPage)) +#define SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) +#define IS_SINGLE_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_PHOTO_PAGE)) +#define IS_SINGLE_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_PHOTO_PAGE)) +#define SINGLE_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_PHOTO_PAGE, SinglePhotoPageClass)) + +typedef struct _SinglePhotoPage SinglePhotoPage; +typedef struct _SinglePhotoPageClass SinglePhotoPageClass; + +#define TYPE_EDITING_HOST_PAGE (editing_host_page_get_type ()) +#define EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPage)) +#define EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EDITING_HOST_PAGE, EditingHostPageClass)) +#define IS_EDITING_HOST_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EDITING_HOST_PAGE)) +#define IS_EDITING_HOST_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EDITING_HOST_PAGE)) +#define EDITING_HOST_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EDITING_HOST_PAGE, EditingHostPageClass)) + +typedef struct _EditingHostPage EditingHostPage; +typedef struct _EditingHostPageClass EditingHostPageClass; + +#define TYPE_LIBRARY_PHOTO_PAGE (library_photo_page_get_type ()) +#define LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage)) +#define LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass)) +#define IS_LIBRARY_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_PAGE)) +#define IS_LIBRARY_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_PAGE)) +#define LIBRARY_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPageClass)) + +typedef struct _LibraryPhotoPage LibraryPhotoPage; +typedef struct _LibraryPhotoPageClass LibraryPhotoPageClass; + +#define TYPE_SEARCH_FILTER_ACTIONS (search_filter_actions_get_type ()) +#define SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActions)) +#define SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass)) +#define IS_SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_ACTIONS)) +#define IS_SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_ACTIONS)) +#define SEARCH_FILTER_ACTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass)) + +typedef struct _SearchFilterActions SearchFilterActions; +typedef struct _SearchFilterActionsClass SearchFilterActionsClass; + +#define TYPE_SEARCH_FILTER_TOOLBAR (search_filter_toolbar_get_type ()) +#define SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbar)) +#define SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass)) +#define IS_SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_TOOLBAR)) +#define IS_SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_TOOLBAR)) +#define SEARCH_FILTER_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass)) + +typedef struct _SearchFilterToolbar SearchFilterToolbar; +typedef struct _SearchFilterToolbarClass SearchFilterToolbarClass; + +#define TYPE_PROPERTIES (properties_get_type ()) +#define PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROPERTIES, Properties)) +#define PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROPERTIES, PropertiesClass)) +#define IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROPERTIES)) +#define IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROPERTIES)) +#define PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROPERTIES, PropertiesClass)) + +typedef struct _Properties Properties; +typedef struct _PropertiesClass PropertiesClass; + +#define TYPE_BASIC_PROPERTIES (basic_properties_get_type ()) +#define BASIC_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BASIC_PROPERTIES, BasicProperties)) +#define BASIC_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BASIC_PROPERTIES, BasicPropertiesClass)) +#define IS_BASIC_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BASIC_PROPERTIES)) +#define IS_BASIC_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BASIC_PROPERTIES)) +#define BASIC_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BASIC_PROPERTIES, BasicPropertiesClass)) + +typedef struct _BasicProperties BasicProperties; +typedef struct _BasicPropertiesClass BasicPropertiesClass; + +#define TYPE_EXTENDED_PROPERTIES_WINDOW (extended_properties_window_get_type ()) +#define EXTENDED_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindow)) +#define EXTENDED_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowClass)) +#define IS_EXTENDED_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW)) +#define IS_EXTENDED_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EXTENDED_PROPERTIES_WINDOW)) +#define EXTENDED_PROPERTIES_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EXTENDED_PROPERTIES_WINDOW, ExtendedPropertiesWindowClass)) + +typedef struct _ExtendedPropertiesWindow ExtendedPropertiesWindow; +typedef struct _ExtendedPropertiesWindowClass ExtendedPropertiesWindowClass; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_METADATA_WRITER (metadata_writer_get_type ()) +#define METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_WRITER, MetadataWriter)) +#define METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_WRITER, MetadataWriterClass)) +#define IS_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_WRITER)) +#define IS_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_WRITER)) +#define METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_WRITER, MetadataWriterClass)) + +typedef struct _MetadataWriter MetadataWriter; +typedef struct _MetadataWriterClass MetadataWriterClass; + +#define TYPE_DIRECTORY_MONITOR (directory_monitor_get_type ()) +#define DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitor)) +#define DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) +#define IS_DIRECTORY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECTORY_MONITOR)) +#define IS_DIRECTORY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECTORY_MONITOR)) +#define DIRECTORY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECTORY_MONITOR, DirectoryMonitorClass)) + +typedef struct _DirectoryMonitor DirectoryMonitor; +typedef struct _DirectoryMonitorClass DirectoryMonitorClass; + +#define TYPE_LIBRARY_MONITOR (library_monitor_get_type ()) +#define LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitor)) +#define LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR, LibraryMonitorClass)) +#define IS_LIBRARY_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR)) +#define IS_LIBRARY_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR)) +#define LIBRARY_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR, LibraryMonitorClass)) + +typedef struct _LibraryMonitor LibraryMonitor; +typedef struct _LibraryMonitorClass LibraryMonitorClass; + +#define TYPE_LIBRARY_MONITOR_POOL (library_monitor_pool_get_type ()) +#define LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPool)) +#define LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass)) +#define IS_LIBRARY_MONITOR_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_MONITOR_POOL)) +#define IS_LIBRARY_MONITOR_POOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_MONITOR_POOL)) +#define LIBRARY_MONITOR_POOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_MONITOR_POOL, LibraryMonitorPoolClass)) + +typedef struct _LibraryMonitorPool LibraryMonitorPool; +typedef struct _LibraryMonitorPoolClass LibraryMonitorPoolClass; +#define _library_monitor_pool_unref0(var) ((var == NULL) ? NULL : (var = (library_monitor_pool_unref (var), NULL))) + +#define TYPE_CAMERA_TABLE (camera_table_get_type ()) +#define CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_TABLE, CameraTable)) +#define CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_TABLE, CameraTableClass)) +#define IS_CAMERA_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_TABLE)) +#define IS_CAMERA_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_TABLE)) +#define CAMERA_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_TABLE, CameraTableClass)) + +typedef struct _CameraTable CameraTable; +typedef struct _CameraTableClass CameraTableClass; + +#define TYPE_DISCOVERED_CAMERA (discovered_camera_get_type ()) +#define DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCamera)) +#define DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass)) +#define IS_DISCOVERED_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISCOVERED_CAMERA)) +#define IS_DISCOVERED_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISCOVERED_CAMERA)) +#define DISCOVERED_CAMERA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISCOVERED_CAMERA, DiscoveredCameraClass)) + +typedef struct _DiscoveredCamera DiscoveredCamera; +typedef struct _DiscoveredCameraClass DiscoveredCameraClass; +#define _camera_table_unref0(var) ((var == NULL) ? NULL : (var = (camera_table_unref (var), NULL))) + +#define LIBRARY_WINDOW_TYPE_SIDEBAR_ROOT_POSITION (library_window_sidebar_root_position_get_type ()) + +#define LIBRARY_WINDOW_TYPE_TARGET_TYPE (library_window_target_type_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _one_shot_scheduler_unref0(var) ((var == NULL) ? NULL : (var = (one_shot_scheduler_unref (var), NULL))) +#define _search_filter_actions_unref0(var) ((var == NULL) ? NULL : (var = (search_filter_actions_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; + +#define LIBRARY_TYPE_PHOTOS_ENTRY (library_photos_entry_get_type ()) +#define LIBRARY_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntry)) +#define LIBRARY_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass)) +#define LIBRARY_IS_PHOTOS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_PHOTOS_ENTRY)) +#define LIBRARY_IS_PHOTOS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_PHOTOS_ENTRY)) +#define LIBRARY_PHOTOS_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_PHOTOS_ENTRY, LibraryPhotosEntryClass)) + +typedef struct _LibraryPhotosEntry LibraryPhotosEntry; +typedef struct _LibraryPhotosEntryClass LibraryPhotosEntryClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_TAG (tag_get_type ()) +#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag)) +#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass)) +#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG)) +#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG)) +#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass)) + +typedef struct _Tag Tag; +typedef struct _TagClass TagClass; + +#define TAGS_TYPE_SIDEBAR_ENTRY (tags_sidebar_entry_get_type ()) +#define TAGS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry)) +#define TAGS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass)) +#define TAGS_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_SIDEBAR_ENTRY)) +#define TAGS_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_SIDEBAR_ENTRY)) +#define TAGS_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass)) + +typedef struct _TagsSidebarEntry TagsSidebarEntry; +typedef struct _TagsSidebarEntryClass TagsSidebarEntryClass; + +#define TYPE_EVENT_SOURCE (event_source_get_type ()) +#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource)) +#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass)) +#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE)) +#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE)) +#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass)) + +typedef struct _EventSource EventSource; +typedef struct _EventSourceClass EventSourceClass; + +#define TYPE_EVENT (event_get_type ()) +#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event)) +#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass)) +#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT)) +#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT)) +#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass)) + +typedef struct _Event Event; +typedef struct _EventClass EventClass; + +#define EVENTS_TYPE_EVENT_ENTRY (events_event_entry_get_type ()) +#define EVENTS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntry)) +#define EVENTS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass)) +#define EVENTS_IS_EVENT_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_EVENT_ENTRY)) +#define EVENTS_IS_EVENT_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_EVENT_ENTRY)) +#define EVENTS_EVENT_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_EVENT_ENTRY, EventsEventEntryClass)) + +typedef struct _EventsEventEntry EventsEventEntry; +typedef struct _EventsEventEntryClass EventsEventEntryClass; + +#define TYPE_SAVED_SEARCH (saved_search_get_type ()) +#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch)) +#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass)) +#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH)) +#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH)) +#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass)) + +typedef struct _SavedSearch SavedSearch; +typedef struct _SavedSearchClass SavedSearchClass; + +#define SEARCHES_TYPE_SIDEBAR_ENTRY (searches_sidebar_entry_get_type ()) +#define SEARCHES_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry)) +#define SEARCHES_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass)) +#define SEARCHES_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY)) +#define SEARCHES_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY)) +#define SEARCHES_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass)) + +typedef struct _SearchesSidebarEntry SearchesSidebarEntry; +typedef struct _SearchesSidebarEntryClass SearchesSidebarEntryClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_EVENTS_DIRECTORY_PAGE (events_directory_page_get_type ()) +#define EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPage)) +#define EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass)) +#define IS_EVENTS_DIRECTORY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENTS_DIRECTORY_PAGE)) +#define IS_EVENTS_DIRECTORY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENTS_DIRECTORY_PAGE)) +#define EVENTS_DIRECTORY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENTS_DIRECTORY_PAGE, EventsDirectoryPageClass)) + +typedef struct _EventsDirectoryPage EventsDirectoryPage; +typedef struct _EventsDirectoryPageClass EventsDirectoryPageClass; + +#define TYPE_DATA_VIEW (data_view_get_type ()) +#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView)) +#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass)) +#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW)) +#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW)) +#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass)) + +typedef struct _DataView DataView; +typedef struct _DataViewClass DataViewClass; + +#define TYPE_EVENT_PAGE (event_page_get_type ()) +#define EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_PAGE, EventPage)) +#define EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, EventPageClass)) +#define IS_EVENT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_PAGE)) +#define IS_EVENT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_PAGE)) +#define EVENT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_PAGE, EventPageClass)) + +typedef struct _EventPage EventPage; +typedef struct _EventPageClass EventPageClass; + +#define LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE (library_window_fullscreen_photo_page_get_type ()) +#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage)) +#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPageClass)) +#define LIBRARY_WINDOW_IS_FULLSCREEN_PHOTO_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE)) +#define LIBRARY_WINDOW_IS_FULLSCREEN_PHOTO_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE)) +#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPageClass)) + +typedef struct _LibraryWindowFullscreenPhotoPage LibraryWindowFullscreenPhotoPage; +typedef struct _LibraryWindowFullscreenPhotoPageClass LibraryWindowFullscreenPhotoPageClass; +#define __g_slist_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_slist_free__g_free0_ (var), NULL))) + +#define DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG (data_imports_ui_data_imports_dialog_get_type ()) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialog)) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass)) +#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG)) +#define DATA_IMPORTS_UI_IS_DATA_IMPORTS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG)) +#define DATA_IMPORTS_UI_DATA_IMPORTS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DATA_IMPORTS_UI_TYPE_DATA_IMPORTS_DIALOG, DataImportsUIDataImportsDialogClass)) + +typedef struct _DataImportsUIDataImportsDialog DataImportsUIDataImportsDialog; +typedef struct _DataImportsUIDataImportsDialogClass DataImportsUIDataImportsDialogClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ()) +#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection)) +#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass)) +#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION)) +#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION)) +#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass)) + +typedef struct _VideoSourceCollection VideoSourceCollection; +typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ()) +#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog)) +#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) +#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG)) +#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG)) +#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) + +typedef struct _SavedSearchDialog SavedSearchDialog; +typedef struct _SavedSearchDialogClass SavedSearchDialogClass; +#define _saved_search_dialog_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_unref (var), NULL))) + +#define TYPE_BATCH_IMPORT (batch_import_get_type ()) +#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport)) +#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass)) +#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT)) +#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT)) +#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass)) + +typedef struct _BatchImport BatchImport; +typedef struct _BatchImportClass BatchImportClass; + +#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ()) +#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) + +typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry; +typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass; + +#define LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY (library_import_queue_sidebar_entry_get_type ()) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntry)) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass)) +#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) +#define LIBRARY_IS_IMPORT_QUEUE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) +#define LIBRARY_IMPORT_QUEUE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY, LibraryImportQueueSidebarEntryClass)) + +typedef struct _LibraryImportQueueSidebarEntry LibraryImportQueueSidebarEntry; +typedef struct _LibraryImportQueueSidebarEntryClass LibraryImportQueueSidebarEntryClass; + +#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ()) +#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest)) +#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass)) +#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST)) +#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST)) +#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass)) + +typedef struct _ImportManifest ImportManifest; +typedef struct _ImportManifestClass ImportManifestClass; + +#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ()) +#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams)) +#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) +#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) + +typedef struct _ImportUIQuestionParams ImportUIQuestionParams; +typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass; + +#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ()) +#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob)) +#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) +#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB)) +#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB)) +#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) + +typedef struct _BatchImportJob BatchImportJob; +typedef struct _BatchImportJobClass BatchImportJobClass; + +#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ()) +#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob)) +#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass)) +#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB)) +#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB)) +#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass)) + +typedef struct _FileImportJob FileImportJob; +typedef struct _FileImportJobClass FileImportJobClass; +#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL))) + +#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ()) +#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll)) +#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) +#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL)) +#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL)) +#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) + +typedef struct _BatchImportRoll BatchImportRoll; +typedef struct _BatchImportRollClass BatchImportRollClass; + +#define CAMERA_TYPE_SIDEBAR_ENTRY (camera_sidebar_entry_get_type ()) +#define CAMERA_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntry)) +#define CAMERA_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass)) +#define CAMERA_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAMERA_TYPE_SIDEBAR_ENTRY)) +#define CAMERA_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAMERA_TYPE_SIDEBAR_ENTRY)) +#define CAMERA_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAMERA_TYPE_SIDEBAR_ENTRY, CameraSidebarEntryClass)) + +typedef struct _CameraSidebarEntry CameraSidebarEntry; +typedef struct _CameraSidebarEntryClass CameraSidebarEntryClass; + +#define TYPE_IMPORT_PAGE (import_page_get_type ()) +#define IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_PAGE, ImportPage)) +#define IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_PAGE, ImportPageClass)) +#define IS_IMPORT_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_PAGE)) +#define IS_IMPORT_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_PAGE)) +#define IMPORT_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_PAGE, ImportPageClass)) + +typedef struct _ImportPage ImportPage; +typedef struct _ImportPageClass ImportPageClass; +typedef struct _DiscoveredCameraPrivate DiscoveredCameraPrivate; + +#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) + +#define TYPE_DISABLED_VIEW_FILTER (disabled_view_filter_get_type ()) +#define DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter)) +#define DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass)) +#define IS_DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISABLED_VIEW_FILTER)) +#define IS_DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISABLED_VIEW_FILTER)) +#define DISABLED_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass)) + +typedef struct _DisabledViewFilter DisabledViewFilter; +typedef struct _DisabledViewFilterClass DisabledViewFilterClass; + +#define LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY (library_last_import_sidebar_entry_get_type ()) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntry)) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass)) +#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY)) +#define LIBRARY_IS_LAST_IMPORT_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY)) +#define LIBRARY_LAST_IMPORT_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_LAST_IMPORT_SIDEBAR_ENTRY, LibraryLastImportSidebarEntryClass)) + +typedef struct _LibraryLastImportSidebarEntry LibraryLastImportSidebarEntry; +typedef struct _LibraryLastImportSidebarEntryClass LibraryLastImportSidebarEntryClass; + +#define EVENTS_TYPE_DIRECTORY_ENTRY (events_directory_entry_get_type ()) +#define EVENTS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntry)) +#define EVENTS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass)) +#define EVENTS_IS_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_DIRECTORY_ENTRY)) +#define EVENTS_IS_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_DIRECTORY_ENTRY)) +#define EVENTS_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_DIRECTORY_ENTRY, EventsDirectoryEntryClass)) + +typedef struct _EventsDirectoryEntry EventsDirectoryEntry; +typedef struct _EventsDirectoryEntryClass EventsDirectoryEntryClass; + +#define EVENTS_TYPE_MASTER_DIRECTORY_ENTRY (events_master_directory_entry_get_type ()) +#define EVENTS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntry)) +#define EVENTS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass)) +#define EVENTS_IS_MASTER_DIRECTORY_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) +#define EVENTS_IS_MASTER_DIRECTORY_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY)) +#define EVENTS_MASTER_DIRECTORY_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EVENTS_TYPE_MASTER_DIRECTORY_ENTRY, EventsMasterDirectoryEntryClass)) + +typedef struct _EventsMasterDirectoryEntry EventsMasterDirectoryEntry; +typedef struct _EventsMasterDirectoryEntryClass EventsMasterDirectoryEntryClass; +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +typedef struct _PagePrivate PagePrivate; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; +typedef struct _SinglePhotoPagePrivate SinglePhotoPagePrivate; + +#define TYPE_ZOOM_BUFFER (zoom_buffer_get_type ()) +#define ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ZOOM_BUFFER, ZoomBuffer)) +#define ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ZOOM_BUFFER, ZoomBufferClass)) +#define IS_ZOOM_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ZOOM_BUFFER)) +#define IS_ZOOM_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ZOOM_BUFFER)) +#define ZOOM_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ZOOM_BUFFER, ZoomBufferClass)) + +typedef struct _ZoomBuffer ZoomBuffer; +typedef struct _ZoomBufferClass ZoomBufferClass; + +#define SINGLE_PHOTO_PAGE_TYPE_UPDATE_REASON (single_photo_page_update_reason_get_type ()) +typedef struct _EditingHostPagePrivate EditingHostPagePrivate; +typedef struct _LibraryPhotoPagePrivate LibraryPhotoPagePrivate; + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +typedef struct _LibraryWindowFullscreenPhotoPagePrivate LibraryWindowFullscreenPhotoPagePrivate; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _PageWindow { + GtkWindow parent_instance; + PageWindowPrivate * priv; + GtkUIManager* ui; +}; + +struct _PageWindowClass { + GtkWindowClass parent_class; + void (*switched_pages) (PageWindow* self, Page* old_page, Page* new_page); + void (*set_current_page) (PageWindow* self, Page* page); + void (*clear_current_page) (PageWindow* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _AppWindow { + PageWindow parent_instance; + AppWindowPrivate * priv; + GtkActionGroup** common_action_groups; + gint common_action_groups_length1; + gboolean maximized; + Dimensions dimensions; + gint pos_x; + gint pos_y; +}; + +struct _AppWindowClass { + PageWindowClass parent_class; + void (*on_fullscreen) (AppWindow* self); + gchar* (*get_app_role) (AppWindow* self); + void (*on_quit) (AppWindow* self); + GtkActionGroup** (*create_common_action_groups) (AppWindow* self, int* result_length1); + void (*replace_common_placeholders) (AppWindow* self, GtkUIManager* ui); + void (*update_common_action_availability) (AppWindow* self, Page* old_page, Page* new_page); + void (*update_common_actions) (AppWindow* self, Page* page, gint selected_count, gint count); +}; + +struct _LibraryWindow { + AppWindow parent_instance; + LibraryWindowPrivate * priv; +}; + +struct _LibraryWindowClass { + AppWindowClass parent_class; +}; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _LibraryWindowPrivate { + gchar* import_dir; + GtkPaned* sidebar_paned; + GtkPaned* client_paned; + GtkFrame* bottom_frame; + GtkActionGroup* common_action_group; + OneShotScheduler* properties_scheduler; + gboolean notify_library_is_home_dir; + SidebarTree* sidebar_tree; + LibraryBranch* library_branch; + TagsBranch* tags_branch; + FoldersBranch* folders_branch; + EventsBranch* events_branch; + CameraBranch* camera_branch; + SearchesBranch* saved_search_branch; + gboolean page_switching_enabled; + GeeHashMap* page_map; + LibraryPhotoPage* photo_page; + gboolean is_search_toolbar_visible; + SearchFilterActions* search_actions; + SearchFilterToolbar* search_toolbar; + GtkBox* top_section; + GtkFrame* background_progress_frame; + GtkProgressBar* background_progress_bar; + gboolean background_progress_displayed; + BasicProperties* basic_properties; + ExtendedPropertiesWindow* extended_properties; + GtkStack* stack; + GtkBox* layout; + GtkBox* right_vbox; + gint current_progress_priority; + guint background_progress_pulse_id; +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +typedef enum { + LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY, + LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS, + LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH, + LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS, + LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS, + LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS +} LibraryWindowSidebarRootPosition; + +typedef enum { + LIBRARY_WINDOW_TARGET_TYPE_URI_LIST, + LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST, + LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH +} LibraryWindowTargetType; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +typedef void (*SidebarTreeExternalDropHandler) (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, void* user_data); +typedef void (*OneShotCallback) (void* user_data); +typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data); +struct _DiscoveredCamera { + GTypeInstance parent_instance; + volatile int ref_count; + DiscoveredCameraPrivate * priv; + Camera* gcamera; + gchar* uri; + gchar* display_name; + gchar* icon; +}; + +struct _DiscoveredCameraClass { + GTypeClass parent_class; + void (*finalize) (DiscoveredCamera *self); +}; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + SINGLE_PHOTO_PAGE_UPDATE_REASON_NEW_PIXBUF, + SINGLE_PHOTO_PAGE_UPDATE_REASON_QUALITY_IMPROVEMENT, + SINGLE_PHOTO_PAGE_UPDATE_REASON_RESIZED_CANVAS +} SinglePhotoPageUpdateReason; + +struct _SinglePhotoPage { + Page parent_instance; + SinglePhotoPagePrivate * priv; + GtkDrawingArea* canvas; + GtkViewport* viewport; +}; + +struct _SinglePhotoPageClass { + PageClass parent_class; + gboolean (*is_zoom_supported) (SinglePhotoPage* self); + void (*cancel_zoom) (SinglePhotoPage* self); + void (*save_zoom_state) (SinglePhotoPage* self); + void (*restore_zoom_state) (SinglePhotoPage* self); + ZoomBuffer* (*get_zoom_buffer) (SinglePhotoPage* self); + void (*new_surface) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*updated_pixbuf) (SinglePhotoPage* self, GdkPixbuf* pixbuf, SinglePhotoPageUpdateReason reason, Dimensions* old_dim); + void (*paint) (SinglePhotoPage* self, cairo_t* ctx, Dimensions* ctx_dim); + void (*on_previous_photo) (SinglePhotoPage* self); + void (*on_next_photo) (SinglePhotoPage* self); +}; + +struct _EditingHostPage { + SinglePhotoPage parent_instance; + EditingHostPagePrivate * priv; +}; + +struct _EditingHostPageClass { + SinglePhotoPageClass parent_class; + gboolean (*on_zoom_slider_key_press) (EditingHostPage* self, GdkEventKey* event); + void (*on_increase_size) (EditingHostPage* self); + void (*on_decrease_size) (EditingHostPage* self); + void (*photo_changing) (EditingHostPage* self, Photo* new_photo); + DataView* (*create_photo_view) (EditingHostPage* self, DataSource* source); + void (*update_ui) (EditingHostPage* self, gboolean missing); + void (*notify_photo_backing_missing) (EditingHostPage* self, Photo* photo, gboolean missing); + gboolean (*confirm_replace_photo) (EditingHostPage* self, Photo* old_photo, Photo* new_photo); + gboolean (*on_double_click) (EditingHostPage* self, GdkEventButton* event); + GdkPixbuf* (*get_bottom_left_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_top_left_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (EditingHostPage* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (EditingHostPage* self, gint scale); +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _LibraryPhotoPage { + EditingHostPage parent_instance; + LibraryPhotoPagePrivate * priv; +}; + +struct _LibraryPhotoPageClass { + EditingHostPageClass parent_class; + void (*developer_changed) (LibraryPhotoPage* self, RawDeveloper rd); +}; + +struct _LibraryWindowFullscreenPhotoPage { + LibraryPhotoPage parent_instance; + LibraryWindowFullscreenPhotoPagePrivate * priv; +}; + +struct _LibraryWindowFullscreenPhotoPageClass { + LibraryPhotoPageClass parent_class; +}; + +struct _LibraryWindowFullscreenPhotoPagePrivate { + CollectionPage* collection; + Photo* start; + ViewCollection* view; +}; + + +static gpointer library_window_parent_class = NULL; +static GeeHashSet* library_window_initial_camera_uris; +static GeeHashSet* library_window_initial_camera_uris = NULL; +extern AppWindow* app_window_instance; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +static gpointer library_window_fullscreen_photo_page_parent_class = NULL; + +GType page_window_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType library_window_get_type (void) G_GNUC_CONST; +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_branch_get_type (void) G_GNUC_CONST; +GType library_branch_get_type (void) G_GNUC_CONST; +GType tags_branch_get_type (void) G_GNUC_CONST; +GType folders_branch_get_type (void) G_GNUC_CONST; +GType events_branch_get_type (void) G_GNUC_CONST; +GType camera_branch_get_type (void) G_GNUC_CONST; +GType searches_branch_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType single_photo_page_get_type (void) G_GNUC_CONST; +GType editing_host_page_get_type (void) G_GNUC_CONST; +GType library_photo_page_get_type (void) G_GNUC_CONST; +gpointer search_filter_actions_ref (gpointer instance); +void search_filter_actions_unref (gpointer instance); +GParamSpec* param_spec_search_filter_actions (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_search_filter_actions (GValue* value, gpointer v_object); +void value_take_search_filter_actions (GValue* value, gpointer v_object); +gpointer value_get_search_filter_actions (const GValue* value); +GType search_filter_actions_get_type (void) G_GNUC_CONST; +GType search_filter_toolbar_get_type (void) G_GNUC_CONST; +GType properties_get_type (void) G_GNUC_CONST; +GType basic_properties_get_type (void) G_GNUC_CONST; +GType extended_properties_window_get_type (void) G_GNUC_CONST; +#define LIBRARY_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_LIBRARY_WINDOW, LibraryWindowPrivate)) +enum { + LIBRARY_WINDOW_DUMMY_PROPERTY +}; +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +static void library_window_on_page_created (LibraryWindow* self, SidebarPageRepresentative* entry, Page* page); +static void _library_window_on_page_created_sidebar_tree_page_created (SidebarTree* _sender, SidebarPageRepresentative* entry, Page* page, gpointer self); +static void library_window_on_destroying_page (LibraryWindow* self, SidebarPageRepresentative* entry, Page* page); +static void _library_window_on_destroying_page_sidebar_tree_destroying_page (SidebarTree* _sender, SidebarPageRepresentative* entry, Page* page, gpointer self); +static void library_window_on_sidebar_entry_selected (LibraryWindow* self, SidebarSelectableEntry* selectable); +static void _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected (SidebarTree* _sender, SidebarSelectableEntry* selectable, gpointer self); +static void library_window_on_sidebar_selected_entry_removed (LibraryWindow* self, SidebarSelectableEntry* selectable); +static void _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed (SidebarTree* _sender, SidebarSelectableEntry* removed, gpointer self); +static void library_window_unsubscribe_from_basic_information (LibraryWindow* self, Page* page); +Page* page_window_get_current_page (PageWindow* self); +static void library_window_hide_extended_properties (LibraryWindow* self); +static void _library_window_hide_extended_properties_gtk_widget_hide (GtkWidget* _sender, gpointer self); +static void library_window_show_extended_properties (LibraryWindow* self); +static void _library_window_show_extended_properties_gtk_widget_show (GtkWidget* _sender, gpointer self); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +static void library_window_on_trashcan_contents_altered (LibraryWindow* self); +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +static void _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +static void library_window_on_media_altered (LibraryWindow* self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void _library_window_on_media_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +GType metadata_writer_get_type (void) G_GNUC_CONST; +MetadataWriter* metadata_writer_get_instance (void); +static void library_window_on_metadata_writer_progress (LibraryWindow* self, guint completed, guint total); +static void _library_window_on_metadata_writer_progress_metadata_writer_progress (MetadataWriter* _sender, guint completed, guint total, gpointer self); +GType directory_monitor_get_type (void) G_GNUC_CONST; +GType library_monitor_get_type (void) G_GNUC_CONST; +gpointer library_monitor_pool_ref (gpointer instance); +void library_monitor_pool_unref (gpointer instance); +GParamSpec* param_spec_library_monitor_pool (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_library_monitor_pool (GValue* value, gpointer v_object); +void value_take_library_monitor_pool (GValue* value, gpointer v_object); +gpointer value_get_library_monitor_pool (const GValue* value); +GType library_monitor_pool_get_type (void) G_GNUC_CONST; +LibraryMonitorPool* library_monitor_pool_get_instance (void); +LibraryMonitor* library_monitor_pool_get_monitor (LibraryMonitorPool* self); +static void library_window_on_library_monitor_destroyed (LibraryWindow* self, LibraryMonitor* monitor); +static void library_window_on_library_monitor_installed (LibraryWindow* self, LibraryMonitor* monitor); +static void _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self); +static void _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self); +gpointer camera_table_ref (gpointer instance); +void camera_table_unref (gpointer instance); +GParamSpec* param_spec_camera_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_camera_table (GValue* value, gpointer v_object); +void value_take_camera_table (GValue* value, gpointer v_object); +gpointer value_get_camera_table (const GValue* value); +GType camera_table_get_type (void) G_GNUC_CONST; +CameraTable* camera_table_get_instance (void); +gpointer discovered_camera_ref (gpointer instance); +void discovered_camera_unref (gpointer instance); +GParamSpec* param_spec_discovered_camera (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_discovered_camera (GValue* value, gpointer v_object); +void value_take_discovered_camera (GValue* value, gpointer v_object); +gpointer value_get_discovered_camera (const GValue* value); +GType discovered_camera_get_type (void) G_GNUC_CONST; +static void library_window_on_camera_added (LibraryWindow* self, DiscoveredCamera* camera); +static void _library_window_on_camera_added_camera_table_camera_added (CameraTable* _sender, DiscoveredCamera* camera, gpointer self); +static GType library_window_sidebar_root_position_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType library_window_target_type_get_type (void) G_GNUC_CONST; +LibraryBranch* library_branch_new (void); +LibraryBranch* library_branch_construct (GType object_type); +TagsBranch* tags_branch_new (void); +TagsBranch* tags_branch_construct (GType object_type); +FoldersBranch* folders_branch_new (void); +FoldersBranch* folders_branch_construct (GType object_type); +EventsBranch* events_branch_new (void); +EventsBranch* events_branch_construct (GType object_type); +CameraBranch* camera_branch_new (void); +CameraBranch* camera_branch_construct (GType object_type); +SearchesBranch* searches_branch_new (void); +SearchesBranch* searches_branch_construct (GType object_type); +SearchFilterActions* search_filter_actions_new (void); +SearchFilterActions* search_filter_actions_construct (GType object_type); +BasicProperties* basic_properties_new (void); +BasicProperties* basic_properties_construct (GType object_type); +#define LIBRARY_WINDOW_SIDEBAR_MIN_WIDTH 120 +#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING 0 +#define LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING 1 +#define LIBRARY_WINDOW_BACKGROUND_PROGRESS_PULSE_MSEC 250 +#define LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES 20 +#define LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY 35 +#define LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY 40 +#define LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY 50 +#define LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY 30 +#define LIBRARY_WINDOW_TAG_PATH_MIME_TYPE "shotwell/tag-path" +#define LIBRARY_WINDOW_MEDIA_LIST_MIME_TYPE "shotwell/media-id-atom" +LibraryWindow* library_window_new (ProgressMonitor progress_monitor, void* progress_monitor_target); +LibraryWindow* library_window_construct (GType object_type, ProgressMonitor progress_monitor, void* progress_monitor_target); +AppWindow* app_window_construct (GType object_type); +static void library_window_external_drop_handler (LibraryWindow* self, GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time); +static void _library_window_external_drop_handler_sidebar_tree_external_drop_handler (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, gpointer self); +SidebarTree* sidebar_tree_new (GtkTargetEntry* target_entries, int target_entries_length1, GdkDragAction actions, SidebarTreeExternalDropHandler drop_handler, void* drop_handler_target); +SidebarTree* sidebar_tree_construct (GType object_type, GtkTargetEntry* target_entries, int target_entries_length1, GdkDragAction actions, SidebarTreeExternalDropHandler drop_handler, void* drop_handler_target); +void sidebar_tree_graft (SidebarTree* self, SidebarBranch* branch, gint position); +ExtendedPropertiesWindow* extended_properties_window_new (GtkWindow* owner); +ExtendedPropertiesWindow* extended_properties_window_construct (GType object_type, GtkWindow* owner); +static void library_window_on_update_properties_now (LibraryWindow* self); +static void _library_window_on_update_properties_now_one_shot_callback (gpointer self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +SearchFilterToolbar* search_filter_toolbar_new (SearchFilterActions* actions); +SearchFilterToolbar* search_filter_toolbar_construct (GType object_type, SearchFilterActions* actions); +GFile* resources_get_ui (const gchar* filename); +static void library_window_create_layout (LibraryWindow* self, Page* start_page); +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType library_photos_entry_get_type (void) G_GNUC_CONST; +LibraryPhotosEntry* library_branch_get_photos_entry (LibraryBranch* self); +Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self); +static void library_window_load_configuration (LibraryWindow* self); +GFile* directory_monitor_get_root (DirectoryMonitor* self); +static void library_window_on_library_monitor_discovery_started (LibraryWindow* self); +static void _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started (DirectoryMonitor* _sender, gpointer self); +static void library_window_on_library_monitor_discovery_completed (LibraryWindow* self); +static void _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender, gpointer self); +static void _library_window_on_library_monitor_discovery_completed_directory_monitor_closed (DirectoryMonitor* _sender, gpointer self); +static void library_window_on_library_monitor_auto_update_progress (LibraryWindow* self, gint completed_files, gint total_files); +static void _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress (LibraryMonitor* _sender, gint completed_files, gint total_files, gpointer self); +static void library_window_on_library_monitor_auto_import_preparing (LibraryWindow* self); +static void _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing (LibraryMonitor* _sender, gpointer self); +static void library_window_on_library_monitor_auto_import_progress (LibraryWindow* self, guint64 completed_bytes, guint64 total_bytes); +static void _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress (LibraryMonitor* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self); +static GtkActionEntry* library_window_create_common_actions (LibraryWindow* self, int* result_length1); +#define RESOURCES_IMPORT "shotwell-import" +#define TRANSLATABLE "translatable" +static void library_window_on_file_import (LibraryWindow* self); +static void _library_window_on_file_import_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add61 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_window_on_external_library_import (LibraryWindow* self); +static void _library_window_on_external_library_import_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add62 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add63 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_PREFERENCES_LABEL _ ("_Preferences") +static void library_window_on_preferences (LibraryWindow* self); +static void _library_window_on_preferences_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_PREFERENCES_MENU _ ("_Preferences") +static void _vala_array_add64 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_window_on_empty_trash (LibraryWindow* self); +static void _library_window_on_empty_trash_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add65 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_window_on_jump_to_event (LibraryWindow* self); +static void _library_window_on_jump_to_event_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add66 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_window_on_find (LibraryWindow* self); +static void _library_window_on_find_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add67 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_FILTER_PHOTOS_MENU _ ("_Filter Photos") +static void _vala_array_add68 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void library_window_on_new_search (LibraryWindow* self); +static void _library_window_on_new_search_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add69 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add70 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add71 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add72 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add73 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add74 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add75 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add76 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void _vala_array_add77 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static GtkToggleActionEntry* library_window_create_common_toggle_actions (LibraryWindow* self, int* result_length1); +static void library_window_on_display_basic_properties (LibraryWindow* self, GtkAction* action); +static void _library_window_on_display_basic_properties_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add78 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void library_window_on_display_extended_properties (LibraryWindow* self, GtkAction* action); +static void _library_window_on_display_extended_properties_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add79 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void library_window_on_display_searchbar (LibraryWindow* self, GtkAction* action); +static void _library_window_on_display_searchbar_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add80 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void library_window_on_display_sidebar (LibraryWindow* self, GtkAction* action); +static void _library_window_on_display_sidebar_gtk_action_callback (GtkAction* action, gpointer self); +static gboolean library_window_is_sidebar_visible (LibraryWindow* self); +static void _vala_array_add81 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void library_window_on_display_toolbar (LibraryWindow* self, GtkAction* action); +static void _library_window_on_display_toolbar_gtk_action_callback (GtkAction* action, gpointer self); +static gboolean library_window_is_toolbar_visible (LibraryWindow* self); +static void _vala_array_add82 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value); +static void library_window_add_common_radio_actions (LibraryWindow* self, GtkActionGroup* group); +#define RESOURCES_SORT_ASCENDING_LABEL _ ("Sort _Ascending") +static void _vala_array_add83 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +#define RESOURCES_SORT_DESCENDING_LABEL _ ("Sort _Descending") +static void _vala_array_add84 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value); +static void library_window_on_events_sort_changed (LibraryWindow* self, GtkAction* action, GtkAction* c); +static void _library_window_on_events_sort_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self); +static GtkActionGroup** library_window_real_create_common_action_groups (AppWindow* base, int* result_length1); +GtkActionGroup** app_window_create_common_action_groups (AppWindow* self, int* result_length1); +#define RESOURCES_FIND_LABEL _ ("Find") +static void _vala_array_add85 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value); +GtkActionGroup* search_filter_actions_get_action_group (SearchFilterActions* self); +static void _vala_array_add86 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value); +static void library_window_real_replace_common_placeholders (AppWindow* base, GtkUIManager* ui); +void app_window_replace_common_placeholders (AppWindow* self, GtkUIManager* ui); +static void library_window_real_switched_pages (PageWindow* base, Page* old_page, Page* new_page); +void page_window_switched_pages (PageWindow* self, Page* old_page, Page* new_page); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +static void library_window_on_view_filter_installed (LibraryWindow* self, ViewFilter* filter); +static void _library_window_on_view_filter_installed_view_collection_view_filter_installed (ViewCollection* _sender, ViewFilter* filer, gpointer self); +static void library_window_on_view_filter_removed (LibraryWindow* self, ViewFilter* filter); +static void _library_window_on_view_filter_removed_view_collection_view_filter_removed (ViewCollection* _sender, ViewFilter* filer, gpointer self); +void search_filter_actions_monitor_page_contents (SearchFilterActions* self, Page* old_page, Page* new_page); +static void library_window_on_view_filter_refreshed (LibraryWindow* self); +static void _library_window_on_view_filter_refreshed_view_filter_refresh (ViewFilter* _sender, gpointer self); +gboolean view_collection_are_items_filtered_out (ViewCollection* self); +GtkAction* app_window_get_common_action (AppWindow* self, const gchar* name); +static void library_window_real_show_all (GtkWidget* base); +GtkAction* page_get_common_action (Page* self, const gchar* name, gboolean log_warning); +GType checkerboard_page_get_type (void) G_GNUC_CONST; +static void library_window_init_view_filter (LibraryWindow* self, CheckerboardPage* page); +static void library_window_toggle_search_bar (LibraryWindow* self, gboolean show, CheckerboardPage* page); +static gboolean library_window_should_show_search_bar (LibraryWindow* self); +static void library_window_set_sidebar_visible (LibraryWindow* self, gboolean visible); +LibraryWindow* library_window_get_app (void); +gboolean library_window_is_mount_uri_supported (const gchar* uri); +static gchar* library_window_real_get_app_role (AppWindow* base); +#define RESOURCES_APP_LIBRARY_ROLE _ ("Photo Manager") +GType tag_get_type (void) G_GNUC_CONST; +void library_window_rename_tag_in_sidebar (LibraryWindow* self, Tag* tag); +GType tags_sidebar_entry_get_type (void) G_GNUC_CONST; +TagsSidebarEntry* tags_branch_get_entry_for_tag (TagsBranch* self, Tag* tag); +gboolean sidebar_tree_rename_entry_in_place (SidebarTree* self, SidebarEntry* entry); +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +void library_window_rename_event_in_sidebar (LibraryWindow* self, Event* event); +GType events_event_entry_get_type (void) G_GNUC_CONST; +EventsEventEntry* events_branch_get_entry_for_event (EventsBranch* self, Event* event); +GType saved_search_get_type (void) G_GNUC_CONST; +void library_window_rename_search_in_sidebar (LibraryWindow* self, SavedSearch* search); +GType searches_sidebar_entry_get_type (void) G_GNUC_CONST; +SearchesSidebarEntry* searches_branch_get_entry_for_saved_search (SearchesBranch* self, SavedSearch* search); +static void library_window_real_on_quit (AppWindow* base); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_set_library_window_state (ConfigurationFacade* self, gboolean maximize, Dimensions* dimensions); +void configuration_facade_set_sidebar_position (ConfigurationFacade* self, gint position); +void app_window_on_quit (AppWindow* self); +GType media_page_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +static Photo* library_window_get_start_fullscreen_photo (LibraryWindow* self, CollectionPage* page); +gint view_collection_get_selected_count (ViewCollection* self); +GeeList* view_collection_get_selected_sources_of_type (ViewCollection* self, GType t); +GType library_photo_get_type (void) G_GNUC_CONST; +GeeList* view_collection_get_sources_of_type (ViewCollection* self, GType t); +static gboolean library_window_get_fullscreen_photo (LibraryWindow* self, Page* page, CollectionPage** collection, Photo** start, ViewCollection** view_collection); +GType events_directory_page_get_type (void) G_GNUC_CONST; +gint data_collection_get_count (DataCollection* self); +DataObject* data_collection_get_at (DataCollection* self, gint index); +GType data_view_get_type (void) G_GNUC_CONST; +DataSource* data_view_get_source (DataView* self); +GType event_page_get_type (void) G_GNUC_CONST; +CollectionPage* library_photo_page_get_controller_page (LibraryPhotoPage* self); +gboolean editing_host_page_has_photo (EditingHostPage* self); +Photo* editing_host_page_get_photo (EditingHostPage* self); +static void library_window_real_on_fullscreen (AppWindow* base); +static GType library_window_fullscreen_photo_page_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_new (CollectionPage* collection, Photo* start, ViewCollection* view); +static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_construct (GType object_type, CollectionPage* collection, Photo* start, ViewCollection* view); +void app_window_go_fullscreen (AppWindow* self, Page* page); +#define RESOURCES_CANCEL_LABEL _ ("_Cancel") +#define RESOURCES_OK_LABEL _ ("_OK") +gboolean app_dirs_is_in_import_dir (GFile* file); +GtkResponseType copy_files_dialog (void); +static void library_window_dispatch_import_jobs (LibraryWindow* self, GSList* uris, const gchar* job_name, gboolean copy_to_library); +static void _g_free0_ (gpointer var); +static void _g_slist_free__g_free0_ (GSList* self); +GType data_imports_ui_data_imports_dialog_get_type (void) G_GNUC_CONST; +DataImportsUIDataImportsDialog* data_imports_ui_data_imports_dialog_get_or_create_instance (void); +static void library_window_real_update_common_action_availability (AppWindow* base, Page* old_page, Page* new_page); +void app_window_update_common_action_availability (AppWindow* self, Page* old_page, Page* new_page); +void app_window_set_common_action_sensitive (AppWindow* self, const gchar* name, gboolean sensitive); +static void library_window_real_update_common_actions (AppWindow* base, Page* page, gint selected_count, gint count); +static gboolean library_window_can_empty_trash (LibraryWindow* self); +void app_window_set_common_action_visible (AppWindow* self, const gchar* name, gboolean visible); +static gboolean library_window_can_jump_to_event (LibraryWindow* self); +void app_window_update_common_actions (AppWindow* self, Page* page, gint selected_count, gint count); +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +gint media_source_collection_get_trashcan_count (MediaSourceCollection* self); +GType video_source_collection_get_type (void) G_GNUC_CONST; +GeeCollection* media_source_collection_get_trashcan_contents (MediaSourceCollection* self); +void remove_from_app (GeeCollection* sources, const gchar* dialog_title, const gchar* progress_dialog_text); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +void command_manager_reset (CommandManager* self); +SavedSearchDialog* saved_search_dialog_new (void); +SavedSearchDialog* saved_search_dialog_construct (GType object_type); +gpointer saved_search_dialog_ref (gpointer instance); +void saved_search_dialog_unref (gpointer instance); +GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_saved_search_dialog (GValue* value, gpointer v_object); +void value_take_saved_search_dialog (GValue* value, gpointer v_object); +gpointer value_get_saved_search_dialog (const GValue* value); +GType saved_search_dialog_get_type (void) G_GNUC_CONST; +void saved_search_dialog_show (SavedSearchDialog* self); +DataSource* view_collection_get_selected_source_at (ViewCollection* self, gint index); +Event* media_source_get_event (MediaSource* self); +void library_window_switch_to_event (LibraryWindow* self, Event* event); +void search_filter_toolbar_take_focus (SearchFilterToolbar* self); +static void library_window_on_clear_search (LibraryWindow* self); +void search_filter_actions_reset (SearchFilterActions* self); +gint library_window_get_events_sort (LibraryWindow* self); +void configuration_facade_set_events_sort_ascending (ConfigurationFacade* self, gboolean sort); +void preferences_dialog_show (void); +void properties_update_properties (Properties* self, Page* page); +void configuration_facade_set_display_basic_properties (ConfigurationFacade* self, gboolean display); +void extended_properties_window_update_properties (ExtendedPropertiesWindow* self, Page* page); +void configuration_facade_set_display_search_bar (ConfigurationFacade* self, gboolean display); +void library_window_show_search_bar (LibraryWindow* self, gboolean display); +void configuration_facade_set_display_sidebar (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_sidebar (ConfigurationFacade* self); +static void library_window_set_toolbar_visible (LibraryWindow* self, gboolean visible); +GtkToolbar* page_get_toolbar (Page* self); +void configuration_facade_set_display_toolbar (ConfigurationFacade* self, gboolean display); +gboolean configuration_facade_get_display_toolbar (ConfigurationFacade* self); +static void library_window_sync_extended_properties (LibraryWindow* self, gboolean show); +void configuration_facade_set_display_extended_properties (ConfigurationFacade* self, gboolean display); +GType batch_import_get_type (void) G_GNUC_CONST; +void library_window_enqueue_batch_import (LibraryWindow* self, BatchImport* batch_import, gboolean allow_user_cancel); +GType library_hideable_page_entry_get_type (void) G_GNUC_CONST; +GType library_import_queue_sidebar_entry_get_type (void) G_GNUC_CONST; +LibraryImportQueueSidebarEntry* library_branch_get_import_queue_entry (LibraryBranch* self); +void library_import_queue_sidebar_entry_enqueue_and_schedule (LibraryImportQueueSidebarEntry* self, BatchImport* batch_import, gboolean allow_user_cancel); +gpointer import_manifest_ref (gpointer instance); +void import_manifest_unref (gpointer instance); +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_import_manifest (GValue* value, gpointer v_object); +void value_take_import_manifest (GValue* value, gpointer v_object); +gpointer value_get_import_manifest (const GValue* value); +GType import_manifest_get_type (void) G_GNUC_CONST; +static void library_window_import_reporter (LibraryWindow* self, ImportManifest* manifest); +gpointer import_ui_question_params_ref (gpointer instance); +void import_ui_question_params_unref (gpointer instance); +GParamSpec* import_ui_param_spec_question_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void import_ui_value_set_question_params (GValue* value, gpointer v_object); +void import_ui_value_take_question_params (GValue* value, gpointer v_object); +gpointer import_ui_value_get_question_params (const GValue* value); +GType import_ui_question_params_get_type (void) G_GNUC_CONST; +gboolean import_ui_report_manifest (ImportManifest* manifest, gboolean show_dest_id, ImportUIQuestionParams* question); +GFile* app_dirs_get_import_dir (void); +GtkResponseType app_window_affirm_cancel_question (const gchar* message, const gchar* affirmative, const gchar* title, GtkWindow* parent); +AppWindow* app_window_get_instance (void); +gpointer batch_import_job_ref (gpointer instance); +void batch_import_job_unref (gpointer instance); +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_job (GValue* value, gpointer v_object); +void value_take_batch_import_job (GValue* value, gpointer v_object); +gpointer value_get_batch_import_job (const GValue* value); +GType batch_import_job_get_type (void) G_GNUC_CONST; +GType file_import_job_get_type (void) G_GNUC_CONST; +void app_window_error_message (const gchar* message, GtkWindow* parent); +FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library); +FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library); +gpointer batch_import_roll_ref (gpointer instance); +void batch_import_roll_unref (gpointer instance); +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_roll (GValue* value, gpointer v_object); +void value_take_batch_import_roll (GValue* value, gpointer v_object); +gpointer value_get_batch_import_roll (const GValue* value); +GType batch_import_roll_get_type (void) G_GNUC_CONST; +static void _library_window_import_reporter_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self); +BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +void library_window_switch_to_import_queue_page (LibraryWindow* self); +static GdkDragAction library_window_get_drag_action (LibraryWindow* self); +static gboolean library_window_real_drag_motion (GtkWidget* base, GdkDragContext* context, gint x, gint y, guint time); +static void library_window_real_drag_data_received (GtkWidget* base, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time); +void library_window_switch_to_library_page (LibraryWindow* self); +void library_window_switch_to_page (LibraryWindow* self, Page* page); +void library_window_switch_to_tag (LibraryWindow* self, Tag* tag); +void library_window_switch_to_saved_search (LibraryWindow* self, SavedSearch* search); +void library_window_switch_to_photo_page (LibraryWindow* self, CollectionPage* controller, Photo* current); +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +LibraryPhotoPage* library_photo_page_new (void); +LibraryPhotoPage* library_photo_page_construct (GType object_type); +void library_window_add_to_stack (LibraryWindow* self, Page* page); +void spin_event_loop (void); +void library_photo_page_display_for_collection (LibraryPhotoPage* self, CollectionPage* return_page, Photo* photo, ViewCollection* view); +GType camera_sidebar_entry_get_type (void) G_GNUC_CONST; +CameraSidebarEntry* camera_branch_get_entry_for_camera (CameraBranch* self, DiscoveredCamera* camera); +GType import_page_get_type (void) G_GNUC_CONST; +gboolean import_page_unmount_camera (ImportPage* self, GMount* mount); +static void library_window_remove_from_stack (LibraryWindow* self, Page* page); +gboolean configuration_facade_get_display_basic_properties (ConfigurationFacade* self); +gboolean configuration_facade_get_display_extended_properties (ConfigurationFacade* self); +gboolean configuration_facade_get_display_search_bar (ConfigurationFacade* self); +gboolean configuration_facade_get_events_sort_ascending (ConfigurationFacade* self); +static void library_window_start_pulse_background_progress_bar (LibraryWindow* self, const gchar* label, gint priority); +static void library_window_stop_pulse_background_progress_bar (LibraryWindow* self, gint priority, gboolean clear); +static void library_window_show_background_progress_bar (LibraryWindow* self); +static gboolean library_window_on_pulse_background_progress_bar (LibraryWindow* self); +static gboolean _library_window_on_pulse_background_progress_bar_gsource_func (gpointer self); +static void library_window_clear_background_progress_bar (LibraryWindow* self, gint priority); +static void library_window_update_background_progress_bar (LibraryWindow* self, const gchar* label, gint priority, gdouble count, gdouble total); +static void library_window_hide_background_progress_bar (LibraryWindow* self); +gint configuration_facade_get_sidebar_position (ConfigurationFacade* self); +gint library_window_get_PAGE_MIN_WIDTH (void); +static void library_window_real_set_current_page (PageWindow* base, Page* page); +void library_window_set_page_switching_enabled (LibraryWindow* self, gboolean should_enable); +void page_switching_from (Page* self); +void sidebar_tree_enable_editing (SidebarTree* self); +void page_window_set_current_page (PageWindow* self, Page* page); +void sidebar_tree_disable_editing (SidebarTree* self); +GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST; +gboolean sidebar_expandable_entry_expand_on_select (SidebarExpandableEntry* self); +gboolean sidebar_tree_expand_to_entry (SidebarTree* self, SidebarEntry* entry); +gboolean sidebar_tree_place_cursor (SidebarTree* self, SidebarEntry* entry, gboolean mask_signal); +static void library_window_on_update_properties (LibraryWindow* self); +static void library_window_subscribe_for_basic_information (LibraryWindow* self, Page* page); +void page_switched_to (Page* self); +void page_ready (Page* self); +GType search_view_filter_get_type (void) G_GNUC_CONST; +void search_filter_toolbar_set_view_filter (SearchFilterToolbar* self, SearchViewFilter* search_filter); +SearchViewFilter* checkerboard_page_get_search_view_filter (CheckerboardPage* self); +void view_collection_install_view_filter (ViewCollection* self, ViewFilter* f); +DisabledViewFilter* disabled_view_filter_new (void); +DisabledViewFilter* disabled_view_filter_construct (GType object_type); +GType disabled_view_filter_get_type (void) G_GNUC_CONST; +GType library_last_import_sidebar_entry_get_type (void) G_GNUC_CONST; +LibraryLastImportSidebarEntry* library_branch_get_last_imported_entry (LibraryBranch* self); +gboolean library_hideable_page_entry_get_visible (LibraryHideablePageEntry* self); +gboolean sidebar_branch_get_show_branch (SidebarBranch* self); +GType events_directory_entry_get_type (void) G_GNUC_CONST; +GType events_master_directory_entry_get_type (void) G_GNUC_CONST; +EventsMasterDirectoryEntry* events_branch_get_master_entry (EventsBranch* self); +static void _library_window_on_update_properties_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self); +static void _library_window_on_update_properties_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +static void _library_window_on_update_properties_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +static void _library_window_on_update_properties_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self); +void one_shot_scheduler_at_idle (OneShotScheduler* self); +void library_window_mounted_camera_shell_notification (LibraryWindow* self, const gchar* uri, gboolean at_startup); +gchar* camera_table_get_port_uri (const gchar* port); +gboolean is_string_empty (const gchar* s); +static gboolean library_window_real_key_press_event (GtkWidget* base, GdkEventKey* event); +gboolean sidebar_tree_is_keypress_interpreted (SidebarTree* self, GdkEventKey* event); +gint thumbnail_get_MAX_SCALE (void); +#define CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING 24 +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType zoom_buffer_get_type (void) G_GNUC_CONST; +GType single_photo_page_update_reason_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +#define LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPagePrivate)) +enum { + LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_DUMMY_PROPERTY +}; +static void library_window_fullscreen_photo_page_real_switched_to (Page* base); +static void library_window_fullscreen_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +static void library_window_fullscreen_photo_page_finalize (GObject* obj); +static void library_window_finalize (GObject* obj); +static void _vala_library_window_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + +static const gchar* LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES[3] = {"gphoto2:", "disk:", "file:"}; +const GtkTargetEntry LIBRARY_WINDOW_DND_TARGET_ENTRIES[3] = {{"text/uri-list", (guint) GTK_TARGET_OTHER_APP, (guint) LIBRARY_WINDOW_TARGET_TYPE_URI_LIST}, {LIBRARY_WINDOW_MEDIA_LIST_MIME_TYPE, (guint) GTK_TARGET_SAME_APP, (guint) LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST}, {LIBRARY_WINDOW_TAG_PATH_MIME_TYPE, (guint) GTK_TARGET_SAME_WIDGET, (guint) LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH}}; + +static void _library_window_on_page_created_sidebar_tree_page_created (SidebarTree* _sender, SidebarPageRepresentative* entry, Page* page, gpointer self) { +#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_page_created ((LibraryWindow*) self, entry, page); +#line 1775 "LibraryWindow.c" +} + + +static void _library_window_on_destroying_page_sidebar_tree_destroying_page (SidebarTree* _sender, SidebarPageRepresentative* entry, Page* page, gpointer self) { +#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_destroying_page ((LibraryWindow*) self, entry, page); +#line 1782 "LibraryWindow.c" +} + + +static void _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected (SidebarTree* _sender, SidebarSelectableEntry* selectable, gpointer self) { +#line 233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_sidebar_entry_selected ((LibraryWindow*) self, selectable); +#line 1789 "LibraryWindow.c" +} + + +static void _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed (SidebarTree* _sender, SidebarSelectableEntry* removed, gpointer self) { +#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_sidebar_selected_entry_removed ((LibraryWindow*) self, removed); +#line 1796 "LibraryWindow.c" +} + + +static void _library_window_hide_extended_properties_gtk_widget_hide (GtkWidget* _sender, gpointer self) { +#line 238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_hide_extended_properties ((LibraryWindow*) self); +#line 1803 "LibraryWindow.c" +} + + +static void _library_window_show_extended_properties_gtk_widget_show (GtkWidget* _sender, gpointer self) { +#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_show_extended_properties ((LibraryWindow*) self); +#line 1810 "LibraryWindow.c" +} + + +static void _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_trashcan_contents_altered ((LibraryWindow*) self); +#line 1817 "LibraryWindow.c" +} + + +static void _library_window_on_media_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_media_altered ((LibraryWindow*) self); +#line 1824 "LibraryWindow.c" +} + + +static void _library_window_on_metadata_writer_progress_metadata_writer_progress (MetadataWriter* _sender, guint completed, guint total, gpointer self) { +#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_metadata_writer_progress ((LibraryWindow*) self, completed, total); +#line 1831 "LibraryWindow.c" +} + + +static void _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self) { +#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_installed ((LibraryWindow*) self, monitor); +#line 1838 "LibraryWindow.c" +} + + +static void _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed (LibraryMonitorPool* _sender, LibraryMonitor* monitor, gpointer self) { +#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_destroyed ((LibraryWindow*) self, monitor); +#line 1845 "LibraryWindow.c" +} + + +static void _library_window_on_camera_added_camera_table_camera_added (CameraTable* _sender, DiscoveredCamera* camera, gpointer self) { +#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_camera_added ((LibraryWindow*) self, camera); +#line 1852 "LibraryWindow.c" +} + + +static GType library_window_sidebar_root_position_get_type (void) { + static volatile gsize library_window_sidebar_root_position_type_id__volatile = 0; + if (g_once_init_enter (&library_window_sidebar_root_position_type_id__volatile)) { + static const GEnumValue values[] = {{LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY", "library"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS", "cameras"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH", "saved-search"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS", "events"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS", "folders"}, {LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS, "LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS", "tags"}, {0, NULL, NULL}}; + GType library_window_sidebar_root_position_type_id; + library_window_sidebar_root_position_type_id = g_enum_register_static ("LibraryWindowSidebarRootPosition", values); + g_once_init_leave (&library_window_sidebar_root_position_type_id__volatile, library_window_sidebar_root_position_type_id); + } + return library_window_sidebar_root_position_type_id__volatile; +} + + +GType library_window_target_type_get_type (void) { + static volatile gsize library_window_target_type_type_id__volatile = 0; + if (g_once_init_enter (&library_window_target_type_type_id__volatile)) { + static const GEnumValue values[] = {{LIBRARY_WINDOW_TARGET_TYPE_URI_LIST, "LIBRARY_WINDOW_TARGET_TYPE_URI_LIST", "uri-list"}, {LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST, "LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST", "media-list"}, {LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH, "LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH", "tag-path"}, {0, NULL, NULL}}; + GType library_window_target_type_type_id; + library_window_target_type_type_id = g_enum_register_static ("LibraryWindowTargetType", values); + g_once_init_leave (&library_window_target_type_type_id__volatile, library_window_target_type_type_id); + } + return library_window_target_type_type_id__volatile; +} + + +static void _library_window_external_drop_handler_sidebar_tree_external_drop_handler (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, gpointer self) { +#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_external_drop_handler ((LibraryWindow*) self, context, entry, data, info, time); +#line 1883 "LibraryWindow.c" +} + + +static void _library_window_on_update_properties_now_one_shot_callback (gpointer self) { +#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_update_properties_now ((LibraryWindow*) self); +#line 1890 "LibraryWindow.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return self ? g_object_ref (self) : NULL; +#line 1897 "LibraryWindow.c" +} + + +LibraryWindow* library_window_construct (GType object_type, ProgressMonitor progress_monitor, void* progress_monitor_target) { + LibraryWindow * self = NULL; + SidebarTree* _tmp0_ = NULL; + SidebarTree* _tmp1_ = NULL; + SidebarTree* _tmp2_ = NULL; + SidebarTree* _tmp3_ = NULL; + SidebarTree* _tmp4_ = NULL; + SidebarTree* _tmp5_ = NULL; + LibraryBranch* _tmp6_ = NULL; + SidebarTree* _tmp7_ = NULL; + TagsBranch* _tmp8_ = NULL; + SidebarTree* _tmp9_ = NULL; + FoldersBranch* _tmp10_ = NULL; + SidebarTree* _tmp11_ = NULL; + EventsBranch* _tmp12_ = NULL; + SidebarTree* _tmp13_ = NULL; + CameraBranch* _tmp14_ = NULL; + SidebarTree* _tmp15_ = NULL; + SearchesBranch* _tmp16_ = NULL; + ExtendedPropertiesWindow* _tmp17_ = NULL; + ExtendedPropertiesWindow* _tmp18_ = NULL; + ExtendedPropertiesWindow* _tmp19_ = NULL; + OneShotScheduler* _tmp20_ = NULL; + SearchFilterActions* _tmp21_ = NULL; + SearchFilterToolbar* _tmp22_ = NULL; + GtkMenuBar* menubar = NULL; + GtkUIManager* _tmp28_ = NULL; + GtkWidget* _tmp29_ = NULL; + GtkMenuBar* _tmp30_ = NULL; + GtkBox* _tmp31_ = NULL; + GtkMenuBar* _tmp32_ = NULL; + GtkMenuBar* _tmp33_ = NULL; + LibraryBranch* _tmp34_ = NULL; + LibraryPhotosEntry* _tmp35_ = NULL; + LibraryPhotosEntry* _tmp36_ = NULL; + Page* _tmp37_ = NULL; + Page* _tmp38_ = NULL; + GtkTargetEntry* main_window_dnd_targets = NULL; + GtkTargetEntry _tmp51_ = {0}; + GtkTargetEntry _tmp52_ = {0}; + GtkTargetEntry* _tmp53_ = NULL; + gint main_window_dnd_targets_length1 = 0; + gint _main_window_dnd_targets_size_ = 0; + GtkTargetEntry* _tmp54_ = NULL; + gint _tmp54__length1 = 0; + MetadataWriter* _tmp55_ = NULL; + MetadataWriter* _tmp56_ = NULL; + LibraryMonitor* monitor = NULL; + LibraryMonitorPool* _tmp57_ = NULL; + LibraryMonitorPool* _tmp58_ = NULL; + LibraryMonitor* _tmp59_ = NULL; + LibraryMonitor* _tmp60_ = NULL; + LibraryMonitor* _tmp61_ = NULL; + LibraryMonitorPool* _tmp63_ = NULL; + LibraryMonitorPool* _tmp64_ = NULL; + LibraryMonitorPool* _tmp65_ = NULL; + LibraryMonitorPool* _tmp66_ = NULL; + CameraTable* _tmp67_ = NULL; + CameraTable* _tmp68_ = NULL; + GtkProgressBar* _tmp69_ = NULL; + GError * _inner_error_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = (LibraryWindow*) app_window_construct (object_type); +#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = sidebar_tree_new (LIBRARY_WINDOW_DND_TARGET_ENTRIES, G_N_ELEMENTS (LIBRARY_WINDOW_DND_TARGET_ENTRIES), GDK_ACTION_ASK, _library_window_external_drop_handler_sidebar_tree_external_drop_handler, self); +#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp0_); +#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->sidebar_tree); +#line 153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->sidebar_tree = _tmp0_; +#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->sidebar_tree; +#line 156 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp1_, "page-created", (GCallback) _library_window_on_page_created_sidebar_tree_page_created, self, 0); +#line 157 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->sidebar_tree; +#line 157 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp2_, "destroying-page", (GCallback) _library_window_on_destroying_page_sidebar_tree_destroying_page, self, 0); +#line 158 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->sidebar_tree; +#line 158 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp3_, "entry-selected", (GCallback) _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected, self, 0); +#line 159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->sidebar_tree; +#line 159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp4_, "selected-entry-removed", (GCallback) _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed, self, 0); +#line 161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = self->priv->sidebar_tree; +#line 161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->library_branch; +#line 161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_graft (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_LIBRARY); +#line 162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = self->priv->sidebar_tree; +#line 162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = self->priv->tags_branch; +#line 162 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_graft (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_TAGS); +#line 163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = self->priv->sidebar_tree; +#line 163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = self->priv->folders_branch; +#line 163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_graft (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_FOLDERS); +#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = self->priv->sidebar_tree; +#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = self->priv->events_branch; +#line 164 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_graft (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_EVENTS); +#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = self->priv->sidebar_tree; +#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = self->priv->camera_branch; +#line 165 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_graft (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_CAMERAS); +#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = self->priv->sidebar_tree; +#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = self->priv->saved_search_branch; +#line 166 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_graft (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, SIDEBAR_TYPE_BRANCH, SidebarBranch), (gint) LIBRARY_WINDOW_SIDEBAR_ROOT_POSITION_SAVED_SEARCH); +#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = extended_properties_window_new (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow)); +#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp17_); +#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->extended_properties); +#line 169 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->extended_properties = _tmp17_; +#line 170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = self->priv->extended_properties; +#line 170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), "hide", (GCallback) _library_window_hide_extended_properties_gtk_widget_hide, self, 0); +#line 171 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = self->priv->extended_properties; +#line 171 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), "show", (GCallback) _library_window_show_extended_properties_gtk_widget_show, self, 0); +#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = one_shot_scheduler_new ("LibraryWindow properties", _library_window_on_update_properties_now_one_shot_callback, self); +#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _one_shot_scheduler_unref0 (self->priv->properties_scheduler); +#line 173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->properties_scheduler = _tmp20_; +#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = self->priv->search_actions; +#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = search_filter_toolbar_new (_tmp21_); +#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp22_); +#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->search_toolbar); +#line 177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->search_toolbar = _tmp22_; +#line 2056 "LibraryWindow.c" + { + GFile* ui_file = NULL; + GFile* _tmp23_ = NULL; + GtkUIManager* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = resources_get_ui ("top.ui"); +#line 180 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ui_file = _tmp23_; +#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = g_file_get_path (ui_file); +#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = _tmp25_; +#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_ui_manager_add_ui_from_file (_tmp24_, _tmp26_, &_inner_error_); +#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp26_); +#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 181 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (ui_file); +#line 2081 "LibraryWindow.c" + goto __catch38_g_error; + } +#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (ui_file); +#line 2086 "LibraryWindow.c" + } + goto __finally38; + __catch38_g_error: + { + GError* e = NULL; + const gchar* _tmp27_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + e = _inner_error_; +#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _inner_error_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = e->message; +#line 183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_error ("LibraryWindow.vala:183: %s", _tmp27_); +#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_error_free0 (e); +#line 2103 "LibraryWindow.c" + } + __finally38: +#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_clear_error (&_inner_error_); +#line 179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return NULL; +#line 2114 "LibraryWindow.c" + } +#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)->ui; +#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = gtk_ui_manager_get_widget (_tmp28_, "/MenuBar"); +#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp30_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp29_, gtk_menu_bar_get_type ()) ? ((GtkMenuBar*) _tmp29_) : NULL); +#line 186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + menubar = _tmp30_; +#line 187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_ = self->priv->layout; +#line 187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32_ = menubar; +#line 187 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget)); +#line 191 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp33_ = menubar; +#line 191 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_set_no_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_ = self->priv->library_branch; +#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp35_ = library_branch_get_photos_entry (_tmp34_); +#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp36_ = _tmp35_; +#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp37_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_ = _tmp37_; +#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_create_layout (self, _tmp38_); +#line 194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp38_); +#line 197 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_load_configuration (self); +#line 2150 "LibraryWindow.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp39_ = NULL; + MediaCollectionRegistry* _tmp40_ = NULL; + GeeCollection* _tmp41_ = NULL; + GeeCollection* _tmp42_ = NULL; + GeeIterator* _tmp43_ = NULL; + GeeIterator* _tmp44_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp39_ = media_collection_registry_get_instance (); +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp40_ = _tmp39_; +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp41_ = media_collection_registry_get_all (_tmp40_); +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_ = _tmp41_; +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp43_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp44_ = _tmp43_; +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp42_); +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _media_collection_registry_unref0 (_tmp40_); +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _media_sources_it = _tmp44_; +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + while (TRUE) { +#line 2179 "LibraryWindow.c" + GeeIterator* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp47_ = NULL; + gpointer _tmp48_ = NULL; + MediaSourceCollection* _tmp49_ = NULL; + MediaSourceCollection* _tmp50_ = NULL; +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp45_ = _media_sources_it; +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp46_ = gee_iterator_next (_tmp45_); +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp46_) { +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + break; +#line 2195 "LibraryWindow.c" + } +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp47_ = _media_sources_it; +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp48_ = gee_iterator_get (_tmp47_); +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + media_sources = (MediaSourceCollection*) _tmp48_; +#line 200 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp49_ = media_sources; +#line 200 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp49_, "trashcan-contents-altered", (GCallback) _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0); +#line 201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp50_ = media_sources; +#line 201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_window_on_media_altered_data_collection_items_altered, self, 0); +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (media_sources); +#line 2213 "LibraryWindow.c" + } +#line 199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_media_sources_it); +#line 2217 "LibraryWindow.c" + } +#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp51_ = LIBRARY_WINDOW_DND_TARGET_ENTRIES[LIBRARY_WINDOW_TARGET_TYPE_URI_LIST]; +#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp52_ = LIBRARY_WINDOW_DND_TARGET_ENTRIES[LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST]; +#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp53_ = g_new0 (GtkTargetEntry, 2); +#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp53_[0] = _tmp51_; +#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp53_[1] = _tmp52_; +#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + main_window_dnd_targets = _tmp53_; +#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + main_window_dnd_targets_length1 = 2; +#line 206 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _main_window_dnd_targets_size_ = main_window_dnd_targets_length1; +#line 212 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp54_ = main_window_dnd_targets; +#line 212 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp54__length1 = main_window_dnd_targets_length1; +#line 212 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_drag_dest_set (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), GTK_DEST_DEFAULT_ALL, _tmp54_, _tmp54__length1, (GDK_ACTION_COPY | GDK_ACTION_LINK) | GDK_ACTION_ASK); +#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp55_ = metadata_writer_get_instance (); +#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp56_ = _tmp55_; +#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp56_, "progress", (GCallback) _library_window_on_metadata_writer_progress_metadata_writer_progress, self, 0); +#line 215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp56_); +#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp57_ = library_monitor_pool_get_instance (); +#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp58_ = _tmp57_; +#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp59_ = library_monitor_pool_get_monitor (_tmp58_); +#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp60_ = _tmp59_; +#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _library_monitor_pool_unref0 (_tmp58_); +#line 217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + monitor = _tmp60_; +#line 218 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp61_ = monitor; +#line 218 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp61_ != NULL) { +#line 2265 "LibraryWindow.c" + LibraryMonitor* _tmp62_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp62_ = monitor; +#line 219 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_installed (self, _tmp62_); +#line 2271 "LibraryWindow.c" + } +#line 221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp63_ = library_monitor_pool_get_instance (); +#line 221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp64_ = _tmp63_; +#line 221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp64_, "monitor-installed", (GCallback) _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed, self, 0); +#line 221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _library_monitor_pool_unref0 (_tmp64_); +#line 222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp65_ = library_monitor_pool_get_instance (); +#line 222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp66_ = _tmp65_; +#line 222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp66_, "monitor-destroyed", (GCallback) _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed, self, 0); +#line 222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _library_monitor_pool_unref0 (_tmp66_); +#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp67_ = camera_table_get_instance (); +#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp68_ = _tmp67_; +#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp68_, "camera-added", (GCallback) _library_window_on_camera_added_camera_table_camera_added, self, 0); +#line 224 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _camera_table_unref0 (_tmp68_); +#line 226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp69_ = self->priv->background_progress_bar; +#line 226 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_progress_bar_set_show_text (_tmp69_, TRUE); +#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (monitor); +#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + main_window_dnd_targets = (g_free (main_window_dnd_targets), NULL); +#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (menubar); +#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return self; +#line 2309 "LibraryWindow.c" +} + + +LibraryWindow* library_window_new (ProgressMonitor progress_monitor, void* progress_monitor_target) { +#line 151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return library_window_construct (TYPE_LIBRARY_WINDOW, progress_monitor, progress_monitor_target); +#line 2316 "LibraryWindow.c" +} + + +static void _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started (DirectoryMonitor* _sender, gpointer self) { +#line 261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_discovery_started ((LibraryWindow*) self); +#line 2323 "LibraryWindow.c" +} + + +static void _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed (DirectoryMonitor* _sender, gpointer self) { +#line 262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_discovery_completed ((LibraryWindow*) self); +#line 2330 "LibraryWindow.c" +} + + +static void _library_window_on_library_monitor_discovery_completed_directory_monitor_closed (DirectoryMonitor* _sender, gpointer self) { +#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_discovery_completed ((LibraryWindow*) self); +#line 2337 "LibraryWindow.c" +} + + +static void _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress (LibraryMonitor* _sender, gint completed_files, gint total_files, gpointer self) { +#line 264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_auto_update_progress ((LibraryWindow*) self, completed_files, total_files); +#line 2344 "LibraryWindow.c" +} + + +static void _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing (LibraryMonitor* _sender, gpointer self) { +#line 265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_auto_import_preparing ((LibraryWindow*) self); +#line 2351 "LibraryWindow.c" +} + + +static void _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress (LibraryMonitor* _sender, guint64 completed_bytes, guint64 total_bytes, gpointer self) { +#line 266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_auto_import_progress ((LibraryWindow*) self, completed_bytes, total_bytes); +#line 2358 "LibraryWindow.c" +} + + +static void library_window_on_library_monitor_installed (LibraryWindow* self, LibraryMonitor* monitor) { + LibraryMonitor* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + LibraryMonitor* _tmp5_ = NULL; + LibraryMonitor* _tmp6_ = NULL; + LibraryMonitor* _tmp7_ = NULL; + LibraryMonitor* _tmp8_ = NULL; + LibraryMonitor* _tmp9_ = NULL; + LibraryMonitor* _tmp10_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (monitor)); +#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = monitor; +#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = directory_monitor_get_root (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp3_; +#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:259: on_library_monitor_installed: %s", _tmp4_); +#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp4_); +#line 259 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = monitor; +#line 261 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "discovery-started", (GCallback) _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started, self, 0); +#line 262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = monitor; +#line 262 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "discovery-completed", (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed, self, 0); +#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = monitor; +#line 263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), "closed", (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_closed, self, 0); +#line 264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = monitor; +#line 264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp8_, "auto-update-progress", (GCallback) _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress, self, 0); +#line 265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = monitor; +#line 265 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp9_, "auto-import-preparing", (GCallback) _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing, self, 0); +#line 266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = monitor; +#line 266 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp10_, "auto-import-progress", (GCallback) _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress, self, 0); +#line 2418 "LibraryWindow.c" +} + + +static void library_window_on_library_monitor_destroyed (LibraryWindow* self, LibraryMonitor* monitor) { + LibraryMonitor* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + LibraryMonitor* _tmp5_ = NULL; + guint _tmp6_ = 0U; + LibraryMonitor* _tmp7_ = NULL; + guint _tmp8_ = 0U; + LibraryMonitor* _tmp9_ = NULL; + guint _tmp10_ = 0U; + LibraryMonitor* _tmp11_ = NULL; + guint _tmp12_ = 0U; + LibraryMonitor* _tmp13_ = NULL; + guint _tmp14_ = 0U; + LibraryMonitor* _tmp15_ = NULL; + guint _tmp16_ = 0U; +#line 269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_MONITOR (monitor)); +#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = monitor; +#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = directory_monitor_get_root (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor)); +#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp3_; +#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:270: on_library_monitor_destroyed: %s", _tmp4_); +#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp4_); +#line 270 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 272 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = monitor; +#line 272 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("discovery-started", TYPE_DIRECTORY_MONITOR, &_tmp6_, NULL, FALSE); +#line 272 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_started_directory_monitor_discovery_started, self); +#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = monitor; +#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("discovery-completed", TYPE_DIRECTORY_MONITOR, &_tmp8_, NULL, FALSE); +#line 273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp8_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_discovery_completed, self); +#line 274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = monitor; +#line 274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("closed", TYPE_DIRECTORY_MONITOR, &_tmp10_, NULL, FALSE); +#line 274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DIRECTORY_MONITOR, DirectoryMonitor), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _library_window_on_library_monitor_discovery_completed_directory_monitor_closed, self); +#line 275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = monitor; +#line 275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("auto-update-progress", TYPE_LIBRARY_MONITOR, &_tmp12_, NULL, FALSE); +#line 275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_update_progress_library_monitor_auto_update_progress, self); +#line 276 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = monitor; +#line 276 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("auto-import-preparing", TYPE_LIBRARY_MONITOR, &_tmp14_, NULL, FALSE); +#line 276 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp13_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_import_preparing_library_monitor_auto_import_preparing, self); +#line 277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = monitor; +#line 277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("auto-import-progress", TYPE_LIBRARY_MONITOR, &_tmp16_, NULL, FALSE); +#line 277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp15_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _library_window_on_library_monitor_auto_import_progress_library_monitor_auto_import_progress, self); +#line 2496 "LibraryWindow.c" +} + + +static void _library_window_on_file_import_gtk_action_callback (GtkAction* action, gpointer self) { +#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_file_import ((LibraryWindow*) self); +#line 2503 "LibraryWindow.c" +} + + +static void _vala_array_add61 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2514 "LibraryWindow.c" + } +#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2518 "LibraryWindow.c" +} + + +static void _library_window_on_external_library_import_gtk_action_callback (GtkAction* action, gpointer self) { +#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_external_library_import ((LibraryWindow*) self); +#line 2525 "LibraryWindow.c" +} + + +static void _vala_array_add62 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2536 "LibraryWindow.c" + } +#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2540 "LibraryWindow.c" +} + + +static void _vala_array_add63 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2551 "LibraryWindow.c" + } +#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2555 "LibraryWindow.c" +} + + +static void _library_window_on_preferences_gtk_action_callback (GtkAction* action, gpointer self) { +#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_preferences ((LibraryWindow*) self); +#line 2562 "LibraryWindow.c" +} + + +static void _vala_array_add64 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2573 "LibraryWindow.c" + } +#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2577 "LibraryWindow.c" +} + + +static void _library_window_on_empty_trash_gtk_action_callback (GtkAction* action, gpointer self) { +#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_empty_trash ((LibraryWindow*) self); +#line 2584 "LibraryWindow.c" +} + + +static void _vala_array_add65 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2595 "LibraryWindow.c" + } +#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2599 "LibraryWindow.c" +} + + +static void _library_window_on_jump_to_event_gtk_action_callback (GtkAction* action, gpointer self) { +#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_jump_to_event ((LibraryWindow*) self); +#line 2606 "LibraryWindow.c" +} + + +static void _vala_array_add66 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2617 "LibraryWindow.c" + } +#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2621 "LibraryWindow.c" +} + + +static void _library_window_on_find_gtk_action_callback (GtkAction* action, gpointer self) { +#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_find ((LibraryWindow*) self); +#line 2628 "LibraryWindow.c" +} + + +static void _vala_array_add67 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2639 "LibraryWindow.c" + } +#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2643 "LibraryWindow.c" +} + + +static void _vala_array_add68 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2654 "LibraryWindow.c" + } +#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2658 "LibraryWindow.c" +} + + +static void _library_window_on_new_search_gtk_action_callback (GtkAction* action, gpointer self) { +#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_new_search ((LibraryWindow*) self); +#line 2665 "LibraryWindow.c" +} + + +static void _vala_array_add69 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2676 "LibraryWindow.c" + } +#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2680 "LibraryWindow.c" +} + + +static void _vala_array_add70 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2691 "LibraryWindow.c" + } +#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2695 "LibraryWindow.c" +} + + +static void _vala_array_add71 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2706 "LibraryWindow.c" + } +#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2710 "LibraryWindow.c" +} + + +static void _vala_array_add72 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2721 "LibraryWindow.c" + } +#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2725 "LibraryWindow.c" +} + + +static void _vala_array_add73 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2736 "LibraryWindow.c" + } +#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2740 "LibraryWindow.c" +} + + +static void _vala_array_add74 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2751 "LibraryWindow.c" + } +#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2755 "LibraryWindow.c" +} + + +static void _vala_array_add75 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2766 "LibraryWindow.c" + } +#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2770 "LibraryWindow.c" +} + + +static void _vala_array_add76 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2781 "LibraryWindow.c" + } +#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2785 "LibraryWindow.c" +} + + +static void _vala_array_add77 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 2796 "LibraryWindow.c" + } +#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 2800 "LibraryWindow.c" +} + + +static GtkActionEntry* library_window_create_common_actions (LibraryWindow* self, int* result_length1) { + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + GtkActionEntry* _tmp0_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry import = {0}; + GtkActionEntry _tmp1_ = {0}; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkActionEntry* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry import_from_external = {0}; + GtkActionEntry _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + GtkActionEntry* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GtkActionEntry _tmp9_ = {0}; + GtkActionEntry sort = {0}; + GtkActionEntry _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + GtkActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkActionEntry _tmp13_ = {0}; + GtkActionEntry preferences = {0}; + GtkActionEntry _tmp14_ = {0}; + GtkActionEntry* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GtkActionEntry _tmp16_ = {0}; + GtkActionEntry empty = {0}; + GtkActionEntry _tmp17_ = {0}; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + GtkActionEntry* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + GtkActionEntry _tmp21_ = {0}; + GtkActionEntry jump_to_event = {0}; + GtkActionEntry _tmp22_ = {0}; + const gchar* _tmp23_ = NULL; + GtkActionEntry* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + GtkActionEntry _tmp25_ = {0}; + GtkActionEntry find = {0}; + GtkActionEntry _tmp26_ = {0}; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; + GtkActionEntry* _tmp29_ = NULL; + gint _tmp29__length1 = 0; + GtkActionEntry _tmp30_ = {0}; + GtkActionEntry filter_photos = {0}; + GtkActionEntry _tmp31_ = {0}; + GtkActionEntry* _tmp32_ = NULL; + gint _tmp32__length1 = 0; + GtkActionEntry _tmp33_ = {0}; + GtkActionEntry new_search = {0}; + GtkActionEntry _tmp34_ = {0}; + const gchar* _tmp35_ = NULL; + GtkActionEntry* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + GtkActionEntry _tmp37_ = {0}; + GtkActionEntry file = {0}; + GtkActionEntry _tmp38_ = {0}; + const gchar* _tmp39_ = NULL; + GtkActionEntry* _tmp40_ = NULL; + gint _tmp40__length1 = 0; + GtkActionEntry _tmp41_ = {0}; + GtkActionEntry edit = {0}; + GtkActionEntry _tmp42_ = {0}; + const gchar* _tmp43_ = NULL; + GtkActionEntry* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + GtkActionEntry _tmp45_ = {0}; + GtkActionEntry view = {0}; + GtkActionEntry _tmp46_ = {0}; + const gchar* _tmp47_ = NULL; + GtkActionEntry* _tmp48_ = NULL; + gint _tmp48__length1 = 0; + GtkActionEntry _tmp49_ = {0}; + GtkActionEntry photo = {0}; + GtkActionEntry _tmp50_ = {0}; + const gchar* _tmp51_ = NULL; + GtkActionEntry* _tmp52_ = NULL; + gint _tmp52__length1 = 0; + GtkActionEntry _tmp53_ = {0}; + GtkActionEntry photos = {0}; + GtkActionEntry _tmp54_ = {0}; + const gchar* _tmp55_ = NULL; + GtkActionEntry* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + GtkActionEntry _tmp57_ = {0}; + GtkActionEntry event = {0}; + GtkActionEntry _tmp58_ = {0}; + const gchar* _tmp59_ = NULL; + GtkActionEntry* _tmp60_ = NULL; + gint _tmp60__length1 = 0; + GtkActionEntry _tmp61_ = {0}; + GtkActionEntry tags = {0}; + GtkActionEntry _tmp62_ = {0}; + const gchar* _tmp63_ = NULL; + GtkActionEntry* _tmp64_ = NULL; + gint _tmp64__length1 = 0; + GtkActionEntry _tmp65_ = {0}; + GtkActionEntry help = {0}; + GtkActionEntry _tmp66_ = {0}; + const gchar* _tmp67_ = NULL; + GtkActionEntry* _tmp68_ = NULL; + gint _tmp68__length1 = 0; + GtkActionEntry _tmp69_ = {0}; + GtkActionEntry* _tmp70_ = NULL; + gint _tmp70__length1 = 0; +#line 280 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), NULL); +#line 281 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = g_new0 (GtkActionEntry, 0); +#line 281 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + actions = _tmp0_; +#line 281 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + actions_length1 = 0; +#line 281 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _actions_size_ = actions_length1; +#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.name = "CommonFileImport"; +#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.stock_id = RESOURCES_IMPORT; +#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.label = TRANSLATABLE; +#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.accelerator = "I"; +#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.tooltip = TRANSLATABLE; +#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.callback = (GCallback) _library_window_on_file_import_gtk_action_callback; +#line 283 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + import = _tmp1_; +#line 285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _ ("_Import From Folder..."); +#line 285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + import.label = _tmp2_; +#line 286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _ ("Import photos from disk to library"); +#line 286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + import.tooltip = _tmp3_; +#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = actions; +#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4__length1 = actions_length1; +#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = import; +#line 287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add61 (&actions, &actions_length1, &_actions_size_, &_tmp5_); +#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.name = "ExternalLibraryImport"; +#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.stock_id = RESOURCES_IMPORT; +#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.label = TRANSLATABLE; +#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.accelerator = NULL; +#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.tooltip = TRANSLATABLE; +#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.callback = (GCallback) _library_window_on_external_library_import_gtk_action_callback; +#line 289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + import_from_external = _tmp6_; +#line 293 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = _ ("Import From _Application..."); +#line 293 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + import_from_external.label = _tmp7_; +#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = actions; +#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8__length1 = actions_length1; +#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = import_from_external; +#line 294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add62 (&actions, &actions_length1, &_actions_size_, &_tmp9_); +#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_.name = "CommonSortEvents"; +#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_.stock_id = NULL; +#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_.label = TRANSLATABLE; +#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_.accelerator = NULL; +#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_.tooltip = NULL; +#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_.callback = (GCallback) NULL; +#line 296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sort = _tmp10_; +#line 297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = _ ("Sort _Events"); +#line 297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sort.label = _tmp11_; +#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = actions; +#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12__length1 = actions_length1; +#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = sort; +#line 298 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add63 (&actions, &actions_length1, &_actions_size_, &_tmp13_); +#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_.name = "CommonPreferences"; +#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_.stock_id = RESOURCES_PREFERENCES_LABEL; +#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_.label = TRANSLATABLE; +#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_.accelerator = NULL; +#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_.tooltip = TRANSLATABLE; +#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_.callback = (GCallback) _library_window_on_preferences_gtk_action_callback; +#line 300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + preferences = _tmp14_; +#line 302 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + preferences.label = RESOURCES_PREFERENCES_MENU; +#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = actions; +#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15__length1 = actions_length1; +#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = preferences; +#line 303 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add64 (&actions, &actions_length1, &_actions_size_, &_tmp16_); +#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_.name = "CommonEmptyTrash"; +#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_.stock_id = NULL; +#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_.label = TRANSLATABLE; +#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_.accelerator = NULL; +#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_.tooltip = NULL; +#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_.callback = (GCallback) _library_window_on_empty_trash_gtk_action_callback; +#line 305 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + empty = _tmp17_; +#line 307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = _ ("Empty T_rash"); +#line 307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + empty.label = _tmp18_; +#line 308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = _ ("Delete all photos in the trash"); +#line 308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + empty.tooltip = _tmp19_; +#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = actions; +#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20__length1 = actions_length1; +#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = empty; +#line 309 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add65 (&actions, &actions_length1, &_actions_size_, &_tmp21_); +#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_.name = "CommonJumpToEvent"; +#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_.stock_id = NULL; +#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_.label = TRANSLATABLE; +#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_.accelerator = NULL; +#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_.tooltip = TRANSLATABLE; +#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_.callback = (GCallback) _library_window_on_jump_to_event_gtk_action_callback; +#line 311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + jump_to_event = _tmp22_; +#line 313 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = _ ("View Eve_nt for Photo"); +#line 313 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + jump_to_event.label = _tmp23_; +#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = actions; +#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24__length1 = actions_length1; +#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = jump_to_event; +#line 314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add66 (&actions, &actions_length1, &_actions_size_, &_tmp25_); +#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_.name = "CommonFind"; +#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_.stock_id = NULL; +#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_.label = TRANSLATABLE; +#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_.accelerator = NULL; +#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_.tooltip = NULL; +#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_.callback = (GCallback) _library_window_on_find_gtk_action_callback; +#line 316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + find = _tmp26_; +#line 317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = _ ("_Find"); +#line 317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + find.label = _tmp27_; +#line 318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = _ ("Find photos and videos by search criteria"); +#line 318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + find.tooltip = _tmp28_; +#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = actions; +#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29__length1 = actions_length1; +#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp30_ = find; +#line 319 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add67 (&actions, &actions_length1, &_actions_size_, &_tmp30_); +#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_.name = "CommonFilterPhotos"; +#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_.stock_id = NULL; +#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_.label = TRANSLATABLE; +#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_.accelerator = NULL; +#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_.tooltip = NULL; +#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_.callback = (GCallback) NULL; +#line 323 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + filter_photos = _tmp31_; +#line 324 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + filter_photos.label = RESOURCES_FILTER_PHOTOS_MENU; +#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32_ = actions; +#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32__length1 = actions_length1; +#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp33_ = filter_photos; +#line 325 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add68 (&actions, &actions_length1, &_actions_size_, &_tmp33_); +#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_.name = "CommonNewSearch"; +#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_.stock_id = NULL; +#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_.label = TRANSLATABLE; +#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_.accelerator = "S"; +#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_.tooltip = NULL; +#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_.callback = (GCallback) _library_window_on_new_search_gtk_action_callback; +#line 327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + new_search = _tmp34_; +#line 329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp35_ = _ ("Ne_w Saved Search..."); +#line 329 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + new_search.label = _tmp35_; +#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp36_ = actions; +#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp36__length1 = actions_length1; +#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp37_ = new_search; +#line 330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add69 (&actions, &actions_length1, &_actions_size_, &_tmp37_); +#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_.name = "FileMenu"; +#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_.stock_id = NULL; +#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_.label = TRANSLATABLE; +#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_.accelerator = NULL; +#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_.tooltip = NULL; +#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_.callback = (GCallback) NULL; +#line 334 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + file = _tmp38_; +#line 335 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp39_ = _ ("_File"); +#line 335 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + file.label = _tmp39_; +#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp40_ = actions; +#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp40__length1 = actions_length1; +#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp41_ = file; +#line 336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add70 (&actions, &actions_length1, &_actions_size_, &_tmp41_); +#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_.name = "EditMenu"; +#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_.stock_id = NULL; +#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_.label = TRANSLATABLE; +#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_.accelerator = NULL; +#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_.tooltip = NULL; +#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_.callback = (GCallback) NULL; +#line 338 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + edit = _tmp42_; +#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp43_ = _ ("_Edit"); +#line 339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + edit.label = _tmp43_; +#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp44_ = actions; +#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp44__length1 = actions_length1; +#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp45_ = edit; +#line 340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add71 (&actions, &actions_length1, &_actions_size_, &_tmp45_); +#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp46_.name = "ViewMenu"; +#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp46_.stock_id = NULL; +#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp46_.label = TRANSLATABLE; +#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp46_.accelerator = NULL; +#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp46_.tooltip = NULL; +#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp46_.callback = (GCallback) NULL; +#line 342 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = _tmp46_; +#line 343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp47_ = _ ("_View"); +#line 343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view.label = _tmp47_; +#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp48_ = actions; +#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp48__length1 = actions_length1; +#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp49_ = view; +#line 344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add72 (&actions, &actions_length1, &_actions_size_, &_tmp49_); +#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp50_.name = "PhotoMenu"; +#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp50_.stock_id = NULL; +#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp50_.label = TRANSLATABLE; +#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp50_.accelerator = NULL; +#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp50_.tooltip = NULL; +#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp50_.callback = (GCallback) NULL; +#line 346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + photo = _tmp50_; +#line 347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp51_ = _ ("_Photo"); +#line 347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + photo.label = _tmp51_; +#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp52_ = actions; +#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp52__length1 = actions_length1; +#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp53_ = photo; +#line 348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add73 (&actions, &actions_length1, &_actions_size_, &_tmp53_); +#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp54_.name = "PhotosMenu"; +#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp54_.stock_id = NULL; +#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp54_.label = TRANSLATABLE; +#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp54_.accelerator = NULL; +#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp54_.tooltip = NULL; +#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp54_.callback = (GCallback) NULL; +#line 350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + photos = _tmp54_; +#line 351 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp55_ = _ ("_Photos"); +#line 351 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + photos.label = _tmp55_; +#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp56_ = actions; +#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp56__length1 = actions_length1; +#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp57_ = photos; +#line 352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add74 (&actions, &actions_length1, &_actions_size_, &_tmp57_); +#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp58_.name = "EventsMenu"; +#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp58_.stock_id = NULL; +#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp58_.label = TRANSLATABLE; +#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp58_.accelerator = NULL; +#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp58_.tooltip = NULL; +#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp58_.callback = (GCallback) NULL; +#line 354 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + event = _tmp58_; +#line 355 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp59_ = _ ("Even_ts"); +#line 355 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + event.label = _tmp59_; +#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp60_ = actions; +#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp60__length1 = actions_length1; +#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp61_ = event; +#line 356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add75 (&actions, &actions_length1, &_actions_size_, &_tmp61_); +#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp62_.name = "TagsMenu"; +#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp62_.stock_id = NULL; +#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp62_.label = TRANSLATABLE; +#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp62_.accelerator = NULL; +#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp62_.tooltip = NULL; +#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp62_.callback = (GCallback) NULL; +#line 358 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + tags = _tmp62_; +#line 359 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp63_ = _ ("Ta_gs"); +#line 359 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + tags.label = _tmp63_; +#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp64_ = actions; +#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp64__length1 = actions_length1; +#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp65_ = tags; +#line 360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add76 (&actions, &actions_length1, &_actions_size_, &_tmp65_); +#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp66_.name = "HelpMenu"; +#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp66_.stock_id = NULL; +#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp66_.label = TRANSLATABLE; +#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp66_.accelerator = NULL; +#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp66_.tooltip = NULL; +#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp66_.callback = (GCallback) NULL; +#line 362 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + help = _tmp66_; +#line 363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp67_ = _ ("_Help"); +#line 363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + help.label = _tmp67_; +#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp68_ = actions; +#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp68__length1 = actions_length1; +#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp69_ = help; +#line 364 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add77 (&actions, &actions_length1, &_actions_size_, &_tmp69_); +#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp70_ = actions; +#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp70__length1 = actions_length1; +#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (result_length1) { +#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *result_length1 = _tmp70__length1; +#line 3383 "LibraryWindow.c" + } +#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp70_; +#line 366 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 3389 "LibraryWindow.c" +} + + +static void _library_window_on_display_basic_properties_gtk_action_callback (GtkAction* action, gpointer self) { +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_display_basic_properties ((LibraryWindow*) self, action); +#line 3396 "LibraryWindow.c" +} + + +static void _vala_array_add78 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 3407 "LibraryWindow.c" + } +#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 3411 "LibraryWindow.c" +} + + +static void _library_window_on_display_extended_properties_gtk_action_callback (GtkAction* action, gpointer self) { +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_display_extended_properties ((LibraryWindow*) self, action); +#line 3418 "LibraryWindow.c" +} + + +static void _vala_array_add79 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 3429 "LibraryWindow.c" + } +#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 3433 "LibraryWindow.c" +} + + +static void _library_window_on_display_searchbar_gtk_action_callback (GtkAction* action, gpointer self) { +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_display_searchbar ((LibraryWindow*) self, action); +#line 3440 "LibraryWindow.c" +} + + +static void _vala_array_add80 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 3451 "LibraryWindow.c" + } +#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 3455 "LibraryWindow.c" +} + + +static void _library_window_on_display_sidebar_gtk_action_callback (GtkAction* action, gpointer self) { +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_display_sidebar ((LibraryWindow*) self, action); +#line 3462 "LibraryWindow.c" +} + + +static void _vala_array_add81 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 3473 "LibraryWindow.c" + } +#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 3477 "LibraryWindow.c" +} + + +static void _library_window_on_display_toolbar_gtk_action_callback (GtkAction* action, gpointer self) { +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_display_toolbar ((LibraryWindow*) self, action); +#line 3484 "LibraryWindow.c" +} + + +static void _vala_array_add82 (GtkToggleActionEntry** array, int* length, int* size, const GtkToggleActionEntry* value) { +#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkToggleActionEntry, *array, *size); +#line 3495 "LibraryWindow.c" + } +#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 3499 "LibraryWindow.c" +} + + +static GtkToggleActionEntry* library_window_create_common_toggle_actions (LibraryWindow* self, int* result_length1) { + GtkToggleActionEntry* result = NULL; + GtkToggleActionEntry* actions = NULL; + GtkToggleActionEntry* _tmp0_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkToggleActionEntry basic_props = {0}; + GtkToggleActionEntry _tmp1_ = {0}; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkToggleActionEntry* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkToggleActionEntry _tmp5_ = {0}; + GtkToggleActionEntry extended_props = {0}; + GtkToggleActionEntry _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkToggleActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkToggleActionEntry _tmp10_ = {0}; + GtkToggleActionEntry searchbar = {0}; + gboolean _tmp11_ = FALSE; + GtkToggleActionEntry _tmp12_ = {0}; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GtkToggleActionEntry* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GtkToggleActionEntry _tmp16_ = {0}; + GtkToggleActionEntry sidebar = {0}; + gboolean _tmp17_ = FALSE; + GtkToggleActionEntry _tmp18_ = {0}; + const gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + GtkToggleActionEntry* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + GtkToggleActionEntry _tmp22_ = {0}; + GtkToggleActionEntry toolbar = {0}; + gboolean _tmp23_ = FALSE; + GtkToggleActionEntry _tmp24_ = {0}; + const gchar* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; + GtkToggleActionEntry* _tmp27_ = NULL; + gint _tmp27__length1 = 0; + GtkToggleActionEntry _tmp28_ = {0}; + GtkToggleActionEntry* _tmp29_ = NULL; + gint _tmp29__length1 = 0; +#line 369 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), NULL); +#line 370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = g_new0 (GtkToggleActionEntry, 0); +#line 370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + actions = _tmp0_; +#line 370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + actions_length1 = 0; +#line 370 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _actions_size_ = actions_length1; +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.name = "CommonDisplayBasicProperties"; +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.stock_id = NULL; +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.label = TRANSLATABLE; +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.accelerator = "I"; +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.tooltip = TRANSLATABLE; +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.callback = (GCallback) _library_window_on_display_basic_properties_gtk_action_callback; +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.is_active = FALSE; +#line 372 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + basic_props = _tmp1_; +#line 374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _ ("_Basic Information"); +#line 374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + basic_props.label = _tmp2_; +#line 375 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _ ("Display basic information for the selection"); +#line 375 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + basic_props.tooltip = _tmp3_; +#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = actions; +#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4__length1 = actions_length1; +#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = basic_props; +#line 376 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add78 (&actions, &actions_length1, &_actions_size_, &_tmp5_); +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.name = "CommonDisplayExtendedProperties"; +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.stock_id = NULL; +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.label = TRANSLATABLE; +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.accelerator = "X"; +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.tooltip = TRANSLATABLE; +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.callback = (GCallback) _library_window_on_display_extended_properties_gtk_action_callback; +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.is_active = FALSE; +#line 378 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + extended_props = _tmp6_; +#line 380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = _ ("E_xtended Information"); +#line 380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + extended_props.label = _tmp7_; +#line 381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _ ("Display extended information for the selection"); +#line 381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + extended_props.tooltip = _tmp8_; +#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = actions; +#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9__length1 = actions_length1; +#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = extended_props; +#line 382 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add79 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = self->priv->is_search_toolbar_visible; +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_.name = "CommonDisplaySearchbar"; +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_.stock_id = "edit-find"; +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_.label = TRANSLATABLE; +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_.accelerator = "F8"; +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_.tooltip = TRANSLATABLE; +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_.callback = (GCallback) _library_window_on_display_searchbar_gtk_action_callback; +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_.is_active = _tmp11_; +#line 384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + searchbar = _tmp12_; +#line 386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = _ ("_Search Bar"); +#line 386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + searchbar.label = _tmp13_; +#line 387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = _ ("Display the search bar"); +#line 387 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + searchbar.tooltip = _tmp14_; +#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = actions; +#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15__length1 = actions_length1; +#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = searchbar; +#line 388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add80 (&actions, &actions_length1, &_actions_size_, &_tmp16_); +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = library_window_is_sidebar_visible (self); +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_.name = "CommonDisplaySidebar"; +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_.stock_id = NULL; +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_.label = TRANSLATABLE; +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_.accelerator = "F9"; +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_.tooltip = TRANSLATABLE; +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_.callback = (GCallback) _library_window_on_display_sidebar_gtk_action_callback; +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_.is_active = _tmp17_; +#line 390 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar = _tmp18_; +#line 392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = _ ("S_idebar"); +#line 392 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar.label = _tmp19_; +#line 393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = _ ("Display the sidebar"); +#line 393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar.tooltip = _tmp20_; +#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = actions; +#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21__length1 = actions_length1; +#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = sidebar; +#line 394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add81 (&actions, &actions_length1, &_actions_size_, &_tmp22_); +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = library_window_is_toolbar_visible (self); +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_.name = "CommonDisplayToolbar"; +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_.stock_id = NULL; +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_.label = TRANSLATABLE; +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_.accelerator = "F9"; +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_.tooltip = TRANSLATABLE; +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_.callback = (GCallback) _library_window_on_display_toolbar_gtk_action_callback; +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_.is_active = _tmp23_; +#line 396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + toolbar = _tmp24_; +#line 398 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = _ ("T_oolbar"); +#line 398 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + toolbar.label = _tmp25_; +#line 399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = _ ("Display the tool bar"); +#line 399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + toolbar.tooltip = _tmp26_; +#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = actions; +#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27__length1 = actions_length1; +#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = toolbar; +#line 400 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add82 (&actions, &actions_length1, &_actions_size_, &_tmp28_); +#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = actions; +#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29__length1 = actions_length1; +#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (result_length1) { +#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *result_length1 = _tmp29__length1; +#line 3733 "LibraryWindow.c" + } +#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp29_; +#line 402 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 3739 "LibraryWindow.c" +} + + +static void _vala_array_add83 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 3750 "LibraryWindow.c" + } +#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 3754 "LibraryWindow.c" +} + + +static void _vala_array_add84 (GtkRadioActionEntry** array, int* length, int* size, const GtkRadioActionEntry* value) { +#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkRadioActionEntry, *array, *size); +#line 3765 "LibraryWindow.c" + } +#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = *value; +#line 3769 "LibraryWindow.c" +} + + +static void _library_window_on_events_sort_changed_gtk_radio_action_callback (GtkAction* action, GtkAction* current, gpointer self) { +#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_events_sort_changed ((LibraryWindow*) self, action, current); +#line 3776 "LibraryWindow.c" +} + + +static void library_window_add_common_radio_actions (LibraryWindow* self, GtkActionGroup* group) { + GtkRadioActionEntry* actions = NULL; + GtkRadioActionEntry* _tmp0_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkRadioActionEntry ascending = {0}; + GtkRadioActionEntry _tmp1_ = {0}; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GtkRadioActionEntry* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkRadioActionEntry _tmp5_ = {0}; + GtkRadioActionEntry descending = {0}; + GtkRadioActionEntry _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkRadioActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkRadioActionEntry _tmp10_ = {0}; + GtkActionGroup* _tmp11_ = NULL; + GtkRadioActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; +#line 405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_ACTION_GROUP (group)); +#line 406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = g_new0 (GtkRadioActionEntry, 0); +#line 406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + actions = _tmp0_; +#line 406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + actions_length1 = 0; +#line 406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _actions_size_ = actions_length1; +#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.name = "CommonSortEventsAscending"; +#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.stock_id = RESOURCES_SORT_ASCENDING_LABEL; +#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.label = TRANSLATABLE; +#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.accelerator = NULL; +#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.tooltip = TRANSLATABLE; +#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_.value = LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING; +#line 408 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ascending = _tmp1_; +#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _ ("_Ascending"); +#line 411 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ascending.label = _tmp2_; +#line 412 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _ ("Sort photos in an ascending order"); +#line 412 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ascending.tooltip = _tmp3_; +#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = actions; +#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4__length1 = actions_length1; +#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = ascending; +#line 413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add83 (&actions, &actions_length1, &_actions_size_, &_tmp5_); +#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.name = "CommonSortEventsDescending"; +#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.stock_id = RESOURCES_SORT_DESCENDING_LABEL; +#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.label = TRANSLATABLE; +#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.accelerator = NULL; +#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.tooltip = TRANSLATABLE; +#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_.value = LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING; +#line 415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + descending = _tmp6_; +#line 418 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = _ ("D_escending"); +#line 418 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + descending.label = _tmp7_; +#line 419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _ ("Sort photos in a descending order"); +#line 419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + descending.tooltip = _tmp8_; +#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = actions; +#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9__length1 = actions_length1; +#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = descending; +#line 420 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add84 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = group; +#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = actions; +#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12__length1 = actions_length1; +#line 422 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_action_group_add_radio_actions (_tmp11_, _tmp12_, _tmp12__length1, LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING, (GCallback) _library_window_on_events_sort_changed_gtk_radio_action_callback, self); +#line 405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + actions = (g_free (actions), NULL); +#line 3884 "LibraryWindow.c" +} + + +static void _vala_array_add85 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value) { +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionGroup*, *array, (*size) + 1); +#line 3895 "LibraryWindow.c" + } +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = value; +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[*length] = NULL; +#line 3901 "LibraryWindow.c" +} + + +static void _vala_array_add86 (GtkActionGroup*** array, int* length, int* size, GtkActionGroup* value) { +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if ((*length) == (*size)) { +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *array = g_renew (GtkActionGroup*, *array, (*size) + 1); +#line 3912 "LibraryWindow.c" + } +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[(*length)++] = value; +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + (*array)[*length] = NULL; +#line 3918 "LibraryWindow.c" +} + + +static GtkActionGroup** library_window_real_create_common_action_groups (AppWindow* base, int* result_length1) { + LibraryWindow * self; + GtkActionGroup** result = NULL; + GtkActionGroup** groups = NULL; + gint _tmp0_ = 0; + GtkActionGroup** _tmp1_ = NULL; + gint groups_length1 = 0; + gint _groups_size_ = 0; + GtkActionGroup* _tmp2_ = NULL; + gint _tmp3_ = 0; + GtkActionEntry* _tmp4_ = NULL; + GtkActionEntry* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GtkActionGroup* _tmp6_ = NULL; + gint _tmp7_ = 0; + GtkToggleActionEntry* _tmp8_ = NULL; + GtkToggleActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionGroup* _tmp10_ = NULL; + GtkAction* action = NULL; + GtkActionGroup* _tmp11_ = NULL; + GtkAction* _tmp12_ = NULL; + GtkAction* _tmp13_ = NULL; + GtkAction* _tmp14_ = NULL; + GtkActionGroup** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + GtkActionGroup* _tmp18_ = NULL; + GtkActionGroup* _tmp19_ = NULL; + GtkActionGroup** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + SearchFilterActions* _tmp21_ = NULL; + GtkActionGroup* _tmp22_ = NULL; + GtkActionGroup** _tmp23_ = NULL; + gint _tmp23__length1 = 0; +#line 425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = APP_WINDOW_CLASS (library_window_parent_class)->create_common_action_groups (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), &_tmp0_); +#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + groups = _tmp1_; +#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + groups_length1 = _tmp0_; +#line 426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _groups_size_ = groups_length1; +#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->common_action_group; +#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = library_window_create_common_actions (self, &_tmp3_); +#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5__length1 = _tmp3_; +#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_action_group_add_actions (_tmp2_, _tmp5_, _tmp3_, self); +#line 428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = (g_free (_tmp5_), NULL); +#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->common_action_group; +#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = library_window_create_common_toggle_actions (self, &_tmp7_); +#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = _tmp8_; +#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9__length1 = _tmp7_; +#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_action_group_add_toggle_actions (_tmp6_, _tmp9_, _tmp7_, self); +#line 429 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = (g_free (_tmp9_), NULL); +#line 430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = self->priv->common_action_group; +#line 430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_add_common_radio_actions (self, _tmp10_); +#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = self->priv->common_action_group; +#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = gtk_action_group_get_action (_tmp11_, "CommonDisplaySearchbar"); +#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 432 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + action = _tmp13_; +#line 433 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = action; +#line 433 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp14_ != NULL) { +#line 4006 "LibraryWindow.c" + GtkAction* _tmp15_ = NULL; + GtkAction* _tmp16_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = action; +#line 434 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_action_set_short_label (_tmp15_, RESOURCES_FIND_LABEL); +#line 435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = action; +#line 435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_action_set_is_important (_tmp16_, TRUE); +#line 4017 "LibraryWindow.c" + } +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = groups; +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17__length1 = groups_length1; +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = self->priv->common_action_group; +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = _g_object_ref0 (_tmp18_); +#line 438 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add85 (&groups, &groups_length1, &_groups_size_, _tmp19_); +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = groups; +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20__length1 = groups_length1; +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = self->priv->search_actions; +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = search_filter_actions_get_action_group (_tmp21_); +#line 439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_array_add86 (&groups, &groups_length1, &_groups_size_, _tmp22_); +#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = groups; +#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23__length1 = groups_length1; +#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (result_length1) { +#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *result_length1 = _tmp23__length1; +#line 4047 "LibraryWindow.c" + } +#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp23_; +#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (action); +#line 441 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 4055 "LibraryWindow.c" +} + + +static void library_window_real_replace_common_placeholders (AppWindow* base, GtkUIManager* ui) { + LibraryWindow * self; + GtkUIManager* _tmp0_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_UI_MANAGER (ui)); +#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = ui; +#line 445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + APP_WINDOW_CLASS (library_window_parent_class)->replace_common_placeholders (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), _tmp0_); +#line 4070 "LibraryWindow.c" +} + + +static void _library_window_on_view_filter_installed_view_collection_view_filter_installed (ViewCollection* _sender, ViewFilter* filer, gpointer self) { +#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_view_filter_installed ((LibraryWindow*) self, filer); +#line 4077 "LibraryWindow.c" +} + + +static void _library_window_on_view_filter_removed_view_collection_view_filter_removed (ViewCollection* _sender, ViewFilter* filer, gpointer self) { +#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_view_filter_removed ((LibraryWindow*) self, filer); +#line 4084 "LibraryWindow.c" +} + + +static void library_window_real_switched_pages (PageWindow* base, Page* old_page, Page* new_page) { + LibraryWindow * self; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + Page* _tmp2_ = NULL; + Page* _tmp11_ = NULL; + SearchFilterActions* _tmp18_ = NULL; + Page* _tmp19_ = NULL; + Page* _tmp20_ = NULL; +#line 448 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 448 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page)); +#line 448 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page)); +#line 449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = old_page; +#line 449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = new_page; +#line 449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + PAGE_WINDOW_CLASS (library_window_parent_class)->switched_pages (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), TYPE_PAGE_WINDOW, PageWindow), _tmp0_, _tmp1_); +#line 452 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = old_page; +#line 452 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_ != NULL) { +#line 4113 "LibraryWindow.c" + Page* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + guint _tmp6_ = 0U; + Page* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + guint _tmp10_ = 0U; +#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = old_page; +#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = page_get_view (_tmp3_); +#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("view-filter-installed", TYPE_VIEW_COLLECTION, &_tmp6_, NULL, FALSE); +#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp5_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _library_window_on_view_filter_installed_view_collection_view_filter_installed, self); +#line 453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp5_); +#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = old_page; +#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = page_get_view (_tmp7_); +#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = _tmp8_; +#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("view-filter-removed", TYPE_VIEW_COLLECTION, &_tmp10_, NULL, FALSE); +#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _library_window_on_view_filter_removed_view_collection_view_filter_removed, self); +#line 454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp9_); +#line 4146 "LibraryWindow.c" + } +#line 457 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = new_page; +#line 457 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp11_ != NULL) { +#line 4152 "LibraryWindow.c" + Page* _tmp12_ = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + Page* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; +#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = new_page; +#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = page_get_view (_tmp12_); +#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = _tmp13_; +#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp14_, "view-filter-installed", (GCallback) _library_window_on_view_filter_installed_view_collection_view_filter_installed, self, 0); +#line 458 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp14_); +#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = new_page; +#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = page_get_view (_tmp15_); +#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = _tmp16_; +#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp17_, "view-filter-removed", (GCallback) _library_window_on_view_filter_removed_view_collection_view_filter_removed, self, 0); +#line 459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp17_); +#line 4179 "LibraryWindow.c" + } +#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = self->priv->search_actions; +#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = old_page; +#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = new_page; +#line 462 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + search_filter_actions_monitor_page_contents (_tmp18_, _tmp19_, _tmp20_); +#line 4189 "LibraryWindow.c" +} + + +static void _library_window_on_view_filter_refreshed_view_filter_refresh (ViewFilter* _sender, gpointer self) { +#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_view_filter_refreshed ((LibraryWindow*) self); +#line 4196 "LibraryWindow.c" +} + + +static void library_window_on_view_filter_installed (LibraryWindow* self, ViewFilter* filter) { + ViewFilter* _tmp0_ = NULL; +#line 465 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 465 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_VIEW_FILTER (filter)); +#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = filter; +#line 466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (_tmp0_, "refresh", (GCallback) _library_window_on_view_filter_refreshed_view_filter_refresh, self, 0); +#line 4210 "LibraryWindow.c" +} + + +static void library_window_on_view_filter_removed (LibraryWindow* self, ViewFilter* filter) { + ViewFilter* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_VIEW_FILTER (filter)); +#line 470 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = filter; +#line 470 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("refresh", TYPE_VIEW_FILTER, &_tmp1_, NULL, FALSE); +#line 470 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _library_window_on_view_filter_refreshed_view_filter_refresh, self); +#line 4227 "LibraryWindow.c" +} + + +static void library_window_on_view_filter_refreshed (LibraryWindow* self) { + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + GtkToggleAction* display_searchbar = NULL; + GtkAction* _tmp6_ = NULL; + GtkToggleAction* _tmp7_ = NULL; + GtkToggleAction* _tmp8_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page_get_view (_tmp1_); +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = view_collection_are_items_filtered_out (_tmp3_); +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = !_tmp4_; +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp3_); +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp5_) { +#line 477 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 4264 "LibraryWindow.c" + } +#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplaySearchbar"); +#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp6_) : NULL; +#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp7_ == NULL) { +#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp6_); +#line 4274 "LibraryWindow.c" + } +#line 480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + display_searchbar = _tmp7_; +#line 482 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = display_searchbar; +#line 482 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp8_ != NULL) { +#line 4282 "LibraryWindow.c" + GtkToggleAction* _tmp9_ = NULL; +#line 483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = display_searchbar; +#line 483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_toggle_action_set_active (_tmp9_, TRUE); +#line 4288 "LibraryWindow.c" + } +#line 473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (display_searchbar); +#line 4292 "LibraryWindow.c" +} + + +static void library_window_real_show_all (GtkWidget* base) { + LibraryWindow * self; + GtkToggleAction* basic_properties_action = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + GtkToggleAction* _tmp3_ = NULL; + GtkToggleAction* _tmp4_ = NULL; + GtkToggleAction* _tmp5_ = NULL; + GtkToggleAction* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GtkToggleAction* searchbar_action = NULL; + Page* _tmp9_ = NULL; + Page* _tmp10_ = NULL; + GtkAction* _tmp11_ = NULL; + GtkToggleAction* _tmp12_ = NULL; + GtkToggleAction* _tmp13_ = NULL; + GtkToggleAction* _tmp14_ = NULL; + CheckerboardPage* current_page = NULL; + Page* _tmp15_ = NULL; + CheckerboardPage* _tmp16_ = NULL; + CheckerboardPage* _tmp17_ = NULL; + gboolean _tmp19_ = FALSE; + CheckerboardPage* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 488 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + GTK_WIDGET_CLASS (library_window_parent_class)->show_all (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), gtk_widget_get_type (), GtkWidget)); +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page_get_common_action (_tmp1_, "CommonDisplayBasicProperties", TRUE); +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp2_) : NULL; +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ == NULL) { +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 4337 "LibraryWindow.c" + } +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp3_; +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + basic_properties_action = _tmp4_; +#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = basic_properties_action; +#line 492 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (_tmp5_ != NULL, "basic_properties_action != null"); +#line 494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = basic_properties_action; +#line 494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = gtk_toggle_action_get_active (_tmp6_); +#line 494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp7_) { +#line 4355 "LibraryWindow.c" + GtkFrame* _tmp8_ = NULL; +#line 495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = self->priv->bottom_frame; +#line 495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget)); +#line 4361 "LibraryWindow.c" + } +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = _tmp9_; +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = page_get_common_action (_tmp10_, "CommonDisplaySearchbar", TRUE); +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp11_) : NULL; +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp12_ == NULL) { +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp11_); +#line 4375 "LibraryWindow.c" + } +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = _tmp12_; +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp10_); +#line 497 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + searchbar_action = _tmp13_; +#line 499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = searchbar_action; +#line 499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (_tmp14_ != NULL, "searchbar_action != null"); +#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp15_) : NULL; +#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp16_ == NULL) { +#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp15_); +#line 4395 "LibraryWindow.c" + } +#line 502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + current_page = _tmp16_; +#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = current_page; +#line 503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp17_ != NULL) { +#line 4403 "LibraryWindow.c" + CheckerboardPage* _tmp18_ = NULL; +#line 504 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = current_page; +#line 504 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_init_view_filter (self, _tmp18_); +#line 4409 "LibraryWindow.c" + } +#line 506 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = library_window_should_show_search_bar (self); +#line 506 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = current_page; +#line 506 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_toggle_search_bar (self, _tmp19_, _tmp20_); +#line 509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = library_window_is_sidebar_visible (self); +#line 509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_set_sidebar_visible (self, _tmp21_); +#line 487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (current_page); +#line 487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (searchbar_action); +#line 487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (basic_properties_action); +#line 4427 "LibraryWindow.c" +} + + +LibraryWindow* library_window_get_app (void) { + LibraryWindow* result = NULL; + AppWindow* _tmp0_ = NULL; + AppWindow* _tmp1_ = NULL; + LibraryWindow* _tmp2_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = app_window_instance; +#line 513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_WINDOW), "instance is LibraryWindow"); +#line 515 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = app_window_instance; +#line 515 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_WINDOW, LibraryWindow)); +#line 515 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp2_; +#line 515 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 4448 "LibraryWindow.c" +} + + +gboolean library_window_is_mount_uri_supported (const gchar* uri) { + gboolean result = FALSE; +#line 519 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (uri != NULL, FALSE); +#line 4456 "LibraryWindow.c" + { + const gchar** scheme_collection = NULL; + gint scheme_collection_length1 = 0; + gint _scheme_collection_size_ = 0; + gint scheme_it = 0; +#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + scheme_collection = LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES; +#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + scheme_collection_length1 = G_N_ELEMENTS (LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES); +#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + for (scheme_it = 0; scheme_it < G_N_ELEMENTS (LIBRARY_WINDOW_SUPPORTED_MOUNT_SCHEMES); scheme_it = scheme_it + 1) { +#line 4468 "LibraryWindow.c" + gchar* _tmp0_ = NULL; + gchar* scheme = NULL; +#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = g_strdup (scheme_collection[scheme_it]); +#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + scheme = _tmp0_; +#line 4475 "LibraryWindow.c" + { + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = uri; +#line 521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = scheme; +#line 521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = g_str_has_prefix (_tmp1_, _tmp2_); +#line 521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_) { +#line 522 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 522 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (scheme); +#line 522 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 4494 "LibraryWindow.c" + } +#line 520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (scheme); +#line 4498 "LibraryWindow.c" + } + } + } +#line 525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 4506 "LibraryWindow.c" +} + + +static gchar* library_window_real_get_app_role (AppWindow* base) { + LibraryWindow * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 528 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 529 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = g_strdup (RESOURCES_APP_LIBRARY_ROLE); +#line 529 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp0_; +#line 529 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 4522 "LibraryWindow.c" +} + + +void library_window_rename_tag_in_sidebar (LibraryWindow* self, Tag* tag) { + TagsSidebarEntry* entry = NULL; + TagsBranch* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + TagsSidebarEntry* _tmp2_ = NULL; + TagsSidebarEntry* _tmp3_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 532 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_TAG (tag)); +#line 533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->tags_branch; +#line 533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = tag; +#line 533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = tags_branch_get_entry_for_tag (_tmp0_, _tmp1_); +#line 533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = _tmp2_; +#line 534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = entry; +#line 534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ != NULL) { +#line 4548 "LibraryWindow.c" + SidebarTree* _tmp4_ = NULL; + TagsSidebarEntry* _tmp5_ = NULL; +#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->sidebar_tree; +#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = entry; +#line 535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_rename_entry_in_place (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 4557 "LibraryWindow.c" + } else { +#line 537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:537: No tag entry found for rename"); +#line 4561 "LibraryWindow.c" + } +#line 532 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 4565 "LibraryWindow.c" +} + + +void library_window_rename_event_in_sidebar (LibraryWindow* self, Event* event) { + EventsEventEntry* entry = NULL; + EventsBranch* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + EventsEventEntry* _tmp2_ = NULL; + EventsEventEntry* _tmp3_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 540 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_EVENT (event)); +#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->events_branch; +#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = event; +#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = events_branch_get_entry_for_event (_tmp0_, _tmp1_); +#line 541 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = _tmp2_; +#line 542 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = entry; +#line 542 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ != NULL) { +#line 4591 "LibraryWindow.c" + SidebarTree* _tmp4_ = NULL; + EventsEventEntry* _tmp5_ = NULL; +#line 543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->sidebar_tree; +#line 543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = entry; +#line 543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_rename_entry_in_place (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 4600 "LibraryWindow.c" + } else { +#line 545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:545: No event entry found for rename"); +#line 4604 "LibraryWindow.c" + } +#line 540 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 4608 "LibraryWindow.c" +} + + +void library_window_rename_search_in_sidebar (LibraryWindow* self, SavedSearch* search) { + SearchesSidebarEntry* entry = NULL; + SearchesBranch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + SearchesSidebarEntry* _tmp2_ = NULL; + SearchesSidebarEntry* _tmp3_ = NULL; +#line 548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->saved_search_branch; +#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = search; +#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = searches_branch_get_entry_for_saved_search (_tmp0_, _tmp1_); +#line 549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = _tmp2_; +#line 550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = entry; +#line 550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ != NULL) { +#line 4634 "LibraryWindow.c" + SidebarTree* _tmp4_ = NULL; + SearchesSidebarEntry* _tmp5_ = NULL; +#line 551 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->sidebar_tree; +#line 551 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = entry; +#line 551 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_rename_entry_in_place (_tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 4643 "LibraryWindow.c" + } else { +#line 553 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:553: No search entry found for rename"); +#line 4647 "LibraryWindow.c" + } +#line 548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 4651 "LibraryWindow.c" +} + + +static void library_window_real_on_quit (AppWindow* base) { + LibraryWindow * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + Dimensions _tmp3_ = {0}; + ConfigFacade* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + GtkPaned* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 556 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = config_facade_get_instance (); +#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)->maximized; +#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)->dimensions; +#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + configuration_facade_set_library_window_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, &_tmp3_); +#line 557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = config_facade_get_instance (); +#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->client_paned; +#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = gtk_paned_get_position (_tmp6_); +#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _tmp7_; +#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + configuration_facade_set_sidebar_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp8_); +#line 559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp5_); +#line 561 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + APP_WINDOW_CLASS (library_window_parent_class)->on_quit (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow)); +#line 4696 "LibraryWindow.c" +} + + +static Photo* library_window_get_start_fullscreen_photo (LibraryWindow* self, CollectionPage* page) { + Photo* result = NULL; + ViewCollection* view = NULL; + CollectionPage* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + gint _tmp4_ = 0; + GeeList* sources = NULL; + GeeList* _tmp9_ = NULL; + Photo* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GeeList* _tmp12_ = NULL; +#line 564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), NULL); +#line 564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_COLLECTION_PAGE (page), NULL); +#line 565 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page; +#line 565 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page)); +#line 565 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = _tmp1_; +#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = view; +#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = view_collection_get_selected_count (_tmp3_); +#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp4_ > 0) { +#line 4729 "LibraryWindow.c" + ViewCollection* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; +#line 570 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = view; +#line 570 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = view_collection_get_selected_sources_of_type (_tmp5_, TYPE_LIBRARY_PHOTO); +#line 570 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 570 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp6_; +#line 4740 "LibraryWindow.c" + } else { + ViewCollection* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; +#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = view; +#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = view_collection_get_sources_of_type (_tmp7_, TYPE_LIBRARY_PHOTO); +#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp8_; +#line 4752 "LibraryWindow.c" + } +#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = _g_object_ref0 (_tmp2_); +#line 569 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sources = _tmp9_; +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = sources; +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp12_ != NULL) { +#line 4762 "LibraryWindow.c" + GeeList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = sources; +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = _tmp14_; +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = _tmp15_ != 0; +#line 4774 "LibraryWindow.c" + } else { +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = FALSE; +#line 4778 "LibraryWindow.c" + } +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp11_) { +#line 4782 "LibraryWindow.c" + GeeList* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; +#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = sources; +#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = gee_list_get (_tmp16_, 0); +#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp10_); +#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST ((DataSource*) _tmp17_, TYPE_PHOTO, Photo); +#line 4793 "LibraryWindow.c" + } else { +#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp10_); +#line 574 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = NULL; +#line 4799 "LibraryWindow.c" + } +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp10_; +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (sources); +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 573 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 4811 "LibraryWindow.c" +} + + +static gboolean library_window_get_fullscreen_photo (LibraryWindow* self, Page* page, CollectionPage** collection, Photo** start, ViewCollection** view_collection) { + CollectionPage* _vala_collection = NULL; + Photo* _vala_start = NULL; + ViewCollection* _vala_view_collection = NULL; + gboolean result = FALSE; + Page* _tmp0_ = NULL; + Page* _tmp8_ = NULL; + Page* _tmp30_ = NULL; +#line 577 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE); +#line 577 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_PAGE (page), FALSE); +#line 579 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 579 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_collection = NULL; +#line 580 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 580 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_start = NULL; +#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 581 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_view_collection = NULL; +#line 584 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page; +#line 584 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_COLLECTION_PAGE)) { +#line 4843 "LibraryWindow.c" + Page* _tmp1_ = NULL; + CollectionPage* _tmp2_ = NULL; + Photo* photo = NULL; + CollectionPage* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + Photo* _tmp5_ = NULL; + Photo* _tmp6_ = NULL; + Photo* _tmp7_ = NULL; +#line 585 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page; +#line 585 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_COLLECTION_PAGE, CollectionPage)); +#line 585 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 585 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_collection = _tmp2_; +#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _vala_collection; +#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = library_window_get_start_fullscreen_photo (self, _tmp3_); +#line 586 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + photo = _tmp4_; +#line 587 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = photo; +#line 587 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp5_ == NULL) { +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (photo); +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 4878 "LibraryWindow.c" + } else { +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 4882 "LibraryWindow.c" + } +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 4888 "LibraryWindow.c" + } else { +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 4892 "LibraryWindow.c" + } +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 4898 "LibraryWindow.c" + } else { +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 4902 "LibraryWindow.c" + } +#line 588 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 4906 "LibraryWindow.c" + } +#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = photo; +#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 590 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_start = _tmp7_; +#line 591 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 591 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_view_collection = NULL; +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (photo); +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 4928 "LibraryWindow.c" + } else { +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 4932 "LibraryWindow.c" + } +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 4938 "LibraryWindow.c" + } else { +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 4942 "LibraryWindow.c" + } +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 4948 "LibraryWindow.c" + } else { +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 4952 "LibraryWindow.c" + } +#line 593 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 4956 "LibraryWindow.c" + } +#line 596 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = page; +#line 596 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_EVENTS_DIRECTORY_PAGE)) { +#line 4962 "LibraryWindow.c" + ViewCollection* view = NULL; + Page* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + gint _tmp12_ = 0; + Event* event = NULL; + ViewCollection* _tmp13_ = NULL; + DataObject* _tmp14_ = NULL; + DataView* _tmp15_ = NULL; + DataSource* _tmp16_ = NULL; + Event* _tmp17_ = NULL; + Event* _tmp18_ = NULL; + EventsEventEntry* entry = NULL; + EventsBranch* _tmp19_ = NULL; + Event* _tmp20_ = NULL; + EventsEventEntry* _tmp21_ = NULL; + EventsEventEntry* _tmp22_ = NULL; + EventsEventEntry* _tmp23_ = NULL; + Page* _tmp24_ = NULL; + Photo* photo = NULL; + CollectionPage* _tmp25_ = NULL; + Photo* _tmp26_ = NULL; + Photo* _tmp27_ = NULL; + Photo* _tmp28_ = NULL; + Photo* _tmp29_ = NULL; +#line 597 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = page; +#line 597 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = page_get_view (_tmp9_); +#line 597 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = _tmp10_; +#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = view; +#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_COLLECTION, DataCollection)); +#line 598 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp12_ == 0) { +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5008 "LibraryWindow.c" + } else { +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5012 "LibraryWindow.c" + } +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5018 "LibraryWindow.c" + } else { +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5022 "LibraryWindow.c" + } +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5028 "LibraryWindow.c" + } else { +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5032 "LibraryWindow.c" + } +#line 599 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5036 "LibraryWindow.c" + } +#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = view; +#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = data_collection_get_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_DATA_COLLECTION, DataCollection), 0); +#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_VIEW, DataView); +#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = data_view_get_source (_tmp15_); +#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_EVENT, Event); +#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp15_); +#line 601 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + event = _tmp17_; +#line 602 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = event; +#line 602 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp18_ == NULL) { +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (event); +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5066 "LibraryWindow.c" + } else { +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5070 "LibraryWindow.c" + } +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5076 "LibraryWindow.c" + } else { +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5080 "LibraryWindow.c" + } +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5086 "LibraryWindow.c" + } else { +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5090 "LibraryWindow.c" + } +#line 603 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5094 "LibraryWindow.c" + } +#line 605 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = self->priv->events_branch; +#line 605 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = event; +#line 605 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = events_branch_get_entry_for_event (_tmp19_, _tmp20_); +#line 605 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = _tmp21_; +#line 606 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = entry; +#line 606 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp22_ == NULL) { +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (event); +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5120 "LibraryWindow.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5124 "LibraryWindow.c" + } +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5130 "LibraryWindow.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5134 "LibraryWindow.c" + } +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5140 "LibraryWindow.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5144 "LibraryWindow.c" + } +#line 607 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5148 "LibraryWindow.c" + } +#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = entry; +#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 609 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_collection = G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_EVENT_PAGE, EventPage), TYPE_COLLECTION_PAGE, CollectionPage); +#line 610 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = _vala_collection; +#line 610 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = library_window_get_start_fullscreen_photo (self, _tmp25_); +#line 610 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + photo = _tmp26_; +#line 611 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = photo; +#line 611 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp27_ == NULL) { +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (photo); +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (event); +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5182 "LibraryWindow.c" + } else { +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5186 "LibraryWindow.c" + } +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5192 "LibraryWindow.c" + } else { +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5196 "LibraryWindow.c" + } +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5202 "LibraryWindow.c" + } else { +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5206 "LibraryWindow.c" + } +#line 612 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5210 "LibraryWindow.c" + } +#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = photo; +#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = _g_object_ref0 (_tmp28_); +#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 614 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_start = _tmp29_; +#line 615 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 615 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_view_collection = NULL; +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (photo); +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (event); +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5238 "LibraryWindow.c" + } else { +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5242 "LibraryWindow.c" + } +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5248 "LibraryWindow.c" + } else { +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5252 "LibraryWindow.c" + } +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5258 "LibraryWindow.c" + } else { +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5262 "LibraryWindow.c" + } +#line 617 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5266 "LibraryWindow.c" + } +#line 620 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp30_ = page; +#line 620 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, TYPE_LIBRARY_PHOTO_PAGE)) { +#line 5272 "LibraryWindow.c" + LibraryPhotoPage* photo_page = NULL; + Page* _tmp31_ = NULL; + LibraryPhotoPage* _tmp32_ = NULL; + CollectionPage* controller = NULL; + LibraryPhotoPage* _tmp33_ = NULL; + CollectionPage* _tmp34_ = NULL; + CollectionPage* _tmp35_ = NULL; + LibraryPhotoPage* _tmp36_ = NULL; + gboolean _tmp37_ = FALSE; + CollectionPage* _tmp38_ = NULL; + CollectionPage* _tmp39_ = NULL; + LibraryPhotoPage* _tmp40_ = NULL; + Photo* _tmp41_ = NULL; + LibraryPhotoPage* _tmp42_ = NULL; + ViewCollection* _tmp43_ = NULL; +#line 621 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_ = page; +#line 621 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage)); +#line 621 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + photo_page = _tmp32_; +#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp33_ = photo_page; +#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_ = library_photo_page_get_controller_page (_tmp33_); +#line 623 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + controller = _tmp34_; +#line 624 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp35_ = controller; +#line 624 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp35_ == NULL) { +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (controller); +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (photo_page); +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5314 "LibraryWindow.c" + } else { +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5318 "LibraryWindow.c" + } +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5324 "LibraryWindow.c" + } else { +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5328 "LibraryWindow.c" + } +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5334 "LibraryWindow.c" + } else { +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5338 "LibraryWindow.c" + } +#line 625 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5342 "LibraryWindow.c" + } +#line 627 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp36_ = photo_page; +#line 627 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp37_ = editing_host_page_has_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 627 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp37_) { +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (controller); +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (photo_page); +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5360 "LibraryWindow.c" + } else { +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5364 "LibraryWindow.c" + } +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5370 "LibraryWindow.c" + } else { +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5374 "LibraryWindow.c" + } +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5380 "LibraryWindow.c" + } else { +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5384 "LibraryWindow.c" + } +#line 628 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5388 "LibraryWindow.c" + } +#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_ = controller; +#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp39_ = _g_object_ref0 (_tmp38_); +#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 630 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_collection = _tmp39_; +#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp40_ = photo_page; +#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp41_ = editing_host_page_get_photo (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_EDITING_HOST_PAGE, EditingHostPage)); +#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 631 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_start = _tmp41_; +#line 632 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_ = photo_page; +#line 632 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp43_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_PAGE, Page)); +#line 632 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 632 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_view_collection = _tmp43_; +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (controller); +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (photo_page); +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5424 "LibraryWindow.c" + } else { +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5428 "LibraryWindow.c" + } +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5434 "LibraryWindow.c" + } else { +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5438 "LibraryWindow.c" + } +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5444 "LibraryWindow.c" + } else { +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5448 "LibraryWindow.c" + } +#line 634 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5452 "LibraryWindow.c" + } +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (collection) { +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *collection = _vala_collection; +#line 5460 "LibraryWindow.c" + } else { +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_collection); +#line 5464 "LibraryWindow.c" + } +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (start) { +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *start = _vala_start; +#line 5470 "LibraryWindow.c" + } else { +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_vala_start); +#line 5474 "LibraryWindow.c" + } +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (view_collection) { +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + *view_collection = _vala_view_collection; +#line 5480 "LibraryWindow.c" + } else { +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_vala_view_collection); +#line 5484 "LibraryWindow.c" + } +#line 637 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5488 "LibraryWindow.c" +} + + +static void library_window_real_on_fullscreen (AppWindow* base) { + LibraryWindow * self; + Page* current_page = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + CollectionPage* collection = NULL; + Photo* start = NULL; + ViewCollection* view = NULL; + Page* _tmp2_ = NULL; + CollectionPage* _tmp3_ = NULL; + Photo* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + LibraryWindowFullscreenPhotoPage* fs_photo = NULL; + CollectionPage* _tmp7_ = NULL; + Photo* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + LibraryWindowFullscreenPhotoPage* _tmp10_ = NULL; + LibraryWindowFullscreenPhotoPage* _tmp11_ = NULL; +#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 641 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 641 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + current_page = _tmp0_; +#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = current_page; +#line 642 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp1_ == NULL) { +#line 643 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (current_page); +#line 643 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 5525 "LibraryWindow.c" + } +#line 647 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = NULL; +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = current_page; +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = library_window_get_fullscreen_photo (self, _tmp2_, &_tmp3_, &_tmp4_, &_tmp5_); +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (collection); +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + collection = _tmp3_; +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (start); +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + start = _tmp4_; +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = _tmp5_; +#line 648 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp6_) { +#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (start); +#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (collection); +#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (current_page); +#line 649 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 5557 "LibraryWindow.c" + } +#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = collection; +#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = start; +#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = view; +#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = library_window_fullscreen_photo_page_new (_tmp7_, _tmp8_, _tmp9_); +#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp10_); +#line 651 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + fs_photo = _tmp10_; +#line 653 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = fs_photo; +#line 653 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_go_fullscreen (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_PAGE, Page)); +#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (fs_photo); +#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (start); +#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (collection); +#line 640 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (current_page); +#line 5585 "LibraryWindow.c" +} + + +static void _g_free0_ (gpointer var) { +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + var = (g_free (var), NULL); +#line 5592 "LibraryWindow.c" +} + + +static void _g_slist_free__g_free0_ (GSList* self) { +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_slist_foreach (self, (GFunc) _g_free0_, NULL); +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_slist_free (self); +#line 5601 "LibraryWindow.c" +} + + +static void library_window_on_file_import (LibraryWindow* self) { + GtkFileChooserDialog* import_dialog = NULL; + const gchar* _tmp0_ = NULL; + GtkFileChooserDialog* _tmp1_ = NULL; + GtkFileChooserDialog* _tmp2_ = NULL; + GtkFileChooserDialog* _tmp3_ = NULL; + GtkFileChooserDialog* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gint response = 0; + GtkFileChooserDialog* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GtkFileChooserDialog* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + GtkFileChooserDialog* _tmp25_ = NULL; +#line 656 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 657 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = _ ("Import From Folder"); +#line 657 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp0_, NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_CANCEL, RESOURCES_OK_LABEL, GTK_RESPONSE_OK, NULL); +#line 657 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp1_); +#line 657 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + import_dialog = _tmp1_; +#line 660 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = import_dialog; +#line 660 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_file_chooser_set_local_only (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), FALSE); +#line 661 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = import_dialog; +#line 661 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_file_chooser_set_select_multiple (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), TRUE); +#line 662 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = import_dialog; +#line 662 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = self->priv->import_dir; +#line 662 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_file_chooser_set_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser), _tmp5_); +#line 664 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = import_dialog; +#line 664 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_dialog_get_type (), GtkDialog)); +#line 664 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + response = _tmp7_; +#line 666 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = response; +#line 666 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp8_ == ((gint) GTK_RESPONSE_OK)) { +#line 5654 "LibraryWindow.c" + GtkResponseType _tmp9_ = 0; + GtkFileChooserDialog* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + GtkResponseType copy_files_response = 0; + GtkResponseType _tmp18_ = 0; +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = import_dialog; +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = gtk_file_chooser_get_uri (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = _tmp11_; +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = g_file_new_for_uri (_tmp12_); +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = _tmp13_; +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = app_dirs_is_in_import_dir (_tmp14_); +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = _tmp15_; +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp14_); +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp12_); +#line 669 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp16_) { +#line 670 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = GTK_RESPONSE_REJECT; +#line 5687 "LibraryWindow.c" + } else { + GtkResponseType _tmp17_ = 0; +#line 670 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = copy_files_dialog (); +#line 670 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = _tmp17_; +#line 5694 "LibraryWindow.c" + } +#line 668 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + copy_files_response = _tmp9_; +#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = copy_files_response; +#line 672 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp18_ != GTK_RESPONSE_CANCEL) { +#line 5702 "LibraryWindow.c" + GtkFileChooserDialog* _tmp19_ = NULL; + GSList* _tmp20_ = NULL; + GSList* _tmp21_ = NULL; + GtkResponseType _tmp22_ = 0; +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = import_dialog; +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = gtk_file_chooser_get_uris (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = _tmp20_; +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = copy_files_response; +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_dispatch_import_jobs (self, _tmp21_, "folders", _tmp22_ == GTK_RESPONSE_ACCEPT); +#line 673 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + __g_slist_free__g_free0_0 (_tmp21_); +#line 5719 "LibraryWindow.c" + } + } +#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = import_dialog; +#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = gtk_file_chooser_get_current_folder (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GTK_TYPE_FILE_CHOOSER, GtkFileChooser)); +#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (self->priv->import_dir); +#line 678 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->import_dir = _tmp24_; +#line 679 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = import_dialog; +#line 679 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget)); +#line 656 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (import_dialog); +#line 5736 "LibraryWindow.c" +} + + +static void library_window_on_external_library_import (LibraryWindow* self) { + GtkDialog* import_dialog = NULL; + DataImportsUIDataImportsDialog* _tmp0_ = NULL; +#line 682 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 683 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = data_imports_ui_data_imports_dialog_get_or_create_instance (); +#line 683 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + import_dialog = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_dialog_get_type (), GtkDialog); +#line 685 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_dialog_run (import_dialog); +#line 682 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (import_dialog); +#line 5753 "LibraryWindow.c" +} + + +static void library_window_real_update_common_action_availability (AppWindow* base, Page* old_page, Page* new_page) { + LibraryWindow * self; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + gboolean is_checkerboard = FALSE; + Page* _tmp2_ = NULL; +#line 688 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 688 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page)); +#line 688 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page)); +#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = old_page; +#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = new_page; +#line 689 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + APP_WINDOW_CLASS (library_window_parent_class)->update_common_action_availability (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), _tmp0_, _tmp1_); +#line 691 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = new_page; +#line 691 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + is_checkerboard = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_CHECKERBOARD_PAGE); +#line 693 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplaySearchbar", is_checkerboard); +#line 694 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonFind", is_checkerboard); +#line 5783 "LibraryWindow.c" +} + + +static void library_window_real_update_common_actions (AppWindow* base, Page* page, gint selected_count, gint count) { + LibraryWindow * self; + CollectionPage* collection = NULL; + Photo* start = NULL; + gboolean can_fullscreen = FALSE; + Page* _tmp0_ = NULL; + CollectionPage* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + Page* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 697 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 697 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page; +#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = library_window_get_fullscreen_photo (self, _tmp0_, &_tmp1_, &_tmp2_, NULL); +#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (collection); +#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + collection = _tmp1_; +#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (start); +#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + start = _tmp2_; +#line 703 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + can_fullscreen = _tmp3_; +#line 705 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = library_window_can_empty_trash (self); +#line 705 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonEmptyTrash", _tmp4_); +#line 706 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_set_common_action_visible (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", TRUE); +#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = library_window_can_jump_to_event (self); +#line 707 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", _tmp5_); +#line 708 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonFullscreen", can_fullscreen); +#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = page; +#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = selected_count; +#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = count; +#line 710 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + APP_WINDOW_CLASS (library_window_parent_class)->update_common_actions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), _tmp6_, _tmp7_, _tmp8_); +#line 697 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (start); +#line 697 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (collection); +#line 5843 "LibraryWindow.c" +} + + +static void library_window_on_trashcan_contents_altered (LibraryWindow* self) { + gboolean _tmp0_ = FALSE; +#line 713 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 714 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = library_window_can_empty_trash (self); +#line 714 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonEmptyTrash", _tmp0_); +#line 5855 "LibraryWindow.c" +} + + +static gboolean library_window_can_empty_trash (LibraryWindow* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 717 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE); +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = library_photo_global; +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = media_source_collection_get_trashcan_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_ > 0) { +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = TRUE; +#line 5874 "LibraryWindow.c" + } else { + VideoSourceCollection* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = video_global; +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = media_source_collection_get_trashcan_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = _tmp4_ > 0; +#line 5884 "LibraryWindow.c" + } +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp0_; +#line 718 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 5890 "LibraryWindow.c" +} + + +static void library_window_on_empty_trash (LibraryWindow* self) { + GeeArrayList* to_remove = NULL; + GeeArrayList* _tmp0_ = NULL; + LibraryPhotoSourceCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + VideoSourceCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + CommandManager* _tmp9_ = NULL; + CommandManager* _tmp10_ = NULL; +#line 721 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 722 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 722 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + to_remove = _tmp0_; +#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = library_photo_global; +#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gee_array_list_add_all (to_remove, _tmp3_); +#line 723 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp3_); +#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = video_global; +#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = _tmp5_; +#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gee_array_list_add_all (to_remove, _tmp6_); +#line 724 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp6_); +#line 726 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = _ ("Empty Trash"); +#line 726 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _ ("Emptying Trash..."); +#line 726 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (to_remove, GEE_TYPE_COLLECTION, GeeCollection), _tmp7_, _tmp8_); +#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = app_window_get_command_manager (); +#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = _tmp9_; +#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + command_manager_reset (_tmp10_); +#line 728 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _command_manager_unref0 (_tmp10_); +#line 721 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (to_remove); +#line 5949 "LibraryWindow.c" +} + + +static void library_window_on_new_search (LibraryWindow* self) { + SavedSearchDialog* _tmp0_ = NULL; + SavedSearchDialog* _tmp1_ = NULL; +#line 731 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = saved_search_dialog_new (); +#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + saved_search_dialog_show (_tmp1_); +#line 732 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _saved_search_dialog_unref0 (_tmp1_); +#line 5966 "LibraryWindow.c" +} + + +static gboolean library_window_can_jump_to_event (LibraryWindow* self) { + gboolean result = FALSE; + ViewCollection* view = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 735 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE); +#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page_get_view (_tmp1_); +#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 736 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = _tmp3_; +#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = view; +#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = view_collection_get_selected_count (_tmp4_); +#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp5_ == 1) { +#line 5999 "LibraryWindow.c" + DataSource* selected_source = NULL; + ViewCollection* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + DataSource* _tmp8_ = NULL; +#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = view; +#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = view_collection_get_selected_source_at (_tmp6_, 0); +#line 738 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + selected_source = _tmp7_; +#line 739 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = selected_source; +#line 739 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_EVENT)) { +#line 740 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 740 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (selected_source); +#line 740 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 740 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 6022 "LibraryWindow.c" + } else { + DataSource* _tmp9_ = NULL; +#line 741 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = selected_source; +#line 741 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, TYPE_MEDIA_SOURCE)) { +#line 6029 "LibraryWindow.c" + ViewCollection* _tmp10_ = NULL; + DataSource* _tmp11_ = NULL; + MediaSource* _tmp12_ = NULL; + Event* _tmp13_ = NULL; + Event* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = view; +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = view_collection_get_selected_source_at (_tmp10_, 0); +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_MEDIA_SOURCE, MediaSource); +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = media_source_get_event (_tmp12_); +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = _tmp13_; +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = _tmp14_ != NULL; +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp14_); +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp12_); +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp15_; +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (selected_source); +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 742 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 6060 "LibraryWindow.c" + } else { +#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (selected_source); +#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 744 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 6070 "LibraryWindow.c" + } + } +#line 737 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (selected_source); +#line 6075 "LibraryWindow.c" + } else { +#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 746 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 6083 "LibraryWindow.c" + } +#line 735 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 6087 "LibraryWindow.c" +} + + +static void library_window_on_jump_to_event (LibraryWindow* self) { + ViewCollection* view = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + ViewCollection* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + gint _tmp5_ = 0; + MediaSource* media = NULL; + ViewCollection* _tmp6_ = NULL; + DataSource* _tmp7_ = NULL; + MediaSource* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; + MediaSource* _tmp10_ = NULL; + Event* _tmp11_ = NULL; + Event* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page_get_view (_tmp1_); +#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 751 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = _tmp3_; +#line 753 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = view; +#line 753 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = view_collection_get_selected_count (_tmp4_); +#line 753 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp5_ != 1) { +#line 754 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 754 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 6132 "LibraryWindow.c" + } +#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = view; +#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = view_collection_get_selected_source_at (_tmp6_, 0); +#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_MEDIA_SOURCE) ? ((MediaSource*) _tmp7_) : NULL; +#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp8_ == NULL) { +#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp7_); +#line 6144 "LibraryWindow.c" + } +#line 756 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + media = _tmp8_; +#line 757 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = media; +#line 757 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp9_ == NULL) { +#line 758 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (media); +#line 758 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 758 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 6158 "LibraryWindow.c" + } +#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = media; +#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = media_source_get_event (_tmp10_); +#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = _tmp11_; +#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = _tmp12_ != NULL; +#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp12_); +#line 760 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp13_) { +#line 6172 "LibraryWindow.c" + MediaSource* _tmp14_ = NULL; + Event* _tmp15_ = NULL; + Event* _tmp16_ = NULL; +#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = media; +#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = media_source_get_event (_tmp14_); +#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = _tmp15_; +#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_event (self, _tmp16_); +#line 761 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp16_); +#line 6186 "LibraryWindow.c" + } +#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (media); +#line 750 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 6192 "LibraryWindow.c" +} + + +static void library_window_on_find (LibraryWindow* self) { + GtkToggleAction* action = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + GtkAction* _tmp2_ = NULL; + GtkToggleAction* _tmp3_ = NULL; + SearchFilterToolbar* _tmp4_ = NULL; +#line 764 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page_get_common_action (_tmp1_, "CommonDisplaySearchbar", TRUE); +#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_toggle_action_get_type (), GtkToggleAction); +#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 765 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + action = _tmp3_; +#line 767 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_toggle_action_set_active (action, TRUE); +#line 770 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->search_toolbar; +#line 770 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + search_filter_toolbar_take_focus (_tmp4_); +#line 764 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (action); +#line 6225 "LibraryWindow.c" +} + + +static void library_window_on_media_altered (LibraryWindow* self) { + gboolean _tmp0_ = FALSE; +#line 773 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 774 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = library_window_can_jump_to_event (self); +#line 774 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_set_common_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonJumpToEvent", _tmp0_); +#line 6237 "LibraryWindow.c" +} + + +static void library_window_on_clear_search (LibraryWindow* self) { + gboolean _tmp0_ = FALSE; +#line 777 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->is_search_toolbar_visible; +#line 778 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_) { +#line 6249 "LibraryWindow.c" + SearchFilterActions* _tmp1_ = NULL; +#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->search_actions; +#line 779 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + search_filter_actions_reset (_tmp1_); +#line 6255 "LibraryWindow.c" + } +} + + +gint library_window_get_events_sort (LibraryWindow* self) { + gint result = 0; + GtkRadioAction* action = NULL; + GtkAction* _tmp0_ = NULL; + GtkRadioAction* _tmp1_ = NULL; + gint _tmp2_ = 0; + GtkRadioAction* _tmp3_ = NULL; +#line 782 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), 0); +#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonSortEventsAscending"); +#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp0_) : NULL; +#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp1_ == NULL) { +#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp0_); +#line 6277 "LibraryWindow.c" + } +#line 783 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + action = _tmp1_; +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = action; +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ != NULL) { +#line 6285 "LibraryWindow.c" + GtkRadioAction* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = action; +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = gtk_radio_action_get_current_value (_tmp4_); +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = _tmp5_; +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp6_; +#line 6297 "LibraryWindow.c" + } else { +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING; +#line 6301 "LibraryWindow.c" + } +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp2_; +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (action); +#line 785 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 6309 "LibraryWindow.c" +} + + +static void library_window_on_events_sort_changed (LibraryWindow* self, GtkAction* action, GtkAction* c) { + GtkRadioAction* current = NULL; + GtkAction* _tmp0_ = NULL; + GtkRadioAction* _tmp1_ = NULL; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_ACTION (c)); +#line 789 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = c; +#line 789 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_radio_action_get_type (), GtkRadioAction)); +#line 789 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + current = _tmp1_; +#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = config_facade_get_instance (); +#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = gtk_radio_action_get_current_value (current); +#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + configuration_facade_set_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp5_ == LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING); +#line 791 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp3_); +#line 788 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (current); +#line 6347 "LibraryWindow.c" +} + + +static void library_window_on_preferences (LibraryWindow* self) { +#line 795 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 796 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + preferences_dialog_show (); +#line 6356 "LibraryWindow.c" +} + + +static void library_window_on_display_basic_properties (LibraryWindow* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + ConfigFacade* _tmp10_ = NULL; + ConfigFacade* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 799 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 799 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 800 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = action; +#line 800 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 800 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + display = _tmp1_; +#line 802 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = display; +#line 802 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_) { +#line 6382 "LibraryWindow.c" + BasicProperties* _tmp3_ = NULL; + Page* _tmp4_ = NULL; + Page* _tmp5_ = NULL; + GtkFrame* _tmp6_ = NULL; +#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->basic_properties; +#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + properties_update_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PROPERTIES, Properties), _tmp5_); +#line 803 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp5_); +#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->bottom_frame; +#line 804 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); +#line 6401 "LibraryWindow.c" + } else { + GtkPaned* _tmp7_ = NULL; + GtkWidget* _tmp8_ = NULL; +#line 806 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = self->priv->sidebar_paned; +#line 806 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = gtk_paned_get_child2 (_tmp7_); +#line 806 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp8_ != NULL) { +#line 6411 "LibraryWindow.c" + GtkFrame* _tmp9_ = NULL; +#line 807 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = self->priv->bottom_frame; +#line 807 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 6417 "LibraryWindow.c" + } + } +#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = config_facade_get_instance (); +#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = _tmp10_; +#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = display; +#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + configuration_facade_set_display_basic_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp12_); +#line 812 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp11_); +#line 6430 "LibraryWindow.c" +} + + +static void library_window_on_display_extended_properties (LibraryWindow* self, GtkAction* action) { + gboolean display = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 815 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 815 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 816 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = action; +#line 816 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 816 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + display = _tmp1_; +#line 818 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = display; +#line 818 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_) { +#line 6453 "LibraryWindow.c" + ExtendedPropertiesWindow* _tmp3_ = NULL; + Page* _tmp4_ = NULL; + Page* _tmp5_ = NULL; + ExtendedPropertiesWindow* _tmp6_ = NULL; +#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->extended_properties; +#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + extended_properties_window_update_properties (_tmp3_, _tmp5_); +#line 819 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp5_); +#line 820 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->extended_properties; +#line 820 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); +#line 6472 "LibraryWindow.c" + } else { + ExtendedPropertiesWindow* _tmp7_ = NULL; +#line 822 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = self->priv->extended_properties; +#line 822 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 6479 "LibraryWindow.c" + } +} + + +static void library_window_on_display_searchbar (LibraryWindow* self, GtkAction* action) { + gboolean is_shown = FALSE; + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; +#line 826 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 826 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 827 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = action; +#line 827 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 827 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + is_shown = _tmp1_; +#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = config_facade_get_instance (); +#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + configuration_facade_set_display_search_bar (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), is_shown); +#line 828 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp3_); +#line 829 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_show_search_bar (self, is_shown); +#line 6510 "LibraryWindow.c" +} + + +void library_window_show_search_bar (LibraryWindow* self, gboolean display) { + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + Page* _tmp5_ = NULL; + CheckerboardPage* _tmp6_ = NULL; + CheckerboardPage* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 832 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_CHECKERBOARD_PAGE); +#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 833 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_) { +#line 834 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 6538 "LibraryWindow.c" + } +#line 836 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = display; +#line 836 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->is_search_toolbar_visible = _tmp3_; +#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = library_window_should_show_search_bar (self); +#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp5_) : NULL; +#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp6_ == NULL) { +#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp5_); +#line 6554 "LibraryWindow.c" + } +#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = _tmp6_; +#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_toggle_search_bar (self, _tmp4_, _tmp7_); +#line 837 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp7_); +#line 838 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = display; +#line 838 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp8_) { +#line 6566 "LibraryWindow.c" + SearchFilterActions* _tmp9_ = NULL; +#line 839 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = self->priv->search_actions; +#line 839 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + search_filter_actions_reset (_tmp9_); +#line 6572 "LibraryWindow.c" + } +} + + +static void library_window_on_display_sidebar (LibraryWindow* self, GtkAction* action) { + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 842 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 842 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 843 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = action; +#line 843 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_toggle_action_get_type (), GtkToggleAction)); +#line 843 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_set_sidebar_visible (self, _tmp1_); +#line 6590 "LibraryWindow.c" +} + + +static void library_window_set_sidebar_visible (LibraryWindow* self, gboolean visible) { + GtkPaned* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 847 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 848 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->sidebar_paned; +#line 848 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = visible; +#line 848 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), _tmp1_); +#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = config_facade_get_instance (); +#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = visible; +#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + configuration_facade_set_display_sidebar (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp4_); +#line 849 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp3_); +#line 6618 "LibraryWindow.c" +} + + +static gboolean library_window_is_sidebar_visible (LibraryWindow* self) { + gboolean result = FALSE; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 852 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE); +#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = config_facade_get_instance (); +#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = configuration_facade_get_display_sidebar (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp3_; +#line 853 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 6644 "LibraryWindow.c" +} + + +static void library_window_on_display_toolbar (LibraryWindow* self, GtkAction* action) { + GtkAction* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 856 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 856 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GTK_IS_ACTION (action)); +#line 857 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = action; +#line 857 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gtk_toggle_action_get_active (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL); +#line 857 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_set_toolbar_visible (self, _tmp1_); +#line 6661 "LibraryWindow.c" +} + + +static void library_window_set_toolbar_visible (LibraryWindow* self, gboolean visible) { + GtkToolbar* toolbar = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + GtkToolbar* _tmp2_ = NULL; + GtkToolbar* _tmp3_ = NULL; + GtkToolbar* _tmp4_ = NULL; + ConfigFacade* _tmp7_ = NULL; + ConfigFacade* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 860 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page_get_toolbar (_tmp1_); +#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 861 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + toolbar = _tmp3_; +#line 862 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = toolbar; +#line 862 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp4_ != NULL) { +#line 6693 "LibraryWindow.c" + GtkToolbar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 863 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = toolbar; +#line 863 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = visible; +#line 863 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), _tmp6_); +#line 6702 "LibraryWindow.c" + } +#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = config_facade_get_instance (); +#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _tmp7_; +#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = visible; +#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + configuration_facade_set_display_toolbar (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp9_); +#line 865 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp8_); +#line 860 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (toolbar); +#line 6716 "LibraryWindow.c" +} + + +static gboolean library_window_is_toolbar_visible (LibraryWindow* self) { + gboolean result = FALSE; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 868 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE); +#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = config_facade_get_instance (); +#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = configuration_facade_get_display_toolbar (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp1_); +#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp3_; +#line 869 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 6742 "LibraryWindow.c" +} + + +static void library_window_show_extended_properties (LibraryWindow* self) { +#line 872 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 873 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_sync_extended_properties (self, TRUE); +#line 6751 "LibraryWindow.c" +} + + +static void library_window_hide_extended_properties (LibraryWindow* self) { +#line 876 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 877 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_sync_extended_properties (self, FALSE); +#line 6760 "LibraryWindow.c" +} + + +static void library_window_sync_extended_properties (LibraryWindow* self, gboolean show) { + GtkToggleAction* extended_display_action = NULL; + GtkAction* _tmp0_ = NULL; + GtkToggleAction* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + ConfigFacade* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 880 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplayExtendedProperties"); +#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL; +#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp1_ == NULL) { +#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp0_); +#line 6782 "LibraryWindow.c" + } +#line 881 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + extended_display_action = _tmp1_; +#line 883 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (extended_display_action != NULL, "extended_display_action != null"); +#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = show; +#line 884 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_toggle_action_set_active (extended_display_action, _tmp2_); +#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = config_facade_get_instance (); +#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp3_; +#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = show; +#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + configuration_facade_set_display_extended_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp5_); +#line 887 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp4_); +#line 880 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (extended_display_action); +#line 6804 "LibraryWindow.c" +} + + +void library_window_enqueue_batch_import (LibraryWindow* self, BatchImport* batch_import, gboolean allow_user_cancel) { + LibraryBranch* _tmp0_ = NULL; + LibraryImportQueueSidebarEntry* _tmp1_ = NULL; + LibraryImportQueueSidebarEntry* _tmp2_ = NULL; + BatchImport* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 890 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 890 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_BATCH_IMPORT (batch_import)); +#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->library_branch; +#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = library_branch_get_import_queue_entry (_tmp0_); +#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = batch_import; +#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = allow_user_cancel; +#line 891 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_import_queue_sidebar_entry_enqueue_and_schedule (_tmp2_, _tmp3_, _tmp4_); +#line 6830 "LibraryWindow.c" +} + + +static void library_window_import_reporter (LibraryWindow* self, ImportManifest* manifest) { + ImportManifest* _tmp0_ = NULL; +#line 894 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 894 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_IMPORT_MANIFEST (manifest)); +#line 895 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = manifest; +#line 895 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + import_ui_report_manifest (_tmp0_, TRUE, NULL); +#line 6844 "LibraryWindow.c" +} + + +static void _library_window_import_reporter_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) { +#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_import_reporter ((LibraryWindow*) self, manifest); +#line 6851 "LibraryWindow.c" +} + + +static void library_window_dispatch_import_jobs (LibraryWindow* self, GSList* uris, const gchar* job_name, gboolean copy_to_library) { + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GeeArrayList* jobs = NULL; + GeeArrayList* _tmp18_ = NULL; + GSList* _tmp19_ = NULL; + GeeArrayList* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; +#line 898 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 898 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (job_name != NULL); +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = app_dirs_get_import_dir (); +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp3_; +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = g_get_home_dir (); +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = g_strcmp0 (_tmp4_, _tmp5_) == 0; +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp4_); +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp6_) { +#line 6891 "LibraryWindow.c" + gboolean _tmp7_ = FALSE; +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = self->priv->notify_library_is_home_dir; +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = _tmp7_; +#line 6897 "LibraryWindow.c" + } else { +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = FALSE; +#line 6901 "LibraryWindow.c" + } +#line 899 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_) { +#line 6905 "LibraryWindow.c" + GtkResponseType response = 0; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + AppWindow* _tmp13_ = NULL; + AppWindow* _tmp14_ = NULL; + GtkResponseType _tmp15_ = 0; + GtkResponseType _tmp16_ = 0; + GtkResponseType _tmp17_ = 0; +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _ ("Shotwell is configured to import photos to your home directory.\n" "We recommend changing this in Edit %s Preference" \ +"s.\n" "Do you want to continue importing photos?"); +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = g_strdup_printf (_tmp8_, "▸"); +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = _tmp9_; +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = _ ("_Import"); +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = _ ("Library Location"); +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = app_window_get_instance (); +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = _tmp13_; +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = app_window_affirm_cancel_question (_tmp10_, _tmp11_, _tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_window_get_type (), GtkWindow)); +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = _tmp15_; +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp14_); +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp10_); +#line 900 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + response = _tmp16_; +#line 906 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = response; +#line 906 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp17_ == GTK_RESPONSE_CANCEL) { +#line 907 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 6947 "LibraryWindow.c" + } +#line 909 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->notify_library_is_home_dir = FALSE; +#line 6951 "LibraryWindow.c" + } +#line 912 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = gee_array_list_new (TYPE_FILE_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL); +#line 912 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + jobs = _tmp18_; +#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = uris; +#line 6959 "LibraryWindow.c" + { + GSList* uri_collection = NULL; + GSList* uri_it = NULL; +#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri_collection = _tmp19_; +#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + for (uri_it = uri_collection; uri_it != NULL; uri_it = uri_it->next) { +#line 6967 "LibraryWindow.c" + gchar* _tmp20_ = NULL; + gchar* uri = NULL; +#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = g_strdup ((const gchar*) uri_it->data); +#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri = _tmp20_; +#line 6974 "LibraryWindow.c" + { + GFile* file_or_dir = NULL; + const gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; + GeeArrayList* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + FileImportJob* _tmp31_ = NULL; + FileImportJob* _tmp32_ = NULL; +#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = uri; +#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = g_file_new_for_uri (_tmp21_); +#line 914 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + file_or_dir = _tmp22_; +#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = file_or_dir; +#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = g_file_get_path (_tmp23_); +#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = _tmp24_; +#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = _tmp25_ == NULL; +#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp25_); +#line 915 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp26_) { +#line 7006 "LibraryWindow.c" + const gchar* _tmp27_ = NULL; +#line 917 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = _ ("Photos cannot be imported from this directory."); +#line 917 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_error_message (_tmp27_, NULL); +#line 919 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (file_or_dir); +#line 919 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (uri); +#line 919 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + continue; +#line 7018 "LibraryWindow.c" + } +#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = jobs; +#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = file_or_dir; +#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp30_ = copy_to_library; +#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_ = file_import_job_new (_tmp29_, _tmp30_); +#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32_ = _tmp31_; +#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp32_); +#line 922 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _batch_import_job_unref0 (_tmp32_); +#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (file_or_dir); +#line 913 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (uri); +#line 7038 "LibraryWindow.c" + } + } + } +#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp33_ = jobs; +#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp35_ = _tmp34_; +#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp35_ > 0) { +#line 7050 "LibraryWindow.c" + BatchImport* batch_import = NULL; + GeeArrayList* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + BatchImport* _tmp38_ = NULL; + BatchImport* _tmp39_ = NULL; +#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp36_ = jobs; +#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp37_ = job_name; +#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_ITERABLE, GeeIterable), _tmp37_, _library_window_import_reporter_batch_import_import_reporter, self, NULL, NULL, NULL, NULL, NULL); +#line 926 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + batch_import = _tmp38_; +#line 927 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp39_ = batch_import; +#line 927 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_enqueue_batch_import (self, _tmp39_, TRUE); +#line 928 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_import_queue_page (self); +#line 925 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (batch_import); +#line 7072 "LibraryWindow.c" + } +#line 898 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (jobs); +#line 7076 "LibraryWindow.c" +} + + +static GdkDragAction library_window_get_drag_action (LibraryWindow* self) { + GdkDragAction result = 0; + GdkModifierType mask = 0; + GdkWindow* _tmp0_ = NULL; + GdkDisplay* _tmp1_ = NULL; + GdkDeviceManager* _tmp2_ = NULL; + GdkDevice* _tmp3_ = NULL; + GdkModifierType _tmp4_ = 0; + gboolean ctrl = FALSE; + GdkModifierType _tmp5_ = 0; + gboolean alt = FALSE; + GdkModifierType _tmp6_ = 0; + gboolean shift = FALSE; + GdkModifierType _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 932 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), 0); +#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = gtk_widget_get_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gdk_display_get_default (); +#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = gdk_display_get_device_manager (_tmp1_); +#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = gdk_device_manager_get_client_pointer (_tmp2_); +#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gdk_window_get_device_position (_tmp0_, _tmp3_, NULL, NULL, &_tmp4_); +#line 935 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + mask = _tmp4_; +#line 938 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = mask; +#line 938 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ctrl = (_tmp5_ & GDK_CONTROL_MASK) != 0; +#line 939 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = mask; +#line 939 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + alt = (_tmp6_ & GDK_MOD1_MASK) != 0; +#line 940 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = mask; +#line 940 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + shift = (_tmp7_ & GDK_SHIFT_MASK) != 0; +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = ctrl; +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp10_) { +#line 7127 "LibraryWindow.c" + gboolean _tmp11_ = FALSE; +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = alt; +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = !_tmp11_; +#line 7133 "LibraryWindow.c" + } else { +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = FALSE; +#line 7137 "LibraryWindow.c" + } +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp9_) { +#line 7141 "LibraryWindow.c" + gboolean _tmp12_ = FALSE; +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = shift; +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = !_tmp12_; +#line 7147 "LibraryWindow.c" + } else { +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = FALSE; +#line 7151 "LibraryWindow.c" + } +#line 942 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp8_) { +#line 943 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = GDK_ACTION_COPY; +#line 943 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 7159 "LibraryWindow.c" + } else { + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = ctrl; +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp15_) { +#line 7168 "LibraryWindow.c" + gboolean _tmp16_ = FALSE; +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = alt; +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = _tmp16_; +#line 7174 "LibraryWindow.c" + } else { +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = FALSE; +#line 7178 "LibraryWindow.c" + } +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp14_) { +#line 7182 "LibraryWindow.c" + gboolean _tmp17_ = FALSE; +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = shift; +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = !_tmp17_; +#line 7188 "LibraryWindow.c" + } else { +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = FALSE; +#line 7192 "LibraryWindow.c" + } +#line 944 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp13_) { +#line 945 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = GDK_ACTION_ASK; +#line 945 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 7200 "LibraryWindow.c" + } else { + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = ctrl; +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp20_) { +#line 7209 "LibraryWindow.c" + gboolean _tmp21_ = FALSE; +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = alt; +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = !_tmp21_; +#line 7215 "LibraryWindow.c" + } else { +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = FALSE; +#line 7219 "LibraryWindow.c" + } +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp19_) { +#line 7223 "LibraryWindow.c" + gboolean _tmp22_ = FALSE; +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = shift; +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = _tmp22_; +#line 7229 "LibraryWindow.c" + } else { +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = FALSE; +#line 7233 "LibraryWindow.c" + } +#line 946 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp18_) { +#line 947 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = GDK_ACTION_LINK; +#line 947 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 7241 "LibraryWindow.c" + } else { +#line 949 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = GDK_ACTION_DEFAULT; +#line 949 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 7247 "LibraryWindow.c" + } + } + } +} + + +static gboolean library_window_real_drag_motion (GtkWidget* base, GdkDragContext* context, gint x, gint y, guint time) { + LibraryWindow * self; + gboolean result = FALSE; + GdkAtom target = 0U; + GdkDragContext* _tmp0_ = NULL; + GtkTargetList* _tmp1_ = NULL; + GdkAtom _tmp2_ = 0U; + GdkAtom _tmp3_ = 0U; + GdkDragContext* _tmp6_ = NULL; + GtkWidget* _tmp7_ = NULL; + GdkDragAction drag_action = 0; + GdkDragAction _tmp10_ = 0; + GdkDragAction _tmp11_ = 0; + GdkDragContext* _tmp12_ = NULL; + GdkDragAction _tmp13_ = 0; + guint _tmp14_ = 0U; +#line 952 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 952 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE); +#line 953 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = context; +#line 953 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gtk_drag_dest_get_target_list (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 953 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = gtk_drag_dest_find_target (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), _tmp0_, _tmp1_); +#line 953 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + target = _tmp2_; +#line 956 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = target; +#line 956 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (((gint) _tmp3_) == 0) { +#line 7286 "LibraryWindow.c" + GdkDragContext* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 957 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:957: drag target is GDK_NONE"); +#line 958 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = context; +#line 958 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = time; +#line 958 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gdk_drag_status (_tmp4_, 0, (guint32) _tmp5_); +#line 960 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 960 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 7301 "LibraryWindow.c" + } +#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = context; +#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = gtk_drag_get_source_widget (_tmp6_); +#line 964 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp7_ != NULL) { +#line 7309 "LibraryWindow.c" + GdkDragContext* _tmp8_ = NULL; + guint _tmp9_ = 0U; +#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = context; +#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = time; +#line 965 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gdk_drag_status (_tmp8_, GDK_ACTION_PRIVATE, (guint32) _tmp9_); +#line 967 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 967 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 7322 "LibraryWindow.c" + } +#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = library_window_get_drag_action (self); +#line 971 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + drag_action = _tmp10_; +#line 973 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = drag_action; +#line 973 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp11_ == GDK_ACTION_DEFAULT) { +#line 974 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + drag_action = GDK_ACTION_ASK; +#line 7334 "LibraryWindow.c" + } +#line 976 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = context; +#line 976 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = drag_action; +#line 976 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = time; +#line 976 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gdk_drag_status (_tmp12_, _tmp13_, (guint32) _tmp14_); +#line 978 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 978 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 7348 "LibraryWindow.c" +} + + +static void library_window_real_drag_data_received (GtkWidget* base, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time) { + LibraryWindow * self; + GtkSelectionData* _tmp0_ = NULL; + guchar* _tmp1_ = NULL; + GdkDragContext* _tmp2_ = NULL; + GtkWidget* _tmp3_ = NULL; +#line 981 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 981 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 981 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (selection_data != NULL); +#line 983 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = selection_data; +#line 983 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gtk_selection_data_get_data (_tmp0_); +#line 983 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (-1 < 0) { +#line 984 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:984: failed to retrieve SelectionData"); +#line 7372 "LibraryWindow.c" + } +#line 988 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = context; +#line 988 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = gtk_drag_get_source_widget (_tmp2_); +#line 988 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ == NULL) { +#line 7380 "LibraryWindow.c" + GdkDragContext* _tmp4_ = NULL; + GtkSelectionData* _tmp5_ = NULL; + guint _tmp6_ = 0U; + guint _tmp7_ = 0U; +#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = context; +#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = selection_data; +#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = info; +#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = time; +#line 989 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_external_drop_handler (self, _tmp4_, NULL, _tmp5_, _tmp6_, _tmp7_); +#line 7395 "LibraryWindow.c" + } else { + GdkDragContext* _tmp8_ = NULL; + guint _tmp9_ = 0U; +#line 991 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = context; +#line 991 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = time; +#line 991 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_drag_finish (_tmp8_, FALSE, FALSE, (guint32) _tmp9_); +#line 7405 "LibraryWindow.c" + } +} + + +static void library_window_external_drop_handler (LibraryWindow* self, GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time) { + gchar** uris_array = NULL; + GtkSelectionData* _tmp0_ = NULL; + gchar** _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint uris_array_length1 = 0; + gint _uris_array_size_ = 0; + GSList* uris = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GdkDragAction selected_action = 0; + GdkDragContext* _tmp7_ = NULL; + GdkDragAction _tmp8_ = 0; + GdkDragAction _tmp9_ = 0; + GSList* _tmp21_ = NULL; + GdkDragAction _tmp22_ = 0; + GdkDragContext* _tmp23_ = NULL; + guint _tmp24_ = 0U; +#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail ((entry == NULL) || SIDEBAR_IS_ENTRY (entry)); +#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (data != NULL); +#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = data; +#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_ = gtk_selection_data_get_uris (_tmp0_); +#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uris_array = _tmp2_; +#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uris_array_length1 = _vala_array_length (_tmp1_); +#line 996 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _uris_array_size_ = uris_array_length1; +#line 998 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uris = NULL; +#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = uris_array; +#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3__length1 = uris_array_length1; +#line 7452 "LibraryWindow.c" + { + gchar** uri_collection = NULL; + gint uri_collection_length1 = 0; + gint _uri_collection_size_ = 0; + gint uri_it = 0; +#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri_collection = _tmp3_; +#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri_collection_length1 = _tmp3__length1; +#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + for (uri_it = 0; uri_it < _tmp3__length1; uri_it = uri_it + 1) { +#line 7464 "LibraryWindow.c" + gchar* _tmp4_ = NULL; + gchar* uri = NULL; +#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = g_strdup (uri_collection[uri_it]); +#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri = _tmp4_; +#line 7471 "LibraryWindow.c" + { + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = uri; +#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 1000 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uris = g_slist_append (uris, _tmp6_); +#line 999 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (uri); +#line 7483 "LibraryWindow.c" + } + } + } +#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = context; +#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = gdk_drag_context_get_selected_action (_tmp7_); +#line 1002 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + selected_action = _tmp8_; +#line 1003 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = selected_action; +#line 1003 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp9_ == GDK_ACTION_ASK) { +#line 7497 "LibraryWindow.c" + GtkResponseType _result_ = 0; + GSList* _tmp10_ = NULL; + GtkResponseType _tmp18_ = 0; +#line 1005 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _result_ = GTK_RESPONSE_REJECT; +#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = uris; +#line 7505 "LibraryWindow.c" + { + GSList* uri_collection = NULL; + GSList* uri_it = NULL; +#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri_collection = _tmp10_; +#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + for (uri_it = uri_collection; uri_it != NULL; uri_it = uri_it->next) { +#line 7513 "LibraryWindow.c" + gchar* _tmp11_ = NULL; + gchar* uri = NULL; +#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = g_strdup ((const gchar*) uri_it->data); +#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri = _tmp11_; +#line 7520 "LibraryWindow.c" + { + const gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; +#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = uri; +#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = g_file_new_for_uri (_tmp12_); +#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = _tmp13_; +#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = app_dirs_is_in_import_dir (_tmp14_); +#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = !_tmp15_; +#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp14_); +#line 1007 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp16_) { +#line 7541 "LibraryWindow.c" + GtkResponseType _tmp17_ = 0; +#line 1008 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = copy_files_dialog (); +#line 1008 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _result_ = _tmp17_; +#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (uri); +#line 1010 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + break; +#line 7551 "LibraryWindow.c" + } +#line 1006 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (uri); +#line 7555 "LibraryWindow.c" + } + } + } +#line 1014 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = _result_; +#line 1014 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + switch (_tmp18_) { +#line 1014 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + case GTK_RESPONSE_ACCEPT: +#line 7565 "LibraryWindow.c" + { +#line 1016 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + selected_action = GDK_ACTION_COPY; +#line 1017 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + break; +#line 7571 "LibraryWindow.c" + } +#line 1014 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + case GTK_RESPONSE_REJECT: +#line 7575 "LibraryWindow.c" + { +#line 1020 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + selected_action = GDK_ACTION_LINK; +#line 1021 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + break; +#line 7581 "LibraryWindow.c" + } + default: + { + GdkDragContext* _tmp19_ = NULL; + guint _tmp20_ = 0U; +#line 1025 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = context; +#line 1025 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = time; +#line 1025 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_drag_finish (_tmp19_, FALSE, FALSE, (guint32) _tmp20_); +#line 1027 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + __g_slist_free__g_free0_0 (uris); +#line 1027 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uris_array = (_vala_array_free (uris_array, uris_array_length1, (GDestroyNotify) g_free), NULL); +#line 1027 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 7599 "LibraryWindow.c" + } + } + } +#line 1031 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = uris; +#line 1031 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = selected_action; +#line 1031 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_dispatch_import_jobs (self, _tmp21_, "drag-and-drop", _tmp22_ == GDK_ACTION_COPY); +#line 1033 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = context; +#line 1033 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = time; +#line 1033 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_drag_finish (_tmp23_, TRUE, FALSE, (guint32) _tmp24_); +#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + __g_slist_free__g_free0_0 (uris); +#line 994 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uris_array = (_vala_array_free (uris_array, uris_array_length1, (GDestroyNotify) g_free), NULL); +#line 7619 "LibraryWindow.c" +} + + +void library_window_switch_to_library_page (LibraryWindow* self) { + LibraryBranch* _tmp0_ = NULL; + LibraryPhotosEntry* _tmp1_ = NULL; + LibraryPhotosEntry* _tmp2_ = NULL; + Page* _tmp3_ = NULL; + Page* _tmp4_ = NULL; +#line 1036 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->library_branch; +#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = library_branch_get_photos_entry (_tmp0_); +#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp3_; +#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp4_); +#line 1037 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp4_); +#line 7645 "LibraryWindow.c" +} + + +void library_window_switch_to_event (LibraryWindow* self, Event* event) { + EventsEventEntry* entry = NULL; + EventsBranch* _tmp0_ = NULL; + Event* _tmp1_ = NULL; + EventsEventEntry* _tmp2_ = NULL; + EventsEventEntry* _tmp3_ = NULL; +#line 1040 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1040 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_EVENT (event)); +#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->events_branch; +#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = event; +#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = events_branch_get_entry_for_event (_tmp0_, _tmp1_); +#line 1041 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = _tmp2_; +#line 1042 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = entry; +#line 1042 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ != NULL) { +#line 7671 "LibraryWindow.c" + EventsEventEntry* _tmp4_ = NULL; + Page* _tmp5_ = NULL; + Page* _tmp6_ = NULL; +#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = entry; +#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = _tmp5_; +#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp6_); +#line 1043 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp6_); +#line 7685 "LibraryWindow.c" + } +#line 1040 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 7689 "LibraryWindow.c" +} + + +void library_window_switch_to_tag (LibraryWindow* self, Tag* tag) { + TagsSidebarEntry* entry = NULL; + TagsBranch* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + TagsSidebarEntry* _tmp2_ = NULL; + TagsSidebarEntry* _tmp3_ = NULL; +#line 1046 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1046 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_TAG (tag)); +#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->tags_branch; +#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = tag; +#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = tags_branch_get_entry_for_tag (_tmp0_, _tmp1_); +#line 1047 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = _tmp2_; +#line 1048 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = entry; +#line 1048 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ != NULL) { +#line 7715 "LibraryWindow.c" + TagsSidebarEntry* _tmp4_ = NULL; + Page* _tmp5_ = NULL; + Page* _tmp6_ = NULL; +#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = entry; +#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = _tmp5_; +#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp6_); +#line 1049 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp6_); +#line 7729 "LibraryWindow.c" + } +#line 1046 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 7733 "LibraryWindow.c" +} + + +void library_window_switch_to_saved_search (LibraryWindow* self, SavedSearch* search) { + SearchesSidebarEntry* entry = NULL; + SearchesBranch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + SearchesSidebarEntry* _tmp2_ = NULL; + SearchesSidebarEntry* _tmp3_ = NULL; +#line 1052 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1052 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 1053 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->saved_search_branch; +#line 1053 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = search; +#line 1053 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = searches_branch_get_entry_for_saved_search (_tmp0_, _tmp1_); +#line 1053 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = _tmp2_; +#line 1054 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = entry; +#line 1054 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ != NULL) { +#line 7759 "LibraryWindow.c" + SearchesSidebarEntry* _tmp4_ = NULL; + Page* _tmp5_ = NULL; + Page* _tmp6_ = NULL; +#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = entry; +#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = _tmp5_; +#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp6_); +#line 1055 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp6_); +#line 7773 "LibraryWindow.c" + } +#line 1052 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 7777 "LibraryWindow.c" +} + + +void library_window_switch_to_photo_page (LibraryWindow* self, CollectionPage* controller, Photo* current) { + CollectionPage* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + DataView* _tmp4_ = NULL; + DataView* _tmp5_ = NULL; + LibraryPhotoPage* _tmp6_ = NULL; + LibraryPhotoPage* _tmp9_ = NULL; + CollectionPage* _tmp10_ = NULL; + Photo* _tmp11_ = NULL; + LibraryPhotoPage* _tmp12_ = NULL; +#line 1058 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1058 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_COLLECTION_PAGE (controller)); +#line 1058 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PHOTO (current)); +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = controller; +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page)); +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = current; +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = view_collection_get_view_for_source (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_SOURCE, DataSource)); +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (_tmp5_ != NULL, "controller.get_view().get_view_for_source(current) != null"); +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp5_); +#line 1059 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp2_); +#line 1060 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->photo_page; +#line 1060 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp6_ == NULL) { +#line 7821 "LibraryWindow.c" + LibraryPhotoPage* _tmp7_ = NULL; + LibraryPhotoPage* _tmp8_ = NULL; +#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = library_photo_page_new (); +#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp7_); +#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->photo_page); +#line 1061 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->photo_page = _tmp7_; +#line 1062 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = self->priv->photo_page; +#line 1062 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_add_to_stack (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE, Page)); +#line 1066 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + spin_event_loop (); +#line 7838 "LibraryWindow.c" + } +#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = self->priv->photo_page; +#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = controller; +#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = current; +#line 1069 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_photo_page_display_for_collection (_tmp9_, _tmp10_, _tmp11_, NULL); +#line 1070 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = self->priv->photo_page; +#line 1070 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PAGE, Page)); +#line 7852 "LibraryWindow.c" +} + + +void library_window_switch_to_import_queue_page (LibraryWindow* self) { + LibraryBranch* _tmp0_ = NULL; + LibraryImportQueueSidebarEntry* _tmp1_ = NULL; + LibraryImportQueueSidebarEntry* _tmp2_ = NULL; + Page* _tmp3_ = NULL; + Page* _tmp4_ = NULL; +#line 1073 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->library_branch; +#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = library_branch_get_import_queue_entry (_tmp0_); +#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp3_; +#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp4_); +#line 1074 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp4_); +#line 7878 "LibraryWindow.c" +} + + +static void library_window_on_camera_added (LibraryWindow* self, DiscoveredCamera* camera) { + CameraSidebarEntry* entry = NULL; + CameraBranch* _tmp0_ = NULL; + DiscoveredCamera* _tmp1_ = NULL; + CameraSidebarEntry* _tmp2_ = NULL; + CameraSidebarEntry* _tmp3_ = NULL; + ImportPage* page = NULL; + CameraSidebarEntry* _tmp4_ = NULL; + Page* _tmp5_ = NULL; + GFile* uri_file = NULL; + DiscoveredCamera* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GMount* mount = NULL; + gboolean _tmp13_ = FALSE; + GMount* _tmp14_ = NULL; + GError * _inner_error_ = NULL; +#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_DISCOVERED_CAMERA (camera)); +#line 1078 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->camera_branch; +#line 1078 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = camera; +#line 1078 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = camera_branch_get_entry_for_camera (_tmp0_, _tmp1_); +#line 1078 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = _tmp2_; +#line 1079 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = entry; +#line 1079 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_ == NULL) { +#line 1080 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 1080 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 7919 "LibraryWindow.c" + } +#line 1082 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = entry; +#line 1082 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1082 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + page = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_IMPORT_PAGE, ImportPage); +#line 1083 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = camera; +#line 1083 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = _tmp6_->uri; +#line 1083 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = g_file_new_for_uri (_tmp7_); +#line 1083 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri_file = _tmp8_; +#line 1086 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + mount = NULL; +#line 7937 "LibraryWindow.c" + { + GMount* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; + GMount* _tmp11_ = NULL; + GMount* _tmp12_ = NULL; +#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = uri_file; +#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = g_file_find_enclosing_mount (_tmp10_, NULL, &_inner_error_); +#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = _tmp11_; +#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 7951 "LibraryWindow.c" + goto __catch39_g_error; + } +#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = _tmp9_; +#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = NULL; +#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (mount); +#line 1088 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + mount = _tmp12_; +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp9_); +#line 7964 "LibraryWindow.c" + } + goto __finally39; + __catch39_g_error: + { + GError* err = NULL; +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + err = _inner_error_; +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _inner_error_ = NULL; +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_error_free0 (err); +#line 7976 "LibraryWindow.c" + } + __finally39: +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (mount); +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (uri_file); +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (page); +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_clear_error (&_inner_error_); +#line 1087 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 7995 "LibraryWindow.c" + } +#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = mount; +#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp14_ != NULL) { +#line 8001 "LibraryWindow.c" + DiscoveredCamera* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = camera; +#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = _tmp15_->uri; +#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = g_str_has_prefix (_tmp16_, "file://"); +#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = !_tmp17_; +#line 8013 "LibraryWindow.c" + } else { +#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = FALSE; +#line 8017 "LibraryWindow.c" + } +#line 1094 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp13_) { +#line 8021 "LibraryWindow.c" + ImportPage* _tmp18_ = NULL; + GMount* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = page; +#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = mount; +#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = import_page_unmount_camera (_tmp18_, _tmp19_); +#line 1095 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp20_) { +#line 8033 "LibraryWindow.c" + ImportPage* _tmp21_ = NULL; +#line 1096 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = page; +#line 1096 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_PAGE, Page)); +#line 8039 "LibraryWindow.c" + } else { +#line 1098 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + app_window_error_message ("Unable to unmount the camera at this time.", NULL); +#line 8043 "LibraryWindow.c" + } + } else { + ImportPage* _tmp22_ = NULL; +#line 1100 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = page; +#line 1100 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_PAGE, Page)); +#line 8051 "LibraryWindow.c" + } +#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (mount); +#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (uri_file); +#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (page); +#line 1077 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 8061 "LibraryWindow.c" +} + + +void library_window_add_to_stack (LibraryWindow* self, Page* page) { + Page* _tmp0_ = NULL; + GtkStack* _tmp1_ = NULL; + Page* _tmp2_ = NULL; + GtkStack* _tmp3_ = NULL; +#line 1105 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1105 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1107 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page; +#line 1107 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->stack; +#line 1109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page; +#line 1109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 1111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->stack; +#line 1111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 8088 "LibraryWindow.c" +} + + +static void library_window_remove_from_stack (LibraryWindow* self, Page* page) { + GtkStack* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + GtkStack* _tmp2_ = NULL; +#line 1114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->stack; +#line 1115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page; +#line 1115 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 1118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->stack; +#line 1118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 8110 "LibraryWindow.c" +} + + +static void library_window_load_configuration (LibraryWindow* self) { + GtkToggleAction* basic_display_action = NULL; + GtkAction* _tmp0_ = NULL; + GtkToggleAction* _tmp1_ = NULL; + GtkToggleAction* _tmp2_ = NULL; + GtkToggleAction* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; + ConfigFacade* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + GtkToggleAction* extended_display_action = NULL; + GtkAction* _tmp7_ = NULL; + GtkToggleAction* _tmp8_ = NULL; + GtkToggleAction* _tmp9_ = NULL; + GtkToggleAction* _tmp10_ = NULL; + ConfigFacade* _tmp11_ = NULL; + ConfigFacade* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GtkToggleAction* search_bar_display_action = NULL; + GtkAction* _tmp14_ = NULL; + GtkToggleAction* _tmp15_ = NULL; + GtkToggleAction* _tmp16_ = NULL; + GtkToggleAction* _tmp17_ = NULL; + ConfigFacade* _tmp18_ = NULL; + ConfigFacade* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + GtkRadioAction* sort_events_action = NULL; + GtkAction* _tmp21_ = NULL; + GtkRadioAction* _tmp22_ = NULL; + GtkRadioAction* _tmp23_ = NULL; + gint _tmp24_ = 0; + ConfigFacade* _tmp25_ = NULL; + ConfigFacade* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; + gboolean _tmp28_ = FALSE; + gint event_sort_val = 0; + GtkRadioAction* _tmp29_ = NULL; +#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplayBasicProperties"); +#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp0_) : NULL; +#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp1_ == NULL) { +#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp0_); +#line 8160 "LibraryWindow.c" + } +#line 1123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + basic_display_action = _tmp1_; +#line 1125 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = basic_display_action; +#line 1125 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (_tmp2_ != NULL, "basic_display_action != null"); +#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = basic_display_action; +#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = config_facade_get_instance (); +#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = configuration_facade_get_display_basic_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_toggle_action_set_active (_tmp3_, _tmp6_); +#line 1126 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp5_); +#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplayExtendedProperties"); +#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp7_) : NULL; +#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp8_ == NULL) { +#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp7_); +#line 8188 "LibraryWindow.c" + } +#line 1128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + extended_display_action = _tmp8_; +#line 1130 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = extended_display_action; +#line 1130 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (_tmp9_ != NULL, "extended_display_action != null"); +#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = extended_display_action; +#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = config_facade_get_instance (); +#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = _tmp11_; +#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = configuration_facade_get_display_extended_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_toggle_action_set_active (_tmp10_, _tmp13_); +#line 1131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp12_); +#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonDisplaySearchbar"); +#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, gtk_toggle_action_get_type ()) ? ((GtkToggleAction*) _tmp14_) : NULL; +#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp15_ == NULL) { +#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp14_); +#line 8216 "LibraryWindow.c" + } +#line 1133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + search_bar_display_action = _tmp15_; +#line 1135 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = search_bar_display_action; +#line 1135 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (_tmp16_ != NULL, "search_bar_display_action != null"); +#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = search_bar_display_action; +#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = config_facade_get_instance (); +#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = _tmp18_; +#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = configuration_facade_get_display_search_bar (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_toggle_action_set_active (_tmp17_, _tmp20_); +#line 1136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp19_); +#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = app_window_get_common_action (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), "CommonSortEventsAscending"); +#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp21_, gtk_radio_action_get_type ()) ? ((GtkRadioAction*) _tmp21_) : NULL; +#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp22_ == NULL) { +#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp21_); +#line 8244 "LibraryWindow.c" + } +#line 1138 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sort_events_action = _tmp22_; +#line 1140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = sort_events_action; +#line 1140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (_tmp23_ != NULL, "sort_events_action != null"); +#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = config_facade_get_instance (); +#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = _tmp25_; +#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = configuration_facade_get_events_sort_ascending (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = _tmp27_; +#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp26_); +#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp28_) { +#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = LIBRARY_WINDOW_SORT_EVENTS_ORDER_ASCENDING; +#line 8266 "LibraryWindow.c" + } else { +#line 1146 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = LIBRARY_WINDOW_SORT_EVENTS_ORDER_DESCENDING; +#line 8270 "LibraryWindow.c" + } +#line 1145 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + event_sort_val = _tmp24_; +#line 1148 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = sort_events_action; +#line 1148 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_radio_action_set_current_value (_tmp29_, event_sort_val); +#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (sort_events_action); +#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (search_bar_display_action); +#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (extended_display_action); +#line 1122 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (basic_display_action); +#line 8286 "LibraryWindow.c" +} + + +static gboolean _library_window_on_pulse_background_progress_bar_gsource_func (gpointer self) { + gboolean result; + result = library_window_on_pulse_background_progress_bar ((LibraryWindow*) self); +#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 8295 "LibraryWindow.c" +} + + +static void library_window_start_pulse_background_progress_bar (LibraryWindow* self, const gchar* label, gint priority) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + GtkProgressBar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GtkProgressBar* _tmp6_ = NULL; + guint _tmp7_ = 0U; +#line 1151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1151 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (label != NULL); +#line 1152 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = priority; +#line 1152 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->current_progress_priority; +#line 1152 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_ < _tmp1_) { +#line 1153 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 8320 "LibraryWindow.c" + } +#line 1155 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = priority; +#line 1155 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_stop_pulse_background_progress_bar (self, _tmp2_, FALSE); +#line 1157 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = priority; +#line 1157 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->current_progress_priority = _tmp3_; +#line 1159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->background_progress_bar; +#line 1159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = label; +#line 1159 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_progress_bar_set_text (_tmp4_, _tmp5_); +#line 1160 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->background_progress_bar; +#line 1160 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_progress_bar_pulse (_tmp6_); +#line 1161 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_show_background_progress_bar (self); +#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) LIBRARY_WINDOW_BACKGROUND_PROGRESS_PULSE_MSEC, _library_window_on_pulse_background_progress_bar_gsource_func, g_object_ref (self), g_object_unref); +#line 1163 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->background_progress_pulse_id = _tmp7_; +#line 8346 "LibraryWindow.c" +} + + +static gboolean library_window_on_pulse_background_progress_bar (LibraryWindow* self) { + gboolean result = FALSE; + GtkProgressBar* _tmp0_ = NULL; +#line 1167 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE); +#line 1168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->background_progress_bar; +#line 1168 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_progress_bar_pulse (_tmp0_); +#line 1170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 1170 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 8363 "LibraryWindow.c" +} + + +static void library_window_stop_pulse_background_progress_bar (LibraryWindow* self, gint priority, gboolean clear) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + guint _tmp2_ = 0U; + gboolean _tmp4_ = FALSE; +#line 1173 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = priority; +#line 1174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->current_progress_priority; +#line 1174 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_ < _tmp1_) { +#line 1175 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 8382 "LibraryWindow.c" + } +#line 1177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->background_progress_pulse_id; +#line 1177 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_ != ((guint) 0)) { +#line 8388 "LibraryWindow.c" + guint _tmp3_ = 0U; +#line 1178 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->background_progress_pulse_id; +#line 1178 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_source_remove (_tmp3_); +#line 1179 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->background_progress_pulse_id = (guint) 0; +#line 8396 "LibraryWindow.c" + } +#line 1182 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = clear; +#line 1182 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp4_) { +#line 8402 "LibraryWindow.c" + gint _tmp5_ = 0; +#line 1183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = priority; +#line 1183 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_clear_background_progress_bar (self, _tmp5_); +#line 8408 "LibraryWindow.c" + } +} + + +static void library_window_update_background_progress_bar (LibraryWindow* self, const gchar* label, gint priority, gdouble count, gdouble total) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gdouble _tmp5_ = 0.0; + gint _tmp10_ = 0; + gdouble fraction = 0.0; + gdouble _tmp11_ = 0.0; + gdouble _tmp12_ = 0.0; + GtkProgressBar* _tmp13_ = NULL; + gdouble _tmp14_ = 0.0; + GtkProgressBar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gdouble _tmp18_ = 0.0; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 1186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1186 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (label != NULL); +#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = priority; +#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->current_progress_priority; +#line 1188 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_ < _tmp1_) { +#line 1189 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 8444 "LibraryWindow.c" + } +#line 1191 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = priority; +#line 1191 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_stop_pulse_background_progress_bar (self, _tmp2_, FALSE); +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = count; +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp5_ <= 0.0) { +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = TRUE; +#line 8456 "LibraryWindow.c" + } else { + gdouble _tmp6_ = 0.0; +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = total; +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp6_ <= 0.0; +#line 8463 "LibraryWindow.c" + } +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp4_) { +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = TRUE; +#line 8469 "LibraryWindow.c" + } else { + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = count; +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = total; +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp7_ >= _tmp8_; +#line 8479 "LibraryWindow.c" + } +#line 1193 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_) { +#line 8483 "LibraryWindow.c" + gint _tmp9_ = 0; +#line 1194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = priority; +#line 1194 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_clear_background_progress_bar (self, _tmp9_); +#line 1196 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 8491 "LibraryWindow.c" + } +#line 1199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = priority; +#line 1199 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->current_progress_priority = _tmp10_; +#line 1201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = count; +#line 1201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = total; +#line 1201 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + fraction = _tmp11_ / _tmp12_; +#line 1202 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = self->priv->background_progress_bar; +#line 1202 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = fraction; +#line 1202 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_progress_bar_set_fraction (_tmp13_, _tmp14_); +#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = self->priv->background_progress_bar; +#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = _ ("%s (%d%%)"); +#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = label; +#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = fraction; +#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = g_strdup_printf (_tmp16_, _tmp17_, (gint) (_tmp18_ * 100.0)); +#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = _tmp19_; +#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_progress_bar_set_text (_tmp15_, _tmp20_); +#line 1203 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp20_); +#line 1204 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_show_background_progress_bar (self); +#line 8527 "LibraryWindow.c" +} + + +static void library_window_clear_background_progress_bar (LibraryWindow* self, gint priority) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GtkProgressBar* _tmp3_ = NULL; + GtkProgressBar* _tmp4_ = NULL; +#line 1213 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1214 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = priority; +#line 1214 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->current_progress_priority; +#line 1214 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_ < _tmp1_) { +#line 1215 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 8547 "LibraryWindow.c" + } +#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = priority; +#line 1217 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_stop_pulse_background_progress_bar (self, _tmp2_, FALSE); +#line 1219 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->current_progress_priority = 0; +#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->background_progress_bar; +#line 1221 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_progress_bar_set_fraction (_tmp3_, 0.0); +#line 1222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->background_progress_bar; +#line 1222 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_progress_bar_set_text (_tmp4_, ""); +#line 1223 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_hide_background_progress_bar (self); +#line 8565 "LibraryWindow.c" +} + + +static void library_window_show_background_progress_bar (LibraryWindow* self) { + gboolean _tmp0_ = FALSE; +#line 1231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->background_progress_displayed; +#line 1232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp0_) { +#line 8577 "LibraryWindow.c" + GtkBox* _tmp1_ = NULL; + GtkFrame* _tmp2_ = NULL; + GtkFrame* _tmp3_ = NULL; +#line 1233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->top_section; +#line 1233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->background_progress_frame; +#line 1233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_box_pack_end (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->background_progress_frame; +#line 1234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 1235 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->background_progress_displayed = TRUE; +#line 8593 "LibraryWindow.c" + } +} + + +static void library_window_hide_background_progress_bar (LibraryWindow* self) { + gboolean _tmp0_ = FALSE; +#line 1239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1240 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->background_progress_displayed; +#line 1240 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_) { +#line 8606 "LibraryWindow.c" + GtkBox* _tmp1_ = NULL; + GtkFrame* _tmp2_ = NULL; +#line 1241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->top_section; +#line 1241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->background_progress_frame; +#line 1241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 1242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->background_progress_displayed = FALSE; +#line 8617 "LibraryWindow.c" + } +} + + +static void library_window_on_library_monitor_discovery_started (LibraryWindow* self) { + const gchar* _tmp0_ = NULL; +#line 1246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1247 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = _ ("Updating library..."); +#line 1247 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_start_pulse_background_progress_bar (self, _tmp0_, LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY); +#line 8630 "LibraryWindow.c" +} + + +static void library_window_on_library_monitor_discovery_completed (LibraryWindow* self) { +#line 1250 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1251 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_stop_pulse_background_progress_bar (self, LIBRARY_WINDOW_STARTUP_SCAN_PROGRESS_PRIORITY, TRUE); +#line 8639 "LibraryWindow.c" +} + + +static void library_window_on_library_monitor_auto_update_progress (LibraryWindow* self, gint completed_files, gint total_files) { + gint _tmp0_ = 0; +#line 1254 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = total_files; +#line 1255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_ < LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES) { +#line 1256 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_clear_background_progress_bar (self, LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY); +#line 8653 "LibraryWindow.c" + } else { + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _ ("Updating library..."); +#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = completed_files; +#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = total_files; +#line 1258 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_update_background_progress_bar (self, _tmp1_, LIBRARY_WINDOW_REALTIME_UPDATE_PROGRESS_PRIORITY, (gdouble) _tmp2_, (gdouble) _tmp3_); +#line 8666 "LibraryWindow.c" + } +} + + +static void library_window_on_library_monitor_auto_import_preparing (LibraryWindow* self) { + const gchar* _tmp0_ = NULL; +#line 1263 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = _ ("Preparing to auto-import photos..."); +#line 1264 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_start_pulse_background_progress_bar (self, _tmp0_, LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY); +#line 8679 "LibraryWindow.c" +} + + +static void library_window_on_library_monitor_auto_import_progress (LibraryWindow* self, guint64 completed_bytes, guint64 total_bytes) { + const gchar* _tmp0_ = NULL; + guint64 _tmp1_ = 0ULL; + guint64 _tmp2_ = 0ULL; +#line 1268 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = _ ("Auto-importing photos..."); +#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = completed_bytes; +#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = total_bytes; +#line 1269 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_update_background_progress_bar (self, _tmp0_, LIBRARY_WINDOW_REALTIME_IMPORT_PROGRESS_PRIORITY, (gdouble) _tmp1_, (gdouble) _tmp2_); +#line 8697 "LibraryWindow.c" +} + + +static void library_window_on_metadata_writer_progress (LibraryWindow* self, guint completed, guint total) { + guint _tmp0_ = 0U; +#line 1273 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = total; +#line 1274 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_ < ((guint) LIBRARY_WINDOW_MIN_PROGRESS_BAR_FILES)) { +#line 1275 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_clear_background_progress_bar (self, LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY); +#line 8711 "LibraryWindow.c" + } else { + const gchar* _tmp1_ = NULL; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; +#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _ ("Writing metadata to files..."); +#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = completed; +#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = total; +#line 1277 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_update_background_progress_bar (self, _tmp1_, LIBRARY_WINDOW_METADATA_WRITER_PROGRESS_PRIORITY, (gdouble) _tmp2_, (gdouble) _tmp3_); +#line 8724 "LibraryWindow.c" + } +} + + +static void library_window_create_layout (LibraryWindow* self, Page* start_page) { + GtkScrolledWindow* scrolled_sidebar = NULL; + GtkScrolledWindow* _tmp0_ = NULL; + SidebarTree* _tmp1_ = NULL; + GtkFrame* _tmp2_ = NULL; + GtkFrame* _tmp3_ = NULL; + GtkProgressBar* _tmp4_ = NULL; + GtkFrame* _tmp5_ = NULL; + GtkStyleContext* _tmp6_ = NULL; + GtkAlignment* bottom_alignment = NULL; + GtkAlignment* _tmp7_ = NULL; + BasicProperties* _tmp8_ = NULL; + GtkFrame* _tmp9_ = NULL; + GtkFrame* _tmp10_ = NULL; + GtkStyleContext* _tmp11_ = NULL; + GtkBox* _tmp12_ = NULL; + GtkPaned* _tmp13_ = NULL; + GtkBox* _tmp14_ = NULL; + GtkPaned* _tmp15_ = NULL; + GtkFrame* _tmp16_ = NULL; + GtkPaned* _tmp17_ = NULL; + GtkBox* _tmp18_ = NULL; + GtkBox* _tmp19_ = NULL; + SearchFilterToolbar* _tmp20_ = NULL; + GtkBox* _tmp21_ = NULL; + GtkStack* _tmp22_ = NULL; + GtkPaned* _tmp23_ = NULL; + GtkPaned* _tmp24_ = NULL; + GtkPaned* _tmp25_ = NULL; + SidebarTree* _tmp26_ = NULL; + GtkPaned* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; + GtkPaned* _tmp29_ = NULL; + ConfigFacade* _tmp30_ = NULL; + ConfigFacade* _tmp31_ = NULL; + gint _tmp32_ = 0; + GtkStack* _tmp33_ = NULL; + gint _tmp34_ = 0; + gint _tmp35_ = 0; + GtkBox* _tmp36_ = NULL; + GtkPaned* _tmp37_ = NULL; + GtkBox* _tmp38_ = NULL; + Page* _tmp39_ = NULL; + Page* _tmp40_ = NULL; +#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (start_page)); +#line 1285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL); +#line 1285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp0_); +#line 1285 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + scrolled_sidebar = _tmp0_; +#line 1286 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_scrolled_window_set_policy (scrolled_sidebar, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); +#line 1287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->sidebar_tree; +#line 1287 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (scrolled_sidebar, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 1289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->background_progress_frame; +#line 1289 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_container_get_type (), GtkContainer), (guint) 2); +#line 1290 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->background_progress_frame; +#line 1290 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->background_progress_bar; +#line 1290 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 1291 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = self->priv->background_progress_frame; +#line 1291 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 1291 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_style_context_remove_class (_tmp6_, "frame"); +#line 1294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, 0.5f, (gfloat) 1, (gfloat) 0); +#line 1294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp7_); +#line 1294 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + bottom_alignment = _tmp7_; +#line 1296 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_alignment_set_padding (bottom_alignment, (guint) 10, (guint) 10, (guint) 6, (guint) 0); +#line 1297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = self->priv->basic_properties; +#line 1297 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (bottom_alignment, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget)); +#line 1299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = self->priv->bottom_frame; +#line 1299 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (bottom_alignment, gtk_widget_get_type (), GtkWidget)); +#line 1300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = self->priv->bottom_frame; +#line 1300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget)); +#line 1300 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_style_context_remove_class (_tmp11_, "frame"); +#line 1304 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = self->priv->top_section; +#line 1304 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_box_pack_start (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (scrolled_sidebar, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = self->priv->sidebar_paned; +#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = self->priv->top_section; +#line 1306 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_paned_pack1 (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE); +#line 1307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = self->priv->sidebar_paned; +#line 1307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = self->priv->bottom_frame; +#line 1307 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_paned_pack2 (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE); +#line 1308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = self->priv->sidebar_paned; +#line 1308 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_paned_set_position (_tmp17_, 1000); +#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp18_); +#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->right_vbox); +#line 1310 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->right_vbox = _tmp18_; +#line 1311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = self->priv->right_vbox; +#line 1311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = self->priv->search_toolbar; +#line 1311 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_box_pack_start (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 1312 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = self->priv->right_vbox; +#line 1312 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = self->priv->stack; +#line 1312 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_box_pack_start (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); +#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp23_); +#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->client_paned); +#line 1314 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->client_paned = _tmp23_; +#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = self->priv->client_paned; +#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = self->priv->sidebar_paned; +#line 1315 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_paned_pack1 (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE); +#line 1316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = self->priv->sidebar_tree; +#line 1316 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget), LIBRARY_WINDOW_SIDEBAR_MIN_WIDTH, -1); +#line 1317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = self->priv->client_paned; +#line 1317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = self->priv->right_vbox; +#line 1317 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_paned_pack2 (_tmp27_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), TRUE, FALSE); +#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = self->priv->client_paned; +#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp30_ = config_facade_get_instance (); +#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_ = _tmp30_; +#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32_ = configuration_facade_get_sidebar_position (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_paned_set_position (_tmp29_, _tmp32_); +#line 1318 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp31_); +#line 1320 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp33_ = self->priv->stack; +#line 1320 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_ = library_window_get_PAGE_MIN_WIDTH (); +#line 1320 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp35_ = _tmp34_; +#line 1320 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget), _tmp35_, -1); +#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp36_ = self->priv->layout; +#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp37_ = self->priv->client_paned; +#line 1322 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_box_pack_end (_tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 1324 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_ = self->priv->layout; +#line 1324 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget)); +#line 1326 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp39_ = start_page; +#line 1326 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp39_); +#line 1327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp40_ = start_page; +#line 1327 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_grab_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, gtk_widget_get_type (), GtkWidget)); +#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (bottom_alignment); +#line 1282 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (scrolled_sidebar); +#line 8933 "LibraryWindow.c" +} + + +static void library_window_real_set_current_page (PageWindow* base, Page* page) { + LibraryWindow * self; + Page* _tmp0_ = NULL; +#line 1330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 1330 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page; +#line 1332 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp0_); +#line 8948 "LibraryWindow.c" +} + + +void library_window_set_page_switching_enabled (LibraryWindow* self, gboolean should_enable) { + gboolean _tmp0_ = FALSE; +#line 1335 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = should_enable; +#line 1336 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->page_switching_enabled = _tmp0_; +#line 8960 "LibraryWindow.c" +} + + +void library_window_switch_to_page (LibraryWindow* self, Page* page) { + gboolean _tmp0_ = FALSE; + Page* _tmp1_ = NULL; + Page* _tmp2_ = NULL; + Page* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + Page* current_page = NULL; + Page* _tmp5_ = NULL; + Page* _tmp6_ = NULL; + GtkStack* _tmp16_ = NULL; + Page* _tmp17_ = NULL; + Page* _tmp18_ = NULL; + Page* _tmp19_ = NULL; + gboolean _tmp21_ = FALSE; + Page* _tmp22_ = NULL; + SidebarEntry* entry = NULL; + GeeHashMap* _tmp23_ = NULL; + Page* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + SidebarEntry* _tmp26_ = NULL; + Page* _tmp37_ = NULL; + Page* _tmp39_ = NULL; + Page* _tmp40_ = NULL; + Page* _tmp41_ = NULL; + Page* _tmp42_ = NULL; + GtkToolbar* toolbar = NULL; + Page* _tmp43_ = NULL; + GtkToolbar* _tmp44_ = NULL; + GtkToolbar* _tmp45_ = NULL; + Page* _tmp51_ = NULL; +#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->page_switching_enabled; +#line 1340 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp0_) { +#line 1341 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 9004 "LibraryWindow.c" + } +#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page; +#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp1_ == _tmp3_; +#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp3_); +#line 1343 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp4_) { +#line 1344 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 9020 "LibraryWindow.c" + } +#line 1346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 1346 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + current_page = _tmp5_; +#line 1347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = current_page; +#line 1347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp6_ != NULL) { +#line 9030 "LibraryWindow.c" + GtkToolbar* toolbar = NULL; + Page* _tmp7_ = NULL; + GtkToolbar* _tmp8_ = NULL; + GtkToolbar* _tmp9_ = NULL; + Page* _tmp12_ = NULL; + Page* _tmp13_ = NULL; + Page* _tmp15_ = NULL; +#line 1348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = current_page; +#line 1348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = page_get_toolbar (_tmp7_); +#line 1348 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + toolbar = _tmp8_; +#line 1349 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = toolbar; +#line 1349 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp9_ != NULL) { +#line 9048 "LibraryWindow.c" + GtkBox* _tmp10_ = NULL; + GtkToolbar* _tmp11_ = NULL; +#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = self->priv->right_vbox; +#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = toolbar; +#line 1350 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget)); +#line 9057 "LibraryWindow.c" + } +#line 1352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = current_page; +#line 1352 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + page_switching_from (_tmp12_); +#line 1356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = current_page; +#line 1356 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, TYPE_LIBRARY_PHOTO_PAGE)) { +#line 9067 "LibraryWindow.c" + SidebarTree* _tmp14_ = NULL; +#line 1357 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = self->priv->sidebar_tree; +#line 1357 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_enable_editing (_tmp14_); +#line 9073 "LibraryWindow.c" + } +#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = current_page; +#line 1360 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_unsubscribe_from_basic_information (self, _tmp15_); +#line 1347 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (toolbar); +#line 9081 "LibraryWindow.c" + } +#line 1363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = self->priv->stack; +#line 1363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = page; +#line 1363 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_stack_set_visible_child (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget)); +#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = page; +#line 1367 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + PAGE_WINDOW_CLASS (library_window_parent_class)->set_current_page (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), TYPE_PAGE_WINDOW, PageWindow), _tmp18_); +#line 1373 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = page; +#line 1373 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_LIBRARY_PHOTO_PAGE)) { +#line 9097 "LibraryWindow.c" + SidebarTree* _tmp20_ = NULL; +#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = self->priv->sidebar_tree; +#line 1374 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_disable_editing (_tmp20_); +#line 9103 "LibraryWindow.c" + } +#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = library_window_should_show_search_bar (self); +#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = page; +#line 1377 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_toggle_search_bar (self, _tmp21_, G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) _tmp22_) : NULL); +#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = self->priv->page_map; +#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = page; +#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_); +#line 1380 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + entry = (SidebarEntry*) _tmp25_; +#line 1381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = entry; +#line 1381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp26_ != NULL) { +#line 9123 "LibraryWindow.c" + SidebarExpandableEntry* expandable_entry = NULL; + SidebarEntry* _tmp27_ = NULL; + SidebarExpandableEntry* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; + SidebarExpandableEntry* _tmp30_ = NULL; + SidebarTree* _tmp35_ = NULL; + SidebarEntry* _tmp36_ = NULL; +#line 1384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = entry; +#line 1384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, SIDEBAR_TYPE_EXPANDABLE_ENTRY) ? ((SidebarExpandableEntry*) _tmp27_) : NULL); +#line 1384 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + expandable_entry = _tmp28_; +#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp30_ = expandable_entry; +#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp30_ != NULL) { +#line 9141 "LibraryWindow.c" + SidebarExpandableEntry* _tmp31_ = NULL; + gboolean _tmp32_ = FALSE; +#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_ = expandable_entry; +#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32_ = sidebar_expandable_entry_expand_on_select (_tmp31_); +#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = _tmp32_; +#line 9150 "LibraryWindow.c" + } else { +#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = FALSE; +#line 9154 "LibraryWindow.c" + } +#line 1385 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp29_) { +#line 9158 "LibraryWindow.c" + SidebarTree* _tmp33_ = NULL; + SidebarEntry* _tmp34_ = NULL; +#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp33_ = self->priv->sidebar_tree; +#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_ = entry; +#line 1386 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_expand_to_entry (_tmp33_, _tmp34_); +#line 9167 "LibraryWindow.c" + } +#line 1388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp35_ = self->priv->sidebar_tree; +#line 1388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp36_ = entry; +#line 1388 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + sidebar_tree_place_cursor (_tmp35_, _tmp36_, TRUE); +#line 1381 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (expandable_entry); +#line 9177 "LibraryWindow.c" + } +#line 1391 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_update_properties (self); +#line 1393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp37_ = page; +#line 1393 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp37_, TYPE_CHECKERBOARD_PAGE)) { +#line 9185 "LibraryWindow.c" + Page* _tmp38_ = NULL; +#line 1394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_ = page; +#line 1394 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_init_view_filter (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, TYPE_CHECKERBOARD_PAGE, CheckerboardPage)); +#line 9191 "LibraryWindow.c" + } +#line 1396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp39_ = page; +#line 1396 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_widget_get_type (), GtkWidget)); +#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp40_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp41_ = _tmp40_; +#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_subscribe_for_basic_information (self, _tmp41_); +#line 1399 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp41_); +#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp42_ = page; +#line 1401 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + page_switched_to (_tmp42_); +#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp43_ = page; +#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp44_ = page_get_toolbar (_tmp43_); +#line 1403 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + toolbar = _tmp44_; +#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp45_ = toolbar; +#line 1404 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp45_ != NULL) { +#line 9219 "LibraryWindow.c" + GtkBox* _tmp46_ = NULL; + GtkToolbar* _tmp47_ = NULL; + GtkToolbar* _tmp48_ = NULL; + GtkToolbar* _tmp49_ = NULL; + gboolean _tmp50_ = FALSE; +#line 1405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp46_ = self->priv->right_vbox; +#line 1405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp47_ = toolbar; +#line 1405 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, gtk_widget_get_type (), GtkWidget)); +#line 1406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp48_ = toolbar; +#line 1406 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_widget_get_type (), GtkWidget)); +#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp49_ = toolbar; +#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp50_ = library_window_is_toolbar_visible (self); +#line 1407 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_widget_get_type (), GtkWidget), _tmp50_); +#line 9241 "LibraryWindow.c" + } +#line 1410 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp51_ = page; +#line 1410 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + page_ready (_tmp51_); +#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (toolbar); +#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (entry); +#line 1339 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (current_page); +#line 9253 "LibraryWindow.c" +} + + +static void library_window_init_view_filter (LibraryWindow* self, CheckerboardPage* page) { + SearchFilterToolbar* _tmp0_ = NULL; + CheckerboardPage* _tmp1_ = NULL; + SearchViewFilter* _tmp2_ = NULL; + SearchViewFilter* _tmp3_ = NULL; + CheckerboardPage* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + CheckerboardPage* _tmp7_ = NULL; + SearchViewFilter* _tmp8_ = NULL; + SearchViewFilter* _tmp9_ = NULL; +#line 1413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1413 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_CHECKERBOARD_PAGE (page)); +#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->search_toolbar; +#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page; +#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = checkerboard_page_get_search_view_filter (_tmp1_); +#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp2_; +#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + search_filter_toolbar_set_view_filter (_tmp0_, _tmp3_); +#line 1414 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _view_filter_unref0 (_tmp3_); +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = page; +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PAGE, Page)); +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = _tmp5_; +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = page; +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = checkerboard_page_get_search_view_filter (_tmp7_); +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = _tmp8_; +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view_collection_install_view_filter (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_VIEW_FILTER, ViewFilter)); +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _view_filter_unref0 (_tmp9_); +#line 1415 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp6_); +#line 9302 "LibraryWindow.c" +} + + +static gboolean library_window_should_show_search_bar (LibraryWindow* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + Page* _tmp1_ = NULL; + Page* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 1418 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_LIBRARY_WINDOW (self), FALSE); +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, TYPE_CHECKERBOARD_PAGE); +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_) { +#line 9324 "LibraryWindow.c" + gboolean _tmp4_ = FALSE; +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->is_search_toolbar_visible; +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = _tmp4_; +#line 9330 "LibraryWindow.c" + } else { +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = FALSE; +#line 9334 "LibraryWindow.c" + } +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp0_; +#line 1419 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 9340 "LibraryWindow.c" +} + + +static void library_window_toggle_search_bar (LibraryWindow* self, gboolean show, CheckerboardPage* page) { + SearchFilterToolbar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 1423 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1423 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail ((page == NULL) || IS_CHECKERBOARD_PAGE (page)); +#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->search_toolbar; +#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = show; +#line 1424 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gtk_revealer_set_reveal_child (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_revealer_get_type (), GtkRevealer), _tmp1_); +#line 1425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = show; +#line 1425 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_) { +#line 9362 "LibraryWindow.c" + CheckerboardPage* _tmp3_ = NULL; + SearchFilterToolbar* _tmp4_ = NULL; + CheckerboardPage* _tmp5_ = NULL; + SearchViewFilter* _tmp6_ = NULL; + SearchViewFilter* _tmp7_ = NULL; + CheckerboardPage* _tmp8_ = NULL; + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + CheckerboardPage* _tmp11_ = NULL; + SearchViewFilter* _tmp12_ = NULL; + SearchViewFilter* _tmp13_ = NULL; +#line 1426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = page; +#line 1426 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (NULL != _tmp3_, "null != page"); +#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->search_toolbar; +#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = page; +#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = checkerboard_page_get_search_view_filter (_tmp5_); +#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = _tmp6_; +#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + search_filter_toolbar_set_view_filter (_tmp4_, _tmp7_); +#line 1427 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _view_filter_unref0 (_tmp7_); +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = page; +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_PAGE, Page)); +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = _tmp9_; +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = page; +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = checkerboard_page_get_search_view_filter (_tmp11_); +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = _tmp12_; +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view_collection_install_view_filter (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, TYPE_VIEW_FILTER, ViewFilter)); +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _view_filter_unref0 (_tmp13_); +#line 1428 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp10_); +#line 9408 "LibraryWindow.c" + } else { + CheckerboardPage* _tmp14_ = NULL; +#line 1430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = page; +#line 1430 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp14_ != NULL) { +#line 9415 "LibraryWindow.c" + CheckerboardPage* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + ViewCollection* _tmp17_ = NULL; + DisabledViewFilter* _tmp18_ = NULL; + DisabledViewFilter* _tmp19_ = NULL; +#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = page; +#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PAGE, Page)); +#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = _tmp16_; +#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = disabled_view_filter_new (); +#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = _tmp18_; +#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view_collection_install_view_filter (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_VIEW_FILTER, ViewFilter)); +#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _view_filter_unref0 (_tmp19_); +#line 1431 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (_tmp17_); +#line 9437 "LibraryWindow.c" + } + } +} + + +static void library_window_on_page_created (LibraryWindow* self, SidebarPageRepresentative* entry, Page* page) { + GeeHashMap* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashMap* _tmp3_ = NULL; + Page* _tmp4_ = NULL; + SidebarPageRepresentative* _tmp5_ = NULL; + Page* _tmp6_ = NULL; +#line 1435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (entry)); +#line 1435 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->page_map; +#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page; +#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 1436 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (!_tmp2_, "!page_map.has_key(page)"); +#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->page_map; +#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = page; +#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = entry; +#line 1437 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 1439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = page; +#line 1439 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_add_to_stack (self, _tmp6_); +#line 9477 "LibraryWindow.c" +} + + +static void library_window_on_destroying_page (LibraryWindow* self, SidebarPageRepresentative* entry, Page* page) { + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + Page* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + Page* _tmp9_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp10_ = NULL; + Page* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 1442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (entry)); +#line 1442 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page; +#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _tmp0_ == _tmp2_; +#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp2_); +#line 1444 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp3_) { +#line 9509 "LibraryWindow.c" + LibraryBranch* _tmp4_ = NULL; + LibraryPhotosEntry* _tmp5_ = NULL; + LibraryPhotosEntry* _tmp6_ = NULL; + Page* _tmp7_ = NULL; + Page* _tmp8_ = NULL; +#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->library_branch; +#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = library_branch_get_photos_entry (_tmp4_); +#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = _tmp5_; +#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _tmp7_; +#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp8_); +#line 1445 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp8_); +#line 9529 "LibraryWindow.c" + } +#line 1447 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = page; +#line 1447 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_remove_from_stack (self, _tmp9_); +#line 1449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = self->priv->page_map; +#line 1449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = page; +#line 1449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp11_, NULL); +#line 1449 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + removed = _tmp12_; +#line 1450 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _vala_assert (removed, "removed"); +#line 9545 "LibraryWindow.c" +} + + +static void library_window_on_sidebar_entry_selected (LibraryWindow* self, SidebarSelectableEntry* selectable) { + SidebarPageRepresentative* page_rep = NULL; + SidebarSelectableEntry* _tmp0_ = NULL; + SidebarPageRepresentative* _tmp1_ = NULL; + SidebarPageRepresentative* _tmp2_ = NULL; +#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (SIDEBAR_IS_SELECTABLE_ENTRY (selectable)); +#line 1454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = selectable; +#line 1454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE) ? ((SidebarPageRepresentative*) _tmp0_) : NULL); +#line 1454 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + page_rep = _tmp1_; +#line 1455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = page_rep; +#line 1455 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_ != NULL) { +#line 9568 "LibraryWindow.c" + SidebarPageRepresentative* _tmp3_ = NULL; + Page* _tmp4_ = NULL; + Page* _tmp5_ = NULL; +#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = page_rep; +#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = sidebar_page_representative_get_page (_tmp3_); +#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp5_); +#line 1456 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp5_); +#line 9582 "LibraryWindow.c" + } +#line 1453 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (page_rep); +#line 9586 "LibraryWindow.c" +} + + +static void library_window_on_sidebar_selected_entry_removed (LibraryWindow* self, SidebarSelectableEntry* selectable) { + LibraryLastImportSidebarEntry* last_import_entry = NULL; + LibraryBranch* _tmp0_ = NULL; + LibraryLastImportSidebarEntry* _tmp1_ = NULL; + LibraryLastImportSidebarEntry* _tmp2_ = NULL; + LibraryLastImportSidebarEntry* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + SidebarSelectableEntry* _tmp5_ = NULL; + gboolean _tmp12_ = FALSE; + SidebarSelectableEntry* _tmp13_ = NULL; + gboolean _tmp21_ = FALSE; + SidebarSelectableEntry* _tmp22_ = NULL; + LibraryBranch* _tmp30_ = NULL; + LibraryPhotosEntry* _tmp31_ = NULL; + LibraryPhotosEntry* _tmp32_ = NULL; + Page* _tmp33_ = NULL; + Page* _tmp34_ = NULL; +#line 1459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (SIDEBAR_IS_SELECTABLE_ENTRY (selectable)); +#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->library_branch; +#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = library_branch_get_last_imported_entry (_tmp0_); +#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 1463 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + last_import_entry = _tmp3_; +#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = selectable; +#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, LIBRARY_TYPE_IMPORT_QUEUE_SIDEBAR_ENTRY)) { +#line 9625 "LibraryWindow.c" + LibraryLastImportSidebarEntry* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = last_import_entry; +#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = library_hideable_page_entry_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry)); +#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _tmp7_; +#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp8_; +#line 9637 "LibraryWindow.c" + } else { +#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = FALSE; +#line 9641 "LibraryWindow.c" + } +#line 1466 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp4_) { +#line 9645 "LibraryWindow.c" + LibraryLastImportSidebarEntry* _tmp9_ = NULL; + Page* _tmp10_ = NULL; + Page* _tmp11_ = NULL; +#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = last_import_entry; +#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = _tmp10_; +#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp11_); +#line 1467 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp11_); +#line 1469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (last_import_entry); +#line 1469 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 9663 "LibraryWindow.c" + } +#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = selectable; +#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, EVENTS_TYPE_EVENT_ENTRY)) { +#line 9669 "LibraryWindow.c" + EventsBranch* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = self->priv->events_branch; +#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = sidebar_branch_get_show_branch (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = _tmp15_; +#line 9678 "LibraryWindow.c" + } else { +#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = FALSE; +#line 9682 "LibraryWindow.c" + } +#line 1473 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp12_) { +#line 9686 "LibraryWindow.c" + EventsBranch* _tmp16_ = NULL; + EventsMasterDirectoryEntry* _tmp17_ = NULL; + EventsMasterDirectoryEntry* _tmp18_ = NULL; + Page* _tmp19_ = NULL; + Page* _tmp20_ = NULL; +#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = self->priv->events_branch; +#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = events_branch_get_master_entry (_tmp16_); +#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = _tmp17_; +#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = _tmp19_; +#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp20_); +#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp20_); +#line 1474 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp18_); +#line 1476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (last_import_entry); +#line 1476 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 9712 "LibraryWindow.c" + } +#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = selectable; +#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp22_, EVENTS_TYPE_DIRECTORY_ENTRY)) { +#line 9718 "LibraryWindow.c" + EventsBranch* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = self->priv->events_branch; +#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = sidebar_branch_get_show_branch (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = _tmp24_; +#line 9727 "LibraryWindow.c" + } else { +#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = FALSE; +#line 9731 "LibraryWindow.c" + } +#line 1480 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp21_) { +#line 9735 "LibraryWindow.c" + EventsBranch* _tmp25_ = NULL; + EventsMasterDirectoryEntry* _tmp26_ = NULL; + EventsMasterDirectoryEntry* _tmp27_ = NULL; + Page* _tmp28_ = NULL; + Page* _tmp29_ = NULL; +#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = self->priv->events_branch; +#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = events_branch_get_master_entry (_tmp25_); +#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp27_ = _tmp26_; +#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = _tmp28_; +#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp29_); +#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp29_); +#line 1481 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp27_); +#line 1483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (last_import_entry); +#line 1483 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 9761 "LibraryWindow.c" + } +#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp30_ = self->priv->library_branch; +#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_ = library_branch_get_photos_entry (_tmp30_); +#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32_ = _tmp31_; +#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp33_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_ = _tmp33_; +#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_switch_to_page (self, _tmp34_); +#line 1487 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp34_); +#line 1459 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (last_import_entry); +#line 9779 "LibraryWindow.c" +} + + +static void _library_window_on_update_properties_view_collection_items_state_changed (ViewCollection* _sender, GeeIterable* changed, gpointer self) { +#line 1493 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_update_properties ((LibraryWindow*) self); +#line 9786 "LibraryWindow.c" +} + + +static void _library_window_on_update_properties_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 1494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_update_properties ((LibraryWindow*) self); +#line 9793 "LibraryWindow.c" +} + + +static void _library_window_on_update_properties_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 1495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_update_properties ((LibraryWindow*) self); +#line 9800 "LibraryWindow.c" +} + + +static void _library_window_on_update_properties_view_collection_items_visibility_changed (ViewCollection* _sender, GeeCollection* changed, gpointer self) { +#line 1496 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_update_properties ((LibraryWindow*) self); +#line 9807 "LibraryWindow.c" +} + + +static void library_window_subscribe_for_basic_information (LibraryWindow* self, Page* page) { + ViewCollection* view = NULL; + Page* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; +#line 1490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1491 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page; +#line 1491 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page_get_view (_tmp0_); +#line 1491 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = _tmp1_; +#line 1493 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (view, "items-state-changed", (GCallback) _library_window_on_update_properties_view_collection_items_state_changed, self, 0); +#line 1494 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _library_window_on_update_properties_data_collection_items_altered, self, 0); +#line 1495 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _library_window_on_update_properties_data_collection_contents_altered, self, 0); +#line 1496 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_connect_object (view, "items-visibility-changed", (GCallback) _library_window_on_update_properties_view_collection_items_visibility_changed, self, 0); +#line 1490 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 9835 "LibraryWindow.c" +} + + +static void library_window_unsubscribe_from_basic_information (LibraryWindow* self, Page* page) { + ViewCollection* view = NULL; + Page* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; + guint _tmp4_ = 0U; + guint _tmp5_ = 0U; +#line 1499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_PAGE (page)); +#line 1500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = page; +#line 1500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = page_get_view (_tmp0_); +#line 1500 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + view = _tmp1_; +#line 1502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("items-state-changed", TYPE_VIEW_COLLECTION, &_tmp2_, NULL, FALSE); +#line 1502 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _library_window_on_update_properties_view_collection_items_state_changed, self); +#line 1503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 1503 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _library_window_on_update_properties_data_collection_items_altered, self); +#line 1504 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp4_, NULL, FALSE); +#line 1504 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _library_window_on_update_properties_data_collection_contents_altered, self); +#line 1505 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("items-visibility-changed", TYPE_VIEW_COLLECTION, &_tmp5_, NULL, FALSE); +#line 1505 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (view, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_window_on_update_properties_view_collection_items_visibility_changed, self); +#line 1499 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (view); +#line 9875 "LibraryWindow.c" +} + + +static void library_window_on_update_properties (LibraryWindow* self) { + OneShotScheduler* _tmp0_ = NULL; +#line 1508 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->properties_scheduler; +#line 1509 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + one_shot_scheduler_at_idle (_tmp0_); +#line 9887 "LibraryWindow.c" +} + + +static void library_window_on_update_properties_now (LibraryWindow* self) { + GtkFrame* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + ExtendedPropertiesWindow* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 1512 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->bottom_frame; +#line 1513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 1513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = _tmp1_; +#line 1513 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp2_) { +#line 9908 "LibraryWindow.c" + BasicProperties* _tmp3_ = NULL; + Page* _tmp4_ = NULL; + Page* _tmp5_ = NULL; +#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = self->priv->basic_properties; +#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _tmp4_; +#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + properties_update_properties (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PROPERTIES, Properties), _tmp5_); +#line 1514 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp5_); +#line 9922 "LibraryWindow.c" + } +#line 1516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->extended_properties; +#line 1516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget)); +#line 1516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = _tmp7_; +#line 1516 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp8_) { +#line 9932 "LibraryWindow.c" + ExtendedPropertiesWindow* _tmp9_ = NULL; + Page* _tmp10_ = NULL; + Page* _tmp11_ = NULL; +#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = self->priv->extended_properties; +#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = _tmp10_; +#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + extended_properties_window_update_properties (_tmp9_, _tmp11_); +#line 1517 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp11_); +#line 9946 "LibraryWindow.c" + } +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 9960 "LibraryWindow.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 9991 "LibraryWindow.c" + goto __catch41_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 10000 "LibraryWindow.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 10016 "LibraryWindow.c" + goto __catch41_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 10027 "LibraryWindow.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 10041 "LibraryWindow.c" + } + goto __finally41; + __catch41_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 10055 "LibraryWindow.c" + } + __finally41: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 10066 "LibraryWindow.c" + } +} + + +void library_window_mounted_camera_shell_notification (LibraryWindow* self, const gchar* uri, gboolean at_startup) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GFile* uri_file = NULL; + const gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GMount* mount = NULL; + gchar* alt_uri = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp18_ = FALSE; + GError * _inner_error_ = NULL; +#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (IS_LIBRARY_WINDOW (self)); +#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (uri != NULL); +#line 1521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = uri; +#line 1521 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:1521: mount point reported: %s", _tmp0_); +#line 1524 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = uri; +#line 1524 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = library_window_is_mount_uri_supported (_tmp1_); +#line 1524 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp2_) { +#line 10098 "LibraryWindow.c" + const gchar* _tmp3_ = NULL; +#line 1525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = uri; +#line 1525 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:1525: Unsupported mount scheme: %s", _tmp3_); +#line 1527 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 10106 "LibraryWindow.c" + } +#line 1530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = uri; +#line 1530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = g_file_new_for_uri (_tmp4_); +#line 1530 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + uri_file = _tmp5_; +#line 1533 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + mount = NULL; +#line 10116 "LibraryWindow.c" + { + GMount* _tmp6_ = NULL; + GFile* _tmp7_ = NULL; + GMount* _tmp8_ = NULL; + GMount* _tmp9_ = NULL; +#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = uri_file; +#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = g_file_find_enclosing_mount (_tmp7_, NULL, &_inner_error_); +#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = _tmp8_; +#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 10130 "LibraryWindow.c" + goto __catch40_g_error; + } +#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = _tmp6_; +#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = NULL; +#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (mount); +#line 1535 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + mount = _tmp9_; +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp6_); +#line 10143 "LibraryWindow.c" + } + goto __finally40; + __catch40_g_error: + { + GError* err = NULL; + GError* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + err = _inner_error_; +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _inner_error_ = NULL; +#line 1537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = err; +#line 1537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = _tmp10_->message; +#line 1537 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_debug ("LibraryWindow.vala:1537: %s", _tmp11_); +#line 1539 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_error_free0 (err); +#line 1539 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (mount); +#line 1539 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (uri_file); +#line 1539 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 10169 "LibraryWindow.c" + } + __finally40: +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (mount); +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (uri_file); +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_clear_error (&_inner_error_); +#line 1534 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return; +#line 10184 "LibraryWindow.c" + } +#line 1543 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + alt_uri = NULL; +#line 1544 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = uri; +#line 1544 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = g_str_has_prefix (_tmp12_, "file://"); +#line 1544 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp13_) { +#line 10194 "LibraryWindow.c" + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = uri; +#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = string_replace (_tmp14_, "file://", "disk:"); +#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = _tmp15_; +#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = camera_table_get_port_uri (_tmp16_); +#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (alt_uri); +#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + alt_uri = _tmp17_; +#line 1545 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (_tmp16_); +#line 10213 "LibraryWindow.c" + } +#line 1548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = at_startup; +#line 1548 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp18_) { +#line 10219 "LibraryWindow.c" + const gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 1549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = uri; +#line 1549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = is_string_empty (_tmp19_); +#line 1549 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp20_) { +#line 10230 "LibraryWindow.c" + GeeHashSet* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 1550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = library_window_initial_camera_uris; +#line 1550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = uri; +#line 1550 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp22_); +#line 10239 "LibraryWindow.c" + } +#line 1552 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = alt_uri; +#line 1552 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = is_string_empty (_tmp23_); +#line 1552 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp24_) { +#line 10247 "LibraryWindow.c" + GeeHashSet* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 1553 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp25_ = library_window_initial_camera_uris; +#line 1553 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = alt_uri; +#line 1553 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp26_); +#line 10256 "LibraryWindow.c" + } + } +#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (alt_uri); +#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (mount); +#line 1520 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (uri_file); +#line 10265 "LibraryWindow.c" +} + + +static gboolean library_window_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + LibraryWindow * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + SidebarTree* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + GdkEventKey* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + GdkEventKey* _tmp13_ = NULL; + guint _tmp14_ = 0U; + const gchar* _tmp15_ = NULL; +#line 1557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 1557 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->sidebar_tree; +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), "has-focus", &_tmp3_, NULL); +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = _tmp3_; +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp4_) { +#line 10294 "LibraryWindow.c" + SidebarTree* _tmp5_ = NULL; + GdkEventKey* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = self->priv->sidebar_tree; +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = event; +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = sidebar_tree_is_keypress_interpreted (_tmp5_, _tmp6_); +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp7_; +#line 10306 "LibraryWindow.c" + } else { +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = FALSE; +#line 10310 "LibraryWindow.c" + } +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp1_) { +#line 10314 "LibraryWindow.c" + SidebarTree* _tmp8_ = NULL; + GdkEventKey* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 1559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = self->priv->sidebar_tree; +#line 1559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = event; +#line 1559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget), "key-press-event", _tmp9_, &_tmp10_); +#line 1559 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = _tmp10_; +#line 10326 "LibraryWindow.c" + } else { +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = FALSE; +#line 10330 "LibraryWindow.c" + } +#line 1558 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp0_) { +#line 1560 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 1560 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 10338 "LibraryWindow.c" + } +#line 1563 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = event; +#line 1563 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = GTK_WIDGET_CLASS (library_window_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_APP_WINDOW, AppWindow), gtk_widget_get_type (), GtkWidget), _tmp11_); +#line 1563 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp12_) { +#line 1564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 1564 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 10350 "LibraryWindow.c" + } +#line 1566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = event; +#line 1566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = _tmp13_->keyval; +#line 1566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = gdk_keyval_name (_tmp14_); +#line 1566 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (g_strcmp0 (_tmp15_, "Escape") == 0) { +#line 1567 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_clear_search (self); +#line 1568 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = TRUE; +#line 1568 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 10366 "LibraryWindow.c" + } +#line 1571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = FALSE; +#line 1571 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 10372 "LibraryWindow.c" +} + + +gint library_window_get_PAGE_MIN_WIDTH (void) { + gint result; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = thumbnail_get_MAX_SCALE (); +#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _tmp0_; +#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + result = _tmp1_ + (CHECKERBOARD_LAYOUT_COLUMN_GUTTER_PADDING * 2); +#line 12 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return result; +#line 10388 "LibraryWindow.c" +} + + +static gpointer _data_collection_ref0 (gpointer self) { +#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return self ? data_collection_ref (self) : NULL; +#line 10395 "LibraryWindow.c" +} + + +static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_construct (GType object_type, CollectionPage* collection, Photo* start, ViewCollection* view) { + LibraryWindowFullscreenPhotoPage * self = NULL; + CollectionPage* _tmp0_ = NULL; + CollectionPage* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + Photo* _tmp3_ = NULL; + ViewCollection* _tmp4_ = NULL; + ViewCollection* _tmp5_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_COLLECTION_PAGE (collection), NULL); +#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail (IS_PHOTO (start), NULL); +#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_val_if_fail ((view == NULL) || IS_VIEW_COLLECTION (view), NULL); +#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = (LibraryWindowFullscreenPhotoPage*) library_photo_page_construct (object_type); +#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = collection; +#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->collection); +#line 76 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->collection = _tmp1_; +#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = start; +#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->start); +#line 77 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->start = _tmp3_; +#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = view; +#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = _data_collection_ref0 (_tmp4_); +#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (self->priv->view); +#line 78 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->view = _tmp5_; +#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return self; +#line 10441 "LibraryWindow.c" +} + + +static LibraryWindowFullscreenPhotoPage* library_window_fullscreen_photo_page_new (CollectionPage* collection, Photo* start, ViewCollection* view) { +#line 75 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + return library_window_fullscreen_photo_page_construct (LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, collection, start, view); +#line 10448 "LibraryWindow.c" +} + + +static void library_window_fullscreen_photo_page_real_switched_to (Page* base) { + LibraryWindowFullscreenPhotoPage * self; + CollectionPage* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage); +#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->collection; +#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = self->priv->start; +#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->view; +#line 82 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_photo_page_display_for_collection (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage), _tmp0_, _tmp1_, _tmp2_); +#line 84 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + PAGE_CLASS (library_window_fullscreen_photo_page_parent_class)->switched_to (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_LIBRARY_PHOTO_PAGE, LibraryPhotoPage), TYPE_PAGE, Page)); +#line 10469 "LibraryWindow.c" +} + + +static void library_window_fullscreen_photo_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + LibraryWindowFullscreenPhotoPage * self; + GeeList* _tmp0_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage); +#line 87 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 90 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = ui_filenames; +#line 90 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), "photo_context.ui"); +#line 10484 "LibraryWindow.c" +} + + +static void library_window_fullscreen_photo_page_class_init (LibraryWindowFullscreenPhotoPageClass * klass) { +#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_fullscreen_photo_page_parent_class = g_type_class_peek_parent (klass); +#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_type_class_add_private (klass, sizeof (LibraryWindowFullscreenPhotoPagePrivate)); +#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((PageClass *) klass)->switched_to = library_window_fullscreen_photo_page_real_switched_to; +#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((PageClass *) klass)->init_collect_ui_filenames = library_window_fullscreen_photo_page_real_init_collect_ui_filenames; +#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + G_OBJECT_CLASS (klass)->finalize = library_window_fullscreen_photo_page_finalize; +#line 10499 "LibraryWindow.c" +} + + +static void library_window_fullscreen_photo_page_instance_init (LibraryWindowFullscreenPhotoPage * self) { +#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv = LIBRARY_WINDOW_FULLSCREEN_PHOTO_PAGE_GET_PRIVATE (self); +#line 10506 "LibraryWindow.c" +} + + +static void library_window_fullscreen_photo_page_finalize (GObject* obj) { + LibraryWindowFullscreenPhotoPage * self; +#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_WINDOW_TYPE_FULLSCREEN_PHOTO_PAGE, LibraryWindowFullscreenPhotoPage); +#line 71 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->collection); +#line 72 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->start); +#line 73 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (self->priv->view); +#line 70 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + G_OBJECT_CLASS (library_window_fullscreen_photo_page_parent_class)->finalize (obj); +#line 10522 "LibraryWindow.c" +} + + +static GType library_window_fullscreen_photo_page_get_type (void) { + static volatile gsize library_window_fullscreen_photo_page_type_id__volatile = 0; + if (g_once_init_enter (&library_window_fullscreen_photo_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryWindowFullscreenPhotoPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_window_fullscreen_photo_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryWindowFullscreenPhotoPage), 0, (GInstanceInitFunc) library_window_fullscreen_photo_page_instance_init, NULL }; + GType library_window_fullscreen_photo_page_type_id; + library_window_fullscreen_photo_page_type_id = g_type_register_static (TYPE_LIBRARY_PHOTO_PAGE, "LibraryWindowFullscreenPhotoPage", &g_define_type_info, 0); + g_once_init_leave (&library_window_fullscreen_photo_page_type_id__volatile, library_window_fullscreen_photo_page_type_id); + } + return library_window_fullscreen_photo_page_type_id__volatile; +} + + +static void library_window_class_init (LibraryWindowClass * klass) { + GeeHashSet* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_type_class_add_private (klass, sizeof (LibraryWindowPrivate)); +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((AppWindowClass *) klass)->create_common_action_groups = library_window_real_create_common_action_groups; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((AppWindowClass *) klass)->replace_common_placeholders = library_window_real_replace_common_placeholders; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((PageWindowClass *) klass)->switched_pages = library_window_real_switched_pages; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((GtkWidgetClass *) klass)->show_all = library_window_real_show_all; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((AppWindowClass *) klass)->get_app_role = library_window_real_get_app_role; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((AppWindowClass *) klass)->on_quit = library_window_real_on_quit; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((AppWindowClass *) klass)->on_fullscreen = library_window_real_on_fullscreen; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((AppWindowClass *) klass)->update_common_action_availability = library_window_real_update_common_action_availability; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((AppWindowClass *) klass)->update_common_actions = library_window_real_update_common_actions; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((GtkWidgetClass *) klass)->drag_motion = library_window_real_drag_motion; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((GtkWidgetClass *) klass)->drag_data_received = library_window_real_drag_data_received; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((PageWindowClass *) klass)->set_current_page = library_window_real_set_current_page; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + ((GtkWidgetClass *) klass)->key_press_event = library_window_real_key_press_event; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_library_window_get_property; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + G_OBJECT_CLASS (klass)->finalize = library_window_finalize; +#line 121 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 121 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_initial_camera_uris = _tmp0_; +#line 10578 "LibraryWindow.c" +} + + +static void library_window_instance_init (LibraryWindow * self) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GtkPaned* _tmp2_ = NULL; + GtkPaned* _tmp3_ = NULL; + GtkFrame* _tmp4_ = NULL; + GtkActionGroup* _tmp5_ = NULL; + LibraryBranch* _tmp6_ = NULL; + TagsBranch* _tmp7_ = NULL; + FoldersBranch* _tmp8_ = NULL; + EventsBranch* _tmp9_ = NULL; + CameraBranch* _tmp10_ = NULL; + SearchesBranch* _tmp11_ = NULL; + GeeHashMap* _tmp12_ = NULL; + SearchFilterActions* _tmp13_ = NULL; + GtkBox* _tmp14_ = NULL; + GtkFrame* _tmp15_ = NULL; + GtkProgressBar* _tmp16_ = NULL; + BasicProperties* _tmp17_ = NULL; + GtkStack* _tmp18_ = NULL; + GtkBox* _tmp19_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv = LIBRARY_WINDOW_GET_PRIVATE (self); +#line 95 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = g_get_home_dir (); +#line 95 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 95 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->import_dir = _tmp1_; +#line 97 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_VERTICAL); +#line 97 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp2_); +#line 97 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->sidebar_paned = _tmp2_; +#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp3_ = (GtkPaned*) gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); +#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp3_); +#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->client_paned = _tmp3_; +#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = (GtkFrame*) gtk_frame_new (NULL); +#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp4_); +#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->bottom_frame = _tmp4_; +#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp5_ = gtk_action_group_new ("LibraryWindowGlobalActionGroup"); +#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->common_action_group = _tmp5_; +#line 103 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->properties_scheduler = NULL; +#line 104 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->notify_library_is_home_dir = TRUE; +#line 108 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = library_branch_new (); +#line 108 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->library_branch = _tmp6_; +#line 109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp7_ = tags_branch_new (); +#line 109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->tags_branch = _tmp7_; +#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = folders_branch_new (); +#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->folders_branch = _tmp8_; +#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = events_branch_new (); +#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->events_branch = _tmp9_; +#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = camera_branch_new (); +#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->camera_branch = _tmp10_; +#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp11_ = searches_branch_new (); +#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->saved_search_branch = _tmp11_; +#line 114 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->page_switching_enabled = TRUE; +#line 116 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = gee_hash_map_new (TYPE_PAGE, (GBoxedCopyFunc) g_object_ref, g_object_unref, SIDEBAR_TYPE_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 116 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->page_map = _tmp12_; +#line 118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->photo_page = NULL; +#line 123 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->is_search_toolbar_visible = FALSE; +#line 128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp13_ = search_filter_actions_new (); +#line 128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->search_actions = _tmp13_; +#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp14_); +#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->top_section = _tmp14_; +#line 132 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = (GtkFrame*) gtk_frame_new (NULL); +#line 132 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp15_); +#line 132 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->background_progress_frame = _tmp15_; +#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = (GtkProgressBar*) gtk_progress_bar_new (); +#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp16_); +#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->background_progress_bar = _tmp16_; +#line 134 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->background_progress_displayed = FALSE; +#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = basic_properties_new (); +#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp17_); +#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->basic_properties = _tmp17_; +#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = (GtkStack*) gtk_stack_new (); +#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp18_); +#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->stack = _tmp18_; +#line 140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_object_ref_sink (_tmp19_); +#line 140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->layout = _tmp19_; +#line 143 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->current_progress_priority = 0; +#line 144 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self->priv->background_progress_pulse_id = (guint) 0; +#line 10717 "LibraryWindow.c" +} + + +static void library_window_finalize (GObject* obj) { + LibraryWindow * self; + SidebarTree* _tmp0_ = NULL; + guint _tmp1_ = 0U; + SidebarTree* _tmp2_ = NULL; + guint _tmp3_ = 0U; + SidebarTree* _tmp4_ = NULL; + guint _tmp5_ = 0U; + SidebarTree* _tmp6_ = NULL; + guint _tmp7_ = 0U; + Page* _tmp8_ = NULL; + Page* _tmp9_ = NULL; + ExtendedPropertiesWindow* _tmp10_ = NULL; + guint _tmp11_ = 0U; + ExtendedPropertiesWindow* _tmp12_ = NULL; + guint _tmp13_ = 0U; + MetadataWriter* _tmp28_ = NULL; + MetadataWriter* _tmp29_ = NULL; + guint _tmp30_ = 0U; + LibraryMonitor* monitor = NULL; + LibraryMonitorPool* _tmp31_ = NULL; + LibraryMonitorPool* _tmp32_ = NULL; + LibraryMonitor* _tmp33_ = NULL; + LibraryMonitor* _tmp34_ = NULL; + LibraryMonitor* _tmp35_ = NULL; + LibraryMonitorPool* _tmp37_ = NULL; + LibraryMonitorPool* _tmp38_ = NULL; + guint _tmp39_ = 0U; + LibraryMonitorPool* _tmp40_ = NULL; + LibraryMonitorPool* _tmp41_ = NULL; + guint _tmp42_ = 0U; + CameraTable* _tmp43_ = NULL; + CameraTable* _tmp44_ = NULL; + guint _tmp45_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp0_ = self->priv->sidebar_tree; +#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("page-created", SIDEBAR_TYPE_TREE, &_tmp1_, NULL, FALSE); +#line 231 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _library_window_on_page_created_sidebar_tree_page_created, self); +#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp2_ = self->priv->sidebar_tree; +#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("destroying-page", SIDEBAR_TYPE_TREE, &_tmp3_, NULL, FALSE); +#line 232 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _library_window_on_destroying_page_sidebar_tree_destroying_page, self); +#line 233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp4_ = self->priv->sidebar_tree; +#line 233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("entry-selected", SIDEBAR_TYPE_TREE, &_tmp5_, NULL, FALSE); +#line 233 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _library_window_on_sidebar_entry_selected_sidebar_tree_entry_selected, self); +#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp6_ = self->priv->sidebar_tree; +#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("selected-entry-removed", SIDEBAR_TYPE_TREE, &_tmp7_, NULL, FALSE); +#line 234 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _library_window_on_sidebar_selected_entry_removed_sidebar_tree_selected_entry_removed, self); +#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp8_ = page_window_get_current_page (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE_WINDOW, PageWindow)); +#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp9_ = _tmp8_; +#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_unsubscribe_from_basic_information (self, _tmp9_); +#line 236 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp9_); +#line 238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp10_ = self->priv->extended_properties; +#line 238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("hide", gtk_widget_get_type (), &_tmp11_, NULL, FALSE); +#line 238 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_window_hide_extended_properties_gtk_widget_hide, self); +#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp12_ = self->priv->extended_properties; +#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("show", gtk_widget_get_type (), &_tmp13_, NULL, FALSE); +#line 239 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _library_window_show_extended_properties_gtk_widget_show, self); +#line 10801 "LibraryWindow.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp14_ = NULL; + MediaCollectionRegistry* _tmp15_ = NULL; + GeeCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeIterator* _tmp18_ = NULL; + GeeIterator* _tmp19_ = NULL; +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp14_ = media_collection_registry_get_instance (); +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp15_ = _tmp14_; +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp16_ = media_collection_registry_get_all (_tmp15_); +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp17_ = _tmp16_; +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp19_ = _tmp18_; +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp17_); +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _media_collection_registry_unref0 (_tmp15_); +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _media_sources_it = _tmp19_; +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + while (TRUE) { +#line 10830 "LibraryWindow.c" + GeeIterator* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp22_ = NULL; + gpointer _tmp23_ = NULL; + MediaSourceCollection* _tmp24_ = NULL; + guint _tmp25_ = 0U; + MediaSourceCollection* _tmp26_ = NULL; + guint _tmp27_ = 0U; +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp20_ = _media_sources_it; +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp21_ = gee_iterator_next (_tmp20_); +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (!_tmp21_) { +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + break; +#line 10848 "LibraryWindow.c" + } +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp22_ = _media_sources_it; +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp23_ = gee_iterator_get (_tmp22_); +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + media_sources = (MediaSourceCollection*) _tmp23_; +#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp24_ = media_sources; +#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("trashcan-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp25_, NULL, FALSE); +#line 242 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp24_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp25_, 0, NULL, (GCallback) _library_window_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self); +#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp26_ = media_sources; +#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp27_, NULL, FALSE); +#line 243 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp27_, 0, NULL, (GCallback) _library_window_on_media_altered_data_collection_items_altered, self); +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _data_collection_unref0 (media_sources); +#line 10870 "LibraryWindow.c" + } +#line 241 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_media_sources_it); +#line 10874 "LibraryWindow.c" + } +#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp28_ = metadata_writer_get_instance (); +#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp29_ = _tmp28_; +#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("progress", TYPE_METADATA_WRITER, &_tmp30_, NULL, FALSE); +#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp29_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp30_, 0, NULL, (GCallback) _library_window_on_metadata_writer_progress_metadata_writer_progress, self); +#line 246 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (_tmp29_); +#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp31_ = library_monitor_pool_get_instance (); +#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp32_ = _tmp31_; +#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp33_ = library_monitor_pool_get_monitor (_tmp32_); +#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp34_ = _tmp33_; +#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _library_monitor_pool_unref0 (_tmp32_); +#line 248 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + monitor = _tmp34_; +#line 249 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp35_ = monitor; +#line 249 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + if (_tmp35_ != NULL) { +#line 10902 "LibraryWindow.c" + LibraryMonitor* _tmp36_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp36_ = monitor; +#line 250 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + library_window_on_library_monitor_destroyed (self, _tmp36_); +#line 10908 "LibraryWindow.c" + } +#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp37_ = library_monitor_pool_get_instance (); +#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp38_ = _tmp37_; +#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("monitor-installed", TYPE_LIBRARY_MONITOR_POOL, &_tmp39_, NULL, FALSE); +#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp38_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp39_, 0, NULL, (GCallback) _library_window_on_library_monitor_installed_library_monitor_pool_monitor_installed, self); +#line 252 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _library_monitor_pool_unref0 (_tmp38_); +#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp40_ = library_monitor_pool_get_instance (); +#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp41_ = _tmp40_; +#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("monitor-destroyed", TYPE_LIBRARY_MONITOR_POOL, &_tmp42_, NULL, FALSE); +#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp41_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp42_, 0, NULL, (GCallback) _library_window_on_library_monitor_destroyed_library_monitor_pool_monitor_destroyed, self); +#line 253 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _library_monitor_pool_unref0 (_tmp41_); +#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp43_ = camera_table_get_instance (); +#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _tmp44_ = _tmp43_; +#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_parse_name ("camera-added", TYPE_CAMERA_TABLE, &_tmp45_, NULL, FALSE); +#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + g_signal_handlers_disconnect_matched (_tmp44_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp45_, 0, NULL, (GCallback) _library_window_on_camera_added_camera_table_camera_added, self); +#line 255 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _camera_table_unref0 (_tmp44_); +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (monitor); +#line 95 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_free0 (self->priv->import_dir); +#line 97 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->sidebar_paned); +#line 98 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->client_paned); +#line 99 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->bottom_frame); +#line 101 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->common_action_group); +#line 103 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _one_shot_scheduler_unref0 (self->priv->properties_scheduler); +#line 107 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->sidebar_tree); +#line 108 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->library_branch); +#line 109 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->tags_branch); +#line 110 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->folders_branch); +#line 111 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->events_branch); +#line 112 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->camera_branch); +#line 113 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->saved_search_branch); +#line 116 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->page_map); +#line 118 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->photo_page); +#line 128 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _search_filter_actions_unref0 (self->priv->search_actions); +#line 129 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->search_toolbar); +#line 131 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->top_section); +#line 132 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->background_progress_frame); +#line 133 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->background_progress_bar); +#line 136 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->basic_properties); +#line 137 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->extended_properties); +#line 139 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->stack); +#line 140 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->layout); +#line 141 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + _g_object_unref0 (self->priv->right_vbox); +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + G_OBJECT_CLASS (library_window_parent_class)->finalize (obj); +#line 10994 "LibraryWindow.c" +} + + +GType library_window_get_type (void) { + static volatile gsize library_window_type_id__volatile = 0; + if (g_once_init_enter (&library_window_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryWindow), 0, (GInstanceInitFunc) library_window_instance_init, NULL }; + GType library_window_type_id; + library_window_type_id = g_type_register_static (TYPE_APP_WINDOW, "LibraryWindow", &g_define_type_info, 0); + g_once_init_leave (&library_window_type_id__volatile, library_window_type_id); + } + return library_window_type_id__volatile; +} + + +static void _vala_library_window_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + LibraryWindow * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + switch (property_id) { +#line 11015 "LibraryWindow.c" + default: +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 7 "/home/jens/Source/shotwell/src/library/LibraryWindow.vala" + break; +#line 11021 "LibraryWindow.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/library/LibraryWindow.vala b/src/library/LibraryWindow.vala index 21fc85e..19f819b 100644 --- a/src/library/LibraryWindow.vala +++ b/src/library/LibraryWindow.vala @@ -392,7 +392,13 @@ public class LibraryWindow : AppWindow { sidebar.label = _("S_idebar"); sidebar.tooltip = _("Display the sidebar"); actions += sidebar; - + + Gtk.ToggleActionEntry toolbar = { "CommonDisplayToolbar", null, TRANSLATABLE, + "F9", TRANSLATABLE, on_display_toolbar, is_toolbar_visible() }; + toolbar.label = _("T_oolbar"); + toolbar.tooltip = _("Display the tool bar"); + actions += toolbar; + return actions; } @@ -837,7 +843,7 @@ public class LibraryWindow : AppWindow { set_sidebar_visible(((Gtk.ToggleAction) action).get_active()); } - + private void set_sidebar_visible(bool visible) { sidebar_paned.set_visible(visible); Config.Facade.get_instance().set_display_sidebar(visible); @@ -847,6 +853,22 @@ public class LibraryWindow : AppWindow { return Config.Facade.get_instance().get_display_sidebar(); } + private void on_display_toolbar (Gtk.Action action) { + set_toolbar_visible ((action as Gtk.ToggleAction).get_active ()); + } + + private void set_toolbar_visible (bool visible) { + var toolbar = get_current_page ().get_toolbar (); + if (toolbar != null) { + toolbar.set_visible (visible); + } + Config.Facade.get_instance().set_display_toolbar (visible); + } + + private bool is_toolbar_visible () { + return Config.Facade.get_instance ().get_display_toolbar (); + } + private void show_extended_properties() { sync_extended_properties(true); } @@ -1382,6 +1404,7 @@ public class LibraryWindow : AppWindow { if (toolbar != null) { right_vbox.add(toolbar); toolbar.show_all(); + toolbar.set_visible (this.is_toolbar_visible ()); } page.ready(); diff --git a/src/library/OfflinePage.c b/src/library/OfflinePage.c new file mode 100644 index 0000000..df2b7c6 --- /dev/null +++ b/src/library/OfflinePage.c @@ -0,0 +1,1741 @@ +/* OfflinePage.c generated by valac 0.32.1, the Vala compiler + * generated from OfflinePage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#define TYPE_OFFLINE_PAGE (offline_page_get_type ()) +#define OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OFFLINE_PAGE, OfflinePage)) +#define OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OFFLINE_PAGE, OfflinePageClass)) +#define IS_OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OFFLINE_PAGE)) +#define IS_OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OFFLINE_PAGE)) +#define OFFLINE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OFFLINE_PAGE, OfflinePageClass)) + +typedef struct _OfflinePage OfflinePage; +typedef struct _OfflinePageClass OfflinePageClass; +typedef struct _OfflinePagePrivate OfflinePagePrivate; + +#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ()) +#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter)) +#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) + +typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter; +typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass; + +#define OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER (offline_page_offline_search_view_filter_get_type ()) +#define OFFLINE_PAGE_OFFLINE_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER, OfflinePageOfflineSearchViewFilter)) +#define OFFLINE_PAGE_OFFLINE_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER, OfflinePageOfflineSearchViewFilterClass)) +#define OFFLINE_PAGE_IS_OFFLINE_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER)) +#define OFFLINE_PAGE_IS_OFFLINE_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER)) +#define OFFLINE_PAGE_OFFLINE_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER, OfflinePageOfflineSearchViewFilterClass)) + +typedef struct _OfflinePageOfflineSearchViewFilter OfflinePageOfflineSearchViewFilter; +typedef struct _OfflinePageOfflineSearchViewFilterClass OfflinePageOfflineSearchViewFilterClass; + +#define TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ()) +#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker)) +#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) +#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER)) +#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER)) +#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) + +typedef struct _MediaViewTracker MediaViewTracker; +typedef struct _MediaViewTrackerClass MediaViewTrackerClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_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_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_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 _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) +#define _core_tracker_unref0(var) ((var == NULL) ? NULL : (var = (core_tracker_unref (var), NULL))) + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_MEDIA_SOURCE_ITEM (media_source_item_get_type ()) +#define MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem)) +#define MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass)) +#define IS_MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_ITEM)) +#define IS_MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_ITEM)) +#define MEDIA_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass)) + +typedef struct _MediaSourceItem MediaSourceItem; +typedef struct _MediaSourceItemClass MediaSourceItemClass; + +#define TYPE_THUMBNAIL (thumbnail_get_type ()) +#define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail)) +#define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass)) +#define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL)) +#define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL)) +#define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass)) + +typedef struct _Thumbnail Thumbnail; +typedef struct _ThumbnailClass ThumbnailClass; + +#define OFFLINE_PAGE_TYPE_OFFLINE_VIEW (offline_page_offline_view_get_type ()) +#define OFFLINE_PAGE_OFFLINE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), OFFLINE_PAGE_TYPE_OFFLINE_VIEW, OfflinePageOfflineView)) +#define OFFLINE_PAGE_OFFLINE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), OFFLINE_PAGE_TYPE_OFFLINE_VIEW, OfflinePageOfflineViewClass)) +#define OFFLINE_PAGE_IS_OFFLINE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), OFFLINE_PAGE_TYPE_OFFLINE_VIEW)) +#define OFFLINE_PAGE_IS_OFFLINE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), OFFLINE_PAGE_TYPE_OFFLINE_VIEW)) +#define OFFLINE_PAGE_OFFLINE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), OFFLINE_PAGE_TYPE_OFFLINE_VIEW, OfflinePageOfflineViewClass)) + +typedef struct _OfflinePageOfflineView OfflinePageOfflineView; +typedef struct _OfflinePageOfflineViewClass OfflinePageOfflineViewClass; + +#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_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_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_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +typedef struct _DataViewPrivate DataViewPrivate; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _MediaSourceItemPrivate MediaSourceItemPrivate; +typedef struct _ThumbnailPrivate ThumbnailPrivate; +typedef struct _OfflinePageOfflineViewPrivate OfflinePageOfflineViewPrivate; +typedef struct _ViewFilterPrivate ViewFilterPrivate; +typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate; +typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate; +typedef struct _OfflinePageOfflineSearchViewFilterPrivate OfflinePageOfflineSearchViewFilterPrivate; + +#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ()) +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +struct _OfflinePage { + CheckerboardPage parent_instance; + OfflinePagePrivate * priv; +}; + +struct _OfflinePageClass { + CheckerboardPageClass parent_class; +}; + +struct _OfflinePagePrivate { + OfflinePageOfflineSearchViewFilter* search_filter; + MediaViewTracker* tracker; +}; + +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 _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +struct _MediaSourceItem { + CheckerboardItem parent_instance; + MediaSourceItemPrivate * priv; +}; + +struct _MediaSourceItemClass { + CheckerboardItemClass parent_class; +}; + +struct _Thumbnail { + MediaSourceItem parent_instance; + ThumbnailPrivate * priv; +}; + +struct _ThumbnailClass { + MediaSourceItemClass parent_class; +}; + +struct _OfflinePageOfflineView { + Thumbnail parent_instance; + OfflinePageOfflineViewPrivate * priv; +}; + +struct _OfflinePageOfflineViewClass { + ThumbnailClass parent_class; +}; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _SearchViewFilter { + ViewFilter parent_instance; + SearchViewFilterPrivate * priv; +}; + +struct _SearchViewFilterClass { + ViewFilterClass parent_class; + guint (*get_criteria) (SearchViewFilter* self); +}; + +struct _DefaultSearchViewFilter { + SearchViewFilter parent_instance; + DefaultSearchViewFilterPrivate * priv; +}; + +struct _DefaultSearchViewFilterClass { + SearchViewFilterClass parent_class; +}; + +struct _OfflinePageOfflineSearchViewFilter { + DefaultSearchViewFilter parent_instance; + OfflinePageOfflineSearchViewFilterPrivate * priv; +}; + +struct _OfflinePageOfflineSearchViewFilterClass { + DefaultSearchViewFilterClass parent_class; +}; + +typedef enum { + SEARCH_FILTER_CRITERIA_NONE = 0, + SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0, + SEARCH_FILTER_CRITERIA_TEXT = 1 << 1, + SEARCH_FILTER_CRITERIA_FLAG = 1 << 2, + SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3, + SEARCH_FILTER_CRITERIA_RATING = 1 << 4, + SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5, + SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL +} SearchFilterCriteria; + + +static gpointer offline_page_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +static gpointer offline_page_offline_view_parent_class = NULL; +static gpointer offline_page_offline_search_view_filter_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType offline_page_get_type (void) G_GNUC_CONST; +GType default_search_view_filter_get_type (void) G_GNUC_CONST; +static GType offline_page_offline_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType media_view_tracker_get_type (void) G_GNUC_CONST; +#define OFFLINE_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_OFFLINE_PAGE, OfflinePagePrivate)) +enum { + OFFLINE_PAGE_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +static void offline_page_on_offline_contents_altered (OfflinePage* self, GeeCollection* added, GeeCollection* removed); +static void _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +GType video_source_collection_get_type (void) G_GNUC_CONST; +static OfflinePageOfflineSearchViewFilter* offline_page_offline_search_view_filter_new (void); +static OfflinePageOfflineSearchViewFilter* offline_page_offline_search_view_filter_construct (GType object_type); +#define OFFLINE_PAGE_NAME _ ("Missing Files") +OfflinePage* offline_page_new (void); +OfflinePage* offline_page_construct (GType object_type); +CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name); +void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path); +void page_init_toolbar (Page* self, const gchar* path); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +MediaViewTracker* media_view_tracker_new (ViewCollection* collection); +MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection); +GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self); +static void offline_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* offline_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define RESOURCES_REMOVE_LABEL _ ("_Remove") +#define TRANSLATABLE "translatable" +static void offline_page_on_remove_from_library (OfflinePage* self); +static void _offline_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_REMOVE_FROM_LIBRARY_MENU _ ("R_emove From Library") +#define RESOURCES_DELETE_FROM_LIBRARY_TOOLTIP _ ("Remove the selected photos from the library") +static void _vala_array_add88 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static CoreViewTracker* offline_page_real_get_view_tracker (CheckerboardPage* base); +static void offline_page_real_update_actions (Page* base, gint selected_count, gint count); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +void page_set_action_important (Page* self, const gchar* name, gboolean important); +void page_update_actions (Page* self, gint selected_count, gint count); +gboolean data_collection_add (DataCollection* self, DataObject* object); +static OfflinePageOfflineView* offline_page_offline_view_new (MediaSource* source); +static OfflinePageOfflineView* offline_page_offline_view_construct (GType object_type, MediaSource* source); +GType media_source_item_get_type (void) G_GNUC_CONST; +GType thumbnail_get_type (void) G_GNUC_CONST; +static GType offline_page_offline_view_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType marker_get_type (void) G_GNUC_CONST; +Marker* data_collection_start_marking (DataCollection* self); +void marker_mark (Marker* self, DataObject* object); +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +void data_collection_remove_marked (DataCollection* self, Marker* m); +GeeList* view_collection_get_selected_sources (ViewCollection* self); +gboolean remove_offline_dialog (GtkWindow* owner, gint count); +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +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); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos); +void media_source_collection_remove_from_app (MediaSourceCollection* self, GeeCollection* sources, gboolean delete_backing, ProgressMonitor monitor, void* monitor_target, GeeList* not_removed); +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); +void progress_dialog_close (ProgressDialog* self); +void page_window_set_normal_cursor (PageWindow* self); +static SearchViewFilter* offline_page_real_get_search_view_filter (CheckerboardPage* base); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +enum { + OFFLINE_PAGE_OFFLINE_VIEW_DUMMY_PROPERTY +}; +gint thumbnail_get_DEFAULT_SCALE (void); +Thumbnail* thumbnail_new (MediaSource* media, gint scale); +Thumbnail* thumbnail_construct (GType object_type, MediaSource* media, gint scale); +gboolean media_source_is_offline (MediaSource* self); +enum { + OFFLINE_PAGE_OFFLINE_SEARCH_VIEW_FILTER_DUMMY_PROPERTY +}; +static guint offline_page_offline_search_view_filter_real_get_criteria (SearchViewFilter* base); +GType search_filter_criteria_get_type (void) G_GNUC_CONST; +DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type); +static void offline_page_finalize (GObject* obj); + + +static void _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 45 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + offline_page_on_offline_contents_altered ((OfflinePage*) self, added, removed); +#line 874 "OfflinePage.c" +} + + +OfflinePage* offline_page_construct (GType object_type) { + OfflinePage * self = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + MediaViewTracker* _tmp2_ = NULL; + LibraryPhotoSourceCollection* _tmp3_ = NULL; + VideoSourceCollection* _tmp4_ = NULL; + LibraryPhotoSourceCollection* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + VideoSourceCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = (OfflinePage*) checkerboard_page_construct (object_type, OFFLINE_PAGE_NAME); +#line 31 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/OfflineContextMenu"); +#line 32 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + page_init_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "/OfflineToolbar"); +#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = _tmp0_; +#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_ = media_view_tracker_new (_tmp1_); +#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _core_tracker_unref0 (self->priv->tracker); +#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self->priv->tracker = _tmp2_; +#line 34 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _data_collection_unref0 (_tmp1_); +#line 37 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp3_ = library_photo_global; +#line 37 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "offline-contents-altered", (GCallback) _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered, self, 0); +#line 38 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp4_ = video_global; +#line 38 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "offline-contents-altered", (GCallback) _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered, self, 0); +#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp5_ = library_photo_global; +#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp6_ = media_source_collection_get_offline_bin_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp7_ = _tmp6_; +#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + offline_page_on_offline_contents_altered (self, _tmp7_, NULL); +#line 40 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_tmp7_); +#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp8_ = video_global; +#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp9_ = media_source_collection_get_offline_bin_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp10_ = _tmp9_; +#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + offline_page_on_offline_contents_altered (self, _tmp10_, NULL); +#line 41 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_tmp10_); +#line 28 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return self; +#line 939 "OfflinePage.c" +} + + +OfflinePage* offline_page_new (void) { +#line 28 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return offline_page_construct (TYPE_OFFLINE_PAGE); +#line 946 "OfflinePage.c" +} + + +static void offline_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + OfflinePage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage); +#line 49 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 50 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = ui_filenames; +#line 50 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + PAGE_CLASS (offline_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_); +#line 52 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = ui_filenames; +#line 52 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "offline.ui"); +#line 966 "OfflinePage.c" +} + + +static void _offline_page_on_remove_from_library_gtk_action_callback (GtkAction* action, gpointer self) { +#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + offline_page_on_remove_from_library ((OfflinePage*) self); +#line 973 "OfflinePage.c" +} + + +static void _vala_array_add88 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if ((*length) == (*size)) { +#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 984 "OfflinePage.c" + } +#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + (*array)[(*length)++] = *value; +#line 988 "OfflinePage.c" +} + + +static GtkActionEntry* offline_page_real_init_collect_action_entries (Page* base, int* result_length1) { + OfflinePage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry remove = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 55 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage); +#line 56 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = PAGE_CLASS (offline_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_); +#line 56 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + actions = _tmp1_; +#line 56 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + actions_length1 = _tmp0_; +#line 56 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _actions_size_ = actions_length1; +#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_.name = "RemoveFromLibrary"; +#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_.stock_id = RESOURCES_REMOVE_LABEL; +#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_.label = TRANSLATABLE; +#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_.accelerator = "Delete"; +#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_.callback = (GCallback) _offline_page_on_remove_from_library_gtk_action_callback; +#line 58 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + remove = _tmp2_; +#line 60 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + remove.label = RESOURCES_REMOVE_FROM_LIBRARY_MENU; +#line 61 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + remove.tooltip = RESOURCES_DELETE_FROM_LIBRARY_TOOLTIP; +#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp3_ = actions; +#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp3__length1 = actions_length1; +#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp4_ = remove; +#line 62 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _vala_array_add88 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp5_ = actions; +#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp5__length1 = actions_length1; +#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (result_length1) { +#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + *result_length1 = _tmp5__length1; +#line 1051 "OfflinePage.c" + } +#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + result = _tmp5_; +#line 64 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return result; +#line 1057 "OfflinePage.c" +} + + +static gpointer _core_tracker_ref0 (gpointer self) { +#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return self ? core_tracker_ref (self) : NULL; +#line 1064 "OfflinePage.c" +} + + +static CoreViewTracker* offline_page_real_get_view_tracker (CheckerboardPage* base) { + OfflinePage * self; + CoreViewTracker* result = NULL; + MediaViewTracker* _tmp0_ = NULL; + CoreViewTracker* _tmp1_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage); +#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = self->priv->tracker; +#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, CORE_TYPE_VIEW_TRACKER, CoreViewTracker)); +#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + result = _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return result; +#line 1083 "OfflinePage.c" +} + + +static void offline_page_real_update_actions (Page* base, gint selected_count, gint count) { + OfflinePage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 71 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage); +#line 72 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = selected_count; +#line 72 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RemoveFromLibrary", _tmp0_ > 0); +#line 73 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RemoveFromLibrary", TRUE); +#line 75 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = selected_count; +#line 75 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_ = count; +#line 75 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + PAGE_CLASS (offline_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp1_, _tmp2_); +#line 1106 "OfflinePage.c" +} + + +static void offline_page_on_offline_contents_altered (OfflinePage* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp12_ = NULL; +#line 78 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_return_if_fail (IS_OFFLINE_PAGE (self)); +#line 78 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 78 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 80 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = added; +#line 80 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (_tmp0_ != NULL) { +#line 1123 "OfflinePage.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = added; +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _source_it = _tmp2_; +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + while (TRUE) { +#line 1136 "OfflinePage.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; + OfflinePageOfflineView* _tmp10_ = NULL; + OfflinePageOfflineView* _tmp11_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp3_ = _source_it; +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (!_tmp4_) { +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + break; +#line 1155 "OfflinePage.c" + } +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp5_ = _source_it; +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + source = (MediaSource*) _tmp6_; +#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp8_ = _tmp7_; +#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp9_ = source; +#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp10_ = offline_page_offline_view_new (_tmp9_); +#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp11_ = _tmp10_; +#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_OBJECT, DataObject)); +#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_tmp11_); +#line 82 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _data_collection_unref0 (_tmp8_); +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (source); +#line 1181 "OfflinePage.c" + } +#line 81 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_source_it); +#line 1185 "OfflinePage.c" + } + } +#line 85 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp12_ = removed; +#line 85 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (_tmp12_ != NULL) { +#line 1192 "OfflinePage.c" + Marker* marker = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + Marker* _tmp15_ = NULL; + Marker* _tmp16_ = NULL; + ViewCollection* _tmp29_ = NULL; + ViewCollection* _tmp30_ = NULL; + Marker* _tmp31_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp14_ = _tmp13_; +#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp15_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection)); +#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp16_ = _tmp15_; +#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _data_collection_unref0 (_tmp14_); +#line 86 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + marker = _tmp16_; +#line 1213 "OfflinePage.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp17_ = NULL; + GeeIterator* _tmp18_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp17_ = removed; +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _source_it = _tmp18_; +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + while (TRUE) { +#line 1226 "OfflinePage.c" + GeeIterator* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp21_ = NULL; + gpointer _tmp22_ = NULL; + Marker* _tmp23_ = NULL; + ViewCollection* _tmp24_ = NULL; + ViewCollection* _tmp25_ = NULL; + MediaSource* _tmp26_ = NULL; + DataView* _tmp27_ = NULL; + DataView* _tmp28_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp19_ = _source_it; +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp20_ = gee_iterator_next (_tmp19_); +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (!_tmp20_) { +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + break; +#line 1246 "OfflinePage.c" + } +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp21_ = _source_it; +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp22_ = gee_iterator_get (_tmp21_); +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + source = (MediaSource*) _tmp22_; +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp23_ = marker; +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp24_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp25_ = _tmp24_; +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp26_ = source; +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp27_ = view_collection_get_view_for_source (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_SOURCE, DataSource)); +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp28_ = _tmp27_; +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + marker_mark (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_OBJECT, DataObject)); +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_tmp28_); +#line 88 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _data_collection_unref0 (_tmp25_); +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (source); +#line 1274 "OfflinePage.c" + } +#line 87 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_source_it); +#line 1278 "OfflinePage.c" + } +#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp29_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp30_ = _tmp29_; +#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp31_ = marker; +#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_DATA_COLLECTION, DataCollection), _tmp31_); +#line 89 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _data_collection_unref0 (_tmp30_); +#line 85 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (marker); +#line 1292 "OfflinePage.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 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return result; +#line 1302 "OfflinePage.c" +} + + +static void offline_page_on_remove_from_library (OfflinePage* self) { + GeeCollection* sources = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + AppWindow* _tmp7_ = NULL; + AppWindow* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + AppWindow* _tmp14_ = NULL; + AppWindow* _tmp15_ = NULL; + ProgressDialog* progress = NULL; + GeeCollection* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + GeeArrayList* photos = NULL; + GeeArrayList* _tmp23_ = NULL; + GeeArrayList* videos = NULL; + GeeArrayList* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; + GeeArrayList* _tmp26_ = NULL; + GeeArrayList* _tmp27_ = NULL; + ProgressDialog* _tmp28_ = NULL; + ProgressDialog* _tmp39_ = NULL; + AppWindow* _tmp41_ = NULL; + AppWindow* _tmp42_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_return_if_fail (IS_OFFLINE_PAGE (self)); +#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = _tmp0_; +#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_ = view_collection_get_selected_sources (_tmp1_); +#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _data_collection_unref0 (_tmp1_); +#line 94 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + sources = _tmp3_; +#line 96 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp4_ = sources; +#line 96 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp5_ = gee_collection_get_size (_tmp4_); +#line 96 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp6_ = _tmp5_; +#line 96 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (_tmp6_ == 0) { +#line 97 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (sources); +#line 97 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return; +#line 1365 "OfflinePage.c" + } +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp7_ = app_window_get_instance (); +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp8_ = _tmp7_; +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp9_ = sources; +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp10_ = gee_collection_get_size (_tmp9_); +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp11_ = _tmp10_; +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp12_ = remove_offline_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), _tmp11_); +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp13_ = !_tmp12_; +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_tmp8_); +#line 99 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (_tmp13_) { +#line 100 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (sources); +#line 100 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return; +#line 1389 "OfflinePage.c" + } +#line 102 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp14_ = app_window_get_instance (); +#line 102 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp15_ = _tmp14_; +#line 102 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + page_window_set_busy_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_PAGE_WINDOW, PageWindow)); +#line 102 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_tmp15_); +#line 104 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + progress = NULL; +#line 105 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp16_ = sources; +#line 105 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp17_ = gee_collection_get_size (_tmp16_); +#line 105 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp18_ = _tmp17_; +#line 105 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (_tmp18_ >= 20) { +#line 1409 "OfflinePage.c" + AppWindow* _tmp19_ = NULL; + AppWindow* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + ProgressDialog* _tmp22_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp19_ = app_window_get_instance (); +#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp20_ = _tmp19_; +#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp21_ = _ ("Deleting..."); +#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp22_ = progress_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_window_get_type (), GtkWindow), _tmp21_, NULL); +#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_object_ref_sink (_tmp22_); +#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (progress); +#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + progress = _tmp22_; +#line 106 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_tmp20_); +#line 1430 "OfflinePage.c" + } +#line 108 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp23_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 108 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + photos = _tmp23_; +#line 109 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp24_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 109 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + videos = _tmp24_; +#line 110 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp25_ = sources; +#line 110 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp26_ = photos; +#line 110 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp27_ = videos; +#line 110 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + media_source_collection_filter_media (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 112 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp28_ = progress; +#line 112 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (_tmp28_ != NULL) { +#line 1452 "OfflinePage.c" + LibraryPhotoSourceCollection* _tmp29_ = NULL; + GeeArrayList* _tmp30_ = NULL; + ProgressDialog* _tmp31_ = NULL; + VideoSourceCollection* _tmp32_ = NULL; + GeeArrayList* _tmp33_ = NULL; + ProgressDialog* _tmp34_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp29_ = library_photo_global; +#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp30_ = photos; +#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp31_ = progress; +#line 113 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, _progress_dialog_monitor_progress_monitor, _tmp31_, NULL); +#line 114 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp32_ = video_global; +#line 114 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp33_ = videos; +#line 114 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp34_ = progress; +#line 114 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, _progress_dialog_monitor_progress_monitor, _tmp34_, NULL); +#line 1475 "OfflinePage.c" + } else { + LibraryPhotoSourceCollection* _tmp35_ = NULL; + GeeArrayList* _tmp36_ = NULL; + VideoSourceCollection* _tmp37_ = NULL; + GeeArrayList* _tmp38_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp35_ = library_photo_global; +#line 116 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp36_ = photos; +#line 116 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, NULL, NULL, NULL); +#line 117 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp37_ = video_global; +#line 117 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp38_ = videos; +#line 117 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + media_source_collection_remove_from_app (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, NULL, NULL, NULL); +#line 1493 "OfflinePage.c" + } +#line 120 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp39_ = progress; +#line 120 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + if (_tmp39_ != NULL) { +#line 1499 "OfflinePage.c" + ProgressDialog* _tmp40_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp40_ = progress; +#line 121 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + progress_dialog_close (_tmp40_); +#line 1505 "OfflinePage.c" + } +#line 123 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp41_ = app_window_get_instance (); +#line 123 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp42_ = _tmp41_; +#line 123 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + page_window_set_normal_cursor (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TYPE_PAGE_WINDOW, PageWindow)); +#line 123 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (_tmp42_); +#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (videos); +#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (photos); +#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (progress); +#line 93 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _g_object_unref0 (sources); +#line 1523 "OfflinePage.c" +} + + +static gpointer _view_filter_ref0 (gpointer self) { +#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return self ? view_filter_ref (self) : NULL; +#line 1530 "OfflinePage.c" +} + + +static SearchViewFilter* offline_page_real_get_search_view_filter (CheckerboardPage* base) { + OfflinePage * self; + SearchViewFilter* result = NULL; + OfflinePageOfflineSearchViewFilter* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_OFFLINE_PAGE, OfflinePage); +#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = self->priv->search_filter; +#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + result = _tmp1_; +#line 127 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return result; +#line 1549 "OfflinePage.c" +} + + +static OfflinePageOfflineView* offline_page_offline_view_construct (GType object_type, MediaSource* source) { + OfflinePageOfflineView * self = NULL; + MediaSource* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + MediaSource* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 11 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); +#line 12 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = source; +#line 12 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp1_ = thumbnail_get_DEFAULT_SCALE (); +#line 12 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_ = _tmp1_; +#line 12 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = (OfflinePageOfflineView*) thumbnail_construct (object_type, _tmp0_, _tmp2_); +#line 14 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp3_ = source; +#line 14 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp4_ = media_source_is_offline (_tmp3_); +#line 14 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _vala_assert (_tmp4_, "source.is_offline()"); +#line 11 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return self; +#line 1578 "OfflinePage.c" +} + + +static OfflinePageOfflineView* offline_page_offline_view_new (MediaSource* source) { +#line 11 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return offline_page_offline_view_construct (OFFLINE_PAGE_TYPE_OFFLINE_VIEW, source); +#line 1585 "OfflinePage.c" +} + + +static void offline_page_offline_view_class_init (OfflinePageOfflineViewClass * klass) { +#line 10 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + offline_page_offline_view_parent_class = g_type_class_peek_parent (klass); +#line 1592 "OfflinePage.c" +} + + +static void offline_page_offline_view_instance_init (OfflinePageOfflineView * self) { +} + + +static GType offline_page_offline_view_get_type (void) { + static volatile gsize offline_page_offline_view_type_id__volatile = 0; + if (g_once_init_enter (&offline_page_offline_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (OfflinePageOfflineViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) offline_page_offline_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OfflinePageOfflineView), 0, (GInstanceInitFunc) offline_page_offline_view_instance_init, NULL }; + GType offline_page_offline_view_type_id; + offline_page_offline_view_type_id = g_type_register_static (TYPE_THUMBNAIL, "OfflinePageOfflineView", &g_define_type_info, 0); + g_once_init_leave (&offline_page_offline_view_type_id__volatile, offline_page_offline_view_type_id); + } + return offline_page_offline_view_type_id__volatile; +} + + +static guint offline_page_offline_search_view_filter_real_get_criteria (SearchViewFilter* base) { + OfflinePageOfflineSearchViewFilter * self; + guint result = 0U; +#line 19 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER, OfflinePageOfflineSearchViewFilter); +#line 20 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + result = (guint) ((((SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_FLAG) | SEARCH_FILTER_CRITERIA_MEDIA) | SEARCH_FILTER_CRITERIA_RATING) | SEARCH_FILTER_CRITERIA_SAVEDSEARCH); +#line 20 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return result; +#line 1621 "OfflinePage.c" +} + + +static OfflinePageOfflineSearchViewFilter* offline_page_offline_search_view_filter_construct (GType object_type) { + OfflinePageOfflineSearchViewFilter* self = NULL; +#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = (OfflinePageOfflineSearchViewFilter*) default_search_view_filter_construct (object_type); +#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return self; +#line 1631 "OfflinePage.c" +} + + +static OfflinePageOfflineSearchViewFilter* offline_page_offline_search_view_filter_new (void) { +#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + return offline_page_offline_search_view_filter_construct (OFFLINE_PAGE_TYPE_OFFLINE_SEARCH_VIEW_FILTER); +#line 1638 "OfflinePage.c" +} + + +static void offline_page_offline_search_view_filter_class_init (OfflinePageOfflineSearchViewFilterClass * klass) { +#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + offline_page_offline_search_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 18 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + ((SearchViewFilterClass *) klass)->get_criteria = offline_page_offline_search_view_filter_real_get_criteria; +#line 1647 "OfflinePage.c" +} + + +static void offline_page_offline_search_view_filter_instance_init (OfflinePageOfflineSearchViewFilter * self) { +} + + +static GType offline_page_offline_search_view_filter_get_type (void) { + static volatile gsize offline_page_offline_search_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&offline_page_offline_search_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (OfflinePageOfflineSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) offline_page_offline_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OfflinePageOfflineSearchViewFilter), 0, (GInstanceInitFunc) offline_page_offline_search_view_filter_instance_init, NULL }; + GType offline_page_offline_search_view_filter_type_id; + offline_page_offline_search_view_filter_type_id = g_type_register_static (TYPE_DEFAULT_SEARCH_VIEW_FILTER, "OfflinePageOfflineSearchViewFilter", &g_define_type_info, 0); + g_once_init_leave (&offline_page_offline_search_view_filter_type_id__volatile, offline_page_offline_search_view_filter_type_id); + } + return offline_page_offline_search_view_filter_type_id__volatile; +} + + +static void offline_page_class_init (OfflinePageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + offline_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_type_class_add_private (klass, sizeof (OfflinePagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = offline_page_real_init_collect_ui_filenames; +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + ((PageClass *) klass)->init_collect_action_entries = offline_page_real_init_collect_action_entries; +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + ((CheckerboardPageClass *) klass)->get_view_tracker = offline_page_real_get_view_tracker; +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + ((PageClass *) klass)->update_actions = offline_page_real_update_actions; +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + ((CheckerboardPageClass *) klass)->get_search_view_filter = offline_page_real_get_search_view_filter; +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + G_OBJECT_CLASS (klass)->finalize = offline_page_finalize; +#line 1684 "OfflinePage.c" +} + + +static void offline_page_instance_init (OfflinePage * self) { + OfflinePageOfflineSearchViewFilter* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self->priv = OFFLINE_PAGE_GET_PRIVATE (self); +#line 25 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = offline_page_offline_search_view_filter_new (); +#line 25 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self->priv->search_filter = _tmp0_; +#line 1696 "OfflinePage.c" +} + + +static void offline_page_finalize (GObject* obj) { + OfflinePage * self; + LibraryPhotoSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + VideoSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_OFFLINE_PAGE, OfflinePage); +#line 45 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp0_ = library_photo_global; +#line 45 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_signal_parse_name ("offline-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp1_, NULL, FALSE); +#line 45 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered, self); +#line 46 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _tmp2_ = video_global; +#line 46 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_signal_parse_name ("offline-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp3_, NULL, FALSE); +#line 46 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _offline_page_on_offline_contents_altered_media_source_collection_offline_contents_altered, self); +#line 25 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _view_filter_unref0 (self->priv->search_filter); +#line 26 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + _core_tracker_unref0 (self->priv->tracker); +#line 7 "/home/jens/Source/shotwell/src/library/OfflinePage.vala" + G_OBJECT_CLASS (offline_page_parent_class)->finalize (obj); +#line 1726 "OfflinePage.c" +} + + +GType offline_page_get_type (void) { + static volatile gsize offline_page_type_id__volatile = 0; + if (g_once_init_enter (&offline_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (OfflinePageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) offline_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OfflinePage), 0, (GInstanceInitFunc) offline_page_instance_init, NULL }; + GType offline_page_type_id; + offline_page_type_id = g_type_register_static (TYPE_CHECKERBOARD_PAGE, "OfflinePage", &g_define_type_info, 0); + g_once_init_leave (&offline_page_type_id__volatile, offline_page_type_id); + } + return offline_page_type_id__volatile; +} + + + diff --git a/src/library/OfflinePage.vala b/src/library/OfflinePage.vala index f8ba7c1..771a1fd 100644 --- a/src/library/OfflinePage.vala +++ b/src/library/OfflinePage.vala @@ -18,7 +18,7 @@ public class OfflinePage : CheckerboardPage { private class OfflineSearchViewFilter : DefaultSearchViewFilter { public override uint get_criteria() { return SearchFilterCriteria.TEXT | SearchFilterCriteria.FLAG | - SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING; + SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING | SearchFilterCriteria.SAVEDSEARCH; } } diff --git a/src/library/OfflineSidebarEntry.c b/src/library/OfflineSidebarEntry.c new file mode 100644 index 0000000..a2025d1 --- /dev/null +++ b/src/library/OfflineSidebarEntry.c @@ -0,0 +1,700 @@ +/* OfflineSidebarEntry.c generated by valac 0.32.1, the Vala compiler + * generated from OfflineSidebarEntry.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; + +#define LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY (library_hideable_page_entry_get_type ()) +#define LIBRARY_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_IS_HIDEABLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY)) +#define LIBRARY_HIDEABLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntryClass)) + +typedef struct _LibraryHideablePageEntry LibraryHideablePageEntry; +typedef struct _LibraryHideablePageEntryClass LibraryHideablePageEntryClass; +typedef struct _LibraryHideablePageEntryPrivate LibraryHideablePageEntryPrivate; + +#define LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY (library_offline_sidebar_entry_get_type ()) +#define LIBRARY_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry)) +#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass)) +#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY)) +#define LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY)) +#define LIBRARY_OFFLINE_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntryClass)) + +typedef struct _LibraryOfflineSidebarEntry LibraryOfflineSidebarEntry; +typedef struct _LibraryOfflineSidebarEntryClass LibraryOfflineSidebarEntryClass; +typedef struct _LibraryOfflineSidebarEntryPrivate LibraryOfflineSidebarEntryPrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#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_OFFLINE_PAGE (offline_page_get_type ()) +#define OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OFFLINE_PAGE, OfflinePage)) +#define OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OFFLINE_PAGE, OfflinePageClass)) +#define IS_OFFLINE_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OFFLINE_PAGE)) +#define IS_OFFLINE_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OFFLINE_PAGE)) +#define OFFLINE_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OFFLINE_PAGE, OfflinePageClass)) + +typedef struct _OfflinePage OfflinePage; +typedef struct _OfflinePageClass OfflinePageClass; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _LibraryHideablePageEntry { + SidebarSimplePageEntry parent_instance; + LibraryHideablePageEntryPrivate * priv; +}; + +struct _LibraryHideablePageEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _LibraryOfflineSidebarEntry { + LibraryHideablePageEntry parent_instance; + LibraryOfflineSidebarEntryPrivate * priv; +}; + +struct _LibraryOfflineSidebarEntryClass { + LibraryHideablePageEntryClass parent_class; +}; + + +static gpointer library_offline_sidebar_entry_parent_class = NULL; + +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType library_hideable_page_entry_get_type (void) G_GNUC_CONST; +GType library_offline_sidebar_entry_get_type (void) G_GNUC_CONST; +enum { + LIBRARY_OFFLINE_SIDEBAR_ENTRY_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +static void library_offline_sidebar_entry_on_offline_contents_altered (LibraryOfflineSidebarEntry* self); +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +static void _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +LibraryOfflineSidebarEntry* library_offline_sidebar_entry_new (void); +LibraryOfflineSidebarEntry* library_offline_sidebar_entry_construct (GType object_type); +LibraryHideablePageEntry* library_hideable_page_entry_construct (GType object_type); +static void _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_offline_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +static gint library_offline_sidebar_entry_get_total_offline (LibraryOfflineSidebarEntry* self); +void library_hideable_page_entry_set_visible (LibraryHideablePageEntry* self, gboolean value); +GeeCollection* media_source_collection_get_offline_bin_contents (MediaSourceCollection* self); +static gchar* library_offline_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +#define OFFLINE_PAGE_NAME _ ("Missing Files") +static gchar* library_offline_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +#define RESOURCES_ICON_MISSING_FILES "process-stop" +static Page* library_offline_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +OfflinePage* offline_page_new (void); +OfflinePage* offline_page_construct (GType object_type); +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType offline_page_get_type (void) G_GNUC_CONST; +static void library_offline_sidebar_entry_finalize (GObject* obj); + + +static void _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 18 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + library_offline_sidebar_entry_on_offline_contents_altered ((LibraryOfflineSidebarEntry*) self); +#line 338 "OfflineSidebarEntry.c" +} + + +static void _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_offline_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 11 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + library_offline_sidebar_entry_on_offline_contents_altered ((LibraryOfflineSidebarEntry*) self); +#line 345 "OfflineSidebarEntry.c" +} + + +LibraryOfflineSidebarEntry* library_offline_sidebar_entry_construct (GType object_type) { + LibraryOfflineSidebarEntry * self = NULL; + gint _tmp11_ = 0; +#line 8 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + self = (LibraryOfflineSidebarEntry*) library_hideable_page_entry_construct (object_type); +#line 354 "OfflineSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + while (TRUE) { +#line 383 "OfflineSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + if (!_tmp7_) { +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + break; +#line 398 "OfflineSidebarEntry.c" + } +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 11 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp10_ = media_sources; +#line 11 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + g_signal_connect_object (_tmp10_, "offline-contents-altered", (GCallback) _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_offline_contents_altered, self, 0); +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 412 "OfflineSidebarEntry.c" + } +#line 10 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 416 "OfflineSidebarEntry.c" + } +#line 13 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp11_ = library_offline_sidebar_entry_get_total_offline (self); +#line 13 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp11_ != 0); +#line 8 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + return self; +#line 424 "OfflineSidebarEntry.c" +} + + +LibraryOfflineSidebarEntry* library_offline_sidebar_entry_new (void) { +#line 8 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + return library_offline_sidebar_entry_construct (LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY); +#line 431 "OfflineSidebarEntry.c" +} + + +static void library_offline_sidebar_entry_on_offline_contents_altered (LibraryOfflineSidebarEntry* self) { + gint _tmp0_ = 0; +#line 21 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + g_return_if_fail (LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY (self)); +#line 22 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp0_ = library_offline_sidebar_entry_get_total_offline (self); +#line 22 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + library_hideable_page_entry_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, LibraryHideablePageEntry), _tmp0_ != 0); +#line 443 "OfflineSidebarEntry.c" +} + + +static gint library_offline_sidebar_entry_get_total_offline (LibraryOfflineSidebarEntry* self) { + gint result = 0; + gint total = 0; +#line 25 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + g_return_val_if_fail (LIBRARY_IS_OFFLINE_SIDEBAR_ENTRY (self), 0); +#line 26 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + total = 0; +#line 454 "OfflineSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + while (TRUE) { +#line 483 "OfflineSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + gint _tmp10_ = 0; + MediaSourceCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeCollection* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + if (!_tmp7_) { +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + break; +#line 503 "OfflineSidebarEntry.c" + } +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp10_ = total; +#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp11_ = media_sources; +#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp12_ = media_source_collection_get_offline_bin_contents (_tmp11_); +#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp13_ = _tmp12_; +#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp14_ = gee_collection_get_size (_tmp13_); +#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp15_ = _tmp14_; +#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + total = _tmp10_ + _tmp15_; +#line 28 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _g_object_unref0 (_tmp13_); +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 529 "OfflineSidebarEntry.c" + } +#line 27 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 533 "OfflineSidebarEntry.c" + } +#line 30 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + result = total; +#line 30 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + return result; +#line 539 "OfflineSidebarEntry.c" +} + + +static gchar* library_offline_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + LibraryOfflineSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry); +#line 34 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp0_ = g_strdup (OFFLINE_PAGE_NAME); +#line 34 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + result = _tmp0_; +#line 34 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + return result; +#line 555 "OfflineSidebarEntry.c" +} + + +static gchar* library_offline_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + LibraryOfflineSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry); +#line 38 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_MISSING_FILES); +#line 38 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + result = _tmp0_; +#line 38 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + return result; +#line 571 "OfflineSidebarEntry.c" +} + + +static Page* library_offline_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + LibraryOfflineSidebarEntry * self; + Page* result = NULL; + OfflinePage* _tmp0_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry); +#line 42 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp0_ = offline_page_new (); +#line 42 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + g_object_ref_sink (_tmp0_); +#line 42 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page); +#line 42 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + return result; +#line 589 "OfflineSidebarEntry.c" +} + + +static void library_offline_sidebar_entry_class_init (LibraryOfflineSidebarEntryClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + library_offline_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_offline_sidebar_entry_real_get_sidebar_name; +#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_offline_sidebar_entry_real_get_sidebar_icon; +#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = library_offline_sidebar_entry_real_create_page; +#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + G_OBJECT_CLASS (klass)->finalize = library_offline_sidebar_entry_finalize; +#line 604 "OfflineSidebarEntry.c" +} + + +static void library_offline_sidebar_entry_instance_init (LibraryOfflineSidebarEntry * self) { +} + + +static void library_offline_sidebar_entry_finalize (GObject* obj) { + LibraryOfflineSidebarEntry * self; +#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_OFFLINE_SIDEBAR_ENTRY, LibraryOfflineSidebarEntry); +#line 616 "OfflineSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + while (TRUE) { +#line 645 "OfflineSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + if (!_tmp7_) { +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + break; +#line 661 "OfflineSidebarEntry.c" + } +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 18 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _tmp10_ = media_sources; +#line 18 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + g_signal_parse_name ("trashcan-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE); +#line 18 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_offline_sidebar_entry_on_offline_contents_altered_media_source_collection_trashcan_contents_altered, self); +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 677 "OfflineSidebarEntry.c" + } +#line 17 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 681 "OfflineSidebarEntry.c" + } +#line 7 "/home/jens/Source/shotwell/src/library/OfflineSidebarEntry.vala" + G_OBJECT_CLASS (library_offline_sidebar_entry_parent_class)->finalize (obj); +#line 685 "OfflineSidebarEntry.c" +} + + +GType library_offline_sidebar_entry_get_type (void) { + static volatile gsize library_offline_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&library_offline_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryOfflineSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_offline_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryOfflineSidebarEntry), 0, (GInstanceInitFunc) library_offline_sidebar_entry_instance_init, NULL }; + GType library_offline_sidebar_entry_type_id; + library_offline_sidebar_entry_type_id = g_type_register_static (LIBRARY_TYPE_HIDEABLE_PAGE_ENTRY, "LibraryOfflineSidebarEntry", &g_define_type_info, 0); + g_once_init_leave (&library_offline_sidebar_entry_type_id__volatile, library_offline_sidebar_entry_type_id); + } + return library_offline_sidebar_entry_type_id__volatile; +} + + + diff --git a/src/library/TrashPage.c b/src/library/TrashPage.c new file mode 100644 index 0000000..000b8b5 --- /dev/null +++ b/src/library/TrashPage.c @@ -0,0 +1,1706 @@ +/* TrashPage.c generated by valac 0.32.1, the Vala compiler + * generated from TrashPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#define TYPE_TRASH_PAGE (trash_page_get_type ()) +#define TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_PAGE, TrashPage)) +#define TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_PAGE, TrashPageClass)) +#define IS_TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_PAGE)) +#define IS_TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_PAGE)) +#define TRASH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_PAGE, TrashPageClass)) + +typedef struct _TrashPage TrashPage; +typedef struct _TrashPageClass TrashPageClass; +typedef struct _TrashPagePrivate TrashPagePrivate; + +#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ()) +#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter)) +#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER)) +#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass)) + +typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter; +typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass; + +#define TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER (trash_page_trash_search_view_filter_get_type ()) +#define TRASH_PAGE_TRASH_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER, TrashPageTrashSearchViewFilter)) +#define TRASH_PAGE_TRASH_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER, TrashPageTrashSearchViewFilterClass)) +#define TRASH_PAGE_IS_TRASH_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER)) +#define TRASH_PAGE_IS_TRASH_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER)) +#define TRASH_PAGE_TRASH_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER, TrashPageTrashSearchViewFilterClass)) + +typedef struct _TrashPageTrashSearchViewFilter TrashPageTrashSearchViewFilter; +typedef struct _TrashPageTrashSearchViewFilterClass TrashPageTrashSearchViewFilterClass; + +#define TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ()) +#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker)) +#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) +#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER)) +#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER)) +#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass)) + +typedef struct _MediaViewTracker MediaViewTracker; +typedef struct _MediaViewTrackerClass MediaViewTrackerClass; +#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL))) +#define _core_tracker_unref0(var) ((var == NULL) ? NULL : (var = (core_tracker_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_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_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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_MEDIA_SOURCE_ITEM (media_source_item_get_type ()) +#define MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem)) +#define MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass)) +#define IS_MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_ITEM)) +#define IS_MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_ITEM)) +#define MEDIA_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass)) + +typedef struct _MediaSourceItem MediaSourceItem; +typedef struct _MediaSourceItemClass MediaSourceItemClass; + +#define TYPE_THUMBNAIL (thumbnail_get_type ()) +#define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail)) +#define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass)) +#define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL)) +#define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL)) +#define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass)) + +typedef struct _Thumbnail Thumbnail; +typedef struct _ThumbnailClass ThumbnailClass; + +#define TRASH_PAGE_TYPE_TRASH_VIEW (trash_page_trash_view_get_type ()) +#define TRASH_PAGE_TRASH_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRASH_PAGE_TYPE_TRASH_VIEW, TrashPageTrashView)) +#define TRASH_PAGE_TRASH_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRASH_PAGE_TYPE_TRASH_VIEW, TrashPageTrashViewClass)) +#define TRASH_PAGE_IS_TRASH_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRASH_PAGE_TYPE_TRASH_VIEW)) +#define TRASH_PAGE_IS_TRASH_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRASH_PAGE_TYPE_TRASH_VIEW)) +#define TRASH_PAGE_TRASH_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TRASH_PAGE_TYPE_TRASH_VIEW, TrashPageTrashViewClass)) + +typedef struct _TrashPageTrashView TrashPageTrashView; +typedef struct _TrashPageTrashViewClass TrashPageTrashViewClass; + +#define TYPE_MARKER (marker_get_type ()) +#define MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MARKER, Marker)) +#define IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MARKER)) +#define MARKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_MARKER, MarkerIface)) + +typedef struct _Marker Marker; +typedef struct _MarkerIface MarkerIface; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_TRASH_UNTRASH_PHOTOS_COMMAND (trash_untrash_photos_command_get_type ()) +#define TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand)) +#define TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass)) +#define IS_TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND)) +#define IS_TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND)) +#define TRASH_UNTRASH_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass)) + +typedef struct _TrashUntrashPhotosCommand TrashUntrashPhotosCommand; +typedef struct _TrashUntrashPhotosCommandClass TrashUntrashPhotosCommandClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +typedef struct _DataViewPrivate DataViewPrivate; +typedef struct _ThumbnailViewPrivate ThumbnailViewPrivate; +typedef struct _CheckerboardItemPrivate CheckerboardItemPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _MediaSourceItemPrivate MediaSourceItemPrivate; +typedef struct _ThumbnailPrivate ThumbnailPrivate; +typedef struct _TrashPageTrashViewPrivate TrashPageTrashViewPrivate; +typedef struct _ViewFilterPrivate ViewFilterPrivate; +typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate; +typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate; +typedef struct _TrashPageTrashSearchViewFilterPrivate TrashPageTrashSearchViewFilterPrivate; + +#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ()) +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +struct _TrashPage { + CheckerboardPage parent_instance; + TrashPagePrivate * priv; +}; + +struct _TrashPageClass { + CheckerboardPageClass parent_class; +}; + +struct _TrashPagePrivate { + TrashPageTrashSearchViewFilter* search_filter; + MediaViewTracker* tracker; +}; + +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); +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataView { + DataObject parent_instance; + DataViewPrivate * priv; +}; + +struct _DataViewClass { + DataObjectClass parent_class; + void (*notify_view_altered) (DataView* self); + void (*notify_geometry_altered) (DataView* self); + void (*notify_unsubscribed) (DataView* self, DataSource* source); + void (*state_changed) (DataView* self, gboolean selected); + void (*visibility_changed) (DataView* self, gboolean visible); + void (*view_altered) (DataView* self); + void (*geometry_altered) (DataView* self); + void (*unsubscribed) (DataView* self, DataSource* source); +}; + +struct _ThumbnailView { + DataView parent_instance; + ThumbnailViewPrivate * priv; +}; + +struct _ThumbnailViewClass { + DataViewClass parent_class; + void (*notify_thumbnail_altered) (ThumbnailView* self); + void (*thumbnail_altered) (ThumbnailView* self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _CheckerboardItem { + ThumbnailView parent_instance; + CheckerboardItemPrivate * priv; + Dimensions requisition; + GdkRectangle allocation; +}; + +struct _CheckerboardItemClass { + ThumbnailViewClass parent_class; + void (*exposed) (CheckerboardItem* self); + void (*unexposed) (CheckerboardItem* self); + gboolean (*is_exposed) (CheckerboardItem* self); + void (*paint_shadow) (CheckerboardItem* self, cairo_t* ctx, Dimensions* dimensions, GdkPoint* origin, gint radius, gfloat initial_alpha); + void (*paint_border) (CheckerboardItem* self, cairo_t* ctx, Dimensions* object_dimensions, GdkPoint* object_origin, gint border_width); + void (*paint_image) (CheckerboardItem* self, cairo_t* ctx, GdkPixbuf* pixbuf, GdkPoint* origin); + GdkPixbuf* (*get_top_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_top_right_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_left_trinket) (CheckerboardItem* self, gint scale); + GdkPixbuf* (*get_bottom_right_trinket) (CheckerboardItem* self, gint scale); +}; + +struct _MediaSourceItem { + CheckerboardItem parent_instance; + MediaSourceItemPrivate * priv; +}; + +struct _MediaSourceItemClass { + CheckerboardItemClass parent_class; +}; + +struct _Thumbnail { + MediaSourceItem parent_instance; + ThumbnailPrivate * priv; +}; + +struct _ThumbnailClass { + MediaSourceItemClass parent_class; +}; + +struct _TrashPageTrashView { + Thumbnail parent_instance; + TrashPageTrashViewPrivate * priv; +}; + +struct _TrashPageTrashViewClass { + ThumbnailClass parent_class; +}; + +struct _ViewFilter { + GTypeInstance parent_instance; + volatile int ref_count; + ViewFilterPrivate * priv; +}; + +struct _ViewFilterClass { + GTypeClass parent_class; + void (*finalize) (ViewFilter *self); + gboolean (*predicate) (ViewFilter* self, DataView* view); + void (*refresh) (ViewFilter* self); +}; + +struct _SearchViewFilter { + ViewFilter parent_instance; + SearchViewFilterPrivate * priv; +}; + +struct _SearchViewFilterClass { + ViewFilterClass parent_class; + guint (*get_criteria) (SearchViewFilter* self); +}; + +struct _DefaultSearchViewFilter { + SearchViewFilter parent_instance; + DefaultSearchViewFilterPrivate * priv; +}; + +struct _DefaultSearchViewFilterClass { + SearchViewFilterClass parent_class; +}; + +struct _TrashPageTrashSearchViewFilter { + DefaultSearchViewFilter parent_instance; + TrashPageTrashSearchViewFilterPrivate * priv; +}; + +struct _TrashPageTrashSearchViewFilterClass { + DefaultSearchViewFilterClass parent_class; +}; + +typedef enum { + SEARCH_FILTER_CRITERIA_NONE = 0, + SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0, + SEARCH_FILTER_CRITERIA_TEXT = 1 << 1, + SEARCH_FILTER_CRITERIA_FLAG = 1 << 2, + SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3, + SEARCH_FILTER_CRITERIA_RATING = 1 << 4, + SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5, + SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL +} SearchFilterCriteria; + + +static gpointer trash_page_parent_class = NULL; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +static gpointer trash_page_trash_view_parent_class = NULL; +static gpointer trash_page_trash_search_view_filter_parent_class = NULL; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType trash_page_get_type (void) G_GNUC_CONST; +GType default_search_view_filter_get_type (void) G_GNUC_CONST; +static GType trash_page_trash_search_view_filter_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType media_view_tracker_get_type (void) G_GNUC_CONST; +#define TRASH_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TRASH_PAGE, TrashPagePrivate)) +enum { + TRASH_PAGE_DUMMY_PROPERTY +}; +static TrashPageTrashSearchViewFilter* trash_page_trash_search_view_filter_new (void); +static TrashPageTrashSearchViewFilter* trash_page_trash_search_view_filter_construct (GType object_type); +#define TRASH_PAGE_NAME _ ("Trash") +TrashPage* trash_page_new (void); +TrashPage* trash_page_construct (GType object_type); +CheckerboardPage* checkerboard_page_construct (GType object_type, const gchar* page_name); +void checkerboard_page_init_item_context_menu (CheckerboardPage* self, const gchar* path); +void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path); +void page_init_toolbar (Page* self, const gchar* path); +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); +MediaViewTracker* media_view_tracker_new (ViewCollection* collection); +MediaViewTracker* media_view_tracker_construct (GType object_type, ViewCollection* collection); +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +static void trash_page_on_trashcan_contents_altered (TrashPage* self, GeeCollection* added, GeeCollection* removed); +static void _trash_page_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +GType video_source_collection_get_type (void) G_GNUC_CONST; +GeeCollection* media_source_collection_get_trashcan_contents (MediaSourceCollection* self); +static void trash_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* trash_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define RESOURCES_DELETE_LABEL _ ("_Delete") +#define TRANSLATABLE "translatable" +static void trash_page_on_delete (TrashPage* self); +static void _trash_page_on_delete_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_DELETE_PHOTOS_MENU _ ("_Delete") +#define RESOURCES_DELETE_FROM_TRASH_TOOLTIP _ ("Remove the selected photos from the trash") +static void _vala_array_add89 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_UNDELETE_LABEL _ ("_Undelete") +static void trash_page_on_restore (TrashPage* self); +static void _trash_page_on_restore_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_RESTORE_PHOTOS_MENU _ ("_Restore") +#define RESOURCES_RESTORE_PHOTOS_TOOLTIP _ ("Move the selected photos back into the library") +static void _vala_array_add90 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static CoreViewTracker* trash_page_real_get_view_tracker (CheckerboardPage* base); +static void trash_page_real_update_actions (Page* base, gint selected_count, gint count); +void page_set_action_sensitive (Page* self, const gchar* name, gboolean sensitive); +void page_set_action_important (Page* self, const gchar* name, gboolean important); +void page_set_common_action_important (Page* self, const gchar* name, gboolean important); +void page_update_actions (Page* self, gint selected_count, gint count); +gboolean data_collection_add (DataCollection* self, DataObject* object); +static TrashPageTrashView* trash_page_trash_view_new (MediaSource* source); +static TrashPageTrashView* trash_page_trash_view_construct (GType object_type, MediaSource* source); +GType media_source_item_get_type (void) G_GNUC_CONST; +GType thumbnail_get_type (void) G_GNUC_CONST; +static GType trash_page_trash_view_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType marker_get_type (void) G_GNUC_CONST; +Marker* data_collection_start_marking (DataCollection* self); +void marker_mark (Marker* self, DataObject* object); +DataView* view_collection_get_view_for_source (ViewCollection* self, DataSource* source); +void data_collection_remove_marked (DataCollection* self, Marker* m); +gint view_collection_get_selected_count (ViewCollection* self); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +GeeList* view_collection_get_selected_sources (ViewCollection* self); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources, gboolean to_trash); +TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash); +GType page_command_get_type (void) G_GNUC_CONST; +GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST; +static gchar* trash_page_real_get_view_empty_message (CheckerboardPage* base); +void remove_from_app (GeeCollection* sources, const gchar* dialog_title, const gchar* progress_dialog_text); +static SearchViewFilter* trash_page_real_get_search_view_filter (CheckerboardPage* base); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +enum { + TRASH_PAGE_TRASH_VIEW_DUMMY_PROPERTY +}; +gint thumbnail_get_DEFAULT_SCALE (void); +Thumbnail* thumbnail_new (MediaSource* media, gint scale); +Thumbnail* thumbnail_construct (GType object_type, MediaSource* media, gint scale); +gboolean media_source_is_trashed (MediaSource* self); +enum { + TRASH_PAGE_TRASH_SEARCH_VIEW_FILTER_DUMMY_PROPERTY +}; +static guint trash_page_trash_search_view_filter_real_get_criteria (SearchViewFilter* base); +GType search_filter_criteria_get_type (void) G_GNUC_CONST; +DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type); +static void trash_page_finalize (GObject* obj); + + +static void _trash_page_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 38 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + trash_page_on_trashcan_contents_altered ((TrashPage*) self, added, removed); +#line 883 "TrashPage.c" +} + + +TrashPage* trash_page_construct (GType object_type) { + TrashPage * self = NULL; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + MediaViewTracker* _tmp2_ = NULL; + LibraryPhotoSourceCollection* _tmp3_ = NULL; + VideoSourceCollection* _tmp4_ = NULL; + LibraryPhotoSourceCollection* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + VideoSourceCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = (TrashPage*) checkerboard_page_construct (object_type, TRASH_PAGE_NAME); +#line 31 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + checkerboard_page_init_item_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/TrashContextMenu"); +#line 32 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + checkerboard_page_init_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/TrashPageMenu"); +#line 33 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + page_init_toolbar (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "/TrashToolbar"); +#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = _tmp0_; +#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_ = media_view_tracker_new (_tmp1_); +#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _core_tracker_unref0 (self->priv->tracker); +#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self->priv->tracker = _tmp2_; +#line 35 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp1_); +#line 38 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp3_ = library_photo_global; +#line 38 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "trashcan-contents-altered", (GCallback) _trash_page_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0); +#line 39 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp4_ = video_global; +#line 39 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection), "trashcan-contents-altered", (GCallback) _trash_page_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0); +#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_ = library_photo_global; +#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp6_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp7_ = _tmp6_; +#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + trash_page_on_trashcan_contents_altered (self, _tmp7_, NULL); +#line 40 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_tmp7_); +#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp8_ = video_global; +#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp9_ = media_source_collection_get_trashcan_contents (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp10_ = _tmp9_; +#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + trash_page_on_trashcan_contents_altered (self, _tmp10_, NULL); +#line 41 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_tmp10_); +#line 28 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return self; +#line 950 "TrashPage.c" +} + + +TrashPage* trash_page_new (void) { +#line 28 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return trash_page_construct (TYPE_TRASH_PAGE); +#line 957 "TrashPage.c" +} + + +static void trash_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + TrashPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage); +#line 44 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 45 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = ui_filenames; +#line 45 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + PAGE_CLASS (trash_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp0_); +#line 47 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = ui_filenames; +#line 47 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "trash.ui"); +#line 977 "TrashPage.c" +} + + +static void _trash_page_on_delete_gtk_action_callback (GtkAction* action, gpointer self) { +#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + trash_page_on_delete ((TrashPage*) self); +#line 984 "TrashPage.c" +} + + +static void _vala_array_add89 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if ((*length) == (*size)) { +#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 995 "TrashPage.c" + } +#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + (*array)[(*length)++] = *value; +#line 999 "TrashPage.c" +} + + +static void _trash_page_on_restore_gtk_action_callback (GtkAction* action, gpointer self) { +#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + trash_page_on_restore ((TrashPage*) self); +#line 1006 "TrashPage.c" +} + + +static void _vala_array_add90 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if ((*length) == (*size)) { +#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1017 "TrashPage.c" + } +#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + (*array)[(*length)++] = *value; +#line 1021 "TrashPage.c" +} + + +static GtkActionEntry* trash_page_real_init_collect_action_entries (Page* base, int* result_length1) { + TrashPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry delete_action = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry restore = {0}; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry* _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 50 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage); +#line 51 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = PAGE_CLASS (trash_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), &_tmp0_); +#line 51 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + actions = _tmp1_; +#line 51 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + actions_length1 = _tmp0_; +#line 51 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _actions_size_ = actions_length1; +#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_.name = "Delete"; +#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_.stock_id = RESOURCES_DELETE_LABEL; +#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_.accelerator = "Delete"; +#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_.tooltip = TRANSLATABLE; +#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_.callback = (GCallback) _trash_page_on_delete_gtk_action_callback; +#line 53 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + delete_action = _tmp2_; +#line 55 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + delete_action.label = RESOURCES_DELETE_PHOTOS_MENU; +#line 56 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + delete_action.tooltip = RESOURCES_DELETE_FROM_TRASH_TOOLTIP; +#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp3_ = actions; +#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp3__length1 = actions_length1; +#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp4_ = delete_action; +#line 57 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _vala_array_add89 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_.name = "Restore"; +#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_.stock_id = RESOURCES_UNDELETE_LABEL; +#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_.accelerator = NULL; +#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_.tooltip = TRANSLATABLE; +#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_.callback = (GCallback) _trash_page_on_restore_gtk_action_callback; +#line 59 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + restore = _tmp5_; +#line 61 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + restore.label = RESOURCES_RESTORE_PHOTOS_MENU; +#line 62 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + restore.tooltip = RESOURCES_RESTORE_PHOTOS_TOOLTIP; +#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp6_ = actions; +#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp6__length1 = actions_length1; +#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp7_ = restore; +#line 63 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _vala_array_add90 (&actions, &actions_length1, &_actions_size_, &_tmp7_); +#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp8_ = actions; +#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp8__length1 = actions_length1; +#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if (result_length1) { +#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + *result_length1 = _tmp8__length1; +#line 1115 "TrashPage.c" + } +#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + result = _tmp8_; +#line 65 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return result; +#line 1121 "TrashPage.c" +} + + +static gpointer _core_tracker_ref0 (gpointer self) { +#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return self ? core_tracker_ref (self) : NULL; +#line 1128 "TrashPage.c" +} + + +static CoreViewTracker* trash_page_real_get_view_tracker (CheckerboardPage* base) { + TrashPage * self; + CoreViewTracker* result = NULL; + MediaViewTracker* _tmp0_ = NULL; + CoreViewTracker* _tmp1_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage); +#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = self->priv->tracker; +#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, CORE_TYPE_VIEW_TRACKER, CoreViewTracker)); +#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + result = _tmp1_; +#line 69 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return result; +#line 1147 "TrashPage.c" +} + + +static void trash_page_real_update_actions (Page* base, gint selected_count, gint count) { + TrashPage * self; + gboolean has_selected = FALSE; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 72 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage); +#line 73 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = selected_count; +#line 73 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + has_selected = _tmp0_ > 0; +#line 75 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Delete", has_selected); +#line 76 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Delete", TRUE); +#line 77 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + page_set_action_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Restore", has_selected); +#line 78 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + page_set_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "Restore", TRUE); +#line 79 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + page_set_common_action_important (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "CommonEmptyTrash", TRUE); +#line 81 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = selected_count; +#line 81 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_ = count; +#line 81 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + PAGE_CLASS (trash_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), TYPE_PAGE, Page), _tmp1_, _tmp2_); +#line 1179 "TrashPage.c" +} + + +static void trash_page_on_trashcan_contents_altered (TrashPage* self, GeeCollection* added, GeeCollection* removed) { + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp12_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_return_if_fail (IS_TRASH_PAGE (self)); +#line 84 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_return_if_fail ((added == NULL) || GEE_IS_COLLECTION (added)); +#line 84 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_COLLECTION (removed)); +#line 86 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = added; +#line 86 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if (_tmp0_ != NULL) { +#line 1196 "TrashPage.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = added; +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _source_it = _tmp2_; +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + while (TRUE) { +#line 1209 "TrashPage.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; + TrashPageTrashView* _tmp10_ = NULL; + TrashPageTrashView* _tmp11_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp3_ = _source_it; +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if (!_tmp4_) { +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + break; +#line 1228 "TrashPage.c" + } +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_ = _source_it; +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + source = (MediaSource*) _tmp6_; +#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp8_ = _tmp7_; +#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp9_ = source; +#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp10_ = trash_page_trash_view_new (_tmp9_); +#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp11_ = _tmp10_; +#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_OBJECT, DataObject)); +#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_tmp11_); +#line 88 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp8_); +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (source); +#line 1254 "TrashPage.c" + } +#line 87 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_source_it); +#line 1258 "TrashPage.c" + } + } +#line 91 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp12_ = removed; +#line 91 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if (_tmp12_ != NULL) { +#line 1265 "TrashPage.c" + Marker* marker = NULL; + ViewCollection* _tmp13_ = NULL; + ViewCollection* _tmp14_ = NULL; + Marker* _tmp15_ = NULL; + Marker* _tmp16_ = NULL; + ViewCollection* _tmp29_ = NULL; + ViewCollection* _tmp30_ = NULL; + Marker* _tmp31_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp13_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp14_ = _tmp13_; +#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp15_ = data_collection_start_marking (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, TYPE_DATA_COLLECTION, DataCollection)); +#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp16_ = _tmp15_; +#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp14_); +#line 92 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + marker = _tmp16_; +#line 1286 "TrashPage.c" + { + GeeIterator* _source_it = NULL; + GeeCollection* _tmp17_ = NULL; + GeeIterator* _tmp18_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp17_ = removed; +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp18_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _source_it = _tmp18_; +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + while (TRUE) { +#line 1299 "TrashPage.c" + GeeIterator* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + MediaSource* source = NULL; + GeeIterator* _tmp21_ = NULL; + gpointer _tmp22_ = NULL; + Marker* _tmp23_ = NULL; + ViewCollection* _tmp24_ = NULL; + ViewCollection* _tmp25_ = NULL; + MediaSource* _tmp26_ = NULL; + DataView* _tmp27_ = NULL; + DataView* _tmp28_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp19_ = _source_it; +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp20_ = gee_iterator_next (_tmp19_); +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if (!_tmp20_) { +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + break; +#line 1319 "TrashPage.c" + } +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp21_ = _source_it; +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp22_ = gee_iterator_get (_tmp21_); +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + source = (MediaSource*) _tmp22_; +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp23_ = marker; +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp24_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp25_ = _tmp24_; +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp26_ = source; +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp27_ = view_collection_get_view_for_source (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, TYPE_DATA_SOURCE, DataSource)); +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp28_ = _tmp27_; +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + marker_mark (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, TYPE_DATA_OBJECT, DataObject)); +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_tmp28_); +#line 94 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp25_); +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (source); +#line 1347 "TrashPage.c" + } +#line 93 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_source_it); +#line 1351 "TrashPage.c" + } +#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp29_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp30_ = _tmp29_; +#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp31_ = marker; +#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_DATA_COLLECTION, DataCollection), _tmp31_); +#line 95 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp30_); +#line 91 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (marker); +#line 1365 "TrashPage.c" + } +} + + +static void trash_page_on_restore (TrashPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + CommandManager* _tmp4_ = NULL; + CommandManager* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + TrashUntrashPhotosCommand* _tmp10_ = NULL; + TrashUntrashPhotosCommand* _tmp11_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_return_if_fail (IS_TRASH_PAGE (self)); +#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = _tmp0_; +#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp3_ = _tmp2_ == 0; +#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp1_); +#line 100 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if (_tmp3_) { +#line 101 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return; +#line 1399 "TrashPage.c" + } +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp4_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_ = _tmp4_; +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp7_ = _tmp6_; +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp8_ = view_collection_get_selected_sources (_tmp7_); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp10_ = trash_untrash_photos_command_new (_tmp9_, FALSE); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp11_ = _tmp10_; +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + command_manager_execute (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_COMMAND, Command)); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_tmp11_); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_tmp9_); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp7_); +#line 103 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _command_manager_unref0 (_tmp5_); +#line 1427 "TrashPage.c" +} + + +static gchar* trash_page_real_get_view_empty_message (CheckerboardPage* base) { + TrashPage * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage); +#line 108 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = _ ("Trash is empty"); +#line 108 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 108 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + result = _tmp1_; +#line 108 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return result; +#line 1446 "TrashPage.c" +} + + +static void trash_page_on_delete (TrashPage* self) { + const gchar* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + ViewCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_return_if_fail (IS_TRASH_PAGE (self)); +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_ = _tmp1_; +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp3_ = view_collection_get_selected_count (_tmp2_); +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp4_ = _tmp3_ == 1; +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp2_); +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + if (_tmp4_) { +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = "Deleting a Photo"; +#line 1477 "TrashPage.c" + } else { + const gchar* _tmp5_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp5_ = _ ("Deleting Photos"); +#line 113 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = _tmp5_; +#line 1484 "TrashPage.c" + } +#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp7_ = _tmp6_; +#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp8_ = view_collection_get_selected_sources (_tmp7_); +#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection); +#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp10_ = _ ("Delete"); +#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + remove_from_app (_tmp9_, _tmp10_, _tmp0_); +#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _g_object_unref0 (_tmp9_); +#line 112 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _data_collection_unref0 (_tmp7_); +#line 1502 "TrashPage.c" +} + + +static gpointer _view_filter_ref0 (gpointer self) { +#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return self ? view_filter_ref (self) : NULL; +#line 1509 "TrashPage.c" +} + + +static SearchViewFilter* trash_page_real_get_search_view_filter (CheckerboardPage* base) { + TrashPage * self; + SearchViewFilter* result = NULL; + TrashPageTrashSearchViewFilter* _tmp0_ = NULL; + SearchViewFilter* _tmp1_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TRASH_PAGE, TrashPage); +#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = self->priv->search_filter; +#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = _view_filter_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)); +#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + result = _tmp1_; +#line 117 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return result; +#line 1528 "TrashPage.c" +} + + +static TrashPageTrashView* trash_page_trash_view_construct (GType object_type, MediaSource* source) { + TrashPageTrashView * self = NULL; + MediaSource* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + MediaSource* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 11 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), NULL); +#line 12 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = source; +#line 12 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp1_ = thumbnail_get_DEFAULT_SCALE (); +#line 12 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp2_ = _tmp1_; +#line 12 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = (TrashPageTrashView*) thumbnail_construct (object_type, _tmp0_, _tmp2_); +#line 14 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp3_ = source; +#line 14 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp4_ = media_source_is_trashed (_tmp3_); +#line 14 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _vala_assert (_tmp4_, "source.is_trashed()"); +#line 11 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return self; +#line 1557 "TrashPage.c" +} + + +static TrashPageTrashView* trash_page_trash_view_new (MediaSource* source) { +#line 11 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return trash_page_trash_view_construct (TRASH_PAGE_TYPE_TRASH_VIEW, source); +#line 1564 "TrashPage.c" +} + + +static void trash_page_trash_view_class_init (TrashPageTrashViewClass * klass) { +#line 10 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + trash_page_trash_view_parent_class = g_type_class_peek_parent (klass); +#line 1571 "TrashPage.c" +} + + +static void trash_page_trash_view_instance_init (TrashPageTrashView * self) { +} + + +static GType trash_page_trash_view_get_type (void) { + static volatile gsize trash_page_trash_view_type_id__volatile = 0; + if (g_once_init_enter (&trash_page_trash_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TrashPageTrashViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) trash_page_trash_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrashPageTrashView), 0, (GInstanceInitFunc) trash_page_trash_view_instance_init, NULL }; + GType trash_page_trash_view_type_id; + trash_page_trash_view_type_id = g_type_register_static (TYPE_THUMBNAIL, "TrashPageTrashView", &g_define_type_info, 0); + g_once_init_leave (&trash_page_trash_view_type_id__volatile, trash_page_trash_view_type_id); + } + return trash_page_trash_view_type_id__volatile; +} + + +static guint trash_page_trash_search_view_filter_real_get_criteria (SearchViewFilter* base) { + TrashPageTrashSearchViewFilter * self; + guint result = 0U; +#line 19 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER, TrashPageTrashSearchViewFilter); +#line 20 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + result = (guint) ((((SEARCH_FILTER_CRITERIA_TEXT | SEARCH_FILTER_CRITERIA_FLAG) | SEARCH_FILTER_CRITERIA_MEDIA) | SEARCH_FILTER_CRITERIA_RATING) | SEARCH_FILTER_CRITERIA_SAVEDSEARCH); +#line 20 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return result; +#line 1600 "TrashPage.c" +} + + +static TrashPageTrashSearchViewFilter* trash_page_trash_search_view_filter_construct (GType object_type) { + TrashPageTrashSearchViewFilter* self = NULL; +#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = (TrashPageTrashSearchViewFilter*) default_search_view_filter_construct (object_type); +#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return self; +#line 1610 "TrashPage.c" +} + + +static TrashPageTrashSearchViewFilter* trash_page_trash_search_view_filter_new (void) { +#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + return trash_page_trash_search_view_filter_construct (TRASH_PAGE_TYPE_TRASH_SEARCH_VIEW_FILTER); +#line 1617 "TrashPage.c" +} + + +static void trash_page_trash_search_view_filter_class_init (TrashPageTrashSearchViewFilterClass * klass) { +#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + trash_page_trash_search_view_filter_parent_class = g_type_class_peek_parent (klass); +#line 18 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + ((SearchViewFilterClass *) klass)->get_criteria = trash_page_trash_search_view_filter_real_get_criteria; +#line 1626 "TrashPage.c" +} + + +static void trash_page_trash_search_view_filter_instance_init (TrashPageTrashSearchViewFilter * self) { +} + + +static GType trash_page_trash_search_view_filter_get_type (void) { + static volatile gsize trash_page_trash_search_view_filter_type_id__volatile = 0; + if (g_once_init_enter (&trash_page_trash_search_view_filter_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TrashPageTrashSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) trash_page_trash_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrashPageTrashSearchViewFilter), 0, (GInstanceInitFunc) trash_page_trash_search_view_filter_instance_init, NULL }; + GType trash_page_trash_search_view_filter_type_id; + trash_page_trash_search_view_filter_type_id = g_type_register_static (TYPE_DEFAULT_SEARCH_VIEW_FILTER, "TrashPageTrashSearchViewFilter", &g_define_type_info, 0); + g_once_init_leave (&trash_page_trash_search_view_filter_type_id__volatile, trash_page_trash_search_view_filter_type_id); + } + return trash_page_trash_search_view_filter_type_id__volatile; +} + + +static void trash_page_class_init (TrashPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + trash_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + g_type_class_add_private (klass, sizeof (TrashPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = trash_page_real_init_collect_ui_filenames; +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + ((PageClass *) klass)->init_collect_action_entries = trash_page_real_init_collect_action_entries; +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + ((CheckerboardPageClass *) klass)->get_view_tracker = trash_page_real_get_view_tracker; +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + ((PageClass *) klass)->update_actions = trash_page_real_update_actions; +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + ((CheckerboardPageClass *) klass)->get_view_empty_message = trash_page_real_get_view_empty_message; +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + ((CheckerboardPageClass *) klass)->get_search_view_filter = trash_page_real_get_search_view_filter; +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + G_OBJECT_CLASS (klass)->finalize = trash_page_finalize; +#line 1665 "TrashPage.c" +} + + +static void trash_page_instance_init (TrashPage * self) { + TrashPageTrashSearchViewFilter* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self->priv = TRASH_PAGE_GET_PRIVATE (self); +#line 25 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _tmp0_ = trash_page_trash_search_view_filter_new (); +#line 25 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self->priv->search_filter = _tmp0_; +#line 1677 "TrashPage.c" +} + + +static void trash_page_finalize (GObject* obj) { + TrashPage * self; +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TRASH_PAGE, TrashPage); +#line 25 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _view_filter_unref0 (self->priv->search_filter); +#line 26 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + _core_tracker_unref0 (self->priv->tracker); +#line 7 "/home/jens/Source/shotwell/src/library/TrashPage.vala" + G_OBJECT_CLASS (trash_page_parent_class)->finalize (obj); +#line 1691 "TrashPage.c" +} + + +GType trash_page_get_type (void) { + static volatile gsize trash_page_type_id__volatile = 0; + if (g_once_init_enter (&trash_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TrashPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) trash_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TrashPage), 0, (GInstanceInitFunc) trash_page_instance_init, NULL }; + GType trash_page_type_id; + trash_page_type_id = g_type_register_static (TYPE_CHECKERBOARD_PAGE, "TrashPage", &g_define_type_info, 0); + g_once_init_leave (&trash_page_type_id__volatile, trash_page_type_id); + } + return trash_page_type_id__volatile; +} + + + diff --git a/src/library/TrashPage.vala b/src/library/TrashPage.vala index 9bafee5..0a38ac0 100644 --- a/src/library/TrashPage.vala +++ b/src/library/TrashPage.vala @@ -18,7 +18,7 @@ public class TrashPage : CheckerboardPage { private class TrashSearchViewFilter : DefaultSearchViewFilter { public override uint get_criteria() { return SearchFilterCriteria.TEXT | SearchFilterCriteria.FLAG | - SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING; + SearchFilterCriteria.MEDIA | SearchFilterCriteria.RATING | SearchFilterCriteria.SAVEDSEARCH; } } diff --git a/src/library/TrashSidebarEntry.c b/src/library/TrashSidebarEntry.c new file mode 100644 index 0000000..0346c07 --- /dev/null +++ b/src/library/TrashSidebarEntry.c @@ -0,0 +1,816 @@ +/* TrashSidebarEntry.c generated by valac 0.32.1, the Vala compiler + * generated from TrashSidebarEntry.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; + +#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ()) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry)) +#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY)) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface)) + +typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry; +typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface; + +#define TYPE_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 LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY (library_trash_sidebar_entry_get_type ()) +#define LIBRARY_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry)) +#define LIBRARY_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass)) +#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY)) +#define LIBRARY_IS_TRASH_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY)) +#define LIBRARY_TRASH_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntryClass)) + +typedef struct _LibraryTrashSidebarEntry LibraryTrashSidebarEntry; +typedef struct _LibraryTrashSidebarEntryClass LibraryTrashSidebarEntryClass; +typedef struct _LibraryTrashSidebarEntryPrivate LibraryTrashSidebarEntryPrivate; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_TRASH_UNTRASH_PHOTOS_COMMAND (trash_untrash_photos_command_get_type ()) +#define TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommand)) +#define TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass)) +#define IS_TRASH_UNTRASH_PHOTOS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND)) +#define IS_TRASH_UNTRASH_PHOTOS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND)) +#define TRASH_UNTRASH_PHOTOS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_UNTRASH_PHOTOS_COMMAND, TrashUntrashPhotosCommandClass)) + +typedef struct _TrashUntrashPhotosCommand TrashUntrashPhotosCommand; +typedef struct _TrashUntrashPhotosCommandClass TrashUntrashPhotosCommandClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#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_TRASH_PAGE (trash_page_get_type ()) +#define TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRASH_PAGE, TrashPage)) +#define TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRASH_PAGE, TrashPageClass)) +#define IS_TRASH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRASH_PAGE)) +#define IS_TRASH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRASH_PAGE)) +#define TRASH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRASH_PAGE, TrashPageClass)) + +typedef struct _TrashPage TrashPage; +typedef struct _TrashPageClass TrashPageClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _SidebarInternalDropTargetEntryIface { + GTypeInterface parent_iface; + gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources); + gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data); +}; + +struct _LibraryTrashSidebarEntry { + SidebarSimplePageEntry parent_instance; + LibraryTrashSidebarEntryPrivate * priv; +}; + +struct _LibraryTrashSidebarEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + + +static gpointer library_trash_sidebar_entry_parent_class = NULL; +static SidebarInternalDropTargetEntryIface* library_trash_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = NULL; + +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_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 sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST; +GType library_trash_sidebar_entry_get_type (void) G_GNUC_CONST; +enum { + LIBRARY_TRASH_SIDEBAR_ENTRY_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +static void library_trash_sidebar_entry_on_trashcan_contents_altered (LibraryTrashSidebarEntry* self); +static void _library_trash_sidebar_entry_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self); +LibraryTrashSidebarEntry* library_trash_sidebar_entry_new (void); +LibraryTrashSidebarEntry* library_trash_sidebar_entry_construct (GType object_type); +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type); +void library_trash_sidebar_entry_init (void); +void library_trash_sidebar_entry_terminate (void); +static gchar* library_trash_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +#define TRASH_PAGE_NAME _ ("Trash") +static gchar* library_trash_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static gchar* library_trash_sidebar_entry_get_current_icon (void); +gint media_source_collection_get_trashcan_count (MediaSourceCollection* self); +#define RESOURCES_ICON_TRASH_FULL "user-trash-full" +#define RESOURCES_ICON_TRASH_EMPTY "user-trash" +static gboolean library_trash_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +TrashUntrashPhotosCommand* trash_untrash_photos_command_new (GeeCollection* sources, gboolean to_trash); +TrashUntrashPhotosCommand* trash_untrash_photos_command_construct (GType object_type, GeeCollection* sources, gboolean to_trash); +GType page_command_get_type (void) G_GNUC_CONST; +GType trash_untrash_photos_command_get_type (void) G_GNUC_CONST; +static gboolean library_trash_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data); +static Page* library_trash_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +TrashPage* trash_page_new (void); +TrashPage* trash_page_construct (GType object_type); +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType trash_page_get_type (void) G_GNUC_CONST; +static void library_trash_sidebar_entry_finalize (GObject* obj); + + +static void _library_trash_sidebar_entry_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered (MediaSourceCollection* _sender, GeeCollection* added, GeeCollection* removed, gpointer self) { +#line 16 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + library_trash_sidebar_entry_on_trashcan_contents_altered ((LibraryTrashSidebarEntry*) self); +#line 392 "TrashSidebarEntry.c" +} + + +LibraryTrashSidebarEntry* library_trash_sidebar_entry_construct (GType object_type) { + LibraryTrashSidebarEntry * self = NULL; +#line 9 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + self = (LibraryTrashSidebarEntry*) sidebar_simple_page_entry_construct (object_type); +#line 400 "TrashSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + while (TRUE) { +#line 429 "TrashSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + if (!_tmp7_) { +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + break; +#line 444 "TrashSidebarEntry.c" + } +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 11 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp10_ = media_sources; +#line 11 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + g_signal_connect_object (_tmp10_, "trashcan-contents-altered", (GCallback) _library_trash_sidebar_entry_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self, 0); +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 458 "TrashSidebarEntry.c" + } +#line 10 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 462 "TrashSidebarEntry.c" + } +#line 9 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return self; +#line 466 "TrashSidebarEntry.c" +} + + +LibraryTrashSidebarEntry* library_trash_sidebar_entry_new (void) { +#line 9 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return library_trash_sidebar_entry_construct (LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY); +#line 473 "TrashSidebarEntry.c" +} + + +void library_trash_sidebar_entry_init (void) { +} + + +void library_trash_sidebar_entry_terminate (void) { +} + + +static gchar* library_trash_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + LibraryTrashSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry); +#line 26 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp0_ = g_strdup (TRASH_PAGE_NAME); +#line 26 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + result = _tmp0_; +#line 26 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return result; +#line 497 "TrashSidebarEntry.c" +} + + +static gchar* library_trash_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + LibraryTrashSidebarEntry * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry); +#line 30 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp0_ = library_trash_sidebar_entry_get_current_icon (); +#line 30 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + result = _tmp0_; +#line 30 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return result; +#line 513 "TrashSidebarEntry.c" +} + + +static gchar* library_trash_sidebar_entry_get_current_icon (void) { + gchar* result = NULL; + gchar* _tmp13_ = NULL; + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + while (TRUE) { +#line 548 "TrashSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; + gint _tmp11_ = 0; +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + if (!_tmp7_) { +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + break; +#line 564 "TrashSidebarEntry.c" + } +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 35 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp10_ = media_sources; +#line 35 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp11_ = media_source_collection_get_trashcan_count (_tmp10_); +#line 35 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + if (_tmp11_ > 0) { +#line 578 "TrashSidebarEntry.c" + gchar* _tmp12_ = NULL; +#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp12_ = g_strdup (RESOURCES_ICON_TRASH_FULL); +#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + result = _tmp12_; +#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 36 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return result; +#line 590 "TrashSidebarEntry.c" + } +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 594 "TrashSidebarEntry.c" + } +#line 34 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 598 "TrashSidebarEntry.c" + } +#line 39 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp13_ = g_strdup (RESOURCES_ICON_TRASH_EMPTY); +#line 39 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + result = _tmp13_; +#line 39 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return result; +#line 606 "TrashSidebarEntry.c" +} + + +static gboolean library_trash_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media) { + LibraryTrashSidebarEntry * self; + gboolean result = FALSE; + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + TrashUntrashPhotosCommand* _tmp3_ = NULL; + TrashUntrashPhotosCommand* _tmp4_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry); +#line 42 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + g_return_val_if_fail (GEE_IS_LIST (media), FALSE); +#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp0_ = app_window_get_command_manager (); +#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp2_ = media; +#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp3_ = trash_untrash_photos_command_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), TRUE); +#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp4_ = _tmp3_; +#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + command_manager_execute (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_COMMAND, Command)); +#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_object_unref0 (_tmp4_); +#line 43 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _command_manager_unref0 (_tmp1_); +#line 45 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + result = TRUE; +#line 45 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return result; +#line 642 "TrashSidebarEntry.c" +} + + +static gboolean library_trash_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data) { + LibraryTrashSidebarEntry * self; + gboolean result = FALSE; +#line 48 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry); +#line 48 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + g_return_val_if_fail (data != NULL, FALSE); +#line 49 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + result = FALSE; +#line 49 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return result; +#line 657 "TrashSidebarEntry.c" +} + + +static Page* library_trash_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + LibraryTrashSidebarEntry * self; + Page* result = NULL; + TrashPage* _tmp0_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry); +#line 53 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp0_ = trash_page_new (); +#line 53 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + g_object_ref_sink (_tmp0_); +#line 53 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PAGE, Page); +#line 53 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + return result; +#line 675 "TrashSidebarEntry.c" +} + + +static void library_trash_sidebar_entry_on_trashcan_contents_altered (LibraryTrashSidebarEntry* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + g_return_if_fail (LIBRARY_IS_TRASH_SIDEBAR_ENTRY (self)); +#line 57 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp0_ = library_trash_sidebar_entry_get_current_icon (); +#line 57 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 57 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_ENTRY, SidebarEntry), "sidebar-icon-changed", _tmp1_); +#line 57 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_free0 (_tmp1_); +#line 692 "TrashSidebarEntry.c" +} + + +static void library_trash_sidebar_entry_class_init (LibraryTrashSidebarEntryClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + library_trash_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = library_trash_sidebar_entry_real_get_sidebar_name; +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = library_trash_sidebar_entry_real_get_sidebar_icon; +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = library_trash_sidebar_entry_real_create_page; +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + G_OBJECT_CLASS (klass)->finalize = library_trash_sidebar_entry_finalize; +#line 707 "TrashSidebarEntry.c" +} + + +static void library_trash_sidebar_entry_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface) { +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + library_trash_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + iface->internal_drop_received = (gboolean (*)(SidebarInternalDropTargetEntry*, GeeList*)) library_trash_sidebar_entry_real_internal_drop_received; +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + iface->internal_drop_received_arbitrary = (gboolean (*)(SidebarInternalDropTargetEntry*, GtkSelectionData*)) library_trash_sidebar_entry_real_internal_drop_received_arbitrary; +#line 718 "TrashSidebarEntry.c" +} + + +static void library_trash_sidebar_entry_instance_init (LibraryTrashSidebarEntry * self) { +} + + +static void library_trash_sidebar_entry_finalize (GObject* obj) { + LibraryTrashSidebarEntry * self; +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIBRARY_TYPE_TRASH_SIDEBAR_ENTRY, LibraryTrashSidebarEntry); +#line 730 "TrashSidebarEntry.c" + { + GeeIterator* _media_sources_it = NULL; + MediaCollectionRegistry* _tmp0_ = NULL; + MediaCollectionRegistry* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp0_ = media_collection_registry_get_instance (); +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp1_ = _tmp0_; +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp2_ = media_collection_registry_get_all (_tmp1_); +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp3_ = _tmp2_; +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp5_ = _tmp4_; +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_object_unref0 (_tmp3_); +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _media_collection_registry_unref0 (_tmp1_); +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _media_sources_it = _tmp5_; +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + while (TRUE) { +#line 759 "TrashSidebarEntry.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSourceCollection* media_sources = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + MediaSourceCollection* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp6_ = _media_sources_it; +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + if (!_tmp7_) { +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + break; +#line 775 "TrashSidebarEntry.c" + } +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp8_ = _media_sources_it; +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + media_sources = (MediaSourceCollection*) _tmp9_; +#line 16 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _tmp10_ = media_sources; +#line 16 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + g_signal_parse_name ("trashcan-contents-altered", TYPE_MEDIA_SOURCE_COLLECTION, &_tmp11_, NULL, FALSE); +#line 16 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _library_trash_sidebar_entry_on_trashcan_contents_altered_media_source_collection_trashcan_contents_altered, self); +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _data_collection_unref0 (media_sources); +#line 791 "TrashSidebarEntry.c" + } +#line 15 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + _g_object_unref0 (_media_sources_it); +#line 795 "TrashSidebarEntry.c" + } +#line 7 "/home/jens/Source/shotwell/src/library/TrashSidebarEntry.vala" + G_OBJECT_CLASS (library_trash_sidebar_entry_parent_class)->finalize (obj); +#line 799 "TrashSidebarEntry.c" +} + + +GType library_trash_sidebar_entry_get_type (void) { + static volatile gsize library_trash_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&library_trash_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (LibraryTrashSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) library_trash_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LibraryTrashSidebarEntry), 0, (GInstanceInitFunc) library_trash_sidebar_entry_instance_init, NULL }; + static const GInterfaceInfo sidebar_internal_drop_target_entry_info = { (GInterfaceInitFunc) library_trash_sidebar_entry_sidebar_internal_drop_target_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType library_trash_sidebar_entry_type_id; + library_trash_sidebar_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "LibraryTrashSidebarEntry", &g_define_type_info, 0); + g_type_add_interface_static (library_trash_sidebar_entry_type_id, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, &sidebar_internal_drop_target_entry_info); + g_once_init_leave (&library_trash_sidebar_entry_type_id__volatile, library_trash_sidebar_entry_type_id); + } + return library_trash_sidebar_entry_type_id__volatile; +} + + + diff --git a/src/library/mk/library.mk b/src/library/mk/library.mk deleted file mode 100644 index dc6201f..0000000 --- a/src/library/mk/library.mk +++ /dev/null @@ -1,54 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Library - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := library - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - LibraryWindow.vala \ - Branch.vala \ - TrashSidebarEntry.vala \ - OfflineSidebarEntry.vala \ - FlaggedSidebarEntry.vala \ - LastImportSidebarEntry.vala \ - ImportQueueSidebarEntry.vala \ - FlaggedPage.vala \ - ImportQueuePage.vala \ - LastImportPage.vala \ - OfflinePage.vala \ - TrashPage.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Util \ - Threads \ - Db \ - Plugins \ - Slideshow \ - Photos \ - Publishing \ - Core \ - Sidebar \ - Events \ - Tags \ - Camera \ - Searches \ - DataImports \ - Folders - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..bef5186 --- /dev/null +++ b/src/main.c @@ -0,0 +1,3011 @@ +/* main.c generated by valac 0.32.1, the Vala compiler + * generated from main.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SHOTWELL_COMMAND (shotwell_command_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define DB_TYPE_VERIFY_RESULT (db_verify_result_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#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_AGGREGATE_PROGRESS_MONITOR (aggregate_progress_monitor_get_type ()) +#define AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitor)) +#define AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass)) +#define IS_AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR)) +#define IS_AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR)) +#define AGGREGATE_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass)) + +typedef struct _AggregateProgressMonitor AggregateProgressMonitor; +typedef struct _AggregateProgressMonitorClass AggregateProgressMonitorClass; + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_PHOTO_TABLE (photo_table_get_type ()) +#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable)) +#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass)) +#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE)) +#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE)) +#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass)) + +typedef struct _PhotoTable PhotoTable; +typedef struct _PhotoTableClass PhotoTableClass; + +#define TYPE_EVENT_TABLE (event_table_get_type ()) +#define EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_TABLE, EventTable)) +#define EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_TABLE, EventTableClass)) +#define IS_EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_TABLE)) +#define IS_EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_TABLE)) +#define EVENT_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_TABLE, EventTableClass)) + +typedef struct _EventTable EventTable; +typedef struct _EventTableClass EventTableClass; + +#define TYPE_TAG_TABLE (tag_table_get_type ()) +#define TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_TABLE, TagTable)) +#define TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_TABLE, TagTableClass)) +#define IS_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_TABLE)) +#define IS_TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_TABLE)) +#define TAG_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_TABLE, TagTableClass)) + +typedef struct _TagTable TagTable; +typedef struct _TagTableClass TagTableClass; + +#define TYPE_VIDEO_TABLE (video_table_get_type ()) +#define VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_TABLE, VideoTable)) +#define VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_TABLE, VideoTableClass)) +#define IS_VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_TABLE)) +#define IS_VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_TABLE)) +#define VIDEO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_TABLE, VideoTableClass)) + +typedef struct _VideoTable VideoTable; +typedef struct _VideoTableClass VideoTableClass; + +#define TYPE_UPGRADES (upgrades_get_type ()) +#define UPGRADES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UPGRADES, Upgrades)) +#define UPGRADES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UPGRADES, UpgradesClass)) +#define IS_UPGRADES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UPGRADES)) +#define IS_UPGRADES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UPGRADES)) +#define UPGRADES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UPGRADES, UpgradesClass)) + +typedef struct _Upgrades Upgrades; +typedef struct _UpgradesClass UpgradesClass; +#define _upgrades_unref0(var) ((var == NULL) ? NULL : (var = (upgrades_unref (var), NULL))) +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _aggregate_progress_monitor_unref0(var) ((var == NULL) ? NULL : (var = (aggregate_progress_monitor_unref (var), NULL))) + +#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 TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ()) +#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION)) +#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass)) + +typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection; +typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass; + +#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ()) +#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection)) +#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass)) +#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION)) +#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION)) +#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass)) + +typedef struct _VideoSourceCollection VideoSourceCollection; +typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass; + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_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_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_WELCOME_SERVICE_ENTRY (welcome_service_entry_get_type ()) +#define WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntry)) +#define IS_WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_SERVICE_ENTRY)) +#define WELCOME_SERVICE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntryIface)) + +typedef struct _WelcomeServiceEntry WelcomeServiceEntry; +typedef struct _WelcomeServiceEntryIface WelcomeServiceEntryIface; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_WELCOME_DIALOG (welcome_dialog_get_type ()) +#define WELCOME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_DIALOG, WelcomeDialog)) +#define WELCOME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WELCOME_DIALOG, WelcomeDialogClass)) +#define IS_WELCOME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_DIALOG)) +#define IS_WELCOME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WELCOME_DIALOG)) +#define WELCOME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WELCOME_DIALOG, WelcomeDialogClass)) + +typedef struct _WelcomeDialog WelcomeDialog; +typedef struct _WelcomeDialogClass WelcomeDialogClass; + +#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ()) +#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest)) +#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass)) +#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST)) +#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST)) +#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass)) + +typedef struct _ImportManifest ImportManifest; +typedef struct _ImportManifestClass ImportManifestClass; +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ()) +#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob)) +#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) +#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB)) +#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB)) +#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass)) + +typedef struct _BatchImportJob BatchImportJob; +typedef struct _BatchImportJobClass BatchImportJobClass; + +#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ()) +#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob)) +#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass)) +#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB)) +#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB)) +#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass)) + +typedef struct _FileImportJob FileImportJob; +typedef struct _FileImportJobClass FileImportJobClass; +#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL))) + +#define TYPE_BATCH_IMPORT (batch_import_get_type ()) +#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport)) +#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass)) +#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT)) +#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT)) +#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass)) + +typedef struct _BatchImport BatchImport; +typedef struct _BatchImportClass BatchImportClass; + +#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ()) +#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll)) +#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) +#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL)) +#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL)) +#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass)) + +typedef struct _BatchImportRoll BatchImportRoll; +typedef struct _BatchImportRollClass BatchImportRollClass; +typedef struct _ImportManifestPrivate ImportManifestPrivate; + +#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_BATCH_IMPORT_RESULT (batch_import_result_get_type ()) +#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult)) +#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) +#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT)) +#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT)) +#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass)) + +typedef struct _BatchImportResult BatchImportResult; +typedef struct _BatchImportResultClass BatchImportResultClass; + +#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ()) +#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams)) +#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) +#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS)) +#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass)) + +typedef struct _ImportUIQuestionParams ImportUIQuestionParams; +typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass; + +#define TYPE_DIRECT_WINDOW (direct_window_get_type ()) +#define DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_WINDOW, DirectWindow)) +#define DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_WINDOW, DirectWindowClass)) +#define IS_DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_WINDOW)) +#define IS_DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_WINDOW)) +#define DIRECT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_WINDOW, DirectWindowClass)) + +typedef struct _DirectWindow DirectWindow; +typedef struct _DirectWindowClass DirectWindowClass; +#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) + +typedef enum { + SHOTWELL_COMMAND_MOUNTED_CAMERA = 1 +} ShotwellCommand; + +typedef enum { + DB_VERIFY_RESULT_OK, + DB_VERIFY_RESULT_FUTURE_VERSION, + DB_VERIFY_RESULT_UPGRADE_ERROR, + DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE +} DbVerifyResult; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); +struct _WelcomeServiceEntryIface { + GTypeInterface parent_iface; + gchar* (*get_service_name) (WelcomeServiceEntry* self); + void (*execute) (WelcomeServiceEntry* self); +}; + +typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data); +struct _ImportManifest { + GTypeInstance parent_instance; + volatile int ref_count; + ImportManifestPrivate * priv; + GeeList* imported; + GeeList* success; + GeeList* camera_failed; + GeeList* failed; + GeeList* write_failed; + GeeList* skipped_photos; + GeeList* skipped_files; + GeeList* aborted; + GeeList* already_imported; + GeeList* corrupt_files; + GeeList* all; +}; + +struct _ImportManifestClass { + GTypeClass parent_class; + void (*finalize) (ImportManifest *self); +}; + + +extern GTimer* startup_timer; +GTimer* startup_timer = NULL; +extern gboolean was_already_running; +gboolean was_already_running = FALSE; +extern gboolean commandline_options_no_startup_progress; +extern LibraryPhotoSourceCollection* library_photo_global; +extern VideoSourceCollection* video_global; +extern gboolean do_system_pictures_import; +extern gboolean do_external_import; +gboolean do_system_pictures_import = FALSE; +gboolean do_external_import = FALSE; +gboolean commandline_options_no_startup_progress = FALSE; +extern gchar* commandline_options_data_dir; +gchar* commandline_options_data_dir = NULL; +extern gboolean commandline_options_show_version; +gboolean commandline_options_show_version = FALSE; +extern gboolean commandline_options_no_runtime_monitoring; +gboolean commandline_options_no_runtime_monitoring = FALSE; +extern GOptionEntry* commandline_options_entries; +extern gint commandline_options_entries_length1; +GOptionEntry* commandline_options_entries = NULL; +gint commandline_options_entries_length1 = 0; +static gint _commandline_options_entries_size_ = 0; + +GType shotwell_command_get_type (void) G_GNUC_CONST; +void library_exec (gchar** mounts, int mounts_length1); +gboolean application_get_is_remote (void); +void application_present_primary_instance (void); +void application_send_to_primary_instance (gchar** argv, int argv_length1); +void db_preconfigure (GFile* db_file); +GFile* app_dirs_get_data_subdir (const gchar* name, const gchar* subname); +void library_app_init (GError** error); +void app_window_panic (const gchar* msg); +GType db_verify_result_get_type (void) G_GNUC_CONST; +DbVerifyResult db_verify_database (gchar** app_version, gint* schema_version); +#define RESOURCES_APP_VERSION _VERSION +#define DATABASE_TABLE_SCHEMA_VERSION 20 +#define RESOURCES_HOME_URL "https://wiki.gnome.org/Apps/Shotwell" +GFile* app_dirs_get_data_dir (void); +const gchar* db_verify_result_to_string (DbVerifyResult self); +#define RESOURCES_APP_TITLE "Shotwell" +void database_table_terminate (void); +void upgrades_init (void); +GType progress_dialog_get_type (void) G_GNUC_CONST; +gpointer aggregate_progress_monitor_ref (gpointer instance); +void aggregate_progress_monitor_unref (gpointer instance); +GParamSpec* param_spec_aggregate_progress_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_aggregate_progress_monitor (GValue* value, gpointer v_object); +void value_take_aggregate_progress_monitor (GValue* value, gpointer v_object); +gpointer value_get_aggregate_progress_monitor (const GValue* value); +GType aggregate_progress_monitor_get_type (void) G_GNUC_CONST; +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType photo_table_get_type (void) G_GNUC_CONST; +PhotoTable* photo_table_get_instance (void); +gint database_table_get_row_count (DatabaseTable* self); +GType event_table_get_type (void) G_GNUC_CONST; +EventTable* event_table_get_instance (void); +GType tag_table_get_type (void) G_GNUC_CONST; +TagTable* tag_table_get_instance (void); +GType video_table_get_type (void) G_GNUC_CONST; +VideoTable* video_table_get_instance (void); +gpointer upgrades_ref (gpointer instance); +void upgrades_unref (gpointer instance); +GParamSpec* param_spec_upgrades (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_upgrades (GValue* value, gpointer v_object); +void value_take_upgrades (GValue* value, gpointer v_object); +gpointer value_get_upgrades (const GValue* value); +GType upgrades_get_type (void) G_GNUC_CONST; +Upgrades* upgrades_get_instance (void); +guint64 upgrades_get_step_count (Upgrades* self); +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_update_display_every (ProgressDialog* self, gint update_every); +void progress_dialog_set_minimum_on_screen_time_msec (ProgressDialog* self, gint minimum_on_screen_time_msec); +GFile* app_dirs_get_resources_dir (void); +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); +AggregateProgressMonitor* aggregate_progress_monitor_new (guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target); +AggregateProgressMonitor* aggregate_progress_monitor_construct (GType object_type, guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target); +gboolean aggregate_progress_monitor_monitor (AggregateProgressMonitor* self, guint64 count, guint64 total); +static gboolean _aggregate_progress_monitor_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self); +void thumbnail_cache_init (void); +void tombstone_init (void); +void aggregate_progress_monitor_next_step (AggregateProgressMonitor* self, const gchar* name); +void library_photo_init (ProgressMonitor monitor, void* monitor_target); +void video_init (ProgressMonitor monitor, void* monitor_target); +void upgrades_execute (Upgrades* self, ProgressMonitor monitor, void* monitor_target); +void library_monitor_pool_init (void); +void media_collection_registry_init (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); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +void media_collection_registry_register_collection (MediaCollectionRegistry* self, MediaSourceCollection* collection); +GType library_photo_source_collection_get_type (void) G_GNUC_CONST; +GType video_source_collection_get_type (void) G_GNUC_CONST; +void event_init (ProgressMonitor monitor, void* monitor_target); +void tag_init (ProgressMonitor monitor, void* monitor_target); +void metadata_writer_init (void); +void desktop_integration_init (void); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_new (ProgressMonitor progress_monitor, void* progress_monitor_target); +LibraryWindow* library_window_construct (GType object_type, ProgressMonitor progress_monitor, void* progress_monitor_target); +void library_window_mounted_camera_shell_notification (LibraryWindow* self, const gchar* uri, gboolean at_startup); +GType welcome_service_entry_get_type (void) G_GNUC_CONST; +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_show_welcome_dialog (ConfigurationFacade* self); +gint data_collection_get_count (DataCollection* self); +GType welcome_dialog_get_type (void) G_GNUC_CONST; +WelcomeDialog* welcome_dialog_new (GtkWindow* owner); +WelcomeDialog* welcome_dialog_construct (GType object_type, GtkWindow* owner); +void configuration_facade_set_show_welcome_dialog (ConfigurationFacade* self, gboolean show); +gboolean welcome_dialog_execute (WelcomeDialog* self, WelcomeServiceEntry*** selected_import_entries, int* selected_import_entries_length1, gboolean* do_system_pictures_import); +void welcome_service_entry_execute (WelcomeServiceEntry* self); +gpointer import_manifest_ref (gpointer instance); +void import_manifest_unref (gpointer instance); +GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_import_manifest (GValue* value, gpointer v_object); +void value_take_import_manifest (GValue* value, gpointer v_object); +gpointer value_get_import_manifest (const GValue* value); +GType import_manifest_get_type (void) G_GNUC_CONST; +void run_system_pictures_import (ImportManifest* external_exclusion_manifest); +void application_start (Application* self, gchar** argv, int argv_length1); +void desktop_integration_terminate (void); +void metadata_writer_terminate (void); +void tag_terminate (void); +void event_terminate (void); +void library_photo_terminate (void); +void media_collection_registry_terminate (void); +void library_monitor_pool_terminate (void); +void tombstone_terminate (void); +void thumbnail_cache_terminate (void); +void video_terminate (void); +void library_app_terminate (void); +gpointer batch_import_job_ref (gpointer instance); +void batch_import_job_unref (gpointer instance); +GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_job (GValue* value, gpointer v_object); +void value_take_batch_import_job (GValue* value, gpointer v_object); +gpointer value_get_batch_import_job (const GValue* value); +GType batch_import_job_get_type (void) G_GNUC_CONST; +GType file_import_job_get_type (void) G_GNUC_CONST; +GFile* app_dirs_get_import_dir (void); +FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library); +FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library); +AppWindow* app_window_get_instance (void); +GType batch_import_get_type (void) G_GNUC_CONST; +gpointer batch_import_roll_ref (gpointer instance); +void batch_import_roll_unref (gpointer instance); +GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_roll (GValue* value, gpointer v_object); +void value_take_batch_import_roll (GValue* value, gpointer v_object); +gpointer value_get_batch_import_roll (const GValue* value); +GType batch_import_roll_get_type (void) G_GNUC_CONST; +void report_system_pictures_import (ImportManifest* manifest, BatchImportRoll* import_roll); +static void _report_system_pictures_import_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self); +BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest); +void library_window_enqueue_batch_import (LibraryWindow* self, BatchImport* batch_import, gboolean allow_user_cancel); +void library_window_switch_to_import_queue_page (LibraryWindow* self); +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +gpointer batch_import_result_ref (gpointer instance); +void batch_import_result_unref (gpointer instance); +GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_batch_import_result (GValue* value, gpointer v_object); +void value_take_batch_import_result (GValue* value, gpointer v_object); +gpointer value_get_batch_import_result (const GValue* value); +GType batch_import_result_get_type (void) G_GNUC_CONST; +gpointer import_ui_question_params_ref (gpointer instance); +void import_ui_question_params_unref (gpointer instance); +GParamSpec* import_ui_param_spec_question_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void import_ui_value_set_question_params (GValue* value, gpointer v_object); +void import_ui_value_take_question_params (GValue* value, gpointer v_object); +gpointer import_ui_value_get_question_params (const GValue* value); +GType import_ui_question_params_get_type (void) G_GNUC_CONST; +gboolean import_ui_report_manifest (ImportManifest* manifest, gboolean show_dest_id, ImportUIQuestionParams* question); +void editing_exec (const gchar* filename); +void direct_preconfigure (GFile* initial_file); +void direct_app_init (GError** error); +GType direct_window_get_type (void) G_GNUC_CONST; +DirectWindow* direct_window_new (GFile* file); +DirectWindow* direct_window_construct (GType object_type, GFile* file); +void direct_app_terminate (void); +GOptionEntry* commandline_options_get_options (int* result_length1); +static GOptionEntry* _vala_array_dup26 (GOptionEntry* self, int length); +static void _vala_array_add152 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value); +static void _vala_array_add153 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value); +static void _vala_array_add154 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value); +static void _vala_array_add155 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value); +static void _vala_array_add156 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value); +static GOptionEntry* _vala_array_dup27 (GOptionEntry* self, int length); +void _vala_main (gchar** args, int args_length1); +void app_dirs_init (const gchar* arg0); +GFile* app_dirs_get_install_dir (void); +GFile* app_dirs_get_exec_dir (void); +#define RESOURCES_APP_GETTEXT_PACKAGE GETTEXT_PACKAGE +void app_dirs_terminate (void); +#define RESOURCES_GIT_VERSION _GIT_VERSION +gboolean library_window_is_mount_uri_supported (const gchar* uri); +static void _vala_array_add157 (gchar*** array, int* length, int* size, gchar* value); +gboolean is_string_empty (const gchar* s); +#define DEBUG_LIBRARY_PREFIX "L" +#define DEBUG_VIEWER_PREFIX "V" +void debug_init (const gchar* app_version_prefix); +#define RESOURCES_APP_LIBRARY_ROLE _ ("Photo Manager") +#define RESOURCES_APP_DIRECT_ROLE _ ("Photo Viewer") +void application_init (gboolean is_direct); +void app_dirs_set_data_dir (const gchar* user_data_dir); +void app_dirs_try_migrate_data (void); +void app_dirs_verify_data_dir (void); +void app_dirs_verify_cache_dir (void); +void international_support_init (const gchar* package_name, gchar** args, int args_length1, const gchar* locale); +#define INTERNATIONAL_SUPPORT_SYSTEM_LOCALE "" +void resources_init (void); +void resources_terminate (void); +void application_terminate (void); +void debug_terminate (void); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +GType shotwell_command_get_type (void) { + static volatile gsize shotwell_command_type_id__volatile = 0; + if (g_once_init_enter (&shotwell_command_type_id__volatile)) { + static const GEnumValue values[] = {{SHOTWELL_COMMAND_MOUNTED_CAMERA, "SHOTWELL_COMMAND_MOUNTED_CAMERA", "mounted-camera"}, {0, NULL, NULL}}; + GType shotwell_command_type_id; + shotwell_command_type_id = g_enum_register_static ("ShotwellCommand", values); + g_once_init_leave (&shotwell_command_type_id__volatile, shotwell_command_type_id); + } + return shotwell_command_type_id__volatile; +} + + +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 114 "/home/jens/Source/shotwell/src/main.vala" + return result; +#line 702 "main.c" +} + + +static gboolean _aggregate_progress_monitor_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self) { + gboolean result; + result = aggregate_progress_monitor_monitor ((AggregateProgressMonitor*) self, current, total); +#line 115 "/home/jens/Source/shotwell/src/main.vala" + return result; +#line 711 "main.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 185 "/home/jens/Source/shotwell/src/main.vala" + return self ? g_object_ref (self) : NULL; +#line 718 "main.c" +} + + +void library_exec (gchar** mounts, int mounts_length1) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* errormsg = NULL; + gchar* app_version = NULL; + gint schema_version = 0; + DbVerifyResult _result_ = 0; + gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; + DbVerifyResult _tmp11_ = 0; + DbVerifyResult _tmp12_ = 0; + const gchar* _tmp33_ = NULL; + ProgressDialog* progress_dialog = NULL; + AggregateProgressMonitor* aggregate_monitor = NULL; + ProgressMonitor monitor = NULL; + void* monitor_target = NULL; + GDestroyNotify monitor_target_destroy_notify = NULL; + gboolean _tmp39_ = FALSE; + AggregateProgressMonitor* _tmp79_ = NULL; + ProgressMonitor _tmp81_ = NULL; + void* _tmp81__target = NULL; + AggregateProgressMonitor* _tmp82_ = NULL; + ProgressMonitor _tmp84_ = NULL; + void* _tmp84__target = NULL; + AggregateProgressMonitor* _tmp85_ = NULL; + Upgrades* _tmp87_ = NULL; + Upgrades* _tmp88_ = NULL; + MediaCollectionRegistry* registry = NULL; + MediaCollectionRegistry* _tmp89_ = NULL; + MediaCollectionRegistry* _tmp90_ = NULL; + LibraryPhotoSourceCollection* _tmp91_ = NULL; + MediaCollectionRegistry* _tmp92_ = NULL; + VideoSourceCollection* _tmp93_ = NULL; + AggregateProgressMonitor* _tmp94_ = NULL; + ProgressMonitor _tmp96_ = NULL; + void* _tmp96__target = NULL; + AggregateProgressMonitor* _tmp97_ = NULL; + ProgressMonitor _tmp99_ = NULL; + void* _tmp99__target = NULL; + Application* _tmp100_ = NULL; + Application* _tmp101_ = NULL; + AggregateProgressMonitor* _tmp102_ = NULL; + LibraryWindow* library_window = NULL; + ProgressMonitor _tmp104_ = NULL; + void* _tmp104__target = NULL; + LibraryWindow* _tmp105_ = NULL; + AggregateProgressMonitor* _tmp106_ = NULL; + ProgressDialog* _tmp108_ = NULL; + gchar** _tmp110_ = NULL; + gint _tmp110__length1 = 0; + LibraryWindow* _tmp114_ = NULL; + WelcomeServiceEntry** selected_import_entries = NULL; + WelcomeServiceEntry** _tmp115_ = NULL; + gint selected_import_entries_length1 = 0; + gint _selected_import_entries_size_ = 0; + gboolean _tmp116_ = FALSE; + ConfigFacade* _tmp117_ = NULL; + ConfigFacade* _tmp118_ = NULL; + gboolean _tmp119_ = FALSE; + gboolean _tmp120_ = FALSE; + WelcomeServiceEntry** _tmp134_ = NULL; + gint _tmp134__length1 = 0; + gboolean _tmp138_ = FALSE; + GTimer* _tmp139_ = NULL; + gdouble _tmp140_ = 0.0; + Application* _tmp141_ = NULL; + Application* _tmp142_ = NULL; + GError * _inner_error_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/main.vala" + _tmp0_ = application_get_is_remote (); +#line 16 "/home/jens/Source/shotwell/src/main.vala" + was_already_running = _tmp0_; +#line 18 "/home/jens/Source/shotwell/src/main.vala" + _tmp1_ = was_already_running; +#line 18 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp1_) { +#line 802 "main.c" + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 25 "/home/jens/Source/shotwell/src/main.vala" + application_present_primary_instance (); +#line 26 "/home/jens/Source/shotwell/src/main.vala" + _tmp2_ = mounts; +#line 26 "/home/jens/Source/shotwell/src/main.vala" + _tmp2__length1 = mounts_length1; +#line 26 "/home/jens/Source/shotwell/src/main.vala" + application_send_to_primary_instance (_tmp2_, _tmp2__length1); +#line 27 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 815 "main.c" + } +#line 31 "/home/jens/Source/shotwell/src/main.vala" + _tmp3_ = app_dirs_get_data_subdir ("data", NULL); +#line 31 "/home/jens/Source/shotwell/src/main.vala" + _tmp4_ = _tmp3_; +#line 31 "/home/jens/Source/shotwell/src/main.vala" + _tmp5_ = g_file_get_child (_tmp4_, "photo.db"); +#line 31 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_ = _tmp5_; +#line 31 "/home/jens/Source/shotwell/src/main.vala" + db_preconfigure (_tmp6_); +#line 31 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp6_); +#line 31 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp4_); +#line 831 "main.c" + { +#line 35 "/home/jens/Source/shotwell/src/main.vala" + library_app_init (&_inner_error_); +#line 35 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 837 "main.c" + goto __catch206_g_error; + } + } + goto __finally206; + __catch206_g_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/main.vala" + err = _inner_error_; +#line 34 "/home/jens/Source/shotwell/src/main.vala" + _inner_error_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/main.vala" + _tmp7_ = err; +#line 37 "/home/jens/Source/shotwell/src/main.vala" + _tmp8_ = _tmp7_->message; +#line 37 "/home/jens/Source/shotwell/src/main.vala" + app_window_panic (_tmp8_); +#line 39 "/home/jens/Source/shotwell/src/main.vala" + _g_error_free0 (err); +#line 39 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 861 "main.c" + } + __finally206: +#line 34 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 34 "/home/jens/Source/shotwell/src/main.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 34 "/home/jens/Source/shotwell/src/main.vala" + g_clear_error (&_inner_error_); +#line 34 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 872 "main.c" + } +#line 43 "/home/jens/Source/shotwell/src/main.vala" + g_message ("main.vala:43: Verifying database ..."); +#line 44 "/home/jens/Source/shotwell/src/main.vala" + errormsg = NULL; +#line 47 "/home/jens/Source/shotwell/src/main.vala" + _tmp11_ = db_verify_database (&_tmp9_, &_tmp10_); +#line 47 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (app_version); +#line 47 "/home/jens/Source/shotwell/src/main.vala" + app_version = _tmp9_; +#line 47 "/home/jens/Source/shotwell/src/main.vala" + schema_version = _tmp10_; +#line 47 "/home/jens/Source/shotwell/src/main.vala" + _result_ = _tmp11_; +#line 48 "/home/jens/Source/shotwell/src/main.vala" + _tmp12_ = _result_; +#line 48 "/home/jens/Source/shotwell/src/main.vala" + switch (_tmp12_) { +#line 48 "/home/jens/Source/shotwell/src/main.vala" + case DB_VERIFY_RESULT_OK: +#line 894 "main.c" + { +#line 51 "/home/jens/Source/shotwell/src/main.vala" + break; +#line 898 "main.c" + } +#line 48 "/home/jens/Source/shotwell/src/main.vala" + case DB_VERIFY_RESULT_FUTURE_VERSION: +#line 902 "main.c" + { + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + gchar* _tmp16_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/main.vala" + _tmp13_ = _ ("Your photo library is not compatible with this version of Shotwell. I" \ +"t appears it was created by Shotwell %s (schema %d). This version is " \ +"%s (schema %d). Please use the latest version of Shotwell."); +#line 54 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_ = app_version; +#line 54 "/home/jens/Source/shotwell/src/main.vala" + _tmp15_ = schema_version; +#line 54 "/home/jens/Source/shotwell/src/main.vala" + _tmp16_ = g_strdup_printf (_tmp13_, _tmp14_, _tmp15_, RESOURCES_APP_VERSION, DATABASE_TABLE_SCHEMA_VERSION); +#line 54 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (errormsg); +#line 54 "/home/jens/Source/shotwell/src/main.vala" + errormsg = _tmp16_; +#line 56 "/home/jens/Source/shotwell/src/main.vala" + break; +#line 922 "main.c" + } +#line 48 "/home/jens/Source/shotwell/src/main.vala" + case DB_VERIFY_RESULT_UPGRADE_ERROR: +#line 926 "main.c" + { + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; + gchar* _tmp20_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/main.vala" + _tmp17_ = _ ("Shotwell was unable to upgrade your photo library from version %s (sch" \ +"ema %d) to %s (schema %d). For more information please check the Shot" \ +"well Wiki at %s"); +#line 59 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_ = app_version; +#line 59 "/home/jens/Source/shotwell/src/main.vala" + _tmp19_ = schema_version; +#line 59 "/home/jens/Source/shotwell/src/main.vala" + _tmp20_ = g_strdup_printf (_tmp17_, _tmp18_, _tmp19_, RESOURCES_APP_VERSION, DATABASE_TABLE_SCHEMA_VERSION, RESOURCES_HOME_URL); +#line 59 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (errormsg); +#line 59 "/home/jens/Source/shotwell/src/main.vala" + errormsg = _tmp20_; +#line 62 "/home/jens/Source/shotwell/src/main.vala" + break; +#line 946 "main.c" + } +#line 48 "/home/jens/Source/shotwell/src/main.vala" + case DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE: +#line 950 "main.c" + { + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gint _tmp23_ = 0; + GFile* _tmp24_ = NULL; + GFile* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_ = _ ("Your photo library is not compatible with this version of Shotwell. I" \ +"t appears it was created by Shotwell %s (schema %d). This version is " \ +"%s (schema %d). Please clear your library by deleting %s and re-impor" \ +"t your photos."); +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _tmp22_ = app_version; +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _tmp23_ = schema_version; +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _tmp24_ = app_dirs_get_data_dir (); +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _tmp25_ = _tmp24_; +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _tmp26_ = g_file_get_path (_tmp25_); +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _tmp27_ = _tmp26_; +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _tmp28_ = g_strdup_printf (_tmp21_, _tmp22_, _tmp23_, RESOURCES_APP_VERSION, DATABASE_TABLE_SCHEMA_VERSION, _tmp27_); +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (errormsg); +#line 65 "/home/jens/Source/shotwell/src/main.vala" + errormsg = _tmp28_; +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (_tmp27_); +#line 65 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp25_); +#line 68 "/home/jens/Source/shotwell/src/main.vala" + break; +#line 986 "main.c" + } + default: + { + const gchar* _tmp29_ = NULL; + DbVerifyResult _tmp30_ = 0; + GEnumValue* _tmp31_; + gchar* _tmp32_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/main.vala" + _tmp29_ = _ ("Unknown error attempting to verify Shotwell's database: %s"); +#line 71 "/home/jens/Source/shotwell/src/main.vala" + _tmp30_ = _result_; +#line 72 "/home/jens/Source/shotwell/src/main.vala" + _tmp31_ = g_enum_get_value (g_type_class_ref (DB_TYPE_VERIFY_RESULT), _tmp30_); +#line 71 "/home/jens/Source/shotwell/src/main.vala" + _tmp32_ = g_strdup_printf (_tmp29_, (_tmp31_ != NULL) ? _tmp31_->value_name : NULL); +#line 71 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (errormsg); +#line 71 "/home/jens/Source/shotwell/src/main.vala" + errormsg = _tmp32_; +#line 73 "/home/jens/Source/shotwell/src/main.vala" + break; +#line 1008 "main.c" + } + } +#line 76 "/home/jens/Source/shotwell/src/main.vala" + _tmp33_ = errormsg; +#line 76 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp33_ != NULL) { +#line 1015 "main.c" + GtkMessageDialog* dialog = NULL; + const gchar* _tmp34_ = NULL; + GtkMessageDialog* _tmp35_ = NULL; + GtkMessageDialog* _tmp36_ = NULL; + GtkMessageDialog* _tmp37_ = NULL; + GtkMessageDialog* _tmp38_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/main.vala" + _tmp34_ = errormsg; +#line 77 "/home/jens/Source/shotwell/src/main.vala" + _tmp35_ = (GtkMessageDialog*) gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", _tmp34_); +#line 77 "/home/jens/Source/shotwell/src/main.vala" + g_object_ref_sink (_tmp35_); +#line 77 "/home/jens/Source/shotwell/src/main.vala" + dialog = _tmp35_; +#line 79 "/home/jens/Source/shotwell/src/main.vala" + _tmp36_ = dialog; +#line 79 "/home/jens/Source/shotwell/src/main.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_window_get_type (), GtkWindow), RESOURCES_APP_TITLE); +#line 80 "/home/jens/Source/shotwell/src/main.vala" + _tmp37_ = dialog; +#line 80 "/home/jens/Source/shotwell/src/main.vala" + gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_dialog_get_type (), GtkDialog)); +#line 81 "/home/jens/Source/shotwell/src/main.vala" + _tmp38_ = dialog; +#line 81 "/home/jens/Source/shotwell/src/main.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget)); +#line 83 "/home/jens/Source/shotwell/src/main.vala" + database_table_terminate (); +#line 85 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (dialog); +#line 85 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (app_version); +#line 85 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (errormsg); +#line 85 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 1052 "main.c" + } +#line 88 "/home/jens/Source/shotwell/src/main.vala" + upgrades_init (); +#line 90 "/home/jens/Source/shotwell/src/main.vala" + progress_dialog = NULL; +#line 91 "/home/jens/Source/shotwell/src/main.vala" + aggregate_monitor = NULL; +#line 92 "/home/jens/Source/shotwell/src/main.vala" + monitor = NULL; +#line 92 "/home/jens/Source/shotwell/src/main.vala" + monitor_target = NULL; +#line 92 "/home/jens/Source/shotwell/src/main.vala" + monitor_target_destroy_notify = NULL; +#line 94 "/home/jens/Source/shotwell/src/main.vala" + _tmp39_ = commandline_options_no_startup_progress; +#line 94 "/home/jens/Source/shotwell/src/main.vala" + if (!_tmp39_) { +#line 1070 "main.c" + guint64 grand_total = 0ULL; + PhotoTable* _tmp40_ = NULL; + PhotoTable* _tmp41_ = NULL; + gint _tmp42_ = 0; + EventTable* _tmp43_ = NULL; + EventTable* _tmp44_ = NULL; + gint _tmp45_ = 0; + TagTable* _tmp46_ = NULL; + TagTable* _tmp47_ = NULL; + gint _tmp48_ = 0; + VideoTable* _tmp49_ = NULL; + VideoTable* _tmp50_ = NULL; + gint _tmp51_ = 0; + Upgrades* _tmp52_ = NULL; + Upgrades* _tmp53_ = NULL; + guint64 _tmp54_ = 0ULL; + guint64 _tmp55_ = 0ULL; + guint64 _tmp56_ = 0ULL; +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp40_ = photo_table_get_instance (); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp41_ = _tmp40_; +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp42_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_DATABASE_TABLE, DatabaseTable)); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp43_ = event_table_get_instance (); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp44_ = _tmp43_; +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp45_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_DATABASE_TABLE, DatabaseTable)); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp46_ = tag_table_get_instance (); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp47_ = _tmp46_; +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp48_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_DATABASE_TABLE, DatabaseTable)); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp49_ = video_table_get_instance (); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp50_ = _tmp49_; +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp51_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_DATABASE_TABLE, DatabaseTable)); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp52_ = upgrades_get_instance (); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp53_ = _tmp52_; +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp54_ = upgrades_get_step_count (_tmp53_); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _tmp55_ = (((_tmp42_ + _tmp45_) + _tmp48_) + _tmp51_) + _tmp54_; +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _upgrades_unref0 (_tmp53_); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _database_table_unref0 (_tmp50_); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _database_table_unref0 (_tmp47_); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _database_table_unref0 (_tmp44_); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + _database_table_unref0 (_tmp41_); +#line 98 "/home/jens/Source/shotwell/src/main.vala" + grand_total = _tmp55_; +#line 103 "/home/jens/Source/shotwell/src/main.vala" + _tmp56_ = grand_total; +#line 103 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp56_ > ((guint64) 5000)) { +#line 1137 "main.c" + const gchar* _tmp57_ = NULL; + ProgressDialog* _tmp58_ = NULL; + ProgressDialog* _tmp59_ = NULL; + ProgressDialog* _tmp60_ = NULL; + guint64 _tmp75_ = 0ULL; + ProgressDialog* _tmp76_ = NULL; + AggregateProgressMonitor* _tmp77_ = NULL; + AggregateProgressMonitor* _tmp78_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/main.vala" + _tmp57_ = _ ("Loading Shotwell"); +#line 104 "/home/jens/Source/shotwell/src/main.vala" + _tmp58_ = progress_dialog_new (NULL, _tmp57_, NULL); +#line 104 "/home/jens/Source/shotwell/src/main.vala" + g_object_ref_sink (_tmp58_); +#line 104 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (progress_dialog); +#line 104 "/home/jens/Source/shotwell/src/main.vala" + progress_dialog = _tmp58_; +#line 105 "/home/jens/Source/shotwell/src/main.vala" + _tmp59_ = progress_dialog; +#line 105 "/home/jens/Source/shotwell/src/main.vala" + progress_dialog_update_display_every (_tmp59_, 100); +#line 106 "/home/jens/Source/shotwell/src/main.vala" + _tmp60_ = progress_dialog; +#line 106 "/home/jens/Source/shotwell/src/main.vala" + progress_dialog_set_minimum_on_screen_time_msec (_tmp60_, 250); +#line 1164 "main.c" + { + gchar* icon_path = NULL; + GFile* _tmp61_ = NULL; + GFile* _tmp62_ = NULL; + GFile* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + GFile* _tmp65_ = NULL; + GFile* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + GdkPixbuf* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + GdkPixbuf* _tmp71_ = NULL; + ProgressDialog* _tmp72_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _tmp61_ = app_dirs_get_resources_dir (); +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _tmp62_ = _tmp61_; +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _tmp63_ = g_file_get_child (_tmp62_, "icons"); +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _tmp64_ = _tmp63_; +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _tmp65_ = g_file_get_child (_tmp64_, "shotwell.svg"); +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _tmp66_ = _tmp65_; +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _tmp67_ = g_file_get_path (_tmp66_); +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _tmp68_ = _tmp67_; +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp66_); +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp64_); +#line 108 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp62_); +#line 108 "/home/jens/Source/shotwell/src/main.vala" + icon_path = _tmp68_; +#line 109 "/home/jens/Source/shotwell/src/main.vala" + _tmp70_ = icon_path; +#line 109 "/home/jens/Source/shotwell/src/main.vala" + _tmp71_ = gdk_pixbuf_new_from_file (_tmp70_, &_inner_error_); +#line 109 "/home/jens/Source/shotwell/src/main.vala" + _tmp69_ = _tmp71_; +#line 109 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 109 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (icon_path); +#line 1213 "main.c" + goto __catch207_g_error; + } +#line 109 "/home/jens/Source/shotwell/src/main.vala" + _tmp72_ = progress_dialog; +#line 109 "/home/jens/Source/shotwell/src/main.vala" + gtk_window_set_icon (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_window_get_type (), GtkWindow), _tmp69_); +#line 107 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp69_); +#line 107 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (icon_path); +#line 1224 "main.c" + } + goto __finally207; + __catch207_g_error: + { + GError* err = NULL; + GError* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/main.vala" + err = _inner_error_; +#line 107 "/home/jens/Source/shotwell/src/main.vala" + _inner_error_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/main.vala" + _tmp73_ = err; +#line 111 "/home/jens/Source/shotwell/src/main.vala" + _tmp74_ = _tmp73_->message; +#line 111 "/home/jens/Source/shotwell/src/main.vala" + g_debug ("main.vala:111: Warning - could not load application icon for loading w" \ +"indow: %s", _tmp74_); +#line 107 "/home/jens/Source/shotwell/src/main.vala" + _g_error_free0 (err); +#line 1244 "main.c" + } + __finally207: +#line 107 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 107 "/home/jens/Source/shotwell/src/main.vala" + (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); +#line 107 "/home/jens/Source/shotwell/src/main.vala" + monitor = NULL; +#line 107 "/home/jens/Source/shotwell/src/main.vala" + monitor_target = NULL; +#line 107 "/home/jens/Source/shotwell/src/main.vala" + monitor_target_destroy_notify = NULL; +#line 107 "/home/jens/Source/shotwell/src/main.vala" + _aggregate_progress_monitor_unref0 (aggregate_monitor); +#line 107 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (progress_dialog); +#line 107 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (app_version); +#line 107 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (errormsg); +#line 107 "/home/jens/Source/shotwell/src/main.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 107 "/home/jens/Source/shotwell/src/main.vala" + g_clear_error (&_inner_error_); +#line 107 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 1271 "main.c" + } +#line 114 "/home/jens/Source/shotwell/src/main.vala" + _tmp75_ = grand_total; +#line 114 "/home/jens/Source/shotwell/src/main.vala" + _tmp76_ = progress_dialog; +#line 114 "/home/jens/Source/shotwell/src/main.vala" + _tmp77_ = aggregate_progress_monitor_new (_tmp75_, _progress_dialog_monitor_progress_monitor, _tmp76_); +#line 114 "/home/jens/Source/shotwell/src/main.vala" + _aggregate_progress_monitor_unref0 (aggregate_monitor); +#line 114 "/home/jens/Source/shotwell/src/main.vala" + aggregate_monitor = _tmp77_; +#line 115 "/home/jens/Source/shotwell/src/main.vala" + _tmp78_ = aggregate_monitor; +#line 115 "/home/jens/Source/shotwell/src/main.vala" + (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); +#line 115 "/home/jens/Source/shotwell/src/main.vala" + monitor = NULL; +#line 115 "/home/jens/Source/shotwell/src/main.vala" + monitor_target = NULL; +#line 115 "/home/jens/Source/shotwell/src/main.vala" + monitor_target_destroy_notify = NULL; +#line 115 "/home/jens/Source/shotwell/src/main.vala" + monitor = _aggregate_progress_monitor_monitor_progress_monitor; +#line 115 "/home/jens/Source/shotwell/src/main.vala" + monitor_target = aggregate_progress_monitor_ref (_tmp78_); +#line 115 "/home/jens/Source/shotwell/src/main.vala" + monitor_target_destroy_notify = aggregate_progress_monitor_unref; +#line 1299 "main.c" + } + } +#line 119 "/home/jens/Source/shotwell/src/main.vala" + thumbnail_cache_init (); +#line 120 "/home/jens/Source/shotwell/src/main.vala" + tombstone_init (); +#line 122 "/home/jens/Source/shotwell/src/main.vala" + _tmp79_ = aggregate_monitor; +#line 122 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp79_ != NULL) { +#line 1310 "main.c" + AggregateProgressMonitor* _tmp80_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/main.vala" + _tmp80_ = aggregate_monitor; +#line 123 "/home/jens/Source/shotwell/src/main.vala" + aggregate_progress_monitor_next_step (_tmp80_, "LibraryPhoto.init"); +#line 1316 "main.c" + } +#line 124 "/home/jens/Source/shotwell/src/main.vala" + _tmp81_ = monitor; +#line 124 "/home/jens/Source/shotwell/src/main.vala" + _tmp81__target = monitor_target; +#line 124 "/home/jens/Source/shotwell/src/main.vala" + library_photo_init (_tmp81_, _tmp81__target); +#line 125 "/home/jens/Source/shotwell/src/main.vala" + _tmp82_ = aggregate_monitor; +#line 125 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp82_ != NULL) { +#line 1328 "main.c" + AggregateProgressMonitor* _tmp83_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/main.vala" + _tmp83_ = aggregate_monitor; +#line 126 "/home/jens/Source/shotwell/src/main.vala" + aggregate_progress_monitor_next_step (_tmp83_, "Video.init"); +#line 1334 "main.c" + } +#line 127 "/home/jens/Source/shotwell/src/main.vala" + _tmp84_ = monitor; +#line 127 "/home/jens/Source/shotwell/src/main.vala" + _tmp84__target = monitor_target; +#line 127 "/home/jens/Source/shotwell/src/main.vala" + video_init (_tmp84_, _tmp84__target); +#line 128 "/home/jens/Source/shotwell/src/main.vala" + _tmp85_ = aggregate_monitor; +#line 128 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp85_ != NULL) { +#line 1346 "main.c" + AggregateProgressMonitor* _tmp86_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/main.vala" + _tmp86_ = aggregate_monitor; +#line 129 "/home/jens/Source/shotwell/src/main.vala" + aggregate_progress_monitor_next_step (_tmp86_, "Upgrades.execute"); +#line 1352 "main.c" + } +#line 130 "/home/jens/Source/shotwell/src/main.vala" + _tmp87_ = upgrades_get_instance (); +#line 130 "/home/jens/Source/shotwell/src/main.vala" + _tmp88_ = _tmp87_; +#line 130 "/home/jens/Source/shotwell/src/main.vala" + upgrades_execute (_tmp88_, NULL, NULL); +#line 130 "/home/jens/Source/shotwell/src/main.vala" + _upgrades_unref0 (_tmp88_); +#line 132 "/home/jens/Source/shotwell/src/main.vala" + library_monitor_pool_init (); +#line 133 "/home/jens/Source/shotwell/src/main.vala" + media_collection_registry_init (); +#line 134 "/home/jens/Source/shotwell/src/main.vala" + _tmp89_ = media_collection_registry_get_instance (); +#line 134 "/home/jens/Source/shotwell/src/main.vala" + registry = _tmp89_; +#line 135 "/home/jens/Source/shotwell/src/main.vala" + _tmp90_ = registry; +#line 135 "/home/jens/Source/shotwell/src/main.vala" + _tmp91_ = library_photo_global; +#line 135 "/home/jens/Source/shotwell/src/main.vala" + media_collection_registry_register_collection (_tmp90_, G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 136 "/home/jens/Source/shotwell/src/main.vala" + _tmp92_ = registry; +#line 136 "/home/jens/Source/shotwell/src/main.vala" + _tmp93_ = video_global; +#line 136 "/home/jens/Source/shotwell/src/main.vala" + media_collection_registry_register_collection (_tmp92_, G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)); +#line 138 "/home/jens/Source/shotwell/src/main.vala" + _tmp94_ = aggregate_monitor; +#line 138 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp94_ != NULL) { +#line 1386 "main.c" + AggregateProgressMonitor* _tmp95_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/main.vala" + _tmp95_ = aggregate_monitor; +#line 139 "/home/jens/Source/shotwell/src/main.vala" + aggregate_progress_monitor_next_step (_tmp95_, "Event.init"); +#line 1392 "main.c" + } +#line 140 "/home/jens/Source/shotwell/src/main.vala" + _tmp96_ = monitor; +#line 140 "/home/jens/Source/shotwell/src/main.vala" + _tmp96__target = monitor_target; +#line 140 "/home/jens/Source/shotwell/src/main.vala" + event_init (_tmp96_, _tmp96__target); +#line 141 "/home/jens/Source/shotwell/src/main.vala" + _tmp97_ = aggregate_monitor; +#line 141 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp97_ != NULL) { +#line 1404 "main.c" + AggregateProgressMonitor* _tmp98_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/main.vala" + _tmp98_ = aggregate_monitor; +#line 142 "/home/jens/Source/shotwell/src/main.vala" + aggregate_progress_monitor_next_step (_tmp98_, "Tag.init"); +#line 1410 "main.c" + } +#line 143 "/home/jens/Source/shotwell/src/main.vala" + _tmp99_ = monitor; +#line 143 "/home/jens/Source/shotwell/src/main.vala" + _tmp99__target = monitor_target; +#line 143 "/home/jens/Source/shotwell/src/main.vala" + tag_init (_tmp99_, _tmp99__target); +#line 145 "/home/jens/Source/shotwell/src/main.vala" + metadata_writer_init (); +#line 146 "/home/jens/Source/shotwell/src/main.vala" + desktop_integration_init (); +#line 148 "/home/jens/Source/shotwell/src/main.vala" + _tmp100_ = application_get_instance (); +#line 148 "/home/jens/Source/shotwell/src/main.vala" + _tmp101_ = _tmp100_; +#line 148 "/home/jens/Source/shotwell/src/main.vala" + g_signal_emit_by_name (_tmp101_, "init-done"); +#line 148 "/home/jens/Source/shotwell/src/main.vala" + _application_unref0 (_tmp101_); +#line 151 "/home/jens/Source/shotwell/src/main.vala" + _tmp102_ = aggregate_monitor; +#line 151 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp102_ != NULL) { +#line 1434 "main.c" + AggregateProgressMonitor* _tmp103_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/main.vala" + _tmp103_ = aggregate_monitor; +#line 152 "/home/jens/Source/shotwell/src/main.vala" + aggregate_progress_monitor_next_step (_tmp103_, "LibraryWindow"); +#line 1440 "main.c" + } +#line 153 "/home/jens/Source/shotwell/src/main.vala" + _tmp104_ = monitor; +#line 153 "/home/jens/Source/shotwell/src/main.vala" + _tmp104__target = monitor_target; +#line 153 "/home/jens/Source/shotwell/src/main.vala" + _tmp105_ = library_window_new (_tmp104_, _tmp104__target); +#line 153 "/home/jens/Source/shotwell/src/main.vala" + g_object_ref_sink (_tmp105_); +#line 153 "/home/jens/Source/shotwell/src/main.vala" + library_window = _tmp105_; +#line 155 "/home/jens/Source/shotwell/src/main.vala" + _tmp106_ = aggregate_monitor; +#line 155 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp106_ != NULL) { +#line 1456 "main.c" + AggregateProgressMonitor* _tmp107_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/main.vala" + _tmp107_ = aggregate_monitor; +#line 156 "/home/jens/Source/shotwell/src/main.vala" + aggregate_progress_monitor_next_step (_tmp107_, "done"); +#line 1462 "main.c" + } +#line 161 "/home/jens/Source/shotwell/src/main.vala" + (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); +#line 161 "/home/jens/Source/shotwell/src/main.vala" + monitor = NULL; +#line 161 "/home/jens/Source/shotwell/src/main.vala" + monitor_target = NULL; +#line 161 "/home/jens/Source/shotwell/src/main.vala" + monitor_target_destroy_notify = NULL; +#line 161 "/home/jens/Source/shotwell/src/main.vala" + monitor = NULL; +#line 161 "/home/jens/Source/shotwell/src/main.vala" + monitor_target = NULL; +#line 161 "/home/jens/Source/shotwell/src/main.vala" + monitor_target_destroy_notify = NULL; +#line 162 "/home/jens/Source/shotwell/src/main.vala" + _aggregate_progress_monitor_unref0 (aggregate_monitor); +#line 162 "/home/jens/Source/shotwell/src/main.vala" + aggregate_monitor = NULL; +#line 163 "/home/jens/Source/shotwell/src/main.vala" + _tmp108_ = progress_dialog; +#line 163 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp108_ != NULL) { +#line 1486 "main.c" + ProgressDialog* _tmp109_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/main.vala" + _tmp109_ = progress_dialog; +#line 164 "/home/jens/Source/shotwell/src/main.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, gtk_widget_get_type (), GtkWidget)); +#line 1492 "main.c" + } +#line 165 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (progress_dialog); +#line 165 "/home/jens/Source/shotwell/src/main.vala" + progress_dialog = NULL; +#line 168 "/home/jens/Source/shotwell/src/main.vala" + _tmp110_ = mounts; +#line 168 "/home/jens/Source/shotwell/src/main.vala" + _tmp110__length1 = mounts_length1; +#line 1502 "main.c" + { + gchar** mount_collection = NULL; + gint mount_collection_length1 = 0; + gint _mount_collection_size_ = 0; + gint mount_it = 0; +#line 168 "/home/jens/Source/shotwell/src/main.vala" + mount_collection = _tmp110_; +#line 168 "/home/jens/Source/shotwell/src/main.vala" + mount_collection_length1 = _tmp110__length1; +#line 168 "/home/jens/Source/shotwell/src/main.vala" + for (mount_it = 0; mount_it < _tmp110__length1; mount_it = mount_it + 1) { +#line 1514 "main.c" + gchar* _tmp111_ = NULL; + gchar* mount = NULL; +#line 168 "/home/jens/Source/shotwell/src/main.vala" + _tmp111_ = g_strdup (mount_collection[mount_it]); +#line 168 "/home/jens/Source/shotwell/src/main.vala" + mount = _tmp111_; +#line 1521 "main.c" + { + LibraryWindow* _tmp112_ = NULL; + const gchar* _tmp113_ = NULL; +#line 169 "/home/jens/Source/shotwell/src/main.vala" + _tmp112_ = library_window; +#line 169 "/home/jens/Source/shotwell/src/main.vala" + _tmp113_ = mount; +#line 169 "/home/jens/Source/shotwell/src/main.vala" + library_window_mounted_camera_shell_notification (_tmp112_, _tmp113_, TRUE); +#line 168 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (mount); +#line 1533 "main.c" + } + } + } +#line 171 "/home/jens/Source/shotwell/src/main.vala" + _tmp114_ = library_window; +#line 171 "/home/jens/Source/shotwell/src/main.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp114_, gtk_widget_get_type (), GtkWidget)); +#line 173 "/home/jens/Source/shotwell/src/main.vala" + _tmp115_ = g_new0 (WelcomeServiceEntry*, 0 + 1); +#line 173 "/home/jens/Source/shotwell/src/main.vala" + selected_import_entries = _tmp115_; +#line 173 "/home/jens/Source/shotwell/src/main.vala" + selected_import_entries_length1 = 0; +#line 173 "/home/jens/Source/shotwell/src/main.vala" + _selected_import_entries_size_ = selected_import_entries_length1; +#line 174 "/home/jens/Source/shotwell/src/main.vala" + _tmp117_ = config_facade_get_instance (); +#line 174 "/home/jens/Source/shotwell/src/main.vala" + _tmp118_ = _tmp117_; +#line 174 "/home/jens/Source/shotwell/src/main.vala" + _tmp119_ = configuration_facade_get_show_welcome_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp118_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 174 "/home/jens/Source/shotwell/src/main.vala" + _tmp120_ = _tmp119_; +#line 174 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp118_); +#line 174 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp120_) { +#line 1561 "main.c" + LibraryPhotoSourceCollection* _tmp121_ = NULL; + gint _tmp122_ = 0; +#line 175 "/home/jens/Source/shotwell/src/main.vala" + _tmp121_ = library_photo_global; +#line 175 "/home/jens/Source/shotwell/src/main.vala" + _tmp122_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp121_, TYPE_DATA_COLLECTION, DataCollection)); +#line 175 "/home/jens/Source/shotwell/src/main.vala" + _tmp116_ = _tmp122_ == 0; +#line 1570 "main.c" + } else { +#line 174 "/home/jens/Source/shotwell/src/main.vala" + _tmp116_ = FALSE; +#line 1574 "main.c" + } +#line 174 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp116_) { +#line 1578 "main.c" + WelcomeDialog* welcome = NULL; + LibraryWindow* _tmp123_ = NULL; + WelcomeDialog* _tmp124_ = NULL; + ConfigFacade* _tmp125_ = NULL; + ConfigFacade* _tmp126_ = NULL; + WelcomeDialog* _tmp127_ = NULL; + WelcomeServiceEntry** _tmp128_ = NULL; + gint _tmp129_ = 0; + gboolean _tmp130_ = FALSE; + gboolean _tmp131_ = FALSE; +#line 176 "/home/jens/Source/shotwell/src/main.vala" + _tmp123_ = library_window; +#line 176 "/home/jens/Source/shotwell/src/main.vala" + _tmp124_ = welcome_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp123_, gtk_window_get_type (), GtkWindow)); +#line 176 "/home/jens/Source/shotwell/src/main.vala" + g_object_ref_sink (_tmp124_); +#line 176 "/home/jens/Source/shotwell/src/main.vala" + welcome = _tmp124_; +#line 177 "/home/jens/Source/shotwell/src/main.vala" + _tmp125_ = config_facade_get_instance (); +#line 177 "/home/jens/Source/shotwell/src/main.vala" + _tmp126_ = _tmp125_; +#line 177 "/home/jens/Source/shotwell/src/main.vala" + _tmp127_ = welcome; +#line 177 "/home/jens/Source/shotwell/src/main.vala" + _tmp131_ = welcome_dialog_execute (_tmp127_, &_tmp128_, &_tmp129_, &_tmp130_); +#line 177 "/home/jens/Source/shotwell/src/main.vala" + selected_import_entries = (_vala_array_free (selected_import_entries, selected_import_entries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 177 "/home/jens/Source/shotwell/src/main.vala" + selected_import_entries = _tmp128_; +#line 177 "/home/jens/Source/shotwell/src/main.vala" + selected_import_entries_length1 = _tmp129_; +#line 177 "/home/jens/Source/shotwell/src/main.vala" + _selected_import_entries_size_ = selected_import_entries_length1; +#line 177 "/home/jens/Source/shotwell/src/main.vala" + do_system_pictures_import = _tmp130_; +#line 177 "/home/jens/Source/shotwell/src/main.vala" + configuration_facade_set_show_welcome_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp126_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp131_); +#line 177 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp126_); +#line 174 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (welcome); +#line 1621 "main.c" + } else { + ConfigFacade* _tmp132_ = NULL; + ConfigFacade* _tmp133_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/main.vala" + _tmp132_ = config_facade_get_instance (); +#line 180 "/home/jens/Source/shotwell/src/main.vala" + _tmp133_ = _tmp132_; +#line 180 "/home/jens/Source/shotwell/src/main.vala" + configuration_facade_set_show_welcome_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), FALSE); +#line 180 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp133_); +#line 1633 "main.c" + } +#line 183 "/home/jens/Source/shotwell/src/main.vala" + _tmp134_ = selected_import_entries; +#line 183 "/home/jens/Source/shotwell/src/main.vala" + _tmp134__length1 = selected_import_entries_length1; +#line 183 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp134__length1 > 0) { +#line 1641 "main.c" + WelcomeServiceEntry** _tmp135_ = NULL; + gint _tmp135__length1 = 0; +#line 184 "/home/jens/Source/shotwell/src/main.vala" + do_external_import = TRUE; +#line 185 "/home/jens/Source/shotwell/src/main.vala" + _tmp135_ = selected_import_entries; +#line 185 "/home/jens/Source/shotwell/src/main.vala" + _tmp135__length1 = selected_import_entries_length1; +#line 1650 "main.c" + { + WelcomeServiceEntry** entry_collection = NULL; + gint entry_collection_length1 = 0; + gint _entry_collection_size_ = 0; + gint entry_it = 0; +#line 185 "/home/jens/Source/shotwell/src/main.vala" + entry_collection = _tmp135_; +#line 185 "/home/jens/Source/shotwell/src/main.vala" + entry_collection_length1 = _tmp135__length1; +#line 185 "/home/jens/Source/shotwell/src/main.vala" + for (entry_it = 0; entry_it < _tmp135__length1; entry_it = entry_it + 1) { +#line 1662 "main.c" + WelcomeServiceEntry* _tmp136_ = NULL; + WelcomeServiceEntry* entry = NULL; +#line 185 "/home/jens/Source/shotwell/src/main.vala" + _tmp136_ = _g_object_ref0 (entry_collection[entry_it]); +#line 185 "/home/jens/Source/shotwell/src/main.vala" + entry = _tmp136_; +#line 1669 "main.c" + { + WelcomeServiceEntry* _tmp137_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/main.vala" + _tmp137_ = entry; +#line 186 "/home/jens/Source/shotwell/src/main.vala" + welcome_service_entry_execute (_tmp137_); +#line 185 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (entry); +#line 1678 "main.c" + } + } + } + } +#line 188 "/home/jens/Source/shotwell/src/main.vala" + _tmp138_ = do_system_pictures_import; +#line 188 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp138_) { +#line 192 "/home/jens/Source/shotwell/src/main.vala" + run_system_pictures_import (NULL); +#line 1689 "main.c" + } +#line 195 "/home/jens/Source/shotwell/src/main.vala" + _tmp139_ = startup_timer; +#line 195 "/home/jens/Source/shotwell/src/main.vala" + _tmp140_ = g_timer_elapsed (_tmp139_, NULL); +#line 195 "/home/jens/Source/shotwell/src/main.vala" + g_debug ("main.vala:195: %lf seconds to Gtk.main()", _tmp140_); +#line 197 "/home/jens/Source/shotwell/src/main.vala" + _tmp141_ = application_get_instance (); +#line 197 "/home/jens/Source/shotwell/src/main.vala" + _tmp142_ = _tmp141_; +#line 197 "/home/jens/Source/shotwell/src/main.vala" + application_start (_tmp142_, NULL, 0); +#line 197 "/home/jens/Source/shotwell/src/main.vala" + _application_unref0 (_tmp142_); +#line 199 "/home/jens/Source/shotwell/src/main.vala" + desktop_integration_terminate (); +#line 200 "/home/jens/Source/shotwell/src/main.vala" + metadata_writer_terminate (); +#line 201 "/home/jens/Source/shotwell/src/main.vala" + tag_terminate (); +#line 202 "/home/jens/Source/shotwell/src/main.vala" + event_terminate (); +#line 203 "/home/jens/Source/shotwell/src/main.vala" + library_photo_terminate (); +#line 204 "/home/jens/Source/shotwell/src/main.vala" + media_collection_registry_terminate (); +#line 205 "/home/jens/Source/shotwell/src/main.vala" + library_monitor_pool_terminate (); +#line 206 "/home/jens/Source/shotwell/src/main.vala" + tombstone_terminate (); +#line 207 "/home/jens/Source/shotwell/src/main.vala" + thumbnail_cache_terminate (); +#line 208 "/home/jens/Source/shotwell/src/main.vala" + video_terminate (); +#line 209 "/home/jens/Source/shotwell/src/main.vala" + library_app_terminate (); +#line 15 "/home/jens/Source/shotwell/src/main.vala" + selected_import_entries = (_vala_array_free (selected_import_entries, selected_import_entries_length1, (GDestroyNotify) g_object_unref), NULL); +#line 15 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (library_window); +#line 15 "/home/jens/Source/shotwell/src/main.vala" + _media_collection_registry_unref0 (registry); +#line 15 "/home/jens/Source/shotwell/src/main.vala" + (monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL); +#line 15 "/home/jens/Source/shotwell/src/main.vala" + monitor = NULL; +#line 15 "/home/jens/Source/shotwell/src/main.vala" + monitor_target = NULL; +#line 15 "/home/jens/Source/shotwell/src/main.vala" + monitor_target_destroy_notify = NULL; +#line 15 "/home/jens/Source/shotwell/src/main.vala" + _aggregate_progress_monitor_unref0 (aggregate_monitor); +#line 15 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (progress_dialog); +#line 15 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (app_version); +#line 15 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (errormsg); +#line 1749 "main.c" +} + + +static void _report_system_pictures_import_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) { +#line 224 "/home/jens/Source/shotwell/src/main.vala" + report_system_pictures_import (manifest, import_roll); +#line 1756 "main.c" +} + + +void run_system_pictures_import (ImportManifest* external_exclusion_manifest) { + gboolean _tmp0_ = FALSE; + GeeArrayList* jobs = NULL; + GeeArrayList* _tmp1_ = NULL; + GeeArrayList* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + FileImportJob* _tmp5_ = NULL; + FileImportJob* _tmp6_ = NULL; + LibraryWindow* library_window = NULL; + AppWindow* _tmp7_ = NULL; + BatchImport* batch_import = NULL; + GeeArrayList* _tmp8_ = NULL; + ImportManifest* _tmp9_ = NULL; + BatchImport* _tmp10_ = NULL; + LibraryWindow* _tmp11_ = NULL; + BatchImport* _tmp12_ = NULL; + LibraryWindow* _tmp13_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/main.vala" + g_return_if_fail ((external_exclusion_manifest == NULL) || IS_IMPORT_MANIFEST (external_exclusion_manifest)); +#line 216 "/home/jens/Source/shotwell/src/main.vala" + _tmp0_ = do_system_pictures_import; +#line 216 "/home/jens/Source/shotwell/src/main.vala" + if (!_tmp0_) { +#line 217 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 1786 "main.c" + } +#line 219 "/home/jens/Source/shotwell/src/main.vala" + _tmp1_ = gee_array_list_new (TYPE_FILE_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL); +#line 219 "/home/jens/Source/shotwell/src/main.vala" + jobs = _tmp1_; +#line 220 "/home/jens/Source/shotwell/src/main.vala" + _tmp2_ = jobs; +#line 220 "/home/jens/Source/shotwell/src/main.vala" + _tmp3_ = app_dirs_get_import_dir (); +#line 220 "/home/jens/Source/shotwell/src/main.vala" + _tmp4_ = _tmp3_; +#line 220 "/home/jens/Source/shotwell/src/main.vala" + _tmp5_ = file_import_job_new (_tmp4_, FALSE); +#line 220 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_ = _tmp5_; +#line 220 "/home/jens/Source/shotwell/src/main.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp6_); +#line 220 "/home/jens/Source/shotwell/src/main.vala" + _batch_import_job_unref0 (_tmp6_); +#line 220 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp4_); +#line 222 "/home/jens/Source/shotwell/src/main.vala" + _tmp7_ = app_window_get_instance (); +#line 222 "/home/jens/Source/shotwell/src/main.vala" + library_window = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_LIBRARY_WINDOW, LibraryWindow); +#line 224 "/home/jens/Source/shotwell/src/main.vala" + _tmp8_ = jobs; +#line 224 "/home/jens/Source/shotwell/src/main.vala" + _tmp9_ = external_exclusion_manifest; +#line 224 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable), "startup_import", _report_system_pictures_import_batch_import_import_reporter, NULL, NULL, NULL, NULL, NULL, _tmp9_); +#line 224 "/home/jens/Source/shotwell/src/main.vala" + batch_import = _tmp10_; +#line 226 "/home/jens/Source/shotwell/src/main.vala" + _tmp11_ = library_window; +#line 226 "/home/jens/Source/shotwell/src/main.vala" + _tmp12_ = batch_import; +#line 226 "/home/jens/Source/shotwell/src/main.vala" + library_window_enqueue_batch_import (_tmp11_, _tmp12_, TRUE); +#line 228 "/home/jens/Source/shotwell/src/main.vala" + _tmp13_ = library_window; +#line 228 "/home/jens/Source/shotwell/src/main.vala" + library_window_switch_to_import_queue_page (_tmp13_); +#line 215 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (batch_import); +#line 215 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (library_window); +#line 215 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (jobs); +#line 1836 "main.c" +} + + +void report_system_pictures_import (ImportManifest* manifest, BatchImportRoll* import_roll) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + ImportManifest* _tmp6_ = NULL; +#line 231 "/home/jens/Source/shotwell/src/main.vala" + g_return_if_fail (IS_IMPORT_MANIFEST (manifest)); +#line 231 "/home/jens/Source/shotwell/src/main.vala" + g_return_if_fail (IS_BATCH_IMPORT_ROLL (import_roll)); +#line 238 "/home/jens/Source/shotwell/src/main.vala" + _tmp1_ = do_external_import; +#line 238 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp1_) { +#line 1852 "main.c" + ImportManifest* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 238 "/home/jens/Source/shotwell/src/main.vala" + _tmp2_ = manifest; +#line 238 "/home/jens/Source/shotwell/src/main.vala" + _tmp3_ = _tmp2_->all; +#line 238 "/home/jens/Source/shotwell/src/main.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 238 "/home/jens/Source/shotwell/src/main.vala" + _tmp5_ = _tmp4_; +#line 238 "/home/jens/Source/shotwell/src/main.vala" + _tmp0_ = _tmp5_ == 0; +#line 1867 "main.c" + } else { +#line 238 "/home/jens/Source/shotwell/src/main.vala" + _tmp0_ = FALSE; +#line 1871 "main.c" + } +#line 238 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp0_) { +#line 239 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 1877 "main.c" + } +#line 241 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_ = manifest; +#line 241 "/home/jens/Source/shotwell/src/main.vala" + import_ui_report_manifest (_tmp6_, TRUE, NULL); +#line 1883 "main.c" +} + + +void editing_exec (const gchar* filename) { + GFile* initial_file = NULL; + const gchar* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + DirectWindow* direct_window = NULL; + GFile* _tmp5_ = NULL; + DirectWindow* _tmp6_ = NULL; + DirectWindow* _tmp7_ = NULL; + GTimer* _tmp8_ = NULL; + gdouble _tmp9_ = 0.0; + Application* _tmp10_ = NULL; + Application* _tmp11_ = NULL; + GError * _inner_error_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/main.vala" + g_return_if_fail (filename != NULL); +#line 245 "/home/jens/Source/shotwell/src/main.vala" + _tmp0_ = filename; +#line 245 "/home/jens/Source/shotwell/src/main.vala" + _tmp1_ = g_file_new_for_commandline_arg (_tmp0_); +#line 245 "/home/jens/Source/shotwell/src/main.vala" + initial_file = _tmp1_; +#line 248 "/home/jens/Source/shotwell/src/main.vala" + _tmp2_ = initial_file; +#line 248 "/home/jens/Source/shotwell/src/main.vala" + direct_preconfigure (_tmp2_); +#line 249 "/home/jens/Source/shotwell/src/main.vala" + db_preconfigure (NULL); +#line 1915 "main.c" + { +#line 253 "/home/jens/Source/shotwell/src/main.vala" + direct_app_init (&_inner_error_); +#line 253 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1921 "main.c" + goto __catch208_g_error; + } + } + goto __finally208; + __catch208_g_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 252 "/home/jens/Source/shotwell/src/main.vala" + err = _inner_error_; +#line 252 "/home/jens/Source/shotwell/src/main.vala" + _inner_error_ = NULL; +#line 255 "/home/jens/Source/shotwell/src/main.vala" + _tmp3_ = err; +#line 255 "/home/jens/Source/shotwell/src/main.vala" + _tmp4_ = _tmp3_->message; +#line 255 "/home/jens/Source/shotwell/src/main.vala" + app_window_panic (_tmp4_); +#line 257 "/home/jens/Source/shotwell/src/main.vala" + _g_error_free0 (err); +#line 257 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (initial_file); +#line 257 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 1947 "main.c" + } + __finally208: +#line 252 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 252 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (initial_file); +#line 252 "/home/jens/Source/shotwell/src/main.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 252 "/home/jens/Source/shotwell/src/main.vala" + g_clear_error (&_inner_error_); +#line 252 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 1960 "main.c" + } +#line 261 "/home/jens/Source/shotwell/src/main.vala" + desktop_integration_init (); +#line 267 "/home/jens/Source/shotwell/src/main.vala" + _tmp5_ = initial_file; +#line 267 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_ = direct_window_new (_tmp5_); +#line 267 "/home/jens/Source/shotwell/src/main.vala" + g_object_ref_sink (_tmp6_); +#line 267 "/home/jens/Source/shotwell/src/main.vala" + direct_window = _tmp6_; +#line 268 "/home/jens/Source/shotwell/src/main.vala" + _tmp7_ = direct_window; +#line 268 "/home/jens/Source/shotwell/src/main.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 270 "/home/jens/Source/shotwell/src/main.vala" + _tmp8_ = startup_timer; +#line 270 "/home/jens/Source/shotwell/src/main.vala" + _tmp9_ = g_timer_elapsed (_tmp8_, NULL); +#line 270 "/home/jens/Source/shotwell/src/main.vala" + g_debug ("main.vala:270: %lf seconds to Gtk.main()", _tmp9_); +#line 272 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_ = application_get_instance (); +#line 272 "/home/jens/Source/shotwell/src/main.vala" + _tmp11_ = _tmp10_; +#line 272 "/home/jens/Source/shotwell/src/main.vala" + application_start (_tmp11_, NULL, 0); +#line 272 "/home/jens/Source/shotwell/src/main.vala" + _application_unref0 (_tmp11_); +#line 274 "/home/jens/Source/shotwell/src/main.vala" + desktop_integration_terminate (); +#line 277 "/home/jens/Source/shotwell/src/main.vala" + direct_app_terminate (); +#line 244 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (direct_window); +#line 244 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (initial_file); +#line 1998 "main.c" +} + + +static GOptionEntry* _vala_array_dup26 (GOptionEntry* self, int length) { +#line 291 "/home/jens/Source/shotwell/src/main.vala" + return g_memdup (self, length * sizeof (GOptionEntry)); +#line 2005 "main.c" +} + + +static void _vala_array_add152 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) { +#line 295 "/home/jens/Source/shotwell/src/main.vala" + if ((*length) == (*size)) { +#line 295 "/home/jens/Source/shotwell/src/main.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 295 "/home/jens/Source/shotwell/src/main.vala" + *array = g_renew (GOptionEntry, *array, *size); +#line 2016 "main.c" + } +#line 295 "/home/jens/Source/shotwell/src/main.vala" + (*array)[(*length)++] = *value; +#line 2020 "main.c" +} + + +static void _vala_array_add153 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) { +#line 299 "/home/jens/Source/shotwell/src/main.vala" + if ((*length) == (*size)) { +#line 299 "/home/jens/Source/shotwell/src/main.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 299 "/home/jens/Source/shotwell/src/main.vala" + *array = g_renew (GOptionEntry, *array, *size); +#line 2031 "main.c" + } +#line 299 "/home/jens/Source/shotwell/src/main.vala" + (*array)[(*length)++] = *value; +#line 2035 "main.c" +} + + +static void _vala_array_add154 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) { +#line 303 "/home/jens/Source/shotwell/src/main.vala" + if ((*length) == (*size)) { +#line 303 "/home/jens/Source/shotwell/src/main.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 303 "/home/jens/Source/shotwell/src/main.vala" + *array = g_renew (GOptionEntry, *array, *size); +#line 2046 "main.c" + } +#line 303 "/home/jens/Source/shotwell/src/main.vala" + (*array)[(*length)++] = *value; +#line 2050 "main.c" +} + + +static void _vala_array_add155 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) { +#line 307 "/home/jens/Source/shotwell/src/main.vala" + if ((*length) == (*size)) { +#line 307 "/home/jens/Source/shotwell/src/main.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 307 "/home/jens/Source/shotwell/src/main.vala" + *array = g_renew (GOptionEntry, *array, *size); +#line 2061 "main.c" + } +#line 307 "/home/jens/Source/shotwell/src/main.vala" + (*array)[(*length)++] = *value; +#line 2065 "main.c" +} + + +static void _vala_array_add156 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) { +#line 310 "/home/jens/Source/shotwell/src/main.vala" + if ((*length) == (*size)) { +#line 310 "/home/jens/Source/shotwell/src/main.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 310 "/home/jens/Source/shotwell/src/main.vala" + *array = g_renew (GOptionEntry, *array, *size); +#line 2076 "main.c" + } +#line 310 "/home/jens/Source/shotwell/src/main.vala" + (*array)[(*length)++] = *value; +#line 2080 "main.c" +} + + +static GOptionEntry* _vala_array_dup27 (GOptionEntry* self, int length) { +#line 312 "/home/jens/Source/shotwell/src/main.vala" + return g_memdup (self, length * sizeof (GOptionEntry)); +#line 2087 "main.c" +} + + +GOptionEntry* commandline_options_get_options (int* result_length1) { + GOptionEntry* result = NULL; + GOptionEntry* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + GOptionEntry datadir = {0}; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GOptionEntry _tmp6_ = {0}; + GOptionEntry* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + GOptionEntry _tmp8_ = {0}; + GOptionEntry no_monitoring = {0}; + const gchar* _tmp9_ = NULL; + GOptionEntry _tmp10_ = {0}; + GOptionEntry* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + GOptionEntry _tmp12_ = {0}; + GOptionEntry no_startup = {0}; + const gchar* _tmp13_ = NULL; + GOptionEntry _tmp14_ = {0}; + GOptionEntry* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GOptionEntry _tmp16_ = {0}; + GOptionEntry version = {0}; + const gchar* _tmp17_ = NULL; + GOptionEntry _tmp18_ = {0}; + GOptionEntry* _tmp19_ = NULL; + gint _tmp19__length1 = 0; + GOptionEntry _tmp20_ = {0}; + GOptionEntry terminator = {0}; + GOptionEntry _tmp21_ = {0}; + GOptionEntry* _tmp22_ = NULL; + gint _tmp22__length1 = 0; + GOptionEntry _tmp23_ = {0}; + GOptionEntry* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + GOptionEntry* _tmp25_ = NULL; + gint _tmp25__length1 = 0; + GOptionEntry* _tmp26_ = NULL; + gint _tmp26__length1 = 0; +#line 290 "/home/jens/Source/shotwell/src/main.vala" + _tmp0_ = commandline_options_entries; +#line 290 "/home/jens/Source/shotwell/src/main.vala" + _tmp0__length1 = commandline_options_entries_length1; +#line 290 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp0_ != NULL) { +#line 2137 "main.c" + GOptionEntry* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GOptionEntry* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + GOptionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 291 "/home/jens/Source/shotwell/src/main.vala" + _tmp1_ = commandline_options_entries; +#line 291 "/home/jens/Source/shotwell/src/main.vala" + _tmp1__length1 = commandline_options_entries_length1; +#line 291 "/home/jens/Source/shotwell/src/main.vala" + _tmp2_ = (_tmp1_ != NULL) ? _vala_array_dup26 (_tmp1_, _tmp1__length1) : ((gpointer) _tmp1_); +#line 291 "/home/jens/Source/shotwell/src/main.vala" + _tmp2__length1 = _tmp1__length1; +#line 291 "/home/jens/Source/shotwell/src/main.vala" + _tmp3_ = _tmp2_; +#line 291 "/home/jens/Source/shotwell/src/main.vala" + _tmp3__length1 = _tmp2__length1; +#line 291 "/home/jens/Source/shotwell/src/main.vala" + if (result_length1) { +#line 291 "/home/jens/Source/shotwell/src/main.vala" + *result_length1 = _tmp3__length1; +#line 2160 "main.c" + } +#line 291 "/home/jens/Source/shotwell/src/main.vala" + result = _tmp3_; +#line 291 "/home/jens/Source/shotwell/src/main.vala" + return result; +#line 2166 "main.c" + } +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp4_ = _ ("Path to Shotwell's private data"); +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp5_ = _ ("DIRECTORY"); +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_.long_name = "datadir"; +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_.short_name = 'd'; +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_.flags = 0; +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_.arg = G_OPTION_ARG_FILENAME; +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_.arg_data = &commandline_options_data_dir; +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_.description = _tmp4_; +#line 293 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_.arg_description = _tmp5_; +#line 293 "/home/jens/Source/shotwell/src/main.vala" + datadir = _tmp6_; +#line 295 "/home/jens/Source/shotwell/src/main.vala" + _tmp7_ = commandline_options_entries; +#line 295 "/home/jens/Source/shotwell/src/main.vala" + _tmp7__length1 = commandline_options_entries_length1; +#line 295 "/home/jens/Source/shotwell/src/main.vala" + _tmp8_ = datadir; +#line 295 "/home/jens/Source/shotwell/src/main.vala" + _vala_array_add152 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp8_); +#line 297 "/home/jens/Source/shotwell/src/main.vala" + _tmp9_ = _ ("Do not monitor library directory at runtime for changes"); +#line 297 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_.long_name = "no-runtime-monitoring"; +#line 297 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_.short_name = (gchar) 0; +#line 297 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_.flags = 0; +#line 297 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_.arg = G_OPTION_ARG_NONE; +#line 297 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_.arg_data = &commandline_options_no_runtime_monitoring; +#line 297 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_.description = _tmp9_; +#line 297 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_.arg_description = NULL; +#line 297 "/home/jens/Source/shotwell/src/main.vala" + no_monitoring = _tmp10_; +#line 299 "/home/jens/Source/shotwell/src/main.vala" + _tmp11_ = commandline_options_entries; +#line 299 "/home/jens/Source/shotwell/src/main.vala" + _tmp11__length1 = commandline_options_entries_length1; +#line 299 "/home/jens/Source/shotwell/src/main.vala" + _tmp12_ = no_monitoring; +#line 299 "/home/jens/Source/shotwell/src/main.vala" + _vala_array_add153 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp12_); +#line 301 "/home/jens/Source/shotwell/src/main.vala" + _tmp13_ = _ ("Don't display startup progress meter"); +#line 301 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_.long_name = "no-startup-progress"; +#line 301 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_.short_name = (gchar) 0; +#line 301 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_.flags = 0; +#line 301 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_.arg = G_OPTION_ARG_NONE; +#line 301 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_.arg_data = &commandline_options_no_startup_progress; +#line 301 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_.description = _tmp13_; +#line 301 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_.arg_description = NULL; +#line 301 "/home/jens/Source/shotwell/src/main.vala" + no_startup = _tmp14_; +#line 303 "/home/jens/Source/shotwell/src/main.vala" + _tmp15_ = commandline_options_entries; +#line 303 "/home/jens/Source/shotwell/src/main.vala" + _tmp15__length1 = commandline_options_entries_length1; +#line 303 "/home/jens/Source/shotwell/src/main.vala" + _tmp16_ = no_startup; +#line 303 "/home/jens/Source/shotwell/src/main.vala" + _vala_array_add154 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp16_); +#line 305 "/home/jens/Source/shotwell/src/main.vala" + _tmp17_ = _ ("Show the application's version"); +#line 305 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_.long_name = "version"; +#line 305 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_.short_name = 'V'; +#line 305 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_.flags = 0; +#line 305 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_.arg = G_OPTION_ARG_NONE; +#line 305 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_.arg_data = &commandline_options_show_version; +#line 305 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_.description = _tmp17_; +#line 305 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_.arg_description = NULL; +#line 305 "/home/jens/Source/shotwell/src/main.vala" + version = _tmp18_; +#line 307 "/home/jens/Source/shotwell/src/main.vala" + _tmp19_ = commandline_options_entries; +#line 307 "/home/jens/Source/shotwell/src/main.vala" + _tmp19__length1 = commandline_options_entries_length1; +#line 307 "/home/jens/Source/shotwell/src/main.vala" + _tmp20_ = version; +#line 307 "/home/jens/Source/shotwell/src/main.vala" + _vala_array_add155 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp20_); +#line 309 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_.long_name = NULL; +#line 309 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_.short_name = (gchar) 0; +#line 309 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_.flags = 0; +#line 309 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_.arg = 0; +#line 309 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_.arg_data = NULL; +#line 309 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_.description = NULL; +#line 309 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_.arg_description = NULL; +#line 309 "/home/jens/Source/shotwell/src/main.vala" + terminator = _tmp21_; +#line 310 "/home/jens/Source/shotwell/src/main.vala" + _tmp22_ = commandline_options_entries; +#line 310 "/home/jens/Source/shotwell/src/main.vala" + _tmp22__length1 = commandline_options_entries_length1; +#line 310 "/home/jens/Source/shotwell/src/main.vala" + _tmp23_ = terminator; +#line 310 "/home/jens/Source/shotwell/src/main.vala" + _vala_array_add156 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp23_); +#line 312 "/home/jens/Source/shotwell/src/main.vala" + _tmp24_ = commandline_options_entries; +#line 312 "/home/jens/Source/shotwell/src/main.vala" + _tmp24__length1 = commandline_options_entries_length1; +#line 312 "/home/jens/Source/shotwell/src/main.vala" + _tmp25_ = (_tmp24_ != NULL) ? _vala_array_dup27 (_tmp24_, _tmp24__length1) : ((gpointer) _tmp24_); +#line 312 "/home/jens/Source/shotwell/src/main.vala" + _tmp25__length1 = _tmp24__length1; +#line 312 "/home/jens/Source/shotwell/src/main.vala" + _tmp26_ = _tmp25_; +#line 312 "/home/jens/Source/shotwell/src/main.vala" + _tmp26__length1 = _tmp25__length1; +#line 312 "/home/jens/Source/shotwell/src/main.vala" + if (result_length1) { +#line 312 "/home/jens/Source/shotwell/src/main.vala" + *result_length1 = _tmp26__length1; +#line 2314 "main.c" + } +#line 312 "/home/jens/Source/shotwell/src/main.vala" + result = _tmp26_; +#line 312 "/home/jens/Source/shotwell/src/main.vala" + return result; +#line 2320 "main.c" +} + + +static void _vala_array_add157 (gchar*** array, int* length, int* size, gchar* value) { +#line 372 "/home/jens/Source/shotwell/src/main.vala" + if ((*length) == (*size)) { +#line 372 "/home/jens/Source/shotwell/src/main.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 372 "/home/jens/Source/shotwell/src/main.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 2331 "main.c" + } +#line 372 "/home/jens/Source/shotwell/src/main.vala" + (*array)[(*length)++] = value; +#line 372 "/home/jens/Source/shotwell/src/main.vala" + (*array)[*length] = NULL; +#line 2337 "main.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2357 "main.c" +} + + +void _vala_main (gchar** args, int args_length1) { + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp22_ = FALSE; + gchar** mounts = NULL; + gchar** _tmp23_ = NULL; + gint mounts_length1 = 0; + gint _mounts_size_ = 0; + gchar* filename = NULL; + const gchar* _tmp44_ = NULL; + const gchar* _tmp45_ = NULL; + gboolean _tmp46_ = FALSE; + const gchar* _tmp53_ = NULL; + gboolean _tmp54_ = FALSE; + const gchar* _tmp55_ = NULL; + gchar** _tmp57_ = NULL; + gint _tmp57__length1 = 0; + GTimer* _tmp58_ = NULL; + GTimer* _tmp59_ = NULL; + const gchar* _tmp60_ = NULL; + gboolean _tmp61_ = FALSE; + gboolean _tmp64_ = FALSE; + const gchar* _tmp65_ = NULL; + gboolean _tmp66_ = FALSE; + GError * _inner_error_ = NULL; +#line 320 "/home/jens/Source/shotwell/src/main.vala" + _tmp0_ = args; +#line 320 "/home/jens/Source/shotwell/src/main.vala" + _tmp0__length1 = args_length1; +#line 320 "/home/jens/Source/shotwell/src/main.vala" + _tmp1_ = _tmp0_[0]; +#line 320 "/home/jens/Source/shotwell/src/main.vala" + app_dirs_init (_tmp1_); +#line 325 "/home/jens/Source/shotwell/src/main.vala" + gexiv2_initialize (); +#line 331 "/home/jens/Source/shotwell/src/main.vala" + _tmp2_ = app_dirs_get_install_dir (); +#line 331 "/home/jens/Source/shotwell/src/main.vala" + _tmp3_ = _tmp2_; +#line 331 "/home/jens/Source/shotwell/src/main.vala" + _tmp4_ = _tmp3_ == NULL; +#line 331 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp3_); +#line 331 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp4_) { +#line 2410 "main.c" + GFile* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _tmp5_ = app_dirs_get_exec_dir (); +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _tmp6_ = _tmp5_; +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _tmp8_ = _tmp7_; +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _tmp9_ = g_strconcat (_tmp8_, "/misc", NULL); +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _tmp10_ = _tmp9_; +#line 332 "/home/jens/Source/shotwell/src/main.vala" + g_setenv ("GSETTINGS_SCHEMA_DIR", _tmp10_, TRUE); +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (_tmp10_); +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (_tmp8_); +#line 332 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp6_); +#line 2437 "main.c" + } + { + const gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; + GOptionEntry* _tmp13_ = NULL; + GOptionEntry* _tmp14_ = NULL; + gint _tmp14__length1 = 0; +#line 338 "/home/jens/Source/shotwell/src/main.vala" + _tmp11_ = _ ("[FILE]"); +#line 338 "/home/jens/Source/shotwell/src/main.vala" + _tmp13_ = commandline_options_get_options (&_tmp12_); +#line 338 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_ = _tmp13_; +#line 338 "/home/jens/Source/shotwell/src/main.vala" + _tmp14__length1 = _tmp12_; +#line 338 "/home/jens/Source/shotwell/src/main.vala" + gtk_init_with_args (&args_length1, &args, _tmp11_, _tmp14_, RESOURCES_APP_GETTEXT_PACKAGE, &_inner_error_); +#line 338 "/home/jens/Source/shotwell/src/main.vala" + _tmp14_ = (g_free (_tmp14_), NULL); +#line 338 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 2459 "main.c" + goto __catch209_g_error; + } + } + goto __finally209; + __catch209_g_error: + { + GError* e = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + const gchar* _tmp21_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/main.vala" + e = _inner_error_; +#line 337 "/home/jens/Source/shotwell/src/main.vala" + _inner_error_ = NULL; +#line 341 "/home/jens/Source/shotwell/src/main.vala" + _tmp15_ = e; +#line 341 "/home/jens/Source/shotwell/src/main.vala" + _tmp16_ = _tmp15_->message; +#line 341 "/home/jens/Source/shotwell/src/main.vala" + _tmp17_ = g_strconcat (_tmp16_, "\n", NULL); +#line 341 "/home/jens/Source/shotwell/src/main.vala" + _tmp18_ = _tmp17_; +#line 341 "/home/jens/Source/shotwell/src/main.vala" + g_print ("%s", _tmp18_); +#line 341 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (_tmp18_); +#line 342 "/home/jens/Source/shotwell/src/main.vala" + _tmp19_ = _ ("Run '%s --help' to see a full list of available command line options.\n"); +#line 342 "/home/jens/Source/shotwell/src/main.vala" + _tmp20_ = args; +#line 342 "/home/jens/Source/shotwell/src/main.vala" + _tmp20__length1 = args_length1; +#line 342 "/home/jens/Source/shotwell/src/main.vala" + _tmp21_ = _tmp20_[0]; +#line 342 "/home/jens/Source/shotwell/src/main.vala" + g_print (_tmp19_, _tmp21_); +#line 343 "/home/jens/Source/shotwell/src/main.vala" + app_dirs_terminate (); +#line 344 "/home/jens/Source/shotwell/src/main.vala" + _g_error_free0 (e); +#line 344 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 2507 "main.c" + } + __finally209: +#line 337 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 337 "/home/jens/Source/shotwell/src/main.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 337 "/home/jens/Source/shotwell/src/main.vala" + g_clear_error (&_inner_error_); +#line 337 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 2518 "main.c" + } +#line 347 "/home/jens/Source/shotwell/src/main.vala" + _tmp22_ = commandline_options_show_version; +#line 347 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp22_) { +#line 348 "/home/jens/Source/shotwell/src/main.vala" + if (RESOURCES_GIT_VERSION != NULL) { +#line 349 "/home/jens/Source/shotwell/src/main.vala" + g_print ("%s %s (%s)\n", RESOURCES_APP_TITLE, RESOURCES_APP_VERSION, RESOURCES_GIT_VERSION); +#line 2528 "main.c" + } else { +#line 351 "/home/jens/Source/shotwell/src/main.vala" + g_print ("%s %s\n", RESOURCES_APP_TITLE, RESOURCES_APP_VERSION); +#line 2532 "main.c" + } +#line 353 "/home/jens/Source/shotwell/src/main.vala" + app_dirs_terminate (); +#line 355 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 2538 "main.c" + } +#line 365 "/home/jens/Source/shotwell/src/main.vala" + _tmp23_ = g_new0 (gchar*, 0 + 1); +#line 365 "/home/jens/Source/shotwell/src/main.vala" + mounts = _tmp23_; +#line 365 "/home/jens/Source/shotwell/src/main.vala" + mounts_length1 = 0; +#line 365 "/home/jens/Source/shotwell/src/main.vala" + _mounts_size_ = mounts_length1; +#line 366 "/home/jens/Source/shotwell/src/main.vala" + filename = NULL; +#line 2550 "main.c" + { + gint ctr = 0; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + ctr = 1; +#line 2555 "main.c" + { + gboolean _tmp24_ = FALSE; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + _tmp24_ = TRUE; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + while (TRUE) { +#line 2562 "main.c" + gint _tmp26_ = 0; + gchar** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + gchar* arg = NULL; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + gint _tmp29_ = 0; + const gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + const gchar* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + if (!_tmp24_) { +#line 2576 "main.c" + gint _tmp25_ = 0; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + _tmp25_ = ctr; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + ctr = _tmp25_ + 1; +#line 2582 "main.c" + } +#line 368 "/home/jens/Source/shotwell/src/main.vala" + _tmp24_ = FALSE; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + _tmp26_ = ctr; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + _tmp27_ = args; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + _tmp27__length1 = args_length1; +#line 368 "/home/jens/Source/shotwell/src/main.vala" + if (!(_tmp26_ < _tmp27__length1)) { +#line 368 "/home/jens/Source/shotwell/src/main.vala" + break; +#line 2596 "main.c" + } +#line 369 "/home/jens/Source/shotwell/src/main.vala" + _tmp28_ = args; +#line 369 "/home/jens/Source/shotwell/src/main.vala" + _tmp28__length1 = args_length1; +#line 369 "/home/jens/Source/shotwell/src/main.vala" + _tmp29_ = ctr; +#line 369 "/home/jens/Source/shotwell/src/main.vala" + _tmp30_ = _tmp28_[_tmp29_]; +#line 369 "/home/jens/Source/shotwell/src/main.vala" + _tmp31_ = g_strdup (_tmp30_); +#line 369 "/home/jens/Source/shotwell/src/main.vala" + arg = _tmp31_; +#line 371 "/home/jens/Source/shotwell/src/main.vala" + _tmp32_ = arg; +#line 371 "/home/jens/Source/shotwell/src/main.vala" + _tmp33_ = library_window_is_mount_uri_supported (_tmp32_); +#line 371 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp33_) { +#line 2616 "main.c" + gchar** _tmp34_ = NULL; + gint _tmp34__length1 = 0; + const gchar* _tmp35_ = NULL; + gchar* _tmp36_ = NULL; +#line 372 "/home/jens/Source/shotwell/src/main.vala" + _tmp34_ = mounts; +#line 372 "/home/jens/Source/shotwell/src/main.vala" + _tmp34__length1 = mounts_length1; +#line 372 "/home/jens/Source/shotwell/src/main.vala" + _tmp35_ = arg; +#line 372 "/home/jens/Source/shotwell/src/main.vala" + _tmp36_ = g_strdup (_tmp35_); +#line 372 "/home/jens/Source/shotwell/src/main.vala" + _vala_array_add157 (&mounts, &mounts_length1, &_mounts_size_, _tmp36_); +#line 2631 "main.c" + } else { + gboolean _tmp37_ = FALSE; + const gchar* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; +#line 373 "/home/jens/Source/shotwell/src/main.vala" + _tmp38_ = filename; +#line 373 "/home/jens/Source/shotwell/src/main.vala" + _tmp39_ = is_string_empty (_tmp38_); +#line 373 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp39_) { +#line 2642 "main.c" + const gchar* _tmp40_ = NULL; + gboolean _tmp41_ = FALSE; +#line 373 "/home/jens/Source/shotwell/src/main.vala" + _tmp40_ = arg; +#line 373 "/home/jens/Source/shotwell/src/main.vala" + _tmp41_ = string_contains (_tmp40_, "://"); +#line 373 "/home/jens/Source/shotwell/src/main.vala" + _tmp37_ = !_tmp41_; +#line 2651 "main.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/main.vala" + _tmp37_ = FALSE; +#line 2655 "main.c" + } +#line 373 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp37_) { +#line 2659 "main.c" + const gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 374 "/home/jens/Source/shotwell/src/main.vala" + _tmp42_ = arg; +#line 374 "/home/jens/Source/shotwell/src/main.vala" + _tmp43_ = g_strdup (_tmp42_); +#line 374 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (filename); +#line 374 "/home/jens/Source/shotwell/src/main.vala" + filename = _tmp43_; +#line 2670 "main.c" + } + } +#line 368 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (arg); +#line 2675 "main.c" + } + } + } +#line 378 "/home/jens/Source/shotwell/src/main.vala" + _tmp45_ = filename; +#line 378 "/home/jens/Source/shotwell/src/main.vala" + _tmp46_ = is_string_empty (_tmp45_); +#line 378 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp46_) { +#line 378 "/home/jens/Source/shotwell/src/main.vala" + _tmp44_ = DEBUG_LIBRARY_PREFIX; +#line 2687 "main.c" + } else { +#line 378 "/home/jens/Source/shotwell/src/main.vala" + _tmp44_ = DEBUG_VIEWER_PREFIX; +#line 2691 "main.c" + } +#line 378 "/home/jens/Source/shotwell/src/main.vala" + debug_init (_tmp44_); +#line 380 "/home/jens/Source/shotwell/src/main.vala" + if (RESOURCES_GIT_VERSION != NULL) { +#line 2697 "main.c" + const gchar* _tmp47_ = NULL; + const gchar* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; +#line 382 "/home/jens/Source/shotwell/src/main.vala" + _tmp48_ = filename; +#line 382 "/home/jens/Source/shotwell/src/main.vala" + _tmp49_ = is_string_empty (_tmp48_); +#line 382 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp49_) { +#line 382 "/home/jens/Source/shotwell/src/main.vala" + _tmp47_ = RESOURCES_APP_LIBRARY_ROLE; +#line 2709 "main.c" + } else { +#line 382 "/home/jens/Source/shotwell/src/main.vala" + _tmp47_ = RESOURCES_APP_DIRECT_ROLE; +#line 2713 "main.c" + } +#line 381 "/home/jens/Source/shotwell/src/main.vala" + g_message ("main.vala:381: Shotwell %s %s (%s)", _tmp47_, RESOURCES_APP_VERSION, RESOURCES_GIT_VERSION); +#line 2717 "main.c" + } else { + const gchar* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + gboolean _tmp52_ = FALSE; +#line 386 "/home/jens/Source/shotwell/src/main.vala" + _tmp51_ = filename; +#line 386 "/home/jens/Source/shotwell/src/main.vala" + _tmp52_ = is_string_empty (_tmp51_); +#line 386 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp52_) { +#line 386 "/home/jens/Source/shotwell/src/main.vala" + _tmp50_ = RESOURCES_APP_LIBRARY_ROLE; +#line 2730 "main.c" + } else { +#line 386 "/home/jens/Source/shotwell/src/main.vala" + _tmp50_ = RESOURCES_APP_DIRECT_ROLE; +#line 2734 "main.c" + } +#line 385 "/home/jens/Source/shotwell/src/main.vala" + g_message ("main.vala:385: Shotwell %s %s", _tmp50_, RESOURCES_APP_VERSION); +#line 2738 "main.c" + } +#line 391 "/home/jens/Source/shotwell/src/main.vala" + _tmp53_ = filename; +#line 391 "/home/jens/Source/shotwell/src/main.vala" + _tmp54_ = is_string_empty (_tmp53_); +#line 391 "/home/jens/Source/shotwell/src/main.vala" + application_init (!_tmp54_); +#line 394 "/home/jens/Source/shotwell/src/main.vala" + _tmp55_ = commandline_options_data_dir; +#line 394 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp55_ != NULL) { +#line 2750 "main.c" + const gchar* _tmp56_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/main.vala" + _tmp56_ = commandline_options_data_dir; +#line 395 "/home/jens/Source/shotwell/src/main.vala" + app_dirs_set_data_dir (_tmp56_); +#line 2756 "main.c" + } else { +#line 397 "/home/jens/Source/shotwell/src/main.vala" + app_dirs_try_migrate_data (); +#line 2760 "main.c" + } +#line 400 "/home/jens/Source/shotwell/src/main.vala" + app_dirs_verify_data_dir (); +#line 401 "/home/jens/Source/shotwell/src/main.vala" + app_dirs_verify_cache_dir (); +#line 404 "/home/jens/Source/shotwell/src/main.vala" + _tmp57_ = args; +#line 404 "/home/jens/Source/shotwell/src/main.vala" + _tmp57__length1 = args_length1; +#line 404 "/home/jens/Source/shotwell/src/main.vala" + international_support_init (RESOURCES_APP_GETTEXT_PACKAGE, _tmp57_, _tmp57__length1, INTERNATIONAL_SUPPORT_SYSTEM_LOCALE); +#line 406 "/home/jens/Source/shotwell/src/main.vala" + _tmp58_ = g_timer_new (); +#line 406 "/home/jens/Source/shotwell/src/main.vala" + _g_timer_destroy0 (startup_timer); +#line 406 "/home/jens/Source/shotwell/src/main.vala" + startup_timer = _tmp58_; +#line 407 "/home/jens/Source/shotwell/src/main.vala" + _tmp59_ = startup_timer; +#line 407 "/home/jens/Source/shotwell/src/main.vala" + g_timer_start (_tmp59_); +#line 410 "/home/jens/Source/shotwell/src/main.vala" + g_set_application_name (RESOURCES_APP_TITLE); +#line 414 "/home/jens/Source/shotwell/src/main.vala" + resources_init (); +#line 419 "/home/jens/Source/shotwell/src/main.vala" + _tmp60_ = filename; +#line 419 "/home/jens/Source/shotwell/src/main.vala" + _tmp61_ = is_string_empty (_tmp60_); +#line 419 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp61_) { +#line 2792 "main.c" + gchar** _tmp62_ = NULL; + gint _tmp62__length1 = 0; +#line 420 "/home/jens/Source/shotwell/src/main.vala" + _tmp62_ = mounts; +#line 420 "/home/jens/Source/shotwell/src/main.vala" + _tmp62__length1 = mounts_length1; +#line 420 "/home/jens/Source/shotwell/src/main.vala" + library_exec (_tmp62_, _tmp62__length1); +#line 2801 "main.c" + } else { + const gchar* _tmp63_ = NULL; +#line 422 "/home/jens/Source/shotwell/src/main.vala" + _tmp63_ = filename; +#line 422 "/home/jens/Source/shotwell/src/main.vala" + editing_exec (_tmp63_); +#line 2808 "main.c" + } +#line 425 "/home/jens/Source/shotwell/src/main.vala" + resources_terminate (); +#line 426 "/home/jens/Source/shotwell/src/main.vala" + application_terminate (); +#line 427 "/home/jens/Source/shotwell/src/main.vala" + debug_terminate (); +#line 428 "/home/jens/Source/shotwell/src/main.vala" + app_dirs_terminate (); +#line 433 "/home/jens/Source/shotwell/src/main.vala" + _tmp65_ = filename; +#line 433 "/home/jens/Source/shotwell/src/main.vala" + _tmp66_ = is_string_empty (_tmp65_); +#line 433 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp66_) { +#line 2824 "main.c" + gboolean _tmp67_ = FALSE; +#line 433 "/home/jens/Source/shotwell/src/main.vala" + _tmp67_ = was_already_running; +#line 433 "/home/jens/Source/shotwell/src/main.vala" + _tmp64_ = !_tmp67_; +#line 2830 "main.c" + } else { +#line 433 "/home/jens/Source/shotwell/src/main.vala" + _tmp64_ = FALSE; +#line 2834 "main.c" + } +#line 433 "/home/jens/Source/shotwell/src/main.vala" + if (_tmp64_) { +#line 2838 "main.c" + gchar* orig_path = NULL; + GFile* _tmp68_ = NULL; + GFile* _tmp69_ = NULL; + GFile* _tmp70_ = NULL; + GFile* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + gchar* backup_path = NULL; + const gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/main.vala" + _tmp68_ = app_dirs_get_data_subdir ("data", NULL); +#line 434 "/home/jens/Source/shotwell/src/main.vala" + _tmp69_ = _tmp68_; +#line 434 "/home/jens/Source/shotwell/src/main.vala" + _tmp70_ = g_file_get_child (_tmp69_, "photo.db"); +#line 434 "/home/jens/Source/shotwell/src/main.vala" + _tmp71_ = _tmp70_; +#line 434 "/home/jens/Source/shotwell/src/main.vala" + _tmp72_ = g_file_get_path (_tmp71_); +#line 434 "/home/jens/Source/shotwell/src/main.vala" + _tmp73_ = _tmp72_; +#line 434 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp71_); +#line 434 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (_tmp69_); +#line 434 "/home/jens/Source/shotwell/src/main.vala" + orig_path = _tmp73_; +#line 435 "/home/jens/Source/shotwell/src/main.vala" + _tmp74_ = orig_path; +#line 435 "/home/jens/Source/shotwell/src/main.vala" + _tmp75_ = g_strconcat (_tmp74_, ".bak", NULL); +#line 435 "/home/jens/Source/shotwell/src/main.vala" + backup_path = _tmp75_; +#line 2873 "main.c" + { + GFile* src = NULL; + const gchar* _tmp76_ = NULL; + GFile* _tmp77_ = NULL; + GFile* dest = NULL; + const gchar* _tmp78_ = NULL; + GFile* _tmp79_ = NULL; + GFile* _tmp80_ = NULL; + GFile* _tmp81_ = NULL; +#line 437 "/home/jens/Source/shotwell/src/main.vala" + _tmp76_ = orig_path; +#line 437 "/home/jens/Source/shotwell/src/main.vala" + _tmp77_ = g_file_new_for_commandline_arg (_tmp76_); +#line 437 "/home/jens/Source/shotwell/src/main.vala" + src = _tmp77_; +#line 438 "/home/jens/Source/shotwell/src/main.vala" + _tmp78_ = backup_path; +#line 438 "/home/jens/Source/shotwell/src/main.vala" + _tmp79_ = g_file_new_for_commandline_arg (_tmp78_); +#line 438 "/home/jens/Source/shotwell/src/main.vala" + dest = _tmp79_; +#line 439 "/home/jens/Source/shotwell/src/main.vala" + _tmp80_ = src; +#line 439 "/home/jens/Source/shotwell/src/main.vala" + _tmp81_ = dest; +#line 439 "/home/jens/Source/shotwell/src/main.vala" + g_file_copy (_tmp80_, _tmp81_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_ALL_METADATA, NULL, NULL, NULL, &_inner_error_); +#line 439 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 439 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (dest); +#line 439 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (src); +#line 2907 "main.c" + goto __catch210_g_error; + } +#line 436 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (dest); +#line 436 "/home/jens/Source/shotwell/src/main.vala" + _g_object_unref0 (src); +#line 2914 "main.c" + } + goto __finally210; + __catch210_g_error: + { + GError* _error_ = NULL; + GError* _tmp82_ = NULL; + const gchar* _tmp83_ = NULL; +#line 436 "/home/jens/Source/shotwell/src/main.vala" + _error_ = _inner_error_; +#line 436 "/home/jens/Source/shotwell/src/main.vala" + _inner_error_ = NULL; +#line 443 "/home/jens/Source/shotwell/src/main.vala" + _tmp82_ = _error_; +#line 443 "/home/jens/Source/shotwell/src/main.vala" + _tmp83_ = _tmp82_->message; +#line 443 "/home/jens/Source/shotwell/src/main.vala" + g_warning ("main.vala:443: Failed to create backup file of database: %s", _tmp83_); +#line 436 "/home/jens/Source/shotwell/src/main.vala" + _g_error_free0 (_error_); +#line 2934 "main.c" + } + __finally210: +#line 436 "/home/jens/Source/shotwell/src/main.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 436 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (backup_path); +#line 436 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (orig_path); +#line 436 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (filename); +#line 436 "/home/jens/Source/shotwell/src/main.vala" + mounts = (_vala_array_free (mounts, mounts_length1, (GDestroyNotify) g_free), NULL); +#line 436 "/home/jens/Source/shotwell/src/main.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 436 "/home/jens/Source/shotwell/src/main.vala" + g_clear_error (&_inner_error_); +#line 436 "/home/jens/Source/shotwell/src/main.vala" + return; +#line 2953 "main.c" + } +#line 446 "/home/jens/Source/shotwell/src/main.vala" + sync (); +#line 433 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (backup_path); +#line 433 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (orig_path); +#line 2961 "main.c" + } +#line 317 "/home/jens/Source/shotwell/src/main.vala" + _g_free0 (filename); +#line 317 "/home/jens/Source/shotwell/src/main.vala" + mounts = (_vala_array_free (mounts, mounts_length1, (GDestroyNotify) g_free), NULL); +#line 2967 "main.c" +} + + +int main (int argc, char ** argv) { +#if !GLIB_CHECK_VERSION (2,32,0) + g_thread_init (NULL); +#endif +#if !GLIB_CHECK_VERSION (2,35,0) + g_type_init (); +#endif +#line 317 "/home/jens/Source/shotwell/src/main.vala" + _vala_main (argv, argc); +#line 317 "/home/jens/Source/shotwell/src/main.vala" + return 0; +#line 2982 "main.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/photos/BmpSupport.c b/src/photos/BmpSupport.c new file mode 100644 index 0000000..11ad8c6 --- /dev/null +++ b/src/photos/BmpSupport.c @@ -0,0 +1,1912 @@ +/* BmpSupport.c generated by valac 0.32.1, the Vala compiler + * generated from BmpSupport.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; +typedef struct _PhotoFileFormatPropertiesPrivate PhotoFileFormatPropertiesPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT_FLAGS (photo_file_format_flags_get_type ()) + +#define PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES (photos_bmp_file_format_properties_get_type ()) +#define PHOTOS_BMP_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties)) +#define PHOTOS_BMP_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatPropertiesClass)) +#define PHOTOS_IS_BMP_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES)) +#define PHOTOS_IS_BMP_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES)) +#define PHOTOS_BMP_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatPropertiesClass)) + +typedef struct _PhotosBmpFileFormatProperties PhotosBmpFileFormatProperties; +typedef struct _PhotosBmpFileFormatPropertiesClass PhotosBmpFileFormatPropertiesClass; +typedef struct _PhotosBmpFileFormatPropertiesPrivate PhotosBmpFileFormatPropertiesPrivate; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; +typedef struct _PhotoFileSnifferPrivate PhotoFileSnifferPrivate; + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_GDK_SNIFFER (gdk_sniffer_get_type ()) +#define GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_SNIFFER, GdkSniffer)) +#define GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_SNIFFER, GdkSnifferClass)) +#define IS_GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_SNIFFER)) +#define IS_GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_SNIFFER)) +#define GDK_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_SNIFFER, GdkSnifferClass)) + +typedef struct _GdkSniffer GdkSniffer; +typedef struct _GdkSnifferClass GdkSnifferClass; +typedef struct _GdkSnifferPrivate GdkSnifferPrivate; + +#define PHOTOS_TYPE_BMP_SNIFFER (photos_bmp_sniffer_get_type ()) +#define PHOTOS_BMP_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_SNIFFER, PhotosBmpSniffer)) +#define PHOTOS_BMP_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_SNIFFER, PhotosBmpSnifferClass)) +#define PHOTOS_IS_BMP_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_SNIFFER)) +#define PHOTOS_IS_BMP_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_SNIFFER)) +#define PHOTOS_BMP_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_SNIFFER, PhotosBmpSnifferClass)) + +typedef struct _PhotosBmpSniffer PhotosBmpSniffer; +typedef struct _PhotosBmpSnifferClass PhotosBmpSnifferClass; +typedef struct _PhotosBmpSnifferPrivate PhotosBmpSnifferPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; +typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; +typedef struct _PhotoFileReaderPrivate PhotoFileReaderPrivate; + +#define TYPE_GDK_READER (gdk_reader_get_type ()) +#define GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_READER, GdkReader)) +#define GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_READER, GdkReaderClass)) +#define IS_GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_READER)) +#define IS_GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_READER)) +#define GDK_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_READER, GdkReaderClass)) + +typedef struct _GdkReader GdkReader; +typedef struct _GdkReaderClass GdkReaderClass; +typedef struct _GdkReaderPrivate GdkReaderPrivate; + +#define PHOTOS_TYPE_BMP_READER (photos_bmp_reader_get_type ()) +#define PHOTOS_BMP_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_READER, PhotosBmpReader)) +#define PHOTOS_BMP_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_READER, PhotosBmpReaderClass)) +#define PHOTOS_IS_BMP_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_READER)) +#define PHOTOS_IS_BMP_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_READER)) +#define PHOTOS_BMP_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_READER, PhotosBmpReaderClass)) + +typedef struct _PhotosBmpReader PhotosBmpReader; +typedef struct _PhotosBmpReaderClass PhotosBmpReaderClass; +typedef struct _PhotosBmpReaderPrivate PhotosBmpReaderPrivate; + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; +typedef struct _PhotoFileWriterPrivate PhotoFileWriterPrivate; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) + +#define PHOTOS_TYPE_BMP_WRITER (photos_bmp_writer_get_type ()) +#define PHOTOS_BMP_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_WRITER, PhotosBmpWriter)) +#define PHOTOS_BMP_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_WRITER, PhotosBmpWriterClass)) +#define PHOTOS_IS_BMP_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_WRITER)) +#define PHOTOS_IS_BMP_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_WRITER)) +#define PHOTOS_BMP_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_WRITER, PhotosBmpWriterClass)) + +typedef struct _PhotosBmpWriter PhotosBmpWriter; +typedef struct _PhotosBmpWriterClass PhotosBmpWriterClass; +typedef struct _PhotosBmpWriterPrivate PhotosBmpWriterPrivate; + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; +typedef struct _PhotoFileMetadataWriterPrivate PhotoFileMetadataWriterPrivate; + +#define PHOTOS_TYPE_BMP_METADATA_WRITER (photos_bmp_metadata_writer_get_type ()) +#define PHOTOS_BMP_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_METADATA_WRITER, PhotosBmpMetadataWriter)) +#define PHOTOS_BMP_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_METADATA_WRITER, PhotosBmpMetadataWriterClass)) +#define PHOTOS_IS_BMP_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_METADATA_WRITER)) +#define PHOTOS_IS_BMP_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_METADATA_WRITER)) +#define PHOTOS_BMP_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_METADATA_WRITER, PhotosBmpMetadataWriterClass)) + +typedef struct _PhotosBmpMetadataWriter PhotosBmpMetadataWriter; +typedef struct _PhotosBmpMetadataWriterClass PhotosBmpMetadataWriterClass; +typedef struct _PhotosBmpMetadataWriterPrivate PhotosBmpMetadataWriterPrivate; + +#define TYPE_PHOTO_FILE_FORMAT_DRIVER (photo_file_format_driver_get_type ()) +#define PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver)) +#define PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) +#define IS_PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define IS_PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define PHOTO_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) + +typedef struct _PhotoFileFormatDriver PhotoFileFormatDriver; +typedef struct _PhotoFileFormatDriverClass PhotoFileFormatDriverClass; +typedef struct _PhotoFileFormatDriverPrivate PhotoFileFormatDriverPrivate; + +#define PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER (photos_bmp_file_format_driver_get_type ()) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver)) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriverClass)) +#define PHOTOS_IS_BMP_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER)) +#define PHOTOS_IS_BMP_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER)) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriverClass)) + +typedef struct _PhotosBmpFileFormatDriver PhotosBmpFileFormatDriver; +typedef struct _PhotosBmpFileFormatDriverClass PhotosBmpFileFormatDriverClass; +typedef struct _PhotosBmpFileFormatDriverPrivate PhotosBmpFileFormatDriverPrivate; +#define _photo_file_format_driver_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_driver_unref (var), NULL))) + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + PHOTO_FILE_FORMAT_FLAGS_NONE = 0x00000000 +} PhotoFileFormatFlags; + +struct _PhotoFileFormatProperties { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatPropertiesPrivate * priv; +}; + +struct _PhotoFileFormatPropertiesClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatProperties *self); + PhotoFileFormat (*get_file_format) (PhotoFileFormatProperties* self); + PhotoFileFormatFlags (*get_flags) (PhotoFileFormatProperties* self); + gboolean (*is_recognized_extension) (PhotoFileFormatProperties* self, const gchar* ext); + gchar* (*get_default_extension) (PhotoFileFormatProperties* self); + gchar** (*get_known_extensions) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_default_mime_type) (PhotoFileFormatProperties* self); + gchar** (*get_mime_types) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_user_visible_name) (PhotoFileFormatProperties* self); +}; + +struct _PhotosBmpFileFormatProperties { + PhotoFileFormatProperties parent_instance; + PhotosBmpFileFormatPropertiesPrivate * priv; +}; + +struct _PhotosBmpFileFormatPropertiesClass { + PhotoFileFormatPropertiesClass parent_class; +}; + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileSniffer { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileSnifferPrivate * priv; + GFile* file; + PhotoFileSnifferOptions options; + gboolean calc_md5; +}; + +struct _PhotoFileSnifferClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileSniffer *self); + DetectedPhotoInformation* (*sniff) (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +}; + +struct _GdkSniffer { + PhotoFileSniffer parent_instance; + GdkSnifferPrivate * priv; +}; + +struct _GdkSnifferClass { + PhotoFileSnifferClass parent_class; +}; + +struct _PhotosBmpSniffer { + GdkSniffer parent_instance; + PhotosBmpSnifferPrivate * priv; +}; + +struct _PhotosBmpSnifferClass { + GdkSnifferClass parent_class; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + +struct _PhotoFileAdapter { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileAdapterPrivate * priv; +}; + +struct _PhotoFileAdapterClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileAdapter *self); +}; + +struct _PhotoFileReader { + PhotoFileAdapter parent_instance; + PhotoFileReaderPrivate * priv; +}; + +struct _PhotoFileReaderClass { + PhotoFileAdapterClass parent_class; + PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +}; + +struct _GdkReader { + PhotoFileReader parent_instance; + GdkReaderPrivate * priv; +}; + +struct _GdkReaderClass { + PhotoFileReaderClass parent_class; +}; + +struct _PhotosBmpReader { + GdkReader parent_instance; + PhotosBmpReaderPrivate * priv; +}; + +struct _PhotosBmpReaderClass { + GdkReaderClass parent_class; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _PhotoFileWriter { + PhotoFileAdapter parent_instance; + PhotoFileWriterPrivate * priv; +}; + +struct _PhotoFileWriterClass { + PhotoFileAdapterClass parent_class; + void (*write) (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +}; + +struct _PhotosBmpWriter { + PhotoFileWriter parent_instance; + PhotosBmpWriterPrivate * priv; +}; + +struct _PhotosBmpWriterClass { + PhotoFileWriterClass parent_class; +}; + +struct _PhotoFileMetadataWriter { + PhotoFileAdapter parent_instance; + PhotoFileMetadataWriterPrivate * priv; +}; + +struct _PhotoFileMetadataWriterClass { + PhotoFileAdapterClass parent_class; + void (*write_metadata) (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); +}; + +struct _PhotosBmpMetadataWriter { + PhotoFileMetadataWriter parent_instance; + PhotosBmpMetadataWriterPrivate * priv; +}; + +struct _PhotosBmpMetadataWriterClass { + PhotoFileMetadataWriterClass parent_class; +}; + +struct _PhotoFileFormatDriver { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatDriverPrivate * priv; +}; + +struct _PhotoFileFormatDriverClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatDriver *self); + PhotoFileFormatProperties* (*get_properties) (PhotoFileFormatDriver* self); + PhotoFileReader* (*create_reader) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoMetadata* (*create_metadata) (PhotoFileFormatDriver* self); + gboolean (*can_write_image) (PhotoFileFormatDriver* self); + gboolean (*can_write_metadata) (PhotoFileFormatDriver* self); + PhotoFileWriter* (*create_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileMetadataWriter* (*create_metadata_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileSniffer* (*create_sniffer) (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +}; + +struct _PhotosBmpFileFormatDriver { + PhotoFileFormatDriver parent_instance; + PhotosBmpFileFormatDriverPrivate * priv; +}; + +struct _PhotosBmpFileFormatDriverClass { + PhotoFileFormatDriverClass parent_class; +}; + + +static gpointer photos_bmp_file_format_properties_parent_class = NULL; +static gchar** photos_bmp_file_format_properties_KNOWN_EXTENSIONS; +static gint photos_bmp_file_format_properties_KNOWN_EXTENSIONS_length1; +static gchar** photos_bmp_file_format_properties_KNOWN_EXTENSIONS = NULL; +static gint photos_bmp_file_format_properties_KNOWN_EXTENSIONS_length1 = 0; +static gint _photos_bmp_file_format_properties_KNOWN_EXTENSIONS_size_ = 0; +static gchar** photos_bmp_file_format_properties_KNOWN_MIME_TYPES; +static gint photos_bmp_file_format_properties_KNOWN_MIME_TYPES_length1; +static gchar** photos_bmp_file_format_properties_KNOWN_MIME_TYPES = NULL; +static gint photos_bmp_file_format_properties_KNOWN_MIME_TYPES_length1 = 0; +static gint _photos_bmp_file_format_properties_KNOWN_MIME_TYPES_size_ = 0; +static PhotosBmpFileFormatProperties* photos_bmp_file_format_properties_instance; +static PhotosBmpFileFormatProperties* photos_bmp_file_format_properties_instance = NULL; +static gpointer photos_bmp_sniffer_parent_class = NULL; +static gpointer photos_bmp_reader_parent_class = NULL; +static gpointer photos_bmp_writer_parent_class = NULL; +static gpointer photos_bmp_metadata_writer_parent_class = NULL; +static gpointer photos_bmp_file_format_driver_parent_class = NULL; +static PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_instance; +static PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_instance = NULL; + +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType photo_file_format_flags_get_type (void) G_GNUC_CONST; +GType photos_bmp_file_format_properties_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_BMP_FILE_FORMAT_PROPERTIES_DUMMY_PROPERTY +}; +void photos_bmp_file_format_properties_init (void); +PhotosBmpFileFormatProperties* photos_bmp_file_format_properties_new (void); +PhotosBmpFileFormatProperties* photos_bmp_file_format_properties_construct (GType object_type); +PhotosBmpFileFormatProperties* photos_bmp_file_format_properties_get_instance (void); +static PhotoFileFormat photos_bmp_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base); +static PhotoFileFormatFlags photos_bmp_file_format_properties_real_get_flags (PhotoFileFormatProperties* base); +static gchar* photos_bmp_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base); +static gchar* photos_bmp_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base); +static gchar** photos_bmp_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup10 (gchar** self, int length); +static gchar* photos_bmp_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base); +static gchar** photos_bmp_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup11 (gchar** self, int length); +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type); +static void photos_bmp_file_format_properties_finalize (PhotoFileFormatProperties* obj); +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +GType gdk_sniffer_get_type (void) G_GNUC_CONST; +GType photos_bmp_sniffer_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_BMP_SNIFFER_DUMMY_PROPERTY +}; +PhotosBmpSniffer* photos_bmp_sniffer_new (GFile* file, PhotoFileSnifferOptions options); +PhotosBmpSniffer* photos_bmp_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +GdkSniffer* gdk_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +static gboolean photos_bmp_sniffer_is_bmp_file (GFile* file, GError** error); +static DetectedPhotoInformation* photos_bmp_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error); +DetectedPhotoInformation* photo_file_sniffer_sniff (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +GType gdk_reader_get_type (void) G_GNUC_CONST; +GType photos_bmp_reader_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_BMP_READER_DUMMY_PROPERTY +}; +PhotosBmpReader* photos_bmp_reader_new (const gchar* filepath); +PhotosBmpReader* photos_bmp_reader_construct (GType object_type, const gchar* filepath); +GdkReader* gdk_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static GdkPixbuf* photos_bmp_reader_real_scaled_read (PhotoFileReader* base, Dimensions* full, Dimensions* scaled, GError** error); +GType scale_constraint_get_type (void) G_GNUC_CONST; +void dimensions_get_scaled_by_constraint (Dimensions *self, gint scale, ScaleConstraint constraint, Dimensions* result); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +GType photos_bmp_writer_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_BMP_WRITER_DUMMY_PROPERTY +}; +PhotosBmpWriter* photos_bmp_writer_new (const gchar* filepath); +PhotosBmpWriter* photos_bmp_writer_construct (GType object_type, const gchar* filepath); +PhotoFileWriter* photo_file_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static void photos_bmp_writer_real_write (PhotoFileWriter* base, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +GType photos_bmp_metadata_writer_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_BMP_METADATA_WRITER_DUMMY_PROPERTY +}; +PhotosBmpMetadataWriter* photos_bmp_metadata_writer_new (const gchar* filepath); +PhotosBmpMetadataWriter* photos_bmp_metadata_writer_construct (GType object_type, const gchar* filepath); +PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static void photos_bmp_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* base, PhotoMetadata* metadata, GError** error); +gpointer photo_file_format_driver_ref (gpointer instance); +void photo_file_format_driver_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_driver (GValue* value, gpointer v_object); +void value_take_photo_file_format_driver (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_driver (const GValue* value); +GType photo_file_format_driver_get_type (void) G_GNUC_CONST; +GType photos_bmp_file_format_driver_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_BMP_FILE_FORMAT_DRIVER_DUMMY_PROPERTY +}; +void photos_bmp_file_format_driver_init (void); +PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_new (void); +PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_construct (GType object_type); +PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_get_instance (void); +static PhotoFileFormatProperties* photos_bmp_file_format_driver_real_get_properties (PhotoFileFormatDriver* base); +static PhotoFileReader* photos_bmp_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath); +static gboolean photos_bmp_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base); +static gboolean photos_bmp_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base); +static PhotoFileWriter* photos_bmp_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath); +static PhotoFileMetadataWriter* photos_bmp_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath); +static PhotoFileSniffer* photos_bmp_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options); +static PhotoMetadata* photos_bmp_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base); +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type); +static void photos_bmp_file_format_driver_finalize (PhotoFileFormatDriver* obj); + +static const guint8 PHOTOS_BMP_SNIFFER_MAGIC_SEQUENCE[2] = {(guint8) 0x42, (guint8) 0x4D}; + +void photos_bmp_file_format_properties_init (void) { + PhotosBmpFileFormatProperties* _tmp0_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_properties_new (); +#line 16 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _photo_file_format_properties_unref0 (photos_bmp_file_format_properties_instance); +#line 16 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_properties_instance = _tmp0_; +#line 626 "BmpSupport.c" +} + + +static gpointer _photo_file_format_properties_ref0 (gpointer self) { +#line 20 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self ? photo_file_format_properties_ref (self) : NULL; +#line 633 "BmpSupport.c" +} + + +PhotosBmpFileFormatProperties* photos_bmp_file_format_properties_get_instance (void) { + PhotosBmpFileFormatProperties* result = NULL; + PhotosBmpFileFormatProperties* _tmp0_ = NULL; + PhotosBmpFileFormatProperties* _tmp1_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_properties_instance; +#line 20 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = _photo_file_format_properties_ref0 (_tmp0_); +#line 20 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp1_; +#line 20 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 649 "BmpSupport.c" +} + + +static PhotoFileFormat photos_bmp_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base) { + PhotosBmpFileFormatProperties * self; + PhotoFileFormat result = 0; +#line 23 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties); +#line 24 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = PHOTO_FILE_FORMAT_BMP; +#line 24 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 662 "BmpSupport.c" +} + + +static PhotoFileFormatFlags photos_bmp_file_format_properties_real_get_flags (PhotoFileFormatProperties* base) { + PhotosBmpFileFormatProperties * self; + PhotoFileFormatFlags result = 0; +#line 27 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties); +#line 28 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = PHOTO_FILE_FORMAT_FLAGS_NONE; +#line 28 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 675 "BmpSupport.c" +} + + +static gchar* photos_bmp_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base) { + PhotosBmpFileFormatProperties * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties); +#line 32 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = _ ("BMP"); +#line 32 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 32 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 694 "BmpSupport.c" +} + + +static gchar* photos_bmp_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base) { + PhotosBmpFileFormatProperties * self; + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties); +#line 36 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_properties_KNOWN_EXTENSIONS; +#line 36 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0__length1 = photos_bmp_file_format_properties_KNOWN_EXTENSIONS_length1; +#line 36 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = _tmp0_[0]; +#line 36 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 36 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp2_; +#line 36 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 719 "BmpSupport.c" +} + + +static gchar** _vala_array_dup10 (gchar** self, int length) { + gchar** result; + int i; +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + for (i = 0; i < length; i++) { +#line 730 "BmpSupport.c" + gchar* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result[i] = _tmp0_; +#line 736 "BmpSupport.c" + } +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 740 "BmpSupport.c" +} + + +static gchar** photos_bmp_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1) { + PhotosBmpFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 39 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties); +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_properties_KNOWN_EXTENSIONS; +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0__length1 = photos_bmp_file_format_properties_KNOWN_EXTENSIONS_length1; +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup10 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = _tmp1_; +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (result_length1) { +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + *result_length1 = _tmp2__length1; +#line 771 "BmpSupport.c" + } +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp2_; +#line 40 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 777 "BmpSupport.c" +} + + +static gchar* photos_bmp_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base) { + PhotosBmpFileFormatProperties * self; + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties); +#line 44 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_properties_KNOWN_MIME_TYPES; +#line 44 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0__length1 = photos_bmp_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 44 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = _tmp0_[0]; +#line 44 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 44 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp2_; +#line 44 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 802 "BmpSupport.c" +} + + +static gchar** _vala_array_dup11 (gchar** self, int length) { + gchar** result; + int i; +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + for (i = 0; i < length; i++) { +#line 813 "BmpSupport.c" + gchar* _tmp0_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result[i] = _tmp0_; +#line 819 "BmpSupport.c" + } +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 823 "BmpSupport.c" +} + + +static gchar** photos_bmp_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1) { + PhotosBmpFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 47 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties); +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_properties_KNOWN_MIME_TYPES; +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0__length1 = photos_bmp_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup11 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (result_length1) { +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + *result_length1 = _tmp2__length1; +#line 854 "BmpSupport.c" + } +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 860 "BmpSupport.c" +} + + +PhotosBmpFileFormatProperties* photos_bmp_file_format_properties_construct (GType object_type) { + PhotosBmpFileFormatProperties* self = NULL; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = (PhotosBmpFileFormatProperties*) photo_file_format_properties_construct (object_type); +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self; +#line 870 "BmpSupport.c" +} + + +PhotosBmpFileFormatProperties* photos_bmp_file_format_properties_new (void) { +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return photos_bmp_file_format_properties_construct (PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES); +#line 877 "BmpSupport.c" +} + + +static void photos_bmp_file_format_properties_class_init (PhotosBmpFileFormatPropertiesClass * klass) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_properties_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->finalize = photos_bmp_file_format_properties_finalize; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_file_format = photos_bmp_file_format_properties_real_get_file_format; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_flags = photos_bmp_file_format_properties_real_get_flags; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_user_visible_name = photos_bmp_file_format_properties_real_get_user_visible_name; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_extension = photos_bmp_file_format_properties_real_get_default_extension; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_known_extensions = photos_bmp_file_format_properties_real_get_known_extensions; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_mime_type = photos_bmp_file_format_properties_real_get_default_mime_type; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_mime_types = photos_bmp_file_format_properties_real_get_mime_types; +#line 10 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = g_strdup ("bmp"); +#line 10 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = g_strdup ("dib"); +#line 10 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = g_new0 (gchar*, 2 + 1); +#line 10 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_[0] = _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_[1] = _tmp1_; +#line 10 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_properties_KNOWN_EXTENSIONS = _tmp2_; +#line 10 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_properties_KNOWN_EXTENSIONS_length1 = 2; +#line 11 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp3_ = g_strdup (GP_MIME_BMP); +#line 11 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp4_ = g_new0 (gchar*, 1 + 1); +#line 11 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp4_[0] = _tmp3_; +#line 11 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_properties_KNOWN_MIME_TYPES = _tmp4_; +#line 11 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_properties_KNOWN_MIME_TYPES_length1 = 1; +#line 929 "BmpSupport.c" +} + + +static void photos_bmp_file_format_properties_instance_init (PhotosBmpFileFormatProperties * self) { +} + + +static void photos_bmp_file_format_properties_finalize (PhotoFileFormatProperties* obj) { + PhotosBmpFileFormatProperties * self; +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTOS_TYPE_BMP_FILE_FORMAT_PROPERTIES, PhotosBmpFileFormatProperties); +#line 9 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + PHOTO_FILE_FORMAT_PROPERTIES_CLASS (photos_bmp_file_format_properties_parent_class)->finalize (obj); +#line 943 "BmpSupport.c" +} + + +GType photos_bmp_file_format_properties_get_type (void) { + static volatile gsize photos_bmp_file_format_properties_type_id__volatile = 0; + if (g_once_init_enter (&photos_bmp_file_format_properties_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosBmpFileFormatPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_bmp_file_format_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosBmpFileFormatProperties), 0, (GInstanceInitFunc) photos_bmp_file_format_properties_instance_init, NULL }; + GType photos_bmp_file_format_properties_type_id; + photos_bmp_file_format_properties_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_PROPERTIES, "PhotosBmpFileFormatProperties", &g_define_type_info, 0); + g_once_init_leave (&photos_bmp_file_format_properties_type_id__volatile, photos_bmp_file_format_properties_type_id); + } + return photos_bmp_file_format_properties_type_id__volatile; +} + + +PhotosBmpSniffer* photos_bmp_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options) { + PhotosBmpSniffer* self = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; +#line 55 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 56 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = file; +#line 56 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = options; +#line 56 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = (PhotosBmpSniffer*) gdk_sniffer_construct (object_type, _tmp0_, _tmp1_); +#line 55 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self; +#line 973 "BmpSupport.c" +} + + +PhotosBmpSniffer* photos_bmp_sniffer_new (GFile* file, PhotoFileSnifferOptions options) { +#line 55 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return photos_bmp_sniffer_construct (PHOTOS_TYPE_BMP_SNIFFER, file, options); +#line 980 "BmpSupport.c" +} + + +static gboolean photos_bmp_sniffer_is_bmp_file (GFile* file, GError** error) { + gboolean result = FALSE; + GFileInputStream* instream = NULL; + GFile* _tmp0_ = NULL; + GFileInputStream* _tmp1_ = NULL; + guint8* file_lead_sequence = NULL; + guint8* _tmp2_ = NULL; + gint file_lead_sequence_length1 = 0; + gint _file_lead_sequence_size_ = 0; + GFileInputStream* _tmp3_ = NULL; + guint8* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GError * _inner_error_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 60 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = file; +#line 60 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = g_file_read (_tmp0_, NULL, &_inner_error_); +#line 60 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + instream = _tmp1_; +#line 60 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 60 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_propagate_error (error, _inner_error_); +#line 60 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return FALSE; +#line 1011 "BmpSupport.c" + } +#line 62 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = g_new0 (guint8, G_N_ELEMENTS (PHOTOS_BMP_SNIFFER_MAGIC_SEQUENCE)); +#line 62 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + file_lead_sequence = _tmp2_; +#line 62 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + file_lead_sequence_length1 = G_N_ELEMENTS (PHOTOS_BMP_SNIFFER_MAGIC_SEQUENCE); +#line 62 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _file_lead_sequence_size_ = file_lead_sequence_length1; +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp3_ = instream; +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp4_ = file_lead_sequence; +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp4__length1 = file_lead_sequence_length1; +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_input_stream_read (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, G_TYPE_INPUT_STREAM, GInputStream), _tmp4_, (gsize) _tmp4__length1, NULL, &_inner_error_); +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_propagate_error (error, _inner_error_); +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + file_lead_sequence = (g_free (file_lead_sequence), NULL); +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (instream); +#line 64 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return FALSE; +#line 1039 "BmpSupport.c" + } + { + gint i = 0; +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + i = 0; +#line 1045 "BmpSupport.c" + { + gboolean _tmp5_ = FALSE; +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp5_ = TRUE; +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + while (TRUE) { +#line 1052 "BmpSupport.c" + gint _tmp7_ = 0; + guint8* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + guint8 _tmp10_ = 0U; + gint _tmp11_ = 0; + guint8 _tmp12_ = 0U; +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (!_tmp5_) { +#line 1062 "BmpSupport.c" + gint _tmp6_ = 0; +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp6_ = i; +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + i = _tmp6_ + 1; +#line 1068 "BmpSupport.c" + } +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp5_ = FALSE; +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp7_ = i; +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (!(_tmp7_ < G_N_ELEMENTS (PHOTOS_BMP_SNIFFER_MAGIC_SEQUENCE))) { +#line 66 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + break; +#line 1078 "BmpSupport.c" + } +#line 67 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp8_ = file_lead_sequence; +#line 67 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp8__length1 = file_lead_sequence_length1; +#line 67 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp9_ = i; +#line 67 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 67 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp11_ = i; +#line 67 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp12_ = PHOTOS_BMP_SNIFFER_MAGIC_SEQUENCE[_tmp11_]; +#line 67 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (_tmp10_ != _tmp12_) { +#line 68 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = FALSE; +#line 68 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + file_lead_sequence = (g_free (file_lead_sequence), NULL); +#line 68 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (instream); +#line 68 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1102 "BmpSupport.c" + } + } + } + } +#line 71 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = TRUE; +#line 71 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + file_lead_sequence = (g_free (file_lead_sequence), NULL); +#line 71 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (instream); +#line 71 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1115 "BmpSupport.c" +} + + +static gpointer _detected_photo_information_ref0 (gpointer self) { +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self ? detected_photo_information_ref (self) : NULL; +#line 1122 "BmpSupport.c" +} + + +static DetectedPhotoInformation* photos_bmp_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error) { + PhotosBmpSniffer * self; + gboolean _vala_is_corrupted = FALSE; + DetectedPhotoInformation* result = NULL; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + DetectedPhotoInformation* detected = NULL; + gboolean _tmp3_ = FALSE; + DetectedPhotoInformation* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp5_ = NULL; + DetectedPhotoInformation* _tmp6_ = NULL; + DetectedPhotoInformation* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; + DetectedPhotoInformation* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_SNIFFER, PhotosBmpSniffer); +#line 76 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _vala_is_corrupted = FALSE; +#line 78 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 78 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = photos_bmp_sniffer_is_bmp_file (_tmp1_, &_inner_error_); +#line 78 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = _tmp2_; +#line 78 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 78 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_propagate_error (error, _inner_error_); +#line 78 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return NULL; +#line 1158 "BmpSupport.c" + } +#line 78 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (!_tmp0_) { +#line 79 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = NULL; +#line 79 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (is_corrupted) { +#line 79 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1168 "BmpSupport.c" + } +#line 79 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1172 "BmpSupport.c" + } +#line 81 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp4_ = PHOTO_FILE_SNIFFER_CLASS (photos_bmp_sniffer_parent_class)->sniff (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_GDK_SNIFFER, GdkSniffer), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer), &_tmp3_, &_inner_error_); +#line 81 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _vala_is_corrupted = _tmp3_; +#line 81 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + detected = _tmp4_; +#line 81 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 81 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_propagate_error (error, _inner_error_); +#line 81 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return NULL; +#line 1186 "BmpSupport.c" + } +#line 82 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp5_ = detected; +#line 82 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (_tmp5_ == NULL) { +#line 83 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = NULL; +#line 83 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _detected_photo_information_unref0 (detected); +#line 83 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (is_corrupted) { +#line 83 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1200 "BmpSupport.c" + } +#line 83 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1204 "BmpSupport.c" + } +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp7_ = detected; +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp8_ = _tmp7_->file_format; +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (_tmp8_ == PHOTO_FILE_FORMAT_BMP) { +#line 1212 "BmpSupport.c" + DetectedPhotoInformation* _tmp9_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp9_ = detected; +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp6_ = _tmp9_; +#line 1218 "BmpSupport.c" + } else { +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp6_ = NULL; +#line 1222 "BmpSupport.c" + } +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp10_ = _detected_photo_information_ref0 (_tmp6_); +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp10_; +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _detected_photo_information_unref0 (detected); +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (is_corrupted) { +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1234 "BmpSupport.c" + } +#line 85 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1238 "BmpSupport.c" +} + + +static void photos_bmp_sniffer_class_init (PhotosBmpSnifferClass * klass) { +#line 52 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_sniffer_parent_class = g_type_class_peek_parent (klass); +#line 52 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileSnifferClass *) klass)->sniff = photos_bmp_sniffer_real_sniff; +#line 1247 "BmpSupport.c" +} + + +static void photos_bmp_sniffer_instance_init (PhotosBmpSniffer * self) { +} + + +GType photos_bmp_sniffer_get_type (void) { + static volatile gsize photos_bmp_sniffer_type_id__volatile = 0; + if (g_once_init_enter (&photos_bmp_sniffer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosBmpSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_bmp_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosBmpSniffer), 0, (GInstanceInitFunc) photos_bmp_sniffer_instance_init, NULL }; + GType photos_bmp_sniffer_type_id; + photos_bmp_sniffer_type_id = g_type_register_static (TYPE_GDK_SNIFFER, "PhotosBmpSniffer", &g_define_type_info, 0); + g_once_init_leave (&photos_bmp_sniffer_type_id__volatile, photos_bmp_sniffer_type_id); + } + return photos_bmp_sniffer_type_id__volatile; +} + + +PhotosBmpReader* photos_bmp_reader_construct (GType object_type, const gchar* filepath) { + PhotosBmpReader* self = NULL; + const gchar* _tmp0_ = NULL; +#line 90 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 91 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = filepath; +#line 91 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = (PhotosBmpReader*) gdk_reader_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_BMP); +#line 90 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self; +#line 1278 "BmpSupport.c" +} + + +PhotosBmpReader* photos_bmp_reader_new (const gchar* filepath) { +#line 90 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return photos_bmp_reader_construct (PHOTOS_TYPE_BMP_READER, filepath); +#line 1285 "BmpSupport.c" +} + + +static GdkPixbuf* photos_bmp_reader_real_scaled_read (PhotoFileReader* base, Dimensions* full, Dimensions* scaled, GError** error) { + PhotosBmpReader * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _result_ = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + GError * _inner_error_ = NULL; +#line 94 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_READER, PhotosBmpReader); +#line 94 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (full != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (scaled != NULL, NULL); +#line 95 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _result_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = *full; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp3_ = _tmp2_.width; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (_tmp3_ > 9999) { +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = TRUE; +#line 1314 "BmpSupport.c" + } else { + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp4_ = *full; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp5_ = _tmp4_.height; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = _tmp5_ > 9999; +#line 1324 "BmpSupport.c" + } +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (_tmp1_) { +#line 1328 "BmpSupport.c" + gboolean _tmp6_ = FALSE; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp7_ = *scaled; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp8_ = _tmp7_.width; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (_tmp8_ < 100) { +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp6_ = TRUE; +#line 1340 "BmpSupport.c" + } else { + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 105 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp9_ = *scaled; +#line 105 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp10_ = _tmp9_.height; +#line 105 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp6_ = _tmp10_ < 100; +#line 1350 "BmpSupport.c" + } +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = _tmp6_; +#line 1354 "BmpSupport.c" + } else { +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = FALSE; +#line 1358 "BmpSupport.c" + } +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (_tmp0_) { +#line 1362 "BmpSupport.c" + Dimensions prefetch_dimensions = {0}; + Dimensions _tmp11_ = {0}; + GdkPixbuf* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkPixbuf* _tmp19_ = NULL; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + Dimensions _tmp23_ = {0}; + gint _tmp24_ = 0; + Dimensions _tmp25_ = {0}; + gint _tmp26_ = 0; + GdkPixbuf* _tmp27_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + dimensions_get_scaled_by_constraint (full, 1000, SCALE_CONSTRAINT_DIMENSIONS, &_tmp11_); +#line 106 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + prefetch_dimensions = _tmp11_; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp13_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp14_ = _tmp13_; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp15_ = prefetch_dimensions; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp16_ = _tmp15_.width; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp17_ = prefetch_dimensions; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp18_ = _tmp17_.height; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp19_ = gdk_pixbuf_new_from_file_at_scale (_tmp14_, _tmp16_, _tmp18_, FALSE, &_inner_error_); +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp20_ = _tmp19_; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_free0 (_tmp14_); +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp12_ = _tmp20_; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_propagate_error (error, _inner_error_); +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (_result_); +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return NULL; +#line 1413 "BmpSupport.c" + } +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp21_ = _tmp12_; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp12_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (_result_); +#line 109 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _result_ = _tmp21_; +#line 112 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp22_ = _result_; +#line 112 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp23_ = *scaled; +#line 112 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp24_ = _tmp23_.width; +#line 112 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp25_ = *scaled; +#line 112 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp26_ = _tmp25_.height; +#line 112 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp27_ = gdk_pixbuf_scale_simple (_tmp22_, _tmp24_, _tmp26_, GDK_INTERP_HYPER); +#line 112 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (_result_); +#line 112 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _result_ = _tmp27_; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (_tmp12_); +#line 1441 "BmpSupport.c" + } else { + GdkPixbuf* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + Dimensions _tmp31_ = {0}; + gint _tmp32_ = 0; + Dimensions _tmp33_ = {0}; + gint _tmp34_ = 0; + GdkPixbuf* _tmp35_ = NULL; + GdkPixbuf* _tmp36_ = NULL; + GdkPixbuf* _tmp37_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp29_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp30_ = _tmp29_; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp31_ = *scaled; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp32_ = _tmp31_.width; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp33_ = *scaled; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp34_ = _tmp33_.height; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp35_ = gdk_pixbuf_new_from_file_at_scale (_tmp30_, _tmp32_, _tmp34_, FALSE, &_inner_error_); +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp36_ = _tmp35_; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_free0 (_tmp30_); +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp28_ = _tmp36_; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_propagate_error (error, _inner_error_); +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (_result_); +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return NULL; +#line 1481 "BmpSupport.c" + } +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp37_ = _tmp28_; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp28_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (_result_); +#line 114 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _result_ = _tmp37_; +#line 104 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_object_unref0 (_tmp28_); +#line 1493 "BmpSupport.c" + } +#line 118 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _result_; +#line 118 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1499 "BmpSupport.c" +} + + +static void photos_bmp_reader_class_init (PhotosBmpReaderClass * klass) { +#line 89 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_reader_parent_class = g_type_class_peek_parent (klass); +#line 89 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileReaderClass *) klass)->scaled_read = photos_bmp_reader_real_scaled_read; +#line 1508 "BmpSupport.c" +} + + +static void photos_bmp_reader_instance_init (PhotosBmpReader * self) { +} + + +GType photos_bmp_reader_get_type (void) { + static volatile gsize photos_bmp_reader_type_id__volatile = 0; + if (g_once_init_enter (&photos_bmp_reader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosBmpReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_bmp_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosBmpReader), 0, (GInstanceInitFunc) photos_bmp_reader_instance_init, NULL }; + GType photos_bmp_reader_type_id; + photos_bmp_reader_type_id = g_type_register_static (TYPE_GDK_READER, "PhotosBmpReader", &g_define_type_info, 0); + g_once_init_leave (&photos_bmp_reader_type_id__volatile, photos_bmp_reader_type_id); + } + return photos_bmp_reader_type_id__volatile; +} + + +PhotosBmpWriter* photos_bmp_writer_construct (GType object_type, const gchar* filepath) { + PhotosBmpWriter* self = NULL; + const gchar* _tmp0_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 124 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = filepath; +#line 124 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = (PhotosBmpWriter*) photo_file_writer_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_BMP); +#line 123 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self; +#line 1539 "BmpSupport.c" +} + + +PhotosBmpWriter* photos_bmp_writer_new (const gchar* filepath) { +#line 123 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return photos_bmp_writer_construct (PHOTOS_TYPE_BMP_WRITER, filepath); +#line 1546 "BmpSupport.c" +} + + +static void photos_bmp_writer_real_write (PhotoFileWriter* base, GdkPixbuf* pixbuf, JpegQuality quality, GError** error) { + PhotosBmpWriter * self; + GdkPixbuf* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_WRITER, PhotosBmpWriter); +#line 127 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 128 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = pixbuf; +#line 128 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 128 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = _tmp1_; +#line 128 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + gdk_pixbuf_save (_tmp0_, _tmp2_, "bmp", &_inner_error_, NULL, NULL); +#line 128 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _g_free0 (_tmp2_); +#line 128 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 128 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_propagate_error (error, _inner_error_); +#line 128 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return; +#line 1576 "BmpSupport.c" + } +} + + +static void photos_bmp_writer_class_init (PhotosBmpWriterClass * klass) { +#line 122 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_writer_parent_class = g_type_class_peek_parent (klass); +#line 122 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileWriterClass *) klass)->write = photos_bmp_writer_real_write; +#line 1586 "BmpSupport.c" +} + + +static void photos_bmp_writer_instance_init (PhotosBmpWriter * self) { +} + + +GType photos_bmp_writer_get_type (void) { + static volatile gsize photos_bmp_writer_type_id__volatile = 0; + if (g_once_init_enter (&photos_bmp_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosBmpWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_bmp_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosBmpWriter), 0, (GInstanceInitFunc) photos_bmp_writer_instance_init, NULL }; + GType photos_bmp_writer_type_id; + photos_bmp_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_WRITER, "PhotosBmpWriter", &g_define_type_info, 0); + g_once_init_leave (&photos_bmp_writer_type_id__volatile, photos_bmp_writer_type_id); + } + return photos_bmp_writer_type_id__volatile; +} + + +PhotosBmpMetadataWriter* photos_bmp_metadata_writer_construct (GType object_type, const gchar* filepath) { + PhotosBmpMetadataWriter* self = NULL; + const gchar* _tmp0_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 134 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = filepath; +#line 134 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = (PhotosBmpMetadataWriter*) photo_file_metadata_writer_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_BMP); +#line 133 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self; +#line 1617 "BmpSupport.c" +} + + +PhotosBmpMetadataWriter* photos_bmp_metadata_writer_new (const gchar* filepath) { +#line 133 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return photos_bmp_metadata_writer_construct (PHOTOS_TYPE_BMP_METADATA_WRITER, filepath); +#line 1624 "BmpSupport.c" +} + + +static void photos_bmp_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* base, PhotoMetadata* metadata, GError** error) { + PhotosBmpMetadataWriter * self; +#line 137 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_METADATA_WRITER, PhotosBmpMetadataWriter); +#line 137 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 1634 "BmpSupport.c" +} + + +static void photos_bmp_metadata_writer_class_init (PhotosBmpMetadataWriterClass * klass) { +#line 132 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_metadata_writer_parent_class = g_type_class_peek_parent (klass); +#line 132 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileMetadataWriterClass *) klass)->write_metadata = photos_bmp_metadata_writer_real_write_metadata; +#line 1643 "BmpSupport.c" +} + + +static void photos_bmp_metadata_writer_instance_init (PhotosBmpMetadataWriter * self) { +} + + +GType photos_bmp_metadata_writer_get_type (void) { + static volatile gsize photos_bmp_metadata_writer_type_id__volatile = 0; + if (g_once_init_enter (&photos_bmp_metadata_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosBmpMetadataWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_bmp_metadata_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosBmpMetadataWriter), 0, (GInstanceInitFunc) photos_bmp_metadata_writer_instance_init, NULL }; + GType photos_bmp_metadata_writer_type_id; + photos_bmp_metadata_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_METADATA_WRITER, "PhotosBmpMetadataWriter", &g_define_type_info, 0); + g_once_init_leave (&photos_bmp_metadata_writer_type_id__volatile, photos_bmp_metadata_writer_type_id); + } + return photos_bmp_metadata_writer_type_id__volatile; +} + + +void photos_bmp_file_format_driver_init (void) { + PhotosBmpFileFormatDriver* _tmp0_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_driver_new (); +#line 146 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _photo_file_format_driver_unref0 (photos_bmp_file_format_driver_instance); +#line 146 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_driver_instance = _tmp0_; +#line 147 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_properties_init (); +#line 1673 "BmpSupport.c" +} + + +static gpointer _photo_file_format_driver_ref0 (gpointer self) { +#line 151 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self ? photo_file_format_driver_ref (self) : NULL; +#line 1680 "BmpSupport.c" +} + + +PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_get_instance (void) { + PhotosBmpFileFormatDriver* result = NULL; + PhotosBmpFileFormatDriver* _tmp0_ = NULL; + PhotosBmpFileFormatDriver* _tmp1_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_driver_instance; +#line 151 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = _photo_file_format_driver_ref0 (_tmp0_); +#line 151 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp1_; +#line 151 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1696 "BmpSupport.c" +} + + +static PhotoFileFormatProperties* photos_bmp_file_format_driver_real_get_properties (PhotoFileFormatDriver* base) { + PhotosBmpFileFormatDriver * self; + PhotoFileFormatProperties* result = NULL; + PhotosBmpFileFormatProperties* _tmp0_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 155 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photos_bmp_file_format_properties_get_instance (); +#line 155 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties); +#line 155 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1712 "BmpSupport.c" +} + + +static PhotoFileReader* photos_bmp_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath) { + PhotosBmpFileFormatDriver * self; + PhotoFileReader* result = NULL; + const gchar* _tmp0_ = NULL; + PhotosBmpReader* _tmp1_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 158 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 159 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = filepath; +#line 159 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = photos_bmp_reader_new (_tmp0_); +#line 159 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_READER, PhotoFileReader); +#line 159 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1733 "BmpSupport.c" +} + + +static gboolean photos_bmp_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base) { + PhotosBmpFileFormatDriver * self; + gboolean result = FALSE; +#line 162 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 163 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = TRUE; +#line 163 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1746 "BmpSupport.c" +} + + +static gboolean photos_bmp_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base) { + PhotosBmpFileFormatDriver * self; + gboolean result = FALSE; +#line 166 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 167 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = FALSE; +#line 167 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1759 "BmpSupport.c" +} + + +static PhotoFileWriter* photos_bmp_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + PhotosBmpFileFormatDriver * self; + PhotoFileWriter* result = NULL; + const gchar* _tmp0_ = NULL; + PhotosBmpWriter* _tmp1_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 170 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 171 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = filepath; +#line 171 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = photos_bmp_writer_new (_tmp0_); +#line 171 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_WRITER, PhotoFileWriter); +#line 171 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1780 "BmpSupport.c" +} + + +static PhotoFileMetadataWriter* photos_bmp_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + PhotosBmpFileFormatDriver * self; + PhotoFileMetadataWriter* result = NULL; + const gchar* _tmp0_ = NULL; + PhotosBmpMetadataWriter* _tmp1_ = NULL; +#line 174 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 174 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 175 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = filepath; +#line 175 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = photos_bmp_metadata_writer_new (_tmp0_); +#line 175 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter); +#line 175 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1801 "BmpSupport.c" +} + + +static PhotoFileSniffer* photos_bmp_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options) { + PhotosBmpFileFormatDriver * self; + PhotoFileSniffer* result = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; + PhotosBmpSniffer* _tmp2_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 178 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 179 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = file; +#line 179 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp1_ = options; +#line 179 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp2_ = photos_bmp_sniffer_new (_tmp0_, _tmp1_); +#line 179 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer); +#line 179 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1825 "BmpSupport.c" +} + + +static PhotoMetadata* photos_bmp_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base) { + PhotosBmpFileFormatDriver * self; + PhotoMetadata* result = NULL; + PhotoMetadata* _tmp0_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 183 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + _tmp0_ = photo_metadata_new (); +#line 183 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + result = _tmp0_; +#line 183 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return result; +#line 1841 "BmpSupport.c" +} + + +PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_construct (GType object_type) { + PhotosBmpFileFormatDriver* self = NULL; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = (PhotosBmpFileFormatDriver*) photo_file_format_driver_construct (object_type); +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return self; +#line 1851 "BmpSupport.c" +} + + +PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_new (void) { +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + return photos_bmp_file_format_driver_construct (PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER); +#line 1858 "BmpSupport.c" +} + + +static void photos_bmp_file_format_driver_class_init (PhotosBmpFileFormatDriverClass * klass) { +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + photos_bmp_file_format_driver_parent_class = g_type_class_peek_parent (klass); +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->finalize = photos_bmp_file_format_driver_finalize; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->get_properties = photos_bmp_file_format_driver_real_get_properties; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_reader = photos_bmp_file_format_driver_real_create_reader; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_image = photos_bmp_file_format_driver_real_can_write_image; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_metadata = photos_bmp_file_format_driver_real_can_write_metadata; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_writer = photos_bmp_file_format_driver_real_create_writer; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata_writer = photos_bmp_file_format_driver_real_create_metadata_writer; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_sniffer = photos_bmp_file_format_driver_real_create_sniffer; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata = photos_bmp_file_format_driver_real_create_metadata; +#line 1883 "BmpSupport.c" +} + + +static void photos_bmp_file_format_driver_instance_init (PhotosBmpFileFormatDriver * self) { +} + + +static void photos_bmp_file_format_driver_finalize (PhotoFileFormatDriver* obj) { + PhotosBmpFileFormatDriver * self; +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver); +#line 142 "/home/jens/Source/shotwell/src/photos/BmpSupport.vala" + PHOTO_FILE_FORMAT_DRIVER_CLASS (photos_bmp_file_format_driver_parent_class)->finalize (obj); +#line 1897 "BmpSupport.c" +} + + +GType photos_bmp_file_format_driver_get_type (void) { + static volatile gsize photos_bmp_file_format_driver_type_id__volatile = 0; + if (g_once_init_enter (&photos_bmp_file_format_driver_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosBmpFileFormatDriverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_bmp_file_format_driver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosBmpFileFormatDriver), 0, (GInstanceInitFunc) photos_bmp_file_format_driver_instance_init, NULL }; + GType photos_bmp_file_format_driver_type_id; + photos_bmp_file_format_driver_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_DRIVER, "PhotosBmpFileFormatDriver", &g_define_type_info, 0); + g_once_init_leave (&photos_bmp_file_format_driver_type_id__volatile, photos_bmp_file_format_driver_type_id); + } + return photos_bmp_file_format_driver_type_id__volatile; +} + + + diff --git a/src/photos/GRaw.c b/src/photos/GRaw.c new file mode 100644 index 0000000..56cfe34 --- /dev/null +++ b/src/photos/GRaw.c @@ -0,0 +1,2462 @@ +/* GRaw.c generated by valac 0.32.1, the Vala compiler + * generated from GRaw.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GRAW_TYPE_COLORSPACE (graw_colorspace_get_type ()) + +#define GRAW_TYPE_FLIP (graw_flip_get_type ()) + +#define GRAW_TYPE_FUJI_ROTATE (graw_fuji_rotate_get_type ()) + +#define GRAW_TYPE_HIGHLIGHT_MODE (graw_highlight_mode_get_type ()) + +#define GRAW_TYPE_INTERPOLATION_QUALITY (graw_interpolation_quality_get_type ()) + +#define GRAW_TYPE_PROCESSED_IMAGE (graw_processed_image_get_type ()) +#define GRAW_PROCESSED_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImage)) +#define GRAW_PROCESSED_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImageClass)) +#define GRAW_IS_PROCESSED_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GRAW_TYPE_PROCESSED_IMAGE)) +#define GRAW_IS_PROCESSED_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRAW_TYPE_PROCESSED_IMAGE)) +#define GRAW_PROCESSED_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImageClass)) + +typedef struct _GRawProcessedImage GRawProcessedImage; +typedef struct _GRawProcessedImageClass GRawProcessedImageClass; +typedef struct _GRawProcessedImagePrivate GRawProcessedImagePrivate; +#define _free0(var) ((var == NULL) ? NULL : (var = (free (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _graw_processed_image_unref0(var) ((var == NULL) ? NULL : (var = (graw_processed_image_unref (var), NULL))) +#define _g_bytes_unref0(var) ((var == NULL) ? NULL : (var = (g_bytes_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _GRawParamSpecProcessedImage GRawParamSpecProcessedImage; + +#define GRAW_TYPE_PROCESSOR (graw_processor_get_type ()) +#define GRAW_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GRAW_TYPE_PROCESSOR, GRawProcessor)) +#define GRAW_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GRAW_TYPE_PROCESSOR, GRawProcessorClass)) +#define GRAW_IS_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GRAW_TYPE_PROCESSOR)) +#define GRAW_IS_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRAW_TYPE_PROCESSOR)) +#define GRAW_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GRAW_TYPE_PROCESSOR, GRawProcessorClass)) + +typedef struct _GRawProcessor GRawProcessor; +typedef struct _GRawProcessorClass GRawProcessorClass; +typedef struct _GRawProcessorPrivate GRawProcessorPrivate; +#define _libraw_close0(var) ((var == NULL) ? NULL : (var = (libraw_close (var), NULL))) +typedef struct _GRawParamSpecProcessor GRawParamSpecProcessor; +#define _g_free0(var) (var = (g_free (var), NULL)) +#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); + +typedef enum { + GRAW_COLORSPACE_RAW = 0, + GRAW_COLORSPACE_SRGB = 1, + GRAW_COLORSPACE_ADOBE = 2, + GRAW_COLORSPACE_WIDE = 3, + GRAW_COLORSPACE_PROPHOTO = 4, + GRAW_COLORSPACE_XYZ = 5 +} GRawColorspace; + +typedef enum { + GRAW_EXCEPTION_UNSPECIFIED, + GRAW_EXCEPTION_UNSUPPORTED_FILE, + GRAW_EXCEPTION_NONEXISTANT_IMAGE, + GRAW_EXCEPTION_OUT_OF_ORDER_CALL, + GRAW_EXCEPTION_NO_THUMBNAIL, + GRAW_EXCEPTION_UNSUPPORTED_THUMBNAIL, + GRAW_EXCEPTION_OUT_OF_MEMORY, + GRAW_EXCEPTION_DATA_ERROR, + GRAW_EXCEPTION_IO_ERROR, + GRAW_EXCEPTION_CANCELLED_BY_CALLBACK, + GRAW_EXCEPTION_BAD_CROP, + GRAW_EXCEPTION_SYSTEM_ERROR +} GRawException; +#define GRAW_EXCEPTION graw_exception_quark () +typedef enum { + GRAW_FLIP_FROM_SOURCE = -1, + GRAW_FLIP_NONE = 0, + GRAW_FLIP_UPSIDE_DOWN = 3, + GRAW_FLIP_COUNTERCLOCKWISE = 5, + GRAW_FLIP_CLOCKWISE = 6 +} GRawFlip; + +typedef enum { + GRAW_FUJI_ROTATE_USE = -1, + GRAW_FUJI_ROTATE_DONT_USE = 0 +} GRawFujiRotate; + +typedef enum { + GRAW_HIGHLIGHT_MODE_CLIP = 0, + GRAW_HIGHLIGHT_MODE_UNCLIP = 1, + GRAW_HIGHLIGHT_MODE_BLEND = 2, + GRAW_HIGHLIGHT_MODE_REBUILD = 3 +} GRawHighlightMode; + +typedef enum { + GRAW_INTERPOLATION_QUALITY_LINEAR = 0, + GRAW_INTERPOLATION_QUALITY_VNG = 1, + GRAW_INTERPOLATION_QUALITY_PPG = 2, + GRAW_INTERPOLATION_QUALITY_AHD = 3 +} GRawInterpolationQuality; + +struct _GRawProcessedImage { + GTypeInstance parent_instance; + volatile int ref_count; + GRawProcessedImagePrivate * priv; +}; + +struct _GRawProcessedImageClass { + GTypeClass parent_class; + void (*finalize) (GRawProcessedImage *self); +}; + +struct _GRawProcessedImagePrivate { + libraw_processed_image_t* image; + GdkPixbuf* pixbuf; +}; + +struct _GRawParamSpecProcessedImage { + GParamSpec parent_instance; +}; + +struct _GRawProcessor { + GTypeInstance parent_instance; + volatile int ref_count; + GRawProcessorPrivate * priv; +}; + +struct _GRawProcessorClass { + GTypeClass parent_class; + void (*finalize) (GRawProcessor *self); +}; + +struct _GRawProcessorPrivate { + libraw_data_t* proc; +}; + +struct _GRawParamSpecProcessor { + GParamSpec parent_instance; +}; + + +static gpointer graw_processed_image_parent_class = NULL; +static gpointer graw_processor_parent_class = NULL; + +#define GRAW_HD_POWER 2.222 +#define GRAW_HD_SLOPE 4.5 +#define GRAW_SRGB_POWER 2.4 +#define GRAW_SRGB_SLOPE 12.92 +GType graw_colorspace_get_type (void) G_GNUC_CONST; +GQuark graw_exception_quark (void); +GType graw_flip_get_type (void) G_GNUC_CONST; +GType graw_fuji_rotate_get_type (void) G_GNUC_CONST; +GType graw_highlight_mode_get_type (void) G_GNUC_CONST; +GType graw_interpolation_quality_get_type (void) G_GNUC_CONST; +gpointer graw_processed_image_ref (gpointer instance); +void graw_processed_image_unref (gpointer instance); +GParamSpec* graw_param_spec_processed_image (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void graw_value_set_processed_image (GValue* value, gpointer v_object); +void graw_value_take_processed_image (GValue* value, gpointer v_object); +gpointer graw_value_get_processed_image (const GValue* value); +GType graw_processed_image_get_type (void) G_GNUC_CONST; +#define GRAW_PROCESSED_IMAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImagePrivate)) +enum { + GRAW_PROCESSED_IMAGE_DUMMY_PROPERTY +}; +GRawProcessedImage* graw_processed_image_new (libraw_data_t* proc, GError** error); +GRawProcessedImage* graw_processed_image_construct (GType object_type, libraw_data_t* proc, GError** error); +void graw_throw_exception (const gchar* caller, enum LibRaw_errors _result_, GError** error); +GRawProcessedImage* graw_processed_image_new_from_thumb (libraw_data_t* proc, GError** error); +GRawProcessedImage* graw_processed_image_construct_from_thumb (GType object_type, libraw_data_t* proc, GError** error); +GdkPixbuf* graw_processed_image_get_pixbuf_copy (GRawProcessedImage* self); +gushort graw_processed_image_get_width (GRawProcessedImage* self); +gushort graw_processed_image_get_height (GRawProcessedImage* self); +gushort graw_processed_image_get_colors (GRawProcessedImage* self); +gushort graw_processed_image_get_bits (GRawProcessedImage* self); +guint8* graw_processed_image_get_data (GRawProcessedImage* self); +guint graw_processed_image_get_data_size (GRawProcessedImage* self); +static void graw_processed_image_finalize (GRawProcessedImage* obj); +gpointer graw_processor_ref (gpointer instance); +void graw_processor_unref (gpointer instance); +GParamSpec* graw_param_spec_processor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void graw_value_set_processor (GValue* value, gpointer v_object); +void graw_value_take_processor (GValue* value, gpointer v_object); +gpointer graw_value_get_processor (const GValue* value); +GType graw_processor_get_type (void) G_GNUC_CONST; +#define GRAW_PROCESSOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GRAW_TYPE_PROCESSOR, GRawProcessorPrivate)) +enum { + GRAW_PROCESSOR_DUMMY_PROPERTY +}; +GRawProcessor* graw_processor_new (enum LibRaw_constructor_flags options); +GRawProcessor* graw_processor_construct (GType object_type, enum LibRaw_constructor_flags options); +void graw_processor_adjust_sizes_info_only (GRawProcessor* self, GError** error); +libraw_imgother_t graw_processor_get_image_other (GRawProcessor* self); +libraw_iparams_t graw_processor_get_image_params (GRawProcessor* self); +libraw_image_sizes_t graw_processor_get_sizes (GRawProcessor* self); +libraw_thumbnail_t graw_processor_get_thumbnail (GRawProcessor* self); +GRawProcessedImage* graw_processor_make_mem_image (GRawProcessor* self, GError** error); +GRawProcessedImage* graw_processor_make_thumb_image (GRawProcessor* self, GError** error); +void graw_processor_open_buffer (GRawProcessor* self, guint8* buffer, int buffer_length1, GError** error); +void graw_processor_open_file (GRawProcessor* self, const gchar* filename, GError** error); +void graw_processor_process (GRawProcessor* self, GError** error); +void graw_processor_ppm_tiff_writer (GRawProcessor* self, const gchar* filename, GError** error); +void graw_processor_thumb_writer (GRawProcessor* self, const gchar* filename, GError** error); +void graw_processor_recycle (GRawProcessor* self); +void graw_processor_unpack (GRawProcessor* self, GError** error); +void graw_processor_unpack_thumb (GRawProcessor* self, GError** error); +void graw_processor_configure_for_rgb_display (GRawProcessor* self, gboolean half_size); +libraw_output_params_t* graw_processor_get_output_params (GRawProcessor* self); +static void graw_processor_finalize (GRawProcessor* obj); + + +GType graw_colorspace_get_type (void) { + static volatile gsize graw_colorspace_type_id__volatile = 0; + if (g_once_init_enter (&graw_colorspace_type_id__volatile)) { + static const GEnumValue values[] = {{GRAW_COLORSPACE_RAW, "GRAW_COLORSPACE_RAW", "raw"}, {GRAW_COLORSPACE_SRGB, "GRAW_COLORSPACE_SRGB", "srgb"}, {GRAW_COLORSPACE_ADOBE, "GRAW_COLORSPACE_ADOBE", "adobe"}, {GRAW_COLORSPACE_WIDE, "GRAW_COLORSPACE_WIDE", "wide"}, {GRAW_COLORSPACE_PROPHOTO, "GRAW_COLORSPACE_PROPHOTO", "prophoto"}, {GRAW_COLORSPACE_XYZ, "GRAW_COLORSPACE_XYZ", "xyz"}, {0, NULL, NULL}}; + GType graw_colorspace_type_id; + graw_colorspace_type_id = g_enum_register_static ("GRawColorspace", values); + g_once_init_leave (&graw_colorspace_type_id__volatile, graw_colorspace_type_id); + } + return graw_colorspace_type_id__volatile; +} + + +GQuark graw_exception_quark (void) { + return g_quark_from_static_string ("graw_exception-quark"); +} + + +GType graw_flip_get_type (void) { + static volatile gsize graw_flip_type_id__volatile = 0; + if (g_once_init_enter (&graw_flip_type_id__volatile)) { + static const GEnumValue values[] = {{GRAW_FLIP_FROM_SOURCE, "GRAW_FLIP_FROM_SOURCE", "from-source"}, {GRAW_FLIP_NONE, "GRAW_FLIP_NONE", "none"}, {GRAW_FLIP_UPSIDE_DOWN, "GRAW_FLIP_UPSIDE_DOWN", "upside-down"}, {GRAW_FLIP_COUNTERCLOCKWISE, "GRAW_FLIP_COUNTERCLOCKWISE", "counterclockwise"}, {GRAW_FLIP_CLOCKWISE, "GRAW_FLIP_CLOCKWISE", "clockwise"}, {0, NULL, NULL}}; + GType graw_flip_type_id; + graw_flip_type_id = g_enum_register_static ("GRawFlip", values); + g_once_init_leave (&graw_flip_type_id__volatile, graw_flip_type_id); + } + return graw_flip_type_id__volatile; +} + + +GType graw_fuji_rotate_get_type (void) { + static volatile gsize graw_fuji_rotate_type_id__volatile = 0; + if (g_once_init_enter (&graw_fuji_rotate_type_id__volatile)) { + static const GEnumValue values[] = {{GRAW_FUJI_ROTATE_USE, "GRAW_FUJI_ROTATE_USE", "use"}, {GRAW_FUJI_ROTATE_DONT_USE, "GRAW_FUJI_ROTATE_DONT_USE", "dont-use"}, {0, NULL, NULL}}; + GType graw_fuji_rotate_type_id; + graw_fuji_rotate_type_id = g_enum_register_static ("GRawFujiRotate", values); + g_once_init_leave (&graw_fuji_rotate_type_id__volatile, graw_fuji_rotate_type_id); + } + return graw_fuji_rotate_type_id__volatile; +} + + +GType graw_highlight_mode_get_type (void) { + static volatile gsize graw_highlight_mode_type_id__volatile = 0; + if (g_once_init_enter (&graw_highlight_mode_type_id__volatile)) { + static const GEnumValue values[] = {{GRAW_HIGHLIGHT_MODE_CLIP, "GRAW_HIGHLIGHT_MODE_CLIP", "clip"}, {GRAW_HIGHLIGHT_MODE_UNCLIP, "GRAW_HIGHLIGHT_MODE_UNCLIP", "unclip"}, {GRAW_HIGHLIGHT_MODE_BLEND, "GRAW_HIGHLIGHT_MODE_BLEND", "blend"}, {GRAW_HIGHLIGHT_MODE_REBUILD, "GRAW_HIGHLIGHT_MODE_REBUILD", "rebuild"}, {0, NULL, NULL}}; + GType graw_highlight_mode_type_id; + graw_highlight_mode_type_id = g_enum_register_static ("GRawHighlightMode", values); + g_once_init_leave (&graw_highlight_mode_type_id__volatile, graw_highlight_mode_type_id); + } + return graw_highlight_mode_type_id__volatile; +} + + +GType graw_interpolation_quality_get_type (void) { + static volatile gsize graw_interpolation_quality_type_id__volatile = 0; + if (g_once_init_enter (&graw_interpolation_quality_type_id__volatile)) { + static const GEnumValue values[] = {{GRAW_INTERPOLATION_QUALITY_LINEAR, "GRAW_INTERPOLATION_QUALITY_LINEAR", "linear"}, {GRAW_INTERPOLATION_QUALITY_VNG, "GRAW_INTERPOLATION_QUALITY_VNG", "vng"}, {GRAW_INTERPOLATION_QUALITY_PPG, "GRAW_INTERPOLATION_QUALITY_PPG", "ppg"}, {GRAW_INTERPOLATION_QUALITY_AHD, "GRAW_INTERPOLATION_QUALITY_AHD", "ahd"}, {0, NULL, NULL}}; + GType graw_interpolation_quality_type_id; + graw_interpolation_quality_type_id = g_enum_register_static ("GRawInterpolationQuality", values); + g_once_init_leave (&graw_interpolation_quality_type_id__volatile, graw_interpolation_quality_type_id); + } + return graw_interpolation_quality_type_id__volatile; +} + + +GRawProcessedImage* graw_processed_image_construct (GType object_type, libraw_data_t* proc, GError** error) { + GRawProcessedImage* self = NULL; + enum LibRaw_errors _result_ = 0; + libraw_data_t* _tmp0_ = NULL; + libraw_processed_image_t* _tmp1_ = NULL; + enum LibRaw_errors _tmp2_ = 0; + libraw_processed_image_t* _tmp3_ = NULL; + libraw_processed_image_t* _tmp4_ = NULL; + guint8* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + libraw_processed_image_t* _tmp6_ = NULL; + gushort _tmp7_ = 0U; + libraw_processed_image_t* _tmp8_ = NULL; + gushort _tmp9_ = 0U; + libraw_processed_image_t* _tmp10_ = NULL; + gushort _tmp11_ = 0U; + libraw_processed_image_t* _tmp12_ = NULL; + gushort _tmp13_ = 0U; + libraw_processed_image_t* _tmp14_ = NULL; + gushort _tmp15_ = 0U; + GdkPixbuf* _tmp16_ = NULL; + GError * _inner_error_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (proc != NULL, NULL); +#line 106 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self = (GRawProcessedImage*) g_type_create_instance (object_type); +#line 107 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _result_ = LIBRAW_SUCCESS; +#line 108 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = proc; +#line 108 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_dcraw_make_mem_image (_tmp0_, &_result_); +#line 108 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _free0 (self->priv->image); +#line 108 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->priv->image = _tmp1_; +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = _result_; +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("ProcessedImage", _tmp2_, &_inner_error_); +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _graw_processed_image_unref0 (self); +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 344 "GRaw.c" + } else { +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.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 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 109 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 352 "GRaw.c" + } + } +#line 110 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp3_ = self->priv->image; +#line 110 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _vala_assert (_tmp3_ != NULL, "image != null"); +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp4_ = self->priv->image; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp5_ = _tmp4_->data; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp5__length1 = _tmp4_->data_size; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp6_ = self->priv->image; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp7_ = _tmp6_->bits; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp8_ = self->priv->image; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp9_ = _tmp8_->width; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp10_ = self->priv->image; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp11_ = _tmp10_->height; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp12_ = self->priv->image; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp13_ = _tmp12_->width; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp14_ = self->priv->image; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp15_ = _tmp14_->colors; +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp16_ = gdk_pixbuf_new_from_data (_tmp5_, GDK_COLORSPACE_RGB, FALSE, (gint) _tmp7_, (gint) _tmp9_, (gint) _tmp11_, (gint) (_tmp13_ * _tmp15_), (GdkPixbufDestroyNotify) NULL, NULL); +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_object_unref0 (self->priv->pixbuf); +#line 114 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->priv->pixbuf = _tmp16_; +#line 106 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return self; +#line 393 "GRaw.c" +} + + +GRawProcessedImage* graw_processed_image_new (libraw_data_t* proc, GError** error) { +#line 106 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return graw_processed_image_construct (GRAW_TYPE_PROCESSED_IMAGE, proc, error); +#line 400 "GRaw.c" +} + + +GRawProcessedImage* graw_processed_image_construct_from_thumb (GType object_type, libraw_data_t* proc, GError** error) { + GRawProcessedImage* self = NULL; + enum LibRaw_errors _result_ = 0; + libraw_data_t* _tmp0_ = NULL; + libraw_processed_image_t* _tmp1_ = NULL; + enum LibRaw_errors _tmp2_ = 0; + libraw_processed_image_t* _tmp3_ = NULL; + libraw_processed_image_t* _tmp17_ = NULL; + GdkPixbuf* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + libraw_processed_image_t* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + libraw_processed_image_t* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + libraw_processed_image_t* _tmp29_ = NULL; + GdkPixbuf* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + GError * _inner_error_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (proc != NULL, NULL); +#line 118 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self = (GRawProcessedImage*) g_type_create_instance (object_type); +#line 119 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _result_ = LIBRAW_SUCCESS; +#line 120 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = proc; +#line 120 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_dcraw_make_mem_thumb (_tmp0_, &_result_); +#line 120 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _free0 (self->priv->image); +#line 120 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->priv->image = _tmp1_; +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = _result_; +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("ProcessedImage.from_thumb", _tmp2_, &_inner_error_); +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _graw_processed_image_unref0 (self); +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 456 "GRaw.c" + } else { +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.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 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 121 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 464 "GRaw.c" + } + } +#line 122 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp3_ = self->priv->image; +#line 122 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _vala_assert (_tmp3_ != NULL, "image != null"); +#line 471 "GRaw.c" + { + GBytes* bytes = NULL; + libraw_processed_image_t* _tmp4_ = NULL; + guint8* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GBytes* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; + GBytes* _tmp8_ = NULL; + GMemoryInputStream* _tmp9_ = NULL; + GMemoryInputStream* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; + GdkPixbuf* _tmp13_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp4_ = self->priv->image; +#line 128 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp5_ = _tmp4_->data; +#line 128 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp5__length1 = _tmp4_->data_size; +#line 128 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp6_ = g_bytes_new_static (_tmp5_, _tmp5__length1); +#line 128 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + bytes = _tmp6_; +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp8_ = bytes; +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp9_ = (GMemoryInputStream*) g_memory_input_stream_new_from_bytes (_tmp8_); +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp10_ = _tmp9_; +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp11_ = gdk_pixbuf_new_from_stream (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, G_TYPE_INPUT_STREAM, GInputStream), NULL, &_inner_error_); +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp12_ = _tmp11_; +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_object_unref0 (_tmp10_); +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp7_ = _tmp12_; +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_bytes_unref0 (bytes); +#line 513 "GRaw.c" + goto __catch26_g_error; + } +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp13_ = _tmp7_; +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp7_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_object_unref0 (self->priv->pixbuf); +#line 129 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->priv->pixbuf = _tmp13_; +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_object_unref0 (_tmp7_); +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_bytes_unref0 (bytes); +#line 528 "GRaw.c" + } + goto __finally26; + __catch26_g_error: + { + GError* err = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GError* _tmp16_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + err = _inner_error_; +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp14_ = err; +#line 132 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp15_ = _tmp14_->message; +#line 132 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp16_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_UNSUPPORTED_THUMBNAIL, _tmp15_); +#line 132 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp16_; +#line 132 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_error_free0 (err); +#line 551 "GRaw.c" + goto __finally26; + } + __finally26: +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _graw_processed_image_unref0 (self); +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 565 "GRaw.c" + } else { +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.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 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 127 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 573 "GRaw.c" + } + } +#line 136 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp17_ = self->priv->image; +#line 136 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp18_ = self->priv->pixbuf; +#line 136 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp19_ = gdk_pixbuf_get_width (_tmp18_); +#line 136 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp20_ = _tmp19_; +#line 136 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp17_->width = (gushort) _tmp20_; +#line 137 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp21_ = self->priv->image; +#line 137 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp22_ = self->priv->pixbuf; +#line 137 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp23_ = gdk_pixbuf_get_height (_tmp22_); +#line 137 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp24_ = _tmp23_; +#line 137 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp21_->height = (gushort) _tmp24_; +#line 138 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp25_ = self->priv->image; +#line 138 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp26_ = self->priv->pixbuf; +#line 138 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp27_ = gdk_pixbuf_get_n_channels (_tmp26_); +#line 138 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp28_ = _tmp27_; +#line 138 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp25_->colors = (gushort) _tmp28_; +#line 139 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp29_ = self->priv->image; +#line 139 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp30_ = self->priv->pixbuf; +#line 139 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp31_ = gdk_pixbuf_get_bits_per_sample (_tmp30_); +#line 139 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp32_ = _tmp31_; +#line 139 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp29_->bits = (gushort) _tmp32_; +#line 118 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return self; +#line 618 "GRaw.c" +} + + +GRawProcessedImage* graw_processed_image_new_from_thumb (libraw_data_t* proc, GError** error) { +#line 118 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return graw_processed_image_construct_from_thumb (GRAW_TYPE_PROCESSED_IMAGE, proc, error); +#line 625 "GRaw.c" +} + + +GdkPixbuf* graw_processed_image_get_pixbuf_copy (GRawProcessedImage* self) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSED_IMAGE (self), NULL); +#line 144 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->pixbuf; +#line 144 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = gdk_pixbuf_copy (_tmp0_); +#line 144 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 144 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 643 "GRaw.c" +} + + +gushort graw_processed_image_get_width (GRawProcessedImage* self) { + gushort result; + libraw_processed_image_t* _tmp0_ = NULL; + gushort _tmp1_ = 0U; +#line 71 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSED_IMAGE (self), 0U); +#line 72 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->image; +#line 72 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = _tmp0_->width; +#line 72 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 72 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 661 "GRaw.c" +} + + +gushort graw_processed_image_get_height (GRawProcessedImage* self) { + gushort result; + libraw_processed_image_t* _tmp0_ = NULL; + gushort _tmp1_ = 0U; +#line 77 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSED_IMAGE (self), 0U); +#line 78 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->image; +#line 78 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = _tmp0_->height; +#line 78 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 78 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 679 "GRaw.c" +} + + +gushort graw_processed_image_get_colors (GRawProcessedImage* self) { + gushort result; + libraw_processed_image_t* _tmp0_ = NULL; + gushort _tmp1_ = 0U; +#line 83 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSED_IMAGE (self), 0U); +#line 84 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->image; +#line 84 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = _tmp0_->colors; +#line 84 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 84 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 697 "GRaw.c" +} + + +gushort graw_processed_image_get_bits (GRawProcessedImage* self) { + gushort result; + libraw_processed_image_t* _tmp0_ = NULL; + gushort _tmp1_ = 0U; +#line 89 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSED_IMAGE (self), 0U); +#line 90 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->image; +#line 90 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = _tmp0_->bits; +#line 90 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 90 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 715 "GRaw.c" +} + + +guint8* graw_processed_image_get_data (GRawProcessedImage* self) { + guint8* result; + libraw_processed_image_t* _tmp0_ = NULL; + guint8* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 95 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSED_IMAGE (self), NULL); +#line 96 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->image; +#line 96 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = _tmp0_->data; +#line 96 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1__length1 = _tmp0_->data_size; +#line 96 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 96 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 736 "GRaw.c" +} + + +guint graw_processed_image_get_data_size (GRawProcessedImage* self) { + guint result; + libraw_processed_image_t* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 101 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSED_IMAGE (self), 0U); +#line 102 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->image; +#line 102 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = _tmp0_->data_size; +#line 102 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 102 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 754 "GRaw.c" +} + + +static void graw_value_processed_image_init (GValue* value) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = NULL; +#line 761 "GRaw.c" +} + + +static void graw_value_processed_image_free_value (GValue* value) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (value->data[0].v_pointer) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processed_image_unref (value->data[0].v_pointer); +#line 770 "GRaw.c" + } +} + + +static void graw_value_processed_image_copy_value (const GValue* src_value, GValue* dest_value) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (src_value->data[0].v_pointer) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + dest_value->data[0].v_pointer = graw_processed_image_ref (src_value->data[0].v_pointer); +#line 780 "GRaw.c" + } else { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + dest_value->data[0].v_pointer = NULL; +#line 784 "GRaw.c" + } +} + + +static gpointer graw_value_processed_image_peek_pointer (const GValue* value) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return value->data[0].v_pointer; +#line 792 "GRaw.c" +} + + +static gchar* graw_value_processed_image_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (collect_values[0].v_pointer) { +#line 799 "GRaw.c" + GRawProcessedImage* object; + object = collect_values[0].v_pointer; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (object->parent_instance.g_class == NULL) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 806 "GRaw.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 810 "GRaw.c" + } +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = graw_processed_image_ref (object); +#line 814 "GRaw.c" + } else { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = NULL; +#line 818 "GRaw.c" + } +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 822 "GRaw.c" +} + + +static gchar* graw_value_processed_image_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + GRawProcessedImage** object_p; + object_p = collect_values[0].v_pointer; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (!object_p) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 833 "GRaw.c" + } +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (!value->data[0].v_pointer) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + *object_p = NULL; +#line 839 "GRaw.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + *object_p = value->data[0].v_pointer; +#line 843 "GRaw.c" + } else { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + *object_p = graw_processed_image_ref (value->data[0].v_pointer); +#line 847 "GRaw.c" + } +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 851 "GRaw.c" +} + + +GParamSpec* graw_param_spec_processed_image (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + GRawParamSpecProcessedImage* spec; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (g_type_is_a (object_type, GRAW_TYPE_PROCESSED_IMAGE), NULL); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return G_PARAM_SPEC (spec); +#line 865 "GRaw.c" +} + + +gpointer graw_value_get_processed_image (const GValue* value) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GRAW_TYPE_PROCESSED_IMAGE), NULL); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return value->data[0].v_pointer; +#line 874 "GRaw.c" +} + + +void graw_value_set_processed_image (GValue* value, gpointer v_object) { + GRawProcessedImage* old; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GRAW_TYPE_PROCESSED_IMAGE)); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + old = value->data[0].v_pointer; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (v_object) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, GRAW_TYPE_PROCESSED_IMAGE)); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = v_object; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processed_image_ref (value->data[0].v_pointer); +#line 894 "GRaw.c" + } else { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = NULL; +#line 898 "GRaw.c" + } +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (old) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processed_image_unref (old); +#line 904 "GRaw.c" + } +} + + +void graw_value_take_processed_image (GValue* value, gpointer v_object) { + GRawProcessedImage* old; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GRAW_TYPE_PROCESSED_IMAGE)); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + old = value->data[0].v_pointer; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (v_object) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, GRAW_TYPE_PROCESSED_IMAGE)); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = v_object; +#line 923 "GRaw.c" + } else { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = NULL; +#line 927 "GRaw.c" + } +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (old) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processed_image_unref (old); +#line 933 "GRaw.c" + } +} + + +static void graw_processed_image_class_init (GRawProcessedImageClass * klass) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processed_image_parent_class = g_type_class_peek_parent (klass); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + ((GRawProcessedImageClass *) klass)->finalize = graw_processed_image_finalize; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_type_class_add_private (klass, sizeof (GRawProcessedImagePrivate)); +#line 945 "GRaw.c" +} + + +static void graw_processed_image_instance_init (GRawProcessedImage * self) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->priv = GRAW_PROCESSED_IMAGE_GET_PRIVATE (self); +#line 68 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->priv->pixbuf = NULL; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->ref_count = 1; +#line 956 "GRaw.c" +} + + +static void graw_processed_image_finalize (GRawProcessedImage* obj) { + GRawProcessedImage * self; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImage); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_signal_handlers_destroy (self); +#line 67 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _free0 (self->priv->image); +#line 68 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_object_unref0 (self->priv->pixbuf); +#line 970 "GRaw.c" +} + + +GType graw_processed_image_get_type (void) { + static volatile gsize graw_processed_image_type_id__volatile = 0; + if (g_once_init_enter (&graw_processed_image_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { graw_value_processed_image_init, graw_value_processed_image_free_value, graw_value_processed_image_copy_value, graw_value_processed_image_peek_pointer, "p", graw_value_processed_image_collect_value, "p", graw_value_processed_image_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (GRawProcessedImageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) graw_processed_image_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GRawProcessedImage), 0, (GInstanceInitFunc) graw_processed_image_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType graw_processed_image_type_id; + graw_processed_image_type_id = g_type_register_fundamental (g_type_fundamental_next (), "GRawProcessedImage", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&graw_processed_image_type_id__volatile, graw_processed_image_type_id); + } + return graw_processed_image_type_id__volatile; +} + + +gpointer graw_processed_image_ref (gpointer instance) { + GRawProcessedImage* self; + self = instance; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_atomic_int_inc (&self->ref_count); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return instance; +#line 995 "GRaw.c" +} + + +void graw_processed_image_unref (gpointer instance) { + GRawProcessedImage* self; + self = instance; +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + GRAW_PROCESSED_IMAGE_GET_CLASS (self)->finalize (self); +#line 66 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1008 "GRaw.c" + } +} + + +GRawProcessor* graw_processor_construct (GType object_type, enum LibRaw_constructor_flags options) { + GRawProcessor* self = NULL; + enum LibRaw_constructor_flags _tmp0_ = 0; + libraw_data_t* _tmp1_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self = (GRawProcessor*) g_type_create_instance (object_type); +#line 158 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = options; +#line 158 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_init (_tmp0_); +#line 158 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _libraw_close0 (self->priv->proc); +#line 158 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->priv->proc = _tmp1_; +#line 157 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return self; +#line 1029 "GRaw.c" +} + + +GRawProcessor* graw_processor_new (enum LibRaw_constructor_flags options) { +#line 157 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return graw_processor_construct (GRAW_TYPE_PROCESSOR, options); +#line 1036 "GRaw.c" +} + + +void graw_processor_adjust_sizes_info_only (GRawProcessor* self, GError** error) { + libraw_data_t* _tmp0_ = NULL; + enum LibRaw_errors _tmp1_ = 0; + GError * _inner_error_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_adjust_sizes_info_only (_tmp0_); +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("adjust_sizes_info_only", _tmp1_, &_inner_error_); +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1060 "GRaw.c" + } else { +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.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 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 162 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1068 "GRaw.c" + } + } +} + + +static libraw_imgother_t libraw_get_image_other (libraw_data_t* self) { + libraw_imgother_t result = {0}; + libraw_imgother_t _tmp0_ = {0}; +#line 188 "/home/jens/Source/shotwell/vapi/libraw.vapi" + g_return_val_if_fail (self != NULL, result); +#line 188 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp0_ = self->other; +#line 188 "/home/jens/Source/shotwell/vapi/libraw.vapi" + result = _tmp0_; +#line 188 "/home/jens/Source/shotwell/vapi/libraw.vapi" + return result; +#line 1085 "GRaw.c" +} + + +libraw_imgother_t graw_processor_get_image_other (GRawProcessor* self) { + libraw_imgother_t result = {0}; + libraw_data_t* _tmp0_ = NULL; + libraw_imgother_t _tmp1_ = {0}; +#line 165 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSOR (self), result); +#line 166 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 166 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_get_image_other (_tmp0_); +#line 166 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 166 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 1103 "GRaw.c" +} + + +static libraw_iparams_t libraw_get_image_params (libraw_data_t* self) { + libraw_iparams_t result = {0}; + libraw_iparams_t _tmp0_ = {0}; +#line 189 "/home/jens/Source/shotwell/vapi/libraw.vapi" + g_return_val_if_fail (self != NULL, result); +#line 189 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp0_ = self->idata; +#line 189 "/home/jens/Source/shotwell/vapi/libraw.vapi" + result = _tmp0_; +#line 189 "/home/jens/Source/shotwell/vapi/libraw.vapi" + return result; +#line 1118 "GRaw.c" +} + + +libraw_iparams_t graw_processor_get_image_params (GRawProcessor* self) { + libraw_iparams_t result = {0}; + libraw_data_t* _tmp0_ = NULL; + libraw_iparams_t _tmp1_ = {0}; +#line 169 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSOR (self), result); +#line 170 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 170 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_get_image_params (_tmp0_); +#line 170 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 170 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 1136 "GRaw.c" +} + + +static libraw_image_sizes_t libraw_get_sizes (libraw_data_t* self) { + libraw_image_sizes_t result = {0}; + libraw_image_sizes_t _tmp0_ = {0}; +#line 192 "/home/jens/Source/shotwell/vapi/libraw.vapi" + g_return_val_if_fail (self != NULL, result); +#line 192 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp0_ = self->sizes; +#line 192 "/home/jens/Source/shotwell/vapi/libraw.vapi" + result = _tmp0_; +#line 192 "/home/jens/Source/shotwell/vapi/libraw.vapi" + return result; +#line 1151 "GRaw.c" +} + + +libraw_image_sizes_t graw_processor_get_sizes (GRawProcessor* self) { + libraw_image_sizes_t result = {0}; + libraw_data_t* _tmp0_ = NULL; + libraw_image_sizes_t _tmp1_ = {0}; +#line 173 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSOR (self), result); +#line 174 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 174 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_get_sizes (_tmp0_); +#line 174 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 174 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 1169 "GRaw.c" +} + + +static libraw_thumbnail_t libraw_get_thumbnail (libraw_data_t* self) { + libraw_thumbnail_t result = {0}; + libraw_thumbnail_t _tmp0_ = {0}; +#line 193 "/home/jens/Source/shotwell/vapi/libraw.vapi" + g_return_val_if_fail (self != NULL, result); +#line 193 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp0_ = self->thumbnail; +#line 193 "/home/jens/Source/shotwell/vapi/libraw.vapi" + result = _tmp0_; +#line 193 "/home/jens/Source/shotwell/vapi/libraw.vapi" + return result; +#line 1184 "GRaw.c" +} + + +libraw_thumbnail_t graw_processor_get_thumbnail (GRawProcessor* self) { + libraw_thumbnail_t result = {0}; + libraw_data_t* _tmp0_ = NULL; + libraw_thumbnail_t _tmp1_ = {0}; +#line 177 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSOR (self), result); +#line 178 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 178 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_get_thumbnail (_tmp0_); +#line 178 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp1_; +#line 178 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 1202 "GRaw.c" +} + + +GRawProcessedImage* graw_processor_make_mem_image (GRawProcessor* self, GError** error) { + GRawProcessedImage* result = NULL; + GRawProcessedImage* _tmp0_ = NULL; + libraw_data_t* _tmp1_ = NULL; + GRawProcessedImage* _tmp2_ = NULL; + GRawProcessedImage* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 181 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSOR (self), NULL); +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = self->priv->proc; +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = graw_processed_image_new (_tmp1_, &_inner_error_); +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = _tmp2_; +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 1229 "GRaw.c" + } else { +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.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 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 1237 "GRaw.c" + } + } +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp3_ = _tmp0_; +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp3_; +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _graw_processed_image_unref0 (_tmp0_); +#line 182 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 1250 "GRaw.c" +} + + +GRawProcessedImage* graw_processor_make_thumb_image (GRawProcessor* self, GError** error) { + GRawProcessedImage* result = NULL; + GRawProcessedImage* _tmp0_ = NULL; + libraw_data_t* _tmp1_ = NULL; + GRawProcessedImage* _tmp2_ = NULL; + GRawProcessedImage* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 185 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSOR (self), NULL); +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = self->priv->proc; +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = graw_processed_image_new_from_thumb (_tmp1_, &_inner_error_); +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = _tmp2_; +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 1277 "GRaw.c" + } else { +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.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 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 1285 "GRaw.c" + } + } +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp3_ = _tmp0_; +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = _tmp3_; +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _graw_processed_image_unref0 (_tmp0_); +#line 186 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 1298 "GRaw.c" +} + + +void graw_processor_open_buffer (GRawProcessor* self, guint8* buffer, int buffer_length1, GError** error) { + libraw_data_t* _tmp0_ = NULL; + guint8* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + enum LibRaw_errors _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 189 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = buffer; +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1__length1 = buffer_length1; +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = libraw_open_buffer (_tmp0_, _tmp1_, _tmp1__length1); +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("open_buffer", _tmp2_, &_inner_error_); +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1328 "GRaw.c" + } else { +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.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 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 190 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1336 "GRaw.c" + } + } +} + + +void graw_processor_open_file (GRawProcessor* self, const gchar* filename, GError** error) { + libraw_data_t* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + enum LibRaw_errors _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 193 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (filename != NULL); +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = filename; +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = libraw_open_file (_tmp0_, _tmp1_); +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("open_file", _tmp2_, &_inner_error_); +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1367 "GRaw.c" + } else { +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.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 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 194 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1375 "GRaw.c" + } + } +} + + +void graw_processor_process (GRawProcessor* self, GError** error) { + libraw_data_t* _tmp0_ = NULL; + enum LibRaw_errors _tmp1_ = 0; + GError * _inner_error_ = NULL; +#line 197 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_dcraw_process (_tmp0_); +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("process", _tmp1_, &_inner_error_); +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1401 "GRaw.c" + } else { +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.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 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 198 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1409 "GRaw.c" + } + } +} + + +void graw_processor_ppm_tiff_writer (GRawProcessor* self, const gchar* filename, GError** error) { + libraw_data_t* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + enum LibRaw_errors _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 201 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (filename != NULL); +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = filename; +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = libraw_dcraw_ppm_tiff_writer (_tmp0_, _tmp1_); +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("ppm_tiff_writer", _tmp2_, &_inner_error_); +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1440 "GRaw.c" + } else { +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.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 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 202 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1448 "GRaw.c" + } + } +} + + +void graw_processor_thumb_writer (GRawProcessor* self, const gchar* filename, GError** error) { + libraw_data_t* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + enum LibRaw_errors _tmp2_ = 0; + GError * _inner_error_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 205 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (filename != NULL); +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = filename; +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = libraw_dcraw_thumb_writer (_tmp0_, _tmp1_); +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("thumb_writer", _tmp2_, &_inner_error_); +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1479 "GRaw.c" + } else { +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.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 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 206 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1487 "GRaw.c" + } + } +} + + +void graw_processor_recycle (GRawProcessor* self) { + libraw_data_t* _tmp0_ = NULL; +#line 209 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 210 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 210 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + libraw_recycle (_tmp0_); +#line 1501 "GRaw.c" +} + + +void graw_processor_unpack (GRawProcessor* self, GError** error) { + libraw_data_t* _tmp0_ = NULL; + enum LibRaw_errors _tmp1_ = 0; + GError * _inner_error_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_unpack (_tmp0_); +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("unpack", _tmp1_, &_inner_error_); +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1525 "GRaw.c" + } else { +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.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 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 214 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1533 "GRaw.c" + } + } +} + + +void graw_processor_unpack_thumb (GRawProcessor* self, GError** error) { + libraw_data_t* _tmp0_ = NULL; + enum LibRaw_errors _tmp1_ = 0; + GError * _inner_error_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = libraw_unpack_thumb (_tmp0_); +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_throw_exception ("unpack_thumb", _tmp1_, &_inner_error_); +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1559 "GRaw.c" + } else { +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.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 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 218 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 1567 "GRaw.c" + } + } +} + + +static void lib_raw_output_params_set_chromatic_aberrations (libraw_output_params_t self, gdouble red_multiplier, gdouble green_multiplier) { + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; +#line 148 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp0_ = red_multiplier; +#line 148 "/home/jens/Source/shotwell/vapi/libraw.vapi" + self.aber[0] = _tmp0_; +#line 148 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp1_ = self.aber[0]; +#line 149 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp2_ = green_multiplier; +#line 149 "/home/jens/Source/shotwell/vapi/libraw.vapi" + self.aber[2] = _tmp2_; +#line 149 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp3_ = self.aber[2]; +#line 1590 "GRaw.c" +} + + +static void lib_raw_output_params_set_gamma_curve (libraw_output_params_t self, gdouble power, gdouble slope) { + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; +#line 153 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp0_ = power; +#line 153 "/home/jens/Source/shotwell/vapi/libraw.vapi" + self.gamm[0] = _tmp0_; +#line 153 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp1_ = self.gamm[0]; +#line 154 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp2_ = slope; +#line 154 "/home/jens/Source/shotwell/vapi/libraw.vapi" + self.gamm[1] = _tmp2_; +#line 154 "/home/jens/Source/shotwell/vapi/libraw.vapi" + _tmp3_ = self.gamm[1]; +#line 1611 "GRaw.c" +} + + +void graw_processor_configure_for_rgb_display (GRawProcessor* self, gboolean half_size) { + libraw_output_params_t* _tmp0_ = NULL; + libraw_output_params_t* _tmp1_ = NULL; + libraw_output_params_t* _tmp2_ = NULL; + libraw_output_params_t* _tmp3_ = NULL; + libraw_output_params_t* _tmp4_ = NULL; + libraw_output_params_t* _tmp5_ = NULL; + libraw_output_params_t* _tmp6_ = NULL; + libraw_output_params_t* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + libraw_output_params_t* _tmp9_ = NULL; + libraw_output_params_t* _tmp10_ = NULL; + libraw_output_params_t* _tmp11_ = NULL; + libraw_output_params_t* _tmp12_ = NULL; + libraw_output_params_t* _tmp13_ = NULL; + libraw_output_params_t* _tmp14_ = NULL; + libraw_output_params_t* _tmp15_ = NULL; + libraw_output_params_t* _tmp16_ = NULL; + libraw_output_params_t* _tmp17_ = NULL; + libraw_output_params_t* _tmp18_ = NULL; + libraw_output_params_t* _tmp19_ = NULL; + libraw_output_params_t* _tmp20_ = NULL; + libraw_output_params_t* _tmp21_ = NULL; + libraw_output_params_t* _tmp22_ = NULL; + libraw_output_params_t* _tmp23_ = NULL; + libraw_output_params_t* _tmp24_ = NULL; + libraw_output_params_t* _tmp25_ = NULL; + libraw_output_params_t* _tmp26_ = NULL; + libraw_output_params_t* _tmp27_ = NULL; + libraw_output_params_t* _tmp28_ = NULL; + libraw_output_params_t* _tmp29_ = NULL; + libraw_output_params_t* _tmp30_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (GRAW_IS_PROCESSOR (self)); +#line 229 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = graw_processor_get_output_params (self); +#line 229 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = _tmp0_; +#line 229 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + lib_raw_output_params_set_chromatic_aberrations (*_tmp1_, 1.0, 1.0); +#line 230 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = graw_processor_get_output_params (self); +#line 230 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp3_ = _tmp2_; +#line 230 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + lib_raw_output_params_set_gamma_curve (*_tmp3_, GRAW_SRGB_POWER, GRAW_SRGB_SLOPE); +#line 234 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp4_ = graw_processor_get_output_params (self); +#line 234 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp5_ = _tmp4_; +#line 234 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp5_).bright = 1.0f; +#line 236 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp6_ = graw_processor_get_output_params (self); +#line 236 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp7_ = _tmp6_; +#line 236 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp8_ = half_size; +#line 236 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp7_).half_size = _tmp8_; +#line 238 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp9_ = graw_processor_get_output_params (self); +#line 238 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp10_ = _tmp9_; +#line 238 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp10_).highlight = (gint) GRAW_HIGHLIGHT_MODE_CLIP; +#line 239 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp11_ = graw_processor_get_output_params (self); +#line 239 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp12_ = _tmp11_; +#line 239 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp12_).use_auto_wb = TRUE; +#line 240 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp13_ = graw_processor_get_output_params (self); +#line 240 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp14_ = _tmp13_; +#line 240 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp14_).use_camera_wb = TRUE; +#line 241 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp15_ = graw_processor_get_output_params (self); +#line 241 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp16_ = _tmp15_; +#line 241 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp16_).use_camera_matrix = TRUE; +#line 242 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp17_ = graw_processor_get_output_params (self); +#line 242 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp18_ = _tmp17_; +#line 242 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp18_).output_color = (gint) GRAW_COLORSPACE_SRGB; +#line 247 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp19_ = graw_processor_get_output_params (self); +#line 247 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp20_ = _tmp19_; +#line 247 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp20_).output_bps = 8; +#line 249 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp21_ = graw_processor_get_output_params (self); +#line 249 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp22_ = _tmp21_; +#line 249 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp22_).user_flip = (gint) GRAW_FLIP_FROM_SOURCE; +#line 250 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp23_ = graw_processor_get_output_params (self); +#line 250 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp24_ = _tmp23_; +#line 250 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp24_).user_qual = (gint) GRAW_INTERPOLATION_QUALITY_PPG; +#line 254 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp25_ = graw_processor_get_output_params (self); +#line 254 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp26_ = _tmp25_; +#line 254 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp26_).no_auto_bright = TRUE; +#line 255 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp27_ = graw_processor_get_output_params (self); +#line 255 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp28_ = _tmp27_; +#line 255 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp28_).auto_bright_thr = 0.01f; +#line 256 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp29_ = graw_processor_get_output_params (self); +#line 256 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp30_ = _tmp29_; +#line 256 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + (*_tmp30_).use_fuji_rotate = (gint) GRAW_FUJI_ROTATE_USE; +#line 1741 "GRaw.c" +} + + +libraw_output_params_t* graw_processor_get_output_params (GRawProcessor* self) { + libraw_output_params_t* result; + libraw_data_t* _tmp0_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (GRAW_IS_PROCESSOR (self), NULL); +#line 151 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = self->priv->proc; +#line 151 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + result = &_tmp0_->params; +#line 151 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return result; +#line 1756 "GRaw.c" +} + + +static void graw_value_processor_init (GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = NULL; +#line 1763 "GRaw.c" +} + + +static void graw_value_processor_free_value (GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processor_unref (value->data[0].v_pointer); +#line 1772 "GRaw.c" + } +} + + +static void graw_value_processor_copy_value (const GValue* src_value, GValue* dest_value) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (src_value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + dest_value->data[0].v_pointer = graw_processor_ref (src_value->data[0].v_pointer); +#line 1782 "GRaw.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + dest_value->data[0].v_pointer = NULL; +#line 1786 "GRaw.c" + } +} + + +static gpointer graw_value_processor_peek_pointer (const GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return value->data[0].v_pointer; +#line 1794 "GRaw.c" +} + + +static gchar* graw_value_processor_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (collect_values[0].v_pointer) { +#line 1801 "GRaw.c" + GRawProcessor* object; + object = collect_values[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (object->parent_instance.g_class == NULL) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1808 "GRaw.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1812 "GRaw.c" + } +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = graw_processor_ref (object); +#line 1816 "GRaw.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = NULL; +#line 1820 "GRaw.c" + } +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 1824 "GRaw.c" +} + + +static gchar* graw_value_processor_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + GRawProcessor** object_p; + object_p = collect_values[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (!object_p) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1835 "GRaw.c" + } +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (!value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + *object_p = NULL; +#line 1841 "GRaw.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + *object_p = value->data[0].v_pointer; +#line 1845 "GRaw.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + *object_p = graw_processor_ref (value->data[0].v_pointer); +#line 1849 "GRaw.c" + } +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return NULL; +#line 1853 "GRaw.c" +} + + +GParamSpec* graw_param_spec_processor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + GRawParamSpecProcessor* spec; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (g_type_is_a (object_type, GRAW_TYPE_PROCESSOR), NULL); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return G_PARAM_SPEC (spec); +#line 1867 "GRaw.c" +} + + +gpointer graw_value_get_processor (const GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GRAW_TYPE_PROCESSOR), NULL); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return value->data[0].v_pointer; +#line 1876 "GRaw.c" +} + + +void graw_value_set_processor (GValue* value, gpointer v_object) { + GRawProcessor* old; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GRAW_TYPE_PROCESSOR)); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + old = value->data[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (v_object) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, GRAW_TYPE_PROCESSOR)); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = v_object; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processor_ref (value->data[0].v_pointer); +#line 1896 "GRaw.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = NULL; +#line 1900 "GRaw.c" + } +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (old) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processor_unref (old); +#line 1906 "GRaw.c" + } +} + + +void graw_value_take_processor (GValue* value, gpointer v_object) { + GRawProcessor* old; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, GRAW_TYPE_PROCESSOR)); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + old = value->data[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (v_object) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, GRAW_TYPE_PROCESSOR)); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = v_object; +#line 1925 "GRaw.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + value->data[0].v_pointer = NULL; +#line 1929 "GRaw.c" + } +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (old) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processor_unref (old); +#line 1935 "GRaw.c" + } +} + + +static void graw_processor_class_init (GRawProcessorClass * klass) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + graw_processor_parent_class = g_type_class_peek_parent (klass); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + ((GRawProcessorClass *) klass)->finalize = graw_processor_finalize; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_type_class_add_private (klass, sizeof (GRawProcessorPrivate)); +#line 1947 "GRaw.c" +} + + +static void graw_processor_instance_init (GRawProcessor * self) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->priv = GRAW_PROCESSOR_GET_PRIVATE (self); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self->ref_count = 1; +#line 1956 "GRaw.c" +} + + +static void graw_processor_finalize (GRawProcessor* obj) { + GRawProcessor * self; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, GRAW_TYPE_PROCESSOR, GRawProcessor); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_signal_handlers_destroy (self); +#line 155 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _libraw_close0 (self->priv->proc); +#line 1968 "GRaw.c" +} + + +GType graw_processor_get_type (void) { + static volatile gsize graw_processor_type_id__volatile = 0; + if (g_once_init_enter (&graw_processor_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { graw_value_processor_init, graw_value_processor_free_value, graw_value_processor_copy_value, graw_value_processor_peek_pointer, "p", graw_value_processor_collect_value, "p", graw_value_processor_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (GRawProcessorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) graw_processor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GRawProcessor), 0, (GInstanceInitFunc) graw_processor_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType graw_processor_type_id; + graw_processor_type_id = g_type_register_fundamental (g_type_fundamental_next (), "GRawProcessor", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&graw_processor_type_id__volatile, graw_processor_type_id); + } + return graw_processor_type_id__volatile; +} + + +gpointer graw_processor_ref (gpointer instance) { + GRawProcessor* self; + self = instance; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_atomic_int_inc (&self->ref_count); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return instance; +#line 1993 "GRaw.c" +} + + +void graw_processor_unref (gpointer instance) { + GRawProcessor* self; + self = instance; +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + GRAW_PROCESSOR_GET_CLASS (self)->finalize (self); +#line 148 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2006 "GRaw.c" + } +} + + +void graw_throw_exception (const gchar* caller, enum LibRaw_errors _result_, GError** error) { + enum LibRaw_errors _tmp0_ = 0; + gchar* msg = NULL; + const gchar* _tmp7_ = NULL; + enum LibRaw_errors _tmp8_ = 0; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + enum LibRaw_errors _tmp11_ = 0; + GError * _inner_error_ = NULL; +#line 260 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_return_if_fail (caller != NULL); +#line 261 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp0_ = _result_; +#line 261 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_tmp0_ == LIBRAW_SUCCESS) { +#line 262 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2028 "GRaw.c" + } else { + enum LibRaw_errors _tmp1_ = 0; +#line 263 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp1_ = _result_; +#line 263 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_tmp1_ > 0) { +#line 2035 "GRaw.c" + const gchar* _tmp2_ = NULL; + enum LibRaw_errors _tmp3_ = 0; + enum LibRaw_errors _tmp4_ = 0; + const gchar* _tmp5_ = NULL; + GError* _tmp6_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp2_ = caller; +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp3_ = _result_; +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp4_ = _result_; +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp5_ = g_strerror ((gint) _tmp4_); +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp6_ = g_error_new (GRAW_EXCEPTION, GRAW_EXCEPTION_SYSTEM_ERROR, "%s: System error %d: %s", _tmp2_, (gint) _tmp3_, _tmp5_); +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp6_; +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2059 "GRaw.c" + } else { +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.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 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 264 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2067 "GRaw.c" + } + } + } +#line 266 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp7_ = caller; +#line 266 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp8_ = _result_; +#line 266 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp9_ = libraw_strerror (_tmp8_); +#line 266 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp10_ = g_strdup_printf ("%s: %s", _tmp7_, _tmp9_); +#line 266 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + msg = _tmp10_; +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp11_ = _result_; +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + switch (_tmp11_) { +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_UNSPECIFIED_ERROR: +#line 2087 "GRaw.c" + { + const gchar* _tmp12_ = NULL; + GError* _tmp13_ = NULL; +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp12_ = msg; +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp13_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_UNSPECIFIED, _tmp12_); +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp13_; +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2105 "GRaw.c" + } else { +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.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 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 270 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2115 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_FILE_UNSUPPORTED: +#line 2120 "GRaw.c" + { + const gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp14_ = msg; +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp15_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_UNSUPPORTED_FILE, _tmp14_); +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp15_; +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2138 "GRaw.c" + } else { +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.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 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 273 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2148 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_REQUEST_FOR_NONEXISTENT_IMAGE: +#line 2153 "GRaw.c" + { + const gchar* _tmp16_ = NULL; + GError* _tmp17_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp16_ = msg; +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp17_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_NONEXISTANT_IMAGE, _tmp16_); +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp17_; +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2171 "GRaw.c" + } else { +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.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 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 276 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2181 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_OUT_OF_ORDER_CALL: +#line 2186 "GRaw.c" + { + const gchar* _tmp18_ = NULL; + GError* _tmp19_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp18_ = msg; +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp19_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_OUT_OF_ORDER_CALL, _tmp18_); +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp19_; +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2204 "GRaw.c" + } else { +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.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 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 279 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2214 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_NO_THUMBNAIL: +#line 2219 "GRaw.c" + { + const gchar* _tmp20_ = NULL; + GError* _tmp21_ = NULL; +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp20_ = msg; +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp21_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_NO_THUMBNAIL, _tmp20_); +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp21_; +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2237 "GRaw.c" + } else { +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.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 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 282 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2247 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_UNSUPPORTED_THUMBNAIL: +#line 2252 "GRaw.c" + { + const gchar* _tmp22_ = NULL; + GError* _tmp23_ = NULL; +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp22_ = msg; +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp23_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_UNSUPPORTED_THUMBNAIL, _tmp22_); +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp23_; +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2270 "GRaw.c" + } else { +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.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 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 285 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2280 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_UNSUFFICIENT_MEMORY: +#line 2285 "GRaw.c" + { + const gchar* _tmp24_ = NULL; + GError* _tmp25_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp24_ = msg; +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp25_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_OUT_OF_MEMORY, _tmp24_); +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp25_; +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2303 "GRaw.c" + } else { +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.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 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 288 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2313 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_DATA_ERROR: +#line 2318 "GRaw.c" + { + const gchar* _tmp26_ = NULL; + GError* _tmp27_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp26_ = msg; +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp27_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_DATA_ERROR, _tmp26_); +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp27_; +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2336 "GRaw.c" + } else { +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.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 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 291 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2346 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_IO_ERROR: +#line 2351 "GRaw.c" + { + const gchar* _tmp28_ = NULL; + GError* _tmp29_ = NULL; +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp28_ = msg; +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp29_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_IO_ERROR, _tmp28_); +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp29_; +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2369 "GRaw.c" + } else { +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.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 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 294 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2379 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_CANCELLED_BY_CALLBACK: +#line 2384 "GRaw.c" + { + const gchar* _tmp30_ = NULL; + GError* _tmp31_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp30_ = msg; +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp31_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_CANCELLED_BY_CALLBACK, _tmp30_); +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp31_; +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2402 "GRaw.c" + } else { +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.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 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 297 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2412 "GRaw.c" + } + } +#line 268 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + case LIBRAW_BAD_CROP: +#line 2417 "GRaw.c" + { + const gchar* _tmp32_ = NULL; + GError* _tmp33_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp32_ = msg; +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _tmp33_ = g_error_new_literal (GRAW_EXCEPTION, GRAW_EXCEPTION_BAD_CROP, _tmp32_); +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _inner_error_ = _tmp33_; +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_propagate_error (error, _inner_error_); +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2435 "GRaw.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.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 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + g_clear_error (&_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2445 "GRaw.c" + } + } + default: + { +#line 303 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 303 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + return; +#line 2454 "GRaw.c" + } + } +#line 260 "/home/jens/Source/shotwell/src/photos/GRaw.vala" + _g_free0 (msg); +#line 2459 "GRaw.c" +} + + + diff --git a/src/photos/GRaw.vala b/src/photos/GRaw.vala index 53c328c..ec1df8d 100644 --- a/src/photos/GRaw.vala +++ b/src/photos/GRaw.vala @@ -125,7 +125,8 @@ public class ProcessedImage { // to be decoded before being useful. This will throw an error if the format is not // supported try { - pixbuf = new Gdk.Pixbuf.from_stream(new MemoryInputStream.from_data(image.data, null), + var bytes = new Bytes.static (image.data); + pixbuf = new Gdk.Pixbuf.from_stream(new MemoryInputStream.from_bytes(bytes), null); } catch (Error err) { throw new Exception.UNSUPPORTED_THUMBNAIL(err.message); diff --git a/src/photos/GdkSupport.c b/src/photos/GdkSupport.c new file mode 100644 index 0000000..f016592 --- /dev/null +++ b/src/photos/GdkSupport.c @@ -0,0 +1,1402 @@ +/* GdkSupport.c generated by valac 0.32.1, the Vala compiler + * generated from GdkSupport.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; +typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; +typedef struct _PhotoFileReaderPrivate PhotoFileReaderPrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_GDK_READER (gdk_reader_get_type ()) +#define GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_READER, GdkReader)) +#define GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_READER, GdkReaderClass)) +#define IS_GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_READER)) +#define IS_GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_READER)) +#define GDK_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_READER, GdkReaderClass)) + +typedef struct _GdkReader GdkReader; +typedef struct _GdkReaderClass GdkReaderClass; +typedef struct _GdkReaderPrivate GdkReaderPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; +typedef struct _PhotoFileSnifferPrivate PhotoFileSnifferPrivate; + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_GDK_SNIFFER (gdk_sniffer_get_type ()) +#define GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_SNIFFER, GdkSniffer)) +#define GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_SNIFFER, GdkSnifferClass)) +#define IS_GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_SNIFFER)) +#define IS_GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_SNIFFER)) +#define GDK_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_SNIFFER, GdkSnifferClass)) + +typedef struct _GdkSniffer GdkSniffer; +typedef struct _GdkSnifferClass GdkSnifferClass; +typedef struct _GdkSnifferPrivate GdkSnifferPrivate; +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +#define _g_checksum_free0(var) ((var == NULL) ? NULL : (var = (g_checksum_free (var), NULL))) +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +struct _PhotoFileAdapter { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileAdapterPrivate * priv; +}; + +struct _PhotoFileAdapterClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileAdapter *self); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _PhotoFileReader { + PhotoFileAdapter parent_instance; + PhotoFileReaderPrivate * priv; +}; + +struct _PhotoFileReaderClass { + PhotoFileAdapterClass parent_class; + PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +}; + +struct _GdkReader { + PhotoFileReader parent_instance; + GdkReaderPrivate * priv; +}; + +struct _GdkReaderClass { + PhotoFileReaderClass parent_class; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileSniffer { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileSnifferPrivate * priv; + GFile* file; + PhotoFileSnifferOptions options; + gboolean calc_md5; +}; + +struct _PhotoFileSnifferClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileSniffer *self); + DetectedPhotoInformation* (*sniff) (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +}; + +struct _GdkSniffer { + PhotoFileSniffer parent_instance; + GdkSnifferPrivate * priv; +}; + +struct _GdkSnifferClass { + PhotoFileSnifferClass parent_class; +}; + +struct _GdkSnifferPrivate { + DetectedPhotoInformation* detected; + gboolean size_ready; + gboolean area_prepared; +}; + +struct _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + + +static gpointer gdk_reader_parent_class = NULL; +static gpointer gdk_sniffer_parent_class = NULL; + +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +GType gdk_reader_get_type (void) G_GNUC_CONST; +enum { + GDK_READER_DUMMY_PROPERTY +}; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GdkReader* gdk_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +PhotoFileReader* photo_file_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static PhotoMetadata* gdk_reader_real_read_metadata (PhotoFileReader* base, GError** error); +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +void media_metadata_read_from_file (MediaMetadata* self, GFile* file, GError** error); +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); +static GdkPixbuf* gdk_reader_real_unscaled_read (PhotoFileReader* base, GError** error); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +static GdkPixbuf* gdk_reader_real_scaled_read (PhotoFileReader* base, Dimensions* full, Dimensions* scaled, GError** error); +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +GType gdk_sniffer_get_type (void) G_GNUC_CONST; +#define GDK_SNIFFER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_GDK_SNIFFER, GdkSnifferPrivate)) +enum { + GDK_SNIFFER_DUMMY_PROPERTY +}; +GdkSniffer* gdk_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +PhotoFileSniffer* photo_file_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +static DetectedPhotoInformation* gdk_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error); +DetectedPhotoInformation* detected_photo_information_new (void); +DetectedPhotoInformation* detected_photo_information_construct (GType object_type); +static void gdk_sniffer_on_size_prepared (GdkSniffer* self, GdkPixbufLoader* loader, gint width, gint height); +static void _gdk_sniffer_on_size_prepared_gdk_pixbuf_loader_size_prepared (GdkPixbufLoader* _sender, gint width, gint height, gpointer self); +static void gdk_sniffer_on_area_prepared (GdkSniffer* self, GdkPixbufLoader* pixbuf_loader); +static void _gdk_sniffer_on_area_prepared_gdk_pixbuf_loader_area_prepared (GdkPixbufLoader* _sender, gpointer self); +guint8* photo_metadata_flatten_exif (PhotoMetadata* self, gboolean include_preview, int* result_length1); +gchar* md5_binary (guint8* buffer, gsize length); +guint8* photo_metadata_flatten_exif_preview (PhotoMetadata* self, int* result_length1); +static guint8* _vala_array_dup7 (guint8* self, int length); +void dimensions_init (Dimensions *self, gint width, gint height); +PhotoFileFormat photo_file_format_from_pixbuf_name (const gchar* name); +static void gdk_sniffer_finalize (PhotoFileSniffer* obj); + + +GdkReader* gdk_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { + GdkReader* self = NULL; + const gchar* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; +#line 8 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 9 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = filepath; +#line 9 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp1_ = file_format; +#line 9 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self = (GdkReader*) photo_file_reader_construct (object_type, _tmp0_, _tmp1_); +#line 8 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return self; +#line 310 "GdkSupport.c" +} + + +static PhotoMetadata* gdk_reader_real_read_metadata (PhotoFileReader* base, GError** error) { + GdkReader * self; + PhotoMetadata* result = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GDK_READER, GdkReader); +#line 13 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = photo_metadata_new (); +#line 13 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + metadata = _tmp0_; +#line 14 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp1_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 14 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp2_ = _tmp1_; +#line 14 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + media_metadata_read_from_file (G_TYPE_CHECK_INSTANCE_CAST (metadata, TYPE_MEDIA_METADATA, MediaMetadata), _tmp2_, &_inner_error_); +#line 14 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (_tmp2_); +#line 14 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 14 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 14 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _media_metadata_unref0 (metadata); +#line 14 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 344 "GdkSupport.c" + } +#line 16 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + result = metadata; +#line 16 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return result; +#line 350 "GdkSupport.c" +} + + +static GdkPixbuf* gdk_reader_real_unscaled_read (PhotoFileReader* base, GError** error) { + GdkReader * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GDK_READER, GdkReader); +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp2_ = _tmp1_; +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp3_ = gdk_pixbuf_new_from_file (_tmp2_, &_inner_error_); +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp4_ = _tmp3_; +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_free0 (_tmp2_); +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = _tmp4_; +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 384 "GdkSupport.c" + } +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp5_ = _tmp0_; +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + result = _tmp5_; +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (_tmp0_); +#line 20 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return result; +#line 396 "GdkSupport.c" +} + + +static GdkPixbuf* gdk_reader_real_scaled_read (PhotoFileReader* base, Dimensions* full, Dimensions* scaled, GError** error) { + GdkReader * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkPixbuf* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + GdkPixbuf* _tmp9_ = NULL; + GError * _inner_error_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GDK_READER, GdkReader); +#line 23 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_return_val_if_fail (full != NULL, NULL); +#line 23 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_return_val_if_fail (scaled != NULL, NULL); +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp2_ = _tmp1_; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp3_ = *scaled; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp4_ = _tmp3_.width; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp5_ = *scaled; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp6_ = _tmp5_.height; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp7_ = gdk_pixbuf_new_from_file_at_scale (_tmp2_, _tmp4_, _tmp6_, FALSE, &_inner_error_); +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp8_ = _tmp7_; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_free0 (_tmp2_); +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = _tmp8_; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 446 "GdkSupport.c" + } +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp9_ = _tmp0_; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + result = _tmp9_; +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (_tmp0_); +#line 24 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return result; +#line 458 "GdkSupport.c" +} + + +static void gdk_reader_class_init (GdkReaderClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + gdk_reader_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + ((PhotoFileReaderClass *) klass)->read_metadata = gdk_reader_real_read_metadata; +#line 7 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + ((PhotoFileReaderClass *) klass)->unscaled_read = gdk_reader_real_unscaled_read; +#line 7 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + ((PhotoFileReaderClass *) klass)->scaled_read = gdk_reader_real_scaled_read; +#line 471 "GdkSupport.c" +} + + +static void gdk_reader_instance_init (GdkReader * self) { +} + + +GType gdk_reader_get_type (void) { + static volatile gsize gdk_reader_type_id__volatile = 0; + if (g_once_init_enter (&gdk_reader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (GdkReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gdk_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GdkReader), 0, (GInstanceInitFunc) gdk_reader_instance_init, NULL }; + GType gdk_reader_type_id; + gdk_reader_type_id = g_type_register_static (TYPE_PHOTO_FILE_READER, "GdkReader", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&gdk_reader_type_id__volatile, gdk_reader_type_id); + } + return gdk_reader_type_id__volatile; +} + + +GdkSniffer* gdk_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options) { + GdkSniffer* self = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; +#line 33 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 34 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = file; +#line 34 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp1_ = options; +#line 34 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self = (GdkSniffer*) photo_file_sniffer_construct (object_type, _tmp0_, _tmp1_); +#line 33 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return self; +#line 505 "GdkSupport.c" +} + + +static void _gdk_sniffer_on_size_prepared_gdk_pixbuf_loader_size_prepared (GdkPixbufLoader* _sender, gint width, gint height, gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + gdk_sniffer_on_size_prepared ((GdkSniffer*) self, _sender, width, height); +#line 512 "GdkSupport.c" +} + + +static void _gdk_sniffer_on_area_prepared_gdk_pixbuf_loader_area_prepared (GdkPixbufLoader* _sender, gpointer self) { +#line 42 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + gdk_sniffer_on_area_prepared ((GdkSniffer*) self, _sender); +#line 519 "GdkSupport.c" +} + + +static guint8* _vala_array_dup7 (guint8* self, int length) { +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return g_memdup (self, length * sizeof (guint8)); +#line 526 "GdkSupport.c" +} + + +static gpointer _detected_photo_information_ref0 (gpointer self) { +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return self ? detected_photo_information_ref (self) : NULL; +#line 533 "GdkSupport.c" +} + + +static DetectedPhotoInformation* gdk_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error) { + GdkSniffer * self; + gboolean _vala_is_corrupted = FALSE; + DetectedPhotoInformation* result = NULL; + DetectedPhotoInformation* _tmp0_ = NULL; + GdkPixbufLoader* pixbuf_loader = NULL; + GdkPixbufLoader* _tmp1_ = NULL; + GdkPixbufLoader* _tmp2_ = NULL; + GdkPixbufLoader* _tmp3_ = NULL; + GChecksum* md5_checksum = NULL; + gboolean _tmp4_ = FALSE; + DetectedPhotoInformation* _tmp6_ = NULL; + PhotoMetadata* _tmp7_ = NULL; + gboolean _tmp12_ = FALSE; + gboolean _tmp13_ = FALSE; + guint8* _tmp38_ = NULL; + gint _tmp38__length1 = 0; + gint __tmp38__size_ = 0; + gboolean _tmp39_ = FALSE; + guint8* buffer = NULL; + guint8* _tmp42_ = NULL; + gint _tmp42__length1 = 0; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + gsize count = 0UL; + GFileInputStream* fins = NULL; + GFile* _tmp43_ = NULL; + GFileInputStream* _tmp44_ = NULL; + GFileInputStream* _tmp68_ = NULL; + gboolean _tmp70_ = FALSE; + gboolean _tmp75_ = FALSE; + gboolean _tmp76_ = FALSE; + DetectedPhotoInformation* _tmp78_ = NULL; + DetectedPhotoInformation* _tmp79_ = NULL; + GError * _inner_error_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_GDK_SNIFFER, GdkSniffer); +#line 38 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = detected_photo_information_new (); +#line 38 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _detected_photo_information_unref0 (self->priv->detected); +#line 38 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self->priv->detected = _tmp0_; +#line 40 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp1_ = gdk_pixbuf_loader_new (); +#line 40 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + pixbuf_loader = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp2_ = pixbuf_loader; +#line 41 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_signal_connect (_tmp2_, "size-prepared", (GCallback) _gdk_sniffer_on_size_prepared_gdk_pixbuf_loader_size_prepared, self); +#line 42 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp3_ = pixbuf_loader; +#line 42 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_signal_connect (_tmp3_, "area-prepared", (GCallback) _gdk_sniffer_on_area_prepared_gdk_pixbuf_loader_area_prepared, self); +#line 45 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + md5_checksum = NULL; +#line 46 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->calc_md5; +#line 46 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp4_) { +#line 598 "GdkSupport.c" + GChecksum* _tmp5_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp5_ = g_checksum_new (G_CHECKSUM_MD5); +#line 47 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_checksum_free0 (md5_checksum); +#line 47 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + md5_checksum = _tmp5_; +#line 606 "GdkSupport.c" + } +#line 49 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp6_ = self->priv->detected; +#line 49 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp7_ = photo_metadata_new (); +#line 49 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _media_metadata_unref0 (_tmp6_->metadata); +#line 49 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp6_->metadata = _tmp7_; +#line 616 "GdkSupport.c" + { + DetectedPhotoInformation* _tmp8_ = NULL; + PhotoMetadata* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp8_ = self->priv->detected; +#line 51 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp9_ = _tmp8_->metadata; +#line 51 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 51 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + media_metadata_read_from_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_MEDIA_METADATA, MediaMetadata), _tmp10_, &_inner_error_); +#line 51 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 631 "GdkSupport.c" + goto __catch27_g_error; + } + } + goto __finally27; + __catch27_g_error: + { + GError* err = NULL; + DetectedPhotoInformation* _tmp11_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + err = _inner_error_; +#line 50 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _inner_error_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp11_ = self->priv->detected; +#line 54 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _media_metadata_unref0 (_tmp11_->metadata); +#line 54 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp11_->metadata = NULL; +#line 50 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_error_free0 (err); +#line 652 "GdkSupport.c" + } + __finally27: +#line 50 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 50 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 50 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_checksum_free0 (md5_checksum); +#line 50 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf_loader); +#line 50 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 665 "GdkSupport.c" + } +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp13_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->calc_md5; +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp13_) { +#line 671 "GdkSupport.c" + DetectedPhotoInformation* _tmp14_ = NULL; + PhotoMetadata* _tmp15_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp14_ = self->priv->detected; +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp15_ = _tmp14_->metadata; +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp12_ = _tmp15_ != NULL; +#line 680 "GdkSupport.c" + } else { +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp12_ = FALSE; +#line 684 "GdkSupport.c" + } +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp12_) { +#line 688 "GdkSupport.c" + guint8* flattened_sans_thumbnail = NULL; + DetectedPhotoInformation* _tmp16_ = NULL; + PhotoMetadata* _tmp17_ = NULL; + gint _tmp18_ = 0; + guint8* _tmp19_ = NULL; + gint flattened_sans_thumbnail_length1 = 0; + gint _flattened_sans_thumbnail_size_ = 0; + gboolean _tmp20_ = FALSE; + guint8* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + guint8* flattened_thumbnail = NULL; + DetectedPhotoInformation* _tmp27_ = NULL; + PhotoMetadata* _tmp28_ = NULL; + gint _tmp29_ = 0; + guint8* _tmp30_ = NULL; + gint flattened_thumbnail_length1 = 0; + gint _flattened_thumbnail_size_ = 0; + gboolean _tmp31_ = FALSE; + guint8* _tmp32_ = NULL; + gint _tmp32__length1 = 0; +#line 58 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp16_ = self->priv->detected; +#line 58 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp17_ = _tmp16_->metadata; +#line 58 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp19_ = photo_metadata_flatten_exif (_tmp17_, FALSE, &_tmp18_); +#line 58 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + flattened_sans_thumbnail = _tmp19_; +#line 58 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + flattened_sans_thumbnail_length1 = _tmp18_; +#line 58 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _flattened_sans_thumbnail_size_ = flattened_sans_thumbnail_length1; +#line 59 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp21_ = flattened_sans_thumbnail; +#line 59 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp21__length1 = flattened_sans_thumbnail_length1; +#line 59 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp21_ != NULL) { +#line 727 "GdkSupport.c" + guint8* _tmp22_ = NULL; + gint _tmp22__length1 = 0; +#line 59 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp22_ = flattened_sans_thumbnail; +#line 59 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp22__length1 = flattened_sans_thumbnail_length1; +#line 59 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp20_ = _tmp22__length1 > 0; +#line 736 "GdkSupport.c" + } else { +#line 59 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp20_ = FALSE; +#line 740 "GdkSupport.c" + } +#line 59 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp20_) { +#line 744 "GdkSupport.c" + DetectedPhotoInformation* _tmp23_ = NULL; + guint8* _tmp24_ = NULL; + gint _tmp24__length1 = 0; + guint8* _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gchar* _tmp26_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp23_ = self->priv->detected; +#line 60 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp24_ = flattened_sans_thumbnail; +#line 60 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp24__length1 = flattened_sans_thumbnail_length1; +#line 60 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp25_ = flattened_sans_thumbnail; +#line 60 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp25__length1 = flattened_sans_thumbnail_length1; +#line 60 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp26_ = md5_binary (_tmp24_, (gsize) _tmp25__length1); +#line 60 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_free0 (_tmp23_->exif_md5); +#line 60 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp23_->exif_md5 = _tmp26_; +#line 767 "GdkSupport.c" + } +#line 62 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp27_ = self->priv->detected; +#line 62 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp28_ = _tmp27_->metadata; +#line 62 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp30_ = photo_metadata_flatten_exif_preview (_tmp28_, &_tmp29_); +#line 62 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + flattened_thumbnail = _tmp30_; +#line 62 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + flattened_thumbnail_length1 = _tmp29_; +#line 62 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _flattened_thumbnail_size_ = flattened_thumbnail_length1; +#line 63 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp32_ = flattened_thumbnail; +#line 63 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp32__length1 = flattened_thumbnail_length1; +#line 63 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp32_ != NULL) { +#line 787 "GdkSupport.c" + guint8* _tmp33_ = NULL; + gint _tmp33__length1 = 0; +#line 63 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp33_ = flattened_thumbnail; +#line 63 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp33__length1 = flattened_thumbnail_length1; +#line 63 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp31_ = _tmp33__length1 > 0; +#line 796 "GdkSupport.c" + } else { +#line 63 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp31_ = FALSE; +#line 800 "GdkSupport.c" + } +#line 63 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp31_) { +#line 804 "GdkSupport.c" + DetectedPhotoInformation* _tmp34_ = NULL; + guint8* _tmp35_ = NULL; + gint _tmp35__length1 = 0; + guint8* _tmp36_ = NULL; + gint _tmp36__length1 = 0; + gchar* _tmp37_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp34_ = self->priv->detected; +#line 64 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp35_ = flattened_thumbnail; +#line 64 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp35__length1 = flattened_thumbnail_length1; +#line 64 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp36_ = flattened_thumbnail; +#line 64 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp36__length1 = flattened_thumbnail_length1; +#line 64 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp37_ = md5_binary (_tmp35_, (gsize) _tmp36__length1); +#line 64 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_free0 (_tmp34_->thumbnail_md5); +#line 64 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp34_->thumbnail_md5 = _tmp37_; +#line 827 "GdkSupport.c" + } +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + flattened_thumbnail = (g_free (flattened_thumbnail), NULL); +#line 57 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + flattened_sans_thumbnail = (g_free (flattened_sans_thumbnail), NULL); +#line 833 "GdkSupport.c" + } +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp39_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->calc_md5; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp39_) { +#line 839 "GdkSupport.c" + guint8* _tmp40_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp40_ = g_new0 (guint8, 64 * 1024); +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = (g_free (_tmp38_), NULL); +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = _tmp40_; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38__length1 = 64 * 1024; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + __tmp38__size_ = _tmp38__length1; +#line 851 "GdkSupport.c" + } else { + guint8* _tmp41_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp41_ = g_new0 (guint8, 8 * 1024); +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = (g_free (_tmp38_), NULL); +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = _tmp41_; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38__length1 = 8 * 1024; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + __tmp38__size_ = _tmp38__length1; +#line 864 "GdkSupport.c" + } +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp42_ = (_tmp38_ != NULL) ? _vala_array_dup7 (_tmp38_, _tmp38__length1) : ((gpointer) _tmp38_); +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp42__length1 = _tmp38__length1; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + buffer = _tmp42_; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + buffer_length1 = _tmp42__length1; +#line 69 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _buffer_size_ = buffer_length1; +#line 70 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + count = (gsize) 0; +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp43_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp44_ = g_file_read (_tmp43_, NULL, &_inner_error_); +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + fins = _tmp44_; +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + buffer = (g_free (buffer), NULL); +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = (g_free (_tmp38_), NULL); +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_checksum_free0 (md5_checksum); +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf_loader); +#line 73 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 898 "GdkSupport.c" + } + { + gboolean _tmp45_ = FALSE; +#line 74 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp45_ = TRUE; +#line 74 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + while (TRUE) { +#line 906 "GdkSupport.c" + gsize bytes_read = 0UL; + GFileInputStream* _tmp46_ = NULL; + guint8* _tmp47_ = NULL; + gint _tmp47__length1 = 0; + gssize _tmp48_ = 0L; + gsize _tmp49_ = 0UL; + gsize _tmp50_ = 0UL; + gsize _tmp51_ = 0UL; + gboolean _tmp52_ = FALSE; + gboolean _tmp56_ = FALSE; + gboolean _tmp57_ = FALSE; + gboolean _tmp62_ = FALSE; + gboolean _tmp63_ = FALSE; + gboolean _tmp64_ = FALSE; +#line 74 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (!_tmp45_) { +#line 923 "GdkSupport.c" + } +#line 74 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp45_ = FALSE; +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp46_ = fins; +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp47_ = buffer; +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp47__length1 = buffer_length1; +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp48_ = g_input_stream_read (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, G_TYPE_INPUT_STREAM, GInputStream), _tmp47_, (gsize) _tmp47__length1, NULL, &_inner_error_); +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + bytes_read = (gsize) _tmp48_; +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (fins); +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + buffer = (g_free (buffer), NULL); +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = (g_free (_tmp38_), NULL); +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_checksum_free0 (md5_checksum); +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf_loader); +#line 75 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 953 "GdkSupport.c" + } +#line 76 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp49_ = bytes_read; +#line 76 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp49_ <= ((gsize) 0)) { +#line 77 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + break; +#line 961 "GdkSupport.c" + } +#line 79 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp50_ = count; +#line 79 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp51_ = bytes_read; +#line 79 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + count = _tmp50_ + _tmp51_; +#line 81 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp52_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->calc_md5; +#line 81 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp52_) { +#line 973 "GdkSupport.c" + GChecksum* _tmp53_ = NULL; + guint8* _tmp54_ = NULL; + gint _tmp54__length1 = 0; + gsize _tmp55_ = 0UL; +#line 82 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp53_ = md5_checksum; +#line 82 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp54_ = buffer; +#line 82 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp54__length1 = buffer_length1; +#line 82 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp55_ = bytes_read; +#line 82 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_checksum_update (_tmp53_, _tmp54_, _tmp55_); +#line 988 "GdkSupport.c" + } +#line 85 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp57_ = self->priv->size_ready; +#line 85 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (!_tmp57_) { +#line 85 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp56_ = TRUE; +#line 996 "GdkSupport.c" + } else { + gboolean _tmp58_ = FALSE; +#line 85 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp58_ = self->priv->area_prepared; +#line 85 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp56_ = !_tmp58_; +#line 1003 "GdkSupport.c" + } +#line 85 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp56_) { +#line 1007 "GdkSupport.c" + GdkPixbufLoader* _tmp59_ = NULL; + guint8* _tmp60_ = NULL; + gint _tmp60__length1 = 0; + gsize _tmp61_ = 0UL; +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp59_ = pixbuf_loader; +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp60_ = buffer; +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp60__length1 = buffer_length1; +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp61_ = bytes_read; +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + gdk_pixbuf_loader_write (_tmp59_, _tmp60_ + 0, (gsize) (((gint) _tmp61_) - 0), &_inner_error_); +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (fins); +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + buffer = (g_free (buffer), NULL); +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = (g_free (_tmp38_), NULL); +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_checksum_free0 (md5_checksum); +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf_loader); +#line 86 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 1038 "GdkSupport.c" + } + } +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp64_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->calc_md5; +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (!_tmp64_) { +#line 1045 "GdkSupport.c" + gboolean _tmp65_ = FALSE; +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp65_ = self->priv->size_ready; +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp63_ = _tmp65_; +#line 1051 "GdkSupport.c" + } else { +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp63_ = FALSE; +#line 1055 "GdkSupport.c" + } +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp63_) { +#line 1059 "GdkSupport.c" + gboolean _tmp66_ = FALSE; +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp66_ = self->priv->area_prepared; +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp62_ = _tmp66_; +#line 1065 "GdkSupport.c" + } else { +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp62_ = FALSE; +#line 1069 "GdkSupport.c" + } +#line 89 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp62_) { +#line 90 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + break; +#line 1075 "GdkSupport.c" + } + } + } + { + GdkPixbufLoader* _tmp67_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp67_ = pixbuf_loader; +#line 95 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + gdk_pixbuf_loader_close (_tmp67_, &_inner_error_); +#line 95 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1087 "GdkSupport.c" + goto __catch28_g_error; + } + } + goto __finally28; + __catch28_g_error: + { + GError* err = NULL; +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + err = _inner_error_; +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _inner_error_ = NULL; +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_error_free0 (err); +#line 1101 "GdkSupport.c" + } + __finally28: +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (fins); +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + buffer = (g_free (buffer), NULL); +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = (g_free (_tmp38_), NULL); +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_checksum_free0 (md5_checksum); +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf_loader); +#line 94 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 1120 "GdkSupport.c" + } +#line 99 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp68_ = fins; +#line 99 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp68_ != NULL) { +#line 1126 "GdkSupport.c" + GFileInputStream* _tmp69_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp69_ = fins; +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_input_stream_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, G_TYPE_INPUT_STREAM, GInputStream), NULL, &_inner_error_); +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_propagate_error (error, _inner_error_); +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (fins); +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + buffer = (g_free (buffer), NULL); +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = (g_free (_tmp38_), NULL); +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_checksum_free0 (md5_checksum); +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf_loader); +#line 100 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return NULL; +#line 1148 "GdkSupport.c" + } + } +#line 102 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp70_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->calc_md5; +#line 102 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp70_) { +#line 1155 "GdkSupport.c" + DetectedPhotoInformation* _tmp71_ = NULL; + GChecksum* _tmp72_ = NULL; + const gchar* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp71_ = self->priv->detected; +#line 103 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp72_ = md5_checksum; +#line 103 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp73_ = g_checksum_get_string (_tmp72_); +#line 103 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp74_ = g_strdup (_tmp73_); +#line 103 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_free0 (_tmp71_->md5); +#line 103 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp71_->md5 = _tmp74_; +#line 1172 "GdkSupport.c" + } +#line 106 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp76_ = self->priv->size_ready; +#line 106 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (!_tmp76_) { +#line 106 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp75_ = TRUE; +#line 1180 "GdkSupport.c" + } else { + gboolean _tmp77_ = FALSE; +#line 106 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp77_ = self->priv->area_prepared; +#line 106 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp75_ = !_tmp77_; +#line 1187 "GdkSupport.c" + } +#line 106 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _vala_is_corrupted = _tmp75_; +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp78_ = self->priv->detected; +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp79_ = _detected_photo_information_ref0 (_tmp78_); +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + result = _tmp79_; +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (fins); +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + buffer = (g_free (buffer), NULL); +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp38_ = (g_free (_tmp38_), NULL); +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_checksum_free0 (md5_checksum); +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf_loader); +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (is_corrupted) { +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1211 "GdkSupport.c" + } +#line 108 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return result; +#line 1215 "GdkSupport.c" +} + + +static void gdk_sniffer_on_size_prepared (GdkSniffer* self, GdkPixbufLoader* loader, gint width, gint height) { + DetectedPhotoInformation* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 111 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_return_if_fail (IS_GDK_SNIFFER (self)); +#line 111 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_return_if_fail (GDK_IS_PIXBUF_LOADER (loader)); +#line 112 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = self->priv->detected; +#line 112 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp1_ = width; +#line 112 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp2_ = height; +#line 112 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + dimensions_init (&_tmp0_->image_dim, _tmp1_, _tmp2_); +#line 113 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self->priv->size_ready = TRUE; +#line 1237 "GdkSupport.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 117 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return self ? g_object_ref (self) : NULL; +#line 1244 "GdkSupport.c" +} + + +static void gdk_sniffer_on_area_prepared (GdkSniffer* self, GdkPixbufLoader* pixbuf_loader) { + GdkPixbuf* pixbuf = NULL; + GdkPixbufLoader* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + DetectedPhotoInformation* _tmp4_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GdkColorspace _tmp6_ = 0; + DetectedPhotoInformation* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; + gint _tmp9_ = 0; + DetectedPhotoInformation* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + gint _tmp12_ = 0; + GdkPixbufFormat* format = NULL; + GdkPixbufLoader* _tmp13_ = NULL; + GdkPixbufFormat* _tmp14_ = NULL; + DetectedPhotoInformation* _tmp15_ = NULL; + GdkPixbufFormat* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + DetectedPhotoInformation* _tmp18_ = NULL; + DetectedPhotoInformation* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + PhotoFileFormat _tmp21_ = 0; +#line 116 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_return_if_fail (IS_GDK_SNIFFER (self)); +#line 116 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_return_if_fail (GDK_IS_PIXBUF_LOADER (pixbuf_loader)); +#line 117 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp0_ = pixbuf_loader; +#line 117 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp1_ = gdk_pixbuf_loader_get_pixbuf (_tmp0_); +#line 117 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 117 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + pixbuf = _tmp2_; +#line 118 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp3_ = pixbuf; +#line 118 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + if (_tmp3_ == NULL) { +#line 119 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf); +#line 119 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + return; +#line 1293 "GdkSupport.c" + } +#line 121 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp4_ = self->priv->detected; +#line 121 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp5_ = pixbuf; +#line 121 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp6_ = gdk_pixbuf_get_colorspace (_tmp5_); +#line 121 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp4_->colorspace = _tmp6_; +#line 122 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp7_ = self->priv->detected; +#line 122 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp8_ = pixbuf; +#line 122 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp9_ = gdk_pixbuf_get_n_channels (_tmp8_); +#line 122 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp7_->channels = _tmp9_; +#line 123 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp10_ = self->priv->detected; +#line 123 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp11_ = pixbuf; +#line 123 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp12_ = gdk_pixbuf_get_bits_per_sample (_tmp11_); +#line 123 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp10_->bits_per_channel = _tmp12_; +#line 125 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp13_ = pixbuf_loader; +#line 125 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp14_ = gdk_pixbuf_loader_get_format (_tmp13_); +#line 125 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + format = _tmp14_; +#line 126 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp15_ = self->priv->detected; +#line 126 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp16_ = format; +#line 126 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp17_ = gdk_pixbuf_format_get_name (_tmp16_); +#line 126 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_free0 (_tmp15_->format_name); +#line 126 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp15_->format_name = _tmp17_; +#line 127 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp18_ = self->priv->detected; +#line 127 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp19_ = self->priv->detected; +#line 127 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp20_ = _tmp19_->format_name; +#line 127 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp21_ = photo_file_format_from_pixbuf_name (_tmp20_); +#line 127 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _tmp18_->file_format = _tmp21_; +#line 129 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self->priv->area_prepared = TRUE; +#line 116 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _g_object_unref0 (pixbuf); +#line 1349 "GdkSupport.c" +} + + +static void gdk_sniffer_class_init (GdkSnifferClass * klass) { +#line 28 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + gdk_sniffer_parent_class = g_type_class_peek_parent (klass); +#line 28 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + ((PhotoFileSnifferClass *) klass)->finalize = gdk_sniffer_finalize; +#line 28 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + g_type_class_add_private (klass, sizeof (GdkSnifferPrivate)); +#line 28 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + ((PhotoFileSnifferClass *) klass)->sniff = gdk_sniffer_real_sniff; +#line 1362 "GdkSupport.c" +} + + +static void gdk_sniffer_instance_init (GdkSniffer * self) { +#line 28 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self->priv = GDK_SNIFFER_GET_PRIVATE (self); +#line 29 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self->priv->detected = NULL; +#line 30 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self->priv->size_ready = FALSE; +#line 31 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self->priv->area_prepared = FALSE; +#line 1375 "GdkSupport.c" +} + + +static void gdk_sniffer_finalize (PhotoFileSniffer* obj) { + GdkSniffer * self; +#line 28 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_GDK_SNIFFER, GdkSniffer); +#line 29 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + _detected_photo_information_unref0 (self->priv->detected); +#line 28 "/home/jens/Source/shotwell/src/photos/GdkSupport.vala" + PHOTO_FILE_SNIFFER_CLASS (gdk_sniffer_parent_class)->finalize (obj); +#line 1387 "GdkSupport.c" +} + + +GType gdk_sniffer_get_type (void) { + static volatile gsize gdk_sniffer_type_id__volatile = 0; + if (g_once_init_enter (&gdk_sniffer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (GdkSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gdk_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GdkSniffer), 0, (GInstanceInitFunc) gdk_sniffer_instance_init, NULL }; + GType gdk_sniffer_type_id; + gdk_sniffer_type_id = g_type_register_static (TYPE_PHOTO_FILE_SNIFFER, "GdkSniffer", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&gdk_sniffer_type_id__volatile, gdk_sniffer_type_id); + } + return gdk_sniffer_type_id__volatile; +} + + + diff --git a/src/photos/JfifSupport.c b/src/photos/JfifSupport.c new file mode 100644 index 0000000..5855bf1 --- /dev/null +++ b/src/photos/JfifSupport.c @@ -0,0 +1,2020 @@ +/* JfifSupport.c generated by valac 0.32.1, the Vala compiler + * generated from JfifSupport.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_FORMAT_DRIVER (photo_file_format_driver_get_type ()) +#define PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver)) +#define PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) +#define IS_PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define IS_PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define PHOTO_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) + +typedef struct _PhotoFileFormatDriver PhotoFileFormatDriver; +typedef struct _PhotoFileFormatDriverClass PhotoFileFormatDriverClass; +typedef struct _PhotoFileFormatDriverPrivate PhotoFileFormatDriverPrivate; + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; + +#define TYPE_JFIF_FILE_FORMAT_DRIVER (jfif_file_format_driver_get_type ()) +#define JFIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver)) +#define JFIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriverClass)) +#define IS_JFIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER)) +#define IS_JFIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_FILE_FORMAT_DRIVER)) +#define JFIF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriverClass)) + +typedef struct _JfifFileFormatDriver JfifFileFormatDriver; +typedef struct _JfifFileFormatDriverClass JfifFileFormatDriverClass; +typedef struct _JfifFileFormatDriverPrivate JfifFileFormatDriverPrivate; +#define _photo_file_format_driver_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_driver_unref (var), NULL))) + +#define TYPE_JFIF_FILE_FORMAT_PROPERTIES (jfif_file_format_properties_get_type ()) +#define JFIF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties)) +#define JFIF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatPropertiesClass)) +#define IS_JFIF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES)) +#define IS_JFIF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_FILE_FORMAT_PROPERTIES)) +#define JFIF_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatPropertiesClass)) + +typedef struct _JfifFileFormatProperties JfifFileFormatProperties; +typedef struct _JfifFileFormatPropertiesClass JfifFileFormatPropertiesClass; + +#define TYPE_GDK_READER (gdk_reader_get_type ()) +#define GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_READER, GdkReader)) +#define GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_READER, GdkReaderClass)) +#define IS_GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_READER)) +#define IS_GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_READER)) +#define GDK_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_READER, GdkReaderClass)) + +typedef struct _GdkReader GdkReader; +typedef struct _GdkReaderClass GdkReaderClass; + +#define TYPE_JFIF_READER (jfif_reader_get_type ()) +#define JFIF_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_READER, JfifReader)) +#define JFIF_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_READER, JfifReaderClass)) +#define IS_JFIF_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_READER)) +#define IS_JFIF_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_READER)) +#define JFIF_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_READER, JfifReaderClass)) + +typedef struct _JfifReader JfifReader; +typedef struct _JfifReaderClass JfifReaderClass; + +#define TYPE_JFIF_WRITER (jfif_writer_get_type ()) +#define JFIF_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_WRITER, JfifWriter)) +#define JFIF_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_WRITER, JfifWriterClass)) +#define IS_JFIF_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_WRITER)) +#define IS_JFIF_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_WRITER)) +#define JFIF_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_WRITER, JfifWriterClass)) + +typedef struct _JfifWriter JfifWriter; +typedef struct _JfifWriterClass JfifWriterClass; + +#define TYPE_JFIF_METADATA_WRITER (jfif_metadata_writer_get_type ()) +#define JFIF_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_METADATA_WRITER, JfifMetadataWriter)) +#define JFIF_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_METADATA_WRITER, JfifMetadataWriterClass)) +#define IS_JFIF_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_METADATA_WRITER)) +#define IS_JFIF_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_METADATA_WRITER)) +#define JFIF_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_METADATA_WRITER, JfifMetadataWriterClass)) + +typedef struct _JfifMetadataWriter JfifMetadataWriter; +typedef struct _JfifMetadataWriterClass JfifMetadataWriterClass; + +#define TYPE_GDK_SNIFFER (gdk_sniffer_get_type ()) +#define GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_SNIFFER, GdkSniffer)) +#define GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_SNIFFER, GdkSnifferClass)) +#define IS_GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_SNIFFER)) +#define IS_GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_SNIFFER)) +#define GDK_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_SNIFFER, GdkSnifferClass)) + +typedef struct _GdkSniffer GdkSniffer; +typedef struct _GdkSnifferClass GdkSnifferClass; + +#define TYPE_JFIF_SNIFFER (jfif_sniffer_get_type ()) +#define JFIF_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_SNIFFER, JfifSniffer)) +#define JFIF_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_SNIFFER, JfifSnifferClass)) +#define IS_JFIF_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_SNIFFER)) +#define IS_JFIF_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_SNIFFER)) +#define JFIF_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_SNIFFER, JfifSnifferClass)) + +typedef struct _JfifSniffer JfifSniffer; +typedef struct _JfifSnifferClass JfifSnifferClass; +typedef struct _PhotoFileFormatPropertiesPrivate PhotoFileFormatPropertiesPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT_FLAGS (photo_file_format_flags_get_type ()) +typedef struct _JfifFileFormatPropertiesPrivate JfifFileFormatPropertiesPrivate; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) +typedef struct _PhotoFileSnifferPrivate PhotoFileSnifferPrivate; + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; +typedef struct _GdkSnifferPrivate GdkSnifferPrivate; +typedef struct _JfifSnifferPrivate JfifSnifferPrivate; +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate; +typedef struct _PhotoFileReaderPrivate PhotoFileReaderPrivate; +typedef struct _GdkReaderPrivate GdkReaderPrivate; +typedef struct _JfifReaderPrivate JfifReaderPrivate; +typedef struct _PhotoFileWriterPrivate PhotoFileWriterPrivate; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _JfifWriterPrivate JfifWriterPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _PhotoFileMetadataWriterPrivate PhotoFileMetadataWriterPrivate; +typedef struct _JfifMetadataWriterPrivate JfifMetadataWriterPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define JPEG_TYPE_MARKER (jpeg_marker_get_type ()) + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileFormatDriver { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatDriverPrivate * priv; +}; + +struct _PhotoFileFormatDriverClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatDriver *self); + PhotoFileFormatProperties* (*get_properties) (PhotoFileFormatDriver* self); + PhotoFileReader* (*create_reader) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoMetadata* (*create_metadata) (PhotoFileFormatDriver* self); + gboolean (*can_write_image) (PhotoFileFormatDriver* self); + gboolean (*can_write_metadata) (PhotoFileFormatDriver* self); + PhotoFileWriter* (*create_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileMetadataWriter* (*create_metadata_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileSniffer* (*create_sniffer) (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +}; + +struct _JfifFileFormatDriver { + PhotoFileFormatDriver parent_instance; + JfifFileFormatDriverPrivate * priv; +}; + +struct _JfifFileFormatDriverClass { + PhotoFileFormatDriverClass parent_class; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + PHOTO_FILE_FORMAT_FLAGS_NONE = 0x00000000 +} PhotoFileFormatFlags; + +struct _PhotoFileFormatProperties { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatPropertiesPrivate * priv; +}; + +struct _PhotoFileFormatPropertiesClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatProperties *self); + PhotoFileFormat (*get_file_format) (PhotoFileFormatProperties* self); + PhotoFileFormatFlags (*get_flags) (PhotoFileFormatProperties* self); + gboolean (*is_recognized_extension) (PhotoFileFormatProperties* self, const gchar* ext); + gchar* (*get_default_extension) (PhotoFileFormatProperties* self); + gchar** (*get_known_extensions) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_default_mime_type) (PhotoFileFormatProperties* self); + gchar** (*get_mime_types) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_user_visible_name) (PhotoFileFormatProperties* self); +}; + +struct _JfifFileFormatProperties { + PhotoFileFormatProperties parent_instance; + JfifFileFormatPropertiesPrivate * priv; +}; + +struct _JfifFileFormatPropertiesClass { + PhotoFileFormatPropertiesClass parent_class; +}; + +struct _PhotoFileSniffer { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileSnifferPrivate * priv; + GFile* file; + PhotoFileSnifferOptions options; + gboolean calc_md5; +}; + +struct _PhotoFileSnifferClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileSniffer *self); + DetectedPhotoInformation* (*sniff) (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +}; + +struct _GdkSniffer { + PhotoFileSniffer parent_instance; + GdkSnifferPrivate * priv; +}; + +struct _GdkSnifferClass { + PhotoFileSnifferClass parent_class; +}; + +struct _JfifSniffer { + GdkSniffer parent_instance; + JfifSnifferPrivate * priv; +}; + +struct _JfifSnifferClass { + GdkSnifferClass parent_class; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + +struct _PhotoFileAdapter { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileAdapterPrivate * priv; +}; + +struct _PhotoFileAdapterClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileAdapter *self); +}; + +struct _PhotoFileReader { + PhotoFileAdapter parent_instance; + PhotoFileReaderPrivate * priv; +}; + +struct _PhotoFileReaderClass { + PhotoFileAdapterClass parent_class; + PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +}; + +struct _GdkReader { + PhotoFileReader parent_instance; + GdkReaderPrivate * priv; +}; + +struct _GdkReaderClass { + PhotoFileReaderClass parent_class; +}; + +struct _JfifReader { + GdkReader parent_instance; + JfifReaderPrivate * priv; +}; + +struct _JfifReaderClass { + GdkReaderClass parent_class; +}; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _PhotoFileWriter { + PhotoFileAdapter parent_instance; + PhotoFileWriterPrivate * priv; +}; + +struct _PhotoFileWriterClass { + PhotoFileAdapterClass parent_class; + void (*write) (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +}; + +struct _JfifWriter { + PhotoFileWriter parent_instance; + JfifWriterPrivate * priv; +}; + +struct _JfifWriterClass { + PhotoFileWriterClass parent_class; +}; + +struct _PhotoFileMetadataWriter { + PhotoFileAdapter parent_instance; + PhotoFileMetadataWriterPrivate * priv; +}; + +struct _PhotoFileMetadataWriterClass { + PhotoFileAdapterClass parent_class; + void (*write_metadata) (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); +}; + +struct _JfifMetadataWriter { + PhotoFileMetadataWriter parent_instance; + JfifMetadataWriterPrivate * priv; +}; + +struct _JfifMetadataWriterClass { + PhotoFileMetadataWriterClass parent_class; +}; + +typedef enum { + JPEG_MARKER_INVALID = 0x00, + JPEG_MARKER_SOI = 0xD8, + JPEG_MARKER_EOI = 0xD9, + JPEG_MARKER_APP0 = 0xE0, + JPEG_MARKER_APP1 = 0xE1 +} JpegMarker; + + +static gpointer jfif_file_format_driver_parent_class = NULL; +static JfifFileFormatDriver* jfif_file_format_driver_instance; +static JfifFileFormatDriver* jfif_file_format_driver_instance = NULL; +static gpointer jfif_file_format_properties_parent_class = NULL; +static gchar** jfif_file_format_properties_KNOWN_EXTENSIONS; +static gint jfif_file_format_properties_KNOWN_EXTENSIONS_length1; +static gchar** jfif_file_format_properties_KNOWN_EXTENSIONS = NULL; +static gint jfif_file_format_properties_KNOWN_EXTENSIONS_length1 = 0; +static gint _jfif_file_format_properties_KNOWN_EXTENSIONS_size_ = 0; +static gchar** jfif_file_format_properties_KNOWN_MIME_TYPES; +static gint jfif_file_format_properties_KNOWN_MIME_TYPES_length1; +static gchar** jfif_file_format_properties_KNOWN_MIME_TYPES = NULL; +static gint jfif_file_format_properties_KNOWN_MIME_TYPES_length1 = 0; +static gint _jfif_file_format_properties_KNOWN_MIME_TYPES_size_ = 0; +static JfifFileFormatProperties* jfif_file_format_properties_instance; +static JfifFileFormatProperties* jfif_file_format_properties_instance = NULL; +static gpointer jfif_sniffer_parent_class = NULL; +static gpointer jfif_reader_parent_class = NULL; +static gpointer jfif_writer_parent_class = NULL; +static gpointer jfif_metadata_writer_parent_class = NULL; + +gpointer photo_file_format_driver_ref (gpointer instance); +void photo_file_format_driver_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_driver (GValue* value, gpointer v_object); +void value_take_photo_file_format_driver (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_driver (const GValue* value); +GType photo_file_format_driver_get_type (void) G_GNUC_CONST; +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +GType jfif_file_format_driver_get_type (void) G_GNUC_CONST; +enum { + JFIF_FILE_FORMAT_DRIVER_DUMMY_PROPERTY +}; +void jfif_file_format_driver_init (void); +JfifFileFormatDriver* jfif_file_format_driver_new (void); +JfifFileFormatDriver* jfif_file_format_driver_construct (GType object_type); +void jfif_file_format_properties_init (void); +JfifFileFormatDriver* jfif_file_format_driver_get_instance (void); +static PhotoFileFormatProperties* jfif_file_format_driver_real_get_properties (PhotoFileFormatDriver* base); +GType jfif_file_format_properties_get_type (void) G_GNUC_CONST; +JfifFileFormatProperties* jfif_file_format_properties_get_instance (void); +static PhotoFileReader* jfif_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath); +JfifReader* jfif_reader_new (const gchar* filepath); +JfifReader* jfif_reader_construct (GType object_type, const gchar* filepath); +GType gdk_reader_get_type (void) G_GNUC_CONST; +GType jfif_reader_get_type (void) G_GNUC_CONST; +static PhotoMetadata* jfif_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base); +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +static gboolean jfif_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base); +static gboolean jfif_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base); +static PhotoFileWriter* jfif_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath); +JfifWriter* jfif_writer_new (const gchar* filepath); +JfifWriter* jfif_writer_construct (GType object_type, const gchar* filepath); +GType jfif_writer_get_type (void) G_GNUC_CONST; +static PhotoFileMetadataWriter* jfif_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath); +JfifMetadataWriter* jfif_metadata_writer_new (const gchar* filepath); +JfifMetadataWriter* jfif_metadata_writer_construct (GType object_type, const gchar* filepath); +GType jfif_metadata_writer_get_type (void) G_GNUC_CONST; +static PhotoFileSniffer* jfif_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options); +JfifSniffer* jfif_sniffer_new (GFile* file, PhotoFileSnifferOptions options); +JfifSniffer* jfif_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +GType gdk_sniffer_get_type (void) G_GNUC_CONST; +GType jfif_sniffer_get_type (void) G_GNUC_CONST; +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type); +static void jfif_file_format_driver_finalize (PhotoFileFormatDriver* obj); +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType photo_file_format_flags_get_type (void) G_GNUC_CONST; +enum { + JFIF_FILE_FORMAT_PROPERTIES_DUMMY_PROPERTY +}; +JfifFileFormatProperties* jfif_file_format_properties_new (void); +JfifFileFormatProperties* jfif_file_format_properties_construct (GType object_type); +static PhotoFileFormat jfif_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base); +static PhotoFileFormatFlags jfif_file_format_properties_real_get_flags (PhotoFileFormatProperties* base); +static gchar* jfif_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base); +static gchar* jfif_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base); +static gchar** jfif_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup8 (gchar** self, int length); +static gchar* jfif_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base); +static gchar** jfif_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup9 (gchar** self, int length); +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type); +static void jfif_file_format_properties_finalize (PhotoFileFormatProperties* obj); +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +enum { + JFIF_SNIFFER_DUMMY_PROPERTY +}; +GdkSniffer* gdk_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +static DetectedPhotoInformation* jfif_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error); +gboolean jpeg_is_jpeg (GFile* file, GError** error); +DetectedPhotoInformation* photo_file_sniffer_sniff (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +enum { + JFIF_READER_DUMMY_PROPERTY +}; +GdkReader* gdk_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +GType jpeg_quality_get_type (void) G_GNUC_CONST; +enum { + JFIF_WRITER_DUMMY_PROPERTY +}; +PhotoFileWriter* photo_file_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static void jfif_writer_real_write (PhotoFileWriter* base, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +gchar* jpeg_quality_get_pct_text (JpegQuality self); +enum { + JFIF_METADATA_WRITER_DUMMY_PROPERTY +}; +PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static void jfif_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* base, PhotoMetadata* metadata, GError** error); +void photo_metadata_write_to_file (PhotoMetadata* self, GFile* file, GError** error); +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); +#define JPEG_MARKER_PREFIX ((guint8) 0xFF) +GType jpeg_marker_get_type (void) G_GNUC_CONST; +guint8 jpeg_marker_get_byte (JpegMarker self); +gint jpeg_quality_get_pct (JpegQuality self); +JpegQuality* jpeg_quality_get_all (int* result_length1); +gchar* jpeg_quality_to_string (JpegQuality self); +gint jpeg_read_marker (GFileInputStream* fins, JpegMarker* marker, GError** error); + + +void jfif_file_format_driver_init (void) { + JfifFileFormatDriver* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = jfif_file_format_driver_new (); +#line 11 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _photo_file_format_driver_unref0 (jfif_file_format_driver_instance); +#line 11 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_driver_instance = _tmp0_; +#line 12 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_properties_init (); +#line 633 "JfifSupport.c" +} + + +static gpointer _photo_file_format_driver_ref0 (gpointer self) { +#line 16 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self ? photo_file_format_driver_ref (self) : NULL; +#line 640 "JfifSupport.c" +} + + +JfifFileFormatDriver* jfif_file_format_driver_get_instance (void) { + JfifFileFormatDriver* result = NULL; + JfifFileFormatDriver* _tmp0_ = NULL; + JfifFileFormatDriver* _tmp1_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = jfif_file_format_driver_instance; +#line 16 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = _photo_file_format_driver_ref0 (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp1_; +#line 16 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 656 "JfifSupport.c" +} + + +static PhotoFileFormatProperties* jfif_file_format_driver_real_get_properties (PhotoFileFormatDriver* base) { + JfifFileFormatDriver * self; + PhotoFileFormatProperties* result = NULL; + JfifFileFormatProperties* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 20 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = jfif_file_format_properties_get_instance (); +#line 20 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties); +#line 20 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 672 "JfifSupport.c" +} + + +static PhotoFileReader* jfif_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath) { + JfifFileFormatDriver * self; + PhotoFileReader* result = NULL; + const gchar* _tmp0_ = NULL; + JfifReader* _tmp1_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 23 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 24 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = filepath; +#line 24 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = jfif_reader_new (_tmp0_); +#line 24 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_READER, PhotoFileReader); +#line 24 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 693 "JfifSupport.c" +} + + +static PhotoMetadata* jfif_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base) { + JfifFileFormatDriver * self; + PhotoMetadata* result = NULL; + PhotoMetadata* _tmp0_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 28 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = photo_metadata_new (); +#line 28 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp0_; +#line 28 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 709 "JfifSupport.c" +} + + +static gboolean jfif_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base) { + JfifFileFormatDriver * self; + gboolean result = FALSE; +#line 31 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 32 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = TRUE; +#line 32 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 722 "JfifSupport.c" +} + + +static gboolean jfif_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base) { + JfifFileFormatDriver * self; + gboolean result = FALSE; +#line 35 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 36 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = TRUE; +#line 36 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 735 "JfifSupport.c" +} + + +static PhotoFileWriter* jfif_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + JfifFileFormatDriver * self; + PhotoFileWriter* result = NULL; + const gchar* _tmp0_ = NULL; + JfifWriter* _tmp1_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 39 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 40 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = filepath; +#line 40 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = jfif_writer_new (_tmp0_); +#line 40 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_WRITER, PhotoFileWriter); +#line 40 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 756 "JfifSupport.c" +} + + +static PhotoFileMetadataWriter* jfif_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + JfifFileFormatDriver * self; + PhotoFileMetadataWriter* result = NULL; + const gchar* _tmp0_ = NULL; + JfifMetadataWriter* _tmp1_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 43 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 44 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = filepath; +#line 44 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = jfif_metadata_writer_new (_tmp0_); +#line 44 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter); +#line 44 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 777 "JfifSupport.c" +} + + +static PhotoFileSniffer* jfif_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options) { + JfifFileFormatDriver * self; + PhotoFileSniffer* result = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; + JfifSniffer* _tmp2_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 47 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 48 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = file; +#line 48 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = options; +#line 48 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = jfif_sniffer_new (_tmp0_, _tmp1_); +#line 48 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer); +#line 48 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 801 "JfifSupport.c" +} + + +JfifFileFormatDriver* jfif_file_format_driver_construct (GType object_type) { + JfifFileFormatDriver* self = NULL; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = (JfifFileFormatDriver*) photo_file_format_driver_construct (object_type); +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self; +#line 811 "JfifSupport.c" +} + + +JfifFileFormatDriver* jfif_file_format_driver_new (void) { +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return jfif_file_format_driver_construct (TYPE_JFIF_FILE_FORMAT_DRIVER); +#line 818 "JfifSupport.c" +} + + +static void jfif_file_format_driver_class_init (JfifFileFormatDriverClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_driver_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->finalize = jfif_file_format_driver_finalize; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->get_properties = jfif_file_format_driver_real_get_properties; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_reader = jfif_file_format_driver_real_create_reader; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata = jfif_file_format_driver_real_create_metadata; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_image = jfif_file_format_driver_real_can_write_image; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_metadata = jfif_file_format_driver_real_can_write_metadata; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_writer = jfif_file_format_driver_real_create_writer; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata_writer = jfif_file_format_driver_real_create_metadata_writer; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_sniffer = jfif_file_format_driver_real_create_sniffer; +#line 843 "JfifSupport.c" +} + + +static void jfif_file_format_driver_instance_init (JfifFileFormatDriver * self) { +} + + +static void jfif_file_format_driver_finalize (PhotoFileFormatDriver* obj) { + JfifFileFormatDriver * self; +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver); +#line 7 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + PHOTO_FILE_FORMAT_DRIVER_CLASS (jfif_file_format_driver_parent_class)->finalize (obj); +#line 857 "JfifSupport.c" +} + + +GType jfif_file_format_driver_get_type (void) { + static volatile gsize jfif_file_format_driver_type_id__volatile = 0; + if (g_once_init_enter (&jfif_file_format_driver_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (JfifFileFormatDriverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jfif_file_format_driver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JfifFileFormatDriver), 0, (GInstanceInitFunc) jfif_file_format_driver_instance_init, NULL }; + GType jfif_file_format_driver_type_id; + jfif_file_format_driver_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_DRIVER, "JfifFileFormatDriver", &g_define_type_info, 0); + g_once_init_leave (&jfif_file_format_driver_type_id__volatile, jfif_file_format_driver_type_id); + } + return jfif_file_format_driver_type_id__volatile; +} + + +void jfif_file_format_properties_init (void) { + JfifFileFormatProperties* _tmp0_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = jfif_file_format_properties_new (); +#line 64 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _photo_file_format_properties_unref0 (jfif_file_format_properties_instance); +#line 64 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_properties_instance = _tmp0_; +#line 881 "JfifSupport.c" +} + + +static gpointer _photo_file_format_properties_ref0 (gpointer self) { +#line 68 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self ? photo_file_format_properties_ref (self) : NULL; +#line 888 "JfifSupport.c" +} + + +JfifFileFormatProperties* jfif_file_format_properties_get_instance (void) { + JfifFileFormatProperties* result = NULL; + JfifFileFormatProperties* _tmp0_ = NULL; + JfifFileFormatProperties* _tmp1_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = jfif_file_format_properties_instance; +#line 68 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = _photo_file_format_properties_ref0 (_tmp0_); +#line 68 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 904 "JfifSupport.c" +} + + +static PhotoFileFormat jfif_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base) { + JfifFileFormatProperties * self; + PhotoFileFormat result = 0; +#line 71 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties); +#line 72 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 72 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 917 "JfifSupport.c" +} + + +static PhotoFileFormatFlags jfif_file_format_properties_real_get_flags (PhotoFileFormatProperties* base) { + JfifFileFormatProperties * self; + PhotoFileFormatFlags result = 0; +#line 75 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties); +#line 76 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = PHOTO_FILE_FORMAT_FLAGS_NONE; +#line 76 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 930 "JfifSupport.c" +} + + +static gchar* jfif_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base) { + JfifFileFormatProperties * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties); +#line 80 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = g_strdup ("jpg"); +#line 80 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp0_; +#line 80 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 946 "JfifSupport.c" +} + + +static gchar* jfif_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base) { + JfifFileFormatProperties * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties); +#line 84 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = _ ("JPEG"); +#line 84 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 84 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp1_; +#line 84 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 965 "JfifSupport.c" +} + + +static gchar** _vala_array_dup8 (gchar** self, int length) { + gchar** result; + int i; +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + for (i = 0; i < length; i++) { +#line 976 "JfifSupport.c" + gchar* _tmp0_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result[i] = _tmp0_; +#line 982 "JfifSupport.c" + } +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 986 "JfifSupport.c" +} + + +static gchar** jfif_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1) { + JfifFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 87 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties); +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = jfif_file_format_properties_KNOWN_EXTENSIONS; +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0__length1 = jfif_file_format_properties_KNOWN_EXTENSIONS_length1; +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup8 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = _tmp1_; +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (result_length1) { +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *result_length1 = _tmp2__length1; +#line 1017 "JfifSupport.c" + } +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp2_; +#line 88 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1023 "JfifSupport.c" +} + + +static gchar* jfif_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base) { + JfifFileFormatProperties * self; + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties); +#line 92 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = jfif_file_format_properties_KNOWN_MIME_TYPES; +#line 92 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0__length1 = jfif_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 92 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = _tmp0_[0]; +#line 92 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 92 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp2_; +#line 92 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1048 "JfifSupport.c" +} + + +static gchar** _vala_array_dup9 (gchar** self, int length) { + gchar** result; + int i; +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + for (i = 0; i < length; i++) { +#line 1059 "JfifSupport.c" + gchar* _tmp0_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result[i] = _tmp0_; +#line 1065 "JfifSupport.c" + } +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1069 "JfifSupport.c" +} + + +static gchar** jfif_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1) { + JfifFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 95 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties); +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = jfif_file_format_properties_KNOWN_MIME_TYPES; +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0__length1 = jfif_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup9 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = _tmp1_; +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (result_length1) { +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *result_length1 = _tmp2__length1; +#line 1100 "JfifSupport.c" + } +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp2_; +#line 96 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1106 "JfifSupport.c" +} + + +JfifFileFormatProperties* jfif_file_format_properties_construct (GType object_type) { + JfifFileFormatProperties* self = NULL; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = (JfifFileFormatProperties*) photo_file_format_properties_construct (object_type); +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self; +#line 1116 "JfifSupport.c" +} + + +JfifFileFormatProperties* jfif_file_format_properties_new (void) { +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return jfif_file_format_properties_construct (TYPE_JFIF_FILE_FORMAT_PROPERTIES); +#line 1123 "JfifSupport.c" +} + + +static void jfif_file_format_properties_class_init (JfifFileFormatPropertiesClass * klass) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar** _tmp5_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_properties_parent_class = g_type_class_peek_parent (klass); +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->finalize = jfif_file_format_properties_finalize; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_file_format = jfif_file_format_properties_real_get_file_format; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_flags = jfif_file_format_properties_real_get_flags; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_extension = jfif_file_format_properties_real_get_default_extension; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_user_visible_name = jfif_file_format_properties_real_get_user_visible_name; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_known_extensions = jfif_file_format_properties_real_get_known_extensions; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_mime_type = jfif_file_format_properties_real_get_default_mime_type; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_mime_types = jfif_file_format_properties_real_get_mime_types; +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = g_strdup ("jpg"); +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = g_strdup ("jpeg"); +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = g_strdup ("jpe"); +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp3_ = g_new0 (gchar*, 3 + 1); +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp3_[0] = _tmp0_; +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp3_[1] = _tmp1_; +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp3_[2] = _tmp2_; +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_properties_KNOWN_EXTENSIONS = _tmp3_; +#line 53 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_properties_KNOWN_EXTENSIONS_length1 = 3; +#line 57 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp4_ = g_strdup ("image/jpeg"); +#line 57 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp5_ = g_new0 (gchar*, 1 + 1); +#line 57 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp5_[0] = _tmp4_; +#line 57 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_properties_KNOWN_MIME_TYPES = _tmp5_; +#line 57 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_file_format_properties_KNOWN_MIME_TYPES_length1 = 1; +#line 1180 "JfifSupport.c" +} + + +static void jfif_file_format_properties_instance_init (JfifFileFormatProperties * self) { +} + + +static void jfif_file_format_properties_finalize (PhotoFileFormatProperties* obj) { + JfifFileFormatProperties * self; +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_JFIF_FILE_FORMAT_PROPERTIES, JfifFileFormatProperties); +#line 52 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + PHOTO_FILE_FORMAT_PROPERTIES_CLASS (jfif_file_format_properties_parent_class)->finalize (obj); +#line 1194 "JfifSupport.c" +} + + +GType jfif_file_format_properties_get_type (void) { + static volatile gsize jfif_file_format_properties_type_id__volatile = 0; + if (g_once_init_enter (&jfif_file_format_properties_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (JfifFileFormatPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jfif_file_format_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JfifFileFormatProperties), 0, (GInstanceInitFunc) jfif_file_format_properties_instance_init, NULL }; + GType jfif_file_format_properties_type_id; + jfif_file_format_properties_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_PROPERTIES, "JfifFileFormatProperties", &g_define_type_info, 0); + g_once_init_leave (&jfif_file_format_properties_type_id__volatile, jfif_file_format_properties_type_id); + } + return jfif_file_format_properties_type_id__volatile; +} + + +JfifSniffer* jfif_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options) { + JfifSniffer* self = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; +#line 101 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 102 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = file; +#line 102 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = options; +#line 102 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = (JfifSniffer*) gdk_sniffer_construct (object_type, _tmp0_, _tmp1_); +#line 101 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self; +#line 1224 "JfifSupport.c" +} + + +JfifSniffer* jfif_sniffer_new (GFile* file, PhotoFileSnifferOptions options) { +#line 101 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return jfif_sniffer_construct (TYPE_JFIF_SNIFFER, file, options); +#line 1231 "JfifSupport.c" +} + + +static gpointer _detected_photo_information_ref0 (gpointer self) { +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self ? detected_photo_information_ref (self) : NULL; +#line 1238 "JfifSupport.c" +} + + +static DetectedPhotoInformation* jfif_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error) { + JfifSniffer * self; + gboolean _vala_is_corrupted = FALSE; + DetectedPhotoInformation* result = NULL; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + DetectedPhotoInformation* detected = NULL; + gboolean _tmp3_ = FALSE; + DetectedPhotoInformation* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp5_ = NULL; + DetectedPhotoInformation* _tmp6_ = NULL; + DetectedPhotoInformation* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; + DetectedPhotoInformation* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_SNIFFER, JfifSniffer); +#line 107 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _vala_is_corrupted = FALSE; +#line 109 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 109 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = jpeg_is_jpeg (_tmp1_, &_inner_error_); +#line 109 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = _tmp2_; +#line 109 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 109 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 109 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return NULL; +#line 1274 "JfifSupport.c" + } +#line 109 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (!_tmp0_) { +#line 110 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = NULL; +#line 110 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (is_corrupted) { +#line 110 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1284 "JfifSupport.c" + } +#line 110 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1288 "JfifSupport.c" + } +#line 112 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp4_ = PHOTO_FILE_SNIFFER_CLASS (jfif_sniffer_parent_class)->sniff (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_GDK_SNIFFER, GdkSniffer), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer), &_tmp3_, &_inner_error_); +#line 112 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _vala_is_corrupted = _tmp3_; +#line 112 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + detected = _tmp4_; +#line 112 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 112 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 112 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return NULL; +#line 1302 "JfifSupport.c" + } +#line 113 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp5_ = detected; +#line 113 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (_tmp5_ == NULL) { +#line 114 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = NULL; +#line 114 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _detected_photo_information_unref0 (detected); +#line 114 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (is_corrupted) { +#line 114 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1316 "JfifSupport.c" + } +#line 114 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1320 "JfifSupport.c" + } +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp7_ = detected; +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp8_ = _tmp7_->file_format; +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (_tmp8_ == PHOTO_FILE_FORMAT_JFIF) { +#line 1328 "JfifSupport.c" + DetectedPhotoInformation* _tmp9_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp9_ = detected; +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp6_ = _tmp9_; +#line 1334 "JfifSupport.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp6_ = NULL; +#line 1338 "JfifSupport.c" + } +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp10_ = _detected_photo_information_ref0 (_tmp6_); +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp10_; +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _detected_photo_information_unref0 (detected); +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (is_corrupted) { +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1350 "JfifSupport.c" + } +#line 116 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1354 "JfifSupport.c" +} + + +static void jfif_sniffer_class_init (JfifSnifferClass * klass) { +#line 100 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_sniffer_parent_class = g_type_class_peek_parent (klass); +#line 100 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileSnifferClass *) klass)->sniff = jfif_sniffer_real_sniff; +#line 1363 "JfifSupport.c" +} + + +static void jfif_sniffer_instance_init (JfifSniffer * self) { +} + + +GType jfif_sniffer_get_type (void) { + static volatile gsize jfif_sniffer_type_id__volatile = 0; + if (g_once_init_enter (&jfif_sniffer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (JfifSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jfif_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JfifSniffer), 0, (GInstanceInitFunc) jfif_sniffer_instance_init, NULL }; + GType jfif_sniffer_type_id; + jfif_sniffer_type_id = g_type_register_static (TYPE_GDK_SNIFFER, "JfifSniffer", &g_define_type_info, 0); + g_once_init_leave (&jfif_sniffer_type_id__volatile, jfif_sniffer_type_id); + } + return jfif_sniffer_type_id__volatile; +} + + +JfifReader* jfif_reader_construct (GType object_type, const gchar* filepath) { + JfifReader* self = NULL; + const gchar* _tmp0_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 122 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = filepath; +#line 122 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = (JfifReader*) gdk_reader_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_JFIF); +#line 121 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self; +#line 1394 "JfifSupport.c" +} + + +JfifReader* jfif_reader_new (const gchar* filepath) { +#line 121 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return jfif_reader_construct (TYPE_JFIF_READER, filepath); +#line 1401 "JfifSupport.c" +} + + +static void jfif_reader_class_init (JfifReaderClass * klass) { +#line 120 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_reader_parent_class = g_type_class_peek_parent (klass); +#line 1408 "JfifSupport.c" +} + + +static void jfif_reader_instance_init (JfifReader * self) { +} + + +GType jfif_reader_get_type (void) { + static volatile gsize jfif_reader_type_id__volatile = 0; + if (g_once_init_enter (&jfif_reader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (JfifReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jfif_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JfifReader), 0, (GInstanceInitFunc) jfif_reader_instance_init, NULL }; + GType jfif_reader_type_id; + jfif_reader_type_id = g_type_register_static (TYPE_GDK_READER, "JfifReader", &g_define_type_info, 0); + g_once_init_leave (&jfif_reader_type_id__volatile, jfif_reader_type_id); + } + return jfif_reader_type_id__volatile; +} + + +JfifWriter* jfif_writer_construct (GType object_type, const gchar* filepath) { + JfifWriter* self = NULL; + const gchar* _tmp0_ = NULL; +#line 127 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 128 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = filepath; +#line 128 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = (JfifWriter*) photo_file_writer_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_JFIF); +#line 127 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self; +#line 1439 "JfifSupport.c" +} + + +JfifWriter* jfif_writer_new (const gchar* filepath) { +#line 127 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return jfif_writer_construct (TYPE_JFIF_WRITER, filepath); +#line 1446 "JfifSupport.c" +} + + +static void jfif_writer_real_write (PhotoFileWriter* base, GdkPixbuf* pixbuf, JpegQuality quality, GError** error) { + JfifWriter * self; + GdkPixbuf* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + JpegQuality _tmp3_ = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_WRITER, JfifWriter); +#line 131 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = pixbuf; +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = _tmp1_; +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp3_ = quality; +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp4_ = jpeg_quality_get_pct_text (_tmp3_); +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp5_ = _tmp4_; +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + gdk_pixbuf_save (_tmp0_, _tmp2_, "jpeg", &_inner_error_, "quality", _tmp5_, NULL); +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_free0 (_tmp5_); +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_free0 (_tmp2_); +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 132 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return; +#line 1487 "JfifSupport.c" + } +} + + +static void jfif_writer_class_init (JfifWriterClass * klass) { +#line 126 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_writer_parent_class = g_type_class_peek_parent (klass); +#line 126 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileWriterClass *) klass)->write = jfif_writer_real_write; +#line 1497 "JfifSupport.c" +} + + +static void jfif_writer_instance_init (JfifWriter * self) { +} + + +GType jfif_writer_get_type (void) { + static volatile gsize jfif_writer_type_id__volatile = 0; + if (g_once_init_enter (&jfif_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (JfifWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jfif_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JfifWriter), 0, (GInstanceInitFunc) jfif_writer_instance_init, NULL }; + GType jfif_writer_type_id; + jfif_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_WRITER, "JfifWriter", &g_define_type_info, 0); + g_once_init_leave (&jfif_writer_type_id__volatile, jfif_writer_type_id); + } + return jfif_writer_type_id__volatile; +} + + +JfifMetadataWriter* jfif_metadata_writer_construct (GType object_type, const gchar* filepath) { + JfifMetadataWriter* self = NULL; + const gchar* _tmp0_ = NULL; +#line 137 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 138 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = filepath; +#line 138 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = (JfifMetadataWriter*) photo_file_metadata_writer_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_JFIF); +#line 137 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return self; +#line 1528 "JfifSupport.c" +} + + +JfifMetadataWriter* jfif_metadata_writer_new (const gchar* filepath) { +#line 137 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return jfif_metadata_writer_construct (TYPE_JFIF_METADATA_WRITER, filepath); +#line 1535 "JfifSupport.c" +} + + +static void jfif_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* base, PhotoMetadata* metadata, GError** error) { + JfifMetadataWriter * self; + PhotoMetadata* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_JFIF_METADATA_WRITER, JfifMetadataWriter); +#line 141 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 142 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = metadata; +#line 142 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 142 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = _tmp1_; +#line 142 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + photo_metadata_write_to_file (_tmp0_, _tmp2_, &_inner_error_); +#line 142 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (_tmp2_); +#line 142 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 142 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 142 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return; +#line 1565 "JfifSupport.c" + } +} + + +static void jfif_metadata_writer_class_init (JfifMetadataWriterClass * klass) { +#line 136 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + jfif_metadata_writer_parent_class = g_type_class_peek_parent (klass); +#line 136 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + ((PhotoFileMetadataWriterClass *) klass)->write_metadata = jfif_metadata_writer_real_write_metadata; +#line 1575 "JfifSupport.c" +} + + +static void jfif_metadata_writer_instance_init (JfifMetadataWriter * self) { +} + + +GType jfif_metadata_writer_get_type (void) { + static volatile gsize jfif_metadata_writer_type_id__volatile = 0; + if (g_once_init_enter (&jfif_metadata_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (JfifMetadataWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jfif_metadata_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JfifMetadataWriter), 0, (GInstanceInitFunc) jfif_metadata_writer_instance_init, NULL }; + GType jfif_metadata_writer_type_id; + jfif_metadata_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_METADATA_WRITER, "JfifMetadataWriter", &g_define_type_info, 0); + g_once_init_leave (&jfif_metadata_writer_type_id__volatile, jfif_metadata_writer_type_id); + } + return jfif_metadata_writer_type_id__volatile; +} + + +guint8 jpeg_marker_get_byte (JpegMarker self) { + guint8 result = 0U; +#line 160 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = (guint8) self; +#line 160 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1601 "JfifSupport.c" +} + + +GType jpeg_marker_get_type (void) { + static volatile gsize jpeg_marker_type_id__volatile = 0; + if (g_once_init_enter (&jpeg_marker_type_id__volatile)) { + static const GEnumValue values[] = {{JPEG_MARKER_INVALID, "JPEG_MARKER_INVALID", "invalid"}, {JPEG_MARKER_SOI, "JPEG_MARKER_SOI", "soi"}, {JPEG_MARKER_EOI, "JPEG_MARKER_EOI", "eoi"}, {JPEG_MARKER_APP0, "JPEG_MARKER_APP0", "app0"}, {JPEG_MARKER_APP1, "JPEG_MARKER_APP1", "app1"}, {0, NULL, NULL}}; + GType jpeg_marker_type_id; + jpeg_marker_type_id = g_enum_register_static ("JpegMarker", values); + g_once_init_leave (&jpeg_marker_type_id__volatile, jpeg_marker_type_id); + } + return jpeg_marker_type_id__volatile; +} + + +gint jpeg_quality_get_pct (JpegQuality self) { + gint result = 0; +#line 171 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = (gint) self; +#line 171 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1623 "JfifSupport.c" +} + + +gchar* jpeg_quality_get_pct_text (JpegQuality self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = g_strdup_printf ("%d", (gint) self); +#line 175 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp0_; +#line 175 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1636 "JfifSupport.c" +} + + +JpegQuality* jpeg_quality_get_all (int* result_length1) { + JpegQuality* result = NULL; + JpegQuality* _tmp0_ = NULL; + JpegQuality* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = g_new0 (JpegQuality, 4); +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_[0] = JPEG_QUALITY_LOW; +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_[1] = JPEG_QUALITY_MEDIUM; +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_[2] = JPEG_QUALITY_HIGH; +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_[3] = JPEG_QUALITY_MAXIMUM; +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = _tmp0_; +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1__length1 = 4; +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (result_length1) { +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *result_length1 = _tmp1__length1; +#line 1663 "JfifSupport.c" + } +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp1_; +#line 179 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1669 "JfifSupport.c" +} + + +gchar* jpeg_quality_to_string (JpegQuality self) { + gchar* result = NULL; +#line 183 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + switch (self) { +#line 183 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + case JPEG_QUALITY_LOW: +#line 1679 "JfifSupport.c" + { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 185 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = _ ("Low (%d%%)"); +#line 185 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = g_strdup_printf (_tmp0_, (gint) self); +#line 185 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp1_; +#line 185 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1691 "JfifSupport.c" + } +#line 183 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + case JPEG_QUALITY_MEDIUM: +#line 1695 "JfifSupport.c" + { + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = _ ("Medium (%d%%)"); +#line 188 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp3_ = g_strdup_printf (_tmp2_, (gint) self); +#line 188 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp3_; +#line 188 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1707 "JfifSupport.c" + } +#line 183 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + case JPEG_QUALITY_HIGH: +#line 1711 "JfifSupport.c" + { + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 191 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp4_ = _ ("High (%d%%)"); +#line 191 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp5_ = g_strdup_printf (_tmp4_, (gint) self); +#line 191 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp5_; +#line 191 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1723 "JfifSupport.c" + } +#line 183 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + case JPEG_QUALITY_MAXIMUM: +#line 1727 "JfifSupport.c" + { + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp6_ = _ ("Maximum (%d%%)"); +#line 194 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp7_ = g_strdup_printf (_tmp6_, (gint) self); +#line 194 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp7_; +#line 194 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1739 "JfifSupport.c" + } + default: +#line 183 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + break; +#line 1744 "JfifSupport.c" + } +#line 197 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_warn_if_reached (); +#line 199 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = NULL; +#line 199 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1752 "JfifSupport.c" +} + + +GType jpeg_quality_get_type (void) { + static volatile gsize jpeg_quality_type_id__volatile = 0; + if (g_once_init_enter (&jpeg_quality_type_id__volatile)) { + static const GEnumValue values[] = {{JPEG_QUALITY_LOW, "JPEG_QUALITY_LOW", "low"}, {JPEG_QUALITY_MEDIUM, "JPEG_QUALITY_MEDIUM", "medium"}, {JPEG_QUALITY_HIGH, "JPEG_QUALITY_HIGH", "high"}, {JPEG_QUALITY_MAXIMUM, "JPEG_QUALITY_MAXIMUM", "maximum"}, {0, NULL, NULL}}; + GType jpeg_quality_type_id; + jpeg_quality_type_id = g_enum_register_static ("JpegQuality", values); + g_once_init_leave (&jpeg_quality_type_id__volatile, jpeg_quality_type_id); + } + return jpeg_quality_type_id__volatile; +} + + +gboolean jpeg_is_jpeg (GFile* file, GError** error) { + gboolean result = FALSE; + GFileInputStream* fins = NULL; + GFile* _tmp0_ = NULL; + GFileInputStream* _tmp1_ = NULL; + JpegMarker marker = 0; + gint segment_length = 0; + GFileInputStream* _tmp2_ = NULL; + JpegMarker _tmp3_ = 0; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + JpegMarker _tmp6_ = 0; + GError * _inner_error_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 204 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = file; +#line 204 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = g_file_read (_tmp0_, NULL, &_inner_error_); +#line 204 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + fins = _tmp1_; +#line 204 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 204 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 204 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return FALSE; +#line 1795 "JfifSupport.c" + } +#line 207 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = fins; +#line 207 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp4_ = jpeg_read_marker (_tmp2_, &_tmp3_, &_inner_error_); +#line 207 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + marker = _tmp3_; +#line 207 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + segment_length = _tmp4_; +#line 207 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 207 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 207 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (fins); +#line 207 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return FALSE; +#line 1813 "JfifSupport.c" + } +#line 210 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp6_ = marker; +#line 210 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (_tmp6_ == JPEG_MARKER_SOI) { +#line 1819 "JfifSupport.c" + gint _tmp7_ = 0; +#line 210 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp7_ = segment_length; +#line 210 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp5_ = _tmp7_ == 0; +#line 1825 "JfifSupport.c" + } else { +#line 210 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp5_ = FALSE; +#line 1829 "JfifSupport.c" + } +#line 210 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp5_; +#line 210 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (fins); +#line 210 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1837 "JfifSupport.c" +} + + +gint jpeg_read_marker (GFileInputStream* fins, JpegMarker* marker, GError** error) { + JpegMarker _vala_marker = 0; + gint result = 0; + GDataInputStream* dins = NULL; + GFileInputStream* _tmp0_ = NULL; + GDataInputStream* _tmp1_ = NULL; + GDataInputStream* _tmp2_ = NULL; + guint8 _tmp3_ = 0U; + GDataInputStream* _tmp4_ = NULL; + guint8 _tmp5_ = 0U; + guint8 _tmp6_ = 0U; + GDataInputStream* _tmp7_ = NULL; + guint8 _tmp8_ = 0U; + gboolean _tmp9_ = FALSE; + JpegMarker _tmp10_ = 0; + guint16 length = 0U; + GDataInputStream* _tmp12_ = NULL; + guint16 _tmp13_ = 0U; + guint16 _tmp14_ = 0U; + guint16 _tmp18_ = 0U; + GError * _inner_error_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_return_val_if_fail (G_IS_FILE_INPUT_STREAM (fins), 0); +#line 214 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _vala_marker = JPEG_MARKER_INVALID; +#line 216 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp0_ = fins; +#line 216 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp1_ = g_data_input_stream_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_INPUT_STREAM, GInputStream)); +#line 216 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + dins = _tmp1_; +#line 217 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp2_ = dins; +#line 217 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_data_input_stream_set_byte_order (_tmp2_, G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN); +#line 219 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp4_ = dins; +#line 219 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp5_ = g_data_input_stream_read_byte (_tmp4_, NULL, &_inner_error_); +#line 219 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp3_ = _tmp5_; +#line 219 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 219 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 219 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (dins); +#line 219 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return 0; +#line 1890 "JfifSupport.c" + } +#line 219 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (_tmp3_ != JPEG_MARKER_PREFIX) { +#line 220 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = -1; +#line 220 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (dins); +#line 220 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (marker) { +#line 220 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *marker = _vala_marker; +#line 1902 "JfifSupport.c" + } +#line 220 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1906 "JfifSupport.c" + } +#line 222 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp7_ = dins; +#line 222 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp8_ = g_data_input_stream_read_byte (_tmp7_, NULL, &_inner_error_); +#line 222 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp6_ = _tmp8_; +#line 222 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 222 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 222 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (dins); +#line 222 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return 0; +#line 1922 "JfifSupport.c" + } +#line 222 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _vala_marker = (JpegMarker) _tmp6_; +#line 223 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp10_ = _vala_marker; +#line 223 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (_tmp10_ == JPEG_MARKER_SOI) { +#line 223 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp9_ = TRUE; +#line 1932 "JfifSupport.c" + } else { + JpegMarker _tmp11_ = 0; +#line 223 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp11_ = _vala_marker; +#line 223 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp9_ = _tmp11_ == JPEG_MARKER_EOI; +#line 1939 "JfifSupport.c" + } +#line 223 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (_tmp9_) { +#line 225 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = 0; +#line 225 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (dins); +#line 225 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (marker) { +#line 225 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *marker = _vala_marker; +#line 1951 "JfifSupport.c" + } +#line 225 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 1955 "JfifSupport.c" + } +#line 228 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp12_ = dins; +#line 228 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp13_ = g_data_input_stream_read_uint16 (_tmp12_, NULL, &_inner_error_); +#line 228 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + length = _tmp13_; +#line 228 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 228 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_propagate_error (error, _inner_error_); +#line 228 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (dins); +#line 228 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return 0; +#line 1971 "JfifSupport.c" + } +#line 229 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp14_ = length; +#line 229 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (((gint) _tmp14_) < 2) { +#line 1977 "JfifSupport.c" + guint16 _tmp15_ = 0U; + GFileInputStream* _tmp16_ = NULL; + gint64 _tmp17_ = 0LL; +#line 230 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp15_ = length; +#line 230 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp16_ = fins; +#line 230 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp17_ = G_FILE_INPUT_STREAM_GET_CLASS (_tmp16_)->tell (_tmp16_); +#line 230 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + g_debug ("Invalid length %Xh at ofs %" G_GINT64_FORMAT "Xh", _tmp15_, _tmp17_ - 2); +#line 232 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = -1; +#line 232 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (dins); +#line 232 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (marker) { +#line 232 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *marker = _vala_marker; +#line 1997 "JfifSupport.c" + } +#line 232 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 2001 "JfifSupport.c" + } +#line 236 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _tmp18_ = length; +#line 236 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + result = _tmp18_ - 2; +#line 236 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + _g_object_unref0 (dins); +#line 236 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + if (marker) { +#line 236 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + *marker = _vala_marker; +#line 2013 "JfifSupport.c" + } +#line 236 "/home/jens/Source/shotwell/src/photos/JfifSupport.vala" + return result; +#line 2017 "JfifSupport.c" +} + + + diff --git a/src/photos/PhotoFileAdapter.c b/src/photos/PhotoFileAdapter.c new file mode 100644 index 0000000..2f05603 --- /dev/null +++ b/src/photos/PhotoFileAdapter.c @@ -0,0 +1,1104 @@ +/* PhotoFileAdapter.c generated by valac 0.32.1, the Vala compiler + * generated from PhotoFileAdapter.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/**/ +/* PhotoFileAdapter*/ +/**/ +/* PhotoFileAdapter (and its immediate children, PhotoFileReader and PhotoFileWriter) are drivers*/ +/* hiding details of reading and writing image files and their metadata. They should keep*/ +/* minimal state beyond the filename, if any stat at all. In particular, they should avoid caching*/ +/* values, especially the readers, as writers may be created at any time and invalidate that*/ +/* information, unless the readers monitor the file for these changes.*/ +/**/ +/* PhotoFileAdapters should be entirely thread-safe. They are not, however, responsible for*/ +/* atomicity on the filesystem.*/ +/**/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; +typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecPhotoFileAdapter ParamSpecPhotoFileAdapter; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; +typedef struct _PhotoFileReaderPrivate PhotoFileReaderPrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; +#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; +typedef struct _PhotoFileWriterPrivate PhotoFileWriterPrivate; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _PhotoFileMetadataWriterPrivate PhotoFileMetadataWriterPrivate; + +struct _PhotoFileAdapter { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileAdapterPrivate * priv; +}; + +struct _PhotoFileAdapterClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileAdapter *self); +}; + +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 _PhotoFileAdapterPrivate { + gchar* filepath; + PhotoFileFormat file_format; + GFile* file; + GRecMutex __lock_file; +}; + +struct _ParamSpecPhotoFileAdapter { + GParamSpec parent_instance; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _PhotoFileReader { + PhotoFileAdapter parent_instance; + PhotoFileReaderPrivate * priv; +}; + +struct _PhotoFileReaderClass { + PhotoFileAdapterClass parent_class; + PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +}; + +typedef enum { + PHOTO_FORMAT_ERROR_READ_ONLY +} PhotoFormatError; +#define PHOTO_FORMAT_ERROR photo_format_error_quark () +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _PhotoFileWriter { + PhotoFileAdapter parent_instance; + PhotoFileWriterPrivate * priv; +}; + +struct _PhotoFileWriterClass { + PhotoFileAdapterClass parent_class; + void (*write) (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +}; + +struct _PhotoFileMetadataWriter { + PhotoFileAdapter parent_instance; + PhotoFileMetadataWriterPrivate * priv; +}; + +struct _PhotoFileMetadataWriterClass { + PhotoFileAdapterClass parent_class; + void (*write_metadata) (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); +}; + + +static gpointer photo_file_adapter_parent_class = NULL; +static gpointer photo_file_reader_parent_class = NULL; +static gpointer photo_file_writer_parent_class = NULL; +static gpointer photo_file_metadata_writer_parent_class = NULL; + +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +#define PHOTO_FILE_ADAPTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterPrivate)) +enum { + PHOTO_FILE_ADAPTER_DUMMY_PROPERTY +}; +PhotoFileAdapter* photo_file_adapter_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +gboolean photo_file_adapter_file_exists (PhotoFileAdapter* self); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); +PhotoFileFormat photo_file_adapter_get_file_format (PhotoFileAdapter* self); +static void photo_file_adapter_finalize (PhotoFileAdapter* obj); +GType photo_file_reader_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +enum { + PHOTO_FILE_READER_DUMMY_PROPERTY +}; +PhotoFileReader* photo_file_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GQuark photo_format_error_quark (void); +PhotoFileWriter* photo_file_reader_create_writer (PhotoFileReader* self, GError** error); +PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +PhotoFileMetadataWriter* photo_file_reader_create_metadata_writer (PhotoFileReader* self, GError** error); +PhotoFileMetadataWriter* photo_file_format_create_metadata_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error); +static PhotoMetadata* photo_file_reader_real_read_metadata (PhotoFileReader* self, GError** error); +GdkPixbuf* photo_file_reader_unscaled_read (PhotoFileReader* self, GError** error); +static GdkPixbuf* photo_file_reader_real_unscaled_read (PhotoFileReader* self, GError** error); +GdkPixbuf* photo_file_reader_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +static GdkPixbuf* photo_file_reader_real_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp); +GType jpeg_quality_get_type (void) G_GNUC_CONST; +enum { + PHOTO_FILE_WRITER_DUMMY_PROPERTY +}; +PhotoFileWriter* photo_file_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +PhotoFileReader* photo_file_writer_create_reader (PhotoFileWriter* self); +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath); +void photo_file_writer_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +static void photo_file_writer_real_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +enum { + PHOTO_FILE_METADATA_WRITER_DUMMY_PROPERTY +}; +PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +PhotoFileReader* photo_file_metadata_writer_create_reader (PhotoFileMetadataWriter* self); +void photo_file_metadata_writer_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); +static void photo_file_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); + + +PhotoFileAdapter* photo_file_adapter_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { + PhotoFileAdapter* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + PhotoFileFormat _tmp2_ = 0; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self = (PhotoFileAdapter*) g_type_create_instance (object_type); +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = filepath; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_free0 (self->priv->filepath); +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self->priv->filepath = _tmp1_; +#line 27 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp2_ = file_format; +#line 27 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self->priv->file_format = _tmp2_; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return self; +#line 282 "PhotoFileAdapter.c" +} + + +gboolean photo_file_adapter_file_exists (PhotoFileAdapter* self) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 30 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_ADAPTER (self), FALSE); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = self->priv->filepath; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = g_file_test (_tmp0_, G_FILE_TEST_IS_REGULAR); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _tmp1_; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 300 "PhotoFileAdapter.c" +} + + +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_ADAPTER (self), NULL); +#line 35 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = self->priv->filepath; +#line 35 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 35 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _tmp1_; +#line 35 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 318 "PhotoFileAdapter.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return self ? g_object_ref (self) : NULL; +#line 325 "PhotoFileAdapter.c" +} + + +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self) { + GFile* result = NULL; + GFile* _result_ = NULL; + GError * _inner_error_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_ADAPTER (self), NULL); +#line 335 "PhotoFileAdapter.c" + { + GFile* _tmp0_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = self->priv->file; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_rec_mutex_lock (&self->priv->__lock_file); +#line 342 "PhotoFileAdapter.c" + { + GFile* _tmp1_ = NULL; + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = self->priv->file; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (_tmp1_ == NULL) { +#line 351 "PhotoFileAdapter.c" + const gchar* _tmp2_ = NULL; + GFile* _tmp3_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp2_ = self->priv->filepath; +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp3_ = g_file_new_for_path (_tmp2_); +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_object_unref0 (self->priv->file); +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self->priv->file = _tmp3_; +#line 362 "PhotoFileAdapter.c" + } +#line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp4_ = self->priv->file; +#line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_object_unref0 (_result_); +#line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _result_ = _tmp5_; +#line 372 "PhotoFileAdapter.c" + } + __finally22: + { + GFile* _tmp6_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp6_ = self->priv->file; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_rec_mutex_unlock (&self->priv->__lock_file); +#line 381 "PhotoFileAdapter.c" + } +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_object_unref0 (_result_); +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.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 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_clear_error (&_inner_error_); +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 393 "PhotoFileAdapter.c" + } + } +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _result_; +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 400 "PhotoFileAdapter.c" +} + + +PhotoFileFormat photo_file_adapter_get_file_format (PhotoFileAdapter* self) { + PhotoFileFormat result = 0; + PhotoFileFormat _tmp0_ = 0; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_ADAPTER (self), 0); +#line 51 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = self->priv->file_format; +#line 51 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _tmp0_; +#line 51 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 415 "PhotoFileAdapter.c" +} + + +static void value_photo_file_adapter_init (GValue* value) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + value->data[0].v_pointer = NULL; +#line 422 "PhotoFileAdapter.c" +} + + +static void value_photo_file_adapter_free_value (GValue* value) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (value->data[0].v_pointer) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + photo_file_adapter_unref (value->data[0].v_pointer); +#line 431 "PhotoFileAdapter.c" + } +} + + +static void value_photo_file_adapter_copy_value (const GValue* src_value, GValue* dest_value) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (src_value->data[0].v_pointer) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + dest_value->data[0].v_pointer = photo_file_adapter_ref (src_value->data[0].v_pointer); +#line 441 "PhotoFileAdapter.c" + } else { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + dest_value->data[0].v_pointer = NULL; +#line 445 "PhotoFileAdapter.c" + } +} + + +static gpointer value_photo_file_adapter_peek_pointer (const GValue* value) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return value->data[0].v_pointer; +#line 453 "PhotoFileAdapter.c" +} + + +static gchar* value_photo_file_adapter_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (collect_values[0].v_pointer) { +#line 460 "PhotoFileAdapter.c" + PhotoFileAdapter* object; + object = collect_values[0].v_pointer; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (object->parent_instance.g_class == NULL) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 467 "PhotoFileAdapter.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 471 "PhotoFileAdapter.c" + } +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + value->data[0].v_pointer = photo_file_adapter_ref (object); +#line 475 "PhotoFileAdapter.c" + } else { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + value->data[0].v_pointer = NULL; +#line 479 "PhotoFileAdapter.c" + } +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 483 "PhotoFileAdapter.c" +} + + +static gchar* value_photo_file_adapter_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoFileAdapter** object_p; + object_p = collect_values[0].v_pointer; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (!object_p) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 494 "PhotoFileAdapter.c" + } +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (!value->data[0].v_pointer) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + *object_p = NULL; +#line 500 "PhotoFileAdapter.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + *object_p = value->data[0].v_pointer; +#line 504 "PhotoFileAdapter.c" + } else { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + *object_p = photo_file_adapter_ref (value->data[0].v_pointer); +#line 508 "PhotoFileAdapter.c" + } +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 512 "PhotoFileAdapter.c" +} + + +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoFileAdapter* spec; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_FILE_ADAPTER), NULL); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return G_PARAM_SPEC (spec); +#line 526 "PhotoFileAdapter.c" +} + + +gpointer value_get_photo_file_adapter (const GValue* value) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_ADAPTER), NULL); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return value->data[0].v_pointer; +#line 535 "PhotoFileAdapter.c" +} + + +void value_set_photo_file_adapter (GValue* value, gpointer v_object) { + PhotoFileAdapter* old; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_ADAPTER)); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + old = value->data[0].v_pointer; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (v_object) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_ADAPTER)); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + value->data[0].v_pointer = v_object; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + photo_file_adapter_ref (value->data[0].v_pointer); +#line 555 "PhotoFileAdapter.c" + } else { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + value->data[0].v_pointer = NULL; +#line 559 "PhotoFileAdapter.c" + } +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (old) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + photo_file_adapter_unref (old); +#line 565 "PhotoFileAdapter.c" + } +} + + +void value_take_photo_file_adapter (GValue* value, gpointer v_object) { + PhotoFileAdapter* old; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_ADAPTER)); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + old = value->data[0].v_pointer; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (v_object) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_ADAPTER)); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + value->data[0].v_pointer = v_object; +#line 584 "PhotoFileAdapter.c" + } else { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + value->data[0].v_pointer = NULL; +#line 588 "PhotoFileAdapter.c" + } +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (old) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + photo_file_adapter_unref (old); +#line 594 "PhotoFileAdapter.c" + } +} + + +static void photo_file_adapter_class_init (PhotoFileAdapterClass * klass) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + photo_file_adapter_parent_class = g_type_class_peek_parent (klass); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + ((PhotoFileAdapterClass *) klass)->finalize = photo_file_adapter_finalize; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_type_class_add_private (klass, sizeof (PhotoFileAdapterPrivate)); +#line 606 "PhotoFileAdapter.c" +} + + +static void photo_file_adapter_instance_init (PhotoFileAdapter * self) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self->priv = PHOTO_FILE_ADAPTER_GET_PRIVATE (self); +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_rec_mutex_init (&self->priv->__lock_file); +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self->priv->file = NULL; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self->ref_count = 1; +#line 619 "PhotoFileAdapter.c" +} + + +static void photo_file_adapter_finalize (PhotoFileAdapter* obj) { + PhotoFileAdapter * self; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_signal_handlers_destroy (self); +#line 21 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_free0 (self->priv->filepath); +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_rec_mutex_clear (&self->priv->__lock_file); +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_object_unref0 (self->priv->file); +#line 635 "PhotoFileAdapter.c" +} + + +GType photo_file_adapter_get_type (void) { + static volatile gsize photo_file_adapter_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_adapter_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_file_adapter_init, value_photo_file_adapter_free_value, value_photo_file_adapter_copy_value, value_photo_file_adapter_peek_pointer, "p", value_photo_file_adapter_collect_value, "p", value_photo_file_adapter_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileAdapterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_adapter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileAdapter), 0, (GInstanceInitFunc) photo_file_adapter_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_file_adapter_type_id; + photo_file_adapter_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoFileAdapter", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_adapter_type_id__volatile, photo_file_adapter_type_id); + } + return photo_file_adapter_type_id__volatile; +} + + +gpointer photo_file_adapter_ref (gpointer instance) { + PhotoFileAdapter* self; + self = instance; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_atomic_int_inc (&self->ref_count); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return instance; +#line 660 "PhotoFileAdapter.c" +} + + +void photo_file_adapter_unref (gpointer instance) { + PhotoFileAdapter* self; + self = instance; +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + PHOTO_FILE_ADAPTER_GET_CLASS (self)->finalize (self); +#line 20 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 673 "PhotoFileAdapter.c" + } +} + + +PhotoFileReader* photo_file_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { + PhotoFileReader* self = NULL; + const gchar* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; +#line 60 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = filepath; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = file_format; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self = (PhotoFileReader*) photo_file_adapter_construct (object_type, _tmp0_, _tmp1_); +#line 60 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return self; +#line 692 "PhotoFileAdapter.c" +} + + +PhotoFileWriter* photo_file_reader_create_writer (PhotoFileReader* self, GError** error) { + PhotoFileWriter* result = NULL; + PhotoFileWriter* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PhotoFileWriter* _tmp4_ = NULL; + PhotoFileWriter* _tmp5_ = NULL; + PhotoFileWriter* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp2_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp3_ = _tmp2_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp4_ = photo_file_format_create_writer (_tmp1_, _tmp3_, &_inner_error_); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp5_ = _tmp4_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_free0 (_tmp3_); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = _tmp5_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (_inner_error_->domain == PHOTO_FORMAT_ERROR) { +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_propagate_error (error, _inner_error_); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 730 "PhotoFileAdapter.c" + } else { +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.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 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_clear_error (&_inner_error_); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 738 "PhotoFileAdapter.c" + } + } +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp6_ = _tmp0_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _tmp6_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _photo_file_adapter_unref0 (_tmp0_); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 751 "PhotoFileAdapter.c" +} + + +PhotoFileMetadataWriter* photo_file_reader_create_metadata_writer (PhotoFileReader* self, GError** error) { + PhotoFileMetadataWriter* result = NULL; + PhotoFileMetadataWriter* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PhotoFileMetadataWriter* _tmp4_ = NULL; + PhotoFileMetadataWriter* _tmp5_ = NULL; + PhotoFileMetadataWriter* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp2_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp3_ = _tmp2_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp4_ = photo_file_format_create_metadata_writer (_tmp1_, _tmp3_, &_inner_error_); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp5_ = _tmp4_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_free0 (_tmp3_); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = _tmp5_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (_inner_error_->domain == PHOTO_FORMAT_ERROR) { +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_propagate_error (error, _inner_error_); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 789 "PhotoFileAdapter.c" + } else { +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.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 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_clear_error (&_inner_error_); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 797 "PhotoFileAdapter.c" + } + } +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp6_ = _tmp0_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _tmp6_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _photo_file_adapter_unref0 (_tmp0_); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 810 "PhotoFileAdapter.c" +} + + +static PhotoMetadata* photo_file_reader_real_read_metadata (PhotoFileReader* self, GError** error) { +#line 72 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_reader_read_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 72 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 819 "PhotoFileAdapter.c" +} + + +PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error) { +#line 72 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); +#line 72 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return PHOTO_FILE_READER_GET_CLASS (self)->read_metadata (self, error); +#line 828 "PhotoFileAdapter.c" +} + + +static GdkPixbuf* photo_file_reader_real_unscaled_read (PhotoFileReader* self, GError** error) { +#line 74 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_reader_unscaled_read'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 74 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 837 "PhotoFileAdapter.c" +} + + +GdkPixbuf* photo_file_reader_unscaled_read (PhotoFileReader* self, GError** error) { +#line 74 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); +#line 74 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return PHOTO_FILE_READER_GET_CLASS (self)->unscaled_read (self, error); +#line 846 "PhotoFileAdapter.c" +} + + +static GdkPixbuf* photo_file_reader_real_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error) { + GdkPixbuf* result = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + GdkPixbuf* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (full != NULL, NULL); +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (scaled != NULL, NULL); +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = photo_file_reader_unscaled_read (self, &_inner_error_); +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = _tmp1_; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_propagate_error (error, _inner_error_); +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return NULL; +#line 871 "PhotoFileAdapter.c" + } +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp2_ = *scaled; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp3_ = resize_pixbuf (_tmp0_, &_tmp2_, GDK_INTERP_BILINEAR); +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _tmp3_; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_object_unref0 (_tmp0_); +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 883 "PhotoFileAdapter.c" +} + + +GdkPixbuf* photo_file_reader_scaled_read (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error) { +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_READER (self), NULL); +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return PHOTO_FILE_READER_GET_CLASS (self)->scaled_read (self, full, scaled, error); +#line 892 "PhotoFileAdapter.c" +} + + +static void photo_file_reader_class_init (PhotoFileReaderClass * klass) { +#line 59 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + photo_file_reader_parent_class = g_type_class_peek_parent (klass); +#line 59 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + ((PhotoFileReaderClass *) klass)->read_metadata = photo_file_reader_real_read_metadata; +#line 59 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + ((PhotoFileReaderClass *) klass)->unscaled_read = photo_file_reader_real_unscaled_read; +#line 59 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + ((PhotoFileReaderClass *) klass)->scaled_read = photo_file_reader_real_scaled_read; +#line 905 "PhotoFileAdapter.c" +} + + +static void photo_file_reader_instance_init (PhotoFileReader * self) { +} + + +GType photo_file_reader_get_type (void) { + static volatile gsize photo_file_reader_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_reader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileReader), 0, (GInstanceInitFunc) photo_file_reader_instance_init, NULL }; + GType photo_file_reader_type_id; + photo_file_reader_type_id = g_type_register_static (TYPE_PHOTO_FILE_ADAPTER, "PhotoFileReader", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_reader_type_id__volatile, photo_file_reader_type_id); + } + return photo_file_reader_type_id__volatile; +} + + +PhotoFileWriter* photo_file_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { + PhotoFileWriter* self = NULL; + const gchar* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; +#line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = filepath; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = file_format; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self = (PhotoFileWriter*) photo_file_adapter_construct (object_type, _tmp0_, _tmp1_); +#line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return self; +#line 939 "PhotoFileAdapter.c" +} + + +PhotoFileReader* photo_file_writer_create_reader (PhotoFileWriter* self) { + PhotoFileReader* result = NULL; + PhotoFileFormat _tmp0_ = 0; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; +#line 90 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_WRITER (self), NULL); +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp2_ = _tmp1_; +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp3_ = photo_file_format_create_reader (_tmp0_, _tmp2_); +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp4_ = _tmp3_; +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_free0 (_tmp2_); +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _tmp4_; +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 968 "PhotoFileAdapter.c" +} + + +static void photo_file_writer_real_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error) { +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_writer_write'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return; +#line 977 "PhotoFileAdapter.c" +} + + +void photo_file_writer_write (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error) { +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_if_fail (IS_PHOTO_FILE_WRITER (self)); +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + PHOTO_FILE_WRITER_GET_CLASS (self)->write (self, pixbuf, quality, error); +#line 986 "PhotoFileAdapter.c" +} + + +static void photo_file_writer_class_init (PhotoFileWriterClass * klass) { +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + photo_file_writer_parent_class = g_type_class_peek_parent (klass); +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + ((PhotoFileWriterClass *) klass)->write = photo_file_writer_real_write; +#line 995 "PhotoFileAdapter.c" +} + + +static void photo_file_writer_instance_init (PhotoFileWriter * self) { +} + + +GType photo_file_writer_get_type (void) { + static volatile gsize photo_file_writer_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileWriter), 0, (GInstanceInitFunc) photo_file_writer_instance_init, NULL }; + GType photo_file_writer_type_id; + photo_file_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_ADAPTER, "PhotoFileWriter", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_writer_type_id__volatile, photo_file_writer_type_id); + } + return photo_file_writer_type_id__volatile; +} + + +PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format) { + PhotoFileMetadataWriter* self = NULL; + const gchar* _tmp0_ = NULL; + PhotoFileFormat _tmp1_ = 0; +#line 102 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = filepath; +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = file_format; +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + self = (PhotoFileMetadataWriter*) photo_file_adapter_construct (object_type, _tmp0_, _tmp1_); +#line 102 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return self; +#line 1029 "PhotoFileAdapter.c" +} + + +PhotoFileReader* photo_file_metadata_writer_create_reader (PhotoFileMetadataWriter* self) { + PhotoFileReader* result = NULL; + PhotoFileFormat _tmp0_ = 0; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_val_if_fail (IS_PHOTO_FILE_METADATA_WRITER (self), NULL); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp0_ = photo_file_adapter_get_file_format (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp2_ = _tmp1_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp3_ = photo_file_format_create_reader (_tmp0_, _tmp2_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _tmp4_ = _tmp3_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + _g_free0 (_tmp2_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + result = _tmp4_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return result; +#line 1058 "PhotoFileAdapter.c" +} + + +static void photo_file_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error) { +#line 110 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_metadata_writer_write_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 110 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + return; +#line 1067 "PhotoFileAdapter.c" +} + + +void photo_file_metadata_writer_write_metadata (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error) { +#line 110 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + g_return_if_fail (IS_PHOTO_FILE_METADATA_WRITER (self)); +#line 110 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + PHOTO_FILE_METADATA_WRITER_GET_CLASS (self)->write_metadata (self, metadata, error); +#line 1076 "PhotoFileAdapter.c" +} + + +static void photo_file_metadata_writer_class_init (PhotoFileMetadataWriterClass * klass) { +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + photo_file_metadata_writer_parent_class = g_type_class_peek_parent (klass); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileAdapter.vala" + ((PhotoFileMetadataWriterClass *) klass)->write_metadata = photo_file_metadata_writer_real_write_metadata; +#line 1085 "PhotoFileAdapter.c" +} + + +static void photo_file_metadata_writer_instance_init (PhotoFileMetadataWriter * self) { +} + + +GType photo_file_metadata_writer_get_type (void) { + static volatile gsize photo_file_metadata_writer_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_metadata_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileMetadataWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_metadata_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileMetadataWriter), 0, (GInstanceInitFunc) photo_file_metadata_writer_instance_init, NULL }; + GType photo_file_metadata_writer_type_id; + photo_file_metadata_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_ADAPTER, "PhotoFileMetadataWriter", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_metadata_writer_type_id__volatile, photo_file_metadata_writer_type_id); + } + return photo_file_metadata_writer_type_id__volatile; +} + + + diff --git a/src/photos/PhotoFileFormat.c b/src/photos/PhotoFileFormat.c new file mode 100644 index 0000000..6e05342 --- /dev/null +++ b/src/photos/PhotoFileFormat.c @@ -0,0 +1,3277 @@ +/* PhotoFileFormat.c generated by valac 0.32.1, the Vala compiler + * generated from PhotoFileFormat.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_PHOTO_FILE_FORMAT_DRIVER (photo_file_format_driver_get_type ()) +#define PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver)) +#define PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) +#define IS_PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define IS_PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define PHOTO_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) + +typedef struct _PhotoFileFormatDriver PhotoFileFormatDriver; +typedef struct _PhotoFileFormatDriverClass PhotoFileFormatDriverClass; + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) +#define _photo_file_format_driver_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_driver_unref (var), NULL))) + +#define TYPE_JFIF_FILE_FORMAT_DRIVER (jfif_file_format_driver_get_type ()) +#define JFIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriver)) +#define JFIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriverClass)) +#define IS_JFIF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER)) +#define IS_JFIF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_JFIF_FILE_FORMAT_DRIVER)) +#define JFIF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_JFIF_FILE_FORMAT_DRIVER, JfifFileFormatDriverClass)) + +typedef struct _JfifFileFormatDriver JfifFileFormatDriver; +typedef struct _JfifFileFormatDriverClass JfifFileFormatDriverClass; + +#define TYPE_RAW_FILE_FORMAT_DRIVER (raw_file_format_driver_get_type ()) +#define RAW_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver)) +#define RAW_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriverClass)) +#define IS_RAW_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_FILE_FORMAT_DRIVER)) +#define IS_RAW_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_FILE_FORMAT_DRIVER)) +#define RAW_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriverClass)) + +typedef struct _RawFileFormatDriver RawFileFormatDriver; +typedef struct _RawFileFormatDriverClass RawFileFormatDriverClass; + +#define TYPE_PNG_FILE_FORMAT_DRIVER (png_file_format_driver_get_type ()) +#define PNG_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver)) +#define PNG_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriverClass)) +#define IS_PNG_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_FILE_FORMAT_DRIVER)) +#define IS_PNG_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_FILE_FORMAT_DRIVER)) +#define PNG_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriverClass)) + +typedef struct _PngFileFormatDriver PngFileFormatDriver; +typedef struct _PngFileFormatDriverClass PngFileFormatDriverClass; + +#define PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER (photos_tiff_file_format_driver_get_type ()) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver)) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriverClass)) +#define PHOTOS_IS_TIFF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER)) +#define PHOTOS_IS_TIFF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER)) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriverClass)) + +typedef struct _PhotosTiffFileFormatDriver PhotosTiffFileFormatDriver; +typedef struct _PhotosTiffFileFormatDriverClass PhotosTiffFileFormatDriverClass; + +#define PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER (photos_bmp_file_format_driver_get_type ()) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriver)) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriverClass)) +#define PHOTOS_IS_BMP_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER)) +#define PHOTOS_IS_BMP_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER)) +#define PHOTOS_BMP_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_BMP_FILE_FORMAT_DRIVER, PhotosBmpFileFormatDriverClass)) + +typedef struct _PhotosBmpFileFormatDriver PhotosBmpFileFormatDriver; +typedef struct _PhotosBmpFileFormatDriverClass PhotosBmpFileFormatDriverClass; + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; +#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +typedef struct _PhotoFileFormatDriverPrivate PhotoFileFormatDriverPrivate; +typedef struct _ParamSpecPhotoFileFormatDriver ParamSpecPhotoFileFormatDriver; + +#define TYPE_PHOTO_FILE_FORMAT_FLAGS (photo_file_format_flags_get_type ()) +typedef struct _PhotoFileFormatPropertiesPrivate PhotoFileFormatPropertiesPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecPhotoFileFormatProperties ParamSpecPhotoFileFormatProperties; + +typedef enum { + PHOTO_FORMAT_ERROR_READ_ONLY +} PhotoFormatError; +#define PHOTO_FORMAT_ERROR photo_format_error_quark () +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef gboolean (*PhotoFileFormatDataApplicableTest) (PhotoFileFormat format, void* user_data); +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileFormatDriver { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatDriverPrivate * priv; +}; + +struct _PhotoFileFormatDriverClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatDriver *self); + PhotoFileFormatProperties* (*get_properties) (PhotoFileFormatDriver* self); + PhotoFileReader* (*create_reader) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoMetadata* (*create_metadata) (PhotoFileFormatDriver* self); + gboolean (*can_write_image) (PhotoFileFormatDriver* self); + gboolean (*can_write_metadata) (PhotoFileFormatDriver* self); + PhotoFileWriter* (*create_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileMetadataWriter* (*create_metadata_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileSniffer* (*create_sniffer) (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +}; + +struct _ParamSpecPhotoFileFormatDriver { + GParamSpec parent_instance; +}; + +typedef enum { + PHOTO_FILE_FORMAT_FLAGS_NONE = 0x00000000 +} PhotoFileFormatFlags; + +struct _PhotoFileFormatProperties { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatPropertiesPrivate * priv; +}; + +struct _PhotoFileFormatPropertiesClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatProperties *self); + PhotoFileFormat (*get_file_format) (PhotoFileFormatProperties* self); + PhotoFileFormatFlags (*get_flags) (PhotoFileFormatProperties* self); + gboolean (*is_recognized_extension) (PhotoFileFormatProperties* self, const gchar* ext); + gchar* (*get_default_extension) (PhotoFileFormatProperties* self); + gchar** (*get_known_extensions) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_default_mime_type) (PhotoFileFormatProperties* self); + gchar** (*get_mime_types) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_user_visible_name) (PhotoFileFormatProperties* self); +}; + +struct _ParamSpecPhotoFileFormatProperties { + GParamSpec parent_instance; +}; + + +extern PhotoFileFormat* photo_file_format_data_writeable; +extern gint photo_file_format_data_writeable_length1; +PhotoFileFormat* photo_file_format_data_writeable = NULL; +gint photo_file_format_data_writeable_length1 = 0; +static gint _photo_file_format_data_writeable_size_ = 0; +extern PhotoFileFormat* photo_file_format_data_image_writeable; +extern gint photo_file_format_data_image_writeable_length1; +PhotoFileFormat* photo_file_format_data_image_writeable = NULL; +gint photo_file_format_data_image_writeable_length1 = 0; +static gint _photo_file_format_data_image_writeable_size_ = 0; +extern PhotoFileFormat* photo_file_format_data_metadata_writeable; +extern gint photo_file_format_data_metadata_writeable_length1; +PhotoFileFormat* photo_file_format_data_metadata_writeable = NULL; +gint photo_file_format_data_metadata_writeable_length1 = 0; +static gint _photo_file_format_data_metadata_writeable_size_ = 0; +static gpointer photo_file_format_driver_parent_class = NULL; +static gpointer photo_file_format_properties_parent_class = NULL; + +GQuark photo_format_error_quark (void); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat* photo_file_format_data_find_applicable (PhotoFileFormatDataApplicableTest test, void* test_target, int* result_length1); +PhotoFileFormat* photo_file_format_get_supported (int* result_length1); +static void _vala_array_add43 (PhotoFileFormat** array, int* length, int* size, PhotoFileFormat value); +PhotoFileFormat* photo_file_format_data_get_writeable (int* result_length1); +static gboolean ___lambda4_ (PhotoFileFormat format); +gboolean photo_file_format_can_write (PhotoFileFormat self); +static gboolean ____lambda4__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self); +static PhotoFileFormat* _vala_array_dup1 (PhotoFileFormat* self, int length); +PhotoFileFormat* photo_file_format_data_get_image_writeable (int* result_length1); +static gboolean ___lambda22_ (PhotoFileFormat format); +gboolean photo_file_format_can_write_image (PhotoFileFormat self); +static gboolean ____lambda22__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self); +static PhotoFileFormat* _vala_array_dup2 (PhotoFileFormat* self, int length); +PhotoFileFormat* photo_file_format_data_get_metadata_writeable (int* result_length1); +static gboolean ___lambda23_ (PhotoFileFormat format); +gboolean photo_file_format_can_write_metadata (PhotoFileFormat self); +static gboolean ____lambda23__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self); +static PhotoFileFormat* _vala_array_dup3 (PhotoFileFormat* self, int length); +PhotoFileFormat* photo_file_format_get_writeable (int* result_length1); +PhotoFileFormat* photo_file_format_get_image_writeable (int* result_length1); +PhotoFileFormat* photo_file_format_get_metadata_writeable (int* result_length1); +PhotoFileFormat photo_file_format_get_by_basename_extension (const gchar* basename); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +gboolean is_string_empty (const gchar* s); +gpointer photo_file_format_driver_ref (gpointer instance); +void photo_file_format_driver_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_driver (GValue* value, gpointer v_object); +void value_take_photo_file_format_driver (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_driver (const GValue* value); +GType photo_file_format_driver_get_type (void) G_GNUC_CONST; +static PhotoFileFormatDriver* photo_file_format_get_driver (PhotoFileFormat self); +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +PhotoFileFormatProperties* photo_file_format_driver_get_properties (PhotoFileFormatDriver* self); +gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext); +gboolean photo_file_format_is_file_supported (GFile* file); +gboolean photo_file_format_is_basename_supported (const gchar* basename); +PhotoFileFormat photo_file_format_get_system_default_format (void); +PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file); +gint photo_file_format_serialize (PhotoFileFormat self); +PhotoFileFormat photo_file_format_unserialize (gint value); +PhotoFileFormat photo_file_format_from_gphoto_type (const gchar* type); +PhotoFileFormat photo_file_format_from_pixbuf_name (const gchar* name); +void photo_file_format_init (PhotoFileFormat self); +void jfif_file_format_driver_init (void); +void raw_file_format_driver_init (void); +void png_file_format_driver_init (void); +void photos_tiff_file_format_driver_init (void); +void photos_bmp_file_format_driver_init (void); +const gchar* photo_file_format_to_string (PhotoFileFormat self); +GType jfif_file_format_driver_get_type (void) G_GNUC_CONST; +JfifFileFormatDriver* jfif_file_format_driver_get_instance (void); +GType raw_file_format_driver_get_type (void) G_GNUC_CONST; +RawFileFormatDriver* raw_file_format_driver_get_instance (void); +GType png_file_format_driver_get_type (void) G_GNUC_CONST; +PngFileFormatDriver* png_file_format_driver_get_instance (void); +GType photos_tiff_file_format_driver_get_type (void) G_GNUC_CONST; +PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_get_instance (void); +GType photos_bmp_file_format_driver_get_type (void) G_GNUC_CONST; +PhotosBmpFileFormatDriver* photos_bmp_file_format_driver_get_instance (void); +PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self); +gchar* photo_file_format_get_default_basename (PhotoFileFormat self, const gchar* name); +gchar* photo_file_format_properties_get_default_extension (PhotoFileFormatProperties* self); +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath); +PhotoFileReader* photo_file_format_driver_create_reader (PhotoFileFormatDriver* self, const gchar* filepath); +gboolean photo_file_format_driver_can_write_image (PhotoFileFormatDriver* self); +gboolean photo_file_format_driver_can_write_metadata (PhotoFileFormatDriver* self); +GType photo_file_writer_get_type (void) G_GNUC_CONST; +PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +PhotoFileWriter* photo_file_format_driver_create_writer (PhotoFileFormatDriver* self, const gchar* filepath); +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +PhotoFileMetadataWriter* photo_file_format_create_metadata_writer (PhotoFileFormat self, const gchar* filepath, GError** error); +PhotoFileMetadataWriter* photo_file_format_driver_create_metadata_writer (PhotoFileFormatDriver* self, const gchar* filepath); +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +PhotoFileSniffer* photo_file_format_create_sniffer (PhotoFileFormat self, GFile* file, PhotoFileSnifferOptions options); +PhotoFileSniffer* photo_file_format_driver_create_sniffer (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +PhotoMetadata* photo_file_format_create_metadata (PhotoFileFormat self); +PhotoMetadata* photo_file_format_driver_create_metadata (PhotoFileFormatDriver* self); +gchar* photo_file_format_get_default_mime_type (PhotoFileFormat self); +gchar* photo_file_format_properties_get_default_mime_type (PhotoFileFormatProperties* self); +gchar** photo_file_format_get_mime_types (PhotoFileFormat self, int* result_length1); +gchar** photo_file_format_properties_get_mime_types (PhotoFileFormatProperties* self, int* result_length1); +gchar** photo_file_format_get_editable_mime_types (int* result_length1); +static void _vala_array_add44 (gchar*** array, int* length, int* size, gchar* value); +enum { + PHOTO_FILE_FORMAT_DRIVER_DUMMY_PROPERTY +}; +static PhotoFileFormatProperties* photo_file_format_driver_real_get_properties (PhotoFileFormatDriver* self); +static PhotoFileReader* photo_file_format_driver_real_create_reader (PhotoFileFormatDriver* self, const gchar* filepath); +static PhotoMetadata* photo_file_format_driver_real_create_metadata (PhotoFileFormatDriver* self); +static gboolean photo_file_format_driver_real_can_write_image (PhotoFileFormatDriver* self); +static gboolean photo_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* self); +static PhotoFileWriter* photo_file_format_driver_real_create_writer (PhotoFileFormatDriver* self, const gchar* filepath); +static PhotoFileMetadataWriter* photo_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* self, const gchar* filepath); +static PhotoFileSniffer* photo_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type); +static void photo_file_format_driver_finalize (PhotoFileFormatDriver* obj); +GType photo_file_format_flags_get_type (void) G_GNUC_CONST; +enum { + PHOTO_FILE_FORMAT_PROPERTIES_DUMMY_PROPERTY +}; +PhotoFileFormat photo_file_format_properties_get_file_format (PhotoFileFormatProperties* self); +static PhotoFileFormat photo_file_format_properties_real_get_file_format (PhotoFileFormatProperties* self); +PhotoFileFormatFlags photo_file_format_properties_get_flags (PhotoFileFormatProperties* self); +static PhotoFileFormatFlags photo_file_format_properties_real_get_flags (PhotoFileFormatProperties* self); +static gboolean photo_file_format_properties_real_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext); +gboolean is_in_ci_array (const gchar* str, gchar** strings, int strings_length1); +gchar** photo_file_format_properties_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1); +static gchar* photo_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* self); +static gchar** photo_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1); +static gchar* photo_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* self); +static gchar** photo_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* self, int* result_length1); +gchar* photo_file_format_properties_get_user_visible_name (PhotoFileFormatProperties* self); +static gchar* photo_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* self); +GFile* photo_file_format_properties_convert_file_extension (PhotoFileFormatProperties* self, GFile* file); +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type); +static void photo_file_format_properties_finalize (PhotoFileFormatProperties* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +GQuark photo_format_error_quark (void) { + return g_quark_from_static_string ("photo_format_error-quark"); +} + + +static void _vala_array_add43 (PhotoFileFormat** array, int* length, int* size, PhotoFileFormat value) { +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if ((*length) == (*size)) { +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *array = g_renew (PhotoFileFormat, *array, *size); +#line 427 "PhotoFileFormat.c" + } +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + (*array)[(*length)++] = value; +#line 431 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_data_find_applicable (PhotoFileFormatDataApplicableTest test, void* test_target, int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* applicable = NULL; + PhotoFileFormat* _tmp0_ = NULL; + gint applicable_length1 = 0; + gint _applicable_size_ = 0; + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; + PhotoFileFormat* _tmp8_ = NULL; + gint _tmp8__length1 = 0; +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = g_new0 (PhotoFileFormat, 0); +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + applicable = _tmp0_; +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + applicable_length1 = 0; +#line 23 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _applicable_size_ = applicable_length1; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_get_supported (&_tmp1_); +#line 455 "PhotoFileFormat.c" + { + PhotoFileFormat* format_collection = NULL; + gint format_collection_length1 = 0; + gint _format_collection_size_ = 0; + gint format_it = 0; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = _tmp2_; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection_length1 = _tmp1_; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (format_it = 0; format_it < _tmp1_; format_it = format_it + 1) { +#line 467 "PhotoFileFormat.c" + PhotoFileFormat format = 0; +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format = format_collection[format_it]; +#line 471 "PhotoFileFormat.c" + { + PhotoFileFormatDataApplicableTest _tmp3_ = NULL; + void* _tmp3__target = NULL; + PhotoFileFormat _tmp4_ = 0; + gboolean _tmp5_ = FALSE; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = test; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__target = test_target; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = format; +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp3_ (_tmp4_, _tmp3__target); +#line 25 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp5_) { +#line 487 "PhotoFileFormat.c" + PhotoFileFormat* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + PhotoFileFormat _tmp7_ = 0; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = applicable; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6__length1 = applicable_length1; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = format; +#line 26 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _vala_array_add43 (&applicable, &applicable_length1, &_applicable_size_, _tmp7_); +#line 499 "PhotoFileFormat.c" + } + } + } +#line 24 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = (g_free (format_collection), NULL); +#line 505 "PhotoFileFormat.c" + } +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = applicable; +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8__length1 = applicable_length1; +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp8__length1; +#line 515 "PhotoFileFormat.c" + } +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp8_; +#line 29 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 521 "PhotoFileFormat.c" +} + + +static gboolean ___lambda4_ (PhotoFileFormat format) { + gboolean result = FALSE; + PhotoFileFormat _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = format; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_can_write (_tmp0_); +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 537 "PhotoFileFormat.c" +} + + +static gboolean ____lambda4__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self) { + gboolean result; + result = ___lambda4_ (format); +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 546 "PhotoFileFormat.c" +} + + +static PhotoFileFormat* _vala_array_dup1 (PhotoFileFormat* self, int length) { +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_memdup (self, length * sizeof (PhotoFileFormat)); +#line 553 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_data_get_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PhotoFileFormat* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PhotoFileFormat* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PhotoFileFormat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 33 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_data_writeable; +#line 33 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0__length1 = photo_file_format_data_writeable_length1; +#line 33 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp0_ == NULL) { +#line 573 "PhotoFileFormat.c" + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_data_find_applicable (____lambda4__photo_file_format_data_applicable_test, NULL, &_tmp1_); +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_writeable = (g_free (photo_file_format_data_writeable), NULL); +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_writeable = _tmp2_; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_writeable_length1 = _tmp1_; +#line 34 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_data_writeable_size_ = photo_file_format_data_writeable_length1; +#line 586 "PhotoFileFormat.c" + } +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_data_writeable; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__length1 = photo_file_format_data_writeable_length1; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = (_tmp3_ != NULL) ? _vala_array_dup1 (_tmp3_, _tmp3__length1) : ((gpointer) _tmp3_); +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4__length1 = _tmp3__length1; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5__length1 = _tmp4__length1; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp5__length1; +#line 604 "PhotoFileFormat.c" + } +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 36 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 610 "PhotoFileFormat.c" +} + + +static gboolean ___lambda22_ (PhotoFileFormat format) { + gboolean result = FALSE; + PhotoFileFormat _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = format; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_can_write_image (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 626 "PhotoFileFormat.c" +} + + +static gboolean ____lambda22__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self) { + gboolean result; + result = ___lambda22_ (format); +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 635 "PhotoFileFormat.c" +} + + +static PhotoFileFormat* _vala_array_dup2 (PhotoFileFormat* self, int length) { +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_memdup (self, length * sizeof (PhotoFileFormat)); +#line 642 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_data_get_image_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PhotoFileFormat* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PhotoFileFormat* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PhotoFileFormat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_data_image_writeable; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0__length1 = photo_file_format_data_image_writeable_length1; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp0_ == NULL) { +#line 662 "PhotoFileFormat.c" + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_data_find_applicable (____lambda22__photo_file_format_data_applicable_test, NULL, &_tmp1_); +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_image_writeable = (g_free (photo_file_format_data_image_writeable), NULL); +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_image_writeable = _tmp2_; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_image_writeable_length1 = _tmp1_; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_data_image_writeable_size_ = photo_file_format_data_image_writeable_length1; +#line 675 "PhotoFileFormat.c" + } +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_data_image_writeable; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__length1 = photo_file_format_data_image_writeable_length1; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = (_tmp3_ != NULL) ? _vala_array_dup2 (_tmp3_, _tmp3__length1) : ((gpointer) _tmp3_); +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4__length1 = _tmp3__length1; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5__length1 = _tmp4__length1; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp5__length1; +#line 693 "PhotoFileFormat.c" + } +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 699 "PhotoFileFormat.c" +} + + +static gboolean ___lambda23_ (PhotoFileFormat format) { + gboolean result = FALSE; + PhotoFileFormat _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = format; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_can_write_metadata (_tmp0_); +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 715 "PhotoFileFormat.c" +} + + +static gboolean ____lambda23__photo_file_format_data_applicable_test (PhotoFileFormat format, gpointer self) { + gboolean result; + result = ___lambda23_ (format); +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 724 "PhotoFileFormat.c" +} + + +static PhotoFileFormat* _vala_array_dup3 (PhotoFileFormat* self, int length) { +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_memdup (self, length * sizeof (PhotoFileFormat)); +#line 731 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_data_get_metadata_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + PhotoFileFormat* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + PhotoFileFormat* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + PhotoFileFormat* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_data_metadata_writeable; +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0__length1 = photo_file_format_data_metadata_writeable_length1; +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp0_ == NULL) { +#line 751 "PhotoFileFormat.c" + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_data_find_applicable (____lambda23__photo_file_format_data_applicable_test, NULL, &_tmp1_); +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_metadata_writeable = (g_free (photo_file_format_data_metadata_writeable), NULL); +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_metadata_writeable = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_data_metadata_writeable_length1 = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_data_metadata_writeable_size_ = photo_file_format_data_metadata_writeable_length1; +#line 764 "PhotoFileFormat.c" + } +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_data_metadata_writeable; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__length1 = photo_file_format_data_metadata_writeable_length1; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = (_tmp3_ != NULL) ? _vala_array_dup3 (_tmp3_, _tmp3__length1) : ((gpointer) _tmp3_); +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4__length1 = _tmp3__length1; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5__length1 = _tmp4__length1; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp5__length1; +#line 782 "PhotoFileFormat.c" + } +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 788 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_get_supported (int* result_length1) { + PhotoFileFormat* result = NULL; + PhotoFileFormat* _tmp0_ = NULL; + PhotoFileFormat* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = g_new0 (PhotoFileFormat, 5); +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[0] = PHOTO_FILE_FORMAT_JFIF; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[1] = PHOTO_FILE_FORMAT_RAW; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[2] = PHOTO_FILE_FORMAT_PNG; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[3] = PHOTO_FILE_FORMAT_TIFF; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_[4] = PHOTO_FILE_FORMAT_BMP; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1__length1 = 5; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp1__length1; +#line 817 "PhotoFileFormat.c" + } +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp1_; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 823 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_get_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + gint _tmp0_ = 0; + PhotoFileFormat* _tmp1_ = NULL; + PhotoFileFormat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_data_get_writeable (&_tmp0_); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2__length1 = _tmp0_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp2__length1; +#line 843 "PhotoFileFormat.c" + } +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp2_; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 849 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_get_image_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + gint _tmp0_ = 0; + PhotoFileFormat* _tmp1_ = NULL; + PhotoFileFormat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_data_get_image_writeable (&_tmp0_); +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2__length1 = _tmp0_; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp2__length1; +#line 869 "PhotoFileFormat.c" + } +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp2_; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 875 "PhotoFileFormat.c" +} + + +PhotoFileFormat* photo_file_format_get_metadata_writeable (int* result_length1) { + PhotoFileFormat* result = NULL; + gint _tmp0_ = 0; + PhotoFileFormat* _tmp1_ = NULL; + PhotoFileFormat* _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_data_get_metadata_writeable (&_tmp0_); +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2__length1 = _tmp0_; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp2__length1; +#line 895 "PhotoFileFormat.c" + } +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp2_; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 901 "PhotoFileFormat.c" +} + + +PhotoFileFormat photo_file_format_get_by_basename_extension (const gchar* basename) { + PhotoFileFormat result = 0; + gchar* name = NULL; + gchar* ext = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; + PhotoFileFormat* _tmp6_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (basename != NULL, 0); +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = basename; +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + disassemble_filename (_tmp0_, &_tmp1_, &_tmp2_); +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + name = _tmp1_; +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 82 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ext = _tmp2_; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = ext; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = is_string_empty (_tmp3_); +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp4_) { +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 944 "PhotoFileFormat.c" + } +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = photo_file_format_get_supported (&_tmp5_); +#line 948 "PhotoFileFormat.c" + { + PhotoFileFormat* file_format_collection = NULL; + gint file_format_collection_length1 = 0; + gint _file_format_collection_size_ = 0; + gint file_format_it = 0; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = _tmp6_; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection_length1 = _tmp5_; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (file_format_it = 0; file_format_it < _tmp5_; file_format_it = file_format_it + 1) { +#line 960 "PhotoFileFormat.c" + PhotoFileFormat file_format = 0; +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format = file_format_collection[file_format_it]; +#line 964 "PhotoFileFormat.c" + { + PhotoFileFormat _tmp7_ = 0; + PhotoFileFormatDriver* _tmp8_ = NULL; + PhotoFileFormatDriver* _tmp9_ = NULL; + PhotoFileFormatProperties* _tmp10_ = NULL; + PhotoFileFormatProperties* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = file_format; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = photo_file_format_get_driver (_tmp7_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp9_ = _tmp8_; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10_ = photo_file_format_driver_get_properties (_tmp9_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp11_ = _tmp10_; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp12_ = ext; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp13_ = photo_file_format_properties_is_recognized_extension (_tmp11_, _tmp12_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp14_ = _tmp13_; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp11_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp9_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp14_) { +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = file_format; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = (g_free (file_format_collection), NULL); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1006 "PhotoFileFormat.c" + } + } + } +#line 87 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = (g_free (file_format_collection), NULL); +#line 1012 "PhotoFileFormat.c" + } +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1022 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_is_file_supported (GFile* file) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 95 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = file; +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_is_basename_supported (_tmp2_); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp2_); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp4_; +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1051 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_is_basename_supported (const gchar* basename) { + gboolean result = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gint _tmp5_ = 0; + PhotoFileFormat* _tmp6_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (basename != NULL, FALSE); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = basename; +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + disassemble_filename (_tmp0_, &_tmp1_, &_tmp2_); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + name = _tmp1_; +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 101 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ext = _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = ext; +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = is_string_empty (_tmp3_); +#line 103 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp4_) { +#line 104 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = FALSE; +#line 104 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 104 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 104 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1094 "PhotoFileFormat.c" + } +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = photo_file_format_get_supported (&_tmp5_); +#line 1098 "PhotoFileFormat.c" + { + PhotoFileFormat* format_collection = NULL; + gint format_collection_length1 = 0; + gint _format_collection_size_ = 0; + gint format_it = 0; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = _tmp6_; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection_length1 = _tmp5_; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (format_it = 0; format_it < _tmp5_; format_it = format_it + 1) { +#line 1110 "PhotoFileFormat.c" + PhotoFileFormat format = 0; +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format = format_collection[format_it]; +#line 1114 "PhotoFileFormat.c" + { + PhotoFileFormat _tmp7_ = 0; + PhotoFileFormatDriver* _tmp8_ = NULL; + PhotoFileFormatDriver* _tmp9_ = NULL; + PhotoFileFormatProperties* _tmp10_ = NULL; + PhotoFileFormatProperties* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = format; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = photo_file_format_get_driver (_tmp7_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp9_ = _tmp8_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10_ = photo_file_format_driver_get_properties (_tmp9_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp11_ = _tmp10_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp12_ = ext; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp13_ = photo_file_format_properties_is_recognized_extension (_tmp11_, _tmp12_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp14_ = _tmp13_; +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp11_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp9_); +#line 107 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp14_) { +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = TRUE; +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = (g_free (format_collection), NULL); +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 108 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1156 "PhotoFileFormat.c" + } + } + } +#line 106 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + format_collection = (g_free (format_collection), NULL); +#line 1162 "PhotoFileFormat.c" + } +#line 111 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = FALSE; +#line 111 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 111 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 111 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1172 "PhotoFileFormat.c" +} + + +PhotoFileFormat photo_file_format_get_system_default_format (void) { + PhotoFileFormat result = 0; +#line 116 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 116 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1182 "PhotoFileFormat.c" +} + + +PhotoFileFormat photo_file_format_get_by_file_extension (GFile* file) { + PhotoFileFormat result = 0; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + PhotoFileFormat _tmp3_ = 0; + PhotoFileFormat _tmp4_ = 0; +#line 119 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = file; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_get_by_basename_extension (_tmp2_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp2_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp4_; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1211 "PhotoFileFormat.c" +} + + +gint photo_file_format_serialize (PhotoFileFormat self) { + gint result = 0; +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (self) { +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_JFIF: +#line 1221 "PhotoFileFormat.c" + { +#line 127 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 0; +#line 127 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1227 "PhotoFileFormat.c" + } +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_RAW: +#line 1231 "PhotoFileFormat.c" + { +#line 130 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 1; +#line 130 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1237 "PhotoFileFormat.c" + } +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_PNG: +#line 1241 "PhotoFileFormat.c" + { +#line 133 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 2; +#line 133 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1247 "PhotoFileFormat.c" + } +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_TIFF: +#line 1251 "PhotoFileFormat.c" + { +#line 136 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 3; +#line 136 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1257 "PhotoFileFormat.c" + } +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_BMP: +#line 1261 "PhotoFileFormat.c" + { +#line 139 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = 4; +#line 139 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1267 "PhotoFileFormat.c" + } + default: +#line 125 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_UNKNOWN: +#line 1272 "PhotoFileFormat.c" + { +#line 143 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = -1; +#line 143 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1278 "PhotoFileFormat.c" + } + } +} + + +PhotoFileFormat photo_file_format_unserialize (gint value) { + PhotoFileFormat result = 0; + gint _tmp0_ = 0; +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = value; +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (_tmp0_) { +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 0: +#line 1293 "PhotoFileFormat.c" + { +#line 151 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 151 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1299 "PhotoFileFormat.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 1: +#line 1303 "PhotoFileFormat.c" + { +#line 154 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_RAW; +#line 154 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1309 "PhotoFileFormat.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 2: +#line 1313 "PhotoFileFormat.c" + { +#line 157 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_PNG; +#line 157 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1319 "PhotoFileFormat.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 3: +#line 1323 "PhotoFileFormat.c" + { +#line 160 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_TIFF; +#line 160 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1329 "PhotoFileFormat.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case 4: +#line 1333 "PhotoFileFormat.c" + { +#line 163 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_BMP; +#line 163 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1339 "PhotoFileFormat.c" + } + default: + { +#line 166 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 166 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1347 "PhotoFileFormat.c" + } + } +} + + +PhotoFileFormat photo_file_format_from_gphoto_type (const gchar* type) { + PhotoFileFormat result = 0; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; +#line 170 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (type != NULL, 0); +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = type; +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp3_ == g_quark_from_string (GP_MIME_JPEG)) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1370 "PhotoFileFormat.c" + default: + { +#line 173 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 173 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1377 "PhotoFileFormat.c" + } + } + } else if ((_tmp3_ == g_quark_from_string (GP_MIME_RAW)) || (_tmp3_ == g_quark_from_string (GP_MIME_CRW))) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1383 "PhotoFileFormat.c" + default: + { +#line 177 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_RAW; +#line 177 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1390 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == g_quark_from_string (GP_MIME_PNG)) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1396 "PhotoFileFormat.c" + default: + { +#line 180 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_PNG; +#line 180 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1403 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == g_quark_from_string (GP_MIME_TIFF)) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1409 "PhotoFileFormat.c" + default: + { +#line 183 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_TIFF; +#line 183 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1416 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == g_quark_from_string (GP_MIME_BMP)) { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1422 "PhotoFileFormat.c" + default: + { +#line 186 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_BMP; +#line 186 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1429 "PhotoFileFormat.c" + } + } + } else { +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1435 "PhotoFileFormat.c" + default: + { +#line 190 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 190 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1442 "PhotoFileFormat.c" + } + } + } +} + + +PhotoFileFormat photo_file_format_from_pixbuf_name (const gchar* name) { + PhotoFileFormat result = 0; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + static GQuark _tmp2_label0 = 0; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + static GQuark _tmp2_label1 = 0; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + static GQuark _tmp2_label2 = 0; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + static GQuark _tmp2_label3 = 0; +#line 195 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (name != NULL, 0); +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = name; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("jpeg")))) { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1474 "PhotoFileFormat.c" + default: + { +#line 198 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_JFIF; +#line 198 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1481 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("png")))) { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1487 "PhotoFileFormat.c" + default: + { +#line 201 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_PNG; +#line 201 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1494 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("tiff")))) { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1500 "PhotoFileFormat.c" + default: + { +#line 204 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_TIFF; +#line 204 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1507 "PhotoFileFormat.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("bmp")))) { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1513 "PhotoFileFormat.c" + default: + { +#line 207 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_BMP; +#line 207 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1520 "PhotoFileFormat.c" + } + } + } else { +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (0) { +#line 1526 "PhotoFileFormat.c" + default: + { +#line 210 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = PHOTO_FILE_FORMAT_UNKNOWN; +#line 210 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1533 "PhotoFileFormat.c" + } + } + } +} + + +void photo_file_format_init (PhotoFileFormat self) { +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (self) { +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_JFIF: +#line 1545 "PhotoFileFormat.c" + { +#line 217 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + jfif_file_format_driver_init (); +#line 218 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1551 "PhotoFileFormat.c" + } +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_RAW: +#line 1555 "PhotoFileFormat.c" + { +#line 221 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + raw_file_format_driver_init (); +#line 222 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1561 "PhotoFileFormat.c" + } +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_PNG: +#line 1565 "PhotoFileFormat.c" + { +#line 225 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + png_file_format_driver_init (); +#line 226 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1571 "PhotoFileFormat.c" + } +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_TIFF: +#line 1575 "PhotoFileFormat.c" + { +#line 229 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photos_tiff_file_format_driver_init (); +#line 230 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1581 "PhotoFileFormat.c" + } +#line 215 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_BMP: +#line 1585 "PhotoFileFormat.c" + { +#line 233 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photos_bmp_file_format_driver_init (); +#line 234 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + break; +#line 1591 "PhotoFileFormat.c" + } + default: + { + GEnumValue* _tmp0_; +#line 237 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), self); +#line 237 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_error ("PhotoFileFormat.vala:237: Unsupported file format %s", (_tmp0_ != NULL) ? _tmp0_->value_name : NULL); +#line 1600 "PhotoFileFormat.c" + } + } +} + + +static PhotoFileFormatDriver* photo_file_format_get_driver (PhotoFileFormat self) { + PhotoFileFormatDriver* result = NULL; +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + switch (self) { +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_JFIF: +#line 1612 "PhotoFileFormat.c" + { + JfifFileFormatDriver* _tmp0_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = jfif_file_format_driver_get_instance (); +#line 244 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 244 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1621 "PhotoFileFormat.c" + } +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_RAW: +#line 1625 "PhotoFileFormat.c" + { + RawFileFormatDriver* _tmp1_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = raw_file_format_driver_get_instance (); +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1634 "PhotoFileFormat.c" + } +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_PNG: +#line 1638 "PhotoFileFormat.c" + { + PngFileFormatDriver* _tmp2_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = png_file_format_driver_get_instance (); +#line 250 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 250 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1647 "PhotoFileFormat.c" + } +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_TIFF: +#line 1651 "PhotoFileFormat.c" + { + PhotosTiffFileFormatDriver* _tmp3_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photos_tiff_file_format_driver_get_instance (); +#line 253 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 253 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1660 "PhotoFileFormat.c" + } +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + case PHOTO_FILE_FORMAT_BMP: +#line 1664 "PhotoFileFormat.c" + { + PhotosBmpFileFormatDriver* _tmp4_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = photos_bmp_file_format_driver_get_instance (); +#line 256 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 256 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1673 "PhotoFileFormat.c" + } + default: + { + GEnumValue* _tmp5_; +#line 259 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), self); +#line 259 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_error ("PhotoFileFormat.vala:259: Unsupported file format %s", (_tmp5_ != NULL) ? _tmp5_->value_name : NULL); +#line 1682 "PhotoFileFormat.c" + } + } +} + + +PhotoFileFormatProperties* photo_file_format_get_properties (PhotoFileFormat self) { + PhotoFileFormatProperties* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + PhotoFileFormatProperties* _tmp3_ = NULL; +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_get_properties (_tmp1_); +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp3_; +#line 264 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1708 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_get_default_basename (PhotoFileFormat self, const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + PhotoFileFormatProperties* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = name; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_get_properties (self); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_properties_get_default_extension (_tmp2_); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = g_strdup_printf ("%s.%s", _tmp0_, _tmp4_); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = _tmp5_; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp4_); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp2_); +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp6_; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1745 "PhotoFileFormat.c" +} + + +PhotoFileReader* photo_file_format_create_reader (PhotoFileFormat self, const gchar* filepath) { + PhotoFileReader* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileReader* _tmp3_ = NULL; + PhotoFileReader* _tmp4_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = filepath; +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_driver_create_reader (_tmp1_, _tmp2_); +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp4_; +#line 273 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1774 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_can_write (PhotoFileFormat self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = photo_file_format_can_write_image (self); +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp1_) { +#line 1786 "PhotoFileFormat.c" + gboolean _tmp2_ = FALSE; +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_can_write_metadata (self); +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = _tmp2_; +#line 1792 "PhotoFileFormat.c" + } else { +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = FALSE; +#line 1796 "PhotoFileFormat.c" + } +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp0_; +#line 278 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1802 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_can_write_image (PhotoFileFormat self) { + gboolean result = FALSE; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_can_write_image (_tmp1_); +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp3_; +#line 282 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1826 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_can_write_metadata (PhotoFileFormat self) { + gboolean result = FALSE; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_can_write_metadata (_tmp1_); +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp3_; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1850 "PhotoFileFormat.c" +} + + +PhotoFileWriter* photo_file_format_create_writer (PhotoFileFormat self, const gchar* filepath, GError** error) { + PhotoFileWriter* result = NULL; + PhotoFileWriter* writer = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileWriter* _tmp3_ = NULL; + PhotoFileWriter* _tmp4_ = NULL; + PhotoFileWriter* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 289 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = filepath; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_driver_create_writer (_tmp1_, _tmp2_); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + writer = _tmp4_; +#line 291 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = writer; +#line 291 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp5_ == NULL) { +#line 1884 "PhotoFileFormat.c" + GEnumValue* _tmp6_; + GError* _tmp7_ = NULL; +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), self); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = g_error_new (PHOTO_FORMAT_ERROR, PHOTO_FORMAT_ERROR_READ_ONLY, "File format %s is read-only", (_tmp6_ != NULL) ? _tmp6_->value_name : NULL); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _inner_error_ = _tmp7_; +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_inner_error_->domain == PHOTO_FORMAT_ERROR) { +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_propagate_error (error, _inner_error_); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_adapter_unref0 (writer); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 1901 "PhotoFileFormat.c" + } else { +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_adapter_unref0 (writer); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.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 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_clear_error (&_inner_error_); +#line 292 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 1911 "PhotoFileFormat.c" + } + } +#line 294 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = writer; +#line 294 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1918 "PhotoFileFormat.c" +} + + +PhotoFileMetadataWriter* photo_file_format_create_metadata_writer (PhotoFileFormat self, const gchar* filepath, GError** error) { + PhotoFileMetadataWriter* result = NULL; + PhotoFileMetadataWriter* writer = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PhotoFileMetadataWriter* _tmp3_ = NULL; + PhotoFileMetadataWriter* _tmp4_ = NULL; + PhotoFileMetadataWriter* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 297 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = filepath; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = photo_file_format_driver_create_metadata_writer (_tmp1_, _tmp2_); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = _tmp3_; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + writer = _tmp4_; +#line 299 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = writer; +#line 299 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp5_ == NULL) { +#line 1952 "PhotoFileFormat.c" + GEnumValue* _tmp6_; + GError* _tmp7_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = g_enum_get_value (g_type_class_ref (TYPE_PHOTO_FILE_FORMAT), self); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = g_error_new (PHOTO_FORMAT_ERROR, PHOTO_FORMAT_ERROR_READ_ONLY, "File format %s metadata is read-only", (_tmp6_ != NULL) ? _tmp6_->value_name : NULL); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _inner_error_ = _tmp7_; +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_inner_error_->domain == PHOTO_FORMAT_ERROR) { +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_propagate_error (error, _inner_error_); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_adapter_unref0 (writer); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 1969 "PhotoFileFormat.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_adapter_unref0 (writer); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.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 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_clear_error (&_inner_error_); +#line 300 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 1979 "PhotoFileFormat.c" + } + } +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = writer; +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 1986 "PhotoFileFormat.c" +} + + +PhotoFileSniffer* photo_file_format_create_sniffer (PhotoFileFormat self, GFile* file, PhotoFileSnifferOptions options) { + PhotoFileSniffer* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + PhotoFileSnifferOptions _tmp3_ = 0; + PhotoFileSniffer* _tmp4_ = NULL; + PhotoFileSniffer* _tmp5_ = NULL; +#line 305 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = file; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = options; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = photo_file_format_driver_create_sniffer (_tmp1_, _tmp2_, _tmp3_); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2018 "PhotoFileFormat.c" +} + + +PhotoMetadata* photo_file_format_create_metadata (PhotoFileFormat self) { + PhotoMetadata* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + PhotoMetadata* _tmp2_ = NULL; + PhotoMetadata* _tmp3_ = NULL; +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_create_metadata (_tmp1_); +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp3_; +#line 310 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2042 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_get_default_mime_type (PhotoFileFormat self) { + gchar* result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + PhotoFileFormatProperties* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_get_properties (_tmp1_); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = photo_file_format_properties_get_default_mime_type (_tmp3_); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp3_); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 314 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2074 "PhotoFileFormat.c" +} + + +gchar** photo_file_format_get_mime_types (PhotoFileFormat self, int* result_length1) { + gchar** result = NULL; + PhotoFileFormatDriver* _tmp0_ = NULL; + PhotoFileFormatDriver* _tmp1_ = NULL; + PhotoFileFormatProperties* _tmp2_ = NULL; + PhotoFileFormatProperties* _tmp3_ = NULL; + gint _tmp4_ = 0; + gchar** _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = photo_file_format_get_driver (self); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = _tmp0_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_driver_get_properties (_tmp1_); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = photo_file_format_properties_get_mime_types (_tmp3_, &_tmp4_); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = _tmp5_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6__length1 = _tmp4_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_properties_unref0 (_tmp3_); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _photo_file_format_driver_unref0 (_tmp1_); +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = _tmp6_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7__length1 = _tmp6__length1; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp7__length1; +#line 2116 "PhotoFileFormat.c" + } +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp7_; +#line 318 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2122 "PhotoFileFormat.c" +} + + +static void _vala_array_add44 (gchar*** array, int* length, int* size, gchar* value) { +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if ((*length) == (*size)) { +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 2133 "PhotoFileFormat.c" + } +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + (*array)[(*length)++] = value; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + (*array)[*length] = NULL; +#line 2139 "PhotoFileFormat.c" +} + + +gchar** photo_file_format_get_editable_mime_types (int* result_length1) { + gchar** result = NULL; + gchar** mime_types = NULL; + gchar** _tmp0_ = NULL; + gint mime_types_length1 = 0; + gint _mime_types_size_ = 0; + gint _tmp1_ = 0; + PhotoFileFormat* _tmp2_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 322 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 322 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_types = _tmp0_; +#line 322 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_types_length1 = 0; +#line 322 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _mime_types_size_ = mime_types_length1; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_get_supported (&_tmp1_); +#line 2163 "PhotoFileFormat.c" + { + PhotoFileFormat* file_format_collection = NULL; + gint file_format_collection_length1 = 0; + gint _file_format_collection_size_ = 0; + gint file_format_it = 0; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = _tmp2_; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection_length1 = _tmp1_; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (file_format_it = 0; file_format_it < _tmp1_; file_format_it = file_format_it + 1) { +#line 2175 "PhotoFileFormat.c" + PhotoFileFormat file_format = 0; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format = file_format_collection[file_format_it]; +#line 2179 "PhotoFileFormat.c" + { + PhotoFileFormat _tmp3_ = 0; + gint _tmp4_ = 0; + gchar** _tmp5_ = NULL; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = file_format; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = photo_file_format_get_mime_types (_tmp3_, &_tmp4_); +#line 2188 "PhotoFileFormat.c" + { + gchar** mime_type_collection = NULL; + gint mime_type_collection_length1 = 0; + gint _mime_type_collection_size_ = 0; + gint mime_type_it = 0; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_type_collection = _tmp5_; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_type_collection_length1 = _tmp4_; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + for (mime_type_it = 0; mime_type_it < _tmp4_; mime_type_it = mime_type_it + 1) { +#line 2200 "PhotoFileFormat.c" + gchar* _tmp6_ = NULL; + gchar* mime_type = NULL; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = g_strdup (mime_type_collection[mime_type_it]); +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_type = _tmp6_; +#line 2207 "PhotoFileFormat.c" + { + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = mime_types; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7__length1 = mime_types_length1; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = mime_type; +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 326 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _vala_array_add44 (&mime_types, &mime_types_length1, &_mime_types_size_, _tmp9_); +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (mime_type); +#line 2225 "PhotoFileFormat.c" + } + } +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + mime_type_collection = (_vala_array_free (mime_type_collection, mime_type_collection_length1, (GDestroyNotify) g_free), NULL); +#line 2230 "PhotoFileFormat.c" + } + } + } +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + file_format_collection = (g_free (file_format_collection), NULL); +#line 2236 "PhotoFileFormat.c" + } +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10_ = mime_types; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10__length1 = mime_types_length1; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (result_length1) { +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *result_length1 = _tmp10__length1; +#line 2246 "PhotoFileFormat.c" + } +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp10_; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2252 "PhotoFileFormat.c" +} + + +GType photo_file_format_get_type (void) { + static volatile gsize photo_file_format_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_format_type_id__volatile)) { + static const GEnumValue values[] = {{PHOTO_FILE_FORMAT_JFIF, "PHOTO_FILE_FORMAT_JFIF", "jfif"}, {PHOTO_FILE_FORMAT_RAW, "PHOTO_FILE_FORMAT_RAW", "raw"}, {PHOTO_FILE_FORMAT_PNG, "PHOTO_FILE_FORMAT_PNG", "png"}, {PHOTO_FILE_FORMAT_TIFF, "PHOTO_FILE_FORMAT_TIFF", "tiff"}, {PHOTO_FILE_FORMAT_BMP, "PHOTO_FILE_FORMAT_BMP", "bmp"}, {PHOTO_FILE_FORMAT_UNKNOWN, "PHOTO_FILE_FORMAT_UNKNOWN", "unknown"}, {0, NULL, NULL}}; + GType photo_file_format_type_id; + photo_file_format_type_id = g_enum_register_static ("PhotoFileFormat", values); + g_once_init_leave (&photo_file_format_type_id__volatile, photo_file_format_type_id); + } + return photo_file_format_type_id__volatile; +} + + +static PhotoFileFormatProperties* photo_file_format_driver_real_get_properties (PhotoFileFormatDriver* self) { +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_get_properties'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2273 "PhotoFileFormat.c" +} + + +PhotoFileFormatProperties* photo_file_format_driver_get_properties (PhotoFileFormatDriver* self) { +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->get_properties (self); +#line 2282 "PhotoFileFormat.c" +} + + +static PhotoFileReader* photo_file_format_driver_real_create_reader (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 347 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_reader'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 347 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2291 "PhotoFileFormat.c" +} + + +PhotoFileReader* photo_file_format_driver_create_reader (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 347 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 347 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_reader (self, filepath); +#line 2300 "PhotoFileFormat.c" +} + + +static PhotoMetadata* photo_file_format_driver_real_create_metadata (PhotoFileFormatDriver* self) { +#line 349 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 349 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2309 "PhotoFileFormat.c" +} + + +PhotoMetadata* photo_file_format_driver_create_metadata (PhotoFileFormatDriver* self) { +#line 349 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 349 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_metadata (self); +#line 2318 "PhotoFileFormat.c" +} + + +static gboolean photo_file_format_driver_real_can_write_image (PhotoFileFormatDriver* self) { +#line 351 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_can_write_image'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 351 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return FALSE; +#line 2327 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_driver_can_write_image (PhotoFileFormatDriver* self) { +#line 351 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), FALSE); +#line 351 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->can_write_image (self); +#line 2336 "PhotoFileFormat.c" +} + + +static gboolean photo_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* self) { +#line 353 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_can_write_metadata'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 353 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return FALSE; +#line 2345 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_driver_can_write_metadata (PhotoFileFormatDriver* self) { +#line 353 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), FALSE); +#line 353 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->can_write_metadata (self); +#line 2354 "PhotoFileFormat.c" +} + + +static PhotoFileWriter* photo_file_format_driver_real_create_writer (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_writer'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2363 "PhotoFileFormat.c" +} + + +PhotoFileWriter* photo_file_format_driver_create_writer (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_writer (self, filepath); +#line 2372 "PhotoFileFormat.c" +} + + +static PhotoFileMetadataWriter* photo_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_metadata_writer'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2381 "PhotoFileFormat.c" +} + + +PhotoFileMetadataWriter* photo_file_format_driver_create_metadata_writer (PhotoFileFormatDriver* self, const gchar* filepath) { +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_metadata_writer (self, filepath); +#line 2390 "PhotoFileFormat.c" +} + + +static PhotoFileSniffer* photo_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options) { +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_driver_create_sniffer'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2399 "PhotoFileFormat.c" +} + + +PhotoFileSniffer* photo_file_format_driver_create_sniffer (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options) { +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_DRIVER (self), NULL); +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->create_sniffer (self, file, options); +#line 2408 "PhotoFileFormat.c" +} + + +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type) { + PhotoFileFormatDriver* self = NULL; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self = (PhotoFileFormatDriver*) g_type_create_instance (object_type); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return self; +#line 2418 "PhotoFileFormat.c" +} + + +static void value_photo_file_format_driver_init (GValue* value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 2425 "PhotoFileFormat.c" +} + + +static void value_photo_file_format_driver_free_value (GValue* value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (value->data[0].v_pointer) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_unref (value->data[0].v_pointer); +#line 2434 "PhotoFileFormat.c" + } +} + + +static void value_photo_file_format_driver_copy_value (const GValue* src_value, GValue* dest_value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (src_value->data[0].v_pointer) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + dest_value->data[0].v_pointer = photo_file_format_driver_ref (src_value->data[0].v_pointer); +#line 2444 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + dest_value->data[0].v_pointer = NULL; +#line 2448 "PhotoFileFormat.c" + } +} + + +static gpointer value_photo_file_format_driver_peek_pointer (const GValue* value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return value->data[0].v_pointer; +#line 2456 "PhotoFileFormat.c" +} + + +static gchar* value_photo_file_format_driver_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (collect_values[0].v_pointer) { +#line 2463 "PhotoFileFormat.c" + PhotoFileFormatDriver* object; + object = collect_values[0].v_pointer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (object->parent_instance.g_class == NULL) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2470 "PhotoFileFormat.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2474 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = photo_file_format_driver_ref (object); +#line 2478 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 2482 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2486 "PhotoFileFormat.c" +} + + +static gchar* value_photo_file_format_driver_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoFileFormatDriver** object_p; + object_p = collect_values[0].v_pointer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (!object_p) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2497 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (!value->data[0].v_pointer) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = NULL; +#line 2503 "PhotoFileFormat.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = value->data[0].v_pointer; +#line 2507 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = photo_file_format_driver_ref (value->data[0].v_pointer); +#line 2511 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2515 "PhotoFileFormat.c" +} + + +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoFileFormatDriver* spec; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_FILE_FORMAT_DRIVER), NULL); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return G_PARAM_SPEC (spec); +#line 2529 "PhotoFileFormat.c" +} + + +gpointer value_get_photo_file_format_driver (const GValue* value) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_DRIVER), NULL); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return value->data[0].v_pointer; +#line 2538 "PhotoFileFormat.c" +} + + +void value_set_photo_file_format_driver (GValue* value, gpointer v_object) { + PhotoFileFormatDriver* old; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_DRIVER)); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + old = value->data[0].v_pointer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (v_object) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_FORMAT_DRIVER)); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = v_object; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_ref (value->data[0].v_pointer); +#line 2558 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 2562 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (old) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_unref (old); +#line 2568 "PhotoFileFormat.c" + } +} + + +void value_take_photo_file_format_driver (GValue* value, gpointer v_object) { + PhotoFileFormatDriver* old; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_DRIVER)); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + old = value->data[0].v_pointer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (v_object) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_FORMAT_DRIVER)); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = v_object; +#line 2587 "PhotoFileFormat.c" + } else { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 2591 "PhotoFileFormat.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (old) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_unref (old); +#line 2597 "PhotoFileFormat.c" + } +} + + +static void photo_file_format_driver_class_init (PhotoFileFormatDriverClass * klass) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_driver_parent_class = g_type_class_peek_parent (klass); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->finalize = photo_file_format_driver_finalize; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->get_properties = photo_file_format_driver_real_get_properties; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_reader = photo_file_format_driver_real_create_reader; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata = photo_file_format_driver_real_create_metadata; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_image = photo_file_format_driver_real_can_write_image; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_metadata = photo_file_format_driver_real_can_write_metadata; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_writer = photo_file_format_driver_real_create_writer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata_writer = photo_file_format_driver_real_create_metadata_writer; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatDriverClass *) klass)->create_sniffer = photo_file_format_driver_real_create_sniffer; +#line 2623 "PhotoFileFormat.c" +} + + +static void photo_file_format_driver_instance_init (PhotoFileFormatDriver * self) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self->ref_count = 1; +#line 2630 "PhotoFileFormat.c" +} + + +static void photo_file_format_driver_finalize (PhotoFileFormatDriver* obj) { + PhotoFileFormatDriver * self; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_signal_handlers_destroy (self); +#line 2640 "PhotoFileFormat.c" +} + + +GType photo_file_format_driver_get_type (void) { + static volatile gsize photo_file_format_driver_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_format_driver_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_file_format_driver_init, value_photo_file_format_driver_free_value, value_photo_file_format_driver_copy_value, value_photo_file_format_driver_peek_pointer, "p", value_photo_file_format_driver_collect_value, "p", value_photo_file_format_driver_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileFormatDriverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_format_driver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileFormatDriver), 0, (GInstanceInitFunc) photo_file_format_driver_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_file_format_driver_type_id; + photo_file_format_driver_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoFileFormatDriver", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_format_driver_type_id__volatile, photo_file_format_driver_type_id); + } + return photo_file_format_driver_type_id__volatile; +} + + +gpointer photo_file_format_driver_ref (gpointer instance) { + PhotoFileFormatDriver* self; + self = instance; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_atomic_int_inc (&self->ref_count); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return instance; +#line 2665 "PhotoFileFormat.c" +} + + +void photo_file_format_driver_unref (gpointer instance) { + PhotoFileFormatDriver* self; + self = instance; +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + PHOTO_FILE_FORMAT_DRIVER_GET_CLASS (self)->finalize (self); +#line 344 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2678 "PhotoFileFormat.c" + } +} + + +GType photo_file_format_flags_get_type (void) { + static volatile gsize photo_file_format_flags_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_format_flags_type_id__volatile)) { + static const GEnumValue values[] = {{PHOTO_FILE_FORMAT_FLAGS_NONE, "PHOTO_FILE_FORMAT_FLAGS_NONE", "none"}, {0, NULL, NULL}}; + GType photo_file_format_flags_type_id; + photo_file_format_flags_type_id = g_enum_register_static ("PhotoFileFormatFlags", values); + g_once_init_leave (&photo_file_format_flags_type_id__volatile, photo_file_format_flags_type_id); + } + return photo_file_format_flags_type_id__volatile; +} + + +static PhotoFileFormat photo_file_format_properties_real_get_file_format (PhotoFileFormatProperties* self) { +#line 374 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_file_format'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 374 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return 0; +#line 2700 "PhotoFileFormat.c" +} + + +PhotoFileFormat photo_file_format_properties_get_file_format (PhotoFileFormatProperties* self) { +#line 374 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), 0); +#line 374 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_file_format (self); +#line 2709 "PhotoFileFormat.c" +} + + +static PhotoFileFormatFlags photo_file_format_properties_real_get_flags (PhotoFileFormatProperties* self) { +#line 376 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_flags'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 376 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return 0; +#line 2718 "PhotoFileFormat.c" +} + + +PhotoFileFormatFlags photo_file_format_properties_get_flags (PhotoFileFormatProperties* self) { +#line 376 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), 0); +#line 376 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_flags (self); +#line 2727 "PhotoFileFormat.c" +} + + +static gboolean photo_file_format_properties_real_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 380 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (ext != NULL, FALSE); +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = ext; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = photo_file_format_properties_get_known_extensions (self, &_tmp1_); +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = _tmp2_; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3__length1 = _tmp1_; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp4_ = is_in_ci_array (_tmp0_, _tmp3_, _tmp1_); +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp4_; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL); +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp5_; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2760 "PhotoFileFormat.c" +} + + +gboolean photo_file_format_properties_is_recognized_extension (PhotoFileFormatProperties* self, const gchar* ext) { +#line 380 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), FALSE); +#line 380 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->is_recognized_extension (self, ext); +#line 2769 "PhotoFileFormat.c" +} + + +static gchar* photo_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* self) { +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_default_extension'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2778 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_properties_get_default_extension (PhotoFileFormatProperties* self) { +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_default_extension (self); +#line 2787 "PhotoFileFormat.c" +} + + +static gchar** photo_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1) { +#line 386 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_known_extensions'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 386 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2796 "PhotoFileFormat.c" +} + + +gchar** photo_file_format_properties_get_known_extensions (PhotoFileFormatProperties* self, int* result_length1) { +#line 386 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 386 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_known_extensions (self, result_length1); +#line 2805 "PhotoFileFormat.c" +} + + +static gchar* photo_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* self) { +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_default_mime_type'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2814 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_properties_get_default_mime_type (PhotoFileFormatProperties* self) { +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_default_mime_type (self); +#line 2823 "PhotoFileFormat.c" +} + + +static gchar** photo_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* self, int* result_length1) { +#line 390 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_mime_types'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 390 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2832 "PhotoFileFormat.c" +} + + +gchar** photo_file_format_properties_get_mime_types (PhotoFileFormatProperties* self, int* result_length1) { +#line 390 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 390 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_mime_types (self, result_length1); +#line 2841 "PhotoFileFormat.c" +} + + +static gchar* photo_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* self) { +#line 397 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_format_properties_get_user_visible_name'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 397 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 2850 "PhotoFileFormat.c" +} + + +gchar* photo_file_format_properties_get_user_visible_name (PhotoFileFormatProperties* self) { +#line 397 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 397 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->get_user_visible_name (self); +#line 2859 "PhotoFileFormat.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return self ? g_object_ref (self) : NULL; +#line 2866 "PhotoFileFormat.c" +} + + +GFile* photo_file_format_properties_convert_file_extension (PhotoFileFormatProperties* self, GFile* file) { + GFile* result = NULL; + gchar* name = NULL; + gchar* ext = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + const gchar* _tmp6_ = NULL; + GFile* _tmp11_ = NULL; + GFile* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + GFile* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; +#line 401 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (IS_PHOTO_FILE_FORMAT_PROPERTIES (self), NULL); +#line 401 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp0_ = file; +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp2_ = _tmp1_; +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + disassemble_filename (_tmp2_, &_tmp3_, &_tmp4_); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + name = _tmp3_; +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ext = _tmp4_; +#line 403 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp2_); +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp6_ = ext; +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp6_ != NULL) { +#line 2917 "PhotoFileFormat.c" + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp7_ = ext; +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp8_ = photo_file_format_properties_is_recognized_extension (self, _tmp7_); +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = _tmp8_; +#line 2926 "PhotoFileFormat.c" + } else { +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp5_ = FALSE; +#line 2930 "PhotoFileFormat.c" + } +#line 404 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (_tmp5_) { +#line 2934 "PhotoFileFormat.c" + GFile* _tmp9_ = NULL; + GFile* _tmp10_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp9_ = file; +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp10_; +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2949 "PhotoFileFormat.c" + } +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp11_ = file; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp12_ = g_file_get_parent (_tmp11_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp13_ = _tmp12_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp14_ = name; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp15_ = photo_file_format_properties_get_default_extension (self); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp16_ = _tmp15_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp17_ = g_strdup_printf ("%s.%s", _tmp14_, _tmp16_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp18_ = _tmp17_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp19_ = g_file_get_child (_tmp13_, _tmp18_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _tmp20_ = _tmp19_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp18_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (_tmp16_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_object_unref0 (_tmp13_); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + result = _tmp20_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (ext); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + _g_free0 (name); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return result; +#line 2985 "PhotoFileFormat.c" +} + + +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type) { + PhotoFileFormatProperties* self = NULL; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self = (PhotoFileFormatProperties*) g_type_create_instance (object_type); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return self; +#line 2995 "PhotoFileFormat.c" +} + + +static void value_photo_file_format_properties_init (GValue* value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 3002 "PhotoFileFormat.c" +} + + +static void value_photo_file_format_properties_free_value (GValue* value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (value->data[0].v_pointer) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_unref (value->data[0].v_pointer); +#line 3011 "PhotoFileFormat.c" + } +} + + +static void value_photo_file_format_properties_copy_value (const GValue* src_value, GValue* dest_value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (src_value->data[0].v_pointer) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + dest_value->data[0].v_pointer = photo_file_format_properties_ref (src_value->data[0].v_pointer); +#line 3021 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + dest_value->data[0].v_pointer = NULL; +#line 3025 "PhotoFileFormat.c" + } +} + + +static gpointer value_photo_file_format_properties_peek_pointer (const GValue* value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return value->data[0].v_pointer; +#line 3033 "PhotoFileFormat.c" +} + + +static gchar* value_photo_file_format_properties_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (collect_values[0].v_pointer) { +#line 3040 "PhotoFileFormat.c" + PhotoFileFormatProperties* object; + object = collect_values[0].v_pointer; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (object->parent_instance.g_class == NULL) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3047 "PhotoFileFormat.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3051 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = photo_file_format_properties_ref (object); +#line 3055 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 3059 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 3063 "PhotoFileFormat.c" +} + + +static gchar* value_photo_file_format_properties_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoFileFormatProperties** object_p; + object_p = collect_values[0].v_pointer; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (!object_p) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3074 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (!value->data[0].v_pointer) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = NULL; +#line 3080 "PhotoFileFormat.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = value->data[0].v_pointer; +#line 3084 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + *object_p = photo_file_format_properties_ref (value->data[0].v_pointer); +#line 3088 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return NULL; +#line 3092 "PhotoFileFormat.c" +} + + +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoFileFormatProperties* spec; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_FILE_FORMAT_PROPERTIES), NULL); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return G_PARAM_SPEC (spec); +#line 3106 "PhotoFileFormat.c" +} + + +gpointer value_get_photo_file_format_properties (const GValue* value) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_PROPERTIES), NULL); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return value->data[0].v_pointer; +#line 3115 "PhotoFileFormat.c" +} + + +void value_set_photo_file_format_properties (GValue* value, gpointer v_object) { + PhotoFileFormatProperties* old; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_PROPERTIES)); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + old = value->data[0].v_pointer; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (v_object) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_FORMAT_PROPERTIES)); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = v_object; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_ref (value->data[0].v_pointer); +#line 3135 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 3139 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (old) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_unref (old); +#line 3145 "PhotoFileFormat.c" + } +} + + +void value_take_photo_file_format_properties (GValue* value, gpointer v_object) { + PhotoFileFormatProperties* old; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_FORMAT_PROPERTIES)); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + old = value->data[0].v_pointer; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (v_object) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_FORMAT_PROPERTIES)); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = v_object; +#line 3164 "PhotoFileFormat.c" + } else { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + value->data[0].v_pointer = NULL; +#line 3168 "PhotoFileFormat.c" + } +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (old) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_unref (old); +#line 3174 "PhotoFileFormat.c" + } +} + + +static void photo_file_format_properties_class_init (PhotoFileFormatPropertiesClass * klass) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + photo_file_format_properties_parent_class = g_type_class_peek_parent (klass); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->finalize = photo_file_format_properties_finalize; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_file_format = photo_file_format_properties_real_get_file_format; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_flags = photo_file_format_properties_real_get_flags; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->is_recognized_extension = photo_file_format_properties_real_is_recognized_extension; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_extension = photo_file_format_properties_real_get_default_extension; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_known_extensions = photo_file_format_properties_real_get_known_extensions; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_mime_type = photo_file_format_properties_real_get_default_mime_type; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_mime_types = photo_file_format_properties_real_get_mime_types; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_user_visible_name = photo_file_format_properties_real_get_user_visible_name; +#line 3200 "PhotoFileFormat.c" +} + + +static void photo_file_format_properties_instance_init (PhotoFileFormatProperties * self) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self->ref_count = 1; +#line 3207 "PhotoFileFormat.c" +} + + +static void photo_file_format_properties_finalize (PhotoFileFormatProperties* obj) { + PhotoFileFormatProperties * self; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_signal_handlers_destroy (self); +#line 3217 "PhotoFileFormat.c" +} + + +GType photo_file_format_properties_get_type (void) { + static volatile gsize photo_file_format_properties_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_format_properties_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_file_format_properties_init, value_photo_file_format_properties_free_value, value_photo_file_format_properties_copy_value, value_photo_file_format_properties_peek_pointer, "p", value_photo_file_format_properties_collect_value, "p", value_photo_file_format_properties_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileFormatPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_format_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileFormatProperties), 0, (GInstanceInitFunc) photo_file_format_properties_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_file_format_properties_type_id; + photo_file_format_properties_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoFileFormatProperties", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_format_properties_type_id__volatile, photo_file_format_properties_type_id); + } + return photo_file_format_properties_type_id__volatile; +} + + +gpointer photo_file_format_properties_ref (gpointer instance) { + PhotoFileFormatProperties* self; + self = instance; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_atomic_int_inc (&self->ref_count); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + return instance; +#line 3242 "PhotoFileFormat.c" +} + + +void photo_file_format_properties_unref (gpointer instance) { + PhotoFileFormatProperties* self; + self = instance; +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS (self)->finalize (self); +#line 373 "/home/jens/Source/shotwell/src/photos/PhotoFileFormat.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3255 "PhotoFileFormat.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/photos/PhotoFileSniffer.c b/src/photos/PhotoFileSniffer.c new file mode 100644 index 0000000..8d44d6b --- /dev/null +++ b/src/photos/PhotoFileSniffer.c @@ -0,0 +1,1348 @@ +/* PhotoFileSniffer.c generated by valac 0.32.1, the Vala compiler + * generated from PhotoFileSniffer.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecDetectedPhotoInformation ParamSpecDetectedPhotoInformation; + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; +typedef struct _PhotoFileSnifferPrivate PhotoFileSnifferPrivate; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecPhotoFileSniffer ParamSpecPhotoFileSniffer; + +#define TYPE_PHOTO_FILE_INTERROGATOR (photo_file_interrogator_get_type ()) +#define PHOTO_FILE_INTERROGATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogator)) +#define PHOTO_FILE_INTERROGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorClass)) +#define IS_PHOTO_FILE_INTERROGATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_INTERROGATOR)) +#define IS_PHOTO_FILE_INTERROGATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_INTERROGATOR)) +#define PHOTO_FILE_INTERROGATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorClass)) + +typedef struct _PhotoFileInterrogator PhotoFileInterrogator; +typedef struct _PhotoFileInterrogatorClass PhotoFileInterrogatorClass; +typedef struct _PhotoFileInterrogatorPrivate PhotoFileInterrogatorPrivate; +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +#define _photo_file_sniffer_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_sniffer_unref (var), NULL))) +typedef struct _ParamSpecPhotoFileInterrogator ParamSpecPhotoFileInterrogator; +#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); + +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 _Dimensions { + gint width; + gint height; +}; + +struct _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + +struct _ParamSpecDetectedPhotoInformation { + GParamSpec parent_instance; +}; + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileSniffer { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileSnifferPrivate * priv; + GFile* file; + PhotoFileSnifferOptions options; + gboolean calc_md5; +}; + +struct _PhotoFileSnifferClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileSniffer *self); + DetectedPhotoInformation* (*sniff) (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +}; + +struct _ParamSpecPhotoFileSniffer { + GParamSpec parent_instance; +}; + +struct _PhotoFileInterrogator { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileInterrogatorPrivate * priv; +}; + +struct _PhotoFileInterrogatorClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileInterrogator *self); +}; + +struct _PhotoFileInterrogatorPrivate { + GFile* file; + PhotoFileSnifferOptions options; + DetectedPhotoInformation* detected; + gboolean is_photo_corrupted; +}; + +struct _ParamSpecPhotoFileInterrogator { + GParamSpec parent_instance; +}; + + +static gpointer detected_photo_information_parent_class = NULL; +static gpointer photo_file_sniffer_parent_class = NULL; +static gpointer photo_file_interrogator_parent_class = NULL; + +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +enum { + DETECTED_PHOTO_INFORMATION_DUMMY_PROPERTY +}; +void dimensions_init (Dimensions *self, gint width, gint height); +DetectedPhotoInformation* detected_photo_information_new (void); +DetectedPhotoInformation* detected_photo_information_construct (GType object_type); +static void detected_photo_information_finalize (DetectedPhotoInformation* obj); +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +enum { + PHOTO_FILE_SNIFFER_DUMMY_PROPERTY +}; +PhotoFileSniffer* photo_file_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +DetectedPhotoInformation* photo_file_sniffer_sniff (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +static DetectedPhotoInformation* photo_file_sniffer_real_sniff (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +static void photo_file_sniffer_finalize (PhotoFileSniffer* obj); +gpointer photo_file_interrogator_ref (gpointer instance); +void photo_file_interrogator_unref (gpointer instance); +GParamSpec* param_spec_photo_file_interrogator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_interrogator (GValue* value, gpointer v_object); +void value_take_photo_file_interrogator (GValue* value, gpointer v_object); +gpointer value_get_photo_file_interrogator (const GValue* value); +GType photo_file_interrogator_get_type (void) G_GNUC_CONST; +#define PHOTO_FILE_INTERROGATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogatorPrivate)) +enum { + PHOTO_FILE_INTERROGATOR_DUMMY_PROPERTY +}; +PhotoFileInterrogator* photo_file_interrogator_new (GFile* file, PhotoFileSnifferOptions options); +PhotoFileInterrogator* photo_file_interrogator_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +DetectedPhotoInformation* photo_file_interrogator_get_detected_photo_information (PhotoFileInterrogator* self); +gboolean photo_file_interrogator_get_is_photo_corrupted (PhotoFileInterrogator* self); +void photo_file_interrogator_interrogate (PhotoFileInterrogator* self, GError** error); +PhotoFileFormat* photo_file_format_get_supported (int* result_length1); +PhotoFileSniffer* photo_file_format_create_sniffer (PhotoFileFormat self, GFile* file, PhotoFileSnifferOptions options); +static void photo_file_interrogator_finalize (PhotoFileInterrogator* obj); + + +DetectedPhotoInformation* detected_photo_information_construct (GType object_type) { + DetectedPhotoInformation* self = NULL; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self = (DetectedPhotoInformation*) g_type_create_instance (object_type); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return self; +#line 250 "PhotoFileSniffer.c" +} + + +DetectedPhotoInformation* detected_photo_information_new (void) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return detected_photo_information_construct (TYPE_DETECTED_PHOTO_INFORMATION); +#line 257 "PhotoFileSniffer.c" +} + + +static void value_detected_photo_information_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 264 "PhotoFileSniffer.c" +} + + +static void value_detected_photo_information_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + detected_photo_information_unref (value->data[0].v_pointer); +#line 273 "PhotoFileSniffer.c" + } +} + + +static void value_detected_photo_information_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + dest_value->data[0].v_pointer = detected_photo_information_ref (src_value->data[0].v_pointer); +#line 283 "PhotoFileSniffer.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + dest_value->data[0].v_pointer = NULL; +#line 287 "PhotoFileSniffer.c" + } +} + + +static gpointer value_detected_photo_information_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return value->data[0].v_pointer; +#line 295 "PhotoFileSniffer.c" +} + + +static gchar* value_detected_photo_information_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (collect_values[0].v_pointer) { +#line 302 "PhotoFileSniffer.c" + DetectedPhotoInformation* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 309 "PhotoFileSniffer.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 313 "PhotoFileSniffer.c" + } +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = detected_photo_information_ref (object); +#line 317 "PhotoFileSniffer.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 321 "PhotoFileSniffer.c" + } +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return NULL; +#line 325 "PhotoFileSniffer.c" +} + + +static gchar* value_detected_photo_information_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + DetectedPhotoInformation** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 336 "PhotoFileSniffer.c" + } +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = NULL; +#line 342 "PhotoFileSniffer.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = value->data[0].v_pointer; +#line 346 "PhotoFileSniffer.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = detected_photo_information_ref (value->data[0].v_pointer); +#line 350 "PhotoFileSniffer.c" + } +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return NULL; +#line 354 "PhotoFileSniffer.c" +} + + +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecDetectedPhotoInformation* spec; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_DETECTED_PHOTO_INFORMATION), NULL); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return G_PARAM_SPEC (spec); +#line 368 "PhotoFileSniffer.c" +} + + +gpointer value_get_detected_photo_information (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DETECTED_PHOTO_INFORMATION), NULL); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return value->data[0].v_pointer; +#line 377 "PhotoFileSniffer.c" +} + + +void value_set_detected_photo_information (GValue* value, gpointer v_object) { + DetectedPhotoInformation* old; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DETECTED_PHOTO_INFORMATION)); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DETECTED_PHOTO_INFORMATION)); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + detected_photo_information_ref (value->data[0].v_pointer); +#line 397 "PhotoFileSniffer.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 401 "PhotoFileSniffer.c" + } +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + detected_photo_information_unref (old); +#line 407 "PhotoFileSniffer.c" + } +} + + +void value_take_detected_photo_information (GValue* value, gpointer v_object) { + DetectedPhotoInformation* old; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DETECTED_PHOTO_INFORMATION)); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DETECTED_PHOTO_INFORMATION)); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = v_object; +#line 426 "PhotoFileSniffer.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 430 "PhotoFileSniffer.c" + } +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + detected_photo_information_unref (old); +#line 436 "PhotoFileSniffer.c" + } +} + + +static void detected_photo_information_class_init (DetectedPhotoInformationClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + detected_photo_information_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + ((DetectedPhotoInformationClass *) klass)->finalize = detected_photo_information_finalize; +#line 446 "PhotoFileSniffer.c" +} + + +static void detected_photo_information_instance_init (DetectedPhotoInformation * self) { +#line 8 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->file_format = PHOTO_FILE_FORMAT_UNKNOWN; +#line 9 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->metadata = NULL; +#line 10 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->md5 = NULL; +#line 11 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->exif_md5 = NULL; +#line 12 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->thumbnail_md5 = NULL; +#line 13 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->format_name = NULL; +#line 14 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + dimensions_init (&self->image_dim, 0, 0); +#line 15 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->colorspace = GDK_COLORSPACE_RGB; +#line 16 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->channels = 0; +#line 17 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->bits_per_channel = 0; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->ref_count = 1; +#line 473 "PhotoFileSniffer.c" +} + + +static void detected_photo_information_finalize (DetectedPhotoInformation* obj) { + DetectedPhotoInformation * self; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_signal_handlers_destroy (self); +#line 9 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _media_metadata_unref0 (self->metadata); +#line 10 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_free0 (self->md5); +#line 11 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_free0 (self->exif_md5); +#line 12 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_free0 (self->thumbnail_md5); +#line 13 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_free0 (self->format_name); +#line 493 "PhotoFileSniffer.c" +} + + +GType detected_photo_information_get_type (void) { + static volatile gsize detected_photo_information_type_id__volatile = 0; + if (g_once_init_enter (&detected_photo_information_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_detected_photo_information_init, value_detected_photo_information_free_value, value_detected_photo_information_copy_value, value_detected_photo_information_peek_pointer, "p", value_detected_photo_information_collect_value, "p", value_detected_photo_information_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (DetectedPhotoInformationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) detected_photo_information_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DetectedPhotoInformation), 0, (GInstanceInitFunc) detected_photo_information_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType detected_photo_information_type_id; + detected_photo_information_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DetectedPhotoInformation", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&detected_photo_information_type_id__volatile, detected_photo_information_type_id); + } + return detected_photo_information_type_id__volatile; +} + + +gpointer detected_photo_information_ref (gpointer instance) { + DetectedPhotoInformation* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return instance; +#line 518 "PhotoFileSniffer.c" +} + + +void detected_photo_information_unref (gpointer instance) { + DetectedPhotoInformation* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + DETECTED_PHOTO_INFORMATION_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 531 "PhotoFileSniffer.c" + } +} + + +GType photo_file_sniffer_options_get_type (void) { + static volatile gsize photo_file_sniffer_options_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_sniffer_options_type_id__volatile)) { + static const GEnumValue values[] = {{PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL, "PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL", "get-all"}, {PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5, "PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5", "no-md5"}, {0, NULL, NULL}}; + GType photo_file_sniffer_options_type_id; + photo_file_sniffer_options_type_id = g_enum_register_static ("PhotoFileSnifferOptions", values); + g_once_init_leave (&photo_file_sniffer_options_type_id__volatile, photo_file_sniffer_options_type_id); + } + return photo_file_sniffer_options_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return self ? g_object_ref (self) : NULL; +#line 551 "PhotoFileSniffer.c" +} + + +PhotoFileSniffer* photo_file_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options) { + PhotoFileSniffer* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + PhotoFileSnifferOptions _tmp2_ = 0; + PhotoFileSnifferOptions _tmp3_ = 0; +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self = (PhotoFileSniffer*) g_type_create_instance (object_type); +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp0_ = file; +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_object_unref0 (self->file); +#line 43 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->file = _tmp1_; +#line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp2_ = options; +#line 44 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->options = _tmp2_; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp3_ = options; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->calc_md5 = (_tmp3_ & PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5) == 0; +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return self; +#line 583 "PhotoFileSniffer.c" +} + + +static DetectedPhotoInformation* photo_file_sniffer_real_sniff (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error) { +#line 49 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_critical ("Type `%s' does not implement abstract method `photo_file_sniffer_sniff'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 49 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return NULL; +#line 592 "PhotoFileSniffer.c" +} + + +DetectedPhotoInformation* photo_file_sniffer_sniff (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error) { +#line 49 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (IS_PHOTO_FILE_SNIFFER (self), NULL); +#line 49 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return PHOTO_FILE_SNIFFER_GET_CLASS (self)->sniff (self, is_corrupted, error); +#line 601 "PhotoFileSniffer.c" +} + + +static void value_photo_file_sniffer_init (GValue* value) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 608 "PhotoFileSniffer.c" +} + + +static void value_photo_file_sniffer_free_value (GValue* value) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (value->data[0].v_pointer) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_sniffer_unref (value->data[0].v_pointer); +#line 617 "PhotoFileSniffer.c" + } +} + + +static void value_photo_file_sniffer_copy_value (const GValue* src_value, GValue* dest_value) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (src_value->data[0].v_pointer) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + dest_value->data[0].v_pointer = photo_file_sniffer_ref (src_value->data[0].v_pointer); +#line 627 "PhotoFileSniffer.c" + } else { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + dest_value->data[0].v_pointer = NULL; +#line 631 "PhotoFileSniffer.c" + } +} + + +static gpointer value_photo_file_sniffer_peek_pointer (const GValue* value) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return value->data[0].v_pointer; +#line 639 "PhotoFileSniffer.c" +} + + +static gchar* value_photo_file_sniffer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (collect_values[0].v_pointer) { +#line 646 "PhotoFileSniffer.c" + PhotoFileSniffer* object; + object = collect_values[0].v_pointer; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (object->parent_instance.g_class == NULL) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 653 "PhotoFileSniffer.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 657 "PhotoFileSniffer.c" + } +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = photo_file_sniffer_ref (object); +#line 661 "PhotoFileSniffer.c" + } else { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 665 "PhotoFileSniffer.c" + } +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return NULL; +#line 669 "PhotoFileSniffer.c" +} + + +static gchar* value_photo_file_sniffer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoFileSniffer** object_p; + object_p = collect_values[0].v_pointer; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (!object_p) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 680 "PhotoFileSniffer.c" + } +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (!value->data[0].v_pointer) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = NULL; +#line 686 "PhotoFileSniffer.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = value->data[0].v_pointer; +#line 690 "PhotoFileSniffer.c" + } else { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = photo_file_sniffer_ref (value->data[0].v_pointer); +#line 694 "PhotoFileSniffer.c" + } +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return NULL; +#line 698 "PhotoFileSniffer.c" +} + + +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoFileSniffer* spec; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_FILE_SNIFFER), NULL); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return G_PARAM_SPEC (spec); +#line 712 "PhotoFileSniffer.c" +} + + +gpointer value_get_photo_file_sniffer (const GValue* value) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_SNIFFER), NULL); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return value->data[0].v_pointer; +#line 721 "PhotoFileSniffer.c" +} + + +void value_set_photo_file_sniffer (GValue* value, gpointer v_object) { + PhotoFileSniffer* old; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_SNIFFER)); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + old = value->data[0].v_pointer; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (v_object) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_SNIFFER)); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = v_object; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_sniffer_ref (value->data[0].v_pointer); +#line 741 "PhotoFileSniffer.c" + } else { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 745 "PhotoFileSniffer.c" + } +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (old) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_sniffer_unref (old); +#line 751 "PhotoFileSniffer.c" + } +} + + +void value_take_photo_file_sniffer (GValue* value, gpointer v_object) { + PhotoFileSniffer* old; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_SNIFFER)); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + old = value->data[0].v_pointer; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (v_object) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_SNIFFER)); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = v_object; +#line 770 "PhotoFileSniffer.c" + } else { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 774 "PhotoFileSniffer.c" + } +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (old) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_sniffer_unref (old); +#line 780 "PhotoFileSniffer.c" + } +} + + +static void photo_file_sniffer_class_init (PhotoFileSnifferClass * klass) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_sniffer_parent_class = g_type_class_peek_parent (klass); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + ((PhotoFileSnifferClass *) klass)->finalize = photo_file_sniffer_finalize; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + ((PhotoFileSnifferClass *) klass)->sniff = photo_file_sniffer_real_sniff; +#line 792 "PhotoFileSniffer.c" +} + + +static void photo_file_sniffer_instance_init (PhotoFileSniffer * self) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->ref_count = 1; +#line 799 "PhotoFileSniffer.c" +} + + +static void photo_file_sniffer_finalize (PhotoFileSniffer* obj) { + PhotoFileSniffer * self; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_signal_handlers_destroy (self); +#line 38 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_object_unref0 (self->file); +#line 811 "PhotoFileSniffer.c" +} + + +GType photo_file_sniffer_get_type (void) { + static volatile gsize photo_file_sniffer_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_sniffer_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_file_sniffer_init, value_photo_file_sniffer_free_value, value_photo_file_sniffer_copy_value, value_photo_file_sniffer_peek_pointer, "p", value_photo_file_sniffer_collect_value, "p", value_photo_file_sniffer_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileSniffer), 0, (GInstanceInitFunc) photo_file_sniffer_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_file_sniffer_type_id; + photo_file_sniffer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoFileSniffer", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_file_sniffer_type_id__volatile, photo_file_sniffer_type_id); + } + return photo_file_sniffer_type_id__volatile; +} + + +gpointer photo_file_sniffer_ref (gpointer instance) { + PhotoFileSniffer* self; + self = instance; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_atomic_int_inc (&self->ref_count); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return instance; +#line 836 "PhotoFileSniffer.c" +} + + +void photo_file_sniffer_unref (gpointer instance) { + PhotoFileSniffer* self; + self = instance; +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + PHOTO_FILE_SNIFFER_GET_CLASS (self)->finalize (self); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 849 "PhotoFileSniffer.c" + } +} + + +PhotoFileInterrogator* photo_file_interrogator_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options) { + PhotoFileInterrogator* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + PhotoFileSnifferOptions _tmp2_ = 0; +#line 67 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 67 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self = (PhotoFileInterrogator*) g_type_create_instance (object_type); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp0_ = file; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_object_unref0 (self->priv->file); +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->priv->file = _tmp1_; +#line 70 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp2_ = options; +#line 70 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->priv->options = _tmp2_; +#line 67 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return self; +#line 877 "PhotoFileSniffer.c" +} + + +PhotoFileInterrogator* photo_file_interrogator_new (GFile* file, PhotoFileSnifferOptions options) { +#line 67 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return photo_file_interrogator_construct (TYPE_PHOTO_FILE_INTERROGATOR, file, options); +#line 884 "PhotoFileSniffer.c" +} + + +static gpointer _detected_photo_information_ref0 (gpointer self) { +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return self ? detected_photo_information_ref (self) : NULL; +#line 891 "PhotoFileSniffer.c" +} + + +DetectedPhotoInformation* photo_file_interrogator_get_detected_photo_information (PhotoFileInterrogator* self) { + DetectedPhotoInformation* result = NULL; + DetectedPhotoInformation* _tmp0_ = NULL; + DetectedPhotoInformation* _tmp1_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (IS_PHOTO_FILE_INTERROGATOR (self), NULL); +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp0_ = self->priv->detected; +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp1_ = _detected_photo_information_ref0 (_tmp0_); +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + result = _tmp1_; +#line 76 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return result; +#line 909 "PhotoFileSniffer.c" +} + + +gboolean photo_file_interrogator_get_is_photo_corrupted (PhotoFileInterrogator* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 80 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (IS_PHOTO_FILE_INTERROGATOR (self), FALSE); +#line 81 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp0_ = self->priv->is_photo_corrupted; +#line 81 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + result = _tmp0_; +#line 81 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return result; +#line 924 "PhotoFileSniffer.c" +} + + +void photo_file_interrogator_interrogate (PhotoFileInterrogator* self, GError** error) { + gint _tmp0_ = 0; + PhotoFileFormat* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (IS_PHOTO_FILE_INTERROGATOR (self)); +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp1_ = photo_file_format_get_supported (&_tmp0_); +#line 936 "PhotoFileSniffer.c" + { + PhotoFileFormat* file_format_collection = NULL; + gint file_format_collection_length1 = 0; + gint _file_format_collection_size_ = 0; + gint file_format_it = 0; +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + file_format_collection = _tmp1_; +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + file_format_collection_length1 = _tmp0_; +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + for (file_format_it = 0; file_format_it < _tmp0_; file_format_it = file_format_it + 1) { +#line 948 "PhotoFileSniffer.c" + PhotoFileFormat file_format = 0; +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + file_format = file_format_collection[file_format_it]; +#line 952 "PhotoFileSniffer.c" + { + PhotoFileSniffer* sniffer = NULL; + PhotoFileFormat _tmp2_ = 0; + GFile* _tmp3_ = NULL; + PhotoFileSnifferOptions _tmp4_ = 0; + PhotoFileSniffer* _tmp5_ = NULL; + gboolean is_corrupted = FALSE; + DetectedPhotoInformation* _tmp6_ = NULL; + PhotoFileSniffer* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + DetectedPhotoInformation* _tmp9_ = NULL; + DetectedPhotoInformation* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + DetectedPhotoInformation* _tmp12_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp2_ = file_format; +#line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp3_ = self->priv->file; +#line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp4_ = self->priv->options; +#line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp5_ = photo_file_format_create_sniffer (_tmp2_, _tmp3_, _tmp4_); +#line 86 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + sniffer = _tmp5_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp7_ = sniffer; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp9_ = photo_file_sniffer_sniff (_tmp7_, &_tmp8_, &_inner_error_); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + is_corrupted = _tmp8_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp6_ = _tmp9_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_propagate_error (error, _inner_error_); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _photo_file_sniffer_unref0 (sniffer); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + file_format_collection = (g_free (file_format_collection), NULL); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return; +#line 995 "PhotoFileSniffer.c" + } +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp10_ = _tmp6_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp6_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _detected_photo_information_unref0 (self->priv->detected); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->priv->detected = _tmp10_; +#line 90 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp12_ = self->priv->detected; +#line 90 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (_tmp12_ != NULL) { +#line 1009 "PhotoFileSniffer.c" + gboolean _tmp13_ = FALSE; +#line 90 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp13_ = is_corrupted; +#line 90 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp11_ = !_tmp13_; +#line 1015 "PhotoFileSniffer.c" + } else { +#line 90 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp11_ = FALSE; +#line 1019 "PhotoFileSniffer.c" + } +#line 90 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (_tmp11_) { +#line 1023 "PhotoFileSniffer.c" + DetectedPhotoInformation* _tmp14_ = NULL; + PhotoFileFormat _tmp15_ = 0; + PhotoFileFormat _tmp16_ = 0; +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp14_ = self->priv->detected; +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp15_ = _tmp14_->file_format; +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp16_ = file_format; +#line 91 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _vala_assert (_tmp15_ == _tmp16_, "detected.file_format == file_format"); +#line 93 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _detected_photo_information_unref0 (_tmp6_); +#line 93 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _photo_file_sniffer_unref0 (sniffer); +#line 93 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + break; +#line 1041 "PhotoFileSniffer.c" + } else { + gboolean _tmp17_ = FALSE; +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp17_ = is_corrupted; +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (_tmp17_) { +#line 1048 "PhotoFileSniffer.c" + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp18_ = self->priv->file; +#line 95 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp19_ = g_file_get_path (_tmp18_); +#line 95 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _tmp20_ = _tmp19_; +#line 95 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_message ("PhotoFileSniffer.vala:95: Sniffing halted for %s: potentially corrupte" \ +"d image file", _tmp20_); +#line 95 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_free0 (_tmp20_); +#line 96 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->priv->is_photo_corrupted = TRUE; +#line 97 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _detected_photo_information_unref0 (self->priv->detected); +#line 97 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->priv->detected = NULL; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _detected_photo_information_unref0 (_tmp6_); +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _photo_file_sniffer_unref0 (sniffer); +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + break; +#line 1074 "PhotoFileSniffer.c" + } + } +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _detected_photo_information_unref0 (_tmp6_); +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _photo_file_sniffer_unref0 (sniffer); +#line 1081 "PhotoFileSniffer.c" + } + } +#line 85 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + file_format_collection = (g_free (file_format_collection), NULL); +#line 1086 "PhotoFileSniffer.c" + } +} + + +static void value_photo_file_interrogator_init (GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 1094 "PhotoFileSniffer.c" +} + + +static void value_photo_file_interrogator_free_value (GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_interrogator_unref (value->data[0].v_pointer); +#line 1103 "PhotoFileSniffer.c" + } +} + + +static void value_photo_file_interrogator_copy_value (const GValue* src_value, GValue* dest_value) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (src_value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + dest_value->data[0].v_pointer = photo_file_interrogator_ref (src_value->data[0].v_pointer); +#line 1113 "PhotoFileSniffer.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + dest_value->data[0].v_pointer = NULL; +#line 1117 "PhotoFileSniffer.c" + } +} + + +static gpointer value_photo_file_interrogator_peek_pointer (const GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return value->data[0].v_pointer; +#line 1125 "PhotoFileSniffer.c" +} + + +static gchar* value_photo_file_interrogator_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (collect_values[0].v_pointer) { +#line 1132 "PhotoFileSniffer.c" + PhotoFileInterrogator* object; + object = collect_values[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (object->parent_instance.g_class == NULL) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1139 "PhotoFileSniffer.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1143 "PhotoFileSniffer.c" + } +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = photo_file_interrogator_ref (object); +#line 1147 "PhotoFileSniffer.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 1151 "PhotoFileSniffer.c" + } +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return NULL; +#line 1155 "PhotoFileSniffer.c" +} + + +static gchar* value_photo_file_interrogator_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoFileInterrogator** object_p; + object_p = collect_values[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (!object_p) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1166 "PhotoFileSniffer.c" + } +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (!value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = NULL; +#line 1172 "PhotoFileSniffer.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = value->data[0].v_pointer; +#line 1176 "PhotoFileSniffer.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + *object_p = photo_file_interrogator_ref (value->data[0].v_pointer); +#line 1180 "PhotoFileSniffer.c" + } +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return NULL; +#line 1184 "PhotoFileSniffer.c" +} + + +GParamSpec* param_spec_photo_file_interrogator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoFileInterrogator* spec; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_FILE_INTERROGATOR), NULL); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return G_PARAM_SPEC (spec); +#line 1198 "PhotoFileSniffer.c" +} + + +gpointer value_get_photo_file_interrogator (const GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_INTERROGATOR), NULL); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return value->data[0].v_pointer; +#line 1207 "PhotoFileSniffer.c" +} + + +void value_set_photo_file_interrogator (GValue* value, gpointer v_object) { + PhotoFileInterrogator* old; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_INTERROGATOR)); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + old = value->data[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (v_object) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_INTERROGATOR)); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = v_object; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_interrogator_ref (value->data[0].v_pointer); +#line 1227 "PhotoFileSniffer.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 1231 "PhotoFileSniffer.c" + } +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (old) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_interrogator_unref (old); +#line 1237 "PhotoFileSniffer.c" + } +} + + +void value_take_photo_file_interrogator (GValue* value, gpointer v_object) { + PhotoFileInterrogator* old; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_FILE_INTERROGATOR)); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + old = value->data[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (v_object) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_FILE_INTERROGATOR)); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = v_object; +#line 1256 "PhotoFileSniffer.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + value->data[0].v_pointer = NULL; +#line 1260 "PhotoFileSniffer.c" + } +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (old) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_interrogator_unref (old); +#line 1266 "PhotoFileSniffer.c" + } +} + + +static void photo_file_interrogator_class_init (PhotoFileInterrogatorClass * klass) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + photo_file_interrogator_parent_class = g_type_class_peek_parent (klass); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + ((PhotoFileInterrogatorClass *) klass)->finalize = photo_file_interrogator_finalize; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_type_class_add_private (klass, sizeof (PhotoFileInterrogatorPrivate)); +#line 1278 "PhotoFileSniffer.c" +} + + +static void photo_file_interrogator_instance_init (PhotoFileInterrogator * self) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->priv = PHOTO_FILE_INTERROGATOR_GET_PRIVATE (self); +#line 64 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->priv->detected = NULL; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->priv->is_photo_corrupted = FALSE; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self->ref_count = 1; +#line 1291 "PhotoFileSniffer.c" +} + + +static void photo_file_interrogator_finalize (PhotoFileInterrogator* obj) { + PhotoFileInterrogator * self; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_FILE_INTERROGATOR, PhotoFileInterrogator); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_signal_handlers_destroy (self); +#line 62 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _g_object_unref0 (self->priv->file); +#line 64 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + _detected_photo_information_unref0 (self->priv->detected); +#line 1305 "PhotoFileSniffer.c" +} + + +GType photo_file_interrogator_get_type (void) { + static volatile gsize photo_file_interrogator_type_id__volatile = 0; + if (g_once_init_enter (&photo_file_interrogator_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_file_interrogator_init, value_photo_file_interrogator_free_value, value_photo_file_interrogator_copy_value, value_photo_file_interrogator_peek_pointer, "p", value_photo_file_interrogator_collect_value, "p", value_photo_file_interrogator_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoFileInterrogatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_file_interrogator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoFileInterrogator), 0, (GInstanceInitFunc) photo_file_interrogator_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_file_interrogator_type_id; + photo_file_interrogator_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoFileInterrogator", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&photo_file_interrogator_type_id__volatile, photo_file_interrogator_type_id); + } + return photo_file_interrogator_type_id__volatile; +} + + +gpointer photo_file_interrogator_ref (gpointer instance) { + PhotoFileInterrogator* self; + self = instance; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_atomic_int_inc (&self->ref_count); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + return instance; +#line 1330 "PhotoFileSniffer.c" +} + + +void photo_file_interrogator_unref (gpointer instance) { + PhotoFileInterrogator* self; + self = instance; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + PHOTO_FILE_INTERROGATOR_GET_CLASS (self)->finalize (self); +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoFileSniffer.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1343 "PhotoFileSniffer.c" + } +} + + + diff --git a/src/photos/PhotoMetadata.c b/src/photos/PhotoMetadata.c new file mode 100644 index 0000000..1418eb3 --- /dev/null +++ b/src/photos/PhotoMetadata.c @@ -0,0 +1,8924 @@ +/* PhotoMetadata.c generated by valac 0.32.1, the Vala compiler + * generated from PhotoMetadata.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/**/ +/* PhotoMetadata*/ +/**/ +/* PhotoMetadata is a wrapper class around gexiv2. The reasoning for this is (a) to facilitiate*/ +/* interface changes to meet Shotwell's requirements without needing modifications of the library*/ +/* itself, and (b) some requirements for this class (i.e. obtaining raw metadata) is not available*/ +/* in gexiv2, and so must be done by hand.*/ +/**/ +/* Although it's perceived that Exiv2 will remain Shotwell's metadata library of choice, this*/ +/* may change in the future, and so this wrapper helps with that as well.*/ +/**/ +/* There is no expectation of thread-safety in this class (yet).*/ +/**/ +/* Tags come from Exiv2's naming scheme:*/ +/* http://www.exiv2.org/metadata.html*/ +/**/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_METADATA_DOMAIN (metadata_domain_get_type ()) + +#define TYPE_HIERARCHICAL_KEYWORD_FIELD (hierarchical_keyword_field_get_type ()) +#define HIERARCHICAL_KEYWORD_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_KEYWORD_FIELD, HierarchicalKeywordField)) +#define HIERARCHICAL_KEYWORD_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_KEYWORD_FIELD, HierarchicalKeywordFieldClass)) +#define IS_HIERARCHICAL_KEYWORD_FIELD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_KEYWORD_FIELD)) +#define IS_HIERARCHICAL_KEYWORD_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_KEYWORD_FIELD)) +#define HIERARCHICAL_KEYWORD_FIELD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_KEYWORD_FIELD, HierarchicalKeywordFieldClass)) + +typedef struct _HierarchicalKeywordField HierarchicalKeywordField; +typedef struct _HierarchicalKeywordFieldClass HierarchicalKeywordFieldClass; +typedef struct _HierarchicalKeywordFieldPrivate HierarchicalKeywordFieldPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _ParamSpecHierarchicalKeywordField ParamSpecHierarchicalKeywordField; + +#define TYPE_PHOTO_PREVIEW (photo_preview_get_type ()) +#define PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_PREVIEW, PhotoPreview)) +#define PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) +#define IS_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_PREVIEW)) +#define IS_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_PREVIEW)) +#define PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_PREVIEW, PhotoPreviewClass)) + +typedef struct _PhotoPreview PhotoPreview; +typedef struct _PhotoPreviewClass PhotoPreviewClass; +typedef struct _PhotoPreviewPrivate PhotoPreviewPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _ParamSpecPhotoPreview ParamSpecPhotoPreview; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; +typedef struct _MediaMetadataPrivate MediaMetadataPrivate; + +#define TYPE_METADATA_DATE_TIME (metadata_date_time_get_type ()) +#define METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTime)) +#define METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) +#define IS_METADATA_DATE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_METADATA_DATE_TIME)) +#define IS_METADATA_DATE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_METADATA_DATE_TIME)) +#define METADATA_DATE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_METADATA_DATE_TIME, MetadataDateTimeClass)) + +typedef struct _MetadataDateTime MetadataDateTime; +typedef struct _MetadataDateTimeClass MetadataDateTimeClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; +typedef struct _PhotoMetadataPrivate PhotoMetadataPrivate; + +#define PHOTO_METADATA_TYPE_SET_OPTION (photo_metadata_set_option_get_type ()) +#define _gexiv2_metadata_free0(var) ((var == NULL) ? NULL : (var = (gexiv2_metadata_free (var), NULL))) +#define _exif_data_unref0(var) ((var == NULL) ? NULL : (var = (exif_data_unref (var), NULL))) + +#define TYPE_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ()) +typedef struct _Block1Data Block1Data; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +typedef struct _Block2Data Block2Data; +typedef struct _Block3Data Block3Data; + +#define TYPE_METADATA_RATIONAL (metadata_rational_get_type ()) +typedef struct _MetadataRational MetadataRational; +typedef struct _Block4Data Block4Data; +#define _metadata_date_time_unref0(var) ((var == NULL) ? NULL : (var = (metadata_date_time_unref (var), NULL))) +typedef struct _Block5Data Block5Data; +#define _exif_mem_unref0(var) ((var == NULL) ? NULL : (var = (exif_mem_unref (var), NULL))) + +#define PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW (photo_metadata_internal_photo_preview_get_type ()) +#define PHOTO_METADATA_INTERNAL_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW, PhotoMetadataInternalPhotoPreview)) +#define PHOTO_METADATA_INTERNAL_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW, PhotoMetadataInternalPhotoPreviewClass)) +#define PHOTO_METADATA_IS_INTERNAL_PHOTO_PREVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW)) +#define PHOTO_METADATA_IS_INTERNAL_PHOTO_PREVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW)) +#define PHOTO_METADATA_INTERNAL_PHOTO_PREVIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW, PhotoMetadataInternalPhotoPreviewClass)) + +typedef struct _PhotoMetadataInternalPhotoPreview PhotoMetadataInternalPhotoPreview; +typedef struct _PhotoMetadataInternalPhotoPreviewClass PhotoMetadataInternalPhotoPreviewClass; + +#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; +#define _hierarchical_keyword_field_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_keyword_field_unref (var), NULL))) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) + +#define TYPE_ORIENTATION (orientation_get_type ()) + +#define TYPE_RATING (rating_get_type ()) +typedef struct _PhotoMetadataInternalPhotoPreviewPrivate PhotoMetadataInternalPhotoPreviewPrivate; +#define _gexiv2_preview_image_free0(var) ((var == NULL) ? NULL : (var = (gexiv2_preview_image_free (var), NULL))) +#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); + +typedef enum { + METADATA_DOMAIN_UNKNOWN, + METADATA_DOMAIN_EXIF, + METADATA_DOMAIN_XMP, + METADATA_DOMAIN_IPTC +} MetadataDomain; + +struct _HierarchicalKeywordField { + GTypeInstance parent_instance; + volatile int ref_count; + HierarchicalKeywordFieldPrivate * priv; + gchar* field_name; + gchar* path_separator; + gboolean wants_leading_separator; + gboolean is_writeable; +}; + +struct _HierarchicalKeywordFieldClass { + GTypeClass parent_class; + void (*finalize) (HierarchicalKeywordField *self); +}; + +struct _ParamSpecHierarchicalKeywordField { + GParamSpec parent_instance; +}; + +struct _PhotoPreview { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoPreviewPrivate * priv; +}; + +struct _PhotoPreviewClass { + GTypeClass parent_class; + void (*finalize) (PhotoPreview *self); + guint8* (*flatten) (PhotoPreview* self, int* result_length1, GError** error); + GdkPixbuf* (*get_pixbuf) (PhotoPreview* self, GError** error); +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _PhotoPreviewPrivate { + gchar* name; + Dimensions dimensions; + guint32 size; + gchar* mime_type; + gchar* extension; +}; + +struct _ParamSpecPhotoPreview { + GParamSpec parent_instance; +}; + +struct _MediaMetadata { + GTypeInstance parent_instance; + volatile int ref_count; + MediaMetadataPrivate * priv; +}; + +struct _MediaMetadataClass { + GTypeClass parent_class; + void (*finalize) (MediaMetadata *self); + void (*read_from_file) (MediaMetadata* self, GFile* file, GError** error); + MetadataDateTime* (*get_creation_date_time) (MediaMetadata* self); + gchar* (*get_title) (MediaMetadata* self); + gchar* (*get_comment) (MediaMetadata* self); +}; + +struct _PhotoMetadata { + MediaMetadata parent_instance; + PhotoMetadataPrivate * priv; +}; + +struct _PhotoMetadataClass { + MediaMetadataClass parent_class; +}; + +struct _PhotoMetadataPrivate { + GExiv2Metadata* exiv2; + ExifData* exif; + gchar* source_name; +}; + +typedef enum { + PHOTO_METADATA_SET_OPTION_ALL_DOMAINS, + PHOTO_METADATA_SET_OPTION_ONLY_IF_DOMAIN_PRESENT, + PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN +} PhotoMetadataSetOption; + +typedef enum { + PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL = 1 << 0, + PREPARE_INPUT_TEXT_OPTIONS_VALIDATE = 1 << 1, + PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL = 1 << 2, + PREPARE_INPUT_TEXT_OPTIONS_STRIP = 1 << 3, + PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF = 1 << 4, + PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE = 1 << 5, + PREPARE_INPUT_TEXT_OPTIONS_DEFAULT = ((((PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE +} PrepareInputTextOptions; + +typedef void (*PhotoMetadataSetGenericValue) (const gchar* tag, void* user_data); +struct _Block1Data { + int _ref_count_; + PhotoMetadata* self; + gchar* value; +}; + +struct _Block2Data { + int _ref_count_; + PhotoMetadata* self; + GeeCollection* values; +}; + +struct _Block3Data { + int _ref_count_; + PhotoMetadata* self; + glong value; +}; + +struct _MetadataRational { + gint numerator; + gint denominator; +}; + +struct _Block4Data { + int _ref_count_; + PhotoMetadata* self; + MetadataRational rational; +}; + +typedef enum { + METADATA_DATE_TIME_ERROR_INVALID_FORMAT, + METADATA_DATE_TIME_ERROR_UNSUPPORTED_FORMAT +} MetadataDateTimeError; +#define METADATA_DATE_TIME_ERROR metadata_date_time_error_quark () +struct _Block5Data { + int _ref_count_; + PhotoMetadata* self; + MetadataDateTime* date_time; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +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 _PhotoMetadataInternalPhotoPreview { + PhotoPreview parent_instance; + PhotoMetadataInternalPhotoPreviewPrivate * priv; + PhotoMetadata* owner; + guint number; +}; + +struct _PhotoMetadataInternalPhotoPreviewClass { + PhotoPreviewClass parent_class; +}; + + +static gpointer hierarchical_keyword_field_parent_class = NULL; +static gpointer photo_preview_parent_class = NULL; +static gpointer photo_metadata_parent_class = NULL; +static gchar** photo_metadata_DATE_TIME_TAGS; +static gint photo_metadata_DATE_TIME_TAGS_length1; +static gchar** photo_metadata_DATE_TIME_TAGS = NULL; +static gint photo_metadata_DATE_TIME_TAGS_length1 = 0; +static gint _photo_metadata_DATE_TIME_TAGS_size_ = 0; +static gchar** photo_metadata_EXPOSURE_DATE_TIME_TAGS; +static gint photo_metadata_EXPOSURE_DATE_TIME_TAGS_length1; +static gchar** photo_metadata_EXPOSURE_DATE_TIME_TAGS = NULL; +static gint photo_metadata_EXPOSURE_DATE_TIME_TAGS_length1 = 0; +static gint _photo_metadata_EXPOSURE_DATE_TIME_TAGS_size_ = 0; +static gchar** photo_metadata_DIGITIZED_DATE_TIME_TAGS; +static gint photo_metadata_DIGITIZED_DATE_TIME_TAGS_length1; +static gchar** photo_metadata_DIGITIZED_DATE_TIME_TAGS = NULL; +static gint photo_metadata_DIGITIZED_DATE_TIME_TAGS_length1 = 0; +static gint _photo_metadata_DIGITIZED_DATE_TIME_TAGS_size_ = 0; +static gchar** photo_metadata_WIDTH_TAGS; +static gint photo_metadata_WIDTH_TAGS_length1; +static gchar** photo_metadata_WIDTH_TAGS = NULL; +static gint photo_metadata_WIDTH_TAGS_length1 = 0; +static gint _photo_metadata_WIDTH_TAGS_size_ = 0; +extern gchar** photo_metadata_HEIGHT_TAGS; +extern gint photo_metadata_HEIGHT_TAGS_length1; +gchar** photo_metadata_HEIGHT_TAGS = NULL; +gint photo_metadata_HEIGHT_TAGS_length1 = 0; +static gchar** photo_metadata_STANDARD_TITLE_TAGS; +static gint photo_metadata_STANDARD_TITLE_TAGS_length1; +static gchar** photo_metadata_STANDARD_TITLE_TAGS = NULL; +static gint photo_metadata_STANDARD_TITLE_TAGS_length1 = 0; +static gint _photo_metadata_STANDARD_TITLE_TAGS_size_ = 0; +static gchar** photo_metadata_KEYWORD_TAGS; +static gint photo_metadata_KEYWORD_TAGS_length1; +static gchar** photo_metadata_KEYWORD_TAGS = NULL; +static gint photo_metadata_KEYWORD_TAGS_length1 = 0; +static gint _photo_metadata_KEYWORD_TAGS_size_ = 0; +static HierarchicalKeywordField** photo_metadata_HIERARCHICAL_KEYWORD_TAGS; +static gint photo_metadata_HIERARCHICAL_KEYWORD_TAGS_length1; +static HierarchicalKeywordField** photo_metadata_HIERARCHICAL_KEYWORD_TAGS = NULL; +static gint photo_metadata_HIERARCHICAL_KEYWORD_TAGS_length1 = 0; +static gint _photo_metadata_HIERARCHICAL_KEYWORD_TAGS_size_ = 0; +static gchar** photo_metadata_ARTIST_TAGS; +static gint photo_metadata_ARTIST_TAGS_length1; +static gchar** photo_metadata_ARTIST_TAGS = NULL; +static gint photo_metadata_ARTIST_TAGS_length1 = 0; +static gint _photo_metadata_ARTIST_TAGS_size_ = 0; +static gchar** photo_metadata_RATING_TAGS; +static gint photo_metadata_RATING_TAGS_length1; +static gchar** photo_metadata_RATING_TAGS = NULL; +static gint photo_metadata_RATING_TAGS_length1 = 0; +static gint _photo_metadata_RATING_TAGS_size_ = 0; +static gpointer photo_metadata_internal_photo_preview_parent_class = NULL; + +GType metadata_domain_get_type (void) G_GNUC_CONST; +gpointer hierarchical_keyword_field_ref (gpointer instance); +void hierarchical_keyword_field_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_keyword_field (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_keyword_field (GValue* value, gpointer v_object); +void value_take_hierarchical_keyword_field (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_keyword_field (const GValue* value); +GType hierarchical_keyword_field_get_type (void) G_GNUC_CONST; +enum { + HIERARCHICAL_KEYWORD_FIELD_DUMMY_PROPERTY +}; +HierarchicalKeywordField* hierarchical_keyword_field_new (const gchar* field_name, const gchar* path_separator, gboolean wants_leading_separator, gboolean is_writeable); +HierarchicalKeywordField* hierarchical_keyword_field_construct (GType object_type, const gchar* field_name, const gchar* path_separator, gboolean wants_leading_separator, gboolean is_writeable); +static void hierarchical_keyword_field_finalize (HierarchicalKeywordField* obj); +gpointer photo_preview_ref (gpointer instance); +void photo_preview_unref (gpointer instance); +GParamSpec* param_spec_photo_preview (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_preview (GValue* value, gpointer v_object); +void value_take_photo_preview (GValue* value, gpointer v_object); +gpointer value_get_photo_preview (const GValue* value); +GType photo_preview_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +#define PHOTO_PREVIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_PREVIEW, PhotoPreviewPrivate)) +enum { + PHOTO_PREVIEW_DUMMY_PROPERTY +}; +PhotoPreview* photo_preview_construct (GType object_type, const gchar* name, Dimensions* dimensions, guint32 size, const gchar* mime_type, const gchar* extension); +gchar* photo_preview_get_name (PhotoPreview* self); +void photo_preview_get_pixel_dimensions (PhotoPreview* self, Dimensions* result); +guint32 photo_preview_get_size (PhotoPreview* self); +gchar* photo_preview_get_mime_type (PhotoPreview* self); +gchar* photo_preview_get_extension (PhotoPreview* self); +guint8* photo_preview_flatten (PhotoPreview* self, int* result_length1, GError** error); +static guint8* photo_preview_real_flatten (PhotoPreview* self, int* result_length1, GError** error); +GdkPixbuf* photo_preview_get_pixbuf (PhotoPreview* self, GError** error); +static GdkPixbuf* photo_preview_real_get_pixbuf (PhotoPreview* self, GError** error); +static guint8* _vala_array_dup4 (guint8* self, int length); +static void photo_preview_finalize (PhotoPreview* obj); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +gpointer metadata_date_time_ref (gpointer instance); +void metadata_date_time_unref (gpointer instance); +GParamSpec* param_spec_metadata_date_time (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_metadata_date_time (GValue* value, gpointer v_object); +void value_take_metadata_date_time (GValue* value, gpointer v_object); +gpointer value_get_metadata_date_time (const GValue* value); +GType metadata_date_time_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +#define PHOTO_METADATA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_PHOTO_METADATA, PhotoMetadataPrivate)) +enum { + PHOTO_METADATA_DUMMY_PROPERTY +}; +GType photo_metadata_set_option_get_type (void) G_GNUC_CONST; +GType prepare_input_text_options_get_type (void) G_GNUC_CONST; +#define PHOTO_METADATA_PREPARE_STRING_OPTIONS (((((PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE) | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) +#define PHOTO_METADATA_IPHOTO_TITLE_TAG "Iptc.Application2.ObjectName" +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +MediaMetadata* media_metadata_construct (GType object_type); +static void photo_metadata_real_read_from_file (MediaMetadata* base, GFile* file, GError** error); +void photo_metadata_write_to_file (PhotoMetadata* self, GFile* file, GError** error); +void photo_metadata_read_from_buffer (PhotoMetadata* self, guint8* buffer, int buffer_length1, gint length, GError** error); +void photo_metadata_read_from_app1_segment (PhotoMetadata* self, guint8* buffer, int buffer_length1, gint length, GError** error); +MetadataDomain photo_metadata_get_tag_domain (const gchar* tag); +gboolean photo_metadata_has_domain (PhotoMetadata* self, MetadataDomain domain); +gboolean photo_metadata_has_exif (PhotoMetadata* self); +gboolean photo_metadata_has_xmp (PhotoMetadata* self); +gboolean photo_metadata_has_iptc (PhotoMetadata* self); +gboolean photo_metadata_can_write_to_domain (PhotoMetadata* self, MetadataDomain domain); +gboolean photo_metadata_can_write_exif (PhotoMetadata* self); +gboolean photo_metadata_can_write_xmp (PhotoMetadata* self); +gboolean photo_metadata_can_write_iptc (PhotoMetadata* self); +gboolean photo_metadata_has_tag (PhotoMetadata* self, const gchar* tag); +static GeeSet* photo_metadata_create_string_set (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +GeeCollection* photo_metadata_get_tags (PhotoMetadata* self, MetadataDomain domain, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +GeeCollection* photo_metadata_get_all_tags (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +gchar* photo_metadata_get_tag_label (PhotoMetadata* self, const gchar* tag); +gchar* photo_metadata_get_tag_description (PhotoMetadata* self, const gchar* tag); +gchar* photo_metadata_get_string (PhotoMetadata* self, const gchar* tag, PrepareInputTextOptions options); +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length); +#define DEFAULT_USER_TEXT_INPUT_LENGTH 1024 +gchar* photo_metadata_get_string_interpreted (PhotoMetadata* self, const gchar* tag, PrepareInputTextOptions options); +gchar* photo_metadata_get_first_string (PhotoMetadata* self, gchar** tags, int tags_length1); +gchar* photo_metadata_get_first_string_interpreted (PhotoMetadata* self, gchar** tags, int tags_length1); +GeeList* photo_metadata_get_string_multiple (PhotoMetadata* self, const gchar* tag); +GeeList* photo_metadata_get_first_string_multiple (PhotoMetadata* self, gchar** tags, int tags_length1); +void photo_metadata_set_string (PhotoMetadata* self, const gchar* tag, const gchar* value, PrepareInputTextOptions options); +static void photo_metadata_set_all_generic (PhotoMetadata* self, gchar** tags, int tags_length1, PhotoMetadataSetOption option, PhotoMetadataSetGenericValue setter, void* setter_target); +void photo_metadata_set_all_string (PhotoMetadata* self, gchar** tags, int tags_length1, const gchar* value, PhotoMetadataSetOption option); +static Block1Data* block1_data_ref (Block1Data* _data1_); +static void block1_data_unref (void * _userdata_); +static void __lambda5_ (Block1Data* _data1_, const gchar* tag); +static void ___lambda5__photo_metadata_set_generic_value (const gchar* tag, gpointer self); +void photo_metadata_set_string_multiple (PhotoMetadata* self, const gchar* tag, GeeCollection* collection); +static void _vala_array_add45 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add46 (gchar*** array, int* length, int* size, gchar* value); +void photo_metadata_set_all_string_multiple (PhotoMetadata* self, gchar** tags, int tags_length1, GeeCollection* values, PhotoMetadataSetOption option); +static Block2Data* block2_data_ref (Block2Data* _data2_); +static void block2_data_unref (void * _userdata_); +static void __lambda6_ (Block2Data* _data2_, const gchar* tag); +static void ___lambda6__photo_metadata_set_generic_value (const gchar* tag, gpointer self); +gboolean photo_metadata_get_long (PhotoMetadata* self, const gchar* tag, glong* value); +gboolean photo_metadata_get_first_long (PhotoMetadata* self, gchar** tags, int tags_length1, glong* value); +void photo_metadata_set_long (PhotoMetadata* self, const gchar* tag, glong value); +void photo_metadata_set_all_long (PhotoMetadata* self, gchar** tags, int tags_length1, glong value, PhotoMetadataSetOption option); +static Block3Data* block3_data_ref (Block3Data* _data3_); +static void block3_data_unref (void * _userdata_); +static void __lambda7_ (Block3Data* _data3_, const gchar* tag); +static void ___lambda7__photo_metadata_set_generic_value (const gchar* tag, gpointer self); +GType metadata_rational_get_type (void) G_GNUC_CONST; +MetadataRational* metadata_rational_dup (const MetadataRational* self); +void metadata_rational_free (MetadataRational* self); +gboolean photo_metadata_get_rational (PhotoMetadata* self, const gchar* tag, MetadataRational* rational); +void metadata_rational_init (MetadataRational *self, gint numerator, gint denominator); +gboolean photo_metadata_get_first_rational (PhotoMetadata* self, gchar** tags, int tags_length1, MetadataRational* rational); +void photo_metadata_set_rational (PhotoMetadata* self, const gchar* tag, MetadataRational* rational); +gchar* metadata_rational_to_string (MetadataRational *self); +void photo_metadata_set_all_rational (PhotoMetadata* self, gchar** tags, int tags_length1, MetadataRational* rational, PhotoMetadataSetOption option); +static Block4Data* block4_data_ref (Block4Data* _data4_); +static void block4_data_unref (void * _userdata_); +static void __lambda8_ (Block4Data* _data4_, const gchar* tag); +static void ___lambda8__photo_metadata_set_generic_value (const gchar* tag, gpointer self); +MetadataDateTime* photo_metadata_get_date_time (PhotoMetadata* self, const gchar* tag); +GQuark metadata_date_time_error_quark (void); +MetadataDateTime* metadata_date_time_new_from_xmp (const gchar* label, GError** error); +MetadataDateTime* metadata_date_time_construct_from_xmp (GType object_type, const gchar* label, GError** error); +MetadataDateTime* metadata_date_time_new_from_exif (const gchar* label, GError** error); +MetadataDateTime* metadata_date_time_construct_from_exif (GType object_type, const gchar* label, GError** error); +MetadataDateTime* photo_metadata_get_first_date_time (PhotoMetadata* self, gchar** tags, int tags_length1); +void photo_metadata_set_date_time (PhotoMetadata* self, const gchar* tag, MetadataDateTime* date_time); +gchar* metadata_date_time_get_exif_label (MetadataDateTime* self); +gchar* metadata_date_time_get_xmp_label (MetadataDateTime* self); +const gchar* metadata_domain_to_string (MetadataDomain self); +void photo_metadata_set_all_date_time (PhotoMetadata* self, gchar** tags, int tags_length1, MetadataDateTime* date_time, PhotoMetadataSetOption option); +static Block5Data* block5_data_ref (Block5Data* _data5_); +static void block5_data_unref (void * _userdata_); +static void __lambda9_ (Block5Data* _data5_, const gchar* tag); +static void ___lambda9__photo_metadata_set_generic_value (const gchar* tag, gpointer self); +guint8* photo_metadata_flatten_exif (PhotoMetadata* self, gboolean include_preview, int* result_length1); +guint8* photo_metadata_flatten_exif_preview (PhotoMetadata* self, int* result_length1); +static guint8* _vala_array_dup5 (guint8* self, int length); +guint photo_metadata_get_preview_count (PhotoMetadata* self); +PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self, guint number); +static PhotoMetadataInternalPhotoPreview* photo_metadata_internal_photo_preview_new (PhotoMetadata* owner, const gchar* name, guint number, GExiv2PreviewProperties* props); +static PhotoMetadataInternalPhotoPreview* photo_metadata_internal_photo_preview_construct (GType object_type, PhotoMetadata* owner, const gchar* name, guint number, GExiv2PreviewProperties* props); +static GType photo_metadata_internal_photo_preview_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +void photo_metadata_remove_exif_thumbnail (PhotoMetadata* self); +void photo_metadata_remove_tag (PhotoMetadata* self, const gchar* tag); +void photo_metadata_remove_tags (PhotoMetadata* self, gchar** tags, int tags_length1); +void photo_metadata_clear_domain (PhotoMetadata* self, MetadataDomain domain); +void photo_metadata_clear (PhotoMetadata* self); +MetadataDateTime* photo_metadata_get_modification_date_time (PhotoMetadata* self); +void photo_metadata_set_modification_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option); +MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self); +void photo_metadata_set_exposure_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option); +MetadataDateTime* photo_metadata_get_digitized_date_time (PhotoMetadata* self); +void photo_metadata_set_digitized_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option); +static MetadataDateTime* photo_metadata_real_get_creation_date_time (MediaMetadata* base); +Dimensions* photo_metadata_get_pixel_dimensions (PhotoMetadata* self); +void dimensions_init (Dimensions *self, gint width, gint height); +void photo_metadata_set_pixel_dimensions (PhotoMetadata* self, Dimensions* dim, PhotoMetadataSetOption option); +static gchar* photo_metadata_real_get_title (MediaMetadata* base); +gboolean is_string_empty (const gchar* s); +void photo_metadata_set_title (PhotoMetadata* self, const gchar* title, PhotoMetadataSetOption option); +static gchar* photo_metadata_real_get_comment (MediaMetadata* base); +void photo_metadata_set_comment (PhotoMetadata* self, const gchar* comment); +GeeSet* photo_metadata_get_keywords (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +gchar* hierarchical_tag_utilities_make_flat_tag_safe (const gchar* in_tag); +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +static void photo_metadata_internal_set_hierarchical_keywords (PhotoMetadata* self, HierarchicalTagIndex* index); +GeeCollection* hierarchical_tag_index_get_all_paths (HierarchicalTagIndex* self); +#define TAG_PATH_SEPARATOR_STRING "/" +void photo_metadata_set_keywords (PhotoMetadata* self, GeeCollection* keywords, PhotoMetadataSetOption option); +HierarchicalTagIndex* hierarchical_tag_index_new (void); +HierarchicalTagIndex* hierarchical_tag_index_construct (GType object_type); +GeeList* hierarchical_tag_utilities_enumerate_path_components (const gchar* in_path); +void hierarchical_tag_index_add_path (HierarchicalTagIndex* self, const gchar* tag, const gchar* path); +GeeCollection* hierarchical_tag_index_get_all_tags (HierarchicalTagIndex* self); +gboolean photo_metadata_has_hierarchical_keywords (PhotoMetadata* self); +GeeSet* photo_metadata_get_hierarchical_keywords (PhotoMetadata* self); +gchar* hierarchical_tag_utilities_canonicalize (const gchar* in_tag, const gchar* foreign_separator); +gboolean photo_metadata_has_orientation (PhotoMetadata* self); +GType orientation_get_type (void) G_GNUC_CONST; +Orientation photo_metadata_get_orientation (PhotoMetadata* self); +void photo_metadata_set_orientation (PhotoMetadata* self, Orientation orientation); +gboolean photo_metadata_get_gps (PhotoMetadata* self, gdouble* longitude, gchar** long_ref, gdouble* latitude, gchar** lat_ref, gdouble* altitude); +gboolean photo_metadata_get_exposure (PhotoMetadata* self, MetadataRational* exposure); +gchar* photo_metadata_get_exposure_string (PhotoMetadata* self); +gboolean metadata_rational_is_valid (MetadataRational *self); +gboolean photo_metadata_get_iso (PhotoMetadata* self, glong* iso); +gchar* photo_metadata_get_iso_string (PhotoMetadata* self); +gboolean photo_metadata_get_aperture (PhotoMetadata* self, MetadataRational* aperture); +gchar* photo_metadata_get_aperture_string (PhotoMetadata* self, gboolean pango_formatted); +gchar* photo_metadata_get_camera_make (PhotoMetadata* self); +gchar* photo_metadata_get_camera_model (PhotoMetadata* self); +gboolean photo_metadata_get_flash (PhotoMetadata* self, glong* flash); +gchar* photo_metadata_get_flash_string (PhotoMetadata* self); +gboolean photo_metadata_get_focal_length (PhotoMetadata* self, MetadataRational* focal_length); +gchar* photo_metadata_get_focal_length_string (PhotoMetadata* self); +gchar* photo_metadata_get_artist (PhotoMetadata* self); +gchar* photo_metadata_get_copyright (PhotoMetadata* self); +gchar* photo_metadata_get_software (PhotoMetadata* self); +void photo_metadata_set_software (PhotoMetadata* self, const gchar* software, const gchar* version); +void photo_metadata_remove_software (PhotoMetadata* self); +gchar* photo_metadata_get_exposure_bias (PhotoMetadata* self); +GType rating_get_type (void) G_GNUC_CONST; +Rating photo_metadata_get_rating (PhotoMetadata* self); +Rating rating_unserialize (gint value); +void photo_metadata_set_rating (PhotoMetadata* self, Rating rating); +gint rating_serialize (Rating self); +enum { + PHOTO_METADATA_INTERNAL_PHOTO_PREVIEW_DUMMY_PROPERTY +}; +static guint8* photo_metadata_internal_photo_preview_real_flatten (PhotoPreview* base, int* result_length1, GError** error); +static guint8* _vala_array_dup6 (guint8* self, int length); +static void photo_metadata_internal_photo_preview_finalize (PhotoPreview* obj); +static void photo_metadata_finalize (MediaMetadata* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + +extern const gint RESOURCES_rating_thresholds[6]; + +GType metadata_domain_get_type (void) { + static volatile gsize metadata_domain_type_id__volatile = 0; + if (g_once_init_enter (&metadata_domain_type_id__volatile)) { + static const GEnumValue values[] = {{METADATA_DOMAIN_UNKNOWN, "METADATA_DOMAIN_UNKNOWN", "unknown"}, {METADATA_DOMAIN_EXIF, "METADATA_DOMAIN_EXIF", "exif"}, {METADATA_DOMAIN_XMP, "METADATA_DOMAIN_XMP", "xmp"}, {METADATA_DOMAIN_IPTC, "METADATA_DOMAIN_IPTC", "iptc"}, {0, NULL, NULL}}; + GType metadata_domain_type_id; + metadata_domain_type_id = g_enum_register_static ("MetadataDomain", values); + g_once_init_leave (&metadata_domain_type_id__volatile, metadata_domain_type_id); + } + return metadata_domain_type_id__volatile; +} + + +HierarchicalKeywordField* hierarchical_keyword_field_construct (GType object_type, const gchar* field_name, const gchar* path_separator, gboolean wants_leading_separator, gboolean is_writeable) { + HierarchicalKeywordField* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 37 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (field_name != NULL, NULL); +#line 37 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (path_separator != NULL, NULL); +#line 37 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = (HierarchicalKeywordField*) g_type_create_instance (object_type); +#line 39 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = field_name; +#line 39 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 39 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->field_name); +#line 39 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->field_name = _tmp1_; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = path_separator; +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->path_separator); +#line 40 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->path_separator = _tmp3_; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = wants_leading_separator; +#line 41 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->wants_leading_separator = _tmp4_; +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = is_writeable; +#line 42 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->is_writeable = _tmp5_; +#line 37 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self; +#line 676 "PhotoMetadata.c" +} + + +HierarchicalKeywordField* hierarchical_keyword_field_new (const gchar* field_name, const gchar* path_separator, gboolean wants_leading_separator, gboolean is_writeable) { +#line 37 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return hierarchical_keyword_field_construct (TYPE_HIERARCHICAL_KEYWORD_FIELD, field_name, path_separator, wants_leading_separator, is_writeable); +#line 683 "PhotoMetadata.c" +} + + +static void value_hierarchical_keyword_field_init (GValue* value) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 690 "PhotoMetadata.c" +} + + +static void value_hierarchical_keyword_field_free_value (GValue* value) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (value->data[0].v_pointer) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + hierarchical_keyword_field_unref (value->data[0].v_pointer); +#line 699 "PhotoMetadata.c" + } +} + + +static void value_hierarchical_keyword_field_copy_value (const GValue* src_value, GValue* dest_value) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (src_value->data[0].v_pointer) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + dest_value->data[0].v_pointer = hierarchical_keyword_field_ref (src_value->data[0].v_pointer); +#line 709 "PhotoMetadata.c" + } else { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + dest_value->data[0].v_pointer = NULL; +#line 713 "PhotoMetadata.c" + } +} + + +static gpointer value_hierarchical_keyword_field_peek_pointer (const GValue* value) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return value->data[0].v_pointer; +#line 721 "PhotoMetadata.c" +} + + +static gchar* value_hierarchical_keyword_field_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (collect_values[0].v_pointer) { +#line 728 "PhotoMetadata.c" + HierarchicalKeywordField* object; + object = collect_values[0].v_pointer; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (object->parent_instance.g_class == NULL) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 735 "PhotoMetadata.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 739 "PhotoMetadata.c" + } +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = hierarchical_keyword_field_ref (object); +#line 743 "PhotoMetadata.c" + } else { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 747 "PhotoMetadata.c" + } +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return NULL; +#line 751 "PhotoMetadata.c" +} + + +static gchar* value_hierarchical_keyword_field_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + HierarchicalKeywordField** object_p; + object_p = collect_values[0].v_pointer; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!object_p) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 762 "PhotoMetadata.c" + } +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!value->data[0].v_pointer) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *object_p = NULL; +#line 768 "PhotoMetadata.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *object_p = value->data[0].v_pointer; +#line 772 "PhotoMetadata.c" + } else { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *object_p = hierarchical_keyword_field_ref (value->data[0].v_pointer); +#line 776 "PhotoMetadata.c" + } +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return NULL; +#line 780 "PhotoMetadata.c" +} + + +GParamSpec* param_spec_hierarchical_keyword_field (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecHierarchicalKeywordField* spec; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_HIERARCHICAL_KEYWORD_FIELD), NULL); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return G_PARAM_SPEC (spec); +#line 794 "PhotoMetadata.c" +} + + +gpointer value_get_hierarchical_keyword_field (const GValue* value) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_KEYWORD_FIELD), NULL); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return value->data[0].v_pointer; +#line 803 "PhotoMetadata.c" +} + + +void value_set_hierarchical_keyword_field (GValue* value, gpointer v_object) { + HierarchicalKeywordField* old; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_KEYWORD_FIELD)); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + old = value->data[0].v_pointer; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (v_object) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HIERARCHICAL_KEYWORD_FIELD)); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + hierarchical_keyword_field_ref (value->data[0].v_pointer); +#line 823 "PhotoMetadata.c" + } else { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 827 "PhotoMetadata.c" + } +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (old) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + hierarchical_keyword_field_unref (old); +#line 833 "PhotoMetadata.c" + } +} + + +void value_take_hierarchical_keyword_field (GValue* value, gpointer v_object) { + HierarchicalKeywordField* old; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_KEYWORD_FIELD)); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + old = value->data[0].v_pointer; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (v_object) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HIERARCHICAL_KEYWORD_FIELD)); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 852 "PhotoMetadata.c" + } else { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 856 "PhotoMetadata.c" + } +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (old) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + hierarchical_keyword_field_unref (old); +#line 862 "PhotoMetadata.c" + } +} + + +static void hierarchical_keyword_field_class_init (HierarchicalKeywordFieldClass * klass) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + hierarchical_keyword_field_parent_class = g_type_class_peek_parent (klass); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((HierarchicalKeywordFieldClass *) klass)->finalize = hierarchical_keyword_field_finalize; +#line 872 "PhotoMetadata.c" +} + + +static void hierarchical_keyword_field_instance_init (HierarchicalKeywordField * self) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->ref_count = 1; +#line 879 "PhotoMetadata.c" +} + + +static void hierarchical_keyword_field_finalize (HierarchicalKeywordField* obj) { + HierarchicalKeywordField * self; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HIERARCHICAL_KEYWORD_FIELD, HierarchicalKeywordField); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_signal_handlers_destroy (self); +#line 32 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->field_name); +#line 33 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->path_separator); +#line 893 "PhotoMetadata.c" +} + + +GType hierarchical_keyword_field_get_type (void) { + static volatile gsize hierarchical_keyword_field_type_id__volatile = 0; + if (g_once_init_enter (&hierarchical_keyword_field_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_hierarchical_keyword_field_init, value_hierarchical_keyword_field_free_value, value_hierarchical_keyword_field_copy_value, value_hierarchical_keyword_field_peek_pointer, "p", value_hierarchical_keyword_field_collect_value, "p", value_hierarchical_keyword_field_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (HierarchicalKeywordFieldClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hierarchical_keyword_field_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HierarchicalKeywordField), 0, (GInstanceInitFunc) hierarchical_keyword_field_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType hierarchical_keyword_field_type_id; + hierarchical_keyword_field_type_id = g_type_register_fundamental (g_type_fundamental_next (), "HierarchicalKeywordField", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&hierarchical_keyword_field_type_id__volatile, hierarchical_keyword_field_type_id); + } + return hierarchical_keyword_field_type_id__volatile; +} + + +gpointer hierarchical_keyword_field_ref (gpointer instance) { + HierarchicalKeywordField* self; + self = instance; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_atomic_int_inc (&self->ref_count); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return instance; +#line 918 "PhotoMetadata.c" +} + + +void hierarchical_keyword_field_unref (gpointer instance) { + HierarchicalKeywordField* self; + self = instance; +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + HIERARCHICAL_KEYWORD_FIELD_GET_CLASS (self)->finalize (self); +#line 31 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 931 "PhotoMetadata.c" + } +} + + +PhotoPreview* photo_preview_construct (GType object_type, const gchar* name, Dimensions* dimensions, guint32 size, const gchar* mime_type, const gchar* extension) { + PhotoPreview* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + Dimensions _tmp2_ = {0}; + guint32 _tmp3_ = 0U; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 53 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (dimensions != NULL, NULL); +#line 53 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (mime_type != NULL, NULL); +#line 53 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (extension != NULL, NULL); +#line 53 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = (PhotoPreview*) g_type_create_instance (object_type); +#line 54 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = name; +#line 54 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 54 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->name); +#line 54 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->name = _tmp1_; +#line 55 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = *dimensions; +#line 55 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->dimensions = _tmp2_; +#line 56 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = size; +#line 56 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->size = _tmp3_; +#line 57 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = mime_type; +#line 57 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 57 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->mime_type); +#line 57 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->mime_type = _tmp5_; +#line 58 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = extension; +#line 58 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 58 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->extension); +#line 58 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->extension = _tmp7_; +#line 53 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self; +#line 990 "PhotoMetadata.c" +} + + +gchar* photo_preview_get_name (PhotoPreview* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_PREVIEW (self), NULL); +#line 62 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->name; +#line 62 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 62 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 62 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1008 "PhotoMetadata.c" +} + + +void photo_preview_get_pixel_dimensions (PhotoPreview* self, Dimensions* result) { + Dimensions _tmp0_ = {0}; +#line 65 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_PREVIEW (self)); +#line 66 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->dimensions; +#line 66 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *result = _tmp0_; +#line 66 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return; +#line 1022 "PhotoMetadata.c" +} + + +guint32 photo_preview_get_size (PhotoPreview* self) { + guint32 result = 0U; + guint32 _tmp0_ = 0U; +#line 69 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_PREVIEW (self), 0U); +#line 70 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->size; +#line 70 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 70 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1037 "PhotoMetadata.c" +} + + +gchar* photo_preview_get_mime_type (PhotoPreview* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_PREVIEW (self), NULL); +#line 74 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->mime_type; +#line 74 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 74 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 74 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1055 "PhotoMetadata.c" +} + + +gchar* photo_preview_get_extension (PhotoPreview* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_PREVIEW (self), NULL); +#line 78 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->extension; +#line 78 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 78 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 78 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1073 "PhotoMetadata.c" +} + + +static guint8* photo_preview_real_flatten (PhotoPreview* self, int* result_length1, GError** error) { +#line 81 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_critical ("Type `%s' does not implement abstract method `photo_preview_flatten'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 81 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return NULL; +#line 1082 "PhotoMetadata.c" +} + + +guint8* photo_preview_flatten (PhotoPreview* self, int* result_length1, GError** error) { +#line 81 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_PREVIEW (self), NULL); +#line 81 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return PHOTO_PREVIEW_GET_CLASS (self)->flatten (self, result_length1, error); +#line 1091 "PhotoMetadata.c" +} + + +static guint8* _vala_array_dup4 (guint8* self, int length) { +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_memdup (self, length * sizeof (guint8)); +#line 1098 "PhotoMetadata.c" +} + + +static GdkPixbuf* photo_preview_real_get_pixbuf (PhotoPreview* self, GError** error) { + GdkPixbuf* result = NULL; + guint8* flattened = NULL; + gint _tmp0_ = 0; + guint8* _tmp1_ = NULL; + gint flattened_length1 = 0; + gint _flattened_size_ = 0; + GError * _inner_error_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_preview_flatten (self, &_tmp0_, &_inner_error_); +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened = _tmp1_; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened_length1 = _tmp0_; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _flattened_size_ = flattened_length1; +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 84 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return NULL; +#line 1124 "PhotoMetadata.c" + } + { + GdkPixbuf* _tmp2_ = NULL; + guint8* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GMemoryInputStream* _tmp4_ = NULL; + GMemoryInputStream* _tmp5_ = NULL; + GdkPixbuf* _tmp6_ = NULL; + GdkPixbuf* _tmp7_ = NULL; + GdkPixbuf* _tmp8_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = (flattened != NULL) ? _vala_array_dup4 (flattened, flattened_length1) : ((gpointer) flattened); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3__length1 = flattened_length1; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = (GMemoryInputStream*) g_memory_input_stream_new_from_data (_tmp3_, _tmp3__length1, NULL); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp4_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = gdk_pixbuf_new_from_stream (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, G_TYPE_INPUT_STREAM, GInputStream), NULL, &_inner_error_); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = _tmp6_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_tmp5_); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = _tmp7_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1153 "PhotoMetadata.c" + goto __catch23_g_error; + } +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = _tmp2_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp8_; +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_tmp2_); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened = (g_free (flattened), NULL); +#line 89 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1168 "PhotoMetadata.c" + } + goto __finally23; + __catch23_g_error: + { + GError* err = NULL; + const gchar* _tmp9_ = NULL; + GError* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + err = _inner_error_; +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _inner_error_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = self->priv->name; +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = err; +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = _tmp10_->message; +#line 92 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:92: Unable to decode thumbnail for %s: %s", _tmp9_, _tmp11_); +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_error_free0 (err); +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened = (g_free (flattened), NULL); +#line 94 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1197 "PhotoMetadata.c" + } + __finally23: +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened = (g_free (flattened), NULL); +#line 88 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return NULL; +#line 1206 "PhotoMetadata.c" +} + + +GdkPixbuf* photo_preview_get_pixbuf (PhotoPreview* self, GError** error) { +#line 83 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_PREVIEW (self), NULL); +#line 83 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return PHOTO_PREVIEW_GET_CLASS (self)->get_pixbuf (self, error); +#line 1215 "PhotoMetadata.c" +} + + +static void value_photo_preview_init (GValue* value) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1222 "PhotoMetadata.c" +} + + +static void value_photo_preview_free_value (GValue* value) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (value->data[0].v_pointer) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_preview_unref (value->data[0].v_pointer); +#line 1231 "PhotoMetadata.c" + } +} + + +static void value_photo_preview_copy_value (const GValue* src_value, GValue* dest_value) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (src_value->data[0].v_pointer) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + dest_value->data[0].v_pointer = photo_preview_ref (src_value->data[0].v_pointer); +#line 1241 "PhotoMetadata.c" + } else { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + dest_value->data[0].v_pointer = NULL; +#line 1245 "PhotoMetadata.c" + } +} + + +static gpointer value_photo_preview_peek_pointer (const GValue* value) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return value->data[0].v_pointer; +#line 1253 "PhotoMetadata.c" +} + + +static gchar* value_photo_preview_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (collect_values[0].v_pointer) { +#line 1260 "PhotoMetadata.c" + PhotoPreview* object; + object = collect_values[0].v_pointer; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (object->parent_instance.g_class == NULL) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1267 "PhotoMetadata.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1271 "PhotoMetadata.c" + } +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = photo_preview_ref (object); +#line 1275 "PhotoMetadata.c" + } else { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1279 "PhotoMetadata.c" + } +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return NULL; +#line 1283 "PhotoMetadata.c" +} + + +static gchar* value_photo_preview_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PhotoPreview** object_p; + object_p = collect_values[0].v_pointer; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!object_p) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1294 "PhotoMetadata.c" + } +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!value->data[0].v_pointer) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *object_p = NULL; +#line 1300 "PhotoMetadata.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *object_p = value->data[0].v_pointer; +#line 1304 "PhotoMetadata.c" + } else { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *object_p = photo_preview_ref (value->data[0].v_pointer); +#line 1308 "PhotoMetadata.c" + } +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return NULL; +#line 1312 "PhotoMetadata.c" +} + + +GParamSpec* param_spec_photo_preview (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecPhotoPreview* spec; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_PHOTO_PREVIEW), NULL); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return G_PARAM_SPEC (spec); +#line 1326 "PhotoMetadata.c" +} + + +gpointer value_get_photo_preview (const GValue* value) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_PREVIEW), NULL); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return value->data[0].v_pointer; +#line 1335 "PhotoMetadata.c" +} + + +void value_set_photo_preview (GValue* value, gpointer v_object) { + PhotoPreview* old; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_PREVIEW)); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + old = value->data[0].v_pointer; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (v_object) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_PREVIEW)); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_preview_ref (value->data[0].v_pointer); +#line 1355 "PhotoMetadata.c" + } else { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1359 "PhotoMetadata.c" + } +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (old) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_preview_unref (old); +#line 1365 "PhotoMetadata.c" + } +} + + +void value_take_photo_preview (GValue* value, gpointer v_object) { + PhotoPreview* old; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PHOTO_PREVIEW)); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + old = value->data[0].v_pointer; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (v_object) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PHOTO_PREVIEW)); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = v_object; +#line 1384 "PhotoMetadata.c" + } else { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value->data[0].v_pointer = NULL; +#line 1388 "PhotoMetadata.c" + } +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (old) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_preview_unref (old); +#line 1394 "PhotoMetadata.c" + } +} + + +static void photo_preview_class_init (PhotoPreviewClass * klass) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_preview_parent_class = g_type_class_peek_parent (klass); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((PhotoPreviewClass *) klass)->finalize = photo_preview_finalize; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_type_class_add_private (klass, sizeof (PhotoPreviewPrivate)); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((PhotoPreviewClass *) klass)->flatten = photo_preview_real_flatten; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((PhotoPreviewClass *) klass)->get_pixbuf = photo_preview_real_get_pixbuf; +#line 1410 "PhotoMetadata.c" +} + + +static void photo_preview_instance_init (PhotoPreview * self) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv = PHOTO_PREVIEW_GET_PRIVATE (self); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->ref_count = 1; +#line 1419 "PhotoMetadata.c" +} + + +static void photo_preview_finalize (PhotoPreview* obj) { + PhotoPreview * self; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_PREVIEW, PhotoPreview); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_signal_handlers_destroy (self); +#line 47 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->name); +#line 50 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->mime_type); +#line 51 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->extension); +#line 1435 "PhotoMetadata.c" +} + + +GType photo_preview_get_type (void) { + static volatile gsize photo_preview_type_id__volatile = 0; + if (g_once_init_enter (&photo_preview_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_photo_preview_init, value_photo_preview_free_value, value_photo_preview_copy_value, value_photo_preview_peek_pointer, "p", value_photo_preview_collect_value, "p", value_photo_preview_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PhotoPreviewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_preview_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoPreview), 0, (GInstanceInitFunc) photo_preview_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType photo_preview_type_id; + photo_preview_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PhotoPreview", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&photo_preview_type_id__volatile, photo_preview_type_id); + } + return photo_preview_type_id__volatile; +} + + +gpointer photo_preview_ref (gpointer instance) { + PhotoPreview* self; + self = instance; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_atomic_int_inc (&self->ref_count); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return instance; +#line 1460 "PhotoMetadata.c" +} + + +void photo_preview_unref (gpointer instance) { + PhotoPreview* self; + self = instance; +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + PHOTO_PREVIEW_GET_CLASS (self)->finalize (self); +#line 46 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1473 "PhotoMetadata.c" + } +} + + +GType photo_metadata_set_option_get_type (void) { + static volatile gsize photo_metadata_set_option_type_id__volatile = 0; + if (g_once_init_enter (&photo_metadata_set_option_type_id__volatile)) { + static const GEnumValue values[] = {{PHOTO_METADATA_SET_OPTION_ALL_DOMAINS, "PHOTO_METADATA_SET_OPTION_ALL_DOMAINS", "all-domains"}, {PHOTO_METADATA_SET_OPTION_ONLY_IF_DOMAIN_PRESENT, "PHOTO_METADATA_SET_OPTION_ONLY_IF_DOMAIN_PRESENT", "only-if-domain-present"}, {PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN, "PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN", "at-least-default-domain"}, {0, NULL, NULL}}; + GType photo_metadata_set_option_type_id; + photo_metadata_set_option_type_id = g_enum_register_static ("PhotoMetadataSetOption", values); + g_once_init_leave (&photo_metadata_set_option_type_id__volatile, photo_metadata_set_option_type_id); + } + return photo_metadata_set_option_type_id__volatile; +} + + +PhotoMetadata* photo_metadata_construct (GType object_type) { + PhotoMetadata* self = NULL; +#line 139 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = (PhotoMetadata*) media_metadata_construct (object_type); +#line 139 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self; +#line 1496 "PhotoMetadata.c" +} + + +PhotoMetadata* photo_metadata_new (void) { +#line 139 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return photo_metadata_construct (TYPE_PHOTO_METADATA); +#line 1503 "PhotoMetadata.c" +} + + +static void photo_metadata_real_read_from_file (MediaMetadata* base, GFile* file, GError** error) { + PhotoMetadata * self; + GExiv2Metadata* _tmp0_ = NULL; + GExiv2Metadata* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + ExifData* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 142 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_METADATA, PhotoMetadata); +#line 142 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 143 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = gexiv2_metadata_new (); +#line 143 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _gexiv2_metadata_free0 (self->priv->exiv2); +#line 143 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exiv2 = _tmp0_; +#line 144 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_data_unref0 (self->priv->exif); +#line 144 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exif = NULL; +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = self->priv->exiv2; +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = file; +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = _tmp3_; +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_open_path (_tmp1_, _tmp4_, &_inner_error_); +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp4_); +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return; +#line 1553 "PhotoMetadata.c" + } +#line 147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = file; +#line 147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = _tmp6_; +#line 147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = exif_data_new_from_file (_tmp7_); +#line 147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_data_unref0 (self->priv->exif); +#line 147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exif = _tmp8_; +#line 147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp7_); +#line 148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = file; +#line 148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = g_file_get_basename (_tmp9_); +#line 148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->source_name); +#line 148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->source_name = _tmp10_; +#line 1577 "PhotoMetadata.c" +} + + +void photo_metadata_write_to_file (PhotoMetadata* self, GFile* file, GError** error) { + GExiv2Metadata* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 151 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = file; +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_; +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_save_file (_tmp0_, _tmp3_, &_inner_error_); +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp3_); +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 152 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return; +#line 1609 "PhotoMetadata.c" + } +} + + +void photo_metadata_read_from_buffer (PhotoMetadata* self, guint8* buffer, int buffer_length1, gint length, GError** error) { + gint _tmp0_ = 0; + guint8* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + GExiv2Metadata* _tmp4_ = NULL; + GExiv2Metadata* _tmp5_ = NULL; + guint8* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + guint8* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + ExifData* _tmp10_ = NULL; + gint _tmp11_ = 0; + gchar* _tmp12_ = NULL; + GError * _inner_error_ = NULL; +#line 155 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 156 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = length; +#line 156 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp0_ <= 0) { +#line 1637 "PhotoMetadata.c" + guint8* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 157 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = buffer; +#line 157 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = buffer_length1; +#line 157 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + length = _tmp1__length1; +#line 1646 "PhotoMetadata.c" + } +#line 159 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = buffer; +#line 159 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2__length1 = buffer_length1; +#line 159 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = length; +#line 159 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_assert (_tmp2__length1 >= _tmp3_, "buffer.length >= length"); +#line 161 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_metadata_new (); +#line 161 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _gexiv2_metadata_free0 (self->priv->exiv2); +#line 161 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exiv2 = _tmp4_; +#line 162 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_data_unref0 (self->priv->exif); +#line 162 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exif = NULL; +#line 164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = self->priv->exiv2; +#line 164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = buffer; +#line 164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6__length1 = buffer_length1; +#line 164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = length; +#line 164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_open_buf (_tmp5_, _tmp6_, (glong) _tmp7_, &_inner_error_); +#line 164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return; +#line 1682 "PhotoMetadata.c" + } +#line 165 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = buffer; +#line 165 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8__length1 = buffer_length1; +#line 165 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = length; +#line 165 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = exif_data_new_from_data (_tmp8_, (gsize) _tmp9_); +#line 165 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_data_unref0 (self->priv->exif); +#line 165 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exif = _tmp10_; +#line 166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = length; +#line 166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = g_strdup_printf ("", _tmp11_); +#line 166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->source_name); +#line 166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->source_name = _tmp12_; +#line 1704 "PhotoMetadata.c" +} + + +void photo_metadata_read_from_app1_segment (PhotoMetadata* self, guint8* buffer, int buffer_length1, gint length, GError** error) { + gint _tmp0_ = 0; + guint8* _tmp2_ = NULL; + gint _tmp2__length1 = 0; + gint _tmp3_ = 0; + GExiv2Metadata* _tmp4_ = NULL; + GExiv2Metadata* _tmp5_ = NULL; + guint8* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + guint8* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + ExifData* _tmp10_ = NULL; + gint _tmp11_ = 0; + gchar* _tmp12_ = NULL; + GError * _inner_error_ = NULL; +#line 169 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 170 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = length; +#line 170 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp0_ <= 0) { +#line 1731 "PhotoMetadata.c" + guint8* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = buffer; +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = buffer_length1; +#line 171 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + length = _tmp1__length1; +#line 1740 "PhotoMetadata.c" + } +#line 173 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = buffer; +#line 173 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2__length1 = buffer_length1; +#line 173 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = length; +#line 173 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_assert (_tmp2__length1 >= _tmp3_, "buffer.length >= length"); +#line 175 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_metadata_new (); +#line 175 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _gexiv2_metadata_free0 (self->priv->exiv2); +#line 175 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exiv2 = _tmp4_; +#line 176 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_data_unref0 (self->priv->exif); +#line 176 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exif = NULL; +#line 178 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = self->priv->exiv2; +#line 178 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = buffer; +#line 178 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6__length1 = buffer_length1; +#line 178 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = length; +#line 178 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_from_app1_segment (_tmp5_, _tmp6_, (glong) _tmp7_, &_inner_error_); +#line 178 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 178 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_propagate_error (error, _inner_error_); +#line 178 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return; +#line 1776 "PhotoMetadata.c" + } +#line 179 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = buffer; +#line 179 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8__length1 = buffer_length1; +#line 179 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = length; +#line 179 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = exif_data_new_from_data (_tmp8_, (gsize) _tmp9_); +#line 179 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_data_unref0 (self->priv->exif); +#line 179 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exif = _tmp10_; +#line 180 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = length; +#line 180 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = g_strdup_printf ("", _tmp11_); +#line 180 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->source_name); +#line 180 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->source_name = _tmp12_; +#line 1798 "PhotoMetadata.c" +} + + +MetadataDomain photo_metadata_get_tag_domain (const gchar* tag) { + MetadataDomain result = 0; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 183 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, 0); +#line 184 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 184 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = gexiv2_metadata_is_exif_tag (_tmp0_); +#line 184 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp1_) { +#line 185 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = METADATA_DOMAIN_EXIF; +#line 185 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1822 "PhotoMetadata.c" + } +#line 187 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 187 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = gexiv2_metadata_is_xmp_tag (_tmp2_); +#line 187 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp3_) { +#line 188 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = METADATA_DOMAIN_XMP; +#line 188 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1834 "PhotoMetadata.c" + } +#line 190 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = tag; +#line 190 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = gexiv2_metadata_is_iptc_tag (_tmp4_); +#line 190 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp5_) { +#line 191 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = METADATA_DOMAIN_IPTC; +#line 191 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1846 "PhotoMetadata.c" + } +#line 193 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = METADATA_DOMAIN_UNKNOWN; +#line 193 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1852 "PhotoMetadata.c" +} + + +gboolean photo_metadata_has_domain (PhotoMetadata* self, MetadataDomain domain) { + gboolean result = FALSE; + MetadataDomain _tmp0_ = 0; +#line 196 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 197 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = domain; +#line 197 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + switch (_tmp0_) { +#line 197 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_EXIF: +#line 1867 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 199 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = self->priv->exiv2; +#line 199 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = gexiv2_metadata_has_exif (_tmp1_); +#line 199 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp2_; +#line 199 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1879 "PhotoMetadata.c" + } +#line 197 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_XMP: +#line 1883 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 202 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = self->priv->exiv2; +#line 202 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_metadata_has_xmp (_tmp3_); +#line 202 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp4_; +#line 202 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1895 "PhotoMetadata.c" + } +#line 197 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_IPTC: +#line 1899 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 205 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = self->priv->exiv2; +#line 205 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = gexiv2_metadata_has_iptc (_tmp5_); +#line 205 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp6_; +#line 205 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1911 "PhotoMetadata.c" + } + default: +#line 197 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_UNKNOWN: +#line 1916 "PhotoMetadata.c" + { +#line 209 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 209 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1922 "PhotoMetadata.c" + } + } +} + + +gboolean photo_metadata_has_exif (PhotoMetadata* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 213 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 214 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_has_domain (self, METADATA_DOMAIN_EXIF); +#line 214 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 214 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1939 "PhotoMetadata.c" +} + + +gboolean photo_metadata_has_xmp (PhotoMetadata* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 217 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 218 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_has_domain (self, METADATA_DOMAIN_XMP); +#line 218 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 218 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1954 "PhotoMetadata.c" +} + + +gboolean photo_metadata_has_iptc (PhotoMetadata* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 221 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 222 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_has_domain (self, METADATA_DOMAIN_IPTC); +#line 222 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 222 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1969 "PhotoMetadata.c" +} + + +gboolean photo_metadata_can_write_to_domain (PhotoMetadata* self, MetadataDomain domain) { + gboolean result = FALSE; + MetadataDomain _tmp0_ = 0; +#line 225 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 226 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = domain; +#line 226 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + switch (_tmp0_) { +#line 226 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_EXIF: +#line 1984 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 228 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = self->priv->exiv2; +#line 228 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = gexiv2_metadata_get_supports_exif (_tmp1_); +#line 228 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp2_; +#line 228 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 1996 "PhotoMetadata.c" + } +#line 226 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_XMP: +#line 2000 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 231 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = self->priv->exiv2; +#line 231 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_metadata_get_supports_xmp (_tmp3_); +#line 231 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp4_; +#line 231 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2012 "PhotoMetadata.c" + } +#line 226 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_IPTC: +#line 2016 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 234 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = self->priv->exiv2; +#line 234 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = gexiv2_metadata_get_supports_iptc (_tmp5_); +#line 234 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp6_; +#line 234 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2028 "PhotoMetadata.c" + } + default: +#line 226 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_UNKNOWN: +#line 2033 "PhotoMetadata.c" + { +#line 238 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 238 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2039 "PhotoMetadata.c" + } + } +} + + +gboolean photo_metadata_can_write_exif (PhotoMetadata* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 242 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 243 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_can_write_to_domain (self, METADATA_DOMAIN_EXIF); +#line 243 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 243 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2056 "PhotoMetadata.c" +} + + +gboolean photo_metadata_can_write_xmp (PhotoMetadata* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 246 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_can_write_to_domain (self, METADATA_DOMAIN_XMP); +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 247 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2071 "PhotoMetadata.c" +} + + +gboolean photo_metadata_can_write_iptc (PhotoMetadata* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 250 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 251 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_can_write_to_domain (self, METADATA_DOMAIN_IPTC); +#line 251 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 251 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2086 "PhotoMetadata.c" +} + + +gboolean photo_metadata_has_tag (PhotoMetadata* self, const gchar* tag) { + gboolean result = FALSE; + GExiv2Metadata* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 254 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 254 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, FALSE); +#line 255 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 255 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tag; +#line 255 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = gexiv2_metadata_has_tag (_tmp0_, _tmp1_); +#line 255 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp2_; +#line 255 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2109 "PhotoMetadata.c" +} + + +static GeeSet* photo_metadata_create_string_set (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify) { + GeeSet* result = NULL; + GCompareDataFunc _tmp0_ = NULL; + void* _tmp0__target = NULL; +#line 258 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 260 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = compare_func; +#line 260 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__target = compare_func_target; +#line 260 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp0_ == NULL) { +#line 2125 "PhotoMetadata.c" + GeeHashSet* _tmp1_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 261 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_SET, GeeSet); +#line 261 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 261 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func = NULL; +#line 261 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target = NULL; +#line 261 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 261 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2141 "PhotoMetadata.c" + } else { + GCompareDataFunc _tmp2_ = NULL; + void* _tmp2__target = NULL; + GDestroyNotify _tmp2__target_destroy_notify = NULL; + GeeTreeSet* _tmp3_ = NULL; +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = compare_func; +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2__target = compare_func_target; +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2__target_destroy_notify = compare_func_target_destroy_notify; +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _tmp2_, _tmp2__target, _tmp2__target_destroy_notify); +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_SET, GeeSet); +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func = NULL; +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target = NULL; +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 263 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2169 "PhotoMetadata.c" + } +#line 258 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 258 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func = NULL; +#line 258 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target = NULL; +#line 258 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 2179 "PhotoMetadata.c" +} + + +GeeCollection* photo_metadata_get_tags (PhotoMetadata* self, MetadataDomain domain, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify) { + GeeCollection* result = NULL; + gchar** tags = NULL; + gint tags_length1 = 0; + gint _tags_size_ = 0; + MetadataDomain _tmp0_ = 0; + gboolean _tmp10_ = FALSE; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + GeeCollection* collection = NULL; + GCompareDataFunc _tmp13_ = NULL; + void* _tmp13__target = NULL; + GDestroyNotify _tmp13__target_destroy_notify = NULL; + GeeSet* _tmp14_ = NULL; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 266 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 268 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = NULL; +#line 268 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags_length1 = 0; +#line 268 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tags_size_ = tags_length1; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = domain; +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + switch (_tmp0_) { +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_EXIF: +#line 2213 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; +#line 271 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = self->priv->exiv2; +#line 271 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_ = gexiv2_metadata_get_exif_tags (_tmp1_); +#line 271 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_free), NULL); +#line 271 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = _tmp3_; +#line 271 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags_length1 = _vala_array_length (_tmp2_); +#line 271 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tags_size_ = tags_length1; +#line 272 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 2232 "PhotoMetadata.c" + } +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_XMP: +#line 2236 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gchar** _tmp6_ = NULL; +#line 275 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = self->priv->exiv2; +#line 275 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = _tmp5_ = gexiv2_metadata_get_xmp_tags (_tmp4_); +#line 275 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_free), NULL); +#line 275 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = _tmp6_; +#line 275 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags_length1 = _vala_array_length (_tmp5_); +#line 275 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tags_size_ = tags_length1; +#line 276 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 2255 "PhotoMetadata.c" + } +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_IPTC: +#line 2259 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gchar** _tmp9_ = NULL; +#line 279 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = self->priv->exiv2; +#line 279 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = _tmp8_ = gexiv2_metadata_get_iptc_tags (_tmp7_); +#line 279 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_free), NULL); +#line 279 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = _tmp9_; +#line 279 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags_length1 = _vala_array_length (_tmp8_); +#line 279 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tags_size_ = tags_length1; +#line 280 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 2278 "PhotoMetadata.c" + } + default: +#line 269 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 2283 "PhotoMetadata.c" + } +#line 283 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = tags; +#line 283 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11__length1 = tags_length1; +#line 283 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp11_ == NULL) { +#line 283 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = TRUE; +#line 2293 "PhotoMetadata.c" + } else { + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; +#line 283 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = tags; +#line 283 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12__length1 = tags_length1; +#line 283 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = _tmp12__length1 == 0; +#line 2303 "PhotoMetadata.c" + } +#line 283 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp10_) { +#line 284 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 284 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_free), NULL); +#line 284 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 284 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func = NULL; +#line 284 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target = NULL; +#line 284 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 284 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2321 "PhotoMetadata.c" + } +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = compare_func; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13__target = compare_func_target; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13__target_destroy_notify = compare_func_target_destroy_notify; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = photo_metadata_create_string_set (self, _tmp13_, _tmp13__target, _tmp13__target_destroy_notify); +#line 286 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + collection = G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection); +#line 287 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = tags; +#line 287 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15__length1 = tags_length1; +#line 2339 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 287 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp15_; +#line 287 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp15__length1; +#line 287 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp15__length1; tag_it = tag_it + 1) { +#line 2351 "PhotoMetadata.c" + gchar* _tmp16_ = NULL; + gchar* tag = NULL; +#line 287 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = g_strdup (tag_collection[tag_it]); +#line 287 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp16_; +#line 2358 "PhotoMetadata.c" + { + GeeCollection* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 288 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = collection; +#line 288 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = tag; +#line 288 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add (_tmp17_, _tmp18_); +#line 287 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 2370 "PhotoMetadata.c" + } + } + } +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = collection; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tags = (_vala_array_free (tags, tags_length1, (GDestroyNotify) g_free), NULL); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func = NULL; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target = NULL; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 290 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2388 "PhotoMetadata.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self ? g_object_ref (self) : NULL; +#line 2395 "PhotoMetadata.c" +} + + +GeeCollection* photo_metadata_get_all_tags (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify) { + GeeCollection* result = NULL; + GeeCollection* all_tags = NULL; + GCompareDataFunc _tmp0_ = NULL; + void* _tmp0__target = NULL; + GDestroyNotify _tmp0__target_destroy_notify = NULL; + GeeSet* _tmp1_ = NULL; + GeeCollection* exif_tags = NULL; + GeeCollection* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GeeCollection* _tmp4_ = NULL; + GeeCollection* xmp_tags = NULL; + GeeCollection* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GeeCollection* _tmp12_ = NULL; + GeeCollection* iptc_tags = NULL; + GeeCollection* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + GeeCollection* _tmp20_ = NULL; + GeeCollection* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + GeeCollection* _tmp31_ = NULL; +#line 293 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 295 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = compare_func; +#line 295 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__target = compare_func_target; +#line 295 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__target_destroy_notify = compare_func_target_destroy_notify; +#line 295 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 295 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_create_string_set (self, _tmp0_, _tmp0__target, _tmp0__target_destroy_notify); +#line 295 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + all_tags = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 297 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = photo_metadata_get_tags (self, METADATA_DOMAIN_EXIF, NULL, NULL, NULL); +#line 297 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + exif_tags = _tmp2_; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = exif_tags; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ != NULL) { +#line 2445 "PhotoMetadata.c" + GeeCollection* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = exif_tags; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = gee_collection_get_size (_tmp5_); +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = _tmp6_; +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp7_ > 0; +#line 2457 "PhotoMetadata.c" + } else { +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = FALSE; +#line 2461 "PhotoMetadata.c" + } +#line 298 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp3_) { +#line 2465 "PhotoMetadata.c" + GeeCollection* _tmp8_ = NULL; + GeeCollection* _tmp9_ = NULL; +#line 299 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = all_tags; +#line 299 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = exif_tags; +#line 299 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add_all (_tmp8_, _tmp9_); +#line 2474 "PhotoMetadata.c" + } +#line 301 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = photo_metadata_get_tags (self, METADATA_DOMAIN_XMP, NULL, NULL, NULL); +#line 301 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + xmp_tags = _tmp10_; +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = xmp_tags; +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp12_ != NULL) { +#line 2484 "PhotoMetadata.c" + GeeCollection* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = xmp_tags; +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = gee_collection_get_size (_tmp13_); +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = _tmp14_; +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = _tmp15_ > 0; +#line 2496 "PhotoMetadata.c" + } else { +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = FALSE; +#line 2500 "PhotoMetadata.c" + } +#line 302 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp11_) { +#line 2504 "PhotoMetadata.c" + GeeCollection* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = all_tags; +#line 303 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = xmp_tags; +#line 303 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add_all (_tmp16_, _tmp17_); +#line 2513 "PhotoMetadata.c" + } +#line 305 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = photo_metadata_get_tags (self, METADATA_DOMAIN_IPTC, NULL, NULL, NULL); +#line 305 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + iptc_tags = _tmp18_; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = iptc_tags; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp20_ != NULL) { +#line 2523 "PhotoMetadata.c" + GeeCollection* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = iptc_tags; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = gee_collection_get_size (_tmp21_); +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = _tmp22_; +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = _tmp23_ > 0; +#line 2535 "PhotoMetadata.c" + } else { +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = FALSE; +#line 2539 "PhotoMetadata.c" + } +#line 306 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp19_) { +#line 2543 "PhotoMetadata.c" + GeeCollection* _tmp24_ = NULL; + GeeCollection* _tmp25_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = all_tags; +#line 307 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = iptc_tags; +#line 307 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add_all (_tmp24_, _tmp25_); +#line 2552 "PhotoMetadata.c" + } +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp27_ = all_tags; +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_ = gee_collection_get_size (_tmp27_); +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29_ = _tmp28_; +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp29_ > 0) { +#line 2562 "PhotoMetadata.c" + GeeCollection* _tmp30_ = NULL; +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp30_ = all_tags; +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = _tmp30_; +#line 2568 "PhotoMetadata.c" + } else { +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = NULL; +#line 2572 "PhotoMetadata.c" + } +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp31_ = _g_object_ref0 (_tmp26_); +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp31_; +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (iptc_tags); +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (xmp_tags); +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (exif_tags); +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (all_tags); +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func = NULL; +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target = NULL; +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 309 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2596 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_tag_label (PhotoMetadata* self, const gchar* tag) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 312 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 312 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, NULL); +#line 313 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 313 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = gexiv2_metadata_get_tag_label (_tmp0_); +#line 313 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 313 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp2_; +#line 313 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2619 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_tag_description (PhotoMetadata* self, const gchar* tag) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 316 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 316 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, NULL); +#line 317 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 317 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = gexiv2_metadata_get_tag_description (_tmp0_); +#line 317 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 317 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp2_; +#line 317 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2642 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_string (PhotoMetadata* self, const gchar* tag, PrepareInputTextOptions options) { + gchar* result = NULL; + GExiv2Metadata* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PrepareInputTextOptions _tmp4_ = 0; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 320 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 320 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, NULL); +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tag; +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = gexiv2_metadata_get_tag_string (_tmp0_, _tmp1_); +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_; +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = options; +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = prepare_input_text (_tmp3_, _tmp4_, DEFAULT_USER_TEXT_INPUT_LENGTH); +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = _tmp5_; +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp3_); +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp6_; +#line 321 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2679 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_string_interpreted (PhotoMetadata* self, const gchar* tag, PrepareInputTextOptions options) { + gchar* result = NULL; + GExiv2Metadata* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + PrepareInputTextOptions _tmp4_ = 0; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 324 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, NULL); +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tag; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = gexiv2_metadata_get_tag_interpreted_string (_tmp0_, _tmp1_); +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = options; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = prepare_input_text (_tmp3_, _tmp4_, DEFAULT_USER_TEXT_INPUT_LENGTH); +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = _tmp5_; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp3_); +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp6_; +#line 325 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2716 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_first_string (PhotoMetadata* self, gchar** tags, int tags_length1) { + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 328 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tags; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = tags_length1; +#line 2730 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 2742 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 2749 "PhotoMetadata.c" + { + gchar* value = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 330 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 330 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = photo_metadata_get_string (self, _tmp2_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 330 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value = _tmp3_; +#line 331 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = value; +#line 331 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ != NULL) { +#line 332 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = value; +#line 332 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 332 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2771 "PhotoMetadata.c" + } +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 329 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 2777 "PhotoMetadata.c" + } + } + } +#line 335 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 335 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2785 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_first_string_interpreted (PhotoMetadata* self, gchar** tags, int tags_length1) { + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 338 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tags; +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = tags_length1; +#line 2799 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 2811 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 2818 "PhotoMetadata.c" + { + gchar* value = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 340 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = photo_metadata_get_string_interpreted (self, _tmp2_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 340 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value = _tmp3_; +#line 341 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = value; +#line 341 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ != NULL) { +#line 342 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = value; +#line 342 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 342 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2840 "PhotoMetadata.c" + } +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 339 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 2846 "PhotoMetadata.c" + } + } + } +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 345 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2854 "PhotoMetadata.c" +} + + +GeeList* photo_metadata_get_string_multiple (PhotoMetadata* self, const gchar* tag) { + GeeList* result = NULL; + gchar** values = NULL; + GExiv2Metadata* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint values_length1 = 0; + gint _values_size_ = 0; + gboolean _tmp4_ = FALSE; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GeeList* list = NULL; + GeeArrayList* _tmp7_ = NULL; + GeeHashSet* collection = NULL; + GeeHashSet* _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GeeList* _tmp22_ = NULL; + GeeList* _tmp23_ = NULL; + gint _tmp24_ = 0; + gint _tmp25_ = 0; + GeeList* _tmp27_ = NULL; +#line 354 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 354 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, NULL); +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tag; +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_ = gexiv2_metadata_get_tag_multiple (_tmp0_, _tmp1_); +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = _tmp3_; +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values_length1 = _vala_array_length (_tmp2_); +#line 355 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _values_size_ = values_length1; +#line 356 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = values; +#line 356 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5__length1 = values_length1; +#line 356 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp5_ == NULL) { +#line 356 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = TRUE; +#line 2905 "PhotoMetadata.c" + } else { + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 356 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = values; +#line 356 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6__length1 = values_length1; +#line 356 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = _tmp6__length1 == 0; +#line 2915 "PhotoMetadata.c" + } +#line 356 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_) { +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL); +#line 357 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 2925 "PhotoMetadata.c" + } +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 359 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + list = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_LIST, GeeList); +#line 361 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 361 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + collection = _tmp8_; +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = values; +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9__length1 = values_length1; +#line 2939 "PhotoMetadata.c" + { + gchar** value_collection = NULL; + gint value_collection_length1 = 0; + gint _value_collection_size_ = 0; + gint value_it = 0; +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value_collection = _tmp9_; +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value_collection_length1 = _tmp9__length1; +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (value_it = 0; value_it < _tmp9__length1; value_it = value_it + 1) { +#line 2951 "PhotoMetadata.c" + gchar* _tmp10_ = NULL; + gchar* value = NULL; +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = g_strdup (value_collection[value_it]); +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value = _tmp10_; +#line 2958 "PhotoMetadata.c" + { + gchar* prepped = NULL; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + const gchar* _tmp14_ = NULL; +#line 363 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = value; +#line 363 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = prepare_input_text (_tmp11_, PHOTO_METADATA_PREPARE_STRING_OPTIONS, DEFAULT_USER_TEXT_INPUT_LENGTH); +#line 363 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + prepped = _tmp12_; +#line 366 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = prepped; +#line 366 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp14_ != NULL) { +#line 2975 "PhotoMetadata.c" + GeeHashSet* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 366 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = collection; +#line 366 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = prepped; +#line 366 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp16_); +#line 366 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = !_tmp17_; +#line 2987 "PhotoMetadata.c" + } else { +#line 366 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = FALSE; +#line 2991 "PhotoMetadata.c" + } +#line 366 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp13_) { +#line 2995 "PhotoMetadata.c" + GeeList* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + GeeHashSet* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 367 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = list; +#line 367 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = prepped; +#line 367 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp19_); +#line 368 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = collection; +#line 368 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = prepped; +#line 368 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp21_); +#line 3012 "PhotoMetadata.c" + } +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (prepped); +#line 362 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 3018 "PhotoMetadata.c" + } + } + } +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = list; +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = _tmp24_; +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp25_ > 0) { +#line 3030 "PhotoMetadata.c" + GeeList* _tmp26_ = NULL; +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = list; +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = _tmp26_; +#line 3036 "PhotoMetadata.c" + } else { +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = NULL; +#line 3040 "PhotoMetadata.c" + } +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp27_ = _g_object_ref0 (_tmp22_); +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp27_; +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (collection); +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (list); +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL); +#line 372 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 3054 "PhotoMetadata.c" +} + + +GeeList* photo_metadata_get_first_string_multiple (PhotoMetadata* self, gchar** tags, int tags_length1) { + GeeList* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 381 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tags; +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = tags_length1; +#line 3068 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 3080 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 3087 "PhotoMetadata.c" + { + GeeList* values = NULL; + const gchar* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GeeList* _tmp5_ = NULL; +#line 383 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 383 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = photo_metadata_get_string_multiple (self, _tmp2_); +#line 383 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = _tmp3_; +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = values; +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp5_ != NULL) { +#line 3104 "PhotoMetadata.c" + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = values; +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = _tmp7_; +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = _tmp8_ > 0; +#line 3116 "PhotoMetadata.c" + } else { +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = FALSE; +#line 3120 "PhotoMetadata.c" + } +#line 384 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_) { +#line 385 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = values; +#line 385 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 385 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 3130 "PhotoMetadata.c" + } +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (values); +#line 382 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 3136 "PhotoMetadata.c" + } + } + } +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 388 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 3144 "PhotoMetadata.c" +} + + +void photo_metadata_set_string (PhotoMetadata* self, const gchar* tag, const gchar* value, PrepareInputTextOptions options) { + gchar* prepped = NULL; + const gchar* _tmp0_ = NULL; + PrepareInputTextOptions _tmp1_ = 0; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GExiv2Metadata* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 391 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 391 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 391 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (value != NULL); +#line 392 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = value; +#line 392 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = options; +#line 392 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = prepare_input_text (_tmp0_, _tmp1_, DEFAULT_USER_TEXT_INPUT_LENGTH); +#line 392 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + prepped = _tmp2_; +#line 393 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = prepped; +#line 393 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp3_ == NULL) { +#line 3176 "PhotoMetadata.c" + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 394 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = tag; +#line 394 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = value; +#line 394 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:394: Not setting tag %s to string %s: invalid UTF-8", _tmp4_, _tmp5_); +#line 396 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (prepped); +#line 396 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return; +#line 3189 "PhotoMetadata.c" + } +#line 399 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = self->priv->exiv2; +#line 399 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = tag; +#line 399 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = prepped; +#line 399 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = gexiv2_metadata_set_tag_string (_tmp6_, _tmp7_, _tmp8_); +#line 399 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp9_) { +#line 3201 "PhotoMetadata.c" + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 400 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = tag; +#line 400 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = value; +#line 400 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = self->priv->source_name; +#line 400 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:400: Unable to set tag %s to string %s from source " \ +"%s", _tmp10_, _tmp11_, _tmp12_); +#line 3213 "PhotoMetadata.c" + } +#line 391 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (prepped); +#line 3217 "PhotoMetadata.c" +} + + +static void photo_metadata_set_all_generic (PhotoMetadata* self, gchar** tags, int tags_length1, PhotoMetadataSetOption option, PhotoMetadataSetGenericValue setter, void* setter_target) { + gboolean written = FALSE; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + PhotoMetadataSetOption _tmp11_ = 0; +#line 405 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 406 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + written = FALSE; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tags; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = tags_length1; +#line 3236 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 3248 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 3255 "PhotoMetadata.c" + { + gboolean _tmp2_ = FALSE; + PhotoMetadataSetOption _tmp3_ = 0; +#line 408 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = option; +#line 408 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp3_ == PHOTO_METADATA_SET_OPTION_ALL_DOMAINS) { +#line 408 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = TRUE; +#line 3265 "PhotoMetadata.c" + } else { + const gchar* _tmp4_ = NULL; + MetadataDomain _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 408 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = tag; +#line 408 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = photo_metadata_get_tag_domain (_tmp4_); +#line 408 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = photo_metadata_has_domain (self, _tmp5_); +#line 408 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = _tmp6_; +#line 3278 "PhotoMetadata.c" + } +#line 408 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp2_) { +#line 3282 "PhotoMetadata.c" + PhotoMetadataSetGenericValue _tmp7_ = NULL; + void* _tmp7__target = NULL; + const gchar* _tmp8_ = NULL; +#line 409 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = setter; +#line 409 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7__target = setter_target; +#line 409 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = tag; +#line 409 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ (_tmp8_, _tmp7__target); +#line 410 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + written = TRUE; +#line 3296 "PhotoMetadata.c" + } +#line 407 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 3300 "PhotoMetadata.c" + } + } + } +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = option; +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp11_ == PHOTO_METADATA_SET_OPTION_AT_LEAST_DEFAULT_DOMAIN) { +#line 3308 "PhotoMetadata.c" + gboolean _tmp12_ = FALSE; +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = written; +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = !_tmp12_; +#line 3314 "PhotoMetadata.c" + } else { +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = FALSE; +#line 3318 "PhotoMetadata.c" + } +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp10_) { +#line 3322 "PhotoMetadata.c" + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = tags; +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13__length1 = tags_length1; +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = _tmp13__length1 > 0; +#line 3331 "PhotoMetadata.c" + } else { +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = FALSE; +#line 3335 "PhotoMetadata.c" + } +#line 414 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp9_) { +#line 3339 "PhotoMetadata.c" + MetadataDomain default_domain = 0; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + const gchar* _tmp15_ = NULL; + MetadataDomain _tmp16_ = 0; + PhotoMetadataSetGenericValue _tmp17_ = NULL; + void* _tmp17__target = NULL; + gchar** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + const gchar* _tmp19_ = NULL; +#line 415 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = tags; +#line 415 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14__length1 = tags_length1; +#line 415 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = _tmp14_[0]; +#line 415 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = photo_metadata_get_tag_domain (_tmp15_); +#line 415 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + default_domain = _tmp16_; +#line 418 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = setter; +#line 418 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17__target = setter_target; +#line 418 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = tags; +#line 418 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18__length1 = tags_length1; +#line 418 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = _tmp18_[0]; +#line 418 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ (_tmp19_, _tmp17__target); +#line 3372 "PhotoMetadata.c" + { + gint ctr = 0; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ctr = 1; +#line 3377 "PhotoMetadata.c" + { + gboolean _tmp20_ = FALSE; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = TRUE; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 3384 "PhotoMetadata.c" + gint _tmp22_ = 0; + gchar** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + gchar** _tmp24_ = NULL; + gint _tmp24__length1 = 0; + gint _tmp25_ = 0; + const gchar* _tmp26_ = NULL; + MetadataDomain _tmp27_ = 0; + MetadataDomain _tmp28_ = 0; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp20_) { +#line 3396 "PhotoMetadata.c" + gint _tmp21_ = 0; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = ctr; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ctr = _tmp21_ + 1; +#line 3402 "PhotoMetadata.c" + } +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = FALSE; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = ctr; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = tags; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23__length1 = tags_length1; +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!(_tmp22_ < _tmp23__length1)) { +#line 421 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 3416 "PhotoMetadata.c" + } +#line 422 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = tags; +#line 422 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24__length1 = tags_length1; +#line 422 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = ctr; +#line 422 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = _tmp24_[_tmp25_]; +#line 422 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp27_ = photo_metadata_get_tag_domain (_tmp26_); +#line 422 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_ = default_domain; +#line 422 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp27_ == _tmp28_) { +#line 3432 "PhotoMetadata.c" + PhotoMetadataSetGenericValue _tmp29_ = NULL; + void* _tmp29__target = NULL; + gchar** _tmp30_ = NULL; + gint _tmp30__length1 = 0; + gint _tmp31_ = 0; + const gchar* _tmp32_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29_ = setter; +#line 423 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29__target = setter_target; +#line 423 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp30_ = tags; +#line 423 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp30__length1 = tags_length1; +#line 423 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp31_ = ctr; +#line 423 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp32_ = _tmp30_[_tmp31_]; +#line 423 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29_ (_tmp32_, _tmp29__target); +#line 3453 "PhotoMetadata.c" + } + } + } + } + } +} + + +static Block1Data* block1_data_ref (Block1Data* _data1_) { +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_atomic_int_inc (&_data1_->_ref_count_); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return _data1_; +#line 3467 "PhotoMetadata.c" +} + + +static void block1_data_unref (void * _userdata_) { + Block1Data* _data1_; + _data1_ = (Block1Data*) _userdata_; +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) { +#line 3476 "PhotoMetadata.c" + PhotoMetadata* self; +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data1_->self; +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_data1_->value); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _media_metadata_unref0 (self); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_slice_free (Block1Data, _data1_); +#line 3486 "PhotoMetadata.c" + } +} + + +static void __lambda5_ (Block1Data* _data1_, const gchar* tag) { + PhotoMetadata* self; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data1_->self; +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _data1_->value; +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, _tmp0_, _tmp1_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 3505 "PhotoMetadata.c" +} + + +static void ___lambda5__photo_metadata_set_generic_value (const gchar* tag, gpointer self) { +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + __lambda5_ (self, tag); +#line 3512 "PhotoMetadata.c" +} + + +void photo_metadata_set_all_string (PhotoMetadata* self, gchar** tags, int tags_length1, const gchar* value, PhotoMetadataSetOption option) { + Block1Data* _data1_; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PhotoMetadataSetOption _tmp3_ = 0; +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (value != NULL); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data1_ = g_slice_new0 (Block1Data); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data1_->_ref_count_ = 1; +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data1_->self = media_metadata_ref (self); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = value; +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_data1_->value); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data1_->value = _tmp1_; +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tags; +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2__length1 = tags_length1; +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = option; +#line 429 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_generic (self, _tmp2_, _tmp2__length1, _tmp3_, ___lambda5__photo_metadata_set_generic_value, _data1_); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + block1_data_unref (_data1_); +#line 428 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data1_ = NULL; +#line 3553 "PhotoMetadata.c" +} + + +static void _vala_array_add45 (gchar*** array, int* length, int* size, gchar* value) { +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if ((*length) == (*size)) { +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 3564 "PhotoMetadata.c" + } +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (*array)[(*length)++] = value; +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (*array)[*length] = NULL; +#line 3570 "PhotoMetadata.c" +} + + +static void _vala_array_add46 (gchar*** array, int* length, int* size, gchar* value) { +#line 449 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if ((*length) == (*size)) { +#line 449 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 449 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 3581 "PhotoMetadata.c" + } +#line 449 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (*array)[(*length)++] = value; +#line 449 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (*array)[*length] = NULL; +#line 3587 "PhotoMetadata.c" +} + + +void photo_metadata_set_string_multiple (PhotoMetadata* self, const gchar* tag, GeeCollection* collection) { + gchar** values = NULL; + gchar** _tmp0_ = NULL; + gint values_length1 = 0; + gint _values_size_ = 0; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; + GExiv2Metadata* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gboolean _tmp20_ = FALSE; +#line 432 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 432 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 432 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (GEE_IS_COLLECTION (collection)); +#line 433 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 433 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = _tmp0_; +#line 433 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values_length1 = 0; +#line 433 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _values_size_ = values_length1; +#line 3619 "PhotoMetadata.c" + { + GeeIterator* _value_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = collection; +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _value_it = _tmp2_; +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 3632 "PhotoMetadata.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gchar* value = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + gchar* prepped = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _value_it; +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp4_) { +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 3650 "PhotoMetadata.c" + } +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _value_it; +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value = (gchar*) _tmp6_; +#line 435 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = value; +#line 435 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = prepare_input_text (_tmp7_, PHOTO_METADATA_PREPARE_STRING_OPTIONS, -1); +#line 435 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + prepped = _tmp8_; +#line 436 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = prepped; +#line 436 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp9_ != NULL) { +#line 3668 "PhotoMetadata.c" + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = values; +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10__length1 = values_length1; +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = prepped; +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 437 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_array_add45 (&values, &values_length1, &_values_size_, _tmp12_); +#line 3683 "PhotoMetadata.c" + } else { + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 439 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = value; +#line 439 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = tag; +#line 439 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:439: Unable to set string %s to %s: invalid UTF-8", _tmp13_, _tmp14_); +#line 3693 "PhotoMetadata.c" + } +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (prepped); +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 3699 "PhotoMetadata.c" + } +#line 434 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_value_it); +#line 3703 "PhotoMetadata.c" + } +#line 442 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = values; +#line 442 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15__length1 = values_length1; +#line 442 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp15__length1 == 0) { +#line 443 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL); +#line 443 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return; +#line 3715 "PhotoMetadata.c" + } +#line 449 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = values; +#line 449 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16__length1 = values_length1; +#line 449 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_array_add46 (&values, &values_length1, &_values_size_, NULL); +#line 451 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = self->priv->exiv2; +#line 451 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = tag; +#line 451 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = values; +#line 451 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19__length1 = values_length1; +#line 451 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = gexiv2_metadata_set_tag_multiple (_tmp17_, _tmp18_, _tmp19_); +#line 451 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp20_) { +#line 3735 "PhotoMetadata.c" + gchar** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + const gchar* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; +#line 452 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = values; +#line 452 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21__length1 = values_length1; +#line 452 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = tag; +#line 452 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = self->priv->source_name; +#line 452 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:452: Unable to set %d strings to tag %s from source" \ +" %s", _tmp21__length1, _tmp22_, _tmp23_); +#line 3750 "PhotoMetadata.c" + } +#line 432 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = (_vala_array_free (values, values_length1, (GDestroyNotify) g_free), NULL); +#line 3754 "PhotoMetadata.c" +} + + +static Block2Data* block2_data_ref (Block2Data* _data2_) { +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_atomic_int_inc (&_data2_->_ref_count_); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return _data2_; +#line 3763 "PhotoMetadata.c" +} + + +static void block2_data_unref (void * _userdata_) { + Block2Data* _data2_; + _data2_ = (Block2Data*) _userdata_; +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) { +#line 3772 "PhotoMetadata.c" + PhotoMetadata* self; +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data2_->self; +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_data2_->values); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _media_metadata_unref0 (self); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_slice_free (Block2Data, _data2_); +#line 3782 "PhotoMetadata.c" + } +} + + +static void __lambda6_ (Block2Data* _data2_, const gchar* tag) { + PhotoMetadata* self; + const gchar* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data2_->self; +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _data2_->values; +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string_multiple (self, _tmp0_, _tmp1_); +#line 3801 "PhotoMetadata.c" +} + + +static void ___lambda6__photo_metadata_set_generic_value (const gchar* tag, gpointer self) { +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + __lambda6_ (self, tag); +#line 3808 "PhotoMetadata.c" +} + + +void photo_metadata_set_all_string_multiple (PhotoMetadata* self, gchar** tags, int tags_length1, GeeCollection* values, PhotoMetadataSetOption option) { + Block2Data* _data2_; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PhotoMetadataSetOption _tmp3_ = 0; +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (GEE_IS_COLLECTION (values)); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data2_ = g_slice_new0 (Block2Data); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data2_->_ref_count_ = 1; +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data2_->self = media_metadata_ref (self); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = values; +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_data2_->values); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data2_->values = _tmp1_; +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tags; +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2__length1 = tags_length1; +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = option; +#line 456 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_generic (self, _tmp2_, _tmp2__length1, _tmp3_, ___lambda6__photo_metadata_set_generic_value, _data2_); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + block2_data_unref (_data2_); +#line 455 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data2_ = NULL; +#line 3849 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_long (PhotoMetadata* self, const gchar* tag, glong* value) { + glong _vala_value = 0L; + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GExiv2Metadata* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + glong _tmp4_ = 0L; +#line 459 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 459 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, FALSE); +#line 460 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 460 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_has_tag (self, _tmp0_); +#line 460 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp1_) { +#line 461 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_value = (glong) 0; +#line 463 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 463 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (value) { +#line 463 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *value = _vala_value; +#line 3879 "PhotoMetadata.c" + } +#line 463 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 3883 "PhotoMetadata.c" + } +#line 466 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = self->priv->exiv2; +#line 466 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = tag; +#line 466 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_metadata_get_tag_long (_tmp2_, _tmp3_); +#line 466 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_value = _tmp4_; +#line 468 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = TRUE; +#line 468 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (value) { +#line 468 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *value = _vala_value; +#line 3899 "PhotoMetadata.c" + } +#line 468 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 3903 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_first_long (PhotoMetadata* self, gchar** tags, int tags_length1, glong* value) { + glong _vala_value = 0L; + gboolean result = FALSE; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 471 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 472 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tags; +#line 472 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = tags_length1; +#line 3918 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 472 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 472 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 472 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 3930 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 472 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 472 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 3937 "PhotoMetadata.c" + { + const gchar* _tmp2_ = NULL; + glong _tmp3_ = 0L; + gboolean _tmp4_ = FALSE; +#line 473 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 473 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_get_long (self, _tmp2_, &_tmp3_); +#line 473 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_value = _tmp3_; +#line 473 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_) { +#line 474 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = TRUE; +#line 474 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 474 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (value) { +#line 474 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *value = _vala_value; +#line 3958 "PhotoMetadata.c" + } +#line 474 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 3962 "PhotoMetadata.c" + } +#line 472 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 3966 "PhotoMetadata.c" + } + } + } +#line 477 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_value = (glong) 0; +#line 479 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 479 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (value) { +#line 479 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *value = _vala_value; +#line 3978 "PhotoMetadata.c" + } +#line 479 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 3982 "PhotoMetadata.c" +} + + +void photo_metadata_set_long (PhotoMetadata* self, const gchar* tag, glong value) { + GExiv2Metadata* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + glong _tmp2_ = 0L; + gboolean _tmp3_ = FALSE; +#line 482 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 482 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 483 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 483 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tag; +#line 483 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = value; +#line 483 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = gexiv2_metadata_set_tag_long (_tmp0_, _tmp1_, _tmp2_); +#line 483 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp3_) { +#line 4005 "PhotoMetadata.c" + const gchar* _tmp4_ = NULL; + glong _tmp5_ = 0L; + const gchar* _tmp6_ = NULL; +#line 484 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = tag; +#line 484 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = value; +#line 484 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = self->priv->source_name; +#line 484 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:484: Unable to set tag %s to long %ld from source %" \ +"s", _tmp4_, _tmp5_, _tmp6_); +#line 4017 "PhotoMetadata.c" + } +} + + +static Block3Data* block3_data_ref (Block3Data* _data3_) { +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_atomic_int_inc (&_data3_->_ref_count_); +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return _data3_; +#line 4027 "PhotoMetadata.c" +} + + +static void block3_data_unref (void * _userdata_) { + Block3Data* _data3_; + _data3_ = (Block3Data*) _userdata_; +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) { +#line 4036 "PhotoMetadata.c" + PhotoMetadata* self; +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data3_->self; +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _media_metadata_unref0 (self); +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_slice_free (Block3Data, _data3_); +#line 4044 "PhotoMetadata.c" + } +} + + +static void __lambda7_ (Block3Data* _data3_, const gchar* tag) { + PhotoMetadata* self; + const gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data3_->self; +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _data3_->value; +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_long (self, _tmp0_, _tmp1_); +#line 4063 "PhotoMetadata.c" +} + + +static void ___lambda7__photo_metadata_set_generic_value (const gchar* tag, gpointer self) { +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + __lambda7_ (self, tag); +#line 4070 "PhotoMetadata.c" +} + + +void photo_metadata_set_all_long (PhotoMetadata* self, gchar** tags, int tags_length1, glong value, PhotoMetadataSetOption option) { + Block3Data* _data3_; + glong _tmp0_ = 0L; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PhotoMetadataSetOption _tmp2_ = 0; +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data3_ = g_slice_new0 (Block3Data); +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data3_->_ref_count_ = 1; +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data3_->self = media_metadata_ref (self); +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = value; +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data3_->value = _tmp0_; +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tags; +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = tags_length1; +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = option; +#line 488 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_generic (self, _tmp1_, _tmp1__length1, _tmp2_, ___lambda7__photo_metadata_set_generic_value, _data3_); +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + block3_data_unref (_data3_); +#line 487 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data3_ = NULL; +#line 4104 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_rational (PhotoMetadata* self, const gchar* tag, MetadataRational* rational) { + MetadataRational _vala_rational = {0}; + gboolean result = FALSE; + gint numerator = 0; + gint denominator = 0; + gboolean _result_ = FALSE; + GExiv2Metadata* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; +#line 491 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 491 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, FALSE); +#line 493 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 493 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tag; +#line 493 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_metadata_get_exif_tag_rational (_tmp0_, _tmp1_, &_tmp2_, &_tmp3_); +#line 493 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + numerator = _tmp2_; +#line 493 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + denominator = _tmp3_; +#line 493 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _result_ = _tmp4_; +#line 495 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + metadata_rational_init (&_vala_rational, numerator, denominator); +#line 497 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _result_; +#line 497 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (rational) { +#line 497 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *rational = _vala_rational; +#line 4143 "PhotoMetadata.c" + } +#line 497 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4147 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_first_rational (PhotoMetadata* self, gchar** tags, int tags_length1, MetadataRational* rational) { + MetadataRational _vala_rational = {0}; + gboolean result = FALSE; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 500 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 501 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tags; +#line 501 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = tags_length1; +#line 4162 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 501 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 501 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 501 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 4174 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 501 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 501 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 4181 "PhotoMetadata.c" + { + const gchar* _tmp2_ = NULL; + MetadataRational _tmp3_ = {0}; + gboolean _tmp4_ = FALSE; +#line 502 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 502 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_get_rational (self, _tmp2_, &_tmp3_); +#line 502 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_rational = _tmp3_; +#line 502 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_) { +#line 503 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = TRUE; +#line 503 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 503 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (rational) { +#line 503 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *rational = _vala_rational; +#line 4202 "PhotoMetadata.c" + } +#line 503 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4206 "PhotoMetadata.c" + } +#line 501 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 4210 "PhotoMetadata.c" + } + } + } +#line 506 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + metadata_rational_init (&_vala_rational, 0, 0); +#line 508 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 508 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (rational) { +#line 508 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *rational = _vala_rational; +#line 4222 "PhotoMetadata.c" + } +#line 508 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4226 "PhotoMetadata.c" +} + + +void photo_metadata_set_rational (PhotoMetadata* self, const gchar* tag, MetadataRational* rational) { + GExiv2Metadata* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + MetadataRational _tmp2_ = {0}; + gint _tmp3_ = 0; + MetadataRational _tmp4_ = {0}; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; +#line 511 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 511 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 511 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (rational != NULL); +#line 512 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 512 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tag; +#line 512 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = *rational; +#line 512 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_.numerator; +#line 512 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = *rational; +#line 512 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp4_.denominator; +#line 512 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = gexiv2_metadata_set_exif_tag_rational (_tmp0_, _tmp1_, _tmp3_, _tmp5_); +#line 512 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp6_) { +#line 4260 "PhotoMetadata.c" + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 513 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = tag; +#line 513 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = metadata_rational_to_string (rational); +#line 513 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = _tmp8_; +#line 513 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = self->priv->source_name; +#line 513 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:513: Unable to set tag %s to rational %s from sourc" \ +"e %s", _tmp7_, _tmp9_, _tmp10_); +#line 513 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp9_); +#line 4277 "PhotoMetadata.c" + } +} + + +static Block4Data* block4_data_ref (Block4Data* _data4_) { +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_atomic_int_inc (&_data4_->_ref_count_); +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return _data4_; +#line 4287 "PhotoMetadata.c" +} + + +static void block4_data_unref (void * _userdata_) { + Block4Data* _data4_; + _data4_ = (Block4Data*) _userdata_; +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) { +#line 4296 "PhotoMetadata.c" + PhotoMetadata* self; +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data4_->self; +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _media_metadata_unref0 (self); +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_slice_free (Block4Data, _data4_); +#line 4304 "PhotoMetadata.c" + } +} + + +static void __lambda8_ (Block4Data* _data4_, const gchar* tag) { + PhotoMetadata* self; + const gchar* _tmp0_ = NULL; + MetadataRational _tmp1_ = {0}; +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data4_->self; +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _data4_->rational; +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_rational (self, _tmp0_, &_tmp1_); +#line 4323 "PhotoMetadata.c" +} + + +static void ___lambda8__photo_metadata_set_generic_value (const gchar* tag, gpointer self) { +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + __lambda8_ (self, tag); +#line 4330 "PhotoMetadata.c" +} + + +void photo_metadata_set_all_rational (PhotoMetadata* self, gchar** tags, int tags_length1, MetadataRational* rational, PhotoMetadataSetOption option) { + Block4Data* _data4_; + MetadataRational _tmp0_ = {0}; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + PhotoMetadataSetOption _tmp2_ = 0; +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (rational != NULL); +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data4_ = g_slice_new0 (Block4Data); +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data4_->_ref_count_ = 1; +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data4_->self = media_metadata_ref (self); +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = *rational; +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data4_->rational = _tmp0_; +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tags; +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = tags_length1; +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = option; +#line 519 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_generic (self, _tmp1_, _tmp1__length1, _tmp2_, ___lambda8__photo_metadata_set_generic_value, _data4_); +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + block4_data_unref (_data4_); +#line 518 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data4_ = NULL; +#line 4366 "PhotoMetadata.c" +} + + +MetadataDateTime* photo_metadata_get_date_time (PhotoMetadata* self, const gchar* tag) { + MetadataDateTime* result = NULL; + gchar* value = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 522 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 522 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (tag != NULL, NULL); +#line 523 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 523 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_string (self, _tmp0_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 523 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + value = _tmp1_; +#line 524 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = value; +#line 524 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp2_ == NULL) { +#line 525 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 525 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 525 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4397 "PhotoMetadata.c" + } + { + const gchar* _tmp3_ = NULL; + MetadataDomain _tmp4_ = 0; +#line 528 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = tag; +#line 528 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_get_tag_domain (_tmp3_); +#line 528 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + switch (_tmp4_) { +#line 528 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_XMP: +#line 4410 "PhotoMetadata.c" + { + MetadataDateTime* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + MetadataDateTime* _tmp7_ = NULL; + MetadataDateTime* _tmp8_ = NULL; +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = value; +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = metadata_date_time_new_from_xmp (_tmp6_, &_inner_error_); +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp7_; +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4424 "PhotoMetadata.c" + goto __catch24_g_error; + } +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = _tmp5_; +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = NULL; +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp8_; +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _metadata_date_time_unref0 (_tmp5_); +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 530 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4439 "PhotoMetadata.c" + } +#line 528 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_IPTC: +#line 4443 "PhotoMetadata.c" + { +#line 535 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 535 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 535 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4451 "PhotoMetadata.c" + } + default: +#line 528 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_EXIF: +#line 4456 "PhotoMetadata.c" + { + MetadataDateTime* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + MetadataDateTime* _tmp11_ = NULL; + MetadataDateTime* _tmp12_ = NULL; +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = value; +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = metadata_date_time_new_from_exif (_tmp10_, &_inner_error_); +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = _tmp11_; +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 4470 "PhotoMetadata.c" + goto __catch24_g_error; + } +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = _tmp9_; +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = NULL; +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp12_; +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _metadata_date_time_unref0 (_tmp9_); +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 539 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4485 "PhotoMetadata.c" + } + } + } + goto __finally24; + __catch24_g_error: + { + GError* err = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GError* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; +#line 527 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + err = _inner_error_; +#line 527 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _inner_error_ = NULL; +#line 542 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = tag; +#line 542 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = self->priv->source_name; +#line 542 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = err; +#line 542 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = _tmp15_->message; +#line 542 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:542: Unable to read date/time %s from source %s: %s", _tmp13_, _tmp14_, _tmp16_); +#line 544 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 544 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_error_free0 (err); +#line 544 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 544 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4519 "PhotoMetadata.c" + } + __finally24: +#line 527 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (value); +#line 527 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.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 527 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_clear_error (&_inner_error_); +#line 527 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return NULL; +#line 4530 "PhotoMetadata.c" +} + + +MetadataDateTime* photo_metadata_get_first_date_time (PhotoMetadata* self, gchar** tags, int tags_length1) { + MetadataDateTime* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 548 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tags; +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = tags_length1; +#line 4544 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 4556 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 4563 "PhotoMetadata.c" + { + MetadataDateTime* date_time = NULL; + const gchar* _tmp2_ = NULL; + MetadataDateTime* _tmp3_ = NULL; + MetadataDateTime* _tmp4_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 550 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = photo_metadata_get_date_time (self, _tmp2_); +#line 550 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + date_time = _tmp3_; +#line 551 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = date_time; +#line 551 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ != NULL) { +#line 552 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = date_time; +#line 552 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 552 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4585 "PhotoMetadata.c" + } +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _metadata_date_time_unref0 (date_time); +#line 549 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 4591 "PhotoMetadata.c" + } + } + } +#line 555 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 555 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4599 "PhotoMetadata.c" +} + + +void photo_metadata_set_date_time (PhotoMetadata* self, const gchar* tag, MetadataDateTime* date_time) { + const gchar* _tmp0_ = NULL; + MetadataDomain _tmp1_ = 0; +#line 558 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 558 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 558 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_METADATA_DATE_TIME (date_time)); +#line 559 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 559 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_tag_domain (_tmp0_); +#line 559 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + switch (_tmp1_) { +#line 559 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_EXIF: +#line 4620 "PhotoMetadata.c" + { + const gchar* _tmp2_ = NULL; + MetadataDateTime* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 561 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 561 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = date_time; +#line 561 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = metadata_date_time_get_exif_label (_tmp3_); +#line 561 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp4_; +#line 561 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, _tmp2_, _tmp5_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 561 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp5_); +#line 562 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 4640 "PhotoMetadata.c" + } +#line 559 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_XMP: +#line 4644 "PhotoMetadata.c" + { + const gchar* _tmp6_ = NULL; + MetadataDateTime* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = tag; +#line 565 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = date_time; +#line 565 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = metadata_date_time_get_xmp_label (_tmp7_); +#line 565 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = _tmp8_; +#line 565 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, _tmp6_, _tmp9_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 565 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp9_); +#line 566 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 4664 "PhotoMetadata.c" + } + default: +#line 559 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_IPTC: +#line 4669 "PhotoMetadata.c" + { + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + MetadataDomain _tmp13_ = 0; + GEnumValue* _tmp14_; +#line 571 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = tag; +#line 571 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = self->priv->source_name; +#line 571 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = tag; +#line 571 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = photo_metadata_get_tag_domain (_tmp12_); +#line 572 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = g_enum_get_value (g_type_class_ref (TYPE_METADATA_DOMAIN), _tmp13_); +#line 571 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_warning ("PhotoMetadata.vala:571: Cannot set date/time for %s from source %s: un" \ +"supported metadata domain %s", _tmp10_, _tmp11_, (_tmp14_ != NULL) ? _tmp14_->value_name : NULL); +#line 573 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 4690 "PhotoMetadata.c" + } + } +} + + +static gpointer _metadata_date_time_ref0 (gpointer self) { +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self ? metadata_date_time_ref (self) : NULL; +#line 4699 "PhotoMetadata.c" +} + + +static Block5Data* block5_data_ref (Block5Data* _data5_) { +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_atomic_int_inc (&_data5_->_ref_count_); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return _data5_; +#line 4708 "PhotoMetadata.c" +} + + +static void block5_data_unref (void * _userdata_) { + Block5Data* _data5_; + _data5_ = (Block5Data*) _userdata_; +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) { +#line 4717 "PhotoMetadata.c" + PhotoMetadata* self; +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data5_->self; +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _metadata_date_time_unref0 (_data5_->date_time); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _media_metadata_unref0 (self); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_slice_free (Block5Data, _data5_); +#line 4727 "PhotoMetadata.c" + } +} + + +static void __lambda9_ (Block5Data* _data5_, const gchar* tag) { + PhotoMetadata* self; + const gchar* _tmp0_ = NULL; + MetadataDateTime* _tmp1_ = NULL; +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = _data5_->self; +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tag; +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _data5_->date_time; +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_date_time (self, _tmp0_, _tmp1_); +#line 4746 "PhotoMetadata.c" +} + + +static void ___lambda9__photo_metadata_set_generic_value (const gchar* tag, gpointer self) { +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + __lambda9_ (self, tag); +#line 4753 "PhotoMetadata.c" +} + + +void photo_metadata_set_all_date_time (PhotoMetadata* self, gchar** tags, int tags_length1, MetadataDateTime* date_time, PhotoMetadataSetOption option) { + Block5Data* _data5_; + MetadataDateTime* _tmp0_ = NULL; + MetadataDateTime* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PhotoMetadataSetOption _tmp3_ = 0; +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_METADATA_DATE_TIME (date_time)); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data5_ = g_slice_new0 (Block5Data); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data5_->_ref_count_ = 1; +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data5_->self = media_metadata_ref (self); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = date_time; +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _metadata_date_time_ref0 (_tmp0_); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _metadata_date_time_unref0 (_data5_->date_time); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data5_->date_time = _tmp1_; +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tags; +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2__length1 = tags_length1; +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = option; +#line 578 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_generic (self, _tmp2_, _tmp2__length1, _tmp3_, ___lambda9__photo_metadata_set_generic_value, _data5_); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + block5_data_unref (_data5_); +#line 577 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _data5_ = NULL; +#line 4794 "PhotoMetadata.c" +} + + +guint8* photo_metadata_flatten_exif (PhotoMetadata* self, gboolean include_preview, int* result_length1) { + guint8* result = NULL; + ExifData* _tmp0_ = NULL; + guchar* thumbnail = NULL; + ExifData* _tmp2_ = NULL; + guchar* _tmp3_ = NULL; + guint thumbnail_size = 0U; + ExifData* _tmp4_ = NULL; + guint _tmp5_ = 0U; + gboolean _tmp6_ = FALSE; + guint8* flattened = NULL; + gint flattened_length1 = 0; + gint _flattened_size_ = 0; + guchar* saved_data = NULL; + guint saved_size = 0U; + ExifData* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + guint _tmp11_ = 0U; + ExifData* _tmp21_ = NULL; + guchar* _tmp22_ = NULL; + ExifData* _tmp23_ = NULL; + guint _tmp24_ = 0U; + guint8* _tmp25_ = NULL; + gint _tmp25__length1 = 0; +#line 582 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 583 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exif; +#line 583 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp0_ == NULL) { +#line 4828 "PhotoMetadata.c" + guint8* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 584 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = NULL; +#line 584 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = 0; +#line 584 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (result_length1) { +#line 584 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *result_length1 = _tmp1__length1; +#line 4839 "PhotoMetadata.c" + } +#line 584 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 584 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4845 "PhotoMetadata.c" + } +#line 588 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = self->priv->exif; +#line 588 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_->data; +#line 588 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + thumbnail = _tmp3_; +#line 589 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = self->priv->exif; +#line 589 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp4_->size; +#line 589 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + thumbnail_size = _tmp5_; +#line 590 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = include_preview; +#line 590 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp6_) { +#line 4863 "PhotoMetadata.c" + ExifData* _tmp7_ = NULL; + ExifData* _tmp8_ = NULL; +#line 591 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = self->priv->exif; +#line 591 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_->data = NULL; +#line 592 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = self->priv->exif; +#line 592 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_->size = (guint) 0; +#line 4874 "PhotoMetadata.c" + } +#line 595 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened = NULL; +#line 595 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened_length1 = 0; +#line 595 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _flattened_size_ = flattened_length1; +#line 598 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + saved_data = NULL; +#line 599 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + saved_size = (guint) 0; +#line 600 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = self->priv->exif; +#line 600 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + exif_data_save_data (_tmp9_, &saved_data, &saved_size); +#line 601 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = saved_size; +#line 601 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp11_ > ((guint) 0)) { +#line 4894 "PhotoMetadata.c" + guchar* _tmp12_ = NULL; +#line 601 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = saved_data; +#line 601 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = _tmp12_ != NULL; +#line 4900 "PhotoMetadata.c" + } else { +#line 601 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = FALSE; +#line 4904 "PhotoMetadata.c" + } +#line 601 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp10_) { +#line 4908 "PhotoMetadata.c" + guint _tmp13_ = 0U; + guint8* _tmp14_ = NULL; + guint8* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + guchar* _tmp16_ = NULL; + guint _tmp17_ = 0U; + ExifMem* _tmp18_ = NULL; + ExifMem* _tmp19_ = NULL; + guchar* _tmp20_ = NULL; +#line 602 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = saved_size; +#line 602 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = g_new0 (guint8, _tmp13_); +#line 602 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened = (g_free (flattened), NULL); +#line 602 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened = _tmp14_; +#line 602 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flattened_length1 = _tmp13_; +#line 602 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _flattened_size_ = flattened_length1; +#line 603 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = flattened; +#line 603 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15__length1 = flattened_length1; +#line 603 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = saved_data; +#line 603 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = saved_size; +#line 603 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + memcpy (_tmp15_, _tmp16_, (gsize) _tmp17_); +#line 605 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = exif_mem_new_default (); +#line 605 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = _tmp18_; +#line 605 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = saved_data; +#line 605 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + exif_mem_free (_tmp19_, _tmp20_); +#line 605 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_mem_unref0 (_tmp19_); +#line 4950 "PhotoMetadata.c" + } +#line 609 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = self->priv->exif; +#line 609 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = thumbnail; +#line 609 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_->data = _tmp22_; +#line 610 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = self->priv->exif; +#line 610 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = thumbnail_size; +#line 610 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_->size = _tmp24_; +#line 612 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = flattened; +#line 612 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25__length1 = flattened_length1; +#line 612 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (result_length1) { +#line 612 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *result_length1 = _tmp25__length1; +#line 4972 "PhotoMetadata.c" + } +#line 612 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp25_; +#line 612 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 4978 "PhotoMetadata.c" +} + + +static guint8* _vala_array_dup5 (guint8* self, int length) { +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_memdup (self, length * sizeof (guint8)); +#line 4985 "PhotoMetadata.c" +} + + +guint8* photo_metadata_flatten_exif_preview (PhotoMetadata* self, int* result_length1) { + guint8* result = NULL; + guchar* buffer = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + guchar* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gint __tmp0__size_ = 0; + GExiv2Metadata* _tmp1_ = NULL; + guchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + guint8* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + guint8* _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 616 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = self->priv->exiv2; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_metadata_get_exif_thumbnail (_tmp1_, &_tmp2_, &_tmp3_); +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + buffer = (g_free (buffer), NULL); +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + buffer = _tmp2_; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + buffer_length1 = _tmp3_; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _buffer_size_ = buffer_length1; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_) { +#line 5021 "PhotoMetadata.c" + guchar* _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = buffer; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5__length1 = buffer_length1; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = _tmp5_; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = _tmp5__length1; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + __tmp0__size_ = _tmp0__length1; +#line 5034 "PhotoMetadata.c" + } else { +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = NULL; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = 0; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + __tmp0__size_ = _tmp0__length1; +#line 5042 "PhotoMetadata.c" + } +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = (_tmp0_ != NULL) ? _vala_array_dup5 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6__length1 = _tmp0__length1; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = _tmp6_; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7__length1 = _tmp6__length1; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (result_length1) { +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *result_length1 = _tmp7__length1; +#line 5056 "PhotoMetadata.c" + } +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp7_; +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + buffer = (g_free (buffer), NULL); +#line 618 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5064 "PhotoMetadata.c" +} + + +guint photo_metadata_get_preview_count (PhotoMetadata* self) { + guint result = 0U; + GExiv2PreviewProperties** props = NULL; + GExiv2Metadata* _tmp0_ = NULL; + GExiv2PreviewProperties** _tmp1_ = NULL; + GExiv2PreviewProperties** _tmp2_ = NULL; + gint props_length1 = 0; + gint _props_size_ = 0; + gint _tmp3_ = 0; + GExiv2PreviewProperties** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 621 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), 0U); +#line 622 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 622 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = _tmp1_ = gexiv2_metadata_get_preview_properties (_tmp0_); +#line 622 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + props = _tmp2_; +#line 622 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + props_length1 = _vala_array_length (_tmp1_); +#line 622 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _props_size_ = props_length1; +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = props; +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4__length1 = props_length1; +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ != NULL) { +#line 5097 "PhotoMetadata.c" + GExiv2PreviewProperties** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = props; +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5__length1 = props_length1; +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp5__length1; +#line 5106 "PhotoMetadata.c" + } else { +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = 0; +#line 5110 "PhotoMetadata.c" + } +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = (guint) _tmp3_; +#line 624 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5116 "PhotoMetadata.c" +} + + +PhotoPreview* photo_metadata_get_preview (PhotoMetadata* self, guint number) { + PhotoPreview* result = NULL; + GExiv2PreviewProperties** props = NULL; + GExiv2Metadata* _tmp0_ = NULL; + GExiv2PreviewProperties** _tmp1_ = NULL; + GExiv2PreviewProperties** _tmp2_ = NULL; + gint props_length1 = 0; + gint _props_size_ = 0; + gboolean _tmp3_ = FALSE; + GExiv2PreviewProperties** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp7_ = NULL; + guint _tmp8_ = 0U; + GExiv2PreviewProperties** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + guint _tmp10_ = 0U; + GExiv2PreviewProperties* _tmp11_ = NULL; + PhotoMetadataInternalPhotoPreview* _tmp12_ = NULL; +#line 628 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 629 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 629 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = _tmp1_ = gexiv2_metadata_get_preview_properties (_tmp0_); +#line 629 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + props = _tmp2_; +#line 629 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + props_length1 = _vala_array_length (_tmp1_); +#line 629 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _props_size_ = props_length1; +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = props; +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4__length1 = props_length1; +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ == NULL) { +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = TRUE; +#line 5158 "PhotoMetadata.c" + } else { + GExiv2PreviewProperties** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + guint _tmp6_ = 0U; +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = props; +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5__length1 = props_length1; +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = number; +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = ((guint) _tmp5__length1) <= _tmp6_; +#line 5171 "PhotoMetadata.c" + } +#line 630 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp3_) { +#line 631 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 631 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5179 "PhotoMetadata.c" + } +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = self->priv->source_name; +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = number; +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = props; +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9__length1 = props_length1; +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = number; +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = _tmp9_[_tmp10_]; +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = photo_metadata_internal_photo_preview_new (self, _tmp7_, _tmp8_, _tmp11_); +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_PHOTO_PREVIEW, PhotoPreview); +#line 633 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5199 "PhotoMetadata.c" +} + + +void photo_metadata_remove_exif_thumbnail (PhotoMetadata* self) { + GExiv2Metadata* _tmp0_ = NULL; + ExifData* _tmp1_ = NULL; +#line 636 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 637 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 637 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_erase_exif_thumbnail (_tmp0_); +#line 638 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = self->priv->exif; +#line 638 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp1_ != NULL) { +#line 5216 "PhotoMetadata.c" + ExifMem* _tmp2_ = NULL; + ExifMem* _tmp3_ = NULL; + ExifData* _tmp4_ = NULL; + guchar* _tmp5_ = NULL; + ExifData* _tmp6_ = NULL; + ExifData* _tmp7_ = NULL; +#line 639 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = exif_mem_new_default (); +#line 639 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_; +#line 639 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = self->priv->exif; +#line 639 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp4_->data; +#line 639 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + exif_mem_free (_tmp3_, _tmp5_); +#line 639 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_mem_unref0 (_tmp3_); +#line 640 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = self->priv->exif; +#line 640 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_->data = NULL; +#line 641 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = self->priv->exif; +#line 641 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_->size = (guint) 0; +#line 5243 "PhotoMetadata.c" + } +} + + +void photo_metadata_remove_tag (PhotoMetadata* self, const gchar* tag) { + GExiv2Metadata* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 645 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 645 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (tag != NULL); +#line 646 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 646 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = tag; +#line 646 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_clear_tag (_tmp0_, _tmp1_); +#line 5261 "PhotoMetadata.c" +} + + +void photo_metadata_remove_tags (PhotoMetadata* self, gchar** tags, int tags_length1) { + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 649 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 650 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = tags; +#line 650 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = tags_length1; +#line 5274 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 650 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 650 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 650 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 5286 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 650 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 650 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 5293 "PhotoMetadata.c" + { + const gchar* _tmp2_ = NULL; +#line 651 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 651 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tag (self, _tmp2_); +#line 650 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 5302 "PhotoMetadata.c" + } + } + } +} + + +void photo_metadata_clear_domain (PhotoMetadata* self, MetadataDomain domain) { + MetadataDomain _tmp0_ = 0; +#line 654 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 655 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = domain; +#line 655 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + switch (_tmp0_) { +#line 655 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_EXIF: +#line 5319 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp1_ = NULL; +#line 657 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = self->priv->exiv2; +#line 657 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_clear_exif (_tmp1_); +#line 658 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 5328 "PhotoMetadata.c" + } +#line 655 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_XMP: +#line 5332 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp2_ = NULL; +#line 661 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = self->priv->exiv2; +#line 661 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_clear_xmp (_tmp2_); +#line 662 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 5341 "PhotoMetadata.c" + } +#line 655 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + case METADATA_DOMAIN_IPTC: +#line 5345 "PhotoMetadata.c" + { + GExiv2Metadata* _tmp3_ = NULL; +#line 665 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = self->priv->exiv2; +#line 665 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_clear_iptc (_tmp3_); +#line 666 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 5354 "PhotoMetadata.c" + } + default: +#line 655 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 5359 "PhotoMetadata.c" + } +} + + +void photo_metadata_clear (PhotoMetadata* self) { + GExiv2Metadata* _tmp0_ = NULL; +#line 670 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 671 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 671 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_clear (_tmp0_); +#line 5372 "PhotoMetadata.c" +} + + +MetadataDateTime* photo_metadata_get_modification_date_time (PhotoMetadata* self) { + MetadataDateTime* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + MetadataDateTime* _tmp1_ = NULL; +#line 680 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 681 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_DATE_TIME_TAGS; +#line 681 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_DATE_TIME_TAGS_length1; +#line 681 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_first_date_time (self, _tmp0_, _tmp0__length1); +#line 681 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 681 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5393 "PhotoMetadata.c" +} + + +void photo_metadata_set_modification_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option) { + MetadataDateTime* _tmp0_ = NULL; +#line 684 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 684 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail ((date_time == NULL) || IS_METADATA_DATE_TIME (date_time)); +#line 686 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = date_time; +#line 686 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp0_ != NULL) { +#line 5407 "PhotoMetadata.c" + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + MetadataDateTime* _tmp2_ = NULL; + PhotoMetadataSetOption _tmp3_ = 0; +#line 687 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_DATE_TIME_TAGS; +#line 687 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = photo_metadata_DATE_TIME_TAGS_length1; +#line 687 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = date_time; +#line 687 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = option; +#line 687 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_date_time (self, _tmp1_, _tmp1__length1, _tmp2_, _tmp3_); +#line 5422 "PhotoMetadata.c" + } else { + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 689 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_DATE_TIME_TAGS; +#line 689 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4__length1 = photo_metadata_DATE_TIME_TAGS_length1; +#line 689 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tags (self, _tmp4_, _tmp4__length1); +#line 5432 "PhotoMetadata.c" + } +} + + +MetadataDateTime* photo_metadata_get_exposure_date_time (PhotoMetadata* self) { + MetadataDateTime* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + MetadataDateTime* _tmp1_ = NULL; +#line 701 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 702 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_EXPOSURE_DATE_TIME_TAGS; +#line 702 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_EXPOSURE_DATE_TIME_TAGS_length1; +#line 702 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_first_date_time (self, _tmp0_, _tmp0__length1); +#line 702 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 702 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5454 "PhotoMetadata.c" +} + + +void photo_metadata_set_exposure_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option) { + MetadataDateTime* _tmp0_ = NULL; +#line 705 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 705 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail ((date_time == NULL) || IS_METADATA_DATE_TIME (date_time)); +#line 707 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = date_time; +#line 707 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp0_ != NULL) { +#line 5468 "PhotoMetadata.c" + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + MetadataDateTime* _tmp2_ = NULL; + PhotoMetadataSetOption _tmp3_ = 0; +#line 708 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_EXPOSURE_DATE_TIME_TAGS; +#line 708 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = photo_metadata_EXPOSURE_DATE_TIME_TAGS_length1; +#line 708 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = date_time; +#line 708 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = option; +#line 708 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_date_time (self, _tmp1_, _tmp1__length1, _tmp2_, _tmp3_); +#line 5483 "PhotoMetadata.c" + } else { + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 710 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_EXPOSURE_DATE_TIME_TAGS; +#line 710 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4__length1 = photo_metadata_EXPOSURE_DATE_TIME_TAGS_length1; +#line 710 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tags (self, _tmp4_, _tmp4__length1); +#line 5493 "PhotoMetadata.c" + } +} + + +MetadataDateTime* photo_metadata_get_digitized_date_time (PhotoMetadata* self) { + MetadataDateTime* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + MetadataDateTime* _tmp1_ = NULL; +#line 718 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 719 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_DIGITIZED_DATE_TIME_TAGS; +#line 719 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_DIGITIZED_DATE_TIME_TAGS_length1; +#line 719 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_first_date_time (self, _tmp0_, _tmp0__length1); +#line 719 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 719 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5515 "PhotoMetadata.c" +} + + +void photo_metadata_set_digitized_date_time (PhotoMetadata* self, MetadataDateTime* date_time, PhotoMetadataSetOption option) { + MetadataDateTime* _tmp0_ = NULL; +#line 722 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 722 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail ((date_time == NULL) || IS_METADATA_DATE_TIME (date_time)); +#line 724 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = date_time; +#line 724 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp0_ != NULL) { +#line 5529 "PhotoMetadata.c" + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + MetadataDateTime* _tmp2_ = NULL; + PhotoMetadataSetOption _tmp3_ = 0; +#line 725 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_DIGITIZED_DATE_TIME_TAGS; +#line 725 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = photo_metadata_DIGITIZED_DATE_TIME_TAGS_length1; +#line 725 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = date_time; +#line 725 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = option; +#line 725 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_date_time (self, _tmp1_, _tmp1__length1, _tmp2_, _tmp3_); +#line 5544 "PhotoMetadata.c" + } else { + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 727 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_DIGITIZED_DATE_TIME_TAGS; +#line 727 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4__length1 = photo_metadata_DIGITIZED_DATE_TIME_TAGS_length1; +#line 727 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tags (self, _tmp4_, _tmp4__length1); +#line 5554 "PhotoMetadata.c" + } +} + + +static MetadataDateTime* photo_metadata_real_get_creation_date_time (MediaMetadata* base) { + PhotoMetadata * self; + MetadataDateTime* result = NULL; + MetadataDateTime* creation = NULL; + MetadataDateTime* _tmp0_ = NULL; + MetadataDateTime* _tmp1_ = NULL; +#line 730 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_METADATA, PhotoMetadata); +#line 731 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_exposure_date_time (self); +#line 731 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + creation = _tmp0_; +#line 732 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = creation; +#line 732 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp1_ == NULL) { +#line 5575 "PhotoMetadata.c" + MetadataDateTime* _tmp2_ = NULL; +#line 733 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = photo_metadata_get_digitized_date_time (self); +#line 733 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _metadata_date_time_unref0 (creation); +#line 733 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + creation = _tmp2_; +#line 5583 "PhotoMetadata.c" + } +#line 735 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = creation; +#line 735 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5589 "PhotoMetadata.c" +} + + +static gpointer _dimensions_dup0 (gpointer self) { +#line 766 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self ? dimensions_dup (self) : NULL; +#line 5596 "PhotoMetadata.c" +} + + +Dimensions* photo_metadata_get_pixel_dimensions (PhotoMetadata* self) { + Dimensions* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 752 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 754 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_WIDTH_TAGS; +#line 754 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_WIDTH_TAGS_length1; +#line 754 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_HEIGHT_TAGS; +#line 754 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = photo_metadata_HEIGHT_TAGS_length1; +#line 754 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_assert (_tmp0__length1 == _tmp1__length1, "WIDTH_TAGS.length == HEIGHT_TAGS.length"); +#line 5618 "PhotoMetadata.c" + { + gint ctr = 0; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ctr = 0; +#line 5623 "PhotoMetadata.c" + { + gboolean _tmp2_ = FALSE; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = TRUE; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 5630 "PhotoMetadata.c" + gint _tmp4_ = 0; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + glong width = 0L; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gint _tmp7_ = 0; + const gchar* _tmp8_ = NULL; + glong _tmp9_ = 0L; + gboolean _tmp10_ = FALSE; + glong height = 0L; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint _tmp12_ = 0; + const gchar* _tmp13_ = NULL; + glong _tmp14_ = 0L; + gboolean _tmp15_ = FALSE; + glong _tmp16_ = 0L; + glong _tmp17_ = 0L; + Dimensions _tmp18_ = {0}; + Dimensions* _tmp19_ = NULL; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp2_) { +#line 5654 "PhotoMetadata.c" + gint _tmp3_ = 0; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = ctr; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ctr = _tmp3_ + 1; +#line 5660 "PhotoMetadata.c" + } +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = FALSE; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = ctr; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = photo_metadata_WIDTH_TAGS; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5__length1 = photo_metadata_WIDTH_TAGS_length1; +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!(_tmp4_ < _tmp5__length1)) { +#line 755 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 5674 "PhotoMetadata.c" + } +#line 759 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = photo_metadata_WIDTH_TAGS; +#line 759 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6__length1 = photo_metadata_WIDTH_TAGS_length1; +#line 759 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = ctr; +#line 759 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = _tmp6_[_tmp7_]; +#line 759 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = photo_metadata_get_long (self, _tmp8_, &_tmp9_); +#line 759 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + width = _tmp9_; +#line 759 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp10_) { +#line 760 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + continue; +#line 5692 "PhotoMetadata.c" + } +#line 763 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = photo_metadata_HEIGHT_TAGS; +#line 763 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11__length1 = photo_metadata_HEIGHT_TAGS_length1; +#line 763 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = ctr; +#line 763 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = _tmp11_[_tmp12_]; +#line 763 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = photo_metadata_get_long (self, _tmp13_, &_tmp14_); +#line 763 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + height = _tmp14_; +#line 763 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp15_) { +#line 764 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + continue; +#line 5710 "PhotoMetadata.c" + } +#line 766 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = width; +#line 766 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = height; +#line 766 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + dimensions_init (&_tmp18_, (gint) _tmp16_, (gint) _tmp17_); +#line 766 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = _dimensions_dup0 (&_tmp18_); +#line 766 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp19_; +#line 766 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5724 "PhotoMetadata.c" + } + } + } +#line 769 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 769 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 5732 "PhotoMetadata.c" +} + + +void photo_metadata_set_pixel_dimensions (PhotoMetadata* self, Dimensions* dim, PhotoMetadataSetOption option) { + Dimensions* _tmp0_ = NULL; +#line 772 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 773 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = dim; +#line 773 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp0_ != NULL) { +#line 5744 "PhotoMetadata.c" + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + Dimensions* _tmp2_ = NULL; + gint _tmp3_ = 0; + PhotoMetadataSetOption _tmp4_ = 0; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + Dimensions* _tmp6_ = NULL; + gint _tmp7_ = 0; + PhotoMetadataSetOption _tmp8_ = 0; +#line 774 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_WIDTH_TAGS; +#line 774 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1__length1 = photo_metadata_WIDTH_TAGS_length1; +#line 774 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = dim; +#line 774 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = (*_tmp2_).width; +#line 774 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = option; +#line 774 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_long (self, _tmp1_, _tmp1__length1, (glong) _tmp3_, _tmp4_); +#line 775 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = photo_metadata_HEIGHT_TAGS; +#line 775 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5__length1 = photo_metadata_HEIGHT_TAGS_length1; +#line 775 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = dim; +#line 775 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = (*_tmp6_).height; +#line 775 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = option; +#line 775 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_long (self, _tmp5_, _tmp5__length1, (glong) _tmp7_, _tmp8_); +#line 5779 "PhotoMetadata.c" + } else { + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 777 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = photo_metadata_WIDTH_TAGS; +#line 777 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9__length1 = photo_metadata_WIDTH_TAGS_length1; +#line 777 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tags (self, _tmp9_, _tmp9__length1); +#line 778 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = photo_metadata_HEIGHT_TAGS; +#line 778 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10__length1 = photo_metadata_HEIGHT_TAGS_length1; +#line 778 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tags (self, _tmp10_, _tmp10__length1); +#line 5797 "PhotoMetadata.c" + } +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 5821 "PhotoMetadata.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 5841 "PhotoMetadata.c" +} + + +static gchar* photo_metadata_real_get_title (MediaMetadata* base) { + PhotoMetadata * self; + gchar* result = NULL; + GeeList* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeList* titles = NULL; + GeeList* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GeeList* _tmp8_ = NULL; + gchar* title = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + const gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; + gchar* _tmp28_ = NULL; +#line 811 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_METADATA, PhotoMetadata); +#line 819 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_has_tag (self, PHOTO_METADATA_IPHOTO_TITLE_TAG); +#line 819 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp1_) { +#line 5870 "PhotoMetadata.c" + GeeList* _tmp2_ = NULL; +#line 820 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = photo_metadata_get_string_multiple (self, PHOTO_METADATA_IPHOTO_TITLE_TAG); +#line 820 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_tmp0_); +#line 820 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = _tmp2_; +#line 5878 "PhotoMetadata.c" + } else { + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GeeList* _tmp4_ = NULL; +#line 821 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = photo_metadata_STANDARD_TITLE_TAGS; +#line 821 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3__length1 = photo_metadata_STANDARD_TITLE_TAGS_length1; +#line 821 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_get_first_string_multiple (self, _tmp3_, _tmp3__length1); +#line 821 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_tmp0_); +#line 821 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = _tmp4_; +#line 5893 "PhotoMetadata.c" + } +#line 819 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _g_object_ref0 (_tmp0_); +#line 819 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + titles = _tmp5_; +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = titles; +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp8_ != NULL) { +#line 5903 "PhotoMetadata.c" + GeeList* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = titles; +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = _tmp10_; +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = _tmp11_ > 0; +#line 5915 "PhotoMetadata.c" + } else { +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = FALSE; +#line 5919 "PhotoMetadata.c" + } +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp7_) { +#line 5923 "PhotoMetadata.c" + GeeList* _tmp12_ = NULL; + gpointer _tmp13_ = NULL; +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = titles; +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = gee_list_get (_tmp12_, 0); +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp6_); +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = (gchar*) _tmp13_; +#line 5934 "PhotoMetadata.c" + } else { +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp6_); +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = NULL; +#line 5940 "PhotoMetadata.c" + } +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = g_strdup (_tmp6_); +#line 826 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + title = _tmp14_; +#line 829 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = title; +#line 829 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp15_ != NULL) { +#line 5950 "PhotoMetadata.c" + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 830 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = title; +#line 830 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = string_strip (_tmp16_); +#line 830 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (title); +#line 830 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + title = _tmp17_; +#line 5961 "PhotoMetadata.c" + } +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = title; +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = is_string_empty (_tmp21_); +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp22_) { +#line 5969 "PhotoMetadata.c" + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = title; +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = string_contains (_tmp23_, "\n"); +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = !_tmp24_; +#line 5978 "PhotoMetadata.c" + } else { +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = FALSE; +#line 5982 "PhotoMetadata.c" + } +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp20_) { +#line 5986 "PhotoMetadata.c" + const gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = title; +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = string_contains (_tmp25_, "\r"); +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = !_tmp26_; +#line 5995 "PhotoMetadata.c" + } else { +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = FALSE; +#line 5999 "PhotoMetadata.c" + } +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp19_) { +#line 6003 "PhotoMetadata.c" + const gchar* _tmp27_ = NULL; +#line 834 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp27_ = title; +#line 834 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = _tmp27_; +#line 6009 "PhotoMetadata.c" + } else { +#line 834 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = NULL; +#line 6013 "PhotoMetadata.c" + } +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_ = g_strdup (_tmp18_); +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp28_; +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (title); +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp6_); +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (titles); +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_tmp0_); +#line 833 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 6029 "PhotoMetadata.c" +} + + +void photo_metadata_set_title (PhotoMetadata* self, const gchar* title, PhotoMetadataSetOption option) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 837 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 838 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = title; +#line 838 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 838 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp1_) { +#line 6044 "PhotoMetadata.c" + gboolean _tmp2_ = FALSE; +#line 839 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = photo_metadata_has_tag (self, PHOTO_METADATA_IPHOTO_TITLE_TAG); +#line 839 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp2_) { +#line 6050 "PhotoMetadata.c" + const gchar* _tmp3_ = NULL; +#line 840 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = title; +#line 840 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, PHOTO_METADATA_IPHOTO_TITLE_TAG, _tmp3_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 6056 "PhotoMetadata.c" + } else { + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + PhotoMetadataSetOption _tmp6_ = 0; +#line 842 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_STANDARD_TITLE_TAGS; +#line 842 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4__length1 = photo_metadata_STANDARD_TITLE_TAGS_length1; +#line 842 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = title; +#line 842 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = option; +#line 842 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_string (self, _tmp4_, _tmp4__length1, _tmp5_, _tmp6_); +#line 6072 "PhotoMetadata.c" + } + } else { + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; +#line 844 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = photo_metadata_STANDARD_TITLE_TAGS; +#line 844 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7__length1 = photo_metadata_STANDARD_TITLE_TAGS_length1; +#line 844 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tags (self, _tmp7_, _tmp7__length1); +#line 6083 "PhotoMetadata.c" + } +} + + +static gchar* photo_metadata_real_get_comment (MediaMetadata* base) { + PhotoMetadata * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 848 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PHOTO_METADATA, PhotoMetadata); +#line 849 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_string_interpreted (self, "Exif.Photo.UserComment", PREPARE_INPUT_TEXT_OPTIONS_DEFAULT & (~PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF)); +#line 849 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 849 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 6100 "PhotoMetadata.c" +} + + +void photo_metadata_set_comment (PhotoMetadata* self, const gchar* comment) { + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 852 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 853 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = comment; +#line 853 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 853 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp1_) { +#line 6115 "PhotoMetadata.c" + const gchar* _tmp2_ = NULL; +#line 854 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = comment; +#line 854 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, "Exif.Photo.UserComment", _tmp2_, PREPARE_INPUT_TEXT_OPTIONS_DEFAULT & (~PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF)); +#line 6121 "PhotoMetadata.c" + } else { +#line 856 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tag (self, "Exif.Photo.UserComment"); +#line 6125 "PhotoMetadata.c" + } +} + + +GeeSet* photo_metadata_get_keywords (PhotoMetadata* self, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify) { + GeeSet* result = NULL; + GeeSet* keywords = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + GeeSet* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + GeeSet* _tmp24_ = NULL; + GeeSet* _tmp29_ = NULL; +#line 872 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 873 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + keywords = NULL; +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_KEYWORD_TAGS; +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_KEYWORD_TAGS_length1; +#line 6147 "PhotoMetadata.c" + { + gchar** tag_collection = NULL; + gint tag_collection_length1 = 0; + gint _tag_collection_size_ = 0; + gint tag_it = 0; +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection = _tmp0_; +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag_collection_length1 = _tmp0__length1; +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (tag_it = 0; tag_it < _tmp0__length1; tag_it = tag_it + 1) { +#line 6159 "PhotoMetadata.c" + gchar* _tmp1_ = NULL; + gchar* tag = NULL; +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (tag_collection[tag_it]); +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + tag = _tmp1_; +#line 6166 "PhotoMetadata.c" + { + GeeCollection* values = NULL; + const gchar* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GeeCollection* _tmp5_ = NULL; +#line 875 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = tag; +#line 875 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = photo_metadata_get_string_multiple (self, _tmp2_); +#line 875 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 876 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = values; +#line 876 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp5_ != NULL) { +#line 6183 "PhotoMetadata.c" + GeeCollection* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 876 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = values; +#line 876 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = gee_collection_get_size (_tmp6_); +#line 876 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = _tmp7_; +#line 876 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = _tmp8_ > 0; +#line 6195 "PhotoMetadata.c" + } else { +#line 876 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = FALSE; +#line 6199 "PhotoMetadata.c" + } +#line 876 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_) { +#line 6203 "PhotoMetadata.c" + GeeSet* _tmp9_ = NULL; +#line 877 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = keywords; +#line 877 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp9_ == NULL) { +#line 6209 "PhotoMetadata.c" + GCompareDataFunc _tmp10_ = NULL; + void* _tmp10__target = NULL; + GDestroyNotify _tmp10__target_destroy_notify = NULL; + GeeSet* _tmp11_ = NULL; +#line 878 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = compare_func; +#line 878 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10__target = compare_func_target; +#line 878 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10__target_destroy_notify = compare_func_target_destroy_notify; +#line 878 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 878 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = photo_metadata_create_string_set (self, _tmp10_, _tmp10__target, _tmp10__target_destroy_notify); +#line 878 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (keywords); +#line 878 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + keywords = _tmp11_; +#line 6228 "PhotoMetadata.c" + } + { + GeeIterator* _current_value_it = NULL; + GeeCollection* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = values; +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _current_value_it = _tmp13_; +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 6242 "PhotoMetadata.c" + GeeIterator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gchar* current_value = NULL; + GeeIterator* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + GeeSet* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = _current_value_it; +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = gee_iterator_next (_tmp14_); +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp15_) { +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 6260 "PhotoMetadata.c" + } +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = _current_value_it; +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = gee_iterator_get (_tmp16_); +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_value = (gchar*) _tmp17_; +#line 881 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = keywords; +#line 881 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = current_value; +#line 881 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = hierarchical_tag_utilities_make_flat_tag_safe (_tmp19_); +#line 881 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = _tmp20_; +#line 881 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection), _tmp21_); +#line 881 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp21_); +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (current_value); +#line 6282 "PhotoMetadata.c" + } +#line 880 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_current_value_it); +#line 6286 "PhotoMetadata.c" + } + } +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (values); +#line 874 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (tag); +#line 6293 "PhotoMetadata.c" + } + } + } +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = keywords; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp24_ != NULL) { +#line 6301 "PhotoMetadata.c" + GeeSet* _tmp25_ = NULL; + gint _tmp26_ = 0; + gint _tmp27_ = 0; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = keywords; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp27_ = _tmp26_; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = _tmp27_ > 0; +#line 6313 "PhotoMetadata.c" + } else { +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = FALSE; +#line 6317 "PhotoMetadata.c" + } +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp23_) { +#line 6321 "PhotoMetadata.c" + GeeSet* _tmp28_ = NULL; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_ = keywords; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = _tmp28_; +#line 6327 "PhotoMetadata.c" + } else { +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = NULL; +#line 6331 "PhotoMetadata.c" + } +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29_ = _g_object_ref0 (_tmp22_); +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp29_; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (keywords); +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func = NULL; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target = NULL; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + compare_func_target_destroy_notify = NULL; +#line 885 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 6349 "PhotoMetadata.c" +} + + +static gpointer _hierarchical_keyword_field_ref0 (gpointer self) { +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self ? hierarchical_keyword_field_ref (self) : NULL; +#line 6356 "PhotoMetadata.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 6369 "PhotoMetadata.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 6400 "PhotoMetadata.c" + goto __catch25_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 6409 "PhotoMetadata.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 6425 "PhotoMetadata.c" + goto __catch25_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 6436 "PhotoMetadata.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 6450 "PhotoMetadata.c" + } + goto __finally25; + __catch25_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 6464 "PhotoMetadata.c" + } + __finally25: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 6475 "PhotoMetadata.c" + } +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 6499 "PhotoMetadata.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 6507 "PhotoMetadata.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 6519 "PhotoMetadata.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 6543 "PhotoMetadata.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 6549 "PhotoMetadata.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 6553 "PhotoMetadata.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 6557 "PhotoMetadata.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 6569 "PhotoMetadata.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 6579 "PhotoMetadata.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 6585 "PhotoMetadata.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 6599 "PhotoMetadata.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 6609 "PhotoMetadata.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 6615 "PhotoMetadata.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 6624 "PhotoMetadata.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 6644 "PhotoMetadata.c" +} + + +static void photo_metadata_internal_set_hierarchical_keywords (PhotoMetadata* self, HierarchicalTagIndex* index) { + HierarchicalKeywordField** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + HierarchicalTagIndex* _tmp4_ = NULL; + HierarchicalKeywordField** _tmp5_ = NULL; + gint _tmp5__length1 = 0; +#line 888 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 888 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail ((index == NULL) || IS_HIERARCHICAL_TAG_INDEX (index)); +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_HIERARCHICAL_KEYWORD_TAGS; +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_HIERARCHICAL_KEYWORD_TAGS_length1; +#line 6662 "PhotoMetadata.c" + { + HierarchicalKeywordField** current_field_collection = NULL; + gint current_field_collection_length1 = 0; + gint _current_field_collection_size_ = 0; + gint current_field_it = 0; +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_field_collection = _tmp0_; +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_field_collection_length1 = _tmp0__length1; +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (current_field_it = 0; current_field_it < _tmp0__length1; current_field_it = current_field_it + 1) { +#line 6674 "PhotoMetadata.c" + HierarchicalKeywordField* _tmp1_ = NULL; + HierarchicalKeywordField* current_field = NULL; +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _hierarchical_keyword_field_ref0 (current_field_collection[current_field_it]); +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_field = _tmp1_; +#line 6681 "PhotoMetadata.c" + { + HierarchicalKeywordField* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 890 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = current_field; +#line 890 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_->field_name; +#line 890 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tag (self, _tmp3_); +#line 889 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _hierarchical_keyword_field_unref0 (current_field); +#line 6693 "PhotoMetadata.c" + } + } + } +#line 892 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = index; +#line 892 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ == NULL) { +#line 893 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return; +#line 6703 "PhotoMetadata.c" + } +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = photo_metadata_HIERARCHICAL_KEYWORD_TAGS; +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5__length1 = photo_metadata_HIERARCHICAL_KEYWORD_TAGS_length1; +#line 6709 "PhotoMetadata.c" + { + HierarchicalKeywordField** current_field_collection = NULL; + gint current_field_collection_length1 = 0; + gint _current_field_collection_size_ = 0; + gint current_field_it = 0; +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_field_collection = _tmp5_; +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_field_collection_length1 = _tmp5__length1; +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (current_field_it = 0; current_field_it < _tmp5__length1; current_field_it = current_field_it + 1) { +#line 6721 "PhotoMetadata.c" + HierarchicalKeywordField* _tmp6_ = NULL; + HierarchicalKeywordField* current_field = NULL; +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = _hierarchical_keyword_field_ref0 (current_field_collection[current_field_it]); +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_field = _tmp6_; +#line 6728 "PhotoMetadata.c" + { + HierarchicalKeywordField* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + GeeSet* writeable_set = NULL; + GeeTreeSet* _tmp9_ = NULL; + HierarchicalKeywordField* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + GeeSet* _tmp31_ = NULL; +#line 896 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = current_field; +#line 896 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = _tmp7_->is_writeable; +#line 896 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp8_) { +#line 897 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _hierarchical_keyword_field_unref0 (current_field); +#line 897 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + continue; +#line 6747 "PhotoMetadata.c" + } +#line 899 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 899 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + writeable_set = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_SET, GeeSet); +#line 6753 "PhotoMetadata.c" + { + GeeIterator* _current_path_it = NULL; + HierarchicalTagIndex* _tmp10_ = NULL; + GeeCollection* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = index; +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = hierarchical_tag_index_get_all_paths (_tmp10_); +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = _tmp11_; +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = _tmp13_; +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_tmp12_); +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _current_path_it = _tmp14_; +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 6777 "PhotoMetadata.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gchar* current_path = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + gchar* writeable_path = NULL; + const gchar* _tmp19_ = NULL; + HierarchicalKeywordField* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + HierarchicalKeywordField* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + GeeSet* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = _current_path_it; +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp16_) { +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 6800 "PhotoMetadata.c" + } +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = _current_path_it; +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_path = (gchar*) _tmp18_; +#line 902 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = current_path; +#line 902 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = current_field; +#line 902 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = _tmp20_->path_separator; +#line 902 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = string_replace (_tmp19_, TAG_PATH_SEPARATOR_STRING, _tmp21_); +#line 902 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + writeable_path = _tmp22_; +#line 904 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = current_field; +#line 904 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = _tmp23_->wants_leading_separator; +#line 904 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp24_) { +#line 6824 "PhotoMetadata.c" + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 905 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = writeable_path; +#line 905 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = string_substring (_tmp25_, (glong) 1, (glong) -1); +#line 905 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (writeable_path); +#line 905 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + writeable_path = _tmp26_; +#line 6835 "PhotoMetadata.c" + } +#line 907 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp27_ = writeable_set; +#line 907 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_ = writeable_path; +#line 907 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection), _tmp28_); +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (writeable_path); +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (current_path); +#line 6847 "PhotoMetadata.c" + } +#line 901 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_current_path_it); +#line 6851 "PhotoMetadata.c" + } +#line 910 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29_ = current_field; +#line 910 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp30_ = _tmp29_->field_name; +#line 910 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp31_ = writeable_set; +#line 910 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string_multiple (self, _tmp30_, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (writeable_set); +#line 895 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _hierarchical_keyword_field_unref0 (current_field); +#line 6865 "PhotoMetadata.c" + } + } + } +} + + +void photo_metadata_set_keywords (PhotoMetadata* self, GeeCollection* keywords, PhotoMetadataSetOption option) { + HierarchicalTagIndex* htag_index = NULL; + HierarchicalTagIndex* _tmp0_ = NULL; + GeeSet* flat_keywords = NULL; + GeeTreeSet* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp28_ = NULL; +#line 914 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 914 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail ((keywords == NULL) || GEE_IS_COLLECTION (keywords)); +#line 915 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = hierarchical_tag_index_new (); +#line 915 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + htag_index = _tmp0_; +#line 916 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 916 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + flat_keywords = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_SET, GeeSet); +#line 918 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = keywords; +#line 918 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp2_ != NULL) { +#line 6895 "PhotoMetadata.c" + GeeSet* _tmp24_ = NULL; + HierarchicalTagIndex* _tmp25_ = NULL; + GeeCollection* _tmp26_ = NULL; + GeeCollection* _tmp27_ = NULL; + { + GeeIterator* _keyword_it = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = keywords; +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _keyword_it = _tmp4_; +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 6912 "PhotoMetadata.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gchar* keyword = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _keyword_it; +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp6_) { +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 6928 "PhotoMetadata.c" + } +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = _keyword_it; +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + keyword = (gchar*) _tmp8_; +#line 920 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = keyword; +#line 920 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = g_str_has_prefix (_tmp9_, TAG_PATH_SEPARATOR_STRING); +#line 920 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp10_) { +#line 6942 "PhotoMetadata.c" + GeeCollection* path_components = NULL; + const gchar* _tmp11_ = NULL; + GeeList* _tmp12_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = keyword; +#line 921 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = hierarchical_tag_utilities_enumerate_path_components (_tmp11_); +#line 921 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + path_components = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection); +#line 6952 "PhotoMetadata.c" + { + GeeIterator* _component_it = NULL; + GeeCollection* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = path_components; +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _component_it = _tmp14_; +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 6965 "PhotoMetadata.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gchar* component = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + HierarchicalTagIndex* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = _component_it; +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp16_) { +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 6982 "PhotoMetadata.c" + } +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = _component_it; +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + component = (gchar*) _tmp18_; +#line 924 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = htag_index; +#line 924 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = component; +#line 924 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = keyword; +#line 924 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + hierarchical_tag_index_add_path (_tmp19_, _tmp20_, _tmp21_); +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (component); +#line 7000 "PhotoMetadata.c" + } +#line 923 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_component_it); +#line 7004 "PhotoMetadata.c" + } +#line 920 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (path_components); +#line 7008 "PhotoMetadata.c" + } else { + GeeSet* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; +#line 926 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = flat_keywords; +#line 926 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = keyword; +#line 926 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_); +#line 7018 "PhotoMetadata.c" + } +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (keyword); +#line 7022 "PhotoMetadata.c" + } +#line 919 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_keyword_it); +#line 7026 "PhotoMetadata.c" + } +#line 930 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = flat_keywords; +#line 930 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = htag_index; +#line 930 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = hierarchical_tag_index_get_all_tags (_tmp25_); +#line 930 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp27_ = _tmp26_; +#line 930 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp27_); +#line 930 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_tmp27_); +#line 7040 "PhotoMetadata.c" + } +#line 933 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_ = keywords; +#line 933 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp28_ != NULL) { +#line 7046 "PhotoMetadata.c" + gchar** _tmp29_ = NULL; + gint _tmp29__length1 = 0; + GeeSet* _tmp30_ = NULL; + PhotoMetadataSetOption _tmp31_ = 0; + HierarchicalTagIndex* _tmp32_ = NULL; +#line 934 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29_ = photo_metadata_KEYWORD_TAGS; +#line 934 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29__length1 = photo_metadata_KEYWORD_TAGS_length1; +#line 934 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp30_ = flat_keywords; +#line 934 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp31_ = option; +#line 934 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_all_string_multiple (self, _tmp29_, _tmp29__length1, G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection), _tmp31_); +#line 935 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp32_ = htag_index; +#line 935 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_internal_set_hierarchical_keywords (self, _tmp32_); +#line 7066 "PhotoMetadata.c" + } else { + gchar** _tmp33_ = NULL; + gint _tmp33__length1 = 0; +#line 937 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp33_ = photo_metadata_KEYWORD_TAGS; +#line 937 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp33__length1 = photo_metadata_KEYWORD_TAGS_length1; +#line 937 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tags (self, _tmp33_, _tmp33__length1); +#line 938 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_internal_set_hierarchical_keywords (self, NULL); +#line 7078 "PhotoMetadata.c" + } +#line 914 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (flat_keywords); +#line 914 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _hierarchical_tag_index_unref0 (htag_index); +#line 7084 "PhotoMetadata.c" +} + + +gboolean photo_metadata_has_hierarchical_keywords (PhotoMetadata* self) { + gboolean result = FALSE; + HierarchicalKeywordField** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 942 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_HIERARCHICAL_KEYWORD_TAGS; +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_HIERARCHICAL_KEYWORD_TAGS_length1; +#line 7098 "PhotoMetadata.c" + { + HierarchicalKeywordField** field_collection = NULL; + gint field_collection_length1 = 0; + gint _field_collection_size_ = 0; + gint field_it = 0; +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + field_collection = _tmp0_; +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + field_collection_length1 = _tmp0__length1; +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (field_it = 0; field_it < _tmp0__length1; field_it = field_it + 1) { +#line 7110 "PhotoMetadata.c" + HierarchicalKeywordField* _tmp1_ = NULL; + HierarchicalKeywordField* field = NULL; +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _hierarchical_keyword_field_ref0 (field_collection[field_it]); +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + field = _tmp1_; +#line 7117 "PhotoMetadata.c" + { + GeeCollection* values = NULL; + HierarchicalKeywordField* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeCollection* _tmp6_ = NULL; +#line 944 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = field; +#line 944 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_->field_name; +#line 944 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_get_string_multiple (self, _tmp3_); +#line 944 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection); +#line 946 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = values; +#line 946 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp6_ != NULL) { +#line 7137 "PhotoMetadata.c" + GeeCollection* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 946 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = values; +#line 946 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = gee_collection_get_size (_tmp7_); +#line 946 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = _tmp8_; +#line 946 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp9_ > 0; +#line 7149 "PhotoMetadata.c" + } else { +#line 946 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = FALSE; +#line 7153 "PhotoMetadata.c" + } +#line 946 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp5_) { +#line 947 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = TRUE; +#line 947 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (values); +#line 947 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _hierarchical_keyword_field_unref0 (field); +#line 947 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7165 "PhotoMetadata.c" + } +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (values); +#line 943 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _hierarchical_keyword_field_unref0 (field); +#line 7171 "PhotoMetadata.c" + } + } + } +#line 950 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 950 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7179 "PhotoMetadata.c" +} + + +GeeSet* photo_metadata_get_hierarchical_keywords (PhotoMetadata* self) { + GeeSet* result = NULL; + gboolean _tmp0_ = FALSE; + GeeSet* h_keywords = NULL; + GeeSet* _tmp1_ = NULL; + HierarchicalKeywordField** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 953 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 954 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_has_hierarchical_keywords (self); +#line 954 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_assert (_tmp0_, "has_hierarchical_keywords()"); +#line 956 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_create_string_set (self, NULL, NULL, NULL); +#line 956 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + h_keywords = _tmp1_; +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = photo_metadata_HIERARCHICAL_KEYWORD_TAGS; +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2__length1 = photo_metadata_HIERARCHICAL_KEYWORD_TAGS_length1; +#line 7204 "PhotoMetadata.c" + { + HierarchicalKeywordField** field_collection = NULL; + gint field_collection_length1 = 0; + gint _field_collection_size_ = 0; + gint field_it = 0; +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + field_collection = _tmp2_; +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + field_collection_length1 = _tmp2__length1; +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + for (field_it = 0; field_it < _tmp2__length1; field_it = field_it + 1) { +#line 7216 "PhotoMetadata.c" + HierarchicalKeywordField* _tmp3_ = NULL; + HierarchicalKeywordField* field = NULL; +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _hierarchical_keyword_field_ref0 (field_collection[field_it]); +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + field = _tmp3_; +#line 7223 "PhotoMetadata.c" + { + GeeCollection* values = NULL; + HierarchicalKeywordField* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GeeCollection* _tmp8_ = NULL; +#line 959 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = field; +#line 959 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp4_->field_name; +#line 959 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = photo_metadata_get_string_multiple (self, _tmp5_); +#line 959 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + values = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection); +#line 961 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = values; +#line 961 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp8_ == NULL) { +#line 961 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = TRUE; +#line 7245 "PhotoMetadata.c" + } else { + GeeCollection* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 961 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = values; +#line 961 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = gee_collection_get_size (_tmp9_); +#line 961 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = _tmp10_; +#line 961 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = _tmp11_ < 1; +#line 7258 "PhotoMetadata.c" + } +#line 961 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp7_) { +#line 962 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (values); +#line 962 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _hierarchical_keyword_field_unref0 (field); +#line 962 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + continue; +#line 7268 "PhotoMetadata.c" + } + { + GeeIterator* _current_value_it = NULL; + GeeCollection* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = values; +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _current_value_it = _tmp13_; +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 7282 "PhotoMetadata.c" + GeeIterator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gchar* current_value = NULL; + GeeIterator* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + gchar* canonicalized = NULL; + const gchar* _tmp18_ = NULL; + HierarchicalKeywordField* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = _current_value_it; +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = gee_iterator_next (_tmp14_); +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp15_) { +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 7302 "PhotoMetadata.c" + } +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = _current_value_it; +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = gee_iterator_get (_tmp16_); +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + current_value = (gchar*) _tmp17_; +#line 965 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = current_value; +#line 965 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = field; +#line 965 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = _tmp19_->path_separator; +#line 965 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = hierarchical_tag_utilities_canonicalize (_tmp18_, _tmp20_); +#line 965 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + canonicalized = _tmp21_; +#line 968 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = canonicalized; +#line 968 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp22_ != NULL) { +#line 7324 "PhotoMetadata.c" + GeeSet* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; +#line 969 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = h_keywords; +#line 969 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = canonicalized; +#line 969 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection), _tmp24_); +#line 7333 "PhotoMetadata.c" + } +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (canonicalized); +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (current_value); +#line 7339 "PhotoMetadata.c" + } +#line 964 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (_current_value_it); +#line 7343 "PhotoMetadata.c" + } +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_object_unref0 (values); +#line 958 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _hierarchical_keyword_field_unref0 (field); +#line 7349 "PhotoMetadata.c" + } + } + } +#line 973 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = h_keywords; +#line 973 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7357 "PhotoMetadata.c" +} + + +gboolean photo_metadata_has_orientation (PhotoMetadata* self) { + gboolean result = FALSE; + GExiv2Metadata* _tmp0_ = NULL; + GExiv2Orientation _tmp1_ = 0; +#line 976 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 977 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 977 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = gexiv2_metadata_get_orientation (_tmp0_); +#line 977 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_ == GEXIV2_ORIENTATION_UNSPECIFIED; +#line 977 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7375 "PhotoMetadata.c" +} + + +Orientation photo_metadata_get_orientation (PhotoMetadata* self) { + Orientation result = 0; + GExiv2Orientation orientation = 0; + GExiv2Metadata* _tmp0_ = NULL; + GExiv2Orientation _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + GExiv2Orientation _tmp4_ = 0; +#line 981 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), 0); +#line 984 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 984 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = gexiv2_metadata_get_orientation (_tmp0_); +#line 984 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + orientation = _tmp1_; +#line 985 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = orientation; +#line 985 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ == GEXIV2_ORIENTATION_UNSPECIFIED) { +#line 985 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = TRUE; +#line 7401 "PhotoMetadata.c" + } else { + GExiv2Orientation _tmp5_ = 0; +#line 985 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = orientation; +#line 985 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp5_ < ORIENTATION_MIN; +#line 7408 "PhotoMetadata.c" + } +#line 985 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp3_) { +#line 985 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = TRUE; +#line 7414 "PhotoMetadata.c" + } else { + GExiv2Orientation _tmp6_ = 0; +#line 986 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = orientation; +#line 986 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = _tmp6_ > ORIENTATION_MAX; +#line 7421 "PhotoMetadata.c" + } +#line 985 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp2_) { +#line 987 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = ORIENTATION_TOP_LEFT; +#line 987 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7429 "PhotoMetadata.c" + } else { + GExiv2Orientation _tmp7_ = 0; +#line 989 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = orientation; +#line 989 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = (Orientation) _tmp7_; +#line 989 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7438 "PhotoMetadata.c" + } +} + + +void photo_metadata_set_orientation (PhotoMetadata* self, Orientation orientation) { + GExiv2Metadata* _tmp0_ = NULL; + Orientation _tmp1_ = 0; +#line 992 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 994 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 994 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = orientation; +#line 994 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + gexiv2_metadata_set_orientation (_tmp0_, (GExiv2Orientation) _tmp1_); +#line 7454 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_gps (PhotoMetadata* self, gdouble* longitude, gchar** long_ref, gdouble* latitude, gchar** lat_ref, gdouble* altitude) { + gdouble _vala_longitude = 0.0; + gchar* _vala_long_ref = NULL; + gdouble _vala_latitude = 0.0; + gchar* _vala_lat_ref = NULL; + gdouble _vala_altitude = 0.0; + gboolean result = FALSE; + GExiv2Metadata* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gboolean _tmp4_ = FALSE; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 997 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 999 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->priv->exiv2; +#line 999 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_metadata_get_gps_info (_tmp0_, &_tmp1_, &_tmp2_, &_tmp3_); +#line 999 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_longitude = _tmp1_; +#line 999 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_latitude = _tmp2_; +#line 999 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_altitude = _tmp3_; +#line 999 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp4_) { +#line 1000 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_vala_long_ref); +#line 1000 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_long_ref = NULL; +#line 1001 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_vala_lat_ref); +#line 1001 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_lat_ref = NULL; +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (longitude) { +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *longitude = _vala_longitude; +#line 7500 "PhotoMetadata.c" + } +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (long_ref) { +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *long_ref = _vala_long_ref; +#line 7506 "PhotoMetadata.c" + } else { +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_vala_long_ref); +#line 7510 "PhotoMetadata.c" + } +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (latitude) { +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *latitude = _vala_latitude; +#line 7516 "PhotoMetadata.c" + } +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (lat_ref) { +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *lat_ref = _vala_lat_ref; +#line 7522 "PhotoMetadata.c" + } else { +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_vala_lat_ref); +#line 7526 "PhotoMetadata.c" + } +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (altitude) { +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *altitude = _vala_altitude; +#line 7532 "PhotoMetadata.c" + } +#line 1003 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7536 "PhotoMetadata.c" + } +#line 1006 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = photo_metadata_get_string (self, "Exif.GPSInfo.GPSLongitudeRef", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1006 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_vala_long_ref); +#line 1006 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_long_ref = _tmp5_; +#line 1007 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = photo_metadata_get_string (self, "Exif.GPSInfo.GPSLatitudeRef", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1007 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_vala_lat_ref); +#line 1007 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_lat_ref = _tmp6_; +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = TRUE; +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (longitude) { +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *longitude = _vala_longitude; +#line 7556 "PhotoMetadata.c" + } +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (long_ref) { +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *long_ref = _vala_long_ref; +#line 7562 "PhotoMetadata.c" + } else { +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_vala_long_ref); +#line 7566 "PhotoMetadata.c" + } +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (latitude) { +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *latitude = _vala_latitude; +#line 7572 "PhotoMetadata.c" + } +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (lat_ref) { +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *lat_ref = _vala_lat_ref; +#line 7578 "PhotoMetadata.c" + } else { +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_vala_lat_ref); +#line 7582 "PhotoMetadata.c" + } +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (altitude) { +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *altitude = _vala_altitude; +#line 7588 "PhotoMetadata.c" + } +#line 1009 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7592 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_exposure (PhotoMetadata* self, MetadataRational* exposure) { + MetadataRational _vala_exposure = {0}; + gboolean result = FALSE; + MetadataRational _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; +#line 1012 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 1013 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_rational (self, "Exif.Photo.ExposureTime", &_tmp0_); +#line 1013 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_exposure = _tmp0_; +#line 1013 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 1013 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (exposure) { +#line 1013 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *exposure = _vala_exposure; +#line 7613 "PhotoMetadata.c" + } +#line 1013 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7617 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_exposure_string (PhotoMetadata* self) { + gchar* result = NULL; + MetadataRational exposure_time = {0}; + MetadataRational _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gchar* _tmp3_ = NULL; +#line 1016 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1018 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_rational (self, "Exif.Photo.ExposureTime", &_tmp0_); +#line 1018 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + exposure_time = _tmp0_; +#line 1018 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp1_) { +#line 1019 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 1019 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7640 "PhotoMetadata.c" + } +#line 1021 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = metadata_rational_is_valid (&exposure_time); +#line 1021 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp2_) { +#line 1022 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 1022 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7650 "PhotoMetadata.c" + } +#line 1024 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = photo_metadata_get_string_interpreted (self, "Exif.Photo.ExposureTime", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1024 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp3_; +#line 1024 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7658 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_iso (PhotoMetadata* self, glong* iso) { + glong _vala_iso = 0L; + gboolean result = FALSE; + gboolean fetched_ok = FALSE; + glong _tmp0_ = 0L; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + glong _tmp4_ = 0L; +#line 1027 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 1028 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_long (self, "Exif.Photo.ISOSpeedRatings", &_tmp0_); +#line 1028 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_iso = _tmp0_; +#line 1028 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + fetched_ok = _tmp1_; +#line 1030 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = fetched_ok; +#line 1030 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp2_ == FALSE) { +#line 1031 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 1031 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (iso) { +#line 1031 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *iso = _vala_iso; +#line 7689 "PhotoMetadata.c" + } +#line 1031 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7693 "PhotoMetadata.c" + } +#line 1035 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = _vala_iso; +#line 1035 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_ < ((glong) 6)) { +#line 1035 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = TRUE; +#line 7701 "PhotoMetadata.c" + } else { + glong _tmp5_ = 0L; +#line 1035 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _vala_iso; +#line 1035 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp5_ > ((glong) 409600); +#line 7708 "PhotoMetadata.c" + } +#line 1035 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp3_) { +#line 1036 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = FALSE; +#line 1036 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (iso) { +#line 1036 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *iso = _vala_iso; +#line 7718 "PhotoMetadata.c" + } +#line 1036 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7722 "PhotoMetadata.c" + } +#line 1038 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = TRUE; +#line 1038 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (iso) { +#line 1038 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *iso = _vala_iso; +#line 7730 "PhotoMetadata.c" + } +#line 1038 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7734 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_iso_string (PhotoMetadata* self) { + gchar* result = NULL; + glong iso = 0L; + glong _tmp0_ = 0L; + gboolean _tmp1_ = FALSE; + gchar* _tmp2_ = NULL; +#line 1041 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1043 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_iso (self, &_tmp0_); +#line 1043 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + iso = _tmp0_; +#line 1043 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp1_) { +#line 1044 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 1044 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7756 "PhotoMetadata.c" + } +#line 1046 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = photo_metadata_get_string_interpreted (self, "Exif.Photo.ISOSpeedRatings", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1046 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp2_; +#line 1046 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7764 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_aperture (PhotoMetadata* self, MetadataRational* aperture) { + MetadataRational _vala_aperture = {0}; + gboolean result = FALSE; + MetadataRational _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; +#line 1049 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 1050 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_rational (self, "Exif.Photo.FNumber", &_tmp0_); +#line 1050 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_aperture = _tmp0_; +#line 1050 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 1050 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (aperture) { +#line 1050 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *aperture = _vala_aperture; +#line 7785 "PhotoMetadata.c" + } +#line 1050 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7789 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_aperture_string (PhotoMetadata* self, gboolean pango_formatted) { + gchar* result = NULL; + MetadataRational aperture = {0}; + MetadataRational _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; + gdouble aperture_value = 0.0; + MetadataRational _tmp2_ = {0}; + gint _tmp3_ = 0; + MetadataRational _tmp4_ = {0}; + gint _tmp5_ = 0; + gdouble _tmp6_ = 0.0; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + const gchar* _tmp9_ = NULL; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 1053 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1055 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_aperture (self, &_tmp0_); +#line 1055 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + aperture = _tmp0_; +#line 1055 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp1_) { +#line 1056 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = NULL; +#line 1056 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7825 "PhotoMetadata.c" + } +#line 1058 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = aperture; +#line 1058 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_.numerator; +#line 1058 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = aperture; +#line 1058 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = _tmp4_.denominator; +#line 1058 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + aperture_value = ((gdouble) _tmp3_) / ((gdouble) _tmp5_); +#line 1059 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = aperture_value; +#line 1059 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + aperture_value = ((gint) (_tmp6_ * 10.0)) / 10.0; +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = pango_formatted; +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp8_) { +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = "f/"; +#line 7847 "PhotoMetadata.c" + } else { +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = "f/"; +#line 7851 "PhotoMetadata.c" + } +#line 1062 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = aperture_value; +#line 1062 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (fmod (_tmp10_, 1) == ((gdouble) 0)) { +#line 1062 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = "%.0f"; +#line 7859 "PhotoMetadata.c" + } else { +#line 1062 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = "%.1f"; +#line 7863 "PhotoMetadata.c" + } +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = aperture_value; +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = g_strdup_printf (_tmp9_, _tmp11_); +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = _tmp12_; +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = g_strconcat (_tmp7_, _tmp13_, NULL); +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = _tmp14_; +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp13_); +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp15_; +#line 1061 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7881 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_camera_make (PhotoMetadata* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1065 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1066 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_string_interpreted (self, "Exif.Image.Make", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1066 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 1066 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7896 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_camera_model (PhotoMetadata* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1069 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1070 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_string_interpreted (self, "Exif.Image.Model", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1070 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 1070 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7911 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_flash (PhotoMetadata* self, glong* flash) { + glong _vala_flash = 0L; + gboolean result = FALSE; + glong _tmp0_ = 0L; + gboolean _tmp1_ = FALSE; +#line 1073 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 1075 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_long (self, "Exif.Photo.Flash", &_tmp0_); +#line 1075 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_flash = _tmp0_; +#line 1075 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 1075 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (flash) { +#line 1075 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *flash = _vala_flash; +#line 7932 "PhotoMetadata.c" + } +#line 1075 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7936 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_flash_string (PhotoMetadata* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1078 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1080 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_string_interpreted (self, "Exif.Photo.Flash", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1080 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 1080 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7951 "PhotoMetadata.c" +} + + +gboolean photo_metadata_get_focal_length (PhotoMetadata* self, MetadataRational* focal_length) { + MetadataRational _vala_focal_length = {0}; + gboolean result = FALSE; + MetadataRational _tmp0_ = {0}; + gboolean _tmp1_ = FALSE; +#line 1083 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), FALSE); +#line 1084 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_rational (self, "Exif.Photo.FocalLength", &_tmp0_); +#line 1084 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_focal_length = _tmp0_; +#line 1084 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 1084 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (focal_length) { +#line 1084 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *focal_length = _vala_focal_length; +#line 7972 "PhotoMetadata.c" + } +#line 1084 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7976 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_focal_length_string (PhotoMetadata* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1087 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1088 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_string_interpreted (self, "Exif.Photo.FocalLength", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1088 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 1088 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 7991 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_artist (PhotoMetadata* self) { + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar* _tmp1_ = NULL; +#line 1096 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1097 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_ARTIST_TAGS; +#line 1097 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_ARTIST_TAGS_length1; +#line 1097 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_first_string_interpreted (self, _tmp0_, _tmp0__length1); +#line 1097 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp1_; +#line 1097 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8012 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_copyright (PhotoMetadata* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1100 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1101 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_string_interpreted (self, "Exif.Image.Copyright", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1101 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 1101 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8027 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_software (PhotoMetadata* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1104 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1105 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_string_interpreted (self, "Exif.Image.Software", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1105 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 1105 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8042 "PhotoMetadata.c" +} + + +void photo_metadata_set_software (PhotoMetadata* self, const gchar* software, const gchar* version) { + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 1108 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 1108 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (software != NULL); +#line 1108 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (version != NULL); +#line 1110 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = software; +#line 1110 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = version; +#line 1110 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = g_strdup_printf ("%s %s", _tmp0_, _tmp1_); +#line 1110 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_; +#line 1110 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, "Exif.Image.Software", _tmp3_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1110 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp3_); +#line 1112 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = photo_metadata_has_iptc (self); +#line 1112 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp4_) { +#line 8074 "PhotoMetadata.c" + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 1113 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = software; +#line 1113 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, "Iptc.Application2.Program", _tmp5_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1114 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = version; +#line 1114 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, "Iptc.Application2.ProgramVersion", _tmp6_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 8085 "PhotoMetadata.c" + } +} + + +void photo_metadata_remove_software (PhotoMetadata* self) { +#line 1118 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 1119 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tag (self, "Exif.Image.Software"); +#line 1120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tag (self, "Iptc.Application2.Program"); +#line 1121 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_remove_tag (self, "Iptc.Application2.ProgramVersion"); +#line 8099 "PhotoMetadata.c" +} + + +gchar* photo_metadata_get_exposure_bias (PhotoMetadata* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 1124 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), NULL); +#line 1125 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_get_string_interpreted (self, "Exif.Photo.ExposureBiasValue", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1125 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp0_; +#line 1125 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8114 "PhotoMetadata.c" +} + + +Rating photo_metadata_get_rating (PhotoMetadata* self) { + Rating result = 0; + gchar* rating_string = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gint int_percent_rating = 0; + const gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + Rating _tmp18_ = 0; +#line 1135 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (self), 0); +#line 1136 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = photo_metadata_RATING_TAGS; +#line 1136 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0__length1 = photo_metadata_RATING_TAGS_length1; +#line 1136 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = photo_metadata_get_first_string (self, _tmp0_, _tmp0__length1); +#line 1136 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + rating_string = _tmp1_; +#line 1137 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = rating_string; +#line 1137 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp2_ != NULL) { +#line 8145 "PhotoMetadata.c" + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; + Rating _tmp5_ = 0; +#line 1138 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = rating_string; +#line 1138 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = atoi (_tmp3_); +#line 1138 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = rating_unserialize (_tmp4_); +#line 1138 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp5_; +#line 1138 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (rating_string); +#line 1138 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8161 "PhotoMetadata.c" + } +#line 1140 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = photo_metadata_get_string (self, "Exif.Image.RatingPercent", PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1140 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (rating_string); +#line 1140 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + rating_string = _tmp6_; +#line 1141 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = rating_string; +#line 1141 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp7_ == NULL) { +#line 1142 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = RATING_UNRATED; +#line 1142 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (rating_string); +#line 1142 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8179 "PhotoMetadata.c" + } +#line 1145 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = rating_string; +#line 1145 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = atoi (_tmp8_); +#line 1145 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + int_percent_rating = _tmp9_; +#line 8187 "PhotoMetadata.c" + { + gint i = 0; +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + i = 5; +#line 8192 "PhotoMetadata.c" + { + gboolean _tmp10_ = FALSE; +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = TRUE; +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + while (TRUE) { +#line 8199 "PhotoMetadata.c" + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _tmp15_ = 0; +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!_tmp10_) { +#line 8206 "PhotoMetadata.c" + gint _tmp11_ = 0; +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = i; +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + i = _tmp11_ - 1; +#line 8212 "PhotoMetadata.c" + } +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = FALSE; +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = i; +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (!(_tmp12_ >= 0)) { +#line 1146 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + break; +#line 8222 "PhotoMetadata.c" + } +#line 1147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = int_percent_rating; +#line 1147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = i; +#line 1147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = RESOURCES_rating_thresholds[_tmp14_]; +#line 1147 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp13_ >= _tmp15_) { +#line 8232 "PhotoMetadata.c" + gint _tmp16_ = 0; + Rating _tmp17_ = 0; +#line 1148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = i; +#line 1148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = rating_unserialize (_tmp16_); +#line 1148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp17_; +#line 1148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (rating_string); +#line 1148 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8245 "PhotoMetadata.c" + } + } + } + } +#line 1150 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = rating_unserialize (-1); +#line 1150 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp18_; +#line 1150 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (rating_string); +#line 1150 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8258 "PhotoMetadata.c" +} + + +void photo_metadata_set_rating (PhotoMetadata* self, Rating rating) { + gint int_rating = 0; + Rating _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 1158 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_if_fail (IS_PHOTO_METADATA (self)); +#line 1159 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = rating; +#line 1159 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = rating_serialize (_tmp0_); +#line 1159 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + int_rating = _tmp1_; +#line 1160 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = int_rating; +#line 1160 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = g_strdup_printf ("%i", _tmp2_); +#line 1160 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = _tmp3_; +#line 1160 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, "Xmp.xmp.Rating", _tmp4_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1160 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp4_); +#line 1161 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = int_rating; +#line 1161 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = g_strdup_printf ("%i", _tmp5_); +#line 1161 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = _tmp6_; +#line 1161 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, "Exif.Image.Rating", _tmp7_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1161 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp7_); +#line 1163 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = int_rating; +#line 1163 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (0 <= _tmp8_) { +#line 8305 "PhotoMetadata.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 1164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = int_rating; +#line 1164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = RESOURCES_rating_thresholds[_tmp9_]; +#line 1164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = g_strdup_printf ("%i", _tmp10_); +#line 1164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = _tmp11_; +#line 1164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, "Exif.Image.RatingPercent", _tmp12_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1164 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp12_); +#line 8322 "PhotoMetadata.c" + } else { + gint _tmp13_ = 0; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 1166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = int_rating; +#line 1166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = g_strdup_printf ("%i", _tmp13_); +#line 1166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = _tmp14_; +#line 1166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_set_string (self, "Exif.Image.RatingPercent", _tmp15_, PHOTO_METADATA_PREPARE_STRING_OPTIONS); +#line 1166 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (_tmp15_); +#line 8337 "PhotoMetadata.c" + } +} + + +static gpointer _media_metadata_ref0 (gpointer self) { +#line 123 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self ? media_metadata_ref (self) : NULL; +#line 8345 "PhotoMetadata.c" +} + + +static PhotoMetadataInternalPhotoPreview* photo_metadata_internal_photo_preview_construct (GType object_type, PhotoMetadata* owner, const gchar* name, guint number, GExiv2PreviewProperties* props) { + PhotoMetadataInternalPhotoPreview* self = NULL; + const gchar* _tmp0_ = NULL; + GExiv2PreviewProperties* _tmp1_ = NULL; + guint32 _tmp2_ = 0U; + GExiv2PreviewProperties* _tmp3_ = NULL; + guint32 _tmp4_ = 0U; + Dimensions _tmp5_ = {0}; + GExiv2PreviewProperties* _tmp6_ = NULL; + guint32 _tmp7_ = 0U; + GExiv2PreviewProperties* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GExiv2PreviewProperties* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + PhotoMetadata* _tmp12_ = NULL; + PhotoMetadata* _tmp13_ = NULL; + guint _tmp14_ = 0U; +#line 118 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (IS_PHOTO_METADATA (owner), NULL); +#line 118 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 118 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_return_val_if_fail (props != NULL, NULL); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = name; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = props; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = gexiv2_preview_properties_get_width (_tmp1_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = props; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = gexiv2_preview_properties_get_height (_tmp3_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + dimensions_init (&_tmp5_, (gint) _tmp2_, (gint) _tmp4_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = props; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = gexiv2_preview_properties_get_size (_tmp6_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = props; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = gexiv2_preview_properties_get_mime_type (_tmp8_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = props; +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = gexiv2_preview_properties_get_extension (_tmp10_); +#line 120 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = (PhotoMetadataInternalPhotoPreview*) photo_preview_construct (object_type, _tmp0_, &_tmp5_, _tmp7_, _tmp9_, _tmp11_); +#line 123 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = owner; +#line 123 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = _media_metadata_ref0 (_tmp12_); +#line 123 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _media_metadata_unref0 (self->owner); +#line 123 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->owner = _tmp13_; +#line 124 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = number; +#line 124 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->number = _tmp14_; +#line 118 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return self; +#line 8412 "PhotoMetadata.c" +} + + +static PhotoMetadataInternalPhotoPreview* photo_metadata_internal_photo_preview_new (PhotoMetadata* owner, const gchar* name, guint number, GExiv2PreviewProperties* props) { +#line 118 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return photo_metadata_internal_photo_preview_construct (PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW, owner, name, number, props); +#line 8419 "PhotoMetadata.c" +} + + +static guint8* _vala_array_dup6 (guint8* self, int length) { +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return g_memdup (self, length * sizeof (guint8)); +#line 8426 "PhotoMetadata.c" +} + + +static guint8* photo_metadata_internal_photo_preview_real_flatten (PhotoPreview* base, int* result_length1, GError** error) { + PhotoMetadataInternalPhotoPreview * self; + guint8* result = NULL; + GExiv2PreviewProperties** props = NULL; + PhotoMetadata* _tmp0_ = NULL; + GExiv2Metadata* _tmp1_ = NULL; + GExiv2PreviewProperties** _tmp2_ = NULL; + GExiv2PreviewProperties** _tmp3_ = NULL; + gint props_length1 = 0; + gint _props_size_ = 0; + gboolean _tmp4_ = FALSE; + GExiv2PreviewProperties** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + PhotoMetadata* _tmp8_ = NULL; + GExiv2Metadata* _tmp9_ = NULL; + GExiv2PreviewProperties** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + guint _tmp11_ = 0U; + GExiv2PreviewProperties* _tmp12_ = NULL; + GExiv2PreviewImage* _tmp13_ = NULL; + GExiv2PreviewImage* _tmp14_ = NULL; + gint _tmp15_ = 0; + guint8* _tmp16_ = NULL; + guint8* _tmp17_ = NULL; + gint _tmp17__length1 = 0; + guint8* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + guint8* _tmp19_ = NULL; + gint _tmp19__length1 = 0; +#line 127 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW, PhotoMetadataInternalPhotoPreview); +#line 128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = self->owner; +#line 128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = _tmp0_->priv->exiv2; +#line 128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = _tmp2_ = gexiv2_metadata_get_preview_properties (_tmp1_); +#line 128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + props = _tmp3_; +#line 128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + props_length1 = _vala_array_length (_tmp2_); +#line 128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _props_size_ = props_length1; +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = props; +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5__length1 = props_length1; +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (_tmp5_ != NULL) { +#line 8479 "PhotoMetadata.c" + GExiv2PreviewProperties** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + guint _tmp7_ = 0U; +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = props; +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6__length1 = props_length1; +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = self->number; +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = ((guint) _tmp6__length1) > _tmp7_; +#line 8491 "PhotoMetadata.c" + } else { +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = FALSE; +#line 8495 "PhotoMetadata.c" + } +#line 129 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _vala_assert (_tmp4_, "props != null && props.length > number"); +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = self->owner; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = _tmp8_->priv->exiv2; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = props; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10__length1 = props_length1; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = self->number; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = _tmp10_[_tmp11_]; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = gexiv2_metadata_get_preview_image (_tmp9_, _tmp12_); +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = _tmp13_; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = gexiv2_preview_image_get_data (_tmp14_, &_tmp15_); +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = (_tmp16_ != NULL) ? _vala_array_dup6 (_tmp16_, _tmp15_) : ((gpointer) _tmp16_); +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17__length1 = _tmp15_; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = _tmp17_; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18__length1 = _tmp17__length1; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _gexiv2_preview_image_free0 (_tmp14_); +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = _tmp18_; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19__length1 = _tmp18__length1; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + if (result_length1) { +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + *result_length1 = _tmp19__length1; +#line 8535 "PhotoMetadata.c" + } +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + result = _tmp19_; +#line 131 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + return result; +#line 8541 "PhotoMetadata.c" +} + + +static void photo_metadata_internal_photo_preview_class_init (PhotoMetadataInternalPhotoPreviewClass * klass) { +#line 114 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_internal_photo_preview_parent_class = g_type_class_peek_parent (klass); +#line 114 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((PhotoPreviewClass *) klass)->finalize = photo_metadata_internal_photo_preview_finalize; +#line 114 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((PhotoPreviewClass *) klass)->flatten = photo_metadata_internal_photo_preview_real_flatten; +#line 8552 "PhotoMetadata.c" +} + + +static void photo_metadata_internal_photo_preview_instance_init (PhotoMetadataInternalPhotoPreview * self) { +} + + +static void photo_metadata_internal_photo_preview_finalize (PhotoPreview* obj) { + PhotoMetadataInternalPhotoPreview * self; +#line 114 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTO_METADATA_TYPE_INTERNAL_PHOTO_PREVIEW, PhotoMetadataInternalPhotoPreview); +#line 115 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _media_metadata_unref0 (self->owner); +#line 114 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + PHOTO_PREVIEW_CLASS (photo_metadata_internal_photo_preview_parent_class)->finalize (obj); +#line 8568 "PhotoMetadata.c" +} + + +static GType photo_metadata_internal_photo_preview_get_type (void) { + static volatile gsize photo_metadata_internal_photo_preview_type_id__volatile = 0; + if (g_once_init_enter (&photo_metadata_internal_photo_preview_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoMetadataInternalPhotoPreviewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_metadata_internal_photo_preview_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoMetadataInternalPhotoPreview), 0, (GInstanceInitFunc) photo_metadata_internal_photo_preview_instance_init, NULL }; + GType photo_metadata_internal_photo_preview_type_id; + photo_metadata_internal_photo_preview_type_id = g_type_register_static (TYPE_PHOTO_PREVIEW, "PhotoMetadataInternalPhotoPreview", &g_define_type_info, 0); + g_once_init_leave (&photo_metadata_internal_photo_preview_type_id__volatile, photo_metadata_internal_photo_preview_type_id); + } + return photo_metadata_internal_photo_preview_type_id__volatile; +} + + +static void photo_metadata_class_init (PhotoMetadataClass * klass) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar** _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar** _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar** _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar** _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar** _tmp31_ = NULL; + HierarchicalKeywordField* _tmp32_ = NULL; + HierarchicalKeywordField* _tmp33_ = NULL; + HierarchicalKeywordField* _tmp34_ = NULL; + HierarchicalKeywordField** _tmp35_ = NULL; + gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar** _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar** _tmp43_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_parent_class = g_type_class_peek_parent (klass); +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((MediaMetadataClass *) klass)->finalize = photo_metadata_finalize; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + g_type_class_add_private (klass, sizeof (PhotoMetadataPrivate)); +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((MediaMetadataClass *) klass)->read_from_file = photo_metadata_real_read_from_file; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((MediaMetadataClass *) klass)->get_creation_date_time = photo_metadata_real_get_creation_date_time; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((MediaMetadataClass *) klass)->get_title = photo_metadata_real_get_title; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + ((MediaMetadataClass *) klass)->get_comment = photo_metadata_real_get_comment; +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = g_strdup ("Exif.Image.DateTime"); +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup ("Xmp.tiff.DateTime"); +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp2_ = g_strdup ("Xmp.xmp.ModifyDate"); +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_ = g_new0 (gchar*, 3 + 1); +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_[0] = _tmp0_; +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_[1] = _tmp1_; +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp3_[2] = _tmp2_; +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_DATE_TIME_TAGS = _tmp3_; +#line 674 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_DATE_TIME_TAGS_length1 = 3; +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp4_ = g_strdup ("Exif.Photo.DateTimeOriginal"); +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp5_ = g_strdup ("Xmp.exif.DateTimeOriginal"); +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp6_ = g_strdup ("Xmp.xmp.CreateDate"); +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp7_ = g_strdup ("Exif.Photo.DateTimeDigitized"); +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp8_ = g_strdup ("Xmp.exif.DateTimeDigitized"); +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp9_ = g_strdup ("Exif.Image.DateTime"); +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_ = g_new0 (gchar*, 6 + 1); +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_[0] = _tmp4_; +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_[1] = _tmp5_; +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_[2] = _tmp6_; +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_[3] = _tmp7_; +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_[4] = _tmp8_; +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp10_[5] = _tmp9_; +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_EXPOSURE_DATE_TIME_TAGS = _tmp10_; +#line 692 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_EXPOSURE_DATE_TIME_TAGS_length1 = 6; +#line 713 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp11_ = g_strdup ("Exif.Photo.DateTimeDigitized"); +#line 713 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp12_ = g_strdup ("Xmp.exif.DateTimeDigitized"); +#line 713 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_ = g_new0 (gchar*, 2 + 1); +#line 713 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_[0] = _tmp11_; +#line 713 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp13_[1] = _tmp12_; +#line 713 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_DIGITIZED_DATE_TIME_TAGS = _tmp13_; +#line 713 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_DIGITIZED_DATE_TIME_TAGS_length1 = 2; +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp14_ = g_strdup ("Exif.Photo.PixelXDimension"); +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp15_ = g_strdup ("Xmp.exif.PixelXDimension"); +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp16_ = g_strdup ("Xmp.tiff.ImageWidth"); +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp17_ = g_strdup ("Xmp.exif.PixelXDimension"); +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_ = g_new0 (gchar*, 4 + 1); +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_[0] = _tmp14_; +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_[1] = _tmp15_; +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_[2] = _tmp16_; +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp18_[3] = _tmp17_; +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_WIDTH_TAGS = _tmp18_; +#line 738 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_WIDTH_TAGS_length1 = 4; +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp19_ = g_strdup ("Exif.Photo.PixelYDimension"); +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp20_ = g_strdup ("Xmp.exif.PixelYDimension"); +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp21_ = g_strdup ("Xmp.tiff.ImageHeight"); +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp22_ = g_strdup ("Xmp.exif.PixelYDimension"); +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_ = g_new0 (gchar*, 4 + 1); +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_[0] = _tmp19_; +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_[1] = _tmp20_; +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_[2] = _tmp21_; +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp23_[3] = _tmp22_; +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_HEIGHT_TAGS = _tmp23_; +#line 745 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_HEIGHT_TAGS_length1 = 4; +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp24_ = g_strdup ("Iptc.Application2.Caption"); +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp25_ = g_strdup ("Xmp.dc.title"); +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp26_ = g_strdup ("Iptc.Application2.Headline"); +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp27_ = g_strdup ("Xmp.photoshop.Headline"); +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_ = g_new0 (gchar*, 4 + 1); +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_[0] = _tmp24_; +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_[1] = _tmp25_; +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_[2] = _tmp26_; +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp28_[3] = _tmp27_; +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_STANDARD_TITLE_TAGS = _tmp28_; +#line 804 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_STANDARD_TITLE_TAGS_length1 = 4; +#line 859 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp29_ = g_strdup ("Xmp.dc.subject"); +#line 859 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp30_ = g_strdup ("Iptc.Application2.Keywords"); +#line 859 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp31_ = g_new0 (gchar*, 2 + 1); +#line 859 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp31_[0] = _tmp29_; +#line 859 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp31_[1] = _tmp30_; +#line 859 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_KEYWORD_TAGS = _tmp31_; +#line 859 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_KEYWORD_TAGS_length1 = 2; +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp32_ = hierarchical_keyword_field_new ("Xmp.lr.hierarchicalSubject", "|", FALSE, FALSE); +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp33_ = hierarchical_keyword_field_new ("Xmp.digiKam.TagsList", "/", FALSE, TRUE); +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp34_ = hierarchical_keyword_field_new ("Xmp.MicrosoftPhoto.LastKeywordXMP", "/", FALSE, TRUE); +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp35_ = g_new0 (HierarchicalKeywordField*, 3 + 1); +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp35_[0] = _tmp32_; +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp35_[1] = _tmp33_; +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp35_[2] = _tmp34_; +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_HIERARCHICAL_KEYWORD_TAGS = _tmp35_; +#line 864 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_HIERARCHICAL_KEYWORD_TAGS_length1 = 3; +#line 1091 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp36_ = g_strdup ("Exif.Image.Artist"); +#line 1091 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp37_ = g_strdup ("Exif.Canon.OwnerName"); +#line 1091 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp38_ = g_new0 (gchar*, 2 + 1); +#line 1091 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp38_[0] = _tmp36_; +#line 1091 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp38_[1] = _tmp37_; +#line 1091 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_ARTIST_TAGS = _tmp38_; +#line 1091 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_ARTIST_TAGS_length1 = 2; +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp39_ = g_strdup ("Xmp.xmp.Rating"); +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp40_ = g_strdup ("Iptc.Application2.Urgency"); +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp41_ = g_strdup ("Xmp.photoshop.Urgency"); +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp42_ = g_strdup ("Exif.Image.Rating"); +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp43_ = g_new0 (gchar*, 4 + 1); +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp43_[0] = _tmp39_; +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp43_[1] = _tmp40_; +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp43_[2] = _tmp41_; +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp43_[3] = _tmp42_; +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_RATING_TAGS = _tmp43_; +#line 1128 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + photo_metadata_RATING_TAGS_length1 = 4; +#line 8839 "PhotoMetadata.c" +} + + +static void photo_metadata_instance_init (PhotoMetadata * self) { + GExiv2Metadata* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv = PHOTO_METADATA_GET_PRIVATE (self); +#line 135 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp0_ = gexiv2_metadata_new (); +#line 135 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exiv2 = _tmp0_; +#line 136 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->exif = NULL; +#line 137 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _tmp1_ = g_strdup (""); +#line 137 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self->priv->source_name = _tmp1_; +#line 8858 "PhotoMetadata.c" +} + + +static void photo_metadata_finalize (MediaMetadata* obj) { + PhotoMetadata * self; +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PHOTO_METADATA, PhotoMetadata); +#line 135 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _gexiv2_metadata_free0 (self->priv->exiv2); +#line 136 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _exif_data_unref0 (self->priv->exif); +#line 137 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + _g_free0 (self->priv->source_name); +#line 99 "/home/jens/Source/shotwell/src/photos/PhotoMetadata.vala" + MEDIA_METADATA_CLASS (photo_metadata_parent_class)->finalize (obj); +#line 8874 "PhotoMetadata.c" +} + + +GType photo_metadata_get_type (void) { + static volatile gsize photo_metadata_type_id__volatile = 0; + if (g_once_init_enter (&photo_metadata_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotoMetadataClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photo_metadata_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotoMetadata), 0, (GInstanceInitFunc) photo_metadata_instance_init, NULL }; + GType photo_metadata_type_id; + photo_metadata_type_id = g_type_register_static (TYPE_MEDIA_METADATA, "PhotoMetadata", &g_define_type_info, 0); + g_once_init_leave (&photo_metadata_type_id__volatile, photo_metadata_type_id); + } + return photo_metadata_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/photos/Photos.c b/src/photos/Photos.c new file mode 100644 index 0000000..434f905 --- /dev/null +++ b/src/photos/Photos.c @@ -0,0 +1,89 @@ +/* Photos.c generated by valac 0.32.1, the Vala compiler + * generated from Photos.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. + */ +/* This file is the master unit file for the Photo unit. It should be edited to include + * whatever code is deemed necessary. + * + * The init() and terminate() methods are mandatory. + * + * If the unit needs to be configured prior to initialization, add the proper parameters to + * the preconfigure() method, implement it, and ensure in init() that it's been called. + */ + +#include +#include + + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +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; + + + +void photos_preconfigure (void); +void photos_init (GError** error); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat* photo_file_format_get_supported (int* result_length1); +void photo_file_format_init (PhotoFileFormat self); +void photos_terminate (void); + + +void photos_preconfigure (void) { +} + + +void photos_init (GError** error) { + gint _tmp0_ = 0; + PhotoFileFormat* _tmp1_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/photos/Photos.vala" + _tmp1_ = photo_file_format_get_supported (&_tmp0_); +#line 53 "Photos.c" + { + PhotoFileFormat* format_collection = NULL; + gint format_collection_length1 = 0; + gint _format_collection_size_ = 0; + gint format_it = 0; +#line 23 "/home/jens/Source/shotwell/src/photos/Photos.vala" + format_collection = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/photos/Photos.vala" + format_collection_length1 = _tmp0_; +#line 23 "/home/jens/Source/shotwell/src/photos/Photos.vala" + for (format_it = 0; format_it < _tmp0_; format_it = format_it + 1) { +#line 65 "Photos.c" + PhotoFileFormat format = 0; +#line 23 "/home/jens/Source/shotwell/src/photos/Photos.vala" + format = format_collection[format_it]; +#line 69 "Photos.c" + { + PhotoFileFormat _tmp2_ = 0; +#line 24 "/home/jens/Source/shotwell/src/photos/Photos.vala" + _tmp2_ = format; +#line 24 "/home/jens/Source/shotwell/src/photos/Photos.vala" + photo_file_format_init (_tmp2_); +#line 76 "Photos.c" + } + } +#line 23 "/home/jens/Source/shotwell/src/photos/Photos.vala" + format_collection = (g_free (format_collection), NULL); +#line 81 "Photos.c" + } +} + + +void photos_terminate (void) { +} + + + diff --git a/src/photos/PngSupport.c b/src/photos/PngSupport.c new file mode 100644 index 0000000..98d4cd2 --- /dev/null +++ b/src/photos/PngSupport.c @@ -0,0 +1,1929 @@ +/* PngSupport.c generated by valac 0.32.1, the Vala compiler + * generated from PngSupport.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; +typedef struct _PhotoFileFormatPropertiesPrivate PhotoFileFormatPropertiesPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT_FLAGS (photo_file_format_flags_get_type ()) + +#define TYPE_PNG_FILE_FORMAT_PROPERTIES (png_file_format_properties_get_type ()) +#define PNG_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties)) +#define PNG_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatPropertiesClass)) +#define IS_PNG_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_FILE_FORMAT_PROPERTIES)) +#define IS_PNG_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_FILE_FORMAT_PROPERTIES)) +#define PNG_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatPropertiesClass)) + +typedef struct _PngFileFormatProperties PngFileFormatProperties; +typedef struct _PngFileFormatPropertiesClass PngFileFormatPropertiesClass; +typedef struct _PngFileFormatPropertiesPrivate PngFileFormatPropertiesPrivate; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; +typedef struct _PhotoFileSnifferPrivate PhotoFileSnifferPrivate; + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_GDK_SNIFFER (gdk_sniffer_get_type ()) +#define GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_SNIFFER, GdkSniffer)) +#define GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_SNIFFER, GdkSnifferClass)) +#define IS_GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_SNIFFER)) +#define IS_GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_SNIFFER)) +#define GDK_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_SNIFFER, GdkSnifferClass)) + +typedef struct _GdkSniffer GdkSniffer; +typedef struct _GdkSnifferClass GdkSnifferClass; +typedef struct _GdkSnifferPrivate GdkSnifferPrivate; + +#define TYPE_PNG_SNIFFER (png_sniffer_get_type ()) +#define PNG_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_SNIFFER, PngSniffer)) +#define PNG_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_SNIFFER, PngSnifferClass)) +#define IS_PNG_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_SNIFFER)) +#define IS_PNG_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_SNIFFER)) +#define PNG_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_SNIFFER, PngSnifferClass)) + +typedef struct _PngSniffer PngSniffer; +typedef struct _PngSnifferClass PngSnifferClass; +typedef struct _PngSnifferPrivate PngSnifferPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; +typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; +typedef struct _PhotoFileReaderPrivate PhotoFileReaderPrivate; + +#define TYPE_GDK_READER (gdk_reader_get_type ()) +#define GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_READER, GdkReader)) +#define GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_READER, GdkReaderClass)) +#define IS_GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_READER)) +#define IS_GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_READER)) +#define GDK_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_READER, GdkReaderClass)) + +typedef struct _GdkReader GdkReader; +typedef struct _GdkReaderClass GdkReaderClass; +typedef struct _GdkReaderPrivate GdkReaderPrivate; + +#define TYPE_PNG_READER (png_reader_get_type ()) +#define PNG_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_READER, PngReader)) +#define PNG_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_READER, PngReaderClass)) +#define IS_PNG_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_READER)) +#define IS_PNG_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_READER)) +#define PNG_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_READER, PngReaderClass)) + +typedef struct _PngReader PngReader; +typedef struct _PngReaderClass PngReaderClass; +typedef struct _PngReaderPrivate PngReaderPrivate; + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; +typedef struct _PhotoFileWriterPrivate PhotoFileWriterPrivate; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) + +#define TYPE_PNG_WRITER (png_writer_get_type ()) +#define PNG_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_WRITER, PngWriter)) +#define PNG_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_WRITER, PngWriterClass)) +#define IS_PNG_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_WRITER)) +#define IS_PNG_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_WRITER)) +#define PNG_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_WRITER, PngWriterClass)) + +typedef struct _PngWriter PngWriter; +typedef struct _PngWriterClass PngWriterClass; +typedef struct _PngWriterPrivate PngWriterPrivate; + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; +typedef struct _PhotoFileMetadataWriterPrivate PhotoFileMetadataWriterPrivate; + +#define TYPE_PNG_METADATA_WRITER (png_metadata_writer_get_type ()) +#define PNG_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_METADATA_WRITER, PngMetadataWriter)) +#define PNG_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_METADATA_WRITER, PngMetadataWriterClass)) +#define IS_PNG_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_METADATA_WRITER)) +#define IS_PNG_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_METADATA_WRITER)) +#define PNG_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_METADATA_WRITER, PngMetadataWriterClass)) + +typedef struct _PngMetadataWriter PngMetadataWriter; +typedef struct _PngMetadataWriterClass PngMetadataWriterClass; +typedef struct _PngMetadataWriterPrivate PngMetadataWriterPrivate; + +#define TYPE_PHOTO_FILE_FORMAT_DRIVER (photo_file_format_driver_get_type ()) +#define PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver)) +#define PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) +#define IS_PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define IS_PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define PHOTO_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) + +typedef struct _PhotoFileFormatDriver PhotoFileFormatDriver; +typedef struct _PhotoFileFormatDriverClass PhotoFileFormatDriverClass; +typedef struct _PhotoFileFormatDriverPrivate PhotoFileFormatDriverPrivate; + +#define TYPE_PNG_FILE_FORMAT_DRIVER (png_file_format_driver_get_type ()) +#define PNG_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver)) +#define PNG_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriverClass)) +#define IS_PNG_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PNG_FILE_FORMAT_DRIVER)) +#define IS_PNG_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PNG_FILE_FORMAT_DRIVER)) +#define PNG_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriverClass)) + +typedef struct _PngFileFormatDriver PngFileFormatDriver; +typedef struct _PngFileFormatDriverClass PngFileFormatDriverClass; +typedef struct _PngFileFormatDriverPrivate PngFileFormatDriverPrivate; +#define _photo_file_format_driver_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_driver_unref (var), NULL))) + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + PHOTO_FILE_FORMAT_FLAGS_NONE = 0x00000000 +} PhotoFileFormatFlags; + +struct _PhotoFileFormatProperties { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatPropertiesPrivate * priv; +}; + +struct _PhotoFileFormatPropertiesClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatProperties *self); + PhotoFileFormat (*get_file_format) (PhotoFileFormatProperties* self); + PhotoFileFormatFlags (*get_flags) (PhotoFileFormatProperties* self); + gboolean (*is_recognized_extension) (PhotoFileFormatProperties* self, const gchar* ext); + gchar* (*get_default_extension) (PhotoFileFormatProperties* self); + gchar** (*get_known_extensions) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_default_mime_type) (PhotoFileFormatProperties* self); + gchar** (*get_mime_types) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_user_visible_name) (PhotoFileFormatProperties* self); +}; + +struct _PngFileFormatProperties { + PhotoFileFormatProperties parent_instance; + PngFileFormatPropertiesPrivate * priv; +}; + +struct _PngFileFormatPropertiesClass { + PhotoFileFormatPropertiesClass parent_class; +}; + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileSniffer { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileSnifferPrivate * priv; + GFile* file; + PhotoFileSnifferOptions options; + gboolean calc_md5; +}; + +struct _PhotoFileSnifferClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileSniffer *self); + DetectedPhotoInformation* (*sniff) (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +}; + +struct _GdkSniffer { + PhotoFileSniffer parent_instance; + GdkSnifferPrivate * priv; +}; + +struct _GdkSnifferClass { + PhotoFileSnifferClass parent_class; +}; + +struct _PngSniffer { + GdkSniffer parent_instance; + PngSnifferPrivate * priv; +}; + +struct _PngSnifferClass { + GdkSnifferClass parent_class; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + +struct _PhotoFileAdapter { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileAdapterPrivate * priv; +}; + +struct _PhotoFileAdapterClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileAdapter *self); +}; + +struct _PhotoFileReader { + PhotoFileAdapter parent_instance; + PhotoFileReaderPrivate * priv; +}; + +struct _PhotoFileReaderClass { + PhotoFileAdapterClass parent_class; + PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +}; + +struct _GdkReader { + PhotoFileReader parent_instance; + GdkReaderPrivate * priv; +}; + +struct _GdkReaderClass { + PhotoFileReaderClass parent_class; +}; + +struct _PngReader { + GdkReader parent_instance; + PngReaderPrivate * priv; +}; + +struct _PngReaderClass { + GdkReaderClass parent_class; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _PhotoFileWriter { + PhotoFileAdapter parent_instance; + PhotoFileWriterPrivate * priv; +}; + +struct _PhotoFileWriterClass { + PhotoFileAdapterClass parent_class; + void (*write) (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +}; + +struct _PngWriter { + PhotoFileWriter parent_instance; + PngWriterPrivate * priv; +}; + +struct _PngWriterClass { + PhotoFileWriterClass parent_class; +}; + +struct _PhotoFileMetadataWriter { + PhotoFileAdapter parent_instance; + PhotoFileMetadataWriterPrivate * priv; +}; + +struct _PhotoFileMetadataWriterClass { + PhotoFileAdapterClass parent_class; + void (*write_metadata) (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); +}; + +struct _PngMetadataWriter { + PhotoFileMetadataWriter parent_instance; + PngMetadataWriterPrivate * priv; +}; + +struct _PngMetadataWriterClass { + PhotoFileMetadataWriterClass parent_class; +}; + +struct _PhotoFileFormatDriver { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatDriverPrivate * priv; +}; + +struct _PhotoFileFormatDriverClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatDriver *self); + PhotoFileFormatProperties* (*get_properties) (PhotoFileFormatDriver* self); + PhotoFileReader* (*create_reader) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoMetadata* (*create_metadata) (PhotoFileFormatDriver* self); + gboolean (*can_write_image) (PhotoFileFormatDriver* self); + gboolean (*can_write_metadata) (PhotoFileFormatDriver* self); + PhotoFileWriter* (*create_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileMetadataWriter* (*create_metadata_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileSniffer* (*create_sniffer) (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +}; + +struct _PngFileFormatDriver { + PhotoFileFormatDriver parent_instance; + PngFileFormatDriverPrivate * priv; +}; + +struct _PngFileFormatDriverClass { + PhotoFileFormatDriverClass parent_class; +}; + + +static gpointer png_file_format_properties_parent_class = NULL; +static gchar** png_file_format_properties_KNOWN_EXTENSIONS; +static gint png_file_format_properties_KNOWN_EXTENSIONS_length1; +static gchar** png_file_format_properties_KNOWN_EXTENSIONS = NULL; +static gint png_file_format_properties_KNOWN_EXTENSIONS_length1 = 0; +static gint _png_file_format_properties_KNOWN_EXTENSIONS_size_ = 0; +static gchar** png_file_format_properties_KNOWN_MIME_TYPES; +static gint png_file_format_properties_KNOWN_MIME_TYPES_length1; +static gchar** png_file_format_properties_KNOWN_MIME_TYPES = NULL; +static gint png_file_format_properties_KNOWN_MIME_TYPES_length1 = 0; +static gint _png_file_format_properties_KNOWN_MIME_TYPES_size_ = 0; +static PngFileFormatProperties* png_file_format_properties_instance; +static PngFileFormatProperties* png_file_format_properties_instance = NULL; +static gpointer png_sniffer_parent_class = NULL; +static gpointer png_reader_parent_class = NULL; +static gpointer png_writer_parent_class = NULL; +static gpointer png_metadata_writer_parent_class = NULL; +static gpointer png_file_format_driver_parent_class = NULL; +static PngFileFormatDriver* png_file_format_driver_instance; +static PngFileFormatDriver* png_file_format_driver_instance = NULL; + +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType photo_file_format_flags_get_type (void) G_GNUC_CONST; +GType png_file_format_properties_get_type (void) G_GNUC_CONST; +enum { + PNG_FILE_FORMAT_PROPERTIES_DUMMY_PROPERTY +}; +void png_file_format_properties_init (void); +PngFileFormatProperties* png_file_format_properties_new (void); +PngFileFormatProperties* png_file_format_properties_construct (GType object_type); +PngFileFormatProperties* png_file_format_properties_get_instance (void); +static PhotoFileFormat png_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base); +static PhotoFileFormatFlags png_file_format_properties_real_get_flags (PhotoFileFormatProperties* base); +static gchar* png_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base); +static gchar* png_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base); +static gchar** png_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup14 (gchar** self, int length); +static gchar* png_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base); +static gchar** png_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup15 (gchar** self, int length); +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type); +static void png_file_format_properties_finalize (PhotoFileFormatProperties* obj); +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +GType gdk_sniffer_get_type (void) G_GNUC_CONST; +GType png_sniffer_get_type (void) G_GNUC_CONST; +enum { + PNG_SNIFFER_DUMMY_PROPERTY +}; +PngSniffer* png_sniffer_new (GFile* file, PhotoFileSnifferOptions options); +PngSniffer* png_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +GdkSniffer* gdk_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +static gboolean png_sniffer_is_png_file (GFile* file, GError** error); +static DetectedPhotoInformation* png_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error); +DetectedPhotoInformation* photo_file_sniffer_sniff (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +GType gdk_reader_get_type (void) G_GNUC_CONST; +GType png_reader_get_type (void) G_GNUC_CONST; +enum { + PNG_READER_DUMMY_PROPERTY +}; +PngReader* png_reader_new (const gchar* filepath); +PngReader* png_reader_construct (GType object_type, const gchar* filepath); +GdkReader* gdk_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static GdkPixbuf* png_reader_real_scaled_read (PhotoFileReader* base, Dimensions* full, Dimensions* scaled, GError** error); +GType scale_constraint_get_type (void) G_GNUC_CONST; +void dimensions_get_scaled_by_constraint (Dimensions *self, gint scale, ScaleConstraint constraint, Dimensions* result); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GType jpeg_quality_get_type (void) G_GNUC_CONST; +GType png_writer_get_type (void) G_GNUC_CONST; +enum { + PNG_WRITER_DUMMY_PROPERTY +}; +PngWriter* png_writer_new (const gchar* filepath); +PngWriter* png_writer_construct (GType object_type, const gchar* filepath); +PhotoFileWriter* photo_file_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static void png_writer_real_write (PhotoFileWriter* base, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +GType png_metadata_writer_get_type (void) G_GNUC_CONST; +enum { + PNG_METADATA_WRITER_DUMMY_PROPERTY +}; +PngMetadataWriter* png_metadata_writer_new (const gchar* filepath); +PngMetadataWriter* png_metadata_writer_construct (GType object_type, const gchar* filepath); +PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static void png_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* base, PhotoMetadata* metadata, GError** error); +void photo_metadata_write_to_file (PhotoMetadata* self, GFile* file, GError** error); +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); +gpointer photo_file_format_driver_ref (gpointer instance); +void photo_file_format_driver_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_driver (GValue* value, gpointer v_object); +void value_take_photo_file_format_driver (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_driver (const GValue* value); +GType photo_file_format_driver_get_type (void) G_GNUC_CONST; +GType png_file_format_driver_get_type (void) G_GNUC_CONST; +enum { + PNG_FILE_FORMAT_DRIVER_DUMMY_PROPERTY +}; +void png_file_format_driver_init (void); +PngFileFormatDriver* png_file_format_driver_new (void); +PngFileFormatDriver* png_file_format_driver_construct (GType object_type); +PngFileFormatDriver* png_file_format_driver_get_instance (void); +static PhotoFileFormatProperties* png_file_format_driver_real_get_properties (PhotoFileFormatDriver* base); +static PhotoFileReader* png_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath); +static gboolean png_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base); +static gboolean png_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base); +static PhotoFileWriter* png_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath); +static PhotoFileMetadataWriter* png_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath); +static PhotoFileSniffer* png_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options); +static PhotoMetadata* png_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base); +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type); +static void png_file_format_driver_finalize (PhotoFileFormatDriver* obj); + +static const guint8 PNG_SNIFFER_MAGIC_SEQUENCE[8] = {(guint8) 137, (guint8) 80, (guint8) 78, (guint8) 71, (guint8) 13, (guint8) 10, (guint8) 26, (guint8) 10}; + +void png_file_format_properties_init (void) { + PngFileFormatProperties* _tmp0_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_properties_new (); +#line 14 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _photo_file_format_properties_unref0 (png_file_format_properties_instance); +#line 14 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_properties_instance = _tmp0_; +#line 627 "PngSupport.c" +} + + +static gpointer _photo_file_format_properties_ref0 (gpointer self) { +#line 18 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self ? photo_file_format_properties_ref (self) : NULL; +#line 634 "PngSupport.c" +} + + +PngFileFormatProperties* png_file_format_properties_get_instance (void) { + PngFileFormatProperties* result = NULL; + PngFileFormatProperties* _tmp0_ = NULL; + PngFileFormatProperties* _tmp1_ = NULL; +#line 18 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_properties_instance; +#line 18 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = _photo_file_format_properties_ref0 (_tmp0_); +#line 18 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp1_; +#line 18 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 650 "PngSupport.c" +} + + +static PhotoFileFormat png_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base) { + PngFileFormatProperties * self; + PhotoFileFormat result = 0; +#line 21 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties); +#line 22 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = PHOTO_FILE_FORMAT_PNG; +#line 22 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 663 "PngSupport.c" +} + + +static PhotoFileFormatFlags png_file_format_properties_real_get_flags (PhotoFileFormatProperties* base) { + PngFileFormatProperties * self; + PhotoFileFormatFlags result = 0; +#line 25 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties); +#line 26 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = PHOTO_FILE_FORMAT_FLAGS_NONE; +#line 26 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 676 "PngSupport.c" +} + + +static gchar* png_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base) { + PngFileFormatProperties * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties); +#line 30 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = _ ("PNG"); +#line 30 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 30 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp1_; +#line 30 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 695 "PngSupport.c" +} + + +static gchar* png_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base) { + PngFileFormatProperties * self; + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties); +#line 34 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_properties_KNOWN_EXTENSIONS; +#line 34 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0__length1 = png_file_format_properties_KNOWN_EXTENSIONS_length1; +#line 34 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = _tmp0_[0]; +#line 34 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 34 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp2_; +#line 34 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 720 "PngSupport.c" +} + + +static gchar** _vala_array_dup14 (gchar** self, int length) { + gchar** result; + int i; +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + for (i = 0; i < length; i++) { +#line 731 "PngSupport.c" + gchar* _tmp0_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result[i] = _tmp0_; +#line 737 "PngSupport.c" + } +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 741 "PngSupport.c" +} + + +static gchar** png_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1) { + PngFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 37 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties); +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_properties_KNOWN_EXTENSIONS; +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0__length1 = png_file_format_properties_KNOWN_EXTENSIONS_length1; +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup14 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = _tmp1_; +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (result_length1) { +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + *result_length1 = _tmp2__length1; +#line 772 "PngSupport.c" + } +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp2_; +#line 38 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 778 "PngSupport.c" +} + + +static gchar* png_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base) { + PngFileFormatProperties * self; + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties); +#line 42 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_properties_KNOWN_MIME_TYPES; +#line 42 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0__length1 = png_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 42 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = _tmp0_[0]; +#line 42 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 42 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp2_; +#line 42 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 803 "PngSupport.c" +} + + +static gchar** _vala_array_dup15 (gchar** self, int length) { + gchar** result; + int i; +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + for (i = 0; i < length; i++) { +#line 814 "PngSupport.c" + gchar* _tmp0_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result[i] = _tmp0_; +#line 820 "PngSupport.c" + } +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 824 "PngSupport.c" +} + + +static gchar** png_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1) { + PngFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 45 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties); +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_properties_KNOWN_MIME_TYPES; +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0__length1 = png_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup15 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = _tmp1_; +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (result_length1) { +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + *result_length1 = _tmp2__length1; +#line 855 "PngSupport.c" + } +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp2_; +#line 46 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 861 "PngSupport.c" +} + + +PngFileFormatProperties* png_file_format_properties_construct (GType object_type) { + PngFileFormatProperties* self = NULL; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = (PngFileFormatProperties*) photo_file_format_properties_construct (object_type); +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self; +#line 871 "PngSupport.c" +} + + +PngFileFormatProperties* png_file_format_properties_new (void) { +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return png_file_format_properties_construct (TYPE_PNG_FILE_FORMAT_PROPERTIES); +#line 878 "PngSupport.c" +} + + +static void png_file_format_properties_class_init (PngFileFormatPropertiesClass * klass) { + gchar* _tmp0_ = NULL; + gchar** _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_properties_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->finalize = png_file_format_properties_finalize; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_file_format = png_file_format_properties_real_get_file_format; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_flags = png_file_format_properties_real_get_flags; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_user_visible_name = png_file_format_properties_real_get_user_visible_name; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_extension = png_file_format_properties_real_get_default_extension; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_known_extensions = png_file_format_properties_real_get_known_extensions; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_mime_type = png_file_format_properties_real_get_default_mime_type; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_mime_types = png_file_format_properties_real_get_mime_types; +#line 8 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = g_strdup ("png"); +#line 8 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = g_new0 (gchar*, 1 + 1); +#line 8 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_[0] = _tmp0_; +#line 8 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_properties_KNOWN_EXTENSIONS = _tmp1_; +#line 8 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_properties_KNOWN_EXTENSIONS_length1 = 1; +#line 9 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = g_strdup ("image/png"); +#line 9 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp3_ = g_new0 (gchar*, 1 + 1); +#line 9 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp3_[0] = _tmp2_; +#line 9 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_properties_KNOWN_MIME_TYPES = _tmp3_; +#line 9 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_properties_KNOWN_MIME_TYPES_length1 = 1; +#line 925 "PngSupport.c" +} + + +static void png_file_format_properties_instance_init (PngFileFormatProperties * self) { +} + + +static void png_file_format_properties_finalize (PhotoFileFormatProperties* obj) { + PngFileFormatProperties * self; +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PNG_FILE_FORMAT_PROPERTIES, PngFileFormatProperties); +#line 7 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + PHOTO_FILE_FORMAT_PROPERTIES_CLASS (png_file_format_properties_parent_class)->finalize (obj); +#line 939 "PngSupport.c" +} + + +GType png_file_format_properties_get_type (void) { + static volatile gsize png_file_format_properties_type_id__volatile = 0; + if (g_once_init_enter (&png_file_format_properties_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PngFileFormatPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) png_file_format_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PngFileFormatProperties), 0, (GInstanceInitFunc) png_file_format_properties_instance_init, NULL }; + GType png_file_format_properties_type_id; + png_file_format_properties_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_PROPERTIES, "PngFileFormatProperties", &g_define_type_info, 0); + g_once_init_leave (&png_file_format_properties_type_id__volatile, png_file_format_properties_type_id); + } + return png_file_format_properties_type_id__volatile; +} + + +PngSniffer* png_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options) { + PngSniffer* self = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; +#line 53 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 54 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = file; +#line 54 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = options; +#line 54 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = (PngSniffer*) gdk_sniffer_construct (object_type, _tmp0_, _tmp1_); +#line 53 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self; +#line 969 "PngSupport.c" +} + + +PngSniffer* png_sniffer_new (GFile* file, PhotoFileSnifferOptions options) { +#line 53 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return png_sniffer_construct (TYPE_PNG_SNIFFER, file, options); +#line 976 "PngSupport.c" +} + + +static gboolean png_sniffer_is_png_file (GFile* file, GError** error) { + gboolean result = FALSE; + GFileInputStream* instream = NULL; + GFile* _tmp0_ = NULL; + GFileInputStream* _tmp1_ = NULL; + guint8* file_lead_sequence = NULL; + guint8* _tmp2_ = NULL; + gint file_lead_sequence_length1 = 0; + gint _file_lead_sequence_size_ = 0; + GFileInputStream* _tmp3_ = NULL; + guint8* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GError * _inner_error_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 58 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = file; +#line 58 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = g_file_read (_tmp0_, NULL, &_inner_error_); +#line 58 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + instream = _tmp1_; +#line 58 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 58 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_propagate_error (error, _inner_error_); +#line 58 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return FALSE; +#line 1007 "PngSupport.c" + } +#line 60 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = g_new0 (guint8, G_N_ELEMENTS (PNG_SNIFFER_MAGIC_SEQUENCE)); +#line 60 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + file_lead_sequence = _tmp2_; +#line 60 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + file_lead_sequence_length1 = G_N_ELEMENTS (PNG_SNIFFER_MAGIC_SEQUENCE); +#line 60 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _file_lead_sequence_size_ = file_lead_sequence_length1; +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp3_ = instream; +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp4_ = file_lead_sequence; +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp4__length1 = file_lead_sequence_length1; +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_input_stream_read (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, G_TYPE_INPUT_STREAM, GInputStream), _tmp4_, (gsize) _tmp4__length1, NULL, &_inner_error_); +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_propagate_error (error, _inner_error_); +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + file_lead_sequence = (g_free (file_lead_sequence), NULL); +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (instream); +#line 62 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return FALSE; +#line 1035 "PngSupport.c" + } + { + gint i = 0; +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + i = 0; +#line 1041 "PngSupport.c" + { + gboolean _tmp5_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp5_ = TRUE; +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + while (TRUE) { +#line 1048 "PngSupport.c" + gint _tmp7_ = 0; + guint8* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + guint8 _tmp10_ = 0U; + gint _tmp11_ = 0; + guint8 _tmp12_ = 0U; +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (!_tmp5_) { +#line 1058 "PngSupport.c" + gint _tmp6_ = 0; +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp6_ = i; +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + i = _tmp6_ + 1; +#line 1064 "PngSupport.c" + } +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp5_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp7_ = i; +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (!(_tmp7_ < G_N_ELEMENTS (PNG_SNIFFER_MAGIC_SEQUENCE))) { +#line 64 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + break; +#line 1074 "PngSupport.c" + } +#line 65 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp8_ = file_lead_sequence; +#line 65 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp8__length1 = file_lead_sequence_length1; +#line 65 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp9_ = i; +#line 65 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 65 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp11_ = i; +#line 65 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp12_ = PNG_SNIFFER_MAGIC_SEQUENCE[_tmp11_]; +#line 65 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (_tmp10_ != _tmp12_) { +#line 66 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = FALSE; +#line 66 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + file_lead_sequence = (g_free (file_lead_sequence), NULL); +#line 66 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (instream); +#line 66 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1098 "PngSupport.c" + } + } + } + } +#line 69 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = TRUE; +#line 69 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + file_lead_sequence = (g_free (file_lead_sequence), NULL); +#line 69 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (instream); +#line 69 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1111 "PngSupport.c" +} + + +static gpointer _detected_photo_information_ref0 (gpointer self) { +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self ? detected_photo_information_ref (self) : NULL; +#line 1118 "PngSupport.c" +} + + +static DetectedPhotoInformation* png_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error) { + PngSniffer * self; + gboolean _vala_is_corrupted = FALSE; + DetectedPhotoInformation* result = NULL; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + DetectedPhotoInformation* detected = NULL; + gboolean _tmp3_ = FALSE; + DetectedPhotoInformation* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp5_ = NULL; + DetectedPhotoInformation* _tmp6_ = NULL; + DetectedPhotoInformation* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; + DetectedPhotoInformation* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_SNIFFER, PngSniffer); +#line 74 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _vala_is_corrupted = FALSE; +#line 76 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 76 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = png_sniffer_is_png_file (_tmp1_, &_inner_error_); +#line 76 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = _tmp2_; +#line 76 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 76 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_propagate_error (error, _inner_error_); +#line 76 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return NULL; +#line 1154 "PngSupport.c" + } +#line 76 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (!_tmp0_) { +#line 77 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = NULL; +#line 77 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (is_corrupted) { +#line 77 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1164 "PngSupport.c" + } +#line 77 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1168 "PngSupport.c" + } +#line 79 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp4_ = PHOTO_FILE_SNIFFER_CLASS (png_sniffer_parent_class)->sniff (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_GDK_SNIFFER, GdkSniffer), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer), &_tmp3_, &_inner_error_); +#line 79 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _vala_is_corrupted = _tmp3_; +#line 79 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + detected = _tmp4_; +#line 79 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 79 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_propagate_error (error, _inner_error_); +#line 79 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return NULL; +#line 1182 "PngSupport.c" + } +#line 80 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp5_ = detected; +#line 80 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (_tmp5_ == NULL) { +#line 81 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = NULL; +#line 81 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _detected_photo_information_unref0 (detected); +#line 81 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (is_corrupted) { +#line 81 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1196 "PngSupport.c" + } +#line 81 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1200 "PngSupport.c" + } +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp7_ = detected; +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp8_ = _tmp7_->file_format; +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (_tmp8_ == PHOTO_FILE_FORMAT_PNG) { +#line 1208 "PngSupport.c" + DetectedPhotoInformation* _tmp9_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp9_ = detected; +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp6_ = _tmp9_; +#line 1214 "PngSupport.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp6_ = NULL; +#line 1218 "PngSupport.c" + } +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp10_ = _detected_photo_information_ref0 (_tmp6_); +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp10_; +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _detected_photo_information_unref0 (detected); +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (is_corrupted) { +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1230 "PngSupport.c" + } +#line 83 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1234 "PngSupport.c" +} + + +static void png_sniffer_class_init (PngSnifferClass * klass) { +#line 50 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_sniffer_parent_class = g_type_class_peek_parent (klass); +#line 50 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileSnifferClass *) klass)->sniff = png_sniffer_real_sniff; +#line 1243 "PngSupport.c" +} + + +static void png_sniffer_instance_init (PngSniffer * self) { +} + + +GType png_sniffer_get_type (void) { + static volatile gsize png_sniffer_type_id__volatile = 0; + if (g_once_init_enter (&png_sniffer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PngSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) png_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PngSniffer), 0, (GInstanceInitFunc) png_sniffer_instance_init, NULL }; + GType png_sniffer_type_id; + png_sniffer_type_id = g_type_register_static (TYPE_GDK_SNIFFER, "PngSniffer", &g_define_type_info, 0); + g_once_init_leave (&png_sniffer_type_id__volatile, png_sniffer_type_id); + } + return png_sniffer_type_id__volatile; +} + + +PngReader* png_reader_construct (GType object_type, const gchar* filepath) { + PngReader* self = NULL; + const gchar* _tmp0_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 89 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = filepath; +#line 89 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = (PngReader*) gdk_reader_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_PNG); +#line 88 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self; +#line 1274 "PngSupport.c" +} + + +PngReader* png_reader_new (const gchar* filepath) { +#line 88 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return png_reader_construct (TYPE_PNG_READER, filepath); +#line 1281 "PngSupport.c" +} + + +static GdkPixbuf* png_reader_real_scaled_read (PhotoFileReader* base, Dimensions* full, Dimensions* scaled, GError** error) { + PngReader * self; + GdkPixbuf* result = NULL; + GdkPixbuf* _result_ = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + GError * _inner_error_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_READER, PngReader); +#line 92 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (full != NULL, NULL); +#line 92 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (scaled != NULL, NULL); +#line 93 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _result_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = *full; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp3_ = _tmp2_.width; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (_tmp3_ > 9999) { +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = TRUE; +#line 1310 "PngSupport.c" + } else { + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp4_ = *full; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp5_ = _tmp4_.height; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = _tmp5_ > 9999; +#line 1320 "PngSupport.c" + } +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (_tmp1_) { +#line 1324 "PngSupport.c" + gboolean _tmp6_ = FALSE; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp7_ = *scaled; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp8_ = _tmp7_.width; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (_tmp8_ < 100) { +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp6_ = TRUE; +#line 1336 "PngSupport.c" + } else { + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 103 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp9_ = *scaled; +#line 103 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp10_ = _tmp9_.height; +#line 103 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp6_ = _tmp10_ < 100; +#line 1346 "PngSupport.c" + } +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = _tmp6_; +#line 1350 "PngSupport.c" + } else { +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = FALSE; +#line 1354 "PngSupport.c" + } +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (_tmp0_) { +#line 1358 "PngSupport.c" + Dimensions prefetch_dimensions = {0}; + Dimensions _tmp11_ = {0}; + GdkPixbuf* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkPixbuf* _tmp19_ = NULL; + GdkPixbuf* _tmp20_ = NULL; + GdkPixbuf* _tmp21_ = NULL; + GdkPixbuf* _tmp22_ = NULL; + Dimensions _tmp23_ = {0}; + gint _tmp24_ = 0; + Dimensions _tmp25_ = {0}; + gint _tmp26_ = 0; + GdkPixbuf* _tmp27_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + dimensions_get_scaled_by_constraint (full, 1000, SCALE_CONSTRAINT_DIMENSIONS, &_tmp11_); +#line 104 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + prefetch_dimensions = _tmp11_; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp13_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp14_ = _tmp13_; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp15_ = prefetch_dimensions; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp16_ = _tmp15_.width; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp17_ = prefetch_dimensions; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp18_ = _tmp17_.height; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp19_ = gdk_pixbuf_new_from_file_at_scale (_tmp14_, _tmp16_, _tmp18_, FALSE, &_inner_error_); +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp20_ = _tmp19_; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_free0 (_tmp14_); +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp12_ = _tmp20_; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_propagate_error (error, _inner_error_); +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (_result_); +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return NULL; +#line 1409 "PngSupport.c" + } +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp21_ = _tmp12_; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp12_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (_result_); +#line 107 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _result_ = _tmp21_; +#line 110 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp22_ = _result_; +#line 110 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp23_ = *scaled; +#line 110 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp24_ = _tmp23_.width; +#line 110 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp25_ = *scaled; +#line 110 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp26_ = _tmp25_.height; +#line 110 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp27_ = gdk_pixbuf_scale_simple (_tmp22_, _tmp24_, _tmp26_, GDK_INTERP_HYPER); +#line 110 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (_result_); +#line 110 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _result_ = _tmp27_; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (_tmp12_); +#line 1437 "PngSupport.c" + } else { + GdkPixbuf* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + Dimensions _tmp31_ = {0}; + gint _tmp32_ = 0; + Dimensions _tmp33_ = {0}; + gint _tmp34_ = 0; + GdkPixbuf* _tmp35_ = NULL; + GdkPixbuf* _tmp36_ = NULL; + GdkPixbuf* _tmp37_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp29_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp30_ = _tmp29_; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp31_ = *scaled; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp32_ = _tmp31_.width; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp33_ = *scaled; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp34_ = _tmp33_.height; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp35_ = gdk_pixbuf_new_from_file_at_scale (_tmp30_, _tmp32_, _tmp34_, FALSE, &_inner_error_); +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp36_ = _tmp35_; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_free0 (_tmp30_); +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp28_ = _tmp36_; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_propagate_error (error, _inner_error_); +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (_result_); +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return NULL; +#line 1477 "PngSupport.c" + } +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp37_ = _tmp28_; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp28_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (_result_); +#line 112 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _result_ = _tmp37_; +#line 102 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (_tmp28_); +#line 1489 "PngSupport.c" + } +#line 116 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _result_; +#line 116 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1495 "PngSupport.c" +} + + +static void png_reader_class_init (PngReaderClass * klass) { +#line 87 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_reader_parent_class = g_type_class_peek_parent (klass); +#line 87 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileReaderClass *) klass)->scaled_read = png_reader_real_scaled_read; +#line 1504 "PngSupport.c" +} + + +static void png_reader_instance_init (PngReader * self) { +} + + +GType png_reader_get_type (void) { + static volatile gsize png_reader_type_id__volatile = 0; + if (g_once_init_enter (&png_reader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PngReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) png_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PngReader), 0, (GInstanceInitFunc) png_reader_instance_init, NULL }; + GType png_reader_type_id; + png_reader_type_id = g_type_register_static (TYPE_GDK_READER, "PngReader", &g_define_type_info, 0); + g_once_init_leave (&png_reader_type_id__volatile, png_reader_type_id); + } + return png_reader_type_id__volatile; +} + + +PngWriter* png_writer_construct (GType object_type, const gchar* filepath) { + PngWriter* self = NULL; + const gchar* _tmp0_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 122 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = filepath; +#line 122 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = (PngWriter*) photo_file_writer_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_PNG); +#line 121 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self; +#line 1535 "PngSupport.c" +} + + +PngWriter* png_writer_new (const gchar* filepath) { +#line 121 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return png_writer_construct (TYPE_PNG_WRITER, filepath); +#line 1542 "PngSupport.c" +} + + +static void png_writer_real_write (PhotoFileWriter* base, GdkPixbuf* pixbuf, JpegQuality quality, GError** error) { + PngWriter * self; + GdkPixbuf* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_WRITER, PngWriter); +#line 125 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 126 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = pixbuf; +#line 126 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 126 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = _tmp1_; +#line 126 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + gdk_pixbuf_save (_tmp0_, _tmp2_, "png", &_inner_error_, "compression", "9", NULL, NULL); +#line 126 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_free0 (_tmp2_); +#line 126 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 126 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_propagate_error (error, _inner_error_); +#line 126 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return; +#line 1572 "PngSupport.c" + } +} + + +static void png_writer_class_init (PngWriterClass * klass) { +#line 120 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_writer_parent_class = g_type_class_peek_parent (klass); +#line 120 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileWriterClass *) klass)->write = png_writer_real_write; +#line 1582 "PngSupport.c" +} + + +static void png_writer_instance_init (PngWriter * self) { +} + + +GType png_writer_get_type (void) { + static volatile gsize png_writer_type_id__volatile = 0; + if (g_once_init_enter (&png_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PngWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) png_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PngWriter), 0, (GInstanceInitFunc) png_writer_instance_init, NULL }; + GType png_writer_type_id; + png_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_WRITER, "PngWriter", &g_define_type_info, 0); + g_once_init_leave (&png_writer_type_id__volatile, png_writer_type_id); + } + return png_writer_type_id__volatile; +} + + +PngMetadataWriter* png_metadata_writer_construct (GType object_type, const gchar* filepath) { + PngMetadataWriter* self = NULL; + const gchar* _tmp0_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 132 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = filepath; +#line 132 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = (PngMetadataWriter*) photo_file_metadata_writer_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_PNG); +#line 131 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self; +#line 1613 "PngSupport.c" +} + + +PngMetadataWriter* png_metadata_writer_new (const gchar* filepath) { +#line 131 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return png_metadata_writer_construct (TYPE_PNG_METADATA_WRITER, filepath); +#line 1620 "PngSupport.c" +} + + +static void png_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* base, PhotoMetadata* metadata, GError** error) { + PngMetadataWriter * self; + PhotoMetadata* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_METADATA_WRITER, PngMetadataWriter); +#line 135 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 136 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = metadata; +#line 136 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 136 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = _tmp1_; +#line 136 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + photo_metadata_write_to_file (_tmp0_, _tmp2_, &_inner_error_); +#line 136 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _g_object_unref0 (_tmp2_); +#line 136 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 136 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_propagate_error (error, _inner_error_); +#line 136 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return; +#line 1650 "PngSupport.c" + } +} + + +static void png_metadata_writer_class_init (PngMetadataWriterClass * klass) { +#line 130 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_metadata_writer_parent_class = g_type_class_peek_parent (klass); +#line 130 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileMetadataWriterClass *) klass)->write_metadata = png_metadata_writer_real_write_metadata; +#line 1660 "PngSupport.c" +} + + +static void png_metadata_writer_instance_init (PngMetadataWriter * self) { +} + + +GType png_metadata_writer_get_type (void) { + static volatile gsize png_metadata_writer_type_id__volatile = 0; + if (g_once_init_enter (&png_metadata_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PngMetadataWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) png_metadata_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PngMetadataWriter), 0, (GInstanceInitFunc) png_metadata_writer_instance_init, NULL }; + GType png_metadata_writer_type_id; + png_metadata_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_METADATA_WRITER, "PngMetadataWriter", &g_define_type_info, 0); + g_once_init_leave (&png_metadata_writer_type_id__volatile, png_metadata_writer_type_id); + } + return png_metadata_writer_type_id__volatile; +} + + +void png_file_format_driver_init (void) { + PngFileFormatDriver* _tmp0_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_driver_new (); +#line 144 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _photo_file_format_driver_unref0 (png_file_format_driver_instance); +#line 144 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_driver_instance = _tmp0_; +#line 145 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_properties_init (); +#line 1690 "PngSupport.c" +} + + +static gpointer _photo_file_format_driver_ref0 (gpointer self) { +#line 149 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self ? photo_file_format_driver_ref (self) : NULL; +#line 1697 "PngSupport.c" +} + + +PngFileFormatDriver* png_file_format_driver_get_instance (void) { + PngFileFormatDriver* result = NULL; + PngFileFormatDriver* _tmp0_ = NULL; + PngFileFormatDriver* _tmp1_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_driver_instance; +#line 149 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = _photo_file_format_driver_ref0 (_tmp0_); +#line 149 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp1_; +#line 149 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1713 "PngSupport.c" +} + + +static PhotoFileFormatProperties* png_file_format_driver_real_get_properties (PhotoFileFormatDriver* base) { + PngFileFormatDriver * self; + PhotoFileFormatProperties* result = NULL; + PngFileFormatProperties* _tmp0_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 153 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = png_file_format_properties_get_instance (); +#line 153 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties); +#line 153 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1729 "PngSupport.c" +} + + +static PhotoFileReader* png_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath) { + PngFileFormatDriver * self; + PhotoFileReader* result = NULL; + const gchar* _tmp0_ = NULL; + PngReader* _tmp1_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 156 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 157 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = filepath; +#line 157 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = png_reader_new (_tmp0_); +#line 157 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_READER, PhotoFileReader); +#line 157 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1750 "PngSupport.c" +} + + +static gboolean png_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base) { + PngFileFormatDriver * self; + gboolean result = FALSE; +#line 160 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 161 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = TRUE; +#line 161 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1763 "PngSupport.c" +} + + +static gboolean png_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base) { + PngFileFormatDriver * self; + gboolean result = FALSE; +#line 164 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 165 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = TRUE; +#line 165 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1776 "PngSupport.c" +} + + +static PhotoFileWriter* png_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + PngFileFormatDriver * self; + PhotoFileWriter* result = NULL; + const gchar* _tmp0_ = NULL; + PngWriter* _tmp1_ = NULL; +#line 168 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 168 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 169 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = filepath; +#line 169 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = png_writer_new (_tmp0_); +#line 169 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_WRITER, PhotoFileWriter); +#line 169 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1797 "PngSupport.c" +} + + +static PhotoFileMetadataWriter* png_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + PngFileFormatDriver * self; + PhotoFileMetadataWriter* result = NULL; + const gchar* _tmp0_ = NULL; + PngMetadataWriter* _tmp1_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 172 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 173 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = filepath; +#line 173 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = png_metadata_writer_new (_tmp0_); +#line 173 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter); +#line 173 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1818 "PngSupport.c" +} + + +static PhotoFileSniffer* png_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options) { + PngFileFormatDriver * self; + PhotoFileSniffer* result = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; + PngSniffer* _tmp2_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 176 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 177 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = file; +#line 177 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp1_ = options; +#line 177 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp2_ = png_sniffer_new (_tmp0_, _tmp1_); +#line 177 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer); +#line 177 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1842 "PngSupport.c" +} + + +static PhotoMetadata* png_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base) { + PngFileFormatDriver * self; + PhotoMetadata* result = NULL; + PhotoMetadata* _tmp0_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 181 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + _tmp0_ = photo_metadata_new (); +#line 181 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + result = _tmp0_; +#line 181 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return result; +#line 1858 "PngSupport.c" +} + + +PngFileFormatDriver* png_file_format_driver_construct (GType object_type) { + PngFileFormatDriver* self = NULL; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = (PngFileFormatDriver*) photo_file_format_driver_construct (object_type); +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return self; +#line 1868 "PngSupport.c" +} + + +PngFileFormatDriver* png_file_format_driver_new (void) { +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + return png_file_format_driver_construct (TYPE_PNG_FILE_FORMAT_DRIVER); +#line 1875 "PngSupport.c" +} + + +static void png_file_format_driver_class_init (PngFileFormatDriverClass * klass) { +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + png_file_format_driver_parent_class = g_type_class_peek_parent (klass); +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->finalize = png_file_format_driver_finalize; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->get_properties = png_file_format_driver_real_get_properties; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_reader = png_file_format_driver_real_create_reader; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_image = png_file_format_driver_real_can_write_image; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_metadata = png_file_format_driver_real_can_write_metadata; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_writer = png_file_format_driver_real_create_writer; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata_writer = png_file_format_driver_real_create_metadata_writer; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_sniffer = png_file_format_driver_real_create_sniffer; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata = png_file_format_driver_real_create_metadata; +#line 1900 "PngSupport.c" +} + + +static void png_file_format_driver_instance_init (PngFileFormatDriver * self) { +} + + +static void png_file_format_driver_finalize (PhotoFileFormatDriver* obj) { + PngFileFormatDriver * self; +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PNG_FILE_FORMAT_DRIVER, PngFileFormatDriver); +#line 140 "/home/jens/Source/shotwell/src/photos/PngSupport.vala" + PHOTO_FILE_FORMAT_DRIVER_CLASS (png_file_format_driver_parent_class)->finalize (obj); +#line 1914 "PngSupport.c" +} + + +GType png_file_format_driver_get_type (void) { + static volatile gsize png_file_format_driver_type_id__volatile = 0; + if (g_once_init_enter (&png_file_format_driver_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PngFileFormatDriverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) png_file_format_driver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PngFileFormatDriver), 0, (GInstanceInitFunc) png_file_format_driver_instance_init, NULL }; + GType png_file_format_driver_type_id; + png_file_format_driver_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_DRIVER, "PngFileFormatDriver", &g_define_type_info, 0); + g_once_init_leave (&png_file_format_driver_type_id__volatile, png_file_format_driver_type_id); + } + return png_file_format_driver_type_id__volatile; +} + + + diff --git a/src/photos/RawSupport.c b/src/photos/RawSupport.c new file mode 100644 index 0000000..e06b1d5 --- /dev/null +++ b/src/photos/RawSupport.c @@ -0,0 +1,3165 @@ +/* RawSupport.c generated by valac 0.32.1, the Vala compiler + * generated from RawSupport.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_FORMAT_DRIVER (photo_file_format_driver_get_type ()) +#define PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver)) +#define PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) +#define IS_PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define IS_PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define PHOTO_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) + +typedef struct _PhotoFileFormatDriver PhotoFileFormatDriver; +typedef struct _PhotoFileFormatDriverClass PhotoFileFormatDriverClass; +typedef struct _PhotoFileFormatDriverPrivate PhotoFileFormatDriverPrivate; + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; + +#define TYPE_RAW_FILE_FORMAT_DRIVER (raw_file_format_driver_get_type ()) +#define RAW_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver)) +#define RAW_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriverClass)) +#define IS_RAW_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_FILE_FORMAT_DRIVER)) +#define IS_RAW_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_FILE_FORMAT_DRIVER)) +#define RAW_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriverClass)) + +typedef struct _RawFileFormatDriver RawFileFormatDriver; +typedef struct _RawFileFormatDriverClass RawFileFormatDriverClass; +typedef struct _RawFileFormatDriverPrivate RawFileFormatDriverPrivate; +#define _photo_file_format_driver_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_driver_unref (var), NULL))) + +#define TYPE_RAW_FILE_FORMAT_PROPERTIES (raw_file_format_properties_get_type ()) +#define RAW_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties)) +#define RAW_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatPropertiesClass)) +#define IS_RAW_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES)) +#define IS_RAW_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_FILE_FORMAT_PROPERTIES)) +#define RAW_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatPropertiesClass)) + +typedef struct _RawFileFormatProperties RawFileFormatProperties; +typedef struct _RawFileFormatPropertiesClass RawFileFormatPropertiesClass; + +#define TYPE_RAW_READER (raw_reader_get_type ()) +#define RAW_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_READER, RawReader)) +#define RAW_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_READER, RawReaderClass)) +#define IS_RAW_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_READER)) +#define IS_RAW_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_READER)) +#define RAW_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_READER, RawReaderClass)) + +typedef struct _RawReader RawReader; +typedef struct _RawReaderClass RawReaderClass; + +#define TYPE_RAW_SNIFFER (raw_sniffer_get_type ()) +#define RAW_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RAW_SNIFFER, RawSniffer)) +#define RAW_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RAW_SNIFFER, RawSnifferClass)) +#define IS_RAW_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RAW_SNIFFER)) +#define IS_RAW_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RAW_SNIFFER)) +#define RAW_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RAW_SNIFFER, RawSnifferClass)) + +typedef struct _RawSniffer RawSniffer; +typedef struct _RawSnifferClass RawSnifferClass; +typedef struct _PhotoFileFormatPropertiesPrivate PhotoFileFormatPropertiesPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT_FLAGS (photo_file_format_flags_get_type ()) +typedef struct _RawFileFormatPropertiesPrivate RawFileFormatPropertiesPrivate; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) +typedef struct _PhotoFileSnifferPrivate PhotoFileSnifferPrivate; + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; +typedef struct _RawSnifferPrivate RawSnifferPrivate; + +#define GRAW_TYPE_PROCESSOR (graw_processor_get_type ()) +#define GRAW_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GRAW_TYPE_PROCESSOR, GRawProcessor)) +#define GRAW_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GRAW_TYPE_PROCESSOR, GRawProcessorClass)) +#define GRAW_IS_PROCESSOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GRAW_TYPE_PROCESSOR)) +#define GRAW_IS_PROCESSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRAW_TYPE_PROCESSOR)) +#define GRAW_PROCESSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GRAW_TYPE_PROCESSOR, GRawProcessorClass)) + +typedef struct _GRawProcessor GRawProcessor; +typedef struct _GRawProcessorClass GRawProcessorClass; + +#define GRAW_TYPE_FLIP (graw_flip_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _graw_processor_unref0(var) ((var == NULL) ? NULL : (var = (graw_processor_unref (var), NULL))) +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +#define _media_metadata_unref0(var) ((var == NULL) ? NULL : (var = (media_metadata_unref (var), NULL))) +#define _photo_file_adapter_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_adapter_unref (var), NULL))) +typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate; +typedef struct _PhotoFileReaderPrivate PhotoFileReaderPrivate; +typedef struct _RawReaderPrivate RawReaderPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define GRAW_TYPE_PROCESSED_IMAGE (graw_processed_image_get_type ()) +#define GRAW_PROCESSED_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImage)) +#define GRAW_PROCESSED_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImageClass)) +#define GRAW_IS_PROCESSED_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GRAW_TYPE_PROCESSED_IMAGE)) +#define GRAW_IS_PROCESSED_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GRAW_TYPE_PROCESSED_IMAGE)) +#define GRAW_PROCESSED_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GRAW_TYPE_PROCESSED_IMAGE, GRawProcessedImageClass)) + +typedef struct _GRawProcessedImage GRawProcessedImage; +typedef struct _GRawProcessedImageClass GRawProcessedImageClass; +#define _graw_processed_image_unref0(var) ((var == NULL) ? NULL : (var = (graw_processed_image_unref (var), NULL))) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#define TYPE_BACKING_PHOTO_ROW (backing_photo_row_get_type ()) +#define BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRow)) +#define BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) +#define IS_BACKING_PHOTO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKING_PHOTO_ROW)) +#define IS_BACKING_PHOTO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKING_PHOTO_ROW)) +#define BACKING_PHOTO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKING_PHOTO_ROW, BackingPhotoRowClass)) + +typedef struct _BackingPhotoRow BackingPhotoRow; +typedef struct _BackingPhotoRowClass BackingPhotoRowClass; +#define _backing_photo_row_unref0(var) ((var == NULL) ? NULL : (var = (backing_photo_row_unref (var), NULL))) +typedef struct _BackingPhotoRowPrivate BackingPhotoRowPrivate; + +#define TYPE_BACKING_PHOTO_ID (backing_photo_id_get_type ()) +typedef struct _BackingPhotoID BackingPhotoID; + +#define TYPE_ORIENTATION (orientation_get_type ()) + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileFormatDriver { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatDriverPrivate * priv; +}; + +struct _PhotoFileFormatDriverClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatDriver *self); + PhotoFileFormatProperties* (*get_properties) (PhotoFileFormatDriver* self); + PhotoFileReader* (*create_reader) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoMetadata* (*create_metadata) (PhotoFileFormatDriver* self); + gboolean (*can_write_image) (PhotoFileFormatDriver* self); + gboolean (*can_write_metadata) (PhotoFileFormatDriver* self); + PhotoFileWriter* (*create_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileMetadataWriter* (*create_metadata_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileSniffer* (*create_sniffer) (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +}; + +struct _RawFileFormatDriver { + PhotoFileFormatDriver parent_instance; + RawFileFormatDriverPrivate * priv; +}; + +struct _RawFileFormatDriverClass { + PhotoFileFormatDriverClass parent_class; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + PHOTO_FILE_FORMAT_FLAGS_NONE = 0x00000000 +} PhotoFileFormatFlags; + +struct _PhotoFileFormatProperties { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatPropertiesPrivate * priv; +}; + +struct _PhotoFileFormatPropertiesClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatProperties *self); + PhotoFileFormat (*get_file_format) (PhotoFileFormatProperties* self); + PhotoFileFormatFlags (*get_flags) (PhotoFileFormatProperties* self); + gboolean (*is_recognized_extension) (PhotoFileFormatProperties* self, const gchar* ext); + gchar* (*get_default_extension) (PhotoFileFormatProperties* self); + gchar** (*get_known_extensions) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_default_mime_type) (PhotoFileFormatProperties* self); + gchar** (*get_mime_types) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_user_visible_name) (PhotoFileFormatProperties* self); +}; + +struct _RawFileFormatProperties { + PhotoFileFormatProperties parent_instance; + RawFileFormatPropertiesPrivate * priv; +}; + +struct _RawFileFormatPropertiesClass { + PhotoFileFormatPropertiesClass parent_class; +}; + +struct _PhotoFileSniffer { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileSnifferPrivate * priv; + GFile* file; + PhotoFileSnifferOptions options; + gboolean calc_md5; +}; + +struct _PhotoFileSnifferClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileSniffer *self); + DetectedPhotoInformation* (*sniff) (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +}; + +struct _RawSniffer { + PhotoFileSniffer parent_instance; + RawSnifferPrivate * priv; +}; + +struct _RawSnifferClass { + PhotoFileSnifferClass parent_class; +}; + +typedef enum { + GRAW_FLIP_FROM_SOURCE = -1, + GRAW_FLIP_NONE = 0, + GRAW_FLIP_UPSIDE_DOWN = 3, + GRAW_FLIP_COUNTERCLOCKWISE = 5, + GRAW_FLIP_CLOCKWISE = 6 +} GRawFlip; + +typedef enum { + GRAW_EXCEPTION_UNSPECIFIED, + GRAW_EXCEPTION_UNSUPPORTED_FILE, + GRAW_EXCEPTION_NONEXISTANT_IMAGE, + GRAW_EXCEPTION_OUT_OF_ORDER_CALL, + GRAW_EXCEPTION_NO_THUMBNAIL, + GRAW_EXCEPTION_UNSUPPORTED_THUMBNAIL, + GRAW_EXCEPTION_OUT_OF_MEMORY, + GRAW_EXCEPTION_DATA_ERROR, + GRAW_EXCEPTION_IO_ERROR, + GRAW_EXCEPTION_CANCELLED_BY_CALLBACK, + GRAW_EXCEPTION_BAD_CROP, + GRAW_EXCEPTION_SYSTEM_ERROR +} GRawException; +#define GRAW_EXCEPTION graw_exception_quark () +struct _Dimensions { + gint width; + gint height; +}; + +struct _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + +struct _PhotoFileAdapter { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileAdapterPrivate * priv; +}; + +struct _PhotoFileAdapterClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileAdapter *self); +}; + +struct _PhotoFileReader { + PhotoFileAdapter parent_instance; + PhotoFileReaderPrivate * priv; +}; + +struct _PhotoFileReaderClass { + PhotoFileAdapterClass parent_class; + PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +}; + +struct _RawReader { + PhotoFileReader parent_instance; + RawReaderPrivate * priv; +}; + +struct _RawReaderClass { + PhotoFileReaderClass parent_class; +}; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _BackingPhotoID { + gint64 id; +}; + +typedef enum { + ORIENTATION_MIN = 1, + ORIENTATION_TOP_LEFT = 1, + ORIENTATION_TOP_RIGHT = 2, + ORIENTATION_BOTTOM_RIGHT = 3, + ORIENTATION_BOTTOM_LEFT = 4, + ORIENTATION_LEFT_TOP = 5, + ORIENTATION_RIGHT_TOP = 6, + ORIENTATION_RIGHT_BOTTOM = 7, + ORIENTATION_LEFT_BOTTOM = 8, + ORIENTATION_MAX = 8 +} Orientation; + +struct _BackingPhotoRow { + GTypeInstance parent_instance; + volatile int ref_count; + BackingPhotoRowPrivate * priv; + BackingPhotoID id; + time_t time_created; + gchar* filepath; + gint64 filesize; + time_t timestamp; + PhotoFileFormat file_format; + Dimensions dim; + Orientation original_orientation; +}; + +struct _BackingPhotoRowClass { + GTypeClass parent_class; + void (*finalize) (BackingPhotoRow *self); +}; + + +static gpointer raw_file_format_driver_parent_class = NULL; +static RawFileFormatDriver* raw_file_format_driver_instance; +static RawFileFormatDriver* raw_file_format_driver_instance = NULL; +static gpointer raw_file_format_properties_parent_class = NULL; +static gchar** raw_file_format_properties_KNOWN_EXTENSIONS; +static gint raw_file_format_properties_KNOWN_EXTENSIONS_length1; +static gchar** raw_file_format_properties_KNOWN_EXTENSIONS = NULL; +static gint raw_file_format_properties_KNOWN_EXTENSIONS_length1 = 0; +static gint _raw_file_format_properties_KNOWN_EXTENSIONS_size_ = 0; +static gchar** raw_file_format_properties_KNOWN_MIME_TYPES; +static gint raw_file_format_properties_KNOWN_MIME_TYPES_length1; +static gchar** raw_file_format_properties_KNOWN_MIME_TYPES = NULL; +static gint raw_file_format_properties_KNOWN_MIME_TYPES_length1 = 0; +static gint _raw_file_format_properties_KNOWN_MIME_TYPES_size_ = 0; +static RawFileFormatProperties* raw_file_format_properties_instance; +static RawFileFormatProperties* raw_file_format_properties_instance = NULL; +static gpointer raw_sniffer_parent_class = NULL; +static gpointer raw_reader_parent_class = NULL; + +gpointer photo_file_format_driver_ref (gpointer instance); +void photo_file_format_driver_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_driver (GValue* value, gpointer v_object); +void value_take_photo_file_format_driver (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_driver (const GValue* value); +GType photo_file_format_driver_get_type (void) G_GNUC_CONST; +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +GType raw_file_format_driver_get_type (void) G_GNUC_CONST; +enum { + RAW_FILE_FORMAT_DRIVER_DUMMY_PROPERTY +}; +void raw_file_format_driver_init (void); +RawFileFormatDriver* raw_file_format_driver_new (void); +RawFileFormatDriver* raw_file_format_driver_construct (GType object_type); +void raw_file_format_properties_init (void); +RawFileFormatDriver* raw_file_format_driver_get_instance (void); +static PhotoFileFormatProperties* raw_file_format_driver_real_get_properties (PhotoFileFormatDriver* base); +GType raw_file_format_properties_get_type (void) G_GNUC_CONST; +RawFileFormatProperties* raw_file_format_properties_get_instance (void); +static PhotoFileReader* raw_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath); +RawReader* raw_reader_new (const gchar* filepath); +RawReader* raw_reader_construct (GType object_type, const gchar* filepath); +GType raw_reader_get_type (void) G_GNUC_CONST; +static PhotoMetadata* raw_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base); +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +static gboolean raw_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base); +static gboolean raw_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base); +static PhotoFileWriter* raw_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath); +static PhotoFileMetadataWriter* raw_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath); +static PhotoFileSniffer* raw_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options); +RawSniffer* raw_sniffer_new (GFile* file, PhotoFileSnifferOptions options); +RawSniffer* raw_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +GType raw_sniffer_get_type (void) G_GNUC_CONST; +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type); +static void raw_file_format_driver_finalize (PhotoFileFormatDriver* obj); +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType photo_file_format_flags_get_type (void) G_GNUC_CONST; +enum { + RAW_FILE_FORMAT_PROPERTIES_DUMMY_PROPERTY +}; +RawFileFormatProperties* raw_file_format_properties_new (void); +RawFileFormatProperties* raw_file_format_properties_construct (GType object_type); +static PhotoFileFormat raw_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base); +static gchar* raw_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base); +static PhotoFileFormatFlags raw_file_format_properties_real_get_flags (PhotoFileFormatProperties* base); +static gchar* raw_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base); +static gchar** raw_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup12 (gchar** self, int length); +static gchar* raw_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base); +static gchar** raw_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup13 (gchar** self, int length); +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type); +static void raw_file_format_properties_finalize (PhotoFileFormatProperties* obj); +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +enum { + RAW_SNIFFER_DUMMY_PROPERTY +}; +PhotoFileSniffer* photo_file_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +static DetectedPhotoInformation* raw_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error); +DetectedPhotoInformation* detected_photo_information_new (void); +DetectedPhotoInformation* detected_photo_information_construct (GType object_type); +gpointer graw_processor_ref (gpointer instance); +void graw_processor_unref (gpointer instance); +GParamSpec* graw_param_spec_processor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void graw_value_set_processor (GValue* value, gpointer v_object); +void graw_value_take_processor (GValue* value, gpointer v_object); +gpointer graw_value_get_processor (const GValue* value); +GType graw_processor_get_type (void) G_GNUC_CONST; +GRawProcessor* graw_processor_new (enum LibRaw_constructor_flags options); +GRawProcessor* graw_processor_construct (GType object_type, enum LibRaw_constructor_flags options); +libraw_output_params_t* graw_processor_get_output_params (GRawProcessor* self); +GType graw_flip_get_type (void) G_GNUC_CONST; +GQuark graw_exception_quark (void); +void graw_processor_open_file (GRawProcessor* self, const gchar* filename, GError** error); +void graw_processor_unpack (GRawProcessor* self, GError** error); +void graw_processor_adjust_sizes_info_only (GRawProcessor* self, GError** error); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +libraw_image_sizes_t graw_processor_get_sizes (GRawProcessor* self); +void dimensions_init (Dimensions *self, gint width, gint height); +PhotoMetadata* photo_file_reader_read_metadata (PhotoFileReader* self, GError** error); +guint8* photo_metadata_flatten_exif (PhotoMetadata* self, gboolean include_preview, int* result_length1); +gchar* md5_binary (guint8* buffer, gsize length); +guint8* photo_metadata_flatten_exif_preview (PhotoMetadata* self, int* result_length1); +gchar* md5_file (GFile* file, GError** error); +enum { + RAW_READER_DUMMY_PROPERTY +}; +PhotoFileReader* photo_file_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static PhotoMetadata* raw_reader_real_read_metadata (PhotoFileReader* base, GError** error); +void media_metadata_read_from_file (MediaMetadata* self, GFile* file, GError** error); +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); +static GdkPixbuf* raw_reader_real_unscaled_read (PhotoFileReader* base, GError** error); +void graw_processor_configure_for_rgb_display (GRawProcessor* self, gboolean half_size); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +void graw_processor_process (GRawProcessor* self, GError** error); +gpointer graw_processed_image_ref (gpointer instance); +void graw_processed_image_unref (gpointer instance); +GParamSpec* graw_param_spec_processed_image (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void graw_value_set_processed_image (GValue* value, gpointer v_object); +void graw_value_take_processed_image (GValue* value, gpointer v_object); +gpointer graw_value_get_processed_image (const GValue* value); +GType graw_processed_image_get_type (void) G_GNUC_CONST; +GRawProcessedImage* graw_processor_make_mem_image (GRawProcessor* self, GError** error); +GdkPixbuf* graw_processed_image_get_pixbuf_copy (GRawProcessedImage* self); +static GdkPixbuf* raw_reader_real_scaled_read (PhotoFileReader* base, Dimensions* full, Dimensions* scaled, GError** error); +GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp); +GType raw_developer_get_type (void) G_GNUC_CONST; +RawDeveloper* raw_developer_as_array (int* result_length1); +gchar* raw_developer_to_string (RawDeveloper self); +RawDeveloper raw_developer_from_string (const gchar* value); +gchar* raw_developer_get_label (RawDeveloper self); +gboolean raw_developer_is_equivalent (RawDeveloper self, RawDeveloper d); +gpointer backing_photo_row_ref (gpointer instance); +void backing_photo_row_unref (gpointer instance); +GParamSpec* param_spec_backing_photo_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_backing_photo_row (GValue* value, gpointer v_object); +void value_take_backing_photo_row (GValue* value, gpointer v_object); +gpointer value_get_backing_photo_row (const GValue* value); +GType backing_photo_row_get_type (void) G_GNUC_CONST; +BackingPhotoRow* raw_developer_create_backing_row_for_development (RawDeveloper self, const gchar* raw_filepath, const gchar* camera_development_filename, GError** error); +BackingPhotoRow* backing_photo_row_new (void); +BackingPhotoRow* backing_photo_row_construct (GType object_type); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +GFile* generate_unique_file (GFile* dir, const gchar* basename, gboolean* collision, GError** error); +gboolean claim_file (GFile* file, GError** error); +GType backing_photo_id_get_type (void) G_GNUC_CONST; +BackingPhotoID* backing_photo_id_dup (const BackingPhotoID* self); +void backing_photo_id_free (BackingPhotoID* self); +GType orientation_get_type (void) G_GNUC_CONST; + + +void raw_file_format_driver_init (void) { + RawFileFormatDriver* _tmp0_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = raw_file_format_driver_new (); +#line 11 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _photo_file_format_driver_unref0 (raw_file_format_driver_instance); +#line 11 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_driver_instance = _tmp0_; +#line 12 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_properties_init (); +#line 658 "RawSupport.c" +} + + +static gpointer _photo_file_format_driver_ref0 (gpointer self) { +#line 16 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return self ? photo_file_format_driver_ref (self) : NULL; +#line 665 "RawSupport.c" +} + + +RawFileFormatDriver* raw_file_format_driver_get_instance (void) { + RawFileFormatDriver* result = NULL; + RawFileFormatDriver* _tmp0_ = NULL; + RawFileFormatDriver* _tmp1_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = raw_file_format_driver_instance; +#line 16 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = _photo_file_format_driver_ref0 (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp1_; +#line 16 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 681 "RawSupport.c" +} + + +static PhotoFileFormatProperties* raw_file_format_driver_real_get_properties (PhotoFileFormatDriver* base) { + RawFileFormatDriver * self; + PhotoFileFormatProperties* result = NULL; + RawFileFormatProperties* _tmp0_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 20 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = raw_file_format_properties_get_instance (); +#line 20 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties); +#line 20 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 697 "RawSupport.c" +} + + +static PhotoFileReader* raw_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath) { + RawFileFormatDriver * self; + PhotoFileReader* result = NULL; + const gchar* _tmp0_ = NULL; + RawReader* _tmp1_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 23 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 24 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = filepath; +#line 24 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = raw_reader_new (_tmp0_); +#line 24 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_READER, PhotoFileReader); +#line 24 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 718 "RawSupport.c" +} + + +static PhotoMetadata* raw_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base) { + RawFileFormatDriver * self; + PhotoMetadata* result = NULL; + PhotoMetadata* _tmp0_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 28 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = photo_metadata_new (); +#line 28 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp0_; +#line 28 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 734 "RawSupport.c" +} + + +static gboolean raw_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base) { + RawFileFormatDriver * self; + gboolean result = FALSE; +#line 31 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 32 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = FALSE; +#line 32 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 747 "RawSupport.c" +} + + +static gboolean raw_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base) { + RawFileFormatDriver * self; + gboolean result = FALSE; +#line 35 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 36 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = FALSE; +#line 36 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 760 "RawSupport.c" +} + + +static PhotoFileWriter* raw_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + RawFileFormatDriver * self; + PhotoFileWriter* result = NULL; +#line 39 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 39 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 40 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = NULL; +#line 40 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 775 "RawSupport.c" +} + + +static PhotoFileMetadataWriter* raw_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + RawFileFormatDriver * self; + PhotoFileMetadataWriter* result = NULL; +#line 43 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 43 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 44 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = NULL; +#line 44 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 790 "RawSupport.c" +} + + +static PhotoFileSniffer* raw_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options) { + RawFileFormatDriver * self; + PhotoFileSniffer* result = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; + RawSniffer* _tmp2_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 47 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 48 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = file; +#line 48 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = options; +#line 48 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = raw_sniffer_new (_tmp0_, _tmp1_); +#line 48 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer); +#line 48 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 814 "RawSupport.c" +} + + +RawFileFormatDriver* raw_file_format_driver_construct (GType object_type) { + RawFileFormatDriver* self = NULL; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = (RawFileFormatDriver*) photo_file_format_driver_construct (object_type); +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return self; +#line 824 "RawSupport.c" +} + + +RawFileFormatDriver* raw_file_format_driver_new (void) { +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return raw_file_format_driver_construct (TYPE_RAW_FILE_FORMAT_DRIVER); +#line 831 "RawSupport.c" +} + + +static void raw_file_format_driver_class_init (RawFileFormatDriverClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_driver_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->finalize = raw_file_format_driver_finalize; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->get_properties = raw_file_format_driver_real_get_properties; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_reader = raw_file_format_driver_real_create_reader; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata = raw_file_format_driver_real_create_metadata; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_image = raw_file_format_driver_real_can_write_image; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_metadata = raw_file_format_driver_real_can_write_metadata; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_writer = raw_file_format_driver_real_create_writer; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata_writer = raw_file_format_driver_real_create_metadata_writer; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_sniffer = raw_file_format_driver_real_create_sniffer; +#line 856 "RawSupport.c" +} + + +static void raw_file_format_driver_instance_init (RawFileFormatDriver * self) { +} + + +static void raw_file_format_driver_finalize (PhotoFileFormatDriver* obj) { + RawFileFormatDriver * self; +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RAW_FILE_FORMAT_DRIVER, RawFileFormatDriver); +#line 7 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + PHOTO_FILE_FORMAT_DRIVER_CLASS (raw_file_format_driver_parent_class)->finalize (obj); +#line 870 "RawSupport.c" +} + + +GType raw_file_format_driver_get_type (void) { + static volatile gsize raw_file_format_driver_type_id__volatile = 0; + if (g_once_init_enter (&raw_file_format_driver_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RawFileFormatDriverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) raw_file_format_driver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RawFileFormatDriver), 0, (GInstanceInitFunc) raw_file_format_driver_instance_init, NULL }; + GType raw_file_format_driver_type_id; + raw_file_format_driver_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_DRIVER, "RawFileFormatDriver", &g_define_type_info, 0); + g_once_init_leave (&raw_file_format_driver_type_id__volatile, raw_file_format_driver_type_id); + } + return raw_file_format_driver_type_id__volatile; +} + + +void raw_file_format_properties_init (void) { + RawFileFormatProperties* _tmp0_ = NULL; +#line 122 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = raw_file_format_properties_new (); +#line 122 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _photo_file_format_properties_unref0 (raw_file_format_properties_instance); +#line 122 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_properties_instance = _tmp0_; +#line 894 "RawSupport.c" +} + + +static gpointer _photo_file_format_properties_ref0 (gpointer self) { +#line 126 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return self ? photo_file_format_properties_ref (self) : NULL; +#line 901 "RawSupport.c" +} + + +RawFileFormatProperties* raw_file_format_properties_get_instance (void) { + RawFileFormatProperties* result = NULL; + RawFileFormatProperties* _tmp0_ = NULL; + RawFileFormatProperties* _tmp1_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = raw_file_format_properties_instance; +#line 126 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = _photo_file_format_properties_ref0 (_tmp0_); +#line 126 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp1_; +#line 126 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 917 "RawSupport.c" +} + + +static PhotoFileFormat raw_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base) { + RawFileFormatProperties * self; + PhotoFileFormat result = 0; +#line 129 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties); +#line 130 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = PHOTO_FILE_FORMAT_RAW; +#line 130 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 930 "RawSupport.c" +} + + +static gchar* raw_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base) { + RawFileFormatProperties * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties); +#line 134 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = _ ("RAW"); +#line 134 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 134 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp1_; +#line 134 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 949 "RawSupport.c" +} + + +static PhotoFileFormatFlags raw_file_format_properties_real_get_flags (PhotoFileFormatProperties* base) { + RawFileFormatProperties * self; + PhotoFileFormatFlags result = 0; +#line 137 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties); +#line 138 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = PHOTO_FILE_FORMAT_FLAGS_NONE; +#line 138 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 962 "RawSupport.c" +} + + +static gchar* raw_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base) { + RawFileFormatProperties * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties); +#line 145 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = g_strdup ("raw"); +#line 145 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp0_; +#line 145 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 978 "RawSupport.c" +} + + +static gchar** _vala_array_dup12 (gchar** self, int length) { + gchar** result; + int i; +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + for (i = 0; i < length; i++) { +#line 989 "RawSupport.c" + gchar* _tmp0_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result[i] = _tmp0_; +#line 995 "RawSupport.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 999 "RawSupport.c" +} + + +static gchar** raw_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1) { + RawFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 148 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties); +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = raw_file_format_properties_KNOWN_EXTENSIONS; +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0__length1 = raw_file_format_properties_KNOWN_EXTENSIONS_length1; +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup12 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = _tmp1_; +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (result_length1) { +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + *result_length1 = _tmp2__length1; +#line 1030 "RawSupport.c" + } +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp2_; +#line 149 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 1036 "RawSupport.c" +} + + +static gchar* raw_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base) { + RawFileFormatProperties * self; + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties); +#line 153 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = raw_file_format_properties_KNOWN_MIME_TYPES; +#line 153 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0__length1 = raw_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 153 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = _tmp0_[0]; +#line 153 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 153 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp2_; +#line 153 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 1061 "RawSupport.c" +} + + +static gchar** _vala_array_dup13 (gchar** self, int length) { + gchar** result; + int i; +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + for (i = 0; i < length; i++) { +#line 1072 "RawSupport.c" + gchar* _tmp0_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result[i] = _tmp0_; +#line 1078 "RawSupport.c" + } +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 1082 "RawSupport.c" +} + + +static gchar** raw_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1) { + RawFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 156 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties); +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = raw_file_format_properties_KNOWN_MIME_TYPES; +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0__length1 = raw_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup13 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = _tmp1_; +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (result_length1) { +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + *result_length1 = _tmp2__length1; +#line 1113 "RawSupport.c" + } +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp2_; +#line 157 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 1119 "RawSupport.c" +} + + +RawFileFormatProperties* raw_file_format_properties_construct (GType object_type) { + RawFileFormatProperties* self = NULL; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = (RawFileFormatProperties*) photo_file_format_properties_construct (object_type); +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return self; +#line 1129 "RawSupport.c" +} + + +RawFileFormatProperties* raw_file_format_properties_new (void) { +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return raw_file_format_properties_construct (TYPE_RAW_FILE_FORMAT_PROPERTIES); +#line 1136 "RawSupport.c" +} + + +static void raw_file_format_properties_class_init (RawFileFormatPropertiesClass * klass) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + gchar* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + gchar** _tmp36_ = NULL; + gchar* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + gchar* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + gchar* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + gchar* _tmp54_ = NULL; + gchar* _tmp55_ = NULL; + gchar* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + gchar* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; + gchar* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; + gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + gchar* _tmp72_ = NULL; + gchar* _tmp73_ = NULL; + gchar* _tmp74_ = NULL; + gchar* _tmp75_ = NULL; + gchar* _tmp76_ = NULL; + gchar* _tmp77_ = NULL; + gchar* _tmp78_ = NULL; + gchar* _tmp79_ = NULL; + gchar* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + gchar* _tmp83_ = NULL; + gchar* _tmp84_ = NULL; + gchar* _tmp85_ = NULL; + gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; + gchar** _tmp88_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_properties_parent_class = g_type_class_peek_parent (klass); +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->finalize = raw_file_format_properties_finalize; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_file_format = raw_file_format_properties_real_get_file_format; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_user_visible_name = raw_file_format_properties_real_get_user_visible_name; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_flags = raw_file_format_properties_real_get_flags; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_extension = raw_file_format_properties_real_get_default_extension; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_known_extensions = raw_file_format_properties_real_get_known_extensions; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_mime_type = raw_file_format_properties_real_get_default_mime_type; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_mime_types = raw_file_format_properties_real_get_mime_types; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = g_strdup ("3fr"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = g_strdup ("arw"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = g_strdup ("srf"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp3_ = g_strdup ("sr2"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp4_ = g_strdup ("bay"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp5_ = g_strdup ("crw"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp6_ = g_strdup ("cr2"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp7_ = g_strdup ("cap"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp8_ = g_strdup ("iiq"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp9_ = g_strdup ("eip"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp10_ = g_strdup ("dcs"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp11_ = g_strdup ("dcr"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp12_ = g_strdup ("drf"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp13_ = g_strdup ("k25"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp14_ = g_strdup ("kdc"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp15_ = g_strdup ("dng"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp16_ = g_strdup ("erf"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp17_ = g_strdup ("fff"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp18_ = g_strdup ("mef"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp19_ = g_strdup ("mos"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp20_ = g_strdup ("mrw"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp21_ = g_strdup ("nef"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp22_ = g_strdup ("nrw"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp23_ = g_strdup ("orf"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp24_ = g_strdup ("ptx"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp25_ = g_strdup ("pef"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp26_ = g_strdup ("pxn"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp27_ = g_strdup ("r3d"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp28_ = g_strdup ("raf"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp29_ = g_strdup ("raw"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp30_ = g_strdup ("rw2"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp31_ = g_strdup ("raw"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp32_ = g_strdup ("rwl"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp33_ = g_strdup ("rwz"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp34_ = g_strdup ("x3f"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp35_ = g_strdup ("srw"); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_ = g_new0 (gchar*, 36 + 1); +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[0] = _tmp0_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[1] = _tmp1_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[2] = _tmp2_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[3] = _tmp3_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[4] = _tmp4_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[5] = _tmp5_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[6] = _tmp6_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[7] = _tmp7_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[8] = _tmp8_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[9] = _tmp9_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[10] = _tmp10_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[11] = _tmp11_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[12] = _tmp12_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[13] = _tmp13_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[14] = _tmp14_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[15] = _tmp15_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[16] = _tmp16_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[17] = _tmp17_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[18] = _tmp18_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[19] = _tmp19_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[20] = _tmp20_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[21] = _tmp21_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[22] = _tmp22_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[23] = _tmp23_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[24] = _tmp24_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[25] = _tmp25_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[26] = _tmp26_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[27] = _tmp27_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[28] = _tmp28_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[29] = _tmp29_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[30] = _tmp30_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[31] = _tmp31_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[32] = _tmp32_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[33] = _tmp33_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[34] = _tmp34_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_[35] = _tmp35_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_properties_KNOWN_EXTENSIONS = _tmp36_; +#line 53 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_properties_KNOWN_EXTENSIONS_length1 = 36; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp37_ = g_strdup ("image/x-dcraw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp38_ = g_strdup ("image/x-canon-cr2"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp39_ = g_strdup ("image/x-canon-crw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp40_ = g_strdup ("image/x-fuji-raf"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp41_ = g_strdup ("image/x-adobe-dng"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp42_ = g_strdup ("image/x-panasonic-raw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp43_ = g_strdup ("image/x-raw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp44_ = g_strdup ("image/x-minolta-mrw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp45_ = g_strdup ("image/x-nikon-nef"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp46_ = g_strdup ("image/x-olympus-orf"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp47_ = g_strdup ("image/x-pentax-pef"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp48_ = g_strdup ("image/x-sony-arw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp49_ = g_strdup ("image/x-sony-srf"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp50_ = g_strdup ("image/x-sony-sr2"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp51_ = g_strdup ("image/x-samsung-raw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp52_ = g_strdup ("image/x-3fr"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp53_ = g_strdup ("image/x-arw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp54_ = g_strdup ("image/x-srf"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp55_ = g_strdup ("image/x-sr2"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp56_ = g_strdup ("image/x-bay"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp57_ = g_strdup ("image/x-crw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp58_ = g_strdup ("image/x-cr2"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp59_ = g_strdup ("image/x-cap"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp60_ = g_strdup ("image/x-iiq"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp61_ = g_strdup ("image/x-eip"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp62_ = g_strdup ("image/x-dcs"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp63_ = g_strdup ("image/x-dcr"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp64_ = g_strdup ("image/x-drf"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp65_ = g_strdup ("image/x-k25"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp66_ = g_strdup ("image/x-kdc"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp67_ = g_strdup ("image/x-dng"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp68_ = g_strdup ("image/x-erf"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp69_ = g_strdup ("image/x-fff"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp70_ = g_strdup ("image/x-mef"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp71_ = g_strdup ("image/x-mos"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp72_ = g_strdup ("image/x-mrw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp73_ = g_strdup ("image/x-nef"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp74_ = g_strdup ("image/x-nrw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp75_ = g_strdup ("image/x-orf"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp76_ = g_strdup ("image/x-ptx"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp77_ = g_strdup ("image/x-pef"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp78_ = g_strdup ("image/x-pxn"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp79_ = g_strdup ("image/x-r3d"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp80_ = g_strdup ("image/x-raf"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp81_ = g_strdup ("image/x-raw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp82_ = g_strdup ("image/x-rw2"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp83_ = g_strdup ("image/x-raw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp84_ = g_strdup ("image/x-rwl"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp85_ = g_strdup ("image/x-rwz"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp86_ = g_strdup ("image/x-x3f"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp87_ = g_strdup ("image/x-srw"); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_ = g_new0 (gchar*, 51 + 1); +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[0] = _tmp37_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[1] = _tmp38_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[2] = _tmp39_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[3] = _tmp40_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[4] = _tmp41_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[5] = _tmp42_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[6] = _tmp43_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[7] = _tmp44_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[8] = _tmp45_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[9] = _tmp46_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[10] = _tmp47_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[11] = _tmp48_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[12] = _tmp49_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[13] = _tmp50_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[14] = _tmp51_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[15] = _tmp52_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[16] = _tmp53_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[17] = _tmp54_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[18] = _tmp55_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[19] = _tmp56_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[20] = _tmp57_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[21] = _tmp58_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[22] = _tmp59_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[23] = _tmp60_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[24] = _tmp61_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[25] = _tmp62_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[26] = _tmp63_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[27] = _tmp64_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[28] = _tmp65_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[29] = _tmp66_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[30] = _tmp67_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[31] = _tmp68_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[32] = _tmp69_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[33] = _tmp70_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[34] = _tmp71_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[35] = _tmp72_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[36] = _tmp73_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[37] = _tmp74_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[38] = _tmp75_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[39] = _tmp76_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[40] = _tmp77_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[41] = _tmp78_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[42] = _tmp79_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[43] = _tmp80_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[44] = _tmp81_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[45] = _tmp82_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[46] = _tmp83_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[47] = _tmp84_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[48] = _tmp85_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[49] = _tmp86_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp88_[50] = _tmp87_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_properties_KNOWN_MIME_TYPES = _tmp88_; +#line 59 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_file_format_properties_KNOWN_MIME_TYPES_length1 = 51; +#line 1608 "RawSupport.c" +} + + +static void raw_file_format_properties_instance_init (RawFileFormatProperties * self) { +} + + +static void raw_file_format_properties_finalize (PhotoFileFormatProperties* obj) { + RawFileFormatProperties * self; +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RAW_FILE_FORMAT_PROPERTIES, RawFileFormatProperties); +#line 52 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + PHOTO_FILE_FORMAT_PROPERTIES_CLASS (raw_file_format_properties_parent_class)->finalize (obj); +#line 1622 "RawSupport.c" +} + + +GType raw_file_format_properties_get_type (void) { + static volatile gsize raw_file_format_properties_type_id__volatile = 0; + if (g_once_init_enter (&raw_file_format_properties_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RawFileFormatPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) raw_file_format_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RawFileFormatProperties), 0, (GInstanceInitFunc) raw_file_format_properties_instance_init, NULL }; + GType raw_file_format_properties_type_id; + raw_file_format_properties_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_PROPERTIES, "RawFileFormatProperties", &g_define_type_info, 0); + g_once_init_leave (&raw_file_format_properties_type_id__volatile, raw_file_format_properties_type_id); + } + return raw_file_format_properties_type_id__volatile; +} + + +RawSniffer* raw_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options) { + RawSniffer* self = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; +#line 162 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 163 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = file; +#line 163 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = options; +#line 163 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = (RawSniffer*) photo_file_sniffer_construct (object_type, _tmp0_, _tmp1_); +#line 162 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return self; +#line 1652 "RawSupport.c" +} + + +RawSniffer* raw_sniffer_new (GFile* file, PhotoFileSnifferOptions options) { +#line 162 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return raw_sniffer_construct (TYPE_RAW_SNIFFER, file, options); +#line 1659 "RawSupport.c" +} + + +static gpointer _g_error_copy0 (gpointer self) { +#line 183 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return self ? g_error_copy (self) : NULL; +#line 1666 "RawSupport.c" +} + + +static DetectedPhotoInformation* raw_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error) { + RawSniffer * self; + gboolean _vala_is_corrupted = FALSE; + DetectedPhotoInformation* result = NULL; + DetectedPhotoInformation* detected = NULL; + DetectedPhotoInformation* _tmp0_ = NULL; + GRawProcessor* processor = NULL; + GRawProcessor* _tmp1_ = NULL; + GRawProcessor* _tmp2_ = NULL; + libraw_output_params_t* _tmp3_ = NULL; + libraw_output_params_t* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp14_ = NULL; + GRawProcessor* _tmp15_ = NULL; + libraw_image_sizes_t _tmp16_ = {0}; + gushort _tmp17_ = 0U; + GRawProcessor* _tmp18_ = NULL; + libraw_image_sizes_t _tmp19_ = {0}; + gushort _tmp20_ = 0U; + DetectedPhotoInformation* _tmp21_ = NULL; + DetectedPhotoInformation* _tmp22_ = NULL; + DetectedPhotoInformation* _tmp23_ = NULL; + RawReader* reader = NULL; + GFile* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + RawReader* _tmp27_ = NULL; + RawReader* _tmp28_ = NULL; + DetectedPhotoInformation* _tmp34_ = NULL; + PhotoMetadata* _tmp35_ = NULL; + gboolean _tmp58_ = FALSE; + DetectedPhotoInformation* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + DetectedPhotoInformation* _tmp66_ = NULL; + GError * _inner_error_ = NULL; +#line 166 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_SNIFFER, RawSniffer); +#line 168 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _vala_is_corrupted = FALSE; +#line 170 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = detected_photo_information_new (); +#line 170 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + detected = _tmp0_; +#line 172 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = graw_processor_new (LIBRAW_OPTIONS_NONE); +#line 172 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + processor = _tmp1_; +#line 173 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = processor; +#line 173 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp3_ = graw_processor_get_output_params (_tmp2_); +#line 173 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp4_ = _tmp3_; +#line 173 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + (*_tmp4_).user_flip = (gint) GRAW_FLIP_NONE; +#line 1724 "RawSupport.c" + { + GRawProcessor* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GRawProcessor* _tmp9_ = NULL; + GRawProcessor* _tmp10_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp5_ = processor; +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp7_ = g_file_get_path (_tmp6_); +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp8_ = _tmp7_; +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_open_file (_tmp5_, _tmp8_, &_inner_error_); +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp8_); +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 1748 "RawSupport.c" + goto __catch29_graw_exception; + } +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _detected_photo_information_unref0 (detected); +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.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 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_clear_error (&_inner_error_); +#line 176 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 1761 "RawSupport.c" + } +#line 177 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp9_ = processor; +#line 177 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_unpack (_tmp9_, &_inner_error_); +#line 177 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 177 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 1771 "RawSupport.c" + goto __catch29_graw_exception; + } +#line 177 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 177 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _detected_photo_information_unref0 (detected); +#line 177 "/home/jens/Source/shotwell/src/photos/RawSupport.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 177 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_clear_error (&_inner_error_); +#line 177 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 1784 "RawSupport.c" + } +#line 178 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp10_ = processor; +#line 178 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_adjust_sizes_info_only (_tmp10_, &_inner_error_); +#line 178 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 178 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_inner_error_->domain == GRAW_EXCEPTION) { +#line 1794 "RawSupport.c" + goto __catch29_graw_exception; + } +#line 178 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 178 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _detected_photo_information_unref0 (detected); +#line 178 "/home/jens/Source/shotwell/src/photos/RawSupport.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 178 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_clear_error (&_inner_error_); +#line 178 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 1807 "RawSupport.c" + } + } + goto __finally29; + __catch29_graw_exception: + { + GError* exception = NULL; + GError* _tmp11_ = NULL; + GError* _tmp12_ = NULL; + GError* _tmp13_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + exception = _inner_error_; +#line 175 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _inner_error_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp11_ = exception; +#line 180 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (g_error_matches (_tmp11_, GRAW_EXCEPTION, GRAW_EXCEPTION_UNSUPPORTED_FILE)) { +#line 181 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = NULL; +#line 181 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_error_free0 (exception); +#line 181 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 181 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _detected_photo_information_unref0 (detected); +#line 181 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (is_corrupted) { +#line 181 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1837 "RawSupport.c" + } +#line 181 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 1841 "RawSupport.c" + } +#line 183 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp12_ = exception; +#line 183 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp13_ = _g_error_copy0 (_tmp12_); +#line 183 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _inner_error_ = _tmp13_; +#line 183 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_error_free0 (exception); +#line 1851 "RawSupport.c" + goto __finally29; + } + __finally29: +#line 175 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 175 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 175 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 175 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _detected_photo_information_unref0 (detected); +#line 175 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 1865 "RawSupport.c" + } +#line 186 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp14_ = detected; +#line 186 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp15_ = processor; +#line 186 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp16_ = graw_processor_get_sizes (_tmp15_); +#line 186 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp17_ = _tmp16_.iwidth; +#line 186 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp18_ = processor; +#line 186 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp19_ = graw_processor_get_sizes (_tmp18_); +#line 186 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp20_ = _tmp19_.iheight; +#line 186 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + dimensions_init (&_tmp14_->image_dim, (gint) _tmp17_, (gint) _tmp20_); +#line 187 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp21_ = detected; +#line 187 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp21_->colorspace = GDK_COLORSPACE_RGB; +#line 188 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp22_ = detected; +#line 188 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp22_->channels = 3; +#line 189 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp23_ = detected; +#line 189 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp23_->bits_per_channel = 8; +#line 191 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp24_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 191 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp25_ = g_file_get_path (_tmp24_); +#line 191 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp26_ = _tmp25_; +#line 191 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp27_ = raw_reader_new (_tmp26_); +#line 191 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp28_ = _tmp27_; +#line 191 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp26_); +#line 191 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + reader = _tmp28_; +#line 1909 "RawSupport.c" + { + PhotoMetadata* _tmp29_ = NULL; + RawReader* _tmp30_ = NULL; + PhotoMetadata* _tmp31_ = NULL; + DetectedPhotoInformation* _tmp32_ = NULL; + PhotoMetadata* _tmp33_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp30_ = reader; +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp31_ = photo_file_reader_read_metadata (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_PHOTO_FILE_READER, PhotoFileReader), &_inner_error_); +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp29_ = _tmp31_; +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1924 "RawSupport.c" + goto __catch30_g_error; + } +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp32_ = detected; +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp33_ = _tmp29_; +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp29_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _media_metadata_unref0 (_tmp32_->metadata); +#line 193 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp32_->metadata = _tmp33_; +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _media_metadata_unref0 (_tmp29_); +#line 1939 "RawSupport.c" + } + goto __finally30; + __catch30_g_error: + { + GError* err = NULL; +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + err = _inner_error_; +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _inner_error_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_error_free0 (err); +#line 1951 "RawSupport.c" + } + __finally30: +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _photo_file_adapter_unref0 (reader); +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _detected_photo_information_unref0 (detected); +#line 192 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 1966 "RawSupport.c" + } +#line 198 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp34_ = detected; +#line 198 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp35_ = _tmp34_->metadata; +#line 198 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp35_ != NULL) { +#line 1974 "RawSupport.c" + guint8* flattened_sans_thumbnail = NULL; + DetectedPhotoInformation* _tmp36_ = NULL; + PhotoMetadata* _tmp37_ = NULL; + gint _tmp38_ = 0; + guint8* _tmp39_ = NULL; + gint flattened_sans_thumbnail_length1 = 0; + gint _flattened_sans_thumbnail_size_ = 0; + gboolean _tmp40_ = FALSE; + guint8* _tmp41_ = NULL; + gint _tmp41__length1 = 0; + guint8* flattened_thumbnail = NULL; + DetectedPhotoInformation* _tmp47_ = NULL; + PhotoMetadata* _tmp48_ = NULL; + gint _tmp49_ = 0; + guint8* _tmp50_ = NULL; + gint flattened_thumbnail_length1 = 0; + gint _flattened_thumbnail_size_ = 0; + gboolean _tmp51_ = FALSE; + guint8* _tmp52_ = NULL; + gint _tmp52__length1 = 0; +#line 199 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_ = detected; +#line 199 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp37_ = _tmp36_->metadata; +#line 199 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp39_ = photo_metadata_flatten_exif (_tmp37_, FALSE, &_tmp38_); +#line 199 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + flattened_sans_thumbnail = _tmp39_; +#line 199 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + flattened_sans_thumbnail_length1 = _tmp38_; +#line 199 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _flattened_sans_thumbnail_size_ = flattened_sans_thumbnail_length1; +#line 200 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp41_ = flattened_sans_thumbnail; +#line 200 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp41__length1 = flattened_sans_thumbnail_length1; +#line 200 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp41_ != NULL) { +#line 2013 "RawSupport.c" + guint8* _tmp42_ = NULL; + gint _tmp42__length1 = 0; +#line 200 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp42_ = flattened_sans_thumbnail; +#line 200 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp42__length1 = flattened_sans_thumbnail_length1; +#line 200 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp40_ = _tmp42__length1 > 0; +#line 2022 "RawSupport.c" + } else { +#line 200 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp40_ = FALSE; +#line 2026 "RawSupport.c" + } +#line 200 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp40_) { +#line 2030 "RawSupport.c" + DetectedPhotoInformation* _tmp43_ = NULL; + guint8* _tmp44_ = NULL; + gint _tmp44__length1 = 0; + guint8* _tmp45_ = NULL; + gint _tmp45__length1 = 0; + gchar* _tmp46_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp43_ = detected; +#line 201 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp44_ = flattened_sans_thumbnail; +#line 201 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp44__length1 = flattened_sans_thumbnail_length1; +#line 201 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp45_ = flattened_sans_thumbnail; +#line 201 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp45__length1 = flattened_sans_thumbnail_length1; +#line 201 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp46_ = md5_binary (_tmp44_, (gsize) _tmp45__length1); +#line 201 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp43_->exif_md5); +#line 201 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp43_->exif_md5 = _tmp46_; +#line 2053 "RawSupport.c" + } +#line 203 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp47_ = detected; +#line 203 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp48_ = _tmp47_->metadata; +#line 203 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp50_ = photo_metadata_flatten_exif_preview (_tmp48_, &_tmp49_); +#line 203 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + flattened_thumbnail = _tmp50_; +#line 203 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + flattened_thumbnail_length1 = _tmp49_; +#line 203 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _flattened_thumbnail_size_ = flattened_thumbnail_length1; +#line 204 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp52_ = flattened_thumbnail; +#line 204 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp52__length1 = flattened_thumbnail_length1; +#line 204 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp52_ != NULL) { +#line 2073 "RawSupport.c" + guint8* _tmp53_ = NULL; + gint _tmp53__length1 = 0; +#line 204 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp53_ = flattened_thumbnail; +#line 204 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp53__length1 = flattened_thumbnail_length1; +#line 204 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp51_ = _tmp53__length1 > 0; +#line 2082 "RawSupport.c" + } else { +#line 204 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp51_ = FALSE; +#line 2086 "RawSupport.c" + } +#line 204 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp51_) { +#line 2090 "RawSupport.c" + DetectedPhotoInformation* _tmp54_ = NULL; + guint8* _tmp55_ = NULL; + gint _tmp55__length1 = 0; + guint8* _tmp56_ = NULL; + gint _tmp56__length1 = 0; + gchar* _tmp57_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp54_ = detected; +#line 205 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp55_ = flattened_thumbnail; +#line 205 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp55__length1 = flattened_thumbnail_length1; +#line 205 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp56_ = flattened_thumbnail; +#line 205 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp56__length1 = flattened_thumbnail_length1; +#line 205 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp57_ = md5_binary (_tmp55_, (gsize) _tmp56__length1); +#line 205 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp54_->thumbnail_md5); +#line 205 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp54_->thumbnail_md5 = _tmp57_; +#line 2113 "RawSupport.c" + } +#line 198 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + flattened_thumbnail = (g_free (flattened_thumbnail), NULL); +#line 198 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + flattened_sans_thumbnail = (g_free (flattened_sans_thumbnail), NULL); +#line 2119 "RawSupport.c" + } +#line 208 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp58_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->calc_md5; +#line 208 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp58_) { +#line 2125 "RawSupport.c" + gchar* _tmp59_ = NULL; + GFile* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + DetectedPhotoInformation* _tmp62_ = NULL; + gchar* _tmp63_ = NULL; +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp60_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp61_ = md5_file (_tmp60_, &_inner_error_); +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp59_ = _tmp61_; +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _photo_file_adapter_unref0 (reader); +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _detected_photo_information_unref0 (detected); +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2149 "RawSupport.c" + } +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp62_ = detected; +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp63_ = _tmp59_; +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp59_ = NULL; +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp62_->md5); +#line 209 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp62_->md5 = _tmp63_; +#line 208 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp59_); +#line 2163 "RawSupport.c" + } +#line 211 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp64_ = detected; +#line 211 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp65_ = g_strdup ("raw"); +#line 211 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp64_->format_name); +#line 211 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp64_->format_name = _tmp65_; +#line 212 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp66_ = detected; +#line 212 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp66_->file_format = PHOTO_FILE_FORMAT_RAW; +#line 214 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = detected; +#line 214 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _photo_file_adapter_unref0 (reader); +#line 214 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 214 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (is_corrupted) { +#line 214 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 2187 "RawSupport.c" + } +#line 214 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2191 "RawSupport.c" +} + + +static void raw_sniffer_class_init (RawSnifferClass * klass) { +#line 161 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_sniffer_parent_class = g_type_class_peek_parent (klass); +#line 161 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileSnifferClass *) klass)->sniff = raw_sniffer_real_sniff; +#line 2200 "RawSupport.c" +} + + +static void raw_sniffer_instance_init (RawSniffer * self) { +} + + +GType raw_sniffer_get_type (void) { + static volatile gsize raw_sniffer_type_id__volatile = 0; + if (g_once_init_enter (&raw_sniffer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RawSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) raw_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RawSniffer), 0, (GInstanceInitFunc) raw_sniffer_instance_init, NULL }; + GType raw_sniffer_type_id; + raw_sniffer_type_id = g_type_register_static (TYPE_PHOTO_FILE_SNIFFER, "RawSniffer", &g_define_type_info, 0); + g_once_init_leave (&raw_sniffer_type_id__volatile, raw_sniffer_type_id); + } + return raw_sniffer_type_id__volatile; +} + + +RawReader* raw_reader_construct (GType object_type, const gchar* filepath) { + RawReader* self = NULL; + const gchar* _tmp0_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 220 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = filepath; +#line 220 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = (RawReader*) photo_file_reader_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_RAW); +#line 219 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return self; +#line 2231 "RawSupport.c" +} + + +RawReader* raw_reader_new (const gchar* filepath) { +#line 219 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return raw_reader_construct (TYPE_RAW_READER, filepath); +#line 2238 "RawSupport.c" +} + + +static PhotoMetadata* raw_reader_real_read_metadata (PhotoFileReader* base, GError** error) { + RawReader * self; + PhotoMetadata* result = NULL; + PhotoMetadata* metadata = NULL; + PhotoMetadata* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_READER, RawReader); +#line 224 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = photo_metadata_new (); +#line 224 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + metadata = _tmp0_; +#line 225 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 225 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = _tmp1_; +#line 225 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + media_metadata_read_from_file (G_TYPE_CHECK_INSTANCE_CAST (metadata, TYPE_MEDIA_METADATA, MediaMetadata), _tmp2_, &_inner_error_); +#line 225 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_object_unref0 (_tmp2_); +#line 225 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 225 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 225 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _media_metadata_unref0 (metadata); +#line 225 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2272 "RawSupport.c" + } +#line 227 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = metadata; +#line 227 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2278 "RawSupport.c" +} + + +static GdkPixbuf* raw_reader_real_unscaled_read (PhotoFileReader* base, GError** error) { + RawReader * self; + GdkPixbuf* result = NULL; + GRawProcessor* processor = NULL; + GRawProcessor* _tmp0_ = NULL; + GRawProcessor* _tmp1_ = NULL; + GRawProcessor* _tmp2_ = NULL; + libraw_output_params_t* _tmp3_ = NULL; + libraw_output_params_t* _tmp4_ = NULL; + GRawProcessor* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GRawProcessor* _tmp8_ = NULL; + GRawProcessor* _tmp9_ = NULL; + GRawProcessedImage* _tmp10_ = NULL; + GRawProcessor* _tmp11_ = NULL; + GRawProcessedImage* _tmp12_ = NULL; + GRawProcessedImage* _tmp13_ = NULL; + GRawProcessedImage* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; + GdkPixbuf* _tmp16_ = NULL; + GError * _inner_error_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_READER, RawReader); +#line 231 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = graw_processor_new (LIBRAW_OPTIONS_NONE); +#line 231 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + processor = _tmp0_; +#line 232 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = processor; +#line 232 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_configure_for_rgb_display (_tmp1_, FALSE); +#line 233 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = processor; +#line 233 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp3_ = graw_processor_get_output_params (_tmp2_); +#line 233 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp4_ = _tmp3_; +#line 233 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + (*_tmp4_).user_flip = (gint) GRAW_FLIP_NONE; +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp5_ = processor; +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp6_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp7_ = _tmp6_; +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_open_file (_tmp5_, _tmp7_, &_inner_error_); +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp7_); +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 235 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2340 "RawSupport.c" + } +#line 236 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp8_ = processor; +#line 236 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_unpack (_tmp8_, &_inner_error_); +#line 236 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 236 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 236 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 236 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2354 "RawSupport.c" + } +#line 237 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp9_ = processor; +#line 237 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_process (_tmp9_, &_inner_error_); +#line 237 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 237 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 237 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 237 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2368 "RawSupport.c" + } +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp11_ = processor; +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp12_ = graw_processor_make_mem_image (_tmp11_, &_inner_error_); +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp10_ = _tmp12_; +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2384 "RawSupport.c" + } +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp13_ = _tmp10_; +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp10_ = NULL; +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp14_ = _tmp13_; +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp15_ = graw_processed_image_get_pixbuf_copy (_tmp14_); +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp16_ = _tmp15_; +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processed_image_unref0 (_tmp14_); +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp16_; +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processed_image_unref0 (_tmp10_); +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 239 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2406 "RawSupport.c" +} + + +static GdkPixbuf* raw_reader_real_scaled_read (PhotoFileReader* base, Dimensions* full, Dimensions* scaled, GError** error) { + RawReader * self; + GdkPixbuf* result = NULL; + gdouble width_proportion = 0.0; + Dimensions _tmp0_ = {0}; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + gdouble height_proportion = 0.0; + Dimensions _tmp4_ = {0}; + gint _tmp5_ = 0; + Dimensions _tmp6_ = {0}; + gint _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + gdouble _tmp9_ = 0.0; + gboolean half_size = FALSE; + GRawProcessor* processor = NULL; + GRawProcessor* _tmp11_ = NULL; + GRawProcessor* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + GRawProcessor* _tmp14_ = NULL; + libraw_output_params_t* _tmp15_ = NULL; + libraw_output_params_t* _tmp16_ = NULL; + GRawProcessor* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + GRawProcessor* _tmp20_ = NULL; + GRawProcessor* _tmp21_ = NULL; + GRawProcessedImage* image = NULL; + GRawProcessor* _tmp22_ = NULL; + GRawProcessedImage* _tmp23_ = NULL; + GRawProcessedImage* _tmp24_ = NULL; + GdkPixbuf* _tmp25_ = NULL; + GdkPixbuf* _tmp26_ = NULL; + Dimensions _tmp27_ = {0}; + GdkPixbuf* _tmp28_ = NULL; + GdkPixbuf* _tmp29_ = NULL; + GError * _inner_error_ = NULL; +#line 242 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RAW_READER, RawReader); +#line 242 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (full != NULL, NULL); +#line 242 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (scaled != NULL, NULL); +#line 243 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = *scaled; +#line 243 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = _tmp0_.width; +#line 243 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = *full; +#line 243 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp3_ = _tmp2_.width; +#line 243 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + width_proportion = ((gdouble) _tmp1_) / ((gdouble) _tmp3_); +#line 244 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp4_ = *scaled; +#line 244 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp5_ = _tmp4_.height; +#line 244 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp6_ = *full; +#line 244 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp7_ = _tmp6_.height; +#line 244 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + height_proportion = ((gdouble) _tmp5_) / ((gdouble) _tmp7_); +#line 245 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp9_ = width_proportion; +#line 245 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp9_ < 0.5) { +#line 2478 "RawSupport.c" + gdouble _tmp10_ = 0.0; +#line 245 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp10_ = height_proportion; +#line 245 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp8_ = _tmp10_ < 0.5; +#line 2484 "RawSupport.c" + } else { +#line 245 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp8_ = FALSE; +#line 2488 "RawSupport.c" + } +#line 245 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + half_size = _tmp8_; +#line 247 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp11_ = graw_processor_new (LIBRAW_OPTIONS_NONE); +#line 247 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + processor = _tmp11_; +#line 248 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp12_ = processor; +#line 248 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp13_ = half_size; +#line 248 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_configure_for_rgb_display (_tmp12_, _tmp13_); +#line 249 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp14_ = processor; +#line 249 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp15_ = graw_processor_get_output_params (_tmp14_); +#line 249 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp16_ = _tmp15_; +#line 249 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + (*_tmp16_).user_flip = (gint) GRAW_FLIP_NONE; +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp17_ = processor; +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp18_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp19_ = _tmp18_; +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_open_file (_tmp17_, _tmp19_, &_inner_error_); +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp19_); +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 251 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2528 "RawSupport.c" + } +#line 252 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp20_ = processor; +#line 252 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_unpack (_tmp20_, &_inner_error_); +#line 252 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 252 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 252 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 252 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2542 "RawSupport.c" + } +#line 253 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp21_ = processor; +#line 253 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + graw_processor_process (_tmp21_, &_inner_error_); +#line 253 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 253 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 253 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 253 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2556 "RawSupport.c" + } +#line 255 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp22_ = processor; +#line 255 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp23_ = graw_processor_make_mem_image (_tmp22_, &_inner_error_); +#line 255 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + image = _tmp23_; +#line 255 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 255 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 255 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 255 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 2572 "RawSupport.c" + } +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp24_ = image; +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp25_ = graw_processed_image_get_pixbuf_copy (_tmp24_); +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp26_ = _tmp25_; +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp27_ = *scaled; +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp28_ = resize_pixbuf (_tmp26_, &_tmp27_, GDK_INTERP_BILINEAR); +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp29_ = _tmp28_; +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_object_unref0 (_tmp26_); +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp29_; +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processed_image_unref0 (image); +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _graw_processor_unref0 (processor); +#line 257 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2596 "RawSupport.c" +} + + +static void raw_reader_class_init (RawReaderClass * klass) { +#line 218 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + raw_reader_parent_class = g_type_class_peek_parent (klass); +#line 218 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileReaderClass *) klass)->read_metadata = raw_reader_real_read_metadata; +#line 218 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileReaderClass *) klass)->unscaled_read = raw_reader_real_unscaled_read; +#line 218 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ((PhotoFileReaderClass *) klass)->scaled_read = raw_reader_real_scaled_read; +#line 2609 "RawSupport.c" +} + + +static void raw_reader_instance_init (RawReader * self) { +} + + +GType raw_reader_get_type (void) { + static volatile gsize raw_reader_type_id__volatile = 0; + if (g_once_init_enter (&raw_reader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RawReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) raw_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RawReader), 0, (GInstanceInitFunc) raw_reader_instance_init, NULL }; + GType raw_reader_type_id; + raw_reader_type_id = g_type_register_static (TYPE_PHOTO_FILE_READER, "RawReader", &g_define_type_info, 0); + g_once_init_leave (&raw_reader_type_id__volatile, raw_reader_type_id); + } + return raw_reader_type_id__volatile; +} + + +RawDeveloper* raw_developer_as_array (int* result_length1) { + RawDeveloper* result = NULL; + RawDeveloper* _tmp0_ = NULL; + RawDeveloper* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = g_new0 (RawDeveloper, 3); +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_[0] = RAW_DEVELOPER_SHOTWELL; +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_[1] = RAW_DEVELOPER_CAMERA; +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_[2] = RAW_DEVELOPER_EMBEDDED; +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = _tmp0_; +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1__length1 = 3; +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (result_length1) { +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + *result_length1 = _tmp1__length1; +#line 2650 "RawSupport.c" + } +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp1_; +#line 268 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2656 "RawSupport.c" +} + + +gchar* raw_developer_to_string (RawDeveloper self) { + gchar* result = NULL; +#line 272 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + switch (self) { +#line 272 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + case RAW_DEVELOPER_SHOTWELL: +#line 2666 "RawSupport.c" + { + gchar* _tmp0_ = NULL; +#line 274 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = g_strdup ("SHOTWELL"); +#line 274 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp0_; +#line 274 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2675 "RawSupport.c" + } +#line 272 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + case RAW_DEVELOPER_CAMERA: +#line 2679 "RawSupport.c" + { + gchar* _tmp1_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = g_strdup ("CAMERA"); +#line 276 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp1_; +#line 276 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2688 "RawSupport.c" + } +#line 272 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + case RAW_DEVELOPER_EMBEDDED: +#line 2692 "RawSupport.c" + { + gchar* _tmp2_ = NULL; +#line 278 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = g_strdup ("EMBEDDED"); +#line 278 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp2_; +#line 278 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2701 "RawSupport.c" + } + default: + { +#line 280 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_assert_not_reached (); +#line 2707 "RawSupport.c" + } + } +} + + +RawDeveloper raw_developer_from_string (const gchar* value) { + RawDeveloper result = 0; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + static GQuark _tmp2_label0 = 0; +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + static GQuark _tmp2_label1 = 0; +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + static GQuark _tmp2_label2 = 0; +#line 284 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (value != NULL, 0); +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = value; +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = _tmp0_; +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("SHOTWELL")))) { +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + switch (0) { +#line 2736 "RawSupport.c" + default: + { +#line 287 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = RAW_DEVELOPER_SHOTWELL; +#line 287 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2743 "RawSupport.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("CAMERA")))) { +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + switch (0) { +#line 2749 "RawSupport.c" + default: + { +#line 289 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = RAW_DEVELOPER_CAMERA; +#line 289 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2756 "RawSupport.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("EMBEDDED")))) { +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + switch (0) { +#line 2762 "RawSupport.c" + default: + { +#line 291 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = RAW_DEVELOPER_EMBEDDED; +#line 291 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2769 "RawSupport.c" + } + } + } else { +#line 285 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + switch (0) { +#line 2775 "RawSupport.c" + default: + { +#line 293 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_assert_not_reached (); +#line 2780 "RawSupport.c" + } + } + } +} + + +gchar* raw_developer_get_label (RawDeveloper self) { + gchar* result = NULL; +#line 298 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + switch (self) { +#line 298 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + case RAW_DEVELOPER_SHOTWELL: +#line 2793 "RawSupport.c" + { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = _ ("Shotwell"); +#line 300 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 300 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp1_; +#line 300 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2805 "RawSupport.c" + } +#line 298 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + case RAW_DEVELOPER_CAMERA: +#line 298 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + case RAW_DEVELOPER_EMBEDDED: +#line 2811 "RawSupport.c" + { + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = _ ("Camera"); +#line 303 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 303 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = _tmp3_; +#line 303 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2823 "RawSupport.c" + } + default: + { +#line 305 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_assert_not_reached (); +#line 2829 "RawSupport.c" + } + } +} + + +gboolean raw_developer_is_equivalent (RawDeveloper self, RawDeveloper d) { + gboolean result = FALSE; + RawDeveloper _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 312 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = d; +#line 312 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (self == _tmp0_) { +#line 313 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = TRUE; +#line 313 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2848 "RawSupport.c" + } +#line 315 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (self == RAW_DEVELOPER_CAMERA) { +#line 2852 "RawSupport.c" + RawDeveloper _tmp3_ = 0; +#line 315 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp3_ = d; +#line 315 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = _tmp3_ == RAW_DEVELOPER_EMBEDDED; +#line 2858 "RawSupport.c" + } else { +#line 315 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = FALSE; +#line 2862 "RawSupport.c" + } +#line 315 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp2_) { +#line 315 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = TRUE; +#line 2868 "RawSupport.c" + } else { + gboolean _tmp4_ = FALSE; +#line 316 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (self == RAW_DEVELOPER_EMBEDDED) { +#line 2873 "RawSupport.c" + RawDeveloper _tmp5_ = 0; +#line 316 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp5_ = d; +#line 316 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp4_ = _tmp5_ == RAW_DEVELOPER_CAMERA; +#line 2879 "RawSupport.c" + } else { +#line 316 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp4_ = FALSE; +#line 2883 "RawSupport.c" + } +#line 316 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = _tmp4_; +#line 2887 "RawSupport.c" + } +#line 315 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp1_) { +#line 317 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = TRUE; +#line 317 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2895 "RawSupport.c" + } +#line 319 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = FALSE; +#line 319 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 2901 "RawSupport.c" +} + + +BackingPhotoRow* raw_developer_create_backing_row_for_development (RawDeveloper self, const gchar* raw_filepath, const gchar* camera_development_filename, GError** error) { + BackingPhotoRow* result = NULL; + BackingPhotoRow* ns = NULL; + BackingPhotoRow* _tmp0_ = NULL; + GFile* master = NULL; + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* name = NULL; + gchar* ext = NULL; + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* basename = NULL; + const gchar* _tmp8_ = NULL; + gboolean c = FALSE; + GFile* new_back = NULL; + GFile* _tmp27_ = NULL; + GFile* _tmp28_ = NULL; + GFile* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; + GFile* _tmp32_ = NULL; + GFile* _tmp33_ = NULL; + GFile* _tmp34_ = NULL; + BackingPhotoRow* _tmp35_ = NULL; + BackingPhotoRow* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + GError * _inner_error_ = NULL; +#line 324 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_return_val_if_fail (raw_filepath != NULL, NULL); +#line 326 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp0_ = backing_photo_row_new (); +#line 326 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ns = _tmp0_; +#line 327 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp1_ = raw_filepath; +#line 327 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp2_ = g_file_new_for_path (_tmp1_); +#line 327 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + master = _tmp2_; +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp3_ = master; +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp4_ = g_file_get_basename (_tmp3_); +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp5_ = _tmp4_; +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + disassemble_filename (_tmp5_, &_tmp6_, &_tmp7_); +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (name); +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + name = _tmp6_; +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (ext); +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + ext = _tmp7_; +#line 329 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp5_); +#line 335 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp8_ = camera_development_filename; +#line 335 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (_tmp8_ == NULL) { +#line 2970 "RawSupport.c" + gchar* _tmp9_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (self != RAW_DEVELOPER_CAMERA) { +#line 2983 "RawSupport.c" + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp10_ = raw_developer_to_string (self); +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp11_ = _tmp10_; +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp12_ = g_utf8_strdown (_tmp11_, (gssize) -1); +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp13_ = _tmp12_; +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp14_ = g_strconcat ("_", _tmp13_, NULL); +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp9_); +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp9_ = _tmp14_; +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp13_); +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp11_); +#line 3007 "RawSupport.c" + } else { + gchar* _tmp15_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp15_ = g_strdup (""); +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp9_); +#line 337 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp9_ = _tmp15_; +#line 3016 "RawSupport.c" + } +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp16_ = name; +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp17_ = g_strconcat (_tmp16_, "_", NULL); +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp18_ = _tmp17_; +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp19_ = ext; +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp20_ = g_strconcat (_tmp18_, _tmp19_, NULL); +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp21_ = _tmp20_; +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp22_ = g_strconcat (_tmp21_, _tmp9_, NULL); +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp23_ = _tmp22_; +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp24_ = g_strconcat (_tmp23_, ".jpg", NULL); +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (basename); +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + basename = _tmp24_; +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp23_); +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp21_); +#line 336 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp18_); +#line 335 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp9_); +#line 3048 "RawSupport.c" + } else { + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp25_ = camera_development_filename; +#line 339 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp26_ = g_strdup (_tmp25_); +#line 339 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (basename); +#line 339 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + basename = _tmp26_; +#line 3060 "RawSupport.c" + } +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp27_ = master; +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp28_ = g_file_get_parent (_tmp27_); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp29_ = _tmp28_; +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp30_ = basename; +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp32_ = generate_unique_file (_tmp29_, _tmp30_, &_tmp31_, &_inner_error_); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + c = _tmp31_; +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp33_ = _tmp32_; +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_object_unref0 (_tmp29_); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + new_back = _tmp33_; +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (basename); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (ext); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (name); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_object_unref0 (master); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _backing_photo_row_unref0 (ns); +#line 343 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 3096 "RawSupport.c" + } +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp34_ = new_back; +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + claim_file (_tmp34_, &_inner_error_); +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + g_propagate_error (error, _inner_error_); +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_object_unref0 (new_back); +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (basename); +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (ext); +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (name); +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_object_unref0 (master); +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _backing_photo_row_unref0 (ns); +#line 344 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return NULL; +#line 3120 "RawSupport.c" + } +#line 345 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp35_ = ns; +#line 345 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp35_->file_format = PHOTO_FILE_FORMAT_JFIF; +#line 346 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_ = ns; +#line 346 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp37_ = new_back; +#line 346 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp38_ = g_file_get_path (_tmp37_); +#line 346 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (_tmp36_->filepath); +#line 346 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _tmp36_->filepath = _tmp38_; +#line 348 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + result = ns; +#line 348 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_object_unref0 (new_back); +#line 348 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (basename); +#line 348 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (ext); +#line 348 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_free0 (name); +#line 348 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + _g_object_unref0 (master); +#line 348 "/home/jens/Source/shotwell/src/photos/RawSupport.vala" + return result; +#line 3150 "RawSupport.c" +} + + +GType raw_developer_get_type (void) { + static volatile gsize raw_developer_type_id__volatile = 0; + if (g_once_init_enter (&raw_developer_type_id__volatile)) { + static const GEnumValue values[] = {{RAW_DEVELOPER_SHOTWELL, "RAW_DEVELOPER_SHOTWELL", "shotwell"}, {RAW_DEVELOPER_CAMERA, "RAW_DEVELOPER_CAMERA", "camera"}, {RAW_DEVELOPER_EMBEDDED, "RAW_DEVELOPER_EMBEDDED", "embedded"}, {0, NULL, NULL}}; + GType raw_developer_type_id; + raw_developer_type_id = g_enum_register_static ("RawDeveloper", values); + g_once_init_leave (&raw_developer_type_id__volatile, raw_developer_type_id); + } + return raw_developer_type_id__volatile; +} + + + diff --git a/src/photos/TiffSupport.c b/src/photos/TiffSupport.c new file mode 100644 index 0000000..2e1282e --- /dev/null +++ b/src/photos/TiffSupport.c @@ -0,0 +1,1714 @@ +/* TiffSupport.c generated by valac 0.32.1, the Vala compiler + * generated from TiffSupport.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_PHOTO_FILE_FORMAT_DRIVER (photo_file_format_driver_get_type ()) +#define PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriver)) +#define PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) +#define IS_PHOTO_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define IS_PHOTO_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_DRIVER)) +#define PHOTO_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_DRIVER, PhotoFileFormatDriverClass)) + +typedef struct _PhotoFileFormatDriver PhotoFileFormatDriver; +typedef struct _PhotoFileFormatDriverClass PhotoFileFormatDriverClass; +typedef struct _PhotoFileFormatDriverPrivate PhotoFileFormatDriverPrivate; + +#define TYPE_PHOTO_FILE_FORMAT_PROPERTIES (photo_file_format_properties_get_type ()) +#define PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties)) +#define PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define IS_PHOTO_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_FORMAT_PROPERTIES)) +#define PHOTO_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatPropertiesClass)) + +typedef struct _PhotoFileFormatProperties PhotoFileFormatProperties; +typedef struct _PhotoFileFormatPropertiesClass PhotoFileFormatPropertiesClass; + +#define TYPE_PHOTO_FILE_ADAPTER (photo_file_adapter_get_type ()) +#define PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)) +#define PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) +#define IS_PHOTO_FILE_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_ADAPTER)) +#define IS_PHOTO_FILE_ADAPTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_ADAPTER)) +#define PHOTO_FILE_ADAPTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapterClass)) + +typedef struct _PhotoFileAdapter PhotoFileAdapter; +typedef struct _PhotoFileAdapterClass PhotoFileAdapterClass; + +#define TYPE_PHOTO_FILE_READER (photo_file_reader_get_type ()) +#define PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReader)) +#define PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) +#define IS_PHOTO_FILE_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_READER)) +#define IS_PHOTO_FILE_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_READER)) +#define PHOTO_FILE_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_READER, PhotoFileReaderClass)) + +typedef struct _PhotoFileReader PhotoFileReader; +typedef struct _PhotoFileReaderClass PhotoFileReaderClass; + +#define TYPE_MEDIA_METADATA (media_metadata_get_type ()) +#define MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_METADATA, MediaMetadata)) +#define MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_METADATA, MediaMetadataClass)) +#define IS_MEDIA_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_METADATA)) +#define IS_MEDIA_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_METADATA)) +#define MEDIA_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_METADATA, MediaMetadataClass)) + +typedef struct _MediaMetadata MediaMetadata; +typedef struct _MediaMetadataClass MediaMetadataClass; + +#define TYPE_PHOTO_METADATA (photo_metadata_get_type ()) +#define PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_METADATA, PhotoMetadata)) +#define PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_METADATA, PhotoMetadataClass)) +#define IS_PHOTO_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_METADATA)) +#define IS_PHOTO_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_METADATA)) +#define PHOTO_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_METADATA, PhotoMetadataClass)) + +typedef struct _PhotoMetadata PhotoMetadata; +typedef struct _PhotoMetadataClass PhotoMetadataClass; + +#define TYPE_PHOTO_FILE_WRITER (photo_file_writer_get_type ()) +#define PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriter)) +#define PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) +#define IS_PHOTO_FILE_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_WRITER)) +#define IS_PHOTO_FILE_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_WRITER)) +#define PHOTO_FILE_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_WRITER, PhotoFileWriterClass)) + +typedef struct _PhotoFileWriter PhotoFileWriter; +typedef struct _PhotoFileWriterClass PhotoFileWriterClass; + +#define TYPE_PHOTO_FILE_METADATA_WRITER (photo_file_metadata_writer_get_type ()) +#define PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter)) +#define PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) +#define IS_PHOTO_FILE_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define IS_PHOTO_FILE_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_METADATA_WRITER)) +#define PHOTO_FILE_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriterClass)) + +typedef struct _PhotoFileMetadataWriter PhotoFileMetadataWriter; +typedef struct _PhotoFileMetadataWriterClass PhotoFileMetadataWriterClass; + +#define PHOTO_FILE_SNIFFER_TYPE_OPTIONS (photo_file_sniffer_options_get_type ()) + +#define TYPE_PHOTO_FILE_SNIFFER (photo_file_sniffer_get_type ()) +#define PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)) +#define PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) +#define IS_PHOTO_FILE_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_FILE_SNIFFER)) +#define IS_PHOTO_FILE_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_FILE_SNIFFER)) +#define PHOTO_FILE_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSnifferClass)) + +typedef struct _PhotoFileSniffer PhotoFileSniffer; +typedef struct _PhotoFileSnifferClass PhotoFileSnifferClass; + +#define PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER (photos_tiff_file_format_driver_get_type ()) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver)) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriverClass)) +#define PHOTOS_IS_TIFF_FILE_FORMAT_DRIVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER)) +#define PHOTOS_IS_TIFF_FILE_FORMAT_DRIVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER)) +#define PHOTOS_TIFF_FILE_FORMAT_DRIVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriverClass)) + +typedef struct _PhotosTiffFileFormatDriver PhotosTiffFileFormatDriver; +typedef struct _PhotosTiffFileFormatDriverClass PhotosTiffFileFormatDriverClass; +typedef struct _PhotosTiffFileFormatDriverPrivate PhotosTiffFileFormatDriverPrivate; +#define _photo_file_format_driver_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_driver_unref (var), NULL))) + +#define PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES (photos_tiff_file_format_properties_get_type ()) +#define PHOTOS_TIFF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties)) +#define PHOTOS_TIFF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatPropertiesClass)) +#define PHOTOS_IS_TIFF_FILE_FORMAT_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES)) +#define PHOTOS_IS_TIFF_FILE_FORMAT_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES)) +#define PHOTOS_TIFF_FILE_FORMAT_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatPropertiesClass)) + +typedef struct _PhotosTiffFileFormatProperties PhotosTiffFileFormatProperties; +typedef struct _PhotosTiffFileFormatPropertiesClass PhotosTiffFileFormatPropertiesClass; + +#define TYPE_GDK_READER (gdk_reader_get_type ()) +#define GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_READER, GdkReader)) +#define GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_READER, GdkReaderClass)) +#define IS_GDK_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_READER)) +#define IS_GDK_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_READER)) +#define GDK_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_READER, GdkReaderClass)) + +typedef struct _GdkReader GdkReader; +typedef struct _GdkReaderClass GdkReaderClass; + +#define PHOTOS_TYPE_TIFF_READER (photos_tiff_reader_get_type ()) +#define PHOTOS_TIFF_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_READER, PhotosTiffReader)) +#define PHOTOS_TIFF_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_READER, PhotosTiffReaderClass)) +#define PHOTOS_IS_TIFF_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_READER)) +#define PHOTOS_IS_TIFF_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_READER)) +#define PHOTOS_TIFF_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_READER, PhotosTiffReaderClass)) + +typedef struct _PhotosTiffReader PhotosTiffReader; +typedef struct _PhotosTiffReaderClass PhotosTiffReaderClass; + +#define PHOTOS_TYPE_TIFF_WRITER (photos_tiff_writer_get_type ()) +#define PHOTOS_TIFF_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_WRITER, PhotosTiffWriter)) +#define PHOTOS_TIFF_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_WRITER, PhotosTiffWriterClass)) +#define PHOTOS_IS_TIFF_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_WRITER)) +#define PHOTOS_IS_TIFF_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_WRITER)) +#define PHOTOS_TIFF_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_WRITER, PhotosTiffWriterClass)) + +typedef struct _PhotosTiffWriter PhotosTiffWriter; +typedef struct _PhotosTiffWriterClass PhotosTiffWriterClass; + +#define PHOTOS_TYPE_TIFF_METADATA_WRITER (photos_tiff_metadata_writer_get_type ()) +#define PHOTOS_TIFF_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_METADATA_WRITER, PhotosTiffMetadataWriter)) +#define PHOTOS_TIFF_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_METADATA_WRITER, PhotosTiffMetadataWriterClass)) +#define PHOTOS_IS_TIFF_METADATA_WRITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_METADATA_WRITER)) +#define PHOTOS_IS_TIFF_METADATA_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_METADATA_WRITER)) +#define PHOTOS_TIFF_METADATA_WRITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_METADATA_WRITER, PhotosTiffMetadataWriterClass)) + +typedef struct _PhotosTiffMetadataWriter PhotosTiffMetadataWriter; +typedef struct _PhotosTiffMetadataWriterClass PhotosTiffMetadataWriterClass; + +#define TYPE_GDK_SNIFFER (gdk_sniffer_get_type ()) +#define GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GDK_SNIFFER, GdkSniffer)) +#define GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GDK_SNIFFER, GdkSnifferClass)) +#define IS_GDK_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GDK_SNIFFER)) +#define IS_GDK_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GDK_SNIFFER)) +#define GDK_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GDK_SNIFFER, GdkSnifferClass)) + +typedef struct _GdkSniffer GdkSniffer; +typedef struct _GdkSnifferClass GdkSnifferClass; + +#define PHOTOS_TYPE_TIFF_SNIFFER (photos_tiff_sniffer_get_type ()) +#define PHOTOS_TIFF_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PHOTOS_TYPE_TIFF_SNIFFER, PhotosTiffSniffer)) +#define PHOTOS_TIFF_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PHOTOS_TYPE_TIFF_SNIFFER, PhotosTiffSnifferClass)) +#define PHOTOS_IS_TIFF_SNIFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PHOTOS_TYPE_TIFF_SNIFFER)) +#define PHOTOS_IS_TIFF_SNIFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PHOTOS_TYPE_TIFF_SNIFFER)) +#define PHOTOS_TIFF_SNIFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PHOTOS_TYPE_TIFF_SNIFFER, PhotosTiffSnifferClass)) + +typedef struct _PhotosTiffSniffer PhotosTiffSniffer; +typedef struct _PhotosTiffSnifferClass PhotosTiffSnifferClass; +typedef struct _PhotoFileFormatPropertiesPrivate PhotoFileFormatPropertiesPrivate; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT_FLAGS (photo_file_format_flags_get_type ()) +typedef struct _PhotosTiffFileFormatPropertiesPrivate PhotosTiffFileFormatPropertiesPrivate; +#define _photo_file_format_properties_unref0(var) ((var == NULL) ? NULL : (var = (photo_file_format_properties_unref (var), NULL))) +typedef struct _PhotoFileSnifferPrivate PhotoFileSnifferPrivate; + +#define TYPE_DETECTED_PHOTO_INFORMATION (detected_photo_information_get_type ()) +#define DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformation)) +#define DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) +#define IS_DETECTED_PHOTO_INFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DETECTED_PHOTO_INFORMATION)) +#define IS_DETECTED_PHOTO_INFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DETECTED_PHOTO_INFORMATION)) +#define DETECTED_PHOTO_INFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DETECTED_PHOTO_INFORMATION, DetectedPhotoInformationClass)) + +typedef struct _DetectedPhotoInformation DetectedPhotoInformation; +typedef struct _DetectedPhotoInformationClass DetectedPhotoInformationClass; +typedef struct _GdkSnifferPrivate GdkSnifferPrivate; +typedef struct _PhotosTiffSnifferPrivate PhotosTiffSnifferPrivate; +#define _detected_photo_information_unref0(var) ((var == NULL) ? NULL : (var = (detected_photo_information_unref (var), NULL))) +typedef struct _DetectedPhotoInformationPrivate DetectedPhotoInformationPrivate; + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _PhotoFileAdapterPrivate PhotoFileAdapterPrivate; +typedef struct _PhotoFileReaderPrivate PhotoFileReaderPrivate; +typedef struct _GdkReaderPrivate GdkReaderPrivate; +typedef struct _PhotosTiffReaderPrivate PhotosTiffReaderPrivate; +typedef struct _PhotoFileWriterPrivate PhotoFileWriterPrivate; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) +typedef struct _PhotosTiffWriterPrivate PhotosTiffWriterPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _PhotoFileMetadataWriterPrivate PhotoFileMetadataWriterPrivate; +typedef struct _PhotosTiffMetadataWriterPrivate PhotosTiffMetadataWriterPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +typedef enum { + PHOTO_FILE_SNIFFER_OPTIONS_GET_ALL = 0x00000000, + PHOTO_FILE_SNIFFER_OPTIONS_NO_MD5 = 0x00000001 +} PhotoFileSnifferOptions; + +struct _PhotoFileFormatDriver { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatDriverPrivate * priv; +}; + +struct _PhotoFileFormatDriverClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatDriver *self); + PhotoFileFormatProperties* (*get_properties) (PhotoFileFormatDriver* self); + PhotoFileReader* (*create_reader) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoMetadata* (*create_metadata) (PhotoFileFormatDriver* self); + gboolean (*can_write_image) (PhotoFileFormatDriver* self); + gboolean (*can_write_metadata) (PhotoFileFormatDriver* self); + PhotoFileWriter* (*create_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileMetadataWriter* (*create_metadata_writer) (PhotoFileFormatDriver* self, const gchar* filepath); + PhotoFileSniffer* (*create_sniffer) (PhotoFileFormatDriver* self, GFile* file, PhotoFileSnifferOptions options); +}; + +struct _PhotosTiffFileFormatDriver { + PhotoFileFormatDriver parent_instance; + PhotosTiffFileFormatDriverPrivate * priv; +}; + +struct _PhotosTiffFileFormatDriverClass { + PhotoFileFormatDriverClass parent_class; +}; + +typedef enum { + PHOTO_FILE_FORMAT_JFIF, + PHOTO_FILE_FORMAT_RAW, + PHOTO_FILE_FORMAT_PNG, + PHOTO_FILE_FORMAT_TIFF, + PHOTO_FILE_FORMAT_BMP, + PHOTO_FILE_FORMAT_UNKNOWN +} PhotoFileFormat; + +typedef enum { + PHOTO_FILE_FORMAT_FLAGS_NONE = 0x00000000 +} PhotoFileFormatFlags; + +struct _PhotoFileFormatProperties { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileFormatPropertiesPrivate * priv; +}; + +struct _PhotoFileFormatPropertiesClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileFormatProperties *self); + PhotoFileFormat (*get_file_format) (PhotoFileFormatProperties* self); + PhotoFileFormatFlags (*get_flags) (PhotoFileFormatProperties* self); + gboolean (*is_recognized_extension) (PhotoFileFormatProperties* self, const gchar* ext); + gchar* (*get_default_extension) (PhotoFileFormatProperties* self); + gchar** (*get_known_extensions) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_default_mime_type) (PhotoFileFormatProperties* self); + gchar** (*get_mime_types) (PhotoFileFormatProperties* self, int* result_length1); + gchar* (*get_user_visible_name) (PhotoFileFormatProperties* self); +}; + +struct _PhotosTiffFileFormatProperties { + PhotoFileFormatProperties parent_instance; + PhotosTiffFileFormatPropertiesPrivate * priv; +}; + +struct _PhotosTiffFileFormatPropertiesClass { + PhotoFileFormatPropertiesClass parent_class; +}; + +struct _PhotoFileSniffer { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileSnifferPrivate * priv; + GFile* file; + PhotoFileSnifferOptions options; + gboolean calc_md5; +}; + +struct _PhotoFileSnifferClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileSniffer *self); + DetectedPhotoInformation* (*sniff) (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +}; + +struct _GdkSniffer { + PhotoFileSniffer parent_instance; + GdkSnifferPrivate * priv; +}; + +struct _GdkSnifferClass { + PhotoFileSnifferClass parent_class; +}; + +struct _PhotosTiffSniffer { + GdkSniffer parent_instance; + PhotosTiffSnifferPrivate * priv; +}; + +struct _PhotosTiffSnifferClass { + GdkSnifferClass parent_class; +}; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _DetectedPhotoInformation { + GTypeInstance parent_instance; + volatile int ref_count; + DetectedPhotoInformationPrivate * priv; + PhotoFileFormat file_format; + PhotoMetadata* metadata; + gchar* md5; + gchar* exif_md5; + gchar* thumbnail_md5; + gchar* format_name; + Dimensions image_dim; + GdkColorspace colorspace; + gint channels; + gint bits_per_channel; +}; + +struct _DetectedPhotoInformationClass { + GTypeClass parent_class; + void (*finalize) (DetectedPhotoInformation *self); +}; + +struct _PhotoFileAdapter { + GTypeInstance parent_instance; + volatile int ref_count; + PhotoFileAdapterPrivate * priv; +}; + +struct _PhotoFileAdapterClass { + GTypeClass parent_class; + void (*finalize) (PhotoFileAdapter *self); +}; + +struct _PhotoFileReader { + PhotoFileAdapter parent_instance; + PhotoFileReaderPrivate * priv; +}; + +struct _PhotoFileReaderClass { + PhotoFileAdapterClass parent_class; + PhotoMetadata* (*read_metadata) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*unscaled_read) (PhotoFileReader* self, GError** error); + GdkPixbuf* (*scaled_read) (PhotoFileReader* self, Dimensions* full, Dimensions* scaled, GError** error); +}; + +struct _GdkReader { + PhotoFileReader parent_instance; + GdkReaderPrivate * priv; +}; + +struct _GdkReaderClass { + PhotoFileReaderClass parent_class; +}; + +struct _PhotosTiffReader { + GdkReader parent_instance; + PhotosTiffReaderPrivate * priv; +}; + +struct _PhotosTiffReaderClass { + GdkReaderClass parent_class; +}; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +struct _PhotoFileWriter { + PhotoFileAdapter parent_instance; + PhotoFileWriterPrivate * priv; +}; + +struct _PhotoFileWriterClass { + PhotoFileAdapterClass parent_class; + void (*write) (PhotoFileWriter* self, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +}; + +struct _PhotosTiffWriter { + PhotoFileWriter parent_instance; + PhotosTiffWriterPrivate * priv; +}; + +struct _PhotosTiffWriterClass { + PhotoFileWriterClass parent_class; +}; + +struct _PhotoFileMetadataWriter { + PhotoFileAdapter parent_instance; + PhotoFileMetadataWriterPrivate * priv; +}; + +struct _PhotoFileMetadataWriterClass { + PhotoFileAdapterClass parent_class; + void (*write_metadata) (PhotoFileMetadataWriter* self, PhotoMetadata* metadata, GError** error); +}; + +struct _PhotosTiffMetadataWriter { + PhotoFileMetadataWriter parent_instance; + PhotosTiffMetadataWriterPrivate * priv; +}; + +struct _PhotosTiffMetadataWriterClass { + PhotoFileMetadataWriterClass parent_class; +}; + + +static gpointer photos_tiff_file_format_driver_parent_class = NULL; +static PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_instance; +static PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_instance = NULL; +static gpointer photos_tiff_file_format_properties_parent_class = NULL; +static gchar** photos_tiff_file_format_properties_KNOWN_EXTENSIONS; +static gint photos_tiff_file_format_properties_KNOWN_EXTENSIONS_length1; +static gchar** photos_tiff_file_format_properties_KNOWN_EXTENSIONS = NULL; +static gint photos_tiff_file_format_properties_KNOWN_EXTENSIONS_length1 = 0; +static gint _photos_tiff_file_format_properties_KNOWN_EXTENSIONS_size_ = 0; +static gchar** photos_tiff_file_format_properties_KNOWN_MIME_TYPES; +static gint photos_tiff_file_format_properties_KNOWN_MIME_TYPES_length1; +static gchar** photos_tiff_file_format_properties_KNOWN_MIME_TYPES = NULL; +static gint photos_tiff_file_format_properties_KNOWN_MIME_TYPES_length1 = 0; +static gint _photos_tiff_file_format_properties_KNOWN_MIME_TYPES_size_ = 0; +static PhotosTiffFileFormatProperties* photos_tiff_file_format_properties_instance; +static PhotosTiffFileFormatProperties* photos_tiff_file_format_properties_instance = NULL; +static gpointer photos_tiff_sniffer_parent_class = NULL; +static gpointer photos_tiff_reader_parent_class = NULL; +static gpointer photos_tiff_writer_parent_class = NULL; +static gpointer photos_tiff_metadata_writer_parent_class = NULL; + +gpointer photo_file_format_driver_ref (gpointer instance); +void photo_file_format_driver_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_driver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_driver (GValue* value, gpointer v_object); +void value_take_photo_file_format_driver (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_driver (const GValue* value); +GType photo_file_format_driver_get_type (void) G_GNUC_CONST; +gpointer photo_file_format_properties_ref (gpointer instance); +void photo_file_format_properties_unref (gpointer instance); +GParamSpec* param_spec_photo_file_format_properties (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_format_properties (GValue* value, gpointer v_object); +void value_take_photo_file_format_properties (GValue* value, gpointer v_object); +gpointer value_get_photo_file_format_properties (const GValue* value); +GType photo_file_format_properties_get_type (void) G_GNUC_CONST; +gpointer photo_file_adapter_ref (gpointer instance); +void photo_file_adapter_unref (gpointer instance); +GParamSpec* param_spec_photo_file_adapter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_adapter (GValue* value, gpointer v_object); +void value_take_photo_file_adapter (GValue* value, gpointer v_object); +gpointer value_get_photo_file_adapter (const GValue* value); +GType photo_file_adapter_get_type (void) G_GNUC_CONST; +GType photo_file_reader_get_type (void) G_GNUC_CONST; +gpointer media_metadata_ref (gpointer instance); +void media_metadata_unref (gpointer instance); +GParamSpec* param_spec_media_metadata (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_metadata (GValue* value, gpointer v_object); +void value_take_media_metadata (GValue* value, gpointer v_object); +gpointer value_get_media_metadata (const GValue* value); +GType media_metadata_get_type (void) G_GNUC_CONST; +GType photo_metadata_get_type (void) G_GNUC_CONST; +GType photo_file_writer_get_type (void) G_GNUC_CONST; +GType photo_file_metadata_writer_get_type (void) G_GNUC_CONST; +GType photo_file_sniffer_options_get_type (void) G_GNUC_CONST; +gpointer photo_file_sniffer_ref (gpointer instance); +void photo_file_sniffer_unref (gpointer instance); +GParamSpec* param_spec_photo_file_sniffer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_photo_file_sniffer (GValue* value, gpointer v_object); +void value_take_photo_file_sniffer (GValue* value, gpointer v_object); +gpointer value_get_photo_file_sniffer (const GValue* value); +GType photo_file_sniffer_get_type (void) G_GNUC_CONST; +GType photos_tiff_file_format_driver_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_TIFF_FILE_FORMAT_DRIVER_DUMMY_PROPERTY +}; +void photos_tiff_file_format_driver_init (void); +PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_new (void); +PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_construct (GType object_type); +void photos_tiff_file_format_properties_init (void); +PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_get_instance (void); +static PhotoFileFormatProperties* photos_tiff_file_format_driver_real_get_properties (PhotoFileFormatDriver* base); +GType photos_tiff_file_format_properties_get_type (void) G_GNUC_CONST; +PhotosTiffFileFormatProperties* photos_tiff_file_format_properties_get_instance (void); +static PhotoFileReader* photos_tiff_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath); +PhotosTiffReader* photos_tiff_reader_new (const gchar* filepath); +PhotosTiffReader* photos_tiff_reader_construct (GType object_type, const gchar* filepath); +GType gdk_reader_get_type (void) G_GNUC_CONST; +GType photos_tiff_reader_get_type (void) G_GNUC_CONST; +static PhotoMetadata* photos_tiff_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base); +PhotoMetadata* photo_metadata_new (void); +PhotoMetadata* photo_metadata_construct (GType object_type); +static gboolean photos_tiff_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base); +static gboolean photos_tiff_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base); +static PhotoFileWriter* photos_tiff_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath); +PhotosTiffWriter* photos_tiff_writer_new (const gchar* filepath); +PhotosTiffWriter* photos_tiff_writer_construct (GType object_type, const gchar* filepath); +GType photos_tiff_writer_get_type (void) G_GNUC_CONST; +static PhotoFileMetadataWriter* photos_tiff_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath); +PhotosTiffMetadataWriter* photos_tiff_metadata_writer_new (const gchar* filepath); +PhotosTiffMetadataWriter* photos_tiff_metadata_writer_construct (GType object_type, const gchar* filepath); +GType photos_tiff_metadata_writer_get_type (void) G_GNUC_CONST; +static PhotoFileSniffer* photos_tiff_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options); +PhotosTiffSniffer* photos_tiff_sniffer_new (GFile* file, PhotoFileSnifferOptions options); +PhotosTiffSniffer* photos_tiff_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +GType gdk_sniffer_get_type (void) G_GNUC_CONST; +GType photos_tiff_sniffer_get_type (void) G_GNUC_CONST; +PhotoFileFormatDriver* photo_file_format_driver_construct (GType object_type); +static void photos_tiff_file_format_driver_finalize (PhotoFileFormatDriver* obj); +GType photo_file_format_get_type (void) G_GNUC_CONST; +GType photo_file_format_flags_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_TIFF_FILE_FORMAT_PROPERTIES_DUMMY_PROPERTY +}; +PhotosTiffFileFormatProperties* photos_tiff_file_format_properties_new (void); +PhotosTiffFileFormatProperties* photos_tiff_file_format_properties_construct (GType object_type); +static PhotoFileFormat photos_tiff_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base); +static PhotoFileFormatFlags photos_tiff_file_format_properties_real_get_flags (PhotoFileFormatProperties* base); +static gchar* photos_tiff_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base); +static gchar* photos_tiff_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base); +static gchar** photos_tiff_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup16 (gchar** self, int length); +static gchar* photos_tiff_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base); +static gchar** photos_tiff_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1); +static gchar** _vala_array_dup17 (gchar** self, int length); +PhotoFileFormatProperties* photo_file_format_properties_construct (GType object_type); +static void photos_tiff_file_format_properties_finalize (PhotoFileFormatProperties* obj); +gpointer detected_photo_information_ref (gpointer instance); +void detected_photo_information_unref (gpointer instance); +GParamSpec* param_spec_detected_photo_information (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_detected_photo_information (GValue* value, gpointer v_object); +void value_take_detected_photo_information (GValue* value, gpointer v_object); +gpointer value_get_detected_photo_information (const GValue* value); +GType detected_photo_information_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_TIFF_SNIFFER_DUMMY_PROPERTY +}; +GdkSniffer* gdk_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options); +static DetectedPhotoInformation* photos_tiff_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error); +gboolean photos_is_tiff (GFile* file, GCancellable* cancellable, GError** error); +DetectedPhotoInformation* photo_file_sniffer_sniff (PhotoFileSniffer* self, gboolean* is_corrupted, GError** error); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +enum { + PHOTOS_TIFF_READER_DUMMY_PROPERTY +}; +GdkReader* gdk_reader_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +GType jpeg_quality_get_type (void) G_GNUC_CONST; +enum { + PHOTOS_TIFF_WRITER_DUMMY_PROPERTY +}; +#define PHOTOS_TIFF_WRITER_COMPRESSION_NONE "1" +#define PHOTOS_TIFF_WRITER_COMPRESSION_HUFFMAN "2" +#define PHOTOS_TIFF_WRITER_COMPRESSION_LZW "5" +#define PHOTOS_TIFF_WRITER_COMPRESSION_JPEG "7" +#define PHOTOS_TIFF_WRITER_COMPRESSION_DEFLATE "8" +PhotoFileWriter* photo_file_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static void photos_tiff_writer_real_write (PhotoFileWriter* base, GdkPixbuf* pixbuf, JpegQuality quality, GError** error); +gchar* photo_file_adapter_get_filepath (PhotoFileAdapter* self); +enum { + PHOTOS_TIFF_METADATA_WRITER_DUMMY_PROPERTY +}; +PhotoFileMetadataWriter* photo_file_metadata_writer_construct (GType object_type, const gchar* filepath, PhotoFileFormat file_format); +static void photos_tiff_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* base, PhotoMetadata* metadata, GError** error); +void photo_metadata_write_to_file (PhotoMetadata* self, GFile* file, GError** error); +GFile* photo_file_adapter_get_file (PhotoFileAdapter* self); + + +void photos_tiff_file_format_driver_init (void) { + PhotosTiffFileFormatDriver* _tmp0_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photos_tiff_file_format_driver_new (); +#line 13 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _photo_file_format_driver_unref0 (photos_tiff_file_format_driver_instance); +#line 13 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_driver_instance = _tmp0_; +#line 14 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_properties_init (); +#line 620 "TiffSupport.c" +} + + +static gpointer _photo_file_format_driver_ref0 (gpointer self) { +#line 18 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self ? photo_file_format_driver_ref (self) : NULL; +#line 627 "TiffSupport.c" +} + + +PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_get_instance (void) { + PhotosTiffFileFormatDriver* result = NULL; + PhotosTiffFileFormatDriver* _tmp0_ = NULL; + PhotosTiffFileFormatDriver* _tmp1_ = NULL; +#line 18 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photos_tiff_file_format_driver_instance; +#line 18 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = _photo_file_format_driver_ref0 (_tmp0_); +#line 18 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp1_; +#line 18 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 643 "TiffSupport.c" +} + + +static PhotoFileFormatProperties* photos_tiff_file_format_driver_real_get_properties (PhotoFileFormatDriver* base) { + PhotosTiffFileFormatDriver * self; + PhotoFileFormatProperties* result = NULL; + PhotosTiffFileFormatProperties* _tmp0_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 22 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photos_tiff_file_format_properties_get_instance (); +#line 22 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_PHOTO_FILE_FORMAT_PROPERTIES, PhotoFileFormatProperties); +#line 22 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 659 "TiffSupport.c" +} + + +static PhotoFileReader* photos_tiff_file_format_driver_real_create_reader (PhotoFileFormatDriver* base, const gchar* filepath) { + PhotosTiffFileFormatDriver * self; + PhotoFileReader* result = NULL; + const gchar* _tmp0_ = NULL; + PhotosTiffReader* _tmp1_ = NULL; +#line 25 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 25 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 26 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = filepath; +#line 26 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = photos_tiff_reader_new (_tmp0_); +#line 26 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_READER, PhotoFileReader); +#line 26 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 680 "TiffSupport.c" +} + + +static PhotoMetadata* photos_tiff_file_format_driver_real_create_metadata (PhotoFileFormatDriver* base) { + PhotosTiffFileFormatDriver * self; + PhotoMetadata* result = NULL; + PhotoMetadata* _tmp0_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 30 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photo_metadata_new (); +#line 30 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp0_; +#line 30 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 696 "TiffSupport.c" +} + + +static gboolean photos_tiff_file_format_driver_real_can_write_image (PhotoFileFormatDriver* base) { + PhotosTiffFileFormatDriver * self; + gboolean result = FALSE; +#line 33 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 34 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = TRUE; +#line 34 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 709 "TiffSupport.c" +} + + +static gboolean photos_tiff_file_format_driver_real_can_write_metadata (PhotoFileFormatDriver* base) { + PhotosTiffFileFormatDriver * self; + gboolean result = FALSE; +#line 37 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 38 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = TRUE; +#line 38 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 722 "TiffSupport.c" +} + + +static PhotoFileWriter* photos_tiff_file_format_driver_real_create_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + PhotosTiffFileFormatDriver * self; + PhotoFileWriter* result = NULL; + const gchar* _tmp0_ = NULL; + PhotosTiffWriter* _tmp1_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 41 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 42 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = filepath; +#line 42 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = photos_tiff_writer_new (_tmp0_); +#line 42 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_WRITER, PhotoFileWriter); +#line 42 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 743 "TiffSupport.c" +} + + +static PhotoFileMetadataWriter* photos_tiff_file_format_driver_real_create_metadata_writer (PhotoFileFormatDriver* base, const gchar* filepath) { + PhotosTiffFileFormatDriver * self; + PhotoFileMetadataWriter* result = NULL; + const gchar* _tmp0_ = NULL; + PhotosTiffMetadataWriter* _tmp1_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 45 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 46 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = filepath; +#line 46 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = photos_tiff_metadata_writer_new (_tmp0_); +#line 46 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PHOTO_FILE_METADATA_WRITER, PhotoFileMetadataWriter); +#line 46 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 764 "TiffSupport.c" +} + + +static PhotoFileSniffer* photos_tiff_file_format_driver_real_create_sniffer (PhotoFileFormatDriver* base, GFile* file, PhotoFileSnifferOptions options) { + PhotosTiffFileFormatDriver * self; + PhotoFileSniffer* result = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; + PhotosTiffSniffer* _tmp2_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 49 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 50 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = file; +#line 50 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = options; +#line 50 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = photos_tiff_sniffer_new (_tmp0_, _tmp1_); +#line 50 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer); +#line 50 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 788 "TiffSupport.c" +} + + +PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_construct (GType object_type) { + PhotosTiffFileFormatDriver* self = NULL; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = (PhotosTiffFileFormatDriver*) photo_file_format_driver_construct (object_type); +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self; +#line 798 "TiffSupport.c" +} + + +PhotosTiffFileFormatDriver* photos_tiff_file_format_driver_new (void) { +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return photos_tiff_file_format_driver_construct (PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER); +#line 805 "TiffSupport.c" +} + + +static void photos_tiff_file_format_driver_class_init (PhotosTiffFileFormatDriverClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_driver_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->finalize = photos_tiff_file_format_driver_finalize; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->get_properties = photos_tiff_file_format_driver_real_get_properties; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_reader = photos_tiff_file_format_driver_real_create_reader; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata = photos_tiff_file_format_driver_real_create_metadata; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_image = photos_tiff_file_format_driver_real_can_write_image; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->can_write_metadata = photos_tiff_file_format_driver_real_can_write_metadata; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_writer = photos_tiff_file_format_driver_real_create_writer; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_metadata_writer = photos_tiff_file_format_driver_real_create_metadata_writer; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatDriverClass *) klass)->create_sniffer = photos_tiff_file_format_driver_real_create_sniffer; +#line 830 "TiffSupport.c" +} + + +static void photos_tiff_file_format_driver_instance_init (PhotosTiffFileFormatDriver * self) { +} + + +static void photos_tiff_file_format_driver_finalize (PhotoFileFormatDriver* obj) { + PhotosTiffFileFormatDriver * self; +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTOS_TYPE_TIFF_FILE_FORMAT_DRIVER, PhotosTiffFileFormatDriver); +#line 9 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + PHOTO_FILE_FORMAT_DRIVER_CLASS (photos_tiff_file_format_driver_parent_class)->finalize (obj); +#line 844 "TiffSupport.c" +} + + +GType photos_tiff_file_format_driver_get_type (void) { + static volatile gsize photos_tiff_file_format_driver_type_id__volatile = 0; + if (g_once_init_enter (&photos_tiff_file_format_driver_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosTiffFileFormatDriverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_tiff_file_format_driver_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosTiffFileFormatDriver), 0, (GInstanceInitFunc) photos_tiff_file_format_driver_instance_init, NULL }; + GType photos_tiff_file_format_driver_type_id; + photos_tiff_file_format_driver_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_DRIVER, "PhotosTiffFileFormatDriver", &g_define_type_info, 0); + g_once_init_leave (&photos_tiff_file_format_driver_type_id__volatile, photos_tiff_file_format_driver_type_id); + } + return photos_tiff_file_format_driver_type_id__volatile; +} + + +void photos_tiff_file_format_properties_init (void) { + PhotosTiffFileFormatProperties* _tmp0_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photos_tiff_file_format_properties_new (); +#line 66 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _photo_file_format_properties_unref0 (photos_tiff_file_format_properties_instance); +#line 66 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_properties_instance = _tmp0_; +#line 868 "TiffSupport.c" +} + + +static gpointer _photo_file_format_properties_ref0 (gpointer self) { +#line 70 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self ? photo_file_format_properties_ref (self) : NULL; +#line 875 "TiffSupport.c" +} + + +PhotosTiffFileFormatProperties* photos_tiff_file_format_properties_get_instance (void) { + PhotosTiffFileFormatProperties* result = NULL; + PhotosTiffFileFormatProperties* _tmp0_ = NULL; + PhotosTiffFileFormatProperties* _tmp1_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photos_tiff_file_format_properties_instance; +#line 70 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = _photo_file_format_properties_ref0 (_tmp0_); +#line 70 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp1_; +#line 70 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 891 "TiffSupport.c" +} + + +static PhotoFileFormat photos_tiff_file_format_properties_real_get_file_format (PhotoFileFormatProperties* base) { + PhotosTiffFileFormatProperties * self; + PhotoFileFormat result = 0; +#line 73 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties); +#line 74 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = PHOTO_FILE_FORMAT_TIFF; +#line 74 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 904 "TiffSupport.c" +} + + +static PhotoFileFormatFlags photos_tiff_file_format_properties_real_get_flags (PhotoFileFormatProperties* base) { + PhotosTiffFileFormatProperties * self; + PhotoFileFormatFlags result = 0; +#line 77 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties); +#line 78 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = PHOTO_FILE_FORMAT_FLAGS_NONE; +#line 78 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 917 "TiffSupport.c" +} + + +static gchar* photos_tiff_file_format_properties_real_get_default_extension (PhotoFileFormatProperties* base) { + PhotosTiffFileFormatProperties * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties); +#line 82 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = g_strdup ("tif"); +#line 82 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp0_; +#line 82 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 933 "TiffSupport.c" +} + + +static gchar* photos_tiff_file_format_properties_real_get_user_visible_name (PhotoFileFormatProperties* base) { + PhotosTiffFileFormatProperties * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties); +#line 86 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = _ ("TIFF"); +#line 86 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 86 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp1_; +#line 86 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 952 "TiffSupport.c" +} + + +static gchar** _vala_array_dup16 (gchar** self, int length) { + gchar** result; + int i; +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + for (i = 0; i < length; i++) { +#line 963 "TiffSupport.c" + gchar* _tmp0_ = NULL; +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result[i] = _tmp0_; +#line 969 "TiffSupport.c" + } +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 973 "TiffSupport.c" +} + + +static gchar** photos_tiff_file_format_properties_real_get_known_extensions (PhotoFileFormatProperties* base, int* result_length1) { + PhotosTiffFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 89 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties); +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photos_tiff_file_format_properties_KNOWN_EXTENSIONS; +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0__length1 = photos_tiff_file_format_properties_KNOWN_EXTENSIONS_length1; +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup16 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = _tmp1_; +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (result_length1) { +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + *result_length1 = _tmp2__length1; +#line 1004 "TiffSupport.c" + } +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp2_; +#line 90 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1010 "TiffSupport.c" +} + + +static gchar* photos_tiff_file_format_properties_real_get_default_mime_type (PhotoFileFormatProperties* base) { + PhotosTiffFileFormatProperties * self; + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties); +#line 94 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photos_tiff_file_format_properties_KNOWN_MIME_TYPES; +#line 94 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0__length1 = photos_tiff_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 94 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = _tmp0_[0]; +#line 94 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 94 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp2_; +#line 94 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1035 "TiffSupport.c" +} + + +static gchar** _vala_array_dup17 (gchar** self, int length) { + gchar** result; + int i; +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = g_new0 (gchar*, length + 1); +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + for (i = 0; i < length; i++) { +#line 1046 "TiffSupport.c" + gchar* _tmp0_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = g_strdup (self[i]); +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result[i] = _tmp0_; +#line 1052 "TiffSupport.c" + } +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1056 "TiffSupport.c" +} + + +static gchar** photos_tiff_file_format_properties_real_get_mime_types (PhotoFileFormatProperties* base, int* result_length1) { + PhotosTiffFileFormatProperties * self; + gchar** result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 97 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties); +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = photos_tiff_file_format_properties_KNOWN_MIME_TYPES; +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0__length1 = photos_tiff_file_format_properties_KNOWN_MIME_TYPES_length1; +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup17 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1__length1 = _tmp0__length1; +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = _tmp1_; +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2__length1 = _tmp1__length1; +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (result_length1) { +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + *result_length1 = _tmp2__length1; +#line 1087 "TiffSupport.c" + } +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp2_; +#line 98 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1093 "TiffSupport.c" +} + + +PhotosTiffFileFormatProperties* photos_tiff_file_format_properties_construct (GType object_type) { + PhotosTiffFileFormatProperties* self = NULL; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = (PhotosTiffFileFormatProperties*) photo_file_format_properties_construct (object_type); +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self; +#line 1103 "TiffSupport.c" +} + + +PhotosTiffFileFormatProperties* photos_tiff_file_format_properties_new (void) { +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return photos_tiff_file_format_properties_construct (PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES); +#line 1110 "TiffSupport.c" +} + + +static void photos_tiff_file_format_properties_class_init (PhotosTiffFileFormatPropertiesClass * klass) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_properties_parent_class = g_type_class_peek_parent (klass); +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->finalize = photos_tiff_file_format_properties_finalize; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_file_format = photos_tiff_file_format_properties_real_get_file_format; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_flags = photos_tiff_file_format_properties_real_get_flags; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_extension = photos_tiff_file_format_properties_real_get_default_extension; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_user_visible_name = photos_tiff_file_format_properties_real_get_user_visible_name; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_known_extensions = photos_tiff_file_format_properties_real_get_known_extensions; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_default_mime_type = photos_tiff_file_format_properties_real_get_default_mime_type; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileFormatPropertiesClass *) klass)->get_mime_types = photos_tiff_file_format_properties_real_get_mime_types; +#line 55 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = g_strdup ("tif"); +#line 55 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = g_strdup ("tiff"); +#line 55 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = g_new0 (gchar*, 2 + 1); +#line 55 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_[0] = _tmp0_; +#line 55 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_[1] = _tmp1_; +#line 55 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_properties_KNOWN_EXTENSIONS = _tmp2_; +#line 55 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_properties_KNOWN_EXTENSIONS_length1 = 2; +#line 59 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp3_ = g_strdup ("image/tiff"); +#line 59 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp4_ = g_new0 (gchar*, 1 + 1); +#line 59 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp4_[0] = _tmp3_; +#line 59 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_properties_KNOWN_MIME_TYPES = _tmp4_; +#line 59 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_file_format_properties_KNOWN_MIME_TYPES_length1 = 1; +#line 1162 "TiffSupport.c" +} + + +static void photos_tiff_file_format_properties_instance_init (PhotosTiffFileFormatProperties * self) { +} + + +static void photos_tiff_file_format_properties_finalize (PhotoFileFormatProperties* obj) { + PhotosTiffFileFormatProperties * self; +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PHOTOS_TYPE_TIFF_FILE_FORMAT_PROPERTIES, PhotosTiffFileFormatProperties); +#line 54 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + PHOTO_FILE_FORMAT_PROPERTIES_CLASS (photos_tiff_file_format_properties_parent_class)->finalize (obj); +#line 1176 "TiffSupport.c" +} + + +GType photos_tiff_file_format_properties_get_type (void) { + static volatile gsize photos_tiff_file_format_properties_type_id__volatile = 0; + if (g_once_init_enter (&photos_tiff_file_format_properties_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosTiffFileFormatPropertiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_tiff_file_format_properties_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosTiffFileFormatProperties), 0, (GInstanceInitFunc) photos_tiff_file_format_properties_instance_init, NULL }; + GType photos_tiff_file_format_properties_type_id; + photos_tiff_file_format_properties_type_id = g_type_register_static (TYPE_PHOTO_FILE_FORMAT_PROPERTIES, "PhotosTiffFileFormatProperties", &g_define_type_info, 0); + g_once_init_leave (&photos_tiff_file_format_properties_type_id__volatile, photos_tiff_file_format_properties_type_id); + } + return photos_tiff_file_format_properties_type_id__volatile; +} + + +PhotosTiffSniffer* photos_tiff_sniffer_construct (GType object_type, GFile* file, PhotoFileSnifferOptions options) { + PhotosTiffSniffer* self = NULL; + GFile* _tmp0_ = NULL; + PhotoFileSnifferOptions _tmp1_ = 0; +#line 103 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 104 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = file; +#line 104 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = options; +#line 104 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = (PhotosTiffSniffer*) gdk_sniffer_construct (object_type, _tmp0_, _tmp1_); +#line 103 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self; +#line 1206 "TiffSupport.c" +} + + +PhotosTiffSniffer* photos_tiff_sniffer_new (GFile* file, PhotoFileSnifferOptions options) { +#line 103 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return photos_tiff_sniffer_construct (PHOTOS_TYPE_TIFF_SNIFFER, file, options); +#line 1213 "TiffSupport.c" +} + + +static gpointer _detected_photo_information_ref0 (gpointer self) { +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self ? detected_photo_information_ref (self) : NULL; +#line 1220 "TiffSupport.c" +} + + +static DetectedPhotoInformation* photos_tiff_sniffer_real_sniff (PhotoFileSniffer* base, gboolean* is_corrupted, GError** error) { + PhotosTiffSniffer * self; + gboolean _vala_is_corrupted = FALSE; + DetectedPhotoInformation* result = NULL; + gboolean _tmp0_ = FALSE; + GFile* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + DetectedPhotoInformation* detected = NULL; + gboolean _tmp3_ = FALSE; + DetectedPhotoInformation* _tmp4_ = NULL; + DetectedPhotoInformation* _tmp5_ = NULL; + DetectedPhotoInformation* _tmp6_ = NULL; + DetectedPhotoInformation* _tmp7_ = NULL; + PhotoFileFormat _tmp8_ = 0; + DetectedPhotoInformation* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_SNIFFER, PhotosTiffSniffer); +#line 109 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _vala_is_corrupted = FALSE; +#line 111 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer)->file; +#line 111 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = photos_is_tiff (_tmp1_, NULL, &_inner_error_); +#line 111 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = _tmp2_; +#line 111 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 111 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_propagate_error (error, _inner_error_); +#line 111 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return NULL; +#line 1256 "TiffSupport.c" + } +#line 111 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (!_tmp0_) { +#line 112 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = NULL; +#line 112 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (is_corrupted) { +#line 112 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1266 "TiffSupport.c" + } +#line 112 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1270 "TiffSupport.c" + } +#line 114 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp4_ = PHOTO_FILE_SNIFFER_CLASS (photos_tiff_sniffer_parent_class)->sniff (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_GDK_SNIFFER, GdkSniffer), TYPE_PHOTO_FILE_SNIFFER, PhotoFileSniffer), &_tmp3_, &_inner_error_); +#line 114 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _vala_is_corrupted = _tmp3_; +#line 114 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + detected = _tmp4_; +#line 114 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 114 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_propagate_error (error, _inner_error_); +#line 114 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return NULL; +#line 1284 "TiffSupport.c" + } +#line 115 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp5_ = detected; +#line 115 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (_tmp5_ == NULL) { +#line 116 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = NULL; +#line 116 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _detected_photo_information_unref0 (detected); +#line 116 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (is_corrupted) { +#line 116 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1298 "TiffSupport.c" + } +#line 116 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1302 "TiffSupport.c" + } +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp7_ = detected; +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp8_ = _tmp7_->file_format; +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (_tmp8_ == PHOTO_FILE_FORMAT_TIFF) { +#line 1310 "TiffSupport.c" + DetectedPhotoInformation* _tmp9_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp9_ = detected; +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp6_ = _tmp9_; +#line 1316 "TiffSupport.c" + } else { +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp6_ = NULL; +#line 1320 "TiffSupport.c" + } +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp10_ = _detected_photo_information_ref0 (_tmp6_); +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = _tmp10_; +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _detected_photo_information_unref0 (detected); +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (is_corrupted) { +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + *is_corrupted = _vala_is_corrupted; +#line 1332 "TiffSupport.c" + } +#line 118 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1336 "TiffSupport.c" +} + + +static void photos_tiff_sniffer_class_init (PhotosTiffSnifferClass * klass) { +#line 102 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_sniffer_parent_class = g_type_class_peek_parent (klass); +#line 102 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileSnifferClass *) klass)->sniff = photos_tiff_sniffer_real_sniff; +#line 1345 "TiffSupport.c" +} + + +static void photos_tiff_sniffer_instance_init (PhotosTiffSniffer * self) { +} + + +GType photos_tiff_sniffer_get_type (void) { + static volatile gsize photos_tiff_sniffer_type_id__volatile = 0; + if (g_once_init_enter (&photos_tiff_sniffer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosTiffSnifferClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_tiff_sniffer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosTiffSniffer), 0, (GInstanceInitFunc) photos_tiff_sniffer_instance_init, NULL }; + GType photos_tiff_sniffer_type_id; + photos_tiff_sniffer_type_id = g_type_register_static (TYPE_GDK_SNIFFER, "PhotosTiffSniffer", &g_define_type_info, 0); + g_once_init_leave (&photos_tiff_sniffer_type_id__volatile, photos_tiff_sniffer_type_id); + } + return photos_tiff_sniffer_type_id__volatile; +} + + +PhotosTiffReader* photos_tiff_reader_construct (GType object_type, const gchar* filepath) { + PhotosTiffReader* self = NULL; + const gchar* _tmp0_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 124 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = filepath; +#line 124 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = (PhotosTiffReader*) gdk_reader_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_TIFF); +#line 123 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self; +#line 1376 "TiffSupport.c" +} + + +PhotosTiffReader* photos_tiff_reader_new (const gchar* filepath) { +#line 123 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return photos_tiff_reader_construct (PHOTOS_TYPE_TIFF_READER, filepath); +#line 1383 "TiffSupport.c" +} + + +static void photos_tiff_reader_class_init (PhotosTiffReaderClass * klass) { +#line 122 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_reader_parent_class = g_type_class_peek_parent (klass); +#line 1390 "TiffSupport.c" +} + + +static void photos_tiff_reader_instance_init (PhotosTiffReader * self) { +} + + +GType photos_tiff_reader_get_type (void) { + static volatile gsize photos_tiff_reader_type_id__volatile = 0; + if (g_once_init_enter (&photos_tiff_reader_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosTiffReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_tiff_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosTiffReader), 0, (GInstanceInitFunc) photos_tiff_reader_instance_init, NULL }; + GType photos_tiff_reader_type_id; + photos_tiff_reader_type_id = g_type_register_static (TYPE_GDK_READER, "PhotosTiffReader", &g_define_type_info, 0); + g_once_init_leave (&photos_tiff_reader_type_id__volatile, photos_tiff_reader_type_id); + } + return photos_tiff_reader_type_id__volatile; +} + + +PhotosTiffWriter* photos_tiff_writer_construct (GType object_type, const gchar* filepath) { + PhotosTiffWriter* self = NULL; + const gchar* _tmp0_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 136 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = filepath; +#line 136 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = (PhotosTiffWriter*) photo_file_writer_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_TIFF); +#line 135 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self; +#line 1421 "TiffSupport.c" +} + + +PhotosTiffWriter* photos_tiff_writer_new (const gchar* filepath) { +#line 135 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return photos_tiff_writer_construct (PHOTOS_TYPE_TIFF_WRITER, filepath); +#line 1428 "TiffSupport.c" +} + + +static void photos_tiff_writer_real_write (PhotoFileWriter* base, GdkPixbuf* pixbuf, JpegQuality quality, GError** error) { + PhotosTiffWriter * self; + GdkPixbuf* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 139 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_WRITER, PhotosTiffWriter); +#line 139 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 140 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = pixbuf; +#line 140 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = photo_file_adapter_get_filepath (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 140 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = _tmp1_; +#line 140 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + gdk_pixbuf_save (_tmp0_, _tmp2_, "tiff", &_inner_error_, "compression", PHOTOS_TIFF_WRITER_COMPRESSION_LZW, NULL); +#line 140 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_free0 (_tmp2_); +#line 140 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 140 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_propagate_error (error, _inner_error_); +#line 140 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return; +#line 1458 "TiffSupport.c" + } +} + + +static void photos_tiff_writer_class_init (PhotosTiffWriterClass * klass) { +#line 128 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_writer_parent_class = g_type_class_peek_parent (klass); +#line 128 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileWriterClass *) klass)->write = photos_tiff_writer_real_write; +#line 1468 "TiffSupport.c" +} + + +static void photos_tiff_writer_instance_init (PhotosTiffWriter * self) { +} + + +GType photos_tiff_writer_get_type (void) { + static volatile gsize photos_tiff_writer_type_id__volatile = 0; + if (g_once_init_enter (&photos_tiff_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosTiffWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_tiff_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosTiffWriter), 0, (GInstanceInitFunc) photos_tiff_writer_instance_init, NULL }; + GType photos_tiff_writer_type_id; + photos_tiff_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_WRITER, "PhotosTiffWriter", &g_define_type_info, 0); + g_once_init_leave (&photos_tiff_writer_type_id__volatile, photos_tiff_writer_type_id); + } + return photos_tiff_writer_type_id__volatile; +} + + +PhotosTiffMetadataWriter* photos_tiff_metadata_writer_construct (GType object_type, const gchar* filepath) { + PhotosTiffMetadataWriter* self = NULL; + const gchar* _tmp0_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (filepath != NULL, NULL); +#line 146 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = filepath; +#line 146 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = (PhotosTiffMetadataWriter*) photo_file_metadata_writer_construct (object_type, _tmp0_, PHOTO_FILE_FORMAT_TIFF); +#line 145 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return self; +#line 1499 "TiffSupport.c" +} + + +PhotosTiffMetadataWriter* photos_tiff_metadata_writer_new (const gchar* filepath) { +#line 145 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return photos_tiff_metadata_writer_construct (PHOTOS_TYPE_TIFF_METADATA_WRITER, filepath); +#line 1506 "TiffSupport.c" +} + + +static void photos_tiff_metadata_writer_real_write_metadata (PhotoFileMetadataWriter* base, PhotoMetadata* metadata, GError** error) { + PhotosTiffMetadataWriter * self; + PhotoMetadata* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + GError * _inner_error_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PHOTOS_TYPE_TIFF_METADATA_WRITER, PhotosTiffMetadataWriter); +#line 149 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_if_fail (IS_PHOTO_METADATA (metadata)); +#line 150 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = metadata; +#line 150 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = photo_file_adapter_get_file (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PHOTO_FILE_ADAPTER, PhotoFileAdapter)); +#line 150 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = _tmp1_; +#line 150 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photo_metadata_write_to_file (_tmp0_, _tmp2_, &_inner_error_); +#line 150 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (_tmp2_); +#line 150 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 150 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_propagate_error (error, _inner_error_); +#line 150 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return; +#line 1536 "TiffSupport.c" + } +} + + +static void photos_tiff_metadata_writer_class_init (PhotosTiffMetadataWriterClass * klass) { +#line 144 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + photos_tiff_metadata_writer_parent_class = g_type_class_peek_parent (klass); +#line 144 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + ((PhotoFileMetadataWriterClass *) klass)->write_metadata = photos_tiff_metadata_writer_real_write_metadata; +#line 1546 "TiffSupport.c" +} + + +static void photos_tiff_metadata_writer_instance_init (PhotosTiffMetadataWriter * self) { +} + + +GType photos_tiff_metadata_writer_get_type (void) { + static volatile gsize photos_tiff_metadata_writer_type_id__volatile = 0; + if (g_once_init_enter (&photos_tiff_metadata_writer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PhotosTiffMetadataWriterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) photos_tiff_metadata_writer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PhotosTiffMetadataWriter), 0, (GInstanceInitFunc) photos_tiff_metadata_writer_instance_init, NULL }; + GType photos_tiff_metadata_writer_type_id; + photos_tiff_metadata_writer_type_id = g_type_register_static (TYPE_PHOTO_FILE_METADATA_WRITER, "PhotosTiffMetadataWriter", &g_define_type_info, 0); + g_once_init_leave (&photos_tiff_metadata_writer_type_id__volatile, photos_tiff_metadata_writer_type_id); + } + return photos_tiff_metadata_writer_type_id__volatile; +} + + +gboolean photos_is_tiff (GFile* file, GCancellable* cancellable, GError** error) { + gboolean result = FALSE; + GFileInputStream* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFileInputStream* _tmp2_ = NULL; + GDataInputStream* dins = NULL; + GDataInputStream* _tmp3_ = NULL; + GDataStreamByteOrder order = 0; + guint16 _tmp4_ = 0U; + GDataInputStream* _tmp5_ = NULL; + GCancellable* _tmp6_ = NULL; + guint16 _tmp7_ = 0U; + GDataInputStream* _tmp8_ = NULL; + GDataStreamByteOrder _tmp9_ = 0; + guint16 lue = 0U; + GDataInputStream* _tmp10_ = NULL; + GCancellable* _tmp11_ = NULL; + guint16 _tmp12_ = 0U; + guint16 _tmp13_ = 0U; + GError * _inner_error_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 154 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), FALSE); +#line 155 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp1_ = file; +#line 155 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp2_ = g_file_read (_tmp1_, NULL, &_inner_error_); +#line 155 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp0_ = _tmp2_; +#line 155 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 155 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_propagate_error (error, _inner_error_); +#line 155 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return FALSE; +#line 1602 "TiffSupport.c" + } +#line 155 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp3_ = g_data_input_stream_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, G_TYPE_INPUT_STREAM, GInputStream)); +#line 155 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + dins = _tmp3_; +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp5_ = dins; +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp6_ = cancellable; +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp7_ = g_data_input_stream_read_uint16 (_tmp5_, _tmp6_, &_inner_error_); +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp4_ = _tmp7_; +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_propagate_error (error, _inner_error_); +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (dins); +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (_tmp0_); +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return FALSE; +#line 1626 "TiffSupport.c" + } +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + switch (_tmp4_) { +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + case 0x4949: +#line 1632 "TiffSupport.c" + { +#line 161 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + order = G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN; +#line 162 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + break; +#line 1638 "TiffSupport.c" + } +#line 159 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + case 0x4D4D: +#line 1642 "TiffSupport.c" + { +#line 165 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + order = G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN; +#line 166 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + break; +#line 1648 "TiffSupport.c" + } + default: + { +#line 169 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = FALSE; +#line 169 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (dins); +#line 169 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (_tmp0_); +#line 169 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1660 "TiffSupport.c" + } + } +#line 172 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp8_ = dins; +#line 172 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp9_ = order; +#line 172 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_data_input_stream_set_byte_order (_tmp8_, _tmp9_); +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp10_ = dins; +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp11_ = cancellable; +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp12_ = g_data_input_stream_read_uint16 (_tmp10_, _tmp11_, &_inner_error_); +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + lue = _tmp12_; +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + g_propagate_error (error, _inner_error_); +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (dins); +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (_tmp0_); +#line 175 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return FALSE; +#line 1687 "TiffSupport.c" + } +#line 176 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _tmp13_ = lue; +#line 176 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + if (((gint) _tmp13_) != 42) { +#line 177 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = FALSE; +#line 177 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (dins); +#line 177 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (_tmp0_); +#line 177 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1701 "TiffSupport.c" + } +#line 180 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + result = TRUE; +#line 180 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (dins); +#line 180 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + _g_object_unref0 (_tmp0_); +#line 180 "/home/jens/Source/shotwell/src/photos/TiffSupport.vala" + return result; +#line 1711 "TiffSupport.c" +} + + + diff --git a/src/photos/mk/photos.mk b/src/photos/mk/photos.mk deleted file mode 100644 index 6be33a4..0000000 --- a/src/photos/mk/photos.mk +++ /dev/null @@ -1,38 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Photos - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := photos - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - PhotoFileAdapter.vala \ - PhotoFileFormat.vala \ - PhotoFileSniffer.vala \ - PhotoMetadata.vala \ - GRaw.vala \ - GdkSupport.vala \ - JfifSupport.vala \ - BmpSupport.vala \ - RawSupport.vala \ - PngSupport.vala \ - TiffSupport.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/plugins/DataImportsInterfaces.c b/src/plugins/DataImportsInterfaces.c new file mode 100644 index 0000000..96920a9 --- /dev/null +++ b/src/plugins/DataImportsInterfaces.c @@ -0,0 +1,1738 @@ +/* DataImportsInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from DataImportsInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER (spit_data_imports_data_importer_get_type ()) +#define SPIT_DATA_IMPORTS_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporter)) +#define SPIT_DATA_IMPORTS_IS_DATA_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER)) +#define SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_DATA_IMPORTER, SpitDataImportsDataImporterIface)) + +typedef struct _SpitDataImportsDataImporter SpitDataImportsDataImporter; +typedef struct _SpitDataImportsDataImporterIface SpitDataImportsDataImporterIface; + +#define SPIT_TYPE_PLUGGABLE (spit_pluggable_get_type ()) +#define SPIT_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggable)) +#define SPIT_IS_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_PLUGGABLE)) +#define SPIT_PLUGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggableIface)) + +typedef struct _SpitPluggable SpitPluggable; +typedef struct _SpitPluggableIface SpitPluggableIface; + +#define SPIT_TYPE_PLUGGABLE_INFO (spit_pluggable_info_get_type ()) +typedef struct _SpitPluggableInfo SpitPluggableInfo; + +#define SPIT_DATA_IMPORTS_TYPE_SERVICE (spit_data_imports_service_get_type ()) +#define SPIT_DATA_IMPORTS_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_SERVICE, SpitDataImportsService)) +#define SPIT_DATA_IMPORTS_IS_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_SERVICE)) +#define SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_SERVICE, SpitDataImportsServiceIface)) + +typedef struct _SpitDataImportsService SpitDataImportsService; +typedef struct _SpitDataImportsServiceIface SpitDataImportsServiceIface; + +#define SPIT_TYPE_HOST_INTERFACE (spit_host_interface_get_type ()) +#define SPIT_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterface)) +#define SPIT_IS_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_HOST_INTERFACE)) +#define SPIT_HOST_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterfaceIface)) + +typedef struct _SpitHostInterface SpitHostInterface; +typedef struct _SpitHostInterfaceIface SpitHostInterfaceIface; + +#define SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST (spit_data_imports_plugin_host_get_type ()) +#define SPIT_DATA_IMPORTS_PLUGIN_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHost)) +#define SPIT_DATA_IMPORTS_IS_PLUGIN_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST)) +#define SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_PLUGIN_HOST, SpitDataImportsPluginHostIface)) + +typedef struct _SpitDataImportsPluginHost SpitDataImportsPluginHost; +typedef struct _SpitDataImportsPluginHostIface SpitDataImportsPluginHostIface; + +#define SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE (spit_data_imports_dialog_pane_get_type ()) +#define SPIT_DATA_IMPORTS_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPane)) +#define SPIT_DATA_IMPORTS_IS_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE)) +#define SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_DIALOG_PANE, SpitDataImportsDialogPaneIface)) + +typedef struct _SpitDataImportsDialogPane SpitDataImportsDialogPane; +typedef struct _SpitDataImportsDialogPaneIface SpitDataImportsDialogPaneIface; + +#define SPIT_DATA_IMPORTS_DIALOG_PANE_TYPE_GEOMETRY_OPTIONS (spit_data_imports_dialog_pane_geometry_options_get_type ()) + +#define SPIT_DATA_IMPORTS_PLUGIN_HOST_TYPE_BUTTON_MODE (spit_data_imports_plugin_host_button_mode_get_type ()) + +#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY (spit_data_imports_importable_library_get_type ()) +#define SPIT_DATA_IMPORTS_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, SpitDataImportsImportableLibrary)) +#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY)) +#define SPIT_DATA_IMPORTS_IMPORTABLE_LIBRARY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_LIBRARY, SpitDataImportsImportableLibraryIface)) + +typedef struct _SpitDataImportsImportableLibrary SpitDataImportsImportableLibrary; +typedef struct _SpitDataImportsImportableLibraryIface SpitDataImportsImportableLibraryIface; + +#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM (spit_data_imports_importable_media_item_get_type ()) +#define SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItem)) +#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM)) +#define SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_MEDIA_ITEM, SpitDataImportsImportableMediaItemIface)) + +typedef struct _SpitDataImportsImportableMediaItem SpitDataImportsImportableMediaItem; +typedef struct _SpitDataImportsImportableMediaItemIface SpitDataImportsImportableMediaItemIface; + +#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG (spit_data_imports_importable_tag_get_type ()) +#define SPIT_DATA_IMPORTS_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTag)) +#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG)) +#define SPIT_DATA_IMPORTS_IMPORTABLE_TAG_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_TAG, SpitDataImportsImportableTagIface)) + +typedef struct _SpitDataImportsImportableTag SpitDataImportsImportableTag; +typedef struct _SpitDataImportsImportableTagIface SpitDataImportsImportableTagIface; + +#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT (spit_data_imports_importable_event_get_type ()) +#define SPIT_DATA_IMPORTS_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, SpitDataImportsImportableEvent)) +#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT)) +#define SPIT_DATA_IMPORTS_IMPORTABLE_EVENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_EVENT, SpitDataImportsImportableEventIface)) + +typedef struct _SpitDataImportsImportableEvent SpitDataImportsImportableEvent; +typedef struct _SpitDataImportsImportableEventIface SpitDataImportsImportableEventIface; + +#define SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING (spit_data_imports_importable_rating_get_type ()) +#define SPIT_DATA_IMPORTS_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, SpitDataImportsImportableRating)) +#define SPIT_DATA_IMPORTS_IS_IMPORTABLE_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING)) +#define SPIT_DATA_IMPORTS_IMPORTABLE_RATING_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_DATA_IMPORTS_TYPE_IMPORTABLE_RATING, SpitDataImportsImportableRatingIface)) + +typedef struct _SpitDataImportsImportableRating SpitDataImportsImportableRating; +typedef struct _SpitDataImportsImportableRatingIface SpitDataImportsImportableRatingIface; + +/** + * The error domain for alien databases + */ +typedef enum { + SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR_UNSUPPORTED_VERSION +} SpitDataImportsDataImportError; +#define SPIT_DATA_IMPORTS_DATA_IMPORT_ERROR spit_data_imports_data_import_error_quark () +struct _SpitPluggableInfo { + gchar* version; + gchar* brief_description; + gchar* authors; + gchar* copyright; + gchar* license; + gboolean is_license_wordwrapped; + gchar* website_url; + gchar* website_name; + gchar* translators; + GdkPixbuf** icons; + gint icons_length1; +}; + +struct _SpitPluggableIface { + GTypeInterface parent_iface; + gint (*get_pluggable_interface) (SpitPluggable* self, gint min_host_interface, gint max_host_interface); + const gchar* (*get_id) (SpitPluggable* self); + const gchar* (*get_pluggable_name) (SpitPluggable* self); + void (*get_info) (SpitPluggable* self, SpitPluggableInfo* info); + void (*activation) (SpitPluggable* self, gboolean enabled); + void (*reserved0) (SpitPluggable* self); + void (*reserved1) (SpitPluggable* self); + void (*reserved2) (SpitPluggable* self); + void (*reserved3) (SpitPluggable* self); + void (*reserved4) (SpitPluggable* self); + void (*reserved5) (SpitPluggable* self); + void (*reserved6) (SpitPluggable* self); + void (*reserved7) (SpitPluggable* self); +}; + +struct _SpitHostInterfaceIface { + GTypeInterface parent_iface; + GFile* (*get_module_file) (SpitHostInterface* self); + gboolean (*get_config_bool) (SpitHostInterface* self, const gchar* key, gboolean def); + void (*set_config_bool) (SpitHostInterface* self, const gchar* key, gboolean val); + gint (*get_config_int) (SpitHostInterface* self, const gchar* key, gint def); + void (*set_config_int) (SpitHostInterface* self, const gchar* key, gint val); + gchar* (*get_config_string) (SpitHostInterface* self, const gchar* key, const gchar* def); + void (*set_config_string) (SpitHostInterface* self, const gchar* key, const gchar* val); + gdouble (*get_config_double) (SpitHostInterface* self, const gchar* key, gdouble def); + void (*set_config_double) (SpitHostInterface* self, const gchar* key, gdouble val); + void (*unset_config_key) (SpitHostInterface* self, const gchar* key); + void (*reserved0) (SpitHostInterface* self); + void (*reserved1) (SpitHostInterface* self); + void (*reserved2) (SpitHostInterface* self); + void (*reserved3) (SpitHostInterface* self); + void (*reserved4) (SpitHostInterface* self); + void (*reserved5) (SpitHostInterface* self); + void (*reserved6) (SpitHostInterface* self); + void (*reserved7) (SpitHostInterface* self); +}; + +typedef enum { + SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_NONE = 0, + SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE = 1 << 0, + SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE = 1 << 1, + SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE = 1 << 2 +} SpitDataImportsDialogPaneGeometryOptions; + +struct _SpitDataImportsDialogPaneIface { + GTypeInterface parent_iface; + GtkWidget* (*get_widget) (SpitDataImportsDialogPane* self); + SpitDataImportsDialogPaneGeometryOptions (*get_preferred_geometry) (SpitDataImportsDialogPane* self); + void (*on_pane_installed) (SpitDataImportsDialogPane* self); + void (*on_pane_uninstalled) (SpitDataImportsDialogPane* self); + void (*reserved0) (SpitDataImportsDialogPane* self); + void (*reserved1) (SpitDataImportsDialogPane* self); + void (*reserved2) (SpitDataImportsDialogPane* self); + void (*reserved3) (SpitDataImportsDialogPane* self); + void (*reserved4) (SpitDataImportsDialogPane* self); + void (*reserved5) (SpitDataImportsDialogPane* self); + void (*reserved6) (SpitDataImportsDialogPane* self); + void (*reserved7) (SpitDataImportsDialogPane* self); +}; + +typedef enum { + SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE = 0, + SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CANCEL = 1 +} SpitDataImportsPluginHostButtonMode; + +struct _SpitDataImportsImportableLibraryIface { + GTypeInterface parent_iface; + gchar* (*get_display_name) (SpitDataImportsImportableLibrary* self); +}; + +struct _SpitDataImportsImportableTagIface { + GTypeInterface parent_iface; + gchar* (*get_name) (SpitDataImportsImportableTag* self); + SpitDataImportsImportableTag* (*get_parent) (SpitDataImportsImportableTag* self); +}; + +struct _SpitDataImportsImportableEventIface { + GTypeInterface parent_iface; + gchar* (*get_name) (SpitDataImportsImportableEvent* self); +}; + +struct _SpitDataImportsImportableRatingIface { + GTypeInterface parent_iface; + gboolean (*is_unrated) (SpitDataImportsImportableRating* self); + gboolean (*is_rejected) (SpitDataImportsImportableRating* self); + gint (*get_value) (SpitDataImportsImportableRating* self); +}; + +struct _SpitDataImportsImportableMediaItemIface { + GTypeInterface parent_iface; + SpitDataImportsImportableTag** (*get_tags) (SpitDataImportsImportableMediaItem* self, int* result_length1); + SpitDataImportsImportableEvent* (*get_event) (SpitDataImportsImportableMediaItem* self); + SpitDataImportsImportableRating* (*get_rating) (SpitDataImportsImportableMediaItem* self); + gchar* (*get_title) (SpitDataImportsImportableMediaItem* self); + gchar* (*get_folder_path) (SpitDataImportsImportableMediaItem* self); + gchar* (*get_filename) (SpitDataImportsImportableMediaItem* self); + time_t* (*get_exposure_time) (SpitDataImportsImportableMediaItem* self); +}; + +typedef void (*SpitDataImportsImportedItemsCountCallback) (gint imported_items_count, void* user_data); +struct _SpitDataImportsPluginHostIface { + GTypeInterface parent_iface; + void (*post_error) (SpitDataImportsPluginHost* self, GError* err); + void (*post_error_message) (SpitDataImportsPluginHost* self, const gchar* msg); + void (*start_importing) (SpitDataImportsPluginHost* self); + void (*stop_importing) (SpitDataImportsPluginHost* self); + SpitDataImportsDataImporter* (*get_data_importer) (SpitDataImportsPluginHost* self); + void (*install_dialog_pane) (SpitDataImportsPluginHost* self, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode mode); + void (*install_static_message_pane) (SpitDataImportsPluginHost* self, const gchar* message, SpitDataImportsPluginHostButtonMode mode); + void (*install_library_selection_pane) (SpitDataImportsPluginHost* self, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label); + void (*install_import_progress_pane) (SpitDataImportsPluginHost* self, const gchar* message); + void (*update_import_progress_pane) (SpitDataImportsPluginHost* self, gdouble progress, const gchar* progress_message); + void (*prepare_media_items_for_import) (SpitDataImportsPluginHost* self, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message); + void (*finalize_import) (SpitDataImportsPluginHost* self, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message); + void (*reserved0) (SpitDataImportsPluginHost* self); + void (*reserved1) (SpitDataImportsPluginHost* self); + void (*reserved2) (SpitDataImportsPluginHost* self); + void (*reserved3) (SpitDataImportsPluginHost* self); + void (*reserved4) (SpitDataImportsPluginHost* self); + void (*reserved5) (SpitDataImportsPluginHost* self); + void (*reserved6) (SpitDataImportsPluginHost* self); + void (*reserved7) (SpitDataImportsPluginHost* self); +}; + +struct _SpitDataImportsServiceIface { + GTypeInterface parent_iface; + SpitDataImportsDataImporter* (*create_data_importer) (SpitDataImportsService* self, SpitDataImportsPluginHost* host); + void (*reserved0) (SpitDataImportsService* self); + void (*reserved1) (SpitDataImportsService* self); + void (*reserved2) (SpitDataImportsService* self); + void (*reserved3) (SpitDataImportsService* self); + void (*reserved4) (SpitDataImportsService* self); + void (*reserved5) (SpitDataImportsService* self); + void (*reserved6) (SpitDataImportsService* self); + void (*reserved7) (SpitDataImportsService* self); +}; + +struct _SpitDataImportsDataImporterIface { + GTypeInterface parent_iface; + SpitDataImportsService* (*get_service) (SpitDataImportsDataImporter* self); + void (*start) (SpitDataImportsDataImporter* self); + gboolean (*is_running) (SpitDataImportsDataImporter* self); + void (*stop) (SpitDataImportsDataImporter* self); + void (*on_library_selected) (SpitDataImportsDataImporter* self, SpitDataImportsImportableLibrary* library); + void (*on_file_selected) (SpitDataImportsDataImporter* self, GFile* file); + void (*reserved0) (SpitDataImportsDataImporter* self); + void (*reserved1) (SpitDataImportsDataImporter* self); + void (*reserved2) (SpitDataImportsDataImporter* self); + void (*reserved3) (SpitDataImportsDataImporter* self); + void (*reserved4) (SpitDataImportsDataImporter* self); + void (*reserved5) (SpitDataImportsDataImporter* self); + void (*reserved6) (SpitDataImportsDataImporter* self); + void (*reserved7) (SpitDataImportsDataImporter* self); +}; + + + +#define SPIT_DATA_IMPORTS_CURRENT_INTERFACE 0 +GQuark spit_data_imports_data_import_error_quark (void); +GType spit_pluggable_info_get_type (void) G_GNUC_CONST; +SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self); +void spit_pluggable_info_free (SpitPluggableInfo* self); +void spit_pluggable_info_copy (const SpitPluggableInfo* self, SpitPluggableInfo* dest); +void spit_pluggable_info_destroy (SpitPluggableInfo* self); +GType spit_pluggable_get_type (void) G_GNUC_CONST; +GType spit_host_interface_get_type (void) G_GNUC_CONST; +GType spit_data_imports_dialog_pane_geometry_options_get_type (void) G_GNUC_CONST; +GType spit_data_imports_dialog_pane_get_type (void) G_GNUC_CONST; +GType spit_data_imports_plugin_host_button_mode_get_type (void) G_GNUC_CONST; +GType spit_data_imports_importable_library_get_type (void) G_GNUC_CONST; +GType spit_data_imports_importable_tag_get_type (void) G_GNUC_CONST; +GType spit_data_imports_importable_event_get_type (void) G_GNUC_CONST; +GType spit_data_imports_importable_rating_get_type (void) G_GNUC_CONST; +GType spit_data_imports_importable_media_item_get_type (void) G_GNUC_CONST; +GType spit_data_imports_plugin_host_get_type (void) G_GNUC_CONST; +GType spit_data_imports_service_get_type (void) G_GNUC_CONST; +GType spit_data_imports_data_importer_get_type (void) G_GNUC_CONST; +SpitDataImportsService* spit_data_imports_data_importer_get_service (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_start (SpitDataImportsDataImporter* self); +gboolean spit_data_imports_data_importer_is_running (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_stop (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_on_library_selected (SpitDataImportsDataImporter* self, SpitDataImportsImportableLibrary* library); +void spit_data_imports_data_importer_on_file_selected (SpitDataImportsDataImporter* self, GFile* file); +void spit_data_imports_data_importer_reserved0 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved0 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved1 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved1 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved2 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved2 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved3 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved3 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved4 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved4 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved5 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved5 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved6 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved6 (SpitDataImportsDataImporter* self); +void spit_data_imports_data_importer_reserved7 (SpitDataImportsDataImporter* self); +static void spit_data_imports_data_importer_real_reserved7 (SpitDataImportsDataImporter* self); +gchar* spit_data_imports_importable_library_get_display_name (SpitDataImportsImportableLibrary* self); +SpitDataImportsImportableTag** spit_data_imports_importable_media_item_get_tags (SpitDataImportsImportableMediaItem* self, int* result_length1); +SpitDataImportsImportableEvent* spit_data_imports_importable_media_item_get_event (SpitDataImportsImportableMediaItem* self); +SpitDataImportsImportableRating* spit_data_imports_importable_media_item_get_rating (SpitDataImportsImportableMediaItem* self); +gchar* spit_data_imports_importable_media_item_get_title (SpitDataImportsImportableMediaItem* self); +gchar* spit_data_imports_importable_media_item_get_folder_path (SpitDataImportsImportableMediaItem* self); +gchar* spit_data_imports_importable_media_item_get_filename (SpitDataImportsImportableMediaItem* self); +time_t* spit_data_imports_importable_media_item_get_exposure_time (SpitDataImportsImportableMediaItem* self); +gchar* spit_data_imports_importable_tag_get_name (SpitDataImportsImportableTag* self); +SpitDataImportsImportableTag* spit_data_imports_importable_tag_get_parent (SpitDataImportsImportableTag* self); +gchar* spit_data_imports_importable_event_get_name (SpitDataImportsImportableEvent* self); +gboolean spit_data_imports_importable_rating_is_unrated (SpitDataImportsImportableRating* self); +gboolean spit_data_imports_importable_rating_is_rejected (SpitDataImportsImportableRating* self); +gint spit_data_imports_importable_rating_get_value (SpitDataImportsImportableRating* self); +GtkWidget* spit_data_imports_dialog_pane_get_widget (SpitDataImportsDialogPane* self); +SpitDataImportsDialogPaneGeometryOptions spit_data_imports_dialog_pane_get_preferred_geometry (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_on_pane_installed (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_on_pane_uninstalled (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved0 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved0 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved1 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved1 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved2 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved2 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved3 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved3 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved4 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved4 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved5 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved5 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved6 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved6 (SpitDataImportsDialogPane* self); +void spit_data_imports_dialog_pane_reserved7 (SpitDataImportsDialogPane* self); +static void spit_data_imports_dialog_pane_real_reserved7 (SpitDataImportsDialogPane* self); +void spit_data_imports_plugin_host_post_error (SpitDataImportsPluginHost* self, GError* err); +void spit_data_imports_plugin_host_post_error_message (SpitDataImportsPluginHost* self, const gchar* msg); +void spit_data_imports_plugin_host_start_importing (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_stop_importing (SpitDataImportsPluginHost* self); +SpitDataImportsDataImporter* spit_data_imports_plugin_host_get_data_importer (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_install_dialog_pane (SpitDataImportsPluginHost* self, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode mode); +void spit_data_imports_plugin_host_install_static_message_pane (SpitDataImportsPluginHost* self, const gchar* message, SpitDataImportsPluginHostButtonMode mode); +void spit_data_imports_plugin_host_install_library_selection_pane (SpitDataImportsPluginHost* self, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label); +void spit_data_imports_plugin_host_install_import_progress_pane (SpitDataImportsPluginHost* self, const gchar* message); +void spit_data_imports_plugin_host_update_import_progress_pane (SpitDataImportsPluginHost* self, gdouble progress, const gchar* progress_message); +void spit_data_imports_plugin_host_prepare_media_items_for_import (SpitDataImportsPluginHost* self, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message); +void spit_data_imports_plugin_host_finalize_import (SpitDataImportsPluginHost* self, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message); +void spit_data_imports_plugin_host_reserved0 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved0 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved1 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved1 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved2 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved2 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved3 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved3 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved4 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved4 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved5 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved5 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved6 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved6 (SpitDataImportsPluginHost* self); +void spit_data_imports_plugin_host_reserved7 (SpitDataImportsPluginHost* self); +static void spit_data_imports_plugin_host_real_reserved7 (SpitDataImportsPluginHost* self); +SpitDataImportsDataImporter* spit_data_imports_service_create_data_importer (SpitDataImportsService* self, SpitDataImportsPluginHost* host); +void spit_data_imports_service_reserved0 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved0 (SpitDataImportsService* self); +void spit_data_imports_service_reserved1 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved1 (SpitDataImportsService* self); +void spit_data_imports_service_reserved2 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved2 (SpitDataImportsService* self); +void spit_data_imports_service_reserved3 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved3 (SpitDataImportsService* self); +void spit_data_imports_service_reserved4 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved4 (SpitDataImportsService* self); +void spit_data_imports_service_reserved5 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved5 (SpitDataImportsService* self); +void spit_data_imports_service_reserved6 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved6 (SpitDataImportsService* self); +void spit_data_imports_service_reserved7 (SpitDataImportsService* self); +static void spit_data_imports_service_real_reserved7 (SpitDataImportsService* self); + + +GQuark spit_data_imports_data_import_error_quark (void) { + return g_quark_from_static_string ("spit_data_imports_data_import_error-quark"); +} + + +/** + * Returns a {@link Service} object describing the service to which this connects. + */ +SpitDataImportsService* spit_data_imports_data_importer_get_service (SpitDataImportsDataImporter* self) { +#line 53 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self), NULL); +#line 53 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->get_service (self); +#line 434 "DataImportsInterfaces.c" +} + + +/** + * Makes this data importer enter the running state and endows it with exclusive access + * to the shared services provided by the {@link PluginHost}. Through the host’s interface, + * this data importer can install user interface panes and query configuration information. + */ +void spit_data_imports_data_importer_start (SpitDataImportsDataImporter* self) { +#line 60 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 60 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->start (self); +#line 448 "DataImportsInterfaces.c" +} + + +/** + * Returns true if this data importer is in the running state; false otherwise. + */ +gboolean spit_data_imports_data_importer_is_running (SpitDataImportsDataImporter* self) { +#line 65 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self), FALSE); +#line 65 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->is_running (self); +#line 460 "DataImportsInterfaces.c" +} + + +/** + * Causes this data importer to enter a non-running state. This data importer should stop all + * data access operations and cease use of the shared services provided by the {@link PluginHost}. + */ +void spit_data_imports_data_importer_stop (SpitDataImportsDataImporter* self) { +#line 71 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 71 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->stop (self); +#line 473 "DataImportsInterfaces.c" +} + + +/** + * Causes this data importer to enter start the import of a library. + */ +void spit_data_imports_data_importer_on_library_selected (SpitDataImportsDataImporter* self, SpitDataImportsImportableLibrary* library) { +#line 76 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 76 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->on_library_selected (self, library); +#line 485 "DataImportsInterfaces.c" +} + + +/** + * Causes this data importer to enter start the import of a library file. + */ +void spit_data_imports_data_importer_on_file_selected (SpitDataImportsDataImporter* self, GFile* file) { +#line 81 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 81 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->on_file_selected (self, file); +#line 497 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved0 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved0 (SpitDataImportsDataImporter* self) { +#line 86 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 86 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved0 (self); +#line 510 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved1 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved1 (SpitDataImportsDataImporter* self) { +#line 87 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 87 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved1 (self); +#line 523 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved2 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved2 (SpitDataImportsDataImporter* self) { +#line 88 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 88 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved2 (self); +#line 536 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved3 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved3 (SpitDataImportsDataImporter* self) { +#line 89 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 89 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved3 (self); +#line 549 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved4 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved4 (SpitDataImportsDataImporter* self) { +#line 90 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 90 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved4 (self); +#line 562 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved5 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved5 (SpitDataImportsDataImporter* self) { +#line 91 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 91 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved5 (self); +#line 575 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved6 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved6 (SpitDataImportsDataImporter* self) { +#line 92 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 92 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved6 (self); +#line 588 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_real_reserved7 (SpitDataImportsDataImporter* self) { +} + + +void spit_data_imports_data_importer_reserved7 (SpitDataImportsDataImporter* self) { +#line 93 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DATA_IMPORTER (self)); +#line 93 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DATA_IMPORTER_GET_INTERFACE (self)->reserved7 (self); +#line 601 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_data_importer_base_init (SpitDataImportsDataImporterIface * iface) { +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved0 = spit_data_imports_data_importer_real_reserved0; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved1 = spit_data_imports_data_importer_real_reserved1; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved2 = spit_data_imports_data_importer_real_reserved2; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved3 = spit_data_imports_data_importer_real_reserved3; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved4 = spit_data_imports_data_importer_real_reserved4; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved5 = spit_data_imports_data_importer_real_reserved5; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved6 = spit_data_imports_data_importer_real_reserved6; +#line 49 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved7 = spit_data_imports_data_importer_real_reserved7; +#line 628 "DataImportsInterfaces.c" + } +} + + +/** + * Represents a module that is able to import data from a specific database format. + * + * Developers of data import plugins provide a class that implements this interface. At + * any given time, only one DataImporter can be running. When a data importer is running, it + * has exclusive use of the shared user-interface and + * configuration services provided by the {@link PluginHost}. Data importers are created in + * a non-running state and do not begin running until start( ) is invoked. Data importers + * run until stop( ) is invoked. + */ +GType spit_data_imports_data_importer_get_type (void) { + static volatile gsize spit_data_imports_data_importer_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_data_importer_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsDataImporterIface), (GBaseInitFunc) spit_data_imports_data_importer_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_data_importer_type_id; + spit_data_imports_data_importer_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsDataImporter", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_data_importer_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_data_importer_type_id__volatile, spit_data_imports_data_importer_type_id); + } + return spit_data_imports_data_importer_type_id__volatile; +} + + +gchar* spit_data_imports_importable_library_get_display_name (SpitDataImportsImportableLibrary* self) { +#line 102 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_LIBRARY (self), NULL); +#line 102 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_LIBRARY_GET_INTERFACE (self)->get_display_name (self); +#line 661 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_library_base_init (SpitDataImportsImportableLibraryIface * iface) { +#line 101 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 101 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 101 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 672 "DataImportsInterfaces.c" + } +} + + +/** + * Represents a library of importable media items. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_importable_library_get_type (void) { + static volatile gsize spit_data_imports_importable_library_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_library_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableLibraryIface), (GBaseInitFunc) spit_data_imports_importable_library_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_library_type_id; + spit_data_imports_importable_library_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableLibrary", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_library_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_library_type_id__volatile, spit_data_imports_importable_library_type_id); + } + return spit_data_imports_importable_library_type_id__volatile; +} + + +SpitDataImportsImportableTag** spit_data_imports_importable_media_item_get_tags (SpitDataImportsImportableMediaItem* self, int* result_length1) { +#line 111 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 111 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_tags (self, result_length1); +#line 700 "DataImportsInterfaces.c" +} + + +SpitDataImportsImportableEvent* spit_data_imports_importable_media_item_get_event (SpitDataImportsImportableMediaItem* self) { +#line 113 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 113 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_event (self); +#line 709 "DataImportsInterfaces.c" +} + + +SpitDataImportsImportableRating* spit_data_imports_importable_media_item_get_rating (SpitDataImportsImportableMediaItem* self) { +#line 115 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 115 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_rating (self); +#line 718 "DataImportsInterfaces.c" +} + + +gchar* spit_data_imports_importable_media_item_get_title (SpitDataImportsImportableMediaItem* self) { +#line 117 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 117 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_title (self); +#line 727 "DataImportsInterfaces.c" +} + + +gchar* spit_data_imports_importable_media_item_get_folder_path (SpitDataImportsImportableMediaItem* self) { +#line 119 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 119 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_folder_path (self); +#line 736 "DataImportsInterfaces.c" +} + + +gchar* spit_data_imports_importable_media_item_get_filename (SpitDataImportsImportableMediaItem* self) { +#line 121 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 121 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_filename (self); +#line 745 "DataImportsInterfaces.c" +} + + +time_t* spit_data_imports_importable_media_item_get_exposure_time (SpitDataImportsImportableMediaItem* self) { +#line 123 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_MEDIA_ITEM (self), NULL); +#line 123 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_MEDIA_ITEM_GET_INTERFACE (self)->get_exposure_time (self); +#line 754 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_media_item_base_init (SpitDataImportsImportableMediaItemIface * iface) { +#line 110 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 110 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 110 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 765 "DataImportsInterfaces.c" + } +} + + +/** + * Represents an importable media item such as a photo or a video file. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_importable_media_item_get_type (void) { + static volatile gsize spit_data_imports_importable_media_item_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_media_item_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableMediaItemIface), (GBaseInitFunc) spit_data_imports_importable_media_item_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_media_item_type_id; + spit_data_imports_importable_media_item_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableMediaItem", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_media_item_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_media_item_type_id__volatile, spit_data_imports_importable_media_item_type_id); + } + return spit_data_imports_importable_media_item_type_id__volatile; +} + + +gchar* spit_data_imports_importable_tag_get_name (SpitDataImportsImportableTag* self) { +#line 132 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_TAG (self), NULL); +#line 132 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_TAG_GET_INTERFACE (self)->get_name (self); +#line 793 "DataImportsInterfaces.c" +} + + +SpitDataImportsImportableTag* spit_data_imports_importable_tag_get_parent (SpitDataImportsImportableTag* self) { +#line 134 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_TAG (self), NULL); +#line 134 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_TAG_GET_INTERFACE (self)->get_parent (self); +#line 802 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_tag_base_init (SpitDataImportsImportableTagIface * iface) { +#line 131 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 131 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 131 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 813 "DataImportsInterfaces.c" + } +} + + +/** + * Represents an importable tag. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_importable_tag_get_type (void) { + static volatile gsize spit_data_imports_importable_tag_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_tag_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableTagIface), (GBaseInitFunc) spit_data_imports_importable_tag_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_tag_type_id; + spit_data_imports_importable_tag_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableTag", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_tag_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_tag_type_id__volatile, spit_data_imports_importable_tag_type_id); + } + return spit_data_imports_importable_tag_type_id__volatile; +} + + +gchar* spit_data_imports_importable_event_get_name (SpitDataImportsImportableEvent* self) { +#line 143 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_EVENT (self), NULL); +#line 143 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_EVENT_GET_INTERFACE (self)->get_name (self); +#line 841 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_event_base_init (SpitDataImportsImportableEventIface * iface) { +#line 142 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 142 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 142 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 852 "DataImportsInterfaces.c" + } +} + + +/** + * Represents an importable event. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_importable_event_get_type (void) { + static volatile gsize spit_data_imports_importable_event_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_event_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableEventIface), (GBaseInitFunc) spit_data_imports_importable_event_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_event_type_id; + spit_data_imports_importable_event_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableEvent", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_event_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_event_type_id__volatile, spit_data_imports_importable_event_type_id); + } + return spit_data_imports_importable_event_type_id__volatile; +} + + +gboolean spit_data_imports_importable_rating_is_unrated (SpitDataImportsImportableRating* self) { +#line 155 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_RATING (self), FALSE); +#line 155 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_RATING_GET_INTERFACE (self)->is_unrated (self); +#line 880 "DataImportsInterfaces.c" +} + + +gboolean spit_data_imports_importable_rating_is_rejected (SpitDataImportsImportableRating* self) { +#line 157 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_RATING (self), FALSE); +#line 157 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_RATING_GET_INTERFACE (self)->is_rejected (self); +#line 889 "DataImportsInterfaces.c" +} + + +gint spit_data_imports_importable_rating_get_value (SpitDataImportsImportableRating* self) { +#line 159 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_IMPORTABLE_RATING (self), 0); +#line 159 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_IMPORTABLE_RATING_GET_INTERFACE (self)->get_value (self); +#line 898 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_importable_rating_base_init (SpitDataImportsImportableRatingIface * iface) { +#line 154 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 154 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 154 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 909 "DataImportsInterfaces.c" + } +} + + +/** + * Represents an importable rating value. + * + * Developers of data import plugins provide a class that implements this interface. + * Note that the value returned by the get_value method should be a value between + * 1 and 5, unless the rating object is unrated or rejected, in which case the + * value is unspecified. + */ +GType spit_data_imports_importable_rating_get_type (void) { + static volatile gsize spit_data_imports_importable_rating_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_importable_rating_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsImportableRatingIface), (GBaseInitFunc) spit_data_imports_importable_rating_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_importable_rating_type_id; + spit_data_imports_importable_rating_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsImportableRating", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_importable_rating_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_importable_rating_type_id__volatile, spit_data_imports_importable_rating_type_id); + } + return spit_data_imports_importable_rating_type_id__volatile; +} + + +/** + * Describes how the on-screen publishing dialog box should look and behave when an associated + * pane is installed in the on-screen publishing dialog box. + */ +GType spit_data_imports_dialog_pane_geometry_options_get_type (void) { + static volatile gsize spit_data_imports_dialog_pane_geometry_options_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_dialog_pane_geometry_options_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_NONE, "SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_NONE", "none"}, {SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE, "SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE", "extended-size"}, {SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE, "SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE", "resizable"}, {SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE, "SPIT_DATA_IMPORTS_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE", "colossal-size"}, {0, NULL, NULL}}; + GType spit_data_imports_dialog_pane_geometry_options_type_id; + spit_data_imports_dialog_pane_geometry_options_type_id = g_enum_register_static ("SpitDataImportsDialogPaneGeometryOptions", values); + g_once_init_leave (&spit_data_imports_dialog_pane_geometry_options_type_id__volatile, spit_data_imports_dialog_pane_geometry_options_type_id); + } + return spit_data_imports_dialog_pane_geometry_options_type_id__volatile; +} + + +/** + * Returns the Gtk.Widget that is this pane's on-screen representation. + */ +GtkWidget* spit_data_imports_dialog_pane_get_widget (SpitDataImportsDialogPane* self) { +#line 204 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self), NULL); +#line 204 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->get_widget (self); +#line 959 "DataImportsInterfaces.c" +} + + +/** + * Returns a {@link GeometryOptions} bitfield describing how the on-screen publishing dialog + * box should look and behave when this pane is installed. + */ +SpitDataImportsDialogPaneGeometryOptions spit_data_imports_dialog_pane_get_preferred_geometry (SpitDataImportsDialogPane* self) { +#line 210 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self), 0); +#line 210 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->get_preferred_geometry (self); +#line 972 "DataImportsInterfaces.c" +} + + +/** + * Invoked automatically by Shotwell when this pane has been installed into the on-screen + * publishing dialog box and become visible to the user. + */ +void spit_data_imports_dialog_pane_on_pane_installed (SpitDataImportsDialogPane* self) { +#line 216 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 216 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->on_pane_installed (self); +#line 985 "DataImportsInterfaces.c" +} + + +/** + * Invoked automatically by Shotwell when this pane has been removed from the on-screen + * publishing dialog box and is no longer visible to the user. + */ +void spit_data_imports_dialog_pane_on_pane_uninstalled (SpitDataImportsDialogPane* self) { +#line 222 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 222 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->on_pane_uninstalled (self); +#line 998 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved0 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved0 (SpitDataImportsDialogPane* self) { +#line 227 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 227 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved0 (self); +#line 1011 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved1 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved1 (SpitDataImportsDialogPane* self) { +#line 228 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 228 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved1 (self); +#line 1024 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved2 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved2 (SpitDataImportsDialogPane* self) { +#line 229 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 229 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved2 (self); +#line 1037 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved3 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved3 (SpitDataImportsDialogPane* self) { +#line 230 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 230 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved3 (self); +#line 1050 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved4 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved4 (SpitDataImportsDialogPane* self) { +#line 231 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 231 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved4 (self); +#line 1063 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved5 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved5 (SpitDataImportsDialogPane* self) { +#line 232 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 232 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved5 (self); +#line 1076 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved6 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved6 (SpitDataImportsDialogPane* self) { +#line 233 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 233 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved6 (self); +#line 1089 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_real_reserved7 (SpitDataImportsDialogPane* self) { +} + + +void spit_data_imports_dialog_pane_reserved7 (SpitDataImportsDialogPane* self) { +#line 234 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_DIALOG_PANE (self)); +#line 234 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_DIALOG_PANE_GET_INTERFACE (self)->reserved7 (self); +#line 1102 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_dialog_pane_base_init (SpitDataImportsDialogPaneIface * iface) { +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved0 = spit_data_imports_dialog_pane_real_reserved0; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved1 = spit_data_imports_dialog_pane_real_reserved1; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved2 = spit_data_imports_dialog_pane_real_reserved2; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved3 = spit_data_imports_dialog_pane_real_reserved3; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved4 = spit_data_imports_dialog_pane_real_reserved4; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved5 = spit_data_imports_dialog_pane_real_reserved5; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved6 = spit_data_imports_dialog_pane_real_reserved6; +#line 167 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved7 = spit_data_imports_dialog_pane_real_reserved7; +#line 1129 "DataImportsInterfaces.c" + } +} + + +/** + * Encapsulates a pane that can be installed in the on-screen import dialog box to + * communicate status to and to get information from the user. + * + */ +GType spit_data_imports_dialog_pane_get_type (void) { + static volatile gsize spit_data_imports_dialog_pane_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_dialog_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsDialogPaneIface), (GBaseInitFunc) spit_data_imports_dialog_pane_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_dialog_pane_type_id; + spit_data_imports_dialog_pane_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsDialogPane", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_dialog_pane_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_data_imports_dialog_pane_type_id__volatile, spit_data_imports_dialog_pane_type_id); + } + return spit_data_imports_dialog_pane_type_id__volatile; +} + + +/** + * Specifies the label text on the push button control that appears in the + * lower-right-hand corner of the on-screen publishing dialog box. + */ +GType spit_data_imports_plugin_host_button_mode_get_type (void) { + static volatile gsize spit_data_imports_plugin_host_button_mode_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_plugin_host_button_mode_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE, "SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CLOSE", "close"}, {SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CANCEL, "SPIT_DATA_IMPORTS_PLUGIN_HOST_BUTTON_MODE_CANCEL", "cancel"}, {0, NULL, NULL}}; + GType spit_data_imports_plugin_host_button_mode_type_id; + spit_data_imports_plugin_host_button_mode_type_id = g_enum_register_static ("SpitDataImportsPluginHostButtonMode", values); + g_once_init_leave (&spit_data_imports_plugin_host_button_mode_type_id__volatile, spit_data_imports_plugin_host_button_mode_type_id); + } + return spit_data_imports_plugin_host_button_mode_type_id__volatile; +} + + +/** + * Notifies the user that an unrecoverable import error has occurred and halts + * the import process. + * + * @param err An error object that describes the kind of error that occurred. + */ +void spit_data_imports_plugin_host_post_error (SpitDataImportsPluginHost* self, GError* err) { +#line 271 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 271 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->post_error (self, err); +#line 1179 "DataImportsInterfaces.c" +} + + +/** + * Notifies the user that an unrecoverable import error has occurred and halts + * the import process. + * + * @param msg A message that describes the kind of error that occurred. + */ +void spit_data_imports_plugin_host_post_error_message (SpitDataImportsPluginHost* self, const gchar* msg) { +#line 279 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 279 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->post_error_message (self, msg); +#line 1194 "DataImportsInterfaces.c" +} + + +/** + * Starts the import process. + * + * Calling this method starts the import activity for this host. + */ +void spit_data_imports_plugin_host_start_importing (SpitDataImportsPluginHost* self) { +#line 286 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 286 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->start_importing (self); +#line 1208 "DataImportsInterfaces.c" +} + + +/** + * Halts the import process. + * + * Calling this method stops all import activity and hides the on-screen import + * dialog box. + */ +void spit_data_imports_plugin_host_stop_importing (SpitDataImportsPluginHost* self) { +#line 294 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 294 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->stop_importing (self); +#line 1223 "DataImportsInterfaces.c" +} + + +/** + * Returns a reference to the {@link DataImporter} object that this is currently hosting. + */ +SpitDataImportsDataImporter* spit_data_imports_plugin_host_get_data_importer (SpitDataImportsPluginHost* self) { +#line 299 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self), NULL); +#line 299 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->get_data_importer (self); +#line 1235 "DataImportsInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen data import dialog box, making the pane visible + * and allowing it to interact with the user. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param pane the pane to install + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen data import dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your importer is in the + * middle of processing 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the processing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable actions have already + * occurred. + */ +void spit_data_imports_plugin_host_install_dialog_pane (SpitDataImportsPluginHost* self, SpitDataImportsDialogPane* pane, SpitDataImportsPluginHostButtonMode mode) { +#line 319 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 319 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->install_dialog_pane (self, pane, mode); +#line 1262 "DataImportsInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen data import dialog box that contains + * static text. + * + * The text appears centered in the data import dialog box and is drawn in + * the system font. This is a convenience method only; similar results could be + * achieved by manually constructing a Gtk.Label widget, wrapping it inside a + * {@link DialogPane}, and installing it manually with a call to + * install_dialog_pane( ). To provide visual consistency across data import services, + * however, always use this convenience method instead of constructing label panes when + * you need to display static text to the user. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param message the text to show in the pane + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen data import dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your importer is in the + * middle of processing 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the processing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable actions have already + * occurred. + */ +void spit_data_imports_plugin_host_install_static_message_pane (SpitDataImportsPluginHost* self, const gchar* message, SpitDataImportsPluginHostButtonMode mode) { +#line 348 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 348 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->install_static_message_pane (self, message, mode); +#line 1297 "DataImportsInterfaces.c" +} + + +/** + * Attempts to install a library selection pane that presents a list of + * discovered libraries to the user. + * + * When the user clicks the “OK” button, you’ll be notified of the user’s action through + * the 'on_library_selected' callback if a discovered library was selected or through + * the 'on_file_selected' callback if a file was selected. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param welcome_message the text to be displayed above the list of discovered + * libraries. + * + * @param discovered_libraries the list of importable libraries that the plugin + * has discovered in well known locations. + * + * @param file_select_label the label to display for the file selection + * option. If this label is null, the + * user will not be presented with a file selection option. + */ +void spit_data_imports_plugin_host_install_library_selection_pane (SpitDataImportsPluginHost* self, const gchar* welcome_message, SpitDataImportsImportableLibrary** discovered_libraries, int discovered_libraries_length1, const gchar* file_select_label) { +#line 371 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 371 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->install_library_selection_pane (self, welcome_message, discovered_libraries, discovered_libraries_length1, file_select_label); +#line 1326 "DataImportsInterfaces.c" +} + + +/** + * Attempts to install a progress pane that provides the user with feedback + * on import preparation. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param message the text to be displayed above the progress bar. + */ +void spit_data_imports_plugin_host_install_import_progress_pane (SpitDataImportsPluginHost* self, const gchar* message) { +#line 385 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 385 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->install_import_progress_pane (self, message); +#line 1343 "DataImportsInterfaces.c" +} + + +/** + * Update the progress bar installed by install_import_progress_pane. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param progress a value between 0.0 and 1.0 identifying progress for the + * plugin. + * + * @param progress_label the text to be displayed below the progress bar. If that + * parameter is null, the message will be left unchanged. + */ +void spit_data_imports_plugin_host_update_import_progress_pane (SpitDataImportsPluginHost* self, gdouble progress, const gchar* progress_message) { +#line 400 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 400 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->update_import_progress_pane (self, progress, progress_message); +#line 1363 "DataImportsInterfaces.c" +} + + +/** + * Sends an importable media item to the host in order to prepare it for import + * and update the progress bar installed by install_import_progress_pane. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param item the importable media item to prepare for import. + * + * @param progress a value between 0.0 and 1.0 identifying progress for the + * plugin. + * + * @param host_progress_delta the amount of progress the host should update + * the progress bar during import preparation. Plugins should ensure that + * a proportion of progress for each media item is set aside for the host + * in oder to ensure a smoother update to the progress bar. + * + * @param progress_message the text to be displayed below the progress bar. If that + * parameter is null, the message will be left unchanged. + */ +void spit_data_imports_plugin_host_prepare_media_items_for_import (SpitDataImportsPluginHost* self, SpitDataImportsImportableMediaItem** items, int items_length1, gdouble progress, gdouble host_progress_delta, const gchar* progress_message) { +#line 424 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 424 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->prepare_media_items_for_import (self, items, items_length1, progress, host_progress_delta, progress_message); +#line 1391 "DataImportsInterfaces.c" +} + + +/** + * Finalize the import sequence for the plugin. This tells the host that + * all media items have been processed and that the plugin has finished all + * import work. Once this method has been called, all resources used by the + * plugin for import should be released and the plugin should be back to the + * state it had just after running the start method. The host will then display + * the final message and show progress as fully complete. In a standard import + * scenario, the user is expected to click the Close button to dismiss the + * dialog. On first run, the host may call the LibrarySelectedCallback again + * to import another library handled by the same plugin. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param finalize_message the text to be displayed below the progress bar. If that + * parameter is null, the message will be left unchanged. + */ +void spit_data_imports_plugin_host_finalize_import (SpitDataImportsPluginHost* self, SpitDataImportsImportedItemsCountCallback report_imported_items_count, void* report_imported_items_count_target, const gchar* finalize_message) { +#line 447 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 447 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->finalize_import (self, report_imported_items_count, report_imported_items_count_target, finalize_message); +#line 1416 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved0 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved0 (SpitDataImportsPluginHost* self) { +#line 455 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 455 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved0 (self); +#line 1429 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved1 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved1 (SpitDataImportsPluginHost* self) { +#line 456 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 456 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved1 (self); +#line 1442 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved2 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved2 (SpitDataImportsPluginHost* self) { +#line 457 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 457 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved2 (self); +#line 1455 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved3 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved3 (SpitDataImportsPluginHost* self) { +#line 458 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 458 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved3 (self); +#line 1468 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved4 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved4 (SpitDataImportsPluginHost* self) { +#line 459 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 459 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved4 (self); +#line 1481 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved5 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved5 (SpitDataImportsPluginHost* self) { +#line 460 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 460 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved5 (self); +#line 1494 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved6 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved6 (SpitDataImportsPluginHost* self) { +#line 461 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 461 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved6 (self); +#line 1507 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_real_reserved7 (SpitDataImportsPluginHost* self) { +} + + +void spit_data_imports_plugin_host_reserved7 (SpitDataImportsPluginHost* self) { +#line 462 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_PLUGIN_HOST (self)); +#line 462 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_PLUGIN_HOST_GET_INTERFACE (self)->reserved7 (self); +#line 1520 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_plugin_host_base_init (SpitDataImportsPluginHostIface * iface) { +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved0 = spit_data_imports_plugin_host_real_reserved0; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved1 = spit_data_imports_plugin_host_real_reserved1; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved2 = spit_data_imports_plugin_host_real_reserved2; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved3 = spit_data_imports_plugin_host_real_reserved3; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved4 = spit_data_imports_plugin_host_real_reserved4; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved5 = spit_data_imports_plugin_host_real_reserved5; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved6 = spit_data_imports_plugin_host_real_reserved6; +#line 254 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved7 = spit_data_imports_plugin_host_real_reserved7; +#line 1547 "DataImportsInterfaces.c" + } +} + + +/** + * Manages and provides services for data import plugins. + * + * Implemented inside Shotwell, the PluginHost provides an interface through which the + * developers of data import plugins can query and make changes to the import + * environment. Plugins can use the services of the PluginHost only when their + * {@link DataImporter} is in the running state. This ensures that non-running data importers + * don’t destructively interfere with the actively running importer. + */ +GType spit_data_imports_plugin_host_get_type (void) { + static volatile gsize spit_data_imports_plugin_host_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_plugin_host_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsPluginHostIface), (GBaseInitFunc) spit_data_imports_plugin_host_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_plugin_host_type_id; + spit_data_imports_plugin_host_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsPluginHost", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_plugin_host_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_data_imports_plugin_host_type_id, SPIT_TYPE_HOST_INTERFACE); + g_once_init_leave (&spit_data_imports_plugin_host_type_id__volatile, spit_data_imports_plugin_host_type_id); + } + return spit_data_imports_plugin_host_type_id__volatile; +} + + +/** + * A factory method that instantiates and returns a new {@link DataImporter} object + * that this Service describes. + */ +SpitDataImportsDataImporter* spit_data_imports_service_create_data_importer (SpitDataImportsService* self, SpitDataImportsPluginHost* host) { +#line 475 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_val_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self), NULL); +#line 475 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + return SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->create_data_importer (self, host); +#line 1584 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved0 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved0 (SpitDataImportsService* self) { +#line 480 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 480 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved0 (self); +#line 1597 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved1 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved1 (SpitDataImportsService* self) { +#line 481 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 481 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved1 (self); +#line 1610 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved2 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved2 (SpitDataImportsService* self) { +#line 482 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 482 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved2 (self); +#line 1623 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved3 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved3 (SpitDataImportsService* self) { +#line 483 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 483 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved3 (self); +#line 1636 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved4 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved4 (SpitDataImportsService* self) { +#line 484 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 484 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved4 (self); +#line 1649 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved5 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved5 (SpitDataImportsService* self) { +#line 485 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 485 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved5 (self); +#line 1662 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved6 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved6 (SpitDataImportsService* self) { +#line 486 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 486 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved6 (self); +#line 1675 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_real_reserved7 (SpitDataImportsService* self) { +} + + +void spit_data_imports_service_reserved7 (SpitDataImportsService* self) { +#line 487 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + g_return_if_fail (SPIT_DATA_IMPORTS_IS_SERVICE (self)); +#line 487 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + SPIT_DATA_IMPORTS_SERVICE_GET_INTERFACE (self)->reserved7 (self); +#line 1688 "DataImportsInterfaces.c" +} + + +static void spit_data_imports_service_base_init (SpitDataImportsServiceIface * iface) { +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + static gboolean initialized = FALSE; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + if (!initialized) { +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + initialized = TRUE; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved0 = spit_data_imports_service_real_reserved0; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved1 = spit_data_imports_service_real_reserved1; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved2 = spit_data_imports_service_real_reserved2; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved3 = spit_data_imports_service_real_reserved3; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved4 = spit_data_imports_service_real_reserved4; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved5 = spit_data_imports_service_real_reserved5; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved6 = spit_data_imports_service_real_reserved6; +#line 470 "/home/jens/Source/shotwell/src/plugins/DataImportsInterfaces.vala" + iface->reserved7 = spit_data_imports_service_real_reserved7; +#line 1715 "DataImportsInterfaces.c" + } +} + + +/** + * Describes the features and capabilities of a data import service. + * + * Developers of data import plugins provide a class that implements this interface. + */ +GType spit_data_imports_service_get_type (void) { + static volatile gsize spit_data_imports_service_type_id__volatile = 0; + if (g_once_init_enter (&spit_data_imports_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitDataImportsServiceIface), (GBaseInitFunc) spit_data_imports_service_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_data_imports_service_type_id; + spit_data_imports_service_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitDataImportsService", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_data_imports_service_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_data_imports_service_type_id, SPIT_TYPE_PLUGGABLE); + g_once_init_leave (&spit_data_imports_service_type_id__volatile, spit_data_imports_service_type_id); + } + return spit_data_imports_service_type_id__volatile; +} + + + diff --git a/src/plugins/ManifestWidget.c b/src/plugins/ManifestWidget.c new file mode 100644 index 0000000..e09267a --- /dev/null +++ b/src/plugins/ManifestWidget.c @@ -0,0 +1,2253 @@ +/* ManifestWidget.c generated by valac 0.32.1, the Vala compiler + * generated from ManifestWidget.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include + + +#define PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR (plugins_manifest_widget_mediator_get_type ()) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediator)) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorClass)) +#define PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)) +#define PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)) +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorClass)) + +typedef struct _PluginsManifestWidgetMediator PluginsManifestWidgetMediator; +typedef struct _PluginsManifestWidgetMediatorClass PluginsManifestWidgetMediatorClass; +typedef struct _PluginsManifestWidgetMediatorPrivate PluginsManifestWidgetMediatorPrivate; + +#define PLUGINS_TYPE_MANIFEST_LIST_VIEW (plugins_manifest_list_view_get_type ()) +#define PLUGINS_MANIFEST_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView)) +#define PLUGINS_MANIFEST_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewClass)) +#define PLUGINS_IS_MANIFEST_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW)) +#define PLUGINS_IS_MANIFEST_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MANIFEST_LIST_VIEW)) +#define PLUGINS_MANIFEST_LIST_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewClass)) + +typedef struct _PluginsManifestListView PluginsManifestListView; +typedef struct _PluginsManifestListViewClass PluginsManifestListViewClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _PluginsParamSpecManifestWidgetMediator PluginsParamSpecManifestWidgetMediator; +typedef struct _PluginsManifestListViewPrivate PluginsManifestListViewPrivate; + +#define PLUGINS_MANIFEST_LIST_VIEW_TYPE_COLUMN (plugins_manifest_list_view_column_get_type ()) + +#define PLUGINS_TYPE_EXTENSION_POINT (plugins_extension_point_get_type ()) +#define PLUGINS_EXTENSION_POINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint)) +#define PLUGINS_EXTENSION_POINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointClass)) +#define PLUGINS_IS_EXTENSION_POINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_EXTENSION_POINT)) +#define PLUGINS_IS_EXTENSION_POINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_EXTENSION_POINT)) +#define PLUGINS_EXTENSION_POINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointClass)) + +typedef struct _PluginsExtensionPoint PluginsExtensionPoint; +typedef struct _PluginsExtensionPointClass PluginsExtensionPointClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _gtk_icon_info_free0(var) ((var == NULL) ? NULL : (var = (gtk_icon_info_free (var), NULL))) +#define _plugins_extension_point_unref0(var) ((var == NULL) ? NULL : (var = (plugins_extension_point_unref (var), NULL))) +#define _gtk_tree_path_free0(var) ((var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL))) +#define __g_list_free__gtk_tree_path_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__gtk_tree_path_free0_ (var), NULL))) + +struct _PluginsManifestWidgetMediator { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsManifestWidgetMediatorPrivate * priv; +}; + +struct _PluginsManifestWidgetMediatorClass { + GTypeClass parent_class; + void (*finalize) (PluginsManifestWidgetMediator *self); +}; + +struct _PluginsManifestWidgetMediatorPrivate { + GtkBuilder* builder; + PluginsManifestListView* list; +}; + +struct _PluginsParamSpecManifestWidgetMediator { + GParamSpec parent_instance; +}; + +struct _PluginsManifestListView { + GtkTreeView parent_instance; + PluginsManifestListViewPrivate * priv; +}; + +struct _PluginsManifestListViewClass { + GtkTreeViewClass parent_class; +}; + +struct _PluginsManifestListViewPrivate { + GtkTreeStore* store; +}; + +typedef enum { + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, + PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS +} PluginsManifestListViewColumn; + + +static gpointer plugins_manifest_widget_mediator_parent_class = NULL; +static gpointer plugins_manifest_list_view_parent_class = NULL; + +gpointer plugins_manifest_widget_mediator_ref (gpointer instance); +void plugins_manifest_widget_mediator_unref (gpointer instance); +GParamSpec* plugins_param_spec_manifest_widget_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_manifest_widget_mediator (GValue* value, gpointer v_object); +void plugins_value_take_manifest_widget_mediator (GValue* value, gpointer v_object); +gpointer plugins_value_get_manifest_widget_mediator (const GValue* value); +GType plugins_manifest_widget_mediator_get_type (void) G_GNUC_CONST; +GType plugins_manifest_list_view_get_type (void) G_GNUC_CONST; +#define PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediatorPrivate)) +enum { + PLUGINS_MANIFEST_WIDGET_MEDIATOR_DUMMY_PROPERTY +}; +static GtkButton* plugins_manifest_widget_mediator_get_about_button (PluginsManifestWidgetMediator* self); +static void plugins_manifest_widget_mediator_on_about (PluginsManifestWidgetMediator* self); +static void _plugins_manifest_widget_mediator_on_about_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void plugins_manifest_widget_mediator_on_selection_changed (PluginsManifestWidgetMediator* self); +static void _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self); +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user); +PluginsManifestListView* plugins_manifest_list_view_new (void); +PluginsManifestListView* plugins_manifest_list_view_construct (GType object_type); +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_new (void); +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_construct (GType object_type); +static GtkScrolledWindow* plugins_manifest_widget_mediator_get_list_bin (PluginsManifestWidgetMediator* self); +static void plugins_manifest_widget_mediator_set_about_button_sensitivity (PluginsManifestWidgetMediator* self); +gchar** plugins_manifest_list_view_get_selected_ids (PluginsManifestListView* self, int* result_length1); +gboolean plugins_get_pluggable_info (const gchar* id, SpitPluggableInfo* info); +gboolean is_string_empty (const gchar* s); +static void _vala_array_add49 (gchar*** array, int* length, int* size, gchar* value); +GdkPixbuf* resources_get_icon (const gchar* name, gint scale); +#define RESOURCES_ICON_GENERIC_PLUGIN "generic-plugin.png" +#define RESOURCES_DEFAULT_ICON_SCALE 24 +gchar* plugins_get_pluggable_name (const gchar* id); +GtkWidget* plugins_manifest_widget_mediator_get_widget (PluginsManifestWidgetMediator* self); +static void plugins_manifest_widget_mediator_finalize (PluginsManifestWidgetMediator* obj); +#define PLUGINS_MANIFEST_LIST_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListViewPrivate)) +enum { + PLUGINS_MANIFEST_LIST_VIEW_DUMMY_PROPERTY +}; +static GType plugins_manifest_list_view_column_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE 24 +#define PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING 6 +#define PLUGINS_MANIFEST_LIST_VIEW_ICON_Y_PADDING 2 +GtkIconTheme* resources_get_icon_theme_engine (void); +gpointer plugins_extension_point_ref (gpointer instance); +void plugins_extension_point_unref (gpointer instance); +GParamSpec* plugins_param_spec_extension_point (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_extension_point (GValue* value, gpointer v_object); +void plugins_value_take_extension_point (GValue* value, gpointer v_object); +gpointer plugins_value_get_extension_point (const GValue* value); +GType plugins_extension_point_get_type (void) G_GNUC_CONST; +GeeCollection* plugins_get_extension_points (GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +gint plugins_compare_extension_point_names (void* a, void* b); +static gint _plugins_compare_extension_point_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +const gchar* plugins_extension_point_get_icon_name (PluginsExtensionPoint* self); +const gchar* plugins_extension_point_get_name (PluginsExtensionPoint* self); +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled); +GType plugins_extension_point_get_pluggable_type (PluginsExtensionPoint* self); +gint plugins_compare_pluggable_names (void* a, void* b); +static gint _plugins_compare_pluggable_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +gboolean plugins_get_pluggable_enabled (const gchar* id, gboolean* enabled); +static gchar* plugins_manifest_list_view_get_id_at_path (PluginsManifestListView* self, GtkTreePath* path, GtkTreeIter* iter); +static void _vala_array_add50 (gchar*** array, int* length, int* size, gchar* value); +static void _gtk_tree_path_free0_ (gpointer var); +static void _g_list_free__gtk_tree_path_free0_ (GList* self); +static gboolean plugins_manifest_list_view_real_button_press_event (GtkWidget* base, GdkEventButton* event); +void plugins_set_pluggable_enabled (const gchar* id, gboolean enabled); +static void plugins_manifest_list_view_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +static void _plugins_manifest_widget_mediator_on_about_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_on_about ((PluginsManifestWidgetMediator*) self); +#line 187 "ManifestWidget.c" +} + + +static void _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self) { +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_on_selection_changed ((PluginsManifestWidgetMediator*) self); +#line 194 "ManifestWidget.c" +} + + +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_construct (GType object_type) { + PluginsManifestWidgetMediator* self = NULL; + GtkScrolledWindow* _tmp0_ = NULL; + GtkScrolledWindow* _tmp1_ = NULL; + PluginsManifestListView* _tmp2_ = NULL; + GtkButton* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; + PluginsManifestListView* _tmp5_ = NULL; + GtkTreeSelection* _tmp6_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = (PluginsManifestWidgetMediator*) g_type_create_instance (object_type); +#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = plugins_manifest_widget_mediator_get_list_bin (self); +#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = _tmp0_; +#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = self->priv->list; +#line 32 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_scrolled_window_add_with_viewport (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = plugins_manifest_widget_mediator_get_about_button (self); +#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = _tmp3_; +#line 34 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_connect (_tmp4_, "clicked", (GCallback) _plugins_manifest_widget_mediator_on_about_gtk_button_clicked, self); +#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = self->priv->list; +#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp6_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_tree_view_get_type (), GtkTreeView)); +#line 35 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_connect (_tmp6_, "changed", (GCallback) _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed, self); +#line 37 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_set_about_button_sensitivity (self); +#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return self; +#line 233 "ManifestWidget.c" +} + + +PluginsManifestWidgetMediator* plugins_manifest_widget_mediator_new (void) { +#line 31 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return plugins_manifest_widget_mediator_construct (PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR); +#line 240 "ManifestWidget.c" +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 263 "ManifestWidget.c" +} + + +static void _vala_array_add49 (gchar*** array, int* length, int* size, gchar* value) { +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if ((*length) == (*size)) { +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 274 "ManifestWidget.c" + } +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (*array)[(*length)++] = value; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (*array)[*length] = NULL; +#line 280 "ManifestWidget.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return self ? g_object_ref (self) : NULL; +#line 287 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_on_about (PluginsManifestWidgetMediator* self) { + gchar** ids = NULL; + PluginsManifestListView* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* id = NULL; + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + SpitPluggableInfo info = {0}; + const gchar* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + gchar** authors = NULL; + gint authors_length1 = 0; + gint _authors_size_ = 0; + SpitPluggableInfo _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; + GtkAboutDialog* about_dialog = NULL; + GtkAboutDialog* _tmp31_ = NULL; + GtkAboutDialog* _tmp32_ = NULL; + gchar** _tmp33_ = NULL; + gint _tmp33__length1 = 0; + GtkAboutDialog* _tmp34_ = NULL; + SpitPluggableInfo _tmp35_ = {0}; + const gchar* _tmp36_ = NULL; + GtkAboutDialog* _tmp37_ = NULL; + SpitPluggableInfo _tmp38_ = {0}; + const gchar* _tmp39_ = NULL; + GtkAboutDialog* _tmp40_ = NULL; + SpitPluggableInfo _tmp41_ = {0}; + const gchar* _tmp42_ = NULL; + GtkAboutDialog* _tmp43_ = NULL; + SpitPluggableInfo _tmp44_ = {0}; + gboolean _tmp45_ = FALSE; + GdkPixbuf* _tmp46_ = NULL; + gboolean _tmp47_ = FALSE; + SpitPluggableInfo _tmp48_ = {0}; + GdkPixbuf** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + GtkAboutDialog* _tmp57_ = NULL; + GtkAboutDialog* _tmp58_ = NULL; + const gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + gchar* _tmp61_ = NULL; + GtkAboutDialog* _tmp62_ = NULL; + SpitPluggableInfo _tmp63_ = {0}; + const gchar* _tmp64_ = NULL; + GtkAboutDialog* _tmp65_ = NULL; + SpitPluggableInfo _tmp66_ = {0}; + const gchar* _tmp67_ = NULL; + GtkAboutDialog* _tmp68_ = NULL; + SpitPluggableInfo _tmp69_ = {0}; + const gchar* _tmp70_ = NULL; + GtkAboutDialog* _tmp71_ = NULL; + SpitPluggableInfo _tmp72_ = {0}; + const gchar* _tmp73_ = NULL; + GtkAboutDialog* _tmp74_ = NULL; + GtkAboutDialog* _tmp75_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self)); +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->list; +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = plugins_manifest_list_view_get_selected_ids (_tmp0_, &_tmp1_); +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = _tmp2_; +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids_length1 = _tmp1_; +#line 46 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _ids_size_ = ids_length1; +#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = ids; +#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3__length1 = ids_length1; +#line 47 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp3__length1 == 0) { +#line 48 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL); +#line 48 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return; +#line 376 "ManifestWidget.c" + } +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = ids; +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4__length1 = ids_length1; +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = _tmp4_[0]; +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 50 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + id = _tmp6_; +#line 52 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + memset (&info, 0, sizeof (SpitPluggableInfo)); +#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp7_ = id; +#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp8_ = plugins_get_pluggable_info (_tmp7_, &info); +#line 53 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp8_) { +#line 396 "ManifestWidget.c" + const gchar* _tmp9_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9_ = id; +#line 54 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_warning ("ManifestWidget.vala:54: Unable to retrieve information for plugin %s", _tmp9_); +#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spit_pluggable_info_destroy (&info); +#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL); +#line 56 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return; +#line 410 "ManifestWidget.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors = NULL; +#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors_length1 = 0; +#line 61 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _authors_size_ = authors_length1; +#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp10_ = info; +#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp11_ = _tmp10_.authors; +#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp11_ != NULL) { +#line 424 "ManifestWidget.c" + gchar** split = NULL; + SpitPluggableInfo _tmp12_ = {0}; + const gchar* _tmp13_ = NULL; + gchar** _tmp14_ = NULL; + gchar** _tmp15_ = NULL; + gint split_length1 = 0; + gint _split_size_ = 0; +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = info; +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp13_ = _tmp12_.authors; +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp15_ = _tmp14_ = g_strsplit (_tmp13_, ",", 0); +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + split = _tmp15_; +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + split_length1 = _vala_array_length (_tmp14_); +#line 63 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _split_size_ = split_length1; +#line 444 "ManifestWidget.c" + { + gint ctr = 0; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ctr = 0; +#line 449 "ManifestWidget.c" + { + gboolean _tmp16_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp16_ = TRUE; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + while (TRUE) { +#line 456 "ManifestWidget.c" + gint _tmp18_ = 0; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gchar* stripped = NULL; + gchar** _tmp20_ = NULL; + gint _tmp20__length1 = 0; + gint _tmp21_ = 0; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp16_) { +#line 470 "ManifestWidget.c" + gint _tmp17_ = 0; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp17_ = ctr; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ctr = _tmp17_ + 1; +#line 476 "ManifestWidget.c" + } +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp16_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp18_ = ctr; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp19_ = split; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp19__length1 = split_length1; +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!(_tmp18_ < _tmp19__length1)) { +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + break; +#line 490 "ManifestWidget.c" + } +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp20_ = split; +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp20__length1 = split_length1; +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp21_ = ctr; +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp22_ = _tmp20_[_tmp21_]; +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp23_ = string_strip (_tmp22_); +#line 65 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + stripped = _tmp23_; +#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp24_ = stripped; +#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp25_ = is_string_empty (_tmp24_); +#line 66 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp25_) { +#line 510 "ManifestWidget.c" + gchar** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + gchar** _tmp28_ = NULL; + gint _tmp28__length1 = 0; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp26_ = authors; +#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp26__length1 = authors_length1; +#line 67 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp26_ == NULL) { +#line 523 "ManifestWidget.c" + gchar** _tmp27_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp27_ = g_new0 (gchar*, 0 + 1); +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL); +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors = _tmp27_; +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors_length1 = 0; +#line 68 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _authors_size_ = authors_length1; +#line 535 "ManifestWidget.c" + } +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp28_ = authors; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp28__length1 = authors_length1; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp29_ = stripped; +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 70 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _vala_array_add49 (&authors, &authors_length1, &_authors_size_, _tmp30_); +#line 547 "ManifestWidget.c" + } +#line 64 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (stripped); +#line 551 "ManifestWidget.c" + } + } + } +#line 62 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + split = (_vala_array_free (split, split_length1, (GDestroyNotify) g_free), NULL); +#line 557 "ManifestWidget.c" + } +#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp31_ = (GtkAboutDialog*) gtk_about_dialog_new (); +#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp31_); +#line 75 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + about_dialog = _tmp31_; +#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp32_ = about_dialog; +#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp33_ = authors; +#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp33__length1 = authors_length1; +#line 76 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_authors (_tmp32_, _tmp33_); +#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp34_ = about_dialog; +#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp35_ = info; +#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp36_ = _tmp35_.brief_description; +#line 77 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_comments (_tmp34_, _tmp36_); +#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp37_ = about_dialog; +#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp38_ = info; +#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp39_ = _tmp38_.copyright; +#line 78 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_copyright (_tmp37_, _tmp39_); +#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp40_ = about_dialog; +#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp41_ = info; +#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp42_ = _tmp41_.license; +#line 79 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_license (_tmp40_, _tmp42_); +#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp43_ = about_dialog; +#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp44_ = info; +#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp45_ = _tmp44_.is_license_wordwrapped; +#line 80 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_wrap_license (_tmp43_, _tmp45_); +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp48_ = info; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp49_ = _tmp48_.icons; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp49__length1 = _tmp48_.icons_length1; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp49_ != NULL) { +#line 613 "ManifestWidget.c" + SpitPluggableInfo _tmp50_ = {0}; + GdkPixbuf** _tmp51_ = NULL; + gint _tmp51__length1 = 0; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp50_ = info; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp51_ = _tmp50_.icons; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp51__length1 = _tmp50_.icons_length1; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp47_ = _tmp51__length1 > 0; +#line 625 "ManifestWidget.c" + } else { +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp47_ = FALSE; +#line 629 "ManifestWidget.c" + } +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp47_) { +#line 633 "ManifestWidget.c" + SpitPluggableInfo _tmp52_ = {0}; + GdkPixbuf** _tmp53_ = NULL; + gint _tmp53__length1 = 0; + GdkPixbuf* _tmp54_ = NULL; + GdkPixbuf* _tmp55_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp52_ = info; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp53_ = _tmp52_.icons; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp53__length1 = _tmp52_.icons_length1; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp54_ = _tmp53_[0]; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp55_ = _g_object_ref0 (_tmp54_); +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp46_); +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp46_ = _tmp55_; +#line 653 "ManifestWidget.c" + } else { + GdkPixbuf* _tmp56_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp56_ = resources_get_icon (RESOURCES_ICON_GENERIC_PLUGIN, RESOURCES_DEFAULT_ICON_SCALE); +#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp46_); +#line 82 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp46_ = _tmp56_; +#line 662 "ManifestWidget.c" + } +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp57_ = about_dialog; +#line 81 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_logo (_tmp57_, _tmp46_); +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp58_ = about_dialog; +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp59_ = id; +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp60_ = plugins_get_pluggable_name (_tmp59_); +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp61_ = _tmp60_; +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_program_name (_tmp58_, _tmp61_); +#line 83 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (_tmp61_); +#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp62_ = about_dialog; +#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp63_ = info; +#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp64_ = _tmp63_.translators; +#line 84 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_translator_credits (_tmp62_, _tmp64_); +#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp65_ = about_dialog; +#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp66_ = info; +#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp67_ = _tmp66_.version; +#line 85 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_version (_tmp65_, _tmp67_); +#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp68_ = about_dialog; +#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp69_ = info; +#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp70_ = _tmp69_.website_url; +#line 86 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_website (_tmp68_, _tmp70_); +#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp71_ = about_dialog; +#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp72_ = info; +#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp73_ = _tmp72_.website_name; +#line 87 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_about_dialog_set_website_label (_tmp71_, _tmp73_); +#line 89 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp74_ = about_dialog; +#line 89 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, gtk_dialog_get_type (), GtkDialog)); +#line 91 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp75_ = about_dialog; +#line 91 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp75_, gtk_widget_get_type (), GtkWidget)); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp46_); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (about_dialog); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spit_pluggable_info_destroy (&info); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 45 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL); +#line 732 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_on_selection_changed (PluginsManifestWidgetMediator* self) { +#line 94 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self)); +#line 95 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_set_about_button_sensitivity (self); +#line 741 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_set_about_button_sensitivity (PluginsManifestWidgetMediator* self) { + gchar** ids = NULL; + PluginsManifestListView* _tmp0_ = NULL; + gint _tmp1_ = 0; + gchar** _tmp2_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + GtkButton* _tmp3_ = NULL; + GtkButton* _tmp4_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self)); +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->list; +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = plugins_manifest_list_view_get_selected_ids (_tmp0_, &_tmp1_); +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids_length1 = _tmp1_; +#line 103 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _ids_size_ = ids_length1; +#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = plugins_manifest_widget_mediator_get_about_button (self); +#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = _tmp3_; +#line 104 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), ids_length1 == 1); +#line 98 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = (_vala_array_free (ids, ids_length1, (GDestroyNotify) g_free), NULL); +#line 774 "ManifestWidget.c" +} + + +GtkWidget* plugins_manifest_widget_mediator_get_widget (PluginsManifestWidgetMediator* self) { + GtkWidget* result; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL); +#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->builder; +#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "plugin-manifest"); +#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_widget_get_type ()) ? ((GtkWidget*) _tmp1_) : NULL; +#line 12 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 792 "ManifestWidget.c" +} + + +static GtkButton* plugins_manifest_widget_mediator_get_about_button (PluginsManifestWidgetMediator* self) { + GtkButton* result; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL); +#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->builder; +#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "about-plugin-button"); +#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_button_get_type ()) ? ((GtkButton*) _tmp1_) : NULL; +#line 18 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 810 "ManifestWidget.c" +} + + +static GtkScrolledWindow* plugins_manifest_widget_mediator_get_list_bin (PluginsManifestWidgetMediator* self) { + GtkScrolledWindow* result; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_WIDGET_MEDIATOR (self), NULL); +#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->builder; +#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "plugin-list-scrolled-window"); +#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_scrolled_window_get_type ()) ? ((GtkScrolledWindow*) _tmp1_) : NULL; +#line 24 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 828 "ManifestWidget.c" +} + + +static void plugins_value_manifest_widget_mediator_init (GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = NULL; +#line 835 "ManifestWidget.c" +} + + +static void plugins_value_manifest_widget_mediator_free_value (GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_unref (value->data[0].v_pointer); +#line 844 "ManifestWidget.c" + } +} + + +static void plugins_value_manifest_widget_mediator_copy_value (const GValue* src_value, GValue* dest_value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (src_value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + dest_value->data[0].v_pointer = plugins_manifest_widget_mediator_ref (src_value->data[0].v_pointer); +#line 854 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + dest_value->data[0].v_pointer = NULL; +#line 858 "ManifestWidget.c" + } +} + + +static gpointer plugins_value_manifest_widget_mediator_peek_pointer (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return value->data[0].v_pointer; +#line 866 "ManifestWidget.c" +} + + +static gchar* plugins_value_manifest_widget_mediator_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (collect_values[0].v_pointer) { +#line 873 "ManifestWidget.c" + PluginsManifestWidgetMediator* object; + object = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (object->parent_instance.g_class == NULL) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 880 "ManifestWidget.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 884 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = plugins_manifest_widget_mediator_ref (object); +#line 888 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = NULL; +#line 892 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return NULL; +#line 896 "ManifestWidget.c" +} + + +static gchar* plugins_value_manifest_widget_mediator_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsManifestWidgetMediator** object_p; + object_p = collect_values[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!object_p) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 907 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!value->data[0].v_pointer) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *object_p = NULL; +#line 913 "ManifestWidget.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *object_p = value->data[0].v_pointer; +#line 917 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *object_p = plugins_manifest_widget_mediator_ref (value->data[0].v_pointer); +#line 921 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return NULL; +#line 925 "ManifestWidget.c" +} + + +GParamSpec* plugins_param_spec_manifest_widget_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecManifestWidgetMediator* spec; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR), NULL); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return G_PARAM_SPEC (spec); +#line 939 "ManifestWidget.c" +} + + +gpointer plugins_value_get_manifest_widget_mediator (const GValue* value) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR), NULL); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return value->data[0].v_pointer; +#line 948 "ManifestWidget.c" +} + + +void plugins_value_set_manifest_widget_mediator (GValue* value, gpointer v_object) { + PluginsManifestWidgetMediator* old; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = v_object; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_ref (value->data[0].v_pointer); +#line 968 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = NULL; +#line 972 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_unref (old); +#line 978 "ManifestWidget.c" + } +} + + +void plugins_value_take_manifest_widget_mediator (GValue* value, gpointer v_object) { + PluginsManifestWidgetMediator* old; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + old = value->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (v_object) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR)); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = v_object; +#line 997 "ManifestWidget.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + value->data[0].v_pointer = NULL; +#line 1001 "ManifestWidget.c" + } +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (old) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_unref (old); +#line 1007 "ManifestWidget.c" + } +} + + +static void plugins_manifest_widget_mediator_class_init (PluginsManifestWidgetMediatorClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_widget_mediator_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ((PluginsManifestWidgetMediatorClass *) klass)->finalize = plugins_manifest_widget_mediator_finalize; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_type_class_add_private (klass, sizeof (PluginsManifestWidgetMediatorPrivate)); +#line 1019 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_instance_init (PluginsManifestWidgetMediator * self) { + GtkBuilder* _tmp0_ = NULL; + PluginsManifestListView* _tmp1_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv = PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_PRIVATE (self); +#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = app_window_create_builder ("shotwell.ui", NULL); +#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv->builder = _tmp0_; +#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = plugins_manifest_list_view_new (); +#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp1_); +#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv->list = _tmp1_; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->ref_count = 1; +#line 1040 "ManifestWidget.c" +} + + +static void plugins_manifest_widget_mediator_finalize (PluginsManifestWidgetMediator* obj) { + PluginsManifestWidgetMediator * self; + GtkButton* _tmp0_ = NULL; + GtkButton* _tmp1_ = NULL; + guint _tmp2_ = 0U; + PluginsManifestListView* _tmp3_ = NULL; + GtkTreeSelection* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_MANIFEST_WIDGET_MEDIATOR, PluginsManifestWidgetMediator); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_handlers_destroy (self); +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = plugins_manifest_widget_mediator_get_about_button (self); +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = _tmp0_; +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp2_, NULL, FALSE); +#line 41 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _plugins_manifest_widget_mediator_on_about_gtk_button_clicked, self); +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = self->priv->list; +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_tree_view_get_type (), GtkTreeView)); +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_parse_name ("changed", gtk_tree_selection_get_type (), &_tmp5_, NULL, FALSE); +#line 42 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _plugins_manifest_widget_mediator_on_selection_changed_gtk_tree_selection_changed, self); +#line 28 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (self->priv->builder); +#line 29 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (self->priv->list); +#line 1076 "ManifestWidget.c" +} + + +GType plugins_manifest_widget_mediator_get_type (void) { + static volatile gsize plugins_manifest_widget_mediator_type_id__volatile = 0; + if (g_once_init_enter (&plugins_manifest_widget_mediator_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_manifest_widget_mediator_init, plugins_value_manifest_widget_mediator_free_value, plugins_value_manifest_widget_mediator_copy_value, plugins_value_manifest_widget_mediator_peek_pointer, "p", plugins_value_manifest_widget_mediator_collect_value, "p", plugins_value_manifest_widget_mediator_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsManifestWidgetMediatorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_manifest_widget_mediator_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsManifestWidgetMediator), 0, (GInstanceInitFunc) plugins_manifest_widget_mediator_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_manifest_widget_mediator_type_id; + plugins_manifest_widget_mediator_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsManifestWidgetMediator", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_manifest_widget_mediator_type_id__volatile, plugins_manifest_widget_mediator_type_id); + } + return plugins_manifest_widget_mediator_type_id__volatile; +} + + +gpointer plugins_manifest_widget_mediator_ref (gpointer instance) { + PluginsManifestWidgetMediator* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_atomic_int_inc (&self->ref_count); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return instance; +#line 1101 "ManifestWidget.c" +} + + +void plugins_manifest_widget_mediator_unref (gpointer instance) { + PluginsManifestWidgetMediator* self; + self = instance; +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + PLUGINS_MANIFEST_WIDGET_MEDIATOR_GET_CLASS (self)->finalize (self); +#line 9 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1114 "ManifestWidget.c" + } +} + + +static GType plugins_manifest_list_view_column_get_type (void) { + static volatile gsize plugins_manifest_list_view_column_type_id__volatile = 0; + if (g_once_init_enter (&plugins_manifest_list_view_column_type_id__volatile)) { + static const GEnumValue values[] = {{PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED", "enabled"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE", "can-enable"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON", "icon"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME", "name"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID", "id"}, {PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS, "PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS", "n-columns"}, {0, NULL, NULL}}; + GType plugins_manifest_list_view_column_type_id; + plugins_manifest_list_view_column_type_id = g_enum_register_static ("PluginsManifestListViewColumn", values); + g_once_init_leave (&plugins_manifest_list_view_column_type_id__volatile, plugins_manifest_list_view_column_type_id); + } + return plugins_manifest_list_view_column_type_id__volatile; +} + + +static gint _plugins_compare_extension_point_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = plugins_compare_extension_point_names (a, b); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1136 "ManifestWidget.c" +} + + +static gint _plugins_compare_pluggable_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = plugins_compare_pluggable_names (a, b); +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1145 "ManifestWidget.c" +} + + +PluginsManifestListView* plugins_manifest_list_view_construct (GType object_type) { + PluginsManifestListView * self = NULL; + GtkTreeStore* _tmp0_ = NULL; + GtkCellRendererToggle* checkbox_renderer = NULL; + GtkCellRendererToggle* _tmp1_ = NULL; + GtkCellRendererToggle* _tmp2_ = NULL; + GtkCellRendererToggle* _tmp3_ = NULL; + GtkCellRendererPixbuf* icon_renderer = NULL; + GtkCellRendererPixbuf* _tmp4_ = NULL; + GtkCellRendererPixbuf* _tmp5_ = NULL; + GtkCellRendererPixbuf* _tmp6_ = NULL; + GtkCellRendererPixbuf* _tmp7_ = NULL; + GtkCellRendererText* text_renderer = NULL; + GtkCellRendererText* _tmp8_ = NULL; + GtkTreeViewColumn* column = NULL; + GtkTreeViewColumn* _tmp9_ = NULL; + GtkTreeViewColumn* _tmp10_ = NULL; + GtkTreeViewColumn* _tmp11_ = NULL; + GtkCellRendererToggle* _tmp12_ = NULL; + GtkTreeViewColumn* _tmp13_ = NULL; + GtkCellRendererPixbuf* _tmp14_ = NULL; + GtkTreeViewColumn* _tmp15_ = NULL; + GtkCellRendererText* _tmp16_ = NULL; + GtkTreeViewColumn* _tmp17_ = NULL; + GtkCellRendererToggle* _tmp18_ = NULL; + GtkTreeViewColumn* _tmp19_ = NULL; + GtkCellRendererToggle* _tmp20_ = NULL; + GtkTreeViewColumn* _tmp21_ = NULL; + GtkCellRendererPixbuf* _tmp22_ = NULL; + GtkTreeViewColumn* _tmp23_ = NULL; + GtkCellRendererText* _tmp24_ = NULL; + GtkTreeViewColumn* _tmp25_ = NULL; + GtkTreeSelection* _tmp26_ = NULL; + GtkIconTheme* icon_theme = NULL; + GtkIconTheme* _tmp27_ = NULL; + GError * _inner_error_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = (PluginsManifestListView*) g_object_new (object_type, NULL); +#line 131 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->store; +#line 131 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_model (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = (GtkCellRendererToggle*) gtk_cell_renderer_toggle_new (); +#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp1_); +#line 133 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + checkbox_renderer = _tmp1_; +#line 134 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = checkbox_renderer; +#line 134 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_renderer_toggle_set_radio (_tmp2_, FALSE); +#line 135 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = checkbox_renderer; +#line 135 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_renderer_toggle_set_activatable (_tmp3_, TRUE); +#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new (); +#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp4_); +#line 137 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon_renderer = _tmp4_; +#line 138 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = icon_renderer; +#line 138 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_set (_tmp5_, "stock-size", (guint) GTK_ICON_SIZE_MENU, NULL); +#line 139 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp6_ = icon_renderer; +#line 139 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_cell_renderer_get_type (), GtkCellRenderer), "xpad", (guint) PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING, NULL); +#line 140 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp7_ = icon_renderer; +#line 140 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_cell_renderer_get_type (), GtkCellRenderer), "ypad", (guint) PLUGINS_MANIFEST_LIST_VIEW_ICON_Y_PADDING, NULL); +#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp8_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp8_); +#line 142 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + text_renderer = _tmp8_; +#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9_ = gtk_tree_view_column_new (); +#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_object_ref_sink (_tmp9_); +#line 144 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + column = _tmp9_; +#line 145 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp10_ = column; +#line 145 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_column_set_sizing (_tmp10_, GTK_TREE_VIEW_COLUMN_AUTOSIZE); +#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp11_ = column; +#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = checkbox_renderer; +#line 146 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE); +#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp13_ = column; +#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp14_ = icon_renderer; +#line 147 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE); +#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp15_ = column; +#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp16_ = text_renderer; +#line 148 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_pack_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp17_ = column; +#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp18_ = checkbox_renderer; +#line 150 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_cell_renderer_get_type (), GtkCellRenderer), "active", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED); +#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp19_ = column; +#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp20_ = checkbox_renderer; +#line 151 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_cell_renderer_get_type (), GtkCellRenderer), "visible", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE); +#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp21_ = column; +#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp22_ = icon_renderer; +#line 152 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_cell_renderer_get_type (), GtkCellRenderer), "pixbuf", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON); +#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp23_ = column; +#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp24_ = text_renderer; +#line 153 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_cell_renderer_get_type (), GtkCellRenderer), "text", (gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME); +#line 155 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp25_ = column; +#line 155 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_append_column (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp25_); +#line 157 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_headers_visible (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 158 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_enable_search (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 159 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_rules_hint (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), TRUE); +#line 160 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_show_expanders (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), TRUE); +#line 161 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_reorderable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 162 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_enable_tree_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 163 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_set_grid_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), GTK_TREE_VIEW_GRID_LINES_NONE); +#line 164 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp26_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 164 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_selection_set_mode (_tmp26_, GTK_SELECTION_BROWSE); +#line 166 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp27_ = resources_get_icon_theme_engine (); +#line 166 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon_theme = _tmp27_; +#line 1307 "ManifestWidget.c" + { + GeeIterator* _extension_point_it = NULL; + GeeCollection* _tmp28_ = NULL; + GeeCollection* _tmp29_ = NULL; + GeeIterator* _tmp30_ = NULL; + GeeIterator* _tmp31_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp28_ = plugins_get_extension_points (_plugins_compare_extension_point_names_gcompare_data_func, NULL, NULL); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp29_ = _tmp28_; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp30_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp31_ = _tmp30_; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp29_); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _extension_point_it = _tmp31_; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + while (TRUE) { +#line 1328 "ManifestWidget.c" + GeeIterator* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + PluginsExtensionPoint* extension_point = NULL; + GeeIterator* _tmp34_ = NULL; + gpointer _tmp35_ = NULL; + GtkTreeIter category_iter = {0}; + GtkTreeStore* _tmp36_ = NULL; + GtkTreeIter _tmp37_ = {0}; + GdkPixbuf* icon = NULL; + PluginsExtensionPoint* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + GtkTreeStore* _tmp59_ = NULL; + GtkTreeIter _tmp60_ = {0}; + PluginsExtensionPoint* _tmp61_ = NULL; + const gchar* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; + GdkPixbuf* _tmp64_ = NULL; + GeeCollection* pluggables = NULL; + PluginsExtensionPoint* _tmp65_ = NULL; + GType _tmp66_ = 0UL; + GType _tmp67_ = 0UL; + GeeCollection* _tmp68_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp32_ = _extension_point_it; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp33_ = gee_iterator_next (_tmp32_); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp33_) { +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + break; +#line 1360 "ManifestWidget.c" + } +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp34_ = _extension_point_it; +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp35_ = gee_iterator_get (_tmp34_); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + extension_point = (PluginsExtensionPoint*) _tmp35_; +#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp36_ = self->priv->store; +#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_append (_tmp36_, &_tmp37_, NULL); +#line 172 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + category_iter = _tmp37_; +#line 174 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon = NULL; +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp38_ = extension_point; +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp39_ = plugins_extension_point_get_icon_name (_tmp38_); +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp40_ = _tmp39_; +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp40_ != NULL) { +#line 1384 "ManifestWidget.c" + GtkIconInfo* icon_info = NULL; + GtkIconTheme* _tmp41_ = NULL; + PluginsExtensionPoint* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + GThemedIcon* _tmp45_ = NULL; + GThemedIcon* _tmp46_ = NULL; + GtkIconInfo* _tmp47_ = NULL; + GtkIconInfo* _tmp48_ = NULL; + GtkIconInfo* _tmp49_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp41_ = icon_theme; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp42_ = extension_point; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp43_ = plugins_extension_point_get_icon_name (_tmp42_); +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp44_ = _tmp43_; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp45_ = (GThemedIcon*) g_themed_icon_new (_tmp44_); +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp46_ = _tmp45_; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp47_ = gtk_icon_theme_lookup_by_gicon (_tmp41_, G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, G_TYPE_ICON, GIcon), PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE, 0); +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp48_ = _tmp47_; +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp46_); +#line 176 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon_info = _tmp48_; +#line 178 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp49_ = icon_info; +#line 178 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp49_ != NULL) { +#line 1419 "ManifestWidget.c" + { + GdkPixbuf* _tmp50_ = NULL; + GtkIconInfo* _tmp51_ = NULL; + GdkPixbuf* _tmp52_ = NULL; + GdkPixbuf* _tmp53_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp51_ = icon_info; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp52_ = gtk_icon_info_load_icon (_tmp51_, &_inner_error_); +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp50_ = _tmp52_; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1433 "ManifestWidget.c" + goto __catch33_g_error; + } +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp53_ = _tmp50_; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp50_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon); +#line 180 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon = _tmp53_; +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp50_); +#line 1446 "ManifestWidget.c" + } + goto __finally33; + __catch33_g_error: + { + GError* err = NULL; + PluginsExtensionPoint* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + const gchar* _tmp56_ = NULL; + GError* _tmp57_ = NULL; + const gchar* _tmp58_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + err = _inner_error_; +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _inner_error_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp54_ = extension_point; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp55_ = plugins_extension_point_get_icon_name (_tmp54_); +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp56_ = _tmp55_; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp57_ = err; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp58_ = _tmp57_->message; +#line 182 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_warning ("ManifestWidget.vala:182: Unable to load icon %s: %s", _tmp56_, _tmp58_); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_error_free0 (err); +#line 1475 "ManifestWidget.c" + } + __finally33: +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_icon_info_free0 (icon_info); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _plugins_extension_point_unref0 (extension_point); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_extension_point_it); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon_theme); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (column); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (text_renderer); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon_renderer); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (checkbox_renderer); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.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 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_clear_error (&_inner_error_); +#line 179 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return NULL; +#line 1504 "ManifestWidget.c" + } + } +#line 175 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_icon_info_free0 (icon_info); +#line 1509 "ManifestWidget.c" + } +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp59_ = self->priv->store; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp60_ = category_iter; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp61_ = extension_point; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp62_ = plugins_extension_point_get_name (_tmp61_); +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp63_ = _tmp62_; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp64_ = icon; +#line 187 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_set (_tmp59_, &_tmp60_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, _tmp63_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, FALSE, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, _tmp64_, -1); +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp65_ = extension_point; +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp66_ = plugins_extension_point_get_pluggable_type (_tmp65_); +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp67_ = _tmp66_; +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp68_ = plugins_get_pluggables_for_type (_tmp67_, _plugins_compare_pluggable_names_gcompare_data_func, NULL, NULL, TRUE); +#line 190 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + pluggables = _tmp68_; +#line 1535 "ManifestWidget.c" + { + GeeIterator* _pluggable_it = NULL; + GeeCollection* _tmp69_ = NULL; + GeeIterator* _tmp70_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp69_ = pluggables; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp70_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _pluggable_it = _tmp70_; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + while (TRUE) { +#line 1548 "ManifestWidget.c" + GeeIterator* _tmp71_ = NULL; + gboolean _tmp72_ = FALSE; + SpitPluggable* pluggable = NULL; + GeeIterator* _tmp73_ = NULL; + gpointer _tmp74_ = NULL; + gboolean enabled = FALSE; + SpitPluggable* _tmp75_ = NULL; + const gchar* _tmp76_ = NULL; + gboolean _tmp77_ = FALSE; + gboolean _tmp78_ = FALSE; + SpitPluggableInfo info = {0}; + SpitPluggable* _tmp79_ = NULL; + GdkPixbuf* _tmp80_ = NULL; + gboolean _tmp81_ = FALSE; + SpitPluggableInfo _tmp82_ = {0}; + GdkPixbuf** _tmp83_ = NULL; + gint _tmp83__length1 = 0; + GdkPixbuf* _tmp91_ = NULL; + GtkTreeIter plugin_iter = {0}; + GtkTreeStore* _tmp92_ = NULL; + GtkTreeIter _tmp93_ = {0}; + GtkTreeIter _tmp94_ = {0}; + GtkTreeStore* _tmp95_ = NULL; + GtkTreeIter _tmp96_ = {0}; + gboolean _tmp97_ = FALSE; + SpitPluggable* _tmp98_ = NULL; + const gchar* _tmp99_ = NULL; + SpitPluggable* _tmp100_ = NULL; + const gchar* _tmp101_ = NULL; + GdkPixbuf* _tmp102_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp71_ = _pluggable_it; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp72_ = gee_iterator_next (_tmp71_); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp72_) { +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + break; +#line 1587 "ManifestWidget.c" + } +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp73_ = _pluggable_it; +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp74_ = gee_iterator_get (_tmp73_); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + pluggable = (SpitPluggable*) _tmp74_; +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp75_ = pluggable; +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp76_ = spit_pluggable_get_id (_tmp75_); +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp78_ = plugins_get_pluggable_enabled (_tmp76_, &_tmp77_); +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + enabled = _tmp77_; +#line 194 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp78_) { +#line 195 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (pluggable); +#line 195 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + continue; +#line 1609 "ManifestWidget.c" + } +#line 197 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + memset (&info, 0, sizeof (SpitPluggableInfo)); +#line 198 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp79_ = pluggable; +#line 198 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spit_pluggable_get_info (_tmp79_, &info); +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp82_ = info; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp83_ = _tmp82_.icons; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp83__length1 = _tmp82_.icons_length1; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp83_ != NULL) { +#line 1625 "ManifestWidget.c" + SpitPluggableInfo _tmp84_ = {0}; + GdkPixbuf** _tmp85_ = NULL; + gint _tmp85__length1 = 0; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp84_ = info; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp85_ = _tmp84_.icons; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp85__length1 = _tmp84_.icons_length1; +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp81_ = _tmp85__length1 > 0; +#line 1637 "ManifestWidget.c" + } else { +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp81_ = FALSE; +#line 1641 "ManifestWidget.c" + } +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp81_) { +#line 1645 "ManifestWidget.c" + SpitPluggableInfo _tmp86_ = {0}; + GdkPixbuf** _tmp87_ = NULL; + gint _tmp87__length1 = 0; + GdkPixbuf* _tmp88_ = NULL; + GdkPixbuf* _tmp89_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp86_ = info; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp87_ = _tmp86_.icons; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp87__length1 = _tmp86_.icons_length1; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp88_ = _tmp87_[0]; +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp89_ = _g_object_ref0 (_tmp88_); +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp80_); +#line 201 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp80_ = _tmp89_; +#line 1665 "ManifestWidget.c" + } else { + GdkPixbuf* _tmp90_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp90_ = resources_get_icon (RESOURCES_ICON_GENERIC_PLUGIN, PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE); +#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp80_); +#line 202 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp80_ = _tmp90_; +#line 1674 "ManifestWidget.c" + } +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp91_ = _g_object_ref0 (_tmp80_); +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon); +#line 200 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + icon = _tmp91_; +#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp92_ = self->priv->store; +#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp93_ = category_iter; +#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_append (_tmp92_, &_tmp94_, &_tmp93_); +#line 205 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugin_iter = _tmp94_; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp95_ = self->priv->store; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp96_ = plugin_iter; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp97_ = enabled; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp98_ = pluggable; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp99_ = spit_pluggable_get_pluggable_name (_tmp98_); +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp100_ = pluggable; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp101_ = spit_pluggable_get_id (_tmp100_); +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp102_ = icon; +#line 207 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_set (_tmp95_, &_tmp96_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, _tmp97_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_NAME, _tmp99_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, _tmp101_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_CAN_ENABLE, TRUE, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ICON, _tmp102_, -1); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_tmp80_); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + spit_pluggable_info_destroy (&info); +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (pluggable); +#line 1714 "ManifestWidget.c" + } +#line 192 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_pluggable_it); +#line 1718 "ManifestWidget.c" + } +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (pluggables); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon); +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _plugins_extension_point_unref0 (extension_point); +#line 1726 "ManifestWidget.c" + } +#line 170 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (_extension_point_it); +#line 1730 "ManifestWidget.c" + } +#line 212 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_view_expand_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon_theme); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (column); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (text_renderer); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (icon_renderer); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (checkbox_renderer); +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return self; +#line 1746 "ManifestWidget.c" +} + + +PluginsManifestListView* plugins_manifest_list_view_new (void) { +#line 130 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return plugins_manifest_list_view_construct (PLUGINS_TYPE_MANIFEST_LIST_VIEW); +#line 1753 "ManifestWidget.c" +} + + +static gpointer _gtk_tree_path_copy0 (gpointer self) { +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return self ? gtk_tree_path_copy (self) : NULL; +#line 1760 "ManifestWidget.c" +} + + +static void _vala_array_add50 (gchar*** array, int* length, int* size, gchar* value) { +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if ((*length) == (*size)) { +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 1771 "ManifestWidget.c" + } +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (*array)[(*length)++] = value; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (*array)[*length] = NULL; +#line 1777 "ManifestWidget.c" +} + + +static void _gtk_tree_path_free0_ (gpointer var) { +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + (var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL)); +#line 1784 "ManifestWidget.c" +} + + +static void _g_list_free__gtk_tree_path_free0_ (GList* self) { +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_list_foreach (self, (GFunc) _gtk_tree_path_free0_, NULL); +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_list_free (self); +#line 1793 "ManifestWidget.c" +} + + +gchar** plugins_manifest_list_view_get_selected_ids (PluginsManifestListView* self, int* result_length1) { + gchar** result = NULL; + gchar** ids = NULL; + gchar** _tmp0_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + GList* selected = NULL; + GtkTreeSelection* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + GList* _tmp3_ = NULL; + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; +#line 215 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_LIST_VIEW (self), NULL); +#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids = _tmp0_; +#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ids_length1 = 0; +#line 216 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _ids_size_ = ids_length1; +#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = gtk_tree_selection_get_selected_rows (_tmp1_, NULL); +#line 218 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + selected = _tmp2_; +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = selected; +#line 1827 "ManifestWidget.c" + { + GList* path_collection = NULL; + GList* path_it = NULL; +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + path_collection = _tmp3_; +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + for (path_it = path_collection; path_it != NULL; path_it = path_it->next) { +#line 1835 "ManifestWidget.c" + GtkTreePath* _tmp4_ = NULL; + GtkTreePath* path = NULL; +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = _gtk_tree_path_copy0 ((GtkTreePath*) path_it->data); +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + path = _tmp4_; +#line 1842 "ManifestWidget.c" + { + GtkTreeIter iter = {0}; + gchar* id = NULL; + GtkTreePath* _tmp5_ = NULL; + GtkTreeIter _tmp6_ = {0}; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = path; +#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp7_ = plugins_manifest_list_view_get_id_at_path (self, _tmp5_, &_tmp6_); +#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + iter = _tmp6_; +#line 221 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + id = _tmp7_; +#line 222 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp8_ = id; +#line 222 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp8_ != NULL) { +#line 1862 "ManifestWidget.c" + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9_ = ids; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9__length1 = ids_length1; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp10_ = id; +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 223 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _vala_array_add50 (&ids, &ids_length1, &_ids_size_, _tmp11_); +#line 1877 "ManifestWidget.c" + } +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 219 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 1883 "ManifestWidget.c" + } + } + } +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = ids; +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12__length1 = ids_length1; +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (result_length1) { +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *result_length1 = _tmp12__length1; +#line 1895 "ManifestWidget.c" + } +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp12_; +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + __g_list_free__gtk_tree_path_free0_0 (selected); +#line 226 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1903 "ManifestWidget.c" +} + + +static gchar* plugins_manifest_list_view_get_id_at_path (PluginsManifestListView* self, GtkTreePath* path, GtkTreeIter* iter) { + GtkTreeIter _vala_iter = {0}; + gchar* result = NULL; + GtkTreeStore* _tmp0_ = NULL; + GtkTreePath* _tmp1_ = NULL; + GtkTreeIter _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; + const gchar* id = NULL; + GtkTreeStore* _tmp4_ = NULL; + GtkTreeIter _tmp5_ = {0}; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (PLUGINS_IS_MANIFEST_LIST_VIEW (self), NULL); +#line 229 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = self->priv->store; +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = path; +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = gtk_tree_model_get_iter (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp2_, _tmp1_); +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _vala_iter = _tmp2_; +#line 230 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp3_) { +#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = NULL; +#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (iter) { +#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *iter = _vala_iter; +#line 1939 "ManifestWidget.c" + } +#line 231 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1943 "ManifestWidget.c" + } +#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp4_ = self->priv->store; +#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp5_ = _vala_iter; +#line 234 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_model_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp5_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ID, &id, -1); +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp6_ = id; +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp7_; +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (iter) { +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + *iter = _vala_iter; +#line 1961 "ManifestWidget.c" + } +#line 236 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 1965 "ManifestWidget.c" +} + + +static gboolean plugins_manifest_list_view_real_button_press_event (GtkWidget* base, GdkEventButton* event) { + PluginsManifestListView * self; + gboolean result = FALSE; + GtkTreePath* path = NULL; + GtkTreeViewColumn* col = NULL; + gint cellx = 0; + gint celly = 0; + GdkEventButton* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + GdkEventButton* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + GtkTreePath* _tmp4_ = NULL; + GtkTreeViewColumn* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + GtkTreeViewColumn* _tmp9_ = NULL; + gboolean _tmp12_ = FALSE; + gint _tmp13_ = 0; + GtkTreeIter iter = {0}; + gchar* id = NULL; + GtkTreePath* _tmp17_ = NULL; + GtkTreeIter _tmp18_ = {0}; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gboolean enabled = FALSE; + const gchar* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; + gboolean _tmp28_ = FALSE; + const gchar* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + GtkTreeStore* _tmp31_ = NULL; + GtkTreeIter _tmp32_ = {0}; + gboolean _tmp33_ = FALSE; +#line 247 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView); +#line 247 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = event; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp1_ = _tmp0_->x; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp2_ = event; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp3_ = _tmp2_->y; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp8_ = gtk_tree_view_get_path_at_pos (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), (gint) _tmp1_, (gint) _tmp3_, &_tmp4_, &_tmp5_, &_tmp6_, &_tmp7_); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + path = _tmp4_; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp9_ = _g_object_ref0 (_tmp5_); +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + col = _tmp9_; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + cellx = _tmp6_; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + celly = _tmp7_; +#line 252 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp8_) { +#line 2034 "ManifestWidget.c" + GdkEventButton* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp10_ = event; +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp11_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp10_); +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp11_; +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 254 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2049 "ManifestWidget.c" + } +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp13_ = cellx; +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp13_ < (PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE + PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING)) { +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = TRUE; +#line 2057 "ManifestWidget.c" + } else { + gint _tmp14_ = 0; +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp14_ = cellx; +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp12_ = _tmp14_ > (2 * (PLUGINS_MANIFEST_LIST_VIEW_ICON_X_PADDING + PLUGINS_MANIFEST_LIST_VIEW_ICON_SIZE)); +#line 2064 "ManifestWidget.c" + } +#line 259 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp12_) { +#line 2068 "ManifestWidget.c" + GdkEventButton* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp15_ = event; +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp16_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp15_); +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp16_; +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 260 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2083 "ManifestWidget.c" + } +#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp17_ = path; +#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp19_ = plugins_manifest_list_view_get_id_at_path (self, _tmp17_, &_tmp18_); +#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + iter = _tmp18_; +#line 263 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + id = _tmp19_; +#line 264 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp20_ = id; +#line 264 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (_tmp20_ == NULL) { +#line 2097 "ManifestWidget.c" + GdkEventButton* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp21_ = event; +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp22_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp21_); +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp22_; +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 265 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2114 "ManifestWidget.c" + } +#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp23_ = id; +#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp25_ = plugins_get_pluggable_enabled (_tmp23_, &_tmp24_); +#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + enabled = _tmp24_; +#line 268 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + if (!_tmp25_) { +#line 2124 "ManifestWidget.c" + GdkEventButton* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp26_ = event; +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp27_ = GTK_WIDGET_CLASS (plugins_manifest_list_view_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp26_); +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = _tmp27_; +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 269 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2141 "ManifestWidget.c" + } +#line 272 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp28_ = enabled; +#line 272 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + enabled = !_tmp28_; +#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp29_ = id; +#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp30_ = enabled; +#line 273 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_set_pluggable_enabled (_tmp29_, _tmp30_); +#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp31_ = self->priv->store; +#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp32_ = iter; +#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp33_ = enabled; +#line 275 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + gtk_tree_store_set (_tmp31_, &_tmp32_, PLUGINS_MANIFEST_LIST_VIEW_COLUMN_ENABLED, _tmp33_, -1); +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + result = TRUE; +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_free0 (id); +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (col); +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _gtk_tree_path_free0 (path); +#line 277 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + return result; +#line 2171 "ManifestWidget.c" +} + + +static void plugins_manifest_list_view_class_init (PluginsManifestListViewClass * klass) { +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + plugins_manifest_list_view_parent_class = g_type_class_peek_parent (klass); +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + g_type_class_add_private (klass, sizeof (PluginsManifestListViewPrivate)); +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + ((GtkWidgetClass *) klass)->button_press_event = plugins_manifest_list_view_real_button_press_event; +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + G_OBJECT_CLASS (klass)->finalize = plugins_manifest_list_view_finalize; +#line 2184 "ManifestWidget.c" +} + + +static void plugins_manifest_list_view_instance_init (PluginsManifestListView * self) { + GtkTreeStore* _tmp0_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv = PLUGINS_MANIFEST_LIST_VIEW_GET_PRIVATE (self); +#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _tmp0_ = gtk_tree_store_new ((gint) PLUGINS_MANIFEST_LIST_VIEW_COLUMN_N_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); +#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self->priv->store = _tmp0_; +#line 2196 "ManifestWidget.c" +} + + +static void plugins_manifest_list_view_finalize (GObject* obj) { + PluginsManifestListView * self; +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_MANIFEST_LIST_VIEW, PluginsManifestListView); +#line 122 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + _g_object_unref0 (self->priv->store); +#line 108 "/home/jens/Source/shotwell/src/plugins/ManifestWidget.vala" + G_OBJECT_CLASS (plugins_manifest_list_view_parent_class)->finalize (obj); +#line 2208 "ManifestWidget.c" +} + + +GType plugins_manifest_list_view_get_type (void) { + static volatile gsize plugins_manifest_list_view_type_id__volatile = 0; + if (g_once_init_enter (&plugins_manifest_list_view_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PluginsManifestListViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_manifest_list_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsManifestListView), 0, (GInstanceInitFunc) plugins_manifest_list_view_instance_init, NULL }; + GType plugins_manifest_list_view_type_id; + plugins_manifest_list_view_type_id = g_type_register_static (gtk_tree_view_get_type (), "PluginsManifestListView", &g_define_type_info, 0); + g_once_init_leave (&plugins_manifest_list_view_type_id__volatile, plugins_manifest_list_view_type_id); + } + return plugins_manifest_list_view_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/plugins/Plugins.c b/src/plugins/Plugins.c new file mode 100644 index 0000000..0134c1f --- /dev/null +++ b/src/plugins/Plugins.c @@ -0,0 +1,4420 @@ +/* Plugins.c generated by valac 0.32.1, the Vala compiler + * generated from Plugins.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include + + +#define PLUGINS_TYPE_EXTENSION_POINT (plugins_extension_point_get_type ()) +#define PLUGINS_EXTENSION_POINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint)) +#define PLUGINS_EXTENSION_POINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointClass)) +#define PLUGINS_IS_EXTENSION_POINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_EXTENSION_POINT)) +#define PLUGINS_IS_EXTENSION_POINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_EXTENSION_POINT)) +#define PLUGINS_EXTENSION_POINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointClass)) + +typedef struct _PluginsExtensionPoint PluginsExtensionPoint; +typedef struct _PluginsExtensionPointClass PluginsExtensionPointClass; +typedef struct _PluginsExtensionPointPrivate PluginsExtensionPointPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +typedef struct _PluginsParamSpecExtensionPoint PluginsParamSpecExtensionPoint; + +#define PLUGINS_TYPE_MODULE_REP (plugins_module_rep_get_type ()) +#define PLUGINS_MODULE_REP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_MODULE_REP, PluginsModuleRep)) +#define PLUGINS_MODULE_REP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_MODULE_REP, PluginsModuleRepClass)) +#define PLUGINS_IS_MODULE_REP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_MODULE_REP)) +#define PLUGINS_IS_MODULE_REP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_MODULE_REP)) +#define PLUGINS_MODULE_REP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_MODULE_REP, PluginsModuleRepClass)) + +typedef struct _PluginsModuleRep PluginsModuleRep; +typedef struct _PluginsModuleRepClass PluginsModuleRepClass; +typedef struct _PluginsModuleRepPrivate PluginsModuleRepPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_module_close0(var) ((var == NULL) ? NULL : (var = (g_module_close (var), NULL))) +#define _plugins_module_rep_unref0(var) ((var == NULL) ? NULL : (var = (plugins_module_rep_unref (var), NULL))) +typedef struct _PluginsParamSpecModuleRep PluginsParamSpecModuleRep; + +#define PLUGINS_TYPE_PLUGGABLE_REP (plugins_pluggable_rep_get_type ()) +#define PLUGINS_PLUGGABLE_REP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRep)) +#define PLUGINS_PLUGGABLE_REP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRepClass)) +#define PLUGINS_IS_PLUGGABLE_REP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_PLUGGABLE_REP)) +#define PLUGINS_IS_PLUGGABLE_REP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_PLUGGABLE_REP)) +#define PLUGINS_PLUGGABLE_REP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRepClass)) + +typedef struct _PluginsPluggableRep PluginsPluggableRep; +typedef struct _PluginsPluggableRepClass PluginsPluggableRepClass; +typedef struct _PluginsPluggableRepPrivate PluginsPluggableRepPrivate; + +#define TYPE_FUZZY_PROPERTY_STATE (fuzzy_property_state_get_type ()) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +typedef struct _PluginsParamSpecPluggableRep PluginsParamSpecPluggableRep; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define PLUGINS_TYPE_NOTIFIER (plugins_notifier_get_type ()) +#define PLUGINS_NOTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_NOTIFIER, PluginsNotifier)) +#define PLUGINS_NOTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_NOTIFIER, PluginsNotifierClass)) +#define PLUGINS_IS_NOTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_NOTIFIER)) +#define PLUGINS_IS_NOTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_NOTIFIER)) +#define PLUGINS_NOTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_NOTIFIER, PluginsNotifierClass)) + +typedef struct _PluginsNotifier PluginsNotifier; +typedef struct _PluginsNotifierClass PluginsNotifierClass; +typedef struct _PluginsNotifierPrivate PluginsNotifierPrivate; +#define _plugins_notifier_unref0(var) ((var == NULL) ? NULL : (var = (plugins_notifier_unref (var), NULL))) +typedef struct _PluginsParamSpecNotifier PluginsParamSpecNotifier; +#define _plugins_extension_point_unref0(var) ((var == NULL) ? NULL : (var = (plugins_extension_point_unref (var), NULL))) +#define _plugins_pluggable_rep_unref0(var) ((var == NULL) ? NULL : (var = (plugins_pluggable_rep_unref (var), NULL))) + +#define TYPE_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ()) +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _PluginsExtensionPoint { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsExtensionPointPrivate * priv; +}; + +struct _PluginsExtensionPointClass { + GTypeClass parent_class; + void (*finalize) (PluginsExtensionPoint *self); +}; + +struct _PluginsExtensionPointPrivate { + GType _pluggable_type; + gchar* _name; + gchar* _icon_name; + gchar** _core_ids; + gint _core_ids_length1; + gint __core_ids_size_; +}; + +struct _PluginsParamSpecExtensionPoint { + GParamSpec parent_instance; +}; + +struct _PluginsModuleRep { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsModuleRepPrivate * priv; + GFile* file; + GModule* module; + SpitModule* spit_module; + gint spit_interface; + gchar* id; +}; + +struct _PluginsModuleRepClass { + GTypeClass parent_class; + void (*finalize) (PluginsModuleRep *self); +}; + +struct _PluginsParamSpecModuleRep { + GParamSpec parent_instance; +}; + +struct _PluginsPluggableRep { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsPluggableRepPrivate * priv; +}; + +struct _PluginsPluggableRepClass { + GTypeClass parent_class; + void (*finalize) (PluginsPluggableRep *self); +}; + +struct _PluginsPluggableRepPrivate { + SpitPluggable* _pluggable; + gchar* _id; + gboolean _is_core; + gboolean _activated; + gboolean enabled; +}; + +typedef enum { + FUZZY_PROPERTY_STATE_ENABLED, + FUZZY_PROPERTY_STATE_DISABLED, + FUZZY_PROPERTY_STATE_UNKNOWN +} FuzzyPropertyState; + +struct _PluginsParamSpecPluggableRep { + GParamSpec parent_instance; +}; + +struct _PluginsNotifier { + GTypeInstance parent_instance; + volatile int ref_count; + PluginsNotifierPrivate * priv; +}; + +struct _PluginsNotifierClass { + GTypeClass parent_class; + void (*finalize) (PluginsNotifier *self); +}; + +struct _PluginsParamSpecNotifier { + GParamSpec parent_instance; +}; + +typedef enum { + PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL = 1 << 0, + PREPARE_INPUT_TEXT_OPTIONS_VALIDATE = 1 << 1, + PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL = 1 << 2, + PREPARE_INPUT_TEXT_OPTIONS_STRIP = 1 << 3, + PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF = 1 << 4, + PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE = 1 << 5, + PREPARE_INPUT_TEXT_OPTIONS_DEFAULT = ((((PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE +} PrepareInputTextOptions; + + +static gpointer plugins_extension_point_parent_class = NULL; +static gpointer plugins_module_rep_parent_class = NULL; +static gpointer plugins_pluggable_rep_parent_class = NULL; +extern GFile** plugins_search_dirs; +extern gint plugins_search_dirs_length1; +GFile** plugins_search_dirs = NULL; +gint plugins_search_dirs_length1 = 0; +static gint _plugins_search_dirs_size_ = 0; +extern GeeHashMap* plugins_module_table; +GeeHashMap* plugins_module_table = NULL; +extern GeeHashMap* plugins_pluggable_table; +GeeHashMap* plugins_pluggable_table = NULL; +extern GeeHashMap* plugins_extension_points; +GeeHashMap* plugins_extension_points = NULL; +extern GeeHashSet* plugins_core_ids; +GeeHashSet* plugins_core_ids = NULL; +static gpointer plugins_notifier_parent_class = NULL; +static PluginsNotifier* plugins_notifier_instance; +static PluginsNotifier* plugins_notifier_instance = NULL; + +#define PLUGINS_MIN_SPIT_INTERFACE 0 +#define PLUGINS_MAX_SPIT_INTERFACE 0 +gpointer plugins_extension_point_ref (gpointer instance); +void plugins_extension_point_unref (gpointer instance); +GParamSpec* plugins_param_spec_extension_point (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_extension_point (GValue* value, gpointer v_object); +void plugins_value_take_extension_point (GValue* value, gpointer v_object); +gpointer plugins_value_get_extension_point (const GValue* value); +GType plugins_extension_point_get_type (void) G_GNUC_CONST; +#define PLUGINS_EXTENSION_POINT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPointPrivate)) +enum { + PLUGINS_EXTENSION_POINT_DUMMY_PROPERTY +}; +PluginsExtensionPoint* plugins_extension_point_new (GType pluggable_type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +PluginsExtensionPoint* plugins_extension_point_construct (GType object_type, GType pluggable_type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +static void plugins_extension_point_set_pluggable_type (PluginsExtensionPoint* self, GType value); +static void plugins_extension_point_set_name (PluginsExtensionPoint* self, const gchar* value); +static void plugins_extension_point_set_icon_name (PluginsExtensionPoint* self, const gchar* value); +static void plugins_extension_point_set_core_ids (PluginsExtensionPoint* self, gchar** value, int value_length1); +GType plugins_extension_point_get_pluggable_type (PluginsExtensionPoint* self); +const gchar* plugins_extension_point_get_name (PluginsExtensionPoint* self); +const gchar* plugins_extension_point_get_icon_name (PluginsExtensionPoint* self); +gchar** plugins_extension_point_get_core_ids (PluginsExtensionPoint* self, int* result_length1); +static gchar** _vala_array_dup18 (gchar** self, int length); +static void plugins_extension_point_finalize (PluginsExtensionPoint* obj); +gpointer plugins_module_rep_ref (gpointer instance); +void plugins_module_rep_unref (gpointer instance); +GParamSpec* plugins_param_spec_module_rep (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_module_rep (GValue* value, gpointer v_object); +void plugins_value_take_module_rep (GValue* value, gpointer v_object); +gpointer plugins_value_get_module_rep (const GValue* value); +GType plugins_module_rep_get_type (void) G_GNUC_CONST; +enum { + PLUGINS_MODULE_REP_DUMMY_PROPERTY +}; +static PluginsModuleRep* plugins_module_rep_new (GFile* file); +static PluginsModuleRep* plugins_module_rep_construct (GType object_type, GFile* file); +PluginsModuleRep* plugins_module_rep_open (GFile* file); +static void plugins_module_rep_finalize (PluginsModuleRep* obj); +gpointer plugins_pluggable_rep_ref (gpointer instance); +void plugins_pluggable_rep_unref (gpointer instance); +GParamSpec* plugins_param_spec_pluggable_rep (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_pluggable_rep (GValue* value, gpointer v_object); +void plugins_value_take_pluggable_rep (GValue* value, gpointer v_object); +gpointer plugins_value_get_pluggable_rep (const GValue* value); +GType plugins_pluggable_rep_get_type (void) G_GNUC_CONST; +#define PLUGINS_PLUGGABLE_REP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRepPrivate)) +enum { + PLUGINS_PLUGGABLE_REP_DUMMY_PROPERTY +}; +PluginsPluggableRep* plugins_pluggable_rep_new (SpitPluggable* pluggable); +PluginsPluggableRep* plugins_pluggable_rep_construct (GType object_type, SpitPluggable* pluggable); +static void plugins_pluggable_rep_set_pluggable (PluginsPluggableRep* self, SpitPluggable* value); +static void plugins_pluggable_rep_set_id (PluginsPluggableRep* self, const gchar* value); +void plugins_pluggable_rep_activate (PluginsPluggableRep* self); +gboolean plugins_is_core_pluggable (SpitPluggable* pluggable); +SpitPluggable* plugins_pluggable_rep_get_pluggable (PluginsPluggableRep* self); +static void plugins_pluggable_rep_set_is_core (PluginsPluggableRep* self, gboolean value); +GType fuzzy_property_state_get_type (void) G_GNUC_CONST; +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +FuzzyPropertyState configuration_facade_is_plugin_enabled (ConfigurationFacade* self, const gchar* id); +const gchar* plugins_pluggable_rep_get_id (PluginsPluggableRep* self); +gboolean plugins_pluggable_rep_get_is_core (PluginsPluggableRep* self); +static void plugins_pluggable_rep_set_activated (PluginsPluggableRep* self, gboolean value); +gboolean plugins_pluggable_rep_is_enabled (PluginsPluggableRep* self); +gboolean plugins_pluggable_rep_set_enabled (PluginsPluggableRep* self, gboolean enabled); +void configuration_facade_set_plugin_enabled (ConfigurationFacade* self, const gchar* id, gboolean enabled); +gboolean plugins_pluggable_rep_get_activated (PluginsPluggableRep* self); +static void plugins_pluggable_rep_finalize (PluginsPluggableRep* obj); +void plugins_init (GError** error); +GFile* app_dirs_get_user_plugins_dir (void); +static void _vala_array_add47 (GFile*** array, int* length, int* size, GFile* value); +GFile* app_dirs_get_system_plugins_dir (void); +static void _vala_array_add48 (GFile*** array, int* length, int* size, GFile* value); +void plugins_search_for_plugins (GFile* dir, GError** error); +void plugins_terminate (void); +gpointer plugins_notifier_ref (gpointer instance); +void plugins_notifier_unref (gpointer instance); +GParamSpec* plugins_param_spec_notifier (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_notifier (GValue* value, gpointer v_object); +void plugins_value_take_notifier (GValue* value, gpointer v_object); +gpointer plugins_value_get_notifier (const GValue* value); +GType plugins_notifier_get_type (void) G_GNUC_CONST; +enum { + PLUGINS_NOTIFIER_DUMMY_PROPERTY +}; +static PluginsNotifier* plugins_notifier_new (void); +static PluginsNotifier* plugins_notifier_construct (GType object_type); +PluginsNotifier* plugins_notifier_get_instance (void); +static void g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void plugins_notifier_finalize (PluginsNotifier* obj); +void plugins_register_extension_point (GType type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +GeeCollection* plugins_get_pluggables (gboolean include_disabled); +PluginsModuleRep* plugins_get_module_for_pluggable (SpitPluggable* needle); +static SpitPluggable** _vala_array_dup19 (SpitPluggable** self, int length); +gchar* plugins_get_pluggable_module_id (SpitPluggable* needle); +GeeCollection* plugins_get_extension_points (GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify); +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled); +gchar* plugins_get_pluggable_name (const gchar* id); +gboolean plugins_get_pluggable_info (const gchar* id, SpitPluggableInfo* info); +gboolean plugins_get_pluggable_enabled (const gchar* id, gboolean* enabled); +void plugins_set_pluggable_enabled (const gchar* id, gboolean enabled); +GFile* plugins_get_pluggable_module_file (SpitPluggable* pluggable); +gint plugins_compare_pluggable_names (void* a, void* b); +gint plugins_compare_extension_point_names (void* a, void* b); +gboolean plugins_is_shared_library (GFile* file); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" +void plugins_load_module (GFile* file); +GType prepare_input_text_options_get_type (void) G_GNUC_CONST; +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + +const gchar* PLUGINS_SHARED_LIB_EXTS[2] = {"so", "la"}; + +PluginsExtensionPoint* plugins_extension_point_construct (GType object_type, GType pluggable_type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1) { + PluginsExtensionPoint* self = NULL; + GType _tmp0_ = 0UL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 25 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 25 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = (PluginsExtensionPoint*) g_type_create_instance (object_type); +#line 26 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = pluggable_type; +#line 26 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_set_pluggable_type (self, _tmp0_); +#line 27 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = name; +#line 27 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_set_name (self, _tmp1_); +#line 28 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = icon_name; +#line 28 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_set_icon_name (self, _tmp2_); +#line 29 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = core_ids; +#line 29 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3__length1 = core_ids_length1; +#line 29 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_set_core_ids (self, _tmp3_, _tmp3__length1); +#line 25 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self; +#line 374 "Plugins.c" +} + + +PluginsExtensionPoint* plugins_extension_point_new (GType pluggable_type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1) { +#line 25 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return plugins_extension_point_construct (PLUGINS_TYPE_EXTENSION_POINT, pluggable_type, name, icon_name, core_ids, core_ids_length1); +#line 381 "Plugins.c" +} + + +GType plugins_extension_point_get_pluggable_type (PluginsExtensionPoint* self) { + GType result; + GType _tmp0_ = 0UL; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_EXTENSION_POINT (self), 0UL); +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_pluggable_type; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 396 "Plugins.c" +} + + +static void plugins_extension_point_set_pluggable_type (PluginsExtensionPoint* self, GType value) { + GType _tmp0_ = 0UL; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_EXTENSION_POINT (self)); +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 19 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_pluggable_type = _tmp0_; +#line 408 "Plugins.c" +} + + +const gchar* plugins_extension_point_get_name (PluginsExtensionPoint* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_EXTENSION_POINT (self), NULL); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_name; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 423 "Plugins.c" +} + + +static void plugins_extension_point_set_name (PluginsExtensionPoint* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_EXTENSION_POINT (self)); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_name); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_name = _tmp1_; +#line 440 "Plugins.c" +} + + +const gchar* plugins_extension_point_get_icon_name (PluginsExtensionPoint* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_EXTENSION_POINT (self), NULL); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_icon_name; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 455 "Plugins.c" +} + + +static void plugins_extension_point_set_icon_name (PluginsExtensionPoint* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_EXTENSION_POINT (self)); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_icon_name); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_icon_name = _tmp1_; +#line 472 "Plugins.c" +} + + +gchar** plugins_extension_point_get_core_ids (PluginsExtensionPoint* self, int* result_length1) { + gchar** result; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_EXTENSION_POINT (self), NULL); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_core_ids; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0__length1 = self->priv->_core_ids_length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = _tmp0_; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1__length1 = _tmp0__length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (result_length1) { +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *result_length1 = _tmp1__length1; +#line 496 "Plugins.c" + } +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 502 "Plugins.c" +} + + +static gchar** _vala_array_dup18 (gchar** self, int length) { + gchar** result; + int i; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = g_new0 (gchar*, length + 1); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (i = 0; i < length; i++) { +#line 513 "Plugins.c" + gchar* _tmp0_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = g_strdup (self[i]); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result[i] = _tmp0_; +#line 519 "Plugins.c" + } +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 523 "Plugins.c" +} + + +static void plugins_extension_point_set_core_ids (PluginsExtensionPoint* self, gchar** value, int value_length1) { + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_EXTENSION_POINT (self)); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0__length1 = value_length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup18 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1__length1 = _tmp0__length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_core_ids = (_vala_array_free (self->priv->_core_ids, self->priv->_core_ids_length1, (GDestroyNotify) g_free), NULL); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_core_ids = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_core_ids_length1 = _tmp1__length1; +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->__core_ids_size_ = self->priv->_core_ids_length1; +#line 550 "Plugins.c" +} + + +static void plugins_value_extension_point_init (GValue* value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 557 "Plugins.c" +} + + +static void plugins_value_extension_point_free_value (GValue* value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (value->data[0].v_pointer) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_unref (value->data[0].v_pointer); +#line 566 "Plugins.c" + } +} + + +static void plugins_value_extension_point_copy_value (const GValue* src_value, GValue* dest_value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (src_value->data[0].v_pointer) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = plugins_extension_point_ref (src_value->data[0].v_pointer); +#line 576 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = NULL; +#line 580 "Plugins.c" + } +} + + +static gpointer plugins_value_extension_point_peek_pointer (const GValue* value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 588 "Plugins.c" +} + + +static gchar* plugins_value_extension_point_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (collect_values[0].v_pointer) { +#line 595 "Plugins.c" + PluginsExtensionPoint* object; + object = collect_values[0].v_pointer; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (object->parent_instance.g_class == NULL) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 602 "Plugins.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 606 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = plugins_extension_point_ref (object); +#line 610 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 614 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 618 "Plugins.c" +} + + +static gchar* plugins_value_extension_point_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsExtensionPoint** object_p; + object_p = collect_values[0].v_pointer; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!object_p) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 629 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!value->data[0].v_pointer) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = NULL; +#line 635 "Plugins.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = value->data[0].v_pointer; +#line 639 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = plugins_extension_point_ref (value->data[0].v_pointer); +#line 643 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 647 "Plugins.c" +} + + +GParamSpec* plugins_param_spec_extension_point (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecExtensionPoint* spec; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_EXTENSION_POINT), NULL); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return G_PARAM_SPEC (spec); +#line 661 "Plugins.c" +} + + +gpointer plugins_value_get_extension_point (const GValue* value) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_EXTENSION_POINT), NULL); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 670 "Plugins.c" +} + + +void plugins_value_set_extension_point (GValue* value, gpointer v_object) { + PluginsExtensionPoint* old; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_EXTENSION_POINT)); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_EXTENSION_POINT)); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_ref (value->data[0].v_pointer); +#line 690 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 694 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_unref (old); +#line 700 "Plugins.c" + } +} + + +void plugins_value_take_extension_point (GValue* value, gpointer v_object) { + PluginsExtensionPoint* old; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_EXTENSION_POINT)); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_EXTENSION_POINT)); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 719 "Plugins.c" + } else { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 723 "Plugins.c" + } +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_unref (old); +#line 729 "Plugins.c" + } +} + + +static void plugins_extension_point_class_init (PluginsExtensionPointClass * klass) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_point_parent_class = g_type_class_peek_parent (klass); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ((PluginsExtensionPointClass *) klass)->finalize = plugins_extension_point_finalize; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_class_add_private (klass, sizeof (PluginsExtensionPointPrivate)); +#line 741 "Plugins.c" +} + + +static void plugins_extension_point_instance_init (PluginsExtensionPoint * self) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv = PLUGINS_EXTENSION_POINT_GET_PRIVATE (self); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->ref_count = 1; +#line 750 "Plugins.c" +} + + +static void plugins_extension_point_finalize (PluginsExtensionPoint* obj) { + PluginsExtensionPoint * self; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_handlers_destroy (self); +#line 21 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_name); +#line 22 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_icon_name); +#line 23 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_core_ids = (_vala_array_free (self->priv->_core_ids, self->priv->_core_ids_length1, (GDestroyNotify) g_free), NULL); +#line 766 "Plugins.c" +} + + +GType plugins_extension_point_get_type (void) { + static volatile gsize plugins_extension_point_type_id__volatile = 0; + if (g_once_init_enter (&plugins_extension_point_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_extension_point_init, plugins_value_extension_point_free_value, plugins_value_extension_point_copy_value, plugins_value_extension_point_peek_pointer, "p", plugins_value_extension_point_collect_value, "p", plugins_value_extension_point_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsExtensionPointClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_extension_point_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsExtensionPoint), 0, (GInstanceInitFunc) plugins_extension_point_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_extension_point_type_id; + plugins_extension_point_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsExtensionPoint", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_extension_point_type_id__volatile, plugins_extension_point_type_id); + } + return plugins_extension_point_type_id__volatile; +} + + +gpointer plugins_extension_point_ref (gpointer instance) { + PluginsExtensionPoint* self; + self = instance; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_atomic_int_inc (&self->ref_count); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return instance; +#line 791 "Plugins.c" +} + + +void plugins_extension_point_unref (gpointer instance) { + PluginsExtensionPoint* self; + self = instance; +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + PLUGINS_EXTENSION_POINT_GET_CLASS (self)->finalize (self); +#line 18 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 804 "Plugins.c" + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self ? g_object_ref (self) : NULL; +#line 812 "Plugins.c" +} + + +static PluginsModuleRep* plugins_module_rep_construct (GType object_type, GFile* file) { + PluginsModuleRep* self = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GModule* _tmp5_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 40 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = (PluginsModuleRep*) g_type_create_instance (object_type); +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = file; +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->file); +#line 41 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->file = _tmp1_; +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = file; +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_; +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = g_module_open (_tmp4_, G_MODULE_BIND_LAZY); +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_module_close0 (self->module); +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->module = _tmp5_; +#line 43 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp4_); +#line 40 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self; +#line 852 "Plugins.c" +} + + +static PluginsModuleRep* plugins_module_rep_new (GFile* file) { +#line 40 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return plugins_module_rep_construct (PLUGINS_TYPE_MODULE_REP, file); +#line 859 "Plugins.c" +} + + +static gpointer _plugins_module_rep_ref0 (gpointer self) { +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self ? plugins_module_rep_ref (self) : NULL; +#line 866 "Plugins.c" +} + + +PluginsModuleRep* plugins_module_rep_open (GFile* file) { + PluginsModuleRep* result = NULL; + PluginsModuleRep* module_rep = NULL; + GFile* _tmp0_ = NULL; + PluginsModuleRep* _tmp1_ = NULL; + PluginsModuleRep* _tmp2_ = NULL; + PluginsModuleRep* _tmp3_ = NULL; + GModule* _tmp4_ = NULL; + PluginsModuleRep* _tmp6_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 55 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = file; +#line 55 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_module_rep_new (_tmp0_); +#line 55 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = _tmp1_; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = module_rep; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_->module; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_ != NULL) { +#line 893 "Plugins.c" + PluginsModuleRep* _tmp5_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = module_rep; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp5_; +#line 899 "Plugins.c" + } else { +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = NULL; +#line 903 "Plugins.c" + } +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _plugins_module_rep_ref0 (_tmp2_); +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp6_; +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 57 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 913 "Plugins.c" +} + + +static void plugins_value_module_rep_init (GValue* value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 920 "Plugins.c" +} + + +static void plugins_value_module_rep_free_value (GValue* value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (value->data[0].v_pointer) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_unref (value->data[0].v_pointer); +#line 929 "Plugins.c" + } +} + + +static void plugins_value_module_rep_copy_value (const GValue* src_value, GValue* dest_value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (src_value->data[0].v_pointer) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = plugins_module_rep_ref (src_value->data[0].v_pointer); +#line 939 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = NULL; +#line 943 "Plugins.c" + } +} + + +static gpointer plugins_value_module_rep_peek_pointer (const GValue* value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 951 "Plugins.c" +} + + +static gchar* plugins_value_module_rep_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (collect_values[0].v_pointer) { +#line 958 "Plugins.c" + PluginsModuleRep* object; + object = collect_values[0].v_pointer; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (object->parent_instance.g_class == NULL) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 965 "Plugins.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 969 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = plugins_module_rep_ref (object); +#line 973 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 977 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 981 "Plugins.c" +} + + +static gchar* plugins_value_module_rep_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsModuleRep** object_p; + object_p = collect_values[0].v_pointer; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!object_p) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 992 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!value->data[0].v_pointer) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = NULL; +#line 998 "Plugins.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = value->data[0].v_pointer; +#line 1002 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = plugins_module_rep_ref (value->data[0].v_pointer); +#line 1006 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 1010 "Plugins.c" +} + + +GParamSpec* plugins_param_spec_module_rep (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecModuleRep* spec; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_MODULE_REP), NULL); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return G_PARAM_SPEC (spec); +#line 1024 "Plugins.c" +} + + +gpointer plugins_value_get_module_rep (const GValue* value) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MODULE_REP), NULL); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 1033 "Plugins.c" +} + + +void plugins_value_set_module_rep (GValue* value, gpointer v_object) { + PluginsModuleRep* old; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MODULE_REP)); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MODULE_REP)); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_ref (value->data[0].v_pointer); +#line 1053 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1057 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_unref (old); +#line 1063 "Plugins.c" + } +} + + +void plugins_value_take_module_rep (GValue* value, gpointer v_object) { + PluginsModuleRep* old; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_MODULE_REP)); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_MODULE_REP)); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 1082 "Plugins.c" + } else { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1086 "Plugins.c" + } +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_unref (old); +#line 1092 "Plugins.c" + } +} + + +static void plugins_module_rep_class_init (PluginsModuleRepClass * klass) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_rep_parent_class = g_type_class_peek_parent (klass); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ((PluginsModuleRepClass *) klass)->finalize = plugins_module_rep_finalize; +#line 1102 "Plugins.c" +} + + +static void plugins_module_rep_instance_init (PluginsModuleRep * self) { +#line 36 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->spit_module = NULL; +#line 37 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->spit_interface = SPIT_UNSUPPORTED_INTERFACE; +#line 38 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->id = NULL; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->ref_count = 1; +#line 1115 "Plugins.c" +} + + +static void plugins_module_rep_finalize (PluginsModuleRep* obj) { + PluginsModuleRep * self; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_MODULE_REP, PluginsModuleRep); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_handlers_destroy (self); +#line 48 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->spit_module); +#line 48 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->spit_module = NULL; +#line 34 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->file); +#line 35 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_module_close0 (self->module); +#line 36 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->spit_module); +#line 38 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->id); +#line 1137 "Plugins.c" +} + + +GType plugins_module_rep_get_type (void) { + static volatile gsize plugins_module_rep_type_id__volatile = 0; + if (g_once_init_enter (&plugins_module_rep_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_module_rep_init, plugins_value_module_rep_free_value, plugins_value_module_rep_copy_value, plugins_value_module_rep_peek_pointer, "p", plugins_value_module_rep_collect_value, "p", plugins_value_module_rep_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsModuleRepClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_module_rep_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsModuleRep), 0, (GInstanceInitFunc) plugins_module_rep_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_module_rep_type_id; + plugins_module_rep_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsModuleRep", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_module_rep_type_id__volatile, plugins_module_rep_type_id); + } + return plugins_module_rep_type_id__volatile; +} + + +gpointer plugins_module_rep_ref (gpointer instance) { + PluginsModuleRep* self; + self = instance; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_atomic_int_inc (&self->ref_count); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return instance; +#line 1162 "Plugins.c" +} + + +void plugins_module_rep_unref (gpointer instance) { + PluginsModuleRep* self; + self = instance; +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + PLUGINS_MODULE_REP_GET_CLASS (self)->finalize (self); +#line 33 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1175 "Plugins.c" + } +} + + +PluginsPluggableRep* plugins_pluggable_rep_construct (GType object_type, SpitPluggable* pluggable) { + PluginsPluggableRep* self = NULL; + SpitPluggable* _tmp0_ = NULL; + SpitPluggable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (pluggable), NULL); +#line 70 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = (PluginsPluggableRep*) g_type_create_instance (object_type); +#line 71 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = pluggable; +#line 71 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_set_pluggable (self, _tmp0_); +#line 72 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = pluggable; +#line 72 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = spit_pluggable_get_id (_tmp1_); +#line 72 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_set_id (self, _tmp2_); +#line 70 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self; +#line 1201 "Plugins.c" +} + + +PluginsPluggableRep* plugins_pluggable_rep_new (SpitPluggable* pluggable) { +#line 70 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return plugins_pluggable_rep_construct (PLUGINS_TYPE_PLUGGABLE_REP, pluggable); +#line 1208 "Plugins.c" +} + + +void plugins_pluggable_rep_activate (PluginsPluggableRep* self) { + SpitPluggable* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + FuzzyPropertyState saved_state = 0; + ConfigFacade* _tmp2_ = NULL; + ConfigFacade* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + FuzzyPropertyState _tmp5_ = 0; + FuzzyPropertyState _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + SpitPluggable* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 75 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 78 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_pluggable; +#line 78 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_is_core_pluggable (_tmp0_); +#line 78 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_set_is_core (self, _tmp1_); +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = config_facade_get_instance (); +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp2_; +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = self->priv->_id; +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = configuration_facade_is_plugin_enabled (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp4_); +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _tmp5_; +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp3_); +#line 80 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + saved_state = _tmp6_; +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = self->priv->_is_core; +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp9_) { +#line 1252 "Plugins.c" + FuzzyPropertyState _tmp10_ = 0; +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = saved_state; +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _tmp10_ != FUZZY_PROPERTY_STATE_DISABLED; +#line 1258 "Plugins.c" + } else { +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = FALSE; +#line 1262 "Plugins.c" + } +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp8_) { +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = TRUE; +#line 1268 "Plugins.c" + } else { + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = self->priv->_is_core; +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp12_) { +#line 1276 "Plugins.c" + FuzzyPropertyState _tmp13_ = 0; +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = saved_state; +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _tmp13_ == FUZZY_PROPERTY_STATE_ENABLED; +#line 1282 "Plugins.c" + } else { +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = FALSE; +#line 1286 "Plugins.c" + } +#line 82 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp11_; +#line 1290 "Plugins.c" + } +#line 81 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->enabled = _tmp7_; +#line 85 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = self->priv->_pluggable; +#line 85 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = self->priv->enabled; +#line 85 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_pluggable_activation (_tmp14_, _tmp15_); +#line 87 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_set_activated (self, TRUE); +#line 1302 "Plugins.c" +} + + +gboolean plugins_pluggable_rep_is_enabled (PluginsPluggableRep* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 90 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), FALSE); +#line 91 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->enabled; +#line 91 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 91 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1317 "Plugins.c" +} + + +gboolean plugins_pluggable_rep_set_enabled (PluginsPluggableRep* self, gboolean enabled) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + ConfigFacade* _tmp3_ = NULL; + ConfigFacade* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + SpitPluggable* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 95 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), FALSE); +#line 96 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = enabled; +#line 96 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = self->priv->enabled; +#line 96 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp0_ == _tmp1_) { +#line 97 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = FALSE; +#line 97 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1344 "Plugins.c" + } +#line 99 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = enabled; +#line 99 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->enabled = _tmp2_; +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = config_facade_get_instance (); +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_; +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = self->priv->_id; +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = enabled; +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + configuration_facade_set_plugin_enabled (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp5_, _tmp6_); +#line 100 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp4_); +#line 101 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = self->priv->_pluggable; +#line 101 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = enabled; +#line 101 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_pluggable_activation (_tmp7_, _tmp8_); +#line 103 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = TRUE; +#line 103 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1372 "Plugins.c" +} + + +SpitPluggable* plugins_pluggable_rep_get_pluggable (PluginsPluggableRep* self) { + SpitPluggable* result; + SpitPluggable* _tmp0_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), NULL); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_pluggable; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1387 "Plugins.c" +} + + +static void plugins_pluggable_rep_set_pluggable (PluginsPluggableRep* self, SpitPluggable* value) { + SpitPluggable* _tmp0_ = NULL; + SpitPluggable* _tmp1_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->priv->_pluggable); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_pluggable = _tmp1_; +#line 1404 "Plugins.c" +} + + +const gchar* plugins_pluggable_rep_get_id (PluginsPluggableRep* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), NULL); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_id; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1419 "Plugins.c" +} + + +static void plugins_pluggable_rep_set_id (PluginsPluggableRep* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_id); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_id = _tmp1_; +#line 1436 "Plugins.c" +} + + +gboolean plugins_pluggable_rep_get_is_core (PluginsPluggableRep* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), FALSE); +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_is_core; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1451 "Plugins.c" +} + + +static void plugins_pluggable_rep_set_is_core (PluginsPluggableRep* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_is_core = _tmp0_; +#line 1463 "Plugins.c" +} + + +gboolean plugins_pluggable_rep_get_activated (PluginsPluggableRep* self) { + gboolean result; + gboolean _tmp0_ = FALSE; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (PLUGINS_IS_PLUGGABLE_REP (self), FALSE); +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = self->priv->_activated; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp0_; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 1478 "Plugins.c" +} + + +static void plugins_pluggable_rep_set_activated (PluginsPluggableRep* self, gboolean value) { + gboolean _tmp0_ = FALSE; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (PLUGINS_IS_PLUGGABLE_REP (self)); +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = value; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_activated = _tmp0_; +#line 1490 "Plugins.c" +} + + +static void plugins_value_pluggable_rep_init (GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1497 "Plugins.c" +} + + +static void plugins_value_pluggable_rep_free_value (GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_unref (value->data[0].v_pointer); +#line 1506 "Plugins.c" + } +} + + +static void plugins_value_pluggable_rep_copy_value (const GValue* src_value, GValue* dest_value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (src_value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = plugins_pluggable_rep_ref (src_value->data[0].v_pointer); +#line 1516 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = NULL; +#line 1520 "Plugins.c" + } +} + + +static gpointer plugins_value_pluggable_rep_peek_pointer (const GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 1528 "Plugins.c" +} + + +static gchar* plugins_value_pluggable_rep_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (collect_values[0].v_pointer) { +#line 1535 "Plugins.c" + PluginsPluggableRep* object; + object = collect_values[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (object->parent_instance.g_class == NULL) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1542 "Plugins.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1546 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = plugins_pluggable_rep_ref (object); +#line 1550 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1554 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 1558 "Plugins.c" +} + + +static gchar* plugins_value_pluggable_rep_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsPluggableRep** object_p; + object_p = collect_values[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!object_p) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1569 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!value->data[0].v_pointer) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = NULL; +#line 1575 "Plugins.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = value->data[0].v_pointer; +#line 1579 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = plugins_pluggable_rep_ref (value->data[0].v_pointer); +#line 1583 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 1587 "Plugins.c" +} + + +GParamSpec* plugins_param_spec_pluggable_rep (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecPluggableRep* spec; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_PLUGGABLE_REP), NULL); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return G_PARAM_SPEC (spec); +#line 1601 "Plugins.c" +} + + +gpointer plugins_value_get_pluggable_rep (const GValue* value) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_PLUGGABLE_REP), NULL); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 1610 "Plugins.c" +} + + +void plugins_value_set_pluggable_rep (GValue* value, gpointer v_object) { + PluginsPluggableRep* old; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_PLUGGABLE_REP)); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_PLUGGABLE_REP)); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_ref (value->data[0].v_pointer); +#line 1630 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1634 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_unref (old); +#line 1640 "Plugins.c" + } +} + + +void plugins_value_take_pluggable_rep (GValue* value, gpointer v_object) { + PluginsPluggableRep* old; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_PLUGGABLE_REP)); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_PLUGGABLE_REP)); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 1659 "Plugins.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 1663 "Plugins.c" + } +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_unref (old); +#line 1669 "Plugins.c" + } +} + + +static void plugins_pluggable_rep_class_init (PluginsPluggableRepClass * klass) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_parent_class = g_type_class_peek_parent (klass); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ((PluginsPluggableRepClass *) klass)->finalize = plugins_pluggable_rep_finalize; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_class_add_private (klass, sizeof (PluginsPluggableRepPrivate)); +#line 1681 "Plugins.c" +} + + +static void plugins_pluggable_rep_instance_init (PluginsPluggableRep * self) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv = PLUGINS_PLUGGABLE_REP_GET_PRIVATE (self); +#line 64 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_is_core = FALSE; +#line 65 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->_activated = FALSE; +#line 67 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->priv->enabled = FALSE; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->ref_count = 1; +#line 1696 "Plugins.c" +} + + +static void plugins_pluggable_rep_finalize (PluginsPluggableRep* obj) { + PluginsPluggableRep * self; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_PLUGGABLE_REP, PluginsPluggableRep); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_handlers_destroy (self); +#line 62 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (self->priv->_pluggable); +#line 63 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (self->priv->_id); +#line 1710 "Plugins.c" +} + + +GType plugins_pluggable_rep_get_type (void) { + static volatile gsize plugins_pluggable_rep_type_id__volatile = 0; + if (g_once_init_enter (&plugins_pluggable_rep_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_pluggable_rep_init, plugins_value_pluggable_rep_free_value, plugins_value_pluggable_rep_copy_value, plugins_value_pluggable_rep_peek_pointer, "p", plugins_value_pluggable_rep_collect_value, "p", plugins_value_pluggable_rep_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsPluggableRepClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_pluggable_rep_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsPluggableRep), 0, (GInstanceInitFunc) plugins_pluggable_rep_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_pluggable_rep_type_id; + plugins_pluggable_rep_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsPluggableRep", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_pluggable_rep_type_id__volatile, plugins_pluggable_rep_type_id); + } + return plugins_pluggable_rep_type_id__volatile; +} + + +gpointer plugins_pluggable_rep_ref (gpointer instance) { + PluginsPluggableRep* self; + self = instance; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_atomic_int_inc (&self->ref_count); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return instance; +#line 1735 "Plugins.c" +} + + +void plugins_pluggable_rep_unref (gpointer instance) { + PluginsPluggableRep* self; + self = instance; +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + PLUGINS_PLUGGABLE_REP_GET_CLASS (self)->finalize (self); +#line 61 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1748 "Plugins.c" + } +} + + +static void _vala_array_add47 (GFile*** array, int* length, int* size, GFile* value) { +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if ((*length) == (*size)) { +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 1760 "Plugins.c" + } +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (*array)[(*length)++] = value; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (*array)[*length] = NULL; +#line 1766 "Plugins.c" +} + + +static void _vala_array_add48 (GFile*** array, int* length, int* size, GFile* value) { +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if ((*length) == (*size)) { +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *array = g_renew (GFile*, *array, (*size) + 1); +#line 1777 "Plugins.c" + } +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (*array)[(*length)++] = value; +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (*array)[*length] = NULL; +#line 1783 "Plugins.c" +} + + +void plugins_init (GError** error) { + GFile** _tmp0_ = NULL; + GFile** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + GFile* _tmp2_ = NULL; + GFile** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GFile* _tmp4_ = NULL; + GeeHashMap* _tmp5_ = NULL; + GeeHashMap* _tmp6_ = NULL; + GeeHashMap* _tmp7_ = NULL; + GeeHashSet* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GFile** _tmp10_ = NULL; + gint _tmp10__length1 = 0; + GError * _inner_error_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = g_new0 (GFile*, 0 + 1); +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs = (_vala_array_free (plugins_search_dirs, plugins_search_dirs_length1, (GDestroyNotify) g_object_unref), NULL); +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs = _tmp0_; +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs_length1 = 0; +#line 114 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_search_dirs_size_ = plugins_search_dirs_length1; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_search_dirs; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1__length1 = plugins_search_dirs_length1; +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = app_dirs_get_user_plugins_dir (); +#line 115 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_array_add47 (&plugins_search_dirs, &plugins_search_dirs_length1, &_plugins_search_dirs_size_, _tmp2_); +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = plugins_search_dirs; +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3__length1 = plugins_search_dirs_length1; +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = app_dirs_get_system_plugins_dir (); +#line 116 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_array_add48 (&plugins_search_dirs, &plugins_search_dirs_length1, &_plugins_search_dirs_size_, _tmp4_); +#line 118 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, PLUGINS_TYPE_MODULE_REP, (GBoxedCopyFunc) plugins_module_rep_ref, plugins_module_rep_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 118 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_module_table); +#line 118 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_table = _tmp5_; +#line 119 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, PLUGINS_TYPE_PLUGGABLE_REP, (GBoxedCopyFunc) plugins_pluggable_rep_ref, plugins_pluggable_rep_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 119 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_pluggable_table); +#line 119 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_table = _tmp6_; +#line 120 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = gee_hash_map_new (G_TYPE_GTYPE, NULL, NULL, PLUGINS_TYPE_EXTENSION_POINT, (GBoxedCopyFunc) plugins_extension_point_ref, plugins_extension_point_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 120 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_extension_points); +#line 120 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_points = _tmp7_; +#line 121 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 121 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_core_ids); +#line 121 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_core_ids = _tmp8_; +#line 125 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = g_module_supported (); +#line 125 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp9_) { +#line 126 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_warning ("Plugins.vala:126: Plugins not support: GModule not supported on this p" \ +"latform."); +#line 128 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 1861 "Plugins.c" + } +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = plugins_search_dirs; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10__length1 = plugins_search_dirs_length1; +#line 1867 "Plugins.c" + { + GFile** dir_collection = NULL; + gint dir_collection_length1 = 0; + gint _dir_collection_size_ = 0; + gint dir_it = 0; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dir_collection = _tmp10_; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dir_collection_length1 = _tmp10__length1; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (dir_it = 0; dir_it < _tmp10__length1; dir_it = dir_it + 1) { +#line 1879 "Plugins.c" + GFile* _tmp11_ = NULL; + GFile* dir = NULL; +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _g_object_ref0 (dir_collection[dir_it]); +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dir = _tmp11_; +#line 1886 "Plugins.c" + { + { + GFile* _tmp12_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = dir; +#line 133 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_for_plugins (_tmp12_, &_inner_error_); +#line 133 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1896 "Plugins.c" + goto __catch31_g_error; + } + } + goto __finally31; + __catch31_g_error: + { + GError* err = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + err = _inner_error_; +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _inner_error_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = dir; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = _tmp14_; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = err; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = _tmp16_->message; +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_debug ("Plugins.vala:135: Unable to search directory %s for plugins: %s", _tmp15_, _tmp17_); +#line 135 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp15_); +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_error_free0 (err); +#line 1929 "Plugins.c" + } + __finally31: +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_propagate_error (error, _inner_error_); +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (dir); +#line 132 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 1940 "Plugins.c" + } +#line 131 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (dir); +#line 1944 "Plugins.c" + } + } + } +} + + +void plugins_terminate (void) { +#line 141 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs = (_vala_array_free (plugins_search_dirs, plugins_search_dirs_length1, (GDestroyNotify) g_object_unref), NULL); +#line 141 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs = NULL; +#line 141 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_dirs_length1 = 0; +#line 141 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_search_dirs_size_ = plugins_search_dirs_length1; +#line 142 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_pluggable_table); +#line 142 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_table = NULL; +#line 143 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_module_table); +#line 143 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_module_table = NULL; +#line 144 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_extension_points); +#line 144 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_extension_points = NULL; +#line 145 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (plugins_core_ids); +#line 145 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_core_ids = NULL; +#line 1976 "Plugins.c" +} + + +static PluginsNotifier* plugins_notifier_construct (GType object_type) { + PluginsNotifier* self = NULL; +#line 153 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = (PluginsNotifier*) g_type_create_instance (object_type); +#line 153 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self; +#line 1986 "Plugins.c" +} + + +static PluginsNotifier* plugins_notifier_new (void) { +#line 153 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return plugins_notifier_construct (PLUGINS_TYPE_NOTIFIER); +#line 1993 "Plugins.c" +} + + +static gpointer _plugins_notifier_ref0 (gpointer self) { +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return self ? plugins_notifier_ref (self) : NULL; +#line 2000 "Plugins.c" +} + + +PluginsNotifier* plugins_notifier_get_instance (void) { + PluginsNotifier* result = NULL; + PluginsNotifier* _tmp0_ = NULL; + PluginsNotifier* _tmp2_ = NULL; + PluginsNotifier* _tmp3_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_notifier_instance; +#line 157 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp0_ == NULL) { +#line 2013 "Plugins.c" + PluginsNotifier* _tmp1_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_notifier_new (); +#line 158 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_notifier_unref0 (plugins_notifier_instance); +#line 158 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_instance = _tmp1_; +#line 2021 "Plugins.c" + } +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = plugins_notifier_instance; +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _plugins_notifier_ref0 (_tmp2_); +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp3_; +#line 160 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2031 "Plugins.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_BOOLEAN) (gpointer data1, gpointer arg_1, gboolean arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (n_param_values == 3); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + data1 = closure->data; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + data2 = param_values->data[0].v_pointer; +#line 2050 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + data1 = param_values->data[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + data2 = closure->data; +#line 2056 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + callback = (GMarshalFunc_VOID__OBJECT_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_boolean (param_values + 2), data2); +#line 2062 "Plugins.c" +} + + +static void plugins_value_notifier_init (GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 2069 "Plugins.c" +} + + +static void plugins_value_notifier_free_value (GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_unref (value->data[0].v_pointer); +#line 2078 "Plugins.c" + } +} + + +static void plugins_value_notifier_copy_value (const GValue* src_value, GValue* dest_value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (src_value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = plugins_notifier_ref (src_value->data[0].v_pointer); +#line 2088 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + dest_value->data[0].v_pointer = NULL; +#line 2092 "Plugins.c" + } +} + + +static gpointer plugins_value_notifier_peek_pointer (const GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 2100 "Plugins.c" +} + + +static gchar* plugins_value_notifier_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (collect_values[0].v_pointer) { +#line 2107 "Plugins.c" + PluginsNotifier* object; + object = collect_values[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (object->parent_instance.g_class == NULL) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2114 "Plugins.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2118 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = plugins_notifier_ref (object); +#line 2122 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 2126 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 2130 "Plugins.c" +} + + +static gchar* plugins_value_notifier_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + PluginsNotifier** object_p; + object_p = collect_values[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!object_p) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2141 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!value->data[0].v_pointer) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = NULL; +#line 2147 "Plugins.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = value->data[0].v_pointer; +#line 2151 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *object_p = plugins_notifier_ref (value->data[0].v_pointer); +#line 2155 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return NULL; +#line 2159 "Plugins.c" +} + + +GParamSpec* plugins_param_spec_notifier (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + PluginsParamSpecNotifier* spec; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (g_type_is_a (object_type, PLUGINS_TYPE_NOTIFIER), NULL); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return G_PARAM_SPEC (spec); +#line 2173 "Plugins.c" +} + + +gpointer plugins_value_get_notifier (const GValue* value) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_NOTIFIER), NULL); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return value->data[0].v_pointer; +#line 2182 "Plugins.c" +} + + +void plugins_value_set_notifier (GValue* value, gpointer v_object) { + PluginsNotifier* old; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_NOTIFIER)); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_NOTIFIER)); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_ref (value->data[0].v_pointer); +#line 2202 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 2206 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_unref (old); +#line 2212 "Plugins.c" + } +} + + +void plugins_value_take_notifier (GValue* value, gpointer v_object) { + PluginsNotifier* old; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, PLUGINS_TYPE_NOTIFIER)); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + old = value->data[0].v_pointer; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (v_object) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, PLUGINS_TYPE_NOTIFIER)); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = v_object; +#line 2231 "Plugins.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + value->data[0].v_pointer = NULL; +#line 2235 "Plugins.c" + } +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (old) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_unref (old); +#line 2241 "Plugins.c" + } +} + + +static void plugins_notifier_class_init (PluginsNotifierClass * klass) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_notifier_parent_class = g_type_class_peek_parent (klass); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ((PluginsNotifierClass *) klass)->finalize = plugins_notifier_finalize; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_new ("pluggable_activation", PLUGINS_TYPE_NOTIFIER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN, G_TYPE_NONE, 2, SPIT_TYPE_PLUGGABLE, G_TYPE_BOOLEAN); +#line 2253 "Plugins.c" +} + + +static void plugins_notifier_instance_init (PluginsNotifier * self) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self->ref_count = 1; +#line 2260 "Plugins.c" +} + + +static void plugins_notifier_finalize (PluginsNotifier* obj) { + PluginsNotifier * self; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_NOTIFIER, PluginsNotifier); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_handlers_destroy (self); +#line 2270 "Plugins.c" +} + + +GType plugins_notifier_get_type (void) { + static volatile gsize plugins_notifier_type_id__volatile = 0; + if (g_once_init_enter (&plugins_notifier_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { plugins_value_notifier_init, plugins_value_notifier_free_value, plugins_value_notifier_copy_value, plugins_value_notifier_peek_pointer, "p", plugins_value_notifier_collect_value, "p", plugins_value_notifier_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (PluginsNotifierClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_notifier_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsNotifier), 0, (GInstanceInitFunc) plugins_notifier_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType plugins_notifier_type_id; + plugins_notifier_type_id = g_type_register_fundamental (g_type_fundamental_next (), "PluginsNotifier", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&plugins_notifier_type_id__volatile, plugins_notifier_type_id); + } + return plugins_notifier_type_id__volatile; +} + + +gpointer plugins_notifier_ref (gpointer instance) { + PluginsNotifier* self; + self = instance; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_atomic_int_inc (&self->ref_count); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return instance; +#line 2295 "Plugins.c" +} + + +void plugins_notifier_unref (gpointer instance) { + PluginsNotifier* self; + self = instance; +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + PLUGINS_NOTIFIER_GET_CLASS (self)->finalize (self); +#line 148 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2308 "Plugins.c" + } +} + + +void plugins_register_extension_point (GType type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1) { + GeeHashMap* _tmp0_ = NULL; + GType _tmp1_ = 0UL; + gboolean _tmp2_ = FALSE; + GeeHashMap* _tmp3_ = NULL; + GType _tmp4_ = 0UL; + GType _tmp5_ = 0UL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar** _tmp8_ = NULL; + gint _tmp8__length1 = 0; + PluginsExtensionPoint* _tmp9_ = NULL; + PluginsExtensionPoint* _tmp10_ = NULL; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 164 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (name != NULL); +#line 166 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_extension_points; +#line 166 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = type; +#line 166 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp1_)); +#line 166 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_assert (!_tmp2_, "!extension_points.has_key(type)"); +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = plugins_extension_points; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = type; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = type; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = name; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = icon_name; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = core_ids; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8__length1 = core_ids_length1; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = plugins_extension_point_new (_tmp5_, _tmp6_, _tmp7_, _tmp8_, _tmp8__length1); +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = _tmp9_; +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp4_), _tmp10_); +#line 168 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_extension_point_unref0 (_tmp10_); +#line 171 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = core_ids; +#line 171 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11__length1 = core_ids_length1; +#line 171 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp11_ != NULL) { +#line 2366 "Plugins.c" + gchar** _tmp12_ = NULL; + gint _tmp12__length1 = 0; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = core_ids; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12__length1 = core_ids_length1; +#line 2373 "Plugins.c" + { + gchar** core_id_collection = NULL; + gint core_id_collection_length1 = 0; + gint _core_id_collection_size_ = 0; + gint core_id_it = 0; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + core_id_collection = _tmp12_; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + core_id_collection_length1 = _tmp12__length1; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (core_id_it = 0; core_id_it < _tmp12__length1; core_id_it = core_id_it + 1) { +#line 2385 "Plugins.c" + gchar* _tmp13_ = NULL; + gchar* core_id = NULL; +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = g_strdup (core_id_collection[core_id_it]); +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + core_id = _tmp13_; +#line 2392 "Plugins.c" + { + GeeHashSet* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = plugins_core_ids; +#line 173 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = core_id; +#line 173 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_); +#line 172 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (core_id); +#line 2404 "Plugins.c" + } + } + } + } + { + GeeIterator* _pluggable_rep_it = NULL; + GeeHashMap* _tmp16_ = NULL; + GeeCollection* _tmp17_ = NULL; + GeeCollection* _tmp18_ = NULL; + GeeCollection* _tmp19_ = NULL; + GeeIterator* _tmp20_ = NULL; + GeeIterator* _tmp21_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = plugins_pluggable_table; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_MAP, GeeMap)); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = _tmp17_; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = _tmp18_; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = _tmp20_; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp19_); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _pluggable_rep_it = _tmp21_; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 2435 "Plugins.c" + GeeIterator* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeIterator* _tmp24_ = NULL; + gpointer _tmp25_ = NULL; + PluginsPluggableRep* _tmp26_ = NULL; + SpitPluggable* _tmp27_ = NULL; + SpitPluggable* _tmp28_ = NULL; + GType _tmp29_ = 0UL; + GType _tmp30_ = 0UL; + gboolean _tmp31_ = FALSE; + PluginsPluggableRep* _tmp32_ = NULL; + PluginsNotifier* _tmp33_ = NULL; + PluginsNotifier* _tmp34_ = NULL; + PluginsPluggableRep* _tmp35_ = NULL; + SpitPluggable* _tmp36_ = NULL; + SpitPluggable* _tmp37_ = NULL; + PluginsPluggableRep* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _pluggable_rep_it; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp23_ = gee_iterator_next (_tmp22_); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp23_) { +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 2463 "Plugins.c" + } +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp24_ = _pluggable_rep_it; +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp25_ = gee_iterator_get (_tmp24_); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp25_; +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = pluggable_rep; +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp27_ = plugins_pluggable_rep_get_pluggable (_tmp26_); +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp28_ = _tmp27_; +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp29_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, G_TYPE_OBJECT, GObject)); +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp30_ = type; +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp31_ = g_type_is_a (_tmp29_, _tmp30_); +#line 178 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp31_) { +#line 179 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 179 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + continue; +#line 2489 "Plugins.c" + } +#line 181 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp32_ = pluggable_rep; +#line 181 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_pluggable_rep_activate (_tmp32_); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp33_ = plugins_notifier_get_instance (); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp34_ = _tmp33_; +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp35_ = pluggable_rep; +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp36_ = plugins_pluggable_rep_get_pluggable (_tmp35_); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp37_ = _tmp36_; +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp38_ = pluggable_rep; +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp39_ = plugins_pluggable_rep_is_enabled (_tmp38_); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_emit_by_name (_tmp34_, "pluggable-activation", _tmp37_, _tmp39_); +#line 182 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_notifier_unref0 (_tmp34_); +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 2515 "Plugins.c" + } +#line 177 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_pluggable_rep_it); +#line 2519 "Plugins.c" + } +} + + +GeeCollection* plugins_get_pluggables (gboolean include_disabled) { + GeeCollection* result = NULL; + GeeCollection* all = NULL; + GeeHashSet* _tmp0_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = gee_hash_set_new (SPIT_TYPE_PLUGGABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL); +#line 187 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + all = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection); +#line 2532 "Plugins.c" + { + GeeIterator* _pluggable_rep_it = NULL; + GeeHashMap* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_pluggable_table; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_MAP, GeeMap)); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp2_; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _tmp5_; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp4_); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _pluggable_rep_it = _tmp6_; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 2559 "Plugins.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + PluginsPluggableRep* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + gboolean _tmp14_ = FALSE; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _pluggable_rep_it; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp8_) { +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 2577 "Plugins.c" + } +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = _pluggable_rep_it; +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp10_; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = pluggable_rep; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = plugins_pluggable_rep_get_activated (_tmp12_); +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = _tmp13_; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp14_) { +#line 2593 "Plugins.c" + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = include_disabled; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp16_) { +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = TRUE; +#line 2602 "Plugins.c" + } else { + PluginsPluggableRep* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = pluggable_rep; +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = plugins_pluggable_rep_is_enabled (_tmp17_); +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = _tmp18_; +#line 2612 "Plugins.c" + } +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _tmp15_; +#line 2616 "Plugins.c" + } else { +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = FALSE; +#line 2620 "Plugins.c" + } +#line 189 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp11_) { +#line 2624 "Plugins.c" + GeeCollection* _tmp19_ = NULL; + PluginsPluggableRep* _tmp20_ = NULL; + SpitPluggable* _tmp21_ = NULL; + SpitPluggable* _tmp22_ = NULL; +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = all; +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = pluggable_rep; +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = plugins_pluggable_rep_get_pluggable (_tmp20_); +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _tmp21_; +#line 190 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_collection_add (_tmp19_, _tmp22_); +#line 2639 "Plugins.c" + } +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 2643 "Plugins.c" + } +#line 188 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_pluggable_rep_it); +#line 2647 "Plugins.c" + } +#line 193 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = all; +#line 193 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2653 "Plugins.c" +} + + +gboolean plugins_is_core_pluggable (SpitPluggable* pluggable) { + gboolean result = FALSE; + GeeHashSet* _tmp0_ = NULL; + SpitPluggable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 196 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (pluggable), FALSE); +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_core_ids; +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = pluggable; +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = spit_pluggable_get_id (_tmp1_); +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp2_); +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp3_; +#line 197 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2677 "Plugins.c" +} + + +static SpitPluggable** _vala_array_dup19 (SpitPluggable** self, int length) { + SpitPluggable** result; + int i; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = g_new0 (SpitPluggable*, length + 1); +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (i = 0; i < length; i++) { +#line 2688 "Plugins.c" + SpitPluggable* _tmp0_ = NULL; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result[i] = _tmp0_; +#line 2694 "Plugins.c" + } +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2698 "Plugins.c" +} + + +PluginsModuleRep* plugins_get_module_for_pluggable (SpitPluggable* needle) { + PluginsModuleRep* result = NULL; +#line 200 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (needle), NULL); +#line 2706 "Plugins.c" + { + GeeIterator* _module_rep_it = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_module_table; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp1_; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp2_; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp3_); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _module_rep_it = _tmp5_; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 2733 "Plugins.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + PluginsModuleRep* module_rep = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + SpitPluggable** pluggables = NULL; + PluginsModuleRep* _tmp10_ = NULL; + SpitModule* _tmp11_ = NULL; + gint _tmp12_ = 0; + SpitPluggable** _tmp13_ = NULL; + SpitPluggable** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint pluggables_length1 = 0; + gint _pluggables_size_ = 0; + SpitPluggable** _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _module_rep_it; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp7_) { +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 2758 "Plugins.c" + } +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _module_rep_it; +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = (PluginsModuleRep*) _tmp9_; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = module_rep; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _tmp10_->spit_module; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = spit_module_get_pluggables (_tmp11_, &_tmp12_); +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = (_tmp13_ != NULL) ? _vala_array_dup19 (_tmp13_, _tmp12_) : ((gpointer) _tmp13_); +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14__length1 = _tmp12_; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggables = _tmp14_; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggables_length1 = _tmp14__length1; +#line 202 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _pluggables_size_ = pluggables_length1; +#line 203 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = pluggables; +#line 203 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15__length1 = pluggables_length1; +#line 203 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp15_ != NULL) { +#line 2788 "Plugins.c" + SpitPluggable** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = pluggables; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16__length1 = pluggables_length1; +#line 2795 "Plugins.c" + { + SpitPluggable** pluggable_collection = NULL; + gint pluggable_collection_length1 = 0; + gint _pluggable_collection_size_ = 0; + gint pluggable_it = 0; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_collection = _tmp16_; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_collection_length1 = _tmp16__length1; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (pluggable_it = 0; pluggable_it < _tmp16__length1; pluggable_it = pluggable_it + 1) { +#line 2807 "Plugins.c" + SpitPluggable* _tmp17_ = NULL; + SpitPluggable* pluggable = NULL; +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = _g_object_ref0 (pluggable_collection[pluggable_it]); +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable = _tmp17_; +#line 2814 "Plugins.c" + { + SpitPluggable* _tmp18_ = NULL; + SpitPluggable* _tmp19_ = NULL; +#line 205 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = pluggable; +#line 205 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = needle; +#line 205 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp18_ == _tmp19_) { +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = module_rep; +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (pluggable); +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggables = (_vala_array_free (pluggables, pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_module_rep_it); +#line 206 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2834 "Plugins.c" + } +#line 204 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (pluggable); +#line 2838 "Plugins.c" + } + } + } + } +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggables = (_vala_array_free (pluggables, pluggables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 2847 "Plugins.c" + } +#line 201 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_module_rep_it); +#line 2851 "Plugins.c" + } +#line 211 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = NULL; +#line 211 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2857 "Plugins.c" +} + + +gchar* plugins_get_pluggable_module_id (SpitPluggable* needle) { + gchar* result = NULL; + PluginsModuleRep* module_rep = NULL; + SpitPluggable* _tmp0_ = NULL; + PluginsModuleRep* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PluginsModuleRep* _tmp3_ = NULL; + gchar* _tmp7_ = NULL; +#line 214 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (needle), NULL); +#line 215 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = needle; +#line 215 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_get_module_for_pluggable (_tmp0_); +#line 215 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = _tmp1_; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = module_rep; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_ != NULL) { +#line 2881 "Plugins.c" + PluginsModuleRep* _tmp4_ = NULL; + SpitModule* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = module_rep; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_->spit_module; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = spit_module_get_id (_tmp5_); +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp6_; +#line 2893 "Plugins.c" + } else { +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = NULL; +#line 2897 "Plugins.c" + } +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = g_strdup (_tmp2_); +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp7_; +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 217 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2907 "Plugins.c" +} + + +GeeCollection* plugins_get_extension_points (GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify) { + GeeCollection* result = NULL; + GeeCollection* sorted = NULL; + GCompareDataFunc _tmp0_ = NULL; + void* _tmp0__target = NULL; + GDestroyNotify _tmp0__target_destroy_notify = NULL; + GeeTreeSet* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = compare_func; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0__target = compare_func_target; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0__target_destroy_notify = compare_func_target_destroy_notify; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target_destroy_notify = NULL; +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = gee_tree_set_new (PLUGINS_TYPE_EXTENSION_POINT, (GBoxedCopyFunc) plugins_extension_point_ref, plugins_extension_point_unref, _tmp0_, _tmp0__target, _tmp0__target_destroy_notify); +#line 221 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + sorted = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = plugins_extension_points; +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp3_; +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_; +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_collection_add_all (sorted, _tmp5_); +#line 222 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp5_); +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = sorted; +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func = NULL; +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target = NULL; +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target_destroy_notify = NULL; +#line 224 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 2958 "Plugins.c" +} + + +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled) { + GeeCollection* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GType _tmp1_ = 0UL; + gboolean _tmp2_ = FALSE; + GeeCollection* for_type = NULL; + GCompareDataFunc _tmp3_ = NULL; + void* _tmp3__target = NULL; + GDestroyNotify _tmp3__target_destroy_notify = NULL; + GeeTreeSet* _tmp4_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_extension_points; +#line 230 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = type; +#line 230 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp1_)); +#line 230 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_assert (_tmp2_, "extension_points.has_key(type)"); +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = compare_func; +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3__target = compare_func_target; +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3__target_destroy_notify = compare_func_target_destroy_notify; +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target_destroy_notify = NULL; +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = gee_tree_set_new (SPIT_TYPE_PLUGGABLE, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tmp3_, _tmp3__target, _tmp3__target_destroy_notify); +#line 232 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for_type = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection); +#line 2992 "Plugins.c" + { + GeeIterator* _pluggable_rep_it = NULL; + GeeHashMap* _tmp5_ = NULL; + GeeCollection* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = plugins_pluggable_table; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_MAP, GeeMap)); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp6_; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _tmp7_; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = _tmp9_; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp8_); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _pluggable_rep_it = _tmp10_; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 3019 "Plugins.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + gboolean _tmp16_ = FALSE; + PluginsPluggableRep* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _pluggable_rep_it; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp12_) { +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3038 "Plugins.c" + } +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = _pluggable_rep_it; +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp14_; +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = pluggable_rep; +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = plugins_pluggable_rep_get_activated (_tmp17_); +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = _tmp18_; +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp19_) { +#line 3054 "Plugins.c" + PluginsPluggableRep* _tmp20_ = NULL; + SpitPluggable* _tmp21_ = NULL; + SpitPluggable* _tmp22_ = NULL; + GType _tmp23_ = 0UL; + GType _tmp24_ = 0UL; + gboolean _tmp25_ = FALSE; +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = pluggable_rep; +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = plugins_pluggable_rep_get_pluggable (_tmp20_); +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _tmp21_; +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp23_ = G_TYPE_FROM_INSTANCE (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, G_TYPE_OBJECT, GObject)); +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp24_ = type; +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp25_ = g_type_is_a (_tmp23_, _tmp24_); +#line 235 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = _tmp25_; +#line 3075 "Plugins.c" + } else { +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = FALSE; +#line 3079 "Plugins.c" + } +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp16_) { +#line 3083 "Plugins.c" + gboolean _tmp26_ = FALSE; + gboolean _tmp27_ = FALSE; +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp27_ = include_disabled; +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp27_) { +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = TRUE; +#line 3092 "Plugins.c" + } else { + PluginsPluggableRep* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp28_ = pluggable_rep; +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp29_ = plugins_pluggable_rep_is_enabled (_tmp28_); +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = _tmp29_; +#line 3102 "Plugins.c" + } +#line 236 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = _tmp26_; +#line 3106 "Plugins.c" + } else { +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = FALSE; +#line 3110 "Plugins.c" + } +#line 234 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp15_) { +#line 3114 "Plugins.c" + GeeCollection* _tmp30_ = NULL; + PluginsPluggableRep* _tmp31_ = NULL; + SpitPluggable* _tmp32_ = NULL; + SpitPluggable* _tmp33_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp30_ = for_type; +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp31_ = pluggable_rep; +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp32_ = plugins_pluggable_rep_get_pluggable (_tmp31_); +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp33_ = _tmp32_; +#line 237 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_collection_add (_tmp30_, _tmp33_); +#line 3129 "Plugins.c" + } +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 3133 "Plugins.c" + } +#line 233 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_pluggable_rep_it); +#line 3137 "Plugins.c" + } +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = for_type; +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + (compare_func_target_destroy_notify == NULL) ? NULL : (compare_func_target_destroy_notify (compare_func_target), NULL); +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func = NULL; +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target = NULL; +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + compare_func_target_destroy_notify = NULL; +#line 241 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3151 "Plugins.c" +} + + +gchar* plugins_get_pluggable_name (const gchar* id) { + gchar* result = NULL; + PluginsPluggableRep* pluggable_rep = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + PluginsPluggableRep* _tmp5_ = NULL; + gchar* _tmp13_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 245 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_pluggable_table; +#line 245 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = id; +#line 245 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 245 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp2_; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = pluggable_rep; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp5_ != NULL) { +#line 3179 "Plugins.c" + PluginsPluggableRep* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp8_ = FALSE; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = pluggable_rep; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = plugins_pluggable_rep_get_activated (_tmp6_); +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _tmp7_; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = _tmp8_; +#line 3191 "Plugins.c" + } else { +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = FALSE; +#line 3195 "Plugins.c" + } +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_) { +#line 3199 "Plugins.c" + PluginsPluggableRep* _tmp9_ = NULL; + SpitPluggable* _tmp10_ = NULL; + SpitPluggable* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = pluggable_rep; +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = plugins_pluggable_rep_get_pluggable (_tmp9_); +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = _tmp10_; +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = spit_pluggable_get_pluggable_name (_tmp11_); +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp12_; +#line 3214 "Plugins.c" + } else { +#line 248 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = NULL; +#line 3218 "Plugins.c" + } +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = g_strdup (_tmp3_); +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp13_; +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 247 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3228 "Plugins.c" +} + + +gboolean plugins_get_pluggable_info (const gchar* id, SpitPluggableInfo* info) { + gboolean result = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PluginsPluggableRep* _tmp4_ = NULL; + PluginsPluggableRep* _tmp8_ = NULL; + SpitPluggable* _tmp9_ = NULL; + SpitPluggable* _tmp10_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (id != NULL, FALSE); +#line 251 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (info != NULL, FALSE); +#line 252 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_pluggable_table; +#line 252 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = id; +#line 252 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 252 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp2_; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = pluggable_rep; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_ == NULL) { +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = TRUE; +#line 3261 "Plugins.c" + } else { + PluginsPluggableRep* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = pluggable_rep; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = plugins_pluggable_rep_get_activated (_tmp5_); +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp6_; +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = !_tmp7_; +#line 3274 "Plugins.c" + } +#line 253 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_) { +#line 254 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = FALSE; +#line 254 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 254 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3284 "Plugins.c" + } +#line 256 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = pluggable_rep; +#line 256 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = plugins_pluggable_rep_get_pluggable (_tmp8_); +#line 256 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = _tmp9_; +#line 256 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_pluggable_get_info (_tmp10_, info); +#line 258 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = TRUE; +#line 258 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 258 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3300 "Plugins.c" +} + + +gboolean plugins_get_pluggable_enabled (const gchar* id, gboolean* enabled) { + gboolean _vala_enabled = FALSE; + gboolean result = FALSE; + PluginsPluggableRep* pluggable_rep = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PluginsPluggableRep* _tmp4_ = NULL; + PluginsPluggableRep* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 261 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (id != NULL, FALSE); +#line 262 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_pluggable_table; +#line 262 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = id; +#line 262 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 262 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp2_; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = pluggable_rep; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_ == NULL) { +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = TRUE; +#line 3331 "Plugins.c" + } else { + PluginsPluggableRep* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = pluggable_rep; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = plugins_pluggable_rep_get_activated (_tmp5_); +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp6_; +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = !_tmp7_; +#line 3344 "Plugins.c" + } +#line 263 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_) { +#line 264 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_enabled = FALSE; +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = FALSE; +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (enabled) { +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *enabled = _vala_enabled; +#line 3358 "Plugins.c" + } +#line 266 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3362 "Plugins.c" + } +#line 269 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = pluggable_rep; +#line 269 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = plugins_pluggable_rep_is_enabled (_tmp8_); +#line 269 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_enabled = _tmp9_; +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = TRUE; +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (enabled) { +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + *enabled = _vala_enabled; +#line 3378 "Plugins.c" + } +#line 271 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3382 "Plugins.c" +} + + +void plugins_set_pluggable_enabled (const gchar* id, gboolean enabled) { + PluginsPluggableRep* pluggable_rep = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PluginsPluggableRep* _tmp4_ = NULL; + PluginsPluggableRep* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 274 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (id != NULL); +#line 275 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = plugins_pluggable_table; +#line 275 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = id; +#line 275 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 275 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_rep = (PluginsPluggableRep*) _tmp2_; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = pluggable_rep; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp4_ == NULL) { +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = TRUE; +#line 3412 "Plugins.c" + } else { + PluginsPluggableRep* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = pluggable_rep; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = plugins_pluggable_rep_get_activated (_tmp5_); +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = _tmp6_; +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = !_tmp7_; +#line 3425 "Plugins.c" + } +#line 276 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_) { +#line 277 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 277 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3433 "Plugins.c" + } +#line 279 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = pluggable_rep; +#line 279 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = enabled; +#line 279 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = plugins_pluggable_rep_set_enabled (_tmp8_, _tmp9_); +#line 279 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp10_) { +#line 3443 "Plugins.c" + PluginsNotifier* _tmp11_ = NULL; + PluginsNotifier* _tmp12_ = NULL; + PluginsPluggableRep* _tmp13_ = NULL; + SpitPluggable* _tmp14_ = NULL; + SpitPluggable* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = plugins_notifier_get_instance (); +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = _tmp11_; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = pluggable_rep; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = plugins_pluggable_rep_get_pluggable (_tmp13_); +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = _tmp14_; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = enabled; +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_signal_emit_by_name (_tmp12_, "pluggable-activation", _tmp15_, _tmp16_); +#line 280 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_notifier_unref0 (_tmp12_); +#line 3466 "Plugins.c" + } +#line 274 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (pluggable_rep); +#line 3470 "Plugins.c" +} + + +GFile* plugins_get_pluggable_module_file (SpitPluggable* pluggable) { + GFile* result = NULL; + PluginsModuleRep* module_rep = NULL; + SpitPluggable* _tmp0_ = NULL; + PluginsModuleRep* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + PluginsModuleRep* _tmp3_ = NULL; + GFile* _tmp6_ = NULL; +#line 283 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (pluggable), NULL); +#line 284 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = pluggable; +#line 284 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_get_module_for_pluggable (_tmp0_); +#line 284 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = _tmp1_; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = module_rep; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp3_ != NULL) { +#line 3494 "Plugins.c" + PluginsModuleRep* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = module_rep; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_->file; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp5_; +#line 3503 "Plugins.c" + } else { +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = NULL; +#line 3507 "Plugins.c" + } +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = _g_object_ref0 (_tmp2_); +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp6_; +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 286 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3517 "Plugins.c" +} + + +gint plugins_compare_pluggable_names (void* a, void* b) { + gint result = 0; + SpitPluggable* apluggable = NULL; + void* _tmp0_ = NULL; + SpitPluggable* bpluggable = NULL; + void* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 290 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = a; +#line 290 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + apluggable = (SpitPluggable*) _tmp0_; +#line 291 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = b; +#line 291 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + bpluggable = (SpitPluggable*) _tmp1_; +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (apluggable, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (bpluggable, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = g_utf8_collate (_tmp2_, _tmp3_); +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp4_; +#line 293 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3548 "Plugins.c" +} + + +gint plugins_compare_extension_point_names (void* a, void* b) { + gint result = 0; + PluginsExtensionPoint* apoint = NULL; + void* _tmp0_ = NULL; + PluginsExtensionPoint* bpoint = NULL; + void* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 297 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = a; +#line 297 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + apoint = (PluginsExtensionPoint*) _tmp0_; +#line 298 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = b; +#line 298 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + bpoint = (PluginsExtensionPoint*) _tmp1_; +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = plugins_extension_point_get_name (G_TYPE_CHECK_INSTANCE_CAST (apoint, PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint)); +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = _tmp2_; +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = plugins_extension_point_get_name (G_TYPE_CHECK_INSTANCE_CAST (bpoint, PLUGINS_TYPE_EXTENSION_POINT, PluginsExtensionPoint)); +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_; +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = g_utf8_collate (_tmp3_, _tmp5_); +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = _tmp6_; +#line 300 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3585 "Plugins.c" +} + + +gboolean plugins_is_shared_library (GFile* file) { + gboolean result = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = file; +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_file_get_basename (_tmp0_); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp1_; +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + disassemble_filename (_tmp2_, &_tmp3_, &_tmp4_); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (name); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + name = _tmp3_; +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (ext); +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + ext = _tmp4_; +#line 305 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp2_); +#line 3618 "Plugins.c" + { + const gchar** shared_ext_collection = NULL; + gint shared_ext_collection_length1 = 0; + gint _shared_ext_collection_size_ = 0; + gint shared_ext_it = 0; +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + shared_ext_collection = PLUGINS_SHARED_LIB_EXTS; +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + shared_ext_collection_length1 = G_N_ELEMENTS (PLUGINS_SHARED_LIB_EXTS); +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (shared_ext_it = 0; shared_ext_it < G_N_ELEMENTS (PLUGINS_SHARED_LIB_EXTS); shared_ext_it = shared_ext_it + 1) { +#line 3630 "Plugins.c" + gchar* _tmp5_ = NULL; + gchar* shared_ext = NULL; +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = g_strdup (shared_ext_collection[shared_ext_it]); +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + shared_ext = _tmp5_; +#line 3637 "Plugins.c" + { + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 308 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = ext; +#line 308 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = shared_ext; +#line 308 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (g_strcmp0 (_tmp6_, _tmp7_) == 0) { +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = TRUE; +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (shared_ext); +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (ext); +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (name); +#line 309 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3657 "Plugins.c" + } +#line 307 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (shared_ext); +#line 3661 "Plugins.c" + } + } + } +#line 312 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + result = FALSE; +#line 312 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (ext); +#line 312 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (name); +#line 312 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return result; +#line 3673 "Plugins.c" +} + + +void plugins_search_for_plugins (GFile* dir, GError** error) { + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GFileEnumerator* enumerator = NULL; + GFile* _tmp3_ = NULL; + GFileEnumerator* _tmp4_ = NULL; + GError * _inner_error_ = NULL; +#line 315 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = dir; +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = g_file_get_path (_tmp0_); +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = _tmp1_; +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_debug ("Plugins.vala:316: Searching %s for plugins ...", _tmp2_); +#line 316 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp2_); +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = dir; +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = g_file_enumerate_children (_tmp3_, UTIL_FILE_ATTRIBUTES, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + enumerator = _tmp4_; +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_propagate_error (error, _inner_error_); +#line 320 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3709 "Plugins.c" + } + { + gboolean _tmp5_ = FALSE; +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = TRUE; +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + while (TRUE) { +#line 3717 "Plugins.c" + GFileInfo* info = NULL; + GFileEnumerator* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GFile* file = NULL; + GFile* _tmp11_ = NULL; + GFileInfo* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GFile* _tmp14_ = NULL; + GFileInfo* _tmp15_ = NULL; + GFileType _tmp16_ = 0; +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp5_) { +#line 3733 "Plugins.c" + } +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = FALSE; +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = enumerator; +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = g_file_enumerator_next_file (_tmp6_, NULL, &_inner_error_); +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + info = _tmp7_; +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_propagate_error (error, _inner_error_); +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (enumerator); +#line 323 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3751 "Plugins.c" + } +#line 324 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = info; +#line 324 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp8_ == NULL) { +#line 325 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (info); +#line 325 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3761 "Plugins.c" + } +#line 327 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp9_ = info; +#line 327 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = g_file_info_get_is_hidden (_tmp9_); +#line 327 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp10_) { +#line 328 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (info); +#line 328 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + continue; +#line 3773 "Plugins.c" + } +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = dir; +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = info; +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = g_file_info_get_name (_tmp12_); +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = g_file_get_child (_tmp11_, _tmp13_); +#line 330 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + file = _tmp14_; +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = info; +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = g_file_info_get_file_type (_tmp15_); +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + switch (_tmp16_) { +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + case G_FILE_TYPE_DIRECTORY: +#line 3793 "Plugins.c" + { + { + GFile* _tmp17_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = file; +#line 335 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_search_for_plugins (_tmp17_, &_inner_error_); +#line 335 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 3803 "Plugins.c" + goto __catch32_g_error; + } + } + goto __finally32; + __catch32_g_error: + { + GError* err = NULL; + GFile* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + GError* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + err = _inner_error_; +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _inner_error_ = NULL; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = file; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = g_file_get_path (_tmp18_); +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = _tmp19_; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = err; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _tmp21_->message; +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_warning ("Plugins.vala:337: Unable to search directory %s for plugins: %s", _tmp20_, _tmp22_); +#line 337 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp20_); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_error_free0 (err); +#line 3836 "Plugins.c" + } + __finally32: +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_propagate_error (error, _inner_error_); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (file); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (info); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (enumerator); +#line 334 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3851 "Plugins.c" + } +#line 339 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3855 "Plugins.c" + } +#line 332 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + case G_FILE_TYPE_REGULAR: +#line 3859 "Plugins.c" + { + GFile* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 342 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp23_ = file; +#line 342 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp24_ = plugins_is_shared_library (_tmp23_); +#line 342 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp24_) { +#line 3869 "Plugins.c" + GFile* _tmp25_ = NULL; +#line 343 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp25_ = file; +#line 343 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + plugins_load_module (_tmp25_); +#line 3875 "Plugins.c" + } +#line 344 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3879 "Plugins.c" + } + default: + { +#line 348 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + break; +#line 3885 "Plugins.c" + } + } +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (file); +#line 322 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (info); +#line 3892 "Plugins.c" + } + } +#line 315 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (enumerator); +#line 3897 "Plugins.c" +} + + +void plugins_load_module (GFile* file) { + PluginsModuleRep* module_rep = NULL; + GFile* _tmp0_ = NULL; + PluginsModuleRep* _tmp1_ = NULL; + PluginsModuleRep* _tmp2_ = NULL; + void* entry = NULL; + PluginsModuleRep* _tmp7_ = NULL; + GModule* _tmp8_ = NULL; + void* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + SpitEntryPoint spit_entry_point = NULL; + void* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + SpitEntryPointParams params = {0}; + GFile* _tmp16_ = NULL; + GFile* _tmp17_ = NULL; + PluginsModuleRep* _tmp18_ = NULL; + SpitEntryPoint _tmp19_ = NULL; + SpitModule* _tmp20_ = NULL; + SpitEntryPointParams _tmp21_ = {0}; + gint _tmp22_ = 0; + gboolean _tmp26_ = FALSE; + SpitEntryPointParams _tmp27_ = {0}; + gint _tmp28_ = 0; + PluginsModuleRep* _tmp36_ = NULL; + SpitEntryPointParams _tmp37_ = {0}; + gint _tmp38_ = 0; + PluginsModuleRep* _tmp39_ = NULL; + SpitModule* _tmp40_ = NULL; + PluginsModuleRep* _tmp42_ = NULL; + SpitModule* _tmp43_ = NULL; + PluginsModuleRep* _tmp49_ = NULL; + PluginsModuleRep* _tmp50_ = NULL; + SpitModule* _tmp51_ = NULL; + const gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + PluginsModuleRep* _tmp54_ = NULL; + const gchar* _tmp55_ = NULL; + GeeHashMap* _tmp61_ = NULL; + PluginsModuleRep* _tmp62_ = NULL; + const gchar* _tmp63_ = NULL; + gboolean _tmp64_ = FALSE; + PluginsModuleRep* _tmp72_ = NULL; + SpitModule* _tmp73_ = NULL; + const gchar* _tmp74_ = NULL; + PluginsModuleRep* _tmp75_ = NULL; + SpitModule* _tmp76_ = NULL; + const gchar* _tmp77_ = NULL; + PluginsModuleRep* _tmp78_ = NULL; + const gchar* _tmp79_ = NULL; + GFile* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + gchar* _tmp82_ = NULL; + GeeHashMap* _tmp83_ = NULL; + PluginsModuleRep* _tmp84_ = NULL; + const gchar* _tmp85_ = NULL; + PluginsModuleRep* _tmp86_ = NULL; + PluginsModuleRep* _tmp87_ = NULL; + SpitModule* _tmp88_ = NULL; + gint _tmp89_ = 0; + SpitPluggable** _tmp90_ = NULL; +#line 353 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_return_if_fail (G_IS_FILE (file)); +#line 354 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp0_ = file; +#line 354 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp1_ = plugins_module_rep_open (_tmp0_); +#line 354 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + module_rep = _tmp1_; +#line 355 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp2_ = module_rep; +#line 355 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp2_ == NULL) { +#line 3974 "Plugins.c" + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp3_ = file; +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp5_ = _tmp4_; +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp6_ = g_module_error (); +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:356: Unable to load module %s: %s", _tmp5_, _tmp6_); +#line 356 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp5_); +#line 358 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 358 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 3995 "Plugins.c" + } +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp7_ = module_rep; +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp8_ = _tmp7_->module; +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp10_ = g_module_symbol (_tmp8_, SPIT_ENTRY_POINT_NAME, &_tmp9_); +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + entry = _tmp9_; +#line 363 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!_tmp10_) { +#line 4007 "Plugins.c" + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp11_ = file; +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp13_ = _tmp12_; +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:364: Unable to load module %s: well-known entry point %s " \ +"not found", _tmp13_, SPIT_ENTRY_POINT_NAME); +#line 364 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp13_); +#line 367 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 367 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4025 "Plugins.c" + } +#line 370 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp14_ = entry; +#line 370 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point = (SpitEntryPoint) _tmp14_; +#line 372 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (PLUGINS_MIN_SPIT_INTERFACE <= SPIT_CURRENT_INTERFACE) { +#line 372 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = SPIT_CURRENT_INTERFACE <= PLUGINS_MAX_SPIT_INTERFACE; +#line 4035 "Plugins.c" + } else { +#line 372 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp15_ = FALSE; +#line 4039 "Plugins.c" + } +#line 372 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _vala_assert (_tmp15_, "MIN_SPIT_INTERFACE <= Spit.CURRENT_INTERFACE && Spit.CURRENT_INTERFACE <= MAX_SPIT_INTERFACE"); +#line 373 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + memset (¶ms, 0, sizeof (SpitEntryPointParams)); +#line 374 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + params.host_min_spit_interface = PLUGINS_MIN_SPIT_INTERFACE; +#line 375 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + params.host_max_spit_interface = PLUGINS_MAX_SPIT_INTERFACE; +#line 376 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + params.module_spit_interface = SPIT_UNSUPPORTED_INTERFACE; +#line 377 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp16_ = file; +#line 377 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp17_ = _g_object_ref0 (_tmp16_); +#line 377 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (params.module_file); +#line 377 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + params.module_file = _tmp17_; +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_ = module_rep; +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp19_ = spit_entry_point; +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp20_ = _tmp19_ (¶ms); +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp18_->spit_module); +#line 379 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp18_->spit_module = _tmp20_; +#line 380 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp21_ = params; +#line 380 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp22_ = _tmp21_.module_spit_interface; +#line 380 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp22_ == SPIT_UNSUPPORTED_INTERFACE) { +#line 4075 "Plugins.c" + GFile* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp23_ = file; +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp24_ = g_file_get_path (_tmp23_); +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp25_ = _tmp24_; +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:381: Unable to load module %s: module reports no support " \ +"for SPIT interfaces %d to %d", _tmp25_, PLUGINS_MIN_SPIT_INTERFACE, PLUGINS_MAX_SPIT_INTERFACE); +#line 381 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp25_); +#line 384 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 384 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 384 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4095 "Plugins.c" + } +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp27_ = params; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp28_ = _tmp27_.module_spit_interface; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp28_ < PLUGINS_MIN_SPIT_INTERFACE) { +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = TRUE; +#line 4105 "Plugins.c" + } else { + SpitEntryPointParams _tmp29_ = {0}; + gint _tmp30_ = 0; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp29_ = params; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp30_ = _tmp29_.module_spit_interface; +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp26_ = _tmp30_ > PLUGINS_MAX_SPIT_INTERFACE; +#line 4115 "Plugins.c" + } +#line 387 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp26_) { +#line 4119 "Plugins.c" + GFile* _tmp31_ = NULL; + gchar* _tmp32_ = NULL; + gchar* _tmp33_ = NULL; + PluginsModuleRep* _tmp34_ = NULL; + gint _tmp35_ = 0; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp31_ = file; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp32_ = g_file_get_path (_tmp31_); +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp33_ = _tmp32_; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp34_ = module_rep; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp35_ = _tmp34_->spit_interface; +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:388: Unable to load module %s: module reports unsupported" \ +" SPIT version %d (out of range %d to %d)", _tmp33_, _tmp35_, PLUGINS_MIN_SPIT_INTERFACE, PLUGINS_MAX_SPIT_INTERFACE); +#line 388 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp33_); +#line 391 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 391 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 391 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4145 "Plugins.c" + } +#line 394 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp36_ = module_rep; +#line 394 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp37_ = params; +#line 394 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp38_ = _tmp37_.module_spit_interface; +#line 394 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp36_->spit_interface = _tmp38_; +#line 397 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp39_ = module_rep; +#line 397 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp40_ = _tmp39_->spit_module; +#line 397 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, SPIT_TYPE_MODULE)) { +#line 4161 "Plugins.c" + PluginsModuleRep* _tmp41_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp41_ = module_rep; +#line 398 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (_tmp41_->spit_module); +#line 398 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp41_->spit_module = NULL; +#line 4169 "Plugins.c" + } +#line 400 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp42_ = module_rep; +#line 400 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp43_ = _tmp42_->spit_module; +#line 400 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp43_ == NULL) { +#line 4177 "Plugins.c" + GFile* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + gchar* _tmp46_ = NULL; + PluginsModuleRep* _tmp47_ = NULL; + gint _tmp48_ = 0; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp44_ = file; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp45_ = g_file_get_path (_tmp44_); +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp46_ = _tmp45_; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp47_ = module_rep; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp48_ = _tmp47_->spit_interface; +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:401: Unable to load module %s (SPIT %d): no spit module r" \ +"eturned", _tmp46_, _tmp48_); +#line 401 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp46_); +#line 404 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 404 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 404 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4203 "Plugins.c" + } +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp49_ = module_rep; +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp50_ = module_rep; +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp51_ = _tmp50_->spit_module; +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp52_ = spit_module_get_id (_tmp51_); +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp53_ = prepare_input_text (_tmp52_, PREPARE_INPUT_TEXT_OPTIONS_DEFAULT, -1); +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp49_->id); +#line 409 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp49_->id = _tmp53_; +#line 410 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp54_ = module_rep; +#line 410 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp55_ = _tmp54_->id; +#line 410 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp55_ == NULL) { +#line 4225 "Plugins.c" + GFile* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + PluginsModuleRep* _tmp59_ = NULL; + gint _tmp60_ = 0; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp56_ = file; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp57_ = g_file_get_path (_tmp56_); +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp58_ = _tmp57_; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp59_ = module_rep; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp60_ = _tmp59_->spit_interface; +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:411: Unable to load module %s (SPIT %d): invalid or empty" \ +" module name", _tmp58_, _tmp60_); +#line 411 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp58_); +#line 414 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 414 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 414 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4251 "Plugins.c" + } +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp61_ = plugins_module_table; +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp62_ = module_rep; +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp63_ = _tmp62_->id; +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp64_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp63_); +#line 417 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + if (_tmp64_) { +#line 4263 "Plugins.c" + GFile* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + PluginsModuleRep* _tmp68_ = NULL; + gint _tmp69_ = 0; + PluginsModuleRep* _tmp70_ = NULL; + const gchar* _tmp71_ = NULL; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp65_ = file; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp66_ = g_file_get_path (_tmp65_); +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp67_ = _tmp66_; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp68_ = module_rep; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp69_ = _tmp68_->spit_interface; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp70_ = module_rep; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp71_ = _tmp70_->id; +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_critical ("Plugins.vala:418: Not loading module %s (SPIT %d): module with name \"" \ +"%s\" already loaded", _tmp67_, _tmp69_, _tmp71_); +#line 418 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp67_); +#line 421 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 421 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 421 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + return; +#line 4295 "Plugins.c" + } +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp72_ = module_rep; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp73_ = _tmp72_->spit_module; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp74_ = spit_module_get_module_name (_tmp73_); +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp75_ = module_rep; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp76_ = _tmp75_->spit_module; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp77_ = spit_module_get_version (_tmp76_); +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp78_ = module_rep; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp79_ = _tmp78_->id; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp80_ = file; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp81_ = g_file_get_path (_tmp80_); +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp82_ = _tmp81_; +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + g_debug ("Plugins.vala:424: Loaded SPIT module \"%s %s\" (%s) [%s]", _tmp74_, _tmp77_, _tmp79_, _tmp82_); +#line 424 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_free0 (_tmp82_); +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp83_ = plugins_module_table; +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp84_ = module_rep; +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp85_ = _tmp84_->id; +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp86_ = module_rep; +#line 428 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp85_, _tmp86_); +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp87_ = module_rep; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp88_ = _tmp87_->spit_module; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp90_ = spit_module_get_pluggables (_tmp88_, &_tmp89_); +#line 4339 "Plugins.c" + { + SpitPluggable** pluggable_collection = NULL; + gint pluggable_collection_length1 = 0; + gint _pluggable_collection_size_ = 0; + gint pluggable_it = 0; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_collection = _tmp90_; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable_collection_length1 = _tmp89_; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + for (pluggable_it = 0; pluggable_it < _tmp89_; pluggable_it = pluggable_it + 1) { +#line 4351 "Plugins.c" + SpitPluggable* _tmp91_ = NULL; + SpitPluggable* pluggable = NULL; +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp91_ = _g_object_ref0 (pluggable_collection[pluggable_it]); +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + pluggable = _tmp91_; +#line 4358 "Plugins.c" + { + GeeHashMap* _tmp92_ = NULL; + SpitPluggable* _tmp93_ = NULL; + const gchar* _tmp94_ = NULL; + SpitPluggable* _tmp95_ = NULL; + PluginsPluggableRep* _tmp96_ = NULL; + PluginsPluggableRep* _tmp97_ = NULL; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp92_ = plugins_pluggable_table; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp93_ = pluggable; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp94_ = spit_pluggable_get_id (_tmp93_); +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp95_ = pluggable; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp96_ = plugins_pluggable_rep_new (_tmp95_); +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _tmp97_ = _tmp96_; +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp92_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp94_, _tmp97_); +#line 432 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_pluggable_rep_unref0 (_tmp97_); +#line 431 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _g_object_unref0 (pluggable); +#line 4384 "Plugins.c" + } + } + } +#line 353 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + spit_entry_point_params_destroy (¶ms); +#line 353 "/home/jens/Source/shotwell/src/plugins/Plugins.vala" + _plugins_module_rep_unref0 (module_rep); +#line 4392 "Plugins.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/plugins/PublishingInterfaces.c b/src/plugins/PublishingInterfaces.c new file mode 100644 index 0000000..e2e22cb --- /dev/null +++ b/src/plugins/PublishingInterfaces.c @@ -0,0 +1,1760 @@ +/* PublishingInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from PublishingInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SPIT_PUBLISHING_TYPE_PUBLISHER (spit_publishing_publisher_get_type ()) +#define SPIT_PUBLISHING_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisher)) +#define SPIT_PUBLISHING_IS_PUBLISHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_PUBLISHER)) +#define SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_PUBLISHER, SpitPublishingPublisherIface)) + +typedef struct _SpitPublishingPublisher SpitPublishingPublisher; +typedef struct _SpitPublishingPublisherIface SpitPublishingPublisherIface; + +#define SPIT_TYPE_PLUGGABLE (spit_pluggable_get_type ()) +#define SPIT_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggable)) +#define SPIT_IS_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_PLUGGABLE)) +#define SPIT_PLUGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggableIface)) + +typedef struct _SpitPluggable SpitPluggable; +typedef struct _SpitPluggableIface SpitPluggableIface; + +#define SPIT_TYPE_PLUGGABLE_INFO (spit_pluggable_info_get_type ()) +typedef struct _SpitPluggableInfo SpitPluggableInfo; + +#define SPIT_PUBLISHING_TYPE_SERVICE (spit_publishing_service_get_type ()) +#define SPIT_PUBLISHING_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService)) +#define SPIT_PUBLISHING_IS_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_SERVICE)) +#define SPIT_PUBLISHING_SERVICE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingServiceIface)) + +typedef struct _SpitPublishingService SpitPublishingService; +typedef struct _SpitPublishingServiceIface SpitPublishingServiceIface; + +#define SPIT_TYPE_HOST_INTERFACE (spit_host_interface_get_type ()) +#define SPIT_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterface)) +#define SPIT_IS_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_HOST_INTERFACE)) +#define SPIT_HOST_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterfaceIface)) + +typedef struct _SpitHostInterface SpitHostInterface; +typedef struct _SpitHostInterfaceIface SpitHostInterfaceIface; + +#define SPIT_PUBLISHING_TYPE_PLUGIN_HOST (spit_publishing_plugin_host_get_type ()) +#define SPIT_PUBLISHING_PLUGIN_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHost)) +#define SPIT_PUBLISHING_IS_PLUGIN_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_PLUGIN_HOST)) +#define SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHostIface)) + +typedef struct _SpitPublishingPluginHost SpitPublishingPluginHost; +typedef struct _SpitPublishingPluginHostIface SpitPublishingPluginHostIface; + +#define SPIT_PUBLISHING_TYPE_DIALOG_PANE (spit_publishing_dialog_pane_get_type ()) +#define SPIT_PUBLISHING_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)) +#define SPIT_PUBLISHING_IS_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_DIALOG_PANE)) +#define SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPaneIface)) + +typedef struct _SpitPublishingDialogPane SpitPublishingDialogPane; +typedef struct _SpitPublishingDialogPaneIface SpitPublishingDialogPaneIface; + +#define SPIT_PUBLISHING_DIALOG_PANE_TYPE_GEOMETRY_OPTIONS (spit_publishing_dialog_pane_geometry_options_get_type ()) + +#define SPIT_PUBLISHING_PLUGIN_HOST_TYPE_BUTTON_MODE (spit_publishing_plugin_host_button_mode_get_type ()) + +#define SPIT_PUBLISHING_TYPE_PUBLISHABLE (spit_publishing_publishable_get_type ()) +#define SPIT_PUBLISHING_PUBLISHABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_PUBLISHABLE, SpitPublishingPublishable)) +#define SPIT_PUBLISHING_IS_PUBLISHABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_PUBLISHABLE)) +#define SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_PUBLISHING_TYPE_PUBLISHABLE, SpitPublishingPublishableIface)) + +typedef struct _SpitPublishingPublishable SpitPublishingPublishable; +typedef struct _SpitPublishingPublishableIface SpitPublishingPublishableIface; + +#define SPIT_PUBLISHING_PUBLISHER_TYPE_MEDIA_TYPE (spit_publishing_publisher_media_type_get_type ()) + +/** + * Defines different kinds of errors that can occur during publishing. + */ +typedef enum { + SPIT_PUBLISHING_PUBLISHING_ERROR_NO_ANSWER, + SPIT_PUBLISHING_PUBLISHING_ERROR_COMMUNICATION_FAILED, + SPIT_PUBLISHING_PUBLISHING_ERROR_PROTOCOL_ERROR, + SPIT_PUBLISHING_PUBLISHING_ERROR_SERVICE_ERROR, + SPIT_PUBLISHING_PUBLISHING_ERROR_MALFORMED_RESPONSE, + SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, + SPIT_PUBLISHING_PUBLISHING_ERROR_EXPIRED_SESSION, + SPIT_PUBLISHING_PUBLISHING_ERROR_SSL_FAILED +} SpitPublishingPublishingError; +#define SPIT_PUBLISHING_PUBLISHING_ERROR spit_publishing_publishing_error_quark () +struct _SpitPluggableInfo { + gchar* version; + gchar* brief_description; + gchar* authors; + gchar* copyright; + gchar* license; + gboolean is_license_wordwrapped; + gchar* website_url; + gchar* website_name; + gchar* translators; + GdkPixbuf** icons; + gint icons_length1; +}; + +struct _SpitPluggableIface { + GTypeInterface parent_iface; + gint (*get_pluggable_interface) (SpitPluggable* self, gint min_host_interface, gint max_host_interface); + const gchar* (*get_id) (SpitPluggable* self); + const gchar* (*get_pluggable_name) (SpitPluggable* self); + void (*get_info) (SpitPluggable* self, SpitPluggableInfo* info); + void (*activation) (SpitPluggable* self, gboolean enabled); + void (*reserved0) (SpitPluggable* self); + void (*reserved1) (SpitPluggable* self); + void (*reserved2) (SpitPluggable* self); + void (*reserved3) (SpitPluggable* self); + void (*reserved4) (SpitPluggable* self); + void (*reserved5) (SpitPluggable* self); + void (*reserved6) (SpitPluggable* self); + void (*reserved7) (SpitPluggable* self); +}; + +struct _SpitHostInterfaceIface { + GTypeInterface parent_iface; + GFile* (*get_module_file) (SpitHostInterface* self); + gboolean (*get_config_bool) (SpitHostInterface* self, const gchar* key, gboolean def); + void (*set_config_bool) (SpitHostInterface* self, const gchar* key, gboolean val); + gint (*get_config_int) (SpitHostInterface* self, const gchar* key, gint def); + void (*set_config_int) (SpitHostInterface* self, const gchar* key, gint val); + gchar* (*get_config_string) (SpitHostInterface* self, const gchar* key, const gchar* def); + void (*set_config_string) (SpitHostInterface* self, const gchar* key, const gchar* val); + gdouble (*get_config_double) (SpitHostInterface* self, const gchar* key, gdouble def); + void (*set_config_double) (SpitHostInterface* self, const gchar* key, gdouble val); + void (*unset_config_key) (SpitHostInterface* self, const gchar* key); + void (*reserved0) (SpitHostInterface* self); + void (*reserved1) (SpitHostInterface* self); + void (*reserved2) (SpitHostInterface* self); + void (*reserved3) (SpitHostInterface* self); + void (*reserved4) (SpitHostInterface* self); + void (*reserved5) (SpitHostInterface* self); + void (*reserved6) (SpitHostInterface* self); + void (*reserved7) (SpitHostInterface* self); +}; + +typedef enum { + SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE = 0, + SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE = 1 << 0, + SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE = 1 << 1, + SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE = 1 << 2 +} SpitPublishingDialogPaneGeometryOptions; + +struct _SpitPublishingDialogPaneIface { + GTypeInterface parent_iface; + GtkWidget* (*get_widget) (SpitPublishingDialogPane* self); + SpitPublishingDialogPaneGeometryOptions (*get_preferred_geometry) (SpitPublishingDialogPane* self); + void (*on_pane_installed) (SpitPublishingDialogPane* self); + void (*on_pane_uninstalled) (SpitPublishingDialogPane* self); + void (*reserved0) (SpitPublishingDialogPane* self); + void (*reserved1) (SpitPublishingDialogPane* self); + void (*reserved2) (SpitPublishingDialogPane* self); + void (*reserved3) (SpitPublishingDialogPane* self); + void (*reserved4) (SpitPublishingDialogPane* self); + void (*reserved5) (SpitPublishingDialogPane* self); + void (*reserved6) (SpitPublishingDialogPane* self); + void (*reserved7) (SpitPublishingDialogPane* self); +}; + +typedef enum { + SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE = 0, + SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL = 1 +} SpitPublishingPluginHostButtonMode; + +typedef void (*SpitPublishingLoginCallback) (void* user_data); +typedef enum { + SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE = 0, + SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO = 1 << 0, + SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO = 1 << 1 +} SpitPublishingPublisherMediaType; + +struct _SpitPublishingPublishableIface { + GTypeInterface parent_iface; + GFile* (*get_serialized_file) (SpitPublishingPublishable* self); + gchar* (*get_publishing_name) (SpitPublishingPublishable* self); + gchar* (*get_param_string) (SpitPublishingPublishable* self, const gchar* name); + gchar** (*get_publishing_keywords) (SpitPublishingPublishable* self, int* result_length1); + SpitPublishingPublisherMediaType (*get_media_type) (SpitPublishingPublishable* self); + GDateTime* (*get_exposure_date_time) (SpitPublishingPublishable* self); + void (*reserved0) (SpitPublishingPublishable* self); + void (*reserved1) (SpitPublishingPublishable* self); + void (*reserved2) (SpitPublishingPublishable* self); + void (*reserved3) (SpitPublishingPublishable* self); + void (*reserved4) (SpitPublishingPublishable* self); + void (*reserved5) (SpitPublishingPublishable* self); + void (*reserved6) (SpitPublishingPublishable* self); + void (*reserved7) (SpitPublishingPublishable* self); +}; + +typedef void (*SpitPublishingProgressCallback) (gint file_number, gdouble fraction_complete, void* user_data); +struct _SpitPublishingPluginHostIface { + GTypeInterface parent_iface; + void (*post_error) (SpitPublishingPluginHost* self, GError* err); + void (*stop_publishing) (SpitPublishingPluginHost* self); + SpitPublishingPublisher* (*get_publisher) (SpitPublishingPluginHost* self); + void (*install_dialog_pane) (SpitPublishingPluginHost* self, SpitPublishingDialogPane* pane, SpitPublishingPluginHostButtonMode mode); + void (*install_static_message_pane) (SpitPublishingPluginHost* self, const gchar* message, SpitPublishingPluginHostButtonMode mode); + void (*install_pango_message_pane) (SpitPublishingPluginHost* self, const gchar* markup, SpitPublishingPluginHostButtonMode mode); + void (*install_success_pane) (SpitPublishingPluginHost* self); + void (*install_account_fetch_wait_pane) (SpitPublishingPluginHost* self); + void (*install_login_wait_pane) (SpitPublishingPluginHost* self); + void (*install_welcome_pane) (SpitPublishingPluginHost* self, const gchar* welcome_message, SpitPublishingLoginCallback on_login_clicked, void* on_login_clicked_target); + void (*set_service_locked) (SpitPublishingPluginHost* self, gboolean is_locked); + void (*set_dialog_default_widget) (SpitPublishingPluginHost* self, GtkWidget* widget); + SpitPublishingPublishable** (*get_publishables) (SpitPublishingPluginHost* self, int* result_length1); + SpitPublishingProgressCallback (*serialize_publishables) (SpitPublishingPluginHost* self, gint content_major_axis, gboolean strip_metadata, void** result_target, GDestroyNotify* result_target_destroy_notify); + SpitPublishingPublisherMediaType (*get_publishable_media_type) (SpitPublishingPluginHost* self); + void (*reserved0) (SpitPublishingPluginHost* self); + void (*reserved1) (SpitPublishingPluginHost* self); + void (*reserved2) (SpitPublishingPluginHost* self); + void (*reserved3) (SpitPublishingPluginHost* self); + void (*reserved4) (SpitPublishingPluginHost* self); + void (*reserved5) (SpitPublishingPluginHost* self); + void (*reserved6) (SpitPublishingPluginHost* self); + void (*reserved7) (SpitPublishingPluginHost* self); +}; + +struct _SpitPublishingServiceIface { + GTypeInterface parent_iface; + SpitPublishingPublisher* (*create_publisher) (SpitPublishingService* self, SpitPublishingPluginHost* host); + SpitPublishingPublisherMediaType (*get_supported_media) (SpitPublishingService* self); + void (*reserved0) (SpitPublishingService* self); + void (*reserved1) (SpitPublishingService* self); + void (*reserved2) (SpitPublishingService* self); + void (*reserved3) (SpitPublishingService* self); + void (*reserved4) (SpitPublishingService* self); + void (*reserved5) (SpitPublishingService* self); + void (*reserved6) (SpitPublishingService* self); + void (*reserved7) (SpitPublishingService* self); +}; + +struct _SpitPublishingPublisherIface { + GTypeInterface parent_iface; + SpitPublishingService* (*get_service) (SpitPublishingPublisher* self); + void (*start) (SpitPublishingPublisher* self); + gboolean (*is_running) (SpitPublishingPublisher* self); + void (*stop) (SpitPublishingPublisher* self); + void (*reserved0) (SpitPublishingPublisher* self); + void (*reserved1) (SpitPublishingPublisher* self); + void (*reserved2) (SpitPublishingPublisher* self); + void (*reserved3) (SpitPublishingPublisher* self); + void (*reserved4) (SpitPublishingPublisher* self); + void (*reserved5) (SpitPublishingPublisher* self); + void (*reserved6) (SpitPublishingPublisher* self); + void (*reserved7) (SpitPublishingPublisher* self); +}; + + + +#define SPIT_PUBLISHING_CURRENT_INTERFACE 0 +GQuark spit_publishing_publishing_error_quark (void); +GType spit_pluggable_info_get_type (void) G_GNUC_CONST; +SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self); +void spit_pluggable_info_free (SpitPluggableInfo* self); +void spit_pluggable_info_copy (const SpitPluggableInfo* self, SpitPluggableInfo* dest); +void spit_pluggable_info_destroy (SpitPluggableInfo* self); +GType spit_pluggable_get_type (void) G_GNUC_CONST; +GType spit_host_interface_get_type (void) G_GNUC_CONST; +GType spit_publishing_dialog_pane_geometry_options_get_type (void) G_GNUC_CONST; +GType spit_publishing_dialog_pane_get_type (void) G_GNUC_CONST; +GType spit_publishing_plugin_host_button_mode_get_type (void) G_GNUC_CONST; +GType spit_publishing_publisher_media_type_get_type (void) G_GNUC_CONST; +GType spit_publishing_publishable_get_type (void) G_GNUC_CONST; +GType spit_publishing_plugin_host_get_type (void) G_GNUC_CONST; +GType spit_publishing_service_get_type (void) G_GNUC_CONST; +GType spit_publishing_publisher_get_type (void) G_GNUC_CONST; +SpitPublishingService* spit_publishing_publisher_get_service (SpitPublishingPublisher* self); +void spit_publishing_publisher_start (SpitPublishingPublisher* self); +gboolean spit_publishing_publisher_is_running (SpitPublishingPublisher* self); +void spit_publishing_publisher_stop (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved0 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved0 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved1 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved1 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved2 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved2 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved3 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved3 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved4 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved4 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved5 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved5 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved6 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved6 (SpitPublishingPublisher* self); +void spit_publishing_publisher_reserved7 (SpitPublishingPublisher* self); +static void spit_publishing_publisher_real_reserved7 (SpitPublishingPublisher* self); +GtkWidget* spit_publishing_dialog_pane_get_widget (SpitPublishingDialogPane* self); +SpitPublishingDialogPaneGeometryOptions spit_publishing_dialog_pane_get_preferred_geometry (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_on_pane_installed (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_on_pane_uninstalled (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved0 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved0 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved1 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved1 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved2 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved2 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved3 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved3 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved4 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved4 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved5 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved5 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved6 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved6 (SpitPublishingDialogPane* self); +void spit_publishing_dialog_pane_reserved7 (SpitPublishingDialogPane* self); +static void spit_publishing_dialog_pane_real_reserved7 (SpitPublishingDialogPane* self); +void spit_publishing_plugin_host_post_error (SpitPublishingPluginHost* self, GError* err); +void spit_publishing_plugin_host_stop_publishing (SpitPublishingPluginHost* self); +SpitPublishingPublisher* spit_publishing_plugin_host_get_publisher (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_install_dialog_pane (SpitPublishingPluginHost* self, SpitPublishingDialogPane* pane, SpitPublishingPluginHostButtonMode mode); +void spit_publishing_plugin_host_install_static_message_pane (SpitPublishingPluginHost* self, const gchar* message, SpitPublishingPluginHostButtonMode mode); +void spit_publishing_plugin_host_install_pango_message_pane (SpitPublishingPluginHost* self, const gchar* markup, SpitPublishingPluginHostButtonMode mode); +void spit_publishing_plugin_host_install_success_pane (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_install_account_fetch_wait_pane (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_install_login_wait_pane (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_install_welcome_pane (SpitPublishingPluginHost* self, const gchar* welcome_message, SpitPublishingLoginCallback on_login_clicked, void* on_login_clicked_target); +void spit_publishing_plugin_host_set_service_locked (SpitPublishingPluginHost* self, gboolean is_locked); +void spit_publishing_plugin_host_set_dialog_default_widget (SpitPublishingPluginHost* self, GtkWidget* widget); +SpitPublishingPublishable** spit_publishing_plugin_host_get_publishables (SpitPublishingPluginHost* self, int* result_length1); +SpitPublishingProgressCallback spit_publishing_plugin_host_serialize_publishables (SpitPublishingPluginHost* self, gint content_major_axis, gboolean strip_metadata, void** result_target, GDestroyNotify* result_target_destroy_notify); +SpitPublishingPublisherMediaType spit_publishing_plugin_host_get_publishable_media_type (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved0 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved0 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved1 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved1 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved2 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved2 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved3 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved3 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved4 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved4 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved5 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved5 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved6 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved6 (SpitPublishingPluginHost* self); +void spit_publishing_plugin_host_reserved7 (SpitPublishingPluginHost* self); +static void spit_publishing_plugin_host_real_reserved7 (SpitPublishingPluginHost* self); +GFile* spit_publishing_publishable_get_serialized_file (SpitPublishingPublishable* self); +gchar* spit_publishing_publishable_get_publishing_name (SpitPublishingPublishable* self); +gchar* spit_publishing_publishable_get_param_string (SpitPublishingPublishable* self, const gchar* name); +gchar** spit_publishing_publishable_get_publishing_keywords (SpitPublishingPublishable* self, int* result_length1); +SpitPublishingPublisherMediaType spit_publishing_publishable_get_media_type (SpitPublishingPublishable* self); +GDateTime* spit_publishing_publishable_get_exposure_date_time (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved0 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved0 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved1 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved1 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved2 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved2 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved3 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved3 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved4 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved4 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved5 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved5 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved6 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved6 (SpitPublishingPublishable* self); +void spit_publishing_publishable_reserved7 (SpitPublishingPublishable* self); +static void spit_publishing_publishable_real_reserved7 (SpitPublishingPublishable* self); +#define SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME "basename" +#define SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_TITLE "title" +#define SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_COMMENT "comment" +#define SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_EVENTCOMMENT "eventcomment" +SpitPublishingPublisher* spit_publishing_service_create_publisher (SpitPublishingService* self, SpitPublishingPluginHost* host); +SpitPublishingPublisherMediaType spit_publishing_service_get_supported_media (SpitPublishingService* self); +void spit_publishing_service_reserved0 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved0 (SpitPublishingService* self); +void spit_publishing_service_reserved1 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved1 (SpitPublishingService* self); +void spit_publishing_service_reserved2 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved2 (SpitPublishingService* self); +void spit_publishing_service_reserved3 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved3 (SpitPublishingService* self); +void spit_publishing_service_reserved4 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved4 (SpitPublishingService* self); +void spit_publishing_service_reserved5 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved5 (SpitPublishingService* self); +void spit_publishing_service_reserved6 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved6 (SpitPublishingService* self); +void spit_publishing_service_reserved7 (SpitPublishingService* self); +static void spit_publishing_service_real_reserved7 (SpitPublishingService* self); + + +GQuark spit_publishing_publishing_error_quark (void) { + return g_quark_from_static_string ("spit_publishing_publishing_error-quark"); +} + + +/** + * Describes the kinds of media a publishing service supports. + * + * Values can be masked together, for example: {{{(MediaType.PHOTO | MediaType.VIDEO)}}} + * indicates that a publishing service supports the upload of both photos and videos. + */ +GType spit_publishing_publisher_media_type_get_type (void) { + static volatile gsize spit_publishing_publisher_media_type_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_publisher_media_type_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE, "SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE", "none"}, {SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO, "SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO", "photo"}, {SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO, "SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO", "video"}, {0, NULL, NULL}}; + GType spit_publishing_publisher_media_type_type_id; + spit_publishing_publisher_media_type_type_id = g_enum_register_static ("SpitPublishingPublisherMediaType", values); + g_once_init_leave (&spit_publishing_publisher_media_type_type_id__volatile, spit_publishing_publisher_media_type_type_id); + } + return spit_publishing_publisher_media_type_type_id__volatile; +} + + +/** + * Returns a {@link Service} object describing the service to which this connects. + */ +SpitPublishingService* spit_publishing_publisher_get_service (SpitPublishingPublisher* self) { +#line 121 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self), NULL); +#line 121 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->get_service (self); +#line 432 "PublishingInterfaces.c" +} + + +/** + * Makes this publisher enter the running state and endows it with exclusive access + * to the shared services provided by the {@link PluginHost}. Through the host’s interface, + * this publisher can install user interface panes and query configuration information. + * Only running services should perform network operations. + */ +void spit_publishing_publisher_start (SpitPublishingPublisher* self) { +#line 129 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 129 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->start (self); +#line 447 "PublishingInterfaces.c" +} + + +/** + * Returns true if this publisher is in the running state; false otherwise. + */ +gboolean spit_publishing_publisher_is_running (SpitPublishingPublisher* self) { +#line 134 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self), FALSE); +#line 134 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->is_running (self); +#line 459 "PublishingInterfaces.c" +} + + +/** + * Causes this publisher to enter a non-running state. This publisher should stop all + * network operations and cease use of the shared services provided by the {@link PluginHost}. + */ +void spit_publishing_publisher_stop (SpitPublishingPublisher* self) { +#line 140 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 140 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->stop (self); +#line 472 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved0 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved0 (SpitPublishingPublisher* self) { +#line 145 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 145 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved0 (self); +#line 485 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved1 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved1 (SpitPublishingPublisher* self) { +#line 146 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 146 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved1 (self); +#line 498 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved2 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved2 (SpitPublishingPublisher* self) { +#line 147 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 147 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved2 (self); +#line 511 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved3 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved3 (SpitPublishingPublisher* self) { +#line 148 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 148 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved3 (self); +#line 524 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved4 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved4 (SpitPublishingPublisher* self) { +#line 149 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 149 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved4 (self); +#line 537 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved5 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved5 (SpitPublishingPublisher* self) { +#line 150 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 150 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved5 (self); +#line 550 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved6 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved6 (SpitPublishingPublisher* self) { +#line 151 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 151 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved6 (self); +#line 563 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_real_reserved7 (SpitPublishingPublisher* self) { +} + + +void spit_publishing_publisher_reserved7 (SpitPublishingPublisher* self) { +#line 152 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHER (self)); +#line 152 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHER_GET_INTERFACE (self)->reserved7 (self); +#line 576 "PublishingInterfaces.c" +} + + +static void spit_publishing_publisher_base_init (SpitPublishingPublisherIface * iface) { +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_publisher_real_reserved0; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_publisher_real_reserved1; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_publisher_real_reserved2; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_publisher_real_reserved3; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_publisher_real_reserved4; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_publisher_real_reserved5; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_publisher_real_reserved6; +#line 105 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_publisher_real_reserved7; +#line 603 "PublishingInterfaces.c" + } +} + + +/** + * Represents a connection to a publishing service. + * + * Developers of publishing plugins provide a class that implements this interface. At + * any given time, only one Publisher can be running. When a publisher is running, it is + * allowed to access the network and has exclusive use of the shared user-interface and + * configuration services provided by the {@link PluginHost}. Publishers are created in + * a non-running state and do not begin running until start( ) is invoked. Publishers + * run until stop( ) is invoked. + */ +GType spit_publishing_publisher_get_type (void) { + static volatile gsize spit_publishing_publisher_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_publisher_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingPublisherIface), (GBaseInitFunc) spit_publishing_publisher_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_publisher_type_id; + spit_publishing_publisher_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingPublisher", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_publisher_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_publishing_publisher_type_id__volatile, spit_publishing_publisher_type_id); + } + return spit_publishing_publisher_type_id__volatile; +} + + +/** + * Describes how the on-screen publishing dialog box should look and behave when an associated + * pane is installed in the on-screen publishing dialog box. + */ +GType spit_publishing_dialog_pane_geometry_options_get_type (void) { + static volatile gsize spit_publishing_dialog_pane_geometry_options_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_dialog_pane_geometry_options_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE, "SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE", "none"}, {SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE, "SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE", "extended-size"}, {SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE, "SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE", "resizable"}, {SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE, "SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE", "colossal-size"}, {0, NULL, NULL}}; + GType spit_publishing_dialog_pane_geometry_options_type_id; + spit_publishing_dialog_pane_geometry_options_type_id = g_enum_register_static ("SpitPublishingDialogPaneGeometryOptions", values); + g_once_init_leave (&spit_publishing_dialog_pane_geometry_options_type_id__volatile, spit_publishing_dialog_pane_geometry_options_type_id); + } + return spit_publishing_dialog_pane_geometry_options_type_id__volatile; +} + + +/** + * Returns the Gtk.Widget that is this pane's on-screen representation. + */ +GtkWidget* spit_publishing_dialog_pane_get_widget (SpitPublishingDialogPane* self) { +#line 197 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self), NULL); +#line 197 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->get_widget (self); +#line 655 "PublishingInterfaces.c" +} + + +/** + * Returns a {@link GeometryOptions} bitfield describing how the on-screen publishing dialog + * box should look and behave when this pane is installed. + */ +SpitPublishingDialogPaneGeometryOptions spit_publishing_dialog_pane_get_preferred_geometry (SpitPublishingDialogPane* self) { +#line 203 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self), 0); +#line 203 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->get_preferred_geometry (self); +#line 668 "PublishingInterfaces.c" +} + + +/** + * Invoked automatically by Shotwell when this pane has been installed into the on-screen + * publishing dialog box and become visible to the user. + */ +void spit_publishing_dialog_pane_on_pane_installed (SpitPublishingDialogPane* self) { +#line 209 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 209 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->on_pane_installed (self); +#line 681 "PublishingInterfaces.c" +} + + +/** + * Invoked automatically by Shotwell when this pane has been removed from the on-screen + * publishing dialog box and is no longer visible to the user. + */ +void spit_publishing_dialog_pane_on_pane_uninstalled (SpitPublishingDialogPane* self) { +#line 215 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 215 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->on_pane_uninstalled (self); +#line 694 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved0 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved0 (SpitPublishingDialogPane* self) { +#line 220 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 220 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved0 (self); +#line 707 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved1 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved1 (SpitPublishingDialogPane* self) { +#line 221 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 221 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved1 (self); +#line 720 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved2 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved2 (SpitPublishingDialogPane* self) { +#line 222 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 222 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved2 (self); +#line 733 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved3 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved3 (SpitPublishingDialogPane* self) { +#line 223 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 223 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved3 (self); +#line 746 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved4 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved4 (SpitPublishingDialogPane* self) { +#line 224 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 224 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved4 (self); +#line 759 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved5 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved5 (SpitPublishingDialogPane* self) { +#line 225 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 225 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved5 (self); +#line 772 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved6 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved6 (SpitPublishingDialogPane* self) { +#line 226 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 226 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved6 (self); +#line 785 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_real_reserved7 (SpitPublishingDialogPane* self) { +} + + +void spit_publishing_dialog_pane_reserved7 (SpitPublishingDialogPane* self) { +#line 227 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (self)); +#line 227 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_DIALOG_PANE_GET_INTERFACE (self)->reserved7 (self); +#line 798 "PublishingInterfaces.c" +} + + +static void spit_publishing_dialog_pane_base_init (SpitPublishingDialogPaneIface * iface) { +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_dialog_pane_real_reserved0; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_dialog_pane_real_reserved1; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_dialog_pane_real_reserved2; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_dialog_pane_real_reserved3; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_dialog_pane_real_reserved4; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_dialog_pane_real_reserved5; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_dialog_pane_real_reserved6; +#line 160 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_dialog_pane_real_reserved7; +#line 825 "PublishingInterfaces.c" + } +} + + +/** + * Encapsulates a pane that can be installed in the on-screen publishing dialog box to + * communicate status to and to get information from the user. + * + */ +GType spit_publishing_dialog_pane_get_type (void) { + static volatile gsize spit_publishing_dialog_pane_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_dialog_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingDialogPaneIface), (GBaseInitFunc) spit_publishing_dialog_pane_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_dialog_pane_type_id; + spit_publishing_dialog_pane_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingDialogPane", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_dialog_pane_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_publishing_dialog_pane_type_id__volatile, spit_publishing_dialog_pane_type_id); + } + return spit_publishing_dialog_pane_type_id__volatile; +} + + +/** + * Specifies the label text on the push button control that appears in the + * lower-right-hand corner of the on-screen publishing dialog box. + */ +GType spit_publishing_plugin_host_button_mode_get_type (void) { + static volatile gsize spit_publishing_plugin_host_button_mode_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_plugin_host_button_mode_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE, "SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE", "close"}, {SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL, "SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL", "cancel"}, {0, NULL, NULL}}; + GType spit_publishing_plugin_host_button_mode_type_id; + spit_publishing_plugin_host_button_mode_type_id = g_enum_register_static ("SpitPublishingPluginHostButtonMode", values); + g_once_init_leave (&spit_publishing_plugin_host_button_mode_type_id__volatile, spit_publishing_plugin_host_button_mode_type_id); + } + return spit_publishing_plugin_host_button_mode_type_id__volatile; +} + + +/** + * Notifies the user that an unrecoverable publishing error has occurred and halts + * the publishing process. + * + * @param err An error object that describes the kind of error that occurred. + */ +void spit_publishing_plugin_host_post_error (SpitPublishingPluginHost* self, GError* err) { +#line 277 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 277 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->post_error (self, err); +#line 875 "PublishingInterfaces.c" +} + + +/** + * Halts the publishing process. + * + * Calling this method stops all network activity and hides the on-screen publishing + * dialog box. + */ +void spit_publishing_plugin_host_stop_publishing (SpitPublishingPluginHost* self) { +#line 285 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 285 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->stop_publishing (self); +#line 890 "PublishingInterfaces.c" +} + + +/** + * Returns a reference to the {@link Publisher} object that this is currently hosting. + */ +SpitPublishingPublisher* spit_publishing_plugin_host_get_publisher (SpitPublishingPluginHost* self) { +#line 290 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self), NULL); +#line 290 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->get_publisher (self); +#line 902 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen publishing dialog box, making the pane visible + * and allowing it to interact with the user. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param pane the pane to install + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen publishing dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your publisher is in the + * middle of uploading 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the publishing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable publishing actions have already + * occurred. + */ +void spit_publishing_plugin_host_install_dialog_pane (SpitPublishingPluginHost* self, SpitPublishingDialogPane* pane, SpitPublishingPluginHostButtonMode mode) { +#line 310 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 310 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_dialog_pane (self, pane, mode); +#line 929 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen publishing dialog box that contains + * static text. + * + * The text appears centered in the publishing dialog box and is drawn in + * the system font. This is a convenience method only; similar results could be + * achieved by manually constructing a Gtk.Label widget, wrapping it inside a + * {@link DialogPane}, and installing it manually with a call to + * install_dialog_pane( ). To provide visual consistency across publishing services, + * however, always use this convenience method instead of constructing label panes when + * you need to display static text to the user. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param message the text to show in the pane + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen publishing dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your publisher is in the + * middle of uploading 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the publishing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable publishing actions have already + * occurred. + */ +void spit_publishing_plugin_host_install_static_message_pane (SpitPublishingPluginHost* self, const gchar* message, SpitPublishingPluginHostButtonMode mode) { +#line 339 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 339 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_static_message_pane (self, message, mode); +#line 964 "PublishingInterfaces.c" +} + + +/** + * Works just like {@link install_static_message_pane} but allows markup to contain + * Pango text formatting tags as well as unstyled text. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param markup the text to show in the pane, marked up with Pango formatting tags. + * + * @param mode allows you to set the text displayed on the close/cancel button in the + * lower-right-hand corner of the on-screen publishing dialog box when pane is installed. + * If mode is ButtonMode.CLOSE, the button will have the title "Close." If mode is + * ButtonMode.CANCEL, the button will be titled "Cancel." You should set mode depending on + * whether a cancellable action is in progress. For example, if your publisher is in the + * middle of uploading 3 of 8 videos, then mode should be ButtonMode.CANCEL. However, if + * the publishing operation has completed and the success pane is displayed, then mode + * should be ButtonMode.CLOSE, because all cancellable publishing actions have already + * occurred. + */ +void spit_publishing_plugin_host_install_pango_message_pane (SpitPublishingPluginHost* self, const gchar* markup, SpitPublishingPluginHostButtonMode mode) { +#line 360 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 360 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_pango_message_pane (self, markup, mode); +#line 991 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane in the on-screen publishing dialog box notifying the user + * that his or her publishing operation completed successfully. + * + * The text displayed depends on the type of media the current publishing service + * supports. To provide visual consistency across publishing services and to allow + * Shotwell to handle internationalization, always use this convenience method; don’t + * contruct and install success panes manually. + * + * If an error has posted, the {@link PluginHost} will not honor + * this request. + */ +void spit_publishing_plugin_host_install_success_pane (SpitPublishingPluginHost* self) { +#line 375 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 375 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_success_pane (self); +#line 1012 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane displaying the static text “Fetching account information...” + * in the on-screen publishing dialog box, making it visible to the user. + * + * This is a convenience method only; similar results could be achieved by calling + * {@link install_static_message_pane} with an appropriate text argument. To provide + * visual consistency across publishing services and to allow Shotwell to handle + * internationalization, however, you should always use this convenience method whenever + * you need to tell the user that you’re querying account information over the network. + * Queries such as this are almost always performed immediately after the user has logged + * in to the remote service. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + */ +void spit_publishing_plugin_host_install_account_fetch_wait_pane (SpitPublishingPluginHost* self) { +#line 391 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 391 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_account_fetch_wait_pane (self); +#line 1035 "PublishingInterfaces.c" +} + + +/** + * Works just like {@link install_account_fetch_wait_pane} but displays the static text + * “Logging in...“ + * + * As with {@link install_account_fetch_wait_pane}, this is a convenience method, but + * you should you use it provide to visual consistency and to let Shotwell handle + * internationalization. See the description of {@link install_account_fetch_wait_pane} + * for more information. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + */ +void spit_publishing_plugin_host_install_login_wait_pane (SpitPublishingPluginHost* self) { +#line 405 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 405 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_login_wait_pane (self); +#line 1055 "PublishingInterfaces.c" +} + + +/** + * Attempts to install a pane displaying the text 'welcome_message' above a push + * button labeled “Login” in the on-screen publishing dialog box, making it visible to the + * user. + * + * When the user clicks the “Login” button, you’ll be notified of the user’s action through + * the callback 'on_login_clicked'. Every Publisher should provide a welcome pane to + * introduce the service and explain service-specific features or restrictions. To provide + * visual consistency across publishing services and to allow Shotwell to handle + * internationalization, always use this convenience method; don’t contruct and install + * welcome panes manually. + * + * If an error has posted, the {@link PluginHost} will not honor this request. + * + * @param welcome_message the text to be displayed above a push button labeled “Login” + * in the on-screen publishing dialog box. + * + * @param on_login_clicked specifies the callback that is invoked when the user clicks + * the “Login” button. + */ +void spit_publishing_plugin_host_install_welcome_pane (SpitPublishingPluginHost* self, const gchar* welcome_message, SpitPublishingLoginCallback on_login_clicked, void* on_login_clicked_target) { +#line 427 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 427 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->install_welcome_pane (self, welcome_message, on_login_clicked, on_login_clicked_target); +#line 1084 "PublishingInterfaces.c" +} + + +/** + * Toggles whether the service selector combo box in the upper-right-hand corner of the + * on-screen publishing dialog box is sensitive to input. + * + * Publishers should make the service selector box insensitive to input when they are performing + * non-interruptible file or network operations, since switching to another publishing + * service will halt whatever service is currently running. Under certain circumstances, + * the {@link PluginHost} may not honor this request. + * + * @param is_locked when is_locked is true, the service selector combo box is made insensitive. + * It appears greyed out and the user is prevented from switching to another publishing service. + * When is_locked is false, the combo box is sensitive, allowing the user to freely switch + * from the current service to another service. + */ +void spit_publishing_plugin_host_set_service_locked (SpitPublishingPluginHost* self, gboolean is_locked) { +#line 444 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 444 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->set_service_locked (self, is_locked); +#line 1107 "PublishingInterfaces.c" +} + + +/** + * Makes the designated widget the default widget for the publishing dialog. + * + * After a call to this method, the designated widget will be activated whenever the user + * presses the [ENTER] key anywhere in the on-screen publishing dialog box. Under certain + * circumstances, the {@link PluginHost} may not honor this request. + * + * @param widget a reference to the widget to designate as the default widget for the + * publishing dialog. + */ +void spit_publishing_plugin_host_set_dialog_default_widget (SpitPublishingPluginHost* self, GtkWidget* widget) { +#line 456 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 456 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->set_dialog_default_widget (self, widget); +#line 1126 "PublishingInterfaces.c" +} + + +/** + * Returns an array of the publishable media items that the user has selected for upload to the + * remote service. + */ +SpitPublishingPublishable** spit_publishing_plugin_host_get_publishables (SpitPublishingPluginHost* self, int* result_length1) { +#line 462 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self), NULL); +#line 462 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->get_publishables (self, result_length1); +#line 1139 "PublishingInterfaces.c" +} + + +/** + * Writes all of the publishable media items that the user has selected for upload to the + * remote service to a temporary directory on a local disk. + * + * You should call this method immediately before sending the publishable media items to the + * remote service over the network. Because serializing several megabytes of data is a + * potentially lengthy operation, calling this method installs an activity status pane in + * the on-screen publishing dialog box. The activity status pane displays a progress bar along + * with a string of informational text. + * + * Because sending items over the network to the remote service is also a potentially lengthy + * operation, you should leave the activity status pane installed in the on-screen publishing + * dialog box until this task is finished. Periodically during the sending process, you should + * report to the user on the progress of his or her upload. You can do this by invoking the + * returned {@link ProgressCallback} delegate. + * + * After calling this method, the activity status pane that this method installs remains + * displayed in the on-screen publishing dialog box until you install a new pane. + * + * @param content_major_axis when serializing publishable media items that are photos, + * ensure that neither the width nor the height of the serialized + * photo is greater than content_major_axis pixels. The value of + * this parameter has no effect on video publishables. + * + * @param strip_metadata when serializing publishable media items that are photos, if + * strip_metadata is true, all EXIF, IPTC, and XMP metadata will be + * removed from the serialized file. If strip_metadata is false, all + * metadata will be left intact. The value of this parameter has no + * effect on video publishables. + */ +SpitPublishingProgressCallback spit_publishing_plugin_host_serialize_publishables (SpitPublishingPluginHost* self, gint content_major_axis, gboolean strip_metadata, void** result_target, GDestroyNotify* result_target_destroy_notify) { +#line 494 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self), NULL); +#line 494 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->serialize_publishables (self, content_major_axis, strip_metadata, result_target, result_target_destroy_notify); +#line 1178 "PublishingInterfaces.c" +} + + +/** + * Returns a {@link Publisher.MediaType} bitfield describing which kinds of media are present + * in the set of publishable media items that the user has selected for upload to the remote + * service. + */ +SpitPublishingPublisherMediaType spit_publishing_plugin_host_get_publishable_media_type (SpitPublishingPluginHost* self) { +#line 502 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self), 0); +#line 502 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->get_publishable_media_type (self); +#line 1192 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved0 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved0 (SpitPublishingPluginHost* self) { +#line 507 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 507 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved0 (self); +#line 1205 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved1 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved1 (SpitPublishingPluginHost* self) { +#line 508 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 508 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved1 (self); +#line 1218 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved2 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved2 (SpitPublishingPluginHost* self) { +#line 509 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 509 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved2 (self); +#line 1231 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved3 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved3 (SpitPublishingPluginHost* self) { +#line 510 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 510 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved3 (self); +#line 1244 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved4 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved4 (SpitPublishingPluginHost* self) { +#line 511 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 511 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved4 (self); +#line 1257 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved5 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved5 (SpitPublishingPluginHost* self) { +#line 512 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 512 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved5 (self); +#line 1270 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved6 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved6 (SpitPublishingPluginHost* self) { +#line 513 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 513 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved6 (self); +#line 1283 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_real_reserved7 (SpitPublishingPluginHost* self) { +} + + +void spit_publishing_plugin_host_reserved7 (SpitPublishingPluginHost* self) { +#line 514 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PLUGIN_HOST (self)); +#line 514 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PLUGIN_HOST_GET_INTERFACE (self)->reserved7 (self); +#line 1296 "PublishingInterfaces.c" +} + + +static void spit_publishing_plugin_host_base_init (SpitPublishingPluginHostIface * iface) { +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_plugin_host_real_reserved0; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_plugin_host_real_reserved1; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_plugin_host_real_reserved2; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_plugin_host_real_reserved3; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_plugin_host_real_reserved4; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_plugin_host_real_reserved5; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_plugin_host_real_reserved6; +#line 260 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_plugin_host_real_reserved7; +#line 1323 "PublishingInterfaces.c" + } +} + + +/** + * Manages and provides services for publishing plugins. + * + * Implemented inside Shotwell, the PluginHost provides an interface through which the + * developers of publishing plugins can query and make changes to the publishing + * environment. For example, through the PluginHost, plugins can get a list of the photos + * and videos to be published, install and remove user-interface panes in the publishing + * dialog box, and request that the items to be uploaded be serialized to a temporary + * directory on disk. Plugins can use the services of the PluginHost only when their + * {@link Publisher} is in the running state. This ensures that non-running publishers + * don’t destructively interfere with the actively running publisher. + */ +GType spit_publishing_plugin_host_get_type (void) { + static volatile gsize spit_publishing_plugin_host_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_plugin_host_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingPluginHostIface), (GBaseInitFunc) spit_publishing_plugin_host_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_plugin_host_type_id; + spit_publishing_plugin_host_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingPluginHost", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_plugin_host_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_publishing_plugin_host_type_id, SPIT_TYPE_HOST_INTERFACE); + g_once_init_leave (&spit_publishing_plugin_host_type_id__volatile, spit_publishing_plugin_host_type_id); + } + return spit_publishing_plugin_host_type_id__volatile; +} + + +/** + * Returns a handle to the file on disk to which this publishable's data has been + * serialized. + * + * You should use this file handle to read into memory the binary data you will send over + * the network to the remote publishing service when this publishable is uploaded. + */ +GFile* spit_publishing_publishable_get_serialized_file (SpitPublishingPublishable* self) { +#line 535 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 535 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_serialized_file (self); +#line 1366 "PublishingInterfaces.c" +} + + +/** + * Returns a name that can be used to identify this publishable to the remote service. + * If the publishing host cannot derive a sensible name, this method will + * return an empty string. Plugins should be able to handle that situation + * and provide a fallback value. One possible option for a fallback is: + * get_param_string(Spit.Publishing.Publishable.PARAM_STRING_BASENAME) + */ +gchar* spit_publishing_publishable_get_publishing_name (SpitPublishingPublishable* self) { +#line 544 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 544 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_publishing_name (self); +#line 1382 "PublishingInterfaces.c" +} + + +/** + * Returns a string value from the publishable corresponding with the parameter name + * provided, or null if there is no value for this name. + */ +gchar* spit_publishing_publishable_get_param_string (SpitPublishingPublishable* self, const gchar* name) { +#line 550 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 550 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_param_string (self, name); +#line 1395 "PublishingInterfaces.c" +} + + +/** + * Returns an array of strings that should be used to tag or mark this publishable on the + * remote service, or null if this publishable has no tags or markings. + */ +gchar** spit_publishing_publishable_get_publishing_keywords (SpitPublishingPublishable* self, int* result_length1) { +#line 556 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 556 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_publishing_keywords (self, result_length1); +#line 1408 "PublishingInterfaces.c" +} + + +/** + * Returns the kind of media item this publishable encapsulates. + */ +SpitPublishingPublisherMediaType spit_publishing_publishable_get_media_type (SpitPublishingPublishable* self) { +#line 561 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), 0); +#line 561 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_media_type (self); +#line 1420 "PublishingInterfaces.c" +} + + +/** + * Returns the creation timestamp on the file. + */ +GDateTime* spit_publishing_publishable_get_exposure_date_time (SpitPublishingPublishable* self) { +#line 566 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self), NULL); +#line 566 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->get_exposure_date_time (self); +#line 1432 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved0 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved0 (SpitPublishingPublishable* self) { +#line 571 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 571 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved0 (self); +#line 1445 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved1 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved1 (SpitPublishingPublishable* self) { +#line 572 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 572 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved1 (self); +#line 1458 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved2 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved2 (SpitPublishingPublishable* self) { +#line 573 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 573 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved2 (self); +#line 1471 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved3 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved3 (SpitPublishingPublishable* self) { +#line 574 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 574 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved3 (self); +#line 1484 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved4 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved4 (SpitPublishingPublishable* self) { +#line 575 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 575 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved4 (self); +#line 1497 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved5 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved5 (SpitPublishingPublishable* self) { +#line 576 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 576 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved5 (self); +#line 1510 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved6 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved6 (SpitPublishingPublishable* self) { +#line 577 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 577 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved6 (self); +#line 1523 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_real_reserved7 (SpitPublishingPublishable* self) { +} + + +void spit_publishing_publishable_reserved7 (SpitPublishingPublishable* self) { +#line 578 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_PUBLISHABLE (self)); +#line 578 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_PUBLISHABLE_GET_INTERFACE (self)->reserved7 (self); +#line 1536 "PublishingInterfaces.c" +} + + +static void spit_publishing_publishable_base_init (SpitPublishingPublishableIface * iface) { +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_publishable_real_reserved0; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_publishable_real_reserved1; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_publishable_real_reserved2; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_publishable_real_reserved3; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_publishable_real_reserved4; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_publishable_real_reserved5; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_publishable_real_reserved6; +#line 521 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_publishable_real_reserved7; +#line 1563 "PublishingInterfaces.c" + } +} + + +/** + * Describes an underlying media item (such as a photo or a video) that your plugin + * uploads to a remote publishing service. + */ +GType spit_publishing_publishable_get_type (void) { + static volatile gsize spit_publishing_publishable_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_publishable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingPublishableIface), (GBaseInitFunc) spit_publishing_publishable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_publishable_type_id; + spit_publishing_publishable_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingPublishable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_publishable_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_publishing_publishable_type_id__volatile, spit_publishing_publishable_type_id); + } + return spit_publishing_publishable_type_id__volatile; +} + + +/** + * A factory method that instantiates and returns a new {@link Publisher} object that + * encapsulates a connection to the remote publishing service that this Service describes. + */ +SpitPublishingPublisher* spit_publishing_service_create_publisher (SpitPublishingService* self, SpitPublishingPluginHost* host) { +#line 591 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (self), NULL); +#line 591 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->create_publisher (self, host); +#line 1594 "PublishingInterfaces.c" +} + + +/** + * Returns the kinds of media that this service can work with. + */ +SpitPublishingPublisherMediaType spit_publishing_service_get_supported_media (SpitPublishingService* self) { +#line 596 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (self), 0); +#line 596 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + return SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->get_supported_media (self); +#line 1606 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved0 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved0 (SpitPublishingService* self) { +#line 601 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 601 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved0 (self); +#line 1619 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved1 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved1 (SpitPublishingService* self) { +#line 602 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 602 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved1 (self); +#line 1632 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved2 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved2 (SpitPublishingService* self) { +#line 603 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 603 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved2 (self); +#line 1645 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved3 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved3 (SpitPublishingService* self) { +#line 604 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 604 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved3 (self); +#line 1658 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved4 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved4 (SpitPublishingService* self) { +#line 605 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 605 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved4 (self); +#line 1671 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved5 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved5 (SpitPublishingService* self) { +#line 606 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 606 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved5 (self); +#line 1684 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved6 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved6 (SpitPublishingService* self) { +#line 607 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 607 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved6 (self); +#line 1697 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_real_reserved7 (SpitPublishingService* self) { +} + + +void spit_publishing_service_reserved7 (SpitPublishingService* self) { +#line 608 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_SERVICE (self)); +#line 608 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + SPIT_PUBLISHING_SERVICE_GET_INTERFACE (self)->reserved7 (self); +#line 1710 "PublishingInterfaces.c" +} + + +static void spit_publishing_service_base_init (SpitPublishingServiceIface * iface) { +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + static gboolean initialized = FALSE; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + if (!initialized) { +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + initialized = TRUE; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved0 = spit_publishing_service_real_reserved0; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved1 = spit_publishing_service_real_reserved1; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved2 = spit_publishing_service_real_reserved2; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved3 = spit_publishing_service_real_reserved3; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved4 = spit_publishing_service_real_reserved4; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved5 = spit_publishing_service_real_reserved5; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved6 = spit_publishing_service_real_reserved6; +#line 586 "/home/jens/Source/shotwell/src/plugins/PublishingInterfaces.vala" + iface->reserved7 = spit_publishing_service_real_reserved7; +#line 1737 "PublishingInterfaces.c" + } +} + + +/** + * Describes the features and capabilities of a remote publishing service. + * + * Developers of publishing plugins provide a class that implements this interface. + */ +GType spit_publishing_service_get_type (void) { + static volatile gsize spit_publishing_service_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_service_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingServiceIface), (GBaseInitFunc) spit_publishing_service_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_publishing_service_type_id; + spit_publishing_service_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPublishingService", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_publishing_service_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_publishing_service_type_id, SPIT_TYPE_PLUGGABLE); + g_once_init_leave (&spit_publishing_service_type_id__volatile, spit_publishing_service_type_id); + } + return spit_publishing_service_type_id__volatile; +} + + + diff --git a/src/plugins/PublishingInterfaces.vala b/src/plugins/PublishingInterfaces.vala index 6f06cba..7a8ac40 100644 --- a/src/plugins/PublishingInterfaces.vala +++ b/src/plugins/PublishingInterfaces.vala @@ -82,7 +82,14 @@ public errordomain PublishingError { * Indicates that the remote host has rejected the session identifier used by the local * client as out-of-date. The local client should acquire a new session identifier. */ - EXPIRED_SESSION + EXPIRED_SESSION, + + /** + * Indicates that a secure connection to the remote host cannot be + * established. This might have various reasons such as expired + * certificats, invalid certificates, self-signed certificates... + */ + SSL_FAILED } /** @@ -513,10 +520,10 @@ public interface PluginHost : GLib.Object, Spit.HostInterface { */ public interface Publishable : GLib.Object { - public static const string PARAM_STRING_BASENAME = "basename"; - public static const string PARAM_STRING_TITLE = "title"; - public static const string PARAM_STRING_COMMENT = "comment"; - public static const string PARAM_STRING_EVENTCOMMENT= "eventcomment"; + public const string PARAM_STRING_BASENAME = "basename"; + public const string PARAM_STRING_TITLE = "title"; + public const string PARAM_STRING_COMMENT = "comment"; + public const string PARAM_STRING_EVENTCOMMENT= "eventcomment"; /** * Returns a handle to the file on disk to which this publishable's data has been diff --git a/src/plugins/SpitInterfaces.c b/src/plugins/SpitInterfaces.c new file mode 100644 index 0000000..9357a68 --- /dev/null +++ b/src/plugins/SpitInterfaces.c @@ -0,0 +1,1324 @@ +/* SpitInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from SpitInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SPIT_TYPE_ENTRY_POINT_PARAMS (spit_entry_point_params_get_type ()) +typedef struct _SpitEntryPointParams SpitEntryPointParams; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define SPIT_TYPE_MODULE (spit_module_get_type ()) +#define SPIT_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_MODULE, SpitModule)) +#define SPIT_IS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_MODULE)) +#define SPIT_MODULE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_MODULE, SpitModuleIface)) + +typedef struct _SpitModule SpitModule; +typedef struct _SpitModuleIface SpitModuleIface; + +#define SPIT_TYPE_PLUGGABLE (spit_pluggable_get_type ()) +#define SPIT_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggable)) +#define SPIT_IS_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_PLUGGABLE)) +#define SPIT_PLUGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggableIface)) + +typedef struct _SpitPluggable SpitPluggable; +typedef struct _SpitPluggableIface SpitPluggableIface; + +#define SPIT_TYPE_PLUGGABLE_INFO (spit_pluggable_info_get_type ()) +typedef struct _SpitPluggableInfo SpitPluggableInfo; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define SPIT_TYPE_HOST_INTERFACE (spit_host_interface_get_type ()) +#define SPIT_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterface)) +#define SPIT_IS_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_HOST_INTERFACE)) +#define SPIT_HOST_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterfaceIface)) + +typedef struct _SpitHostInterface SpitHostInterface; +typedef struct _SpitHostInterfaceIface SpitHostInterfaceIface; + +struct _SpitEntryPointParams { + gint host_min_spit_interface; + gint host_max_spit_interface; + gint module_spit_interface; + GFile* module_file; +}; + +struct _SpitPluggableInfo { + gchar* version; + gchar* brief_description; + gchar* authors; + gchar* copyright; + gchar* license; + gboolean is_license_wordwrapped; + gchar* website_url; + gchar* website_name; + gchar* translators; + GdkPixbuf** icons; + gint icons_length1; +}; + +struct _SpitPluggableIface { + GTypeInterface parent_iface; + gint (*get_pluggable_interface) (SpitPluggable* self, gint min_host_interface, gint max_host_interface); + const gchar* (*get_id) (SpitPluggable* self); + const gchar* (*get_pluggable_name) (SpitPluggable* self); + void (*get_info) (SpitPluggable* self, SpitPluggableInfo* info); + void (*activation) (SpitPluggable* self, gboolean enabled); + void (*reserved0) (SpitPluggable* self); + void (*reserved1) (SpitPluggable* self); + void (*reserved2) (SpitPluggable* self); + void (*reserved3) (SpitPluggable* self); + void (*reserved4) (SpitPluggable* self); + void (*reserved5) (SpitPluggable* self); + void (*reserved6) (SpitPluggable* self); + void (*reserved7) (SpitPluggable* self); +}; + +struct _SpitModuleIface { + GTypeInterface parent_iface; + const gchar* (*get_module_name) (SpitModule* self); + const gchar* (*get_version) (SpitModule* self); + const gchar* (*get_id) (SpitModule* self); + SpitPluggable** (*get_pluggables) (SpitModule* self, int* result_length1); + void (*reserved0) (SpitModule* self); + void (*reserved1) (SpitModule* self); + void (*reserved2) (SpitModule* self); + void (*reserved3) (SpitModule* self); + void (*reserved4) (SpitModule* self); + void (*reserved5) (SpitModule* self); + void (*reserved6) (SpitModule* self); + void (*reserved7) (SpitModule* self); +}; + +typedef SpitModule* (*SpitEntryPoint) (SpitEntryPointParams* params); +struct _SpitHostInterfaceIface { + GTypeInterface parent_iface; + GFile* (*get_module_file) (SpitHostInterface* self); + gboolean (*get_config_bool) (SpitHostInterface* self, const gchar* key, gboolean def); + void (*set_config_bool) (SpitHostInterface* self, const gchar* key, gboolean val); + gint (*get_config_int) (SpitHostInterface* self, const gchar* key, gint def); + void (*set_config_int) (SpitHostInterface* self, const gchar* key, gint val); + gchar* (*get_config_string) (SpitHostInterface* self, const gchar* key, const gchar* def); + void (*set_config_string) (SpitHostInterface* self, const gchar* key, const gchar* val); + gdouble (*get_config_double) (SpitHostInterface* self, const gchar* key, gdouble def); + void (*set_config_double) (SpitHostInterface* self, const gchar* key, gdouble val); + void (*unset_config_key) (SpitHostInterface* self, const gchar* key); + void (*reserved0) (SpitHostInterface* self); + void (*reserved1) (SpitHostInterface* self); + void (*reserved2) (SpitHostInterface* self); + void (*reserved3) (SpitHostInterface* self); + void (*reserved4) (SpitHostInterface* self); + void (*reserved5) (SpitHostInterface* self); + void (*reserved6) (SpitHostInterface* self); + void (*reserved7) (SpitHostInterface* self); +}; + + + +#define SPIT_UNSUPPORTED_INTERFACE -1 +#define SPIT_CURRENT_INTERFACE 0 +gint spit_negotiate_interfaces (gint min_host_interface, gint max_host_interface, gint plugin_interface); +GType spit_entry_point_params_get_type (void) G_GNUC_CONST; +SpitEntryPointParams* spit_entry_point_params_dup (const SpitEntryPointParams* self); +void spit_entry_point_params_free (SpitEntryPointParams* self); +void spit_entry_point_params_copy (const SpitEntryPointParams* self, SpitEntryPointParams* dest); +void spit_entry_point_params_destroy (SpitEntryPointParams* self); +GType spit_pluggable_info_get_type (void) G_GNUC_CONST; +SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self); +void spit_pluggable_info_free (SpitPluggableInfo* self); +void spit_pluggable_info_copy (const SpitPluggableInfo* self, SpitPluggableInfo* dest); +void spit_pluggable_info_destroy (SpitPluggableInfo* self); +GType spit_pluggable_get_type (void) G_GNUC_CONST; +GType spit_module_get_type (void) G_GNUC_CONST; +#define SPIT_ENTRY_POINT_NAME "spit_entry_point" +const gchar* spit_module_get_module_name (SpitModule* self); +const gchar* spit_module_get_version (SpitModule* self); +const gchar* spit_module_get_id (SpitModule* self); +SpitPluggable** spit_module_get_pluggables (SpitModule* self, int* result_length1); +void spit_module_reserved0 (SpitModule* self); +static void spit_module_real_reserved0 (SpitModule* self); +void spit_module_reserved1 (SpitModule* self); +static void spit_module_real_reserved1 (SpitModule* self); +void spit_module_reserved2 (SpitModule* self); +static void spit_module_real_reserved2 (SpitModule* self); +void spit_module_reserved3 (SpitModule* self); +static void spit_module_real_reserved3 (SpitModule* self); +void spit_module_reserved4 (SpitModule* self); +static void spit_module_real_reserved4 (SpitModule* self); +void spit_module_reserved5 (SpitModule* self); +static void spit_module_real_reserved5 (SpitModule* self); +void spit_module_reserved6 (SpitModule* self); +static void spit_module_real_reserved6 (SpitModule* self); +void spit_module_reserved7 (SpitModule* self); +static void spit_module_real_reserved7 (SpitModule* self); +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length); +gint spit_pluggable_get_pluggable_interface (SpitPluggable* self, gint min_host_interface, gint max_host_interface); +const gchar* spit_pluggable_get_id (SpitPluggable* self); +const gchar* spit_pluggable_get_pluggable_name (SpitPluggable* self); +void spit_pluggable_get_info (SpitPluggable* self, SpitPluggableInfo* info); +void spit_pluggable_activation (SpitPluggable* self, gboolean enabled); +void spit_pluggable_reserved0 (SpitPluggable* self); +static void spit_pluggable_real_reserved0 (SpitPluggable* self); +void spit_pluggable_reserved1 (SpitPluggable* self); +static void spit_pluggable_real_reserved1 (SpitPluggable* self); +void spit_pluggable_reserved2 (SpitPluggable* self); +static void spit_pluggable_real_reserved2 (SpitPluggable* self); +void spit_pluggable_reserved3 (SpitPluggable* self); +static void spit_pluggable_real_reserved3 (SpitPluggable* self); +void spit_pluggable_reserved4 (SpitPluggable* self); +static void spit_pluggable_real_reserved4 (SpitPluggable* self); +void spit_pluggable_reserved5 (SpitPluggable* self); +static void spit_pluggable_real_reserved5 (SpitPluggable* self); +void spit_pluggable_reserved6 (SpitPluggable* self); +static void spit_pluggable_real_reserved6 (SpitPluggable* self); +void spit_pluggable_reserved7 (SpitPluggable* self); +static void spit_pluggable_real_reserved7 (SpitPluggable* self); +GType spit_host_interface_get_type (void) G_GNUC_CONST; +GFile* spit_host_interface_get_module_file (SpitHostInterface* self); +gboolean spit_host_interface_get_config_bool (SpitHostInterface* self, const gchar* key, gboolean def); +void spit_host_interface_set_config_bool (SpitHostInterface* self, const gchar* key, gboolean val); +gint spit_host_interface_get_config_int (SpitHostInterface* self, const gchar* key, gint def); +void spit_host_interface_set_config_int (SpitHostInterface* self, const gchar* key, gint val); +gchar* spit_host_interface_get_config_string (SpitHostInterface* self, const gchar* key, const gchar* def); +void spit_host_interface_set_config_string (SpitHostInterface* self, const gchar* key, const gchar* val); +gdouble spit_host_interface_get_config_double (SpitHostInterface* self, const gchar* key, gdouble def); +void spit_host_interface_set_config_double (SpitHostInterface* self, const gchar* key, gdouble val); +void spit_host_interface_unset_config_key (SpitHostInterface* self, const gchar* key); +void spit_host_interface_reserved0 (SpitHostInterface* self); +static void spit_host_interface_real_reserved0 (SpitHostInterface* self); +void spit_host_interface_reserved1 (SpitHostInterface* self); +static void spit_host_interface_real_reserved1 (SpitHostInterface* self); +void spit_host_interface_reserved2 (SpitHostInterface* self); +static void spit_host_interface_real_reserved2 (SpitHostInterface* self); +void spit_host_interface_reserved3 (SpitHostInterface* self); +static void spit_host_interface_real_reserved3 (SpitHostInterface* self); +void spit_host_interface_reserved4 (SpitHostInterface* self); +static void spit_host_interface_real_reserved4 (SpitHostInterface* self); +void spit_host_interface_reserved5 (SpitHostInterface* self); +static void spit_host_interface_real_reserved5 (SpitHostInterface* self); +void spit_host_interface_reserved6 (SpitHostInterface* self); +static void spit_host_interface_real_reserved6 (SpitHostInterface* self); +void spit_host_interface_reserved7 (SpitHostInterface* self); +static void spit_host_interface_real_reserved7 (SpitHostInterface* self); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +/** + * A utility function for checking host interfaces against one's own and returning the right value. + * + * Note that this only works if the caller operates on only one interface version (and cannot mutate + * between multiple ones). + * + * @param min_host_interface The minimum supported host interface version. + * @param max_host_interface The maximum supported host interface version. + * @param plugin_interface The interface version supported by the Pluggable. + * + * @return The plugin's interface version if supported, {@link UNSUPPORTED_INTERFACE} otherwise. + */ +gint spit_negotiate_interfaces (gint min_host_interface, gint max_host_interface, gint plugin_interface) { + gint result = 0; + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp2_ = min_host_interface; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp3_ = plugin_interface; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (_tmp2_ > _tmp3_) { +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp1_ = TRUE; +#line 247 "SpitInterfaces.c" + } else { + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp4_ = max_host_interface; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp5_ = plugin_interface; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp1_ = _tmp4_ < _tmp5_; +#line 257 "SpitInterfaces.c" + } +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (_tmp1_) { +#line 48 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = SPIT_UNSUPPORTED_INTERFACE; +#line 263 "SpitInterfaces.c" + } else { + gint _tmp6_ = 0; +#line 48 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp6_ = plugin_interface; +#line 48 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = _tmp6_; +#line 270 "SpitInterfaces.c" + } +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + result = _tmp0_; +#line 47 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return result; +#line 276 "SpitInterfaces.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return self ? g_object_ref (self) : NULL; +#line 283 "SpitInterfaces.c" +} + + +void spit_entry_point_params_copy (const SpitEntryPointParams* self, SpitEntryPointParams* dest) { + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = (*self).host_min_spit_interface; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).host_min_spit_interface = _tmp0_; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp1_ = (*self).host_max_spit_interface; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).host_max_spit_interface = _tmp1_; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp2_ = (*self).module_spit_interface; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).module_spit_interface = _tmp2_; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp3_ = (*self).module_file; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_object_unref0 ((*dest).module_file); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).module_file = _tmp4_; +#line 313 "SpitInterfaces.c" +} + + +void spit_entry_point_params_destroy (SpitEntryPointParams* self) { +#line 79 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_object_unref0 ((*self).module_file); +#line 320 "SpitInterfaces.c" +} + + +SpitEntryPointParams* spit_entry_point_params_dup (const SpitEntryPointParams* self) { + SpitEntryPointParams* dup; +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + dup = g_new0 (SpitEntryPointParams, 1); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + spit_entry_point_params_copy (self, dup); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return dup; +#line 332 "SpitInterfaces.c" +} + + +void spit_entry_point_params_free (SpitEntryPointParams* self) { +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + spit_entry_point_params_destroy (self); +#line 62 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_free (self); +#line 341 "SpitInterfaces.c" +} + + +GType spit_entry_point_params_get_type (void) { + static volatile gsize spit_entry_point_params_type_id__volatile = 0; + if (g_once_init_enter (&spit_entry_point_params_type_id__volatile)) { + GType spit_entry_point_params_type_id; + spit_entry_point_params_type_id = g_boxed_type_register_static ("SpitEntryPointParams", (GBoxedCopyFunc) spit_entry_point_params_dup, (GBoxedFreeFunc) spit_entry_point_params_free); + g_once_init_leave (&spit_entry_point_params_type_id__volatile, spit_entry_point_params_type_id); + } + return spit_entry_point_params_type_id__volatile; +} + + +/** + * Returns a user-visible string describing the module. + */ +const gchar* spit_module_get_module_name (SpitModule* self) { +#line 117 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_MODULE (self), NULL); +#line 117 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_MODULE_GET_INTERFACE (self)->get_module_name (self); +#line 364 "SpitInterfaces.c" +} + + +/** + * Returns a user-visible string describing the module version. + * + * Note that this may be programmatically interpreted at some point, so use a widespread + * versioning scheme. + */ +const gchar* spit_module_get_version (SpitModule* self) { +#line 125 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_MODULE (self), NULL); +#line 125 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_MODULE_GET_INTERFACE (self)->get_version (self); +#line 379 "SpitInterfaces.c" +} + + +/** + * Returns a unique identifier for this module. + * + * This is used to differentiate between multiple + * installed versions and to determine which one should be used (i.e. if a module is available + * in a system directory and a user directory). This name is case-sensitive. + * + * Best practice: use a reverse-DNS-order scheme, a la Java's packages + * (i.e. "org.yorba.shotwell.frotz"). + */ +const gchar* spit_module_get_id (SpitModule* self) { +#line 137 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_MODULE (self), NULL); +#line 137 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_MODULE_GET_INTERFACE (self)->get_id (self); +#line 398 "SpitInterfaces.c" +} + + +/** + * Returns an array of {@link Pluggable} that represent each plugin available in the module. + * + * May return NULL or an empty array. + */ +SpitPluggable** spit_module_get_pluggables (SpitModule* self, int* result_length1) { +#line 144 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_MODULE (self), NULL); +#line 144 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_MODULE_GET_INTERFACE (self)->get_pluggables (self, result_length1); +#line 412 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved0 (SpitModule* self) { +} + + +void spit_module_reserved0 (SpitModule* self) { +#line 149 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 149 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved0 (self); +#line 425 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved1 (SpitModule* self) { +} + + +void spit_module_reserved1 (SpitModule* self) { +#line 150 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 150 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved1 (self); +#line 438 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved2 (SpitModule* self) { +} + + +void spit_module_reserved2 (SpitModule* self) { +#line 151 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 151 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved2 (self); +#line 451 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved3 (SpitModule* self) { +} + + +void spit_module_reserved3 (SpitModule* self) { +#line 152 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 152 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved3 (self); +#line 464 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved4 (SpitModule* self) { +} + + +void spit_module_reserved4 (SpitModule* self) { +#line 153 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 153 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved4 (self); +#line 477 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved5 (SpitModule* self) { +} + + +void spit_module_reserved5 (SpitModule* self) { +#line 154 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 154 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved5 (self); +#line 490 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved6 (SpitModule* self) { +} + + +void spit_module_reserved6 (SpitModule* self) { +#line 155 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 155 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved6 (self); +#line 503 "SpitInterfaces.c" +} + + +static void spit_module_real_reserved7 (SpitModule* self) { +} + + +void spit_module_reserved7 (SpitModule* self) { +#line 156 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_MODULE (self)); +#line 156 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_MODULE_GET_INTERFACE (self)->reserved7 (self); +#line 516 "SpitInterfaces.c" +} + + +static void spit_module_base_init (SpitModuleIface * iface) { +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + static gboolean initialized = FALSE; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (!initialized) { +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + initialized = TRUE; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved0 = spit_module_real_reserved0; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved1 = spit_module_real_reserved1; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved2 = spit_module_real_reserved2; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved3 = spit_module_real_reserved3; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved4 = spit_module_real_reserved4; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved5 = spit_module_real_reserved5; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved6 = spit_module_real_reserved6; +#line 113 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved7 = spit_module_real_reserved7; +#line 543 "SpitInterfaces.c" + } +} + + +/** + * A Module represents the resources of an entire dynamically-linked module (i.e. a .so/.la). + * + * A module holds zero or more Shotwell plugins ({@link Pluggable}). Once the module has been + * loaded into process space this object is retrieved by Shotwell. All calls to the module and + * its plugins are resolved through this interface. + * + * Note: The module is responsible for holding the reference to the Module object, of which there + * should be only one in the library file. The module should implement a g_module_unload method + * and drop the reference there. + */ +GType spit_module_get_type (void) { + static volatile gsize spit_module_type_id__volatile = 0; + if (g_once_init_enter (&spit_module_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitModuleIface), (GBaseInitFunc) spit_module_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_module_type_id; + spit_module_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitModule", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_module_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_module_type_id__volatile, spit_module_type_id); + } + return spit_module_type_id__volatile; +} + + +static GdkPixbuf** _vala_array_dup1 (GdkPixbuf** self, int length) { + GdkPixbuf** result; + int i; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + result = g_new0 (GdkPixbuf*, length + 1); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + for (i = 0; i < length; i++) { +#line 579 "SpitInterfaces.c" + GdkPixbuf* _tmp0_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + result[i] = _tmp0_; +#line 585 "SpitInterfaces.c" + } +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return result; +#line 589 "SpitInterfaces.c" +} + + +void spit_pluggable_info_copy (const SpitPluggableInfo* self, SpitPluggableInfo* dest) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GdkPixbuf** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + GdkPixbuf** _tmp18_ = NULL; + gint _tmp18__length1 = 0; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp0_ = (*self).version; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).version); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).version = _tmp1_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp2_ = (*self).brief_description; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).brief_description); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).brief_description = _tmp3_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp4_ = (*self).authors; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).authors); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).authors = _tmp5_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp6_ = (*self).copyright; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).copyright); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).copyright = _tmp7_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp8_ = (*self).license; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).license); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).license = _tmp9_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp10_ = (*self).is_license_wordwrapped; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).is_license_wordwrapped = _tmp10_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp11_ = (*self).website_url; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp12_ = g_strdup (_tmp11_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).website_url); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).website_url = _tmp12_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp13_ = (*self).website_name; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp14_ = g_strdup (_tmp13_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).website_name); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).website_name = _tmp14_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp15_ = (*self).translators; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*dest).translators); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).translators = _tmp16_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp17_ = (*self).icons; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp17__length1 = (*self).icons_length1; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp18_ = (_tmp17_ != NULL) ? _vala_array_dup1 (_tmp17_, _tmp17__length1) : ((gpointer) _tmp17_); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _tmp18__length1 = _tmp17__length1; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).icons = (_vala_array_free ((*dest).icons, (*dest).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).icons = _tmp18_; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*dest).icons_length1 = _tmp18__length1; +#line 697 "SpitInterfaces.c" +} + + +void spit_pluggable_info_destroy (SpitPluggableInfo* self) { +#line 163 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).version); +#line 164 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).brief_description); +#line 168 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).authors); +#line 169 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).copyright); +#line 170 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).license); +#line 172 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).website_url); +#line 173 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).website_name); +#line 174 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + _g_free0 ((*self).translators); +#line 179 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + (*self).icons = (_vala_array_free ((*self).icons, (*self).icons_length1, (GDestroyNotify) g_object_unref), NULL); +#line 720 "SpitInterfaces.c" +} + + +SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self) { + SpitPluggableInfo* dup; +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + dup = g_new0 (SpitPluggableInfo, 1); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + spit_pluggable_info_copy (self, dup); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return dup; +#line 732 "SpitInterfaces.c" +} + + +void spit_pluggable_info_free (SpitPluggableInfo* self) { +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + spit_pluggable_info_destroy (self); +#line 162 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_free (self); +#line 741 "SpitInterfaces.c" +} + + +GType spit_pluggable_info_get_type (void) { + static volatile gsize spit_pluggable_info_type_id__volatile = 0; + if (g_once_init_enter (&spit_pluggable_info_type_id__volatile)) { + GType spit_pluggable_info_type_id; + spit_pluggable_info_type_id = g_boxed_type_register_static ("SpitPluggableInfo", (GBoxedCopyFunc) spit_pluggable_info_dup, (GBoxedFreeFunc) spit_pluggable_info_free); + g_once_init_leave (&spit_pluggable_info_type_id__volatile, spit_pluggable_info_type_id); + } + return spit_pluggable_info_type_id__volatile; +} + + +/** + * Pluggable interface version negotiation. + * + * Like the {@link EntryPoint}, this mechanism allows for the host to negotiate with the Pluggable + * for its interface version. If the pluggable does not support an interface between the + * two ranges (inclusive), it should return {@link UNSUPPORTED_INTERFACE}. + * + * Note that this is ''not'' a negotiation of the SPIT interface versions (which is the + * responsibility of {@link EntryPoint}. Rather, each extension point is expected to version + * its own cluster of interfaces. It is that interface version that is being negotiated here. + * + * {@link negotiate_interfaces} can be used to implement this method. + * + * @param min_host_interface The host's minimum supported interface version number + * //for this Pluggable's intended extension point//. + * @param max_host_interface The host's maximum supported interface version number + * //for this Pluggable's intended extension point//. + * + * @return The version number supported by the host and the Pluggable or + * {@link UNSUPPORTED_INTERFACE}. + */ +gint spit_pluggable_get_pluggable_interface (SpitPluggable* self, gint min_host_interface, gint max_host_interface) { +#line 210 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (self), 0); +#line 210 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_PLUGGABLE_GET_INTERFACE (self)->get_pluggable_interface (self, min_host_interface, max_host_interface); +#line 782 "SpitInterfaces.c" +} + + +/** + * Returns a unique identifier for this Pluggable. + * + * Like {@link Module.get_id}, best practice is to use a reverse-DNS-order scheme to avoid + * conflicts. + */ +const gchar* spit_pluggable_get_id (SpitPluggable* self) { +#line 218 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (self), NULL); +#line 218 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_PLUGGABLE_GET_INTERFACE (self)->get_id (self); +#line 797 "SpitInterfaces.c" +} + + +/** + * Returns a user-visible name for the Pluggable. + */ +const gchar* spit_pluggable_get_pluggable_name (SpitPluggable* self) { +#line 223 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (self), NULL); +#line 223 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_PLUGGABLE_GET_INTERFACE (self)->get_pluggable_name (self); +#line 809 "SpitInterfaces.c" +} + + +/** + * Returns extra information about the Pluggable that is used to identify it to the user. + */ +void spit_pluggable_get_info (SpitPluggable* self, SpitPluggableInfo* info) { +#line 228 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 228 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->get_info (self, info); +#line 821 "SpitInterfaces.c" +} + + +/** + * Called when the Pluggable is enabled (activated) or disabled (deactivated). + * + * activation will be called at the start of the program if the user previously + * enabled/disabled it as well as during program execution if the user changes its state. Note + * that disabling a Pluggable does not require destroying existing resources or objects + * the Pluggable has previously handed off to the host. + * + * This is purely informational. The Pluggable should acquire any long-term resources + * it may be holding onto here, or wait until an extension-specific call is made to it. + * + * @param enabled ``true`` if the Pluggable has been enabled, ``false`` otherwise. + */ +void spit_pluggable_activation (SpitPluggable* self, gboolean enabled) { +#line 243 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 243 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->activation (self, enabled); +#line 843 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved0 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved0 (SpitPluggable* self) { +#line 248 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 248 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved0 (self); +#line 856 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved1 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved1 (SpitPluggable* self) { +#line 249 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 249 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved1 (self); +#line 869 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved2 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved2 (SpitPluggable* self) { +#line 250 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 250 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved2 (self); +#line 882 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved3 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved3 (SpitPluggable* self) { +#line 251 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 251 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved3 (self); +#line 895 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved4 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved4 (SpitPluggable* self) { +#line 252 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 252 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved4 (self); +#line 908 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved5 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved5 (SpitPluggable* self) { +#line 253 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 253 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved5 (self); +#line 921 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved6 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved6 (SpitPluggable* self) { +#line 254 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 254 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved6 (self); +#line 934 "SpitInterfaces.c" +} + + +static void spit_pluggable_real_reserved7 (SpitPluggable* self) { +} + + +void spit_pluggable_reserved7 (SpitPluggable* self) { +#line 255 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_PLUGGABLE (self)); +#line 255 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_PLUGGABLE_GET_INTERFACE (self)->reserved7 (self); +#line 947 "SpitInterfaces.c" +} + + +static void spit_pluggable_base_init (SpitPluggableIface * iface) { +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + static gboolean initialized = FALSE; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (!initialized) { +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + initialized = TRUE; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved0 = spit_pluggable_real_reserved0; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved1 = spit_pluggable_real_reserved1; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved2 = spit_pluggable_real_reserved2; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved3 = spit_pluggable_real_reserved3; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved4 = spit_pluggable_real_reserved4; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved5 = spit_pluggable_real_reserved5; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved6 = spit_pluggable_real_reserved6; +#line 188 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved7 = spit_pluggable_real_reserved7; +#line 974 "SpitInterfaces.c" + } +} + + +/** + * A generic interface to all Shotwell plugins. + * + * Each plugin in a module needs to implement this interface at a minimum. Extension + * points may have (and probably will have) specific interface requirements as well. + */ +GType spit_pluggable_get_type (void) { + static volatile gsize spit_pluggable_type_id__volatile = 0; + if (g_once_init_enter (&spit_pluggable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPluggableIface), (GBaseInitFunc) spit_pluggable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_pluggable_type_id; + spit_pluggable_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitPluggable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_pluggable_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_pluggable_type_id__volatile, spit_pluggable_type_id); + } + return spit_pluggable_type_id__volatile; +} + + +/** + * Returns a File object representing the library file (.so/la.) that the plugin was loaded + * from. + */ +GFile* spit_host_interface_get_module_file (SpitHostInterface* self) { +#line 274 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), NULL); +#line 274 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_module_file (self); +#line 1007 "SpitInterfaces.c" +} + + +/** + * Get a boolean from a persistent configuration store. + * + * @param key The name of the value to be retrieved. + * @param def The default value (returned if the key has not been previously set). + * + * @return The value associated with key, def if not set. + */ +gboolean spit_host_interface_get_config_bool (SpitHostInterface* self, const gchar* key, gboolean def) { +#line 284 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), FALSE); +#line 284 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_config_bool (self, key, def); +#line 1024 "SpitInterfaces.c" +} + + +/** + * Store a boolean in a persistent configuration store. + * + * @param key The name of the value to be stored. + * @param val The value to be stored. + */ +void spit_host_interface_set_config_bool (SpitHostInterface* self, const gchar* key, gboolean val) { +#line 292 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 292 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->set_config_bool (self, key, val); +#line 1039 "SpitInterfaces.c" +} + + +/** + * Get an integer from a persistent configuration store. + * + * @param key The name of the value to be retrieved. + * @param def The default value (returned if the key has not been previously set). + * + * @return The value associated with key, def if not set. + */ +gint spit_host_interface_get_config_int (SpitHostInterface* self, const gchar* key, gint def) { +#line 302 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), 0); +#line 302 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_config_int (self, key, def); +#line 1056 "SpitInterfaces.c" +} + + +/** + * Store an integer in a persistent configuration store. + * + * @param key The name of the value to be stored. + * @param val The value to be stored. + */ +void spit_host_interface_set_config_int (SpitHostInterface* self, const gchar* key, gint val) { +#line 310 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 310 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->set_config_int (self, key, val); +#line 1071 "SpitInterfaces.c" +} + + +/** + * Get a string from a persistent configuration store. + * + * @param key The name of the value to be retrieved. + * @param def The default value (returned if the key has not been previously set). + * + * @return The value associated with key, def if not set. + */ +gchar* spit_host_interface_get_config_string (SpitHostInterface* self, const gchar* key, const gchar* def) { +#line 320 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), NULL); +#line 320 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_config_string (self, key, def); +#line 1088 "SpitInterfaces.c" +} + + +/** + * Store a string in a persistent configuration store. + * + * @param key The name of the value to be stored. + * @param val The value to be stored. + */ +void spit_host_interface_set_config_string (SpitHostInterface* self, const gchar* key, const gchar* val) { +#line 328 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 328 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->set_config_string (self, key, val); +#line 1103 "SpitInterfaces.c" +} + + +/** + * Get a double from a persistent configuration store. + * + * @param key The name of the value to be retrieved. + * @param def The default value (returned if the key has not been previously set). + * + * @return The value associated with key, def if not set. + */ +gdouble spit_host_interface_get_config_double (SpitHostInterface* self, const gchar* key, gdouble def) { +#line 338 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (self), 0.0); +#line 338 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + return SPIT_HOST_INTERFACE_GET_INTERFACE (self)->get_config_double (self, key, def); +#line 1120 "SpitInterfaces.c" +} + + +/** + * Store a double in a persistent configuration store. + * + * @param key The name of the value to be stored. + * @param val The value to be stored. + */ +void spit_host_interface_set_config_double (SpitHostInterface* self, const gchar* key, gdouble val) { +#line 346 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 346 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->set_config_double (self, key, val); +#line 1135 "SpitInterfaces.c" +} + + +/** + * Delete the value from the persistent configuration store. + */ +void spit_host_interface_unset_config_key (SpitHostInterface* self, const gchar* key) { +#line 351 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 351 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->unset_config_key (self, key); +#line 1147 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved0 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved0 (SpitHostInterface* self) { +#line 356 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 356 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved0 (self); +#line 1160 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved1 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved1 (SpitHostInterface* self) { +#line 357 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 357 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved1 (self); +#line 1173 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved2 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved2 (SpitHostInterface* self) { +#line 358 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 358 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved2 (self); +#line 1186 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved3 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved3 (SpitHostInterface* self) { +#line 359 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 359 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved3 (self); +#line 1199 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved4 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved4 (SpitHostInterface* self) { +#line 360 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 360 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved4 (self); +#line 1212 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved5 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved5 (SpitHostInterface* self) { +#line 361 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 361 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved5 (self); +#line 1225 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved6 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved6 (SpitHostInterface* self) { +#line 362 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 362 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved6 (self); +#line 1238 "SpitInterfaces.c" +} + + +static void spit_host_interface_real_reserved7 (SpitHostInterface* self) { +} + + +void spit_host_interface_reserved7 (SpitHostInterface* self) { +#line 363 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + g_return_if_fail (SPIT_IS_HOST_INTERFACE (self)); +#line 363 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + SPIT_HOST_INTERFACE_GET_INTERFACE (self)->reserved7 (self); +#line 1251 "SpitInterfaces.c" +} + + +static void spit_host_interface_base_init (SpitHostInterfaceIface * iface) { +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + static gboolean initialized = FALSE; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + if (!initialized) { +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + initialized = TRUE; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved0 = spit_host_interface_real_reserved0; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved1 = spit_host_interface_real_reserved1; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved2 = spit_host_interface_real_reserved2; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved3 = spit_host_interface_real_reserved3; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved4 = spit_host_interface_real_reserved4; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved5 = spit_host_interface_real_reserved5; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved6 = spit_host_interface_real_reserved6; +#line 269 "/home/jens/Source/shotwell/src/plugins/SpitInterfaces.vala" + iface->reserved7 = spit_host_interface_real_reserved7; +#line 1278 "SpitInterfaces.c" + } +} + + +/** + * An interface to common services supplied by the host (Shotwell). + * + * Each {@link Pluggable} is offered a HostInterface for needs common to most plugins. + * + * Note that + * a HostInterface is not explicitly handed to the Pluggable through the SPIT interface, but is expected + * to be offered to the Pluggable through an interface applicable to the extension point. This + * also allows the extension point to extend HostInterface to offer other services applicable to the + * type of plugin. + */ +GType spit_host_interface_get_type (void) { + static volatile gsize spit_host_interface_type_id__volatile = 0; + if (g_once_init_enter (&spit_host_interface_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitHostInterfaceIface), (GBaseInitFunc) spit_host_interface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_host_interface_type_id; + spit_host_interface_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitHostInterface", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_host_interface_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_host_interface_type_id__volatile, spit_host_interface_type_id); + } + return spit_host_interface_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/plugins/StandardHostInterface.c b/src/plugins/StandardHostInterface.c new file mode 100644 index 0000000..3465427 --- /dev/null +++ b/src/plugins/StandardHostInterface.c @@ -0,0 +1,699 @@ +/* StandardHostInterface.c generated by valac 0.32.1, the Vala compiler + * generated from StandardHostInterface.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include + + +#define PLUGINS_TYPE_STANDARD_HOST_INTERFACE (plugins_standard_host_interface_get_type ()) +#define PLUGINS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface)) +#define PLUGINS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_STANDARD_HOST_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) + +typedef struct _PluginsStandardHostInterface PluginsStandardHostInterface; +typedef struct _PluginsStandardHostInterfaceClass PluginsStandardHostInterfaceClass; +typedef struct _PluginsStandardHostInterfacePrivate PluginsStandardHostInterfacePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +struct _PluginsStandardHostInterface { + GObject parent_instance; + PluginsStandardHostInterfacePrivate * priv; +}; + +struct _PluginsStandardHostInterfaceClass { + GObjectClass parent_class; +}; + +struct _PluginsStandardHostInterfacePrivate { + gchar* config_domain; + gchar* config_id; + GFile* module_file; + SpitPluggableInfo info; +}; + + +static gpointer plugins_standard_host_interface_parent_class = NULL; +static SpitHostInterfaceIface* plugins_standard_host_interface_spit_host_interface_parent_iface = NULL; + +GType plugins_standard_host_interface_get_type (void) G_GNUC_CONST; +#define PLUGINS_STANDARD_HOST_INTERFACE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfacePrivate)) +enum { + PLUGINS_STANDARD_HOST_INTERFACE_DUMMY_PROPERTY +}; +PluginsStandardHostInterface* plugins_standard_host_interface_new (SpitPluggable* pluggable, const gchar* config_domain); +PluginsStandardHostInterface* plugins_standard_host_interface_construct (GType object_type, SpitPluggable* pluggable, const gchar* config_domain); +static gchar* plugins_standard_host_interface_parse_key (const gchar* id); +GFile* plugins_get_pluggable_module_file (SpitPluggable* pluggable); +static GFile* plugins_standard_host_interface_real_get_module_file (SpitHostInterface* base); +static gboolean plugins_standard_host_interface_real_get_config_bool (SpitHostInterface* base, const gchar* key, gboolean def); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gboolean configuration_facade_get_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean def); +static void plugins_standard_host_interface_real_set_config_bool (SpitHostInterface* base, const gchar* key, gboolean val); +void configuration_facade_set_plugin_bool (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gboolean val); +static gint plugins_standard_host_interface_real_get_config_int (SpitHostInterface* base, const gchar* key, gint def); +gint configuration_facade_get_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint def); +static void plugins_standard_host_interface_real_set_config_int (SpitHostInterface* base, const gchar* key, gint val); +void configuration_facade_set_plugin_int (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gint val); +static gchar* plugins_standard_host_interface_real_get_config_string (SpitHostInterface* base, const gchar* key, const gchar* def); +gchar* configuration_facade_get_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* def); +static void plugins_standard_host_interface_real_set_config_string (SpitHostInterface* base, const gchar* key, const gchar* val); +void configuration_facade_set_plugin_string (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, const gchar* val); +static gdouble plugins_standard_host_interface_real_get_config_double (SpitHostInterface* base, const gchar* key, gdouble def); +gdouble configuration_facade_get_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble def); +static void plugins_standard_host_interface_real_set_config_double (SpitHostInterface* base, const gchar* key, gdouble val); +void configuration_facade_set_plugin_double (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key, gdouble val); +static void plugins_standard_host_interface_real_unset_config_key (SpitHostInterface* base, const gchar* key); +void configuration_facade_unset_plugin_key (ConfigurationFacade* self, const gchar* domain, const gchar* id, const gchar* key); +static void plugins_standard_host_interface_finalize (GObject* obj); + + +PluginsStandardHostInterface* plugins_standard_host_interface_construct (GType object_type, SpitPluggable* pluggable, const gchar* config_domain) { + PluginsStandardHostInterface * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + SpitPluggable* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SpitPluggable* _tmp5_ = NULL; + GFile* _tmp6_ = NULL; + SpitPluggable* _tmp7_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (SPIT_IS_PLUGGABLE (pluggable), NULL); +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (config_domain != NULL, NULL); +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = (PluginsStandardHostInterface*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_domain; +#line 16 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_free0 (self->priv->config_domain); +#line 16 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self->priv->config_domain = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = pluggable; +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = spit_pluggable_get_id (_tmp2_); +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = plugins_standard_host_interface_parse_key (_tmp3_); +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_free0 (self->priv->config_id); +#line 17 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self->priv->config_id = _tmp4_; +#line 18 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = pluggable; +#line 18 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = plugins_get_pluggable_module_file (_tmp5_); +#line 18 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (self->priv->module_file); +#line 18 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self->priv->module_file = _tmp6_; +#line 19 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = pluggable; +#line 19 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + spit_pluggable_get_info (_tmp7_, &self->priv->info); +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return self; +#line 156 "StandardHostInterface.c" +} + + +PluginsStandardHostInterface* plugins_standard_host_interface_new (SpitPluggable* pluggable, const gchar* config_domain) { +#line 15 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return plugins_standard_host_interface_construct (PLUGINS_TYPE_STANDARD_HOST_INTERFACE, pluggable, config_domain); +#line 163 "StandardHostInterface.c" +} + + +static gchar* plugins_standard_host_interface_parse_key (const gchar* id) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GQuark _tmp3_ = 0U; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + static GQuark _tmp2_label0 = 0; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + static GQuark _tmp2_label1 = 0; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + static GQuark _tmp2_label2 = 0; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + static GQuark _tmp2_label3 = 0; +#line 22 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (id != NULL, NULL); +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = id; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_); +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("org.yorba.shotwell.publishing.facebook")))) { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 192 "StandardHostInterface.c" + default: + { + gchar* _tmp4_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = g_strdup ("facebook"); +#line 27 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp4_; +#line 27 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 202 "StandardHostInterface.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("org.yorba.shotwell.publishing.picasa")))) { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 208 "StandardHostInterface.c" + default: + { + gchar* _tmp5_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = g_strdup ("picasa"); +#line 30 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp5_; +#line 30 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 218 "StandardHostInterface.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("org.yorba.shotwell.publishing.flickr")))) { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 224 "StandardHostInterface.c" + default: + { + gchar* _tmp6_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = g_strdup ("flickr"); +#line 33 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp6_; +#line 33 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 234 "StandardHostInterface.c" + } + } + } else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("org.yorba.shotwell.publishing.youtube")))) { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 240 "StandardHostInterface.c" + default: + { + gchar* _tmp7_ = NULL; +#line 36 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = g_strdup ("youtube"); +#line 36 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 36 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 250 "StandardHostInterface.c" + } + } + } else { +#line 25 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + switch (0) { +#line 256 "StandardHostInterface.c" + default: + { + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 39 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp8_ = id; +#line 39 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 39 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp9_; +#line 39 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 269 "StandardHostInterface.c" + } + } + } +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return self ? g_object_ref (self) : NULL; +#line 279 "StandardHostInterface.c" +} + + +static GFile* plugins_standard_host_interface_real_get_module_file (SpitHostInterface* base) { + PluginsStandardHostInterface * self; + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = self->priv->module_file; +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp1_; +#line 44 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 298 "StandardHostInterface.c" +} + + +static gboolean plugins_standard_host_interface_real_get_config_bool (SpitHostInterface* base, const gchar* key, gboolean def) { + PluginsStandardHostInterface * self; + gboolean result = FALSE; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; +#line 47 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 47 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = def; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = configuration_facade_get_plugin_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = _tmp6_; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 48 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 339 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_set_config_bool (SpitHostInterface* base, const gchar* key, gboolean val) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 51 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 51 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = val; +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_set_plugin_bool (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 52 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 371 "StandardHostInterface.c" +} + + +static gint plugins_standard_host_interface_real_get_config_int (SpitHostInterface* base, const gchar* key, gint def) { + PluginsStandardHostInterface * self; + gint result = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 55 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 55 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (key != NULL, 0); +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = def; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = configuration_facade_get_plugin_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = _tmp6_; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 56 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 412 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_set_config_int (SpitHostInterface* base, const gchar* key, gint val) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 59 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 59 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = val; +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_set_plugin_int (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 60 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 444 "StandardHostInterface.c" +} + + +static gchar* plugins_standard_host_interface_real_get_config_string (SpitHostInterface* base, const gchar* key, const gchar* def) { + PluginsStandardHostInterface * self; + gchar* result = NULL; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 63 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (key != NULL, NULL); +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = def; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = configuration_facade_get_plugin_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = _tmp6_; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 64 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 485 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_set_config_string (SpitHostInterface* base, const gchar* key, const gchar* val) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 67 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = val; +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_set_plugin_string (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 68 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 517 "StandardHostInterface.c" +} + + +static gdouble plugins_standard_host_interface_real_get_config_double (SpitHostInterface* base, const gchar* key, gdouble def) { + PluginsStandardHostInterface * self; + gdouble result = 0.0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; +#line 71 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 71 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_val_if_fail (key != NULL, 0.0); +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = def; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp6_ = configuration_facade_get_plugin_double (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp7_ = _tmp6_; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + result = _tmp7_; +#line 72 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + return result; +#line 558 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_set_config_double (SpitHostInterface* base, const gchar* key, gdouble val) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; +#line 75 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 75 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp5_ = val; +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_set_plugin_double (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_, _tmp5_); +#line 76 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 590 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_real_unset_config_key (SpitHostInterface* base, const gchar* key) { + PluginsStandardHostInterface * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 79 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_return_if_fail (key != NULL); +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp0_ = config_facade_get_instance (); +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp1_ = _tmp0_; +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp2_ = self->priv->config_domain; +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp3_ = self->priv->config_id; +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _tmp4_ = key; +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + configuration_facade_unset_plugin_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_, _tmp4_); +#line 80 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (_tmp1_); +#line 619 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_class_init (PluginsStandardHostInterfaceClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + plugins_standard_host_interface_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + g_type_class_add_private (klass, sizeof (PluginsStandardHostInterfacePrivate)); +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + G_OBJECT_CLASS (klass)->finalize = plugins_standard_host_interface_finalize; +#line 630 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_spit_host_interface_interface_init (SpitHostInterfaceIface * iface) { +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + plugins_standard_host_interface_spit_host_interface_parent_iface = g_type_interface_peek_parent (iface); +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_module_file = (GFile* (*)(SpitHostInterface*)) plugins_standard_host_interface_real_get_module_file; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_config_bool = (gboolean (*)(SpitHostInterface*, const gchar*, gboolean)) plugins_standard_host_interface_real_get_config_bool; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->set_config_bool = (void (*)(SpitHostInterface*, const gchar*, gboolean)) plugins_standard_host_interface_real_set_config_bool; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_config_int = (gint (*)(SpitHostInterface*, const gchar*, gint)) plugins_standard_host_interface_real_get_config_int; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->set_config_int = (void (*)(SpitHostInterface*, const gchar*, gint)) plugins_standard_host_interface_real_set_config_int; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_config_string = (gchar* (*)(SpitHostInterface*, const gchar*, const gchar*)) plugins_standard_host_interface_real_get_config_string; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->set_config_string = (void (*)(SpitHostInterface*, const gchar*, const gchar*)) plugins_standard_host_interface_real_set_config_string; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->get_config_double = (gdouble (*)(SpitHostInterface*, const gchar*, gdouble)) plugins_standard_host_interface_real_get_config_double; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->set_config_double = (void (*)(SpitHostInterface*, const gchar*, gdouble)) plugins_standard_host_interface_real_set_config_double; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + iface->unset_config_key = (void (*)(SpitHostInterface*, const gchar*)) plugins_standard_host_interface_real_unset_config_key; +#line 657 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_instance_init (PluginsStandardHostInterface * self) { +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self->priv = PLUGINS_STANDARD_HOST_INTERFACE_GET_PRIVATE (self); +#line 664 "StandardHostInterface.c" +} + + +static void plugins_standard_host_interface_finalize (GObject* obj) { + PluginsStandardHostInterface * self; +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface); +#line 10 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_free0 (self->priv->config_domain); +#line 11 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_free0 (self->priv->config_id); +#line 12 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + _g_object_unref0 (self->priv->module_file); +#line 13 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + spit_pluggable_info_destroy (&self->priv->info); +#line 9 "/home/jens/Source/shotwell/src/plugins/StandardHostInterface.vala" + G_OBJECT_CLASS (plugins_standard_host_interface_parent_class)->finalize (obj); +#line 682 "StandardHostInterface.c" +} + + +GType plugins_standard_host_interface_get_type (void) { + static volatile gsize plugins_standard_host_interface_type_id__volatile = 0; + if (g_once_init_enter (&plugins_standard_host_interface_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PluginsStandardHostInterfaceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) plugins_standard_host_interface_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PluginsStandardHostInterface), 0, (GInstanceInitFunc) plugins_standard_host_interface_instance_init, NULL }; + static const GInterfaceInfo spit_host_interface_info = { (GInterfaceInitFunc) plugins_standard_host_interface_spit_host_interface_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType plugins_standard_host_interface_type_id; + plugins_standard_host_interface_type_id = g_type_register_static (G_TYPE_OBJECT, "PluginsStandardHostInterface", &g_define_type_info, 0); + g_type_add_interface_static (plugins_standard_host_interface_type_id, SPIT_TYPE_HOST_INTERFACE, &spit_host_interface_info); + g_once_init_leave (&plugins_standard_host_interface_type_id__volatile, plugins_standard_host_interface_type_id); + } + return plugins_standard_host_interface_type_id__volatile; +} + + + diff --git a/src/plugins/TransitionsInterfaces.c b/src/plugins/TransitionsInterfaces.c new file mode 100644 index 0000000..aedb555 --- /dev/null +++ b/src/plugins/TransitionsInterfaces.c @@ -0,0 +1,1808 @@ +/* TransitionsInterfaces.c generated by valac 0.32.1, the Vala compiler + * generated from TransitionsInterfaces.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SPIT_TRANSITIONS_TYPE_DIRECTION (spit_transitions_direction_get_type ()) + +#define SPIT_TRANSITIONS_TYPE_VISUALS (spit_transitions_visuals_get_type ()) +#define SPIT_TRANSITIONS_VISUALS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals)) +#define SPIT_TRANSITIONS_VISUALS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsClass)) +#define SPIT_TRANSITIONS_IS_VISUALS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_VISUALS)) +#define SPIT_TRANSITIONS_IS_VISUALS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_TRANSITIONS_TYPE_VISUALS)) +#define SPIT_TRANSITIONS_VISUALS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsClass)) + +typedef struct _SpitTransitionsVisuals SpitTransitionsVisuals; +typedef struct _SpitTransitionsVisualsClass SpitTransitionsVisualsClass; +typedef struct _SpitTransitionsVisualsPrivate SpitTransitionsVisualsPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define SPIT_TRANSITIONS_TYPE_MOTION (spit_transitions_motion_get_type ()) +#define SPIT_TRANSITIONS_MOTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion)) +#define SPIT_TRANSITIONS_MOTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionClass)) +#define SPIT_TRANSITIONS_IS_MOTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_MOTION)) +#define SPIT_TRANSITIONS_IS_MOTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_TRANSITIONS_TYPE_MOTION)) +#define SPIT_TRANSITIONS_MOTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionClass)) + +typedef struct _SpitTransitionsMotion SpitTransitionsMotion; +typedef struct _SpitTransitionsMotionClass SpitTransitionsMotionClass; +typedef struct _SpitTransitionsMotionPrivate SpitTransitionsMotionPrivate; + +#define SPIT_TYPE_PLUGGABLE (spit_pluggable_get_type ()) +#define SPIT_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggable)) +#define SPIT_IS_PLUGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_PLUGGABLE)) +#define SPIT_PLUGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_PLUGGABLE, SpitPluggableIface)) + +typedef struct _SpitPluggable SpitPluggable; +typedef struct _SpitPluggableIface SpitPluggableIface; + +#define SPIT_TYPE_PLUGGABLE_INFO (spit_pluggable_info_get_type ()) +typedef struct _SpitPluggableInfo SpitPluggableInfo; + +#define SPIT_TRANSITIONS_TYPE_DESCRIPTOR (spit_transitions_descriptor_get_type ()) +#define SPIT_TRANSITIONS_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptor)) +#define SPIT_TRANSITIONS_IS_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR)) +#define SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptorIface)) + +typedef struct _SpitTransitionsDescriptor SpitTransitionsDescriptor; +typedef struct _SpitTransitionsDescriptorIface SpitTransitionsDescriptorIface; + +#define SPIT_TYPE_HOST_INTERFACE (spit_host_interface_get_type ()) +#define SPIT_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterface)) +#define SPIT_IS_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TYPE_HOST_INTERFACE)) +#define SPIT_HOST_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TYPE_HOST_INTERFACE, SpitHostInterfaceIface)) + +typedef struct _SpitHostInterface SpitHostInterface; +typedef struct _SpitHostInterfaceIface SpitHostInterfaceIface; + +#define SPIT_TRANSITIONS_TYPE_EFFECT (spit_transitions_effect_get_type ()) +#define SPIT_TRANSITIONS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect)) +#define SPIT_TRANSITIONS_IS_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_TRANSITIONS_TYPE_EFFECT)) +#define SPIT_TRANSITIONS_EFFECT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffectIface)) + +typedef struct _SpitTransitionsEffect SpitTransitionsEffect; +typedef struct _SpitTransitionsEffectIface SpitTransitionsEffectIface; + +typedef enum { + SPIT_TRANSITIONS_DIRECTION_LEFT = 0, + SPIT_TRANSITIONS_DIRECTION_RIGHT = 1, + SPIT_TRANSITIONS_DIRECTION_FORWARD = SPIT_TRANSITIONS_DIRECTION_LEFT, + SPIT_TRANSITIONS_DIRECTION_BACKWARD = SPIT_TRANSITIONS_DIRECTION_RIGHT +} SpitTransitionsDirection; + +struct _SpitTransitionsVisuals { + GObject parent_instance; + SpitTransitionsVisualsPrivate * priv; +}; + +struct _SpitTransitionsVisualsClass { + GObjectClass parent_class; + void (*reserved0) (SpitTransitionsVisuals* self); + void (*reserved1) (SpitTransitionsVisuals* self); + void (*reserved2) (SpitTransitionsVisuals* self); + void (*reserved3) (SpitTransitionsVisuals* self); + void (*reserved4) (SpitTransitionsVisuals* self); + void (*reserved5) (SpitTransitionsVisuals* self); + void (*reserved6) (SpitTransitionsVisuals* self); + void (*reserved7) (SpitTransitionsVisuals* self); +}; + +struct _SpitTransitionsVisualsPrivate { + GdkPixbuf* _from_pixbuf; + GdkRectangle _from_pos; + GdkPixbuf* _to_pixbuf; + GdkRectangle _to_pos; + GdkRGBA _bg_color; +}; + +struct _SpitTransitionsMotion { + GObject parent_instance; + SpitTransitionsMotionPrivate * priv; +}; + +struct _SpitTransitionsMotionClass { + GObjectClass parent_class; + void (*reserved0) (SpitTransitionsMotion* self); + void (*reserved1) (SpitTransitionsMotion* self); + void (*reserved2) (SpitTransitionsMotion* self); + void (*reserved3) (SpitTransitionsMotion* self); + void (*reserved4) (SpitTransitionsMotion* self); + void (*reserved5) (SpitTransitionsMotion* self); + void (*reserved6) (SpitTransitionsMotion* self); + void (*reserved7) (SpitTransitionsMotion* self); +}; + +struct _SpitTransitionsMotionPrivate { + SpitTransitionsDirection _direction; + gint _fps; + gint _duration_msec; +}; + +struct _SpitPluggableInfo { + gchar* version; + gchar* brief_description; + gchar* authors; + gchar* copyright; + gchar* license; + gboolean is_license_wordwrapped; + gchar* website_url; + gchar* website_name; + gchar* translators; + GdkPixbuf** icons; + gint icons_length1; +}; + +struct _SpitPluggableIface { + GTypeInterface parent_iface; + gint (*get_pluggable_interface) (SpitPluggable* self, gint min_host_interface, gint max_host_interface); + const gchar* (*get_id) (SpitPluggable* self); + const gchar* (*get_pluggable_name) (SpitPluggable* self); + void (*get_info) (SpitPluggable* self, SpitPluggableInfo* info); + void (*activation) (SpitPluggable* self, gboolean enabled); + void (*reserved0) (SpitPluggable* self); + void (*reserved1) (SpitPluggable* self); + void (*reserved2) (SpitPluggable* self); + void (*reserved3) (SpitPluggable* self); + void (*reserved4) (SpitPluggable* self); + void (*reserved5) (SpitPluggable* self); + void (*reserved6) (SpitPluggable* self); + void (*reserved7) (SpitPluggable* self); +}; + +struct _SpitHostInterfaceIface { + GTypeInterface parent_iface; + GFile* (*get_module_file) (SpitHostInterface* self); + gboolean (*get_config_bool) (SpitHostInterface* self, const gchar* key, gboolean def); + void (*set_config_bool) (SpitHostInterface* self, const gchar* key, gboolean val); + gint (*get_config_int) (SpitHostInterface* self, const gchar* key, gint def); + void (*set_config_int) (SpitHostInterface* self, const gchar* key, gint val); + gchar* (*get_config_string) (SpitHostInterface* self, const gchar* key, const gchar* def); + void (*set_config_string) (SpitHostInterface* self, const gchar* key, const gchar* val); + gdouble (*get_config_double) (SpitHostInterface* self, const gchar* key, gdouble def); + void (*set_config_double) (SpitHostInterface* self, const gchar* key, gdouble val); + void (*unset_config_key) (SpitHostInterface* self, const gchar* key); + void (*reserved0) (SpitHostInterface* self); + void (*reserved1) (SpitHostInterface* self); + void (*reserved2) (SpitHostInterface* self); + void (*reserved3) (SpitHostInterface* self); + void (*reserved4) (SpitHostInterface* self); + void (*reserved5) (SpitHostInterface* self); + void (*reserved6) (SpitHostInterface* self); + void (*reserved7) (SpitHostInterface* self); +}; + +struct _SpitTransitionsEffectIface { + GTypeInterface parent_iface; + void (*get_fps) (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps); + void (*start) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); + gboolean (*needs_clear_background) (SpitTransitionsEffect* self); + void (*paint) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); + void (*advance) (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); + void (*cancel) (SpitTransitionsEffect* self); + void (*reserved0) (SpitTransitionsEffect* self); + void (*reserved1) (SpitTransitionsEffect* self); + void (*reserved2) (SpitTransitionsEffect* self); + void (*reserved3) (SpitTransitionsEffect* self); + void (*reserved4) (SpitTransitionsEffect* self); + void (*reserved5) (SpitTransitionsEffect* self); + void (*reserved6) (SpitTransitionsEffect* self); + void (*reserved7) (SpitTransitionsEffect* self); +}; + +struct _SpitTransitionsDescriptorIface { + GTypeInterface parent_iface; + SpitTransitionsEffect* (*create) (SpitTransitionsDescriptor* self, SpitHostInterface* host); + void (*reserved0) (SpitTransitionsDescriptor* self); + void (*reserved1) (SpitTransitionsDescriptor* self); + void (*reserved2) (SpitTransitionsDescriptor* self); + void (*reserved3) (SpitTransitionsDescriptor* self); + void (*reserved4) (SpitTransitionsDescriptor* self); + void (*reserved5) (SpitTransitionsDescriptor* self); + void (*reserved6) (SpitTransitionsDescriptor* self); + void (*reserved7) (SpitTransitionsDescriptor* self); +}; + + +static gpointer spit_transitions_visuals_parent_class = NULL; +static gpointer spit_transitions_motion_parent_class = NULL; + +#define SPIT_TRANSITIONS_CURRENT_INTERFACE 0 +GType spit_transitions_direction_get_type (void) G_GNUC_CONST; +GType spit_transitions_visuals_get_type (void) G_GNUC_CONST; +#define SPIT_TRANSITIONS_VISUALS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisualsPrivate)) +enum { + SPIT_TRANSITIONS_VISUALS_DUMMY_PROPERTY, + SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF, + SPIT_TRANSITIONS_VISUALS_FROM_POS, + SPIT_TRANSITIONS_VISUALS_TO_PIXBUF, + SPIT_TRANSITIONS_VISUALS_TO_POS, + SPIT_TRANSITIONS_VISUALS_BG_COLOR +}; +SpitTransitionsVisuals* spit_transitions_visuals_new (GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color); +SpitTransitionsVisuals* spit_transitions_visuals_construct (GType object_type, GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color); +static void spit_transitions_visuals_set_from_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value); +static void spit_transitions_visuals_set_from_pos (SpitTransitionsVisuals* self, GdkRectangle* value); +static void spit_transitions_visuals_set_to_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value); +static void spit_transitions_visuals_set_to_pos (SpitTransitionsVisuals* self, GdkRectangle* value); +static void spit_transitions_visuals_set_bg_color (SpitTransitionsVisuals* self, GdkRGBA* value); +void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved0 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved1 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved2 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved3 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved4 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved5 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved6 (SpitTransitionsVisuals* self); +void spit_transitions_visuals_reserved7 (SpitTransitionsVisuals* self); +static void spit_transitions_visuals_real_reserved7 (SpitTransitionsVisuals* self); +GdkPixbuf* spit_transitions_visuals_get_from_pixbuf (SpitTransitionsVisuals* self); +void spit_transitions_visuals_get_from_pos (SpitTransitionsVisuals* self, GdkRectangle* result); +GdkPixbuf* spit_transitions_visuals_get_to_pixbuf (SpitTransitionsVisuals* self); +void spit_transitions_visuals_get_to_pos (SpitTransitionsVisuals* self, GdkRectangle* result); +void spit_transitions_visuals_get_bg_color (SpitTransitionsVisuals* self, GdkRGBA* result); +static void spit_transitions_visuals_finalize (GObject* obj); +static void _vala_spit_transitions_visuals_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_spit_transitions_visuals_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType spit_transitions_motion_get_type (void) G_GNUC_CONST; +#define SPIT_TRANSITIONS_MOTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotionPrivate)) +enum { + SPIT_TRANSITIONS_MOTION_DUMMY_PROPERTY, + SPIT_TRANSITIONS_MOTION_DIRECTION, + SPIT_TRANSITIONS_MOTION_FPS, + SPIT_TRANSITIONS_MOTION_DURATION_MSEC, + SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES, + SPIT_TRANSITIONS_MOTION_TICK_MSEC +}; +SpitTransitionsMotion* spit_transitions_motion_new (SpitTransitionsDirection direction, gint fps, gint duration_msec); +SpitTransitionsMotion* spit_transitions_motion_construct (GType object_type, SpitTransitionsDirection direction, gint fps, gint duration_msec); +static void spit_transitions_motion_set_direction (SpitTransitionsMotion* self, SpitTransitionsDirection value); +static void spit_transitions_motion_set_fps (SpitTransitionsMotion* self, gint value); +static void spit_transitions_motion_set_duration_msec (SpitTransitionsMotion* self, gint value); +gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self, gint frame_number); +gint spit_transitions_motion_get_total_frames (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved0 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved1 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved2 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved3 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved4 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved5 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved6 (SpitTransitionsMotion* self); +void spit_transitions_motion_reserved7 (SpitTransitionsMotion* self); +static void spit_transitions_motion_real_reserved7 (SpitTransitionsMotion* self); +SpitTransitionsDirection spit_transitions_motion_get_direction (SpitTransitionsMotion* self); +gint spit_transitions_motion_get_fps (SpitTransitionsMotion* self); +gint spit_transitions_motion_get_duration_msec (SpitTransitionsMotion* self); +gint spit_transitions_motion_get_tick_msec (SpitTransitionsMotion* self); +static void spit_transitions_motion_finalize (GObject* obj); +static void _vala_spit_transitions_motion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void _vala_spit_transitions_motion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); +GType spit_pluggable_info_get_type (void) G_GNUC_CONST; +SpitPluggableInfo* spit_pluggable_info_dup (const SpitPluggableInfo* self); +void spit_pluggable_info_free (SpitPluggableInfo* self); +void spit_pluggable_info_copy (const SpitPluggableInfo* self, SpitPluggableInfo* dest); +void spit_pluggable_info_destroy (SpitPluggableInfo* self); +GType spit_pluggable_get_type (void) G_GNUC_CONST; +GType spit_host_interface_get_type (void) G_GNUC_CONST; +GType spit_transitions_effect_get_type (void) G_GNUC_CONST; +GType spit_transitions_descriptor_get_type (void) G_GNUC_CONST; +SpitTransitionsEffect* spit_transitions_descriptor_create (SpitTransitionsDescriptor* self, SpitHostInterface* host); +void spit_transitions_descriptor_reserved0 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved0 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved1 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved2 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved3 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved4 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved5 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved6 (SpitTransitionsDescriptor* self); +void spit_transitions_descriptor_reserved7 (SpitTransitionsDescriptor* self); +static void spit_transitions_descriptor_real_reserved7 (SpitTransitionsDescriptor* self); +void spit_transitions_effect_get_fps (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps); +void spit_transitions_effect_start (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +gboolean spit_transitions_effect_needs_clear_background (SpitTransitionsEffect* self); +void spit_transitions_effect_paint (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +void spit_transitions_effect_advance (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +void spit_transitions_effect_cancel (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved0 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved0 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved1 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved2 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved3 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved4 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved5 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved6 (SpitTransitionsEffect* self); +void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self); +static void spit_transitions_effect_real_reserved7 (SpitTransitionsEffect* self); + + +/** + * Direction indicates what direction (animated motion) the {@link Effect} should simulate the + * images are moving, if appropriate. + * + * The direction indicates from what side or corner of the screen the new image should come in from. + * Thus, a LEFT slide means the current image exits via the left-hand edge of the screen and the + * new image moves into place from the right-hand edge. + * + * UP, DOWN, and diagonals may be added at some point. + */ +GType spit_transitions_direction_get_type (void) { + static volatile gsize spit_transitions_direction_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_direction_type_id__volatile)) { + static const GEnumValue values[] = {{SPIT_TRANSITIONS_DIRECTION_LEFT, "SPIT_TRANSITIONS_DIRECTION_LEFT", "left"}, {SPIT_TRANSITIONS_DIRECTION_RIGHT, "SPIT_TRANSITIONS_DIRECTION_RIGHT", "right"}, {SPIT_TRANSITIONS_DIRECTION_FORWARD, "SPIT_TRANSITIONS_DIRECTION_FORWARD", "forward"}, {SPIT_TRANSITIONS_DIRECTION_BACKWARD, "SPIT_TRANSITIONS_DIRECTION_BACKWARD", "backward"}, {0, NULL, NULL}}; + GType spit_transitions_direction_type_id; + spit_transitions_direction_type_id = g_enum_register_static ("SpitTransitionsDirection", values); + g_once_init_leave (&spit_transitions_direction_type_id__volatile, spit_transitions_direction_type_id); + } + return spit_transitions_direction_type_id__volatile; +} + + +SpitTransitionsVisuals* spit_transitions_visuals_construct (GType object_type, GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color) { + SpitTransitionsVisuals * self = NULL; + GdkPixbuf* _tmp0_ = NULL; + GdkRectangle _tmp1_ = {0}; + GdkPixbuf* _tmp2_ = NULL; + GdkRectangle _tmp3_ = {0}; + GdkRGBA _tmp4_ = {0}; +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail ((from_pixbuf == NULL) || GDK_IS_PIXBUF (from_pixbuf), NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (from_pos != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail ((to_pixbuf == NULL) || GDK_IS_PIXBUF (to_pixbuf), NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (to_pos != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (bg_color != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self = (SpitTransitionsVisuals*) g_object_new (object_type, NULL); +#line 96 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = from_pixbuf; +#line 96 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_from_pixbuf (self, _tmp0_); +#line 97 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = *from_pos; +#line 97 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_from_pos (self, &_tmp1_); +#line 98 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp2_ = to_pixbuf; +#line 98 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_to_pixbuf (self, _tmp2_); +#line 99 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp3_ = *to_pos; +#line 99 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_to_pos (self, &_tmp3_); +#line 100 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp4_ = *bg_color; +#line 100 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_bg_color (self, &_tmp4_); +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return self; +#line 422 "TransitionsInterfaces.c" +} + + +SpitTransitionsVisuals* spit_transitions_visuals_new (GdkPixbuf* from_pixbuf, GdkRectangle* from_pos, GdkPixbuf* to_pixbuf, GdkRectangle* to_pos, GdkRGBA* bg_color) { +#line 94 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return spit_transitions_visuals_construct (SPIT_TRANSITIONS_TYPE_VISUALS, from_pixbuf, from_pos, to_pixbuf, to_pos, bg_color); +#line 429 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved0 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved0 (SpitTransitionsVisuals* self) { +#line 106 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 106 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved0 (self); +#line 442 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved1 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved1 (SpitTransitionsVisuals* self) { +#line 107 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 107 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved1 (self); +#line 455 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved2 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved2 (SpitTransitionsVisuals* self) { +#line 108 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 108 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved2 (self); +#line 468 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved3 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved3 (SpitTransitionsVisuals* self) { +#line 109 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 109 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved3 (self); +#line 481 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved4 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved4 (SpitTransitionsVisuals* self) { +#line 110 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 110 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved4 (self); +#line 494 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved5 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved5 (SpitTransitionsVisuals* self) { +#line 111 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 111 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved5 (self); +#line 507 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved6 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved6 (SpitTransitionsVisuals* self) { +#line 112 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 112 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved6 (self); +#line 520 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_real_reserved7 (SpitTransitionsVisuals* self) { +} + + +void spit_transitions_visuals_reserved7 (SpitTransitionsVisuals* self) { +#line 113 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 113 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_VISUALS_GET_CLASS (self)->reserved7 (self); +#line 533 "TransitionsInterfaces.c" +} + + +GdkPixbuf* spit_transitions_visuals_get_from_pixbuf (SpitTransitionsVisuals* self) { + GdkPixbuf* result; + GdkPixbuf* _tmp0_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self), NULL); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_from_pixbuf; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 548 "TransitionsInterfaces.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return self ? g_object_ref (self) : NULL; +#line 555 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_from_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _g_object_unref0 (self->priv->_from_pixbuf); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_from_pixbuf = _tmp1_; +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "from-pixbuf"); +#line 574 "TransitionsInterfaces.c" +} + + +void spit_transitions_visuals_get_from_pos (SpitTransitionsVisuals* self, GdkRectangle* result) { + GdkRectangle _tmp0_ = {0}; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_from_pos; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + *result = _tmp0_; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return; +#line 588 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_from_pos (SpitTransitionsVisuals* self, GdkRectangle* value) { + GdkRectangle _tmp0_ = {0}; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = *value; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_from_pos = _tmp0_; +#line 73 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "from-pos"); +#line 602 "TransitionsInterfaces.c" +} + + +GdkPixbuf* spit_transitions_visuals_get_to_pixbuf (SpitTransitionsVisuals* self) { + GdkPixbuf* result; + GdkPixbuf* _tmp0_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self), NULL); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_to_pixbuf; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 617 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_to_pixbuf (SpitTransitionsVisuals* self, GdkPixbuf* value) { + GdkPixbuf* _tmp0_ = NULL; + GdkPixbuf* _tmp1_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _g_object_unref0 (self->priv->_to_pixbuf); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_to_pixbuf = _tmp1_; +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "to-pixbuf"); +#line 636 "TransitionsInterfaces.c" +} + + +void spit_transitions_visuals_get_to_pos (SpitTransitionsVisuals* self, GdkRectangle* result) { + GdkRectangle _tmp0_ = {0}; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_to_pos; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + *result = _tmp0_; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return; +#line 650 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_to_pos (SpitTransitionsVisuals* self, GdkRectangle* value) { + GdkRectangle _tmp0_ = {0}; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = *value; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_to_pos = _tmp0_; +#line 87 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "to-pos"); +#line 664 "TransitionsInterfaces.c" +} + + +void spit_transitions_visuals_get_bg_color (SpitTransitionsVisuals* self, GdkRGBA* result) { + GdkRGBA _tmp0_ = {0}; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_bg_color; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + *result = _tmp0_; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return; +#line 678 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_set_bg_color (SpitTransitionsVisuals* self, GdkRGBA* value) { + GdkRGBA _tmp0_ = {0}; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (self)); +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = *value; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_bg_color = _tmp0_; +#line 92 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "bg-color"); +#line 692 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_class_init (SpitTransitionsVisualsClass * klass) { +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_parent_class = g_type_class_peek_parent (klass); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_type_class_add_private (klass, sizeof (SpitTransitionsVisualsPrivate)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved0 = spit_transitions_visuals_real_reserved0; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved1 = spit_transitions_visuals_real_reserved1; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved2 = spit_transitions_visuals_real_reserved2; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved3 = spit_transitions_visuals_real_reserved3; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved4 = spit_transitions_visuals_real_reserved4; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved5 = spit_transitions_visuals_real_reserved5; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved6 = spit_transitions_visuals_real_reserved6; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsVisualsClass *) klass)->reserved7 = spit_transitions_visuals_real_reserved7; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_spit_transitions_visuals_get_property; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_spit_transitions_visuals_set_property; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->finalize = spit_transitions_visuals_finalize; +#line 723 "TransitionsInterfaces.c" + /** + * Returns the starting pixbuf (the pixbuf currently on the display). + * + * If transitioning from a blank screen, this will return null. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF, g_param_spec_object ("from-pixbuf", "from-pixbuf", "from-pixbuf", GDK_TYPE_PIXBUF, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 731 "TransitionsInterfaces.c" + /** + * Returns the position of the starting pixbuf on the display. + * + * If transitioning from a blank screen, this will be zeroed. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_FROM_POS, g_param_spec_boxed ("from-pos", "from-pos", "from-pos", GDK_TYPE_RECTANGLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 739 "TransitionsInterfaces.c" + /** + * Returns the ending pixbuf (the pixbuf that the transition should result in). + * + * If transitioning to a blank screen, this will return null. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_TO_PIXBUF, g_param_spec_object ("to-pixbuf", "to-pixbuf", "to-pixbuf", GDK_TYPE_PIXBUF, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 747 "TransitionsInterfaces.c" + /** + * Returns the position of the ending pixbuf on the display. + * + * If transitioning to a blank screen, this will be zeroed. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_TO_POS, g_param_spec_boxed ("to-pos", "to-pos", "to-pos", GDK_TYPE_RECTANGLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 755 "TransitionsInterfaces.c" + /** + * Returns the background color of the viewport. + */ +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_VISUALS_BG_COLOR, g_param_spec_boxed ("bg-color", "bg-color", "bg-color", gdk_rgba_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 761 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_instance_init (SpitTransitionsVisuals * self) { +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv = SPIT_TRANSITIONS_VISUALS_GET_PRIVATE (self); +#line 768 "TransitionsInterfaces.c" +} + + +static void spit_transitions_visuals_finalize (GObject* obj) { + SpitTransitionsVisuals * self; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals); +#line 66 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _g_object_unref0 (self->priv->_from_pixbuf); +#line 80 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _g_object_unref0 (self->priv->_to_pixbuf); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (spit_transitions_visuals_parent_class)->finalize (obj); +#line 782 "TransitionsInterfaces.c" +} + + +/** + * Visuals contains the pertinent drawing information for the transition that must occur. + * + * A Visuals object is supplied to {@link Effect} at the start of the transition and during each + * call to paint to the screen. + * + * Note that if starting with a blank screen, from_pixbuf will be null and from_pos will be + * zeroed. The transition should be considered to start from a blank screen of the supplied + * background color. + * + * Also note that if transitioning to a blank screen, to_pixbuf will be null and to_pos will be + * zeroed. Like the prior case, the transition should move toward a blank screen of the background + * color. + */ +GType spit_transitions_visuals_get_type (void) { + static volatile gsize spit_transitions_visuals_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_visuals_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsVisualsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_transitions_visuals_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitTransitionsVisuals), 0, (GInstanceInitFunc) spit_transitions_visuals_instance_init, NULL }; + GType spit_transitions_visuals_type_id; + spit_transitions_visuals_type_id = g_type_register_static (G_TYPE_OBJECT, "SpitTransitionsVisuals", &g_define_type_info, 0); + g_once_init_leave (&spit_transitions_visuals_type_id__volatile, spit_transitions_visuals_type_id); + } + return spit_transitions_visuals_type_id__volatile; +} + + +static void _vala_spit_transitions_visuals_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + SpitTransitionsVisuals * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + switch (property_id) { +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_object (value, spit_transitions_visuals_get_from_pixbuf (self)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_FROM_POS: +#line 825 "TransitionsInterfaces.c" + { + GdkRectangle boxed; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_get_from_pos (self, &boxed); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_boxed (value, &boxed); +#line 832 "TransitionsInterfaces.c" + } +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_TO_PIXBUF: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_object (value, spit_transitions_visuals_get_to_pixbuf (self)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_TO_POS: +#line 844 "TransitionsInterfaces.c" + { + GdkRectangle boxed; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_get_to_pos (self, &boxed); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_boxed (value, &boxed); +#line 851 "TransitionsInterfaces.c" + } +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_BG_COLOR: +#line 857 "TransitionsInterfaces.c" + { + GdkRGBA boxed; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_get_bg_color (self, &boxed); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_boxed (value, &boxed); +#line 864 "TransitionsInterfaces.c" + } +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 868 "TransitionsInterfaces.c" + default: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 874 "TransitionsInterfaces.c" + } +} + + +static void _vala_spit_transitions_visuals_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + SpitTransitionsVisuals * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_VISUALS, SpitTransitionsVisuals); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + switch (property_id) { +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_FROM_PIXBUF: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_from_pixbuf (self, g_value_get_object (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_FROM_POS: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_from_pos (self, g_value_get_boxed (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_TO_PIXBUF: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_to_pixbuf (self, g_value_get_object (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_TO_POS: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_to_pos (self, g_value_get_boxed (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_VISUALS_BG_COLOR: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_visuals_set_bg_color (self, g_value_get_boxed (value)); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 914 "TransitionsInterfaces.c" + default: +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 60 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 920 "TransitionsInterfaces.c" + } +} + + +SpitTransitionsMotion* spit_transitions_motion_construct (GType object_type, SpitTransitionsDirection direction, gint fps, gint duration_msec) { + SpitTransitionsMotion * self = NULL; + SpitTransitionsDirection _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self = (SpitTransitionsMotion*) g_object_new (object_type, NULL); +#line 158 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = direction; +#line 158 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_direction (self, _tmp0_); +#line 159 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = fps; +#line 159 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_fps (self, _tmp1_); +#line 160 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp2_ = duration_msec; +#line 160 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_duration_msec (self, _tmp2_); +#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return self; +#line 946 "TransitionsInterfaces.c" +} + + +SpitTransitionsMotion* spit_transitions_motion_new (SpitTransitionsDirection direction, gint fps, gint duration_msec) { +#line 157 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return spit_transitions_motion_construct (SPIT_TRANSITIONS_TYPE_MOTION, direction, fps, duration_msec); +#line 953 "TransitionsInterfaces.c" +} + + +/** + * Returns a value from 0.0 to 1.0 that represents the percentage of the transition's completion + * for the specified frame. + */ +gdouble spit_transitions_motion_get_alpha (SpitTransitionsMotion* self, gint frame_number) { + gdouble result = 0.0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 167 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0.0); +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = frame_number; +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = spit_transitions_motion_get_total_frames (self); +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp2_ = _tmp1_; +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = ((gdouble) _tmp0_) / ((gdouble) _tmp2_); +#line 168 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 978 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved0 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved0 (SpitTransitionsMotion* self) { +#line 174 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 174 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved0 (self); +#line 991 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved1 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved1 (SpitTransitionsMotion* self) { +#line 175 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 175 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved1 (self); +#line 1004 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved2 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved2 (SpitTransitionsMotion* self) { +#line 176 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 176 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved2 (self); +#line 1017 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved3 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved3 (SpitTransitionsMotion* self) { +#line 177 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 177 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved3 (self); +#line 1030 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved4 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved4 (SpitTransitionsMotion* self) { +#line 178 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 178 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved4 (self); +#line 1043 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved5 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved5 (SpitTransitionsMotion* self) { +#line 179 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 179 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved5 (self); +#line 1056 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved6 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved6 (SpitTransitionsMotion* self) { +#line 180 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 180 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved6 (self); +#line 1069 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_real_reserved7 (SpitTransitionsMotion* self) { +} + + +void spit_transitions_motion_reserved7 (SpitTransitionsMotion* self) { +#line 181 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 181 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_MOTION_GET_CLASS (self)->reserved7 (self); +#line 1082 "TransitionsInterfaces.c" +} + + +SpitTransitionsDirection spit_transitions_motion_get_direction (SpitTransitionsMotion* self) { + SpitTransitionsDirection result; + SpitTransitionsDirection _tmp0_ = 0; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_direction; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1097 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_set_direction (SpitTransitionsMotion* self, SpitTransitionsDirection value) { + SpitTransitionsDirection _tmp0_ = 0; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_direction = _tmp0_; +#line 126 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "direction"); +#line 1111 "TransitionsInterfaces.c" +} + + +gint spit_transitions_motion_get_fps (SpitTransitionsMotion* self) { + gint result; + gint _tmp0_ = 0; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_fps; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1126 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_set_fps (SpitTransitionsMotion* self, gint value) { + gint _tmp0_ = 0; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_fps = _tmp0_; +#line 131 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "fps"); +#line 1140 "TransitionsInterfaces.c" +} + + +gint spit_transitions_motion_get_duration_msec (SpitTransitionsMotion* self) { + gint result; + gint _tmp0_ = 0; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_duration_msec; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = _tmp0_; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1155 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_set_duration_msec (SpitTransitionsMotion* self, gint value) { + gint _tmp0_ = 0; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (self)); +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = value; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv->_duration_msec = _tmp0_; +#line 136 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_notify ((GObject *) self, "duration-msec"); +#line 1169 "TransitionsInterfaces.c" +} + + +gint spit_transitions_motion_get_total_frames (SpitTransitionsMotion* self) { + gint result; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 143 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_fps; +#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp1_ = self->priv->_duration_msec; +#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = (gint) (((gdouble) _tmp0_) * (((gdouble) _tmp1_) / 1000.0)); +#line 144 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1187 "TransitionsInterfaces.c" +} + + +gint spit_transitions_motion_get_tick_msec (SpitTransitionsMotion* self) { + gint result; + gint _tmp0_ = 0; +#line 152 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_MOTION (self), 0); +#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + _tmp0_ = self->priv->_fps; +#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + result = (gint) (1000.0 / ((gdouble) _tmp0_)); +#line 153 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return result; +#line 1202 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_class_init (SpitTransitionsMotionClass * klass) { +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_parent_class = g_type_class_peek_parent (klass); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_type_class_add_private (klass, sizeof (SpitTransitionsMotionPrivate)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved0 = spit_transitions_motion_real_reserved0; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved1 = spit_transitions_motion_real_reserved1; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved2 = spit_transitions_motion_real_reserved2; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved3 = spit_transitions_motion_real_reserved3; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved4 = spit_transitions_motion_real_reserved4; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved5 = spit_transitions_motion_real_reserved5; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved6 = spit_transitions_motion_real_reserved6; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + ((SpitTransitionsMotionClass *) klass)->reserved7 = spit_transitions_motion_real_reserved7; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->get_property = _vala_spit_transitions_motion_get_property; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->set_property = _vala_spit_transitions_motion_set_property; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (klass)->finalize = spit_transitions_motion_finalize; +#line 1233 "TransitionsInterfaces.c" + /** + * Returns the direction the transition should occur in (if pertinent to the {@link Effect}. + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_DIRECTION, g_param_spec_enum ("direction", "direction", "direction", SPIT_TRANSITIONS_TYPE_DIRECTION, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1239 "TransitionsInterfaces.c" + /** + * Returns the frames per second of the {@link Effect}. + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_FPS, g_param_spec_int ("fps", "fps", "fps", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1245 "TransitionsInterfaces.c" + /** + * Returns the amount of time the transition should take (in milliseconds). + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_DURATION_MSEC, g_param_spec_int ("duration-msec", "duration-msec", "duration-msec", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1251 "TransitionsInterfaces.c" + /** + * Returns the number of frames that should be required to perform the transition in the + * expected {@link duration_msec}. + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES, g_param_spec_int ("total-frames", "total-frames", "total-frames", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1258 "TransitionsInterfaces.c" + /** + * Returns the approximate time between each frame draw (in milliseconds). + */ +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_object_class_install_property (G_OBJECT_CLASS (klass), SPIT_TRANSITIONS_MOTION_TICK_MSEC, g_param_spec_int ("tick-msec", "tick-msec", "tick-msec", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +#line 1264 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_instance_init (SpitTransitionsMotion * self) { +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self->priv = SPIT_TRANSITIONS_MOTION_GET_PRIVATE (self); +#line 1271 "TransitionsInterfaces.c" +} + + +static void spit_transitions_motion_finalize (GObject* obj) { + SpitTransitionsMotion * self; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_CLASS (spit_transitions_motion_parent_class)->finalize (obj); +#line 1281 "TransitionsInterfaces.c" +} + + +/** + * Motion contains all the pertinent information regarding the animation of the transition. + * + * Some of Motion's information may not apply to a transition effect (such as Direction for a + * fade effect). + */ +GType spit_transitions_motion_get_type (void) { + static volatile gsize spit_transitions_motion_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_motion_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsMotionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_transitions_motion_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitTransitionsMotion), 0, (GInstanceInitFunc) spit_transitions_motion_instance_init, NULL }; + GType spit_transitions_motion_type_id; + spit_transitions_motion_type_id = g_type_register_static (G_TYPE_OBJECT, "SpitTransitionsMotion", &g_define_type_info, 0); + g_once_init_leave (&spit_transitions_motion_type_id__volatile, spit_transitions_motion_type_id); + } + return spit_transitions_motion_type_id__volatile; +} + + +static void _vala_spit_transitions_motion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + SpitTransitionsMotion * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + switch (property_id) { +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_DIRECTION: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_enum (value, spit_transitions_motion_get_direction (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_FPS: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_int (value, spit_transitions_motion_get_fps (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_DURATION_MSEC: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_int (value, spit_transitions_motion_get_duration_msec (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_TOTAL_FRAMES: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_int (value, spit_transitions_motion_get_total_frames (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_TICK_MSEC: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_value_set_int (value, spit_transitions_motion_get_tick_msec (self)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 1338 "TransitionsInterfaces.c" + default: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 1344 "TransitionsInterfaces.c" + } +} + + +static void _vala_spit_transitions_motion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + SpitTransitionsMotion * self; + self = G_TYPE_CHECK_INSTANCE_CAST (object, SPIT_TRANSITIONS_TYPE_MOTION, SpitTransitionsMotion); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + switch (property_id) { +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_DIRECTION: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_direction (self, g_value_get_enum (value)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_FPS: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_fps (self, g_value_get_int (value)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + case SPIT_TRANSITIONS_MOTION_DURATION_MSEC: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + spit_transitions_motion_set_duration_msec (self, g_value_get_int (value)); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 1372 "TransitionsInterfaces.c" + default: +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +#line 122 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + break; +#line 1378 "TransitionsInterfaces.c" + } +} + + +/** + * Returns an instance of the {@link Effect} this descriptor represents. + */ +SpitTransitionsEffect* spit_transitions_descriptor_create (SpitTransitionsDescriptor* self, SpitHostInterface* host) { +#line 191 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self), NULL); +#line 191 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->create (self, host); +#line 1391 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved0 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved0 (SpitTransitionsDescriptor* self) { +#line 196 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 196 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved0 (self); +#line 1404 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved1 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved1 (SpitTransitionsDescriptor* self) { +#line 197 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 197 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved1 (self); +#line 1417 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved2 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved2 (SpitTransitionsDescriptor* self) { +#line 198 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 198 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved2 (self); +#line 1430 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved3 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved3 (SpitTransitionsDescriptor* self) { +#line 199 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 199 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved3 (self); +#line 1443 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved4 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved4 (SpitTransitionsDescriptor* self) { +#line 200 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 200 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved4 (self); +#line 1456 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved5 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved5 (SpitTransitionsDescriptor* self) { +#line 201 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 201 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved5 (self); +#line 1469 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved6 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved6 (SpitTransitionsDescriptor* self) { +#line 202 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 202 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved6 (self); +#line 1482 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_real_reserved7 (SpitTransitionsDescriptor* self) { +} + + +void spit_transitions_descriptor_reserved7 (SpitTransitionsDescriptor* self) { +#line 203 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (self)); +#line 203 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_DESCRIPTOR_GET_INTERFACE (self)->reserved7 (self); +#line 1495 "TransitionsInterfaces.c" +} + + +static void spit_transitions_descriptor_base_init (SpitTransitionsDescriptorIface * iface) { +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + static gboolean initialized = FALSE; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + if (!initialized) { +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + initialized = TRUE; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved0 = spit_transitions_descriptor_real_reserved0; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved1 = spit_transitions_descriptor_real_reserved1; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved2 = spit_transitions_descriptor_real_reserved2; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved3 = spit_transitions_descriptor_real_reserved3; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved4 = spit_transitions_descriptor_real_reserved4; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved5 = spit_transitions_descriptor_real_reserved5; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved6 = spit_transitions_descriptor_real_reserved6; +#line 187 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved7 = spit_transitions_descriptor_real_reserved7; +#line 1522 "TransitionsInterfaces.c" + } +} + + +/** + * A Descriptor offers a factory method for creating {@link Effect} instances. + */ +GType spit_transitions_descriptor_get_type (void) { + static volatile gsize spit_transitions_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsDescriptorIface), (GBaseInitFunc) spit_transitions_descriptor_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_transitions_descriptor_type_id; + spit_transitions_descriptor_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitTransitionsDescriptor", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_transitions_descriptor_type_id, G_TYPE_OBJECT); + g_type_interface_add_prerequisite (spit_transitions_descriptor_type_id, SPIT_TYPE_PLUGGABLE); + g_once_init_leave (&spit_transitions_descriptor_type_id__volatile, spit_transitions_descriptor_type_id); + } + return spit_transitions_descriptor_type_id__volatile; +} + + +/** + * Returns frames per second (FPS) information for this effect. + * + * If the min_fps is not met, the Effect may be cancelled or the host will skip ahead. + * + * @param desired_fps The desired FPS of the transition. Return zero if no + * transition is to occur (instantaneous or null transition). + * @param min_fps The minimum FPS before the effect is consider "ruined". + * Return zero if any FPS is acceptable. + */ +void spit_transitions_effect_get_fps (SpitTransitionsEffect* self, gint* desired_fps, gint* min_fps) { +#line 240 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 240 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->get_fps (self, desired_fps, min_fps); +#line 1559 "TransitionsInterfaces.c" +} + + +/** + * Called when the effect is starting. + * + * All state should be reset. The frame number, which is not supplied, is one. + */ +void spit_transitions_effect_start (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { +#line 247 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 247 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->start (self, visuals, motion); +#line 1573 "TransitionsInterfaces.c" +} + + +/** + * Return true if the Effect needs the background cleared prior to calling {@link paint}. + */ +gboolean spit_transitions_effect_needs_clear_background (SpitTransitionsEffect* self) { +#line 252 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self), FALSE); +#line 252 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + return SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->needs_clear_background (self); +#line 1585 "TransitionsInterfaces.c" +} + + +/** + * Called when the effect needs to paint (i.e. an expose or draw event has occurred). + * + * This call should ''not'' advance the state of the effect (i.e. it may be called more than + * once for the same frame). + * + * @param ctx The Cairo context the Effect should use to paint the transition. + * @param width The width (in pixels) of the Cairo surface. + * @param height The height (in pixels) of the Cairo surface. + * @param frame_number The ''one-based'' frame being drawn. + */ +void spit_transitions_effect_paint (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { +#line 265 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 265 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->paint (self, visuals, motion, ctx, width, height, frame_number); +#line 1605 "TransitionsInterfaces.c" +} + + +/** + * Called to notify the effect that the state of the transition should advance to the specified + * frame number. + * + * Note: There is no guarantee frame numbers will be consecutive between calls + * to next, especially if the transition clock is attempting to catch up. + * + * @param frame_number The ''one-based'' frame being advanced to. + */ +void spit_transitions_effect_advance (SpitTransitionsEffect* self, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { +#line 277 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 277 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->advance (self, visuals, motion, frame_number); +#line 1623 "TransitionsInterfaces.c" +} + + +/** + * Called if the Effect should halt the transition. + * + * It only needs to reset state if {@link start} is called again. + */ +void spit_transitions_effect_cancel (SpitTransitionsEffect* self) { +#line 284 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 284 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->cancel (self); +#line 1637 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved0 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved0 (SpitTransitionsEffect* self) { +#line 289 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 289 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved0 (self); +#line 1650 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved1 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved1 (SpitTransitionsEffect* self) { +#line 290 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 290 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved1 (self); +#line 1663 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved2 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved2 (SpitTransitionsEffect* self) { +#line 291 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 291 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved2 (self); +#line 1676 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved3 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved3 (SpitTransitionsEffect* self) { +#line 292 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 292 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved3 (self); +#line 1689 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved4 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved4 (SpitTransitionsEffect* self) { +#line 293 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 293 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved4 (self); +#line 1702 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved5 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved5 (SpitTransitionsEffect* self) { +#line 294 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 294 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved5 (self); +#line 1715 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved6 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved6 (SpitTransitionsEffect* self) { +#line 295 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 295 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved6 (self); +#line 1728 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_real_reserved7 (SpitTransitionsEffect* self) { +} + + +void spit_transitions_effect_reserved7 (SpitTransitionsEffect* self) { +#line 296 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_EFFECT (self)); +#line 296 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + SPIT_TRANSITIONS_EFFECT_GET_INTERFACE (self)->reserved7 (self); +#line 1741 "TransitionsInterfaces.c" +} + + +static void spit_transitions_effect_base_init (SpitTransitionsEffectIface * iface) { +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + static gboolean initialized = FALSE; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + if (!initialized) { +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + initialized = TRUE; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved0 = spit_transitions_effect_real_reserved0; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved1 = spit_transitions_effect_real_reserved1; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved2 = spit_transitions_effect_real_reserved2; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved3 = spit_transitions_effect_real_reserved3; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved4 = spit_transitions_effect_real_reserved4; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved5 = spit_transitions_effect_real_reserved5; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved6 = spit_transitions_effect_real_reserved6; +#line 229 "/home/jens/Source/shotwell/src/plugins/TransitionsInterfaces.vala" + iface->reserved7 = spit_transitions_effect_real_reserved7; +#line 1768 "TransitionsInterfaces.c" + } +} + + +/** + * An Effect represents an interstitial effect that is used to transition the display from one + * image to another. + * + * An Effect must hold state so that it knows what it should be drawn at any call to {@link paint} + * (which is called regularly during a transition). That is, it should be able to draw any frame of + * the transition at any time. The same frame may need to be drawn multiple times, or the host + * may skip ahead and ask for a frame well ahead of the last requested one. + * + * ''Frame numbers are one-based throughout this interface''. This is because the initial state (the + * blank viewport or the starting pixbuf) is frame zero. The Effect is never called to paint this + * frame. The Effect is also not called to paint the final frame (a blank viewport or the ending + * pixbuf). + * + * If the Effect uses background threads for its work, it should use the appropriate primitives + * for critical sections. All calls to this interface will be from the context of the main UI + * thread. ''None of these calls should block.'' + * + * If the Details object needs to be held by the Effect, its reference to it should be dropped at + * the end of the cycle (or shortly thereafter). + * + * An instance may be reused and should be prepared for restarts. + */ +GType spit_transitions_effect_get_type (void) { + static volatile gsize spit_transitions_effect_type_id__volatile = 0; + if (g_once_init_enter (&spit_transitions_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitTransitionsEffectIface), (GBaseInitFunc) spit_transitions_effect_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType spit_transitions_effect_type_id; + spit_transitions_effect_type_id = g_type_register_static (G_TYPE_INTERFACE, "SpitTransitionsEffect", &g_define_type_info, 0); + g_type_interface_add_prerequisite (spit_transitions_effect_type_id, G_TYPE_OBJECT); + g_once_init_leave (&spit_transitions_effect_type_id__volatile, spit_transitions_effect_type_id); + } + return spit_transitions_effect_type_id__volatile; +} + + + diff --git a/src/plugins/mk/interfaces.mk b/src/plugins/mk/interfaces.mk deleted file mode 100644 index 34be1eb..0000000 --- a/src/plugins/mk/interfaces.mk +++ /dev/null @@ -1,29 +0,0 @@ - -PLUGIN_INTERFACES := \ - src/plugins/SpitInterfaces.vala \ - src/plugins/TransitionsInterfaces.vala \ - src/plugins/PublishingInterfaces.vala \ - src/plugins/DataImportsInterfaces.vala - -PLUGIN_PKG_REQS := \ - gobject-2.0 \ - glib-2.0 \ - gdk-3.0 \ - gtk+-3.0 \ - gee-0.8 - -PLUGIN_VAPI := plugins/shotwell-plugin-dev-1.0.vapi -PLUGIN_HEADER := $(PLUGIN_VAPI:.vapi=.h) -PLUGIN_DEPS := $(PLUGIN_VAPI:.vapi=.deps) - -$(PLUGIN_DEPS): src/plugins/mk/interfaces.mk - rm -f $@ - $(foreach pkg,$(PLUGIN_PKG_REQS),`echo $(pkg) >> $@`) - -$(PLUGIN_HEADER): $(PLUGIN_VAPI) - -$(PLUGIN_VAPI): $(PLUGIN_INTERFACES) src/plugins/mk/interfaces.mk - $(call check_valac_version) - $(VALAC) -c $(VALAFLAGS) -X -DGETTEXT_PACKAGE='"shotwell"' -X -I. $(foreach pkg,$(PLUGIN_PKG_REQS),--pkg=$(pkg)) --includedir=plugins --vapi=$@ --header=$(basename $@).h $(PLUGIN_INTERFACES) - $(foreach src,$(PLUGIN_INTERFACES),`rm $(notdir $(src)).o`) - diff --git a/src/plugins/mk/plugins.mk b/src/plugins/mk/plugins.mk deleted file mode 100644 index 903dd8e..0000000 --- a/src/plugins/mk/plugins.mk +++ /dev/null @@ -1,35 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Plugins - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := plugins - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - PublishingInterfaces.vala \ - SpitInterfaces.vala \ - TransitionsInterfaces.vala \ - StandardHostInterface.vala \ - ManifestWidget.vala \ - DataImportsInterfaces.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Util - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := \ - mk/interfaces.mk - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/publishing/APIGlue.c b/src/publishing/APIGlue.c new file mode 100644 index 0000000..29cdd0a --- /dev/null +++ b/src/publishing/APIGlue.c @@ -0,0 +1,1432 @@ +/* APIGlue.c generated by valac 0.32.1, the Vala compiler + * generated from APIGlue.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include + + +#define PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (publishing_glue_media_source_publishable_wrapper_get_type ()) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper)) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperClass)) +#define PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER)) +#define PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER)) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperClass)) + +typedef struct _PublishingGlueMediaSourcePublishableWrapper PublishingGlueMediaSourcePublishableWrapper; +typedef struct _PublishingGlueMediaSourcePublishableWrapperClass PublishingGlueMediaSourcePublishableWrapperClass; +typedef struct _PublishingGlueMediaSourcePublishableWrapperPrivate PublishingGlueMediaSourcePublishableWrapperPrivate; + +#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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#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_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_SCALING (scaling_get_type ()) + +#define TYPE_SCALE_CONSTRAINT (scale_constraint_get_type ()) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; +typedef struct _Scaling Scaling; + +#define JPEG_TYPE_QUALITY (jpeg_quality_get_type ()) + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; + +#define 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_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_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; + +struct _PublishingGlueMediaSourcePublishableWrapper { + GObject parent_instance; + PublishingGlueMediaSourcePublishableWrapperPrivate * priv; +}; + +struct _PublishingGlueMediaSourcePublishableWrapperClass { + GObjectClass parent_class; +}; + +struct _PublishingGlueMediaSourcePublishableWrapperPrivate { + MediaSource* wrapped; + GFile* serialized_file; + GeeMap* param_string; +}; + +typedef enum { + SCALE_CONSTRAINT_ORIGINAL, + SCALE_CONSTRAINT_DIMENSIONS, + SCALE_CONSTRAINT_WIDTH, + SCALE_CONSTRAINT_HEIGHT, + SCALE_CONSTRAINT_FILL_VIEWPORT +} ScaleConstraint; + +struct _Dimensions { + gint width; + gint height; +}; + +struct _Scaling { + ScaleConstraint constraint; + gint scale; + Dimensions viewport; + gboolean scale_up; +}; + +typedef enum { + JPEG_QUALITY_LOW = 50, + JPEG_QUALITY_MEDIUM = 75, + JPEG_QUALITY_HIGH = 90, + JPEG_QUALITY_MAXIMUM = 100 +} JpegQuality; + +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; + + +static gpointer publishing_glue_media_source_publishable_wrapper_parent_class = NULL; +static gint publishing_glue_media_source_publishable_wrapper_name_ticker; +static gint publishing_glue_media_source_publishable_wrapper_name_ticker = 0; +extern TagSourceCollection* tag_global; +static SpitPublishingPublishableIface* publishing_glue_media_source_publishable_wrapper_spit_publishing_publishable_parent_iface = NULL; + +GType publishing_glue_media_source_publishable_wrapper_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; +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperPrivate)) +enum { + PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_DUMMY_PROPERTY +}; +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_new (MediaSource* to_wrap); +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_construct (GType object_type, MediaSource* to_wrap); +static void publishing_glue_media_source_publishable_wrapper_setup_parameters (PublishingGlueMediaSourcePublishableWrapper* self); +void publishing_glue_media_source_publishable_wrapper_clean_up (PublishingGlueMediaSourcePublishableWrapper* self); +gchar* media_source_get_basename (MediaSource* self); +gchar* media_source_get_title (MediaSource* self); +gchar* media_source_get_comment (MediaSource* self); +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +Event* media_source_get_event (MediaSource* self); +gchar* event_source_get_comment (EventSource* self); +GFile* publishing_glue_media_source_publishable_wrapper_serialize_for_publishing (PublishingGlueMediaSourcePublishableWrapper* self, gint content_major_axis, gboolean strip_metadata, GError** error); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GFile* app_dirs_get_temp_dir (void); +gchar* data_source_get_source_id (DataSource* self); +GType scaling_get_type (void) G_GNUC_CONST; +GType scale_constraint_get_type (void) G_GNUC_CONST; +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +Scaling* scaling_dup (const Scaling* self); +void scaling_free (Scaling* self); +void scaling_for_best_fit (gint pixels, gboolean scale_up, Scaling* result); +void scaling_for_original (Scaling* result); +GType jpeg_quality_get_type (void) G_GNUC_CONST; +GType photo_file_format_get_type (void) G_GNUC_CONST; +void photo_export (Photo* self, GFile* dest_file, Scaling* scaling, JpegQuality quality, PhotoFileFormat export_format, gboolean direct_copy_unmodified, gboolean export_metadata, GError** error); +gchar* data_object_get_name (DataObject* self); +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +GFile* media_source_get_file (MediaSource* self); +void video_export (Video* self, GFile* dest_file, GError** error); +static gchar* publishing_glue_media_source_publishable_wrapper_real_get_publishing_name (SpitPublishingPublishable* base); +static gchar* publishing_glue_media_source_publishable_wrapper_real_get_param_string (SpitPublishingPublishable* base, const gchar* name); +static gchar** publishing_glue_media_source_publishable_wrapper_real_get_publishing_keywords (SpitPublishingPublishable* base, int* result_length1); +GType tag_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GeeSortedSet* tag_source_collection_fetch_sorted_for_source (TagSourceCollection* self, MediaSource* photo); +static void _vala_array_add60 (gchar*** array, int* length, int* size, gchar* value); +static gchar** _vala_array_dup22 (gchar** self, int length); +static SpitPublishingPublisherMediaType publishing_glue_media_source_publishable_wrapper_real_get_media_type (SpitPublishingPublishable* base); +static GFile* publishing_glue_media_source_publishable_wrapper_real_get_serialized_file (SpitPublishingPublishable* base); +static GDateTime* publishing_glue_media_source_publishable_wrapper_real_get_exposure_date_time (SpitPublishingPublishable* base); +time_t media_source_get_exposure_time (MediaSource* self); +static void publishing_glue_media_source_publishable_wrapper_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return self ? g_object_ref (self) : NULL; +#line 349 "APIGlue.c" +} + + +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_construct (GType object_type, MediaSource* to_wrap) { + PublishingGlueMediaSourcePublishableWrapper * self = NULL; + MediaSource* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (to_wrap), NULL); +#line 15 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = (PublishingGlueMediaSourcePublishableWrapper*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = to_wrap; +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->wrapped); +#line 16 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->wrapped = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_setup_parameters (self); +#line 15 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return self; +#line 373 "APIGlue.c" +} + + +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_new (MediaSource* to_wrap) { +#line 15 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return publishing_glue_media_source_publishable_wrapper_construct (PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, to_wrap); +#line 380 "APIGlue.c" +} + + +void publishing_glue_media_source_publishable_wrapper_clean_up (PublishingGlueMediaSourcePublishableWrapper* self) { + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_if_fail (PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (self)); +#line 21 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->serialized_file; +#line 21 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp0_ == NULL) { +#line 22 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return; +#line 398 "APIGlue.c" + } +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->serialized_file; +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = g_file_get_path (_tmp1_); +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = _tmp2_; +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_debug ("APIGlue.vala:24: cleaning up temporary publishing file '%s'.", _tmp3_); +#line 24 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp3_); +#line 410 "APIGlue.c" + { + GFile* _tmp4_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = self->priv->serialized_file; +#line 27 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_file_delete (_tmp4_, NULL, &_inner_error_); +#line 27 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 419 "APIGlue.c" + goto __catch35_g_error; + } + } + goto __finally35; + __catch35_g_error: + { + GError* err = NULL; + GFile* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + err = _inner_error_; +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = self->priv->serialized_file; +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = g_file_get_path (_tmp5_); +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = _tmp6_; +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_warning ("APIGlue.vala:29: couldn't delete temporary publishing file '%s'.", _tmp7_); +#line 29 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp7_); +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_error_free0 (err); +#line 446 "APIGlue.c" + } + __finally35: +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.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 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_clear_error (&_inner_error_); +#line 26 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return; +#line 457 "APIGlue.c" + } +#line 32 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->serialized_file); +#line 32 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->serialized_file = NULL; +#line 463 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_setup_parameters (PublishingGlueMediaSourcePublishableWrapper* self) { + GeeMap* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + GeeMap* _tmp4_ = NULL; + MediaSource* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GeeMap* _tmp8_ = NULL; + MediaSource* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + MediaSource* _tmp12_ = NULL; + Event* _tmp13_ = NULL; + Event* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 35 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_if_fail (PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (self)); +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->param_string; +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->wrapped; +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = media_source_get_basename (_tmp1_); +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = _tmp2_; +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp0_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_BASENAME, _tmp3_); +#line 36 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp3_); +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = self->priv->param_string; +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = self->priv->wrapped; +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = media_source_get_title (_tmp5_); +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = _tmp6_; +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp4_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_TITLE, _tmp7_); +#line 37 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp7_); +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp8_ = self->priv->param_string; +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp9_ = self->priv->wrapped; +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp10_ = media_source_get_comment (_tmp9_); +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp11_ = _tmp10_; +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp8_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_COMMENT, _tmp11_); +#line 38 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp11_); +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp12_ = self->priv->wrapped; +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp13_ = media_source_get_event (_tmp12_); +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14_ = _tmp13_; +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp15_ = _tmp14_ != NULL; +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tmp14_); +#line 40 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp15_) { +#line 534 "APIGlue.c" + GeeMap* _tmp16_ = NULL; + MediaSource* _tmp17_ = NULL; + Event* _tmp18_ = NULL; + Event* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16_ = self->priv->param_string; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp17_ = self->priv->wrapped; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp18_ = media_source_get_event (_tmp17_); +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp19_ = _tmp18_; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp20_ = event_source_get_comment (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_EVENT_SOURCE, EventSource)); +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp21_ = _tmp20_; +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp16_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_EVENTCOMMENT, _tmp21_); +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp21_); +#line 41 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tmp19_); +#line 559 "APIGlue.c" + } else { + GeeMap* _tmp22_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp22_ = self->priv->param_string; +#line 43 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + gee_map_set (_tmp22_, SPIT_PUBLISHING_PUBLISHABLE_PARAM_STRING_EVENTCOMMENT, ""); +#line 566 "APIGlue.c" + } +} + + +GFile* publishing_glue_media_source_publishable_wrapper_serialize_for_publishing (PublishingGlueMediaSourcePublishableWrapper* self, gint content_major_axis, gboolean strip_metadata, GError** error) { + GFile* result = NULL; + MediaSource* _tmp0_ = NULL; + GFile* _tmp63_ = NULL; + GFile* _tmp64_ = NULL; + GError * _inner_error_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_val_if_fail (PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (self), NULL); +#line 49 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->wrapped; +#line 49 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO)) { +#line 583 "APIGlue.c" + LibraryPhoto* photo = NULL; + MediaSource* _tmp1_ = NULL; + LibraryPhoto* _tmp2_ = NULL; + GFile* to_file = NULL; + GFile* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GFile* _tmp8_ = NULL; + GFile* _tmp9_ = NULL; + LibraryPhoto* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GFile* _tmp30_ = NULL; + GFile* _tmp31_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->wrapped; +#line 50 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_LIBRARY_PHOTO, LibraryPhoto)); +#line 50 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + photo = _tmp2_; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = app_dirs_get_temp_dir (); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = _tmp3_; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = publishing_glue_media_source_publishable_wrapper_name_ticker; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_name_ticker = _tmp5_ + 1; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = g_strdup_printf ("publishing-%d.jpg", _tmp5_); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = _tmp6_; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp8_ = g_file_get_child (_tmp4_, _tmp7_); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp9_ = _tmp8_; +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp7_); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tmp4_); +#line 52 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + to_file = _tmp9_; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp10_ = photo; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp11_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_SOURCE, DataSource)); +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp12_ = _tmp11_; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp13_ = to_file; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp15_ = _tmp14_; +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_debug ("APIGlue.vala:55: writing photo '%s' to temporary file '%s' for publish" \ +"ing.", _tmp12_, _tmp15_); +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp15_); +#line 55 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp12_); +#line 649 "APIGlue.c" + { + Scaling _tmp16_ = {0}; + gint _tmp17_ = 0; + Scaling scaling = {0}; + LibraryPhoto* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + Scaling _tmp23_ = {0}; + gboolean _tmp24_ = FALSE; +#line 58 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp17_ = content_major_axis; +#line 58 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp17_ > 0) { +#line 662 "APIGlue.c" + gint _tmp18_ = 0; + Scaling _tmp19_ = {0}; +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp18_ = content_major_axis; +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + scaling_for_best_fit (_tmp18_, FALSE, &_tmp19_); +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16_ = _tmp19_; +#line 671 "APIGlue.c" + } else { + Scaling _tmp20_ = {0}; +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + scaling_for_original (&_tmp20_); +#line 59 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16_ = _tmp20_; +#line 678 "APIGlue.c" + } +#line 58 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + scaling = _tmp16_; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp21_ = photo; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp22_ = to_file; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp23_ = scaling; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp24_ = strip_metadata; +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + photo_export (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_PHOTO, Photo), _tmp22_, &_tmp23_, JPEG_QUALITY_HIGH, PHOTO_FILE_FORMAT_JFIF, FALSE, !_tmp24_, &_inner_error_); +#line 60 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 694 "APIGlue.c" + goto __catch36_g_error; + } + } + goto __finally36; + __catch36_g_error: + { + GError* err = NULL; + LibraryPhoto* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + GError* _tmp28_ = NULL; + GError* _tmp29_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + err = _inner_error_; +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = NULL; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp25_ = photo; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp26_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, TYPE_DATA_OBJECT, DataObject)); +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp27_ = _tmp26_; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp28_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, "unable to serialize photo '%s' for publishing.", _tmp27_); +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp29_ = _tmp28_; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp27_); +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = _tmp29_; +#line 62 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_error_free0 (err); +#line 727 "APIGlue.c" + goto __finally36; + } + __finally36: +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_propagate_error (error, _inner_error_); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (photo); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return NULL; +#line 743 "APIGlue.c" + } else { +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (photo); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.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 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_clear_error (&_inner_error_); +#line 57 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return NULL; +#line 755 "APIGlue.c" + } + } +#line 66 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp30_ = to_file; +#line 66 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp31_ = _g_object_ref0 (_tmp30_); +#line 66 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->serialized_file); +#line 66 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->serialized_file = _tmp31_; +#line 49 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 49 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (photo); +#line 770 "APIGlue.c" + } else { + MediaSource* _tmp32_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp32_ = self->priv->wrapped; +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, TYPE_VIDEO)) { +#line 777 "APIGlue.c" + Video* video = NULL; + MediaSource* _tmp33_ = NULL; + Video* _tmp34_ = NULL; + gchar* basename = NULL; + gchar* extension = NULL; + Video* _tmp35_ = NULL; + GFile* _tmp36_ = NULL; + GFile* _tmp37_ = NULL; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + GFile* to_file = NULL; + gint _tmp42_ = 0; + const gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gchar* _tmp45_ = NULL; + GFile* _tmp46_ = NULL; + GFile* _tmp47_ = NULL; + Video* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + gchar* _tmp50_ = NULL; + GFile* _tmp51_ = NULL; + gchar* _tmp52_ = NULL; + gchar* _tmp53_ = NULL; + GFile* _tmp61_ = NULL; + GFile* _tmp62_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp33_ = self->priv->wrapped; +#line 68 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp34_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, TYPE_VIDEO, Video)); +#line 68 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + video = _tmp34_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp35_ = video; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp36_ = media_source_get_file (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp37_ = _tmp36_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp38_ = g_file_get_basename (_tmp37_); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp39_ = _tmp38_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + disassemble_filename (_tmp39_, &_tmp40_, &_tmp41_); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (basename); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + basename = _tmp40_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (extension); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + extension = _tmp41_; +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp39_); +#line 72 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tmp37_); +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp42_ = publishing_glue_media_source_publishable_wrapper_name_ticker; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_name_ticker = _tmp42_ + 1; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp43_ = extension; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp44_ = g_strdup_printf ("publishing-%d.%s", _tmp42_, _tmp43_); +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp45_ = _tmp44_; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp46_ = g_file_new_for_path (_tmp45_); +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp47_ = _tmp46_; +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp45_); +#line 74 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + to_file = _tmp47_; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp48_ = video; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp49_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_DATA_SOURCE, DataSource)); +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp50_ = _tmp49_; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp51_ = to_file; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp52_ = g_file_get_path (_tmp51_); +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp53_ = _tmp52_; +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_debug ("APIGlue.vala:77: writing video '%s' to temporary file '%s' for publish" \ +"ing.", _tmp50_, _tmp53_); +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp53_); +#line 77 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp50_); +#line 871 "APIGlue.c" + { + Video* _tmp54_ = NULL; + GFile* _tmp55_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp54_ = video; +#line 80 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp55_ = to_file; +#line 80 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + video_export (_tmp54_, _tmp55_, &_inner_error_); +#line 80 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 883 "APIGlue.c" + goto __catch37_g_error; + } + } + goto __finally37; + __catch37_g_error: + { + GError* err = NULL; + Video* _tmp56_ = NULL; + gchar* _tmp57_ = NULL; + gchar* _tmp58_ = NULL; + GError* _tmp59_ = NULL; + GError* _tmp60_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + err = _inner_error_; +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp56_ = video; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp57_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_DATA_OBJECT, DataObject)); +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp58_ = _tmp57_; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp59_ = g_error_new (SPIT_PUBLISHING_PUBLISHING_ERROR, SPIT_PUBLISHING_PUBLISHING_ERROR_LOCAL_FILE_ERROR, "unable to serialize video '%s' for publishing.", _tmp58_); +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp60_ = _tmp59_; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp58_); +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _inner_error_ = _tmp60_; +#line 82 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_error_free0 (err); +#line 916 "APIGlue.c" + goto __finally37; + } + __finally37: +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_propagate_error (error, _inner_error_); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (extension); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (basename); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (video); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return NULL; +#line 936 "APIGlue.c" + } else { +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (extension); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (basename); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (video); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.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 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_clear_error (&_inner_error_); +#line 79 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return NULL; +#line 952 "APIGlue.c" + } + } +#line 86 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp61_ = to_file; +#line 86 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp62_ = _g_object_ref0 (_tmp61_); +#line 86 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->serialized_file); +#line 86 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->serialized_file = _tmp62_; +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (to_file); +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (extension); +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (basename); +#line 67 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (video); +#line 971 "APIGlue.c" + } else { +#line 88 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_error ("APIGlue.vala:88: MediaSourcePublishableWrapper.serialize_for_publishin" \ +"g( ): unknown media type."); +#line 975 "APIGlue.c" + } + } +#line 91 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp63_ = self->priv->serialized_file; +#line 91 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp64_ = _g_object_ref0 (_tmp63_); +#line 91 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp64_; +#line 91 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 986 "APIGlue.c" +} + + +static gchar* publishing_glue_media_source_publishable_wrapper_real_get_publishing_name (SpitPublishingPublishable* base) { + PublishingGlueMediaSourcePublishableWrapper * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + MediaSource* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 94 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->wrapped; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = media_source_get_title (_tmp1_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = _tmp2_; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = _tmp3_ != NULL; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp3_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp4_) { +#line 1012 "APIGlue.c" + MediaSource* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = self->priv->wrapped; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = media_source_get_title (_tmp5_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp0_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = _tmp6_; +#line 1023 "APIGlue.c" + } else { + gchar* _tmp7_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = g_strdup (""); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_free0 (_tmp0_); +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = _tmp7_; +#line 1032 "APIGlue.c" + } +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp0_; +#line 95 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1038 "APIGlue.c" +} + + +static gchar* publishing_glue_media_source_publishable_wrapper_real_get_param_string (SpitPublishingPublishable* base, const gchar* name) { + PublishingGlueMediaSourcePublishableWrapper * self; + gchar* result = NULL; + GeeMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 98 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->param_string; +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = name; +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = gee_map_get (_tmp0_, _tmp1_); +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = (gchar*) _tmp2_; +#line 99 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1062 "APIGlue.c" +} + + +static void _vala_array_add60 (gchar*** array, int* length, int* size, gchar* value) { +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if ((*length) == (*size)) { +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 1073 "APIGlue.c" + } +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + (*array)[(*length)++] = value; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + (*array)[*length] = NULL; +#line 1079 "APIGlue.c" +} + + +static gchar** _vala_array_dup22 (gchar** self, int length) { + gchar** result; + int i; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = g_new0 (gchar*, length + 1); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + for (i = 0; i < length; i++) { +#line 1090 "APIGlue.c" + gchar* _tmp0_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = g_strdup (self[i]); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result[i] = _tmp0_; +#line 1096 "APIGlue.c" + } +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1100 "APIGlue.c" +} + + +static gchar** publishing_glue_media_source_publishable_wrapper_real_get_publishing_keywords (SpitPublishingPublishable* base, int* result_length1) { + PublishingGlueMediaSourcePublishableWrapper * self; + gchar** result = NULL; + gchar** _result_ = NULL; + gchar** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + GeeCollection* tagset = NULL; + TagSourceCollection* _tmp1_ = NULL; + MediaSource* _tmp2_ = NULL; + GeeSortedSet* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + gchar** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + gint __tmp14__size_ = 0; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gchar** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gchar** _tmp18_ = NULL; + gint _tmp18__length1 = 0; +#line 102 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 103 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 103 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _result_ = _tmp0_; +#line 103 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _result__length1 = 0; +#line 103 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + __result__size_ = _result__length1; +#line 105 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = tag_global; +#line 105 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = self->priv->wrapped; +#line 105 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp3_ = tag_source_collection_fetch_sorted_for_source (_tmp1_, _tmp2_); +#line 105 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + tagset = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection); +#line 106 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp4_ = tagset; +#line 106 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp4_ != NULL) { +#line 1147 "APIGlue.c" + { + GeeIterator* _tag_it = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp5_ = tagset; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tag_it = _tmp6_; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + while (TRUE) { +#line 1160 "APIGlue.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + Tag* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp7_ = _tag_it; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (!_tmp8_) { +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + break; +#line 1178 "APIGlue.c" + } +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp9_ = _tag_it; +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + tag = (Tag*) _tmp10_; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp11_ = _result_; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp11__length1 = _result__length1; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp12_ = tag; +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp13_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject)); +#line 108 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _vala_array_add60 (&_result_, &_result__length1, &__result__size_, _tmp13_); +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (tag); +#line 1198 "APIGlue.c" + } +#line 107 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (_tag_it); +#line 1202 "APIGlue.c" + } + } +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp15_ = _result_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp15__length1 = _result__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (_tmp15__length1 > 0) { +#line 1211 "APIGlue.c" + gchar** _tmp16_ = NULL; + gint _tmp16__length1 = 0; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16_ = _result_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp16__length1 = _result__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14_ = _tmp16_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14__length1 = _tmp16__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + __tmp14__size_ = _tmp14__length1; +#line 1224 "APIGlue.c" + } else { +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp14__length1 = 0; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + __tmp14__size_ = _tmp14__length1; +#line 1232 "APIGlue.c" + } +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp17_ = (_tmp14_ != NULL) ? _vala_array_dup22 (_tmp14_, _tmp14__length1) : ((gpointer) _tmp14_); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp17__length1 = _tmp14__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp18_ = _tmp17_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp18__length1 = _tmp17__length1; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (result_length1) { +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + *result_length1 = _tmp18__length1; +#line 1246 "APIGlue.c" + } +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp18_; +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (tagset); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _result_ = (_vala_array_free (_result_, _result__length1, (GDestroyNotify) g_free), NULL); +#line 112 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1256 "APIGlue.c" +} + + +static SpitPublishingPublisherMediaType publishing_glue_media_source_publishable_wrapper_real_get_media_type (SpitPublishingPublishable* base) { + PublishingGlueMediaSourcePublishableWrapper * self; + SpitPublishingPublisherMediaType result = 0; + MediaSource* _tmp0_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 116 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->wrapped; +#line 116 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_PHOTO)) { +#line 117 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO; +#line 117 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1274 "APIGlue.c" + } else { + MediaSource* _tmp1_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = self->priv->wrapped; +#line 118 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_VIDEO)) { +#line 119 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO; +#line 119 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1285 "APIGlue.c" + } else { +#line 121 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE; +#line 121 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1291 "APIGlue.c" + } + } +} + + +static GFile* publishing_glue_media_source_publishable_wrapper_real_get_serialized_file (SpitPublishingPublishable* base) { + PublishingGlueMediaSourcePublishableWrapper * self; + GFile* result = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; +#line 124 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 125 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->serialized_file; +#line 125 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 125 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp1_; +#line 125 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1312 "APIGlue.c" +} + + +static GDateTime* publishing_glue_media_source_publishable_wrapper_real_get_exposure_date_time (SpitPublishingPublishable* base) { + PublishingGlueMediaSourcePublishableWrapper * self; + GDateTime* result = NULL; + MediaSource* _tmp0_ = NULL; + time_t _tmp1_ = 0; + GDateTime* _tmp2_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = self->priv->wrapped; +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp1_ = media_source_get_exposure_time (_tmp0_); +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp2_ = g_date_time_new_from_unix_local ((gint64) _tmp1_); +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + result = _tmp2_; +#line 129 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + return result; +#line 1334 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_class_init (PublishingGlueMediaSourcePublishableWrapperClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + g_type_class_add_private (klass, sizeof (PublishingGlueMediaSourcePublishableWrapperPrivate)); +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_glue_media_source_publishable_wrapper_finalize; +#line 1345 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_spit_publishing_publishable_interface_init (SpitPublishingPublishableIface * iface) { +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + publishing_glue_media_source_publishable_wrapper_spit_publishing_publishable_parent_iface = g_type_interface_peek_parent (iface); +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_publishing_name = (gchar* (*)(SpitPublishingPublishable*)) publishing_glue_media_source_publishable_wrapper_real_get_publishing_name; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_param_string = (gchar* (*)(SpitPublishingPublishable*, const gchar*)) publishing_glue_media_source_publishable_wrapper_real_get_param_string; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_publishing_keywords = (gchar** (*)(SpitPublishingPublishable*, int*)) publishing_glue_media_source_publishable_wrapper_real_get_publishing_keywords; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_media_type = (SpitPublishingPublisherMediaType (*)(SpitPublishingPublishable*)) publishing_glue_media_source_publishable_wrapper_real_get_media_type; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_serialized_file = (GFile* (*)(SpitPublishingPublishable*)) publishing_glue_media_source_publishable_wrapper_real_get_serialized_file; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + iface->get_exposure_date_time = (GDateTime* (*)(SpitPublishingPublishable*)) publishing_glue_media_source_publishable_wrapper_real_get_exposure_date_time; +#line 1364 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_instance_init (PublishingGlueMediaSourcePublishableWrapper * self) { + GeeHashMap* _tmp0_ = NULL; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv = PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_GET_PRIVATE (self); +#line 12 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->serialized_file = NULL; +#line 13 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self->priv->param_string = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap); +#line 1378 "APIGlue.c" +} + + +static void publishing_glue_media_source_publishable_wrapper_finalize (GObject* obj) { + PublishingGlueMediaSourcePublishableWrapper * self; +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper); +#line 11 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->wrapped); +#line 12 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->serialized_file); +#line 13 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + _g_object_unref0 (self->priv->param_string); +#line 8 "/home/jens/Source/shotwell/src/publishing/APIGlue.vala" + G_OBJECT_CLASS (publishing_glue_media_source_publishable_wrapper_parent_class)->finalize (obj); +#line 1394 "APIGlue.c" +} + + +GType publishing_glue_media_source_publishable_wrapper_get_type (void) { + static volatile gsize publishing_glue_media_source_publishable_wrapper_type_id__volatile = 0; + if (g_once_init_enter (&publishing_glue_media_source_publishable_wrapper_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingGlueMediaSourcePublishableWrapperClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_glue_media_source_publishable_wrapper_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingGlueMediaSourcePublishableWrapper), 0, (GInstanceInitFunc) publishing_glue_media_source_publishable_wrapper_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_publishable_info = { (GInterfaceInitFunc) publishing_glue_media_source_publishable_wrapper_spit_publishing_publishable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_glue_media_source_publishable_wrapper_type_id; + publishing_glue_media_source_publishable_wrapper_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingGlueMediaSourcePublishableWrapper", &g_define_type_info, 0); + g_type_add_interface_static (publishing_glue_media_source_publishable_wrapper_type_id, SPIT_PUBLISHING_TYPE_PUBLISHABLE, &spit_publishing_publishable_info); + g_once_init_leave (&publishing_glue_media_source_publishable_wrapper_type_id__volatile, publishing_glue_media_source_publishable_wrapper_type_id); + } + return publishing_glue_media_source_publishable_wrapper_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/publishing/Publishing.c b/src/publishing/Publishing.c new file mode 100644 index 0000000..fc14775 --- /dev/null +++ b/src/publishing/Publishing.c @@ -0,0 +1,196 @@ +/* Publishing.c generated by valac 0.32.1, the Vala compiler + * generated from Publishing.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include + + + + +void publishing_init (GError** error); +static void _vala_array_add51 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add52 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add53 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add54 (gchar*** array, int* length, int* size, gchar* value); +void plugins_register_extension_point (GType type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +#define RESOURCES_PUBLISH "applications-internet" +void publishing_terminate (void); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static void _vala_array_add51 (gchar*** array, int* length, int* size, gchar* value) { +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + if ((*length) == (*size)) { +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 40 "Publishing.c" + } +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + (*array)[(*length)++] = value; +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + (*array)[*length] = NULL; +#line 46 "Publishing.c" +} + + +static void _vala_array_add52 (gchar*** array, int* length, int* size, gchar* value) { +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + if ((*length) == (*size)) { +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 57 "Publishing.c" + } +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + (*array)[(*length)++] = value; +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + (*array)[*length] = NULL; +#line 63 "Publishing.c" +} + + +static void _vala_array_add53 (gchar*** array, int* length, int* size, gchar* value) { +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + if ((*length) == (*size)) { +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 74 "Publishing.c" + } +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + (*array)[(*length)++] = value; +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + (*array)[*length] = NULL; +#line 80 "Publishing.c" +} + + +static void _vala_array_add54 (gchar*** array, int* length, int* size, gchar* value) { +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + if ((*length) == (*size)) { +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 91 "Publishing.c" + } +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + (*array)[(*length)++] = value; +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + (*array)[*length] = NULL; +#line 97 "Publishing.c" +} + + +void publishing_init (GError** error) { + gchar** core_ids = NULL; + gchar** _tmp0_ = NULL; + gint core_ids_length1 = 0; + gint _core_ids_size_ = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gchar* _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar** _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 10 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 10 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + core_ids = _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + core_ids_length1 = 0; +#line 10 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _core_ids_size_ = core_ids_length1; +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp1_ = core_ids; +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp1__length1 = core_ids_length1; +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp2_ = g_strdup ("org.yorba.shotwell.publishing.facebook"); +#line 11 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _vala_array_add51 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp2_); +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp3_ = core_ids; +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp3__length1 = core_ids_length1; +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp4_ = g_strdup ("org.yorba.shotwell.publishing.picasa"); +#line 12 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _vala_array_add52 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp4_); +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp5_ = core_ids; +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp5__length1 = core_ids_length1; +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp6_ = g_strdup ("org.yorba.shotwell.publishing.flickr"); +#line 13 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _vala_array_add53 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp6_); +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp7_ = core_ids; +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp7__length1 = core_ids_length1; +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp8_ = g_strdup ("org.yorba.shotwell.publishing.youtube"); +#line 14 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _vala_array_add54 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp8_); +#line 16 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp9_ = _ ("Publishing"); +#line 16 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp10_ = core_ids; +#line 16 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + _tmp10__length1 = core_ids_length1; +#line 16 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + plugins_register_extension_point (SPIT_PUBLISHING_TYPE_SERVICE, _tmp9_, RESOURCES_PUBLISH, _tmp10_, _tmp10__length1); +#line 9 "/home/jens/Source/shotwell/src/publishing/Publishing.vala" + core_ids = (_vala_array_free (core_ids, core_ids_length1, (GDestroyNotify) g_free), NULL); +#line 171 "Publishing.c" +} + + +void publishing_terminate (void) { +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/publishing/PublishingPluginHost.c b/src/publishing/PublishingPluginHost.c new file mode 100644 index 0000000..45a7681 --- /dev/null +++ b/src/publishing/PublishingPluginHost.c @@ -0,0 +1,1521 @@ +/* PublishingPluginHost.c generated by valac 0.32.1, the Vala compiler + * generated from PublishingPluginHost.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include +#include +#include + + +#define PLUGINS_TYPE_STANDARD_HOST_INTERFACE (plugins_standard_host_interface_get_type ()) +#define PLUGINS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface)) +#define PLUGINS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_STANDARD_HOST_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) + +typedef struct _PluginsStandardHostInterface PluginsStandardHostInterface; +typedef struct _PluginsStandardHostInterfaceClass PluginsStandardHostInterfaceClass; +typedef struct _PluginsStandardHostInterfacePrivate PluginsStandardHostInterfacePrivate; + +#define SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST (spit_publishing_concrete_publishing_host_get_type ()) +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost)) +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHostClass)) +#define SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST)) +#define SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST)) +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHostClass)) + +typedef struct _SpitPublishingConcretePublishingHost SpitPublishingConcretePublishingHost; +typedef struct _SpitPublishingConcretePublishingHostClass SpitPublishingConcretePublishingHostClass; +typedef struct _SpitPublishingConcretePublishingHostPrivate SpitPublishingConcretePublishingHostPrivate; + +#define PUBLISHING_UI_TYPE_PUBLISHING_DIALOG (publishing_ui_publishing_dialog_get_type ()) +#define PUBLISHING_UI_PUBLISHING_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, PublishingUIPublishingDialog)) +#define PUBLISHING_UI_PUBLISHING_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, PublishingUIPublishingDialogClass)) +#define PUBLISHING_UI_IS_PUBLISHING_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG)) +#define PUBLISHING_UI_IS_PUBLISHING_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG)) +#define PUBLISHING_UI_PUBLISHING_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, PublishingUIPublishingDialogClass)) + +typedef struct _PublishingUIPublishingDialog PublishingUIPublishingDialog; +typedef struct _PublishingUIPublishingDialogClass PublishingUIPublishingDialogClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (publishing_glue_media_source_publishable_wrapper_get_type ()) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper)) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperClass)) +#define PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER)) +#define PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER)) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperClass)) + +typedef struct _PublishingGlueMediaSourcePublishableWrapper PublishingGlueMediaSourcePublishableWrapper; +typedef struct _PublishingGlueMediaSourcePublishableWrapperClass PublishingGlueMediaSourcePublishableWrapperClass; + +#define PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE (publishing_ui_concrete_dialog_pane_get_type ()) +#define PUBLISHING_UI_CONCRETE_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)) +#define PUBLISHING_UI_CONCRETE_DIALOG_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPaneClass)) +#define PUBLISHING_UI_IS_CONCRETE_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE)) +#define PUBLISHING_UI_IS_CONCRETE_DIALOG_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE)) +#define PUBLISHING_UI_CONCRETE_DIALOG_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPaneClass)) + +typedef struct _PublishingUIConcreteDialogPane PublishingUIConcreteDialogPane; +typedef struct _PublishingUIConcreteDialogPaneClass PublishingUIConcreteDialogPaneClass; + +#define PUBLISHING_UI_TYPE_PROGRESS_PANE (publishing_ui_progress_pane_get_type ()) +#define PUBLISHING_UI_PROGRESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPane)) +#define PUBLISHING_UI_PROGRESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPaneClass)) +#define PUBLISHING_UI_IS_PROGRESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_PROGRESS_PANE)) +#define PUBLISHING_UI_IS_PROGRESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_PROGRESS_PANE)) +#define PUBLISHING_UI_PROGRESS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPaneClass)) + +typedef struct _PublishingUIProgressPane PublishingUIProgressPane; +typedef struct _PublishingUIProgressPaneClass PublishingUIProgressPaneClass; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE (publishing_ui_static_message_pane_get_type ()) +#define PUBLISHING_UI_STATIC_MESSAGE_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, PublishingUIStaticMessagePane)) +#define PUBLISHING_UI_STATIC_MESSAGE_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, PublishingUIStaticMessagePaneClass)) +#define PUBLISHING_UI_IS_STATIC_MESSAGE_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE)) +#define PUBLISHING_UI_IS_STATIC_MESSAGE_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE)) +#define PUBLISHING_UI_STATIC_MESSAGE_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, PublishingUIStaticMessagePaneClass)) + +typedef struct _PublishingUIStaticMessagePane PublishingUIStaticMessagePane; +typedef struct _PublishingUIStaticMessagePaneClass PublishingUIStaticMessagePaneClass; + +#define PUBLISHING_UI_TYPE_SUCCESS_PANE (publishing_ui_success_pane_get_type ()) +#define PUBLISHING_UI_SUCCESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_SUCCESS_PANE, PublishingUISuccessPane)) +#define PUBLISHING_UI_SUCCESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_SUCCESS_PANE, PublishingUISuccessPaneClass)) +#define PUBLISHING_UI_IS_SUCCESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_SUCCESS_PANE)) +#define PUBLISHING_UI_IS_SUCCESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_SUCCESS_PANE)) +#define PUBLISHING_UI_SUCCESS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_SUCCESS_PANE, PublishingUISuccessPaneClass)) + +typedef struct _PublishingUISuccessPane PublishingUISuccessPane; +typedef struct _PublishingUISuccessPaneClass PublishingUISuccessPaneClass; + +#define PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE (publishing_ui_account_fetch_wait_pane_get_type ()) +#define PUBLISHING_UI_ACCOUNT_FETCH_WAIT_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE, PublishingUIAccountFetchWaitPane)) +#define PUBLISHING_UI_ACCOUNT_FETCH_WAIT_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE, PublishingUIAccountFetchWaitPaneClass)) +#define PUBLISHING_UI_IS_ACCOUNT_FETCH_WAIT_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE)) +#define PUBLISHING_UI_IS_ACCOUNT_FETCH_WAIT_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE)) +#define PUBLISHING_UI_ACCOUNT_FETCH_WAIT_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE, PublishingUIAccountFetchWaitPaneClass)) + +typedef struct _PublishingUIAccountFetchWaitPane PublishingUIAccountFetchWaitPane; +typedef struct _PublishingUIAccountFetchWaitPaneClass PublishingUIAccountFetchWaitPaneClass; + +#define PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE (publishing_ui_login_wait_pane_get_type ()) +#define PUBLISHING_UI_LOGIN_WAIT_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE, PublishingUILoginWaitPane)) +#define PUBLISHING_UI_LOGIN_WAIT_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE, PublishingUILoginWaitPaneClass)) +#define PUBLISHING_UI_IS_LOGIN_WAIT_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE)) +#define PUBLISHING_UI_IS_LOGIN_WAIT_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE)) +#define PUBLISHING_UI_LOGIN_WAIT_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE, PublishingUILoginWaitPaneClass)) + +typedef struct _PublishingUILoginWaitPane PublishingUILoginWaitPane; +typedef struct _PublishingUILoginWaitPaneClass PublishingUILoginWaitPaneClass; + +#define PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE (publishing_ui_login_welcome_pane_get_type ()) +#define PUBLISHING_UI_LOGIN_WELCOME_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, PublishingUILoginWelcomePane)) +#define PUBLISHING_UI_LOGIN_WELCOME_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, PublishingUILoginWelcomePaneClass)) +#define PUBLISHING_UI_IS_LOGIN_WELCOME_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE)) +#define PUBLISHING_UI_IS_LOGIN_WELCOME_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE)) +#define PUBLISHING_UI_LOGIN_WELCOME_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, PublishingUILoginWelcomePaneClass)) + +typedef struct _PublishingUILoginWelcomePane PublishingUILoginWelcomePane; +typedef struct _PublishingUILoginWelcomePaneClass PublishingUILoginWelcomePaneClass; +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +struct _PluginsStandardHostInterface { + GObject parent_instance; + PluginsStandardHostInterfacePrivate * priv; +}; + +struct _PluginsStandardHostInterfaceClass { + GObjectClass parent_class; +}; + +struct _SpitPublishingConcretePublishingHost { + PluginsStandardHostInterface parent_instance; + SpitPublishingConcretePublishingHostPrivate * priv; +}; + +struct _SpitPublishingConcretePublishingHostClass { + PluginsStandardHostInterfaceClass parent_class; +}; + +struct _SpitPublishingConcretePublishingHostPrivate { + PublishingUIPublishingDialog* dialog; + SpitPublishingPublisher* active_publisher; + SpitPublishingPublishable** publishables; + gint publishables_length1; + gint _publishables_size_; + SpitPublishingLoginCallback current_login_callback; + gpointer current_login_callback_target; + gboolean publishing_halted; + SpitPublishingPublisherMediaType media_type; +}; + + +static gpointer spit_publishing_concrete_publishing_host_parent_class = NULL; +static SpitPublishingPluginHostIface* spit_publishing_concrete_publishing_host_spit_publishing_plugin_host_parent_iface = NULL; + +GType plugins_standard_host_interface_get_type (void) G_GNUC_CONST; +GType spit_publishing_concrete_publishing_host_get_type (void) G_GNUC_CONST; +GType publishing_ui_publishing_dialog_get_type (void) G_GNUC_CONST; +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHostPrivate)) +enum { + SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_DUMMY_PROPERTY +}; +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_PREPARE_STATUS_DESCRIPTION _ ("Preparing for upload") +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_UPLOAD_STATUS_DESCRIPTION _ ("Uploading %d of %d") +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_STATUS_PREPARATION_FRACTION 0.3 +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_STATUS_UPLOAD_FRACTION 0.7 +SpitPublishingConcretePublishingHost* spit_publishing_concrete_publishing_host_new (SpitPublishingService* service, PublishingUIPublishingDialog* dialog, SpitPublishingPublishable** publishables, int publishables_length1); +SpitPublishingConcretePublishingHost* spit_publishing_concrete_publishing_host_construct (GType object_type, SpitPublishingService* service, PublishingUIPublishingDialog* dialog, SpitPublishingPublishable** publishables, int publishables_length1); +PluginsStandardHostInterface* plugins_standard_host_interface_new (SpitPluggable* pluggable, const gchar* config_domain); +PluginsStandardHostInterface* plugins_standard_host_interface_construct (GType object_type, SpitPluggable* pluggable, const gchar* config_domain); +static SpitPublishingPublishable** _vala_array_dup20 (SpitPublishingPublishable** self, int length); +static void spit_publishing_concrete_publishing_host_on_login_clicked (SpitPublishingConcretePublishingHost* self); +static void spit_publishing_concrete_publishing_host_clean_up (SpitPublishingConcretePublishingHost* self); +GType publishing_glue_media_source_publishable_wrapper_get_type (void) G_GNUC_CONST; +void publishing_glue_media_source_publishable_wrapper_clean_up (PublishingGlueMediaSourcePublishableWrapper* self); +static void spit_publishing_concrete_publishing_host_report_plugin_upload_progress (SpitPublishingConcretePublishingHost* self, gint file_number, gdouble fraction_complete); +SpitPublishingDialogPane* publishing_ui_publishing_dialog_get_active_pane (PublishingUIPublishingDialog* self); +GType publishing_ui_concrete_dialog_pane_get_type (void) G_GNUC_CONST; +GType publishing_ui_progress_pane_get_type (void) G_GNUC_CONST; +void publishing_ui_progress_pane_set_status (PublishingUIProgressPane* self, const gchar* status_text, gdouble progress); +static void spit_publishing_concrete_publishing_host_install_progress_pane (SpitPublishingConcretePublishingHost* self); +PublishingUIProgressPane* publishing_ui_progress_pane_new (void); +PublishingUIProgressPane* publishing_ui_progress_pane_construct (GType object_type); +void publishing_ui_publishing_dialog_install_pane (PublishingUIPublishingDialog* self, SpitPublishingDialogPane* pane); +void spit_publishing_concrete_publishing_host_set_button_mode (SpitPublishingConcretePublishingHost* self, SpitPublishingPluginHostButtonMode mode); +static void spit_publishing_concrete_publishing_host_real_install_dialog_pane (SpitPublishingPluginHost* base, SpitPublishingDialogPane* pane, SpitPublishingPluginHostButtonMode button_mode); +static void spit_publishing_concrete_publishing_host_real_post_error (SpitPublishingPluginHost* base, GError* err); +PublishingUIStaticMessagePane* publishing_ui_static_message_pane_new (const gchar* message_string, gboolean enable_markup); +PublishingUIStaticMessagePane* publishing_ui_static_message_pane_construct (GType object_type, const gchar* message_string, gboolean enable_markup); +GType publishing_ui_static_message_pane_get_type (void) G_GNUC_CONST; +void publishing_ui_publishing_dialog_set_close_button_mode (PublishingUIPublishingDialog* self); +void publishing_ui_publishing_dialog_unlock_service (PublishingUIPublishingDialog* self); +static void spit_publishing_concrete_publishing_host_real_stop_publishing (SpitPublishingPluginHost* base); +void spit_publishing_concrete_publishing_host_start_publishing (SpitPublishingConcretePublishingHost* self); +static SpitPublishingPublisher* spit_publishing_concrete_publishing_host_real_get_publisher (SpitPublishingPluginHost* base); +static void spit_publishing_concrete_publishing_host_real_install_static_message_pane (SpitPublishingPluginHost* base, const gchar* message, SpitPublishingPluginHostButtonMode button_mode); +static void spit_publishing_concrete_publishing_host_real_install_pango_message_pane (SpitPublishingPluginHost* base, const gchar* markup, SpitPublishingPluginHostButtonMode button_mode); +static void spit_publishing_concrete_publishing_host_real_install_success_pane (SpitPublishingPluginHost* base); +PublishingUISuccessPane* publishing_ui_success_pane_new (SpitPublishingPublisherMediaType published_media, gint num_uploaded); +PublishingUISuccessPane* publishing_ui_success_pane_construct (GType object_type, SpitPublishingPublisherMediaType published_media, gint num_uploaded); +GType publishing_ui_success_pane_get_type (void) G_GNUC_CONST; +static void spit_publishing_concrete_publishing_host_real_install_account_fetch_wait_pane (SpitPublishingPluginHost* base); +PublishingUIAccountFetchWaitPane* publishing_ui_account_fetch_wait_pane_new (void); +PublishingUIAccountFetchWaitPane* publishing_ui_account_fetch_wait_pane_construct (GType object_type); +GType publishing_ui_account_fetch_wait_pane_get_type (void) G_GNUC_CONST; +static void spit_publishing_concrete_publishing_host_real_install_login_wait_pane (SpitPublishingPluginHost* base); +PublishingUILoginWaitPane* publishing_ui_login_wait_pane_new (void); +PublishingUILoginWaitPane* publishing_ui_login_wait_pane_construct (GType object_type); +GType publishing_ui_login_wait_pane_get_type (void) G_GNUC_CONST; +static void spit_publishing_concrete_publishing_host_real_install_welcome_pane (SpitPublishingPluginHost* base, const gchar* welcome_message, SpitPublishingLoginCallback login_clicked_callback, void* login_clicked_callback_target); +GType publishing_ui_login_welcome_pane_get_type (void) G_GNUC_CONST; +PublishingUILoginWelcomePane* publishing_ui_login_welcome_pane_new (const gchar* service_welcome_message); +PublishingUILoginWelcomePane* publishing_ui_login_welcome_pane_construct (GType object_type, const gchar* service_welcome_message); +static void _spit_publishing_concrete_publishing_host_on_login_clicked_publishing_ui_login_welcome_pane_login_requested (PublishingUILoginWelcomePane* _sender, gpointer self); +static void spit_publishing_concrete_publishing_host_real_set_service_locked (SpitPublishingPluginHost* base, gboolean locked); +void publishing_ui_publishing_dialog_lock_service (PublishingUIPublishingDialog* self); +void publishing_ui_publishing_dialog_set_cancel_button_mode (PublishingUIPublishingDialog* self); +static void spit_publishing_concrete_publishing_host_real_set_dialog_default_widget (SpitPublishingPluginHost* base, GtkWidget* widget); +static SpitPublishingPublisherMediaType spit_publishing_concrete_publishing_host_real_get_publishable_media_type (SpitPublishingPluginHost* base); +static SpitPublishingPublishable** spit_publishing_concrete_publishing_host_real_get_publishables (SpitPublishingPluginHost* base, int* result_length1); +static SpitPublishingPublishable** _vala_array_dup21 (SpitPublishingPublishable** self, int length); +static SpitPublishingProgressCallback spit_publishing_concrete_publishing_host_real_serialize_publishables (SpitPublishingPluginHost* base, gint content_major_axis, gboolean strip_metadata, void** result_target, GDestroyNotify* result_target_destroy_notify); +void spin_event_loop (void); +GFile* publishing_glue_media_source_publishable_wrapper_serialize_for_publishing (PublishingGlueMediaSourcePublishableWrapper* self, gint content_major_axis, gboolean strip_metadata, GError** error); +static void _spit_publishing_concrete_publishing_host_report_plugin_upload_progress_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self); +static void spit_publishing_concrete_publishing_host_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return self ? g_object_ref (self) : NULL; +#line 250 "PublishingPluginHost.c" +} + + +static SpitPublishingPublishable** _vala_array_dup20 (SpitPublishingPublishable** self, int length) { + SpitPublishingPublishable** result; + int i; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result = g_new0 (SpitPublishingPublishable*, length + 1); +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + for (i = 0; i < length; i++) { +#line 261 "PublishingPluginHost.c" + SpitPublishingPublishable* _tmp0_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result[i] = _tmp0_; +#line 267 "PublishingPluginHost.c" + } +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return result; +#line 271 "PublishingPluginHost.c" +} + + +SpitPublishingConcretePublishingHost* spit_publishing_concrete_publishing_host_construct (GType object_type, SpitPublishingService* service, PublishingUIPublishingDialog* dialog, SpitPublishingPublishable** publishables, int publishables_length1) { + SpitPublishingConcretePublishingHost * self = NULL; + SpitPublishingService* _tmp0_ = NULL; + PublishingUIPublishingDialog* _tmp1_ = NULL; + SpitPublishingPublishable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + SpitPublishingPublishable** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + SpitPublishingPublishable** _tmp4_ = NULL; + gint _tmp4__length1 = 0; + SpitPublishingService* _tmp9_ = NULL; + SpitPublishingPublisher* _tmp10_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_val_if_fail (SPIT_PUBLISHING_IS_SERVICE (service), NULL); +#line 24 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_val_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (dialog), NULL); +#line 26 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = service; +#line 26 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = (SpitPublishingConcretePublishingHost*) plugins_standard_host_interface_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TYPE_PLUGGABLE, SpitPluggable), "sharing"); +#line 27 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = dialog; +#line 27 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->dialog = _tmp1_; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = publishables; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2__length1 = publishables_length1; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = (_tmp2_ != NULL) ? _vala_array_dup20 (_tmp2_, _tmp2__length1) : ((gpointer) _tmp2_); +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3__length1 = _tmp2__length1; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->publishables = _tmp3_; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->publishables_length1 = _tmp3__length1; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->_publishables_size_ = self->priv->publishables_length1; +#line 30 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = publishables; +#line 30 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4__length1 = publishables_length1; +#line 319 "PublishingPluginHost.c" + { + SpitPublishingPublishable** curr_publishable_collection = NULL; + gint curr_publishable_collection_length1 = 0; + gint _curr_publishable_collection_size_ = 0; + gint curr_publishable_it = 0; +#line 30 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + curr_publishable_collection = _tmp4_; +#line 30 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + curr_publishable_collection_length1 = _tmp4__length1; +#line 30 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + for (curr_publishable_it = 0; curr_publishable_it < _tmp4__length1; curr_publishable_it = curr_publishable_it + 1) { +#line 331 "PublishingPluginHost.c" + SpitPublishingPublishable* _tmp5_ = NULL; + SpitPublishingPublishable* curr_publishable = NULL; +#line 30 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp5_ = _g_object_ref0 (curr_publishable_collection[curr_publishable_it]); +#line 30 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + curr_publishable = _tmp5_; +#line 338 "PublishingPluginHost.c" + { + SpitPublishingPublisherMediaType _tmp6_ = 0; + SpitPublishingPublishable* _tmp7_ = NULL; + SpitPublishingPublisherMediaType _tmp8_ = 0; +#line 31 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp6_ = self->priv->media_type; +#line 31 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp7_ = curr_publishable; +#line 31 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp8_ = spit_publishing_publishable_get_media_type (_tmp7_); +#line 31 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->media_type = _tmp6_ | _tmp8_; +#line 30 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (curr_publishable); +#line 353 "PublishingPluginHost.c" + } + } + } +#line 33 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp9_ = service; +#line 33 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp10_ = spit_publishing_service_create_publisher (_tmp9_, G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHost)); +#line 33 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (self->priv->active_publisher); +#line 33 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->active_publisher = _tmp10_; +#line 24 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return self; +#line 367 "PublishingPluginHost.c" +} + + +SpitPublishingConcretePublishingHost* spit_publishing_concrete_publishing_host_new (SpitPublishingService* service, PublishingUIPublishingDialog* dialog, SpitPublishingPublishable** publishables, int publishables_length1) { +#line 24 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return spit_publishing_concrete_publishing_host_construct (SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, service, dialog, publishables, publishables_length1); +#line 374 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_on_login_clicked (SpitPublishingConcretePublishingHost* self) { + SpitPublishingLoginCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; +#line 36 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST (self)); +#line 37 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->current_login_callback; +#line 37 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0__target = self->priv->current_login_callback_target; +#line 37 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp0_ != NULL) { +#line 389 "PublishingPluginHost.c" + SpitPublishingLoginCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 38 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->current_login_callback; +#line 38 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1__target = self->priv->current_login_callback_target; +#line 38 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ (_tmp1__target); +#line 398 "PublishingPluginHost.c" + } +} + + +static void spit_publishing_concrete_publishing_host_clean_up (SpitPublishingConcretePublishingHost* self) { + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; +#line 41 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST (self)); +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->publishables; +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0__length1 = self->priv->publishables_length1; +#line 412 "PublishingPluginHost.c" + { + SpitPublishingPublishable** publishable_collection = NULL; + gint publishable_collection_length1 = 0; + gint _publishable_collection_size_ = 0; + gint publishable_it = 0; +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishable_collection = _tmp0_; +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishable_collection_length1 = _tmp0__length1; +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + for (publishable_it = 0; publishable_it < _tmp0__length1; publishable_it = publishable_it + 1) { +#line 424 "PublishingPluginHost.c" + SpitPublishingPublishable* _tmp1_ = NULL; + SpitPublishingPublishable* publishable = NULL; +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = _g_object_ref0 (publishable_collection[publishable_it]); +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishable = _tmp1_; +#line 431 "PublishingPluginHost.c" + { + SpitPublishingPublishable* _tmp2_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = publishable; +#line 43 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_glue_media_source_publishable_wrapper_clean_up (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper)); +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (publishable); +#line 440 "PublishingPluginHost.c" + } + } + } +} + + +static void spit_publishing_concrete_publishing_host_report_plugin_upload_progress (SpitPublishingConcretePublishingHost* self, gint file_number, gdouble fraction_complete) { + PublishingUIPublishingDialog* _tmp0_ = NULL; + SpitPublishingDialogPane* _tmp1_ = NULL; + SpitPublishingDialogPane* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + PublishingUIProgressPane* pane = NULL; + PublishingUIPublishingDialog* _tmp4_ = NULL; + SpitPublishingDialogPane* _tmp5_ = NULL; + gchar* status_string = NULL; + gint _tmp6_ = 0; + SpitPublishingPublishable** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gchar* _tmp8_ = NULL; + gdouble status_fraction = 0.0; + gdouble _tmp9_ = 0.0; + PublishingUIProgressPane* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gdouble _tmp12_ = 0.0; +#line 46 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST (self)); +#line 48 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->dialog; +#line 48 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = publishing_ui_publishing_dialog_get_active_pane (_tmp0_); +#line 48 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = _tmp1_; +#line 48 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = !G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, PUBLISHING_UI_TYPE_PROGRESS_PANE); +#line 48 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp2_); +#line 48 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp3_) { +#line 49 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return; +#line 481 "PublishingPluginHost.c" + } +#line 51 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = self->priv->dialog; +#line 51 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp5_ = publishing_ui_publishing_dialog_get_active_pane (_tmp4_); +#line 51 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + pane = G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPane); +#line 53 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp6_ = file_number; +#line 53 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp7_ = self->priv->publishables; +#line 53 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp7__length1 = self->priv->publishables_length1; +#line 53 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp8_ = g_strdup_printf (SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_UPLOAD_STATUS_DESCRIPTION, _tmp6_, _tmp7__length1); +#line 53 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + status_string = _tmp8_; +#line 55 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp9_ = fraction_complete; +#line 55 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + status_fraction = SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_STATUS_PREPARATION_FRACTION + (SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_STATUS_UPLOAD_FRACTION * _tmp9_); +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp10_ = pane; +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp11_ = status_string; +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp12_ = status_fraction; +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_progress_pane_set_status (_tmp10_, _tmp11_, _tmp12_); +#line 46 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_free0 (status_string); +#line 46 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (pane); +#line 515 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_install_progress_pane (SpitPublishingConcretePublishingHost* self) { + PublishingUIProgressPane* progress_pane = NULL; + PublishingUIProgressPane* _tmp0_ = NULL; + PublishingUIPublishingDialog* _tmp1_ = NULL; +#line 61 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST (self)); +#line 62 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = publishing_ui_progress_pane_new (); +#line 62 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + progress_pane = _tmp0_; +#line 64 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->dialog; +#line 64 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (progress_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)); +#line 65 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_set_button_mode (self, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 61 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (progress_pane); +#line 537 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_install_dialog_pane (SpitPublishingPluginHost* base, SpitPublishingDialogPane* pane, SpitPublishingPluginHostButtonMode button_mode) { + SpitPublishingConcretePublishingHost * self; + gboolean _tmp0_ = FALSE; + SpitPublishingPublisher* _tmp1_ = NULL; + PublishingUIPublishingDialog* _tmp4_ = NULL; + SpitPublishingDialogPane* _tmp5_ = NULL; + SpitPublishingPluginHostButtonMode _tmp6_ = 0; +#line 68 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 68 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (pane)); +#line 70 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_debug ("PublishingPluginHost.vala:70: Publishing.PluginHost: install_dialog_pa" \ +"ne( ): invoked."); +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->active_publisher; +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp1_ == NULL) { +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = TRUE; +#line 560 "PublishingPluginHost.c" + } else { + SpitPublishingPublisher* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = self->priv->active_publisher; +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = spit_publishing_publisher_is_running (_tmp2_); +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = !_tmp3_; +#line 570 "PublishingPluginHost.c" + } +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp0_) { +#line 73 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return; +#line 576 "PublishingPluginHost.c" + } +#line 75 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = self->priv->dialog; +#line 75 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp5_ = pane; +#line 75 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp4_, _tmp5_); +#line 77 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp6_ = button_mode; +#line 77 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_set_button_mode (self, _tmp6_); +#line 588 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_post_error (SpitPublishingPluginHost* base, GError* err) { + SpitPublishingConcretePublishingHost * self; + gchar* msg = NULL; + const gchar* _tmp0_ = NULL; + SpitPublishingPublisher* _tmp1_ = NULL; + SpitPublishingService* _tmp2_ = NULL; + SpitPublishingService* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + PublishingUIPublishingDialog* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + PublishingUIStaticMessagePane* _tmp18_ = NULL; + PublishingUIStaticMessagePane* _tmp19_ = NULL; + PublishingUIPublishingDialog* _tmp20_ = NULL; + PublishingUIPublishingDialog* _tmp21_ = NULL; + SpitPublishingPublisher* _tmp22_ = NULL; +#line 80 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = _ ("Publishing to %s can't continue because an error occurred:"); +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->active_publisher; +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = spit_publishing_publisher_get_service (_tmp1_); +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = _tmp2_; +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp5_ = g_strdup_printf (_tmp0_, _tmp4_); +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp6_ = _tmp5_; +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp3_); +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + msg = _tmp6_; +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp7_ = msg; +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp8_ = err; +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp9_ = _tmp8_->message; +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp10_ = g_markup_printf_escaped ("\n\n%s\n\n", _tmp9_); +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp11_ = _tmp10_; +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp12_ = g_strconcat (_tmp7_, _tmp11_, NULL); +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_free0 (msg); +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + msg = _tmp12_; +#line 83 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_free0 (_tmp11_); +#line 84 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp13_ = msg; +#line 84 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp14_ = _ ("To try publishing to another service, select one from the above menu."); +#line 84 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp15_ = g_strconcat (_tmp13_, _tmp14_, NULL); +#line 84 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_free0 (msg); +#line 84 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + msg = _tmp15_; +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp16_ = self->priv->dialog; +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp17_ = msg; +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp18_ = publishing_ui_static_message_pane_new (_tmp17_, TRUE); +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp19_ = _tmp18_; +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)); +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp19_); +#line 87 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp20_ = self->priv->dialog; +#line 87 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_set_close_button_mode (_tmp20_); +#line 88 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp21_ = self->priv->dialog; +#line 88 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_unlock_service (_tmp21_); +#line 90 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp22_ = self->priv->active_publisher; +#line 90 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_publisher_stop (_tmp22_); +#line 95 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_clean_up (self); +#line 80 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_free0 (msg); +#line 694 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_stop_publishing (SpitPublishingPluginHost* base) { + SpitPublishingConcretePublishingHost * self; + SpitPublishingPublisher* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 98 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 99 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_debug ("PublishingPluginHost.vala:99: ConcretePublishingHost.stop_publishing( " \ +"): invoked."); +#line 101 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->active_publisher; +#line 101 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = spit_publishing_publisher_is_running (_tmp0_); +#line 101 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp1_) { +#line 712 "PublishingPluginHost.c" + SpitPublishingPublisher* _tmp2_ = NULL; +#line 102 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = self->priv->active_publisher; +#line 102 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_publisher_stop (_tmp2_); +#line 718 "PublishingPluginHost.c" + } +#line 104 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_clean_up (self); +#line 106 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->publishing_halted = TRUE; +#line 724 "PublishingPluginHost.c" +} + + +void spit_publishing_concrete_publishing_host_start_publishing (SpitPublishingConcretePublishingHost* self) { + SpitPublishingPublisher* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + SpitPublishingPublisher* _tmp2_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST (self)); +#line 110 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->active_publisher; +#line 110 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = spit_publishing_publisher_is_running (_tmp0_); +#line 110 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp1_) { +#line 111 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return; +#line 742 "PublishingPluginHost.c" + } +#line 113 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_debug ("PublishingPluginHost.vala:113: ConcretePublishingHost.start_publishing" \ +"( ): invoked."); +#line 115 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = self->priv->active_publisher; +#line 115 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_publisher_start (_tmp2_); +#line 750 "PublishingPluginHost.c" +} + + +static SpitPublishingPublisher* spit_publishing_concrete_publishing_host_real_get_publisher (SpitPublishingPluginHost* base) { + SpitPublishingConcretePublishingHost * self; + SpitPublishingPublisher* result = NULL; + SpitPublishingPublisher* _tmp0_ = NULL; + SpitPublishingPublisher* _tmp1_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 119 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->active_publisher; +#line 119 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 119 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result = _tmp1_; +#line 119 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return result; +#line 769 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_install_static_message_pane (SpitPublishingPluginHost* base, const gchar* message, SpitPublishingPluginHostButtonMode button_mode) { + SpitPublishingConcretePublishingHost * self; + SpitPublishingPluginHostButtonMode _tmp0_ = 0; + PublishingUIPublishingDialog* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingUIStaticMessagePane* _tmp3_ = NULL; + PublishingUIStaticMessagePane* _tmp4_ = NULL; +#line 122 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 122 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (message != NULL); +#line 125 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = button_mode; +#line 125 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_set_button_mode (self, _tmp0_); +#line 127 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->dialog; +#line 127 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = message; +#line 127 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = publishing_ui_static_message_pane_new (_tmp2_, FALSE); +#line 127 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = _tmp3_; +#line 127 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)); +#line 127 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp4_); +#line 800 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_install_pango_message_pane (SpitPublishingPluginHost* base, const gchar* markup, SpitPublishingPluginHostButtonMode button_mode) { + SpitPublishingConcretePublishingHost * self; + SpitPublishingPluginHostButtonMode _tmp0_ = 0; + PublishingUIPublishingDialog* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + PublishingUIStaticMessagePane* _tmp3_ = NULL; + PublishingUIStaticMessagePane* _tmp4_ = NULL; +#line 130 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 130 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (markup != NULL); +#line 132 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = button_mode; +#line 132 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_set_button_mode (self, _tmp0_); +#line 134 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->dialog; +#line 134 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = markup; +#line 134 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = publishing_ui_static_message_pane_new (_tmp2_, TRUE); +#line 134 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = _tmp3_; +#line 134 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)); +#line 134 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp4_); +#line 831 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_install_success_pane (SpitPublishingPluginHost* base) { + SpitPublishingConcretePublishingHost * self; + PublishingUIPublishingDialog* _tmp0_ = NULL; + SpitPublishingPublisherMediaType _tmp1_ = 0; + SpitPublishingPublishable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + PublishingUISuccessPane* _tmp3_ = NULL; + PublishingUISuccessPane* _tmp4_ = NULL; + PublishingUIPublishingDialog* _tmp5_ = NULL; +#line 137 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 138 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->dialog; +#line 138 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = spit_publishing_plugin_host_get_publishable_media_type (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHost)); +#line 138 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = self->priv->publishables; +#line 138 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2__length1 = self->priv->publishables_length1; +#line 138 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = publishing_ui_success_pane_new (_tmp1_, _tmp2__length1); +#line 138 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = _tmp3_; +#line 138 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)); +#line 138 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp4_); +#line 140 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp5_ = self->priv->dialog; +#line 140 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_set_close_button_mode (_tmp5_); +#line 144 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_clean_up (self); +#line 868 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_install_account_fetch_wait_pane (SpitPublishingPluginHost* base) { + SpitPublishingConcretePublishingHost * self; + PublishingUIPublishingDialog* _tmp0_ = NULL; + PublishingUIAccountFetchWaitPane* _tmp1_ = NULL; + PublishingUIAccountFetchWaitPane* _tmp2_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 148 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->dialog; +#line 148 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = publishing_ui_account_fetch_wait_pane_new (); +#line 148 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = _tmp1_; +#line 148 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)); +#line 148 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp2_); +#line 149 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_set_button_mode (self, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL); +#line 891 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_install_login_wait_pane (SpitPublishingPluginHost* base) { + SpitPublishingConcretePublishingHost * self; + PublishingUIPublishingDialog* _tmp0_ = NULL; + PublishingUILoginWaitPane* _tmp1_ = NULL; + PublishingUILoginWaitPane* _tmp2_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 153 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->dialog; +#line 153 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = publishing_ui_login_wait_pane_new (); +#line 153 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = _tmp1_; +#line 153 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)); +#line 153 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp2_); +#line 912 "PublishingPluginHost.c" +} + + +static void _spit_publishing_concrete_publishing_host_on_login_clicked_publishing_ui_login_welcome_pane_login_requested (PublishingUILoginWelcomePane* _sender, gpointer self) { +#line 160 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_on_login_clicked ((SpitPublishingConcretePublishingHost*) self); +#line 919 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_install_welcome_pane (SpitPublishingPluginHost* base, const gchar* welcome_message, SpitPublishingLoginCallback login_clicked_callback, void* login_clicked_callback_target) { + SpitPublishingConcretePublishingHost * self; + PublishingUILoginWelcomePane* login_pane = NULL; + const gchar* _tmp0_ = NULL; + PublishingUILoginWelcomePane* _tmp1_ = NULL; + SpitPublishingLoginCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + PublishingUIPublishingDialog* _tmp3_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (welcome_message != NULL); +#line 157 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = welcome_message; +#line 157 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = publishing_ui_login_welcome_pane_new (_tmp0_); +#line 157 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + login_pane = _tmp1_; +#line 159 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = login_clicked_callback; +#line 159 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2__target = login_clicked_callback_target; +#line 159 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->current_login_callback = _tmp2_; +#line 159 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->current_login_callback_target = _tmp2__target; +#line 160 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_signal_connect_object (login_pane, "login-requested", (GCallback) _spit_publishing_concrete_publishing_host_on_login_clicked_publishing_ui_login_welcome_pane_login_requested, self, 0); +#line 162 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_set_button_mode (self, SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE); +#line 164 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = self->priv->dialog; +#line 164 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_install_pane (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (login_pane, SPIT_PUBLISHING_TYPE_DIALOG_PANE, SpitPublishingDialogPane)); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (login_pane); +#line 959 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_real_set_service_locked (SpitPublishingPluginHost* base, gboolean locked) { + SpitPublishingConcretePublishingHost * self; + gboolean _tmp0_ = FALSE; +#line 167 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 168 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = locked; +#line 168 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp0_) { +#line 972 "PublishingPluginHost.c" + PublishingUIPublishingDialog* _tmp1_ = NULL; +#line 169 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->dialog; +#line 169 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_lock_service (_tmp1_); +#line 978 "PublishingPluginHost.c" + } else { + PublishingUIPublishingDialog* _tmp2_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = self->priv->dialog; +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_unlock_service (_tmp2_); +#line 985 "PublishingPluginHost.c" + } +} + + +void spit_publishing_concrete_publishing_host_set_button_mode (SpitPublishingConcretePublishingHost* self, SpitPublishingPluginHostButtonMode mode) { + SpitPublishingPluginHostButtonMode _tmp0_ = 0; +#line 174 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST (self)); +#line 175 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = mode; +#line 175 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp0_ == SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CLOSE) { +#line 998 "PublishingPluginHost.c" + PublishingUIPublishingDialog* _tmp1_ = NULL; +#line 176 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->dialog; +#line 176 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_set_close_button_mode (_tmp1_); +#line 1004 "PublishingPluginHost.c" + } else { + SpitPublishingPluginHostButtonMode _tmp2_ = 0; +#line 177 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = mode; +#line 177 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp2_ == SPIT_PUBLISHING_PLUGIN_HOST_BUTTON_MODE_CANCEL) { +#line 1011 "PublishingPluginHost.c" + PublishingUIPublishingDialog* _tmp3_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = self->priv->dialog; +#line 178 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_publishing_dialog_set_cancel_button_mode (_tmp3_); +#line 1017 "PublishingPluginHost.c" + } else { +#line 180 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_error ("PublishingPluginHost.vala:180: unrecognized button mode enumeration va" \ +"lue"); +#line 1021 "PublishingPluginHost.c" + } + } +} + + +static void spit_publishing_concrete_publishing_host_real_set_dialog_default_widget (SpitPublishingPluginHost* base, GtkWidget* widget) { + SpitPublishingConcretePublishingHost * self; + GtkWidget* _tmp0_ = NULL; + PublishingUIPublishingDialog* _tmp1_ = NULL; + GtkWidget* _tmp2_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 183 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_return_if_fail (GTK_IS_WIDGET (widget)); +#line 184 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = widget; +#line 184 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + gtk_widget_set_can_default (_tmp0_, TRUE); +#line 185 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = self->priv->dialog; +#line 185 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = widget; +#line 185 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + gtk_window_set_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_window_get_type (), GtkWindow), _tmp2_); +#line 1046 "PublishingPluginHost.c" +} + + +static SpitPublishingPublisherMediaType spit_publishing_concrete_publishing_host_real_get_publishable_media_type (SpitPublishingPluginHost* base) { + SpitPublishingConcretePublishingHost * self; + SpitPublishingPublisherMediaType result = 0; + SpitPublishingPublisherMediaType _tmp0_ = 0; +#line 188 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 189 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->media_type; +#line 189 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result = _tmp0_; +#line 189 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return result; +#line 1062 "PublishingPluginHost.c" +} + + +static SpitPublishingPublishable** _vala_array_dup21 (SpitPublishingPublishable** self, int length) { + SpitPublishingPublishable** result; + int i; +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result = g_new0 (SpitPublishingPublishable*, length + 1); +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + for (i = 0; i < length; i++) { +#line 1073 "PublishingPluginHost.c" + SpitPublishingPublishable* _tmp0_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = _g_object_ref0 (self[i]); +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result[i] = _tmp0_; +#line 1079 "PublishingPluginHost.c" + } +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return result; +#line 1083 "PublishingPluginHost.c" +} + + +static SpitPublishingPublishable** spit_publishing_concrete_publishing_host_real_get_publishables (SpitPublishingPluginHost* base, int* result_length1) { + SpitPublishingConcretePublishingHost * self; + SpitPublishingPublishable** result = NULL; + SpitPublishingPublishable** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SpitPublishingPublishable** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + SpitPublishingPublishable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 192 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->publishables; +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0__length1 = self->priv->publishables_length1; +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup21 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1__length1 = _tmp0__length1; +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = _tmp1_; +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2__length1 = _tmp1__length1; +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (result_length1) { +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + *result_length1 = _tmp2__length1; +#line 1114 "PublishingPluginHost.c" + } +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result = _tmp2_; +#line 193 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return result; +#line 1120 "PublishingPluginHost.c" +} + + +static void _spit_publishing_concrete_publishing_host_report_plugin_upload_progress_spit_publishing_progress_callback (gint file_number, gdouble fraction_complete, gpointer self) { +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_report_plugin_upload_progress ((SpitPublishingConcretePublishingHost*) self, file_number, fraction_complete); +#line 1127 "PublishingPluginHost.c" +} + + +static SpitPublishingProgressCallback spit_publishing_concrete_publishing_host_real_serialize_publishables (SpitPublishingPluginHost* base, gint content_major_axis, gboolean strip_metadata, void** result_target, GDestroyNotify* result_target_destroy_notify) { + SpitPublishingConcretePublishingHost * self; + SpitPublishingProgressCallback result = NULL; + PublishingUIProgressPane* progress_pane = NULL; + PublishingUIPublishingDialog* _tmp0_ = NULL; + SpitPublishingDialogPane* _tmp1_ = NULL; + gint i = 0; + SpitPublishingPublishable** _tmp2_ = NULL; + gint _tmp2__length1 = 0; + SpitPublishingProgressCallback _tmp25_ = NULL; + void* _tmp25__target = NULL; + GDestroyNotify _tmp25__target_destroy_notify = NULL; + GError * _inner_error_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 198 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_install_progress_pane (self); +#line 199 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp0_ = self->priv->dialog; +#line 199 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp1_ = publishing_ui_publishing_dialog_get_active_pane (_tmp0_); +#line 199 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + progress_pane = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPane); +#line 205 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spin_event_loop (); +#line 207 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + i = 0; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2_ = self->priv->publishables; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp2__length1 = self->priv->publishables_length1; +#line 1162 "PublishingPluginHost.c" + { + SpitPublishingPublishable** publishable_collection = NULL; + gint publishable_collection_length1 = 0; + gint _publishable_collection_size_ = 0; + gint publishable_it = 0; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishable_collection = _tmp2_; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishable_collection_length1 = _tmp2__length1; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + for (publishable_it = 0; publishable_it < _tmp2__length1; publishable_it = publishable_it + 1) { +#line 1174 "PublishingPluginHost.c" + SpitPublishingPublishable* _tmp3_ = NULL; + SpitPublishingPublishable* publishable = NULL; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp3_ = _g_object_ref0 (publishable_collection[publishable_it]); +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishable = _tmp3_; +#line 1181 "PublishingPluginHost.c" + { + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + gdouble phase_fraction_complete = 0.0; + gint _tmp18_ = 0; + SpitPublishingPublishable** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gdouble fraction_complete = 0.0; + gdouble _tmp20_ = 0.0; + gdouble _tmp21_ = 0.0; + PublishingUIProgressPane* _tmp22_ = NULL; + gdouble _tmp23_ = 0.0; + gint _tmp24_ = 0; +#line 209 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp5_ = self->priv->publishing_halted; +#line 209 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp5_) { +#line 209 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = TRUE; +#line 1201 "PublishingPluginHost.c" + } else { + SpitPublishingPublisher* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 209 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp6_ = self->priv->active_publisher; +#line 209 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp7_ = spit_publishing_publisher_is_running (_tmp6_); +#line 209 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp4_ = !_tmp7_; +#line 1211 "PublishingPluginHost.c" + } +#line 209 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_tmp4_) { +#line 1215 "PublishingPluginHost.c" + SpitPublishingProgressCallback _tmp8_ = NULL; + void* _tmp8__target = NULL; + GDestroyNotify _tmp8__target_destroy_notify = NULL; +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp8_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp8__target = NULL; +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp8__target_destroy_notify = NULL; +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + *result_target = _tmp8__target; +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + *result_target_destroy_notify = _tmp8__target_destroy_notify; +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result = _tmp8_; +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (publishable); +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (progress_pane); +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return result; +#line 1237 "PublishingPluginHost.c" + } + { + PublishingGlueMediaSourcePublishableWrapper* wrapper = NULL; + SpitPublishingPublishable* _tmp9_ = NULL; + PublishingGlueMediaSourcePublishableWrapper* _tmp10_ = NULL; + PublishingGlueMediaSourcePublishableWrapper* _tmp11_ = NULL; + gint _tmp12_ = 0; + gboolean _tmp13_ = FALSE; + GFile* _tmp14_ = NULL; + GFile* _tmp15_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp9_ = publishable; +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper)); +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + wrapper = _tmp10_; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp11_ = wrapper; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp12_ = content_major_axis; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp13_ = strip_metadata; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp14_ = publishing_glue_media_source_publishable_wrapper_serialize_for_publishing (_tmp11_, _tmp12_, _tmp13_, &_inner_error_); +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp15_ = _tmp14_; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (_tmp15_); +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (wrapper); +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (_inner_error_->domain == SPIT_PUBLISHING_PUBLISHING_ERROR) { +#line 1272 "PublishingPluginHost.c" + goto __catch34_spit_publishing_publishing_error; + } +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (wrapper); +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (publishable); +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (progress_pane); +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.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 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_clear_error (&_inner_error_); +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return NULL; +#line 1287 "PublishingPluginHost.c" + } +#line 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (wrapper); +#line 1291 "PublishingPluginHost.c" + } + goto __finally34; + __catch34_spit_publishing_publishing_error: + { + GError* err = NULL; + GError* _tmp16_ = NULL; + SpitPublishingProgressCallback _tmp17_ = NULL; + void* _tmp17__target = NULL; + GDestroyNotify _tmp17__target_destroy_notify = NULL; +#line 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + err = _inner_error_; +#line 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _inner_error_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp16_ = err; +#line 217 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_plugin_host_post_error (G_TYPE_CHECK_INSTANCE_CAST (self, SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHost), _tmp16_); +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp17_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp17__target = NULL; +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp17__target_destroy_notify = NULL; +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + *result_target = _tmp17__target; +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + *result_target_destroy_notify = _tmp17__target_destroy_notify; +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result = _tmp17_; +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_error_free0 (err); +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (publishable); +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (progress_pane); +#line 218 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return result; +#line 1329 "PublishingPluginHost.c" + } + __finally34: +#line 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (publishable); +#line 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (progress_pane); +#line 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.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 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_clear_error (&_inner_error_); +#line 212 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return NULL; +#line 1344 "PublishingPluginHost.c" + } +#line 221 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp18_ = i; +#line 221 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp19_ = self->priv->publishables; +#line 221 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp19__length1 = self->priv->publishables_length1; +#line 221 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + phase_fraction_complete = ((gdouble) (_tmp18_ + 1)) / ((gdouble) _tmp19__length1); +#line 222 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp20_ = phase_fraction_complete; +#line 222 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + fraction_complete = _tmp20_ * SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_STATUS_PREPARATION_FRACTION; +#line 224 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp21_ = fraction_complete; +#line 224 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_debug ("PublishingPluginHost.vala:224: serialize_publishables( ): fraction_com" \ +"plete = %f.", _tmp21_); +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp22_ = progress_pane; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp23_ = fraction_complete; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + publishing_ui_progress_pane_set_status (_tmp22_, SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_PREPARE_STATUS_DESCRIPTION, _tmp23_); +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spin_event_loop (); +#line 230 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp24_ = i; +#line 230 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + i = _tmp24_ + 1; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (publishable); +#line 1376 "PublishingPluginHost.c" + } + } + } +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp25_ = _spit_publishing_concrete_publishing_host_report_plugin_upload_progress_spit_publishing_progress_callback; +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp25__target = g_object_ref (self); +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _tmp25__target_destroy_notify = g_object_unref; +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + *result_target = _tmp25__target; +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + *result_target_destroy_notify = _tmp25__target_destroy_notify; +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + result = _tmp25_; +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (progress_pane); +#line 233 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + return result; +#line 1396 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_class_init (SpitPublishingConcretePublishingHostClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + g_type_class_add_private (klass, sizeof (SpitPublishingConcretePublishingHostPrivate)); +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + G_OBJECT_CLASS (klass)->finalize = spit_publishing_concrete_publishing_host_finalize; +#line 1407 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_spit_publishing_plugin_host_interface_init (SpitPublishingPluginHostIface * iface) { +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + spit_publishing_concrete_publishing_host_spit_publishing_plugin_host_parent_iface = g_type_interface_peek_parent (iface); +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->install_dialog_pane = (void (*)(SpitPublishingPluginHost*, SpitPublishingDialogPane*, SpitPublishingPluginHostButtonMode)) spit_publishing_concrete_publishing_host_real_install_dialog_pane; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->post_error = (void (*)(SpitPublishingPluginHost*, GError*)) spit_publishing_concrete_publishing_host_real_post_error; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->stop_publishing = (void (*)(SpitPublishingPluginHost*)) spit_publishing_concrete_publishing_host_real_stop_publishing; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->get_publisher = (SpitPublishingPublisher* (*)(SpitPublishingPluginHost*)) spit_publishing_concrete_publishing_host_real_get_publisher; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->install_static_message_pane = (void (*)(SpitPublishingPluginHost*, const gchar*, SpitPublishingPluginHostButtonMode)) spit_publishing_concrete_publishing_host_real_install_static_message_pane; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->install_pango_message_pane = (void (*)(SpitPublishingPluginHost*, const gchar*, SpitPublishingPluginHostButtonMode)) spit_publishing_concrete_publishing_host_real_install_pango_message_pane; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->install_success_pane = (void (*)(SpitPublishingPluginHost*)) spit_publishing_concrete_publishing_host_real_install_success_pane; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->install_account_fetch_wait_pane = (void (*)(SpitPublishingPluginHost*)) spit_publishing_concrete_publishing_host_real_install_account_fetch_wait_pane; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->install_login_wait_pane = (void (*)(SpitPublishingPluginHost*)) spit_publishing_concrete_publishing_host_real_install_login_wait_pane; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->install_welcome_pane = (void (*)(SpitPublishingPluginHost*, const gchar*, SpitPublishingLoginCallback, void*)) spit_publishing_concrete_publishing_host_real_install_welcome_pane; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->set_service_locked = (void (*)(SpitPublishingPluginHost*, gboolean)) spit_publishing_concrete_publishing_host_real_set_service_locked; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->set_dialog_default_widget = (void (*)(SpitPublishingPluginHost*, GtkWidget*)) spit_publishing_concrete_publishing_host_real_set_dialog_default_widget; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->get_publishable_media_type = (SpitPublishingPublisherMediaType (*)(SpitPublishingPluginHost*)) spit_publishing_concrete_publishing_host_real_get_publishable_media_type; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->get_publishables = (SpitPublishingPublishable** (*)(SpitPublishingPluginHost*, int*)) spit_publishing_concrete_publishing_host_real_get_publishables; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + iface->serialize_publishables = (SpitPublishingProgressCallback (*)(SpitPublishingPluginHost*, gint, gboolean, void**, GDestroyNotify*)) spit_publishing_concrete_publishing_host_real_serialize_publishables; +#line 1444 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_instance_init (SpitPublishingConcretePublishingHost * self) { +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv = SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_GET_PRIVATE (self); +#line 16 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->dialog = NULL; +#line 17 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->active_publisher = NULL; +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->publishables = NULL; +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->publishables_length1 = 0; +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->_publishables_size_ = self->priv->publishables_length1; +#line 19 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->current_login_callback = NULL; +#line 20 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->publishing_halted = FALSE; +#line 21 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->media_type = SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_NONE; +#line 1467 "PublishingPluginHost.c" +} + + +static void spit_publishing_concrete_publishing_host_finalize (GObject* obj) { + SpitPublishingConcretePublishingHost * self; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost); +#line 17 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + _g_object_unref0 (self->priv->active_publisher); +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingPluginHost.vala" + G_OBJECT_CLASS (spit_publishing_concrete_publishing_host_parent_class)->finalize (obj); +#line 1481 "PublishingPluginHost.c" +} + + +GType spit_publishing_concrete_publishing_host_get_type (void) { + static volatile gsize spit_publishing_concrete_publishing_host_type_id__volatile = 0; + if (g_once_init_enter (&spit_publishing_concrete_publishing_host_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SpitPublishingConcretePublishingHostClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) spit_publishing_concrete_publishing_host_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SpitPublishingConcretePublishingHost), 0, (GInstanceInitFunc) spit_publishing_concrete_publishing_host_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_plugin_host_info = { (GInterfaceInitFunc) spit_publishing_concrete_publishing_host_spit_publishing_plugin_host_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType spit_publishing_concrete_publishing_host_type_id; + spit_publishing_concrete_publishing_host_type_id = g_type_register_static (PLUGINS_TYPE_STANDARD_HOST_INTERFACE, "SpitPublishingConcretePublishingHost", &g_define_type_info, 0); + g_type_add_interface_static (spit_publishing_concrete_publishing_host_type_id, SPIT_PUBLISHING_TYPE_PLUGIN_HOST, &spit_publishing_plugin_host_info); + g_once_init_leave (&spit_publishing_concrete_publishing_host_type_id__volatile, spit_publishing_concrete_publishing_host_type_id); + } + return spit_publishing_concrete_publishing_host_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/publishing/PublishingUI.c b/src/publishing/PublishingUI.c new file mode 100644 index 0000000..9dcf2e0 --- /dev/null +++ b/src/publishing/PublishingUI.c @@ -0,0 +1,3520 @@ +/* PublishingUI.c generated by valac 0.32.1, the Vala compiler + * generated from PublishingUI.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE (publishing_ui_concrete_dialog_pane_get_type ()) +#define PUBLISHING_UI_CONCRETE_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)) +#define PUBLISHING_UI_CONCRETE_DIALOG_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPaneClass)) +#define PUBLISHING_UI_IS_CONCRETE_DIALOG_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE)) +#define PUBLISHING_UI_IS_CONCRETE_DIALOG_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE)) +#define PUBLISHING_UI_CONCRETE_DIALOG_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPaneClass)) + +typedef struct _PublishingUIConcreteDialogPane PublishingUIConcreteDialogPane; +typedef struct _PublishingUIConcreteDialogPaneClass PublishingUIConcreteDialogPaneClass; +typedef struct _PublishingUIConcreteDialogPanePrivate PublishingUIConcreteDialogPanePrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE (publishing_ui_static_message_pane_get_type ()) +#define PUBLISHING_UI_STATIC_MESSAGE_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, PublishingUIStaticMessagePane)) +#define PUBLISHING_UI_STATIC_MESSAGE_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, PublishingUIStaticMessagePaneClass)) +#define PUBLISHING_UI_IS_STATIC_MESSAGE_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE)) +#define PUBLISHING_UI_IS_STATIC_MESSAGE_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE)) +#define PUBLISHING_UI_STATIC_MESSAGE_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, PublishingUIStaticMessagePaneClass)) + +typedef struct _PublishingUIStaticMessagePane PublishingUIStaticMessagePane; +typedef struct _PublishingUIStaticMessagePaneClass PublishingUIStaticMessagePaneClass; +typedef struct _PublishingUIStaticMessagePanePrivate PublishingUIStaticMessagePanePrivate; + +#define PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE (publishing_ui_login_welcome_pane_get_type ()) +#define PUBLISHING_UI_LOGIN_WELCOME_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, PublishingUILoginWelcomePane)) +#define PUBLISHING_UI_LOGIN_WELCOME_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, PublishingUILoginWelcomePaneClass)) +#define PUBLISHING_UI_IS_LOGIN_WELCOME_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE)) +#define PUBLISHING_UI_IS_LOGIN_WELCOME_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE)) +#define PUBLISHING_UI_LOGIN_WELCOME_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, PublishingUILoginWelcomePaneClass)) + +typedef struct _PublishingUILoginWelcomePane PublishingUILoginWelcomePane; +typedef struct _PublishingUILoginWelcomePaneClass PublishingUILoginWelcomePaneClass; +typedef struct _PublishingUILoginWelcomePanePrivate PublishingUILoginWelcomePanePrivate; + +#define PUBLISHING_UI_TYPE_PROGRESS_PANE (publishing_ui_progress_pane_get_type ()) +#define PUBLISHING_UI_PROGRESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPane)) +#define PUBLISHING_UI_PROGRESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPaneClass)) +#define PUBLISHING_UI_IS_PROGRESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_PROGRESS_PANE)) +#define PUBLISHING_UI_IS_PROGRESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_PROGRESS_PANE)) +#define PUBLISHING_UI_PROGRESS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPaneClass)) + +typedef struct _PublishingUIProgressPane PublishingUIProgressPane; +typedef struct _PublishingUIProgressPaneClass PublishingUIProgressPaneClass; +typedef struct _PublishingUIProgressPanePrivate PublishingUIProgressPanePrivate; + +#define PUBLISHING_UI_TYPE_SUCCESS_PANE (publishing_ui_success_pane_get_type ()) +#define PUBLISHING_UI_SUCCESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_SUCCESS_PANE, PublishingUISuccessPane)) +#define PUBLISHING_UI_SUCCESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_SUCCESS_PANE, PublishingUISuccessPaneClass)) +#define PUBLISHING_UI_IS_SUCCESS_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_SUCCESS_PANE)) +#define PUBLISHING_UI_IS_SUCCESS_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_SUCCESS_PANE)) +#define PUBLISHING_UI_SUCCESS_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_SUCCESS_PANE, PublishingUISuccessPaneClass)) + +typedef struct _PublishingUISuccessPane PublishingUISuccessPane; +typedef struct _PublishingUISuccessPaneClass PublishingUISuccessPaneClass; +typedef struct _PublishingUISuccessPanePrivate PublishingUISuccessPanePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE (publishing_ui_account_fetch_wait_pane_get_type ()) +#define PUBLISHING_UI_ACCOUNT_FETCH_WAIT_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE, PublishingUIAccountFetchWaitPane)) +#define PUBLISHING_UI_ACCOUNT_FETCH_WAIT_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE, PublishingUIAccountFetchWaitPaneClass)) +#define PUBLISHING_UI_IS_ACCOUNT_FETCH_WAIT_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE)) +#define PUBLISHING_UI_IS_ACCOUNT_FETCH_WAIT_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE)) +#define PUBLISHING_UI_ACCOUNT_FETCH_WAIT_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE, PublishingUIAccountFetchWaitPaneClass)) + +typedef struct _PublishingUIAccountFetchWaitPane PublishingUIAccountFetchWaitPane; +typedef struct _PublishingUIAccountFetchWaitPaneClass PublishingUIAccountFetchWaitPaneClass; +typedef struct _PublishingUIAccountFetchWaitPanePrivate PublishingUIAccountFetchWaitPanePrivate; + +#define PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE (publishing_ui_login_wait_pane_get_type ()) +#define PUBLISHING_UI_LOGIN_WAIT_PANE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE, PublishingUILoginWaitPane)) +#define PUBLISHING_UI_LOGIN_WAIT_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE, PublishingUILoginWaitPaneClass)) +#define PUBLISHING_UI_IS_LOGIN_WAIT_PANE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE)) +#define PUBLISHING_UI_IS_LOGIN_WAIT_PANE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE)) +#define PUBLISHING_UI_LOGIN_WAIT_PANE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE, PublishingUILoginWaitPaneClass)) + +typedef struct _PublishingUILoginWaitPane PublishingUILoginWaitPane; +typedef struct _PublishingUILoginWaitPaneClass PublishingUILoginWaitPaneClass; +typedef struct _PublishingUILoginWaitPanePrivate PublishingUILoginWaitPanePrivate; + +#define PUBLISHING_UI_TYPE_PUBLISHING_DIALOG (publishing_ui_publishing_dialog_get_type ()) +#define PUBLISHING_UI_PUBLISHING_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, PublishingUIPublishingDialog)) +#define PUBLISHING_UI_PUBLISHING_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, PublishingUIPublishingDialogClass)) +#define PUBLISHING_UI_IS_PUBLISHING_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG)) +#define PUBLISHING_UI_IS_PUBLISHING_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG)) +#define PUBLISHING_UI_PUBLISHING_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, PublishingUIPublishingDialogClass)) + +typedef struct _PublishingUIPublishingDialog PublishingUIPublishingDialog; +typedef struct _PublishingUIPublishingDialogClass PublishingUIPublishingDialogClass; +typedef struct _PublishingUIPublishingDialogPrivate PublishingUIPublishingDialogPrivate; + +#define PLUGINS_TYPE_STANDARD_HOST_INTERFACE (plugins_standard_host_interface_get_type ()) +#define PLUGINS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface)) +#define PLUGINS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_STANDARD_HOST_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) + +typedef struct _PluginsStandardHostInterface PluginsStandardHostInterface; +typedef struct _PluginsStandardHostInterfaceClass PluginsStandardHostInterfaceClass; + +#define SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST (spit_publishing_concrete_publishing_host_get_type ()) +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHost)) +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHostClass)) +#define SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST)) +#define SPIT_PUBLISHING_IS_CONCRETE_PUBLISHING_HOST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST)) +#define SPIT_PUBLISHING_CONCRETE_PUBLISHING_HOST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPIT_PUBLISHING_TYPE_CONCRETE_PUBLISHING_HOST, SpitPublishingConcretePublishingHostClass)) + +typedef struct _SpitPublishingConcretePublishingHost SpitPublishingConcretePublishingHost; +typedef struct _SpitPublishingConcretePublishingHostClass SpitPublishingConcretePublishingHostClass; + +#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 PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER (publishing_glue_media_source_publishable_wrapper_get_type ()) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapper)) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperClass)) +#define PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER)) +#define PUBLISHING_GLUE_IS_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER)) +#define PUBLISHING_GLUE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PUBLISHING_GLUE_TYPE_MEDIA_SOURCE_PUBLISHABLE_WRAPPER, PublishingGlueMediaSourcePublishableWrapperClass)) + +typedef struct _PublishingGlueMediaSourcePublishableWrapper PublishingGlueMediaSourcePublishableWrapper; +typedef struct _PublishingGlueMediaSourcePublishableWrapperClass PublishingGlueMediaSourcePublishableWrapperClass; + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; +#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_LIBRARY_PHOTO (library_photo_get_type ()) +#define LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO, LibraryPhoto)) +#define LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) +#define IS_LIBRARY_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO)) +#define IS_LIBRARY_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO)) +#define LIBRARY_PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO, LibraryPhotoClass)) + +typedef struct _LibraryPhoto LibraryPhoto; +typedef struct _LibraryPhotoClass LibraryPhotoClass; + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_VIDEO (video_get_type ()) +#define VIDEO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO, Video)) +#define VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO, VideoClass)) +#define IS_VIDEO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO)) +#define IS_VIDEO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO)) +#define VIDEO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO, VideoClass)) + +typedef struct _Video Video; +typedef struct _VideoClass VideoClass; +#define _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 _PublishingUIConcreteDialogPane { + GObject parent_instance; + PublishingUIConcreteDialogPanePrivate * priv; + GtkBox* pane_widget; + GtkBuilder* builder; +}; + +struct _PublishingUIConcreteDialogPaneClass { + GObjectClass parent_class; +}; + +struct _PublishingUIStaticMessagePane { + PublishingUIConcreteDialogPane parent_instance; + PublishingUIStaticMessagePanePrivate * priv; +}; + +struct _PublishingUIStaticMessagePaneClass { + PublishingUIConcreteDialogPaneClass parent_class; +}; + +struct _PublishingUIStaticMessagePanePrivate { + GtkLabel* msg_label; +}; + +struct _PublishingUILoginWelcomePane { + PublishingUIConcreteDialogPane parent_instance; + PublishingUILoginWelcomePanePrivate * priv; +}; + +struct _PublishingUILoginWelcomePaneClass { + PublishingUIConcreteDialogPaneClass parent_class; +}; + +struct _PublishingUILoginWelcomePanePrivate { + GtkButton* login_button; + GtkLabel* not_logged_in_label; +}; + +struct _PublishingUIProgressPane { + PublishingUIConcreteDialogPane parent_instance; + PublishingUIProgressPanePrivate * priv; +}; + +struct _PublishingUIProgressPaneClass { + PublishingUIConcreteDialogPaneClass parent_class; +}; + +struct _PublishingUIProgressPanePrivate { + GtkProgressBar* progress_bar; +}; + +struct _PublishingUISuccessPane { + PublishingUIStaticMessagePane parent_instance; + PublishingUISuccessPanePrivate * priv; +}; + +struct _PublishingUISuccessPaneClass { + PublishingUIStaticMessagePaneClass parent_class; +}; + +struct _PublishingUIAccountFetchWaitPane { + PublishingUIStaticMessagePane parent_instance; + PublishingUIAccountFetchWaitPanePrivate * priv; +}; + +struct _PublishingUIAccountFetchWaitPaneClass { + PublishingUIStaticMessagePaneClass parent_class; +}; + +struct _PublishingUILoginWaitPane { + PublishingUIStaticMessagePane parent_instance; + PublishingUILoginWaitPanePrivate * priv; +}; + +struct _PublishingUILoginWaitPaneClass { + PublishingUIStaticMessagePaneClass parent_class; +}; + +struct _PublishingUIPublishingDialog { + GtkDialog parent_instance; + PublishingUIPublishingDialogPrivate * priv; +}; + +struct _PublishingUIPublishingDialogClass { + GtkDialogClass parent_class; +}; + +struct _PublishingUIPublishingDialogPrivate { + GtkListStore* service_selector_box_model; + GtkComboBox* service_selector_box; + GtkBox* central_area_layouter; + GtkButton* close_cancel_button; + SpitPublishingDialogPane* active_pane; + SpitPublishingPublishable** publishables; + gint publishables_length1; + gint _publishables_size_; + SpitPublishingConcretePublishingHost* host; + SpitPluggableInfo info; +}; + + +static gpointer publishing_ui_concrete_dialog_pane_parent_class = NULL; +static SpitPublishingDialogPaneIface* publishing_ui_concrete_dialog_pane_spit_publishing_dialog_pane_parent_iface = NULL; +static gpointer publishing_ui_static_message_pane_parent_class = NULL; +static gpointer publishing_ui_login_welcome_pane_parent_class = NULL; +static gpointer publishing_ui_progress_pane_parent_class = NULL; +static gpointer publishing_ui_success_pane_parent_class = NULL; +static gpointer publishing_ui_account_fetch_wait_pane_parent_class = NULL; +static gpointer publishing_ui_login_wait_pane_parent_class = NULL; +static gpointer publishing_ui_publishing_dialog_parent_class = NULL; +static PublishingUIPublishingDialog* publishing_ui_publishing_dialog_active_instance; +static PublishingUIPublishingDialog* publishing_ui_publishing_dialog_active_instance = NULL; +static GTimer* publishing_ui_publishing_dialog_since_last_start; +static GTimer* publishing_ui_publishing_dialog_since_last_start = NULL; +static gboolean publishing_ui_publishing_dialog_elapsed_is_valid; +static gboolean publishing_ui_publishing_dialog_elapsed_is_valid = FALSE; + +GType publishing_ui_concrete_dialog_pane_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_UI_CONCRETE_DIALOG_PANE_DUMMY_PROPERTY +}; +PublishingUIConcreteDialogPane* publishing_ui_concrete_dialog_pane_new (void); +PublishingUIConcreteDialogPane* publishing_ui_concrete_dialog_pane_construct (GType object_type); +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user); +static GtkWidget* publishing_ui_concrete_dialog_pane_real_get_widget (SpitPublishingDialogPane* base); +static SpitPublishingDialogPaneGeometryOptions publishing_ui_concrete_dialog_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base); +static void publishing_ui_concrete_dialog_pane_real_on_pane_installed (SpitPublishingDialogPane* base); +static void publishing_ui_concrete_dialog_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base); +static void publishing_ui_concrete_dialog_pane_finalize (GObject* obj); +GType publishing_ui_static_message_pane_get_type (void) G_GNUC_CONST; +#define PUBLISHING_UI_STATIC_MESSAGE_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, PublishingUIStaticMessagePanePrivate)) +enum { + PUBLISHING_UI_STATIC_MESSAGE_PANE_DUMMY_PROPERTY +}; +PublishingUIStaticMessagePane* publishing_ui_static_message_pane_new (const gchar* message_string, gboolean enable_markup); +PublishingUIStaticMessagePane* publishing_ui_static_message_pane_construct (GType object_type, const gchar* message_string, gboolean enable_markup); +static void publishing_ui_static_message_pane_finalize (GObject* obj); +GType publishing_ui_login_welcome_pane_get_type (void) G_GNUC_CONST; +#define PUBLISHING_UI_LOGIN_WELCOME_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, PublishingUILoginWelcomePanePrivate)) +enum { + PUBLISHING_UI_LOGIN_WELCOME_PANE_DUMMY_PROPERTY +}; +PublishingUILoginWelcomePane* publishing_ui_login_welcome_pane_new (const gchar* service_welcome_message); +PublishingUILoginWelcomePane* publishing_ui_login_welcome_pane_construct (GType object_type, const gchar* service_welcome_message); +static void publishing_ui_login_welcome_pane_on_login_clicked (PublishingUILoginWelcomePane* self); +static void _publishing_ui_login_welcome_pane_on_login_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_ui_login_welcome_pane_finalize (GObject* obj); +GType publishing_ui_progress_pane_get_type (void) G_GNUC_CONST; +#define PUBLISHING_UI_PROGRESS_PANE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPanePrivate)) +enum { + PUBLISHING_UI_PROGRESS_PANE_DUMMY_PROPERTY +}; +PublishingUIProgressPane* publishing_ui_progress_pane_new (void); +PublishingUIProgressPane* publishing_ui_progress_pane_construct (GType object_type); +void publishing_ui_progress_pane_set_text (PublishingUIProgressPane* self, const gchar* text); +void publishing_ui_progress_pane_set_progress (PublishingUIProgressPane* self, gdouble progress); +void publishing_ui_progress_pane_set_status (PublishingUIProgressPane* self, const gchar* status_text, gdouble progress); +static void publishing_ui_progress_pane_finalize (GObject* obj); +GType publishing_ui_success_pane_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_UI_SUCCESS_PANE_DUMMY_PROPERTY +}; +PublishingUISuccessPane* publishing_ui_success_pane_new (SpitPublishingPublisherMediaType published_media, gint num_uploaded); +PublishingUISuccessPane* publishing_ui_success_pane_construct (GType object_type, SpitPublishingPublisherMediaType published_media, gint num_uploaded); +GType publishing_ui_account_fetch_wait_pane_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_UI_ACCOUNT_FETCH_WAIT_PANE_DUMMY_PROPERTY +}; +PublishingUIAccountFetchWaitPane* publishing_ui_account_fetch_wait_pane_new (void); +PublishingUIAccountFetchWaitPane* publishing_ui_account_fetch_wait_pane_construct (GType object_type); +GType publishing_ui_login_wait_pane_get_type (void) G_GNUC_CONST; +enum { + PUBLISHING_UI_LOGIN_WAIT_PANE_DUMMY_PROPERTY +}; +PublishingUILoginWaitPane* publishing_ui_login_wait_pane_new (void); +PublishingUILoginWaitPane* publishing_ui_login_wait_pane_construct (GType object_type); +GType publishing_ui_publishing_dialog_get_type (void) G_GNUC_CONST; +GType plugins_standard_host_interface_get_type (void) G_GNUC_CONST; +GType spit_publishing_concrete_publishing_host_get_type (void) G_GNUC_CONST; +#define PUBLISHING_UI_PUBLISHING_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, PublishingUIPublishingDialogPrivate)) +enum { + PUBLISHING_UI_PUBLISHING_DIALOG_DUMMY_PROPERTY +}; +#define PUBLISHING_UI_PUBLISHING_DIALOG_LARGE_WINDOW_WIDTH 860 +#define PUBLISHING_UI_PUBLISHING_DIALOG_LARGE_WINDOW_HEIGHT 688 +#define PUBLISHING_UI_PUBLISHING_DIALOG_COLOSSAL_WINDOW_WIDTH 1024 +#define PUBLISHING_UI_PUBLISHING_DIALOG_COLOSSAL_WINDOW_HEIGHT 688 +#define PUBLISHING_UI_PUBLISHING_DIALOG_STANDARD_WINDOW_WIDTH 632 +#define PUBLISHING_UI_PUBLISHING_DIALOG_STANDARD_WINDOW_HEIGHT 540 +#define PUBLISHING_UI_PUBLISHING_DIALOG_BORDER_REGION_WIDTH 16 +#define PUBLISHING_UI_PUBLISHING_DIALOG_BORDER_REGION_HEIGHT 100 +#define PUBLISHING_UI_PUBLISHING_DIALOG_STANDARD_CONTENT_LABEL_WIDTH 500 +#define PUBLISHING_UI_PUBLISHING_DIALOG_STANDARD_ACTION_BUTTON_WIDTH 128 +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; +PublishingUIPublishingDialog* publishing_ui_publishing_dialog_new (GeeCollection* to_publish); +PublishingUIPublishingDialog* publishing_ui_publishing_dialog_construct (GType object_type, GeeCollection* to_publish); +static gboolean publishing_ui_publishing_dialog_on_window_close (PublishingUIPublishingDialog* self, GdkEventAny* evt); +static gboolean _publishing_ui_publishing_dialog_on_window_close_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self); +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_new (MediaSource* to_wrap); +PublishingGlueMediaSourcePublishableWrapper* publishing_glue_media_source_publishable_wrapper_construct (GType object_type, MediaSource* to_wrap); +GType publishing_glue_media_source_publishable_wrapper_get_type (void) G_GNUC_CONST; +static void _vala_array_add55 (SpitPublishingPublishable*** array, int* length, int* size, SpitPublishingPublishable* value); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +gchar* configuration_facade_get_last_used_service (ConfigurationFacade* self); +static SpitPublishingService** publishing_ui_publishing_dialog_load_services (gboolean has_photos, gboolean has_videos, int* result_length1); +GdkPixbuf* resources_get_icon (const gchar* name, gint scale); +#define RESOURCES_ICON_GENERIC_PLUGIN "generic-plugin.png" +#define RESOURCES_DEFAULT_ICON_SCALE 24 +static void publishing_ui_publishing_dialog_on_service_changed (PublishingUIPublishingDialog* self); +static void _publishing_ui_publishing_dialog_on_service_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void publishing_ui_publishing_dialog_on_close_cancel_clicked (PublishingUIPublishingDialog* self); +static void _publishing_ui_publishing_dialog_on_close_cancel_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void publishing_ui_publishing_dialog_set_standard_window_mode (PublishingUIPublishingDialog* self); +static SpitPublishingService** publishing_ui_publishing_dialog_load_all_services (int* result_length1); +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled); +gchar* plugins_get_pluggable_module_id (SpitPluggable* needle); +static void _vala_array_add56 (SpitPublishingService*** array, int* length, int* size, SpitPublishingService* value); +static gint __lambda15_ (void* a, void* b); +gint utf8_cs_compare (void* a, void* b); +static gint ___lambda15____compar_fn_t (void* key1, void* key2); +static void _vala_array_add57 (SpitPublishingService*** array, int* length, int* size, SpitPublishingService* value); +static void _vala_array_add58 (SpitPublishingService*** array, int* length, int* size, SpitPublishingService* value); +static void _vala_array_add59 (SpitPublishingService*** array, int* length, int* size, SpitPublishingService* value); +void publishing_ui_publishing_dialog_go (GeeCollection* to_publish); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +GType library_photo_get_type (void) G_GNUC_CONST; +GType video_source_get_type (void) G_GNUC_CONST; +GType video_get_type (void) G_GNUC_CONST; +void media_source_collection_filter_media (GeeCollection* media, GeeCollection* photos, GeeCollection* videos); +void app_window_error_message_with_title (const gchar* title, const gchar* message, GtkWindow* parent, gboolean should_escape); +gint publishing_ui_publishing_dialog_run (PublishingUIPublishingDialog* self); +void configuration_facade_set_last_used_service (ConfigurationFacade* self, const gchar* service_name); +SpitPublishingConcretePublishingHost* spit_publishing_concrete_publishing_host_new (SpitPublishingService* service, PublishingUIPublishingDialog* dialog, SpitPublishingPublishable** publishables, int publishables_length1); +SpitPublishingConcretePublishingHost* spit_publishing_concrete_publishing_host_construct (GType object_type, SpitPublishingService* service, PublishingUIPublishingDialog* dialog, SpitPublishingPublishable** publishables, int publishables_length1); +void spit_publishing_concrete_publishing_host_start_publishing (SpitPublishingConcretePublishingHost* self); +static void publishing_ui_publishing_dialog_set_large_window_mode (PublishingUIPublishingDialog* self); +static void publishing_ui_publishing_dialog_set_colossal_window_mode (PublishingUIPublishingDialog* self); +static void publishing_ui_publishing_dialog_set_free_sizable_window_mode (PublishingUIPublishingDialog* self); +static void publishing_ui_publishing_dialog_clear_free_sizable_window_mode (PublishingUIPublishingDialog* self); +SpitPublishingDialogPane* publishing_ui_publishing_dialog_get_active_pane (PublishingUIPublishingDialog* self); +void publishing_ui_publishing_dialog_set_close_button_mode (PublishingUIPublishingDialog* self); +void publishing_ui_publishing_dialog_set_cancel_button_mode (PublishingUIPublishingDialog* self); +void publishing_ui_publishing_dialog_lock_service (PublishingUIPublishingDialog* self); +void publishing_ui_publishing_dialog_unlock_service (PublishingUIPublishingDialog* self); +void publishing_ui_publishing_dialog_install_pane (PublishingUIPublishingDialog* self, SpitPublishingDialogPane* pane); +static void publishing_ui_publishing_dialog_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +PublishingUIConcreteDialogPane* publishing_ui_concrete_dialog_pane_construct (GType object_type) { + PublishingUIConcreteDialogPane * self = NULL; + GtkBuilder* _tmp0_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = (PublishingUIConcreteDialogPane*) g_object_new (object_type, NULL); +#line 14 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = app_window_create_builder ("shotwell.ui", NULL); +#line 14 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->builder); +#line 14 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->builder = _tmp0_; +#line 13 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self; +#line 529 "PublishingUI.c" +} + + +PublishingUIConcreteDialogPane* publishing_ui_concrete_dialog_pane_new (void) { +#line 13 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return publishing_ui_concrete_dialog_pane_construct (PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE); +#line 536 "PublishingUI.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self ? g_object_ref (self) : NULL; +#line 543 "PublishingUI.c" +} + + +static GtkWidget* publishing_ui_concrete_dialog_pane_real_get_widget (SpitPublishingDialogPane* base) { + PublishingUIConcreteDialogPane * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane); +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->pane_widget; +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + result = _tmp1_; +#line 18 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 562 "PublishingUI.c" +} + + +static SpitPublishingDialogPaneGeometryOptions publishing_ui_concrete_dialog_pane_real_get_preferred_geometry (SpitPublishingDialogPane* base) { + PublishingUIConcreteDialogPane * self; + SpitPublishingDialogPaneGeometryOptions result = 0; +#line 21 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane); +#line 22 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + result = SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_NONE; +#line 22 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 575 "PublishingUI.c" +} + + +static void publishing_ui_concrete_dialog_pane_real_on_pane_installed (SpitPublishingDialogPane* base) { + PublishingUIConcreteDialogPane * self; +#line 25 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane); +#line 583 "PublishingUI.c" +} + + +static void publishing_ui_concrete_dialog_pane_real_on_pane_uninstalled (SpitPublishingDialogPane* base) { + PublishingUIConcreteDialogPane * self; +#line 28 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane); +#line 591 "PublishingUI.c" +} + + +static void publishing_ui_concrete_dialog_pane_class_init (PublishingUIConcreteDialogPaneClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_concrete_dialog_pane_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_ui_concrete_dialog_pane_finalize; +#line 600 "PublishingUI.c" +} + + +static void publishing_ui_concrete_dialog_pane_spit_publishing_dialog_pane_interface_init (SpitPublishingDialogPaneIface * iface) { +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_concrete_dialog_pane_spit_publishing_dialog_pane_parent_iface = g_type_interface_peek_parent (iface); +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + iface->get_widget = (GtkWidget* (*)(SpitPublishingDialogPane*)) publishing_ui_concrete_dialog_pane_real_get_widget; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + iface->get_preferred_geometry = (SpitPublishingDialogPaneGeometryOptions (*)(SpitPublishingDialogPane*)) publishing_ui_concrete_dialog_pane_real_get_preferred_geometry; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + iface->on_pane_installed = (void (*)(SpitPublishingDialogPane*)) publishing_ui_concrete_dialog_pane_real_on_pane_installed; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + iface->on_pane_uninstalled = (void (*)(SpitPublishingDialogPane*)) publishing_ui_concrete_dialog_pane_real_on_pane_uninstalled; +#line 615 "PublishingUI.c" +} + + +static void publishing_ui_concrete_dialog_pane_instance_init (PublishingUIConcreteDialogPane * self) { +#line 10 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->pane_widget = NULL; +#line 11 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->builder = NULL; +#line 624 "PublishingUI.c" +} + + +static void publishing_ui_concrete_dialog_pane_finalize (GObject* obj) { + PublishingUIConcreteDialogPane * self; +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane); +#line 10 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->pane_widget); +#line 11 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->builder); +#line 9 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (publishing_ui_concrete_dialog_pane_parent_class)->finalize (obj); +#line 638 "PublishingUI.c" +} + + +GType publishing_ui_concrete_dialog_pane_get_type (void) { + static volatile gsize publishing_ui_concrete_dialog_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_ui_concrete_dialog_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingUIConcreteDialogPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_ui_concrete_dialog_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingUIConcreteDialogPane), 0, (GInstanceInitFunc) publishing_ui_concrete_dialog_pane_instance_init, NULL }; + static const GInterfaceInfo spit_publishing_dialog_pane_info = { (GInterfaceInitFunc) publishing_ui_concrete_dialog_pane_spit_publishing_dialog_pane_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType publishing_ui_concrete_dialog_pane_type_id; + publishing_ui_concrete_dialog_pane_type_id = g_type_register_static (G_TYPE_OBJECT, "PublishingUIConcreteDialogPane", &g_define_type_info, 0); + g_type_add_interface_static (publishing_ui_concrete_dialog_pane_type_id, SPIT_PUBLISHING_TYPE_DIALOG_PANE, &spit_publishing_dialog_pane_info); + g_once_init_leave (&publishing_ui_concrete_dialog_pane_type_id__volatile, publishing_ui_concrete_dialog_pane_type_id); + } + return publishing_ui_concrete_dialog_pane_type_id__volatile; +} + + +PublishingUIStaticMessagePane* publishing_ui_static_message_pane_construct (GType object_type, const gchar* message_string, gboolean enable_markup) { + PublishingUIStaticMessagePane * self = NULL; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; + GtkLabel* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GObject* _tmp4_ = NULL; + GtkBox* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 35 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_val_if_fail (message_string != NULL, NULL); +#line 36 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = (PublishingUIStaticMessagePane*) publishing_ui_concrete_dialog_pane_construct (object_type); +#line 37 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->builder; +#line 37 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "static_msg_label"); +#line 37 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp1_) : NULL); +#line 37 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->msg_label); +#line 37 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->msg_label = _tmp2_; +#line 38 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->builder; +#line 38 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = gtk_builder_get_object (_tmp3_, "static_msg_pane_widget"); +#line 38 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, gtk_box_get_type ()) ? ((GtkBox*) _tmp4_) : NULL); +#line 38 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->pane_widget); +#line 38 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->pane_widget = _tmp5_; +#line 40 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6_ = enable_markup; +#line 40 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp6_) { +#line 693 "PublishingUI.c" + GtkLabel* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkLabel* _tmp9_ = NULL; + GtkLabel* _tmp10_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = self->priv->msg_label; +#line 41 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = message_string; +#line 41 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_label_set_markup (_tmp7_, _tmp8_); +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp9_ = self->priv->msg_label; +#line 42 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_label_set_line_wrap (_tmp9_, TRUE); +#line 43 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = self->priv->msg_label; +#line 43 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_label_set_use_markup (_tmp10_, TRUE); +#line 712 "PublishingUI.c" + } else { + GtkLabel* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = self->priv->msg_label; +#line 45 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp12_ = message_string; +#line 45 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_label_set_label (_tmp11_, _tmp12_); +#line 722 "PublishingUI.c" + } +#line 35 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self; +#line 726 "PublishingUI.c" +} + + +PublishingUIStaticMessagePane* publishing_ui_static_message_pane_new (const gchar* message_string, gboolean enable_markup) { +#line 35 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return publishing_ui_static_message_pane_construct (PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, message_string, enable_markup); +#line 733 "PublishingUI.c" +} + + +static void publishing_ui_static_message_pane_class_init (PublishingUIStaticMessagePaneClass * klass) { +#line 32 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_static_message_pane_parent_class = g_type_class_peek_parent (klass); +#line 32 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_type_class_add_private (klass, sizeof (PublishingUIStaticMessagePanePrivate)); +#line 32 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_ui_static_message_pane_finalize; +#line 744 "PublishingUI.c" +} + + +static void publishing_ui_static_message_pane_instance_init (PublishingUIStaticMessagePane * self) { +#line 32 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv = PUBLISHING_UI_STATIC_MESSAGE_PANE_GET_PRIVATE (self); +#line 33 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->msg_label = NULL; +#line 753 "PublishingUI.c" +} + + +static void publishing_ui_static_message_pane_finalize (GObject* obj) { + PublishingUIStaticMessagePane * self; +#line 32 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, PublishingUIStaticMessagePane); +#line 33 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->msg_label); +#line 32 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (publishing_ui_static_message_pane_parent_class)->finalize (obj); +#line 765 "PublishingUI.c" +} + + +GType publishing_ui_static_message_pane_get_type (void) { + static volatile gsize publishing_ui_static_message_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_ui_static_message_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingUIStaticMessagePaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_ui_static_message_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingUIStaticMessagePane), 0, (GInstanceInitFunc) publishing_ui_static_message_pane_instance_init, NULL }; + GType publishing_ui_static_message_pane_type_id; + publishing_ui_static_message_pane_type_id = g_type_register_static (PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, "PublishingUIStaticMessagePane", &g_define_type_info, 0); + g_once_init_leave (&publishing_ui_static_message_pane_type_id__volatile, publishing_ui_static_message_pane_type_id); + } + return publishing_ui_static_message_pane_type_id__volatile; +} + + +static void _publishing_ui_login_welcome_pane_on_login_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 62 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_login_welcome_pane_on_login_clicked ((PublishingUILoginWelcomePane*) self); +#line 784 "PublishingUI.c" +} + + +PublishingUILoginWelcomePane* publishing_ui_login_welcome_pane_construct (GType object_type, const gchar* service_welcome_message) { + PublishingUILoginWelcomePane * self = NULL; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; + GtkBox* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GObject* _tmp4_ = NULL; + GtkButton* _tmp5_ = NULL; + GtkBuilder* _tmp6_ = NULL; + GObject* _tmp7_ = NULL; + GtkLabel* _tmp8_ = NULL; + GtkButton* _tmp9_ = NULL; + GtkLabel* _tmp10_ = NULL; + GtkLabel* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 56 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_val_if_fail (service_welcome_message != NULL, NULL); +#line 57 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = (PublishingUILoginWelcomePane*) publishing_ui_concrete_dialog_pane_construct (object_type); +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->builder; +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "welcome_pane_widget"); +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_box_get_type ()) ? ((GtkBox*) _tmp1_) : NULL); +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->pane_widget); +#line 58 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->pane_widget = _tmp2_; +#line 59 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->builder; +#line 59 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = gtk_builder_get_object (_tmp3_, "login_button"); +#line 59 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, gtk_button_get_type ()) ? ((GtkButton*) _tmp4_) : NULL); +#line 59 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->login_button); +#line 59 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->login_button = _tmp5_; +#line 60 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->builder; +#line 60 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = gtk_builder_get_object (_tmp6_, "not_logged_in_label"); +#line 60 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, gtk_label_get_type ()) ? ((GtkLabel*) _tmp7_) : NULL); +#line 60 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->not_logged_in_label); +#line 60 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->not_logged_in_label = _tmp8_; +#line 62 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp9_ = self->priv->login_button; +#line 62 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_signal_connect_object (_tmp9_, "clicked", (GCallback) _publishing_ui_login_welcome_pane_on_login_clicked_gtk_button_clicked, self, 0); +#line 63 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = self->priv->not_logged_in_label; +#line 63 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_label_set_use_markup (_tmp10_, TRUE); +#line 64 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = self->priv->not_logged_in_label; +#line 64 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp12_ = service_welcome_message; +#line 64 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_label_set_markup (_tmp11_, _tmp12_); +#line 56 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self; +#line 853 "PublishingUI.c" +} + + +PublishingUILoginWelcomePane* publishing_ui_login_welcome_pane_new (const gchar* service_welcome_message) { +#line 56 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return publishing_ui_login_welcome_pane_construct (PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, service_welcome_message); +#line 860 "PublishingUI.c" +} + + +static void publishing_ui_login_welcome_pane_on_login_clicked (PublishingUILoginWelcomePane* self) { +#line 67 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_LOGIN_WELCOME_PANE (self)); +#line 68 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_signal_emit_by_name (self, "login-requested"); +#line 869 "PublishingUI.c" +} + + +static void publishing_ui_login_welcome_pane_class_init (PublishingUILoginWelcomePaneClass * klass) { +#line 50 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_login_welcome_pane_parent_class = g_type_class_peek_parent (klass); +#line 50 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_type_class_add_private (klass, sizeof (PublishingUILoginWelcomePanePrivate)); +#line 50 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_ui_login_welcome_pane_finalize; +#line 50 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_signal_new ("login_requested", PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +#line 882 "PublishingUI.c" +} + + +static void publishing_ui_login_welcome_pane_instance_init (PublishingUILoginWelcomePane * self) { +#line 50 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv = PUBLISHING_UI_LOGIN_WELCOME_PANE_GET_PRIVATE (self); +#line 51 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->login_button = NULL; +#line 52 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->not_logged_in_label = NULL; +#line 893 "PublishingUI.c" +} + + +static void publishing_ui_login_welcome_pane_finalize (GObject* obj) { + PublishingUILoginWelcomePane * self; +#line 50 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_UI_TYPE_LOGIN_WELCOME_PANE, PublishingUILoginWelcomePane); +#line 51 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->login_button); +#line 52 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->not_logged_in_label); +#line 50 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (publishing_ui_login_welcome_pane_parent_class)->finalize (obj); +#line 907 "PublishingUI.c" +} + + +GType publishing_ui_login_welcome_pane_get_type (void) { + static volatile gsize publishing_ui_login_welcome_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_ui_login_welcome_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingUILoginWelcomePaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_ui_login_welcome_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingUILoginWelcomePane), 0, (GInstanceInitFunc) publishing_ui_login_welcome_pane_instance_init, NULL }; + GType publishing_ui_login_welcome_pane_type_id; + publishing_ui_login_welcome_pane_type_id = g_type_register_static (PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, "PublishingUILoginWelcomePane", &g_define_type_info, 0); + g_once_init_leave (&publishing_ui_login_welcome_pane_type_id__volatile, publishing_ui_login_welcome_pane_type_id); + } + return publishing_ui_login_welcome_pane_type_id__volatile; +} + + +PublishingUIProgressPane* publishing_ui_progress_pane_construct (GType object_type) { + PublishingUIProgressPane * self = NULL; + GtkBuilder* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; + GtkBox* _tmp2_ = NULL; + GtkBuilder* _tmp3_ = NULL; + GObject* _tmp4_ = NULL; + GtkProgressBar* _tmp5_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = (PublishingUIProgressPane*) publishing_ui_concrete_dialog_pane_construct (object_type); +#line 77 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->builder; +#line 77 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = gtk_builder_get_object (_tmp0_, "progress_pane_widget"); +#line 77 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_box_get_type (), GtkBox)); +#line 77 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->pane_widget); +#line 77 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->pane_widget = _tmp2_; +#line 78 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (self, PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, PublishingUIConcreteDialogPane)->builder; +#line 78 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = gtk_builder_get_object (_tmp3_, "publishing_progress_bar"); +#line 78 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_progress_bar_get_type (), GtkProgressBar)); +#line 78 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->progress_bar); +#line 78 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->progress_bar = _tmp5_; +#line 75 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self; +#line 955 "PublishingUI.c" +} + + +PublishingUIProgressPane* publishing_ui_progress_pane_new (void) { +#line 75 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return publishing_ui_progress_pane_construct (PUBLISHING_UI_TYPE_PROGRESS_PANE); +#line 962 "PublishingUI.c" +} + + +void publishing_ui_progress_pane_set_text (PublishingUIProgressPane* self, const gchar* text) { + GtkProgressBar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PROGRESS_PANE (self)); +#line 81 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (text != NULL); +#line 82 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->progress_bar; +#line 82 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = text; +#line 82 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_progress_bar_set_text (_tmp0_, _tmp1_); +#line 979 "PublishingUI.c" +} + + +void publishing_ui_progress_pane_set_progress (PublishingUIProgressPane* self, gdouble progress) { + GtkProgressBar* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; +#line 85 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PROGRESS_PANE (self)); +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->progress_bar; +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = progress; +#line 86 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_progress_bar_set_fraction (_tmp0_, _tmp1_); +#line 994 "PublishingUI.c" +} + + +void publishing_ui_progress_pane_set_status (PublishingUIProgressPane* self, const gchar* status_text, gdouble progress) { + const gchar* _tmp0_ = NULL; + GtkProgressBar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gdouble _tmp5_ = 0.0; +#line 89 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PROGRESS_PANE (self)); +#line 89 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (status_text != NULL); +#line 90 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = status_text; +#line 90 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = self->priv->progress_bar; +#line 90 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = gtk_progress_bar_get_text (_tmp1_); +#line 90 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (g_strcmp0 (_tmp0_, _tmp2_) != 0) { +#line 1015 "PublishingUI.c" + GtkProgressBar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = self->priv->progress_bar; +#line 91 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = status_text; +#line 91 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_progress_bar_set_text (_tmp3_, _tmp4_); +#line 1024 "PublishingUI.c" + } +#line 93 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = progress; +#line 93 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_progress_pane_set_progress (self, _tmp5_); +#line 1030 "PublishingUI.c" +} + + +static void publishing_ui_progress_pane_class_init (PublishingUIProgressPaneClass * klass) { +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_progress_pane_parent_class = g_type_class_peek_parent (klass); +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_type_class_add_private (klass, sizeof (PublishingUIProgressPanePrivate)); +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_ui_progress_pane_finalize; +#line 1041 "PublishingUI.c" +} + + +static void publishing_ui_progress_pane_instance_init (PublishingUIProgressPane * self) { +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv = PUBLISHING_UI_PROGRESS_PANE_GET_PRIVATE (self); +#line 73 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->progress_bar = NULL; +#line 1050 "PublishingUI.c" +} + + +static void publishing_ui_progress_pane_finalize (GObject* obj) { + PublishingUIProgressPane * self; +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_UI_TYPE_PROGRESS_PANE, PublishingUIProgressPane); +#line 73 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->progress_bar); +#line 72 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (publishing_ui_progress_pane_parent_class)->finalize (obj); +#line 1062 "PublishingUI.c" +} + + +GType publishing_ui_progress_pane_get_type (void) { + static volatile gsize publishing_ui_progress_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_ui_progress_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingUIProgressPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_ui_progress_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingUIProgressPane), 0, (GInstanceInitFunc) publishing_ui_progress_pane_instance_init, NULL }; + GType publishing_ui_progress_pane_type_id; + publishing_ui_progress_pane_type_id = g_type_register_static (PUBLISHING_UI_TYPE_CONCRETE_DIALOG_PANE, "PublishingUIProgressPane", &g_define_type_info, 0); + g_once_init_leave (&publishing_ui_progress_pane_type_id__volatile, publishing_ui_progress_pane_type_id); + } + return publishing_ui_progress_pane_type_id__volatile; +} + + +PublishingUISuccessPane* publishing_ui_success_pane_construct (GType object_type, SpitPublishingPublisherMediaType published_media, gint num_uploaded) { + PublishingUISuccessPane * self = NULL; + gchar* message_string = NULL; + gint _tmp0_ = 0; + const gchar* _tmp14_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + message_string = NULL; +#line 103 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = num_uploaded; +#line 103 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp0_ > 1) { +#line 1089 "PublishingUI.c" + SpitPublishingPublisherMediaType _tmp1_ = 0; +#line 104 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = published_media; +#line 104 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp1_ == (SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO | SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO)) { +#line 1095 "PublishingUI.c" + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = _ ("The selected photos/videos were successfully published."); +#line 105 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 105 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (message_string); +#line 105 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + message_string = _tmp3_; +#line 1106 "PublishingUI.c" + } else { + SpitPublishingPublisherMediaType _tmp4_ = 0; +#line 106 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = published_media; +#line 106 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp4_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 1113 "PublishingUI.c" + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = _ ("The selected videos were successfully published."); +#line 107 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6_ = g_strdup (_tmp5_); +#line 107 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (message_string); +#line 107 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + message_string = _tmp6_; +#line 1124 "PublishingUI.c" + } else { + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = _ ("The selected photos were successfully published."); +#line 109 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 109 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (message_string); +#line 109 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + message_string = _tmp8_; +#line 1136 "PublishingUI.c" + } + } + } else { + SpitPublishingPublisherMediaType _tmp9_ = 0; +#line 111 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp9_ = published_media; +#line 111 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp9_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 1145 "PublishingUI.c" + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = _ ("The selected video was successfully published."); +#line 112 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 112 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (message_string); +#line 112 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + message_string = _tmp11_; +#line 1156 "PublishingUI.c" + } else { + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp12_ = _ ("The selected photo was successfully published."); +#line 114 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 114 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (message_string); +#line 114 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + message_string = _tmp13_; +#line 1168 "PublishingUI.c" + } + } +#line 116 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp14_ = message_string; +#line 116 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = (PublishingUISuccessPane*) publishing_ui_static_message_pane_construct (object_type, _tmp14_, FALSE); +#line 98 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (message_string); +#line 98 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self; +#line 1179 "PublishingUI.c" +} + + +PublishingUISuccessPane* publishing_ui_success_pane_new (SpitPublishingPublisherMediaType published_media, gint num_uploaded) { +#line 98 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return publishing_ui_success_pane_construct (PUBLISHING_UI_TYPE_SUCCESS_PANE, published_media, num_uploaded); +#line 1186 "PublishingUI.c" +} + + +static void publishing_ui_success_pane_class_init (PublishingUISuccessPaneClass * klass) { +#line 97 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_success_pane_parent_class = g_type_class_peek_parent (klass); +#line 1193 "PublishingUI.c" +} + + +static void publishing_ui_success_pane_instance_init (PublishingUISuccessPane * self) { +} + + +GType publishing_ui_success_pane_get_type (void) { + static volatile gsize publishing_ui_success_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_ui_success_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingUISuccessPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_ui_success_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingUISuccessPane), 0, (GInstanceInitFunc) publishing_ui_success_pane_instance_init, NULL }; + GType publishing_ui_success_pane_type_id; + publishing_ui_success_pane_type_id = g_type_register_static (PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, "PublishingUISuccessPane", &g_define_type_info, 0); + g_once_init_leave (&publishing_ui_success_pane_type_id__volatile, publishing_ui_success_pane_type_id); + } + return publishing_ui_success_pane_type_id__volatile; +} + + +PublishingUIAccountFetchWaitPane* publishing_ui_account_fetch_wait_pane_construct (GType object_type) { + PublishingUIAccountFetchWaitPane * self = NULL; + const gchar* _tmp0_ = NULL; +#line 122 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = _ ("Fetching account information..."); +#line 122 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = (PublishingUIAccountFetchWaitPane*) publishing_ui_static_message_pane_construct (object_type, _tmp0_, FALSE); +#line 121 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self; +#line 1222 "PublishingUI.c" +} + + +PublishingUIAccountFetchWaitPane* publishing_ui_account_fetch_wait_pane_new (void) { +#line 121 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return publishing_ui_account_fetch_wait_pane_construct (PUBLISHING_UI_TYPE_ACCOUNT_FETCH_WAIT_PANE); +#line 1229 "PublishingUI.c" +} + + +static void publishing_ui_account_fetch_wait_pane_class_init (PublishingUIAccountFetchWaitPaneClass * klass) { +#line 120 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_account_fetch_wait_pane_parent_class = g_type_class_peek_parent (klass); +#line 1236 "PublishingUI.c" +} + + +static void publishing_ui_account_fetch_wait_pane_instance_init (PublishingUIAccountFetchWaitPane * self) { +} + + +GType publishing_ui_account_fetch_wait_pane_get_type (void) { + static volatile gsize publishing_ui_account_fetch_wait_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_ui_account_fetch_wait_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingUIAccountFetchWaitPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_ui_account_fetch_wait_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingUIAccountFetchWaitPane), 0, (GInstanceInitFunc) publishing_ui_account_fetch_wait_pane_instance_init, NULL }; + GType publishing_ui_account_fetch_wait_pane_type_id; + publishing_ui_account_fetch_wait_pane_type_id = g_type_register_static (PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, "PublishingUIAccountFetchWaitPane", &g_define_type_info, 0); + g_once_init_leave (&publishing_ui_account_fetch_wait_pane_type_id__volatile, publishing_ui_account_fetch_wait_pane_type_id); + } + return publishing_ui_account_fetch_wait_pane_type_id__volatile; +} + + +PublishingUILoginWaitPane* publishing_ui_login_wait_pane_construct (GType object_type) { + PublishingUILoginWaitPane * self = NULL; + const gchar* _tmp0_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = _ ("Logging in..."); +#line 128 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = (PublishingUILoginWaitPane*) publishing_ui_static_message_pane_construct (object_type, _tmp0_, FALSE); +#line 127 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self; +#line 1265 "PublishingUI.c" +} + + +PublishingUILoginWaitPane* publishing_ui_login_wait_pane_new (void) { +#line 127 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return publishing_ui_login_wait_pane_construct (PUBLISHING_UI_TYPE_LOGIN_WAIT_PANE); +#line 1272 "PublishingUI.c" +} + + +static void publishing_ui_login_wait_pane_class_init (PublishingUILoginWaitPaneClass * klass) { +#line 126 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_login_wait_pane_parent_class = g_type_class_peek_parent (klass); +#line 1279 "PublishingUI.c" +} + + +static void publishing_ui_login_wait_pane_instance_init (PublishingUILoginWaitPane * self) { +} + + +GType publishing_ui_login_wait_pane_get_type (void) { + static volatile gsize publishing_ui_login_wait_pane_type_id__volatile = 0; + if (g_once_init_enter (&publishing_ui_login_wait_pane_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingUILoginWaitPaneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_ui_login_wait_pane_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingUILoginWaitPane), 0, (GInstanceInitFunc) publishing_ui_login_wait_pane_instance_init, NULL }; + GType publishing_ui_login_wait_pane_type_id; + publishing_ui_login_wait_pane_type_id = g_type_register_static (PUBLISHING_UI_TYPE_STATIC_MESSAGE_PANE, "PublishingUILoginWaitPane", &g_define_type_info, 0); + g_once_init_leave (&publishing_ui_login_wait_pane_type_id__volatile, publishing_ui_login_wait_pane_type_id); + } + return publishing_ui_login_wait_pane_type_id__volatile; +} + + +static gboolean _publishing_ui_publishing_dialog_on_window_close_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) { + gboolean result; + result = publishing_ui_publishing_dialog_on_window_close ((PublishingUIPublishingDialog*) self, event); +#line 166 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 1304 "PublishingUI.c" +} + + +static void _vala_array_add55 (SpitPublishingPublishable*** array, int* length, int* size, SpitPublishingPublishable* value) { +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((*length) == (*size)) { +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *array = g_renew (SpitPublishingPublishable*, *array, (*size) + 1); +#line 1315 "PublishingUI.c" + } +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[(*length)++] = value; +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[*length] = NULL; +#line 1321 "PublishingUI.c" +} + + +static void _publishing_ui_publishing_dialog_on_service_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 247 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_on_service_changed ((PublishingUIPublishingDialog*) self); +#line 1328 "PublishingUI.c" +} + + +static void _publishing_ui_publishing_dialog_on_close_cancel_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 285 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_on_close_cancel_clicked ((PublishingUIPublishingDialog*) self); +#line 1335 "PublishingUI.c" +} + + +PublishingUIPublishingDialog* publishing_ui_publishing_dialog_construct (GType object_type, GeeCollection* to_publish) { + PublishingUIPublishingDialog * self = NULL; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gboolean use_header = FALSE; + GtkSettings* _tmp3_ = NULL; + gint _tmp4_ = 0; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + SpitPublishingPublishable** _tmp8_ = NULL; + gboolean has_photos = FALSE; + gboolean has_videos = FALSE; + gchar* title = NULL; + gchar* label = NULL; + gboolean _tmp24_ = FALSE; + gboolean _tmp25_ = FALSE; + const gchar* _tmp42_ = NULL; + GtkListStore* _tmp43_ = NULL; + GtkListStore* _tmp44_ = NULL; + GtkComboBox* _tmp45_ = NULL; + GtkCellRendererPixbuf* renderer_pix = NULL; + GtkCellRendererPixbuf* _tmp46_ = NULL; + GtkComboBox* _tmp47_ = NULL; + GtkCellRendererPixbuf* _tmp48_ = NULL; + GtkComboBox* _tmp49_ = NULL; + GtkCellRendererPixbuf* _tmp50_ = NULL; + GtkCellRendererText* renderer_text = NULL; + GtkCellRendererText* _tmp51_ = NULL; + GtkComboBox* _tmp52_ = NULL; + GtkCellRendererText* _tmp53_ = NULL; + GtkComboBox* _tmp54_ = NULL; + GtkCellRendererText* _tmp55_ = NULL; + GtkComboBox* _tmp56_ = NULL; + gchar* last_used_service = NULL; + ConfigFacade* _tmp57_ = NULL; + ConfigFacade* _tmp58_ = NULL; + gchar* _tmp59_ = NULL; + gchar* _tmp60_ = NULL; + SpitPublishingService** loaded_services = NULL; + gboolean _tmp61_ = FALSE; + gboolean _tmp62_ = FALSE; + gint _tmp63_ = 0; + SpitPublishingService** _tmp64_ = NULL; + gint loaded_services_length1 = 0; + gint _loaded_services_size_ = 0; + GtkTreeIter iter = {0}; + SpitPublishingService** _tmp65_ = NULL; + gint _tmp65__length1 = 0; + GtkComboBox* _tmp103_ = NULL; + gboolean _tmp104_ = FALSE; + GtkBox* _tmp130_ = NULL; + GtkBox* _tmp131_ = NULL; + GtkBox* _tmp132_ = NULL; + GtkButton* _tmp133_ = NULL; + GtkButton* _tmp134_ = NULL; + GtkButton* _tmp135_ = NULL; + gboolean _tmp136_ = FALSE; +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (to_publish), NULL); +#line 157 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = to_publish; +#line 157 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 157 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = _tmp1_; +#line 157 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _vala_assert (_tmp2_ > 0, "to_publish.size > 0"); +#line 160 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = gtk_settings_get_default (); +#line 160 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, G_TYPE_OBJECT, GObject), "gtk-dialogs-use-header", &use_header, NULL); +#line 161 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = use_header; +#line 161 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp5_) { +#line 161 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = 1; +#line 1417 "PublishingUI.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = 0; +#line 1421 "PublishingUI.c" + } +#line 161 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = (PublishingUIPublishingDialog*) g_object_new (object_type, "use-header-bar", _tmp4_, NULL); +#line 162 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6_ = use_header; +#line 162 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp6_) { +#line 1429 "PublishingUI.c" + GtkWidget* _tmp7_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = gtk_dialog_get_header_bar (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 163 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_header_bar_set_show_close_button (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_header_bar_get_type (), GtkHeaderBar), FALSE); +#line 1435 "PublishingUI.c" + } +#line 165 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 166 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "delete-event", (GCallback) _publishing_ui_publishing_dialog_on_window_close_gtk_widget_delete_event, self, 0); +#line 168 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = g_new0 (SpitPublishingPublishable*, 0 + 1); +#line 168 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 168 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->publishables = _tmp8_; +#line 168 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->publishables_length1 = 0; +#line 168 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->_publishables_size_ = self->priv->publishables_length1; +#line 169 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + has_photos = FALSE; +#line 170 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + has_videos = FALSE; +#line 1455 "PublishingUI.c" + { + GeeIterator* _media_it = NULL; + GeeCollection* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp9_ = to_publish; +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _media_it = _tmp10_; +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + while (TRUE) { +#line 1468 "PublishingUI.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + MediaSource* media = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + SpitPublishingPublishable* publishable = NULL; + MediaSource* _tmp15_ = NULL; + PublishingGlueMediaSourcePublishableWrapper* _tmp16_ = NULL; + SpitPublishingPublishable* _tmp17_ = NULL; + SpitPublishingPublisherMediaType _tmp18_ = 0; + SpitPublishingPublishable** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + SpitPublishingPublishable* _tmp22_ = NULL; + SpitPublishingPublishable* _tmp23_ = NULL; +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = _media_it; +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (!_tmp12_) { +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + break; +#line 1491 "PublishingUI.c" + } +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp13_ = _media_it; +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + media = (MediaSource*) _tmp14_; +#line 172 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp15_ = media; +#line 172 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp16_ = publishing_glue_media_source_publishable_wrapper_new (_tmp15_); +#line 172 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishable = G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, SPIT_PUBLISHING_TYPE_PUBLISHABLE, SpitPublishingPublishable); +#line 174 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp17_ = publishable; +#line 174 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp18_ = spit_publishing_publishable_get_media_type (_tmp17_); +#line 174 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp18_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) { +#line 175 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + has_photos = TRUE; +#line 1513 "PublishingUI.c" + } else { + SpitPublishingPublishable* _tmp19_ = NULL; + SpitPublishingPublisherMediaType _tmp20_ = 0; +#line 176 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp19_ = publishable; +#line 176 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp20_ = spit_publishing_publishable_get_media_type (_tmp19_); +#line 176 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp20_ == SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) { +#line 177 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + has_videos = TRUE; +#line 1525 "PublishingUI.c" + } else { +#line 179 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_assert_not_reached (); +#line 1529 "PublishingUI.c" + } + } +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp21_ = self->priv->publishables; +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp21__length1 = self->priv->publishables_length1; +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp22_ = publishable; +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp23_ = _g_object_ref0 (_tmp22_); +#line 181 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _vala_array_add55 (&self->priv->publishables, &self->priv->publishables_length1, &self->priv->_publishables_size_, _tmp23_); +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (publishable); +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (media); +#line 1546 "PublishingUI.c" + } +#line 171 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (_media_it); +#line 1550 "PublishingUI.c" + } +#line 184 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + title = NULL; +#line 185 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + label = NULL; +#line 187 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp25_ = has_photos; +#line 187 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp25_) { +#line 1560 "PublishingUI.c" + gboolean _tmp26_ = FALSE; +#line 187 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp26_ = has_videos; +#line 187 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp24_ = !_tmp26_; +#line 1566 "PublishingUI.c" + } else { +#line 187 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp24_ = FALSE; +#line 1570 "PublishingUI.c" + } +#line 187 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp24_) { +#line 1574 "PublishingUI.c" + const gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 188 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp27_ = _ ("Publish Photos"); +#line 188 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp28_ = g_strdup (_tmp27_); +#line 188 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (title); +#line 188 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + title = _tmp28_; +#line 189 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp29_ = _ ("Publish photos _to:"); +#line 189 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 189 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (label); +#line 189 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + label = _tmp30_; +#line 1595 "PublishingUI.c" + } else { + gboolean _tmp31_ = FALSE; + gboolean _tmp32_ = FALSE; +#line 190 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp32_ = has_photos; +#line 190 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (!_tmp32_) { +#line 1603 "PublishingUI.c" + gboolean _tmp33_ = FALSE; +#line 190 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp33_ = has_videos; +#line 190 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp31_ = _tmp33_; +#line 1609 "PublishingUI.c" + } else { +#line 190 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp31_ = FALSE; +#line 1613 "PublishingUI.c" + } +#line 190 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp31_) { +#line 1617 "PublishingUI.c" + const gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + gchar* _tmp37_ = NULL; +#line 191 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp34_ = _ ("Publish Videos"); +#line 191 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp35_ = g_strdup (_tmp34_); +#line 191 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (title); +#line 191 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + title = _tmp35_; +#line 192 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp36_ = _ ("Publish videos _to"); +#line 192 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp37_ = g_strdup (_tmp36_); +#line 192 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (label); +#line 192 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + label = _tmp37_; +#line 1638 "PublishingUI.c" + } else { + const gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp38_ = _ ("Publish Photos and Videos"); +#line 194 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp39_ = g_strdup (_tmp38_); +#line 194 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (title); +#line 194 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + title = _tmp39_; +#line 195 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp40_ = _ ("Publish photos and videos _to"); +#line 195 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp41_ = g_strdup (_tmp40_); +#line 195 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (label); +#line 195 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + label = _tmp41_; +#line 1660 "PublishingUI.c" + } + } +#line 197 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp42_ = title; +#line 197 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), _tmp42_); +#line 199 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp43_ = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING, -1); +#line 199 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->service_selector_box_model); +#line 199 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->service_selector_box_model = _tmp43_; +#line 200 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp44_ = self->priv->service_selector_box_model; +#line 200 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp45_ = (GtkComboBox*) gtk_combo_box_new_with_model (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 200 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp45_); +#line 200 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->service_selector_box); +#line 200 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->service_selector_box = _tmp45_; +#line 202 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp46_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new (); +#line 202 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp46_); +#line 202 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + renderer_pix = _tmp46_; +#line 203 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp47_ = self->priv->service_selector_box; +#line 203 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp48_ = renderer_pix; +#line 203 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 204 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp49_ = self->priv->service_selector_box; +#line 204 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp50_ = renderer_pix; +#line 204 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_cell_renderer_get_type (), GtkCellRenderer), "pixbuf", 0); +#line 206 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp51_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 206 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp51_); +#line 206 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + renderer_text = _tmp51_; +#line 207 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp52_ = self->priv->service_selector_box; +#line 207 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp53_ = renderer_text; +#line 207 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp53_, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp54_ = self->priv->service_selector_box; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp55_ = renderer_text; +#line 208 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, gtk_cell_renderer_get_type (), GtkCellRenderer), "text", 1); +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp56_ = self->priv->service_selector_box; +#line 210 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_combo_box_set_active (_tmp56_, 0); +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp57_ = config_facade_get_instance (); +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp58_ = _tmp57_; +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp59_ = configuration_facade_get_last_used_service (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade)); +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp60_ = _tmp59_; +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (_tmp58_); +#line 213 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + last_used_service = _tmp60_; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp61_ = has_photos; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp62_ = has_videos; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp64_ = publishing_ui_publishing_dialog_load_services (_tmp61_, _tmp62_, &_tmp63_); +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + loaded_services = _tmp64_; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + loaded_services_length1 = _tmp63_; +#line 215 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _loaded_services_size_ = loaded_services_length1; +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp65_ = loaded_services; +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp65__length1 = loaded_services_length1; +#line 1751 "PublishingUI.c" + { + SpitPublishingService** service_collection = NULL; + gint service_collection_length1 = 0; + gint _service_collection_size_ = 0; + gint service_it = 0; +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_collection = _tmp65_; +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_collection_length1 = _tmp65__length1; +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + for (service_it = 0; service_it < _tmp65__length1; service_it = service_it + 1) { +#line 1763 "PublishingUI.c" + SpitPublishingService* _tmp66_ = NULL; + SpitPublishingService* service = NULL; +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp66_ = _g_object_ref0 (service_collection[service_it]); +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service = _tmp66_; +#line 1770 "PublishingUI.c" + { + GtkListStore* _tmp67_ = NULL; + GtkTreeIter _tmp68_ = {0}; + gchar* curr_service_id = NULL; + SpitPublishingService* _tmp69_ = NULL; + const gchar* _tmp70_ = NULL; + gchar* _tmp71_ = NULL; + SpitPublishingService* _tmp72_ = NULL; + gboolean _tmp73_ = FALSE; + SpitPluggableInfo _tmp74_ = {0}; + GdkPixbuf** _tmp75_ = NULL; + gint _tmp75__length1 = 0; + const gchar* _tmp93_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp67_ = self->priv->service_selector_box_model; +#line 220 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_list_store_append (_tmp67_, &_tmp68_); +#line 220 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + iter = _tmp68_; +#line 222 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp69_ = service; +#line 222 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp70_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 222 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp71_ = g_strdup (_tmp70_); +#line 222 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + curr_service_id = _tmp71_; +#line 224 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp72_ = service; +#line 224 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + spit_pluggable_get_info (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, SPIT_TYPE_PLUGGABLE, SpitPluggable), &self->priv->info); +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp74_ = self->priv->info; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp75_ = _tmp74_.icons; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp75__length1 = _tmp74_.icons_length1; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (NULL != _tmp75_) { +#line 1810 "PublishingUI.c" + SpitPluggableInfo _tmp76_ = {0}; + GdkPixbuf** _tmp77_ = NULL; + gint _tmp77__length1 = 0; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp76_ = self->priv->info; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp77_ = _tmp76_.icons; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp77__length1 = _tmp76_.icons_length1; +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp73_ = 0 < _tmp77__length1; +#line 1822 "PublishingUI.c" + } else { +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp73_ = FALSE; +#line 1826 "PublishingUI.c" + } +#line 226 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp73_) { +#line 1830 "PublishingUI.c" + GtkListStore* _tmp78_ = NULL; + GtkTreeIter _tmp79_ = {0}; + SpitPluggableInfo _tmp80_ = {0}; + GdkPixbuf** _tmp81_ = NULL; + gint _tmp81__length1 = 0; + GdkPixbuf* _tmp82_ = NULL; + SpitPublishingService* _tmp83_ = NULL; + const gchar* _tmp84_ = NULL; + GdkPixbuf* _tmp85_ = NULL; + GdkPixbuf* _tmp86_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp78_ = self->priv->service_selector_box_model; +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp79_ = iter; +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp80_ = self->priv->info; +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp81_ = _tmp80_.icons; +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp81__length1 = _tmp80_.icons_length1; +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp82_ = _tmp81_[0]; +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp83_ = service; +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp84_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp83_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 228 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_list_store_set (_tmp78_, &_tmp79_, 0, _tmp82_, 1, _tmp84_, -1); +#line 232 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp85_ = resources_get_icon (RESOURCES_ICON_GENERIC_PLUGIN, RESOURCES_DEFAULT_ICON_SCALE); +#line 232 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->info.icons[0]); +#line 232 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->info.icons[0] = _tmp85_; +#line 232 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp86_ = self->priv->info.icons[0]; +#line 1867 "PublishingUI.c" + } else { + GtkListStore* _tmp87_ = NULL; + GtkTreeIter _tmp88_ = {0}; + GdkPixbuf* _tmp89_ = NULL; + GdkPixbuf* _tmp90_ = NULL; + SpitPublishingService* _tmp91_ = NULL; + const gchar* _tmp92_ = NULL; +#line 235 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp87_ = self->priv->service_selector_box_model; +#line 235 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp88_ = iter; +#line 235 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp89_ = resources_get_icon (RESOURCES_ICON_GENERIC_PLUGIN, RESOURCES_DEFAULT_ICON_SCALE); +#line 235 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp90_ = _tmp89_; +#line 235 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp91_ = service; +#line 235 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp92_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 235 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_list_store_set (_tmp87_, &_tmp88_, 0, _tmp90_, 1, _tmp92_, -1); +#line 235 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (_tmp90_); +#line 1891 "PublishingUI.c" + } +#line 239 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp93_ = last_used_service; +#line 239 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp93_ == NULL) { +#line 1897 "PublishingUI.c" + GtkComboBox* _tmp94_ = NULL; + GtkTreeIter _tmp95_ = {0}; + SpitPublishingService* _tmp96_ = NULL; + const gchar* _tmp97_ = NULL; + gchar* _tmp98_ = NULL; +#line 240 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp94_ = self->priv->service_selector_box; +#line 240 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp95_ = iter; +#line 240 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_combo_box_set_active_iter (_tmp94_, &_tmp95_); +#line 241 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp96_ = service; +#line 241 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp97_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp96_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 241 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp98_ = g_strdup (_tmp97_); +#line 241 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (last_used_service); +#line 241 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + last_used_service = _tmp98_; +#line 1919 "PublishingUI.c" + } else { + const gchar* _tmp99_ = NULL; + const gchar* _tmp100_ = NULL; +#line 242 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp99_ = last_used_service; +#line 242 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp100_ = curr_service_id; +#line 242 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (g_strcmp0 (_tmp99_, _tmp100_) == 0) { +#line 1929 "PublishingUI.c" + GtkComboBox* _tmp101_ = NULL; + GtkTreeIter _tmp102_ = {0}; +#line 243 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp101_ = self->priv->service_selector_box; +#line 243 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp102_ = iter; +#line 243 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_combo_box_set_active_iter (_tmp101_, &_tmp102_); +#line 1938 "PublishingUI.c" + } + } +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (curr_service_id); +#line 219 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service); +#line 1945 "PublishingUI.c" + } + } + } +#line 247 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp103_ = self->priv->service_selector_box; +#line 247 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_signal_connect_object (_tmp103_, "changed", (GCallback) _publishing_ui_publishing_dialog_on_service_changed_gtk_combo_box_changed, self, 0); +#line 249 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp104_ = use_header; +#line 249 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (!_tmp104_) { +#line 1957 "PublishingUI.c" + GtkLabel* service_selector_box_label = NULL; + const gchar* _tmp105_ = NULL; + GtkLabel* _tmp106_ = NULL; + GtkLabel* _tmp107_ = NULL; + GtkComboBox* _tmp108_ = NULL; + GtkLabel* _tmp109_ = NULL; + GtkAlignment* service_selector_box_wrapper = NULL; + GtkAlignment* _tmp110_ = NULL; + GtkAlignment* _tmp111_ = NULL; + GtkComboBox* _tmp112_ = NULL; + GtkBox* service_selector_layouter = NULL; + GtkBox* _tmp113_ = NULL; + GtkBox* _tmp114_ = NULL; + GtkBox* _tmp115_ = NULL; + GtkLabel* _tmp116_ = NULL; + GtkBox* _tmp117_ = NULL; + GtkAlignment* _tmp118_ = NULL; + GtkBox* service_area_layouter = NULL; + GtkBox* _tmp119_ = NULL; + GtkBox* _tmp120_ = NULL; + GtkBox* _tmp121_ = NULL; + GtkBox* _tmp122_ = NULL; + GtkSeparator* _tmp123_ = NULL; + GtkSeparator* _tmp124_ = NULL; + GtkAlignment* service_area_wrapper = NULL; + GtkAlignment* _tmp125_ = NULL; + GtkAlignment* _tmp126_ = NULL; + GtkBox* _tmp127_ = NULL; + GtkBox* _tmp128_ = NULL; + GtkAlignment* _tmp129_ = NULL; +#line 251 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp105_ = label; +#line 251 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp106_ = (GtkLabel*) gtk_label_new_with_mnemonic (_tmp105_); +#line 251 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp106_); +#line 251 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_selector_box_label = _tmp106_; +#line 252 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp107_ = service_selector_box_label; +#line 252 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp108_ = self->priv->service_selector_box; +#line 252 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_label_set_mnemonic_widget (_tmp107_, G_TYPE_CHECK_INSTANCE_CAST (_tmp108_, gtk_widget_get_type (), GtkWidget)); +#line 253 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp109_ = service_selector_box_label; +#line 253 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_misc_set_alignment (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, gtk_misc_get_type (), GtkMisc), 0.0f, 0.5f); +#line 259 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp110_ = (GtkAlignment*) gtk_alignment_new (1.0f, 0.5f, 0.0f, 0.0f); +#line 259 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp110_); +#line 259 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_selector_box_wrapper = _tmp110_; +#line 260 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp111_ = service_selector_box_wrapper; +#line 260 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp112_ = self->priv->service_selector_box; +#line 260 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp111_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp112_, gtk_widget_get_type (), GtkWidget)); +#line 262 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp113_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); +#line 262 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp113_); +#line 262 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_selector_layouter = _tmp113_; +#line 263 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp114_ = service_selector_layouter; +#line 263 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_container_set_border_width (G_TYPE_CHECK_INSTANCE_CAST (_tmp114_, gtk_container_get_type (), GtkContainer), (guint) 12); +#line 264 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp115_ = service_selector_layouter; +#line 264 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp116_ = service_selector_box_label; +#line 264 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp116_, gtk_widget_get_type (), GtkWidget)); +#line 265 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp117_ = service_selector_layouter; +#line 265 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp118_ = service_selector_box_wrapper; +#line 265 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_box_pack_start (_tmp117_, G_TYPE_CHECK_INSTANCE_CAST (_tmp118_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 269 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp119_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 269 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp119_); +#line 269 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_area_layouter = _tmp119_; +#line 270 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp120_ = service_area_layouter; +#line 270 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp121_ = service_selector_layouter; +#line 270 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp120_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp121_, gtk_widget_get_type (), GtkWidget)); +#line 271 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp122_ = service_area_layouter; +#line 271 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp123_ = (GtkSeparator*) gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); +#line 271 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp123_); +#line 271 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp124_ = _tmp123_; +#line 271 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp122_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp124_, gtk_widget_get_type (), GtkWidget)); +#line 271 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (_tmp124_); +#line 273 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp125_ = (GtkAlignment*) gtk_alignment_new (0.0f, 0.0f, 1.0f, 0.0f); +#line 273 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp125_); +#line 273 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_area_wrapper = _tmp125_; +#line 274 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp126_ = service_area_wrapper; +#line 274 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp127_ = service_area_layouter; +#line 274 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp126_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp127_, gtk_widget_get_type (), GtkWidget)); +#line 276 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp128_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 276 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp129_ = service_area_wrapper; +#line 276 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_box_pack_start (_tmp128_, G_TYPE_CHECK_INSTANCE_CAST (_tmp129_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 249 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service_area_wrapper); +#line 249 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service_area_layouter); +#line 249 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service_selector_layouter); +#line 249 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service_selector_box_wrapper); +#line 249 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service_selector_box_label); +#line 2092 "PublishingUI.c" + } +#line 279 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp130_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); +#line 279 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp130_); +#line 279 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->central_area_layouter); +#line 279 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->central_area_layouter = _tmp130_; +#line 281 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp131_ = (GtkBox*) gtk_dialog_get_content_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 281 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp132_ = self->priv->central_area_layouter; +#line 281 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_box_pack_start (_tmp131_, G_TYPE_CHECK_INSTANCE_CAST (_tmp132_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 283 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp133_ = (GtkButton*) gtk_button_new_with_mnemonic ("_Cancel"); +#line 283 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp133_); +#line 283 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->close_cancel_button); +#line 283 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->close_cancel_button = _tmp133_; +#line 284 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp134_ = self->priv->close_cancel_button; +#line 284 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_can_default (G_TYPE_CHECK_INSTANCE_CAST (_tmp134_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 285 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp135_ = self->priv->close_cancel_button; +#line 285 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_signal_connect_object (_tmp135_, "clicked", (GCallback) _publishing_ui_publishing_dialog_on_close_cancel_clicked_gtk_button_clicked, self, 0); +#line 286 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp136_ = use_header; +#line 286 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp136_) { +#line 2128 "PublishingUI.c" + GtkWidget* _tmp137_ = NULL; + GtkButton* _tmp138_ = NULL; + GtkWidget* _tmp139_ = NULL; + GtkComboBox* _tmp140_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp137_ = gtk_dialog_get_header_bar (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 287 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp138_ = self->priv->close_cancel_button; +#line 287 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_header_bar_pack_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp137_, gtk_header_bar_get_type (), GtkHeaderBar), G_TYPE_CHECK_INSTANCE_CAST (_tmp138_, gtk_widget_get_type (), GtkWidget)); +#line 288 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp139_ = gtk_dialog_get_header_bar (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 288 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp140_ = self->priv->service_selector_box; +#line 288 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_header_bar_pack_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp139_, gtk_header_bar_get_type (), GtkHeaderBar), G_TYPE_CHECK_INSTANCE_CAST (_tmp140_, gtk_widget_get_type (), GtkWidget)); +#line 2145 "PublishingUI.c" + } else { + GtkWidget* _tmp141_ = NULL; + GtkButton* _tmp142_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp141_ = gtk_dialog_get_action_area (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 291 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp142_ = self->priv->close_cancel_button; +#line 291 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp141_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp142_, gtk_widget_get_type (), GtkWidget)); +#line 2155 "PublishingUI.c" + } +#line 293 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_set_standard_window_mode (self); +#line 295 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + loaded_services = (_vala_array_free (loaded_services, loaded_services_length1, (GDestroyNotify) g_object_unref), NULL); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (last_used_service); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (renderer_text); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (renderer_pix); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (label); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (title); +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return self; +#line 2175 "PublishingUI.c" +} + + +PublishingUIPublishingDialog* publishing_ui_publishing_dialog_new (GeeCollection* to_publish) { +#line 156 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return publishing_ui_publishing_dialog_construct (PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, to_publish); +#line 2182 "PublishingUI.c" +} + + +static void _vala_array_add56 (SpitPublishingService*** array, int* length, int* size, SpitPublishingService* value) { +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((*length) == (*size)) { +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *array = g_renew (SpitPublishingService*, *array, (*size) + 1); +#line 2193 "PublishingUI.c" + } +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[(*length)++] = value; +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[*length] = NULL; +#line 2199 "PublishingUI.c" +} + + +static gint __lambda15_ (void* a, void* b) { + gint result = 0; + void* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + void* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 328 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = a; +#line 328 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (*((SpitPublishingService**) _tmp0_), SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 328 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = b; +#line 328 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (*((SpitPublishingService**) _tmp2_), SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 328 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = utf8_cs_compare (_tmp1_, _tmp3_); +#line 328 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + result = _tmp4_; +#line 328 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 2224 "PublishingUI.c" +} + + +static gint ___lambda15____compar_fn_t (void* key1, void* key2) { + gint result; + result = __lambda15_ (key1, key2); +#line 327 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 2233 "PublishingUI.c" +} + + +static SpitPublishingService** publishing_ui_publishing_dialog_load_all_services (int* result_length1) { + SpitPublishingService** result = NULL; + SpitPublishingService** loaded_services = NULL; + SpitPublishingService** _tmp0_ = NULL; + gint loaded_services_length1 = 0; + gint _loaded_services_size_ = 0; + GeeCollection* pluggables = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + SpitPublishingService** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + SpitPublishingService** _tmp26_ = NULL; + gint _tmp26__length1 = 0; + SpitPublishingService** _tmp27_ = NULL; + gint _tmp27__length1 = 0; +#line 299 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = g_new0 (SpitPublishingService*, 0 + 1); +#line 299 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + loaded_services = _tmp0_; +#line 299 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + loaded_services_length1 = 0; +#line 299 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _loaded_services_size_ = loaded_services_length1; +#line 302 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = plugins_get_pluggables_for_type (SPIT_PUBLISHING_TYPE_SERVICE, NULL, NULL, NULL, FALSE); +#line 302 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + pluggables = _tmp1_; +#line 305 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = pluggables; +#line 305 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = gee_collection_get_size (_tmp2_); +#line 305 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = _tmp3_; +#line 305 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_debug ("PublishingUI.vala:305: PublisingDialog: discovered %d pluggable publis" \ +"hing services.", _tmp4_); +#line 2274 "PublishingUI.c" + { + GeeIterator* _pluggable_it = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = pluggables; +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _pluggable_it = _tmp6_; +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + while (TRUE) { +#line 2287 "PublishingUI.c" + GeeIterator* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + SpitPluggable* pluggable = NULL; + GeeIterator* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + gint pluggable_interface = 0; + SpitPluggable* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + SpitPublishingService* service = NULL; + SpitPluggable* _tmp18_ = NULL; + SpitPublishingService* _tmp19_ = NULL; + SpitPublishingService* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + SpitPublishingService** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + SpitPublishingService* _tmp23_ = NULL; + SpitPublishingService* _tmp24_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = _pluggable_it; +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = gee_iterator_next (_tmp7_); +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (!_tmp8_) { +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + break; +#line 2314 "PublishingUI.c" + } +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp9_ = _pluggable_it; +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = gee_iterator_get (_tmp9_); +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + pluggable = (SpitPluggable*) _tmp10_; +#line 308 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = pluggable; +#line 308 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp12_ = spit_pluggable_get_pluggable_interface (_tmp11_, SPIT_PUBLISHING_CURRENT_INTERFACE, SPIT_PUBLISHING_CURRENT_INTERFACE); +#line 308 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + pluggable_interface = _tmp12_; +#line 310 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp13_ = pluggable_interface; +#line 310 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp13_ != SPIT_PUBLISHING_CURRENT_INTERFACE) { +#line 2332 "PublishingUI.c" + SpitPluggable* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gint _tmp17_ = 0; +#line 311 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp14_ = pluggable; +#line 311 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp15_ = plugins_get_pluggable_module_id (_tmp14_); +#line 311 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp16_ = _tmp15_; +#line 311 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp17_ = pluggable_interface; +#line 311 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_warning ("PublishingUI.vala:311: Unable to load publisher %s: reported interface" \ +" %d.", _tmp16_, _tmp17_); +#line 311 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (_tmp16_); +#line 314 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (pluggable); +#line 314 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + continue; +#line 2353 "PublishingUI.c" + } +#line 317 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp18_ = pluggable; +#line 317 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp19_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, SPIT_PUBLISHING_TYPE_SERVICE, SpitPublishingService)); +#line 317 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service = _tmp19_; +#line 320 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp20_ = service; +#line 320 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp21_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 320 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_debug ("PublishingUI.vala:320: PublishingDialog: discovered pluggable publishi" \ +"ng service '%s'.", _tmp21_); +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp22_ = loaded_services; +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp22__length1 = loaded_services_length1; +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp23_ = service; +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp24_ = _g_object_ref0 (_tmp23_); +#line 323 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _vala_array_add56 (&loaded_services, &loaded_services_length1, &_loaded_services_size_, _tmp24_); +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service); +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (pluggable); +#line 2381 "PublishingUI.c" + } +#line 307 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (_pluggable_it); +#line 2385 "PublishingUI.c" + } +#line 327 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp25_ = loaded_services; +#line 327 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp25__length1 = loaded_services_length1; +#line 327 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp26_ = loaded_services; +#line 327 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp26__length1 = loaded_services_length1; +#line 327 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + qsort (_tmp25_, (gsize) _tmp26__length1, (gsize) sizeof (SpitPublishingService*), ___lambda15____compar_fn_t); +#line 332 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp27_ = loaded_services; +#line 332 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp27__length1 = loaded_services_length1; +#line 332 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (result_length1) { +#line 332 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *result_length1 = _tmp27__length1; +#line 2405 "PublishingUI.c" + } +#line 332 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + result = _tmp27_; +#line 332 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (pluggables); +#line 332 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 2413 "PublishingUI.c" +} + + +static void _vala_array_add57 (SpitPublishingService*** array, int* length, int* size, SpitPublishingService* value) { +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((*length) == (*size)) { +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *array = g_renew (SpitPublishingService*, *array, (*size) + 1); +#line 2424 "PublishingUI.c" + } +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[(*length)++] = value; +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[*length] = NULL; +#line 2430 "PublishingUI.c" +} + + +static void _vala_array_add58 (SpitPublishingService*** array, int* length, int* size, SpitPublishingService* value) { +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((*length) == (*size)) { +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *array = g_renew (SpitPublishingService*, *array, (*size) + 1); +#line 2441 "PublishingUI.c" + } +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[(*length)++] = value; +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[*length] = NULL; +#line 2447 "PublishingUI.c" +} + + +static void _vala_array_add59 (SpitPublishingService*** array, int* length, int* size, SpitPublishingService* value) { +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((*length) == (*size)) { +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *array = g_renew (SpitPublishingService*, *array, (*size) + 1); +#line 2458 "PublishingUI.c" + } +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[(*length)++] = value; +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + (*array)[*length] = NULL; +#line 2464 "PublishingUI.c" +} + + +static SpitPublishingService** publishing_ui_publishing_dialog_load_services (gboolean has_photos, gboolean has_videos, int* result_length1) { + SpitPublishingService** result = NULL; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + SpitPublishingService** filtered_services = NULL; + SpitPublishingService** _tmp3_ = NULL; + gint filtered_services_length1 = 0; + gint _filtered_services_size_ = 0; + SpitPublishingService** all_services = NULL; + gint _tmp4_ = 0; + SpitPublishingService** _tmp5_ = NULL; + gint all_services_length1 = 0; + gint _all_services_size_ = 0; + SpitPublishingService** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + SpitPublishingService** _tmp32_ = NULL; + gint _tmp32__length1 = 0; +#line 336 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = has_photos; +#line 336 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp1_) { +#line 336 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = TRUE; +#line 2491 "PublishingUI.c" + } else { + gboolean _tmp2_ = FALSE; +#line 336 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = has_videos; +#line 336 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = _tmp2_; +#line 2498 "PublishingUI.c" + } +#line 336 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _vala_assert (_tmp0_, "has_photos || has_videos"); +#line 338 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = g_new0 (SpitPublishingService*, 0 + 1); +#line 338 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + filtered_services = _tmp3_; +#line 338 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + filtered_services_length1 = 0; +#line 338 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _filtered_services_size_ = filtered_services_length1; +#line 339 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = publishing_ui_publishing_dialog_load_all_services (&_tmp4_); +#line 339 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + all_services = _tmp5_; +#line 339 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + all_services_length1 = _tmp4_; +#line 339 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _all_services_size_ = all_services_length1; +#line 341 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6_ = all_services; +#line 341 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6__length1 = all_services_length1; +#line 2522 "PublishingUI.c" + { + SpitPublishingService** service_collection = NULL; + gint service_collection_length1 = 0; + gint _service_collection_size_ = 0; + gint service_it = 0; +#line 341 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_collection = _tmp6_; +#line 341 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_collection_length1 = _tmp6__length1; +#line 341 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + for (service_it = 0; service_it < _tmp6__length1; service_it = service_it + 1) { +#line 2534 "PublishingUI.c" + SpitPublishingService* _tmp7_ = NULL; + SpitPublishingService* service = NULL; +#line 341 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = _g_object_ref0 (service_collection[service_it]); +#line 341 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service = _tmp7_; +#line 2541 "PublishingUI.c" + { + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 343 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp9_ = has_photos; +#line 343 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp9_) { +#line 2549 "PublishingUI.c" + gboolean _tmp10_ = FALSE; +#line 343 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = has_videos; +#line 343 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = !_tmp10_; +#line 2555 "PublishingUI.c" + } else { +#line 343 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = FALSE; +#line 2559 "PublishingUI.c" + } +#line 343 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp8_) { +#line 2563 "PublishingUI.c" + SpitPublishingService* _tmp11_ = NULL; + SpitPublishingPublisherMediaType _tmp12_ = 0; +#line 344 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = service; +#line 344 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp12_ = spit_publishing_service_get_supported_media (_tmp11_); +#line 344 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((_tmp12_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) != 0) { +#line 2572 "PublishingUI.c" + SpitPublishingService** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + SpitPublishingService* _tmp14_ = NULL; + SpitPublishingService* _tmp15_ = NULL; +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp13_ = filtered_services; +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp13__length1 = filtered_services_length1; +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp14_ = service; +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 345 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _vala_array_add57 (&filtered_services, &filtered_services_length1, &_filtered_services_size_, _tmp15_); +#line 2587 "PublishingUI.c" + } + } else { + gboolean _tmp16_ = FALSE; + gboolean _tmp17_ = FALSE; +#line 346 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp17_ = has_photos; +#line 346 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (!_tmp17_) { +#line 2596 "PublishingUI.c" + gboolean _tmp18_ = FALSE; +#line 346 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp18_ = has_videos; +#line 346 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp16_ = _tmp18_; +#line 2602 "PublishingUI.c" + } else { +#line 346 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp16_ = FALSE; +#line 2606 "PublishingUI.c" + } +#line 346 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp16_) { +#line 2610 "PublishingUI.c" + SpitPublishingService* _tmp19_ = NULL; + SpitPublishingPublisherMediaType _tmp20_ = 0; +#line 347 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp19_ = service; +#line 347 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp20_ = spit_publishing_service_get_supported_media (_tmp19_); +#line 347 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((_tmp20_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) != 0) { +#line 2619 "PublishingUI.c" + SpitPublishingService** _tmp21_ = NULL; + gint _tmp21__length1 = 0; + SpitPublishingService* _tmp22_ = NULL; + SpitPublishingService* _tmp23_ = NULL; +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp21_ = filtered_services; +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp21__length1 = filtered_services_length1; +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp22_ = service; +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp23_ = _g_object_ref0 (_tmp22_); +#line 348 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _vala_array_add58 (&filtered_services, &filtered_services_length1, &_filtered_services_size_, _tmp23_); +#line 2634 "PublishingUI.c" + } + } else { + gboolean _tmp24_ = FALSE; + SpitPublishingService* _tmp25_ = NULL; + SpitPublishingPublisherMediaType _tmp26_ = 0; +#line 350 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp25_ = service; +#line 350 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp26_ = spit_publishing_service_get_supported_media (_tmp25_); +#line 350 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((_tmp26_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_PHOTO) != 0) { +#line 2646 "PublishingUI.c" + SpitPublishingService* _tmp27_ = NULL; + SpitPublishingPublisherMediaType _tmp28_ = 0; +#line 351 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp27_ = service; +#line 351 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp28_ = spit_publishing_service_get_supported_media (_tmp27_); +#line 351 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp24_ = (_tmp28_ & SPIT_PUBLISHING_PUBLISHER_MEDIA_TYPE_VIDEO) != 0; +#line 2655 "PublishingUI.c" + } else { +#line 350 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp24_ = FALSE; +#line 2659 "PublishingUI.c" + } +#line 350 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp24_) { +#line 2663 "PublishingUI.c" + SpitPublishingService** _tmp29_ = NULL; + gint _tmp29__length1 = 0; + SpitPublishingService* _tmp30_ = NULL; + SpitPublishingService* _tmp31_ = NULL; +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp29_ = filtered_services; +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp29__length1 = filtered_services_length1; +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp30_ = service; +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp31_ = _g_object_ref0 (_tmp30_); +#line 352 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _vala_array_add59 (&filtered_services, &filtered_services_length1, &_filtered_services_size_, _tmp31_); +#line 2678 "PublishingUI.c" + } + } + } +#line 341 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service); +#line 2684 "PublishingUI.c" + } + } + } +#line 356 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp32_ = filtered_services; +#line 356 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp32__length1 = filtered_services_length1; +#line 356 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (result_length1) { +#line 356 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + *result_length1 = _tmp32__length1; +#line 2696 "PublishingUI.c" + } +#line 356 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + result = _tmp32_; +#line 356 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + all_services = (_vala_array_free (all_services, all_services_length1, (GDestroyNotify) g_object_unref), NULL); +#line 356 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 2704 "PublishingUI.c" +} + + +void publishing_ui_publishing_dialog_go (GeeCollection* to_publish) { + PublishingUIPublishingDialog* _tmp0_ = NULL; + GTimer* _tmp1_ = NULL; + GeeArrayList* photos = NULL; + GeeArrayList* _tmp10_ = NULL; + GeeArrayList* videos = NULL; + GeeArrayList* _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + GeeArrayList* _tmp13_ = NULL; + GeeArrayList* _tmp14_ = NULL; + SpitPublishingService** avail_services = NULL; + GeeArrayList* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + GeeArrayList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + SpitPublishingService** _tmp22_ = NULL; + gint avail_services_length1 = 0; + gint _avail_services_size_ = 0; + SpitPublishingService** _tmp23_ = NULL; + gint _tmp23__length1 = 0; + GeeCollection* _tmp28_ = NULL; + PublishingUIPublishingDialog* _tmp29_ = NULL; + PublishingUIPublishingDialog* _tmp30_ = NULL; + GTimer* _tmp31_ = NULL; +#line 370 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (GEE_IS_COLLECTION (to_publish)); +#line 371 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = publishing_ui_publishing_dialog_active_instance; +#line 371 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp0_ != NULL) { +#line 372 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return; +#line 2743 "PublishingUI.c" + } +#line 374 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = publishing_ui_publishing_dialog_since_last_start; +#line 374 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp1_ == NULL) { +#line 2749 "PublishingUI.c" + GTimer* _tmp2_ = NULL; + GTimer* _tmp3_ = NULL; + GTimer* _tmp4_ = NULL; +#line 377 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = g_timer_new (); +#line 377 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_timer_destroy0 (publishing_ui_publishing_dialog_since_last_start); +#line 377 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_since_last_start = _tmp2_; +#line 378 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = publishing_ui_publishing_dialog_since_last_start; +#line 378 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_timer_stop (_tmp3_); +#line 379 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = publishing_ui_publishing_dialog_since_last_start; +#line 379 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_timer_reset (_tmp4_); +#line 380 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_elapsed_is_valid = FALSE; +#line 2769 "PublishingUI.c" + } else { + gdouble elapsed = 0.0; + GTimer* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; + gboolean _tmp7_ = FALSE; + gdouble _tmp8_ = 0.0; +#line 382 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = publishing_ui_publishing_dialog_since_last_start; +#line 382 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6_ = g_timer_elapsed (_tmp5_, NULL); +#line 382 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + elapsed = _tmp6_; +#line 383 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = elapsed; +#line 383 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp8_ < 0.05) { +#line 2786 "PublishingUI.c" + gboolean _tmp9_ = FALSE; +#line 383 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp9_ = publishing_ui_publishing_dialog_elapsed_is_valid; +#line 383 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = _tmp9_; +#line 2792 "PublishingUI.c" + } else { +#line 383 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = FALSE; +#line 2796 "PublishingUI.c" + } +#line 383 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp7_) { +#line 384 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return; +#line 2802 "PublishingUI.c" + } + } +#line 387 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = gee_array_list_new (TYPE_LIBRARY_PHOTO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 387 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + photos = _tmp10_; +#line 388 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = gee_array_list_new (TYPE_VIDEO, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 388 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + videos = _tmp11_; +#line 389 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp12_ = to_publish; +#line 389 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp13_ = photos; +#line 389 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp14_ = videos; +#line 389 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + media_source_collection_filter_media (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp15_ = photos; +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp16_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp17_ = _tmp16_; +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp18_ = videos; +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp19_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp20_ = _tmp19_; +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp22_ = publishing_ui_publishing_dialog_load_services (_tmp17_ > 0, _tmp20_ > 0, &_tmp21_); +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + avail_services = _tmp22_; +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + avail_services_length1 = _tmp21_; +#line 391 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _avail_services_size_ = avail_services_length1; +#line 394 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp23_ = avail_services; +#line 394 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp23__length1 = avail_services_length1; +#line 394 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp23__length1 == 0) { +#line 2847 "PublishingUI.c" + const gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp24_ = _ ("Unable to publish"); +#line 397 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp25_ = _ ("Shotwell cannot publish the selected items because you do not have a c" \ +"ompatible publishing plugin enabled. To correct this, choose Edit %" \ +"s Preferences and enable one or more of the publishing plugins on " \ +"the Plugins tab."); +#line 397 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp26_ = g_strdup_printf (_tmp25_, "▸"); +#line 397 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp27_ = _tmp26_; +#line 397 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + app_window_error_message_with_title (_tmp24_, _tmp27_, NULL, FALSE); +#line 397 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (_tmp27_); +#line 401 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + avail_services = (_vala_array_free (avail_services, avail_services_length1, (GDestroyNotify) g_object_unref), NULL); +#line 401 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (videos); +#line 401 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (photos); +#line 401 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return; +#line 2872 "PublishingUI.c" + } +#line 407 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_debug ("PublishingUI.vala:407: PublishingDialog.go( )"); +#line 409 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp28_ = to_publish; +#line 409 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp29_ = publishing_ui_publishing_dialog_new (_tmp28_); +#line 409 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_object_ref_sink (_tmp29_); +#line 409 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (publishing_ui_publishing_dialog_active_instance); +#line 409 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_active_instance = _tmp29_; +#line 411 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp30_ = publishing_ui_publishing_dialog_active_instance; +#line 411 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_run (_tmp30_); +#line 413 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (publishing_ui_publishing_dialog_active_instance); +#line 413 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_active_instance = NULL; +#line 416 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp31_ = publishing_ui_publishing_dialog_since_last_start; +#line 416 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_timer_start (_tmp31_); +#line 417 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_elapsed_is_valid = TRUE; +#line 370 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + avail_services = (_vala_array_free (avail_services, avail_services_length1, (GDestroyNotify) g_object_unref), NULL); +#line 370 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (videos); +#line 370 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (photos); +#line 2906 "PublishingUI.c" +} + + +static gboolean publishing_ui_publishing_dialog_on_window_close (PublishingUIPublishingDialog* self, GdkEventAny* evt) { + gboolean result = FALSE; + SpitPublishingConcretePublishingHost* _tmp0_ = NULL; +#line 420 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_val_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self), FALSE); +#line 420 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_val_if_fail (evt != NULL, FALSE); +#line 421 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->host; +#line 421 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + spit_publishing_plugin_host_stop_publishing (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHost)); +#line 422 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->host); +#line 422 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->host = NULL; +#line 423 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 424 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 426 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + result = TRUE; +#line 426 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 2933 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_on_service_changed (PublishingUIPublishingDialog* self) { + GtkTreeIter iter = {0}; + gboolean have_active_iter = FALSE; + GtkComboBox* _tmp0_ = NULL; + GtkTreeIter _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; + GValue service_name_val = {0}; + GtkListStore* _tmp7_ = NULL; + GtkTreeIter _tmp8_ = {0}; + GValue _tmp9_ = {0}; + gchar* service_name = NULL; + GValue _tmp10_ = {0}; + gchar* _tmp11_ = NULL; + SpitPublishingService* selected_service = NULL; + SpitPublishingService** services = NULL; + gint _tmp12_ = 0; + SpitPublishingService** _tmp13_ = NULL; + gint services_length1 = 0; + gint _services_size_ = 0; + SpitPublishingService** _tmp14_ = NULL; + gint _tmp14__length1 = 0; + SpitPublishingService* _tmp21_ = NULL; + ConfigFacade* _tmp22_ = NULL; + ConfigFacade* _tmp23_ = NULL; + SpitPublishingService* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + SpitPublishingService* _tmp26_ = NULL; + SpitPublishingPublishable** _tmp27_ = NULL; + gint _tmp27__length1 = 0; + SpitPublishingConcretePublishingHost* _tmp28_ = NULL; + SpitPublishingConcretePublishingHost* _tmp29_ = NULL; +#line 429 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 431 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + have_active_iter = FALSE; +#line 432 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->service_selector_box; +#line 432 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = gtk_combo_box_get_active_iter (_tmp0_, &_tmp1_); +#line 432 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + iter = _tmp1_; +#line 432 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + have_active_iter = _tmp2_; +#line 435 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = have_active_iter; +#line 435 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (!_tmp3_) { +#line 2985 "PublishingUI.c" + GtkComboBox* _tmp4_ = NULL; + GtkComboBox* _tmp5_ = NULL; + GtkTreeIter _tmp6_ = {0}; +#line 437 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = self->priv->service_selector_box; +#line 437 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_combo_box_set_active (_tmp4_, 0); +#line 440 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = self->priv->service_selector_box; +#line 440 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_combo_box_get_active_iter (_tmp5_, &_tmp6_); +#line 440 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + iter = _tmp6_; +#line 2999 "PublishingUI.c" + } +#line 444 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = self->priv->service_selector_box_model; +#line 444 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = iter; +#line 444 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_tree_model_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp8_, 1, &_tmp9_); +#line 444 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_IS_VALUE (&service_name_val) ? (g_value_unset (&service_name_val), NULL) : NULL; +#line 444 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_name_val = _tmp9_; +#line 446 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = service_name_val; +#line 446 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = g_strdup (g_value_get_string (&_tmp10_)); +#line 446 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_name = _tmp11_; +#line 448 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + selected_service = NULL; +#line 449 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp13_ = publishing_ui_publishing_dialog_load_all_services (&_tmp12_); +#line 449 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + services = _tmp13_; +#line 449 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + services_length1 = _tmp12_; +#line 449 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _services_size_ = services_length1; +#line 450 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp14_ = services; +#line 450 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp14__length1 = services_length1; +#line 3031 "PublishingUI.c" + { + SpitPublishingService** service_collection = NULL; + gint service_collection_length1 = 0; + gint _service_collection_size_ = 0; + gint service_it = 0; +#line 450 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_collection = _tmp14_; +#line 450 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service_collection_length1 = _tmp14__length1; +#line 450 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + for (service_it = 0; service_it < _tmp14__length1; service_it = service_it + 1) { +#line 3043 "PublishingUI.c" + SpitPublishingService* _tmp15_ = NULL; + SpitPublishingService* service = NULL; +#line 450 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp15_ = _g_object_ref0 (service_collection[service_it]); +#line 450 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + service = _tmp15_; +#line 3050 "PublishingUI.c" + { + SpitPublishingService* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + const gchar* _tmp18_ = NULL; +#line 451 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp16_ = service; +#line 451 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp17_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 451 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp18_ = service_name; +#line 451 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (g_strcmp0 (_tmp17_, _tmp18_) == 0) { +#line 3063 "PublishingUI.c" + SpitPublishingService* _tmp19_ = NULL; + SpitPublishingService* _tmp20_ = NULL; +#line 452 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp19_ = service; +#line 452 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp20_ = _g_object_ref0 (_tmp19_); +#line 452 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (selected_service); +#line 452 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + selected_service = _tmp20_; +#line 453 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service); +#line 453 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + break; +#line 3078 "PublishingUI.c" + } +#line 450 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (service); +#line 3082 "PublishingUI.c" + } + } + } +#line 456 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp21_ = selected_service; +#line 456 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _vala_assert (_tmp21_ != NULL, "selected_service != null"); +#line 458 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp22_ = config_facade_get_instance (); +#line 458 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp23_ = _tmp22_; +#line 458 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp24_ = selected_service; +#line 458 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp25_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 458 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + configuration_facade_set_last_used_service (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp25_); +#line 458 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (_tmp23_); +#line 460 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp26_ = selected_service; +#line 460 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp27_ = self->priv->publishables; +#line 460 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp27__length1 = self->priv->publishables_length1; +#line 460 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp28_ = spit_publishing_concrete_publishing_host_new (_tmp26_, self, _tmp27_, _tmp27__length1); +#line 460 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->host); +#line 460 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->host = _tmp28_; +#line 461 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp29_ = self->priv->host; +#line 461 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + spit_publishing_concrete_publishing_host_start_publishing (_tmp29_); +#line 429 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + services = (_vala_array_free (services, services_length1, (GDestroyNotify) g_object_unref), NULL); +#line 429 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (selected_service); +#line 429 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_free0 (service_name); +#line 429 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_IS_VALUE (&service_name_val) ? (g_value_unset (&service_name_val), NULL) : NULL; +#line 3126 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_on_close_cancel_clicked (PublishingUIPublishingDialog* self) { + SpitPublishingConcretePublishingHost* _tmp0_ = NULL; +#line 464 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 465 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_debug ("PublishingUI.vala:465: PublishingDialog: on_close_cancel_clicked( ): i" \ +"nvoked."); +#line 467 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->host; +#line 467 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + spit_publishing_plugin_host_stop_publishing (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_PUBLISHING_TYPE_PLUGIN_HOST, SpitPublishingPluginHost)); +#line 468 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->host); +#line 468 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->host = NULL; +#line 469 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 470 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 3148 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_set_large_window_mode (PublishingUIPublishingDialog* self) { + GtkBox* _tmp0_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 474 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), PUBLISHING_UI_PUBLISHING_DIALOG_LARGE_WINDOW_WIDTH, PUBLISHING_UI_PUBLISHING_DIALOG_LARGE_WINDOW_HEIGHT); +#line 475 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->central_area_layouter; +#line 475 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), PUBLISHING_UI_PUBLISHING_DIALOG_LARGE_WINDOW_WIDTH - PUBLISHING_UI_PUBLISHING_DIALOG_BORDER_REGION_WIDTH, PUBLISHING_UI_PUBLISHING_DIALOG_LARGE_WINDOW_HEIGHT - PUBLISHING_UI_PUBLISHING_DIALOG_BORDER_REGION_HEIGHT); +#line 477 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 3164 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_set_colossal_window_mode (PublishingUIPublishingDialog* self) { + GtkBox* _tmp0_ = NULL; +#line 480 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 481 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), PUBLISHING_UI_PUBLISHING_DIALOG_COLOSSAL_WINDOW_WIDTH, PUBLISHING_UI_PUBLISHING_DIALOG_COLOSSAL_WINDOW_HEIGHT); +#line 482 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->central_area_layouter; +#line 482 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), PUBLISHING_UI_PUBLISHING_DIALOG_COLOSSAL_WINDOW_WIDTH - PUBLISHING_UI_PUBLISHING_DIALOG_BORDER_REGION_WIDTH, PUBLISHING_UI_PUBLISHING_DIALOG_COLOSSAL_WINDOW_HEIGHT - PUBLISHING_UI_PUBLISHING_DIALOG_BORDER_REGION_HEIGHT); +#line 484 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 3180 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_set_standard_window_mode (PublishingUIPublishingDialog* self) { + GtkBox* _tmp0_ = NULL; +#line 487 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 488 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), PUBLISHING_UI_PUBLISHING_DIALOG_STANDARD_WINDOW_WIDTH, PUBLISHING_UI_PUBLISHING_DIALOG_STANDARD_WINDOW_HEIGHT); +#line 489 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->central_area_layouter; +#line 489 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), PUBLISHING_UI_PUBLISHING_DIALOG_STANDARD_WINDOW_WIDTH - PUBLISHING_UI_PUBLISHING_DIALOG_BORDER_REGION_WIDTH, PUBLISHING_UI_PUBLISHING_DIALOG_STANDARD_WINDOW_HEIGHT - PUBLISHING_UI_PUBLISHING_DIALOG_BORDER_REGION_HEIGHT); +#line 491 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 3196 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_set_free_sizable_window_mode (PublishingUIPublishingDialog* self) { +#line 494 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 495 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), TRUE); +#line 3205 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_clear_free_sizable_window_mode (PublishingUIPublishingDialog* self) { +#line 498 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 499 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), FALSE); +#line 3214 "PublishingUI.c" +} + + +SpitPublishingDialogPane* publishing_ui_publishing_dialog_get_active_pane (PublishingUIPublishingDialog* self) { + SpitPublishingDialogPane* result = NULL; + SpitPublishingDialogPane* _tmp0_ = NULL; + SpitPublishingDialogPane* _tmp1_ = NULL; +#line 502 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_val_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self), NULL); +#line 503 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->active_pane; +#line 503 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 503 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + result = _tmp1_; +#line 503 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 3232 "PublishingUI.c" +} + + +void publishing_ui_publishing_dialog_set_close_button_mode (PublishingUIPublishingDialog* self) { + GtkButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GtkButton* _tmp2_ = NULL; +#line 506 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 507 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->close_cancel_button; +#line 507 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = _ ("_Close"); +#line 507 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_button_set_label (_tmp0_, _tmp1_); +#line 508 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = self->priv->close_cancel_button; +#line 508 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_window_set_default (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 3252 "PublishingUI.c" +} + + +void publishing_ui_publishing_dialog_set_cancel_button_mode (PublishingUIPublishingDialog* self) { + GtkButton* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 511 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 512 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->close_cancel_button; +#line 512 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = _ ("_Cancel"); +#line 512 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_button_set_label (_tmp0_, _tmp1_); +#line 3267 "PublishingUI.c" +} + + +void publishing_ui_publishing_dialog_lock_service (PublishingUIPublishingDialog* self) { + GtkComboBox* _tmp0_ = NULL; +#line 515 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 516 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->service_selector_box; +#line 516 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), FALSE); +#line 3279 "PublishingUI.c" +} + + +void publishing_ui_publishing_dialog_unlock_service (PublishingUIPublishingDialog* self) { + GtkComboBox* _tmp0_ = NULL; +#line 519 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 520 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->service_selector_box; +#line 520 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), TRUE); +#line 3291 "PublishingUI.c" +} + + +void publishing_ui_publishing_dialog_install_pane (PublishingUIPublishingDialog* self, SpitPublishingDialogPane* pane) { + SpitPublishingDialogPane* _tmp0_ = NULL; + GtkBox* _tmp6_ = NULL; + SpitPublishingDialogPane* _tmp7_ = NULL; + GtkWidget* _tmp8_ = NULL; + GtkWidget* _tmp9_ = NULL; + SpitPublishingDialogPaneGeometryOptions geometry_options = 0; + SpitPublishingDialogPane* _tmp10_ = NULL; + SpitPublishingDialogPaneGeometryOptions _tmp11_ = 0; + SpitPublishingDialogPaneGeometryOptions _tmp12_ = 0; + SpitPublishingDialogPaneGeometryOptions _tmp14_ = 0; + SpitPublishingDialogPane* _tmp15_ = NULL; + SpitPublishingDialogPane* _tmp16_ = NULL; + SpitPublishingDialogPane* _tmp17_ = NULL; +#line 523 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self)); +#line 523 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_if_fail (SPIT_PUBLISHING_IS_DIALOG_PANE (pane)); +#line 524 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_debug ("PublishingUI.vala:524: PublishingDialog: install_pane( ): invoked."); +#line 526 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = self->priv->active_pane; +#line 526 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if (_tmp0_ != NULL) { +#line 3319 "PublishingUI.c" + SpitPublishingDialogPane* _tmp1_ = NULL; + GtkBox* _tmp2_ = NULL; + SpitPublishingDialogPane* _tmp3_ = NULL; + GtkWidget* _tmp4_ = NULL; + GtkWidget* _tmp5_ = NULL; +#line 527 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_debug ("PublishingUI.vala:527: PublishingDialog: install_pane( ): a pane is al" \ +"ready installed; removing it."); +#line 529 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp1_ = self->priv->active_pane; +#line 529 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + spit_publishing_dialog_pane_on_pane_uninstalled (_tmp1_); +#line 530 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp2_ = self->priv->central_area_layouter; +#line 530 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp3_ = self->priv->active_pane; +#line 530 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp4_ = spit_publishing_dialog_pane_get_widget (_tmp3_); +#line 530 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp5_ = _tmp4_; +#line 530 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_container_get_type (), GtkContainer), _tmp5_); +#line 530 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (_tmp5_); +#line 3343 "PublishingUI.c" + } +#line 533 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp6_ = self->priv->central_area_layouter; +#line 533 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp7_ = pane; +#line 533 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp8_ = spit_publishing_dialog_pane_get_widget (_tmp7_); +#line 533 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp9_ = _tmp8_; +#line 533 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_box_pack_start (_tmp6_, _tmp9_, TRUE, TRUE, (guint) 0); +#line 533 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (_tmp9_); +#line 534 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 536 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp10_ = pane; +#line 536 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp11_ = spit_publishing_dialog_pane_get_preferred_geometry (_tmp10_); +#line 536 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + geometry_options = _tmp11_; +#line 538 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp12_ = geometry_options; +#line 538 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((_tmp12_ & SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_EXTENDED_SIZE) != 0) { +#line 539 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_set_large_window_mode (self); +#line 3371 "PublishingUI.c" + } else { + SpitPublishingDialogPaneGeometryOptions _tmp13_ = 0; +#line 540 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp13_ = geometry_options; +#line 540 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((_tmp13_ & SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_COLOSSAL_SIZE) != 0) { +#line 541 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_set_colossal_window_mode (self); +#line 3380 "PublishingUI.c" + } else { +#line 543 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_set_standard_window_mode (self); +#line 3384 "PublishingUI.c" + } + } +#line 545 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp14_ = geometry_options; +#line 545 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + if ((_tmp14_ & SPIT_PUBLISHING_DIALOG_PANE_GEOMETRY_OPTIONS_RESIZABLE) != 0) { +#line 546 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_set_free_sizable_window_mode (self); +#line 3393 "PublishingUI.c" + } else { +#line 548 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_clear_free_sizable_window_mode (self); +#line 3397 "PublishingUI.c" + } +#line 550 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp15_ = pane; +#line 550 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp16_ = _g_object_ref0 (_tmp15_); +#line 550 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->active_pane); +#line 550 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->active_pane = _tmp16_; +#line 551 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp17_ = pane; +#line 551 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + spit_publishing_dialog_pane_on_pane_installed (_tmp17_); +#line 3411 "PublishingUI.c" +} + + +gint publishing_ui_publishing_dialog_run (PublishingUIPublishingDialog* self) { + gint result = 0; + gint _result_ = 0; + gint _tmp0_ = 0; +#line 554 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_return_val_if_fail (PUBLISHING_UI_IS_PUBLISHING_DIALOG (self), 0); +#line 555 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_on_service_changed (self); +#line 557 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _tmp0_ = gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog)); +#line 557 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _result_ = _tmp0_; +#line 559 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->host); +#line 559 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->host = NULL; +#line 561 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + result = _result_; +#line 561 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + return result; +#line 3435 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_class_init (PublishingUIPublishingDialogClass * klass) { +#line 132 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + publishing_ui_publishing_dialog_parent_class = g_type_class_peek_parent (klass); +#line 132 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + g_type_class_add_private (klass, sizeof (PublishingUIPublishingDialogPrivate)); +#line 132 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (klass)->finalize = publishing_ui_publishing_dialog_finalize; +#line 3446 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_instance_init (PublishingUIPublishingDialog * self) { +#line 132 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv = PUBLISHING_UI_PUBLISHING_DIALOG_GET_PRIVATE (self); +#line 3453 "PublishingUI.c" +} + + +static void publishing_ui_publishing_dialog_finalize (GObject* obj) { + PublishingUIPublishingDialog * self; +#line 132 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, PUBLISHING_UI_TYPE_PUBLISHING_DIALOG, PublishingUIPublishingDialog); +#line 147 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->service_selector_box_model); +#line 148 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->service_selector_box); +#line 149 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->central_area_layouter); +#line 150 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->close_cancel_button); +#line 151 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->active_pane); +#line 152 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + self->priv->publishables = (_vala_array_free (self->priv->publishables, self->priv->publishables_length1, (GDestroyNotify) g_object_unref), NULL); +#line 153 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + _g_object_unref0 (self->priv->host); +#line 154 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + spit_pluggable_info_destroy (&self->priv->info); +#line 132 "/home/jens/Source/shotwell/src/publishing/PublishingUI.vala" + G_OBJECT_CLASS (publishing_ui_publishing_dialog_parent_class)->finalize (obj); +#line 3479 "PublishingUI.c" +} + + +GType publishing_ui_publishing_dialog_get_type (void) { + static volatile gsize publishing_ui_publishing_dialog_type_id__volatile = 0; + if (g_once_init_enter (&publishing_ui_publishing_dialog_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (PublishingUIPublishingDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) publishing_ui_publishing_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PublishingUIPublishingDialog), 0, (GInstanceInitFunc) publishing_ui_publishing_dialog_instance_init, NULL }; + GType publishing_ui_publishing_dialog_type_id; + publishing_ui_publishing_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "PublishingUIPublishingDialog", &g_define_type_info, 0); + g_once_init_leave (&publishing_ui_publishing_dialog_type_id__volatile, publishing_ui_publishing_dialog_type_id); + } + return publishing_ui_publishing_dialog_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/publishing/mk/publishing.mk b/src/publishing/mk/publishing.mk deleted file mode 100644 index fd31b81..0000000 --- a/src/publishing/mk/publishing.mk +++ /dev/null @@ -1,31 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Publishing - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := publishing - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - PublishingUI.vala \ - PublishingPluginHost.vala \ - APIGlue.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Plugins - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/searches/Branch.c b/src/searches/Branch.c new file mode 100644 index 0000000..81618ba --- /dev/null +++ b/src/searches/Branch.c @@ -0,0 +1,1655 @@ +/* Branch.c generated by valac 0.32.1, the Vala compiler + * generated from Branch.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; +typedef struct _SidebarBranchPrivate SidebarBranchPrivate; + +#define SEARCHES_TYPE_BRANCH (searches_branch_get_type ()) +#define SEARCHES_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_BRANCH, SearchesBranch)) +#define SEARCHES_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_BRANCH, SearchesBranchClass)) +#define SEARCHES_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_BRANCH)) +#define SEARCHES_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_BRANCH)) +#define SEARCHES_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_BRANCH, SearchesBranchClass)) + +typedef struct _SearchesBranch SearchesBranch; +typedef struct _SearchesBranchClass SearchesBranchClass; +typedef struct _SearchesBranchPrivate SearchesBranchPrivate; + +#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_SAVED_SEARCH (saved_search_get_type ()) +#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch)) +#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass)) +#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH)) +#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH)) +#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass)) + +typedef struct _SavedSearch SavedSearch; +typedef struct _SavedSearchClass SavedSearchClass; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; + +#define SEARCHES_TYPE_SIDEBAR_ENTRY (searches_sidebar_entry_get_type ()) +#define SEARCHES_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry)) +#define SEARCHES_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass)) +#define SEARCHES_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY)) +#define SEARCHES_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY)) +#define SEARCHES_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass)) + +typedef struct _SearchesSidebarEntry SearchesSidebarEntry; +typedef struct _SearchesSidebarEntryClass SearchesSidebarEntryClass; + +#define TYPE_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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ()) +#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping)) +#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) +#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) + +typedef struct _SidebarGrouping SidebarGrouping; +typedef struct _SidebarGroupingClass SidebarGroupingClass; + +#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ()) +#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader)) +#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) +#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) + +typedef struct _SidebarHeader SidebarHeader; +typedef struct _SidebarHeaderClass SidebarHeaderClass; + +#define SEARCHES_TYPE_HEADER (searches_header_get_type ()) +#define SEARCHES_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_HEADER, SearchesHeader)) +#define SEARCHES_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_HEADER, SearchesHeaderClass)) +#define SEARCHES_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_HEADER)) +#define SEARCHES_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_HEADER)) +#define SEARCHES_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_HEADER, SearchesHeaderClass)) + +typedef struct _SearchesHeader SearchesHeader; +typedef struct _SearchesHeaderClass SearchesHeaderClass; + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ()) + +#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; + +#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ()) +#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)) +#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY)) +#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface)) + +typedef struct _SidebarRenameableEntry SidebarRenameableEntry; +typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface; +typedef struct _SidebarGroupingPrivate SidebarGroupingPrivate; + +#define SIDEBAR_TYPE_EMPHASIZABLE_ENTRY (sidebar_emphasizable_entry_get_type ()) +#define SIDEBAR_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntry)) +#define SIDEBAR_IS_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY)) +#define SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntryIface)) + +typedef struct _SidebarEmphasizableEntry SidebarEmphasizableEntry; +typedef struct _SidebarEmphasizableEntryIface SidebarEmphasizableEntryIface; +typedef struct _SidebarHeaderPrivate SidebarHeaderPrivate; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; +typedef struct _SearchesHeaderPrivate SearchesHeaderPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ()) +#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog)) +#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) +#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG)) +#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG)) +#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) + +typedef struct _SavedSearchDialog SavedSearchDialog; +typedef struct _SavedSearchDialogClass SavedSearchDialogClass; +#define _saved_search_dialog_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_unref (var), NULL))) + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; + +#define SIDEBAR_TYPE_DESTROYABLE_ENTRY (sidebar_destroyable_entry_get_type ()) +#define SIDEBAR_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntry)) +#define SIDEBAR_IS_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY)) +#define SIDEBAR_DESTROYABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntryIface)) + +typedef struct _SidebarDestroyableEntry SidebarDestroyableEntry; +typedef struct _SidebarDestroyableEntryIface SidebarDestroyableEntryIface; +typedef struct _SearchesSidebarEntryPrivate SearchesSidebarEntryPrivate; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_SAVED_SEARCH_PAGE (saved_search_page_get_type ()) +#define SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPage)) +#define SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass)) +#define IS_SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_PAGE)) +#define IS_SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_PAGE)) +#define SAVED_SEARCH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass)) + +typedef struct _SavedSearchPage SavedSearchPage; +typedef struct _SavedSearchPageClass SavedSearchPageClass; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ()) +#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)) +#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) +#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) + +typedef struct _SingleDataSourceCommand SingleDataSourceCommand; +typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass; + +#define TYPE_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; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#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; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _SidebarBranch { + GObject parent_instance; + SidebarBranchPrivate * priv; +}; + +struct _SidebarBranchClass { + GObjectClass parent_class; +}; + +struct _SearchesBranch { + SidebarBranch parent_instance; + SearchesBranchPrivate * priv; +}; + +struct _SearchesBranchClass { + SidebarBranchClass parent_class; +}; + +struct _SearchesBranchPrivate { + GeeHashMap* entry_map; +}; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +typedef enum { + SIDEBAR_BRANCH_OPTIONS_NONE = 0, + SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0, + SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1, + SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2, + SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3 +} SidebarBranchOptions; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _SidebarRenameableEntryIface { + GTypeInterface parent_iface; + void (*rename) (SidebarRenameableEntry* self, const gchar* new_name); + gboolean (*is_user_renameable) (SidebarRenameableEntry* self); +}; + +struct _SidebarGrouping { + GObject parent_instance; + SidebarGroupingPrivate * priv; +}; + +struct _SidebarGroupingClass { + GObjectClass parent_class; +}; + +struct _SidebarEmphasizableEntryIface { + GTypeInterface parent_iface; + gboolean (*is_emphasized) (SidebarEmphasizableEntry* self); +}; + +struct _SidebarHeader { + SidebarGrouping parent_instance; + SidebarHeaderPrivate * priv; +}; + +struct _SidebarHeaderClass { + SidebarGroupingClass parent_class; +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SearchesHeader { + SidebarHeader parent_instance; + SearchesHeaderPrivate * priv; +}; + +struct _SearchesHeaderClass { + SidebarHeaderClass parent_class; +}; + +struct _SearchesHeaderPrivate { + GtkUIManager* ui; + GtkMenu* context_menu; +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _SidebarDestroyableEntryIface { + GTypeInterface parent_iface; + void (*destroy_source) (SidebarDestroyableEntry* self); +}; + +struct _SearchesSidebarEntry { + SidebarSimplePageEntry parent_instance; + SearchesSidebarEntryPrivate * priv; +}; + +struct _SearchesSidebarEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _SearchesSidebarEntryPrivate { + SavedSearch* search; +}; + + +static gpointer searches_branch_parent_class = NULL; +static gpointer searches_header_parent_class = NULL; +static SidebarContextableIface* searches_header_sidebar_contextable_parent_iface = NULL; +static gpointer searches_sidebar_entry_parent_class = NULL; +static gchar* searches_sidebar_entry_single_search_icon; +static gchar* searches_sidebar_entry_single_search_icon = NULL; +static SidebarRenameableEntryIface* searches_sidebar_entry_sidebar_renameable_entry_parent_iface = NULL; +static SidebarDestroyableEntryIface* searches_sidebar_entry_sidebar_destroyable_entry_parent_iface = NULL; + +GType sidebar_branch_get_type (void) G_GNUC_CONST; +GType searches_branch_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType saved_search_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType searches_sidebar_entry_get_type (void) G_GNUC_CONST; +#define SEARCHES_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCHES_TYPE_BRANCH, SearchesBranchPrivate)) +enum { + SEARCHES_BRANCH_DUMMY_PROPERTY +}; +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); +static void searches_branch_on_saved_search_added (SearchesBranch* self, SavedSearch* search); +static void _searches_branch_on_saved_search_added_saved_search_table_search_added (SavedSearchTable* _sender, SavedSearch* search, gpointer self); +static void searches_branch_on_saved_search_removed (SearchesBranch* self, SavedSearch* search); +static void _searches_branch_on_saved_search_removed_saved_search_table_search_removed (SavedSearchTable* _sender, SavedSearch* search, gpointer self); +SearchesBranch* searches_branch_new (void); +SearchesBranch* searches_branch_construct (GType object_type); +SearchesHeader* searches_header_new (void); +SearchesHeader* searches_header_construct (GType object_type); +GType sidebar_grouping_get_type (void) G_GNUC_CONST; +GType sidebar_header_get_type (void) G_GNUC_CONST; +GType searches_header_get_type (void) G_GNUC_CONST; +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_branch_options_get_type (void) G_GNUC_CONST; +static gint searches_branch_comparator (SidebarEntry* a, SidebarEntry* b); +static gint _searches_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b); +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +GeeCollection* saved_search_table_get_all (SavedSearchTable* self); +SearchesSidebarEntry* searches_branch_get_entry_for_saved_search (SearchesBranch* self, SavedSearch* search); +gint saved_search_compare_names (void* a, void* b); +SavedSearch* searches_sidebar_entry_for_saved_search (SearchesSidebarEntry* self); +SearchesSidebarEntry* searches_sidebar_entry_new (SavedSearch* search); +SearchesSidebarEntry* searches_sidebar_entry_construct (GType object_type, SavedSearch* search); +void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator); +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self); +void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry); +static void searches_branch_finalize (GObject* obj); +GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_emphasizable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +#define SEARCHES_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCHES_TYPE_HEADER, SearchesHeaderPrivate)) +enum { + SEARCHES_HEADER_DUMMY_PROPERTY +}; +SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized); +SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized); +static void searches_header_setup_context_menu (SearchesHeader* self); +#define TRANSLATABLE "translatable" +static void searches_header_on_new_search (SearchesHeader* self); +static void _searches_header_on_new_search_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add146 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +GFile* resources_get_ui (const gchar* filename); +void app_window_error_message (const gchar* message, GtkWindow* parent); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +void application_panic (Application* self); +static GtkMenu* searches_header_real_get_sidebar_context_menu (SidebarContextable* base, GdkEventButton* event); +SavedSearchDialog* saved_search_dialog_new (void); +SavedSearchDialog* saved_search_dialog_construct (GType object_type); +gpointer saved_search_dialog_ref (gpointer instance); +void saved_search_dialog_unref (gpointer instance); +GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_saved_search_dialog (GValue* value, gpointer v_object); +void value_take_saved_search_dialog (GValue* value, gpointer v_object); +gpointer value_get_saved_search_dialog (const GValue* value); +GType saved_search_dialog_get_type (void) G_GNUC_CONST; +void saved_search_dialog_show (SavedSearchDialog* self); +static void searches_header_finalize (GObject* obj); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_destroyable_entry_get_type (void) G_GNUC_CONST; +#define SEARCHES_SIDEBAR_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryPrivate)) +enum { + SEARCHES_SIDEBAR_ENTRY_DUMMY_PROPERTY +}; +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type); +void searches_sidebar_entry_init (void); +void searches_sidebar_entry_terminate (void); +static gchar* searches_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +gchar* data_object_get_name (DataObject* self); +static gchar* searches_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static Page* searches_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +SavedSearchPage* saved_search_page_new (SavedSearch* search); +SavedSearchPage* saved_search_page_construct (GType object_type, SavedSearch* search); +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; +GType saved_search_page_get_type (void) G_GNUC_CONST; +static gboolean searches_sidebar_entry_real_is_user_renameable (SidebarRenameableEntry* base); +static void searches_sidebar_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name); +gboolean saved_search_table_exists (SavedSearchTable* self, const gchar* search_name); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +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); +GType page_command_get_type (void) G_GNUC_CONST; +GType single_data_source_command_get_type (void) G_GNUC_CONST; +GType rename_saved_search_command_get_type (void) G_GNUC_CONST; +gchar* resources_rename_search_exists_message (const gchar* name); +static void searches_sidebar_entry_real_destroy_source (SidebarDestroyableEntry* base); +gboolean dialogs_confirm_delete_saved_search (SavedSearch* search); +DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search); +DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type, SavedSearch* search); +GType delete_saved_search_command_get_type (void) G_GNUC_CONST; +static void searches_sidebar_entry_finalize (GObject* obj); + + +static void _searches_branch_on_saved_search_added_saved_search_table_search_added (SavedSearchTable* _sender, SavedSearch* search, gpointer self) { +#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_branch_on_saved_search_added ((SearchesBranch*) self, search); +#line 637 "Branch.c" +} + + +static void _searches_branch_on_saved_search_removed_saved_search_table_search_removed (SavedSearchTable* _sender, SavedSearch* search, gpointer self) { +#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_branch_on_saved_search_removed ((SearchesBranch*) self, search); +#line 644 "Branch.c" +} + + +static gint _searches_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = searches_branch_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 653 "Branch.c" +} + + +SearchesBranch* searches_branch_construct (GType object_type) { + SearchesBranch * self = NULL; + SearchesHeader* _tmp0_ = NULL; + SearchesHeader* _tmp1_ = NULL; + SavedSearchTable* _tmp13_ = NULL; + SavedSearchTable* _tmp14_ = NULL; + SavedSearchTable* _tmp15_ = NULL; + SavedSearchTable* _tmp16_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = searches_header_new (); +#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = _tmp0_; +#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = (SearchesBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SIDEBAR_TYPE_ENTRY, SidebarEntry), (SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY | SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD) | SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD, _searches_branch_comparator_gcompare_func, NULL); +#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (_tmp1_); +#line 673 "Branch.c" + { + GeeIterator* _search_it = NULL; + SavedSearchTable* _tmp2_ = NULL; + SavedSearchTable* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_ = saved_search_table_get_instance (); +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp3_ = _tmp2_; +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4_ = saved_search_table_get_all (_tmp3_); +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp5_ = _tmp4_; +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp7_ = _tmp6_; +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (_tmp5_); +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _saved_search_table_unref0 (_tmp3_); +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _search_it = _tmp7_; +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + while (TRUE) { +#line 702 "Branch.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SavedSearch* search = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + SavedSearch* _tmp12_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp8_ = _search_it; +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + if (!_tmp9_) { +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + break; +#line 717 "Branch.c" + } +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp10_ = _search_it; +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + search = (SavedSearch*) _tmp11_; +#line 20 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp12_ = search; +#line 20 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_branch_on_saved_search_added (self, _tmp12_); +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (search); +#line 731 "Branch.c" + } +#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (_search_it); +#line 735 "Branch.c" + } +#line 23 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp13_ = saved_search_table_get_instance (); +#line 23 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp14_ = _tmp13_; +#line 23 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_signal_connect_object (_tmp14_, "search-added", (GCallback) _searches_branch_on_saved_search_added_saved_search_table_search_added, self, 0); +#line 23 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _saved_search_table_unref0 (_tmp14_); +#line 24 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp15_ = saved_search_table_get_instance (); +#line 24 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp16_ = _tmp15_; +#line 24 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_signal_connect_object (_tmp16_, "search-removed", (GCallback) _searches_branch_on_saved_search_removed_saved_search_table_search_removed, self, 0); +#line 24 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _saved_search_table_unref0 (_tmp16_); +#line 11 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return self; +#line 755 "Branch.c" +} + + +SearchesBranch* searches_branch_new (void) { +#line 11 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return searches_branch_construct (SEARCHES_TYPE_BRANCH); +#line 762 "Branch.c" +} + + +SearchesSidebarEntry* searches_branch_get_entry_for_saved_search (SearchesBranch* self, SavedSearch* search) { + SearchesSidebarEntry* result = NULL; + GeeHashMap* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 32 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_val_if_fail (SEARCHES_IS_BRANCH (self), NULL); +#line 32 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL); +#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = self->priv->entry_map; +#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = search; +#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = (SearchesSidebarEntry*) _tmp2_; +#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 785 "Branch.c" +} + + +static gint searches_branch_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SavedSearch* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SavedSearch* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 36 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 36 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 37 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = a; +#line 37 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = b; +#line 37 "/home/jens/Source/shotwell/src/searches/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 38 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = 0; +#line 38 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 812 "Branch.c" + } +#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_ = a; +#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp3_ = searches_sidebar_entry_for_saved_search (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry)); +#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4_ = b; +#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp5_ = searches_sidebar_entry_for_saved_search (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry)); +#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp6_ = saved_search_compare_names (_tmp3_, _tmp5_); +#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = _tmp6_; +#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 828 "Branch.c" +} + + +static void searches_branch_on_saved_search_added (SearchesBranch* self, SavedSearch* search) { + SearchesSidebarEntry* entry = NULL; + SavedSearch* _tmp0_ = NULL; + SearchesSidebarEntry* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + SavedSearch* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; +#line 44 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_if_fail (SEARCHES_IS_BRANCH (self)); +#line 44 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 45 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_debug ("Branch.vala:45: search added"); +#line 46 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = search; +#line 46 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = searches_sidebar_entry_new (_tmp0_); +#line 46 "/home/jens/Source/shotwell/src/searches/Branch.vala" + entry = _tmp1_; +#line 47 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_ = self->priv->entry_map; +#line 47 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp3_ = search; +#line 47 "/home/jens/Source/shotwell/src/searches/Branch.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_, entry); +#line 48 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 48 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp5_ = _tmp4_; +#line 48 "/home/jens/Source/shotwell/src/searches/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL); +#line 48 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (_tmp5_); +#line 44 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (entry); +#line 868 "Branch.c" +} + + +static void searches_branch_on_saved_search_removed (SearchesBranch* self, SavedSearch* search) { + SearchesSidebarEntry* entry = NULL; + GeeHashMap* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean is_removed = FALSE; + GeeHashMap* _tmp3_ = NULL; + SavedSearch* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 51 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_if_fail (SEARCHES_IS_BRANCH (self)); +#line 51 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 52 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_debug ("Branch.vala:52: search removed"); +#line 53 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = self->priv->entry_map; +#line 53 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = search; +#line 53 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 53 "/home/jens/Source/shotwell/src/searches/Branch.vala" + entry = (SearchesSidebarEntry*) _tmp2_; +#line 54 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _vala_assert (entry != NULL, "entry != null"); +#line 56 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp3_ = self->priv->entry_map; +#line 56 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4_ = search; +#line 56 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp5_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, NULL); +#line 56 "/home/jens/Source/shotwell/src/searches/Branch.vala" + is_removed = _tmp5_; +#line 57 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _vala_assert (is_removed, "is_removed"); +#line 59 "/home/jens/Source/shotwell/src/searches/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 51 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (entry); +#line 911 "Branch.c" +} + + +static void searches_branch_class_init (SearchesBranchClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_branch_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_type_class_add_private (klass, sizeof (SearchesBranchPrivate)); +#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = searches_branch_finalize; +#line 922 "Branch.c" +} + + +static void searches_branch_instance_init (SearchesBranch * self) { + GeeHashMap* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self->priv = SEARCHES_BRANCH_GET_PRIVATE (self); +#line 8 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = gee_hash_map_new (TYPE_SAVED_SEARCH, (GBoxedCopyFunc) g_object_ref, g_object_unref, SEARCHES_TYPE_SIDEBAR_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 8 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self->priv->entry_map = _tmp0_; +#line 934 "Branch.c" +} + + +static void searches_branch_finalize (GObject* obj) { + SearchesBranch * self; + SavedSearchTable* _tmp0_ = NULL; + SavedSearchTable* _tmp1_ = NULL; + guint _tmp2_ = 0U; + SavedSearchTable* _tmp3_ = NULL; + SavedSearchTable* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCHES_TYPE_BRANCH, SearchesBranch); +#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = saved_search_table_get_instance (); +#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = _tmp0_; +#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_signal_parse_name ("search-added", TYPE_SAVED_SEARCH_TABLE, &_tmp2_, NULL, FALSE); +#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _searches_branch_on_saved_search_added_saved_search_table_search_added, self); +#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _saved_search_table_unref0 (_tmp1_); +#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp3_ = saved_search_table_get_instance (); +#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4_ = _tmp3_; +#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_signal_parse_name ("search-removed", TYPE_SAVED_SEARCH_TABLE, &_tmp5_, NULL, FALSE); +#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _searches_branch_on_saved_search_removed_saved_search_table_search_removed, self); +#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _saved_search_table_unref0 (_tmp4_); +#line 8 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (self->priv->entry_map); +#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala" + G_OBJECT_CLASS (searches_branch_parent_class)->finalize (obj); +#line 972 "Branch.c" +} + + +GType searches_branch_get_type (void) { + static volatile gsize searches_branch_type_id__volatile = 0; + if (g_once_init_enter (&searches_branch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchesBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) searches_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchesBranch), 0, (GInstanceInitFunc) searches_branch_instance_init, NULL }; + GType searches_branch_type_id; + searches_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "SearchesBranch", &g_define_type_info, 0); + g_once_init_leave (&searches_branch_type_id__volatile, searches_branch_type_id); + } + return searches_branch_type_id__volatile; +} + + +SearchesHeader* searches_header_construct (GType object_type) { + SearchesHeader * self = NULL; + const gchar* _tmp0_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = _ ("Saved Searches"); +#line 68 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = (SearchesHeader*) sidebar_header_construct (object_type, _tmp0_, TRUE); +#line 69 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_header_setup_context_menu (self); +#line 67 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return self; +#line 999 "Branch.c" +} + + +SearchesHeader* searches_header_new (void) { +#line 67 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return searches_header_construct (SEARCHES_TYPE_HEADER); +#line 1006 "Branch.c" +} + + +static void _searches_header_on_new_search_gtk_action_callback (GtkAction* action, gpointer self) { +#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_header_on_new_search ((SearchesHeader*) self); +#line 1013 "Branch.c" +} + + +static void _vala_array_add146 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala" + if ((*length) == (*size)) { +#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1024 "Branch.c" + } +#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala" + (*array)[(*length)++] = *value; +#line 1028 "Branch.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return self ? g_object_ref (self) : NULL; +#line 1035 "Branch.c" +} + + +static void searches_header_setup_context_menu (SearchesHeader* self) { + GtkActionGroup* group = NULL; + GtkActionGroup* _tmp0_ = NULL; + GtkActionEntry* actions = NULL; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry new_search = {0}; + GtkActionEntry _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; + GtkActionEntry* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkUIManager* _tmp7_ = NULL; + GFile* ui_file = NULL; + GFile* _tmp8_ = NULL; + GtkUIManager* _tmp20_ = NULL; + GtkWidget* _tmp21_ = NULL; + GtkMenu* _tmp22_ = NULL; + GtkUIManager* _tmp23_ = NULL; + GError * _inner_error_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_if_fail (SEARCHES_IS_HEADER (self)); +#line 73 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = gtk_action_group_new ("SidebarDefault"); +#line 73 "/home/jens/Source/shotwell/src/searches/Branch.vala" + group = _tmp0_; +#line 74 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = g_new0 (GtkActionEntry, 0); +#line 74 "/home/jens/Source/shotwell/src/searches/Branch.vala" + actions = _tmp1_; +#line 74 "/home/jens/Source/shotwell/src/searches/Branch.vala" + actions_length1 = 0; +#line 74 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _actions_size_ = actions_length1; +#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_.name = "CommonNewSearch"; +#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_.stock_id = NULL; +#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_.label = TRANSLATABLE; +#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_.accelerator = NULL; +#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_.tooltip = NULL; +#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_.callback = (GCallback) _searches_header_on_new_search_gtk_action_callback; +#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala" + new_search = _tmp2_; +#line 77 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp3_ = _ ("Ne_w Saved Search..."); +#line 77 "/home/jens/Source/shotwell/src/searches/Branch.vala" + new_search.label = _tmp3_; +#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4_ = actions; +#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4__length1 = actions_length1; +#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp5_ = new_search; +#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _vala_array_add146 (&actions, &actions_length1, &_actions_size_, &_tmp5_); +#line 80 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp6_ = actions; +#line 80 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp6__length1 = actions_length1; +#line 80 "/home/jens/Source/shotwell/src/searches/Branch.vala" + gtk_action_group_add_actions (group, _tmp6_, _tmp6__length1, self); +#line 81 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp7_ = self->priv->ui; +#line 81 "/home/jens/Source/shotwell/src/searches/Branch.vala" + gtk_ui_manager_insert_action_group (_tmp7_, group, 0); +#line 83 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp8_ = resources_get_ui ("search_sidebar_context.ui"); +#line 83 "/home/jens/Source/shotwell/src/searches/Branch.vala" + ui_file = _tmp8_; +#line 1116 "Branch.c" + { + GtkUIManager* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp9_ = self->priv->ui; +#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp10_ = g_file_get_path (ui_file); +#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp11_ = _tmp10_; +#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala" + gtk_ui_manager_add_ui_from_file (_tmp9_, _tmp11_, &_inner_error_); +#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_free0 (_tmp11_); +#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1133 "Branch.c" + goto __catch73_g_error; + } + } + goto __finally73; + __catch73_g_error: + { + GError* err = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + Application* _tmp18_ = NULL; + Application* _tmp19_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + err = _inner_error_; +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _inner_error_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp12_ = g_file_get_path (ui_file); +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp13_ = _tmp12_; +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp14_ = err; +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp15_ = _tmp14_->message; +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp16_ = g_strdup_printf ("Error loading UI file %s: %s", _tmp13_, _tmp15_); +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp17_ = _tmp16_; +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + app_window_error_message (_tmp17_, NULL); +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_free0 (_tmp17_); +#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_free0 (_tmp13_); +#line 89 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp18_ = application_get_instance (); +#line 89 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp19_ = _tmp18_; +#line 89 "/home/jens/Source/shotwell/src/searches/Branch.vala" + application_panic (_tmp19_); +#line 89 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _application_unref0 (_tmp19_); +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_error_free0 (err); +#line 1181 "Branch.c" + } + __finally73: +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (ui_file); +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + actions = (g_free (actions), NULL); +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (group); +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.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 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_clear_error (&_inner_error_); +#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return; +#line 1198 "Branch.c" + } +#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp20_ = self->priv->ui; +#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp21_ = gtk_ui_manager_get_widget (_tmp20_, "/SidebarSearchContextMenu"); +#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_menu_get_type (), GtkMenu)); +#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (self->priv->context_menu); +#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self->priv->context_menu = _tmp22_; +#line 93 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp23_ = self->priv->ui; +#line 93 "/home/jens/Source/shotwell/src/searches/Branch.vala" + gtk_ui_manager_ensure_update (_tmp23_); +#line 72 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (ui_file); +#line 72 "/home/jens/Source/shotwell/src/searches/Branch.vala" + actions = (g_free (actions), NULL); +#line 72 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (group); +#line 1220 "Branch.c" +} + + +static GtkMenu* searches_header_real_get_sidebar_context_menu (SidebarContextable* base, GdkEventButton* event) { + SearchesHeader * self; + GtkMenu* result = NULL; + GtkMenu* _tmp0_ = NULL; + GtkMenu* _tmp1_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_HEADER, SearchesHeader); +#line 97 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = self->priv->context_menu; +#line 97 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 97 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = _tmp1_; +#line 97 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 1239 "Branch.c" +} + + +static void searches_header_on_new_search (SearchesHeader* self) { + SavedSearchDialog* _tmp0_ = NULL; + SavedSearchDialog* _tmp1_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_if_fail (SEARCHES_IS_HEADER (self)); +#line 101 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = saved_search_dialog_new (); +#line 101 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = _tmp0_; +#line 101 "/home/jens/Source/shotwell/src/searches/Branch.vala" + saved_search_dialog_show (_tmp1_); +#line 101 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _saved_search_dialog_unref0 (_tmp1_); +#line 1256 "Branch.c" +} + + +static void searches_header_class_init (SearchesHeaderClass * klass) { +#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_header_parent_class = g_type_class_peek_parent (klass); +#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_type_class_add_private (klass, sizeof (SearchesHeaderPrivate)); +#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = searches_header_finalize; +#line 1267 "Branch.c" +} + + +static void searches_header_sidebar_contextable_interface_init (SidebarContextableIface * iface) { +#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_header_sidebar_contextable_parent_iface = g_type_interface_peek_parent (iface); +#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala" + iface->get_sidebar_context_menu = (GtkMenu* (*)(SidebarContextable*, GdkEventButton*)) searches_header_real_get_sidebar_context_menu; +#line 1276 "Branch.c" +} + + +static void searches_header_instance_init (SearchesHeader * self) { + GtkUIManager* _tmp0_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self->priv = SEARCHES_HEADER_GET_PRIVATE (self); +#line 64 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = gtk_ui_manager_new (); +#line 64 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self->priv->ui = _tmp0_; +#line 65 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self->priv->context_menu = NULL; +#line 1290 "Branch.c" +} + + +static void searches_header_finalize (GObject* obj) { + SearchesHeader * self; +#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCHES_TYPE_HEADER, SearchesHeader); +#line 64 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (self->priv->ui); +#line 65 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (self->priv->context_menu); +#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala" + G_OBJECT_CLASS (searches_header_parent_class)->finalize (obj); +#line 1304 "Branch.c" +} + + +GType searches_header_get_type (void) { + static volatile gsize searches_header_type_id__volatile = 0; + if (g_once_init_enter (&searches_header_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchesHeaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) searches_header_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchesHeader), 0, (GInstanceInitFunc) searches_header_instance_init, NULL }; + static const GInterfaceInfo sidebar_contextable_info = { (GInterfaceInitFunc) searches_header_sidebar_contextable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType searches_header_type_id; + searches_header_type_id = g_type_register_static (SIDEBAR_TYPE_HEADER, "SearchesHeader", &g_define_type_info, 0); + g_type_add_interface_static (searches_header_type_id, SIDEBAR_TYPE_CONTEXTABLE, &sidebar_contextable_info); + g_once_init_leave (&searches_header_type_id__volatile, searches_header_type_id); + } + return searches_header_type_id__volatile; +} + + +SearchesSidebarEntry* searches_sidebar_entry_construct (GType object_type, SavedSearch* search) { + SearchesSidebarEntry * self = NULL; + SavedSearch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL); +#line 111 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = (SearchesSidebarEntry*) sidebar_simple_page_entry_construct (object_type); +#line 112 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = search; +#line 112 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 112 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (self->priv->search); +#line 112 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self->priv->search = _tmp1_; +#line 111 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return self; +#line 1340 "Branch.c" +} + + +SearchesSidebarEntry* searches_sidebar_entry_new (SavedSearch* search) { +#line 111 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return searches_sidebar_entry_construct (SEARCHES_TYPE_SIDEBAR_ENTRY, search); +#line 1347 "Branch.c" +} + + +void searches_sidebar_entry_init (void) { +} + + +void searches_sidebar_entry_terminate (void) { +} + + +SavedSearch* searches_sidebar_entry_for_saved_search (SearchesSidebarEntry* self) { + SavedSearch* result = NULL; + SavedSearch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_val_if_fail (SEARCHES_IS_SIDEBAR_ENTRY (self), NULL); +#line 122 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = self->priv->search; +#line 122 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 122 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = _tmp1_; +#line 122 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 1373 "Branch.c" +} + + +static gchar* searches_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + SearchesSidebarEntry * self; + gchar* result = NULL; + SavedSearch* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry); +#line 126 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = self->priv->search; +#line 126 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 126 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = _tmp1_; +#line 126 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 1392 "Branch.c" +} + + +static gchar* searches_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + SearchesSidebarEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry); +#line 130 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = searches_sidebar_entry_single_search_icon; +#line 130 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 130 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = _tmp1_; +#line 130 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 1411 "Branch.c" +} + + +static Page* searches_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + SearchesSidebarEntry * self; + Page* result = NULL; + SavedSearch* _tmp0_ = NULL; + SavedSearchPage* _tmp1_ = NULL; +#line 133 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry); +#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = self->priv->search; +#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = saved_search_page_new (_tmp0_); +#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_object_ref_sink (_tmp1_); +#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 1432 "Branch.c" +} + + +static gboolean searches_sidebar_entry_real_is_user_renameable (SidebarRenameableEntry* base) { + SearchesSidebarEntry * self; + gboolean result = FALSE; +#line 137 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry); +#line 138 "/home/jens/Source/shotwell/src/searches/Branch.vala" + result = TRUE; +#line 138 "/home/jens/Source/shotwell/src/searches/Branch.vala" + return result; +#line 1445 "Branch.c" +} + + +static void searches_sidebar_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name) { + SearchesSidebarEntry * self; + SavedSearchTable* _tmp0_ = NULL; + SavedSearchTable* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 141 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry); +#line 141 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_return_if_fail (new_name != NULL); +#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = saved_search_table_get_instance (); +#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = _tmp0_; +#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_ = new_name; +#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp3_ = saved_search_table_exists (_tmp1_, _tmp2_); +#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4_ = !_tmp3_; +#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _saved_search_table_unref0 (_tmp1_); +#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala" + if (_tmp4_) { +#line 1474 "Branch.c" + CommandManager* _tmp5_ = NULL; + CommandManager* _tmp6_ = NULL; + SavedSearch* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + RenameSavedSearchCommand* _tmp9_ = NULL; + RenameSavedSearchCommand* _tmp10_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp5_ = app_window_get_command_manager (); +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp6_ = _tmp5_; +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp7_ = self->priv->search; +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp8_ = new_name; +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp9_ = rename_saved_search_command_new (_tmp7_, _tmp8_); +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp10_ = _tmp9_; +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + command_manager_execute (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_COMMAND, Command)); +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (_tmp10_); +#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _command_manager_unref0 (_tmp6_); +#line 1499 "Branch.c" + } else { + const gchar* _tmp11_ = NULL; + SavedSearch* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp11_ = new_name; +#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp12_ = self->priv->search; +#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp13_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject)); +#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp14_ = _tmp13_; +#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp15_ = g_strcmp0 (_tmp11_, _tmp14_) != 0; +#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_free0 (_tmp14_); +#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala" + if (_tmp15_) { +#line 1520 "Branch.c" + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp16_ = new_name; +#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp17_ = resources_rename_search_exists_message (_tmp16_); +#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp18_ = _tmp17_; +#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala" + app_window_error_message (_tmp18_, NULL); +#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_free0 (_tmp18_); +#line 1534 "Branch.c" + } + } +} + + +static void searches_sidebar_entry_real_destroy_source (SidebarDestroyableEntry* base) { + SearchesSidebarEntry * self; + SavedSearch* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 148 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry); +#line 149 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = self->priv->search; +#line 149 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp1_ = dialogs_confirm_delete_saved_search (_tmp0_); +#line 149 "/home/jens/Source/shotwell/src/searches/Branch.vala" + if (_tmp1_) { +#line 1552 "Branch.c" + CommandManager* _tmp2_ = NULL; + CommandManager* _tmp3_ = NULL; + SavedSearch* _tmp4_ = NULL; + DeleteSavedSearchCommand* _tmp5_ = NULL; + DeleteSavedSearchCommand* _tmp6_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp2_ = app_window_get_command_manager (); +#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp3_ = _tmp2_; +#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp4_ = self->priv->search; +#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp5_ = delete_saved_search_command_new (_tmp4_); +#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp6_ = _tmp5_; +#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala" + command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_COMMAND, Command)); +#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (_tmp6_); +#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _command_manager_unref0 (_tmp3_); +#line 1574 "Branch.c" + } +} + + +static void searches_sidebar_entry_class_init (SearchesSidebarEntryClass * klass) { + gchar* _tmp0_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + g_type_class_add_private (klass, sizeof (SearchesSidebarEntryPrivate)); +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = searches_sidebar_entry_real_get_sidebar_name; +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = searches_sidebar_entry_real_get_sidebar_icon; +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = searches_sidebar_entry_real_create_page; +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = searches_sidebar_entry_finalize; +#line 107 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _tmp0_ = g_strdup ("find"); +#line 107 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_sidebar_entry_single_search_icon = _tmp0_; +#line 1597 "Branch.c" +} + + +static void searches_sidebar_entry_sidebar_renameable_entry_interface_init (SidebarRenameableEntryIface * iface) { +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_sidebar_entry_sidebar_renameable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + iface->is_user_renameable = (gboolean (*)(SidebarRenameableEntry*)) searches_sidebar_entry_real_is_user_renameable; +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + iface->rename = (void (*)(SidebarRenameableEntry*, const gchar*)) searches_sidebar_entry_real_rename; +#line 1608 "Branch.c" +} + + +static void searches_sidebar_entry_sidebar_destroyable_entry_interface_init (SidebarDestroyableEntryIface * iface) { +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + searches_sidebar_entry_sidebar_destroyable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + iface->destroy_source = (void (*)(SidebarDestroyableEntry*)) searches_sidebar_entry_real_destroy_source; +#line 1617 "Branch.c" +} + + +static void searches_sidebar_entry_instance_init (SearchesSidebarEntry * self) { +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self->priv = SEARCHES_SIDEBAR_ENTRY_GET_PRIVATE (self); +#line 1624 "Branch.c" +} + + +static void searches_sidebar_entry_finalize (GObject* obj) { + SearchesSidebarEntry * self; +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry); +#line 109 "/home/jens/Source/shotwell/src/searches/Branch.vala" + _g_object_unref0 (self->priv->search); +#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala" + G_OBJECT_CLASS (searches_sidebar_entry_parent_class)->finalize (obj); +#line 1636 "Branch.c" +} + + +GType searches_sidebar_entry_get_type (void) { + static volatile gsize searches_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&searches_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchesSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) searches_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchesSidebarEntry), 0, (GInstanceInitFunc) searches_sidebar_entry_instance_init, NULL }; + static const GInterfaceInfo sidebar_renameable_entry_info = { (GInterfaceInitFunc) searches_sidebar_entry_sidebar_renameable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_destroyable_entry_info = { (GInterfaceInitFunc) searches_sidebar_entry_sidebar_destroyable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType searches_sidebar_entry_type_id; + searches_sidebar_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "SearchesSidebarEntry", &g_define_type_info, 0); + g_type_add_interface_static (searches_sidebar_entry_type_id, SIDEBAR_TYPE_RENAMEABLE_ENTRY, &sidebar_renameable_entry_info); + g_type_add_interface_static (searches_sidebar_entry_type_id, SIDEBAR_TYPE_DESTROYABLE_ENTRY, &sidebar_destroyable_entry_info); + g_once_init_leave (&searches_sidebar_entry_type_id__volatile, searches_sidebar_entry_type_id); + } + return searches_sidebar_entry_type_id__volatile; +} + + + diff --git a/src/searches/SavedSearchDialog.c b/src/searches/SavedSearchDialog.c new file mode 100644 index 0000000..4731710 --- /dev/null +++ b/src/searches/SavedSearchDialog.c @@ -0,0 +1,6493 @@ +/* SavedSearchDialog.c generated by valac 0.32.1, the Vala compiler + * generated from SavedSearchDialog.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. + */ +/* This dialog displays a boolean search configuration.*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ()) +#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog)) +#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) +#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG)) +#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG)) +#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) + +typedef struct _SavedSearchDialog SavedSearchDialog; +typedef struct _SavedSearchDialogClass SavedSearchDialogClass; +typedef struct _SavedSearchDialogPrivate SavedSearchDialogPrivate; + +#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER (saved_search_dialog_search_row_container_get_type ()) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainer)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainerClass)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainerClass)) + +typedef struct _SavedSearchDialogSearchRowContainer SavedSearchDialogSearchRowContainer; +typedef struct _SavedSearchDialogSearchRowContainerClass SavedSearchDialogSearchRowContainerClass; + +#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_SAVED_SEARCH (saved_search_get_type ()) +#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch)) +#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass)) +#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH)) +#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH)) +#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass)) + +typedef struct _SavedSearch SavedSearch; +typedef struct _SavedSearchClass SavedSearchClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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 _g_free0(var) (var = (g_free (var), NULL)) +#define _saved_search_table_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_table_unref (var), NULL))) +#define _saved_search_dialog_search_row_container_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_search_row_container_unref (var), NULL))) + +#define TYPE_SEARCH_OPERATOR (search_operator_get_type ()) + +#define TYPE_SEARCH_CONDITION (search_condition_get_type ()) +#define SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION, SearchCondition)) +#define SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION, SearchConditionClass)) +#define IS_SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION)) +#define IS_SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION)) +#define SEARCH_CONDITION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION, SearchConditionClass)) + +typedef struct _SearchCondition SearchCondition; +typedef struct _SearchConditionClass SearchConditionClass; +#define _search_condition_unref0(var) ((var == NULL) ? NULL : (var = (search_condition_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; +typedef struct _SavedSearchDialogSearchRowContainerPrivate SavedSearchDialogSearchRowContainerPrivate; + +#define SEARCH_CONDITION_TYPE_SEARCH_TYPE (search_condition_search_type_get_type ()) + +#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW (saved_search_dialog_search_row_get_type ()) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRowClass)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRowClass)) + +typedef struct _SavedSearchDialogSearchRow SavedSearchDialogSearchRow; +typedef struct _SavedSearchDialogSearchRowClass SavedSearchDialogSearchRowClass; +#define _saved_search_dialog_search_row_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_search_row_unref (var), NULL))) + +#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT (saved_search_dialog_search_row_text_get_type ()) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowTextClass)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowTextClass)) + +typedef struct _SavedSearchDialogSearchRowText SavedSearchDialogSearchRowText; +typedef struct _SavedSearchDialogSearchRowTextClass SavedSearchDialogSearchRowTextClass; + +#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE (saved_search_dialog_search_row_media_type_get_type ()) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaTypeClass)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaTypeClass)) + +typedef struct _SavedSearchDialogSearchRowMediaType SavedSearchDialogSearchRowMediaType; +typedef struct _SavedSearchDialogSearchRowMediaTypeClass SavedSearchDialogSearchRowMediaTypeClass; + +#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED (saved_search_dialog_search_row_flagged_get_type ()) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlaggedClass)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlaggedClass)) + +typedef struct _SavedSearchDialogSearchRowFlagged SavedSearchDialogSearchRowFlagged; +typedef struct _SavedSearchDialogSearchRowFlaggedClass SavedSearchDialogSearchRowFlaggedClass; + +#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED (saved_search_dialog_search_row_modified_get_type ()) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModifiedClass)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModifiedClass)) + +typedef struct _SavedSearchDialogSearchRowModified SavedSearchDialogSearchRowModified; +typedef struct _SavedSearchDialogSearchRowModifiedClass SavedSearchDialogSearchRowModifiedClass; + +#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING (saved_search_dialog_search_row_rating_get_type ()) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRatingClass)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRatingClass)) + +typedef struct _SavedSearchDialogSearchRowRating SavedSearchDialogSearchRowRating; +typedef struct _SavedSearchDialogSearchRowRatingClass SavedSearchDialogSearchRowRatingClass; + +#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE (saved_search_dialog_search_row_date_get_type ()) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDateClass)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE)) +#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE)) +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDateClass)) + +typedef struct _SavedSearchDialogSearchRowDate SavedSearchDialogSearchRowDate; +typedef struct _SavedSearchDialogSearchRowDateClass SavedSearchDialogSearchRowDateClass; +typedef struct _SavedSearchDialogParamSpecSearchRowContainer SavedSearchDialogParamSpecSearchRowContainer; +typedef struct _SavedSearchDialogSearchRowPrivate SavedSearchDialogSearchRowPrivate; +typedef struct _SavedSearchDialogParamSpecSearchRow SavedSearchDialogParamSpecSearchRow; +typedef struct _SavedSearchDialogSearchRowTextPrivate SavedSearchDialogSearchRowTextPrivate; + +#define SEARCH_CONDITION_TEXT_TYPE_CONTEXT (search_condition_text_context_get_type ()) + +#define TYPE_SEARCH_CONDITION_TEXT (search_condition_text_get_type ()) +#define SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionText)) +#define SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass)) +#define IS_SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_TEXT)) +#define IS_SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_TEXT)) +#define SEARCH_CONDITION_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass)) + +typedef struct _SearchConditionText SearchConditionText; +typedef struct _SearchConditionTextClass SearchConditionTextClass; +typedef struct _SavedSearchDialogSearchRowMediaTypePrivate SavedSearchDialogSearchRowMediaTypePrivate; + +#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_CONTEXT (search_condition_media_type_context_get_type ()) + +#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_MEDIA_TYPE (search_condition_media_type_media_type_get_type ()) + +#define TYPE_SEARCH_CONDITION_MEDIA_TYPE (search_condition_media_type_get_type ()) +#define SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType)) +#define SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass)) +#define IS_SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE)) +#define IS_SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE)) +#define SEARCH_CONDITION_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass)) + +typedef struct _SearchConditionMediaType SearchConditionMediaType; +typedef struct _SearchConditionMediaTypeClass SearchConditionMediaTypeClass; +typedef struct _SavedSearchDialogSearchRowModifiedPrivate SavedSearchDialogSearchRowModifiedPrivate; + +#define SEARCH_CONDITION_MODIFIED_TYPE_CONTEXT (search_condition_modified_context_get_type ()) + +#define SEARCH_CONDITION_MODIFIED_TYPE_STATE (search_condition_modified_state_get_type ()) + +#define TYPE_SEARCH_CONDITION_MODIFIED (search_condition_modified_get_type ()) +#define SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified)) +#define SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass)) +#define IS_SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MODIFIED)) +#define IS_SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MODIFIED)) +#define SEARCH_CONDITION_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass)) + +typedef struct _SearchConditionModified SearchConditionModified; +typedef struct _SearchConditionModifiedClass SearchConditionModifiedClass; +typedef struct _SavedSearchDialogSearchRowFlaggedPrivate SavedSearchDialogSearchRowFlaggedPrivate; + +#define SEARCH_CONDITION_FLAGGED_TYPE_STATE (search_condition_flagged_state_get_type ()) + +#define TYPE_SEARCH_CONDITION_FLAGGED (search_condition_flagged_get_type ()) +#define SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged)) +#define SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass)) +#define IS_SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_FLAGGED)) +#define IS_SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_FLAGGED)) +#define SEARCH_CONDITION_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass)) + +typedef struct _SearchConditionFlagged SearchConditionFlagged; +typedef struct _SearchConditionFlaggedClass SearchConditionFlaggedClass; +typedef struct _SavedSearchDialogSearchRowRatingPrivate SavedSearchDialogSearchRowRatingPrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define SEARCH_CONDITION_RATING_TYPE_CONTEXT (search_condition_rating_context_get_type ()) + +#define TYPE_SEARCH_CONDITION_RATING (search_condition_rating_get_type ()) +#define SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRating)) +#define SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass)) +#define IS_SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_RATING)) +#define IS_SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_RATING)) +#define SEARCH_CONDITION_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass)) + +typedef struct _SearchConditionRating SearchConditionRating; +typedef struct _SearchConditionRatingClass SearchConditionRatingClass; +typedef struct _SavedSearchDialogSearchRowDatePrivate SavedSearchDialogSearchRowDatePrivate; + +#define SEARCH_CONDITION_DATE_TYPE_CONTEXT (search_condition_date_context_get_type ()) +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) + +#define TYPE_SEARCH_CONDITION_DATE (search_condition_date_get_type ()) +#define SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDate)) +#define SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass)) +#define IS_SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_DATE)) +#define IS_SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_DATE)) +#define SEARCH_CONDITION_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass)) + +typedef struct _SearchConditionDate SearchConditionDate; +typedef struct _SearchConditionDateClass SearchConditionDateClass; +typedef struct _Block9Data Block9Data; +typedef struct _ParamSpecSavedSearchDialog ParamSpecSavedSearchDialog; +#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 _SavedSearchDialog { + GTypeInstance parent_instance; + volatile int ref_count; + SavedSearchDialogPrivate * priv; +}; + +struct _SavedSearchDialogClass { + GTypeClass parent_class; + void (*finalize) (SavedSearchDialog *self); +}; + +struct _SavedSearchDialogPrivate { + GtkBuilder* builder; + GtkDialog* dialog; + GtkButton* add_criteria; + GtkComboBoxText* operator; + GtkBox* row_box; + GtkEntry* search_title; + GeeArrayList* row_list; + gboolean edit_mode; + SavedSearch* previous_search; + gboolean valid; +}; + +typedef enum { + SEARCH_OPERATOR_ANY = 0, + SEARCH_OPERATOR_ALL, + SEARCH_OPERATOR_NONE +} SearchOperator; + +struct _SavedSearchDialogSearchRowContainer { + GTypeInstance parent_instance; + volatile int ref_count; + SavedSearchDialogSearchRowContainerPrivate * priv; +}; + +struct _SavedSearchDialogSearchRowContainerClass { + GTypeClass parent_class; + void (*finalize) (SavedSearchDialogSearchRowContainer *self); +}; + +typedef enum { + SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT = 0, + SEARCH_CONDITION_SEARCH_TYPE_TITLE, + SEARCH_CONDITION_SEARCH_TYPE_TAG, + SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME, + SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME, + SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE, + SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE, + SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE, + SEARCH_CONDITION_SEARCH_TYPE_RATING, + SEARCH_CONDITION_SEARCH_TYPE_COMMENT, + SEARCH_CONDITION_SEARCH_TYPE_DATE +} SearchConditionSearchType; + +struct _SavedSearchDialogSearchRowContainerPrivate { + GtkComboBoxText* type_combo; + GtkBox* box; + GtkAlignment* align; + GtkButton* remove_button; + SearchConditionSearchType* search_types; + gint search_types_length1; + gint _search_types_size_; + GeeHashMap* search_types_index; + SavedSearchDialogSearchRow* my_row; +}; + +struct _SavedSearchDialogParamSpecSearchRowContainer { + GParamSpec parent_instance; +}; + +struct _SavedSearchDialogSearchRow { + GTypeInstance parent_instance; + volatile int ref_count; + SavedSearchDialogSearchRowPrivate * priv; +}; + +struct _SavedSearchDialogSearchRowClass { + GTypeClass parent_class; + void (*finalize) (SavedSearchDialogSearchRow *self); + GtkWidget* (*get_widget) (SavedSearchDialogSearchRow* self); + SearchCondition* (*get_search_condition) (SavedSearchDialogSearchRow* self); + void (*populate) (SavedSearchDialogSearchRow* self, SearchCondition* sc); + gboolean (*is_complete) (SavedSearchDialogSearchRow* self); +}; + +struct _SavedSearchDialogParamSpecSearchRow { + GParamSpec parent_instance; +}; + +struct _SavedSearchDialogSearchRowText { + SavedSearchDialogSearchRow parent_instance; + SavedSearchDialogSearchRowTextPrivate * priv; +}; + +struct _SavedSearchDialogSearchRowTextClass { + SavedSearchDialogSearchRowClass parent_class; +}; + +struct _SavedSearchDialogSearchRowTextPrivate { + GtkBox* box; + GtkComboBoxText* text_context; + GtkEntry* entry; + SavedSearchDialogSearchRowContainer* parent; +}; + +typedef enum { + SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS = 0, + SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY, + SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH, + SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH, + SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN, + SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET, + SEARCH_CONDITION_TEXT_CONTEXT_IS_SET +} SearchConditionTextContext; + +struct _SavedSearchDialogSearchRowMediaType { + SavedSearchDialogSearchRow parent_instance; + SavedSearchDialogSearchRowMediaTypePrivate * priv; +}; + +struct _SavedSearchDialogSearchRowMediaTypeClass { + SavedSearchDialogSearchRowClass parent_class; +}; + +struct _SavedSearchDialogSearchRowMediaTypePrivate { + GtkBox* box; + GtkComboBoxText* media_context; + GtkComboBoxText* media_type; + SavedSearchDialogSearchRowContainer* parent; +}; + +typedef enum { + SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS = 0, + SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT +} SearchConditionMediaTypeContext; + +typedef enum { + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL = 0, + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW, + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO +} SearchConditionMediaTypeMediaType; + +struct _SavedSearchDialogSearchRowModified { + SavedSearchDialogSearchRow parent_instance; + SavedSearchDialogSearchRowModifiedPrivate * priv; +}; + +struct _SavedSearchDialogSearchRowModifiedClass { + SavedSearchDialogSearchRowClass parent_class; +}; + +struct _SavedSearchDialogSearchRowModifiedPrivate { + GtkBox* box; + GtkComboBoxText* modified_context; + GtkComboBoxText* modified_state; + SavedSearchDialogSearchRowContainer* parent; +}; + +typedef enum { + SEARCH_CONDITION_MODIFIED_CONTEXT_HAS = 0, + SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO +} SearchConditionModifiedContext; + +typedef enum { + SEARCH_CONDITION_MODIFIED_STATE_MODIFIED = 0, + SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES, + SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES +} SearchConditionModifiedState; + +struct _SavedSearchDialogSearchRowFlagged { + SavedSearchDialogSearchRow parent_instance; + SavedSearchDialogSearchRowFlaggedPrivate * priv; +}; + +struct _SavedSearchDialogSearchRowFlaggedClass { + SavedSearchDialogSearchRowClass parent_class; +}; + +struct _SavedSearchDialogSearchRowFlaggedPrivate { + GtkBox* box; + GtkComboBoxText* flagged_state; + SavedSearchDialogSearchRowContainer* parent; +}; + +typedef enum { + SEARCH_CONDITION_FLAGGED_STATE_FLAGGED = 0, + SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED +} SearchConditionFlaggedState; + +struct _SavedSearchDialogSearchRowRating { + SavedSearchDialogSearchRow parent_instance; + SavedSearchDialogSearchRowRatingPrivate * priv; +}; + +struct _SavedSearchDialogSearchRowRatingClass { + SavedSearchDialogSearchRowClass parent_class; +}; + +struct _SavedSearchDialogSearchRowRatingPrivate { + GtkBox* box; + GtkComboBoxText* rating; + GtkComboBoxText* context; + SavedSearchDialogSearchRowContainer* parent; +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER = 0, + SEARCH_CONDITION_RATING_CONTEXT_ONLY, + SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER +} SearchConditionRatingContext; + +struct _SavedSearchDialogSearchRowDate { + SavedSearchDialogSearchRow parent_instance; + SavedSearchDialogSearchRowDatePrivate * priv; +}; + +struct _SavedSearchDialogSearchRowDateClass { + SavedSearchDialogSearchRowClass parent_class; +}; + +struct _SavedSearchDialogSearchRowDatePrivate { + GtkBox* box; + GtkComboBoxText* context; + GtkButton* label_one; + GtkButton* label_two; + GtkCalendar* cal_one; + GtkCalendar* cal_two; + GtkLabel* and; + SavedSearchDialogSearchRowContainer* parent; +}; + +typedef enum { + SEARCH_CONDITION_DATE_CONTEXT_EXACT = 0, + SEARCH_CONDITION_DATE_CONTEXT_AFTER, + SEARCH_CONDITION_DATE_CONTEXT_BEFORE, + SEARCH_CONDITION_DATE_CONTEXT_BETWEEN, + SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET +} SearchConditionDateContext; + +struct _Block9Data { + int _ref_count_; + SavedSearchDialogSearchRowDate* self; + GtkDialog* d; +}; + +struct _ParamSpecSavedSearchDialog { + GParamSpec parent_instance; +}; + + +static gpointer saved_search_dialog_parent_class = NULL; +static gpointer saved_search_dialog_search_row_container_parent_class = NULL; +static gpointer saved_search_dialog_search_row_parent_class = NULL; +static gpointer saved_search_dialog_search_row_text_parent_class = NULL; +static gpointer saved_search_dialog_search_row_media_type_parent_class = NULL; +static gpointer saved_search_dialog_search_row_modified_parent_class = NULL; +static gpointer saved_search_dialog_search_row_flagged_parent_class = NULL; +static gpointer saved_search_dialog_search_row_rating_parent_class = NULL; +static gpointer saved_search_dialog_search_row_date_parent_class = NULL; + +gpointer saved_search_dialog_ref (gpointer instance); +void saved_search_dialog_unref (gpointer instance); +GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_saved_search_dialog (GValue* value, gpointer v_object); +void value_take_saved_search_dialog (GValue* value, gpointer v_object); +gpointer value_get_saved_search_dialog (const GValue* value); +GType saved_search_dialog_get_type (void) G_GNUC_CONST; +static gpointer saved_search_dialog_search_row_container_ref (gpointer instance); +static void saved_search_dialog_search_row_container_unref (gpointer instance); +static GParamSpec* saved_search_dialog_param_spec_search_row_container (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void saved_search_dialog_value_set_search_row_container (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void saved_search_dialog_value_take_search_row_container (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer saved_search_dialog_value_get_search_row_container (const GValue* value) G_GNUC_UNUSED; +static GType saved_search_dialog_search_row_container_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType saved_search_get_type (void) G_GNUC_CONST; +#define SAVED_SEARCH_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogPrivate)) +enum { + SAVED_SEARCH_DIALOG_DUMMY_PROPERTY +}; +static void saved_search_dialog_on_title_changed (SavedSearchDialog* self); +static void _saved_search_dialog_on_title_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +SavedSearchDialog* saved_search_dialog_new (void); +SavedSearchDialog* saved_search_dialog_construct (GType object_type); +static void saved_search_dialog_setup_dialog (SavedSearchDialog* self); +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); +gchar* saved_search_table_generate_unique_name (SavedSearchTable* self); +static void saved_search_dialog_add_text_search (SavedSearchDialog* self); +static void saved_search_dialog_search_row_container_allow_removal (SavedSearchDialogSearchRowContainer* self, gboolean allow); +static void saved_search_dialog_set_valid (SavedSearchDialog* self, gboolean v); +SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search); +SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type, SavedSearch* saved_search); +GType search_operator_get_type (void) G_GNUC_CONST; +SearchOperator saved_search_get_operator (SavedSearch* self); +gchar* data_object_get_name (DataObject* self); +gpointer search_condition_ref (gpointer instance); +void search_condition_unref (gpointer instance); +GParamSpec* param_spec_search_condition (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_search_condition (GValue* value, gpointer v_object); +void value_take_search_condition (GValue* value, gpointer v_object); +gpointer value_get_search_condition (const GValue* value); +GType search_condition_get_type (void) G_GNUC_CONST; +GeeList* saved_search_get_conditions (SavedSearch* self); +static void saved_search_dialog_add_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row); +static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_new_edit_existing (SearchCondition* sc); +static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct_edit_existing (GType object_type, SearchCondition* sc); +GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +AppWindow* app_window_get_instance (void); +static void saved_search_dialog_on_response (SavedSearchDialog* self, gint response_id); +static void _saved_search_dialog_on_response_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self); +static gboolean saved_search_dialog_on_add_criteria (SavedSearchDialog* self, GdkEventButton* event); +static gboolean _saved_search_dialog_on_add_criteria_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +void saved_search_dialog_show (SavedSearchDialog* self); +static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_new (void); +static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct (GType object_type); +static GtkWidget* saved_search_dialog_search_row_container_get_widget (SavedSearchDialogSearchRowContainer* self); +static void saved_search_dialog_on_remove_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row); +static void _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove (SavedSearchDialogSearchRowContainer* _sender, SavedSearchDialogSearchRowContainer* this_row, gpointer self); +static void saved_search_dialog_on_row_changed (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row); +static void _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed (SavedSearchDialogSearchRowContainer* _sender, SavedSearchDialogSearchRowContainer* this_row, gpointer self); +static gboolean saved_search_dialog_search_row_container_is_complete (SavedSearchDialogSearchRowContainer* self); +gboolean saved_search_table_exists (SavedSearchTable* self, const gchar* search_name); +void app_window_error_message (const gchar* message, GtkWindow* parent); +gchar* resources_rename_search_exists_message (const gchar* name); +void saved_search_table_remove (SavedSearchTable* self, SavedSearch* search); +static SearchCondition* saved_search_dialog_search_row_container_get_search_condition (SavedSearchDialogSearchRowContainer* self); +SavedSearch* saved_search_table_create (SavedSearchTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions); +static gboolean saved_search_dialog_is_title_valid (SavedSearchDialog* self); +GType search_condition_search_type_get_type (void) G_GNUC_CONST; +static gpointer saved_search_dialog_search_row_ref (gpointer instance); +static void saved_search_dialog_search_row_unref (gpointer instance); +static GParamSpec* saved_search_dialog_param_spec_search_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void saved_search_dialog_value_set_search_row (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void saved_search_dialog_value_take_search_row (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer saved_search_dialog_value_get_search_row (const GValue* value) G_GNUC_UNUSED; +static GType saved_search_dialog_search_row_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainerPrivate)) +enum { + SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_DUMMY_PROPERTY +}; +static void saved_search_dialog_search_row_container_setup_gui (SavedSearchDialogSearchRowContainer* self); +static void saved_search_dialog_search_row_container_set_type (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType type); +SearchConditionSearchType search_condition_get_search_type (SearchCondition* self); +static void saved_search_dialog_search_row_container_set_type_combo_box (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType st); +static void saved_search_dialog_search_row_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc); +SearchConditionSearchType* search_condition_search_type_as_array (int* result_length1); +void search_condition_search_type_sort_array (SearchConditionSearchType** array, int* array_length1); +gchar* search_condition_search_type_display_text (SearchConditionSearchType self); +static void saved_search_dialog_search_row_container_on_type_changed (SavedSearchDialogSearchRowContainer* self); +static void _saved_search_dialog_search_row_container_on_type_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static gboolean saved_search_dialog_search_row_container_on_removed (SavedSearchDialogSearchRowContainer* self, GdkEventButton* event); +static gboolean _saved_search_dialog_search_row_container_on_removed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); +static SearchConditionSearchType saved_search_dialog_search_row_container_get_search_type (SavedSearchDialogSearchRowContainer* self); +static GtkWidget* saved_search_dialog_search_row_get_widget (SavedSearchDialogSearchRow* self); +static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_new (SavedSearchDialogSearchRowContainer* parent); +static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent); +static GType saved_search_dialog_search_row_text_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_new (SavedSearchDialogSearchRowContainer* parent); +static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent); +static GType saved_search_dialog_search_row_media_type_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_new (SavedSearchDialogSearchRowContainer* parent); +static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent); +static GType saved_search_dialog_search_row_flagged_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_new (SavedSearchDialogSearchRowContainer* parent); +static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent); +static GType saved_search_dialog_search_row_modified_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_new (SavedSearchDialogSearchRowContainer* parent); +static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent); +static GType saved_search_dialog_search_row_rating_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_new (SavedSearchDialogSearchRowContainer* parent); +static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent); +static GType saved_search_dialog_search_row_date_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static SearchCondition* saved_search_dialog_search_row_get_search_condition (SavedSearchDialogSearchRow* self); +static gboolean saved_search_dialog_search_row_is_complete (SavedSearchDialogSearchRow* self); +static void g_cclosure_user_marshal_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void saved_search_dialog_search_row_container_finalize (SavedSearchDialogSearchRowContainer* obj); +enum { + SAVED_SEARCH_DIALOG_SEARCH_ROW_DUMMY_PROPERTY +}; +static GtkWidget* saved_search_dialog_search_row_real_get_widget (SavedSearchDialogSearchRow* self); +static SearchCondition* saved_search_dialog_search_row_real_get_search_condition (SavedSearchDialogSearchRow* self); +static void saved_search_dialog_search_row_real_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc); +static gboolean saved_search_dialog_search_row_real_is_complete (SavedSearchDialogSearchRow* self); +static SavedSearchDialogSearchRow* saved_search_dialog_search_row_construct (GType object_type); +static void saved_search_dialog_search_row_finalize (SavedSearchDialogSearchRow* obj); +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowTextPrivate)) +enum { + SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_DUMMY_PROPERTY +}; +static void saved_search_dialog_search_row_text_on_changed (SavedSearchDialogSearchRowText* self); +static void _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self); +static GtkWidget* saved_search_dialog_search_row_text_real_get_widget (SavedSearchDialogSearchRow* base); +static SearchCondition* saved_search_dialog_search_row_text_real_get_search_condition (SavedSearchDialogSearchRow* base); +GType search_condition_text_context_get_type (void) G_GNUC_CONST; +static SearchConditionTextContext saved_search_dialog_search_row_text_get_text_context (SavedSearchDialogSearchRowText* self); +GType search_condition_text_get_type (void) G_GNUC_CONST; +SearchConditionText* search_condition_text_new (SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context); +SearchConditionText* search_condition_text_construct (GType object_type, SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context); +static void saved_search_dialog_search_row_text_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc); +SearchConditionTextContext search_condition_text_get_context (SearchConditionText* self); +const gchar* search_condition_text_get_text (SearchConditionText* self); +static gboolean saved_search_dialog_search_row_text_real_is_complete (SavedSearchDialogSearchRow* base); +static void saved_search_dialog_search_row_text_finalize (SavedSearchDialogSearchRow* obj); +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaTypePrivate)) +enum { + SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_DUMMY_PROPERTY +}; +static void saved_search_dialog_search_row_media_type_on_changed (SavedSearchDialogSearchRowMediaType* self); +static void _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static GtkWidget* saved_search_dialog_search_row_media_type_real_get_widget (SavedSearchDialogSearchRow* base); +static SearchCondition* saved_search_dialog_search_row_media_type_real_get_search_condition (SavedSearchDialogSearchRow* base); +GType search_condition_media_type_context_get_type (void) G_GNUC_CONST; +GType search_condition_media_type_media_type_get_type (void) G_GNUC_CONST; +GType search_condition_media_type_get_type (void) G_GNUC_CONST; +SearchConditionMediaType* search_condition_media_type_new (SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type); +SearchConditionMediaType* search_condition_media_type_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type); +static void saved_search_dialog_search_row_media_type_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc); +SearchConditionMediaTypeContext search_condition_media_type_get_context (SearchConditionMediaType* self); +SearchConditionMediaTypeMediaType search_condition_media_type_get_media_type (SearchConditionMediaType* self); +static gboolean saved_search_dialog_search_row_media_type_real_is_complete (SavedSearchDialogSearchRow* base); +static void saved_search_dialog_search_row_media_type_finalize (SavedSearchDialogSearchRow* obj); +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModifiedPrivate)) +enum { + SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_DUMMY_PROPERTY +}; +static void saved_search_dialog_search_row_modified_on_changed (SavedSearchDialogSearchRowModified* self); +static void _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static GtkWidget* saved_search_dialog_search_row_modified_real_get_widget (SavedSearchDialogSearchRow* base); +static SearchCondition* saved_search_dialog_search_row_modified_real_get_search_condition (SavedSearchDialogSearchRow* base); +GType search_condition_modified_context_get_type (void) G_GNUC_CONST; +GType search_condition_modified_state_get_type (void) G_GNUC_CONST; +GType search_condition_modified_get_type (void) G_GNUC_CONST; +SearchConditionModified* search_condition_modified_new (SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state); +SearchConditionModified* search_condition_modified_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state); +static void saved_search_dialog_search_row_modified_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc); +SearchConditionModifiedState search_condition_modified_get_state (SearchConditionModified* self); +SearchConditionModifiedContext search_condition_modified_get_context (SearchConditionModified* self); +static gboolean saved_search_dialog_search_row_modified_real_is_complete (SavedSearchDialogSearchRow* base); +static void saved_search_dialog_search_row_modified_finalize (SavedSearchDialogSearchRow* obj); +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlaggedPrivate)) +enum { + SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_DUMMY_PROPERTY +}; +static void saved_search_dialog_search_row_flagged_on_changed (SavedSearchDialogSearchRowFlagged* self); +static void _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static GtkWidget* saved_search_dialog_search_row_flagged_real_get_widget (SavedSearchDialogSearchRow* base); +static SearchCondition* saved_search_dialog_search_row_flagged_real_get_search_condition (SavedSearchDialogSearchRow* base); +GType search_condition_flagged_state_get_type (void) G_GNUC_CONST; +GType search_condition_flagged_get_type (void) G_GNUC_CONST; +SearchConditionFlagged* search_condition_flagged_new (SearchConditionSearchType search_type, SearchConditionFlaggedState state); +SearchConditionFlagged* search_condition_flagged_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionFlaggedState state); +static void saved_search_dialog_search_row_flagged_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc); +SearchConditionFlaggedState search_condition_flagged_get_state (SearchConditionFlagged* self); +static gboolean saved_search_dialog_search_row_flagged_real_is_complete (SavedSearchDialogSearchRow* base); +static void saved_search_dialog_search_row_flagged_finalize (SavedSearchDialogSearchRow* obj); +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRatingPrivate)) +enum { + SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_DUMMY_PROPERTY +}; +static void saved_search_dialog_search_row_rating_on_changed (SavedSearchDialogSearchRowRating* self); +static void _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +GType rating_get_type (void) G_GNUC_CONST; +const gchar* resources_rating_combo_box (Rating rating); +static GtkWidget* saved_search_dialog_search_row_rating_real_get_widget (SavedSearchDialogSearchRow* base); +static SearchCondition* saved_search_dialog_search_row_rating_real_get_search_condition (SavedSearchDialogSearchRow* base); +GType search_condition_rating_context_get_type (void) G_GNUC_CONST; +GType search_condition_rating_get_type (void) G_GNUC_CONST; +SearchConditionRating* search_condition_rating_new (SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context); +SearchConditionRating* search_condition_rating_construct (GType object_type, SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context); +static void saved_search_dialog_search_row_rating_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc); +SearchConditionRatingContext search_condition_rating_get_context (SearchConditionRating* self); +Rating search_condition_rating_get_rating (SearchConditionRating* self); +static gboolean saved_search_dialog_search_row_rating_real_is_complete (SavedSearchDialogSearchRow* base); +static void saved_search_dialog_search_row_rating_finalize (SavedSearchDialogSearchRow* obj); +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDatePrivate)) +enum { + SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DUMMY_PROPERTY +}; +static void saved_search_dialog_search_row_date_on_changed (SavedSearchDialogSearchRowDate* self); +static void _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT "%x" +static void saved_search_dialog_search_row_date_on_one_clicked (SavedSearchDialogSearchRowDate* self); +static void _saved_search_dialog_search_row_date_on_one_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void saved_search_dialog_search_row_date_on_two_clicked (SavedSearchDialogSearchRowDate* self); +static void _saved_search_dialog_search_row_date_on_two_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void saved_search_dialog_search_row_date_update_date_labels (SavedSearchDialogSearchRowDate* self); +GType search_condition_date_context_get_type (void) G_GNUC_CONST; +static GDateTime* saved_search_dialog_search_row_date_get_date_one (SavedSearchDialogSearchRowDate* self); +static GDateTime* saved_search_dialog_search_row_date_get_date_two (SavedSearchDialogSearchRowDate* self); +static GtkWidget* saved_search_dialog_search_row_date_real_get_widget (SavedSearchDialogSearchRow* base); +static void saved_search_dialog_search_row_date_set_date_one (SavedSearchDialogSearchRowDate* self, GDateTime* date); +static void saved_search_dialog_search_row_date_set_date_two (SavedSearchDialogSearchRowDate* self, GDateTime* date); +static SearchCondition* saved_search_dialog_search_row_date_real_get_search_condition (SavedSearchDialogSearchRow* base); +GType search_condition_date_get_type (void) G_GNUC_CONST; +SearchConditionDate* search_condition_date_new (SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two); +SearchConditionDate* search_condition_date_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two); +static void saved_search_dialog_search_row_date_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc); +SearchConditionDateContext search_condition_date_get_context (SearchConditionDate* self); +GDateTime* search_condition_date_get_date_one (SearchConditionDate* self); +GDateTime* search_condition_date_get_date_two (SearchConditionDate* self); +static gboolean saved_search_dialog_search_row_date_real_is_complete (SavedSearchDialogSearchRow* base); +static void saved_search_dialog_search_row_date_popup_calendar (SavedSearchDialogSearchRowDate* self, GtkCalendar* cal); +static Block9Data* block9_data_ref (Block9Data* _data9_); +static void block9_data_unref (void * _userdata_); +#define RESOURCES_CANCEL_LABEL _ ("_Cancel") +#define RESOURCES_OK_LABEL _ ("_OK") +static void __lambda12_ (SavedSearchDialogSearchRowDate* self); +static void ___lambda12__gtk_calendar_day_selected (GtkCalendar* _sender, gpointer self); +static void __lambda13_ (Block9Data* _data9_); +static void ___lambda13__gtk_calendar_day_selected_double_click (GtkCalendar* _sender, gpointer self); +static void saved_search_dialog_search_row_date_finalize (SavedSearchDialogSearchRow* obj); +static void saved_search_dialog_finalize (SavedSearchDialog* obj); + + +static void _saved_search_dialog_on_title_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_on_title_changed ((SavedSearchDialog*) self); +#line 830 "SavedSearchDialog.c" +} + + +SavedSearchDialog* saved_search_dialog_construct (GType object_type) { + SavedSearchDialog* self = NULL; + GtkEntry* _tmp0_ = NULL; + SavedSearchTable* _tmp1_ = NULL; + SavedSearchTable* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + GtkEntry* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp8_ = NULL; + GtkDialog* _tmp9_ = NULL; +#line 654 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialog*) g_type_create_instance (object_type); +#line 655 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_setup_dialog (self); +#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->search_title; +#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_table_get_instance (); +#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = _tmp1_; +#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = saved_search_table_generate_unique_name (_tmp2_); +#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_entry_set_text (_tmp0_, _tmp4_); +#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp4_); +#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_table_unref0 (_tmp2_); +#line 659 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->search_title; +#line 659 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_editable_select_region (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GTK_TYPE_EDITABLE, GtkEditable), 0, -1); +#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_add_text_search (self); +#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->row_list; +#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = (SavedSearchDialogSearchRowContainer*) _tmp7_; +#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_allow_removal (_tmp8_, FALSE); +#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (_tmp8_); +#line 665 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = self->priv->dialog; +#line 665 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 666 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_set_valid (self, FALSE); +#line 654 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 890 "SavedSearchDialog.c" +} + + +SavedSearchDialog* saved_search_dialog_new (void) { +#line 654 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_construct (TYPE_SAVED_SEARCH_DIALOG); +#line 897 "SavedSearchDialog.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self ? g_object_ref (self) : NULL; +#line 904 "SavedSearchDialog.c" +} + + +SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type, SavedSearch* saved_search) { + SavedSearchDialog* self = NULL; + SavedSearch* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + GtkDialog* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + SavedSearch* _tmp4_ = NULL; + SearchOperator _tmp5_ = 0; + GtkEntry* _tmp6_ = NULL; + SavedSearch* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + GeeArrayList* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; +#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (saved_search), NULL); +#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialog*) g_type_create_instance (object_type); +#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = saved_search; +#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->previous_search); +#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->previous_search = _tmp1_; +#line 671 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->edit_mode = TRUE; +#line 672 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_setup_dialog (self); +#line 674 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->dialog; +#line 674 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->operator; +#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = saved_search; +#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = saved_search_get_operator (_tmp4_); +#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_combo_box_get_type (), GtkComboBox), (gint) ((SearchOperator) _tmp5_)); +#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->search_title; +#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = saved_search; +#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject)); +#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = _tmp8_; +#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_entry_set_text (_tmp6_, _tmp9_); +#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp9_); +#line 963 "SavedSearchDialog.c" + { + GeeList* _sc_list = NULL; + SavedSearch* _tmp10_ = NULL; + GeeList* _tmp11_ = NULL; + gint _sc_size = 0; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + gint _sc_index = 0; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = saved_search; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = saved_search_get_conditions (_tmp10_); +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _sc_list = _tmp11_; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = _sc_list; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = _tmp13_; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _sc_size = _tmp14_; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _sc_index = -1; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + while (TRUE) { +#line 991 "SavedSearchDialog.c" + gint _tmp15_ = 0; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + SearchCondition* sc = NULL; + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gpointer _tmp20_ = NULL; + SearchCondition* _tmp21_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp22_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp23_ = NULL; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = _sc_index; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _sc_index = _tmp15_ + 1; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = _sc_index; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = _sc_size; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!(_tmp16_ < _tmp17_)) { +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 1014 "SavedSearchDialog.c" + } +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = _sc_list; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = _sc_index; +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = gee_list_get (_tmp18_, _tmp19_); +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + sc = (SearchCondition*) _tmp20_; +#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = sc; +#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = saved_search_dialog_search_row_container_new_edit_existing (_tmp21_); +#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = _tmp22_; +#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_add_row (self, _tmp23_); +#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (_tmp23_); +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _search_condition_unref0 (sc); +#line 1036 "SavedSearchDialog.c" + } +#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_sc_list); +#line 1040 "SavedSearchDialog.c" + } +#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp24_ = self->priv->row_list; +#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp25_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp26_ = _tmp25_; +#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp26_ == 1) { +#line 1050 "SavedSearchDialog.c" + GeeArrayList* _tmp27_ = NULL; + gpointer _tmp28_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp29_ = NULL; +#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp27_ = self->priv->row_list; +#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp28_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp29_ = (SavedSearchDialogSearchRowContainer*) _tmp28_; +#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_allow_removal (_tmp29_, FALSE); +#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (_tmp29_); +#line 1064 "SavedSearchDialog.c" + } +#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_set_valid (self, TRUE); +#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 1070 "SavedSearchDialog.c" +} + + +SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search) { +#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_construct_edit_existing (TYPE_SAVED_SEARCH_DIALOG, saved_search); +#line 1077 "SavedSearchDialog.c" +} + + +static void _saved_search_dialog_on_response_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) { +#line 708 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_on_response ((SavedSearchDialog*) self, response_id); +#line 1084 "SavedSearchDialog.c" +} + + +static gboolean _saved_search_dialog_on_add_criteria_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = saved_search_dialog_on_add_criteria ((SavedSearchDialog*) self, event); +#line 712 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 1093 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_setup_dialog (SavedSearchDialog* self) { + GtkBuilder* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + AppWindow* _tmp2_ = NULL; + AppWindow* _tmp3_ = NULL; + GdkWindow* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkDialog* _tmp7_ = NULL; + GtkDialog* _tmp8_ = NULL; + GtkDialog* _tmp9_ = NULL; + AppWindow* _tmp10_ = NULL; + AppWindow* _tmp11_ = NULL; + GtkDialog* _tmp12_ = NULL; + GtkDialog* _tmp13_ = NULL; + GtkDialog* _tmp14_ = NULL; + GtkBox* _tmp15_ = NULL; + GtkBuilder* _tmp16_ = NULL; + GObject* _tmp17_ = NULL; + GtkBuilder* _tmp18_ = NULL; + GObject* _tmp19_ = NULL; + GtkButton* _tmp20_ = NULL; + GtkButton* _tmp21_ = NULL; + GtkBuilder* _tmp22_ = NULL; + GObject* _tmp23_ = NULL; + GtkEntry* _tmp24_ = NULL; + GtkEntry* _tmp25_ = NULL; + GtkEntry* _tmp26_ = NULL; + GtkBuilder* _tmp27_ = NULL; + GObject* _tmp28_ = NULL; + GtkBox* _tmp29_ = NULL; + GtkBuilder* _tmp30_ = NULL; + GObject* _tmp31_ = NULL; + GtkComboBoxText* _tmp32_ = NULL; + GtkComboBoxText* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + GtkComboBoxText* _tmp35_ = NULL; + const gchar* _tmp36_ = NULL; + GtkComboBoxText* _tmp37_ = NULL; + const gchar* _tmp38_ = NULL; + GtkComboBoxText* _tmp39_ = NULL; +#line 694 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 695 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = app_window_create_builder ("shotwell.ui", NULL); +#line 695 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->builder); +#line 695 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->builder = _tmp0_; +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _ ("Search"); +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = app_window_get_instance (); +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = _tmp2_; +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = gtk_widget_get_parent_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = _ ("Cancel"); +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _ ("OK"); +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = (GtkDialog*) gtk_dialog_new_with_buttons (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_window_get_type (), GtkWindow), (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT) | GTK_DIALOG_USE_HEADER_BAR, _tmp5_, GTK_RESPONSE_CANCEL, _tmp6_, GTK_RESPONSE_OK, NULL, NULL); +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp7_); +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->dialog); +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->dialog = _tmp7_; +#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp3_); +#line 705 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = self->priv->dialog; +#line 705 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), FALSE); +#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = self->priv->dialog; +#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = app_window_get_instance (); +#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = _tmp10_; +#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_window_get_type (), GtkWindow)); +#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp11_); +#line 707 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = self->priv->dialog; +#line 707 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_dialog_set_default_response (_tmp12_, (gint) GTK_RESPONSE_OK); +#line 708 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = self->priv->dialog; +#line 708 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (_tmp13_, "response", (GCallback) _saved_search_dialog_on_response_gtk_dialog_response, self); +#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = self->priv->dialog; +#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = (GtkBox*) gtk_dialog_get_content_area (_tmp14_); +#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = self->priv->builder; +#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = gtk_builder_get_object (_tmp16_, "criteria"); +#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, gtk_widget_get_type ()) ? ((GtkWidget*) _tmp17_) : NULL); +#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = self->priv->builder; +#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = gtk_builder_get_object (_tmp18_, "Add search button"); +#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_button_get_type ()) ? ((GtkButton*) _tmp19_) : NULL); +#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->add_criteria); +#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->add_criteria = _tmp20_; +#line 712 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = self->priv->add_criteria; +#line 712 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _saved_search_dialog_on_add_criteria_gtk_widget_button_press_event, self); +#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = self->priv->builder; +#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = gtk_builder_get_object (_tmp22_, "Search title"); +#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp23_) : NULL); +#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->search_title); +#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->search_title = _tmp24_; +#line 715 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp25_ = self->priv->search_title; +#line 715 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_entry_set_activates_default (_tmp25_, TRUE); +#line 716 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp26_ = self->priv->search_title; +#line 716 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _saved_search_dialog_on_title_changed_gtk_editable_changed, self); +#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp27_ = self->priv->builder; +#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp28_ = gtk_builder_get_object (_tmp27_, "row_box"); +#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp29_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp28_, gtk_box_get_type ()) ? ((GtkBox*) _tmp28_) : NULL); +#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->row_box); +#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->row_box = _tmp29_; +#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp30_ = self->priv->builder; +#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp31_ = gtk_builder_get_object (_tmp30_, "Type of search criteria"); +#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp31_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp31_) : NULL); +#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->operator); +#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->operator = _tmp32_; +#line 721 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp33_ = self->priv->operator; +#line 721 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp34_ = _ ("any"); +#line 721 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp33_, _tmp34_); +#line 722 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp35_ = self->priv->operator; +#line 722 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp36_ = _ ("all"); +#line 722 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp35_, _tmp36_); +#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp37_ = self->priv->operator; +#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp38_ = _ ("none"); +#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp37_, _tmp38_); +#line 724 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp39_ = self->priv->operator; +#line 724 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 1274 "SavedSearchDialog.c" +} + + +void saved_search_dialog_show (SavedSearchDialog* self) { + GtkDialog* _tmp0_ = NULL; + GtkDialog* _tmp1_ = NULL; +#line 728 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 729 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->dialog; +#line 729 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_dialog_run (_tmp0_); +#line 730 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->dialog; +#line 730 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget)); +#line 1291 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_on_add_criteria (SavedSearchDialog* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 734 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_DIALOG (self), FALSE); +#line 734 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 735 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_add_text_search (self); +#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = FALSE; +#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 1307 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_add_text_search (SavedSearchDialog* self) { + SavedSearchDialogSearchRowContainer* text = NULL; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; +#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 740 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = saved_search_dialog_search_row_container_new (); +#line 740 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + text = _tmp0_; +#line 741 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_add_row (self, text); +#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (text); +#line 1324 "SavedSearchDialog.c" +} + + +static void _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove (SavedSearchDialogSearchRowContainer* _sender, SavedSearchDialogSearchRowContainer* this_row, gpointer self) { +#line 750 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_on_remove_row ((SavedSearchDialog*) self, this_row); +#line 1331 "SavedSearchDialog.c" +} + + +static void _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed (SavedSearchDialogSearchRowContainer* _sender, SavedSearchDialogSearchRowContainer* this_row, gpointer self) { +#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_on_row_changed ((SavedSearchDialog*) self, this_row); +#line 1338 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_add_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) { + GeeArrayList* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GtkBox* _tmp6_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp7_ = NULL; + GtkWidget* _tmp8_ = NULL; + GtkWidget* _tmp9_ = NULL; + GeeArrayList* _tmp10_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp11_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp12_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp13_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row)); +#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->row_list; +#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = _tmp1_; +#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp2_ == 1) { +#line 1368 "SavedSearchDialog.c" + GeeArrayList* _tmp3_ = NULL; + gpointer _tmp4_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp5_ = NULL; +#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->row_list; +#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = (SavedSearchDialogSearchRowContainer*) _tmp4_; +#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_allow_removal (_tmp5_, TRUE); +#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (_tmp5_); +#line 1382 "SavedSearchDialog.c" + } +#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->row_box; +#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = row; +#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = saved_search_dialog_search_row_container_get_widget (_tmp7_); +#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = _tmp8_; +#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_container_get_type (), GtkContainer), _tmp9_); +#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp9_); +#line 749 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = self->priv->row_list; +#line 749 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = row; +#line 749 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_); +#line 750 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = row; +#line 750 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (_tmp12_, "remove", (GCallback) _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove, self); +#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = row; +#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (_tmp13_, "changed", (GCallback) _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed, self); +#line 752 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = row; +#line 752 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = saved_search_dialog_search_row_container_is_complete (_tmp14_); +#line 752 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_set_valid (self, _tmp15_); +#line 1416 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_on_remove_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) { + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + guint _tmp1_ = 0U; + SavedSearchDialogSearchRowContainer* _tmp2_ = NULL; + guint _tmp3_ = 0U; + GtkBox* _tmp4_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; + GtkWidget* _tmp7_ = NULL; + GeeArrayList* _tmp8_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp9_ = NULL; + GeeArrayList* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; +#line 756 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 756 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row)); +#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = row; +#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("remove", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, &_tmp1_, NULL, FALSE); +#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove, self); +#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = row; +#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, &_tmp3_, NULL, FALSE); +#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed, self); +#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->row_box; +#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = row; +#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = saved_search_dialog_search_row_container_get_widget (_tmp5_); +#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = _tmp6_; +#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_container_get_type (), GtkContainer), _tmp7_); +#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp7_); +#line 760 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = self->priv->row_list; +#line 760 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = row; +#line 760 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp9_); +#line 761 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = self->priv->row_list; +#line 761 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 761 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = _tmp11_; +#line 761 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp12_ == 1) { +#line 1476 "SavedSearchDialog.c" + GeeArrayList* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp15_ = NULL; +#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = self->priv->row_list; +#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = (SavedSearchDialogSearchRowContainer*) _tmp14_; +#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_allow_removal (_tmp15_, FALSE); +#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (_tmp15_); +#line 1490 "SavedSearchDialog.c" + } +#line 763 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_set_valid (self, TRUE); +#line 1494 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_on_response (SavedSearchDialog* self, gint response_id) { + gint _tmp0_ = 0; +#line 766 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 767 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = response_id; +#line 767 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp0_ == ((gint) GTK_RESPONSE_OK)) { +#line 1506 "SavedSearchDialog.c" + gboolean _tmp1_ = FALSE; + SavedSearchTable* _tmp2_ = NULL; + SavedSearchTable* _tmp3_ = NULL; + GtkEntry* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + gboolean _tmp19_ = FALSE; + GeeArrayList* conditions = NULL; + GeeArrayList* _tmp23_ = NULL; + SearchOperator search_operator = 0; + GtkComboBoxText* _tmp39_ = NULL; + gint _tmp40_ = 0; + SavedSearchTable* _tmp41_ = NULL; + SavedSearchTable* _tmp42_ = NULL; + GtkEntry* _tmp43_ = NULL; + const gchar* _tmp44_ = NULL; + SearchOperator _tmp45_ = 0; + GeeArrayList* _tmp46_ = NULL; + SavedSearch* _tmp47_ = NULL; + SavedSearch* _tmp48_ = NULL; +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = saved_search_table_get_instance (); +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = _tmp2_; +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->search_title; +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = gtk_entry_get_text (_tmp4_); +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = saved_search_table_exists (_tmp3_, _tmp5_); +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = _tmp6_; +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_table_unref0 (_tmp3_); +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp7_) { +#line 1544 "SavedSearchDialog.c" + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = self->priv->edit_mode; +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp9_) { +#line 1551 "SavedSearchDialog.c" + SavedSearch* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GtkEntry* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = self->priv->previous_search; +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject)); +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = _tmp11_; +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = self->priv->search_title; +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = gtk_entry_get_text (_tmp13_); +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = g_strcmp0 (_tmp12_, _tmp14_) == 0; +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp12_); +#line 1571 "SavedSearchDialog.c" + } else { +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = FALSE; +#line 1575 "SavedSearchDialog.c" + } +#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = !_tmp8_; +#line 1579 "SavedSearchDialog.c" + } else { +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = FALSE; +#line 1583 "SavedSearchDialog.c" + } +#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp1_) { +#line 1587 "SavedSearchDialog.c" + GtkEntry* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = self->priv->search_title; +#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = gtk_entry_get_text (_tmp15_); +#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = resources_rename_search_exists_message (_tmp16_); +#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = _tmp17_; +#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + app_window_error_message (_tmp18_, NULL); +#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp18_); +#line 771 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return; +#line 1606 "SavedSearchDialog.c" + } +#line 774 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = self->priv->edit_mode; +#line 774 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp19_) { +#line 1612 "SavedSearchDialog.c" + SavedSearchTable* _tmp20_ = NULL; + SavedSearchTable* _tmp21_ = NULL; + SavedSearch* _tmp22_ = NULL; +#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = saved_search_table_get_instance (); +#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = _tmp20_; +#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = self->priv->previous_search; +#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_table_remove (_tmp21_, _tmp22_); +#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_table_unref0 (_tmp21_); +#line 1626 "SavedSearchDialog.c" + } +#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = gee_array_list_new (TYPE_SEARCH_CONDITION, (GBoxedCopyFunc) search_condition_ref, search_condition_unref, NULL, NULL, NULL); +#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + conditions = _tmp23_; +#line 1632 "SavedSearchDialog.c" + { + GeeArrayList* _c_list = NULL; + GeeArrayList* _tmp24_ = NULL; + GeeArrayList* _tmp25_ = NULL; + gint _c_size = 0; + GeeArrayList* _tmp26_ = NULL; + gint _tmp27_ = 0; + gint _tmp28_ = 0; + gint _c_index = 0; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp24_ = self->priv->row_list; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp25_ = _g_object_ref0 (_tmp24_); +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _c_list = _tmp25_; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp26_ = _c_list; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp27_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp28_ = _tmp27_; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _c_size = _tmp28_; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _c_index = -1; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + while (TRUE) { +#line 1660 "SavedSearchDialog.c" + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + SavedSearchDialogSearchRowContainer* c = NULL; + GeeArrayList* _tmp32_ = NULL; + gint _tmp33_ = 0; + gpointer _tmp34_ = NULL; + GeeArrayList* _tmp35_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp36_ = NULL; + SearchCondition* _tmp37_ = NULL; + SearchCondition* _tmp38_ = NULL; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp29_ = _c_index; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _c_index = _tmp29_ + 1; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp30_ = _c_index; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp31_ = _c_size; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!(_tmp30_ < _tmp31_)) { +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 1684 "SavedSearchDialog.c" + } +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp32_ = _c_list; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp33_ = _c_index; +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp34_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp33_); +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = (SavedSearchDialogSearchRowContainer*) _tmp34_; +#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp35_ = conditions; +#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp36_ = c; +#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp37_ = saved_search_dialog_search_row_container_get_search_condition (_tmp36_); +#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp38_ = _tmp37_; +#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp38_); +#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _search_condition_unref0 (_tmp38_); +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (c); +#line 1708 "SavedSearchDialog.c" + } +#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_c_list); +#line 1712 "SavedSearchDialog.c" + } +#line 786 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp39_ = self->priv->operator; +#line 786 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp40_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_combo_box_get_type (), GtkComboBox)); +#line 786 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_operator = (SearchOperator) _tmp40_; +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp41_ = saved_search_table_get_instance (); +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp42_ = _tmp41_; +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp43_ = self->priv->search_title; +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp44_ = gtk_entry_get_text (_tmp43_); +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp45_ = search_operator; +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp46_ = conditions; +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp47_ = saved_search_table_create (_tmp42_, _tmp44_, _tmp45_, _tmp46_); +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp48_ = _tmp47_; +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp48_); +#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_table_unref0 (_tmp42_); +#line 767 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (conditions); +#line 1742 "SavedSearchDialog.c" + } +} + + +static void saved_search_dialog_on_row_changed (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) { + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row)); +#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = row; +#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_container_is_complete (_tmp0_); +#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_set_valid (self, _tmp1_); +#line 1760 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_on_title_changed (SavedSearchDialog* self) { + gboolean _tmp0_ = FALSE; +#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = saved_search_dialog_is_title_valid (self); +#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_set_valid (self, _tmp0_); +#line 1772 "SavedSearchDialog.c" +} + + +static gchar* string_chomp (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1191 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1192 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1192 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1193 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1193 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strchomp (_tmp1_); +#line 1194 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1194 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1795 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_is_title_valid (SavedSearchDialog* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GtkEntry* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + SavedSearchTable* _tmp14_ = NULL; + SavedSearchTable* _tmp15_ = NULL; + GtkEntry* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gboolean _tmp19_ = FALSE; +#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_DIALOG (self), FALSE); +#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->edit_mode; +#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp2_) { +#line 1821 "SavedSearchDialog.c" + SavedSearch* _tmp3_ = NULL; +#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->previous_search; +#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _tmp3_ != NULL; +#line 1827 "SavedSearchDialog.c" + } else { +#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = FALSE; +#line 1831 "SavedSearchDialog.c" + } +#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp1_) { +#line 1835 "SavedSearchDialog.c" + SavedSearch* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GtkEntry* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->previous_search; +#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject)); +#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _tmp5_; +#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->search_title; +#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = gtk_entry_get_text (_tmp7_); +#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = g_strcmp0 (_tmp6_, _tmp8_) == 0; +#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp6_); +#line 1855 "SavedSearchDialog.c" + } else { +#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = FALSE; +#line 1859 "SavedSearchDialog.c" + } +#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp0_) { +#line 802 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = TRUE; +#line 802 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 1867 "SavedSearchDialog.c" + } +#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = self->priv->search_title; +#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = gtk_entry_get_text (_tmp9_); +#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = string_chomp (_tmp10_); +#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = _tmp11_; +#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = g_strcmp0 (_tmp12_, "") == 0; +#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp12_); +#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp13_) { +#line 804 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = FALSE; +#line 804 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 1887 "SavedSearchDialog.c" + } +#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = saved_search_table_get_instance (); +#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = _tmp14_; +#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = self->priv->search_title; +#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = gtk_entry_get_text (_tmp16_); +#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = saved_search_table_exists (_tmp15_, _tmp17_); +#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = _tmp18_; +#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_table_unref0 (_tmp15_); +#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp19_) { +#line 806 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = FALSE; +#line 806 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 1909 "SavedSearchDialog.c" + } +#line 807 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = TRUE; +#line 807 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 1915 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_set_valid (SavedSearchDialog* self, gboolean v) { + gboolean _tmp0_ = FALSE; + GtkDialog* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 811 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self)); +#line 812 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = v; +#line 812 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!_tmp0_) { +#line 813 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->valid = FALSE; +#line 1931 "SavedSearchDialog.c" + } else { + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 814 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = v; +#line 814 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->valid; +#line 814 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp1_ != _tmp2_) { +#line 1941 "SavedSearchDialog.c" + gboolean _tmp3_ = FALSE; +#line 815 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = saved_search_dialog_is_title_valid (self); +#line 815 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp3_) { +#line 1947 "SavedSearchDialog.c" + gint valid_rows = 0; + gint _tmp18_ = 0; + GeeArrayList* _tmp19_ = NULL; + gint _tmp20_ = 0; + gint _tmp21_ = 0; +#line 817 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + valid_rows = 0; +#line 1955 "SavedSearchDialog.c" + { + GeeArrayList* _c_list = NULL; + GeeArrayList* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; + gint _c_size = 0; + GeeArrayList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _c_index = 0; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->row_list; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _c_list = _tmp5_; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _c_list; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = _tmp7_; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _c_size = _tmp8_; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _c_index = -1; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + while (TRUE) { +#line 1983 "SavedSearchDialog.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + SavedSearchDialogSearchRowContainer* c = NULL; + GeeArrayList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = _c_index; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _c_index = _tmp9_ + 1; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = _c_index; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = _c_size; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2005 "SavedSearchDialog.c" + } +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = _c_list; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = _c_index; +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp13_); +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = (SavedSearchDialogSearchRowContainer*) _tmp14_; +#line 819 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = c; +#line 819 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = saved_search_dialog_search_row_container_is_complete (_tmp15_); +#line 819 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp16_) { +#line 2021 "SavedSearchDialog.c" + gint _tmp17_ = 0; +#line 820 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = valid_rows; +#line 820 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + valid_rows = _tmp17_ + 1; +#line 2027 "SavedSearchDialog.c" + } +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (c); +#line 2031 "SavedSearchDialog.c" + } +#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_c_list); +#line 2035 "SavedSearchDialog.c" + } +#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = valid_rows; +#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = self->priv->row_list; +#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = _tmp20_; +#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->valid = _tmp18_ == _tmp21_; +#line 2047 "SavedSearchDialog.c" + } else { +#line 824 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->valid = FALSE; +#line 2051 "SavedSearchDialog.c" + } + } + } +#line 828 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = self->priv->dialog; +#line 828 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = self->priv->valid; +#line 828 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_dialog_set_response_sensitive (_tmp22_, (gint) GTK_RESPONSE_OK, _tmp23_); +#line 2061 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct (GType object_type) { + SavedSearchDialogSearchRowContainer* self = NULL; +#line 24 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRowContainer*) g_type_create_instance (object_type); +#line 25 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_setup_gui (self); +#line 26 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_set_type (self, SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT); +#line 24 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 2075 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_new (void) { +#line 24 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_search_row_container_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER); +#line 2082 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct_edit_existing (GType object_type, SearchCondition* sc) { + SavedSearchDialogSearchRowContainer* self = NULL; + SearchCondition* _tmp0_ = NULL; + SearchConditionSearchType _tmp1_ = 0; + SearchConditionSearchType _tmp2_ = 0; + SearchCondition* _tmp3_ = NULL; + SearchConditionSearchType _tmp4_ = 0; + SearchConditionSearchType _tmp5_ = 0; + SavedSearchDialogSearchRow* _tmp6_ = NULL; + SearchCondition* _tmp7_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION (sc), NULL); +#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRowContainer*) g_type_create_instance (object_type); +#line 30 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_setup_gui (self); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = sc; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = search_condition_get_search_type (_tmp0_); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = _tmp1_; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_set_type (self, _tmp2_); +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = sc; +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = search_condition_get_search_type (_tmp3_); +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = _tmp4_; +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_set_type_combo_box (self, _tmp5_); +#line 33 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->my_row; +#line 33 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = sc; +#line 33 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_populate (_tmp6_, _tmp7_); +#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 2126 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_new_edit_existing (SearchCondition* sc) { +#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_search_row_container_construct_edit_existing (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, sc); +#line 2133 "SavedSearchDialog.c" +} + + +static void _saved_search_dialog_search_row_container_on_type_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 49 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_on_type_changed ((SavedSearchDialogSearchRowContainer*) self); +#line 2140 "SavedSearchDialog.c" +} + + +static gboolean _saved_search_dialog_search_row_container_on_removed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = saved_search_dialog_search_row_container_on_removed ((SavedSearchDialogSearchRowContainer*) self, event); +#line 52 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 2149 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_container_setup_gui (SavedSearchDialogSearchRowContainer* self) { + gint _tmp0_ = 0; + SearchConditionSearchType* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + GtkComboBoxText* _tmp18_ = NULL; + GtkButton* _tmp19_ = NULL; + GtkButton* _tmp20_ = NULL; + GtkAlignment* _tmp21_ = NULL; + GtkBox* _tmp22_ = NULL; + GtkBox* _tmp23_ = NULL; + GtkComboBoxText* _tmp24_ = NULL; + GtkBox* _tmp25_ = NULL; + GtkAlignment* _tmp26_ = NULL; + GtkBox* _tmp27_ = NULL; + GtkAlignment* _tmp28_ = NULL; + GtkAlignment* _tmp29_ = NULL; + GtkBox* _tmp30_ = NULL; + GtkButton* _tmp31_ = NULL; + GtkBox* _tmp32_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self)); +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = search_condition_search_type_as_array (&_tmp0_); +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->search_types = (g_free (self->priv->search_types), NULL); +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->search_types = _tmp1_; +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->search_types_length1 = _tmp0_; +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->_search_types_size_ = self->priv->search_types_length1; +#line 39 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = gee_hash_map_new (SEARCH_CONDITION_TYPE_SEARCH_TYPE, NULL, NULL, G_TYPE_INT, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 39 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->search_types_index); +#line 39 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->search_types_index = _tmp2_; +#line 40 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_condition_search_type_sort_array (&self->priv->search_types, &self->priv->search_types_length1); +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp3_); +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->type_combo); +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->type_combo = _tmp3_; +#line 2201 "SavedSearchDialog.c" + { + gint i = 0; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + i = 0; +#line 2206 "SavedSearchDialog.c" + { + gboolean _tmp4_ = FALSE; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = TRUE; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + while (TRUE) { +#line 2213 "SavedSearchDialog.c" + gint _tmp6_ = 0; + SearchConditionSearchType* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + SearchConditionSearchType st = 0; + SearchConditionSearchType* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + gint _tmp9_ = 0; + SearchConditionSearchType _tmp10_ = 0; + GeeHashMap* _tmp11_ = NULL; + SearchConditionSearchType _tmp12_ = 0; + gint _tmp13_ = 0; + GtkComboBoxText* _tmp14_ = NULL; + SearchConditionSearchType _tmp15_ = 0; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!_tmp4_) { +#line 2231 "SavedSearchDialog.c" + gint _tmp5_ = 0; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = i; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + i = _tmp5_ + 1; +#line 2237 "SavedSearchDialog.c" + } +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = FALSE; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = i; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->search_types; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7__length1 = self->priv->search_types_length1; +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!(_tmp6_ < _tmp7__length1)) { +#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2251 "SavedSearchDialog.c" + } +#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = self->priv->search_types; +#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8__length1 = self->priv->search_types_length1; +#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = i; +#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = _tmp8_[_tmp9_]; +#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + st = _tmp10_; +#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = self->priv->search_types_index; +#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = st; +#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = i; +#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp12_), (gpointer) ((gintptr) _tmp13_)); +#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = self->priv->type_combo; +#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = st; +#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = search_condition_search_type_display_text (_tmp15_); +#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = _tmp16_; +#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp14_, _tmp17_); +#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp17_); +#line 2283 "SavedSearchDialog.c" + } + } + } +#line 48 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_set_type_combo_box (self, SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT); +#line 49 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = self->priv->type_combo; +#line 49 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_container_on_type_changed_gtk_combo_box_changed, self); +#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = (GtkButton*) gtk_button_new_from_icon_name ("list-remove-symbolic", GTK_ICON_SIZE_BUTTON); +#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp19_); +#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->remove_button); +#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->remove_button = _tmp19_; +#line 52 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = self->priv->remove_button; +#line 52 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _saved_search_dialog_search_row_container_on_removed_gtk_widget_button_press_event, self); +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 0, (gfloat) 0); +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp21_); +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->align); +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->align = _tmp21_; +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp22_); +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->box = _tmp22_; +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = self->priv->box; +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp24_ = self->priv->type_combo; +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 58 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp25_ = self->priv->box; +#line 58 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp26_ = self->priv->align; +#line 58 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp27_ = self->priv->box; +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp28_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 0, (gfloat) 0); +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp28_); +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp29_ = _tmp28_; +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp27_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0); +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp29_); +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp30_ = self->priv->box; +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp31_ = self->priv->remove_button; +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp30_, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 61 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp32_ = self->priv->box; +#line 61 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget)); +#line 2355 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_container_on_type_changed (SavedSearchDialogSearchRowContainer* self) { + SearchConditionSearchType _tmp0_ = 0; +#line 64 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self)); +#line 65 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = saved_search_dialog_search_row_container_get_search_type (self); +#line 65 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_set_type (self, _tmp0_); +#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_emit_by_name (self, "changed", self); +#line 2369 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_container_set_type_combo_box (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType st) { + GtkComboBoxText* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + SearchConditionSearchType _tmp2_ = 0; + gpointer _tmp3_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self)); +#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->type_combo; +#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->search_types_index; +#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = st; +#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp2_)); +#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), (gint) ((gintptr) _tmp3_)); +#line 2390 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_container_set_type (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType type) { + SavedSearchDialogSearchRow* _tmp0_ = NULL; + SearchConditionSearchType _tmp5_ = 0; + GtkAlignment* _tmp12_ = NULL; + SavedSearchDialogSearchRow* _tmp13_ = NULL; + GtkWidget* _tmp14_ = NULL; + GtkWidget* _tmp15_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self)); +#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->my_row; +#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp0_ != NULL) { +#line 2407 "SavedSearchDialog.c" + GtkAlignment* _tmp1_ = NULL; + SavedSearchDialogSearchRow* _tmp2_ = NULL; + GtkWidget* _tmp3_ = NULL; + GtkWidget* _tmp4_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->align; +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->my_row; +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = saved_search_dialog_search_row_get_widget (_tmp2_); +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer), _tmp4_); +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp4_); +#line 2424 "SavedSearchDialog.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = type; +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + switch (_tmp5_) { +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT: +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME: +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME: +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_TAG: +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_COMMENT: +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_TITLE: +#line 2442 "SavedSearchDialog.c" + { + SavedSearchDialogSearchRowText* _tmp6_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = saved_search_dialog_search_row_text_new (self); +#line 84 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_unref0 (self->priv->my_row); +#line 84 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow); +#line 85 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2453 "SavedSearchDialog.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE: +#line 2457 "SavedSearchDialog.c" + { + SavedSearchDialogSearchRowMediaType* _tmp7_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = saved_search_dialog_search_row_media_type_new (self); +#line 88 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_unref0 (self->priv->my_row); +#line 88 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow); +#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2468 "SavedSearchDialog.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE: +#line 2472 "SavedSearchDialog.c" + { + SavedSearchDialogSearchRowFlagged* _tmp8_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = saved_search_dialog_search_row_flagged_new (self); +#line 92 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_unref0 (self->priv->my_row); +#line 92 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow); +#line 93 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2483 "SavedSearchDialog.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE: +#line 2487 "SavedSearchDialog.c" + { + SavedSearchDialogSearchRowModified* _tmp9_ = NULL; +#line 96 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = saved_search_dialog_search_row_modified_new (self); +#line 96 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_unref0 (self->priv->my_row); +#line 96 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow); +#line 97 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2498 "SavedSearchDialog.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_RATING: +#line 2502 "SavedSearchDialog.c" + { + SavedSearchDialogSearchRowRating* _tmp10_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = saved_search_dialog_search_row_rating_new (self); +#line 100 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_unref0 (self->priv->my_row); +#line 100 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow); +#line 101 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2513 "SavedSearchDialog.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + case SEARCH_CONDITION_SEARCH_TYPE_DATE: +#line 2517 "SavedSearchDialog.c" + { + SavedSearchDialogSearchRowDate* _tmp11_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = saved_search_dialog_search_row_date_new (self); +#line 104 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_unref0 (self->priv->my_row); +#line 104 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow); +#line 105 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2528 "SavedSearchDialog.c" + } + default: + { +#line 108 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _vala_assert (FALSE, "false"); +#line 109 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + break; +#line 2536 "SavedSearchDialog.c" + } + } +#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = self->priv->align; +#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = self->priv->my_row; +#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = saved_search_dialog_search_row_get_widget (_tmp13_); +#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = _tmp14_; +#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_container_get_type (), GtkContainer), _tmp15_); +#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp15_); +#line 2551 "SavedSearchDialog.c" +} + + +static SearchConditionSearchType saved_search_dialog_search_row_container_get_search_type (SavedSearchDialogSearchRowContainer* self) { + SearchConditionSearchType result = 0; + SearchConditionSearchType* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + GtkComboBoxText* _tmp1_ = NULL; + gint _tmp2_ = 0; + SearchConditionSearchType _tmp3_ = 0; +#line 115 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), 0); +#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->search_types; +#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0__length1 = self->priv->search_types_length1; +#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->type_combo; +#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox)); +#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = _tmp0_[_tmp2_]; +#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp3_; +#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 2578 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_container_on_removed (SavedSearchDialogSearchRowContainer* self, GdkEventButton* event) { + gboolean result = FALSE; +#line 119 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), FALSE); +#line 119 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 120 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_emit_by_name (self, "remove", self); +#line 121 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = FALSE; +#line 121 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 2594 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_container_allow_removal (SavedSearchDialogSearchRowContainer* self, gboolean allow) { + GtkButton* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 124 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self)); +#line 125 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->remove_button; +#line 125 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = allow; +#line 125 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), _tmp1_); +#line 2609 "SavedSearchDialog.c" +} + + +static GtkWidget* saved_search_dialog_search_row_container_get_widget (SavedSearchDialogSearchRowContainer* self) { + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), NULL); +#line 129 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->box; +#line 129 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 129 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 129 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 2627 "SavedSearchDialog.c" +} + + +static SearchCondition* saved_search_dialog_search_row_container_get_search_condition (SavedSearchDialogSearchRowContainer* self) { + SearchCondition* result = NULL; + SavedSearchDialogSearchRow* _tmp0_ = NULL; + SearchCondition* _tmp1_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), NULL); +#line 133 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->my_row; +#line 133 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_get_search_condition (_tmp0_); +#line 133 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 133 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 2645 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_container_is_complete (SavedSearchDialogSearchRowContainer* self) { + gboolean result = FALSE; + SavedSearchDialogSearchRow* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 136 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), FALSE); +#line 137 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->my_row; +#line 137 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_is_complete (_tmp0_); +#line 137 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 137 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 2663 "SavedSearchDialog.c" +} + + +static void g_cclosure_user_marshal_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER) (gpointer data1, gpointer arg_1, gpointer data2); + register GMarshalFunc_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (n_param_values == 2); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + data1 = closure->data; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + data2 = param_values->data[0].v_pointer; +#line 2682 "SavedSearchDialog.c" + } else { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + data1 = param_values->data[0].v_pointer; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + data2 = closure->data; +#line 2688 "SavedSearchDialog.c" + } +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + callback = (GMarshalFunc_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER) (marshal_data ? marshal_data : cc->callback); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + callback (data1, saved_search_dialog_value_get_search_row_container (param_values + 1), data2); +#line 2694 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_value_search_row_container_init (GValue* value) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 2701 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_value_search_row_container_free_value (GValue* value) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (value->data[0].v_pointer) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_unref (value->data[0].v_pointer); +#line 2710 "SavedSearchDialog.c" + } +} + + +static void saved_search_dialog_value_search_row_container_copy_value (const GValue* src_value, GValue* dest_value) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (src_value->data[0].v_pointer) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + dest_value->data[0].v_pointer = saved_search_dialog_search_row_container_ref (src_value->data[0].v_pointer); +#line 2720 "SavedSearchDialog.c" + } else { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + dest_value->data[0].v_pointer = NULL; +#line 2724 "SavedSearchDialog.c" + } +} + + +static gpointer saved_search_dialog_value_search_row_container_peek_pointer (const GValue* value) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return value->data[0].v_pointer; +#line 2732 "SavedSearchDialog.c" +} + + +static gchar* saved_search_dialog_value_search_row_container_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (collect_values[0].v_pointer) { +#line 2739 "SavedSearchDialog.c" + SavedSearchDialogSearchRowContainer* object; + object = collect_values[0].v_pointer; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (object->parent_instance.g_class == NULL) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2746 "SavedSearchDialog.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2750 "SavedSearchDialog.c" + } +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = saved_search_dialog_search_row_container_ref (object); +#line 2754 "SavedSearchDialog.c" + } else { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 2758 "SavedSearchDialog.c" + } +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return NULL; +#line 2762 "SavedSearchDialog.c" +} + + +static gchar* saved_search_dialog_value_search_row_container_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SavedSearchDialogSearchRowContainer** object_p; + object_p = collect_values[0].v_pointer; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!object_p) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2773 "SavedSearchDialog.c" + } +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!value->data[0].v_pointer) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = NULL; +#line 2779 "SavedSearchDialog.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = value->data[0].v_pointer; +#line 2783 "SavedSearchDialog.c" + } else { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = saved_search_dialog_search_row_container_ref (value->data[0].v_pointer); +#line 2787 "SavedSearchDialog.c" + } +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return NULL; +#line 2791 "SavedSearchDialog.c" +} + + +static GParamSpec* saved_search_dialog_param_spec_search_row_container (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + SavedSearchDialogParamSpecSearchRowContainer* spec; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (g_type_is_a (object_type, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER), NULL); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return G_PARAM_SPEC (spec); +#line 2805 "SavedSearchDialog.c" +} + + +static gpointer saved_search_dialog_value_get_search_row_container (const GValue* value) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER), NULL); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return value->data[0].v_pointer; +#line 2814 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_value_set_search_row_container (GValue* value, gpointer v_object) { + SavedSearchDialogSearchRowContainer* old; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER)); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + old = value->data[0].v_pointer; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (v_object) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER)); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = v_object; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_ref (value->data[0].v_pointer); +#line 2834 "SavedSearchDialog.c" + } else { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 2838 "SavedSearchDialog.c" + } +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (old) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_unref (old); +#line 2844 "SavedSearchDialog.c" + } +} + + +static void saved_search_dialog_value_take_search_row_container (GValue* value, gpointer v_object) { + SavedSearchDialogSearchRowContainer* old; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER)); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + old = value->data[0].v_pointer; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (v_object) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER)); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = v_object; +#line 2863 "SavedSearchDialog.c" + } else { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 2867 "SavedSearchDialog.c" + } +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (old) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_unref (old); +#line 2873 "SavedSearchDialog.c" + } +} + + +static void saved_search_dialog_search_row_container_class_init (SavedSearchDialogSearchRowContainerClass * klass) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_container_parent_class = g_type_class_peek_parent (klass); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowContainerClass *) klass)->finalize = saved_search_dialog_search_row_container_finalize; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowContainerPrivate)); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_new ("remove", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER, G_TYPE_NONE, 1, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_new ("changed", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER, G_TYPE_NONE, 1, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER); +#line 2889 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_container_instance_init (SavedSearchDialogSearchRowContainer * self) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_PRIVATE (self); +#line 22 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->my_row = NULL; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->ref_count = 1; +#line 2900 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_container_finalize (SavedSearchDialogSearchRowContainer* obj) { + SavedSearchDialogSearchRowContainer * self; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainer); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_destroy (self); +#line 15 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->type_combo); +#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 17 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->align); +#line 18 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->remove_button); +#line 19 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->search_types = (g_free (self->priv->search_types), NULL); +#line 20 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->search_types_index); +#line 22 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_unref0 (self->priv->my_row); +#line 2924 "SavedSearchDialog.c" +} + + +static GType saved_search_dialog_search_row_container_get_type (void) { + static volatile gsize saved_search_dialog_search_row_container_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_search_row_container_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { saved_search_dialog_value_search_row_container_init, saved_search_dialog_value_search_row_container_free_value, saved_search_dialog_value_search_row_container_copy_value, saved_search_dialog_value_search_row_container_peek_pointer, "p", saved_search_dialog_value_search_row_container_collect_value, "p", saved_search_dialog_value_search_row_container_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowContainerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_container_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowContainer), 0, (GInstanceInitFunc) saved_search_dialog_search_row_container_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType saved_search_dialog_search_row_container_type_id; + saved_search_dialog_search_row_container_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchDialogSearchRowContainer", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&saved_search_dialog_search_row_container_type_id__volatile, saved_search_dialog_search_row_container_type_id); + } + return saved_search_dialog_search_row_container_type_id__volatile; +} + + +static gpointer saved_search_dialog_search_row_container_ref (gpointer instance) { + SavedSearchDialogSearchRowContainer* self; + self = instance; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_atomic_int_inc (&self->ref_count); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return instance; +#line 2949 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_container_unref (gpointer instance) { + SavedSearchDialogSearchRowContainer* self; + self = instance; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_CLASS (self)->finalize (self); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2962 "SavedSearchDialog.c" + } +} + + +static GtkWidget* saved_search_dialog_search_row_real_get_widget (SavedSearchDialogSearchRow* self) { +#line 144 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_critical ("Type `%s' does not implement abstract method `saved_search_dialog_search_row_get_widget'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 144 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return NULL; +#line 2972 "SavedSearchDialog.c" +} + + +GtkWidget* saved_search_dialog_search_row_get_widget (SavedSearchDialogSearchRow* self) { +#line 144 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), NULL); +#line 144 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->get_widget (self); +#line 2981 "SavedSearchDialog.c" +} + + +static SearchCondition* saved_search_dialog_search_row_real_get_search_condition (SavedSearchDialogSearchRow* self) { +#line 147 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_critical ("Type `%s' does not implement abstract method `saved_search_dialog_search_row_get_search_condition'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 147 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return NULL; +#line 2990 "SavedSearchDialog.c" +} + + +SearchCondition* saved_search_dialog_search_row_get_search_condition (SavedSearchDialogSearchRow* self) { +#line 147 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), NULL); +#line 147 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->get_search_condition (self); +#line 2999 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_real_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc) { +#line 150 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_critical ("Type `%s' does not implement abstract method `saved_search_dialog_search_row_populate'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 150 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return; +#line 3008 "SavedSearchDialog.c" +} + + +void saved_search_dialog_search_row_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc) { +#line 150 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self)); +#line 150 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->populate (self, sc); +#line 3017 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_real_is_complete (SavedSearchDialogSearchRow* self) { +#line 153 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_critical ("Type `%s' does not implement abstract method `saved_search_dialog_search_row_is_complete'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 153 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return FALSE; +#line 3026 "SavedSearchDialog.c" +} + + +gboolean saved_search_dialog_search_row_is_complete (SavedSearchDialogSearchRow* self) { +#line 153 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), FALSE); +#line 153 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->is_complete (self); +#line 3035 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRow* saved_search_dialog_search_row_construct (GType object_type) { + SavedSearchDialogSearchRow* self = NULL; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRow*) g_type_create_instance (object_type); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 3045 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_value_search_row_init (GValue* value) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 3052 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_value_search_row_free_value (GValue* value) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (value->data[0].v_pointer) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_unref (value->data[0].v_pointer); +#line 3061 "SavedSearchDialog.c" + } +} + + +static void saved_search_dialog_value_search_row_copy_value (const GValue* src_value, GValue* dest_value) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (src_value->data[0].v_pointer) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + dest_value->data[0].v_pointer = saved_search_dialog_search_row_ref (src_value->data[0].v_pointer); +#line 3071 "SavedSearchDialog.c" + } else { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + dest_value->data[0].v_pointer = NULL; +#line 3075 "SavedSearchDialog.c" + } +} + + +static gpointer saved_search_dialog_value_search_row_peek_pointer (const GValue* value) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return value->data[0].v_pointer; +#line 3083 "SavedSearchDialog.c" +} + + +static gchar* saved_search_dialog_value_search_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (collect_values[0].v_pointer) { +#line 3090 "SavedSearchDialog.c" + SavedSearchDialogSearchRow* object; + object = collect_values[0].v_pointer; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (object->parent_instance.g_class == NULL) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3097 "SavedSearchDialog.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 3101 "SavedSearchDialog.c" + } +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = saved_search_dialog_search_row_ref (object); +#line 3105 "SavedSearchDialog.c" + } else { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 3109 "SavedSearchDialog.c" + } +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return NULL; +#line 3113 "SavedSearchDialog.c" +} + + +static gchar* saved_search_dialog_value_search_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SavedSearchDialogSearchRow** object_p; + object_p = collect_values[0].v_pointer; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!object_p) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 3124 "SavedSearchDialog.c" + } +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!value->data[0].v_pointer) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = NULL; +#line 3130 "SavedSearchDialog.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = value->data[0].v_pointer; +#line 3134 "SavedSearchDialog.c" + } else { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = saved_search_dialog_search_row_ref (value->data[0].v_pointer); +#line 3138 "SavedSearchDialog.c" + } +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return NULL; +#line 3142 "SavedSearchDialog.c" +} + + +static GParamSpec* saved_search_dialog_param_spec_search_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + SavedSearchDialogParamSpecSearchRow* spec; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (g_type_is_a (object_type, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW), NULL); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return G_PARAM_SPEC (spec); +#line 3156 "SavedSearchDialog.c" +} + + +static gpointer saved_search_dialog_value_get_search_row (const GValue* value) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW), NULL); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return value->data[0].v_pointer; +#line 3165 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_value_set_search_row (GValue* value, gpointer v_object) { + SavedSearchDialogSearchRow* old; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW)); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + old = value->data[0].v_pointer; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (v_object) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW)); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = v_object; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_ref (value->data[0].v_pointer); +#line 3185 "SavedSearchDialog.c" + } else { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 3189 "SavedSearchDialog.c" + } +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (old) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_unref (old); +#line 3195 "SavedSearchDialog.c" + } +} + + +static void saved_search_dialog_value_take_search_row (GValue* value, gpointer v_object) { + SavedSearchDialogSearchRow* old; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW)); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + old = value->data[0].v_pointer; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (v_object) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW)); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = v_object; +#line 3214 "SavedSearchDialog.c" + } else { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 3218 "SavedSearchDialog.c" + } +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (old) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_unref (old); +#line 3224 "SavedSearchDialog.c" + } +} + + +static void saved_search_dialog_search_row_class_init (SavedSearchDialogSearchRowClass * klass) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_parent_class = g_type_class_peek_parent (klass); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_finalize; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_real_get_widget; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_real_get_search_condition; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_real_populate; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_real_is_complete; +#line 3242 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_instance_init (SavedSearchDialogSearchRow * self) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->ref_count = 1; +#line 3249 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_finalize (SavedSearchDialogSearchRow* obj) { + SavedSearchDialogSearchRow * self; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_destroy (self); +#line 3259 "SavedSearchDialog.c" +} + + +static GType saved_search_dialog_search_row_get_type (void) { + static volatile gsize saved_search_dialog_search_row_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_search_row_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { saved_search_dialog_value_search_row_init, saved_search_dialog_value_search_row_free_value, saved_search_dialog_value_search_row_copy_value, saved_search_dialog_value_search_row_peek_pointer, "p", saved_search_dialog_value_search_row_collect_value, "p", saved_search_dialog_value_search_row_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRow), 0, (GInstanceInitFunc) saved_search_dialog_search_row_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType saved_search_dialog_search_row_type_id; + saved_search_dialog_search_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchDialogSearchRow", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&saved_search_dialog_search_row_type_id__volatile, saved_search_dialog_search_row_type_id); + } + return saved_search_dialog_search_row_type_id__volatile; +} + + +static gpointer saved_search_dialog_search_row_ref (gpointer instance) { + SavedSearchDialogSearchRow* self; + self = instance; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_atomic_int_inc (&self->ref_count); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return instance; +#line 3284 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_unref (gpointer instance) { + SavedSearchDialogSearchRow* self; + self = instance; +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->finalize (self); +#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3297 "SavedSearchDialog.c" + } +} + + +static void _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_text_on_changed ((SavedSearchDialogSearchRowText*) self); +#line 3305 "SavedSearchDialog.c" +} + + +static void _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) { +#line 191 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_text_on_changed ((SavedSearchDialogSearchRowText*) self); +#line 3312 "SavedSearchDialog.c" +} + + +static gpointer _saved_search_dialog_search_row_container_ref0 (gpointer self) { +#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self ? saved_search_dialog_search_row_container_ref (self) : NULL; +#line 3319 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) { + SavedSearchDialogSearchRowText* self = NULL; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkComboBoxText* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkComboBoxText* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + GtkComboBoxText* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GtkComboBoxText* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GtkComboBoxText* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + GtkComboBoxText* _tmp17_ = NULL; + GtkComboBoxText* _tmp18_ = NULL; + GtkEntry* _tmp19_ = NULL; + GtkEntry* _tmp20_ = NULL; + GtkEntry* _tmp21_ = NULL; + GtkEntry* _tmp22_ = NULL; + GtkBox* _tmp23_ = NULL; + GtkBox* _tmp24_ = NULL; + GtkComboBoxText* _tmp25_ = NULL; + GtkBox* _tmp26_ = NULL; + GtkEntry* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL); +#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRowText*) saved_search_dialog_search_row_construct (object_type); +#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = parent; +#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_); +#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->parent = _tmp1_; +#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp2_); +#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->text_context); +#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->text_context = _tmp2_; +#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->text_context; +#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _ ("contains"); +#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp4_); +#line 169 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->text_context; +#line 169 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _ ("is exactly"); +#line 169 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp6_); +#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->text_context; +#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = _ ("starts with"); +#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp7_, _tmp8_); +#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = self->priv->text_context; +#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = _ ("ends with"); +#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp9_, _tmp10_); +#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = self->priv->text_context; +#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = _ ("does not contain"); +#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp11_, _tmp12_); +#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = self->priv->text_context; +#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = _ ("is not set"); +#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp13_, _tmp14_); +#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = self->priv->text_context; +#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = _ ("is set"); +#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp15_, _tmp16_); +#line 175 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = self->priv->text_context; +#line 175 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 176 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = self->priv->text_context; +#line 176 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed, self); +#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = (GtkEntry*) gtk_entry_new (); +#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp19_); +#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->entry); +#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->entry = _tmp19_; +#line 179 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = self->priv->entry; +#line 179 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_entry_set_width_chars (_tmp20_, 25); +#line 180 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = self->priv->entry; +#line 180 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_entry_set_activates_default (_tmp21_, TRUE); +#line 181 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = self->priv->entry; +#line 181 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed, self); +#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); +#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp23_); +#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->box = _tmp23_; +#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp24_ = self->priv->box; +#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp25_ = self->priv->text_context; +#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp26_ = self->priv->box; +#line 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp27_ = self->priv->entry; +#line 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 186 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp28_ = self->priv->box; +#line 186 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget)); +#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 3470 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_new (SavedSearchDialogSearchRowContainer* parent) { +#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_search_row_text_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, parent); +#line 3477 "SavedSearchDialog.c" +} + + +static GtkWidget* saved_search_dialog_search_row_text_real_get_widget (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowText * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText); +#line 195 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->box; +#line 195 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 195 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 195 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 3496 "SavedSearchDialog.c" +} + + +static SearchCondition* saved_search_dialog_search_row_text_real_get_search_condition (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowText * self; + SearchCondition* result = NULL; + SearchConditionSearchType type = 0; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SearchConditionSearchType _tmp1_ = 0; + gchar* text = NULL; + GtkEntry* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SearchConditionTextContext context = 0; + SearchConditionTextContext _tmp5_ = 0; + SearchConditionText* c = NULL; + SearchConditionText* _tmp6_ = NULL; +#line 198 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText); +#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_); +#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + type = _tmp1_; +#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->entry; +#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = gtk_entry_get_text (_tmp2_); +#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + text = _tmp4_; +#line 201 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = saved_search_dialog_search_row_text_get_text_context (self); +#line 201 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + context = _tmp5_; +#line 202 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = search_condition_text_new (type, text, context); +#line 202 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = _tmp6_; +#line 203 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition); +#line 203 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (text); +#line 203 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 3544 "SavedSearchDialog.c" +} + + +static gpointer _search_condition_ref0 (gpointer self) { +#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self ? search_condition_ref (self) : NULL; +#line 3551 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_text_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) { + SavedSearchDialogSearchRowText * self; + SearchConditionText* text = NULL; + SearchCondition* _tmp0_ = NULL; + SearchConditionText* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + SearchConditionTextContext _tmp3_ = 0; + SearchConditionTextContext _tmp4_ = 0; + GtkEntry* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText); +#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SEARCH_CONDITION (sc)); +#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = sc; +#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_TEXT) ? ((SearchConditionText*) _tmp0_) : NULL); +#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + text = _tmp1_; +#line 208 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _vala_assert (text != NULL, "text != null"); +#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->text_context; +#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = search_condition_text_get_context (text); +#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_); +#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->entry; +#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = search_condition_text_get_text (text); +#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = _tmp6_; +#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_entry_set_text (_tmp5_, _tmp7_); +#line 211 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_text_on_changed (self); +#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _search_condition_unref0 (text); +#line 3598 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_text_real_is_complete (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowText * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GtkEntry* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText); +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->entry; +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = gtk_entry_get_text (_tmp2_); +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = string_chomp (_tmp4_); +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _tmp5_; +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = g_strcmp0 (_tmp6_, "") != 0; +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp6_); +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp7_) { +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = TRUE; +#line 3633 "SavedSearchDialog.c" + } else { + SearchConditionTextContext _tmp8_ = 0; +#line 216 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = saved_search_dialog_search_row_text_get_text_context (self); +#line 216 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _tmp8_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET; +#line 3640 "SavedSearchDialog.c" + } +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp1_) { +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = TRUE; +#line 3646 "SavedSearchDialog.c" + } else { + SearchConditionTextContext _tmp9_ = 0; +#line 217 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = saved_search_dialog_search_row_text_get_text_context (self); +#line 217 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = _tmp9_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_SET; +#line 3653 "SavedSearchDialog.c" + } +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp0_; +#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 3659 "SavedSearchDialog.c" +} + + +static SearchConditionTextContext saved_search_dialog_search_row_text_get_text_context (SavedSearchDialogSearchRowText* self) { + SearchConditionTextContext result = 0; + GtkComboBoxText* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 220 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT (self), 0); +#line 221 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->text_context; +#line 221 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox)); +#line 221 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = (SearchConditionTextContext) _tmp1_; +#line 221 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 3677 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_text_on_changed (SavedSearchDialogSearchRowText* self) { + gboolean _tmp0_ = FALSE; + SearchConditionTextContext _tmp1_ = 0; + SavedSearchDialogSearchRowContainer* _tmp5_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp6_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT (self)); +#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_text_get_text_context (self); +#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp1_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET) { +#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = TRUE; +#line 3694 "SavedSearchDialog.c" + } else { + SearchConditionTextContext _tmp2_ = 0; +#line 226 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = saved_search_dialog_search_row_text_get_text_context (self); +#line 226 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = _tmp2_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_SET; +#line 3701 "SavedSearchDialog.c" + } +#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp0_) { +#line 3705 "SavedSearchDialog.c" + GtkEntry* _tmp3_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->entry; +#line 227 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 3711 "SavedSearchDialog.c" + } else { + GtkEntry* _tmp4_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->entry; +#line 229 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 3718 "SavedSearchDialog.c" + } +#line 232 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->parent; +#line 232 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->parent; +#line 232 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_emit_by_name (_tmp5_, "changed", _tmp6_); +#line 3726 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_text_class_init (SavedSearchDialogSearchRowTextClass * klass) { +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_text_parent_class = g_type_class_peek_parent (klass); +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_text_finalize; +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowTextPrivate)); +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_text_real_get_widget; +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_text_real_get_search_condition; +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_text_real_populate; +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_text_real_is_complete; +#line 3745 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_text_instance_init (SavedSearchDialogSearchRowText * self) { +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_GET_PRIVATE (self); +#line 3752 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_text_finalize (SavedSearchDialogSearchRow* obj) { + SavedSearchDialogSearchRowText * self; + GtkComboBoxText* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkEntry* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText); +#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->text_context; +#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE); +#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed, self); +#line 191 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->entry; +#line 191 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", GTK_TYPE_EDITABLE, &_tmp3_, NULL, FALSE); +#line 191 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GTK_TYPE_EDITABLE, GtkEditable), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed, self); +#line 157 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 158 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->text_context); +#line 159 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->entry); +#line 161 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_text_parent_class)->finalize (obj); +#line 3786 "SavedSearchDialog.c" +} + + +static GType saved_search_dialog_search_row_text_get_type (void) { + static volatile gsize saved_search_dialog_search_row_text_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_search_row_text_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowTextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_text_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowText), 0, (GInstanceInitFunc) saved_search_dialog_search_row_text_instance_init, NULL }; + GType saved_search_dialog_search_row_text_type_id; + saved_search_dialog_search_row_text_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowText", &g_define_type_info, 0); + g_once_init_leave (&saved_search_dialog_search_row_text_type_id__volatile, saved_search_dialog_search_row_text_type_id); + } + return saved_search_dialog_search_row_text_type_id__volatile; +} + + +static void _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_media_type_on_changed ((SavedSearchDialogSearchRowMediaType*) self); +#line 3805 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) { + SavedSearchDialogSearchRowMediaType* self = NULL; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkComboBoxText* _tmp7_ = NULL; + GtkComboBoxText* _tmp8_ = NULL; + GtkComboBoxText* _tmp9_ = NULL; + GtkComboBoxText* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GtkComboBoxText* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GtkComboBoxText* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GtkComboBoxText* _tmp16_ = NULL; + GtkComboBoxText* _tmp17_ = NULL; + GtkBox* _tmp18_ = NULL; + GtkBox* _tmp19_ = NULL; + GtkComboBoxText* _tmp20_ = NULL; + GtkBox* _tmp21_ = NULL; + GtkComboBoxText* _tmp22_ = NULL; + GtkBox* _tmp23_ = NULL; +#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL); +#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRowMediaType*) saved_search_dialog_search_row_construct (object_type); +#line 244 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = parent; +#line 244 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_); +#line 244 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 244 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->parent = _tmp1_; +#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp2_); +#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->media_context); +#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->media_context = _tmp2_; +#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->media_context; +#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _ ("is"); +#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp4_); +#line 249 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->media_context; +#line 249 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _ ("is not"); +#line 249 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp6_); +#line 250 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->media_context; +#line 250 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 251 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = self->priv->media_context; +#line 251 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self); +#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp9_); +#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->media_type); +#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->media_type = _tmp9_; +#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = self->priv->media_type; +#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = _ ("any photo"); +#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp10_, _tmp11_); +#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = self->priv->media_type; +#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = _ ("a raw photo"); +#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp12_, _tmp13_); +#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = self->priv->media_type; +#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = _ ("a video"); +#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp14_, _tmp15_); +#line 258 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = self->priv->media_type; +#line 258 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 259 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = self->priv->media_type; +#line 259 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self); +#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); +#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp18_); +#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->box = _tmp18_; +#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = self->priv->box; +#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = self->priv->media_context; +#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = self->priv->box; +#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = self->priv->media_type; +#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 264 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = self->priv->box; +#line 264 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget)); +#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 3935 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_new (SavedSearchDialogSearchRowContainer* parent) { +#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_search_row_media_type_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, parent); +#line 3942 "SavedSearchDialog.c" +} + + +static GtkWidget* saved_search_dialog_search_row_media_type_real_get_widget (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowMediaType * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 272 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType); +#line 273 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->box; +#line 273 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 273 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 273 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 3961 "SavedSearchDialog.c" +} + + +static SearchCondition* saved_search_dialog_search_row_media_type_real_get_search_condition (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowMediaType * self; + SearchCondition* result = NULL; + SearchConditionSearchType search_type = 0; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SearchConditionSearchType _tmp1_ = 0; + SearchConditionMediaTypeContext context = 0; + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; + SearchConditionMediaTypeMediaType type = 0; + GtkComboBoxText* _tmp4_ = NULL; + gint _tmp5_ = 0; + SearchConditionMediaType* c = NULL; + SearchConditionMediaType* _tmp6_ = NULL; +#line 276 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType); +#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_); +#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_type = _tmp1_; +#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->media_context; +#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + context = (SearchConditionMediaTypeContext) _tmp3_; +#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->media_type; +#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox)); +#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + type = (SearchConditionMediaTypeMediaType) _tmp5_; +#line 280 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = search_condition_media_type_new (search_type, context, type); +#line 280 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = _tmp6_; +#line 281 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition); +#line 281 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 4007 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_media_type_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) { + SavedSearchDialogSearchRowMediaType * self; + SearchConditionMediaType* media = NULL; + SearchCondition* _tmp0_ = NULL; + SearchConditionMediaType* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + SearchConditionMediaTypeContext _tmp3_ = 0; + SearchConditionMediaTypeContext _tmp4_ = 0; + GtkComboBoxText* _tmp5_ = NULL; + SearchConditionMediaTypeMediaType _tmp6_ = 0; + SearchConditionMediaTypeMediaType _tmp7_ = 0; +#line 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType); +#line 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SEARCH_CONDITION (sc)); +#line 285 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = sc; +#line 285 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_MEDIA_TYPE) ? ((SearchConditionMediaType*) _tmp0_) : NULL); +#line 285 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + media = _tmp1_; +#line 286 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _vala_assert (media != NULL, "media != null"); +#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->media_context; +#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = search_condition_media_type_get_context (media); +#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_); +#line 288 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->media_type; +#line 288 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = search_condition_media_type_get_media_type (media); +#line 288 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = _tmp6_; +#line 288 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp7_); +#line 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _search_condition_unref0 (media); +#line 4052 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_media_type_real_is_complete (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowMediaType * self; + gboolean result = FALSE; +#line 291 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType); +#line 292 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = TRUE; +#line 292 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 4065 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_media_type_on_changed (SavedSearchDialogSearchRowMediaType* self) { + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; +#line 295 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MEDIA_TYPE (self)); +#line 296 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 296 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->parent; +#line 296 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_emit_by_name (_tmp0_, "changed", _tmp1_); +#line 4080 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_media_type_class_init (SavedSearchDialogSearchRowMediaTypeClass * klass) { +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_media_type_parent_class = g_type_class_peek_parent (klass); +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_media_type_finalize; +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowMediaTypePrivate)); +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_media_type_real_get_widget; +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_media_type_real_get_search_condition; +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_media_type_real_populate; +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_media_type_real_is_complete; +#line 4099 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_media_type_instance_init (SavedSearchDialogSearchRowMediaType * self) { +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_GET_PRIVATE (self); +#line 4106 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_media_type_finalize (SavedSearchDialogSearchRow* obj) { + SavedSearchDialogSearchRowMediaType * self; + GtkComboBoxText* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkComboBoxText* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType); +#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->media_context; +#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE); +#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self); +#line 269 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->media_type; +#line 269 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE); +#line 269 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self); +#line 237 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 238 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->media_context); +#line 239 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->media_type); +#line 241 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_media_type_parent_class)->finalize (obj); +#line 4140 "SavedSearchDialog.c" +} + + +static GType saved_search_dialog_search_row_media_type_get_type (void) { + static volatile gsize saved_search_dialog_search_row_media_type_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_search_row_media_type_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowMediaTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_media_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowMediaType), 0, (GInstanceInitFunc) saved_search_dialog_search_row_media_type_instance_init, NULL }; + GType saved_search_dialog_search_row_media_type_type_id; + saved_search_dialog_search_row_media_type_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowMediaType", &g_define_type_info, 0); + g_once_init_leave (&saved_search_dialog_search_row_media_type_type_id__volatile, saved_search_dialog_search_row_media_type_type_id); + } + return saved_search_dialog_search_row_media_type_type_id__volatile; +} + + +static void _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_modified_on_changed ((SavedSearchDialogSearchRowModified*) self); +#line 4159 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) { + SavedSearchDialogSearchRowModified* self = NULL; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkComboBoxText* _tmp7_ = NULL; + GtkComboBoxText* _tmp8_ = NULL; + GtkComboBoxText* _tmp9_ = NULL; + GtkComboBoxText* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GtkComboBoxText* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + GtkComboBoxText* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + GtkComboBoxText* _tmp16_ = NULL; + GtkComboBoxText* _tmp17_ = NULL; + GtkBox* _tmp18_ = NULL; + GtkBox* _tmp19_ = NULL; + GtkComboBoxText* _tmp20_ = NULL; + GtkBox* _tmp21_ = NULL; + GtkComboBoxText* _tmp22_ = NULL; + GtkBox* _tmp23_ = NULL; +#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL); +#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRowModified*) saved_search_dialog_search_row_construct (object_type); +#line 308 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = parent; +#line 308 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_); +#line 308 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 308 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->parent = _tmp1_; +#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp2_); +#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->modified_context); +#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->modified_context = _tmp2_; +#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->modified_context; +#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _ ("has"); +#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp4_); +#line 312 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->modified_context; +#line 312 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _ ("has no"); +#line 312 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp6_); +#line 313 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->modified_context; +#line 313 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 314 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = self->priv->modified_context; +#line 314 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self); +#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp9_); +#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->modified_state); +#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->modified_state = _tmp9_; +#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = self->priv->modified_state; +#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = _ ("modifications"); +#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp10_, _tmp11_); +#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = self->priv->modified_state; +#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = _ ("internal modifications"); +#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp12_, _tmp13_); +#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = self->priv->modified_state; +#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = _ ("external modifications"); +#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp14_, _tmp15_); +#line 320 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = self->priv->modified_state; +#line 320 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 321 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = self->priv->modified_state; +#line 321 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self); +#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); +#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp18_); +#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->box = _tmp18_; +#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = self->priv->box; +#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = self->priv->modified_context; +#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = self->priv->box; +#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = self->priv->modified_state; +#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 326 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = self->priv->box; +#line 326 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget)); +#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 4289 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_new (SavedSearchDialogSearchRowContainer* parent) { +#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_search_row_modified_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, parent); +#line 4296 "SavedSearchDialog.c" +} + + +static GtkWidget* saved_search_dialog_search_row_modified_real_get_widget (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowModified * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified); +#line 335 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->box; +#line 335 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 335 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 335 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 4315 "SavedSearchDialog.c" +} + + +static SearchCondition* saved_search_dialog_search_row_modified_real_get_search_condition (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowModified * self; + SearchCondition* result = NULL; + SearchConditionSearchType search_type = 0; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SearchConditionSearchType _tmp1_ = 0; + SearchConditionModifiedContext context = 0; + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; + SearchConditionModifiedState state = 0; + GtkComboBoxText* _tmp4_ = NULL; + gint _tmp5_ = 0; + SearchConditionModified* c = NULL; + SearchConditionModified* _tmp6_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified); +#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_); +#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_type = _tmp1_; +#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->modified_context; +#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + context = (SearchConditionModifiedContext) _tmp3_; +#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->modified_state; +#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox)); +#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + state = (SearchConditionModifiedState) _tmp5_; +#line 342 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = search_condition_modified_new (search_type, context, state); +#line 342 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = _tmp6_; +#line 343 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition); +#line 343 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 4361 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_modified_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) { + SavedSearchDialogSearchRowModified * self; + SearchConditionModified* scm = NULL; + SearchCondition* _tmp0_ = NULL; + SearchConditionModified* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + SearchConditionModifiedState _tmp3_ = 0; + SearchConditionModifiedState _tmp4_ = 0; + GtkComboBoxText* _tmp5_ = NULL; + SearchConditionModifiedContext _tmp6_ = 0; + SearchConditionModifiedContext _tmp7_ = 0; +#line 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified); +#line 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SEARCH_CONDITION (sc)); +#line 347 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = sc; +#line 347 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_MODIFIED) ? ((SearchConditionModified*) _tmp0_) : NULL); +#line 347 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + scm = _tmp1_; +#line 348 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _vala_assert (scm != NULL, "scm != null"); +#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->modified_state; +#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = search_condition_modified_get_state (scm); +#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_); +#line 350 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->modified_context; +#line 350 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = search_condition_modified_get_context (scm); +#line 350 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = _tmp6_; +#line 350 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp7_); +#line 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _search_condition_unref0 (scm); +#line 4406 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_modified_real_is_complete (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowModified * self; + gboolean result = FALSE; +#line 353 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified); +#line 354 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = TRUE; +#line 354 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 4419 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_modified_on_changed (SavedSearchDialogSearchRowModified* self) { + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; +#line 357 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MODIFIED (self)); +#line 358 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 358 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->parent; +#line 358 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_emit_by_name (_tmp0_, "changed", _tmp1_); +#line 4434 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_modified_class_init (SavedSearchDialogSearchRowModifiedClass * klass) { +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_modified_parent_class = g_type_class_peek_parent (klass); +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_modified_finalize; +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowModifiedPrivate)); +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_modified_real_get_widget; +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_modified_real_get_search_condition; +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_modified_real_populate; +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_modified_real_is_complete; +#line 4453 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_modified_instance_init (SavedSearchDialogSearchRowModified * self) { +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_GET_PRIVATE (self); +#line 4460 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_modified_finalize (SavedSearchDialogSearchRow* obj) { + SavedSearchDialogSearchRowModified * self; + GtkComboBoxText* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkComboBoxText* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified); +#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->modified_state; +#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE); +#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self); +#line 331 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->modified_context; +#line 331 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE); +#line 331 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self); +#line 301 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 302 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->modified_context); +#line 303 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->modified_state); +#line 305 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_modified_parent_class)->finalize (obj); +#line 4494 "SavedSearchDialog.c" +} + + +static GType saved_search_dialog_search_row_modified_get_type (void) { + static volatile gsize saved_search_dialog_search_row_modified_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_search_row_modified_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowModifiedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_modified_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowModified), 0, (GInstanceInitFunc) saved_search_dialog_search_row_modified_instance_init, NULL }; + GType saved_search_dialog_search_row_modified_type_id; + saved_search_dialog_search_row_modified_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowModified", &g_define_type_info, 0); + g_once_init_leave (&saved_search_dialog_search_row_modified_type_id__volatile, saved_search_dialog_search_row_modified_type_id); + } + return saved_search_dialog_search_row_modified_type_id__volatile; +} + + +static void _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 385 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_flagged_on_changed ((SavedSearchDialogSearchRowFlagged*) self); +#line 4513 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) { + SavedSearchDialogSearchRowFlagged* self = NULL; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkComboBoxText* _tmp7_ = NULL; + GtkComboBoxText* _tmp8_ = NULL; + GtkBox* _tmp9_ = NULL; + GtkBox* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GtkLabel* _tmp12_ = NULL; + GtkLabel* _tmp13_ = NULL; + GtkBox* _tmp14_ = NULL; + GtkComboBoxText* _tmp15_ = NULL; + GtkBox* _tmp16_ = NULL; +#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL); +#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRowFlagged*) saved_search_dialog_search_row_construct (object_type); +#line 369 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = parent; +#line 369 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_); +#line 369 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 369 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->parent = _tmp1_; +#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp2_); +#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->flagged_state); +#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->flagged_state = _tmp2_; +#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->flagged_state; +#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _ ("flagged"); +#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp4_); +#line 374 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->flagged_state; +#line 374 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _ ("not flagged"); +#line 374 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp6_); +#line 375 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->flagged_state; +#line 375 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 376 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = self->priv->flagged_state; +#line 376 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed, self); +#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); +#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp9_); +#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->box = _tmp9_; +#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = self->priv->box; +#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = _ ("is"); +#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = (GtkLabel*) gtk_label_new (_tmp11_); +#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp12_); +#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = _tmp12_; +#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp13_); +#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = self->priv->box; +#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = self->priv->flagged_state; +#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 381 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = self->priv->box; +#line 381 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget)); +#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 4610 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_new (SavedSearchDialogSearchRowContainer* parent) { +#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_search_row_flagged_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, parent); +#line 4617 "SavedSearchDialog.c" +} + + +static GtkWidget* saved_search_dialog_search_row_flagged_real_get_widget (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowFlagged * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 388 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged); +#line 389 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->box; +#line 389 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 389 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 389 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 4636 "SavedSearchDialog.c" +} + + +static SearchCondition* saved_search_dialog_search_row_flagged_real_get_search_condition (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowFlagged * self; + SearchCondition* result = NULL; + SearchConditionSearchType search_type = 0; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SearchConditionSearchType _tmp1_ = 0; + SearchConditionFlaggedState state = 0; + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; + SearchConditionFlagged* c = NULL; + SearchConditionFlagged* _tmp4_ = NULL; +#line 392 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged); +#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_); +#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_type = _tmp1_; +#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->flagged_state; +#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + state = (SearchConditionFlaggedState) _tmp3_; +#line 395 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = search_condition_flagged_new (search_type, state); +#line 395 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = _tmp4_; +#line 396 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition); +#line 396 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 4673 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_flagged_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) { + SavedSearchDialogSearchRowFlagged * self; + SearchConditionFlagged* f = NULL; + SearchCondition* _tmp0_ = NULL; + SearchConditionFlagged* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + SearchConditionFlaggedState _tmp3_ = 0; + SearchConditionFlaggedState _tmp4_ = 0; +#line 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged); +#line 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SEARCH_CONDITION (sc)); +#line 400 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = sc; +#line 400 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_FLAGGED) ? ((SearchConditionFlagged*) _tmp0_) : NULL); +#line 400 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + f = _tmp1_; +#line 401 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _vala_assert (f != NULL, "f != null"); +#line 402 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->flagged_state; +#line 402 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = search_condition_flagged_get_state (f); +#line 402 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 402 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_); +#line 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _search_condition_unref0 (f); +#line 4707 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_flagged_real_is_complete (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowFlagged * self; + gboolean result = FALSE; +#line 405 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged); +#line 406 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = TRUE; +#line 406 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 4720 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_flagged_on_changed (SavedSearchDialogSearchRowFlagged* self) { + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; +#line 409 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_FLAGGED (self)); +#line 410 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 410 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->parent; +#line 410 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_emit_by_name (_tmp0_, "changed", _tmp1_); +#line 4735 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_flagged_class_init (SavedSearchDialogSearchRowFlaggedClass * klass) { +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_flagged_parent_class = g_type_class_peek_parent (klass); +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_flagged_finalize; +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowFlaggedPrivate)); +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_flagged_real_get_widget; +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_flagged_real_get_search_condition; +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_flagged_real_populate; +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_flagged_real_is_complete; +#line 4754 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_flagged_instance_init (SavedSearchDialogSearchRowFlagged * self) { +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_GET_PRIVATE (self); +#line 4761 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_flagged_finalize (SavedSearchDialogSearchRow* obj) { + SavedSearchDialogSearchRowFlagged * self; + GtkComboBoxText* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged); +#line 385 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->flagged_state; +#line 385 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE); +#line 385 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed, self); +#line 363 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 364 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->flagged_state); +#line 366 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_flagged_parent_class)->finalize (obj); +#line 4785 "SavedSearchDialog.c" +} + + +static GType saved_search_dialog_search_row_flagged_get_type (void) { + static volatile gsize saved_search_dialog_search_row_flagged_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_search_row_flagged_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowFlaggedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_flagged_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowFlagged), 0, (GInstanceInitFunc) saved_search_dialog_search_row_flagged_instance_init, NULL }; + GType saved_search_dialog_search_row_flagged_type_id; + saved_search_dialog_search_row_flagged_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowFlagged", &g_define_type_info, 0); + g_once_init_leave (&saved_search_dialog_search_row_flagged_type_id__volatile, saved_search_dialog_search_row_flagged_type_id); + } + return saved_search_dialog_search_row_flagged_type_id__volatile; +} + + +static void _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_rating_on_changed ((SavedSearchDialogSearchRowRating*) self); +#line 4804 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) { + SavedSearchDialogSearchRowRating* self = NULL; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkComboBoxText* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkComboBoxText* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + GtkComboBoxText* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GtkComboBoxText* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GtkComboBoxText* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + GtkComboBoxText* _tmp17_ = NULL; + GtkComboBoxText* _tmp18_ = NULL; + GtkComboBoxText* _tmp19_ = NULL; + GtkComboBoxText* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GtkComboBoxText* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + GtkComboBoxText* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + GtkComboBoxText* _tmp26_ = NULL; + GtkComboBoxText* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; + GtkBox* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + GtkLabel* _tmp31_ = NULL; + GtkLabel* _tmp32_ = NULL; + GtkBox* _tmp33_ = NULL; + GtkComboBoxText* _tmp34_ = NULL; + GtkBox* _tmp35_ = NULL; + GtkComboBoxText* _tmp36_ = NULL; + GtkBox* _tmp37_ = NULL; +#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL); +#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRowRating*) saved_search_dialog_search_row_construct (object_type); +#line 422 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = parent; +#line 422 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_); +#line 422 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 422 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->parent = _tmp1_; +#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp2_); +#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->rating); +#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->rating = _tmp2_; +#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->rating; +#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = resources_rating_combo_box (RATING_REJECTED); +#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp4_); +#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->rating; +#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = resources_rating_combo_box (RATING_UNRATED); +#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp6_); +#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->rating; +#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = resources_rating_combo_box (RATING_ONE); +#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp7_, _tmp8_); +#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = self->priv->rating; +#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = resources_rating_combo_box (RATING_TWO); +#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp9_, _tmp10_); +#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = self->priv->rating; +#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = resources_rating_combo_box (RATING_THREE); +#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp11_, _tmp12_); +#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = self->priv->rating; +#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = resources_rating_combo_box (RATING_FOUR); +#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp13_, _tmp14_); +#line 432 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = self->priv->rating; +#line 432 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = resources_rating_combo_box (RATING_FIVE); +#line 432 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp15_, _tmp16_); +#line 433 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = self->priv->rating; +#line 433 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 434 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = self->priv->rating; +#line 434 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self); +#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp19_); +#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->context); +#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->context = _tmp19_; +#line 437 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = self->priv->context; +#line 437 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = _ ("and higher"); +#line 437 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp20_, _tmp21_); +#line 438 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = self->priv->context; +#line 438 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = _ ("only"); +#line 438 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp22_, _tmp23_); +#line 439 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp24_ = self->priv->context; +#line 439 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp25_ = _ ("and lower"); +#line 439 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp24_, _tmp25_); +#line 440 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp26_ = self->priv->context; +#line 440 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 441 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp27_ = self->priv->context; +#line 441 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self); +#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp28_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); +#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp28_); +#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->box = _tmp28_; +#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp29_ = self->priv->box; +#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp30_ = _ ("is"); +#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp31_ = (GtkLabel*) gtk_label_new (_tmp30_); +#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp31_); +#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp32_ = _tmp31_; +#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_tmp32_); +#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp33_ = self->priv->box; +#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp34_ = self->priv->rating; +#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp33_, G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 446 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp35_ = self->priv->box; +#line 446 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp36_ = self->priv->context; +#line 446 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp35_, G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 447 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp37_ = self->priv->box; +#line 447 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget)); +#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 4992 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_new (SavedSearchDialogSearchRowContainer* parent) { +#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_search_row_rating_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, parent); +#line 4999 "SavedSearchDialog.c" +} + + +static GtkWidget* saved_search_dialog_search_row_rating_real_get_widget (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowRating * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 455 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating); +#line 456 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->box; +#line 456 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 456 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 456 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 5018 "SavedSearchDialog.c" +} + + +static SearchCondition* saved_search_dialog_search_row_rating_real_get_search_condition (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowRating * self; + SearchCondition* result = NULL; + SearchConditionSearchType search_type = 0; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SearchConditionSearchType _tmp1_ = 0; + Rating search_rating = 0; + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; + SearchConditionRatingContext search_context = 0; + GtkComboBoxText* _tmp4_ = NULL; + gint _tmp5_ = 0; + SearchConditionRating* c = NULL; + SearchConditionRating* _tmp6_ = NULL; +#line 459 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating); +#line 460 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 460 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_); +#line 460 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_type = _tmp1_; +#line 461 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->rating; +#line 461 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 461 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_rating = ((Rating) _tmp3_) + RATING_REJECTED; +#line 462 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->context; +#line 462 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox)); +#line 462 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_context = (SearchConditionRatingContext) _tmp5_; +#line 463 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = search_condition_rating_new (search_type, search_rating, search_context); +#line 463 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = _tmp6_; +#line 464 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition); +#line 464 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 5064 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_rating_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) { + SavedSearchDialogSearchRowRating * self; + SearchConditionRating* r = NULL; + SearchCondition* _tmp0_ = NULL; + SearchConditionRating* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + SearchConditionRatingContext _tmp3_ = 0; + SearchConditionRatingContext _tmp4_ = 0; + GtkComboBoxText* _tmp5_ = NULL; + Rating _tmp6_ = 0; + Rating _tmp7_ = 0; +#line 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating); +#line 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SEARCH_CONDITION (sc)); +#line 468 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = sc; +#line 468 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_RATING) ? ((SearchConditionRating*) _tmp0_) : NULL); +#line 468 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + r = _tmp1_; +#line 469 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _vala_assert (r != NULL, "r != null"); +#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->context; +#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = search_condition_rating_get_context (r); +#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_); +#line 471 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->rating; +#line 471 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = search_condition_rating_get_rating (r); +#line 471 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = _tmp6_; +#line 471 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), (gint) (_tmp7_ - RATING_REJECTED)); +#line 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _search_condition_unref0 (r); +#line 5109 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_rating_real_is_complete (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowRating * self; + gboolean result = FALSE; +#line 474 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating); +#line 475 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = TRUE; +#line 475 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 5122 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_rating_on_changed (SavedSearchDialogSearchRowRating* self) { + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; +#line 478 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_RATING (self)); +#line 479 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 479 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->parent; +#line 479 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_emit_by_name (_tmp0_, "changed", _tmp1_); +#line 5137 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_rating_class_init (SavedSearchDialogSearchRowRatingClass * klass) { +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_rating_parent_class = g_type_class_peek_parent (klass); +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_rating_finalize; +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowRatingPrivate)); +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_rating_real_get_widget; +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_rating_real_get_search_condition; +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_rating_real_populate; +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_rating_real_is_complete; +#line 5156 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_rating_instance_init (SavedSearchDialogSearchRowRating * self) { +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_GET_PRIVATE (self); +#line 5163 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_rating_finalize (SavedSearchDialogSearchRow* obj) { + SavedSearchDialogSearchRowRating * self; + GtkComboBoxText* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkComboBoxText* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating); +#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->rating; +#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE); +#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self); +#line 452 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->context; +#line 452 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE); +#line 452 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self); +#line 415 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 416 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->rating); +#line 417 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->context); +#line 419 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_rating_parent_class)->finalize (obj); +#line 5197 "SavedSearchDialog.c" +} + + +static GType saved_search_dialog_search_row_rating_get_type (void) { + static volatile gsize saved_search_dialog_search_row_rating_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_search_row_rating_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowRating), 0, (GInstanceInitFunc) saved_search_dialog_search_row_rating_instance_init, NULL }; + GType saved_search_dialog_search_row_rating_type_id; + saved_search_dialog_search_row_rating_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowRating", &g_define_type_info, 0); + g_once_init_leave (&saved_search_dialog_search_row_rating_type_id__volatile, saved_search_dialog_search_row_rating_type_id); + } + return saved_search_dialog_search_row_rating_type_id__volatile; +} + + +static void _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { +#line 529 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_on_changed ((SavedSearchDialogSearchRowDate*) self); +#line 5216 "SavedSearchDialog.c" +} + + +static void _saved_search_dialog_search_row_date_on_one_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_on_one_clicked ((SavedSearchDialogSearchRowDate*) self); +#line 5223 "SavedSearchDialog.c" +} + + +static void _saved_search_dialog_search_row_date_on_two_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { +#line 514 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_on_two_clicked ((SavedSearchDialogSearchRowDate*) self); +#line 5230 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) { + SavedSearchDialogSearchRowDate* self = NULL; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + GtkComboBoxText* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GtkComboBoxText* _tmp5_ = NULL; + const gchar* _tmp6_ = NULL; + GtkComboBoxText* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GtkComboBoxText* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + GtkComboBoxText* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + GtkComboBoxText* _tmp13_ = NULL; + GtkComboBoxText* _tmp14_ = NULL; + GtkCalendar* _tmp15_ = NULL; + GtkCalendar* _tmp16_ = NULL; + GtkButton* _tmp17_ = NULL; + GtkButton* _tmp18_ = NULL; + GtkButton* _tmp19_ = NULL; + GtkButton* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + GtkLabel* _tmp22_ = NULL; + GtkBox* _tmp23_ = NULL; + GtkBox* _tmp24_ = NULL; + GtkComboBoxText* _tmp25_ = NULL; + GtkBox* _tmp26_ = NULL; + GtkButton* _tmp27_ = NULL; + GtkBox* _tmp28_ = NULL; + GtkLabel* _tmp29_ = NULL; + GtkBox* _tmp30_ = NULL; + GtkButton* _tmp31_ = NULL; + GtkBox* _tmp32_ = NULL; +#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL); +#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = (SavedSearchDialogSearchRowDate*) saved_search_dialog_search_row_construct (object_type); +#line 496 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = parent; +#line 496 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_); +#line 496 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 496 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->parent = _tmp1_; +#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new (); +#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp2_); +#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->context); +#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->context = _tmp2_; +#line 500 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->context; +#line 500 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _ ("is exactly"); +#line 500 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp3_, _tmp4_); +#line 501 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->context; +#line 501 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _ ("is after"); +#line 501 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp5_, _tmp6_); +#line 502 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->context; +#line 502 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = _ ("is before"); +#line 502 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp7_, _tmp8_); +#line 503 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = self->priv->context; +#line 503 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = _ ("is between"); +#line 503 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp9_, _tmp10_); +#line 504 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = self->priv->context; +#line 504 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = _ ("is not set"); +#line 504 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_text_append_text (_tmp11_, _tmp12_); +#line 505 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = self->priv->context; +#line 505 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_combo_box_get_type (), GtkComboBox), 0); +#line 506 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = self->priv->context; +#line 506 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed, self); +#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = (GtkCalendar*) gtk_calendar_new (); +#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp15_); +#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->cal_one); +#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->cal_one = _tmp15_; +#line 509 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = (GtkCalendar*) gtk_calendar_new (); +#line 509 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp16_); +#line 509 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->cal_two); +#line 509 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->cal_two = _tmp16_; +#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = (GtkButton*) gtk_button_new (); +#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp17_); +#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->label_one); +#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->label_one = _tmp17_; +#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = self->priv->label_one; +#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (_tmp18_, "clicked", (GCallback) _saved_search_dialog_search_row_date_on_one_clicked_gtk_button_clicked, self); +#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = (GtkButton*) gtk_button_new (); +#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp19_); +#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->label_two); +#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->label_two = _tmp19_; +#line 514 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = self->priv->label_two; +#line 514 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_connect (_tmp20_, "clicked", (GCallback) _saved_search_dialog_search_row_date_on_two_clicked_gtk_button_clicked, self); +#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = _ ("and"); +#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = (GtkLabel*) gtk_label_new (_tmp21_); +#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp22_); +#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->and); +#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->and = _tmp22_; +#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); +#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp23_); +#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->box = _tmp23_; +#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp24_ = self->priv->box; +#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp25_ = self->priv->context; +#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp26_ = self->priv->box; +#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp27_ = self->priv->label_one; +#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 521 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp28_ = self->priv->box; +#line 521 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp29_ = self->priv->and; +#line 521 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp28_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 522 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp30_ = self->priv->box; +#line 522 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp31_ = self->priv->label_two; +#line 522 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_box_pack_start (_tmp30_, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0); +#line 524 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp32_ = self->priv->box; +#line 524 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget)); +#line 525 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_update_date_labels (self); +#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return self; +#line 5417 "SavedSearchDialog.c" +} + + +static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_new (SavedSearchDialogSearchRowContainer* parent) { +#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return saved_search_dialog_search_row_date_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, parent); +#line 5424 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_update_date_labels (SavedSearchDialogSearchRowDate* self) { + SearchConditionDateContext c = 0; + GtkComboBoxText* _tmp0_ = NULL; + gint _tmp1_ = 0; + SearchConditionDateContext _tmp2_ = 0; + GtkButton* _tmp13_ = NULL; + GDateTime* _tmp14_ = NULL; + GDateTime* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GtkButton* _tmp18_ = NULL; + GDateTime* _tmp19_ = NULL; + GDateTime* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self)); +#line 533 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->context; +#line 533 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox)); +#line 533 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = (SearchConditionDateContext) _tmp1_; +#line 536 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = c; +#line 536 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp2_ == SEARCH_CONDITION_DATE_CONTEXT_BETWEEN) { +#line 5455 "SavedSearchDialog.c" + GtkButton* _tmp3_ = NULL; + GtkLabel* _tmp4_ = NULL; + GtkButton* _tmp5_ = NULL; +#line 537 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->label_one; +#line 537 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget)); +#line 538 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = self->priv->and; +#line 538 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget)); +#line 539 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = self->priv->label_two; +#line 539 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget)); +#line 5471 "SavedSearchDialog.c" + } else { + SearchConditionDateContext _tmp6_ = 0; +#line 540 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = c; +#line 540 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp6_ == SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET) { +#line 5478 "SavedSearchDialog.c" + GtkButton* _tmp7_ = NULL; + GtkLabel* _tmp8_ = NULL; + GtkButton* _tmp9_ = NULL; +#line 541 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = self->priv->label_one; +#line 541 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget)); +#line 542 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = self->priv->and; +#line 542 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget)); +#line 543 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = self->priv->label_two; +#line 543 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget)); +#line 5494 "SavedSearchDialog.c" + } else { + GtkButton* _tmp10_ = NULL; + GtkLabel* _tmp11_ = NULL; + GtkButton* _tmp12_ = NULL; +#line 545 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = self->priv->label_one; +#line 545 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget)); +#line 546 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = self->priv->and; +#line 546 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget)); +#line 547 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = self->priv->label_two; +#line 547 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget)); +#line 5511 "SavedSearchDialog.c" + } + } +#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = self->priv->label_one; +#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = saved_search_dialog_search_row_date_get_date_one (self); +#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = _tmp14_; +#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = g_date_time_format (_tmp15_, SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT); +#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = _tmp16_; +#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_button_set_label (_tmp13_, _tmp17_); +#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp17_); +#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_date_time_unref0 (_tmp15_); +#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = self->priv->label_two; +#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = saved_search_dialog_search_row_date_get_date_two (self); +#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = _tmp19_; +#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = g_date_time_format (_tmp20_, SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT); +#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = _tmp21_; +#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_button_set_label (_tmp18_, _tmp22_); +#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_free0 (_tmp22_); +#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_date_time_unref0 (_tmp20_); +#line 5546 "SavedSearchDialog.c" +} + + +static GtkWidget* saved_search_dialog_search_row_date_real_get_widget (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowDate * self; + GtkWidget* result = NULL; + GtkBox* _tmp0_ = NULL; + GtkWidget* _tmp1_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate); +#line 556 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->box; +#line 556 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget)); +#line 556 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp1_; +#line 556 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 5565 "SavedSearchDialog.c" +} + + +static GDateTime* saved_search_dialog_search_row_date_get_date_one (SavedSearchDialogSearchRowDate* self) { + GDateTime* result = NULL; + GtkCalendar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GtkCalendar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GtkCalendar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GDateTime* _tmp9_ = NULL; +#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self), NULL); +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->cal_one; +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp0_, "year", &_tmp1_, NULL); +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = _tmp1_; +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->cal_one; +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp3_, "month", &_tmp4_, NULL); +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = _tmp4_; +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->cal_one; +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp6_, "day", &_tmp7_, NULL); +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = _tmp7_; +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = g_date_time_new_local (_tmp2_, _tmp5_ + 1, _tmp8_, 0, 0, 0.0); +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp9_; +#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 5607 "SavedSearchDialog.c" +} + + +static GDateTime* saved_search_dialog_search_row_date_get_date_two (SavedSearchDialogSearchRowDate* self) { + GDateTime* result = NULL; + GtkCalendar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GtkCalendar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GtkCalendar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GDateTime* _tmp9_ = NULL; +#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self), NULL); +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->cal_two; +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp0_, "year", &_tmp1_, NULL); +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = _tmp1_; +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->cal_two; +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp3_, "month", &_tmp4_, NULL); +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = _tmp4_; +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->cal_two; +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp6_, "day", &_tmp7_, NULL); +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = _tmp7_; +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = g_date_time_new_local (_tmp2_, _tmp5_ + 1, _tmp8_, 0, 0, 0.0); +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = _tmp9_; +#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 5649 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_set_date_one (SavedSearchDialogSearchRowDate* self, GDateTime* date) { + GtkCalendar* _tmp0_ = NULL; + GDateTime* _tmp1_ = NULL; + gint _tmp2_ = 0; + GtkCalendar* _tmp3_ = NULL; + GDateTime* _tmp4_ = NULL; + gint _tmp5_ = 0; + GtkCalendar* _tmp6_ = NULL; + GDateTime* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 567 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self)); +#line 567 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (date != NULL); +#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->cal_one; +#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = date; +#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = g_date_time_get_day_of_month (_tmp1_); +#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp0_, "day", _tmp2_, NULL); +#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->cal_one; +#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = date; +#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = g_date_time_get_month (_tmp4_); +#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp3_, "month", _tmp5_ - 1, NULL); +#line 570 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->cal_one; +#line 570 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = date; +#line 570 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = g_date_time_get_year (_tmp7_); +#line 570 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp6_, "year", _tmp8_, NULL); +#line 5691 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_set_date_two (SavedSearchDialogSearchRowDate* self, GDateTime* date) { + GtkCalendar* _tmp0_ = NULL; + GDateTime* _tmp1_ = NULL; + gint _tmp2_ = 0; + GtkCalendar* _tmp3_ = NULL; + GDateTime* _tmp4_ = NULL; + gint _tmp5_ = 0; + GtkCalendar* _tmp6_ = NULL; + GDateTime* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 573 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self)); +#line 573 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (date != NULL); +#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->cal_two; +#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = date; +#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = g_date_time_get_day_of_month (_tmp1_); +#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp0_, "day", _tmp2_, NULL); +#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = self->priv->cal_two; +#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = date; +#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = g_date_time_get_month (_tmp4_); +#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp3_, "month", _tmp5_ - 1, NULL); +#line 576 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = self->priv->cal_two; +#line 576 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = date; +#line 576 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = g_date_time_get_year (_tmp7_); +#line 576 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp6_, "year", _tmp8_, NULL); +#line 5733 "SavedSearchDialog.c" +} + + +static SearchCondition* saved_search_dialog_search_row_date_real_get_search_condition (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowDate * self; + SearchCondition* result = NULL; + SearchConditionSearchType search_type = 0; + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SearchConditionSearchType _tmp1_ = 0; + SearchConditionDateContext search_context = 0; + GtkComboBoxText* _tmp2_ = NULL; + gint _tmp3_ = 0; + SearchConditionDate* c = NULL; + GDateTime* _tmp4_ = NULL; + GDateTime* _tmp5_ = NULL; + GDateTime* _tmp6_ = NULL; + GDateTime* _tmp7_ = NULL; + SearchConditionDate* _tmp8_ = NULL; + SearchConditionDate* _tmp9_ = NULL; +#line 579 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate); +#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_); +#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_type = _tmp1_; +#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->context; +#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox)); +#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + search_context = (SearchConditionDateContext) _tmp3_; +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = saved_search_dialog_search_row_date_get_date_one (self); +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = _tmp4_; +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = saved_search_dialog_search_row_date_get_date_two (self); +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = _tmp6_; +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = search_condition_date_new (search_type, search_context, _tmp5_, _tmp7_); +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = _tmp8_; +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_date_time_unref0 (_tmp7_); +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_date_time_unref0 (_tmp5_); +#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + c = _tmp9_; +#line 584 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition); +#line 584 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 5789 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) { + SavedSearchDialogSearchRowDate * self; + SearchConditionDate* cond = NULL; + SearchCondition* _tmp0_ = NULL; + SearchConditionDate* _tmp1_ = NULL; + GtkComboBoxText* _tmp2_ = NULL; + SearchConditionDateContext _tmp3_ = 0; + SearchConditionDateContext _tmp4_ = 0; + GDateTime* _tmp5_ = NULL; + GDateTime* _tmp6_ = NULL; + GDateTime* _tmp7_ = NULL; + GDateTime* _tmp8_ = NULL; +#line 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate); +#line 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (IS_SEARCH_CONDITION (sc)); +#line 588 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = sc; +#line 588 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_DATE) ? ((SearchConditionDate*) _tmp0_) : NULL); +#line 588 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + cond = _tmp1_; +#line 589 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _vala_assert (cond != NULL, "cond != null"); +#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = self->priv->context; +#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = search_condition_date_get_context (cond); +#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp4_ = _tmp3_; +#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_); +#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = search_condition_date_get_date_one (cond); +#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = _tmp5_; +#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_set_date_one (self, _tmp6_); +#line 592 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp7_ = search_condition_date_get_date_two (cond); +#line 592 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = _tmp7_; +#line 592 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_set_date_two (self, _tmp8_); +#line 593 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_update_date_labels (self); +#line 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _search_condition_unref0 (cond); +#line 5841 "SavedSearchDialog.c" +} + + +static gboolean saved_search_dialog_search_row_date_real_is_complete (SavedSearchDialogSearchRow* base) { + SavedSearchDialogSearchRowDate * self; + gboolean result = FALSE; +#line 596 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate); +#line 597 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + result = TRUE; +#line 597 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return result; +#line 5854 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_on_changed (SavedSearchDialogSearchRowDate* self) { + SavedSearchDialogSearchRowContainer* _tmp0_ = NULL; + SavedSearchDialogSearchRowContainer* _tmp1_ = NULL; +#line 600 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self)); +#line 601 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->parent; +#line 601 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp1_ = self->priv->parent; +#line 601 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_emit_by_name (_tmp0_, "changed", _tmp1_); +#line 602 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_update_date_labels (self); +#line 5871 "SavedSearchDialog.c" +} + + +static Block9Data* block9_data_ref (Block9Data* _data9_) { +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_atomic_int_inc (&_data9_->_ref_count_); +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return _data9_; +#line 5880 "SavedSearchDialog.c" +} + + +static void block9_data_unref (void * _userdata_) { + Block9Data* _data9_; + _data9_ = (Block9Data*) _userdata_; +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (g_atomic_int_dec_and_test (&_data9_->_ref_count_)) { +#line 5889 "SavedSearchDialog.c" + SavedSearchDialogSearchRowDate* self; +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = _data9_->self; +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (_data9_->d); +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_unref0 (self); +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_slice_free (Block9Data, _data9_); +#line 5899 "SavedSearchDialog.c" + } +} + + +static void __lambda12_ (SavedSearchDialogSearchRowDate* self) { +#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_update_date_labels (self); +#line 5907 "SavedSearchDialog.c" +} + + +static void ___lambda12__gtk_calendar_day_selected (GtkCalendar* _sender, gpointer self) { +#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + __lambda12_ ((SavedSearchDialogSearchRowDate*) self); +#line 5914 "SavedSearchDialog.c" +} + + +static void __lambda13_ (Block9Data* _data9_) { + SavedSearchDialogSearchRowDate* self; + GtkDialog* _tmp0_ = NULL; +#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = _data9_->self; +#line 618 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = _data9_->d; +#line 618 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_dialog_response (_tmp0_, (gint) GTK_RESPONSE_ACCEPT); +#line 5927 "SavedSearchDialog.c" +} + + +static void ___lambda13__gtk_calendar_day_selected_double_click (GtkCalendar* _sender, gpointer self) { +#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + __lambda13_ (self); +#line 5934 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_popup_calendar (SavedSearchDialogSearchRowDate* self, GtkCalendar* cal) { + Block9Data* _data9_; + gint orig_day = 0; + GtkCalendar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint orig_month = 0; + GtkCalendar* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gint orig_year = 0; + GtkCalendar* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + GtkDialog* _tmp9_ = NULL; + GtkDialog* _tmp10_ = NULL; + GtkDialog* _tmp11_ = NULL; + GtkDialog* _tmp12_ = NULL; + GtkDialog* _tmp13_ = NULL; + GtkBox* _tmp14_ = NULL; + GtkCalendar* _tmp15_ = NULL; + gulong id_1 = 0UL; + GtkCalendar* _tmp16_ = NULL; + gulong _tmp17_ = 0UL; + gulong id_2 = 0UL; + GtkCalendar* _tmp18_ = NULL; + gulong _tmp19_ = 0UL; + GtkDialog* _tmp20_ = NULL; + gint res = 0; + GtkDialog* _tmp21_ = NULL; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + GtkCalendar* _tmp30_ = NULL; + gulong _tmp31_ = 0UL; + GtkCalendar* _tmp32_ = NULL; + gulong _tmp33_ = 0UL; + GtkDialog* _tmp34_ = NULL; +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self)); +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (GTK_IS_CALENDAR (cal)); +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _data9_ = g_slice_new0 (Block9Data); +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _data9_->_ref_count_ = 1; +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _data9_->self = saved_search_dialog_search_row_ref (self); +#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = cal; +#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp0_, "day", &_tmp1_, NULL); +#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp2_ = _tmp1_; +#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + orig_day = _tmp2_; +#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp3_ = cal; +#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp3_, "month", &_tmp4_, NULL); +#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp5_ = _tmp4_; +#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + orig_month = _tmp5_; +#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp6_ = cal; +#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_get (_tmp6_, "year", &_tmp7_, NULL); +#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp8_ = _tmp7_; +#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + orig_year = _tmp8_; +#line 609 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp9_ = (GtkDialog*) gtk_dialog_new_with_buttons (NULL, NULL, GTK_DIALOG_MODAL, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_REJECT, RESOURCES_OK_LABEL, GTK_RESPONSE_ACCEPT, NULL); +#line 609 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_ref_sink (_tmp9_); +#line 609 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _data9_->d = _tmp9_; +#line 612 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp10_ = _data9_->d; +#line 612 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_window_set_modal (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_window_get_type (), GtkWindow), TRUE); +#line 613 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp11_ = _data9_->d; +#line 613 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_window_get_type (), GtkWindow), FALSE); +#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp12_ = _data9_->d; +#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_window_set_decorated (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_window_get_type (), GtkWindow), FALSE); +#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp13_ = _data9_->d; +#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp14_ = (GtkBox*) gtk_dialog_get_content_area (_tmp13_); +#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp15_ = cal; +#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_box_get_type (), GtkBox), gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget)); +#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp16_ = cal; +#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp17_ = g_signal_connect (_tmp16_, "day-selected", (GCallback) ___lambda12__gtk_calendar_day_selected, self); +#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + id_1 = _tmp17_; +#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp18_ = cal; +#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp19_ = g_signal_connect_data (_tmp18_, "day-selected-double-click", (GCallback) ___lambda13__gtk_calendar_day_selected_double_click, block9_data_ref (_data9_), (GClosureNotify) block9_data_unref, 0); +#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + id_2 = _tmp19_; +#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp20_ = _data9_->d; +#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget)); +#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp21_ = _data9_->d; +#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp22_ = gtk_dialog_run (_tmp21_); +#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + res = _tmp22_; +#line 622 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp23_ = res; +#line 622 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (_tmp23_ != ((gint) GTK_RESPONSE_ACCEPT)) { +#line 6061 "SavedSearchDialog.c" + GtkCalendar* _tmp24_ = NULL; + gint _tmp25_ = 0; + GtkCalendar* _tmp26_ = NULL; + gint _tmp27_ = 0; + GtkCalendar* _tmp28_ = NULL; + gint _tmp29_ = 0; +#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp24_ = cal; +#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp25_ = orig_day; +#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp24_, "day", _tmp25_, NULL); +#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp26_ = cal; +#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp27_ = orig_month; +#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp26_, "month", _tmp27_, NULL); +#line 626 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp28_ = cal; +#line 626 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp29_ = orig_year; +#line 626 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_object_set (_tmp28_, "year", _tmp29_, NULL); +#line 6086 "SavedSearchDialog.c" + } +#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp30_ = cal; +#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp31_ = id_1; +#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handler_disconnect (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, G_TYPE_OBJECT, GObject), _tmp31_); +#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp32_ = cal; +#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp33_ = id_2; +#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handler_disconnect (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, G_TYPE_OBJECT, GObject), _tmp33_); +#line 630 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp34_ = _data9_->d; +#line 630 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget)); +#line 631 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_update_date_labels (self); +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + block9_data_unref (_data9_); +#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _data9_ = NULL; +#line 6110 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_on_one_clicked (SavedSearchDialogSearchRowDate* self) { + GtkCalendar* _tmp0_ = NULL; +#line 634 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self)); +#line 635 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->cal_one; +#line 635 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_popup_calendar (self, _tmp0_); +#line 6122 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_on_two_clicked (SavedSearchDialogSearchRowDate* self) { + GtkCalendar* _tmp0_ = NULL; +#line 638 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self)); +#line 639 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->cal_two; +#line 639 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_popup_calendar (self, _tmp0_); +#line 6134 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_class_init (SavedSearchDialogSearchRowDateClass * klass) { +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_search_row_date_parent_class = g_type_class_peek_parent (klass); +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_date_finalize; +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowDatePrivate)); +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_date_real_get_widget; +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_date_real_get_search_condition; +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_date_real_populate; +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_date_real_is_complete; +#line 6153 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_instance_init (SavedSearchDialogSearchRowDate * self) { +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_GET_PRIVATE (self); +#line 6160 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_search_row_date_finalize (SavedSearchDialogSearchRow* obj) { + SavedSearchDialogSearchRowDate * self; + GtkComboBoxText* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate); +#line 529 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->context; +#line 529 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE); +#line 529 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed, self); +#line 485 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->box); +#line 486 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->context); +#line 487 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->label_one); +#line 488 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->label_two); +#line 489 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->cal_one); +#line 490 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->cal_two); +#line 491 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->and); +#line 493 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _saved_search_dialog_search_row_container_unref0 (self->priv->parent); +#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_date_parent_class)->finalize (obj); +#line 6194 "SavedSearchDialog.c" +} + + +static GType saved_search_dialog_search_row_date_get_type (void) { + static volatile gsize saved_search_dialog_search_row_date_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_search_row_date_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowDateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_date_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowDate), 0, (GInstanceInitFunc) saved_search_dialog_search_row_date_instance_init, NULL }; + GType saved_search_dialog_search_row_date_type_id; + saved_search_dialog_search_row_date_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowDate", &g_define_type_info, 0); + g_once_init_leave (&saved_search_dialog_search_row_date_type_id__volatile, saved_search_dialog_search_row_date_type_id); + } + return saved_search_dialog_search_row_date_type_id__volatile; +} + + +static void value_saved_search_dialog_init (GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 6213 "SavedSearchDialog.c" +} + + +static void value_saved_search_dialog_free_value (GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_unref (value->data[0].v_pointer); +#line 6222 "SavedSearchDialog.c" + } +} + + +static void value_saved_search_dialog_copy_value (const GValue* src_value, GValue* dest_value) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (src_value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + dest_value->data[0].v_pointer = saved_search_dialog_ref (src_value->data[0].v_pointer); +#line 6232 "SavedSearchDialog.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + dest_value->data[0].v_pointer = NULL; +#line 6236 "SavedSearchDialog.c" + } +} + + +static gpointer value_saved_search_dialog_peek_pointer (const GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return value->data[0].v_pointer; +#line 6244 "SavedSearchDialog.c" +} + + +static gchar* value_saved_search_dialog_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (collect_values[0].v_pointer) { +#line 6251 "SavedSearchDialog.c" + SavedSearchDialog* object; + object = collect_values[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (object->parent_instance.g_class == NULL) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 6258 "SavedSearchDialog.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 6262 "SavedSearchDialog.c" + } +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = saved_search_dialog_ref (object); +#line 6266 "SavedSearchDialog.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 6270 "SavedSearchDialog.c" + } +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return NULL; +#line 6274 "SavedSearchDialog.c" +} + + +static gchar* value_saved_search_dialog_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SavedSearchDialog** object_p; + object_p = collect_values[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!object_p) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 6285 "SavedSearchDialog.c" + } +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (!value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = NULL; +#line 6291 "SavedSearchDialog.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = value->data[0].v_pointer; +#line 6295 "SavedSearchDialog.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + *object_p = saved_search_dialog_ref (value->data[0].v_pointer); +#line 6299 "SavedSearchDialog.c" + } +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return NULL; +#line 6303 "SavedSearchDialog.c" +} + + +GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSavedSearchDialog* spec; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SAVED_SEARCH_DIALOG), NULL); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return G_PARAM_SPEC (spec); +#line 6317 "SavedSearchDialog.c" +} + + +gpointer value_get_saved_search_dialog (const GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_DIALOG), NULL); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return value->data[0].v_pointer; +#line 6326 "SavedSearchDialog.c" +} + + +void value_set_saved_search_dialog (GValue* value, gpointer v_object) { + SavedSearchDialog* old; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_DIALOG)); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + old = value->data[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (v_object) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_DIALOG)); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = v_object; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_ref (value->data[0].v_pointer); +#line 6346 "SavedSearchDialog.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 6350 "SavedSearchDialog.c" + } +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (old) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_unref (old); +#line 6356 "SavedSearchDialog.c" + } +} + + +void value_take_saved_search_dialog (GValue* value, gpointer v_object) { + SavedSearchDialog* old; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_DIALOG)); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + old = value->data[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (v_object) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_DIALOG)); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = v_object; +#line 6375 "SavedSearchDialog.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + value->data[0].v_pointer = NULL; +#line 6379 "SavedSearchDialog.c" + } +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (old) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_unref (old); +#line 6385 "SavedSearchDialog.c" + } +} + + +static void saved_search_dialog_class_init (SavedSearchDialogClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + saved_search_dialog_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + ((SavedSearchDialogClass *) klass)->finalize = saved_search_dialog_finalize; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_class_add_private (klass, sizeof (SavedSearchDialogPrivate)); +#line 6397 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_instance_init (SavedSearchDialog * self) { + GeeArrayList* _tmp0_ = NULL; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv = SAVED_SEARCH_DIALOG_GET_PRIVATE (self); +#line 649 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = gee_array_list_new (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, (GBoxedCopyFunc) saved_search_dialog_search_row_container_ref, saved_search_dialog_search_row_container_unref, NULL, NULL, NULL); +#line 649 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->row_list = _tmp0_; +#line 650 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->edit_mode = FALSE; +#line 651 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->previous_search = NULL; +#line 652 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->priv->valid = FALSE; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self->ref_count = 1; +#line 6417 "SavedSearchDialog.c" +} + + +static void saved_search_dialog_finalize (SavedSearchDialog* obj) { + SavedSearchDialog * self; + GtkEntry* _tmp0_ = NULL; + guint _tmp1_ = 0U; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_destroy (self); +#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _tmp0_ = self->priv->search_title; +#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_parse_name ("changed", GTK_TYPE_EDITABLE, &_tmp1_, NULL, FALSE); +#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_EDITABLE, GtkEditable), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_on_title_changed_gtk_editable_changed, self); +#line 643 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->builder); +#line 644 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->dialog); +#line 645 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->add_criteria); +#line 646 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->operator); +#line 647 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->row_box); +#line 648 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->search_title); +#line 649 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->row_list); +#line 651 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + _g_object_unref0 (self->priv->previous_search); +#line 6451 "SavedSearchDialog.c" +} + + +GType saved_search_dialog_get_type (void) { + static volatile gsize saved_search_dialog_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_dialog_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_saved_search_dialog_init, value_saved_search_dialog_free_value, value_saved_search_dialog_copy_value, value_saved_search_dialog_peek_pointer, "p", value_saved_search_dialog_collect_value, "p", value_saved_search_dialog_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialog), 0, (GInstanceInitFunc) saved_search_dialog_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType saved_search_dialog_type_id; + saved_search_dialog_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchDialog", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&saved_search_dialog_type_id__volatile, saved_search_dialog_type_id); + } + return saved_search_dialog_type_id__volatile; +} + + +gpointer saved_search_dialog_ref (gpointer instance) { + SavedSearchDialog* self; + self = instance; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_atomic_int_inc (&self->ref_count); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + return instance; +#line 6476 "SavedSearchDialog.c" +} + + +void saved_search_dialog_unref (gpointer instance) { + SavedSearchDialog* self; + self = instance; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + SAVED_SEARCH_DIALOG_GET_CLASS (self)->finalize (self); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 6489 "SavedSearchDialog.c" + } +} + + + diff --git a/src/searches/SavedSearchDialog.vala b/src/searches/SavedSearchDialog.vala index 7e0b3ec..1716a26 100644 --- a/src/searches/SavedSearchDialog.vala +++ b/src/searches/SavedSearchDialog.vala @@ -7,7 +7,7 @@ // This dialog displays a boolean search configuration. public class SavedSearchDialog { - // Conatins a search row, with a type selector and remove button. + // Contains a search row, with a type selector and remove button. private class SearchRowContainer { public signal void remove(SearchRowContainer this_row); public signal void changed(SearchRowContainer this_row); diff --git a/src/searches/SavedSearchPage.c b/src/searches/SavedSearchPage.c new file mode 100644 index 0000000..a9aa029 --- /dev/null +++ b/src/searches/SavedSearchPage.c @@ -0,0 +1,1493 @@ +/* SavedSearchPage.c generated by valac 0.32.1, the Vala compiler + * generated from SavedSearchPage.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. + */ +/* Source monitoring for saved searches.*/ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_VIEW_MANAGER (view_manager_get_type ()) +#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager)) +#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass)) +#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER)) +#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER)) +#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass)) + +typedef struct _ViewManager ViewManager; +typedef struct _ViewManagerClass ViewManagerClass; +typedef struct _ViewManagerPrivate ViewManagerPrivate; + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_DATA_VIEW (data_view_get_type ()) +#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView)) +#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass)) +#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW)) +#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW)) +#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass)) + +typedef struct _DataView DataView; +typedef struct _DataViewClass DataViewClass; + +#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ()) +#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager)) +#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) +#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER)) +#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER)) +#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass)) + +typedef struct _CollectionViewManager CollectionViewManager; +typedef struct _CollectionViewManagerClass CollectionViewManagerClass; +typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate; + +#define TYPE_SAVED_SEARCH_MANAGER (saved_search_manager_get_type ()) +#define SAVED_SEARCH_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_MANAGER, SavedSearchManager)) +#define SAVED_SEARCH_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_MANAGER, SavedSearchManagerClass)) +#define IS_SAVED_SEARCH_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_MANAGER)) +#define IS_SAVED_SEARCH_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_MANAGER)) +#define SAVED_SEARCH_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_MANAGER, SavedSearchManagerClass)) + +typedef struct _SavedSearchManager SavedSearchManager; +typedef struct _SavedSearchManagerClass SavedSearchManagerClass; +typedef struct _SavedSearchManagerPrivate SavedSearchManagerPrivate; + +#define TYPE_SAVED_SEARCH (saved_search_get_type ()) +#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch)) +#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass)) +#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH)) +#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH)) +#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass)) + +typedef struct _SavedSearch SavedSearch; +typedef struct _SavedSearchClass SavedSearchClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_SAVED_SEARCH_PAGE (saved_search_page_get_type ()) +#define SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPage)) +#define SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass)) +#define IS_SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_PAGE)) +#define IS_SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_PAGE)) +#define SAVED_SEARCH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass)) + +typedef struct _SavedSearchPage SavedSearchPage; +typedef struct _SavedSearchPageClass SavedSearchPageClass; + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ()) +#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView)) +#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) +#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW)) +#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW)) +#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass)) + +typedef struct _ThumbnailView ThumbnailView; +typedef struct _ThumbnailViewClass ThumbnailViewClass; + +#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ()) +#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem)) +#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass)) +#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM)) +#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM)) +#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass)) + +typedef struct _CheckerboardItem CheckerboardItem; +typedef struct _CheckerboardItemClass CheckerboardItemClass; + +#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) +typedef struct _CollectionPagePrivate CollectionPagePrivate; +typedef struct _SavedSearchPagePrivate SavedSearchPagePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ()) +#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection)) +#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) +#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION)) +#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION)) +#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass)) + +typedef struct _MediaSourceCollection MediaSourceCollection; +typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_VIEW_COLLECTION (view_collection_get_type ()) +#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection)) +#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass)) +#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION)) +#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION)) +#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass)) + +typedef struct _ViewCollection ViewCollection; +typedef struct _ViewCollectionClass ViewCollectionClass; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; + +#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ()) +#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor)) +#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) +#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR)) +#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass)) + +typedef struct _ViewCollectionMonitor ViewCollectionMonitor; +typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass; +#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL))) +#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL))) +#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL))) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ()) +#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand)) +#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) +#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND)) +#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass)) + +typedef struct _SingleDataSourceCommand SingleDataSourceCommand; +typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass; + +#define TYPE_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; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#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_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_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ()) +#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog)) +#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) +#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG)) +#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG)) +#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) + +typedef struct _SavedSearchDialog SavedSearchDialog; +typedef struct _SavedSearchDialogClass SavedSearchDialogClass; +#define _saved_search_dialog_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_unref (var), NULL))) + +struct _ViewManager { + GTypeInstance parent_instance; + volatile int ref_count; + ViewManagerPrivate * priv; +}; + +struct _ViewManagerClass { + GTypeClass parent_class; + void (*finalize) (ViewManager *self); + gboolean (*include_in_view) (ViewManager* self, DataSource* source); + DataView* (*create_view) (ViewManager* self, DataSource* source); +}; + +struct _CollectionViewManager { + ViewManager parent_instance; + CollectionViewManagerPrivate * priv; +}; + +struct _CollectionViewManagerClass { + ViewManagerClass parent_class; +}; + +struct _SavedSearchManager { + CollectionViewManager parent_instance; + SavedSearchManagerPrivate * priv; +}; + +struct _SavedSearchManagerClass { + CollectionViewManagerClass parent_class; +}; + +struct _SavedSearchManagerPrivate { + SavedSearch* search; +}; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _CollectionPage { + MediaPage parent_instance; + CollectionPagePrivate * priv; +}; + +struct _CollectionPageClass { + MediaPageClass parent_class; +}; + +struct _SavedSearchPage { + CollectionPage parent_instance; + SavedSearchPagePrivate * priv; +}; + +struct _SavedSearchPageClass { + CollectionPageClass parent_class; +}; + +struct _SavedSearchPagePrivate { + SavedSearch* search; +}; + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); + +static gpointer saved_search_manager_parent_class = NULL; +static gpointer saved_search_page_parent_class = NULL; + +gpointer view_manager_ref (gpointer instance); +void view_manager_unref (gpointer instance); +GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_manager (GValue* value, gpointer v_object); +void value_take_view_manager (GValue* value, gpointer v_object); +gpointer value_get_view_manager (const GValue* value); +GType view_manager_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType data_view_get_type (void) G_GNUC_CONST; +GType collection_view_manager_get_type (void) G_GNUC_CONST; +GType saved_search_manager_get_type (void) G_GNUC_CONST; +GType saved_search_get_type (void) G_GNUC_CONST; +#define SAVED_SEARCH_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH_MANAGER, SavedSearchManagerPrivate)) +enum { + SAVED_SEARCH_MANAGER_DUMMY_PROPERTY +}; +GType page_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +GType saved_search_page_get_type (void) G_GNUC_CONST; +SavedSearchManager* saved_search_manager_new (SavedSearchPage* owner, SavedSearch* search); +SavedSearchManager* saved_search_manager_construct (GType object_type, SavedSearchPage* owner, SavedSearch* search); +CollectionViewManager* collection_view_manager_new (CollectionPage* page); +CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page); +static gboolean saved_search_manager_real_include_in_view (ViewManager* base, DataSource* source); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +gboolean saved_search_predicate (SavedSearch* self, MediaSource* source); +static void saved_search_manager_finalize (ViewManager* obj); +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType thumbnail_view_get_type (void) G_GNUC_CONST; +GType checkerboard_item_get_type (void) G_GNUC_CONST; +GType checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +#define SAVED_SEARCH_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH_PAGE, SavedSearchPagePrivate)) +enum { + SAVED_SEARCH_PAGE_DUMMY_PROPERTY +}; +SavedSearchPage* saved_search_page_new (SavedSearch* search); +SavedSearchPage* saved_search_page_construct (GType object_type, SavedSearch* search); +gchar* data_object_get_name (DataObject* self); +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType media_source_collection_get_type (void) G_GNUC_CONST; +gpointer media_collection_registry_ref (gpointer instance); +void media_collection_registry_unref (gpointer instance); +GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_media_collection_registry (GValue* value, gpointer v_object); +void value_take_media_collection_registry (GValue* value, gpointer v_object); +gpointer value_get_media_collection_registry (const GValue* value); +GType media_collection_registry_get_type (void) G_GNUC_CONST; +MediaCollectionRegistry* media_collection_registry_get_instance (void); +GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self); +GType view_collection_get_type (void) G_GNUC_CONST; +ViewCollection* page_get_view (Page* self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +gpointer view_collection_monitor_ref (gpointer instance); +void view_collection_monitor_unref (gpointer instance); +GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void view_collection_value_set_monitor (GValue* value, gpointer v_object); +void view_collection_value_take_monitor (GValue* value, gpointer v_object); +gpointer view_collection_value_get_monitor (const GValue* value); +GType view_collection_monitor_get_type (void) G_GNUC_CONST; +ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target); +void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path); +static void saved_search_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void saved_search_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by); +void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +static void saved_search_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +static GtkActionEntry* saved_search_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define TRANSLATABLE "translatable" +static void saved_search_page_on_rename_search (SavedSearchPage* self); +static void _saved_search_page_on_rename_search_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add147 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void saved_search_page_on_edit_search (SavedSearchPage* self); +static void _saved_search_page_on_edit_search_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add148 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void saved_search_page_on_delete_search (SavedSearchPage* self); +static void _saved_search_page_on_delete_search_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add149 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +gboolean dialogs_confirm_delete_saved_search (SavedSearch* search); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search); +DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type, SavedSearch* search); +GType page_command_get_type (void) G_GNUC_CONST; +GType single_data_source_command_get_type (void) G_GNUC_CONST; +GType delete_saved_search_command_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_rename_search_in_sidebar (LibraryWindow* self, SavedSearch* search); +gpointer saved_search_dialog_ref (gpointer instance); +void saved_search_dialog_unref (gpointer instance); +GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_saved_search_dialog (GValue* value, gpointer v_object); +void value_take_saved_search_dialog (GValue* value, gpointer v_object); +gpointer value_get_saved_search_dialog (const GValue* value); +GType saved_search_dialog_get_type (void) G_GNUC_CONST; +SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search); +SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type, SavedSearch* saved_search); +void saved_search_dialog_show (SavedSearchDialog* self); +static void saved_search_page_real_update_actions (Page* base, gint selected_count, gint count); +void page_set_action_details (Page* self, const gchar* name, const gchar* label, const gchar* tooltip, gboolean sensitive); +#define RESOURCES_RENAME_SEARCH_MENU _ ("Re_name...") +#define RESOURCES_EDIT_SEARCH_MENU _ ("_Edit...") +#define RESOURCES_DELETE_SEARCH_MENU _ ("_Delete") +void page_update_actions (Page* self, gint selected_count, gint count); +static void saved_search_page_finalize (GObject* obj); + + +static gpointer _g_object_ref0 (gpointer self) { +#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + return self ? g_object_ref (self) : NULL; +#line 839 "SavedSearchPage.c" +} + + +SavedSearchManager* saved_search_manager_construct (GType object_type, SavedSearchPage* owner, SavedSearch* search) { + SavedSearchManager* self = NULL; + SavedSearchPage* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + SavedSearch* _tmp2_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_PAGE (owner), NULL); +#line 10 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL); +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = owner; +#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = (SavedSearchManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage)); +#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = search; +#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (self->priv->search); +#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self->priv->search = _tmp2_; +#line 10 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + return self; +#line 866 "SavedSearchPage.c" +} + + +SavedSearchManager* saved_search_manager_new (SavedSearchPage* owner, SavedSearch* search) { +#line 10 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + return saved_search_manager_construct (TYPE_SAVED_SEARCH_MANAGER, owner, search); +#line 873 "SavedSearchPage.c" +} + + +static gboolean saved_search_manager_real_include_in_view (ViewManager* base, DataSource* source) { + SavedSearchManager * self; + gboolean result = FALSE; + SavedSearch* _tmp0_ = NULL; + DataSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 15 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_MANAGER, SavedSearchManager); +#line 15 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE); +#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = self->priv->search; +#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = source; +#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_ = saved_search_predicate (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource)); +#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + result = _tmp2_; +#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + return result; +#line 897 "SavedSearchPage.c" +} + + +static void saved_search_manager_class_init (SavedSearchManagerClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + saved_search_manager_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + ((ViewManagerClass *) klass)->finalize = saved_search_manager_finalize; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_type_class_add_private (klass, sizeof (SavedSearchManagerPrivate)); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + ((ViewManagerClass *) klass)->include_in_view = saved_search_manager_real_include_in_view; +#line 910 "SavedSearchPage.c" +} + + +static void saved_search_manager_instance_init (SavedSearchManager * self) { +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self->priv = SAVED_SEARCH_MANAGER_GET_PRIVATE (self); +#line 917 "SavedSearchPage.c" +} + + +static void saved_search_manager_finalize (ViewManager* obj) { + SavedSearchManager * self; +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_MANAGER, SavedSearchManager); +#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (self->priv->search); +#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + VIEW_MANAGER_CLASS (saved_search_manager_parent_class)->finalize (obj); +#line 929 "SavedSearchPage.c" +} + + +GType saved_search_manager_get_type (void) { + static volatile gsize saved_search_manager_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_manager_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchManager), 0, (GInstanceInitFunc) saved_search_manager_instance_init, NULL }; + GType saved_search_manager_type_id; + saved_search_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "SavedSearchManager", &g_define_type_info, 0); + g_once_init_leave (&saved_search_manager_type_id__volatile, saved_search_manager_type_id); + } + return saved_search_manager_type_id__volatile; +} + + +SavedSearchPage* saved_search_page_construct (GType object_type, SavedSearch* search) { + SavedSearchPage * self = NULL; + SavedSearch* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + SavedSearch* _tmp3_ = NULL; + SavedSearch* _tmp4_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL); +#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = search; +#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_ = _tmp1_; +#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = (SavedSearchPage*) collection_page_construct (object_type, _tmp2_); +#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_free0 (_tmp2_); +#line 28 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp3_ = search; +#line 28 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 28 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (self->priv->search); +#line 28 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self->priv->search = _tmp4_; +#line 972 "SavedSearchPage.c" + { + GeeIterator* _sources_it = NULL; + MediaCollectionRegistry* _tmp5_ = NULL; + MediaCollectionRegistry* _tmp6_ = NULL; + GeeCollection* _tmp7_ = NULL; + GeeCollection* _tmp8_ = NULL; + GeeIterator* _tmp9_ = NULL; + GeeIterator* _tmp10_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp5_ = media_collection_registry_get_instance (); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp6_ = _tmp5_; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp7_ = media_collection_registry_get_all (_tmp6_); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp8_ = _tmp7_; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp10_ = _tmp9_; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (_tmp8_); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _media_collection_registry_unref0 (_tmp6_); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _sources_it = _tmp10_; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + while (TRUE) { +#line 1001 "SavedSearchPage.c" + GeeIterator* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + MediaSourceCollection* sources = NULL; + GeeIterator* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + ViewCollection* _tmp15_ = NULL; + ViewCollection* _tmp16_ = NULL; + MediaSourceCollection* _tmp17_ = NULL; + SavedSearch* _tmp18_ = NULL; + SavedSearchManager* _tmp19_ = NULL; + SavedSearchManager* _tmp20_ = NULL; + ViewCollectionMonitor* _tmp21_ = NULL; + ViewCollectionMonitor* _tmp22_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp11_ = _sources_it; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp12_ = gee_iterator_next (_tmp11_); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + if (!_tmp12_) { +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + break; +#line 1023 "SavedSearchPage.c" + } +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp13_ = _sources_it; +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp14_ = gee_iterator_get (_tmp13_); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + sources = (MediaSourceCollection*) _tmp14_; +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp15_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp16_ = _tmp15_; +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp17_ = sources; +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp18_ = search; +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp19_ = saved_search_manager_new (self, _tmp18_); +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp20_ = _tmp19_; +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp21_ = view_collection_monitor_source_collection (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_VIEW_MANAGER, ViewManager), NULL, NULL, NULL, NULL); +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp22_ = _tmp21_; +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _view_collection_monitor_unref0 (_tmp22_); +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _view_manager_unref0 (_tmp20_); +#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _data_collection_unref0 (_tmp16_); +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _data_collection_unref0 (sources); +#line 1055 "SavedSearchPage.c" + } +#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (_sources_it); +#line 1059 "SavedSearchPage.c" + } +#line 34 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + checkerboard_page_init_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/SearchContextMenu"); +#line 26 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + return self; +#line 1065 "SavedSearchPage.c" +} + + +SavedSearchPage* saved_search_page_new (SavedSearch* search) { +#line 26 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + return saved_search_page_construct (TYPE_SAVED_SEARCH_PAGE, search); +#line 1072 "SavedSearchPage.c" +} + + +static void saved_search_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) { + SavedSearchPage * self; + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage); +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = _tmp0_; +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_); +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _vala_sort_order = _tmp2_; +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _vala_sort_by = _tmp3_; +#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (_tmp1_); +#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + if (sort_order) { +#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *sort_order = _vala_sort_order; +#line 1102 "SavedSearchPage.c" + } +#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + if (sort_by) { +#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *sort_by = _vala_sort_by; +#line 1108 "SavedSearchPage.c" + } +} + + +static void saved_search_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) { + SavedSearchPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 41 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage); +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = _tmp0_; +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_ = sort_order; +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp3_ = sort_by; +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_); +#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (_tmp1_); +#line 1133 "SavedSearchPage.c" +} + + +static void saved_search_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + SavedSearchPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage); +#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = ui_filenames; +#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + PAGE_CLASS (saved_search_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_); +#line 47 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = ui_filenames; +#line 47 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "savedsearch.ui"); +#line 1153 "SavedSearchPage.c" +} + + +static void _saved_search_page_on_rename_search_gtk_action_callback (GtkAction* action, gpointer self) { +#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + saved_search_page_on_rename_search ((SavedSearchPage*) self); +#line 1160 "SavedSearchPage.c" +} + + +static void _vala_array_add147 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + if ((*length) == (*size)) { +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1171 "SavedSearchPage.c" + } +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + (*array)[(*length)++] = *value; +#line 1175 "SavedSearchPage.c" +} + + +static void _saved_search_page_on_edit_search_gtk_action_callback (GtkAction* action, gpointer self) { +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + saved_search_page_on_edit_search ((SavedSearchPage*) self); +#line 1182 "SavedSearchPage.c" +} + + +static void _vala_array_add148 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + if ((*length) == (*size)) { +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1193 "SavedSearchPage.c" + } +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + (*array)[(*length)++] = *value; +#line 1197 "SavedSearchPage.c" +} + + +static void _saved_search_page_on_delete_search_gtk_action_callback (GtkAction* action, gpointer self) { +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + saved_search_page_on_delete_search ((SavedSearchPage*) self); +#line 1204 "SavedSearchPage.c" +} + + +static void _vala_array_add149 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + if ((*length) == (*size)) { +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1215 "SavedSearchPage.c" + } +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + (*array)[(*length)++] = *value; +#line 1219 "SavedSearchPage.c" +} + + +static GtkActionEntry* saved_search_page_real_init_collect_action_entries (Page* base, int* result_length1) { + SavedSearchPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry rename_search = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry edit_search = {0}; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry delete_search = {0}; + GtkActionEntry _tmp8_ = {0}; + GtkActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionEntry _tmp10_ = {0}; + GtkActionEntry* _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 50 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage); +#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = PAGE_CLASS (saved_search_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), &_tmp0_); +#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + actions = _tmp1_; +#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + actions_length1 = _tmp0_; +#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _actions_size_ = actions_length1; +#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_.name = "RenameSearch"; +#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_.stock_id = NULL; +#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_.accelerator = NULL; +#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_.tooltip = NULL; +#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_.callback = (GCallback) _saved_search_page_on_rename_search_gtk_action_callback; +#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + rename_search = _tmp2_; +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp3_ = actions; +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp3__length1 = actions_length1; +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp4_ = rename_search; +#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _vala_array_add147 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp5_.name = "EditSearch"; +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp5_.stock_id = NULL; +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp5_.accelerator = NULL; +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp5_.tooltip = NULL; +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp5_.callback = (GCallback) _saved_search_page_on_edit_search_gtk_action_callback; +#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + edit_search = _tmp5_; +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp6_ = actions; +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp6__length1 = actions_length1; +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp7_ = edit_search; +#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _vala_array_add148 (&actions, &actions_length1, &_actions_size_, &_tmp7_); +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp8_.name = "DeleteSearch"; +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp8_.stock_id = NULL; +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp8_.label = TRANSLATABLE; +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp8_.accelerator = NULL; +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp8_.tooltip = NULL; +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp8_.callback = (GCallback) _saved_search_page_on_delete_search_gtk_action_callback; +#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + delete_search = _tmp8_; +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp9_ = actions; +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp9__length1 = actions_length1; +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp10_ = delete_search; +#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _vala_array_add149 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp11_ = actions; +#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp11__length1 = actions_length1; +#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + if (result_length1) { +#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + *result_length1 = _tmp11__length1; +#line 1332 "SavedSearchPage.c" + } +#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + result = _tmp11_; +#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + return result; +#line 1338 "SavedSearchPage.c" +} + + +static void saved_search_page_on_delete_search (SavedSearchPage* self) { + SavedSearch* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 65 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_return_if_fail (IS_SAVED_SEARCH_PAGE (self)); +#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = self->priv->search; +#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = dialogs_confirm_delete_saved_search (_tmp0_); +#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + if (_tmp1_) { +#line 1353 "SavedSearchPage.c" + CommandManager* _tmp2_ = NULL; + CommandManager* _tmp3_ = NULL; + SavedSearch* _tmp4_ = NULL; + DeleteSavedSearchCommand* _tmp5_ = NULL; + DeleteSavedSearchCommand* _tmp6_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_ = app_window_get_command_manager (); +#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp3_ = _tmp2_; +#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp4_ = self->priv->search; +#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp5_ = delete_saved_search_command_new (_tmp4_); +#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp6_ = _tmp5_; +#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_COMMAND, Command)); +#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (_tmp6_); +#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _command_manager_unref0 (_tmp3_); +#line 1375 "SavedSearchPage.c" + } +} + + +static void saved_search_page_on_rename_search (SavedSearchPage* self) { + LibraryWindow* _tmp0_ = NULL; + LibraryWindow* _tmp1_ = NULL; + SavedSearch* _tmp2_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_return_if_fail (IS_SAVED_SEARCH_PAGE (self)); +#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = library_window_get_app (); +#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = _tmp0_; +#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp2_ = self->priv->search; +#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + library_window_rename_search_in_sidebar (_tmp1_, _tmp2_); +#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (_tmp1_); +#line 1396 "SavedSearchPage.c" +} + + +static void saved_search_page_on_edit_search (SavedSearchPage* self) { + SavedSearchDialog* ssd = NULL; + SavedSearch* _tmp0_ = NULL; + SavedSearchDialog* _tmp1_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_return_if_fail (IS_SAVED_SEARCH_PAGE (self)); +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = self->priv->search; +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = saved_search_dialog_new_edit_existing (_tmp0_); +#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + ssd = _tmp1_; +#line 76 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + saved_search_dialog_show (ssd); +#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _saved_search_dialog_unref0 (ssd); +#line 1416 "SavedSearchPage.c" +} + + +static void saved_search_page_real_update_actions (Page* base, gint selected_count, gint count) { + SavedSearchPage * self; + gint _tmp0_ = 0; + gint _tmp1_ = 0; +#line 79 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage); +#line 80 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RenameSearch", RESOURCES_RENAME_SEARCH_MENU, NULL, TRUE); +#line 83 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditSearch", RESOURCES_EDIT_SEARCH_MENU, NULL, TRUE); +#line 86 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DeleteSearch", RESOURCES_DELETE_SEARCH_MENU, NULL, TRUE); +#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp0_ = selected_count; +#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _tmp1_ = count; +#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + PAGE_CLASS (saved_search_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_, _tmp1_); +#line 1438 "SavedSearchPage.c" +} + + +static void saved_search_page_class_init (SavedSearchPageClass * klass) { +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + saved_search_page_parent_class = g_type_class_peek_parent (klass); +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + g_type_class_add_private (klass, sizeof (SavedSearchPagePrivate)); +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = saved_search_page_real_get_config_photos_sort; +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = saved_search_page_real_set_config_photos_sort; +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = saved_search_page_real_init_collect_ui_filenames; +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + ((PageClass *) klass)->init_collect_action_entries = saved_search_page_real_init_collect_action_entries; +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + ((PageClass *) klass)->update_actions = saved_search_page_real_update_actions; +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + G_OBJECT_CLASS (klass)->finalize = saved_search_page_finalize; +#line 1459 "SavedSearchPage.c" +} + + +static void saved_search_page_instance_init (SavedSearchPage * self) { +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self->priv = SAVED_SEARCH_PAGE_GET_PRIVATE (self); +#line 1466 "SavedSearchPage.c" +} + + +static void saved_search_page_finalize (GObject* obj) { + SavedSearchPage * self; +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage); +#line 24 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + _g_object_unref0 (self->priv->search); +#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala" + G_OBJECT_CLASS (saved_search_page_parent_class)->finalize (obj); +#line 1478 "SavedSearchPage.c" +} + + +GType saved_search_page_get_type (void) { + static volatile gsize saved_search_page_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchPage), 0, (GInstanceInitFunc) saved_search_page_instance_init, NULL }; + GType saved_search_page_type_id; + saved_search_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "SavedSearchPage", &g_define_type_info, 0); + g_once_init_leave (&saved_search_page_type_id__volatile, saved_search_page_type_id); + } + return saved_search_page_type_id__volatile; +} + + + diff --git a/src/searches/SearchBoolean.c b/src/searches/SearchBoolean.c new file mode 100644 index 0000000..b182916 --- /dev/null +++ b/src/searches/SearchBoolean.c @@ -0,0 +1,6902 @@ +/* SearchBoolean.c generated by valac 0.32.1, the Vala compiler + * generated from SearchBoolean.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. + */ +/* For specifying whether a search should be ORed (any) or ANDed (all).*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_SEARCH_OPERATOR (search_operator_get_type ()) + +#define TYPE_SEARCH_CONDITION (search_condition_get_type ()) +#define SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION, SearchCondition)) +#define SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION, SearchConditionClass)) +#define IS_SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION)) +#define IS_SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION)) +#define SEARCH_CONDITION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION, SearchConditionClass)) + +typedef struct _SearchCondition SearchCondition; +typedef struct _SearchConditionClass SearchConditionClass; +typedef struct _SearchConditionPrivate SearchConditionPrivate; + +#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 SEARCH_CONDITION_TYPE_SEARCH_TYPE (search_condition_search_type_get_type ()) +typedef struct _ParamSpecSearchCondition ParamSpecSearchCondition; + +#define TYPE_SEARCH_CONDITION_TEXT (search_condition_text_get_type ()) +#define SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionText)) +#define SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass)) +#define IS_SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_TEXT)) +#define IS_SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_TEXT)) +#define SEARCH_CONDITION_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass)) + +typedef struct _SearchConditionText SearchConditionText; +typedef struct _SearchConditionTextClass SearchConditionTextClass; +typedef struct _SearchConditionTextPrivate SearchConditionTextPrivate; + +#define SEARCH_CONDITION_TEXT_TYPE_CONTEXT (search_condition_text_context_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#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_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#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_SEARCH_CONDITION_MEDIA_TYPE (search_condition_media_type_get_type ()) +#define SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType)) +#define SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass)) +#define IS_SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE)) +#define IS_SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE)) +#define SEARCH_CONDITION_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass)) + +typedef struct _SearchConditionMediaType SearchConditionMediaType; +typedef struct _SearchConditionMediaTypeClass SearchConditionMediaTypeClass; +typedef struct _SearchConditionMediaTypePrivate SearchConditionMediaTypePrivate; + +#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_MEDIA_TYPE (search_condition_media_type_media_type_get_type ()) + +#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_CONTEXT (search_condition_media_type_context_get_type ()) + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ()) + +#define TYPE_VIDEO_SOURCE (video_source_get_type ()) +#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource)) +#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass)) +#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE)) +#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE)) +#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass)) + +typedef struct _VideoSource VideoSource; +typedef struct _VideoSourceClass VideoSourceClass; + +#define TYPE_SEARCH_CONDITION_FLAGGED (search_condition_flagged_get_type ()) +#define SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged)) +#define SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass)) +#define IS_SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_FLAGGED)) +#define IS_SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_FLAGGED)) +#define SEARCH_CONDITION_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass)) + +typedef struct _SearchConditionFlagged SearchConditionFlagged; +typedef struct _SearchConditionFlaggedClass SearchConditionFlaggedClass; +typedef struct _SearchConditionFlaggedPrivate SearchConditionFlaggedPrivate; + +#define SEARCH_CONDITION_FLAGGED_TYPE_STATE (search_condition_flagged_state_get_type ()) + +#define TYPE_FLAGGABLE (flaggable_get_type ()) +#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable)) +#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE)) +#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface)) + +typedef struct _Flaggable Flaggable; +typedef struct _FlaggableIface FlaggableIface; + +#define TYPE_SEARCH_CONDITION_MODIFIED (search_condition_modified_get_type ()) +#define SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified)) +#define SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass)) +#define IS_SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MODIFIED)) +#define IS_SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MODIFIED)) +#define SEARCH_CONDITION_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass)) + +typedef struct _SearchConditionModified SearchConditionModified; +typedef struct _SearchConditionModifiedClass SearchConditionModifiedClass; +typedef struct _SearchConditionModifiedPrivate SearchConditionModifiedPrivate; + +#define SEARCH_CONDITION_MODIFIED_TYPE_STATE (search_condition_modified_state_get_type ()) + +#define SEARCH_CONDITION_MODIFIED_TYPE_CONTEXT (search_condition_modified_context_get_type ()) + +#define TYPE_SEARCH_CONDITION_RATING (search_condition_rating_get_type ()) +#define SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRating)) +#define SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass)) +#define IS_SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_RATING)) +#define IS_SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_RATING)) +#define SEARCH_CONDITION_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass)) + +typedef struct _SearchConditionRating SearchConditionRating; +typedef struct _SearchConditionRatingClass SearchConditionRatingClass; +typedef struct _SearchConditionRatingPrivate SearchConditionRatingPrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define SEARCH_CONDITION_RATING_TYPE_CONTEXT (search_condition_rating_context_get_type ()) + +#define TYPE_SEARCH_CONDITION_DATE (search_condition_date_get_type ()) +#define SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDate)) +#define SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass)) +#define IS_SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_DATE)) +#define IS_SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_DATE)) +#define SEARCH_CONDITION_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass)) + +typedef struct _SearchConditionDate SearchConditionDate; +typedef struct _SearchConditionDateClass SearchConditionDateClass; +typedef struct _SearchConditionDatePrivate SearchConditionDatePrivate; + +#define SEARCH_CONDITION_DATE_TYPE_CONTEXT (search_condition_date_context_get_type ()) +#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) +typedef struct _DataObjectPrivate DataObjectPrivate; + +#define TYPE_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +typedef struct _DataSourcePrivate DataSourcePrivate; + +#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ()) +#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank)) +#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) +#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK)) +#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK)) +#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass)) + +typedef struct _SourceHoldingTank SourceHoldingTank; +typedef struct _SourceHoldingTankClass SourceHoldingTankClass; + +#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ()) +#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot)) +#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) +#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT)) +#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT)) +#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass)) + +typedef struct _SourceSnapshot SourceSnapshot; +typedef struct _SourceSnapshotClass SourceSnapshotClass; + +#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; +typedef struct _SavedSearchPrivate SavedSearchPrivate; + +#define TYPE_SAVED_SEARCH_ROW (saved_search_row_get_type ()) +#define SAVED_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_ROW, SavedSearchRow)) +#define SAVED_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_ROW, SavedSearchRowClass)) +#define IS_SAVED_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_ROW)) +#define IS_SAVED_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_ROW)) +#define SAVED_SEARCH_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_ROW, SavedSearchRowClass)) + +typedef struct _SavedSearchRow SavedSearchRow; +typedef struct _SavedSearchRowClass SavedSearchRowClass; +#define _saved_search_row_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_row_unref (var), NULL))) +typedef struct _SavedSearchRowPrivate SavedSearchRowPrivate; + +#define TYPE_SAVED_SEARCH_ID (saved_search_id_get_type ()) +typedef struct _SavedSearchID SavedSearchID; +#define _search_condition_unref0(var) ((var == NULL) ? NULL : (var = (search_condition_unref (var), NULL))) + +#define TYPE_DATABASE_TABLE (database_table_get_type ()) +#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable)) +#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass)) +#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE)) +#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE)) +#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass)) + +typedef struct _DatabaseTable DatabaseTable; +typedef struct _DatabaseTableClass DatabaseTableClass; + +#define TYPE_SAVED_SEARCH_DB_TABLE (saved_search_db_table_get_type ()) +#define SAVED_SEARCH_DB_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTable)) +#define SAVED_SEARCH_DB_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTableClass)) +#define IS_SAVED_SEARCH_DB_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DB_TABLE)) +#define IS_SAVED_SEARCH_DB_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DB_TABLE)) +#define SAVED_SEARCH_DB_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTableClass)) + +typedef struct _SavedSearchDBTable SavedSearchDBTable; +typedef struct _SavedSearchDBTableClass SavedSearchDBTableClass; +#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#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_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_LIBRARY_WINDOW (library_window_get_type ()) +#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow)) +#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) +#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW)) +#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW)) +#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass)) + +typedef struct _LibraryWindow LibraryWindow; +typedef struct _LibraryWindowClass LibraryWindowClass; +typedef struct _SavedSearchTablePrivate SavedSearchTablePrivate; +typedef struct _ParamSpecSavedSearchTable ParamSpecSavedSearchTable; + +typedef enum { + SEARCH_OPERATOR_ANY = 0, + SEARCH_OPERATOR_ALL, + SEARCH_OPERATOR_NONE +} SearchOperator; + +struct _SearchCondition { + GTypeInstance parent_instance; + volatile int ref_count; + SearchConditionPrivate * priv; +}; + +struct _SearchConditionClass { + GTypeClass parent_class; + void (*finalize) (SearchCondition *self); + gboolean (*predicate) (SearchCondition* self, MediaSource* source); +}; + +typedef enum { + SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT = 0, + SEARCH_CONDITION_SEARCH_TYPE_TITLE, + SEARCH_CONDITION_SEARCH_TYPE_TAG, + SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME, + SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME, + SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE, + SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE, + SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE, + SEARCH_CONDITION_SEARCH_TYPE_RATING, + SEARCH_CONDITION_SEARCH_TYPE_COMMENT, + SEARCH_CONDITION_SEARCH_TYPE_DATE +} SearchConditionSearchType; + +struct _SearchConditionPrivate { + SearchConditionSearchType _search_type; +}; + +struct _ParamSpecSearchCondition { + GParamSpec parent_instance; +}; + +struct _SearchConditionText { + SearchCondition parent_instance; + SearchConditionTextPrivate * priv; +}; + +struct _SearchConditionTextClass { + SearchConditionClass parent_class; +}; + +typedef enum { + SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS = 0, + SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY, + SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH, + SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH, + SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN, + SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET, + SEARCH_CONDITION_TEXT_CONTEXT_IS_SET +} SearchConditionTextContext; + +struct _SearchConditionTextPrivate { + gchar* _text; + SearchConditionTextContext _context; +}; + +struct _SearchConditionMediaType { + SearchCondition parent_instance; + SearchConditionMediaTypePrivate * priv; +}; + +struct _SearchConditionMediaTypeClass { + SearchConditionClass parent_class; +}; + +typedef enum { + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL = 0, + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW, + SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO +} SearchConditionMediaTypeMediaType; + +typedef enum { + SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS = 0, + SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT +} SearchConditionMediaTypeContext; + +struct _SearchConditionMediaTypePrivate { + SearchConditionMediaTypeMediaType _media_type; + SearchConditionMediaTypeContext _context; +}; + +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 _SearchConditionFlagged { + SearchCondition parent_instance; + SearchConditionFlaggedPrivate * priv; +}; + +struct _SearchConditionFlaggedClass { + SearchConditionClass parent_class; +}; + +typedef enum { + SEARCH_CONDITION_FLAGGED_STATE_FLAGGED = 0, + SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED +} SearchConditionFlaggedState; + +struct _SearchConditionFlaggedPrivate { + SearchConditionFlaggedState _state; +}; + +struct _FlaggableIface { + GTypeInterface parent_iface; + gboolean (*is_flagged) (Flaggable* self); + void (*mark_flagged) (Flaggable* self); + void (*mark_unflagged) (Flaggable* self); +}; + +struct _SearchConditionModified { + SearchCondition parent_instance; + SearchConditionModifiedPrivate * priv; +}; + +struct _SearchConditionModifiedClass { + SearchConditionClass parent_class; +}; + +typedef enum { + SEARCH_CONDITION_MODIFIED_STATE_MODIFIED = 0, + SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES, + SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES +} SearchConditionModifiedState; + +typedef enum { + SEARCH_CONDITION_MODIFIED_CONTEXT_HAS = 0, + SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO +} SearchConditionModifiedContext; + +struct _SearchConditionModifiedPrivate { + SearchConditionModifiedState _state; + SearchConditionModifiedContext _context; +}; + +struct _SearchConditionRating { + SearchCondition parent_instance; + SearchConditionRatingPrivate * priv; +}; + +struct _SearchConditionRatingClass { + SearchConditionClass 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; + +typedef enum { + SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER = 0, + SEARCH_CONDITION_RATING_CONTEXT_ONLY, + SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER +} SearchConditionRatingContext; + +struct _SearchConditionRatingPrivate { + Rating _rating; + SearchConditionRatingContext _context; +}; + +struct _SearchConditionDate { + SearchCondition parent_instance; + SearchConditionDatePrivate * priv; +}; + +struct _SearchConditionDateClass { + SearchConditionClass parent_class; +}; + +typedef enum { + SEARCH_CONDITION_DATE_CONTEXT_EXACT = 0, + SEARCH_CONDITION_DATE_CONTEXT_AFTER, + SEARCH_CONDITION_DATE_CONTEXT_BEFORE, + SEARCH_CONDITION_DATE_CONTEXT_BETWEEN, + SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET +} SearchConditionDateContext; + +struct _SearchConditionDatePrivate { + GDateTime* _date_one; + GDateTime* _date_two; + SearchConditionDateContext _context; +}; + +struct _DataObject { + GObject parent_instance; + DataObjectPrivate * priv; +}; + +struct _DataObjectClass { + GObjectClass parent_class; + void (*notify_altered) (DataObject* self, Alteration* alteration); + void (*notify_membership_changed) (DataObject* self, DataCollection* collection); + void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val); + void (*notify_collection_property_cleared) (DataObject* self, const gchar* name); + gchar* (*get_name) (DataObject* self); + gchar* (*to_string) (DataObject* self); +}; + +struct _DataSource { + DataObject parent_instance; + DataSourcePrivate * priv; +}; + +struct _DataSourceClass { + DataObjectClass parent_class; + void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank); + void (*notify_unlinking) (DataSource* self, SourceCollection* collection); + void (*notify_unlinked) (DataSource* self); + void (*notify_relinking) (DataSource* self, SourceCollection* collection); + void (*notify_relinked) (DataSource* self); + gchar* (*get_typename) (DataSource* self); + gint64 (*get_instance_id) (DataSource* self); + gchar* (*get_source_id) (DataSource* self); + void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated); + SourceSnapshot* (*save_snapshot) (DataSource* self); + gboolean (*internal_delete_backing) (DataSource* self, GError** error); + gboolean (*equals) (DataSource* self, DataSource* source); + void (*destroy) (DataSource* self); + void (*unlinked) (DataSource* self, SourceCollection* sources); + void (*relinked) (DataSource* self, SourceCollection* sources); + void (*destroyed) (DataSource* self); +}; + +struct _SavedSearch { + DataSource parent_instance; + SavedSearchPrivate * priv; +}; + +struct _SavedSearchClass { + DataSourceClass parent_class; +}; + +struct _SavedSearchPrivate { + SavedSearchRow* row; +}; + +struct _SavedSearchID { + gint64 id; +}; + +struct _SavedSearchRow { + GTypeInstance parent_instance; + volatile int ref_count; + SavedSearchRowPrivate * priv; + SavedSearchID search_id; + gchar* name; + SearchOperator operator; + GeeList* conditions; +}; + +struct _SavedSearchRowClass { + GTypeClass parent_class; + void (*finalize) (SavedSearchRow *self); +}; + +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 _SavedSearchTable { + GTypeInstance parent_instance; + volatile int ref_count; + SavedSearchTablePrivate * priv; +}; + +struct _SavedSearchTableClass { + GTypeClass parent_class; + void (*finalize) (SavedSearchTable *self); +}; + +struct _SavedSearchTablePrivate { + GeeHashMap* search_map; +}; + +struct _ParamSpecSavedSearchTable { + GParamSpec parent_instance; +}; + + +static gpointer search_condition_parent_class = NULL; +static gpointer search_condition_text_parent_class = NULL; +extern TagSourceCollection* tag_global; +static gpointer search_condition_media_type_parent_class = NULL; +static gpointer search_condition_flagged_parent_class = NULL; +static gpointer search_condition_modified_parent_class = NULL; +static gpointer search_condition_rating_parent_class = NULL; +static gpointer search_condition_date_parent_class = NULL; +static gpointer saved_search_parent_class = NULL; +static gpointer saved_search_table_parent_class = NULL; +static SavedSearchTable* saved_search_table_instance; +static SavedSearchTable* saved_search_table_instance = NULL; + +GType search_operator_get_type (void) G_GNUC_CONST; +gchar* search_operator_to_string (SearchOperator self); +SearchOperator search_operator_from_string (const gchar* str); +gpointer search_condition_ref (gpointer instance); +void search_condition_unref (gpointer instance); +GParamSpec* param_spec_search_condition (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_search_condition (GValue* value, gpointer v_object); +void value_take_search_condition (GValue* value, gpointer v_object); +gpointer value_get_search_condition (const GValue* value); +GType search_condition_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 search_condition_search_type_get_type (void) G_GNUC_CONST; +#define SEARCH_CONDITION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION, SearchConditionPrivate)) +enum { + SEARCH_CONDITION_DUMMY_PROPERTY +}; +SearchConditionSearchType* search_condition_search_type_as_array (int* result_length1); +void search_condition_search_type_sort_array (SearchConditionSearchType** array, int* array_length1); +static gint __lambda10_ (void* a, void* b); +gint utf8_cs_compare (void* a, void* b); +gchar* search_condition_search_type_display_text (SearchConditionSearchType self); +static gint ___lambda10____compar_fn_t (void* key1, void* key2); +gchar* search_condition_search_type_to_string (SearchConditionSearchType self); +SearchConditionSearchType search_condition_search_type_from_string (const gchar* str); +gboolean search_condition_predicate (SearchCondition* self, MediaSource* source); +static gboolean search_condition_real_predicate (SearchCondition* self, MediaSource* source); +SearchCondition* search_condition_construct (GType object_type); +SearchConditionSearchType search_condition_get_search_type (SearchCondition* self); +void search_condition_set_search_type (SearchCondition* self, SearchConditionSearchType value); +static void search_condition_finalize (SearchCondition* obj); +GType search_condition_text_get_type (void) G_GNUC_CONST; +GType search_condition_text_context_get_type (void) G_GNUC_CONST; +#define SEARCH_CONDITION_TEXT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextPrivate)) +enum { + SEARCH_CONDITION_TEXT_DUMMY_PROPERTY +}; +gchar* search_condition_text_context_to_string (SearchConditionTextContext self); +SearchConditionTextContext search_condition_text_context_from_string (const gchar* str); +SearchConditionText* search_condition_text_new (SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context); +SearchConditionText* search_condition_text_construct (GType object_type, SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context); +gchar* string_remove_diacritics (const gchar* istring); +static void search_condition_text_set_text (SearchConditionText* self, const gchar* value); +static void search_condition_text_set_context (SearchConditionText* self, SearchConditionTextContext value); +static gboolean search_condition_text_string_match (SearchConditionText* self, const gchar* needle, const gchar* haystack); +SearchConditionTextContext search_condition_text_get_context (SearchConditionText* self); +gboolean is_string_empty (const gchar* s); +static gboolean search_condition_text_real_predicate (SearchCondition* base, MediaSource* source); +gchar* media_source_get_title (MediaSource* self); +const gchar* search_condition_text_get_text (SearchConditionText* self); +GType tag_get_type (void) G_GNUC_CONST; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source); +gchar* tag_get_searchable_name (Tag* self); +GType event_source_get_type (void) G_GNUC_CONST; +GType event_get_type (void) G_GNUC_CONST; +Event* media_source_get_event (MediaSource* self); +gchar* data_object_get_name (DataObject* self); +gchar* media_source_get_comment (MediaSource* self); +gchar* media_source_get_basename (MediaSource* self); +static void search_condition_text_finalize (SearchCondition* obj); +GType search_condition_media_type_get_type (void) G_GNUC_CONST; +GType search_condition_media_type_media_type_get_type (void) G_GNUC_CONST; +GType search_condition_media_type_context_get_type (void) G_GNUC_CONST; +#define SEARCH_CONDITION_MEDIA_TYPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypePrivate)) +enum { + SEARCH_CONDITION_MEDIA_TYPE_DUMMY_PROPERTY +}; +gchar* search_condition_media_type_context_to_string (SearchConditionMediaTypeContext self); +SearchConditionMediaTypeContext search_condition_media_type_context_from_string (const gchar* str); +gchar* search_condition_media_type_media_type_to_string (SearchConditionMediaTypeMediaType self); +SearchConditionMediaTypeMediaType search_condition_media_type_media_type_from_string (const gchar* str); +SearchConditionMediaType* search_condition_media_type_new (SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type); +SearchConditionMediaType* search_condition_media_type_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type); +static void search_condition_media_type_set_context (SearchConditionMediaType* self, SearchConditionMediaTypeContext value); +static void search_condition_media_type_set_media_type (SearchConditionMediaType* self, SearchConditionMediaTypeMediaType value); +static gboolean search_condition_media_type_real_predicate (SearchCondition* base, MediaSource* source); +SearchConditionMediaTypeMediaType search_condition_media_type_get_media_type (SearchConditionMediaType* self); +GType photo_source_get_type (void) G_GNUC_CONST; +GType photo_get_type (void) G_GNUC_CONST; +SearchConditionMediaTypeContext search_condition_media_type_get_context (SearchConditionMediaType* self); +GType photo_file_format_get_type (void) G_GNUC_CONST; +PhotoFileFormat photo_get_master_file_format (Photo* self); +GType video_source_get_type (void) G_GNUC_CONST; +static void search_condition_media_type_finalize (SearchCondition* obj); +GType search_condition_flagged_get_type (void) G_GNUC_CONST; +GType search_condition_flagged_state_get_type (void) G_GNUC_CONST; +#define SEARCH_CONDITION_FLAGGED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedPrivate)) +enum { + SEARCH_CONDITION_FLAGGED_DUMMY_PROPERTY +}; +gchar* search_condition_flagged_state_to_string (SearchConditionFlaggedState self); +SearchConditionFlaggedState search_condition_flagged_state_from_string (const gchar* str); +SearchConditionFlagged* search_condition_flagged_new (SearchConditionSearchType search_type, SearchConditionFlaggedState state); +SearchConditionFlagged* search_condition_flagged_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionFlaggedState state); +static void search_condition_flagged_set_state (SearchConditionFlagged* self, SearchConditionFlaggedState value); +static gboolean search_condition_flagged_real_predicate (SearchCondition* base, MediaSource* source); +SearchConditionFlaggedState search_condition_flagged_get_state (SearchConditionFlagged* self); +GType flaggable_get_type (void) G_GNUC_CONST; +gboolean flaggable_is_flagged (Flaggable* self); +static void search_condition_flagged_finalize (SearchCondition* obj); +GType search_condition_modified_get_type (void) G_GNUC_CONST; +GType search_condition_modified_state_get_type (void) G_GNUC_CONST; +GType search_condition_modified_context_get_type (void) G_GNUC_CONST; +#define SEARCH_CONDITION_MODIFIED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedPrivate)) +enum { + SEARCH_CONDITION_MODIFIED_DUMMY_PROPERTY +}; +gchar* search_condition_modified_context_to_string (SearchConditionModifiedContext self); +SearchConditionModifiedContext search_condition_modified_context_from_string (const gchar* str); +gchar* search_condition_modified_state_to_string (SearchConditionModifiedState self); +SearchConditionModifiedState search_condition_modified_state_from_string (const gchar* str); +SearchConditionModified* search_condition_modified_new (SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state); +SearchConditionModified* search_condition_modified_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state); +static void search_condition_modified_set_context (SearchConditionModified* self, SearchConditionModifiedContext value); +static void search_condition_modified_set_state (SearchConditionModified* self, SearchConditionModifiedState value); +static gboolean search_condition_modified_real_predicate (SearchCondition* base, MediaSource* source); +SearchConditionModifiedState search_condition_modified_get_state (SearchConditionModified* self); +gboolean photo_has_transformations (Photo* self); +gboolean photo_has_editable (Photo* self); +SearchConditionModifiedContext search_condition_modified_get_context (SearchConditionModified* self); +static void search_condition_modified_finalize (SearchCondition* obj); +GType search_condition_rating_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType search_condition_rating_context_get_type (void) G_GNUC_CONST; +#define SEARCH_CONDITION_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingPrivate)) +enum { + SEARCH_CONDITION_RATING_DUMMY_PROPERTY +}; +gchar* search_condition_rating_context_to_string (SearchConditionRatingContext self); +SearchConditionRatingContext search_condition_rating_context_from_string (const gchar* str); +SearchConditionRating* search_condition_rating_new (SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context); +SearchConditionRating* search_condition_rating_construct (GType object_type, SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context); +static void search_condition_rating_set_rating (SearchConditionRating* self, Rating value); +static void search_condition_rating_set_context (SearchConditionRating* self, SearchConditionRatingContext value); +static gboolean search_condition_rating_real_predicate (SearchCondition* base, MediaSource* source); +Rating media_source_get_rating (MediaSource* self); +SearchConditionRatingContext search_condition_rating_get_context (SearchConditionRating* self); +Rating search_condition_rating_get_rating (SearchConditionRating* self); +static void search_condition_rating_finalize (SearchCondition* obj); +GType search_condition_date_get_type (void) G_GNUC_CONST; +GType search_condition_date_context_get_type (void) G_GNUC_CONST; +#define SEARCH_CONDITION_DATE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_DATE, SearchConditionDatePrivate)) +enum { + SEARCH_CONDITION_DATE_DUMMY_PROPERTY +}; +gchar* search_condition_date_context_to_string (SearchConditionDateContext self); +SearchConditionDateContext search_condition_date_context_from_string (const gchar* str); +SearchConditionDate* search_condition_date_new (SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two); +SearchConditionDate* search_condition_date_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two); +static void search_condition_date_set_context (SearchConditionDate* self, SearchConditionDateContext value); +static void search_condition_date_set_date_one (SearchConditionDate* self, GDateTime* value); +static void search_condition_date_set_date_two (SearchConditionDate* self, GDateTime* value); +static gboolean search_condition_date_real_predicate (SearchCondition* base, MediaSource* source); +time_t media_source_get_exposure_time (MediaSource* self); +SearchConditionDateContext search_condition_date_get_context (SearchConditionDate* self); +GDateTime* search_condition_date_get_date_one (SearchConditionDate* self); +GDateTime* search_condition_date_get_date_two (SearchConditionDate* self); +static void search_condition_date_finalize (SearchCondition* obj); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +gpointer source_holding_tank_ref (gpointer instance); +void source_holding_tank_unref (gpointer instance); +GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_holding_tank (GValue* value, gpointer v_object); +void value_take_source_holding_tank (GValue* value, gpointer v_object); +gpointer value_get_source_holding_tank (const GValue* value); +GType source_holding_tank_get_type (void) G_GNUC_CONST; +gpointer source_snapshot_ref (gpointer instance); +void source_snapshot_unref (gpointer instance); +GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_source_snapshot (GValue* value, gpointer v_object); +void value_take_source_snapshot (GValue* value, gpointer v_object); +gpointer value_get_source_snapshot (const GValue* value); +GType source_snapshot_get_type (void) G_GNUC_CONST; +GType saved_search_get_type (void) G_GNUC_CONST; +gpointer saved_search_row_ref (gpointer instance); +void saved_search_row_unref (gpointer instance); +GParamSpec* param_spec_saved_search_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_saved_search_row (GValue* value, gpointer v_object); +void value_take_saved_search_row (GValue* value, gpointer v_object); +gpointer value_get_saved_search_row (const GValue* value); +GType saved_search_row_get_type (void) G_GNUC_CONST; +#define SAVED_SEARCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH, SavedSearchPrivate)) +enum { + SAVED_SEARCH_DUMMY_PROPERTY +}; +#define SAVED_SEARCH_TYPENAME "saved_search" +SavedSearch* saved_search_new (SavedSearchRow* row, gint64 object_id); +SavedSearch* saved_search_construct (GType object_type, SavedSearchRow* row, gint64 object_id); +DataSource* data_source_construct (GType object_type, gint64 object_id); +static gchar* saved_search_real_get_name (DataObject* base); +GType saved_search_id_get_type (void) G_GNUC_CONST; +SavedSearchID* saved_search_id_dup (const SavedSearchID* self); +void saved_search_id_free (SavedSearchID* self); +static gchar* saved_search_real_to_string (DataObject* base); +static gchar* saved_search_real_get_typename (DataSource* base); +void saved_search_get_saved_search_id (SavedSearch* self, SavedSearchID* result); +static gint64 saved_search_real_get_instance_id (DataSource* base); +gint saved_search_compare_names (void* a, void* b); +gint string_collated_compare (void* a, void* b); +gboolean saved_search_predicate (SavedSearch* self, MediaSource* source); +void saved_search_reconstitute (SavedSearch* self); +gpointer database_table_ref (gpointer instance); +void database_table_unref (gpointer instance); +GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_database_table (GValue* value, gpointer v_object); +void value_take_database_table (GValue* value, gpointer v_object); +gpointer value_get_database_table (const GValue* value); +GType database_table_get_type (void) G_GNUC_CONST; +GType saved_search_db_table_get_type (void) G_GNUC_CONST; +SavedSearchDBTable* saved_search_db_table_get_instance (void); +GQuark database_error_quark (void); +void saved_search_db_table_create_from_row (SavedSearchDBTable* self, SavedSearchRow* row, SavedSearchID* result, GError** error); +void app_window_database_error (GError* err); +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_add_to_map (SavedSearchTable* self, SavedSearch* search); +gchar* data_object_to_string (DataObject* self); +gboolean saved_search_rename (SavedSearch* self, const gchar* new_name); +gboolean saved_search_table_exists (SavedSearchTable* self, const gchar* search_name); +void saved_search_db_table_rename (SavedSearchDBTable* self, SavedSearchID* search_id, const gchar* new_name, GError** error); +void saved_search_table_remove_from_map (SavedSearchTable* self, SavedSearch* search); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_switch_to_saved_search (LibraryWindow* self, SavedSearch* search); +GeeList* saved_search_get_conditions (SavedSearch* self); +SearchOperator saved_search_get_operator (SavedSearch* self); +static void saved_search_finalize (GObject* obj); +#define SAVED_SEARCH_TABLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH_TABLE, SavedSearchTablePrivate)) +enum { + SAVED_SEARCH_TABLE_DUMMY_PROPERTY +}; +static SavedSearchTable* saved_search_table_new (void); +static SavedSearchTable* saved_search_table_construct (GType object_type); +GeeList* saved_search_db_table_get_all_rows (SavedSearchDBTable* self, GError** error); +#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1) +GeeCollection* saved_search_table_get_all (SavedSearchTable* self); +SavedSearch* saved_search_table_create (SavedSearchTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions); +SavedSearchRow* saved_search_db_table_add (SavedSearchDBTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions, GError** error); +void saved_search_table_remove (SavedSearchTable* self, SavedSearch* search); +void saved_search_db_table_remove (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error); +GeeIterable* saved_search_table_get_saved_searches (SavedSearchTable* self); +gint saved_search_table_get_count (SavedSearchTable* self); +gchar* saved_search_table_generate_unique_name (SavedSearchTable* self); +#define RESOURCES_DEFAULT_SAVED_SEARCH_NAME _ ("Saved Search") +static void saved_search_table_finalize (SavedSearchTable* obj); + + +gchar* search_operator_to_string (SearchOperator self) { + gchar* result = NULL; +#line 14 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 14 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_OPERATOR_ANY: +#line 1005 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("ANY"); +#line 16 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 16 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1014 "SearchBoolean.c" + } +#line 14 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_OPERATOR_ALL: +#line 1018 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("ALL"); +#line 19 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 19 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1027 "SearchBoolean.c" + } +#line 14 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_OPERATOR_NONE: +#line 1031 "SearchBoolean.c" + { + gchar* _tmp2_ = NULL; +#line 22 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strdup ("NONE"); +#line 22 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 22 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1040 "SearchBoolean.c" + } + default: + { +#line 25 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:25: unrecognized search operator enumeration value"); +#line 1046 "SearchBoolean.c" + } + } +} + + +SearchOperator search_operator_from_string (const gchar* str) { + SearchOperator result = 0; + const gchar* _tmp0_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 30 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 30 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "ANY") == 0) { +#line 31 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_OPERATOR_ANY; +#line 31 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1065 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 33 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "ALL") == 0) { +#line 34 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_OPERATOR_ALL; +#line 34 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1076 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 36 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 36 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp2_, "NONE") == 0) { +#line 37 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_OPERATOR_NONE; +#line 37 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1087 "SearchBoolean.c" + } else { + const gchar* _tmp3_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = str; +#line 40 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:40: unrecognized search operator name: %s", _tmp3_); +#line 1094 "SearchBoolean.c" + } + } + } +} + + +GType search_operator_get_type (void) { + static volatile gsize search_operator_type_id__volatile = 0; + if (g_once_init_enter (&search_operator_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_OPERATOR_ANY, "SEARCH_OPERATOR_ANY", "any"}, {SEARCH_OPERATOR_ALL, "SEARCH_OPERATOR_ALL", "all"}, {SEARCH_OPERATOR_NONE, "SEARCH_OPERATOR_NONE", "none"}, {0, NULL, NULL}}; + GType search_operator_type_id; + search_operator_type_id = g_enum_register_static ("SearchOperator", values); + g_once_init_leave (&search_operator_type_id__volatile, search_operator_type_id); + } + return search_operator_type_id__volatile; +} + + +SearchConditionSearchType* search_condition_search_type_as_array (int* result_length1) { + SearchConditionSearchType* result = NULL; + SearchConditionSearchType* _tmp0_ = NULL; + SearchConditionSearchType* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_new0 (SearchConditionSearchType, 11); +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[0] = SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[1] = SEARCH_CONDITION_SEARCH_TYPE_TITLE; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[2] = SEARCH_CONDITION_SEARCH_TYPE_TAG; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[3] = SEARCH_CONDITION_SEARCH_TYPE_COMMENT; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[4] = SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[5] = SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[6] = SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[7] = SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[8] = SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[9] = SEARCH_CONDITION_SEARCH_TYPE_RATING; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_[10] = SEARCH_CONDITION_SEARCH_TYPE_DATE; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp0_; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1__length1 = 11; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (result_length1) { +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + *result_length1 = _tmp1__length1; +#line 1150 "SearchBoolean.c" + } +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1156 "SearchBoolean.c" +} + + +static gint __lambda10_ (void* a, void* b) { + gint result = 0; + void* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + void* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = a; +#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = search_condition_search_type_display_text (*((SearchConditionSearchType*) _tmp0_)); +#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = b; +#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = search_condition_search_type_display_text (*((SearchConditionSearchType*) _tmp2_)); +#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = utf8_cs_compare (_tmp1_, _tmp3_); +#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp4_; +#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1181 "SearchBoolean.c" +} + + +static gint ___lambda10____compar_fn_t (void* key1, void* key2) { + gint result; + result = __lambda10_ (key1, key2); +#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1190 "SearchBoolean.c" +} + + +void search_condition_search_type_sort_array (SearchConditionSearchType** array, int* array_length1) { + SearchConditionSearchType* _tmp0_ = NULL; + gint _tmp0__length1 = 0; + SearchConditionSearchType* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = *array; +#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0__length1 = *array_length1; +#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = *array; +#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1__length1 = *array_length1; +#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + qsort (_tmp0_, (gsize) _tmp1__length1, (gsize) sizeof (SearchConditionSearchType), ___lambda10____compar_fn_t); +#line 1209 "SearchBoolean.c" +} + + +gchar* search_condition_search_type_to_string (SearchConditionSearchType self) { + gchar* result = NULL; +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT: +#line 1219 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("ANY_TEXT"); +#line 79 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 79 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1228 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_TITLE: +#line 1232 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("TITLE"); +#line 82 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 82 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1241 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_TAG: +#line 1245 "SearchBoolean.c" + { + gchar* _tmp2_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strdup ("TAG"); +#line 85 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 85 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1254 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_COMMENT: +#line 1258 "SearchBoolean.c" + { + gchar* _tmp3_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = g_strdup ("COMMENT"); +#line 88 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_; +#line 88 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1267 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME: +#line 1271 "SearchBoolean.c" + { + gchar* _tmp4_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = g_strdup ("EVENT_NAME"); +#line 91 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp4_; +#line 91 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1280 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME: +#line 1284 "SearchBoolean.c" + { + gchar* _tmp5_ = NULL; +#line 94 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = g_strdup ("FILE_NAME"); +#line 94 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp5_; +#line 94 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1293 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE: +#line 1297 "SearchBoolean.c" + { + gchar* _tmp6_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = g_strdup ("MEDIA_TYPE"); +#line 97 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp6_; +#line 97 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1306 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE: +#line 1310 "SearchBoolean.c" + { + gchar* _tmp7_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = g_strdup ("FLAG_STATE"); +#line 100 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp7_; +#line 100 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1319 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE: +#line 1323 "SearchBoolean.c" + { + gchar* _tmp8_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = g_strdup ("MODIFIED_STATE"); +#line 103 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp8_; +#line 103 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1332 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_RATING: +#line 1336 "SearchBoolean.c" + { + gchar* _tmp9_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = g_strdup ("RATING"); +#line 106 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp9_; +#line 106 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1345 "SearchBoolean.c" + } +#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_DATE: +#line 1349 "SearchBoolean.c" + { + gchar* _tmp10_ = NULL; +#line 109 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = g_strdup ("DATE"); +#line 109 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp10_; +#line 109 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1358 "SearchBoolean.c" + } + default: + { +#line 112 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:112: unrecognized search type enumeration value"); +#line 1364 "SearchBoolean.c" + } + } +} + + +SearchConditionSearchType search_condition_search_type_from_string (const gchar* str) { + SearchConditionSearchType result = 0; + const gchar* _tmp0_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 117 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 117 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "ANY_TEXT") == 0) { +#line 118 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT; +#line 118 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1383 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 120 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 120 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "TITLE") == 0) { +#line 121 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_TITLE; +#line 121 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1394 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 123 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp2_, "TAG") == 0) { +#line 124 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_TAG; +#line 124 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1405 "SearchBoolean.c" + } else { + const gchar* _tmp3_ = NULL; +#line 126 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = str; +#line 126 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp3_, "COMMENT") == 0) { +#line 127 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_COMMENT; +#line 127 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1416 "SearchBoolean.c" + } else { + const gchar* _tmp4_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = str; +#line 129 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp4_, "EVENT_NAME") == 0) { +#line 130 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME; +#line 130 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1427 "SearchBoolean.c" + } else { + const gchar* _tmp5_ = NULL; +#line 132 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = str; +#line 132 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp5_, "FILE_NAME") == 0) { +#line 133 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME; +#line 133 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1438 "SearchBoolean.c" + } else { + const gchar* _tmp6_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = str; +#line 135 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp6_, "MEDIA_TYPE") == 0) { +#line 136 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE; +#line 136 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1449 "SearchBoolean.c" + } else { + const gchar* _tmp7_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = str; +#line 138 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp7_, "FLAG_STATE") == 0) { +#line 139 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE; +#line 139 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1460 "SearchBoolean.c" + } else { + const gchar* _tmp8_ = NULL; +#line 141 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = str; +#line 141 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp8_, "MODIFIED_STATE") == 0) { +#line 142 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE; +#line 142 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1471 "SearchBoolean.c" + } else { + const gchar* _tmp9_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = str; +#line 144 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp9_, "RATING") == 0) { +#line 145 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_RATING; +#line 145 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1482 "SearchBoolean.c" + } else { + const gchar* _tmp10_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = str; +#line 147 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp10_, "DATE") == 0) { +#line 148 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_SEARCH_TYPE_DATE; +#line 148 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1493 "SearchBoolean.c" + } else { + const gchar* _tmp11_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = str; +#line 151 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:151: unrecognized search type name: %s", _tmp11_); +#line 1500 "SearchBoolean.c" + } + } + } + } + } + } + } + } + } + } + } +} + + +gchar* search_condition_search_type_display_text (SearchConditionSearchType self) { + gchar* result = NULL; +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT: +#line 1521 "SearchBoolean.c" + { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = _ ("Any text"); +#line 157 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 157 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 157 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1533 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_TITLE: +#line 1537 "SearchBoolean.c" + { + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _ ("Title"); +#line 160 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 160 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_; +#line 160 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1549 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_TAG: +#line 1553 "SearchBoolean.c" + { + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = _ ("Tag"); +#line 163 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 163 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp5_; +#line 163 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1565 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_COMMENT: +#line 1569 "SearchBoolean.c" + { + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 166 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = _ ("Comment"); +#line 166 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = g_strdup (_tmp6_); +#line 166 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp7_; +#line 166 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1581 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME: +#line 1585 "SearchBoolean.c" + { + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 169 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = _ ("Event name"); +#line 169 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 169 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp9_; +#line 169 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1597 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME: +#line 1601 "SearchBoolean.c" + { + const gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = _ ("File name"); +#line 172 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = g_strdup (_tmp10_); +#line 172 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp11_; +#line 172 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1613 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE: +#line 1617 "SearchBoolean.c" + { + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 175 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = _ ("Media type"); +#line 175 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 175 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp13_; +#line 175 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1629 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE: +#line 1633 "SearchBoolean.c" + { + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 178 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp14_ = _ ("Flag state"); +#line 178 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 178 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp15_; +#line 178 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1645 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE: +#line 1649 "SearchBoolean.c" + { + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 181 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp16_ = _ ("Photo state"); +#line 181 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 181 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp17_; +#line 181 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1661 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_RATING: +#line 1665 "SearchBoolean.c" + { + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 184 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp18_ = _ ("Rating"); +#line 184 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp19_ = g_strdup (_tmp18_); +#line 184 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp19_; +#line 184 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1677 "SearchBoolean.c" + } +#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_SEARCH_TYPE_DATE: +#line 1681 "SearchBoolean.c" + { + const gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp20_ = _ ("Date"); +#line 187 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp21_ = g_strdup (_tmp20_); +#line 187 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp21_; +#line 187 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1693 "SearchBoolean.c" + } + default: + { +#line 190 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:190: unrecognized search type enumeration value"); +#line 1699 "SearchBoolean.c" + } + } +} + + +GType search_condition_search_type_get_type (void) { + static volatile gsize search_condition_search_type_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_search_type_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT, "SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT", "any-text"}, {SEARCH_CONDITION_SEARCH_TYPE_TITLE, "SEARCH_CONDITION_SEARCH_TYPE_TITLE", "title"}, {SEARCH_CONDITION_SEARCH_TYPE_TAG, "SEARCH_CONDITION_SEARCH_TYPE_TAG", "tag"}, {SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME, "SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME", "event-name"}, {SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME, "SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME", "file-name"}, {SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE, "SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE", "media-type"}, {SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE, "SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE", "flag-state"}, {SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE, "SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE", "modified-state"}, {SEARCH_CONDITION_SEARCH_TYPE_RATING, "SEARCH_CONDITION_SEARCH_TYPE_RATING", "rating"}, {SEARCH_CONDITION_SEARCH_TYPE_COMMENT, "SEARCH_CONDITION_SEARCH_TYPE_COMMENT", "comment"}, {SEARCH_CONDITION_SEARCH_TYPE_DATE, "SEARCH_CONDITION_SEARCH_TYPE_DATE", "date"}, {0, NULL, NULL}}; + GType search_condition_search_type_type_id; + search_condition_search_type_type_id = g_enum_register_static ("SearchConditionSearchType", values); + g_once_init_leave (&search_condition_search_type_type_id__volatile, search_condition_search_type_type_id); + } + return search_condition_search_type_type_id__volatile; +} + + +static gboolean search_condition_real_predicate (SearchCondition* self, MediaSource* source) { +#line 198 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_critical ("Type `%s' does not implement abstract method `search_condition_predicate'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 198 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return FALSE; +#line 1722 "SearchBoolean.c" +} + + +gboolean search_condition_predicate (SearchCondition* self, MediaSource* source) { +#line 198 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION (self), FALSE); +#line 198 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return SEARCH_CONDITION_GET_CLASS (self)->predicate (self, source); +#line 1731 "SearchBoolean.c" +} + + +SearchCondition* search_condition_construct (GType object_type) { + SearchCondition* self = NULL; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SearchCondition*) g_type_create_instance (object_type); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 1741 "SearchBoolean.c" +} + + +SearchConditionSearchType search_condition_get_search_type (SearchCondition* self) { + SearchConditionSearchType result; + SearchConditionSearchType _tmp0_ = 0; +#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION (self), 0); +#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_search_type; +#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 1756 "SearchBoolean.c" +} + + +void search_condition_set_search_type (SearchCondition* self, SearchConditionSearchType value) { + SearchConditionSearchType _tmp0_ = 0; +#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION (self)); +#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_search_type = _tmp0_; +#line 1768 "SearchBoolean.c" +} + + +static void value_search_condition_init (GValue* value) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = NULL; +#line 1775 "SearchBoolean.c" +} + + +static void value_search_condition_free_value (GValue* value) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (value->data[0].v_pointer) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_unref (value->data[0].v_pointer); +#line 1784 "SearchBoolean.c" + } +} + + +static void value_search_condition_copy_value (const GValue* src_value, GValue* dest_value) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (src_value->data[0].v_pointer) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + dest_value->data[0].v_pointer = search_condition_ref (src_value->data[0].v_pointer); +#line 1794 "SearchBoolean.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + dest_value->data[0].v_pointer = NULL; +#line 1798 "SearchBoolean.c" + } +} + + +static gpointer value_search_condition_peek_pointer (const GValue* value) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return value->data[0].v_pointer; +#line 1806 "SearchBoolean.c" +} + + +static gchar* value_search_condition_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (collect_values[0].v_pointer) { +#line 1813 "SearchBoolean.c" + SearchCondition* object; + object = collect_values[0].v_pointer; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (object->parent_instance.g_class == NULL) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1820 "SearchBoolean.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1824 "SearchBoolean.c" + } +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = search_condition_ref (object); +#line 1828 "SearchBoolean.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = NULL; +#line 1832 "SearchBoolean.c" + } +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return NULL; +#line 1836 "SearchBoolean.c" +} + + +static gchar* value_search_condition_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SearchCondition** object_p; + object_p = collect_values[0].v_pointer; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!object_p) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1847 "SearchBoolean.c" + } +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!value->data[0].v_pointer) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + *object_p = NULL; +#line 1853 "SearchBoolean.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + *object_p = value->data[0].v_pointer; +#line 1857 "SearchBoolean.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + *object_p = search_condition_ref (value->data[0].v_pointer); +#line 1861 "SearchBoolean.c" + } +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return NULL; +#line 1865 "SearchBoolean.c" +} + + +GParamSpec* param_spec_search_condition (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSearchCondition* spec; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SEARCH_CONDITION), NULL); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return G_PARAM_SPEC (spec); +#line 1879 "SearchBoolean.c" +} + + +gpointer value_get_search_condition (const GValue* value) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_CONDITION), NULL); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return value->data[0].v_pointer; +#line 1888 "SearchBoolean.c" +} + + +void value_set_search_condition (GValue* value, gpointer v_object) { + SearchCondition* old; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_CONDITION)); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + old = value->data[0].v_pointer; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (v_object) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SEARCH_CONDITION)); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = v_object; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_ref (value->data[0].v_pointer); +#line 1908 "SearchBoolean.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = NULL; +#line 1912 "SearchBoolean.c" + } +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (old) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_unref (old); +#line 1918 "SearchBoolean.c" + } +} + + +void value_take_search_condition (GValue* value, gpointer v_object) { + SearchCondition* old; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_CONDITION)); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + old = value->data[0].v_pointer; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (v_object) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SEARCH_CONDITION)); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = v_object; +#line 1937 "SearchBoolean.c" + } else { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = NULL; +#line 1941 "SearchBoolean.c" + } +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (old) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_unref (old); +#line 1947 "SearchBoolean.c" + } +} + + +static void search_condition_class_init (SearchConditionClass * klass) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_parent_class = g_type_class_peek_parent (klass); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->finalize = search_condition_finalize; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SearchConditionPrivate)); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->predicate = search_condition_real_predicate; +#line 1961 "SearchBoolean.c" +} + + +static void search_condition_instance_init (SearchCondition * self) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SEARCH_CONDITION_GET_PRIVATE (self); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->ref_count = 1; +#line 1970 "SearchBoolean.c" +} + + +static void search_condition_finalize (SearchCondition* obj) { + SearchCondition * self; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION, SearchCondition); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_signal_handlers_destroy (self); +#line 1980 "SearchBoolean.c" +} + + +GType search_condition_get_type (void) { + static volatile gsize search_condition_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_search_condition_init, value_search_condition_free_value, value_search_condition_copy_value, value_search_condition_peek_pointer, "p", value_search_condition_collect_value, "p", value_search_condition_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SearchConditionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchCondition), 0, (GInstanceInitFunc) search_condition_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType search_condition_type_id; + search_condition_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SearchCondition", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&search_condition_type_id__volatile, search_condition_type_id); + } + return search_condition_type_id__volatile; +} + + +gpointer search_condition_ref (gpointer instance) { + SearchCondition* self; + self = instance; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_atomic_int_inc (&self->ref_count); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return instance; +#line 2005 "SearchBoolean.c" +} + + +void search_condition_unref (gpointer instance) { + SearchCondition* self; + self = instance; +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + SEARCH_CONDITION_GET_CLASS (self)->finalize (self); +#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2018 "SearchBoolean.c" + } +} + + +gchar* search_condition_text_context_to_string (SearchConditionTextContext self) { + gchar* result = NULL; +#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS: +#line 2029 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 215 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("CONTAINS"); +#line 215 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 215 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2038 "SearchBoolean.c" + } +#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY: +#line 2042 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 218 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("IS_EXACTLY"); +#line 218 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 218 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2051 "SearchBoolean.c" + } +#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH: +#line 2055 "SearchBoolean.c" + { + gchar* _tmp2_ = NULL; +#line 221 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strdup ("STARTS_WITH"); +#line 221 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 221 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2064 "SearchBoolean.c" + } +#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH: +#line 2068 "SearchBoolean.c" + { + gchar* _tmp3_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = g_strdup ("ENDS_WITH"); +#line 224 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_; +#line 224 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2077 "SearchBoolean.c" + } +#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN: +#line 2081 "SearchBoolean.c" + { + gchar* _tmp4_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = g_strdup ("DOES_NOT_CONTAIN"); +#line 227 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp4_; +#line 227 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2090 "SearchBoolean.c" + } +#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET: +#line 2094 "SearchBoolean.c" + { + gchar* _tmp5_ = NULL; +#line 230 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = g_strdup ("IS_NOT_SET"); +#line 230 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp5_; +#line 230 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2103 "SearchBoolean.c" + } +#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_IS_SET: +#line 2107 "SearchBoolean.c" + { + gchar* _tmp6_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = g_strdup ("IS_SET"); +#line 233 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp6_; +#line 233 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2116 "SearchBoolean.c" + } + default: + { +#line 236 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:236: unrecognized text search context enumeration v" \ +"alue"); +#line 2122 "SearchBoolean.c" + } + } +} + + +SearchConditionTextContext search_condition_text_context_from_string (const gchar* str) { + SearchConditionTextContext result = 0; + const gchar* _tmp0_ = NULL; +#line 240 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 241 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 241 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "CONTAINS") == 0) { +#line 242 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS; +#line 242 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2141 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 244 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 244 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "IS_EXACTLY") == 0) { +#line 245 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY; +#line 245 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2152 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 247 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp2_, "STARTS_WITH") == 0) { +#line 248 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH; +#line 248 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2163 "SearchBoolean.c" + } else { + const gchar* _tmp3_ = NULL; +#line 250 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = str; +#line 250 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp3_, "ENDS_WITH") == 0) { +#line 251 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH; +#line 251 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2174 "SearchBoolean.c" + } else { + const gchar* _tmp4_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = str; +#line 253 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp4_, "DOES_NOT_CONTAIN") == 0) { +#line 254 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN; +#line 254 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2185 "SearchBoolean.c" + } else { + const gchar* _tmp5_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = str; +#line 256 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp5_, "IS_NOT_SET") == 0) { +#line 257 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET; +#line 257 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2196 "SearchBoolean.c" + } else { + const gchar* _tmp6_ = NULL; +#line 259 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = str; +#line 259 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp6_, "IS_SET") == 0) { +#line 260 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_TEXT_CONTEXT_IS_SET; +#line 260 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2207 "SearchBoolean.c" + } else { + const gchar* _tmp7_ = NULL; +#line 263 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = str; +#line 263 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:263: unrecognized text search context name: %s", _tmp7_); +#line 2214 "SearchBoolean.c" + } + } + } + } + } + } + } +} + + +GType search_condition_text_context_get_type (void) { + static volatile gsize search_condition_text_context_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_text_context_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS, "SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS", "contains"}, {SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY, "SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY", "is-exactly"}, {SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH, "SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH", "starts-with"}, {SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH, "SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH", "ends-with"}, {SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN, "SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN", "does-not-contain"}, {SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET, "SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET", "is-not-set"}, {SEARCH_CONDITION_TEXT_CONTEXT_IS_SET, "SEARCH_CONDITION_TEXT_CONTEXT_IS_SET", "is-set"}, {0, NULL, NULL}}; + GType search_condition_text_context_type_id; + search_condition_text_context_type_id = g_enum_register_static ("SearchConditionTextContext", values); + g_once_init_leave (&search_condition_text_context_type_id__volatile, search_condition_text_context_type_id); + } + return search_condition_text_context_type_id__volatile; +} + + +SearchConditionText* search_condition_text_construct (GType object_type, SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context) { + SearchConditionText* self = NULL; + SearchConditionSearchType _tmp0_ = 0; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + SearchConditionTextContext _tmp8_ = 0; +#line 273 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SearchConditionText*) search_condition_construct (object_type); +#line 274 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = search_type; +#line 274 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_); +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = text; +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp2_ != NULL) { +#line 2253 "SearchBoolean.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = text; +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = g_utf8_strdown (_tmp3_, (gssize) -1); +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = _tmp4_; +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = string_remove_diacritics (_tmp5_); +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp1_); +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp6_; +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp5_); +#line 2272 "SearchBoolean.c" + } else { + gchar* _tmp7_ = NULL; +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = g_strdup (""); +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp1_); +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp7_; +#line 2281 "SearchBoolean.c" + } +#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_text_set_text (self, _tmp1_); +#line 276 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = context; +#line 276 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_text_set_context (self, _tmp8_); +#line 273 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp1_); +#line 273 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 2293 "SearchBoolean.c" +} + + +SearchConditionText* search_condition_text_new (SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context) { +#line 273 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return search_condition_text_construct (TYPE_SEARCH_CONDITION_TEXT, search_type, text, context); +#line 2300 "SearchBoolean.c" +} + + +static gboolean string_contains (const gchar* self, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, FALSE); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = needle; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_); +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_ != NULL; +#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2320 "SearchBoolean.c" +} + + +static gboolean search_condition_text_string_match (SearchConditionText* self, const gchar* needle, const gchar* haystack) { + gboolean result = FALSE; + SearchConditionTextContext _tmp0_ = 0; +#line 280 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_TEXT (self), FALSE); +#line 280 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (needle != NULL, FALSE); +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_context; +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (_tmp0_) { +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS: +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN: +#line 2339 "SearchBoolean.c" + { + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = haystack; +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!_tmp3_) { +#line 2350 "SearchBoolean.c" + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = haystack; +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = needle; +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = string_contains (_tmp4_, _tmp5_); +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp6_; +#line 2362 "SearchBoolean.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = FALSE; +#line 2366 "SearchBoolean.c" + } +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2372 "SearchBoolean.c" + } +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY: +#line 2376 "SearchBoolean.c" + { + gboolean _tmp7_ = FALSE; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = haystack; +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = is_string_empty (_tmp8_); +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!_tmp9_) { +#line 2387 "SearchBoolean.c" + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = haystack; +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = needle; +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = g_strcmp0 (_tmp10_, _tmp11_) == 0; +#line 2396 "SearchBoolean.c" + } else { +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = FALSE; +#line 2400 "SearchBoolean.c" + } +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp7_; +#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2406 "SearchBoolean.c" + } +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH: +#line 2410 "SearchBoolean.c" + { + gboolean _tmp12_ = FALSE; + const gchar* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = haystack; +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp14_ = is_string_empty (_tmp13_); +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!_tmp14_) { +#line 2421 "SearchBoolean.c" + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_ = haystack; +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp16_ = needle; +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp17_ = g_str_has_prefix (_tmp15_, _tmp16_); +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = _tmp17_; +#line 2433 "SearchBoolean.c" + } else { +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = FALSE; +#line 2437 "SearchBoolean.c" + } +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp12_; +#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2443 "SearchBoolean.c" + } +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH: +#line 2447 "SearchBoolean.c" + { + gboolean _tmp18_ = FALSE; + const gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp19_ = haystack; +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp20_ = is_string_empty (_tmp19_); +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!_tmp20_) { +#line 2458 "SearchBoolean.c" + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp21_ = haystack; +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp22_ = needle; +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp23_ = g_str_has_suffix (_tmp21_, _tmp22_); +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp18_ = _tmp23_; +#line 2470 "SearchBoolean.c" + } else { +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp18_ = FALSE; +#line 2474 "SearchBoolean.c" + } +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp18_; +#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2480 "SearchBoolean.c" + } +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET: +#line 2484 "SearchBoolean.c" + { + const gchar* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; +#line 296 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp24_ = haystack; +#line 296 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp25_ = is_string_empty (_tmp24_); +#line 296 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp25_; +#line 296 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2496 "SearchBoolean.c" + } +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_TEXT_CONTEXT_IS_SET: +#line 2500 "SearchBoolean.c" + { + const gchar* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 299 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp26_ = haystack; +#line 299 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp27_ = is_string_empty (_tmp26_); +#line 299 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = !_tmp27_; +#line 299 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2512 "SearchBoolean.c" + } + default: +#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + break; +#line 2517 "SearchBoolean.c" + } +#line 302 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = FALSE; +#line 302 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 2523 "SearchBoolean.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self ? g_object_ref (self) : NULL; +#line 2530 "SearchBoolean.c" +} + + +static gboolean search_condition_text_real_predicate (SearchCondition* base, MediaSource* source) { + SearchConditionText * self; + gboolean result = FALSE; + gboolean ret = FALSE; + gboolean _tmp0_ = FALSE; + SearchConditionSearchType _tmp1_ = 0; + SearchConditionSearchType _tmp2_ = 0; + gboolean _tmp21_ = FALSE; + SearchConditionSearchType _tmp22_ = 0; + SearchConditionSearchType _tmp23_ = 0; + gboolean _tmp52_ = FALSE; + SearchConditionSearchType _tmp53_ = 0; + SearchConditionSearchType _tmp54_ = 0; + gboolean _tmp75_ = FALSE; + SearchConditionSearchType _tmp76_ = 0; + SearchConditionSearchType _tmp77_ = 0; + gboolean _tmp91_ = FALSE; + SearchConditionSearchType _tmp92_ = 0; + SearchConditionSearchType _tmp93_ = 0; + gboolean _tmp106_ = FALSE; + SearchConditionTextContext _tmp107_ = 0; +#line 306 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_TEXT, SearchConditionText); +#line 306 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 307 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = FALSE; +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp1_; +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp2_) { +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = TRUE; +#line 2569 "SearchBoolean.c" + } else { + SearchConditionSearchType _tmp3_ = 0; + SearchConditionSearchType _tmp4_ = 0; +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = _tmp3_; +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = SEARCH_CONDITION_SEARCH_TYPE_TITLE == _tmp4_; +#line 2579 "SearchBoolean.c" + } +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp0_) { +#line 2583 "SearchBoolean.c" + gchar* _tmp5_ = NULL; + MediaSource* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gchar* title = NULL; + gchar* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + const gchar* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; +#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = source; +#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = media_source_get_title (_tmp6_); +#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = _tmp7_; +#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = NULL != _tmp8_; +#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp8_); +#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp9_) { +#line 2607 "SearchBoolean.c" + MediaSource* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = source; +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = media_source_get_title (_tmp10_); +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = _tmp11_; +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = g_utf8_strdown (_tmp12_, (gssize) -1); +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp14_ = _tmp13_; +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_ = string_remove_diacritics (_tmp14_); +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp5_); +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = _tmp15_; +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp14_); +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp12_); +#line 2634 "SearchBoolean.c" + } else { +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp5_); +#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = NULL; +#line 2640 "SearchBoolean.c" + } +#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp16_ = g_strdup (_tmp5_); +#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + title = _tmp16_; +#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp17_ = ret; +#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp18_ = self->priv->_text; +#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp19_ = title; +#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp20_ = search_condition_text_string_match (self, _tmp18_, _tmp19_); +#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp17_ | _tmp20_; +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (title); +#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp5_); +#line 2660 "SearchBoolean.c" + } +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp22_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp23_ = _tmp22_; +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp23_) { +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp21_ = TRUE; +#line 2670 "SearchBoolean.c" + } else { + SearchConditionSearchType _tmp24_ = 0; + SearchConditionSearchType _tmp25_ = 0; +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp24_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp25_ = _tmp24_; +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp21_ = SEARCH_CONDITION_SEARCH_TYPE_TAG == _tmp25_; +#line 2680 "SearchBoolean.c" + } +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp21_) { +#line 2684 "SearchBoolean.c" + GeeList* tag_list = NULL; + TagSourceCollection* _tmp26_ = NULL; + MediaSource* _tmp27_ = NULL; + GeeList* _tmp28_ = NULL; + GeeList* _tmp29_ = NULL; +#line 318 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp26_ = tag_global; +#line 318 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp27_ = source; +#line 318 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp28_ = tag_source_collection_fetch_for_source (_tmp26_, _tmp27_); +#line 318 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + tag_list = _tmp28_; +#line 319 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp29_ = tag_list; +#line 319 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (NULL != _tmp29_) { +#line 2702 "SearchBoolean.c" + gchar* itag = NULL; + { + GeeList* _tag_list = NULL; + GeeList* _tmp30_ = NULL; + GeeList* _tmp31_ = NULL; + gint _tag_size = 0; + GeeList* _tmp32_ = NULL; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + gint _tag_index = 0; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp30_ = tag_list; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp31_ = _g_object_ref0 (_tmp30_); +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tag_list = _tmp31_; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp32_ = _tag_list; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp33_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp34_ = _tmp33_; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tag_size = _tmp34_; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tag_index = -1; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + while (TRUE) { +#line 2731 "SearchBoolean.c" + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gint _tmp37_ = 0; + Tag* tag = NULL; + GeeList* _tmp38_ = NULL; + gint _tmp39_ = 0; + gpointer _tmp40_ = NULL; + Tag* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; + gchar* _tmp44_ = NULL; + gboolean _tmp45_ = FALSE; + const gchar* _tmp46_ = NULL; + const gchar* _tmp47_ = NULL; + gboolean _tmp48_ = FALSE; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp35_ = _tag_index; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tag_index = _tmp35_ + 1; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp36_ = _tag_index; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp37_ = _tag_size; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!(_tmp36_ < _tmp37_)) { +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + break; +#line 2759 "SearchBoolean.c" + } +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp38_ = _tag_list; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp39_ = _tag_index; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp40_ = gee_list_get (_tmp38_, _tmp39_); +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + tag = (Tag*) _tmp40_; +#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp41_ = tag; +#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp42_ = tag_get_searchable_name (_tmp41_); +#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp43_ = _tmp42_; +#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp44_ = g_utf8_strdown (_tmp43_, (gssize) -1); +#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (itag); +#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + itag = _tmp44_; +#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp43_); +#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp45_ = ret; +#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp46_ = self->priv->_text; +#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp47_ = itag; +#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp48_ = search_condition_text_string_match (self, _tmp46_, _tmp47_); +#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp45_ | _tmp48_; +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (tag); +#line 2795 "SearchBoolean.c" + } +#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_tag_list); +#line 2799 "SearchBoolean.c" + } +#line 319 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (itag); +#line 2803 "SearchBoolean.c" + } else { + gboolean _tmp49_ = FALSE; + const gchar* _tmp50_ = NULL; + gboolean _tmp51_ = FALSE; +#line 326 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp49_ = ret; +#line 326 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp50_ = self->priv->_text; +#line 326 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp51_ = search_condition_text_string_match (self, _tmp50_, NULL); +#line 326 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp49_ | _tmp51_; +#line 2816 "SearchBoolean.c" + } +#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (tag_list); +#line 2820 "SearchBoolean.c" + } +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp53_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp54_ = _tmp53_; +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp54_) { +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp52_ = TRUE; +#line 2830 "SearchBoolean.c" + } else { + SearchConditionSearchType _tmp55_ = 0; + SearchConditionSearchType _tmp56_ = 0; +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp55_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp56_ = _tmp55_; +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp52_ = SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME == _tmp56_; +#line 2840 "SearchBoolean.c" + } +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp52_) { +#line 2844 "SearchBoolean.c" + gchar* _tmp57_ = NULL; + MediaSource* _tmp58_ = NULL; + Event* _tmp59_ = NULL; + Event* _tmp60_ = NULL; + gboolean _tmp61_ = FALSE; + gchar* event_name = NULL; + gchar* _tmp70_ = NULL; + gboolean _tmp71_ = FALSE; + const gchar* _tmp72_ = NULL; + const gchar* _tmp73_ = NULL; + gboolean _tmp74_ = FALSE; +#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp58_ = source; +#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp59_ = media_source_get_event (_tmp58_); +#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp60_ = _tmp59_; +#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp61_ = NULL != _tmp60_; +#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_tmp60_); +#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp61_) { +#line 2868 "SearchBoolean.c" + MediaSource* _tmp62_ = NULL; + Event* _tmp63_ = NULL; + Event* _tmp64_ = NULL; + gchar* _tmp65_ = NULL; + gchar* _tmp66_ = NULL; + gchar* _tmp67_ = NULL; + gchar* _tmp68_ = NULL; + gchar* _tmp69_ = NULL; +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp62_ = source; +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp63_ = media_source_get_event (_tmp62_); +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp64_ = _tmp63_; +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp65_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, TYPE_DATA_OBJECT, DataObject)); +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp66_ = _tmp65_; +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp67_ = g_utf8_strdown (_tmp66_, (gssize) -1); +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp68_ = _tmp67_; +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp69_ = string_remove_diacritics (_tmp68_); +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp57_); +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp57_ = _tmp69_; +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp68_); +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp66_); +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_tmp64_); +#line 2903 "SearchBoolean.c" + } else { +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp57_); +#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp57_ = NULL; +#line 2909 "SearchBoolean.c" + } +#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp70_ = g_strdup (_tmp57_); +#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + event_name = _tmp70_; +#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp71_ = ret; +#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp72_ = self->priv->_text; +#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp73_ = event_name; +#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp74_ = search_condition_text_string_match (self, _tmp72_, _tmp73_); +#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp71_ | _tmp74_; +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (event_name); +#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp57_); +#line 2929 "SearchBoolean.c" + } +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp76_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp77_ = _tmp76_; +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp77_) { +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp75_ = TRUE; +#line 2939 "SearchBoolean.c" + } else { + SearchConditionSearchType _tmp78_ = 0; + SearchConditionSearchType _tmp79_ = 0; +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp78_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp79_ = _tmp78_; +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp75_ = SEARCH_CONDITION_SEARCH_TYPE_COMMENT == _tmp79_; +#line 2949 "SearchBoolean.c" + } +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp75_) { +#line 2953 "SearchBoolean.c" + gchar* comment = NULL; + MediaSource* _tmp80_ = NULL; + gchar* _tmp81_ = NULL; + const gchar* _tmp82_ = NULL; +#line 339 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp80_ = source; +#line 339 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp81_ = media_source_get_comment (_tmp80_); +#line 339 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + comment = _tmp81_; +#line 340 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp82_ = comment; +#line 340 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (NULL != _tmp82_) { +#line 2968 "SearchBoolean.c" + gboolean _tmp83_ = FALSE; + const gchar* _tmp84_ = NULL; + const gchar* _tmp85_ = NULL; + gchar* _tmp86_ = NULL; + gchar* _tmp87_ = NULL; + gchar* _tmp88_ = NULL; + gchar* _tmp89_ = NULL; + gboolean _tmp90_ = FALSE; +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp83_ = ret; +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp84_ = self->priv->_text; +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp85_ = comment; +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp86_ = g_utf8_strdown (_tmp85_, (gssize) -1); +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp87_ = _tmp86_; +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp88_ = string_remove_diacritics (_tmp87_); +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp89_ = _tmp88_; +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp90_ = search_condition_text_string_match (self, _tmp84_, _tmp89_); +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp83_ | _tmp90_; +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp89_); +#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp87_); +#line 2999 "SearchBoolean.c" + } +#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (comment); +#line 3003 "SearchBoolean.c" + } +#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp92_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp93_ = _tmp92_; +#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp93_) { +#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp91_ = TRUE; +#line 3013 "SearchBoolean.c" + } else { + SearchConditionSearchType _tmp94_ = 0; + SearchConditionSearchType _tmp95_ = 0; +#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp94_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition)); +#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp95_ = _tmp94_; +#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp91_ = SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME == _tmp95_; +#line 3023 "SearchBoolean.c" + } +#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp91_) { +#line 3027 "SearchBoolean.c" + gboolean _tmp96_ = FALSE; + const gchar* _tmp97_ = NULL; + MediaSource* _tmp98_ = NULL; + gchar* _tmp99_ = NULL; + gchar* _tmp100_ = NULL; + gchar* _tmp101_ = NULL; + gchar* _tmp102_ = NULL; + gchar* _tmp103_ = NULL; + gchar* _tmp104_ = NULL; + gboolean _tmp105_ = FALSE; +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp96_ = ret; +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp97_ = self->priv->_text; +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp98_ = source; +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp99_ = media_source_get_basename (_tmp98_); +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp100_ = _tmp99_; +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp101_ = g_utf8_strdown (_tmp100_, (gssize) -1); +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp102_ = _tmp101_; +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp103_ = string_remove_diacritics (_tmp102_); +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp104_ = _tmp103_; +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp105_ = search_condition_text_string_match (self, _tmp97_, _tmp104_); +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp96_ | _tmp105_; +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp104_); +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp102_); +#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp100_); +#line 3066 "SearchBoolean.c" + } +#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp107_ = self->priv->_context; +#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp107_ == SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN) { +#line 3072 "SearchBoolean.c" + gboolean _tmp108_ = FALSE; +#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp108_ = ret; +#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp106_ = !_tmp108_; +#line 3078 "SearchBoolean.c" + } else { + gboolean _tmp109_ = FALSE; +#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp109_ = ret; +#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp106_ = _tmp109_; +#line 3085 "SearchBoolean.c" + } +#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp106_; +#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3091 "SearchBoolean.c" +} + + +const gchar* search_condition_text_get_text (SearchConditionText* self) { + const gchar* result; + const gchar* _tmp0_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_TEXT (self), NULL); +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_text; +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3106 "SearchBoolean.c" +} + + +static void search_condition_text_set_text (SearchConditionText* self, const gchar* value) { + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_TEXT (self)); +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (self->priv->_text); +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_text = _tmp1_; +#line 3123 "SearchBoolean.c" +} + + +SearchConditionTextContext search_condition_text_get_context (SearchConditionText* self) { + SearchConditionTextContext result; + SearchConditionTextContext _tmp0_ = 0; +#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_TEXT (self), 0); +#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_context; +#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3138 "SearchBoolean.c" +} + + +static void search_condition_text_set_context (SearchConditionText* self, SearchConditionTextContext value) { + SearchConditionTextContext _tmp0_ = 0; +#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_TEXT (self)); +#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_context = _tmp0_; +#line 3150 "SearchBoolean.c" +} + + +static void search_condition_text_class_init (SearchConditionTextClass * klass) { +#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_text_parent_class = g_type_class_peek_parent (klass); +#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->finalize = search_condition_text_finalize; +#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SearchConditionTextPrivate)); +#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->predicate = search_condition_text_real_predicate; +#line 3163 "SearchBoolean.c" +} + + +static void search_condition_text_instance_init (SearchConditionText * self) { +#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SEARCH_CONDITION_TEXT_GET_PRIVATE (self); +#line 3170 "SearchBoolean.c" +} + + +static void search_condition_text_finalize (SearchCondition* obj) { + SearchConditionText * self; +#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_TEXT, SearchConditionText); +#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (self->priv->_text); +#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + SEARCH_CONDITION_CLASS (search_condition_text_parent_class)->finalize (obj); +#line 3182 "SearchBoolean.c" +} + + +GType search_condition_text_get_type (void) { + static volatile gsize search_condition_text_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_text_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchConditionTextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_text_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionText), 0, (GInstanceInitFunc) search_condition_text_instance_init, NULL }; + GType search_condition_text_type_id; + search_condition_text_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionText", &g_define_type_info, 0); + g_once_init_leave (&search_condition_text_type_id__volatile, search_condition_text_type_id); + } + return search_condition_text_type_id__volatile; +} + + +gchar* search_condition_media_type_context_to_string (SearchConditionMediaTypeContext self) { + gchar* result = NULL; +#line 360 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 360 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS: +#line 3204 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 362 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("IS"); +#line 362 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 362 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3213 "SearchBoolean.c" + } +#line 360 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT: +#line 3217 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 365 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("IS_NOT"); +#line 365 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 365 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3226 "SearchBoolean.c" + } + default: + { +#line 368 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:368: unrecognized media search context enumeration " \ +"value"); +#line 3232 "SearchBoolean.c" + } + } +} + + +SearchConditionMediaTypeContext search_condition_media_type_context_from_string (const gchar* str) { + SearchConditionMediaTypeContext result = 0; + const gchar* _tmp0_ = NULL; +#line 372 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 373 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 373 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "IS") == 0) { +#line 374 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS; +#line 374 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3251 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 376 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 376 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "IS_NOT") == 0) { +#line 377 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT; +#line 377 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3262 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 380 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 380 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:380: unrecognized media search context name: %s", _tmp2_); +#line 3269 "SearchBoolean.c" + } + } +} + + +GType search_condition_media_type_context_get_type (void) { + static volatile gsize search_condition_media_type_context_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_media_type_context_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS, "SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS", "is"}, {SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT, "SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT", "is-not"}, {0, NULL, NULL}}; + GType search_condition_media_type_context_type_id; + search_condition_media_type_context_type_id = g_enum_register_static ("SearchConditionMediaTypeContext", values); + g_once_init_leave (&search_condition_media_type_context_type_id__volatile, search_condition_media_type_context_type_id); + } + return search_condition_media_type_context_type_id__volatile; +} + + +gchar* search_condition_media_type_media_type_to_string (SearchConditionMediaTypeMediaType self) { + gchar* result = NULL; +#line 390 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 390 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL: +#line 3293 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 392 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("PHOTO_ALL"); +#line 392 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 392 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3302 "SearchBoolean.c" + } +#line 390 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW: +#line 3306 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 395 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("PHOTO_RAW"); +#line 395 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 395 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3315 "SearchBoolean.c" + } +#line 390 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO: +#line 3319 "SearchBoolean.c" + { + gchar* _tmp2_ = NULL; +#line 398 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strdup ("VIDEO"); +#line 398 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 398 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3328 "SearchBoolean.c" + } + default: + { +#line 401 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:401: unrecognized media search type enumeration val" \ +"ue"); +#line 3334 "SearchBoolean.c" + } + } +} + + +SearchConditionMediaTypeMediaType search_condition_media_type_media_type_from_string (const gchar* str) { + SearchConditionMediaTypeMediaType result = 0; + const gchar* _tmp0_ = NULL; +#line 405 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 406 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 406 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "PHOTO_ALL") == 0) { +#line 407 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL; +#line 407 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3353 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 409 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 409 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "PHOTO_RAW") == 0) { +#line 410 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW; +#line 410 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3364 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 412 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 412 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp2_, "VIDEO") == 0) { +#line 413 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO; +#line 413 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3375 "SearchBoolean.c" + } else { + const gchar* _tmp3_ = NULL; +#line 416 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = str; +#line 416 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:416: unrecognized media search type name: %s", _tmp3_); +#line 3382 "SearchBoolean.c" + } + } + } +} + + +GType search_condition_media_type_media_type_get_type (void) { + static volatile gsize search_condition_media_type_media_type_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_media_type_media_type_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL, "SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL", "photo-all"}, {SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW, "SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW", "photo-raw"}, {SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO, "SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO", "video"}, {0, NULL, NULL}}; + GType search_condition_media_type_media_type_type_id; + search_condition_media_type_media_type_type_id = g_enum_register_static ("SearchConditionMediaTypeMediaType", values); + g_once_init_leave (&search_condition_media_type_media_type_type_id__volatile, search_condition_media_type_media_type_type_id); + } + return search_condition_media_type_media_type_type_id__volatile; +} + + +SearchConditionMediaType* search_condition_media_type_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type) { + SearchConditionMediaType* self = NULL; + SearchConditionSearchType _tmp0_ = 0; + SearchConditionMediaTypeContext _tmp1_ = 0; + SearchConditionMediaTypeMediaType _tmp2_ = 0; +#line 426 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SearchConditionMediaType*) search_condition_construct (object_type); +#line 427 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = search_type; +#line 427 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_); +#line 428 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = context; +#line 428 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_media_type_set_context (self, _tmp1_); +#line 429 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = media_type; +#line 429 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_media_type_set_media_type (self, _tmp2_); +#line 426 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 3422 "SearchBoolean.c" +} + + +SearchConditionMediaType* search_condition_media_type_new (SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type) { +#line 426 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return search_condition_media_type_construct (TYPE_SEARCH_CONDITION_MEDIA_TYPE, search_type, context, media_type); +#line 3429 "SearchBoolean.c" +} + + +static gboolean search_condition_media_type_real_predicate (SearchCondition* base, MediaSource* source) { + SearchConditionMediaType * self; + gboolean result = FALSE; + SearchConditionMediaTypeMediaType _tmp0_ = 0; +#line 433 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType); +#line 433 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_media_type; +#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (_tmp0_) { +#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL: +#line 3447 "SearchBoolean.c" + { + MediaSource* _tmp1_ = NULL; +#line 438 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = source; +#line 438 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_PHOTO)) { +#line 3454 "SearchBoolean.c" + SearchConditionMediaTypeContext _tmp2_ = 0; +#line 439 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = self->priv->_context; +#line 439 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS; +#line 439 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3462 "SearchBoolean.c" + } else { + SearchConditionMediaTypeContext _tmp3_ = 0; +#line 441 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = self->priv->_context; +#line 441 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT; +#line 441 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3471 "SearchBoolean.c" + } + } +#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW: +#line 3476 "SearchBoolean.c" + { + gboolean _tmp4_ = FALSE; + MediaSource* _tmp5_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = source; +#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_PHOTO)) { +#line 3484 "SearchBoolean.c" + MediaSource* _tmp6_ = NULL; + PhotoFileFormat _tmp7_ = 0; +#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = source; +#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = photo_get_master_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PHOTO, Photo)); +#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = _tmp7_ == PHOTO_FILE_FORMAT_RAW; +#line 3493 "SearchBoolean.c" + } else { +#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = FALSE; +#line 3497 "SearchBoolean.c" + } +#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp4_) { +#line 3501 "SearchBoolean.c" + SearchConditionMediaTypeContext _tmp8_ = 0; +#line 445 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = self->priv->_context; +#line 445 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp8_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS; +#line 445 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3509 "SearchBoolean.c" + } else { + SearchConditionMediaTypeContext _tmp9_ = 0; +#line 447 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = self->priv->_context; +#line 447 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp9_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT; +#line 447 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3518 "SearchBoolean.c" + } + } +#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO: +#line 3523 "SearchBoolean.c" + { + MediaSource* _tmp10_ = NULL; +#line 450 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = source; +#line 450 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_VIDEO_SOURCE)) { +#line 3530 "SearchBoolean.c" + SearchConditionMediaTypeContext _tmp11_ = 0; +#line 451 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = self->priv->_context; +#line 451 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp11_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS; +#line 451 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3538 "SearchBoolean.c" + } else { + SearchConditionMediaTypeContext _tmp12_ = 0; +#line 453 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = self->priv->_context; +#line 453 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp12_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT; +#line 453 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3547 "SearchBoolean.c" + } + } + default: + { +#line 456 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:456: unrecognized media search type enumeration val" \ +"ue"); +#line 3554 "SearchBoolean.c" + } + } +} + + +SearchConditionMediaTypeMediaType search_condition_media_type_get_media_type (SearchConditionMediaType* self) { + SearchConditionMediaTypeMediaType result; + SearchConditionMediaTypeMediaType _tmp0_ = 0; +#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_MEDIA_TYPE (self), 0); +#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_media_type; +#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3571 "SearchBoolean.c" +} + + +static void search_condition_media_type_set_media_type (SearchConditionMediaType* self, SearchConditionMediaTypeMediaType value) { + SearchConditionMediaTypeMediaType _tmp0_ = 0; +#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_MEDIA_TYPE (self)); +#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_media_type = _tmp0_; +#line 3583 "SearchBoolean.c" +} + + +SearchConditionMediaTypeContext search_condition_media_type_get_context (SearchConditionMediaType* self) { + SearchConditionMediaTypeContext result; + SearchConditionMediaTypeContext _tmp0_ = 0; +#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_MEDIA_TYPE (self), 0); +#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_context; +#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3598 "SearchBoolean.c" +} + + +static void search_condition_media_type_set_context (SearchConditionMediaType* self, SearchConditionMediaTypeContext value) { + SearchConditionMediaTypeContext _tmp0_ = 0; +#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_MEDIA_TYPE (self)); +#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_context = _tmp0_; +#line 3610 "SearchBoolean.c" +} + + +static void search_condition_media_type_class_init (SearchConditionMediaTypeClass * klass) { +#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_media_type_parent_class = g_type_class_peek_parent (klass); +#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->finalize = search_condition_media_type_finalize; +#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SearchConditionMediaTypePrivate)); +#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->predicate = search_condition_media_type_real_predicate; +#line 3623 "SearchBoolean.c" +} + + +static void search_condition_media_type_instance_init (SearchConditionMediaType * self) { +#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SEARCH_CONDITION_MEDIA_TYPE_GET_PRIVATE (self); +#line 3630 "SearchBoolean.c" +} + + +static void search_condition_media_type_finalize (SearchCondition* obj) { + SearchConditionMediaType * self; +#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType); +#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + SEARCH_CONDITION_CLASS (search_condition_media_type_parent_class)->finalize (obj); +#line 3640 "SearchBoolean.c" +} + + +GType search_condition_media_type_get_type (void) { + static volatile gsize search_condition_media_type_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_media_type_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchConditionMediaTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_media_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionMediaType), 0, (GInstanceInitFunc) search_condition_media_type_instance_init, NULL }; + GType search_condition_media_type_type_id; + search_condition_media_type_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionMediaType", &g_define_type_info, 0); + g_once_init_leave (&search_condition_media_type_type_id__volatile, search_condition_media_type_type_id); + } + return search_condition_media_type_type_id__volatile; +} + + +gchar* search_condition_flagged_state_to_string (SearchConditionFlaggedState self) { + gchar* result = NULL; +#line 468 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 468 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_FLAGGED_STATE_FLAGGED: +#line 3662 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 470 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("FLAGGED"); +#line 470 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 470 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3671 "SearchBoolean.c" + } +#line 468 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED: +#line 3675 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 473 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("UNFLAGGED"); +#line 473 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 473 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3684 "SearchBoolean.c" + } + default: + { +#line 476 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:476: unrecognized flagged search state enumeration " \ +"value"); +#line 3690 "SearchBoolean.c" + } + } +} + + +SearchConditionFlaggedState search_condition_flagged_state_from_string (const gchar* str) { + SearchConditionFlaggedState result = 0; + const gchar* _tmp0_ = NULL; +#line 480 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 481 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 481 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "FLAGGED") == 0) { +#line 482 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_FLAGGED_STATE_FLAGGED; +#line 482 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3709 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 484 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 484 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "UNFLAGGED") == 0) { +#line 485 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED; +#line 485 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3720 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 488 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 488 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:488: unrecognized flagged search state name: %s", _tmp2_); +#line 3727 "SearchBoolean.c" + } + } +} + + +GType search_condition_flagged_state_get_type (void) { + static volatile gsize search_condition_flagged_state_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_flagged_state_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_FLAGGED_STATE_FLAGGED, "SEARCH_CONDITION_FLAGGED_STATE_FLAGGED", "flagged"}, {SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED, "SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED", "unflagged"}, {0, NULL, NULL}}; + GType search_condition_flagged_state_type_id; + search_condition_flagged_state_type_id = g_enum_register_static ("SearchConditionFlaggedState", values); + g_once_init_leave (&search_condition_flagged_state_type_id__volatile, search_condition_flagged_state_type_id); + } + return search_condition_flagged_state_type_id__volatile; +} + + +SearchConditionFlagged* search_condition_flagged_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionFlaggedState state) { + SearchConditionFlagged* self = NULL; + SearchConditionSearchType _tmp0_ = 0; + SearchConditionFlaggedState _tmp1_ = 0; +#line 495 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SearchConditionFlagged*) search_condition_construct (object_type); +#line 496 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = search_type; +#line 496 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_); +#line 497 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = state; +#line 497 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_flagged_set_state (self, _tmp1_); +#line 495 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 3761 "SearchBoolean.c" +} + + +SearchConditionFlagged* search_condition_flagged_new (SearchConditionSearchType search_type, SearchConditionFlaggedState state) { +#line 495 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return search_condition_flagged_construct (TYPE_SEARCH_CONDITION_FLAGGED, search_type, state); +#line 3768 "SearchBoolean.c" +} + + +static gboolean search_condition_flagged_real_predicate (SearchCondition* base, MediaSource* source) { + SearchConditionFlagged * self; + gboolean result = FALSE; + SearchConditionFlaggedState _tmp0_ = 0; +#line 501 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged); +#line 501 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 502 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_state; +#line 502 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp0_ == SEARCH_CONDITION_FLAGGED_STATE_FLAGGED) { +#line 3784 "SearchBoolean.c" + MediaSource* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 503 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = source; +#line 503 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_FLAGGABLE, Flaggable)); +#line 503 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 503 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3795 "SearchBoolean.c" + } else { + SearchConditionFlaggedState _tmp3_ = 0; +#line 504 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = self->priv->_state; +#line 504 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp3_ == SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED) { +#line 3802 "SearchBoolean.c" + MediaSource* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 505 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = source; +#line 505 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_FLAGGABLE, Flaggable)); +#line 505 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = !_tmp5_; +#line 505 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3813 "SearchBoolean.c" + } else { +#line 507 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:507: unrecognized flagged search state"); +#line 3817 "SearchBoolean.c" + } + } +} + + +SearchConditionFlaggedState search_condition_flagged_get_state (SearchConditionFlagged* self) { + SearchConditionFlaggedState result; + SearchConditionFlaggedState _tmp0_ = 0; +#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_FLAGGED (self), 0); +#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_state; +#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3834 "SearchBoolean.c" +} + + +static void search_condition_flagged_set_state (SearchConditionFlagged* self, SearchConditionFlaggedState value) { + SearchConditionFlaggedState _tmp0_ = 0; +#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_FLAGGED (self)); +#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_state = _tmp0_; +#line 3846 "SearchBoolean.c" +} + + +static void search_condition_flagged_class_init (SearchConditionFlaggedClass * klass) { +#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_flagged_parent_class = g_type_class_peek_parent (klass); +#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->finalize = search_condition_flagged_finalize; +#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SearchConditionFlaggedPrivate)); +#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->predicate = search_condition_flagged_real_predicate; +#line 3859 "SearchBoolean.c" +} + + +static void search_condition_flagged_instance_init (SearchConditionFlagged * self) { +#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SEARCH_CONDITION_FLAGGED_GET_PRIVATE (self); +#line 3866 "SearchBoolean.c" +} + + +static void search_condition_flagged_finalize (SearchCondition* obj) { + SearchConditionFlagged * self; +#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged); +#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + SEARCH_CONDITION_CLASS (search_condition_flagged_parent_class)->finalize (obj); +#line 3876 "SearchBoolean.c" +} + + +GType search_condition_flagged_get_type (void) { + static volatile gsize search_condition_flagged_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_flagged_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchConditionFlaggedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_flagged_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionFlagged), 0, (GInstanceInitFunc) search_condition_flagged_instance_init, NULL }; + GType search_condition_flagged_type_id; + search_condition_flagged_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionFlagged", &g_define_type_info, 0); + g_once_init_leave (&search_condition_flagged_type_id__volatile, search_condition_flagged_type_id); + } + return search_condition_flagged_type_id__volatile; +} + + +gchar* search_condition_modified_context_to_string (SearchConditionModifiedContext self) { + gchar* result = NULL; +#line 520 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 520 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MODIFIED_CONTEXT_HAS: +#line 3898 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 522 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("HAS"); +#line 522 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 522 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3907 "SearchBoolean.c" + } +#line 520 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO: +#line 3911 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 525 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("HAS_NO"); +#line 525 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 525 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3920 "SearchBoolean.c" + } + default: + { +#line 528 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:528: unrecognized modified search context enumerati" \ +"on value"); +#line 3926 "SearchBoolean.c" + } + } +} + + +SearchConditionModifiedContext search_condition_modified_context_from_string (const gchar* str) { + SearchConditionModifiedContext result = 0; + const gchar* _tmp0_ = NULL; +#line 532 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 533 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 533 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "HAS") == 0) { +#line 534 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MODIFIED_CONTEXT_HAS; +#line 534 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3945 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 536 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 536 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "HAS_NO") == 0) { +#line 537 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO; +#line 537 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3956 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 540 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 540 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:540: unrecognized modified search context name: %s", _tmp2_); +#line 3963 "SearchBoolean.c" + } + } +} + + +GType search_condition_modified_context_get_type (void) { + static volatile gsize search_condition_modified_context_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_modified_context_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_MODIFIED_CONTEXT_HAS, "SEARCH_CONDITION_MODIFIED_CONTEXT_HAS", "has"}, {SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO, "SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO", "has-no"}, {0, NULL, NULL}}; + GType search_condition_modified_context_type_id; + search_condition_modified_context_type_id = g_enum_register_static ("SearchConditionModifiedContext", values); + g_once_init_leave (&search_condition_modified_context_type_id__volatile, search_condition_modified_context_type_id); + } + return search_condition_modified_context_type_id__volatile; +} + + +gchar* search_condition_modified_state_to_string (SearchConditionModifiedState self) { + gchar* result = NULL; +#line 550 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 550 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MODIFIED_STATE_MODIFIED: +#line 3987 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 552 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("MODIFIED"); +#line 552 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 552 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 3996 "SearchBoolean.c" + } +#line 550 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES: +#line 4000 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 555 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("INTERNAL_CHANGES"); +#line 555 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 555 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4009 "SearchBoolean.c" + } +#line 550 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES: +#line 4013 "SearchBoolean.c" + { + gchar* _tmp2_ = NULL; +#line 558 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strdup ("EXTERNAL_CHANGES"); +#line 558 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 558 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4022 "SearchBoolean.c" + } + default: + { +#line 561 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:561: unrecognized modified search state enumeration" \ +" value"); +#line 4028 "SearchBoolean.c" + } + } +} + + +SearchConditionModifiedState search_condition_modified_state_from_string (const gchar* str) { + SearchConditionModifiedState result = 0; + const gchar* _tmp0_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 566 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 566 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "MODIFIED") == 0) { +#line 567 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MODIFIED_STATE_MODIFIED; +#line 567 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4047 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 569 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 569 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "INTERNAL_CHANGES") == 0) { +#line 570 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES; +#line 570 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4058 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 572 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 572 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp2_, "EXTERNAL_CHANGES") == 0) { +#line 573 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES; +#line 573 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4069 "SearchBoolean.c" + } else { + const gchar* _tmp3_ = NULL; +#line 576 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = str; +#line 576 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:576: unrecognized modified search state name: %s", _tmp3_); +#line 4076 "SearchBoolean.c" + } + } + } +} + + +GType search_condition_modified_state_get_type (void) { + static volatile gsize search_condition_modified_state_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_modified_state_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_MODIFIED_STATE_MODIFIED, "SEARCH_CONDITION_MODIFIED_STATE_MODIFIED", "modified"}, {SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES, "SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES", "internal-changes"}, {SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES, "SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES", "external-changes"}, {0, NULL, NULL}}; + GType search_condition_modified_state_type_id; + search_condition_modified_state_type_id = g_enum_register_static ("SearchConditionModifiedState", values); + g_once_init_leave (&search_condition_modified_state_type_id__volatile, search_condition_modified_state_type_id); + } + return search_condition_modified_state_type_id__volatile; +} + + +SearchConditionModified* search_condition_modified_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state) { + SearchConditionModified* self = NULL; + SearchConditionSearchType _tmp0_ = 0; + SearchConditionModifiedContext _tmp1_ = 0; + SearchConditionModifiedState _tmp2_ = 0; +#line 586 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SearchConditionModified*) search_condition_construct (object_type); +#line 587 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = search_type; +#line 587 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_); +#line 588 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = context; +#line 588 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_modified_set_context (self, _tmp1_); +#line 589 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = state; +#line 589 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_modified_set_state (self, _tmp2_); +#line 586 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 4116 "SearchBoolean.c" +} + + +SearchConditionModified* search_condition_modified_new (SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state) { +#line 586 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return search_condition_modified_construct (TYPE_SEARCH_CONDITION_MODIFIED, search_type, context, state); +#line 4123 "SearchBoolean.c" +} + + +static gboolean search_condition_modified_real_predicate (SearchCondition* base, MediaSource* source) { + SearchConditionModified * self; + gboolean result = FALSE; + Photo* photo = NULL; + MediaSource* _tmp0_ = NULL; + Photo* _tmp1_ = NULL; + Photo* _tmp2_ = NULL; + gboolean match = FALSE; + SearchConditionModifiedState _tmp3_ = 0; + gboolean _tmp15_ = FALSE; +#line 593 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified); +#line 593 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 595 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = source; +#line 595 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO) ? ((Photo*) _tmp0_) : NULL); +#line 595 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + photo = _tmp1_; +#line 596 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = photo; +#line 596 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp2_ == NULL) { +#line 597 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = FALSE; +#line 597 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (photo); +#line 597 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4157 "SearchBoolean.c" + } +#line 600 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = self->priv->_state; +#line 600 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp3_ == SEARCH_CONDITION_MODIFIED_STATE_MODIFIED) { +#line 4163 "SearchBoolean.c" + gboolean _tmp4_ = FALSE; + Photo* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = photo; +#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = photo_has_transformations (_tmp5_); +#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp6_) { +#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = TRUE; +#line 4175 "SearchBoolean.c" + } else { + Photo* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; +#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = photo; +#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = photo_has_editable (_tmp7_); +#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = _tmp8_; +#line 4185 "SearchBoolean.c" + } +#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + match = _tmp4_; +#line 4189 "SearchBoolean.c" + } else { + SearchConditionModifiedState _tmp9_ = 0; +#line 602 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = self->priv->_state; +#line 602 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp9_ == SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES) { +#line 4196 "SearchBoolean.c" + Photo* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 603 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = photo; +#line 603 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = photo_has_transformations (_tmp10_); +#line 603 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + match = _tmp11_; +#line 4205 "SearchBoolean.c" + } else { + SearchConditionModifiedState _tmp12_ = 0; +#line 604 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = self->priv->_state; +#line 604 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp12_ == SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES) { +#line 4212 "SearchBoolean.c" + Photo* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 605 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = photo; +#line 605 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp14_ = photo_has_editable (_tmp13_); +#line 605 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + match = _tmp14_; +#line 4221 "SearchBoolean.c" + } else { +#line 607 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:607: unrecognized modified search state"); +#line 4225 "SearchBoolean.c" + } + } + } +#line 609 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_ = match; +#line 609 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp15_) { +#line 4233 "SearchBoolean.c" + SearchConditionModifiedContext _tmp16_ = 0; +#line 610 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp16_ = self->priv->_context; +#line 610 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp16_ == SEARCH_CONDITION_MODIFIED_CONTEXT_HAS; +#line 610 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (photo); +#line 610 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4243 "SearchBoolean.c" + } else { + SearchConditionModifiedContext _tmp17_ = 0; +#line 612 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp17_ = self->priv->_context; +#line 612 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp17_ == SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO; +#line 612 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (photo); +#line 612 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4254 "SearchBoolean.c" + } +#line 593 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (photo); +#line 4258 "SearchBoolean.c" +} + + +SearchConditionModifiedState search_condition_modified_get_state (SearchConditionModified* self) { + SearchConditionModifiedState result; + SearchConditionModifiedState _tmp0_ = 0; +#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_MODIFIED (self), 0); +#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_state; +#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4273 "SearchBoolean.c" +} + + +static void search_condition_modified_set_state (SearchConditionModified* self, SearchConditionModifiedState value) { + SearchConditionModifiedState _tmp0_ = 0; +#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_MODIFIED (self)); +#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_state = _tmp0_; +#line 4285 "SearchBoolean.c" +} + + +SearchConditionModifiedContext search_condition_modified_get_context (SearchConditionModified* self) { + SearchConditionModifiedContext result; + SearchConditionModifiedContext _tmp0_ = 0; +#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_MODIFIED (self), 0); +#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_context; +#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4300 "SearchBoolean.c" +} + + +static void search_condition_modified_set_context (SearchConditionModified* self, SearchConditionModifiedContext value) { + SearchConditionModifiedContext _tmp0_ = 0; +#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_MODIFIED (self)); +#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_context = _tmp0_; +#line 4312 "SearchBoolean.c" +} + + +static void search_condition_modified_class_init (SearchConditionModifiedClass * klass) { +#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_modified_parent_class = g_type_class_peek_parent (klass); +#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->finalize = search_condition_modified_finalize; +#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SearchConditionModifiedPrivate)); +#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->predicate = search_condition_modified_real_predicate; +#line 4325 "SearchBoolean.c" +} + + +static void search_condition_modified_instance_init (SearchConditionModified * self) { +#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SEARCH_CONDITION_MODIFIED_GET_PRIVATE (self); +#line 4332 "SearchBoolean.c" +} + + +static void search_condition_modified_finalize (SearchCondition* obj) { + SearchConditionModified * self; +#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified); +#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + SEARCH_CONDITION_CLASS (search_condition_modified_parent_class)->finalize (obj); +#line 4342 "SearchBoolean.c" +} + + +GType search_condition_modified_get_type (void) { + static volatile gsize search_condition_modified_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_modified_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchConditionModifiedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_modified_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionModified), 0, (GInstanceInitFunc) search_condition_modified_instance_init, NULL }; + GType search_condition_modified_type_id; + search_condition_modified_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionModified", &g_define_type_info, 0); + g_once_init_leave (&search_condition_modified_type_id__volatile, search_condition_modified_type_id); + } + return search_condition_modified_type_id__volatile; +} + + +gchar* search_condition_rating_context_to_string (SearchConditionRatingContext self) { + gchar* result = NULL; +#line 625 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 625 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER: +#line 4364 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 627 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("AND_HIGHER"); +#line 627 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 627 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4373 "SearchBoolean.c" + } +#line 625 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_RATING_CONTEXT_ONLY: +#line 4377 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 630 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("ONLY"); +#line 630 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 630 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4386 "SearchBoolean.c" + } +#line 625 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER: +#line 4390 "SearchBoolean.c" + { + gchar* _tmp2_ = NULL; +#line 633 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strdup ("AND_LOWER"); +#line 633 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 633 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4399 "SearchBoolean.c" + } + default: + { +#line 636 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:636: unrecognized rating search context enumeration" \ +" value"); +#line 4405 "SearchBoolean.c" + } + } +} + + +SearchConditionRatingContext search_condition_rating_context_from_string (const gchar* str) { + SearchConditionRatingContext result = 0; + const gchar* _tmp0_ = NULL; +#line 640 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 641 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 641 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "AND_HIGHER") == 0) { +#line 642 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER; +#line 642 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4424 "SearchBoolean.c" + } else { + const gchar* _tmp1_ = NULL; +#line 644 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 644 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "ONLY") == 0) { +#line 645 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_RATING_CONTEXT_ONLY; +#line 645 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4435 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 647 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 647 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp2_, "AND_LOWER") == 0) { +#line 648 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER; +#line 648 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4446 "SearchBoolean.c" + } else { + const gchar* _tmp3_ = NULL; +#line 651 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = str; +#line 651 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:651: unrecognized rating search context name: %s", _tmp3_); +#line 4453 "SearchBoolean.c" + } + } + } +} + + +GType search_condition_rating_context_get_type (void) { + static volatile gsize search_condition_rating_context_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_rating_context_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER, "SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER", "and-higher"}, {SEARCH_CONDITION_RATING_CONTEXT_ONLY, "SEARCH_CONDITION_RATING_CONTEXT_ONLY", "only"}, {SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER, "SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER", "and-lower"}, {0, NULL, NULL}}; + GType search_condition_rating_context_type_id; + search_condition_rating_context_type_id = g_enum_register_static ("SearchConditionRatingContext", values); + g_once_init_leave (&search_condition_rating_context_type_id__volatile, search_condition_rating_context_type_id); + } + return search_condition_rating_context_type_id__volatile; +} + + +SearchConditionRating* search_condition_rating_construct (GType object_type, SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context) { + SearchConditionRating* self = NULL; + SearchConditionSearchType _tmp0_ = 0; + Rating _tmp1_ = 0; + SearchConditionRatingContext _tmp2_ = 0; +#line 661 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SearchConditionRating*) search_condition_construct (object_type); +#line 662 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = search_type; +#line 662 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_); +#line 663 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = rating; +#line 663 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_rating_set_rating (self, _tmp1_); +#line 664 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = context; +#line 664 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_rating_set_context (self, _tmp2_); +#line 661 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 4493 "SearchBoolean.c" +} + + +SearchConditionRating* search_condition_rating_new (SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context) { +#line 661 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return search_condition_rating_construct (TYPE_SEARCH_CONDITION_RATING, search_type, rating, context); +#line 4500 "SearchBoolean.c" +} + + +static gboolean search_condition_rating_real_predicate (SearchCondition* base, MediaSource* source) { + SearchConditionRating * self; + gboolean result = FALSE; + Rating source_rating = 0; + MediaSource* _tmp0_ = NULL; + Rating _tmp1_ = 0; + SearchConditionRatingContext _tmp2_ = 0; +#line 668 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_RATING, SearchConditionRating); +#line 668 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 669 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = source; +#line 669 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = media_source_get_rating (_tmp0_); +#line 669 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + source_rating = _tmp1_; +#line 670 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = self->priv->_context; +#line 670 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp2_ == SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER) { +#line 4525 "SearchBoolean.c" + Rating _tmp3_ = 0; + Rating _tmp4_ = 0; +#line 671 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = source_rating; +#line 671 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = self->priv->_rating; +#line 671 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_ >= _tmp4_; +#line 671 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4536 "SearchBoolean.c" + } else { + SearchConditionRatingContext _tmp5_ = 0; +#line 672 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = self->priv->_context; +#line 672 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp5_ == SEARCH_CONDITION_RATING_CONTEXT_ONLY) { +#line 4543 "SearchBoolean.c" + Rating _tmp6_ = 0; + Rating _tmp7_ = 0; +#line 673 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = source_rating; +#line 673 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = self->priv->_rating; +#line 673 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp6_ == _tmp7_; +#line 673 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4554 "SearchBoolean.c" + } else { + SearchConditionRatingContext _tmp8_ = 0; +#line 674 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = self->priv->_context; +#line 674 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp8_ == SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER) { +#line 4561 "SearchBoolean.c" + Rating _tmp9_ = 0; + Rating _tmp10_ = 0; +#line 675 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = source_rating; +#line 675 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = self->priv->_rating; +#line 675 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp9_ <= _tmp10_; +#line 675 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4572 "SearchBoolean.c" + } else { +#line 677 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:677: unknown rating search context"); +#line 4576 "SearchBoolean.c" + } + } + } +} + + +Rating search_condition_rating_get_rating (SearchConditionRating* self) { + Rating result; + Rating _tmp0_ = 0; +#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_RATING (self), 0); +#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_rating; +#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4594 "SearchBoolean.c" +} + + +static void search_condition_rating_set_rating (SearchConditionRating* self, Rating value) { + Rating _tmp0_ = 0; +#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_RATING (self)); +#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_rating = _tmp0_; +#line 4606 "SearchBoolean.c" +} + + +SearchConditionRatingContext search_condition_rating_get_context (SearchConditionRating* self) { + SearchConditionRatingContext result; + SearchConditionRatingContext _tmp0_ = 0; +#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_RATING (self), 0); +#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_context; +#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4621 "SearchBoolean.c" +} + + +static void search_condition_rating_set_context (SearchConditionRating* self, SearchConditionRatingContext value) { + SearchConditionRatingContext _tmp0_ = 0; +#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_RATING (self)); +#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_context = _tmp0_; +#line 4633 "SearchBoolean.c" +} + + +static void search_condition_rating_class_init (SearchConditionRatingClass * klass) { +#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_rating_parent_class = g_type_class_peek_parent (klass); +#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->finalize = search_condition_rating_finalize; +#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SearchConditionRatingPrivate)); +#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->predicate = search_condition_rating_real_predicate; +#line 4646 "SearchBoolean.c" +} + + +static void search_condition_rating_instance_init (SearchConditionRating * self) { +#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SEARCH_CONDITION_RATING_GET_PRIVATE (self); +#line 4653 "SearchBoolean.c" +} + + +static void search_condition_rating_finalize (SearchCondition* obj) { + SearchConditionRating * self; +#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_RATING, SearchConditionRating); +#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + SEARCH_CONDITION_CLASS (search_condition_rating_parent_class)->finalize (obj); +#line 4663 "SearchBoolean.c" +} + + +GType search_condition_rating_get_type (void) { + static volatile gsize search_condition_rating_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_rating_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchConditionRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionRating), 0, (GInstanceInitFunc) search_condition_rating_instance_init, NULL }; + GType search_condition_rating_type_id; + search_condition_rating_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionRating", &g_define_type_info, 0); + g_once_init_leave (&search_condition_rating_type_id__volatile, search_condition_rating_type_id); + } + return search_condition_rating_type_id__volatile; +} + + +gchar* search_condition_date_context_to_string (SearchConditionDateContext self) { + gchar* result = NULL; +#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (self) { +#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_EXACT: +#line 4685 "SearchBoolean.c" + { + gchar* _tmp0_ = NULL; +#line 694 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup ("EXACT"); +#line 694 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 694 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4694 "SearchBoolean.c" + } +#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_AFTER: +#line 4698 "SearchBoolean.c" + { + gchar* _tmp1_ = NULL; +#line 697 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = g_strdup ("AFTER"); +#line 697 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 697 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4707 "SearchBoolean.c" + } +#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_BEFORE: +#line 4711 "SearchBoolean.c" + { + gchar* _tmp2_ = NULL; +#line 700 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strdup ("BEFORE"); +#line 700 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 700 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4720 "SearchBoolean.c" + } +#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_BETWEEN: +#line 4724 "SearchBoolean.c" + { + gchar* _tmp3_ = NULL; +#line 703 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = g_strdup ("BETWEEN"); +#line 703 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_; +#line 703 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4733 "SearchBoolean.c" + } +#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET: +#line 4737 "SearchBoolean.c" + { + gchar* _tmp4_ = NULL; +#line 706 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = g_strdup ("IS_NOT_SET"); +#line 706 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp4_; +#line 706 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4746 "SearchBoolean.c" + } + default: + { +#line 709 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:709: unrecognized date search context enumeration v" \ +"alue"); +#line 4752 "SearchBoolean.c" + } + } +} + + +SearchConditionDateContext search_condition_date_context_from_string (const gchar* str) { + SearchConditionDateContext result = 0; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 713 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (str != NULL, 0); +#line 714 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = str; +#line 714 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp0_, "EXACT") == 0) { +#line 715 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_DATE_CONTEXT_EXACT; +#line 715 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4772 "SearchBoolean.c" + } +#line 717 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = str; +#line 717 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp1_, "AFTER") == 0) { +#line 718 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_DATE_CONTEXT_AFTER; +#line 718 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4782 "SearchBoolean.c" + } else { + const gchar* _tmp2_ = NULL; +#line 720 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = str; +#line 720 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp2_, "BEFORE") == 0) { +#line 721 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_DATE_CONTEXT_BEFORE; +#line 721 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4793 "SearchBoolean.c" + } else { + const gchar* _tmp3_ = NULL; +#line 723 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = str; +#line 723 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp3_, "BETWEEN") == 0) { +#line 724 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_DATE_CONTEXT_BETWEEN; +#line 724 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4804 "SearchBoolean.c" + } else { + const gchar* _tmp4_ = NULL; +#line 726 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = str; +#line 726 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_strcmp0 (_tmp4_, "IS_NOT_SET") == 0) { +#line 727 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET; +#line 727 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4815 "SearchBoolean.c" + } else { + const gchar* _tmp5_ = NULL; +#line 730 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = str; +#line 730 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:730: unrecognized date search context name: %s", _tmp5_); +#line 4822 "SearchBoolean.c" + } + } + } + } +} + + +GType search_condition_date_context_get_type (void) { + static volatile gsize search_condition_date_context_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_date_context_type_id__volatile)) { + static const GEnumValue values[] = {{SEARCH_CONDITION_DATE_CONTEXT_EXACT, "SEARCH_CONDITION_DATE_CONTEXT_EXACT", "exact"}, {SEARCH_CONDITION_DATE_CONTEXT_AFTER, "SEARCH_CONDITION_DATE_CONTEXT_AFTER", "after"}, {SEARCH_CONDITION_DATE_CONTEXT_BEFORE, "SEARCH_CONDITION_DATE_CONTEXT_BEFORE", "before"}, {SEARCH_CONDITION_DATE_CONTEXT_BETWEEN, "SEARCH_CONDITION_DATE_CONTEXT_BETWEEN", "between"}, {SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET, "SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET", "is-not-set"}, {0, NULL, NULL}}; + GType search_condition_date_context_type_id; + search_condition_date_context_type_id = g_enum_register_static ("SearchConditionDateContext", values); + g_once_init_leave (&search_condition_date_context_type_id__volatile, search_condition_date_context_type_id); + } + return search_condition_date_context_type_id__volatile; +} + + +SearchConditionDate* search_condition_date_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two) { + SearchConditionDate* self = NULL; + SearchConditionSearchType _tmp0_ = 0; + SearchConditionDateContext _tmp1_ = 0; + gboolean _tmp2_ = FALSE; + SearchConditionDateContext _tmp3_ = 0; +#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (date_one != NULL, NULL); +#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (date_two != NULL, NULL); +#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SearchConditionDate*) search_condition_construct (object_type); +#line 743 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = search_type; +#line 743 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_); +#line 744 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = context; +#line 744 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_date_set_context (self, _tmp1_); +#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = context; +#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp3_ != SEARCH_CONDITION_DATE_CONTEXT_BETWEEN) { +#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = TRUE; +#line 4868 "SearchBoolean.c" + } else { + GDateTime* _tmp4_ = NULL; + GDateTime* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = date_two; +#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = date_one; +#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = g_date_time_compare (_tmp4_, _tmp5_); +#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp6_ >= 1; +#line 4881 "SearchBoolean.c" + } +#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp2_) { +#line 4885 "SearchBoolean.c" + GDateTime* _tmp7_ = NULL; + GDateTime* _tmp8_ = NULL; +#line 746 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = date_one; +#line 746 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_date_set_date_one (self, _tmp7_); +#line 747 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = date_two; +#line 747 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_date_set_date_two (self, _tmp8_); +#line 4896 "SearchBoolean.c" + } else { + GDateTime* _tmp9_ = NULL; + GDateTime* _tmp10_ = NULL; +#line 749 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = date_two; +#line 749 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_date_set_date_one (self, _tmp9_); +#line 750 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = date_one; +#line 750 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_date_set_date_two (self, _tmp10_); +#line 4908 "SearchBoolean.c" + } +#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 4912 "SearchBoolean.c" +} + + +SearchConditionDate* search_condition_date_new (SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two) { +#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return search_condition_date_construct (TYPE_SEARCH_CONDITION_DATE, search_type, context, date_one, date_two); +#line 4919 "SearchBoolean.c" +} + + +static gboolean search_condition_date_real_predicate (SearchCondition* base, MediaSource* source) { + SearchConditionDate * self; + gboolean result = FALSE; + time_t exposure_time = 0; + MediaSource* _tmp0_ = NULL; + time_t _tmp1_ = 0; + time_t _tmp2_ = 0; + GDateTime* dt = NULL; + time_t _tmp4_ = 0; + GDateTime* _tmp5_ = NULL; + SearchConditionDateContext _tmp6_ = 0; +#line 756 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_DATE, SearchConditionDate); +#line 756 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 757 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = source; +#line 757 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = media_source_get_exposure_time (_tmp0_); +#line 757 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + exposure_time = _tmp1_; +#line 758 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = exposure_time; +#line 758 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp2_ == ((time_t) 0)) { +#line 4948 "SearchBoolean.c" + SearchConditionDateContext _tmp3_ = 0; +#line 759 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = self->priv->_context; +#line 759 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_ == SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET; +#line 759 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 4956 "SearchBoolean.c" + } +#line 761 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = exposure_time; +#line 761 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = g_date_time_new_from_unix_local ((gint64) _tmp4_); +#line 761 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + dt = _tmp5_; +#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = self->priv->_context; +#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + switch (_tmp6_) { +#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_EXACT: +#line 4970 "SearchBoolean.c" + { + GDateTime* second = NULL; + GDateTime* _tmp7_ = NULL; + GDateTime* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + GDateTime* _tmp10_ = NULL; + GDateTime* _tmp11_ = NULL; + gint _tmp12_ = 0; +#line 764 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = self->priv->_date_one; +#line 764 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = g_date_time_add_days (_tmp7_, 1); +#line 764 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + second = _tmp8_; +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = dt; +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = self->priv->_date_one; +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = g_date_time_compare (_tmp10_, _tmp11_); +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp12_ >= 0) { +#line 4993 "SearchBoolean.c" + GDateTime* _tmp13_ = NULL; + GDateTime* _tmp14_ = NULL; + gint _tmp15_ = 0; +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = dt; +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp14_ = second; +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_ = g_date_time_compare (_tmp13_, _tmp14_); +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = _tmp15_ < 0; +#line 5005 "SearchBoolean.c" + } else { +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = FALSE; +#line 5009 "SearchBoolean.c" + } +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp9_; +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (second); +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (dt); +#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5019 "SearchBoolean.c" + } +#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_AFTER: +#line 5023 "SearchBoolean.c" + { + GDateTime* _tmp16_ = NULL; + GDateTime* _tmp17_ = NULL; + gint _tmp18_ = 0; +#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp16_ = dt; +#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp17_ = self->priv->_date_one; +#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp18_ = g_date_time_compare (_tmp16_, _tmp17_); +#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp18_ >= 0; +#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (dt); +#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5040 "SearchBoolean.c" + } +#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_BEFORE: +#line 5044 "SearchBoolean.c" + { + GDateTime* _tmp19_ = NULL; + GDateTime* _tmp20_ = NULL; + gint _tmp21_ = 0; +#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp19_ = dt; +#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp20_ = self->priv->_date_one; +#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp21_ = g_date_time_compare (_tmp19_, _tmp20_); +#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp21_ <= 0; +#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (dt); +#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5061 "SearchBoolean.c" + } +#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_BETWEEN: +#line 5065 "SearchBoolean.c" + { + GDateTime* second = NULL; + GDateTime* _tmp22_ = NULL; + GDateTime* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; + GDateTime* _tmp25_ = NULL; + GDateTime* _tmp26_ = NULL; + gint _tmp27_ = 0; +#line 774 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp22_ = self->priv->_date_two; +#line 774 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp23_ = g_date_time_add_days (_tmp22_, 1); +#line 774 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + second = _tmp23_; +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp25_ = dt; +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp26_ = self->priv->_date_one; +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp27_ = g_date_time_compare (_tmp25_, _tmp26_); +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp27_ >= 0) { +#line 5088 "SearchBoolean.c" + GDateTime* _tmp28_ = NULL; + GDateTime* _tmp29_ = NULL; + gint _tmp30_ = 0; +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp28_ = dt; +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp29_ = second; +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp30_ = g_date_time_compare (_tmp28_, _tmp29_); +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp24_ = _tmp30_ < 0; +#line 5100 "SearchBoolean.c" + } else { +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp24_ = FALSE; +#line 5104 "SearchBoolean.c" + } +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp24_; +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (second); +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (dt); +#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5114 "SearchBoolean.c" + } +#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + case SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET: +#line 5118 "SearchBoolean.c" + { +#line 778 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = FALSE; +#line 778 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (dt); +#line 778 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5126 "SearchBoolean.c" + } + default: + { +#line 781 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_error ("SearchBoolean.vala:781: unrecognized date search context enumeration v" \ +"alue"); +#line 5132 "SearchBoolean.c" + } + } +#line 756 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (dt); +#line 5137 "SearchBoolean.c" +} + + +GDateTime* search_condition_date_get_date_one (SearchConditionDate* self) { + GDateTime* result; + GDateTime* _tmp0_ = NULL; +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_DATE (self), NULL); +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_date_one; +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5152 "SearchBoolean.c" +} + + +static gpointer _g_date_time_ref0 (gpointer self) { +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self ? g_date_time_ref (self) : NULL; +#line 5159 "SearchBoolean.c" +} + + +static void search_condition_date_set_date_one (SearchConditionDate* self, GDateTime* value) { + GDateTime* _tmp0_ = NULL; + GDateTime* _tmp1_ = NULL; +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_DATE (self)); +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _g_date_time_ref0 (_tmp0_); +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (self->priv->_date_one); +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_date_one = _tmp1_; +#line 5176 "SearchBoolean.c" +} + + +GDateTime* search_condition_date_get_date_two (SearchConditionDate* self) { + GDateTime* result; + GDateTime* _tmp0_ = NULL; +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_DATE (self), NULL); +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_date_two; +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5191 "SearchBoolean.c" +} + + +static void search_condition_date_set_date_two (SearchConditionDate* self, GDateTime* value) { + GDateTime* _tmp0_ = NULL; + GDateTime* _tmp1_ = NULL; +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_DATE (self)); +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _g_date_time_ref0 (_tmp0_); +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (self->priv->_date_two); +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_date_two = _tmp1_; +#line 5208 "SearchBoolean.c" +} + + +SearchConditionDateContext search_condition_date_get_context (SearchConditionDate* self) { + SearchConditionDateContext result; + SearchConditionDateContext _tmp0_ = 0; +#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SEARCH_CONDITION_DATE (self), 0); +#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->_context; +#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5223 "SearchBoolean.c" +} + + +static void search_condition_date_set_context (SearchConditionDate* self, SearchConditionDateContext value) { + SearchConditionDateContext _tmp0_ = 0; +#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SEARCH_CONDITION_DATE (self)); +#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = value; +#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->_context = _tmp0_; +#line 5235 "SearchBoolean.c" +} + + +static void search_condition_date_class_init (SearchConditionDateClass * klass) { +#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search_condition_date_parent_class = g_type_class_peek_parent (klass); +#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->finalize = search_condition_date_finalize; +#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SearchConditionDatePrivate)); +#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SearchConditionClass *) klass)->predicate = search_condition_date_real_predicate; +#line 5248 "SearchBoolean.c" +} + + +static void search_condition_date_instance_init (SearchConditionDate * self) { +#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SEARCH_CONDITION_DATE_GET_PRIVATE (self); +#line 5255 "SearchBoolean.c" +} + + +static void search_condition_date_finalize (SearchCondition* obj) { + SearchConditionDate * self; +#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_DATE, SearchConditionDate); +#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (self->priv->_date_one); +#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_date_time_unref0 (self->priv->_date_two); +#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + SEARCH_CONDITION_CLASS (search_condition_date_parent_class)->finalize (obj); +#line 5269 "SearchBoolean.c" +} + + +GType search_condition_date_get_type (void) { + static volatile gsize search_condition_date_type_id__volatile = 0; + if (g_once_init_enter (&search_condition_date_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SearchConditionDateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_date_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionDate), 0, (GInstanceInitFunc) search_condition_date_instance_init, NULL }; + GType search_condition_date_type_id; + search_condition_date_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionDate", &g_define_type_info, 0); + g_once_init_leave (&search_condition_date_type_id__volatile, search_condition_date_type_id); + } + return search_condition_date_type_id__volatile; +} + + +static gpointer _saved_search_row_ref0 (gpointer self) { +#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self ? saved_search_row_ref (self) : NULL; +#line 5288 "SearchBoolean.c" +} + + +SavedSearch* saved_search_construct (GType object_type, SavedSearchRow* row, gint64 object_id) { + SavedSearch * self = NULL; + gint64 _tmp0_ = 0LL; + SavedSearchRow* _tmp1_ = NULL; + SavedSearchRow* _tmp2_ = NULL; +#line 794 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_ROW (row), NULL); +#line 795 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = object_id; +#line 795 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SavedSearch*) data_source_construct (object_type, _tmp0_); +#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = row; +#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _saved_search_row_ref0 (_tmp1_); +#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_row_unref0 (self->priv->row); +#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->row = _tmp2_; +#line 794 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 5313 "SearchBoolean.c" +} + + +SavedSearch* saved_search_new (SavedSearchRow* row, gint64 object_id) { +#line 794 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return saved_search_construct (TYPE_SAVED_SEARCH, row, object_id); +#line 5320 "SearchBoolean.c" +} + + +static gchar* saved_search_real_get_name (DataObject* base) { + SavedSearch * self; + gchar* result = NULL; + SavedSearchRow* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 800 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH, SavedSearch); +#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->row; +#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp0_->name; +#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5342 "SearchBoolean.c" +} + + +static gchar* saved_search_real_to_string (DataObject* base) { + SavedSearch * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 804 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH, SavedSearch); +#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp0_; +#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = g_strconcat ("SavedSearch ", _tmp1_, NULL); +#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = _tmp2_; +#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp1_); +#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_; +#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5369 "SearchBoolean.c" +} + + +static gchar* saved_search_real_get_typename (DataSource* base) { + SavedSearch * self; + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 808 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH, SavedSearch); +#line 809 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = g_strdup (SAVED_SEARCH_TYPENAME); +#line 809 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp0_; +#line 809 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5385 "SearchBoolean.c" +} + + +void saved_search_get_saved_search_id (SavedSearch* self, SavedSearchID* result) { + SavedSearchRow* _tmp0_ = NULL; + SavedSearchID _tmp1_ = {0}; +#line 812 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SAVED_SEARCH (self)); +#line 813 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->row; +#line 813 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp0_->search_id; +#line 813 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + *result = _tmp1_; +#line 813 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return; +#line 5402 "SearchBoolean.c" +} + + +static gint64 saved_search_real_get_instance_id (DataSource* base) { + SavedSearch * self; + gint64 result = 0LL; + SavedSearchID _tmp0_ = {0}; + gint64 _tmp1_ = 0LL; +#line 816 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH, SavedSearch); +#line 817 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_get_saved_search_id (self, &_tmp0_); +#line 817 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp0_.id; +#line 817 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 817 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5421 "SearchBoolean.c" +} + + +gint saved_search_compare_names (void* a, void* b) { + gint result = 0; + SavedSearch* asearch = NULL; + void* _tmp0_ = NULL; + SavedSearch* bsearch = NULL; + void* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 821 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = a; +#line 821 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + asearch = (SavedSearch*) _tmp0_; +#line 822 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = b; +#line 822 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + bsearch = (SavedSearch*) _tmp1_; +#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (asearch, TYPE_DATA_OBJECT, DataObject)); +#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (bsearch, TYPE_DATA_OBJECT, DataObject)); +#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = string_collated_compare (_tmp2_, _tmp3_); +#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp4_; +#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5452 "SearchBoolean.c" +} + + +gboolean saved_search_predicate (SavedSearch* self, MediaSource* source) { + gboolean result = FALSE; + gboolean ret = FALSE; + gboolean _tmp0_ = FALSE; + SavedSearchRow* _tmp1_ = NULL; + SearchOperator _tmp2_ = 0; +#line 827 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (self), FALSE); +#line 827 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE); +#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = self->priv->row; +#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp1_->operator; +#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_OPERATOR_ALL == _tmp2_) { +#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = TRUE; +#line 5474 "SearchBoolean.c" + } else { + SavedSearchRow* _tmp3_ = NULL; + SearchOperator _tmp4_ = 0; +#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = self->priv->row; +#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = _tmp3_->operator; +#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = SEARCH_OPERATOR_NONE == _tmp4_; +#line 5484 "SearchBoolean.c" + } +#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp0_) { +#line 830 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = TRUE; +#line 5490 "SearchBoolean.c" + } else { +#line 832 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = FALSE; +#line 5494 "SearchBoolean.c" + } + { + GeeList* _c_list = NULL; + SavedSearchRow* _tmp5_ = NULL; + GeeList* _tmp6_ = NULL; + GeeList* _tmp7_ = NULL; + gint _c_size = 0; + GeeList* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _c_index = 0; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = self->priv->row; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = _tmp5_->conditions; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _c_list = _tmp7_; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = _c_list; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = _tmp9_; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _c_size = _tmp10_; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _c_index = -1; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + while (TRUE) { +#line 5526 "SearchBoolean.c" + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + SearchCondition* c = NULL; + GeeList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gpointer _tmp16_ = NULL; + SavedSearchRow* _tmp17_ = NULL; + SearchOperator _tmp18_ = 0; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = _c_index; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _c_index = _tmp11_ + 1; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = _c_index; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = _c_size; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!(_tmp12_ < _tmp13_)) { +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + break; +#line 5548 "SearchBoolean.c" + } +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp14_ = _c_list; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_ = _c_index; +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp16_ = gee_list_get (_tmp14_, _tmp15_); +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + c = (SearchCondition*) _tmp16_; +#line 835 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp17_ = self->priv->row; +#line 835 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp18_ = _tmp17_->operator; +#line 835 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_OPERATOR_ALL == _tmp18_) { +#line 5564 "SearchBoolean.c" + gboolean _tmp19_ = FALSE; + SearchCondition* _tmp20_ = NULL; + MediaSource* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp19_ = ret; +#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp20_ = c; +#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp21_ = source; +#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp22_ = search_condition_predicate (_tmp20_, _tmp21_); +#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp19_ & _tmp22_; +#line 5579 "SearchBoolean.c" + } else { + SavedSearchRow* _tmp23_ = NULL; + SearchOperator _tmp24_ = 0; +#line 837 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp23_ = self->priv->row; +#line 837 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp24_ = _tmp23_->operator; +#line 837 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_OPERATOR_ANY == _tmp24_) { +#line 5589 "SearchBoolean.c" + gboolean _tmp25_ = FALSE; + SearchCondition* _tmp26_ = NULL; + MediaSource* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; +#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp25_ = ret; +#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp26_ = c; +#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp27_ = source; +#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp28_ = search_condition_predicate (_tmp26_, _tmp27_); +#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp25_ | _tmp28_; +#line 5604 "SearchBoolean.c" + } else { + SavedSearchRow* _tmp29_ = NULL; + SearchOperator _tmp30_ = 0; +#line 839 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp29_ = self->priv->row; +#line 839 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp30_ = _tmp29_->operator; +#line 839 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (SEARCH_OPERATOR_NONE == _tmp30_) { +#line 5614 "SearchBoolean.c" + gboolean _tmp31_ = FALSE; + SearchCondition* _tmp32_ = NULL; + MediaSource* _tmp33_ = NULL; + gboolean _tmp34_ = FALSE; +#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp31_ = ret; +#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp32_ = c; +#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp33_ = source; +#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp34_ = search_condition_predicate (_tmp32_, _tmp33_); +#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ret = _tmp31_ & (!_tmp34_); +#line 5629 "SearchBoolean.c" + } + } + } +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _search_condition_unref0 (c); +#line 5635 "SearchBoolean.c" + } +#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_c_list); +#line 5639 "SearchBoolean.c" + } +#line 842 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = ret; +#line 842 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5645 "SearchBoolean.c" +} + + +void saved_search_reconstitute (SavedSearch* self) { + SavedSearchTable* _tmp8_ = NULL; + SavedSearchTable* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + GError * _inner_error_ = NULL; +#line 845 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SAVED_SEARCH (self)); +#line 5657 "SearchBoolean.c" + { + SavedSearchID _tmp0_ = {0}; + SavedSearchDBTable* _tmp1_ = NULL; + SavedSearchDBTable* _tmp2_ = NULL; + SavedSearchRow* _tmp3_ = NULL; + SavedSearchID _tmp4_ = {0}; + SavedSearchID _tmp5_ = {0}; + SavedSearchRow* _tmp6_ = NULL; +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = saved_search_db_table_get_instance (); +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp1_; +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = self->priv->row; +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_db_table_create_from_row (_tmp2_, _tmp3_, &_tmp4_, &_inner_error_); +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = _tmp4_; +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _database_table_unref0 (_tmp2_); +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = _tmp5_; +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5684 "SearchBoolean.c" + goto __catch74_database_error; + } +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return; +#line 5693 "SearchBoolean.c" + } +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = self->priv->row; +#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_->search_id = _tmp0_; +#line 5699 "SearchBoolean.c" + } + goto __finally74; + __catch74_database_error: + { + GError* err = NULL; + GError* _tmp7_ = NULL; +#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + err = _inner_error_; +#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _inner_error_ = NULL; +#line 849 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = err; +#line 849 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + app_window_database_error (_tmp7_); +#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_error_free0 (err); +#line 5716 "SearchBoolean.c" + } + __finally74: +#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return; +#line 5727 "SearchBoolean.c" + } +#line 852 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = saved_search_table_get_instance (); +#line 852 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = _tmp8_; +#line 852 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_add_to_map (_tmp9_, self); +#line 852 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_table_unref0 (_tmp9_); +#line 853 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject)); +#line 853 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = _tmp10_; +#line 853 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_debug ("SearchBoolean.vala:853: Reconstituted %s", _tmp11_); +#line 853 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp11_); +#line 5745 "SearchBoolean.c" +} + + +gboolean saved_search_rename (SavedSearch* self, const gchar* new_name) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + SavedSearchTable* _tmp2_ = NULL; + SavedSearchTable* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + SavedSearchTable* _tmp13_ = NULL; + SavedSearchTable* _tmp14_ = NULL; + SavedSearchRow* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + SavedSearchTable* _tmp18_ = NULL; + SavedSearchTable* _tmp19_ = NULL; + LibraryWindow* _tmp20_ = NULL; + LibraryWindow* _tmp21_ = NULL; + GError * _inner_error_ = NULL; +#line 857 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (self), FALSE); +#line 857 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (new_name != NULL, FALSE); +#line 858 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = new_name; +#line 858 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = is_string_empty (_tmp0_); +#line 858 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp1_) { +#line 859 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = FALSE; +#line 859 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5782 "SearchBoolean.c" + } +#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = saved_search_table_get_instance (); +#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = _tmp2_; +#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = new_name; +#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = saved_search_table_exists (_tmp3_, _tmp4_); +#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = _tmp5_; +#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_table_unref0 (_tmp3_); +#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp6_) { +#line 862 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = FALSE; +#line 862 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5802 "SearchBoolean.c" + } + { + SavedSearchDBTable* _tmp7_ = NULL; + SavedSearchDBTable* _tmp8_ = NULL; + SavedSearchRow* _tmp9_ = NULL; + SavedSearchID _tmp10_ = {0}; + const gchar* _tmp11_ = NULL; +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = saved_search_db_table_get_instance (); +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = _tmp7_; +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = self->priv->row; +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = _tmp9_->search_id; +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = new_name; +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_db_table_rename (_tmp8_, &_tmp10_, _tmp11_, &_inner_error_); +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _database_table_unref0 (_tmp8_); +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 5828 "SearchBoolean.c" + goto __catch75_database_error; + } +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return FALSE; +#line 5837 "SearchBoolean.c" + } + } + goto __finally75; + __catch75_database_error: + { + GError* err = NULL; + GError* _tmp12_ = NULL; +#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + err = _inner_error_; +#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _inner_error_ = NULL; +#line 867 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = err; +#line 867 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + app_window_database_error (_tmp12_); +#line 868 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = FALSE; +#line 868 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_error_free0 (err); +#line 868 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5859 "SearchBoolean.c" + } + __finally75: +#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return FALSE; +#line 5870 "SearchBoolean.c" + } +#line 871 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = saved_search_table_get_instance (); +#line 871 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp14_ = _tmp13_; +#line 871 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_remove_from_map (_tmp14_, self); +#line 871 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_table_unref0 (_tmp14_); +#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_ = self->priv->row; +#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp16_ = new_name; +#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp17_ = g_strdup (_tmp16_); +#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp15_->name); +#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_->name = _tmp17_; +#line 873 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp18_ = saved_search_table_get_instance (); +#line 873 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp19_ = _tmp18_; +#line 873 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_add_to_map (_tmp19_, self); +#line 873 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_table_unref0 (_tmp19_); +#line 875 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp20_ = library_window_get_app (); +#line 875 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp21_ = _tmp20_; +#line 875 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + library_window_switch_to_saved_search (_tmp21_, self); +#line 875 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_tmp21_); +#line 876 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = TRUE; +#line 876 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5910 "SearchBoolean.c" +} + + +GeeList* saved_search_get_conditions (SavedSearch* self) { + GeeList* result = NULL; + SavedSearchRow* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; +#line 879 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (self), NULL); +#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->row; +#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp0_->conditions; +#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = gee_list_get_read_only_view (_tmp1_); +#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = _tmp2_; +#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_; +#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5934 "SearchBoolean.c" +} + + +SearchOperator saved_search_get_operator (SavedSearch* self) { + SearchOperator result = 0; + SavedSearchRow* _tmp0_ = NULL; + SearchOperator _tmp1_ = 0; +#line 883 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH (self), 0); +#line 884 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->row; +#line 884 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp0_->operator; +#line 884 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp1_; +#line 884 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 5952 "SearchBoolean.c" +} + + +static void saved_search_class_init (SavedSearchClass * klass) { +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_parent_class = g_type_class_peek_parent (klass); +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SavedSearchPrivate)); +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((DataObjectClass *) klass)->get_name = saved_search_real_get_name; +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((DataObjectClass *) klass)->to_string = saved_search_real_to_string; +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((DataSourceClass *) klass)->get_typename = saved_search_real_get_typename; +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((DataSourceClass *) klass)->get_instance_id = saved_search_real_get_instance_id; +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + G_OBJECT_CLASS (klass)->finalize = saved_search_finalize; +#line 5971 "SearchBoolean.c" +} + + +static void saved_search_instance_init (SavedSearch * self) { +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SAVED_SEARCH_GET_PRIVATE (self); +#line 5978 "SearchBoolean.c" +} + + +static void saved_search_finalize (GObject* obj) { + SavedSearch * self; +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH, SavedSearch); +#line 792 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_row_unref0 (self->priv->row); +#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + G_OBJECT_CLASS (saved_search_parent_class)->finalize (obj); +#line 5990 "SearchBoolean.c" +} + + +GType saved_search_get_type (void) { + static volatile gsize saved_search_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearch), 0, (GInstanceInitFunc) saved_search_instance_init, NULL }; + GType saved_search_type_id; + saved_search_type_id = g_type_register_static (TYPE_DATA_SOURCE, "SavedSearch", &g_define_type_info, 0); + g_once_init_leave (&saved_search_type_id__volatile, saved_search_type_id); + } + return saved_search_type_id__volatile; +} + + +static SavedSearchTable* saved_search_table_construct (GType object_type) { + SavedSearchTable* self = NULL; + GError * _inner_error_ = NULL; +#line 897 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = (SavedSearchTable*) g_type_create_instance (object_type); +#line 6011 "SearchBoolean.c" + { + GeeList* _tmp0_ = NULL; + SavedSearchDBTable* _tmp1_ = NULL; + SavedSearchDBTable* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = saved_search_db_table_get_instance (); +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp1_; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = saved_search_db_table_get_all_rows (_tmp2_, &_inner_error_); +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = _tmp3_; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _database_table_unref0 (_tmp2_); +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = _tmp4_; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6034 "SearchBoolean.c" + goto __catch76_database_error; + } +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return NULL; +#line 6043 "SearchBoolean.c" + } + { + GeeList* _row_list = NULL; + GeeList* _tmp5_ = NULL; + gint _row_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _row_index = 0; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = _tmp0_; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = NULL; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _row_list = _tmp5_; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = _row_list; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = _tmp7_; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _row_size = _tmp8_; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _row_index = -1; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + while (TRUE) { +#line 6071 "SearchBoolean.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + SavedSearchRow* row = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + SavedSearchRow* _tmp15_ = NULL; + SavedSearch* _tmp16_ = NULL; + SavedSearch* _tmp17_ = NULL; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = _row_index; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _row_index = _tmp9_ + 1; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = _row_index; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = _row_size; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + break; +#line 6094 "SearchBoolean.c" + } +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = _row_list; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = _row_index; +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + row = (SavedSearchRow*) _tmp14_; +#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp15_ = row; +#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp16_ = saved_search_new (_tmp15_, DATA_OBJECT_INVALID_OBJECT_ID); +#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp17_ = _tmp16_; +#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_add_to_map (self, _tmp17_); +#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_tmp17_); +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_row_unref0 (row); +#line 6116 "SearchBoolean.c" + } +#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_row_list); +#line 6120 "SearchBoolean.c" + } +#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_tmp0_); +#line 6124 "SearchBoolean.c" + } + goto __finally76; + __catch76_database_error: + { + GError* err = NULL; + GError* _tmp18_ = NULL; +#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + err = _inner_error_; +#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _inner_error_ = NULL; +#line 903 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp18_ = err; +#line 903 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + app_window_database_error (_tmp18_); +#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_error_free0 (err); +#line 6141 "SearchBoolean.c" + } + __finally76: +#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return NULL; +#line 6152 "SearchBoolean.c" + } +#line 897 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self; +#line 6156 "SearchBoolean.c" +} + + +static SavedSearchTable* saved_search_table_new (void) { +#line 897 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return saved_search_table_construct (TYPE_SAVED_SEARCH_TABLE); +#line 6163 "SearchBoolean.c" +} + + +static gpointer _saved_search_table_ref0 (gpointer self) { +#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return self ? saved_search_table_ref (self) : NULL; +#line 6170 "SearchBoolean.c" +} + + +SavedSearchTable* saved_search_table_get_instance (void) { + SavedSearchTable* result = NULL; + SavedSearchTable* _tmp0_ = NULL; + SavedSearchTable* _tmp2_ = NULL; + SavedSearchTable* _tmp3_ = NULL; +#line 909 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = saved_search_table_instance; +#line 909 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_tmp0_ == NULL) { +#line 6183 "SearchBoolean.c" + SavedSearchTable* _tmp1_ = NULL; +#line 910 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = saved_search_table_new (); +#line 910 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_table_unref0 (saved_search_table_instance); +#line 910 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_instance = _tmp1_; +#line 6191 "SearchBoolean.c" + } +#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = saved_search_table_instance; +#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = _saved_search_table_ref0 (_tmp2_); +#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp3_; +#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 6201 "SearchBoolean.c" +} + + +GeeCollection* saved_search_table_get_all (SavedSearchTable* self) { + GeeCollection* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), NULL); +#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->search_map; +#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp1_; +#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 6222 "SearchBoolean.c" +} + + +SavedSearch* saved_search_table_create (SavedSearchTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions) { + SavedSearch* result = NULL; + SavedSearch* search = NULL; + SavedSearch* _tmp10_ = NULL; + LibraryWindow* _tmp11_ = NULL; + LibraryWindow* _tmp12_ = NULL; + SavedSearch* _tmp13_ = NULL; + GError * _inner_error_ = NULL; +#line 921 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), NULL); +#line 921 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 921 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (GEE_IS_ARRAY_LIST (conditions), NULL); +#line 923 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search = NULL; +#line 6242 "SearchBoolean.c" + { + SavedSearchRow* _tmp0_ = NULL; + SavedSearchDBTable* _tmp1_ = NULL; + SavedSearchDBTable* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SearchOperator _tmp4_ = 0; + GeeArrayList* _tmp5_ = NULL; + SavedSearchRow* _tmp6_ = NULL; + SavedSearchRow* _tmp7_ = NULL; + SavedSearch* _tmp8_ = NULL; +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = saved_search_db_table_get_instance (); +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp1_; +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = name; +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = operator; +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = conditions; +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = saved_search_db_table_add (_tmp2_, _tmp3_, _tmp4_, _tmp5_, &_inner_error_); +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = _tmp6_; +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _database_table_unref0 (_tmp2_); +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = _tmp7_; +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6275 "SearchBoolean.c" + goto __catch77_database_error; + } +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (search); +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return NULL; +#line 6286 "SearchBoolean.c" + } +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp8_ = saved_search_new (_tmp0_, DATA_OBJECT_INVALID_OBJECT_ID); +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (search); +#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + search = _tmp8_; +#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _saved_search_row_unref0 (_tmp0_); +#line 6296 "SearchBoolean.c" + } + goto __finally77; + __catch77_database_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; +#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + err = _inner_error_; +#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _inner_error_ = NULL; +#line 928 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp9_ = err; +#line 928 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + app_window_database_error (_tmp9_); +#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_error_free0 (err); +#line 6313 "SearchBoolean.c" + } + __finally77: +#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (search); +#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return NULL; +#line 6326 "SearchBoolean.c" + } +#line 932 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp10_ = search; +#line 932 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_add_to_map (self, _tmp10_); +#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp11_ = library_window_get_app (); +#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp12_ = _tmp11_; +#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp13_ = search; +#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + library_window_switch_to_saved_search (_tmp12_, _tmp13_); +#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (_tmp12_); +#line 934 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = search; +#line 934 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 6346 "SearchBoolean.c" +} + + +void saved_search_table_remove (SavedSearchTable* self, SavedSearch* search) { + SavedSearch* _tmp5_ = NULL; + GError * _inner_error_ = NULL; +#line 938 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SAVED_SEARCH_TABLE (self)); +#line 938 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 6357 "SearchBoolean.c" + { + SavedSearchDBTable* _tmp0_ = NULL; + SavedSearchDBTable* _tmp1_ = NULL; + SavedSearch* _tmp2_ = NULL; + SavedSearchID _tmp3_ = {0}; +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = saved_search_db_table_get_instance (); +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = _tmp0_; +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = search; +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_get_saved_search_id (_tmp2_, &_tmp3_); +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_db_table_remove (_tmp1_, &_tmp3_, &_inner_error_); +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _database_table_unref0 (_tmp1_); +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (_inner_error_->domain == DATABASE_ERROR) { +#line 6379 "SearchBoolean.c" + goto __catch78_database_error; + } +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return; +#line 6388 "SearchBoolean.c" + } + } + goto __finally78; + __catch78_database_error: + { + GError* err = NULL; + GError* _tmp4_ = NULL; +#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + err = _inner_error_; +#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _inner_error_ = NULL; +#line 942 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = err; +#line 942 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + app_window_database_error (_tmp4_); +#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_error_free0 (err); +#line 6406 "SearchBoolean.c" + } + __finally78: +#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.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 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_clear_error (&_inner_error_); +#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return; +#line 6417 "SearchBoolean.c" + } +#line 945 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = search; +#line 945 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_remove_from_map (self, _tmp5_); +#line 6423 "SearchBoolean.c" +} + + +void saved_search_table_add_to_map (SavedSearchTable* self, SavedSearch* search) { + GeeHashMap* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + SavedSearch* _tmp4_ = NULL; + SavedSearch* _tmp5_ = NULL; +#line 948 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SAVED_SEARCH_TABLE (self)); +#line 948 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->search_map; +#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = search; +#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = _tmp2_; +#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = search; +#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_, _tmp4_); +#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp3_); +#line 950 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = search; +#line 950 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_signal_emit_by_name (self, "search-added", _tmp5_); +#line 6456 "SearchBoolean.c" +} + + +void saved_search_table_remove_from_map (SavedSearchTable* self, SavedSearch* search) { + GeeHashMap* _tmp0_ = NULL; + SavedSearch* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + SavedSearch* _tmp4_ = NULL; +#line 953 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SAVED_SEARCH_TABLE (self)); +#line 953 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (IS_SAVED_SEARCH (search)); +#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->search_map; +#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = search; +#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = _tmp2_; +#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_, NULL); +#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (_tmp3_); +#line 955 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = search; +#line 955 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_signal_emit_by_name (self, "search-removed", _tmp4_); +#line 6486 "SearchBoolean.c" +} + + +GeeIterable* saved_search_table_get_saved_searches (SavedSearchTable* self) { + GeeIterable* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; +#line 958 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), NULL); +#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->search_map; +#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp1_; +#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable); +#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 6507 "SearchBoolean.c" +} + + +gint saved_search_table_get_count (SavedSearchTable* self) { + gint result = 0; + GeeHashMap* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 962 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), 0); +#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->search_map; +#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = _tmp1_; +#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 6528 "SearchBoolean.c" +} + + +gboolean saved_search_table_exists (SavedSearchTable* self, const gchar* search_name) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 966 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), FALSE); +#line 966 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (search_name != NULL, FALSE); +#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = self->priv->search_map; +#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = search_name; +#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp2_; +#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 6551 "SearchBoolean.c" +} + + +gchar* saved_search_table_generate_unique_name (SavedSearchTable* self) { + gchar* result = NULL; + gchar* _tmp7_ = NULL; +#line 971 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), NULL); +#line 6560 "SearchBoolean.c" + { + gint ctr = 0; +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ctr = 1; +#line 6565 "SearchBoolean.c" + { + gboolean _tmp0_ = FALSE; +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = TRUE; +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + while (TRUE) { +#line 6572 "SearchBoolean.c" + gint _tmp2_ = 0; + gchar* name = NULL; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!_tmp0_) { +#line 6581 "SearchBoolean.c" + gint _tmp1_ = 0; +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp1_ = ctr; +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ctr = _tmp1_ + 1; +#line 6587 "SearchBoolean.c" + } +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = FALSE; +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp2_ = ctr; +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!(_tmp2_ < G_MAXINT)) { +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + break; +#line 6597 "SearchBoolean.c" + } +#line 973 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp3_ = ctr; +#line 973 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp4_ = g_strdup_printf ("%s %d", RESOURCES_DEFAULT_SAVED_SEARCH_NAME, _tmp3_); +#line 973 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + name = _tmp4_; +#line 975 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp5_ = name; +#line 975 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp6_ = saved_search_table_exists (self, _tmp5_); +#line 975 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!_tmp6_) { +#line 976 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = name; +#line 976 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 6615 "SearchBoolean.c" + } +#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_free0 (name); +#line 6619 "SearchBoolean.c" + } + } + } +#line 978 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp7_ = g_strdup (""); +#line 978 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + result = _tmp7_; +#line 978 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return result; +#line 6629 "SearchBoolean.c" +} + + +static void value_saved_search_table_init (GValue* value) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = NULL; +#line 6636 "SearchBoolean.c" +} + + +static void value_saved_search_table_free_value (GValue* value) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (value->data[0].v_pointer) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_unref (value->data[0].v_pointer); +#line 6645 "SearchBoolean.c" + } +} + + +static void value_saved_search_table_copy_value (const GValue* src_value, GValue* dest_value) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (src_value->data[0].v_pointer) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + dest_value->data[0].v_pointer = saved_search_table_ref (src_value->data[0].v_pointer); +#line 6655 "SearchBoolean.c" + } else { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + dest_value->data[0].v_pointer = NULL; +#line 6659 "SearchBoolean.c" + } +} + + +static gpointer value_saved_search_table_peek_pointer (const GValue* value) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return value->data[0].v_pointer; +#line 6667 "SearchBoolean.c" +} + + +static gchar* value_saved_search_table_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (collect_values[0].v_pointer) { +#line 6674 "SearchBoolean.c" + SavedSearchTable* object; + object = collect_values[0].v_pointer; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (object->parent_instance.g_class == NULL) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 6681 "SearchBoolean.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 6685 "SearchBoolean.c" + } +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = saved_search_table_ref (object); +#line 6689 "SearchBoolean.c" + } else { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = NULL; +#line 6693 "SearchBoolean.c" + } +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return NULL; +#line 6697 "SearchBoolean.c" +} + + +static gchar* value_saved_search_table_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SavedSearchTable** object_p; + object_p = collect_values[0].v_pointer; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!object_p) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 6708 "SearchBoolean.c" + } +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (!value->data[0].v_pointer) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + *object_p = NULL; +#line 6714 "SearchBoolean.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + *object_p = value->data[0].v_pointer; +#line 6718 "SearchBoolean.c" + } else { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + *object_p = saved_search_table_ref (value->data[0].v_pointer); +#line 6722 "SearchBoolean.c" + } +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return NULL; +#line 6726 "SearchBoolean.c" +} + + +GParamSpec* param_spec_saved_search_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSavedSearchTable* spec; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SAVED_SEARCH_TABLE), NULL); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return G_PARAM_SPEC (spec); +#line 6740 "SearchBoolean.c" +} + + +gpointer value_get_saved_search_table (const GValue* value) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_TABLE), NULL); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return value->data[0].v_pointer; +#line 6749 "SearchBoolean.c" +} + + +void value_set_saved_search_table (GValue* value, gpointer v_object) { + SavedSearchTable* old; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_TABLE)); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + old = value->data[0].v_pointer; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (v_object) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_TABLE)); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = v_object; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_ref (value->data[0].v_pointer); +#line 6769 "SearchBoolean.c" + } else { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = NULL; +#line 6773 "SearchBoolean.c" + } +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (old) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_unref (old); +#line 6779 "SearchBoolean.c" + } +} + + +void value_take_saved_search_table (GValue* value, gpointer v_object) { + SavedSearchTable* old; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_TABLE)); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + old = value->data[0].v_pointer; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (v_object) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_TABLE)); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = v_object; +#line 6798 "SearchBoolean.c" + } else { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + value->data[0].v_pointer = NULL; +#line 6802 "SearchBoolean.c" + } +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (old) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_unref (old); +#line 6808 "SearchBoolean.c" + } +} + + +static void saved_search_table_class_init (SavedSearchTableClass * klass) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + saved_search_table_parent_class = g_type_class_peek_parent (klass); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + ((SavedSearchTableClass *) klass)->finalize = saved_search_table_finalize; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_class_add_private (klass, sizeof (SavedSearchTablePrivate)); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_signal_new ("search_added", TYPE_SAVED_SEARCH_TABLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_signal_new ("search_removed", TYPE_SAVED_SEARCH_TABLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH); +#line 6824 "SearchBoolean.c" +} + + +static void saved_search_table_instance_init (SavedSearchTable * self) { + GeeHashMap* _tmp0_ = NULL; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv = SAVED_SEARCH_TABLE_GET_PRIVATE (self); +#line 892 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_SAVED_SEARCH, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 892 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->priv->search_map = _tmp0_; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self->ref_count = 1; +#line 6838 "SearchBoolean.c" +} + + +static void saved_search_table_finalize (SavedSearchTable* obj) { + SavedSearchTable * self; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_TABLE, SavedSearchTable); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_signal_handlers_destroy (self); +#line 892 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + _g_object_unref0 (self->priv->search_map); +#line 6850 "SearchBoolean.c" +} + + +GType saved_search_table_get_type (void) { + static volatile gsize saved_search_table_type_id__volatile = 0; + if (g_once_init_enter (&saved_search_table_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_saved_search_table_init, value_saved_search_table_free_value, value_saved_search_table_copy_value, value_saved_search_table_peek_pointer, "p", value_saved_search_table_collect_value, "p", value_saved_search_table_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SavedSearchTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchTable), 0, (GInstanceInitFunc) saved_search_table_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType saved_search_table_type_id; + saved_search_table_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchTable", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&saved_search_table_type_id__volatile, saved_search_table_type_id); + } + return saved_search_table_type_id__volatile; +} + + +gpointer saved_search_table_ref (gpointer instance) { + SavedSearchTable* self; + self = instance; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_atomic_int_inc (&self->ref_count); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + return instance; +#line 6875 "SearchBoolean.c" +} + + +void saved_search_table_unref (gpointer instance) { + SavedSearchTable* self; + self = instance; +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + SAVED_SEARCH_TABLE_GET_CLASS (self)->finalize (self); +#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 6888 "SearchBoolean.c" + } +} + + + diff --git a/src/searches/Searches.c b/src/searches/Searches.c new file mode 100644 index 0000000..1ab6b90 --- /dev/null +++ b/src/searches/Searches.c @@ -0,0 +1,49 @@ +/* Searches.c generated by valac 0.32.1, the Vala compiler + * generated from Searches.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* This file is the master unit file for the Searches unit. It should be edited to include + * whatever code is deemed necessary. + * + * The init() and terminate() methods are mandatory. + * + * If the unit needs to be configured prior to initialization, add the proper parameters to + * the preconfigure() method, implement it, and ensure in init() that it's been called. + */ + +#include +#include + + + + +void searches_preconfigure (void); +void searches_init (GError** error); +void searches_sidebar_entry_init (void); +void searches_terminate (void); +void searches_sidebar_entry_terminate (void); + + +void searches_preconfigure (void) { +} + + +void searches_init (GError** error) { +#line 23 "/home/jens/Source/shotwell/src/searches/Searches.vala" + searches_sidebar_entry_init (); +#line 39 "Searches.c" +} + + +void searches_terminate (void) { +#line 27 "/home/jens/Source/shotwell/src/searches/Searches.vala" + searches_sidebar_entry_terminate (); +#line 46 "Searches.c" +} + + + diff --git a/src/searches/mk/searches.mk b/src/searches/mk/searches.mk deleted file mode 100644 index 6df4b5d..0000000 --- a/src/searches/mk/searches.mk +++ /dev/null @@ -1,31 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Searches - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := searches - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - Branch.vala \ - SearchBoolean.vala \ - SavedSearchPage.vala \ - SavedSearchDialog.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/sidebar/Branch.c b/src/sidebar/Branch.c new file mode 100644 index 0000000..10f7a72 --- /dev/null +++ b/src/sidebar/Branch.c @@ -0,0 +1,2814 @@ +/* Branch.c generated by valac 0.32.1, the Vala compiler + * generated from Branch.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; +typedef struct _SidebarBranchPrivate SidebarBranchPrivate; + +#define SIDEBAR_BRANCH_TYPE_NODE (sidebar_branch_node_get_type ()) +#define SIDEBAR_BRANCH_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_BRANCH_TYPE_NODE, SidebarBranchNode)) +#define SIDEBAR_BRANCH_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_BRANCH_TYPE_NODE, SidebarBranchNodeClass)) +#define SIDEBAR_BRANCH_IS_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_BRANCH_TYPE_NODE)) +#define SIDEBAR_BRANCH_IS_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_BRANCH_TYPE_NODE)) +#define SIDEBAR_BRANCH_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_BRANCH_TYPE_NODE, SidebarBranchNodeClass)) + +typedef struct _SidebarBranchNode SidebarBranchNode; +typedef struct _SidebarBranchNodeClass SidebarBranchNodeClass; + +#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ()) + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; +#define _sidebar_branch_node_unref0(var) ((var == NULL) ? NULL : (var = (sidebar_branch_node_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _SidebarBranchNodePrivate SidebarBranchNodePrivate; +typedef struct _SidebarBranchParamSpecNode SidebarBranchParamSpecNode; +#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); + +typedef gboolean (*Locator) (gconstpointer item, void* user_data); +struct _SidebarBranch { + GObject parent_instance; + SidebarBranchPrivate * priv; +}; + +struct _SidebarBranchClass { + GObjectClass parent_class; +}; + +typedef enum { + SIDEBAR_BRANCH_OPTIONS_NONE = 0, + SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0, + SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1, + SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2, + SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3 +} SidebarBranchOptions; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _SidebarBranchPrivate { + SidebarBranchNode* root; + SidebarBranchOptions options; + gboolean shown; + GCompareFunc default_comparator; + GeeHashMap* map; +}; + +struct _SidebarBranchNode { + GTypeInstance parent_instance; + volatile int ref_count; + SidebarBranchNodePrivate * priv; + SidebarEntry* entry; + SidebarBranchNode* parent; + GCompareFunc comparator; + GeeSortedSet* children; +}; + +struct _SidebarBranchNodeClass { + GTypeClass parent_class; + void (*finalize) (SidebarBranchNode *self); +}; + +typedef void (*SidebarBranchNodePruneCallback) (SidebarBranchNode* node, void* user_data); +typedef void (*SidebarBranchNodeChildrenReorderedCallback) (SidebarBranchNode* node, void* user_data); +struct _SidebarBranchParamSpecNode { + GParamSpec parent_instance; +}; + + +static gpointer sidebar_branch_parent_class = NULL; +static gpointer sidebar_branch_node_parent_class = NULL; + +GType sidebar_branch_get_type (void) G_GNUC_CONST; +static gpointer sidebar_branch_node_ref (gpointer instance); +static void sidebar_branch_node_unref (gpointer instance); +static GParamSpec* sidebar_branch_param_spec_node (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void sidebar_branch_value_set_node (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void sidebar_branch_value_take_node (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer sidebar_branch_value_get_node (const GValue* value) G_GNUC_UNUSED; +static GType sidebar_branch_node_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType sidebar_branch_options_get_type (void) G_GNUC_CONST; +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +#define SIDEBAR_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SIDEBAR_TYPE_BRANCH, SidebarBranchPrivate)) +enum { + SIDEBAR_BRANCH_DUMMY_PROPERTY +}; +gboolean sidebar_branch_options_is_hide_if_empty (SidebarBranchOptions self); +gboolean sidebar_branch_options_is_auto_open_on_new_child (SidebarBranchOptions self); +gboolean sidebar_branch_options_is_startup_expand_to_first_child (SidebarBranchOptions self); +gboolean sidebar_branch_options_is_startup_open_grouping (SidebarBranchOptions self); +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +static SidebarBranchNode* sidebar_branch_node_new (SidebarEntry* entry, SidebarBranchNode* parent, GCompareFunc comparator); +static SidebarBranchNode* sidebar_branch_node_construct (GType object_type, SidebarEntry* entry, SidebarBranchNode* parent, GCompareFunc comparator); +void sidebar_branch_set_show_branch (SidebarBranch* self, gboolean shown); +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self); +gboolean sidebar_branch_get_show_branch (SidebarBranch* self); +gboolean sidebar_branch_is_auto_open_on_new_child (SidebarBranch* self); +gboolean sidebar_branch_is_startup_expand_to_first_child (SidebarBranch* self); +gboolean sidebar_branch_is_startup_open_grouping (SidebarBranch* self); +void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator); +static void sidebar_branch_node_add_child (SidebarBranchNode* self, SidebarBranchNode* child); +void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry); +static void sidebar_branch_node_prune_children (SidebarBranchNode* self, SidebarBranchNodePruneCallback cb, void* cb_target); +static void sidebar_branch_prune_callback (SidebarBranch* self, SidebarBranchNode* node); +static void _sidebar_branch_prune_callback_sidebar_branch_node_prune_callback (SidebarBranchNode* node, gpointer self); +static void sidebar_branch_node_remove_child (SidebarBranchNode* self, SidebarBranchNode* child); +static gboolean sidebar_branch_node_has_children (SidebarBranchNode* self); +void sidebar_branch_reparent (SidebarBranch* self, SidebarEntry* new_parent, SidebarEntry* entry); +gboolean sidebar_branch_has_entry (SidebarBranch* self, SidebarEntry* entry); +void sidebar_branch_reorder (SidebarBranch* self, SidebarEntry* entry); +static gboolean sidebar_branch_node_reorder_child (SidebarBranchNode* self, SidebarBranchNode* child); +void sidebar_branch_reorder_all (SidebarBranch* self); +static void sidebar_branch_node_reorder_children (SidebarBranchNode* self, gboolean recursive, SidebarBranchNodeChildrenReorderedCallback cb, void* cb_target); +static void sidebar_branch_children_reordered_callback (SidebarBranch* self, SidebarBranchNode* node); +static void _sidebar_branch_children_reordered_callback_sidebar_branch_node_children_reordered_callback (SidebarBranchNode* node, gpointer self); +void sidebar_branch_reorder_children (SidebarBranch* self, SidebarEntry* entry, gboolean recursive); +void sidebar_branch_change_all_comparators (SidebarBranch* self, GCompareFunc comparator); +static void sidebar_branch_node_change_comparator (SidebarBranchNode* self, GCompareFunc comparator, gboolean recursive, SidebarBranchNodeChildrenReorderedCallback cb, void* cb_target); +void sidebar_branch_change_comparator (SidebarBranch* self, SidebarEntry* entry, gboolean recursive, GCompareFunc comparator); +gint sidebar_branch_get_child_count (SidebarBranch* self, SidebarEntry* parent); +GeeList* sidebar_branch_get_children (SidebarBranch* self, SidebarEntry* parent); +SidebarEntry* sidebar_branch_find_first_child (SidebarBranch* self, SidebarEntry* parent, Locator locator, void* locator_target); +SidebarEntry* sidebar_branch_get_parent (SidebarBranch* self, SidebarEntry* entry); +SidebarEntry* sidebar_branch_get_previous_sibling (SidebarBranch* self, SidebarEntry* entry); +SidebarEntry* sidebar_branch_get_next_sibling (SidebarBranch* self, SidebarEntry* entry); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +enum { + SIDEBAR_BRANCH_NODE_DUMMY_PROPERTY +}; +static gint sidebar_branch_node_comparator_wrapper (SidebarBranchNode* anode, SidebarBranchNode* bnode); +static gint _sidebar_branch_node_comparator_wrapper_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +static gint sidebar_branch_node_index_of_by_reference (SidebarBranchNode* self, SidebarBranchNode* child); +static void sidebar_branch_node_finalize (SidebarBranchNode* obj); +static void sidebar_branch_finalize (GObject* obj); + + +gboolean sidebar_branch_options_is_hide_if_empty (SidebarBranchOptions self) { + gboolean result = FALSE; +#line 19 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = (self & SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY) != 0; +#line 19 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 202 "Branch.c" +} + + +gboolean sidebar_branch_options_is_auto_open_on_new_child (SidebarBranchOptions self) { + gboolean result = FALSE; +#line 23 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = (self & SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD) != 0; +#line 23 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 212 "Branch.c" +} + + +gboolean sidebar_branch_options_is_startup_expand_to_first_child (SidebarBranchOptions self) { + gboolean result = FALSE; +#line 27 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = (self & SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD) != 0; +#line 27 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 222 "Branch.c" +} + + +gboolean sidebar_branch_options_is_startup_open_grouping (SidebarBranchOptions self) { + gboolean result = FALSE; +#line 31 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = (self & SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING) != 0; +#line 31 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 232 "Branch.c" +} + + +GType sidebar_branch_options_get_type (void) { + static volatile gsize sidebar_branch_options_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_branch_options_type_id__volatile)) { + static const GFlagsValue values[] = {{SIDEBAR_BRANCH_OPTIONS_NONE, "SIDEBAR_BRANCH_OPTIONS_NONE", "none"}, {SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY, "SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY", "hide-if-empty"}, {SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD, "SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD", "auto-open-on-new-child"}, {SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD, "SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD", "startup-expand-to-first-child"}, {SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING, "SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING", "startup-open-grouping"}, {0, NULL, NULL}}; + GType sidebar_branch_options_type_id; + sidebar_branch_options_type_id = g_flags_register_static ("SidebarBranchOptions", values); + g_once_init_leave (&sidebar_branch_options_type_id__volatile, sidebar_branch_options_type_id); + } + return sidebar_branch_options_type_id__volatile; +} + + +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator) { + SidebarBranch * self = NULL; + GCompareFunc _tmp0_ = NULL; + GCompareFunc _tmp1_ = NULL; + GCompareFunc _tmp2_ = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarBranchNode* _tmp6_ = NULL; + SidebarBranchOptions _tmp7_ = 0; + GeeHashMap* _tmp8_ = NULL; + SidebarEntry* _tmp9_ = NULL; + SidebarBranchNode* _tmp10_ = NULL; + SidebarBranchOptions _tmp11_ = 0; + gboolean _tmp12_ = FALSE; +#line 206 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (root), NULL); +#line 206 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self = (SidebarBranch*) g_object_new (object_type, NULL); +#line 208 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = default_comparator; +#line 208 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->priv->default_comparator = _tmp0_; +#line 210 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = root_comparator; +#line 210 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp2_ != NULL) { +#line 273 "Branch.c" + GCompareFunc _tmp3_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = root_comparator; +#line 210 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = _tmp3_; +#line 279 "Branch.c" + } else { + GCompareFunc _tmp4_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = default_comparator; +#line 210 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = _tmp4_; +#line 286 "Branch.c" + } +#line 209 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = root; +#line 209 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = sidebar_branch_node_new (_tmp5_, NULL, _tmp1_); +#line 209 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (self->priv->root); +#line 209 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->priv->root = _tmp6_; +#line 211 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = options; +#line 211 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->priv->options = _tmp7_; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = self->priv->map; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = root; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = self->priv->root; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_, _tmp10_); +#line 215 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = options; +#line 215 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = sidebar_branch_options_is_hide_if_empty (_tmp11_); +#line 215 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp12_) { +#line 216 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_set_show_branch (self, FALSE); +#line 316 "Branch.c" + } +#line 206 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return self; +#line 320 "Branch.c" +} + + +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator) { +#line 206 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return sidebar_branch_construct (SIDEBAR_TYPE_BRANCH, root, options, default_comparator, root_comparator); +#line 327 "Branch.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 220 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return self ? g_object_ref (self) : NULL; +#line 334 "Branch.c" +} + + +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self) { + SidebarEntry* result = NULL; + SidebarBranchNode* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; +#line 219 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), NULL); +#line 220 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->root; +#line 220 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = _tmp0_->entry; +#line 220 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 220 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp2_; +#line 220 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 355 "Branch.c" +} + + +void sidebar_branch_set_show_branch (SidebarBranch* self, gboolean shown) { + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gboolean _tmp3_ = FALSE; +#line 223 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 224 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->shown; +#line 224 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = shown; +#line 224 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 225 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return; +#line 374 "Branch.c" + } +#line 227 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = shown; +#line 227 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->priv->shown = _tmp2_; +#line 228 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = shown; +#line 228 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_emit_by_name (self, "show-branch", _tmp3_); +#line 384 "Branch.c" +} + + +gboolean sidebar_branch_get_show_branch (SidebarBranch* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 231 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), FALSE); +#line 232 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->shown; +#line 232 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp0_; +#line 232 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 399 "Branch.c" +} + + +gboolean sidebar_branch_is_auto_open_on_new_child (SidebarBranch* self) { + gboolean result = FALSE; + SidebarBranchOptions _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 235 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), FALSE); +#line 236 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->options; +#line 236 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = sidebar_branch_options_is_auto_open_on_new_child (_tmp0_); +#line 236 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp1_; +#line 236 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 417 "Branch.c" +} + + +gboolean sidebar_branch_is_startup_expand_to_first_child (SidebarBranch* self) { + gboolean result = FALSE; + SidebarBranchOptions _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 239 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), FALSE); +#line 240 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->options; +#line 240 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = sidebar_branch_options_is_startup_expand_to_first_child (_tmp0_); +#line 240 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp1_; +#line 240 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 435 "Branch.c" +} + + +gboolean sidebar_branch_is_startup_open_grouping (SidebarBranch* self) { + gboolean result = FALSE; + SidebarBranchOptions _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 243 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), FALSE); +#line 244 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->options; +#line 244 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = sidebar_branch_options_is_startup_open_grouping (_tmp0_); +#line 244 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp1_; +#line 244 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 453 "Branch.c" +} + + +void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator) { + GeeHashMap* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + SidebarBranchOptions _tmp6_ = 0; + gboolean _tmp7_ = FALSE; + SidebarBranchNode* parent_node = NULL; + GeeHashMap* _tmp8_ = NULL; + SidebarEntry* _tmp9_ = NULL; + gpointer _tmp10_ = NULL; + GCompareFunc _tmp11_ = NULL; + GCompareFunc _tmp12_ = NULL; + SidebarBranchNode* entry_node = NULL; + SidebarEntry* _tmp15_ = NULL; + SidebarBranchNode* _tmp16_ = NULL; + SidebarBranchNode* _tmp17_ = NULL; + SidebarBranchNode* _tmp18_ = NULL; + GeeHashMap* _tmp19_ = NULL; + SidebarEntry* _tmp20_ = NULL; + SidebarEntry* _tmp21_ = NULL; +#line 247 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 247 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (parent)); +#line 247 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 249 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->map; +#line 249 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = parent; +#line 249 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 249 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp2_, "map.has_key(parent)"); +#line 250 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->priv->map; +#line 250 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = entry; +#line 250 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 250 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (!_tmp5_, "!map.has_key(entry)"); +#line 252 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = self->priv->options; +#line 252 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = sidebar_branch_options_is_hide_if_empty (_tmp6_); +#line 252 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp7_) { +#line 253 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_set_show_branch (self, TRUE); +#line 510 "Branch.c" + } +#line 255 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = self->priv->map; +#line 255 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = parent; +#line 255 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_); +#line 255 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + parent_node = (SidebarBranchNode*) _tmp10_; +#line 257 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = comparator; +#line 257 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp12_ != NULL) { +#line 524 "Branch.c" + GCompareFunc _tmp13_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = comparator; +#line 257 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = _tmp13_; +#line 530 "Branch.c" + } else { + GCompareFunc _tmp14_ = NULL; +#line 257 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = self->priv->default_comparator; +#line 257 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = _tmp14_; +#line 537 "Branch.c" + } +#line 256 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = entry; +#line 256 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = parent_node; +#line 256 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = sidebar_branch_node_new (_tmp15_, _tmp16_, _tmp11_); +#line 256 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = _tmp17_; +#line 259 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = parent_node; +#line 259 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_add_child (_tmp18_, entry_node); +#line 260 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp19_ = self->priv->map; +#line 260 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp20_ = entry; +#line 260 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp20_, entry_node); +#line 262 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp21_ = entry; +#line 262 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_emit_by_name (self, "entry-added", _tmp21_); +#line 247 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 247 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (parent_node); +#line 565 "Branch.c" +} + + +static void _sidebar_branch_prune_callback_sidebar_branch_node_prune_callback (SidebarBranchNode* node, gpointer self) { +#line 272 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_prune_callback ((SidebarBranch*) self, node); +#line 572 "Branch.c" +} + + +void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry) { + SidebarEntry* _tmp0_ = NULL; + SidebarBranchNode* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + SidebarBranchNode* entry_node = NULL; + GeeHashMap* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + SidebarBranchNode* _tmp9_ = NULL; + SidebarBranchNode* _tmp10_ = NULL; + SidebarBranchNode* _tmp11_ = NULL; + SidebarBranchNode* _tmp12_ = NULL; + SidebarBranchNode* _tmp13_ = NULL; + SidebarBranchNode* _tmp14_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp15_ = NULL; + SidebarEntry* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + gboolean _tmp18_ = FALSE; + SidebarEntry* _tmp19_ = NULL; + gboolean _tmp20_ = FALSE; + SidebarBranchOptions _tmp21_ = 0; + gboolean _tmp22_ = FALSE; +#line 266 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 266 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 267 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = entry; +#line 267 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->priv->root; +#line 267 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = _tmp1_->entry; +#line 267 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp0_ != _tmp2_, "entry != root.entry"); +#line 268 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->priv->map; +#line 268 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = entry; +#line 268 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 268 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp5_, "map.has_key(entry)"); +#line 270 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = self->priv->map; +#line 270 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = entry; +#line 270 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 270 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = (SidebarBranchNode*) _tmp8_; +#line 272 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = entry_node; +#line 272 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_prune_children (_tmp9_, _sidebar_branch_prune_callback_sidebar_branch_node_prune_callback, self); +#line 274 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = entry_node; +#line 274 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = _tmp10_->parent; +#line 274 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp11_ != NULL, "entry_node.parent != null"); +#line 275 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = entry_node; +#line 275 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = _tmp12_->parent; +#line 275 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = entry_node; +#line 275 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_remove_child (_tmp13_, _tmp14_); +#line 277 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = self->priv->map; +#line 277 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = entry; +#line 277 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_, NULL); +#line 277 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + removed = _tmp17_; +#line 278 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = removed; +#line 278 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp18_, "removed"); +#line 280 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp19_ = entry; +#line 280 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_emit_by_name (self, "entry-removed", _tmp19_); +#line 282 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp21_ = self->priv->options; +#line 282 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp22_ = sidebar_branch_options_is_hide_if_empty (_tmp21_); +#line 282 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp22_) { +#line 670 "Branch.c" + SidebarBranchNode* _tmp23_ = NULL; + gboolean _tmp24_ = FALSE; +#line 282 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp23_ = self->priv->root; +#line 282 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp24_ = sidebar_branch_node_has_children (_tmp23_); +#line 282 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp20_ = !_tmp24_; +#line 679 "Branch.c" + } else { +#line 282 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp20_ = FALSE; +#line 683 "Branch.c" + } +#line 282 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp20_) { +#line 283 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_set_show_branch (self, FALSE); +#line 689 "Branch.c" + } +#line 266 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 693 "Branch.c" +} + + +void sidebar_branch_reparent (SidebarBranch* self, SidebarEntry* new_parent, SidebarEntry* entry) { + SidebarEntry* _tmp0_ = NULL; + SidebarBranchNode* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeHashMap* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + SidebarBranchNode* entry_node = NULL; + GeeHashMap* _tmp9_ = NULL; + SidebarEntry* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + SidebarBranchNode* new_parent_node = NULL; + GeeHashMap* _tmp12_ = NULL; + SidebarEntry* _tmp13_ = NULL; + gpointer _tmp14_ = NULL; + SidebarBranchNode* _tmp15_ = NULL; + SidebarEntry* old_parent = NULL; + SidebarBranchNode* _tmp16_ = NULL; + SidebarEntry* _tmp17_ = NULL; + SidebarEntry* _tmp18_ = NULL; + SidebarBranchNode* _tmp19_ = NULL; + SidebarEntry* _tmp20_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 287 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (new_parent)); +#line 287 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 288 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = entry; +#line 288 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->priv->root; +#line 288 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = _tmp1_->entry; +#line 288 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp0_ != _tmp2_, "entry != root.entry"); +#line 289 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->priv->map; +#line 289 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = entry; +#line 289 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 289 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp5_, "map.has_key(entry)"); +#line 290 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = self->priv->map; +#line 290 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = new_parent; +#line 290 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_); +#line 290 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp8_, "map.has_key(new_parent)"); +#line 292 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = self->priv->map; +#line 292 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = entry; +#line 292 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp10_); +#line 292 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = (SidebarBranchNode*) _tmp11_; +#line 293 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = self->priv->map; +#line 293 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = new_parent; +#line 293 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_); +#line 293 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + new_parent_node = (SidebarBranchNode*) _tmp14_; +#line 295 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = entry_node->parent; +#line 295 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp15_ != NULL, "entry_node.parent != null"); +#line 296 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = entry_node->parent; +#line 296 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = _tmp16_->entry; +#line 296 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = _g_object_ref0 (_tmp17_); +#line 296 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + old_parent = _tmp18_; +#line 298 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp19_ = entry_node->parent; +#line 298 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_remove_child (_tmp19_, entry_node); +#line 299 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_add_child (new_parent_node, entry_node); +#line 301 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp20_ = entry; +#line 301 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_emit_by_name (self, "entry-reparented", _tmp20_, old_parent); +#line 287 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (old_parent); +#line 287 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (new_parent_node); +#line 287 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 796 "Branch.c" +} + + +gboolean sidebar_branch_has_entry (SidebarBranch* self, SidebarEntry* entry) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + SidebarBranchNode* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; +#line 304 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), FALSE); +#line 304 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->priv->root; +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = _tmp1_->entry; +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = entry; +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp2_ == _tmp3_) { +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = TRUE; +#line 820 "Branch.c" + } else { + GeeHashMap* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = self->priv->map; +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = entry; +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_); +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = _tmp6_; +#line 833 "Branch.c" + } +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp0_; +#line 305 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 839 "Branch.c" +} + + +void sidebar_branch_reorder (SidebarBranch* self, SidebarEntry* entry) { + SidebarEntry* _tmp0_ = NULL; + SidebarBranchNode* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarBranchNode* entry_node = NULL; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SidebarBranchNode* _tmp6_ = NULL; + SidebarBranchNode* _tmp7_ = NULL; + SidebarBranchNode* _tmp8_ = NULL; + SidebarBranchNode* _tmp9_ = NULL; + SidebarBranchNode* _tmp10_ = NULL; + SidebarBranchNode* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; +#line 310 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 310 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 311 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = entry; +#line 311 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->priv->root; +#line 311 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = _tmp1_->entry; +#line 311 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp0_ != _tmp2_, "entry != root.entry"); +#line 313 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->priv->map; +#line 313 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = entry; +#line 313 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 313 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = (SidebarBranchNode*) _tmp5_; +#line 314 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = entry_node; +#line 314 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp6_ != NULL, "entry_node != null"); +#line 316 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = entry_node; +#line 316 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = _tmp7_->parent; +#line 316 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp8_ != NULL, "entry_node.parent != null"); +#line 317 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = entry_node; +#line 317 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = _tmp9_->parent; +#line 317 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = entry_node; +#line 317 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = sidebar_branch_node_reorder_child (_tmp10_, _tmp11_); +#line 317 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp12_) { +#line 898 "Branch.c" + SidebarEntry* _tmp13_ = NULL; +#line 318 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = entry; +#line 318 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_emit_by_name (self, "entry-moved", _tmp13_); +#line 904 "Branch.c" + } +#line 310 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 908 "Branch.c" +} + + +static void _sidebar_branch_children_reordered_callback_sidebar_branch_node_children_reordered_callback (SidebarBranchNode* node, gpointer self) { +#line 323 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_children_reordered_callback ((SidebarBranch*) self, node); +#line 915 "Branch.c" +} + + +void sidebar_branch_reorder_all (SidebarBranch* self) { + SidebarBranchNode* _tmp0_ = NULL; +#line 322 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 323 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->root; +#line 323 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_reorder_children (_tmp0_, TRUE, _sidebar_branch_children_reordered_callback_sidebar_branch_node_children_reordered_callback, self); +#line 927 "Branch.c" +} + + +void sidebar_branch_reorder_children (SidebarBranch* self, SidebarEntry* entry, gboolean recursive) { + SidebarBranchNode* entry_node = NULL; + GeeHashMap* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 327 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 327 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 328 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->map; +#line 328 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = entry; +#line 328 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 328 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = (SidebarBranchNode*) _tmp2_; +#line 329 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (entry_node != NULL, "entry_node != null"); +#line 331 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = recursive; +#line 331 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_reorder_children (entry_node, _tmp3_, _sidebar_branch_children_reordered_callback_sidebar_branch_node_children_reordered_callback, self); +#line 327 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 957 "Branch.c" +} + + +void sidebar_branch_change_all_comparators (SidebarBranch* self, GCompareFunc comparator) { + SidebarBranchNode* _tmp0_ = NULL; + GCompareFunc _tmp1_ = NULL; +#line 334 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 335 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->root; +#line 335 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = comparator; +#line 335 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_change_comparator (_tmp0_, _tmp1_, TRUE, _sidebar_branch_children_reordered_callback_sidebar_branch_node_children_reordered_callback, self); +#line 972 "Branch.c" +} + + +void sidebar_branch_change_comparator (SidebarBranch* self, SidebarEntry* entry, gboolean recursive, GCompareFunc comparator) { + SidebarBranchNode* entry_node = NULL; + GeeHashMap* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + GCompareFunc _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 338 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 338 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 340 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->map; +#line 340 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = entry; +#line 340 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 340 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = (SidebarBranchNode*) _tmp2_; +#line 341 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (entry_node != NULL, "entry_node != null"); +#line 343 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = comparator; +#line 343 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = recursive; +#line 343 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_change_comparator (entry_node, _tmp3_, _tmp4_, _sidebar_branch_children_reordered_callback_sidebar_branch_node_children_reordered_callback, self); +#line 338 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 1005 "Branch.c" +} + + +gint sidebar_branch_get_child_count (SidebarBranch* self, SidebarEntry* parent) { + gint result = 0; + SidebarBranchNode* parent_node = NULL; + GeeHashMap* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + SidebarBranchNode* _tmp3_ = NULL; + gint _tmp4_ = 0; + SidebarBranchNode* _tmp5_ = NULL; + GeeSortedSet* _tmp6_ = NULL; +#line 346 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), 0); +#line 346 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (parent), 0); +#line 347 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->map; +#line 347 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = parent; +#line 347 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 347 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + parent_node = (SidebarBranchNode*) _tmp2_; +#line 348 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = parent_node; +#line 348 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp3_ != NULL, "parent_node != null"); +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = parent_node; +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = _tmp5_->children; +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp6_ != NULL) { +#line 1041 "Branch.c" + SidebarBranchNode* _tmp7_ = NULL; + GeeSortedSet* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = parent_node; +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = _tmp7_->children; +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = _tmp9_; +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = _tmp10_; +#line 1056 "Branch.c" + } else { +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = 0; +#line 1060 "Branch.c" + } +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp4_; +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (parent_node); +#line 350 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1068 "Branch.c" +} + + +GeeList* sidebar_branch_get_children (SidebarBranch* self, SidebarEntry* parent) { + GeeList* result = NULL; + GeeHashMap* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + SidebarBranchNode* parent_node = NULL; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SidebarBranchNode* _tmp6_ = NULL; + GeeSortedSet* _tmp7_ = NULL; + GeeList* child_entries = NULL; + GeeArrayList* _tmp8_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), NULL); +#line 355 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (parent), NULL); +#line 356 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->map; +#line 356 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = parent; +#line 356 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 356 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp2_, "map.has_key(parent)"); +#line 358 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->priv->map; +#line 358 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = parent; +#line 358 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 358 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + parent_node = (SidebarBranchNode*) _tmp5_; +#line 359 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = parent_node; +#line 359 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = _tmp6_->children; +#line 359 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp7_ == NULL) { +#line 360 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = NULL; +#line 360 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (parent_node); +#line 360 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1117 "Branch.c" + } +#line 362 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = gee_array_list_new (SIDEBAR_TYPE_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 362 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + child_entries = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_LIST, GeeList); +#line 1123 "Branch.c" + { + GeeIterator* _child_it = NULL; + SidebarBranchNode* _tmp9_ = NULL; + GeeSortedSet* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = parent_node; +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = _tmp9_->children; +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _child_it = _tmp11_; +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + while (TRUE) { +#line 1139 "Branch.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + SidebarBranchNode* child = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; + SidebarBranchNode* _tmp17_ = NULL; + SidebarEntry* _tmp18_ = NULL; +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = _child_it; +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!_tmp13_) { +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + break; +#line 1156 "Branch.c" + } +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = _child_it; +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + child = (SidebarBranchNode*) _tmp15_; +#line 364 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = child_entries; +#line 364 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = child; +#line 364 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = _tmp17_->entry; +#line 364 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection), _tmp18_); +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (child); +#line 1174 "Branch.c" + } +#line 363 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_child_it); +#line 1178 "Branch.c" + } +#line 366 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = child_entries; +#line 366 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (parent_node); +#line 366 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1186 "Branch.c" +} + + +SidebarEntry* sidebar_branch_find_first_child (SidebarBranch* self, SidebarEntry* parent, Locator locator, void* locator_target) { + SidebarEntry* result = NULL; + SidebarBranchNode* parent_node = NULL; + GeeHashMap* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + SidebarBranchNode* _tmp3_ = NULL; + SidebarBranchNode* _tmp4_ = NULL; + GeeSortedSet* _tmp5_ = NULL; +#line 369 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), NULL); +#line 369 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (parent), NULL); +#line 370 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->priv->map; +#line 370 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = parent; +#line 370 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 370 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + parent_node = (SidebarBranchNode*) _tmp2_; +#line 371 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = parent_node; +#line 371 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp3_ != NULL, "parent_node != null"); +#line 373 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = parent_node; +#line 373 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = _tmp4_->children; +#line 373 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp5_ == NULL) { +#line 374 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = NULL; +#line 374 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (parent_node); +#line 374 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1227 "Branch.c" + } + { + GeeIterator* _child_it = NULL; + SidebarBranchNode* _tmp6_ = NULL; + GeeSortedSet* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = parent_node; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = _tmp6_->children; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _child_it = _tmp8_; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + while (TRUE) { +#line 1244 "Branch.c" + GeeIterator* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + SidebarBranchNode* child = NULL; + GeeIterator* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + Locator _tmp13_ = NULL; + void* _tmp13__target = NULL; + SidebarBranchNode* _tmp14_ = NULL; + SidebarEntry* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = _child_it; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = gee_iterator_next (_tmp9_); +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!_tmp10_) { +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + break; +#line 1263 "Branch.c" + } +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = _child_it; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = gee_iterator_get (_tmp11_); +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + child = (SidebarBranchNode*) _tmp12_; +#line 377 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = locator; +#line 377 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13__target = locator_target; +#line 377 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = child; +#line 377 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = _tmp14_->entry; +#line 377 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = _tmp13_ (_tmp15_, _tmp13__target); +#line 377 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp16_) { +#line 1283 "Branch.c" + SidebarBranchNode* _tmp17_ = NULL; + SidebarEntry* _tmp18_ = NULL; + SidebarEntry* _tmp19_ = NULL; +#line 378 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = child; +#line 378 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = _tmp17_->entry; +#line 378 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp19_ = _g_object_ref0 (_tmp18_); +#line 378 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp19_; +#line 378 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (child); +#line 378 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_child_it); +#line 378 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (parent_node); +#line 378 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1303 "Branch.c" + } +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (child); +#line 1307 "Branch.c" + } +#line 376 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_child_it); +#line 1311 "Branch.c" + } +#line 381 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = NULL; +#line 381 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (parent_node); +#line 381 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1319 "Branch.c" +} + + +SidebarEntry* sidebar_branch_get_parent (SidebarBranch* self, SidebarEntry* entry) { + SidebarEntry* result = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarBranchNode* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarBranchNode* entry_node = NULL; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SidebarBranchNode* _tmp6_ = NULL; + SidebarBranchNode* _tmp7_ = NULL; + SidebarBranchNode* _tmp8_ = NULL; + SidebarBranchNode* _tmp9_ = NULL; + SidebarBranchNode* _tmp10_ = NULL; + SidebarEntry* _tmp11_ = NULL; + SidebarEntry* _tmp12_ = NULL; +#line 385 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), NULL); +#line 385 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), NULL); +#line 386 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = entry; +#line 386 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->priv->root; +#line 386 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = _tmp1_->entry; +#line 386 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp0_ == _tmp2_) { +#line 387 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = NULL; +#line 387 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1355 "Branch.c" + } +#line 389 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->priv->map; +#line 389 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = entry; +#line 389 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 389 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = (SidebarBranchNode*) _tmp5_; +#line 390 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = entry_node; +#line 390 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp6_ != NULL, "entry_node != null"); +#line 391 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = entry_node; +#line 391 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = _tmp7_->parent; +#line 391 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp8_ != NULL, "entry_node.parent != null"); +#line 393 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = entry_node; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = _tmp9_->parent; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = _tmp10_->entry; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = _g_object_ref0 (_tmp11_); +#line 393 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp12_; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 393 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1389 "Branch.c" +} + + +SidebarEntry* sidebar_branch_get_previous_sibling (SidebarBranch* self, SidebarEntry* entry) { + SidebarEntry* result = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarBranchNode* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarBranchNode* entry_node = NULL; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SidebarBranchNode* _tmp6_ = NULL; + SidebarBranchNode* _tmp7_ = NULL; + SidebarBranchNode* _tmp8_ = NULL; + SidebarBranchNode* _tmp9_ = NULL; + SidebarBranchNode* _tmp10_ = NULL; + GeeSortedSet* _tmp11_ = NULL; + SidebarBranchNode* sibling = NULL; + SidebarBranchNode* _tmp12_ = NULL; + SidebarBranchNode* _tmp13_ = NULL; + GeeSortedSet* _tmp14_ = NULL; + SidebarBranchNode* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + SidebarEntry* _tmp17_ = NULL; + SidebarBranchNode* _tmp18_ = NULL; + SidebarEntry* _tmp21_ = NULL; +#line 397 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), NULL); +#line 397 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), NULL); +#line 398 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = entry; +#line 398 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->priv->root; +#line 398 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = _tmp1_->entry; +#line 398 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp0_ == _tmp2_) { +#line 399 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = NULL; +#line 399 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1433 "Branch.c" + } +#line 401 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->priv->map; +#line 401 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = entry; +#line 401 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 401 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = (SidebarBranchNode*) _tmp5_; +#line 402 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = entry_node; +#line 402 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp6_ != NULL, "entry_node != null"); +#line 403 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = entry_node; +#line 403 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = _tmp7_->parent; +#line 403 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp8_ != NULL, "entry_node.parent != null"); +#line 404 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = entry_node; +#line 404 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = _tmp9_->parent; +#line 404 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = _tmp10_->children; +#line 404 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp11_ != NULL, "entry_node.parent.children != null"); +#line 406 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = entry_node; +#line 406 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = _tmp12_->parent; +#line 406 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = _tmp13_->children; +#line 406 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = entry_node; +#line 406 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = gee_sorted_set_lower (_tmp14_, _tmp15_); +#line 406 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sibling = (SidebarBranchNode*) _tmp16_; +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = sibling; +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp18_ != NULL) { +#line 1477 "Branch.c" + SidebarBranchNode* _tmp19_ = NULL; + SidebarEntry* _tmp20_ = NULL; +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp19_ = sibling; +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp20_ = _tmp19_->entry; +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = _tmp20_; +#line 1486 "Branch.c" + } else { +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = NULL; +#line 1490 "Branch.c" + } +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp21_ = _g_object_ref0 (_tmp17_); +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp21_; +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (sibling); +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 408 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1502 "Branch.c" +} + + +SidebarEntry* sidebar_branch_get_next_sibling (SidebarBranch* self, SidebarEntry* entry) { + SidebarEntry* result = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarBranchNode* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarBranchNode* entry_node = NULL; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + SidebarBranchNode* _tmp6_ = NULL; + SidebarBranchNode* _tmp7_ = NULL; + SidebarBranchNode* _tmp8_ = NULL; + SidebarBranchNode* _tmp9_ = NULL; + SidebarBranchNode* _tmp10_ = NULL; + GeeSortedSet* _tmp11_ = NULL; + SidebarBranchNode* sibling = NULL; + SidebarBranchNode* _tmp12_ = NULL; + SidebarBranchNode* _tmp13_ = NULL; + GeeSortedSet* _tmp14_ = NULL; + SidebarBranchNode* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + SidebarEntry* _tmp17_ = NULL; + SidebarBranchNode* _tmp18_ = NULL; + SidebarEntry* _tmp21_ = NULL; +#line 412 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_BRANCH (self), NULL); +#line 412 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), NULL); +#line 413 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = entry; +#line 413 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->priv->root; +#line 413 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = _tmp1_->entry; +#line 413 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp0_ == _tmp2_) { +#line 414 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = NULL; +#line 414 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1546 "Branch.c" + } +#line 416 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->priv->map; +#line 416 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = entry; +#line 416 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 416 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + entry_node = (SidebarBranchNode*) _tmp5_; +#line 417 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = entry_node; +#line 417 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp6_ != NULL, "entry_node != null"); +#line 418 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = entry_node; +#line 418 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = _tmp7_->parent; +#line 418 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp8_ != NULL, "entry_node.parent != null"); +#line 419 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = entry_node; +#line 419 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = _tmp9_->parent; +#line 419 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = _tmp10_->children; +#line 419 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp11_ != NULL, "entry_node.parent.children != null"); +#line 421 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = entry_node; +#line 421 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = _tmp12_->parent; +#line 421 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = _tmp13_->children; +#line 421 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = entry_node; +#line 421 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = gee_sorted_set_higher (_tmp14_, _tmp15_); +#line 421 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sibling = (SidebarBranchNode*) _tmp16_; +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = sibling; +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp18_ != NULL) { +#line 1590 "Branch.c" + SidebarBranchNode* _tmp19_ = NULL; + SidebarEntry* _tmp20_ = NULL; +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp19_ = sibling; +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp20_ = _tmp19_->entry; +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = _tmp20_; +#line 1599 "Branch.c" + } else { +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = NULL; +#line 1603 "Branch.c" + } +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp21_ = _g_object_ref0 (_tmp17_); +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp21_; +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (sibling); +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (entry_node); +#line 423 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1615 "Branch.c" +} + + +static void sidebar_branch_prune_callback (SidebarBranch* self, SidebarBranchNode* node) { + SidebarBranchNode* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; +#line 426 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 426 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (node)); +#line 427 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = node; +#line 427 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = _tmp0_->entry; +#line 427 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_emit_by_name (self, "entry-removed", _tmp1_); +#line 1632 "Branch.c" +} + + +static void sidebar_branch_children_reordered_callback (SidebarBranch* self, SidebarBranchNode* node) { + SidebarBranchNode* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; +#line 430 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (self)); +#line 430 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (node)); +#line 431 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = node; +#line 431 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = _tmp0_->entry; +#line 431 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_emit_by_name (self, "children-reordered", _tmp1_); +#line 1649 "Branch.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (n_param_values == 3); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + data1 = closure->data; +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + data2 = param_values->data[0].v_pointer; +#line 1668 "Branch.c" + } else { +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + data1 = param_values->data[0].v_pointer; +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + data2 = closure->data; +#line 1674 "Branch.c" + } +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 1680 "Branch.c" +} + + +static SidebarBranchNode* sidebar_branch_node_construct (GType object_type, SidebarEntry* entry, SidebarBranchNode* parent, GCompareFunc comparator) { + SidebarBranchNode* self = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarBranchNode* _tmp2_ = NULL; + GCompareFunc _tmp3_ = NULL; +#line 45 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), NULL); +#line 45 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail ((parent == NULL) || SIDEBAR_BRANCH_IS_NODE (parent), NULL); +#line 45 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self = (SidebarBranchNode*) g_type_create_instance (object_type); +#line 46 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = entry; +#line 46 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 46 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->entry); +#line 46 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->entry = _tmp1_; +#line 47 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = parent; +#line 47 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->parent = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = comparator; +#line 48 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->comparator = _tmp3_; +#line 45 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return self; +#line 1714 "Branch.c" +} + + +static SidebarBranchNode* sidebar_branch_node_new (SidebarEntry* entry, SidebarBranchNode* parent, GCompareFunc comparator) { +#line 45 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return sidebar_branch_node_construct (SIDEBAR_BRANCH_TYPE_NODE, entry, parent, comparator); +#line 1721 "Branch.c" +} + + +static gint sidebar_branch_node_comparator_wrapper (SidebarBranchNode* anode, SidebarBranchNode* bnode) { + gint result = 0; + SidebarBranchNode* _tmp0_ = NULL; + SidebarBranchNode* _tmp1_ = NULL; + SidebarBranchNode* _tmp2_ = NULL; + SidebarBranchNode* _tmp3_ = NULL; + SidebarBranchNode* _tmp4_ = NULL; + SidebarBranchNode* _tmp5_ = NULL; + SidebarBranchNode* _tmp6_ = NULL; + SidebarBranchNode* _tmp7_ = NULL; + GCompareFunc _tmp8_ = NULL; + SidebarBranchNode* _tmp9_ = NULL; + SidebarEntry* _tmp10_ = NULL; + SidebarBranchNode* _tmp11_ = NULL; + SidebarEntry* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 51 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_BRANCH_IS_NODE (anode), 0); +#line 51 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_BRANCH_IS_NODE (bnode), 0); +#line 52 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = anode; +#line 52 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = bnode; +#line 52 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 53 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = 0; +#line 53 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1755 "Branch.c" + } +#line 55 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = anode; +#line 55 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = _tmp2_->parent; +#line 55 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = bnode; +#line 55 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = _tmp4_->parent; +#line 55 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp3_ == _tmp5_, "anode.parent == bnode.parent"); +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = anode; +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = _tmp6_->parent; +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = _tmp7_->comparator; +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = anode; +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = _tmp9_->entry; +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = bnode; +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = _tmp11_->entry; +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = _tmp8_ (_tmp10_, _tmp12_); +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp13_; +#line 57 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1787 "Branch.c" +} + + +static gboolean sidebar_branch_node_has_children (SidebarBranchNode* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GeeSortedSet* _tmp1_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_BRANCH_IS_NODE (self), FALSE); +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->children; +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp1_ != NULL) { +#line 1801 "Branch.c" + GeeSortedSet* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = self->children; +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = _tmp3_; +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = _tmp4_ > 0; +#line 1813 "Branch.c" + } else { +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = FALSE; +#line 1817 "Branch.c" + } +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = _tmp0_; +#line 61 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1823 "Branch.c" +} + + +static gint _sidebar_branch_node_comparator_wrapper_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = sidebar_branch_node_comparator_wrapper ((SidebarBranchNode*) a, (SidebarBranchNode*) b); +#line 68 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 1832 "Branch.c" +} + + +static void sidebar_branch_node_add_child (SidebarBranchNode* self, SidebarBranchNode* child) { + SidebarBranchNode* _tmp0_ = NULL; + GeeSortedSet* _tmp1_ = NULL; + gboolean added = FALSE; + GeeSortedSet* _tmp3_ = NULL; + SidebarBranchNode* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 64 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (self)); +#line 64 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (child)); +#line 65 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = child; +#line 65 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_->parent = self; +#line 67 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->children; +#line 67 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp1_ == NULL) { +#line 1855 "Branch.c" + GeeTreeSet* _tmp2_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_tree_set_new (SIDEBAR_BRANCH_TYPE_NODE, (GBoxedCopyFunc) sidebar_branch_node_ref, sidebar_branch_node_unref, _sidebar_branch_node_comparator_wrapper_gcompare_data_func, NULL, NULL); +#line 68 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->children); +#line 68 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->children = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 1863 "Branch.c" + } +#line 70 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->children; +#line 70 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = child; +#line 70 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection), _tmp4_); +#line 70 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + added = _tmp5_; +#line 71 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (added, "added"); +#line 1875 "Branch.c" +} + + +static void sidebar_branch_node_remove_child (SidebarBranchNode* self, SidebarBranchNode* child) { + GeeSortedSet* _tmp0_ = NULL; + GeeSortedSet* new_children = NULL; + GeeTreeSet* _tmp1_ = NULL; + gboolean found = FALSE; + gboolean _tmp12_ = FALSE; + GeeSortedSet* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + SidebarBranchNode* _tmp18_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (self)); +#line 74 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (child)); +#line 75 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->children; +#line 75 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp0_ != NULL, "children != null"); +#line 77 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = gee_tree_set_new (SIDEBAR_BRANCH_TYPE_NODE, (GBoxedCopyFunc) sidebar_branch_node_ref, sidebar_branch_node_unref, _sidebar_branch_node_comparator_wrapper_gcompare_data_func, NULL, NULL); +#line 77 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + new_children = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 81 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + found = FALSE; +#line 1903 "Branch.c" + { + GeeIterator* _c_it = NULL; + GeeSortedSet* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = self->children; +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _c_it = _tmp3_; +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + while (TRUE) { +#line 1916 "Branch.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + SidebarBranchNode* c = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + SidebarBranchNode* _tmp8_ = NULL; + SidebarBranchNode* _tmp9_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = _c_it; +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!_tmp5_) { +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + break; +#line 1932 "Branch.c" + } +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = _c_it; +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + c = (SidebarBranchNode*) _tmp7_; +#line 83 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = c; +#line 83 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = child; +#line 83 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp8_ != _tmp9_) { +#line 1946 "Branch.c" + GeeSortedSet* _tmp10_ = NULL; + SidebarBranchNode* _tmp11_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = new_children; +#line 84 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = c; +#line 84 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_); +#line 1955 "Branch.c" + } else { +#line 86 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + found = TRUE; +#line 1959 "Branch.c" + } +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (c); +#line 1963 "Branch.c" + } +#line 82 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_c_it); +#line 1967 "Branch.c" + } +#line 89 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = found; +#line 89 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp12_, "found"); +#line 91 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = new_children; +#line 91 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 91 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = _tmp14_; +#line 91 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp15_ != 0) { +#line 1981 "Branch.c" + GeeSortedSet* _tmp16_ = NULL; + GeeSortedSet* _tmp17_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = new_children; +#line 92 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = _g_object_ref0 (_tmp16_); +#line 92 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->children); +#line 92 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->children = _tmp17_; +#line 1992 "Branch.c" + } else { +#line 94 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->children); +#line 94 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->children = NULL; +#line 1998 "Branch.c" + } +#line 96 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = child; +#line 96 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_->parent = NULL; +#line 74 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (new_children); +#line 2006 "Branch.c" +} + + +static void sidebar_branch_node_prune_children (SidebarBranchNode* self, SidebarBranchNodePruneCallback cb, void* cb_target) { + GeeSortedSet* _tmp0_ = NULL; + GeeSortedSet* old_children = NULL; + GeeSortedSet* _tmp9_ = NULL; + GeeSortedSet* _tmp10_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (self)); +#line 100 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->children; +#line 100 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp0_ == NULL) { +#line 101 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return; +#line 2023 "Branch.c" + } + { + GeeIterator* _child_it = NULL; + GeeSortedSet* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->children; +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _child_it = _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + while (TRUE) { +#line 2037 "Branch.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + SidebarBranchNode* child = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + SidebarBranchNode* _tmp7_ = NULL; + SidebarBranchNodePruneCallback _tmp8_ = NULL; + void* _tmp8__target = NULL; +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = _child_it; +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!_tmp4_) { +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + break; +#line 2054 "Branch.c" + } +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = _child_it; +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + child = (SidebarBranchNode*) _tmp6_; +#line 104 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = child; +#line 104 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = cb; +#line 104 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8__target = cb_target; +#line 104 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_prune_children (_tmp7_, _tmp8_, _tmp8__target); +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (child); +#line 2072 "Branch.c" + } +#line 103 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_child_it); +#line 2076 "Branch.c" + } +#line 106 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = self->children; +#line 106 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = _g_object_ref0 (_tmp9_); +#line 106 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + old_children = _tmp10_; +#line 107 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->children); +#line 107 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->children = NULL; +#line 2088 "Branch.c" + { + GeeIterator* _child_it = NULL; + GeeSortedSet* _tmp11_ = NULL; + GeeIterator* _tmp12_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = old_children; +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _child_it = _tmp12_; +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + while (TRUE) { +#line 2101 "Branch.c" + GeeIterator* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + SidebarBranchNode* child = NULL; + GeeIterator* _tmp15_ = NULL; + gpointer _tmp16_ = NULL; + SidebarBranchNodePruneCallback _tmp17_ = NULL; + void* _tmp17__target = NULL; + SidebarBranchNode* _tmp18_ = NULL; +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = _child_it; +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = gee_iterator_next (_tmp13_); +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!_tmp14_) { +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + break; +#line 2118 "Branch.c" + } +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = _child_it; +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp16_ = gee_iterator_get (_tmp15_); +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + child = (SidebarBranchNode*) _tmp16_; +#line 113 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ = cb; +#line 113 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17__target = cb_target; +#line 113 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp18_ = child; +#line 113 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp17_ (_tmp18_, _tmp17__target); +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (child); +#line 2136 "Branch.c" + } +#line 112 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_child_it); +#line 2140 "Branch.c" + } +#line 99 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (old_children); +#line 2144 "Branch.c" +} + + +static gint sidebar_branch_node_index_of_by_reference (SidebarBranchNode* self, SidebarBranchNode* child) { + gint result = 0; + GeeSortedSet* _tmp0_ = NULL; + gint index = 0; +#line 118 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_BRANCH_IS_NODE (self), 0); +#line 118 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_BRANCH_IS_NODE (child), 0); +#line 119 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->children; +#line 119 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp0_ == NULL) { +#line 120 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = -1; +#line 120 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 2164 "Branch.c" + } +#line 122 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + index = 0; +#line 2168 "Branch.c" + { + GeeIterator* _c_it = NULL; + GeeSortedSet* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = self->children; +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _c_it = _tmp2_; +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + while (TRUE) { +#line 2181 "Branch.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + SidebarBranchNode* c = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + SidebarBranchNode* _tmp7_ = NULL; + SidebarBranchNode* _tmp8_ = NULL; + gint _tmp9_ = 0; +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = _c_it; +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!_tmp4_) { +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + break; +#line 2198 "Branch.c" + } +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = _c_it; +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + c = (SidebarBranchNode*) _tmp6_; +#line 124 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = child; +#line 124 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = c; +#line 124 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp7_ == _tmp8_) { +#line 125 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = index; +#line 125 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (c); +#line 125 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_c_it); +#line 125 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 2220 "Branch.c" + } +#line 127 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = index; +#line 127 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + index = _tmp9_ + 1; +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (c); +#line 2228 "Branch.c" + } +#line 123 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_c_it); +#line 2232 "Branch.c" + } +#line 130 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = -1; +#line 130 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 2238 "Branch.c" +} + + +static gboolean sidebar_branch_node_reorder_child (SidebarBranchNode* self, SidebarBranchNode* child) { + gboolean result = FALSE; + GeeSortedSet* _tmp0_ = NULL; + gint old_index = 0; + SidebarBranchNode* _tmp1_ = NULL; + gint _tmp2_ = 0; + GeeSortedSet* new_children = NULL; + GeeTreeSet* _tmp3_ = NULL; + gboolean added = FALSE; + GeeSortedSet* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeSortedSet* _tmp6_ = NULL; + gint new_index = 0; + SidebarBranchNode* _tmp7_ = NULL; + gint _tmp8_ = 0; +#line 134 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_BRANCH_IS_NODE (self), FALSE); +#line 134 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (SIDEBAR_BRANCH_IS_NODE (child), FALSE); +#line 135 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->children; +#line 135 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (_tmp0_ != NULL, "children != null"); +#line 137 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = child; +#line 137 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = sidebar_branch_node_index_of_by_reference (self, _tmp1_); +#line 137 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + old_index = _tmp2_; +#line 138 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (old_index >= 0, "old_index >= 0"); +#line 146 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = gee_tree_set_new (SIDEBAR_BRANCH_TYPE_NODE, (GBoxedCopyFunc) sidebar_branch_node_ref, sidebar_branch_node_unref, _sidebar_branch_node_comparator_wrapper_gcompare_data_func, NULL, NULL); +#line 146 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + new_children = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 147 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = self->children; +#line 147 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (new_children, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 147 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + added = _tmp5_; +#line 148 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (added, "added"); +#line 150 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = _g_object_ref0 (new_children); +#line 150 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->children); +#line 150 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->children = _tmp6_; +#line 152 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = child; +#line 152 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = sidebar_branch_node_index_of_by_reference (self, _tmp7_); +#line 152 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + new_index = _tmp8_; +#line 153 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _vala_assert (new_index >= 0, "new_index >= 0"); +#line 155 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + result = old_index != new_index; +#line 155 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (new_children); +#line 155 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return result; +#line 2305 "Branch.c" +} + + +static void sidebar_branch_node_reorder_children (SidebarBranchNode* self, gboolean recursive, SidebarBranchNodeChildrenReorderedCallback cb, void* cb_target) { + GeeSortedSet* _tmp0_ = NULL; + GeeSortedSet* reordered = NULL; + GeeTreeSet* _tmp1_ = NULL; + GeeSortedSet* _tmp2_ = NULL; + GeeSortedSet* _tmp3_ = NULL; + GeeSortedSet* _tmp4_ = NULL; + GeeSortedSet* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + SidebarBranchNodeChildrenReorderedCallback _tmp15_ = NULL; + void* _tmp15__target = NULL; +#line 158 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (self)); +#line 159 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = self->children; +#line 159 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp0_ == NULL) { +#line 160 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return; +#line 2328 "Branch.c" + } +#line 162 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = gee_tree_set_new (SIDEBAR_BRANCH_TYPE_NODE, (GBoxedCopyFunc) sidebar_branch_node_ref, sidebar_branch_node_unref, _sidebar_branch_node_comparator_wrapper_gcompare_data_func, NULL, NULL); +#line 162 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + reordered = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 163 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = reordered; +#line 163 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->children; +#line 163 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 164 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = reordered; +#line 164 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 164 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->children); +#line 164 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->children = _tmp5_; +#line 166 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = recursive; +#line 166 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp6_) { +#line 2352 "Branch.c" + { + GeeIterator* _child_it = NULL; + GeeSortedSet* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = self->children; +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _child_it = _tmp8_; +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + while (TRUE) { +#line 2365 "Branch.c" + GeeIterator* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + SidebarBranchNode* child = NULL; + GeeIterator* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + SidebarBranchNode* _tmp13_ = NULL; + SidebarBranchNodeChildrenReorderedCallback _tmp14_ = NULL; + void* _tmp14__target = NULL; +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = _child_it; +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = gee_iterator_next (_tmp9_); +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!_tmp10_) { +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + break; +#line 2382 "Branch.c" + } +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = _child_it; +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp12_ = gee_iterator_get (_tmp11_); +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + child = (SidebarBranchNode*) _tmp12_; +#line 168 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp13_ = child; +#line 168 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14_ = cb; +#line 168 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp14__target = cb_target; +#line 168 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_reorder_children (_tmp13_, TRUE, _tmp14_, _tmp14__target); +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (child); +#line 2400 "Branch.c" + } +#line 167 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_child_it); +#line 2404 "Branch.c" + } + } +#line 171 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ = cb; +#line 171 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15__target = cb_target; +#line 171 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp15_ (self, _tmp15__target); +#line 158 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (reordered); +#line 2415 "Branch.c" +} + + +static void sidebar_branch_node_change_comparator (SidebarBranchNode* self, GCompareFunc comparator, gboolean recursive, SidebarBranchNodeChildrenReorderedCallback cb, void* cb_target) { + GCompareFunc _tmp0_ = NULL; + SidebarBranchNodeChildrenReorderedCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + gboolean _tmp2_ = FALSE; +#line 174 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (SIDEBAR_BRANCH_IS_NODE (self)); +#line 176 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = comparator; +#line 176 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->comparator = _tmp0_; +#line 179 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1_ = cb; +#line 179 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp1__target = cb_target; +#line 179 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_reorder_children (self, FALSE, _tmp1_, _tmp1__target); +#line 181 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp2_ = recursive; +#line 181 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (_tmp2_) { +#line 2440 "Branch.c" + { + GeeIterator* _child_it = NULL; + GeeSortedSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp3_ = self->children; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _child_it = _tmp4_; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + while (TRUE) { +#line 2453 "Branch.c" + GeeIterator* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + SidebarBranchNode* child = NULL; + GeeIterator* _tmp7_ = NULL; + gpointer _tmp8_ = NULL; + SidebarBranchNode* _tmp9_ = NULL; + GCompareFunc _tmp10_ = NULL; + SidebarBranchNodeChildrenReorderedCallback _tmp11_ = NULL; + void* _tmp11__target = NULL; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp5_ = _child_it; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp6_ = gee_iterator_next (_tmp5_); +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!_tmp6_) { +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + break; +#line 2471 "Branch.c" + } +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp7_ = _child_it; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp8_ = gee_iterator_get (_tmp7_); +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + child = (SidebarBranchNode*) _tmp8_; +#line 183 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp9_ = child; +#line 183 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp10_ = comparator; +#line 183 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11_ = cb; +#line 183 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp11__target = cb_target; +#line 183 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_change_comparator (_tmp9_, _tmp10_, TRUE, _tmp11_, _tmp11__target); +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (child); +#line 2491 "Branch.c" + } +#line 182 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (_child_it); +#line 2495 "Branch.c" + } + } +} + + +static void sidebar_branch_value_node_init (GValue* value) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + value->data[0].v_pointer = NULL; +#line 2504 "Branch.c" +} + + +static void sidebar_branch_value_node_free_value (GValue* value) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (value->data[0].v_pointer) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_unref (value->data[0].v_pointer); +#line 2513 "Branch.c" + } +} + + +static void sidebar_branch_value_node_copy_value (const GValue* src_value, GValue* dest_value) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (src_value->data[0].v_pointer) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + dest_value->data[0].v_pointer = sidebar_branch_node_ref (src_value->data[0].v_pointer); +#line 2523 "Branch.c" + } else { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + dest_value->data[0].v_pointer = NULL; +#line 2527 "Branch.c" + } +} + + +static gpointer sidebar_branch_value_node_peek_pointer (const GValue* value) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return value->data[0].v_pointer; +#line 2535 "Branch.c" +} + + +static gchar* sidebar_branch_value_node_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (collect_values[0].v_pointer) { +#line 2542 "Branch.c" + SidebarBranchNode* object; + object = collect_values[0].v_pointer; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (object->parent_instance.g_class == NULL) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2549 "Branch.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2553 "Branch.c" + } +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + value->data[0].v_pointer = sidebar_branch_node_ref (object); +#line 2557 "Branch.c" + } else { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + value->data[0].v_pointer = NULL; +#line 2561 "Branch.c" + } +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return NULL; +#line 2565 "Branch.c" +} + + +static gchar* sidebar_branch_value_node_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SidebarBranchNode** object_p; + object_p = collect_values[0].v_pointer; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!object_p) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2576 "Branch.c" + } +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (!value->data[0].v_pointer) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + *object_p = NULL; +#line 2582 "Branch.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + *object_p = value->data[0].v_pointer; +#line 2586 "Branch.c" + } else { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + *object_p = sidebar_branch_node_ref (value->data[0].v_pointer); +#line 2590 "Branch.c" + } +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return NULL; +#line 2594 "Branch.c" +} + + +static GParamSpec* sidebar_branch_param_spec_node (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + SidebarBranchParamSpecNode* spec; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (g_type_is_a (object_type, SIDEBAR_BRANCH_TYPE_NODE), NULL); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return G_PARAM_SPEC (spec); +#line 2608 "Branch.c" +} + + +static gpointer sidebar_branch_value_get_node (const GValue* value) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SIDEBAR_BRANCH_TYPE_NODE), NULL); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return value->data[0].v_pointer; +#line 2617 "Branch.c" +} + + +static void sidebar_branch_value_set_node (GValue* value, gpointer v_object) { + SidebarBranchNode* old; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SIDEBAR_BRANCH_TYPE_NODE)); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + old = value->data[0].v_pointer; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (v_object) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SIDEBAR_BRANCH_TYPE_NODE)); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + value->data[0].v_pointer = v_object; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_ref (value->data[0].v_pointer); +#line 2637 "Branch.c" + } else { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + value->data[0].v_pointer = NULL; +#line 2641 "Branch.c" + } +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (old) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_unref (old); +#line 2647 "Branch.c" + } +} + + +static void sidebar_branch_value_take_node (GValue* value, gpointer v_object) { + SidebarBranchNode* old; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SIDEBAR_BRANCH_TYPE_NODE)); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + old = value->data[0].v_pointer; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (v_object) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SIDEBAR_BRANCH_TYPE_NODE)); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + value->data[0].v_pointer = v_object; +#line 2666 "Branch.c" + } else { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + value->data[0].v_pointer = NULL; +#line 2670 "Branch.c" + } +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (old) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_unref (old); +#line 2676 "Branch.c" + } +} + + +static void sidebar_branch_node_class_init (SidebarBranchNodeClass * klass) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_node_parent_class = g_type_class_peek_parent (klass); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + ((SidebarBranchNodeClass *) klass)->finalize = sidebar_branch_node_finalize; +#line 2686 "Branch.c" +} + + +static void sidebar_branch_node_instance_init (SidebarBranchNode * self) { +#line 43 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->children = NULL; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->ref_count = 1; +#line 2695 "Branch.c" +} + + +static void sidebar_branch_node_finalize (SidebarBranchNode* obj) { + SidebarBranchNode * self; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SIDEBAR_BRANCH_TYPE_NODE, SidebarBranchNode); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_handlers_destroy (self); +#line 40 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->entry); +#line 43 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->children); +#line 2709 "Branch.c" +} + + +static GType sidebar_branch_node_get_type (void) { + static volatile gsize sidebar_branch_node_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_branch_node_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { sidebar_branch_value_node_init, sidebar_branch_value_node_free_value, sidebar_branch_value_node_copy_value, sidebar_branch_value_node_peek_pointer, "p", sidebar_branch_value_node_collect_value, "p", sidebar_branch_value_node_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SidebarBranchNodeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_branch_node_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarBranchNode), 0, (GInstanceInitFunc) sidebar_branch_node_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType sidebar_branch_node_type_id; + sidebar_branch_node_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SidebarBranchNode", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&sidebar_branch_node_type_id__volatile, sidebar_branch_node_type_id); + } + return sidebar_branch_node_type_id__volatile; +} + + +static gpointer sidebar_branch_node_ref (gpointer instance) { + SidebarBranchNode* self; + self = instance; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_atomic_int_inc (&self->ref_count); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + return instance; +#line 2734 "Branch.c" +} + + +static void sidebar_branch_node_unref (gpointer instance) { + SidebarBranchNode* self; + self = instance; +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + SIDEBAR_BRANCH_NODE_GET_CLASS (self)->finalize (self); +#line 35 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2747 "Branch.c" + } +} + + +static void sidebar_branch_class_init (SidebarBranchClass * klass) { +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + sidebar_branch_parent_class = g_type_class_peek_parent (klass); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_type_class_add_private (klass, sizeof (SidebarBranchPrivate)); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = sidebar_branch_finalize; +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_new ("entry_added", SIDEBAR_TYPE_BRANCH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, SIDEBAR_TYPE_ENTRY); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_new ("entry_removed", SIDEBAR_TYPE_BRANCH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, SIDEBAR_TYPE_ENTRY); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_new ("entry_moved", SIDEBAR_TYPE_BRANCH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, SIDEBAR_TYPE_ENTRY); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_new ("entry_reparented", SIDEBAR_TYPE_BRANCH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, SIDEBAR_TYPE_ENTRY, SIDEBAR_TYPE_ENTRY); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_new ("children_reordered", SIDEBAR_TYPE_BRANCH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, SIDEBAR_TYPE_ENTRY); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + g_signal_new ("show_branch", SIDEBAR_TYPE_BRANCH, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 2771 "Branch.c" +} + + +static void sidebar_branch_instance_init (SidebarBranch * self) { + GeeHashMap* _tmp0_ = NULL; +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->priv = SIDEBAR_BRANCH_GET_PRIVATE (self); +#line 190 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->priv->shown = TRUE; +#line 192 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _tmp0_ = gee_hash_map_new (SIDEBAR_TYPE_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, SIDEBAR_BRANCH_TYPE_NODE, (GBoxedCopyFunc) sidebar_branch_node_ref, sidebar_branch_node_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 192 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self->priv->map = _tmp0_; +#line 2785 "Branch.c" +} + + +static void sidebar_branch_finalize (GObject* obj) { + SidebarBranch * self; +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SIDEBAR_TYPE_BRANCH, SidebarBranch); +#line 188 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _sidebar_branch_node_unref0 (self->priv->root); +#line 192 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + _g_object_unref0 (self->priv->map); +#line 9 "/home/jens/Source/shotwell/src/sidebar/Branch.vala" + G_OBJECT_CLASS (sidebar_branch_parent_class)->finalize (obj); +#line 2799 "Branch.c" +} + + +GType sidebar_branch_get_type (void) { + static volatile gsize sidebar_branch_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_branch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarBranch), 0, (GInstanceInitFunc) sidebar_branch_instance_init, NULL }; + GType sidebar_branch_type_id; + sidebar_branch_type_id = g_type_register_static (G_TYPE_OBJECT, "SidebarBranch", &g_define_type_info, 0); + g_once_init_leave (&sidebar_branch_type_id__volatile, sidebar_branch_type_id); + } + return sidebar_branch_type_id__volatile; +} + + + diff --git a/src/sidebar/Entry.c b/src/sidebar/Entry.c new file mode 100644 index 0000000..caa621c --- /dev/null +++ b/src/sidebar/Entry.c @@ -0,0 +1,639 @@ +/* Entry.c generated by valac 0.32.1, the Vala compiler + * generated from Entry.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ()) +#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)) +#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY)) +#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface)) + +typedef struct _SidebarRenameableEntry SidebarRenameableEntry; +typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface; + +#define SIDEBAR_TYPE_EMPHASIZABLE_ENTRY (sidebar_emphasizable_entry_get_type ()) +#define SIDEBAR_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntry)) +#define SIDEBAR_IS_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY)) +#define SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntryIface)) + +typedef struct _SidebarEmphasizableEntry SidebarEmphasizableEntry; +typedef struct _SidebarEmphasizableEntryIface SidebarEmphasizableEntryIface; + +#define SIDEBAR_TYPE_DESTROYABLE_ENTRY (sidebar_destroyable_entry_get_type ()) +#define SIDEBAR_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntry)) +#define SIDEBAR_IS_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY)) +#define SIDEBAR_DESTROYABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntryIface)) + +typedef struct _SidebarDestroyableEntry SidebarDestroyableEntry; +typedef struct _SidebarDestroyableEntryIface SidebarDestroyableEntryIface; + +#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ()) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry)) +#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY)) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface)) + +typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry; +typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface; + +#define TYPE_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 SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY (sidebar_internal_drag_source_entry_get_type ()) +#define SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, SidebarInternalDragSourceEntry)) +#define SIDEBAR_IS_INTERNAL_DRAG_SOURCE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY)) +#define SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, SidebarInternalDragSourceEntryIface)) + +typedef struct _SidebarInternalDragSourceEntry SidebarInternalDragSourceEntry; +typedef struct _SidebarInternalDragSourceEntryIface SidebarInternalDragSourceEntryIface; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarRenameableEntryIface { + GTypeInterface parent_iface; + void (*rename) (SidebarRenameableEntry* self, const gchar* new_name); + gboolean (*is_user_renameable) (SidebarRenameableEntry* self); +}; + +struct _SidebarEmphasizableEntryIface { + GTypeInterface parent_iface; + gboolean (*is_emphasized) (SidebarEmphasizableEntry* self); +}; + +struct _SidebarDestroyableEntryIface { + GTypeInterface parent_iface; + void (*destroy_source) (SidebarDestroyableEntry* self); +}; + +struct _SidebarInternalDropTargetEntryIface { + GTypeInterface parent_iface; + gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources); + gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data); +}; + +struct _SidebarInternalDragSourceEntryIface { + GTypeInterface parent_iface; + void (*prepare_selection_data) (SidebarInternalDragSourceEntry* self, GtkSelectionData* data); +}; + + + +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +gchar* sidebar_entry_get_sidebar_name (SidebarEntry* self); +gchar* sidebar_entry_get_sidebar_tooltip (SidebarEntry* self); +gchar* sidebar_entry_get_sidebar_icon (SidebarEntry* self); +gchar* sidebar_entry_to_string (SidebarEntry* self); +void sidebar_entry_grafted (SidebarEntry* self, SidebarTree* tree); +static void sidebar_entry_real_grafted (SidebarEntry* self, SidebarTree* tree); +void sidebar_entry_pruned (SidebarEntry* self, SidebarTree* tree); +static void sidebar_entry_real_pruned (SidebarEntry* self, SidebarTree* tree); +GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST; +gboolean sidebar_expandable_entry_expand_on_select (SidebarExpandableEntry* self); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +gboolean sidebar_page_representative_has_page (SidebarPageRepresentative* self); +Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self); +GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST; +void sidebar_renameable_entry_rename (SidebarRenameableEntry* self, const gchar* new_name); +gboolean sidebar_renameable_entry_is_user_renameable (SidebarRenameableEntry* self); +GType sidebar_emphasizable_entry_get_type (void) G_GNUC_CONST; +gboolean sidebar_emphasizable_entry_is_emphasized (SidebarEmphasizableEntry* self); +GType sidebar_destroyable_entry_get_type (void) G_GNUC_CONST; +void sidebar_destroyable_entry_destroy_source (SidebarDestroyableEntry* self); +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +GType sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST; +gboolean sidebar_internal_drop_target_entry_internal_drop_received (SidebarInternalDropTargetEntry* self, GeeList* sources); +gboolean sidebar_internal_drop_target_entry_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* self, GtkSelectionData* data); +GType sidebar_internal_drag_source_entry_get_type (void) G_GNUC_CONST; +void sidebar_internal_drag_source_entry_prepare_selection_data (SidebarInternalDragSourceEntry* self, GtkSelectionData* data); + + +gchar* sidebar_entry_get_sidebar_name (SidebarEntry* self) { +#line 12 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (self), NULL); +#line 12 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_ENTRY_GET_INTERFACE (self)->get_sidebar_name (self); +#line 245 "Entry.c" +} + + +gchar* sidebar_entry_get_sidebar_tooltip (SidebarEntry* self) { +#line 14 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (self), NULL); +#line 14 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_ENTRY_GET_INTERFACE (self)->get_sidebar_tooltip (self); +#line 254 "Entry.c" +} + + +gchar* sidebar_entry_get_sidebar_icon (SidebarEntry* self) { +#line 16 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (self), NULL); +#line 16 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_ENTRY_GET_INTERFACE (self)->get_sidebar_icon (self); +#line 263 "Entry.c" +} + + +gchar* sidebar_entry_to_string (SidebarEntry* self) { +#line 18 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (self), NULL); +#line 18 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_ENTRY_GET_INTERFACE (self)->to_string (self); +#line 272 "Entry.c" +} + + +static void sidebar_entry_real_grafted (SidebarEntry* self, SidebarTree* tree) { +#line 20 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_if_fail (SIDEBAR_IS_TREE (tree)); +#line 279 "Entry.c" +} + + +void sidebar_entry_grafted (SidebarEntry* self, SidebarTree* tree) { +#line 20 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (self)); +#line 20 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + SIDEBAR_ENTRY_GET_INTERFACE (self)->grafted (self, tree); +#line 288 "Entry.c" +} + + +static void sidebar_entry_real_pruned (SidebarEntry* self, SidebarTree* tree) { +#line 23 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_if_fail (SIDEBAR_IS_TREE (tree)); +#line 295 "Entry.c" +} + + +void sidebar_entry_pruned (SidebarEntry* self, SidebarTree* tree) { +#line 23 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (self)); +#line 23 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + SIDEBAR_ENTRY_GET_INTERFACE (self)->pruned (self, tree); +#line 304 "Entry.c" +} + + +static void sidebar_entry_base_init (SidebarEntryIface * iface) { +#line 7 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 7 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_signal_new ("sidebar_tooltip_changed", SIDEBAR_TYPE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_signal_new ("sidebar_icon_changed", SIDEBAR_TYPE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + iface->grafted = sidebar_entry_real_grafted; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + iface->pruned = sidebar_entry_real_pruned; +#line 323 "Entry.c" + } +} + + +GType sidebar_entry_get_type (void) { + static volatile gsize sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarEntryIface), (GBaseInitFunc) sidebar_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_entry_type_id; + sidebar_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_entry_type_id, G_TYPE_OBJECT); + g_once_init_leave (&sidebar_entry_type_id__volatile, sidebar_entry_type_id); + } + return sidebar_entry_type_id__volatile; +} + + +gboolean sidebar_expandable_entry_expand_on_select (SidebarExpandableEntry* self) { +#line 28 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_EXPANDABLE_ENTRY (self), FALSE); +#line 28 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE (self)->expand_on_select (self); +#line 346 "Entry.c" +} + + +static void sidebar_expandable_entry_base_init (SidebarExpandableEntryIface * iface) { +#line 27 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 27 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 27 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 357 "Entry.c" + } +} + + +GType sidebar_expandable_entry_get_type (void) { + static volatile gsize sidebar_expandable_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_expandable_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarExpandableEntryIface), (GBaseInitFunc) sidebar_expandable_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_expandable_entry_type_id; + sidebar_expandable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarExpandableEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_expandable_entry_type_id, SIDEBAR_TYPE_ENTRY); + g_once_init_leave (&sidebar_expandable_entry_type_id__volatile, sidebar_expandable_entry_type_id); + } + return sidebar_expandable_entry_type_id__volatile; +} + + +static void sidebar_selectable_entry_base_init (SidebarSelectableEntryIface * iface) { +#line 31 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 31 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 31 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 382 "Entry.c" + } +} + + +GType sidebar_selectable_entry_get_type (void) { + static volatile gsize sidebar_selectable_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_selectable_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarSelectableEntryIface), (GBaseInitFunc) sidebar_selectable_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_selectable_entry_type_id; + sidebar_selectable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarSelectableEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_selectable_entry_type_id, SIDEBAR_TYPE_ENTRY); + g_once_init_leave (&sidebar_selectable_entry_type_id__volatile, sidebar_selectable_entry_type_id); + } + return sidebar_selectable_entry_type_id__volatile; +} + + +gboolean sidebar_page_representative_has_page (SidebarPageRepresentative* self) { +#line 41 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (self), FALSE); +#line 41 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE (self)->has_page (self); +#line 405 "Entry.c" +} + + +Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self) { +#line 43 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (self), NULL); +#line 43 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE (self)->get_page (self); +#line 414 "Entry.c" +} + + +static void sidebar_page_representative_base_init (SidebarPageRepresentativeIface * iface) { +#line 34 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 34 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 34 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 34 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_signal_new ("page_created", SIDEBAR_TYPE_PAGE_REPRESENTATIVE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_PAGE); +#line 34 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_signal_new ("destroying_page", SIDEBAR_TYPE_PAGE_REPRESENTATIVE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_PAGE); +#line 429 "Entry.c" + } +} + + +GType sidebar_page_representative_get_type (void) { + static volatile gsize sidebar_page_representative_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_page_representative_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarPageRepresentativeIface), (GBaseInitFunc) sidebar_page_representative_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_page_representative_type_id; + sidebar_page_representative_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarPageRepresentative", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_page_representative_type_id, SIDEBAR_TYPE_ENTRY); + g_type_interface_add_prerequisite (sidebar_page_representative_type_id, SIDEBAR_TYPE_SELECTABLE_ENTRY); + g_once_init_leave (&sidebar_page_representative_type_id__volatile, sidebar_page_representative_type_id); + } + return sidebar_page_representative_type_id__volatile; +} + + +void sidebar_renameable_entry_rename (SidebarRenameableEntry* self, const gchar* new_name) { +#line 49 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_if_fail (SIDEBAR_IS_RENAMEABLE_ENTRY (self)); +#line 49 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE (self)->rename (self, new_name); +#line 453 "Entry.c" +} + + +gboolean sidebar_renameable_entry_is_user_renameable (SidebarRenameableEntry* self) { +#line 52 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_RENAMEABLE_ENTRY (self), FALSE); +#line 52 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE (self)->is_user_renameable (self); +#line 462 "Entry.c" +} + + +static void sidebar_renameable_entry_base_init (SidebarRenameableEntryIface * iface) { +#line 46 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 46 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 46 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 46 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_signal_new ("sidebar_name_changed", SIDEBAR_TYPE_RENAMEABLE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +#line 475 "Entry.c" + } +} + + +GType sidebar_renameable_entry_get_type (void) { + static volatile gsize sidebar_renameable_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_renameable_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarRenameableEntryIface), (GBaseInitFunc) sidebar_renameable_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_renameable_entry_type_id; + sidebar_renameable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarRenameableEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_renameable_entry_type_id, SIDEBAR_TYPE_ENTRY); + g_once_init_leave (&sidebar_renameable_entry_type_id__volatile, sidebar_renameable_entry_type_id); + } + return sidebar_renameable_entry_type_id__volatile; +} + + +gboolean sidebar_emphasizable_entry_is_emphasized (SidebarEmphasizableEntry* self) { +#line 58 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_EMPHASIZABLE_ENTRY (self), FALSE); +#line 58 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE (self)->is_emphasized (self); +#line 498 "Entry.c" +} + + +static void sidebar_emphasizable_entry_base_init (SidebarEmphasizableEntryIface * iface) { +#line 55 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 55 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 55 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 55 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_signal_new ("is_emphasized_changed", SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); +#line 511 "Entry.c" + } +} + + +GType sidebar_emphasizable_entry_get_type (void) { + static volatile gsize sidebar_emphasizable_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_emphasizable_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarEmphasizableEntryIface), (GBaseInitFunc) sidebar_emphasizable_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_emphasizable_entry_type_id; + sidebar_emphasizable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarEmphasizableEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_emphasizable_entry_type_id, SIDEBAR_TYPE_ENTRY); + g_once_init_leave (&sidebar_emphasizable_entry_type_id__volatile, sidebar_emphasizable_entry_type_id); + } + return sidebar_emphasizable_entry_type_id__volatile; +} + + +void sidebar_destroyable_entry_destroy_source (SidebarDestroyableEntry* self) { +#line 62 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_if_fail (SIDEBAR_IS_DESTROYABLE_ENTRY (self)); +#line 62 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + SIDEBAR_DESTROYABLE_ENTRY_GET_INTERFACE (self)->destroy_source (self); +#line 534 "Entry.c" +} + + +static void sidebar_destroyable_entry_base_init (SidebarDestroyableEntryIface * iface) { +#line 61 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 61 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 61 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 545 "Entry.c" + } +} + + +GType sidebar_destroyable_entry_get_type (void) { + static volatile gsize sidebar_destroyable_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_destroyable_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarDestroyableEntryIface), (GBaseInitFunc) sidebar_destroyable_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_destroyable_entry_type_id; + sidebar_destroyable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarDestroyableEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_destroyable_entry_type_id, SIDEBAR_TYPE_ENTRY); + g_once_init_leave (&sidebar_destroyable_entry_type_id__volatile, sidebar_destroyable_entry_type_id); + } + return sidebar_destroyable_entry_type_id__volatile; +} + + +gboolean sidebar_internal_drop_target_entry_internal_drop_received (SidebarInternalDropTargetEntry* self, GeeList* sources) { +#line 67 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY (self), FALSE); +#line 67 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE (self)->internal_drop_received (self, sources); +#line 568 "Entry.c" +} + + +gboolean sidebar_internal_drop_target_entry_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* self, GtkSelectionData* data) { +#line 68 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_val_if_fail (SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY (self), FALSE); +#line 68 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + return SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE (self)->internal_drop_received_arbitrary (self, data); +#line 577 "Entry.c" +} + + +static void sidebar_internal_drop_target_entry_base_init (SidebarInternalDropTargetEntryIface * iface) { +#line 65 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 65 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 65 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 588 "Entry.c" + } +} + + +GType sidebar_internal_drop_target_entry_get_type (void) { + static volatile gsize sidebar_internal_drop_target_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_internal_drop_target_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarInternalDropTargetEntryIface), (GBaseInitFunc) sidebar_internal_drop_target_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_internal_drop_target_entry_type_id; + sidebar_internal_drop_target_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarInternalDropTargetEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_internal_drop_target_entry_type_id, SIDEBAR_TYPE_ENTRY); + g_once_init_leave (&sidebar_internal_drop_target_entry_type_id__volatile, sidebar_internal_drop_target_entry_type_id); + } + return sidebar_internal_drop_target_entry_type_id__volatile; +} + + +void sidebar_internal_drag_source_entry_prepare_selection_data (SidebarInternalDragSourceEntry* self, GtkSelectionData* data) { +#line 72 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + g_return_if_fail (SIDEBAR_IS_INTERNAL_DRAG_SOURCE_ENTRY (self)); +#line 72 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY_GET_INTERFACE (self)->prepare_selection_data (self, data); +#line 611 "Entry.c" +} + + +static void sidebar_internal_drag_source_entry_base_init (SidebarInternalDragSourceEntryIface * iface) { +#line 71 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + static gboolean initialized = FALSE; +#line 71 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + if (!initialized) { +#line 71 "/home/jens/Source/shotwell/src/sidebar/Entry.vala" + initialized = TRUE; +#line 622 "Entry.c" + } +} + + +GType sidebar_internal_drag_source_entry_get_type (void) { + static volatile gsize sidebar_internal_drag_source_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_internal_drag_source_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarInternalDragSourceEntryIface), (GBaseInitFunc) sidebar_internal_drag_source_entry_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_internal_drag_source_entry_type_id; + sidebar_internal_drag_source_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarInternalDragSourceEntry", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_internal_drag_source_entry_type_id, SIDEBAR_TYPE_ENTRY); + g_once_init_leave (&sidebar_internal_drag_source_entry_type_id__volatile, sidebar_internal_drag_source_entry_type_id); + } + return sidebar_internal_drag_source_entry_type_id__volatile; +} + + + diff --git a/src/sidebar/Sidebar.c b/src/sidebar/Sidebar.c new file mode 100644 index 0000000..888a70c --- /dev/null +++ b/src/sidebar/Sidebar.c @@ -0,0 +1,28 @@ +/* Sidebar.c generated by valac 0.32.1, the Vala compiler + * generated from Sidebar.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include + + + + +void sidebar_init (GError** error); +void sidebar_terminate (void); + + +void sidebar_init (GError** error) { +} + + +void sidebar_terminate (void) { +} + + + diff --git a/src/sidebar/Tree.c b/src/sidebar/Tree.c new file mode 100644 index 0000000..23f6505 --- /dev/null +++ b/src/sidebar/Tree.c @@ -0,0 +1,7856 @@ +/* Tree.c generated by valac 0.32.1, the Vala compiler + * generated from Tree.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; +typedef struct _SidebarTreePrivate SidebarTreePrivate; + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TREE_TYPE_ENTRY_WRAPPER (sidebar_tree_entry_wrapper_get_type ()) +#define SIDEBAR_TREE_ENTRY_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, SidebarTreeEntryWrapper)) +#define SIDEBAR_TREE_ENTRY_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, SidebarTreeEntryWrapperClass)) +#define SIDEBAR_TREE_IS_ENTRY_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TREE_TYPE_ENTRY_WRAPPER)) +#define SIDEBAR_TREE_IS_ENTRY_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TREE_TYPE_ENTRY_WRAPPER)) +#define SIDEBAR_TREE_ENTRY_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, SidebarTreeEntryWrapperClass)) + +typedef struct _SidebarTreeEntryWrapper SidebarTreeEntryWrapper; +typedef struct _SidebarTreeEntryWrapperClass SidebarTreeEntryWrapperClass; + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; + +#define SIDEBAR_TREE_TYPE_COLUMNS (sidebar_tree_columns_get_type ()) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _gtk_tree_row_reference_free0(var) ((var == NULL) ? NULL : (var = (gtk_tree_row_reference_free (var), NULL))) + +#define LIBRARY_WINDOW_TYPE_TARGET_TYPE (library_window_target_type_get_type ()) +typedef struct _SidebarTreeEntryWrapperPrivate SidebarTreeEntryWrapperPrivate; + +#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ()) +#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping)) +#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) +#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) + +typedef struct _SidebarGrouping SidebarGrouping; +typedef struct _SidebarGroupingClass SidebarGroupingClass; + +#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ()) +#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader)) +#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) +#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) + +typedef struct _SidebarHeader SidebarHeader; +typedef struct _SidebarHeaderClass SidebarHeaderClass; +#define _gtk_tree_path_free0(var) ((var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define __g_list_free__gtk_tree_path_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__gtk_tree_path_free0_ (var), NULL))) + +#define SIDEBAR_TYPE_EMPHASIZABLE_ENTRY (sidebar_emphasizable_entry_get_type ()) +#define SIDEBAR_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntry)) +#define SIDEBAR_IS_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY)) +#define SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntryIface)) + +typedef struct _SidebarEmphasizableEntry SidebarEmphasizableEntry; +typedef struct _SidebarEmphasizableEntryIface SidebarEmphasizableEntryIface; + +#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ()) +#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)) +#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY)) +#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface)) + +typedef struct _SidebarRenameableEntry SidebarRenameableEntry; +typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface; + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TREE_TYPE_ROOT_WRAPPER (sidebar_tree_root_wrapper_get_type ()) +#define SIDEBAR_TREE_ROOT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TREE_TYPE_ROOT_WRAPPER, SidebarTreeRootWrapper)) +#define SIDEBAR_TREE_ROOT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TREE_TYPE_ROOT_WRAPPER, SidebarTreeRootWrapperClass)) +#define SIDEBAR_TREE_IS_ROOT_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TREE_TYPE_ROOT_WRAPPER)) +#define SIDEBAR_TREE_IS_ROOT_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TREE_TYPE_ROOT_WRAPPER)) +#define SIDEBAR_TREE_ROOT_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TREE_TYPE_ROOT_WRAPPER, SidebarTreeRootWrapperClass)) + +typedef struct _SidebarTreeRootWrapper SidebarTreeRootWrapper; +typedef struct _SidebarTreeRootWrapperClass SidebarTreeRootWrapperClass; +typedef struct _SidebarTreeRootWrapperPrivate SidebarTreeRootWrapperPrivate; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; + +#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; + +#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ()) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry)) +#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY)) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface)) + +typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry; +typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface; + +#define TYPE_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 SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY (sidebar_internal_drag_source_entry_get_type ()) +#define SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, SidebarInternalDragSourceEntry)) +#define SIDEBAR_IS_INTERNAL_DRAG_SOURCE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY)) +#define SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, SidebarInternalDragSourceEntryIface)) + +typedef struct _SidebarInternalDragSourceEntry SidebarInternalDragSourceEntry; +typedef struct _SidebarInternalDragSourceEntryIface SidebarInternalDragSourceEntryIface; + +#define SIDEBAR_TYPE_DESTROYABLE_ENTRY (sidebar_destroyable_entry_get_type ()) +#define SIDEBAR_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntry)) +#define SIDEBAR_IS_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY)) +#define SIDEBAR_DESTROYABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntryIface)) + +typedef struct _SidebarDestroyableEntry SidebarDestroyableEntry; +typedef struct _SidebarDestroyableEntryIface SidebarDestroyableEntryIface; + +#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ()) +#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog)) +#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) +#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG)) +#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG)) +#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass)) + +typedef struct _SavedSearchDialog SavedSearchDialog; +typedef struct _SavedSearchDialogClass SavedSearchDialogClass; +#define _saved_search_dialog_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_unref (var), NULL))) + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_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; + +#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_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_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_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 _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 _SidebarTree { + GtkTreeView parent_instance; + SidebarTreePrivate * priv; +}; + +struct _SidebarTreeClass { + GtkTreeViewClass parent_class; + gboolean (*accept_cursor_changed) (SidebarTree* self); +}; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +typedef void (*SidebarTreeExternalDropHandler) (GdkDragContext* context, SidebarEntry* entry, GtkSelectionData* data, guint info, guint time, void* user_data); +struct _SidebarTreePrivate { + GtkTreeStore* store; + GtkUIManager* ui; + GtkCellRendererText* text_renderer; + SidebarTreeExternalDropHandler drop_handler; + gpointer drop_handler_target; + GtkEntry* text_entry; + GeeHashMap* entry_map; + GeeHashMap* branches; + gint editing_disabled; + gboolean mask_entry_selected_signal; + SidebarTreeEntryWrapper* selected_wrapper; + GtkMenu* default_context_menu; + gboolean expander_called_manually; + gint expander_special_count; + gboolean is_internal_drag_in_progress; + SidebarEntry* internal_drag_source_entry; + GtkTreeRowReference* old_path_ref; +}; + +typedef enum { + SIDEBAR_TREE_COLUMNS_NAME, + SIDEBAR_TREE_COLUMNS_TOOLTIP, + SIDEBAR_TREE_COLUMNS_WRAPPER, + SIDEBAR_TREE_COLUMNS_ICON, + SIDEBAR_TREE_COLUMNS_N_COLUMNS +} SidebarTreeColumns; + +typedef enum { + LIBRARY_WINDOW_TARGET_TYPE_URI_LIST, + LIBRARY_WINDOW_TARGET_TYPE_MEDIA_LIST, + LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH +} LibraryWindowTargetType; + +struct _SidebarTreeEntryWrapper { + GObject parent_instance; + SidebarTreeEntryWrapperPrivate * priv; + SidebarEntry* entry; + GtkTreeRowReference* row; +}; + +struct _SidebarTreeEntryWrapperClass { + GObjectClass parent_class; +}; + +struct _SidebarEmphasizableEntryIface { + GTypeInterface parent_iface; + gboolean (*is_emphasized) (SidebarEmphasizableEntry* self); +}; + +struct _SidebarRenameableEntryIface { + GTypeInterface parent_iface; + void (*rename) (SidebarRenameableEntry* self, const gchar* new_name); + gboolean (*is_user_renameable) (SidebarRenameableEntry* self); +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarTreeRootWrapper { + SidebarTreeEntryWrapper parent_instance; + SidebarTreeRootWrapperPrivate * priv; + gint root_position; +}; + +struct _SidebarTreeRootWrapperClass { + SidebarTreeEntryWrapperClass parent_class; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _SidebarInternalDropTargetEntryIface { + GTypeInterface parent_iface; + gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources); + gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data); +}; + +struct _SidebarInternalDragSourceEntryIface { + GTypeInterface parent_iface; + void (*prepare_selection_data) (SidebarInternalDragSourceEntry* self, GtkSelectionData* data); +}; + +struct _SidebarDestroyableEntryIface { + GTypeInterface parent_iface; + void (*destroy_source) (SidebarDestroyableEntry* self); +}; + + +static gpointer sidebar_tree_parent_class = NULL; +static gpointer sidebar_tree_entry_wrapper_parent_class = NULL; +static gpointer sidebar_tree_root_wrapper_parent_class = NULL; + +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +static GType sidebar_tree_entry_wrapper_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +GType sidebar_branch_get_type (void) G_GNUC_CONST; +#define SIDEBAR_TREE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SIDEBAR_TYPE_TREE, SidebarTreePrivate)) +enum { + SIDEBAR_TREE_DUMMY_PROPERTY +}; +static void sidebar_tree_on_editing_canceled (SidebarTree* self); +static void _sidebar_tree_on_editing_canceled_gtk_cell_renderer_editing_canceled (GtkCellRenderer* _sender, gpointer self); +static void sidebar_tree_on_editing_started (SidebarTree* self, GtkCellEditable* editable, const gchar* path); +static void _sidebar_tree_on_editing_started_gtk_cell_renderer_editing_started (GtkCellRenderer* _sender, GtkCellEditable* editable, const gchar* path, gpointer self); +static GType sidebar_tree_columns_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +#define SIDEBAR_TREE_ICON_SIZE 16 +SidebarTree* sidebar_tree_new (GtkTargetEntry* target_entries, int target_entries_length1, GdkDragAction actions, SidebarTreeExternalDropHandler drop_handler, void* drop_handler_target); +SidebarTree* sidebar_tree_construct (GType object_type, GtkTargetEntry* target_entries, int target_entries_length1, GdkDragAction actions, SidebarTreeExternalDropHandler drop_handler, void* drop_handler_target); +void sidebar_tree_icon_renderer_function (SidebarTree* self, GtkCellLayout* layout, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter); +static void _sidebar_tree_icon_renderer_function_gtk_cell_layout_data_func (GtkCellLayout* cell_layout, GtkCellRenderer* cell, GtkTreeModel* tree_model, GtkTreeIter* iter, gpointer self); +static gboolean sidebar_tree_on_selection (SidebarTree* self, GtkTreeSelection* selection, GtkTreeModel* model, GtkTreePath* path, gboolean path_currently_selected); +static gboolean _sidebar_tree_on_selection_gtk_tree_selection_func (GtkTreeSelection* selection, GtkTreeModel* model, GtkTreePath* path, gboolean path_currently_selected, gpointer self); +gboolean sidebar_tree_on_toggle_row (SidebarTree* self, GtkTreeIter* iter, GtkTreePath* path); +static gboolean _sidebar_tree_on_toggle_row_gtk_tree_view_test_expand_row (GtkTreeView* _sender, GtkTreeIter* iter, GtkTreePath* path, gpointer self); +static gboolean _sidebar_tree_on_toggle_row_gtk_tree_view_test_collapse_row (GtkTreeView* _sender, GtkTreeIter* iter, GtkTreePath* path, gpointer self); +GType library_window_target_type_get_type (void) G_GNUC_CONST; +static void _vala_array_add123 (GtkTargetEntry** array, int* length, int* size, const GtkTargetEntry* value); +static gboolean sidebar_tree_on_context_menu_keypress (SidebarTree* self); +static gboolean _sidebar_tree_on_context_menu_keypress_gtk_widget_popup_menu (GtkWidget* _sender, gpointer self); +static void sidebar_tree_setup_default_context_menu (SidebarTree* self); +static void sidebar_tree_on_drag_begin (SidebarTree* self, GdkDragContext* ctx); +static void _sidebar_tree_on_drag_begin_gtk_widget_drag_begin (GtkWidget* _sender, GdkDragContext* context, gpointer self); +static void sidebar_tree_on_drag_end (SidebarTree* self, GdkDragContext* ctx); +static void _sidebar_tree_on_drag_end_gtk_widget_drag_end (GtkWidget* _sender, GdkDragContext* context, gpointer self); +static gboolean sidebar_tree_on_drag_motion (SidebarTree* self, GdkDragContext* context, gint x, gint y, guint time_); +static gboolean _sidebar_tree_on_drag_motion_gtk_widget_drag_motion (GtkWidget* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self); +static SidebarTreeEntryWrapper* sidebar_tree_get_wrapper_at_iter (SidebarTree* self, GtkTreeIter* iter); +GType sidebar_grouping_get_type (void) G_GNUC_CONST; +GType sidebar_header_get_type (void) G_GNUC_CONST; +static SidebarTreeEntryWrapper* sidebar_tree_get_wrapper_at_path (SidebarTree* self, GtkTreePath* path); +#define TRANSLATABLE "translatable" +static void sidebar_tree_on_new_search (SidebarTree* self); +static void _sidebar_tree_on_new_search_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add124 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void sidebar_tree_on_new_tag (SidebarTree* self); +static void _sidebar_tree_on_new_tag_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add125 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +GFile* resources_get_ui (const gchar* filename); +void app_window_error_message (const gchar* message, GtkWindow* parent); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +void application_panic (Application* self); +static gboolean sidebar_tree_has_wrapper (SidebarTree* self, SidebarEntry* entry); +static SidebarTreeEntryWrapper* sidebar_tree_get_wrapper (SidebarTree* self, SidebarEntry* entry); +gchar* sidebar_entry_to_string (SidebarEntry* self); +gboolean sidebar_tree_place_cursor (SidebarTree* self, SidebarEntry* entry, gboolean mask_signal); +gboolean sidebar_tree_expand_to_entry (SidebarTree* self, SidebarEntry* entry); +static GtkTreePath* sidebar_tree_entry_wrapper_get_path (SidebarTreeEntryWrapper* self); +gboolean sidebar_tree_scroll_to_entry (SidebarTree* self, SidebarEntry* entry); +gboolean sidebar_tree_is_selected (SidebarTree* self, SidebarEntry* entry); +gboolean sidebar_tree_is_any_selected (SidebarTree* self); +static GtkTreePath* sidebar_tree_get_selected_path (SidebarTree* self); +static void _gtk_tree_path_free0_ (gpointer var); +static void _g_list_free__gtk_tree_path_free0_ (GList* self); +static gchar* sidebar_tree_get_name_for_entry (SidebarTree* self, SidebarEntry* entry); +gchar* guarded_markup_escape_text (const gchar* plain); +gchar* sidebar_entry_get_sidebar_name (SidebarEntry* self); +GType sidebar_emphasizable_entry_get_type (void) G_GNUC_CONST; +gboolean sidebar_emphasizable_entry_is_emphasized (SidebarEmphasizableEntry* self); +gboolean sidebar_tree_accept_cursor_changed (SidebarTree* self); +static gboolean sidebar_tree_real_accept_cursor_changed (SidebarTree* self); +static void sidebar_tree_real_cursor_changed (GtkTreeView* base); +GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST; +gboolean sidebar_renameable_entry_is_user_renameable (SidebarRenameableEntry* self); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +void sidebar_tree_disable_editing (SidebarTree* self); +void sidebar_tree_enable_editing (SidebarTree* self); +void sidebar_tree_toggle_branch_expansion (SidebarTree* self, GtkTreePath* path, gboolean expand_all); +void sidebar_tree_expand_to_first_child (SidebarTree* self, SidebarEntry* entry); +void sidebar_tree_graft (SidebarTree* self, SidebarBranch* branch, gint position); +gboolean sidebar_branch_get_show_branch (SidebarBranch* self); +static void sidebar_tree_associate_branch (SidebarTree* self, SidebarBranch* branch); +gboolean sidebar_branch_is_startup_expand_to_first_child (SidebarBranch* self); +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self); +gboolean sidebar_branch_is_startup_open_grouping (SidebarBranch* self); +static void sidebar_tree_on_branch_entry_added (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry); +static void _sidebar_tree_on_branch_entry_added_sidebar_branch_entry_added (SidebarBranch* _sender, SidebarEntry* entry, gpointer self); +static void sidebar_tree_on_branch_entry_removed (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry); +static void _sidebar_tree_on_branch_entry_removed_sidebar_branch_entry_removed (SidebarBranch* _sender, SidebarEntry* entry, gpointer self); +static void sidebar_tree_on_branch_entry_moved (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry); +static void _sidebar_tree_on_branch_entry_moved_sidebar_branch_entry_moved (SidebarBranch* _sender, SidebarEntry* entry, gpointer self); +static void sidebar_tree_on_branch_entry_reparented (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry, SidebarEntry* old_parent); +static void _sidebar_tree_on_branch_entry_reparented_sidebar_branch_entry_reparented (SidebarBranch* _sender, SidebarEntry* entry, SidebarEntry* old_parent, gpointer self); +static void sidebar_tree_on_branch_children_reordered (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry); +static void _sidebar_tree_on_branch_children_reordered_sidebar_branch_children_reordered (SidebarBranch* _sender, SidebarEntry* entry, gpointer self); +static void sidebar_tree_on_show_branch (SidebarTree* self, SidebarBranch* branch, gboolean shown); +static void _sidebar_tree_on_show_branch_sidebar_branch_show_branch (SidebarBranch* _sender, gboolean show, gpointer self); +static GType sidebar_tree_root_wrapper_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +static GtkTreeIter* _gtk_tree_iter_dup (GtkTreeIter* self); +static void sidebar_tree_associate_wrapper (SidebarTree* self, GtkTreeIter* assoc_iter, SidebarTreeEntryWrapper* wrapper); +static SidebarTreeRootWrapper* sidebar_tree_root_wrapper_new (GtkTreeModel* model, SidebarEntry* entry, GtkTreePath* path, gint root_position); +static SidebarTreeRootWrapper* sidebar_tree_root_wrapper_construct (GType object_type, GtkTreeModel* model, SidebarEntry* entry, GtkTreePath* path, gint root_position); +static void sidebar_tree_associate_children (SidebarTree* self, SidebarBranch* branch, SidebarEntry* parent, GtkTreeIter* parent_iter); +GeeList* sidebar_branch_get_children (SidebarBranch* self, SidebarEntry* parent); +static void sidebar_tree_associate_entry (SidebarTree* self, GtkTreeIter* assoc_iter, SidebarEntry* entry); +static SidebarTreeEntryWrapper* sidebar_tree_entry_wrapper_new (GtkTreeModel* model, SidebarEntry* entry, GtkTreePath* path); +static SidebarTreeEntryWrapper* sidebar_tree_entry_wrapper_construct (GType object_type, GtkTreeModel* model, SidebarEntry* entry, GtkTreePath* path); +gchar* sidebar_entry_get_sidebar_tooltip (SidebarEntry* self); +static void sidebar_tree_load_entry_icons (SidebarTree* self, GtkTreeIter* iter); +static void sidebar_tree_on_sidebar_tooltip_changed (SidebarTree* self, SidebarEntry* entry, const gchar* tooltip); +static void _sidebar_tree_on_sidebar_tooltip_changed_sidebar_entry_sidebar_tooltip_changed (SidebarEntry* _sender, const gchar* tooltip, gpointer self); +static void sidebar_tree_on_sidebar_icon_changed (SidebarTree* self, SidebarEntry* entry, const gchar* icon); +static void _sidebar_tree_on_sidebar_icon_changed_sidebar_entry_sidebar_icon_changed (SidebarEntry* _sender, const gchar* icon, gpointer self); +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +static void sidebar_tree_on_sidebar_page_created (SidebarTree* self, SidebarPageRepresentative* entry, Page* page); +static void _sidebar_tree_on_sidebar_page_created_sidebar_page_representative_page_created (SidebarPageRepresentative* _sender, Page* page, gpointer self); +static void sidebar_tree_on_sidebar_destroying_page (SidebarTree* self, SidebarPageRepresentative* entry, Page* page); +static void _sidebar_tree_on_sidebar_destroying_page_sidebar_page_representative_destroying_page (SidebarPageRepresentative* _sender, Page* page, gpointer self); +static void sidebar_tree_on_is_emphasized_changed (SidebarTree* self, SidebarEmphasizableEntry* entry, gboolean is_emphasized); +static void _sidebar_tree_on_is_emphasized_changed_sidebar_emphasizable_entry_is_emphasized_changed (SidebarEmphasizableEntry* _sender, gboolean emphasized, gpointer self); +static void sidebar_tree_on_sidebar_name_changed (SidebarTree* self, SidebarEntry* entry, const gchar* name); +static void _sidebar_tree_on_sidebar_name_changed_sidebar_renameable_entry_sidebar_name_changed (SidebarRenameableEntry* _sender, const gchar* name, gpointer self); +void sidebar_entry_grafted (SidebarEntry* self, SidebarTree* tree); +static SidebarTreeEntryWrapper* sidebar_tree_reparent_wrapper (SidebarTree* self, GtkTreeIter* new_iter, SidebarTreeEntryWrapper* current_wrapper); +void sidebar_tree_prune (SidebarTree* self, SidebarBranch* branch); +static void sidebar_tree_disassociate_branch (SidebarTree* self, SidebarBranch* branch); +static void sidebar_tree_disassociate_wrapper_and_signal (SidebarTree* self, SidebarTreeEntryWrapper* wrapper, gboolean only_children); +static void sidebar_tree_disassociate_wrapper (SidebarTree* self, SidebarTreeEntryWrapper* wrapper, gboolean only_children); +static void sidebar_tree_entry_wrapper_get_iter (SidebarTreeEntryWrapper* self, GtkTreeIter* result); +void sidebar_entry_pruned (SidebarEntry* self, SidebarTree* tree); +SidebarEntry* sidebar_branch_get_parent (SidebarBranch* self, SidebarEntry* entry); +SidebarEntry* sidebar_branch_get_next_sibling (SidebarBranch* self, SidebarEntry* entry); +gboolean sidebar_branch_is_auto_open_on_new_child (SidebarBranch* self); +SidebarEntry* sidebar_branch_get_previous_sibling (SidebarBranch* self, SidebarEntry* entry); +static GtkTreePath* sidebar_tree_get_current_path (SidebarTree* self); +static void sidebar_tree_rename_entry (SidebarTree* self, SidebarEntry* entry); +gchar* sidebar_entry_get_sidebar_icon (SidebarEntry* self); +static void sidebar_tree_load_branch_icons (SidebarTree* self, GtkTreeIter* iter); +static GtkTreePath* sidebar_tree_get_path_from_event (SidebarTree* self, GdkEventButton* event); +static gboolean sidebar_tree_popup_context_menu (SidebarTree* self, GtkTreePath* path, GdkEventButton* event); +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +GtkMenu* sidebar_contextable_get_sidebar_context_menu (SidebarContextable* self, GdkEventButton* event); +static gboolean sidebar_tree_popup_default_context_menu (SidebarTree* self, GdkEventButton* event); +static gboolean sidebar_tree_real_button_press_event (GtkWidget* base, GdkEventButton* event); +GType sidebar_expandable_entry_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 sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST; +gboolean sidebar_tree_is_keypress_interpreted (SidebarTree* self, GdkEventKey* event); +static gboolean sidebar_tree_real_key_press_event (GtkWidget* base, GdkEventKey* event); +static gboolean sidebar_tree_rename_in_place (SidebarTree* self); +static gboolean sidebar_tree_destroy_path (SidebarTree* self, GtkTreePath* path); +gboolean sidebar_tree_rename_entry_in_place (SidebarTree* self, SidebarEntry* entry); +static gboolean sidebar_tree_can_rename_path (SidebarTree* self, GtkTreePath* path); +static void sidebar_tree_real_drag_data_get (GtkWidget* base, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time); +GType sidebar_internal_drag_source_entry_get_type (void) G_GNUC_CONST; +void sidebar_internal_drag_source_entry_prepare_selection_data (SidebarInternalDragSourceEntry* self, GtkSelectionData* data); +static void sidebar_tree_real_drag_data_received (GtkWidget* base, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time); +#define LIBRARY_WINDOW_TAG_PATH_MIME_TYPE "shotwell/tag-path" +gboolean sidebar_internal_drop_target_entry_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* self, GtkSelectionData* data); +GeeList* unserialize_media_sources (guchar* serialized, gint size); +gboolean sidebar_internal_drop_target_entry_internal_drop_received (SidebarInternalDropTargetEntry* self, GeeList* sources); +static gboolean sidebar_tree_real_drag_motion (GtkWidget* base, GdkDragContext* context, gint x, gint y, guint time); +GType sidebar_destroyable_entry_get_type (void) G_GNUC_CONST; +void sidebar_destroyable_entry_destroy_source (SidebarDestroyableEntry* self); +static void sidebar_tree_on_editing_done (SidebarTree* self); +static void _sidebar_tree_on_editing_done_gtk_cell_editable_editing_done (GtkCellEditable* _sender, gpointer self); +static gboolean sidebar_tree_on_editing_focus_out (SidebarTree* self, GdkEventFocus* event); +static gboolean _sidebar_tree_on_editing_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self); +void sidebar_renameable_entry_rename (SidebarRenameableEntry* self, const gchar* new_name); +SavedSearchDialog* saved_search_dialog_new (void); +SavedSearchDialog* saved_search_dialog_construct (GType object_type); +gpointer saved_search_dialog_ref (gpointer instance); +void saved_search_dialog_unref (gpointer instance); +GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_saved_search_dialog (GValue* value, gpointer v_object); +void value_take_saved_search_dialog (GValue* value, gpointer v_object); +gpointer value_get_saved_search_dialog (const GValue* value); +GType saved_search_dialog_get_type (void) G_GNUC_CONST; +void saved_search_dialog_show (SavedSearchDialog* self); +GType command_get_type (void) G_GNUC_CONST; +GType page_command_get_type (void) G_GNUC_CONST; +GType new_root_tag_command_get_type (void) G_GNUC_CONST; +NewRootTagCommand* new_root_tag_command_new (void); +NewRootTagCommand* new_root_tag_command_construct (GType object_type); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +void command_manager_execute (CommandManager* self, Command* command); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +GType tag_get_type (void) G_GNUC_CONST; +void library_window_rename_tag_in_sidebar (LibraryWindow* self, Tag* tag); +Tag* new_root_tag_command_get_created_tag (NewRootTagCommand* self); +static void g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); +enum { + SIDEBAR_TREE_ENTRY_WRAPPER_DUMMY_PROPERTY +}; +static void sidebar_tree_entry_wrapper_finalize (GObject* obj); +enum { + SIDEBAR_TREE_ROOT_WRAPPER_DUMMY_PROPERTY +}; +static void sidebar_tree_root_wrapper_finalize (GObject* obj); +static void sidebar_tree_finalize (GObject* obj); + + +static void _sidebar_tree_on_editing_canceled_gtk_cell_renderer_editing_canceled (GtkCellRenderer* _sender, gpointer self) { +#line 157 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_editing_canceled ((SidebarTree*) self); +#line 687 "Tree.c" +} + + +static void _sidebar_tree_on_editing_started_gtk_cell_renderer_editing_started (GtkCellRenderer* _sender, GtkCellEditable* editable, const gchar* path, gpointer self) { +#line 158 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_editing_started ((SidebarTree*) self, editable, path); +#line 694 "Tree.c" +} + + +static GType sidebar_tree_columns_get_type (void) { + static volatile gsize sidebar_tree_columns_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_tree_columns_type_id__volatile)) { + static const GEnumValue values[] = {{SIDEBAR_TREE_COLUMNS_NAME, "SIDEBAR_TREE_COLUMNS_NAME", "name"}, {SIDEBAR_TREE_COLUMNS_TOOLTIP, "SIDEBAR_TREE_COLUMNS_TOOLTIP", "tooltip"}, {SIDEBAR_TREE_COLUMNS_WRAPPER, "SIDEBAR_TREE_COLUMNS_WRAPPER", "wrapper"}, {SIDEBAR_TREE_COLUMNS_ICON, "SIDEBAR_TREE_COLUMNS_ICON", "icon"}, {SIDEBAR_TREE_COLUMNS_N_COLUMNS, "SIDEBAR_TREE_COLUMNS_N_COLUMNS", "n-columns"}, {0, NULL, NULL}}; + GType sidebar_tree_columns_type_id; + sidebar_tree_columns_type_id = g_enum_register_static ("SidebarTreeColumns", values); + g_once_init_leave (&sidebar_tree_columns_type_id__volatile, sidebar_tree_columns_type_id); + } + return sidebar_tree_columns_type_id__volatile; +} + + +static void _sidebar_tree_icon_renderer_function_gtk_cell_layout_data_func (GtkCellLayout* cell_layout, GtkCellRenderer* cell, GtkTreeModel* tree_model, GtkTreeIter* iter, gpointer self) { +#line 104 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_icon_renderer_function ((SidebarTree*) self, cell_layout, cell, tree_model, iter); +#line 713 "Tree.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 128 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return self ? g_object_ref (self) : NULL; +#line 720 "Tree.c" +} + + +static gboolean _sidebar_tree_on_selection_gtk_tree_selection_func (GtkTreeSelection* selection, GtkTreeModel* model, GtkTreePath* path, gboolean path_currently_selected, gpointer self) { + gboolean result; + result = sidebar_tree_on_selection ((SidebarTree*) self, selection, model, path, path_currently_selected); +#line 130 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 729 "Tree.c" +} + + +static gboolean _sidebar_tree_on_toggle_row_gtk_tree_view_test_expand_row (GtkTreeView* _sender, GtkTreeIter* iter, GtkTreePath* path, gpointer self) { + gboolean result; + result = sidebar_tree_on_toggle_row ((SidebarTree*) self, iter, path); +#line 132 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 738 "Tree.c" +} + + +static gboolean _sidebar_tree_on_toggle_row_gtk_tree_view_test_collapse_row (GtkTreeView* _sender, GtkTreeIter* iter, GtkTreePath* path, gpointer self) { + gboolean result; + result = sidebar_tree_on_toggle_row ((SidebarTree*) self, iter, path); +#line 133 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 747 "Tree.c" +} + + +static void _vala_array_add123 (GtkTargetEntry** array, int* length, int* size, const GtkTargetEntry* value) { +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if ((*length) == (*size)) { +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + *array = g_renew (GtkTargetEntry, *array, *size); +#line 758 "Tree.c" + } +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + (*array)[(*length)++] = *value; +#line 762 "Tree.c" +} + + +static gboolean _sidebar_tree_on_context_menu_keypress_gtk_widget_popup_menu (GtkWidget* _sender, gpointer self) { + gboolean result; + result = sidebar_tree_on_context_menu_keypress ((SidebarTree*) self); +#line 147 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 771 "Tree.c" +} + + +static void _sidebar_tree_on_drag_begin_gtk_widget_drag_begin (GtkWidget* _sender, GdkDragContext* context, gpointer self) { +#line 151 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_drag_begin ((SidebarTree*) self, context); +#line 778 "Tree.c" +} + + +static void _sidebar_tree_on_drag_end_gtk_widget_drag_end (GtkWidget* _sender, GdkDragContext* context, gpointer self) { +#line 152 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_drag_end ((SidebarTree*) self, context); +#line 785 "Tree.c" +} + + +static gboolean _sidebar_tree_on_drag_motion_gtk_widget_drag_motion (GtkWidget* _sender, GdkDragContext* context, gint x, gint y, guint time_, gpointer self) { + gboolean result; + result = sidebar_tree_on_drag_motion ((SidebarTree*) self, context, x, y, time_); +#line 153 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 794 "Tree.c" +} + + +SidebarTree* sidebar_tree_construct (GType object_type, GtkTargetEntry* target_entries, int target_entries_length1, GdkDragAction actions, SidebarTreeExternalDropHandler drop_handler, void* drop_handler_target) { + SidebarTree * self = NULL; + GtkTreeStore* _tmp0_ = NULL; + GtkStyleContext* _tmp1_ = NULL; + GtkTreeViewColumn* text_column = NULL; + GtkTreeViewColumn* _tmp2_ = NULL; + GtkCellRendererPixbuf* icon_renderer = NULL; + GtkCellRendererPixbuf* _tmp3_ = NULL; + GtkCellRendererText* _tmp4_ = NULL; + GtkCellRendererText* _tmp5_ = NULL; + GtkCellRendererText* _tmp6_ = NULL; + GtkCellRendererText* _tmp7_ = NULL; + GtkCellRendererText* _tmp8_ = NULL; + GtkCellRendererText* _tmp9_ = NULL; + GtkCellRendererText* invisitext = NULL; + GtkCellRendererText* _tmp10_ = NULL; + GtkTreeViewColumn* page_holder = NULL; + GtkTreeViewColumn* _tmp11_ = NULL; + GtkTreeSelection* selection = NULL; + GtkTreeSelection* _tmp12_ = NULL; + GtkTreeSelection* _tmp13_ = NULL; + GtkTargetEntry* _tmp14_ = NULL; + gint _tmp14__length1 = 0; + GdkDragAction _tmp15_ = 0; + GtkTargetEntry* source_entries = NULL; + GtkTargetEntry* _tmp16_ = NULL; + gint source_entries_length1 = 0; + gint _source_entries_size_ = 0; + GtkTargetEntry* _tmp17_ = NULL; + gint _tmp17__length1 = 0; + GtkTargetEntry* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + GtkTargetEntry _tmp19_ = {0}; + GtkTargetEntry* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + SidebarTreeExternalDropHandler _tmp21_ = NULL; + void* _tmp21__target = NULL; +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = (SidebarTree*) g_object_new (object_type, NULL); +#line 95 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->store; +#line 95 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_model (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel)); +#line 96 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = gtk_widget_get_style_context (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget)); +#line 96 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_style_context_add_class (_tmp1_, "sidebar"); +#line 98 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gtk_tree_view_column_new (); +#line 98 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_ref_sink (_tmp2_); +#line 98 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + text_column = _tmp2_; +#line 99 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_column_set_expand (text_column, TRUE); +#line 100 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new (); +#line 100 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_ref_sink (_tmp3_); +#line 100 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + icon_renderer = _tmp3_; +#line 101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (icon_renderer, "follow-state", TRUE, NULL); +#line 102 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (text_column, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (icon_renderer, gtk_cell_renderer_get_type (), GtkCellRenderer), FALSE); +#line 103 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (text_column, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (icon_renderer, gtk_cell_renderer_get_type (), GtkCellRenderer), "icon_name", (gint) SIDEBAR_TREE_COLUMNS_ICON); +#line 104 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_cell_layout_set_cell_data_func (G_TYPE_CHECK_INSTANCE_CAST (text_column, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (icon_renderer, gtk_cell_renderer_get_type (), GtkCellRenderer), _sidebar_tree_icon_renderer_function_gtk_cell_layout_data_func, g_object_ref (self), g_object_unref); +#line 105 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 105 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_ref_sink (_tmp4_); +#line 105 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->text_renderer); +#line 105 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->text_renderer = _tmp4_; +#line 106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = self->priv->text_renderer; +#line 106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp5_, "ellipsize", PANGO_ELLIPSIZE_END, NULL); +#line 107 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->text_renderer; +#line 107 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_cell_renderer_get_type (), GtkCellRenderer), "editing-canceled", (GCallback) _sidebar_tree_on_editing_canceled_gtk_cell_renderer_editing_canceled, self, 0); +#line 108 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = self->priv->text_renderer; +#line 108 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_cell_renderer_get_type (), GtkCellRenderer), "editing-started", (GCallback) _sidebar_tree_on_editing_started_gtk_cell_renderer_editing_started, self, 0); +#line 109 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = self->priv->text_renderer; +#line 109 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (text_column, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 110 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = self->priv->text_renderer; +#line 110 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_cell_layout_add_attribute (G_TYPE_CHECK_INSTANCE_CAST (text_column, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_cell_renderer_get_type (), GtkCellRenderer), "markup", (gint) SIDEBAR_TREE_COLUMNS_NAME); +#line 111 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_append_column (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), text_column); +#line 113 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = (GtkCellRendererText*) gtk_cell_renderer_text_new (); +#line 113 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_ref_sink (_tmp10_); +#line 113 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + invisitext = _tmp10_; +#line 114 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = gtk_tree_view_column_new (); +#line 114 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_ref_sink (_tmp11_); +#line 114 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + page_holder = _tmp11_; +#line 115 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_cell_layout_pack_start (G_TYPE_CHECK_INSTANCE_CAST (page_holder, GTK_TYPE_CELL_LAYOUT, GtkCellLayout), G_TYPE_CHECK_INSTANCE_CAST (invisitext, gtk_cell_renderer_get_type (), GtkCellRenderer), TRUE); +#line 116 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_column_set_visible (page_holder, FALSE); +#line 117 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_append_column (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), page_holder); +#line 119 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_headers_visible (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 120 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_enable_search (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 121 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_rules_hint (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 122 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_show_expanders (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), TRUE); +#line 123 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_reorderable (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 124 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_enable_tree_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), FALSE); +#line 125 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_grid_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), GTK_TREE_VIEW_GRID_LINES_NONE); +#line 126 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_tooltip_column (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), (gint) SIDEBAR_TREE_COLUMNS_TOOLTIP); +#line 128 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 128 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 128 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selection = _tmp13_; +#line 129 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); +#line 130 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_selection_set_select_function (selection, _sidebar_tree_on_selection_gtk_tree_selection_func, g_object_ref (self), g_object_unref); +#line 132 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), "test-expand-row", (GCallback) _sidebar_tree_on_toggle_row_gtk_tree_view_test_expand_row, self, 0); +#line 133 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), "test-collapse-row", (GCallback) _sidebar_tree_on_toggle_row_gtk_tree_view_test_collapse_row, self, 0); +#line 138 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = target_entries; +#line 138 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14__length1 = target_entries_length1; +#line 138 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = actions; +#line 138 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_enable_model_drag_dest (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp14_, _tmp14__length1, _tmp15_); +#line 140 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = g_new0 (GtkTargetEntry, 0); +#line 140 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + source_entries = _tmp16_; +#line 140 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + source_entries_length1 = 0; +#line 140 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _source_entries_size_ = source_entries_length1; +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = source_entries; +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17__length1 = source_entries_length1; +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = target_entries; +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18__length1 = target_entries_length1; +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = _tmp18_[LIBRARY_WINDOW_TARGET_TYPE_TAG_PATH]; +#line 141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_array_add123 (&source_entries, &source_entries_length1, &_source_entries_size_, &_tmp19_); +#line 142 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = source_entries; +#line 142 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20__length1 = source_entries_length1; +#line 142 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_enable_model_drag_source (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), GDK_BUTTON1_MASK, _tmp20_, _tmp20__length1, GDK_ACTION_COPY); +#line 145 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = drop_handler; +#line 145 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21__target = drop_handler_target; +#line 145 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->drop_handler = _tmp21_; +#line 145 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->drop_handler_target = _tmp21__target; +#line 147 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "popup-menu", (GCallback) _sidebar_tree_on_context_menu_keypress_gtk_widget_popup_menu, self, 0); +#line 149 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_setup_default_context_menu (self); +#line 151 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "drag-begin", (GCallback) _sidebar_tree_on_drag_begin_gtk_widget_drag_begin, self, 0); +#line 152 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "drag-end", (GCallback) _sidebar_tree_on_drag_end_gtk_widget_drag_end, self, 0); +#line 153 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), "drag-motion", (GCallback) _sidebar_tree_on_drag_motion_gtk_widget_drag_motion, self, 0); +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + source_entries = (g_free (source_entries), NULL); +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selection); +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (page_holder); +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (invisitext); +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (icon_renderer); +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (text_column); +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return self; +#line 1011 "Tree.c" +} + + +SidebarTree* sidebar_tree_new (GtkTargetEntry* target_entries, int target_entries_length1, GdkDragAction actions, SidebarTreeExternalDropHandler drop_handler, void* drop_handler_target) { +#line 93 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return sidebar_tree_construct (SIDEBAR_TYPE_TREE, target_entries, target_entries_length1, actions, drop_handler, drop_handler_target); +#line 1018 "Tree.c" +} + + +void sidebar_tree_icon_renderer_function (SidebarTree* self, GtkCellLayout* layout, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter) { + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreeIter _tmp0_ = {0}; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + GtkCellRenderer* _tmp3_ = NULL; + SidebarTreeEntryWrapper* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 161 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (GTK_IS_CELL_LAYOUT (layout)); +#line 161 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); +#line 161 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (GTK_IS_TREE_MODEL (model)); +#line 161 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (iter != NULL); +#line 162 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = *iter; +#line 162 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper_at_iter (self, &_tmp0_); +#line 162 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 163 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 163 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 164 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 164 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 1054 "Tree.c" + } +#line 166 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = renderer; +#line 166 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = wrapper; +#line 166 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_->entry; +#line 166 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_cell_renderer_set_visible (_tmp3_, !G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, SIDEBAR_TYPE_HEADER)); +#line 161 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1066 "Tree.c" +} + + +static void sidebar_tree_on_drag_begin (SidebarTree* self, GdkDragContext* ctx) { +#line 169 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 169 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (ctx)); +#line 170 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->is_internal_drag_in_progress = TRUE; +#line 1077 "Tree.c" +} + + +static void sidebar_tree_on_drag_end (SidebarTree* self, GdkDragContext* ctx) { +#line 173 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 173 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (ctx)); +#line 174 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->is_internal_drag_in_progress = FALSE; +#line 175 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->internal_drag_source_entry); +#line 175 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->internal_drag_source_entry = NULL; +#line 1092 "Tree.c" +} + + +static gboolean sidebar_tree_on_drag_motion (SidebarTree* self, GdkDragContext* context, gint x, gint y, guint time_) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; +#line 178 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 178 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE); +#line 179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = self->priv->is_internal_drag_in_progress; +#line 179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp1_) { +#line 1108 "Tree.c" + SidebarEntry* _tmp2_ = NULL; +#line 179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = self->priv->internal_drag_source_entry; +#line 179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = _tmp2_ == NULL; +#line 1114 "Tree.c" + } else { +#line 179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = FALSE; +#line 1118 "Tree.c" + } +#line 179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp0_) { +#line 1122 "Tree.c" + GtkTreePath* path = NULL; + GtkTreeViewDropPosition position = 0; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GtkTreePath* _tmp5_ = NULL; + GtkTreeViewDropPosition _tmp6_ = 0; + GtkTreePath* _tmp7_ = NULL; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = x; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = y; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_get_dest_row_at_pos (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp3_, _tmp4_, &_tmp5_, &_tmp6_); +#line 182 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 182 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp5_; +#line 182 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + position = _tmp6_; +#line 184 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = path; +#line 184 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp7_ != NULL) { +#line 1146 "Tree.c" + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp8_ = NULL; + SidebarTreeEntryWrapper* _tmp9_ = NULL; + SidebarTreeEntryWrapper* _tmp10_ = NULL; +#line 185 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = path; +#line 185 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = sidebar_tree_get_wrapper_at_path (self, _tmp8_); +#line 185 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp9_; +#line 186 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = wrapper; +#line 186 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp10_ != NULL) { +#line 1161 "Tree.c" + SidebarTreeEntryWrapper* _tmp11_ = NULL; + SidebarEntry* _tmp12_ = NULL; + SidebarEntry* _tmp13_ = NULL; +#line 187 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = wrapper; +#line 187 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = _tmp11_->entry; +#line 187 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = _g_object_ref0 (_tmp12_); +#line 187 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->internal_drag_source_entry); +#line 187 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->internal_drag_source_entry = _tmp13_; +#line 1175 "Tree.c" + } +#line 184 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1179 "Tree.c" + } +#line 179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 1183 "Tree.c" + } +#line 191 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 191 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1189 "Tree.c" +} + + +static void _sidebar_tree_on_new_search_gtk_action_callback (GtkAction* action, gpointer self) { +#line 198 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_new_search ((SidebarTree*) self); +#line 1196 "Tree.c" +} + + +static void _vala_array_add124 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 200 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if ((*length) == (*size)) { +#line 200 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 200 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1207 "Tree.c" + } +#line 200 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + (*array)[(*length)++] = *value; +#line 1211 "Tree.c" +} + + +static void _sidebar_tree_on_new_tag_gtk_action_callback (GtkAction* action, gpointer self) { +#line 202 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_new_tag ((SidebarTree*) self); +#line 1218 "Tree.c" +} + + +static void _vala_array_add125 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if ((*length) == (*size)) { +#line 204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1229 "Tree.c" + } +#line 204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + (*array)[(*length)++] = *value; +#line 1233 "Tree.c" +} + + +static void sidebar_tree_setup_default_context_menu (SidebarTree* self) { + GtkActionGroup* group = NULL; + GtkActionGroup* _tmp0_ = NULL; + GtkActionEntry* actions = NULL; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry new_search = {0}; + GtkActionEntry _tmp2_ = {0}; + const gchar* _tmp3_ = NULL; + GtkActionEntry* _tmp4_ = NULL; + gint _tmp4__length1 = 0; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry new_tag = {0}; + GtkActionEntry _tmp6_ = {0}; + const gchar* _tmp7_ = NULL; + GtkActionEntry* _tmp8_ = NULL; + gint _tmp8__length1 = 0; + GtkActionEntry _tmp9_ = {0}; + GtkActionEntry* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + GtkUIManager* _tmp11_ = NULL; + GFile* ui_file = NULL; + GFile* _tmp12_ = NULL; + GtkUIManager* _tmp24_ = NULL; + GtkWidget* _tmp25_ = NULL; + GtkMenu* _tmp26_ = NULL; + GtkUIManager* _tmp27_ = NULL; + GError * _inner_error_ = NULL; +#line 194 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 195 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = gtk_action_group_new ("SidebarDefault"); +#line 195 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + group = _tmp0_; +#line 196 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = g_new0 (GtkActionEntry, 0); +#line 196 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + actions = _tmp1_; +#line 196 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + actions_length1 = 0; +#line 196 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _actions_size_ = actions_length1; +#line 198 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_.name = "CommonNewSearch"; +#line 198 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_.stock_id = NULL; +#line 198 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_.label = TRANSLATABLE; +#line 198 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_.accelerator = NULL; +#line 198 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_.tooltip = NULL; +#line 198 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_.callback = (GCallback) _sidebar_tree_on_new_search_gtk_action_callback; +#line 198 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + new_search = _tmp2_; +#line 199 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = _ ("Ne_w Saved Search..."); +#line 199 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + new_search.label = _tmp3_; +#line 200 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = actions; +#line 200 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4__length1 = actions_length1; +#line 200 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = new_search; +#line 200 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_array_add124 (&actions, &actions_length1, &_actions_size_, &_tmp5_); +#line 202 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_.name = "CommonNewTag"; +#line 202 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_.stock_id = NULL; +#line 202 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_.label = TRANSLATABLE; +#line 202 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_.accelerator = NULL; +#line 202 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_.tooltip = NULL; +#line 202 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_.callback = (GCallback) _sidebar_tree_on_new_tag_gtk_action_callback; +#line 202 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + new_tag = _tmp6_; +#line 203 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = _ ("New _Tag..."); +#line 203 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + new_tag.label = _tmp7_; +#line 204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = actions; +#line 204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8__length1 = actions_length1; +#line 204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = new_tag; +#line 204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_array_add125 (&actions, &actions_length1, &_actions_size_, &_tmp9_); +#line 206 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = actions; +#line 206 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10__length1 = actions_length1; +#line 206 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_action_group_add_actions (group, _tmp10_, _tmp10__length1, self); +#line 207 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = self->priv->ui; +#line 207 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_ui_manager_insert_action_group (_tmp11_, group, 0); +#line 209 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = resources_get_ui ("sidebar_default_context.ui"); +#line 209 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + ui_file = _tmp12_; +#line 1346 "Tree.c" + { + GtkUIManager* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = self->priv->ui; +#line 211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = g_file_get_path (ui_file); +#line 211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = _tmp14_; +#line 211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_ui_manager_add_ui_from_file (_tmp13_, _tmp15_, &_inner_error_); +#line 211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp15_); +#line 211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1363 "Tree.c" + goto __catch48_g_error; + } + } + goto __finally48; + __catch48_g_error: + { + GError* err = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + GError* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + Application* _tmp22_ = NULL; + Application* _tmp23_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + err = _inner_error_; +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _inner_error_ = NULL; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = g_file_get_path (ui_file); +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = _tmp16_; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = err; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = _tmp18_->message; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = g_strdup_printf ("Error loading UI file %s: %s", _tmp17_, _tmp19_); +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = _tmp20_; +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + app_window_error_message (_tmp21_, NULL); +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp21_); +#line 213 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp17_); +#line 215 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = application_get_instance (); +#line 215 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = _tmp22_; +#line 215 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + application_panic (_tmp23_); +#line 215 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _application_unref0 (_tmp23_); +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_error_free0 (err); +#line 1411 "Tree.c" + } + __finally48: +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (ui_file); +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + actions = (g_free (actions), NULL); +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (group); +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.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 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_clear_error (&_inner_error_); +#line 210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 1428 "Tree.c" + } +#line 217 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = self->priv->ui; +#line 217 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = gtk_ui_manager_get_widget (_tmp24_, "/SidebarDefaultContextMenu"); +#line 217 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_menu_get_type (), GtkMenu)); +#line 217 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->default_context_menu); +#line 217 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->default_context_menu = _tmp26_; +#line 219 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = self->priv->ui; +#line 219 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_ui_manager_ensure_update (_tmp27_); +#line 194 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (ui_file); +#line 194 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + actions = (g_free (actions), NULL); +#line 194 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (group); +#line 1450 "Tree.c" +} + + +static gboolean sidebar_tree_has_wrapper (SidebarTree* self, SidebarEntry* entry) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 222 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 222 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 223 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->entry_map; +#line 223 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = entry; +#line 223 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 223 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp2_; +#line 223 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1473 "Tree.c" +} + + +static SidebarTreeEntryWrapper* sidebar_tree_get_wrapper (SidebarTree* self, SidebarEntry* entry) { + SidebarTreeEntryWrapper* result = NULL; + SidebarTreeEntryWrapper* wrapper = NULL; + GeeHashMap* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; +#line 226 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), NULL); +#line 226 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), NULL); +#line 227 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->entry_map; +#line 227 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = entry; +#line 227 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 227 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = (SidebarTreeEntryWrapper*) _tmp2_; +#line 228 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 228 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp3_ == NULL) { +#line 1500 "Tree.c" + SidebarEntry* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = entry; +#line 229 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = sidebar_entry_to_string (_tmp4_); +#line 229 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _tmp5_; +#line 229 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_warning ("Tree.vala:229: Entry %s not found in sidebar", _tmp6_); +#line 229 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp6_); +#line 1514 "Tree.c" + } +#line 231 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = wrapper; +#line 231 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1520 "Tree.c" +} + + +static SidebarTreeEntryWrapper* sidebar_tree_get_wrapper_at_iter (SidebarTree* self, GtkTreeIter* iter) { + SidebarTreeEntryWrapper* result = NULL; + GValue val = {0}; + GtkTreeStore* _tmp0_ = NULL; + GtkTreeIter _tmp1_ = {0}; + GValue _tmp2_ = {0}; + SidebarTreeEntryWrapper* wrapper = NULL; + GValue _tmp3_ = {0}; + SidebarTreeEntryWrapper* _tmp4_ = NULL; + SidebarTreeEntryWrapper* _tmp5_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), NULL); +#line 234 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (iter != NULL, NULL); +#line 236 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->store; +#line 236 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = *iter; +#line 236 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_model_get_value (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp1_, (gint) SIDEBAR_TREE_COLUMNS_WRAPPER, &_tmp2_); +#line 236 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + G_IS_VALUE (&val) ? (g_value_unset (&val), NULL) : NULL; +#line 236 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + val = _tmp2_; +#line 238 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = val; +#line 238 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _g_object_ref0 (g_value_get_object (&_tmp3_)); +#line 238 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp4_; +#line 239 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = wrapper; +#line 239 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp5_ == NULL) { +#line 1558 "Tree.c" + GtkTreeStore* _tmp6_ = NULL; + GtkTreeIter _tmp7_ = {0}; + GtkTreePath* _tmp8_ = NULL; + GtkTreePath* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->store; +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = *iter; +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = gtk_tree_model_get_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp7_); +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = _tmp8_; +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = gtk_tree_path_to_string (_tmp9_); +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = _tmp10_; +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_message ("Tree.vala:240: No entry found in sidebar at %s", _tmp11_); +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp11_); +#line 240 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp9_); +#line 1583 "Tree.c" + } +#line 242 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = wrapper; +#line 242 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + G_IS_VALUE (&val) ? (g_value_unset (&val), NULL) : NULL; +#line 242 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1591 "Tree.c" +} + + +static SidebarTreeEntryWrapper* sidebar_tree_get_wrapper_at_path (SidebarTree* self, GtkTreePath* path) { + SidebarTreeEntryWrapper* result = NULL; + GtkTreeIter iter = {0}; + GtkTreeStore* _tmp0_ = NULL; + GtkTreePath* _tmp1_ = NULL; + GtkTreeIter _tmp2_ = {0}; + gboolean _tmp3_ = FALSE; + GtkTreeIter _tmp7_ = {0}; + SidebarTreeEntryWrapper* _tmp8_ = NULL; +#line 245 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), NULL); +#line 245 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 247 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->store; +#line 247 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = path; +#line 247 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = gtk_tree_model_get_iter (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp2_, _tmp1_); +#line 247 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + iter = _tmp2_; +#line 247 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp3_) { +#line 1618 "Tree.c" + GtkTreePath* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = path; +#line 248 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = gtk_tree_path_to_string (_tmp4_); +#line 248 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _tmp5_; +#line 248 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_message ("Tree.vala:248: No entry found in sidebar at %s", _tmp6_); +#line 248 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp6_); +#line 250 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = NULL; +#line 250 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1636 "Tree.c" + } +#line 253 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = iter; +#line 253 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = sidebar_tree_get_wrapper_at_iter (self, &_tmp7_); +#line 253 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp8_; +#line 253 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1646 "Tree.c" +} + + +gboolean sidebar_tree_place_cursor (SidebarTree* self, SidebarEntry* entry, gboolean mask_signal) { + gboolean result = FALSE; + SidebarEntry* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + SidebarTreeEntryWrapper* _tmp4_ = NULL; + GtkTreeSelection* _tmp5_ = NULL; + SidebarTreeEntryWrapper* _tmp6_ = NULL; + GtkTreePath* _tmp7_ = NULL; + GtkTreePath* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SidebarTreeEntryWrapper* _tmp10_ = NULL; + GtkTreePath* _tmp11_ = NULL; + GtkTreePath* _tmp12_ = NULL; + SidebarEntry* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 258 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 258 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 259 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 259 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_expand_to_entry (self, _tmp0_); +#line 259 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp1_) { +#line 260 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 260 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1682 "Tree.c" + } +#line 262 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = entry; +#line 262 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = sidebar_tree_get_wrapper (self, _tmp2_); +#line 262 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp3_; +#line 263 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = wrapper; +#line 263 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp4_ == NULL) { +#line 264 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 264 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 264 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1700 "Tree.c" + } +#line 266 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 266 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = wrapper; +#line 266 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = sidebar_tree_entry_wrapper_get_path (_tmp6_); +#line 266 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _tmp7_; +#line 266 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_selection_select_path (_tmp5_, _tmp8_); +#line 266 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp8_); +#line 268 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = mask_signal; +#line 268 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->mask_entry_selected_signal = _tmp9_; +#line 269 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = wrapper; +#line 269 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = sidebar_tree_entry_wrapper_get_path (_tmp10_); +#line 269 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = _tmp11_; +#line 269 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp12_, NULL, FALSE); +#line 269 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp12_); +#line 270 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->mask_entry_selected_signal = FALSE; +#line 272 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = entry; +#line 272 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = sidebar_tree_scroll_to_entry (self, _tmp13_); +#line 272 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp14_; +#line 272 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 272 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1740 "Tree.c" +} + + +gboolean sidebar_tree_is_selected (SidebarTree* self, SidebarEntry* entry) { + gboolean result = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + GtkTreeSelection* selection = NULL; + GtkTreeSelection* _tmp2_ = NULL; + GtkTreeSelection* _tmp3_ = NULL; + GtkTreeSelection* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + SidebarTreeEntryWrapper* _tmp6_ = NULL; +#line 275 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 275 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 276 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 276 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 276 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 280 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 280 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = _g_object_ref0 (_tmp2_); +#line 280 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selection = _tmp3_; +#line 281 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = selection; +#line 281 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp4_ == NULL) { +#line 282 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 282 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selection); +#line 282 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 282 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1783 "Tree.c" + } +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = wrapper; +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp6_ != NULL) { +#line 1789 "Tree.c" + GtkTreeSelection* _tmp7_ = NULL; + SidebarTreeEntryWrapper* _tmp8_ = NULL; + GtkTreePath* _tmp9_ = NULL; + GtkTreePath* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = selection; +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = wrapper; +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = sidebar_tree_entry_wrapper_get_path (_tmp8_); +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = _tmp9_; +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = gtk_tree_selection_path_is_selected (_tmp7_, _tmp10_); +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp11_; +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp10_); +#line 1809 "Tree.c" + } else { +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = FALSE; +#line 1813 "Tree.c" + } +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp5_; +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selection); +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 284 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1823 "Tree.c" +} + + +gboolean sidebar_tree_is_any_selected (SidebarTree* self) { + gboolean result = FALSE; + GtkTreeSelection* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 287 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 288 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 288 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = gtk_tree_selection_count_selected_rows (_tmp0_); +#line 288 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp1_ != 0; +#line 288 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1841 "Tree.c" +} + + +static gpointer _gtk_tree_path_copy0 (gpointer self) { +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return self ? gtk_tree_path_copy (self) : NULL; +#line 1848 "Tree.c" +} + + +static void _gtk_tree_path_free0_ (gpointer var) { +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + (var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL)); +#line 1855 "Tree.c" +} + + +static void _g_list_free__gtk_tree_path_free0_ (GList* self) { +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_list_foreach (self, (GFunc) _gtk_tree_path_free0_, NULL); +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_list_free (self); +#line 1864 "Tree.c" +} + + +static GtkTreePath* sidebar_tree_get_selected_path (SidebarTree* self) { + GtkTreePath* result = NULL; + GtkTreeModel* model = NULL; + GtkTreeSelection* selection = NULL; + GtkTreeSelection* _tmp0_ = NULL; + GtkTreeSelection* _tmp1_ = NULL; + GtkTreeSelection* _tmp2_ = NULL; + GList* rows = NULL; + GtkTreeSelection* _tmp3_ = NULL; + GtkTreeModel* _tmp4_ = NULL; + GList* _tmp5_ = NULL; + GtkTreeModel* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + GList* _tmp8_ = NULL; + guint _tmp9_ = 0U; + GtkTreePath* _tmp12_ = NULL; + GList* _tmp13_ = NULL; + guint _tmp14_ = 0U; + GtkTreePath* _tmp17_ = NULL; +#line 291 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), NULL); +#line 293 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 293 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 293 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selection = _tmp1_; +#line 294 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = selection; +#line 294 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 295 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = NULL; +#line 295 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selection); +#line 295 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (model); +#line 295 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1907 "Tree.c" + } +#line 297 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = selection; +#line 297 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = gtk_tree_selection_get_selected_rows (_tmp3_, &_tmp4_); +#line 297 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (model); +#line 297 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _g_object_ref0 (_tmp4_); +#line 297 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + model = _tmp6_; +#line 297 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + rows = _tmp5_; +#line 298 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = rows; +#line 298 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = g_list_length (_tmp8_); +#line 298 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp9_ == ((guint) 0)) { +#line 298 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = TRUE; +#line 1929 "Tree.c" + } else { + GList* _tmp10_ = NULL; + guint _tmp11_ = 0U; +#line 298 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = rows; +#line 298 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = g_list_length (_tmp10_); +#line 298 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = _tmp11_ == ((guint) 1); +#line 1939 "Tree.c" + } +#line 298 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp7_, "rows.length() == 0 || rows.length() == 1"); +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = rows; +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = g_list_length (_tmp13_); +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp14_ != ((guint) 0)) { +#line 1949 "Tree.c" + GList* _tmp15_ = NULL; + gconstpointer _tmp16_ = NULL; +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = rows; +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = g_list_nth_data (_tmp15_, (guint) 0); +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = (GtkTreePath*) _tmp16_; +#line 1958 "Tree.c" + } else { +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = NULL; +#line 1962 "Tree.c" + } +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = _gtk_tree_path_copy0 (_tmp12_); +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp17_; +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + __g_list_free__gtk_tree_path_free0_0 (rows); +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selection); +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (model); +#line 300 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 1976 "Tree.c" +} + + +static gchar* sidebar_tree_get_name_for_entry (SidebarTree* self, SidebarEntry* entry) { + gchar* result = NULL; + gchar* name = NULL; + SidebarEntry* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + SidebarEmphasizableEntry* emphasizable_entry = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarEmphasizableEntry* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + SidebarEmphasizableEntry* _tmp8_ = NULL; +#line 303 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), NULL); +#line 303 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), NULL); +#line 304 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 304 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_entry_get_sidebar_name (_tmp0_); +#line 304 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _tmp1_; +#line 304 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = guarded_markup_escape_text (_tmp2_); +#line 304 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp3_; +#line 304 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp2_); +#line 304 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + name = _tmp4_; +#line 306 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = entry; +#line 306 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, SIDEBAR_TYPE_EMPHASIZABLE_ENTRY) ? ((SidebarEmphasizableEntry*) _tmp5_) : NULL); +#line 306 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + emphasizable_entry = _tmp6_; +#line 307 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = emphasizable_entry; +#line 307 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp8_ != NULL) { +#line 2021 "Tree.c" + SidebarEmphasizableEntry* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; +#line 307 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = emphasizable_entry; +#line 307 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = sidebar_emphasizable_entry_is_emphasized (_tmp9_); +#line 307 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = _tmp10_; +#line 2030 "Tree.c" + } else { +#line 307 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = FALSE; +#line 2034 "Tree.c" + } +#line 307 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp7_) { +#line 2038 "Tree.c" + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 308 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = name; +#line 308 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = g_strdup_printf ("%s", _tmp11_); +#line 308 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (name); +#line 308 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + name = _tmp12_; +#line 2049 "Tree.c" + } +#line 310 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = name; +#line 310 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (emphasizable_entry); +#line 310 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 2057 "Tree.c" +} + + +static gboolean sidebar_tree_real_accept_cursor_changed (SidebarTree* self) { + gboolean result = FALSE; +#line 314 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 314 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 2067 "Tree.c" +} + + +gboolean sidebar_tree_accept_cursor_changed (SidebarTree* self) { +#line 313 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 313 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return SIDEBAR_TREE_GET_CLASS (self)->accept_cursor_changed (self); +#line 2076 "Tree.c" +} + + +static void sidebar_tree_real_cursor_changed (GtkTreeView* base) { + SidebarTree * self; + GtkTreePath* path = NULL; + GtkTreePath* _tmp0_ = NULL; + GtkTreePath* _tmp1_ = NULL; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + SidebarTreeEntryWrapper* _tmp4_ = NULL; + SidebarTreeEntryWrapper* _tmp5_ = NULL; +#line 317 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_TREE, SidebarTree); +#line 318 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = sidebar_tree_get_selected_path (self); +#line 318 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp0_; +#line 319 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = path; +#line 319 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp1_ == NULL) { +#line 320 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (GTK_TREE_VIEW_CLASS (sidebar_tree_parent_class)->cursor_changed != NULL) { +#line 321 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + GTK_TREE_VIEW_CLASS (sidebar_tree_parent_class)->cursor_changed (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 2104 "Tree.c" + } +#line 322 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 322 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 2110 "Tree.c" + } +#line 325 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = path; +#line 325 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = sidebar_tree_get_wrapper_at_path (self, _tmp2_); +#line 325 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp3_; +#line 327 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = self->priv->selected_wrapper; +#line 327 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = wrapper; +#line 327 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp4_ != _tmp5_) { +#line 2124 "Tree.c" + SidebarTreeEntryWrapper* old_wrapper = NULL; + SidebarTreeEntryWrapper* _tmp6_ = NULL; + SidebarTreeEntryWrapper* _tmp7_ = NULL; + SidebarTreeEntryWrapper* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + gint _tmp11_ = 0; + gboolean _tmp19_ = FALSE; + SidebarTreeEntryWrapper* _tmp20_ = NULL; +#line 328 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->selected_wrapper; +#line 328 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = _g_object_ref0 (_tmp6_); +#line 328 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + old_wrapper = _tmp7_; +#line 329 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = wrapper; +#line 329 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->selected_wrapper = _tmp8_; +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = self->priv->editing_disabled; +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp11_ == 0) { +#line 2148 "Tree.c" + SidebarTreeEntryWrapper* _tmp12_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = wrapper; +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = _tmp12_ != NULL; +#line 2154 "Tree.c" + } else { +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = FALSE; +#line 2158 "Tree.c" + } +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp10_) { +#line 2162 "Tree.c" + SidebarTreeEntryWrapper* _tmp13_ = NULL; + SidebarEntry* _tmp14_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = wrapper; +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = _tmp13_->entry; +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, SIDEBAR_TYPE_RENAMEABLE_ENTRY); +#line 2171 "Tree.c" + } else { +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = FALSE; +#line 2175 "Tree.c" + } +#line 331 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp9_) { +#line 2179 "Tree.c" + GtkCellRendererText* _tmp15_ = NULL; + SidebarTreeEntryWrapper* _tmp16_ = NULL; + SidebarEntry* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; +#line 332 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = self->priv->text_renderer; +#line 332 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = wrapper; +#line 332 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = _tmp16_->entry; +#line 332 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = sidebar_renameable_entry_is_user_renameable (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)); +#line 332 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp15_, "editable", _tmp18_, NULL); +#line 2194 "Tree.c" + } +#line 334 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = wrapper; +#line 334 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp20_ != NULL) { +#line 2200 "Tree.c" + gboolean _tmp21_ = FALSE; +#line 334 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = self->priv->mask_entry_selected_signal; +#line 334 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = !_tmp21_; +#line 2206 "Tree.c" + } else { +#line 334 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = FALSE; +#line 2210 "Tree.c" + } +#line 334 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp19_) { +#line 2214 "Tree.c" + SidebarSelectableEntry* selectable = NULL; + SidebarTreeEntryWrapper* _tmp22_ = NULL; + SidebarEntry* _tmp23_ = NULL; + SidebarSelectableEntry* _tmp24_ = NULL; + SidebarSelectableEntry* _tmp25_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = wrapper; +#line 335 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = _tmp22_->entry; +#line 335 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, SIDEBAR_TYPE_SELECTABLE_ENTRY) ? ((SidebarSelectableEntry*) _tmp23_) : NULL); +#line 335 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selectable = _tmp24_; +#line 336 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = selectable; +#line 336 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp25_ != NULL) { +#line 2232 "Tree.c" + gboolean _tmp26_ = FALSE; +#line 337 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = sidebar_tree_accept_cursor_changed (self); +#line 337 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp26_) { +#line 2238 "Tree.c" + SidebarSelectableEntry* _tmp27_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = selectable; +#line 338 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_emit_by_name (self, "entry-selected", _tmp27_); +#line 2244 "Tree.c" + } else { + SidebarTreeEntryWrapper* _tmp28_ = NULL; + SidebarEntry* _tmp29_ = NULL; +#line 340 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp28_ = old_wrapper; +#line 340 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp29_ = _tmp28_->entry; +#line 340 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_place_cursor (self, _tmp29_, TRUE); +#line 2254 "Tree.c" + } + } +#line 334 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selectable); +#line 2259 "Tree.c" + } +#line 327 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (old_wrapper); +#line 2263 "Tree.c" + } +#line 346 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (GTK_TREE_VIEW_CLASS (sidebar_tree_parent_class)->cursor_changed != NULL) { +#line 347 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + GTK_TREE_VIEW_CLASS (sidebar_tree_parent_class)->cursor_changed (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 2269 "Tree.c" + } +#line 317 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 317 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 2275 "Tree.c" +} + + +void sidebar_tree_disable_editing (SidebarTree* self) { + gint _tmp0_ = 0; +#line 350 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 351 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->editing_disabled; +#line 351 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->editing_disabled = _tmp0_ + 1; +#line 351 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp0_ == 0) { +#line 2289 "Tree.c" + GtkCellRendererText* _tmp1_ = NULL; +#line 352 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = self->priv->text_renderer; +#line 352 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp1_, "editable", FALSE, NULL); +#line 2295 "Tree.c" + } +} + + +void sidebar_tree_enable_editing (SidebarTree* self) { + GtkTreePath* path = NULL; + GtkTreePath* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GtkTreePath* _tmp3_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 356 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = sidebar_tree_get_selected_path (self); +#line 356 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp0_; +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = path; +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp3_ != NULL) { +#line 2316 "Tree.c" + gint _tmp4_ = 0; +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = self->priv->editing_disabled; +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _tmp4_ > 0; +#line 2322 "Tree.c" + } else { +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = FALSE; +#line 2326 "Tree.c" + } +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_) { +#line 2330 "Tree.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = self->priv->editing_disabled; +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->editing_disabled = _tmp5_ - 1; +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->editing_disabled; +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _tmp6_ == 0; +#line 2341 "Tree.c" + } else { +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = FALSE; +#line 2345 "Tree.c" + } +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp1_) { +#line 2349 "Tree.c" + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp7_ = NULL; + SidebarTreeEntryWrapper* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SidebarTreeEntryWrapper* _tmp10_ = NULL; +#line 358 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = path; +#line 358 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = sidebar_tree_get_wrapper_at_path (self, _tmp7_); +#line 358 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp8_; +#line 359 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = wrapper; +#line 359 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp10_ != NULL) { +#line 2365 "Tree.c" + SidebarTreeEntryWrapper* _tmp11_ = NULL; + SidebarEntry* _tmp12_ = NULL; +#line 359 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = wrapper; +#line 359 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = _tmp11_->entry; +#line 359 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, SIDEBAR_TYPE_RENAMEABLE_ENTRY); +#line 2374 "Tree.c" + } else { +#line 359 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = FALSE; +#line 2378 "Tree.c" + } +#line 359 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp9_) { +#line 2382 "Tree.c" + GtkCellRendererText* _tmp13_ = NULL; + SidebarTreeEntryWrapper* _tmp14_ = NULL; + SidebarEntry* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 360 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = self->priv->text_renderer; +#line 360 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = wrapper; +#line 360 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = _tmp14_->entry; +#line 360 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = sidebar_renameable_entry_is_user_renameable (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)); +#line 360 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp13_, "editable", _tmp16_, NULL); +#line 2397 "Tree.c" + } +#line 357 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 2401 "Tree.c" + } +#line 355 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 2405 "Tree.c" +} + + +void sidebar_tree_toggle_branch_expansion (SidebarTree* self, GtkTreePath* path, gboolean expand_all) { + GtkTreePath* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 365 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 365 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (path != NULL); +#line 366 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->expander_called_manually = TRUE; +#line 367 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = path; +#line 367 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = gtk_tree_view_row_expanded (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp0_); +#line 367 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp1_) { +#line 2424 "Tree.c" + GtkTreePath* _tmp2_ = NULL; +#line 368 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = path; +#line 368 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_collapse_row (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp2_); +#line 2430 "Tree.c" + } else { + GtkTreePath* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 370 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = path; +#line 370 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = expand_all; +#line 370 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_expand_row (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp3_, _tmp4_); +#line 2440 "Tree.c" + } +} + + +gboolean sidebar_tree_expand_to_entry (SidebarTree* self, SidebarEntry* entry) { + gboolean result = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + GtkTreePath* _tmp4_ = NULL; + GtkTreePath* _tmp5_ = NULL; +#line 373 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 373 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 374 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->expander_called_manually = TRUE; +#line 375 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 375 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 375 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 376 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 377 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 377 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 377 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 2476 "Tree.c" + } +#line 379 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 379 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = sidebar_tree_entry_wrapper_get_path (_tmp3_); +#line 379 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_; +#line 379 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_expand_to_path (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp5_); +#line 379 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp5_); +#line 381 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 381 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 381 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 2494 "Tree.c" +} + + +void sidebar_tree_expand_to_first_child (SidebarTree* self, SidebarEntry* entry) { + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + GtkTreePath* path = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + GtkTreePath* _tmp4_ = NULL; + GtkTreeIter iter = {0}; + GtkTreePath* _tmp13_ = NULL; +#line 384 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 384 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 385 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->expander_called_manually = TRUE; +#line 386 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 386 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 386 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 387 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 387 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 388 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 388 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 2528 "Tree.c" + } +#line 390 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 390 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = sidebar_tree_entry_wrapper_get_path (_tmp3_); +#line 390 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp4_; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + while (TRUE) { +#line 2538 "Tree.c" + GtkTreeStore* _tmp5_ = NULL; + GtkTreePath* _tmp6_ = NULL; + GtkTreeIter _tmp7_ = {0}; + gboolean _tmp8_ = FALSE; + GtkTreeStore* _tmp9_ = NULL; + GtkTreeIter _tmp10_ = {0}; + gboolean _tmp11_ = FALSE; + GtkTreePath* _tmp12_ = NULL; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = self->priv->store; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = path; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = gtk_tree_model_get_iter (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp7_, _tmp6_); +#line 393 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + iter = _tmp7_; +#line 393 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp8_) { +#line 393 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 2559 "Tree.c" + } +#line 394 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = self->priv->store; +#line 394 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = iter; +#line 394 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = gtk_tree_model_iter_has_child (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp10_); +#line 394 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp11_) { +#line 395 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 2571 "Tree.c" + } +#line 397 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = path; +#line 397 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_path_down (_tmp12_); +#line 2577 "Tree.c" + } +#line 400 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = path; +#line 400 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_expand_to_path (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp13_); +#line 384 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 384 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 2587 "Tree.c" +} + + +static void _sidebar_tree_on_branch_entry_added_sidebar_branch_entry_added (SidebarBranch* _sender, SidebarEntry* entry, gpointer self) { +#line 418 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_branch_entry_added ((SidebarTree*) self, _sender, entry); +#line 2594 "Tree.c" +} + + +static void _sidebar_tree_on_branch_entry_removed_sidebar_branch_entry_removed (SidebarBranch* _sender, SidebarEntry* entry, gpointer self) { +#line 419 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_branch_entry_removed ((SidebarTree*) self, _sender, entry); +#line 2601 "Tree.c" +} + + +static void _sidebar_tree_on_branch_entry_moved_sidebar_branch_entry_moved (SidebarBranch* _sender, SidebarEntry* entry, gpointer self) { +#line 420 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_branch_entry_moved ((SidebarTree*) self, _sender, entry); +#line 2608 "Tree.c" +} + + +static void _sidebar_tree_on_branch_entry_reparented_sidebar_branch_entry_reparented (SidebarBranch* _sender, SidebarEntry* entry, SidebarEntry* old_parent, gpointer self) { +#line 421 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_branch_entry_reparented ((SidebarTree*) self, _sender, entry, old_parent); +#line 2615 "Tree.c" +} + + +static void _sidebar_tree_on_branch_children_reordered_sidebar_branch_children_reordered (SidebarBranch* _sender, SidebarEntry* entry, gpointer self) { +#line 422 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_branch_children_reordered ((SidebarTree*) self, _sender, entry); +#line 2622 "Tree.c" +} + + +static void _sidebar_tree_on_show_branch_sidebar_branch_show_branch (SidebarBranch* _sender, gboolean show, gpointer self) { +#line 423 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_show_branch ((SidebarTree*) self, _sender, show); +#line 2629 "Tree.c" +} + + +void sidebar_tree_graft (SidebarTree* self, SidebarBranch* branch, gint position) { + gint _tmp0_ = 0; + GeeHashMap* _tmp1_ = NULL; + SidebarBranch* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GeeHashMap* _tmp4_ = NULL; + SidebarBranch* _tmp5_ = NULL; + gint _tmp6_ = 0; + SidebarBranch* _tmp7_ = NULL; + gboolean _tmp8_ = FALSE; + SidebarBranch* _tmp20_ = NULL; + SidebarBranch* _tmp21_ = NULL; + SidebarBranch* _tmp22_ = NULL; + SidebarBranch* _tmp23_ = NULL; + SidebarBranch* _tmp24_ = NULL; + SidebarBranch* _tmp25_ = NULL; + SidebarBranch* _tmp26_ = NULL; +#line 403 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 403 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 403 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = position; +#line 403 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_return_if_fail (_tmp0_ >= 0, "position >= 0"); +#line 404 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = self->priv->branches; +#line 404 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = branch; +#line 404 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_); +#line 404 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (!_tmp3_, "!branches.has_key(branch)"); +#line 406 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = self->priv->branches; +#line 406 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = branch; +#line 406 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = position; +#line 406 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp5_, (gpointer) ((gintptr) _tmp6_)); +#line 408 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = branch; +#line 408 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = sidebar_branch_get_show_branch (_tmp7_); +#line 408 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp8_) { +#line 2680 "Tree.c" + SidebarBranch* _tmp9_ = NULL; + SidebarBranch* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + SidebarBranch* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 409 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = branch; +#line 409 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_branch (self, _tmp9_); +#line 411 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = branch; +#line 411 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = sidebar_branch_is_startup_expand_to_first_child (_tmp10_); +#line 411 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp11_) { +#line 2696 "Tree.c" + SidebarBranch* _tmp12_ = NULL; + SidebarEntry* _tmp13_ = NULL; + SidebarEntry* _tmp14_ = NULL; +#line 412 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = branch; +#line 412 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = sidebar_branch_get_root (_tmp12_); +#line 412 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = _tmp13_; +#line 412 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_expand_to_first_child (self, _tmp14_); +#line 412 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp14_); +#line 2710 "Tree.c" + } +#line 414 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = branch; +#line 414 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = sidebar_branch_is_startup_open_grouping (_tmp15_); +#line 414 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp16_) { +#line 2718 "Tree.c" + SidebarBranch* _tmp17_ = NULL; + SidebarEntry* _tmp18_ = NULL; + SidebarEntry* _tmp19_ = NULL; +#line 415 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = branch; +#line 415 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = sidebar_branch_get_root (_tmp17_); +#line 415 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = _tmp18_; +#line 415 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_expand_to_entry (self, _tmp19_); +#line 415 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp19_); +#line 2732 "Tree.c" + } + } +#line 418 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = branch; +#line 418 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp20_, "entry-added", (GCallback) _sidebar_tree_on_branch_entry_added_sidebar_branch_entry_added, self, 0); +#line 419 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = branch; +#line 419 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp21_, "entry-removed", (GCallback) _sidebar_tree_on_branch_entry_removed_sidebar_branch_entry_removed, self, 0); +#line 420 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = branch; +#line 420 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp22_, "entry-moved", (GCallback) _sidebar_tree_on_branch_entry_moved_sidebar_branch_entry_moved, self, 0); +#line 421 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = branch; +#line 421 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp23_, "entry-reparented", (GCallback) _sidebar_tree_on_branch_entry_reparented_sidebar_branch_entry_reparented, self, 0); +#line 422 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = branch; +#line 422 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp24_, "children-reordered", (GCallback) _sidebar_tree_on_branch_children_reordered_sidebar_branch_children_reordered, self, 0); +#line 423 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = branch; +#line 423 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp25_, "show-branch", (GCallback) _sidebar_tree_on_show_branch_sidebar_branch_show_branch, self, 0); +#line 425 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = branch; +#line 425 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_emit_by_name (self, "branch-added", _tmp26_); +#line 2763 "Tree.c" +} + + +static GtkTreeIter* _gtk_tree_iter_dup (GtkTreeIter* self) { + GtkTreeIter* dup; +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + dup = g_new0 (GtkTreeIter, 1); +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + memcpy (dup, self, sizeof (GtkTreeIter)); +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return dup; +#line 2775 "Tree.c" +} + + +static gpointer __gtk_tree_iter_dup0 (gpointer self) { +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return self ? _gtk_tree_iter_dup (self) : NULL; +#line 2782 "Tree.c" +} + + +static void sidebar_tree_associate_branch (SidebarTree* self, SidebarBranch* branch) { + GeeHashMap* _tmp0_ = NULL; + SidebarBranch* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint position = 0; + GeeHashMap* _tmp3_ = NULL; + SidebarBranch* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + GtkTreeIter* insertion_iter = NULL; + GtkTreeIter iter = {0}; + gboolean found = FALSE; + GtkTreeStore* _tmp6_ = NULL; + GtkTreeIter _tmp7_ = {0}; + gboolean _tmp8_ = FALSE; + GtkTreeIter* _tmp24_ = NULL; + GtkTreeIter* _tmp29_ = NULL; + GtkTreeStore* _tmp30_ = NULL; + SidebarBranch* _tmp31_ = NULL; + SidebarEntry* _tmp32_ = NULL; + SidebarEntry* _tmp33_ = NULL; + GtkTreeStore* _tmp34_ = NULL; + GtkTreeIter* _tmp35_ = NULL; + GtkTreeIter _tmp36_ = {0}; + GtkTreePath* _tmp37_ = NULL; + GtkTreePath* _tmp38_ = NULL; + gint _tmp39_ = 0; + SidebarTreeRootWrapper* _tmp40_ = NULL; + SidebarTreeRootWrapper* _tmp41_ = NULL; + GtkTreeIter _tmp42_ = {0}; + SidebarBranch* _tmp43_ = NULL; + SidebarBranch* _tmp44_ = NULL; + SidebarEntry* _tmp45_ = NULL; + SidebarEntry* _tmp46_ = NULL; + GtkTreeIter* _tmp47_ = NULL; + GtkTreeIter _tmp48_ = {0}; +#line 429 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 429 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 430 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->branches; +#line 430 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = branch; +#line 430 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 430 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp2_, "branches.has_key(branch)"); +#line 432 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = self->priv->branches; +#line 432 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = branch; +#line 432 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 432 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + position = (gint) ((gintptr) _tmp5_); +#line 434 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + insertion_iter = NULL; +#line 438 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->store; +#line 438 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = gtk_tree_model_get_iter_first (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp7_); +#line 438 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + iter = _tmp7_; +#line 438 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + found = _tmp8_; +#line 439 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + while (TRUE) { +#line 2853 "Tree.c" + gboolean _tmp9_ = FALSE; + SidebarTreeRootWrapper* root_wrapper = NULL; + GtkTreeIter _tmp10_ = {0}; + SidebarTreeEntryWrapper* _tmp11_ = NULL; + SidebarTreeRootWrapper* _tmp12_ = NULL; + SidebarTreeRootWrapper* _tmp13_ = NULL; + gint _tmp14_ = 0; + SidebarTreeRootWrapper* _tmp15_ = NULL; + gint _tmp16_ = 0; + GtkTreeStore* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; +#line 439 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = found; +#line 439 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp9_) { +#line 439 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 2871 "Tree.c" + } +#line 440 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = iter; +#line 440 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = sidebar_tree_get_wrapper_at_iter (self, &_tmp10_); +#line 440 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, SIDEBAR_TREE_TYPE_ROOT_WRAPPER) ? ((SidebarTreeRootWrapper*) _tmp11_) : NULL; +#line 440 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp12_ == NULL) { +#line 440 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp11_); +#line 2883 "Tree.c" + } +#line 440 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + root_wrapper = _tmp12_; +#line 441 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = root_wrapper; +#line 441 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp13_ != NULL, "root_wrapper != null"); +#line 443 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = position; +#line 443 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = root_wrapper; +#line 443 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = _tmp15_->root_position; +#line 443 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp14_ < _tmp16_) { +#line 2899 "Tree.c" + GtkTreeStore* _tmp17_ = NULL; + GtkTreeIter _tmp18_ = {0}; + GtkTreeIter _tmp19_ = {0}; + GtkTreeIter _tmp20_ = {0}; + GtkTreeIter* _tmp21_ = NULL; +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = self->priv->store; +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = iter; +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_insert_before (_tmp17_, &_tmp19_, NULL, &_tmp18_); +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (insertion_iter); +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = _tmp19_; +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = __gtk_tree_iter_dup0 (&_tmp20_); +#line 444 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + insertion_iter = _tmp21_; +#line 446 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (root_wrapper); +#line 446 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 2923 "Tree.c" + } +#line 449 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = self->priv->store; +#line 449 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = gtk_tree_model_iter_next (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &iter); +#line 449 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + found = _tmp23_; +#line 439 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (root_wrapper); +#line 2933 "Tree.c" + } +#line 453 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = insertion_iter; +#line 453 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp24_ == NULL) { +#line 2939 "Tree.c" + GtkTreeStore* _tmp25_ = NULL; + GtkTreeIter _tmp26_ = {0}; + GtkTreeIter _tmp27_ = {0}; + GtkTreeIter* _tmp28_ = NULL; +#line 454 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = self->priv->store; +#line 454 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_append (_tmp25_, &_tmp26_, NULL); +#line 454 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (insertion_iter); +#line 454 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = _tmp26_; +#line 454 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp28_ = __gtk_tree_iter_dup0 (&_tmp27_); +#line 454 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + insertion_iter = _tmp28_; +#line 2956 "Tree.c" + } +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp29_ = insertion_iter; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp30_ = self->priv->store; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp31_ = branch; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp32_ = sidebar_branch_get_root (_tmp31_); +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp33_ = _tmp32_; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp34_ = self->priv->store; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp35_ = insertion_iter; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp36_ = *_tmp35_; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp37_ = gtk_tree_model_get_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp36_); +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp38_ = _tmp37_; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp39_ = position; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp40_ = sidebar_tree_root_wrapper_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GTK_TYPE_TREE_MODEL, GtkTreeModel), _tmp33_, _tmp38_, _tmp39_); +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp41_ = _tmp40_; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp42_ = *_tmp29_; +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_wrapper (self, &_tmp42_, G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, SidebarTreeEntryWrapper)); +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp41_); +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp38_); +#line 456 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp33_); +#line 461 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp43_ = branch; +#line 461 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp44_ = branch; +#line 461 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp45_ = sidebar_branch_get_root (_tmp44_); +#line 461 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp46_ = _tmp45_; +#line 461 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp47_ = insertion_iter; +#line 461 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp48_ = *_tmp47_; +#line 461 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_children (self, _tmp43_, _tmp46_, &_tmp48_); +#line 461 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp46_); +#line 429 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (insertion_iter); +#line 3012 "Tree.c" +} + + +static void sidebar_tree_associate_children (SidebarTree* self, SidebarBranch* branch, SidebarEntry* parent, GtkTreeIter* parent_iter) { + GeeList* children = NULL; + SidebarBranch* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; +#line 464 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 464 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 464 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (parent)); +#line 464 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (parent_iter != NULL); +#line 466 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = branch; +#line 466 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = parent; +#line 466 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = sidebar_branch_get_children (_tmp0_, _tmp1_); +#line 466 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + children = _tmp2_; +#line 467 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = children; +#line 467 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp3_ == NULL) { +#line 468 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (children); +#line 468 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 3046 "Tree.c" + } + { + GeeList* _child_list = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _child_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _child_index = 0; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = children; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_list = _tmp5_; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _child_list; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _tmp7_; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_size = _tmp8_; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_index = -1; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + while (TRUE) { +#line 3075 "Tree.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + SidebarEntry* child = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + GtkTreeIter append_iter = {0}; + GtkTreeStore* _tmp15_ = NULL; + GtkTreeIter _tmp16_ = {0}; + GtkTreeIter _tmp17_ = {0}; + GtkTreeIter _tmp18_ = {0}; + SidebarEntry* _tmp19_ = NULL; + SidebarBranch* _tmp20_ = NULL; + SidebarEntry* _tmp21_ = NULL; + GtkTreeIter _tmp22_ = {0}; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = _child_index; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_index = _tmp9_ + 1; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = _child_index; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = _child_size; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 3104 "Tree.c" + } +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = _child_list; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = _child_index; +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + child = (SidebarEntry*) _tmp14_; +#line 472 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = self->priv->store; +#line 472 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = *parent_iter; +#line 472 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_append (_tmp15_, &_tmp17_, &_tmp16_); +#line 472 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + append_iter = _tmp17_; +#line 474 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = append_iter; +#line 474 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = child; +#line 474 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_entry (self, &_tmp18_, _tmp19_); +#line 475 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = branch; +#line 475 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = child; +#line 475 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = append_iter; +#line 475 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_children (self, _tmp20_, _tmp21_, &_tmp22_); +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (child); +#line 3138 "Tree.c" + } +#line 470 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_child_list); +#line 3142 "Tree.c" + } +#line 464 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (children); +#line 3146 "Tree.c" +} + + +static void sidebar_tree_associate_entry (SidebarTree* self, GtkTreeIter* assoc_iter, SidebarEntry* entry) { + GtkTreeIter _tmp0_ = {0}; + GtkTreeStore* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + GtkTreeStore* _tmp3_ = NULL; + GtkTreeIter _tmp4_ = {0}; + GtkTreePath* _tmp5_ = NULL; + GtkTreePath* _tmp6_ = NULL; + SidebarTreeEntryWrapper* _tmp7_ = NULL; + SidebarTreeEntryWrapper* _tmp8_ = NULL; +#line 479 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 479 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (assoc_iter != NULL); +#line 479 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = *assoc_iter; +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = self->priv->store; +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = entry; +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = self->priv->store; +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = *assoc_iter; +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = gtk_tree_model_get_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp4_); +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _tmp5_; +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = sidebar_tree_entry_wrapper_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GTK_TYPE_TREE_MODEL, GtkTreeModel), _tmp2_, _tmp6_); +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _tmp7_; +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_wrapper (self, &_tmp0_, _tmp8_); +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp8_); +#line 480 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp6_); +#line 3190 "Tree.c" +} + + +static void _sidebar_tree_on_sidebar_tooltip_changed_sidebar_entry_sidebar_tooltip_changed (SidebarEntry* _sender, const gchar* tooltip, gpointer self) { +#line 494 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_sidebar_tooltip_changed ((SidebarTree*) self, _sender, tooltip); +#line 3197 "Tree.c" +} + + +static void _sidebar_tree_on_sidebar_icon_changed_sidebar_entry_sidebar_icon_changed (SidebarEntry* _sender, const gchar* icon, gpointer self) { +#line 495 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_sidebar_icon_changed ((SidebarTree*) self, _sender, icon); +#line 3204 "Tree.c" +} + + +static void _sidebar_tree_on_sidebar_page_created_sidebar_page_representative_page_created (SidebarPageRepresentative* _sender, Page* page, gpointer self) { +#line 499 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_sidebar_page_created ((SidebarTree*) self, _sender, page); +#line 3211 "Tree.c" +} + + +static void _sidebar_tree_on_sidebar_destroying_page_sidebar_page_representative_destroying_page (SidebarPageRepresentative* _sender, Page* page, gpointer self) { +#line 500 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_sidebar_destroying_page ((SidebarTree*) self, _sender, page); +#line 3218 "Tree.c" +} + + +static void _sidebar_tree_on_is_emphasized_changed_sidebar_emphasizable_entry_is_emphasized_changed (SidebarEmphasizableEntry* _sender, gboolean emphasized, gpointer self) { +#line 505 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_is_emphasized_changed ((SidebarTree*) self, _sender, emphasized); +#line 3225 "Tree.c" +} + + +static void _sidebar_tree_on_sidebar_name_changed_sidebar_renameable_entry_sidebar_name_changed (SidebarRenameableEntry* _sender, const gchar* name, gpointer self) { +#line 509 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_sidebar_name_changed ((SidebarTree*) self, _sender, name); +#line 3232 "Tree.c" +} + + +static void sidebar_tree_associate_wrapper (SidebarTree* self, GtkTreeIter* assoc_iter, SidebarTreeEntryWrapper* wrapper) { + SidebarEntry* entry = NULL; + SidebarTreeEntryWrapper* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + GeeHashMap* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + SidebarTreeEntryWrapper* _tmp8_ = NULL; + GtkTreeStore* _tmp9_ = NULL; + GtkTreeIter _tmp10_ = {0}; + SidebarEntry* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GtkTreeStore* _tmp14_ = NULL; + GtkTreeIter _tmp15_ = {0}; + SidebarEntry* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + GtkTreeStore* _tmp21_ = NULL; + GtkTreeIter _tmp22_ = {0}; + SidebarTreeEntryWrapper* _tmp23_ = NULL; + GtkTreeIter _tmp24_ = {0}; + SidebarEntry* _tmp25_ = NULL; + SidebarEntry* _tmp26_ = NULL; + SidebarPageRepresentative* pageable = NULL; + SidebarEntry* _tmp27_ = NULL; + SidebarPageRepresentative* _tmp28_ = NULL; + SidebarPageRepresentative* _tmp29_ = NULL; + SidebarEmphasizableEntry* emphasizable = NULL; + SidebarEntry* _tmp32_ = NULL; + SidebarEmphasizableEntry* _tmp33_ = NULL; + SidebarEmphasizableEntry* _tmp34_ = NULL; + SidebarRenameableEntry* renameable = NULL; + SidebarEntry* _tmp36_ = NULL; + SidebarRenameableEntry* _tmp37_ = NULL; + SidebarRenameableEntry* _tmp38_ = NULL; + SidebarEntry* _tmp40_ = NULL; +#line 483 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 483 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (assoc_iter != NULL); +#line 483 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_TREE_IS_ENTRY_WRAPPER (wrapper)); +#line 484 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = wrapper; +#line 484 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _tmp0_->entry; +#line 484 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 484 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + entry = _tmp2_; +#line 486 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = self->priv->entry_map; +#line 486 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = entry; +#line 486 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_); +#line 486 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (!_tmp5_, "!entry_map.has_key(entry)"); +#line 487 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->entry_map; +#line 487 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = entry; +#line 487 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = wrapper; +#line 487 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_, _tmp8_); +#line 489 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = self->priv->store; +#line 489 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = *assoc_iter; +#line 489 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = entry; +#line 489 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = sidebar_tree_get_name_for_entry (self, _tmp11_); +#line 489 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = _tmp12_; +#line 489 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp9_, &_tmp10_, SIDEBAR_TREE_COLUMNS_NAME, _tmp13_, -1); +#line 489 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp13_); +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = self->priv->store; +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = *assoc_iter; +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = entry; +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = sidebar_entry_get_sidebar_tooltip (_tmp16_); +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = _tmp17_; +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = guarded_markup_escape_text (_tmp18_); +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = _tmp19_; +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp14_, &_tmp15_, SIDEBAR_TREE_COLUMNS_TOOLTIP, _tmp20_, -1); +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp20_); +#line 490 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp18_); +#line 491 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = self->priv->store; +#line 491 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = *assoc_iter; +#line 491 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = wrapper; +#line 491 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp21_, &_tmp22_, SIDEBAR_TREE_COLUMNS_WRAPPER, _tmp23_, -1); +#line 492 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = *assoc_iter; +#line 492 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_load_entry_icons (self, &_tmp24_); +#line 494 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = entry; +#line 494 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp25_, "sidebar-tooltip-changed", (GCallback) _sidebar_tree_on_sidebar_tooltip_changed_sidebar_entry_sidebar_tooltip_changed, self, 0); +#line 495 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = entry; +#line 495 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp26_, "sidebar-icon-changed", (GCallback) _sidebar_tree_on_sidebar_icon_changed_sidebar_entry_sidebar_icon_changed, self, 0); +#line 497 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = entry; +#line 497 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp28_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp27_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE) ? ((SidebarPageRepresentative*) _tmp27_) : NULL); +#line 497 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + pageable = _tmp28_; +#line 498 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp29_ = pageable; +#line 498 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp29_ != NULL) { +#line 3372 "Tree.c" + SidebarPageRepresentative* _tmp30_ = NULL; + SidebarPageRepresentative* _tmp31_ = NULL; +#line 499 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp30_ = pageable; +#line 499 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp30_, "page-created", (GCallback) _sidebar_tree_on_sidebar_page_created_sidebar_page_representative_page_created, self, 0); +#line 500 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp31_ = pageable; +#line 500 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp31_, "destroying-page", (GCallback) _sidebar_tree_on_sidebar_destroying_page_sidebar_page_representative_destroying_page, self, 0); +#line 3383 "Tree.c" + } +#line 503 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp32_ = entry; +#line 503 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp33_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, SIDEBAR_TYPE_EMPHASIZABLE_ENTRY) ? ((SidebarEmphasizableEntry*) _tmp32_) : NULL); +#line 503 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + emphasizable = _tmp33_; +#line 504 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp34_ = emphasizable; +#line 504 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp34_ != NULL) { +#line 3395 "Tree.c" + SidebarEmphasizableEntry* _tmp35_ = NULL; +#line 505 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp35_ = emphasizable; +#line 505 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp35_, "is-emphasized-changed", (GCallback) _sidebar_tree_on_is_emphasized_changed_sidebar_emphasizable_entry_is_emphasized_changed, self, 0); +#line 3401 "Tree.c" + } +#line 507 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp36_ = entry; +#line 507 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp37_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp36_, SIDEBAR_TYPE_RENAMEABLE_ENTRY) ? ((SidebarRenameableEntry*) _tmp36_) : NULL); +#line 507 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + renameable = _tmp37_; +#line 508 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp38_ = renameable; +#line 508 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp38_ != NULL) { +#line 3413 "Tree.c" + SidebarRenameableEntry* _tmp39_ = NULL; +#line 509 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp39_ = renameable; +#line 509 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (_tmp39_, "sidebar-name-changed", (GCallback) _sidebar_tree_on_sidebar_name_changed_sidebar_renameable_entry_sidebar_name_changed, self, 0); +#line 3419 "Tree.c" + } +#line 511 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp40_ = entry; +#line 511 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_entry_grafted (_tmp40_, self); +#line 483 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (renameable); +#line 483 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (emphasizable); +#line 483 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (pageable); +#line 483 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (entry); +#line 3433 "Tree.c" +} + + +static SidebarTreeEntryWrapper* sidebar_tree_reparent_wrapper (SidebarTree* self, GtkTreeIter* new_iter, SidebarTreeEntryWrapper* current_wrapper) { + SidebarTreeEntryWrapper* result = NULL; + SidebarEntry* entry = NULL; + SidebarTreeEntryWrapper* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + SidebarTreeEntryWrapper* new_wrapper = NULL; + GtkTreeStore* _tmp5_ = NULL; + GtkTreeStore* _tmp6_ = NULL; + GtkTreeIter _tmp7_ = {0}; + GtkTreePath* _tmp8_ = NULL; + GtkTreePath* _tmp9_ = NULL; + SidebarTreeEntryWrapper* _tmp10_ = NULL; + SidebarTreeEntryWrapper* _tmp11_ = NULL; + GeeHashMap* _tmp12_ = NULL; + GtkTreeStore* _tmp13_ = NULL; + GtkTreeIter _tmp14_ = {0}; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + GtkTreeStore* _tmp17_ = NULL; + GtkTreeIter _tmp18_ = {0}; + gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gchar* _tmp22_ = NULL; + GtkTreeStore* _tmp23_ = NULL; + GtkTreeIter _tmp24_ = {0}; + GtkTreeIter _tmp25_ = {0}; +#line 514 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), NULL); +#line 514 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (new_iter != NULL, NULL); +#line 514 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_TREE_IS_ENTRY_WRAPPER (current_wrapper), NULL); +#line 515 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = current_wrapper; +#line 515 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _tmp0_->entry; +#line 515 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 515 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + entry = _tmp2_; +#line 517 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = self->priv->entry_map; +#line 517 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), entry, NULL); +#line 517 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + removed = _tmp4_; +#line 518 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (removed, "removed"); +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = self->priv->store; +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->store; +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = *new_iter; +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = gtk_tree_model_get_path (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp7_); +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = _tmp8_; +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = sidebar_tree_entry_wrapper_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GTK_TYPE_TREE_MODEL, GtkTreeModel), entry, _tmp9_); +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = _tmp10_; +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp9_); +#line 520 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + new_wrapper = _tmp11_; +#line 521 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = self->priv->entry_map; +#line 521 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), entry, new_wrapper); +#line 523 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = self->priv->store; +#line 523 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = *new_iter; +#line 523 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = sidebar_tree_get_name_for_entry (self, entry); +#line 523 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = _tmp15_; +#line 523 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp13_, &_tmp14_, SIDEBAR_TREE_COLUMNS_NAME, _tmp16_, -1); +#line 523 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp16_); +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = self->priv->store; +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = *new_iter; +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = sidebar_entry_get_sidebar_tooltip (entry); +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = _tmp19_; +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = guarded_markup_escape_text (_tmp20_); +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = _tmp21_; +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp17_, &_tmp18_, SIDEBAR_TREE_COLUMNS_TOOLTIP, _tmp22_, -1); +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp22_); +#line 524 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp20_); +#line 525 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = self->priv->store; +#line 525 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = *new_iter; +#line 525 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp23_, &_tmp24_, SIDEBAR_TREE_COLUMNS_WRAPPER, new_wrapper, -1); +#line 526 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = *new_iter; +#line 526 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_load_entry_icons (self, &_tmp25_); +#line 528 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = new_wrapper; +#line 528 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (entry); +#line 528 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 3558 "Tree.c" +} + + +void sidebar_tree_prune (SidebarTree* self, SidebarBranch* branch) { + GeeHashMap* _tmp0_ = NULL; + SidebarBranch* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + SidebarBranch* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; + gboolean _tmp7_ = FALSE; + SidebarBranch* _tmp9_ = NULL; + guint _tmp10_ = 0U; + SidebarBranch* _tmp11_ = NULL; + guint _tmp12_ = 0U; + SidebarBranch* _tmp13_ = NULL; + guint _tmp14_ = 0U; + SidebarBranch* _tmp15_ = NULL; + guint _tmp16_ = 0U; + SidebarBranch* _tmp17_ = NULL; + guint _tmp18_ = 0U; + SidebarBranch* _tmp19_ = NULL; + guint _tmp20_ = 0U; + gboolean removed = FALSE; + GeeHashMap* _tmp21_ = NULL; + SidebarBranch* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + SidebarBranch* _tmp24_ = NULL; +#line 531 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 531 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 532 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->branches; +#line 532 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = branch; +#line 532 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 532 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp2_, "branches.has_key(branch)"); +#line 534 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = branch; +#line 534 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = sidebar_branch_get_root (_tmp3_); +#line 534 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_; +#line 534 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = sidebar_tree_has_wrapper (self, _tmp5_); +#line 534 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = _tmp6_; +#line 534 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp5_); +#line 534 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp7_) { +#line 3614 "Tree.c" + SidebarBranch* _tmp8_ = NULL; +#line 535 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = branch; +#line 535 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_disassociate_branch (self, _tmp8_); +#line 3620 "Tree.c" + } +#line 537 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = branch; +#line 537 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("entry-added", SIDEBAR_TYPE_BRANCH, &_tmp10_, NULL, FALSE); +#line 537 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp9_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp10_, 0, NULL, (GCallback) _sidebar_tree_on_branch_entry_added_sidebar_branch_entry_added, self); +#line 538 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = branch; +#line 538 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("entry-removed", SIDEBAR_TYPE_BRANCH, &_tmp12_, NULL, FALSE); +#line 538 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _sidebar_tree_on_branch_entry_removed_sidebar_branch_entry_removed, self); +#line 539 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = branch; +#line 539 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("entry-moved", SIDEBAR_TYPE_BRANCH, &_tmp14_, NULL, FALSE); +#line 539 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp13_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _sidebar_tree_on_branch_entry_moved_sidebar_branch_entry_moved, self); +#line 540 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = branch; +#line 540 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("entry-reparented", SIDEBAR_TYPE_BRANCH, &_tmp16_, NULL, FALSE); +#line 540 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp15_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _sidebar_tree_on_branch_entry_reparented_sidebar_branch_entry_reparented, self); +#line 541 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = branch; +#line 541 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("children-reordered", SIDEBAR_TYPE_BRANCH, &_tmp18_, NULL, FALSE); +#line 541 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp17_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _sidebar_tree_on_branch_children_reordered_sidebar_branch_children_reordered, self); +#line 542 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = branch; +#line 542 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("show-branch", SIDEBAR_TYPE_BRANCH, &_tmp20_, NULL, FALSE); +#line 542 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp19_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp20_, 0, NULL, (GCallback) _sidebar_tree_on_show_branch_sidebar_branch_show_branch, self); +#line 544 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = self->priv->branches; +#line 544 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = branch; +#line 544 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp22_, NULL); +#line 544 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + removed = _tmp23_; +#line 545 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (removed, "removed"); +#line 547 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = branch; +#line 547 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_emit_by_name (self, "branch-removed", _tmp24_); +#line 3672 "Tree.c" +} + + +static void sidebar_tree_disassociate_branch (SidebarTree* self, SidebarBranch* branch) { + SidebarTreeRootWrapper* root_wrapper = NULL; + SidebarBranch* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + SidebarTreeRootWrapper* _tmp4_ = NULL; + SidebarTreeRootWrapper* _tmp5_ = NULL; +#line 550 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 550 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = branch; +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_branch_get_root (_tmp0_); +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _tmp1_; +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = sidebar_tree_get_wrapper (self, _tmp2_); +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, SIDEBAR_TREE_TYPE_ROOT_WRAPPER) ? ((SidebarTreeRootWrapper*) _tmp3_) : NULL; +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp4_ == NULL) { +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp3_); +#line 3702 "Tree.c" + } +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_; +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp2_); +#line 551 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + root_wrapper = _tmp5_; +#line 552 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (root_wrapper != NULL, "root_wrapper != null"); +#line 554 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_disassociate_wrapper_and_signal (self, G_TYPE_CHECK_INSTANCE_CAST (root_wrapper, SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, SidebarTreeEntryWrapper), FALSE); +#line 550 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (root_wrapper); +#line 3716 "Tree.c" +} + + +static void sidebar_tree_disassociate_wrapper_and_signal (SidebarTree* self, SidebarTreeEntryWrapper* wrapper, gboolean only_children) { + gboolean selected = FALSE; + SidebarTreeEntryWrapper* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; +#line 559 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 559 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_TREE_IS_ENTRY_WRAPPER (wrapper)); +#line 560 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = wrapper; +#line 560 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _tmp0_->entry; +#line 560 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = sidebar_tree_is_selected (self, _tmp1_); +#line 560 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selected = _tmp2_; +#line 562 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 562 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = only_children; +#line 562 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_disassociate_wrapper (self, _tmp3_, _tmp4_); +#line 564 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = selected; +#line 564 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp5_) { +#line 3750 "Tree.c" + SidebarSelectableEntry* selectable = NULL; + SidebarTreeEntryWrapper* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + SidebarSelectableEntry* _tmp8_ = NULL; + SidebarSelectableEntry* _tmp9_ = NULL; + SidebarSelectableEntry* _tmp10_ = NULL; +#line 565 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = wrapper; +#line 565 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = _tmp6_->entry; +#line 565 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, SIDEBAR_TYPE_SELECTABLE_ENTRY) ? ((SidebarSelectableEntry*) _tmp7_) : NULL); +#line 565 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selectable = _tmp8_; +#line 566 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = selectable; +#line 566 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp9_ != NULL, "selectable != null"); +#line 568 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = selectable; +#line 568 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_emit_by_name (self, "selected-entry-removed", _tmp10_); +#line 564 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selectable); +#line 3775 "Tree.c" + } +} + + +static void sidebar_tree_disassociate_wrapper (SidebarTree* self, SidebarTreeEntryWrapper* wrapper, gboolean only_children) { + GeeArrayList* children = NULL; + GeeArrayList* _tmp0_ = NULL; + GtkTreeIter child_iter = {0}; + gboolean found = FALSE; + GtkTreeStore* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + GtkTreeIter _tmp3_ = {0}; + GtkTreeIter _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + gboolean _tmp26_ = FALSE; + GtkTreeIter iter = {0}; + SidebarTreeEntryWrapper* _tmp27_ = NULL; + GtkTreeIter _tmp28_ = {0}; + GtkTreeStore* _tmp29_ = NULL; + SidebarTreeEntryWrapper* _tmp30_ = NULL; + SidebarTreeEntryWrapper* _tmp31_ = NULL; + SidebarEntry* entry = NULL; + SidebarTreeEntryWrapper* _tmp32_ = NULL; + SidebarEntry* _tmp33_ = NULL; + SidebarEntry* _tmp34_ = NULL; + SidebarEntry* _tmp35_ = NULL; + SidebarEntry* _tmp36_ = NULL; + guint _tmp37_ = 0U; + SidebarEntry* _tmp38_ = NULL; + guint _tmp39_ = 0U; + SidebarPageRepresentative* pageable = NULL; + SidebarEntry* _tmp40_ = NULL; + SidebarPageRepresentative* _tmp41_ = NULL; + SidebarPageRepresentative* _tmp42_ = NULL; + SidebarRenameableEntry* renameable = NULL; + SidebarEntry* _tmp47_ = NULL; + SidebarRenameableEntry* _tmp48_ = NULL; + SidebarRenameableEntry* _tmp49_ = NULL; + SidebarEmphasizableEntry* emphasizable = NULL; + SidebarEntry* _tmp52_ = NULL; + SidebarEmphasizableEntry* _tmp53_ = NULL; + SidebarEmphasizableEntry* _tmp54_ = NULL; + gboolean removed = FALSE; + GeeHashMap* _tmp57_ = NULL; + SidebarEntry* _tmp58_ = NULL; + gboolean _tmp59_ = FALSE; + gboolean _tmp60_ = FALSE; +#line 572 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 572 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_TREE_IS_ENTRY_WRAPPER (wrapper)); +#line 573 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = gee_array_list_new (SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 573 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + children = _tmp0_; +#line 576 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = self->priv->store; +#line 576 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 576 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp2_, &_tmp3_); +#line 576 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = gtk_tree_model_iter_children (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp4_, &_tmp3_); +#line 576 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + child_iter = _tmp4_; +#line 576 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + found = _tmp5_; +#line 577 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + while (TRUE) { +#line 3845 "Tree.c" + gboolean _tmp6_ = FALSE; + SidebarTreeEntryWrapper* child_wrapper = NULL; + GtkTreeIter _tmp7_ = {0}; + SidebarTreeEntryWrapper* _tmp8_ = NULL; + SidebarTreeEntryWrapper* _tmp9_ = NULL; + GeeArrayList* _tmp10_ = NULL; + SidebarTreeEntryWrapper* _tmp11_ = NULL; + GtkTreeStore* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; +#line 577 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = found; +#line 577 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp6_) { +#line 577 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 3861 "Tree.c" + } +#line 578 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = child_iter; +#line 578 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = sidebar_tree_get_wrapper_at_iter (self, &_tmp7_); +#line 578 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + child_wrapper = _tmp8_; +#line 579 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = child_wrapper; +#line 579 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp9_ != NULL, "child_wrapper != null"); +#line 581 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = children; +#line 581 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = child_wrapper; +#line 581 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_); +#line 583 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = self->priv->store; +#line 583 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = gtk_tree_model_iter_next (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &child_iter); +#line 583 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + found = _tmp13_; +#line 577 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (child_wrapper); +#line 3887 "Tree.c" + } + { + GeeArrayList* _child_wrapper_list = NULL; + GeeArrayList* _tmp14_ = NULL; + GeeArrayList* _tmp15_ = NULL; + gint _child_wrapper_size = 0; + GeeArrayList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gint _child_wrapper_index = 0; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = children; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_wrapper_list = _tmp15_; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = _child_wrapper_list; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = _tmp17_; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_wrapper_size = _tmp18_; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_wrapper_index = -1; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + while (TRUE) { +#line 3916 "Tree.c" + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _tmp21_ = 0; + SidebarTreeEntryWrapper* child_wrapper = NULL; + GeeArrayList* _tmp22_ = NULL; + gint _tmp23_ = 0; + gpointer _tmp24_ = NULL; + SidebarTreeEntryWrapper* _tmp25_ = NULL; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = _child_wrapper_index; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_wrapper_index = _tmp19_ + 1; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = _child_wrapper_index; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = _child_wrapper_size; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!(_tmp20_ < _tmp21_)) { +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 3937 "Tree.c" + } +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = _child_wrapper_list; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = _child_wrapper_index; +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp23_); +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + child_wrapper = (SidebarTreeEntryWrapper*) _tmp24_; +#line 587 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = child_wrapper; +#line 587 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_disassociate_wrapper (self, _tmp25_, FALSE); +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (child_wrapper); +#line 3953 "Tree.c" + } +#line 586 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_child_wrapper_list); +#line 3957 "Tree.c" + } +#line 589 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = only_children; +#line 589 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp26_) { +#line 590 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (children); +#line 590 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 3967 "Tree.c" + } +#line 592 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = wrapper; +#line 592 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp27_, &_tmp28_); +#line 592 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + iter = _tmp28_; +#line 593 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp29_ = self->priv->store; +#line 593 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_remove (_tmp29_, &iter); +#line 595 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp30_ = self->priv->selected_wrapper; +#line 595 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp31_ = wrapper; +#line 595 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp30_ == _tmp31_) { +#line 596 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->selected_wrapper = NULL; +#line 3987 "Tree.c" + } +#line 598 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp32_ = wrapper; +#line 598 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp33_ = _tmp32_->entry; +#line 598 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp34_ = _g_object_ref0 (_tmp33_); +#line 598 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + entry = _tmp34_; +#line 600 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp35_ = entry; +#line 600 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_entry_pruned (_tmp35_, self); +#line 602 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp36_ = entry; +#line 602 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("sidebar-tooltip-changed", SIDEBAR_TYPE_ENTRY, &_tmp37_, NULL, FALSE); +#line 602 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp36_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp37_, 0, NULL, (GCallback) _sidebar_tree_on_sidebar_tooltip_changed_sidebar_entry_sidebar_tooltip_changed, self); +#line 603 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp38_ = entry; +#line 603 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("sidebar-icon-changed", SIDEBAR_TYPE_ENTRY, &_tmp39_, NULL, FALSE); +#line 603 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp38_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp39_, 0, NULL, (GCallback) _sidebar_tree_on_sidebar_icon_changed_sidebar_entry_sidebar_icon_changed, self); +#line 605 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp40_ = entry; +#line 605 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp41_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp40_, SIDEBAR_TYPE_PAGE_REPRESENTATIVE) ? ((SidebarPageRepresentative*) _tmp40_) : NULL); +#line 605 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + pageable = _tmp41_; +#line 606 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp42_ = pageable; +#line 606 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp42_ != NULL) { +#line 4023 "Tree.c" + SidebarPageRepresentative* _tmp43_ = NULL; + guint _tmp44_ = 0U; + SidebarPageRepresentative* _tmp45_ = NULL; + guint _tmp46_ = 0U; +#line 607 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp43_ = pageable; +#line 607 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("page-created", SIDEBAR_TYPE_PAGE_REPRESENTATIVE, &_tmp44_, NULL, FALSE); +#line 607 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp43_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp44_, 0, NULL, (GCallback) _sidebar_tree_on_sidebar_page_created_sidebar_page_representative_page_created, self); +#line 608 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp45_ = pageable; +#line 608 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("destroying-page", SIDEBAR_TYPE_PAGE_REPRESENTATIVE, &_tmp46_, NULL, FALSE); +#line 608 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp45_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp46_, 0, NULL, (GCallback) _sidebar_tree_on_sidebar_destroying_page_sidebar_page_representative_destroying_page, self); +#line 4040 "Tree.c" + } +#line 611 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp47_ = entry; +#line 611 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp48_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp47_, SIDEBAR_TYPE_RENAMEABLE_ENTRY) ? ((SidebarRenameableEntry*) _tmp47_) : NULL); +#line 611 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + renameable = _tmp48_; +#line 612 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp49_ = renameable; +#line 612 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp49_ != NULL) { +#line 4052 "Tree.c" + SidebarRenameableEntry* _tmp50_ = NULL; + guint _tmp51_ = 0U; +#line 613 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp50_ = renameable; +#line 613 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("sidebar-name-changed", SIDEBAR_TYPE_RENAMEABLE_ENTRY, &_tmp51_, NULL, FALSE); +#line 613 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp50_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp51_, 0, NULL, (GCallback) _sidebar_tree_on_sidebar_name_changed_sidebar_renameable_entry_sidebar_name_changed, self); +#line 4061 "Tree.c" + } +#line 615 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp52_ = entry; +#line 615 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp53_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp52_, SIDEBAR_TYPE_EMPHASIZABLE_ENTRY) ? ((SidebarEmphasizableEntry*) _tmp52_) : NULL); +#line 615 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + emphasizable = _tmp53_; +#line 616 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp54_ = emphasizable; +#line 616 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp54_ != NULL) { +#line 4073 "Tree.c" + SidebarEmphasizableEntry* _tmp55_ = NULL; + guint _tmp56_ = 0U; +#line 617 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp55_ = emphasizable; +#line 617 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("is-emphasized-changed", SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, &_tmp56_, NULL, FALSE); +#line 617 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (_tmp55_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp56_, 0, NULL, (GCallback) _sidebar_tree_on_is_emphasized_changed_sidebar_emphasizable_entry_is_emphasized_changed, self); +#line 4082 "Tree.c" + } +#line 619 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp57_ = self->priv->entry_map; +#line 619 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp58_ = entry; +#line 619 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp59_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp57_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp58_, NULL); +#line 619 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + removed = _tmp59_; +#line 620 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp60_ = removed; +#line 620 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp60_, "removed"); +#line 572 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (emphasizable); +#line 572 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (renameable); +#line 572 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (pageable); +#line 572 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (entry); +#line 572 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (children); +#line 4106 "Tree.c" +} + + +static void sidebar_tree_on_branch_entry_added (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry) { + SidebarEntry* parent = NULL; + SidebarBranch* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + SidebarEntry* _tmp3_ = NULL; + SidebarTreeEntryWrapper* parent_wrapper = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarTreeEntryWrapper* _tmp5_ = NULL; + SidebarTreeEntryWrapper* _tmp6_ = NULL; + GtkTreeIter insertion_iter = {0}; + SidebarEntry* next = NULL; + SidebarBranch* _tmp7_ = NULL; + SidebarEntry* _tmp8_ = NULL; + SidebarEntry* _tmp9_ = NULL; + SidebarEntry* _tmp10_ = NULL; + GtkTreeIter _tmp23_ = {0}; + SidebarEntry* _tmp24_ = NULL; + SidebarBranch* _tmp25_ = NULL; + SidebarEntry* _tmp26_ = NULL; + GtkTreeIter _tmp27_ = {0}; + SidebarBranch* _tmp28_ = NULL; + gboolean _tmp29_ = FALSE; +#line 623 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 623 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 623 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 624 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = branch; +#line 624 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = entry; +#line 624 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = sidebar_branch_get_parent (_tmp0_, _tmp1_); +#line 624 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + parent = _tmp2_; +#line 625 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = parent; +#line 625 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp3_ != NULL, "parent != null"); +#line 627 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = parent; +#line 627 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = sidebar_tree_get_wrapper (self, _tmp4_); +#line 627 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + parent_wrapper = _tmp5_; +#line 628 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = parent_wrapper; +#line 628 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp6_ != NULL, "parent_wrapper != null"); +#line 631 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = branch; +#line 631 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = entry; +#line 631 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = sidebar_branch_get_next_sibling (_tmp7_, _tmp8_); +#line 631 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + next = _tmp9_; +#line 632 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = next; +#line 632 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp10_ != NULL) { +#line 4173 "Tree.c" + SidebarTreeEntryWrapper* next_wrapper = NULL; + SidebarEntry* _tmp11_ = NULL; + SidebarTreeEntryWrapper* _tmp12_ = NULL; + GtkTreeStore* _tmp13_ = NULL; + SidebarTreeEntryWrapper* _tmp14_ = NULL; + GtkTreeIter _tmp15_ = {0}; + SidebarTreeEntryWrapper* _tmp16_ = NULL; + GtkTreeIter _tmp17_ = {0}; + GtkTreeIter _tmp18_ = {0}; +#line 633 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = next; +#line 633 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = sidebar_tree_get_wrapper (self, _tmp11_); +#line 633 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + next_wrapper = _tmp12_; +#line 636 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = self->priv->store; +#line 636 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = parent_wrapper; +#line 636 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp14_, &_tmp15_); +#line 636 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = next_wrapper; +#line 636 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp16_, &_tmp17_); +#line 636 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_insert_before (_tmp13_, &_tmp18_, &_tmp15_, &_tmp17_); +#line 636 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + insertion_iter = _tmp18_; +#line 632 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (next_wrapper); +#line 4205 "Tree.c" + } else { + GtkTreeStore* _tmp19_ = NULL; + SidebarTreeEntryWrapper* _tmp20_ = NULL; + GtkTreeIter _tmp21_ = {0}; + GtkTreeIter _tmp22_ = {0}; +#line 639 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = self->priv->store; +#line 639 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = parent_wrapper; +#line 639 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp20_, &_tmp21_); +#line 639 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_append (_tmp19_, &_tmp22_, &_tmp21_); +#line 639 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + insertion_iter = _tmp22_; +#line 4221 "Tree.c" + } +#line 642 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = insertion_iter; +#line 642 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = entry; +#line 642 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_entry (self, &_tmp23_, _tmp24_); +#line 643 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = branch; +#line 643 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = entry; +#line 643 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = insertion_iter; +#line 643 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_children (self, _tmp25_, _tmp26_, &_tmp27_); +#line 645 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp28_ = branch; +#line 645 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp29_ = sidebar_branch_is_auto_open_on_new_child (_tmp28_); +#line 645 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp29_) { +#line 4243 "Tree.c" + SidebarEntry* _tmp30_ = NULL; +#line 646 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp30_ = entry; +#line 646 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_expand_to_entry (self, _tmp30_); +#line 4249 "Tree.c" + } +#line 623 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (next); +#line 623 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (parent_wrapper); +#line 623 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (parent); +#line 4257 "Tree.c" +} + + +static void sidebar_tree_on_branch_entry_removed (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry) { + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; +#line 649 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 649 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 649 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 650 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 650 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 650 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 651 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (wrapper != NULL, "wrapper != null"); +#line 652 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (!G_TYPE_CHECK_INSTANCE_TYPE (wrapper, SIDEBAR_TREE_TYPE_ROOT_WRAPPER), "!(wrapper is RootWrapper)"); +#line 654 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_disassociate_wrapper_and_signal (self, wrapper, FALSE); +#line 649 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 4285 "Tree.c" +} + + +static void sidebar_tree_on_branch_entry_moved (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry) { + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + GtkTreeIter* prev_iter = NULL; + SidebarEntry* prev = NULL; + SidebarBranch* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarEntry* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + GtkTreeIter entry_iter = {0}; + SidebarTreeEntryWrapper* _tmp14_ = NULL; + GtkTreeIter _tmp15_ = {0}; + GtkTreeStore* _tmp16_ = NULL; + GtkTreeIter* _tmp17_ = NULL; +#line 657 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 657 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 657 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 658 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 658 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 658 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 659 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 659 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp2_ != NULL, "wrapper != null"); +#line 660 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 660 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, SIDEBAR_TREE_TYPE_ROOT_WRAPPER), "!(wrapper is RootWrapper)"); +#line 663 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + prev_iter = NULL; +#line 664 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = branch; +#line 664 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = entry; +#line 664 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = sidebar_branch_get_previous_sibling (_tmp4_, _tmp5_); +#line 664 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + prev = _tmp6_; +#line 665 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = prev; +#line 665 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp7_ != NULL) { +#line 4340 "Tree.c" + SidebarTreeEntryWrapper* prev_wrapper = NULL; + SidebarEntry* _tmp8_ = NULL; + SidebarTreeEntryWrapper* _tmp9_ = NULL; + SidebarTreeEntryWrapper* _tmp10_ = NULL; + SidebarTreeEntryWrapper* _tmp11_ = NULL; + GtkTreeIter _tmp12_ = {0}; + GtkTreeIter* _tmp13_ = NULL; +#line 666 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = prev; +#line 666 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = sidebar_tree_get_wrapper (self, _tmp8_); +#line 666 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + prev_wrapper = _tmp9_; +#line 667 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = prev_wrapper; +#line 667 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp10_ != NULL, "prev_wrapper != null"); +#line 669 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = prev_wrapper; +#line 669 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp11_, &_tmp12_); +#line 669 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = __gtk_tree_iter_dup0 (&_tmp12_); +#line 669 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (prev_iter); +#line 669 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + prev_iter = _tmp13_; +#line 665 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (prev_wrapper); +#line 4370 "Tree.c" + } +#line 672 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = wrapper; +#line 672 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp14_, &_tmp15_); +#line 672 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + entry_iter = _tmp15_; +#line 673 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = self->priv->store; +#line 673 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = prev_iter; +#line 673 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_move_after (_tmp16_, &entry_iter, _tmp17_); +#line 657 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (prev); +#line 657 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (prev_iter); +#line 657 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 4390 "Tree.c" +} + + +static void sidebar_tree_on_branch_entry_reparented (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry, SidebarEntry* old_parent) { + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + gboolean selected = FALSE; + GtkTreePath* _tmp4_ = NULL; + GtkTreePath* _tmp5_ = NULL; + SidebarTreeEntryWrapper* _tmp6_ = NULL; + GtkTreePath* _tmp7_ = NULL; + GtkTreePath* _tmp8_ = NULL; + gint _tmp9_ = 0; + gboolean _tmp10_ = FALSE; + GtkTreeIter iter = {0}; + SidebarTreeEntryWrapper* _tmp11_ = NULL; + GtkTreeIter _tmp12_ = {0}; + GtkTreeStore* _tmp13_ = NULL; + SidebarEntry* parent = NULL; + SidebarBranch* _tmp14_ = NULL; + SidebarEntry* _tmp15_ = NULL; + SidebarEntry* _tmp16_ = NULL; + SidebarEntry* _tmp17_ = NULL; + SidebarTreeEntryWrapper* parent_wrapper = NULL; + SidebarEntry* _tmp18_ = NULL; + SidebarTreeEntryWrapper* _tmp19_ = NULL; + SidebarTreeEntryWrapper* _tmp20_ = NULL; + GtkTreeIter* prev_iter = NULL; + SidebarEntry* prev = NULL; + SidebarBranch* _tmp21_ = NULL; + SidebarEntry* _tmp22_ = NULL; + SidebarEntry* _tmp23_ = NULL; + SidebarEntry* _tmp24_ = NULL; + GtkTreeIter new_iter = {0}; + GtkTreeStore* _tmp31_ = NULL; + SidebarTreeEntryWrapper* _tmp32_ = NULL; + GtkTreeIter _tmp33_ = {0}; + GtkTreeIter* _tmp34_ = NULL; + GtkTreeIter _tmp35_ = {0}; + SidebarTreeEntryWrapper* new_wrapper = NULL; + GtkTreeIter _tmp36_ = {0}; + SidebarTreeEntryWrapper* _tmp37_ = NULL; + SidebarTreeEntryWrapper* _tmp38_ = NULL; + gboolean _tmp39_ = FALSE; +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (old_parent)); +#line 678 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 678 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 678 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 679 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 679 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp2_ != NULL, "wrapper != null"); +#line 680 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 680 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, SIDEBAR_TREE_TYPE_ROOT_WRAPPER), "!(wrapper is RootWrapper)"); +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = sidebar_tree_get_current_path (self); +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_; +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = wrapper; +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = sidebar_tree_entry_wrapper_get_path (_tmp6_); +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _tmp7_; +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = gtk_tree_path_compare (_tmp5_, _tmp8_); +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = _tmp9_ == 0; +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp8_); +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp5_); +#line 682 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selected = _tmp10_; +#line 685 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = wrapper; +#line 685 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp11_, &_tmp12_); +#line 685 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + iter = _tmp12_; +#line 686 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = self->priv->store; +#line 686 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_remove (_tmp13_, &iter); +#line 688 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = branch; +#line 688 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = entry; +#line 688 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = sidebar_branch_get_parent (_tmp14_, _tmp15_); +#line 688 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + parent = _tmp16_; +#line 689 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = parent; +#line 689 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp17_ != NULL, "parent != null"); +#line 691 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = parent; +#line 691 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = sidebar_tree_get_wrapper (self, _tmp18_); +#line 691 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + parent_wrapper = _tmp19_; +#line 692 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = parent_wrapper; +#line 692 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp20_ != NULL, "parent_wrapper != null"); +#line 695 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + prev_iter = NULL; +#line 696 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = branch; +#line 696 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = entry; +#line 696 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = sidebar_branch_get_previous_sibling (_tmp21_, _tmp22_); +#line 696 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + prev = _tmp23_; +#line 697 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = prev; +#line 697 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp24_ != NULL) { +#line 4526 "Tree.c" + SidebarTreeEntryWrapper* prev_wrapper = NULL; + SidebarEntry* _tmp25_ = NULL; + SidebarTreeEntryWrapper* _tmp26_ = NULL; + SidebarTreeEntryWrapper* _tmp27_ = NULL; + SidebarTreeEntryWrapper* _tmp28_ = NULL; + GtkTreeIter _tmp29_ = {0}; + GtkTreeIter* _tmp30_ = NULL; +#line 698 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = prev; +#line 698 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = sidebar_tree_get_wrapper (self, _tmp25_); +#line 698 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + prev_wrapper = _tmp26_; +#line 699 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = prev_wrapper; +#line 699 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp27_ != NULL, "prev_wrapper != null"); +#line 701 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp28_ = prev_wrapper; +#line 701 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp28_, &_tmp29_); +#line 701 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp30_ = __gtk_tree_iter_dup0 (&_tmp29_); +#line 701 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (prev_iter); +#line 701 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + prev_iter = _tmp30_; +#line 697 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (prev_wrapper); +#line 4556 "Tree.c" + } +#line 705 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp31_ = self->priv->store; +#line 705 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp32_ = parent_wrapper; +#line 705 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp32_, &_tmp33_); +#line 705 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp34_ = prev_iter; +#line 705 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_insert_after (_tmp31_, &_tmp35_, &_tmp33_, _tmp34_); +#line 705 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + new_iter = _tmp35_; +#line 707 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp36_ = new_iter; +#line 707 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp37_ = wrapper; +#line 707 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp38_ = sidebar_tree_reparent_wrapper (self, &_tmp36_, _tmp37_); +#line 707 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + new_wrapper = _tmp38_; +#line 709 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp39_ = selected; +#line 709 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp39_) { +#line 4582 "Tree.c" + SidebarTreeEntryWrapper* _tmp40_ = NULL; + SidebarEntry* _tmp41_ = NULL; + SidebarTreeEntryWrapper* _tmp42_ = NULL; + SidebarEntry* _tmp43_ = NULL; +#line 710 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp40_ = new_wrapper; +#line 710 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp41_ = _tmp40_->entry; +#line 710 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_expand_to_entry (self, _tmp41_); +#line 711 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp42_ = new_wrapper; +#line 711 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp43_ = _tmp42_->entry; +#line 711 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_place_cursor (self, _tmp43_, FALSE); +#line 4599 "Tree.c" + } +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (new_wrapper); +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (prev); +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (prev_iter); +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (parent_wrapper); +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (parent); +#line 676 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 4613 "Tree.c" +} + + +static void sidebar_tree_on_branch_children_reordered (SidebarTree* self, SidebarBranch* branch, SidebarEntry* entry) { + GeeList* children = NULL; + SidebarBranch* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; +#line 715 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 715 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 715 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 716 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = branch; +#line 716 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = entry; +#line 716 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = sidebar_branch_get_children (_tmp0_, _tmp1_); +#line 716 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + children = _tmp2_; +#line 717 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = children; +#line 717 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp3_ == NULL) { +#line 718 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (children); +#line 718 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 4645 "Tree.c" + } + { + GeeList* _child_list = NULL; + GeeList* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _child_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _child_index = 0; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = children; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _g_object_ref0 (_tmp4_); +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_list = _tmp5_; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _child_list; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _tmp7_; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_size = _tmp8_; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_index = -1; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + while (TRUE) { +#line 4674 "Tree.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + SidebarEntry* child = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + SidebarTreeEntryWrapper* child_wrapper = NULL; + SidebarEntry* _tmp15_ = NULL; + SidebarTreeEntryWrapper* _tmp16_ = NULL; + SidebarTreeEntryWrapper* _tmp17_ = NULL; + GtkTreeIter child_iter = {0}; + SidebarTreeEntryWrapper* _tmp18_ = NULL; + GtkTreeIter _tmp19_ = {0}; + GtkTreeStore* _tmp20_ = NULL; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = _child_index; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _child_index = _tmp9_ + 1; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = _child_index; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = _child_size; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 4702 "Tree.c" + } +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = _child_list; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = _child_index; +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + child = (SidebarEntry*) _tmp14_; +#line 723 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = child; +#line 723 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = sidebar_tree_get_wrapper (self, _tmp15_); +#line 723 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + child_wrapper = _tmp16_; +#line 724 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = child_wrapper; +#line 724 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp17_ != NULL, "child_wrapper != null"); +#line 726 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = child_wrapper; +#line 726 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (_tmp18_, &_tmp19_); +#line 726 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + child_iter = _tmp19_; +#line 727 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = self->priv->store; +#line 727 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_move_before (_tmp20_, &child_iter, NULL); +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (child_wrapper); +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (child); +#line 4736 "Tree.c" + } +#line 722 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_child_list); +#line 4740 "Tree.c" + } +#line 715 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (children); +#line 4744 "Tree.c" +} + + +static void sidebar_tree_on_show_branch (SidebarTree* self, SidebarBranch* branch, gboolean shown) { + gboolean _tmp0_ = FALSE; + SidebarBranch* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 731 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 731 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_BRANCH (branch)); +#line 732 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = shown; +#line 732 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp0_) { +#line 4760 "Tree.c" + SidebarBranch* _tmp1_ = NULL; +#line 733 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = branch; +#line 733 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_associate_branch (self, _tmp1_); +#line 4766 "Tree.c" + } else { + SidebarBranch* _tmp2_ = NULL; +#line 735 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = branch; +#line 735 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_disassociate_branch (self, _tmp2_); +#line 4773 "Tree.c" + } +#line 737 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = branch; +#line 737 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = shown; +#line 737 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_emit_by_name (self, "branch-shown", _tmp3_, _tmp4_); +#line 4781 "Tree.c" +} + + +static void sidebar_tree_on_sidebar_tooltip_changed (SidebarTree* self, SidebarEntry* entry, const gchar* tooltip) { + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + GtkTreeStore* _tmp2_ = NULL; + GtkTreeIter _tmp3_ = {0}; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 740 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 740 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 741 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 741 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 741 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 742 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (wrapper != NULL, "wrapper != null"); +#line 744 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = self->priv->store; +#line 744 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (wrapper, &_tmp3_); +#line 744 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = tooltip; +#line 744 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = guarded_markup_escape_text (_tmp4_); +#line 744 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _tmp5_; +#line 744 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp2_, &_tmp3_, SIDEBAR_TREE_COLUMNS_TOOLTIP, _tmp6_, -1); +#line 744 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp6_); +#line 740 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 4822 "Tree.c" +} + + +static void sidebar_tree_on_sidebar_icon_changed (SidebarTree* self, SidebarEntry* entry, const gchar* icon) { + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + GtkTreeStore* _tmp2_ = NULL; + GtkTreeIter _tmp3_ = {0}; + const gchar* _tmp4_ = NULL; +#line 747 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 747 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 748 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 748 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 748 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 749 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (wrapper != NULL, "wrapper != null"); +#line 751 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = self->priv->store; +#line 751 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (wrapper, &_tmp3_); +#line 751 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = icon; +#line 751 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp2_, &_tmp3_, SIDEBAR_TREE_COLUMNS_ICON, _tmp4_, -1); +#line 747 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 4855 "Tree.c" +} + + +static void sidebar_tree_rename_entry (SidebarTree* self, SidebarEntry* entry) { + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + GtkTreeStore* _tmp2_ = NULL; + GtkTreeIter _tmp3_ = {0}; + SidebarEntry* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 754 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 754 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 755 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 755 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 755 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 756 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (wrapper != NULL, "wrapper != null"); +#line 758 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = self->priv->store; +#line 758 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_get_iter (wrapper, &_tmp3_); +#line 758 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = entry; +#line 758 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = sidebar_tree_get_name_for_entry (self, _tmp4_); +#line 758 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _tmp5_; +#line 758 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp2_, &_tmp3_, SIDEBAR_TREE_COLUMNS_NAME, _tmp6_, -1); +#line 758 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp6_); +#line 754 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 4896 "Tree.c" +} + + +static void sidebar_tree_on_sidebar_name_changed (SidebarTree* self, SidebarEntry* entry, const gchar* name) { + SidebarEntry* _tmp0_ = NULL; +#line 761 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 761 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_ENTRY (entry)); +#line 761 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (name != NULL); +#line 762 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 762 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_rename_entry (self, _tmp0_); +#line 4912 "Tree.c" +} + + +static void sidebar_tree_on_sidebar_page_created (SidebarTree* self, SidebarPageRepresentative* entry, Page* page) { + SidebarPageRepresentative* _tmp0_ = NULL; + Page* _tmp1_ = NULL; +#line 765 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 765 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (entry)); +#line 765 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (IS_PAGE (page)); +#line 766 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 766 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = page; +#line 766 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_emit_by_name (self, "page-created", _tmp0_, _tmp1_); +#line 4931 "Tree.c" +} + + +static void sidebar_tree_on_is_emphasized_changed (SidebarTree* self, SidebarEmphasizableEntry* entry, gboolean is_emphasized) { + SidebarEmphasizableEntry* _tmp0_ = NULL; +#line 769 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 769 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_EMPHASIZABLE_ENTRY (entry)); +#line 770 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 770 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_rename_entry (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 4945 "Tree.c" +} + + +static void sidebar_tree_on_sidebar_destroying_page (SidebarTree* self, SidebarPageRepresentative* entry, Page* page) { + SidebarPageRepresentative* _tmp0_ = NULL; + Page* _tmp1_ = NULL; +#line 773 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 773 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_PAGE_REPRESENTATIVE (entry)); +#line 773 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (IS_PAGE (page)); +#line 774 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 774 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = page; +#line 774 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_emit_by_name (self, "destroying-page", _tmp0_, _tmp1_); +#line 4964 "Tree.c" +} + + +static void sidebar_tree_load_entry_icons (SidebarTree* self, GtkTreeIter* iter) { + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreeIter _tmp0_ = {0}; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + gchar* icon = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GtkTreeStore* _tmp6_ = NULL; + GtkTreeIter _tmp7_ = {0}; + const gchar* _tmp8_ = NULL; +#line 777 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 777 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (iter != NULL); +#line 778 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = *iter; +#line 778 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper_at_iter (self, &_tmp0_); +#line 778 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 779 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 779 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 780 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 780 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 4998 "Tree.c" + } +#line 781 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 781 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp3_->entry; +#line 781 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = sidebar_entry_get_sidebar_icon (_tmp4_); +#line 781 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + icon = _tmp5_; +#line 782 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->store; +#line 782 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = *iter; +#line 782 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = icon; +#line 782 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_store_set (_tmp6_, &_tmp7_, SIDEBAR_TREE_COLUMNS_ICON, _tmp8_, -1); +#line 777 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (icon); +#line 777 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 5020 "Tree.c" +} + + +static void sidebar_tree_load_branch_icons (SidebarTree* self, GtkTreeIter* iter) { + GtkTreeIter _tmp0_ = {0}; + GtkTreeIter child_iter = {0}; + GtkTreeStore* _tmp1_ = NULL; + GtkTreeIter _tmp2_ = {0}; + GtkTreeIter _tmp3_ = {0}; + gboolean _tmp4_ = FALSE; +#line 785 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 785 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (iter != NULL); +#line 786 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = *iter; +#line 786 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_load_entry_icons (self, &_tmp0_); +#line 789 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = self->priv->store; +#line 789 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = *iter; +#line 789 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = gtk_tree_model_iter_children (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp3_, &_tmp2_); +#line 789 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + child_iter = _tmp3_; +#line 789 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp4_) { +#line 5049 "Tree.c" + { + gboolean _tmp5_ = FALSE; +#line 790 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = TRUE; +#line 790 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + while (TRUE) { +#line 5056 "Tree.c" + GtkTreeIter _tmp8_ = {0}; +#line 790 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp5_) { +#line 5060 "Tree.c" + GtkTreeStore* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; +#line 792 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = self->priv->store; +#line 792 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = gtk_tree_model_iter_next (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &child_iter); +#line 792 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp7_) { +#line 792 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + break; +#line 5071 "Tree.c" + } + } +#line 790 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = FALSE; +#line 791 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = child_iter; +#line 791 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_load_branch_icons (self, &_tmp8_); +#line 5080 "Tree.c" + } + } + } +} + + +static gboolean sidebar_tree_on_selection (SidebarTree* self, GtkTreeSelection* selection, GtkTreeModel* model, GtkTreePath* path, gboolean path_currently_selected) { + gboolean result = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + SidebarTreeEntryWrapper* _tmp3_ = NULL; +#line 796 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 796 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), FALSE); +#line 796 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE); +#line 796 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (path != NULL, FALSE); +#line 799 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = path; +#line 799 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper_at_path (self, _tmp0_); +#line 799 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp3_ != NULL) { +#line 5112 "Tree.c" + SidebarTreeEntryWrapper* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = wrapper; +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_->entry; +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, SIDEBAR_TYPE_SELECTABLE_ENTRY); +#line 5121 "Tree.c" + } else { +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = FALSE; +#line 5125 "Tree.c" + } +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp2_; +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 801 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5133 "Tree.c" +} + + +static GtkTreePath* sidebar_tree_get_path_from_event (SidebarTree* self, GdkEventButton* event) { + GtkTreePath* result = NULL; + gint x = 0; + gint y = 0; + GdkModifierType mask = 0; + GdkEventButton* _tmp0_ = NULL; + GdkWindow* _tmp1_ = NULL; + GdkDisplay* _tmp2_ = NULL; + GdkDeviceManager* _tmp3_ = NULL; + GdkDevice* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + GdkModifierType _tmp7_ = 0; + gint cell_x = 0; + gint cell_y = 0; + GtkTreePath* path = NULL; + GtkTreePath* _tmp8_ = NULL; + gint _tmp9_ = 0; + gint _tmp10_ = 0; + GtkTreePath* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gboolean _tmp14_ = FALSE; + GtkTreePath* _tmp16_ = NULL; +#line 804 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), NULL); +#line 804 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (event != NULL, NULL); +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = event; +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _tmp0_->window; +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gdk_display_get_default (); +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = gdk_display_get_device_manager (_tmp2_); +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = gdk_device_manager_get_client_pointer (_tmp3_); +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gdk_window_get_device_position (_tmp1_, _tmp4_, &_tmp5_, &_tmp6_, &_tmp7_); +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + x = _tmp5_; +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + y = _tmp6_; +#line 807 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + mask = _tmp7_; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = x; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = y; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = gtk_tree_view_get_path_at_pos (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp9_, _tmp10_, &_tmp11_, NULL, &_tmp12_, &_tmp13_); +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp11_; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + cell_x = _tmp12_; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + cell_y = _tmp13_; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp14_) { +#line 5199 "Tree.c" + GtkTreePath* _tmp15_ = NULL; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = path; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _tmp15_; +#line 5205 "Tree.c" + } else { +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = NULL; +#line 5209 "Tree.c" + } +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = _gtk_tree_path_copy0 (_tmp8_); +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp16_; +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 812 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5219 "Tree.c" +} + + +static GtkTreePath* sidebar_tree_get_current_path (SidebarTree* self) { + GtkTreePath* result = NULL; + GtkTreeModel* model = NULL; + GList* rows = NULL; + GtkTreeSelection* _tmp0_ = NULL; + GtkTreeModel* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + GtkTreeModel* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + GList* _tmp5_ = NULL; + guint _tmp6_ = 0U; + GtkTreePath* _tmp9_ = NULL; + GList* _tmp10_ = NULL; + guint _tmp11_ = 0U; + GtkTreePath* _tmp14_ = NULL; +#line 815 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), NULL); +#line 817 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 817 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gtk_tree_selection_get_selected_rows (_tmp0_, &_tmp1_); +#line 817 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (model); +#line 817 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = _g_object_ref0 (_tmp1_); +#line 817 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + model = _tmp3_; +#line 817 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + rows = _tmp2_; +#line 818 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = rows; +#line 818 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = g_list_length (_tmp5_); +#line 818 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp6_ == ((guint) 0)) { +#line 818 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = TRUE; +#line 5260 "Tree.c" + } else { + GList* _tmp7_ = NULL; + guint _tmp8_ = 0U; +#line 818 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = rows; +#line 818 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = g_list_length (_tmp7_); +#line 818 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp8_ == ((guint) 1); +#line 5270 "Tree.c" + } +#line 818 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (_tmp4_, "rows.length() == 0 || rows.length() == 1"); +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = rows; +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = g_list_length (_tmp10_); +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp11_ != ((guint) 0)) { +#line 5280 "Tree.c" + GList* _tmp12_ = NULL; + gconstpointer _tmp13_ = NULL; +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = rows; +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = g_list_nth_data (_tmp12_, (guint) 0); +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = (GtkTreePath*) _tmp13_; +#line 5289 "Tree.c" + } else { +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = NULL; +#line 5293 "Tree.c" + } +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = _gtk_tree_path_copy0 (_tmp9_); +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp14_; +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + __g_list_free__gtk_tree_path_free0_0 (rows); +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (model); +#line 820 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5305 "Tree.c" +} + + +static gboolean sidebar_tree_on_context_menu_keypress (SidebarTree* self) { + gboolean result = FALSE; + GList* rows = NULL; + GtkTreeSelection* _tmp0_ = NULL; + GList* _tmp1_ = NULL; + GList* _tmp2_ = NULL; + GtkTreePath* path = NULL; + GList* _tmp3_ = NULL; + gconstpointer _tmp4_ = NULL; + GtkTreePath* _tmp5_ = NULL; + GtkTreePath* _tmp6_ = NULL; + GtkTreePath* _tmp7_ = NULL; + GtkTreePath* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 823 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 824 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 824 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = gtk_tree_selection_get_selected_rows (_tmp0_, NULL); +#line 824 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + rows = _tmp1_; +#line 825 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = rows; +#line 825 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 826 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 826 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + __g_list_free__gtk_tree_path_free0_0 (rows); +#line 826 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5341 "Tree.c" + } +#line 828 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = rows; +#line 828 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp3_->data; +#line 828 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _gtk_tree_path_copy0 ((GtkTreePath*) _tmp4_); +#line 828 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp5_; +#line 829 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = path; +#line 829 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp6_ == NULL) { +#line 830 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 830 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 830 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + __g_list_free__gtk_tree_path_free0_0 (rows); +#line 830 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5363 "Tree.c" + } +#line 832 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = path; +#line 832 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_scroll_to_cell (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp7_, NULL, FALSE, (gfloat) 0, (gfloat) 0); +#line 834 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = path; +#line 834 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = sidebar_tree_popup_context_menu (self, _tmp8_, NULL); +#line 834 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp9_; +#line 834 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 834 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + __g_list_free__gtk_tree_path_free0_0 (rows); +#line 834 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5381 "Tree.c" +} + + +static gboolean sidebar_tree_popup_context_menu (SidebarTree* self, GtkTreePath* path, GdkEventButton* event) { + gboolean result = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + SidebarContextable* contextable = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarContextable* _tmp5_ = NULL; + SidebarContextable* _tmp6_ = NULL; + SidebarSelectableEntry* selectable = NULL; + SidebarTreeEntryWrapper* _tmp7_ = NULL; + SidebarEntry* _tmp8_ = NULL; + SidebarSelectableEntry* _tmp9_ = NULL; + SidebarSelectableEntry* _tmp10_ = NULL; + GtkMenu* context_menu = NULL; + SidebarContextable* _tmp12_ = NULL; + GdkEventButton* _tmp13_ = NULL; + GtkMenu* _tmp14_ = NULL; + GtkMenu* _tmp15_ = NULL; + GdkEventButton* _tmp16_ = NULL; +#line 837 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 837 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (path != NULL, FALSE); +#line 838 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = path; +#line 838 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper_at_path (self, _tmp0_); +#line 838 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 839 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 839 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 840 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 840 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 840 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5427 "Tree.c" + } +#line 842 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 842 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp3_->entry; +#line 842 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, SIDEBAR_TYPE_CONTEXTABLE) ? ((SidebarContextable*) _tmp4_) : NULL); +#line 842 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + contextable = _tmp5_; +#line 843 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = contextable; +#line 843 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp6_ == NULL) { +#line 844 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 844 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (contextable); +#line 844 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 844 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5449 "Tree.c" + } +#line 847 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = wrapper; +#line 847 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _tmp7_->entry; +#line 847 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, SIDEBAR_TYPE_SELECTABLE_ENTRY) ? ((SidebarSelectableEntry*) _tmp8_) : NULL); +#line 847 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selectable = _tmp9_; +#line 848 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = selectable; +#line 848 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp10_ != NULL) { +#line 5463 "Tree.c" + SidebarSelectableEntry* _tmp11_ = NULL; +#line 849 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = selectable; +#line 849 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_emit_by_name (self, "entry-selected", _tmp11_); +#line 5469 "Tree.c" + } +#line 851 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = contextable; +#line 851 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = event; +#line 851 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = sidebar_contextable_get_sidebar_context_menu (_tmp12_, _tmp13_); +#line 851 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + context_menu = _tmp14_; +#line 852 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = context_menu; +#line 852 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp15_ == NULL) { +#line 853 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 853 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (context_menu); +#line 853 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selectable); +#line 853 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (contextable); +#line 853 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 853 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5495 "Tree.c" + } +#line 855 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = event; +#line 855 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp16_ != NULL) { +#line 5501 "Tree.c" + GtkMenu* _tmp17_ = NULL; + GdkEventButton* _tmp18_ = NULL; + guint _tmp19_ = 0U; + GdkEventButton* _tmp20_ = NULL; + guint32 _tmp21_ = 0U; +#line 856 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = context_menu; +#line 856 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = event; +#line 856 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = _tmp18_->button; +#line 856 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = event; +#line 856 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = _tmp20_->time; +#line 856 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_menu_popup (_tmp17_, NULL, NULL, NULL, NULL, _tmp19_, _tmp21_); +#line 5519 "Tree.c" + } else { + GtkMenu* _tmp22_ = NULL; + guint32 _tmp23_ = 0U; +#line 858 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = context_menu; +#line 858 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = gtk_get_current_event_time (); +#line 858 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_menu_popup (_tmp22_, NULL, NULL, NULL, NULL, (guint) 0, _tmp23_); +#line 5529 "Tree.c" + } +#line 860 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 860 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (context_menu); +#line 860 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selectable); +#line 860 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (contextable); +#line 860 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 860 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5543 "Tree.c" +} + + +static gboolean sidebar_tree_popup_default_context_menu (SidebarTree* self, GdkEventButton* event) { + gboolean result = FALSE; + GtkMenu* _tmp0_ = NULL; + GdkEventButton* _tmp1_ = NULL; + guint _tmp2_ = 0U; + GdkEventButton* _tmp3_ = NULL; + guint32 _tmp4_ = 0U; +#line 863 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 863 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 864 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->default_context_menu; +#line 864 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = event; +#line 864 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _tmp1_->button; +#line 864 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = event; +#line 864 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp3_->time; +#line 864 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_menu_popup (_tmp0_, NULL, NULL, NULL, NULL, _tmp2_, _tmp4_); +#line 865 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 865 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5574 "Tree.c" +} + + +gboolean sidebar_tree_on_toggle_row (SidebarTree* self, GtkTreeIter* iter, GtkTreePath* path) { + gboolean result = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreeIter _tmp0_ = {0}; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + gboolean should_allow_toggle = FALSE; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; + gboolean _tmp5_ = FALSE; + GtkTreePath* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gboolean _tmp16_ = FALSE; +#line 868 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 868 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (iter != NULL, FALSE); +#line 868 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (path != NULL, FALSE); +#line 870 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = *iter; +#line 870 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper_at_iter (self, &_tmp0_); +#line 870 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 871 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 871 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 872 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 872 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 872 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5613 "Tree.c" + } +#line 876 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = self->priv->expander_called_manually; +#line 876 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + should_allow_toggle = _tmp3_; +#line 879 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->expander_called_manually = FALSE; +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = path; +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = gtk_tree_view_row_expanded (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp6_); +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp7_) { +#line 5627 "Tree.c" + GtkTreeStore* _tmp8_ = NULL; + GtkTreeIter _tmp9_ = {0}; + gboolean _tmp10_ = FALSE; +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = self->priv->store; +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = *iter; +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = gtk_tree_model_iter_has_child (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GTK_TYPE_TREE_MODEL, GtkTreeModel), &_tmp9_); +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp10_; +#line 5639 "Tree.c" + } else { +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = FALSE; +#line 5643 "Tree.c" + } +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp5_) { +#line 5647 "Tree.c" + SidebarTreeEntryWrapper* _tmp11_ = NULL; + SidebarEntry* _tmp12_ = NULL; +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = wrapper; +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = _tmp11_->entry; +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, SIDEBAR_TYPE_SELECTABLE_ENTRY); +#line 5656 "Tree.c" + } else { +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = FALSE; +#line 5660 "Tree.c" + } +#line 882 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp4_) { +#line 5664 "Tree.c" + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 884 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = self->priv->expander_special_count; +#line 884 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->expander_special_count = _tmp13_ + 1; +#line 885 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = self->priv->expander_special_count; +#line 885 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp14_ == 1) { +#line 887 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 887 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 887 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5681 "Tree.c" + } else { + gboolean _tmp15_ = FALSE; +#line 890 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = should_allow_toggle; +#line 890 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + should_allow_toggle = !_tmp15_; +#line 5688 "Tree.c" + } + } else { +#line 894 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->expander_special_count = 0; +#line 5693 "Tree.c" + } +#line 897 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = should_allow_toggle; +#line 897 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp16_) { +#line 898 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 898 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 898 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5705 "Tree.c" + } +#line 901 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 901 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 901 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5713 "Tree.c" +} + + +static gboolean sidebar_tree_real_button_press_event (GtkWidget* base, GdkEventButton* event) { + SidebarTree * self; + gboolean result = FALSE; + GtkTreePath* path = NULL; + GdkEventButton* _tmp0_ = NULL; + GtkTreePath* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GtkTreePath* _tmp3_ = NULL; + gboolean _tmp6_ = FALSE; + GdkEventButton* _tmp7_ = NULL; + guint _tmp8_ = 0U; + GdkEventButton* _tmp58_ = NULL; + gboolean _tmp59_ = FALSE; +#line 904 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_TREE, SidebarTree); +#line 904 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 905 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = event; +#line 905 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_path_from_event (self, _tmp0_); +#line 905 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp1_; +#line 908 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = path; +#line 908 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp3_ == NULL) { +#line 5744 "Tree.c" + GdkEventButton* _tmp4_ = NULL; + guint _tmp5_ = 0U; +#line 908 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = event; +#line 908 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_->button; +#line 908 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _tmp5_ != ((guint) 3); +#line 5753 "Tree.c" + } else { +#line 908 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = FALSE; +#line 5757 "Tree.c" + } +#line 908 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_) { +#line 909 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 909 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 909 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5767 "Tree.c" + } +#line 912 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = event; +#line 912 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _tmp7_->button; +#line 912 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp8_ == ((guint) 3)) { +#line 5775 "Tree.c" + GdkEventButton* _tmp9_ = NULL; + GdkEventType _tmp10_ = 0; +#line 912 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = event; +#line 912 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = _tmp9_->type; +#line 912 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _tmp10_ == GDK_BUTTON_PRESS; +#line 5784 "Tree.c" + } else { +#line 912 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = FALSE; +#line 5788 "Tree.c" + } +#line 912 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp6_) { +#line 5792 "Tree.c" + GtkTreePath* _tmp11_ = NULL; +#line 914 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = path; +#line 914 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp11_ != NULL) { +#line 5798 "Tree.c" + GtkTreePath* _tmp12_ = NULL; + GdkEventButton* _tmp13_ = NULL; +#line 915 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = path; +#line 915 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = event; +#line 915 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_popup_context_menu (self, _tmp12_, _tmp13_); +#line 5807 "Tree.c" + } else { + GdkEventButton* _tmp14_ = NULL; +#line 917 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = event; +#line 917 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_popup_default_context_menu (self, _tmp14_); +#line 5814 "Tree.c" + } + } else { + gboolean _tmp15_ = FALSE; + GdkEventButton* _tmp16_ = NULL; + guint _tmp17_ = 0U; +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = event; +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = _tmp16_->button; +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp17_ == ((guint) 1)) { +#line 5826 "Tree.c" + GdkEventButton* _tmp18_ = NULL; + GdkEventType _tmp19_ = 0; +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = event; +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = _tmp18_->type; +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = _tmp19_ == GDK_BUTTON_PRESS; +#line 5835 "Tree.c" + } else { +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = FALSE; +#line 5839 "Tree.c" + } +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp15_) { +#line 5843 "Tree.c" + GtkTreePath* _tmp20_ = NULL; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp23_ = NULL; + SidebarTreeEntryWrapper* _tmp24_ = NULL; + SidebarTreeEntryWrapper* _tmp25_ = NULL; + gboolean _tmp28_ = FALSE; + SidebarTreeEntryWrapper* _tmp29_ = NULL; + SidebarEntry* _tmp30_ = NULL; + gboolean _tmp34_ = FALSE; + gboolean _tmp35_ = FALSE; + const GtkTreeRowReference* _tmp36_ = NULL; + gboolean _tmp48_ = FALSE; + SidebarTreeEntryWrapper* _tmp49_ = NULL; + SidebarEntry* _tmp50_ = NULL; + GtkTreeStore* _tmp55_ = NULL; + GtkTreePath* _tmp56_ = NULL; + GtkTreeRowReference* _tmp57_ = NULL; +#line 919 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = path; +#line 919 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp20_ == NULL) { +#line 5865 "Tree.c" + GdkEventButton* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 920 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_row_reference_free0 (self->priv->old_path_ref); +#line 920 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->old_path_ref = NULL; +#line 921 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = event; +#line 921 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = GTK_WIDGET_CLASS (sidebar_tree_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp21_); +#line 921 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp22_; +#line 921 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 921 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5882 "Tree.c" + } +#line 924 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = path; +#line 924 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = sidebar_tree_get_wrapper_at_path (self, _tmp23_); +#line 924 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp24_; +#line 926 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = wrapper; +#line 926 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp25_ == NULL) { +#line 5894 "Tree.c" + GdkEventButton* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 927 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_row_reference_free0 (self->priv->old_path_ref); +#line 927 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->old_path_ref = NULL; +#line 928 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = event; +#line 928 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = GTK_WIDGET_CLASS (sidebar_tree_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp26_); +#line 928 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp27_; +#line 928 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 928 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 928 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 5913 "Tree.c" + } +#line 932 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp29_ = wrapper; +#line 932 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp30_ = _tmp29_->entry; +#line 932 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp30_, SIDEBAR_TYPE_EXPANDABLE_ENTRY)) { +#line 932 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp28_ = TRUE; +#line 5923 "Tree.c" + } else { + SidebarTreeEntryWrapper* _tmp31_ = NULL; + SidebarEntry* _tmp32_ = NULL; +#line 933 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp31_ = wrapper; +#line 933 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp32_ = _tmp31_->entry; +#line 933 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp28_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp32_, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY); +#line 5933 "Tree.c" + } +#line 932 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp28_) { +#line 5937 "Tree.c" + GtkTreePath* _tmp33_ = NULL; +#line 935 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp33_ = path; +#line 935 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_toggle_branch_expansion (self, _tmp33_, FALSE); +#line 5943 "Tree.c" + } +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp36_ = self->priv->old_path_ref; +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp36_ != NULL) { +#line 5949 "Tree.c" + const GtkTreeRowReference* _tmp37_ = NULL; + GtkTreePath* _tmp38_ = NULL; + GtkTreePath* _tmp39_ = NULL; +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp37_ = self->priv->old_path_ref; +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp38_ = gtk_tree_row_reference_get_path (_tmp37_); +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp39_ = _tmp38_; +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp35_ = _tmp39_ != NULL; +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp39_); +#line 5963 "Tree.c" + } else { +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp35_ = FALSE; +#line 5967 "Tree.c" + } +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp35_) { +#line 5971 "Tree.c" + const GtkTreeRowReference* _tmp40_ = NULL; + GtkTreePath* _tmp41_ = NULL; + GtkTreePath* _tmp42_ = NULL; + GtkTreePath* _tmp43_ = NULL; + gint _tmp44_ = 0; +#line 940 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp40_ = self->priv->old_path_ref; +#line 940 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp41_ = gtk_tree_row_reference_get_path (_tmp40_); +#line 940 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp42_ = _tmp41_; +#line 940 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp43_ = path; +#line 940 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp44_ = gtk_tree_path_compare (_tmp42_, _tmp43_); +#line 940 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp34_ = _tmp44_ == 0; +#line 940 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp42_); +#line 5991 "Tree.c" + } else { +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp34_ = FALSE; +#line 5995 "Tree.c" + } +#line 939 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp34_) { +#line 5999 "Tree.c" + GtkCellRendererText* _tmp45_ = NULL; + GdkEventButton* _tmp46_ = NULL; + gboolean _tmp47_ = FALSE; +#line 943 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp45_ = self->priv->text_renderer; +#line 943 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp45_, "editable", FALSE, NULL); +#line 944 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp46_ = event; +#line 944 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp47_ = GTK_WIDGET_CLASS (sidebar_tree_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp46_); +#line 944 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp47_; +#line 944 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 944 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 944 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6019 "Tree.c" + } +#line 949 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp49_ = wrapper; +#line 949 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp50_ = _tmp49_->entry; +#line 949 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp50_, SIDEBAR_TYPE_RENAMEABLE_ENTRY)) { +#line 6027 "Tree.c" + SidebarTreeEntryWrapper* _tmp51_ = NULL; + SidebarEntry* _tmp52_ = NULL; + gboolean _tmp53_ = FALSE; +#line 950 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp51_ = wrapper; +#line 950 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp52_ = _tmp51_->entry; +#line 950 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp53_ = sidebar_renameable_entry_is_user_renameable (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)); +#line 950 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp48_ = _tmp53_; +#line 6039 "Tree.c" + } else { +#line 949 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp48_ = FALSE; +#line 6043 "Tree.c" + } +#line 949 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp48_) { +#line 6047 "Tree.c" + GtkCellRendererText* _tmp54_ = NULL; +#line 951 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp54_ = self->priv->text_renderer; +#line 951 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp54_, "editable", TRUE, NULL); +#line 6053 "Tree.c" + } +#line 955 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp55_ = self->priv->store; +#line 955 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp56_ = path; +#line 955 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp57_ = gtk_tree_row_reference_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, GTK_TYPE_TREE_MODEL, GtkTreeModel), _tmp56_); +#line 955 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_row_reference_free0 (self->priv->old_path_ref); +#line 955 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->old_path_ref = _tmp57_; +#line 918 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 6067 "Tree.c" + } + } +#line 958 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp58_ = event; +#line 958 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp59_ = GTK_WIDGET_CLASS (sidebar_tree_parent_class)->button_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp58_); +#line 958 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp59_; +#line 958 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 958 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6080 "Tree.c" +} + + +gboolean sidebar_tree_is_keypress_interpreted (SidebarTree* self, GdkEventKey* event) { + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GQuark _tmp5_ = 0U; +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + static GQuark _tmp4_label0 = 0; +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + static GQuark _tmp4_label1 = 0; +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + static GQuark _tmp4_label2 = 0; +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + static GQuark _tmp4_label3 = 0; +#line 961 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 961 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = event; +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _tmp0_->keyval; +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = _tmp2_; +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_); +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if ((((_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("F2")))) || (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("Delete"))))) || (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("Return"))))) || (_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("KP_Enter"))))) { +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + switch (0) { +#line 6117 "Tree.c" + default: + { +#line 967 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 967 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6124 "Tree.c" + } + } + } else { +#line 962 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + switch (0) { +#line 6130 "Tree.c" + default: + { +#line 970 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 970 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6137 "Tree.c" + } + } + } +} + + +static gboolean sidebar_tree_real_key_press_event (GtkWidget* base, GdkEventKey* event) { + SidebarTree * self; + gboolean result = FALSE; + GdkEventKey* _tmp0_ = NULL; + guint _tmp1_ = 0U; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + GQuark _tmp5_ = 0U; +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + static GQuark _tmp4_label0 = 0; +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + static GQuark _tmp4_label1 = 0; +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + static GQuark _tmp4_label2 = 0; +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + static GQuark _tmp4_label3 = 0; +#line 6160 "Tree.c" + GdkEventKey* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; +#line 974 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_TREE, SidebarTree); +#line 974 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = event; +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _tmp0_->keyval; +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gdk_keyval_name (_tmp1_); +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = _tmp2_; +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_); +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if ((_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("Return")))) || (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("KP_Enter"))))) { +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + switch (0) { +#line 6181 "Tree.c" + default: + { + GtkTreePath* path = NULL; + GtkTreePath* _tmp6_ = NULL; + GtkTreePath* _tmp7_ = NULL; +#line 978 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = sidebar_tree_get_current_path (self); +#line 978 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp6_; +#line 979 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = path; +#line 979 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp7_ != NULL) { +#line 6195 "Tree.c" + GtkTreePath* _tmp8_ = NULL; +#line 980 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = path; +#line 980 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_toggle_branch_expansion (self, _tmp8_, FALSE); +#line 6201 "Tree.c" + } +#line 982 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 982 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 982 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6209 "Tree.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("F2")))) { +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + switch (0) { +#line 6215 "Tree.c" + default: + { + gboolean _tmp9_ = FALSE; +#line 985 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = sidebar_tree_rename_in_place (self); +#line 985 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp9_; +#line 985 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6225 "Tree.c" + } + } + } else if (_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("Delete")))) { +#line 975 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + switch (0) { +#line 6231 "Tree.c" + default: + { + GtkTreePath* path = NULL; + GtkTreePath* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; + GtkTreePath* _tmp12_ = NULL; +#line 988 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = sidebar_tree_get_current_path (self); +#line 988 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp10_; +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = path; +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp12_ != NULL) { +#line 6246 "Tree.c" + GtkTreePath* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = path; +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = sidebar_tree_destroy_path (self, _tmp13_); +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = _tmp14_; +#line 6255 "Tree.c" + } else { +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = FALSE; +#line 6259 "Tree.c" + } +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp11_; +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 990 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6267 "Tree.c" + } + } + } +#line 993 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = event; +#line 993 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = GTK_WIDGET_CLASS (sidebar_tree_parent_class)->key_press_event (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp15_); +#line 993 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp16_; +#line 993 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6279 "Tree.c" +} + + +gboolean sidebar_tree_rename_entry_in_place (SidebarTree* self, SidebarEntry* entry) { + gboolean result = FALSE; + SidebarEntry* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + SidebarEntry* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 996 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 996 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 997 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 997 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_expand_to_entry (self, _tmp0_); +#line 997 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp1_) { +#line 998 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 998 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6304 "Tree.c" + } +#line 1000 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = entry; +#line 1000 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = sidebar_tree_place_cursor (self, _tmp2_, FALSE); +#line 1000 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp3_) { +#line 1001 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1001 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6316 "Tree.c" + } +#line 1003 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = sidebar_tree_rename_in_place (self); +#line 1003 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp4_; +#line 1003 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6324 "Tree.c" +} + + +static gboolean sidebar_tree_rename_in_place (SidebarTree* self) { + gboolean result = FALSE; + GtkTreePath* cursor_path = NULL; + GtkTreeViewColumn* cursor_column = NULL; + GtkTreePath* _tmp0_ = NULL; + GtkTreeViewColumn* _tmp1_ = NULL; + GtkTreeViewColumn* _tmp2_ = NULL; + GtkTreePath* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 1006 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 1009 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_get_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), &_tmp0_, &_tmp1_); +#line 1009 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (cursor_path); +#line 1009 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + cursor_path = _tmp0_; +#line 1009 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (cursor_column); +#line 1009 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 1009 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + cursor_column = _tmp2_; +#line 1011 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = cursor_path; +#line 1011 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = sidebar_tree_can_rename_path (self, _tmp3_); +#line 1011 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp4_) { +#line 6357 "Tree.c" + GtkTreePath* _tmp5_ = NULL; + GtkTreeViewColumn* _tmp6_ = NULL; +#line 1012 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = cursor_path; +#line 1012 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = cursor_column; +#line 1012 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_cursor (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp5_, _tmp6_, TRUE); +#line 1014 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 1014 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (cursor_column); +#line 1014 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (cursor_path); +#line 1014 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6374 "Tree.c" + } +#line 1017 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1017 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (cursor_column); +#line 1017 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (cursor_path); +#line 1017 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6384 "Tree.c" +} + + +gboolean sidebar_tree_scroll_to_entry (SidebarTree* self, SidebarEntry* entry) { + gboolean result = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + GtkTreePath* _tmp4_ = NULL; + GtkTreePath* _tmp5_ = NULL; +#line 1020 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 1020 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), FALSE); +#line 1021 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 1021 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper (self, _tmp0_); +#line 1021 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 1022 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 1022 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 1023 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1023 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1023 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6417 "Tree.c" + } +#line 1025 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 1025 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = sidebar_tree_entry_wrapper_get_path (_tmp3_); +#line 1025 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_; +#line 1025 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_scroll_to_cell (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp5_, NULL, FALSE, (gfloat) 0, (gfloat) 0); +#line 1025 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp5_); +#line 1027 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 1027 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1027 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 6435 "Tree.c" +} + + +static void sidebar_tree_real_drag_data_get (GtkWidget* base, GdkDragContext* context, GtkSelectionData* selection_data, guint info, guint time) { + SidebarTree * self; + SidebarInternalDragSourceEntry* drag_source = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarInternalDragSourceEntry* _tmp6_ = NULL; + SidebarInternalDragSourceEntry* _tmp16_ = NULL; + GtkSelectionData* _tmp17_ = NULL; +#line 1030 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_TREE, SidebarTree); +#line 1030 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 1030 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (selection_data != NULL); +#line 1032 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + drag_source = NULL; +#line 1034 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->internal_drag_source_entry; +#line 1034 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp0_ != NULL) { +#line 6458 "Tree.c" + SidebarSelectableEntry* selectable = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarSelectableEntry* _tmp2_ = NULL; + SidebarSelectableEntry* _tmp3_ = NULL; +#line 1035 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = self->priv->internal_drag_source_entry; +#line 1035 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, SIDEBAR_TYPE_SELECTABLE_ENTRY) ? ((SidebarSelectableEntry*) _tmp1_) : NULL); +#line 1035 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selectable = _tmp2_; +#line 1037 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = selectable; +#line 1037 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp3_ == NULL) { +#line 6473 "Tree.c" + SidebarEntry* _tmp4_ = NULL; + SidebarInternalDragSourceEntry* _tmp5_ = NULL; +#line 1038 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = self->priv->internal_drag_source_entry; +#line 1038 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY) ? ((SidebarInternalDragSourceEntry*) _tmp4_) : NULL); +#line 1038 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (drag_source); +#line 1038 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + drag_source = _tmp5_; +#line 6484 "Tree.c" + } +#line 1034 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (selectable); +#line 6488 "Tree.c" + } +#line 1042 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = drag_source; +#line 1042 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp6_ == NULL) { +#line 6494 "Tree.c" + GtkTreePath* selected_path = NULL; + GtkTreePath* _tmp7_ = NULL; + GtkTreePath* _tmp8_ = NULL; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp9_ = NULL; + SidebarTreeEntryWrapper* _tmp10_ = NULL; + SidebarTreeEntryWrapper* _tmp11_ = NULL; + SidebarTreeEntryWrapper* _tmp12_ = NULL; + SidebarEntry* _tmp13_ = NULL; + SidebarInternalDragSourceEntry* _tmp14_ = NULL; + SidebarInternalDragSourceEntry* _tmp15_ = NULL; +#line 1043 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = sidebar_tree_get_selected_path (self); +#line 1043 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + selected_path = _tmp7_; +#line 1044 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = selected_path; +#line 1044 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp8_ == NULL) { +#line 1045 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (selected_path); +#line 1045 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (drag_source); +#line 1045 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 6520 "Tree.c" + } +#line 1047 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = selected_path; +#line 1047 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = sidebar_tree_get_wrapper_at_path (self, _tmp9_); +#line 1047 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp10_; +#line 1048 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = wrapper; +#line 1048 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp11_ == NULL) { +#line 1049 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1049 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (selected_path); +#line 1049 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (drag_source); +#line 1049 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 6540 "Tree.c" + } +#line 1051 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = wrapper; +#line 1051 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = _tmp12_->entry; +#line 1051 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY) ? ((SidebarInternalDragSourceEntry*) _tmp13_) : NULL); +#line 1051 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (drag_source); +#line 1051 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + drag_source = _tmp14_; +#line 1052 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = drag_source; +#line 1052 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp15_ == NULL) { +#line 1053 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1053 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (selected_path); +#line 1053 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (drag_source); +#line 1053 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 6564 "Tree.c" + } +#line 1042 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1042 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (selected_path); +#line 6570 "Tree.c" + } +#line 1056 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = drag_source; +#line 1056 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = selection_data; +#line 1056 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_internal_drag_source_entry_prepare_selection_data (_tmp16_, _tmp17_); +#line 1030 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (drag_source); +#line 6580 "Tree.c" +} + + +static void sidebar_tree_real_drag_data_received (GtkWidget* base, GdkDragContext* context, gint x, gint y, GtkSelectionData* selection_data, guint info, guint time) { + SidebarTree * self; + GtkTreePath* path = NULL; + GtkTreeViewDropPosition pos = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + GtkTreePath* _tmp2_ = NULL; + GtkTreeViewDropPosition _tmp3_ = 0; + gboolean _tmp4_ = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp14_ = NULL; + SidebarTreeEntryWrapper* _tmp15_ = NULL; + GdkDragContext* _tmp16_ = NULL; + GtkWidget* _tmp17_ = NULL; + SidebarTreeEntryWrapper* _tmp27_ = NULL; + SidebarInternalDropTargetEntry* targetable = NULL; + SidebarTreeEntryWrapper* _tmp30_ = NULL; + SidebarEntry* _tmp31_ = NULL; + SidebarInternalDropTargetEntry* _tmp32_ = NULL; + SidebarInternalDropTargetEntry* _tmp33_ = NULL; + gboolean success = FALSE; + GtkSelectionData* _tmp36_ = NULL; + GdkAtom _tmp37_ = 0U; + gchar* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gboolean _tmp40_ = FALSE; + GdkDragContext* _tmp57_ = NULL; + gboolean _tmp58_ = FALSE; + guint _tmp59_ = 0U; +#line 1059 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_TREE, SidebarTree); +#line 1059 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); +#line 1059 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (selection_data != NULL); +#line 1064 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = x; +#line 1064 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = y; +#line 1064 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = gtk_tree_view_get_dest_row_at_pos (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp0_, _tmp1_, &_tmp2_, &_tmp3_); +#line 1064 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 1064 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp2_; +#line 1064 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + pos = _tmp3_; +#line 1064 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp4_) { +#line 6633 "Tree.c" + GdkDragContext* _tmp5_ = NULL; + GtkWidget* _tmp6_ = NULL; +#line 1066 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = context; +#line 1066 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = gtk_drag_get_source_widget (_tmp5_); +#line 1066 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp6_ == NULL) { +#line 6642 "Tree.c" + SidebarTreeExternalDropHandler _tmp7_ = NULL; + void* _tmp7__target = NULL; + GdkDragContext* _tmp8_ = NULL; + GtkSelectionData* _tmp9_ = NULL; + guint _tmp10_ = 0U; + guint _tmp11_ = 0U; +#line 1067 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = self->priv->drop_handler; +#line 1067 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7__target = self->priv->drop_handler_target; +#line 1067 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = context; +#line 1067 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = selection_data; +#line 1067 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = info; +#line 1067 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = time; +#line 1067 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ (_tmp8_, NULL, _tmp9_, _tmp10_, _tmp11_, _tmp7__target); +#line 6663 "Tree.c" + } else { + GdkDragContext* _tmp12_ = NULL; + guint _tmp13_ = 0U; +#line 1069 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = context; +#line 1069 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = time; +#line 1069 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_drag_finish (_tmp12_, FALSE, FALSE, (guint32) _tmp13_); +#line 6673 "Tree.c" + } +#line 1071 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 1071 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 6679 "Tree.c" + } +#line 1075 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = path; +#line 1075 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = sidebar_tree_get_wrapper_at_path (self, _tmp14_); +#line 1075 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp15_; +#line 1078 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = context; +#line 1078 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = gtk_drag_get_source_widget (_tmp16_); +#line 1078 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp17_ == NULL) { +#line 6693 "Tree.c" + SidebarEntry* _tmp18_ = NULL; + SidebarTreeEntryWrapper* _tmp19_ = NULL; + SidebarTreeExternalDropHandler _tmp22_ = NULL; + void* _tmp22__target = NULL; + GdkDragContext* _tmp23_ = NULL; + GtkSelectionData* _tmp24_ = NULL; + guint _tmp25_ = 0U; + guint _tmp26_ = 0U; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp19_ = wrapper; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp19_ != NULL) { +#line 6706 "Tree.c" + SidebarTreeEntryWrapper* _tmp20_ = NULL; + SidebarEntry* _tmp21_ = NULL; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp20_ = wrapper; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp21_ = _tmp20_->entry; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = _tmp21_; +#line 6715 "Tree.c" + } else { +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = NULL; +#line 6719 "Tree.c" + } +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ = self->priv->drop_handler; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22__target = self->priv->drop_handler_target; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp23_ = context; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp24_ = selection_data; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp25_ = info; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp26_ = time; +#line 1079 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp22_ (_tmp23_, _tmp18_, _tmp24_, _tmp25_, _tmp26_, _tmp22__target); +#line 1082 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1082 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 1082 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 6741 "Tree.c" + } +#line 1086 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp27_ = wrapper; +#line 1086 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp27_ == NULL) { +#line 6747 "Tree.c" + GdkDragContext* _tmp28_ = NULL; + guint _tmp29_ = 0U; +#line 1087 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp28_ = context; +#line 1087 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp29_ = time; +#line 1087 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_drag_finish (_tmp28_, FALSE, FALSE, (guint32) _tmp29_); +#line 1089 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1089 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 1089 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 6762 "Tree.c" + } +#line 1092 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp30_ = wrapper; +#line 1092 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp31_ = _tmp30_->entry; +#line 1092 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp31_, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY) ? ((SidebarInternalDropTargetEntry*) _tmp31_) : NULL); +#line 1092 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + targetable = _tmp32_; +#line 1093 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp33_ = targetable; +#line 1093 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp33_ == NULL) { +#line 6776 "Tree.c" + GdkDragContext* _tmp34_ = NULL; + guint _tmp35_ = 0U; +#line 1094 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp34_ = context; +#line 1094 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp35_ = time; +#line 1094 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_drag_finish (_tmp34_, FALSE, FALSE, (guint32) _tmp35_); +#line 1096 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (targetable); +#line 1096 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1096 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 1096 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 6793 "Tree.c" + } +#line 1099 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + success = FALSE; +#line 1101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp36_ = selection_data; +#line 1101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp37_ = gtk_selection_data_get_data_type (_tmp36_); +#line 1101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp38_ = gdk_atom_name (_tmp37_); +#line 1101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp39_ = _tmp38_; +#line 1101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp40_ = g_strcmp0 (_tmp39_, LIBRARY_WINDOW_TAG_PATH_MIME_TYPE) == 0; +#line 1101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_free0 (_tmp39_); +#line 1101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp40_) { +#line 6811 "Tree.c" + SidebarInternalDropTargetEntry* _tmp41_ = NULL; + GtkSelectionData* _tmp42_ = NULL; + gboolean _tmp43_ = FALSE; +#line 1102 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp41_ = targetable; +#line 1102 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp42_ = selection_data; +#line 1102 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp43_ = sidebar_internal_drop_target_entry_internal_drop_received_arbitrary (_tmp41_, _tmp42_); +#line 1102 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + success = _tmp43_; +#line 6823 "Tree.c" + } else { + GeeList* media = NULL; + GtkSelectionData* _tmp44_ = NULL; + guchar* _tmp45_ = NULL; + GtkSelectionData* _tmp46_ = NULL; + gint _tmp47_ = 0; + GeeList* _tmp48_ = NULL; + gboolean _tmp49_ = FALSE; + GeeList* _tmp50_ = NULL; +#line 1104 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp44_ = selection_data; +#line 1104 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp45_ = gtk_selection_data_get_data (_tmp44_); +#line 1104 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp46_ = selection_data; +#line 1104 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp47_ = gtk_selection_data_get_length (_tmp46_); +#line 1104 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp48_ = unserialize_media_sources (_tmp45_, _tmp47_); +#line 1104 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + media = _tmp48_; +#line 1106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp50_ = media; +#line 1106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp50_ != NULL) { +#line 6849 "Tree.c" + GeeList* _tmp51_ = NULL; + gint _tmp52_ = 0; + gint _tmp53_ = 0; +#line 1106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp51_ = media; +#line 1106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp52_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp53_ = _tmp52_; +#line 1106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp49_ = _tmp53_ > 0; +#line 6861 "Tree.c" + } else { +#line 1106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp49_ = FALSE; +#line 6865 "Tree.c" + } +#line 1106 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp49_) { +#line 6869 "Tree.c" + SidebarInternalDropTargetEntry* _tmp54_ = NULL; + GeeList* _tmp55_ = NULL; + gboolean _tmp56_ = FALSE; +#line 1107 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp54_ = targetable; +#line 1107 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp55_ = media; +#line 1107 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp56_ = sidebar_internal_drop_target_entry_internal_drop_received (_tmp54_, _tmp55_); +#line 1107 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + success = _tmp56_; +#line 6881 "Tree.c" + } +#line 1101 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (media); +#line 6885 "Tree.c" + } +#line 1110 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp57_ = context; +#line 1110 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp58_ = success; +#line 1110 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp59_ = time; +#line 1110 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_drag_finish (_tmp57_, _tmp58_, FALSE, (guint32) _tmp59_); +#line 1059 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (targetable); +#line 1059 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1059 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 6901 "Tree.c" +} + + +static gboolean sidebar_tree_real_drag_motion (GtkWidget* base, GdkDragContext* context, gint x, gint y, guint time) { + SidebarTree * self; + gboolean result = FALSE; + GdkDragContext* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + guint _tmp3_ = 0U; + GtkTreePath* path = NULL; + GtkTreeViewDropPosition pos = 0; + gboolean has_dest = FALSE; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GtkTreePath* _tmp6_ = NULL; + GtkTreeViewDropPosition _tmp7_ = 0; + gboolean _tmp8_ = FALSE; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; + GdkDragContext* _tmp15_ = NULL; + GdkDragContext* _tmp16_ = NULL; + GdkDragAction _tmp17_ = 0; + guint _tmp18_ = 0U; +#line 1113 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_TREE, SidebarTree); +#line 1113 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE); +#line 1115 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = context; +#line 1115 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = x; +#line 1115 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = y; +#line 1115 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = time; +#line 1115 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + GTK_WIDGET_CLASS (sidebar_tree_parent_class)->drag_motion (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), gtk_widget_get_type (), GtkWidget), _tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 1119 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = x; +#line 1119 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = y; +#line 1119 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = gtk_tree_view_get_dest_row_at_pos (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp4_, _tmp5_, &_tmp6_, &_tmp7_); +#line 1119 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 1119 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + path = _tmp6_; +#line 1119 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + pos = _tmp7_; +#line 1119 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + has_dest = _tmp8_; +#line 1122 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = has_dest; +#line 1122 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (!_tmp10_) { +#line 1122 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = TRUE; +#line 6960 "Tree.c" + } else { + GtkTreeViewDropPosition _tmp11_ = 0; +#line 1122 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = pos; +#line 1122 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = _tmp11_ == GTK_TREE_VIEW_DROP_BEFORE; +#line 6967 "Tree.c" + } +#line 1122 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp9_) { +#line 6971 "Tree.c" + GtkTreePath* _tmp12_ = NULL; +#line 1123 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = path; +#line 1123 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_drag_dest_row (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp12_, GTK_TREE_VIEW_DROP_INTO_OR_BEFORE); +#line 6977 "Tree.c" + } else { + GtkTreeViewDropPosition _tmp13_ = 0; +#line 1124 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = pos; +#line 1124 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp13_ == GTK_TREE_VIEW_DROP_AFTER) { +#line 6984 "Tree.c" + GtkTreePath* _tmp14_ = NULL; +#line 1125 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp14_ = path; +#line 1125 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_view_set_drag_dest_row (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), _tmp14_, GTK_TREE_VIEW_DROP_INTO_OR_AFTER); +#line 6990 "Tree.c" + } + } +#line 1127 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = context; +#line 1127 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp16_ = context; +#line 1127 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp17_ = gdk_drag_context_get_suggested_action (_tmp16_); +#line 1127 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp18_ = time; +#line 1127 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gdk_drag_status (_tmp15_, _tmp17_, (guint32) _tmp18_); +#line 1129 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = has_dest; +#line 1129 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (path); +#line 1129 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7009 "Tree.c" +} + + +static gboolean sidebar_tree_can_rename_path (SidebarTree* self, GtkTreePath* path) { + gboolean result = FALSE; + gint _tmp0_ = 0; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + SidebarRenameableEntry* renameable = NULL; + SidebarTreeEntryWrapper* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + SidebarRenameableEntry* _tmp6_ = NULL; + SidebarRenameableEntry* _tmp7_ = NULL; + SidebarTreeEntryWrapper* _tmp8_ = NULL; + SidebarEntry* _tmp9_ = NULL; + GtkTreeSelection* _tmp10_ = NULL; + GtkTreePath* _tmp11_ = NULL; +#line 1133 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 1133 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (path != NULL, FALSE); +#line 1134 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->editing_disabled; +#line 1134 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp0_ > 0) { +#line 1135 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1135 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7041 "Tree.c" + } +#line 1137 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = path; +#line 1137 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = sidebar_tree_get_wrapper_at_path (self, _tmp1_); +#line 1137 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp2_; +#line 1138 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 1138 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp3_ == NULL) { +#line 1139 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1139 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1139 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7059 "Tree.c" + } +#line 1141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = wrapper; +#line 1141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _tmp4_->entry; +#line 1141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, SIDEBAR_TYPE_RENAMEABLE_ENTRY) ? ((SidebarRenameableEntry*) _tmp5_) : NULL); +#line 1141 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + renameable = _tmp6_; +#line 1142 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = renameable; +#line 1142 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp7_ == NULL) { +#line 1143 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1143 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (renameable); +#line 1143 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1143 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7081 "Tree.c" + } +#line 1145 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = wrapper; +#line 1145 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = _tmp8_->entry; +#line 1145 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, SIDEBAR_TYPE_HEADER)) { +#line 1146 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1146 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (renameable); +#line 1146 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1146 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7097 "Tree.c" + } +#line 1148 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = gtk_tree_view_get_selection (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView)); +#line 1148 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = path; +#line 1148 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + gtk_tree_selection_select_path (_tmp10_, _tmp11_); +#line 1150 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 1150 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (renameable); +#line 1150 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1150 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7113 "Tree.c" +} + + +static gboolean sidebar_tree_destroy_path (SidebarTree* self, GtkTreePath* path) { + gboolean result = FALSE; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp0_ = NULL; + SidebarTreeEntryWrapper* _tmp1_ = NULL; + SidebarTreeEntryWrapper* _tmp2_ = NULL; + SidebarDestroyableEntry* destroyable = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + SidebarEntry* _tmp4_ = NULL; + SidebarDestroyableEntry* _tmp5_ = NULL; + SidebarDestroyableEntry* _tmp6_ = NULL; + SidebarDestroyableEntry* _tmp7_ = NULL; +#line 1153 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 1153 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (path != NULL, FALSE); +#line 1154 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = path; +#line 1154 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_wrapper_at_path (self, _tmp0_); +#line 1154 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp1_; +#line 1155 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = wrapper; +#line 1155 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp2_ == NULL) { +#line 1156 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1156 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1156 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7149 "Tree.c" + } +#line 1158 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = wrapper; +#line 1158 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp3_->entry; +#line 1158 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, SIDEBAR_TYPE_DESTROYABLE_ENTRY) ? ((SidebarDestroyableEntry*) _tmp4_) : NULL); +#line 1158 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + destroyable = _tmp5_; +#line 1159 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = destroyable; +#line 1159 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp6_ == NULL) { +#line 1160 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1160 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (destroyable); +#line 1160 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1160 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7171 "Tree.c" + } +#line 1162 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = destroyable; +#line 1162 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_destroyable_entry_destroy_source (_tmp7_); +#line 1164 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = TRUE; +#line 1164 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (destroyable); +#line 1164 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 1164 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7185 "Tree.c" +} + + +static void _sidebar_tree_on_editing_done_gtk_cell_editable_editing_done (GtkCellEditable* _sender, gpointer self) { +#line 1170 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_on_editing_done ((SidebarTree*) self); +#line 7192 "Tree.c" +} + + +static gboolean _sidebar_tree_on_editing_focus_out_gtk_widget_focus_out_event (GtkWidget* _sender, GdkEventFocus* event, gpointer self) { + gboolean result; + result = sidebar_tree_on_editing_focus_out ((SidebarTree*) self, event); +#line 1171 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7201 "Tree.c" +} + + +static void sidebar_tree_on_editing_started (SidebarTree* self, GtkCellEditable* editable, const gchar* path) { + GtkCellEditable* _tmp0_ = NULL; +#line 1167 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 1167 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (GTK_IS_CELL_EDITABLE (editable)); +#line 1167 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (path != NULL); +#line 1168 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = editable; +#line 1168 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, gtk_entry_get_type ())) { +#line 7217 "Tree.c" + GtkCellEditable* _tmp1_ = NULL; + GtkEntry* _tmp2_ = NULL; + GtkEntry* _tmp3_ = NULL; + GtkEntry* _tmp4_ = NULL; + GtkEntry* _tmp5_ = NULL; +#line 1169 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = editable; +#line 1169 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_entry_get_type (), GtkEntry)); +#line 1169 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->text_entry); +#line 1169 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->text_entry = _tmp2_; +#line 1170 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = self->priv->text_entry; +#line 1170 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GTK_TYPE_CELL_EDITABLE, GtkCellEditable), "editing-done", (GCallback) _sidebar_tree_on_editing_done_gtk_cell_editable_editing_done, self, 0); +#line 1171 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = self->priv->text_entry; +#line 1171 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), "focus-out-event", (GCallback) _sidebar_tree_on_editing_focus_out_gtk_widget_focus_out_event, self, 0); +#line 1172 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = self->priv->text_entry; +#line 1172 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp5_, "editable", TRUE, NULL); +#line 7243 "Tree.c" + } +} + + +static void sidebar_tree_on_editing_canceled (SidebarTree* self) { + GtkEntry* _tmp0_ = NULL; + GtkEntry* _tmp1_ = NULL; + guint _tmp2_ = 0U; + GtkEntry* _tmp3_ = NULL; + guint _tmp4_ = 0U; +#line 1176 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 1177 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->text_entry; +#line 1177 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp0_, "editable", FALSE, NULL); +#line 1179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = self->priv->text_entry; +#line 1179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("editing-done", GTK_TYPE_CELL_EDITABLE, &_tmp2_, NULL, FALSE); +#line 1179 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GTK_TYPE_CELL_EDITABLE, GtkCellEditable), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _sidebar_tree_on_editing_done_gtk_cell_editable_editing_done, self); +#line 1180 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = self->priv->text_entry; +#line 1180 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("focus-out-event", gtk_widget_get_type (), &_tmp4_, NULL, FALSE); +#line 1180 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp4_, 0, NULL, (GCallback) _sidebar_tree_on_editing_focus_out_gtk_widget_focus_out_event, self); +#line 7272 "Tree.c" +} + + +static void sidebar_tree_on_editing_done (SidebarTree* self) { + GtkEntry* _tmp0_ = NULL; + SidebarTreeEntryWrapper* wrapper = NULL; + GtkTreePath* _tmp1_ = NULL; + GtkTreePath* _tmp2_ = NULL; + SidebarTreeEntryWrapper* _tmp3_ = NULL; + SidebarTreeEntryWrapper* _tmp4_ = NULL; + SidebarTreeEntryWrapper* _tmp5_ = NULL; + GtkEntry* _tmp13_ = NULL; + guint _tmp14_ = 0U; + GtkEntry* _tmp15_ = NULL; + guint _tmp16_ = 0U; +#line 1183 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 1184 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->text_entry; +#line 1184 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_object_set (_tmp0_, "editable", FALSE, NULL); +#line 1186 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = sidebar_tree_get_current_path (self); +#line 1186 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _tmp1_; +#line 1186 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = sidebar_tree_get_wrapper_at_path (self, _tmp2_); +#line 1186 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp3_; +#line 1186 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp2_); +#line 1186 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + wrapper = _tmp4_; +#line 1187 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = wrapper; +#line 1187 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp5_ != NULL) { +#line 7310 "Tree.c" + SidebarRenameableEntry* renameable = NULL; + SidebarTreeEntryWrapper* _tmp6_ = NULL; + SidebarEntry* _tmp7_ = NULL; + SidebarRenameableEntry* _tmp8_ = NULL; + SidebarRenameableEntry* _tmp9_ = NULL; +#line 1188 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = wrapper; +#line 1188 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp7_ = _tmp6_->entry; +#line 1188 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, SIDEBAR_TYPE_RENAMEABLE_ENTRY) ? ((SidebarRenameableEntry*) _tmp7_) : NULL); +#line 1188 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + renameable = _tmp8_; +#line 1189 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp9_ = renameable; +#line 1189 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (_tmp9_ != NULL) { +#line 7328 "Tree.c" + SidebarRenameableEntry* _tmp10_ = NULL; + GtkEntry* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 1190 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp10_ = renameable; +#line 1190 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp11_ = self->priv->text_entry; +#line 1190 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp12_ = gtk_entry_get_text (_tmp11_); +#line 1190 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_renameable_entry_rename (_tmp10_, _tmp12_); +#line 7340 "Tree.c" + } +#line 1187 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (renameable); +#line 7344 "Tree.c" + } +#line 1193 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp13_ = self->priv->text_entry; +#line 1193 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("editing-done", GTK_TYPE_CELL_EDITABLE, &_tmp14_, NULL, FALSE); +#line 1193 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GTK_TYPE_CELL_EDITABLE, GtkCellEditable), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp14_, 0, NULL, (GCallback) _sidebar_tree_on_editing_done_gtk_cell_editable_editing_done, self); +#line 1194 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp15_ = self->priv->text_entry; +#line 1194 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("focus-out-event", gtk_widget_get_type (), &_tmp16_, NULL, FALSE); +#line 1194 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp16_, 0, NULL, (GCallback) _sidebar_tree_on_editing_focus_out_gtk_widget_focus_out_event, self); +#line 1183 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (wrapper); +#line 7360 "Tree.c" +} + + +static gboolean sidebar_tree_on_editing_focus_out (SidebarTree* self, GdkEventFocus* event) { + gboolean result = FALSE; +#line 1197 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_TREE (self), FALSE); +#line 1197 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (event != NULL, FALSE); +#line 1201 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = FALSE; +#line 1201 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7374 "Tree.c" +} + + +static void sidebar_tree_on_new_search (SidebarTree* self) { + SavedSearchDialog* _tmp0_ = NULL; + SavedSearchDialog* _tmp1_ = NULL; +#line 1204 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 1205 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = saved_search_dialog_new (); +#line 1205 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _tmp0_; +#line 1205 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + saved_search_dialog_show (_tmp1_); +#line 1205 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _saved_search_dialog_unref0 (_tmp1_); +#line 7391 "Tree.c" +} + + +static void sidebar_tree_on_new_tag (SidebarTree* self) { + NewRootTagCommand* creation_command = NULL; + NewRootTagCommand* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; + CommandManager* _tmp2_ = NULL; + LibraryWindow* _tmp3_ = NULL; + LibraryWindow* _tmp4_ = NULL; + Tag* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; +#line 1208 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_IS_TREE (self)); +#line 1209 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = new_root_tag_command_new (); +#line 1209 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + creation_command = _tmp0_; +#line 1210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = app_window_get_command_manager (); +#line 1210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = _tmp1_; +#line 1210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + command_manager_execute (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (creation_command, TYPE_COMMAND, Command)); +#line 1210 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _command_manager_unref0 (_tmp2_); +#line 1211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = library_window_get_app (); +#line 1211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = _tmp3_; +#line 1211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = new_root_tag_command_get_created_tag (creation_command); +#line 1211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _tmp5_; +#line 1211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + library_window_rename_tag_in_sidebar (_tmp4_, _tmp6_); +#line 1211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp6_); +#line 1211 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (_tmp4_); +#line 1208 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (creation_command); +#line 7434 "Tree.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_BOOLEAN) (gpointer data1, gpointer arg_1, gboolean arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_BOOLEAN callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (n_param_values == 3); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + data1 = closure->data; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + data2 = param_values->data[0].v_pointer; +#line 7453 "Tree.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + data1 = param_values->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + data2 = closure->data; +#line 7459 "Tree.c" + } +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + callback = (GMarshalFunc_VOID__OBJECT_BOOLEAN) (marshal_data ? marshal_data : cc->callback); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_boolean (param_values + 2), data2); +#line 7465 "Tree.c" +} + + +static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_OBJECT callback; + register GCClosure * cc; + register gpointer data1; + register gpointer data2; + cc = (GCClosure *) closure; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (n_param_values == 3); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + if (G_CCLOSURE_SWAP_DATA (closure)) { +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + data1 = closure->data; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + data2 = param_values->data[0].v_pointer; +#line 7484 "Tree.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + data1 = param_values->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + data2 = closure->data; +#line 7490 "Tree.c" + } +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2); +#line 7496 "Tree.c" +} + + +static SidebarTreeEntryWrapper* sidebar_tree_entry_wrapper_construct (GType object_type, GtkTreeModel* model, SidebarEntry* entry, GtkTreePath* path) { + SidebarTreeEntryWrapper * self = NULL; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + GtkTreeModel* _tmp2_ = NULL; + GtkTreePath* _tmp3_ = NULL; + GtkTreeRowReference* _tmp4_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), NULL); +#line 19 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), NULL); +#line 19 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 19 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = (SidebarTreeEntryWrapper*) g_object_new (object_type, NULL); +#line 20 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = entry; +#line 20 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 20 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->entry); +#line 20 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->entry = _tmp1_; +#line 21 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = model; +#line 21 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = path; +#line 21 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp4_ = gtk_tree_row_reference_new (_tmp2_, _tmp3_); +#line 21 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_row_reference_free0 (self->row); +#line 21 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->row = _tmp4_; +#line 19 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return self; +#line 7535 "Tree.c" +} + + +static SidebarTreeEntryWrapper* sidebar_tree_entry_wrapper_new (GtkTreeModel* model, SidebarEntry* entry, GtkTreePath* path) { +#line 19 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return sidebar_tree_entry_wrapper_construct (SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, model, entry, path); +#line 7542 "Tree.c" +} + + +static GtkTreePath* sidebar_tree_entry_wrapper_get_path (SidebarTreeEntryWrapper* self) { + GtkTreePath* result = NULL; + const GtkTreeRowReference* _tmp0_ = NULL; + GtkTreePath* _tmp1_ = NULL; +#line 24 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_TREE_IS_ENTRY_WRAPPER (self), NULL); +#line 25 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->row; +#line 25 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = gtk_tree_row_reference_get_path (_tmp0_); +#line 25 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + result = _tmp1_; +#line 25 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return result; +#line 7560 "Tree.c" +} + + +static void sidebar_tree_entry_wrapper_get_iter (SidebarTreeEntryWrapper* self, GtkTreeIter* result) { + GtkTreeIter iter = {0}; + gboolean valid = FALSE; + const GtkTreeRowReference* _tmp0_ = NULL; + GtkTreeModel* _tmp1_ = NULL; + GtkTreePath* _tmp2_ = NULL; + GtkTreePath* _tmp3_ = NULL; + GtkTreeIter _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 28 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_if_fail (SIDEBAR_TREE_IS_ENTRY_WRAPPER (self)); +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->row; +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = gtk_tree_row_reference_get_model (_tmp0_); +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = sidebar_tree_entry_wrapper_get_path (self); +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = _tmp2_; +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp5_ = gtk_tree_model_get_iter (_tmp1_, &_tmp4_, _tmp3_); +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + iter = _tmp4_; +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp6_ = _tmp5_; +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_path_free0 (_tmp3_); +#line 30 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + valid = _tmp6_; +#line 31 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _vala_assert (valid, "valid"); +#line 33 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + *result = iter; +#line 33 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return; +#line 7600 "Tree.c" +} + + +static void sidebar_tree_entry_wrapper_class_init (SidebarTreeEntryWrapperClass * klass) { +#line 15 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_entry_wrapper_parent_class = g_type_class_peek_parent (klass); +#line 15 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + G_OBJECT_CLASS (klass)->finalize = sidebar_tree_entry_wrapper_finalize; +#line 7609 "Tree.c" +} + + +static void sidebar_tree_entry_wrapper_instance_init (SidebarTreeEntryWrapper * self) { +} + + +static void sidebar_tree_entry_wrapper_finalize (GObject* obj) { + SidebarTreeEntryWrapper * self; +#line 15 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, SidebarTreeEntryWrapper); +#line 16 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->entry); +#line 17 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_row_reference_free0 (self->row); +#line 15 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + G_OBJECT_CLASS (sidebar_tree_entry_wrapper_parent_class)->finalize (obj); +#line 7627 "Tree.c" +} + + +static GType sidebar_tree_entry_wrapper_get_type (void) { + static volatile gsize sidebar_tree_entry_wrapper_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_tree_entry_wrapper_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarTreeEntryWrapperClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_tree_entry_wrapper_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarTreeEntryWrapper), 0, (GInstanceInitFunc) sidebar_tree_entry_wrapper_instance_init, NULL }; + GType sidebar_tree_entry_wrapper_type_id; + sidebar_tree_entry_wrapper_type_id = g_type_register_static (G_TYPE_OBJECT, "SidebarTreeEntryWrapper", &g_define_type_info, 0); + g_once_init_leave (&sidebar_tree_entry_wrapper_type_id__volatile, sidebar_tree_entry_wrapper_type_id); + } + return sidebar_tree_entry_wrapper_type_id__volatile; +} + + +static SidebarTreeRootWrapper* sidebar_tree_root_wrapper_construct (GType object_type, GtkTreeModel* model, SidebarEntry* entry, GtkTreePath* path, gint root_position) { + SidebarTreeRootWrapper * self = NULL; + GtkTreeModel* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + GtkTreePath* _tmp2_ = NULL; + gint _tmp3_ = 0; +#line 40 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (GTK_IS_TREE_MODEL (model), NULL); +#line 40 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (entry), NULL); +#line 40 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 41 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = model; +#line 41 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = entry; +#line 41 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = path; +#line 41 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = (SidebarTreeRootWrapper*) sidebar_tree_entry_wrapper_construct (object_type, _tmp0_, _tmp1_, _tmp2_); +#line 43 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = root_position; +#line 43 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->root_position = _tmp3_; +#line 40 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return self; +#line 7669 "Tree.c" +} + + +static SidebarTreeRootWrapper* sidebar_tree_root_wrapper_new (GtkTreeModel* model, SidebarEntry* entry, GtkTreePath* path, gint root_position) { +#line 40 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + return sidebar_tree_root_wrapper_construct (SIDEBAR_TREE_TYPE_ROOT_WRAPPER, model, entry, path, root_position); +#line 7676 "Tree.c" +} + + +static void sidebar_tree_root_wrapper_class_init (SidebarTreeRootWrapperClass * klass) { +#line 37 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_root_wrapper_parent_class = g_type_class_peek_parent (klass); +#line 37 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + G_OBJECT_CLASS (klass)->finalize = sidebar_tree_root_wrapper_finalize; +#line 7685 "Tree.c" +} + + +static void sidebar_tree_root_wrapper_instance_init (SidebarTreeRootWrapper * self) { +} + + +static void sidebar_tree_root_wrapper_finalize (GObject* obj) { + SidebarTreeRootWrapper * self; +#line 37 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SIDEBAR_TREE_TYPE_ROOT_WRAPPER, SidebarTreeRootWrapper); +#line 37 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + G_OBJECT_CLASS (sidebar_tree_root_wrapper_parent_class)->finalize (obj); +#line 7699 "Tree.c" +} + + +static GType sidebar_tree_root_wrapper_get_type (void) { + static volatile gsize sidebar_tree_root_wrapper_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_tree_root_wrapper_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarTreeRootWrapperClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_tree_root_wrapper_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarTreeRootWrapper), 0, (GInstanceInitFunc) sidebar_tree_root_wrapper_instance_init, NULL }; + GType sidebar_tree_root_wrapper_type_id; + sidebar_tree_root_wrapper_type_id = g_type_register_static (SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, "SidebarTreeRootWrapper", &g_define_type_info, 0); + g_once_init_leave (&sidebar_tree_root_wrapper_type_id__volatile, sidebar_tree_root_wrapper_type_id); + } + return sidebar_tree_root_wrapper_type_id__volatile; +} + + +static void sidebar_tree_class_init (SidebarTreeClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + sidebar_tree_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_type_class_add_private (klass, sizeof (SidebarTreePrivate)); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + ((SidebarTreeClass *) klass)->accept_cursor_changed = sidebar_tree_real_accept_cursor_changed; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + ((GtkTreeViewClass *) klass)->cursor_changed = sidebar_tree_real_cursor_changed; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + ((GtkWidgetClass *) klass)->button_press_event = sidebar_tree_real_button_press_event; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + ((GtkWidgetClass *) klass)->key_press_event = sidebar_tree_real_key_press_event; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + ((GtkWidgetClass *) klass)->drag_data_get = sidebar_tree_real_drag_data_get; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + ((GtkWidgetClass *) klass)->drag_data_received = sidebar_tree_real_drag_data_received; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + ((GtkWidgetClass *) klass)->drag_motion = sidebar_tree_real_drag_motion; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + G_OBJECT_CLASS (klass)->finalize = sidebar_tree_finalize; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_new ("entry_selected", SIDEBAR_TYPE_TREE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, SIDEBAR_TYPE_SELECTABLE_ENTRY); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_new ("selected_entry_removed", SIDEBAR_TYPE_TREE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, SIDEBAR_TYPE_SELECTABLE_ENTRY); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_new ("branch_added", SIDEBAR_TYPE_TREE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, SIDEBAR_TYPE_BRANCH); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_new ("branch_removed", SIDEBAR_TYPE_TREE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, SIDEBAR_TYPE_BRANCH); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_new ("branch_shown", SIDEBAR_TYPE_TREE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_BOOLEAN, G_TYPE_NONE, 2, SIDEBAR_TYPE_BRANCH, G_TYPE_BOOLEAN); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_new ("page_created", SIDEBAR_TYPE_TREE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, TYPE_PAGE); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_new ("destroying_page", SIDEBAR_TYPE_TREE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, TYPE_PAGE); +#line 7750 "Tree.c" +} + + +static void sidebar_tree_instance_init (SidebarTree * self) { + GtkTreeStore* _tmp0_ = NULL; + GtkUIManager* _tmp1_ = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeHashMap* _tmp3_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv = SIDEBAR_TREE_GET_PRIVATE (self); +#line 55 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = gtk_tree_store_new ((gint) SIDEBAR_TREE_COLUMNS_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, G_TYPE_STRING); +#line 55 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->store = _tmp0_; +#line 62 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp1_ = gtk_ui_manager_new (); +#line 62 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->ui = _tmp1_; +#line 65 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->text_entry = NULL; +#line 66 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = gee_hash_map_new (SIDEBAR_TYPE_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, SIDEBAR_TREE_TYPE_ENTRY_WRAPPER, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 66 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->entry_map = _tmp2_; +#line 68 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp3_ = gee_hash_map_new (SIDEBAR_TYPE_BRANCH, (GBoxedCopyFunc) g_object_ref, g_object_unref, G_TYPE_INT, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 68 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->branches = _tmp3_; +#line 69 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->editing_disabled = 0; +#line 70 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->mask_entry_selected_signal = FALSE; +#line 71 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->selected_wrapper = NULL; +#line 72 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->default_context_menu = NULL; +#line 73 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->expander_called_manually = FALSE; +#line 74 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->expander_special_count = 0; +#line 75 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->is_internal_drag_in_progress = FALSE; +#line 76 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->internal_drag_source_entry = NULL; +#line 77 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self->priv->old_path_ref = NULL; +#line 7797 "Tree.c" +} + + +static void sidebar_tree_finalize (GObject* obj) { + SidebarTree * self; + GtkCellRendererText* _tmp0_ = NULL; + guint _tmp1_ = 0U; + GtkCellRendererText* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SIDEBAR_TYPE_TREE, SidebarTree); +#line 157 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp0_ = self->priv->text_renderer; +#line 157 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("editing-canceled", gtk_cell_renderer_get_type (), &_tmp1_, NULL, FALSE); +#line 157 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_cell_renderer_get_type (), GtkCellRenderer), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _sidebar_tree_on_editing_canceled_gtk_cell_renderer_editing_canceled, self); +#line 158 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _tmp2_ = self->priv->text_renderer; +#line 158 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_parse_name ("editing-started", gtk_cell_renderer_get_type (), &_tmp3_, NULL, FALSE); +#line 158 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_cell_renderer_get_type (), GtkCellRenderer), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _sidebar_tree_on_editing_started_gtk_cell_renderer_editing_started, self); +#line 55 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->store); +#line 62 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->ui); +#line 63 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->text_renderer); +#line 65 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->text_entry); +#line 66 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->entry_map); +#line 68 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->branches); +#line 72 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->default_context_menu); +#line 76 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _g_object_unref0 (self->priv->internal_drag_source_entry); +#line 77 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + _gtk_tree_row_reference_free0 (self->priv->old_path_ref); +#line 7 "/home/jens/Source/shotwell/src/sidebar/Tree.vala" + G_OBJECT_CLASS (sidebar_tree_parent_class)->finalize (obj); +#line 7841 "Tree.c" +} + + +GType sidebar_tree_get_type (void) { + static volatile gsize sidebar_tree_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_tree_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarTreeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_tree_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarTree), 0, (GInstanceInitFunc) sidebar_tree_instance_init, NULL }; + GType sidebar_tree_type_id; + sidebar_tree_type_id = g_type_register_static (gtk_tree_view_get_type (), "SidebarTree", &g_define_type_info, 0); + g_once_init_leave (&sidebar_tree_type_id__volatile, sidebar_tree_type_id); + } + return sidebar_tree_type_id__volatile; +} + + + diff --git a/src/sidebar/common.c b/src/sidebar/common.c new file mode 100644 index 0000000..1ef4450 --- /dev/null +++ b/src/sidebar/common.c @@ -0,0 +1,1171 @@ +/* common.c generated by valac 0.32.1, the Vala compiler + * generated from common.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* A simple grouping Entry that is only expandable*/ + +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; + +#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ()) +#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)) +#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY)) +#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface)) + +typedef struct _SidebarRenameableEntry SidebarRenameableEntry; +typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface; + +#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ()) +#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping)) +#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) +#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) + +typedef struct _SidebarGrouping SidebarGrouping; +typedef struct _SidebarGroupingClass SidebarGroupingClass; +typedef struct _SidebarGroupingPrivate SidebarGroupingPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; + +#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; +typedef struct _SidebarBranchPrivate SidebarBranchPrivate; + +#define SIDEBAR_TYPE_ROOT_ONLY_BRANCH (sidebar_root_only_branch_get_type ()) +#define SIDEBAR_ROOT_ONLY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ROOT_ONLY_BRANCH, SidebarRootOnlyBranch)) +#define SIDEBAR_ROOT_ONLY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_ROOT_ONLY_BRANCH, SidebarRootOnlyBranchClass)) +#define SIDEBAR_IS_ROOT_ONLY_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ROOT_ONLY_BRANCH)) +#define SIDEBAR_IS_ROOT_ONLY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_ROOT_ONLY_BRANCH)) +#define SIDEBAR_ROOT_ONLY_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_ROOT_ONLY_BRANCH, SidebarRootOnlyBranchClass)) + +typedef struct _SidebarRootOnlyBranch SidebarRootOnlyBranch; +typedef struct _SidebarRootOnlyBranchClass SidebarRootOnlyBranchClass; +typedef struct _SidebarRootOnlyBranchPrivate SidebarRootOnlyBranchPrivate; + +#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ()) + +#define SIDEBAR_TYPE_EMPHASIZABLE_ENTRY (sidebar_emphasizable_entry_get_type ()) +#define SIDEBAR_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntry)) +#define SIDEBAR_IS_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY)) +#define SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntryIface)) + +typedef struct _SidebarEmphasizableEntry SidebarEmphasizableEntry; +typedef struct _SidebarEmphasizableEntryIface SidebarEmphasizableEntryIface; + +#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ()) +#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader)) +#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) +#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) + +typedef struct _SidebarHeader SidebarHeader; +typedef struct _SidebarHeaderClass SidebarHeaderClass; +typedef struct _SidebarHeaderPrivate SidebarHeaderPrivate; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _SidebarRenameableEntryIface { + GTypeInterface parent_iface; + void (*rename) (SidebarRenameableEntry* self, const gchar* new_name); + gboolean (*is_user_renameable) (SidebarRenameableEntry* self); +}; + +struct _SidebarGrouping { + GObject parent_instance; + SidebarGroupingPrivate * priv; +}; + +struct _SidebarGroupingClass { + GObjectClass parent_class; +}; + +struct _SidebarGroupingPrivate { + gchar* name; + gchar* tooltip; + gchar* icon; +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _SidebarSimplePageEntryPrivate { + Page* page; +}; + +struct _SidebarBranch { + GObject parent_instance; + SidebarBranchPrivate * priv; +}; + +struct _SidebarBranchClass { + GObjectClass parent_class; +}; + +struct _SidebarRootOnlyBranch { + SidebarBranch parent_instance; + SidebarRootOnlyBranchPrivate * priv; +}; + +struct _SidebarRootOnlyBranchClass { + SidebarBranchClass parent_class; +}; + +typedef enum { + SIDEBAR_BRANCH_OPTIONS_NONE = 0, + SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0, + SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1, + SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2, + SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3 +} SidebarBranchOptions; + +struct _SidebarEmphasizableEntryIface { + GTypeInterface parent_iface; + gboolean (*is_emphasized) (SidebarEmphasizableEntry* self); +}; + +struct _SidebarHeader { + SidebarGrouping parent_instance; + SidebarHeaderPrivate * priv; +}; + +struct _SidebarHeaderClass { + SidebarGroupingClass parent_class; +}; + +struct _SidebarHeaderPrivate { + gboolean emphasized; +}; + + +static gpointer sidebar_grouping_parent_class = NULL; +static SidebarEntryIface* sidebar_grouping_sidebar_entry_parent_iface = NULL; +static SidebarExpandableEntryIface* sidebar_grouping_sidebar_expandable_entry_parent_iface = NULL; +static SidebarRenameableEntryIface* sidebar_grouping_sidebar_renameable_entry_parent_iface = NULL; +static gpointer sidebar_simple_page_entry_parent_class = NULL; +static SidebarEntryIface* sidebar_simple_page_entry_sidebar_entry_parent_iface = NULL; +static SidebarSelectableEntryIface* sidebar_simple_page_entry_sidebar_selectable_entry_parent_iface = NULL; +static SidebarPageRepresentativeIface* sidebar_simple_page_entry_sidebar_page_representative_parent_iface = NULL; +static SidebarContextableIface* sidebar_simple_page_entry_sidebar_contextable_parent_iface = NULL; +static gpointer sidebar_root_only_branch_parent_class = NULL; +static gpointer sidebar_header_parent_class = NULL; +static SidebarEmphasizableEntryIface* sidebar_header_sidebar_emphasizable_entry_parent_iface = NULL; + +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_grouping_get_type (void) G_GNUC_CONST; +#define SIDEBAR_GROUPING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SIDEBAR_TYPE_GROUPING, SidebarGroupingPrivate)) +enum { + SIDEBAR_GROUPING_DUMMY_PROPERTY +}; +SidebarGrouping* sidebar_grouping_new (const gchar* name, const gchar* icon, const gchar* tooltip); +SidebarGrouping* sidebar_grouping_construct (GType object_type, const gchar* name, const gchar* icon, const gchar* tooltip); +static void sidebar_grouping_real_rename (SidebarRenameableEntry* base, const gchar* name); +static gboolean sidebar_grouping_real_is_user_renameable (SidebarRenameableEntry* base); +static gchar* sidebar_grouping_real_get_sidebar_name (SidebarEntry* base); +static gchar* sidebar_grouping_real_get_sidebar_tooltip (SidebarEntry* base); +static gchar* sidebar_grouping_real_get_sidebar_icon (SidebarEntry* base); +static gchar* sidebar_grouping_real_to_string (SidebarEntry* base); +static gboolean sidebar_grouping_real_expand_on_select (SidebarExpandableEntry* base); +static void sidebar_grouping_finalize (GObject* obj); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryPrivate)) +enum { + SIDEBAR_SIMPLE_PAGE_ENTRY_DUMMY_PROPERTY +}; +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type); +gchar* sidebar_simple_page_entry_get_sidebar_name (SidebarSimplePageEntry* self); +static gchar* sidebar_simple_page_entry_real_get_sidebar_name (SidebarSimplePageEntry* self); +gchar* sidebar_simple_page_entry_get_sidebar_tooltip (SidebarSimplePageEntry* self); +static gchar* sidebar_simple_page_entry_real_get_sidebar_tooltip (SidebarSimplePageEntry* self); +gchar* sidebar_simple_page_entry_get_sidebar_icon (SidebarSimplePageEntry* self); +static gchar* sidebar_simple_page_entry_real_get_sidebar_icon (SidebarSimplePageEntry* self); +gchar* sidebar_simple_page_entry_to_string (SidebarSimplePageEntry* self); +static gchar* sidebar_simple_page_entry_real_to_string (SidebarSimplePageEntry* self); +Page* sidebar_simple_page_entry_create_page (SidebarSimplePageEntry* self); +static Page* sidebar_simple_page_entry_real_create_page (SidebarSimplePageEntry* self); +static gboolean sidebar_simple_page_entry_real_has_page (SidebarPageRepresentative* base); +static Page* sidebar_simple_page_entry_real_get_page (SidebarPageRepresentative* base); +static void sidebar_simple_page_entry_real_pruned (SidebarEntry* base, SidebarTree* tree); +static GtkMenu* sidebar_simple_page_entry_real_get_sidebar_context_menu (SidebarContextable* base, GdkEventButton* event); +Page* sidebar_page_representative_get_page (SidebarPageRepresentative* self); +GtkMenu* page_get_page_context_menu (Page* self); +static void sidebar_simple_page_entry_finalize (GObject* obj); +GType sidebar_branch_get_type (void) G_GNUC_CONST; +GType sidebar_root_only_branch_get_type (void) G_GNUC_CONST; +enum { + SIDEBAR_ROOT_ONLY_BRANCH_DUMMY_PROPERTY +}; +SidebarRootOnlyBranch* sidebar_root_only_branch_new (SidebarEntry* root); +SidebarRootOnlyBranch* sidebar_root_only_branch_construct (GType object_type, SidebarEntry* root); +GType sidebar_branch_options_get_type (void) G_GNUC_CONST; +static gint sidebar_root_only_branch_null_comparator (SidebarEntry* a, SidebarEntry* b); +static gint _sidebar_root_only_branch_null_comparator_gcompare_func (gconstpointer a, gconstpointer b); +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +GType sidebar_emphasizable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_header_get_type (void) G_GNUC_CONST; +#define SIDEBAR_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SIDEBAR_TYPE_HEADER, SidebarHeaderPrivate)) +enum { + SIDEBAR_HEADER_DUMMY_PROPERTY +}; +SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized); +SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized); +static gboolean sidebar_header_real_is_emphasized (SidebarEmphasizableEntry* base); +static void sidebar_header_finalize (GObject* obj); +GtkMenu* sidebar_contextable_get_sidebar_context_menu (SidebarContextable* self, GdkEventButton* event); + + +SidebarGrouping* sidebar_grouping_construct (GType object_type, const gchar* name, const gchar* icon, const gchar* tooltip) { + SidebarGrouping * self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 15 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = (SidebarGrouping*) g_object_new (object_type, NULL); +#line 16 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = name; +#line 16 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_free0 (self->priv->name); +#line 16 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv->name = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp2_ = icon; +#line 17 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 17 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_free0 (self->priv->icon); +#line 17 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv->icon = _tmp3_; +#line 18 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp4_ = tooltip; +#line 18 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 18 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_free0 (self->priv->tooltip); +#line 18 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv->tooltip = _tmp5_; +#line 15 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return self; +#line 391 "common.c" +} + + +SidebarGrouping* sidebar_grouping_new (const gchar* name, const gchar* icon, const gchar* tooltip) { +#line 15 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return sidebar_grouping_construct (SIDEBAR_TYPE_GROUPING, name, icon, tooltip); +#line 398 "common.c" +} + + +static void sidebar_grouping_real_rename (SidebarRenameableEntry* base, const gchar* name) { + SidebarGrouping * self; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_GROUPING, SidebarGrouping); +#line 21 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_if_fail (name != NULL); +#line 22 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = name; +#line 22 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 22 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_free0 (self->priv->name); +#line 22 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv->name = _tmp1_; +#line 23 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp2_ = name; +#line 23 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry), "sidebar-name-changed", _tmp2_); +#line 423 "common.c" +} + + +static gboolean sidebar_grouping_real_is_user_renameable (SidebarRenameableEntry* base) { + SidebarGrouping * self; + gboolean result = FALSE; +#line 26 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_GROUPING, SidebarGrouping); +#line 27 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = FALSE; +#line 27 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 436 "common.c" +} + + +static gchar* sidebar_grouping_real_get_sidebar_name (SidebarEntry* base) { + SidebarGrouping * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_GROUPING, SidebarGrouping); +#line 31 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = self->priv->name; +#line 31 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 31 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp1_; +#line 31 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 455 "common.c" +} + + +static gchar* sidebar_grouping_real_get_sidebar_tooltip (SidebarEntry* base) { + SidebarGrouping * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_GROUPING, SidebarGrouping); +#line 35 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = self->priv->tooltip; +#line 35 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 35 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp1_; +#line 35 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 474 "common.c" +} + + +static gchar* sidebar_grouping_real_get_sidebar_icon (SidebarEntry* base) { + SidebarGrouping * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_GROUPING, SidebarGrouping); +#line 39 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = self->priv->icon; +#line 39 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 39 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp1_; +#line 39 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 493 "common.c" +} + + +static gchar* sidebar_grouping_real_to_string (SidebarEntry* base) { + SidebarGrouping * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_GROUPING, SidebarGrouping); +#line 43 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = self->priv->name; +#line 43 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 43 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp1_; +#line 43 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 512 "common.c" +} + + +static gboolean sidebar_grouping_real_expand_on_select (SidebarExpandableEntry* base) { + SidebarGrouping * self; + gboolean result = FALSE; +#line 46 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_GROUPING, SidebarGrouping); +#line 47 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = TRUE; +#line 47 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 525 "common.c" +} + + +static void sidebar_grouping_class_init (SidebarGroupingClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_grouping_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_type_class_add_private (klass, sizeof (SidebarGroupingPrivate)); +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + G_OBJECT_CLASS (klass)->finalize = sidebar_grouping_finalize; +#line 536 "common.c" +} + + +static void sidebar_grouping_sidebar_entry_interface_init (SidebarEntryIface * iface) { +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_grouping_sidebar_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->get_sidebar_name = (gchar* (*)(SidebarEntry*)) sidebar_grouping_real_get_sidebar_name; +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->get_sidebar_tooltip = (gchar* (*)(SidebarEntry*)) sidebar_grouping_real_get_sidebar_tooltip; +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->get_sidebar_icon = (gchar* (*)(SidebarEntry*)) sidebar_grouping_real_get_sidebar_icon; +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->to_string = (gchar* (*)(SidebarEntry*)) sidebar_grouping_real_to_string; +#line 551 "common.c" +} + + +static void sidebar_grouping_sidebar_expandable_entry_interface_init (SidebarExpandableEntryIface * iface) { +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_grouping_sidebar_expandable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->expand_on_select = (gboolean (*)(SidebarExpandableEntry*)) sidebar_grouping_real_expand_on_select; +#line 560 "common.c" +} + + +static void sidebar_grouping_sidebar_renameable_entry_interface_init (SidebarRenameableEntryIface * iface) { +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_grouping_sidebar_renameable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->rename = (void (*)(SidebarRenameableEntry*, const gchar*)) sidebar_grouping_real_rename; +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->is_user_renameable = (gboolean (*)(SidebarRenameableEntry*)) sidebar_grouping_real_is_user_renameable; +#line 571 "common.c" +} + + +static void sidebar_grouping_instance_init (SidebarGrouping * self) { +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv = SIDEBAR_GROUPING_GET_PRIVATE (self); +#line 578 "common.c" +} + + +static void sidebar_grouping_finalize (GObject* obj) { + SidebarGrouping * self; +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SIDEBAR_TYPE_GROUPING, SidebarGrouping); +#line 11 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_free0 (self->priv->name); +#line 12 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_free0 (self->priv->tooltip); +#line 13 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_free0 (self->priv->icon); +#line 8 "/home/jens/Source/shotwell/src/sidebar/common.vala" + G_OBJECT_CLASS (sidebar_grouping_parent_class)->finalize (obj); +#line 594 "common.c" +} + + +GType sidebar_grouping_get_type (void) { + static volatile gsize sidebar_grouping_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_grouping_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarGroupingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_grouping_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarGrouping), 0, (GInstanceInitFunc) sidebar_grouping_instance_init, NULL }; + static const GInterfaceInfo sidebar_entry_info = { (GInterfaceInitFunc) sidebar_grouping_sidebar_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_expandable_entry_info = { (GInterfaceInitFunc) sidebar_grouping_sidebar_expandable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_renameable_entry_info = { (GInterfaceInitFunc) sidebar_grouping_sidebar_renameable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType sidebar_grouping_type_id; + sidebar_grouping_type_id = g_type_register_static (G_TYPE_OBJECT, "SidebarGrouping", &g_define_type_info, 0); + g_type_add_interface_static (sidebar_grouping_type_id, SIDEBAR_TYPE_ENTRY, &sidebar_entry_info); + g_type_add_interface_static (sidebar_grouping_type_id, SIDEBAR_TYPE_EXPANDABLE_ENTRY, &sidebar_expandable_entry_info); + g_type_add_interface_static (sidebar_grouping_type_id, SIDEBAR_TYPE_RENAMEABLE_ENTRY, &sidebar_renameable_entry_info); + g_once_init_leave (&sidebar_grouping_type_id__volatile, sidebar_grouping_type_id); + } + return sidebar_grouping_type_id__volatile; +} + + +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type) { + SidebarSimplePageEntry * self = NULL; +#line 58 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = (SidebarSimplePageEntry*) g_object_new (object_type, NULL); +#line 58 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return self; +#line 622 "common.c" +} + + +static gchar* sidebar_simple_page_entry_real_get_sidebar_name (SidebarSimplePageEntry* self) { +#line 61 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_critical ("Type `%s' does not implement abstract method `sidebar_simple_page_entry_get_sidebar_name'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 61 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return NULL; +#line 631 "common.c" +} + + +gchar* sidebar_simple_page_entry_get_sidebar_name (SidebarSimplePageEntry* self) { +#line 61 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_SIMPLE_PAGE_ENTRY (self), NULL); +#line 61 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS (self)->get_sidebar_name (self); +#line 640 "common.c" +} + + +static gchar* sidebar_simple_page_entry_real_get_sidebar_tooltip (SidebarSimplePageEntry* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = sidebar_simple_page_entry_get_sidebar_name (self); +#line 64 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp0_; +#line 64 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 653 "common.c" +} + + +gchar* sidebar_simple_page_entry_get_sidebar_tooltip (SidebarSimplePageEntry* self) { +#line 63 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_SIMPLE_PAGE_ENTRY (self), NULL); +#line 63 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS (self)->get_sidebar_tooltip (self); +#line 662 "common.c" +} + + +static gchar* sidebar_simple_page_entry_real_get_sidebar_icon (SidebarSimplePageEntry* self) { +#line 67 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_critical ("Type `%s' does not implement abstract method `sidebar_simple_page_entry_get_sidebar_icon'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 67 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return NULL; +#line 671 "common.c" +} + + +gchar* sidebar_simple_page_entry_get_sidebar_icon (SidebarSimplePageEntry* self) { +#line 67 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_SIMPLE_PAGE_ENTRY (self), NULL); +#line 67 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS (self)->get_sidebar_icon (self); +#line 680 "common.c" +} + + +static gchar* sidebar_simple_page_entry_real_to_string (SidebarSimplePageEntry* self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = sidebar_simple_page_entry_get_sidebar_name (self); +#line 70 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp0_; +#line 70 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 693 "common.c" +} + + +gchar* sidebar_simple_page_entry_to_string (SidebarSimplePageEntry* self) { +#line 69 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_SIMPLE_PAGE_ENTRY (self), NULL); +#line 69 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS (self)->to_string (self); +#line 702 "common.c" +} + + +static Page* sidebar_simple_page_entry_real_create_page (SidebarSimplePageEntry* self) { +#line 73 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_critical ("Type `%s' does not implement abstract method `sidebar_simple_page_entry_create_page'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 73 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return NULL; +#line 711 "common.c" +} + + +Page* sidebar_simple_page_entry_create_page (SidebarSimplePageEntry* self) { +#line 73 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_SIMPLE_PAGE_ENTRY (self), NULL); +#line 73 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS (self)->create_page (self); +#line 720 "common.c" +} + + +static gboolean sidebar_simple_page_entry_real_has_page (SidebarPageRepresentative* base) { + SidebarSimplePageEntry * self; + gboolean result = FALSE; + Page* _tmp0_ = NULL; +#line 75 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry); +#line 76 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = self->priv->page; +#line 76 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp0_ != NULL; +#line 76 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 736 "common.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 85 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return self ? g_object_ref (self) : NULL; +#line 743 "common.c" +} + + +static Page* sidebar_simple_page_entry_real_get_page (SidebarPageRepresentative* base) { + SidebarSimplePageEntry * self; + Page* result = NULL; + Page* _tmp0_ = NULL; + Page* _tmp3_ = NULL; + Page* _tmp4_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry); +#line 80 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = self->priv->page; +#line 80 "/home/jens/Source/shotwell/src/sidebar/common.vala" + if (_tmp0_ == NULL) { +#line 759 "common.c" + Page* _tmp1_ = NULL; + Page* _tmp2_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = sidebar_simple_page_entry_create_page (self); +#line 81 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_object_unref0 (self->priv->page); +#line 81 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv->page = _tmp1_; +#line 82 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp2_ = self->priv->page; +#line 82 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative), "page-created", _tmp2_); +#line 772 "common.c" + } +#line 85 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp3_ = self->priv->page; +#line 85 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 85 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp4_; +#line 85 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 782 "common.c" +} + + +static void sidebar_simple_page_entry_real_pruned (SidebarEntry* base, SidebarTree* tree) { + SidebarSimplePageEntry * self; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + Page* _tmp2_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry); +#line 88 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_if_fail (SIDEBAR_IS_TREE (tree)); +#line 89 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = self->priv->page; +#line 89 "/home/jens/Source/shotwell/src/sidebar/common.vala" + if (_tmp0_ == NULL) { +#line 90 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return; +#line 801 "common.c" + } +#line 92 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = self->priv->page; +#line 92 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative), "destroying-page", _tmp1_); +#line 93 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp2_ = self->priv->page; +#line 93 "/home/jens/Source/shotwell/src/sidebar/common.vala" + gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget)); +#line 94 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_object_unref0 (self->priv->page); +#line 94 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv->page = NULL; +#line 815 "common.c" +} + + +static GtkMenu* sidebar_simple_page_entry_real_get_sidebar_context_menu (SidebarContextable* base, GdkEventButton* event) { + SidebarSimplePageEntry * self; + GtkMenu* result = NULL; + Page* _tmp0_ = NULL; + Page* _tmp1_ = NULL; + GtkMenu* _tmp2_ = NULL; + GtkMenu* _tmp3_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry); +#line 98 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = sidebar_page_representative_get_page (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)); +#line 98 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = _tmp0_; +#line 98 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp2_ = page_get_page_context_menu (_tmp1_); +#line 98 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp3_ = _tmp2_; +#line 98 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_object_unref0 (_tmp1_); +#line 98 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp3_; +#line 98 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 842 "common.c" +} + + +static void sidebar_simple_page_entry_class_init (SidebarSimplePageEntryClass * klass) { +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_simple_page_entry_parent_class = g_type_class_peek_parent (klass); +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_type_class_add_private (klass, sizeof (SidebarSimplePageEntryPrivate)); +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = sidebar_simple_page_entry_real_get_sidebar_name; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_tooltip = sidebar_simple_page_entry_real_get_sidebar_tooltip; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = sidebar_simple_page_entry_real_get_sidebar_icon; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + ((SidebarSimplePageEntryClass *) klass)->to_string = sidebar_simple_page_entry_real_to_string; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = sidebar_simple_page_entry_real_create_page; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + G_OBJECT_CLASS (klass)->finalize = sidebar_simple_page_entry_finalize; +#line 863 "common.c" +} + + +static void sidebar_simple_page_entry_sidebar_entry_interface_init (SidebarEntryIface * iface) { +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_simple_page_entry_sidebar_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->get_sidebar_name = (gchar* (*)(SidebarEntry*)) sidebar_simple_page_entry_get_sidebar_name; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->get_sidebar_tooltip = (gchar* (*)(SidebarEntry*)) sidebar_simple_page_entry_get_sidebar_tooltip; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->get_sidebar_icon = (gchar* (*)(SidebarEntry*)) sidebar_simple_page_entry_get_sidebar_icon; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->to_string = (gchar* (*)(SidebarEntry*)) sidebar_simple_page_entry_to_string; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->pruned = (void (*)(SidebarEntry*, SidebarTree*)) sidebar_simple_page_entry_real_pruned; +#line 880 "common.c" +} + + +static void sidebar_simple_page_entry_sidebar_selectable_entry_interface_init (SidebarSelectableEntryIface * iface) { +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_simple_page_entry_sidebar_selectable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 887 "common.c" +} + + +static void sidebar_simple_page_entry_sidebar_page_representative_interface_init (SidebarPageRepresentativeIface * iface) { +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_simple_page_entry_sidebar_page_representative_parent_iface = g_type_interface_peek_parent (iface); +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->has_page = (gboolean (*)(SidebarPageRepresentative*)) sidebar_simple_page_entry_real_has_page; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->get_page = (Page* (*)(SidebarPageRepresentative*)) sidebar_simple_page_entry_real_get_page; +#line 898 "common.c" +} + + +static void sidebar_simple_page_entry_sidebar_contextable_interface_init (SidebarContextableIface * iface) { +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_simple_page_entry_sidebar_contextable_parent_iface = g_type_interface_peek_parent (iface); +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->get_sidebar_context_menu = (GtkMenu* (*)(SidebarContextable*, GdkEventButton*)) sidebar_simple_page_entry_real_get_sidebar_context_menu; +#line 907 "common.c" +} + + +static void sidebar_simple_page_entry_instance_init (SidebarSimplePageEntry * self) { +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv = SIDEBAR_SIMPLE_PAGE_ENTRY_GET_PRIVATE (self); +#line 56 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv->page = NULL; +#line 916 "common.c" +} + + +static void sidebar_simple_page_entry_finalize (GObject* obj) { + SidebarSimplePageEntry * self; +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry); +#line 56 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _g_object_unref0 (self->priv->page); +#line 54 "/home/jens/Source/shotwell/src/sidebar/common.vala" + G_OBJECT_CLASS (sidebar_simple_page_entry_parent_class)->finalize (obj); +#line 928 "common.c" +} + + +GType sidebar_simple_page_entry_get_type (void) { + static volatile gsize sidebar_simple_page_entry_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_simple_page_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarSimplePageEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_simple_page_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarSimplePageEntry), 0, (GInstanceInitFunc) sidebar_simple_page_entry_instance_init, NULL }; + static const GInterfaceInfo sidebar_entry_info = { (GInterfaceInitFunc) sidebar_simple_page_entry_sidebar_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_selectable_entry_info = { (GInterfaceInitFunc) sidebar_simple_page_entry_sidebar_selectable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_page_representative_info = { (GInterfaceInitFunc) sidebar_simple_page_entry_sidebar_page_representative_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_contextable_info = { (GInterfaceInitFunc) sidebar_simple_page_entry_sidebar_contextable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType sidebar_simple_page_entry_type_id; + sidebar_simple_page_entry_type_id = g_type_register_static (G_TYPE_OBJECT, "SidebarSimplePageEntry", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_type_add_interface_static (sidebar_simple_page_entry_type_id, SIDEBAR_TYPE_ENTRY, &sidebar_entry_info); + g_type_add_interface_static (sidebar_simple_page_entry_type_id, SIDEBAR_TYPE_SELECTABLE_ENTRY, &sidebar_selectable_entry_info); + g_type_add_interface_static (sidebar_simple_page_entry_type_id, SIDEBAR_TYPE_PAGE_REPRESENTATIVE, &sidebar_page_representative_info); + g_type_add_interface_static (sidebar_simple_page_entry_type_id, SIDEBAR_TYPE_CONTEXTABLE, &sidebar_contextable_info); + g_once_init_leave (&sidebar_simple_page_entry_type_id__volatile, sidebar_simple_page_entry_type_id); + } + return sidebar_simple_page_entry_type_id__volatile; +} + + +static gint _sidebar_root_only_branch_null_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = sidebar_root_only_branch_null_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 105 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 957 "common.c" +} + + +SidebarRootOnlyBranch* sidebar_root_only_branch_construct (GType object_type, SidebarEntry* root) { + SidebarRootOnlyBranch * self = NULL; + SidebarEntry* _tmp0_ = NULL; +#line 104 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (root), NULL); +#line 105 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = root; +#line 105 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = (SidebarRootOnlyBranch*) sidebar_branch_construct (object_type, _tmp0_, SIDEBAR_BRANCH_OPTIONS_NONE, _sidebar_root_only_branch_null_comparator_gcompare_func, NULL); +#line 104 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return self; +#line 972 "common.c" +} + + +SidebarRootOnlyBranch* sidebar_root_only_branch_new (SidebarEntry* root) { +#line 104 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return sidebar_root_only_branch_construct (SIDEBAR_TYPE_ROOT_ONLY_BRANCH, root); +#line 979 "common.c" +} + + +static gint sidebar_root_only_branch_null_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + gint _tmp0_ = 0; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 108 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 109 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = a; +#line 109 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp2_ = b; +#line 109 "/home/jens/Source/shotwell/src/sidebar/common.vala" + if (_tmp1_ != _tmp2_) { +#line 109 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = -1; +#line 1000 "common.c" + } else { +#line 109 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = 0; +#line 1004 "common.c" + } +#line 109 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp0_; +#line 109 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 1010 "common.c" +} + + +static void sidebar_root_only_branch_class_init (SidebarRootOnlyBranchClass * klass) { +#line 103 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_root_only_branch_parent_class = g_type_class_peek_parent (klass); +#line 1017 "common.c" +} + + +static void sidebar_root_only_branch_instance_init (SidebarRootOnlyBranch * self) { +} + + +GType sidebar_root_only_branch_get_type (void) { + static volatile gsize sidebar_root_only_branch_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_root_only_branch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarRootOnlyBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_root_only_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarRootOnlyBranch), 0, (GInstanceInitFunc) sidebar_root_only_branch_instance_init, NULL }; + GType sidebar_root_only_branch_type_id; + sidebar_root_only_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "SidebarRootOnlyBranch", &g_define_type_info, 0); + g_once_init_leave (&sidebar_root_only_branch_type_id__volatile, sidebar_root_only_branch_type_id); + } + return sidebar_root_only_branch_type_id__volatile; +} + + +SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized) { + SidebarHeader * self = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 123 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 124 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = name; +#line 124 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = (SidebarHeader*) sidebar_grouping_construct (object_type, _tmp0_, NULL, NULL); +#line 125 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp1_ = emphasized; +#line 125 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv->emphasized = _tmp1_; +#line 123 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return self; +#line 1053 "common.c" +} + + +SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized) { +#line 123 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return sidebar_header_construct (SIDEBAR_TYPE_HEADER, name, emphasized); +#line 1060 "common.c" +} + + +static gboolean sidebar_header_real_is_emphasized (SidebarEmphasizableEntry* base) { + SidebarHeader * self; + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 128 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, SIDEBAR_TYPE_HEADER, SidebarHeader); +#line 129 "/home/jens/Source/shotwell/src/sidebar/common.vala" + _tmp0_ = self->priv->emphasized; +#line 129 "/home/jens/Source/shotwell/src/sidebar/common.vala" + result = _tmp0_; +#line 129 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return result; +#line 1076 "common.c" +} + + +static void sidebar_header_class_init (SidebarHeaderClass * klass) { +#line 120 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_header_parent_class = g_type_class_peek_parent (klass); +#line 120 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_type_class_add_private (klass, sizeof (SidebarHeaderPrivate)); +#line 120 "/home/jens/Source/shotwell/src/sidebar/common.vala" + G_OBJECT_CLASS (klass)->finalize = sidebar_header_finalize; +#line 1087 "common.c" +} + + +static void sidebar_header_sidebar_emphasizable_entry_interface_init (SidebarEmphasizableEntryIface * iface) { +#line 120 "/home/jens/Source/shotwell/src/sidebar/common.vala" + sidebar_header_sidebar_emphasizable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 120 "/home/jens/Source/shotwell/src/sidebar/common.vala" + iface->is_emphasized = (gboolean (*)(SidebarEmphasizableEntry*)) sidebar_header_real_is_emphasized; +#line 1096 "common.c" +} + + +static void sidebar_header_instance_init (SidebarHeader * self) { +#line 120 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self->priv = SIDEBAR_HEADER_GET_PRIVATE (self); +#line 1103 "common.c" +} + + +static void sidebar_header_finalize (GObject* obj) { + SidebarHeader * self; +#line 120 "/home/jens/Source/shotwell/src/sidebar/common.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, SIDEBAR_TYPE_HEADER, SidebarHeader); +#line 120 "/home/jens/Source/shotwell/src/sidebar/common.vala" + G_OBJECT_CLASS (sidebar_header_parent_class)->finalize (obj); +#line 1113 "common.c" +} + + +/** + * A header is an entry that is visually distinguished from its children. Bug 6397 recommends + * headers to appear bolded and without any icons. To prevent the icons from rendering, we set the + * icons to null in the base class @see Sidebar.Grouping. But we also go a step further by + * using a custom cell_data_function (@see Sidebar.Tree::icon_renderer_function) which ensures that + * header icons won't be rendered. This approach avoids the blank icon spacing issues. + */ +GType sidebar_header_get_type (void) { + static volatile gsize sidebar_header_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_header_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarHeaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_header_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SidebarHeader), 0, (GInstanceInitFunc) sidebar_header_instance_init, NULL }; + static const GInterfaceInfo sidebar_emphasizable_entry_info = { (GInterfaceInitFunc) sidebar_header_sidebar_emphasizable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType sidebar_header_type_id; + sidebar_header_type_id = g_type_register_static (SIDEBAR_TYPE_GROUPING, "SidebarHeader", &g_define_type_info, 0); + g_type_add_interface_static (sidebar_header_type_id, SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, &sidebar_emphasizable_entry_info); + g_once_init_leave (&sidebar_header_type_id__volatile, sidebar_header_type_id); + } + return sidebar_header_type_id__volatile; +} + + +GtkMenu* sidebar_contextable_get_sidebar_context_menu (SidebarContextable* self, GdkEventButton* event) { +#line 135 "/home/jens/Source/shotwell/src/sidebar/common.vala" + g_return_val_if_fail (SIDEBAR_IS_CONTEXTABLE (self), NULL); +#line 135 "/home/jens/Source/shotwell/src/sidebar/common.vala" + return SIDEBAR_CONTEXTABLE_GET_INTERFACE (self)->get_sidebar_context_menu (self, event); +#line 1143 "common.c" +} + + +static void sidebar_contextable_base_init (SidebarContextableIface * iface) { +#line 133 "/home/jens/Source/shotwell/src/sidebar/common.vala" + static gboolean initialized = FALSE; +#line 133 "/home/jens/Source/shotwell/src/sidebar/common.vala" + if (!initialized) { +#line 133 "/home/jens/Source/shotwell/src/sidebar/common.vala" + initialized = TRUE; +#line 1154 "common.c" + } +} + + +GType sidebar_contextable_get_type (void) { + static volatile gsize sidebar_contextable_type_id__volatile = 0; + if (g_once_init_enter (&sidebar_contextable_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SidebarContextableIface), (GBaseInitFunc) sidebar_contextable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + GType sidebar_contextable_type_id; + sidebar_contextable_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarContextable", &g_define_type_info, 0); + g_type_interface_add_prerequisite (sidebar_contextable_type_id, G_TYPE_OBJECT); + g_once_init_leave (&sidebar_contextable_type_id__volatile, sidebar_contextable_type_id); + } + return sidebar_contextable_type_id__volatile; +} + + + diff --git a/src/sidebar/mk/sidebar.mk b/src/sidebar/mk/sidebar.mk deleted file mode 100644 index 2a6c67d..0000000 --- a/src/sidebar/mk/sidebar.mk +++ /dev/null @@ -1,31 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Sidebar - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := sidebar - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - Branch.vala \ - Entry.vala \ - Tree.vala \ - common.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/slideshow/Slideshow.c b/src/slideshow/Slideshow.c new file mode 100644 index 0000000..1731cfa --- /dev/null +++ b/src/slideshow/Slideshow.c @@ -0,0 +1,377 @@ +/* Slideshow.c generated by valac 0.32.1, the Vala compiler + * generated from Slideshow.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include + + + + +void slideshow_init (GError** error); +static void _vala_array_add33 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add34 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add35 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add36 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add37 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add38 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add39 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add40 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add41 (gchar*** array, int* length, int* size, gchar* value); +static void _vala_array_add42 (gchar*** array, int* length, int* size, gchar* value); +void plugins_register_extension_point (GType type, const gchar* name, const gchar* icon_name, gchar** core_ids, int core_ids_length1); +#define RESOURCES_ICON_SLIDESHOW_EXTENSION_POINT "slideshow-extension-point" +void transition_effects_manager_init (void); +void slideshow_terminate (void); +void transition_effects_manager_terminate (void); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static void _vala_array_add33 (gchar*** array, int* length, int* size, gchar* value) { +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 48 "Slideshow.c" + } +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 54 "Slideshow.c" +} + + +static void _vala_array_add34 (gchar*** array, int* length, int* size, gchar* value) { +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 65 "Slideshow.c" + } +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 71 "Slideshow.c" +} + + +static void _vala_array_add35 (gchar*** array, int* length, int* size, gchar* value) { +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 82 "Slideshow.c" + } +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 88 "Slideshow.c" +} + + +static void _vala_array_add36 (gchar*** array, int* length, int* size, gchar* value) { +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 99 "Slideshow.c" + } +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 105 "Slideshow.c" +} + + +static void _vala_array_add37 (gchar*** array, int* length, int* size, gchar* value) { +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 116 "Slideshow.c" + } +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 122 "Slideshow.c" +} + + +static void _vala_array_add38 (gchar*** array, int* length, int* size, gchar* value) { +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 133 "Slideshow.c" + } +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 139 "Slideshow.c" +} + + +static void _vala_array_add39 (gchar*** array, int* length, int* size, gchar* value) { +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 150 "Slideshow.c" + } +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 156 "Slideshow.c" +} + + +static void _vala_array_add40 (gchar*** array, int* length, int* size, gchar* value) { +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 167 "Slideshow.c" + } +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 173 "Slideshow.c" +} + + +static void _vala_array_add41 (gchar*** array, int* length, int* size, gchar* value) { +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 184 "Slideshow.c" + } +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 190 "Slideshow.c" +} + + +static void _vala_array_add42 (gchar*** array, int* length, int* size, gchar* value) { +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + if ((*length) == (*size)) { +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 201 "Slideshow.c" + } +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[(*length)++] = value; +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + (*array)[*length] = NULL; +#line 207 "Slideshow.c" +} + + +void slideshow_init (GError** error) { + gchar** core_ids = NULL; + gchar** _tmp0_ = NULL; + gint core_ids_length1 = 0; + gint _core_ids_size_ = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar* _tmp2_ = NULL; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + gchar* _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gchar* _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + gchar* _tmp10_ = NULL; + gchar** _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gchar* _tmp12_ = NULL; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gchar* _tmp14_ = NULL; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; + gchar* _tmp16_ = NULL; + gchar** _tmp17_ = NULL; + gint _tmp17__length1 = 0; + gchar* _tmp18_ = NULL; + gchar** _tmp19_ = NULL; + gint _tmp19__length1 = 0; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gchar** _tmp22_ = NULL; + gint _tmp22__length1 = 0; +#line 10 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 10 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + core_ids = _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + core_ids_length1 = 0; +#line 10 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _core_ids_size_ = core_ids_length1; +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp1_ = core_ids; +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp1__length1 = core_ids_length1; +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp2_ = g_strdup ("org.yorba.shotwell.transitions.crumble"); +#line 11 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add33 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp2_); +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp3_ = core_ids; +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp3__length1 = core_ids_length1; +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp4_ = g_strdup ("org.yorba.shotwell.transitions.fade"); +#line 12 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add34 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp4_); +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp5_ = core_ids; +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp5__length1 = core_ids_length1; +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp6_ = g_strdup ("org.yorba.shotwell.transitions.slide"); +#line 13 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add35 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp6_); +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp7_ = core_ids; +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp7__length1 = core_ids_length1; +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp8_ = g_strdup ("org.yorba.shotwell.transitions.blinds"); +#line 14 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add36 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp8_); +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp9_ = core_ids; +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp9__length1 = core_ids_length1; +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp10_ = g_strdup ("org.yorba.shotwell.transitions.circle"); +#line 15 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add37 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp10_); +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp11_ = core_ids; +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp11__length1 = core_ids_length1; +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp12_ = g_strdup ("org.yorba.shotwell.transitions.circles"); +#line 16 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add38 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp12_); +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp13_ = core_ids; +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp13__length1 = core_ids_length1; +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp14_ = g_strdup ("org.yorba.shotwell.transitions.clock"); +#line 17 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add39 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp14_); +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp15_ = core_ids; +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp15__length1 = core_ids_length1; +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp16_ = g_strdup ("org.yorba.shotwell.transitions.stripes"); +#line 18 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add40 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp16_); +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp17_ = core_ids; +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp17__length1 = core_ids_length1; +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp18_ = g_strdup ("org.yorba.shotwell.transitions.squares"); +#line 19 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add41 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp18_); +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp19_ = core_ids; +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp19__length1 = core_ids_length1; +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp20_ = g_strdup ("org.yorba.shotwell.transitions.chess"); +#line 20 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _vala_array_add42 (&core_ids, &core_ids_length1, &_core_ids_size_, _tmp20_); +#line 22 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp21_ = _ ("Slideshow Transitions"); +#line 22 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp22_ = core_ids; +#line 22 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + _tmp22__length1 = core_ids_length1; +#line 22 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + plugins_register_extension_point (SPIT_TRANSITIONS_TYPE_DESCRIPTOR, _tmp21_, RESOURCES_ICON_SLIDESHOW_EXTENSION_POINT, _tmp22_, _tmp22__length1); +#line 24 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + transition_effects_manager_init (); +#line 9 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + core_ids = (_vala_array_free (core_ids, core_ids_length1, (GDestroyNotify) g_free), NULL); +#line 349 "Slideshow.c" +} + + +void slideshow_terminate (void) { +#line 28 "/home/jens/Source/shotwell/src/slideshow/Slideshow.vala" + transition_effects_manager_terminate (); +#line 356 "Slideshow.c" +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/slideshow/TransitionEffects.c b/src/slideshow/TransitionEffects.c new file mode 100644 index 0000000..292187e --- /dev/null +++ b/src/slideshow/TransitionEffects.c @@ -0,0 +1,2658 @@ +/* TransitionEffects.c generated by valac 0.32.1, the Vala compiler + * generated from TransitionEffects.vala, do not modify */ + +/* Copyright 2010 Maxim Kartashev + * Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include +#include + + +#define TYPE_TRANSITION_EFFECTS_MANAGER (transition_effects_manager_get_type ()) +#define TRANSITION_EFFECTS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManager)) +#define TRANSITION_EFFECTS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerClass)) +#define IS_TRANSITION_EFFECTS_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSITION_EFFECTS_MANAGER)) +#define IS_TRANSITION_EFFECTS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSITION_EFFECTS_MANAGER)) +#define TRANSITION_EFFECTS_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerClass)) + +typedef struct _TransitionEffectsManager TransitionEffectsManager; +typedef struct _TransitionEffectsManagerClass TransitionEffectsManagerClass; +typedef struct _TransitionEffectsManagerPrivate TransitionEffectsManagerPrivate; + +#define PLUGINS_TYPE_NOTIFIER (plugins_notifier_get_type ()) +#define PLUGINS_NOTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_NOTIFIER, PluginsNotifier)) +#define PLUGINS_NOTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_NOTIFIER, PluginsNotifierClass)) +#define PLUGINS_IS_NOTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_NOTIFIER)) +#define PLUGINS_IS_NOTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_NOTIFIER)) +#define PLUGINS_NOTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_NOTIFIER, PluginsNotifierClass)) + +typedef struct _PluginsNotifier PluginsNotifier; +typedef struct _PluginsNotifierClass PluginsNotifierClass; +#define _plugins_notifier_unref0(var) ((var == NULL) ? NULL : (var = (plugins_notifier_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define TYPE_NULL_TRANSITION_DESCRIPTOR (null_transition_descriptor_get_type ()) +#define NULL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptor)) +#define NULL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptorClass)) +#define IS_NULL_TRANSITION_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NULL_TRANSITION_DESCRIPTOR)) +#define IS_NULL_TRANSITION_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NULL_TRANSITION_DESCRIPTOR)) +#define NULL_TRANSITION_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptorClass)) + +typedef struct _NullTransitionDescriptor NullTransitionDescriptor; +typedef struct _NullTransitionDescriptorClass NullTransitionDescriptorClass; + +#define TYPE_RANDOM_EFFECT_DESCRIPTOR (random_effect_descriptor_get_type ()) +#define RANDOM_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptor)) +#define RANDOM_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptorClass)) +#define IS_RANDOM_EFFECT_DESCRIPTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RANDOM_EFFECT_DESCRIPTOR)) +#define IS_RANDOM_EFFECT_DESCRIPTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RANDOM_EFFECT_DESCRIPTOR)) +#define RANDOM_EFFECT_DESCRIPTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptorClass)) + +typedef struct _RandomEffectDescriptor RandomEffectDescriptor; +typedef struct _RandomEffectDescriptorClass RandomEffectDescriptorClass; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _transition_effects_manager_unref0(var) ((var == NULL) ? NULL : (var = (transition_effects_manager_unref (var), NULL))) + +#define TYPE_TRANSITION_CLOCK (transition_clock_get_type ()) +#define TRANSITION_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TRANSITION_CLOCK, TransitionClock)) +#define TRANSITION_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TRANSITION_CLOCK, TransitionClockClass)) +#define IS_TRANSITION_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TRANSITION_CLOCK)) +#define IS_TRANSITION_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TRANSITION_CLOCK)) +#define TRANSITION_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TRANSITION_CLOCK, TransitionClockClass)) + +typedef struct _TransitionClock TransitionClock; +typedef struct _TransitionClockClass TransitionClockClass; +#define _transition_clock_unref0(var) ((var == NULL) ? NULL : (var = (transition_clock_unref (var), NULL))) +typedef struct _ParamSpecTransitionEffectsManager ParamSpecTransitionEffectsManager; +typedef struct _TransitionClockPrivate TransitionClockPrivate; + +#define TYPE_OP_TIMER (op_timer_get_type ()) +#define OP_TIMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OP_TIMER, OpTimer)) +#define OP_TIMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OP_TIMER, OpTimerClass)) +#define IS_OP_TIMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OP_TIMER)) +#define IS_OP_TIMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OP_TIMER)) +#define OP_TIMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OP_TIMER, OpTimerClass)) + +typedef struct _OpTimer OpTimer; +typedef struct _OpTimerClass OpTimerClass; +#define _op_timer_unref0(var) ((var == NULL) ? NULL : (var = (op_timer_unref (var), NULL))) + +#define PLUGINS_TYPE_STANDARD_HOST_INTERFACE (plugins_standard_host_interface_get_type ()) +#define PLUGINS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterface)) +#define PLUGINS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_IS_STANDARD_HOST_INTERFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUGINS_TYPE_STANDARD_HOST_INTERFACE)) +#define PLUGINS_STANDARD_HOST_INTERFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PLUGINS_TYPE_STANDARD_HOST_INTERFACE, PluginsStandardHostInterfaceClass)) + +typedef struct _PluginsStandardHostInterface PluginsStandardHostInterface; +typedef struct _PluginsStandardHostInterfaceClass PluginsStandardHostInterfaceClass; +typedef struct _ParamSpecTransitionClock ParamSpecTransitionClock; +typedef struct _NullTransitionDescriptorPrivate NullTransitionDescriptorPrivate; + +#define TYPE_NULL_EFFECT (null_effect_get_type ()) +#define NULL_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NULL_EFFECT, NullEffect)) +#define NULL_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NULL_EFFECT, NullEffectClass)) +#define IS_NULL_EFFECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NULL_EFFECT)) +#define IS_NULL_EFFECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NULL_EFFECT)) +#define NULL_EFFECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NULL_EFFECT, NullEffectClass)) + +typedef struct _NullEffect NullEffect; +typedef struct _NullEffectClass NullEffectClass; +typedef struct _NullEffectPrivate NullEffectPrivate; +typedef struct _RandomEffectDescriptorPrivate RandomEffectDescriptorPrivate; +#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 _TransitionEffectsManager { + GTypeInstance parent_instance; + volatile int ref_count; + TransitionEffectsManagerPrivate * priv; +}; + +struct _TransitionEffectsManagerClass { + GTypeClass parent_class; + void (*finalize) (TransitionEffectsManager *self); +}; + +struct _TransitionEffectsManagerPrivate { + GeeMap* effects; + SpitTransitionsDescriptor* null_descriptor; + SpitTransitionsDescriptor* random_descriptor; +}; + +struct _ParamSpecTransitionEffectsManager { + GParamSpec parent_instance; +}; + +struct _TransitionClock { + GTypeInstance parent_instance; + volatile int ref_count; + TransitionClockPrivate * priv; +}; + +struct _TransitionClockClass { + GTypeClass parent_class; + void (*finalize) (TransitionClock *self); +}; + +typedef void (*TransitionClockRepaintCallback) (void* user_data); +struct _TransitionClockPrivate { + SpitTransitionsDescriptor* desc; + SpitTransitionsEffect* effect; + gint desired_fps; + gint min_fps; + gint current_fps; + OpTimer* paint_timer; + SpitTransitionsVisuals* visuals; + SpitTransitionsMotion* motion; + TransitionClockRepaintCallback repaint; + gpointer repaint_target; + guint timer_id; + gulong time_started; + gint frame_number; + gboolean cancelled; +}; + +struct _ParamSpecTransitionClock { + GParamSpec parent_instance; +}; + +struct _NullTransitionDescriptor { + GObject parent_instance; + NullTransitionDescriptorPrivate * priv; +}; + +struct _NullTransitionDescriptorClass { + GObjectClass parent_class; +}; + +struct _NullEffect { + GObject parent_instance; + NullEffectPrivate * priv; +}; + +struct _NullEffectClass { + GObjectClass parent_class; +}; + +struct _RandomEffectDescriptor { + GObject parent_instance; + RandomEffectDescriptorPrivate * priv; +}; + +struct _RandomEffectDescriptorClass { + GObjectClass parent_class; +}; + + +static gpointer transition_effects_manager_parent_class = NULL; +static TransitionEffectsManager* transition_effects_manager_instance; +static TransitionEffectsManager* transition_effects_manager_instance = NULL; +static gpointer transition_clock_parent_class = NULL; +static gpointer null_transition_descriptor_parent_class = NULL; +static SpitPluggableIface* null_transition_descriptor_spit_pluggable_parent_iface = NULL; +static SpitTransitionsDescriptorIface* null_transition_descriptor_spit_transitions_descriptor_parent_iface = NULL; +static gpointer null_effect_parent_class = NULL; +static SpitTransitionsEffectIface* null_effect_spit_transitions_effect_parent_iface = NULL; +static gpointer random_effect_descriptor_parent_class = NULL; +static SpitPluggableIface* random_effect_descriptor_spit_pluggable_parent_iface = NULL; +static SpitTransitionsDescriptorIface* random_effect_descriptor_spit_transitions_descriptor_parent_iface = NULL; + +gpointer transition_effects_manager_ref (gpointer instance); +void transition_effects_manager_unref (gpointer instance); +GParamSpec* param_spec_transition_effects_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_transition_effects_manager (GValue* value, gpointer v_object); +void value_take_transition_effects_manager (GValue* value, gpointer v_object); +gpointer value_get_transition_effects_manager (const GValue* value); +GType transition_effects_manager_get_type (void) G_GNUC_CONST; +#define TRANSITION_EFFECTS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManagerPrivate)) +enum { + TRANSITION_EFFECTS_MANAGER_DUMMY_PROPERTY +}; +gpointer plugins_notifier_ref (gpointer instance); +void plugins_notifier_unref (gpointer instance); +GParamSpec* plugins_param_spec_notifier (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void plugins_value_set_notifier (GValue* value, gpointer v_object); +void plugins_value_take_notifier (GValue* value, gpointer v_object); +gpointer plugins_value_get_notifier (const GValue* value); +GType plugins_notifier_get_type (void) G_GNUC_CONST; +PluginsNotifier* plugins_notifier_get_instance (void); +static void transition_effects_manager_load_transitions (TransitionEffectsManager* self); +static void _transition_effects_manager_load_transitions_plugins_notifier_pluggable_activation (PluginsNotifier* _sender, SpitPluggable* pluggable, gboolean enabled, gpointer self); +NullTransitionDescriptor* null_transition_descriptor_new (void); +NullTransitionDescriptor* null_transition_descriptor_construct (GType object_type); +GType null_transition_descriptor_get_type (void) G_GNUC_CONST; +RandomEffectDescriptor* random_effect_descriptor_new (void); +RandomEffectDescriptor* random_effect_descriptor_construct (GType object_type); +GType random_effect_descriptor_get_type (void) G_GNUC_CONST; +#define NULL_TRANSITION_DESCRIPTOR_EFFECT_ID "org.yorba.shotwell.transitions.null" +#define TRANSITION_EFFECTS_MANAGER_NULL_EFFECT_ID NULL_TRANSITION_DESCRIPTOR_EFFECT_ID +#define RANDOM_EFFECT_DESCRIPTOR_EFFECT_ID "org.yorba.shotwell.transitions.random" +#define TRANSITION_EFFECTS_MANAGER_RANDOM_EFFECT_ID RANDOM_EFFECT_DESCRIPTOR_EFFECT_ID +static TransitionEffectsManager* transition_effects_manager_new (void); +static TransitionEffectsManager* transition_effects_manager_construct (GType object_type); +GeeCollection* plugins_get_pluggables_for_type (GType type, GCompareDataFunc compare_func, void* compare_func_target, GDestroyNotify compare_func_target_destroy_notify, gboolean include_disabled); +gchar* plugins_get_pluggable_module_id (SpitPluggable* needle); +void transition_effects_manager_init (void); +void transition_effects_manager_terminate (void); +TransitionEffectsManager* transition_effects_manager_get_instance (void); +GeeCollection* transition_effects_manager_get_effect_ids (TransitionEffectsManager* self); +GeeCollection* transition_effects_manager_get_effect_names (TransitionEffectsManager* self, GCompareDataFunc comparator, void* comparator_target, GDestroyNotify comparator_target_destroy_notify); +gchar* transition_effects_manager_get_id_for_effect_name (TransitionEffectsManager* self, const gchar* effect_name); +SpitTransitionsDescriptor* transition_effects_manager_get_effect_descriptor (TransitionEffectsManager* self, const gchar* effect_id); +gchar* transition_effects_manager_get_effect_name (TransitionEffectsManager* self, const gchar* effect_id); +SpitTransitionsDescriptor* transition_effects_manager_get_null_descriptor (TransitionEffectsManager* self); +gpointer transition_clock_ref (gpointer instance); +void transition_clock_unref (gpointer instance); +GParamSpec* param_spec_transition_clock (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_transition_clock (GValue* value, gpointer v_object); +void value_take_transition_clock (GValue* value, gpointer v_object); +gpointer value_get_transition_clock (const GValue* value); +GType transition_clock_get_type (void) G_GNUC_CONST; +TransitionClock* transition_effects_manager_create_transition_clock (TransitionEffectsManager* self, const gchar* effect_id); +TransitionClock* transition_clock_new (SpitTransitionsDescriptor* desc); +TransitionClock* transition_clock_construct (GType object_type, SpitTransitionsDescriptor* desc); +TransitionClock* transition_effects_manager_create_null_transition_clock (TransitionEffectsManager* self); +static void transition_effects_manager_finalize (TransitionEffectsManager* obj); +gpointer op_timer_ref (gpointer instance); +void op_timer_unref (gpointer instance); +GParamSpec* param_spec_op_timer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_op_timer (GValue* value, gpointer v_object); +void value_take_op_timer (GValue* value, gpointer v_object); +gpointer value_get_op_timer (const GValue* value); +GType op_timer_get_type (void) G_GNUC_CONST; +#define TRANSITION_CLOCK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TRANSITION_CLOCK, TransitionClockPrivate)) +enum { + TRANSITION_CLOCK_DUMMY_PROPERTY +}; +static void transition_clock_cancel_timer (TransitionClock* self); +gchar* op_timer_to_string (OpTimer* self); +PluginsStandardHostInterface* plugins_standard_host_interface_new (SpitPluggable* pluggable, const gchar* config_domain); +PluginsStandardHostInterface* plugins_standard_host_interface_construct (GType object_type, SpitPluggable* pluggable, const gchar* config_domain); +GType plugins_standard_host_interface_get_type (void) G_GNUC_CONST; +OpTimer* op_timer_new (const gchar* name); +OpTimer* op_timer_construct (GType object_type, const gchar* name); +gboolean transition_clock_is_in_progress (TransitionClock* self); +void transition_clock_start (TransitionClock* self, SpitTransitionsVisuals* visuals, SpitTransitionsDirection direction, gint duration_msec, TransitionClockRepaintCallback repaint, void* repaint_target); +static void transition_clock_reset (TransitionClock* self); +gulong now_ms (void); +static gboolean transition_clock_tick (TransitionClock* self); +static gboolean _transition_clock_tick_gsource_func (gpointer self); +static gboolean transition_clock_is_fps_ok (TransitionClock* self); +void transition_clock_cancel (TransitionClock* self); +gboolean transition_clock_paint (TransitionClock* self, cairo_t* ctx, gint width, gint height); +void op_timer_start (OpTimer* self); +void op_timer_stop (OpTimer* self); +static void transition_clock_finalize (TransitionClock* obj); +enum { + NULL_TRANSITION_DESCRIPTOR_DUMMY_PROPERTY +}; +static gint null_transition_descriptor_real_get_pluggable_interface (SpitPluggable* base, gint min_host_version, gint max_host_version); +static const gchar* null_transition_descriptor_real_get_id (SpitPluggable* base); +static const gchar* null_transition_descriptor_real_get_pluggable_name (SpitPluggable* base); +static void null_transition_descriptor_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static void null_transition_descriptor_real_activation (SpitPluggable* base, gboolean enabled); +static SpitTransitionsEffect* null_transition_descriptor_real_create (SpitTransitionsDescriptor* base, SpitHostInterface* host); +NullEffect* null_effect_new (void); +NullEffect* null_effect_construct (GType object_type); +GType null_effect_get_type (void) G_GNUC_CONST; +enum { + NULL_EFFECT_DUMMY_PROPERTY +}; +static void null_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps); +static void null_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion); +static gboolean null_effect_real_needs_clear_background (SpitTransitionsEffect* base); +static void null_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number); +static void null_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number); +static void null_effect_real_cancel (SpitTransitionsEffect* base); +enum { + RANDOM_EFFECT_DESCRIPTOR_DUMMY_PROPERTY +}; +static gint random_effect_descriptor_real_get_pluggable_interface (SpitPluggable* base, gint min_host_version, gint max_host_version); +static const gchar* random_effect_descriptor_real_get_id (SpitPluggable* base); +static const gchar* random_effect_descriptor_real_get_pluggable_name (SpitPluggable* base); +static void random_effect_descriptor_real_get_info (SpitPluggable* base, SpitPluggableInfo* info); +static void random_effect_descriptor_real_activation (SpitPluggable* base, gboolean enabled); +static SpitTransitionsEffect* random_effect_descriptor_real_create (SpitTransitionsDescriptor* base, SpitHostInterface* host); + + +static void _transition_effects_manager_load_transitions_plugins_notifier_pluggable_activation (PluginsNotifier* _sender, SpitPluggable* pluggable, gboolean enabled, gpointer self) { +#line 25 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_load_transitions ((TransitionEffectsManager*) self); +#line 338 "TransitionEffects.c" +} + + +static TransitionEffectsManager* transition_effects_manager_construct (GType object_type) { + TransitionEffectsManager* self = NULL; + PluginsNotifier* _tmp0_ = NULL; + PluginsNotifier* _tmp1_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = (TransitionEffectsManager*) g_type_create_instance (object_type); +#line 20 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_load_transitions (self); +#line 21 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = plugins_notifier_get_instance (); +#line 21 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = _tmp0_; +#line 21 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_signal_connect (_tmp1_, "pluggable-activation", (GCallback) _transition_effects_manager_load_transitions_plugins_notifier_pluggable_activation, self); +#line 21 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _plugins_notifier_unref0 (_tmp1_); +#line 19 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return self; +#line 360 "TransitionEffects.c" +} + + +static TransitionEffectsManager* transition_effects_manager_new (void) { +#line 19 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return transition_effects_manager_construct (TYPE_TRANSITION_EFFECTS_MANAGER); +#line 367 "TransitionEffects.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 48 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return self ? g_object_ref (self) : NULL; +#line 374 "TransitionEffects.c" +} + + +static void transition_effects_manager_load_transitions (TransitionEffectsManager* self) { + GeeMap* _tmp0_ = NULL; + GeeMap* _tmp1_ = NULL; + SpitTransitionsDescriptor* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + SpitTransitionsDescriptor* _tmp4_ = NULL; + GeeMap* _tmp5_ = NULL; + SpitTransitionsDescriptor* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + SpitTransitionsDescriptor* _tmp8_ = NULL; + GeeCollection* pluggables = NULL; + GeeCollection* _tmp9_ = NULL; +#line 28 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self)); +#line 29 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->effects; +#line 29 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + gee_map_clear (_tmp0_); +#line 32 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = self->priv->effects; +#line 32 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = self->priv->null_descriptor; +#line 32 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 32 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = self->priv->null_descriptor; +#line 32 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + gee_map_set (_tmp1_, _tmp3_, _tmp4_); +#line 33 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = self->priv->effects; +#line 33 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = self->priv->random_descriptor; +#line 33 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 33 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp8_ = self->priv->random_descriptor; +#line 33 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + gee_map_set (_tmp5_, _tmp7_, _tmp8_); +#line 36 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp9_ = plugins_get_pluggables_for_type (SPIT_TRANSITIONS_TYPE_DESCRIPTOR, NULL, NULL, NULL, FALSE); +#line 36 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + pluggables = _tmp9_; +#line 420 "TransitionEffects.c" + { + GeeIterator* _pluggable_it = NULL; + GeeCollection* _tmp10_ = NULL; + GeeIterator* _tmp11_ = NULL; +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = pluggables; +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp11_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _pluggable_it = _tmp11_; +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + while (TRUE) { +#line 433 "TransitionEffects.c" + GeeIterator* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + SpitPluggable* pluggable = NULL; + GeeIterator* _tmp14_ = NULL; + gpointer _tmp15_ = NULL; + gint pluggable_interface = 0; + SpitPluggable* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + SpitTransitionsDescriptor* desc = NULL; + SpitPluggable* _tmp23_ = NULL; + SpitTransitionsDescriptor* _tmp24_ = NULL; + GeeMap* _tmp25_ = NULL; + SpitTransitionsDescriptor* _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp12_ = _pluggable_it; +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp13_ = gee_iterator_next (_tmp12_); +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!_tmp13_) { +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + break; +#line 458 "TransitionEffects.c" + } +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp14_ = _pluggable_it; +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp15_ = gee_iterator_get (_tmp14_); +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + pluggable = (SpitPluggable*) _tmp15_; +#line 39 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp16_ = pluggable; +#line 39 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp17_ = spit_pluggable_get_pluggable_interface (_tmp16_, SPIT_TRANSITIONS_CURRENT_INTERFACE, SPIT_TRANSITIONS_CURRENT_INTERFACE); +#line 39 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + pluggable_interface = _tmp17_; +#line 41 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp18_ = pluggable_interface; +#line 41 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp18_ != SPIT_TRANSITIONS_CURRENT_INTERFACE) { +#line 476 "TransitionEffects.c" + SpitPluggable* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + gint _tmp22_ = 0; +#line 42 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp19_ = pluggable; +#line 42 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp20_ = plugins_get_pluggable_module_id (_tmp19_); +#line 42 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp21_ = _tmp20_; +#line 42 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp22_ = pluggable_interface; +#line 42 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_warning ("TransitionEffects.vala:42: Unable to load transitions plug-in %s: repo" \ +"rted interface %d", _tmp21_, _tmp22_); +#line 42 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_free0 (_tmp21_); +#line 45 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (pluggable); +#line 45 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + continue; +#line 497 "TransitionEffects.c" + } +#line 48 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp23_ = pluggable; +#line 48 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptor)); +#line 48 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + desc = _tmp24_; +#line 49 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp25_ = self->priv->effects; +#line 49 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp26_ = desc; +#line 49 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp27_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 49 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp28_ = gee_map_has_key (_tmp25_, _tmp27_); +#line 49 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp28_) { +#line 515 "TransitionEffects.c" + SpitTransitionsDescriptor* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; +#line 50 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp29_ = desc; +#line 50 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp30_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 50 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_warning ("TransitionEffects.vala:50: Multiple transitions loaded with same effec" \ +"t ID %s", _tmp30_); +#line 524 "TransitionEffects.c" + } else { + GeeMap* _tmp31_ = NULL; + SpitTransitionsDescriptor* _tmp32_ = NULL; + const gchar* _tmp33_ = NULL; + SpitTransitionsDescriptor* _tmp34_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp31_ = self->priv->effects; +#line 52 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp32_ = desc; +#line 52 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp33_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 52 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp34_ = desc; +#line 52 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + gee_map_set (_tmp31_, _tmp33_, _tmp34_); +#line 540 "TransitionEffects.c" + } +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (desc); +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (pluggable); +#line 546 "TransitionEffects.c" + } +#line 38 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (_pluggable_it); +#line 550 "TransitionEffects.c" + } +#line 28 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (pluggables); +#line 554 "TransitionEffects.c" +} + + +void transition_effects_manager_init (void) { + TransitionEffectsManager* _tmp0_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = transition_effects_manager_new (); +#line 57 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _transition_effects_manager_unref0 (transition_effects_manager_instance); +#line 57 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_instance = _tmp0_; +#line 566 "TransitionEffects.c" +} + + +void transition_effects_manager_terminate (void) { +#line 61 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _transition_effects_manager_unref0 (transition_effects_manager_instance); +#line 61 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_instance = NULL; +#line 575 "TransitionEffects.c" +} + + +static gpointer _transition_effects_manager_ref0 (gpointer self) { +#line 67 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return self ? transition_effects_manager_ref (self) : NULL; +#line 582 "TransitionEffects.c" +} + + +TransitionEffectsManager* transition_effects_manager_get_instance (void) { + TransitionEffectsManager* result = NULL; + TransitionEffectsManager* _tmp0_ = NULL; + TransitionEffectsManager* _tmp1_ = NULL; + TransitionEffectsManager* _tmp2_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = transition_effects_manager_instance; +#line 65 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _vala_assert (_tmp0_ != NULL, "instance != null"); +#line 67 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = transition_effects_manager_instance; +#line 67 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = _transition_effects_manager_ref0 (_tmp1_); +#line 67 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp2_; +#line 67 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 603 "TransitionEffects.c" +} + + +GeeCollection* transition_effects_manager_get_effect_ids (TransitionEffectsManager* self) { + GeeCollection* result = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self), NULL); +#line 71 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->effects; +#line 71 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 71 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = _tmp1_; +#line 71 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 71 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 624 "TransitionEffects.c" +} + + +GeeCollection* transition_effects_manager_get_effect_names (TransitionEffectsManager* self, GCompareDataFunc comparator, void* comparator_target, GDestroyNotify comparator_target_destroy_notify) { + GeeCollection* result = NULL; + GeeCollection* effect_names = NULL; + GCompareDataFunc _tmp0_ = NULL; + void* _tmp0__target = NULL; + GDestroyNotify _tmp0__target_destroy_notify = NULL; + GeeTreeSet* _tmp1_ = NULL; +#line 74 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self), NULL); +#line 75 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = comparator; +#line 75 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0__target = comparator_target; +#line 75 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0__target_destroy_notify = comparator_target_destroy_notify; +#line 75 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + comparator_target_destroy_notify = NULL; +#line 75 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, _tmp0_, _tmp0__target, _tmp0__target_destroy_notify); +#line 75 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + effect_names = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection); +#line 649 "TransitionEffects.c" + { + GeeIterator* _desc_it = NULL; + GeeMap* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + GeeCollection* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = self->priv->effects; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = gee_map_get_values (_tmp2_); +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = _tmp3_; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = _tmp4_; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = _tmp6_; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (_tmp5_); +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _desc_it = _tmp7_; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + while (TRUE) { +#line 676 "TransitionEffects.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + SpitTransitionsDescriptor* desc = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + GeeCollection* _tmp12_ = NULL; + SpitTransitionsDescriptor* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp8_ = _desc_it; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!_tmp9_) { +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + break; +#line 693 "TransitionEffects.c" + } +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = _desc_it; +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + desc = (SpitTransitionsDescriptor*) _tmp11_; +#line 77 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp12_ = effect_names; +#line 77 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp13_ = desc; +#line 77 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp14_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 77 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + gee_collection_add (_tmp12_, _tmp14_); +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (desc); +#line 711 "TransitionEffects.c" + } +#line 76 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (_desc_it); +#line 715 "TransitionEffects.c" + } +#line 79 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = effect_names; +#line 79 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + (comparator_target_destroy_notify == NULL) ? NULL : (comparator_target_destroy_notify (comparator_target), NULL); +#line 79 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + comparator = NULL; +#line 79 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + comparator_target = NULL; +#line 79 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + comparator_target_destroy_notify = NULL; +#line 79 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 729 "TransitionEffects.c" +} + + +gchar* transition_effects_manager_get_id_for_effect_name (TransitionEffectsManager* self, const gchar* effect_name) { + gchar* result = NULL; +#line 82 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self), NULL); +#line 82 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (effect_name != NULL, NULL); +#line 739 "TransitionEffects.c" + { + GeeIterator* _desc_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->effects; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = gee_map_get_values (_tmp0_); +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = _tmp1_; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = _tmp2_; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = _tmp4_; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (_tmp3_); +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _desc_it = _tmp5_; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + while (TRUE) { +#line 766 "TransitionEffects.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + SpitTransitionsDescriptor* desc = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + SpitTransitionsDescriptor* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = _desc_it; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!_tmp7_) { +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + break; +#line 783 "TransitionEffects.c" + } +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp8_ = _desc_it; +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + desc = (SpitTransitionsDescriptor*) _tmp9_; +#line 84 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = desc; +#line 84 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp11_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 84 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp12_ = effect_name; +#line 84 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (g_strcmp0 (_tmp11_, _tmp12_) == 0) { +#line 799 "TransitionEffects.c" + SpitTransitionsDescriptor* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp13_ = desc; +#line 85 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp14_ = spit_pluggable_get_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 85 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp15_ = g_strdup (_tmp14_); +#line 85 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp15_; +#line 85 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (desc); +#line 85 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (_desc_it); +#line 85 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 817 "TransitionEffects.c" + } +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (desc); +#line 821 "TransitionEffects.c" + } +#line 83 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (_desc_it); +#line 825 "TransitionEffects.c" + } +#line 88 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = NULL; +#line 88 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 831 "TransitionEffects.c" +} + + +SpitTransitionsDescriptor* transition_effects_manager_get_effect_descriptor (TransitionEffectsManager* self, const gchar* effect_id) { + SpitTransitionsDescriptor* result = NULL; + GeeMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 91 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self), NULL); +#line 91 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (effect_id != NULL, NULL); +#line 92 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->effects; +#line 92 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = effect_id; +#line 92 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = gee_map_get (_tmp0_, _tmp1_); +#line 92 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = (SpitTransitionsDescriptor*) _tmp2_; +#line 92 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 854 "TransitionEffects.c" +} + + +gchar* transition_effects_manager_get_effect_name (TransitionEffectsManager* self, const gchar* effect_id) { + gchar* result = NULL; + SpitTransitionsDescriptor* desc = NULL; + const gchar* _tmp0_ = NULL; + SpitTransitionsDescriptor* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + SpitTransitionsDescriptor* _tmp3_ = NULL; + gchar* _tmp7_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self), NULL); +#line 95 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (effect_id != NULL, NULL); +#line 96 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = effect_id; +#line 96 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = transition_effects_manager_get_effect_descriptor (self, _tmp0_); +#line 96 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + desc = _tmp1_; +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = desc; +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp3_ != NULL) { +#line 880 "TransitionEffects.c" + SpitTransitionsDescriptor* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = desc; +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = _tmp5_; +#line 889 "TransitionEffects.c" + } else { + const gchar* _tmp6_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = _ ("(None)"); +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = _tmp6_; +#line 896 "TransitionEffects.c" + } +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = g_strdup (_tmp2_); +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp7_; +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (desc); +#line 98 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 906 "TransitionEffects.c" +} + + +SpitTransitionsDescriptor* transition_effects_manager_get_null_descriptor (TransitionEffectsManager* self) { + SpitTransitionsDescriptor* result = NULL; + SpitTransitionsDescriptor* _tmp0_ = NULL; + SpitTransitionsDescriptor* _tmp1_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self), NULL); +#line 102 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->null_descriptor; +#line 102 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 102 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp1_; +#line 102 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 924 "TransitionEffects.c" +} + + +TransitionClock* transition_effects_manager_create_transition_clock (TransitionEffectsManager* self, const gchar* effect_id) { + TransitionClock* result = NULL; + SpitTransitionsDescriptor* desc = NULL; + const gchar* _tmp0_ = NULL; + SpitTransitionsDescriptor* _tmp1_ = NULL; + TransitionClock* _tmp2_ = NULL; + SpitTransitionsDescriptor* _tmp3_ = NULL; +#line 105 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self), NULL); +#line 105 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (effect_id != NULL, NULL); +#line 106 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = effect_id; +#line 106 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = transition_effects_manager_get_effect_descriptor (self, _tmp0_); +#line 106 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + desc = _tmp1_; +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = desc; +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp3_ != NULL) { +#line 949 "TransitionEffects.c" + SpitTransitionsDescriptor* _tmp4_ = NULL; + TransitionClock* _tmp5_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = desc; +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = transition_clock_new (_tmp4_); +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _transition_clock_unref0 (_tmp2_); +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = _tmp5_; +#line 960 "TransitionEffects.c" + } else { +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _transition_clock_unref0 (_tmp2_); +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = NULL; +#line 966 "TransitionEffects.c" + } +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp2_; +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (desc); +#line 108 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 974 "TransitionEffects.c" +} + + +TransitionClock* transition_effects_manager_create_null_transition_clock (TransitionEffectsManager* self) { + TransitionClock* result = NULL; + SpitTransitionsDescriptor* _tmp0_ = NULL; + TransitionClock* _tmp1_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_EFFECTS_MANAGER (self), NULL); +#line 112 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->null_descriptor; +#line 112 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = transition_clock_new (_tmp0_); +#line 112 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp1_; +#line 112 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 992 "TransitionEffects.c" +} + + +static void value_transition_effects_manager_init (GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = NULL; +#line 999 "TransitionEffects.c" +} + + +static void value_transition_effects_manager_free_value (GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_unref (value->data[0].v_pointer); +#line 1008 "TransitionEffects.c" + } +} + + +static void value_transition_effects_manager_copy_value (const GValue* src_value, GValue* dest_value) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (src_value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + dest_value->data[0].v_pointer = transition_effects_manager_ref (src_value->data[0].v_pointer); +#line 1018 "TransitionEffects.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + dest_value->data[0].v_pointer = NULL; +#line 1022 "TransitionEffects.c" + } +} + + +static gpointer value_transition_effects_manager_peek_pointer (const GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return value->data[0].v_pointer; +#line 1030 "TransitionEffects.c" +} + + +static gchar* value_transition_effects_manager_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (collect_values[0].v_pointer) { +#line 1037 "TransitionEffects.c" + TransitionEffectsManager* object; + object = collect_values[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (object->parent_instance.g_class == NULL) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1044 "TransitionEffects.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1048 "TransitionEffects.c" + } +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = transition_effects_manager_ref (object); +#line 1052 "TransitionEffects.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = NULL; +#line 1056 "TransitionEffects.c" + } +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return NULL; +#line 1060 "TransitionEffects.c" +} + + +static gchar* value_transition_effects_manager_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TransitionEffectsManager** object_p; + object_p = collect_values[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!object_p) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1071 "TransitionEffects.c" + } +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!value->data[0].v_pointer) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + *object_p = NULL; +#line 1077 "TransitionEffects.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + *object_p = value->data[0].v_pointer; +#line 1081 "TransitionEffects.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + *object_p = transition_effects_manager_ref (value->data[0].v_pointer); +#line 1085 "TransitionEffects.c" + } +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return NULL; +#line 1089 "TransitionEffects.c" +} + + +GParamSpec* param_spec_transition_effects_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTransitionEffectsManager* spec; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TRANSITION_EFFECTS_MANAGER), NULL); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return G_PARAM_SPEC (spec); +#line 1103 "TransitionEffects.c" +} + + +gpointer value_get_transition_effects_manager (const GValue* value) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSITION_EFFECTS_MANAGER), NULL); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return value->data[0].v_pointer; +#line 1112 "TransitionEffects.c" +} + + +void value_set_transition_effects_manager (GValue* value, gpointer v_object) { + TransitionEffectsManager* old; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSITION_EFFECTS_MANAGER)); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + old = value->data[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (v_object) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TRANSITION_EFFECTS_MANAGER)); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = v_object; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_ref (value->data[0].v_pointer); +#line 1132 "TransitionEffects.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = NULL; +#line 1136 "TransitionEffects.c" + } +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (old) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_unref (old); +#line 1142 "TransitionEffects.c" + } +} + + +void value_take_transition_effects_manager (GValue* value, gpointer v_object) { + TransitionEffectsManager* old; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSITION_EFFECTS_MANAGER)); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + old = value->data[0].v_pointer; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (v_object) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TRANSITION_EFFECTS_MANAGER)); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = v_object; +#line 1161 "TransitionEffects.c" + } else { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = NULL; +#line 1165 "TransitionEffects.c" + } +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (old) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_unref (old); +#line 1171 "TransitionEffects.c" + } +} + + +static void transition_effects_manager_class_init (TransitionEffectsManagerClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_effects_manager_parent_class = g_type_class_peek_parent (klass); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + ((TransitionEffectsManagerClass *) klass)->finalize = transition_effects_manager_finalize; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_type_class_add_private (klass, sizeof (TransitionEffectsManagerPrivate)); +#line 1183 "TransitionEffects.c" +} + + +static void transition_effects_manager_instance_init (TransitionEffectsManager * self) { + GeeHashMap* _tmp0_ = NULL; + NullTransitionDescriptor* _tmp1_ = NULL; + RandomEffectDescriptor* _tmp2_ = NULL; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv = TRANSITION_EFFECTS_MANAGER_GET_PRIVATE (self); +#line 14 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, SPIT_TRANSITIONS_TYPE_DESCRIPTOR, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 14 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->effects = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap); +#line 16 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = null_transition_descriptor_new (); +#line 16 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->null_descriptor = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptor); +#line 17 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = random_effect_descriptor_new (); +#line 17 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->random_descriptor = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SPIT_TRANSITIONS_TYPE_DESCRIPTOR, SpitTransitionsDescriptor); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->ref_count = 1; +#line 1207 "TransitionEffects.c" +} + + +static void transition_effects_manager_finalize (TransitionEffectsManager* obj) { + TransitionEffectsManager * self; + PluginsNotifier* _tmp0_ = NULL; + PluginsNotifier* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TRANSITION_EFFECTS_MANAGER, TransitionEffectsManager); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_signal_handlers_destroy (self); +#line 25 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = plugins_notifier_get_instance (); +#line 25 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = _tmp0_; +#line 25 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_signal_parse_name ("pluggable-activation", PLUGINS_TYPE_NOTIFIER, &_tmp2_, NULL, FALSE); +#line 25 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _transition_effects_manager_load_transitions_plugins_notifier_pluggable_activation, self); +#line 25 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _plugins_notifier_unref0 (_tmp1_); +#line 14 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->effects); +#line 16 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->null_descriptor); +#line 17 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->random_descriptor); +#line 1236 "TransitionEffects.c" +} + + +GType transition_effects_manager_get_type (void) { + static volatile gsize transition_effects_manager_type_id__volatile = 0; + if (g_once_init_enter (&transition_effects_manager_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_transition_effects_manager_init, value_transition_effects_manager_free_value, value_transition_effects_manager_copy_value, value_transition_effects_manager_peek_pointer, "p", value_transition_effects_manager_collect_value, "p", value_transition_effects_manager_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TransitionEffectsManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) transition_effects_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TransitionEffectsManager), 0, (GInstanceInitFunc) transition_effects_manager_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType transition_effects_manager_type_id; + transition_effects_manager_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TransitionEffectsManager", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&transition_effects_manager_type_id__volatile, transition_effects_manager_type_id); + } + return transition_effects_manager_type_id__volatile; +} + + +gpointer transition_effects_manager_ref (gpointer instance) { + TransitionEffectsManager* self; + self = instance; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_atomic_int_inc (&self->ref_count); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return instance; +#line 1261 "TransitionEffects.c" +} + + +void transition_effects_manager_unref (gpointer instance) { + TransitionEffectsManager* self; + self = instance; +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + TRANSITION_EFFECTS_MANAGER_GET_CLASS (self)->finalize (self); +#line 8 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1274 "TransitionEffects.c" + } +} + + +TransitionClock* transition_clock_construct (GType object_type, SpitTransitionsDescriptor* desc) { + TransitionClock* self = NULL; + SpitTransitionsDescriptor* _tmp0_ = NULL; + SpitTransitionsDescriptor* _tmp1_ = NULL; + SpitTransitionsDescriptor* _tmp2_ = NULL; + SpitTransitionsDescriptor* _tmp3_ = NULL; + PluginsStandardHostInterface* _tmp4_ = NULL; + PluginsStandardHostInterface* _tmp5_ = NULL; + SpitTransitionsEffect* _tmp6_ = NULL; + SpitTransitionsEffect* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + SpitTransitionsDescriptor* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + OpTimer* _tmp12_ = NULL; +#line 136 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (SPIT_TRANSITIONS_IS_DESCRIPTOR (desc), NULL); +#line 136 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = (TransitionClock*) g_type_create_instance (object_type); +#line 137 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = desc; +#line 137 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 137 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->desc); +#line 137 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->desc = _tmp1_; +#line 139 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = desc; +#line 139 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = desc; +#line 139 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = plugins_standard_host_interface_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, SPIT_TYPE_PLUGGABLE, SpitPluggable), "transitions"); +#line 139 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = _tmp4_; +#line 139 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = spit_transitions_descriptor_create (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, SPIT_TYPE_HOST_INTERFACE, SpitHostInterface)); +#line 139 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->effect); +#line 139 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->effect = _tmp6_; +#line 139 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (_tmp5_); +#line 140 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = self->priv->effect; +#line 140 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_effect_get_fps (_tmp7_, &_tmp8_, &_tmp9_); +#line 140 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->desired_fps = _tmp8_; +#line 140 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->min_fps = _tmp9_; +#line 142 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = desc; +#line 142 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp11_ = spit_pluggable_get_pluggable_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, SPIT_TYPE_PLUGGABLE, SpitPluggable)); +#line 142 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp12_ = op_timer_new (_tmp11_); +#line 142 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _op_timer_unref0 (self->priv->paint_timer); +#line 142 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->paint_timer = _tmp12_; +#line 136 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return self; +#line 1342 "TransitionEffects.c" +} + + +TransitionClock* transition_clock_new (SpitTransitionsDescriptor* desc) { +#line 136 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return transition_clock_construct (TYPE_TRANSITION_CLOCK, desc); +#line 1349 "TransitionEffects.c" +} + + +gboolean transition_clock_is_in_progress (TransitionClock* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; +#line 151 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_CLOCK (self), FALSE); +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = self->priv->cancelled; +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!_tmp2_) { +#line 1364 "TransitionEffects.c" + SpitTransitionsMotion* _tmp3_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = self->priv->motion; +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = _tmp3_ != NULL; +#line 1370 "TransitionEffects.c" + } else { +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = FALSE; +#line 1374 "TransitionEffects.c" + } +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp1_) { +#line 1378 "TransitionEffects.c" + gint _tmp4_ = 0; + SpitTransitionsMotion* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = self->priv->frame_number; +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = self->priv->motion; +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = spit_transitions_motion_get_total_frames (_tmp5_); +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = _tmp6_; +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = _tmp4_ < _tmp7_; +#line 1393 "TransitionEffects.c" + } else { +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = FALSE; +#line 1397 "TransitionEffects.c" + } +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp0_; +#line 152 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1403 "TransitionEffects.c" +} + + +static gboolean _transition_clock_tick_gsource_func (gpointer self) { + gboolean result; + result = transition_clock_tick ((TransitionClock*) self); +#line 173 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1412 "TransitionEffects.c" +} + + +void transition_clock_start (TransitionClock* self, SpitTransitionsVisuals* visuals, SpitTransitionsDirection direction, gint duration_msec, TransitionClockRepaintCallback repaint, void* repaint_target) { + gint _tmp0_ = 0; + SpitTransitionsVisuals* _tmp1_ = NULL; + SpitTransitionsVisuals* _tmp2_ = NULL; + TransitionClockRepaintCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + SpitTransitionsDirection _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + SpitTransitionsMotion* _tmp7_ = NULL; + SpitTransitionsEffect* _tmp8_ = NULL; + SpitTransitionsVisuals* _tmp9_ = NULL; + SpitTransitionsMotion* _tmp10_ = NULL; + gulong _tmp11_ = 0UL; + SpitTransitionsMotion* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + guint _tmp15_ = 0U; +#line 155 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (IS_TRANSITION_CLOCK (self)); +#line 155 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 157 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_reset (self); +#line 160 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->desired_fps; +#line 160 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp0_ == 0) { +#line 161 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return; +#line 1446 "TransitionEffects.c" + } +#line 163 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = visuals; +#line 163 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 163 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->visuals); +#line 163 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->visuals = _tmp2_; +#line 164 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = repaint; +#line 164 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3__target = repaint_target; +#line 164 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->repaint = _tmp3_; +#line 164 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->repaint_target = _tmp3__target; +#line 165 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = direction; +#line 165 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = self->priv->desired_fps; +#line 165 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = duration_msec; +#line 165 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = spit_transitions_motion_new (_tmp4_, _tmp5_, _tmp6_); +#line 165 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->motion); +#line 165 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->motion = _tmp7_; +#line 167 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp8_ = self->priv->effect; +#line 167 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp9_ = visuals; +#line 167 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = self->priv->motion; +#line 167 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_effect_start (_tmp8_, _tmp9_, _tmp10_); +#line 172 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp11_ = now_ms (); +#line 172 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->time_started = _tmp11_; +#line 173 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp12_ = self->priv->motion; +#line 173 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp13_ = spit_transitions_motion_get_tick_msec (_tmp12_); +#line 173 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp14_ = _tmp13_; +#line 173 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp15_ = g_timeout_add_full (G_PRIORITY_HIGH, (guint) _tmp14_, _transition_clock_tick_gsource_func, transition_clock_ref (self), transition_clock_unref); +#line 173 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->timer_id = _tmp15_; +#line 1498 "TransitionEffects.c" +} + + +static void transition_clock_reset (TransitionClock* self) { +#line 177 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (IS_TRANSITION_CLOCK (self)); +#line 178 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->visuals); +#line 178 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->visuals = NULL; +#line 179 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->motion); +#line 179 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->motion = NULL; +#line 180 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->repaint = NULL; +#line 180 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->repaint_target = NULL; +#line 181 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_cancel_timer (self); +#line 182 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->time_started = (gulong) 0; +#line 183 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->frame_number = 1; +#line 184 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->current_fps = 0; +#line 185 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->cancelled = FALSE; +#line 1527 "TransitionEffects.c" +} + + +static void transition_clock_cancel_timer (TransitionClock* self) { + guint _tmp0_ = 0U; +#line 188 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (IS_TRANSITION_CLOCK (self)); +#line 189 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->timer_id; +#line 189 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp0_ != ((guint) 0)) { +#line 1539 "TransitionEffects.c" + guint _tmp1_ = 0U; +#line 190 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = self->priv->timer_id; +#line 190 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_source_remove (_tmp1_); +#line 191 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->timer_id = (guint) 0; +#line 1547 "TransitionEffects.c" + } +} + + +static gboolean transition_clock_is_fps_ok (TransitionClock* self) { + gboolean result = FALSE; + gulong _tmp0_ = 0UL; + gint _tmp1_ = 0; + gdouble elapsed_msec = 0.0; + gulong _tmp2_ = 0UL; + gulong _tmp3_ = 0UL; + gdouble _tmp4_ = 0.0; + gint _tmp5_ = 0; + gdouble _tmp6_ = 0.0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _tmp13_ = 0; + gint _tmp14_ = 0; +#line 196 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_CLOCK (self), FALSE); +#line 197 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->time_started; +#line 197 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _vala_assert (_tmp0_ > ((gulong) 0), "time_started > 0"); +#line 199 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = self->priv->frame_number; +#line 199 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp1_ <= 3) { +#line 200 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = TRUE; +#line 200 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1580 "TransitionEffects.c" + } +#line 202 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = now_ms (); +#line 202 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = self->priv->time_started; +#line 202 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + elapsed_msec = (gdouble) (_tmp2_ - _tmp3_); +#line 203 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = elapsed_msec; +#line 203 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp4_ <= 0.0) { +#line 204 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = TRUE; +#line 204 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1596 "TransitionEffects.c" + } +#line 206 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = self->priv->frame_number; +#line 206 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = elapsed_msec; +#line 206 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->current_fps = (gint) ((_tmp5_ * 1000.0) / _tmp6_); +#line 207 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = self->priv->current_fps; +#line 207 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp8_ = self->priv->min_fps; +#line 207 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp7_ < _tmp8_) { +#line 1610 "TransitionEffects.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gdouble _tmp11_ = 0.0; + gint _tmp12_ = 0; +#line 208 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp9_ = self->priv->current_fps; +#line 208 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = self->priv->min_fps; +#line 208 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp11_ = elapsed_msec; +#line 208 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp12_ = self->priv->frame_number; +#line 208 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_debug ("TransitionEffects.vala:208: Transition rate of %dfps below minimum of " \ +"%dfps (elapsed=%lf frames=%d)", _tmp9_, _tmp10_, _tmp11_, _tmp12_); +#line 1625 "TransitionEffects.c" + } +#line 212 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp13_ = self->priv->current_fps; +#line 212 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp14_ = self->priv->min_fps; +#line 212 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp13_ >= _tmp14_; +#line 212 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1635 "TransitionEffects.c" +} + + +void transition_clock_cancel (TransitionClock* self) { + SpitTransitionsEffect* _tmp0_ = NULL; + TransitionClockRepaintCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 216 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (IS_TRANSITION_CLOCK (self)); +#line 217 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->cancelled = TRUE; +#line 218 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_cancel_timer (self); +#line 219 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = self->priv->effect; +#line 219 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_effect_cancel (_tmp0_); +#line 222 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = self->priv->repaint; +#line 222 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1__target = self->priv->repaint_target; +#line 222 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ (_tmp1__target); +#line 1659 "TransitionEffects.c" +} + + +gboolean transition_clock_paint (TransitionClock* self, cairo_t* ctx, gint width, gint height) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + OpTimer* _tmp1_ = NULL; + cairo_t* _tmp2_ = NULL; + SpitTransitionsEffect* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + SpitTransitionsEffect* _tmp26_ = NULL; + SpitTransitionsVisuals* _tmp27_ = NULL; + SpitTransitionsMotion* _tmp28_ = NULL; + cairo_t* _tmp29_ = NULL; + gint _tmp30_ = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + cairo_t* _tmp33_ = NULL; + OpTimer* _tmp34_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_CLOCK (self), FALSE); +#line 227 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (ctx != NULL, FALSE); +#line 228 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = transition_clock_is_in_progress (self); +#line 228 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!_tmp0_) { +#line 229 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = FALSE; +#line 229 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1691 "TransitionEffects.c" + } +#line 231 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = self->priv->paint_timer; +#line 231 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + op_timer_start (_tmp1_); +#line 233 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = ctx; +#line 233 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + cairo_save (_tmp2_); +#line 235 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = self->priv->effect; +#line 235 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = spit_transitions_effect_needs_clear_background (_tmp3_); +#line 235 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp4_) { +#line 1707 "TransitionEffects.c" + cairo_t* _tmp5_ = NULL; + SpitTransitionsVisuals* _tmp6_ = NULL; + GdkRGBA _tmp7_ = {0}; + GdkRGBA _tmp8_ = {0}; + gdouble _tmp9_ = 0.0; + SpitTransitionsVisuals* _tmp10_ = NULL; + GdkRGBA _tmp11_ = {0}; + GdkRGBA _tmp12_ = {0}; + gdouble _tmp13_ = 0.0; + SpitTransitionsVisuals* _tmp14_ = NULL; + GdkRGBA _tmp15_ = {0}; + GdkRGBA _tmp16_ = {0}; + gdouble _tmp17_ = 0.0; + SpitTransitionsVisuals* _tmp18_ = NULL; + GdkRGBA _tmp19_ = {0}; + GdkRGBA _tmp20_ = {0}; + gdouble _tmp21_ = 0.0; + cairo_t* _tmp22_ = NULL; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + cairo_t* _tmp25_ = NULL; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = ctx; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = self->priv->visuals; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_visuals_get_bg_color (_tmp6_, &_tmp7_); +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp8_ = _tmp7_; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp9_ = _tmp8_.red; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = self->priv->visuals; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_visuals_get_bg_color (_tmp10_, &_tmp11_); +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp12_ = _tmp11_; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp13_ = _tmp12_.green; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp14_ = self->priv->visuals; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_visuals_get_bg_color (_tmp14_, &_tmp15_); +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp16_ = _tmp15_; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp17_ = _tmp16_.blue; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp18_ = self->priv->visuals; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_visuals_get_bg_color (_tmp18_, &_tmp19_); +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp20_ = _tmp19_; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp21_ = _tmp20_.alpha; +#line 236 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + cairo_set_source_rgba (_tmp5_, _tmp9_, _tmp13_, _tmp17_, _tmp21_); +#line 238 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp22_ = ctx; +#line 238 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp23_ = width; +#line 238 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp24_ = height; +#line 238 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + cairo_rectangle (_tmp22_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp23_, (gdouble) _tmp24_); +#line 239 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp25_ = ctx; +#line 239 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + cairo_fill (_tmp25_); +#line 1777 "TransitionEffects.c" + } +#line 242 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp26_ = self->priv->effect; +#line 242 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp27_ = self->priv->visuals; +#line 242 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp28_ = self->priv->motion; +#line 242 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp29_ = ctx; +#line 242 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp30_ = width; +#line 242 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp31_ = height; +#line 242 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp32_ = self->priv->frame_number; +#line 242 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_effect_paint (_tmp26_, _tmp27_, _tmp28_, _tmp29_, _tmp30_, _tmp31_, _tmp32_); +#line 244 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp33_ = ctx; +#line 244 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + cairo_restore (_tmp33_); +#line 246 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp34_ = self->priv->paint_timer; +#line 246 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + op_timer_stop (_tmp34_); +#line 248 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = TRUE; +#line 248 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1807 "TransitionEffects.c" +} + + +static gboolean transition_clock_tick (TransitionClock* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + TransitionClockRepaintCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; + SpitTransitionsMotion* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; +#line 251 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (IS_TRANSITION_CLOCK (self), FALSE); +#line 252 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = transition_clock_is_fps_ok (self); +#line 252 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!_tmp0_) { +#line 253 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_debug ("TransitionEffects.vala:253: Cancelling transition: below minimum fps"); +#line 254 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_cancel (self); +#line 1831 "TransitionEffects.c" + } +#line 259 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = self->priv->repaint; +#line 259 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1__target = self->priv->repaint_target; +#line 259 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ (_tmp1__target); +#line 261 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = transition_clock_is_in_progress (self); +#line 261 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!_tmp2_) { +#line 262 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_cancel_timer (self); +#line 264 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = FALSE; +#line 264 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1849 "TransitionEffects.c" + } +#line 268 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = self->priv->frame_number; +#line 268 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = self->priv->motion; +#line 268 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = spit_transitions_motion_get_total_frames (_tmp4_); +#line 268 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = _tmp5_; +#line 268 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp3_ < _tmp6_) { +#line 1861 "TransitionEffects.c" + SpitTransitionsEffect* _tmp7_ = NULL; + SpitTransitionsVisuals* _tmp8_ = NULL; + SpitTransitionsMotion* _tmp9_ = NULL; + gint _tmp10_ = 0; + gint _tmp11_ = 0; +#line 269 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = self->priv->effect; +#line 269 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp8_ = self->priv->visuals; +#line 269 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp9_ = self->priv->motion; +#line 269 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = self->priv->frame_number; +#line 269 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->frame_number = _tmp10_ + 1; +#line 269 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp11_ = self->priv->frame_number; +#line 269 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spit_transitions_effect_advance (_tmp7_, _tmp8_, _tmp9_, _tmp11_); +#line 1881 "TransitionEffects.c" + } +#line 271 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = TRUE; +#line 271 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 1887 "TransitionEffects.c" +} + + +static void value_transition_clock_init (GValue* value) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = NULL; +#line 1894 "TransitionEffects.c" +} + + +static void value_transition_clock_free_value (GValue* value) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (value->data[0].v_pointer) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_unref (value->data[0].v_pointer); +#line 1903 "TransitionEffects.c" + } +} + + +static void value_transition_clock_copy_value (const GValue* src_value, GValue* dest_value) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (src_value->data[0].v_pointer) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + dest_value->data[0].v_pointer = transition_clock_ref (src_value->data[0].v_pointer); +#line 1913 "TransitionEffects.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + dest_value->data[0].v_pointer = NULL; +#line 1917 "TransitionEffects.c" + } +} + + +static gpointer value_transition_clock_peek_pointer (const GValue* value) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return value->data[0].v_pointer; +#line 1925 "TransitionEffects.c" +} + + +static gchar* value_transition_clock_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (collect_values[0].v_pointer) { +#line 1932 "TransitionEffects.c" + TransitionClock* object; + object = collect_values[0].v_pointer; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (object->parent_instance.g_class == NULL) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1939 "TransitionEffects.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1943 "TransitionEffects.c" + } +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = transition_clock_ref (object); +#line 1947 "TransitionEffects.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = NULL; +#line 1951 "TransitionEffects.c" + } +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return NULL; +#line 1955 "TransitionEffects.c" +} + + +static gchar* value_transition_clock_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + TransitionClock** object_p; + object_p = collect_values[0].v_pointer; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!object_p) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1966 "TransitionEffects.c" + } +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (!value->data[0].v_pointer) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + *object_p = NULL; +#line 1972 "TransitionEffects.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + *object_p = value->data[0].v_pointer; +#line 1976 "TransitionEffects.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + *object_p = transition_clock_ref (value->data[0].v_pointer); +#line 1980 "TransitionEffects.c" + } +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return NULL; +#line 1984 "TransitionEffects.c" +} + + +GParamSpec* param_spec_transition_clock (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecTransitionClock* spec; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_TRANSITION_CLOCK), NULL); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return G_PARAM_SPEC (spec); +#line 1998 "TransitionEffects.c" +} + + +gpointer value_get_transition_clock (const GValue* value) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSITION_CLOCK), NULL); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return value->data[0].v_pointer; +#line 2007 "TransitionEffects.c" +} + + +void value_set_transition_clock (GValue* value, gpointer v_object) { + TransitionClock* old; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSITION_CLOCK)); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + old = value->data[0].v_pointer; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (v_object) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TRANSITION_CLOCK)); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = v_object; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_ref (value->data[0].v_pointer); +#line 2027 "TransitionEffects.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = NULL; +#line 2031 "TransitionEffects.c" + } +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (old) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_unref (old); +#line 2037 "TransitionEffects.c" + } +} + + +void value_take_transition_clock (GValue* value, gpointer v_object) { + TransitionClock* old; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TRANSITION_CLOCK)); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + old = value->data[0].v_pointer; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (v_object) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TRANSITION_CLOCK)); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = v_object; +#line 2056 "TransitionEffects.c" + } else { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + value->data[0].v_pointer = NULL; +#line 2060 "TransitionEffects.c" + } +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (old) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_unref (old); +#line 2066 "TransitionEffects.c" + } +} + + +static void transition_clock_class_init (TransitionClockClass * klass) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_parent_class = g_type_class_peek_parent (klass); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + ((TransitionClockClass *) klass)->finalize = transition_clock_finalize; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_type_class_add_private (klass, sizeof (TransitionClockPrivate)); +#line 2078 "TransitionEffects.c" +} + + +static void transition_clock_instance_init (TransitionClock * self) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv = TRANSITION_CLOCK_GET_PRIVATE (self); +#line 126 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->current_fps = 0; +#line 128 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->visuals = NULL; +#line 129 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->motion = NULL; +#line 130 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->repaint = NULL; +#line 131 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->timer_id = (guint) 0; +#line 132 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->time_started = (gulong) 0; +#line 133 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->frame_number = 0; +#line 134 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->priv->cancelled = FALSE; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self->ref_count = 1; +#line 2103 "TransitionEffects.c" +} + + +static void transition_clock_finalize (TransitionClock* obj) { + TransitionClock * self; + gint _tmp0_ = 0; + SpitTransitionsMotion* _tmp1_ = NULL; + OpTimer* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + gint _tmp10_ = 0; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TRANSITION_CLOCK, TransitionClock); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_signal_handlers_destroy (self); +#line 146 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + transition_clock_cancel_timer (self); +#line 148 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp1_ = self->priv->motion; +#line 148 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (_tmp1_ != NULL) { +#line 2127 "TransitionEffects.c" + SpitTransitionsMotion* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 148 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp2_ = self->priv->motion; +#line 148 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp3_ = spit_transitions_motion_get_tick_msec (_tmp2_); +#line 148 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp4_ = _tmp3_; +#line 148 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = _tmp4_; +#line 2139 "TransitionEffects.c" + } else { +#line 148 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = 0; +#line 2143 "TransitionEffects.c" + } +#line 147 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp5_ = self->priv->paint_timer; +#line 147 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp6_ = op_timer_to_string (_tmp5_); +#line 147 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp7_ = _tmp6_; +#line 147 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp8_ = self->priv->min_fps; +#line 147 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp9_ = self->priv->desired_fps; +#line 147 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp10_ = self->priv->current_fps; +#line 147 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_debug ("TransitionEffects.vala:147: %s tick_msec=%d min/desired/current fps=%d" \ +"/%d/%d", _tmp7_, _tmp0_, _tmp8_, _tmp9_, _tmp10_); +#line 147 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_free0 (_tmp7_); +#line 122 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->desc); +#line 123 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->effect); +#line 127 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _op_timer_unref0 (self->priv->paint_timer); +#line 128 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->visuals); +#line 129 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _g_object_unref0 (self->priv->motion); +#line 2171 "TransitionEffects.c" +} + + +GType transition_clock_get_type (void) { + static volatile gsize transition_clock_type_id__volatile = 0; + if (g_once_init_enter (&transition_clock_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_transition_clock_init, value_transition_clock_free_value, value_transition_clock_copy_value, value_transition_clock_peek_pointer, "p", value_transition_clock_collect_value, "p", value_transition_clock_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (TransitionClockClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) transition_clock_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TransitionClock), 0, (GInstanceInitFunc) transition_clock_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType transition_clock_type_id; + transition_clock_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TransitionClock", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&transition_clock_type_id__volatile, transition_clock_type_id); + } + return transition_clock_type_id__volatile; +} + + +gpointer transition_clock_ref (gpointer instance) { + TransitionClock* self; + self = instance; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_atomic_int_inc (&self->ref_count); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return instance; +#line 2196 "TransitionEffects.c" +} + + +void transition_clock_unref (gpointer instance) { + TransitionClock* self; + self = instance; +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + TRANSITION_CLOCK_GET_CLASS (self)->finalize (self); +#line 116 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2209 "TransitionEffects.c" + } +} + + +static gint null_transition_descriptor_real_get_pluggable_interface (SpitPluggable* base, gint min_host_version, gint max_host_version) { + NullTransitionDescriptor * self; + gint result = 0; +#line 278 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptor); +#line 279 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = SPIT_TRANSITIONS_CURRENT_INTERFACE; +#line 279 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2223 "TransitionEffects.c" +} + + +static const gchar* null_transition_descriptor_real_get_id (SpitPluggable* base) { + NullTransitionDescriptor * self; + const gchar* result = NULL; +#line 282 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptor); +#line 283 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = NULL_TRANSITION_DESCRIPTOR_EFFECT_ID; +#line 283 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2236 "TransitionEffects.c" +} + + +static const gchar* null_transition_descriptor_real_get_pluggable_name (SpitPluggable* base) { + NullTransitionDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 286 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptor); +#line 287 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = _ ("None"); +#line 287 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp0_; +#line 287 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2252 "TransitionEffects.c" +} + + +static void null_transition_descriptor_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + NullTransitionDescriptor * self; +#line 290 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptor); +#line 290 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (info != NULL); +#line 2262 "TransitionEffects.c" +} + + +static void null_transition_descriptor_real_activation (SpitPluggable* base, gboolean enabled) { + NullTransitionDescriptor * self; +#line 293 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptor); +#line 2270 "TransitionEffects.c" +} + + +static SpitTransitionsEffect* null_transition_descriptor_real_create (SpitTransitionsDescriptor* base, SpitHostInterface* host) { + NullTransitionDescriptor * self; + SpitTransitionsEffect* result = NULL; + NullEffect* _tmp0_ = NULL; +#line 296 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_TRANSITION_DESCRIPTOR, NullTransitionDescriptor); +#line 296 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 297 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = null_effect_new (); +#line 297 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 297 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2288 "TransitionEffects.c" +} + + +NullTransitionDescriptor* null_transition_descriptor_construct (GType object_type) { + NullTransitionDescriptor * self = NULL; +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = (NullTransitionDescriptor*) g_object_new (object_type, NULL); +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return self; +#line 2298 "TransitionEffects.c" +} + + +NullTransitionDescriptor* null_transition_descriptor_new (void) { +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return null_transition_descriptor_construct (TYPE_NULL_TRANSITION_DESCRIPTOR); +#line 2305 "TransitionEffects.c" +} + + +static void null_transition_descriptor_class_init (NullTransitionDescriptorClass * klass) { +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + null_transition_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 2312 "TransitionEffects.c" +} + + +static void null_transition_descriptor_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + null_transition_descriptor_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) null_transition_descriptor_real_get_pluggable_interface; +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) null_transition_descriptor_real_get_id; +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) null_transition_descriptor_real_get_pluggable_name; +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) null_transition_descriptor_real_get_info; +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) null_transition_descriptor_real_activation; +#line 2329 "TransitionEffects.c" +} + + +static void null_transition_descriptor_spit_transitions_descriptor_interface_init (SpitTransitionsDescriptorIface * iface) { +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + null_transition_descriptor_spit_transitions_descriptor_parent_iface = g_type_interface_peek_parent (iface); +#line 275 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->create = (SpitTransitionsEffect* (*)(SpitTransitionsDescriptor*, SpitHostInterface*)) null_transition_descriptor_real_create; +#line 2338 "TransitionEffects.c" +} + + +static void null_transition_descriptor_instance_init (NullTransitionDescriptor * self) { +} + + +GType null_transition_descriptor_get_type (void) { + static volatile gsize null_transition_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&null_transition_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NullTransitionDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) null_transition_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NullTransitionDescriptor), 0, (GInstanceInitFunc) null_transition_descriptor_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) null_transition_descriptor_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_transitions_descriptor_info = { (GInterfaceInitFunc) null_transition_descriptor_spit_transitions_descriptor_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType null_transition_descriptor_type_id; + null_transition_descriptor_type_id = g_type_register_static (G_TYPE_OBJECT, "NullTransitionDescriptor", &g_define_type_info, 0); + g_type_add_interface_static (null_transition_descriptor_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (null_transition_descriptor_type_id, SPIT_TRANSITIONS_TYPE_DESCRIPTOR, &spit_transitions_descriptor_info); + g_once_init_leave (&null_transition_descriptor_type_id__volatile, null_transition_descriptor_type_id); + } + return null_transition_descriptor_type_id__volatile; +} + + +NullEffect* null_effect_construct (GType object_type) { + NullEffect * self = NULL; +#line 302 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = (NullEffect*) g_object_new (object_type, NULL); +#line 302 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return self; +#line 2368 "TransitionEffects.c" +} + + +NullEffect* null_effect_new (void) { +#line 302 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return null_effect_construct (TYPE_NULL_EFFECT); +#line 2375 "TransitionEffects.c" +} + + +static void null_effect_real_get_fps (SpitTransitionsEffect* base, gint* desired_fps, gint* min_fps) { + NullEffect * self; + gint _vala_desired_fps = 0; + gint _vala_min_fps = 0; +#line 305 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_EFFECT, NullEffect); +#line 306 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _vala_desired_fps = 0; +#line 307 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _vala_min_fps = 0; +#line 305 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (desired_fps) { +#line 305 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + *desired_fps = _vala_desired_fps; +#line 2393 "TransitionEffects.c" + } +#line 305 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + if (min_fps) { +#line 305 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + *min_fps = _vala_min_fps; +#line 2399 "TransitionEffects.c" + } +} + + +static void null_effect_real_start (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion) { + NullEffect * self; +#line 310 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_EFFECT, NullEffect); +#line 310 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 310 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 2412 "TransitionEffects.c" +} + + +static gboolean null_effect_real_needs_clear_background (SpitTransitionsEffect* base) { + NullEffect * self; + gboolean result = FALSE; +#line 313 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_EFFECT, NullEffect); +#line 314 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = FALSE; +#line 314 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2425 "TransitionEffects.c" +} + + +static void null_effect_real_paint (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, cairo_t* ctx, gint width, gint height, gint frame_number) { + NullEffect * self; +#line 317 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_EFFECT, NullEffect); +#line 317 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 317 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 317 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (ctx != NULL); +#line 2439 "TransitionEffects.c" +} + + +static void null_effect_real_advance (SpitTransitionsEffect* base, SpitTransitionsVisuals* visuals, SpitTransitionsMotion* motion, gint frame_number) { + NullEffect * self; +#line 321 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_EFFECT, NullEffect); +#line 321 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_VISUALS (visuals)); +#line 321 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (SPIT_TRANSITIONS_IS_MOTION (motion)); +#line 2451 "TransitionEffects.c" +} + + +static void null_effect_real_cancel (SpitTransitionsEffect* base) { + NullEffect * self; +#line 324 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_NULL_EFFECT, NullEffect); +#line 2459 "TransitionEffects.c" +} + + +static void null_effect_class_init (NullEffectClass * klass) { +#line 301 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + null_effect_parent_class = g_type_class_peek_parent (klass); +#line 2466 "TransitionEffects.c" +} + + +static void null_effect_spit_transitions_effect_interface_init (SpitTransitionsEffectIface * iface) { +#line 301 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + null_effect_spit_transitions_effect_parent_iface = g_type_interface_peek_parent (iface); +#line 301 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_fps = (void (*)(SpitTransitionsEffect*, gint*, gint*)) null_effect_real_get_fps; +#line 301 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->start = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*)) null_effect_real_start; +#line 301 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->needs_clear_background = (gboolean (*)(SpitTransitionsEffect*)) null_effect_real_needs_clear_background; +#line 301 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->paint = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, cairo_t*, gint, gint, gint)) null_effect_real_paint; +#line 301 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->advance = (void (*)(SpitTransitionsEffect*, SpitTransitionsVisuals*, SpitTransitionsMotion*, gint)) null_effect_real_advance; +#line 301 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->cancel = (void (*)(SpitTransitionsEffect*)) null_effect_real_cancel; +#line 2485 "TransitionEffects.c" +} + + +static void null_effect_instance_init (NullEffect * self) { +} + + +GType null_effect_get_type (void) { + static volatile gsize null_effect_type_id__volatile = 0; + if (g_once_init_enter (&null_effect_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (NullEffectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) null_effect_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NullEffect), 0, (GInstanceInitFunc) null_effect_instance_init, NULL }; + static const GInterfaceInfo spit_transitions_effect_info = { (GInterfaceInitFunc) null_effect_spit_transitions_effect_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType null_effect_type_id; + null_effect_type_id = g_type_register_static (G_TYPE_OBJECT, "NullEffect", &g_define_type_info, 0); + g_type_add_interface_static (null_effect_type_id, SPIT_TRANSITIONS_TYPE_EFFECT, &spit_transitions_effect_info); + g_once_init_leave (&null_effect_type_id__volatile, null_effect_type_id); + } + return null_effect_type_id__volatile; +} + + +static gint random_effect_descriptor_real_get_pluggable_interface (SpitPluggable* base, gint min_host_version, gint max_host_version) { + RandomEffectDescriptor * self; + gint result = 0; +#line 330 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptor); +#line 331 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = SPIT_TRANSITIONS_CURRENT_INTERFACE; +#line 331 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2516 "TransitionEffects.c" +} + + +static const gchar* random_effect_descriptor_real_get_id (SpitPluggable* base) { + RandomEffectDescriptor * self; + const gchar* result = NULL; +#line 334 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptor); +#line 335 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = RANDOM_EFFECT_DESCRIPTOR_EFFECT_ID; +#line 335 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2529 "TransitionEffects.c" +} + + +static const gchar* random_effect_descriptor_real_get_pluggable_name (SpitPluggable* base) { + RandomEffectDescriptor * self; + const gchar* result = NULL; + const gchar* _tmp0_ = NULL; +#line 338 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptor); +#line 339 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = _ ("Random"); +#line 339 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = _tmp0_; +#line 339 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2545 "TransitionEffects.c" +} + + +static void random_effect_descriptor_real_get_info (SpitPluggable* base, SpitPluggableInfo* info) { + RandomEffectDescriptor * self; +#line 342 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptor); +#line 342 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_if_fail (info != NULL); +#line 2555 "TransitionEffects.c" +} + + +static void random_effect_descriptor_real_activation (SpitPluggable* base, gboolean enabled) { + RandomEffectDescriptor * self; +#line 345 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptor); +#line 2563 "TransitionEffects.c" +} + + +static SpitTransitionsEffect* random_effect_descriptor_real_create (SpitTransitionsDescriptor* base, SpitHostInterface* host) { + RandomEffectDescriptor * self; + SpitTransitionsEffect* result = NULL; + NullEffect* _tmp0_ = NULL; +#line 348 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_RANDOM_EFFECT_DESCRIPTOR, RandomEffectDescriptor); +#line 348 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + g_return_val_if_fail (SPIT_IS_HOST_INTERFACE (host), NULL); +#line 349 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + _tmp0_ = null_effect_new (); +#line 349 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, SPIT_TRANSITIONS_TYPE_EFFECT, SpitTransitionsEffect); +#line 349 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return result; +#line 2581 "TransitionEffects.c" +} + + +RandomEffectDescriptor* random_effect_descriptor_construct (GType object_type) { + RandomEffectDescriptor * self = NULL; +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + self = (RandomEffectDescriptor*) g_object_new (object_type, NULL); +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return self; +#line 2591 "TransitionEffects.c" +} + + +RandomEffectDescriptor* random_effect_descriptor_new (void) { +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + return random_effect_descriptor_construct (TYPE_RANDOM_EFFECT_DESCRIPTOR); +#line 2598 "TransitionEffects.c" +} + + +static void random_effect_descriptor_class_init (RandomEffectDescriptorClass * klass) { +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + random_effect_descriptor_parent_class = g_type_class_peek_parent (klass); +#line 2605 "TransitionEffects.c" +} + + +static void random_effect_descriptor_spit_pluggable_interface_init (SpitPluggableIface * iface) { +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + random_effect_descriptor_spit_pluggable_parent_iface = g_type_interface_peek_parent (iface); +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_pluggable_interface = (gint (*)(SpitPluggable*, gint, gint)) random_effect_descriptor_real_get_pluggable_interface; +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_id = (const gchar* (*)(SpitPluggable*)) random_effect_descriptor_real_get_id; +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_pluggable_name = (const gchar* (*)(SpitPluggable*)) random_effect_descriptor_real_get_pluggable_name; +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->get_info = (void (*)(SpitPluggable*, SpitPluggableInfo*)) random_effect_descriptor_real_get_info; +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->activation = (void (*)(SpitPluggable*, gboolean)) random_effect_descriptor_real_activation; +#line 2622 "TransitionEffects.c" +} + + +static void random_effect_descriptor_spit_transitions_descriptor_interface_init (SpitTransitionsDescriptorIface * iface) { +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + random_effect_descriptor_spit_transitions_descriptor_parent_iface = g_type_interface_peek_parent (iface); +#line 327 "/home/jens/Source/shotwell/src/slideshow/TransitionEffects.vala" + iface->create = (SpitTransitionsEffect* (*)(SpitTransitionsDescriptor*, SpitHostInterface*)) random_effect_descriptor_real_create; +#line 2631 "TransitionEffects.c" +} + + +static void random_effect_descriptor_instance_init (RandomEffectDescriptor * self) { +} + + +GType random_effect_descriptor_get_type (void) { + static volatile gsize random_effect_descriptor_type_id__volatile = 0; + if (g_once_init_enter (&random_effect_descriptor_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (RandomEffectDescriptorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) random_effect_descriptor_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RandomEffectDescriptor), 0, (GInstanceInitFunc) random_effect_descriptor_instance_init, NULL }; + static const GInterfaceInfo spit_pluggable_info = { (GInterfaceInitFunc) random_effect_descriptor_spit_pluggable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo spit_transitions_descriptor_info = { (GInterfaceInitFunc) random_effect_descriptor_spit_transitions_descriptor_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType random_effect_descriptor_type_id; + random_effect_descriptor_type_id = g_type_register_static (G_TYPE_OBJECT, "RandomEffectDescriptor", &g_define_type_info, 0); + g_type_add_interface_static (random_effect_descriptor_type_id, SPIT_TYPE_PLUGGABLE, &spit_pluggable_info); + g_type_add_interface_static (random_effect_descriptor_type_id, SPIT_TRANSITIONS_TYPE_DESCRIPTOR, &spit_transitions_descriptor_info); + g_once_init_leave (&random_effect_descriptor_type_id__volatile, random_effect_descriptor_type_id); + } + return random_effect_descriptor_type_id__volatile; +} + + + diff --git a/src/slideshow/mk/slideshow.mk b/src/slideshow/mk/slideshow.mk deleted file mode 100644 index 0a62e8d..0000000 --- a/src/slideshow/mk/slideshow.mk +++ /dev/null @@ -1,29 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Slideshow - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := slideshow - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. Slideshow.vala. -UNIT_FILES := \ - TransitionEffects.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Plugins - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/tags/Branch.c b/src/tags/Branch.c new file mode 100644 index 0000000..adcbabd --- /dev/null +++ b/src/tags/Branch.c @@ -0,0 +1,3253 @@ +/* Branch.c generated by valac 0.32.1, the Vala compiler + * generated from Branch.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ()) +#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch)) +#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) +#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH)) +#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass)) + +typedef struct _SidebarBranch SidebarBranch; +typedef struct _SidebarBranchClass SidebarBranchClass; +typedef struct _SidebarBranchPrivate SidebarBranchPrivate; + +#define TAGS_TYPE_BRANCH (tags_branch_get_type ()) +#define TAGS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_BRANCH, TagsBranch)) +#define TAGS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_BRANCH, TagsBranchClass)) +#define TAGS_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_BRANCH)) +#define TAGS_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_BRANCH)) +#define TAGS_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_BRANCH, TagsBranchClass)) + +typedef struct _TagsBranch TagsBranch; +typedef struct _TagsBranchClass TagsBranchClass; +typedef struct _TagsBranchPrivate TagsBranchPrivate; + +#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_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 SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ()) +#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY)) +#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass)) + +typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry; +typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass; + +#define TAGS_TYPE_SIDEBAR_ENTRY (tags_sidebar_entry_get_type ()) +#define TAGS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry)) +#define TAGS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass)) +#define TAGS_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_SIDEBAR_ENTRY)) +#define TAGS_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_SIDEBAR_ENTRY)) +#define TAGS_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryClass)) + +typedef struct _TagsSidebarEntry TagsSidebarEntry; +typedef struct _TagsSidebarEntryClass TagsSidebarEntryClass; + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + +#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ()) +#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping)) +#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) +#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING)) +#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass)) + +typedef struct _SidebarGrouping SidebarGrouping; +typedef struct _SidebarGroupingClass SidebarGroupingClass; + +#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ()) +#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader)) +#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) +#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER)) +#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass)) + +typedef struct _SidebarHeader SidebarHeader; +typedef struct _SidebarHeaderClass SidebarHeaderClass; + +#define TAGS_TYPE_HEADER (tags_header_get_type ()) +#define TAGS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TAGS_TYPE_HEADER, TagsHeader)) +#define TAGS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TAGS_TYPE_HEADER, TagsHeaderClass)) +#define TAGS_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TAGS_TYPE_HEADER)) +#define TAGS_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TAGS_TYPE_HEADER)) +#define TAGS_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TAGS_TYPE_HEADER, TagsHeaderClass)) + +typedef struct _TagsHeader TagsHeader; +typedef struct _TagsHeaderClass TagsHeaderClass; + +#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ()) +#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry)) +#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY)) +#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface)) + +typedef struct _SidebarEntry SidebarEntry; +typedef struct _SidebarEntryIface SidebarEntryIface; + +#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ()) +#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree)) +#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass)) +#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE)) +#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass)) + +typedef struct _SidebarTree SidebarTree; +typedef struct _SidebarTreeClass SidebarTreeClass; + +#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ()) +#define _alteration_unref0(var) ((var == NULL) ? NULL : (var = (alteration_unref (var), NULL))) + +#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ()) +#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry)) +#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY)) +#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface)) + +typedef struct _SidebarRenameableEntry SidebarRenameableEntry; +typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface; +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ()) +#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry)) +#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY)) +#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface)) + +typedef struct _SidebarExpandableEntry SidebarExpandableEntry; +typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface; +typedef struct _SidebarGroupingPrivate SidebarGroupingPrivate; + +#define SIDEBAR_TYPE_EMPHASIZABLE_ENTRY (sidebar_emphasizable_entry_get_type ()) +#define SIDEBAR_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntry)) +#define SIDEBAR_IS_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY)) +#define SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntryIface)) + +typedef struct _SidebarEmphasizableEntry SidebarEmphasizableEntry; +typedef struct _SidebarEmphasizableEntryIface SidebarEmphasizableEntryIface; +typedef struct _SidebarHeaderPrivate SidebarHeaderPrivate; + +#define SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY (sidebar_internal_drop_target_entry_get_type ()) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntry)) +#define SIDEBAR_IS_INTERNAL_DROP_TARGET_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY)) +#define SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, SidebarInternalDropTargetEntryIface)) + +typedef struct _SidebarInternalDropTargetEntry SidebarInternalDropTargetEntry; +typedef struct _SidebarInternalDropTargetEntryIface SidebarInternalDropTargetEntryIface; + +#define TYPE_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 SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY (sidebar_internal_drag_source_entry_get_type ()) +#define SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, SidebarInternalDragSourceEntry)) +#define SIDEBAR_IS_INTERNAL_DRAG_SOURCE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY)) +#define SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, SidebarInternalDragSourceEntryIface)) + +typedef struct _SidebarInternalDragSourceEntry SidebarInternalDragSourceEntry; +typedef struct _SidebarInternalDragSourceEntryIface SidebarInternalDragSourceEntryIface; + +#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ()) +#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable)) +#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE)) +#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface)) + +typedef struct _SidebarContextable SidebarContextable; +typedef struct _SidebarContextableIface SidebarContextableIface; +typedef struct _TagsHeaderPrivate TagsHeaderPrivate; + +#define TYPE_APPLICATION (application_get_type ()) +#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application)) +#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass)) +#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION)) +#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION)) +#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass)) + +typedef struct _Application Application; +typedef struct _ApplicationClass ApplicationClass; +#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_TEXT_ENTRY_DIALOG_MEDIATOR (text_entry_dialog_mediator_get_type ()) +#define TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediator)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define IS_TEXT_ENTRY_DIALOG_MEDIATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR)) +#define TEXT_ENTRY_DIALOG_MEDIATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ENTRY_DIALOG_MEDIATOR, TextEntryDialogMediatorClass)) + +typedef struct _TextEntryDialogMediator TextEntryDialogMediator; +typedef struct _TextEntryDialogMediatorClass TextEntryDialogMediatorClass; + +#define TYPE_TAGS_DIALOG (tags_dialog_get_type ()) +#define TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAGS_DIALOG, TagsDialog)) +#define TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAGS_DIALOG, TagsDialogClass)) +#define IS_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAGS_DIALOG)) +#define IS_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAGS_DIALOG)) +#define TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAGS_DIALOG, TagsDialogClass)) + +typedef struct _TagsDialog TagsDialog; +typedef struct _TagsDialogClass TagsDialogClass; + +#define TYPE_ADD_TAGS_DIALOG (add_tags_dialog_get_type ()) +#define ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialog)) +#define ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass)) +#define IS_ADD_TAGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_DIALOG)) +#define IS_ADD_TAGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_DIALOG)) +#define ADD_TAGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_DIALOG, AddTagsDialogClass)) + +typedef struct _AddTagsDialog AddTagsDialog; +typedef struct _AddTagsDialogClass AddTagsDialogClass; +#define _text_entry_dialog_mediator_unref0(var) ((var == NULL) ? NULL : (var = (text_entry_dialog_mediator_unref (var), NULL))) + +#define TYPE_COMMAND_MANAGER (command_manager_get_type ()) +#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager)) +#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass)) +#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER)) +#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER)) +#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass)) + +typedef struct _CommandManager CommandManager; +typedef struct _CommandManagerClass CommandManagerClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_ADD_TAGS_COMMAND (add_tags_command_get_type ()) +#define ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommand)) +#define ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass)) +#define IS_ADD_TAGS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ADD_TAGS_COMMAND)) +#define IS_ADD_TAGS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ADD_TAGS_COMMAND)) +#define ADD_TAGS_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ADD_TAGS_COMMAND, AddTagsCommandClass)) + +typedef struct _AddTagsCommand AddTagsCommand; +typedef struct _AddTagsCommandClass AddTagsCommandClass; +#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL))) + +#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; + +#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; + +#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_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 SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ()) +#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry)) +#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY)) +#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface)) + +typedef struct _SidebarSelectableEntry SidebarSelectableEntry; +typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface; + +#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ()) +#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative)) +#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE)) +#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface)) + +typedef struct _SidebarPageRepresentative SidebarPageRepresentative; +typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface; + +#define TYPE_PAGE (page_get_type ()) +#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page)) +#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass)) +#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE)) +#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE)) +#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass)) + +typedef struct _Page Page; +typedef struct _PageClass PageClass; +typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate; + +#define SIDEBAR_TYPE_DESTROYABLE_ENTRY (sidebar_destroyable_entry_get_type ()) +#define SIDEBAR_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntry)) +#define SIDEBAR_IS_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY)) +#define SIDEBAR_DESTROYABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntryIface)) + +typedef struct _SidebarDestroyableEntry SidebarDestroyableEntry; +typedef struct _SidebarDestroyableEntryIface SidebarDestroyableEntryIface; +typedef struct _TagsSidebarEntryPrivate TagsSidebarEntryPrivate; + +#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ()) +#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage)) +#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) +#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE)) +#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE)) +#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass)) + +typedef struct _CheckerboardPage CheckerboardPage; +typedef struct _CheckerboardPageClass CheckerboardPageClass; + +#define TYPE_MEDIA_PAGE (media_page_get_type ()) +#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage)) +#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass)) +#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE)) +#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE)) +#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass)) + +typedef struct _MediaPage MediaPage; +typedef struct _MediaPageClass MediaPageClass; + +#define TYPE_COLLECTION_PAGE (collection_page_get_type ()) +#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage)) +#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass)) +#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE)) +#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE)) +#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass)) + +typedef struct _CollectionPage CollectionPage; +typedef struct _CollectionPageClass CollectionPageClass; + +#define TYPE_TAG_PAGE (tag_page_get_type ()) +#define TAG_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_PAGE, TagPage)) +#define TAG_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_PAGE, TagPageClass)) +#define IS_TAG_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_PAGE)) +#define IS_TAG_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_PAGE)) +#define TAG_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_PAGE, TagPageClass)) + +typedef struct _TagPage TagPage; +typedef struct _TagPageClass TagPageClass; +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_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; + +#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; + +#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; + +#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; +#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); +#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } +#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } +#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); + +struct _SidebarBranch { + GObject parent_instance; + SidebarBranchPrivate * priv; +}; + +struct _SidebarBranchClass { + GObjectClass parent_class; +}; + +struct _TagsBranch { + SidebarBranch parent_instance; + TagsBranchPrivate * priv; +}; + +struct _TagsBranchClass { + SidebarBranchClass parent_class; +}; + +struct _TagsBranchPrivate { + GeeHashMap* entry_map; +}; + +struct _SidebarEntryIface { + GTypeInterface parent_iface; + gchar* (*get_sidebar_name) (SidebarEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarEntry* self); + gchar* (*get_sidebar_icon) (SidebarEntry* self); + gchar* (*to_string) (SidebarEntry* self); + void (*grafted) (SidebarEntry* self, SidebarTree* tree); + void (*pruned) (SidebarEntry* self, SidebarTree* tree); +}; + +typedef enum { + SIDEBAR_BRANCH_OPTIONS_NONE = 0, + SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0, + SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1, + SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2, + SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3 +} SidebarBranchOptions; + +struct _SidebarRenameableEntryIface { + GTypeInterface parent_iface; + void (*rename) (SidebarRenameableEntry* self, const gchar* new_name); + gboolean (*is_user_renameable) (SidebarRenameableEntry* self); +}; + +struct _SidebarExpandableEntryIface { + GTypeInterface parent_iface; + gboolean (*expand_on_select) (SidebarExpandableEntry* self); +}; + +struct _SidebarGrouping { + GObject parent_instance; + SidebarGroupingPrivate * priv; +}; + +struct _SidebarGroupingClass { + GObjectClass parent_class; +}; + +struct _SidebarEmphasizableEntryIface { + GTypeInterface parent_iface; + gboolean (*is_emphasized) (SidebarEmphasizableEntry* self); +}; + +struct _SidebarHeader { + SidebarGrouping parent_instance; + SidebarHeaderPrivate * priv; +}; + +struct _SidebarHeaderClass { + SidebarGroupingClass parent_class; +}; + +struct _SidebarInternalDropTargetEntryIface { + GTypeInterface parent_iface; + gboolean (*internal_drop_received) (SidebarInternalDropTargetEntry* self, GeeList* sources); + gboolean (*internal_drop_received_arbitrary) (SidebarInternalDropTargetEntry* self, GtkSelectionData* data); +}; + +struct _SidebarInternalDragSourceEntryIface { + GTypeInterface parent_iface; + void (*prepare_selection_data) (SidebarInternalDragSourceEntry* self, GtkSelectionData* data); +}; + +struct _SidebarContextableIface { + GTypeInterface parent_iface; + GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event); +}; + +struct _TagsHeader { + SidebarHeader parent_instance; + TagsHeaderPrivate * priv; +}; + +struct _TagsHeaderClass { + SidebarHeaderClass parent_class; +}; + +struct _TagsHeaderPrivate { + GtkUIManager* ui; + GtkMenu* context_menu; +}; + +struct _SidebarSelectableEntryIface { + GTypeInterface parent_iface; +}; + +struct _SidebarPageRepresentativeIface { + GTypeInterface parent_iface; + gboolean (*has_page) (SidebarPageRepresentative* self); + Page* (*get_page) (SidebarPageRepresentative* self); +}; + +struct _SidebarSimplePageEntry { + GObject parent_instance; + SidebarSimplePageEntryPrivate * priv; +}; + +struct _SidebarSimplePageEntryClass { + GObjectClass parent_class; + gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self); + gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self); + gchar* (*to_string) (SidebarSimplePageEntry* self); + Page* (*create_page) (SidebarSimplePageEntry* self); +}; + +struct _SidebarDestroyableEntryIface { + GTypeInterface parent_iface; + void (*destroy_source) (SidebarDestroyableEntry* self); +}; + +struct _TagsSidebarEntry { + SidebarSimplePageEntry parent_instance; + TagsSidebarEntryPrivate * priv; +}; + +struct _TagsSidebarEntryClass { + SidebarSimplePageEntryClass parent_class; +}; + +struct _TagsSidebarEntryPrivate { + gchar* single_tag_icon; + Tag* tag; +}; + + +static gpointer tags_branch_parent_class = NULL; +extern TagSourceCollection* tag_global; +static gpointer tags_header_parent_class = NULL; +static SidebarInternalDropTargetEntryIface* tags_header_sidebar_internal_drop_target_entry_parent_iface = NULL; +static SidebarInternalDragSourceEntryIface* tags_header_sidebar_internal_drag_source_entry_parent_iface = NULL; +static SidebarContextableIface* tags_header_sidebar_contextable_parent_iface = NULL; +static gpointer tags_sidebar_entry_parent_class = NULL; +static SidebarRenameableEntryIface* tags_sidebar_entry_sidebar_renameable_entry_parent_iface = NULL; +static SidebarDestroyableEntryIface* tags_sidebar_entry_sidebar_destroyable_entry_parent_iface = NULL; +static SidebarInternalDropTargetEntryIface* tags_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = NULL; +static SidebarExpandableEntryIface* tags_sidebar_entry_sidebar_expandable_entry_parent_iface = NULL; +static SidebarInternalDragSourceEntryIface* tags_sidebar_entry_sidebar_internal_drag_source_entry_parent_iface = NULL; + +GType sidebar_branch_get_type (void) G_GNUC_CONST; +GType tags_branch_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType tag_get_type (void) G_GNUC_CONST; +GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST; +GType tags_sidebar_entry_get_type (void) G_GNUC_CONST; +#define TAGS_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TAGS_TYPE_BRANCH, TagsBranchPrivate)) +enum { + TAGS_BRANCH_DUMMY_PROPERTY +}; +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +static void tags_branch_on_tags_added_removed (TagsBranch* self, GeeIterable* added_raw, GeeIterable* removed); +static void _tags_branch_on_tags_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self); +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void tags_branch_on_tags_altered (TagsBranch* self, GeeMap* altered); +static void _tags_branch_on_tags_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +TagsBranch* tags_branch_new (void); +TagsBranch* tags_branch_construct (GType object_type); +TagsHeader* tags_header_new (void); +TagsHeader* tags_header_construct (GType object_type); +GType sidebar_grouping_get_type (void) G_GNUC_CONST; +GType sidebar_header_get_type (void) G_GNUC_CONST; +GType tags_header_get_type (void) G_GNUC_CONST; +GType sidebar_tree_get_type (void) G_GNUC_CONST; +GType sidebar_entry_get_type (void) G_GNUC_CONST; +GType sidebar_branch_options_get_type (void) G_GNUC_CONST; +static gint tags_branch_comparator (SidebarEntry* a, SidebarEntry* b); +static gint _tags_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b); +SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator); +GeeCollection* data_collection_get_all (DataCollection* self); +TagsSidebarEntry* tags_branch_get_entry_for_tag (TagsBranch* self, Tag* tag); +gboolean tags_branch_is_user_renameable (TagsBranch* self); +gint tag_compare_names (Tag* a, Tag* b); +Tag* tags_sidebar_entry_for_tag (TagsSidebarEntry* self); +static gint _tag_compare_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +Tag* tag_get_hierarchical_parent (Tag* self); +TagsSidebarEntry* tags_sidebar_entry_new (Tag* tag); +TagsSidebarEntry* tags_sidebar_entry_construct (GType object_type, Tag* tag); +void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator); +SidebarEntry* sidebar_branch_get_root (SidebarBranch* self); +void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry); +gboolean alteration_has_detail (Alteration* self, const gchar* subject, const gchar* detail); +GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST; +gchar* tag_get_user_visible_name (Tag* self); +void sidebar_branch_reorder (SidebarBranch* self, SidebarEntry* entry); +static void tags_branch_finalize (GObject* obj); +GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST; +GType sidebar_emphasizable_entry_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 sidebar_internal_drop_target_entry_get_type (void) G_GNUC_CONST; +GType sidebar_internal_drag_source_entry_get_type (void) G_GNUC_CONST; +GType sidebar_contextable_get_type (void) G_GNUC_CONST; +#define TAGS_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TAGS_TYPE_HEADER, TagsHeaderPrivate)) +enum { + TAGS_HEADER_DUMMY_PROPERTY +}; +SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized); +SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized); +static void tags_header_setup_context_menu (TagsHeader* self); +#define TRANSLATABLE "translatable" +static void tags_header_on_new_tag (TagsHeader* self); +static void _tags_header_on_new_tag_gtk_action_callback (GtkAction* action, gpointer self); +#define RESOURCES_NEW_CHILD_TAG_SIDEBAR_MENU _ ("_New") +static void _vala_array_add133 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +GFile* resources_get_ui (const gchar* filename); +void app_window_error_message (const gchar* message, GtkWindow* parent); +gpointer application_ref (gpointer instance); +void application_unref (gpointer instance); +GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_application (GValue* value, gpointer v_object); +void value_take_application (GValue* value, gpointer v_object); +gpointer value_get_application (const GValue* value); +GType application_get_type (void) G_GNUC_CONST; +Application* application_get_instance (void); +void application_panic (Application* self); +static gboolean tags_header_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media); +gpointer text_entry_dialog_mediator_ref (gpointer instance); +void text_entry_dialog_mediator_unref (gpointer instance); +GParamSpec* param_spec_text_entry_dialog_mediator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_text_entry_dialog_mediator (GValue* value, gpointer v_object); +void value_take_text_entry_dialog_mediator (GValue* value, gpointer v_object); +gpointer value_get_text_entry_dialog_mediator (const GValue* value); +GType text_entry_dialog_mediator_get_type (void) G_GNUC_CONST; +GType tags_dialog_get_type (void) G_GNUC_CONST; +GType add_tags_dialog_get_type (void) G_GNUC_CONST; +AddTagsDialog* add_tags_dialog_new (void); +AddTagsDialog* add_tags_dialog_construct (GType object_type); +gchar** add_tags_dialog_execute (AddTagsDialog* self, int* result_length1); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +GType command_get_type (void) G_GNUC_CONST; +void command_manager_execute (CommandManager* self, Command* command); +AddTagsCommand* add_tags_command_new (gchar** paths, int paths_length1, GeeCollection* sources); +AddTagsCommand* add_tags_command_construct (GType object_type, gchar** paths, int paths_length1, GeeCollection* sources); +GType page_command_get_type (void) G_GNUC_CONST; +GType add_tags_command_get_type (void) G_GNUC_CONST; +static gboolean tags_header_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data); +#define LIBRARY_WINDOW_TAG_PATH_MIME_TYPE "shotwell/tag-path" +gboolean tag_source_collection_exists (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root); +GeeList* hierarchical_tag_utilities_enumerate_path_components (const gchar* in_path); +Tag* tag_for_path (const gchar* name); +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); +GType reparent_tag_command_get_type (void) G_GNUC_CONST; +static void tags_header_real_prepare_selection_data (SidebarInternalDragSourceEntry* base, GtkSelectionData* data); +static GtkMenu* tags_header_real_get_sidebar_context_menu (SidebarContextable* base, GdkEventButton* event); +GType new_root_tag_command_get_type (void) G_GNUC_CONST; +NewRootTagCommand* new_root_tag_command_new (void); +NewRootTagCommand* new_root_tag_command_construct (GType object_type); +GType page_window_get_type (void) G_GNUC_CONST; +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_rename_tag_in_sidebar (LibraryWindow* self, Tag* tag); +Tag* new_root_tag_command_get_created_tag (NewRootTagCommand* self); +static void tags_header_finalize (GObject* obj); +GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST; +GType page_get_type (void) G_GNUC_CONST; +GType sidebar_page_representative_get_type (void) G_GNUC_CONST; +GType sidebar_destroyable_entry_get_type (void) G_GNUC_CONST; +#define TAGS_SIDEBAR_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntryPrivate)) +enum { + TAGS_SIDEBAR_ENTRY_DUMMY_PROPERTY +}; +#define RESOURCES_ICON_ONE_TAG "one-tag" +SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type); +void tags_sidebar_entry_init (void); +void tags_sidebar_entry_terminate (void); +static gchar* tags_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base); +static gchar* tags_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base); +static Page* tags_sidebar_entry_real_create_page (SidebarSimplePageEntry* base); +TagPage* tag_page_new (Tag* tag); +TagPage* tag_page_construct (GType object_type, Tag* tag); +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; +GType tag_page_get_type (void) G_GNUC_CONST; +static gboolean tags_sidebar_entry_real_is_user_renameable (SidebarRenameableEntry* base); +static void tags_sidebar_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name); +gchar* tag_prep_tag_name (const gchar* name); +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); +GType simple_proxyable_command_get_type (void) G_GNUC_CONST; +GType rename_tag_command_get_type (void) G_GNUC_CONST; +static void tags_sidebar_entry_real_destroy_source (SidebarDestroyableEntry* base); +gboolean dialogs_confirm_delete_tag (Tag* tag); +DeleteTagCommand* delete_tag_command_new (Tag* tag); +DeleteTagCommand* delete_tag_command_construct (GType object_type, Tag* tag); +GType delete_tag_command_get_type (void) G_GNUC_CONST; +static gboolean tags_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media); +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); +GType tag_untag_photos_command_get_type (void) G_GNUC_CONST; +static gboolean tags_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data); +gchar* tag_get_path (Tag* self); +GeeList* hierarchical_tag_utilities_enumerate_parent_paths (const gchar* in_path); +static gboolean tags_sidebar_entry_real_expand_on_select (SidebarExpandableEntry* base); +static void tags_sidebar_entry_real_prepare_selection_data (SidebarInternalDragSourceEntry* base, GtkSelectionData* data); +static void tags_sidebar_entry_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +static void _tags_branch_on_tags_added_removed_data_collection_contents_altered (DataCollection* _sender, GeeIterable* added, GeeIterable* removed, gpointer self) { +#line 26 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_branch_on_tags_added_removed ((TagsBranch*) self, added, removed); +#line 885 "Branch.c" +} + + +static void _tags_branch_on_tags_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 27 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_branch_on_tags_altered ((TagsBranch*) self, items); +#line 892 "Branch.c" +} + + +static gint _tags_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b) { + gint result; + result = tags_branch_comparator ((SidebarEntry*) a, (SidebarEntry*) b); +#line 11 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 901 "Branch.c" +} + + +TagsBranch* tags_branch_construct (GType object_type) { + TagsBranch * self = NULL; + TagsHeader* _tmp0_ = NULL; + TagsHeader* _tmp1_ = NULL; + TagSourceCollection* _tmp2_ = NULL; + GeeCollection* _tmp3_ = NULL; + GeeCollection* _tmp4_ = NULL; + TagSourceCollection* _tmp5_ = NULL; + TagSourceCollection* _tmp6_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = tags_header_new (); +#line 11 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = _tmp0_; +#line 11 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = (TagsBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SIDEBAR_TYPE_ENTRY, SidebarEntry), (SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY | SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD) | SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING, _tags_branch_comparator_gcompare_func, NULL); +#line 11 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp1_); +#line 18 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = tag_global; +#line 18 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = data_collection_get_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection)); +#line 18 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = _tmp3_; +#line 18 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_branch_on_tags_added_removed (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable), NULL); +#line 18 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp4_); +#line 21 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = tag_global; +#line 21 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), "contents-altered", (GCallback) _tags_branch_on_tags_added_removed_data_collection_contents_altered, self, 0); +#line 22 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = tag_global; +#line 22 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _tags_branch_on_tags_altered_data_collection_items_altered, self, 0); +#line 10 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return self; +#line 942 "Branch.c" +} + + +TagsBranch* tags_branch_new (void) { +#line 10 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return tags_branch_construct (TAGS_TYPE_BRANCH); +#line 949 "Branch.c" +} + + +TagsSidebarEntry* tags_branch_get_entry_for_tag (TagsBranch* self, Tag* tag) { + TagsSidebarEntry* result = NULL; + GeeHashMap* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (TAGS_IS_BRANCH (self), NULL); +#line 30 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (IS_TAG (tag), NULL); +#line 31 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = self->priv->entry_map; +#line 31 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = tag; +#line 31 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 31 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = (TagsSidebarEntry*) _tmp2_; +#line 31 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 972 "Branch.c" +} + + +gboolean tags_branch_is_user_renameable (TagsBranch* self) { + gboolean result = FALSE; +#line 34 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (TAGS_IS_BRANCH (self), FALSE); +#line 35 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 35 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 984 "Branch.c" +} + + +static gint tags_branch_comparator (SidebarEntry* a, SidebarEntry* b) { + gint result = 0; + SidebarEntry* _tmp0_ = NULL; + SidebarEntry* _tmp1_ = NULL; + SidebarEntry* _tmp2_ = NULL; + Tag* _tmp3_ = NULL; + Tag* _tmp4_ = NULL; + SidebarEntry* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + Tag* _tmp7_ = NULL; + gint _tmp8_ = 0; + gint _tmp9_ = 0; +#line 38 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0); +#line 38 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0); +#line 39 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = a; +#line 39 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = b; +#line 39 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp0_ == _tmp1_) { +#line 40 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = 0; +#line 40 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 1014 "Branch.c" + } +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = a; +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = tags_sidebar_entry_for_tag (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry)); +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = _tmp3_; +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = b; +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = tags_sidebar_entry_for_tag (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry)); +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = _tmp6_; +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = tag_compare_names (_tmp4_, _tmp7_); +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9_ = _tmp8_; +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp7_); +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp4_); +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = _tmp9_; +#line 42 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 1040 "Branch.c" +} + + +static gint _tag_compare_names_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = tag_compare_names ((Tag*) a, (Tag*) b); +#line 57 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 1049 "Branch.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 59 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return self ? g_object_ref (self) : NULL; +#line 1056 "Branch.c" +} + + +static void tags_branch_on_tags_added_removed (TagsBranch* self, GeeIterable* added_raw, GeeIterable* removed) { + Tag* restore_point = NULL; + GeeIterable* _tmp0_ = NULL; + GeeIterable* _tmp49_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail (TAGS_IS_BRANCH (self)); +#line 46 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail ((added_raw == NULL) || GEE_IS_ITERABLE (added_raw)); +#line 46 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail ((removed == NULL) || GEE_IS_ITERABLE (removed)); +#line 51 "/home/jens/Source/shotwell/src/tags/Branch.vala" + restore_point = NULL; +#line 53 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = added_raw; +#line 53 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp0_ != NULL) { +#line 1076 "Branch.c" + GeeSortedSet* added = NULL; + GeeTreeSet* _tmp1_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = gee_tree_set_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, _tag_compare_names_gcompare_data_func, NULL, NULL); +#line 57 "/home/jens/Source/shotwell/src/tags/Branch.vala" + added = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 1083 "Branch.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp2_ = NULL; + GeeIterator* _tmp3_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = added_raw; +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = gee_iterable_iterator (_tmp2_); +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _object_it = _tmp3_; +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + while (TRUE) { +#line 1096 "Branch.c" + GeeIterator* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp6_ = NULL; + gpointer _tmp7_ = NULL; + Tag* tag = NULL; + DataObject* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + GeeSortedSet* _tmp10_ = NULL; + Tag* _tmp11_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = _object_it; +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = gee_iterator_next (_tmp4_); +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (!_tmp5_) { +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + break; +#line 1115 "Branch.c" + } +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = _object_it; +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = gee_iterator_get (_tmp6_); +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + object = (DataObject*) _tmp7_; +#line 59 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = object; +#line 59 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_TAG, Tag)); +#line 59 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tag = _tmp9_; +#line 60 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp10_ = added; +#line 60 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp11_ = tag; +#line 60 "/home/jens/Source/shotwell/src/tags/Branch.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_); +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (tag); +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (object); +#line 1139 "Branch.c" + } +#line 58 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_object_it); +#line 1143 "Branch.c" + } + { + GeeIterator* _tag_it = NULL; + GeeSortedSet* _tmp12_ = NULL; + GeeIterator* _tmp13_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp12_ = added; +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tag_it = _tmp13_; +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + while (TRUE) { +#line 1157 "Branch.c" + GeeIterator* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; + Tag* tag = NULL; + GeeIterator* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + Tag* parent_tag = NULL; + Tag* _tmp18_ = NULL; + Tag* _tmp19_ = NULL; + TagsSidebarEntry* entry = NULL; + Tag* _tmp31_ = NULL; + TagsSidebarEntry* _tmp32_ = NULL; + GeeHashMap* _tmp33_ = NULL; + Tag* _tmp34_ = NULL; + TagsSidebarEntry* _tmp35_ = NULL; + Tag* _tmp36_ = NULL; + Tag* _tmp37_ = NULL; + Tag* _tmp38_ = NULL; + Tag* _tmp47_ = NULL; + Tag* _tmp48_ = NULL; +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp14_ = _tag_it; +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp15_ = gee_iterator_next (_tmp14_); +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (!_tmp15_) { +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + break; +#line 1185 "Branch.c" + } +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp16_ = _tag_it; +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp17_ = gee_iterator_get (_tmp16_); +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tag = (Tag*) _tmp17_; +#line 66 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp18_ = tag; +#line 66 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp19_ = tag_get_hierarchical_parent (_tmp18_); +#line 66 "/home/jens/Source/shotwell/src/tags/Branch.vala" + parent_tag = _tmp19_; +#line 67 "/home/jens/Source/shotwell/src/tags/Branch.vala" + while (TRUE) { +#line 1201 "Branch.c" + Tag* _tmp20_ = NULL; + GeeHashMap* _tmp21_ = NULL; + Tag* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + Tag* _tmp29_ = NULL; + Tag* _tmp30_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp20_ = parent_tag; +#line 67 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (!(_tmp20_ != NULL)) { +#line 67 "/home/jens/Source/shotwell/src/tags/Branch.vala" + break; +#line 1214 "Branch.c" + } +#line 68 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp21_ = self->priv->entry_map; +#line 68 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp22_ = parent_tag; +#line 68 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp23_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp22_); +#line 68 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (!_tmp23_) { +#line 1224 "Branch.c" + TagsSidebarEntry* parent_entry = NULL; + Tag* _tmp24_ = NULL; + TagsSidebarEntry* _tmp25_ = NULL; + GeeHashMap* _tmp26_ = NULL; + Tag* _tmp27_ = NULL; + TagsSidebarEntry* _tmp28_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp24_ = parent_tag; +#line 69 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp25_ = tags_sidebar_entry_new (_tmp24_); +#line 69 "/home/jens/Source/shotwell/src/tags/Branch.vala" + parent_entry = _tmp25_; +#line 70 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp26_ = self->priv->entry_map; +#line 70 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp27_ = parent_tag; +#line 70 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp28_ = parent_entry; +#line 70 "/home/jens/Source/shotwell/src/tags/Branch.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp27_, _tmp28_); +#line 68 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (parent_entry); +#line 1247 "Branch.c" + } +#line 73 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp29_ = parent_tag; +#line 73 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp30_ = tag_get_hierarchical_parent (_tmp29_); +#line 73 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (parent_tag); +#line 73 "/home/jens/Source/shotwell/src/tags/Branch.vala" + parent_tag = _tmp30_; +#line 1257 "Branch.c" + } +#line 77 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp31_ = tag; +#line 77 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp32_ = tags_sidebar_entry_new (_tmp31_); +#line 77 "/home/jens/Source/shotwell/src/tags/Branch.vala" + entry = _tmp32_; +#line 78 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp33_ = self->priv->entry_map; +#line 78 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp34_ = tag; +#line 78 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp35_ = entry; +#line 78 "/home/jens/Source/shotwell/src/tags/Branch.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp34_, _tmp35_); +#line 80 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp36_ = tag; +#line 80 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp37_ = tag_get_hierarchical_parent (_tmp36_); +#line 80 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (parent_tag); +#line 80 "/home/jens/Source/shotwell/src/tags/Branch.vala" + parent_tag = _tmp37_; +#line 81 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp38_ = parent_tag; +#line 81 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp38_ != NULL) { +#line 1285 "Branch.c" + TagsSidebarEntry* parent_entry = NULL; + GeeHashMap* _tmp39_ = NULL; + Tag* _tmp40_ = NULL; + gpointer _tmp41_ = NULL; + TagsSidebarEntry* _tmp42_ = NULL; + TagsSidebarEntry* _tmp43_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp39_ = self->priv->entry_map; +#line 82 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp40_ = parent_tag; +#line 82 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp41_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp40_); +#line 82 "/home/jens/Source/shotwell/src/tags/Branch.vala" + parent_entry = (TagsSidebarEntry*) _tmp41_; +#line 83 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp42_ = parent_entry; +#line 83 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp43_ = entry; +#line 83 "/home/jens/Source/shotwell/src/tags/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, SIDEBAR_TYPE_ENTRY, SidebarEntry), G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL); +#line 81 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (parent_entry); +#line 1308 "Branch.c" + } else { + SidebarEntry* _tmp44_ = NULL; + SidebarEntry* _tmp45_ = NULL; + TagsSidebarEntry* _tmp46_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp44_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch)); +#line 85 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp45_ = _tmp44_; +#line 85 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp46_ = entry; +#line 85 "/home/jens/Source/shotwell/src/tags/Branch.vala" + sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp45_, G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL); +#line 85 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp45_); +#line 1323 "Branch.c" + } +#line 90 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp47_ = tag; +#line 90 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp48_ = _g_object_ref0 (_tmp47_); +#line 90 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (restore_point); +#line 90 "/home/jens/Source/shotwell/src/tags/Branch.vala" + restore_point = _tmp48_; +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (entry); +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (parent_tag); +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (tag); +#line 1339 "Branch.c" + } +#line 63 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tag_it); +#line 1343 "Branch.c" + } +#line 53 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (added); +#line 1347 "Branch.c" + } +#line 94 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp49_ = removed; +#line 94 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp49_ != NULL) { +#line 1353 "Branch.c" + { + GeeIterator* _object_it = NULL; + GeeIterable* _tmp50_ = NULL; + GeeIterator* _tmp51_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp50_ = removed; +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp51_ = gee_iterable_iterator (_tmp50_); +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _object_it = _tmp51_; +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + while (TRUE) { +#line 1366 "Branch.c" + GeeIterator* _tmp52_ = NULL; + gboolean _tmp53_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp54_ = NULL; + gpointer _tmp55_ = NULL; + Tag* tag = NULL; + DataObject* _tmp56_ = NULL; + Tag* _tmp57_ = NULL; + TagsSidebarEntry* entry = NULL; + GeeHashMap* _tmp58_ = NULL; + Tag* _tmp59_ = NULL; + gpointer _tmp60_ = NULL; + TagsSidebarEntry* _tmp61_ = NULL; + gboolean is_removed = FALSE; + GeeHashMap* _tmp62_ = NULL; + Tag* _tmp63_ = NULL; + gboolean _tmp64_ = FALSE; + gboolean _tmp65_ = FALSE; + TagsSidebarEntry* _tmp66_ = NULL; +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp52_ = _object_it; +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp53_ = gee_iterator_next (_tmp52_); +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (!_tmp53_) { +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + break; +#line 1394 "Branch.c" + } +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp54_ = _object_it; +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp55_ = gee_iterator_get (_tmp54_); +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + object = (DataObject*) _tmp55_; +#line 96 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp56_ = object; +#line 96 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp57_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, TYPE_TAG, Tag)); +#line 96 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tag = _tmp57_; +#line 98 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp58_ = self->priv->entry_map; +#line 98 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp59_ = tag; +#line 98 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp60_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp59_); +#line 98 "/home/jens/Source/shotwell/src/tags/Branch.vala" + entry = (TagsSidebarEntry*) _tmp60_; +#line 99 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp61_ = entry; +#line 99 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _vala_assert (_tmp61_ != NULL, "entry != null"); +#line 101 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp62_ = self->priv->entry_map; +#line 101 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp63_ = tag; +#line 101 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp64_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp63_, NULL); +#line 101 "/home/jens/Source/shotwell/src/tags/Branch.vala" + is_removed = _tmp64_; +#line 102 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp65_ = is_removed; +#line 102 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _vala_assert (_tmp65_, "is_removed"); +#line 104 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp66_ = entry; +#line 104 "/home/jens/Source/shotwell/src/tags/Branch.vala" + sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (entry); +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (tag); +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (object); +#line 1442 "Branch.c" + } +#line 95 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_object_it); +#line 1446 "Branch.c" + } + } +#line 46 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (restore_point); +#line 1451 "Branch.c" +} + + +static void tags_branch_on_tags_altered (TagsBranch* self, GeeMap* altered) { +#line 109 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail (TAGS_IS_BRANCH (self)); +#line 109 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail (GEE_IS_MAP (altered)); +#line 1460 "Branch.c" + { + GeeIterator* _object_it = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeIterator* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = altered; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = _tmp1_; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = _tmp2_; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = _tmp4_; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp3_); +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _object_it = _tmp5_; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + while (TRUE) { +#line 1487 "Branch.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + DataObject* object = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeMap* _tmp10_ = NULL; + DataObject* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + Alteration* _tmp13_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + Tag* tag = NULL; + DataObject* _tmp16_ = NULL; + Tag* _tmp17_ = NULL; + TagsSidebarEntry* entry = NULL; + GeeHashMap* _tmp18_ = NULL; + Tag* _tmp19_ = NULL; + gpointer _tmp20_ = NULL; + TagsSidebarEntry* _tmp21_ = NULL; + TagsSidebarEntry* _tmp22_ = NULL; + Tag* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + TagsSidebarEntry* _tmp26_ = NULL; + Tag* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + TagsSidebarEntry* _tmp30_ = NULL; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = _object_it; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (!_tmp7_) { +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + break; +#line 1524 "Branch.c" + } +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = _object_it; +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + object = (DataObject*) _tmp9_; +#line 111 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp10_ = altered; +#line 111 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp11_ = object; +#line 111 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp12_ = gee_map_get (_tmp10_, _tmp11_); +#line 111 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp13_ = (Alteration*) _tmp12_; +#line 111 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp14_ = alteration_has_detail (_tmp13_, "metadata", "name"); +#line 111 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp15_ = !_tmp14_; +#line 111 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _alteration_unref0 (_tmp13_); +#line 111 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp15_) { +#line 112 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (object); +#line 112 "/home/jens/Source/shotwell/src/tags/Branch.vala" + continue; +#line 1552 "Branch.c" + } +#line 114 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp16_ = object; +#line 114 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp17_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_TAG, Tag)); +#line 114 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tag = _tmp17_; +#line 115 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp18_ = self->priv->entry_map; +#line 115 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp19_ = tag; +#line 115 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp20_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_); +#line 115 "/home/jens/Source/shotwell/src/tags/Branch.vala" + entry = (TagsSidebarEntry*) _tmp20_; +#line 116 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp21_ = entry; +#line 116 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _vala_assert (_tmp21_ != NULL, "entry != null"); +#line 118 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp22_ = entry; +#line 118 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp23_ = tag; +#line 118 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp24_ = tag_get_user_visible_name (_tmp23_); +#line 118 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp25_ = _tmp24_; +#line 118 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry), "sidebar-name-changed", _tmp25_); +#line 118 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp25_); +#line 119 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp26_ = entry; +#line 119 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp27_ = tag; +#line 119 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp28_ = tag_get_user_visible_name (_tmp27_); +#line 119 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp29_ = _tmp28_; +#line 119 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, SIDEBAR_TYPE_ENTRY, SidebarEntry), "sidebar-tooltip-changed", _tmp29_); +#line 119 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp29_); +#line 120 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp30_ = entry; +#line 120 "/home/jens/Source/shotwell/src/tags/Branch.vala" + sidebar_branch_reorder (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, SIDEBAR_TYPE_ENTRY, SidebarEntry)); +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (entry); +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (tag); +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (object); +#line 1606 "Branch.c" + } +#line 110 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_object_it); +#line 1610 "Branch.c" + } +} + + +static void tags_branch_class_init (TagsBranchClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_branch_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_type_class_add_private (klass, sizeof (TagsBranchPrivate)); +#line 7 "/home/jens/Source/shotwell/src/tags/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = tags_branch_finalize; +#line 1622 "Branch.c" +} + + +static void tags_branch_instance_init (TagsBranch * self) { + GeeHashMap* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv = TAGS_BRANCH_GET_PRIVATE (self); +#line 8 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = gee_hash_map_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, g_object_unref, TAGS_TYPE_SIDEBAR_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 8 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv->entry_map = _tmp0_; +#line 1634 "Branch.c" +} + + +static void tags_branch_finalize (GObject* obj) { + TagsBranch * self; + TagSourceCollection* _tmp0_ = NULL; + guint _tmp1_ = 0U; + TagSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TAGS_TYPE_BRANCH, TagsBranch); +#line 26 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = tag_global; +#line 26 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp1_, NULL, FALSE); +#line 26 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _tags_branch_on_tags_added_removed_data_collection_contents_altered, self); +#line 27 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = tag_global; +#line 27 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 27 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _tags_branch_on_tags_altered_data_collection_items_altered, self); +#line 8 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (self->priv->entry_map); +#line 7 "/home/jens/Source/shotwell/src/tags/Branch.vala" + G_OBJECT_CLASS (tags_branch_parent_class)->finalize (obj); +#line 1662 "Branch.c" +} + + +GType tags_branch_get_type (void) { + static volatile gsize tags_branch_type_id__volatile = 0; + if (g_once_init_enter (&tags_branch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagsBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tags_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagsBranch), 0, (GInstanceInitFunc) tags_branch_instance_init, NULL }; + GType tags_branch_type_id; + tags_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "TagsBranch", &g_define_type_info, 0); + g_once_init_leave (&tags_branch_type_id__volatile, tags_branch_type_id); + } + return tags_branch_type_id__volatile; +} + + +TagsHeader* tags_header_construct (GType object_type) { + TagsHeader * self = NULL; + const gchar* _tmp0_ = NULL; +#line 131 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = _ ("Tags"); +#line 131 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = (TagsHeader*) sidebar_header_construct (object_type, _tmp0_, TRUE); +#line 132 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_header_setup_context_menu (self); +#line 130 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return self; +#line 1689 "Branch.c" +} + + +TagsHeader* tags_header_new (void) { +#line 130 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return tags_header_construct (TAGS_TYPE_HEADER); +#line 1696 "Branch.c" +} + + +static void _tags_header_on_new_tag_gtk_action_callback (GtkAction* action, gpointer self) { +#line 139 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_header_on_new_tag ((TagsHeader*) self); +#line 1703 "Branch.c" +} + + +static void _vala_array_add133 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 141 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if ((*length) == (*size)) { +#line 141 "/home/jens/Source/shotwell/src/tags/Branch.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 141 "/home/jens/Source/shotwell/src/tags/Branch.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1714 "Branch.c" + } +#line 141 "/home/jens/Source/shotwell/src/tags/Branch.vala" + (*array)[(*length)++] = *value; +#line 1718 "Branch.c" +} + + +static void tags_header_setup_context_menu (TagsHeader* self) { + GtkActionGroup* group = NULL; + GtkActionGroup* _tmp0_ = NULL; + GtkActionEntry* actions = NULL; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry new_tag = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + GtkUIManager* _tmp6_ = NULL; + GFile* ui_file = NULL; + GFile* _tmp7_ = NULL; + GtkUIManager* _tmp19_ = NULL; + GtkWidget* _tmp20_ = NULL; + GtkMenu* _tmp21_ = NULL; + GtkUIManager* _tmp22_ = NULL; + GError * _inner_error_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail (TAGS_IS_HEADER (self)); +#line 136 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = gtk_action_group_new ("SidebarDefault"); +#line 136 "/home/jens/Source/shotwell/src/tags/Branch.vala" + group = _tmp0_; +#line 137 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = g_new0 (GtkActionEntry, 0); +#line 137 "/home/jens/Source/shotwell/src/tags/Branch.vala" + actions = _tmp1_; +#line 137 "/home/jens/Source/shotwell/src/tags/Branch.vala" + actions_length1 = 0; +#line 137 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _actions_size_ = actions_length1; +#line 139 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_.name = "CommonNewTag"; +#line 139 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_.stock_id = NULL; +#line 139 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_.label = TRANSLATABLE; +#line 139 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_.accelerator = NULL; +#line 139 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_.tooltip = NULL; +#line 139 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_.callback = (GCallback) _tags_header_on_new_tag_gtk_action_callback; +#line 139 "/home/jens/Source/shotwell/src/tags/Branch.vala" + new_tag = _tmp2_; +#line 140 "/home/jens/Source/shotwell/src/tags/Branch.vala" + new_tag.label = RESOURCES_NEW_CHILD_TAG_SIDEBAR_MENU; +#line 141 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = actions; +#line 141 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3__length1 = actions_length1; +#line 141 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = new_tag; +#line 141 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _vala_array_add133 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 143 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = actions; +#line 143 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5__length1 = actions_length1; +#line 143 "/home/jens/Source/shotwell/src/tags/Branch.vala" + gtk_action_group_add_actions (group, _tmp5_, _tmp5__length1, self); +#line 144 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = self->priv->ui; +#line 144 "/home/jens/Source/shotwell/src/tags/Branch.vala" + gtk_ui_manager_insert_action_group (_tmp6_, group, 0); +#line 146 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = resources_get_ui ("tag_sidebar_context.ui"); +#line 146 "/home/jens/Source/shotwell/src/tags/Branch.vala" + ui_file = _tmp7_; +#line 1796 "Branch.c" + { + GtkUIManager* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = self->priv->ui; +#line 148 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9_ = g_file_get_path (ui_file); +#line 148 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp10_ = _tmp9_; +#line 148 "/home/jens/Source/shotwell/src/tags/Branch.vala" + gtk_ui_manager_add_ui_from_file (_tmp8_, _tmp10_, &_inner_error_); +#line 148 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp10_); +#line 148 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1813 "Branch.c" + goto __catch51_g_error; + } + } + goto __finally51; + __catch51_g_error: + { + GError* err = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + GError* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + Application* _tmp17_ = NULL; + Application* _tmp18_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + err = _inner_error_; +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _inner_error_ = NULL; +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp11_ = g_file_get_path (ui_file); +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp12_ = _tmp11_; +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp13_ = err; +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp14_ = _tmp13_->message; +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp15_ = g_strdup_printf ("Error loading UI file %s: %s", _tmp12_, _tmp14_); +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp16_ = _tmp15_; +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + app_window_error_message (_tmp16_, NULL); +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp16_); +#line 150 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp12_); +#line 152 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp17_ = application_get_instance (); +#line 152 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp18_ = _tmp17_; +#line 152 "/home/jens/Source/shotwell/src/tags/Branch.vala" + application_panic (_tmp18_); +#line 152 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _application_unref0 (_tmp18_); +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_error_free0 (err); +#line 1861 "Branch.c" + } + __finally51: +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (ui_file); +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + actions = (g_free (actions), NULL); +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (group); +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.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 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_clear_error (&_inner_error_); +#line 147 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return; +#line 1878 "Branch.c" + } +#line 154 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp19_ = self->priv->ui; +#line 154 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp20_ = gtk_ui_manager_get_widget (_tmp19_, "/SidebarTagContextMenu"); +#line 154 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp21_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_menu_get_type (), GtkMenu)); +#line 154 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (self->priv->context_menu); +#line 154 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv->context_menu = _tmp21_; +#line 156 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp22_ = self->priv->ui; +#line 156 "/home/jens/Source/shotwell/src/tags/Branch.vala" + gtk_ui_manager_ensure_update (_tmp22_); +#line 135 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (ui_file); +#line 135 "/home/jens/Source/shotwell/src/tags/Branch.vala" + actions = (g_free (actions), NULL); +#line 135 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (group); +#line 1900 "Branch.c" +} + + +static gboolean tags_header_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media) { + TagsHeader * self; + gboolean result = FALSE; + AddTagsDialog* dialog = NULL; + AddTagsDialog* _tmp0_ = NULL; + gchar** names = NULL; + AddTagsDialog* _tmp1_ = NULL; + gint _tmp2_ = 0; + gchar** _tmp3_ = NULL; + gint names_length1 = 0; + gint _names_size_ = 0; + gboolean _tmp4_ = FALSE; + gchar** _tmp5_ = NULL; + gint _tmp5__length1 = 0; + CommandManager* _tmp7_ = NULL; + CommandManager* _tmp8_ = NULL; + gchar** _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GeeList* _tmp10_ = NULL; + AddTagsCommand* _tmp11_ = NULL; + AddTagsCommand* _tmp12_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_HEADER, TagsHeader); +#line 159 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (GEE_IS_LIST (media), FALSE); +#line 160 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = add_tags_dialog_new (); +#line 160 "/home/jens/Source/shotwell/src/tags/Branch.vala" + dialog = _tmp0_; +#line 161 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = dialog; +#line 161 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = add_tags_dialog_execute (_tmp1_, &_tmp2_); +#line 161 "/home/jens/Source/shotwell/src/tags/Branch.vala" + names = _tmp3_; +#line 161 "/home/jens/Source/shotwell/src/tags/Branch.vala" + names_length1 = _tmp2_; +#line 161 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _names_size_ = names_length1; +#line 162 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = names; +#line 162 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5__length1 = names_length1; +#line 162 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp5_ == NULL) { +#line 162 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = TRUE; +#line 1951 "Branch.c" + } else { + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 162 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = names; +#line 162 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6__length1 = names_length1; +#line 162 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = _tmp6__length1 == 0; +#line 1961 "Branch.c" + } +#line 162 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp4_) { +#line 163 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = FALSE; +#line 163 "/home/jens/Source/shotwell/src/tags/Branch.vala" + names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL); +#line 163 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _text_entry_dialog_mediator_unref0 (dialog); +#line 163 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 1973 "Branch.c" + } +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = app_window_get_command_manager (); +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = _tmp7_; +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9_ = names; +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9__length1 = names_length1; +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp10_ = media; +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp11_ = add_tags_command_new (_tmp9_, _tmp9__length1, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp12_ = _tmp11_; +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + command_manager_execute (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_COMMAND, Command)); +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp12_); +#line 165 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _command_manager_unref0 (_tmp8_); +#line 167 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 167 "/home/jens/Source/shotwell/src/tags/Branch.vala" + names = (_vala_array_free (names, names_length1, (GDestroyNotify) g_free), NULL); +#line 167 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _text_entry_dialog_mediator_unref0 (dialog); +#line 167 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2003 "Branch.c" +} + + +static gboolean tags_header_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data) { + TagsHeader * self; + gboolean result = FALSE; + GtkSelectionData* _tmp0_ = NULL; + GdkAtom _tmp1_ = 0U; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 170 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_HEADER, TagsHeader); +#line 170 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (data != NULL, FALSE); +#line 171 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = data; +#line 171 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = gtk_selection_data_get_data_type (_tmp0_); +#line 171 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = gdk_atom_name (_tmp1_); +#line 171 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = _tmp2_; +#line 171 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = g_strcmp0 (_tmp3_, LIBRARY_WINDOW_TAG_PATH_MIME_TYPE) == 0; +#line 171 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp3_); +#line 171 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp4_) { +#line 2033 "Branch.c" + gchar* old_tag_path = NULL; + GtkSelectionData* _tmp5_ = NULL; + guchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + TagSourceCollection* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + const gchar* _tmp11_ = NULL; + GeeList* _tmp12_ = NULL; + GeeList* _tmp13_ = NULL; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gboolean _tmp16_ = FALSE; + CommandManager* _tmp17_ = NULL; + CommandManager* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + Tag* _tmp20_ = NULL; + Tag* _tmp21_ = NULL; + ReparentTagCommand* _tmp22_ = NULL; + ReparentTagCommand* _tmp23_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = data; +#line 172 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = gtk_selection_data_get_data (_tmp5_); +#line 172 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = g_strdup ((const gchar*) _tmp6_); +#line 172 "/home/jens/Source/shotwell/src/tags/Branch.vala" + old_tag_path = _tmp7_; +#line 173 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = tag_global; +#line 173 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9_ = old_tag_path; +#line 173 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp10_ = tag_source_collection_exists (_tmp8_, _tmp9_, FALSE); +#line 173 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _vala_assert (_tmp10_, "Tag.global.exists(old_tag_path)"); +#line 176 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp11_ = old_tag_path; +#line 176 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp12_ = hierarchical_tag_utilities_enumerate_path_components (_tmp11_); +#line 176 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp13_ = _tmp12_; +#line 176 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp14_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 176 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp15_ = _tmp14_; +#line 176 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp16_ = _tmp15_ < 2; +#line 176 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp13_); +#line 176 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp16_) { +#line 177 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 177 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (old_tag_path); +#line 177 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2092 "Branch.c" + } +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp17_ = app_window_get_command_manager (); +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp18_ = _tmp17_; +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp19_ = old_tag_path; +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp20_ = tag_for_path (_tmp19_); +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp21_ = _tmp20_; +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp22_ = reparent_tag_command_new (_tmp21_, "/"); +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp23_ = _tmp22_; +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + command_manager_execute (_tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_COMMAND, Command)); +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp23_); +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp21_); +#line 179 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _command_manager_unref0 (_tmp18_); +#line 182 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 182 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (old_tag_path); +#line 182 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2122 "Branch.c" + } +#line 185 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = FALSE; +#line 185 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2128 "Branch.c" +} + + +static void tags_header_real_prepare_selection_data (SidebarInternalDragSourceEntry* base, GtkSelectionData* data) { + TagsHeader * self; +#line 188 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_HEADER, TagsHeader); +#line 188 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail (data != NULL); +#line 2138 "Branch.c" +} + + +static GtkMenu* tags_header_real_get_sidebar_context_menu (SidebarContextable* base, GdkEventButton* event) { + TagsHeader * self; + GtkMenu* result = NULL; + GtkMenu* _tmp0_ = NULL; + GtkMenu* _tmp1_ = NULL; +#line 192 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_HEADER, TagsHeader); +#line 193 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = self->priv->context_menu; +#line 193 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 193 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = _tmp1_; +#line 193 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2157 "Branch.c" +} + + +static void tags_header_on_new_tag (TagsHeader* self) { + NewRootTagCommand* creation_command = NULL; + NewRootTagCommand* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; + CommandManager* _tmp2_ = NULL; + LibraryWindow* _tmp3_ = NULL; + LibraryWindow* _tmp4_ = NULL; + Tag* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; +#line 196 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail (TAGS_IS_HEADER (self)); +#line 197 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = new_root_tag_command_new (); +#line 197 "/home/jens/Source/shotwell/src/tags/Branch.vala" + creation_command = _tmp0_; +#line 198 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = app_window_get_command_manager (); +#line 198 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = _tmp1_; +#line 198 "/home/jens/Source/shotwell/src/tags/Branch.vala" + command_manager_execute (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (creation_command, TYPE_COMMAND, Command)); +#line 198 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _command_manager_unref0 (_tmp2_); +#line 199 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = library_window_get_app (); +#line 199 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = _tmp3_; +#line 199 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = new_root_tag_command_get_created_tag (creation_command); +#line 199 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = _tmp5_; +#line 199 "/home/jens/Source/shotwell/src/tags/Branch.vala" + library_window_rename_tag_in_sidebar (_tmp4_, _tmp6_); +#line 199 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp6_); +#line 199 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp4_); +#line 196 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (creation_command); +#line 2200 "Branch.c" +} + + +static void tags_header_class_init (TagsHeaderClass * klass) { +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_header_parent_class = g_type_class_peek_parent (klass); +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_type_class_add_private (klass, sizeof (TagsHeaderPrivate)); +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = tags_header_finalize; +#line 2211 "Branch.c" +} + + +static void tags_header_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface) { +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_header_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->internal_drop_received = (gboolean (*)(SidebarInternalDropTargetEntry*, GeeList*)) tags_header_real_internal_drop_received; +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->internal_drop_received_arbitrary = (gboolean (*)(SidebarInternalDropTargetEntry*, GtkSelectionData*)) tags_header_real_internal_drop_received_arbitrary; +#line 2222 "Branch.c" +} + + +static void tags_header_sidebar_internal_drag_source_entry_interface_init (SidebarInternalDragSourceEntryIface * iface) { +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_header_sidebar_internal_drag_source_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->prepare_selection_data = (void (*)(SidebarInternalDragSourceEntry*, GtkSelectionData*)) tags_header_real_prepare_selection_data; +#line 2231 "Branch.c" +} + + +static void tags_header_sidebar_contextable_interface_init (SidebarContextableIface * iface) { +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_header_sidebar_contextable_parent_iface = g_type_interface_peek_parent (iface); +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->get_sidebar_context_menu = (GtkMenu* (*)(SidebarContextable*, GdkEventButton*)) tags_header_real_get_sidebar_context_menu; +#line 2240 "Branch.c" +} + + +static void tags_header_instance_init (TagsHeader * self) { + GtkUIManager* _tmp0_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv = TAGS_HEADER_GET_PRIVATE (self); +#line 127 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = gtk_ui_manager_new (); +#line 127 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv->ui = _tmp0_; +#line 128 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv->context_menu = NULL; +#line 2254 "Branch.c" +} + + +static void tags_header_finalize (GObject* obj) { + TagsHeader * self; +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TAGS_TYPE_HEADER, TagsHeader); +#line 127 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (self->priv->ui); +#line 128 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (self->priv->context_menu); +#line 125 "/home/jens/Source/shotwell/src/tags/Branch.vala" + G_OBJECT_CLASS (tags_header_parent_class)->finalize (obj); +#line 2268 "Branch.c" +} + + +GType tags_header_get_type (void) { + static volatile gsize tags_header_type_id__volatile = 0; + if (g_once_init_enter (&tags_header_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagsHeaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tags_header_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagsHeader), 0, (GInstanceInitFunc) tags_header_instance_init, NULL }; + static const GInterfaceInfo sidebar_internal_drop_target_entry_info = { (GInterfaceInitFunc) tags_header_sidebar_internal_drop_target_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_internal_drag_source_entry_info = { (GInterfaceInitFunc) tags_header_sidebar_internal_drag_source_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_contextable_info = { (GInterfaceInitFunc) tags_header_sidebar_contextable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType tags_header_type_id; + tags_header_type_id = g_type_register_static (SIDEBAR_TYPE_HEADER, "TagsHeader", &g_define_type_info, 0); + g_type_add_interface_static (tags_header_type_id, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, &sidebar_internal_drop_target_entry_info); + g_type_add_interface_static (tags_header_type_id, SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, &sidebar_internal_drag_source_entry_info); + g_type_add_interface_static (tags_header_type_id, SIDEBAR_TYPE_CONTEXTABLE, &sidebar_contextable_info); + g_once_init_leave (&tags_header_type_id__volatile, tags_header_type_id); + } + return tags_header_type_id__volatile; +} + + +TagsSidebarEntry* tags_sidebar_entry_construct (GType object_type, Tag* tag) { + TagsSidebarEntry * self = NULL; + Tag* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (IS_TAG (tag), NULL); +#line 210 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = (TagsSidebarEntry*) sidebar_simple_page_entry_construct (object_type); +#line 211 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = tag; +#line 211 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 211 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (self->priv->tag); +#line 211 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv->tag = _tmp1_; +#line 210 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return self; +#line 2308 "Branch.c" +} + + +TagsSidebarEntry* tags_sidebar_entry_new (Tag* tag) { +#line 210 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return tags_sidebar_entry_construct (TAGS_TYPE_SIDEBAR_ENTRY, tag); +#line 2315 "Branch.c" +} + + +void tags_sidebar_entry_init (void) { +} + + +void tags_sidebar_entry_terminate (void) { +} + + +Tag* tags_sidebar_entry_for_tag (TagsSidebarEntry* self) { + Tag* result = NULL; + Tag* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (TAGS_IS_SIDEBAR_ENTRY (self), NULL); +#line 221 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = self->priv->tag; +#line 221 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 221 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = _tmp1_; +#line 221 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2341 "Branch.c" +} + + +static gchar* tags_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) { + TagsSidebarEntry * self; + gchar* result = NULL; + Tag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 224 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 225 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = self->priv->tag; +#line 225 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = tag_get_user_visible_name (_tmp0_); +#line 225 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = _tmp1_; +#line 225 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2360 "Branch.c" +} + + +static gchar* tags_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) { + TagsSidebarEntry * self; + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 229 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = self->priv->single_tag_icon; +#line 229 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 229 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = _tmp1_; +#line 229 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2379 "Branch.c" +} + + +static Page* tags_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) { + TagsSidebarEntry * self; + Page* result = NULL; + Tag* _tmp0_ = NULL; + TagPage* _tmp1_ = NULL; +#line 232 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 233 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = self->priv->tag; +#line 233 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = tag_page_new (_tmp0_); +#line 233 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_object_ref_sink (_tmp1_); +#line 233 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page); +#line 233 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2400 "Branch.c" +} + + +static gboolean tags_sidebar_entry_real_is_user_renameable (SidebarRenameableEntry* base) { + TagsSidebarEntry * self; + gboolean result = FALSE; +#line 236 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 237 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 237 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2413 "Branch.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 2426 "Branch.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 2457 "Branch.c" + goto __catch52_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 2466 "Branch.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 2482 "Branch.c" + goto __catch52_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 2493 "Branch.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2507 "Branch.c" + } + goto __finally52; + __catch52_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 2521 "Branch.c" + } + __finally52: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 2532 "Branch.c" + } +} + + +static void tags_sidebar_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name) { + TagsSidebarEntry * self; + gchar* prepped = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + const gchar* _tmp10_ = NULL; + CommandManager* _tmp11_ = NULL; + CommandManager* _tmp12_ = NULL; + Tag* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + RenameTagCommand* _tmp15_ = NULL; + RenameTagCommand* _tmp16_ = NULL; +#line 240 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 240 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail (new_name != NULL); +#line 241 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = new_name; +#line 241 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = tag_prep_tag_name (_tmp0_); +#line 241 "/home/jens/Source/shotwell/src/tags/Branch.vala" + prepped = _tmp1_; +#line 242 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = prepped; +#line 242 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp2_ == NULL) { +#line 243 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (prepped); +#line 243 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return; +#line 2575 "Branch.c" + } +#line 245 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = prepped; +#line 245 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = string_replace (_tmp3_, "/", ""); +#line 245 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (prepped); +#line 245 "/home/jens/Source/shotwell/src/tags/Branch.vala" + prepped = _tmp4_; +#line 247 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = prepped; +#line 247 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = self->priv->tag; +#line 247 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = tag_get_user_visible_name (_tmp6_); +#line 247 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = _tmp7_; +#line 247 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9_ = g_strcmp0 (_tmp5_, _tmp8_) == 0; +#line 247 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp8_); +#line 247 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp9_) { +#line 248 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (prepped); +#line 248 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return; +#line 2603 "Branch.c" + } +#line 250 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp10_ = prepped; +#line 250 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (g_strcmp0 (_tmp10_, "") == 0) { +#line 251 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (prepped); +#line 251 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return; +#line 2613 "Branch.c" + } +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp11_ = app_window_get_command_manager (); +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp12_ = _tmp11_; +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp13_ = self->priv->tag; +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp14_ = prepped; +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp15_ = rename_tag_command_new (_tmp13_, _tmp14_); +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp16_ = _tmp15_; +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + command_manager_execute (_tmp12_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_COMMAND, Command)); +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp16_); +#line 253 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _command_manager_unref0 (_tmp12_); +#line 240 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (prepped); +#line 2635 "Branch.c" +} + + +static void tags_sidebar_entry_real_destroy_source (SidebarDestroyableEntry* base) { + TagsSidebarEntry * self; + Tag* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 256 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 257 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = self->priv->tag; +#line 257 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = dialogs_confirm_delete_tag (_tmp0_); +#line 257 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp1_) { +#line 2651 "Branch.c" + CommandManager* _tmp2_ = NULL; + CommandManager* _tmp3_ = NULL; + Tag* _tmp4_ = NULL; + DeleteTagCommand* _tmp5_ = NULL; + DeleteTagCommand* _tmp6_ = NULL; +#line 258 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = app_window_get_command_manager (); +#line 258 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = _tmp2_; +#line 258 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = self->priv->tag; +#line 258 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = delete_tag_command_new (_tmp4_); +#line 258 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = _tmp5_; +#line 258 "/home/jens/Source/shotwell/src/tags/Branch.vala" + command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_COMMAND, Command)); +#line 258 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp6_); +#line 258 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _command_manager_unref0 (_tmp3_); +#line 2673 "Branch.c" + } +} + + +static gboolean tags_sidebar_entry_real_internal_drop_received (SidebarInternalDropTargetEntry* base, GeeList* media) { + TagsSidebarEntry * self; + gboolean result = FALSE; + CommandManager* _tmp0_ = NULL; + CommandManager* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + TagUntagPhotosCommand* _tmp7_ = NULL; + TagUntagPhotosCommand* _tmp8_ = NULL; +#line 261 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 261 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (GEE_IS_LIST (media), FALSE); +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = app_window_get_command_manager (); +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = _tmp0_; +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = self->priv->tag; +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = media; +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = media; +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = _tmp5_; +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = tag_untag_photos_command_new (_tmp2_, G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection), _tmp6_, TRUE); +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = _tmp7_; +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + command_manager_execute (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_COMMAND, Command)); +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp8_); +#line 262 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _command_manager_unref0 (_tmp1_); +#line 265 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 265 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2722 "Branch.c" +} + + +static gboolean tags_sidebar_entry_real_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* base, GtkSelectionData* data) { + TagsSidebarEntry * self; + gboolean result = FALSE; + GtkSelectionData* _tmp0_ = NULL; + GdkAtom _tmp1_ = 0U; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 268 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 268 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_val_if_fail (data != NULL, FALSE); +#line 269 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = data; +#line 269 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = gtk_selection_data_get_data_type (_tmp0_); +#line 269 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = gdk_atom_name (_tmp1_); +#line 269 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = _tmp2_; +#line 269 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = g_strcmp0 (_tmp3_, LIBRARY_WINDOW_TAG_PATH_MIME_TYPE) == 0; +#line 269 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp3_); +#line 269 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp4_) { +#line 2752 "Branch.c" + gchar* old_tag_path = NULL; + GtkSelectionData* _tmp5_ = NULL; + guchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + Tag* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gboolean _tmp12_ = FALSE; + TagSourceCollection* _tmp29_ = NULL; + const gchar* _tmp30_ = NULL; + gboolean _tmp31_ = FALSE; + Tag* old_tag = NULL; + const gchar* _tmp32_ = NULL; + Tag* _tmp33_ = NULL; + Tag* old_tag_parent = NULL; + Tag* _tmp34_ = NULL; + Tag* _tmp35_ = NULL; + gboolean _tmp36_ = FALSE; + Tag* _tmp37_ = NULL; + CommandManager* _tmp44_ = NULL; + CommandManager* _tmp45_ = NULL; + Tag* _tmp46_ = NULL; + Tag* _tmp47_ = NULL; + gchar* _tmp48_ = NULL; + gchar* _tmp49_ = NULL; + ReparentTagCommand* _tmp50_ = NULL; + ReparentTagCommand* _tmp51_ = NULL; +#line 270 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = data; +#line 270 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = gtk_selection_data_get_data (_tmp5_); +#line 270 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp7_ = g_strdup ((const gchar*) _tmp6_); +#line 270 "/home/jens/Source/shotwell/src/tags/Branch.vala" + old_tag_path = _tmp7_; +#line 273 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp8_ = old_tag_path; +#line 273 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp9_ = self->priv->tag; +#line 273 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp10_ = tag_get_path (_tmp9_); +#line 273 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp11_ = _tmp10_; +#line 273 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp12_ = g_strcmp0 (_tmp8_, _tmp11_) == 0; +#line 273 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp11_); +#line 273 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp12_) { +#line 274 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 274 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (old_tag_path); +#line 274 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2809 "Branch.c" + } + { + GeeList* _parent_path_list = NULL; + Tag* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; + GeeList* _tmp17_ = NULL; + gint _parent_path_size = 0; + GeeList* _tmp18_ = NULL; + gint _tmp19_ = 0; + gint _tmp20_ = 0; + gint _parent_path_index = 0; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp13_ = self->priv->tag; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp14_ = tag_get_path (_tmp13_); +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp15_ = _tmp14_; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp16_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp15_); +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp17_ = _tmp16_; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp15_); +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _parent_path_list = _tmp17_; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp18_ = _parent_path_list; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp19_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp20_ = _tmp19_; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _parent_path_size = _tmp20_; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _parent_path_index = -1; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + while (TRUE) { +#line 2849 "Branch.c" + gint _tmp21_ = 0; + gint _tmp22_ = 0; + gint _tmp23_ = 0; + gchar* parent_path = NULL; + GeeList* _tmp24_ = NULL; + gint _tmp25_ = 0; + gpointer _tmp26_ = NULL; + const gchar* _tmp27_ = NULL; + const gchar* _tmp28_ = NULL; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp21_ = _parent_path_index; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _parent_path_index = _tmp21_ + 1; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp22_ = _parent_path_index; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp23_ = _parent_path_size; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (!(_tmp22_ < _tmp23_)) { +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + break; +#line 2871 "Branch.c" + } +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp24_ = _parent_path_list; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp25_ = _parent_path_index; +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp26_ = gee_list_get (_tmp24_, _tmp25_); +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + parent_path = (gchar*) _tmp26_; +#line 278 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp27_ = parent_path; +#line 278 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp28_ = old_tag_path; +#line 278 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (g_strcmp0 (_tmp27_, _tmp28_) == 0) { +#line 279 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 279 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (parent_path); +#line 279 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_parent_path_list); +#line 279 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (old_tag_path); +#line 279 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2897 "Branch.c" + } +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (parent_path); +#line 2901 "Branch.c" + } +#line 277 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_parent_path_list); +#line 2905 "Branch.c" + } +#line 282 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp29_ = tag_global; +#line 282 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp30_ = old_tag_path; +#line 282 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp31_ = tag_source_collection_exists (_tmp29_, _tmp30_, FALSE); +#line 282 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _vala_assert (_tmp31_, "Tag.global.exists(old_tag_path)"); +#line 285 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp32_ = old_tag_path; +#line 285 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp33_ = tag_for_path (_tmp32_); +#line 285 "/home/jens/Source/shotwell/src/tags/Branch.vala" + old_tag = _tmp33_; +#line 286 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp34_ = old_tag; +#line 286 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp35_ = tag_get_hierarchical_parent (_tmp34_); +#line 286 "/home/jens/Source/shotwell/src/tags/Branch.vala" + old_tag_parent = _tmp35_; +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp37_ = old_tag_parent; +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp37_ != NULL) { +#line 2931 "Branch.c" + Tag* _tmp38_ = NULL; + gchar* _tmp39_ = NULL; + gchar* _tmp40_ = NULL; + Tag* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + gchar* _tmp43_ = NULL; +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp38_ = old_tag_parent; +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp39_ = tag_get_path (_tmp38_); +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp40_ = _tmp39_; +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp41_ = self->priv->tag; +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp42_ = tag_get_path (_tmp41_); +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp43_ = _tmp42_; +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp36_ = g_strcmp0 (_tmp40_, _tmp43_) == 0; +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp43_); +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp40_); +#line 2956 "Branch.c" + } else { +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp36_ = FALSE; +#line 2960 "Branch.c" + } +#line 287 "/home/jens/Source/shotwell/src/tags/Branch.vala" + if (_tmp36_) { +#line 288 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 288 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (old_tag_parent); +#line 288 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (old_tag); +#line 288 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (old_tag_path); +#line 288 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 2974 "Branch.c" + } +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp44_ = app_window_get_command_manager (); +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp45_ = _tmp44_; +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp46_ = old_tag; +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp47_ = self->priv->tag; +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp48_ = tag_get_path (_tmp47_); +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp49_ = _tmp48_; +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp50_ = reparent_tag_command_new (_tmp46_, _tmp49_); +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp51_ = _tmp50_; +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + command_manager_execute (_tmp45_, G_TYPE_CHECK_INSTANCE_CAST (_tmp51_, TYPE_COMMAND, Command)); +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (_tmp51_); +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp49_); +#line 290 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _command_manager_unref0 (_tmp45_); +#line 293 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = TRUE; +#line 293 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (old_tag_parent); +#line 293 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (old_tag); +#line 293 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (old_tag_path); +#line 293 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 3010 "Branch.c" + } +#line 296 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = FALSE; +#line 296 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 3016 "Branch.c" +} + + +static gboolean tags_sidebar_entry_real_expand_on_select (SidebarExpandableEntry* base) { + TagsSidebarEntry * self; + gboolean result = FALSE; +#line 299 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 300 "/home/jens/Source/shotwell/src/tags/Branch.vala" + result = FALSE; +#line 300 "/home/jens/Source/shotwell/src/tags/Branch.vala" + return result; +#line 3029 "Branch.c" +} + + +static guint8* string_get_data (const gchar* self, int* result_length1) { + guint8* result; + guint8* res = NULL; + gint res_length1 = 0; + gint _res_size_ = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + guint8* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + guint8* _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 1398 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1399 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res = (guint8*) self; +#line 1399 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res_length1 = -1; +#line 1399 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _res_size_ = res_length1; +#line 1400 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = strlen (self); +#line 1400 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp0_; +#line 1400 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res_length1 = (gint) _tmp1_; +#line 1400 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = res_length1; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = res; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = res_length1; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4__length1 = _tmp3__length1; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (result_length1) { +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result_length1 = _tmp4__length1; +#line 3073 "Branch.c" + } +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1401 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 3079 "Branch.c" +} + + +static void tags_sidebar_entry_real_prepare_selection_data (SidebarInternalDragSourceEntry* base, GtkSelectionData* data) { + TagsSidebarEntry * self; + GtkSelectionData* _tmp0_ = NULL; + GdkAtom _tmp1_ = 0U; + Tag* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + guint8* _tmp5_ = NULL; + gint _tmp5__length1 = 0; + guint8* _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 303 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 303 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_return_if_fail (data != NULL); +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = data; +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp1_ = gdk_atom_intern_static_string (LIBRARY_WINDOW_TAG_PATH_MIME_TYPE); +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp2_ = self->priv->tag; +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp3_ = tag_get_path (_tmp2_); +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp4_ = _tmp3_; +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp5_ = string_get_data (_tmp4_, &_tmp5__length1); +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6_ = _tmp5_; +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp6__length1 = _tmp5__length1; +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + gtk_selection_data_set (_tmp0_, _tmp1_, 0, _tmp6_, _tmp6__length1); +#line 304 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (_tmp4_); +#line 3118 "Branch.c" +} + + +static void tags_sidebar_entry_class_init (TagsSidebarEntryClass * klass) { +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_sidebar_entry_parent_class = g_type_class_peek_parent (klass); +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + g_type_class_add_private (klass, sizeof (TagsSidebarEntryPrivate)); +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = tags_sidebar_entry_real_get_sidebar_name; +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = tags_sidebar_entry_real_get_sidebar_icon; +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + ((SidebarSimplePageEntryClass *) klass)->create_page = tags_sidebar_entry_real_create_page; +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + G_OBJECT_CLASS (klass)->finalize = tags_sidebar_entry_finalize; +#line 3135 "Branch.c" +} + + +static void tags_sidebar_entry_sidebar_renameable_entry_interface_init (SidebarRenameableEntryIface * iface) { +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_sidebar_entry_sidebar_renameable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->is_user_renameable = (gboolean (*)(SidebarRenameableEntry*)) tags_sidebar_entry_real_is_user_renameable; +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->rename = (void (*)(SidebarRenameableEntry*, const gchar*)) tags_sidebar_entry_real_rename; +#line 3146 "Branch.c" +} + + +static void tags_sidebar_entry_sidebar_destroyable_entry_interface_init (SidebarDestroyableEntryIface * iface) { +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_sidebar_entry_sidebar_destroyable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->destroy_source = (void (*)(SidebarDestroyableEntry*)) tags_sidebar_entry_real_destroy_source; +#line 3155 "Branch.c" +} + + +static void tags_sidebar_entry_sidebar_internal_drop_target_entry_interface_init (SidebarInternalDropTargetEntryIface * iface) { +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_sidebar_entry_sidebar_internal_drop_target_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->internal_drop_received = (gboolean (*)(SidebarInternalDropTargetEntry*, GeeList*)) tags_sidebar_entry_real_internal_drop_received; +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->internal_drop_received_arbitrary = (gboolean (*)(SidebarInternalDropTargetEntry*, GtkSelectionData*)) tags_sidebar_entry_real_internal_drop_received_arbitrary; +#line 3166 "Branch.c" +} + + +static void tags_sidebar_entry_sidebar_expandable_entry_interface_init (SidebarExpandableEntryIface * iface) { +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_sidebar_entry_sidebar_expandable_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->expand_on_select = (gboolean (*)(SidebarExpandableEntry*)) tags_sidebar_entry_real_expand_on_select; +#line 3175 "Branch.c" +} + + +static void tags_sidebar_entry_sidebar_internal_drag_source_entry_interface_init (SidebarInternalDragSourceEntryIface * iface) { +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + tags_sidebar_entry_sidebar_internal_drag_source_entry_parent_iface = g_type_interface_peek_parent (iface); +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + iface->prepare_selection_data = (void (*)(SidebarInternalDragSourceEntry*, GtkSelectionData*)) tags_sidebar_entry_real_prepare_selection_data; +#line 3184 "Branch.c" +} + + +static void tags_sidebar_entry_instance_init (TagsSidebarEntry * self) { + gchar* _tmp0_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv = TAGS_SIDEBAR_ENTRY_GET_PRIVATE (self); +#line 206 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _tmp0_ = g_strdup (RESOURCES_ICON_ONE_TAG); +#line 206 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self->priv->single_tag_icon = _tmp0_; +#line 3196 "Branch.c" +} + + +static void tags_sidebar_entry_finalize (GObject* obj) { + TagsSidebarEntry * self; +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TAGS_TYPE_SIDEBAR_ENTRY, TagsSidebarEntry); +#line 206 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_free0 (self->priv->single_tag_icon); +#line 208 "/home/jens/Source/shotwell/src/tags/Branch.vala" + _g_object_unref0 (self->priv->tag); +#line 203 "/home/jens/Source/shotwell/src/tags/Branch.vala" + G_OBJECT_CLASS (tags_sidebar_entry_parent_class)->finalize (obj); +#line 3210 "Branch.c" +} + + +GType tags_sidebar_entry_get_type (void) { + static volatile gsize tags_sidebar_entry_type_id__volatile = 0; + if (g_once_init_enter (&tags_sidebar_entry_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagsSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tags_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagsSidebarEntry), 0, (GInstanceInitFunc) tags_sidebar_entry_instance_init, NULL }; + static const GInterfaceInfo sidebar_renameable_entry_info = { (GInterfaceInitFunc) tags_sidebar_entry_sidebar_renameable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_destroyable_entry_info = { (GInterfaceInitFunc) tags_sidebar_entry_sidebar_destroyable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_internal_drop_target_entry_info = { (GInterfaceInitFunc) tags_sidebar_entry_sidebar_internal_drop_target_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_expandable_entry_info = { (GInterfaceInitFunc) tags_sidebar_entry_sidebar_expandable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo sidebar_internal_drag_source_entry_info = { (GInterfaceInitFunc) tags_sidebar_entry_sidebar_internal_drag_source_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + GType tags_sidebar_entry_type_id; + tags_sidebar_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "TagsSidebarEntry", &g_define_type_info, 0); + g_type_add_interface_static (tags_sidebar_entry_type_id, SIDEBAR_TYPE_RENAMEABLE_ENTRY, &sidebar_renameable_entry_info); + g_type_add_interface_static (tags_sidebar_entry_type_id, SIDEBAR_TYPE_DESTROYABLE_ENTRY, &sidebar_destroyable_entry_info); + g_type_add_interface_static (tags_sidebar_entry_type_id, SIDEBAR_TYPE_INTERNAL_DROP_TARGET_ENTRY, &sidebar_internal_drop_target_entry_info); + g_type_add_interface_static (tags_sidebar_entry_type_id, SIDEBAR_TYPE_EXPANDABLE_ENTRY, &sidebar_expandable_entry_info); + g_type_add_interface_static (tags_sidebar_entry_type_id, SIDEBAR_TYPE_INTERNAL_DRAG_SOURCE_ENTRY, &sidebar_internal_drag_source_entry_info); + g_once_init_leave (&tags_sidebar_entry_type_id__volatile, tags_sidebar_entry_type_id); + } + return tags_sidebar_entry_type_id__volatile; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/tags/HierarchicalTagIndex.c b/src/tags/HierarchicalTagIndex.c new file mode 100644 index 0000000..d77738d --- /dev/null +++ b/src/tags/HierarchicalTagIndex.c @@ -0,0 +1,1039 @@ +/* HierarchicalTagIndex.c generated by valac 0.32.1, the Vala compiler + * generated from HierarchicalTagIndex.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; +typedef struct _HierarchicalTagIndexPrivate HierarchicalTagIndexPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_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_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; +typedef struct _ParamSpecHierarchicalTagIndex ParamSpecHierarchicalTagIndex; + +struct _HierarchicalTagIndex { + GTypeInstance parent_instance; + volatile int ref_count; + HierarchicalTagIndexPrivate * priv; +}; + +struct _HierarchicalTagIndexClass { + GTypeClass parent_class; + void (*finalize) (HierarchicalTagIndex *self); +}; + +struct _HierarchicalTagIndexPrivate { + GeeMap* tag_table; + GeeSortedSet* known_paths; +}; + +struct _ParamSpecHierarchicalTagIndex { + GParamSpec parent_instance; +}; + + +static gpointer hierarchical_tag_index_parent_class = NULL; +extern TagSourceCollection* tag_global; + +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +#define HIERARCHICAL_TAG_INDEX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexPrivate)) +enum { + HIERARCHICAL_TAG_INDEX_DUMMY_PROPERTY +}; +HierarchicalTagIndex* hierarchical_tag_index_new (void); +HierarchicalTagIndex* hierarchical_tag_index_construct (GType object_type); +HierarchicalTagIndex* hierarchical_tag_index_from_paths (GeeCollection* client_paths); +#define TAG_PATH_SEPARATOR_STRING "/" +GeeList* hierarchical_tag_utilities_enumerate_path_components (const gchar* in_path); +void hierarchical_tag_index_add_path (HierarchicalTagIndex* self, const gchar* tag, const gchar* path); +HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +GeeCollection* tag_source_collection_get_all_names (TagSourceCollection* self); +GeeCollection* hierarchical_tag_index_get_all_paths (HierarchicalTagIndex* self); +gboolean hierarchical_tag_index_is_tag_in_index (HierarchicalTagIndex* self, const gchar* tag); +GeeCollection* hierarchical_tag_index_get_all_tags (HierarchicalTagIndex* self); +gboolean hierarchical_tag_index_is_path_known (HierarchicalTagIndex* self, const gchar* path); +gchar* hierarchical_tag_index_get_path_for_name (HierarchicalTagIndex* self, const gchar* name); +gchar** hierarchical_tag_index_get_paths_for_names_array (HierarchicalTagIndex* self, gchar** names, int names_length1, int* result_length1); +static void _vala_array_add140 (gchar*** array, int* length, int* size, gchar* value); +static void hierarchical_tag_index_finalize (HierarchicalTagIndex* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + +HierarchicalTagIndex* hierarchical_tag_index_construct (GType object_type) { + HierarchicalTagIndex* self = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeTreeSet* _tmp1_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + self = (HierarchicalTagIndex*) g_type_create_instance (object_type); +#line 12 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, GEE_TYPE_ARRAY_LIST, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 12 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (self->priv->tag_table); +#line 12 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + self->priv->tag_table = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap); +#line 13 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 13 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (self->priv->known_paths); +#line 13 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + self->priv->known_paths = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_SORTED_SET, GeeSortedSet); +#line 11 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return self; +#line 170 "HierarchicalTagIndex.c" +} + + +HierarchicalTagIndex* hierarchical_tag_index_new (void) { +#line 11 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return hierarchical_tag_index_construct (TYPE_HIERARCHICAL_TAG_INDEX); +#line 177 "HierarchicalTagIndex.c" +} + + +HierarchicalTagIndex* hierarchical_tag_index_from_paths (GeeCollection* client_paths) { + HierarchicalTagIndex* result = NULL; + GeeCollection* paths = NULL; + GeeCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + HierarchicalTagIndex* _result_ = NULL; + HierarchicalTagIndex* _tmp3_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (client_paths), NULL); +#line 17 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = client_paths; +#line 17 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = gee_collection_get_read_only_view (_tmp0_); +#line 17 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = _tmp1_; +#line 17 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + paths = _tmp2_; +#line 19 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp3_ = hierarchical_tag_index_new (); +#line 19 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _result_ = _tmp3_; +#line 203 "HierarchicalTagIndex.c" + { + GeeIterator* _path_it = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp4_ = paths; +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _path_it = _tmp5_; +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + while (TRUE) { +#line 216 "HierarchicalTagIndex.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; + gboolean _tmp11_ = FALSE; +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp6_ = _path_it; +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (!_tmp7_) { +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + break; +#line 232 "HierarchicalTagIndex.c" + } +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp8_ = _path_it; +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + path = (gchar*) _tmp9_; +#line 22 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp10_ = path; +#line 22 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp11_ = g_str_has_prefix (_tmp10_, TAG_PATH_SEPARATOR_STRING); +#line 22 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (_tmp11_) { +#line 246 "HierarchicalTagIndex.c" + GeeCollection* components = NULL; + const gchar* _tmp12_ = NULL; + GeeList* _tmp13_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp12_ = path; +#line 23 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp13_ = hierarchical_tag_utilities_enumerate_path_components (_tmp12_); +#line 23 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + components = G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_COLLECTION, GeeCollection); +#line 256 "HierarchicalTagIndex.c" + { + GeeIterator* _component_it = NULL; + GeeCollection* _tmp14_ = NULL; + GeeIterator* _tmp15_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp14_ = components; +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp15_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _component_it = _tmp15_; +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + while (TRUE) { +#line 269 "HierarchicalTagIndex.c" + GeeIterator* _tmp16_ = NULL; + gboolean _tmp17_ = FALSE; + gchar* component = NULL; + GeeIterator* _tmp18_ = NULL; + gpointer _tmp19_ = NULL; + HierarchicalTagIndex* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp16_ = _component_it; +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp17_ = gee_iterator_next (_tmp16_); +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (!_tmp17_) { +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + break; +#line 286 "HierarchicalTagIndex.c" + } +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp18_ = _component_it; +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp19_ = gee_iterator_get (_tmp18_); +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + component = (gchar*) _tmp19_; +#line 27 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp20_ = _result_; +#line 27 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp21_ = component; +#line 27 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp22_ = path; +#line 27 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + hierarchical_tag_index_add_path (_tmp20_, _tmp21_, _tmp22_); +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_free0 (component); +#line 304 "HierarchicalTagIndex.c" + } +#line 26 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (_component_it); +#line 308 "HierarchicalTagIndex.c" + } +#line 22 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (components); +#line 312 "HierarchicalTagIndex.c" + } else { + HierarchicalTagIndex* _tmp23_ = NULL; + const gchar* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; +#line 29 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp23_ = _result_; +#line 29 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp24_ = path; +#line 29 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp25_ = path; +#line 29 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + hierarchical_tag_index_add_path (_tmp23_, _tmp24_, _tmp25_); +#line 325 "HierarchicalTagIndex.c" + } +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_free0 (path); +#line 329 "HierarchicalTagIndex.c" + } +#line 21 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (_path_it); +#line 333 "HierarchicalTagIndex.c" + } +#line 33 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = _result_; +#line 33 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (paths); +#line 33 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 341 "HierarchicalTagIndex.c" +} + + +HierarchicalTagIndex* hierarchical_tag_index_get_global_index (void) { + HierarchicalTagIndex* result = NULL; + TagSourceCollection* _tmp0_ = NULL; + GeeCollection* _tmp1_ = NULL; + GeeCollection* _tmp2_ = NULL; + HierarchicalTagIndex* _tmp3_ = NULL; + HierarchicalTagIndex* _tmp4_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = tag_global; +#line 37 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = tag_source_collection_get_all_names (_tmp0_); +#line 37 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = _tmp1_; +#line 37 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp3_ = hierarchical_tag_index_from_paths (_tmp2_); +#line 37 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp4_ = _tmp3_; +#line 37 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (_tmp2_); +#line 37 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = _tmp4_; +#line 37 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 368 "HierarchicalTagIndex.c" +} + + +void hierarchical_tag_index_add_path (HierarchicalTagIndex* self, const gchar* tag, const gchar* path) { + GeeMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + GeeMap* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + GeeSortedSet* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; +#line 40 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (IS_HIERARCHICAL_TAG_INDEX (self)); +#line 40 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (tag != NULL); +#line 40 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (path != NULL); +#line 41 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = self->priv->tag_table; +#line 41 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = tag; +#line 41 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = gee_map_has_key (_tmp0_, _tmp1_); +#line 41 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (!_tmp2_) { +#line 397 "HierarchicalTagIndex.c" + GeeMap* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + GeeArrayList* _tmp5_ = NULL; + GeeArrayList* _tmp6_ = NULL; +#line 42 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp3_ = self->priv->tag_table; +#line 42 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp4_ = tag; +#line 42 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp5_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 42 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp6_ = _tmp5_; +#line 42 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + gee_map_set (_tmp3_, _tmp4_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 42 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (_tmp6_); +#line 414 "HierarchicalTagIndex.c" + } +#line 45 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp7_ = self->priv->tag_table; +#line 45 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp8_ = tag; +#line 45 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp9_ = gee_map_get (_tmp7_, _tmp8_); +#line 45 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp10_ = (GeeCollection*) _tmp9_; +#line 45 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp11_ = path; +#line 45 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + gee_collection_add (_tmp10_, _tmp11_); +#line 45 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (_tmp10_); +#line 46 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp12_ = self->priv->known_paths; +#line 46 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp13_ = path; +#line 46 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), _tmp13_); +#line 436 "HierarchicalTagIndex.c" +} + + +GeeCollection* hierarchical_tag_index_get_all_paths (HierarchicalTagIndex* self) { + GeeCollection* result = NULL; + GeeSortedSet* _tmp0_ = NULL; + GeeSortedSet* _tmp1_ = NULL; + GeeSortedSet* _tmp2_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (IS_HIERARCHICAL_TAG_INDEX (self), NULL); +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = self->priv->known_paths; +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = gee_sorted_set_get_read_only_view (_tmp0_); +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = _tmp1_; +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 457 "HierarchicalTagIndex.c" +} + + +gboolean hierarchical_tag_index_is_tag_in_index (HierarchicalTagIndex* self, const gchar* tag) { + gboolean result = FALSE; + GeeMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 53 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (IS_HIERARCHICAL_TAG_INDEX (self), FALSE); +#line 53 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (tag != NULL, FALSE); +#line 54 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = self->priv->tag_table; +#line 54 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = tag; +#line 54 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = gee_map_has_key (_tmp0_, _tmp1_); +#line 54 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = _tmp2_; +#line 54 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 480 "HierarchicalTagIndex.c" +} + + +GeeCollection* hierarchical_tag_index_get_all_tags (HierarchicalTagIndex* self) { + GeeCollection* result = NULL; + GeeMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; +#line 57 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (IS_HIERARCHICAL_TAG_INDEX (self), NULL); +#line 58 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = self->priv->tag_table; +#line 58 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = gee_map_get_keys (_tmp0_); +#line 58 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = _tmp1_; +#line 58 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection); +#line 58 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 501 "HierarchicalTagIndex.c" +} + + +gboolean hierarchical_tag_index_is_path_known (HierarchicalTagIndex* self, const gchar* path) { + gboolean result = FALSE; + GeeSortedSet* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 61 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (IS_HIERARCHICAL_TAG_INDEX (self), FALSE); +#line 61 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (path != NULL, FALSE); +#line 62 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = self->priv->known_paths; +#line 62 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = path; +#line 62 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection), _tmp1_); +#line 62 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = _tmp2_; +#line 62 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 524 "HierarchicalTagIndex.c" +} + + +gchar* hierarchical_tag_index_get_path_for_name (HierarchicalTagIndex* self, const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + GeeCollection* paths = NULL; + GeeMap* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (IS_HIERARCHICAL_TAG_INDEX (self), NULL); +#line 65 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 66 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = name; +#line 66 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = hierarchical_tag_index_is_tag_in_index (self, _tmp0_); +#line 66 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (!_tmp1_) { +#line 546 "HierarchicalTagIndex.c" + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 67 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = name; +#line 67 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 67 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = _tmp3_; +#line 67 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 557 "HierarchicalTagIndex.c" + } +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp4_ = self->priv->tag_table; +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp5_ = name; +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp6_ = gee_map_get (_tmp4_, _tmp5_); +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + paths = (GeeCollection*) _tmp6_; +#line 567 "HierarchicalTagIndex.c" + { + GeeIterator* _path_it = NULL; + GeeCollection* _tmp7_ = NULL; + GeeIterator* _tmp8_ = NULL; +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp7_ = paths; +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp8_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _path_it = _tmp8_; +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + while (TRUE) { +#line 580 "HierarchicalTagIndex.c" + GeeIterator* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gchar* path = NULL; + GeeIterator* _tmp11_ = NULL; + gpointer _tmp12_ = NULL; + GeeList* components = NULL; + const gchar* _tmp13_ = NULL; + GeeList* _tmp14_ = NULL; + GeeList* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + gpointer _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp9_ = _path_it; +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp10_ = gee_iterator_next (_tmp9_); +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (!_tmp10_) { +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + break; +#line 605 "HierarchicalTagIndex.c" + } +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp11_ = _path_it; +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp12_ = gee_iterator_get (_tmp11_); +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + path = (gchar*) _tmp12_; +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp13_ = path; +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp14_ = hierarchical_tag_utilities_enumerate_path_components (_tmp13_); +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + components = _tmp14_; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp15_ = components; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp16_ = components; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp17_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp18_ = _tmp17_; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp19_ = gee_list_get (_tmp15_, _tmp18_ - 1); +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp20_ = (gchar*) _tmp19_; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp21_ = name; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp22_ = g_strcmp0 (_tmp20_, _tmp21_) == 0; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_free0 (_tmp20_); +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (_tmp22_) { +#line 73 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = path; +#line 73 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (components); +#line 73 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (_path_it); +#line 73 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (paths); +#line 73 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 649 "HierarchicalTagIndex.c" + } +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (components); +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_free0 (path); +#line 655 "HierarchicalTagIndex.c" + } +#line 70 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (_path_it); +#line 659 "HierarchicalTagIndex.c" + } +#line 77 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_assert_not_reached (); +#line 65 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (paths); +#line 665 "HierarchicalTagIndex.c" +} + + +static void _vala_array_add140 (gchar*** array, int* length, int* size, gchar* value) { +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if ((*length) == (*size)) { +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + *array = g_renew (gchar*, *array, (*size) + 1); +#line 676 "HierarchicalTagIndex.c" + } +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + (*array)[(*length)++] = value; +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + (*array)[*length] = NULL; +#line 682 "HierarchicalTagIndex.c" +} + + +gchar** hierarchical_tag_index_get_paths_for_names_array (HierarchicalTagIndex* self, gchar** names, int names_length1, int* result_length1) { + gchar** result = NULL; + gchar** _result_ = NULL; + gchar** _tmp0_ = NULL; + gint _result__length1 = 0; + gint __result__size_ = 0; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 80 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (IS_HIERARCHICAL_TAG_INDEX (self), NULL); +#line 81 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp0_ = g_new0 (gchar*, 0 + 1); +#line 81 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _result_ = _tmp0_; +#line 81 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _result__length1 = 0; +#line 81 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + __result__size_ = _result__length1; +#line 83 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1_ = names; +#line 83 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp1__length1 = names_length1; +#line 710 "HierarchicalTagIndex.c" + { + gchar** name_collection = NULL; + gint name_collection_length1 = 0; + gint _name_collection_size_ = 0; + gint name_it = 0; +#line 83 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + name_collection = _tmp1_; +#line 83 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + name_collection_length1 = _tmp1__length1; +#line 83 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + for (name_it = 0; name_it < _tmp1__length1; name_it = name_it + 1) { +#line 722 "HierarchicalTagIndex.c" + gchar* _tmp2_ = NULL; + gchar* name = NULL; +#line 83 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp2_ = g_strdup (name_collection[name_it]); +#line 83 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + name = _tmp2_; +#line 729 "HierarchicalTagIndex.c" + { + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp3_ = _result_; +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp3__length1 = _result__length1; +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp4_ = name; +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp5_ = hierarchical_tag_index_get_path_for_name (self, _tmp4_); +#line 84 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _vala_array_add140 (&_result_, &_result__length1, &__result__size_, _tmp5_); +#line 83 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_free0 (name); +#line 747 "HierarchicalTagIndex.c" + } + } + } +#line 86 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp6_ = _result_; +#line 86 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _tmp6__length1 = _result__length1; +#line 86 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (result_length1) { +#line 86 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + *result_length1 = _tmp6__length1; +#line 759 "HierarchicalTagIndex.c" + } +#line 86 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + result = _tmp6_; +#line 86 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return result; +#line 765 "HierarchicalTagIndex.c" +} + + +static void value_hierarchical_tag_index_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + value->data[0].v_pointer = NULL; +#line 772 "HierarchicalTagIndex.c" +} + + +static void value_hierarchical_tag_index_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + hierarchical_tag_index_unref (value->data[0].v_pointer); +#line 781 "HierarchicalTagIndex.c" + } +} + + +static void value_hierarchical_tag_index_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + dest_value->data[0].v_pointer = hierarchical_tag_index_ref (src_value->data[0].v_pointer); +#line 791 "HierarchicalTagIndex.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + dest_value->data[0].v_pointer = NULL; +#line 795 "HierarchicalTagIndex.c" + } +} + + +static gpointer value_hierarchical_tag_index_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return value->data[0].v_pointer; +#line 803 "HierarchicalTagIndex.c" +} + + +static gchar* value_hierarchical_tag_index_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (collect_values[0].v_pointer) { +#line 810 "HierarchicalTagIndex.c" + HierarchicalTagIndex* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 817 "HierarchicalTagIndex.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 821 "HierarchicalTagIndex.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + value->data[0].v_pointer = hierarchical_tag_index_ref (object); +#line 825 "HierarchicalTagIndex.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + value->data[0].v_pointer = NULL; +#line 829 "HierarchicalTagIndex.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return NULL; +#line 833 "HierarchicalTagIndex.c" +} + + +static gchar* value_hierarchical_tag_index_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + HierarchicalTagIndex** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 844 "HierarchicalTagIndex.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + *object_p = NULL; +#line 850 "HierarchicalTagIndex.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + *object_p = value->data[0].v_pointer; +#line 854 "HierarchicalTagIndex.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + *object_p = hierarchical_tag_index_ref (value->data[0].v_pointer); +#line 858 "HierarchicalTagIndex.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return NULL; +#line 862 "HierarchicalTagIndex.c" +} + + +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecHierarchicalTagIndex* spec; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_HIERARCHICAL_TAG_INDEX), NULL); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return G_PARAM_SPEC (spec); +#line 876 "HierarchicalTagIndex.c" +} + + +gpointer value_get_hierarchical_tag_index (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_TAG_INDEX), NULL); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return value->data[0].v_pointer; +#line 885 "HierarchicalTagIndex.c" +} + + +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object) { + HierarchicalTagIndex* old; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_TAG_INDEX)); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HIERARCHICAL_TAG_INDEX)); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + hierarchical_tag_index_ref (value->data[0].v_pointer); +#line 905 "HierarchicalTagIndex.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + value->data[0].v_pointer = NULL; +#line 909 "HierarchicalTagIndex.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + hierarchical_tag_index_unref (old); +#line 915 "HierarchicalTagIndex.c" + } +} + + +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object) { + HierarchicalTagIndex* old; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_TAG_INDEX)); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HIERARCHICAL_TAG_INDEX)); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + value->data[0].v_pointer = v_object; +#line 934 "HierarchicalTagIndex.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + value->data[0].v_pointer = NULL; +#line 938 "HierarchicalTagIndex.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + hierarchical_tag_index_unref (old); +#line 944 "HierarchicalTagIndex.c" + } +} + + +static void hierarchical_tag_index_class_init (HierarchicalTagIndexClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + hierarchical_tag_index_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + ((HierarchicalTagIndexClass *) klass)->finalize = hierarchical_tag_index_finalize; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_type_class_add_private (klass, sizeof (HierarchicalTagIndexPrivate)); +#line 956 "HierarchicalTagIndex.c" +} + + +static void hierarchical_tag_index_instance_init (HierarchicalTagIndex * self) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + self->priv = HIERARCHICAL_TAG_INDEX_GET_PRIVATE (self); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + self->ref_count = 1; +#line 965 "HierarchicalTagIndex.c" +} + + +static void hierarchical_tag_index_finalize (HierarchicalTagIndex* obj) { + HierarchicalTagIndex * self; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_signal_handlers_destroy (self); +#line 8 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (self->priv->tag_table); +#line 9 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + _g_object_unref0 (self->priv->known_paths); +#line 979 "HierarchicalTagIndex.c" +} + + +GType hierarchical_tag_index_get_type (void) { + static volatile gsize hierarchical_tag_index_type_id__volatile = 0; + if (g_once_init_enter (&hierarchical_tag_index_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_hierarchical_tag_index_init, value_hierarchical_tag_index_free_value, value_hierarchical_tag_index_copy_value, value_hierarchical_tag_index_peek_pointer, "p", value_hierarchical_tag_index_collect_value, "p", value_hierarchical_tag_index_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (HierarchicalTagIndexClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hierarchical_tag_index_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HierarchicalTagIndex), 0, (GInstanceInitFunc) hierarchical_tag_index_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType hierarchical_tag_index_type_id; + hierarchical_tag_index_type_id = g_type_register_fundamental (g_type_fundamental_next (), "HierarchicalTagIndex", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&hierarchical_tag_index_type_id__volatile, hierarchical_tag_index_type_id); + } + return hierarchical_tag_index_type_id__volatile; +} + + +gpointer hierarchical_tag_index_ref (gpointer instance) { + HierarchicalTagIndex* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + return instance; +#line 1004 "HierarchicalTagIndex.c" +} + + +void hierarchical_tag_index_unref (gpointer instance) { + HierarchicalTagIndex* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + HIERARCHICAL_TAG_INDEX_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagIndex.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1017 "HierarchicalTagIndex.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + diff --git a/src/tags/HierarchicalTagUtilities.c b/src/tags/HierarchicalTagUtilities.c new file mode 100644 index 0000000..827d497 --- /dev/null +++ b/src/tags/HierarchicalTagUtilities.c @@ -0,0 +1,2356 @@ +/* HierarchicalTagUtilities.c generated by valac 0.32.1, the Vala compiler + * generated from HierarchicalTagUtilities.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include + + +#define TYPE_HIERARCHICAL_TAG_UTILITIES (hierarchical_tag_utilities_get_type ()) +#define HIERARCHICAL_TAG_UTILITIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_UTILITIES, HierarchicalTagUtilities)) +#define HIERARCHICAL_TAG_UTILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_UTILITIES, HierarchicalTagUtilitiesClass)) +#define IS_HIERARCHICAL_TAG_UTILITIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_UTILITIES)) +#define IS_HIERARCHICAL_TAG_UTILITIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_UTILITIES)) +#define HIERARCHICAL_TAG_UTILITIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_UTILITIES, HierarchicalTagUtilitiesClass)) + +typedef struct _HierarchicalTagUtilities HierarchicalTagUtilities; +typedef struct _HierarchicalTagUtilitiesClass HierarchicalTagUtilitiesClass; +typedef struct _HierarchicalTagUtilitiesPrivate HierarchicalTagUtilitiesPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_HIERARCHICAL_TAG_INDEX (hierarchical_tag_index_get_type ()) +#define HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndex)) +#define HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) +#define IS_HIERARCHICAL_TAG_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_HIERARCHICAL_TAG_INDEX)) +#define IS_HIERARCHICAL_TAG_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_HIERARCHICAL_TAG_INDEX)) +#define HIERARCHICAL_TAG_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_HIERARCHICAL_TAG_INDEX, HierarchicalTagIndexClass)) + +typedef struct _HierarchicalTagIndex HierarchicalTagIndex; +typedef struct _HierarchicalTagIndexClass HierarchicalTagIndexClass; +#define _hierarchical_tag_index_unref0(var) ((var == NULL) ? NULL : (var = (hierarchical_tag_index_unref (var), NULL))) + +#define TYPE_DATA_COLLECTION (data_collection_get_type ()) +#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection)) +#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass)) +#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION)) +#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION)) +#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass)) + +typedef struct _DataCollection DataCollection; +typedef struct _DataCollectionClass DataCollectionClass; + +#define TYPE_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_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_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_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_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; +typedef struct _ParamSpecHierarchicalTagUtilities ParamSpecHierarchicalTagUtilities; +#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 _HierarchicalTagUtilities { + GTypeInstance parent_instance; + volatile int ref_count; + HierarchicalTagUtilitiesPrivate * priv; +}; + +struct _HierarchicalTagUtilitiesClass { + GTypeClass parent_class; + void (*finalize) (HierarchicalTagUtilities *self); +}; + +struct _ParamSpecHierarchicalTagUtilities { + GParamSpec parent_instance; +}; + + +static gpointer hierarchical_tag_utilities_parent_class = NULL; +extern TagSourceCollection* tag_global; + +gpointer hierarchical_tag_utilities_ref (gpointer instance); +void hierarchical_tag_utilities_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_utilities (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_utilities (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_utilities (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_utilities (const GValue* value); +GType hierarchical_tag_utilities_get_type (void) G_GNUC_CONST; +enum { + HIERARCHICAL_TAG_UTILITIES_DUMMY_PROPERTY +}; +gchar* hierarchical_tag_utilities_flat_to_hierarchical (const gchar* name); +#define TAG_PATH_SEPARATOR_STRING "/" +gchar* hierarchical_tag_utilities_hierarchical_to_flat (const gchar* path); +GeeList* hierarchical_tag_utilities_enumerate_path_components (const gchar* in_path); +GeeList* hierarchical_tag_utilities_enumerate_parent_paths (const gchar* in_path); +gchar* hierarchical_tag_utilities_join_path_components (gchar** path_components, int path_components_length1); +gchar* hierarchical_tag_utilities_get_basename (const gchar* in_path); +gchar* hierarchical_tag_utilities_canonicalize (const gchar* in_tag, const gchar* foreign_separator); +gchar* hierarchical_tag_utilities_make_flat_tag_safe (const gchar* in_tag); +gpointer hierarchical_tag_index_ref (gpointer instance); +void hierarchical_tag_index_unref (gpointer instance); +GParamSpec* param_spec_hierarchical_tag_index (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_hierarchical_tag_index (GValue* value, gpointer v_object); +void value_take_hierarchical_tag_index (GValue* value, gpointer v_object); +gpointer value_get_hierarchical_tag_index (const GValue* value); +GType hierarchical_tag_index_get_type (void) G_GNUC_CONST; +HierarchicalTagIndex* hierarchical_tag_utilities_process_hierarchical_import_keywords (GeeCollection* h_keywords); +HierarchicalTagIndex* hierarchical_tag_index_new (void); +HierarchicalTagIndex* hierarchical_tag_index_construct (GType object_type); +gboolean hierarchical_tag_index_is_path_known (HierarchicalTagIndex* self, const gchar* path); +void hierarchical_tag_index_add_path (HierarchicalTagIndex* self, const gchar* tag, const gchar* path); +gchar* hierarchical_tag_utilities_get_root_path_form (const gchar* client_path); +gpointer data_collection_ref (gpointer instance); +void data_collection_unref (gpointer instance); +GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_data_collection (GValue* value, gpointer v_object); +void value_take_data_collection (GValue* value, gpointer v_object); +gpointer value_get_data_collection (const GValue* value); +GType data_collection_get_type (void) G_GNUC_CONST; +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +gboolean tag_source_collection_exists (TagSourceCollection* self, const gchar* name, gboolean treat_htags_as_root); +void hierarchical_tag_utilities_cleanup_root_path (const gchar* path); +GType data_object_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType tag_get_type (void) G_GNUC_CONST; +Tag* tag_for_path (const gchar* name); +GeeList* tag_get_hierarchical_children (Tag* self); +void tag_flatten (Tag* self); +HierarchicalTagUtilities* hierarchical_tag_utilities_new (void); +HierarchicalTagUtilities* hierarchical_tag_utilities_construct (GType object_type); +static void hierarchical_tag_utilities_finalize (HierarchicalTagUtilities* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); + + +/** + * converts a flat tag name 'name' (e.g., "Animals") to a tag path compatible with the + * hierarchical tag data model (e.g., "/Animals"). if 'name' is already a path compatible with + * the hierarchical data model, 'name' is returned untouched + */ +gchar* hierarchical_tag_utilities_flat_to_hierarchical (const gchar* name) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 14 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 15 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = name; +#line 15 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = g_str_has_prefix (_tmp0_, TAG_PATH_SEPARATOR_STRING); +#line 15 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!_tmp1_) { +#line 225 "HierarchicalTagUtilities.c" + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 16 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = name; +#line 16 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp2_, NULL); +#line 16 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp3_; +#line 16 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 236 "HierarchicalTagUtilities.c" + } else { + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 18 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = name; +#line 18 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 18 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp5_; +#line 18 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 248 "HierarchicalTagUtilities.c" + } +} + + +/** + * converts a hierarchical tag path 'path' (e.g., "/Animals") to a flat tag name + * (e.g., "Animals"); if 'path' is already a flat tag name, 'path' is returned untouched; note + * that 'path' must be a top-level path (i.e., "/Animals" not "/Animals/Mammals/...") with + * only one path component; invoking this method with a 'path' argument other than a top-level + * path will cause an assertion failure. + */ +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 279 "HierarchicalTagUtilities.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 287 "HierarchicalTagUtilities.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 299 "HierarchicalTagUtilities.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 323 "HierarchicalTagUtilities.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 329 "HierarchicalTagUtilities.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 333 "HierarchicalTagUtilities.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 337 "HierarchicalTagUtilities.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 349 "HierarchicalTagUtilities.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 359 "HierarchicalTagUtilities.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 365 "HierarchicalTagUtilities.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 379 "HierarchicalTagUtilities.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 389 "HierarchicalTagUtilities.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 395 "HierarchicalTagUtilities.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 404 "HierarchicalTagUtilities.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 424 "HierarchicalTagUtilities.c" +} + + +gchar* hierarchical_tag_utilities_hierarchical_to_flat (const gchar* path) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 28 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 29 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = path; +#line 29 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = g_str_has_prefix (_tmp0_, TAG_PATH_SEPARATOR_STRING); +#line 29 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp1_) { +#line 440 "HierarchicalTagUtilities.c" + const gchar* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + GeeList* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = path; +#line 30 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = hierarchical_tag_utilities_enumerate_path_components (_tmp2_); +#line 30 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = _tmp3_; +#line 30 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 30 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_ = _tmp5_; +#line 30 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _vala_assert (_tmp6_ == 1, "enumerate_path_components(path).size == 1"); +#line 30 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (_tmp4_); +#line 32 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = path; +#line 32 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp8_ = string_substring (_tmp7_, (glong) 1, (glong) -1); +#line 32 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp8_; +#line 32 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 470 "HierarchicalTagUtilities.c" + } else { + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 34 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp9_ = path; +#line 34 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 34 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp10_; +#line 34 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 482 "HierarchicalTagUtilities.c" + } +} + + +/** + * given a path 'path', generate all parent paths of 'path' and return them in sorted order, + * from most basic to most derived. For example, if 'path' == "/Animals/Mammals/Elephant", + * the list { "/Animals", "/Animals/Mammals" } is returned + */ +GeeList* hierarchical_tag_utilities_enumerate_parent_paths (const gchar* in_path) { + GeeList* result = NULL; + gchar* path = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GeeList* _result_ = NULL; + GeeArrayList* _tmp2_ = NULL; + gchar* accumulator = NULL; + gchar* _tmp3_ = NULL; +#line 43 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (in_path != NULL, NULL); +#line 44 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = in_path; +#line 44 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp0_); +#line 44 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + path = _tmp1_; +#line 46 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 46 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _result_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_LIST, GeeList); +#line 48 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = g_strdup (""); +#line 48 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + accumulator = _tmp3_; +#line 517 "HierarchicalTagUtilities.c" + { + GeeList* _component_list = NULL; + const gchar* _tmp4_ = NULL; + GeeList* _tmp5_ = NULL; + gint _component_size = 0; + GeeList* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gint _component_index = 0; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = path; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = hierarchical_tag_utilities_enumerate_path_components (_tmp4_); +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _component_list = _tmp5_; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_ = _component_list; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp8_ = _tmp7_; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _component_size = _tmp8_; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _component_index = -1; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + while (TRUE) { +#line 545 "HierarchicalTagUtilities.c" + gint _tmp9_ = 0; + gint _tmp10_ = 0; + gint _tmp11_ = 0; + gchar* component = NULL; + GeeList* _tmp12_ = NULL; + gint _tmp13_ = 0; + gpointer _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + const gchar* _tmp21_ = NULL; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp9_ = _component_index; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _component_index = _tmp9_ + 1; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp10_ = _component_index; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp11_ = _component_size; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!(_tmp10_ < _tmp11_)) { +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + break; +#line 572 "HierarchicalTagUtilities.c" + } +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp12_ = _component_list; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp13_ = _component_index; +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp14_ = gee_list_get (_tmp12_, _tmp13_); +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + component = (gchar*) _tmp14_; +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp15_ = accumulator; +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp16_ = component; +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp17_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp16_, NULL); +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp18_ = _tmp17_; +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp19_ = g_strconcat (_tmp15_, _tmp18_, NULL); +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (accumulator); +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + accumulator = _tmp19_; +#line 50 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (_tmp18_); +#line 51 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp20_ = accumulator; +#line 51 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp21_ = path; +#line 51 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (g_strcmp0 (_tmp20_, _tmp21_) != 0) { +#line 604 "HierarchicalTagUtilities.c" + GeeList* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; +#line 52 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp22_ = _result_; +#line 52 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp23_ = accumulator; +#line 52 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_); +#line 613 "HierarchicalTagUtilities.c" + } +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (component); +#line 617 "HierarchicalTagUtilities.c" + } +#line 49 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (_component_list); +#line 621 "HierarchicalTagUtilities.c" + } +#line 55 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _result_; +#line 55 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (accumulator); +#line 55 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (path); +#line 55 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 631 "HierarchicalTagUtilities.c" +} + + +/** + * given a path 'path', enumerate all of the components of 'path' and return them in + * order, excluding the path component separator. For example if + * 'path' == "/Animals/Mammals/Elephant" the list { "Animals", "Mammals", "Elephant" } will + * be returned + */ +GeeList* hierarchical_tag_utilities_enumerate_path_components (const gchar* in_path) { + GeeList* result = NULL; + gchar* path = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GeeArrayList* components = NULL; + GeeArrayList* _tmp2_ = NULL; + gchar** raw_components = NULL; + const gchar* _tmp3_ = NULL; + gchar** _tmp4_ = NULL; + gchar** _tmp5_ = NULL; + gint raw_components_length1 = 0; + gint _raw_components_size_ = 0; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GeeArrayList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 64 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (in_path != NULL, NULL); +#line 65 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = in_path; +#line 65 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp0_); +#line 65 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + path = _tmp1_; +#line 67 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL); +#line 67 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + components = _tmp2_; +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = path; +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = _tmp4_ = g_strsplit (_tmp3_, TAG_PATH_SEPARATOR_STRING, 0); +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + raw_components = _tmp5_; +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + raw_components_length1 = _vala_array_length (_tmp4_); +#line 69 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _raw_components_size_ = raw_components_length1; +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_ = raw_components; +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6__length1 = raw_components_length1; +#line 685 "HierarchicalTagUtilities.c" + { + gchar** component_collection = NULL; + gint component_collection_length1 = 0; + gint _component_collection_size_ = 0; + gint component_it = 0; +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + component_collection = _tmp6_; +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + component_collection_length1 = _tmp6__length1; +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + for (component_it = 0; component_it < _tmp6__length1; component_it = component_it + 1) { +#line 697 "HierarchicalTagUtilities.c" + gchar* _tmp7_ = NULL; + gchar* component = NULL; +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = g_strdup (component_collection[component_it]); +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + component = _tmp7_; +#line 704 "HierarchicalTagUtilities.c" + { + const gchar* _tmp8_ = NULL; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp8_ = component; +#line 72 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (g_strcmp0 (_tmp8_, "") != 0) { +#line 711 "HierarchicalTagUtilities.c" + GeeArrayList* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp9_ = components; +#line 73 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp10_ = component; +#line 73 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_); +#line 720 "HierarchicalTagUtilities.c" + } +#line 71 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (component); +#line 724 "HierarchicalTagUtilities.c" + } + } + } +#line 76 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp11_ = components; +#line 76 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp12_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 76 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp13_ = _tmp12_; +#line 76 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _vala_assert (_tmp13_ > 0, "components.size > 0"); +#line 78 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (components, GEE_TYPE_LIST, GeeList); +#line 78 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + raw_components = (_vala_array_free (raw_components, raw_components_length1, (GDestroyNotify) g_free), NULL); +#line 78 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (path); +#line 78 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 744 "HierarchicalTagUtilities.c" +} + + +/** + * given a list of path elements, create a fully qualified path string. + * For example if 'path_elements' is the list { "Animals", "Mammals", "Elephant" } + * the path "/Animals/Mammals/Elephant" will be returned + */ +static gchar* _vala_g_strjoinv (const gchar* separator, gchar** str_array, int str_array_length1) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gchar** _tmp3_ = NULL; + gint _tmp3__length1 = 0; +#line 1054 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = separator; +#line 1054 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_ == NULL) { +#line 1055 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + separator = ""; +#line 766 "HierarchicalTagUtilities.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = str_array; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = str_array_length1; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = TRUE; +#line 776 "HierarchicalTagUtilities.c" + } else { + gchar** _tmp4_ = NULL; + gint _tmp4__length1 = 0; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = str_array; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4__length1 = str_array_length1; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp4__length1 > 0; +#line 786 "HierarchicalTagUtilities.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp2_) { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = TRUE; +#line 792 "HierarchicalTagUtilities.c" + } else { + gboolean _tmp5_ = FALSE; + gchar** _tmp6_ = NULL; + gint _tmp6__length1 = 0; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str_array; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6__length1 = str_array_length1; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp6__length1 == -1) { +#line 803 "HierarchicalTagUtilities.c" + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = str_array; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7__length1 = str_array_length1; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = _tmp7_[0]; +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_ != NULL; +#line 815 "HierarchicalTagUtilities.c" + } else { +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = FALSE; +#line 819 "HierarchicalTagUtilities.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp5_; +#line 823 "HierarchicalTagUtilities.c" + } +#line 1057 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_) { +#line 827 "HierarchicalTagUtilities.c" + gint i = 0; + gsize len = 0UL; + gint _tmp31_ = 0; + gint _tmp33_ = 0; + gint _tmp34_ = 0; + gsize _tmp35_ = 0UL; + const gchar* _tmp36_ = NULL; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + const gchar* res = NULL; + gsize _tmp40_ = 0UL; + void* _tmp41_ = NULL; + void* ptr = NULL; + const gchar* _tmp42_ = NULL; + gchar** _tmp43_ = NULL; + gint _tmp43__length1 = 0; + const gchar* _tmp44_ = NULL; + void* _tmp45_ = NULL; + const gchar* _tmp62_ = NULL; +#line 1059 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = (gsize) 1; +#line 850 "HierarchicalTagUtilities.c" + { + gboolean _tmp9_ = FALSE; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + i = 0; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = TRUE; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + while (TRUE) { +#line 859 "HierarchicalTagUtilities.c" + gboolean _tmp11_ = FALSE; + gboolean _tmp12_ = FALSE; + gchar** _tmp13_ = NULL; + gint _tmp13__length1 = 0; + gint _tmp21_ = 0; + gchar** _tmp22_ = NULL; + gint _tmp22__length1 = 0; + gint _tmp23_ = 0; + const gchar* _tmp24_ = NULL; + gsize _tmp30_ = 0UL; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (!_tmp9_) { +#line 872 "HierarchicalTagUtilities.c" + gint _tmp10_ = 0; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = i; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + i = _tmp10_ + 1; +#line 878 "HierarchicalTagUtilities.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = FALSE; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = str_array; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13__length1 = str_array_length1; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp13__length1 != -1) { +#line 888 "HierarchicalTagUtilities.c" + gint _tmp14_ = 0; + gchar** _tmp15_ = NULL; + gint _tmp15__length1 = 0; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = i; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = str_array; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15__length1 = str_array_length1; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = _tmp14_ < _tmp15__length1; +#line 900 "HierarchicalTagUtilities.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 904 "HierarchicalTagUtilities.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp12_) { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = TRUE; +#line 910 "HierarchicalTagUtilities.c" + } else { + gboolean _tmp16_ = FALSE; + gchar** _tmp17_ = NULL; + gint _tmp17__length1 = 0; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = str_array; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17__length1 = str_array_length1; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp17__length1 == -1) { +#line 921 "HierarchicalTagUtilities.c" + gchar** _tmp18_ = NULL; + gint _tmp18__length1 = 0; + gint _tmp19_ = 0; + const gchar* _tmp20_ = NULL; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = str_array; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18__length1 = str_array_length1; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = i; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = _tmp18_[_tmp19_]; +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = _tmp20_ != NULL; +#line 936 "HierarchicalTagUtilities.c" + } else { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = FALSE; +#line 940 "HierarchicalTagUtilities.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = _tmp16_; +#line 944 "HierarchicalTagUtilities.c" + } +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (!_tmp11_) { +#line 1060 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + break; +#line 950 "HierarchicalTagUtilities.c" + } +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = str_array; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22__length1 = str_array_length1; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp23_ = i; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp24_ = _tmp22_[_tmp23_]; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp24_ != NULL) { +#line 962 "HierarchicalTagUtilities.c" + gchar** _tmp25_ = NULL; + gint _tmp25__length1 = 0; + gint _tmp26_ = 0; + const gchar* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp25_ = str_array; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp25__length1 = str_array_length1; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp26_ = i; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp27_ = _tmp25_[_tmp26_]; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp28_ = strlen ((const gchar*) _tmp27_); +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp29_ = _tmp28_; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = _tmp29_; +#line 983 "HierarchicalTagUtilities.c" + } else { +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = 0; +#line 987 "HierarchicalTagUtilities.c" + } +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp30_ = len; +#line 1061 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp30_ + _tmp21_; +#line 993 "HierarchicalTagUtilities.c" + } + } +#line 1063 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp31_ = i; +#line 1063 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp31_ == 0) { +#line 1000 "HierarchicalTagUtilities.c" + gchar* _tmp32_ = NULL; +#line 1064 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp32_ = g_strdup (""); +#line 1064 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp32_; +#line 1064 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1008 "HierarchicalTagUtilities.c" + } +#line 1066 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp33_ = i; +#line 1066 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + str_array_length1 = _tmp33_; +#line 1066 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp34_ = str_array_length1; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp35_ = len; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp36_ = separator; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp37_ = strlen ((const gchar*) _tmp36_); +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp38_ = _tmp37_; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp39_ = i; +#line 1067 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp35_ + (_tmp38_ * (_tmp39_ - 1)); +#line 1069 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp40_ = len; +#line 1069 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp41_ = g_malloc (_tmp40_); +#line 1069 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res = _tmp41_; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp42_ = res; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp43_ = str_array; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp43__length1 = str_array_length1; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp44_ = _tmp43_[0]; +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp45_ = g_stpcpy ((void*) _tmp42_, (const gchar*) _tmp44_); +#line 1070 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + ptr = _tmp45_; +#line 1046 "HierarchicalTagUtilities.c" + { + gboolean _tmp46_ = FALSE; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + i = 1; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp46_ = TRUE; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + while (TRUE) { +#line 1055 "HierarchicalTagUtilities.c" + gint _tmp48_ = 0; + gchar** _tmp49_ = NULL; + gint _tmp49__length1 = 0; + void* _tmp50_ = NULL; + const gchar* _tmp51_ = NULL; + void* _tmp52_ = NULL; + const gchar* _tmp53_ = NULL; + gchar** _tmp54_ = NULL; + gint _tmp54__length1 = 0; + gint _tmp55_ = 0; + const gchar* _tmp56_ = NULL; + void* _tmp60_ = NULL; + void* _tmp61_ = NULL; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (!_tmp46_) { +#line 1071 "HierarchicalTagUtilities.c" + gint _tmp47_ = 0; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp47_ = i; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + i = _tmp47_ + 1; +#line 1077 "HierarchicalTagUtilities.c" + } +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp46_ = FALSE; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp48_ = i; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp49_ = str_array; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp49__length1 = str_array_length1; +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (!(_tmp48_ < _tmp49__length1)) { +#line 1071 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + break; +#line 1091 "HierarchicalTagUtilities.c" + } +#line 1072 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp50_ = ptr; +#line 1072 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp51_ = separator; +#line 1072 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp52_ = g_stpcpy (_tmp50_, (const gchar*) _tmp51_); +#line 1072 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + ptr = _tmp52_; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp54_ = str_array; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp54__length1 = str_array_length1; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp55_ = i; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp56_ = _tmp54_[_tmp55_]; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp56_ != NULL) { +#line 1111 "HierarchicalTagUtilities.c" + gchar** _tmp57_ = NULL; + gint _tmp57__length1 = 0; + gint _tmp58_ = 0; + const gchar* _tmp59_ = NULL; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp57_ = str_array; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp57__length1 = str_array_length1; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp58_ = i; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp59_ = _tmp57_[_tmp58_]; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = (const gchar*) _tmp59_; +#line 1126 "HierarchicalTagUtilities.c" + } else { +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp53_ = ""; +#line 1130 "HierarchicalTagUtilities.c" + } +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp60_ = ptr; +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp61_ = g_stpcpy (_tmp60_, _tmp53_); +#line 1073 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + ptr = _tmp61_; +#line 1138 "HierarchicalTagUtilities.c" + } + } +#line 1076 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp62_ = res; +#line 1076 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + res = NULL; +#line 1076 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gchar*) _tmp62_; +#line 1076 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1149 "HierarchicalTagUtilities.c" + } else { + gchar* _tmp63_ = NULL; +#line 1078 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp63_ = g_strdup (""); +#line 1078 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp63_; +#line 1078 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1158 "HierarchicalTagUtilities.c" + } +} + + +gchar* hierarchical_tag_utilities_join_path_components (gchar** path_components, int path_components_length1) { + gchar* result = NULL; + gchar** _tmp0_ = NULL; + gint _tmp0__length1 = 0; + gchar* tmp = NULL; + gchar** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar** _tmp6_ = NULL; + gchar** _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = path_components; +#line 87 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0__length1 = path_components_length1; +#line 87 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp0__length1 <= 0) { +#line 88 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = NULL; +#line 88 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1189 "HierarchicalTagUtilities.c" + } +#line 89 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = path_components; +#line 89 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1__length1 = path_components_length1; +#line 89 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = _vala_g_strjoinv (TAG_PATH_SEPARATOR_STRING, _tmp1_, _tmp1__length1); +#line 89 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + tmp = _tmp2_; +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = g_strdup (""); +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = tmp; +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_ = g_new0 (gchar*, 2 + 1); +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_[0] = _tmp3_; +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_[1] = _tmp5_; +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = _tmp6_; +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7__length1 = 2; +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp8_ = _vala_g_strjoinv (TAG_PATH_SEPARATOR_STRING, _tmp7_, 2); +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp9_ = _tmp8_; +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL); +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp9_; +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (tmp); +#line 90 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1227 "HierarchicalTagUtilities.c" +} + + +gchar* hierarchical_tag_utilities_get_basename (const gchar* in_path) { + gchar* result = NULL; + gchar* path = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GeeList* components = NULL; + GeeList* _tmp2_ = NULL; + gchar* basename = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gpointer _tmp5_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (in_path != NULL, NULL); +#line 94 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = in_path; +#line 94 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp0_); +#line 94 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + path = _tmp1_; +#line 96 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = hierarchical_tag_utilities_enumerate_path_components (path); +#line 96 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + components = _tmp2_; +#line 98 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (components, GEE_TYPE_COLLECTION, GeeCollection)); +#line 98 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = _tmp3_; +#line 98 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = gee_list_get (components, _tmp4_ - 1); +#line 98 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + basename = (gchar*) _tmp5_; +#line 100 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = basename; +#line 100 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (components); +#line 100 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (path); +#line 100 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1270 "HierarchicalTagUtilities.c" +} + + +static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) { + gchar* result = NULL; + GError * _inner_error_ = NULL; +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (old != NULL, NULL); +#line 1380 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (replacement != NULL, NULL); +#line 1283 "HierarchicalTagUtilities.c" + { + GRegex* regex = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + GRegex* _tmp3_ = NULL; + GRegex* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + GRegex* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = old; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_regex_escape_string (_tmp0_, -1); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _tmp1_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_regex_new (_tmp2_, 0, 0, &_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp2_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + regex = _tmp4_; +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1314 "HierarchicalTagUtilities.c" + goto __catch53_g_regex_error; + } +#line 1382 "/usr/share/vala-0.32/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 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1382 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1323 "HierarchicalTagUtilities.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = regex; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = replacement; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = g_regex_replace_literal (_tmp6_, self, (gssize) -1, 0, _tmp7_, 0, &_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = _tmp8_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_inner_error_->domain == G_REGEX_ERROR) { +#line 1339 "HierarchicalTagUtilities.c" + goto __catch53_g_regex_error; + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/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 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1350 "HierarchicalTagUtilities.c" + } +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = _tmp5_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = NULL; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp9_; +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_free0 (_tmp5_); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_regex_unref0 (regex); +#line 1383 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1364 "HierarchicalTagUtilities.c" + } + goto __finally53; + __catch53_g_regex_error: + { + GError* e = NULL; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + e = _inner_error_; +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _inner_error_ = NULL; +#line 1385 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_assert_not_reached (); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _g_error_free0 (e); +#line 1378 "HierarchicalTagUtilities.c" + } + __finally53: +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1381 "/usr/share/vala-0.32/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 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_clear_error (&_inner_error_); +#line 1381 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return NULL; +#line 1389 "HierarchicalTagUtilities.c" + } +} + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1408 "HierarchicalTagUtilities.c" +} + + +gchar* hierarchical_tag_utilities_canonicalize (const gchar* in_tag, const gchar* foreign_separator) { + gchar* result = NULL; + gchar* _result_ = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gboolean is_valid = FALSE; + const gchar* _tmp17_ = NULL; + gboolean _tmp18_ = FALSE; + gchar* _tmp20_ = NULL; +#line 103 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (in_tag != NULL, NULL); +#line 103 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (foreign_separator != NULL, NULL); +#line 104 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = in_tag; +#line 104 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = foreign_separator; +#line 104 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = string_replace (_tmp0_, _tmp1_, TAG_PATH_SEPARATOR_STRING); +#line 104 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _result_ = _tmp2_; +#line 106 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = _result_; +#line 106 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = g_str_has_prefix (_tmp3_, TAG_PATH_SEPARATOR_STRING); +#line 106 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!_tmp4_) { +#line 1442 "HierarchicalTagUtilities.c" + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 107 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = _result_; +#line 107 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp5_, NULL); +#line 107 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (_result_); +#line 107 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _result_ = _tmp6_; +#line 1453 "HierarchicalTagUtilities.c" + } +#line 110 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + is_valid = FALSE; +#line 1457 "HierarchicalTagUtilities.c" + { + gint i = 0; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + i = 0; +#line 1462 "HierarchicalTagUtilities.c" + { + gboolean _tmp7_ = FALSE; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = TRUE; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + while (TRUE) { +#line 1469 "HierarchicalTagUtilities.c" + gint _tmp9_ = 0; + const gchar* _tmp10_ = NULL; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + const gchar* _tmp13_ = NULL; + gint _tmp14_ = 0; + gchar _tmp15_ = '\0'; + gchar _tmp16_ = '\0'; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!_tmp7_) { +#line 1480 "HierarchicalTagUtilities.c" + gint _tmp8_ = 0; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp8_ = i; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + i = _tmp8_ + 1; +#line 1486 "HierarchicalTagUtilities.c" + } +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = FALSE; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp9_ = i; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp10_ = _result_; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp11_ = strlen (_tmp10_); +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp12_ = _tmp11_; +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!(_tmp9_ < _tmp12_)) { +#line 111 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + break; +#line 1502 "HierarchicalTagUtilities.c" + } +#line 112 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp13_ = _result_; +#line 112 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp14_ = i; +#line 112 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp15_ = string_get (_tmp13_, (glong) _tmp14_); +#line 112 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp16_ = string_get (TAG_PATH_SEPARATOR_STRING, (glong) 0); +#line 112 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp15_ != _tmp16_) { +#line 113 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + is_valid = TRUE; +#line 114 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + break; +#line 1518 "HierarchicalTagUtilities.c" + } + } + } + } +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp18_ = is_valid; +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp18_) { +#line 1527 "HierarchicalTagUtilities.c" + const gchar* _tmp19_ = NULL; +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp19_ = _result_; +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp17_ = _tmp19_; +#line 1533 "HierarchicalTagUtilities.c" + } else { +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp17_ = NULL; +#line 1537 "HierarchicalTagUtilities.c" + } +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp20_ = g_strdup (_tmp17_); +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp20_; +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (_result_); +#line 118 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1547 "HierarchicalTagUtilities.c" +} + + +gchar* hierarchical_tag_utilities_make_flat_tag_safe (const gchar* in_tag) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 121 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (in_tag != NULL, NULL); +#line 122 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = in_tag; +#line 122 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = string_replace (_tmp0_, TAG_PATH_SEPARATOR_STRING, "-"); +#line 122 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp1_; +#line 122 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1565 "HierarchicalTagUtilities.c" +} + + +HierarchicalTagIndex* hierarchical_tag_utilities_process_hierarchical_import_keywords (GeeCollection* h_keywords) { + HierarchicalTagIndex* result = NULL; + HierarchicalTagIndex* index = NULL; + HierarchicalTagIndex* _tmp0_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (h_keywords), NULL); +#line 126 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = hierarchical_tag_index_new (); +#line 126 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + index = _tmp0_; +#line 1579 "HierarchicalTagUtilities.c" + { + GeeIterator* _keyword_it = NULL; + GeeCollection* _tmp1_ = NULL; + GeeIterator* _tmp2_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = h_keywords; +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _keyword_it = _tmp2_; +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + while (TRUE) { +#line 1592 "HierarchicalTagUtilities.c" + GeeIterator* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; + gchar* keyword = NULL; + GeeIterator* _tmp5_ = NULL; + gpointer _tmp6_ = NULL; + GeeList* parent_paths = NULL; + const gchar* _tmp7_ = NULL; + GeeList* _tmp8_ = NULL; + GeeList* path_components = NULL; + const gchar* _tmp9_ = NULL; + GeeList* _tmp10_ = NULL; + GeeList* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + GeeList* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint _tmp16_ = 0; + HierarchicalTagIndex* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; + gchar* _tmp41_ = NULL; + gchar* _tmp42_ = NULL; + const gchar* _tmp43_ = NULL; +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = _keyword_it; +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = gee_iterator_next (_tmp3_); +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!_tmp4_) { +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + break; +#line 1623 "HierarchicalTagUtilities.c" + } +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = _keyword_it; +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_ = gee_iterator_get (_tmp5_); +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + keyword = (gchar*) _tmp6_; +#line 129 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = keyword; +#line 129 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp8_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp7_); +#line 129 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + parent_paths = _tmp8_; +#line 131 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp9_ = keyword; +#line 131 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp10_ = hierarchical_tag_utilities_enumerate_path_components (_tmp9_); +#line 131 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + path_components = _tmp10_; +#line 134 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp11_ = parent_paths; +#line 134 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 134 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp13_ = _tmp12_; +#line 134 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp14_ = path_components; +#line 134 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 134 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp16_ = _tmp15_; +#line 134 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _vala_assert (_tmp13_ <= _tmp16_, "parent_paths.size <= path_components.size"); +#line 1657 "HierarchicalTagUtilities.c" + { + gint i = 0; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + i = 0; +#line 1662 "HierarchicalTagUtilities.c" + { + gboolean _tmp17_ = FALSE; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp17_ = TRUE; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + while (TRUE) { +#line 1669 "HierarchicalTagUtilities.c" + gint _tmp19_ = 0; + GeeList* _tmp20_ = NULL; + gint _tmp21_ = 0; + gint _tmp22_ = 0; + HierarchicalTagIndex* _tmp23_ = NULL; + GeeList* _tmp24_ = NULL; + gint _tmp25_ = 0; + gpointer _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gboolean _tmp28_ = FALSE; + gboolean _tmp29_ = FALSE; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!_tmp17_) { +#line 1683 "HierarchicalTagUtilities.c" + gint _tmp18_ = 0; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp18_ = i; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + i = _tmp18_ + 1; +#line 1689 "HierarchicalTagUtilities.c" + } +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp17_ = FALSE; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp19_ = i; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp20_ = parent_paths; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp21_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp22_ = _tmp21_; +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!(_tmp19_ < _tmp22_)) { +#line 136 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + break; +#line 1705 "HierarchicalTagUtilities.c" + } +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp23_ = index; +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp24_ = path_components; +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp25_ = i; +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp26_ = gee_list_get (_tmp24_, _tmp25_); +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp27_ = (gchar*) _tmp26_; +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp28_ = hierarchical_tag_index_is_path_known (_tmp23_, _tmp27_); +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp29_ = !_tmp28_; +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (_tmp27_); +#line 137 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp29_) { +#line 1725 "HierarchicalTagUtilities.c" + HierarchicalTagIndex* _tmp30_ = NULL; + GeeList* _tmp31_ = NULL; + gint _tmp32_ = 0; + gpointer _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + GeeList* _tmp35_ = NULL; + gint _tmp36_ = 0; + gpointer _tmp37_ = NULL; + gchar* _tmp38_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp30_ = index; +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp31_ = path_components; +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp32_ = i; +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp33_ = gee_list_get (_tmp31_, _tmp32_); +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp34_ = (gchar*) _tmp33_; +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp35_ = parent_paths; +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp36_ = i; +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp37_ = gee_list_get (_tmp35_, _tmp36_); +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp38_ = (gchar*) _tmp37_; +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + hierarchical_tag_index_add_path (_tmp30_, _tmp34_, _tmp38_); +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (_tmp38_); +#line 138 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (_tmp34_); +#line 1759 "HierarchicalTagUtilities.c" + } + } + } + } +#line 141 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp39_ = index; +#line 141 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp40_ = keyword; +#line 141 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp41_ = hierarchical_tag_utilities_get_basename (_tmp40_); +#line 141 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp42_ = _tmp41_; +#line 141 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp43_ = keyword; +#line 141 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + hierarchical_tag_index_add_path (_tmp39_, _tmp42_, _tmp43_); +#line 141 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (_tmp42_); +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (path_components); +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (parent_paths); +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (keyword); +#line 1784 "HierarchicalTagUtilities.c" + } +#line 128 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (_keyword_it); +#line 1788 "HierarchicalTagUtilities.c" + } +#line 144 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = index; +#line 144 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1794 "HierarchicalTagUtilities.c" +} + + +gchar* hierarchical_tag_utilities_get_root_path_form (const gchar* client_path) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + GeeList* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + gboolean _tmp6_ = FALSE; + gchar* path = NULL; + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; + TagSourceCollection* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gboolean _tmp13_ = FALSE; + const gchar* _tmp20_ = NULL; + TagSourceCollection* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gboolean _tmp23_ = FALSE; + gchar* _tmp25_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = client_path; +#line 148 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp0_ == NULL) { +#line 149 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = NULL; +#line 149 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1826 "HierarchicalTagUtilities.c" + } +#line 151 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = client_path; +#line 151 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp1_); +#line 151 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = _tmp2_; +#line 151 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 151 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = _tmp4_; +#line 151 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_ = _tmp5_ != 0; +#line 151 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (_tmp3_); +#line 151 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp6_) { +#line 1844 "HierarchicalTagUtilities.c" + const gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = client_path; +#line 152 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp8_ = g_strdup (_tmp7_); +#line 152 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp8_; +#line 152 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1855 "HierarchicalTagUtilities.c" + } +#line 154 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp9_ = client_path; +#line 154 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp10_ = g_strdup (_tmp9_); +#line 154 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + path = _tmp10_; +#line 156 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp11_ = tag_global; +#line 156 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp12_ = path; +#line 156 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp13_ = tag_source_collection_exists (_tmp11_, _tmp12_, FALSE); +#line 156 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!_tmp13_) { +#line 1871 "HierarchicalTagUtilities.c" + const gchar* _tmp14_ = NULL; + gboolean _tmp15_ = FALSE; +#line 157 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp14_ = path; +#line 157 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp15_ = g_str_has_prefix (_tmp14_, TAG_PATH_SEPARATOR_STRING); +#line 157 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp15_) { +#line 1880 "HierarchicalTagUtilities.c" + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp16_ = path; +#line 158 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp17_ = hierarchical_tag_utilities_hierarchical_to_flat (_tmp16_); +#line 158 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (path); +#line 158 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + path = _tmp17_; +#line 1891 "HierarchicalTagUtilities.c" + } else { + const gchar* _tmp18_ = NULL; + gchar* _tmp19_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp18_ = path; +#line 160 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp19_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp18_); +#line 160 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (path); +#line 160 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + path = _tmp19_; +#line 1903 "HierarchicalTagUtilities.c" + } + } +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp21_ = tag_global; +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp22_ = path; +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp23_ = tag_source_collection_exists (_tmp21_, _tmp22_, FALSE); +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp23_) { +#line 1914 "HierarchicalTagUtilities.c" + const gchar* _tmp24_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp24_ = path; +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp20_ = _tmp24_; +#line 1920 "HierarchicalTagUtilities.c" + } else { +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp20_ = NULL; +#line 1924 "HierarchicalTagUtilities.c" + } +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp25_ = g_strdup (_tmp20_); +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + result = _tmp25_; +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (path); +#line 163 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return result; +#line 1934 "HierarchicalTagUtilities.c" +} + + +void hierarchical_tag_utilities_cleanup_root_path (const gchar* path) { + GeeList* paths = NULL; + const gchar* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; + GeeList* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; +#line 166 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_if_fail (path != NULL); +#line 167 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp0_ = path; +#line 167 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp1_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp0_); +#line 167 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + paths = _tmp1_; +#line 169 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp2_ = paths; +#line 169 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 169 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp4_ = _tmp3_; +#line 169 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp4_ == 0) { +#line 1961 "HierarchicalTagUtilities.c" + gchar* actual_path = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; + Tag* t = NULL; + TagSourceCollection* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + gboolean _tmp13_ = FALSE; + Tag* _tmp14_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp5_ = path; +#line 170 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp6_ = hierarchical_tag_utilities_get_root_path_form (_tmp5_); +#line 170 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + actual_path = _tmp6_; +#line 172 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp7_ = actual_path; +#line 172 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp7_ == NULL) { +#line 173 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (actual_path); +#line 173 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (paths); +#line 173 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return; +#line 1988 "HierarchicalTagUtilities.c" + } +#line 175 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + t = NULL; +#line 176 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp8_ = tag_global; +#line 176 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp9_ = actual_path; +#line 176 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp10_ = tag_source_collection_exists (_tmp8_, _tmp9_, FALSE); +#line 176 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp10_) { +#line 2000 "HierarchicalTagUtilities.c" + const gchar* _tmp11_ = NULL; + Tag* _tmp12_ = NULL; +#line 177 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp11_ = actual_path; +#line 177 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp12_ = tag_for_path (_tmp11_); +#line 177 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (t); +#line 177 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + t = _tmp12_; +#line 2011 "HierarchicalTagUtilities.c" + } +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp14_ = t; +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp14_ != NULL) { +#line 2017 "HierarchicalTagUtilities.c" + Tag* _tmp15_ = NULL; + GeeList* _tmp16_ = NULL; + GeeList* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp15_ = t; +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp16_ = tag_get_hierarchical_children (_tmp15_); +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp17_ = _tmp16_; +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp19_ = _tmp18_; +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp13_ = _tmp19_ == 0; +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (_tmp17_); +#line 2037 "HierarchicalTagUtilities.c" + } else { +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp13_ = FALSE; +#line 2041 "HierarchicalTagUtilities.c" + } +#line 179 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (_tmp13_) { +#line 2045 "HierarchicalTagUtilities.c" + Tag* _tmp20_ = NULL; +#line 180 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _tmp20_ = t; +#line 180 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + tag_flatten (_tmp20_); +#line 2051 "HierarchicalTagUtilities.c" + } +#line 169 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (t); +#line 169 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_free0 (actual_path); +#line 2057 "HierarchicalTagUtilities.c" + } +#line 166 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + _g_object_unref0 (paths); +#line 2061 "HierarchicalTagUtilities.c" +} + + +HierarchicalTagUtilities* hierarchical_tag_utilities_construct (GType object_type) { + HierarchicalTagUtilities* self = NULL; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + self = (HierarchicalTagUtilities*) g_type_create_instance (object_type); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return self; +#line 2071 "HierarchicalTagUtilities.c" +} + + +HierarchicalTagUtilities* hierarchical_tag_utilities_new (void) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return hierarchical_tag_utilities_construct (TYPE_HIERARCHICAL_TAG_UTILITIES); +#line 2078 "HierarchicalTagUtilities.c" +} + + +static void value_hierarchical_tag_utilities_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + value->data[0].v_pointer = NULL; +#line 2085 "HierarchicalTagUtilities.c" +} + + +static void value_hierarchical_tag_utilities_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + hierarchical_tag_utilities_unref (value->data[0].v_pointer); +#line 2094 "HierarchicalTagUtilities.c" + } +} + + +static void value_hierarchical_tag_utilities_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + dest_value->data[0].v_pointer = hierarchical_tag_utilities_ref (src_value->data[0].v_pointer); +#line 2104 "HierarchicalTagUtilities.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + dest_value->data[0].v_pointer = NULL; +#line 2108 "HierarchicalTagUtilities.c" + } +} + + +static gpointer value_hierarchical_tag_utilities_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return value->data[0].v_pointer; +#line 2116 "HierarchicalTagUtilities.c" +} + + +static gchar* value_hierarchical_tag_utilities_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (collect_values[0].v_pointer) { +#line 2123 "HierarchicalTagUtilities.c" + HierarchicalTagUtilities* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2130 "HierarchicalTagUtilities.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2134 "HierarchicalTagUtilities.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + value->data[0].v_pointer = hierarchical_tag_utilities_ref (object); +#line 2138 "HierarchicalTagUtilities.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + value->data[0].v_pointer = NULL; +#line 2142 "HierarchicalTagUtilities.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return NULL; +#line 2146 "HierarchicalTagUtilities.c" +} + + +static gchar* value_hierarchical_tag_utilities_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + HierarchicalTagUtilities** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2157 "HierarchicalTagUtilities.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + *object_p = NULL; +#line 2163 "HierarchicalTagUtilities.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + *object_p = value->data[0].v_pointer; +#line 2167 "HierarchicalTagUtilities.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + *object_p = hierarchical_tag_utilities_ref (value->data[0].v_pointer); +#line 2171 "HierarchicalTagUtilities.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return NULL; +#line 2175 "HierarchicalTagUtilities.c" +} + + +GParamSpec* param_spec_hierarchical_tag_utilities (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecHierarchicalTagUtilities* spec; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_HIERARCHICAL_TAG_UTILITIES), NULL); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return G_PARAM_SPEC (spec); +#line 2189 "HierarchicalTagUtilities.c" +} + + +gpointer value_get_hierarchical_tag_utilities (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_TAG_UTILITIES), NULL); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return value->data[0].v_pointer; +#line 2198 "HierarchicalTagUtilities.c" +} + + +void value_set_hierarchical_tag_utilities (GValue* value, gpointer v_object) { + HierarchicalTagUtilities* old; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_TAG_UTILITIES)); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HIERARCHICAL_TAG_UTILITIES)); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + hierarchical_tag_utilities_ref (value->data[0].v_pointer); +#line 2218 "HierarchicalTagUtilities.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + value->data[0].v_pointer = NULL; +#line 2222 "HierarchicalTagUtilities.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + hierarchical_tag_utilities_unref (old); +#line 2228 "HierarchicalTagUtilities.c" + } +} + + +void value_take_hierarchical_tag_utilities (GValue* value, gpointer v_object) { + HierarchicalTagUtilities* old; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_HIERARCHICAL_TAG_UTILITIES)); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_HIERARCHICAL_TAG_UTILITIES)); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + value->data[0].v_pointer = v_object; +#line 2247 "HierarchicalTagUtilities.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + value->data[0].v_pointer = NULL; +#line 2251 "HierarchicalTagUtilities.c" + } +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + hierarchical_tag_utilities_unref (old); +#line 2257 "HierarchicalTagUtilities.c" + } +} + + +static void hierarchical_tag_utilities_class_init (HierarchicalTagUtilitiesClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + hierarchical_tag_utilities_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + ((HierarchicalTagUtilitiesClass *) klass)->finalize = hierarchical_tag_utilities_finalize; +#line 2267 "HierarchicalTagUtilities.c" +} + + +static void hierarchical_tag_utilities_instance_init (HierarchicalTagUtilities * self) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + self->ref_count = 1; +#line 2274 "HierarchicalTagUtilities.c" +} + + +static void hierarchical_tag_utilities_finalize (HierarchicalTagUtilities* obj) { + HierarchicalTagUtilities * self; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_HIERARCHICAL_TAG_UTILITIES, HierarchicalTagUtilities); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_signal_handlers_destroy (self); +#line 2284 "HierarchicalTagUtilities.c" +} + + +GType hierarchical_tag_utilities_get_type (void) { + static volatile gsize hierarchical_tag_utilities_type_id__volatile = 0; + if (g_once_init_enter (&hierarchical_tag_utilities_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_hierarchical_tag_utilities_init, value_hierarchical_tag_utilities_free_value, value_hierarchical_tag_utilities_copy_value, value_hierarchical_tag_utilities_peek_pointer, "p", value_hierarchical_tag_utilities_collect_value, "p", value_hierarchical_tag_utilities_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (HierarchicalTagUtilitiesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) hierarchical_tag_utilities_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (HierarchicalTagUtilities), 0, (GInstanceInitFunc) hierarchical_tag_utilities_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType hierarchical_tag_utilities_type_id; + hierarchical_tag_utilities_type_id = g_type_register_fundamental (g_type_fundamental_next (), "HierarchicalTagUtilities", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&hierarchical_tag_utilities_type_id__volatile, hierarchical_tag_utilities_type_id); + } + return hierarchical_tag_utilities_type_id__volatile; +} + + +gpointer hierarchical_tag_utilities_ref (gpointer instance) { + HierarchicalTagUtilities* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + return instance; +#line 2309 "HierarchicalTagUtilities.c" +} + + +void hierarchical_tag_utilities_unref (gpointer instance) { + HierarchicalTagUtilities* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + HIERARCHICAL_TAG_UTILITIES_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/tags/HierarchicalTagUtilities.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2322 "HierarchicalTagUtilities.c" + } +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + + diff --git a/src/tags/TagPage.c b/src/tags/TagPage.c new file mode 100644 index 0000000..c85ae23 --- /dev/null +++ b/src/tags/TagPage.c @@ -0,0 +1,1635 @@ +/* TagPage.c generated by valac 0.32.1, the Vala compiler + * generated from TagPage.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#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; +typedef struct _PagePrivate PagePrivate; + +#define TYPE_PAGE_WINDOW (page_window_get_type ()) +#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow)) +#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass)) +#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW)) +#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW)) +#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass)) + +typedef struct _PageWindow PageWindow; +typedef struct _PageWindowClass PageWindowClass; + +#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ()) +#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow)) +#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) +#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW)) +#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW)) +#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass)) + +typedef struct _FullscreenWindow FullscreenWindow; +typedef struct _FullscreenWindowClass FullscreenWindowClass; + +#define TYPE_INJECTION_GROUP (injection_group_get_type ()) +#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup)) +#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass)) +#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP)) +#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP)) +#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass)) + +typedef struct _InjectionGroup InjectionGroup; +typedef struct _InjectionGroupClass InjectionGroupClass; + +#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; +typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate; + +#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_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 CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ()) + +#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ()) +typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers; + +#define TYPE_VIEW_FILTER (view_filter_get_type ()) +#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter)) +#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass)) +#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER)) +#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER)) +#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass)) + +typedef struct _ViewFilter ViewFilter; +typedef struct _ViewFilterClass ViewFilterClass; + +#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ()) +#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter)) +#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) +#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER)) +#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER)) +#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass)) + +typedef struct _SearchViewFilter SearchViewFilter; +typedef struct _SearchViewFilterClass SearchViewFilterClass; + +#define CORE_TYPE_TRACKER (core_tracker_get_type ()) +#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker)) +#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass)) +#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER)) +#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER)) +#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass)) + +typedef struct _CoreTracker CoreTracker; +typedef struct _CoreTrackerClass CoreTrackerClass; + +#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ()) +#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker)) +#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) +#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER)) +#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER)) +#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass)) + +typedef struct _CoreViewTracker CoreViewTracker; +typedef struct _CoreViewTrackerClass CoreViewTrackerClass; + +#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; +typedef struct _MediaPagePrivate MediaPagePrivate; + +#define TYPE_RATING (rating_get_type ()) + +#define TYPE_RAW_DEVELOPER (raw_developer_get_type ()) + +#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_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; +typedef struct _CollectionPagePrivate CollectionPagePrivate; + +#define TYPE_TAG_PAGE (tag_page_get_type ()) +#define TAG_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_PAGE, TagPage)) +#define TAG_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_PAGE, TagPageClass)) +#define IS_TAG_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_PAGE)) +#define IS_TAG_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_PAGE)) +#define TAG_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_PAGE, TagPageClass)) + +typedef struct _TagPage TagPage; +typedef struct _TagPageClass TagPageClass; +typedef struct _TagPagePrivate TagPagePrivate; + +#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_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_SOURCE_COLLECTION (source_collection_get_type ()) +#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection)) +#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) +#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION)) +#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION)) +#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass)) + +typedef struct _SourceCollection SourceCollection; +typedef struct _SourceCollectionClass SourceCollectionClass; + +#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ()) +#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection)) +#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) +#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION)) +#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION)) +#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass)) + +typedef struct _DatabaseSourceCollection DatabaseSourceCollection; +typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass; + +#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ()) +#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection)) +#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) +#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION)) +#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass)) + +typedef struct _ContainerSourceCollection ContainerSourceCollection; +typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass; + +#define TYPE_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_ALTERATION (alteration_get_type ()) +#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration)) +#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass)) +#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION)) +#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION)) +#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass)) + +typedef struct _Alteration Alteration; +typedef struct _AlterationClass AlterationClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) + +#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ()) +#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade)) +#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) +#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE)) +#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE)) +#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass)) + +typedef struct _ConfigurationFacade ConfigurationFacade; +typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass; + +#define CONFIG_TYPE_FACADE (config_facade_get_type ()) +#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade)) +#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass)) +#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE)) +#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE)) +#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass)) + +typedef struct _ConfigFacade ConfigFacade; +typedef struct _ConfigFacadeClass ConfigFacadeClass; + +#define TYPE_COMMAND (command_get_type ()) +#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command)) +#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass)) +#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND)) +#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND)) +#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass)) + +typedef struct _Command Command; +typedef struct _CommandClass CommandClass; + +#define TYPE_PAGE_COMMAND (page_command_get_type ()) +#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand)) +#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass)) +#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND)) +#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND)) +#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass)) + +typedef struct _PageCommand PageCommand; +typedef struct _PageCommandClass PageCommandClass; + +#define TYPE_SIMPLE_PROXYABLE_COMMAND (simple_proxyable_command_get_type ()) +#define SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommand)) +#define SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) +#define IS_SIMPLE_PROXYABLE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND)) +#define IS_SIMPLE_PROXYABLE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_PROXYABLE_COMMAND)) +#define SIMPLE_PROXYABLE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_PROXYABLE_COMMAND, SimpleProxyableCommandClass)) + +typedef struct _SimpleProxyableCommand SimpleProxyableCommand; +typedef struct _SimpleProxyableCommandClass SimpleProxyableCommandClass; + +#define TYPE_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; + +#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_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_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_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; + +#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_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; + +struct _Page { + GtkScrolledWindow parent_instance; + PagePrivate * priv; + GtkUIManager* ui; + GtkToolbar* toolbar; + gboolean in_view; +}; + +struct _PageClass { + GtkScrolledWindowClass parent_class; + void (*set_page_name) (Page* self, const gchar* page_name); + void (*set_container) (Page* self, GtkWindow* container); + void (*clear_container) (Page* self); + GtkMenuBar* (*get_menubar) (Page* self); + GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path); + GtkToolbar* (*get_toolbar) (Page* self); + GtkMenu* (*get_page_context_menu) (Page* self); + void (*switching_from) (Page* self); + void (*switched_to) (Page* self); + void (*ready) (Page* self); + void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw); + void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames); + GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1); + GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1); + void (*register_radio_actions) (Page* self, GtkActionGroup* action_group); + InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1); + void (*init_actions) (Page* self, gint selected_count, gint count); + void (*update_actions) (Page* self, gint selected_count, gint count); + gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result); + gboolean (*on_left_click) (Page* self, GdkEventButton* event); + gboolean (*on_middle_click) (Page* self, GdkEventButton* event); + gboolean (*on_right_click) (Page* self, GdkEventButton* event); + gboolean (*on_left_released) (Page* self, GdkEventButton* event); + gboolean (*on_middle_released) (Page* self, GdkEventButton* event); + gboolean (*on_right_released) (Page* self, GdkEventButton* event); + gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event); + gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_alt_released) (Page* self, GdkEventKey* event); + gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_shift_released) (Page* self, GdkEventKey* event); + gboolean (*on_super_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_super_released) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event); + gboolean (*on_app_key_released) (Page* self, GdkEventKey* event); + void (*on_move) (Page* self, GdkRectangle* rect); + void (*on_move_start) (Page* self, GdkRectangle* rect); + void (*on_move_finished) (Page* self, GdkRectangle* rect); + void (*on_resize) (Page* self, GdkRectangle* rect); + void (*on_resize_start) (Page* self, GdkRectangle* rect); + void (*on_resize_finished) (Page* self, GdkRectangle* rect); + gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect); + gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask); + gboolean (*on_leave_notify_event) (Page* self); + gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event); + gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event); + gboolean (*on_context_keypress) (Page* self); + gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event); + gboolean (*on_context_invoked) (Page* self); + void (*set_page_cursor) (Page* self, GdkCursorType cursor_type); +}; + +typedef enum { + CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD, + CHECKERBOARD_PAGE_ACTIVATOR_MOUSE +} CheckerboardPageActivator; + +struct _CheckerboardPageKeyboardModifiers { + gboolean ctrl_pressed; + gboolean alt_pressed; + gboolean shift_pressed; + gboolean super_pressed; +}; + +struct _CheckerboardPage { + Page parent_instance; + CheckerboardPagePrivate * priv; + CheckerboardItem* anchor; + CheckerboardItem* cursor; +}; + +struct _CheckerboardPageClass { + PageClass parent_class; + GtkMenu* (*get_item_context_menu) (CheckerboardPage* self); + gchar* (*get_view_empty_message) (CheckerboardPage* self); + gchar* (*get_filter_no_match_message) (CheckerboardPage* self); + void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers); + SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self); + CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self); + gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask); + void (*set_display_titles) (CheckerboardPage* self, gboolean display); + void (*set_display_comments) (CheckerboardPage* self, gboolean display); +}; + +typedef enum { + RATING_REJECTED = -1, + RATING_UNRATED = 0, + RATING_ONE = 1, + RATING_TWO = 2, + RATING_THREE = 3, + RATING_FOUR = 4, + RATING_FIVE = 5 +} Rating; + +typedef enum { + RAW_DEVELOPER_SHOTWELL = 0, + RAW_DEVELOPER_CAMERA, + RAW_DEVELOPER_EMBEDDED +} RawDeveloper; + +struct _MediaPage { + CheckerboardPage parent_instance; + MediaPagePrivate * priv; +}; + +struct _MediaPageClass { + CheckerboardPageClass parent_class; + void (*on_zoom_changed) (MediaPage* self); + void (*on_export) (MediaPage* self); + void (*on_increase_size) (MediaPage* self); + void (*on_decrease_size) (MediaPage* self); + void (*on_increase_rating) (MediaPage* self); + void (*on_decrease_rating) (MediaPage* self); + void (*on_set_rating) (MediaPage* self, Rating rating); + void (*on_rate_rejected) (MediaPage* self); + void (*on_rate_unrated) (MediaPage* self); + void (*on_rate_one) (MediaPage* self); + void (*on_rate_two) (MediaPage* self); + void (*on_rate_three) (MediaPage* self); + void (*on_rate_four) (MediaPage* self); + void (*on_rate_five) (MediaPage* self); + void (*on_move_to_trash) (MediaPage* self); + void (*on_edit_title) (MediaPage* self); + void (*on_edit_comment) (MediaPage* self); + void (*on_display_titles) (MediaPage* self, GtkAction* action); + void (*on_display_comments) (MediaPage* self, GtkAction* action); + void (*on_display_ratings) (MediaPage* self, GtkAction* action); + void (*on_display_tags) (MediaPage* self, GtkAction* action); + void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by); + void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by); + void (*on_sort_changed) (MediaPage* self); + void (*developer_changed) (MediaPage* self, RawDeveloper rd); + DataView* (*create_thumbnail) (MediaPage* self, DataSource* source); +}; + +struct _CollectionPage { + MediaPage parent_instance; + CollectionPagePrivate * priv; +}; + +struct _CollectionPageClass { + MediaPageClass parent_class; +}; + +struct _TagPage { + CollectionPage parent_instance; + TagPagePrivate * priv; +}; + +struct _TagPageClass { + CollectionPageClass parent_class; +}; + +struct _TagPagePrivate { + Tag* tag; +}; + +typedef DataView* (*CreateView) (DataSource* source, void* user_data); + +static gpointer tag_page_parent_class = NULL; +extern TagSourceCollection* tag_global; + +GType page_get_type (void) G_GNUC_CONST; +GType page_window_get_type (void) G_GNUC_CONST; +GType fullscreen_window_get_type (void) G_GNUC_CONST; +gpointer injection_group_ref (gpointer instance); +void injection_group_unref (gpointer instance); +GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_injection_group (GValue* value, gpointer v_object); +void value_take_injection_group (GValue* value, gpointer v_object); +gpointer value_get_injection_group (const GValue* value); +GType injection_group_get_type (void) G_GNUC_CONST; +GType checkerboard_page_get_type (void) G_GNUC_CONST; +GType data_object_get_type (void) G_GNUC_CONST; +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 checkerboard_page_activator_get_type (void) G_GNUC_CONST; +GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST; +CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self); +void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self); +gpointer view_filter_ref (gpointer instance); +void view_filter_unref (gpointer instance); +GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_view_filter (GValue* value, gpointer v_object); +void value_take_view_filter (GValue* value, gpointer v_object); +gpointer value_get_view_filter (const GValue* value); +GType view_filter_get_type (void) G_GNUC_CONST; +GType search_view_filter_get_type (void) G_GNUC_CONST; +gpointer core_tracker_ref (gpointer instance); +void core_tracker_unref (gpointer instance); +GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void core_value_set_tracker (GValue* value, gpointer v_object); +void core_value_take_tracker (GValue* value, gpointer v_object); +gpointer core_value_get_tracker (const GValue* value); +GType core_tracker_get_type (void) G_GNUC_CONST; +GType core_view_tracker_get_type (void) G_GNUC_CONST; +GType media_page_get_type (void) G_GNUC_CONST; +GType rating_get_type (void) G_GNUC_CONST; +GType raw_developer_get_type (void) G_GNUC_CONST; +GType data_source_get_type (void) G_GNUC_CONST; +GType collection_page_get_type (void) G_GNUC_CONST; +GType tag_page_get_type (void) G_GNUC_CONST; +GType tag_get_type (void) G_GNUC_CONST; +#define TAG_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TAG_PAGE, TagPagePrivate)) +enum { + TAG_PAGE_DUMMY_PROPERTY +}; +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); +void view_collection_halt_mirroring (ViewCollection* self); +GType source_collection_get_type (void) G_GNUC_CONST; +GType database_source_collection_get_type (void) G_GNUC_CONST; +GType container_source_collection_get_type (void) G_GNUC_CONST; +GType tag_source_collection_get_type (void) G_GNUC_CONST; +gpointer alteration_ref (gpointer instance); +void alteration_unref (gpointer instance); +GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_alteration (GValue* value, gpointer v_object); +void value_take_alteration (GValue* value, gpointer v_object); +gpointer value_get_alteration (const GValue* value); +GType alteration_get_type (void) G_GNUC_CONST; +static void tag_page_on_tags_altered (TagPage* self, GeeMap* map); +static void _tag_page_on_tags_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self); +TagPage* tag_page_new (Tag* tag); +TagPage* tag_page_construct (GType object_type, Tag* tag); +gchar* data_object_get_name (DataObject* self); +CollectionPage* collection_page_construct (GType object_type, const gchar* page_name); +void tag_mirror_sources (Tag* self, ViewCollection* view, CreateView mirroring_ctor, void* mirroring_ctor_target); +DataView* media_page_create_thumbnail (MediaPage* self, DataSource* source); +static DataView* _media_page_create_thumbnail_create_view (DataSource* source, gpointer self); +void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path); +static void tag_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames); +void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames); +Tag* tag_page_get_tag (TagPage* self); +static void tag_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by); +GType configuration_facade_get_type (void) G_GNUC_CONST; +GType config_facade_get_type (void) G_GNUC_CONST; +ConfigFacade* config_facade_get_instance (void); +void configuration_facade_get_event_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by); +static void tag_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by); +void configuration_facade_set_event_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by); +static GtkActionEntry* tag_page_real_init_collect_action_entries (Page* base, int* result_length1); +GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1); +#define TRANSLATABLE "translatable" +static void tag_page_on_delete_tag (TagPage* self); +static void _tag_page_on_delete_tag_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add134 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void tag_page_on_rename_tag (TagPage* self); +static void _tag_page_on_rename_tag_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add135 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +static void tag_page_on_remove_tag_from_photos (TagPage* self); +static void _tag_page_on_remove_tag_from_photos_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add136 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_DELETE_TAG_SIDEBAR_MENU _ ("_Delete") +static void _vala_array_add137 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_RENAME_TAG_SIDEBAR_MENU _ ("_Rename...") +static void _vala_array_add138 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +#define RESOURCES_NEW_CHILD_TAG_SIDEBAR_MENU _ ("_New") +static void tag_page_on_new_child_tag_sidebar (TagPage* self); +static void _tag_page_on_new_child_tag_sidebar_gtk_action_callback (GtkAction* action, gpointer self); +static void _vala_array_add139 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value); +void page_set_page_name (Page* self, const gchar* page_name); +void page_update_actions (Page* self, gint selected_count, gint count); +gint view_collection_get_selected_count (ViewCollection* self); +gint data_collection_get_count (DataCollection* self); +static void tag_page_real_update_actions (Page* base, gint selected_count, gint count); +void page_set_action_details (Page* self, const gchar* name, const gchar* label, const gchar* tooltip, gboolean sensitive); +gchar* resources_delete_tag_menu (const gchar* name); +gchar* tag_get_user_visible_name (Tag* self); +gchar* resources_rename_tag_menu (const gchar* name); +gchar* resources_untag_photos_menu (const gchar* name, gint count); +GType command_get_type (void) G_GNUC_CONST; +GType page_command_get_type (void) G_GNUC_CONST; +GType simple_proxyable_command_get_type (void) G_GNUC_CONST; +GType new_child_tag_command_get_type (void) G_GNUC_CONST; +NewChildTagCommand* new_child_tag_command_new (Tag* tag); +NewChildTagCommand* new_child_tag_command_construct (GType object_type, Tag* tag); +gpointer command_manager_ref (gpointer instance); +void command_manager_unref (gpointer instance); +GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_command_manager (GValue* value, gpointer v_object); +void value_take_command_manager (GValue* value, gpointer v_object); +gpointer value_get_command_manager (const GValue* value); +GType command_manager_get_type (void) G_GNUC_CONST; +CommandManager* app_window_get_command_manager (void); +void command_manager_execute (CommandManager* self, Command* command); +GType app_window_get_type (void) G_GNUC_CONST; +GType library_window_get_type (void) G_GNUC_CONST; +LibraryWindow* library_window_get_app (void); +void library_window_rename_tag_in_sidebar (LibraryWindow* self, Tag* tag); +Tag* new_child_tag_command_get_created_child (NewChildTagCommand* self); +gboolean dialogs_confirm_delete_tag (Tag* tag); +DeleteTagCommand* delete_tag_command_new (Tag* tag); +DeleteTagCommand* delete_tag_command_construct (GType object_type, Tag* tag); +GType delete_tag_command_get_type (void) G_GNUC_CONST; +CommandManager* page_get_command_manager (Page* self); +GeeList* view_collection_get_selected_sources (ViewCollection* self); +GType thumbnail_source_get_type (void) G_GNUC_CONST; +GType media_source_get_type (void) G_GNUC_CONST; +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); +GType tag_untag_photos_command_get_type (void) G_GNUC_CONST; +static void tag_page_finalize (GObject* obj); + + +static void _tag_page_on_tags_altered_data_collection_items_altered (DataCollection* _sender, GeeMap* items, gpointer self) { +#line 23 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + tag_page_on_tags_altered ((TagPage*) self, items); +#line 748 "TagPage.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 13 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + return self ? g_object_ref (self) : NULL; +#line 755 "TagPage.c" +} + + +static DataView* _media_page_create_thumbnail_create_view (DataSource* source, gpointer self) { + DataView* result; + result = media_page_create_thumbnail ((MediaPage*) self, source); +#line 16 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + return result; +#line 764 "TagPage.c" +} + + +TagPage* tag_page_construct (GType object_type, Tag* tag) { + TagPage * self = NULL; + Tag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + Tag* _tmp3_ = NULL; + Tag* _tmp4_ = NULL; + TagSourceCollection* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; +#line 10 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_val_if_fail (IS_TAG (tag), NULL); +#line 11 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = tag; +#line 11 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject)); +#line 11 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = _tmp1_; +#line 11 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self = (TagPage*) collection_page_construct (object_type, _tmp2_); +#line 11 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_free0 (_tmp2_); +#line 13 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3_ = tag; +#line 13 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 13 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (self->priv->tag); +#line 13 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self->priv->tag = _tmp4_; +#line 15 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_ = tag_global; +#line 15 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), "items-altered", (GCallback) _tag_page_on_tags_altered_data_collection_items_altered, self, 0); +#line 16 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp6_ = tag; +#line 16 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 16 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_ = _tmp7_; +#line 16 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + tag_mirror_sources (_tmp6_, _tmp8_, _media_page_create_thumbnail_create_view, G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_MEDIA_PAGE, MediaPage)); +#line 16 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _data_collection_unref0 (_tmp8_); +#line 18 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + checkerboard_page_init_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/TagsContextMenu"); +#line 10 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + return self; +#line 817 "TagPage.c" +} + + +TagPage* tag_page_new (Tag* tag) { +#line 10 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + return tag_page_construct (TYPE_TAG_PAGE, tag); +#line 824 "TagPage.c" +} + + +static void tag_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) { + TagPage * self; + GeeList* _tmp0_ = NULL; + GeeList* _tmp1_ = NULL; +#line 26 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_PAGE, TagPage); +#line 26 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_if_fail (GEE_IS_LIST (ui_filenames)); +#line 27 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = ui_filenames; +#line 27 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + PAGE_CLASS (tag_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_); +#line 28 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = ui_filenames; +#line 28 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "tags.ui"); +#line 844 "TagPage.c" +} + + +Tag* tag_page_get_tag (TagPage* self) { + Tag* result = NULL; + Tag* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_val_if_fail (IS_TAG_PAGE (self), NULL); +#line 32 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = self->priv->tag; +#line 32 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 32 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + result = _tmp1_; +#line 32 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + return result; +#line 862 "TagPage.c" +} + + +static void tag_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) { + TagPage * self; + gboolean _vala_sort_order = FALSE; + gint _vala_sort_by = 0; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 35 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_PAGE, TagPage); +#line 36 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 36 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = _tmp0_; +#line 36 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + configuration_facade_get_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_); +#line 36 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _vala_sort_order = _tmp2_; +#line 36 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _vala_sort_by = _tmp3_; +#line 36 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (_tmp1_); +#line 35 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if (sort_order) { +#line 35 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *sort_order = _vala_sort_order; +#line 892 "TagPage.c" + } +#line 35 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if (sort_by) { +#line 35 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *sort_by = _vala_sort_by; +#line 898 "TagPage.c" + } +} + + +static void tag_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) { + TagPage * self; + ConfigFacade* _tmp0_ = NULL; + ConfigFacade* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; +#line 39 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_PAGE, TagPage); +#line 40 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = config_facade_get_instance (); +#line 40 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = _tmp0_; +#line 40 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = sort_order; +#line 40 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3_ = sort_by; +#line 40 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + configuration_facade_set_event_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_); +#line 40 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (_tmp1_); +#line 923 "TagPage.c" +} + + +static void _tag_page_on_delete_tag_gtk_action_callback (GtkAction* action, gpointer self) { +#line 46 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + tag_page_on_delete_tag ((TagPage*) self); +#line 930 "TagPage.c" +} + + +static void _vala_array_add134 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 48 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if ((*length) == (*size)) { +#line 48 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 48 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 941 "TagPage.c" + } +#line 48 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + (*array)[(*length)++] = *value; +#line 945 "TagPage.c" +} + + +static void _tag_page_on_rename_tag_gtk_action_callback (GtkAction* action, gpointer self) { +#line 50 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + tag_page_on_rename_tag ((TagPage*) self); +#line 952 "TagPage.c" +} + + +static void _vala_array_add135 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 52 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if ((*length) == (*size)) { +#line 52 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 52 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 963 "TagPage.c" + } +#line 52 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + (*array)[(*length)++] = *value; +#line 967 "TagPage.c" +} + + +static void _tag_page_on_remove_tag_from_photos_gtk_action_callback (GtkAction* action, gpointer self) { +#line 54 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + tag_page_on_remove_tag_from_photos ((TagPage*) self); +#line 974 "TagPage.c" +} + + +static void _vala_array_add136 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 57 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if ((*length) == (*size)) { +#line 57 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 57 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 985 "TagPage.c" + } +#line 57 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + (*array)[(*length)++] = *value; +#line 989 "TagPage.c" +} + + +static void _vala_array_add137 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 61 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if ((*length) == (*size)) { +#line 61 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 61 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1000 "TagPage.c" + } +#line 61 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + (*array)[(*length)++] = *value; +#line 1004 "TagPage.c" +} + + +static void _vala_array_add138 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 65 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if ((*length) == (*size)) { +#line 65 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 65 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1015 "TagPage.c" + } +#line 65 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + (*array)[(*length)++] = *value; +#line 1019 "TagPage.c" +} + + +static void _tag_page_on_new_child_tag_sidebar_gtk_action_callback (GtkAction* action, gpointer self) { +#line 67 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + tag_page_on_new_child_tag_sidebar ((TagPage*) self); +#line 1026 "TagPage.c" +} + + +static void _vala_array_add139 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) { +#line 69 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if ((*length) == (*size)) { +#line 69 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 69 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *array = g_renew (GtkActionEntry, *array, *size); +#line 1037 "TagPage.c" + } +#line 69 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + (*array)[(*length)++] = *value; +#line 1041 "TagPage.c" +} + + +static GtkActionEntry* tag_page_real_init_collect_action_entries (Page* base, int* result_length1) { + TagPage * self; + GtkActionEntry* result = NULL; + GtkActionEntry* actions = NULL; + gint _tmp0_ = 0; + GtkActionEntry* _tmp1_ = NULL; + gint actions_length1 = 0; + gint _actions_size_ = 0; + GtkActionEntry delete_tag = {0}; + GtkActionEntry _tmp2_ = {0}; + GtkActionEntry* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + GtkActionEntry _tmp4_ = {0}; + GtkActionEntry rename_tag = {0}; + GtkActionEntry _tmp5_ = {0}; + GtkActionEntry* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + GtkActionEntry _tmp7_ = {0}; + GtkActionEntry remove_tag = {0}; + GtkActionEntry _tmp8_ = {0}; + GtkActionEntry* _tmp9_ = NULL; + gint _tmp9__length1 = 0; + GtkActionEntry _tmp10_ = {0}; + GtkActionEntry delete_tag_sidebar = {0}; + GtkActionEntry _tmp11_ = {0}; + GtkActionEntry* _tmp12_ = NULL; + gint _tmp12__length1 = 0; + GtkActionEntry _tmp13_ = {0}; + GtkActionEntry rename_tag_sidebar = {0}; + GtkActionEntry _tmp14_ = {0}; + GtkActionEntry* _tmp15_ = NULL; + gint _tmp15__length1 = 0; + GtkActionEntry _tmp16_ = {0}; + GtkActionEntry new_child_tag_sidebar = {0}; + GtkActionEntry _tmp17_ = {0}; + GtkActionEntry* _tmp18_ = NULL; + gint _tmp18__length1 = 0; + GtkActionEntry _tmp19_ = {0}; + GtkActionEntry* _tmp20_ = NULL; + gint _tmp20__length1 = 0; +#line 43 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_PAGE, TagPage); +#line 44 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = PAGE_CLASS (tag_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), &_tmp0_); +#line 44 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + actions = _tmp1_; +#line 44 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + actions_length1 = _tmp0_; +#line 44 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _actions_size_ = actions_length1; +#line 46 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_.name = "DeleteTag"; +#line 46 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_.stock_id = NULL; +#line 46 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_.label = TRANSLATABLE; +#line 46 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_.accelerator = NULL; +#line 46 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_.tooltip = NULL; +#line 46 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_.callback = (GCallback) _tag_page_on_delete_tag_gtk_action_callback; +#line 46 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + delete_tag = _tmp2_; +#line 48 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3_ = actions; +#line 48 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3__length1 = actions_length1; +#line 48 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp4_ = delete_tag; +#line 48 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _vala_array_add134 (&actions, &actions_length1, &_actions_size_, &_tmp4_); +#line 50 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_.name = "RenameTag"; +#line 50 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_.stock_id = NULL; +#line 50 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_.label = TRANSLATABLE; +#line 50 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_.accelerator = NULL; +#line 50 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_.tooltip = NULL; +#line 50 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_.callback = (GCallback) _tag_page_on_rename_tag_gtk_action_callback; +#line 50 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + rename_tag = _tmp5_; +#line 52 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp6_ = actions; +#line 52 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp6__length1 = actions_length1; +#line 52 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp7_ = rename_tag; +#line 52 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _vala_array_add135 (&actions, &actions_length1, &_actions_size_, &_tmp7_); +#line 54 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_.name = "RemoveTagFromPhotos"; +#line 54 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_.stock_id = NULL; +#line 54 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_.label = TRANSLATABLE; +#line 54 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_.accelerator = NULL; +#line 54 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_.tooltip = NULL; +#line 54 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_.callback = (GCallback) _tag_page_on_remove_tag_from_photos_gtk_action_callback; +#line 54 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + remove_tag = _tmp8_; +#line 57 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp9_ = actions; +#line 57 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp9__length1 = actions_length1; +#line 57 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp10_ = remove_tag; +#line 57 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _vala_array_add136 (&actions, &actions_length1, &_actions_size_, &_tmp10_); +#line 59 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_.name = "DeleteTagSidebar"; +#line 59 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_.stock_id = NULL; +#line 59 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_.label = RESOURCES_DELETE_TAG_SIDEBAR_MENU; +#line 59 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_.accelerator = NULL; +#line 59 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_.tooltip = NULL; +#line 59 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_.callback = (GCallback) _tag_page_on_delete_tag_gtk_action_callback; +#line 59 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + delete_tag_sidebar = _tmp11_; +#line 61 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp12_ = actions; +#line 61 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp12__length1 = actions_length1; +#line 61 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp13_ = delete_tag_sidebar; +#line 61 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _vala_array_add137 (&actions, &actions_length1, &_actions_size_, &_tmp13_); +#line 63 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp14_.name = "RenameTagSidebar"; +#line 63 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp14_.stock_id = NULL; +#line 63 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp14_.label = RESOURCES_RENAME_TAG_SIDEBAR_MENU; +#line 63 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp14_.accelerator = NULL; +#line 63 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp14_.tooltip = NULL; +#line 63 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp14_.callback = (GCallback) _tag_page_on_rename_tag_gtk_action_callback; +#line 63 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + rename_tag_sidebar = _tmp14_; +#line 65 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp15_ = actions; +#line 65 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp15__length1 = actions_length1; +#line 65 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp16_ = rename_tag_sidebar; +#line 65 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _vala_array_add138 (&actions, &actions_length1, &_actions_size_, &_tmp16_); +#line 67 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp17_.name = "NewChildTagSidebar"; +#line 67 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp17_.stock_id = NULL; +#line 67 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp17_.label = RESOURCES_NEW_CHILD_TAG_SIDEBAR_MENU; +#line 67 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp17_.accelerator = NULL; +#line 67 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp17_.tooltip = NULL; +#line 67 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp17_.callback = (GCallback) _tag_page_on_new_child_tag_sidebar_gtk_action_callback; +#line 67 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + new_child_tag_sidebar = _tmp17_; +#line 69 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp18_ = actions; +#line 69 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp18__length1 = actions_length1; +#line 69 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp19_ = new_child_tag_sidebar; +#line 69 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _vala_array_add139 (&actions, &actions_length1, &_actions_size_, &_tmp19_); +#line 71 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp20_ = actions; +#line 71 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp20__length1 = actions_length1; +#line 71 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if (result_length1) { +#line 71 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + *result_length1 = _tmp20__length1; +#line 1235 "TagPage.c" + } +#line 71 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + result = _tmp20_; +#line 71 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + return result; +#line 1241 "TagPage.c" +} + + +static void tag_page_on_tags_altered (TagPage* self, GeeMap* map) { + GeeMap* _tmp0_ = NULL; + Tag* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 74 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_if_fail (IS_TAG_PAGE (self)); +#line 74 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_if_fail (GEE_IS_MAP (map)); +#line 75 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = map; +#line 75 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = self->priv->tag; +#line 75 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = gee_map_has_key (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject)); +#line 75 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if (_tmp2_) { +#line 1261 "TagPage.c" + Tag* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + ViewCollection* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + gint _tmp8_ = 0; + ViewCollection* _tmp9_ = NULL; + ViewCollection* _tmp10_ = NULL; + gint _tmp11_ = 0; +#line 76 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3_ = self->priv->tag; +#line 76 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_DATA_OBJECT, DataObject)); +#line 76 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_ = _tmp4_; +#line 76 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + page_set_page_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp5_); +#line 76 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_free0 (_tmp5_); +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp6_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp7_ = _tmp6_; +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_ = view_collection_get_selected_count (_tmp7_); +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp9_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp10_ = _tmp9_; +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_COLLECTION, DataCollection)); +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + page_update_actions (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), _tmp8_, _tmp11_); +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _data_collection_unref0 (_tmp10_); +#line 77 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _data_collection_unref0 (_tmp7_); +#line 1299 "TagPage.c" + } +} + + +static void tag_page_real_update_actions (Page* base, gint selected_count, gint count) { + TagPage * self; + Tag* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + Tag* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + Tag* _tmp10_ = NULL; + gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gint _tmp16_ = 0; + gint _tmp17_ = 0; + gint _tmp18_ = 0; +#line 81 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_TAG_PAGE, TagPage); +#line 82 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = self->priv->tag; +#line 82 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = tag_get_user_visible_name (_tmp0_); +#line 82 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = _tmp1_; +#line 82 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3_ = resources_delete_tag_menu (_tmp2_); +#line 82 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp4_ = _tmp3_; +#line 82 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DeleteTag", _tmp4_, NULL, TRUE); +#line 82 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_free0 (_tmp4_); +#line 82 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_free0 (_tmp2_); +#line 87 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_ = self->priv->tag; +#line 87 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp6_ = tag_get_user_visible_name (_tmp5_); +#line 87 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp7_ = _tmp6_; +#line 87 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_ = resources_rename_tag_menu (_tmp7_); +#line 87 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp9_ = _tmp8_; +#line 87 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RenameTag", _tmp9_, NULL, TRUE); +#line 87 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_free0 (_tmp9_); +#line 87 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_free0 (_tmp7_); +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp10_ = self->priv->tag; +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_ = tag_get_user_visible_name (_tmp10_); +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp12_ = _tmp11_; +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp13_ = selected_count; +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp14_ = resources_untag_photos_menu (_tmp12_, _tmp13_); +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp15_ = _tmp14_; +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp16_ = selected_count; +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RemoveTagFromPhotos", _tmp15_, NULL, _tmp16_ > 0); +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_free0 (_tmp15_); +#line 92 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_free0 (_tmp12_); +#line 97 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp17_ = selected_count; +#line 97 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp18_ = count; +#line 97 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + PAGE_CLASS (tag_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp17_, _tmp18_); +#line 1385 "TagPage.c" +} + + +static void tag_page_on_new_child_tag_sidebar (TagPage* self) { + NewChildTagCommand* creation_command = NULL; + Tag* _tmp0_ = NULL; + NewChildTagCommand* _tmp1_ = NULL; + CommandManager* _tmp2_ = NULL; + CommandManager* _tmp3_ = NULL; + LibraryWindow* _tmp4_ = NULL; + LibraryWindow* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + Tag* _tmp7_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_if_fail (IS_TAG_PAGE (self)); +#line 101 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = self->priv->tag; +#line 101 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = new_child_tag_command_new (_tmp0_); +#line 101 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + creation_command = _tmp1_; +#line 103 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = app_window_get_command_manager (); +#line 103 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3_ = _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (creation_command, TYPE_COMMAND, Command)); +#line 103 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _command_manager_unref0 (_tmp3_); +#line 105 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp4_ = library_window_get_app (); +#line 105 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_ = _tmp4_; +#line 105 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp6_ = new_child_tag_command_get_created_child (creation_command); +#line 105 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp7_ = _tmp6_; +#line 105 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + library_window_rename_tag_in_sidebar (_tmp5_, _tmp7_); +#line 105 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (_tmp7_); +#line 105 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (_tmp5_); +#line 100 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (creation_command); +#line 1431 "TagPage.c" +} + + +static void tag_page_on_rename_tag (TagPage* self) { + LibraryWindow* _tmp0_ = NULL; + LibraryWindow* _tmp1_ = NULL; + Tag* _tmp2_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_if_fail (IS_TAG_PAGE (self)); +#line 109 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = library_window_get_app (); +#line 109 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = _tmp0_; +#line 109 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = self->priv->tag; +#line 109 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + library_window_rename_tag_in_sidebar (_tmp1_, _tmp2_); +#line 109 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (_tmp1_); +#line 1451 "TagPage.c" +} + + +static void tag_page_on_delete_tag (TagPage* self) { + Tag* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 112 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_if_fail (IS_TAG_PAGE (self)); +#line 113 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = self->priv->tag; +#line 113 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = dialogs_confirm_delete_tag (_tmp0_); +#line 113 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if (_tmp1_) { +#line 1466 "TagPage.c" + CommandManager* _tmp2_ = NULL; + CommandManager* _tmp3_ = NULL; + Tag* _tmp4_ = NULL; + DeleteTagCommand* _tmp5_ = NULL; + DeleteTagCommand* _tmp6_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = app_window_get_command_manager (); +#line 114 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3_ = _tmp2_; +#line 114 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp4_ = self->priv->tag; +#line 114 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_ = delete_tag_command_new (_tmp4_); +#line 114 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp6_ = _tmp5_; +#line 114 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_COMMAND, Command)); +#line 114 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (_tmp6_); +#line 114 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _command_manager_unref0 (_tmp3_); +#line 1488 "TagPage.c" + } +} + + +static void tag_page_on_remove_tag_from_photos (TagPage* self) { + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; +#line 117 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_return_if_fail (IS_TAG_PAGE (self)); +#line 118 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 118 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = _tmp0_; +#line 118 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = view_collection_get_selected_count (_tmp1_); +#line 118 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp3_ = _tmp2_ > 0; +#line 118 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _data_collection_unref0 (_tmp1_); +#line 118 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + if (_tmp3_) { +#line 1512 "TagPage.c" + CommandManager* _tmp4_ = NULL; + CommandManager* _tmp5_ = NULL; + Tag* _tmp6_ = NULL; + ViewCollection* _tmp7_ = NULL; + ViewCollection* _tmp8_ = NULL; + GeeList* _tmp9_ = NULL; + GeeCollection* _tmp10_ = NULL; + ViewCollection* _tmp11_ = NULL; + ViewCollection* _tmp12_ = NULL; + gint _tmp13_ = 0; + TagUntagPhotosCommand* _tmp14_ = NULL; + TagUntagPhotosCommand* _tmp15_ = NULL; +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp4_ = page_get_command_manager (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp5_ = _tmp4_; +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp6_ = self->priv->tag; +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp7_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp8_ = _tmp7_; +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp9_ = view_collection_get_selected_sources (_tmp8_); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp10_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp11_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp12_ = _tmp11_; +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp13_ = view_collection_get_selected_count (_tmp12_); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp14_ = tag_untag_photos_command_new (_tmp6_, _tmp10_, _tmp13_, FALSE); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp15_ = _tmp14_; +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + command_manager_execute (_tmp5_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_COMMAND, Command)); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (_tmp15_); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _data_collection_unref0 (_tmp12_); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (_tmp10_); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _data_collection_unref0 (_tmp8_); +#line 119 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _command_manager_unref0 (_tmp5_); +#line 1561 "TagPage.c" + } +} + + +static void tag_page_class_init (TagPageClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + tag_page_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_type_class_add_private (klass, sizeof (TagPagePrivate)); +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + ((PageClass *) klass)->init_collect_ui_filenames = tag_page_real_init_collect_ui_filenames; +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + ((MediaPageClass *) klass)->get_config_photos_sort = tag_page_real_get_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + ((MediaPageClass *) klass)->set_config_photos_sort = tag_page_real_set_config_photos_sort; +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + ((PageClass *) klass)->init_collect_action_entries = tag_page_real_init_collect_action_entries; +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + ((PageClass *) klass)->update_actions = tag_page_real_update_actions; +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + G_OBJECT_CLASS (klass)->finalize = tag_page_finalize; +#line 1583 "TagPage.c" +} + + +static void tag_page_instance_init (TagPage * self) { +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self->priv = TAG_PAGE_GET_PRIVATE (self); +#line 1590 "TagPage.c" +} + + +static void tag_page_finalize (GObject* obj) { + TagPage * self; + ViewCollection* _tmp0_ = NULL; + ViewCollection* _tmp1_ = NULL; + TagSourceCollection* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TAG_PAGE, TagPage); +#line 22 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp0_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page)); +#line 22 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp1_ = _tmp0_; +#line 22 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + view_collection_halt_mirroring (_tmp1_); +#line 22 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _data_collection_unref0 (_tmp1_); +#line 23 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _tmp2_ = tag_global; +#line 23 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_signal_parse_name ("items-altered", TYPE_DATA_COLLECTION, &_tmp3_, NULL, FALSE); +#line 23 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _tag_page_on_tags_altered_data_collection_items_altered, self); +#line 8 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + _g_object_unref0 (self->priv->tag); +#line 7 "/home/jens/Source/shotwell/src/tags/TagPage.vala" + G_OBJECT_CLASS (tag_page_parent_class)->finalize (obj); +#line 1620 "TagPage.c" +} + + +GType tag_page_get_type (void) { + static volatile gsize tag_page_type_id__volatile = 0; + if (g_once_init_enter (&tag_page_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (TagPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tag_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TagPage), 0, (GInstanceInitFunc) tag_page_instance_init, NULL }; + GType tag_page_type_id; + tag_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "TagPage", &g_define_type_info, 0); + g_once_init_leave (&tag_page_type_id__volatile, tag_page_type_id); + } + return tag_page_type_id__volatile; +} + + + diff --git a/src/tags/Tags.c b/src/tags/Tags.c new file mode 100644 index 0000000..0f14960 --- /dev/null +++ b/src/tags/Tags.c @@ -0,0 +1,36 @@ +/* Tags.c generated by valac 0.32.1, the Vala compiler + * generated from Tags.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include + + + + +void tags_init (GError** error); +void tags_sidebar_entry_init (void); +void tags_terminate (void); +void tags_sidebar_entry_terminate (void); + + +void tags_init (GError** error) { +#line 10 "/home/jens/Source/shotwell/src/tags/Tags.vala" + tags_sidebar_entry_init (); +#line 26 "Tags.c" +} + + +void tags_terminate (void) { +#line 14 "/home/jens/Source/shotwell/src/tags/Tags.vala" + tags_sidebar_entry_terminate (); +#line 33 "Tags.c" +} + + + diff --git a/src/tags/mk/tags.mk b/src/tags/mk/tags.mk deleted file mode 100644 index 6b2e193..0000000 --- a/src/tags/mk/tags.mk +++ /dev/null @@ -1,32 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Tags - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := tags - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - Branch.vala \ - TagPage.vala \ - HierarchicalTagIndex.vala \ - HierarchicalTagUtilities.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := \ - Sidebar - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/threads/BackgroundJob.c b/src/threads/BackgroundJob.c new file mode 100644 index 0000000..94c8745 --- /dev/null +++ b/src/threads/BackgroundJob.c @@ -0,0 +1,1911 @@ +/* BackgroundJob.c generated by valac 0.32.1, the Vala compiler + * generated from BackgroundJob.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. + */ +/* This callback is executed when an associated BackgroundJob completes. It is called from within*/ +/* the Gtk event loop, *not* the background thread's context.*/ + +#include +#include +#include +#include +#include + + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define TYPE_NOTIFICATION_OBJECT (notification_object_get_type ()) +#define NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTIFICATION_OBJECT, NotificationObject)) +#define NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTIFICATION_OBJECT, NotificationObjectClass)) +#define IS_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTIFICATION_OBJECT)) +#define IS_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTIFICATION_OBJECT)) +#define NOTIFICATION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTIFICATION_OBJECT, NotificationObjectClass)) + +typedef struct _NotificationObject NotificationObject; +typedef struct _NotificationObjectClass NotificationObjectClass; +typedef struct _NotificationObjectPrivate NotificationObjectPrivate; +typedef struct _ParamSpecNotificationObject ParamSpecNotificationObject; + +#define TYPE_INTERLOCKED_NOTIFICATION_OBJECT (interlocked_notification_object_get_type ()) +#define INTERLOCKED_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObject)) +#define INTERLOCKED_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectClass)) +#define IS_INTERLOCKED_NOTIFICATION_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT)) +#define IS_INTERLOCKED_NOTIFICATION_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INTERLOCKED_NOTIFICATION_OBJECT)) +#define INTERLOCKED_NOTIFICATION_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectClass)) + +typedef struct _InterlockedNotificationObject InterlockedNotificationObject; +typedef struct _InterlockedNotificationObjectClass InterlockedNotificationObjectClass; +typedef struct _InterlockedNotificationObjectPrivate InterlockedNotificationObjectPrivate; + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; + +#define TYPE_SEMAPHORE (semaphore_get_type ()) +#define SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEMAPHORE, Semaphore)) +#define SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEMAPHORE, SemaphoreClass)) +#define IS_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEMAPHORE)) +#define IS_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEMAPHORE)) +#define SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEMAPHORE, SemaphoreClass)) + +typedef struct _Semaphore Semaphore; +typedef struct _SemaphoreClass SemaphoreClass; +#define _abstract_semaphore_unref0(var) ((var == NULL) ? NULL : (var = (abstract_semaphore_unref (var), NULL))) +typedef struct _BackgroundJobPrivate BackgroundJobPrivate; + +#define BACKGROUND_JOB_TYPE_JOB_PRIORITY (background_job_job_priority_get_type ()) + +#define BACKGROUND_JOB_TYPE_NOTIFICATION_JOB (background_job_notification_job_get_type ()) +#define BACKGROUND_JOB_NOTIFICATION_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BACKGROUND_JOB_TYPE_NOTIFICATION_JOB, BackgroundJobNotificationJob)) +#define BACKGROUND_JOB_NOTIFICATION_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BACKGROUND_JOB_TYPE_NOTIFICATION_JOB, BackgroundJobNotificationJobClass)) +#define BACKGROUND_JOB_IS_NOTIFICATION_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BACKGROUND_JOB_TYPE_NOTIFICATION_JOB)) +#define BACKGROUND_JOB_IS_NOTIFICATION_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BACKGROUND_JOB_TYPE_NOTIFICATION_JOB)) +#define BACKGROUND_JOB_NOTIFICATION_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BACKGROUND_JOB_TYPE_NOTIFICATION_JOB, BackgroundJobNotificationJobClass)) + +typedef struct _BackgroundJobNotificationJob BackgroundJobNotificationJob; +typedef struct _BackgroundJobNotificationJobClass BackgroundJobNotificationJobClass; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +#define _background_job_notification_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_notification_job_unref (var), NULL))) +#define _notification_object_unref0(var) ((var == NULL) ? NULL : (var = (notification_object_unref (var), NULL))) +typedef struct _BackgroundJobNotificationJobPrivate BackgroundJobNotificationJobPrivate; +typedef struct _BackgroundJobParamSpecNotificationJob BackgroundJobParamSpecNotificationJob; +typedef struct _ParamSpecBackgroundJob ParamSpecBackgroundJob; +#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); + +typedef void (*CompletionCallback) (BackgroundJob* job, void* user_data); +typedef void (*CancellationCallback) (BackgroundJob* job, void* user_data); +struct _NotificationObject { + GTypeInstance parent_instance; + volatile int ref_count; + NotificationObjectPrivate * priv; +}; + +struct _NotificationObjectClass { + GTypeClass parent_class; + void (*finalize) (NotificationObject *self); +}; + +struct _ParamSpecNotificationObject { + GParamSpec parent_instance; +}; + +struct _InterlockedNotificationObject { + NotificationObject parent_instance; + InterlockedNotificationObjectPrivate * priv; +}; + +struct _InterlockedNotificationObjectClass { + NotificationObjectClass parent_class; +}; + +struct _InterlockedNotificationObjectPrivate { + Semaphore* semaphore; +}; + +typedef void (*NotificationCallback) (BackgroundJob* job, NotificationObject* user, void* user_data); +typedef enum { + BACKGROUND_JOB_JOB_PRIORITY_HIGHEST = 100, + BACKGROUND_JOB_JOB_PRIORITY_HIGH = 75, + BACKGROUND_JOB_JOB_PRIORITY_NORMAL = 50, + BACKGROUND_JOB_JOB_PRIORITY_LOW = 25, + BACKGROUND_JOB_JOB_PRIORITY_LOWEST = 0 +} BackgroundJobJobPriority; + +struct _BackgroundJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobPrivate * priv; +}; + +struct _BackgroundJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJob *self); + void (*execute) (BackgroundJob* self); + BackgroundJobJobPriority (*get_priority) (BackgroundJob* self); +}; + +struct _BackgroundJobPrivate { + GObject* owner; + CompletionCallback callback; + gpointer callback_target; + GCancellable* cancellable; + CancellationCallback cancellation; + gpointer cancellation_target; + BackgroundJob* self; + AbstractSemaphore* semaphore; + gint completion_priority; + gint notification_priority; +}; + +struct _BackgroundJobNotificationJob { + GTypeInstance parent_instance; + volatile int ref_count; + BackgroundJobNotificationJobPrivate * priv; + NotificationCallback callback; + gpointer callback_target; + BackgroundJob* background_job; + NotificationObject* user; +}; + +struct _BackgroundJobNotificationJobClass { + GTypeClass parent_class; + void (*finalize) (BackgroundJobNotificationJob *self); +}; + +struct _BackgroundJobParamSpecNotificationJob { + GParamSpec parent_instance; +}; + +struct _ParamSpecBackgroundJob { + GParamSpec parent_instance; +}; + + +static gpointer notification_object_parent_class = NULL; +static gpointer interlocked_notification_object_parent_class = NULL; +static gpointer background_job_parent_class = NULL; +static GeeArrayList* background_job_notify_queue; +static GRecMutex __lock_background_job_notify_queue = {0}; +static GeeArrayList* background_job_notify_queue = NULL; +static gpointer background_job_notification_job_parent_class = NULL; + +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +gpointer notification_object_ref (gpointer instance); +void notification_object_unref (gpointer instance); +GParamSpec* param_spec_notification_object (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_notification_object (GValue* value, gpointer v_object); +void value_take_notification_object (GValue* value, gpointer v_object); +gpointer value_get_notification_object (const GValue* value); +GType notification_object_get_type (void) G_GNUC_CONST; +enum { + NOTIFICATION_OBJECT_DUMMY_PROPERTY +}; +NotificationObject* notification_object_construct (GType object_type); +static void notification_object_finalize (NotificationObject* obj); +GType interlocked_notification_object_get_type (void) G_GNUC_CONST; +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +GType semaphore_get_type (void) G_GNUC_CONST; +#define INTERLOCKED_NOTIFICATION_OBJECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObjectPrivate)) +enum { + INTERLOCKED_NOTIFICATION_OBJECT_DUMMY_PROPERTY +}; +Semaphore* semaphore_new (void); +Semaphore* semaphore_construct (GType object_type); +void interlocked_notification_object_internal_wait_for_completion (InterlockedNotificationObject* self); +void abstract_semaphore_wait (AbstractSemaphore* self); +void interlocked_notification_object_internal_completed (InterlockedNotificationObject* self); +void abstract_semaphore_notify (AbstractSemaphore* self); +InterlockedNotificationObject* interlocked_notification_object_construct (GType object_type); +static void interlocked_notification_object_finalize (NotificationObject* obj); +GType background_job_job_priority_get_type (void) G_GNUC_CONST; +#define BACKGROUND_JOB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_BACKGROUND_JOB, BackgroundJobPrivate)) +enum { + BACKGROUND_JOB_DUMMY_PROPERTY +}; +gint background_job_job_priority_compare (BackgroundJobJobPriority self, BackgroundJobJobPriority other); +gint background_job_job_priority_compare_func (void* a, void* b); +static gpointer background_job_notification_job_ref (gpointer instance); +static void background_job_notification_job_unref (gpointer instance); +static GParamSpec* background_job_param_spec_notification_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED; +static void background_job_value_set_notification_job (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static void background_job_value_take_notification_job (GValue* value, gpointer v_object) G_GNUC_UNUSED; +static gpointer background_job_value_get_notification_job (const GValue* value) G_GNUC_UNUSED; +static GType background_job_notification_job_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore); +void background_job_execute (BackgroundJob* self); +static void background_job_real_execute (BackgroundJob* self); +BackgroundJobJobPriority background_job_get_priority (BackgroundJob* self); +static BackgroundJobJobPriority background_job_real_get_priority (BackgroundJob* self); +gint background_job_priority_compare_func (BackgroundJob* a, BackgroundJob* b); +gint64 background_job_priority_comparator (void* a, void* b); +void background_job_set_completion_priority (BackgroundJob* self, gint priority); +void background_job_set_notification_priority (BackgroundJob* self, gint priority); +void background_job_wait_for_completion (BackgroundJob* self); +GCancellable* background_job_get_cancellable (BackgroundJob* self); +gboolean background_job_is_cancelled (BackgroundJob* self); +void background_job_cancel (BackgroundJob* self); +void background_job_internal_notify_completion (BackgroundJob* self); +static gboolean background_job_on_notify_completion (BackgroundJob* self); +static gboolean _background_job_on_notify_completion_gsource_func (gpointer self); +void background_job_notify (BackgroundJob* self, NotificationCallback callback, void* callback_target, NotificationObject* user); +static BackgroundJobNotificationJob* background_job_notification_job_new (NotificationCallback callback, void* callback_target, BackgroundJob* background_job, NotificationObject* user); +static BackgroundJobNotificationJob* background_job_notification_job_construct (GType object_type, NotificationCallback callback, void* callback_target, BackgroundJob* background_job, NotificationObject* user); +static gboolean background_job_on_notification_ready (BackgroundJob* self); +static gboolean _background_job_on_notification_ready_gsource_func (gpointer self); +enum { + BACKGROUND_JOB_NOTIFICATION_JOB_DUMMY_PROPERTY +}; +static void background_job_notification_job_finalize (BackgroundJobNotificationJob* obj); +static void background_job_finalize (BackgroundJob* obj); + + +NotificationObject* notification_object_construct (GType object_type) { + NotificationObject* self = NULL; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self = (NotificationObject*) g_type_create_instance (object_type); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return self; +#line 283 "BackgroundJob.c" +} + + +static void value_notification_object_init (GValue* value) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 290 "BackgroundJob.c" +} + + +static void value_notification_object_free_value (GValue* value) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (value->data[0].v_pointer) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + notification_object_unref (value->data[0].v_pointer); +#line 299 "BackgroundJob.c" + } +} + + +static void value_notification_object_copy_value (const GValue* src_value, GValue* dest_value) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (src_value->data[0].v_pointer) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + dest_value->data[0].v_pointer = notification_object_ref (src_value->data[0].v_pointer); +#line 309 "BackgroundJob.c" + } else { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + dest_value->data[0].v_pointer = NULL; +#line 313 "BackgroundJob.c" + } +} + + +static gpointer value_notification_object_peek_pointer (const GValue* value) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return value->data[0].v_pointer; +#line 321 "BackgroundJob.c" +} + + +static gchar* value_notification_object_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (collect_values[0].v_pointer) { +#line 328 "BackgroundJob.c" + NotificationObject* object; + object = collect_values[0].v_pointer; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (object->parent_instance.g_class == NULL) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 335 "BackgroundJob.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 339 "BackgroundJob.c" + } +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = notification_object_ref (object); +#line 343 "BackgroundJob.c" + } else { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 347 "BackgroundJob.c" + } +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return NULL; +#line 351 "BackgroundJob.c" +} + + +static gchar* value_notification_object_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + NotificationObject** object_p; + object_p = collect_values[0].v_pointer; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (!object_p) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 362 "BackgroundJob.c" + } +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (!value->data[0].v_pointer) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = NULL; +#line 368 "BackgroundJob.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = value->data[0].v_pointer; +#line 372 "BackgroundJob.c" + } else { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = notification_object_ref (value->data[0].v_pointer); +#line 376 "BackgroundJob.c" + } +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return NULL; +#line 380 "BackgroundJob.c" +} + + +GParamSpec* param_spec_notification_object (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecNotificationObject* spec; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_NOTIFICATION_OBJECT), NULL); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return G_PARAM_SPEC (spec); +#line 394 "BackgroundJob.c" +} + + +gpointer value_get_notification_object (const GValue* value) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_NOTIFICATION_OBJECT), NULL); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return value->data[0].v_pointer; +#line 403 "BackgroundJob.c" +} + + +void value_set_notification_object (GValue* value, gpointer v_object) { + NotificationObject* old; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_NOTIFICATION_OBJECT)); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + old = value->data[0].v_pointer; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (v_object) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_NOTIFICATION_OBJECT)); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = v_object; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + notification_object_ref (value->data[0].v_pointer); +#line 423 "BackgroundJob.c" + } else { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 427 "BackgroundJob.c" + } +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (old) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + notification_object_unref (old); +#line 433 "BackgroundJob.c" + } +} + + +void value_take_notification_object (GValue* value, gpointer v_object) { + NotificationObject* old; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_NOTIFICATION_OBJECT)); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + old = value->data[0].v_pointer; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (v_object) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_NOTIFICATION_OBJECT)); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = v_object; +#line 452 "BackgroundJob.c" + } else { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 456 "BackgroundJob.c" + } +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (old) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + notification_object_unref (old); +#line 462 "BackgroundJob.c" + } +} + + +static void notification_object_class_init (NotificationObjectClass * klass) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + notification_object_parent_class = g_type_class_peek_parent (klass); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + ((NotificationObjectClass *) klass)->finalize = notification_object_finalize; +#line 472 "BackgroundJob.c" +} + + +static void notification_object_instance_init (NotificationObject * self) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->ref_count = 1; +#line 479 "BackgroundJob.c" +} + + +static void notification_object_finalize (NotificationObject* obj) { + NotificationObject * self; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_NOTIFICATION_OBJECT, NotificationObject); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_signal_handlers_destroy (self); +#line 489 "BackgroundJob.c" +} + + +GType notification_object_get_type (void) { + static volatile gsize notification_object_type_id__volatile = 0; + if (g_once_init_enter (¬ification_object_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_notification_object_init, value_notification_object_free_value, value_notification_object_copy_value, value_notification_object_peek_pointer, "p", value_notification_object_collect_value, "p", value_notification_object_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (NotificationObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notification_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (NotificationObject), 0, (GInstanceInitFunc) notification_object_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType notification_object_type_id; + notification_object_type_id = g_type_register_fundamental (g_type_fundamental_next (), "NotificationObject", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (¬ification_object_type_id__volatile, notification_object_type_id); + } + return notification_object_type_id__volatile; +} + + +gpointer notification_object_ref (gpointer instance) { + NotificationObject* self; + self = instance; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_atomic_int_inc (&self->ref_count); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return instance; +#line 514 "BackgroundJob.c" +} + + +void notification_object_unref (gpointer instance) { + NotificationObject* self; + self = instance; +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + NOTIFICATION_OBJECT_GET_CLASS (self)->finalize (self); +#line 34 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 527 "BackgroundJob.c" + } +} + + +void interlocked_notification_object_internal_wait_for_completion (InterlockedNotificationObject* self) { + Semaphore* _tmp0_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_INTERLOCKED_NOTIFICATION_OBJECT (self)); +#line 42 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = self->priv->semaphore; +#line 42 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + abstract_semaphore_wait (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)); +#line 540 "BackgroundJob.c" +} + + +void interlocked_notification_object_internal_completed (InterlockedNotificationObject* self) { + Semaphore* _tmp0_ = NULL; +#line 46 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_INTERLOCKED_NOTIFICATION_OBJECT (self)); +#line 47 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = self->priv->semaphore; +#line 47 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + abstract_semaphore_notify (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)); +#line 552 "BackgroundJob.c" +} + + +InterlockedNotificationObject* interlocked_notification_object_construct (GType object_type) { + InterlockedNotificationObject* self = NULL; +#line 37 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self = (InterlockedNotificationObject*) notification_object_construct (object_type); +#line 37 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return self; +#line 562 "BackgroundJob.c" +} + + +static void interlocked_notification_object_class_init (InterlockedNotificationObjectClass * klass) { +#line 37 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + interlocked_notification_object_parent_class = g_type_class_peek_parent (klass); +#line 37 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + ((NotificationObjectClass *) klass)->finalize = interlocked_notification_object_finalize; +#line 37 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_type_class_add_private (klass, sizeof (InterlockedNotificationObjectPrivate)); +#line 573 "BackgroundJob.c" +} + + +static void interlocked_notification_object_instance_init (InterlockedNotificationObject * self) { + Semaphore* _tmp0_ = NULL; +#line 37 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv = INTERLOCKED_NOTIFICATION_OBJECT_GET_PRIVATE (self); +#line 38 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = semaphore_new (); +#line 38 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->semaphore = _tmp0_; +#line 585 "BackgroundJob.c" +} + + +static void interlocked_notification_object_finalize (NotificationObject* obj) { + InterlockedNotificationObject * self; +#line 37 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_INTERLOCKED_NOTIFICATION_OBJECT, InterlockedNotificationObject); +#line 38 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _abstract_semaphore_unref0 (self->priv->semaphore); +#line 37 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + NOTIFICATION_OBJECT_CLASS (interlocked_notification_object_parent_class)->finalize (obj); +#line 597 "BackgroundJob.c" +} + + +GType interlocked_notification_object_get_type (void) { + static volatile gsize interlocked_notification_object_type_id__volatile = 0; + if (g_once_init_enter (&interlocked_notification_object_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (InterlockedNotificationObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) interlocked_notification_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (InterlockedNotificationObject), 0, (GInstanceInitFunc) interlocked_notification_object_instance_init, NULL }; + GType interlocked_notification_object_type_id; + interlocked_notification_object_type_id = g_type_register_static (TYPE_NOTIFICATION_OBJECT, "InterlockedNotificationObject", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&interlocked_notification_object_type_id__volatile, interlocked_notification_object_type_id); + } + return interlocked_notification_object_type_id__volatile; +} + + +gint background_job_job_priority_compare (BackgroundJobJobPriority self, BackgroundJobJobPriority other) { + gint result = 0; + BackgroundJobJobPriority _tmp0_ = 0; +#line 75 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = other; +#line 75 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = ((gint) _tmp0_) - ((gint) self); +#line 75 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 622 "BackgroundJob.c" +} + + +gint background_job_job_priority_compare_func (void* a, void* b) { + gint result = 0; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = b; +#line 79 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = a; +#line 79 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = ((gint) _tmp0_) - ((gint) _tmp1_); +#line 79 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 638 "BackgroundJob.c" +} + + +GType background_job_job_priority_get_type (void) { + static volatile gsize background_job_job_priority_type_id__volatile = 0; + if (g_once_init_enter (&background_job_job_priority_type_id__volatile)) { + static const GEnumValue values[] = {{BACKGROUND_JOB_JOB_PRIORITY_HIGHEST, "BACKGROUND_JOB_JOB_PRIORITY_HIGHEST", "highest"}, {BACKGROUND_JOB_JOB_PRIORITY_HIGH, "BACKGROUND_JOB_JOB_PRIORITY_HIGH", "high"}, {BACKGROUND_JOB_JOB_PRIORITY_NORMAL, "BACKGROUND_JOB_JOB_PRIORITY_NORMAL", "normal"}, {BACKGROUND_JOB_JOB_PRIORITY_LOW, "BACKGROUND_JOB_JOB_PRIORITY_LOW", "low"}, {BACKGROUND_JOB_JOB_PRIORITY_LOWEST, "BACKGROUND_JOB_JOB_PRIORITY_LOWEST", "lowest"}, {0, NULL, NULL}}; + GType background_job_job_priority_type_id; + background_job_job_priority_type_id = g_enum_register_static ("BackgroundJobJobPriority", values); + g_once_init_leave (&background_job_job_priority_type_id__volatile, background_job_job_priority_type_id); + } + return background_job_job_priority_type_id__volatile; +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 116 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return self ? g_object_ref (self) : NULL; +#line 657 "BackgroundJob.c" +} + + +static gpointer _abstract_semaphore_ref0 (gpointer self) { +#line 120 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return self ? abstract_semaphore_ref (self) : NULL; +#line 664 "BackgroundJob.c" +} + + +BackgroundJob* background_job_construct (GType object_type, GObject* owner, CompletionCallback callback, void* callback_target, GCancellable* cancellable, CancellationCallback cancellation, void* cancellation_target, AbstractSemaphore* completion_semaphore) { + BackgroundJob* self = NULL; + GObject* _tmp0_ = NULL; + GObject* _tmp1_ = NULL; + CompletionCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + GCancellable* _tmp3_ = NULL; + GCancellable* _tmp4_ = NULL; + CancellationCallback _tmp5_ = NULL; + void* _tmp5__target = NULL; + AbstractSemaphore* _tmp6_ = NULL; + AbstractSemaphore* _tmp7_ = NULL; +#line 113 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail ((owner == NULL) || G_IS_OBJECT (owner), NULL); +#line 113 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), NULL); +#line 113 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail ((completion_semaphore == NULL) || IS_ABSTRACT_SEMAPHORE (completion_semaphore), NULL); +#line 113 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self = (BackgroundJob*) g_type_create_instance (object_type); +#line 116 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = owner; +#line 116 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 116 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _g_object_unref0 (self->priv->owner); +#line 116 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->owner = _tmp1_; +#line 117 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = callback; +#line 117 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2__target = callback_target; +#line 117 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->callback = _tmp2_; +#line 117 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->callback_target = _tmp2__target; +#line 118 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3_ = cancellable; +#line 118 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4_ = _g_object_ref0 (_tmp3_); +#line 118 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _g_object_unref0 (self->priv->cancellable); +#line 118 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->cancellable = _tmp4_; +#line 119 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp5_ = cancellation; +#line 119 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp5__target = cancellation_target; +#line 119 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->cancellation = _tmp5_; +#line 119 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->cancellation_target = _tmp5__target; +#line 120 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp6_ = completion_semaphore; +#line 120 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp7_ = _abstract_semaphore_ref0 (_tmp6_); +#line 120 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _abstract_semaphore_unref0 (self->priv->semaphore); +#line 120 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->semaphore = _tmp7_; +#line 113 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return self; +#line 730 "BackgroundJob.c" +} + + +static void background_job_real_execute (BackgroundJob* self) { +#line 123 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_critical ("Type `%s' does not implement abstract method `background_job_execute'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 123 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return; +#line 739 "BackgroundJob.c" +} + + +void background_job_execute (BackgroundJob* self) { +#line 123 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_BACKGROUND_JOB (self)); +#line 123 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + BACKGROUND_JOB_GET_CLASS (self)->execute (self); +#line 748 "BackgroundJob.c" +} + + +static BackgroundJobJobPriority background_job_real_get_priority (BackgroundJob* self) { + BackgroundJobJobPriority result = 0; +#line 126 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = BACKGROUND_JOB_JOB_PRIORITY_NORMAL; +#line 126 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 758 "BackgroundJob.c" +} + + +BackgroundJobJobPriority background_job_get_priority (BackgroundJob* self) { +#line 125 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (IS_BACKGROUND_JOB (self), 0); +#line 125 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return BACKGROUND_JOB_GET_CLASS (self)->get_priority (self); +#line 767 "BackgroundJob.c" +} + + +gint background_job_priority_compare_func (BackgroundJob* a, BackgroundJob* b) { + gint result = 0; + BackgroundJob* _tmp0_ = NULL; + BackgroundJobJobPriority _tmp1_ = 0; + BackgroundJob* _tmp2_ = NULL; + BackgroundJobJobPriority _tmp3_ = 0; + gint _tmp4_ = 0; +#line 130 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (IS_BACKGROUND_JOB (a), 0); +#line 130 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (IS_BACKGROUND_JOB (b), 0); +#line 131 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = a; +#line 131 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = background_job_get_priority (_tmp0_); +#line 131 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = b; +#line 131 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3_ = background_job_get_priority (_tmp2_); +#line 131 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4_ = background_job_job_priority_compare (_tmp1_, _tmp3_); +#line 131 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = _tmp4_; +#line 131 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 796 "BackgroundJob.c" +} + + +gint64 background_job_priority_comparator (void* a, void* b) { + gint64 result = 0LL; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 136 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = a; +#line 136 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = b; +#line 136 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = background_job_priority_compare_func (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_BACKGROUND_JOB, BackgroundJob), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_BACKGROUND_JOB, BackgroundJob)); +#line 136 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = (gint64) _tmp2_; +#line 136 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 815 "BackgroundJob.c" +} + + +void background_job_set_completion_priority (BackgroundJob* self, gint priority) { + gint _tmp0_ = 0; +#line 140 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_BACKGROUND_JOB (self)); +#line 141 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = priority; +#line 141 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->completion_priority = _tmp0_; +#line 827 "BackgroundJob.c" +} + + +void background_job_set_notification_priority (BackgroundJob* self, gint priority) { + gint _tmp0_ = 0; +#line 145 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_BACKGROUND_JOB (self)); +#line 146 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = priority; +#line 146 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->notification_priority = _tmp0_; +#line 839 "BackgroundJob.c" +} + + +void background_job_wait_for_completion (BackgroundJob* self) { + AbstractSemaphore* _tmp0_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_BACKGROUND_JOB (self)); +#line 153 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = self->priv->semaphore; +#line 153 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp0_ != NULL) { +#line 851 "BackgroundJob.c" + AbstractSemaphore* _tmp1_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = self->priv->semaphore; +#line 154 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + abstract_semaphore_wait (_tmp1_); +#line 857 "BackgroundJob.c" + } +} + + +GCancellable* background_job_get_cancellable (BackgroundJob* self) { + GCancellable* result = NULL; + GCancellable* _tmp0_ = NULL; + GCancellable* _tmp1_ = NULL; +#line 157 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (IS_BACKGROUND_JOB (self), NULL); +#line 158 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = self->priv->cancellable; +#line 158 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 158 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = _tmp1_; +#line 158 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 876 "BackgroundJob.c" +} + + +gboolean background_job_is_cancelled (BackgroundJob* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + GCancellable* _tmp1_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (IS_BACKGROUND_JOB (self), FALSE); +#line 162 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = self->priv->cancellable; +#line 162 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp1_ != NULL) { +#line 890 "BackgroundJob.c" + GCancellable* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 162 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = self->priv->cancellable; +#line 162 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3_ = g_cancellable_is_cancelled (_tmp2_); +#line 162 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = _tmp3_; +#line 899 "BackgroundJob.c" + } else { +#line 162 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = FALSE; +#line 903 "BackgroundJob.c" + } +#line 162 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = _tmp0_; +#line 162 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 909 "BackgroundJob.c" +} + + +void background_job_cancel (BackgroundJob* self) { + GCancellable* _tmp0_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_BACKGROUND_JOB (self)); +#line 166 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = self->priv->cancellable; +#line 166 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp0_ != NULL) { +#line 921 "BackgroundJob.c" + GCancellable* _tmp1_ = NULL; +#line 167 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = self->priv->cancellable; +#line 167 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_cancellable_cancel (_tmp1_); +#line 927 "BackgroundJob.c" + } +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 183 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return self ? background_job_ref (self) : NULL; +#line 935 "BackgroundJob.c" +} + + +static gboolean _background_job_on_notify_completion_gsource_func (gpointer self) { + gboolean result; + result = background_job_on_notify_completion ((BackgroundJob*) self); +#line 185 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 944 "BackgroundJob.c" +} + + +void background_job_internal_notify_completion (BackgroundJob* self) { + AbstractSemaphore* _tmp0_ = NULL; + gboolean _tmp2_ = FALSE; + CompletionCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + BackgroundJob* _tmp8_ = NULL; + gint _tmp9_ = 0; +#line 171 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_BACKGROUND_JOB (self)); +#line 172 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = self->priv->semaphore; +#line 172 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp0_ != NULL) { +#line 963 "BackgroundJob.c" + AbstractSemaphore* _tmp1_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = self->priv->semaphore; +#line 173 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + abstract_semaphore_notify (_tmp1_); +#line 969 "BackgroundJob.c" + } +#line 175 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3_ = self->priv->callback; +#line 175 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3__target = self->priv->callback_target; +#line 175 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp3_ == NULL) { +#line 977 "BackgroundJob.c" + CancellationCallback _tmp4_ = NULL; + void* _tmp4__target = NULL; +#line 175 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4_ = self->priv->cancellation; +#line 175 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4__target = self->priv->cancellation_target; +#line 175 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = _tmp4_ == NULL; +#line 986 "BackgroundJob.c" + } else { +#line 175 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = FALSE; +#line 990 "BackgroundJob.c" + } +#line 175 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp2_) { +#line 176 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return; +#line 996 "BackgroundJob.c" + } +#line 178 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp6_ = background_job_is_cancelled (self); +#line 178 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp6_) { +#line 1002 "BackgroundJob.c" + CancellationCallback _tmp7_ = NULL; + void* _tmp7__target = NULL; +#line 178 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp7_ = self->priv->cancellation; +#line 178 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp7__target = self->priv->cancellation_target; +#line 178 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp5_ = _tmp7_ == NULL; +#line 1011 "BackgroundJob.c" + } else { +#line 178 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp5_ = FALSE; +#line 1015 "BackgroundJob.c" + } +#line 178 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp5_) { +#line 179 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return; +#line 1021 "BackgroundJob.c" + } +#line 183 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp8_ = _background_job_ref0 (self); +#line 183 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_unref0 (self->priv->self); +#line 183 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->self = _tmp8_; +#line 185 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp9_ = self->priv->completion_priority; +#line 185 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_idle_add_full (_tmp9_, _background_job_on_notify_completion_gsource_func, background_job_ref (self), background_job_unref); +#line 1033 "BackgroundJob.c" +} + + +static gboolean background_job_on_notify_completion (BackgroundJob* self) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; +#line 188 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (IS_BACKGROUND_JOB (self), FALSE); +#line 193 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = background_job_is_cancelled (self); +#line 193 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp0_) { +#line 1046 "BackgroundJob.c" + CancellationCallback _tmp1_ = NULL; + void* _tmp1__target = NULL; +#line 194 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = self->priv->cancellation; +#line 194 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1__target = self->priv->cancellation_target; +#line 194 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp1_ != NULL) { +#line 1055 "BackgroundJob.c" + CancellationCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 195 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = self->priv->cancellation; +#line 195 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2__target = self->priv->cancellation_target; +#line 195 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ (self, _tmp2__target); +#line 1064 "BackgroundJob.c" + } + } else { + CompletionCallback _tmp3_ = NULL; + void* _tmp3__target = NULL; +#line 197 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3_ = self->priv->callback; +#line 197 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3__target = self->priv->callback_target; +#line 197 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp3_ != NULL) { +#line 1075 "BackgroundJob.c" + CompletionCallback _tmp4_ = NULL; + void* _tmp4__target = NULL; +#line 198 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4_ = self->priv->callback; +#line 198 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4__target = self->priv->callback_target; +#line 198 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4_ (self, _tmp4__target); +#line 1084 "BackgroundJob.c" + } + } +#line 202 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_unref0 (self->priv->self); +#line 202 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->self = NULL; +#line 204 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = FALSE; +#line 204 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 1095 "BackgroundJob.c" +} + + +static gboolean _background_job_on_notification_ready_gsource_func (gpointer self) { + gboolean result; + result = background_job_on_notification_ready ((BackgroundJob*) self); +#line 214 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 1104 "BackgroundJob.c" +} + + +static gpointer _notification_object_ref0 (gpointer self) { +#line 218 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return self ? notification_object_ref (self) : NULL; +#line 1111 "BackgroundJob.c" +} + + +void background_job_notify (BackgroundJob* self, NotificationCallback callback, void* callback_target, NotificationObject* user) { + gint _tmp7_ = 0; + InterlockedNotificationObject* interlocked = NULL; + NotificationObject* _tmp8_ = NULL; + InterlockedNotificationObject* _tmp9_ = NULL; + InterlockedNotificationObject* _tmp10_ = NULL; + GError * _inner_error_ = NULL; +#line 209 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (IS_BACKGROUND_JOB (self)); +#line 209 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail ((user == NULL) || IS_NOTIFICATION_OBJECT (user)); +#line 1126 "BackgroundJob.c" + { + GeeArrayList* _tmp0_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = background_job_notify_queue; +#line 210 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_rec_mutex_lock (&__lock_background_job_notify_queue); +#line 1133 "BackgroundJob.c" + { + GeeArrayList* _tmp1_ = NULL; + NotificationCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; + NotificationObject* _tmp3_ = NULL; + BackgroundJobNotificationJob* _tmp4_ = NULL; + BackgroundJobNotificationJob* _tmp5_ = NULL; +#line 211 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = background_job_notify_queue; +#line 211 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = callback; +#line 211 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2__target = callback_target; +#line 211 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3_ = user; +#line 211 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4_ = background_job_notification_job_new (_tmp2_, _tmp2__target, self, _tmp3_); +#line 211 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp5_ = _tmp4_; +#line 211 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp5_); +#line 211 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_notification_job_unref0 (_tmp5_); +#line 1157 "BackgroundJob.c" + } + __finally11: + { + GeeArrayList* _tmp6_ = NULL; +#line 210 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp6_ = background_job_notify_queue; +#line 210 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_rec_mutex_unlock (&__lock_background_job_notify_queue); +#line 1166 "BackgroundJob.c" + } +#line 210 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 210 "/home/jens/Source/shotwell/src/threads/BackgroundJob.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 210 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_clear_error (&_inner_error_); +#line 210 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return; +#line 1176 "BackgroundJob.c" + } + } +#line 214 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp7_ = self->priv->notification_priority; +#line 214 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_idle_add_full (_tmp7_, _background_job_on_notification_ready_gsource_func, background_job_ref (self), background_job_unref); +#line 218 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp8_ = user; +#line 218 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp9_ = _notification_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, TYPE_INTERLOCKED_NOTIFICATION_OBJECT) ? ((InterlockedNotificationObject*) _tmp8_) : NULL); +#line 218 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + interlocked = _tmp9_; +#line 219 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp10_ = interlocked; +#line 219 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp10_ != NULL) { +#line 1193 "BackgroundJob.c" + InterlockedNotificationObject* _tmp11_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp11_ = interlocked; +#line 220 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + interlocked_notification_object_internal_wait_for_completion (_tmp11_); +#line 1199 "BackgroundJob.c" + } +#line 209 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _notification_object_unref0 (interlocked); +#line 1203 "BackgroundJob.c" +} + + +static gboolean background_job_on_notification_ready (BackgroundJob* self) { + gboolean result = FALSE; + BackgroundJobNotificationJob* notification_job = NULL; + BackgroundJobNotificationJob* _tmp7_ = NULL; + BackgroundJobNotificationJob* _tmp8_ = NULL; + NotificationCallback _tmp9_ = NULL; + void* _tmp9__target = NULL; + BackgroundJobNotificationJob* _tmp10_ = NULL; + BackgroundJob* _tmp11_ = NULL; + BackgroundJobNotificationJob* _tmp12_ = NULL; + NotificationObject* _tmp13_ = NULL; + InterlockedNotificationObject* interlocked = NULL; + BackgroundJobNotificationJob* _tmp14_ = NULL; + NotificationObject* _tmp15_ = NULL; + InterlockedNotificationObject* _tmp16_ = NULL; + InterlockedNotificationObject* _tmp17_ = NULL; + GError * _inner_error_ = NULL; +#line 223 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (IS_BACKGROUND_JOB (self), FALSE); +#line 226 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + notification_job = NULL; +#line 1228 "BackgroundJob.c" + { + GeeArrayList* _tmp0_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = background_job_notify_queue; +#line 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_rec_mutex_lock (&__lock_background_job_notify_queue); +#line 1235 "BackgroundJob.c" + { + GeeArrayList* _tmp1_ = NULL; + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 228 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = background_job_notify_queue; +#line 228 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 228 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3_ = _tmp2_; +#line 228 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp3_ > 0) { +#line 1248 "BackgroundJob.c" + GeeArrayList* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; +#line 229 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4_ = background_job_notify_queue; +#line 229 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp5_ = gee_abstract_list_remove_at (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0); +#line 229 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_notification_job_unref0 (notification_job); +#line 229 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + notification_job = (BackgroundJobNotificationJob*) _tmp5_; +#line 1259 "BackgroundJob.c" + } + } + __finally12: + { + GeeArrayList* _tmp6_ = NULL; +#line 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp6_ = background_job_notify_queue; +#line 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_rec_mutex_unlock (&__lock_background_job_notify_queue); +#line 1269 "BackgroundJob.c" + } +#line 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_notification_job_unref0 (notification_job); +#line 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.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 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_clear_error (&_inner_error_); +#line 227 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return FALSE; +#line 1281 "BackgroundJob.c" + } + } +#line 231 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp7_ = notification_job; +#line 231 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _vala_assert (_tmp7_ != NULL, "notification_job != null"); +#line 233 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp8_ = notification_job; +#line 233 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp9_ = _tmp8_->callback; +#line 233 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp9__target = _tmp8_->callback_target; +#line 233 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp10_ = notification_job; +#line 233 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp11_ = _tmp10_->background_job; +#line 233 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp12_ = notification_job; +#line 233 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp13_ = _tmp12_->user; +#line 233 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp9_ (_tmp11_, _tmp13_, _tmp9__target); +#line 236 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp14_ = notification_job; +#line 236 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp15_ = _tmp14_->user; +#line 236 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp16_ = _notification_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_INTERLOCKED_NOTIFICATION_OBJECT) ? ((InterlockedNotificationObject*) _tmp15_) : NULL); +#line 236 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + interlocked = _tmp16_; +#line 237 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp17_ = interlocked; +#line 237 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (_tmp17_ != NULL) { +#line 1316 "BackgroundJob.c" + InterlockedNotificationObject* _tmp18_ = NULL; +#line 238 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp18_ = interlocked; +#line 238 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + interlocked_notification_object_internal_completed (_tmp18_); +#line 1322 "BackgroundJob.c" + } +#line 240 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + result = FALSE; +#line 240 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _notification_object_unref0 (interlocked); +#line 240 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_notification_job_unref0 (notification_job); +#line 240 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return result; +#line 1332 "BackgroundJob.c" +} + + +static BackgroundJobNotificationJob* background_job_notification_job_construct (GType object_type, NotificationCallback callback, void* callback_target, BackgroundJob* background_job, NotificationObject* user) { + BackgroundJobNotificationJob* self = NULL; + NotificationCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; + BackgroundJob* _tmp1_ = NULL; + BackgroundJob* _tmp2_ = NULL; + NotificationObject* _tmp3_ = NULL; + NotificationObject* _tmp4_ = NULL; +#line 88 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (IS_BACKGROUND_JOB (background_job), NULL); +#line 88 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail ((user == NULL) || IS_NOTIFICATION_OBJECT (user), NULL); +#line 88 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self = (BackgroundJobNotificationJob*) g_type_create_instance (object_type); +#line 90 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = callback; +#line 90 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0__target = callback_target; +#line 90 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->callback = _tmp0_; +#line 90 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->callback_target = _tmp0__target; +#line 91 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp1_ = background_job; +#line 91 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp2_ = _background_job_ref0 (_tmp1_); +#line 91 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_unref0 (self->background_job); +#line 91 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->background_job = _tmp2_; +#line 92 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp3_ = user; +#line 92 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp4_ = _notification_object_ref0 (_tmp3_); +#line 92 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _notification_object_unref0 (self->user); +#line 92 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->user = _tmp4_; +#line 88 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return self; +#line 1376 "BackgroundJob.c" +} + + +static BackgroundJobNotificationJob* background_job_notification_job_new (NotificationCallback callback, void* callback_target, BackgroundJob* background_job, NotificationObject* user) { +#line 88 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return background_job_notification_job_construct (BACKGROUND_JOB_TYPE_NOTIFICATION_JOB, callback, callback_target, background_job, user); +#line 1383 "BackgroundJob.c" +} + + +static void background_job_value_notification_job_init (GValue* value) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 1390 "BackgroundJob.c" +} + + +static void background_job_value_notification_job_free_value (GValue* value) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (value->data[0].v_pointer) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_notification_job_unref (value->data[0].v_pointer); +#line 1399 "BackgroundJob.c" + } +} + + +static void background_job_value_notification_job_copy_value (const GValue* src_value, GValue* dest_value) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (src_value->data[0].v_pointer) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + dest_value->data[0].v_pointer = background_job_notification_job_ref (src_value->data[0].v_pointer); +#line 1409 "BackgroundJob.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + dest_value->data[0].v_pointer = NULL; +#line 1413 "BackgroundJob.c" + } +} + + +static gpointer background_job_value_notification_job_peek_pointer (const GValue* value) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return value->data[0].v_pointer; +#line 1421 "BackgroundJob.c" +} + + +static gchar* background_job_value_notification_job_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (collect_values[0].v_pointer) { +#line 1428 "BackgroundJob.c" + BackgroundJobNotificationJob* object; + object = collect_values[0].v_pointer; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (object->parent_instance.g_class == NULL) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1435 "BackgroundJob.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1439 "BackgroundJob.c" + } +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = background_job_notification_job_ref (object); +#line 1443 "BackgroundJob.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 1447 "BackgroundJob.c" + } +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return NULL; +#line 1451 "BackgroundJob.c" +} + + +static gchar* background_job_value_notification_job_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + BackgroundJobNotificationJob** object_p; + object_p = collect_values[0].v_pointer; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (!object_p) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1462 "BackgroundJob.c" + } +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (!value->data[0].v_pointer) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = NULL; +#line 1468 "BackgroundJob.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = value->data[0].v_pointer; +#line 1472 "BackgroundJob.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = background_job_notification_job_ref (value->data[0].v_pointer); +#line 1476 "BackgroundJob.c" + } +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return NULL; +#line 1480 "BackgroundJob.c" +} + + +static GParamSpec* background_job_param_spec_notification_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + BackgroundJobParamSpecNotificationJob* spec; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (g_type_is_a (object_type, BACKGROUND_JOB_TYPE_NOTIFICATION_JOB), NULL); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return G_PARAM_SPEC (spec); +#line 1494 "BackgroundJob.c" +} + + +static gpointer background_job_value_get_notification_job (const GValue* value) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, BACKGROUND_JOB_TYPE_NOTIFICATION_JOB), NULL); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return value->data[0].v_pointer; +#line 1503 "BackgroundJob.c" +} + + +static void background_job_value_set_notification_job (GValue* value, gpointer v_object) { + BackgroundJobNotificationJob* old; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, BACKGROUND_JOB_TYPE_NOTIFICATION_JOB)); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + old = value->data[0].v_pointer; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (v_object) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, BACKGROUND_JOB_TYPE_NOTIFICATION_JOB)); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = v_object; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_notification_job_ref (value->data[0].v_pointer); +#line 1523 "BackgroundJob.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 1527 "BackgroundJob.c" + } +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (old) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_notification_job_unref (old); +#line 1533 "BackgroundJob.c" + } +} + + +static void background_job_value_take_notification_job (GValue* value, gpointer v_object) { + BackgroundJobNotificationJob* old; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, BACKGROUND_JOB_TYPE_NOTIFICATION_JOB)); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + old = value->data[0].v_pointer; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (v_object) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, BACKGROUND_JOB_TYPE_NOTIFICATION_JOB)); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = v_object; +#line 1552 "BackgroundJob.c" + } else { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 1556 "BackgroundJob.c" + } +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (old) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_notification_job_unref (old); +#line 1562 "BackgroundJob.c" + } +} + + +static void background_job_notification_job_class_init (BackgroundJobNotificationJobClass * klass) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_notification_job_parent_class = g_type_class_peek_parent (klass); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + ((BackgroundJobNotificationJobClass *) klass)->finalize = background_job_notification_job_finalize; +#line 1572 "BackgroundJob.c" +} + + +static void background_job_notification_job_instance_init (BackgroundJobNotificationJob * self) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->ref_count = 1; +#line 1579 "BackgroundJob.c" +} + + +static void background_job_notification_job_finalize (BackgroundJobNotificationJob* obj) { + BackgroundJobNotificationJob * self; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, BACKGROUND_JOB_TYPE_NOTIFICATION_JOB, BackgroundJobNotificationJob); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_signal_handlers_destroy (self); +#line 85 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_unref0 (self->background_job); +#line 86 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _notification_object_unref0 (self->user); +#line 1593 "BackgroundJob.c" +} + + +static GType background_job_notification_job_get_type (void) { + static volatile gsize background_job_notification_job_type_id__volatile = 0; + if (g_once_init_enter (&background_job_notification_job_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { background_job_value_notification_job_init, background_job_value_notification_job_free_value, background_job_value_notification_job_copy_value, background_job_value_notification_job_peek_pointer, "p", background_job_value_notification_job_collect_value, "p", background_job_value_notification_job_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (BackgroundJobNotificationJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) background_job_notification_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BackgroundJobNotificationJob), 0, (GInstanceInitFunc) background_job_notification_job_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType background_job_notification_job_type_id; + background_job_notification_job_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BackgroundJobNotificationJob", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&background_job_notification_job_type_id__volatile, background_job_notification_job_type_id); + } + return background_job_notification_job_type_id__volatile; +} + + +static gpointer background_job_notification_job_ref (gpointer instance) { + BackgroundJobNotificationJob* self; + self = instance; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_atomic_int_inc (&self->ref_count); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return instance; +#line 1618 "BackgroundJob.c" +} + + +static void background_job_notification_job_unref (gpointer instance) { + BackgroundJobNotificationJob* self; + self = instance; +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + BACKGROUND_JOB_NOTIFICATION_JOB_GET_CLASS (self)->finalize (self); +#line 83 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1631 "BackgroundJob.c" + } +} + + +static void value_background_job_init (GValue* value) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 1639 "BackgroundJob.c" +} + + +static void value_background_job_free_value (GValue* value) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (value->data[0].v_pointer) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_unref (value->data[0].v_pointer); +#line 1648 "BackgroundJob.c" + } +} + + +static void value_background_job_copy_value (const GValue* src_value, GValue* dest_value) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (src_value->data[0].v_pointer) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + dest_value->data[0].v_pointer = background_job_ref (src_value->data[0].v_pointer); +#line 1658 "BackgroundJob.c" + } else { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + dest_value->data[0].v_pointer = NULL; +#line 1662 "BackgroundJob.c" + } +} + + +static gpointer value_background_job_peek_pointer (const GValue* value) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return value->data[0].v_pointer; +#line 1670 "BackgroundJob.c" +} + + +static gchar* value_background_job_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (collect_values[0].v_pointer) { +#line 1677 "BackgroundJob.c" + BackgroundJob* object; + object = collect_values[0].v_pointer; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (object->parent_instance.g_class == NULL) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1684 "BackgroundJob.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 1688 "BackgroundJob.c" + } +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = background_job_ref (object); +#line 1692 "BackgroundJob.c" + } else { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 1696 "BackgroundJob.c" + } +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return NULL; +#line 1700 "BackgroundJob.c" +} + + +static gchar* value_background_job_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + BackgroundJob** object_p; + object_p = collect_values[0].v_pointer; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (!object_p) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 1711 "BackgroundJob.c" + } +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (!value->data[0].v_pointer) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = NULL; +#line 1717 "BackgroundJob.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = value->data[0].v_pointer; +#line 1721 "BackgroundJob.c" + } else { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + *object_p = background_job_ref (value->data[0].v_pointer); +#line 1725 "BackgroundJob.c" + } +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return NULL; +#line 1729 "BackgroundJob.c" +} + + +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecBackgroundJob* spec; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_BACKGROUND_JOB), NULL); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return G_PARAM_SPEC (spec); +#line 1743 "BackgroundJob.c" +} + + +gpointer value_get_background_job (const GValue* value) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKGROUND_JOB), NULL); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return value->data[0].v_pointer; +#line 1752 "BackgroundJob.c" +} + + +void value_set_background_job (GValue* value, gpointer v_object) { + BackgroundJob* old; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKGROUND_JOB)); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + old = value->data[0].v_pointer; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (v_object) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BACKGROUND_JOB)); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = v_object; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_ref (value->data[0].v_pointer); +#line 1772 "BackgroundJob.c" + } else { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 1776 "BackgroundJob.c" + } +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (old) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_unref (old); +#line 1782 "BackgroundJob.c" + } +} + + +void value_take_background_job (GValue* value, gpointer v_object) { + BackgroundJob* old; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_BACKGROUND_JOB)); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + old = value->data[0].v_pointer; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (v_object) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_BACKGROUND_JOB)); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = v_object; +#line 1801 "BackgroundJob.c" + } else { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + value->data[0].v_pointer = NULL; +#line 1805 "BackgroundJob.c" + } +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (old) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_unref (old); +#line 1811 "BackgroundJob.c" + } +} + + +static void background_job_class_init (BackgroundJobClass * klass) { + GeeArrayList* _tmp0_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_parent_class = g_type_class_peek_parent (klass); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + ((BackgroundJobClass *) klass)->finalize = background_job_finalize; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_type_class_add_private (klass, sizeof (BackgroundJobPrivate)); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + ((BackgroundJobClass *) klass)->execute = background_job_real_execute; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + ((BackgroundJobClass *) klass)->get_priority = background_job_real_get_priority; +#line 96 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_rec_mutex_init (&__lock_background_job_notify_queue); +#line 96 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _tmp0_ = gee_array_list_new (BACKGROUND_JOB_TYPE_NOTIFICATION_JOB, (GBoxedCopyFunc) background_job_notification_job_ref, background_job_notification_job_unref, NULL, NULL, NULL); +#line 96 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + background_job_notify_queue = _tmp0_; +#line 1834 "BackgroundJob.c" +} + + +static void background_job_instance_init (BackgroundJob * self) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv = BACKGROUND_JOB_GET_PRIVATE (self); +#line 102 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->self = NULL; +#line 103 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->semaphore = NULL; +#line 110 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->completion_priority = G_PRIORITY_HIGH; +#line 111 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->priv->notification_priority = G_PRIORITY_DEFAULT_IDLE; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self->ref_count = 1; +#line 1851 "BackgroundJob.c" +} + + +static void background_job_finalize (BackgroundJob* obj) { + BackgroundJob * self; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BACKGROUND_JOB, BackgroundJob); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_signal_handlers_destroy (self); +#line 98 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _g_object_unref0 (self->priv->owner); +#line 100 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _g_object_unref0 (self->priv->cancellable); +#line 102 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _background_job_unref0 (self->priv->self); +#line 103 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + _abstract_semaphore_unref0 (self->priv->semaphore); +#line 1869 "BackgroundJob.c" +} + + +GType background_job_get_type (void) { + static volatile gsize background_job_type_id__volatile = 0; + if (g_once_init_enter (&background_job_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_background_job_init, value_background_job_free_value, value_background_job_copy_value, value_background_job_peek_pointer, "p", value_background_job_collect_value, "p", value_background_job_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (BackgroundJobClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) background_job_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BackgroundJob), 0, (GInstanceInitFunc) background_job_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType background_job_type_id; + background_job_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BackgroundJob", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&background_job_type_id__volatile, background_job_type_id); + } + return background_job_type_id__volatile; +} + + +gpointer background_job_ref (gpointer instance) { + BackgroundJob* self; + self = instance; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_atomic_int_inc (&self->ref_count); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + return instance; +#line 1894 "BackgroundJob.c" +} + + +void background_job_unref (gpointer instance) { + BackgroundJob* self; + self = instance; +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + BACKGROUND_JOB_GET_CLASS (self)->finalize (self); +#line 65 "/home/jens/Source/shotwell/src/threads/BackgroundJob.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1907 "BackgroundJob.c" + } +} + + + diff --git a/src/threads/Semaphore.c b/src/threads/Semaphore.c new file mode 100644 index 0000000..9874b65 --- /dev/null +++ b/src/threads/Semaphore.c @@ -0,0 +1,1159 @@ +/* Semaphore.c generated by valac 0.32.1, the Vala compiler + * generated from Semaphore.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. + */ +/* Semaphores may be used to be notified when a job is completed. This provides an alternate*/ +/* mechanism (essentially, a blocking mechanism) to the system of callbacks that BackgroundJob*/ +/* offers. They can also be used for other job-dependent notification mechanisms.*/ + +#include +#include +#include +#include +#include + + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; +typedef struct _AbstractSemaphorePrivate AbstractSemaphorePrivate; + +#define ABSTRACT_SEMAPHORE_TYPE_NOTIFY_ACTION (abstract_semaphore_notify_action_get_type ()) + +#define ABSTRACT_SEMAPHORE_TYPE_WAIT_ACTION (abstract_semaphore_wait_action_get_type ()) + +#define ABSTRACT_SEMAPHORE_TYPE_TYPE (abstract_semaphore_type_get_type ()) +typedef struct _ParamSpecAbstractSemaphore ParamSpecAbstractSemaphore; + +#define TYPE_SEMAPHORE (semaphore_get_type ()) +#define SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEMAPHORE, Semaphore)) +#define SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEMAPHORE, SemaphoreClass)) +#define IS_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEMAPHORE)) +#define IS_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEMAPHORE)) +#define SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEMAPHORE, SemaphoreClass)) + +typedef struct _Semaphore Semaphore; +typedef struct _SemaphoreClass SemaphoreClass; +typedef struct _SemaphorePrivate SemaphorePrivate; + +#define TYPE_COUNTDOWN_SEMAPHORE (countdown_semaphore_get_type ()) +#define COUNTDOWN_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphore)) +#define COUNTDOWN_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphoreClass)) +#define IS_COUNTDOWN_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COUNTDOWN_SEMAPHORE)) +#define IS_COUNTDOWN_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COUNTDOWN_SEMAPHORE)) +#define COUNTDOWN_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphoreClass)) + +typedef struct _CountdownSemaphore CountdownSemaphore; +typedef struct _CountdownSemaphoreClass CountdownSemaphoreClass; +typedef struct _CountdownSemaphorePrivate CountdownSemaphorePrivate; + +#define TYPE_EVENT_SEMAPHORE (event_semaphore_get_type ()) +#define EVENT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SEMAPHORE, EventSemaphore)) +#define EVENT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SEMAPHORE, EventSemaphoreClass)) +#define IS_EVENT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SEMAPHORE)) +#define IS_EVENT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SEMAPHORE)) +#define EVENT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SEMAPHORE, EventSemaphoreClass)) + +typedef struct _EventSemaphore EventSemaphore; +typedef struct _EventSemaphoreClass EventSemaphoreClass; +typedef struct _EventSemaphorePrivate EventSemaphorePrivate; +#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); + +typedef enum { + ABSTRACT_SEMAPHORE_NOTIFY_ACTION_NONE, + ABSTRACT_SEMAPHORE_NOTIFY_ACTION_SIGNAL +} AbstractSemaphoreNotifyAction; + +typedef enum { + ABSTRACT_SEMAPHORE_WAIT_ACTION_SLEEP, + ABSTRACT_SEMAPHORE_WAIT_ACTION_READY +} AbstractSemaphoreWaitAction; + +struct _AbstractSemaphore { + GTypeInstance parent_instance; + volatile int ref_count; + AbstractSemaphorePrivate * priv; +}; + +struct _AbstractSemaphoreClass { + GTypeClass parent_class; + void (*finalize) (AbstractSemaphore *self); + AbstractSemaphoreNotifyAction (*do_notify) (AbstractSemaphore* self); + AbstractSemaphoreWaitAction (*do_wait) (AbstractSemaphore* self); + gboolean (*do_reset) (AbstractSemaphore* self); +}; + +typedef enum { + ABSTRACT_SEMAPHORE_TYPE_SERIAL, + ABSTRACT_SEMAPHORE_TYPE_BROADCAST +} AbstractSemaphoreType; + +struct _AbstractSemaphorePrivate { + AbstractSemaphoreType type; + GMutex mutex; + GCond monitor; +}; + +struct _ParamSpecAbstractSemaphore { + GParamSpec parent_instance; +}; + +struct _Semaphore { + AbstractSemaphore parent_instance; + SemaphorePrivate * priv; +}; + +struct _SemaphoreClass { + AbstractSemaphoreClass parent_class; +}; + +struct _SemaphorePrivate { + gboolean passed; +}; + +struct _CountdownSemaphore { + AbstractSemaphore parent_instance; + CountdownSemaphorePrivate * priv; +}; + +struct _CountdownSemaphoreClass { + AbstractSemaphoreClass parent_class; +}; + +struct _CountdownSemaphorePrivate { + gint total; + gint passed; +}; + +struct _EventSemaphore { + AbstractSemaphore parent_instance; + EventSemaphorePrivate * priv; +}; + +struct _EventSemaphoreClass { + AbstractSemaphoreClass parent_class; +}; + +struct _EventSemaphorePrivate { + gboolean fired; +}; + + +static gpointer abstract_semaphore_parent_class = NULL; +static gpointer semaphore_parent_class = NULL; +static gpointer countdown_semaphore_parent_class = NULL; +static gpointer event_semaphore_parent_class = NULL; + +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +GType abstract_semaphore_notify_action_get_type (void) G_GNUC_CONST; +GType abstract_semaphore_wait_action_get_type (void) G_GNUC_CONST; +GType abstract_semaphore_type_get_type (void) G_GNUC_CONST; +#define ABSTRACT_SEMAPHORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphorePrivate)) +enum { + ABSTRACT_SEMAPHORE_DUMMY_PROPERTY +}; +AbstractSemaphore* abstract_semaphore_construct (GType object_type, AbstractSemaphoreType type); +static void abstract_semaphore_trigger (AbstractSemaphore* self); +void abstract_semaphore_notify (AbstractSemaphore* self); +AbstractSemaphoreNotifyAction abstract_semaphore_do_notify (AbstractSemaphore* self); +const gchar* abstract_semaphore_notify_action_to_string (AbstractSemaphoreNotifyAction self); +static AbstractSemaphoreNotifyAction abstract_semaphore_real_do_notify (AbstractSemaphore* self); +void abstract_semaphore_wait (AbstractSemaphore* self); +AbstractSemaphoreWaitAction abstract_semaphore_do_wait (AbstractSemaphore* self); +static AbstractSemaphoreWaitAction abstract_semaphore_real_do_wait (AbstractSemaphore* self); +gboolean abstract_semaphore_reset (AbstractSemaphore* self); +gboolean abstract_semaphore_do_reset (AbstractSemaphore* self); +static gboolean abstract_semaphore_real_do_reset (AbstractSemaphore* self); +static void abstract_semaphore_finalize (AbstractSemaphore* obj); +GType semaphore_get_type (void) G_GNUC_CONST; +#define SEMAPHORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEMAPHORE, SemaphorePrivate)) +enum { + SEMAPHORE_DUMMY_PROPERTY +}; +Semaphore* semaphore_new (void); +Semaphore* semaphore_construct (GType object_type); +static AbstractSemaphoreNotifyAction semaphore_real_do_notify (AbstractSemaphore* base); +static AbstractSemaphoreWaitAction semaphore_real_do_wait (AbstractSemaphore* base); +static void semaphore_finalize (AbstractSemaphore* obj); +GType countdown_semaphore_get_type (void) G_GNUC_CONST; +#define COUNTDOWN_SEMAPHORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphorePrivate)) +enum { + COUNTDOWN_SEMAPHORE_DUMMY_PROPERTY +}; +CountdownSemaphore* countdown_semaphore_new (gint total); +CountdownSemaphore* countdown_semaphore_construct (GType object_type, gint total); +static AbstractSemaphoreNotifyAction countdown_semaphore_real_do_notify (AbstractSemaphore* base); +static AbstractSemaphoreWaitAction countdown_semaphore_real_do_wait (AbstractSemaphore* base); +static void countdown_semaphore_finalize (AbstractSemaphore* obj); +GType event_semaphore_get_type (void) G_GNUC_CONST; +#define EVENT_SEMAPHORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_EVENT_SEMAPHORE, EventSemaphorePrivate)) +enum { + EVENT_SEMAPHORE_DUMMY_PROPERTY +}; +EventSemaphore* event_semaphore_new (void); +EventSemaphore* event_semaphore_construct (GType object_type); +static AbstractSemaphoreNotifyAction event_semaphore_real_do_notify (AbstractSemaphore* base); +static AbstractSemaphoreWaitAction event_semaphore_real_do_wait (AbstractSemaphore* base); +static gboolean event_semaphore_real_do_reset (AbstractSemaphore* base); +static void event_semaphore_finalize (AbstractSemaphore* obj); +static void _vala_clear_GMutex (GMutex * mutex); +static void _vala_clear_GRecMutex (GRecMutex * mutex); +static void _vala_clear_GRWLock (GRWLock * mutex); +static void _vala_clear_GCond (GCond * mutex); + + +GType abstract_semaphore_type_get_type (void) { + static volatile gsize abstract_semaphore_type_type_id__volatile = 0; + if (g_once_init_enter (&abstract_semaphore_type_type_id__volatile)) { + static const GEnumValue values[] = {{ABSTRACT_SEMAPHORE_TYPE_SERIAL, "ABSTRACT_SEMAPHORE_TYPE_SERIAL", "serial"}, {ABSTRACT_SEMAPHORE_TYPE_BROADCAST, "ABSTRACT_SEMAPHORE_TYPE_BROADCAST", "broadcast"}, {0, NULL, NULL}}; + GType abstract_semaphore_type_type_id; + abstract_semaphore_type_type_id = g_enum_register_static ("AbstractSemaphoreType", values); + g_once_init_leave (&abstract_semaphore_type_type_id__volatile, abstract_semaphore_type_type_id); + } + return abstract_semaphore_type_type_id__volatile; +} + + +GType abstract_semaphore_notify_action_get_type (void) { + static volatile gsize abstract_semaphore_notify_action_type_id__volatile = 0; + if (g_once_init_enter (&abstract_semaphore_notify_action_type_id__volatile)) { + static const GEnumValue values[] = {{ABSTRACT_SEMAPHORE_NOTIFY_ACTION_NONE, "ABSTRACT_SEMAPHORE_NOTIFY_ACTION_NONE", "none"}, {ABSTRACT_SEMAPHORE_NOTIFY_ACTION_SIGNAL, "ABSTRACT_SEMAPHORE_NOTIFY_ACTION_SIGNAL", "signal"}, {0, NULL, NULL}}; + GType abstract_semaphore_notify_action_type_id; + abstract_semaphore_notify_action_type_id = g_enum_register_static ("AbstractSemaphoreNotifyAction", values); + g_once_init_leave (&abstract_semaphore_notify_action_type_id__volatile, abstract_semaphore_notify_action_type_id); + } + return abstract_semaphore_notify_action_type_id__volatile; +} + + +GType abstract_semaphore_wait_action_get_type (void) { + static volatile gsize abstract_semaphore_wait_action_type_id__volatile = 0; + if (g_once_init_enter (&abstract_semaphore_wait_action_type_id__volatile)) { + static const GEnumValue values[] = {{ABSTRACT_SEMAPHORE_WAIT_ACTION_SLEEP, "ABSTRACT_SEMAPHORE_WAIT_ACTION_SLEEP", "sleep"}, {ABSTRACT_SEMAPHORE_WAIT_ACTION_READY, "ABSTRACT_SEMAPHORE_WAIT_ACTION_READY", "ready"}, {0, NULL, NULL}}; + GType abstract_semaphore_wait_action_type_id; + abstract_semaphore_wait_action_type_id = g_enum_register_static ("AbstractSemaphoreWaitAction", values); + g_once_init_leave (&abstract_semaphore_wait_action_type_id__volatile, abstract_semaphore_wait_action_type_id); + } + return abstract_semaphore_wait_action_type_id__volatile; +} + + +AbstractSemaphore* abstract_semaphore_construct (GType object_type, AbstractSemaphoreType type) { + AbstractSemaphore* self = NULL; + gboolean _tmp0_ = FALSE; + AbstractSemaphoreType _tmp1_ = 0; + AbstractSemaphoreType _tmp3_ = 0; +#line 30 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = (AbstractSemaphore*) g_type_create_instance (object_type); +#line 31 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp1_ = type; +#line 31 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (_tmp1_ == ABSTRACT_SEMAPHORE_TYPE_SERIAL) { +#line 31 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = TRUE; +#line 274 "Semaphore.c" + } else { + AbstractSemaphoreType _tmp2_ = 0; +#line 31 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp2_ = type; +#line 31 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = _tmp2_ == ABSTRACT_SEMAPHORE_TYPE_BROADCAST; +#line 281 "Semaphore.c" + } +#line 31 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _vala_assert (_tmp0_, "type == Type.SERIAL || type == Type.BROADCAST"); +#line 33 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp3_ = type; +#line 33 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->type = _tmp3_; +#line 30 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return self; +#line 291 "Semaphore.c" +} + + +static void abstract_semaphore_trigger (AbstractSemaphore* self) { + AbstractSemaphoreType _tmp0_ = 0; +#line 36 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (IS_ABSTRACT_SEMAPHORE (self)); +#line 37 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = self->priv->type; +#line 37 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (_tmp0_ == ABSTRACT_SEMAPHORE_TYPE_SERIAL) { +#line 38 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_cond_signal (&self->priv->monitor); +#line 305 "Semaphore.c" + } else { +#line 40 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_cond_broadcast (&self->priv->monitor); +#line 309 "Semaphore.c" + } +} + + +void abstract_semaphore_notify (AbstractSemaphore* self) { + AbstractSemaphoreNotifyAction action = 0; + AbstractSemaphoreNotifyAction _tmp0_ = 0; + AbstractSemaphoreNotifyAction _tmp1_ = 0; +#line 43 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (IS_ABSTRACT_SEMAPHORE (self)); +#line 44 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_mutex_lock (&self->priv->mutex); +#line 46 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = abstract_semaphore_do_notify (self); +#line 46 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + action = _tmp0_; +#line 47 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp1_ = action; +#line 47 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + switch (_tmp1_) { +#line 47 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + case ABSTRACT_SEMAPHORE_NOTIFY_ACTION_NONE: +#line 332 "Semaphore.c" + { +#line 50 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + break; +#line 336 "Semaphore.c" + } +#line 47 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + case ABSTRACT_SEMAPHORE_NOTIFY_ACTION_SIGNAL: +#line 340 "Semaphore.c" + { +#line 53 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + abstract_semaphore_trigger (self); +#line 54 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + break; +#line 346 "Semaphore.c" + } + default: + { + AbstractSemaphoreNotifyAction _tmp2_ = 0; + GEnumValue* _tmp3_; +#line 57 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp2_ = action; +#line 57 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp3_ = g_enum_get_value (g_type_class_ref (ABSTRACT_SEMAPHORE_TYPE_NOTIFY_ACTION), _tmp2_); +#line 57 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_error ("Semaphore.vala:57: Unknown semaphore action: %s", (_tmp3_ != NULL) ? _tmp3_->value_name : NULL); +#line 358 "Semaphore.c" + } + } +#line 60 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_mutex_unlock (&self->priv->mutex); +#line 363 "Semaphore.c" +} + + +static AbstractSemaphoreNotifyAction abstract_semaphore_real_do_notify (AbstractSemaphore* self) { +#line 64 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_critical ("Type `%s' does not implement abstract method `abstract_semaphore_do_notify'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 64 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return 0; +#line 372 "Semaphore.c" +} + + +AbstractSemaphoreNotifyAction abstract_semaphore_do_notify (AbstractSemaphore* self) { +#line 64 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_val_if_fail (IS_ABSTRACT_SEMAPHORE (self), 0); +#line 64 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return ABSTRACT_SEMAPHORE_GET_CLASS (self)->do_notify (self); +#line 381 "Semaphore.c" +} + + +void abstract_semaphore_wait (AbstractSemaphore* self) { +#line 66 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (IS_ABSTRACT_SEMAPHORE (self)); +#line 67 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_mutex_lock (&self->priv->mutex); +#line 69 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + while (TRUE) { +#line 392 "Semaphore.c" + AbstractSemaphoreWaitAction _tmp0_ = 0; +#line 69 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = abstract_semaphore_do_wait (self); +#line 69 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (!(_tmp0_ == ABSTRACT_SEMAPHORE_WAIT_ACTION_SLEEP)) { +#line 69 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + break; +#line 400 "Semaphore.c" + } +#line 70 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_cond_wait (&self->priv->monitor, &self->priv->mutex); +#line 404 "Semaphore.c" + } +#line 72 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_mutex_unlock (&self->priv->mutex); +#line 408 "Semaphore.c" +} + + +static AbstractSemaphoreWaitAction abstract_semaphore_real_do_wait (AbstractSemaphore* self) { +#line 76 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_critical ("Type `%s' does not implement abstract method `abstract_semaphore_do_wait'", g_type_name (G_TYPE_FROM_INSTANCE (self))); +#line 76 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return 0; +#line 417 "Semaphore.c" +} + + +AbstractSemaphoreWaitAction abstract_semaphore_do_wait (AbstractSemaphore* self) { +#line 76 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_val_if_fail (IS_ABSTRACT_SEMAPHORE (self), 0); +#line 76 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return ABSTRACT_SEMAPHORE_GET_CLASS (self)->do_wait (self); +#line 426 "Semaphore.c" +} + + +gboolean abstract_semaphore_reset (AbstractSemaphore* self) { + gboolean result = FALSE; + gboolean is_reset = FALSE; + gboolean _tmp0_ = FALSE; +#line 79 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_val_if_fail (IS_ABSTRACT_SEMAPHORE (self), FALSE); +#line 80 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_mutex_lock (&self->priv->mutex); +#line 81 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = abstract_semaphore_do_reset (self); +#line 81 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + is_reset = _tmp0_; +#line 82 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_mutex_unlock (&self->priv->mutex); +#line 84 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = is_reset; +#line 84 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 448 "Semaphore.c" +} + + +static gboolean abstract_semaphore_real_do_reset (AbstractSemaphore* self) { + gboolean result = FALSE; +#line 90 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = FALSE; +#line 90 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 458 "Semaphore.c" +} + + +gboolean abstract_semaphore_do_reset (AbstractSemaphore* self) { +#line 89 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_val_if_fail (IS_ABSTRACT_SEMAPHORE (self), FALSE); +#line 89 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return ABSTRACT_SEMAPHORE_GET_CLASS (self)->do_reset (self); +#line 467 "Semaphore.c" +} + + +static void value_abstract_semaphore_init (GValue* value) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + value->data[0].v_pointer = NULL; +#line 474 "Semaphore.c" +} + + +static void value_abstract_semaphore_free_value (GValue* value) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (value->data[0].v_pointer) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + abstract_semaphore_unref (value->data[0].v_pointer); +#line 483 "Semaphore.c" + } +} + + +static void value_abstract_semaphore_copy_value (const GValue* src_value, GValue* dest_value) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (src_value->data[0].v_pointer) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + dest_value->data[0].v_pointer = abstract_semaphore_ref (src_value->data[0].v_pointer); +#line 493 "Semaphore.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + dest_value->data[0].v_pointer = NULL; +#line 497 "Semaphore.c" + } +} + + +static gpointer value_abstract_semaphore_peek_pointer (const GValue* value) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return value->data[0].v_pointer; +#line 505 "Semaphore.c" +} + + +static gchar* value_abstract_semaphore_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (collect_values[0].v_pointer) { +#line 512 "Semaphore.c" + AbstractSemaphore* object; + object = collect_values[0].v_pointer; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (object->parent_instance.g_class == NULL) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 519 "Semaphore.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 523 "Semaphore.c" + } +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + value->data[0].v_pointer = abstract_semaphore_ref (object); +#line 527 "Semaphore.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + value->data[0].v_pointer = NULL; +#line 531 "Semaphore.c" + } +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return NULL; +#line 535 "Semaphore.c" +} + + +static gchar* value_abstract_semaphore_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + AbstractSemaphore** object_p; + object_p = collect_values[0].v_pointer; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (!object_p) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 546 "Semaphore.c" + } +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (!value->data[0].v_pointer) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + *object_p = NULL; +#line 552 "Semaphore.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + *object_p = value->data[0].v_pointer; +#line 556 "Semaphore.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + *object_p = abstract_semaphore_ref (value->data[0].v_pointer); +#line 560 "Semaphore.c" + } +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return NULL; +#line 564 "Semaphore.c" +} + + +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecAbstractSemaphore* spec; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_ABSTRACT_SEMAPHORE), NULL); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return G_PARAM_SPEC (spec); +#line 578 "Semaphore.c" +} + + +gpointer value_get_abstract_semaphore (const GValue* value) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ABSTRACT_SEMAPHORE), NULL); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return value->data[0].v_pointer; +#line 587 "Semaphore.c" +} + + +void value_set_abstract_semaphore (GValue* value, gpointer v_object) { + AbstractSemaphore* old; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ABSTRACT_SEMAPHORE)); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + old = value->data[0].v_pointer; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (v_object) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_ABSTRACT_SEMAPHORE)); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + value->data[0].v_pointer = v_object; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + abstract_semaphore_ref (value->data[0].v_pointer); +#line 607 "Semaphore.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + value->data[0].v_pointer = NULL; +#line 611 "Semaphore.c" + } +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (old) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + abstract_semaphore_unref (old); +#line 617 "Semaphore.c" + } +} + + +void value_take_abstract_semaphore (GValue* value, gpointer v_object) { + AbstractSemaphore* old; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ABSTRACT_SEMAPHORE)); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + old = value->data[0].v_pointer; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (v_object) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_ABSTRACT_SEMAPHORE)); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + value->data[0].v_pointer = v_object; +#line 636 "Semaphore.c" + } else { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + value->data[0].v_pointer = NULL; +#line 640 "Semaphore.c" + } +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (old) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + abstract_semaphore_unref (old); +#line 646 "Semaphore.c" + } +} + + +static void abstract_semaphore_class_init (AbstractSemaphoreClass * klass) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + abstract_semaphore_parent_class = g_type_class_peek_parent (klass); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->finalize = abstract_semaphore_finalize; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_type_class_add_private (klass, sizeof (AbstractSemaphorePrivate)); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_notify = abstract_semaphore_real_do_notify; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_wait = abstract_semaphore_real_do_wait; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_reset = abstract_semaphore_real_do_reset; +#line 664 "Semaphore.c" +} + + +static void abstract_semaphore_instance_init (AbstractSemaphore * self) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv = ABSTRACT_SEMAPHORE_GET_PRIVATE (self); +#line 27 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_mutex_init (&self->priv->mutex); +#line 28 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_cond_init (&self->priv->monitor); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->ref_count = 1; +#line 677 "Semaphore.c" +} + + +static void abstract_semaphore_finalize (AbstractSemaphore* obj) { + AbstractSemaphore * self; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_signal_handlers_destroy (self); +#line 27 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _vala_clear_GMutex (&self->priv->mutex); +#line 28 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _vala_clear_GCond (&self->priv->monitor); +#line 691 "Semaphore.c" +} + + +GType abstract_semaphore_get_type (void) { + static volatile gsize abstract_semaphore_type_id__volatile = 0; + if (g_once_init_enter (&abstract_semaphore_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_abstract_semaphore_init, value_abstract_semaphore_free_value, value_abstract_semaphore_copy_value, value_abstract_semaphore_peek_pointer, "p", value_abstract_semaphore_collect_value, "p", value_abstract_semaphore_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (AbstractSemaphoreClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) abstract_semaphore_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AbstractSemaphore), 0, (GInstanceInitFunc) abstract_semaphore_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType abstract_semaphore_type_id; + abstract_semaphore_type_id = g_type_register_fundamental (g_type_fundamental_next (), "AbstractSemaphore", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT); + g_once_init_leave (&abstract_semaphore_type_id__volatile, abstract_semaphore_type_id); + } + return abstract_semaphore_type_id__volatile; +} + + +gpointer abstract_semaphore_ref (gpointer instance) { + AbstractSemaphore* self; + self = instance; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_atomic_int_inc (&self->ref_count); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return instance; +#line 716 "Semaphore.c" +} + + +void abstract_semaphore_unref (gpointer instance) { + AbstractSemaphore* self; + self = instance; +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ABSTRACT_SEMAPHORE_GET_CLASS (self)->finalize (self); +#line 10 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 729 "Semaphore.c" + } +} + + +Semaphore* semaphore_construct (GType object_type) { + Semaphore* self = NULL; +#line 98 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = (Semaphore*) abstract_semaphore_construct (object_type, ABSTRACT_SEMAPHORE_TYPE_BROADCAST); +#line 97 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return self; +#line 740 "Semaphore.c" +} + + +Semaphore* semaphore_new (void) { +#line 97 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return semaphore_construct (TYPE_SEMAPHORE); +#line 747 "Semaphore.c" +} + + +static AbstractSemaphoreNotifyAction semaphore_real_do_notify (AbstractSemaphore* base) { + Semaphore * self; + AbstractSemaphoreNotifyAction result = 0; + gboolean _tmp0_ = FALSE; +#line 101 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEMAPHORE, Semaphore); +#line 102 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = self->priv->passed; +#line 102 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (_tmp0_) { +#line 103 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = ABSTRACT_SEMAPHORE_NOTIFY_ACTION_NONE; +#line 103 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 765 "Semaphore.c" + } +#line 105 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->passed = TRUE; +#line 107 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = ABSTRACT_SEMAPHORE_NOTIFY_ACTION_SIGNAL; +#line 107 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 773 "Semaphore.c" +} + + +static AbstractSemaphoreWaitAction semaphore_real_do_wait (AbstractSemaphore* base) { + Semaphore * self; + AbstractSemaphoreWaitAction result = 0; + AbstractSemaphoreWaitAction _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 110 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEMAPHORE, Semaphore); +#line 111 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp1_ = self->priv->passed; +#line 111 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (_tmp1_) { +#line 111 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = ABSTRACT_SEMAPHORE_WAIT_ACTION_READY; +#line 790 "Semaphore.c" + } else { +#line 111 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = ABSTRACT_SEMAPHORE_WAIT_ACTION_SLEEP; +#line 794 "Semaphore.c" + } +#line 111 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = _tmp0_; +#line 111 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 800 "Semaphore.c" +} + + +static void semaphore_class_init (SemaphoreClass * klass) { +#line 94 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + semaphore_parent_class = g_type_class_peek_parent (klass); +#line 94 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->finalize = semaphore_finalize; +#line 94 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_type_class_add_private (klass, sizeof (SemaphorePrivate)); +#line 94 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_notify = semaphore_real_do_notify; +#line 94 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_wait = semaphore_real_do_wait; +#line 815 "Semaphore.c" +} + + +static void semaphore_instance_init (Semaphore * self) { +#line 94 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv = SEMAPHORE_GET_PRIVATE (self); +#line 95 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->passed = FALSE; +#line 824 "Semaphore.c" +} + + +static void semaphore_finalize (AbstractSemaphore* obj) { + Semaphore * self; +#line 94 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEMAPHORE, Semaphore); +#line 94 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ABSTRACT_SEMAPHORE_CLASS (semaphore_parent_class)->finalize (obj); +#line 834 "Semaphore.c" +} + + +GType semaphore_get_type (void) { + static volatile gsize semaphore_type_id__volatile = 0; + if (g_once_init_enter (&semaphore_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (SemaphoreClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) semaphore_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Semaphore), 0, (GInstanceInitFunc) semaphore_instance_init, NULL }; + GType semaphore_type_id; + semaphore_type_id = g_type_register_static (TYPE_ABSTRACT_SEMAPHORE, "Semaphore", &g_define_type_info, 0); + g_once_init_leave (&semaphore_type_id__volatile, semaphore_type_id); + } + return semaphore_type_id__volatile; +} + + +CountdownSemaphore* countdown_semaphore_construct (GType object_type, gint total) { + CountdownSemaphore* self = NULL; + gint _tmp0_ = 0; +#line 120 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = (CountdownSemaphore*) abstract_semaphore_construct (object_type, ABSTRACT_SEMAPHORE_TYPE_BROADCAST); +#line 122 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = total; +#line 122 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->total = _tmp0_; +#line 119 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return self; +#line 861 "Semaphore.c" +} + + +CountdownSemaphore* countdown_semaphore_new (gint total) { +#line 119 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return countdown_semaphore_construct (TYPE_COUNTDOWN_SEMAPHORE, total); +#line 868 "Semaphore.c" +} + + +static AbstractSemaphoreNotifyAction countdown_semaphore_real_do_notify (AbstractSemaphore* base) { + CountdownSemaphore * self; + AbstractSemaphoreNotifyAction result = 0; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + AbstractSemaphoreNotifyAction _tmp4_ = 0; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 125 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphore); +#line 126 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = self->priv->passed; +#line 126 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp1_ = self->priv->total; +#line 126 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (_tmp0_ >= _tmp1_) { +#line 889 "Semaphore.c" + gint _tmp2_ = 0; + gint _tmp3_ = 0; +#line 127 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp2_ = self->priv->passed; +#line 127 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp3_ = self->priv->total; +#line 127 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_critical ("Semaphore.vala:127: CountdownSemaphore overrun: %d/%d", _tmp2_ + 1, _tmp3_); +#line 898 "Semaphore.c" + } +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp5_ = self->priv->passed; +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->passed = _tmp5_ + 1; +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp6_ = self->priv->passed; +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp7_ = self->priv->total; +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (_tmp6_ >= _tmp7_) { +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp4_ = ABSTRACT_SEMAPHORE_NOTIFY_ACTION_SIGNAL; +#line 912 "Semaphore.c" + } else { +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp4_ = ABSTRACT_SEMAPHORE_NOTIFY_ACTION_NONE; +#line 916 "Semaphore.c" + } +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = _tmp4_; +#line 129 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 922 "Semaphore.c" +} + + +static AbstractSemaphoreWaitAction countdown_semaphore_real_do_wait (AbstractSemaphore* base) { + CountdownSemaphore * self; + AbstractSemaphoreWaitAction result = 0; + AbstractSemaphoreWaitAction _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 132 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphore); +#line 133 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp1_ = self->priv->passed; +#line 133 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp2_ = self->priv->total; +#line 133 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (_tmp1_ < _tmp2_) { +#line 133 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = ABSTRACT_SEMAPHORE_WAIT_ACTION_SLEEP; +#line 942 "Semaphore.c" + } else { +#line 133 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = ABSTRACT_SEMAPHORE_WAIT_ACTION_READY; +#line 946 "Semaphore.c" + } +#line 133 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = _tmp0_; +#line 133 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 952 "Semaphore.c" +} + + +static void countdown_semaphore_class_init (CountdownSemaphoreClass * klass) { +#line 115 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + countdown_semaphore_parent_class = g_type_class_peek_parent (klass); +#line 115 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->finalize = countdown_semaphore_finalize; +#line 115 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_type_class_add_private (klass, sizeof (CountdownSemaphorePrivate)); +#line 115 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_notify = countdown_semaphore_real_do_notify; +#line 115 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_wait = countdown_semaphore_real_do_wait; +#line 967 "Semaphore.c" +} + + +static void countdown_semaphore_instance_init (CountdownSemaphore * self) { +#line 115 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv = COUNTDOWN_SEMAPHORE_GET_PRIVATE (self); +#line 117 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->passed = 0; +#line 976 "Semaphore.c" +} + + +static void countdown_semaphore_finalize (AbstractSemaphore* obj) { + CountdownSemaphore * self; +#line 115 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_COUNTDOWN_SEMAPHORE, CountdownSemaphore); +#line 115 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ABSTRACT_SEMAPHORE_CLASS (countdown_semaphore_parent_class)->finalize (obj); +#line 986 "Semaphore.c" +} + + +GType countdown_semaphore_get_type (void) { + static volatile gsize countdown_semaphore_type_id__volatile = 0; + if (g_once_init_enter (&countdown_semaphore_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (CountdownSemaphoreClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) countdown_semaphore_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CountdownSemaphore), 0, (GInstanceInitFunc) countdown_semaphore_instance_init, NULL }; + GType countdown_semaphore_type_id; + countdown_semaphore_type_id = g_type_register_static (TYPE_ABSTRACT_SEMAPHORE, "CountdownSemaphore", &g_define_type_info, 0); + g_once_init_leave (&countdown_semaphore_type_id__volatile, countdown_semaphore_type_id); + } + return countdown_semaphore_type_id__volatile; +} + + +EventSemaphore* event_semaphore_construct (GType object_type) { + EventSemaphore* self = NULL; +#line 141 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = (EventSemaphore*) abstract_semaphore_construct (object_type, ABSTRACT_SEMAPHORE_TYPE_BROADCAST); +#line 140 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return self; +#line 1008 "Semaphore.c" +} + + +EventSemaphore* event_semaphore_new (void) { +#line 140 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return event_semaphore_construct (TYPE_EVENT_SEMAPHORE); +#line 1015 "Semaphore.c" +} + + +static AbstractSemaphoreNotifyAction event_semaphore_real_do_notify (AbstractSemaphore* base) { + EventSemaphore * self; + AbstractSemaphoreNotifyAction result = 0; +#line 144 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_SEMAPHORE, EventSemaphore); +#line 145 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->fired = TRUE; +#line 147 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = ABSTRACT_SEMAPHORE_NOTIFY_ACTION_SIGNAL; +#line 147 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 1030 "Semaphore.c" +} + + +static AbstractSemaphoreWaitAction event_semaphore_real_do_wait (AbstractSemaphore* base) { + EventSemaphore * self; + AbstractSemaphoreWaitAction result = 0; + AbstractSemaphoreWaitAction _tmp0_ = 0; + gboolean _tmp1_ = FALSE; +#line 150 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_SEMAPHORE, EventSemaphore); +#line 151 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp1_ = self->priv->fired; +#line 151 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + if (_tmp1_) { +#line 151 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = ABSTRACT_SEMAPHORE_WAIT_ACTION_READY; +#line 1047 "Semaphore.c" + } else { +#line 151 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + _tmp0_ = ABSTRACT_SEMAPHORE_WAIT_ACTION_SLEEP; +#line 1051 "Semaphore.c" + } +#line 151 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = _tmp0_; +#line 151 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 1057 "Semaphore.c" +} + + +static gboolean event_semaphore_real_do_reset (AbstractSemaphore* base) { + EventSemaphore * self; + gboolean result = FALSE; +#line 154 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_EVENT_SEMAPHORE, EventSemaphore); +#line 155 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->fired = FALSE; +#line 157 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + result = TRUE; +#line 157 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + return result; +#line 1072 "Semaphore.c" +} + + +static void event_semaphore_class_init (EventSemaphoreClass * klass) { +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + event_semaphore_parent_class = g_type_class_peek_parent (klass); +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->finalize = event_semaphore_finalize; +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + g_type_class_add_private (klass, sizeof (EventSemaphorePrivate)); +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_notify = event_semaphore_real_do_notify; +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_wait = event_semaphore_real_do_wait; +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ((AbstractSemaphoreClass *) klass)->do_reset = event_semaphore_real_do_reset; +#line 1089 "Semaphore.c" +} + + +static void event_semaphore_instance_init (EventSemaphore * self) { +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv = EVENT_SEMAPHORE_GET_PRIVATE (self); +#line 138 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self->priv->fired = FALSE; +#line 1098 "Semaphore.c" +} + + +static void event_semaphore_finalize (AbstractSemaphore* obj) { + EventSemaphore * self; +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_EVENT_SEMAPHORE, EventSemaphore); +#line 137 "/home/jens/Source/shotwell/src/threads/Semaphore.vala" + ABSTRACT_SEMAPHORE_CLASS (event_semaphore_parent_class)->finalize (obj); +#line 1108 "Semaphore.c" +} + + +GType event_semaphore_get_type (void) { + static volatile gsize event_semaphore_type_id__volatile = 0; + if (g_once_init_enter (&event_semaphore_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (EventSemaphoreClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) event_semaphore_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (EventSemaphore), 0, (GInstanceInitFunc) event_semaphore_instance_init, NULL }; + GType event_semaphore_type_id; + event_semaphore_type_id = g_type_register_static (TYPE_ABSTRACT_SEMAPHORE, "EventSemaphore", &g_define_type_info, 0); + g_once_init_leave (&event_semaphore_type_id__volatile, event_semaphore_type_id); + } + return event_semaphore_type_id__volatile; +} + + +static void _vala_clear_GMutex (GMutex * mutex) { + GMutex zero_mutex = { 0 }; + if (memcmp (mutex, &zero_mutex, sizeof (GMutex))) { + g_mutex_clear (mutex); + memset (mutex, 0, sizeof (GMutex)); + } +} + + +static void _vala_clear_GRecMutex (GRecMutex * mutex) { + GRecMutex zero_mutex = { 0 }; + if (memcmp (mutex, &zero_mutex, sizeof (GRecMutex))) { + g_rec_mutex_clear (mutex); + memset (mutex, 0, sizeof (GRecMutex)); + } +} + + +static void _vala_clear_GRWLock (GRWLock * mutex) { + GRWLock zero_mutex = { 0 }; + if (memcmp (mutex, &zero_mutex, sizeof (GRWLock))) { + g_rw_lock_clear (mutex); + memset (mutex, 0, sizeof (GRWLock)); + } +} + + +static void _vala_clear_GCond (GCond * mutex) { + GCond zero_mutex = { 0 }; + if (memcmp (mutex, &zero_mutex, sizeof (GCond))) { + g_cond_clear (mutex); + memset (mutex, 0, sizeof (GCond)); + } +} + + + diff --git a/src/threads/Threads.c b/src/threads/Threads.c new file mode 100644 index 0000000..d87457f --- /dev/null +++ b/src/threads/Threads.c @@ -0,0 +1,28 @@ +/* Threads.c generated by valac 0.32.1, the Vala compiler + * generated from Threads.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include + + + + +void threads_init (GError** error); +void threads_terminate (void); + + +void threads_init (GError** error) { +} + + +void threads_terminate (void) { +} + + + diff --git a/src/threads/Workers.c b/src/threads/Workers.c new file mode 100644 index 0000000..92d5e97 --- /dev/null +++ b/src/threads/Workers.c @@ -0,0 +1,1074 @@ +/* Workers.c generated by valac 0.32.1, the Vala compiler + * generated from Workers.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include + + +#define TYPE_SORTED_LIST (sorted_list_get_type ()) +#define SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SORTED_LIST, SortedList)) +#define SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SORTED_LIST, SortedListClass)) +#define IS_SORTED_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SORTED_LIST)) +#define IS_SORTED_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SORTED_LIST)) +#define SORTED_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SORTED_LIST, SortedListClass)) + +typedef struct _SortedList SortedList; +typedef struct _SortedListClass SortedListClass; +typedef struct _SortedListPrivate SortedListPrivate; + +#define TYPE_BACKGROUND_JOB_BATCH (background_job_batch_get_type ()) +#define BACKGROUND_JOB_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB_BATCH, BackgroundJobBatch)) +#define BACKGROUND_JOB_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB_BATCH, BackgroundJobBatchClass)) +#define IS_BACKGROUND_JOB_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB_BATCH)) +#define IS_BACKGROUND_JOB_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB_BATCH)) +#define BACKGROUND_JOB_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB_BATCH, BackgroundJobBatchClass)) + +typedef struct _BackgroundJobBatch BackgroundJobBatch; +typedef struct _BackgroundJobBatchClass BackgroundJobBatchClass; +typedef struct _BackgroundJobBatchPrivate BackgroundJobBatchPrivate; + +#define TYPE_BACKGROUND_JOB (background_job_get_type ()) +#define BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BACKGROUND_JOB, BackgroundJob)) +#define BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BACKGROUND_JOB, BackgroundJobClass)) +#define IS_BACKGROUND_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BACKGROUND_JOB)) +#define IS_BACKGROUND_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BACKGROUND_JOB)) +#define BACKGROUND_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BACKGROUND_JOB, BackgroundJobClass)) + +typedef struct _BackgroundJob BackgroundJob; +typedef struct _BackgroundJobClass BackgroundJobClass; + +#define TYPE_WORKERS (workers_get_type ()) +#define WORKERS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WORKERS, Workers)) +#define WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WORKERS, WorkersClass)) +#define IS_WORKERS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WORKERS)) +#define IS_WORKERS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WORKERS)) +#define WORKERS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WORKERS, WorkersClass)) + +typedef struct _Workers Workers; +typedef struct _WorkersClass WorkersClass; +typedef struct _WorkersPrivate WorkersPrivate; + +#define TYPE_ABSTRACT_SEMAPHORE (abstract_semaphore_get_type ()) +#define ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)) +#define ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) +#define IS_ABSTRACT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABSTRACT_SEMAPHORE)) +#define IS_ABSTRACT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABSTRACT_SEMAPHORE)) +#define ABSTRACT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphoreClass)) + +typedef struct _AbstractSemaphore AbstractSemaphore; +typedef struct _AbstractSemaphoreClass AbstractSemaphoreClass; + +#define TYPE_EVENT_SEMAPHORE (event_semaphore_get_type ()) +#define EVENT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SEMAPHORE, EventSemaphore)) +#define EVENT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SEMAPHORE, EventSemaphoreClass)) +#define IS_EVENT_SEMAPHORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SEMAPHORE)) +#define IS_EVENT_SEMAPHORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SEMAPHORE)) +#define EVENT_SEMAPHORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SEMAPHORE, EventSemaphoreClass)) + +typedef struct _EventSemaphore EventSemaphore; +typedef struct _EventSemaphoreClass EventSemaphoreClass; +#define _g_thread_pool_free0(var) ((var == NULL) ? NULL : (var = (g_thread_pool_free (var, FALSE, TRUE), NULL))) +#define _g_async_queue_unref0(var) ((var == NULL) ? NULL : (var = (g_async_queue_unref (var), NULL))) +#define _abstract_semaphore_unref0(var) ((var == NULL) ? NULL : (var = (abstract_semaphore_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) +#define _background_job_unref0(var) ((var == NULL) ? NULL : (var = (background_job_unref (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _ParamSpecWorkers ParamSpecWorkers; +#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 _SortedList { + GObject parent_instance; + SortedListPrivate * priv; +}; + +struct _SortedListClass { + GObjectClass parent_class; +}; + +struct _BackgroundJobBatch { + SortedList parent_instance; + BackgroundJobBatchPrivate * priv; +}; + +struct _BackgroundJobBatchClass { + SortedListClass parent_class; +}; + +typedef gint64 (*Comparator) (void* a, void* b, void* user_data); +struct _Workers { + GTypeInstance parent_instance; + volatile int ref_count; + WorkersPrivate * priv; +}; + +struct _WorkersClass { + GTypeClass parent_class; + void (*finalize) (Workers *self); +}; + +struct _WorkersPrivate { + GThreadPool* thread_pool; + GAsyncQueue* queue; + GRecMutex __lock_queue; + EventSemaphore* empty_event; + gint enqueued; +}; + +struct _ParamSpecWorkers { + GParamSpec parent_instance; +}; + + +static gpointer background_job_batch_parent_class = NULL; +static gpointer workers_parent_class = NULL; + +GType sorted_list_get_type (void) G_GNUC_CONST; +GType background_job_batch_get_type (void) G_GNUC_CONST; +enum { + BACKGROUND_JOB_BATCH_DUMMY_PROPERTY +}; +BackgroundJobBatch* background_job_batch_new (void); +BackgroundJobBatch* background_job_batch_construct (GType object_type); +gint64 background_job_priority_comparator (void* a, void* b); +static gint64 _background_job_priority_comparator_comparator (void* a, void* b, gpointer self); +SortedList* sorted_list_new (GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +SortedList* sorted_list_construct (GType object_type, GType g_type, GBoxedCopyFunc g_dup_func, GDestroyNotify g_destroy_func, Comparator cmp, void* cmp_target); +gpointer background_job_ref (gpointer instance); +void background_job_unref (gpointer instance); +GParamSpec* param_spec_background_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_background_job (GValue* value, gpointer v_object); +void value_take_background_job (GValue* value, gpointer v_object); +gpointer value_get_background_job (const GValue* value); +GType background_job_get_type (void) G_GNUC_CONST; +gpointer workers_ref (gpointer instance); +void workers_unref (gpointer instance); +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_workers (GValue* value, gpointer v_object); +void value_take_workers (GValue* value, gpointer v_object); +gpointer value_get_workers (const GValue* value); +GType workers_get_type (void) G_GNUC_CONST; +gpointer abstract_semaphore_ref (gpointer instance); +void abstract_semaphore_unref (gpointer instance); +GParamSpec* param_spec_abstract_semaphore (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_abstract_semaphore (GValue* value, gpointer v_object); +void value_take_abstract_semaphore (GValue* value, gpointer v_object); +gpointer value_get_abstract_semaphore (const GValue* value); +GType abstract_semaphore_get_type (void) G_GNUC_CONST; +GType event_semaphore_get_type (void) G_GNUC_CONST; +#define WORKERS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_WORKERS, WorkersPrivate)) +enum { + WORKERS_DUMMY_PROPERTY +}; +static void _background_job_unref0_ (gpointer var); +EventSemaphore* event_semaphore_new (void); +EventSemaphore* event_semaphore_construct (GType object_type); +#define WORKERS_UNLIMITED_THREADS -1 +Workers* workers_new (guint max_threads, gboolean exclusive); +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive); +void abstract_semaphore_notify (AbstractSemaphore* self); +static void workers_thread_start (Workers* self, void* ignored); +static void _workers_thread_start_gfunc (gpointer data, gpointer self); +guint workers_threads_per_cpu (gint per, gint max); +guint workers_thread_per_cpu_minus_one (void); +void workers_enqueue (Workers* self, BackgroundJob* job); +gboolean abstract_semaphore_reset (AbstractSemaphore* self); +gint background_job_priority_compare_func (BackgroundJob* a, BackgroundJob* b); +static gint _background_job_priority_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self); +void workers_enqueue_many (Workers* self, BackgroundJobBatch* batch); +void workers_wait_for_empty_queue (Workers* self); +void abstract_semaphore_wait (AbstractSemaphore* self); +gint workers_get_pending_job_count (Workers* self); +gboolean background_job_is_cancelled (BackgroundJob* self); +void background_job_execute (BackgroundJob* self); +void background_job_internal_notify_completion (BackgroundJob* self); +static void workers_finalize (Workers* obj); + + +static gint64 _background_job_priority_comparator_comparator (void* a, void* b, gpointer self) { + gint64 result; + result = background_job_priority_comparator (a, b); +#line 10 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return result; +#line 204 "Workers.c" +} + + +BackgroundJobBatch* background_job_batch_construct (GType object_type) { + BackgroundJobBatch * self = NULL; +#line 10 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self = (BackgroundJobBatch*) sorted_list_construct (object_type, TYPE_BACKGROUND_JOB, (GBoxedCopyFunc) background_job_ref, background_job_unref, _background_job_priority_comparator_comparator, NULL); +#line 9 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return self; +#line 214 "Workers.c" +} + + +BackgroundJobBatch* background_job_batch_new (void) { +#line 9 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return background_job_batch_construct (TYPE_BACKGROUND_JOB_BATCH); +#line 221 "Workers.c" +} + + +static void background_job_batch_class_init (BackgroundJobBatchClass * klass) { +#line 8 "/home/jens/Source/shotwell/src/threads/Workers.vala" + background_job_batch_parent_class = g_type_class_peek_parent (klass); +#line 228 "Workers.c" +} + + +static void background_job_batch_instance_init (BackgroundJobBatch * self) { +} + + +GType background_job_batch_get_type (void) { + static volatile gsize background_job_batch_type_id__volatile = 0; + if (g_once_init_enter (&background_job_batch_type_id__volatile)) { + static const GTypeInfo g_define_type_info = { sizeof (BackgroundJobBatchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) background_job_batch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BackgroundJobBatch), 0, (GInstanceInitFunc) background_job_batch_instance_init, NULL }; + GType background_job_batch_type_id; + background_job_batch_type_id = g_type_register_static (TYPE_SORTED_LIST, "BackgroundJobBatch", &g_define_type_info, 0); + g_once_init_leave (&background_job_batch_type_id__volatile, background_job_batch_type_id); + } + return background_job_batch_type_id__volatile; +} + + +static void _background_job_unref0_ (gpointer var) { +#line 19 "/home/jens/Source/shotwell/src/threads/Workers.vala" + (var == NULL) ? NULL : (var = (background_job_unref (var), NULL)); +#line 251 "Workers.c" +} + + +static void _workers_thread_start_gfunc (gpointer data, gpointer self) { +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + workers_thread_start ((Workers*) self, data); +#line 258 "Workers.c" +} + + +Workers* workers_construct (GType object_type, guint max_threads, gboolean exclusive) { + Workers* self = NULL; + gboolean _tmp0_ = FALSE; + guint _tmp1_ = 0U; + EventSemaphore* _tmp3_ = NULL; + GError * _inner_error_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self = (Workers*) g_type_create_instance (object_type); +#line 24 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp1_ = max_threads; +#line 24 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (_tmp1_ <= ((guint) 0)) { +#line 274 "Workers.c" + guint _tmp2_ = 0U; +#line 24 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp2_ = max_threads; +#line 24 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = _tmp2_ != ((guint) WORKERS_UNLIMITED_THREADS); +#line 280 "Workers.c" + } else { +#line 24 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = FALSE; +#line 284 "Workers.c" + } +#line 24 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (_tmp0_) { +#line 25 "/home/jens/Source/shotwell/src/threads/Workers.vala" + max_threads = (guint) 1; +#line 290 "Workers.c" + } +#line 28 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp3_ = self->priv->empty_event; +#line 28 "/home/jens/Source/shotwell/src/threads/Workers.vala" + abstract_semaphore_notify (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)); +#line 296 "Workers.c" + { + GThreadPool* _tmp4_ = NULL; + guint _tmp5_ = 0U; + gboolean _tmp6_ = FALSE; + GThreadPool* _tmp7_ = NULL; + GThreadPool* _tmp8_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp5_ = max_threads; +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp6_ = exclusive; +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp7_ = g_thread_pool_new (_workers_thread_start_gfunc, self, (gint) _tmp5_, _tmp6_, &_inner_error_); +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp4_ = _tmp7_; +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (_inner_error_->domain == G_THREAD_ERROR) { +#line 315 "Workers.c" + goto __catch6_g_thread_error; + } +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.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 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_clear_error (&_inner_error_); +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return NULL; +#line 324 "Workers.c" + } +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp8_ = _tmp4_; +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp4_ = NULL; +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _g_thread_pool_free0 (self->priv->thread_pool); +#line 31 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self->priv->thread_pool = _tmp8_; +#line 30 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _g_thread_pool_free0 (_tmp4_); +#line 336 "Workers.c" + } + goto __finally6; + __catch6_g_thread_error: + { + GError* err = NULL; + const gchar* _tmp9_ = NULL; +#line 30 "/home/jens/Source/shotwell/src/threads/Workers.vala" + err = _inner_error_; +#line 30 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _inner_error_ = NULL; +#line 33 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp9_ = err->message; +#line 33 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_error ("Workers.vala:33: Unable to create thread pool: %s", _tmp9_); +#line 30 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _g_error_free0 (err); +#line 353 "Workers.c" + } + __finally6: +#line 30 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 30 "/home/jens/Source/shotwell/src/threads/Workers.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 30 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_clear_error (&_inner_error_); +#line 30 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return NULL; +#line 364 "Workers.c" + } +#line 23 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return self; +#line 368 "Workers.c" +} + + +Workers* workers_new (guint max_threads, gboolean exclusive) { +#line 23 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return workers_construct (TYPE_WORKERS, max_threads, exclusive); +#line 375 "Workers.c" +} + + +guint workers_threads_per_cpu (gint per, gint max) { + guint result = 0U; + gint _tmp0_ = 0; + guint count = 0U; + guint _tmp1_ = 0U; + gint _tmp2_ = 0; + guint _tmp3_ = 0U; + gint _tmp4_ = 0; + guint _tmp9_ = 0U; + guint _tmp10_ = 0U; +#line 37 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = per; +#line 37 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _vala_return_val_if_fail (_tmp0_ > 0, "per > 0", 0U); +#line 38 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp1_ = g_get_num_processors (); +#line 38 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp2_ = per; +#line 38 "/home/jens/Source/shotwell/src/threads/Workers.vala" + count = _tmp1_ * _tmp2_; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp4_ = max; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (_tmp4_ < 0) { +#line 403 "Workers.c" + guint _tmp5_ = 0U; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp5_ = count; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp3_ = _tmp5_; +#line 409 "Workers.c" + } else { + guint _tmp6_ = 0U; + gint _tmp7_ = 0; + guint _tmp8_ = 0U; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp6_ = count; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp7_ = max; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp8_ = CLAMP (_tmp6_, (guint) 0, (guint) _tmp7_); +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp3_ = _tmp8_; +#line 422 "Workers.c" + } +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + result = _tmp3_; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp9_ = result; +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _vala_warn_if_fail (_tmp9_ > ((guint) 0), "result > 0"); +#line 40 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return result; +#line 432 "Workers.c" +} + + +guint workers_thread_per_cpu_minus_one (void) { + guint result = 0U; + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; + guint _tmp2_ = 0U; + guint _tmp3_ = 0U; +#line 46 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = g_get_num_processors (); +#line 46 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp1_ = CLAMP (_tmp0_ - 1, (guint) 1, (guint) G_MAXINT); +#line 46 "/home/jens/Source/shotwell/src/threads/Workers.vala" + result = _tmp1_; +#line 46 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp2_ = result; +#line 46 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _vala_warn_if_fail (_tmp2_ > ((guint) 0), "result > 0"); +#line 46 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return result; +#line 454 "Workers.c" +} + + +static gpointer _background_job_ref0 (gpointer self) { +#line 55 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return self ? background_job_ref (self) : NULL; +#line 461 "Workers.c" +} + + +static gint _background_job_priority_compare_func_gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) { + gint result; + result = background_job_priority_compare_func ((BackgroundJob*) a, (BackgroundJob*) b); +#line 55 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return result; +#line 470 "Workers.c" +} + + +void workers_enqueue (Workers* self, BackgroundJob* job) { + EventSemaphore* _tmp0_ = NULL; + GError * _inner_error_ = NULL; +#line 51 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (IS_WORKERS (self)); +#line 51 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (IS_BACKGROUND_JOB (job)); +#line 52 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = self->priv->empty_event; +#line 52 "/home/jens/Source/shotwell/src/threads/Workers.vala" + abstract_semaphore_reset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)); +#line 485 "Workers.c" + { + GAsyncQueue* _tmp1_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp1_ = self->priv->queue; +#line 54 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_lock (&self->priv->__lock_queue); +#line 492 "Workers.c" + { + GAsyncQueue* _tmp2_ = NULL; + BackgroundJob* _tmp3_ = NULL; + BackgroundJob* _tmp4_ = NULL; + gint _tmp5_ = 0; +#line 55 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp2_ = self->priv->queue; +#line 55 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp3_ = job; +#line 55 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp4_ = _background_job_ref0 (_tmp3_); +#line 55 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_async_queue_push_sorted (_tmp2_, _tmp4_, _background_job_priority_compare_func_gcompare_data_func, NULL); +#line 56 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp5_ = self->priv->enqueued; +#line 56 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self->priv->enqueued = _tmp5_ + 1; +#line 510 "Workers.c" + } + __finally7: + { + GAsyncQueue* _tmp6_ = NULL; +#line 54 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp6_ = self->priv->queue; +#line 54 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_unlock (&self->priv->__lock_queue); +#line 519 "Workers.c" + } +#line 54 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 54 "/home/jens/Source/shotwell/src/threads/Workers.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 54 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_clear_error (&_inner_error_); +#line 54 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return; +#line 529 "Workers.c" + } + } + { + GThreadPool* _tmp7_ = NULL; + BackgroundJob* _tmp8_ = NULL; +#line 60 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp7_ = self->priv->thread_pool; +#line 60 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp8_ = job; +#line 60 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_thread_pool_push (_tmp7_, _tmp8_, &_inner_error_); +#line 60 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 60 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (_inner_error_->domain == G_THREAD_ERROR) { +#line 545 "Workers.c" + goto __catch8_g_thread_error; + } +#line 60 "/home/jens/Source/shotwell/src/threads/Workers.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 60 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_clear_error (&_inner_error_); +#line 60 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return; +#line 554 "Workers.c" + } + } + goto __finally8; + __catch8_g_thread_error: + { + GError* err = NULL; + GError* _tmp9_ = NULL; + const gchar* _tmp10_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/threads/Workers.vala" + err = _inner_error_; +#line 59 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _inner_error_ = NULL; +#line 64 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp9_ = err; +#line 64 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp10_ = _tmp9_->message; +#line 64 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_warning ("Workers.vala:64: Unable to create worker thread: %s", _tmp10_); +#line 59 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _g_error_free0 (err); +#line 575 "Workers.c" + } + __finally8: +#line 59 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 59 "/home/jens/Source/shotwell/src/threads/Workers.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 59 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_clear_error (&_inner_error_); +#line 59 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return; +#line 586 "Workers.c" + } +} + + +void workers_enqueue_many (Workers* self, BackgroundJobBatch* batch) { +#line 68 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (IS_WORKERS (self)); +#line 68 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (IS_BACKGROUND_JOB_BATCH (batch)); +#line 596 "Workers.c" + { + GeeIterator* _job_it = NULL; + BackgroundJobBatch* _tmp0_ = NULL; + GeeIterator* _tmp1_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = batch; +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _job_it = _tmp1_; +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + while (TRUE) { +#line 609 "Workers.c" + GeeIterator* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + BackgroundJob* job = NULL; + GeeIterator* _tmp4_ = NULL; + gpointer _tmp5_ = NULL; + BackgroundJob* _tmp6_ = NULL; +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp2_ = _job_it; +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp3_ = gee_iterator_next (_tmp2_); +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (!_tmp3_) { +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + break; +#line 624 "Workers.c" + } +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp4_ = _job_it; +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp5_ = gee_iterator_get (_tmp4_); +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + job = (BackgroundJob*) _tmp5_; +#line 70 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp6_ = job; +#line 70 "/home/jens/Source/shotwell/src/threads/Workers.vala" + workers_enqueue (self, _tmp6_); +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _background_job_unref0 (job); +#line 638 "Workers.c" + } +#line 69 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _g_object_unref0 (_job_it); +#line 642 "Workers.c" + } +} + + +void workers_wait_for_empty_queue (Workers* self) { + EventSemaphore* _tmp0_ = NULL; +#line 73 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (IS_WORKERS (self)); +#line 74 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = self->priv->empty_event; +#line 74 "/home/jens/Source/shotwell/src/threads/Workers.vala" + abstract_semaphore_wait (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)); +#line 655 "Workers.c" +} + + +gint workers_get_pending_job_count (Workers* self) { + gint result = 0; + GError * _inner_error_ = NULL; +#line 78 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_val_if_fail (IS_WORKERS (self), 0); +#line 664 "Workers.c" + { + GAsyncQueue* _tmp0_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = self->priv->queue; +#line 79 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_lock (&self->priv->__lock_queue); +#line 671 "Workers.c" + { + gint _tmp1_ = 0; +#line 80 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp1_ = self->priv->enqueued; +#line 80 "/home/jens/Source/shotwell/src/threads/Workers.vala" + result = _tmp1_; +#line 678 "Workers.c" + { + GAsyncQueue* _tmp2_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp2_ = self->priv->queue; +#line 79 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_unlock (&self->priv->__lock_queue); +#line 685 "Workers.c" + } +#line 80 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return result; +#line 689 "Workers.c" + } + __finally9: + { + GAsyncQueue* _tmp3_ = NULL; +#line 79 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp3_ = self->priv->queue; +#line 79 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_unlock (&self->priv->__lock_queue); +#line 698 "Workers.c" + } +#line 79 "/home/jens/Source/shotwell/src/threads/Workers.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 79 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_clear_error (&_inner_error_); +#line 79 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return 0; +#line 706 "Workers.c" + } +} + + +static void workers_thread_start (Workers* self, void* ignored) { + BackgroundJob* job = NULL; + gboolean empty = FALSE; + gboolean _tmp7_ = FALSE; + GError * _inner_error_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (IS_WORKERS (self)); +#line 718 "Workers.c" + { + GAsyncQueue* _tmp0_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = self->priv->queue; +#line 87 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_lock (&self->priv->__lock_queue); +#line 725 "Workers.c" + { + GAsyncQueue* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 88 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp1_ = self->priv->queue; +#line 88 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp2_ = g_async_queue_try_pop (_tmp1_); +#line 88 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _background_job_unref0 (job); +#line 88 "/home/jens/Source/shotwell/src/threads/Workers.vala" + job = (BackgroundJob*) _tmp2_; +#line 89 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _vala_assert (job != NULL, "job != null"); +#line 91 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp3_ = self->priv->enqueued; +#line 91 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _vala_assert (_tmp3_ > 0, "enqueued > 0"); +#line 92 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp4_ = self->priv->enqueued; +#line 92 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self->priv->enqueued = _tmp4_ - 1; +#line 92 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp5_ = self->priv->enqueued; +#line 92 "/home/jens/Source/shotwell/src/threads/Workers.vala" + empty = _tmp5_ == 0; +#line 754 "Workers.c" + } + __finally10: + { + GAsyncQueue* _tmp6_ = NULL; +#line 87 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp6_ = self->priv->queue; +#line 87 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_unlock (&self->priv->__lock_queue); +#line 763 "Workers.c" + } +#line 87 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 87 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _background_job_unref0 (job); +#line 87 "/home/jens/Source/shotwell/src/threads/Workers.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 87 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_clear_error (&_inner_error_); +#line 87 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return; +#line 775 "Workers.c" + } + } +#line 95 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp7_ = background_job_is_cancelled (job); +#line 95 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (!_tmp7_) { +#line 96 "/home/jens/Source/shotwell/src/threads/Workers.vala" + background_job_execute (job); +#line 784 "Workers.c" + } +#line 98 "/home/jens/Source/shotwell/src/threads/Workers.vala" + background_job_internal_notify_completion (job); +#line 100 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (empty) { +#line 790 "Workers.c" + EventSemaphore* _tmp8_ = NULL; +#line 101 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp8_ = self->priv->empty_event; +#line 101 "/home/jens/Source/shotwell/src/threads/Workers.vala" + abstract_semaphore_notify (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_ABSTRACT_SEMAPHORE, AbstractSemaphore)); +#line 796 "Workers.c" + } +#line 84 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _background_job_unref0 (job); +#line 800 "Workers.c" +} + + +static void value_workers_init (GValue* value) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + value->data[0].v_pointer = NULL; +#line 807 "Workers.c" +} + + +static void value_workers_free_value (GValue* value) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (value->data[0].v_pointer) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + workers_unref (value->data[0].v_pointer); +#line 816 "Workers.c" + } +} + + +static void value_workers_copy_value (const GValue* src_value, GValue* dest_value) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (src_value->data[0].v_pointer) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + dest_value->data[0].v_pointer = workers_ref (src_value->data[0].v_pointer); +#line 826 "Workers.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + dest_value->data[0].v_pointer = NULL; +#line 830 "Workers.c" + } +} + + +static gpointer value_workers_peek_pointer (const GValue* value) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return value->data[0].v_pointer; +#line 838 "Workers.c" +} + + +static gchar* value_workers_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (collect_values[0].v_pointer) { +#line 845 "Workers.c" + Workers* object; + object = collect_values[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (object->parent_instance.g_class == NULL) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 852 "Workers.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 856 "Workers.c" + } +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + value->data[0].v_pointer = workers_ref (object); +#line 860 "Workers.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + value->data[0].v_pointer = NULL; +#line 864 "Workers.c" + } +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return NULL; +#line 868 "Workers.c" +} + + +static gchar* value_workers_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + Workers** object_p; + object_p = collect_values[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (!object_p) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 879 "Workers.c" + } +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (!value->data[0].v_pointer) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + *object_p = NULL; +#line 885 "Workers.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + *object_p = value->data[0].v_pointer; +#line 889 "Workers.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + *object_p = workers_ref (value->data[0].v_pointer); +#line 893 "Workers.c" + } +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return NULL; +#line 897 "Workers.c" +} + + +GParamSpec* param_spec_workers (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecWorkers* spec; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_WORKERS), NULL); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return G_PARAM_SPEC (spec); +#line 911 "Workers.c" +} + + +gpointer value_get_workers (const GValue* value) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_WORKERS), NULL); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return value->data[0].v_pointer; +#line 920 "Workers.c" +} + + +void value_set_workers (GValue* value, gpointer v_object) { + Workers* old; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_WORKERS)); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + old = value->data[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (v_object) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_WORKERS)); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + value->data[0].v_pointer = v_object; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + workers_ref (value->data[0].v_pointer); +#line 940 "Workers.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + value->data[0].v_pointer = NULL; +#line 944 "Workers.c" + } +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (old) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + workers_unref (old); +#line 950 "Workers.c" + } +} + + +void value_take_workers (GValue* value, gpointer v_object) { + Workers* old; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_WORKERS)); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + old = value->data[0].v_pointer; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (v_object) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_WORKERS)); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + value->data[0].v_pointer = v_object; +#line 969 "Workers.c" + } else { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + value->data[0].v_pointer = NULL; +#line 973 "Workers.c" + } +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (old) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + workers_unref (old); +#line 979 "Workers.c" + } +} + + +static void workers_class_init (WorkersClass * klass) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + workers_parent_class = g_type_class_peek_parent (klass); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + ((WorkersClass *) klass)->finalize = workers_finalize; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_type_class_add_private (klass, sizeof (WorkersPrivate)); +#line 991 "Workers.c" +} + + +static void workers_instance_init (Workers * self) { + GAsyncQueue* _tmp0_ = NULL; + EventSemaphore* _tmp1_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self->priv = WORKERS_GET_PRIVATE (self); +#line 19 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_init (&self->priv->__lock_queue); +#line 19 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp0_ = g_async_queue_new_full (_background_job_unref0_); +#line 19 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self->priv->queue = _tmp0_; +#line 20 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _tmp1_ = event_semaphore_new (); +#line 20 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self->priv->empty_event = _tmp1_; +#line 21 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self->priv->enqueued = 0; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self->ref_count = 1; +#line 1014 "Workers.c" +} + + +static void workers_finalize (Workers* obj) { + Workers * self; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_WORKERS, Workers); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_signal_handlers_destroy (self); +#line 18 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _g_thread_pool_free0 (self->priv->thread_pool); +#line 19 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_rec_mutex_clear (&self->priv->__lock_queue); +#line 19 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _g_async_queue_unref0 (self->priv->queue); +#line 20 "/home/jens/Source/shotwell/src/threads/Workers.vala" + _abstract_semaphore_unref0 (self->priv->empty_event); +#line 1032 "Workers.c" +} + + +GType workers_get_type (void) { + static volatile gsize workers_type_id__volatile = 0; + if (g_once_init_enter (&workers_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_workers_init, value_workers_free_value, value_workers_copy_value, value_workers_peek_pointer, "p", value_workers_collect_value, "p", value_workers_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (WorkersClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) workers_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Workers), 0, (GInstanceInitFunc) workers_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType workers_type_id; + workers_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Workers", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&workers_type_id__volatile, workers_type_id); + } + return workers_type_id__volatile; +} + + +gpointer workers_ref (gpointer instance) { + Workers* self; + self = instance; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_atomic_int_inc (&self->ref_count); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + return instance; +#line 1057 "Workers.c" +} + + +void workers_unref (gpointer instance) { + Workers* self; + self = instance; +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + WORKERS_GET_CLASS (self)->finalize (self); +#line 15 "/home/jens/Source/shotwell/src/threads/Workers.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1070 "Workers.c" + } +} + + + diff --git a/src/threads/mk/threads.mk b/src/threads/mk/threads.mk deleted file mode 100644 index 83afc47..0000000 --- a/src/threads/mk/threads.mk +++ /dev/null @@ -1,30 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Threads - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := threads - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - Workers.vala \ - BackgroundJob.vala \ - Semaphore.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/unit/Unit.c b/src/unit/Unit.c new file mode 100644 index 0000000..d652834 --- /dev/null +++ b/src/unit/Unit.c @@ -0,0 +1,28 @@ +/* Unit.c generated by valac 0.32.1, the Vala compiler + * generated from Unit.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include + + + + +void unit_init (GError** error); +void unit_terminate (void); + + +void unit_init (GError** error) { +} + + +void unit_terminate (void) { +} + + + diff --git a/src/unit/mk/unit.mk b/src/unit/mk/unit.mk deleted file mode 100644 index 618ebca..0000000 --- a/src/unit/mk/unit.mk +++ /dev/null @@ -1,32 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Unit - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := unit - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := \ - rc/UnitInternals.m4 \ - rc/Unit.m4 \ - rc/template.mk \ - rc/unitize_entry.m4 \ - rc/template.vala - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/unit/rc/Unit.m4 b/src/unit/rc/Unit.m4 deleted file mode 100644 index 2665dd6..0000000 --- a/src/unit/rc/Unit.m4 +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright 2016 Software Freedom Conservancy Inc. - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - */ - -/* This file is the master unit file for the _UNIT_NAME_ unit. It should be edited to include - * whatever code is deemed necessary. - * - * The init() and terminate() methods are mandatory. - * - * If the unit needs to be configured prior to initialization, add the proper parameters to - * the preconfigure() method, implement it, and ensure in init() that it's been called. - */ - -namespace _UNIT_NAME_ { - -// preconfigure may be deleted if not used. -public void preconfigure() { -} - -public void init() throws Error { -} - -public void terminate() { -} - -} - diff --git a/src/unit/rc/UnitInternals.m4 b/src/unit/rc/UnitInternals.m4 deleted file mode 100644 index 71614d4..0000000 --- a/src/unit/rc/UnitInternals.m4 +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright 2016 Software Freedom Conservancy Inc. - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - * - * Auto-generated file. Do not modify! - */ - -namespace _UNIT_NAME_ { - -private int _unit_init_count = 0; - -public void init_entry() throws Error { - if (_unit_init_count++ != 0) - return; - - _UNIT_USES_INITS_ - - _UNIT_NAME_.init(); -} - -public void terminate_entry() { - if (_unit_init_count == 0 || --_unit_init_count != 0) - return; - - _UNIT_NAME_.terminate(); - - _UNIT_USES_TERMINATORS_ -} - -} - diff --git a/src/unit/rc/template.mk b/src/unit/rc/template.mk deleted file mode 100644 index 34873d3..0000000 --- a/src/unit/rc/template.mk +++ /dev/null @@ -1,27 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := _UNIT_NAME_ - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := _UNIT_DIR_ - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/unit/rc/template.vala b/src/unit/rc/template.vala deleted file mode 100644 index 31fc93d..0000000 --- a/src/unit/rc/template.vala +++ /dev/null @@ -1,7 +0,0 @@ -/* Copyright 2016 Software Freedom Conservancy Inc. - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - */ - - diff --git a/src/unit/rc/unitize_entry.m4 b/src/unit/rc/unitize_entry.m4 deleted file mode 100644 index 31602b2..0000000 --- a/src/unit/rc/unitize_entry.m4 +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2016 Software Freedom Conservancy Inc. - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - * - * Auto-generated file. Do not modify! - */ - -namespace _APP_UNIT_ { - -public void app_init() throws Error { - _APP_UNIT_.init_entry(); -} - -public void app_terminate() { - _APP_UNIT_.terminate_entry(); -} - -} diff --git a/src/util/KeyValueMap.c b/src/util/KeyValueMap.c new file mode 100644 index 0000000..003f0ca --- /dev/null +++ b/src/util/KeyValueMap.c @@ -0,0 +1,1180 @@ +/* KeyValueMap.c generated by valac 0.32.1, the Vala compiler + * generated from KeyValueMap.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define TYPE_KEY_VALUE_MAP (key_value_map_get_type ()) +#define KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_KEY_VALUE_MAP, KeyValueMap)) +#define KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) +#define IS_KEY_VALUE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_KEY_VALUE_MAP)) +#define IS_KEY_VALUE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_KEY_VALUE_MAP)) +#define KEY_VALUE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_KEY_VALUE_MAP, KeyValueMapClass)) + +typedef struct _KeyValueMap KeyValueMap; +typedef struct _KeyValueMapClass KeyValueMapClass; +typedef struct _KeyValueMapPrivate KeyValueMapPrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _key_value_map_unref0(var) ((var == NULL) ? NULL : (var = (key_value_map_unref (var), NULL))) +typedef struct _ParamSpecKeyValueMap ParamSpecKeyValueMap; +#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 _KeyValueMap { + GTypeInstance parent_instance; + volatile int ref_count; + KeyValueMapPrivate * priv; +}; + +struct _KeyValueMapClass { + GTypeClass parent_class; + void (*finalize) (KeyValueMap *self); +}; + +struct _KeyValueMapPrivate { + gchar* group; + GeeHashMap* map; +}; + +struct _ParamSpecKeyValueMap { + GParamSpec parent_instance; +}; + + +static gpointer key_value_map_parent_class = NULL; + +gpointer key_value_map_ref (gpointer instance); +void key_value_map_unref (gpointer instance); +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_key_value_map (GValue* value, gpointer v_object); +void value_take_key_value_map (GValue* value, gpointer v_object); +gpointer value_get_key_value_map (const GValue* value); +GType key_value_map_get_type (void) G_GNUC_CONST; +#define KEY_VALUE_MAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_KEY_VALUE_MAP, KeyValueMapPrivate)) +enum { + KEY_VALUE_MAP_DUMMY_PROPERTY +}; +KeyValueMap* key_value_map_new (const gchar* group); +KeyValueMap* key_value_map_construct (GType object_type, const gchar* group); +KeyValueMap* key_value_map_copy (KeyValueMap* self); +gchar* key_value_map_get_group (KeyValueMap* self); +GeeSet* key_value_map_get_keys (KeyValueMap* self); +gboolean key_value_map_has_key (KeyValueMap* self, const gchar* key); +void key_value_map_set_string (KeyValueMap* self, const gchar* key, const gchar* value); +void key_value_map_set_int (KeyValueMap* self, const gchar* key, gint value); +void key_value_map_set_double (KeyValueMap* self, const gchar* key, gdouble value); +void key_value_map_set_float (KeyValueMap* self, const gchar* key, gfloat value); +void key_value_map_set_bool (KeyValueMap* self, const gchar* key, gboolean value); +gchar* key_value_map_get_string (KeyValueMap* self, const gchar* key, const gchar* def); +gint key_value_map_get_int (KeyValueMap* self, const gchar* key, gint def); +gdouble key_value_map_get_double (KeyValueMap* self, const gchar* key, gdouble def); +gfloat key_value_map_get_float (KeyValueMap* self, const gchar* key, gfloat def); +gboolean key_value_map_get_bool (KeyValueMap* self, const gchar* key, gboolean def); +void key_value_map_get_point (KeyValueMap* self, const gchar* key, GdkPoint* def, GdkPoint* result); +void key_value_map_set_point (KeyValueMap* self, const gchar* key, GdkPoint* point); +static void key_value_map_finalize (KeyValueMap* obj); + + +KeyValueMap* key_value_map_construct (GType object_type, const gchar* group) { + KeyValueMap* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (group != NULL, NULL); +#line 11 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + self = (KeyValueMap*) g_type_create_instance (object_type); +#line 12 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = group; +#line 12 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 12 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (self->priv->group); +#line 12 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + self->priv->group = _tmp1_; +#line 11 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return self; +#line 115 "KeyValueMap.c" +} + + +KeyValueMap* key_value_map_new (const gchar* group) { +#line 11 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return key_value_map_construct (TYPE_KEY_VALUE_MAP, group); +#line 122 "KeyValueMap.c" +} + + +KeyValueMap* key_value_map_copy (KeyValueMap* self) { + KeyValueMap* result = NULL; + KeyValueMap* clone = NULL; + const gchar* _tmp0_ = NULL; + KeyValueMap* _tmp1_ = NULL; +#line 15 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), NULL); +#line 16 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->group; +#line 16 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key_value_map_new (_tmp0_); +#line 16 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + clone = _tmp1_; +#line 139 "KeyValueMap.c" + { + GeeIterator* _key_it = NULL; + GeeHashMap* _tmp2_ = NULL; + GeeSet* _tmp3_ = NULL; + GeeSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; + GeeIterator* _tmp6_ = NULL; + GeeIterator* _tmp7_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = self->priv->map; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_MAP, GeeMap)); +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = _tmp3_; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = _tmp4_; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp7_ = _tmp6_; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_object_unref0 (_tmp5_); +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _key_it = _tmp7_; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + while (TRUE) { +#line 166 "KeyValueMap.c" + GeeIterator* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; + gchar* key = NULL; + GeeIterator* _tmp10_ = NULL; + gpointer _tmp11_ = NULL; + KeyValueMap* _tmp12_ = NULL; + GeeHashMap* _tmp13_ = NULL; + const gchar* _tmp14_ = NULL; + GeeHashMap* _tmp15_ = NULL; + const gchar* _tmp16_ = NULL; + gpointer _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp8_ = _key_it; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp9_ = gee_iterator_next (_tmp8_); +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (!_tmp9_) { +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + break; +#line 187 "KeyValueMap.c" + } +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp10_ = _key_it; +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp11_ = gee_iterator_get (_tmp10_); +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + key = (gchar*) _tmp11_; +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp12_ = clone; +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp13_ = _tmp12_->priv->map; +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp14_ = key; +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp15_ = self->priv->map; +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp16_ = key; +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp17_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp16_); +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp18_ = (gchar*) _tmp17_; +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp14_, _tmp18_); +#line 18 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (_tmp18_); +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (key); +#line 215 "KeyValueMap.c" + } +#line 17 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_object_unref0 (_key_it); +#line 219 "KeyValueMap.c" + } +#line 20 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = clone; +#line 20 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 225 "KeyValueMap.c" +} + + +gchar* key_value_map_get_group (KeyValueMap* self) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), NULL); +#line 24 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->group; +#line 24 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 24 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = _tmp1_; +#line 24 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 243 "KeyValueMap.c" +} + + +GeeSet* key_value_map_get_keys (KeyValueMap* self) { + GeeSet* result = NULL; + GeeHashMap* _tmp0_ = NULL; + GeeSet* _tmp1_ = NULL; + GeeSet* _tmp2_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), NULL); +#line 28 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 28 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap)); +#line 28 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = _tmp1_; +#line 28 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = _tmp2_; +#line 28 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 264 "KeyValueMap.c" +} + + +gboolean key_value_map_has_key (KeyValueMap* self, const gchar* key) { + gboolean result = FALSE; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gboolean _tmp2_ = FALSE; +#line 31 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), FALSE); +#line 31 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 32 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 32 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key; +#line 32 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 32 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = _tmp2_; +#line 32 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 287 "KeyValueMap.c" +} + + +void key_value_map_set_string (KeyValueMap* self, const gchar* key, const gchar* value) { + const gchar* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 35 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (self)); +#line 35 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (key != NULL); +#line 35 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (value != NULL); +#line 36 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = key; +#line 36 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _vala_assert (_tmp0_ != NULL, "key != null"); +#line 38 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = self->priv->map; +#line 38 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = key; +#line 38 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = value; +#line 38 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, _tmp3_); +#line 314 "KeyValueMap.c" +} + + +void key_value_map_set_int (KeyValueMap* self, const gchar* key, gint value) { + const gchar* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 41 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (self)); +#line 41 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (key != NULL); +#line 42 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = key; +#line 42 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _vala_assert (_tmp0_ != NULL, "key != null"); +#line 44 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = self->priv->map; +#line 44 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = key; +#line 44 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = value; +#line 44 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = g_strdup_printf ("%i", _tmp3_); +#line 44 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = _tmp4_; +#line 44 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, _tmp5_); +#line 44 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (_tmp5_); +#line 347 "KeyValueMap.c" +} + + +static gchar* double_to_string (gdouble self) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, G_ASCII_DTOSTR_BUF_SIZE); +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp0_; +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1__length1 = G_ASCII_DTOSTR_BUF_SIZE; +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = g_ascii_dtostr (_tmp1_, G_ASCII_DTOSTR_BUF_SIZE, self); +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = g_strdup (_tmp2_); +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _tmp3_; +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = (g_free (_tmp1_), NULL); +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 863 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 377 "KeyValueMap.c" +} + + +void key_value_map_set_double (KeyValueMap* self, const gchar* key, gdouble value) { + const gchar* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 47 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (self)); +#line 47 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (key != NULL); +#line 48 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = key; +#line 48 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _vala_assert (_tmp0_ != NULL, "key != null"); +#line 50 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = self->priv->map; +#line 50 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = key; +#line 50 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = value; +#line 50 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = double_to_string (_tmp3_); +#line 50 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = _tmp4_; +#line 50 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, _tmp5_); +#line 50 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (_tmp5_); +#line 410 "KeyValueMap.c" +} + + +void key_value_map_set_float (KeyValueMap* self, const gchar* key, gfloat value) { + const gchar* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gfloat _tmp3_ = 0.0F; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (self)); +#line 53 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (key != NULL); +#line 54 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = key; +#line 54 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _vala_assert (_tmp0_ != NULL, "key != null"); +#line 56 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = self->priv->map; +#line 56 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = key; +#line 56 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = value; +#line 56 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = g_strdup_printf ("%g", _tmp3_); +#line 56 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = _tmp4_; +#line 56 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, _tmp5_); +#line 56 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (_tmp5_); +#line 443 "KeyValueMap.c" +} + + +static gchar* bool_to_string (gboolean self) { + gchar* result = NULL; +#line 37 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (self) { +#line 451 "KeyValueMap.c" + gchar* _tmp0_ = NULL; +#line 38 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup ("true"); +#line 38 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp0_; +#line 38 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 459 "KeyValueMap.c" + } else { + gchar* _tmp1_ = NULL; +#line 40 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_strdup ("false"); +#line 40 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 40 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 468 "KeyValueMap.c" + } +} + + +void key_value_map_set_bool (KeyValueMap* self, const gchar* key, gboolean value) { + const gchar* _tmp0_ = NULL; + GeeHashMap* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 59 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (self)); +#line 59 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (key != NULL); +#line 60 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = key; +#line 60 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _vala_assert (_tmp0_ != NULL, "key != null"); +#line 62 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = self->priv->map; +#line 62 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = key; +#line 62 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = value; +#line 62 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = bool_to_string (_tmp3_); +#line 62 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = _tmp4_; +#line 62 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp2_, _tmp5_); +#line 62 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (_tmp5_); +#line 502 "KeyValueMap.c" +} + + +gchar* key_value_map_get_string (KeyValueMap* self, const gchar* key, const gchar* def) { + gchar* result = NULL; + gchar* value = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp7_ = NULL; +#line 65 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), NULL); +#line 65 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (key != NULL, NULL); +#line 66 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 66 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key; +#line 66 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 66 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value = (gchar*) _tmp2_; +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = value; +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (_tmp4_ != NULL) { +#line 531 "KeyValueMap.c" + const gchar* _tmp5_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = value; +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp5_; +#line 537 "KeyValueMap.c" + } else { + const gchar* _tmp6_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp6_ = def; +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp6_; +#line 544 "KeyValueMap.c" + } +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp7_ = g_strdup (_tmp3_); +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = _tmp7_; +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 68 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 554 "KeyValueMap.c" +} + + +gint key_value_map_get_int (KeyValueMap* self, const gchar* key, gint def) { + gint result = 0; + gchar* value = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gint _tmp3_ = 0; + const gchar* _tmp4_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), 0); +#line 71 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (key != NULL, 0); +#line 72 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 72 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key; +#line 72 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 72 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value = (gchar*) _tmp2_; +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = value; +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (_tmp4_ != NULL) { +#line 582 "KeyValueMap.c" + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = value; +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp6_ = atoi (_tmp5_); +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp6_; +#line 591 "KeyValueMap.c" + } else { + gint _tmp7_ = 0; +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp7_ = def; +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp7_; +#line 598 "KeyValueMap.c" + } +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = _tmp3_; +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 74 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 606 "KeyValueMap.c" +} + + +static gdouble double_parse (const gchar* str) { + gdouble result = 0.0; + const gchar* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; +#line 869 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (str != NULL, 0.0); +#line 870 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 870 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_ascii_strtod (_tmp0_, NULL); +#line 870 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 870 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 624 "KeyValueMap.c" +} + + +gdouble key_value_map_get_double (KeyValueMap* self, const gchar* key, gdouble def) { + gdouble result = 0.0; + gchar* value = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + const gchar* _tmp4_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), 0.0); +#line 77 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (key != NULL, 0.0); +#line 78 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 78 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key; +#line 78 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 78 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value = (gchar*) _tmp2_; +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = value; +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (_tmp4_ != NULL) { +#line 652 "KeyValueMap.c" + const gchar* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = value; +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp6_ = double_parse (_tmp5_); +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp6_; +#line 661 "KeyValueMap.c" + } else { + gdouble _tmp7_ = 0.0; +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp7_ = def; +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp7_; +#line 668 "KeyValueMap.c" + } +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = _tmp3_; +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 80 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 676 "KeyValueMap.c" +} + + +gfloat key_value_map_get_float (KeyValueMap* self, const gchar* key, gfloat def) { + gfloat result = 0.0F; + gchar* value = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gfloat _tmp3_ = 0.0F; + const gchar* _tmp4_ = NULL; +#line 83 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), 0.0F); +#line 83 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (key != NULL, 0.0F); +#line 84 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 84 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key; +#line 84 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 84 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value = (gchar*) _tmp2_; +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = value; +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (_tmp4_ != NULL) { +#line 704 "KeyValueMap.c" + const gchar* _tmp5_ = NULL; + gdouble _tmp6_ = 0.0; +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = value; +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp6_ = double_parse (_tmp5_); +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = (gfloat) _tmp6_; +#line 713 "KeyValueMap.c" + } else { + gfloat _tmp7_ = 0.0F; +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp7_ = def; +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp7_; +#line 720 "KeyValueMap.c" + } +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = _tmp3_; +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 86 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 728 "KeyValueMap.c" +} + + +static gboolean bool_parse (const gchar* str) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; +#line 44 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (str != NULL, FALSE); +#line 45 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 45 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (g_strcmp0 (_tmp0_, "true") == 0) { +#line 46 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = TRUE; +#line 46 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 745 "KeyValueMap.c" + } else { +#line 48 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = FALSE; +#line 48 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 751 "KeyValueMap.c" + } +} + + +gboolean key_value_map_get_bool (KeyValueMap* self, const gchar* key, gboolean def) { + gboolean result = FALSE; + gchar* value = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + const gchar* _tmp4_ = NULL; +#line 89 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (IS_KEY_VALUE_MAP (self), FALSE); +#line 89 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (key != NULL, FALSE); +#line 90 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 90 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key; +#line 90 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 90 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value = (gchar*) _tmp2_; +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = value; +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (_tmp4_ != NULL) { +#line 780 "KeyValueMap.c" + const gchar* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = value; +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp6_ = bool_parse (_tmp5_); +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp6_; +#line 789 "KeyValueMap.c" + } else { + gboolean _tmp7_ = FALSE; +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp7_ = def; +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp7_; +#line 796 "KeyValueMap.c" + } +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + result = _tmp3_; +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 92 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return result; +#line 804 "KeyValueMap.c" +} + + +void key_value_map_get_point (KeyValueMap* self, const gchar* key, GdkPoint* def, GdkPoint* result) { + gchar* value = NULL; + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gpointer _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (self)); +#line 100 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (key != NULL); +#line 100 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (def != NULL); +#line 101 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 101 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key; +#line 101 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_); +#line 101 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value = (gchar*) _tmp2_; +#line 103 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = value; +#line 103 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (_tmp3_ == NULL) { +#line 832 "KeyValueMap.c" + GdkPoint _tmp4_ = {0}; +#line 104 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = *def; +#line 104 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + *result = _tmp4_; +#line 104 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 104 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return; +#line 842 "KeyValueMap.c" + } else { + GdkPoint _result_ = {0}; + GdkPoint _tmp5_ = {0}; + const gchar* _tmp6_ = NULL; + gint _tmp7_ = 0; +#line 106 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_.x = 0; +#line 106 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _result_ = _tmp5_; +#line 107 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp6_ = value; +#line 107 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp7_ = sscanf (_tmp6_, "(%d, %d)", &_result_.x, &_result_.y); +#line 107 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (_tmp7_ == 2) { +#line 108 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + *result = _result_; +#line 108 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 108 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return; +#line 864 "KeyValueMap.c" + } else { + GdkPoint _tmp8_ = {0}; +#line 110 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp8_ = *def; +#line 110 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + *result = _tmp8_; +#line 110 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 110 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return; +#line 875 "KeyValueMap.c" + } + } +#line 100 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (value); +#line 880 "KeyValueMap.c" +} + + +void key_value_map_set_point (KeyValueMap* self, const gchar* key, GdkPoint* point) { + GeeHashMap* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkPoint _tmp4_ = {0}; + gint _tmp5_ = 0; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (IS_KEY_VALUE_MAP (self)); +#line 114 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (key != NULL); +#line 114 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (point != NULL); +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = self->priv->map; +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp1_ = key; +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp2_ = *point; +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp3_ = _tmp2_.x; +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp4_ = *point; +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp5_ = _tmp4_.y; +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp6_ = g_strdup_printf ("(%d, %d)", _tmp3_, _tmp5_); +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp7_ = _tmp6_; +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_, _tmp7_); +#line 115 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (_tmp7_); +#line 919 "KeyValueMap.c" +} + + +static void value_key_value_map_init (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value->data[0].v_pointer = NULL; +#line 926 "KeyValueMap.c" +} + + +static void value_key_value_map_free_value (GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + key_value_map_unref (value->data[0].v_pointer); +#line 935 "KeyValueMap.c" + } +} + + +static void value_key_value_map_copy_value (const GValue* src_value, GValue* dest_value) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (src_value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + dest_value->data[0].v_pointer = key_value_map_ref (src_value->data[0].v_pointer); +#line 945 "KeyValueMap.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + dest_value->data[0].v_pointer = NULL; +#line 949 "KeyValueMap.c" + } +} + + +static gpointer value_key_value_map_peek_pointer (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return value->data[0].v_pointer; +#line 957 "KeyValueMap.c" +} + + +static gchar* value_key_value_map_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (collect_values[0].v_pointer) { +#line 964 "KeyValueMap.c" + KeyValueMap* object; + object = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (object->parent_instance.g_class == NULL) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 971 "KeyValueMap.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 975 "KeyValueMap.c" + } +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value->data[0].v_pointer = key_value_map_ref (object); +#line 979 "KeyValueMap.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value->data[0].v_pointer = NULL; +#line 983 "KeyValueMap.c" + } +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return NULL; +#line 987 "KeyValueMap.c" +} + + +static gchar* value_key_value_map_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + KeyValueMap** object_p; + object_p = collect_values[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (!object_p) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 998 "KeyValueMap.c" + } +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (!value->data[0].v_pointer) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + *object_p = NULL; +#line 1004 "KeyValueMap.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + *object_p = value->data[0].v_pointer; +#line 1008 "KeyValueMap.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + *object_p = key_value_map_ref (value->data[0].v_pointer); +#line 1012 "KeyValueMap.c" + } +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return NULL; +#line 1016 "KeyValueMap.c" +} + + +GParamSpec* param_spec_key_value_map (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecKeyValueMap* spec; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_KEY_VALUE_MAP), NULL); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return G_PARAM_SPEC (spec); +#line 1030 "KeyValueMap.c" +} + + +gpointer value_get_key_value_map (const GValue* value) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_KEY_VALUE_MAP), NULL); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return value->data[0].v_pointer; +#line 1039 "KeyValueMap.c" +} + + +void value_set_key_value_map (GValue* value, gpointer v_object) { + KeyValueMap* old; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_KEY_VALUE_MAP)); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_KEY_VALUE_MAP)); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value->data[0].v_pointer = v_object; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + key_value_map_ref (value->data[0].v_pointer); +#line 1059 "KeyValueMap.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value->data[0].v_pointer = NULL; +#line 1063 "KeyValueMap.c" + } +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + key_value_map_unref (old); +#line 1069 "KeyValueMap.c" + } +} + + +void value_take_key_value_map (GValue* value, gpointer v_object) { + KeyValueMap* old; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_KEY_VALUE_MAP)); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + old = value->data[0].v_pointer; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (v_object) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_KEY_VALUE_MAP)); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value->data[0].v_pointer = v_object; +#line 1088 "KeyValueMap.c" + } else { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + value->data[0].v_pointer = NULL; +#line 1092 "KeyValueMap.c" + } +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (old) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + key_value_map_unref (old); +#line 1098 "KeyValueMap.c" + } +} + + +static void key_value_map_class_init (KeyValueMapClass * klass) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + key_value_map_parent_class = g_type_class_peek_parent (klass); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + ((KeyValueMapClass *) klass)->finalize = key_value_map_finalize; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_type_class_add_private (klass, sizeof (KeyValueMapPrivate)); +#line 1110 "KeyValueMap.c" +} + + +static void key_value_map_instance_init (KeyValueMap * self) { + GeeHashMap* _tmp0_ = NULL; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + self->priv = KEY_VALUE_MAP_GET_PRIVATE (self); +#line 9 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +#line 9 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + self->priv->map = _tmp0_; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + self->ref_count = 1; +#line 1124 "KeyValueMap.c" +} + + +static void key_value_map_finalize (KeyValueMap* obj) { + KeyValueMap * self; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_KEY_VALUE_MAP, KeyValueMap); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_signal_handlers_destroy (self); +#line 8 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_free0 (self->priv->group); +#line 9 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + _g_object_unref0 (self->priv->map); +#line 1138 "KeyValueMap.c" +} + + +GType key_value_map_get_type (void) { + static volatile gsize key_value_map_type_id__volatile = 0; + if (g_once_init_enter (&key_value_map_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_key_value_map_init, value_key_value_map_free_value, value_key_value_map_copy_value, value_key_value_map_peek_pointer, "p", value_key_value_map_collect_value, "p", value_key_value_map_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (KeyValueMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) key_value_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (KeyValueMap), 0, (GInstanceInitFunc) key_value_map_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType key_value_map_type_id; + key_value_map_type_id = g_type_register_fundamental (g_type_fundamental_next (), "KeyValueMap", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&key_value_map_type_id__volatile, key_value_map_type_id); + } + return key_value_map_type_id__volatile; +} + + +gpointer key_value_map_ref (gpointer instance) { + KeyValueMap* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_atomic_int_inc (&self->ref_count); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + return instance; +#line 1163 "KeyValueMap.c" +} + + +void key_value_map_unref (gpointer instance) { + KeyValueMap* self; + self = instance; +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + KEY_VALUE_MAP_GET_CLASS (self)->finalize (self); +#line 7 "/home/jens/Source/shotwell/src/util/KeyValueMap.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 1176 "KeyValueMap.c" + } +} + + + diff --git a/src/util/Util.c b/src/util/Util.c new file mode 100644 index 0000000..ec9f4ff --- /dev/null +++ b/src/util/Util.c @@ -0,0 +1,31 @@ +/* Util.c generated by valac 0.32.1, the Vala compiler + * generated from Util.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include + + + + +#define UTIL_FILE_ATTRIBUTES "standard::*,time::*,id::file,id::filesystem,etag::value" +void util_init (GError** error); +void util_terminate (void); + + +void util_init (GError** error) { +} + + +void util_terminate (void) { +} + + + diff --git a/src/util/file.c b/src/util/file.c new file mode 100644 index 0000000..b219fd2 --- /dev/null +++ b/src/util/file.c @@ -0,0 +1,1937 @@ +/* file.c generated by valac 0.32.1, the Vala compiler + * generated from file.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ +/* Returns true if the file is claimed, false if it exists, and throws an Error otherwise. The file*/ +/* will be created when the function exits and should be overwritten. Note that the file is not*/ +/* held open; claiming a file is merely based on its existence.*/ +/**/ +/* This function is thread-safe.*/ + +#include +#include +#include +#include +#include +#include +#include + +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data); + + +gboolean claim_file (GFile* file, GError** error); +GFile* generate_unique_file (GFile* dir, const gchar* basename, gboolean* collision, GError** error); +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext); +glong find_last_offset (const gchar* str, gchar c); +guint64 query_total_file_size (GFile* file_or_dir, GCancellable* cancellable, GError** error); +void delete_all_files (GFile* dir, GeeSet* exceptions, ProgressMonitor monitor, void* monitor_target, guint64 file_count, GCancellable* cancellable, GError** error); +time_t query_file_modified (GFile* file, GError** error); +gboolean query_is_directory (GFile* file); +gboolean query_is_directory_empty (GFile* dir, GError** error); +gchar* get_display_pathname (GFile* file); +gchar* strip_pretty_path (const gchar* path); +gchar* get_file_info_id (GFileInfo* info); +void skip_uint64 (GInputStream* input, guint64 skip_amount, GError** error); +guint64 count_files_in_directory (GFile* dir, GError** error); +gboolean file_equal (GFile* a, GFile* b); +guint file_hash (GFile* file); + + +static gpointer _g_error_copy0 (gpointer self) { +#line 23 "/home/jens/Source/shotwell/src/util/file.vala" + return self ? g_error_copy (self) : NULL; +#line 52 "file.c" +} + + +gboolean claim_file (GFile* file, GError** error) { + gboolean result = FALSE; + GError * _inner_error_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 61 "file.c" + { + GFile* _tmp0_ = NULL; + GFileOutputStream* _tmp1_ = NULL; + GFileOutputStream* _tmp2_ = NULL; +#line 14 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = file; +#line 14 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_file_create (_tmp0_, G_FILE_CREATE_NONE, NULL, &_inner_error_); +#line 14 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = _tmp1_; +#line 14 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp2_); +#line 14 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 76 "file.c" + goto __catch0_g_error; + } +#line 17 "/home/jens/Source/shotwell/src/util/file.vala" + result = TRUE; +#line 17 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 83 "file.c" + } + goto __finally0; + __catch0_g_error: + { + GError* err = NULL; + GError* _tmp3_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/util/file.vala" + err = _inner_error_; +#line 13 "/home/jens/Source/shotwell/src/util/file.vala" + _inner_error_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = err; +#line 20 "/home/jens/Source/shotwell/src/util/file.vala" + if (!g_error_matches (_tmp3_, G_IO_ERROR, G_IO_ERROR_EXISTS)) { +#line 98 "file.c" + GFile* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + GError* _tmp9_ = NULL; + GError* _tmp10_ = NULL; +#line 21 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = file; +#line 21 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = g_file_get_path (_tmp4_); +#line 21 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = _tmp5_; +#line 21 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp7_ = err; +#line 21 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp8_ = _tmp7_->message; +#line 21 "/home/jens/Source/shotwell/src/util/file.vala" + g_warning ("file.vala:21: claim_file %s: %s", _tmp6_, _tmp8_); +#line 21 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp6_); +#line 23 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = err; +#line 23 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp10_ = _g_error_copy0 (_tmp9_); +#line 23 "/home/jens/Source/shotwell/src/util/file.vala" + _inner_error_ = _tmp10_; +#line 23 "/home/jens/Source/shotwell/src/util/file.vala" + _g_error_free0 (err); +#line 128 "file.c" + goto __finally0; + } +#line 26 "/home/jens/Source/shotwell/src/util/file.vala" + result = FALSE; +#line 26 "/home/jens/Source/shotwell/src/util/file.vala" + _g_error_free0 (err); +#line 26 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 137 "file.c" + } + __finally0: +#line 13 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 13 "/home/jens/Source/shotwell/src/util/file.vala" + return FALSE; +#line 144 "file.c" +} + + +GFile* generate_unique_file (GFile* dir, const gchar* basename, gboolean* collision, GError** error) { + gboolean _vala_collision = FALSE; + GFile* result = NULL; + GFile* file = NULL; + GFile* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + GFile* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gchar* name = NULL; + gchar* ext = NULL; + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + GFile* _tmp28_ = NULL; + gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; + const gchar* _tmp31_ = NULL; + GError * _inner_error_ = NULL; +#line 36 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE (dir), NULL); +#line 36 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (basename != NULL, NULL); +#line 38 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = dir; +#line 38 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = basename; +#line 38 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = g_file_get_child (_tmp0_, _tmp1_); +#line 38 "/home/jens/Source/shotwell/src/util/file.vala" + file = _tmp2_; +#line 39 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = file; +#line 39 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = claim_file (_tmp4_, &_inner_error_); +#line 39 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = _tmp5_; +#line 39 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 39 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 39 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (file); +#line 39 "/home/jens/Source/shotwell/src/util/file.vala" + return NULL; +#line 194 "file.c" + } +#line 39 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp3_) { +#line 40 "/home/jens/Source/shotwell/src/util/file.vala" + _vala_collision = FALSE; +#line 42 "/home/jens/Source/shotwell/src/util/file.vala" + result = file; +#line 42 "/home/jens/Source/shotwell/src/util/file.vala" + if (collision) { +#line 42 "/home/jens/Source/shotwell/src/util/file.vala" + *collision = _vala_collision; +#line 206 "file.c" + } +#line 42 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 210 "file.c" + } +#line 46 "/home/jens/Source/shotwell/src/util/file.vala" + _vala_collision = TRUE; +#line 49 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = basename; +#line 49 "/home/jens/Source/shotwell/src/util/file.vala" + disassemble_filename (_tmp6_, &_tmp7_, &_tmp8_); +#line 49 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (name); +#line 49 "/home/jens/Source/shotwell/src/util/file.vala" + name = _tmp7_; +#line 49 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (ext); +#line 49 "/home/jens/Source/shotwell/src/util/file.vala" + ext = _tmp8_; +#line 226 "file.c" + { + gint ctr = 0; +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + ctr = 1; +#line 231 "file.c" + { + gboolean _tmp9_ = FALSE; +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = TRUE; +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + while (TRUE) { +#line 238 "file.c" + gint _tmp11_ = 0; + gchar* _tmp12_ = NULL; + const gchar* _tmp13_ = NULL; + gchar* new_name = NULL; + gchar* _tmp21_ = NULL; + GFile* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; + GFile* _tmp24_ = NULL; + gboolean _tmp25_ = FALSE; + GFile* _tmp26_ = NULL; + gboolean _tmp27_ = FALSE; +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + if (!_tmp9_) { +#line 252 "file.c" + gint _tmp10_ = 0; +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp10_ = ctr; +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + ctr = _tmp10_ + 1; +#line 258 "file.c" + } +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = FALSE; +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp11_ = ctr; +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + if (!(_tmp11_ < G_MAXINT)) { +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + break; +#line 268 "file.c" + } +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp13_ = ext; +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp13_ != NULL) { +#line 274 "file.c" + const gchar* _tmp14_ = NULL; + gint _tmp15_ = 0; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp14_ = name; +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp15_ = ctr; +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp16_ = ext; +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp17_ = g_strdup_printf ("%s_%d.%s", _tmp14_, _tmp15_, _tmp16_); +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp12_); +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp12_ = _tmp17_; +#line 291 "file.c" + } else { + const gchar* _tmp18_ = NULL; + gint _tmp19_ = 0; + gchar* _tmp20_ = NULL; +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp18_ = name; +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp19_ = ctr; +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp20_ = g_strdup_printf ("%s_%d", _tmp18_, _tmp19_); +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp12_); +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp12_ = _tmp20_; +#line 306 "file.c" + } +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp21_ = g_strdup (_tmp12_); +#line 53 "/home/jens/Source/shotwell/src/util/file.vala" + new_name = _tmp21_; +#line 55 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp22_ = dir; +#line 55 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp23_ = new_name; +#line 55 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp24_ = g_file_get_child (_tmp22_, _tmp23_); +#line 55 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (file); +#line 55 "/home/jens/Source/shotwell/src/util/file.vala" + file = _tmp24_; +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp26_ = file; +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp27_ = claim_file (_tmp26_, &_inner_error_); +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp25_ = _tmp27_; +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (new_name); +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp12_); +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (ext); +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (name); +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (file); +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + return NULL; +#line 344 "file.c" + } +#line 56 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp25_) { +#line 57 "/home/jens/Source/shotwell/src/util/file.vala" + result = file; +#line 57 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (new_name); +#line 57 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp12_); +#line 57 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (ext); +#line 57 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (name); +#line 57 "/home/jens/Source/shotwell/src/util/file.vala" + if (collision) { +#line 57 "/home/jens/Source/shotwell/src/util/file.vala" + *collision = _vala_collision; +#line 362 "file.c" + } +#line 57 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 366 "file.c" + } +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (new_name); +#line 52 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp12_); +#line 372 "file.c" + } + } + } +#line 60 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp28_ = dir; +#line 60 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp29_ = g_file_get_path (_tmp28_); +#line 60 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp30_ = _tmp29_; +#line 60 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp31_ = basename; +#line 60 "/home/jens/Source/shotwell/src/util/file.vala" + g_warning ("file.vala:60: generate_unique_filename %s for %s: unable to claim file", _tmp30_, _tmp31_); +#line 60 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp30_); +#line 62 "/home/jens/Source/shotwell/src/util/file.vala" + result = NULL; +#line 62 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (ext); +#line 62 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (name); +#line 62 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (file); +#line 62 "/home/jens/Source/shotwell/src/util/file.vala" + if (collision) { +#line 62 "/home/jens/Source/shotwell/src/util/file.vala" + *collision = _vala_collision; +#line 400 "file.c" + } +#line 62 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 404 "file.c" +} + + +static glong string_strnlen (gchar* str, glong maxlen) { + glong result = 0L; + gchar* end = NULL; + gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = str; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = maxlen; +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); +#line 1295 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp2_; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = end; +#line 1296 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ == NULL) { +#line 427 "file.c" + glong _tmp4_ = 0L; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = maxlen; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 1297 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 435 "file.c" + } else { + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = str; +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (glong) (_tmp5_ - _tmp6_); +#line 1299 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 447 "file.c" + } +} + + +static gchar* string_substring (const gchar* self, glong offset, glong len) { + gchar* result = NULL; + glong string_length = 0L; + gboolean _tmp0_ = FALSE; + glong _tmp1_ = 0L; + glong _tmp8_ = 0L; + glong _tmp14_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + glong _tmp21_ = 0L; + gchar* _tmp22_ = NULL; +#line 1306 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = offset; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp1_ >= ((glong) 0)) { +#line 471 "file.c" + glong _tmp2_ = 0L; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = len; +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = _tmp2_ >= ((glong) 0); +#line 477 "file.c" + } else { +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = FALSE; +#line 481 "file.c" + } +#line 1308 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp0_) { +#line 485 "file.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + glong _tmp5_ = 0L; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = offset; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = len; +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_); +#line 1310 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = _tmp5_; +#line 497 "file.c" + } else { + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = strlen (self); +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = _tmp6_; +#line 1312 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp7_; +#line 507 "file.c" + } +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = offset; +#line 1315 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp8_ < ((glong) 0)) { +#line 513 "file.c" + glong _tmp9_ = 0L; + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = string_length; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = offset; +#line 1316 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + offset = _tmp9_ + _tmp10_; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = offset; +#line 1317 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL); +#line 527 "file.c" + } else { + glong _tmp12_ = 0L; + glong _tmp13_ = 0L; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = offset; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = string_length; +#line 1319 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL); +#line 537 "file.c" + } +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = len; +#line 1321 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp14_ < ((glong) 0)) { +#line 543 "file.c" + glong _tmp15_ = 0L; + glong _tmp16_ = 0L; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = offset; +#line 1322 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + len = _tmp15_ - _tmp16_; +#line 552 "file.c" + } +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = offset; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = len; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = string_length; +#line 1324 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = offset; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = len; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_); +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp22_; +#line 1325 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 572 "file.c" +} + + +void disassemble_filename (const gchar* basename, gchar** name, gchar** ext) { + gchar* _vala_name = NULL; + gchar* _vala_ext = NULL; + glong offset = 0L; + const gchar* _tmp0_ = NULL; + glong _tmp1_ = 0L; + glong _tmp2_ = 0L; +#line 65 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_if_fail (basename != NULL); +#line 66 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = basename; +#line 66 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = find_last_offset (_tmp0_, '.'); +#line 66 "/home/jens/Source/shotwell/src/util/file.vala" + offset = _tmp1_; +#line 67 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = offset; +#line 67 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp2_ <= ((glong) 0)) { +#line 595 "file.c" + const gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; +#line 68 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = basename; +#line 68 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = g_strdup (_tmp3_); +#line 68 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_vala_name); +#line 68 "/home/jens/Source/shotwell/src/util/file.vala" + _vala_name = _tmp4_; +#line 69 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_vala_ext); +#line 69 "/home/jens/Source/shotwell/src/util/file.vala" + _vala_ext = NULL; +#line 610 "file.c" + } else { + const gchar* _tmp5_ = NULL; + glong _tmp6_ = 0L; + gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + glong _tmp9_ = 0L; + gchar* _tmp10_ = NULL; +#line 71 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = basename; +#line 71 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = offset; +#line 71 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp7_ = string_substring (_tmp5_, (glong) 0, _tmp6_); +#line 71 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_vala_name); +#line 71 "/home/jens/Source/shotwell/src/util/file.vala" + _vala_name = _tmp7_; +#line 72 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp8_ = basename; +#line 72 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = offset; +#line 72 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp10_ = string_substring (_tmp8_, _tmp9_ + 1, (glong) -1); +#line 72 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_vala_ext); +#line 72 "/home/jens/Source/shotwell/src/util/file.vala" + _vala_ext = _tmp10_; +#line 638 "file.c" + } +#line 65 "/home/jens/Source/shotwell/src/util/file.vala" + if (name) { +#line 65 "/home/jens/Source/shotwell/src/util/file.vala" + *name = _vala_name; +#line 644 "file.c" + } else { +#line 65 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_vala_name); +#line 648 "file.c" + } +#line 65 "/home/jens/Source/shotwell/src/util/file.vala" + if (ext) { +#line 65 "/home/jens/Source/shotwell/src/util/file.vala" + *ext = _vala_ext; +#line 654 "file.c" + } else { +#line 65 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_vala_ext); +#line 658 "file.c" + } +} + + +guint64 query_total_file_size (GFile* file_or_dir, GCancellable* cancellable, GError** error) { + guint64 result = 0ULL; + GFileType type = 0; + GFile* _tmp0_ = NULL; + GFileType _tmp1_ = 0; + GFileType _tmp2_ = 0; + GFileEnumerator* enumerator = NULL; + guint64 total_bytes = 0ULL; + GFileInfo* info = NULL; + GError * _inner_error_ = NULL; +#line 77 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE (file_or_dir), 0ULL); +#line 77 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable), 0ULL); +#line 78 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = file_or_dir; +#line 78 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_file_query_file_type (_tmp0_, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL); +#line 78 "/home/jens/Source/shotwell/src/util/file.vala" + type = _tmp1_; +#line 79 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = type; +#line 79 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp2_ == G_FILE_TYPE_REGULAR) { +#line 687 "file.c" + GFileInfo* info = NULL; + GFileInfo* _tmp16_ = NULL; + gint64 _tmp17_ = 0LL; +#line 80 "/home/jens/Source/shotwell/src/util/file.vala" + info = NULL; +#line 693 "file.c" + { + GFileInfo* _tmp3_ = NULL; + GFile* _tmp4_ = NULL; + GCancellable* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = file_or_dir; +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = cancellable; +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = g_file_query_info (_tmp4_, G_FILE_ATTRIBUTE_STANDARD_SIZE, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, _tmp5_, &_inner_error_); +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = _tmp6_; +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 710 "file.c" + goto __catch1_g_error; + } +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp7_ = _tmp3_; +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = NULL; +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 82 "/home/jens/Source/shotwell/src/util/file.vala" + info = _tmp7_; +#line 81 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp3_); +#line 723 "file.c" + } + goto __finally1; + __catch1_g_error: + { + GError* err = NULL; + GError* _tmp8_ = NULL; + GFile* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + GError* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; +#line 81 "/home/jens/Source/shotwell/src/util/file.vala" + err = _inner_error_; +#line 81 "/home/jens/Source/shotwell/src/util/file.vala" + _inner_error_ = NULL; +#line 85 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp8_ = err; +#line 85 "/home/jens/Source/shotwell/src/util/file.vala" + if (g_error_matches (_tmp8_, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { +#line 743 "file.c" + GError* _tmp9_ = NULL; + GError* _tmp10_ = NULL; +#line 86 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = err; +#line 86 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp10_ = _g_error_copy0 (_tmp9_); +#line 86 "/home/jens/Source/shotwell/src/util/file.vala" + _inner_error_ = _tmp10_; +#line 86 "/home/jens/Source/shotwell/src/util/file.vala" + _g_error_free0 (err); +#line 754 "file.c" + goto __finally1; + } +#line 88 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp11_ = file_or_dir; +#line 88 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp12_ = g_file_get_path (_tmp11_); +#line 88 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp13_ = _tmp12_; +#line 88 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp14_ = err; +#line 88 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp15_ = _tmp14_->message; +#line 88 "/home/jens/Source/shotwell/src/util/file.vala" + g_debug ("file.vala:88: Unable to query filesize for %s: %s", _tmp13_, _tmp15_); +#line 88 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp13_); +#line 90 "/home/jens/Source/shotwell/src/util/file.vala" + result = (guint64) 0; +#line 90 "/home/jens/Source/shotwell/src/util/file.vala" + _g_error_free0 (err); +#line 90 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 90 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 779 "file.c" + } + __finally1: +#line 81 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 81 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 81 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 81 "/home/jens/Source/shotwell/src/util/file.vala" + return 0ULL; +#line 790 "file.c" + } +#line 93 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp16_ = info; +#line 93 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp17_ = g_file_info_get_size (_tmp16_); +#line 93 "/home/jens/Source/shotwell/src/util/file.vala" + result = (guint64) _tmp17_; +#line 93 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 93 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 802 "file.c" + } else { + GFileType _tmp18_ = 0; +#line 94 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp18_ = type; +#line 94 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp18_ != G_FILE_TYPE_DIRECTORY) { +#line 95 "/home/jens/Source/shotwell/src/util/file.vala" + result = (guint64) 0; +#line 95 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 813 "file.c" + } + } + { + GFileEnumerator* _tmp19_ = NULL; + GFile* _tmp20_ = NULL; + GCancellable* _tmp21_ = NULL; + GFileEnumerator* _tmp22_ = NULL; + GFileEnumerator* _tmp23_ = NULL; + GFileEnumerator* _tmp24_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp20_ = file_or_dir; +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp21_ = cancellable; +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp22_ = g_file_enumerate_children (_tmp20_, G_FILE_ATTRIBUTE_STANDARD_NAME, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, _tmp21_, &_inner_error_); +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp19_ = _tmp22_; +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 833 "file.c" + goto __catch2_g_error; + } +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp23_ = _tmp19_; +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp19_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 100 "/home/jens/Source/shotwell/src/util/file.vala" + enumerator = _tmp23_; +#line 102 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp24_ = enumerator; +#line 102 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp24_ == NULL) { +#line 103 "/home/jens/Source/shotwell/src/util/file.vala" + result = (guint64) 0; +#line 103 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp19_); +#line 103 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 103 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 856 "file.c" + } +#line 99 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp19_); +#line 860 "file.c" + } + goto __finally2; + __catch2_g_error: + { + GError* err = NULL; + gboolean _tmp25_ = FALSE; + GError* _tmp26_ = NULL; + GError* _tmp28_ = NULL; + GError* _tmp29_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/util/file.vala" + err = _inner_error_; +#line 99 "/home/jens/Source/shotwell/src/util/file.vala" + _inner_error_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp26_ = err; +#line 106 "/home/jens/Source/shotwell/src/util/file.vala" + if (g_error_matches (_tmp26_, G_FILE_ERROR, G_FILE_ERROR_PERM)) { +#line 106 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp25_ = TRUE; +#line 880 "file.c" + } else { + GError* _tmp27_ = NULL; +#line 106 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp27_ = err; +#line 106 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp25_ = g_error_matches (_tmp27_, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED); +#line 887 "file.c" + } +#line 106 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp25_) { +#line 107 "/home/jens/Source/shotwell/src/util/file.vala" + result = (guint64) 0; +#line 107 "/home/jens/Source/shotwell/src/util/file.vala" + _g_error_free0 (err); +#line 107 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 107 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 899 "file.c" + } +#line 109 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp28_ = err; +#line 109 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp29_ = _g_error_copy0 (_tmp28_); +#line 109 "/home/jens/Source/shotwell/src/util/file.vala" + _inner_error_ = _tmp29_; +#line 109 "/home/jens/Source/shotwell/src/util/file.vala" + _g_error_free0 (err); +#line 909 "file.c" + goto __finally2; + } + __finally2: +#line 99 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 99 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 99 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 99 "/home/jens/Source/shotwell/src/util/file.vala" + return 0ULL; +#line 921 "file.c" + } +#line 112 "/home/jens/Source/shotwell/src/util/file.vala" + total_bytes = (guint64) 0; +#line 114 "/home/jens/Source/shotwell/src/util/file.vala" + info = NULL; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + while (TRUE) { +#line 929 "file.c" + GFileInfo* _tmp30_ = NULL; + GFileEnumerator* _tmp31_ = NULL; + GCancellable* _tmp32_ = NULL; + GFileInfo* _tmp33_ = NULL; + GFileInfo* _tmp34_ = NULL; + GFileInfo* _tmp35_ = NULL; + guint64 _tmp36_ = 0ULL; + GFile* _tmp37_ = NULL; + GFileInfo* _tmp38_ = NULL; + const gchar* _tmp39_ = NULL; + GFile* _tmp40_ = NULL; + GFile* _tmp41_ = NULL; + GCancellable* _tmp42_ = NULL; + guint64 _tmp43_ = 0ULL; + guint64 _tmp44_ = 0ULL; + guint64 _tmp45_ = 0ULL; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp31_ = enumerator; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp32_ = cancellable; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp33_ = g_file_enumerator_next_file (_tmp31_, _tmp32_, &_inner_error_); +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp30_ = _tmp33_; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + return 0ULL; +#line 964 "file.c" + } +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp34_ = _tmp30_; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp30_ = NULL; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + info = _tmp34_; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp35_ = info; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + if (!(_tmp35_ != NULL)) { +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp30_); +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + break; +#line 982 "file.c" + } +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp37_ = file_or_dir; +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp38_ = info; +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp39_ = g_file_info_get_name (_tmp38_); +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp40_ = g_file_get_child (_tmp37_, _tmp39_); +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp41_ = _tmp40_; +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp42_ = cancellable; +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp43_ = query_total_file_size (_tmp41_, _tmp42_, &_inner_error_); +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp44_ = _tmp43_; +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp41_); +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp36_ = _tmp44_; +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp30_); +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + return 0ULL; +#line 1016 "file.c" + } +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp45_ = total_bytes; +#line 116 "/home/jens/Source/shotwell/src/util/file.vala" + total_bytes = _tmp45_ + _tmp36_; +#line 115 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp30_); +#line 1024 "file.c" + } +#line 118 "/home/jens/Source/shotwell/src/util/file.vala" + result = total_bytes; +#line 118 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 118 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 118 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1034 "file.c" +} + + +void delete_all_files (GFile* dir, GeeSet* exceptions, ProgressMonitor monitor, void* monitor_target, guint64 file_count, GCancellable* cancellable, GError** error) { + GFileType type = 0; + GFile* _tmp0_ = NULL; + GFileType _tmp1_ = 0; + GFileType _tmp2_ = 0; + GFileEnumerator* enumerator = NULL; + GFile* _tmp10_ = NULL; + GCancellable* _tmp11_ = NULL; + GFileEnumerator* _tmp12_ = NULL; + GFileInfo* info = NULL; + guint64 i = 0ULL; + GError * _inner_error_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_if_fail (G_IS_FILE (dir)); +#line 125 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_if_fail ((exceptions == NULL) || GEE_IS_SET (exceptions)); +#line 125 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_if_fail ((cancellable == NULL) || G_IS_CANCELLABLE (cancellable)); +#line 127 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = dir; +#line 127 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_file_query_file_type (_tmp0_, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL); +#line 127 "/home/jens/Source/shotwell/src/util/file.vala" + type = _tmp1_; +#line 128 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = type; +#line 128 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp2_ != G_FILE_TYPE_DIRECTORY) { +#line 1066 "file.c" + GFile* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + GError* _tmp8_ = NULL; + GError* _tmp9_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = dir; +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = g_file_get_path (_tmp3_); +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = _tmp4_; +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = g_strdup_printf ("%s is not a directory", _tmp5_); +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp7_ = _tmp6_; +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp8_ = g_error_new_literal (G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY, _tmp7_); +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = _tmp8_; +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp7_); +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp5_); +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + _inner_error_ = _tmp9_; +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 129 "/home/jens/Source/shotwell/src/util/file.vala" + return; +#line 1098 "file.c" + } +#line 131 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp10_ = dir; +#line 131 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp11_ = cancellable; +#line 131 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp12_ = g_file_enumerate_children (_tmp10_, "standard::name,standard::type", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, _tmp11_, &_inner_error_); +#line 131 "/home/jens/Source/shotwell/src/util/file.vala" + enumerator = _tmp12_; +#line 131 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 131 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 131 "/home/jens/Source/shotwell/src/util/file.vala" + return; +#line 1114 "file.c" + } +#line 133 "/home/jens/Source/shotwell/src/util/file.vala" + info = NULL; +#line 134 "/home/jens/Source/shotwell/src/util/file.vala" + i = (guint64) 0; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + while (TRUE) { +#line 1122 "file.c" + GFileInfo* _tmp13_ = NULL; + GFileEnumerator* _tmp14_ = NULL; + GCancellable* _tmp15_ = NULL; + GFileInfo* _tmp16_ = NULL; + GFileInfo* _tmp17_ = NULL; + GFileInfo* _tmp18_ = NULL; + GFileInfo* _tmp19_ = NULL; + GFileType _tmp20_ = 0; + gboolean _tmp21_ = FALSE; + GeeSet* _tmp22_ = NULL; + GFile* file = NULL; + GFile* _tmp27_ = NULL; + GFileInfo* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + GFile* _tmp30_ = NULL; + gboolean _tmp38_ = FALSE; + ProgressMonitor _tmp39_ = NULL; + void* _tmp39__target = NULL; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp14_ = enumerator; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp15_ = cancellable; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp16_ = g_file_enumerator_next_file (_tmp14_, _tmp15_, &_inner_error_); +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp13_ = _tmp16_; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + return; +#line 1159 "file.c" + } +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp17_ = _tmp13_; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp13_ = NULL; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + info = _tmp17_; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp18_ = info; +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + if (!(_tmp18_ != NULL)) { +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp13_); +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + break; +#line 1177 "file.c" + } +#line 136 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp19_ = info; +#line 136 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp20_ = g_file_info_get_file_type (_tmp19_); +#line 136 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp20_ != G_FILE_TYPE_REGULAR) { +#line 137 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp13_); +#line 137 "/home/jens/Source/shotwell/src/util/file.vala" + continue; +#line 1189 "file.c" + } +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp22_ = exceptions; +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp22_ != NULL) { +#line 1195 "file.c" + GeeSet* _tmp23_ = NULL; + GFileInfo* _tmp24_ = NULL; + const gchar* _tmp25_ = NULL; + gboolean _tmp26_ = FALSE; +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp23_ = exceptions; +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp24_ = info; +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp25_ = g_file_info_get_name (_tmp24_); +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp26_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection), _tmp25_); +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp21_ = _tmp26_; +#line 1210 "file.c" + } else { +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp21_ = FALSE; +#line 1214 "file.c" + } +#line 139 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp21_) { +#line 140 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp13_); +#line 140 "/home/jens/Source/shotwell/src/util/file.vala" + continue; +#line 1222 "file.c" + } +#line 142 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp27_ = dir; +#line 142 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp28_ = info; +#line 142 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp29_ = g_file_info_get_name (_tmp28_); +#line 142 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp30_ = g_file_get_child (_tmp27_, _tmp29_); +#line 142 "/home/jens/Source/shotwell/src/util/file.vala" + file = _tmp30_; +#line 1234 "file.c" + { + GFile* _tmp31_ = NULL; + GCancellable* _tmp32_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp31_ = file; +#line 144 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp32_ = cancellable; +#line 144 "/home/jens/Source/shotwell/src/util/file.vala" + g_file_delete (_tmp31_, _tmp32_, &_inner_error_); +#line 144 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 1246 "file.c" + goto __catch3_g_error; + } + } + goto __finally3; + __catch3_g_error: + { + GError* err = NULL; + GFile* _tmp33_ = NULL; + gchar* _tmp34_ = NULL; + gchar* _tmp35_ = NULL; + GError* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + err = _inner_error_; +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + _inner_error_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp33_ = file; +#line 146 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp34_ = g_file_get_path (_tmp33_); +#line 146 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp35_ = _tmp34_; +#line 146 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp36_ = err; +#line 146 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp37_ = _tmp36_->message; +#line 146 "/home/jens/Source/shotwell/src/util/file.vala" + g_warning ("file.vala:146: Unable to delete file %s: %s", _tmp35_, _tmp37_); +#line 146 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp35_); +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + _g_error_free0 (err); +#line 1279 "file.c" + } + __finally3: +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (file); +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp13_); +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 143 "/home/jens/Source/shotwell/src/util/file.vala" + return; +#line 1296 "file.c" + } +#line 149 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp39_ = monitor; +#line 149 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp39__target = monitor_target; +#line 149 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp39_ != NULL) { +#line 1304 "file.c" + guint64 _tmp40_ = 0ULL; +#line 149 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp40_ = file_count; +#line 149 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp38_ = _tmp40_ > ((guint64) 0); +#line 1310 "file.c" + } else { +#line 149 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp38_ = FALSE; +#line 1314 "file.c" + } +#line 149 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp38_) { +#line 1318 "file.c" + ProgressMonitor _tmp41_ = NULL; + void* _tmp41__target = NULL; + guint64 _tmp42_ = 0ULL; + guint64 _tmp43_ = 0ULL; + guint64 _tmp44_ = 0ULL; +#line 150 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp41_ = monitor; +#line 150 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp41__target = monitor_target; +#line 150 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp42_ = file_count; +#line 150 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp43_ = i; +#line 150 "/home/jens/Source/shotwell/src/util/file.vala" + i = _tmp43_ + 1; +#line 150 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp44_ = i; +#line 150 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp41_ (_tmp42_, _tmp44_, TRUE, _tmp41__target); +#line 1338 "file.c" + } +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (file); +#line 135 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp13_); +#line 1344 "file.c" + } +#line 125 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 125 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 1350 "file.c" +} + + +time_t query_file_modified (GFile* file, GError** error) { + time_t result = 0; + GFileInfo* info = NULL; + GFile* _tmp0_ = NULL; + GFileInfo* _tmp1_ = NULL; + GTimeVal _tmp2_ = {0}; + glong _tmp3_ = 0L; + GError * _inner_error_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE (file), 0); +#line 155 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = file; +#line 155 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_file_query_info (_tmp0_, G_FILE_ATTRIBUTE_TIME_MODIFIED, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 155 "/home/jens/Source/shotwell/src/util/file.vala" + info = _tmp1_; +#line 155 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 155 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 155 "/home/jens/Source/shotwell/src/util/file.vala" + return 0; +#line 1376 "file.c" + } +#line 158 "/home/jens/Source/shotwell/src/util/file.vala" + g_file_info_get_modification_time (info, &_tmp2_); +#line 158 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = _tmp2_.tv_sec; +#line 158 "/home/jens/Source/shotwell/src/util/file.vala" + result = (time_t) _tmp3_; +#line 158 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 158 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1388 "file.c" +} + + +gboolean query_is_directory (GFile* file) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + GFileType _tmp1_ = 0; +#line 161 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE (file), FALSE); +#line 162 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = file; +#line 162 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_file_query_file_type (_tmp0_, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL); +#line 162 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp1_ == G_FILE_TYPE_DIRECTORY; +#line 162 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1406 "file.c" +} + + +gboolean query_is_directory_empty (GFile* dir, GError** error) { + gboolean result = FALSE; + GFile* _tmp0_ = NULL; + GFileType _tmp1_ = 0; + GFileEnumerator* enumerator = NULL; + GFile* _tmp2_ = NULL; + GFileEnumerator* _tmp3_ = NULL; + GFileEnumerator* _tmp4_ = NULL; + GFileInfo* _tmp5_ = NULL; + GFileEnumerator* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; + GFileInfo* _tmp9_ = NULL; + gboolean _tmp10_ = FALSE; + GError * _inner_error_ = NULL; +#line 165 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE (dir), FALSE); +#line 166 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = dir; +#line 166 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_file_query_file_type (_tmp0_, G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL); +#line 166 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp1_ != G_FILE_TYPE_DIRECTORY) { +#line 167 "/home/jens/Source/shotwell/src/util/file.vala" + result = FALSE; +#line 167 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1437 "file.c" + } +#line 169 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = dir; +#line 169 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = g_file_enumerate_children (_tmp2_, "standard::name", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 169 "/home/jens/Source/shotwell/src/util/file.vala" + enumerator = _tmp3_; +#line 169 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 169 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 169 "/home/jens/Source/shotwell/src/util/file.vala" + return FALSE; +#line 1451 "file.c" + } +#line 171 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = enumerator; +#line 171 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp4_ == NULL) { +#line 172 "/home/jens/Source/shotwell/src/util/file.vala" + result = FALSE; +#line 172 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 172 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1463 "file.c" + } +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = enumerator; +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp7_ = g_file_enumerator_next_file (_tmp6_, NULL, &_inner_error_); +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = _tmp7_; +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + return FALSE; +#line 1479 "file.c" + } +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp8_ = _tmp5_; +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = NULL; +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = _tmp8_; +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp10_ = _tmp9_ == NULL; +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp9_); +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp10_; +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp5_); +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 174 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1499 "file.c" +} + + +gchar* get_display_pathname (GFile* file) { + gchar* result = NULL; + gchar* path = NULL; + GFile* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* home = NULL; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + const gchar* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gboolean _tmp9_ = FALSE; +#line 177 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 179 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = file; +#line 179 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_file_get_parse_name (_tmp0_); +#line 179 "/home/jens/Source/shotwell/src/util/file.vala" + path = _tmp1_; +#line 180 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = g_get_home_dir (); +#line 180 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 180 "/home/jens/Source/shotwell/src/util/file.vala" + home = _tmp3_; +#line 182 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = path; +#line 182 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = home; +#line 182 "/home/jens/Source/shotwell/src/util/file.vala" + if (g_strcmp0 (_tmp4_, _tmp5_) == 0) { +#line 1536 "file.c" + gchar* _tmp6_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = g_strdup ("~"); +#line 183 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp6_; +#line 183 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (home); +#line 183 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (path); +#line 183 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1548 "file.c" + } +#line 185 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp7_ = path; +#line 185 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp8_ = home; +#line 185 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = g_str_has_prefix (_tmp7_, _tmp8_); +#line 185 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp9_) { +#line 1558 "file.c" + const gchar* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp10_ = path; +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp11_ = home; +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp12_ = strlen (_tmp11_); +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp13_ = _tmp12_; +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp14_ = string_substring (_tmp10_, (glong) _tmp13_, (glong) -1); +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp15_ = _tmp14_; +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp16_ = g_strdup_printf ("~%s", _tmp15_); +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp17_ = _tmp16_; +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp15_); +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp17_; +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (home); +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (path); +#line 186 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1593 "file.c" + } +#line 188 "/home/jens/Source/shotwell/src/util/file.vala" + result = path; +#line 188 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (home); +#line 188 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1601 "file.c" +} + + +gchar* strip_pretty_path (const gchar* path) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; + gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 191 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (path != NULL, NULL); +#line 192 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = path; +#line 192 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_str_has_prefix (_tmp0_, "~"); +#line 192 "/home/jens/Source/shotwell/src/util/file.vala" + if (!_tmp1_) { +#line 1623 "file.c" + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 193 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = path; +#line 193 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = g_strdup (_tmp2_); +#line 193 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp3_; +#line 193 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1634 "file.c" + } +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = g_get_home_dir (); +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = path; +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = string_substring (_tmp5_, (glong) 1, (glong) -1); +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp7_ = _tmp6_; +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp8_ = g_strconcat (_tmp4_, _tmp7_, NULL); +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = _tmp8_; +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + _g_free0 (_tmp7_); +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp9_; +#line 195 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1654 "file.c" +} + + +gchar* get_file_info_id (GFileInfo* info) { + gchar* result = NULL; + GFileInfo* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; +#line 198 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE_INFO (info), NULL); +#line 199 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = info; +#line 199 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = g_file_info_get_attribute_string (_tmp0_, G_FILE_ATTRIBUTE_ID_FILE); +#line 199 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = g_strdup (_tmp1_); +#line 199 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp2_; +#line 199 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1675 "file.c" +} + + +void skip_uint64 (GInputStream* input, guint64 skip_amount, GError** error) { + GError * _inner_error_ = NULL; +#line 203 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_if_fail (G_IS_INPUT_STREAM (input)); +#line 204 "/home/jens/Source/shotwell/src/util/file.vala" + while (TRUE) { +#line 1685 "file.c" + guint64 _tmp0_ = 0ULL; + guint64 _tmp1_ = 0ULL; +#line 204 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = skip_amount; +#line 204 "/home/jens/Source/shotwell/src/util/file.vala" + if (!(_tmp0_ > ((guint64) 0))) { +#line 204 "/home/jens/Source/shotwell/src/util/file.vala" + break; +#line 1694 "file.c" + } +#line 206 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = skip_amount; +#line 206 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp1_ >= ((guint64) G_MAXSSIZE)) { +#line 1700 "file.c" + GInputStream* _tmp2_ = NULL; + guint64 _tmp3_ = 0ULL; +#line 207 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = input; +#line 207 "/home/jens/Source/shotwell/src/util/file.vala" + g_input_stream_skip (_tmp2_, (gsize) G_MAXSSIZE, NULL, &_inner_error_); +#line 207 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 207 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 207 "/home/jens/Source/shotwell/src/util/file.vala" + return; +#line 1713 "file.c" + } +#line 208 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = skip_amount; +#line 208 "/home/jens/Source/shotwell/src/util/file.vala" + skip_amount = _tmp3_ - G_MAXSSIZE; +#line 1719 "file.c" + } else { + GInputStream* _tmp4_ = NULL; + guint64 _tmp5_ = 0ULL; +#line 210 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = input; +#line 210 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = skip_amount; +#line 210 "/home/jens/Source/shotwell/src/util/file.vala" + g_input_stream_skip (_tmp4_, (gsize) _tmp5_, NULL, &_inner_error_); +#line 210 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 210 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 210 "/home/jens/Source/shotwell/src/util/file.vala" + return; +#line 1735 "file.c" + } +#line 211 "/home/jens/Source/shotwell/src/util/file.vala" + skip_amount = (guint64) 0; +#line 1739 "file.c" + } + } +} + + +guint64 count_files_in_directory (GFile* dir, GError** error) { + guint64 result = 0ULL; + GFile* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + guint64 count = 0ULL; + GFileEnumerator* enumerator = NULL; + GFile* _tmp2_ = NULL; + GFileEnumerator* _tmp3_ = NULL; + GFileInfo* info = NULL; + GError * _inner_error_ = NULL; +#line 217 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail (G_IS_FILE (dir), 0ULL); +#line 218 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = dir; +#line 218 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = query_is_directory (_tmp0_); +#line 218 "/home/jens/Source/shotwell/src/util/file.vala" + if (!_tmp1_) { +#line 219 "/home/jens/Source/shotwell/src/util/file.vala" + result = (guint64) 0; +#line 219 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1767 "file.c" + } +#line 221 "/home/jens/Source/shotwell/src/util/file.vala" + count = (guint64) 0; +#line 222 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = dir; +#line 222 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = g_file_enumerate_children (_tmp2_, "standard::*", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_); +#line 222 "/home/jens/Source/shotwell/src/util/file.vala" + enumerator = _tmp3_; +#line 222 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 222 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 222 "/home/jens/Source/shotwell/src/util/file.vala" + return 0ULL; +#line 1783 "file.c" + } +#line 225 "/home/jens/Source/shotwell/src/util/file.vala" + info = NULL; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + while (TRUE) { +#line 1789 "file.c" + GFileInfo* _tmp4_ = NULL; + GFileEnumerator* _tmp5_ = NULL; + GFileInfo* _tmp6_ = NULL; + GFileInfo* _tmp7_ = NULL; + GFileInfo* _tmp8_ = NULL; + guint64 _tmp9_ = 0ULL; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = enumerator; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = g_file_enumerator_next_file (_tmp5_, NULL, &_inner_error_); +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = _tmp6_; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + g_propagate_error (error, _inner_error_); +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + return 0ULL; +#line 1812 "file.c" + } +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp7_ = _tmp4_; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = NULL; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + info = _tmp7_; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp8_ = info; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + if (!(_tmp8_ != NULL)) { +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp4_); +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + break; +#line 1830 "file.c" + } +#line 227 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp9_ = count; +#line 227 "/home/jens/Source/shotwell/src/util/file.vala" + count = _tmp9_ + 1; +#line 226 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (_tmp4_); +#line 1838 "file.c" + } +#line 229 "/home/jens/Source/shotwell/src/util/file.vala" + result = count; +#line 229 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (info); +#line 229 "/home/jens/Source/shotwell/src/util/file.vala" + _g_object_unref0 (enumerator); +#line 229 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1848 "file.c" +} + + +gboolean file_equal (GFile* a, GFile* b) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GFile* _tmp2_ = NULL; +#line 233 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail ((a == NULL) || G_IS_FILE (a), FALSE); +#line 233 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail ((b == NULL) || G_IS_FILE (b), FALSE); +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = a; +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp2_ != NULL) { +#line 1865 "file.c" + GFile* _tmp3_ = NULL; +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = b; +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = _tmp3_ != NULL; +#line 1871 "file.c" + } else { +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = FALSE; +#line 1875 "file.c" + } +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp1_) { +#line 1879 "file.c" + GFile* _tmp4_ = NULL; + GFile* _tmp5_ = NULL; + gboolean _tmp6_ = FALSE; +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp4_ = a; +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp5_ = b; +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp6_ = g_file_equal (_tmp4_, _tmp5_); +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = _tmp6_; +#line 1891 "file.c" + } else { +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = FALSE; +#line 1895 "file.c" + } +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp0_; +#line 234 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1901 "file.c" +} + + +guint file_hash (GFile* file) { + guint result = 0U; + guint _tmp0_ = 0U; + GFile* _tmp1_ = NULL; +#line 238 "/home/jens/Source/shotwell/src/util/file.vala" + g_return_val_if_fail ((file == NULL) || G_IS_FILE (file), 0U); +#line 239 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp1_ = file; +#line 239 "/home/jens/Source/shotwell/src/util/file.vala" + if (_tmp1_ != NULL) { +#line 1915 "file.c" + GFile* _tmp2_ = NULL; + guint _tmp3_ = 0U; +#line 239 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp2_ = file; +#line 239 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp3_ = g_file_hash (_tmp2_); +#line 239 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = _tmp3_; +#line 1924 "file.c" + } else { +#line 239 "/home/jens/Source/shotwell/src/util/file.vala" + _tmp0_ = (guint) 0; +#line 1928 "file.c" + } +#line 239 "/home/jens/Source/shotwell/src/util/file.vala" + result = _tmp0_; +#line 239 "/home/jens/Source/shotwell/src/util/file.vala" + return result; +#line 1934 "file.c" +} + + + diff --git a/src/util/image.c b/src/util/image.c new file mode 100644 index 0000000..2b415a8 --- /dev/null +++ b/src/util/image.c @@ -0,0 +1,2701 @@ +/* image.c generated by valac 0.32.1, the Vala compiler + * generated from image.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. + */ +/* XPM */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_DIMENSIONS (dimensions_get_type ()) +typedef struct _Dimensions Dimensions; + +#define TYPE_PIXEL_TRANSFORMER (pixel_transformer_get_type ()) +#define PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformer)) +#define PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) +#define IS_PIXEL_TRANSFORMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMER)) +#define IS_PIXEL_TRANSFORMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMER)) +#define PIXEL_TRANSFORMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMER, PixelTransformerClass)) + +typedef struct _PixelTransformer PixelTransformer; +typedef struct _PixelTransformerClass PixelTransformerClass; + +#define TYPE_PIXEL_TRANSFORMATION (pixel_transformation_get_type ()) +#define PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformation)) +#define PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) +#define IS_PIXEL_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PIXEL_TRANSFORMATION)) +#define IS_PIXEL_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PIXEL_TRANSFORMATION)) +#define PIXEL_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PIXEL_TRANSFORMATION, PixelTransformationClass)) + +typedef struct _PixelTransformation PixelTransformation; +typedef struct _PixelTransformationClass PixelTransformationClass; + +#define TYPE_RGB_TRANSFORMATION (rgb_transformation_get_type ()) +#define RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformation)) +#define RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RGB_TRANSFORMATION, RGBTransformationClass)) +#define IS_RGB_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RGB_TRANSFORMATION)) +#define IS_RGB_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RGB_TRANSFORMATION)) +#define RGB_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RGB_TRANSFORMATION, RGBTransformationClass)) + +typedef struct _RGBTransformation RGBTransformation; +typedef struct _RGBTransformationClass RGBTransformationClass; + +#define TYPE_SATURATION_TRANSFORMATION (saturation_transformation_get_type ()) +#define SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformation)) +#define SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass)) +#define IS_SATURATION_TRANSFORMATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SATURATION_TRANSFORMATION)) +#define IS_SATURATION_TRANSFORMATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SATURATION_TRANSFORMATION)) +#define SATURATION_TRANSFORMATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SATURATION_TRANSFORMATION, SaturationTransformationClass)) + +typedef struct _SaturationTransformation SaturationTransformation; +typedef struct _SaturationTransformationClass SaturationTransformationClass; +#define _pixel_transformation_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_unref (var), NULL))) +#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL))) +#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) +#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL))) + +#define TYPE_BOX (box_get_type ()) +typedef struct _Box Box; +#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 _Dimensions { + gint width; + gint height; +}; + +struct _Box { + gint left; + gint top; + gint right; + gint bottom; +}; + + + +gboolean is_color_parsable (const gchar* spec); +void parse_color (const gchar* spec, GdkRGBA* result); +void fetch_color (const gchar* spec, GdkRGBA* result); +void set_source_color_from_string (cairo_t* ctx, const gchar* spec); +#define MIN_SCALED_WIDTH 10 +#define MIN_SCALED_HEIGHT 10 +GdkPixbuf* get_placeholder_pixbuf (void); +GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf, gint scale, GdkInterpType interp, gboolean scale_up); +GType dimensions_get_type (void) G_GNUC_CONST; +Dimensions* dimensions_dup (const Dimensions* self); +void dimensions_free (Dimensions* self); +void dimensions_for_pixbuf (GdkPixbuf* pixbuf, Dimensions* result); +void dimensions_get_scaled (Dimensions *self, gint scale, gboolean scale_up, Dimensions* result); +void dimensions_with_min (Dimensions *self, gint min_width, gint min_height, Dimensions* result); +GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp); +#define DEGREE (G_PI / 180.0) +void draw_rounded_corners_filled (cairo_t* ctx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion); +void context_rounded_corners (cairo_t* cx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion); +gint dimensions_minor_axis (Dimensions *self); +guchar shift_color_byte (gint b, gint shift); +void shift_colors (GdkPixbuf* pixbuf, gint red, gint green, gint blue, gint alpha); +void dim_pixbuf (GdkPixbuf* pixbuf); +gpointer pixel_transformer_ref (gpointer instance); +void pixel_transformer_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformer (GValue* value, gpointer v_object); +void value_take_pixel_transformer (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformer (const GValue* value); +GType pixel_transformer_get_type (void) G_GNUC_CONST; +PixelTransformer* pixel_transformer_new (void); +PixelTransformer* pixel_transformer_construct (GType object_type); +gpointer pixel_transformation_ref (gpointer instance); +void pixel_transformation_unref (gpointer instance); +GParamSpec* param_spec_pixel_transformation (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_pixel_transformation (GValue* value, gpointer v_object); +void value_take_pixel_transformation (GValue* value, gpointer v_object); +gpointer value_get_pixel_transformation (const GValue* value); +GType pixel_transformation_get_type (void) G_GNUC_CONST; +GType rgb_transformation_get_type (void) G_GNUC_CONST; +GType saturation_transformation_get_type (void) G_GNUC_CONST; +#define SATURATION_TRANSFORMATION_MIN_PARAMETER (-16.0f) +SaturationTransformation* saturation_transformation_new (gfloat client_parameter); +SaturationTransformation* saturation_transformation_construct (GType object_type, gfloat client_parameter); +void pixel_transformer_attach_transformation (PixelTransformer* self, PixelTransformation* trans); +void pixel_transformer_transform_pixbuf (PixelTransformer* self, GdkPixbuf* pixbuf, GCancellable* cancellable); +gboolean coord_in_rectangle (gint x, gint y, GdkRectangle* rect); +gboolean rectangles_equal (GdkRectangle* a, GdkRectangle* b); +gchar* rectangle_to_string (GdkRectangle* rect); +void clamp_rectangle (GdkRectangle* original, Dimensions* max, GdkRectangle* result); +void scale_point (GdkPoint* p, gdouble factor, GdkPoint* result); +void add_points (GdkPoint* p1, GdkPoint* p2, GdkPoint* result); +void subtract_points (GdkPoint* p1, GdkPoint* p2, GdkPoint* result); +void fix_cairo_pixbuf (GdkPixbuf* pixbuf); +void compute_arb_rotated_size (gdouble src_width, gdouble src_height, gdouble angle, gdouble* dest_width, gdouble* dest_height); +gdouble degrees_to_radians (gdouble theta); +GdkPixbuf* rotate_arb (GdkPixbuf* source_pixbuf, gdouble angle); +void rotate_point_arb (GdkPoint* source_point, gint img_w, gint img_h, gdouble angle, gboolean invert, GdkPoint* result); +void derotate_point_arb (GdkPoint* source_point, gint img_w, gint img_h, gdouble angle, GdkPoint* result); +GType box_get_type (void) G_GNUC_CONST; +Box* box_dup (const Box* self); +void box_free (Box* self); +void clamp_inside_rotated_image (Box* src, gint img_w, gint img_h, gdouble angle_deg, gboolean preserve_geom, Box* result); +void box_get_offset (Box *self, gint xofs, gint yofs, Box* result); +void box_init (Box *self, gint left, gint top, gint right, gint bottom); + +const gchar* fallback_image_missing[103] = {"48 48 54 1 ", " c #6A6D67", ". c #6C6E69", "X c #72746F", "o c #747672", "O c #777974", "+ c #797B77", "@ c #7C7E7A", "# c #7F817C", "$ c #81837F", "% c #848682", "& c #878984", "* c #888A86", "= c #8C8D8A", "- c #8F908C", "; c #90928E", ": c #949591", "> c #969894", ", c #999B96", "< c #9C9E9A", "1 c #9FA09C", "2 c #A1A39E", "3 c #A4A6A2", "4 c #A6A9A4", "5 c #A9ABA6", "6 c #ACADA9", "7 c #AEB1AB", "8 c #B1B2AF", "9 c #B3B4B1", "0 c #B6B9B3", "q c #B9BCB6", "w c #BDBEBA", "e c #BEC2BB", "r c #C1C4BE", "t c #C5C5C2", "y c #C6C9C3", "u c #C9CCC6", "i c #CCCDCB", "p c #CED2CA", "a c #D2D6CE", "s c #D5D5D3", "d c #D7D8D5", "f c #D9D9D6", "g c #DCDCDA", "h c #DFE0DD", "j c #E0E0DE", "k c #E4E4E2", "l c #E7E8E5", "z c #E9E9E7", "x c #EDEDEC", "c c #EFF0EE", "v c #F1F1EF", "b c #F2F2F1", "n c #FFFFFF", "m c None", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmaaaaaaaaaasaisaaaaaaaaaaaaaaaaaaapppiipuuuuumm", "mannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnym", "manbbbbbbbbbvbbvvvvxvvvbvvvvvvvvccccccxxvxvxxnym", "manbt89898888988888888888999999999999999999txnrm", "manb6======================-;;=;;;;;;;;;;=:7znrm", "manv6&%%**%*%%%%*%%****=======;==;;;;=;=;==7znem", "manv4%%%%$%%%%%%%%%%%=****=======;==-======6znwm", "manx3%%#$$$$##%#$%%%*%**==========-=--=====6znqm", "manx1$@%#$@$###%%%%=****=*===--;;----====*=5lnqm", "manx<@@@@@@@@##%$%%%%****========-==-======5kn0m", "manz<@@@+@+@@@#$%%%%%=%=%===;=:=--------=-*4kn8m", "manz>O+O+O+@@@#$$%%%%========;;=--------=*=3kn9m", "mpnl:OOOOO+@@$##%%%%%=%=====;=;;--;-----===3kn8m", "munl;OooOOO@@@#$%%%%%======;;;;;:;;;;;---==1hn7m", "munl;oXoOO+@###$%%=%=======;::;::::;;---&#+-gn7m", "mynk*XXooOO+$$#$%%%%=%===;;:;:::::;:-$#XooX-fn5m", "mynk*XXOOO@@$$$$%%=%====;::::>::;*#OXXXXXXX*dn5m", "mrnk*oOO@@@#$$$$%=====::::>>>=%@OXOooXXXooo&dn3m", "mrnj*++@$$$$**$===-;;::>>:=@Ooo@XOOoo#o#OOO=fn3m", "menj*@#$$$$$**===;;:::=%@@@@@@O@#O#Oo#o#++@;gn2m", "menj*$$$$&**===;:;=*#@@@@@@@@@@@#######o##%>gn2m", "menh*$$%**===;=*%###########%@@@###$####$%=,gn1m", "m0nj=%***=**&$$$%$$$%$$%$$$$%$$$$$$$$$$%*;:2hn13gn,m", "m0ng****&&&&&&&&&&&&*%*%*%%*%******%**-:,136kz;m", "m0nh***$&&&&&&&&&&&&%**********%*$***;:,1358r7*m", "m8ng*&&&&&&&&&*$&*&&&&$=$=$=&&&&&&**=:,<11>$65mm", "m7ng*&&&&&&&&&**&&&&&&**=$-$&&&&&&*-:,1..&1wi:mm", "m7ng&&&&&&&&=$*$&&&&&***$$$$&&&***=>,1,225;5srw%mmmm", "m4nf3*&&**&&$-$-*******%$;&&*&*->,2365+ui7$mmmmm", "m3nsfffdddsddaffssssdassgaaaassddfgjg4wu;ommmmmm", "m3nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvq3<$.mmmmmmm", "mm2211111,<,,,,,,>>>>:::;::;----=====@mmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm", "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm"}; + +gboolean is_color_parsable (const gchar* spec) { + gboolean result = FALSE; + GdkColor color = {0}; + const gchar* _tmp0_ = NULL; + GdkColor _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; +#line 117 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (spec != NULL, FALSE); +#line 119 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = spec; +#line 119 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = gdk_color_parse (_tmp0_, &_tmp1_); +#line 119 "/home/jens/Source/shotwell/src/util/image.vala" + color = _tmp1_; +#line 119 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp2_; +#line 119 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 180 "image.c" +} + + +void parse_color (const gchar* spec, GdkRGBA* result) { + const gchar* _tmp0_ = NULL; + GdkRGBA _tmp1_ = {0}; +#line 122 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (spec != NULL); +#line 123 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = spec; +#line 123 "/home/jens/Source/shotwell/src/util/image.vala" + fetch_color (_tmp0_, &_tmp1_); +#line 123 "/home/jens/Source/shotwell/src/util/image.vala" + *result = _tmp1_; +#line 123 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 197 "image.c" +} + + +void fetch_color (const gchar* spec, GdkRGBA* result) { + GdkRGBA rgba = {0}; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; +#line 126 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (spec != NULL); +#line 127 "/home/jens/Source/shotwell/src/util/image.vala" + memset (&rgba, 0, sizeof (GdkRGBA)); +#line 128 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = spec; +#line 128 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = gdk_rgba_parse (&rgba, _tmp0_); +#line 128 "/home/jens/Source/shotwell/src/util/image.vala" + if (!_tmp1_) { +#line 215 "image.c" + const gchar* _tmp2_ = NULL; +#line 129 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = spec; +#line 129 "/home/jens/Source/shotwell/src/util/image.vala" + g_error ("image.vala:129: Can't parse color %s", _tmp2_); +#line 221 "image.c" + } +#line 131 "/home/jens/Source/shotwell/src/util/image.vala" + *result = rgba; +#line 131 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 227 "image.c" +} + + +void set_source_color_from_string (cairo_t* ctx, const gchar* spec) { + GdkRGBA rgba = {0}; + const gchar* _tmp0_ = NULL; + GdkRGBA _tmp1_ = {0}; + cairo_t* _tmp2_ = NULL; + GdkRGBA _tmp3_ = {0}; + gdouble _tmp4_ = 0.0; + GdkRGBA _tmp5_ = {0}; + gdouble _tmp6_ = 0.0; + GdkRGBA _tmp7_ = {0}; + gdouble _tmp8_ = 0.0; + GdkRGBA _tmp9_ = {0}; + gdouble _tmp10_ = 0.0; +#line 134 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (ctx != NULL); +#line 134 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (spec != NULL); +#line 135 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = spec; +#line 135 "/home/jens/Source/shotwell/src/util/image.vala" + fetch_color (_tmp0_, &_tmp1_); +#line 135 "/home/jens/Source/shotwell/src/util/image.vala" + rgba = _tmp1_; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = ctx; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = rgba; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = _tmp3_.red; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = rgba; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _tmp5_.green; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = rgba; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_.blue; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = rgba; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = _tmp9_.alpha; +#line 136 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_set_source_rgba (_tmp2_, _tmp4_, _tmp6_, _tmp8_, _tmp10_); +#line 274 "image.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 147 "/home/jens/Source/shotwell/src/util/image.vala" + return self ? g_object_ref (self) : NULL; +#line 281 "image.c" +} + + +GdkPixbuf* get_placeholder_pixbuf (void) { + GdkPixbuf* result = NULL; + GdkPixbuf* pixbuf = NULL; + GError * _inner_error_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/util/image.vala" + pixbuf = NULL; +#line 291 "image.c" + { + GtkIconTheme* icon_theme = NULL; + GtkIconTheme* _tmp0_ = NULL; + GtkIconTheme* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; + GdkPixbuf* _tmp4_ = NULL; +#line 147 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = gtk_icon_theme_get_default (); +#line 147 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = _g_object_ref0 (_tmp0_); +#line 147 "/home/jens/Source/shotwell/src/util/image.vala" + icon_theme = _tmp1_; +#line 148 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = gtk_icon_theme_load_icon (icon_theme, "image-missing", (gint) GTK_ICON_SIZE_DIALOG, 0, &_inner_error_); +#line 148 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = _tmp3_; +#line 148 "/home/jens/Source/shotwell/src/util/image.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 148 "/home/jens/Source/shotwell/src/util/image.vala" + _g_object_unref0 (icon_theme); +#line 313 "image.c" + goto __catch4_g_error; + } +#line 148 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = _tmp2_; +#line 148 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = NULL; +#line 148 "/home/jens/Source/shotwell/src/util/image.vala" + _g_object_unref0 (pixbuf); +#line 148 "/home/jens/Source/shotwell/src/util/image.vala" + pixbuf = _tmp4_; +#line 146 "/home/jens/Source/shotwell/src/util/image.vala" + _g_object_unref0 (_tmp2_); +#line 146 "/home/jens/Source/shotwell/src/util/image.vala" + _g_object_unref0 (icon_theme); +#line 328 "image.c" + } + goto __finally4; + __catch4_g_error: + { + GError* _error_ = NULL; + GdkPixbuf* _tmp5_ = NULL; + GError* _tmp6_ = NULL; + const gchar* _tmp7_ = NULL; +#line 146 "/home/jens/Source/shotwell/src/util/image.vala" + _error_ = _inner_error_; +#line 146 "/home/jens/Source/shotwell/src/util/image.vala" + _inner_error_ = NULL; +#line 151 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = gdk_pixbuf_new_from_xpm_data (fallback_image_missing); +#line 151 "/home/jens/Source/shotwell/src/util/image.vala" + _g_object_unref0 (pixbuf); +#line 151 "/home/jens/Source/shotwell/src/util/image.vala" + pixbuf = _tmp5_; +#line 152 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _error_; +#line 152 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = _tmp6_->message; +#line 152 "/home/jens/Source/shotwell/src/util/image.vala" + g_warning ("image.vala:152: Could not load icon from theme: %s", _tmp7_); +#line 146 "/home/jens/Source/shotwell/src/util/image.vala" + _g_error_free0 (_error_); +#line 355 "image.c" + } + __finally4: +#line 146 "/home/jens/Source/shotwell/src/util/image.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 146 "/home/jens/Source/shotwell/src/util/image.vala" + _g_object_unref0 (pixbuf); +#line 146 "/home/jens/Source/shotwell/src/util/image.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 146 "/home/jens/Source/shotwell/src/util/image.vala" + g_clear_error (&_inner_error_); +#line 146 "/home/jens/Source/shotwell/src/util/image.vala" + return NULL; +#line 368 "image.c" + } +#line 155 "/home/jens/Source/shotwell/src/util/image.vala" + result = pixbuf; +#line 155 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 374 "image.c" +} + + +GdkPixbuf* scale_pixbuf (GdkPixbuf* pixbuf, gint scale, GdkInterpType interp, gboolean scale_up) { + GdkPixbuf* result = NULL; + Dimensions original = {0}; + GdkPixbuf* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + Dimensions scaled = {0}; + gint _tmp2_ = 0; + gboolean _tmp3_ = FALSE; + Dimensions _tmp4_ = {0}; + gboolean _tmp5_ = FALSE; + Dimensions _tmp6_ = {0}; + gint _tmp7_ = 0; + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; + Dimensions _tmp16_ = {0}; + GdkPixbuf* _tmp17_ = NULL; + Dimensions _tmp18_ = {0}; + gint _tmp19_ = 0; + Dimensions _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkInterpType _tmp22_ = 0; + GdkPixbuf* _tmp23_ = NULL; +#line 158 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 159 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = pixbuf; +#line 159 "/home/jens/Source/shotwell/src/util/image.vala" + dimensions_for_pixbuf (_tmp0_, &_tmp1_); +#line 159 "/home/jens/Source/shotwell/src/util/image.vala" + original = _tmp1_; +#line 160 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = scale; +#line 160 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = scale_up; +#line 160 "/home/jens/Source/shotwell/src/util/image.vala" + dimensions_get_scaled (&original, _tmp2_, _tmp3_, &_tmp4_); +#line 160 "/home/jens/Source/shotwell/src/util/image.vala" + scaled = _tmp4_; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = original; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = _tmp6_.width; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = scaled; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = _tmp8_.width; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp7_ == _tmp9_) { +#line 426 "image.c" + Dimensions _tmp10_ = {0}; + gint _tmp11_ = 0; + Dimensions _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = original; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = _tmp10_.height; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = scaled; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = _tmp12_.height; +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = _tmp11_ == _tmp13_; +#line 441 "image.c" + } else { +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = FALSE; +#line 445 "image.c" + } +#line 161 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp5_) { +#line 449 "image.c" + GdkPixbuf* _tmp14_ = NULL; + GdkPixbuf* _tmp15_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = pixbuf; +#line 162 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = _g_object_ref0 (_tmp14_); +#line 162 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp15_; +#line 162 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 460 "image.c" + } +#line 165 "/home/jens/Source/shotwell/src/util/image.vala" + dimensions_with_min (&scaled, MIN_SCALED_WIDTH, MIN_SCALED_HEIGHT, &_tmp16_); +#line 165 "/home/jens/Source/shotwell/src/util/image.vala" + scaled = _tmp16_; +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = pixbuf; +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = scaled; +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = _tmp18_.width; +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp20_ = scaled; +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp21_ = _tmp20_.height; +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp22_ = interp; +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp23_ = gdk_pixbuf_scale_simple (_tmp17_, _tmp19_, _tmp21_, _tmp22_); +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp23_; +#line 167 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 484 "image.c" +} + + +GdkPixbuf* resize_pixbuf (GdkPixbuf* pixbuf, Dimensions* resized, GdkInterpType interp) { + GdkPixbuf* result = NULL; + Dimensions original = {0}; + GdkPixbuf* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + gboolean _tmp2_ = FALSE; + Dimensions _tmp3_ = {0}; + gint _tmp4_ = 0; + Dimensions _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp13_ = {0}; + GdkPixbuf* _tmp14_ = NULL; + Dimensions _tmp15_ = {0}; + gint _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + gint _tmp18_ = 0; + GdkInterpType _tmp19_ = 0; + GdkPixbuf* _tmp20_ = NULL; +#line 170 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); +#line 170 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (resized != NULL, NULL); +#line 171 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = pixbuf; +#line 171 "/home/jens/Source/shotwell/src/util/image.vala" + dimensions_for_pixbuf (_tmp0_, &_tmp1_); +#line 171 "/home/jens/Source/shotwell/src/util/image.vala" + original = _tmp1_; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = original; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = _tmp3_.width; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = *resized; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _tmp5_.width; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp4_ == _tmp6_) { +#line 526 "image.c" + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + Dimensions _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = original; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_.height; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = *resized; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = _tmp9_.height; +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = _tmp8_ == _tmp10_; +#line 541 "image.c" + } else { +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = FALSE; +#line 545 "image.c" + } +#line 172 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp2_) { +#line 549 "image.c" + GdkPixbuf* _tmp11_ = NULL; + GdkPixbuf* _tmp12_ = NULL; +#line 173 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = pixbuf; +#line 173 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = _g_object_ref0 (_tmp11_); +#line 173 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp12_; +#line 173 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 560 "image.c" + } +#line 176 "/home/jens/Source/shotwell/src/util/image.vala" + dimensions_with_min (resized, MIN_SCALED_WIDTH, MIN_SCALED_HEIGHT, &_tmp13_); +#line 176 "/home/jens/Source/shotwell/src/util/image.vala" + *resized = _tmp13_; +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = pixbuf; +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = *resized; +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = _tmp15_.width; +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = *resized; +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = _tmp17_.height; +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = interp; +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp20_ = gdk_pixbuf_scale_simple (_tmp14_, _tmp16_, _tmp18_, _tmp19_); +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp20_; +#line 178 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 584 "image.c" +} + + +void draw_rounded_corners_filled (cairo_t* ctx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion) { + cairo_t* _tmp0_ = NULL; + Dimensions _tmp1_ = {0}; + GdkPoint _tmp2_ = {0}; + gdouble _tmp3_ = 0.0; + cairo_t* _tmp4_ = NULL; +#line 183 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (ctx != NULL); +#line 183 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (dim != NULL); +#line 183 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (origin != NULL); +#line 185 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = ctx; +#line 185 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = *dim; +#line 185 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = *origin; +#line 185 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = radius_proportion; +#line 185 "/home/jens/Source/shotwell/src/util/image.vala" + context_rounded_corners (_tmp0_, &_tmp1_, &_tmp2_, _tmp3_); +#line 186 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = ctx; +#line 186 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_paint (_tmp4_); +#line 614 "image.c" +} + + +void context_rounded_corners (cairo_t* cx, Dimensions* dim, GdkPoint* origin, gdouble radius_proportion) { + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + gdouble left = 0.0; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + gdouble top = 0.0; + GdkPoint _tmp4_ = {0}; + gint _tmp5_ = 0; + gdouble right = 0.0; + GdkPoint _tmp6_ = {0}; + gint _tmp7_ = 0; + Dimensions _tmp8_ = {0}; + gint _tmp9_ = 0; + gdouble bottom = 0.0; + GdkPoint _tmp10_ = {0}; + gint _tmp11_ = 0; + Dimensions _tmp12_ = {0}; + gint _tmp13_ = 0; + gdouble radius = 0.0; + gint _tmp14_ = 0; + gdouble _tmp15_ = 0.0; + cairo_t* _tmp16_ = NULL; + cairo_t* _tmp17_ = NULL; + cairo_t* _tmp18_ = NULL; + cairo_t* _tmp19_ = NULL; + cairo_t* _tmp20_ = NULL; + cairo_t* _tmp21_ = NULL; +#line 189 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (cx != NULL); +#line 189 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (dim != NULL); +#line 189 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (origin != NULL); +#line 192 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = radius_proportion; +#line 192 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = CLAMP (_tmp0_, 2.0, 100.0); +#line 192 "/home/jens/Source/shotwell/src/util/image.vala" + radius_proportion = _tmp1_; +#line 194 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = *origin; +#line 194 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = _tmp2_.x; +#line 194 "/home/jens/Source/shotwell/src/util/image.vala" + left = (gdouble) _tmp3_; +#line 195 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = *origin; +#line 195 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = _tmp4_.y; +#line 195 "/home/jens/Source/shotwell/src/util/image.vala" + top = (gdouble) _tmp5_; +#line 196 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = *origin; +#line 196 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = _tmp6_.x; +#line 196 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = *dim; +#line 196 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = _tmp8_.width; +#line 196 "/home/jens/Source/shotwell/src/util/image.vala" + right = (gdouble) (_tmp7_ + _tmp9_); +#line 197 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = *origin; +#line 197 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = _tmp10_.y; +#line 197 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = *dim; +#line 197 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = _tmp12_.height; +#line 197 "/home/jens/Source/shotwell/src/util/image.vala" + bottom = (gdouble) (_tmp11_ + _tmp13_); +#line 200 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = dimensions_minor_axis (dim); +#line 200 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = radius_proportion; +#line 200 "/home/jens/Source/shotwell/src/util/image.vala" + radius = ((gdouble) _tmp14_) / _tmp15_; +#line 204 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = cx; +#line 204 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_move_to (_tmp16_, left, top); +#line 205 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = cx; +#line 205 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_arc (_tmp17_, right - radius, top + radius, radius, -90 * DEGREE, 0 * DEGREE); +#line 206 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = cx; +#line 206 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_arc (_tmp18_, right - radius, bottom - radius, radius, 0 * DEGREE, 90 * DEGREE); +#line 207 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = cx; +#line 207 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_arc (_tmp19_, left + radius, bottom - radius, radius, 90 * DEGREE, 180 * DEGREE); +#line 208 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp20_ = cx; +#line 208 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_arc (_tmp20_, left + radius, top + radius, radius, 180 * DEGREE, 270 * DEGREE); +#line 209 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp21_ = cx; +#line 209 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_clip (_tmp21_); +#line 720 "image.c" +} + + +inline guchar shift_color_byte (gint b, gint shift) { + guchar result = '\0'; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 213 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = b; +#line 213 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = shift; +#line 213 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = CLAMP (_tmp0_ + _tmp1_, 0, 255); +#line 213 "/home/jens/Source/shotwell/src/util/image.vala" + result = (guchar) _tmp2_; +#line 213 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 739 "image.c" +} + + +void shift_colors (GdkPixbuf* pixbuf, gint red, gint green, gint blue, gint alpha) { + gboolean _tmp0_ = FALSE; + gint _tmp1_ = 0; + gboolean _tmp3_ = FALSE; + gint _tmp4_ = 0; + gboolean _tmp6_ = FALSE; + gint _tmp7_ = 0; + gboolean _tmp9_ = FALSE; + gint _tmp10_ = 0; + gint width = 0; + GdkPixbuf* _tmp12_ = NULL; + gint _tmp13_ = 0; + gint height = 0; + GdkPixbuf* _tmp14_ = NULL; + gint _tmp15_ = 0; + gint rowstride = 0; + GdkPixbuf* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint channels = 0; + GdkPixbuf* _tmp18_ = NULL; + gint _tmp19_ = 0; + guchar* pixels = NULL; + GdkPixbuf* _tmp20_ = NULL; + guint8* _tmp21_ = NULL; + gint _tmp22_ = 0; + GdkPixbuf* _tmp23_ = NULL; + GdkColorspace _tmp24_ = 0; + GdkPixbuf* _tmp25_ = NULL; + gint _tmp26_ = 0; +#line 216 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 217 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = red; +#line 217 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp1_ >= -255) { +#line 778 "image.c" + gint _tmp2_ = 0; +#line 217 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = red; +#line 217 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = _tmp2_ <= 255; +#line 784 "image.c" + } else { +#line 217 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = FALSE; +#line 788 "image.c" + } +#line 217 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp0_, "red >= -255 && red <= 255"); +#line 218 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = green; +#line 218 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp4_ >= -255) { +#line 796 "image.c" + gint _tmp5_ = 0; +#line 218 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = green; +#line 218 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = _tmp5_ <= 255; +#line 802 "image.c" + } else { +#line 218 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = FALSE; +#line 806 "image.c" + } +#line 218 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp3_, "green >= -255 && green <= 255"); +#line 219 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = blue; +#line 219 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp7_ >= -255) { +#line 814 "image.c" + gint _tmp8_ = 0; +#line 219 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = blue; +#line 219 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _tmp8_ <= 255; +#line 820 "image.c" + } else { +#line 219 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = FALSE; +#line 824 "image.c" + } +#line 219 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp6_, "blue >= -255 && blue <= 255"); +#line 220 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = alpha; +#line 220 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp10_ >= -255) { +#line 832 "image.c" + gint _tmp11_ = 0; +#line 220 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = alpha; +#line 220 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = _tmp11_ <= 255; +#line 838 "image.c" + } else { +#line 220 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = FALSE; +#line 842 "image.c" + } +#line 220 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp9_, "alpha >= -255 && alpha <= 255"); +#line 222 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = pixbuf; +#line 222 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = gdk_pixbuf_get_width (_tmp12_); +#line 222 "/home/jens/Source/shotwell/src/util/image.vala" + width = _tmp13_; +#line 223 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = pixbuf; +#line 223 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = gdk_pixbuf_get_height (_tmp14_); +#line 223 "/home/jens/Source/shotwell/src/util/image.vala" + height = _tmp15_; +#line 224 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = pixbuf; +#line 224 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = gdk_pixbuf_get_rowstride (_tmp16_); +#line 224 "/home/jens/Source/shotwell/src/util/image.vala" + rowstride = _tmp17_; +#line 225 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = pixbuf; +#line 225 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = gdk_pixbuf_get_n_channels (_tmp18_); +#line 225 "/home/jens/Source/shotwell/src/util/image.vala" + channels = _tmp19_; +#line 226 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp20_ = pixbuf; +#line 226 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp21_ = gdk_pixbuf_get_pixels (_tmp20_); +#line 226 "/home/jens/Source/shotwell/src/util/image.vala" + pixels = _tmp21_; +#line 228 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp22_ = channels; +#line 228 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp22_ >= 3, "channels >= 3"); +#line 229 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp23_ = pixbuf; +#line 229 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp24_ = gdk_pixbuf_get_colorspace (_tmp23_); +#line 229 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp24_ == GDK_COLORSPACE_RGB, "pixbuf.get_colorspace() == Gdk.Colorspace.RGB"); +#line 230 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp25_ = pixbuf; +#line 230 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp26_ = gdk_pixbuf_get_bits_per_sample (_tmp25_); +#line 230 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp26_ == 8, "pixbuf.get_bits_per_sample() == 8"); +#line 892 "image.c" + { + gint y = 0; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + y = 0; +#line 897 "image.c" + { + gboolean _tmp27_ = FALSE; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp27_ = TRUE; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + while (TRUE) { +#line 904 "image.c" + gint _tmp29_ = 0; + gint _tmp30_ = 0; + gint y_offset = 0; + gint _tmp31_ = 0; + gint _tmp32_ = 0; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + if (!_tmp27_) { +#line 912 "image.c" + gint _tmp28_ = 0; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp28_ = y; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + y = _tmp28_ + 1; +#line 918 "image.c" + } +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp27_ = FALSE; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp29_ = y; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp30_ = height; +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + if (!(_tmp29_ < _tmp30_)) { +#line 232 "/home/jens/Source/shotwell/src/util/image.vala" + break; +#line 930 "image.c" + } +#line 233 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp31_ = y; +#line 233 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp32_ = rowstride; +#line 233 "/home/jens/Source/shotwell/src/util/image.vala" + y_offset = _tmp31_ * _tmp32_; +#line 938 "image.c" + { + gint x = 0; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + x = 0; +#line 943 "image.c" + { + gboolean _tmp33_ = FALSE; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp33_ = TRUE; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + while (TRUE) { +#line 950 "image.c" + gint _tmp35_ = 0; + gint _tmp36_ = 0; + gint offset = 0; + gint _tmp37_ = 0; + gint _tmp38_ = 0; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + gint _tmp49_ = 0; + gint _tmp58_ = 0; + gboolean _tmp67_ = FALSE; + gint _tmp68_ = 0; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + if (!_tmp33_) { +#line 964 "image.c" + gint _tmp34_ = 0; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp34_ = x; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + x = _tmp34_ + 1; +#line 970 "image.c" + } +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp33_ = FALSE; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp35_ = x; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp36_ = width; +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + if (!(_tmp35_ < _tmp36_)) { +#line 235 "/home/jens/Source/shotwell/src/util/image.vala" + break; +#line 982 "image.c" + } +#line 236 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp37_ = y_offset; +#line 236 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp38_ = x; +#line 236 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp39_ = channels; +#line 236 "/home/jens/Source/shotwell/src/util/image.vala" + offset = _tmp37_ + (_tmp38_ * _tmp39_); +#line 238 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp40_ = red; +#line 238 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp40_ != 0) { +#line 996 "image.c" + guchar* _tmp41_ = NULL; + gint _tmp42_ = 0; + guchar* _tmp43_ = NULL; + gint _tmp44_ = 0; + guchar _tmp45_ = '\0'; + gint _tmp46_ = 0; + guchar _tmp47_ = '\0'; + guchar _tmp48_ = '\0'; +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp41_ = pixels; +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp42_ = offset; +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp43_ = pixels; +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp44_ = offset; +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp45_ = _tmp43_[_tmp44_]; +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp46_ = red; +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp47_ = shift_color_byte ((gint) _tmp45_, _tmp46_); +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp41_[_tmp42_] = _tmp47_; +#line 239 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp48_ = _tmp41_[_tmp42_]; +#line 1023 "image.c" + } +#line 241 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp49_ = green; +#line 241 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp49_ != 0) { +#line 1029 "image.c" + guchar* _tmp50_ = NULL; + gint _tmp51_ = 0; + guchar* _tmp52_ = NULL; + gint _tmp53_ = 0; + guchar _tmp54_ = '\0'; + gint _tmp55_ = 0; + guchar _tmp56_ = '\0'; + guchar _tmp57_ = '\0'; +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp50_ = pixels; +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp51_ = offset; +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp52_ = pixels; +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp53_ = offset; +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp54_ = _tmp52_[_tmp53_ + 1]; +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp55_ = green; +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp56_ = shift_color_byte ((gint) _tmp54_, _tmp55_); +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp50_[_tmp51_ + 1] = _tmp56_; +#line 242 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp57_ = _tmp50_[_tmp51_ + 1]; +#line 1056 "image.c" + } +#line 244 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp58_ = blue; +#line 244 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp58_ != 0) { +#line 1062 "image.c" + guchar* _tmp59_ = NULL; + gint _tmp60_ = 0; + guchar* _tmp61_ = NULL; + gint _tmp62_ = 0; + guchar _tmp63_ = '\0'; + gint _tmp64_ = 0; + guchar _tmp65_ = '\0'; + guchar _tmp66_ = '\0'; +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp59_ = pixels; +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp60_ = offset; +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp61_ = pixels; +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp62_ = offset; +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp63_ = _tmp61_[_tmp62_ + 2]; +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp64_ = blue; +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp65_ = shift_color_byte ((gint) _tmp63_, _tmp64_); +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp59_[_tmp60_ + 2] = _tmp65_; +#line 245 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp66_ = _tmp59_[_tmp60_ + 2]; +#line 1089 "image.c" + } +#line 247 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp68_ = alpha; +#line 247 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp68_ != 0) { +#line 1095 "image.c" + gint _tmp69_ = 0; +#line 247 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp69_ = channels; +#line 247 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp67_ = _tmp69_ >= 4; +#line 1101 "image.c" + } else { +#line 247 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp67_ = FALSE; +#line 1105 "image.c" + } +#line 247 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp67_) { +#line 1109 "image.c" + guchar* _tmp70_ = NULL; + gint _tmp71_ = 0; + guchar* _tmp72_ = NULL; + gint _tmp73_ = 0; + guchar _tmp74_ = '\0'; + gint _tmp75_ = 0; + guchar _tmp76_ = '\0'; + guchar _tmp77_ = '\0'; +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp70_ = pixels; +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp71_ = offset; +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp72_ = pixels; +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp73_ = offset; +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp74_ = _tmp72_[_tmp73_ + 3]; +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp75_ = alpha; +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp76_ = shift_color_byte ((gint) _tmp74_, _tmp75_); +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp70_[_tmp71_ + 3] = _tmp76_; +#line 248 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp77_ = _tmp70_[_tmp71_ + 3]; +#line 1136 "image.c" + } + } + } + } + } + } + } +} + + +void dim_pixbuf (GdkPixbuf* pixbuf) { + PixelTransformer* transformer = NULL; + PixelTransformer* _tmp0_ = NULL; + SaturationTransformation* sat = NULL; + SaturationTransformation* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; + GdkPixbuf* _tmp3_ = NULL; +#line 253 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 254 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = pixel_transformer_new (); +#line 254 "/home/jens/Source/shotwell/src/util/image.vala" + transformer = _tmp0_; +#line 255 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = saturation_transformation_new (SATURATION_TRANSFORMATION_MIN_PARAMETER); +#line 255 "/home/jens/Source/shotwell/src/util/image.vala" + sat = _tmp1_; +#line 256 "/home/jens/Source/shotwell/src/util/image.vala" + pixel_transformer_attach_transformation (transformer, G_TYPE_CHECK_INSTANCE_CAST (sat, TYPE_PIXEL_TRANSFORMATION, PixelTransformation)); +#line 257 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = pixbuf; +#line 257 "/home/jens/Source/shotwell/src/util/image.vala" + pixel_transformer_transform_pixbuf (transformer, _tmp2_, NULL); +#line 258 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = pixbuf; +#line 258 "/home/jens/Source/shotwell/src/util/image.vala" + shift_colors (_tmp3_, 0, 0, 0, -100); +#line 253 "/home/jens/Source/shotwell/src/util/image.vala" + _pixel_transformation_unref0 (sat); +#line 253 "/home/jens/Source/shotwell/src/util/image.vala" + _pixel_transformer_unref0 (transformer); +#line 1178 "image.c" +} + + +gboolean coord_in_rectangle (gint x, gint y, GdkRectangle* rect) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; +#line 261 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (rect != NULL, FALSE); +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = x; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = *rect; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = _tmp4_.x; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp3_ >= _tmp5_) { +#line 1200 "image.c" + gint _tmp6_ = 0; + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = x; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = *rect; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_.x; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = *rect; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = _tmp9_.width; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = _tmp6_ < (_tmp8_ + _tmp10_); +#line 1218 "image.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = FALSE; +#line 1222 "image.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp2_) { +#line 1226 "image.c" + gint _tmp11_ = 0; + GdkRectangle _tmp12_ = {0}; + gint _tmp13_ = 0; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = y; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = *rect; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = _tmp12_.y; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = _tmp11_ >= _tmp13_; +#line 1238 "image.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = FALSE; +#line 1242 "image.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp1_) { +#line 1246 "image.c" + gint _tmp14_ = 0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = y; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = *rect; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = _tmp15_.y; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = *rect; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = _tmp17_.height; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = _tmp14_ <= (_tmp16_ + _tmp18_); +#line 1264 "image.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = FALSE; +#line 1268 "image.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp0_; +#line 262 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 1274 "image.c" +} + + +gboolean rectangles_equal (GdkRectangle* a, GdkRectangle* b) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + gboolean _tmp2_ = FALSE; + GdkRectangle _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 265 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (a != NULL, FALSE); +#line 265 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (b != NULL, FALSE); +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = *a; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = _tmp3_.x; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = *b; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _tmp5_.x; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp4_ == _tmp6_) { +#line 1301 "image.c" + GdkRectangle _tmp7_ = {0}; + gint _tmp8_ = 0; + GdkRectangle _tmp9_ = {0}; + gint _tmp10_ = 0; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = *a; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_.y; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = *b; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = _tmp9_.y; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = _tmp8_ == _tmp10_; +#line 1316 "image.c" + } else { +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = FALSE; +#line 1320 "image.c" + } +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp2_) { +#line 1324 "image.c" + GdkRectangle _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkRectangle _tmp13_ = {0}; + gint _tmp14_ = 0; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = *a; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = _tmp11_.width; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = *b; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = _tmp13_.width; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = _tmp12_ == _tmp14_; +#line 1339 "image.c" + } else { +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = FALSE; +#line 1343 "image.c" + } +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp1_) { +#line 1347 "image.c" + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + GdkRectangle _tmp17_ = {0}; + gint _tmp18_ = 0; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = *a; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = _tmp15_.height; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = *b; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = _tmp17_.height; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = _tmp16_ == _tmp18_; +#line 1362 "image.c" + } else { +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = FALSE; +#line 1366 "image.c" + } +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp0_; +#line 266 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 1372 "image.c" +} + + +gchar* rectangle_to_string (GdkRectangle* rect) { + gchar* result = NULL; + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + GdkRectangle _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkRectangle _tmp4_ = {0}; + gint _tmp5_ = 0; + GdkRectangle _tmp6_ = {0}; + gint _tmp7_ = 0; + gchar* _tmp8_ = NULL; +#line 269 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (rect != NULL, NULL); +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = *rect; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = _tmp0_.x; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = *rect; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = _tmp2_.y; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = *rect; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = _tmp4_.width; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = *rect; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = _tmp6_.height; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = g_strdup_printf ("%d,%d %dx%d", _tmp1_, _tmp3_, _tmp5_, _tmp7_); +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp8_; +#line 270 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 1411 "image.c" +} + + +void clamp_rectangle (GdkRectangle* original, Dimensions* max, GdkRectangle* result) { + GdkRectangle rect = {0}; + GdkRectangle _tmp0_ = {0}; + gint _tmp1_ = 0; + Dimensions _tmp2_ = {0}; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + GdkRectangle _tmp5_ = {0}; + gint _tmp6_ = 0; + Dimensions _tmp7_ = {0}; + gint _tmp8_ = 0; + gint _tmp9_ = 0; + GdkRectangle _tmp10_ = {0}; + gint _tmp11_ = 0; + Dimensions _tmp12_ = {0}; + gint _tmp13_ = 0; + gint _tmp14_ = 0; + GdkRectangle _tmp15_ = {0}; + gint _tmp16_ = 0; + Dimensions _tmp17_ = {0}; + gint _tmp18_ = 0; + gint _tmp19_ = 0; +#line 273 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (original != NULL); +#line 273 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (max != NULL); +#line 274 "/home/jens/Source/shotwell/src/util/image.vala" + memset (&rect, 0, sizeof (GdkRectangle)); +#line 275 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = *original; +#line 275 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = _tmp0_.x; +#line 275 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = *max; +#line 275 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = _tmp2_.width; +#line 275 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = CLAMP (_tmp1_, 0, _tmp3_); +#line 275 "/home/jens/Source/shotwell/src/util/image.vala" + rect.x = _tmp4_; +#line 276 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = *original; +#line 276 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _tmp5_.y; +#line 276 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = *max; +#line 276 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_.height; +#line 276 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = CLAMP (_tmp6_, 0, _tmp8_); +#line 276 "/home/jens/Source/shotwell/src/util/image.vala" + rect.y = _tmp9_; +#line 277 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = *original; +#line 277 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = _tmp10_.width; +#line 277 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = *max; +#line 277 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = _tmp12_.width; +#line 277 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = CLAMP (_tmp11_, 0, _tmp13_); +#line 277 "/home/jens/Source/shotwell/src/util/image.vala" + rect.width = _tmp14_; +#line 278 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = *original; +#line 278 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = _tmp15_.height; +#line 278 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = *max; +#line 278 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = _tmp17_.height; +#line 278 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = CLAMP (_tmp16_, 0, _tmp18_); +#line 278 "/home/jens/Source/shotwell/src/util/image.vala" + rect.height = _tmp19_; +#line 280 "/home/jens/Source/shotwell/src/util/image.vala" + *result = rect; +#line 280 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 1495 "image.c" +} + + +void scale_point (GdkPoint* p, gdouble factor, GdkPoint* result) { + GdkPoint _result_ = {0}; + GdkPoint _tmp0_ = {0}; + gdouble _tmp1_ = 0.0; + GdkPoint _tmp2_ = {0}; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; +#line 283 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (p != NULL); +#line 284 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_.x = 0; +#line 284 "/home/jens/Source/shotwell/src/util/image.vala" + _result_ = _tmp0_; +#line 285 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = factor; +#line 285 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = *p; +#line 285 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = _tmp2_.x; +#line 285 "/home/jens/Source/shotwell/src/util/image.vala" + _result_.x = (gint) ((_tmp1_ * _tmp3_) + 0.5); +#line 286 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = factor; +#line 286 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = *p; +#line 286 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _tmp5_.y; +#line 286 "/home/jens/Source/shotwell/src/util/image.vala" + _result_.y = (gint) ((_tmp4_ * _tmp6_) + 0.5); +#line 288 "/home/jens/Source/shotwell/src/util/image.vala" + *result = _result_; +#line 288 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 1534 "image.c" +} + + +void add_points (GdkPoint* p1, GdkPoint* p2, GdkPoint* result) { + GdkPoint _result_ = {0}; + GdkPoint _tmp0_ = {0}; + GdkPoint _tmp1_ = {0}; + gint _tmp2_ = 0; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkPoint _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 291 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (p1 != NULL); +#line 291 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (p2 != NULL); +#line 292 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_.x = 0; +#line 292 "/home/jens/Source/shotwell/src/util/image.vala" + _result_ = _tmp0_; +#line 293 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = *p1; +#line 293 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = _tmp1_.x; +#line 293 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = *p2; +#line 293 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = _tmp3_.x; +#line 293 "/home/jens/Source/shotwell/src/util/image.vala" + _result_.x = _tmp2_ + _tmp4_; +#line 294 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = *p1; +#line 294 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _tmp5_.y; +#line 294 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = *p2; +#line 294 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_.y; +#line 294 "/home/jens/Source/shotwell/src/util/image.vala" + _result_.y = _tmp6_ + _tmp8_; +#line 296 "/home/jens/Source/shotwell/src/util/image.vala" + *result = _result_; +#line 296 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 1581 "image.c" +} + + +void subtract_points (GdkPoint* p1, GdkPoint* p2, GdkPoint* result) { + GdkPoint _result_ = {0}; + GdkPoint _tmp0_ = {0}; + GdkPoint _tmp1_ = {0}; + gint _tmp2_ = 0; + GdkPoint _tmp3_ = {0}; + gint _tmp4_ = 0; + GdkPoint _tmp5_ = {0}; + gint _tmp6_ = 0; + GdkPoint _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 299 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (p1 != NULL); +#line 299 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (p2 != NULL); +#line 300 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_.x = 0; +#line 300 "/home/jens/Source/shotwell/src/util/image.vala" + _result_ = _tmp0_; +#line 301 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = *p1; +#line 301 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = _tmp1_.x; +#line 301 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = *p2; +#line 301 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = _tmp3_.x; +#line 301 "/home/jens/Source/shotwell/src/util/image.vala" + _result_.x = _tmp2_ - _tmp4_; +#line 302 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = *p1; +#line 302 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = _tmp5_.y; +#line 302 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = *p2; +#line 302 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_.y; +#line 302 "/home/jens/Source/shotwell/src/util/image.vala" + _result_.y = _tmp6_ - _tmp8_; +#line 304 "/home/jens/Source/shotwell/src/util/image.vala" + *result = _result_; +#line 304 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 1628 "image.c" +} + + +void fix_cairo_pixbuf (GdkPixbuf* pixbuf) { + guchar* gdk_pixels = NULL; + GdkPixbuf* _tmp0_ = NULL; + void* _tmp1_ = NULL; + void* _tmp2_ = NULL; +#line 308 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); +#line 309 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = pixbuf; +#line 309 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = gdk_pixbuf_get_pixels (_tmp0_); +#line 309 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = _tmp1_; +#line 309 "/home/jens/Source/shotwell/src/util/image.vala" + gdk_pixels = _tmp2_; +#line 1647 "image.c" + { + gint j = 0; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + j = 0; +#line 1652 "image.c" + { + gboolean _tmp3_ = FALSE; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = TRUE; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + while (TRUE) { +#line 1659 "image.c" + gint _tmp5_ = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + guchar* p = NULL; + guchar* _tmp9_ = NULL; + guchar* end = NULL; + guchar* _tmp10_ = NULL; + GdkPixbuf* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; + guchar* _tmp26_ = NULL; + GdkPixbuf* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + if (!_tmp3_) { +#line 1677 "image.c" + gint _tmp4_ = 0; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = j; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + j = _tmp4_ + 1; +#line 1683 "image.c" + } +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = FALSE; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = j; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = pixbuf; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = gdk_pixbuf_get_height (_tmp6_); +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_; +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + if (!(_tmp5_ < _tmp8_)) { +#line 310 "/home/jens/Source/shotwell/src/util/image.vala" + break; +#line 1699 "image.c" + } +#line 311 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = gdk_pixels; +#line 311 "/home/jens/Source/shotwell/src/util/image.vala" + p = _tmp9_; +#line 312 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = p; +#line 312 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = pixbuf; +#line 312 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = gdk_pixbuf_get_width (_tmp11_); +#line 312 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = _tmp12_; +#line 312 "/home/jens/Source/shotwell/src/util/image.vala" + end = _tmp10_ + (4 * _tmp13_); +#line 314 "/home/jens/Source/shotwell/src/util/image.vala" + while (TRUE) { +#line 1717 "image.c" + guchar* _tmp14_ = NULL; + guchar* _tmp15_ = NULL; + guchar tmp = '\0'; + guchar* _tmp16_ = NULL; + guchar _tmp17_ = '\0'; + guchar* _tmp18_ = NULL; + guchar* _tmp19_ = NULL; + guchar _tmp20_ = '\0'; + guchar _tmp21_ = '\0'; + guchar* _tmp22_ = NULL; + guchar _tmp23_ = '\0'; + guchar _tmp24_ = '\0'; + guchar* _tmp25_ = NULL; +#line 314 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = p; +#line 314 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = end; +#line 314 "/home/jens/Source/shotwell/src/util/image.vala" + if (!(_tmp14_ < _tmp15_)) { +#line 314 "/home/jens/Source/shotwell/src/util/image.vala" + break; +#line 1739 "image.c" + } +#line 315 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = p; +#line 315 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = _tmp16_[0]; +#line 315 "/home/jens/Source/shotwell/src/util/image.vala" + tmp = _tmp17_; +#line 317 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = p; +#line 317 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = p; +#line 317 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp20_ = _tmp19_[2]; +#line 317 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_[0] = _tmp20_; +#line 317 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp21_ = _tmp18_[0]; +#line 318 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp22_ = p; +#line 318 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp23_ = tmp; +#line 318 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp22_[2] = _tmp23_; +#line 318 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp24_ = _tmp22_[2]; +#line 325 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp25_ = p; +#line 325 "/home/jens/Source/shotwell/src/util/image.vala" + p = _tmp25_ + 4; +#line 1769 "image.c" + } +#line 328 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp26_ = gdk_pixels; +#line 328 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp27_ = pixbuf; +#line 328 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp28_ = gdk_pixbuf_get_rowstride (_tmp27_); +#line 328 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp29_ = _tmp28_; +#line 328 "/home/jens/Source/shotwell/src/util/image.vala" + gdk_pixels = _tmp26_ + _tmp29_; +#line 1781 "image.c" + } + } + } +} + + +/** + * Finds the size of the smallest axially-aligned rectangle that could contain + * a rectangle src_width by src_height, rotated by angle. + * + * @param src_width The width of the incoming rectangle. + * @param src_height The height of the incoming rectangle. + * @param angle The amount to rotate by, given in degrees. + * @param dest_width The width of the computed rectangle. + * @param dest_height The height of the computed rectangle. + */ +void compute_arb_rotated_size (gdouble src_width, gdouble src_height, gdouble angle, gdouble* dest_width, gdouble* dest_height) { + gdouble _vala_dest_width = 0.0; + gdouble _vala_dest_height = 0.0; + gdouble _tmp0_ = 0.0; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + gdouble _tmp12_ = 0.0; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + gdouble _tmp15_ = 0.0; +#line 345 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = angle; +#line 345 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = degrees_to_radians (_tmp0_); +#line 345 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = fabs (_tmp1_); +#line 345 "/home/jens/Source/shotwell/src/util/image.vala" + angle = _tmp2_; +#line 346 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = angle; +#line 346 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp3_ <= G_PI_2, "angle <= Math.PI_2"); +#line 347 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = src_width; +#line 347 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = angle; +#line 347 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = cos (_tmp5_); +#line 347 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = src_height; +#line 347 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = angle; +#line 347 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = sin (_tmp8_); +#line 347 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_dest_width = (_tmp4_ * _tmp6_) + (_tmp7_ * _tmp9_); +#line 348 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = src_height; +#line 348 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = angle; +#line 348 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = cos (_tmp11_); +#line 348 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = src_width; +#line 348 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = angle; +#line 348 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = sin (_tmp14_); +#line 348 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_dest_height = (_tmp10_ * _tmp12_) + (_tmp13_ * _tmp15_); +#line 342 "/home/jens/Source/shotwell/src/util/image.vala" + if (dest_width) { +#line 342 "/home/jens/Source/shotwell/src/util/image.vala" + *dest_width = _vala_dest_width; +#line 1861 "image.c" + } +#line 342 "/home/jens/Source/shotwell/src/util/image.vala" + if (dest_height) { +#line 342 "/home/jens/Source/shotwell/src/util/image.vala" + *dest_height = _vala_dest_height; +#line 1867 "image.c" + } +} + + +/** + * @brief Rotates a pixbuf to an arbitrary angle, given in degrees, and returns the rotated pixbuf. + * + * @param source_pixbuf The source image that needs to be angled. + * @param angle The angle the source image should be rotated by. + */ +GdkPixbuf* rotate_arb (GdkPixbuf* source_pixbuf, gdouble angle) { + GdkPixbuf* result = NULL; + gdouble _tmp0_ = 0.0; + gdouble x_tmp = 0.0; + gdouble y_tmp = 0.0; + GdkPixbuf* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; + GdkPixbuf* _tmp6_ = NULL; + gint _tmp7_ = 0; + gint _tmp8_ = 0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gdouble _tmp11_ = 0.0; + GdkPixbuf* dest_pixbuf = NULL; + gdouble _tmp12_ = 0.0; + gdouble _tmp13_ = 0.0; + gdouble _tmp14_ = 0.0; + gdouble _tmp15_ = 0.0; + GdkPixbuf* _tmp16_ = NULL; + cairo_format_t _tmp17_ = 0; + GdkPixbuf* _tmp18_ = NULL; + gboolean _tmp19_ = FALSE; + gboolean _tmp20_ = FALSE; + cairo_surface_t* surface = NULL; + GdkPixbuf* _tmp21_ = NULL; + void* _tmp22_ = NULL; + void* _tmp23_ = NULL; + GdkPixbuf* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + GdkPixbuf* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; + GdkPixbuf* _tmp30_ = NULL; + gint _tmp31_ = 0; + gint _tmp32_ = 0; + cairo_surface_t* _tmp33_ = NULL; + cairo_t* context = NULL; + cairo_surface_t* _tmp34_ = NULL; + cairo_t* _tmp35_ = NULL; + cairo_t* _tmp36_ = NULL; + cairo_t* _tmp37_ = NULL; + GdkPixbuf* _tmp38_ = NULL; + gint _tmp39_ = 0; + gint _tmp40_ = 0; + GdkPixbuf* _tmp41_ = NULL; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + cairo_t* _tmp44_ = NULL; + cairo_t* _tmp45_ = NULL; + GdkPixbuf* _tmp46_ = NULL; + gint _tmp47_ = 0; + gint _tmp48_ = 0; + GdkPixbuf* _tmp49_ = NULL; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + cairo_t* _tmp52_ = NULL; + gdouble _tmp53_ = 0.0; + gdouble _tmp54_ = 0.0; + cairo_t* _tmp55_ = NULL; + GdkPixbuf* _tmp56_ = NULL; + gint _tmp57_ = 0; + gint _tmp58_ = 0; + GdkPixbuf* _tmp59_ = NULL; + gint _tmp60_ = 0; + gint _tmp61_ = 0; + cairo_t* _tmp62_ = NULL; + GdkPixbuf* _tmp63_ = NULL; + cairo_t* _tmp64_ = NULL; + cairo_pattern_t* _tmp65_ = NULL; + cairo_t* _tmp66_ = NULL; + GdkPixbuf* _tmp67_ = NULL; +#line 357 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_val_if_fail (GDK_IS_PIXBUF (source_pixbuf), NULL); +#line 361 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = angle; +#line 361 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp0_ == 0.0) { +#line 1957 "image.c" + GdkPixbuf* _tmp1_ = NULL; + GdkPixbuf* _tmp2_ = NULL; +#line 362 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = source_pixbuf; +#line 362 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = _g_object_ref0 (_tmp1_); +#line 362 "/home/jens/Source/shotwell/src/util/image.vala" + result = _tmp2_; +#line 362 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 1968 "image.c" + } +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = source_pixbuf; +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = gdk_pixbuf_get_width (_tmp3_); +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = _tmp4_; +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = source_pixbuf; +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = gdk_pixbuf_get_height (_tmp6_); +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = _tmp7_; +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = angle; +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + compute_arb_rotated_size ((gdouble) _tmp5_, (gdouble) _tmp8_, _tmp9_, &_tmp10_, &_tmp11_); +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + x_tmp = _tmp10_; +#line 369 "/home/jens/Source/shotwell/src/util/image.vala" + y_tmp = _tmp11_; +#line 372 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = x_tmp; +#line 372 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = round (_tmp12_); +#line 372 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = y_tmp; +#line 372 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = round (_tmp14_); +#line 372 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, (gint) _tmp13_, (gint) _tmp15_); +#line 372 "/home/jens/Source/shotwell/src/util/image.vala" + dest_pixbuf = _tmp16_; +#line 377 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = source_pixbuf; +#line 377 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = gdk_pixbuf_get_has_alpha (_tmp18_); +#line 377 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp20_ = _tmp19_; +#line 377 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp20_) { +#line 377 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = CAIRO_FORMAT_ARGB32; +#line 2012 "image.c" + } else { +#line 377 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = CAIRO_FORMAT_RGB24; +#line 2016 "image.c" + } +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp21_ = dest_pixbuf; +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp22_ = gdk_pixbuf_get_pixels (_tmp21_); +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp23_ = _tmp22_; +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp24_ = dest_pixbuf; +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp25_ = gdk_pixbuf_get_width (_tmp24_); +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp26_ = _tmp25_; +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp27_ = dest_pixbuf; +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp28_ = gdk_pixbuf_get_height (_tmp27_); +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp29_ = _tmp28_; +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp30_ = dest_pixbuf; +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp31_ = gdk_pixbuf_get_rowstride (_tmp30_); +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp32_ = _tmp31_; +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp33_ = cairo_image_surface_create_for_data ((guchar*) _tmp23_, _tmp17_, _tmp26_, _tmp29_, _tmp32_); +#line 375 "/home/jens/Source/shotwell/src/util/image.vala" + surface = _tmp33_; +#line 380 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp34_ = surface; +#line 380 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp35_ = cairo_create (_tmp34_); +#line 380 "/home/jens/Source/shotwell/src/util/image.vala" + context = _tmp35_; +#line 382 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp36_ = context; +#line 382 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_set_source_rgb (_tmp36_, (gdouble) 0, (gdouble) 0, (gdouble) 0); +#line 383 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp37_ = context; +#line 383 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp38_ = dest_pixbuf; +#line 383 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp39_ = gdk_pixbuf_get_width (_tmp38_); +#line 383 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp40_ = _tmp39_; +#line 383 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp41_ = dest_pixbuf; +#line 383 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp42_ = gdk_pixbuf_get_height (_tmp41_); +#line 383 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp43_ = _tmp42_; +#line 383 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_rectangle (_tmp37_, (gdouble) 0, (gdouble) 0, (gdouble) _tmp40_, (gdouble) _tmp43_); +#line 384 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp44_ = context; +#line 384 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_fill (_tmp44_); +#line 386 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp45_ = context; +#line 386 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp46_ = dest_pixbuf; +#line 386 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp47_ = gdk_pixbuf_get_width (_tmp46_); +#line 386 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp48_ = _tmp47_; +#line 386 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp49_ = dest_pixbuf; +#line 386 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp50_ = gdk_pixbuf_get_height (_tmp49_); +#line 386 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp51_ = _tmp50_; +#line 386 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_translate (_tmp45_, (gdouble) (_tmp48_ / 2), (gdouble) (_tmp51_ / 2)); +#line 387 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp52_ = context; +#line 387 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp53_ = angle; +#line 387 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp54_ = degrees_to_radians (_tmp53_); +#line 387 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_rotate (_tmp52_, _tmp54_); +#line 388 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp55_ = context; +#line 388 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp56_ = source_pixbuf; +#line 388 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp57_ = gdk_pixbuf_get_width (_tmp56_); +#line 388 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp58_ = _tmp57_; +#line 388 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp59_ = source_pixbuf; +#line 388 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp60_ = gdk_pixbuf_get_height (_tmp59_); +#line 388 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp61_ = _tmp60_; +#line 388 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_translate (_tmp55_, (gdouble) ((-_tmp58_) / 2), (gdouble) ((-_tmp61_) / 2)); +#line 390 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp62_ = context; +#line 390 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp63_ = source_pixbuf; +#line 390 "/home/jens/Source/shotwell/src/util/image.vala" + gdk_cairo_set_source_pixbuf (_tmp62_, _tmp63_, (gdouble) 0, (gdouble) 0); +#line 391 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp64_ = context; +#line 391 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp65_ = cairo_get_source (_tmp64_); +#line 391 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_pattern_set_filter (_tmp65_, CAIRO_FILTER_BEST); +#line 392 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp66_ = context; +#line 392 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_paint (_tmp66_); +#line 396 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp67_ = dest_pixbuf; +#line 396 "/home/jens/Source/shotwell/src/util/image.vala" + fix_cairo_pixbuf (_tmp67_); +#line 398 "/home/jens/Source/shotwell/src/util/image.vala" + result = dest_pixbuf; +#line 398 "/home/jens/Source/shotwell/src/util/image.vala" + _cairo_destroy0 (context); +#line 398 "/home/jens/Source/shotwell/src/util/image.vala" + _cairo_surface_destroy0 (surface); +#line 398 "/home/jens/Source/shotwell/src/util/image.vala" + return result; +#line 2144 "image.c" +} + + +/** + * @brief Rotates a point around the upper left corner of an image to an arbitrary angle, + * given in degrees, and returns the rotated point, translated such that it, along with its attendant + * image, are in positive x, positive y. + * + * @note May be subject to slight inaccuracy as Gdk points' coordinates may only be in whole pixels, + * so the fractional component is lost. + * + * @param source_point The point to be rotated and scaled. + * @param img_w The width of the source image (unrotated). + * @param img_h The height of the source image (unrotated). + * @param angle The angle the source image is to be rotated by to straighten it. + */ +void rotate_point_arb (GdkPoint* source_point, gint img_w, gint img_h, gdouble angle, gboolean invert, GdkPoint* result) { + gdouble _tmp0_ = 0.0; + gdouble dest_width = 0.0; + gdouble dest_height = 0.0; + gint _tmp2_ = 0; + gint _tmp3_ = 0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp6_ = 0.0; + cairo_matrix_t matrix = {0}; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; + gdouble _tmp9_ = 0.0; + gdouble _tmp10_ = 0.0; + gint _tmp11_ = 0; + gint _tmp12_ = 0; + gboolean _tmp13_ = FALSE; + gdouble dest_x = 0.0; + GdkPoint _tmp15_ = {0}; + gint _tmp16_ = 0; + gdouble dest_y = 0.0; + GdkPoint _tmp17_ = {0}; + gint _tmp18_ = 0; + gdouble _tmp19_ = 0.0; + gdouble _tmp20_ = 0.0; + GdkPoint _tmp21_ = {0}; +#line 414 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (source_point != NULL); +#line 417 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = angle; +#line 417 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp0_ == 0.0) { +#line 2193 "image.c" + GdkPoint _tmp1_ = {0}; +#line 419 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = *source_point; +#line 419 "/home/jens/Source/shotwell/src/util/image.vala" + *result = _tmp1_; +#line 419 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 2201 "image.c" + } +#line 424 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = img_w; +#line 424 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = img_h; +#line 424 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_ = angle; +#line 424 "/home/jens/Source/shotwell/src/util/image.vala" + compute_arb_rotated_size ((gdouble) _tmp2_, (gdouble) _tmp3_, _tmp4_, &_tmp5_, &_tmp6_); +#line 424 "/home/jens/Source/shotwell/src/util/image.vala" + dest_width = _tmp5_; +#line 424 "/home/jens/Source/shotwell/src/util/image.vala" + dest_height = _tmp6_; +#line 426 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_matrix_init_identity (&matrix); +#line 427 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = dest_width; +#line 427 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp8_ = dest_height; +#line 427 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_matrix_translate (&matrix, _tmp7_ / 2, _tmp8_ / 2); +#line 428 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = angle; +#line 428 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = degrees_to_radians (_tmp9_); +#line 428 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_matrix_rotate (&matrix, _tmp10_); +#line 429 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = img_w; +#line 429 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = img_h; +#line 429 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_matrix_translate (&matrix, (gdouble) ((-_tmp11_) / 2), (gdouble) ((-_tmp12_) / 2)); +#line 430 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_ = invert; +#line 430 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp13_) { +#line 2239 "image.c" + cairo_status_t _tmp14_ = 0; +#line 431 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = cairo_matrix_invert (&matrix); +#line 431 "/home/jens/Source/shotwell/src/util/image.vala" + _vala_assert (_tmp14_ == CAIRO_STATUS_SUCCESS, "matrix.invert() == Cairo.Status.SUCCESS"); +#line 2245 "image.c" + } +#line 433 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = *source_point; +#line 433 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = _tmp15_.x; +#line 433 "/home/jens/Source/shotwell/src/util/image.vala" + dest_x = (gdouble) _tmp16_; +#line 434 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp17_ = *source_point; +#line 434 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = _tmp17_.y; +#line 434 "/home/jens/Source/shotwell/src/util/image.vala" + dest_y = (gdouble) _tmp18_; +#line 435 "/home/jens/Source/shotwell/src/util/image.vala" + cairo_matrix_transform_point (&matrix, &dest_x, &dest_y); +#line 437 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = dest_x; +#line 437 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp20_ = dest_y; +#line 437 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp21_.x = (gint) _tmp19_; +#line 437 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp21_.y = (gint) _tmp20_; +#line 437 "/home/jens/Source/shotwell/src/util/image.vala" + *result = _tmp21_; +#line 437 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 2273 "image.c" +} + + +/** + * @brief Derotates a point around the upper left corner of an image from an arbitrary angle, + * given in degrees, and returns the de-rotated point, taking into account any translation necessary + * to make sure all of the rotated image stays in positive x, positive y. + * + * @note May be subject to slight inaccuracy as Gdk points' coordinates may only be in whole pixels, + * so the fractional component is lost. + * + * @param source_point The point to be de-rotated. + * @param img_w The width of the source image (unrotated). + * @param img_h The height of the source image (unrotated). + * @param angle The angle the source image is to be rotated by to straighten it. + */ +void derotate_point_arb (GdkPoint* source_point, gint img_w, gint img_h, gdouble angle, GdkPoint* result) { + GdkPoint _tmp0_ = {0}; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gdouble _tmp3_ = 0.0; + GdkPoint _tmp4_ = {0}; +#line 453 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (source_point != NULL); +#line 454 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = *source_point; +#line 454 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = img_w; +#line 454 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = img_h; +#line 454 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = angle; +#line 454 "/home/jens/Source/shotwell/src/util/image.vala" + rotate_point_arb (&_tmp0_, _tmp1_, _tmp2_, _tmp3_, TRUE, &_tmp4_); +#line 454 "/home/jens/Source/shotwell/src/util/image.vala" + *result = _tmp4_; +#line 454 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 2312 "image.c" +} + + +void clamp_inside_rotated_image (Box* src, gint img_w, gint img_h, gdouble angle_deg, gboolean preserve_geom, Box* result) { + GdkPoint top_left = {0}; + Box _tmp0_ = {0}; + gint _tmp1_ = 0; + Box _tmp2_ = {0}; + gint _tmp3_ = 0; + GdkPoint _tmp4_ = {0}; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gdouble _tmp7_ = 0.0; + GdkPoint _tmp8_ = {0}; + GdkPoint top_right = {0}; + Box _tmp9_ = {0}; + gint _tmp10_ = 0; + Box _tmp11_ = {0}; + gint _tmp12_ = 0; + GdkPoint _tmp13_ = {0}; + gint _tmp14_ = 0; + gint _tmp15_ = 0; + gdouble _tmp16_ = 0.0; + GdkPoint _tmp17_ = {0}; + GdkPoint bottom_left = {0}; + Box _tmp18_ = {0}; + gint _tmp19_ = 0; + Box _tmp20_ = {0}; + gint _tmp21_ = 0; + GdkPoint _tmp22_ = {0}; + gint _tmp23_ = 0; + gint _tmp24_ = 0; + gdouble _tmp25_ = 0.0; + GdkPoint _tmp26_ = {0}; + GdkPoint bottom_right = {0}; + Box _tmp27_ = {0}; + gint _tmp28_ = 0; + Box _tmp29_ = {0}; + gint _tmp30_ = 0; + GdkPoint _tmp31_ = {0}; + gint _tmp32_ = 0; + gint _tmp33_ = 0; + gdouble _tmp34_ = 0.0; + GdkPoint _tmp35_ = {0}; + gdouble angle = 0.0; + gdouble _tmp36_ = 0.0; + gdouble _tmp37_ = 0.0; + gint top_offset = 0; + gint bottom_offset = 0; + gint left_offset = 0; + gint right_offset = 0; + gint top = 0; + GdkPoint _tmp38_ = {0}; + gint _tmp39_ = 0; + GdkPoint _tmp40_ = {0}; + gint _tmp41_ = 0; + gint _tmp42_ = 0; + gint _tmp43_ = 0; + gint bottom = 0; + GdkPoint _tmp47_ = {0}; + gint _tmp48_ = 0; + GdkPoint _tmp49_ = {0}; + gint _tmp50_ = 0; + gint _tmp51_ = 0; + gint _tmp52_ = 0; + gint _tmp53_ = 0; + gint left = 0; + GdkPoint _tmp58_ = {0}; + gint _tmp59_ = 0; + GdkPoint _tmp60_ = {0}; + gint _tmp61_ = 0; + gint _tmp62_ = 0; + gint _tmp63_ = 0; + gint right = 0; + GdkPoint _tmp67_ = {0}; + gint _tmp68_ = 0; + GdkPoint _tmp69_ = {0}; + gint _tmp70_ = 0; + gint _tmp71_ = 0; + gint _tmp72_ = 0; + gint _tmp73_ = 0; + Box _tmp78_ = {0}; + gboolean _tmp79_ = FALSE; +#line 459 "/home/jens/Source/shotwell/src/util/image.vala" + g_return_if_fail (src != NULL); +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp0_ = *src; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp1_ = _tmp0_.left; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp2_ = *src; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp3_ = _tmp2_.top; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_.x = _tmp1_; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp4_.y = _tmp3_; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp5_ = img_w; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp6_ = img_h; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp7_ = angle_deg; +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + derotate_point_arb (&_tmp4_, _tmp5_, _tmp6_, _tmp7_, &_tmp8_); +#line 462 "/home/jens/Source/shotwell/src/util/image.vala" + top_left = _tmp8_; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp9_ = *src; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp10_ = _tmp9_.right; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp11_ = *src; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp12_ = _tmp11_.top; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_.x = _tmp10_; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp13_.y = _tmp12_; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp14_ = img_w; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp15_ = img_h; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp16_ = angle_deg; +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + derotate_point_arb (&_tmp13_, _tmp14_, _tmp15_, _tmp16_, &_tmp17_); +#line 463 "/home/jens/Source/shotwell/src/util/image.vala" + top_right = _tmp17_; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp18_ = *src; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp19_ = _tmp18_.left; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp20_ = *src; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp21_ = _tmp20_.bottom; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp22_.x = _tmp19_; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp22_.y = _tmp21_; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp23_ = img_w; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp24_ = img_h; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp25_ = angle_deg; +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + derotate_point_arb (&_tmp22_, _tmp23_, _tmp24_, _tmp25_, &_tmp26_); +#line 464 "/home/jens/Source/shotwell/src/util/image.vala" + bottom_left = _tmp26_; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp27_ = *src; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp28_ = _tmp27_.right; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp29_ = *src; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp30_ = _tmp29_.bottom; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp31_.x = _tmp28_; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp31_.y = _tmp30_; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp32_ = img_w; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp33_ = img_h; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp34_ = angle_deg; +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + derotate_point_arb (&_tmp31_, _tmp32_, _tmp33_, _tmp34_, &_tmp35_); +#line 465 "/home/jens/Source/shotwell/src/util/image.vala" + bottom_right = _tmp35_; +#line 467 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp36_ = angle_deg; +#line 467 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp37_ = degrees_to_radians (_tmp36_); +#line 467 "/home/jens/Source/shotwell/src/util/image.vala" + angle = _tmp37_; +#line 468 "/home/jens/Source/shotwell/src/util/image.vala" + top_offset = 0; +#line 468 "/home/jens/Source/shotwell/src/util/image.vala" + bottom_offset = 0; +#line 468 "/home/jens/Source/shotwell/src/util/image.vala" + left_offset = 0; +#line 468 "/home/jens/Source/shotwell/src/util/image.vala" + right_offset = 0; +#line 470 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp38_ = top_left; +#line 470 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp39_ = _tmp38_.y; +#line 470 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp40_ = top_right; +#line 470 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp41_ = _tmp40_.y; +#line 470 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp42_ = MIN (_tmp39_, _tmp41_); +#line 470 "/home/jens/Source/shotwell/src/util/image.vala" + top = _tmp42_; +#line 471 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp43_ = top; +#line 471 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp43_ < 0) { +#line 2516 "image.c" + gint _tmp44_ = 0; + gdouble _tmp45_ = 0.0; + gdouble _tmp46_ = 0.0; +#line 472 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp44_ = top; +#line 472 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp45_ = angle; +#line 472 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp46_ = cos (_tmp45_); +#line 472 "/home/jens/Source/shotwell/src/util/image.vala" + top_offset = (gint) ((0 - _tmp44_) * _tmp46_); +#line 2528 "image.c" + } +#line 474 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp47_ = bottom_left; +#line 474 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp48_ = _tmp47_.y; +#line 474 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp49_ = bottom_right; +#line 474 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp50_ = _tmp49_.y; +#line 474 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp51_ = MAX (_tmp48_, _tmp50_); +#line 474 "/home/jens/Source/shotwell/src/util/image.vala" + bottom = _tmp51_; +#line 475 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp52_ = bottom; +#line 475 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp53_ = img_h; +#line 475 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp52_ > _tmp53_) { +#line 2548 "image.c" + gint _tmp54_ = 0; + gint _tmp55_ = 0; + gdouble _tmp56_ = 0.0; + gdouble _tmp57_ = 0.0; +#line 476 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp54_ = img_h; +#line 476 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp55_ = bottom; +#line 476 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp56_ = angle; +#line 476 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp57_ = cos (_tmp56_); +#line 476 "/home/jens/Source/shotwell/src/util/image.vala" + bottom_offset = (gint) ((_tmp54_ - _tmp55_) * _tmp57_); +#line 2563 "image.c" + } +#line 478 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp58_ = top_left; +#line 478 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp59_ = _tmp58_.x; +#line 478 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp60_ = bottom_left; +#line 478 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp61_ = _tmp60_.x; +#line 478 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp62_ = MIN (_tmp59_, _tmp61_); +#line 478 "/home/jens/Source/shotwell/src/util/image.vala" + left = _tmp62_; +#line 479 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp63_ = left; +#line 479 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp63_ < 0) { +#line 2581 "image.c" + gint _tmp64_ = 0; + gdouble _tmp65_ = 0.0; + gdouble _tmp66_ = 0.0; +#line 480 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp64_ = left; +#line 480 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp65_ = angle; +#line 480 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp66_ = cos (_tmp65_); +#line 480 "/home/jens/Source/shotwell/src/util/image.vala" + left_offset = (gint) ((0 - _tmp64_) * _tmp66_); +#line 2593 "image.c" + } +#line 482 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp67_ = top_right; +#line 482 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp68_ = _tmp67_.x; +#line 482 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp69_ = bottom_right; +#line 482 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp70_ = _tmp69_.x; +#line 482 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp71_ = MAX (_tmp68_, _tmp70_); +#line 482 "/home/jens/Source/shotwell/src/util/image.vala" + right = _tmp71_; +#line 483 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp72_ = right; +#line 483 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp73_ = img_w; +#line 483 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp72_ > _tmp73_) { +#line 2613 "image.c" + gint _tmp74_ = 0; + gint _tmp75_ = 0; + gdouble _tmp76_ = 0.0; + gdouble _tmp77_ = 0.0; +#line 484 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp74_ = img_w; +#line 484 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp75_ = right; +#line 484 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp76_ = angle; +#line 484 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp77_ = cos (_tmp76_); +#line 484 "/home/jens/Source/shotwell/src/util/image.vala" + right_offset = (gint) ((_tmp74_ - _tmp75_) * _tmp77_); +#line 2628 "image.c" + } +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp79_ = preserve_geom; +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + if (_tmp79_) { +#line 2634 "image.c" + gint _tmp80_ = 0; + gint _tmp81_ = 0; + gint _tmp82_ = 0; + gint _tmp83_ = 0; + Box _tmp84_ = {0}; +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp80_ = left_offset; +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp81_ = right_offset; +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp82_ = top_offset; +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp83_ = bottom_offset; +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + box_get_offset (src, _tmp80_ + _tmp81_, _tmp82_ + _tmp83_, &_tmp84_); +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp78_ = _tmp84_; +#line 2652 "image.c" + } else { + Box _tmp85_ = {0}; + gint _tmp86_ = 0; + gint _tmp87_ = 0; + Box _tmp88_ = {0}; + gint _tmp89_ = 0; + gint _tmp90_ = 0; + Box _tmp91_ = {0}; + gint _tmp92_ = 0; + gint _tmp93_ = 0; + Box _tmp94_ = {0}; + gint _tmp95_ = 0; + gint _tmp96_ = 0; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp85_ = *src; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp86_ = _tmp85_.left; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp87_ = left_offset; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp88_ = *src; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp89_ = _tmp88_.top; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp90_ = top_offset; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp91_ = *src; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp92_ = _tmp91_.right; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp93_ = right_offset; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp94_ = *src; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp95_ = _tmp94_.bottom; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + _tmp96_ = bottom_offset; +#line 487 "/home/jens/Source/shotwell/src/util/image.vala" + box_init (&_tmp78_, _tmp86_ + _tmp87_, _tmp89_ + _tmp90_, _tmp92_ + _tmp93_, _tmp95_ + _tmp96_); +#line 2692 "image.c" + } +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + *result = _tmp78_; +#line 486 "/home/jens/Source/shotwell/src/util/image.vala" + return; +#line 2698 "image.c" +} + + + diff --git a/src/util/misc.c b/src/util/misc.c new file mode 100644 index 0000000..b8101f1 --- /dev/null +++ b/src/util/misc.c @@ -0,0 +1,3137 @@ +/* misc.c generated by valac 0.32.1, the Vala compiler + * generated from misc.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU LGPL (version 2.1 or later). + * See the COPYING file in this distribution. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define _g_checksum_free0(var) ((var == NULL) ? NULL : (var = (g_checksum_free (var), NULL))) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +#define TYPE_DATA_OBJECT (data_object_get_type ()) +#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject)) +#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass)) +#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT)) +#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT)) +#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass)) + +typedef struct _DataObject DataObject; +typedef struct _DataObjectClass DataObjectClass; + +#define TYPE_DATA_SOURCE (data_source_get_type ()) +#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource)) +#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass)) +#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE)) +#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE)) +#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass)) + +typedef struct _DataSource DataSource; +typedef struct _DataSourceClass DataSourceClass; + +#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ()) +#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource)) +#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) +#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE)) +#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE)) +#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass)) + +typedef struct _ThumbnailSource ThumbnailSource; +typedef struct _ThumbnailSourceClass ThumbnailSourceClass; + +#define TYPE_MEDIA_SOURCE (media_source_get_type ()) +#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource)) +#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass)) +#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE)) +#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE)) +#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass)) + +typedef struct _MediaSource MediaSource; +typedef struct _MediaSourceClass MediaSourceClass; + +#define TYPE_PHOTO_SOURCE (photo_source_get_type ()) +#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource)) +#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass)) +#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE)) +#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE)) +#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass)) + +typedef struct _PhotoSource PhotoSource; +typedef struct _PhotoSourceClass PhotoSourceClass; + +#define TYPE_PHOTO (photo_get_type ()) +#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo)) +#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass)) +#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO)) +#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO)) +#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass)) + +typedef struct _Photo Photo; +typedef struct _PhotoClass PhotoClass; + +#define TYPE_PHOTO_ID (photo_id_get_type ()) +typedef struct _PhotoID PhotoID; + +#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ()) +#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry)) +#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) +#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY)) +#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass)) + +typedef struct _MediaCollectionRegistry MediaCollectionRegistry; +typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass; +#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL))) + +#define TYPE_ONE_SHOT_SCHEDULER (one_shot_scheduler_get_type ()) +#define ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler)) +#define ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) +#define IS_ONE_SHOT_SCHEDULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ONE_SHOT_SCHEDULER)) +#define IS_ONE_SHOT_SCHEDULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ONE_SHOT_SCHEDULER)) +#define ONE_SHOT_SCHEDULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerClass)) + +typedef struct _OneShotScheduler OneShotScheduler; +typedef struct _OneShotSchedulerClass OneShotSchedulerClass; +typedef struct _OneShotSchedulerPrivate OneShotSchedulerPrivate; +typedef struct _ParamSpecOneShotScheduler ParamSpecOneShotScheduler; + +#define TYPE_OP_TIMER (op_timer_get_type ()) +#define OP_TIMER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_OP_TIMER, OpTimer)) +#define OP_TIMER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_OP_TIMER, OpTimerClass)) +#define IS_OP_TIMER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_OP_TIMER)) +#define IS_OP_TIMER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_OP_TIMER)) +#define OP_TIMER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_OP_TIMER, OpTimerClass)) + +typedef struct _OpTimer OpTimer; +typedef struct _OpTimerClass OpTimerClass; +typedef struct _OpTimerPrivate OpTimerPrivate; +#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL))) +typedef struct _ParamSpecOpTimer ParamSpecOpTimer; +#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); + +typedef gboolean (*ValueEqualFunc) (GValue* a, GValue* b, void* user_data); +struct _PhotoID { + gint64 id; +}; + +typedef void (*OneShotCallback) (void* user_data); +struct _OneShotScheduler { + GTypeInstance parent_instance; + volatile int ref_count; + OneShotSchedulerPrivate * priv; +}; + +struct _OneShotSchedulerClass { + GTypeClass parent_class; + void (*finalize) (OneShotScheduler *self); +}; + +struct _OneShotSchedulerPrivate { + gchar* name; + OneShotCallback callback; + gpointer callback_target; + guint scheduled; +}; + +struct _ParamSpecOneShotScheduler { + GParamSpec parent_instance; +}; + +struct _OpTimer { + GTypeInstance parent_instance; + volatile int ref_count; + OpTimerPrivate * priv; +}; + +struct _OpTimerClass { + GTypeClass parent_class; + void (*finalize) (OpTimer *self); +}; + +struct _OpTimerPrivate { + gchar* name; + GTimer* timer; + glong count; + gdouble elapsed; + gdouble shortest; + gdouble longest; +}; + +struct _ParamSpecOpTimer { + GParamSpec parent_instance; +}; + + +static gpointer one_shot_scheduler_parent_class = NULL; +static gpointer op_timer_parent_class = NULL; + +guint int64_hash (gint64* n); +gboolean int64_equal (gint64* a, gint64* b); +gint int64_compare (gint64* a, gint64* b); +gint uint64_compare (guint64* a, guint64* b); +gboolean bool_value_equals (GValue* a, GValue* b); +gboolean int_value_equals (GValue* a, GValue* b); +gulong timeval_to_ms (GTimeVal* time_val); +gulong now_ms (void); +gulong now_sec (void); +time_t now_time_t (void); +gchar* md5_binary (guint8* buffer, gsize length); +gchar* md5_file (GFile* file, GError** error); +gboolean equal_sets (GeeSet* a, GeeSet* b); +GeeSet* intersection_of_sets (GeeSet* a, GeeSet* b, GeeSet* excluded); +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; +guchar* serialize_photo_ids (GeeCollection* photos, int* result_length1); +GType photo_id_get_type (void) G_GNUC_CONST; +PhotoID* photo_id_dup (const PhotoID* self); +void photo_id_free (PhotoID* self); +void photo_get_photo_id (Photo* self, PhotoID* result); +GeeList* unserialize_photo_ids (guchar* serialized, gint size); +void photo_id_init (PhotoID *self, gint64 id); +guchar* serialize_media_sources (GeeCollection* media, int* result_length1); +gchar* data_source_get_source_id (DataSource* self); +GeeList* unserialize_media_sources (guchar* serialized, gint size); +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); +MediaSource* media_collection_registry_fetch_media (MediaCollectionRegistry* self, const gchar* source_id); +gchar* format_local_datespan (struct tm* from_date, struct tm* to_date); +gchar* resources_get_start_multiday_span_format_string (void); +gchar* resources_get_end_multiday_span_format_string (void); +gchar* resources_get_start_multimonth_span_format_string (void); +gchar* resources_get_end_multimonth_span_format_string (void); +gchar* resources_get_long_date_format_string (void); +gchar* string_strip_leading_zeroes (const gchar* str); +gchar* format_local_date (struct tm* date); +gpointer one_shot_scheduler_ref (gpointer instance); +void one_shot_scheduler_unref (gpointer instance); +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_one_shot_scheduler (GValue* value, gpointer v_object); +void value_take_one_shot_scheduler (GValue* value, gpointer v_object); +gpointer value_get_one_shot_scheduler (const GValue* value); +GType one_shot_scheduler_get_type (void) G_GNUC_CONST; +#define ONE_SHOT_SCHEDULER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ONE_SHOT_SCHEDULER, OneShotSchedulerPrivate)) +enum { + ONE_SHOT_SCHEDULER_DUMMY_PROPERTY +}; +void one_shot_scheduler_cancel (OneShotScheduler* self); +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target); +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target); +gboolean one_shot_scheduler_is_scheduled (OneShotScheduler* self); +void one_shot_scheduler_at_idle (OneShotScheduler* self); +void one_shot_scheduler_at_priority_idle (OneShotScheduler* self, gint priority); +static gboolean one_shot_scheduler_callback_wrapper (OneShotScheduler* self); +static gboolean _one_shot_scheduler_callback_wrapper_gsource_func (gpointer self); +void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule); +void one_shot_scheduler_priority_after_timeout (OneShotScheduler* self, gint priority, guint msec, gboolean reschedule); +static void one_shot_scheduler_finalize (OneShotScheduler* obj); +gpointer op_timer_ref (gpointer instance); +void op_timer_unref (gpointer instance); +GParamSpec* param_spec_op_timer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_op_timer (GValue* value, gpointer v_object); +void value_take_op_timer (GValue* value, gpointer v_object); +gpointer value_get_op_timer (const GValue* value); +GType op_timer_get_type (void) G_GNUC_CONST; +#define OP_TIMER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_OP_TIMER, OpTimerPrivate)) +enum { + OP_TIMER_DUMMY_PROPERTY +}; +OpTimer* op_timer_new (const gchar* name); +OpTimer* op_timer_construct (GType object_type, const gchar* name); +void op_timer_start (OpTimer* self); +void op_timer_stop (OpTimer* self); +gchar* op_timer_to_string (OpTimer* self); +static void op_timer_finalize (OpTimer* obj); +void suppress_warnings (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message); +gboolean is_twentyfour_hr_time_system (void); +gboolean is_string_empty (const gchar* s); + + +guint int64_hash (gint64* n) { + guint result = 0U; + guint8* u8 = NULL; + gint64* _tmp0_ = NULL; + guint hash = 0U; +#line 9 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = n; +#line 9 "/home/jens/Source/shotwell/src/util/misc.vala" + u8 = (guint8*) _tmp0_; +#line 10 "/home/jens/Source/shotwell/src/util/misc.vala" + hash = (guint) 0; +#line 289 "misc.c" + { + gint ctr = 0; +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + ctr = 0; +#line 294 "misc.c" + { + gboolean _tmp1_ = FALSE; +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = TRUE; +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + while (TRUE) { +#line 301 "misc.c" + gint _tmp3_ = 0; + guint _tmp4_ = 0U; + guint _tmp5_ = 0U; + guint8* _tmp6_ = NULL; +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!_tmp1_) { +#line 308 "misc.c" + gint _tmp2_ = 0; +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = ctr; +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + ctr = _tmp2_ + 1; +#line 314 "misc.c" + } +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = FALSE; +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = ctr; +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!(((gulong) _tmp3_) < (sizeof (gint64) / sizeof (guint8)))) { +#line 11 "/home/jens/Source/shotwell/src/util/misc.vala" + break; +#line 324 "misc.c" + } +#line 12 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = hash; +#line 12 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = hash; +#line 12 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = u8; +#line 12 "/home/jens/Source/shotwell/src/util/misc.vala" + u8 = _tmp6_ + 1; +#line 12 "/home/jens/Source/shotwell/src/util/misc.vala" + hash = ((_tmp4_ << 4) ^ (_tmp5_ >> 28)) ^ (*_tmp6_); +#line 336 "misc.c" + } + } + } +#line 15 "/home/jens/Source/shotwell/src/util/misc.vala" + result = hash; +#line 15 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 344 "misc.c" +} + + +gboolean int64_equal (gint64* a, gint64* b) { + gboolean result = FALSE; + gint64* bia = NULL; + gint64* _tmp0_ = NULL; + gint64* bib = NULL; + gint64* _tmp1_ = NULL; +#line 19 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = a; +#line 19 "/home/jens/Source/shotwell/src/util/misc.vala" + bia = (gint64*) _tmp0_; +#line 20 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = b; +#line 20 "/home/jens/Source/shotwell/src/util/misc.vala" + bib = (gint64*) _tmp1_; +#line 22 "/home/jens/Source/shotwell/src/util/misc.vala" + result = (*bia) == (*bib); +#line 22 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 366 "misc.c" +} + + +gint int64_compare (gint64* a, gint64* b) { + gint result = 0; + gint64 diff = 0LL; + gint64* _tmp0_ = NULL; + gint64* _tmp1_ = NULL; + gint64 _tmp2_ = 0LL; +#line 26 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = a; +#line 26 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = b; +#line 26 "/home/jens/Source/shotwell/src/util/misc.vala" + diff = (*((gint64*) _tmp0_)) - (*((gint64*) _tmp1_)); +#line 27 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = diff; +#line 27 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp2_ < ((gint64) 0)) { +#line 28 "/home/jens/Source/shotwell/src/util/misc.vala" + result = -1; +#line 28 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 390 "misc.c" + } else { + gint64 _tmp3_ = 0LL; +#line 29 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = diff; +#line 29 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp3_ > ((gint64) 0)) { +#line 30 "/home/jens/Source/shotwell/src/util/misc.vala" + result = 1; +#line 30 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 401 "misc.c" + } else { +#line 32 "/home/jens/Source/shotwell/src/util/misc.vala" + result = 0; +#line 32 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 407 "misc.c" + } + } +} + + +gint uint64_compare (guint64* a, guint64* b) { + gint result = 0; + guint64 a64 = 0ULL; + guint64* _tmp0_ = NULL; + guint64 b64 = 0ULL; + guint64* _tmp1_ = NULL; + guint64 _tmp2_ = 0ULL; + guint64 _tmp3_ = 0ULL; +#line 36 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = a; +#line 36 "/home/jens/Source/shotwell/src/util/misc.vala" + a64 = *((guint64*) _tmp0_); +#line 37 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = b; +#line 37 "/home/jens/Source/shotwell/src/util/misc.vala" + b64 = *((guint64*) _tmp1_); +#line 39 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = a64; +#line 39 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = b64; +#line 39 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp2_ < _tmp3_) { +#line 40 "/home/jens/Source/shotwell/src/util/misc.vala" + result = -1; +#line 40 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 439 "misc.c" + } else { + guint64 _tmp4_ = 0ULL; + guint64 _tmp5_ = 0ULL; +#line 41 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = a64; +#line 41 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = b64; +#line 41 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp4_ > _tmp5_) { +#line 42 "/home/jens/Source/shotwell/src/util/misc.vala" + result = 1; +#line 42 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 453 "misc.c" + } else { +#line 44 "/home/jens/Source/shotwell/src/util/misc.vala" + result = 0; +#line 44 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 459 "misc.c" + } + } +} + + +gboolean bool_value_equals (GValue* a, GValue* b) { + gboolean result = FALSE; + GValue _tmp0_ = {0}; + GValue _tmp1_ = {0}; +#line 49 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (a != NULL, FALSE); +#line 49 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (b != NULL, FALSE); +#line 50 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = *a; +#line 50 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = *b; +#line 50 "/home/jens/Source/shotwell/src/util/misc.vala" + result = g_value_get_boolean (&_tmp0_) == g_value_get_boolean (&_tmp1_); +#line 50 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 481 "misc.c" +} + + +gboolean int_value_equals (GValue* a, GValue* b) { + gboolean result = FALSE; + GValue _tmp0_ = {0}; + GValue _tmp1_ = {0}; +#line 53 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (a != NULL, FALSE); +#line 53 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (b != NULL, FALSE); +#line 54 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = *a; +#line 54 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = *b; +#line 54 "/home/jens/Source/shotwell/src/util/misc.vala" + result = g_value_get_int (&_tmp0_) == g_value_get_int (&_tmp1_); +#line 54 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 501 "misc.c" +} + + +gulong timeval_to_ms (GTimeVal* time_val) { + gulong result = 0UL; + GTimeVal _tmp0_ = {0}; + glong _tmp1_ = 0L; + GTimeVal _tmp2_ = {0}; + glong _tmp3_ = 0L; +#line 57 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (time_val != NULL, 0UL); +#line 58 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = *time_val; +#line 58 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = _tmp0_.tv_sec; +#line 58 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = *time_val; +#line 58 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = _tmp2_.tv_usec; +#line 58 "/home/jens/Source/shotwell/src/util/misc.vala" + result = (((gulong) _tmp1_) * 1000) + (((gulong) _tmp3_) / 1000); +#line 58 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 525 "misc.c" +} + + +gulong now_ms (void) { + gulong result = 0UL; + GTimeVal _tmp0_ = {0}; + gulong _tmp1_ = 0UL; +#line 62 "/home/jens/Source/shotwell/src/util/misc.vala" + g_get_current_time (&_tmp0_); +#line 62 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = timeval_to_ms (&_tmp0_); +#line 62 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp1_; +#line 62 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 541 "misc.c" +} + + +gulong now_sec (void) { + gulong result = 0UL; + GTimeVal time_val = {0}; + GTimeVal _tmp0_ = {0}; + glong _tmp1_ = 0L; +#line 66 "/home/jens/Source/shotwell/src/util/misc.vala" + g_get_current_time (&time_val); +#line 68 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = time_val; +#line 68 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = _tmp0_.tv_sec; +#line 68 "/home/jens/Source/shotwell/src/util/misc.vala" + result = (gulong) _tmp1_; +#line 68 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 560 "misc.c" +} + + +inline time_t now_time_t (void) { + time_t result = 0; + gulong _tmp0_ = 0UL; +#line 72 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = now_sec (); +#line 72 "/home/jens/Source/shotwell/src/util/misc.vala" + result = (time_t) _tmp0_; +#line 72 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 573 "misc.c" +} + + +gchar* md5_binary (guint8* buffer, gsize length) { + gchar* result = NULL; + gsize _tmp0_ = 0UL; + GChecksum* md5 = NULL; + GChecksum* _tmp1_ = NULL; + guint8* _tmp2_ = NULL; + gsize _tmp3_ = 0UL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = length; +#line 76 "/home/jens/Source/shotwell/src/util/misc.vala" + _vala_assert (_tmp0_ != ((gsize) 0), "length != 0"); +#line 78 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = g_checksum_new (G_CHECKSUM_MD5); +#line 78 "/home/jens/Source/shotwell/src/util/misc.vala" + md5 = _tmp1_; +#line 79 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = buffer; +#line 79 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = length; +#line 79 "/home/jens/Source/shotwell/src/util/misc.vala" + g_checksum_update (md5, (guchar*) _tmp2_, _tmp3_); +#line 81 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = g_checksum_get_string (md5); +#line 81 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = g_strdup (_tmp4_); +#line 81 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp5_; +#line 81 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_checksum_free0 (md5); +#line 81 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 610 "misc.c" +} + + +gchar* md5_file (GFile* file, GError** error) { + gchar* result = NULL; + GChecksum* md5 = NULL; + GChecksum* _tmp0_ = NULL; + guint8* buffer = NULL; + guint8* _tmp1_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + GFileInputStream* fins = NULL; + GFile* _tmp2_ = NULL; + GFileInputStream* _tmp3_ = NULL; + GChecksum* _tmp18_ = NULL; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + GError * _inner_error_ = NULL; +#line 84 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (G_IS_FILE (file), NULL); +#line 85 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = g_checksum_new (G_CHECKSUM_MD5); +#line 85 "/home/jens/Source/shotwell/src/util/misc.vala" + md5 = _tmp0_; +#line 86 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = g_new0 (guint8, 64 * 1024); +#line 86 "/home/jens/Source/shotwell/src/util/misc.vala" + buffer = _tmp1_; +#line 86 "/home/jens/Source/shotwell/src/util/misc.vala" + buffer_length1 = 64 * 1024; +#line 86 "/home/jens/Source/shotwell/src/util/misc.vala" + _buffer_size_ = buffer_length1; +#line 88 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = file; +#line 88 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = g_file_read (_tmp2_, NULL, &_inner_error_); +#line 88 "/home/jens/Source/shotwell/src/util/misc.vala" + fins = _tmp3_; +#line 88 "/home/jens/Source/shotwell/src/util/misc.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 88 "/home/jens/Source/shotwell/src/util/misc.vala" + g_propagate_error (error, _inner_error_); +#line 88 "/home/jens/Source/shotwell/src/util/misc.vala" + buffer = (g_free (buffer), NULL); +#line 88 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_checksum_free0 (md5); +#line 88 "/home/jens/Source/shotwell/src/util/misc.vala" + return NULL; +#line 659 "misc.c" + } + { + gboolean _tmp4_ = FALSE; +#line 89 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = TRUE; +#line 89 "/home/jens/Source/shotwell/src/util/misc.vala" + while (TRUE) { +#line 667 "misc.c" + gsize bytes_read = 0UL; + GFileInputStream* _tmp5_ = NULL; + guint8* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + gssize _tmp7_ = 0L; + gsize _tmp8_ = 0UL; + GChecksum* _tmp9_ = NULL; + guint8* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gsize _tmp11_ = 0UL; +#line 89 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!_tmp4_) { +#line 680 "misc.c" + } +#line 89 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = FALSE; +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = fins; +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = buffer; +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6__length1 = buffer_length1; +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = g_input_stream_read (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, G_TYPE_INPUT_STREAM, GInputStream), _tmp6_, (gsize) _tmp6__length1, NULL, &_inner_error_); +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + bytes_read = (gsize) _tmp7_; +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + g_propagate_error (error, _inner_error_); +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (fins); +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + buffer = (g_free (buffer), NULL); +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_checksum_free0 (md5); +#line 90 "/home/jens/Source/shotwell/src/util/misc.vala" + return NULL; +#line 706 "misc.c" + } +#line 91 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = bytes_read; +#line 91 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp8_ <= ((gsize) 0)) { +#line 92 "/home/jens/Source/shotwell/src/util/misc.vala" + break; +#line 714 "misc.c" + } +#line 94 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = md5; +#line 94 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = buffer; +#line 94 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10__length1 = buffer_length1; +#line 94 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp11_ = bytes_read; +#line 94 "/home/jens/Source/shotwell/src/util/misc.vala" + g_checksum_update (_tmp9_, (guchar*) _tmp10_, _tmp11_); +#line 726 "misc.c" + } + } + { + GFileInputStream* _tmp12_ = NULL; +#line 98 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp12_ = fins; +#line 98 "/home/jens/Source/shotwell/src/util/misc.vala" + g_input_stream_close (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, G_TYPE_INPUT_STREAM, GInputStream), NULL, &_inner_error_); +#line 98 "/home/jens/Source/shotwell/src/util/misc.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 737 "misc.c" + goto __catch5_g_error; + } + } + goto __finally5; + __catch5_g_error: + { + GError* err = NULL; + GFile* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + GError* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + err = _inner_error_; +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + _inner_error_ = NULL; +#line 100 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp13_ = file; +#line 100 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp14_ = g_file_get_path (_tmp13_); +#line 100 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp15_ = _tmp14_; +#line 100 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp16_ = err; +#line 100 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp17_ = _tmp16_->message; +#line 100 "/home/jens/Source/shotwell/src/util/misc.vala" + g_warning ("misc.vala:100: Unable to close MD5 input stream for %s: %s", _tmp15_, _tmp17_); +#line 100 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp15_); +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_error_free0 (err); +#line 770 "misc.c" + } + __finally5: +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + g_propagate_error (error, _inner_error_); +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (fins); +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + buffer = (g_free (buffer), NULL); +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_checksum_free0 (md5); +#line 97 "/home/jens/Source/shotwell/src/util/misc.vala" + return NULL; +#line 785 "misc.c" + } +#line 103 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp18_ = md5; +#line 103 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp19_ = g_checksum_get_string (_tmp18_); +#line 103 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp20_ = g_strdup (_tmp19_); +#line 103 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp20_; +#line 103 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (fins); +#line 103 "/home/jens/Source/shotwell/src/util/misc.vala" + buffer = (g_free (buffer), NULL); +#line 103 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_checksum_free0 (md5); +#line 103 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 803 "misc.c" +} + + +gboolean equal_sets (GeeSet* a, GeeSet* b) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + gboolean _tmp1_ = FALSE; + GeeSet* _tmp2_ = NULL; + gboolean _tmp7_ = FALSE; + GeeSet* _tmp8_ = NULL; + gboolean _tmp14_ = FALSE; + gboolean _tmp15_ = FALSE; + GeeSet* _tmp16_ = NULL; + gboolean _tmp21_ = FALSE; + GeeSet* _tmp22_ = NULL; + GeeSet* _tmp24_ = NULL; + gint _tmp25_ = 0; + gint _tmp26_ = 0; + GeeSet* _tmp27_ = NULL; + gint _tmp28_ = 0; + gint _tmp29_ = 0; +#line 107 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail ((a == NULL) || GEE_IS_SET (a), FALSE); +#line 107 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail ((b == NULL) || GEE_IS_SET (b), FALSE); +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = a; +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp2_ != NULL) { +#line 833 "misc.c" + GeeSet* _tmp3_ = NULL; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = a; +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = _tmp4_; +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = _tmp5_ == 0; +#line 845 "misc.c" + } else { +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = FALSE; +#line 849 "misc.c" + } +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp1_) { +#line 853 "misc.c" + GeeSet* _tmp6_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = b; +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = _tmp6_ == NULL; +#line 859 "misc.c" + } else { +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = FALSE; +#line 863 "misc.c" + } +#line 108 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp0_) { +#line 109 "/home/jens/Source/shotwell/src/util/misc.vala" + result = TRUE; +#line 109 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 871 "misc.c" + } +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = a; +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp8_ == NULL) { +#line 877 "misc.c" + gboolean _tmp9_ = FALSE; + GeeSet* _tmp10_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = b; +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp10_ != NULL) { +#line 884 "misc.c" + GeeSet* _tmp11_ = NULL; + gint _tmp12_ = 0; + gint _tmp13_ = 0; +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp11_ = b; +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp12_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp13_ = _tmp12_; +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = _tmp13_ == 0; +#line 896 "misc.c" + } else { +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = FALSE; +#line 900 "misc.c" + } +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = _tmp9_; +#line 904 "misc.c" + } else { +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = FALSE; +#line 908 "misc.c" + } +#line 111 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp7_) { +#line 112 "/home/jens/Source/shotwell/src/util/misc.vala" + result = TRUE; +#line 112 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 916 "misc.c" + } +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp16_ = a; +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp16_ == NULL) { +#line 922 "misc.c" + GeeSet* _tmp17_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp17_ = b; +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp15_ = _tmp17_ != NULL; +#line 928 "misc.c" + } else { +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp15_ = FALSE; +#line 932 "misc.c" + } +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp15_) { +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp14_ = TRUE; +#line 938 "misc.c" + } else { + gboolean _tmp18_ = FALSE; + GeeSet* _tmp19_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp19_ = a; +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp19_ != NULL) { +#line 946 "misc.c" + GeeSet* _tmp20_ = NULL; +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp20_ = b; +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp18_ = _tmp20_ == NULL; +#line 952 "misc.c" + } else { +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp18_ = FALSE; +#line 956 "misc.c" + } +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp14_ = _tmp18_; +#line 960 "misc.c" + } +#line 114 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp14_) { +#line 115 "/home/jens/Source/shotwell/src/util/misc.vala" + result = FALSE; +#line 115 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 968 "misc.c" + } +#line 117 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp22_ = a; +#line 117 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp22_ == NULL) { +#line 974 "misc.c" + GeeSet* _tmp23_ = NULL; +#line 117 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp23_ = b; +#line 117 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp21_ = _tmp23_ == NULL; +#line 980 "misc.c" + } else { +#line 117 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp21_ = FALSE; +#line 984 "misc.c" + } +#line 117 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp21_) { +#line 118 "/home/jens/Source/shotwell/src/util/misc.vala" + result = TRUE; +#line 118 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 992 "misc.c" + } +#line 120 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp24_ = a; +#line 120 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp25_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 120 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp26_ = _tmp25_; +#line 120 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp27_ = b; +#line 120 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp28_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 120 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp29_ = _tmp28_; +#line 120 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp26_ != _tmp29_) { +#line 121 "/home/jens/Source/shotwell/src/util/misc.vala" + result = FALSE; +#line 121 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1012 "misc.c" + } + { + GeeIterator* _element_it = NULL; + GeeSet* _tmp30_ = NULL; + GeeIterator* _tmp31_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp30_ = a; +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp31_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _element_it = _tmp31_; +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + while (TRUE) { +#line 1026 "misc.c" + GeeIterator* _tmp32_ = NULL; + gboolean _tmp33_ = FALSE; + gchar* element = NULL; + GeeIterator* _tmp34_ = NULL; + gpointer _tmp35_ = NULL; + GeeSet* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; + gboolean _tmp38_ = FALSE; +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp32_ = _element_it; +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp33_ = gee_iterator_next (_tmp32_); +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!_tmp33_) { +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + break; +#line 1043 "misc.c" + } +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp34_ = _element_it; +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp35_ = gee_iterator_get (_tmp34_); +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + element = (gchar*) _tmp35_; +#line 126 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp36_ = b; +#line 126 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp37_ = element; +#line 126 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp38_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_); +#line 126 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!_tmp38_) { +#line 127 "/home/jens/Source/shotwell/src/util/misc.vala" + result = FALSE; +#line 127 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (element); +#line 127 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (_element_it); +#line 127 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1067 "misc.c" + } +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (element); +#line 1071 "misc.c" + } +#line 125 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (_element_it); +#line 1075 "misc.c" + } +#line 130 "/home/jens/Source/shotwell/src/util/misc.vala" + result = TRUE; +#line 130 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1081 "misc.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + return self ? g_object_ref (self) : NULL; +#line 1088 "misc.c" +} + + +GeeSet* intersection_of_sets (GeeSet* a, GeeSet* b, GeeSet* excluded) { + GeeSet* result = NULL; + gboolean _tmp0_ = FALSE; + GeeSet* _tmp1_ = NULL; + gboolean _tmp6_ = FALSE; + GeeSet* _tmp7_ = NULL; + GeeSet* intersection = NULL; + GeeHashSet* _tmp12_ = NULL; + GeeSet* _tmp41_ = NULL; + GeeSet* _tmp42_ = NULL; + gint _tmp43_ = 0; + gint _tmp44_ = 0; + GeeSet* _tmp46_ = NULL; +#line 134 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail ((a == NULL) || GEE_IS_SET (a), NULL); +#line 134 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail ((b == NULL) || GEE_IS_SET (b), NULL); +#line 134 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail ((excluded == NULL) || GEE_IS_SET (excluded), NULL); +#line 136 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = a; +#line 136 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp1_ != NULL) { +#line 1115 "misc.c" + GeeSet* _tmp2_ = NULL; +#line 136 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = b; +#line 136 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = _tmp2_ == NULL; +#line 1121 "misc.c" + } else { +#line 136 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = FALSE; +#line 1125 "misc.c" + } +#line 136 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp0_) { +#line 1129 "misc.c" + GeeSet* _tmp3_ = NULL; +#line 137 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = excluded; +#line 137 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp3_ != NULL) { +#line 1135 "misc.c" + GeeSet* _tmp4_ = NULL; + GeeSet* _tmp5_ = NULL; +#line 138 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = excluded; +#line 138 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = a; +#line 138 "/home/jens/Source/shotwell/src/util/misc.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1144 "misc.c" + } +#line 140 "/home/jens/Source/shotwell/src/util/misc.vala" + result = NULL; +#line 140 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1150 "misc.c" + } +#line 143 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = a; +#line 143 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp7_ == NULL) { +#line 1156 "misc.c" + GeeSet* _tmp8_ = NULL; +#line 143 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = b; +#line 143 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = _tmp8_ != NULL; +#line 1162 "misc.c" + } else { +#line 143 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = FALSE; +#line 1166 "misc.c" + } +#line 143 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp6_) { +#line 1170 "misc.c" + GeeSet* _tmp9_ = NULL; +#line 144 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = excluded; +#line 144 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp9_ != NULL) { +#line 1176 "misc.c" + GeeSet* _tmp10_ = NULL; + GeeSet* _tmp11_ = NULL; +#line 145 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = excluded; +#line 145 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp11_ = b; +#line 145 "/home/jens/Source/shotwell/src/util/misc.vala" + gee_collection_add_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 1185 "misc.c" + } +#line 147 "/home/jens/Source/shotwell/src/util/misc.vala" + result = NULL; +#line 147 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1191 "misc.c" + } +#line 150 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp12_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL, NULL, NULL, NULL, NULL); +#line 150 "/home/jens/Source/shotwell/src/util/misc.vala" + intersection = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_SET, GeeSet); +#line 1197 "misc.c" + { + GeeIterator* _element_it = NULL; + GeeSet* _tmp13_ = NULL; + GeeIterator* _tmp14_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp13_ = a; +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp14_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _element_it = _tmp14_; +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + while (TRUE) { +#line 1210 "misc.c" + GeeIterator* _tmp15_ = NULL; + gboolean _tmp16_ = FALSE; + gchar* element = NULL; + GeeIterator* _tmp17_ = NULL; + gpointer _tmp18_ = NULL; + GeeSet* _tmp19_ = NULL; + const gchar* _tmp20_ = NULL; + gboolean _tmp21_ = FALSE; +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp15_ = _element_it; +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp16_ = gee_iterator_next (_tmp15_); +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!_tmp16_) { +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + break; +#line 1227 "misc.c" + } +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp17_ = _element_it; +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp18_ = gee_iterator_get (_tmp17_); +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + element = (gchar*) _tmp18_; +#line 153 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp19_ = b; +#line 153 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp20_ = element; +#line 153 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp21_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection), _tmp20_); +#line 153 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp21_) { +#line 1243 "misc.c" + GeeSet* _tmp22_ = NULL; + const gchar* _tmp23_ = NULL; +#line 154 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp22_ = intersection; +#line 154 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp23_ = element; +#line 154 "/home/jens/Source/shotwell/src/util/misc.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection), _tmp23_); +#line 1252 "misc.c" + } else { + GeeSet* _tmp24_ = NULL; +#line 155 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp24_ = excluded; +#line 155 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp24_ != NULL) { +#line 1259 "misc.c" + GeeSet* _tmp25_ = NULL; + const gchar* _tmp26_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp25_ = excluded; +#line 156 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp26_ = element; +#line 156 "/home/jens/Source/shotwell/src/util/misc.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection), _tmp26_); +#line 1268 "misc.c" + } + } +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (element); +#line 1273 "misc.c" + } +#line 152 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (_element_it); +#line 1277 "misc.c" + } + { + GeeIterator* _element_it = NULL; + GeeSet* _tmp27_ = NULL; + GeeIterator* _tmp28_ = NULL; +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp27_ = b; +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp28_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _element_it = _tmp28_; +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + while (TRUE) { +#line 1291 "misc.c" + GeeIterator* _tmp29_ = NULL; + gboolean _tmp30_ = FALSE; + gchar* element = NULL; + GeeIterator* _tmp31_ = NULL; + gpointer _tmp32_ = NULL; + GeeSet* _tmp33_ = NULL; + const gchar* _tmp34_ = NULL; + gboolean _tmp35_ = FALSE; +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp29_ = _element_it; +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp30_ = gee_iterator_next (_tmp29_); +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!_tmp30_) { +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + break; +#line 1308 "misc.c" + } +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp31_ = _element_it; +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp32_ = gee_iterator_get (_tmp31_); +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + element = (gchar*) _tmp32_; +#line 160 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp33_ = a; +#line 160 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp34_ = element; +#line 160 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp35_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection), _tmp34_); +#line 160 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp35_) { +#line 1324 "misc.c" + GeeSet* _tmp36_ = NULL; + const gchar* _tmp37_ = NULL; +#line 161 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp36_ = intersection; +#line 161 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp37_ = element; +#line 161 "/home/jens/Source/shotwell/src/util/misc.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, GEE_TYPE_COLLECTION, GeeCollection), _tmp37_); +#line 1333 "misc.c" + } else { + GeeSet* _tmp38_ = NULL; +#line 162 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp38_ = excluded; +#line 162 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp38_ != NULL) { +#line 1340 "misc.c" + GeeSet* _tmp39_ = NULL; + const gchar* _tmp40_ = NULL; +#line 163 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp39_ = excluded; +#line 163 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp40_ = element; +#line 163 "/home/jens/Source/shotwell/src/util/misc.vala" + gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, GEE_TYPE_COLLECTION, GeeCollection), _tmp40_); +#line 1349 "misc.c" + } + } +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (element); +#line 1354 "misc.c" + } +#line 159 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (_element_it); +#line 1358 "misc.c" + } +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp42_ = intersection; +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp43_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_COLLECTION, GeeCollection)); +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp44_ = _tmp43_; +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp44_ > 0) { +#line 1368 "misc.c" + GeeSet* _tmp45_ = NULL; +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp45_ = intersection; +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp41_ = _tmp45_; +#line 1374 "misc.c" + } else { +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp41_ = NULL; +#line 1378 "misc.c" + } +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp46_ = _g_object_ref0 (_tmp41_); +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp46_; +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (intersection); +#line 166 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1388 "misc.c" +} + + +guchar* serialize_photo_ids (GeeCollection* photos, int* result_length1) { + guchar* result = NULL; + gint64* ids = NULL; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + gint64* _tmp3_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + gint ctr = 0; + gsize bytes = 0UL; + GeeCollection* _tmp16_ = NULL; + gint _tmp17_ = 0; + gint _tmp18_ = 0; + guchar* serialized = NULL; + guchar* _tmp19_ = NULL; + gint serialized_length1 = 0; + gint _serialized_size_ = 0; + gint64* _tmp20_ = NULL; + gint _tmp20__length1 = 0; + guchar* _tmp21_ = NULL; + gint _tmp21__length1 = 0; +#line 169 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (photos), NULL); +#line 170 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = photos; +#line 170 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 170 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = _tmp1_; +#line 170 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = g_new0 (gint64, _tmp2_); +#line 170 "/home/jens/Source/shotwell/src/util/misc.vala" + ids = _tmp3_; +#line 170 "/home/jens/Source/shotwell/src/util/misc.vala" + ids_length1 = _tmp2_; +#line 170 "/home/jens/Source/shotwell/src/util/misc.vala" + _ids_size_ = ids_length1; +#line 171 "/home/jens/Source/shotwell/src/util/misc.vala" + ctr = 0; +#line 1432 "misc.c" + { + GeeIterator* _photo_it = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = photos; +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _photo_it = _tmp5_; +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + while (TRUE) { +#line 1445 "misc.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + Photo* photo = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + gint64* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + Photo* _tmp12_ = NULL; + PhotoID _tmp13_ = {0}; + gint64 _tmp14_ = 0LL; + gint64 _tmp15_ = 0LL; +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = _photo_it; +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!_tmp7_) { +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + break; +#line 1466 "misc.c" + } +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = _photo_it; +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + photo = (Photo*) _tmp9_; +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = ids; +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10__length1 = ids_length1; +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp11_ = ctr; +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + ctr = _tmp11_ + 1; +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp12_ = photo; +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + photo_get_photo_id (_tmp12_, &_tmp13_); +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp14_ = _tmp13_.id; +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_[_tmp11_] = _tmp14_; +#line 173 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp15_ = _tmp10_[_tmp11_]; +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (photo); +#line 1494 "misc.c" + } +#line 172 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (_photo_it); +#line 1498 "misc.c" + } +#line 175 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp16_ = photos; +#line 175 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp17_ = gee_collection_get_size (_tmp16_); +#line 175 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp18_ = _tmp17_; +#line 175 "/home/jens/Source/shotwell/src/util/misc.vala" + bytes = (gsize) (_tmp18_ * sizeof (gint64)); +#line 176 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp19_ = g_new0 (guchar, bytes); +#line 176 "/home/jens/Source/shotwell/src/util/misc.vala" + serialized = _tmp19_; +#line 176 "/home/jens/Source/shotwell/src/util/misc.vala" + serialized_length1 = bytes; +#line 176 "/home/jens/Source/shotwell/src/util/misc.vala" + _serialized_size_ = serialized_length1; +#line 177 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp20_ = ids; +#line 177 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp20__length1 = ids_length1; +#line 177 "/home/jens/Source/shotwell/src/util/misc.vala" + memcpy (serialized, _tmp20_, bytes); +#line 179 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp21_ = serialized; +#line 179 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp21__length1 = serialized_length1; +#line 179 "/home/jens/Source/shotwell/src/util/misc.vala" + if (result_length1) { +#line 179 "/home/jens/Source/shotwell/src/util/misc.vala" + *result_length1 = _tmp21__length1; +#line 1530 "misc.c" + } +#line 179 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp21_; +#line 179 "/home/jens/Source/shotwell/src/util/misc.vala" + ids = (g_free (ids), NULL); +#line 179 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1538 "misc.c" +} + + +GeeList* unserialize_photo_ids (guchar* serialized, gint size) { + GeeList* result = NULL; + gsize count = 0UL; + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gsize _tmp2_ = 0UL; + gint64* ids = NULL; + gsize _tmp4_ = 0UL; + gint64* _tmp5_ = NULL; + gint ids_length1 = 0; + gint _ids_size_ = 0; + gint64* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + guchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + GeeArrayList* list = NULL; + GeeArrayList* _tmp9_ = NULL; + gint64* _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 183 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = size; +#line 183 "/home/jens/Source/shotwell/src/util/misc.vala" + count = (gsize) (_tmp0_ / sizeof (gint64)); +#line 184 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = count; +#line 184 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp2_ <= ((gsize) 0)) { +#line 184 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = TRUE; +#line 1571 "misc.c" + } else { + guchar* _tmp3_ = NULL; +#line 184 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = serialized; +#line 184 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = _tmp3_ == NULL; +#line 1578 "misc.c" + } +#line 184 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp1_) { +#line 185 "/home/jens/Source/shotwell/src/util/misc.vala" + result = NULL; +#line 185 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1586 "misc.c" + } +#line 187 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = count; +#line 187 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = g_new0 (gint64, _tmp4_); +#line 187 "/home/jens/Source/shotwell/src/util/misc.vala" + ids = _tmp5_; +#line 187 "/home/jens/Source/shotwell/src/util/misc.vala" + ids_length1 = _tmp4_; +#line 187 "/home/jens/Source/shotwell/src/util/misc.vala" + _ids_size_ = ids_length1; +#line 188 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = ids; +#line 188 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6__length1 = ids_length1; +#line 188 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = serialized; +#line 188 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = size; +#line 188 "/home/jens/Source/shotwell/src/util/misc.vala" + memcpy (_tmp6_, _tmp7_, (gsize) _tmp8_); +#line 190 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = gee_array_list_new (TYPE_PHOTO_ID, (GBoxedCopyFunc) photo_id_dup, photo_id_free, NULL, NULL, NULL); +#line 190 "/home/jens/Source/shotwell/src/util/misc.vala" + list = _tmp9_; +#line 191 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = ids; +#line 191 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10__length1 = ids_length1; +#line 1616 "misc.c" + { + gint64* id_collection = NULL; + gint id_collection_length1 = 0; + gint _id_collection_size_ = 0; + gint id_it = 0; +#line 191 "/home/jens/Source/shotwell/src/util/misc.vala" + id_collection = _tmp10_; +#line 191 "/home/jens/Source/shotwell/src/util/misc.vala" + id_collection_length1 = _tmp10__length1; +#line 191 "/home/jens/Source/shotwell/src/util/misc.vala" + for (id_it = 0; id_it < _tmp10__length1; id_it = id_it + 1) { +#line 1628 "misc.c" + gint64 id = 0LL; +#line 191 "/home/jens/Source/shotwell/src/util/misc.vala" + id = id_collection[id_it]; +#line 1632 "misc.c" + { + GeeArrayList* _tmp11_ = NULL; + gint64 _tmp12_ = 0LL; + PhotoID _tmp13_ = {0}; +#line 192 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp11_ = list; +#line 192 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp12_ = id; +#line 192 "/home/jens/Source/shotwell/src/util/misc.vala" + photo_id_init (&_tmp13_, _tmp12_); +#line 192 "/home/jens/Source/shotwell/src/util/misc.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), &_tmp13_); +#line 1645 "misc.c" + } + } + } +#line 194 "/home/jens/Source/shotwell/src/util/misc.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (list, GEE_TYPE_LIST, GeeList); +#line 194 "/home/jens/Source/shotwell/src/util/misc.vala" + ids = (g_free (ids), NULL); +#line 194 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1655 "misc.c" +} + + +guchar* serialize_media_sources (GeeCollection* media, int* result_length1) { + guchar* result = NULL; + GdkAtom* atoms = NULL; + GeeCollection* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; + GdkAtom* _tmp3_ = NULL; + gint atoms_length1 = 0; + gint _atoms_size_ = 0; + gint ctr = 0; + gsize bytes = 0UL; + GeeCollection* _tmp17_ = NULL; + gint _tmp18_ = 0; + gint _tmp19_ = 0; + guchar* serialized = NULL; + guchar* _tmp20_ = NULL; + gint serialized_length1 = 0; + gint _serialized_size_ = 0; + GdkAtom* _tmp21_ = NULL; + gint _tmp21__length1 = 0; + guchar* _tmp22_ = NULL; + gint _tmp22__length1 = 0; +#line 197 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (GEE_IS_COLLECTION (media), NULL); +#line 198 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = media; +#line 198 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = gee_collection_get_size (_tmp0_); +#line 198 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = _tmp1_; +#line 198 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = g_new0 (GdkAtom, _tmp2_); +#line 198 "/home/jens/Source/shotwell/src/util/misc.vala" + atoms = _tmp3_; +#line 198 "/home/jens/Source/shotwell/src/util/misc.vala" + atoms_length1 = _tmp2_; +#line 198 "/home/jens/Source/shotwell/src/util/misc.vala" + _atoms_size_ = atoms_length1; +#line 199 "/home/jens/Source/shotwell/src/util/misc.vala" + ctr = 0; +#line 1699 "misc.c" + { + GeeIterator* _current_media_it = NULL; + GeeCollection* _tmp4_ = NULL; + GeeIterator* _tmp5_ = NULL; +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = media; +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GEE_TYPE_ITERABLE, GeeIterable)); +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _current_media_it = _tmp5_; +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + while (TRUE) { +#line 1712 "misc.c" + GeeIterator* _tmp6_ = NULL; + gboolean _tmp7_ = FALSE; + MediaSource* current_media = NULL; + GeeIterator* _tmp8_ = NULL; + gpointer _tmp9_ = NULL; + GdkAtom* _tmp10_ = NULL; + gint _tmp10__length1 = 0; + gint _tmp11_ = 0; + MediaSource* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + GdkAtom _tmp15_ = 0U; + GdkAtom _tmp16_ = 0U; +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = _current_media_it; +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = gee_iterator_next (_tmp6_); +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!_tmp7_) { +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + break; +#line 1734 "misc.c" + } +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = _current_media_it; +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = gee_iterator_get (_tmp8_); +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + current_media = (MediaSource*) _tmp9_; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = atoms; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10__length1 = atoms_length1; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp11_ = ctr; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + ctr = _tmp11_ + 1; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp12_ = current_media; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp13_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_SOURCE, DataSource)); +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp14_ = _tmp13_; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp15_ = gdk_atom_intern (_tmp14_, FALSE); +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_[_tmp11_] = _tmp15_; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp16_ = _tmp10_[_tmp11_]; +#line 201 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp14_); +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (current_media); +#line 1766 "misc.c" + } +#line 200 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (_current_media_it); +#line 1770 "misc.c" + } +#line 203 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp17_ = media; +#line 203 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp18_ = gee_collection_get_size (_tmp17_); +#line 203 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp19_ = _tmp18_; +#line 203 "/home/jens/Source/shotwell/src/util/misc.vala" + bytes = (gsize) (_tmp19_ * sizeof (GdkAtom)); +#line 204 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp20_ = g_new0 (guchar, bytes); +#line 204 "/home/jens/Source/shotwell/src/util/misc.vala" + serialized = _tmp20_; +#line 204 "/home/jens/Source/shotwell/src/util/misc.vala" + serialized_length1 = bytes; +#line 204 "/home/jens/Source/shotwell/src/util/misc.vala" + _serialized_size_ = serialized_length1; +#line 205 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp21_ = atoms; +#line 205 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp21__length1 = atoms_length1; +#line 205 "/home/jens/Source/shotwell/src/util/misc.vala" + memcpy (serialized, _tmp21_, bytes); +#line 207 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp22_ = serialized; +#line 207 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp22__length1 = serialized_length1; +#line 207 "/home/jens/Source/shotwell/src/util/misc.vala" + if (result_length1) { +#line 207 "/home/jens/Source/shotwell/src/util/misc.vala" + *result_length1 = _tmp22__length1; +#line 1802 "misc.c" + } +#line 207 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp22_; +#line 207 "/home/jens/Source/shotwell/src/util/misc.vala" + atoms = (g_free (atoms), NULL); +#line 207 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1810 "misc.c" +} + + +GeeList* unserialize_media_sources (guchar* serialized, gint size) { + GeeList* result = NULL; + gsize count = 0UL; + gint _tmp0_ = 0; + gboolean _tmp1_ = FALSE; + gsize _tmp2_ = 0UL; + GdkAtom* atoms = NULL; + gsize _tmp4_ = 0UL; + GdkAtom* _tmp5_ = NULL; + gint atoms_length1 = 0; + gint _atoms_size_ = 0; + GdkAtom* _tmp6_ = NULL; + gint _tmp6__length1 = 0; + guchar* _tmp7_ = NULL; + gint _tmp8_ = 0; + GeeArrayList* list = NULL; + GeeArrayList* _tmp9_ = NULL; + GdkAtom* _tmp10_ = NULL; + gint _tmp10__length1 = 0; +#line 211 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = size; +#line 211 "/home/jens/Source/shotwell/src/util/misc.vala" + count = (gsize) (_tmp0_ / sizeof (GdkAtom)); +#line 212 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = count; +#line 212 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp2_ <= ((gsize) 0)) { +#line 212 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = TRUE; +#line 1843 "misc.c" + } else { + guchar* _tmp3_ = NULL; +#line 212 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = serialized; +#line 212 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = _tmp3_ == NULL; +#line 1850 "misc.c" + } +#line 212 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp1_) { +#line 213 "/home/jens/Source/shotwell/src/util/misc.vala" + result = NULL; +#line 213 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1858 "misc.c" + } +#line 215 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = count; +#line 215 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = g_new0 (GdkAtom, _tmp4_); +#line 215 "/home/jens/Source/shotwell/src/util/misc.vala" + atoms = _tmp5_; +#line 215 "/home/jens/Source/shotwell/src/util/misc.vala" + atoms_length1 = _tmp4_; +#line 215 "/home/jens/Source/shotwell/src/util/misc.vala" + _atoms_size_ = atoms_length1; +#line 216 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = atoms; +#line 216 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6__length1 = atoms_length1; +#line 216 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = serialized; +#line 216 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = size; +#line 216 "/home/jens/Source/shotwell/src/util/misc.vala" + memcpy (_tmp6_, _tmp7_, (gsize) _tmp8_); +#line 218 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL); +#line 218 "/home/jens/Source/shotwell/src/util/misc.vala" + list = _tmp9_; +#line 219 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = atoms; +#line 219 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10__length1 = atoms_length1; +#line 1888 "misc.c" + { + GdkAtom* current_atom_collection = NULL; + gint current_atom_collection_length1 = 0; + gint _current_atom_collection_size_ = 0; + gint current_atom_it = 0; +#line 219 "/home/jens/Source/shotwell/src/util/misc.vala" + current_atom_collection = _tmp10_; +#line 219 "/home/jens/Source/shotwell/src/util/misc.vala" + current_atom_collection_length1 = _tmp10__length1; +#line 219 "/home/jens/Source/shotwell/src/util/misc.vala" + for (current_atom_it = 0; current_atom_it < _tmp10__length1; current_atom_it = current_atom_it + 1) { +#line 1900 "misc.c" + GdkAtom current_atom = 0U; +#line 219 "/home/jens/Source/shotwell/src/util/misc.vala" + current_atom = current_atom_collection[current_atom_it]; +#line 1904 "misc.c" + { + MediaSource* media = NULL; + MediaCollectionRegistry* _tmp11_ = NULL; + MediaCollectionRegistry* _tmp12_ = NULL; + GdkAtom _tmp13_ = 0U; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; + MediaSource* _tmp16_ = NULL; + MediaSource* _tmp17_ = NULL; + MediaSource* _tmp18_ = NULL; + GeeArrayList* _tmp19_ = NULL; + MediaSource* _tmp20_ = NULL; +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp11_ = media_collection_registry_get_instance (); +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp12_ = _tmp11_; +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp13_ = current_atom; +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp14_ = gdk_atom_name (_tmp13_); +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp15_ = _tmp14_; +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp16_ = media_collection_registry_fetch_media (_tmp12_, _tmp15_); +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp17_ = _tmp16_; +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp15_); +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + _media_collection_registry_unref0 (_tmp12_); +#line 220 "/home/jens/Source/shotwell/src/util/misc.vala" + media = _tmp17_; +#line 221 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp18_ = media; +#line 221 "/home/jens/Source/shotwell/src/util/misc.vala" + _vala_assert (_tmp18_ != NULL, "media != null"); +#line 222 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp19_ = list; +#line 222 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp20_ = media; +#line 222 "/home/jens/Source/shotwell/src/util/misc.vala" + gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp20_); +#line 219 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_object_unref0 (media); +#line 1949 "misc.c" + } + } + } +#line 225 "/home/jens/Source/shotwell/src/util/misc.vala" + result = G_TYPE_CHECK_INSTANCE_CAST (list, GEE_TYPE_LIST, GeeList); +#line 225 "/home/jens/Source/shotwell/src/util/misc.vala" + atoms = (g_free (atoms), NULL); +#line 225 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 1959 "misc.c" +} + + +static gchar* g_time_format (struct tm *self, const gchar* format) { + gchar* result = NULL; + gchar* buffer = NULL; + gchar* _tmp0_ = NULL; + gint buffer_length1 = 0; + gint _buffer_size_ = 0; + gchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _tmp3__length1 = 0; + gchar* _tmp4_ = NULL; +#line 2709 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (format != NULL, NULL); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_new0 (gchar, 64); +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = _tmp0_; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer_length1 = 64; +#line 2710 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _buffer_size_ = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = buffer; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1__length1 = buffer_length1; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = format; +#line 2711 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + strftime (_tmp1_, _tmp1__length1, _tmp2_, &(*self)); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = buffer; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3__length1 = buffer_length1; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = g_strdup ((const gchar*) _tmp3_); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp4_; +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + buffer = (g_free (buffer), NULL); +#line 2712 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 2005 "misc.c" +} + + +gchar* format_local_datespan (struct tm* from_date, struct tm* to_date) { + gchar* result = NULL; + gchar* from_format = NULL; + gchar* to_format = NULL; + struct tm _tmp0_ = {0}; + gint _tmp1_ = 0; + struct tm _tmp2_ = {0}; + gint _tmp3_ = 0; + const gchar* _tmp19_ = NULL; + gchar* _tmp20_ = NULL; + gchar* _tmp21_ = NULL; + const gchar* _tmp22_ = NULL; + gchar* _tmp23_ = NULL; + gchar* _tmp24_ = NULL; + gchar* _tmp25_ = NULL; + gchar* _tmp26_ = NULL; + gchar* _tmp27_ = NULL; + gchar* _tmp28_ = NULL; +#line 228 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (from_date != NULL, NULL); +#line 228 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (to_date != NULL, NULL); +#line 233 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = *from_date; +#line 233 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = _tmp0_.tm_year; +#line 233 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = *to_date; +#line 233 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = _tmp2_.tm_year; +#line 233 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp1_ == _tmp3_) { +#line 2041 "misc.c" + gboolean _tmp4_ = FALSE; + struct tm _tmp5_ = {0}; + gint _tmp6_ = 0; + struct tm _tmp7_ = {0}; + gint _tmp8_ = 0; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = *from_date; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = _tmp5_.tm_mon; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = *to_date; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = _tmp7_.tm_mon; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp6_ == _tmp8_) { +#line 2057 "misc.c" + struct tm _tmp9_ = {0}; + gint _tmp10_ = 0; + struct tm _tmp11_ = {0}; + gint _tmp12_ = 0; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = *from_date; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = _tmp9_.tm_mday; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp11_ = *to_date; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp12_ = _tmp11_.tm_mday; +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = _tmp10_ == (_tmp12_ - 1); +#line 2072 "misc.c" + } else { +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = FALSE; +#line 2076 "misc.c" + } +#line 235 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp4_) { +#line 2080 "misc.c" + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; +#line 237 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp13_ = resources_get_start_multiday_span_format_string (); +#line 237 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (from_format); +#line 237 "/home/jens/Source/shotwell/src/util/misc.vala" + from_format = _tmp13_; +#line 238 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp14_ = resources_get_end_multiday_span_format_string (); +#line 238 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (to_format); +#line 238 "/home/jens/Source/shotwell/src/util/misc.vala" + to_format = _tmp14_; +#line 2095 "misc.c" + } else { + gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 242 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp15_ = resources_get_start_multimonth_span_format_string (); +#line 242 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (from_format); +#line 242 "/home/jens/Source/shotwell/src/util/misc.vala" + from_format = _tmp15_; +#line 243 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp16_ = resources_get_end_multimonth_span_format_string (); +#line 243 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (to_format); +#line 243 "/home/jens/Source/shotwell/src/util/misc.vala" + to_format = _tmp16_; +#line 2111 "misc.c" + } + } else { + gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 248 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp17_ = resources_get_long_date_format_string (); +#line 248 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (from_format); +#line 248 "/home/jens/Source/shotwell/src/util/misc.vala" + from_format = _tmp17_; +#line 249 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp18_ = resources_get_long_date_format_string (); +#line 249 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (to_format); +#line 249 "/home/jens/Source/shotwell/src/util/misc.vala" + to_format = _tmp18_; +#line 2128 "misc.c" + } +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp19_ = from_format; +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp20_ = g_time_format (from_date, _tmp19_); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp21_ = _tmp20_; +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp22_ = to_format; +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp23_ = g_time_format (to_date, _tmp22_); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp24_ = _tmp23_; +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp25_ = g_strdup_printf ("%s - %s", _tmp21_, _tmp24_); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp26_ = _tmp25_; +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp27_ = string_strip_leading_zeroes (_tmp26_); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp28_ = _tmp27_; +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp26_); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp24_); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp21_); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp28_; +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (to_format); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (from_format); +#line 252 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 2164 "misc.c" +} + + +gchar* format_local_date (struct tm* date) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; +#line 256 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (date != NULL, NULL); +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = resources_get_long_date_format_string (); +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = _tmp0_; +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = g_time_format (date, _tmp1_); +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = _tmp2_; +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = string_strip_leading_zeroes (_tmp3_); +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = _tmp4_; +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp3_); +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp1_); +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp5_; +#line 257 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 2198 "misc.c" +} + + +OneShotScheduler* one_shot_scheduler_construct (GType object_type, const gchar* name, OneShotCallback callback, void* callback_target) { + OneShotScheduler* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + OneShotCallback _tmp2_ = NULL; + void* _tmp2__target = NULL; +#line 267 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 267 "/home/jens/Source/shotwell/src/util/misc.vala" + self = (OneShotScheduler*) g_type_create_instance (object_type); +#line 268 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = name; +#line 268 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 268 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (self->priv->name); +#line 268 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->name = _tmp1_; +#line 269 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = callback; +#line 269 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2__target = callback_target; +#line 269 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->callback = _tmp2_; +#line 269 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->callback_target = _tmp2__target; +#line 267 "/home/jens/Source/shotwell/src/util/misc.vala" + return self; +#line 2230 "misc.c" +} + + +OneShotScheduler* one_shot_scheduler_new (const gchar* name, OneShotCallback callback, void* callback_target) { +#line 267 "/home/jens/Source/shotwell/src/util/misc.vala" + return one_shot_scheduler_construct (TYPE_ONE_SHOT_SCHEDULER, name, callback, callback_target); +#line 2237 "misc.c" +} + + +gboolean one_shot_scheduler_is_scheduled (OneShotScheduler* self) { + gboolean result = FALSE; + guint _tmp0_ = 0U; +#line 280 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (IS_ONE_SHOT_SCHEDULER (self), FALSE); +#line 281 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = self->priv->scheduled; +#line 281 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp0_ != ((guint) 0); +#line 281 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 2252 "misc.c" +} + + +void one_shot_scheduler_at_idle (OneShotScheduler* self) { +#line 284 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); +#line 285 "/home/jens/Source/shotwell/src/util/misc.vala" + one_shot_scheduler_at_priority_idle (self, G_PRIORITY_DEFAULT_IDLE); +#line 2261 "misc.c" +} + + +static gboolean _one_shot_scheduler_callback_wrapper_gsource_func (gpointer self) { + gboolean result; + result = one_shot_scheduler_callback_wrapper ((OneShotScheduler*) self); +#line 290 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 2270 "misc.c" +} + + +void one_shot_scheduler_at_priority_idle (OneShotScheduler* self, gint priority) { + guint _tmp0_ = 0U; +#line 288 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); +#line 289 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = self->priv->scheduled; +#line 289 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp0_ == ((guint) 0)) { +#line 2282 "misc.c" + gint _tmp1_ = 0; + guint _tmp2_ = 0U; +#line 290 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = priority; +#line 290 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = g_idle_add_full (_tmp1_, _one_shot_scheduler_callback_wrapper_gsource_func, one_shot_scheduler_ref (self), one_shot_scheduler_unref); +#line 290 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->scheduled = _tmp2_; +#line 2291 "misc.c" + } +} + + +void one_shot_scheduler_after_timeout (OneShotScheduler* self, guint msec, gboolean reschedule) { + guint _tmp0_ = 0U; + gboolean _tmp1_ = FALSE; +#line 293 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); +#line 294 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = msec; +#line 294 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = reschedule; +#line 294 "/home/jens/Source/shotwell/src/util/misc.vala" + one_shot_scheduler_priority_after_timeout (self, G_PRIORITY_DEFAULT, _tmp0_, _tmp1_); +#line 2307 "misc.c" +} + + +void one_shot_scheduler_priority_after_timeout (OneShotScheduler* self, gint priority, guint msec, gboolean reschedule) { + gboolean _tmp0_ = FALSE; + guint _tmp1_ = 0U; + guint _tmp3_ = 0U; + gint _tmp5_ = 0; + guint _tmp6_ = 0U; + guint _tmp7_ = 0U; +#line 297 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); +#line 298 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = self->priv->scheduled; +#line 298 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp1_ != ((guint) 0)) { +#line 2324 "misc.c" + gboolean _tmp2_ = FALSE; +#line 298 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = reschedule; +#line 298 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = !_tmp2_; +#line 2330 "misc.c" + } else { +#line 298 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = FALSE; +#line 2334 "misc.c" + } +#line 298 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp0_) { +#line 299 "/home/jens/Source/shotwell/src/util/misc.vala" + return; +#line 2340 "misc.c" + } +#line 301 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = self->priv->scheduled; +#line 301 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp3_ != ((guint) 0)) { +#line 2346 "misc.c" + guint _tmp4_ = 0U; +#line 302 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = self->priv->scheduled; +#line 302 "/home/jens/Source/shotwell/src/util/misc.vala" + g_source_remove (_tmp4_); +#line 2352 "misc.c" + } +#line 304 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = priority; +#line 304 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = msec; +#line 304 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = g_timeout_add_full (_tmp5_, _tmp6_, _one_shot_scheduler_callback_wrapper_gsource_func, one_shot_scheduler_ref (self), one_shot_scheduler_unref); +#line 304 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->scheduled = _tmp7_; +#line 2362 "misc.c" +} + + +void one_shot_scheduler_cancel (OneShotScheduler* self) { + guint _tmp0_ = 0U; + guint _tmp1_ = 0U; +#line 307 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (IS_ONE_SHOT_SCHEDULER (self)); +#line 308 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = self->priv->scheduled; +#line 308 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp0_ == ((guint) 0)) { +#line 309 "/home/jens/Source/shotwell/src/util/misc.vala" + return; +#line 2377 "misc.c" + } +#line 311 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = self->priv->scheduled; +#line 311 "/home/jens/Source/shotwell/src/util/misc.vala" + g_source_remove (_tmp1_); +#line 312 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->scheduled = (guint) 0; +#line 2385 "misc.c" +} + + +static gboolean one_shot_scheduler_callback_wrapper (OneShotScheduler* self) { + gboolean result = FALSE; + OneShotCallback _tmp0_ = NULL; + void* _tmp0__target = NULL; +#line 315 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (IS_ONE_SHOT_SCHEDULER (self), FALSE); +#line 316 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->scheduled = (guint) 0; +#line 317 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = self->priv->callback; +#line 317 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0__target = self->priv->callback_target; +#line 317 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ (_tmp0__target); +#line 319 "/home/jens/Source/shotwell/src/util/misc.vala" + result = FALSE; +#line 319 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 2407 "misc.c" +} + + +static void value_one_shot_scheduler_init (GValue* value) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = NULL; +#line 2414 "misc.c" +} + + +static void value_one_shot_scheduler_free_value (GValue* value) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (value->data[0].v_pointer) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + one_shot_scheduler_unref (value->data[0].v_pointer); +#line 2423 "misc.c" + } +} + + +static void value_one_shot_scheduler_copy_value (const GValue* src_value, GValue* dest_value) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (src_value->data[0].v_pointer) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + dest_value->data[0].v_pointer = one_shot_scheduler_ref (src_value->data[0].v_pointer); +#line 2433 "misc.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + dest_value->data[0].v_pointer = NULL; +#line 2437 "misc.c" + } +} + + +static gpointer value_one_shot_scheduler_peek_pointer (const GValue* value) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return value->data[0].v_pointer; +#line 2445 "misc.c" +} + + +static gchar* value_one_shot_scheduler_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (collect_values[0].v_pointer) { +#line 2452 "misc.c" + OneShotScheduler* object; + object = collect_values[0].v_pointer; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (object->parent_instance.g_class == NULL) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2459 "misc.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2463 "misc.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = one_shot_scheduler_ref (object); +#line 2467 "misc.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = NULL; +#line 2471 "misc.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return NULL; +#line 2475 "misc.c" +} + + +static gchar* value_one_shot_scheduler_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + OneShotScheduler** object_p; + object_p = collect_values[0].v_pointer; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!object_p) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2486 "misc.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!value->data[0].v_pointer) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + *object_p = NULL; +#line 2492 "misc.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + *object_p = value->data[0].v_pointer; +#line 2496 "misc.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + *object_p = one_shot_scheduler_ref (value->data[0].v_pointer); +#line 2500 "misc.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return NULL; +#line 2504 "misc.c" +} + + +GParamSpec* param_spec_one_shot_scheduler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecOneShotScheduler* spec; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_ONE_SHOT_SCHEDULER), NULL); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return G_PARAM_SPEC (spec); +#line 2518 "misc.c" +} + + +gpointer value_get_one_shot_scheduler (const GValue* value) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ONE_SHOT_SCHEDULER), NULL); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return value->data[0].v_pointer; +#line 2527 "misc.c" +} + + +void value_set_one_shot_scheduler (GValue* value, gpointer v_object) { + OneShotScheduler* old; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ONE_SHOT_SCHEDULER)); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + old = value->data[0].v_pointer; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (v_object) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_ONE_SHOT_SCHEDULER)); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = v_object; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + one_shot_scheduler_ref (value->data[0].v_pointer); +#line 2547 "misc.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = NULL; +#line 2551 "misc.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (old) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + one_shot_scheduler_unref (old); +#line 2557 "misc.c" + } +} + + +void value_take_one_shot_scheduler (GValue* value, gpointer v_object) { + OneShotScheduler* old; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_ONE_SHOT_SCHEDULER)); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + old = value->data[0].v_pointer; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (v_object) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_ONE_SHOT_SCHEDULER)); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = v_object; +#line 2576 "misc.c" + } else { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = NULL; +#line 2580 "misc.c" + } +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (old) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + one_shot_scheduler_unref (old); +#line 2586 "misc.c" + } +} + + +static void one_shot_scheduler_class_init (OneShotSchedulerClass * klass) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + one_shot_scheduler_parent_class = g_type_class_peek_parent (klass); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + ((OneShotSchedulerClass *) klass)->finalize = one_shot_scheduler_finalize; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_type_class_add_private (klass, sizeof (OneShotSchedulerPrivate)); +#line 2598 "misc.c" +} + + +static void one_shot_scheduler_instance_init (OneShotScheduler * self) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv = ONE_SHOT_SCHEDULER_GET_PRIVATE (self); +#line 265 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->scheduled = (guint) 0; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + self->ref_count = 1; +#line 2609 "misc.c" +} + + +static void one_shot_scheduler_finalize (OneShotScheduler* obj) { + OneShotScheduler * self; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ONE_SHOT_SCHEDULER, OneShotScheduler); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_signal_handlers_destroy (self); +#line 277 "/home/jens/Source/shotwell/src/util/misc.vala" + one_shot_scheduler_cancel (self); +#line 263 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (self->priv->name); +#line 2623 "misc.c" +} + + +GType one_shot_scheduler_get_type (void) { + static volatile gsize one_shot_scheduler_type_id__volatile = 0; + if (g_once_init_enter (&one_shot_scheduler_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_one_shot_scheduler_init, value_one_shot_scheduler_free_value, value_one_shot_scheduler_copy_value, value_one_shot_scheduler_peek_pointer, "p", value_one_shot_scheduler_collect_value, "p", value_one_shot_scheduler_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (OneShotSchedulerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) one_shot_scheduler_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OneShotScheduler), 0, (GInstanceInitFunc) one_shot_scheduler_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType one_shot_scheduler_type_id; + one_shot_scheduler_type_id = g_type_register_fundamental (g_type_fundamental_next (), "OneShotScheduler", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&one_shot_scheduler_type_id__volatile, one_shot_scheduler_type_id); + } + return one_shot_scheduler_type_id__volatile; +} + + +gpointer one_shot_scheduler_ref (gpointer instance) { + OneShotScheduler* self; + self = instance; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_atomic_int_inc (&self->ref_count); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + return instance; +#line 2648 "misc.c" +} + + +void one_shot_scheduler_unref (gpointer instance) { + OneShotScheduler* self; + self = instance; +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + ONE_SHOT_SCHEDULER_GET_CLASS (self)->finalize (self); +#line 262 "/home/jens/Source/shotwell/src/util/misc.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 2661 "misc.c" + } +} + + +OpTimer* op_timer_construct (GType object_type, const gchar* name) { + OpTimer* self = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; +#line 331 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (name != NULL, NULL); +#line 331 "/home/jens/Source/shotwell/src/util/misc.vala" + self = (OpTimer*) g_type_create_instance (object_type); +#line 332 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = name; +#line 332 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = g_strdup (_tmp0_); +#line 332 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (self->priv->name); +#line 332 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->name = _tmp1_; +#line 331 "/home/jens/Source/shotwell/src/util/misc.vala" + return self; +#line 2684 "misc.c" +} + + +OpTimer* op_timer_new (const gchar* name) { +#line 331 "/home/jens/Source/shotwell/src/util/misc.vala" + return op_timer_construct (TYPE_OP_TIMER, name); +#line 2691 "misc.c" +} + + +void op_timer_start (OpTimer* self) { + GTimer* _tmp0_ = NULL; +#line 335 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (IS_OP_TIMER (self)); +#line 336 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = self->priv->timer; +#line 336 "/home/jens/Source/shotwell/src/util/misc.vala" + g_timer_start (_tmp0_); +#line 2703 "misc.c" +} + + +void op_timer_stop (OpTimer* self) { + gdouble time = 0.0; + GTimer* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + gdouble _tmp2_ = 0.0; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + gdouble _tmp7_ = 0.0; + gdouble _tmp8_ = 0.0; + glong _tmp10_ = 0L; +#line 339 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (IS_OP_TIMER (self)); +#line 340 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = self->priv->timer; +#line 340 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = g_timer_elapsed (_tmp0_, NULL); +#line 340 "/home/jens/Source/shotwell/src/util/misc.vala" + time = _tmp1_; +#line 342 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = self->priv->elapsed; +#line 342 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = time; +#line 342 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->elapsed = _tmp2_ + _tmp3_; +#line 344 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = time; +#line 344 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = self->priv->shortest; +#line 344 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp4_ < _tmp5_) { +#line 2738 "misc.c" + gdouble _tmp6_ = 0.0; +#line 345 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = time; +#line 345 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->shortest = _tmp6_; +#line 2744 "misc.c" + } +#line 347 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = time; +#line 347 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = self->priv->longest; +#line 347 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp7_ > _tmp8_) { +#line 2752 "misc.c" + gdouble _tmp9_ = 0.0; +#line 348 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = time; +#line 348 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->longest = _tmp9_; +#line 2758 "misc.c" + } +#line 350 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = self->priv->count; +#line 350 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->count = _tmp10_ + 1; +#line 2764 "misc.c" +} + + +gchar* op_timer_to_string (OpTimer* self) { + gchar* result = NULL; + glong _tmp0_ = 0L; +#line 353 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (IS_OP_TIMER (self), NULL); +#line 354 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = self->priv->count; +#line 354 "/home/jens/Source/shotwell/src/util/misc.vala" + if (_tmp0_ > ((glong) 0)) { +#line 2777 "misc.c" + const gchar* _tmp1_ = NULL; + glong _tmp2_ = 0L; + gdouble _tmp3_ = 0.0; + gdouble _tmp4_ = 0.0; + gdouble _tmp5_ = 0.0; + glong _tmp6_ = 0L; + gdouble _tmp7_ = 0.0; + gchar* _tmp8_ = NULL; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = self->priv->name; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = self->priv->count; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = self->priv->elapsed; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = self->priv->shortest; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp5_ = self->priv->elapsed; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp6_ = self->priv->count; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp7_ = self->priv->longest; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp8_ = g_strdup_printf ("%s: count=%ld elapsed=%.03lfs min/avg/max=%.03lf/%.03lf/%.03lf", _tmp1_, _tmp2_, _tmp3_, _tmp4_, _tmp5_ / ((gdouble) _tmp6_), _tmp7_); +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp8_; +#line 355 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 2806 "misc.c" + } else { + const gchar* _tmp9_ = NULL; + gchar* _tmp10_ = NULL; +#line 358 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp9_ = self->priv->name; +#line 358 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp10_ = g_strdup_printf ("%s: no operations", _tmp9_); +#line 358 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp10_; +#line 358 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 2818 "misc.c" + } +} + + +static void value_op_timer_init (GValue* value) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = NULL; +#line 2826 "misc.c" +} + + +static void value_op_timer_free_value (GValue* value) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (value->data[0].v_pointer) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + op_timer_unref (value->data[0].v_pointer); +#line 2835 "misc.c" + } +} + + +static void value_op_timer_copy_value (const GValue* src_value, GValue* dest_value) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (src_value->data[0].v_pointer) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + dest_value->data[0].v_pointer = op_timer_ref (src_value->data[0].v_pointer); +#line 2845 "misc.c" + } else { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + dest_value->data[0].v_pointer = NULL; +#line 2849 "misc.c" + } +} + + +static gpointer value_op_timer_peek_pointer (const GValue* value) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return value->data[0].v_pointer; +#line 2857 "misc.c" +} + + +static gchar* value_op_timer_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (collect_values[0].v_pointer) { +#line 2864 "misc.c" + OpTimer* object; + object = collect_values[0].v_pointer; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (object->parent_instance.g_class == NULL) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2871 "misc.c" + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); +#line 2875 "misc.c" + } +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = op_timer_ref (object); +#line 2879 "misc.c" + } else { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = NULL; +#line 2883 "misc.c" + } +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return NULL; +#line 2887 "misc.c" +} + + +static gchar* value_op_timer_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + OpTimer** object_p; + object_p = collect_values[0].v_pointer; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!object_p) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); +#line 2898 "misc.c" + } +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (!value->data[0].v_pointer) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + *object_p = NULL; +#line 2904 "misc.c" + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + *object_p = value->data[0].v_pointer; +#line 2908 "misc.c" + } else { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + *object_p = op_timer_ref (value->data[0].v_pointer); +#line 2912 "misc.c" + } +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return NULL; +#line 2916 "misc.c" +} + + +GParamSpec* param_spec_op_timer (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecOpTimer* spec; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (g_type_is_a (object_type, TYPE_OP_TIMER), NULL); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + G_PARAM_SPEC (spec)->value_type = object_type; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return G_PARAM_SPEC (spec); +#line 2930 "misc.c" +} + + +gpointer value_get_op_timer (const GValue* value) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_OP_TIMER), NULL); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return value->data[0].v_pointer; +#line 2939 "misc.c" +} + + +void value_set_op_timer (GValue* value, gpointer v_object) { + OpTimer* old; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_OP_TIMER)); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + old = value->data[0].v_pointer; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (v_object) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_OP_TIMER)); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = v_object; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + op_timer_ref (value->data[0].v_pointer); +#line 2959 "misc.c" + } else { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = NULL; +#line 2963 "misc.c" + } +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (old) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + op_timer_unref (old); +#line 2969 "misc.c" + } +} + + +void value_take_op_timer (GValue* value, gpointer v_object) { + OpTimer* old; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_OP_TIMER)); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + old = value->data[0].v_pointer; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (v_object) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_OP_TIMER)); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = v_object; +#line 2988 "misc.c" + } else { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + value->data[0].v_pointer = NULL; +#line 2992 "misc.c" + } +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (old) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + op_timer_unref (old); +#line 2998 "misc.c" + } +} + + +static void op_timer_class_init (OpTimerClass * klass) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + op_timer_parent_class = g_type_class_peek_parent (klass); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + ((OpTimerClass *) klass)->finalize = op_timer_finalize; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_type_class_add_private (klass, sizeof (OpTimerPrivate)); +#line 3010 "misc.c" +} + + +static void op_timer_instance_init (OpTimer * self) { + GTimer* _tmp0_ = NULL; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv = OP_TIMER_GET_PRIVATE (self); +#line 325 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp0_ = g_timer_new (); +#line 325 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->timer = _tmp0_; +#line 326 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->count = (glong) 0; +#line 327 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->elapsed = (gdouble) 0; +#line 328 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->shortest = DBL_MAX; +#line 329 "/home/jens/Source/shotwell/src/util/misc.vala" + self->priv->longest = DBL_MIN; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + self->ref_count = 1; +#line 3032 "misc.c" +} + + +static void op_timer_finalize (OpTimer* obj) { + OpTimer * self; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_OP_TIMER, OpTimer); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_signal_handlers_destroy (self); +#line 324 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (self->priv->name); +#line 325 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_timer_destroy0 (self->priv->timer); +#line 3046 "misc.c" +} + + +GType op_timer_get_type (void) { + static volatile gsize op_timer_type_id__volatile = 0; + if (g_once_init_enter (&op_timer_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_op_timer_init, value_op_timer_free_value, value_op_timer_copy_value, value_op_timer_peek_pointer, "p", value_op_timer_collect_value, "p", value_op_timer_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (OpTimerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) op_timer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (OpTimer), 0, (GInstanceInitFunc) op_timer_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType op_timer_type_id; + op_timer_type_id = g_type_register_fundamental (g_type_fundamental_next (), "OpTimer", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&op_timer_type_id__volatile, op_timer_type_id); + } + return op_timer_type_id__volatile; +} + + +gpointer op_timer_ref (gpointer instance) { + OpTimer* self; + self = instance; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_atomic_int_inc (&self->ref_count); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + return instance; +#line 3071 "misc.c" +} + + +void op_timer_unref (gpointer instance) { + OpTimer* self; + self = instance; +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + if (g_atomic_int_dec_and_test (&self->ref_count)) { +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + OP_TIMER_GET_CLASS (self)->finalize (self); +#line 323 "/home/jens/Source/shotwell/src/util/misc.vala" + g_type_free_instance ((GTypeInstance *) self); +#line 3084 "misc.c" + } +} + + +void suppress_warnings (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message) { +#line 369 "/home/jens/Source/shotwell/src/util/misc.vala" + g_return_if_fail (message != NULL); +#line 3092 "misc.c" +} + + +static void g_time_local (time_t time, struct tm* result) { + struct tm _result_ = {0}; + struct tm _tmp0_ = {0}; +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + localtime_r (&time, &_tmp0_); +#line 2701 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *result = _result_; +#line 2702 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return; +#line 3107 "misc.c" +} + + +gboolean is_twentyfour_hr_time_system (void) { + gboolean result = FALSE; + struct tm _tmp0_ = {0}; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; + gboolean _tmp4_ = FALSE; +#line 375 "/home/jens/Source/shotwell/src/util/misc.vala" + g_time_local ((time_t) 0, &_tmp0_); +#line 375 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp1_ = g_time_format (&_tmp0_, "%p"); +#line 375 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp2_ = _tmp1_; +#line 375 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 375 "/home/jens/Source/shotwell/src/util/misc.vala" + _tmp4_ = _tmp3_; +#line 375 "/home/jens/Source/shotwell/src/util/misc.vala" + _g_free0 (_tmp2_); +#line 375 "/home/jens/Source/shotwell/src/util/misc.vala" + result = _tmp4_; +#line 375 "/home/jens/Source/shotwell/src/util/misc.vala" + return result; +#line 3134 "misc.c" +} + + + diff --git a/src/util/mk/util.mk b/src/util/mk/util.mk deleted file mode 100644 index 86a8bd5..0000000 --- a/src/util/mk/util.mk +++ /dev/null @@ -1,34 +0,0 @@ - -# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with -# a init() and terminate() function declared in the namespace. -UNIT_NAME := Util - -# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all -# lowercase. The name of this file should be UNIT_DIR.mk. -UNIT_DIR := util - -# All Vala files in the unit should be listed here with no subdirectory prefix. -# -# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala. -UNIT_FILES := \ - file.vala \ - image.vala \ - misc.vala \ - string.vala \ - system.vala \ - KeyValueMap.vala \ - ui.vala - -# Any unit this unit relies upon (and should be initialized before it's initialized) should -# be listed here using its Vala namespace. -# -# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here. -UNIT_USES := - -# List any additional files that are used in the build process as a part of this unit that should -# be packaged in the tarball. File names should be relative to the unit's home directory. -UNIT_RC := - -# unitize.mk must be called at the end of each UNIT_DIR.mk file. -include unitize.mk - diff --git a/src/util/string.c b/src/util/string.c new file mode 100644 index 0000000..4cfeedd --- /dev/null +++ b/src/util/string.c @@ -0,0 +1,2016 @@ +/* string.c generated by valac 0.32.1, the Vala compiler + * generated from string.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL))) + +#define TYPE_PREPARE_INPUT_TEXT_OPTIONS (prepare_input_text_options_get_type ()) + +typedef enum { + PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL = 1 << 0, + PREPARE_INPUT_TEXT_OPTIONS_VALIDATE = 1 << 1, + PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL = 1 << 2, + PREPARE_INPUT_TEXT_OPTIONS_STRIP = 1 << 3, + PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF = 1 << 4, + PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE = 1 << 5, + PREPARE_INPUT_TEXT_OPTIONS_DEFAULT = ((((PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL | PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) | PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) | PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) | PREPARE_INPUT_TEXT_OPTIONS_STRIP) | PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE +} PrepareInputTextOptions; + + + +gint64 g_ascii_strtoll (const gchar* str, gchar** endptr, guint num_base); +#define DEFAULT_USER_TEXT_INPUT_LENGTH 1024 +gboolean is_string_empty (const gchar* s); +gint utf8_cs_compare (void* a, void* b); +gint utf8_ci_compare (void* a, void* b); +gchar* uchar_array_to_string (guchar* data, int data_length1, gint length); +guchar* string_to_uchar_array (const gchar* str, int* result_length1); +static void _vala_array_add1 (guchar** array, int* length, int* size, guchar value); +gchar* guarded_markup_escape_text (const gchar* plain); +glong find_last_offset (const gchar* str, gchar c); +gboolean is_in_ci_array (const gchar* str, gchar** strings, int strings_length1); +GType prepare_input_text_options_get_type (void) G_GNUC_CONST; +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length); +gint64 parse_int64 (const gchar* str, gint num_base); +gboolean string_contains_char (const gchar* haystack, gunichar needle); +gboolean string_contains_str (const gchar* haystack, const gchar* needle); +gchar* string_sliced_at (const gchar* str, gint index); +gchar* string_sliced_at_first_str (const gchar* haystack, const gchar* needle, gint start_index); +gchar* string_sliced_at_last_str (const gchar* haystack, const gchar* needle, gint start_index); +gchar* string_sliced_at_first_char (const gchar* haystack, gunichar ch, gint start_index); +gchar* string_sliced_at_last_char (const gchar* haystack, gunichar ch, gint start_index); +gchar* string_strip_leading_zeroes (const gchar* str); +gchar* string_remove_diacritics (const gchar* istring); +gchar* string_to_hex_string (const gchar* str); +guint string_collated_hash (void* ptr); +guint string_precollated_hash (void* ptr); +gint string_collated_compare (void* a, void* b); +gint string_precollated_compare (const gchar* astr, const gchar* akey, const gchar* bstr, const gchar* bkey); +gboolean string_collated_equals (void* a, void* b); +gboolean string_precollated_equals (const gchar* astr, const gchar* akey, const gchar* bstr, const gchar* bkey); + + +static gchar string_get (const gchar* self, glong index) { + gchar result = '\0'; + glong _tmp0_ = 0L; + gchar _tmp1_ = '\0'; +#line 1086 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, '\0'); +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = ((gchar*) self)[_tmp0_]; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1087 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 79 "string.c" +} + + +inline gboolean is_string_empty (const gchar* s) { + gboolean result = FALSE; + gboolean _tmp0_ = FALSE; + const gchar* _tmp1_ = NULL; +#line 12 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = s; +#line 12 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp1_ == NULL) { +#line 12 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = TRUE; +#line 93 "string.c" + } else { + const gchar* _tmp2_ = NULL; + gchar _tmp3_ = '\0'; +#line 12 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = s; +#line 12 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = string_get (_tmp2_, (glong) 0); +#line 12 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = _tmp3_ == '\0'; +#line 103 "string.c" + } +#line 12 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp0_; +#line 12 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 109 "string.c" +} + + +gint utf8_cs_compare (void* a, void* b) { + gint result = 0; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 17 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = a; +#line 17 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = b; +#line 17 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = g_utf8_collate ((const gchar*) _tmp0_, (const gchar*) _tmp1_); +#line 17 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp2_; +#line 17 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 128 "string.c" +} + + +gint utf8_ci_compare (void* a, void* b) { + gint result = 0; + void* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + void* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = a; +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = g_utf8_strdown ((const gchar*) _tmp0_, (gssize) -1); +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = _tmp1_; +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = b; +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = g_utf8_strdown ((const gchar*) _tmp3_, (gssize) -1); +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = _tmp4_; +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = g_utf8_collate (_tmp2_, _tmp5_); +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = _tmp6_; +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (_tmp5_); +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (_tmp2_); +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp7_; +#line 22 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 166 "string.c" +} + + +gchar* uchar_array_to_string (guchar* data, int data_length1, gint length) { + gchar* result = NULL; + gint _tmp0_ = 0; + GString* builder = NULL; + GString* _tmp2_ = NULL; + GString* _tmp14_ = NULL; + const gchar* _tmp15_ = NULL; + gchar* _tmp16_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = length; +#line 27 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp0_ < 0) { +#line 182 "string.c" + guchar* _tmp1_ = NULL; + gint _tmp1__length1 = 0; +#line 28 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = data; +#line 28 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1__length1 = data_length1; +#line 28 "/home/jens/Source/shotwell/src/util/string.vala" + length = _tmp1__length1; +#line 191 "string.c" + } +#line 30 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = g_string_new (""); +#line 30 "/home/jens/Source/shotwell/src/util/string.vala" + builder = _tmp2_; +#line 197 "string.c" + { + gint ctr = 0; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + ctr = 0; +#line 202 "string.c" + { + gboolean _tmp3_ = FALSE; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = TRUE; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + while (TRUE) { +#line 209 "string.c" + gint _tmp5_ = 0; + gint _tmp6_ = 0; + guchar* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + gint _tmp8_ = 0; + guchar _tmp9_ = '\0'; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + if (!_tmp3_) { +#line 218 "string.c" + gint _tmp4_ = 0; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = ctr; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + ctr = _tmp4_ + 1; +#line 224 "string.c" + } +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = FALSE; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = ctr; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = length; +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + if (!(_tmp5_ < _tmp6_)) { +#line 31 "/home/jens/Source/shotwell/src/util/string.vala" + break; +#line 236 "string.c" + } +#line 32 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = data; +#line 32 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7__length1 = data_length1; +#line 32 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = ctr; +#line 32 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = _tmp7_[_tmp8_]; +#line 32 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp9_ != ((guchar) '\0')) { +#line 248 "string.c" + GString* _tmp10_ = NULL; + guchar* _tmp11_ = NULL; + gint _tmp11__length1 = 0; + gint _tmp12_ = 0; + guchar _tmp13_ = '\0'; +#line 33 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp10_ = builder; +#line 33 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp11_ = data; +#line 33 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp11__length1 = data_length1; +#line 33 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp12_ = ctr; +#line 33 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp13_ = _tmp11_[_tmp12_]; +#line 33 "/home/jens/Source/shotwell/src/util/string.vala" + g_string_append_c (_tmp10_, (gchar) _tmp13_); +#line 266 "string.c" + } else { +#line 35 "/home/jens/Source/shotwell/src/util/string.vala" + break; +#line 270 "string.c" + } + } + } + } +#line 38 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp14_ = builder; +#line 38 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp15_ = _tmp14_->str; +#line 38 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp16_ = g_strdup (_tmp15_); +#line 38 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp16_; +#line 38 "/home/jens/Source/shotwell/src/util/string.vala" + _g_string_free0 (builder); +#line 38 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 287 "string.c" +} + + +static void _vala_array_add1 (guchar** array, int* length, int* size, guchar value) { +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + if ((*length) == (*size)) { +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + *size = (*size) ? (2 * (*size)) : 4; +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + *array = g_renew (guchar, *array, *size); +#line 298 "string.c" + } +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + (*array)[(*length)++] = value; +#line 302 "string.c" +} + + +guchar* string_to_uchar_array (const gchar* str, int* result_length1) { + guchar* result = NULL; + guchar* data = NULL; + guchar* _tmp0_ = NULL; + gint data_length1 = 0; + gint _data_size_ = 0; + guchar* _tmp11_ = NULL; + gint _tmp11__length1 = 0; +#line 42 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (str != NULL, NULL); +#line 43 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = g_new0 (guchar, 0); +#line 43 "/home/jens/Source/shotwell/src/util/string.vala" + data = _tmp0_; +#line 43 "/home/jens/Source/shotwell/src/util/string.vala" + data_length1 = 0; +#line 43 "/home/jens/Source/shotwell/src/util/string.vala" + _data_size_ = data_length1; +#line 324 "string.c" + { + gint ctr = 0; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + ctr = 0; +#line 329 "string.c" + { + gboolean _tmp1_ = FALSE; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = TRUE; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + while (TRUE) { +#line 336 "string.c" + gint _tmp3_ = 0; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + guchar* _tmp7_ = NULL; + gint _tmp7__length1 = 0; + const gchar* _tmp8_ = NULL; + gint _tmp9_ = 0; + gchar _tmp10_ = '\0'; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + if (!_tmp1_) { +#line 348 "string.c" + gint _tmp2_ = 0; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = ctr; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + ctr = _tmp2_ + 1; +#line 354 "string.c" + } +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = FALSE; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = ctr; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = str; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = strlen (_tmp4_); +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = _tmp5_; +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + if (!(_tmp3_ < _tmp6_)) { +#line 44 "/home/jens/Source/shotwell/src/util/string.vala" + break; +#line 370 "string.c" + } +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = data; +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7__length1 = data_length1; +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = str; +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = ctr; +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp10_ = string_get (_tmp8_, (glong) _tmp9_); +#line 45 "/home/jens/Source/shotwell/src/util/string.vala" + _vala_array_add1 (&data, &data_length1, &_data_size_, (guchar) _tmp10_); +#line 384 "string.c" + } + } + } +#line 47 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp11_ = data; +#line 47 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp11__length1 = data_length1; +#line 47 "/home/jens/Source/shotwell/src/util/string.vala" + if (result_length1) { +#line 47 "/home/jens/Source/shotwell/src/util/string.vala" + *result_length1 = _tmp11__length1; +#line 396 "string.c" + } +#line 47 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp11_; +#line 47 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 402 "string.c" +} + + +inline gchar* guarded_markup_escape_text (const gchar* plain) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + const gchar* _tmp2_ = NULL; + gboolean _tmp3_ = FALSE; +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = plain; +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = is_string_empty (_tmp2_); +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + if (!_tmp3_) { +#line 418 "string.c" + const gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = plain; +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = g_utf8_validate (_tmp4_, (gssize) -1, NULL); +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = _tmp5_; +#line 427 "string.c" + } else { +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = FALSE; +#line 431 "string.c" + } +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp1_) { +#line 435 "string.c" + const gchar* _tmp6_ = NULL; + gchar* _tmp7_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = plain; +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = g_markup_escape_text (_tmp6_, (gssize) -1); +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (_tmp0_); +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = _tmp7_; +#line 446 "string.c" + } else { + gchar* _tmp8_ = NULL; +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = g_strdup (""); +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (_tmp0_); +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = _tmp8_; +#line 455 "string.c" + } +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp0_; +#line 58 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 461 "string.c" +} + + +glong find_last_offset (const gchar* str, gchar c) { + glong result = 0L; + glong offset = 0L; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint _tmp2_ = 0; +#line 61 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (str != NULL, 0L); +#line 62 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = str; +#line 62 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = strlen (_tmp0_); +#line 62 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = _tmp1_; +#line 62 "/home/jens/Source/shotwell/src/util/string.vala" + offset = (glong) _tmp2_; +#line 63 "/home/jens/Source/shotwell/src/util/string.vala" + while (TRUE) { +#line 483 "string.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; + const gchar* _tmp5_ = NULL; + glong _tmp6_ = 0L; + gchar _tmp7_ = '\0'; + gchar _tmp8_ = '\0'; +#line 63 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = offset; +#line 63 "/home/jens/Source/shotwell/src/util/string.vala" + offset = _tmp3_ - 1; +#line 63 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = offset; +#line 63 "/home/jens/Source/shotwell/src/util/string.vala" + if (!(_tmp4_ >= ((glong) 0))) { +#line 63 "/home/jens/Source/shotwell/src/util/string.vala" + break; +#line 500 "string.c" + } +#line 64 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = str; +#line 64 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = offset; +#line 64 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = string_get (_tmp5_, _tmp6_); +#line 64 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = c; +#line 64 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp7_ == _tmp8_) { +#line 65 "/home/jens/Source/shotwell/src/util/string.vala" + result = offset; +#line 65 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 516 "string.c" + } + } +#line 68 "/home/jens/Source/shotwell/src/util/string.vala" + result = (glong) -1; +#line 68 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 523 "string.c" +} + + +gboolean is_in_ci_array (const gchar* str, gchar** strings, int strings_length1) { + gboolean result = FALSE; + gchar* strdown = NULL; + const gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar** _tmp2_ = NULL; + gint _tmp2__length1 = 0; +#line 73 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (str != NULL, FALSE); +#line 74 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = str; +#line 74 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = g_utf8_strdown (_tmp0_, (gssize) -1); +#line 74 "/home/jens/Source/shotwell/src/util/string.vala" + strdown = _tmp1_; +#line 75 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = strings; +#line 75 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2__length1 = strings_length1; +#line 546 "string.c" + { + gchar** str_element_collection = NULL; + gint str_element_collection_length1 = 0; + gint _str_element_collection_size_ = 0; + gint str_element_it = 0; +#line 75 "/home/jens/Source/shotwell/src/util/string.vala" + str_element_collection = _tmp2_; +#line 75 "/home/jens/Source/shotwell/src/util/string.vala" + str_element_collection_length1 = _tmp2__length1; +#line 75 "/home/jens/Source/shotwell/src/util/string.vala" + for (str_element_it = 0; str_element_it < _tmp2__length1; str_element_it = str_element_it + 1) { +#line 558 "string.c" + gchar* _tmp3_ = NULL; + gchar* str_element = NULL; +#line 75 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = g_strdup (str_element_collection[str_element_it]); +#line 75 "/home/jens/Source/shotwell/src/util/string.vala" + str_element = _tmp3_; +#line 565 "string.c" + { + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; +#line 76 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = strdown; +#line 76 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = str_element; +#line 76 "/home/jens/Source/shotwell/src/util/string.vala" + if (g_strcmp0 (_tmp4_, _tmp5_) == 0) { +#line 77 "/home/jens/Source/shotwell/src/util/string.vala" + result = TRUE; +#line 77 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (str_element); +#line 77 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (strdown); +#line 77 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 583 "string.c" + } +#line 75 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (str_element); +#line 587 "string.c" + } + } + } +#line 80 "/home/jens/Source/shotwell/src/util/string.vala" + result = FALSE; +#line 80 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (strdown); +#line 80 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 597 "string.c" +} + + +GType prepare_input_text_options_get_type (void) { + static volatile gsize prepare_input_text_options_type_id__volatile = 0; + if (g_once_init_enter (&prepare_input_text_options_type_id__volatile)) { + static const GFlagsValue values[] = {{PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL, "PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL", "empty-is-null"}, {PREPARE_INPUT_TEXT_OPTIONS_VALIDATE, "PREPARE_INPUT_TEXT_OPTIONS_VALIDATE", "validate"}, {PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL, "PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL", "invalid-is-null"}, {PREPARE_INPUT_TEXT_OPTIONS_STRIP, "PREPARE_INPUT_TEXT_OPTIONS_STRIP", "strip"}, {PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF, "PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF", "strip-crlf"}, {PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE, "PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE", "normalize"}, {PREPARE_INPUT_TEXT_OPTIONS_DEFAULT, "PREPARE_INPUT_TEXT_OPTIONS_DEFAULT", "default"}, {0, NULL, NULL}}; + GType prepare_input_text_options_type_id; + prepare_input_text_options_type_id = g_flags_register_static ("PrepareInputTextOptions", values); + g_once_init_leave (&prepare_input_text_options_type_id__volatile, prepare_input_text_options_type_id); + } + return prepare_input_text_options_type_id__volatile; +} + + +static gchar* string_strip (const gchar* self) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; +#line 1207 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1208 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1209 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strstrip (_tmp1_); +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1210 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 632 "string.c" +} + + +static gchar* string_delimit (const gchar* self, const gchar* delimiters, gchar new_delimiter) { + gchar* result = NULL; + gchar* _result_ = NULL; + gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gchar _tmp3_ = '\0'; +#line 1215 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1215 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (delimiters != NULL, NULL); +#line 1216 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = g_strdup (self); +#line 1216 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp0_; +#line 1217 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _result_; +#line 1217 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = delimiters; +#line 1217 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = new_delimiter; +#line 1217 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_strdelimit (_tmp1_, _tmp2_, _tmp3_); +#line 1218 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _result_; +#line 1218 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 663 "string.c" +} + + +gchar* prepare_input_text (const gchar* text, PrepareInputTextOptions options, gint dest_length) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + gboolean _tmp1_ = FALSE; + PrepareInputTextOptions _tmp2_ = 0; + gchar* prepped = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; + PrepareInputTextOptions _tmp10_ = 0; + PrepareInputTextOptions _tmp13_ = 0; + PrepareInputTextOptions _tmp16_ = 0; + gboolean _tmp19_ = FALSE; + PrepareInputTextOptions _tmp20_ = 0; + gint _tmp23_ = 0; +#line 95 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = text; +#line 95 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp0_ == NULL) { +#line 96 "/home/jens/Source/shotwell/src/util/string.vala" + result = NULL; +#line 96 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 689 "string.c" + } +#line 98 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = options; +#line 98 "/home/jens/Source/shotwell/src/util/string.vala" + if ((_tmp2_ & PREPARE_INPUT_TEXT_OPTIONS_VALIDATE) != 0) { +#line 695 "string.c" + const gchar* _tmp3_ = NULL; + gboolean _tmp4_ = FALSE; +#line 98 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = text; +#line 98 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = g_utf8_validate (_tmp3_, (gssize) -1, NULL); +#line 98 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = !_tmp4_; +#line 704 "string.c" + } else { +#line 98 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = FALSE; +#line 708 "string.c" + } +#line 98 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp1_) { +#line 712 "string.c" + const gchar* _tmp5_ = NULL; + PrepareInputTextOptions _tmp6_ = 0; + gchar* _tmp7_ = NULL; +#line 99 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = options; +#line 99 "/home/jens/Source/shotwell/src/util/string.vala" + if ((_tmp6_ & PREPARE_INPUT_TEXT_OPTIONS_INVALID_IS_NULL) != 0) { +#line 99 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = NULL; +#line 722 "string.c" + } else { +#line 99 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = ""; +#line 726 "string.c" + } +#line 99 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = g_strdup (_tmp5_); +#line 99 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp7_; +#line 99 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 734 "string.c" + } +#line 101 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = text; +#line 101 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 101 "/home/jens/Source/shotwell/src/util/string.vala" + prepped = _tmp9_; +#line 107 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp10_ = options; +#line 107 "/home/jens/Source/shotwell/src/util/string.vala" + if ((_tmp10_ & PREPARE_INPUT_TEXT_OPTIONS_NORMALIZE) != 0) { +#line 746 "string.c" + const gchar* _tmp11_ = NULL; + gchar* _tmp12_ = NULL; +#line 108 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp11_ = prepped; +#line 108 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp12_ = g_utf8_normalize (_tmp11_, (gssize) -1, G_NORMALIZE_NFC); +#line 108 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (prepped); +#line 108 "/home/jens/Source/shotwell/src/util/string.vala" + prepped = _tmp12_; +#line 757 "string.c" + } +#line 110 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp13_ = options; +#line 110 "/home/jens/Source/shotwell/src/util/string.vala" + if ((_tmp13_ & PREPARE_INPUT_TEXT_OPTIONS_STRIP) != 0) { +#line 763 "string.c" + const gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 111 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp14_ = prepped; +#line 111 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp15_ = string_strip (_tmp14_); +#line 111 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (prepped); +#line 111 "/home/jens/Source/shotwell/src/util/string.vala" + prepped = _tmp15_; +#line 774 "string.c" + } +#line 115 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp16_ = options; +#line 115 "/home/jens/Source/shotwell/src/util/string.vala" + if ((_tmp16_ & PREPARE_INPUT_TEXT_OPTIONS_STRIP_CRLF) != 0) { +#line 780 "string.c" + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 116 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp17_ = prepped; +#line 116 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp18_ = string_delimit (_tmp17_, "\n\r", ' '); +#line 116 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (prepped); +#line 116 "/home/jens/Source/shotwell/src/util/string.vala" + prepped = _tmp18_; +#line 791 "string.c" + } +#line 118 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp20_ = options; +#line 118 "/home/jens/Source/shotwell/src/util/string.vala" + if ((_tmp20_ & PREPARE_INPUT_TEXT_OPTIONS_EMPTY_IS_NULL) != 0) { +#line 797 "string.c" + const gchar* _tmp21_ = NULL; + gboolean _tmp22_ = FALSE; +#line 118 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp21_ = prepped; +#line 118 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp22_ = is_string_empty (_tmp21_); +#line 118 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp19_ = _tmp22_; +#line 806 "string.c" + } else { +#line 118 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp19_ = FALSE; +#line 810 "string.c" + } +#line 118 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp19_) { +#line 119 "/home/jens/Source/shotwell/src/util/string.vala" + result = NULL; +#line 119 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (prepped); +#line 119 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 820 "string.c" + } +#line 124 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp23_ = dest_length; +#line 124 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp23_ >= 0) { +#line 826 "string.c" + GString* sb = NULL; + const gchar* _tmp24_ = NULL; + GString* _tmp25_ = NULL; + GString* _tmp26_ = NULL; + gint _tmp27_ = 0; + GString* _tmp28_ = NULL; + const gchar* _tmp29_ = NULL; + gchar* _tmp30_ = NULL; +#line 125 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp24_ = prepped; +#line 125 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp25_ = g_string_new (_tmp24_); +#line 125 "/home/jens/Source/shotwell/src/util/string.vala" + sb = _tmp25_; +#line 126 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp26_ = sb; +#line 126 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp27_ = dest_length; +#line 126 "/home/jens/Source/shotwell/src/util/string.vala" + g_string_truncate (_tmp26_, (gsize) _tmp27_); +#line 127 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp28_ = sb; +#line 127 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp29_ = _tmp28_->str; +#line 127 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp30_ = g_strdup (_tmp29_); +#line 127 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp30_; +#line 127 "/home/jens/Source/shotwell/src/util/string.vala" + _g_string_free0 (sb); +#line 127 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (prepped); +#line 127 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 861 "string.c" + } +#line 131 "/home/jens/Source/shotwell/src/util/string.vala" + result = prepped; +#line 131 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 867 "string.c" +} + + +gint64 parse_int64 (const gchar* str, gint num_base) { + gint64 result = 0LL; + const gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; + gint64 _tmp2_ = 0LL; +#line 134 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (str != NULL, 0LL); +#line 135 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = str; +#line 135 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = num_base; +#line 135 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = g_ascii_strtoll (_tmp0_, NULL, (guint) _tmp1_); +#line 135 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp2_; +#line 135 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 888 "string.c" +} + + +static gint string_index_of_char (const gchar* self, gunichar c, gint start_index) { + gint result = 0; + gchar* _result_ = NULL; + gint _tmp0_ = 0; + gunichar _tmp1_ = 0U; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1007 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 1008 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = start_index; +#line 1008 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = c; +#line 1008 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = g_utf8_strchr (((gchar*) self) + _tmp0_, (gssize) -1, _tmp1_); +#line 1008 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp2_; +#line 1010 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = _result_; +#line 1010 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 913 "string.c" + gchar* _tmp4_ = NULL; +#line 1011 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _result_; +#line 1011 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gint) (_tmp4_ - ((gchar*) self)); +#line 1011 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 921 "string.c" + } else { +#line 1013 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = -1; +#line 1013 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 927 "string.c" + } +} + + +inline gboolean string_contains_char (const gchar* haystack, gunichar needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + gunichar _tmp1_ = 0U; + gint _tmp2_ = 0; +#line 140 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (haystack != NULL, FALSE); +#line 141 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = haystack; +#line 141 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = needle; +#line 141 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = string_index_of_char (_tmp0_, _tmp1_, 0); +#line 141 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp2_ >= 0; +#line 141 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 949 "string.c" +} + + +static gint string_index_of (const gchar* self, const gchar* needle, gint start_index) { + gint result = 0; + gchar* _result_ = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 987 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 987 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, 0); +#line 988 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = start_index; +#line 988 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = needle; +#line 988 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = strstr (((gchar*) self) + _tmp0_, (gchar*) _tmp1_); +#line 988 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp2_; +#line 990 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = _result_; +#line 990 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 976 "string.c" + gchar* _tmp4_ = NULL; +#line 991 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _result_; +#line 991 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gint) (_tmp4_ - ((gchar*) self)); +#line 991 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 984 "string.c" + } else { +#line 993 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = -1; +#line 993 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 990 "string.c" + } +} + + +inline gboolean string_contains_str (const gchar* haystack, const gchar* needle) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 144 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (haystack != NULL, FALSE); +#line 144 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (needle != NULL, FALSE); +#line 145 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = haystack; +#line 145 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = needle; +#line 145 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = string_index_of (_tmp0_, _tmp1_, 0); +#line 145 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp2_ >= 0; +#line 145 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1014 "string.c" +} + + +static gchar* string_slice (const gchar* self, glong start, glong end) { + gchar* result = NULL; + glong string_length = 0L; + gint _tmp0_ = 0; + gint _tmp1_ = 0; + glong _tmp2_ = 0L; + glong _tmp5_ = 0L; + gboolean _tmp8_ = FALSE; + glong _tmp9_ = 0L; + gboolean _tmp12_ = FALSE; + glong _tmp13_ = 0L; + glong _tmp16_ = 0L; + glong _tmp17_ = 0L; + glong _tmp18_ = 0L; + glong _tmp19_ = 0L; + glong _tmp20_ = 0L; + gchar* _tmp21_ = NULL; +#line 1328 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, NULL); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = strlen (self); +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = _tmp0_; +#line 1329 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + string_length = (glong) _tmp1_; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = start; +#line 1330 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp2_ < ((glong) 0)) { +#line 1047 "string.c" + glong _tmp3_ = 0L; + glong _tmp4_ = 0L; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = string_length; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = start; +#line 1331 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + start = _tmp3_ + _tmp4_; +#line 1056 "string.c" + } +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp5_ = end; +#line 1333 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp5_ < ((glong) 0)) { +#line 1062 "string.c" + glong _tmp6_ = 0L; + glong _tmp7_ = 0L; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp6_ = string_length; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp7_ = end; +#line 1334 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + end = _tmp6_ + _tmp7_; +#line 1071 "string.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp9_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp9_ >= ((glong) 0)) { +#line 1077 "string.c" + glong _tmp10_ = 0L; + glong _tmp11_ = 0L; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp10_ = start; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp11_ = string_length; +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = _tmp10_ <= _tmp11_; +#line 1086 "string.c" + } else { +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp8_ = FALSE; +#line 1090 "string.c" + } +#line 1336 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp8_, NULL); +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp13_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp13_ >= ((glong) 0)) { +#line 1098 "string.c" + glong _tmp14_ = 0L; + glong _tmp15_ = 0L; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp14_ = end; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp15_ = string_length; +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = _tmp14_ <= _tmp15_; +#line 1107 "string.c" + } else { +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp12_ = FALSE; +#line 1111 "string.c" + } +#line 1337 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp12_, NULL); +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp16_ = start; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp17_ = end; +#line 1338 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (_tmp16_ <= _tmp17_, NULL); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp18_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp19_ = end; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp20_ = start; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp21_ = g_strndup (((gchar*) self) + _tmp18_, (gsize) (_tmp19_ - _tmp20_)); +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp21_; +#line 1339 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1133 "string.c" +} + + +inline gchar* string_sliced_at (const gchar* str, gint index) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; + gint _tmp1_ = 0; +#line 148 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (str != NULL, NULL); +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = index; +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp1_ >= 0) { +#line 1147 "string.c" + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + const gchar* _tmp4_ = NULL; + gint _tmp5_ = 0; + gint _tmp6_ = 0; + gchar* _tmp7_ = NULL; +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = str; +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = index; +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = str; +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = strlen (_tmp4_); +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = _tmp5_; +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = string_slice (_tmp2_, (glong) _tmp3_, (glong) _tmp6_); +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (_tmp0_); +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = _tmp7_; +#line 1170 "string.c" + } else { +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (_tmp0_); +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = NULL; +#line 1176 "string.c" + } +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp0_; +#line 149 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1182 "string.c" +} + + +inline gchar* string_sliced_at_first_str (const gchar* haystack, const gchar* needle, gint start_index) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; +#line 152 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (haystack != NULL, NULL); +#line 152 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (needle != NULL, NULL); +#line 153 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = haystack; +#line 153 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = haystack; +#line 153 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = needle; +#line 153 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = start_index; +#line 153 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = string_index_of (_tmp1_, _tmp2_, _tmp3_); +#line 153 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = string_sliced_at (_tmp0_, _tmp4_); +#line 153 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp5_; +#line 153 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1214 "string.c" +} + + +static gint string_last_index_of (const gchar* self, const gchar* needle, gint start_index) { + gint result = 0; + gchar* _result_ = NULL; + gint _tmp0_ = 0; + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 997 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 997 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (needle != NULL, 0); +#line 998 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = start_index; +#line 998 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = needle; +#line 998 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = g_strrstr (((gchar*) self) + _tmp0_, (gchar*) _tmp1_); +#line 998 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp2_; +#line 1000 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = _result_; +#line 1000 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 1241 "string.c" + gchar* _tmp4_ = NULL; +#line 1001 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _result_; +#line 1001 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gint) (_tmp4_ - ((gchar*) self)); +#line 1001 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1249 "string.c" + } else { +#line 1003 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = -1; +#line 1003 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1255 "string.c" + } +} + + +inline gchar* string_sliced_at_last_str (const gchar* haystack, const gchar* needle, gint start_index) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; +#line 156 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (haystack != NULL, NULL); +#line 156 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (needle != NULL, NULL); +#line 157 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = haystack; +#line 157 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = haystack; +#line 157 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = needle; +#line 157 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = start_index; +#line 157 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = string_last_index_of (_tmp1_, _tmp2_, _tmp3_); +#line 157 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = string_sliced_at (_tmp0_, _tmp4_); +#line 157 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp5_; +#line 157 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1288 "string.c" +} + + +inline gchar* string_sliced_at_first_char (const gchar* haystack, gunichar ch, gint start_index) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gunichar _tmp2_ = 0U; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; +#line 160 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (haystack != NULL, NULL); +#line 161 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = haystack; +#line 161 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = haystack; +#line 161 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = ch; +#line 161 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = start_index; +#line 161 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = string_index_of_char (_tmp1_, _tmp2_, _tmp3_); +#line 161 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = string_sliced_at (_tmp0_, _tmp4_); +#line 161 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp5_; +#line 161 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1318 "string.c" +} + + +static gint string_last_index_of_char (const gchar* self, gunichar c, gint start_index) { + gint result = 0; + gchar* _result_ = NULL; + gint _tmp0_ = 0; + gunichar _tmp1_ = 0U; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; +#line 1017 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0); +#line 1018 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = start_index; +#line 1018 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = c; +#line 1018 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = g_utf8_strrchr (((gchar*) self) + _tmp0_, (gssize) -1, _tmp1_); +#line 1018 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _result_ = _tmp2_; +#line 1020 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = _result_; +#line 1020 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp3_ != NULL) { +#line 1343 "string.c" + gchar* _tmp4_ = NULL; +#line 1021 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = _result_; +#line 1021 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = (gint) (_tmp4_ - ((gchar*) self)); +#line 1021 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1351 "string.c" + } else { +#line 1023 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = -1; +#line 1023 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1357 "string.c" + } +} + + +inline gchar* string_sliced_at_last_char (const gchar* haystack, gunichar ch, gint start_index) { + gchar* result = NULL; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + gunichar _tmp2_ = 0U; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gchar* _tmp5_ = NULL; +#line 164 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (haystack != NULL, NULL); +#line 165 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = haystack; +#line 165 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = haystack; +#line 165 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = ch; +#line 165 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = start_index; +#line 165 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = string_last_index_of_char (_tmp1_, _tmp2_, _tmp3_); +#line 165 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = string_sliced_at (_tmp0_, _tmp4_); +#line 165 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp5_; +#line 165 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1388 "string.c" +} + + +static gunichar string_get_char (const gchar* self, glong index) { + gunichar result = 0U; + glong _tmp0_ = 0L; + gunichar _tmp1_ = 0U; +#line 1116 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, 0U); +#line 1117 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = index; +#line 1117 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_utf8_get_char (((gchar*) self) + _tmp0_); +#line 1117 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = _tmp1_; +#line 1117 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1406 "string.c" +} + + +gchar* string_strip_leading_zeroes (const gchar* str) { + gchar* result = NULL; + GString* stripped = NULL; + GString* _tmp0_ = NULL; + gboolean prev_is_space = FALSE; + GString* _tmp16_ = NULL; + const gchar* _tmp17_ = NULL; + gchar* _tmp18_ = NULL; +#line 169 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (str != NULL, NULL); +#line 170 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = g_string_new (""); +#line 170 "/home/jens/Source/shotwell/src/util/string.vala" + stripped = _tmp0_; +#line 171 "/home/jens/Source/shotwell/src/util/string.vala" + prev_is_space = TRUE; +#line 1426 "string.c" + { + const gchar* iter = NULL; + const gchar* _tmp1_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = str; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + iter = _tmp1_; +#line 1434 "string.c" + { + gboolean _tmp2_ = FALSE; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = TRUE; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + while (TRUE) { +#line 1441 "string.c" + const gchar* _tmp5_ = NULL; + gunichar _tmp6_ = 0U; + gunichar ch = 0U; + const gchar* _tmp7_ = NULL; + gunichar _tmp8_ = 0U; + gboolean _tmp9_ = FALSE; + gboolean _tmp10_ = FALSE; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + if (!_tmp2_) { +#line 1451 "string.c" + const gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = iter; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = g_utf8_next_char (_tmp3_); +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + iter = _tmp4_; +#line 1460 "string.c" + } +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = FALSE; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = iter; +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = string_get_char (_tmp5_, (glong) 0); +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + if (!(_tmp6_ != ((gunichar) 0))) { +#line 172 "/home/jens/Source/shotwell/src/util/string.vala" + break; +#line 1472 "string.c" + } +#line 173 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = iter; +#line 173 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = string_get_char (_tmp7_, (glong) 0); +#line 173 "/home/jens/Source/shotwell/src/util/string.vala" + ch = _tmp8_; +#line 175 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp10_ = prev_is_space; +#line 175 "/home/jens/Source/shotwell/src/util/string.vala" + if (!_tmp10_) { +#line 175 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = TRUE; +#line 1486 "string.c" + } else { + gunichar _tmp11_ = 0U; +#line 175 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp11_ = ch; +#line 175 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = _tmp11_ != ((gunichar) '0'); +#line 1493 "string.c" + } +#line 175 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp9_) { +#line 1497 "string.c" + GString* _tmp12_ = NULL; + gunichar _tmp13_ = 0U; + gunichar _tmp14_ = 0U; + gboolean _tmp15_ = FALSE; +#line 176 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp12_ = stripped; +#line 176 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp13_ = ch; +#line 176 "/home/jens/Source/shotwell/src/util/string.vala" + g_string_append_unichar (_tmp12_, _tmp13_); +#line 177 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp14_ = ch; +#line 177 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp15_ = g_unichar_isspace (_tmp14_); +#line 177 "/home/jens/Source/shotwell/src/util/string.vala" + prev_is_space = _tmp15_; +#line 1514 "string.c" + } + } + } + } +#line 181 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp16_ = stripped; +#line 181 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp17_ = _tmp16_->str; +#line 181 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp18_ = g_strdup (_tmp17_); +#line 181 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp18_; +#line 181 "/home/jens/Source/shotwell/src/util/string.vala" + _g_string_free0 (stripped); +#line 181 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1531 "string.c" +} + + +static gboolean string_get_next_char (const gchar* self, gint* index, gunichar* c) { + gunichar _vala_c = 0U; + gboolean result = FALSE; + gint _tmp0_ = 0; + gunichar _tmp1_ = 0U; + gunichar _tmp2_ = 0U; +#line 1105 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + g_return_val_if_fail (self != NULL, FALSE); +#line 1106 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp0_ = *index; +#line 1106 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp1_ = g_utf8_get_char (((gchar*) self) + _tmp0_); +#line 1106 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _vala_c = _tmp1_; +#line 1107 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp2_ = _vala_c; +#line 1107 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (_tmp2_ != ((gunichar) 0)) { +#line 1553 "string.c" + gint _tmp3_ = 0; + gchar* _tmp4_ = NULL; +#line 1108 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp3_ = *index; +#line 1108 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + _tmp4_ = g_utf8_next_char (((gchar*) self) + _tmp3_); +#line 1108 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *index = (gint) (_tmp4_ - ((gchar*) self)); +#line 1109 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = TRUE; +#line 1109 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (c) { +#line 1109 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *c = _vala_c; +#line 1568 "string.c" + } +#line 1109 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1572 "string.c" + } else { +#line 1111 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + result = FALSE; +#line 1111 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (c) { +#line 1111 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *c = _vala_c; +#line 1580 "string.c" + } +#line 1111 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + return result; +#line 1584 "string.c" + } +#line 1105 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + if (c) { +#line 1105 "/usr/share/vala-0.32/vapi/glib-2.0.vapi" + *c = _vala_c; +#line 1590 "string.c" + } +} + + +gchar* string_remove_diacritics (const gchar* istring) { + gchar* result = NULL; + GString* builder = NULL; + GString* _tmp0_ = NULL; + gunichar ch = 0U; + gint i = 0; + GString* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; +#line 184 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (istring != NULL, NULL); +#line 185 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = g_string_new (""); +#line 185 "/home/jens/Source/shotwell/src/util/string.vala" + builder = _tmp0_; +#line 187 "/home/jens/Source/shotwell/src/util/string.vala" + i = 0; +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + while (TRUE) { +#line 1614 "string.c" + const gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gunichar _tmp4_ = 0U; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; + gunichar _tmp7_ = 0U; + GUnicodeType _tmp8_ = 0; + GString* _tmp9_ = NULL; + gunichar _tmp10_ = 0U; +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = istring; +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = g_utf8_normalize (_tmp1_, (gssize) -1, G_NORMALIZE_DEFAULT); +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = _tmp2_; +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = string_get_next_char (_tmp3_, &i, &_tmp4_); +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + ch = _tmp4_; +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = !_tmp5_; +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (_tmp3_); +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp6_) { +#line 188 "/home/jens/Source/shotwell/src/util/string.vala" + break; +#line 1643 "string.c" + } +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = ch; +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = g_unichar_type (_tmp7_); +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + switch (_tmp8_) { +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + case G_UNICODE_CONTROL: +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + case G_UNICODE_FORMAT: +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + case G_UNICODE_UNASSIGNED: +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + case G_UNICODE_NON_SPACING_MARK: +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + case G_UNICODE_COMBINING_MARK: +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + case G_UNICODE_ENCLOSING_MARK: +#line 1663 "string.c" + { +#line 197 "/home/jens/Source/shotwell/src/util/string.vala" + continue; +#line 1667 "string.c" + } + default: +#line 189 "/home/jens/Source/shotwell/src/util/string.vala" + break; +#line 1672 "string.c" + } +#line 199 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = builder; +#line 199 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp10_ = ch; +#line 199 "/home/jens/Source/shotwell/src/util/string.vala" + g_string_append_unichar (_tmp9_, _tmp10_); +#line 1680 "string.c" + } +#line 201 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp11_ = builder; +#line 201 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp12_ = _tmp11_->str; +#line 201 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp13_ = g_strdup (_tmp12_); +#line 201 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp13_; +#line 201 "/home/jens/Source/shotwell/src/util/string.vala" + _g_string_free0 (builder); +#line 201 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1694 "string.c" +} + + +gchar* string_to_hex_string (const gchar* str) { + gchar* result = NULL; + GString* builder = NULL; + GString* _tmp0_ = NULL; + guint8* data = NULL; + const gchar* _tmp1_ = NULL; + GString* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + gchar* _tmp9_ = NULL; +#line 204 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (str != NULL, NULL); +#line 205 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = g_string_new (""); +#line 205 "/home/jens/Source/shotwell/src/util/string.vala" + builder = _tmp0_; +#line 207 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = str; +#line 207 "/home/jens/Source/shotwell/src/util/string.vala" + data = (guint8*) _tmp1_; +#line 208 "/home/jens/Source/shotwell/src/util/string.vala" + while (TRUE) { +#line 1719 "string.c" + guint8* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + guint8* _tmp4_ = NULL; + GString* _tmp5_ = NULL; + guint8* _tmp6_ = NULL; +#line 208 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = data; +#line 208 "/home/jens/Source/shotwell/src/util/string.vala" + if (!(((gint) (*_tmp2_)) != 0)) { +#line 208 "/home/jens/Source/shotwell/src/util/string.vala" + break; +#line 1731 "string.c" + } +#line 209 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = data; +#line 209 "/home/jens/Source/shotwell/src/util/string.vala" + if (((gint) (*_tmp4_)) != 0) { +#line 209 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = " "; +#line 1739 "string.c" + } else { +#line 209 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = ""; +#line 1743 "string.c" + } +#line 209 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = builder; +#line 209 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = data; +#line 209 "/home/jens/Source/shotwell/src/util/string.vala" + data = _tmp6_ + 1; +#line 209 "/home/jens/Source/shotwell/src/util/string.vala" + g_string_append_printf (_tmp5_, "%02Xh%s", (guint) (*_tmp6_), _tmp3_); +#line 1753 "string.c" + } +#line 211 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = builder; +#line 211 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = _tmp7_->str; +#line 211 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = g_strdup (_tmp8_); +#line 211 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp9_; +#line 211 "/home/jens/Source/shotwell/src/util/string.vala" + _g_string_free0 (builder); +#line 211 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1767 "string.c" +} + + +guint string_collated_hash (void* ptr) { + guint result = 0U; + gchar* str = NULL; + void* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + GHashFunc _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + guint _tmp5_ = 0U; + guint _tmp6_ = 0U; +#line 231 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = ptr; +#line 231 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = g_strdup ((const gchar*) _tmp0_); +#line 231 "/home/jens/Source/shotwell/src/util/string.vala" + str = _tmp1_; +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = g_str_hash; +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = g_utf8_collate_key (str, (gssize) -1); +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = _tmp3_; +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = _tmp2_ (_tmp4_); +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = _tmp5_; +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (_tmp4_); +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp6_; +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (str); +#line 233 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1805 "string.c" +} + + +guint string_precollated_hash (void* ptr) { + guint result = 0U; + GHashFunc _tmp0_ = NULL; + void* _tmp1_ = NULL; + guint _tmp2_ = 0U; +#line 238 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = g_str_hash; +#line 238 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = ptr; +#line 238 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = _tmp0_ ((const gchar*) _tmp1_); +#line 238 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp2_; +#line 238 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1824 "string.c" +} + + +gint string_collated_compare (void* a, void* b) { + gint result = 0; + gchar* astr = NULL; + void* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* bstr = NULL; + void* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gint _result_ = 0; + const gchar* _tmp4_ = NULL; + const gchar* _tmp5_ = NULL; + gint _tmp6_ = 0; + gint _tmp7_ = 0; + gint _tmp8_ = 0; +#line 243 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = a; +#line 243 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = g_strdup ((const gchar*) _tmp0_); +#line 243 "/home/jens/Source/shotwell/src/util/string.vala" + astr = _tmp1_; +#line 244 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = b; +#line 244 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = g_strdup ((const gchar*) _tmp2_); +#line 244 "/home/jens/Source/shotwell/src/util/string.vala" + bstr = _tmp3_; +#line 246 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = astr; +#line 246 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = bstr; +#line 246 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = g_utf8_collate (_tmp4_, _tmp5_); +#line 246 "/home/jens/Source/shotwell/src/util/string.vala" + _result_ = _tmp6_; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = _result_; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp8_ != 0) { +#line 1866 "string.c" + gint _tmp9_ = 0; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = _result_; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = _tmp9_; +#line 1872 "string.c" + } else { + GCompareFunc _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gint _tmp13_ = 0; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp10_ = g_strcmp0; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp11_ = astr; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp12_ = bstr; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp13_ = _tmp10_ (_tmp11_, _tmp12_); +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = _tmp13_; +#line 1888 "string.c" + } +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp7_; +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (bstr); +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + _g_free0 (astr); +#line 248 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1898 "string.c" +} + + +gint string_precollated_compare (const gchar* astr, const gchar* akey, const gchar* bstr, const gchar* bkey) { + gint result = 0; + gint _result_ = 0; + GCompareFunc _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + gint _tmp3_ = 0; + gint _tmp4_ = 0; + gint _tmp5_ = 0; +#line 252 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (astr != NULL, 0); +#line 252 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (akey != NULL, 0); +#line 252 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (bstr != NULL, 0); +#line 252 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (bkey != NULL, 0); +#line 253 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = g_strcmp0; +#line 253 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = akey; +#line 253 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = bkey; +#line 253 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = _tmp0_ (_tmp1_, _tmp2_); +#line 253 "/home/jens/Source/shotwell/src/util/string.vala" + _result_ = _tmp3_; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp5_ = _result_; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + if (_tmp5_ != 0) { +#line 1933 "string.c" + gint _tmp6_ = 0; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp6_ = _result_; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = _tmp6_; +#line 1939 "string.c" + } else { + GCompareFunc _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + gint _tmp10_ = 0; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp7_ = g_strcmp0; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp8_ = astr; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp9_ = bstr; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp10_ = _tmp7_ (_tmp8_, _tmp9_); +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = _tmp10_; +#line 1955 "string.c" + } +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp4_; +#line 255 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1961 "string.c" +} + + +gboolean string_collated_equals (void* a, void* b) { + gboolean result = FALSE; + void* _tmp0_ = NULL; + void* _tmp1_ = NULL; + gint _tmp2_ = 0; +#line 260 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = a; +#line 260 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = b; +#line 260 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = string_collated_compare (_tmp0_, _tmp1_); +#line 260 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp2_ == 0; +#line 260 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 1980 "string.c" +} + + +gboolean string_precollated_equals (const gchar* astr, const gchar* akey, const gchar* bstr, const gchar* bkey) { + gboolean result = FALSE; + const gchar* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + const gchar* _tmp2_ = NULL; + const gchar* _tmp3_ = NULL; + gint _tmp4_ = 0; +#line 264 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (astr != NULL, FALSE); +#line 264 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (akey != NULL, FALSE); +#line 264 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (bstr != NULL, FALSE); +#line 264 "/home/jens/Source/shotwell/src/util/string.vala" + g_return_val_if_fail (bkey != NULL, FALSE); +#line 265 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp0_ = astr; +#line 265 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp1_ = akey; +#line 265 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp2_ = bstr; +#line 265 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp3_ = bkey; +#line 265 "/home/jens/Source/shotwell/src/util/string.vala" + _tmp4_ = string_precollated_compare (_tmp0_, _tmp1_, _tmp2_, _tmp3_); +#line 265 "/home/jens/Source/shotwell/src/util/string.vala" + result = _tmp4_ == 0; +#line 265 "/home/jens/Source/shotwell/src/util/string.vala" + return result; +#line 2013 "string.c" +} + + + diff --git a/src/util/system.c b/src/util/system.c new file mode 100644 index 0000000..cef9603 --- /dev/null +++ b/src/util/system.c @@ -0,0 +1,168 @@ +/* system.c generated by valac 0.32.1, the Vala compiler + * generated from system.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. + */ +/* Return the directory in which Shotwell is installed, or null if uninstalled.*/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) + + + +GFile* get_sys_install_dir (GFile* exec_dir); +#define RESOURCES_PREFIX _PREFIX +gchar* get_nautilus_install_location (void); +void sys_show_uri (GdkScreen* screen, const gchar* uri, GError** error); +void show_file_in_nautilus (const gchar* filename, GError** error); + + +GFile* get_sys_install_dir (GFile* exec_dir) { + GFile* result = NULL; + GFile* child = NULL; + GFile* _tmp0_ = NULL; + GFile* _tmp1_ = NULL; + GFile* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + gchar* _tmp4_ = NULL; + gboolean _tmp5_ = FALSE; + gboolean _tmp6_ = FALSE; +#line 8 "/home/jens/Source/shotwell/src/util/system.vala" + g_return_val_if_fail (G_IS_FILE (exec_dir), NULL); +#line 10 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp0_ = exec_dir; +#line 10 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp1_ = g_file_get_child (_tmp0_, "ui"); +#line 10 "/home/jens/Source/shotwell/src/util/system.vala" + child = _tmp1_; +#line 12 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp2_ = child; +#line 12 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp3_ = g_file_get_path (_tmp2_); +#line 12 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp4_ = _tmp3_; +#line 12 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp5_ = g_file_test (_tmp4_, G_FILE_TEST_IS_DIR | G_FILE_TEST_EXISTS); +#line 12 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp6_ = !_tmp5_; +#line 12 "/home/jens/Source/shotwell/src/util/system.vala" + _g_free0 (_tmp4_); +#line 12 "/home/jens/Source/shotwell/src/util/system.vala" + if (_tmp6_) { +#line 65 "system.c" + GFile* _tmp7_ = NULL; +#line 13 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp7_ = g_file_new_for_path (RESOURCES_PREFIX); +#line 13 "/home/jens/Source/shotwell/src/util/system.vala" + result = _tmp7_; +#line 13 "/home/jens/Source/shotwell/src/util/system.vala" + _g_object_unref0 (child); +#line 13 "/home/jens/Source/shotwell/src/util/system.vala" + return result; +#line 75 "system.c" + } +#line 16 "/home/jens/Source/shotwell/src/util/system.vala" + result = NULL; +#line 16 "/home/jens/Source/shotwell/src/util/system.vala" + _g_object_unref0 (child); +#line 16 "/home/jens/Source/shotwell/src/util/system.vala" + return result; +#line 83 "system.c" +} + + +gchar* get_nautilus_install_location (void) { + gchar* result = NULL; + gchar* _tmp0_ = NULL; +#line 20 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp0_ = g_find_program_in_path ("nautilus"); +#line 20 "/home/jens/Source/shotwell/src/util/system.vala" + result = _tmp0_; +#line 20 "/home/jens/Source/shotwell/src/util/system.vala" + return result; +#line 96 "system.c" +} + + +void sys_show_uri (GdkScreen* screen, const gchar* uri, GError** error) { + GdkScreen* _tmp0_ = NULL; + const gchar* _tmp1_ = NULL; + GError * _inner_error_ = NULL; +#line 23 "/home/jens/Source/shotwell/src/util/system.vala" + g_return_if_fail (GDK_IS_SCREEN (screen)); +#line 23 "/home/jens/Source/shotwell/src/util/system.vala" + g_return_if_fail (uri != NULL); +#line 24 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp0_ = screen; +#line 24 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp1_ = uri; +#line 24 "/home/jens/Source/shotwell/src/util/system.vala" + gtk_show_uri (_tmp0_, _tmp1_, (guint32) GDK_CURRENT_TIME, &_inner_error_); +#line 24 "/home/jens/Source/shotwell/src/util/system.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 24 "/home/jens/Source/shotwell/src/util/system.vala" + g_propagate_error (error, _inner_error_); +#line 24 "/home/jens/Source/shotwell/src/util/system.vala" + return; +#line 120 "system.c" + } +} + + +void show_file_in_nautilus (const gchar* filename, GError** error) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_ = NULL; + gchar* _tmp2_ = NULL; + gchar* _tmp3_ = NULL; + const gchar* _tmp4_ = NULL; + gchar* _tmp5_ = NULL; + gchar* _tmp6_ = NULL; + GError * _inner_error_ = NULL; +#line 27 "/home/jens/Source/shotwell/src/util/system.vala" + g_return_if_fail (filename != NULL); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp0_ = get_nautilus_install_location (); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp1_ = _tmp0_; +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp2_ = g_strconcat (_tmp1_, " ", NULL); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp3_ = _tmp2_; +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp4_ = filename; +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp5_ = g_strconcat (_tmp3_, _tmp4_, NULL); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _tmp6_ = _tmp5_; +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + g_spawn_command_line_async (_tmp6_, &_inner_error_); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _g_free0 (_tmp6_); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _g_free0 (_tmp3_); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + _g_free0 (_tmp1_); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + if (G_UNLIKELY (_inner_error_ != NULL)) { +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + g_propagate_error (error, _inner_error_); +#line 28 "/home/jens/Source/shotwell/src/util/system.vala" + return; +#line 164 "system.c" + } +} + + + diff --git a/src/util/ui.c b/src/util/ui.c new file mode 100644 index 0000000..44ba054 --- /dev/null +++ b/src/util/ui.c @@ -0,0 +1,405 @@ +/* ui.c generated by valac 0.32.1, the Vala compiler + * generated from ui.vala, do not modify */ + +/* Copyright 2016 Software Freedom Conservancy Inc. + * + * This software is licensed under the GNU Lesser General Public License + * (version 2.1 or later). See the COPYING file in this distribution. + */ + +#include +#include +#include "shotwell-plugin-dev-1.0.h" +#include +#include +#include +#include + + +#define TYPE_ADJUSTMENT_RELATION (adjustment_relation_get_type ()) + +#define TYPE_COMPASS_POINT (compass_point_get_type ()) + +#define TYPE_DIRECTION (direction_get_type ()) +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL))) + +typedef enum { + ADJUSTMENT_RELATION_BELOW, + ADJUSTMENT_RELATION_IN_RANGE, + ADJUSTMENT_RELATION_ABOVE +} AdjustmentRelation; + +typedef enum { + COMPASS_POINT_NORTH, + COMPASS_POINT_SOUTH, + COMPASS_POINT_EAST, + COMPASS_POINT_WEST +} CompassPoint; + +typedef enum { + DIRECTION_FORWARD, + DIRECTION_BACKWARD +} Direction; + + + +GType adjustment_relation_get_type (void) G_GNUC_CONST; +GType compass_point_get_type (void) G_GNUC_CONST; +GType direction_get_type (void) G_GNUC_CONST; +SpitTransitionsDirection direction_to_transition_direction (Direction self); +const gchar* direction_to_string (Direction self); +void spin_event_loop (void); +AdjustmentRelation get_adjustment_relation (GtkAdjustment* adjustment, gint value); +void get_adjustment_page (GtkAdjustment* hadj, GtkAdjustment* vadj, GdkRectangle* result); +gboolean has_only_key_modifier (GdkModifierType field, GdkModifierType mask); +gchar* build_dummy_ui_string (GtkActionGroup** groups, int groups_length1); + + +GType adjustment_relation_get_type (void) { + static volatile gsize adjustment_relation_type_id__volatile = 0; + if (g_once_init_enter (&adjustment_relation_type_id__volatile)) { + static const GEnumValue values[] = {{ADJUSTMENT_RELATION_BELOW, "ADJUSTMENT_RELATION_BELOW", "below"}, {ADJUSTMENT_RELATION_IN_RANGE, "ADJUSTMENT_RELATION_IN_RANGE", "in-range"}, {ADJUSTMENT_RELATION_ABOVE, "ADJUSTMENT_RELATION_ABOVE", "above"}, {0, NULL, NULL}}; + GType adjustment_relation_type_id; + adjustment_relation_type_id = g_enum_register_static ("AdjustmentRelation", values); + g_once_init_leave (&adjustment_relation_type_id__volatile, adjustment_relation_type_id); + } + return adjustment_relation_type_id__volatile; +} + + +GType compass_point_get_type (void) { + static volatile gsize compass_point_type_id__volatile = 0; + if (g_once_init_enter (&compass_point_type_id__volatile)) { + static const GEnumValue values[] = {{COMPASS_POINT_NORTH, "COMPASS_POINT_NORTH", "north"}, {COMPASS_POINT_SOUTH, "COMPASS_POINT_SOUTH", "south"}, {COMPASS_POINT_EAST, "COMPASS_POINT_EAST", "east"}, {COMPASS_POINT_WEST, "COMPASS_POINT_WEST", "west"}, {0, NULL, NULL}}; + GType compass_point_type_id; + compass_point_type_id = g_enum_register_static ("CompassPoint", values); + g_once_init_leave (&compass_point_type_id__volatile, compass_point_type_id); + } + return compass_point_type_id__volatile; +} + + +SpitTransitionsDirection direction_to_transition_direction (Direction self) { + SpitTransitionsDirection result = 0; +#line 25 "/home/jens/Source/shotwell/src/util/ui.vala" + switch (self) { +#line 25 "/home/jens/Source/shotwell/src/util/ui.vala" + case DIRECTION_FORWARD: +#line 91 "ui.c" + { +#line 27 "/home/jens/Source/shotwell/src/util/ui.vala" + result = SPIT_TRANSITIONS_DIRECTION_FORWARD; +#line 27 "/home/jens/Source/shotwell/src/util/ui.vala" + return result; +#line 97 "ui.c" + } +#line 25 "/home/jens/Source/shotwell/src/util/ui.vala" + case DIRECTION_BACKWARD: +#line 101 "ui.c" + { +#line 30 "/home/jens/Source/shotwell/src/util/ui.vala" + result = SPIT_TRANSITIONS_DIRECTION_BACKWARD; +#line 30 "/home/jens/Source/shotwell/src/util/ui.vala" + return result; +#line 107 "ui.c" + } + default: + { + GEnumValue* _tmp0_; +#line 33 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp0_ = g_enum_get_value (g_type_class_ref (TYPE_DIRECTION), self); +#line 33 "/home/jens/Source/shotwell/src/util/ui.vala" + g_error ("ui.vala:33: Unknown Direction %s", (_tmp0_ != NULL) ? _tmp0_->value_name : NULL); +#line 116 "ui.c" + } + } +} + + +GType direction_get_type (void) { + static volatile gsize direction_type_id__volatile = 0; + if (g_once_init_enter (&direction_type_id__volatile)) { + static const GEnumValue values[] = {{DIRECTION_FORWARD, "DIRECTION_FORWARD", "forward"}, {DIRECTION_BACKWARD, "DIRECTION_BACKWARD", "backward"}, {0, NULL, NULL}}; + GType direction_type_id; + direction_type_id = g_enum_register_static ("Direction", values); + g_once_init_leave (&direction_type_id__volatile, direction_type_id); + } + return direction_type_id__volatile; +} + + +void spin_event_loop (void) { +#line 39 "/home/jens/Source/shotwell/src/util/ui.vala" + while (TRUE) { +#line 137 "ui.c" + gboolean _tmp0_ = FALSE; +#line 39 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp0_ = gtk_events_pending (); +#line 39 "/home/jens/Source/shotwell/src/util/ui.vala" + if (!_tmp0_) { +#line 39 "/home/jens/Source/shotwell/src/util/ui.vala" + break; +#line 145 "ui.c" + } +#line 40 "/home/jens/Source/shotwell/src/util/ui.vala" + gtk_main_iteration (); +#line 149 "ui.c" + } +} + + +AdjustmentRelation get_adjustment_relation (GtkAdjustment* adjustment, gint value) { + AdjustmentRelation result = 0; + gint _tmp0_ = 0; + GtkAdjustment* _tmp1_ = NULL; + gdouble _tmp2_ = 0.0; +#line 43 "/home/jens/Source/shotwell/src/util/ui.vala" + g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0); +#line 44 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp0_ = value; +#line 44 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp1_ = adjustment; +#line 44 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp2_ = gtk_adjustment_get_value (_tmp1_); +#line 44 "/home/jens/Source/shotwell/src/util/ui.vala" + if (_tmp0_ < ((gint) _tmp2_)) { +#line 45 "/home/jens/Source/shotwell/src/util/ui.vala" + result = ADJUSTMENT_RELATION_BELOW; +#line 45 "/home/jens/Source/shotwell/src/util/ui.vala" + return result; +#line 173 "ui.c" + } else { + gint _tmp3_ = 0; + GtkAdjustment* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + GtkAdjustment* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; +#line 46 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp3_ = value; +#line 46 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp4_ = adjustment; +#line 46 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp5_ = gtk_adjustment_get_value (_tmp4_); +#line 46 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp6_ = adjustment; +#line 46 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp7_ = gtk_adjustment_get_page_size (_tmp6_); +#line 46 "/home/jens/Source/shotwell/src/util/ui.vala" + if (_tmp3_ > ((gint) (_tmp5_ + _tmp7_))) { +#line 47 "/home/jens/Source/shotwell/src/util/ui.vala" + result = ADJUSTMENT_RELATION_ABOVE; +#line 47 "/home/jens/Source/shotwell/src/util/ui.vala" + return result; +#line 196 "ui.c" + } else { +#line 49 "/home/jens/Source/shotwell/src/util/ui.vala" + result = ADJUSTMENT_RELATION_IN_RANGE; +#line 49 "/home/jens/Source/shotwell/src/util/ui.vala" + return result; +#line 202 "ui.c" + } + } +} + + +void get_adjustment_page (GtkAdjustment* hadj, GtkAdjustment* vadj, GdkRectangle* result) { + GdkRectangle rect = {0}; + GtkAdjustment* _tmp0_ = NULL; + gdouble _tmp1_ = 0.0; + GtkAdjustment* _tmp2_ = NULL; + gdouble _tmp3_ = 0.0; + GtkAdjustment* _tmp4_ = NULL; + gdouble _tmp5_ = 0.0; + GtkAdjustment* _tmp6_ = NULL; + gdouble _tmp7_ = 0.0; +#line 52 "/home/jens/Source/shotwell/src/util/ui.vala" + g_return_if_fail (GTK_IS_ADJUSTMENT (hadj)); +#line 52 "/home/jens/Source/shotwell/src/util/ui.vala" + g_return_if_fail (GTK_IS_ADJUSTMENT (vadj)); +#line 53 "/home/jens/Source/shotwell/src/util/ui.vala" + memset (&rect, 0, sizeof (GdkRectangle)); +#line 54 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp0_ = hadj; +#line 54 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp1_ = gtk_adjustment_get_value (_tmp0_); +#line 54 "/home/jens/Source/shotwell/src/util/ui.vala" + rect.x = (gint) _tmp1_; +#line 55 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp2_ = vadj; +#line 55 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp3_ = gtk_adjustment_get_value (_tmp2_); +#line 55 "/home/jens/Source/shotwell/src/util/ui.vala" + rect.y = (gint) _tmp3_; +#line 56 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp4_ = hadj; +#line 56 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp5_ = gtk_adjustment_get_page_size (_tmp4_); +#line 56 "/home/jens/Source/shotwell/src/util/ui.vala" + rect.width = (gint) _tmp5_; +#line 57 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp6_ = vadj; +#line 57 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp7_ = gtk_adjustment_get_page_size (_tmp6_); +#line 57 "/home/jens/Source/shotwell/src/util/ui.vala" + rect.height = (gint) _tmp7_; +#line 59 "/home/jens/Source/shotwell/src/util/ui.vala" + *result = rect; +#line 59 "/home/jens/Source/shotwell/src/util/ui.vala" + return; +#line 252 "ui.c" +} + + +gboolean has_only_key_modifier (GdkModifierType field, GdkModifierType mask) { + gboolean result = FALSE; + GdkModifierType _tmp0_ = 0; + GdkModifierType _tmp1_ = 0; +#line 77 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp0_ = field; +#line 77 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp1_ = mask; +#line 77 "/home/jens/Source/shotwell/src/util/ui.vala" + result = (_tmp0_ & ((((((((GDK_SHIFT_MASK | GDK_CONTROL_MASK) | GDK_MOD1_MASK) | GDK_MOD3_MASK) | GDK_MOD4_MASK) | GDK_MOD5_MASK) | GDK_SUPER_MASK) | GDK_HYPER_MASK) | GDK_META_MASK)) == _tmp1_; +#line 77 "/home/jens/Source/shotwell/src/util/ui.vala" + return result; +#line 268 "ui.c" +} + + +static gpointer _g_object_ref0 (gpointer self) { +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + return self ? g_object_ref (self) : NULL; +#line 275 "ui.c" +} + + +gchar* build_dummy_ui_string (GtkActionGroup** groups, int groups_length1) { + gchar* result = NULL; + gchar* ui_string = NULL; + gchar* _tmp0_ = NULL; + GtkActionGroup** _tmp1_ = NULL; + gint _tmp1__length1 = 0; + const gchar* _tmp16_ = NULL; + gchar* _tmp17_ = NULL; +#line 90 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp0_ = g_strdup (""); +#line 90 "/home/jens/Source/shotwell/src/util/ui.vala" + ui_string = _tmp0_; +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp1_ = groups; +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp1__length1 = groups_length1; +#line 295 "ui.c" + { + GtkActionGroup** group_collection = NULL; + gint group_collection_length1 = 0; + gint _group_collection_size_ = 0; + gint group_it = 0; +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + group_collection = _tmp1_; +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + group_collection_length1 = _tmp1__length1; +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + for (group_it = 0; group_it < _tmp1__length1; group_it = group_it + 1) { +#line 307 "ui.c" + GtkActionGroup* _tmp2_ = NULL; + GtkActionGroup* group = NULL; +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp2_ = _g_object_ref0 (group_collection[group_it]); +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + group = _tmp2_; +#line 314 "ui.c" + { + GtkActionGroup* _tmp3_ = NULL; + GList* _tmp4_ = NULL; +#line 92 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp3_ = group; +#line 92 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp4_ = gtk_action_group_list_actions (_tmp3_); +#line 322 "ui.c" + { + GList* action_collection = NULL; + GList* action_it = NULL; +#line 92 "/home/jens/Source/shotwell/src/util/ui.vala" + action_collection = _tmp4_; +#line 92 "/home/jens/Source/shotwell/src/util/ui.vala" + for (action_it = action_collection; action_it != NULL; action_it = action_it->next) { +#line 330 "ui.c" + GtkAction* _tmp5_ = NULL; + GtkAction* action = NULL; +#line 92 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp5_ = _g_object_ref0 ((GtkAction*) action_it->data); +#line 92 "/home/jens/Source/shotwell/src/util/ui.vala" + action = _tmp5_; +#line 337 "ui.c" + { + const gchar* _tmp6_ = NULL; + GtkAction* _tmp7_ = NULL; + const gchar* _tmp8_ = NULL; + const gchar* _tmp9_ = NULL; + GtkAction* _tmp10_ = NULL; + const gchar* _tmp11_ = NULL; + const gchar* _tmp12_ = NULL; + gchar* _tmp13_ = NULL; + gchar* _tmp14_ = NULL; + gchar* _tmp15_ = NULL; +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp6_ = ui_string; +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp7_ = action; +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp8_ = gtk_action_get_name (_tmp7_); +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp9_ = _tmp8_; +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp10_ = action; +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp11_ = gtk_action_get_name (_tmp10_); +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp12_ = _tmp11_; +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp13_ = g_strdup_printf ("", _tmp9_, _tmp12_); +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp14_ = _tmp13_; +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp15_ = g_strconcat (_tmp6_, _tmp14_, NULL); +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _g_free0 (ui_string); +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + ui_string = _tmp15_; +#line 93 "/home/jens/Source/shotwell/src/util/ui.vala" + _g_free0 (_tmp14_); +#line 92 "/home/jens/Source/shotwell/src/util/ui.vala" + _g_object_unref0 (action); +#line 377 "ui.c" + } + } +#line 92 "/home/jens/Source/shotwell/src/util/ui.vala" + _g_list_free0 (action_collection); +#line 382 "ui.c" + } +#line 91 "/home/jens/Source/shotwell/src/util/ui.vala" + _g_object_unref0 (group); +#line 386 "ui.c" + } + } + } +#line 95 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp16_ = ui_string; +#line 95 "/home/jens/Source/shotwell/src/util/ui.vala" + _tmp17_ = g_strconcat (_tmp16_, "", NULL); +#line 95 "/home/jens/Source/shotwell/src/util/ui.vala" + _g_free0 (ui_string); +#line 95 "/home/jens/Source/shotwell/src/util/ui.vala" + ui_string = _tmp17_; +#line 97 "/home/jens/Source/shotwell/src/util/ui.vala" + result = ui_string; +#line 97 "/home/jens/Source/shotwell/src/util/ui.vala" + return result; +#line 402 "ui.c" +} + + + -- cgit v1.2.3